From 2ba575dc0347a842b1a87ec8460f38b31d9cc088 Mon Sep 17 00:00:00 2001 From: Zihan Zhang Date: Wed, 22 Sep 2021 10:05:41 -0700 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 4271d639498a18c44c35b54817376919864f5c37 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Sep 21 19:58:15 2021 -0700 Clean-up changelog scripts (#17774) Co-authored-by: Wes Haggard commit 075e47e82d48678c999f514c186e590b7031228b Author: ckairen <38804567+ckairen@users.noreply.github.com> Date: Tue Sep 21 16:31:16 2021 -0700 Accounting for packages without samples (#17765) commit f1a58bf9ec79b79db8a0c0e1fcf563cb40722711 Author: Malcolm Tyrrell <36992510+MalcolmTyrrell@users.noreply.github.com> Date: Tue Sep 21 19:45:26 2021 +0100 Prepare for an initial release of Azure Remote Rendering beta package (#17747) We haven't push an initial package for JS until now. We were waiting to push it at the same time as Python, but that has been delayed yet again, so let's just push this out, since we just pushed packages for Java and .net. commit af6272333f4e9971269d10d72874d8f2b84dac02 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Sep 21 11:20:32 2021 -0700 Automatic rush update --full (#17748) commit c04c418184271bc8f5abcef33f6704a4b086f5af Author: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com> Date: Tue Sep 21 10:45:06 2021 -0700 Update OT Exporter to latest spec changes (#17752) commit 3bde1f81943273d8e5851a64f6f535cf421b7ce9 Author: Wes Haggard Date: Tue Sep 21 08:39:45 2021 -0700 Enable release stage selection at queue time (#17758) commit 9dc14fbd3f69e2f1fcef3bdb3eb6ad376a7862c6 Author: Maor Leger Date: Tue Sep 21 07:34:57 2021 -0700 [KeyVault] - Retry flaky certificates test (#17757) ## What - Automatically retry a certificate test that is known to be flaky up to 2 times (so 3 times total) - Use the recorder.getUniqueName instead of the test name for the certificate name ## Why - This test has been flaky for quite some time, and is known to fail when the service does not pick up the cancel operation job fast enough. This is both known and expected and the client should be resilient to such things. But in this case we are explicitly testing the error case and I did not want to remove that bit of safety - Switching to using the recorder is IMO a preferred approach - and I have been doing that every time I re-record a test. Resolves #17737 Resolves #17599 commit 0a7d6faba594e9719232a37d1fbb82ebb2edf152 Author: Scott Addie <10702007+scottaddie@users.noreply.github.com> Date: Mon Sep 20 19:13:21 2021 -0500 Link to Log Analytics throttling guidance from Monitor Query README (#17754) commit af1b6776b4feb40c15423c2692c900e4e0579559 Author: Daniel Rodríguez Date: Mon Sep 20 17:07:33 2021 -0400 [Identity] Removing null from the AzurePowerShellCredential getToken (#17755) commit b47c0dac14cd566964740f9bd7f927ad8b59af23 Author: Maor Leger Date: Mon Sep 20 13:59:56 2021 -0700 [KeyVault] - Put Key Rotation back in for 7.3 (#17733) After a few discussions we decided that Key Rotation is back in! So this commit reverts the revert and brings Key Rotation back. commit 52e8d8196c1b2e44cd81c9abdbe8097001d77ef8 Author: Craig Treasure Date: Mon Sep 20 13:42:31 2021 -0700 Prepare Mixed Reality Authentication for initial beta release (#17753) - This change prepares the Azure Mixed Reality Authentication package for an initial beta release. commit d01edaf2f3c18901602b82a271d6c8db4e6ec8dd Author: Jose Manuel Heredia Hidalgo Date: Mon Sep 20 14:57:19 2021 -0500 Enforce https in bearerTokenPolicy (#17749) commit e2f6e8d80101fdaa9c042d18b86838696c038ac6 Author: chradek <51000525+chradek@users.noreply.github.com> Date: Mon Sep 20 09:38:16 2021 -0700 remove delay devDependency (#17305) Resolves #17089 `@azure/abort-controller` doesn't use `delay` in any tests, so easy removal. `@azure/service-bus` used `delay` for perf tests, but only as a promisified setTimeout. Removed dependency and replaced with a simple delay function. commit 45de594e60f61d352d4467066a2c22223fdf6f98 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Sat Sep 18 16:36:39 2021 +0800 update-reade.md (#17744) commit 6a350c64c8aaa74cc07e92f7d1f471736170e663 Author: Deyaaeldeen Almahallawi Date: Fri Sep 17 18:33:04 2021 -0400 [Schema Registry] Apply Archboard requested renames (#17720) * [Schema Registry] Apply Archboard requested renames * edit * more renamings commit 3a610f2b3c70912f7b51282f710dbcce3545e235 Author: KarishmaGhiya Date: Fri Sep 17 14:29:50 2021 -0700 [monitor-query] fix what is publicly exported and make only one copy of function (#17562) commit df4828a8152b75a96b6b6904d1aa925cd62f91b0 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Sep 17 10:20:55 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 2010 (#17718) * Remove empty sections in changelog entry as part of prepare release * Update SECTIONS_HEADER_REGEX to accomodate various header levels Co-authored-by: Chidozie Ononiwu commit bcb1827548713a4d239050257a3e1023af0e4474 Author: chradek <51000525+chradek@users.noreply.github.com> Date: Fri Sep 17 10:07:16 2021 -0700 [event-hubs] Enable unit-test for node.js in CI (#17492) Replaces #14568 Uses the `@azure/mock-hub` package to start a local mocked version of Event Hubs to run tests against. There are a lot of whitespace changes (indentation) so I recommend viewing with whitespace changes hidden. commit 2961b5ce3638249feed15b3404ca9057f789bdff Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 16 22:33:56 2021 -0700 Post release automated changes for sql releases (#17725) Post release automated changes for azure-arm-sql commit 7351e8cf463dbe478b57c9a7fa385cf2a33cd358 Author: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com> Date: Fri Sep 17 13:30:39 2021 +0800 Update automation_generate.sh (#17333) * Update automation_generate.sh * Update automation_generate.sh commit 1e3c1e704b4e0b07164927e915c2a511cad6e703 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Fri Sep 17 09:56:32 2021 +0800 sql-track2 (#17724) * sql-track2 * sql-track2 commit c3ef516578ee169ed8a1e34eb0089076f0224a6f Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 16 16:03:19 2021 -0700 Post release automated changes for monitor releases (#17555) Post release automated changes for azure-monitor-query commit b413312412d7c5c0e522105740655285e9e76299 Author: Jeremy Meng Date: Thu Sep 16 15:39:15 2021 -0700 [credscan] unify passwords into a single place holder. (#17712) commit 4b04f42bc12d449b36b827bc3887c0d901e6ab25 Author: Daniel Jurek Date: Thu Sep 16 14:09:19 2021 -0700 Use default branch when queueing build in docindex (#16590) * Add ability to override Docs CI source branch * Wha thappens with an empty SourceBranch? * Remove SourceBranch * Comment out steps for faster iteration * SourceBranch * Readd skipped steps * Remove extra added steps commit 809f05c652ac9bb0fc08ce7048d8b5e33b9fc3e0 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 16 12:33:45 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 2011 (#17698) * Common pipeline template and script to detect API changes * Cahnges as per review comments * Review comment changes * CCahgnes as per review comments * Show warning for list of failed packages to detect API changes * Apply suggestions from code review Co-authored-by: Wes Haggard Co-authored-by: praveenkuttappan Co-authored-by: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Co-authored-by: Wes Haggard commit 88ad5f17c8c8cdf68cb04713e92f5d4c7731a7a0 Author: CHILIU-MSFT <44037195+CHILIU-MSFT@users.noreply.github.com> Date: Thu Sep 16 11:49:44 2021 -0700 Update signaling package version (#17716) commit 27bb5a5a9b28ff30696bf86e78a4ebef24c12c9c Author: Ramya Rao Date: Thu Sep 16 11:22:58 2021 -0700 Remove references to specific Node.js versions in readmes (#17703) Now that we have a support policy around Node.js versions, issues were logged as part of a sweep of all the documentation to ensure we don't mentioned specific Node.js versions and instead point to the support policy. This PR does the needful for a handful of packages. Similar changes are needed for some arm packages that will be managed by the mgmt plane team. Another issue for Track 1 cognitive services is #17603 which will be handled separately Fixes #17632 Fixes #17650 Fixes #17663 Fixes #17668 Fixes #17678 commit cb58001106436ca62eeb8b95e92fcd2f7f0ebb2e Author: Deyaaeldeen Almahallawi Date: Thu Sep 16 13:07:14 2021 -0400 [Schema Registry Avro] Move the shim file to types (#17704) * [Schema Registry Avro] Move the shim file to types * address feedback commit 2c381b21ffc917bf22b4add10776278967ac85db Author: Harsha Nalluru Date: Wed Sep 15 17:36:08 2021 -0700 [App Config] Add AZURE_AUTHORITY_HOST in the readme (#17711) commit 004c36cbfb1a94e93db406b3bd7a53b7b556c1ac Author: Jeremy Meng Date: Wed Sep 15 16:50:08 2021 -0700 [credscan] replace KV certificates in recordings with placeholder (#17593) * [credscan] replace KV certificates in recordings with placeholder Add a KV-certificate specific customization to replace base64-encoded certificates in recordings with a placeholder. even though `"values": "MII[^"]+"` looks very general, I checked all KV-certificates recordings and found that all the occurrences are expected to be replaced. Also fixed incorrect `dotenv` config in karma.config.js. * Add KV certificate replacement placeholder to suppression list * Skip playback test commit 3a0dbd580ba69fe34a80cae9a49db0fbcc987121 Author: luc <44377201+LuChen-Microsoft@users.noreply.github.com> Date: Wed Sep 15 15:56:26 2021 -0700 update communication signaling client (#17708) commit 40ce26d0fcefc292e173920bec8c0504ee646984 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 15 15:34:35 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 2016 (#17701) * Make ServiceName optional for verify-changelog In cases like go where we don't pass a service name having this default to "not-specified" breaks things so we should allow for ServiceName and/or ServiceDirectory to be empty. * Put quotes around the strings to allow for empty Co-authored-by: Wes Haggard commit bb709c3c5275813b7f73ec729971151e5b35a1da Author: Harsha Nalluru Date: Wed Sep 15 15:25:14 2021 -0700 [App Config] Fix live tests in UsGov and China clouds (#17583) * prettier change * yml file update * Update the etst * update test resources * remove switch case * adding some logs * Updatre HMAC-SHA256 syntax to follow https://docs.microsoft.com/en-us/azure/azure-app-configuration/rest-api-authentication-hmac#syntax * testApplicationOid * testing with template fro .NET repo * remove keyvault traces * Add switch case statement to see if that matters * update name * add azure secrets as outputs * update service version * Update sdk/core/core-http/src/policies/deserializationPolicy.ts * Update sdk/core/core-http/src/policies/deserializationPolicy.ts * Update sdk/core/core-http/src/policies/deserializationPolicy.ts * revert core-http * Ben hates this snippet, let's remove and test * changelog * Update sdk/appconfiguration/app-configuration/CHANGELOG.md Co-authored-by: Ben Broderick Phillips Co-authored-by: Ben Broderick Phillips commit 3c0e4cccf7b0061ecc6958cbe9639ef276566a96 Author: KarishmaGhiya Date: Wed Sep 15 15:14:59 2021 -0700 open dependnecy update (#17709) commit 03fd572ecdafaf72fe1e6081d6d0ea60c666dfa8 Author: KarishmaGhiya Date: Wed Sep 15 13:36:39 2021 -0700 improvements (#17614) commit 18f88f8cd9808a3a1c3e3648d9eaed57a528b8ac Author: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com> Date: Wed Sep 15 13:31:37 2021 -0700 [Azure Monitor Exporter] Fix issue with dependency type in DB Spans (#17705) commit 178a0da0335b39d1bb4910508c3b165ee258af9f Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 15 12:44:02 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 2009 (#17596) * Skip PSModule caching in container jobs * Add succeeded check to condition Co-authored-by: Wes Haggard Co-authored-by: Ben Broderick Phillips Co-authored-by: Ben Broderick Phillips Co-authored-by: Wes Haggard commit 6cd128c09330c8787d1f9cbf987f0b17b2d828c2 Author: Deyaaeldeen Almahallawi Date: Wed Sep 15 15:08:56 2021 -0400 [Schema Registry] No longer return an undefined and throw instead (#17700) commit 1a593e5b183daa62c94146c525306f8ea51446f5 Author: Jeremy Meng Date: Wed Sep 15 11:49:03 2021 -0700 Bump pnpm version to 6.14.2 (#17017) pnpm 6.13.0 includes fix to the "tar" security vulnerability issue. * pnpm v6 rename pnpmfile.js to .pnpmfile.cjs See https://github.com/pnpm/pnpm/releases/tag/v6.0.0 for details. * Add changes done by `rush update` * rush update --recheck * bump pnpm version to current latest version 6.14.2 * Adapt to pnpm change to reduce directory nesting in virtual store, pnpm v6 replaces '/' in package name with '+'. https://github.com/pnpm/pnpm/pull/3117 https://github.com/pnpm/pnpm/pull/3314 This breaks `communication-chat` which has an indirect dependency on earlier version of @opentelemetry/api that doesn't provide `esm` support thus needs the commonjs plugin's named exports when rolling up for browser. * Fix native deps installation script commit aced21f84bf4ac6c735b01a44e56022e096cc18e Author: Jeremy Meng Date: Wed Sep 15 09:17:09 2021 -0700 [credscan] add placeholder for blob batch test secrets (#17609) The affected tests are still skipped due to dynamic GUIDs in blob batch requests but this PR does the work to replace shared keys with a place holder which is suppressed in credscan. * combine placeholder list commit 265e233675ab188580a87ae1cf3f68bb722a9ba7 Author: Jeremy Meng Date: Tue Sep 14 17:49:24 2021 -0700 [credscan] add suppression placeholder for false positive (#17604) * [credscan] add suppression placeholder for false positive - api review file that happens to contain `export type Secret = Resource & {` https://github.com/Azure/azure-sdk-for-js/blob/de5a026e23211d1641d319dbd5d7a12710215953/sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md#L1150 - a recording sanitization placeholder in ACR commit 4868986e7f311d64478492c1571e59903ccbd3a1 Author: Daniel Rodríguez Date: Tue Sep 14 20:14:08 2021 -0400 [Identity] Version changes after the releases (#17612) New PR, smaller than the big one I made: https://github.com/Azure/azure-sdk-for-js/pull/17580 This PR: - Changes the Identity package versions to the next beta (meaning, from 1.0.0-beta.2 to 1.0.0-beta.3 and to 2.0.0-beta.6 t o 2.0.0-beta.7). - Sets some packages to use 2.0.0-beta.7 of Identity. Namely: The Identity package, the Key Vault packages and the Monitor Query (I’ve asked @maorleger and @KarishmaGhiya for permission 😄). commit 903c9c244bee433912fad5a85aa172ba11443b42 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Sep 14 16:56:17 2021 -0700 Add for multiple levels of Atx Headers in the CHANGELOG.md (#17613) Co-authored-by: Chidozie Ononiwu commit 4505aaee36a7df03bc04479647d43c3d9c55383b Author: Jeremy Meng Date: Tue Sep 14 16:23:51 2021 -0700 [credscan] suppress fake test token communication-common README (#17594) in file sdk/communication/communication-common/README.md The decoded jwt token doesn't contain any secrets: ```js {"header": {"alg":"HS256","typ":"JWT"}, "payload": {"exp":3600}} ``` I had considered using `""` or similar in the README samples but still prefer the fake test token as customer can understand easily what is expected. commit de5a026e23211d1641d319dbd5d7a12710215953 Author: Maor Leger Date: Tue Sep 14 16:09:24 2021 -0700 [KeyVault] - Add provisioner OID to initial MHSM admins (#17611) commit baf4ab0985b47d23c679d1ff408b7d8d98fd7d4f Author: Maor Leger Date: Tue Sep 14 12:50:53 2021 -0700 [KeyVault] - Add getCryptographyClient method to KeyClient (#17529) ## What - Adds the `KeyClient#getCryptographyClient` convenience method - Updates remoteCryptographyProvider to allow omitting the key version ## Why A few reasons we're doing this: 1. Discoverability - by surfacing this at the top level it'll make `CryptographyClient` more discoverable 2. Being able to share an httpClient and Pipeline instead of continuously creating new ones For the second bullet-point, I noticed in passing that we validate that the version exists and is not empty. That's incorrect, we should allow version to be optional. The service supports it, all other languages do that, and our public API says version is optional anyway. Resolves #17529 commit 74f543c7768afd361881951053d1106219966f8b Author: Jeremy Meng Date: Tue Sep 14 12:49:16 2021 -0700 [Engsys] Suppress credscan reported issues for test constants (#17505) * Remove leftover recordings whose tests had been deleted * Move test secrets into file so we can suppress the file, instead of suppressing using the unstable hashes * Update suppression list commit 12d4a7a129d9d0e63848ee64d536d7363f56172e Author: Scott Addie <10702007+scottaddie@users.noreply.github.com> Date: Tue Sep 14 13:34:04 2021 -0500 Final consistency review of Monitor Query README (#17591) * Final consistency review of Monitor Query README * Add rate limits section commit 594ec5b29ccecf6c5df24af2121af93f8498e334 Author: luc <44377201+LuChen-Microsoft@users.noreply.github.com> Date: Tue Sep 14 11:12:51 2021 -0700 Update communication signaling (#17605) * update communication signaling * update release date commit c748074e97fa314f38ad4cf47ce6f8b0df996f0a Author: Ramya Rao Date: Tue Sep 14 10:10:14 2021 -0700 Update codeowners for communication packages (#17530) commit 6845eb8dd3b1fc40ec4bea87c55cd734b815d47c Author: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com> Date: Tue Sep 14 09:02:14 2021 -0700 OpenTelemetry Exporter Fix issue loading SDK version (#17595) commit 02bcfb182851c6b819dff4ac215318d8b27244e1 Author: Hirofumi Horikawa Date: Tue Sep 14 10:25:31 2021 +0900 Loganalytics needs tokenAudience when creating creds (#15399) commit a11723db439f975dd1049fc175f3d241e93af132 Author: Jeremy Meng Date: Mon Sep 13 16:38:15 2021 -0700 [core] fix incorrect caching of proxy agents (#17546) The problem is that we only ever create one proxy agent and cache it, despite that different requests could have different proxy settings. This PR fixes the issue by using a cache of a map of , with the string representation of proxy settings as the key. Issue #16418 commit 0cc9db0c8de9df088d3c441b722152b38ae2cf9b Author: Ramya Rao Date: Mon Sep 13 15:23:24 2021 -0700 Set ensureConsistentVersions to false (#17587) commit 2cecf7e7f7887b9df67b219896d37d3a0cb23af6 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Sep 13 13:50:41 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1979 (#17589) * Move logic for removing empty sections to ChangeLog-Operations.ps1 * Refactor sections regex * Add SanitizeEntry parameter Co-authored-by: Chidozie Ononiwu commit 5e2a9429022ef28777791f89e91a5b91648caadf Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Sep 13 13:05:57 2021 -0700 Fix SemVer.ToString to handle v0 case (#17588) Since we are treating v0 versions as prerelease we need to make sure we don't accidently start to add the bogus prerelease label in cases where we call ToString() on the version. Co-authored-by: Wes Haggard commit cc987d2b6f947740c6ce9502f730fd3c0ad5965e Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Sep 13 13:04:50 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1946 (#17582) * Add ability to exit gracefully when all files in the diff are excluded * Address case where cspell exits with an error when all files from the 'files' config list are excluded by the expressions in 'ignorePaths' * Add tests * Review feedback: impl goes at the bottom and should be treated as a script, logic for testing should happen above that and exit appropriately if running tests * Import common instead of logging * Enable strict mode Co-authored-by: Daniel Jurek commit 92de67e9dd49e7285899d41bbd1916cb4505707b Author: Deyaaeldeen Almahallawi Date: Mon Sep 13 14:01:17 2021 -0400 [schema-registry-avro] serialize into JS's standard Uint8Array instead of Buffer (#17549) * [schema-registry-avro] serialize into JS's standard Uint8Array instead of Buffer * return a strict Uint8Array commit 7d82d3331de2dbd8db193f49bb783ae60c4a4fb9 Author: KarishmaGhiya Date: Mon Sep 13 09:28:03 2021 -0700 Monitor query test optimization (#17557) commit 1852b2e6a6fef85e7ec0e6453d24603109d7f61b Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Sep 13 09:21:55 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1983 (#17542) * Doc Updates and Revisions for External Use The focus of these changes is to revise the script to better support use by external contributors and others outside of the Azure SDK ecosystem and without access to the Microsoft AAD Tenant. Changes include: - Creation of a new Test Application service principal is now possible from a non-Microsoft AAD tenant. - When a new Test Application principal is created, the principle of least privilege is now applied; the new Test Application is granted ownership of the resource group associated with the test resources and no longer has access to any other resources in the subscription. - If an existing Test Application principal is specified, it will be assigned ownership of the resource group created. This supports using a Test Application principal without privileges at the subscription-level. - When no provisioner is specified, the script is now executed in the context of the caller rather than the Test Application principal. This supports using a Test Application principal that has restricted privileges and better aligns to the purpose of the Test Application principal. - The `$TestApplicationOid` is now explicitly bound at the time a new Test Application principal is created rather than having to query for it later. - Common error scenarios resulting from lack of permissions now provide messaging with more context of why the failure occurred and suggest remediation. - Added new examples to illustrate the common call patterns needed by external contributors running the script, outside of the Microsoft tenant and Azure SDK ecosystem. - Documentation has been enhanced with additional context to detail the permissions and roles assigned by the script. - Added documentation details for Bicep template use. * Add the provisioner OID to the deployment params Key Vault needs this to deploy Managed HSMs. There's a corresponding change necessary in test-resources.json I'll roll out across languages. * Fixing typos and spelling mistakes Co-authored-by: Jesse Squire Co-authored-by: Heath Stewart commit 0f75384e3dd57dad670917da1d7ba95c8d740098 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Sep 13 09:18:41 2021 -0700 Automatic rush update --full (#17481) commit 13861173b63f159ab71ae61f2c62da429ac69a6f Author: Jeremy Meng Date: Fri Sep 10 15:38:24 2021 -0700 Upgrade dev dependency ts-node to ^10.0.0 (#17323) commit b85b05a28f920558b5439d6f2ff95b35840db6b5 Author: ckairen <38804567+ckairen@users.noreply.github.com> Date: Fri Sep 10 15:35:21 2021 -0700 Smoke test isolation per package (#17528) * Smoke test isolation per package * PR mod * Error msg clarity commit f34dcf0d719c58a1a9d701e8508708687120dc99 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Sep 10 13:52:58 2021 -0700 Post release automated changes for storage releases (#17567) * Post release automated changes for azure-storage-blob * Post release automated changes for azure-storage-file-share * Post release automated changes for azure-storage-file-datalake commit c48374bc6d24566991387f240271e8ffd5a1716b Author: Jose Manuel Heredia Hidalgo Date: Fri Sep 10 14:13:34 2021 -0500 [core-lro] Check for string type before calling toLowerCase() (#17573) * Check for string type before calling toLowerCase() * Update changelog commit 45a3fd3dca4beea01de1fae766187fa2a4a9e612 Author: Ziheng Zhou(MSFT) Date: Sat Sep 11 02:18:01 2021 +0800 Update search to enable live testing in sovereign clouds for multiple services (#17443) * update to enable live testing in sovereign clouds for search * Update search to enable live testing in sovereign clouds for multiple services * update test-resources.json * update recordedClient.ts commit 59838aa40db22c0470f2a5e3119db8d452c247d7 Author: Harsha Nalluru Date: Fri Sep 10 10:34:29 2021 -0700 [Perf Tests] Migrate the older perf test projects to new model - event based SDKs (#17383) * move to the new structure * minor edits * sample.env and readmes * more changes * track 2 service-bus looks fine * track 1 also seems fine * more fixes * formatting * Update sdk/eventhub/perf-tests/event-hubs-track-1/README.md Co-authored-by: Daniel Rodríguez * Update sdk/eventhub/perf-tests/event-hubs-track-1/README.md * Apply suggestions from code review * lock file * lock file from master * lock file * all minor feedback * more formatting * remove prebuild * more care for readmes Co-authored-by: Daniel Rodríguez commit 127625e3298cd3aba87437a6d44ffb00e1f558b5 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Sep 10 10:05:46 2021 -0700 Post release automated changes for synapse releases (#17508) Post release automated changes for azure-synapse-managed-private-endpoints commit 5b8efeea97ebd1fbaa25e68e9c50b077cc33bba3 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Sep 10 10:03:31 2021 -0700 Post release automated changes for purview releases (#17560) Post release automated changes for azure-arm-purview commit 9106fe32f5b2e306e6a853333d4d7b94862c7b97 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Sep 10 10:02:06 2021 -0700 Post release automated changes for storage releases (#17570) Post release automated changes for azure-storage-queue commit 2120d33a926269de3cb7a27bee91d86090bd95d9 Author: Daniel Rodríguez Date: Fri Sep 10 11:58:15 2021 -0500 [Identity] Removed duplicated changelog line (#17572) Woops! 😝 It went over our heads 😱 commit 45bc463e64b24e87a18ac58e4b85258b6e46be56 Author: EmmaZhu-MSFT Date: Fri Sep 10 18:13:42 2021 +0800 Update changelog for storage-queue (#17569) commit ac05634c654d51936ad57dd080bb45d3e9703f40 Author: Harsha Nalluru Date: Thu Sep 9 22:43:12 2021 -0700 Ignore formatting .env files (#17561) Prettier tried to format my .env files by adding a `\` before a `.` present in a secret. commit 1444b23aeb351e984f9d28585ca68aca453d33ab Author: EmmaZhu-MSFT Date: Fri Sep 10 13:39:34 2021 +0800 Upgrade storage packages versions. (#17564) commit 1514d847f5a4fdb868d0407f40dcf308e5086f5a Author: Daniel Rodríguez Date: Thu Sep 9 19:13:09 2021 -0500 [Recorder v1] Fixed edge case double replacements (#17553) I know this is an edge case, but it’s also a performance improvement 😄 Feedback appreciated! Fixes #14353 commit 9efb573ecbd8df14bc9bfacb3bb1956211951afb Author: KarishmaGhiya Date: Thu Sep 9 16:51:09 2021 -0700 Monitor query updates (#17459) commit b49ffb174f96dfa3fe019efae1a5c6ddfc98346e Author: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com> Date: Thu Sep 9 16:41:48 2021 -0700 Updating OT Exporter to align with latest mappings spec (#17392) * Fix retry handling for Session Not Found errors * Update sdk/cosmosdb/cosmos/test/internal/session.spec.ts Co-authored-by: Zachary Foster * Update CODEOWNERS for Application Insights (#17055) * Updating Azure Monitor Exporter to align with latest schema spec * Revert unwanted changes * WIP * Rush update * Format * Addressing comments * Format * Addressing comments * Addressing comments * rush update * Do not throw when version cannot be loaded * Fix test Co-authored-by: Steve Faulkner Co-authored-by: Zachary Foster Co-authored-by: omziv <80668253+omziv@users.noreply.github.com> Co-authored-by: Ramya Rao commit fd63748d34925b020151a823d2a599f56fb6e124 Author: Daniel Jurek Date: Thu Sep 9 15:52:19 2021 -0700 Remove @azure/schema-registry-avro from docs onboarding until issue is addressed https://github.com/Azure/azure-sdk-for-js/issues/17550 (#17551) commit d5a8e9bd68834003ef8fe660fcc49140a038418b Author: Will Temple Date: Thu Sep 9 17:48:04 2021 -0400 [identity] User study feedback and renames (#17466) * Identity user study feedback changes. * Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * Added a couple more words to the error message for clarity * prepare for release * Format * use javascript as the language specifier in sample code * Fix browser mapping. * Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> * fixed test Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> commit 4feb27b6de38e0f670e9b217e50fb35ebcee9a30 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 9 14:01:17 2021 -0700 Install az module if not installed in deploy-stress-tests.ps1 (#17534) Co-authored-by: Ben Broderick Phillips commit 5de257624fbe232d8039c9f720851af5a82c4572 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 9 11:03:51 2021 -0700 Explicitly exit 0 so a failed inner command (like mvn) doesn't propagate up to a failure of the pipeline (#17537) Co-authored-by: Daniel Jurek commit 838d804c19fb0d97ba17195a37957b9cbf37cfd3 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 9 01:32:27 2021 -0700 Post release automated changes for servicebus releases (#17538) Post release automated changes for azure-arm-servicebus commit df6fef5611fd0d58445ec128002b18dd79ad5bc6 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Thu Sep 9 15:20:14 2021 +0800 servicebus-track2 (#17536) * servicebus-track2 * update commit c6c9c7de5bd2df85babb0ae8e9e04720d86dbf53 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Thu Sep 9 11:01:48 2021 +0800 purview-track2 (#17535) * purview-track2 * update commit 73942e3e81007d55521a248e64483e659f221770 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 18:06:19 2021 -0700 Post release automated changes for azure-arm-network (#17515) commit 160df574d4888091d4c2a8327474559e9a55c817 Author: Jose Manuel Heredia Hidalgo Date: Wed Sep 8 19:48:09 2021 -0500 Add authorization header when allowInsecureConnection (#17517) commit 0fd2d83d121a5df4c1587a48fad408501a995ecd Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 17:28:15 2021 -0700 Sync eng/common directory with azure-sdk-tools repository (#17532) commit 3cd09b44d516b27b0f1e56234f520f0417f881b4 Author: Daniel Rodríguez Date: Wed Sep 8 19:25:39 2021 -0500 [Identity] 2.0.0-beta.6 release date (#17533) We’ll be releasing Identity 2.0.0-beta.6 tomorrow 🎉 commit 35f3eddd60ef4df0189f1e1cce93dfd4f7b13bfe Author: Daniel Rodríguez Date: Wed Sep 8 18:39:08 2021 -0500 [Identity] Simple OnBehalfOfCredential (#17137) * WIP * added test file and another small test-related fix * fixed test after things were up to date * accepting certificate paths * feedback from Jeff * small improvements * moved sendCertificateChain to the OnBehalfOfCredentialCertificateConfiguration * inheritance improvements, by Jeff * small fixes commit 01e60581d456b22ab10100663e0a280f535f527e Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 16:34:10 2021 -0700 Post release automated changes for azure-container-registry (#17531) commit fb393b3e5def4dee817a11b391c67db899da17e4 Author: Daniel Jurek Date: Wed Sep 8 14:58:21 2021 -0700 Readd batch to automated onboarding (#17525) commit 85e5b46b39cfe5ce59a78de5ac399b8d9f514c20 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 13:23:43 2021 -0700 Post release automated changes for keyvault releases (#17473) Post release automated changes for azure-arm-keyvault commit 9e79f881ac1c45c7aa2f466c000dba2adc9a6c6d Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 13:00:38 2021 -0700 Add Skip.SetTestPipelineVersion to allow overidiing of use of BuildID for test version (#17519) Co-authored-by: Chidozie Ononiwu commit 6ccd67cb3d0fb8a26fd66d2f8de04f4705b773d7 Author: Daniel Rodríguez Date: Wed Sep 8 12:25:56 2021 -0500 [Identity] Support exchanging k8s token to AAD token (#16688) This is a simplified version of what @chlowell did on this PR: https://github.com/Azure/azure-sdk-for-python/pull/19902 This is based on what I understood. I’ll make sure to circle back with Charles before I get this PR out of draft. Fixes #15800 commit 7156a37da9124a440e9198bdcadb835d4ebe7be9 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:13:42 2021 -0700 Post release automated changes for azure-arm-locks (#17475) commit 86c82c2702d01cfd29ad2c70476c318568fad058 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:13:35 2021 -0700 Post release automated changes for azure-arm-links (#17474) commit 71c39f954fd64fa8d41bdeea0ce26585538d39c1 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:13:30 2021 -0700 Post release automated changes for azure-arm-policy (#17472) commit 3c751edaf4a43fbbfaf165ac2824fd62055a73ee Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:13:16 2021 -0700 Post release automated changes for azure-arm-resources (#17478) commit 7162ba71713b76b8f6aa9792b9d1298445429138 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:12:58 2021 -0700 Post release automated changes for azure-arm-managedapplications (#17476) commit f33c5f21e0fab0ac80786ef27aaca7a5f141887d Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:12:40 2021 -0700 Post release automated changes for azure-arm-sql (#17479) commit f261ee15d42aa9e7a0ecc29c5f591dc143bae3e5 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:12:25 2021 -0700 Post release automated changes for compute releases (#17396) Post release automated changes for azure-arm-compute commit 13a23801f54b657aeb06f334ea8fed27dc0c13e2 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:12:19 2021 -0700 Post release automated changes for azure-arm-storage (#17480) commit 65190ef9bcbe752eb3a17085956fa37aea56cd07 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:12:11 2021 -0700 Post release automated changes for azure-arm-features (#17487) commit b85a09baf749672ced1b22c8bddb2dac87857ba8 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 8 09:08:23 2021 -0700 Post release automated changes for eventhub releases (#17488) Post release automated changes for azure-arm-eventhub commit 11cc2c5e114efdd67eec094f4d3c850334f3791f Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Wed Sep 8 17:33:49 2021 +0800 network-track2-release (#17507) * network-track2-release * update commit 807736df4fee951f5370d1ea28d87cc75c6ec4af Author: Jeremy Meng Date: Tue Sep 7 14:13:10 2021 -1000 [ContainerRegistry] prepare CHANGELOG for September release (#17498) - update release date commit 03474a234e175e4b7add14884a154e66bd4a9be6 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Sep 7 16:10:19 2021 -0700 updating proxy to use latest version (#17501) Co-authored-by: seankane-msft commit 532247f8c1d094387c25868eaa254c03025a0b4d Author: Deyaaeldeen Almahallawi Date: Tue Sep 7 19:02:38 2021 -0400 [schema-registry-avro] Clean up tests and dependencies (#17463) * [schema-registry-avro] Clean up tests and dependencies * restore testing against live resources commit 1d460cc0b3f283460030bd9bf45db5ca56da9ab8 Author: Jose Manuel Heredia Hidalgo Date: Tue Sep 7 12:47:19 2021 -0700 [Synapse] Re-generate Managed Private Endpoints (#17441) Re-generate with swagger `2020-12-01` commit caf46243c5544f67075401b709ef576041166597 Author: Daniel Rodríguez Date: Tue Sep 7 13:36:18 2021 -0500 [Identity] Better DAC graph (#17491) commit 710c7b3258cb2748ef44b0dc5aef636e8d10f1b2 Author: luc <44377201+LuChen-Microsoft@users.noreply.github.com> Date: Tue Sep 7 10:40:00 2021 -0700 Update chat swagger (#17458) * updated swagger * update recordings commit 18baa6991648c84249dea758cd84640041cefcd9 Author: Jose Manuel Heredia Hidalgo Date: Tue Sep 7 10:36:26 2021 -0700 [Tables] Handle boolean when using `disableTypeConversion` and fix value type (#17385) * Handle boolean and fix value type * Update changelog * Update recorded tests to include boolean properties * Update recordings * Address PR comments commit a4eb25d8743912dc1688fac8ba83bf8e87c3ae44 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Tue Sep 7 14:20:11 2021 +0800 eventhub-track2 (#17486) commit 3a21acf8265f5e090f017dfaf86e5d2d7faa598a Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Tue Sep 7 10:49:05 2021 +0800 features-readme-samples-update (#17485) commit 81169fae68adb742143f6f0551b9f84195b8e067 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Mon Sep 6 15:46:13 2021 +0800 homepage-update (#17470) * homepage-update * update commit 8a7f4e25fbbc25ea3ac1244ff1cf83326472f770 Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Fri Sep 3 15:28:58 2021 -0400 Skip updating samples if samples-dev is not present (#17454) commit 1e0d4b5be16fdd1dbb5f8450cd0abaa182a7332d Author: Sarangan Rajamanickam Date: Fri Sep 3 11:20:07 2021 -0700 Code Changes for Search-Documents SDK for September Release (V: 11.3.0-beta.3) (#17412) * Beta 4 Changes * Minor comment change * Change to the odatatype * Upated Recordings * Update Changelog and Versions commit 197e08da710542a928290e2acabfccd0c0f66782 Author: Deyaaeldeen Almahallawi Date: Fri Sep 3 13:57:09 2021 -0400 [Batch] fix npm packing (#17456) * [Batch] fix npm packing * bump version commit b4907e28795e4616000f18e01d5985a19f444f8e Author: codeorelse Date: Fri Sep 3 19:39:30 2021 +0200 Update README.md (#17450) commit 8c282f5f638012c477fd3c9f9777076fd9f68dc9 Author: Maor Leger Date: Fri Sep 3 08:24:04 2021 -0700 [core] - core-tracing compatibility matrix and README updates (#17346) ## What - Update the core-tracing README's examples - Add a Compatibility matrix section in core-tracing - Add a troubleshooting section for Span#context -> Span#spanContext rename ## Why - The samples are outdated as we no longer require `setTracer` to enable tracing and support automatic span propagation where possible - We've been seeing more and more issues with compatibility between core-tracing, OpenTelemetry, and applicationinsights and it was suggested by one of our customers to add a compatibility matrix to aid in resolving such issues - FInally, Span#context -> Span#spanContext rename was particularly painful as it's used in TracingPolicy - a perfect storm of changes put us in a position where this error might keep coming up. I should note that even without any changes on our side, the above rename would cause errors for anyone who has pulled in OpenTelemetry >= 0.20 (including 1.0) as previous versions of core-http would still try to access Span#context (which has been renamed) Partially resolves #16936 Resolves #17369 commit f0dca41fb833f66e324d7c388b0b5551fdad8e75 Author: Deyaaeldeen Almahallawi Date: Thu Sep 2 20:03:20 2021 -0400 [Schema Registry & Event Hubs] Upgrade api-extractor to v7.18 (#17440) commit aaaefe54a845dcb9e87aa03ba26bd37171c8494d Author: Deyaaeldeen Almahallawi Date: Thu Sep 2 19:31:47 2021 -0400 [Text Analytics] Upgrade api-extractor (#17428) * [Text Analytocs] Upgrade api-extractor * use latest commit d5406a386146678a521803c4f7e497b0fd094487 Author: Deyaaeldeen Almahallawi Date: Thu Sep 2 17:48:25 2021 -0400 [Schema Registry] Rename getSchemaId to getSchemaProperties (#17438) commit db4dfb21adc2d3712e294ec3c357aba70f34fc96 Author: Deyaaeldeen Almahallawi Date: Thu Sep 2 17:06:39 2021 -0400 [schema-regitry-avro] deserialize supports Blob (#17416) * [schema-regitry-avro] deserialize supports Blob * fix types path in the shim * address feedback commit 5a42da4806ea8072aed2a14f7500323a74871a73 Author: Ramya Rao Date: Thu Sep 2 13:22:49 2021 -0700 Update code owners for cosmos (#17433) commit eeb9fd63d9c0074d54819ca8b40f611049109275 Author: Maor Leger Date: Thu Sep 2 12:30:55 2021 -0700 Increment version after release of core-http (#17430) Unfortunately the [automation build](https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1077922&view=logs&j=e48a6a5a-3932-594b-dbbd-1adab0f233bc&t=3f58f8b2-03ca-5a9d-677f-c6fa3fac06c6) failed due to an error in the Update samples step. I manually ran the command `node ./eng/tools/versioning/increment.js --artifact-name azure-core-http --repo-root .` commit 0977ab249a9dfd044c615fd7fdfa78534e6f2596 Author: Ramya Rao Date: Thu Sep 2 12:24:02 2021 -0700 Remove unused dependency on proxy-agent (#17431) commit e930d9c2a543861892b915135cf3df14427a29fe Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 2 11:44:12 2021 -0700 Post release automated changes for authorization releases (#17395) Post release automated changes for azure-arm-authorization commit b97a2bf0c826a78800f06d54f9c194cdb4393409 Author: Scott Addie <10702007+scottaddie@users.noreply.github.com> Date: Thu Sep 2 13:12:06 2021 -0500 Improve Monitor Query npm package description (#17399) commit fdbd1038b2e3ce24c7e7aeebb07b121aeec9acae Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 2 10:10:41 2021 -0700 Post release automated changes for azure-cosmos (#17427) commit c1f540ce3fca9f8a54465f4fd511aff5a1e1d31c Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Sep 2 08:55:49 2021 -0700 Support v0 versions as prerelease beta versions (#17420) Co-authored-by: Wes Haggard commit 0406e2e7dcd4e8ec220a1ccf4d386e52bb6a8be8 Author: Zachary Foster Date: Thu Sep 2 10:30:44 2021 -0400 [Cosmos] Bump core-rest-pipeline version (#17426) * cosmos should use 1.2.0 * Version bump to force installs commit d5893c42fea5e1c5792b1ca5ee6ba13e336819dc Author: KarishmaGhiya Date: Wed Sep 1 18:16:05 2021 -0700 Ux study monitor (#16935) commit b832d302a75a215771fa73ae3e0056b55084bb47 Author: Daniel Rodríguez Date: Wed Sep 1 20:24:17 2021 -0400 [Identity] Update after Hotfix 1.5.2: Enabling insecure connection requests on the Arc MSI (#17394) * [Identity] Update after Hotfix 1.5.2: Enabling insecure connection requests on the Arc MSI * missing changelog entry in 2.0.0-beta.6 * Update sdk/identity/identity/CHANGELOG.md Co-authored-by: Ramya Rao Co-authored-by: Ramya Rao commit b02bb87a33a60e9be06627eb875b33988764bb69 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 1 17:12:58 2021 -0700 Make "Setup Versioning Properties" cancellable (#17418) Co-authored-by: Mike Harder commit c9545794238645b3f225ce1738043a2d6ad8b8e6 Author: Maor Leger Date: Wed Sep 1 16:31:49 2021 -0700 [core] - fix core-http release date (#17417) When I first ran the prepare-release script I didn't override the date. I ran it again providing a date but it did not update the changelog for some reason. I later missed it in the PR. So, updating the date to tomorrow! commit 4fbd5ef5cd5bcc3688f7722449fb618dd3a160fd Author: Jose Manuel Heredia Hidalgo Date: Wed Sep 1 16:26:26 2021 -0700 [Rest clients] Explicitly set pipeline policies (#17015) * Explicitly set pipeline policies * Extract createPipelineFromOptions * Update core-client versions * Address PR comments * Add missing license header * Expect exponential retry policy * moved pipeline options * Update changelog commit 90c6423dc5ac2af2a224db3a7cbb75a5c7a0f0b5 Author: Jose Manuel Heredia Hidalgo Date: Wed Sep 1 15:44:29 2021 -0700 [core-rest-pipeline] Allow number and boolean as input headers (#17358) * Allow number and boolean as input headers * Address PR comments * Address PR Comments commit 855ff1819591eb67f0e4ba2c2896fd7826b1dcce Author: Deyaaeldeen Almahallawi Date: Wed Sep 1 18:16:24 2021 -0400 upgrade buffer to v6 (#17414) commit e332906c845259ac6d5a866f9ac37211ddf9c406 Author: Daniel Rodríguez Date: Wed Sep 1 17:18:03 2021 -0400 [Identity] Simplest possible credential sample (#17411) This PR comes after the feedback here: https://github.com/Azure/azure-sdk-for-js/pull/16687 Since there’s a very simple way to satisfy the `TokenCredential` interface, we can help users who want to provide their custom credentials by pointing them to this approach through our docs. Here’s an idea of how we can phrase these docs :) Feedback appreciated 👍 commit fa72157bff5a5dd756ddc3020b24d8e8b1cb8aed Author: Maor Leger Date: Wed Sep 1 13:36:55 2021 -0700 [core] Prepare release for core-http and core-rest-pipeline (#17403) commit 3591d5f045d18ce1ab43d1f20223b645a1a044aa Author: Harsha Nalluru Date: Wed Sep 1 12:49:21 2021 -0700 [Recorder] Fix types in the published package (#17409) * typings to types * update version commit 01ee023e503253dbcd7e82526dbe40ad487ceda9 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 1 12:27:00 2021 -0700 Increment version for monitor releases (#16270) Increment package version after release of azure-monitor-opentelemetry-exporter commit a5a5795bb445f3a1eefa330ffbd6bdc150a79c79 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 1 10:50:57 2021 -0700 Increment version for storage releases (#16630) commit 5107d08c5021e03e334e40d1216eb16576a6a9f3 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 1 10:49:40 2021 -0700 Increment package version after release of azure-communication-network-traversal (#16479) Co-authored-by: Ramya Rao commit 073d5739ad69aace64eb798f96be7ba82ffcea6f Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Wed Sep 1 13:30:29 2021 -0400 Fix Log error (#17382) commit 6d9c588eb91c4c4d63fe5f05b0d00e610f06330a Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 1 10:24:20 2021 -0700 Increment package version after release of azure-communication-common (#16522) commit bdd46de978d1c2e0b7c599d9e043e069c8c7c1e5 Author: Maor Leger Date: Wed Sep 1 10:22:13 2021 -0700 [sample] - remove unnecessary OTel exports in Bundling.md sample (#17400) Resolves #7313 commit a3ca3b4c8e72c31b042ec8a0ea311f9001f0fcf6 Author: Maor Leger Date: Wed Sep 1 09:55:52 2021 -0700 [KeyVault] - Prepare release for keyvault certificates and secrets September release (#17404) commit 2f07b264551cd1c2882a66ea8dde2e16000a6488 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Sep 1 09:17:50 2021 -0700 Post release automated changes for cosmosdb releases (#17401) Post release automated changes for azure-cosmos commit 04ca8a122de179bf2ee58732e2149fc6d2f80ad9 Author: Zachary Foster Date: Wed Sep 1 11:05:16 2021 -0400 [Cosmos] Adds challengeCallbacks to bearerTokenAuthPolicy (#17289) * Adds challengeCallbacks to bearerTokenAuthPolicy * Format * 1.2.0 * Remove unused import * Remove unused auth header in auth.ts and fix clientcontext token * Adds changelog entry * note Batch for patch operation since we note bulk commit 0bb5958f8c76dc4746eda992d0c2046ada2bfa11 Author: OnO Date: Wed Sep 1 08:39:34 2021 +0800 fix spelling error in AccountSASPermissions.ts (#15263) commit 38c1b14b84df6cd820c86d55abe71d70fad95ba7 Author: Kevin Date: Wed Sep 1 02:35:41 2021 +0200 Fix spelling errors in ConnectionMode.ts (#15190) commit bc68409220c72c8bc95c87e4c4a3360f77ebb165 Author: Maor Leger Date: Tue Aug 31 17:24:16 2021 -0700 [KeyVault] - Regenerate secrets and certificates using 7.3-preview (#17389) ## What - Regenerate certificates and secrets against the 7.3-preview swagger - Update certificate and secrets package versions to beta of next minor ## Why Although there are no changes in these packages, we should still offer support and default to the latest swagger version which will be 7.3. Since we'll be GAing in October, it makes sense to have a beta in September. commit aeafc4b6e4697fa9720b3fb2734b9243f7beeeda Author: Zachary Foster Date: Tue Aug 31 19:01:02 2021 -0400 [Cosmos] Adds JSONPatch to item (#16264) * working patch test * Adds patch functionality * Fix lint * Fix lint and export warning * remove unused dec * Fix engine * Remove partitionKeyValue from item * fix replace copypasta * Adds version * Add patch to batch/bulk with tests and fix patch operation type * .only * Include missing types from index * Fixes changelog commit 00b46e74aacfb9c6131c8b9cba9b1366a28f253c Author: Jiao Di (MSFT) <80496810+v-jiaodi@users.noreply.github.com> Date: Wed Sep 1 06:05:52 2021 +0800 Fix Monitor Query Readme Issue (#17376) commit 4e2876660795d3067ca8f943d0bc353b568e5314 Author: Daniel Rodríguez Date: Tue Aug 31 16:41:08 2021 -0400 [Identity] Fixed silent requests after reusing persistence cache (#17324) Updated `@azure/msal-node` and `@azure/msal-node-extensions`, which fixed an issue that caused silent authentication to fail on requests with previously cached (and valid) tokens. Fixes #14701 Fixes #15833 commit b6eae92ed2e1c222fd0f692c5e7a34398115adcf Author: Daniel Rodríguez Date: Tue Aug 31 16:12:41 2021 -0400 [Identity] Updated the DefaultAzureCredential graph (#17304) commit cf3c4b9cb70a8f35cd5f0e92aa11077d5d870b1e Author: Deyaaeldeen Almahallawi Date: Tue Aug 31 15:51:55 2021 -0400 [Schema Registry] Trim down Schema Properties (#17360) * [Schema Registry] Trim down Schema Properties * update avro text commit 1caf872697e6b6fb84da22a99b8d6433a144057a Author: Daniel Rodríguez Date: Tue Aug 31 15:04:59 2021 -0400 [Identity] Revert selected credential (#17322) * Revert "[Identity] Exposing the selected credential on ChainedTokenCredential (#16683)" This reverts commit 535e026e7aa605b1a76f2c10c9de89518d0a021e. * changelog update commit 4a6277fac05a60304c5eebf054e72ba23842d66d Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Aug 31 11:59:47 2021 -0700 Post release automated changes for web-pubsub releases (#17374) Post release automated changes for azure-arm-webpubsub commit 648b2ebd99b96b7b448ddec1fe188f2e2389fa3a Author: Jiao Di (MSFT) <80496810+v-jiaodi@users.noreply.github.com> Date: Wed Sep 1 00:29:03 2021 +0800 Fix Event Grid Readme Issue (#17377) commit d70ebc9b122b909c1f5847d3fd08705748bb7f85 Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Tue Aug 31 10:46:14 2021 -0400 Do not fail cleanup tags when a package is published for the first time (#17338) commit 46ed1e76b2997ed9ef4975e90e8b48a034db350e Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Tue Aug 31 10:44:43 2021 -0400 Remove rush update recheck automation (#17349) commit 636659dcb188512e44cdb8747446b30d86471cdf Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Tue Aug 31 17:52:44 2021 +0800 authorization-track2 (#17380) commit cfd3565fccca77df771bb3e538df6af2ee7c22be Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Tue Aug 31 17:52:35 2021 +0800 compute-tack2 (#17051) * compute-tack2 * update commit b0162164f1a1ff02a6cabe4af18dc1dc6b2259ae Author: EmmaZhu-MSFT Date: Tue Aug 31 13:09:53 2021 +0800 [storage]Clean up ESLint errors for storage packages. (#16969) * Clean up ESLint errors for storage packages. * Fix one more ESLint error. * Resolve reviewing comments * Remove padStart implementation for IE. commit aaec5b9aa01e3d950c906100c962bad19d93e924 Author: EmmaZhu-MSFT Date: Tue Aug 31 09:54:13 2021 +0800 Resolve API review comments: (#17118) Not expose ListFilesIncludeType which is only internal used. Refine member name commit c4b6126b54b4aef385104b14164321050e60d569 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Aug 30 17:45:57 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1953 (#17355) * Add random elements to default base name * Fix principal * tab Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com> commit 9fcaef60d5d6f5a814a0155efc626106f4362198 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Aug 30 17:21:09 2021 -0700 Skip eng common workflow enforcer for private repos (#17351) Co-authored-by: Chidozie Ononiwu commit dafbac160816260d2287bd87ddb89138854b455e Author: Scott Addie <10702007+scottaddie@users.noreply.github.com> Date: Mon Aug 30 19:16:51 2021 -0500 Clarify LogsQueryClient query parameter description (#17356) commit 5aeb275294a85602166bf2e5997452ae0398c065 Author: Deyaaeldeen Almahallawi Date: Mon Aug 30 19:48:26 2021 -0400 [Schema Registry Avro] Align public API (#17350) * [Schema Registry Avro] Align public API * update api review commit 71ba6b085065eb75bb41d9983d995540181b9f9d Author: KarishmaGhiya Date: Mon Aug 30 13:53:59 2021 -0700 remove qs (#17328) commit 6ff03729d1a1f234d9c7deeee28c03bbb9bcea99 Author: Deyaaeldeen Almahallawi Date: Mon Aug 30 15:38:56 2021 -0400 [core-paging] update changelog (#17340) * [core-paging] update changelog * fix files list commit 0a917741ab1d8b6a585642f8089f344925c9e58a Author: Ramya Rao Date: Mon Aug 30 12:34:25 2021 -0700 Update version of execa being used (#17320) This PR updates the version of `execa` being used Fixes https://github.com/Azure/azure-sdk-for-js/issues/17093 The only breaking change of concern is listed https://github.com/sindresorhus/execa/releases/tag/v4.0.0 where it is documented that the `error.message` now contains more information. In this PR, we move to use `error.shortMessage` instead commit dc6d4243ce4a3a66043ae39979fc047e940f833e Author: Jose Manuel Heredia Hidalgo Date: Mon Aug 30 11:11:52 2021 -0700 Bubble up system error code for the retry policy to evaluate the actual code (#17292) commit 30d50cb50f9d353bfeb0ba3b299586e8c7b7c888 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Aug 30 11:07:54 2021 -0700 Automatic rush update --full (#17335) commit 2e23b80604f856564b3b1d3821a03de07bc77788 Author: Maor Leger Date: Mon Aug 30 09:06:58 2021 -0700 [core] - Ignore spanOptions in core-tracing tests (#17336) We have a few tests that ensure core-tracing remains compatible with core-auth's OperationTracingOptions. Since `spanOptions` is now effectively deprecated we can safely ignore that as well, but we need to specifically ignore it in our test because of the versioning mismatch in nightly builds. Fixes the nightly build (see https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1067749) commit 900c09ea928787a368e8b4da35d9b9cc59be1491 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 27 16:07:20 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1943 (#17319) * Bug fix: Storing .env file for bicep file at service dir * Styling Co-authored-by: Albert Cheng commit 2074482b0f47de92b28b9935d00c9ea1d13701fd Author: Jeremy Meng Date: Fri Aug 27 12:09:13 2021 -1000 Upgrade dev dependency @types/tunnel to ^0.0.3 (#17317) It appears not used by cosmos so removing it from cosmos's devDependencies list. Resolves #17111 commit 0c1a11da1f2a27c7aa45217933e4785ad85fd308 Author: Jeremy Meng Date: Fri Aug 27 11:35:02 2021 -1000 Upgrade `form-data` to v4 (#17318) Even though it's a major version change, discussion at https://github.com/form-data/form-data/compare/v3.0.1...v4.0.0 suggests that there are no actual breaking changes. commit eeae1e5a6a01c58fd7403e413d6c2e0293256988 Author: Jeremy Meng Date: Fri Aug 27 11:33:58 2021 -1000 [ContainerRegistry] Update cloud configuration API (#16992) We are moving from an `authenticationScope` string to an `audience` extensible enum on `ContainerRegistryClientOptions`. We introduce the `KnownContainerRegistryAudience` enum to hold the possible values, or allow the customer to provide a different value if needed. In addition, we require the `audience` value to be set in client options to instantiate any instance of `ContainerRegistryClient`. This allows us to postpone setting a default value for audience until after the library's first GA. See relevant .NET PR at https://github.com/Azure/azure-sdk-for-net/pull/23141. This resolves https://github.com/azure/azure-sdk-for-js/issues/16127. commit 974a68525f01822a984a4cf1cedda009955bc8fa Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 27 14:05:41 2021 -0700 Automatic rush update --recheck (#17117) commit 4b84df04c686a4cb08fc24cc2e7a619fbfb601d5 Author: Harsha Nalluru Date: Fri Aug 27 13:25:42 2021 -0700 [Recorder] Releasing recorder to public - not setting private anymore (#17314) commit f504378caa7a33f6366eb3365736a59ffb74d784 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 27 11:25:23 2021 -0700 ensure test principal creation succeeds properly (#17312) Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com> commit 0f7ccdb49ac51f6c1538f5e0b735f82c1674c6b6 Author: Deyaaeldeen Almahallawi Date: Fri Aug 27 13:30:26 2021 -0400 [Schema Registry] Cross-languages API alignment (#17291) * [Schema Registry] Cross-languages API alignment * format in the avro pkg commit 17523f2288aab13eed1d503d8fd078e38a6145ac Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Fri Aug 27 13:21:33 2021 -0400 Skip update samples post release script for track2 management packages (#17295) commit c776973e578fa562421c4977c42a7d9fb9fa86ad Author: Jeremy Meng Date: Fri Aug 27 06:27:07 2021 -1000 Fix codespace docker permission issue (#17306) in `1-linux` we need `--privileged` in devcontainer's `runArgs` commit 9b74007d1c48a0de5f05ed58dd5b4d85683bc3e0 Author: Ramya Rao Date: Fri Aug 27 08:12:43 2021 -0700 Remove mock-fs, query-string, @types/query-string if they are not used (#17297) commit bb137b0aa4cabf2ac978a4493c814455d00dfda9 Author: Ramya Rao Date: Fri Aug 27 08:11:42 2021 -0700 Fix common linter errors for web-pubsub (#17299) * Fix @azure/azure-sdk/ts-package-json-keywords failure * Fix tsdoc/syntax errors for @param tag * Fix tsdoc/syntax error for usage of @ for non tag * Run lint:fix * Update lintreport name commit 28e6a572a72602f73438753289d722498eecaa20 Author: Ramya Rao Date: Fri Aug 27 08:11:20 2021 -0700 Fix common linter errors for web-pubsub-express (#17301) * Run lint:fix * Fix tsdoc/syntax errors around @param tag * Update lint report name commit cb9de8f7f0e2d8fa91c250cf3da230f0997c31a9 Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Thu Aug 26 20:29:02 2021 -0400 Run build test pipeline for reduced test scope fore core pipeline (#17290) commit 71838726d9324328d47e6551990d7482af436877 Author: Ramya Rao Date: Thu Aug 26 16:42:28 2021 -0700 rush update --full 8/26/2021 (#17294) I was trying to remove some of the unused dependencies in our packages and this invariably will change the lock file. Found that `@types/node` v12 had a patch update in the past 24 hours that caused much noise to my updates. So, creating this PR with just `rush update --full` so that my future PRs can have less noise Please note that the automated weekly PR that does this was already run yesterday and merged commit 5a76265226f25433000935330754389c1bade9eb Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Aug 26 16:12:12 2021 -0700 Stip empty changelog sections before release (#17293) Co-authored-by: Chidozie Ononiwu commit 85437db51e926d4e3957f496ad675f9ca6ff3465 Author: Harsha Nalluru Date: Thu Aug 26 16:02:30 2021 -0700 [Recorder] Unified recorder prototyping with storage-queue/data-tables SDKs (#15826) * update rush.json * lock file * package.json, rollup and tsconfig * src file * test * add recorder.stop call * set http * set protocol to http * core-rest-pipeline draft * storage test * keep only the storage test * lock file * update package.json * recorder-new * lock file * undefined to null * remove target es5 * add a guide with starter steps * testing-recorder-new * lock file * types - recorder-new * import urlBuilder from core-http * disclaimer in the guide * comment out the test in recorder-new * testing recorder-new setup and test * rest-pipeline 1.1.0 * lock file * "versionPolicyName": "test" and sdkType * karma.conf * fix package.json * update test to take sas url * omit readme checks for testing-recorder-new, recorder-new * lock file from master * lock file and readmes * remove TEST_MODE variable * update readme with temp-location * resources update * skip runnign in ci * update package.json * remove console.logs and fix queue name * fix browser mappings * index.browser.ts and console.logs * remove .olg from clean command * test file with logs * update readme * update readme to reflect additional environment variables that must be set * login steps * lock file * test file * Copying the recordings saved in the container * remove console logs * "@azure/data-tables": "^12.1.2" * dependencies * rename test file * core-v2 recorder first draft * core-v2 node test works * karma-conf fix * uri -> url * update tests * refactor core-v1 and core-v2 recorder clients * refactor common code between core-v1 core-v2 and node and browser * renames and underscore removals * typings -> types * address feedback * RecordingStateManager * lock file * lock file * lock file from master * lock file * recorder-new package test skipped * delete commented test file * Update sdk/test-utils/testing-recorder-new/README.md * empty test file * lock file * add link descriptions * Daniel's feedback * Update sdk/test-utils/recorder-new/README.md Co-authored-by: Scott Beddall <45376673+scbedd@users.noreply.github.com> * Scott's feedback * Addressing Will's feedback * Add tslib * RecordingState * lock file * currentState * lock file * docker cp * remove lib from tsconfig * more feedback * utils file and base tests * update error message * initial set of tests * Add copyright headers * No need of the if checks * both Test_Modes * Append ${testMode} mode: * karma conf and tests * Daniel's new found love - npm run clean move from prebuild to build * Added many many comments for Daniel 🐱‍👤 * lock file * package renames Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com> commit 1f667c4b3fcb5da6e7e2a448218d66a6ab6af8ed Author: Jose Manuel Heredia Hidalgo Date: Thu Aug 26 15:54:03 2021 -0700 [RLC] Allow string, number and boolean values for input headers (#17135) * Allow string, number and boolean values for input headers * use String(value) * mark as internal * fix lint commit 8dbbedd71ae26bbd2f7316ca80e7b2080672d47f Author: Harsha Nalluru Date: Thu Aug 26 14:22:27 2021 -0700 [Recorder] Adding a note in the readme to release publicly and rename the package(everywhere) (#17127) * Adding a note in the readme to release publicly * rename `@azure/test-utils-recorder` to `@azure-tools/test-recorder` * lock file * delete recorder new file commit ed6882d135b1ee1daf3cd4d2609587173d0e9613 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Aug 26 14:13:52 2021 -0700 Automatic rush update --full (#17131) commit b8f46a917538ea6e2a1188c34fa3f8cc68de6308 Author: Daniel Rodríguez Date: Thu Aug 26 14:25:14 2021 -0400 Ensuring that the build script also cleans (#17123) * [Identity] Ensuring that the build script also cleans * ...everywhere! * removing double cleans commit e86058dd5e5695b8321e1859b3678c7e655bd1ce Author: Maor Leger Date: Thu Aug 26 11:18:52 2021 -0700 [KeyVault] - Revert Key Rotation changes (#17141) Revert 44a435caa6a4c0fdaba2da9860b82a829711e592 and c65e17fe9e0a7d828515a0e3736322666c13a82e as they will be cut from 7.3 and moved to 7.4-preview. commit cf25413d4ff4c71e122926bc778308930c8ba204 Author: Zachary Foster Date: Thu Aug 26 10:14:17 2021 -0400 [Cosmos] Adds timeouts test with sample (#17124) * Adds timeouts test * Fix lint commit c64d6b110b978b9a51b5d9f5c9bd7c90f8faecb3 Author: govardhan <27.govardhan@gmail.com> Date: Thu Aug 26 17:09:24 2021 +0530 added github support via .gitattributes to treat generated files in PRs as do-not-display-by-default (#17139) commit d938e7b0b7984cd8626742d7d4c1d35c41c0c168 Author: chradek <51000525+chradek@users.noreply.github.com> Date: Wed Aug 25 15:02:54 2021 -0700 [event-hubs] prevent empty span creation when tracing is disabled (#17129) Fixes #14063 This update improves the event instrumentation logic so that spans are only created if tracing is enabled. This fixes the issue where adding events to an EventDataBatch led to empty spans being created when tracing was not enabled. The `instrumentEventData` function is similar to the `instrumentMessage` function in service bus. The main difference is that in event hubs we need to check if the event being instrumented is an AmqpAnnotatedMessage or an EventData since properties are stored in a different field (properties vs applicationProperties) depending which is used. In service bus, the ServiceBusMessage uses applicationProperties, so no distinction versus AmqpAnnotatedMessage is needed there. /cc @maorleger commit ccf4bc51b7dde8ffa172ebe4592c4e303b700b2c Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Wed Aug 25 17:14:23 2021 -0400 Fix pipeline formatting error (#17073) commit 478fa337f64afe8dfec8b7efa73a5bf11f0b49ae Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Wed Aug 25 17:05:43 2021 +0800 update-CODEOWNERS-file (#17119) commit 420865a5f087c41bfd0d23b38189003794470184 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Wed Aug 25 13:40:27 2021 +0800 templatespecs-track2 (#17115) * templatespecs-track2 * update commit 41022921d4724a16b53003ccfb4bf3271610b9b9 Author: Ramya Rao Date: Tue Aug 24 22:37:01 2021 -0700 Update CODEOWNERS for every mgmt package (#17060) * Update CODEOWNERS for every mgmt package * Remove extra line * Update .github/CODEOWNERS Co-authored-by: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com> Co-authored-by: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com> commit adf4d5dc3cdad6b4660df8495a4b07eb536a05c0 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Wed Aug 25 10:39:14 2021 +0800 bump version (#17113) commit c44618b8306ee2ab78bade40afebd27d944d277d Author: luc <44377201+LuChen-Microsoft@users.noreply.github.com> Date: Tue Aug 24 18:32:49 2021 -0700 Chat Core2 Migration (#17045) * migrate to core client * add tests recordings * revert rollup change * remove commented code * fix dependency * fix rush lint * format files * update swagger version * update sdk version * update pacakge version * update the constants path * revert recording files commit 0596e3a57f84cd3289c4bdad1271da7aa1f8eb37 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Aug 24 17:17:32 2021 -0700 Increment version for attestation releases (#16926) Increment package version after release of azure-attestation commit 1c0e6591e2bef327a74f6734d22c7af7187c0021 Author: luc <44377201+LuChen-Microsoft@users.noreply.github.com> Date: Tue Aug 24 16:00:58 2021 -0700 Add Lu Chen to Communication Code Owner (#17079) * Add Lu Chen to code owner * Add Lu Chen to Communication Chat code owner commit 6927580ec6dc96c767852274dab8c9e882bc5b53 Author: Maor Leger Date: Tue Aug 24 16:00:22 2021 -0700 [core] - return early in tracingPolicy if span is not recording (#17059) ## What - If a span is not recording, return early and avoid doing any more work - Update some missed test setup ## Why When tracing is either not configured or the newly created span is not sampled this information would get dropped from both telemetry and request headers (since the serialized span context will not be valid). We can return early in that case. It'll have several benefits: 1. Less instances of the Span#context / Span#spanContext rename issues (since we won't get there) 2. We can avoid some processing overhead, although for a non recording span it is probably (but not surely) very lightweight anyway. ## Callouts Being able to avoid creating the span (and the URIBuilder overhead) is currently not possible for multiple reasons: 1. The OTel API does not provide a way to check whether tracing is globally configured https://github.com/open-telemetry/opentelemetry-js-api/issues/118 nor will that be supported in the future 2. Checking the current parent span is not an option either - due to sampling logic it's possible that the parent span is not recording but this span will be So this is about as good as we can get for now. Skipping CHANGELOG because the overall behavior should not change from a client's perspective. Resolves #16580 commit 2078bd509f632d10cc49c65132b574b1c465a1ab Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Aug 24 16:00:09 2021 -0700 Increment package version after release of azure-app-configuration (#16649) commit f62d5e7a4dbd9042bfbbf16064ed4ac92c873b49 Author: Maor Leger Date: Tue Aug 24 14:51:37 2021 -0700 [core] - Remove SpanOptions from the public API (#16984) ## What - Removes spanOptions from OperationTracingOptions - Prepares client package for compatibility with both existing and future core-tracing code by adding runtime casts / checks where spanOptions are concerned - Adds `az.namespace` as an attribute on the current context, ensuring that it is available for tracing policies - Adds spanOptions as a parameter to `createSpan` allowing customization of a newly created span - Prepare tracingPolicies for backwards and forwards compatibility at runtime by using spanOptions as well as spanContext to determine the value of az.namespace to set on spans. **Does NOT upgrade client libraries yet and their API will NOT change until we upgrade** ## Why spanContext originally existed to be able to shepherd attributes around in order to add them to any child spans. Specifically, we need to add the az.namespace to the outgoing request span. Now that `tracingContext` is available as both a bag of values as well as a container for parenting info, we no longer need spanOptions. Actually, spanOptions grew to add enums and other elements that caused us pain in the past. See #15285 as an example. Finally, providing spanOptions as a publicly available option bag means that we are providing ways for consumers to customize our own spans. We don't need that, as we own the spans we create. But what we still need to provide is a way for our own libraries to customize the spans they produce. By moving spanOptions off of OperationTracingOptions and into a separate parameter in createSpan we can support this. ## Callouts I tested compatibility here in multiple ways: 1. I changed core-tracing's version to preview.13 so that all libraries will run tests against the new package 2. I then changed it _back_ to 14, so that all libraries will run tests against the old pacakge 3. I packed preview.13 with new bits and installed published packages for a few libraries and manually tested a few scenarios Resolves #15285 Resolves #16726 commit d9e6263e15cf3eb68ab012e0b4379a8c0fa8988f Author: Daniel Rodríguez Date: Tue Aug 24 17:50:00 2021 -0400 [Identity] Fix broken link (#17072) In this PR I’m fixing a broken link. It pointed to a feature branch, and it correctly routed to it while we were developing the feature, but after merging an deleting that branch, the link is now broken! (reasonably so). Let’s clean it up! Thank you, @jeremymeng for letting me know about this. commit 4e5491fda625052a22f80b06f3d5e5b3dac38e4b Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Aug 24 14:17:14 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1918 (#16976) * Stress test deployment script resiliency fixes * Use PSModule-Helpers to install powershell-yaml Co-authored-by: Ben Broderick Phillips commit beaf9b5e3d8564f6fe4bfc36a301f811aa869934 Author: Jeremy Meng Date: Tue Aug 24 10:48:08 2021 -1000 Suppress CredScan warnings for test proxy dev cert (#17040) This suppresses a CredScan warning that comes from a non-secret devcert necessary for using the new test proxy. (See related Python PR at https://github.com/Azure/azure-sdk-for-python/pull/20324) commit baff00ab2d74e1b66cb5c9a3715f97a9ce045c72 Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Tue Aug 24 16:21:46 2021 -0400 New pipeline to run weekly JS automation (#17008) * New pipeline to run weekly JS automation commit 078906ce35b43e96f1b6c9acb5024d7e9986c0e4 Author: Zachary Foster Date: Tue Aug 24 14:51:26 2021 -0400 [Cosmos] Adds pipeline to requestContext for AAD auth reuse (#16994) * Adds pipeline for AAD auth to request handler * lint and api extract commit cf14eb515b4bb25589c21ae76eb32a41e231c99c Author: Jeremy Meng Date: Tue Aug 24 08:38:03 2021 -1000 Remove usage of deprecated rollup-plugin-node-resolve (#17037) - attestation and iot-device-update don't use rollup plugins directly, they are using shared rollup config from dev-tool commit 79f9ac2d62e0c729baaddb79cb217f7c8c04b878 Author: Jeremy Meng Date: Tue Aug 24 08:29:18 2021 -1000 Run `rush update --full` 2021-08-23 (#17033) * Run `rush update --full` 2021-08-23 * dev-tool: use `builtin-modles: ^3.1.0` instead of `~3.1.0` commit 8c620149041223363642eac98664ead2746f6b36 Author: chradek <51000525+chradek@users.noreply.github.com> Date: Tue Aug 24 11:26:40 2021 -0700 [service-bus] fix getMessageIterator docs (#16957) commit 847e11f12d5eff82871d7936fb9085cf3154321f Author: Maor Leger Date: Tue Aug 24 10:47:20 2021 -0700 Update region for MHSM deployment (#17056) In order to get live test deployments of MHSM healthy again commit f89f1a97ce9658f2da50e31673fad805f7f42674 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Tue Aug 24 16:32:46 2021 +0800 resources-subscription-track2 (#17046) * resources-subscription-track2 * update * update client construction commit b497c95e60cdb9275b756bf8f3a544e898a10d18 Author: chradek <51000525+chradek@users.noreply.github.com> Date: Mon Aug 23 19:14:54 2021 -0700 [event-hubs] adds IoT Hub connection string conversion with websockets sample (#16589) As requested by https://github.com/Azure/azure-sdk-for-js/pull/7060#issuecomment-887480513, this PR adds a sample for converting an IoT Hub connection string to an Event Hubs-compatible connection string using web sockets. The main difference is that websocket options need to be specified, and the port used to connect changed from 5671 to 443. /cc @wiegvlieg - let me know if this helps or if you have more questions about how this sample works. commit 5944d3ad9a99b4d960d8dc886a60368338b29bc0 Author: chradek <51000525+chradek@users.noreply.github.com> Date: Mon Aug 23 18:50:39 2021 -0700 [event-hubs] fix IoT Connection string sample (#16945) commit a8bd43d1bcc347dcb0f5e9441fb6b14d04bf30a7 Author: Jeremy Meng Date: Mon Aug 23 13:47:12 2021 -1000 [Cosmos] remove deprecated @types/fast-json-stable-stringify dependency (#17038) * [Cosmos] remove deprecated @types/fast-json-stable-stringify dependency as recommended by ```  WARN  deprecated @types/fast-json-stable-stringify@2.1.0: This is a stub types definition. fast-json-stable-stringify provides its own type definitions, so you do not need this installed. ``` * Upgrade "fast-json-stable-stringify" to "^2.1.0", * Run `rush update --recheck` commit 1d3913f17f5dbb55ac0df7d1654e6e1b58aa4416 Author: Zachary Foster Date: Mon Aug 23 19:16:55 2021 -0400 Remove empty sections (#17039) commit 01936b763941a81e2edd2fa0fc8293d93c8d6ce5 Author: Zachary Foster Date: Mon Aug 23 17:38:19 2021 -0400 Adds date to changelog (#17036) commit b1b0741a4095114ac2e6ec04b570d4c67ee001b3 Author: Jeremy Meng Date: Mon Aug 23 10:13:41 2021 -1000 Bump pnpm version to 5.18.10 (#17035) to have security fix for tar@6.1.0 (see https://github.com/pnpm/pnpm/releases/tag/v5.18.10 for details) commit d630c5f4f0d2ddc04ec2fa639b499428fa5fc0b4 Author: Steve Faulkner Date: Mon Aug 23 12:04:15 2021 -0700 [Cosmos] Fix retry handling for Session Not Found errors (#17034) commit 2bd2e7703a980b36c244dafaa3ff9d7ed37ed734 Author: Suyash Sonawane Date: Mon Aug 23 23:01:12 2021 +0530 [core][client] Stop importing URL from url (#17022) * [core][client] Stop importing URL from url * fixed new linter new line error in package.json commit 759218914fe95c17ca081e0ca21e113f242d7d1a Author: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com> Date: Mon Aug 23 14:43:55 2021 +0800 update-pnpm-lock-yaml-with-rush-update (#17027) commit b270fbd933d014fedcba03351aec040e272d116d Author: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com> Date: Mon Aug 23 13:16:46 2021 +0800 [RLC] release purview-account (#16859) * purview-account llc * Rename typedefs.js to collections.js * purview build and try test collections * Update sdk/purview/purview-account-rest/LICENSE Co-authored-by: Deyaaeldeen Almahallawi * update description based on comments * update format and add changelog * refresh catalog and scanning * update test for collections * update samples * Add paging helper (#16966) Co-authored-by: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com> Co-authored-by: Deyaaeldeen Almahallawi Co-authored-by: Jose Manuel Heredia Hidalgo commit 7f917403a706b2e3ee4e223735f28be8b055f377 Author: Jeremy Meng Date: Fri Aug 20 14:31:55 2021 -1000 Bump rushVersion to 5.55.1 (#17020) for the fix to jszip security issue https://github.com/microsoft/rushstack/issues/2836 commit 969b0de05eb261dc4359a8eea2a82fc347e14fa2 Author: Daniel Rodríguez Date: Fri Aug 20 19:30:39 2021 -0400 [Identity] Migrate AuthorizationCodeCredential to use MSAL (#15851) * Migrate AuthorizationCodeCredential to use MSAL * bad code, just testing * tested that things are working * small automated changes * removed the old test file again * update the authorization code credential sample Co-authored-by: Karishma Ghiya commit 0ff52f2d470368a011c1d22ba248e8d9cad3ff53 Author: Daniel Jurek Date: Fri Aug 20 16:21:43 2021 -0700 Readd @azure/arm-appservice (#17018) commit ce3c7e3293ecabe73640aef1cde0f0c595a191a1 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 20 13:43:42 2021 -0700 Increment version for appservice releases (#16902) Increment package version after release of azure-arm-appservice commit 227bbcd6b3fac72084b962edf5756202a780fb9b Author: Jeremy Meng Date: Fri Aug 20 10:34:15 2021 -1000 Bump devcontainer version to 1-linux (#17009) to have more recent vresions of development tools. commit 59dd88adce2a58e5fea5ea61b41f4eb0fdcc5c75 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 20 13:27:48 2021 -0700 Increment version for monitor releases (#16840) Increment package version after release of azure-monitor-query commit a26ceca90ad531b2127a1d0f7e831b8be6fb081b Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 20 13:26:56 2021 -0700 Increment version for formrecognizer releases (#16873) Increment package version after release of azure-ai-form-recognizer commit 3468529f8afaef0291ab47e946661ecb99d3c6b9 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 20 13:26:18 2021 -0700 Increment version for communication releases (#16839) Increment package version after release of azure-communication-chat commit 350cb9e0b5b7bc170f96f8f9e016511172581ad3 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 20 13:25:19 2021 -0700 Increment version for features releases (#16755) Increment package version after release of azure-arm-features commit b7e4ab869ad03208f4502c913e83a36c06b03009 Author: Harsha Nalluru Date: Fri Aug 20 11:03:09 2021 -0700 [App Config] Skip live testing for byPage to avoid throttling in the CI (#16925) * skip the test in live mode * more description * rushx lint fix * rushx format commit 0f2fef6d1cca58dbe0e6c517bfebbeb423249f25 Author: Jose Manuel Heredia Hidalgo Date: Fri Aug 20 10:05:18 2021 -0700 [REST Paging] Allow setting different `itemName` and `nextLinkName` (#16956) * Allow setting different itemName and nextLinkName * Update name and types * only loop properties once commit 7e1ea599a670c223ff0061c4a9b6db056de73b01 Author: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com> Date: Fri Aug 20 14:43:16 2021 +0800 Update automation_generate.sh (#16986) * Update automation_generate.sh * Update automation_generate.sh commit 4d9c090f4e4c51975bb19dc1df79fe43a4d8a6a9 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Fri Aug 20 12:20:55 2021 +0800 fix-package-issue (#17004) * fix-package-issue * update commit 99343b42a09c2ce1bb4855c39bbe1dc55b3bf2be Author: Daniel Rodríguez Date: Thu Aug 19 21:36:00 2021 -0400 [Identity] Throwing if required parameters are not provided (#16846) Since I moved most of the processing to a common place (`nodeCommon.ts`), some of the requirements per credential were obscured. `ClientSecretCredential` and `ClientCertificateCredential` in particular where not throwing early if the parameters weren’t provided (which of course is possible if users bypass the parameter types, or if they use JavaScript). I’ve also added tests to confirm this behavior in the future. commit 15bc9ef658afe8d9b96a3f2e9d03cdbff25e7ddf Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Aug 19 13:02:03 2021 -0700 Remove old unused update changelog script (#16993) Co-authored-by: Wes Haggard commit 75d4aa16cab8d367f1223c8eb4207231b34a4ad3 Author: Deyaaeldeen Almahallawi Date: Thu Aug 19 15:17:05 2021 -0400 [Schema Registry] Add Nick as reviewer (#16991) commit badf61bef383d4a6fdaf9e29be5ff5048169fa14 Author: Ramya Rao Date: Thu Aug 19 11:08:39 2021 -0700 Update root readme to provide more clarity (#13255) commit f950f7dc88fbec4fc48b3b9c859750d68c34f430 Author: Daniel Jurek Date: Thu Aug 19 10:39:09 2021 -0700 Update Lanuage-Settings.ps1 to use exclusions for @azure/arm-keyvault and @azure/arm-sql (#16990) commit c65e17fe9e0a7d828515a0e3736322666c13a82e Author: Maor Leger Date: Thu Aug 19 09:14:31 2021 -0700 [KeyVault] - Add Key Rotation sample (#16977) commit a3ce432a448911ee4031832466eca6335d962c02 Author: Jeremy Meng Date: Thu Aug 19 06:13:25 2021 -1000 [ContainerRegistry] improve ref docs of public API (#16973) * Update ref docs of public API * Fix linting error commit 6b6f3fa83762b6ceacbe2f2a5c7c5f68b81696f4 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Aug 18 17:23:15 2021 -0700 Post release automated changes for containerregistry releases (#16959) Post release automated changes for azure-container-registry commit 799bdea3807f30801303095b1272a9bb09af73d7 Author: Jeremy Meng Date: Wed Aug 18 14:03:40 2021 -1000 Update `typings` to `types` in clean NPM scripts (#16965) - Our convention now is to use `types`. - Some packages output type definition files into `types` directory but the `clean` scripts still use `typings`. commit fc836e5d1dde6285188025c9e8571f68beaad07e Author: Jeremy Meng Date: Wed Aug 18 14:02:33 2021 -1000 [CredScan] replace password value with a replacement value (#16981) from the suppression list. commit ea06d10dd30dd4e77db5ef919a69f5c9e2aaabab Author: Daniel Rodríguez Date: Wed Aug 18 19:11:14 2021 -0400 [Identity] Incrementing the package version (#16908) * [Identity] Incrementing the package version * setting samples to the last released version of Identity * upgraded non-samples to 2.0.0-beta.6 * found a fix for the CI issue commit 7168bcc8088554fa55561c0a8881e1a1f9f4408f Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Aug 18 14:20:59 2021 -0700 Fix query batch processing (#16978) Co-authored-by: Wes Haggard commit 381eb6451c60d7e8e292e17e68c20573204e7aaf Author: Deyaaeldeen Almahallawi Date: Wed Aug 18 16:46:44 2021 -0400 [Schema Registry] add a code owner entry and assign it to myself (#16975) commit c2a26ac46b4289835a30d06445df257fff2e2bd0 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Aug 18 13:23:37 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1912 (#16972) * Attempt to purge all vaults, managed HSMs Reverts #1910. Vaults and managed HSMs are automatically purged on their purge date. The point was to purge them daily to preserve capacity. The default purge date is +90 days. * Add timeout and more logging * Pass required -Resource * Fix log message * Ensure the $Resource is correctly captured Added comment to new code explaining why, since ScriptBlock.GetNewClosure() is not working as expected. * Add -ErrorAction to Receive-Job Worked without terminating when run locally, but failed on the first error in the AzDO agent. * Use $using:r instead of creating ScriptBlock More idiomatic for passing ScriptBlocks to jobs. * Resolve PR feedback * Change default DeleteAfterHours to 120 Resolves #1917 * Use the Az cmdlets built-in -AsJob Co-authored-by: Heath Stewart commit 5caa22e803ed730279105293e01e3ae12cb8bf1e Author: Deyaaeldeen Almahallawi Date: Wed Aug 18 15:28:52 2021 -0400 [Schema Registry] bump versions (#16974) * bump versions * publish samples commit 0ea4f01db53447b534f08c1ed5678788441a45a2 Author: Deyaaeldeen Almahallawi Date: Wed Aug 18 13:56:30 2021 -0400 [Schema Registry] Add a whitespace in schema test case (#16964) * [Schema Registry] Add a whitespace in schema test case * add recordings * remove only * address feedback commit 39233837de15be6616bbc5177dfbc190ccefbb56 Author: Jeremy Meng Date: Wed Aug 18 07:47:21 2021 -1000 Remove ignored results in CredScan baseline (#16937) Now that we are down to only a dozen errors we want to report them and address them. commit 153723c1bf5e7b7536666e5cd9c46c9927bd4430 Author: Maor Leger Date: Wed Aug 18 10:45:01 2021 -0700 [KeyVault] - Regenerate KeyVault Admin using 7.3-preview (#16967) ## What - Regenerate KeyVault Admin using 7.3-preview - Remove the duplicated enums in accessControlModels ## Why - In order to add support to the latest data actions for RBAC - Now that generated code is not a `const enum` we can just re-export it directly instead of copying code Resolves #16563 commit 465bf33ef60171800eda80c27a21e8a4d7d35c4a Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Aug 18 10:23:22 2021 -0700 Post release automated changes for azure-schema-registry-avro (#16961) commit 44a435caa6a4c0fdaba2da9860b82a829711e592 Author: Maor Leger Date: Wed Aug 18 09:43:14 2021 -0700 [KeyVault] - Add support for Key Rotation (#16593) ## What - Add `getKeyRotationPolicy`, `rotateKey`, and `updateKeyRotationPolicy` to KeyClient - Model Key Rotation policy similarly to Certificate Policy - Add `rotate` permission to the arm template when deploying keyvault ## Why As part of 7.3 the KV crew is adding support for Key Rotation which we will need to model in our SDK. It is currently in preview but is planned for 7.3. As such, we have a few methods to model here: - Updating a key's rotation policy - Fetching a key's rotation policy - Rotating a key on-demand which will create a new version of the key In addition, since it requires the `/keys/rotate` permission, we need to add that to the list of permissions in our test resources. ## Callout As of 8/18/21 the model for rotation policy contains ISO8601 durations which we are modeling as string similar to our other libraries. That might change at the swagger level or it might change at the SDK level in the near future (decision TBD) commit 80ead03aa9b55012ac21cebf729f810b854863d2 Author: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com> Date: Wed Aug 18 14:15:39 2021 +0800 Update next-generation-quickstart.md (#16880) * Update next-generation-quickstart.md * Update next-generation-quickstart.md commit cf519825c0b1c5379907e78043885665d46e7626 Author: Maor Leger Date: Tue Aug 17 19:01:52 2021 -0700 [core] - Tracing errors should not fail the request (#16916) ## What - Ensure tracingPolicy succeeds even if tracing errors occur ## Why While it _is_ important that tracing works as expected we should not fail a request simply because tracing policy failed to create a span or process a span. One example of this error was #16447 where a OpenTelemetry incompatibility caused storage requests to fail. What we decided to do instead was log the underlying error and skip the failing operation. Resolves #16727 commit c5213a7ee37a6ebfea7726a5b4da4d2eec471b3c Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Aug 17 16:46:45 2021 -0700 Removing C:\Git\azure-sdk-tools\eng\common\scripts\FilterPoliCheckResults.ps1 as it was no longer used (#16962) Co-authored-by: Chidozie Ononiwu commit 45b9dbb7ac57089295b5bf298f3e8b0375fded2a Author: Deyaaeldeen Almahallawi Date: Tue Aug 17 19:05:59 2021 -0400 [Text Analytics] Rename sortby to orderby (#16963) commit 593147497f72307c8383177f9c9311983b3a9c89 Author: Jeremy Meng Date: Tue Aug 17 11:53:11 2021 -1000 [ContainerRegistry][Test] Apply MatrixFilters.Pool for weekly only (#16955) It was added for testing purpose when creating weekly pipeline and applies to nightly pipeline runs as well, which is not desired. This PR limits the filter to weekly pipeline. commit d5c79489919eeae5c63071e73dfd642fcdc51628 Author: Jose Manuel Heredia Hidalgo Date: Tue Aug 17 13:50:28 2021 -0700 Fix scanning url in README.MD (#16960) commit 85a04209b474b9ebbf208c155b87e35223e574e9 Author: Deyaaeldeen Almahallawi Date: Tue Aug 17 16:17:32 2021 -0400 [schema-registry-avro] Prepare release (#16958) commit be561cf833609feb763338a82efcbe5d103bf653 Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Tue Aug 17 14:40:16 2021 -0400 Update temp work around for dev exception (#16941) commit aa89c27628b22fefa52dad5014ba87beecc6827f Author: chradek <51000525+chradek@users.noreply.github.com> Date: Tue Aug 17 11:01:17 2021 -0700 [event-hubs] fix flaky consumer tests (#16929) commit d80e0fec202b7bfb41cc786f11865a6819d43a19 Author: chradek <51000525+chradek@users.noreply.github.com> Date: Tue Aug 17 10:28:27 2021 -0700 [service-bus] supdate long running stress test to use single sender (#16946) commit 3676c0c3fbbb0bd42020d70c9ebabaa41e9f066a Author: Deyaaeldeen Almahallawi Date: Tue Aug 17 13:04:58 2021 -0400 [Schema Registry] Add release date to changelog (#16953) commit cec131dbee7c84baebf43b863cec664c141e6541 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Aug 17 09:50:29 2021 -0700 Enable API review approval check for Java spring packages (#16952) Co-authored-by: praveenkuttappan commit 1d5944042f8c71c66c17fbd7f55510a294ceeee1 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Aug 16 21:17:13 2021 -0700 Automatic rush update recheck (#16928) commit c2baaf15e545998407b22b5cdfd2ed09131dff08 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Tue Aug 17 10:57:31 2021 +0800 remove arm-websubpub (#16907) commit 4da08a15a6fe25063854020cd7f8f685df4cd4ca Author: EmmaZhu-MSFT Date: Tue Aug 17 09:58:48 2021 +0800 Fix ESLint errors in storage-blob package. (#16881) commit e3839651095715f1ecebe7dfeb626355e4117422 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Aug 16 16:29:35 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1909 (#16939) * add test-proxy invocations to eng/common folder Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com> commit ddf6e766b9c55a0ab43c7a6e3335d31612277efc Author: Jeremy Meng Date: Mon Aug 16 10:03:53 2021 -1000 [ContainerRegistry] doc improvements (#16021) * Add example code snippets to update*Properties() ref doc * Add comments about `orderBy` options in README * Fix tags * Correct deleteImages sample code to keep three images instead of four * Address CR feedback * Update CHANGELOG for beta.4 release commit 5ce8704e27cdf83ed67f6fd00dd424b3afc3101c Author: Will Temple Date: Mon Aug 16 18:12:32 2021 +0000 Add C++ toolchain requirement to CONTRIBUTING.md (#16889) Adds this requirement to our CONTRIBUTING guide per discussions in #15940. commit ddf47d560204b4c13a46d5f3526ac71cb5e72599 Author: Ben Broderick Phillips Date: Mon Aug 16 14:06:33 2021 -0400 [stress testing] Update stress-test-addons chart version (#16934) commit 73d2032a95f6a880acde3cf6bc136b09941d02f6 Author: Daniel Jurek Date: Mon Aug 16 10:45:17 2021 -0700 Pin @azure/arm-appservice (#16933) commit 589ce99c13a16de07dd8e9dc2117cd3e44666d4d Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Aug 16 10:00:59 2021 -0700 Prevent wildcard expansion in git sparse checkout add (#16911) Co-authored-by: Ben Broderick Phillips commit 569b898dce03474c75c612c4d2d3c198cfd0c9dc Author: Ziheng Zhou(MSFT) Date: Tue Aug 17 00:29:47 2021 +0800 Fix Azure Core LRO Sample Issues (#16904) * update core lro sample * update core lro sample commit 47eb212ccd97112560effab4c54a83c629c075ff Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Aug 16 08:43:09 2021 -0700 Add support for 'files' configuration (#16918) Co-authored-by: Daniel Jurek commit e96ce090c577598220e52dc8eea94a0a8c895332 Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Mon Aug 16 09:57:16 2021 -0400 Update version dependency for dev (#16084) * Update version dependency for dev commit f0c2e8ec42a1f04eb1181df08f3a5c47d3de0e03 Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Mon Aug 16 09:56:15 2021 -0400 Update samples after a package release (#16621) commit 34831870635d146d370333f422909055eaa3ae22 Author: Harsha Nalluru Date: Fri Aug 13 18:49:53 2021 -0700 [Perf Tests] Update perf test projects to use the perf-test sdk-type (#16927) * Update sdk-type * update Getting Started * rushx format * rush format * update commands * Update sdk/storage/perf-tests/storage-blob-track-1/package.json * Update sdk/storage/perf-tests/storage-blob-track-1/package.json * Update sdk/storage/perf-tests/storage-file-share-track-1/package.json * Update sdk/storage/perf-tests/storage-file-share-track-1/package.json commit ca94e95c679e943d841f4aa33f5f517dabef4e9f Author: Deyaaeldeen Almahallawi Date: Fri Aug 13 20:47:08 2021 -0400 [@azure-rest/core-paging] Use @azure/core-paging's getPagedAsyncIterator (#16891) * [core-paging-rest] Use the core-paging helper in paginateResponse * format * lint * update core-paging dep ver * rerun extract api * address feedback commit d3a52ccec4a02f4e1c287c6d939a7b7dec729cba Author: Harsha Nalluru Date: Fri Aug 13 16:40:38 2021 -0700 [Cred Scan] Add more suppressions (#16703) * Supress azure_client_secret * add more suppressions * move to file section * Wes's feedback * update file name * reuse azure_client_secret * convert to same format commit 5c7d7843c9efb19ce3b1558a5c4e3afdcf11f26e Author: Deyaaeldeen Almahallawi Date: Fri Aug 13 18:57:18 2021 -0400 [core-paging] make the page link type generic (#16917) * [core-paging] make the page link type generic * update tests * address feedback commit 628bcc6c6280885978a2d6e67c6e566f8741e716 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 13 15:33:05 2021 -0700 Fix resource clean-up script (#16920) - Fix rg.Name to rg.ResourceGroupName - Add more verbose logging for better debugging - Handle deleted resource groups when gathering puragable resource - Remove coerce now that we are collecting in functions Co-authored-by: Wes Haggard commit 12d685047c3a80063769fbf77040c9e8a44dcac7 Author: Maor Leger Date: Fri Aug 13 15:26:06 2021 -0700 [KeyVault] - Deploy attestation service as a test resource (#16848) ## What - When deploying a Managed HSM, deploy a mock attestation service from the EngSys managed Docker container - Update our Secure Key Release to work with a dynamically deployed attestation service ## Why For Secure Key Release we require an additional live resource - a service that can generate and sign tokens as well as provide the OIDC Configuration to discover the jwks URI. We currently use a static test fixture that I have spun up and deployed to Azure App Service; however, that is not sustainable and really not in line with our [guidelines on test assets](https://azure.github.io/azure-sdk/general_implementation.html#general-testing-5) This allows us to maintain an image and keep the code centralized and in a repository owned by EngSys. See https://github.com/Azure/azure-sdk-tools/tree/main/tools/keyvault-mock-attestation for the source code for the container. commit 9c2a36ca9317386cfa42c2885f341ee1aaccace2 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 13 15:22:43 2021 -0700 Add Rest Method checks to Prepare-Release (#16921) Co-authored-by: Wes Haggard commit b79e71d94cd376fd272166720b8689fe65006700 Author: Mike Harder Date: Fri Aug 13 15:03:11 2021 -0700 Add core-paging@^1.2.0-alpha to common-versions (#16915) - Workaround for #16923 commit 9db014e9ced0d029101fd720e250cb5caa656c6e Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 13 14:04:58 2021 -0700 Increment version for cosmosdb releases (#16914) Increment package version after release of azure-cosmos commit a8478b98714e30b2c951fd19cb56946c51fea33f Author: Maor Leger Date: Fri Aug 13 13:18:20 2021 -0700 [core] - Add information about Application Insights (#16892) This documentation PR adds information to core readme about Application Insights for JS and links to getting started with Application Insights Resolves #15420 Related: https://github.com/Azure/azure-sdk-for-net/pull/22542 commit 52bde468aa50459452a56ca25c74d60ac1d513e4 Author: Harsha Nalluru Date: Fri Aug 13 12:13:49 2021 -0700 rush update --full 🐱‍👤 (#16895) * lock file * lock file commit 38b7f4ebfd8c8db97d80c2cf20943aaf13702792 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 13 11:21:07 2021 -0700 Increment version for sql releases (#16903) Increment package version after release of azure-arm-sql commit 58f17575de2a7ab3873d5f1fcf4a95007a24b688 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri Aug 13 11:08:36 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1876 (#16893) * rebase * Resolve conflict Co-authored-by: Albert Cheng commit 5d3b6fcb38e3a7f7177178ce6fa7434848d9c127 Author: Ben Broderick Phillips Date: Fri Aug 13 13:35:28 2021 -0400 [stress testing] Improve dockerfile and ARM template for service bus (#16910) * [stress testing] Fix service bus dockerfile directory add * Build service bus stress test arm template with bicep commit dcc43d8d902e80b7cb7cdb7a72fffd12d0999a78 Author: Zachary Foster Date: Fri Aug 13 13:23:21 2021 -0400 Adds changelog entry (#16909) commit 3cfbb8b08c4a53a107b2dc1b48e68f9cbc786d9d Author: Zachary Foster Date: Fri Aug 13 12:46:10 2021 -0400 [Cosmos] Adds transactional batch (#16838) * Adds transactional batch * changelog commit fef5493b6e20340d018fbd5ebab1374c4de98ce9 Author: Ben Broderick Phillips Date: Fri Aug 13 12:30:28 2021 -0400 Refactor service bus stress tests to use stress test package format (#16689) * Re-organize eh stress files for stress test layout * Add service bus stress test helm chart * First pass generating stress job for each scenario * Deep copy global template scope in stress test range loop * Updates and deployment files for service bus stress * Use base arm template * fix helm template and docker build * Final fixes to get service bus stress tests working * [stress test] Update to use built-in scenario range addon * [stress test] Minor fixes * Update stress test program locations * Run prettier over service bus stress test files commit 27ca49b1c659e22861f04ed8355ff7421645ade7 Author: Zachary Foster Date: Fri Aug 13 11:22:04 2021 -0400 [Cosmos] Migrate to samples v2 (#16486) * samples v2 wip * Fix more types * Samples v2 migration * sample CI readme * more samples fixes * fix link * Fix broken links in sample output * Fix lint, tsdoc ignored * undo lint fix changes * remove from lint * Redo directories * key * skipFolder true * Skip * move skip to top * Finish samples renames and locatings * Try filename * Fix path commit c6a550926049eb9ccc8057dc73489cbc7019ed4d Author: Zachary Foster Date: Fri Aug 13 10:23:29 2021 -0400 Adds reporter to cosmos tests (#16866) commit 49ec3a1b7c752d82e73568bf0051f177b561de8c Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Fri Aug 13 13:29:44 2021 +0800 appservice-track2 (#16897) * appservice-track2 * appservice-track2 commit 50a1e75c732f1250c1891f0dd4e3d90e0a64e76d Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Fri Aug 13 13:26:38 2021 +0800 update (#16900) commit 73c0421d4ad56de4922dc09e6a1be32822c7b9d4 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Aug 12 21:26:11 2021 -0700 Automatic rush update recheck (#16899) commit 7db38f1f2d40d54a0f5996e7a1a527caa701936b Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Aug 12 19:50:59 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1894 (#16896) * Purge Key Vaults after deleting resource group * Resolve PR feedback * Purge Key Vaults and Managed HSMs * Clean up all purgeable KVs and MHSMs * Ignore null/empty purgeable resources * Resolve PR feedback * Resolve PR feedback * Fix logging, process each item when collection piped * Remove repo-specific KV purge Co-authored-by: Heath Stewart commit 4960638dce17502645b67a720656928616fd9fc3 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Fri Aug 13 10:26:36 2021 +0800 sql-track2 (#16778) * sql-track2 * update * update readme file * update * update commit 82a1e5bb452b0b1b6aa6d1341d560469f073624f Author: Jose Manuel Heredia Hidalgo Date: Thu Aug 12 16:22:35 2021 -0700 Update synapse versions (#16888) * Increment package version after release of azure-synapse-managed-private-endpoints * Increment package version after release of azure-synapse-access-control * Increment package version after release of azure-synapse-artifacts * Increment package version after release of azure-synapse-spark * Fix package metadata and add missing version updates Co-authored-by: azure-sdk commit b8f21fc9ca3675c73f6eea6ba0942eeb8084309d Author: Daniel Rodríguez Date: Thu Aug 12 17:28:04 2021 -0400 [Identity] cert.pem to fake-cert.pem (#16844) Renaming the cert to make it easier to see it’s fake. Does this help? commit 18db8dcbef7895d0913c1cd862e0b4510bd9ab36 Author: Ramya Rao Date: Thu Aug 12 11:55:32 2021 -0700 Clarify support policy in Identity readme (#16886) Some of the clarity around support policy did not get added to the Identity readme like they were added in other packages. This PR fixes that problem commit 44eb526c45354ece18a88877a59f9ee1df2e12d4 Author: Deyaaeldeen Almahallawi Date: Thu Aug 12 14:37:50 2021 -0400 [Batch] Rollback the support for TokenCredential (#16870) * [Batch] Rollback the support for TokenCredential * address feedback * edit docstring * Update sdk/batch/batch/src/batchServiceClientContext.ts Co-authored-by: Ramya Rao Co-authored-by: Ramya Rao commit 2f5be4d4220a9aaa67adc8e8d531a862dfbddf90 Author: Deyaaeldeen Almahallawi Date: Thu Aug 12 13:49:24 2021 -0400 [Batch] Include types in shipped package (#16874) commit 8da961d0dff47598288c041765d143e405f864b5 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu Aug 12 10:31:42 2021 -0700 Increment package version after release of azure-data-tables (#16854) commit 95eb829f3c10b837e30f6ffa24b97f06fee46a28 Author: colawwj <70128817+colawwj@users.noreply.github.com> Date: Thu Aug 12 16:54:52 2021 +0800 keyvault-track2 (#16855) * keyvault-track2 * update readme file * update * update * update commit 58ae71752e2d81bb9956e2c72bd2e3e195f316cf Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Aug 11 23:07:35 2021 -0700 Increment version for search releases (#16865) * Increment package version after release of azure-search-documents * Update dependency in perf test package Co-authored-by: Sarangan Rajamanickam commit f931704f53aebfb544183151b3f4e57073378f04 Author: Harsha Nalluru Date: Wed Aug 11 19:21:51 2021 -0700 [Perf framework] Use Proxy tool to mock/replay the requests (#16518) * test-proxy in options * recordingClient from recorder-new * getRecordingClient public method * blobServiceClient uses getRecordingClient * not browser * checkpoint * add login steps in getting started * checkpoint * NaN bug fix * remove temp-location note * logs and minor tweaks - some bug at playback * remove logs * update options * rushx format * fix sendRequest * removing unneeded details * getting started and removing console.log * improve type readability * do not redeclare static PerfStressTest.recorder * rushx format * simplified tsconfig * create project * create project * simple and batch tests * core-v2 prototype with addPolicy * readem disclaimer * Address Mike's feedback * rename recorder to testProxyHttpClient * rename * fix build failures * rushx format * fix test * readme and getting started * pnpm-lock file * rename policy * swap v1 and v2 * bug fix * update getting started * update getting started * rushx format * changelog * Scott says no need to login anymore * Add workflow in comments * description * pnpm-lock file * RecordingStateManager * URLBuilder -> URL * rushx format * readme * lock file * Update sdk/test-utils/perfstress/src/options.ts Co-authored-by: Mike Harder * configureClientOptionsCoreV1 & configureClient * update types * comments * getting started * testProxyClient is not set, please make sure the client/options are configured properly. * if (!request.headers.get("x-recording-upstream-base-uri")) set upstream uri * Add undici * Investigate hanging docker or image (#33) * getting started * testProxyClient is not set, please make sure the client/options are configured properly. * if (!request.headers.get("x-recording-upstream-base-uri")) set upstream uri * Add undici * checkpoint * make core-v2 client identical to core-v1 except for sendReq * update error message * formatting * TestProxyHttpClientV1 depends on V2 * rushx format * Mike's final minor feedback * For corev1, extend TestProxyHttpClient instead of DefaultHttpClient * update tests file * no instaceof checks * move to http.request * Jeff's feedback * CachedProxyClients * keep clients on the test class * bad merge conflict resolution * Update sdk/test-utils/perfstress/GettingStarted.md * final minor feedback * remove CachedProxyClients wrapper Co-authored-by: Jose Manuel Heredia Hidalgo Co-authored-by: Mike Harder commit a78a4c8b8f3a0cfb1352c7ec7e1dddb219facc96 Author: Deyaaeldeen Almahallawi Date: Wed Aug 11 21:13:46 2021 -0400 Upgrade puppeteer dep to ^10.2.0 (#16864) commit 4a01d1279092a0c5b119c5b24391f4beb25c77c8 Author: Deyaaeldeen Almahallawi Date: Wed Aug 11 18:47:18 2021 -0400 Fix component governance warnings (#16852) * Fix component governance warnings * remove nodeauth dep in container registry * run rush update --full to remove nodeauth from our pnpm-lock commit 18613d00faf6c2a5583d125a540e222b611d8452 Author: Will Temple Date: Wed Aug 11 21:57:01 2021 +0000 [formrecognizer] Fix CHANGELOG (#16868) This blocked our release after approving it. commit fc418f7cd640165bd50249bd80ac2a30c0a24995 Author: Deyaaeldeen Almahallawi Date: Wed Aug 11 17:10:50 2021 -0400 [Text Analytics] bump core-paging dep version (#16867) commit d218d4d64dd8ae7f34b7ede3830eb59ffee2592f Author: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Wed Aug 11 17:09:42 2021 -0400 Include perf tests in rush jobs like lint and foramt (#16705) * Include perf tests in rush jobs like lint and format commit 2f0fffdbbf83e44ea6f45c3f6a7b4ccc74314505 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Aug 11 13:37:07 2021 -0700 Sync eng/common directory with azure-sdk-tools for PR 1866 (#16847) * Deploy for stress tests at resource group scope * Automatically compile bicep files in stress test deploy script Co-authored-by: Ben Broderick Phillips commit 8803a0d521c644b009ff5eb2d6e22e272a8c8dbe Author: Deyaaeldeen Almahallawi Date: Wed Aug 11 15:58:03 2021 -0400 [Batch] Fix build (#16845) commit e22c8993b53a558e25d9c1afdc35e0346fb49e17 Author: baffyntiamoah <57581664+baffyntiamoah@users.noreply.github.com> Date: Wed Aug 11 12:23:11 2021 -0400 Implementation and tests for TableCheckpointStore (#16685) * implementation of tablecheckpointsore * renamed file to .spec.ts * updated tablecheckpointstore implementation * updated tests for listownerships * changed return to print in listOwnerships * removed unnecessary comments * formatted files * updated tests * updated claim ownership * updated tablecheckpointstore * updated 'updateCheckpoints' * updated updatecheckpoints * updated updatecheckpointstore * wrote tests for updatecheckpoint * update tablechcekpointstore * updated tablecheckpointstore * implemented claimowenership * added nyc to testnode * replaced export * deleted temp folder from common * run rush update * updated tableCheckpointstore * fixed testUtils * changed let to const * run npm format * renamed customCheckpoint * implemented updateCheckpoint * changed format for partitionKey * updated claimownership * changed checkpoint entity format * updated claimownership * implemented tests for claimOwnership * wrote tests for claimOwnership * implemented claimownership * removed space * updated table version * added more tests for claimOwnership * added tests to claimownership * run rushx format * changed date to timetsamp * foramtted files * Update sdk/eventhub/eventhubs-checkpointstore-table/src/tableCheckpointStore.ts Co-authored-by: chradek <51000525+chradek@users.noreply.github.com> * updated implementation * corrected files * updated tests * updated test * added tests * updated tests * formatted files * mutated ownership list * updated tests * Update sdk/eventhub/eventhubs-checkpointstore-table/src/tableCheckpointStore.ts Co-authored-by: chradek <51000525+chradek@users.noreply.github.com> * Update sdk/eventhub/eventhubs-checkpointstore-table/src/tableCheckpointStore.ts Co-authored-by: chradek <51000525+chradek@users.noreply.github.com> * removed extra space * formatted files * [eventhubs-checkpointstore-table] add STORAGE_ACCOUNT_NAME and STORAGE_ACCOUNT_KEY outputs to test-resources for running live tests * updated tests * format * added sample.env file * updated tests * updated tests * reverted changes Co-authored-by: t-bntiamoah@microsoft.com Co-authored-by: chradek <51000525+chradek@users.noreply.github.com> Co-authored-by: Christopher Radek commit d87c7d513c3fc7fe7addd2c22db2fb856e8129f7 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed Aug 11 09:22:21 2021 -0700 Automatic rush update recheck (#16857) commit a2d2bf061f92c27a15124c2a263f3e04e5a99c7d Author: Maor Leger Date: Tue Aug 10 20:21:42 2021 -0700 [KeyVault] - Delete and purge KV and MHSM after live tests (#16819) ## What - Add a script to find, delete, and purge any key vaults or managed HSMs within the test resource group ## Why Quotas and costs - both Key Vault and Managed HSM have soft delete enabled by default (which cannot be disabled). This means that deleting the resource group is not sufficient, and purging the resource is necessary in order to truly delete it. We already set the softDeleteRetentionInDays parameter to 7 days (the minimum allowed) but with all the live test runs we are still collecting a large number of resources in a soft-deleted state. For KV - We will soon have a hard limit of 1000 soft deleted keyvaults per subscription and we are at a much higher number than that today. For MHSM - There is a 5 MHSM per region per subscription limit which we will easily exceed if we don't purge them. ## Callouts There are no PowerShell Cmdlets that let you purge a soft deleted MHSM yet, so until they're available I am using the Azure CLI like we did during deployment. commit 11b1ce38fd08f03e48cc78189f230817f4d49b43 Author: Jose Manuel Heredia Hidalgo Date: Tue Aug 10 18:19:45 2021 -0700 Synapse August release (#16841) * Re-generate Artifacts * Vnet and Spark * Access control * Synapse Monitoring * Fix tests and address comments * Remove monitoring changes * update changelog * Fix types commit 07fe82b6c12a8616dd7e9fc2e2684d479d55a351 Author: Daniel Rodríguez Date: Tue Aug 10 20:19:47 2021 -0400 [Identity] Removed empty changelog section (#16853) I forgot to remove this empty section in the changelog file! commit fbd4c79610e70e180f66bae21c35e41a2d157eed Author: Deyaaeldeen Almahallawi Date: Tue Aug 10 20:03:14 2021 -0400 [core-paging] Add getPagedAsyncIterator (#16774) * [core-paging] Add getPagedAsyncIterator * update changelog * update imports in text analytics * address feedback * delete file * re-add file * address feedback * address feedback * edit * edit * rename PagedAsyncIteratorOptions< to GetPagedAsyncIteratorOptions * simplifying the interface * use maxPageSize in TA * address Jeff's feedback * fix CI failure * address feedback * update client code in text analytics * address feedback commit a2456d8b2a574a893a9eb528afca4e2f477ddcc2 Author: Jose Manuel Heredia Hidalgo Date: Tue Aug 10 15:36:39 2021 -0700 [Tables] Fix changelog (#16849) Had some empty sections and a duplicate entry commit 934968168f7464d5a5aa8e8717d1acb7cc77dcd0 Author: Ramya Rao Date: Tue Aug 10 14:18:11 2021 -0700 Update ms-rest-js dependency to allow use of latest ms-rest-nodeauth with loganalytics (#16832) * Update ms-rest-js dependency to allow use of latest ms-rest-nodeauth with loganalytics * Update package version in context file commit 098bf2e9f921deaedad29c0add0c154d8a3eadc4 Author: Sarangan Rajamanickam Date: Tue Aug 10 14:04:08 2021 -0700 [search-documents] Migrated Samples to the new pipeline (#16804) * Migrated Samples to the new pipeline * Formatted the file commit 00b8d1ac7d0e9175ff91f1677aed8d3e8aa99dfd Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Aug 10 13:26:55 2021 -0700 Automatic rush update recheck (#16665) commit b98016a3964b0c8bf98ad11586631998c5f27a31 Author: Jose Manuel Heredia Hidalgo Date: Tue Aug 10 12:13:14 2021 -0700 Fix core-client-lro-rest `sdk-type` (#16817) * update type * Add lint rule * Skip track1 packages * Fix lint commit 3eb872b82201244335a7d31dac35601c072a41e0 Author: KarishmaGhiya Date: Tue Aug 10 11:45:06 2021 -0700 add Identity samples (#16698) commit 35b9da1cf37fea0710417e1f02ae7b7034cf90bb Author: Daniel Jurek Date: Tue Aug 10 11:09:13 2021 -0700 Add @azure/batch to packge exclusions per https://github.com/Azure/azure-sdk-for-js/issues/16809 (#16810) commit 428d475ccb30c981b409d01406fa00aeb078e659 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Tue Aug 10 10:55:49 2021 -0700 Increment version for keyvault releases (#16837) Increment package version after release of azure-keyvault-admin commit 63d05e87980237473b9acb8345e1c0c9fe2d56d0 Author: KarishmaGhiya Date: Mon Aug 9 19:33:28 2021 -0700 Add samples link for multiple workspaces (#16825) commit fb755e31805106a016e42da053ac596a1b0f4a72 Author: Daniel Rodríguez Date: Mon Aug 9 16:27:48 2021 -0400 [Identity] Test improvements (#16821) `path.posix.join` changes `https://` to `https:/`. That happens to be automatically fixed by our core, so the tests didn’t break before. This PR ensures we always send a reasonable URL to the core. We also test with a non-default environment, to make sure the tests don’t accidentally use the default values. Thanks to @chlowell for the feedback! commit 7136266d7c22f9bfdf80dd6dc6ffe4ec1856cb49 Author: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Mon Aug 9 13:19:56 2021 -0700 Increment version for textanalytics releases (#16822) Increment package version after release of azure-ai-text-analytics commit 9254912b9dab0ca1142e5160978685aeb9de8a60 Author: Jeff Fisher Date: Mon Aug 9 13:11:12 2021 -0700 [storage-file-datalake][storage-blob] Allow storage-blob to accept Pipeline instances from other storage packages (#16784) * Widen Pipeline to interface in storage-blob constructors and update storage-file-datalake to take advantage of this. commit 51c473b2cf318f61fb6342da9e07677f969f7990 Author: Daniel Rodríguez Date: Mon Aug 9 15:36:34 2021 -0400 [Identity] Enabling CP1 client capabilities (#15390) This PR enables CP1 client capabilities by default, unless disabled by the `AZURE_IDENTITY_DISABLE_CP1` environment variable. Fixes https://github.com/Azure/azure-sdk-for-js/issues/14929 commit eb667dd18fa16b2a9de376f568dbec08755785c6 Author: Deyaaeldeen Almahallawi Date: Mon Aug 9 15:25:36 2021 -0400 [Text Analytics] Update changelog (#16820) commit b9f9bb5cf73d783145224c03ac7dae0d98cab3aa Author: Daniel Rodríguez Date: Mon Aug 9 14:46:33 2021 -0400 [Identity] Renamed AZURE_POD_IDENTITY_TOKEN_URL -> AZURE_POD_IDENTITY_AUTHORITY_HOST (#16682) * [Identity] Renamed AZURE_POD_IDENTITY_TOKEN_URL -> AZURE_POD_IDENTITY_AUTHORITY_HOST * rest of the changes * works independently of extra backslashes commit 96c3da985faca862a6ca594669ba8cc5638ee29d Author: Matt Ellis Date: Mon Aug 9 10:53:07 2021 -0700 [EventGrid] Add new ContainerService system event (#16805) commit 71a793e036e38ae5a40e264d28ba522d563f5d55 Author: KarishmaGhiya Date: Mon Aug 9 10:45:59 2021 -0700 Identity application credential (#16787) commit b8956201e6fa8ce345cb46d280949ff6042dec32 Author: Jose Manuel Heredia Hidalgo Date: Mon Aug 9 10:24:54 2021 -0700 Prepare Tables for August release (#16816) * Prepare Tables for August release * Update PR link commit 1c10ff3613881d51c405efa8b9b2c077b5786e7d Author: KarishmaGhiya Date: Mon Aug 9 01:24:13 2021 -0700 Monitor query readme (#16791) commit e9cfd2655e70a4afc3addbe02ad3a210a75ea83c Author: Maor Leger Date: Sun Aug 8 12:06:46 2021 -0700 [storage] - Remove unnecessarily extending CommonOptions (#16801) ## What - change BlobBatchSubmitBatchOptionalParams to no longer extend CommonOptions - remove the declaration of `abortSignal` in BlobBatchSubmitBatchOptionalParams ## Why BlobBatchSubmitBatchOptionalParams already extends coreHttp.OperationOptions indirectly through ServiceSubmitBatchOptionalParams and does not need to pull tracingOptions from CommonOptions anymore. It also doesn't need to re-declare abortSignal as it gets that from OperationOptions as well. So nothing changes, but we also know that enums which come in from tracingOptions are compatible but not identical, so when extending both TS will throw an error if core-tracing versions are different. See #15285 This change resolves the above in the only known case of this in our repo, cleans up the unnecessary duplication, and does not change the public API. --- .devcontainer/Dockerfile | 2 +- .devcontainer/devcontainer.json | 2 +- .gitattributes | 3 + .github/CODEOWNERS | 502 +- .prettierignore | 1 + .scripts/automation_generate.sh | 2 +- CONTRIBUTING.md | 13 +- README.md | 39 +- .../rush/{pnpmfile.js => .pnpmfile.cjs} | 0 common/config/rush/common-versions.json | 48 +- common/config/rush/pnpm-lock.yaml | 11261 ++-- common/scripts/install-run.js | 11 +- common/smoke-test/Initialize-SmokeTests.ps1 | 37 +- common/smoke-test/run.js | 2 +- common/tools/dev-tool/package.json | 5 +- common/tools/dev-tool/src/commands/index.ts | 4 +- .../dev-tool/src/commands/samples/publish.ts | 2 +- .../dev-tool/src/config/rollup.base.config.ts | 4 +- .../dev-tool/test/resolveProject.spec.ts | 4 +- .../src/configs/index.ts | 1 + .../src/rules/index.ts | 2 + .../src/rules/ts-package-json-sdktype.ts | 57 + .../eslint-plugin-azure-sdk/tests/plugin.ts | 1 + documentation/Bundling.md | 3 +- documentation/next-generation-quickstart.md | 44 +- eng/.docsettings.yml | 4 +- eng/CredScanSuppression.json | 56 +- .../TestResources/New-TestResources.ps1 | 332 +- .../TestResources/New-TestResources.ps1.md | 180 +- eng/common/TestResources/README.md | 16 +- .../TestResources/Remove-TestResources.ps1 | 38 +- eng/common/Update-Change-Log.ps1 | 153 - .../matthews/partials/head.tmpl.partial | 8 +- .../templates/steps/cache-ps-modules.yml | 6 +- .../templates/steps/check-spelling.yml | 1 + .../steps/daily-dev-build-variable.yml | 2 +- .../templates/steps/detect-api-changes.yml | 19 + .../steps/eng-common-workflow-enforcer.yml | 2 +- .../steps/set-test-pipeline-version.yml | 4 +- .../templates/steps/sparse-checkout.yml | 6 +- .../templates/steps/verify-changelog.yml | 8 +- eng/common/scripts/ChangeLog-Operations.ps1 | 77 +- eng/common/scripts/Collect-ChangeLogs.ps1 | 61 - eng/common/scripts/Create-APIReview.ps1 | 8 +- eng/common/scripts/Detect-Api-Changes.ps1 | 119 + eng/common/scripts/FilterPoliCheckResults.ps1 | 103 - .../Helpers/DevOps-WorkItem-Helpers.ps1 | 66 +- .../scripts/Helpers/Resource-Helpers.ps1 | 195 + eng/common/scripts/Prepare-Release.ps1 | 7 + eng/common/scripts/SemVer.ps1 | 31 +- eng/common/scripts/Update-ChangeLog.ps1 | 13 +- .../Update-DevOps-Release-WorkItem.ps1 | 2 + eng/common/scripts/Update-DocsMsPackages.ps1 | 4 + eng/common/scripts/Verify-ChangeLog.ps1 | 1 + .../check-spelling-in-changed-files.ps1 | 346 +- eng/common/scripts/common.ps1 | 1 + .../stress-testing/deploy-stress-tests.ps1 | 47 +- .../scripts/trust-proxy-certificate.ps1 | 6 + eng/common/testproxy/apply-dev-cert.sh | 31 + eng/common/testproxy/docker-start-proxy.ps1 | 83 + eng/common/testproxy/dotnet-devcert.crt | 20 + eng/common/testproxy/dotnet-devcert.pfx | Bin 0 -> 2445 bytes eng/common/testproxy/localhost.conf | 23 + eng/common/testproxy/test-proxy-docker.yml | 15 + eng/common/testproxy/test-proxy-tool.yml | 47 + eng/ignore-links.txt | 4 +- eng/js.gdnbaselines | 4380 -- eng/pipelines/aggregate-reports.yml | 32 +- eng/pipelines/docindex.yml | 3 - eng/pipelines/templates/jobs/smoke.tests.yml | 33 +- .../templates/stages/archetype-js-release.yml | 54 +- .../templates/steps/use-node-test-version.yml | 6 +- eng/pipelines/weekly_automation.yml | 31 + eng/scripts/Language-Settings.ps1 | 10 +- eng/scripts/cleanup-npm-next-tag.ps1 | 4 +- eng/scripts/helpers/npm-helpers.ps1 | 2 +- eng/tools/analyze-deps/package-lock.json | 6 +- eng/tools/analyze-deps/package.json | 2 +- eng/tools/eng-package-utils/update-samples.js | 58 + eng/tools/rush-runner.js | 60 +- eng/tools/versioning/set-dev.js | 9 +- package.json | 1 + rush.json | 82 +- samples/Bundling/rollup/js/package.json | 4 +- samples/Bundling/rollup/ts/package.json | 4 +- .../agrifood-farming-rest/karma.conf.js | 2 +- .../agrifood-farming-rest/package.json | 8 +- .../test/public/farmHeirarchy.spec.ts | 2 +- .../test/public/sateliteFlow.spec.ts | 2 +- .../test/public/smoke.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- .../ai-anomaly-detector/karma.conf.js | 2 +- .../ai-anomaly-detector/package.json | 7 +- .../test/anomalydetector.spec.ts | 2 +- .../test/utils/recordedClients.ts | 2 +- .../app-configuration/CHANGELOG.md | 13 + .../app-configuration/README.md | 18 + .../app-configuration/package.json | 11 +- .../samples/v1/javascript/package.json | 2 +- .../samples/v1/typescript/package.json | 2 +- .../src/appConfigCredential.ts | 5 +- .../src/appConfigurationClient.ts | 2 +- .../generated/src/appConfigurationContext.ts | 2 +- .../test/internal/http.spec.ts | 2 +- .../test/public/auth.spec.ts | 2 +- .../test/public/etags.spec.ts | 2 +- .../test/public/featureFlag.spec.ts | 2 +- .../test/public/index.readonlytests.spec.ts | 2 +- .../test/public/index.spec.ts | 12 +- .../test/public/secretReference.spec.ts | 2 +- .../test/public/throwOrNotThrow.spec.ts | 2 +- .../test/public/utils/testHelpers.ts | 2 +- .../app-configuration/tests.yml | 2 + .../perf-tests/app-configuration/package.json | 12 +- .../test/listSettings.spec.ts | 2 +- .../app-configuration/tsconfig.json | 9 +- sdk/appconfiguration/test-resources.json | 75 +- .../applicationinsights-query/README.md | 6 +- sdk/appservice/arm-appservice/CHANGELOG.md | 27 + .../arm-appservice/LICENSE} | 4 +- sdk/appservice/arm-appservice/README.md | 147 +- sdk/appservice/arm-appservice/_meta.json | 7 + .../arm-appservice/api-extractor.json | 18 + sdk/appservice/arm-appservice/package.json | 82 +- .../review/arm-appservice.api.md | 10632 ++++ .../arm-appservice/rollup.config.js | 211 +- sdk/appservice/arm-appservice/src/index.ts | 13 + sdk/appservice/arm-appservice/src/lroImpl.ts | 34 + .../appServiceCertificateOrdersMappers.ts | 290 - .../models/appServiceEnvironmentsMappers.ts | 310 - .../src/models/appServicePlansMappers.ts | 292 - .../certificateOrdersDiagnosticsMappers.ts | 286 - .../certificateRegistrationProviderMappers.ts | 22 - .../src/models/certificatesMappers.ts | 286 - .../src/models/deletedWebAppsMappers.ts | 286 - .../src/models/diagnosticsMappers.ts | 289 - .../domainRegistrationProviderMappers.ts | 22 - .../src/models/domainsMappers.ts | 292 - .../src/models/globalMappers.ts | 285 - .../arm-appservice/src/models/index.ts | 35151 ++++------- .../arm-appservice/src/models/mappers.ts | 23663 ++++---- .../arm-appservice/src/models/parameters.ts | 1448 +- .../src/models/providerMappers.ts | 297 - .../src/models/recommendationsMappers.ts | 286 - ...resourceHealthMetadataOperationsMappers.ts | 286 - .../src/models/staticSitesMappers.ts | 295 - .../src/models/topLevelDomainsMappers.ts | 289 - .../src/models/webAppsMappers.ts | 327 - .../operations/appServiceCertificateOrders.ts | 1894 +- .../src/operations/appServiceEnvironments.ts | 6860 ++- .../src/operations/appServicePlans.ts | 3182 +- .../certificateOrdersDiagnostics.ts | 331 +- .../certificateRegistrationProvider.ts | 163 +- .../src/operations/certificates.ts | 653 +- .../src/operations/deletedWebApps.ts | 383 +- .../src/operations/diagnostics.ts | 2843 +- .../operations/domainRegistrationProvider.ts | 163 +- .../arm-appservice/src/operations/domains.ts | 1677 +- .../arm-appservice/src/operations/global.ts | 211 +- .../arm-appservice/src/operations/index.ts | 12 +- .../src/operations/kubeEnvironments.ts | 594 + .../arm-appservice/src/operations/provider.ts | 1151 +- .../src/operations/recommendations.ts | 1795 +- .../resourceHealthMetadataOperations.ts | 841 +- .../src/operations/staticSites.ts | 6298 +- .../src/operations/topLevelDomains.ts | 397 +- .../arm-appservice/src/operations/webApps.ts | 49335 +++++++--------- .../appServiceCertificateOrders.ts | 340 + .../appServiceEnvironments.ts | 725 + .../operationsInterfaces/appServicePlans.ts | 433 + .../certificateOrdersDiagnostics.ts | 47 + .../certificateRegistrationProvider.ts | 27 + .../src/operationsInterfaces/certificates.ts | 92 + .../operationsInterfaces/deletedWebApps.ts | 49 + .../src/operationsInterfaces/diagnostics.ts | 368 + .../domainRegistrationProvider.ts | 27 + .../src/operationsInterfaces/domains.ts | 231 + .../src/operationsInterfaces/global.ts | 48 + .../src/operationsInterfaces/index.ts | 26 + .../operationsInterfaces/kubeEnvironments.ts | 122 + .../src/operationsInterfaces/provider.ts | 82 + .../operationsInterfaces/recommendations.ts | 204 + .../resourceHealthMetadataOperations.ts | 93 + .../src/operationsInterfaces/staticSites.ts | 963 + .../operationsInterfaces/topLevelDomains.ts | 51 + .../src/operationsInterfaces/webApps.ts | 6889 +++ .../src/webSiteManagementClient.ts | 1843 +- .../src/webSiteManagementClientContext.ts | 90 +- sdk/appservice/arm-appservice/tsconfig.json | 4 +- sdk/appservice/ci.yml | 29 + sdk/attestation/attestation/CHANGELOG.md | 10 + sdk/attestation/attestation/karma.conf.js | 2 +- sdk/attestation/attestation/package.json | 15 +- .../src/generated/generatedClientContext.ts | 2 +- .../swagger/{readme.md => README.md} | 2 +- .../browser/attestationTests.browser.spec.ts | 2 +- .../test/public/attestationTests.spec.ts | 2 +- .../test/public/attestationTokenTests.spec.ts | 2 +- .../test/public/policyGetSetTests.spec.ts | 2 +- .../policyManagementGetSetTests.spec.ts | 2 +- .../test/public/tokenCertTests.spec.ts | 2 +- .../attestation/test/utils/recordedClient.ts | 2 +- .../arm-authorization/CHANGELOG.md | 26 + .../arm-authorization/LICENSE} | 4 +- sdk/authorization/arm-authorization/README.md | 144 +- .../arm-authorization/_meta.json | 7 + .../arm-authorization/api-extractor.json | 18 + .../arm-authorization/package.json | 77 +- .../review/arm-authorization.api.md | 1297 + .../arm-authorization/rollup.config.js | 211 +- .../src/authorizationManagementClient.ts | 114 +- .../authorizationManagementClientContext.ts | 90 +- .../arm-authorization/src/index.ts | 13 + .../models/classicAdministratorsMappers.ts | 13 - .../src/models/denyAssignmentsMappers.ts | 15 - .../src/models/globalAdministratorMappers.ts | 11 - .../arm-authorization/src/models/index.ts | 2648 +- .../arm-authorization/src/models/mappers.ts | 2612 +- .../src/models/parameters.ts | 276 +- .../src/models/permissionsMappers.ts | 13 - ...iderOperationsMetadataOperationsMappers.ts | 15 - .../src/models/roleAssignmentsMappers.ts | 14 - .../src/models/roleDefinitionsMappers.ts | 14 - .../src/operations/classicAdministrators.ts | 126 - .../src/operations/denyAssignments.ts | 571 - .../src/operations/eligibleChildResources.ts | 149 + .../src/operations/globalAdministrator.ts | 71 - .../arm-authorization/src/operations/index.ts | 23 +- .../src/operations/permissions.ts | 252 - .../providerOperationsMetadataOperations.ts | 176 - .../roleAssignmentScheduleInstances.ts | 192 + .../roleAssignmentScheduleRequests.ts | 280 + .../src/operations/roleAssignmentSchedules.ts | 189 + .../src/operations/roleAssignments.ts | 1310 +- .../src/operations/roleDefinitions.ts | 373 - .../roleEligibilityScheduleInstances.ts | 192 + .../roleEligibilityScheduleRequests.ts | 280 + .../operations/roleEligibilitySchedules.ts | 189 + .../src/operations/roleManagementPolicies.ts | 271 + .../roleManagementPolicyAssignments.ts | 276 + .../eligibleChildResources.ts | 28 + .../src/operationsInterfaces/index.ts | 18 + .../roleAssignmentScheduleInstances.ts | 42 + .../roleAssignmentScheduleRequests.ts | 76 + .../roleAssignmentSchedules.ts | 41 + .../operationsInterfaces/roleAssignments.ts | 195 + .../roleEligibilityScheduleInstances.ts | 42 + .../roleEligibilityScheduleRequests.ts | 76 + .../roleEligibilitySchedules.ts | 41 + .../roleManagementPolicies.ts | 68 + .../roleManagementPolicyAssignments.ts | 71 + .../arm-authorization/tsconfig.json | 6 +- sdk/authorization/ci.yml | 29 + sdk/batch/batch/README.md | 166 +- sdk/batch/batch/karma.conf.js | 2 +- sdk/batch/batch/package.json | 28 +- sdk/batch/batch/rollup.config.js | 2 +- sdk/batch/batch/src/batchServiceClient.ts | 10 +- .../batch/src/batchServiceClientContext.ts | 14 +- sdk/batch/batch/test/batchClient.spec.ts | 11 +- .../batch/test/utils/env.browser.ts} | 2 - .../batch/test/utils/env.ts} | 4 +- sdk/batch/batch/test/utils/recordedClient.ts | 88 + .../arm-cognitiveservices/README.md | 4 +- .../README.md | 4 +- .../cognitiveservices-autosuggest/README.md | 4 +- .../README.md | 4 +- .../README.md | 4 +- .../README.md | 4 +- .../cognitiveservices-customsearch/README.md | 4 +- .../README.md | 4 +- .../README.md | 4 +- .../cognitiveservices-entitysearch/README.md | 4 +- .../cognitiveservices-face/README.md | 4 +- .../README.md | 4 +- .../cognitiveservices-imagesearch/README.md | 4 +- .../cognitiveservices-localsearch/README.md | 4 +- .../README.md | 4 +- .../cognitiveservices-luis-runtime/README.md | 4 +- .../cognitiveservices-newssearch/README.md | 4 +- .../cognitiveservices-personalizer/README.md | 4 +- .../README.md | 4 +- .../cognitiveservices-qnamaker/README.md | 4 +- .../cognitiveservices-spellcheck/README.md | 4 +- .../cognitiveservices-textanalytics/README.md | 4 +- .../README.md | 4 +- .../cognitiveservices-videosearch/README.md | 4 +- .../cognitiveservices-visualsearch/README.md | 4 +- .../cognitiveservices-websearch/README.md | 4 +- .../communication-chat/CHANGELOG.md | 7 + .../communication-chat/karma.conf.js | 2 +- .../communication-chat/package.json | 25 +- ...cording_successfully_creates_a_thread.json | 12 +- ...cording_successfully_deletes_a_thread.json | 4 +- ...ording_successfully_adds_participants.json | 8 +- ...ording_successfully_deletes_a_message.json | 4 +- ...ccessfully_gets_the_thread_properties.json | 6 +- ...cessfully_intializes_chatthreadclient.json | 12 +- ...recording_successfully_lists_messages.json | 6 +- ...rding_successfully_lists_participants.json | 6 +- ...ding_successfully_lists_read_receipts.json | 6 +- ...ing_successfully_remove_a_participant.json | 6 +- ...ding_successfully_retrieves_a_message.json | 6 +- ...ecording_successfully_sends_a_message.json | 8 +- ...rding_successfully_sends_read_receipt.json | 6 +- ...uccessfully_sends_typing_notification.json | 4 +- ...successfully_updates_the_thread_topic.json | 10 +- ...recording_successfully_creates_a_thread.js | 48 +- ...recording_successfully_deletes_a_thread.js | 12 +- ...ecording_successfully_adds_participants.js | 28 +- ...ecording_successfully_deletes_a_message.js | 12 +- ...successfully_gets_the_thread_properties.js | 14 +- ...uccessfully_intializes_chatthreadclient.js | 48 +- .../recording_successfully_lists_messages.js | 14 +- ...cording_successfully_lists_participants.js | 14 +- ...ording_successfully_lists_read_receipts.js | 14 +- ...rding_successfully_remove_a_participant.js | 12 +- ...ording_successfully_retrieves_a_message.js | 14 +- .../recording_successfully_sends_a_message.js | 16 +- ...cording_successfully_sends_read_receipt.js | 12 +- ..._successfully_sends_typing_notification.js | 12 +- ...g_successfully_updates_the_thread_topic.js | 26 +- .../review/communication-chat.api.md | 16 +- .../communication-chat/src/chatClient.ts | 51 +- .../src/chatThreadClient.ts | 84 +- .../communicationTokenCredentialPolicy.ts | 18 +- .../src/generated/src/chatApiClient.ts | 7 +- .../src/generated/src/chatApiClientContext.ts | 40 +- .../src/generated/src/index.ts | 1 + .../src/generated/src/models/index.ts | 199 +- .../src/generated/src/models/mappers.ts | 54 +- .../src/generated/src/models/parameters.ts | 4 +- .../src/generated/src/operations/chat.ts | 59 +- .../generated/src/operations/chatThread.ts | 226 +- .../src/operationsInterfaces/chat.ts | 56 + .../src/operationsInterfaces/chatThread.ts | 214 + .../src/operationsInterfaces/index.ts} | 3 +- .../communication-chat/src/models/options.ts | 4 +- .../communication-chat/src/models/uuid.ts | 14 + .../communication-chat/swagger/README.md | 10 +- .../test/internal/chatClient.mocked.spec.ts | 2 +- .../internal/chatThreadClient.mocked.spec.ts | 12 +- .../test/internal/utils/mockClient.ts | 13 +- .../test/public/chatClient.spec.ts | 4 +- .../test/public/chatThreadClient.spec.ts | 2 +- .../test/public/utils/connectionUtils.ts | 4 +- .../test/public/utils/recordedClient.ts | 35 +- .../communication-common/CHANGELOG.md | 10 + .../communication-common/package.json | 5 +- .../communication-identity/karma.conf.js | 2 +- .../communication-identity/package.json | 7 +- .../communicationIdentityClient.spec.ts | 2 +- .../node/exchangeTeamsToken.node.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- .../CHANGELOG.md | 10 + .../karma.conf.js | 2 +- .../package.json | 9 +- ...ommunicationNetworkTraversalClient.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- .../communication-phone-numbers/karma.conf.js | 2 +- .../communication-phone-numbers/package.json | 7 +- .../test/public/get.spec.ts | 2 +- .../test/public/list.spec.ts | 2 +- .../public/lro.purchaseAndRelease.spec.ts | 2 +- .../test/public/lro.search.spec.ts | 2 +- .../test/public/lro.update.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- .../communication-sms/karma.conf.js | 2 +- .../communication-sms/package.json | 7 +- .../test/internal/smsClient.internal.spec.ts | 2 +- .../test/public/smsClient.spec.ts | 2 +- .../test/public/suites/smsClient.send.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- sdk/compute/arm-compute/CHANGELOG.md | 46 + sdk/compute/arm-compute/README.md | 18 +- sdk/compute/arm-compute/_meta.json | 6 +- sdk/compute/arm-compute/api-extractor.json | 4 +- sdk/compute/arm-compute/package.json | 20 +- .../arm-compute/review/arm-compute.api.md | 71 +- .../src/computeManagementClientContext.ts | 2 +- sdk/compute/arm-compute/src/models/index.ts | 126 +- sdk/compute/arm-compute/src/models/mappers.ts | 216 +- .../arm-compute/src/models/parameters.ts | 37 +- .../src/operations/availabilitySets.ts | 2 +- .../operations/capacityReservationGroups.ts | 2 +- .../src/operations/capacityReservations.ts | 2 +- .../cloudServiceOperatingSystems.ts | 14 +- .../operations/cloudServiceRoleInstances.ts | 20 +- .../src/operations/cloudServiceRoles.ts | 8 +- .../src/operations/cloudServices.ts | 32 +- .../operations/cloudServicesUpdateDomain.ts | 10 +- .../src/operations/dedicatedHostGroups.ts | 2 +- .../src/operations/dedicatedHosts.ts | 2 +- .../src/operations/diskAccesses.ts | 30 +- .../src/operations/diskEncryptionSets.ts | 22 +- .../operations/diskRestorePointOperations.ts | 12 +- .../arm-compute/src/operations/disks.ts | 22 +- .../arm-compute/src/operations/galleries.ts | 18 +- .../operations/galleryApplicationVersions.ts | 14 +- .../src/operations/galleryApplications.ts | 14 +- .../src/operations/galleryImageVersions.ts | 14 +- .../src/operations/galleryImages.ts | 14 +- .../src/operations/gallerySharingProfile.ts | 4 +- .../arm-compute/src/operations/images.ts | 2 +- .../src/operations/logAnalytics.ts | 2 +- .../arm-compute/src/operations/operations.ts | 2 +- .../operations/proximityPlacementGroups.ts | 2 +- .../src/operations/resourceSkus.ts | 14 +- .../src/operations/restorePointCollections.ts | 2 +- .../src/operations/restorePoints.ts | 2 +- .../src/operations/sharedGalleries.ts | 8 +- .../operations/sharedGalleryImageVersions.ts | 8 +- .../src/operations/sharedGalleryImages.ts | 8 +- .../arm-compute/src/operations/snapshots.ts | 22 +- .../src/operations/sshPublicKeys.ts | 2 +- .../src/operations/usageOperations.ts | 2 +- .../virtualMachineExtensionImages.ts | 2 +- .../operations/virtualMachineExtensions.ts | 2 +- .../src/operations/virtualMachineImages.ts | 2 +- .../virtualMachineImagesEdgeZone.ts | 2 +- .../operations/virtualMachineRunCommands.ts | 2 +- .../virtualMachineScaleSetExtensions.ts | 2 +- .../virtualMachineScaleSetRollingUpgrades.ts | 2 +- .../virtualMachineScaleSetVMExtensions.ts | 2 +- .../virtualMachineScaleSetVMRunCommands.ts | 2 +- .../operations/virtualMachineScaleSetVMs.ts | 2 +- .../src/operations/virtualMachineScaleSets.ts | 2 +- .../src/operations/virtualMachineSizes.ts | 2 +- .../src/operations/virtualMachines.ts | 4 +- sdk/compute/arm-compute/tsconfig.json | 2 +- .../confidential-ledger-rest/karma.conf.js | 2 +- .../confidential-ledger-rest/package.json | 7 +- .../test/public/listEnclaveQuotes.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- .../container-registry/CHANGELOG.md | 25 +- .../container-registry/README.md | 62 +- .../container-registry/karma.conf.js | 2 +- .../container-registry/package.json | 10 +- .../review/container-registry.api.md | 37 +- .../samples-dev/anonymousListTags.ts | 6 +- .../samples-dev/containerRegistryClient.ts | 6 +- .../samples-dev/deleteImages.ts | 9 +- .../samples-dev/repositoryAndArtifact.ts | 8 +- .../samples-dev/setImageProperties.ts | 12 +- .../samples/v1/javascript/README.md | 2 +- .../v1/javascript/anonymousListTags.js | 9 +- .../v1/javascript/containerRegistryClient.js | 9 +- .../samples/v1/javascript/deleteImages.js | 12 +- .../v1/javascript/repositoryAndArtifact.js | 10 +- .../v1/javascript/setImageProperties.js | 15 +- .../samples/v1/typescript/README.md | 2 +- .../v1/typescript/src/anonymousListTags.ts | 6 +- .../typescript/src/containerRegistryClient.ts | 6 +- .../samples/v1/typescript/src/deleteImages.ts | 9 +- .../typescript/src/repositoryAndArtifact.ts | 8 +- .../v1/typescript/src/setImageProperties.ts | 12 +- .../src/containerRegistryClient.ts | 38 +- .../src/containerRepository.ts | 60 +- .../src/generated/generatedClientContext.ts | 2 +- .../container-registry/src/models.ts | 45 +- .../src/registryArtifact.ts | 111 +- .../container-registry/swagger/README.md | 2 +- .../test/internal/basic.spec.ts | 28 +- .../test/public/anonymousAccess.spec.ts | 2 +- .../public/containerRegistryClient.spec.ts | 2 +- .../test/public/repositoryAndArtifact.spec.ts | 2 +- .../container-registry/test/utils/utils.ts | 32 +- .../container-registry/tests.yml | 3 +- sdk/core/README.md | 10 + sdk/core/abort-controller/package.json | 6 +- sdk/core/core-amqp/package.json | 9 +- .../core-asynciterator-polyfill/package.json | 3 +- sdk/core/core-auth/package.json | 3 +- sdk/core/core-auth/review/core-auth.api.md | 21 - sdk/core/core-auth/src/index.ts | 2 +- sdk/core/core-auth/src/tokenCredential.ts | 7 +- sdk/core/core-auth/src/tracing.ts | 50 - sdk/core/core-client-lro-rest/CHANGELOG.md | 2 +- sdk/core/core-client-lro-rest/package.json | 7 +- sdk/core/core-client-paging-rest/package.json | 9 +- .../review/core-client-paging.api.md | 6 +- .../core-client-paging-rest/src/paginate.ts | 147 +- .../test/paginate.spec.ts | 28 +- sdk/core/core-client-rest/CHANGELOG.md | 12 +- sdk/core/core-client-rest/package.json | 6 +- .../review/core-client.api.md | 3 +- .../core-client-rest/src/clientHelpers.ts | 30 +- sdk/core/core-client-rest/src/common.ts | 2 +- .../core-client-rest/src/pathClientTypes.ts | 4 +- .../test/clientHelpers.spec.ts | 12 - .../core-client-rest/test/sendRequest.spec.ts | 20 + sdk/core/core-client/package.json | 9 +- sdk/core/core-client/src/serviceClient.ts | 1 - sdk/core/core-client/src/url.browser.ts | 7 - sdk/core/core-client/src/urlHelpers.ts | 1 - sdk/core/core-crypto/package.json | 3 +- sdk/core/core-http/CHANGELOG.md | 8 +- sdk/core/core-http/package.json | 13 +- sdk/core/core-http/review/core-http.api.md | 2 - sdk/core/core-http/src/nodeFetchHttpClient.ts | 14 +- sdk/core/core-http/src/operationOptions.ts | 3 +- .../bearerTokenAuthenticationPolicy.ts | 1 - .../core-http/src/policies/tracingPolicy.ts | 108 +- sdk/core/core-http/src/serviceClient.ts | 3 +- sdk/core/core-http/src/util/constants.ts | 2 +- sdk/core/core-http/src/webResource.ts | 10 - .../test/defaultHttpClientTests.node.ts | 74 + sdk/core/core-http/test/logFilterTests.ts | 5 +- .../test/policies/proxyPolicyTests.browser.ts | 2 +- .../test/policies/proxyPolicyTests.node.ts | 2 +- .../test/policies/tracingPolicyTests.ts | 112 +- sdk/core/core-http/test/proxyAgent.node.ts | 4 +- sdk/core/core-lro/CHANGELOG.md | 2 + sdk/core/core-lro/package.json | 5 +- .../samples/typescript/samplesClient.ts | 39 +- .../src/lroEngine/azureAsyncPolling.ts | 2 +- .../core-lro/src/lroEngine/bodyPolling.ts | 2 +- .../test/utils/router/routesProcesses.ts | 6 +- sdk/core/core-paging/CHANGELOG.md | 5 +- sdk/core/core-paging/karma.conf.js | 110 + sdk/core/core-paging/package.json | 32 +- .../core-paging/review/core-paging.api.md | 13 + .../core-paging/src/getPagedAsyncIterator.ts | 71 + sdk/core/core-paging/src/index.ts | 1 + sdk/core/core-paging/src/models.ts | 22 + .../test/getPagedAsyncIterator.spec.ts | 125 + sdk/core/core-paging/tsconfig.json | 4 +- sdk/core/core-rest-pipeline/CHANGELOG.md | 13 +- sdk/core/core-rest-pipeline/package.json | 7 +- .../review/core-rest-pipeline.api.md | 7 +- sdk/core/core-rest-pipeline/src/constants.ts | 2 +- .../src/createPipelineFromOptions.ts | 82 + .../core-rest-pipeline/src/httpHeaders.ts | 8 +- sdk/core/core-rest-pipeline/src/index.ts | 11 +- sdk/core/core-rest-pipeline/src/interfaces.ts | 7 +- .../core-rest-pipeline/src/nodeHttpClient.ts | 7 +- sdk/core/core-rest-pipeline/src/pipeline.ts | 85 +- .../src/policies/tracingPolicy.ts | 148 +- .../test/tracingPolicy.spec.ts | 171 +- sdk/core/core-tracing/CHANGELOG.md | 3 + sdk/core/core-tracing/README.md | 84 +- sdk/core/core-tracing/package.json | 3 +- .../core-tracing/review/core-tracing.api.md | 3 +- sdk/core/core-tracing/src/createSpan.ts | 161 +- sdk/core/core-tracing/src/interfaces.ts | 5 - sdk/core/core-tracing/test/createSpan.spec.ts | 179 +- sdk/core/core-tracing/test/interfaces.spec.ts | 22 +- sdk/core/core-tracing/test/util/testSpan.ts | 12 +- sdk/core/core-tracing/test/util/testTracer.ts | 10 +- sdk/core/core-util/package.json | 3 +- sdk/core/core-xml/package.json | 3 +- sdk/core/logger/package.json | 7 +- .../core-rest-pipeline/package.json | 9 +- sdk/cosmosdb/cosmos/CHANGELOG.md | 54 +- .../ConflictWorker.ts | 0 .../MultiRegionWriteScenario.ts | 0 .../cosmos/MultiRegionWriteSample/README.md | 1 + .../Worker.ts | 0 .../app.ts | 0 .../config.ts | 0 .../logger.ts | 0 .../lwwSprocDef.ts | 2 +- .../package.json | 0 .../types.d.ts | 0 sdk/cosmosdb/cosmos/package.json | 52 +- sdk/cosmosdb/cosmos/review/cosmos.api.md | 86 +- sdk/cosmosdb/cosmos/sample.env | 5 + sdk/cosmosdb/cosmos/samples-dev/AADAuth.ts | 64 + .../samples-dev/AlterQueryThroughput.ts | 127 + sdk/cosmosdb/cosmos/samples-dev/Bulk.ts | 105 + .../cosmos/samples-dev/BulkUpdateWithSproc.ts | 107 + .../{samples => samples-dev}/ChangeFeed.ts | 17 +- .../cosmos/samples-dev/ContainerManagement.ts | 49 + .../cosmos/samples-dev/DatabaseManagement.ts | 47 + .../cosmos/samples-dev/IndexManagement.ts | 232 + .../cosmos/samples-dev/ItemManagement.ts | 165 + .../cosmos/samples-dev/QueryThroughput.ts | 72 + .../cosmos/samples-dev/SasTokenAuth.ts | 86 + .../cosmos/samples-dev/ServerSideScripts.ts | 143 + .../Shared/Data/Families.json | 0 .../cosmos/samples-dev/Shared/handleError.ts | 47 + .../cosmos/samples/{ => src}/AADAuth.ts | 0 sdk/cosmosdb/cosmos/samples/{ => src}/Bulk.ts | 7 +- .../samples/{ => src}/BulkUpdateWithSproc.ts | 6 +- sdk/cosmosdb/cosmos/samples/src/ChangeFeed.ts | 158 + .../samples/{ => src}/ContainerManagement.ts | 0 .../samples/{ => src}/DatabaseManagement.ts | 0 .../samples/{ => src}/IndexManagement.ts | 0 .../samples/{ => src}/ItemManagement.ts | 4 +- .../QueryThroughput/alterQueryThroughput.ts | 2 +- .../QueryThroughput/queryThroughput.js | 2 +- .../samples/{SasToken => src}/SasTokenAuth.ts | 2 +- .../{ => src}/ServerSideScripts/index.ts | 2 +- .../{ => src}/ServerSideScripts/upsert.js | 0 .../samples/src/Shared/Data/Families.json | 188 + .../cosmos/samples/{ => src}/Shared/config.ts | 0 .../samples/{ => src}/Shared/handleError.ts | 0 .../cosmos/samples/v3/javascript/AADAuth.js | 63 + .../v3/javascript/AlterQueryThroughput.js | 107 + .../cosmos/samples/v3/javascript/Bulk.js | 104 + .../v3/javascript/BulkUpdateWithSproc.js | 106 + .../samples/v3/javascript/ChangeFeed.js | 169 + .../v3/javascript/ContainerManagement.js | 48 + .../v3/javascript/DatabaseManagement.js | 46 + .../samples/v3/javascript/IndexManagement.js | 231 + .../samples/v3/javascript/ItemManagement.js | 164 + .../samples/v3/javascript/QueryThroughput.js | 67 + .../cosmos/samples/v3/javascript/README.md | 84 + .../samples/v3/javascript/SasTokenAuth.js | 84 + .../v3/javascript/ServerSideScripts.js | 141 + .../v3/javascript/Shared/handleError.js | 42 + .../cosmos/samples/v3/javascript/package.json | 37 + .../cosmos/samples/v3/javascript/sample.env | 5 + .../cosmos/samples/v3/typescript/README.md | 97 + .../cosmos/samples/v3/typescript/package.json | 46 + .../cosmos/samples/v3/typescript/sample.env | 5 + .../samples/v3/typescript/src/AADAuth.ts | 64 + .../v3/typescript/src/AlterQueryThroughput.ts | 127 + .../cosmos/samples/v3/typescript/src/Bulk.ts | 105 + .../v3/typescript/src/BulkUpdateWithSproc.ts | 107 + .../samples/v3/typescript/src/ChangeFeed.ts | 170 + .../v3/typescript/src/ContainerManagement.ts | 49 + .../v3/typescript/src/DatabaseManagement.ts | 47 + .../v3/typescript/src/IndexManagement.ts | 232 + .../v3/typescript/src/ItemManagement.ts | 165 + .../v3/typescript/src/QueryThroughput.ts | 72 + .../samples/v3/typescript/src/SasTokenAuth.ts | 86 + .../v3/typescript/src/ServerSideScripts.ts | 143 + .../v3/typescript/src/Shared/handleError.ts | 43 + .../samples/v3}/typescript/tsconfig.json | 9 +- sdk/cosmosdb/cosmos/src/ClientContext.ts | 160 +- sdk/cosmosdb/cosmos/src/auth.ts | 10 - sdk/cosmosdb/cosmos/src/client/Item/Item.ts | 40 + sdk/cosmosdb/cosmos/src/client/Item/Items.ts | 63 +- sdk/cosmosdb/cosmos/src/common/constants.ts | 4 +- .../cosmos/src/documents/ConnectionMode.ts | 2 +- sdk/cosmosdb/cosmos/src/index.ts | 11 +- .../cosmos/src/request/RequestContext.ts | 2 + .../cosmos/src/request/RequestHandler.ts | 6 +- sdk/cosmosdb/cosmos/src/request/request.ts | 3 +- sdk/cosmosdb/cosmos/src/retry/RetryContext.ts | 2 +- sdk/cosmosdb/cosmos/src/retry/retryUtility.ts | 3 +- .../cosmos/src/retry/sessionRetryPolicy.ts | 6 +- sdk/cosmosdb/cosmos/src/utils/batch.ts | 57 +- sdk/cosmosdb/cosmos/src/utils/patch.ts | 30 + .../cosmos/test/internal/session.spec.ts | 412 +- .../test/internal/unit/sasToken.spec.ts | 5 +- .../cosmos/test/public/common/TestHelpers.ts | 3 +- .../test/public/common/_fakeTestSecrets.ts | 9 + .../cosmos/test/public/common/_testConfig.ts | 8 +- .../public/functional/authorization.spec.ts | 3 +- .../test/public/functional/client.spec.ts | 3 +- .../test/public/functional/database.spec.ts | 3 +- .../public/functional/databaseaccount.spec.ts | 3 +- .../functional/globalEndpointManager.spec.ts | 2 +- .../test/public/functional/item.spec.ts | 257 +- .../public/functional/npcontainer.spec.ts | 3 +- .../test/public/functional/offer.spec.ts | 3 +- .../test/public/functional/query.spec.ts | 3 +- .../test/public/integration/failover.spec.ts | 2 +- .../public/integration/multiregion.spec.ts | 2 +- .../test/public/integration/proxy.spec.ts | 3 +- .../test/public/integration/split.spec.ts | 3 +- .../test/public/integration/timeout.spec.ts | 72 + sdk/databricks/arm-databricks/README.md | 4 +- .../iot-device-update/package.json | 7 +- .../digital-twins-core/karma.conf.js | 2 +- .../digital-twins-core/package.json | 7 +- .../test/public/testComponents.spec.ts | 2 +- .../test/public/testDigitalTwins.spec.ts | 2 +- .../test/public/testEventRoutes.spec.ts | 2 +- .../test/public/testModels.spec.ts | 2 +- .../test/public/testRelationships.spec.ts | 2 +- .../test/utils/recorderUtils.ts | 2 +- .../test/utils/testAuthentication.ts | 2 +- .../ai-document-translator-rest/karma.conf.js | 2 +- .../ai-document-translator-rest/package.json | 7 +- .../test/public/listFormats.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- sdk/eventgrid/eventgrid/CHANGELOG.md | 8 +- sdk/eventgrid/eventgrid/README.md | 2 - sdk/eventgrid/eventgrid/karma.conf.js | 2 +- sdk/eventgrid/eventgrid/package.json | 9 +- .../eventgrid/review/eventgrid.api.md | 9 + .../src/generated/generatedClientContext.ts | 2 +- .../eventgrid/src/generated/models/index.ts | 12 + .../eventgrid/src/generated/models/mappers.ts | 37 + sdk/eventgrid/eventgrid/src/index.ts | 1 + sdk/eventgrid/eventgrid/src/predicates.ts | 3 + sdk/eventgrid/eventgrid/swagger/README.md | 6 +- .../test/public/eventGridClient.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- .../perf-tests/eventgrid/package.json | 8 +- sdk/eventhub/arm-eventhub/CHANGELOG.md | 26 + .../arm-eventhub/{LICENSE.txt => LICENSE} | 4 +- sdk/eventhub/arm-eventhub/README.md | 144 +- sdk/eventhub/arm-eventhub/_meta.json | 7 + sdk/eventhub/arm-eventhub/api-extractor.json | 18 + sdk/eventhub/arm-eventhub/package.json | 85 +- .../arm-eventhub/review/arm-eventhub.api.md | 1166 + sdk/eventhub/arm-eventhub/rollup.config.js | 211 +- .../src/eventHubManagementClient.ts | 104 +- .../src/eventHubManagementClientContext.ts | 94 +- sdk/eventhub/arm-eventhub/src/index.ts | 13 + sdk/eventhub/arm-eventhub/src/lroImpl.ts | 34 + .../src/models/consumerGroupsMappers.ts | 30 - .../models/disasterRecoveryConfigsMappers.ts | 34 - .../src/models/eventHubsMappers.ts | 33 - sdk/eventhub/arm-eventhub/src/models/index.ts | 2520 +- .../arm-eventhub/src/models/mappers.ts | 1553 +- .../src/models/namespacesMappers.ts | 35 - .../src/models/operationsMappers.ts | 14 - .../arm-eventhub/src/models/parameters.ts | 307 +- .../arm-eventhub/src/models/regionsMappers.ts | 30 - .../arm-eventhub/src/operations/clusters.ts | 636 + .../src/operations/configuration.ts | 124 + .../src/operations/consumerGroups.ts | 431 +- .../src/operations/disasterRecoveryConfigs.ts | 1016 +- .../arm-eventhub/src/operations/eventHubs.ts | 1033 +- .../arm-eventhub/src/operations/index.ts | 14 +- .../arm-eventhub/src/operations/namespaces.ts | 1983 +- .../arm-eventhub/src/operations/operations.ts | 155 +- .../operations/privateEndpointConnections.ts | 405 + .../src/operations/privateLinkResources.ts | 72 + .../arm-eventhub/src/operations/regions.ts | 178 +- .../src/operationsInterfaces/clusters.ts | 153 + .../src/operationsInterfaces/configuration.ts | 45 + .../operationsInterfaces/consumerGroups.ts | 85 + .../disasterRecoveryConfigs.ts | 170 + .../src/operationsInterfaces/eventHubs.ts | 182 + .../src/operationsInterfaces/index.ts | 18 + .../src/operationsInterfaces/namespaces.ts | 377 + .../src/operationsInterfaces/operations.ts | 23 + .../privateEndpointConnections.ts | 93 + .../privateLinkResources.ts | 27 + .../src/operationsInterfaces/regions.ts | 25 + sdk/eventhub/arm-eventhub/tsconfig.json | 6 +- sdk/eventhub/ci.yml | 10 +- sdk/eventhub/event-hubs/karma.conf.js | 3 +- sdk/eventhub/event-hubs/package.json | 30 +- .../event-hubs/review/event-hubs.api.md | 10 +- .../samples-dev/iothubConnectionString.ts | 2 +- .../iothubConnectionStringWebsockets.ts | 171 + .../samples/v5/javascript/README.md | 18 +- .../iothubConnectionStringWebsockets.js | 164 + .../samples/v5/javascript/package.json | 4 +- .../samples/v5/typescript/README.md | 18 +- .../samples/v5/typescript/package.json | 5 +- .../typescript/src/iothubConnectionString.ts | 2 +- .../src/iothubConnectionStringWebsockets.ts | 171 + .../event-hubs/scripts/generateCerts.js | 82 + .../src/diagnostics/instrumentEventData.ts | 55 +- .../event-hubs/src/diagnostics/tracing.ts | 3 +- sdk/eventhub/event-hubs/src/eventDataBatch.ts | 26 +- .../event-hubs/src/eventHubProducerClient.ts | 18 +- .../event-hubs/test/internal/amqp.spec.ts | 99 +- .../event-hubs/test/internal/auth.spec.ts | 280 +- .../test/internal/cancellation.spec.ts | 278 +- .../event-hubs/test/internal/client.spec.ts | 1356 +- .../event-hubs/test/internal/config.spec.ts | 257 +- .../test/internal/dataTransformer.spec.ts | 689 +- .../internal/diagnostics/messageSpan.spec.ts | 57 +- .../eventHubConsumerClientUnitTests.spec.ts | 848 +- .../test/internal/eventPosition.spec.ts | 260 +- .../test/internal/eventProcessor.spec.ts | 3299 +- .../test/internal/eventdata.spec.ts | 441 +- .../test/internal/impl/partitionGate.spec.ts | 27 +- .../internal/loadBalancingStrategy.spec.ts | 1097 +- .../event-hubs/test/internal/misc.spec.ts | 814 +- .../test/internal/node/disconnect.spec.ts | 340 +- .../test/internal/node/packageInfo.spec.ts | 38 +- .../test/internal/partitionPump.spec.ts | 229 +- .../test/internal/receiveBatch.spec.ts | 268 +- .../event-hubs/test/internal/sender.spec.ts | 2111 +- .../event-hubs/test/perf/track-1/README.md | 13 - .../event-hubs/test/perf/track-1/package.json | 16 - .../test/perf/track-1/tsconfig.json | 6 - .../event-hubs/test/perf/track-2/README.md | 10 - .../test/public/amqpAnnotatedMessage.spec.ts | 497 +- .../event-hubs/test/public/auth.spec.ts | 642 +- .../test/public/cancellation.spec.ts | 296 +- .../event-hubs/test/public/eventData.spec.ts | 203 +- .../public/eventHubConsumerClient.spec.ts | 2173 +- .../event-hubs/test/public/hubruntime.spec.ts | 748 +- .../test/public/node/client.spec.ts | 163 +- .../test/public/node/disconnects.spec.ts | 396 +- .../event-hubs/test/public/receiver.spec.ts | 853 +- .../test/public/utils/mockService.browser.ts | 6 + .../test/public/utils/mockService.ts | 22 + .../event-hubs/test/public/utils/testUtils.ts | 29 +- .../test/public/utils/testWithServiceTypes.ts | 43 + .../event-processor-host/package.json | 5 +- .../package.json | 7 +- .../package.json | 10 +- .../eventhubs-checkpointstore-table.api.md | 10 +- .../sample.env | 3 + .../src/tableCheckpointStore.ts | 232 +- .../test/tables-checkpointstore.spec.ts | 514 + .../test/tables-checkpointstorespec.ts | 12 - .../test/utils/testUtils.ts | 30 + sdk/eventhub/mock-hub/package.json | 3 +- .../samples/javascript/src/ehSample.js | 15 +- .../mock-hub/samples/typescript/readme.md | 2 +- .../samples/typescript/src/ehSample.ts | 15 +- sdk/eventhub/mock-hub/src/index.ts | 4 +- .../src/sender/streamingPartitionSender.ts | 5 +- .../mock-hub/src/server/mockServer.ts | 29 +- .../mock-hub/src/services/eventHubs.ts | 30 +- .../perf-tests/event-hubs-track-1/README.md | 31 + .../event-hubs-track-1/package.json | 49 + .../perf-tests/event-hubs-track-1/sample.env | 3 + .../event-hubs-track-1/test}/index.spec.ts | 0 .../event-hubs-track-1/test}/receive.spec.ts | 7 +- .../event-hubs-track-1/test}/send.spec.ts | 5 +- .../event-hubs-track-1/tsconfig.json | 11 + sdk/eventhub/perf-tests/event-hubs/README.md | 28 + .../perf-tests/event-hubs/package.json | 51 + sdk/eventhub/perf-tests/event-hubs/sample.env | 3 + .../event-hubs/test}/index.spec.ts | 0 .../event-hubs/test}/receive.spec.ts | 8 +- .../event-hubs/test}/send.spec.ts | 2 +- .../perf-tests/event-hubs/tsconfig.json | 11 + sdk/eventhub/test-resources.json | 8 + sdk/features/arm-features/CHANGELOG.md | 78 +- sdk/features/arm-features/README.md | 3 +- sdk/features/arm-features/package.json | 4 +- .../arm-features/src/featureClientContext.ts | 2 +- .../ai-form-recognizer/CHANGELOG.md | 14 +- .../ai-form-recognizer/karma.conf.js | 2 +- .../ai-form-recognizer/package.json | 9 +- .../samples/v3/javascript/package.json | 2 +- .../samples/v3/typescript/package.json | 2 +- .../ai-form-recognizer/src/constants.ts | 2 +- .../src/generated/generatedClientContext.ts | 2 +- .../ai-form-recognizer/swagger/README.md | 2 +- .../browser/formrecognizerclient.spec.ts | 2 +- .../test/public/formtrainingclient.spec.ts | 2 +- .../public/node/formrecognizerclient.spec.ts | 2 +- .../test/utils/recordedClients.ts | 2 +- .../ai-form-recognizer/package.json | 10 +- sdk/graphrbac/graph/README.md | 4 +- .../arm-hybridkubernetes/README.md | 4 +- .../identity-cache-persistence/.gitignore | 2 +- .../identity-cache-persistence/CHANGELOG.md | 14 +- .../identity-cache-persistence/README.md | 45 +- .../identity-cache-persistence/package.json | 18 +- ...ently_with_tokencachepersistenceoptions.js | 71 - ...ng_accepts_tokencachepersistenceoptions.js | 2 +- ...to_avoid_further_manual_authentications.js | 4 +- ...ently_with_tokencachepersistenceoptions.js | 2 +- .../review/identity-cache-persistence.api.md | 4 +- .../samples-dev/extension.ts | 12 +- .../identity-cache-persistence/src/index.ts | 24 +- .../src/platforms.ts | 21 +- .../node/clientCertificateCredential.spec.ts | 8 +- .../node/clientSecretCredential.spec.ts | 12 +- .../node/deviceCodeCredential.spec.ts | 8 +- .../test/internal/node/setup.spec.ts | 8 +- .../node/usernamePasswordCredential.spec.ts | 6 +- sdk/identity/identity-vscode/CHANGELOG.md | 9 +- sdk/identity/identity-vscode/README.md | 63 +- sdk/identity/identity-vscode/package.json | 14 +- .../review/identity-vscode.api.md | 4 +- .../identity-vscode/samples-dev/extension.ts | 16 +- .../identity-vscode/samples-dev/nodeEnv.ts | 14 +- sdk/identity/identity-vscode/src/index.ts | 30 +- .../test/public/node/setup.spec.ts | 6 +- .../node/visualStudioCodeCredential.spec.ts | 2 +- sdk/identity/identity/.gitignore | 2 +- sdk/identity/identity/CHANGELOG.md | 79 +- sdk/identity/identity/README.md | 47 +- .../assets/{cert.pem => fake-cert.pem} | 0 ...faultAzureCredentialAuthenticationFlow.png | Bin 109024 -> 152753 bytes sdk/identity/identity/karma.conf.js | 2 +- sdk/identity/identity/package.json | 25 +- ...ent_secret_on_the_environment_variables.js | 111 + ..._tracing_with_environment_client_secret.js | 111 + ...called_and_no_credential_was_configured.js | 5 + ...icationcredential_authentication_failed.js | 76 + ...parameteres_are_not_correctly_specified.js | 5 + ...parameteres_are_not_correctly_specified.js | 5 + ...ng_allows_cancelling_the_authentication.js | 2 +- ..._setting_disableautomaticauthentication.js | 2 +- ...he_customization_of_the_prompt_callback.js | 2 +- ...rding_authenticates_with_default_values.js | 2 +- ...ding_authenticates_with_provided_values.js | 2 +- ...authenticates_with_specific_permissions.js | 2 +- .../recording_supports_tracing.js | 2 +- ...ates_silently_after_the_initial_request.js | 2 +- ...ng_accepts_tokencachepersistenceoptions.js | 2 +- ...to_avoid_further_manual_authentications.js | 2 +- ...ently_with_tokencachepersistenceoptions.js | 2 +- ...parameteres_are_not_correctly_specified.js | 5 + sdk/identity/identity/review/identity.api.md | 46 +- .../identity/samples/AzureIdentityExamples.md | 301 +- .../identity/samples/manual/README.md | 34 + .../samples/manual/authorizationCodeSample.ts | 84 +- .../identity/samples/manual/package.json | 19 + .../identity/samples/manual/sample.env | 3 + .../identity/samples/typescript/package.json | 4 +- sdk/identity/identity/src/client/errors.ts | 2 +- .../identity/src/client/identityClient.ts | 7 +- .../applicationCredential.browser.ts | 37 + .../src/credentials/applicationCredential.ts | 63 + .../authorizationCodeCredential.ts | 126 +- .../credentials/azurePowerShellCredential.ts | 2 +- .../src/credentials/chainedTokenCredential.ts | 19 +- .../clientCertificateCredential.ts | 5 + .../clientSecretCredential.browser.ts | 5 +- .../src/credentials/clientSecretCredential.ts | 5 + .../credentialPersistenceOptions.ts | 26 +- .../src/credentials/defaultAzureCredential.ts | 15 +- .../appServiceMsi2017.ts | 43 +- .../managedIdentityCredential/arcMsi.ts | 44 +- .../cloudShellMsi.ts | 45 +- .../managedIdentityCredential/constants.ts | 3 +- .../managedIdentityCredential/fabricMsi.ts | 38 +- .../managedIdentityCredential/imdsMsi.ts | 69 +- .../managedIdentityCredential/index.ts | 28 +- .../managedIdentityCredential/models.ts | 21 +- .../tokenExchangeMsi.ts | 116 + .../managedIdentityCredential/utils.ts | 19 +- .../onBehalfOfCredential.browser.ts | 21 + .../src/credentials/onBehalfOfCredential.ts | 132 + .../onBehalfOfCredentialOptions.ts | 12 + .../usernamePasswordCredential.browser.ts | 24 +- .../credentials/usernamePasswordCredential.ts | 5 + .../visualStudioCodeCredential.browser.ts | 2 +- .../credentials/visualStudioCodeCredential.ts | 14 +- ...ts => visualStudioCodeCredentialPlugin.ts} | 3 - .../src/extensions/consumer.browser.ts | 8 - sdk/identity/identity/src/index.ts | 15 +- .../msal/nodeFlows/msalAuthorizationCode.ts | 60 + .../msal/nodeFlows/msalClientCertificate.ts | 102 +- .../src/msal/nodeFlows/msalClientSecret.ts | 3 + .../src/msal/nodeFlows/msalOnBehalfOf.ts | 90 + .../identity/src/msal/nodeFlows/nodeCommon.ts | 15 +- .../nodeFlows/tokenCachePersistenceOptions.ts | 5 +- .../identity/src/plugins/consumer.browser.ts | 8 + .../src/{extensions => plugins}/consumer.ts | 26 +- .../src/{extensions => plugins}/provider.ts | 16 +- sdk/identity/identity/test/httpRequests.ts | 43 +- .../node/applicationCredential.spec.ts | 128 + .../node/clientCertificateCredential.spec.ts | 58 +- .../node/clientSecretCredential.spec.ts | 33 +- .../node/deviceCodeCredential.spec.ts | 2 +- .../node/interactiveBrowserCredential.spec.ts | 2 +- .../node/managedIdentityCredential.spec.ts | 284 +- .../node/onBehalfOfCredential.spec.ts | 94 + .../node/usernamePasswordCredential.spec.ts | 64 +- .../manual-integration/AzureArc/package.json | 2 +- .../AzureFunctions/IdentityTest/package.json | 2 +- .../manual-integration/AzureVM/package.json | 2 +- .../Cloudshell/package.json | 2 +- .../Kubernetes/package.json | 2 +- .../jobs/triggered/AzureTestJob/package.json | 2 +- .../identity/test/manual/nodeTestSilent.js | 4 +- .../identity/test/manual/package.json | 2 +- sdk/identity/identity/test/msalTestUtils.ts | 2 +- .../usernamePasswordCredential.spec.ts | 2 +- .../public/chainedTokenCredential.spec.ts | 27 +- .../public/node/applicationCredential.spec.ts | 100 + .../node/authorizationCodeCredential.spec.ts | 153 - .../node/clientCertificateCredential.spec.ts | 4 +- .../node/clientSecretCredential.spec.ts | 2 +- .../public/node/deviceCodeCredential.spec.ts | 2 +- .../public/node/environmentCredential.spec.ts | 2 +- .../test/public/node/extensions.spec.ts | 4 +- .../node/usernamePasswordCredential.spec.ts | 2 +- sdk/identity/perf-tests/identity/package.json | 11 +- .../persistence.spec.ts | 8 +- sdk/iot/iot-modelsrepository/karma.conf.js | 2 +- sdk/iot/iot-modelsrepository/package.json | 7 +- sdk/iotcentral/arm-iotcentral/README.md | 4 +- .../README.md | 4 +- sdk/iothub/arm-iothub/README.md | 4 +- sdk/iotspaces/arm-iotspaces/README.md | 46 +- .../README.md | 4 +- .../README.md | 4 +- sdk/keyvault/arm-keyvault/CHANGELOG.md | 38 + .../arm-keyvault/LICENSE} | 4 +- sdk/keyvault/arm-keyvault/README.md | 150 +- sdk/keyvault/arm-keyvault/_meta.json | 7 + sdk/keyvault/arm-keyvault/api-extractor.json | 18 + sdk/keyvault/arm-keyvault/package.json | 86 +- .../arm-keyvault/review/arm-keyvault.api.md | 1520 + sdk/keyvault/arm-keyvault/rollup.config.js | 211 +- sdk/keyvault/arm-keyvault/src/index.ts | 13 + .../src/keyVaultManagementClient.ts | 96 +- .../src/keyVaultManagementClientContext.ts | 96 +- sdk/keyvault/arm-keyvault/src/lroImpl.ts | 34 + sdk/keyvault/arm-keyvault/src/models/index.ts | 2431 +- .../arm-keyvault/src/models/mappers.ts | 2677 +- .../src/models/operationsMappers.ts | 16 - .../arm-keyvault/src/models/parameters.ts | 277 +- .../arm-keyvault/src/models/vaultsMappers.ts | 33 - .../arm-keyvault/src/operations/index.ts | 15 +- .../arm-keyvault/src/operations/keys.ts | 490 + .../src/operations/managedHsms.ts | 927 + .../mhsmPrivateEndpointConnections.ts | 410 + .../operations/mhsmPrivateLinkResources.ts | 72 + .../arm-keyvault/src/operations/operations.ts | 153 +- .../operations/privateEndpointConnections.ts | 423 + .../src/operations/privateLinkResources.ts | 72 + .../arm-keyvault/src/operations/secrets.ts | 334 + .../arm-keyvault/src/operations/vaults.ts | 1342 +- .../src/operationsInterfaces/index.ts | 17 + .../src/operationsInterfaces/keys.ts | 96 + .../src/operationsInterfaces/managedHsms.ts | 185 + .../mhsmPrivateEndpointConnections.ts | 101 + .../mhsmPrivateLinkResources.ts | 27 + .../src/operationsInterfaces/operations.ts | 23 + .../privateEndpointConnections.ts | 101 + .../privateLinkResources.ts | 27 + .../src/operationsInterfaces/secrets.ts | 87 + .../src/operationsInterfaces/vaults.ts | 198 + sdk/keyvault/arm-keyvault/tsconfig.json | 6 +- sdk/keyvault/ci.yml | 6 +- sdk/keyvault/keyvault-admin/CHANGELOG.md | 12 + sdk/keyvault/keyvault-admin/package.json | 11 +- .../review/keyvault-admin.api.md | 11 +- .../samples/v4/javascript/package.json | 2 +- .../samples/v4/typescript/package.json | 2 +- .../keyvault-admin/src/accessControlModels.ts | 76 +- sdk/keyvault/keyvault-admin/src/constants.ts | 6 +- .../src/generated/keyVaultClient.ts | 4 +- .../src/generated/keyVaultClientContext.ts | 10 +- .../src/generated/models/index.ts | 45 +- sdk/keyvault/keyvault-admin/swagger/README.md | 6 +- .../internal/serviceVersionParameter.spec.ts | 18 +- .../public/accessControlClient.aborts.spec.ts | 2 +- .../test/public/accessControlClient.spec.ts | 2 +- .../test/public/backupClient.abort.spec.ts | 2 +- .../test/public/backupClient.spec.ts | 2 +- .../test/utils/authentication.ts | 2 +- .../keyvault-admin/test/utils/common.ts | 2 +- .../keyvault-admin/test/utils/recorder.ts | 2 +- .../keyvault-certificates/CHANGELOG.md | 8 +- .../keyvault-certificates/karma.conf.js | 4 +- .../keyvault-certificates/package.json | 15 +- ...l_and_delete_a_certificates_operation.json | 350 +- ...om_a_certificates_base64_secret_value.json | 656 +- ..._certificates_non_base64_secret_value.json | 693 +- ...a_certificates_secret_in_pkcs_12_format.js | 3033 +- ...cel_and_delete_a_certificates_operation.js | 1089 +- ...from_a_certificates_base64_secret_value.js | 3527 +- ..._a_certificates_non_base64_secret_value.js | 2975 +- .../review/keyvault-certificates.api.md | 4 +- .../samples/v4/javascript/README.md | 2 +- .../samples/v4/javascript/package.json | 4 +- .../samples/v4/typescript/README.md | 2 +- .../samples/v4/typescript/package.json | 4 +- .../src/certificatesModels.ts | 88 + .../keyvault-certificates/src/constants.ts | 2 +- .../src/generated/keyVaultClient.ts | 12 +- .../src/generated/keyVaultClientContext.ts | 8 +- .../src/generated/models/index.ts | 77 +- .../keyvault-certificates/src/index.ts | 10 +- .../keyvault-certificates/swagger/README.md | 4 +- ...challengeBasedAuthenticationPolicy.spec.ts | 2 +- .../internal/serviceVersionParameter.spec.ts | 8 +- .../test/public/CRUD.spec.ts | 12 +- .../test/public/list.spec.ts | 2 +- .../test/public/lro.create.spec.ts | 2 +- .../test/public/lro.delete.spec.ts | 2 +- .../test/public/lro.operation.spec.ts | 2 +- .../test/public/lro.recover.spec.ts | 2 +- .../test/public/mergeAndImport.spec.ts | 2 +- .../test/public/recoverBackupRestore.spec.ts | 2 +- .../test/utils/recorderUtils.ts | 2 +- .../test/utils/testAuthentication.ts | 12 +- .../test/utils/utils.common.ts | 2 +- sdk/keyvault/keyvault-common/package.json | 3 +- sdk/keyvault/keyvault-keys/CHANGELOG.md | 16 + sdk/keyvault/keyvault-keys/karma.conf.js | 2 +- sdk/keyvault/keyvault-keys/package.json | 17 +- ...eate_an_exportable_key_and_release_it.json | 51 +- ...port_an_exportable_key_and_release_it.json | 49 +- ...ding_can_update_a_keys_release_policy.json | 49 +- ..._release_policy_but_is_not_exportable.json | 33 +- ...s_exportable_without_a_release_policy.json | 31 +- ...getkeyrotationpolicy_supports_tracing.json | 140 + ...ing_rotatekey_supports_rotating_a_key.json | 117 + .../recording_rotatekey_supports_tracing.json | 117 + ...o_fetch_a_policy_of_a_nonexistent_key.json | 90 + ...a_new_rotation_policy_and_fetching_it.json | 144 + ...atekeyrotationpolicy_supports_tracing.json | 117 + ..._supports_updating_an_existing_policy.json | 144 + ...create_an_exportable_key_and_release_it.js | 76 +- ...import_an_exportable_key_and_release_it.js | 72 +- ...ording_can_update_a_keys_release_policy.js | 70 +- ..._a_release_policy_but_is_not_exportable.js | 62 +- ..._is_exportable_without_a_release_policy.js | 60 +- ...g_getkeyrotationpolicy_supports_tracing.js | 249 + ...rding_rotatekey_supports_rotating_a_key.js | 215 + .../recording_rotatekey_supports_tracing.js | 215 + ..._to_fetch_a_policy_of_a_nonexistent_key.js | 181 + ...g_a_new_rotation_policy_and_fetching_it.js | 249 + ...pdatekeyrotationpolicy_supports_tracing.js | 215 + ...cy_supports_updating_an_existing_policy.js | 249 + .../keyvault-keys/review/keyvault-keys.api.md | 54 +- .../keyvault-keys/rollup.base.config.js | 3 +- .../keyvault-keys/samples-dev/cryptography.ts | 2 +- .../keyvault-keys/samples-dev/keyRotation.ts | 70 + sdk/keyvault/keyvault-keys/src/constants.ts | 2 +- .../remoteCryptographyProvider.ts | 90 +- .../src/generated/keyVaultClientContext.ts | 7 +- .../src/generated/models/index.ts | 107 +- .../src/generated/models/mappers.ts | 2 +- sdk/keyvault/keyvault-keys/src/index.ts | 143 +- sdk/keyvault/keyvault-keys/src/keysModels.ts | 94 + .../keyvault-keys/src/transformations.ts | 62 +- sdk/keyvault/keyvault-keys/swagger/README.md | 15 +- .../test/internal/aesCryptography.spec.ts | 2 +- ...challengeBasedAuthenticationPolicy.spec.ts | 2 +- .../test/internal/crypto.spec.ts | 44 +- .../internal/serviceVersionParameter.spec.ts | 2 +- .../test/internal/transformations.spec.ts | 103 +- .../test/public/crypto.hsm.spec.ts | 2 +- .../keyvault-keys/test/public/crypto.spec.ts | 7 +- .../keyvault-keys/test/public/import.spec.ts | 2 +- .../test/public/keyClient.hsm.spec.ts | 8 +- .../test/public/keyClient.spec.ts | 138 +- .../keyvault-keys/test/public/list.spec.ts | 2 +- .../test/public/localCryptography.spec.ts | 2 +- .../test/public/lro.delete.spec.ts | 2 +- .../test/public/lro.recoverDelete.spec.ts | 2 +- .../test/public/recoverBackupRestore.spec.ts | 2 +- .../test/utils/base64url.browser.ts | 25 + .../keyvault-keys/test/utils/base64url.ts | 26 + .../keyvault-keys/test/utils/recorderUtils.ts | 2 +- .../test/utils/testAuthentication.ts | 40 +- .../keyvault-keys/test/utils/utils.common.ts | 2 +- sdk/keyvault/keyvault-secrets/CHANGELOG.md | 8 +- sdk/keyvault/keyvault-secrets/karma.conf.js | 2 +- sdk/keyvault/keyvault-secrets/package.json | 13 +- .../keyvault-secrets/rollup.base.config.js | 3 +- .../samples/v4/javascript/README.md | 2 +- .../samples/v4/javascript/package.json | 4 +- .../samples/v4/typescript/README.md | 2 +- .../samples/v4/typescript/package.json | 4 +- .../keyvault-secrets/src/constants.ts | 2 +- .../src/generated/keyVaultClient.ts | 4 +- .../src/generated/keyVaultClientContext.ts | 11 +- .../src/generated/models/index.ts | 20 +- .../keyvault-secrets/swagger/README.md | 4 +- ...challengeBasedAuthenticationPolicy.spec.ts | 2 +- .../internal/serviceVersionParameter.spec.ts | 8 +- .../keyvault-secrets/test/public/CRUD.spec.ts | 2 +- .../keyvault-secrets/test/public/list.spec.ts | 2 +- .../test/public/lro.delete.spec.ts | 2 +- .../test/public/lro.recover.spec.ts | 2 +- .../test/public/recoverBackupRestore.spec.ts | 2 +- .../test/utils/recorderUtils.ts | 2 +- .../test/utils/testAuthentication.ts | 2 +- .../keyvault-certificates/package.json | 11 +- .../perf-tests/keyvault-keys/package.json | 11 +- .../perf-tests/keyvault-secrets/package.json | 11 +- sdk/keyvault/test-resources.json | 78 +- .../arm-kubernetesconfiguration/README.md | 4 +- sdk/kusto/arm-kusto/README.md | 4 +- sdk/labservices/arm-labservices/README.md | 4 +- sdk/links/arm-links/CHANGELOG.md | 18 + sdk/links/arm-links/README.md | 3 +- sdk/links/arm-links/package.json | 4 +- .../src/managementLinkClientContext.ts | 2 +- .../README.md | 4 +- .../README.md | 4 +- sdk/locks/arm-locks/CHANGELOG.md | 18 + sdk/locks/arm-locks/README.md | 3 +- sdk/locks/arm-locks/package.json | 4 +- .../src/managementLockClientContext.ts | 2 +- sdk/logic/arm-logic/README.md | 4 +- .../arm-commitmentplans/README.md | 4 +- sdk/machinelearning/arm-webservices/README.md | 4 +- sdk/machinelearning/arm-workspaces/README.md | 4 +- .../arm-machinelearningcompute/README.md | 4 +- .../README.md | 4 +- .../arm-machinelearningservices/README.md | 4 +- .../arm-managedapplications/CHANGELOG.md | 18 + .../arm-managedapplications/README.md | 3 +- .../arm-managedapplications/package.json | 2 +- .../src/applicationClientContext.ts | 2 +- .../arm-managementgroups/README.md | 4 +- .../arm-managementpartner/README.md | 4 +- sdk/maps/arm-maps/README.md | 4 +- sdk/mariadb/arm-mariadb/README.md | 4 +- .../arm-marketplaceordering/README.md | 5 +- sdk/mediaservices/arm-mediaservices/README.md | 4 +- .../ai-metrics-advisor/karma.conf.js | 2 +- .../ai-metrics-advisor/package.json | 7 +- .../recording_creates_influxdb_data_feed.json | 4 +- .../recording_lists_hooks.json | 4 +- .../recording_updates_web_hook.json | 6 +- .../recording_creates_influxdb_data_feed.json | 4 +- .../recording_lists_hooks.json | 4 +- .../recording_updates_web_hook.json | 6 +- .../recording_creates_influxdb_data_feed.js | 2 +- .../recording_lists_hooks.js | 2 +- .../recording_updates_web_hook.js | 6 +- .../recording_creates_influxdb_data_feed.js | 2 +- .../recording_lists_hooks.js | 2 +- .../recording_updates_web_hook.js | 6 +- .../test/public/adminclient.spec.ts | 2 +- .../test/public/advisorclient.spec.ts | 2 +- .../test/public/dataSourceCred.spec.ts | 2 +- .../test/public/datafeed.spec.ts | 4 +- .../test/public/hookTests.spec.ts | 6 +- .../test/public/util/recordedClients.ts | 2 +- .../ai-metrics-advisor/package.json | 8 +- sdk/migrate/arm-migrate/README.md | 4 +- sdk/mixedreality/arm-mixedreality/README.md | 4 +- .../mixed-reality-authentication/CHANGELOG.md | 2 +- .../karma.conf.js | 2 +- .../mixed-reality-authentication/package.json | 5 +- .../mixedRealityStsRestClientContext.ts | 2 +- .../test/mixedRealityStsClient.spec.ts | 2 +- .../test/utils/recordedClient.ts | 2 +- .../README.md | 4 +- .../README.md | 4 +- sdk/monitor/arm-monitor/README.md | 4 +- .../CHANGELOG.md | 10 + .../package.json | 8 +- .../samples-dev/basicTracerNode.ts | 4 +- .../src/Declarations/Constants.ts | 28 - .../src/platform/nodejs/context/context.ts | 130 +- .../utils/constants/applicationinsights.ts | 40 +- .../src/utils/constants/span/dbAttributes.ts | 15 - .../utils/constants/span/grpcAttributes.ts | 15 - .../utils/constants/span/httpAttributes.ts | 25 - .../src/utils/spanUtils.ts | 361 +- .../test/internal/spanUtils.test.ts | 195 +- .../test/utils/assert.ts | 27 +- .../test/utils/basic.ts | 12 +- sdk/monitor/monitor-query/CHANGELOG.md | 45 +- sdk/monitor/monitor-query/README.md | 589 +- sdk/monitor/monitor-query/karma.conf.js | 2 +- sdk/monitor/monitor-query/package.json | 12 +- .../monitor-query/review/monitor-query.api.md | 239 +- .../monitor-query/samples-dev/logsQuery.ts | 16 +- .../samples-dev/logsQueryBatch.ts | 45 +- .../logsQueryMultipleWorkspaces.ts | 80 + .../monitor-query/samples-dev/metricsQuery.ts | 48 +- .../samples/v1/javascript/README.md | 12 +- .../samples/v1/javascript/logsQuery.js | 27 +- .../samples/v1/javascript/logsQueryBatch.js | 45 +- .../javascript/logsQueryMultipleWorkspaces.js | 80 + .../samples/v1/javascript/metricsQuery.js | 48 +- .../samples/v1/typescript/README.md | 12 +- .../samples/v1/typescript/src/logsQuery.ts | 31 +- .../v1/typescript/src/logsQueryBatch.ts | 45 +- .../src/logsQueryMultipleWorkspaces.ts | 80 + .../samples/v1/typescript/src/metricsQuery.ts | 48 +- sdk/monitor/monitor-query/src/constants.ts | 2 +- .../logquery/src/azureLogAnalyticsContext.ts | 2 +- .../generated/logquery/src/models/index.ts | 2 +- .../generated/logquery/src/models/mappers.ts | 2 +- .../logquery/src/operations/metadata.ts | 2 +- .../logquery/src/operations/query.ts | 2 +- .../src/monitorManagementClientContext.ts | 2 +- .../metrics/src/operations/metrics.ts | 2 +- .../src/monitorManagementClientContext.ts | 2 +- .../src/operations/metricDefinitions.ts | 2 +- .../src/monitorManagementClientContext.ts | 2 +- .../src/operations/metricNamespaces.ts | 2 +- sdk/monitor/monitor-query/src/index.ts | 43 +- .../src/internal/modelConverters.ts | 259 +- .../monitor-query/src/internal/util.ts | 4 +- .../monitor-query/src/logsQueryClient.ts | 114 +- .../monitor-query/src/metricsQueryClient.ts | 207 +- .../monitor-query/src/models/constants.ts | 22 +- .../src/models/publicLogsModels.ts | 172 +- .../src/models/publicMetricsModels.ts | 112 +- .../monitor-query/src/models/timeInterval.ts | 81 + .../monitor-query/src/timespanConversion.ts | 85 + sdk/monitor/monitor-query/swagger/logquery.md | 17 +- .../swagger/metric-definitions.md | 2 +- .../swagger/metric-namespaces.md | 2 +- sdk/monitor/monitor-query/swagger/metrics.md | 2 +- .../unit/logsQueryClient.unittest.spec.ts | 6 +- .../unit/modelConverters.unittest.spec.ts | 179 +- .../test/public/logsQueryClient.spec.ts | 116 +- .../test/public/metricsQueryClient.spec.ts | 78 +- .../test/public/shared/testShared.ts | 10 +- sdk/monitor/test-resources.json | 13 +- sdk/msi/arm-msi/README.md | 4 +- sdk/mysql/arm-mysql/README.md | 4 +- .../README.md | 4 +- .../README.md | 4 +- sdk/network/arm-network/CHANGELOG.md | 72 + sdk/network/arm-network/README.md | 18 +- sdk/network/arm-network/_meta.json | 6 +- sdk/network/arm-network/api-extractor.json | 4 +- sdk/network/arm-network/package.json | 22 +- .../arm-network/review/arm-network.api.md | 143 + sdk/network/arm-network/src/coreClientLro.ts | 323 - .../arm-network/src/lro/azureAsyncPolling.ts | 96 - .../arm-network/src/lro/bodyPolling.ts | 54 - sdk/network/arm-network/src/lro/index.ts | 26 - .../arm-network/src/lro/locationPolling.ts | 30 - sdk/network/arm-network/src/lro/lroEngine.ts | 61 - sdk/network/arm-network/src/lro/models.ts | 173 - sdk/network/arm-network/src/lro/operation.ts | 120 - .../arm-network/src/lro/passthrough.ts | 23 - .../arm-network/src/lro/requestUtils.ts | 105 - .../arm-network/src/lro/stateMachine.ts | 138 - sdk/network/arm-network/src/lroImpl.ts | 34 + sdk/network/arm-network/src/models/index.ts | 245 +- sdk/network/arm-network/src/models/mappers.ts | 579 + .../arm-network/src/models/parameters.ts | 22 +- .../src/networkManagementClient.ts | 55 +- .../src/networkManagementClientContext.ts | 2 +- ...cationGatewayPrivateEndpointConnections.ts | 29 +- .../applicationGatewayPrivateLinkResources.ts | 2 +- .../src/operations/applicationGateways.ts | 73 +- .../operations/applicationSecurityGroups.ts | 29 +- .../src/operations/availableDelegations.ts | 2 +- .../operations/availableEndpointServices.ts | 2 +- .../availablePrivateEndpointTypes.ts | 2 +- .../availableResourceGroupDelegations.ts | 2 +- .../src/operations/availableServiceAliases.ts | 2 +- .../src/operations/azureFirewallFqdnTags.ts | 2 +- .../src/operations/azureFirewalls.ts | 40 +- .../src/operations/bastionHosts.ts | 156 +- .../src/operations/bgpServiceCommunities.ts | 2 +- .../src/operations/connectionMonitors.ts | 62 +- .../src/operations/customIPPrefixes.ts | 29 +- .../src/operations/ddosCustomPolicies.ts | 29 +- .../src/operations/ddosProtectionPlans.ts | 29 +- .../src/operations/defaultSecurityRules.ts | 2 +- .../operations/dscpConfigurationOperations.ts | 29 +- .../expressRouteCircuitAuthorizations.ts | 29 +- .../expressRouteCircuitConnections.ts | 29 +- .../operations/expressRouteCircuitPeerings.ts | 29 +- .../src/operations/expressRouteCircuits.ts | 62 +- .../src/operations/expressRouteConnections.ts | 29 +- .../expressRouteCrossConnectionPeerings.ts | 29 +- .../expressRouteCrossConnections.ts | 51 +- .../src/operations/expressRouteGateways.ts | 40 +- .../src/operations/expressRouteLinks.ts | 2 +- .../src/operations/expressRoutePorts.ts | 29 +- .../operations/expressRoutePortsLocations.ts | 2 +- .../expressRouteServiceProviders.ts | 2 +- .../src/operations/firewallPolicies.ts | 29 +- .../firewallPolicyRuleCollectionGroups.ts | 29 +- .../arm-network/src/operations/flowLogs.ts | 29 +- .../src/operations/hubRouteTables.ts | 29 +- .../hubVirtualNetworkConnections.ts | 29 +- .../src/operations/inboundNatRules.ts | 29 +- .../inboundSecurityRuleOperations.ts | 18 +- .../arm-network/src/operations/index.ts | 1 + .../src/operations/ipAllocations.ts | 29 +- .../arm-network/src/operations/ipGroups.ts | 29 +- .../loadBalancerBackendAddressPools.ts | 29 +- .../loadBalancerFrontendIPConfigurations.ts | 2 +- .../loadBalancerLoadBalancingRules.ts | 2 +- .../loadBalancerNetworkInterfaces.ts | 2 +- .../operations/loadBalancerOutboundRules.ts | 2 +- .../src/operations/loadBalancerProbes.ts | 2 +- .../src/operations/loadBalancers.ts | 40 +- .../src/operations/localNetworkGateways.ts | 29 +- .../arm-network/src/operations/natGateways.ts | 29 +- .../arm-network/src/operations/natRules.ts | 29 +- .../networkInterfaceIPConfigurations.ts | 2 +- .../networkInterfaceLoadBalancers.ts | 2 +- .../networkInterfaceTapConfigurations.ts | 29 +- .../src/operations/networkInterfaces.ts | 51 +- .../src/operations/networkProfiles.ts | 18 +- .../src/operations/networkSecurityGroups.ts | 29 +- .../operations/networkVirtualAppliances.ts | 29 +- .../src/operations/networkWatchers.ts | 139 +- .../arm-network/src/operations/operations.ts | 2 +- .../src/operations/p2SVpnGateways.ts | 95 +- .../src/operations/packetCaptures.ts | 51 +- .../peerExpressRouteCircuitConnections.ts | 2 +- .../src/operations/privateDnsZoneGroups.ts | 29 +- .../src/operations/privateEndpoints.ts | 29 +- .../src/operations/privateLinkServices.ts | 62 +- .../src/operations/publicIPAddresses.ts | 29 +- .../src/operations/publicIPPrefixes.ts | 29 +- .../src/operations/resourceNavigationLinks.ts | 2 +- .../src/operations/routeFilterRules.ts | 29 +- .../src/operations/routeFilters.ts | 29 +- .../arm-network/src/operations/routeTables.ts | 29 +- .../arm-network/src/operations/routes.ts | 29 +- .../operations/securityPartnerProviders.ts | 29 +- .../src/operations/securityRules.ts | 29 +- .../src/operations/serviceAssociationLinks.ts | 2 +- .../src/operations/serviceEndpointPolicies.ts | 29 +- .../serviceEndpointPolicyDefinitions.ts | 29 +- .../serviceTagInformationOperations.ts | 174 + .../arm-network/src/operations/serviceTags.ts | 2 +- .../arm-network/src/operations/subnets.ts | 51 +- .../arm-network/src/operations/usages.ts | 2 +- .../src/operations/virtualApplianceSites.ts | 29 +- .../src/operations/virtualApplianceSkus.ts | 2 +- .../src/operations/virtualHubBgpConnection.ts | 29 +- .../operations/virtualHubBgpConnections.ts | 29 +- .../operations/virtualHubIpConfiguration.ts | 29 +- .../src/operations/virtualHubRouteTableV2S.ts | 29 +- .../arm-network/src/operations/virtualHubs.ts | 40 +- .../virtualNetworkGatewayConnections.ts | 106 +- .../virtualNetworkGatewayNatRules.ts | 29 +- .../src/operations/virtualNetworkGateways.ts | 194 +- .../src/operations/virtualNetworkPeerings.ts | 29 +- .../src/operations/virtualNetworkTaps.ts | 29 +- .../src/operations/virtualNetworks.ts | 29 +- .../src/operations/virtualRouterPeerings.ts | 29 +- .../src/operations/virtualRouters.ts | 29 +- .../arm-network/src/operations/virtualWans.ts | 29 +- .../src/operations/vpnConnections.ts | 51 +- .../arm-network/src/operations/vpnGateways.ts | 73 +- .../src/operations/vpnLinkConnections.ts | 29 +- .../src/operations/vpnServerConfigurations.ts | 29 +- ...rConfigurationsAssociatedWithVirtualWan.ts | 18 +- .../src/operations/vpnSiteLinkConnections.ts | 2 +- .../src/operations/vpnSiteLinks.ts | 2 +- .../arm-network/src/operations/vpnSites.ts | 29 +- .../src/operations/vpnSitesConfiguration.ts | 18 +- .../webApplicationFirewallPolicies.ts | 18 +- .../src/operations/webCategories.ts | 2 +- .../src/operationsInterfaces/bastionHosts.ts | 36 +- .../src/operationsInterfaces/index.ts | 1 + .../serviceTagInformationOperations.ts | 30 + sdk/network/arm-network/tsconfig.json | 3 +- .../arm-notificationhubs/README.md | 4 +- .../arm-operationalinsights/README.md | 4 +- .../loganalytics/README.md | 11 +- .../loganalytics/package.json | 4 +- .../src/logAnalyticsClientContext.ts | 2 +- .../arm-operations/README.md | 4 +- sdk/peering/arm-peering/README.md | 4 +- .../README.md | 4 +- .../README.md | 4 +- sdk/policy/arm-policy/CHANGELOG.md | 18 + sdk/policy/arm-policy/README.md | 3 +- sdk/policy/arm-policy/package.json | 4 +- .../arm-policy/src/policyClientContext.ts | 2 +- .../arm-policyinsights/README.md | 4 +- .../arm-postgresql-flexible/README.md | 4 +- sdk/postgresql/arm-postgresql/README.md | 4 +- .../arm-powerbidedicated/README.md | 4 +- .../arm-powerbiembedded/README.md | 4 +- sdk/privatedns/arm-privatedns/README.md | 4 +- sdk/purview/arm-purview/CHANGELOG.md | 26 + sdk/purview/arm-purview/LICENSE | 21 + sdk/purview/arm-purview/README.md | 93 + sdk/purview/arm-purview/_meta.json | 7 + sdk/purview/arm-purview/api-extractor.json | 18 + sdk/purview/arm-purview/package.json | 98 + .../arm-purview/review/arm-purview.api.md | 667 + sdk/purview/arm-purview/rollup.config.js | 188 + sdk/purview/arm-purview/src/index.ts | 13 + sdk/purview/arm-purview/src/lroImpl.ts | 34 + sdk/purview/arm-purview/src/models/index.ts | 956 + sdk/purview/arm-purview/src/models/mappers.ts | 1258 + .../arm-purview/src/models/parameters.ts | 208 + .../arm-purview/src/operations/accounts.ts | 795 + .../src/operations/defaultAccounts.ts | 146 + .../arm-purview/src/operations/index.ts | 13 + .../arm-purview/src/operations/operations.ts | 138 + .../operations/privateEndpointConnections.ts | 494 + .../src/operations/privateLinkResources.ts | 234 + .../src/operationsInterfaces/accounts.ts | 180 + .../operationsInterfaces/defaultAccounts.ts | 52 + .../src/operationsInterfaces/index.ts | 13 + .../src/operationsInterfaces/operations.ts | 23 + .../privateEndpointConnections.ts | 110 + .../privateLinkResources.ts | 45 + .../src/purviewManagementClient.ts | 52 + .../src/purviewManagementClientContext.ts | 70 + sdk/purview/arm-purview/tsconfig.json | 19 + sdk/purview/ci.yml | 9 +- .../purview-account-rest/.eslintrc.json | 11 + sdk/purview/purview-account-rest/CHANGELOG.md | 5 + .../purview-account-rest/LICENSE} | 0 sdk/purview/purview-account-rest/README.md | 141 + .../purview-account-rest/api-extractor.json | 31 + sdk/purview/purview-account-rest/package.json | 130 + .../recording_should_get_the_account_info.js | 58 + ...g_should_list_all_available_collections.js | 56 + .../review/purview-account.api.md | 806 + .../purview-account-rest/rollup.config.js | 3 + sdk/purview/purview-account-rest/sample.env | 7 + .../samples-dev/collections.ts | 36 + .../samples/v1/javascript/README.md | 63 + .../samples/v1/javascript/collections.js | 31 + .../samples/v1/javascript/package.json | 33 + .../samples/v1/javascript/sample.env | 7 + .../samples/v1/typescript/README.md | 76 + .../samples/v1/typescript/package.json | 41 + .../samples/v1/typescript/sample.env | 7 + .../samples/v1/typescript/src/collections.ts | 31 + .../samples/v1/typescript/tsconfig.json | 17 + sdk/purview/purview-account-rest/src/index.ts | 13 + .../purview-account-rest/src/models.ts | 367 + .../src/paginateHelper.ts | 36 + .../purview-account-rest/src/parameters.ts | 79 + .../src/purviewAccount.ts | 206 + .../purview-account-rest/src/responses.ts | 189 + .../purview-account-rest/swagger/README.md | 22 + .../test/public/account.spec.ts | 33 + .../test/public/collections.spec.ts | 34 + .../test/public/utils/env.browser.ts | 2 + .../test/public/utils/env.ts | 6 + .../test/public/utils/recordedClient.ts | 55 + .../purview-account-rest/tsconfig.json | 11 + .../purview-catalog-rest/karma.conf.js | 2 +- sdk/purview/purview-catalog-rest/package.json | 7 +- .../test/public/typedefs.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- sdk/purview/purview-scanning-rest/README.md | 5 +- .../purview-scanning-rest/karma.conf.js | 2 +- .../purview-scanning-rest/package.json | 7 +- .../test/public/dataSources.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- sdk/quantum/quantum-jobs/karma.conf.js | 2 +- sdk/quantum/quantum-jobs/package.json | 9 +- sdk/quantum/quantum-jobs/samples/package.json | 2 +- .../test/public/quantumJobClient.spec.ts | 4 +- .../quantum-jobs/test/utils/recorderUtils.ts | 2 +- .../test/utils/testAuthentication.ts | 2 +- .../arm-recoveryservices/README.md | 4 +- .../README.md | 4 +- sdk/redis/arm-rediscache/README.md | 4 +- .../arm-redisenterprisecache/README.md | 4 +- sdk/relay/arm-relay/README.md | 5 +- .../CHANGELOG.md | 2 +- .../karma.conf.js | 2 +- .../package.json | 5 +- .../test/public/remoteRenderingClient.spec.ts | 4 +- .../test/utils/recordedClient.ts | 2 +- sdk/reservations/arm-reservations/README.md | 4 +- sdk/resourcegraph/arm-resourcegraph/README.md | 4 +- .../arm-resourcehealth/README.md | 4 +- sdk/resourcemover/arm-resourcemover/README.md | 4 +- .../arm-resources-subscriptions/CHANGELOG.md | 15 + .../arm-resources-subscriptions/LICENSE | 21 + .../arm-resources-subscriptions/README.md | 94 + .../arm-resources-subscriptions/_meta.json | 7 + .../api-extractor.json | 18 + .../arm-resources-subscriptions/package.json | 87 + .../review/arm-resources-subscriptions.api.md | 291 + .../rollup.config.js | 188 + .../arm-resources-subscriptions/src/index.ts | 13 + .../src/models/index.ts | 470 + .../src/models/mappers.ts | 682 + .../src/models/parameters.ts | 100 + .../src/operations/index.ts | 10 + .../src/operations/subscriptions.ts | 250 + .../src/operations/tenants.ts | 138 + .../src/operationsInterfaces/index.ts | 10 + .../src/operationsInterfaces/subscriptions.ts | 49 + .../src/operationsInterfaces/tenants.ts | 23 + .../src/subscriptionClient.ts | 74 + .../src/subscriptionClientContext.ts | 62 + .../arm-resources-subscriptions/tsconfig.json | 19 + sdk/resources-subscriptions/ci.yml | 29 + .../README.md | 4 +- .../README.md | 4 +- sdk/resources/arm-resources/CHANGELOG.md | 18 + sdk/resources/arm-resources/README.md | 3 +- sdk/resources/arm-resources/package.json | 2 +- .../src/resourceManagementClientContext.ts | 2 +- .../schema-registry-avro/CHANGELOG.md | 15 +- .../schema-registry-avro/karma.conf.js | 28 +- .../schema-registry-avro/package.json | 43 +- .../review/schema-registry-avro.api.md | 9 +- .../rollup.base.config.js | 157 - .../schema-registry-avro/rollup.config.js | 15 +- .../rollup.patched.config.js | 41 + .../rollup.test.config.js | 12 +- .../samples-dev/schemaRegistryAvroSample.ts | 12 +- .../samples/v1/javascript/README.md | 2 +- .../samples/v1/javascript/package.json | 4 +- .../samples/v1/typescript/README.md | 2 +- .../samples/v1/typescript/package.json | 4 +- .../src/schemaRegistryAvroSerializer.ts | 49 +- .../src/utils/buffer.browser.ts | 26 + .../schema-registry-avro/src/utils/buffer.ts | 13 + .../test/schemaRegistryAvroSerializer.spec.ts | 142 +- .../test/utils/dummies.ts | 31 + .../test/utils/mockedRegistryClient.ts | 71 + .../test/utils/mockedSerializer.ts | 27 + .../schema-registry-avro/tsconfig.json | 3 +- .../types/schema-registry-avro.shims.d.ts | 8 + .../schema-registry/CHANGELOG.md | 19 +- sdk/schemaregistry/schema-registry/README.md | 8 +- .../schema-registry/karma.conf.js | 2 +- .../schema-registry/package.json | 11 +- .../recording_schema_with_whitespace.json | 79 + .../recording_schema_with_whitespace.js | 167 + .../review/schema-registry.api.md | 37 +- .../samples-dev/schemaRegistrySample.ts | 12 +- .../samples/v1/javascript/README.md | 2 +- .../samples/v1/javascript/package.json | 4 +- .../v1/javascript/schemaRegistrySample.js | 12 +- .../samples/v1/typescript/README.md | 2 +- .../samples/v1/typescript/package.json | 4 +- .../v1/typescript/src/schemaRegistrySample.ts | 12 +- .../schema-registry/src/conversions.ts | 21 +- .../generatedSchemaRegistryClientContext.ts | 2 +- .../schema-registry/src/index.ts | 2 +- .../schema-registry/src/models.ts | 47 +- .../src/schemaRegistryClient.ts | 76 +- .../schema-registry/swagger/README.md | 2 +- .../test/schemaRegistry.spec.ts | 125 +- .../test/utils/recordedClient.ts | 2 +- sdk/search/arm-search/README.md | 4 +- .../perf-tests/search-documents/package.json | 12 +- .../test/core/documentsGenerator.ts | 16 +- .../search-documents/test/core/hotel.ts | 4 +- .../test/core/searchDocumentsBase.spec.ts | 4 +- .../search-documents/test/index.spec.ts | 6 +- .../test/indexDocumentsTest.spec.ts | 6 +- .../search-documents/test/suggestTest.spec.ts | 2 +- .../perf-tests/search-documents/tsconfig.json | 13 +- sdk/search/search-documents/CHANGELOG.md | 7 + sdk/search/search-documents/karma.conf.js | 2 +- sdk/search/search-documents/package.json | 28 +- ...returns_the_correct_autocomplete_result.js | 6 +- ..._returns_zero_results_for_invalid_query.js | 6 +- ...ount_returns_the_correct_document_count.js | 6 +- ...ocuments_delete_a_document_by_documents.js | 18 +- ...uments_delete_a_document_by_keykeynames.js | 10 +- ...ent_returns_the_correct_document_result.js | 6 +- ...ows_error_for_invalid_getdocument_value.js | 6 +- ...dexdocuments_deletes_existing_documents.js | 12 +- ...exdocuments_merges_an_existing_document.js | 10 +- ...ng_indexdocuments_mergeupload_documents.js | 18 +- ...ng_indexdocuments_upload_a_new_document.js | 10 +- ...ents_modify__merge_an_existing_document.js | 18 +- ...eoruploaddocuments_merge_a_new_document.js | 10 +- ...ents_modify__merge_an_existing_document.js | 18 +- ...earch_returns_the_correct_search_result.js | 6 +- ..._returns_zero_results_for_invalid_query.js | 6 +- ...suggest_returns_the_correct_suggestions.js | 6 +- ...urns_zero_suggestions_for_invalid_input.js | 6 +- ...loaddocuments_upload_a_set_of_documents.js | 10 +- ..._index_object_using_createorupdateindex.js | 26 +- ...recording_gets_the_correct_index_object.js | 10 +- .../recording_gets_the_list_of_indexes.js | 10 +- ...ecording_gets_the_list_of_indexes_names.js | 10 +- ...ing_modify_and_updates_the_index_object.js | 32 +- ...g_throws_error_for_invalid_index_object.js | 6 +- ...p_object_using_createorupdatesynonymmap.js | 22 +- ...ding_gets_the_correct_synonymmap_object.js | 12 +- .../recording_gets_the_list_of_synonymmaps.js | 10 +- ...ding_gets_the_list_of_synonymmaps_names.js | 6 +- ...odify_and_updates_the_synonymmap_object.js | 30 +- ...ows_error_for_invalid_synonymmap_object.js | 6 +- ...sing_createorupdatedatasourceconnection.js | 91 - ...the_correct_datasourceconnection_object.js | 39 - ..._the_list_of_datasourceconnection_names.js | 37 - ..._gets_the_list_of_datasourceconnections.js | 37 - ...updates_the_datasourceconnection_object.js | 107 - ...for_invalid_datasourceconnection_object.js | 35 - .../review/search-documents.api.md | 3 + .../bufferedSenderAutoFlushSize.ts} | 24 +- .../bufferedSenderAutoFlushTimer.ts} | 22 +- .../bufferedSenderManualFlush.ts} | 22 +- .../dataSourceConnectionOperations.ts | 97 + .../samples-dev/indexOperations.ts | 158 + .../samples-dev/indexerOperations.ts | 119 + .../src/utils => samples-dev}/interfaces.ts | 4 + .../src/utils => samples-dev}/setup.ts | 4 + .../samples-dev/skillSetOperations.ts | 127 + .../samples-dev/synonymMapOperations.ts | 71 + .../samples/javascript/README.md | 133 - .../samples/javascript/sample.env | 6 - .../createDataSourceConnection.js | 37 - .../createOrUpdateDataSourceConnection.js | 29 - .../deleteDataSourceConnectionByName.js | 26 - .../deleteDataSourceConnectionByObject.js | 28 - .../getDataSourceConnection.js | 36 - .../listDataSourceConnectionNames.js | 32 - .../listDataSourceConnections.js | 40 - .../javascript/src/indexers/createIndexer.js | 30 - .../src/indexers/createOrUpdateIndexer.js | 26 - .../src/indexers/deleteIndexerByName.js | 26 - .../src/indexers/deleteIndexerByObject.js | 29 - .../javascript/src/indexers/getIndexer.js | 30 - .../src/indexers/getIndexerStatus.js | 29 - .../src/indexers/listIndexerNames.js | 28 - .../javascript/src/indexers/listIndexers.js | 35 - .../javascript/src/indexers/resetIndexer.js | 23 - .../javascript/src/indexers/runIndexer.js | 23 - .../javascript/src/indexes/analyzeText.js | 40 - .../javascript/src/indexes/createIndex.js | 63 - .../src/indexes/createOrUpdateIndex.js | 35 - .../src/indexes/deleteIndexByName.js | 26 - .../src/indexes/deleteIndexByObject.js | 28 - .../javascript/src/indexes/getIndex.js | 28 - .../src/indexes/getIndexStatistics.js | 28 - .../src/indexes/getServiceStatistics.js | 52 - .../javascript/src/indexes/listIndexNames.js | 30 - .../javascript/src/indexes/listIndexes.js | 32 - .../src/skillSets/createOrUpdateSkillset.js | 36 - .../src/skillSets/createSkillset.js | 55 - .../src/skillSets/deleteSkillsetByName.js | 26 - .../src/skillSets/deleteSkillsetByObject.js | 28 - .../javascript/src/skillSets/getSkillset.js | 40 - .../javascript/src/skillSets/listSkillsets.js | 47 - .../src/skillSets/listSkillsetsNames.js | 28 - .../synonymMaps/createOrUpdateSynonymMap.js | 29 - .../src/synonymMaps/createSynonymMap.js | 29 - .../src/synonymMaps/deleteSynonymMapByName.js | 26 - .../synonymMaps/deleteSynonymMapByObject.js | 28 - .../src/synonymMaps/getSynonymMap.js | 31 - .../src/synonymMaps/listSynonymMapNames.js | 28 - .../src/synonymMaps/listSynonymMaps.js | 32 - .../search-documents/samples/tsconfig.json | 10 - .../samples/typescript/README.md | 146 - .../samples/typescript/sample.env | 6 - .../createDataSourceConnection.ts | 37 - .../createOrUpdateDataSourceConnection.ts | 31 - .../deleteDataSourceConnectionByName.ts | 27 - .../deleteDataSourceConnectionByObject.ts | 30 - .../getDataSourceConnection.ts | 38 - .../listDataSourceConnectionNames.ts | 29 - .../listDataSourceConnections.ts | 42 - .../typescript/src/indexers/createIndexer.ts | 31 - .../src/indexers/createOrUpdateIndexer.ts | 27 - .../src/indexers/deleteIndexerByName.ts | 27 - .../src/indexers/deleteIndexerByObject.ts | 30 - .../typescript/src/indexers/getIndexer.ts | 38 - .../src/indexers/getIndexerStatus.ts | 30 - .../src/indexers/listIndexerNames.ts | 29 - .../typescript/src/indexers/listIndexers.ts | 43 - .../typescript/src/indexers/resetIndexer.ts | 24 - .../typescript/src/indexers/runIndexer.ts | 24 - .../typescript/src/indexes/analyzeText.ts | 67 - .../typescript/src/indexes/createIndex.ts | 65 - .../src/indexes/createOrUpdateIndex.ts | 37 - .../src/indexes/deleteIndexByName.ts | 27 - .../src/indexes/deleteIndexByObject.ts | 30 - .../typescript/src/indexes/getIndex.ts | 26 - .../src/indexes/getIndexStatistics.ts | 30 - .../src/indexes/getServiceStatistics.ts | 53 - .../typescript/src/indexes/listIndexNames.ts | 31 - .../typescript/src/indexes/listIndexes.ts | 33 - .../src/skillSets/createOrUpdateSkillset.ts | 37 - .../src/skillSets/createSkillset.ts | 56 - .../src/skillSets/deleteSkillsetByName.ts | 27 - .../src/skillSets/deleteSkillsetByObject.ts | 30 - .../typescript/src/skillSets/getSkillset.ts | 45 - .../typescript/src/skillSets/listSkillsets.ts | 49 - .../src/skillSets/listSkillsetsNames.ts | 29 - .../synonymMaps/createOrUpdateSynonymMap.ts | 31 - .../src/synonymMaps/createSynonymMap.ts | 31 - .../src/synonymMaps/deleteSynonymMapByName.ts | 27 - .../synonymMaps/deleteSynonymMapByObject.ts | 30 - .../src/synonymMaps/getSynonymMap.ts | 33 - .../src/synonymMaps/listSynonymMapNames.ts | 29 - .../src/synonymMaps/listSynonymMaps.ts | 33 - .../samples/v11/javascript/README.md | 82 + .../javascript/bufferedSenderAutoFlushSize.js | 116 + .../bufferedSenderAutoFlushTimer.js | 106 + .../javascript/bufferedSenderManualFlush.js | 97 + .../dataSourceConnectionOperations.js | 82 + .../samples/v11/javascript/indexOperations.js | 153 + .../v11/javascript/indexerOperations.js | 114 + .../samples/v11/javascript/interfaces.js | 1 + .../samples/{ => v11}/javascript/package.json | 24 +- .../samples/v11/javascript/sample.env | 12 + .../samples/v11/javascript/setup.js | 227 + .../v11/javascript/skillSetOperations.js | 123 + .../v11/javascript/synonymMapOperations.js | 71 + .../samples/v11/typescript/README.md | 95 + .../samples/{ => v11}/typescript/package.json | 29 +- .../samples/v11/typescript/sample.env | 12 + .../src/bufferedSenderAutoFlushSize.ts | 125 + .../src/bufferedSenderAutoFlushTimer.ts | 115 + .../src/bufferedSenderManualFlush.ts | 106 + .../src/dataSourceConnectionOperations.ts | 97 + .../v11/typescript/src/indexOperations.ts | 158 + .../v11/typescript/src/indexerOperations.ts | 119 + .../samples/v11/typescript/src/interfaces.ts | 39 + .../samples/v11/typescript/src/setup.ts | 228 + .../v11/typescript/src/skillSetOperations.ts | 127 + .../typescript/src/synonymMapOperations.ts | 71 + .../samples/v11/typescript/tsconfig.json | 17 + sdk/search/search-documents/src/constants.ts | 2 +- .../src/generated/data/searchClientContext.ts | 2 +- .../src/generated/service/models/index.ts | 10 +- .../src/generated/service/models/mappers.ts | 28 +- .../service/searchServiceClientContext.ts | 2 +- .../search-documents/src/indexModels.ts | 19 +- .../search-documents/src/searchClient.ts | 10 +- .../search-documents/src/searchIndexClient.ts | 3 +- .../search-documents/src/serviceModels.ts | 4 + sdk/search/search-documents/swagger/Data.md | 2 +- .../search-documents/swagger/Service.md | 2 +- .../test/public/node/searchClient.spec.ts | 2 +- .../public/node/searchIndexClient.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 11 +- sdk/search/search-documents/tests.yml | 1 + sdk/search/search-documents/tsconfig.json | 7 +- sdk/search/test-resources.json | 4 +- sdk/security/arm-security/README.md | 4 +- sdk/serialconsole/arm-serialconsole/README.md | 4 +- sdk/service-map/arm-servicemap/README.md | 4 +- sdk/servicebus/arm-servicebus/CHANGELOG.md | 26 + sdk/servicebus/arm-servicebus/LICENSE | 21 + sdk/servicebus/arm-servicebus/README.md | 140 +- sdk/servicebus/arm-servicebus/_meta.json | 7 + .../arm-servicebus/api-extractor.json | 18 + sdk/servicebus/arm-servicebus/package.json | 80 +- .../review/arm-servicebus.api.md | 1451 + .../arm-servicebus/rollup.config.js | 211 +- sdk/servicebus/arm-servicebus/src/index.ts | 13 + sdk/servicebus/arm-servicebus/src/lroImpl.ts | 34 + .../models/disasterRecoveryConfigsMappers.ts | 44 - .../src/models/eventHubsMappers.ts | 40 - .../arm-servicebus/src/models/index.ts | 3631 +- .../arm-servicebus/src/models/mappers.ts | 2584 +- .../src/models/migrationConfigsMappers.ts | 40 - .../src/models/namespacesMappers.ts | 47 - .../src/models/operationsMappers.ts | 14 - .../arm-servicebus/src/models/parameters.ts | 345 +- ...remiumMessagingRegionsOperationsMappers.ts | 40 - .../src/models/queuesMappers.ts | 43 - .../src/models/regionsMappers.ts | 40 - .../arm-servicebus/src/models/rulesMappers.ts | 40 - .../src/models/subscriptionsMappers.ts | 40 - .../src/models/topicsMappers.ts | 43 - .../src/operations/disasterRecoveryConfigs.ts | 968 +- .../src/operations/eventHubs.ts | 212 +- .../arm-servicebus/src/operations/index.ts | 20 +- .../src/operations/migrationConfigs.ts | 621 +- .../src/operations/namespaces.ts | 2233 +- .../src/operations/operations.ts | 155 +- .../premiumMessagingRegionsOperations.ts | 164 +- .../operations/privateEndpointConnections.ts | 403 + .../src/operations/privateLinkResources.ts | 72 + .../arm-servicebus/src/operations/queues.ts | 1040 +- .../arm-servicebus/src/operations/regions.ts | 178 +- .../arm-servicebus/src/operations/rules.ts | 449 +- .../src/operations/subscriptions.ts | 427 +- .../arm-servicebus/src/operations/topics.ts | 1042 +- .../disasterRecoveryConfigs.ts | 170 + .../src/operationsInterfaces/eventHubs.ts | 27 + .../src/operationsInterfaces/index.ts | 21 + .../operationsInterfaces/migrationConfigs.ts | 128 + .../src/operationsInterfaces/namespaces.ts | 405 + .../src/operationsInterfaces/operations.ts | 23 + .../premiumMessagingRegionsOperations.ts | 26 + .../privateEndpointConnections.ts | 91 + .../privateLinkResources.ts | 27 + .../src/operationsInterfaces/queues.ts | 180 + .../src/operationsInterfaces/regions.ts | 28 + .../src/operationsInterfaces/rules.ts | 92 + .../src/operationsInterfaces/subscriptions.ts | 84 + .../src/operationsInterfaces/topics.ts | 180 + .../src/serviceBusManagementClient.ts | 122 +- .../src/serviceBusManagementClientContext.ts | 88 +- sdk/servicebus/arm-servicebus/tsconfig.json | 4 +- sdk/servicebus/ci.yml | 7 +- .../perf-tests/service-bus-track-1/README.md | 21 + .../service-bus-track-1/package.json | 48 + .../perf-tests/service-bus-track-1/sample.env | 1 + .../service-bus-track-1/test}/index.spec.ts | 0 .../service-bus-track-1/test}/sbBase.spec.ts | 2 +- .../test}/sendBatch.spec.ts | 2 +- .../service-bus-track-1/tsconfig.json | 10 + .../perf-tests/service-bus/README.md | 18 + .../perf-tests/service-bus/package.json | 49 + .../perf-tests/service-bus/sample.env | 1 + .../service-bus/test}/index.spec.ts | 0 .../service-bus/test}/sbBase.spec.ts | 2 +- .../service-bus/test}/sendBatch.spec.ts | 2 +- .../perf-tests/service-bus/tsconfig.json | 10 + sdk/servicebus/service-bus/package.json | 12 +- .../service-bus/src/diagnostics/tracing.ts | 3 +- .../service-bus/src/receivers/receiver.ts | 2 - .../service-bus/src/util/atomXmlHelper.ts | 3 +- .../test/internal/unit/atomXml.spec.ts | 2 +- .../perf-js-libs/azure-sb-package/receive.ts | 5 +- .../perf-js-libs/azure-sb-package/send.ts | 5 +- .../test/perf-js-libs/rhea-promise/receive.ts | 5 +- .../test/perf-js-libs/rhea-promise/send.ts | 5 +- .../perf-js-libs/service-bus-v1/receive.ts | 5 +- .../service-bus-v1/receiveBatch.ts | 5 +- .../test/perf-js-libs/service-bus-v1/send.ts | 5 +- .../perf-js-libs/service-bus-v7/receive.ts | 5 +- .../service-bus-v7/receiveBatch.ts | 5 +- .../test/perf-js-libs/service-bus-v7/send.ts | 5 +- .../service-bus/test/perf/track-1/README.md | 12 - .../test/perf/track-1/package.json | 17 - .../test/perf/track-1/tsconfig.json | 5 - .../service-bus/test/perf/track-2/README.md | 10 - .../test/public/atomManagement.spec.ts | 2 +- .../{testConstants.ts => fakeTestSecrets.ts} | 0 .../service-bus/test/stress/.helmignore | 1 + .../service-bus/test/stress/Chart.lock | 6 + .../service-bus/test/stress/Chart.yaml | 13 + .../service-bus/test/stress/Dockerfile | 15 +- .../service-bus/test/stress/SetupAndGuide.md | 91 - .../test/stress/{ => app}/package.json | 2 +- .../service-bus/test/stress/app/sample.env | 8 + .../{ => app/src}/scenarioBatchReceive.ts | 0 .../stress/{ => app/src}/scenarioCloseOpen.ts | 0 .../{ => app/src}/scenarioLongRunning.ts | 1 - .../{ => app/src}/scenarioPeekMessages.ts | 0 .../{ => app/src}/scenarioRenewMessageLock.ts | 0 .../{ => app/src}/scenarioRenewSessionLock.ts | 0 .../test/stress/{ => app/src}/scenarioSend.ts | 0 .../src}/scenarioShortLivedReceivers.ts | 0 .../{ => app/src}/scenarioStreamingReceive.ts | 0 .../{ => app/src}/serviceBusStressTester.ts | 2 +- .../test/stress/{ => app/src}/utils.ts | 0 .../test/stress/{ => app}/tsconfig.json | 2 +- .../service-bus/test/stress/parameters.json | 5 + .../service-bus/test/stress/pod.yaml | 30 - .../service-bus/test/stress/runContainer.js | 90 - .../service-bus/test/stress/sample.env | 27 - .../service-bus/test/stress/secrets.yaml | 9 - .../test/stress/templates/testjob.yaml | 16 + .../test/stress/test-resources.bicep | 40 + .../test/stress/test-resources.json | 77 + .../service-bus/test/stress/testAll.sh | 27 - .../service-bus/test/stress/testBuild.sh | 29 - .../service-bus/test/stress/testRun.sh | 49 - .../service-bus/test/stress/values.yaml | 13 + sdk/servicefabric/arm-servicefabric/README.md | 4 +- sdk/servicefabric/servicefabric/README.md | 6 +- .../arm-servicefabricmesh/README.md | 4 +- sdk/signalr/arm-signalr/README.md | 4 +- sdk/sql/arm-sql/CHANGELOG.md | 57 + sdk/sql/arm-sql/LICENSE | 21 + sdk/sql/arm-sql/LICENSE.txt | 21 - sdk/sql/arm-sql/README.md | 152 +- sdk/sql/arm-sql/_meta.json | 7 + sdk/sql/arm-sql/api-extractor.json | 18 + sdk/sql/arm-sql/package.json | 81 +- sdk/sql/arm-sql/review/arm-sql.api.md | 10070 ++++ sdk/sql/arm-sql/rollup.config.js | 211 +- sdk/sql/arm-sql/src/index.ts | 13 + sdk/sql/arm-sql/src/lroImpl.ts | 34 + .../backupLongTermRetentionPoliciesMappers.ts | 122 - ...backupShortTermRetentionPoliciesMappers.ts | 123 - .../arm-sql/src/models/capabilitiesMappers.ts | 29 - .../src/models/dataMaskingPoliciesMappers.ts | 122 - .../src/models/dataMaskingRulesMappers.ts | 123 - ...atabaseAutomaticTuningOperationsMappers.ts | 122 - .../databaseBlobAuditingPoliciesMappers.ts | 123 - .../src/models/databaseOperationsMappers.ts | 123 - .../databaseThreatDetectionPoliciesMappers.ts | 122 - .../src/models/databaseUsagesMappers.ts | 13 - ...erabilityAssessmentRuleBaselinesMappers.ts | 122 - ...baseVulnerabilityAssessmentScansMappers.ts | 123 - ...databaseVulnerabilityAssessmentsMappers.ts | 123 - .../arm-sql/src/models/databasesMappers.ts | 135 - .../models/elasticPoolActivitiesMappers.ts | 123 - .../elasticPoolDatabaseActivitiesMappers.ts | 123 - .../models/elasticPoolOperationsMappers.ts | 123 - .../arm-sql/src/models/elasticPoolsMappers.ts | 131 - .../src/models/encryptionProtectorsMappers.ts | 123 - ...ndedDatabaseBlobAuditingPoliciesMappers.ts | 122 - ...tendedServerBlobAuditingPoliciesMappers.ts | 122 - .../src/models/failoverGroupsMappers.ts | 124 - .../src/models/firewallRulesMappers.ts | 123 - .../src/models/geoBackupPoliciesMappers.ts | 123 - sdk/sql/arm-sql/src/models/index.ts | 23640 ++++---- .../models/instanceFailoverGroupsMappers.ts | 123 - .../src/models/instancePoolsMappers.ts | 124 - .../arm-sql/src/models/jobAgentsMappers.ts | 124 - .../src/models/jobCredentialsMappers.ts | 123 - .../src/models/jobExecutionsMappers.ts | 123 - .../src/models/jobStepExecutionsMappers.ts | 123 - sdk/sql/arm-sql/src/models/jobStepsMappers.ts | 123 - .../src/models/jobTargetExecutionsMappers.ts | 123 - .../src/models/jobTargetGroupsMappers.ts | 123 - .../arm-sql/src/models/jobVersionsMappers.ts | 123 - sdk/sql/arm-sql/src/models/jobsMappers.ts | 123 - .../models/longTermRetentionBackupsMappers.ts | 123 - ...BackupShortTermRetentionPoliciesMappers.ts | 123 - .../managedDatabaseRestoreDetailsMappers.ts | 122 - ...gedDatabaseSecurityAlertPoliciesMappers.ts | 123 - ...managedDatabaseSensitivityLabelsMappers.ts | 123 - ...erabilityAssessmentRuleBaselinesMappers.ts | 122 - ...baseVulnerabilityAssessmentScansMappers.ts | 123 - ...DatabaseVulnerabilityAssessmentsMappers.ts | 123 - .../src/models/managedDatabasesMappers.ts | 125 - .../managedInstanceAdministratorsMappers.ts | 123 - ...agedInstanceEncryptionProtectorsMappers.ts | 123 - .../src/models/managedInstanceKeysMappers.ts | 123 - .../managedInstanceTdeCertificatesMappers.ts | 122 - ...InstanceVulnerabilityAssessmentsMappers.ts | 123 - .../src/models/managedInstancesMappers.ts | 124 - ...BackupShortTermRetentionPoliciesMappers.ts | 123 - ...nagedServerSecurityAlertPoliciesMappers.ts | 123 - sdk/sql/arm-sql/src/models/mappers.ts | 15049 +++-- .../arm-sql/src/models/operationsMappers.ts | 14 - sdk/sql/arm-sql/src/models/parameters.ts | 1681 +- .../privateEndpointConnectionsMappers.ts | 123 - .../src/models/privateLinkResourcesMappers.ts | 123 - .../models/recommendedElasticPoolsMappers.ts | 124 - .../src/models/recoverableDatabasesMappers.ts | 123 - .../recoverableManagedDatabasesMappers.ts | 123 - .../src/models/replicationLinksMappers.ts | 123 - .../restorableDroppedDatabasesMappers.ts | 123 - ...estorableDroppedManagedDatabasesMappers.ts | 123 - .../src/models/restorePointsMappers.ts | 124 - .../src/models/sensitivityLabelsMappers.ts | 123 - .../serverAutomaticTuningOperationsMappers.ts | 122 - .../serverAzureADAdministratorsMappers.ts | 123 - .../serverBlobAuditingPoliciesMappers.ts | 123 - .../models/serverCommunicationLinksMappers.ts | 123 - .../models/serverConnectionPoliciesMappers.ts | 122 - .../src/models/serverDnsAliasesMappers.ts | 124 - .../arm-sql/src/models/serverKeysMappers.ts | 123 - .../serverSecurityAlertPoliciesMappers.ts | 123 - .../arm-sql/src/models/serverUsagesMappers.ts | 13 - .../serverVulnerabilityAssessmentsMappers.ts | 123 - sdk/sql/arm-sql/src/models/serversMappers.ts | 126 - .../src/models/serviceObjectivesMappers.ts | 123 - .../src/models/serviceTierAdvisorsMappers.ts | 123 - .../src/models/subscriptionUsagesMappers.ts | 123 - .../arm-sql/src/models/syncAgentsMappers.ts | 125 - .../arm-sql/src/models/syncGroupsMappers.ts | 131 - .../arm-sql/src/models/syncMembersMappers.ts | 127 - .../src/models/tdeCertificatesMappers.ts | 122 - ...nsparentDataEncryptionActivitiesMappers.ts | 123 - .../transparentDataEncryptionsMappers.ts | 122 - sdk/sql/arm-sql/src/models/usagesMappers.ts | 14 - .../src/models/virtualClustersMappers.ts | 124 - .../src/models/virtualNetworkRulesMappers.ts | 123 - .../backupLongTermRetentionPolicies.ts | 235 - .../backupShortTermRetentionPolicies.ts | 651 +- .../arm-sql/src/operations/capabilities.ts | 86 +- .../src/operations/dataMaskingPolicies.ts | 183 +- .../src/operations/dataMaskingRules.ts | 252 +- .../dataWarehouseUserActivitiesOperations.ts | 258 + .../src/operations/databaseAdvisors.ts | 183 + .../databaseAutomaticTuningOperations.ts | 192 +- .../databaseBlobAuditingPolicies.ts | 408 +- .../arm-sql/src/operations/databaseColumns.ts | 492 + .../databaseExtensionsOperations.ts | 391 + .../src/operations/databaseOperations.ts | 321 +- .../operations/databaseRecommendedActions.ts | 203 + .../arm-sql/src/operations/databaseSchemas.ts | 250 + .../databaseSecurityAlertPolicies.ts | 318 + .../arm-sql/src/operations/databaseTables.ts | 282 + .../databaseThreatDetectionPolicies.ts | 182 - .../arm-sql/src/operations/databaseUsages.ts | 207 +- ...aseVulnerabilityAssessmentRuleBaselines.ts | 311 +- .../databaseVulnerabilityAssessmentScans.ts | 553 +- .../databaseVulnerabilityAssessments.ts | 479 +- sdk/sql/arm-sql/src/operations/databases.ts | 2434 +- .../arm-sql/src/operations/deletedServers.ts | 423 + .../src/operations/elasticPoolActivities.ts | 165 +- .../elasticPoolDatabaseActivities.ts | 166 +- .../src/operations/elasticPoolOperations.ts | 321 +- .../arm-sql/src/operations/elasticPools.ts | 1158 +- .../src/operations/encryptionProtectors.ts | 594 +- .../extendedDatabaseBlobAuditingPolicies.ts | 340 +- .../extendedServerBlobAuditingPolicies.ts | 400 +- .../arm-sql/src/operations/failoverGroups.ts | 1057 +- .../arm-sql/src/operations/firewallRules.ts | 456 +- .../src/operations/geoBackupPolicies.ts | 316 +- sdk/sql/arm-sql/src/operations/index.ts | 136 +- .../src/operations/instanceFailoverGroups.ts | 893 +- .../arm-sql/src/operations/instancePools.ts | 877 +- sdk/sql/arm-sql/src/operations/jobAgents.ts | 757 +- .../arm-sql/src/operations/jobCredentials.ts | 480 +- .../arm-sql/src/operations/jobExecutions.ts | 960 +- .../src/operations/jobStepExecutions.ts | 370 +- sdk/sql/arm-sql/src/operations/jobSteps.ts | 808 +- .../src/operations/jobTargetExecutions.ts | 648 +- .../arm-sql/src/operations/jobTargetGroups.ts | 480 +- sdk/sql/arm-sql/src/operations/jobVersions.ts | 336 +- sdk/sql/arm-sql/src/operations/jobs.ts | 480 +- .../ledgerDigestUploadsOperations.ts | 542 + .../operations/longTermRetentionBackups.ts | 2212 +- ...longTermRetentionManagedInstanceBackups.ts | 1409 + .../operations/longTermRetentionPolicies.ts | 398 + .../maintenanceWindowOptionsOperations.ts | 86 + .../maintenanceWindowsOperations.ts | 134 + ...managedBackupShortTermRetentionPolicies.ts | 665 +- .../src/operations/managedDatabaseColumns.ts | 498 + .../src/operations/managedDatabaseQueries.ts | 294 + ...gedDatabaseRecommendedSensitivityLabels.ts | 80 + .../managedDatabaseRestoreDetails.ts | 103 +- .../src/operations/managedDatabaseSchemas.ts | 262 + .../managedDatabaseSecurityAlertPolicies.ts | 422 +- .../managedDatabaseSecurityEvents.ts | 223 + .../managedDatabaseSensitivityLabels.ts | 925 +- .../src/operations/managedDatabaseTables.ts | 288 + ...anagedDatabaseTransparentDataEncryption.ts | 330 + ...aseVulnerabilityAssessmentRuleBaselines.ts | 312 +- ...gedDatabaseVulnerabilityAssessmentScans.ts | 565 +- ...managedDatabaseVulnerabilityAssessments.ts | 471 +- .../src/operations/managedDatabases.ts | 1004 +- .../managedInstanceAdministrators.ts | 586 +- ...nagedInstanceAzureADOnlyAuthentications.ts | 484 + .../managedInstanceEncryptionProtectors.ts | 591 +- .../src/operations/managedInstanceKeys.ts | 590 +- ...anagedInstanceLongTermRetentionPolicies.ts | 414 + .../operations/managedInstanceOperations.ts | 269 + ...nagedInstancePrivateEndpointConnections.ts | 491 + .../managedInstancePrivateLinkResources.ts | 235 + .../managedInstanceTdeCertificates.ts | 163 +- ...managedInstanceVulnerabilityAssessments.ts | 480 +- .../src/operations/managedInstances.ts | 1301 +- ...atabaseBackupShortTermRetentionPolicies.ts | 686 +- .../managedServerSecurityAlertPolicies.ts | 470 +- sdk/sql/arm-sql/src/operations/operations.ts | 163 +- .../operations/operationsHealthOperations.ts | 163 + .../src/operations/outboundFirewallRules.ts | 468 + .../operations/privateEndpointConnections.ts | 607 +- .../src/operations/privateLinkResources.ts | 306 +- .../src/operations/recommendedElasticPools.ts | 220 - .../recommendedSensitivityLabels.ts | 74 + .../src/operations/recoverableDatabases.ts | 228 +- .../operations/recoverableManagedDatabases.ts | 300 +- .../src/operations/replicationLinks.ts | 889 +- .../operations/restorableDroppedDatabases.ts | 275 +- .../restorableDroppedManagedDatabases.ts | 300 +- .../arm-sql/src/operations/restorePoints.ts | 514 +- .../src/operations/sensitivityLabels.ts | 912 +- .../arm-sql/src/operations/serverAdvisors.ts | 167 + .../serverAutomaticTuningOperations.ts | 182 +- .../operations/serverAzureADAdministrators.ts | 580 +- .../serverAzureADOnlyAuthentications.ts | 482 + .../operations/serverBlobAuditingPolicies.ts | 465 +- .../operations/serverCommunicationLinks.ts | 450 +- .../operations/serverConnectionPolicies.ts | 176 +- .../operations/serverDevOpsAuditSettings.ts | 376 + .../src/operations/serverDnsAliases.ts | 758 +- sdk/sql/arm-sql/src/operations/serverKeys.ts | 607 +- .../src/operations/serverOperations.ts | 189 + .../operations/serverSecurityAlertPolicies.ts | 469 +- .../src/operations/serverTrustGroups.ts | 628 + .../arm-sql/src/operations/serverUsages.ts | 155 +- .../serverVulnerabilityAssessments.ts | 458 +- sdk/sql/arm-sql/src/operations/servers.ts | 1041 +- .../src/operations/serviceObjectives.ts | 228 +- .../src/operations/serviceTierAdvisors.ts | 165 - sdk/sql/arm-sql/src/operations/sqlAgent.ts | 116 + .../src/operations/subscriptionUsages.ts | 261 +- sdk/sql/arm-sql/src/operations/syncAgents.ts | 903 +- sdk/sql/arm-sql/src/operations/syncGroups.ts | 1745 +- sdk/sql/arm-sql/src/operations/syncMembers.ts | 1188 +- .../arm-sql/src/operations/tdeCertificates.ts | 159 +- sdk/sql/arm-sql/src/operations/timeZones.ts | 201 + .../transparentDataEncryptionActivities.ts | 171 +- .../operations/transparentDataEncryptions.ts | 184 +- sdk/sql/arm-sql/src/operations/usages.ts | 229 +- .../arm-sql/src/operations/virtualClusters.ts | 732 +- .../src/operations/virtualNetworkRules.ts | 599 +- .../src/operations/workloadClassifiers.ts | 563 + .../arm-sql/src/operations/workloadGroups.ts | 517 + .../backupShortTermRetentionPolicies.ts | 141 + .../src/operationsInterfaces/capabilities.ts | 25 + .../dataMaskingPolicies.ts | 49 + .../operationsInterfaces/dataMaskingRules.ts | 53 + .../dataWarehouseUserActivitiesOperations.ts | 52 + .../operationsInterfaces/databaseAdvisors.ts | 69 + .../databaseAutomaticTuningOperations.ts | 49 + .../databaseBlobAuditingPolicies.ts | 67 + .../operationsInterfaces/databaseColumns.ts | 74 + .../databaseExtensionsOperations.ts | 95 + .../databaseOperations.ts | 50 + .../databaseRecommendedActions.ts | 75 + .../operationsInterfaces/databaseSchemas.ts | 51 + .../databaseSecurityAlertPolicies.ts | 72 + .../operationsInterfaces/databaseTables.ts | 55 + .../operationsInterfaces/databaseUsages.ts | 33 + ...aseVulnerabilityAssessmentRuleBaselines.ts | 92 + .../databaseVulnerabilityAssessmentScans.ts | 114 + .../databaseVulnerabilityAssessments.ts | 90 + .../src/operationsInterfaces/databases.ts | 444 + .../operationsInterfaces/deletedServers.ts | 79 + .../elasticPoolActivities.ts | 33 + .../elasticPoolDatabaseActivities.ts | 33 + .../elasticPoolOperations.ts | 50 + .../src/operationsInterfaces/elasticPools.ts | 219 + .../encryptionProtectors.ts | 117 + .../extendedDatabaseBlobAuditingPolicies.ts | 67 + .../extendedServerBlobAuditingPolicies.ts | 83 + .../operationsInterfaces/failoverGroups.ts | 226 + .../src/operationsInterfaces/firewallRules.ts | 97 + .../operationsInterfaces/geoBackupPolicies.ts | 72 + .../arm-sql/src/operationsInterfaces/index.ts | 128 + .../instanceFailoverGroups.ts | 190 + .../src/operationsInterfaces/instancePools.ts | 148 + .../src/operationsInterfaces/jobAgents.ts | 156 + .../operationsInterfaces/jobCredentials.ts | 88 + .../src/operationsInterfaces/jobExecutions.ts | 172 + .../operationsInterfaces/jobStepExecutions.ts | 59 + .../src/operationsInterfaces/jobSteps.ts | 137 + .../jobTargetExecutions.ts | 82 + .../operationsInterfaces/jobTargetGroups.ts | 88 + .../src/operationsInterfaces/jobVersions.ts | 55 + .../arm-sql/src/operationsInterfaces/jobs.ts | 88 + .../ledgerDigestUploadsOperations.ts | 137 + .../longTermRetentionBackups.ts | 383 + ...longTermRetentionManagedInstanceBackups.ts | 205 + .../longTermRetentionPolicies.ts | 96 + .../maintenanceWindowOptionsOperations.ts | 32 + .../maintenanceWindowsOperations.ts | 52 + ...managedBackupShortTermRetentionPolicies.ts | 141 + .../managedDatabaseColumns.ts | 74 + .../managedDatabaseQueries.ts | 53 + ...gedDatabaseRecommendedSensitivityLabels.ts | 32 + .../managedDatabaseRestoreDetails.ts | 33 + .../managedDatabaseSchemas.ts | 51 + .../managedDatabaseSecurityAlertPolicies.ts | 73 + .../managedDatabaseSecurityEvents.ts | 33 + .../managedDatabaseSensitivityLabels.ts | 179 + .../managedDatabaseTables.ts | 55 + ...anagedDatabaseTransparentDataEncryption.ts | 74 + ...aseVulnerabilityAssessmentRuleBaselines.ts | 92 + ...gedDatabaseVulnerabilityAssessmentScans.ts | 114 + ...managedDatabaseVulnerabilityAssessments.ts | 89 + .../operationsInterfaces/managedDatabases.ts | 203 + .../managedInstanceAdministrators.ts | 117 + ...nagedInstanceAzureADOnlyAuthentications.ts | 123 + .../managedInstanceEncryptionProtectors.ts | 119 + .../managedInstanceKeys.ts | 116 + ...anagedInstanceLongTermRetentionPolicies.ts | 98 + .../managedInstanceOperations.ts | 62 + ...nagedInstancePrivateEndpointConnections.ts | 118 + .../managedInstancePrivateLinkResources.ts | 47 + .../managedInstanceTdeCertificates.ts | 45 + ...managedInstanceVulnerabilityAssessments.ts | 87 + .../operationsInterfaces/managedInstances.ts | 200 + ...atabaseBackupShortTermRetentionPolicies.ts | 149 + .../managedServerSecurityAlertPolicies.ts | 90 + .../src/operationsInterfaces/operations.ts | 23 + .../operationsHealthOperations.ts | 28 + .../outboundFirewallRules.ts | 116 + .../privateEndpointConnections.ts | 116 + .../privateLinkResources.ts | 47 + .../recommendedSensitivityLabels.ts | 32 + .../recoverableDatabases.ts | 47 + .../recoverableManagedDatabases.ts | 47 + .../operationsInterfaces/replicationLinks.ts | 188 + .../restorableDroppedDatabases.ts | 47 + .../restorableDroppedManagedDatabases.ts | 47 + .../src/operationsInterfaces/restorePoints.ts | 109 + .../operationsInterfaces/sensitivityLabels.ts | 179 + .../operationsInterfaces/serverAdvisors.ts | 63 + .../serverAutomaticTuningOperations.ts | 45 + .../serverAzureADAdministrators.ts | 117 + .../serverAzureADOnlyAuthentications.ts | 123 + .../serverBlobAuditingPolicies.ts | 81 + .../serverCommunicationLinks.ts | 102 + .../serverConnectionPolicies.ts | 50 + .../serverDevOpsAuditSettings.ts | 90 + .../operationsInterfaces/serverDnsAliases.ts | 152 + .../src/operationsInterfaces/serverKeys.ts | 122 + .../operationsInterfaces/serverOperations.ts | 31 + .../serverSecurityAlertPolicies.ts | 88 + .../operationsInterfaces/serverTrustGroups.ts | 129 + .../src/operationsInterfaces/serverUsages.ts | 28 + .../serverVulnerabilityAssessments.ts | 83 + .../src/operationsInterfaces/servers.ts | 191 + .../operationsInterfaces/serviceObjectives.ts | 47 + .../src/operationsInterfaces/sqlAgent.ts | 45 + .../subscriptionUsages.ts | 41 + .../src/operationsInterfaces/syncAgents.ts | 148 + .../src/operationsInterfaces/syncGroups.ts | 292 + .../src/operationsInterfaces/syncMembers.ts | 244 + .../operationsInterfaces/tdeCertificates.ts | 42 + .../src/operationsInterfaces/timeZones.ts | 41 + .../transparentDataEncryptionActivities.ts | 36 + .../transparentDataEncryptions.ts | 55 + .../src/operationsInterfaces/usages.ts | 28 + .../operationsInterfaces/virtualClusters.ts | 127 + .../virtualNetworkRules.ts | 116 + .../workloadClassifiers.ts | 140 + .../operationsInterfaces/workloadGroups.ts | 128 + sdk/sql/arm-sql/src/sqlManagementClient.ts | 792 +- .../arm-sql/src/sqlManagementClientContext.ts | 109 +- sdk/sql/arm-sql/tsconfig.json | 4 +- sdk/sql/ci.yml | 29 + .../arm-sqlvirtualmachine/README.md | 4 +- sdk/storage/CONTRIBUTING.md | 2 +- .../README.md | 4 +- .../README.md | 4 +- sdk/storage/arm-storage/CHANGELOG.md | 18 + sdk/storage/arm-storage/README.md | 3 +- sdk/storage/arm-storage/package.json | 2 +- .../src/storageManagementClientContext.ts | 2 +- .../storage-blob-track-1/package.json | 10 +- .../perf-tests/storage-blob/package.json | 10 +- .../storage-blob/test/storageTest.spec.ts | 5 +- .../perf-tests/storage-blob/tsconfig.json | 1 - .../storage-file-datalake/package.json | 8 +- .../storage-file-share-track-1/package.json | 10 +- .../storage-file-share/package.json | 8 +- .../storage-blob-changefeed/package.json | 13 +- .../src/BlobChangeFeedClient.ts | 6 + .../src/ChangeFeedFactory.ts | 2 +- .../src/LazyLoadingBlobStream.ts | 2 +- .../src/utils/utils.browser.ts | 4 +- .../test/blobchangefeedclient.spec.ts | 11 +- .../test/changefeed.spec.ts | 12 +- .../test/segment.spec.ts | 4 +- .../test/utils/index.ts | 2 +- .../test/utils/testutils.common.ts | 40 +- sdk/storage/storage-blob/CHANGELOG.md | 28 +- sdk/storage/storage-blob/karma.conf.js | 2 +- sdk/storage/storage-blob/package.json | 15 +- ...eleteblobs_should_work_for_batch_delete.js | 147 +- ...cesstier_should_work_for_batch_set_tier.js | 230 +- .../storage-blob/review/storage-blob.api.md | 33 +- .../storage-blob/rollup.base.config.js | 3 +- .../samples/javascript/package.json | 2 +- .../storage-blob/src/BatchResponseParser.ts | 6 +- .../storage-blob/src/BatchUtils.browser.ts | 2 +- sdk/storage/storage-blob/src/BlobBatch.ts | 6 +- .../storage-blob/src/BlobBatchClient.ts | 41 +- .../storage-blob/src/BlobServiceClient.ts | 22 +- sdk/storage/storage-blob/src/Clients.ts | 64 +- .../storage-blob/src/ContainerClient.ts | 22 +- sdk/storage/storage-blob/src/Pipeline.ts | 47 +- sdk/storage/storage-blob/src/Range.ts | 1 - sdk/storage/storage-blob/src/StorageClient.ts | 6 +- .../src/credentials/Credential.ts | 7 +- .../src/generated/src/storageClientContext.ts | 2 +- sdk/storage/storage-blob/src/models.ts | 6 +- .../src/policies/AnonymousCredentialPolicy.ts | 2 + .../src/policies/StorageBrowserPolicy.ts | 2 + .../src/policies/StorageRetryPolicy.ts | 2 +- .../StorageSharedKeyCredentialPolicy.ts | 2 +- .../src/sas/AccountSASPermissions.ts | 2 +- .../src/sas/ContainerSASPermissions.ts | 2 +- .../src/sas/SASQueryParameters.ts | 2 +- .../src/utils/BlobQuickQueryStream.ts | 32 +- .../src/utils/RetriableReadableStream.ts | 4 +- .../storage-blob/src/utils/constants.ts | 2 +- sdk/storage/storage-blob/src/utils/tracing.ts | 3 +- .../storage-blob/src/utils/utils.browser.ts | 20 +- .../storage-blob/src/utils/utils.common.ts | 27 +- sdk/storage/storage-blob/swagger/README.md | 2 +- sdk/storage/storage-blob/test/aborter.spec.ts | 6 +- .../test/appendblobclient.spec.ts | 10 +- .../storage-blob/test/blobbatch.spec.ts | 82 +- .../storage-blob/test/blobclient.spec.ts | 26 +- .../test/blobclientpollers.spec.ts | 11 +- .../test/blobserviceclient.spec.ts | 15 +- .../storage-blob/test/blobversioning.spec.ts | 9 +- .../storage-blob/test/blockblobclient.spec.ts | 50 +- .../test/browser/highlevel.browser.spec.ts | 16 +- .../storage-blob/test/containerclient.spec.ts | 11 +- .../storage-blob/test/encrytion.spec.ts | 7 +- .../storage-blob/test/leaseclient.spec.ts | 7 +- .../test/node/appendblobclient.spec.ts | 15 +- .../storage-blob/test/node/blobclient.spec.ts | 34 +- .../test/node/blobserviceclient.spec.ts | 5 +- .../test/node/blockblobclient.spec.ts | 35 +- .../test/node/containerclient.spec.ts | 5 +- .../test/node/emulator-tests.spec.ts | 7 +- .../test/node/highlevel.node.spec.ts | 23 +- .../test/node/pageblobclient.spec.ts | 20 +- .../storage-blob/test/node/sas.spec.ts | 49 +- .../storage-blob/test/node/utils.spec.ts | 6 +- .../storage-blob/test/pageblobclient.spec.ts | 17 +- .../storage-blob/test/retrypolicy.spec.ts | 5 +- .../storage-blob/test/specialnaming.spec.ts | 5 +- sdk/storage/storage-blob/test/utils/assert.ts | 2 +- .../{constants.ts => fakeTestSecrets.ts} | 0 .../storage-blob/test/utils/index.browser.ts | 17 +- sdk/storage/storage-blob/test/utils/index.ts | 29 +- .../test/utils/testutils.common.ts | 7 +- sdk/storage/storage-datalake/README.md | 4 +- .../storage-file-datalake/CHANGELOG.md | 24 +- .../storage-file-datalake/execute-samples.js | 2 +- .../storage-file-datalake/karma.conf.js | 2 +- .../storage-file-datalake/package.json | 21 +- .../review/storage-file-datalake.api.md | 3 +- .../src/DataLakeFileSystemClient.ts | 10 +- .../src/DataLakeServiceClient.ts | 16 +- .../storage-file-datalake/src/Pipeline.ts | 7 +- .../storage-file-datalake/src/clients.ts | 20 +- .../src/credentials/Credential.ts | 7 +- .../src/generated/src/storageClientContext.ts | 2 +- .../src/policies/AnonymousCredentialPolicy.ts | 3 + .../src/policies/StorageBrowserPolicy.ts | 3 + .../src/policies/StorageRetryPolicy.ts | 2 +- .../StorageSharedKeyCredentialPolicy.ts | 2 +- .../src/sas/DirectorySASPermissions.ts | 2 +- .../src/sas/FileSystemSASPermissions.ts | 2 +- .../src/sas/SASQueryParameters.ts | 2 +- .../storage-file-datalake/src/transforms.ts | 6 +- .../src/utils/constants.ts | 2 +- .../src/utils/tracing.ts | 3 +- .../src/utils/utils.browser.ts | 8 +- .../src/utils/utils.common.ts | 47 +- .../storage-file-datalake/swagger/README.md | 2 +- .../test/aborter.spec.ts | 6 +- .../test/browser/highlevel.browser.spec.ts | 11 +- .../test/filesystemclient.spec.ts | 14 +- .../test/leaseclient.spec.ts | 9 +- .../test/node/filesystemclient.spec.ts | 5 +- .../test/node/highlevel.node.spec.ts | 14 +- .../test/node/pathclient.spec.ts | 11 +- .../test/node/sas.spec.ts | 42 +- .../test/node/serviceclient.spec.ts | 5 +- .../test/pathclient.spec.ts | 19 +- .../test/retrypolicy.spec.ts | 5 +- .../test/serviceclient.spec.ts | 19 +- .../test/specialnaming.spec.ts | 5 +- .../storage-file-datalake/test/utils.spec.ts | 5 +- .../test/utils/assert.ts | 2 +- .../test/utils/index.browser.ts | 17 +- .../storage-file-datalake/test/utils/index.ts | 37 +- .../test/utils/testutils.common.ts | 12 +- sdk/storage/storage-file-share/CHANGELOG.md | 26 +- sdk/storage/storage-file-share/karma.conf.js | 2 +- sdk/storage/storage-file-share/package.json | 15 +- .../review/storage-file-share.api.md | 5 +- sdk/storage/storage-file-share/src/Clients.ts | 49 +- sdk/storage/storage-file-share/src/Range.ts | 1 - .../src/SASQueryParameters.ts | 2 +- .../src/ShareClientInternal.ts | 2 +- .../src/ShareSASPermissions.ts | 2 +- .../src/ShareServiceClient.ts | 6 + .../src/credentials/Credential.ts | 7 +- .../src/generated/src/storageClientContext.ts | 2 +- .../storage-file-share/src/generatedModels.ts | 1 - sdk/storage/storage-file-share/src/models.ts | 7 +- .../src/policies/AnonymousCredentialPolicy.ts | 2 + .../src/policies/StorageBrowserPolicy.ts | 2 + .../src/policies/StorageRetryPolicy.ts | 2 +- .../StorageSharedKeyCredentialPolicy.ts | 2 +- .../src/utils/RetriableReadableStream.ts | 4 +- .../storage-file-share/src/utils/constants.ts | 2 +- .../storage-file-share/src/utils/tracing.ts | 3 +- .../src/utils/utils.browser.ts | 16 +- .../src/utils/utils.common.ts | 46 +- .../storage-file-share/swagger/README.md | 2 +- .../storage-file-share/test/aborter.spec.ts | 6 +- .../test/directoryclient.spec.ts | 11 +- .../test/fileclient.spec.ts | 21 +- .../test/fileserviceclient.spec.ts | 17 +- .../test/leaseclient.spec.ts | 5 +- .../test/node/directoryclient.spec.ts | 5 +- .../test/node/fileclient.spec.ts | 21 +- .../test/node/fileserviceclient.spec.ts | 5 +- .../test/node/highlevel.node.spec.ts | 11 +- .../storage-file-share/test/node/sas.spec.ts | 23 +- .../test/node/shareclient.spec.ts | 5 +- .../node/sharedkeycredentialpolicy.spec.ts | 9 +- .../test/node/utils.spec.ts | 5 +- .../test/retrypolicy.spec.ts | 5 +- .../test/shareclient.spec.ts | 6 +- .../test/specialnaming.spec.ts | 24 +- .../storage-file-share/test/utils.spec.ts | 5 +- .../test/utils/index.browser.ts | 7 +- .../storage-file-share/test/utils/index.ts | 24 +- .../test/utils/testutils.common.ts | 11 +- .../storage-internal-avro/karma.conf.js | 2 +- .../storage-internal-avro/package.json | 9 +- sdk/storage/storage-queue/CHANGELOG.md | 15 +- sdk/storage/storage-queue/karma.conf.js | 2 +- sdk/storage/storage-queue/package.json | 15 +- sdk/storage/storage-queue/src/QueueClient.ts | 14 +- .../storage-queue/src/QueueServiceClient.ts | 6 + .../storage-queue/src/SASQueryParameters.ts | 2 +- .../storage-queue/src/StorageClient.ts | 5 +- .../src/credentials/Credential.ts | 7 +- .../src/generated/src/models/parameters.ts | 2 +- .../src/generated/src/storageClientContext.ts | 4 +- .../src/policies/AnonymousCredentialPolicy.ts | 2 + .../src/policies/StorageBrowserPolicy.ts | 2 + .../src/policies/StorageRetryPolicy.ts | 2 +- .../StorageSharedKeyCredentialPolicy.ts | 2 +- .../storage-queue/src/utils/constants.ts | 4 +- .../storage-queue/src/utils/tracing.ts | 3 +- .../storage-queue/src/utils/utils.common.ts | 41 +- sdk/storage/storage-queue/swagger/README.md | 6 +- .../storage-queue/test/aborter.spec.ts | 6 +- .../test/messageidclient.spec.ts | 5 +- .../test/node/emulator-tests.spec.ts | 7 +- .../test/node/messageidclient.spec.ts | 6 +- .../test/node/messagesclient.spec.ts | 17 +- .../test/node/queueclient.spec.ts | 5 +- .../test/node/queueserviceclient.spec.ts | 5 +- .../storage-queue/test/node/sas.spec.ts | 5 +- .../storage-queue/test/node/utils.spec.ts | 5 +- .../storage-queue/test/queueclient.spec.ts | 12 +- .../test/queueclientmessages.spec.ts | 18 +- .../test/queueserviceclient.spec.ts | 6 +- .../storage-queue/test/retrypolicy.spec.ts | 5 +- sdk/storage/storage-queue/test/utils.spec.ts | 5 +- .../storage-queue/test/utils/assert.ts | 2 +- .../storage-queue/test/utils/index.browser.ts | 5 +- sdk/storage/storage-queue/test/utils/index.ts | 9 +- .../test/utils/testutils.common.ts | 11 +- sdk/storagecache/arm-storagecache/README.md | 4 +- .../arm-storageimportexport/README.md | 53 +- sdk/storagesync/arm-storagesync/README.md | 4 +- .../arm-storsimple1200series/README.md | 4 +- .../arm-storsimple8000series/README.md | 4 +- .../arm-streamanalytics/README.md | 4 +- .../README.md | 4 +- .../README.md | 4 +- sdk/subscription/arm-subscriptions/README.md | 4 +- sdk/support/arm-support/README.md | 4 +- sdk/synapse/arm-synapse/README.md | 4 +- .../synapse-access-control/CHANGELOG.md | 16 +- .../synapse-access-control/api-extractor.json | 2 +- .../synapse-access-control/karma.conf.js | 143 + .../synapse-access-control/package.json | 74 +- .../recording_should_list_roles.json | 52 + .../recording_should_list_roles.js | 131 + .../review/synapse-access-control.api.md | 237 +- .../synapse-access-control/rollup.config.js | 61 +- .../src/accessControlClient.ts | 479 +- .../src/accessControlClientContext.ts | 51 +- .../synapse-access-control/src/index.ts | 12 +- .../src/models/index.ts | 313 +- .../src/models/mappers.ts | 354 +- .../src/models/parameters.ts | 121 +- .../src/operations/index.ts | 10 + .../src/operations/roleAssignments.ts | 306 + .../src/operations/roleDefinitions.ts | 186 + .../src/operationsInterfaces/index.ts | 10 + .../operationsInterfaces/roleAssignments.ts | 78 + .../operationsInterfaces/roleDefinitions.ts | 43 + .../synapse-access-control/src/tracing.ts | 10 +- .../synapse-access-control/swagger/README.md | 28 + .../test/public/test.spec.ts | 23 + .../test/public/utils/env.browser.ts | 2 + .../test/public/utils/env.ts | 6 + .../test/public/utils/recordedClient.ts | 58 + .../synapse-access-control/tsconfig.json | 29 +- sdk/synapse/synapse-artifacts/CHANGELOG.md | 16 +- sdk/synapse/synapse-artifacts/karma.conf.js | 2 +- sdk/synapse/synapse-artifacts/package.json | 21 +- .../review/synapse-artifacts.api.md | 1594 +- .../synapse-artifacts/src/artifactsClient.ts | 94 +- .../src/artifactsClientContext.ts | 62 +- sdk/synapse/synapse-artifacts/src/index.ts | 37 +- .../src/lro/azureAsyncOperationStrategy.ts | 215 - .../src/lro/bodyPollingStrategy.ts | 59 - .../synapse-artifacts/src/lro/index.ts | 23 - .../src/lro/locationStrategy.ts | 72 - .../synapse-artifacts/src/lro/lroPolicy.ts | 40 - .../synapse-artifacts/src/lro/lroPoller.ts | 136 - .../synapse-artifacts/src/lro/models.ts | 71 - .../synapse-artifacts/src/lro/operation.ts | 80 - .../src/lro/passthroughStrategy.ts | 30 - .../synapse-artifacts/src/lro/requestUtils.ts | 107 - sdk/synapse/synapse-artifacts/src/lroImpl.ts | 34 + .../synapse-artifacts/src/models/index.ts | 1901 +- .../synapse-artifacts/src/models/mappers.ts | 1679 +- .../src/models/parameters.ts | 18 +- .../src/operations/bigDataPools.ts | 48 +- .../src/operations/dataFlow.ts | 447 - .../src/operations/dataFlowDebugSession.ts | 292 +- .../src/operations/dataFlowOperations.ts | 578 + .../src/operations/dataset.ts | 447 - .../src/operations/datasetOperations.ts | 574 + .../synapse-artifacts/src/operations/index.ts | 22 +- .../src/operations/integrationRuntimes.ts | 48 +- .../src/operations/library.ts | 387 +- .../src/operations/linkedService.ts | 455 - .../src/operations/linkedServiceOperations.ts | 589 + .../src/operations/notebook.ts | 591 - .../src/operations/notebookOperations.ts | 721 + .../src/operations/pipeline.ts | 505 - .../src/operations/pipelineOperations.ts | 634 + ...ipelineRun.ts => pipelineRunOperations.ts} | 114 +- .../src/operations/sparkJobDefinition.ts | 608 - .../sparkJobDefinitionOperations.ts | 848 + .../src/operations/sqlPools.ts | 48 +- .../src/operations/sqlScript.ts | 449 - .../src/operations/sqlScriptOperations.ts | 579 + .../src/operations/trigger.ts | 700 - .../src/operations/triggerOperations.ts | 964 + ...{triggerRun.ts => triggerRunOperations.ts} | 90 +- .../operations/workspaceGitRepoManagement.ts | 27 +- .../{workspace.ts => workspaceOperations.ts} | 39 +- .../src/operationsInterfaces/bigDataPools.ts | 14 +- .../src/operationsInterfaces/dataFlow.ts | 72 - .../dataFlowDebugSession.ts | 58 +- .../dataFlowOperations.ts | 110 + .../src/operationsInterfaces/dataset.ts | 72 - .../operationsInterfaces/datasetOperations.ts | 110 + .../src/operationsInterfaces/index.ts | 22 +- .../integrationRuntimes.ts | 14 +- .../src/operationsInterfaces/library.ts | 73 +- .../src/operationsInterfaces/linkedService.ts | 72 - .../linkedServiceOperations.ts | 112 + .../src/operationsInterfaces/notebook.ts | 79 - .../notebookOperations.ts | 118 + .../src/operationsInterfaces/pipeline.ts | 83 - .../pipelineOperations.ts | 121 + ...ipelineRun.ts => pipelineRunOperations.ts} | 32 +- .../sparkJobDefinition.ts | 92 - .../sparkJobDefinitionOperations.ts | 168 + .../src/operationsInterfaces/sqlPools.ts | 15 +- .../src/operationsInterfaces/sqlScript.ts | 72 - .../sqlScriptOperations.ts | 110 + .../src/operationsInterfaces/trigger.ts | 108 - .../operationsInterfaces/triggerOperations.ts | 185 + ...{triggerRun.ts => triggerRunOperations.ts} | 25 +- .../{workspace.ts => workspaceOperations.ts} | 14 +- .../synapse-artifacts/swagger/README.md | 60 +- .../test/public/bigDataPools.spec.ts | 2 +- .../test/public/dataFlows.spec.ts | 20 +- .../test/public/integrationRuntimes.spec.ts | 2 +- .../test/public/library.spec.ts | 14 +- .../test/public/utils/recordedClient.ts | 7 +- .../CHANGELOG.md | 22 +- .../api-extractor.json | 2 +- .../karma.conf.js | 143 + .../package.json | 64 +- .../recording_should_list_endpoints.json | 51 + .../recording_should_list_endpoints.js | 129 + .../synapse-managed-private-endpoints.api.md | 77 +- .../rollup.config.js | 60 +- .../src/index.ts | 12 +- .../src/managedPrivateEndpointsClient.ts | 19 +- .../managedPrivateEndpointsClientContext.ts | 51 +- .../src/models/index.ts | 79 +- .../src/models/mappers.ts | 43 +- .../src/models/parameters.ts | 14 +- .../src/operations/index.ts | 10 +- .../src/operations/managedPrivateEndpoints.ts | 165 +- .../src/operationsInterfaces/index.ts} | 2 +- .../managedPrivateEndpoints.ts | 68 + .../src/tracing.ts | 10 +- .../swagger/README.md | 30 + .../test/public/test.spec.ts | 28 + .../test/public/utils/env.browser.ts | 2 + .../test/public/utils/env.ts | 6 + .../test/public/utils/recordedClient.ts | 63 + .../tsconfig.json | 29 +- sdk/synapse/synapse-monitoring/karma.conf.js | 143 + .../recording_should_list_roles.js | 129 + .../src/operationsInterfaces/index.ts | 9 + .../src/operationsInterfaces/monitoring.ts | 32 + .../synapse-monitoring/swagger/README.md | 28 + .../test/public/test.spec.ts | 23 + .../test/public/utils/env.browser.ts | 2 + .../test/public/utils/env.ts | 6 + .../test/public/utils/recordedClient.ts | 58 + sdk/synapse/synapse-spark/CHANGELOG.md | 16 +- sdk/synapse/synapse-spark/api-extractor.json | 2 +- sdk/synapse/synapse-spark/karma.conf.js | 143 + sdk/synapse/synapse-spark/package.json | 62 +- .../recording_should_create_session.json | 63 + .../recording_should_list_sessions.json | 52 + .../recording_should_create_session.js | 156 + .../recording_should_list_sessions.js | 134 + .../synapse-spark/review/synapse-spark.api.md | 255 +- sdk/synapse/synapse-spark/rollup.config.js | 61 +- sdk/synapse/synapse-spark/src/index.ts | 15 +- sdk/synapse/synapse-spark/src/models/index.ts | 263 +- .../synapse-spark/src/models/mappers.ts | 49 +- .../synapse-spark/src/models/parameters.ts | 12 +- .../synapse-spark/src/operations/index.ts | 12 +- .../src/operations/sparkBatch.ts | 109 +- ...rkSession.ts => sparkSessionOperations.ts} | 276 +- .../src/operationsInterfaces/index.ts | 10 + .../src/operationsInterfaces/sparkBatch.ts | 56 + .../sparkSessionOperations.ts | 117 + sdk/synapse/synapse-spark/src/sparkClient.ts | 23 +- .../synapse-spark/src/sparkClientContext.ts | 50 +- sdk/synapse/synapse-spark/src/tracing.ts | 10 +- sdk/synapse/synapse-spark/swagger/README.md | 28 + .../synapse-spark/test/public/test.spec.ts | 40 + .../test/public/utils/env.browser.ts | 2 + .../synapse-spark/test/public/utils/env.ts | 6 + .../test/public/utils/recordedClient.ts | 58 + sdk/synapse/synapse-spark/tsconfig.json | 29 +- sdk/tables/data-tables/CHANGELOG.md | 13 +- sdk/tables/data-tables/karma.conf.js | 2 +- sdk/tables/data-tables/package.json | 13 +- ...rding_should_handle_sub_request_error.json | 20 +- ...ns_when_using_tabletransaction_helper.json | 18 +- ...send_a_set_of_create_batch_operations.json | 20 +- ...send_a_set_of_delete_batch_operations.json | 20 +- ...send_a_set_of_update_batch_operations.json | 30 +- ...send_a_set_of_upsert_batch_operations.json | 30 +- ...nsactions_with_the_same_partition_key.json | 40 +- ...rding_should_handle_sub_request_error.json | 34 +- ...ns_when_using_tabletransaction_helper.json | 32 +- ...send_a_set_of_create_batch_operations.json | 34 +- ...send_a_set_of_delete_batch_operations.json | 34 +- ...send_a_set_of_update_batch_operations.json | 42 +- ...send_a_set_of_upsert_batch_operations.json | 42 +- ...nsactions_with_the_same_partition_key.json | 60 +- ...ding_should_createentity_with_boolean.json | 28 +- ...cording_should_createentity_with_date.json | 28 +- ...ing_should_createentity_with_datetime.json | 28 +- ...cording_should_createentity_with_guid.json | 28 +- ...ording_should_createentity_with_int32.json | 28 +- ...ording_should_createentity_with_int64.json | 28 +- ...uld_createentity_with_only_primitives.json | 28 +- ...teentity_with_primitive_int_and_float.json | 28 +- ...oat_without_automatic_type_conversion.json | 28 +- .../recording_should_list_all.json | 12 +- ...ording_should_list_binary_with_filter.json | 12 +- .../recording_should_list_by_page.json | 52 +- .../recording_should_list_with_filter.json | 12 +- ...ding_should_createentity_with_boolean.json | 32 +- ...cording_should_createentity_with_date.json | 32 +- ...ing_should_createentity_with_datetime.json | 32 +- ...cording_should_createentity_with_guid.json | 32 +- ...ording_should_createentity_with_int32.json | 32 +- ...ording_should_createentity_with_int64.json | 32 +- ...uld_createentity_with_only_primitives.json | 32 +- ...teentity_with_primitive_int_and_float.json | 32 +- ...oat_without_automatic_type_conversion.json | 36 +- .../recording_should_list_all.json | 16 +- ...ording_should_list_binary_with_filter.json | 18 +- .../recording_should_list_by_page.json | 50 +- .../recording_should_list_with_filter.json | 18 +- ...g_should_create_new_table_then_delete.json | 24 +- .../recording_should_list_all.json | 12 +- .../recording_should_list_by_page.json | 93 +- ...g_should_create_new_table_then_delete.json | 28 +- .../recording_should_list_all.json | 18 +- .../recording_should_list_by_page.json | 91 +- .../recording_should_send_a_null_ap.js | 18 +- ...cording_should_handle_sub_request_error.js | 20 +- ...ions_when_using_tabletransaction_helper.js | 18 +- ...d_send_a_set_of_create_batch_operations.js | 20 +- ...d_send_a_set_of_delete_batch_operations.js | 20 +- ...d_send_a_set_of_update_batch_operations.js | 28 +- ...d_send_a_set_of_upsert_batch_operations.js | 28 +- ...ransactions_with_the_same_partition_key.js | 38 +- ...cording_should_handle_sub_request_error.js | 78 +- ...ions_when_using_tabletransaction_helper.js | 46 +- ...d_send_a_set_of_create_batch_operations.js | 52 +- ...d_send_a_set_of_delete_batch_operations.js | 48 +- ...d_send_a_set_of_update_batch_operations.js | 56 +- ...d_send_a_set_of_upsert_batch_operations.js | 60 +- ...ransactions_with_the_same_partition_key.js | 66 +- ...ording_should_createentity_with_boolean.js | 26 +- ...recording_should_createentity_with_date.js | 26 +- ...rding_should_createentity_with_datetime.js | 26 +- ...recording_should_createentity_with_guid.js | 26 +- ...ecording_should_createentity_with_int32.js | 26 +- ...ecording_should_createentity_with_int64.js | 26 +- ...hould_createentity_with_only_primitives.js | 26 +- ...eateentity_with_primitive_int_and_float.js | 26 +- ...float_without_automatic_type_conversion.js | 28 +- .../recording_should_list_all.js | 10 +- ...ecording_should_list_binary_with_filter.js | 10 +- .../recording_should_list_by_page.js | 42 +- .../recording_should_list_with_filter.js | 10 +- ...ording_should_createentity_with_boolean.js | 54 +- ...recording_should_createentity_with_date.js | 54 +- ...rding_should_createentity_with_datetime.js | 58 +- ...recording_should_createentity_with_guid.js | 62 +- ...ecording_should_createentity_with_int32.js | 58 +- ...ecording_should_createentity_with_int64.js | 62 +- ...hould_createentity_with_only_primitives.js | 54 +- ...eateentity_with_primitive_int_and_float.js | 54 +- ...float_without_automatic_type_conversion.js | 58 +- .../recording_should_list_all.js | 38 +- ...ecording_should_list_binary_with_filter.js | 44 +- .../recording_should_list_by_page.js | 72 +- .../recording_should_list_with_filter.js | 40 +- ...ing_should_create_new_table_then_delete.js | 22 +- .../recording_should_list_all.js | 10 +- .../recording_should_list_by_page.js | 80 +- ...ing_should_create_new_table_then_delete.js | 54 +- .../recording_should_list_all.js | 40 +- .../recording_should_list_by_page.js | 110 +- .../src/generated/generatedClientContext.ts | 2 +- sdk/tables/data-tables/src/serialization.ts | 26 +- sdk/tables/data-tables/swagger/README.md | 2 +- .../test/internal/fakeTestSecrets.ts | 5 + .../test/internal/serialization.spec.ts | 20 +- .../test/internal/sharedKeyCredential.spec.ts | 6 +- .../test/public/accessPolicy.spec.ts | 2 +- .../test/public/tableclient.spec.ts | 54 +- .../test/public/tableserviceclient.spec.ts | 20 +- .../test/public/transaction.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- sdk/tables/perf-tests/data-tables/README.md | 12 +- .../perf-tests/data-tables/package.json | 96 +- .../test/createComplexEntityBatchTest.spec.ts | 15 +- .../test/createSimpleEntityBatchTest.spec.ts | 15 +- .../test/listComplexEntities.spec.ts | 15 +- .../test/listSimpleEntities.spec.ts | 15 +- .../data-tables/test/tables.spec.ts | 4 +- .../test/utils/createBaseEntity.ts | 2 +- .../perf-tests/data-tables/tsconfig.json | 2 +- sdk/template/template/README-EXAMPLE.md | 11 +- sdk/template/template/karma.conf.js | 2 +- sdk/template/template/package.json | 7 +- .../test/public/configurationClient.spec.ts | 2 +- .../arm-templatespecs/CHANGELOG.md | 15 + sdk/templatespecs/arm-templatespecs/LICENSE | 21 + sdk/templatespecs/arm-templatespecs/README.md | 94 + .../arm-templatespecs/_meta.json | 7 + .../arm-templatespecs/api-extractor.json | 18 + .../arm-templatespecs/package.json | 87 + .../review/arm-templatespecs.api.md | 286 + .../arm-templatespecs/rollup.config.js | 188 + .../arm-templatespecs/src/index.ts | 13 + .../arm-templatespecs/src/models/index.ts | 355 + .../arm-templatespecs/src/models/mappers.ts | 456 + .../src/models/parameters.ts | 168 + .../arm-templatespecs/src/operations/index.ts | 10 + .../src/operations/templateSpecVersions.ts | 376 + .../src/operations/templateSpecs.ts | 448 + .../src/operationsInterfaces/index.ts | 10 + .../templateSpecVersions.ts | 92 + .../src/operationsInterfaces/templateSpecs.ts | 89 + .../src/templateSpecsClient.ts | 34 + .../src/templateSpecsClientContext.ts | 70 + .../arm-templatespecs/tsconfig.json | 19 + sdk/templatespecs/ci.yml | 29 + sdk/test-utils/ci.yml | 4 +- sdk/test-utils/perfstress/CHANGELOG.md | 10 + sdk/test-utils/perfstress/GettingStarted.md | 75 +- sdk/test-utils/perfstress/README.md | 27 +- sdk/test-utils/perfstress/package.json | 10 +- sdk/test-utils/perfstress/src/options.ts | 5 + sdk/test-utils/perfstress/src/program.ts | 76 +- .../perfstress/src/testProxyHttpClient.ts | 236 + sdk/test-utils/perfstress/src/tests.ts | 42 + sdk/test-utils/perfstress/src/utils.ts | 36 + sdk/test-utils/perfstress/tsconfig.json | 21 +- sdk/test-utils/recorder-new/README.md | 38 + sdk/test-utils/recorder-new/karma.conf.js | 127 + sdk/test-utils/recorder-new/package.json | 112 + sdk/test-utils/recorder-new/rollup.config.js | 3 + .../recorder-new/src/core-v1-recorder.ts | 31 + .../recorder-new/src/core-v2-recorder.ts | 177 + sdk/test-utils/recorder-new/src/index.ts | 5 + sdk/test-utils/recorder-new/src/utils.ts | 47 + .../recorder-new/test/testProxyClient.spec.ts | 296 + sdk/test-utils/recorder-new/tsconfig.json | 9 + sdk/test-utils/recorder/CHANGELOG.md | 14 +- sdk/test-utils/recorder/GUIDELINES.md | 14 +- sdk/test-utils/recorder/README.md | 42 +- sdk/test-utils/recorder/package.json | 14 +- sdk/test-utils/recorder/src/createRecorder.ts | 2 +- sdk/test-utils/recorder/src/utils/index.ts | 14 +- sdk/test-utils/recorder/test/utils.spec.ts | 17 + sdk/test-utils/recorder/tsconfig.json | 4 +- sdk/test-utils/test-utils/package.json | 7 +- sdk/test-utils/test-utils/src/multiVersion.ts | 2 +- .../test-utils/src/tracing/testSpan.ts | 5 +- .../test-utils/src/tracing/testTracer.ts | 3 +- sdk/test-utils/testing-recorder-new/README.md | 14 + .../testing-recorder-new/karma.conf.js | 121 + .../testing-recorder-new/package.json | 113 + .../rollup.base.config.js | 120 + .../testing-recorder-new/rollup.config.js | 17 + .../rollup.test.config.js | 6 + .../testing-recorder-new/src/index.ts | 0 .../test/core-v1-test.spec.ts | 22 + .../test/core-v2-test.spec.ts | 25 + .../testing-recorder-new/test/utils/utils.ts | 20 + .../testing-recorder-new/tsconfig.json | 10 + .../ai-text-analytics/CHANGELOG.md | 12 +- .../ai-text-analytics/karma.conf.js | 2 +- .../ai-text-analytics/package.json | 15 +- .../review/ai-text-analytics.api.md | 3 +- .../samples/v5/javascript/package.json | 2 +- .../samples/v5/typescript/package.json | 2 +- .../ai-text-analytics/src/analyzeLro.ts | 53 +- .../src/generated/generatedClientContext.ts | 2 +- .../ai-text-analytics/src/healthLro.ts | 61 +- .../ai-text-analytics/src/index.ts | 2 +- .../ai-text-analytics/src/paging.ts | 125 - .../ai-text-analytics/swagger/README.md | 2 +- .../test/public/textAnalyticsClient.spec.ts | 2 +- .../test/public/utils/recordedClient.ts | 2 +- .../perf-tests/text-analytics/package.json | 10 +- .../arm-timeseriesinsights/README.md | 4 +- .../video-analyzer-edge/package.json | 3 +- sdk/visualstudio/arm-visualstudio/README.md | 4 +- .../arm-vmwarecloudsimple/README.md | 4 +- sdk/web-pubsub/arm-webpubsub/CHANGELOG.md | 17 + sdk/web-pubsub/arm-webpubsub/package.json | 2 +- .../src/webPubSubManagementClientContext.ts | 2 +- .../web-pubsub-express/karma.conf.js | 2 +- .../web-pubsub-express/package.json | 13 +- .../src/cloudEventsDispatcher.ts | 4 +- .../src/cloudEventsProtocols.ts | 22 +- .../web-pubsub-express/src/utils.ts | 7 +- .../src/webPubSubEventHandler.ts | 6 +- .../web-pubsub-express/test/connect.spec.ts | 32 +- .../web-pubsub-express/test/connected.spec.ts | 12 +- .../test/disconnected.spec.ts | 12 +- .../web-pubsub-express/test/user.spec.ts | 32 +- .../web-pubsub-express/test/validate.spec.ts | 6 +- sdk/web-pubsub/web-pubsub/karma.conf.js | 2 +- sdk/web-pubsub/web-pubsub/package.json | 13 +- sdk/web-pubsub/web-pubsub/src/groupClient.ts | 56 +- sdk/web-pubsub/web-pubsub/src/hubClient.ts | 104 +- sdk/web-pubsub/web-pubsub/src/logger.ts | 2 +- .../web-pubsub/src/parseConnectionString.ts | 5 +- sdk/web-pubsub/web-pubsub/src/utils.ts | 3 + sdk/web-pubsub/web-pubsub/test/conn.spec.ts | 4 +- sdk/web-pubsub/web-pubsub/test/groups.spec.ts | 2 +- sdk/web-pubsub/web-pubsub/test/hubs.spec.ts | 2 +- sdk/web-pubsub/web-pubsub/test/testEnv.ts | 2 +- 2902 files changed, 291984 insertions(+), 209873 deletions(-) rename common/config/rush/{pnpmfile.js => .pnpmfile.cjs} (100%) create mode 100644 common/tools/eslint-plugin-azure-sdk/src/rules/ts-package-json-sdktype.ts delete mode 100644 eng/common/Update-Change-Log.ps1 create mode 100644 eng/common/pipelines/templates/steps/detect-api-changes.yml delete mode 100644 eng/common/scripts/Collect-ChangeLogs.ps1 create mode 100644 eng/common/scripts/Detect-Api-Changes.ps1 delete mode 100644 eng/common/scripts/FilterPoliCheckResults.ps1 create mode 100644 eng/common/scripts/Helpers/Resource-Helpers.ps1 create mode 100644 eng/common/scripts/trust-proxy-certificate.ps1 create mode 100644 eng/common/testproxy/apply-dev-cert.sh create mode 100644 eng/common/testproxy/docker-start-proxy.ps1 create mode 100644 eng/common/testproxy/dotnet-devcert.crt create mode 100644 eng/common/testproxy/dotnet-devcert.pfx create mode 100644 eng/common/testproxy/localhost.conf create mode 100644 eng/common/testproxy/test-proxy-docker.yml create mode 100644 eng/common/testproxy/test-proxy-tool.yml delete mode 100644 eng/js.gdnbaselines create mode 100644 eng/pipelines/weekly_automation.yml create mode 100644 eng/tools/eng-package-utils/update-samples.js create mode 100644 sdk/appservice/arm-appservice/CHANGELOG.md rename sdk/{keyvault/arm-keyvault/LICENSE.txt => appservice/arm-appservice/LICENSE} (96%) create mode 100644 sdk/appservice/arm-appservice/_meta.json create mode 100644 sdk/appservice/arm-appservice/api-extractor.json create mode 100644 sdk/appservice/arm-appservice/review/arm-appservice.api.md create mode 100644 sdk/appservice/arm-appservice/src/index.ts create mode 100644 sdk/appservice/arm-appservice/src/lroImpl.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/appServiceCertificateOrdersMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/appServiceEnvironmentsMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/appServicePlansMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/certificateOrdersDiagnosticsMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/certificateRegistrationProviderMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/certificatesMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/deletedWebAppsMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/diagnosticsMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/domainRegistrationProviderMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/domainsMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/globalMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/providerMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/recommendationsMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/resourceHealthMetadataOperationsMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/staticSitesMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/topLevelDomainsMappers.ts delete mode 100644 sdk/appservice/arm-appservice/src/models/webAppsMappers.ts create mode 100644 sdk/appservice/arm-appservice/src/operations/kubeEnvironments.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/appServiceCertificateOrders.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/appServiceEnvironments.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/appServicePlans.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/certificateOrdersDiagnostics.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/certificateRegistrationProvider.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/certificates.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/deletedWebApps.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/diagnostics.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/domainRegistrationProvider.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/domains.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/global.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/index.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/kubeEnvironments.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/provider.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/recommendations.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/resourceHealthMetadataOperations.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/staticSites.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/topLevelDomains.ts create mode 100644 sdk/appservice/arm-appservice/src/operationsInterfaces/webApps.ts create mode 100644 sdk/appservice/ci.yml rename sdk/attestation/attestation/swagger/{readme.md => README.md} (99%) create mode 100644 sdk/authorization/arm-authorization/CHANGELOG.md rename sdk/{servicebus/arm-servicebus/LICENSE.txt => authorization/arm-authorization/LICENSE} (96%) create mode 100644 sdk/authorization/arm-authorization/_meta.json create mode 100644 sdk/authorization/arm-authorization/api-extractor.json create mode 100644 sdk/authorization/arm-authorization/review/arm-authorization.api.md create mode 100644 sdk/authorization/arm-authorization/src/index.ts delete mode 100644 sdk/authorization/arm-authorization/src/models/classicAdministratorsMappers.ts delete mode 100644 sdk/authorization/arm-authorization/src/models/denyAssignmentsMappers.ts delete mode 100644 sdk/authorization/arm-authorization/src/models/globalAdministratorMappers.ts delete mode 100644 sdk/authorization/arm-authorization/src/models/permissionsMappers.ts delete mode 100644 sdk/authorization/arm-authorization/src/models/providerOperationsMetadataOperationsMappers.ts delete mode 100644 sdk/authorization/arm-authorization/src/models/roleAssignmentsMappers.ts delete mode 100644 sdk/authorization/arm-authorization/src/models/roleDefinitionsMappers.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/classicAdministrators.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/denyAssignments.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/globalAdministrator.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/permissions.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/providerOperationsMetadataOperations.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts create mode 100644 sdk/authorization/ci.yml rename sdk/{core/core-client/src/url.ts => batch/batch/test/utils/env.browser.ts} (62%) rename sdk/{communication/communication-chat/src/constants.ts => batch/batch/test/utils/env.ts} (59%) create mode 100644 sdk/batch/batch/test/utils/recordedClient.ts create mode 100644 sdk/communication/communication-chat/src/generated/src/operationsInterfaces/chat.ts create mode 100644 sdk/communication/communication-chat/src/generated/src/operationsInterfaces/chatThread.ts rename sdk/{synapse/synapse-artifacts/src/lro/constants.ts => communication/communication-chat/src/generated/src/operationsInterfaces/index.ts} (74%) create mode 100644 sdk/communication/communication-chat/src/models/uuid.ts delete mode 100644 sdk/core/core-client/src/url.browser.ts create mode 100644 sdk/core/core-paging/karma.conf.js create mode 100644 sdk/core/core-paging/src/getPagedAsyncIterator.ts create mode 100644 sdk/core/core-paging/test/getPagedAsyncIterator.spec.ts create mode 100644 sdk/core/core-rest-pipeline/src/createPipelineFromOptions.ts rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/ConflictWorker.ts (100%) rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/MultiRegionWriteScenario.ts (100%) create mode 100644 sdk/cosmosdb/cosmos/MultiRegionWriteSample/README.md rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/Worker.ts (100%) rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/app.ts (100%) rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/config.ts (100%) rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/logger.ts (100%) rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/lwwSprocDef.ts (96%) rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/package.json (100%) rename sdk/cosmosdb/cosmos/{samples/MultiRegionWrite => MultiRegionWriteSample}/types.d.ts (100%) create mode 100644 sdk/cosmosdb/cosmos/sample.env create mode 100644 sdk/cosmosdb/cosmos/samples-dev/AADAuth.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/AlterQueryThroughput.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/Bulk.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/BulkUpdateWithSproc.ts rename sdk/cosmosdb/cosmos/{samples => samples-dev}/ChangeFeed.ts (93%) create mode 100644 sdk/cosmosdb/cosmos/samples-dev/ContainerManagement.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/DatabaseManagement.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/IndexManagement.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/ItemManagement.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/QueryThroughput.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/SasTokenAuth.ts create mode 100644 sdk/cosmosdb/cosmos/samples-dev/ServerSideScripts.ts rename sdk/cosmosdb/cosmos/{samples => samples-dev}/Shared/Data/Families.json (100%) create mode 100644 sdk/cosmosdb/cosmos/samples-dev/Shared/handleError.ts rename sdk/cosmosdb/cosmos/samples/{ => src}/AADAuth.ts (100%) rename sdk/cosmosdb/cosmos/samples/{ => src}/Bulk.ts (90%) rename sdk/cosmosdb/cosmos/samples/{ => src}/BulkUpdateWithSproc.ts (95%) create mode 100644 sdk/cosmosdb/cosmos/samples/src/ChangeFeed.ts rename sdk/cosmosdb/cosmos/samples/{ => src}/ContainerManagement.ts (100%) rename sdk/cosmosdb/cosmos/samples/{ => src}/DatabaseManagement.ts (100%) rename sdk/cosmosdb/cosmos/samples/{ => src}/IndexManagement.ts (100%) rename sdk/cosmosdb/cosmos/samples/{ => src}/ItemManagement.ts (97%) rename sdk/cosmosdb/cosmos/samples/{ => src}/QueryThroughput/alterQueryThroughput.ts (99%) rename sdk/cosmosdb/cosmos/samples/{ => src}/QueryThroughput/queryThroughput.js (97%) rename sdk/cosmosdb/cosmos/samples/{SasToken => src}/SasTokenAuth.ts (97%) rename sdk/cosmosdb/cosmos/samples/{ => src}/ServerSideScripts/index.ts (97%) rename sdk/cosmosdb/cosmos/samples/{ => src}/ServerSideScripts/upsert.js (100%) create mode 100644 sdk/cosmosdb/cosmos/samples/src/Shared/Data/Families.json rename sdk/cosmosdb/cosmos/samples/{ => src}/Shared/config.ts (100%) rename sdk/cosmosdb/cosmos/samples/{ => src}/Shared/handleError.ts (100%) create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/AADAuth.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/AlterQueryThroughput.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/Bulk.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/BulkUpdateWithSproc.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/ChangeFeed.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/ContainerManagement.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/DatabaseManagement.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/IndexManagement.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/ItemManagement.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/QueryThroughput.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/README.md create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/SasTokenAuth.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/ServerSideScripts.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/Shared/handleError.js create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/package.json create mode 100644 sdk/cosmosdb/cosmos/samples/v3/javascript/sample.env create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/README.md create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/package.json create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/sample.env create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/AADAuth.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/AlterQueryThroughput.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/Bulk.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/BulkUpdateWithSproc.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/ChangeFeed.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/ContainerManagement.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/DatabaseManagement.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/IndexManagement.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/ItemManagement.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/QueryThroughput.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/SasTokenAuth.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/ServerSideScripts.ts create mode 100644 sdk/cosmosdb/cosmos/samples/v3/typescript/src/Shared/handleError.ts rename sdk/{search/search-documents/samples => cosmosdb/cosmos/samples/v3}/typescript/tsconfig.json (69%) create mode 100644 sdk/cosmosdb/cosmos/src/utils/patch.ts create mode 100644 sdk/cosmosdb/cosmos/test/public/common/_fakeTestSecrets.ts create mode 100644 sdk/cosmosdb/cosmos/test/public/integration/timeout.spec.ts create mode 100644 sdk/eventhub/arm-eventhub/CHANGELOG.md rename sdk/eventhub/arm-eventhub/{LICENSE.txt => LICENSE} (96%) create mode 100644 sdk/eventhub/arm-eventhub/_meta.json create mode 100644 sdk/eventhub/arm-eventhub/api-extractor.json create mode 100644 sdk/eventhub/arm-eventhub/review/arm-eventhub.api.md create mode 100644 sdk/eventhub/arm-eventhub/src/index.ts create mode 100644 sdk/eventhub/arm-eventhub/src/lroImpl.ts delete mode 100644 sdk/eventhub/arm-eventhub/src/models/consumerGroupsMappers.ts delete mode 100644 sdk/eventhub/arm-eventhub/src/models/disasterRecoveryConfigsMappers.ts delete mode 100644 sdk/eventhub/arm-eventhub/src/models/eventHubsMappers.ts delete mode 100644 sdk/eventhub/arm-eventhub/src/models/namespacesMappers.ts delete mode 100644 sdk/eventhub/arm-eventhub/src/models/operationsMappers.ts delete mode 100644 sdk/eventhub/arm-eventhub/src/models/regionsMappers.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operations/clusters.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operations/configuration.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operations/privateEndpointConnections.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operations/privateLinkResources.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/clusters.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/configuration.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/consumerGroups.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/disasterRecoveryConfigs.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/eventHubs.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/index.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/namespaces.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/operations.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/privateEndpointConnections.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/privateLinkResources.ts create mode 100644 sdk/eventhub/arm-eventhub/src/operationsInterfaces/regions.ts create mode 100644 sdk/eventhub/event-hubs/samples-dev/iothubConnectionStringWebsockets.ts create mode 100644 sdk/eventhub/event-hubs/samples/v5/javascript/iothubConnectionStringWebsockets.js create mode 100644 sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionStringWebsockets.ts create mode 100644 sdk/eventhub/event-hubs/scripts/generateCerts.js delete mode 100644 sdk/eventhub/event-hubs/test/perf/track-1/README.md delete mode 100644 sdk/eventhub/event-hubs/test/perf/track-1/package.json delete mode 100644 sdk/eventhub/event-hubs/test/perf/track-1/tsconfig.json delete mode 100644 sdk/eventhub/event-hubs/test/perf/track-2/README.md create mode 100644 sdk/eventhub/event-hubs/test/public/utils/mockService.browser.ts create mode 100644 sdk/eventhub/event-hubs/test/public/utils/mockService.ts create mode 100644 sdk/eventhub/event-hubs/test/public/utils/testWithServiceTypes.ts create mode 100644 sdk/eventhub/eventhubs-checkpointstore-table/sample.env create mode 100644 sdk/eventhub/eventhubs-checkpointstore-table/test/tables-checkpointstore.spec.ts delete mode 100644 sdk/eventhub/eventhubs-checkpointstore-table/test/tables-checkpointstorespec.ts create mode 100644 sdk/eventhub/eventhubs-checkpointstore-table/test/utils/testUtils.ts create mode 100644 sdk/eventhub/perf-tests/event-hubs-track-1/README.md create mode 100644 sdk/eventhub/perf-tests/event-hubs-track-1/package.json create mode 100644 sdk/eventhub/perf-tests/event-hubs-track-1/sample.env rename sdk/eventhub/{event-hubs/test/perf/track-1 => perf-tests/event-hubs-track-1/test}/index.spec.ts (100%) rename sdk/eventhub/{event-hubs/test/perf/track-1 => perf-tests/event-hubs-track-1/test}/receive.spec.ts (96%) rename sdk/eventhub/{event-hubs/test/perf/track-1 => perf-tests/event-hubs-track-1/test}/send.spec.ts (91%) create mode 100644 sdk/eventhub/perf-tests/event-hubs-track-1/tsconfig.json create mode 100644 sdk/eventhub/perf-tests/event-hubs/README.md create mode 100644 sdk/eventhub/perf-tests/event-hubs/package.json create mode 100644 sdk/eventhub/perf-tests/event-hubs/sample.env rename sdk/eventhub/{event-hubs/test/perf/track-2 => perf-tests/event-hubs/test}/index.spec.ts (100%) rename sdk/eventhub/{event-hubs/test/perf/track-2 => perf-tests/event-hubs/test}/receive.spec.ts (93%) rename sdk/eventhub/{event-hubs/test/perf/track-2 => perf-tests/event-hubs/test}/send.spec.ts (95%) create mode 100644 sdk/eventhub/perf-tests/event-hubs/tsconfig.json rename sdk/identity/identity/assets/{cert.pem => fake-cert.pem} (100%) create mode 100644 sdk/identity/identity/recordings/node/applicationcredential/recording_authenticates_with_a_client_secret_on_the_environment_variables.js create mode 100644 sdk/identity/identity/recordings/node/applicationcredential/recording_supports_tracing_with_environment_client_secret.js create mode 100644 sdk/identity/identity/recordings/node/applicationcredential/recording_throws_an_aggregateauthenticationerror_when_gettoken_is_called_and_no_credential_was_configured.js create mode 100644 sdk/identity/identity/recordings/node/applicationcredential/recording_throws_an_authenticationerror_when_gettoken_is_called_and_applicationcredential_authentication_failed.js create mode 100644 sdk/identity/identity/recordings/node/clientcertificatecredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js create mode 100644 sdk/identity/identity/recordings/node/clientsecretcredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js create mode 100644 sdk/identity/identity/recordings/node/usernamepasswordcredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js create mode 100644 sdk/identity/identity/samples/manual/README.md create mode 100644 sdk/identity/identity/samples/manual/package.json create mode 100644 sdk/identity/identity/samples/manual/sample.env create mode 100644 sdk/identity/identity/src/credentials/applicationCredential.browser.ts create mode 100644 sdk/identity/identity/src/credentials/applicationCredential.ts create mode 100644 sdk/identity/identity/src/credentials/managedIdentityCredential/tokenExchangeMsi.ts create mode 100644 sdk/identity/identity/src/credentials/onBehalfOfCredential.browser.ts create mode 100644 sdk/identity/identity/src/credentials/onBehalfOfCredential.ts create mode 100644 sdk/identity/identity/src/credentials/onBehalfOfCredentialOptions.ts rename sdk/identity/identity/src/credentials/{visualStudioCodeCredentialExtension.ts => visualStudioCodeCredentialPlugin.ts} (82%) delete mode 100644 sdk/identity/identity/src/extensions/consumer.browser.ts create mode 100644 sdk/identity/identity/src/msal/nodeFlows/msalAuthorizationCode.ts create mode 100644 sdk/identity/identity/src/msal/nodeFlows/msalOnBehalfOf.ts create mode 100644 sdk/identity/identity/src/plugins/consumer.browser.ts rename sdk/identity/identity/src/{extensions => plugins}/consumer.ts (50%) rename sdk/identity/identity/src/{extensions => plugins}/provider.ts (60%) create mode 100644 sdk/identity/identity/test/internal/node/applicationCredential.spec.ts create mode 100644 sdk/identity/identity/test/internal/node/onBehalfOfCredential.spec.ts create mode 100644 sdk/identity/identity/test/public/node/applicationCredential.spec.ts delete mode 100644 sdk/identity/identity/test/public/node/authorizationCodeCredential.spec.ts create mode 100644 sdk/keyvault/arm-keyvault/CHANGELOG.md rename sdk/{authorization/arm-authorization/LICENSE.txt => keyvault/arm-keyvault/LICENSE} (96%) create mode 100644 sdk/keyvault/arm-keyvault/_meta.json create mode 100644 sdk/keyvault/arm-keyvault/api-extractor.json create mode 100644 sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md create mode 100644 sdk/keyvault/arm-keyvault/src/index.ts create mode 100644 sdk/keyvault/arm-keyvault/src/lroImpl.ts delete mode 100644 sdk/keyvault/arm-keyvault/src/models/operationsMappers.ts delete mode 100644 sdk/keyvault/arm-keyvault/src/models/vaultsMappers.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operations/keys.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operations/managedHsms.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operations/mhsmPrivateEndpointConnections.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operations/mhsmPrivateLinkResources.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operations/privateEndpointConnections.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operations/privateLinkResources.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operations/secrets.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/index.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/keys.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/managedHsms.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/mhsmPrivateEndpointConnections.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/mhsmPrivateLinkResources.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/operations.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/privateEndpointConnections.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/privateLinkResources.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/secrets.ts create mode 100644 sdk/keyvault/arm-keyvault/src/operationsInterfaces/vaults.ts create mode 100644 sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_getkeyrotationpolicy_supports_tracing.json create mode 100644 sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_rotating_a_key.json create mode 100644 sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_tracing.json create mode 100644 sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_throws_when_attempting_to_fetch_a_policy_of_a_nonexistent_key.json create mode 100644 sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_creating_a_new_rotation_policy_and_fetching_it.json create mode 100644 sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_tracing.json create mode 100644 sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_updating_an_existing_policy.json create mode 100644 sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_getkeyrotationpolicy_supports_tracing.js create mode 100644 sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_rotating_a_key.js create mode 100644 sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_tracing.js create mode 100644 sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_throws_when_attempting_to_fetch_a_policy_of_a_nonexistent_key.js create mode 100644 sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_creating_a_new_rotation_policy_and_fetching_it.js create mode 100644 sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_tracing.js create mode 100644 sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_updating_an_existing_policy.js create mode 100644 sdk/keyvault/keyvault-keys/samples-dev/keyRotation.ts create mode 100644 sdk/keyvault/keyvault-keys/test/utils/base64url.browser.ts create mode 100644 sdk/keyvault/keyvault-keys/test/utils/base64url.ts delete mode 100644 sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/dbAttributes.ts delete mode 100644 sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/grpcAttributes.ts delete mode 100644 sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/httpAttributes.ts create mode 100644 sdk/monitor/monitor-query/samples-dev/logsQueryMultipleWorkspaces.ts create mode 100644 sdk/monitor/monitor-query/samples/v1/javascript/logsQueryMultipleWorkspaces.js create mode 100644 sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryMultipleWorkspaces.ts create mode 100644 sdk/monitor/monitor-query/src/models/timeInterval.ts create mode 100644 sdk/monitor/monitor-query/src/timespanConversion.ts delete mode 100644 sdk/network/arm-network/src/coreClientLro.ts delete mode 100644 sdk/network/arm-network/src/lro/azureAsyncPolling.ts delete mode 100644 sdk/network/arm-network/src/lro/bodyPolling.ts delete mode 100644 sdk/network/arm-network/src/lro/index.ts delete mode 100644 sdk/network/arm-network/src/lro/locationPolling.ts delete mode 100644 sdk/network/arm-network/src/lro/lroEngine.ts delete mode 100644 sdk/network/arm-network/src/lro/models.ts delete mode 100644 sdk/network/arm-network/src/lro/operation.ts delete mode 100644 sdk/network/arm-network/src/lro/passthrough.ts delete mode 100644 sdk/network/arm-network/src/lro/requestUtils.ts delete mode 100644 sdk/network/arm-network/src/lro/stateMachine.ts create mode 100644 sdk/network/arm-network/src/lroImpl.ts create mode 100644 sdk/network/arm-network/src/operations/serviceTagInformationOperations.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/serviceTagInformationOperations.ts create mode 100644 sdk/purview/arm-purview/CHANGELOG.md create mode 100644 sdk/purview/arm-purview/LICENSE create mode 100644 sdk/purview/arm-purview/README.md create mode 100644 sdk/purview/arm-purview/_meta.json create mode 100644 sdk/purview/arm-purview/api-extractor.json create mode 100644 sdk/purview/arm-purview/package.json create mode 100644 sdk/purview/arm-purview/review/arm-purview.api.md create mode 100644 sdk/purview/arm-purview/rollup.config.js create mode 100644 sdk/purview/arm-purview/src/index.ts create mode 100644 sdk/purview/arm-purview/src/lroImpl.ts create mode 100644 sdk/purview/arm-purview/src/models/index.ts create mode 100644 sdk/purview/arm-purview/src/models/mappers.ts create mode 100644 sdk/purview/arm-purview/src/models/parameters.ts create mode 100644 sdk/purview/arm-purview/src/operations/accounts.ts create mode 100644 sdk/purview/arm-purview/src/operations/defaultAccounts.ts create mode 100644 sdk/purview/arm-purview/src/operations/index.ts create mode 100644 sdk/purview/arm-purview/src/operations/operations.ts create mode 100644 sdk/purview/arm-purview/src/operations/privateEndpointConnections.ts create mode 100644 sdk/purview/arm-purview/src/operations/privateLinkResources.ts create mode 100644 sdk/purview/arm-purview/src/operationsInterfaces/accounts.ts create mode 100644 sdk/purview/arm-purview/src/operationsInterfaces/defaultAccounts.ts create mode 100644 sdk/purview/arm-purview/src/operationsInterfaces/index.ts create mode 100644 sdk/purview/arm-purview/src/operationsInterfaces/operations.ts create mode 100644 sdk/purview/arm-purview/src/operationsInterfaces/privateEndpointConnections.ts create mode 100644 sdk/purview/arm-purview/src/operationsInterfaces/privateLinkResources.ts create mode 100644 sdk/purview/arm-purview/src/purviewManagementClient.ts create mode 100644 sdk/purview/arm-purview/src/purviewManagementClientContext.ts create mode 100644 sdk/purview/arm-purview/tsconfig.json create mode 100644 sdk/purview/purview-account-rest/.eslintrc.json create mode 100644 sdk/purview/purview-account-rest/CHANGELOG.md rename sdk/{appservice/arm-appservice/LICENSE.txt => purview/purview-account-rest/LICENSE} (100%) create mode 100644 sdk/purview/purview-account-rest/README.md create mode 100644 sdk/purview/purview-account-rest/api-extractor.json create mode 100644 sdk/purview/purview-account-rest/package.json create mode 100644 sdk/purview/purview-account-rest/recordings/node/get_account_info/recording_should_get_the_account_info.js create mode 100644 sdk/purview/purview-account-rest/recordings/node/list_collections/recording_should_list_all_available_collections.js create mode 100644 sdk/purview/purview-account-rest/review/purview-account.api.md create mode 100644 sdk/purview/purview-account-rest/rollup.config.js create mode 100644 sdk/purview/purview-account-rest/sample.env create mode 100644 sdk/purview/purview-account-rest/samples-dev/collections.ts create mode 100644 sdk/purview/purview-account-rest/samples/v1/javascript/README.md create mode 100644 sdk/purview/purview-account-rest/samples/v1/javascript/collections.js create mode 100644 sdk/purview/purview-account-rest/samples/v1/javascript/package.json create mode 100644 sdk/purview/purview-account-rest/samples/v1/javascript/sample.env create mode 100644 sdk/purview/purview-account-rest/samples/v1/typescript/README.md create mode 100644 sdk/purview/purview-account-rest/samples/v1/typescript/package.json create mode 100644 sdk/purview/purview-account-rest/samples/v1/typescript/sample.env create mode 100644 sdk/purview/purview-account-rest/samples/v1/typescript/src/collections.ts create mode 100644 sdk/purview/purview-account-rest/samples/v1/typescript/tsconfig.json create mode 100644 sdk/purview/purview-account-rest/src/index.ts create mode 100644 sdk/purview/purview-account-rest/src/models.ts create mode 100644 sdk/purview/purview-account-rest/src/paginateHelper.ts create mode 100644 sdk/purview/purview-account-rest/src/parameters.ts create mode 100644 sdk/purview/purview-account-rest/src/purviewAccount.ts create mode 100644 sdk/purview/purview-account-rest/src/responses.ts create mode 100644 sdk/purview/purview-account-rest/swagger/README.md create mode 100644 sdk/purview/purview-account-rest/test/public/account.spec.ts create mode 100644 sdk/purview/purview-account-rest/test/public/collections.spec.ts create mode 100644 sdk/purview/purview-account-rest/test/public/utils/env.browser.ts create mode 100644 sdk/purview/purview-account-rest/test/public/utils/env.ts create mode 100644 sdk/purview/purview-account-rest/test/public/utils/recordedClient.ts create mode 100644 sdk/purview/purview-account-rest/tsconfig.json create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/CHANGELOG.md create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/LICENSE create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/README.md create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/_meta.json create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/api-extractor.json create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/package.json create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/review/arm-resources-subscriptions.api.md create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/rollup.config.js create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/index.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/models/index.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/models/mappers.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/models/parameters.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/index.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/subscriptions.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/tenants.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/index.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/subscriptions.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/tenants.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/subscriptionClient.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/src/subscriptionClientContext.ts create mode 100644 sdk/resources-subscriptions/arm-resources-subscriptions/tsconfig.json create mode 100644 sdk/resources-subscriptions/ci.yml delete mode 100644 sdk/schemaregistry/schema-registry-avro/rollup.base.config.js create mode 100644 sdk/schemaregistry/schema-registry-avro/rollup.patched.config.js create mode 100644 sdk/schemaregistry/schema-registry-avro/src/utils/buffer.browser.ts create mode 100644 sdk/schemaregistry/schema-registry-avro/src/utils/buffer.ts create mode 100644 sdk/schemaregistry/schema-registry-avro/test/utils/dummies.ts create mode 100644 sdk/schemaregistry/schema-registry-avro/test/utils/mockedRegistryClient.ts create mode 100644 sdk/schemaregistry/schema-registry-avro/test/utils/mockedSerializer.ts create mode 100644 sdk/schemaregistry/schema-registry-avro/types/schema-registry-avro.shims.d.ts create mode 100644 sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_schema_with_whitespace.json create mode 100644 sdk/schemaregistry/schema-registry/recordings/node/schemaregistryclient/recording_schema_with_whitespace.js delete mode 100644 sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_creates_the_datasourceconnection_object_using_createorupdatedatasourceconnection.js delete mode 100644 sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_correct_datasourceconnection_object.js delete mode 100644 sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_list_of_datasourceconnection_names.js delete mode 100644 sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_list_of_datasourceconnections.js delete mode 100644 sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_modify_and_updates_the_datasourceconnection_object.js delete mode 100644 sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_throws_error_for_invalid_datasourceconnection_object.js rename sdk/search/search-documents/{samples/typescript/src/bufferedSender/uploadDocuments/autoFlushSizeBased.ts => samples-dev/bufferedSenderAutoFlushSize.ts} (84%) rename sdk/search/search-documents/{samples/typescript/src/bufferedSender/uploadDocuments/autoFlushTimerBased.ts => samples-dev/bufferedSenderAutoFlushTimer.ts} (84%) rename sdk/search/search-documents/{samples/typescript/src/bufferedSender/uploadDocuments/manualFlush.ts => samples-dev/bufferedSenderManualFlush.ts} (83%) create mode 100644 sdk/search/search-documents/samples-dev/dataSourceConnectionOperations.ts create mode 100644 sdk/search/search-documents/samples-dev/indexOperations.ts create mode 100644 sdk/search/search-documents/samples-dev/indexerOperations.ts rename sdk/search/search-documents/{samples/typescript/src/utils => samples-dev}/interfaces.ts (95%) rename sdk/search/search-documents/{samples/typescript/src/utils => samples-dev}/setup.ts (99%) create mode 100644 sdk/search/search-documents/samples-dev/skillSetOperations.ts create mode 100644 sdk/search/search-documents/samples-dev/synonymMapOperations.ts delete mode 100644 sdk/search/search-documents/samples/javascript/README.md delete mode 100644 sdk/search/search-documents/samples/javascript/sample.env delete mode 100644 sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createDataSourceConnection.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createOrUpdateDataSourceConnection.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByName.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByObject.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/dataSourceConnections/getDataSourceConnection.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnectionNames.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnections.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/createIndexer.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/createOrUpdateIndexer.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByName.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByObject.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/getIndexer.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/getIndexerStatus.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/listIndexerNames.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/listIndexers.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/resetIndexer.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexers/runIndexer.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/analyzeText.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/createIndex.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/createOrUpdateIndex.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByName.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByObject.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/getIndex.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/getIndexStatistics.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/getServiceStatistics.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/listIndexNames.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/indexes/listIndexes.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/skillSets/createOrUpdateSkillset.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/skillSets/createSkillset.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByName.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByObject.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/skillSets/getSkillset.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsets.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsetsNames.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/synonymMaps/createOrUpdateSynonymMap.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/synonymMaps/createSynonymMap.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByName.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByObject.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/synonymMaps/getSynonymMap.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMapNames.js delete mode 100644 sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMaps.js delete mode 100644 sdk/search/search-documents/samples/tsconfig.json delete mode 100644 sdk/search/search-documents/samples/typescript/README.md delete mode 100644 sdk/search/search-documents/samples/typescript/sample.env delete mode 100644 sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createDataSourceConnection.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createOrUpdateDataSourceConnection.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByName.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByObject.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/dataSourceConnections/getDataSourceConnection.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnectionNames.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnections.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/createIndexer.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/createOrUpdateIndexer.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByName.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByObject.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/getIndexer.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/getIndexerStatus.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/listIndexerNames.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/listIndexers.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/resetIndexer.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexers/runIndexer.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/analyzeText.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/createIndex.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/createOrUpdateIndex.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByName.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByObject.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/getIndex.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/getIndexStatistics.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/getServiceStatistics.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/listIndexNames.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/indexes/listIndexes.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/skillSets/createOrUpdateSkillset.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/skillSets/createSkillset.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByName.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByObject.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/skillSets/getSkillset.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsets.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsetsNames.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/synonymMaps/createOrUpdateSynonymMap.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/synonymMaps/createSynonymMap.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByName.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByObject.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/synonymMaps/getSynonymMap.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMapNames.ts delete mode 100644 sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMaps.ts create mode 100644 sdk/search/search-documents/samples/v11/javascript/README.md create mode 100644 sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushSize.js create mode 100644 sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushTimer.js create mode 100644 sdk/search/search-documents/samples/v11/javascript/bufferedSenderManualFlush.js create mode 100644 sdk/search/search-documents/samples/v11/javascript/dataSourceConnectionOperations.js create mode 100644 sdk/search/search-documents/samples/v11/javascript/indexOperations.js create mode 100644 sdk/search/search-documents/samples/v11/javascript/indexerOperations.js create mode 100644 sdk/search/search-documents/samples/v11/javascript/interfaces.js rename sdk/search/search-documents/samples/{ => v11}/javascript/package.json (50%) create mode 100644 sdk/search/search-documents/samples/v11/javascript/sample.env create mode 100644 sdk/search/search-documents/samples/v11/javascript/setup.js create mode 100644 sdk/search/search-documents/samples/v11/javascript/skillSetOperations.js create mode 100644 sdk/search/search-documents/samples/v11/javascript/synonymMapOperations.js create mode 100644 sdk/search/search-documents/samples/v11/typescript/README.md rename sdk/search/search-documents/samples/{ => v11}/typescript/package.json (51%) create mode 100644 sdk/search/search-documents/samples/v11/typescript/sample.env create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushSize.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushTimer.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderManualFlush.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/dataSourceConnectionOperations.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/indexOperations.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/indexerOperations.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/interfaces.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/setup.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/skillSetOperations.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/src/synonymMapOperations.ts create mode 100644 sdk/search/search-documents/samples/v11/typescript/tsconfig.json create mode 100644 sdk/servicebus/arm-servicebus/CHANGELOG.md create mode 100644 sdk/servicebus/arm-servicebus/LICENSE create mode 100644 sdk/servicebus/arm-servicebus/_meta.json create mode 100644 sdk/servicebus/arm-servicebus/api-extractor.json create mode 100644 sdk/servicebus/arm-servicebus/review/arm-servicebus.api.md create mode 100644 sdk/servicebus/arm-servicebus/src/index.ts create mode 100644 sdk/servicebus/arm-servicebus/src/lroImpl.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/disasterRecoveryConfigsMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/eventHubsMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/migrationConfigsMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/namespacesMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/operationsMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/premiumMessagingRegionsOperationsMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/queuesMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/regionsMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/rulesMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/subscriptionsMappers.ts delete mode 100644 sdk/servicebus/arm-servicebus/src/models/topicsMappers.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operations/privateEndpointConnections.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operations/privateLinkResources.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/disasterRecoveryConfigs.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/eventHubs.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/index.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/migrationConfigs.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/namespaces.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/operations.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/premiumMessagingRegionsOperations.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/privateEndpointConnections.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/privateLinkResources.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/queues.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/regions.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/rules.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/subscriptions.ts create mode 100644 sdk/servicebus/arm-servicebus/src/operationsInterfaces/topics.ts create mode 100644 sdk/servicebus/perf-tests/service-bus-track-1/README.md create mode 100644 sdk/servicebus/perf-tests/service-bus-track-1/package.json create mode 100644 sdk/servicebus/perf-tests/service-bus-track-1/sample.env rename sdk/servicebus/{service-bus/test/perf/track-1 => perf-tests/service-bus-track-1/test}/index.spec.ts (100%) rename sdk/servicebus/{service-bus/test/perf/track-1 => perf-tests/service-bus-track-1/test}/sbBase.spec.ts (96%) rename sdk/servicebus/{service-bus/test/perf/track-1 => perf-tests/service-bus-track-1/test}/sendBatch.spec.ts (94%) create mode 100644 sdk/servicebus/perf-tests/service-bus-track-1/tsconfig.json create mode 100644 sdk/servicebus/perf-tests/service-bus/README.md create mode 100644 sdk/servicebus/perf-tests/service-bus/package.json create mode 100644 sdk/servicebus/perf-tests/service-bus/sample.env rename sdk/servicebus/{service-bus/test/perf/track-2 => perf-tests/service-bus/test}/index.spec.ts (100%) rename sdk/servicebus/{service-bus/test/perf/track-2 => perf-tests/service-bus/test}/sbBase.spec.ts (97%) rename sdk/servicebus/{service-bus/test/perf/track-2 => perf-tests/service-bus/test}/sendBatch.spec.ts (94%) create mode 100644 sdk/servicebus/perf-tests/service-bus/tsconfig.json delete mode 100644 sdk/servicebus/service-bus/test/perf/track-1/README.md delete mode 100644 sdk/servicebus/service-bus/test/perf/track-1/package.json delete mode 100644 sdk/servicebus/service-bus/test/perf/track-1/tsconfig.json delete mode 100644 sdk/servicebus/service-bus/test/perf/track-2/README.md rename sdk/servicebus/service-bus/test/public/{testConstants.ts => fakeTestSecrets.ts} (100%) create mode 100644 sdk/servicebus/service-bus/test/stress/.helmignore create mode 100644 sdk/servicebus/service-bus/test/stress/Chart.lock create mode 100644 sdk/servicebus/service-bus/test/stress/Chart.yaml delete mode 100644 sdk/servicebus/service-bus/test/stress/SetupAndGuide.md rename sdk/servicebus/service-bus/test/stress/{ => app}/package.json (83%) create mode 100644 sdk/servicebus/service-bus/test/stress/app/sample.env rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioBatchReceive.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioCloseOpen.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioLongRunning.ts (98%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioPeekMessages.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioRenewMessageLock.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioRenewSessionLock.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioSend.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioShortLivedReceivers.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/scenarioStreamingReceive.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/serviceBusStressTester.ts (99%) rename sdk/servicebus/service-bus/test/stress/{ => app/src}/utils.ts (100%) rename sdk/servicebus/service-bus/test/stress/{ => app}/tsconfig.json (93%) create mode 100644 sdk/servicebus/service-bus/test/stress/parameters.json delete mode 100644 sdk/servicebus/service-bus/test/stress/pod.yaml delete mode 100755 sdk/servicebus/service-bus/test/stress/runContainer.js delete mode 100644 sdk/servicebus/service-bus/test/stress/sample.env delete mode 100644 sdk/servicebus/service-bus/test/stress/secrets.yaml create mode 100644 sdk/servicebus/service-bus/test/stress/templates/testjob.yaml create mode 100644 sdk/servicebus/service-bus/test/stress/test-resources.bicep create mode 100644 sdk/servicebus/service-bus/test/stress/test-resources.json delete mode 100755 sdk/servicebus/service-bus/test/stress/testAll.sh delete mode 100755 sdk/servicebus/service-bus/test/stress/testBuild.sh delete mode 100755 sdk/servicebus/service-bus/test/stress/testRun.sh create mode 100644 sdk/servicebus/service-bus/test/stress/values.yaml create mode 100644 sdk/sql/arm-sql/CHANGELOG.md create mode 100644 sdk/sql/arm-sql/LICENSE delete mode 100644 sdk/sql/arm-sql/LICENSE.txt create mode 100644 sdk/sql/arm-sql/_meta.json create mode 100644 sdk/sql/arm-sql/api-extractor.json create mode 100644 sdk/sql/arm-sql/review/arm-sql.api.md create mode 100644 sdk/sql/arm-sql/src/index.ts create mode 100644 sdk/sql/arm-sql/src/lroImpl.ts delete mode 100644 sdk/sql/arm-sql/src/models/backupLongTermRetentionPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/backupShortTermRetentionPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/capabilitiesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/dataMaskingPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/dataMaskingRulesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databaseAutomaticTuningOperationsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databaseBlobAuditingPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databaseOperationsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databaseThreatDetectionPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databaseUsagesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentRuleBaselinesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentScansMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/databasesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/elasticPoolActivitiesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/elasticPoolDatabaseActivitiesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/elasticPoolOperationsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/elasticPoolsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/encryptionProtectorsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/extendedDatabaseBlobAuditingPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/extendedServerBlobAuditingPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/failoverGroupsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/firewallRulesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/geoBackupPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/instanceFailoverGroupsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/instancePoolsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobAgentsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobCredentialsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobExecutionsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobStepExecutionsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobStepsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobTargetExecutionsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobTargetGroupsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobVersionsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/jobsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/longTermRetentionBackupsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedBackupShortTermRetentionPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedDatabaseRestoreDetailsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedDatabaseSecurityAlertPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedDatabaseSensitivityLabelsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentRuleBaselinesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentScansMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedDatabasesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedInstanceAdministratorsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedInstanceEncryptionProtectorsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedInstanceKeysMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedInstanceTdeCertificatesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedInstanceVulnerabilityAssessmentsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedInstancesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/managedServerSecurityAlertPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/operationsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/privateEndpointConnectionsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/privateLinkResourcesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/recommendedElasticPoolsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/recoverableDatabasesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/recoverableManagedDatabasesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/replicationLinksMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/restorableDroppedDatabasesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/restorableDroppedManagedDatabasesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/restorePointsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/sensitivityLabelsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverAutomaticTuningOperationsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverAzureADAdministratorsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverBlobAuditingPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverCommunicationLinksMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverConnectionPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverDnsAliasesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverKeysMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverSecurityAlertPoliciesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverUsagesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serverVulnerabilityAssessmentsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serversMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serviceObjectivesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/serviceTierAdvisorsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/subscriptionUsagesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/syncAgentsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/syncGroupsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/syncMembersMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/tdeCertificatesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/transparentDataEncryptionActivitiesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/transparentDataEncryptionsMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/usagesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/virtualClustersMappers.ts delete mode 100644 sdk/sql/arm-sql/src/models/virtualNetworkRulesMappers.ts delete mode 100644 sdk/sql/arm-sql/src/operations/backupLongTermRetentionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operations/dataWarehouseUserActivitiesOperations.ts create mode 100644 sdk/sql/arm-sql/src/operations/databaseAdvisors.ts create mode 100644 sdk/sql/arm-sql/src/operations/databaseColumns.ts create mode 100644 sdk/sql/arm-sql/src/operations/databaseExtensionsOperations.ts create mode 100644 sdk/sql/arm-sql/src/operations/databaseRecommendedActions.ts create mode 100644 sdk/sql/arm-sql/src/operations/databaseSchemas.ts create mode 100644 sdk/sql/arm-sql/src/operations/databaseSecurityAlertPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operations/databaseTables.ts delete mode 100644 sdk/sql/arm-sql/src/operations/databaseThreatDetectionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operations/deletedServers.ts create mode 100644 sdk/sql/arm-sql/src/operations/ledgerDigestUploadsOperations.ts create mode 100644 sdk/sql/arm-sql/src/operations/longTermRetentionManagedInstanceBackups.ts create mode 100644 sdk/sql/arm-sql/src/operations/longTermRetentionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operations/maintenanceWindowOptionsOperations.ts create mode 100644 sdk/sql/arm-sql/src/operations/maintenanceWindowsOperations.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedDatabaseColumns.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedDatabaseQueries.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedDatabaseRecommendedSensitivityLabels.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedDatabaseSchemas.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedDatabaseSecurityEvents.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedDatabaseTables.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedDatabaseTransparentDataEncryption.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedInstanceAzureADOnlyAuthentications.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedInstanceLongTermRetentionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedInstanceOperations.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedInstancePrivateEndpointConnections.ts create mode 100644 sdk/sql/arm-sql/src/operations/managedInstancePrivateLinkResources.ts create mode 100644 sdk/sql/arm-sql/src/operations/operationsHealthOperations.ts create mode 100644 sdk/sql/arm-sql/src/operations/outboundFirewallRules.ts delete mode 100644 sdk/sql/arm-sql/src/operations/recommendedElasticPools.ts create mode 100644 sdk/sql/arm-sql/src/operations/recommendedSensitivityLabels.ts create mode 100644 sdk/sql/arm-sql/src/operations/serverAdvisors.ts create mode 100644 sdk/sql/arm-sql/src/operations/serverAzureADOnlyAuthentications.ts create mode 100644 sdk/sql/arm-sql/src/operations/serverDevOpsAuditSettings.ts create mode 100644 sdk/sql/arm-sql/src/operations/serverOperations.ts create mode 100644 sdk/sql/arm-sql/src/operations/serverTrustGroups.ts delete mode 100644 sdk/sql/arm-sql/src/operations/serviceTierAdvisors.ts create mode 100644 sdk/sql/arm-sql/src/operations/sqlAgent.ts create mode 100644 sdk/sql/arm-sql/src/operations/timeZones.ts create mode 100644 sdk/sql/arm-sql/src/operations/workloadClassifiers.ts create mode 100644 sdk/sql/arm-sql/src/operations/workloadGroups.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/backupShortTermRetentionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/capabilities.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/dataMaskingPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/dataMaskingRules.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/dataWarehouseUserActivitiesOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseAdvisors.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseAutomaticTuningOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseBlobAuditingPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseColumns.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseExtensionsOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseRecommendedActions.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseSchemas.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseSecurityAlertPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseTables.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseUsages.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessmentRuleBaselines.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessmentScans.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessments.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/databases.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/deletedServers.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolActivities.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolDatabaseActivities.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/elasticPools.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/encryptionProtectors.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/extendedDatabaseBlobAuditingPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/extendedServerBlobAuditingPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/failoverGroups.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/firewallRules.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/geoBackupPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/index.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/instanceFailoverGroups.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/instancePools.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobAgents.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobCredentials.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobExecutions.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobStepExecutions.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobSteps.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobTargetExecutions.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobTargetGroups.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobVersions.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/jobs.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/ledgerDigestUploadsOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionBackups.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionManagedInstanceBackups.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/maintenanceWindowOptionsOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/maintenanceWindowsOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedBackupShortTermRetentionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseColumns.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseQueries.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseRecommendedSensitivityLabels.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseRestoreDetails.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSchemas.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSecurityAlertPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSecurityEvents.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSensitivityLabels.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseTables.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseTransparentDataEncryption.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessmentRuleBaselines.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessmentScans.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessments.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedDatabases.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceAdministrators.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceAzureADOnlyAuthentications.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceEncryptionProtectors.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceKeys.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceLongTermRetentionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstancePrivateEndpointConnections.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstancePrivateLinkResources.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceTdeCertificates.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceVulnerabilityAssessments.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedInstances.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/managedServerSecurityAlertPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/operations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/operationsHealthOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/outboundFirewallRules.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/privateEndpointConnections.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/privateLinkResources.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/recommendedSensitivityLabels.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/recoverableDatabases.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/recoverableManagedDatabases.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/replicationLinks.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/restorableDroppedDatabases.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/restorableDroppedManagedDatabases.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/restorePoints.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/sensitivityLabels.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverAdvisors.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverAutomaticTuningOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverAzureADAdministrators.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverAzureADOnlyAuthentications.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverBlobAuditingPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverCommunicationLinks.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverConnectionPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverDevOpsAuditSettings.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverDnsAliases.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverKeys.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverOperations.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverSecurityAlertPolicies.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverTrustGroups.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverUsages.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serverVulnerabilityAssessments.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/servers.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/serviceObjectives.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/sqlAgent.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/subscriptionUsages.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/syncAgents.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/syncGroups.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/syncMembers.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/tdeCertificates.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/timeZones.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/transparentDataEncryptionActivities.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/transparentDataEncryptions.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/usages.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/virtualClusters.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/virtualNetworkRules.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/workloadClassifiers.ts create mode 100644 sdk/sql/arm-sql/src/operationsInterfaces/workloadGroups.ts create mode 100644 sdk/sql/ci.yml rename sdk/storage/storage-blob/test/utils/{constants.ts => fakeTestSecrets.ts} (100%) create mode 100644 sdk/synapse/synapse-access-control/karma.conf.js create mode 100644 sdk/synapse/synapse-access-control/recordings/browsers/access_control_smoke/recording_should_list_roles.json create mode 100644 sdk/synapse/synapse-access-control/recordings/node/access_control_smoke/recording_should_list_roles.js create mode 100644 sdk/synapse/synapse-access-control/src/operations/index.ts create mode 100644 sdk/synapse/synapse-access-control/src/operations/roleAssignments.ts create mode 100644 sdk/synapse/synapse-access-control/src/operations/roleDefinitions.ts create mode 100644 sdk/synapse/synapse-access-control/src/operationsInterfaces/index.ts create mode 100644 sdk/synapse/synapse-access-control/src/operationsInterfaces/roleAssignments.ts create mode 100644 sdk/synapse/synapse-access-control/src/operationsInterfaces/roleDefinitions.ts create mode 100644 sdk/synapse/synapse-access-control/swagger/README.md create mode 100644 sdk/synapse/synapse-access-control/test/public/test.spec.ts create mode 100644 sdk/synapse/synapse-access-control/test/public/utils/env.browser.ts create mode 100644 sdk/synapse/synapse-access-control/test/public/utils/env.ts create mode 100644 sdk/synapse/synapse-access-control/test/public/utils/recordedClient.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/azureAsyncOperationStrategy.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/bodyPollingStrategy.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/index.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/locationStrategy.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/lroPolicy.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/lroPoller.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/models.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/operation.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/passthroughStrategy.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/lro/requestUtils.ts create mode 100644 sdk/synapse/synapse-artifacts/src/lroImpl.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operations/dataFlow.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operations/dataFlowOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operations/dataset.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operations/datasetOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operations/linkedService.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operations/linkedServiceOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operations/notebook.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operations/notebookOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operations/pipeline.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operations/pipelineOperations.ts rename sdk/synapse/synapse-artifacts/src/operations/{pipelineRun.ts => pipelineRunOperations.ts} (61%) delete mode 100644 sdk/synapse/synapse-artifacts/src/operations/sparkJobDefinition.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operations/sparkJobDefinitionOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operations/sqlScript.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operations/sqlScriptOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operations/trigger.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operations/triggerOperations.ts rename sdk/synapse/synapse-artifacts/src/operations/{triggerRun.ts => triggerRunOperations.ts} (61%) rename sdk/synapse/synapse-artifacts/src/operations/{workspace.ts => workspaceOperations.ts} (55%) delete mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlow.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlowOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataset.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/datasetOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/linkedService.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/linkedServiceOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/notebook.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/notebookOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipeline.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineOperations.ts rename sdk/synapse/synapse-artifacts/src/operationsInterfaces/{pipelineRun.ts => pipelineRunOperations.ts} (57%) delete mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/sparkJobDefinition.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/sparkJobDefinitionOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlScript.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlScriptOperations.ts delete mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/trigger.ts create mode 100644 sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerOperations.ts rename sdk/synapse/synapse-artifacts/src/operationsInterfaces/{triggerRun.ts => triggerRunOperations.ts} (57%) rename sdk/synapse/synapse-artifacts/src/operationsInterfaces/{workspace.ts => workspaceOperations.ts} (50%) create mode 100644 sdk/synapse/synapse-managed-private-endpoints/karma.conf.js create mode 100644 sdk/synapse/synapse-managed-private-endpoints/recordings/browsers/synapse_managed_private_endpoints/recording_should_list_endpoints.json create mode 100644 sdk/synapse/synapse-managed-private-endpoints/recordings/node/synapse_managed_private_endpoints/recording_should_list_endpoints.js rename sdk/synapse/{synapse-artifacts/src/utils/constants.ts => synapse-managed-private-endpoints/src/operationsInterfaces/index.ts} (84%) create mode 100644 sdk/synapse/synapse-managed-private-endpoints/src/operationsInterfaces/managedPrivateEndpoints.ts create mode 100644 sdk/synapse/synapse-managed-private-endpoints/swagger/README.md create mode 100644 sdk/synapse/synapse-managed-private-endpoints/test/public/test.spec.ts create mode 100644 sdk/synapse/synapse-managed-private-endpoints/test/public/utils/env.browser.ts create mode 100644 sdk/synapse/synapse-managed-private-endpoints/test/public/utils/env.ts create mode 100644 sdk/synapse/synapse-managed-private-endpoints/test/public/utils/recordedClient.ts create mode 100644 sdk/synapse/synapse-monitoring/karma.conf.js create mode 100644 sdk/synapse/synapse-monitoring/recordings/node/access_control_smoke/recording_should_list_roles.js create mode 100644 sdk/synapse/synapse-monitoring/src/operationsInterfaces/index.ts create mode 100644 sdk/synapse/synapse-monitoring/src/operationsInterfaces/monitoring.ts create mode 100644 sdk/synapse/synapse-monitoring/swagger/README.md create mode 100644 sdk/synapse/synapse-monitoring/test/public/test.spec.ts create mode 100644 sdk/synapse/synapse-monitoring/test/public/utils/env.browser.ts create mode 100644 sdk/synapse/synapse-monitoring/test/public/utils/env.ts create mode 100644 sdk/synapse/synapse-monitoring/test/public/utils/recordedClient.ts create mode 100644 sdk/synapse/synapse-spark/karma.conf.js create mode 100644 sdk/synapse/synapse-spark/recordings/browsers/synapse_managed_private_endpoints/recording_should_create_session.json create mode 100644 sdk/synapse/synapse-spark/recordings/browsers/synapse_managed_private_endpoints/recording_should_list_sessions.json create mode 100644 sdk/synapse/synapse-spark/recordings/node/synapse_managed_private_endpoints/recording_should_create_session.js create mode 100644 sdk/synapse/synapse-spark/recordings/node/synapse_managed_private_endpoints/recording_should_list_sessions.js rename sdk/synapse/synapse-spark/src/operations/{sparkSession.ts => sparkSessionOperations.ts} (52%) create mode 100644 sdk/synapse/synapse-spark/src/operationsInterfaces/index.ts create mode 100644 sdk/synapse/synapse-spark/src/operationsInterfaces/sparkBatch.ts create mode 100644 sdk/synapse/synapse-spark/src/operationsInterfaces/sparkSessionOperations.ts create mode 100644 sdk/synapse/synapse-spark/swagger/README.md create mode 100644 sdk/synapse/synapse-spark/test/public/test.spec.ts create mode 100644 sdk/synapse/synapse-spark/test/public/utils/env.browser.ts create mode 100644 sdk/synapse/synapse-spark/test/public/utils/env.ts create mode 100644 sdk/synapse/synapse-spark/test/public/utils/recordedClient.ts create mode 100644 sdk/tables/data-tables/test/internal/fakeTestSecrets.ts create mode 100644 sdk/templatespecs/arm-templatespecs/CHANGELOG.md create mode 100644 sdk/templatespecs/arm-templatespecs/LICENSE create mode 100644 sdk/templatespecs/arm-templatespecs/README.md create mode 100644 sdk/templatespecs/arm-templatespecs/_meta.json create mode 100644 sdk/templatespecs/arm-templatespecs/api-extractor.json create mode 100644 sdk/templatespecs/arm-templatespecs/package.json create mode 100644 sdk/templatespecs/arm-templatespecs/review/arm-templatespecs.api.md create mode 100644 sdk/templatespecs/arm-templatespecs/rollup.config.js create mode 100644 sdk/templatespecs/arm-templatespecs/src/index.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/models/index.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/models/mappers.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/models/parameters.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/operations/index.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/operations/templateSpecVersions.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/operations/templateSpecs.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/index.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/templateSpecVersions.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/templateSpecs.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/templateSpecsClient.ts create mode 100644 sdk/templatespecs/arm-templatespecs/src/templateSpecsClientContext.ts create mode 100644 sdk/templatespecs/arm-templatespecs/tsconfig.json create mode 100644 sdk/templatespecs/ci.yml create mode 100644 sdk/test-utils/perfstress/src/testProxyHttpClient.ts create mode 100644 sdk/test-utils/recorder-new/README.md create mode 100644 sdk/test-utils/recorder-new/karma.conf.js create mode 100644 sdk/test-utils/recorder-new/package.json create mode 100644 sdk/test-utils/recorder-new/rollup.config.js create mode 100644 sdk/test-utils/recorder-new/src/core-v1-recorder.ts create mode 100644 sdk/test-utils/recorder-new/src/core-v2-recorder.ts create mode 100644 sdk/test-utils/recorder-new/src/index.ts create mode 100644 sdk/test-utils/recorder-new/src/utils.ts create mode 100644 sdk/test-utils/recorder-new/test/testProxyClient.spec.ts create mode 100644 sdk/test-utils/recorder-new/tsconfig.json create mode 100644 sdk/test-utils/testing-recorder-new/README.md create mode 100644 sdk/test-utils/testing-recorder-new/karma.conf.js create mode 100644 sdk/test-utils/testing-recorder-new/package.json create mode 100644 sdk/test-utils/testing-recorder-new/rollup.base.config.js create mode 100644 sdk/test-utils/testing-recorder-new/rollup.config.js create mode 100644 sdk/test-utils/testing-recorder-new/rollup.test.config.js create mode 100644 sdk/test-utils/testing-recorder-new/src/index.ts create mode 100644 sdk/test-utils/testing-recorder-new/test/core-v1-test.spec.ts create mode 100644 sdk/test-utils/testing-recorder-new/test/core-v2-test.spec.ts create mode 100644 sdk/test-utils/testing-recorder-new/test/utils/utils.ts create mode 100644 sdk/test-utils/testing-recorder-new/tsconfig.json delete mode 100644 sdk/textanalytics/ai-text-analytics/src/paging.ts diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index c33888821ef8..97458b486793 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,5 +1,5 @@ # See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.145.0/containers/codespaces-linux/.devcontainer/base.Dockerfile -FROM mcr.microsoft.com/vscode/devcontainers/universal:0-linux +FROM mcr.microsoft.com/vscode/devcontainers/universal:1-linux RUN npm install -g "@microsoft/rush" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 6f4bd6e26645..b19376a1ca16 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -35,7 +35,7 @@ "workspaceMount": "source=${localWorkspaceFolder},target=/home/codespace/workspace,type=bind,consistency=cached", "workspaceFolder": "/home/codespace/workspace", "mounts": ["source=/var/run/docker.sock,target=/var/run/docker-host.sock,type=bind"], - "runArgs": ["--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"], + "runArgs": ["--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined", "--privileged"], // Add the IDs of extensions you want installed when the container is created. "extensions": [ diff --git a/.gitattributes b/.gitattributes index 18547b0d4d8e..e2a6cc7ead10 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,3 +20,6 @@ yarn.lock merge=binary # Mark recordings as auto generated **/recordings/**/*.js linguist-generated=true **/recordings/**/*.json linguist-generated=true + +# Mark generated code as auto generated +**/generated/**/*.ts linguist-generated=true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9e00b1bc61de..c7e2c2f30d3d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -34,14 +34,18 @@ /sdk/batch/ @dpwatrous @paterasMSFT @zfengms @deyaaeldeen # PRLabel: %Communication -/sdk/communication/ @DominikMe @0rland0Wats0n @ankitarorabit @Azure/azure-sdk-communication-code-reviewers -/sdk/communication/communication-identity/ @petrsvihlik @martinbarnas-ms +/sdk/communication/communication-identity/ @Azure/acs-identity-sdk +/sdk/communication/communication-chat/ @LuChen-Microsoft +/sdk/communication/communication-phone-numbers/ @miguhern +/sdk/communication/communication-network-traversal/ @AriZavala2 +/sdk/communication/communication-sms/ @RoyHerrod +/sdk/communication/communication-common/ @Azure/acs-identity-sdk # PRLabel: %Container Registry /sdk/containerregistry/ @jeremymeng # PRLabel: %Cosmos -/sdk/cosmosdb/ @southpolesteve @zfoster +/sdk/cosmosdb/ @kushagraThapar @simorenoh @simplynaveen20 @xinlian12 @moderakh # PRLabel: %Digital Twins /sdk/digitaltwins/ @vishnureddy17 @@ -96,6 +100,9 @@ # PRLabel: %Cognitive - Text Analytics /sdk/textanalytics/ @deyaaeldeen @witemple-msft +# PRLabel: %Schema Registry +/sdk/schemaregistry/ @deyaaeldeen @nguerrera + # PRLabel: %Cognitive - Form Recognizer /sdk/formrecognizer/ @jeremymeng @witemple-msft @@ -111,15 +118,502 @@ /sdk/cognitiveservices/cognitiveservices-qnamaker-runtime/ @bingisbestest @nerajput1607 /sdk/cognitiveservices/cognitiveservices-qnamaker/ @bingisbestest @nerajput1607 +# PRLabel: %Mixed Reality +/sdk/mixedreality/ @craigktreasure + +# PRLabel: %Remote Rendering +/sdk/remoterendering/ @MalcolmTyrrell + # Smoke Tests /common/smoke-test/ @ramya-rao-a @chradek @jonathandturner @sadasant @jeremymeng @southpolesteve # API review files /sdk/**/review/*api.md @bterlson @xirzec @chradek + # Management Plane # PRLabel: %Mgmt -/sdk/**/arm-*/ @qiaozha @dw511214992 +/sdk/advisor/arm-advisor @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/analysisservices/arm-analysisservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/apimanagement/arm-apimanagement @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/appconfiguration/arm-appconfiguration @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/applicationinsights/arm-appinsights @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/appplatform/arm-appplatform @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/appservice/arm-appservice @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/appservice/arm-appservice-profile-2019-03-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/appservice/arm-appservice-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/attestation/arm-attestation @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/authorization/arm-authorization @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/authorization/arm-authorization-profile-2019-03-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/authorization/arm-authorization-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/automation/arm-automation @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/avs/arm-avs @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/azurestack/arm-azurestack @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/azurestackhci/arm-azurestackhci @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/batch/arm-batch @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/batchai/arm-batchai @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/billing/arm-billing @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/botservice/arm-botservice @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/cdn/arm-cdn @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/changeanalysis/arm-changeanalysis @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/cognitiveservices/arm-cognitiveservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/commerce/arm-commerce @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/commerce/arm-commerce-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/communication/arm-communication @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/compute/arm-compute @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/compute/arm-compute-profile-2019-03-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/compute/arm-compute-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/confluent/arm-confluent @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/consumption/arm-consumption @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/containerinstance/arm-containerinstance @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/containerregistry/arm-containerregistry @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/containerservice/arm-containerservice @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/cosmosdb/arm-cosmosdb @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/customer-insights/arm-customerinsights @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/databox/arm-databox @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/databoxedge/arm-databoxedge @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/databoxedge/arm-databoxedge-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/databricks/arm-databricks @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/datacatalog/arm-datacatalog @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/datafactory/arm-datafactory @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/datalake-analytics/arm-datalake-analytics @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/datamigration/arm-datamigration @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/deploymentmanager/arm-deploymentmanager @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/deviceprovisioningservices/arm-deviceprovisioningservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/devspaces/arm-devspaces @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/devtestlabs/arm-devtestlabs @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/digitaltwins/arm-digitaltwins @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/dns/arm-dns @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/dns/arm-dns-profile-2019-03-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/dns/arm-dns-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/domainservices/arm-domainservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/edgegateway/arm-edgegateway @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/eventgrid/arm-eventgrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/eventhub/arm-eventhub @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/eventhub/arm-eventhub-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/features/arm-features @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/frontdoor/arm-frontdoor @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/hanaonazure/arm-hanaonazure @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/hdinsight/arm-hdinsight @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/healthbot/arm-healthbot @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/healthcareapis/arm-healthcareapis @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/hybridcompute/arm-hybridcompute @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/hybridkubernetes/arm-hybridkubernetes @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/iotcentral/arm-iotcentral @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/iothub/arm-iothub @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/iothub/arm-iothub-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/iotspaces/arm-iotspaces @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/keyvault/arm-keyvault @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/keyvault/arm-keyvault-profile-2019-03-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/keyvault/arm-keyvault-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/kubernetesconfiguration/arm-kubernetesconfiguration @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/kusto/arm-kusto @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/labservices/arm-labservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/links/arm-links @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/locks/arm-locks @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/locks/arm-locks-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/locks/arm-locks-profile-hybrid-2019-03-01 @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/logic/arm-logic @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/machinelearning/arm-commitmentplans @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/machinelearning/arm-webservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/machinelearning/arm-workspaces @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/machinelearningcompute/arm-machinelearningcompute @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/machinelearningexperimentation/arm-machinelearningexperimentation @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/machinelearningservices/arm-machinelearningservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/managedapplications/arm-managedapplications @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/managementgroups/arm-managementgroups @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/managementpartner/arm-managementpartner @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/maps/arm-maps @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/mariadb/arm-mariadb @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/marketplaceordering/arm-marketplaceordering @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/mediaservices/arm-mediaservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/migrate/arm-migrate @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/mixedreality/arm-mixedreality @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/monitor/arm-monitor @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/monitor/arm-monitor-profile-2019-03-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/monitor/arm-monitor-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/msi/arm-msi @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/mysql/arm-mysql @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/netapp/arm-netapp @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/network/arm-network @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/network/arm-network-profile-2019-03-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/network/arm-network-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/notificationhubs/arm-notificationhubs @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/operationalinsights/arm-operationalinsights @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/operationsmanagement/arm-operations @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/peering/arm-peering @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/policy/arm-policy @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/policy/arm-policy-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/policy/arm-policy-profile-hybrid-2019-03-01 @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/policyinsights/arm-policyinsights @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/postgresql/arm-postgresql @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/postgresql/arm-postgresql-flexible @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/powerbidedicated/arm-powerbidedicated @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/powerbiembedded/arm-powerbiembedded @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/privatedns/arm-privatedns @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/recoveryservices/arm-recoveryservices @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/recoveryservicesbackup/arm-recoveryservicesbackup @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/redis/arm-rediscache @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/redisenterprise/arm-redisenterprisecache @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/relay/arm-relay @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/reservations/arm-reservations @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/resourcegraph/arm-resourcegraph @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/resourcehealth/arm-resourcehealth @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/resourcemover/arm-resourcemover @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/resources/arm-resources @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/resources/arm-resources-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/resources/arm-resources-profile-hybrid-2019-03-01 @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/search/arm-search @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/security/arm-security @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/serialconsole/arm-serialconsole @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/service-map/arm-servicemap @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/servicebus/arm-servicebus @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/servicefabric/arm-servicefabric @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/servicefabricmesh/arm-servicefabricmesh @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/signalr/arm-signalr @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/sql/arm-sql @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/sqlvirtualmachine/arm-sqlvirtualmachine @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/storage/arm-storage @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/storage/arm-storage-profile-2019-03-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/storage/arm-storage-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/storagecache/arm-storagecache @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/storageimportexport/arm-storageimportexport @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/storagesync/arm-storagesync @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/storsimple1200series/arm-storsimple1200series @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/storsimple8000series/arm-storsimple8000series @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/streamanalytics/arm-streamanalytics @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/subscription/arm-subscriptions @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01 @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/support/arm-support @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/synapse/arm-synapse @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/timeseriesinsights/arm-timeseriesinsights @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/trafficmanager/arm-trafficmanager @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/visualstudio/arm-visualstudio @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/vmwarecloudsimple/arm-vmwarecloudsimple @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/resources-subscriptions/arm-resources-subscriptions @qiaozha @dw511214992 + +# PRLabel: %Mgmt +/sdk/templatespecs/arm-templatespecs @qiaozha @dw511214992 # PRLabel: %Monitor /sdk/monitor/ @hectorhdzg @applicationinsights-js-owners @richardpark-msft diff --git a/.prettierignore b/.prettierignore index 593616029911..55583adb4d3a 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,3 +4,4 @@ **/*.yml **/*.yaml **/*.d.ts +.env diff --git a/.scripts/automation_generate.sh b/.scripts/automation_generate.sh index bc722cdd19fd..be812de7819e 100644 --- a/.scripts/automation_generate.sh +++ b/.scripts/automation_generate.sh @@ -1,2 +1,2 @@ #!/usr/bin/env bash -track2-codegen-automation-for-pipeline --inputJsonPath=$1 --outputJsonPath=$2 --use=@autorest/typescript@6.0.0-beta.5 +track2-codegen-automation-for-pipeline --inputJsonPath=$1 --outputJsonPath=$2 --use=@autorest/typescript@6.0.0-beta.13 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a1fc0c5e55cb..15b955357b63 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,6 +73,12 @@ If you prefer to setup your own environment instead, make sure you have these pr - Git - Any of the [LTS versions of Node.js](https://nodejs.org/about/releases/) +- A C++ compiler toolchain and Python (for compiling machine-code modules): + - Windows: Install the [Visual Studio Build Tools][buildtools] from Microsoft and [Python 3.9][python39windows] from the Microsoft Store. + - macOS: Install Xcode or the "Command Line Tools for XCode" (much smaller) from [Apple's developer downloads page](https://developer.apple.com/download/all/). + - Linux: Install Python and GCC/G++ (part of the `build-essential` package on Ubuntu-based distributions) using your distribution's package manager. + + **On Linux, development headers for `libsecret` are also required.** Typically, these are available in a package called `libsecret-1-dev` (Debian/Ubuntu) or `libsecret-devel` (Fedora/Red Hat). - Rush 5.x - Install / update Rush globally via `npm install -g @microsoft/rush`. - Rush will automatically manage the specific version needed by this repo as long as you have any v5 version installed. @@ -134,7 +140,7 @@ By default, Rush only displays things written to `STDERR`. If you want to see th If you want to run the tests of a specific project, go to that project's folder and execute `rushx test`. All of the tests will automatically run both in NodeJS and in the browser. To target these environments individually, you can run `rushx test:node` and `rushx test:browser`. -By default, these npm scripts run previously recorded tests. The recordings have been generated by using a custom recording library called [test-utils-recorder](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/README.md). We will examine how to run recorded tests and live tests in the following sections. +By default, these npm scripts run previously recorded tests. The recordings have been generated by using a custom recording library called [test-recorder](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/README.md). We will examine how to run recorded tests and live tests in the following sections. #### Recorded tests @@ -160,7 +166,7 @@ If you modify the network calls (both the number of calls or their shape) either Regenerating the recordings has the same requirements as running the live tests. You will be using the same `test` npm script with the environment variables pointing to previously created Azure resources. The only difference is that the `TEST_MODE` environment variable needs to be set to `record`. When this process finishes without errors, the recordings will be updated. -For more information the recorder, please visit the [test-utils-recorder's readme](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/README.md). +For more information the recorder, please visit the [test-recorder's readme](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/README.md). ### Other NPM scripts @@ -298,3 +304,6 @@ For information about packages are versioned and tagged see [Javascript Releases The daily dev build for JS are published directly to [npmjs.com](https://npmjs.com) under the alpha tag. These are published daily whenever there is a change in the package. You can test them by downloading the "alpha" tagged version of the package, or pinning to particular alpha version. The daily dev packages are considered volatile and taking dependencies on a dev package should be considered a temporary arrangement. + +[buildtools]: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019 +[python39windows]: https://www.microsoft.com/p/python-39/9p7qfqmjrfp7 diff --git a/README.md b/README.md index 56239837b237..b2f8f18f1b2f 100644 --- a/README.md +++ b/README.md @@ -2,42 +2,41 @@ [![Packages](https://img.shields.io/badge/packages-latest-blue.svg)](https://azure.github.io/azure-sdk/releases/latest/js.html) [![Dependencies](https://img.shields.io/badge/dependency-report-blue.svg)](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-js/dependencies/dependencies.html) [![DependencyGraph](https://img.shields.io/badge/dependency-graph-blue.svg)](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-js/dependencies/InterdependencyGraph.html) -This repository is for active development of the Azure SDK for JavaScript (NodeJS & Browser). For consumers of the SDK we recommend visiting our [public developer docs](https://docs.microsoft.com/javascript/azure/) or our versioned [developer docs](https://azure.github.io/azure-sdk-for-js). +This repository is for the Azure SDK for JavaScript (Node.js & Browser). It contains the management libraries for all Azure services and client libraries for a growing subset of Azure services. Management libraries are packages that you would use to provision and manage Azure resources. Client libraries are packages that you would use to consume these resources and interact with them. ## Getting started -For your convenience, each service has a separate set of libraries that you can choose to use instead of one, large Azure package. To get started with a specific library, see the **README.md** file located in the library's project folder. You can find service libraries in the `/sdk` directory. +A few helpful resources to get started are: + +- The readme for each package contains code samples and package information. This readme can be found in the corresponding package folder under the folder of the service of your choice in the `/sdk` folder of this repository. The same readme file can be found on the landing page for the package in [npm](https://www.npmjs.com/). +- The API reference documentation of the latest versions of these packages, can be found at our [public developer docs](https://docs.microsoft.com/javascript/azure/). +- The API reference documentation of older versions, can be found in our [versioned developer docs](https://azure.github.io/azure-sdk-for-js). Each service might have a number of libraries available from each of the following categories: -- [Client - New Releases](#client-new-releases) -- [Client - Previous Versions](#client-previous-versions) +- [Client](#client) - [Management](#management) -### Client: New Releases - -New wave of packages that we are announcing as **GA** and several that are currently releasing in **preview** on `npm`. These libraries allow you to use and consume existing resources and interact with them. These libraries share a number of core functionalities found in the Azure Core package such as retries, logging, transport protocols, authentication protocols, etc. Learn more about these libraries by reading [the guidelines](https://azure.github.io/azure-sdk/typescript/guidelines/) that they follow. - -You can find the [most up to date list of all of the new packages on our page](https://azure.github.io/azure-sdk/releases/latest/index.html#javascript-packages) +> NOTE: Some of these packages have beta versions. If you need to ensure your code is ready for production, use one of the stable, non-beta packages. -> NOTE: If you need to ensure your code is ready for production use one of the stable, non-preview libraries. +### Client -### Client: Previous Versions +Given an Azure resource already exists, you would use the client libraries to consume it and interact with it. +Most of these libraries follow the [Azure SDK Design Guidelines for JavaScript & TypeScript](https://azure.github.io/azure-sdk/typescript_introduction.html) and share a number of core functionalities such as retries, logging, transport protocols, authentication protocols, etc. Others will be updated in the near future to follow the guidelines as well. -Last stable versions of packages that have been provided for usage with Azure and are production-ready. These libraries provide you with similar functionalities to the Preview ones as they allow you to use and consume existing resources and interact with them, for example: upload a blob. They might not implement the [guidelines](https://azure.github.io/azure-sdk/typescript_introduction.html) or have the same feature set as the Novemeber releases. They do however offer wider coverage of services. +To get a list of all client libraries that follow the new guidelines, please visit our [Azure SDK releases page](https://azure.github.io/azure-sdk/releases/latest/js.html). -### Management: New Releases +### Management -A new set of management libraries that follow the [Azure SDK Design Guidelines for TypeScript](https://azure.github.io/azure-sdk/typescript_introduction.html) are now available. These new libraries provide a number of core capabilities that are shared amongst all Azure SDKs, including the intuitive Azure Identity library, an HTTP Pipeline with custom policies, error-handling, distributed tracing, and much more. -Documentation and code samples for these new libraries can be found [here](https://aka.ms/azsdk/js/mgmt). In addition, a migration guide that shows how to transition from older versions of libraries is located [here](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/MIGRATION-guide-for-next-generation-management-libraries.md). +Management libraries enable you to provision and manage Azure resources via the [Azure Resource Manager i.e. ARM](https://docs.microsoft.com/azure/azure-resource-manager/management/overview). You can recognize these libraries by `@azure/arm-` in their package names. These are purely auto-generated based on the swagger files that represent the APIs for resource management. -You can find the [most up to date list of all of the new packages on our page](https://azure.github.io/azure-sdk/releases/latest/mgmt/js.html) +Newer versions of these libraries follow the [Azure SDK Design Guidelines for TypeScript](https://azure.github.io/azure-sdk/typescript_introduction.html). These new versions provide a number of core capabilities that are shared amongst all Azure SDKs, including the intuitive Azure Identity library, an HTTP Pipeline with custom policies, error-handling, distributed tracing, and much more. A few helpful resources to get started with these are: -> NOTE: If you need to ensure your code is ready for production use one of the stable, non-preview libraries. Also, if you are experiencing authentication issues with the management libraries after upgrading certain packages, it's possible that you upgraded to the new versions of SDK without changing the authentication code, please refer to the migration guide mentioned above for proper instructions. +- [List of management libraries that follow the new guidelines](https://azure.github.io/azure-sdk/releases/latest/mgmt/js.html) +- [Documentation and code samples](https://aka.ms/azsdk/js/mgmt). +- [Migration guide](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/MIGRATION-guide-for-next-generation-management-libraries.md) that shows how to transition from older versions of libraries. -### Management: Previous Versions -For a complete list of management libraries which enable you to provision and manage Azure resources, please [check here](https://azure.github.io/azure-sdk/releases/latest/all/js.html). They might not have the same feature set as the new releases but they do offer wider coverage of services. -Management libraries can be identified by namespaces that start with `@azure/arm-`, e.g. `@azure/arm-compute` +> NOTE: If you are experiencing authentication issues with the management libraries after upgrading certain packages, it's possible that you upgraded to the new versions of SDK without changing the authentication code, please refer to the migration guide mentioned above for proper instructions. ## Need help? diff --git a/common/config/rush/pnpmfile.js b/common/config/rush/.pnpmfile.cjs similarity index 100% rename from common/config/rush/pnpmfile.js rename to common/config/rush/.pnpmfile.cjs diff --git a/common/config/rush/common-versions.json b/common/config/rush/common-versions.json index 05e11afe83af..00e13c12c8cd 100644 --- a/common/config/rush/common-versions.json +++ b/common/config/rush/common-versions.json @@ -40,51 +40,5 @@ * USUAL VERSION (WHICH IS INFERRED BY LOOKING AT ALL PROJECTS IN THE REPO). * This design avoids unnecessary churn in this file. */ - "allowedAlternativeVersions": { - // "^12.6.0" is required for eventhubs-checkpointstore-blob to use the latest GA version - // when there is a new beta version which is being maintained in the repo. - // Remove "^12.6.0" when the storage-blob releases a stable version. - // Add a new entry in case a new version is being tested through the perf tests (Example: "12.2.0"). - "@azure/storage-blob": [ - "^12.6.0" - ], - "@azure/ms-rest-js": [ - "^2.0.0" - ], - /** - * For example, allow some projects to use an older TypeScript compiler - * (in addition to whatever "usual" version is being used by other projects in the repo): - */ - // "typescript": [ - // "~2.4.0" - // ] - // Following is required to allow for backward compatibility with Event Processor Host Track 1 - "@azure/event-hubs": [ - "^2.1.4" - ], - // Monitor: Allow node 10 types until Timeout / Timer conflict is resolved in OpenTelemetry repo - // TODO: remove when released https://github.com/open-telemetry/opentelemetry-js/pull/1352 - // eslint v7.15 needs node v10.12 - "@types/node": [ - "^10.0.0", - "^10.12.0" - ], - // @azure/event-processor-host is on a much lower major version - "@azure/ms-rest-nodeauth": [ - "^0.9.2" - ], - // Idenity is moving from v1 to v2. Moving all packages to v2 is going to take a bit of time, in the mean time we could use v2 on the perf-identity tests. - "@azure/identity": [ - "^2.0.0-beta.5", - "2.0.0-beta.4", - "^1.1.0" - ], - // Issue #14771 tracks updating to these versions - "@microsoft/api-extractor": [ - "7.13.2" - ], - "prettier": [ - "2.2.1" - ] - } + "allowedAlternativeVersions": {} } diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index c37f988311c2..938dacbc95ac 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1,3 +1,129 @@ +lockfileVersion: 5.3 + +specifiers: + '@rush-temp/abort-controller': file:./projects/abort-controller.tgz + '@rush-temp/agrifood-farming': file:./projects/agrifood-farming.tgz + '@rush-temp/ai-anomaly-detector': file:./projects/ai-anomaly-detector.tgz + '@rush-temp/ai-document-translator': file:./projects/ai-document-translator.tgz + '@rush-temp/ai-form-recognizer': file:./projects/ai-form-recognizer.tgz + '@rush-temp/ai-metrics-advisor': file:./projects/ai-metrics-advisor.tgz + '@rush-temp/ai-text-analytics': file:./projects/ai-text-analytics.tgz + '@rush-temp/app-configuration': file:./projects/app-configuration.tgz + '@rush-temp/arm-appservice': file:./projects/arm-appservice.tgz + '@rush-temp/arm-authorization': file:./projects/arm-authorization.tgz + '@rush-temp/arm-compute': file:./projects/arm-compute.tgz + '@rush-temp/arm-eventhub': file:./projects/arm-eventhub.tgz + '@rush-temp/arm-features': file:./projects/arm-features.tgz + '@rush-temp/arm-keyvault': file:./projects/arm-keyvault.tgz + '@rush-temp/arm-links': file:./projects/arm-links.tgz + '@rush-temp/arm-locks': file:./projects/arm-locks.tgz + '@rush-temp/arm-managedapplications': file:./projects/arm-managedapplications.tgz + '@rush-temp/arm-network': file:./projects/arm-network.tgz + '@rush-temp/arm-policy': file:./projects/arm-policy.tgz + '@rush-temp/arm-purview': file:./projects/arm-purview.tgz + '@rush-temp/arm-resources': file:./projects/arm-resources.tgz + '@rush-temp/arm-resources-subscriptions': file:./projects/arm-resources-subscriptions.tgz + '@rush-temp/arm-servicebus': file:./projects/arm-servicebus.tgz + '@rush-temp/arm-sql': file:./projects/arm-sql.tgz + '@rush-temp/arm-storage': file:./projects/arm-storage.tgz + '@rush-temp/arm-templatespecs': file:./projects/arm-templatespecs.tgz + '@rush-temp/arm-webpubsub': file:./projects/arm-webpubsub.tgz + '@rush-temp/attestation': file:./projects/attestation.tgz + '@rush-temp/communication-chat': file:./projects/communication-chat.tgz + '@rush-temp/communication-common': file:./projects/communication-common.tgz + '@rush-temp/communication-identity': file:./projects/communication-identity.tgz + '@rush-temp/communication-network-traversal': file:./projects/communication-network-traversal.tgz + '@rush-temp/communication-phone-numbers': file:./projects/communication-phone-numbers.tgz + '@rush-temp/communication-sms': file:./projects/communication-sms.tgz + '@rush-temp/confidential-ledger': file:./projects/confidential-ledger.tgz + '@rush-temp/container-registry': file:./projects/container-registry.tgz + '@rush-temp/core-amqp': file:./projects/core-amqp.tgz + '@rush-temp/core-asynciterator-polyfill': file:./projects/core-asynciterator-polyfill.tgz + '@rush-temp/core-auth': file:./projects/core-auth.tgz + '@rush-temp/core-client': file:./projects/core-client.tgz + '@rush-temp/core-client-1': file:./projects/core-client-1.tgz + '@rush-temp/core-client-lro': file:./projects/core-client-lro.tgz + '@rush-temp/core-client-paging': file:./projects/core-client-paging.tgz + '@rush-temp/core-crypto': file:./projects/core-crypto.tgz + '@rush-temp/core-http': file:./projects/core-http.tgz + '@rush-temp/core-lro': file:./projects/core-lro.tgz + '@rush-temp/core-paging': file:./projects/core-paging.tgz + '@rush-temp/core-rest-pipeline': file:./projects/core-rest-pipeline.tgz + '@rush-temp/core-tracing': file:./projects/core-tracing.tgz + '@rush-temp/core-util': file:./projects/core-util.tgz + '@rush-temp/core-xml': file:./projects/core-xml.tgz + '@rush-temp/cosmos': file:./projects/cosmos.tgz + '@rush-temp/data-tables': file:./projects/data-tables.tgz + '@rush-temp/dev-tool': file:./projects/dev-tool.tgz + '@rush-temp/digital-twins-core': file:./projects/digital-twins-core.tgz + '@rush-temp/eslint-plugin-azure-sdk': file:./projects/eslint-plugin-azure-sdk.tgz + '@rush-temp/event-hubs': file:./projects/event-hubs.tgz + '@rush-temp/event-processor-host': file:./projects/event-processor-host.tgz + '@rush-temp/eventgrid': file:./projects/eventgrid.tgz + '@rush-temp/eventhubs-checkpointstore-blob': file:./projects/eventhubs-checkpointstore-blob.tgz + '@rush-temp/eventhubs-checkpointstore-table': file:./projects/eventhubs-checkpointstore-table.tgz + '@rush-temp/identity': file:./projects/identity.tgz + '@rush-temp/identity-cache-persistence': file:./projects/identity-cache-persistence.tgz + '@rush-temp/identity-vscode': file:./projects/identity-vscode.tgz + '@rush-temp/iot-device-update': file:./projects/iot-device-update.tgz + '@rush-temp/iot-modelsrepository': file:./projects/iot-modelsrepository.tgz + '@rush-temp/keyvault-admin': file:./projects/keyvault-admin.tgz + '@rush-temp/keyvault-certificates': file:./projects/keyvault-certificates.tgz + '@rush-temp/keyvault-common': file:./projects/keyvault-common.tgz + '@rush-temp/keyvault-keys': file:./projects/keyvault-keys.tgz + '@rush-temp/keyvault-secrets': file:./projects/keyvault-secrets.tgz + '@rush-temp/logger': file:./projects/logger.tgz + '@rush-temp/mixed-reality-authentication': file:./projects/mixed-reality-authentication.tgz + '@rush-temp/mixed-reality-remote-rendering': file:./projects/mixed-reality-remote-rendering.tgz + '@rush-temp/mock-hub': file:./projects/mock-hub.tgz + '@rush-temp/monitor-opentelemetry-exporter': file:./projects/monitor-opentelemetry-exporter.tgz + '@rush-temp/monitor-query': file:./projects/monitor-query.tgz + '@rush-temp/perf-ai-form-recognizer': file:./projects/perf-ai-form-recognizer.tgz + '@rush-temp/perf-ai-metrics-advisor': file:./projects/perf-ai-metrics-advisor.tgz + '@rush-temp/perf-ai-text-analytics': file:./projects/perf-ai-text-analytics.tgz + '@rush-temp/perf-app-configuration': file:./projects/perf-app-configuration.tgz + '@rush-temp/perf-core-rest-pipeline': file:./projects/perf-core-rest-pipeline.tgz + '@rush-temp/perf-data-tables': file:./projects/perf-data-tables.tgz + '@rush-temp/perf-event-hubs': file:./projects/perf-event-hubs.tgz + '@rush-temp/perf-eventgrid': file:./projects/perf-eventgrid.tgz + '@rush-temp/perf-identity': file:./projects/perf-identity.tgz + '@rush-temp/perf-keyvault-certificates': file:./projects/perf-keyvault-certificates.tgz + '@rush-temp/perf-keyvault-keys': file:./projects/perf-keyvault-keys.tgz + '@rush-temp/perf-keyvault-secrets': file:./projects/perf-keyvault-secrets.tgz + '@rush-temp/perf-search-documents': file:./projects/perf-search-documents.tgz + '@rush-temp/perf-service-bus': file:./projects/perf-service-bus.tgz + '@rush-temp/perf-storage-blob': file:./projects/perf-storage-blob.tgz + '@rush-temp/perf-storage-file-datalake': file:./projects/perf-storage-file-datalake.tgz + '@rush-temp/perf-storage-file-share': file:./projects/perf-storage-file-share.tgz + '@rush-temp/purview-account': file:./projects/purview-account.tgz + '@rush-temp/purview-catalog': file:./projects/purview-catalog.tgz + '@rush-temp/purview-scanning': file:./projects/purview-scanning.tgz + '@rush-temp/quantum-jobs': file:./projects/quantum-jobs.tgz + '@rush-temp/schema-registry': file:./projects/schema-registry.tgz + '@rush-temp/schema-registry-avro': file:./projects/schema-registry-avro.tgz + '@rush-temp/search-documents': file:./projects/search-documents.tgz + '@rush-temp/service-bus': file:./projects/service-bus.tgz + '@rush-temp/storage-blob': file:./projects/storage-blob.tgz + '@rush-temp/storage-blob-changefeed': file:./projects/storage-blob-changefeed.tgz + '@rush-temp/storage-file-datalake': file:./projects/storage-file-datalake.tgz + '@rush-temp/storage-file-share': file:./projects/storage-file-share.tgz + '@rush-temp/storage-internal-avro': file:./projects/storage-internal-avro.tgz + '@rush-temp/storage-queue': file:./projects/storage-queue.tgz + '@rush-temp/synapse-access-control': file:./projects/synapse-access-control.tgz + '@rush-temp/synapse-artifacts': file:./projects/synapse-artifacts.tgz + '@rush-temp/synapse-managed-private-endpoints': file:./projects/synapse-managed-private-endpoints.tgz + '@rush-temp/synapse-monitoring': file:./projects/synapse-monitoring.tgz + '@rush-temp/synapse-spark': file:./projects/synapse-spark.tgz + '@rush-temp/template': file:./projects/template.tgz + '@rush-temp/test-recorder': file:./projects/test-recorder.tgz + '@rush-temp/test-recorder-new': file:./projects/test-recorder-new.tgz + '@rush-temp/test-utils': file:./projects/test-utils.tgz + '@rush-temp/test-utils-perfstress': file:./projects/test-utils-perfstress.tgz + '@rush-temp/testing-recorder-new': file:./projects/testing-recorder-new.tgz + '@rush-temp/video-analyzer-edge': file:./projects/video-analyzer-edge.tgz + '@rush-temp/web-pubsub': file:./projects/web-pubsub.tgz + '@rush-temp/web-pubsub-express': file:./projects/web-pubsub-express.tgz + dependencies: '@rush-temp/abort-controller': file:projects/abort-controller.tgz '@rush-temp/agrifood-farming': file:projects/agrifood-farming.tgz @@ -7,18 +133,26 @@ dependencies: '@rush-temp/ai-metrics-advisor': file:projects/ai-metrics-advisor.tgz '@rush-temp/ai-text-analytics': file:projects/ai-text-analytics.tgz '@rush-temp/app-configuration': file:projects/app-configuration.tgz + '@rush-temp/arm-appservice': file:projects/arm-appservice.tgz + '@rush-temp/arm-authorization': file:projects/arm-authorization.tgz '@rush-temp/arm-compute': file:projects/arm-compute.tgz + '@rush-temp/arm-eventhub': file:projects/arm-eventhub.tgz '@rush-temp/arm-features': file:projects/arm-features.tgz + '@rush-temp/arm-keyvault': file:projects/arm-keyvault.tgz '@rush-temp/arm-links': file:projects/arm-links.tgz '@rush-temp/arm-locks': file:projects/arm-locks.tgz '@rush-temp/arm-managedapplications': file:projects/arm-managedapplications.tgz '@rush-temp/arm-network': file:projects/arm-network.tgz '@rush-temp/arm-policy': file:projects/arm-policy.tgz + '@rush-temp/arm-purview': file:projects/arm-purview.tgz '@rush-temp/arm-resources': file:projects/arm-resources.tgz + '@rush-temp/arm-resources-subscriptions': file:projects/arm-resources-subscriptions.tgz + '@rush-temp/arm-servicebus': file:projects/arm-servicebus.tgz + '@rush-temp/arm-sql': file:projects/arm-sql.tgz '@rush-temp/arm-storage': file:projects/arm-storage.tgz + '@rush-temp/arm-templatespecs': file:projects/arm-templatespecs.tgz '@rush-temp/arm-webpubsub': file:projects/arm-webpubsub.tgz '@rush-temp/attestation': file:projects/attestation.tgz - '@rush-temp/communication-callingserver': file:projects/communication-callingserver.tgz '@rush-temp/communication-chat': file:projects/communication-chat.tgz '@rush-temp/communication-common': file:projects/communication-common.tgz '@rush-temp/communication-identity': file:projects/communication-identity.tgz @@ -74,15 +208,18 @@ dependencies: '@rush-temp/perf-app-configuration': file:projects/perf-app-configuration.tgz '@rush-temp/perf-core-rest-pipeline': file:projects/perf-core-rest-pipeline.tgz '@rush-temp/perf-data-tables': file:projects/perf-data-tables.tgz + '@rush-temp/perf-event-hubs': file:projects/perf-event-hubs.tgz '@rush-temp/perf-eventgrid': file:projects/perf-eventgrid.tgz '@rush-temp/perf-identity': file:projects/perf-identity.tgz '@rush-temp/perf-keyvault-certificates': file:projects/perf-keyvault-certificates.tgz '@rush-temp/perf-keyvault-keys': file:projects/perf-keyvault-keys.tgz '@rush-temp/perf-keyvault-secrets': file:projects/perf-keyvault-secrets.tgz '@rush-temp/perf-search-documents': file:projects/perf-search-documents.tgz + '@rush-temp/perf-service-bus': file:projects/perf-service-bus.tgz '@rush-temp/perf-storage-blob': file:projects/perf-storage-blob.tgz '@rush-temp/perf-storage-file-datalake': file:projects/perf-storage-file-datalake.tgz '@rush-temp/perf-storage-file-share': file:projects/perf-storage-file-share.tgz + '@rush-temp/purview-account': file:projects/purview-account.tgz '@rush-temp/purview-catalog': file:projects/purview-catalog.tgz '@rush-temp/purview-scanning': file:projects/purview-scanning.tgz '@rush-temp/quantum-jobs': file:projects/quantum-jobs.tgz @@ -102,90 +239,94 @@ dependencies: '@rush-temp/synapse-monitoring': file:projects/synapse-monitoring.tgz '@rush-temp/synapse-spark': file:projects/synapse-spark.tgz '@rush-temp/template': file:projects/template.tgz + '@rush-temp/test-recorder': file:projects/test-recorder.tgz + '@rush-temp/test-recorder-new': file:projects/test-recorder-new.tgz '@rush-temp/test-utils': file:projects/test-utils.tgz '@rush-temp/test-utils-perfstress': file:projects/test-utils-perfstress.tgz - '@rush-temp/test-utils-recorder': file:projects/test-utils-recorder.tgz + '@rush-temp/testing-recorder-new': file:projects/testing-recorder-new.tgz '@rush-temp/video-analyzer-edge': file:projects/video-analyzer-edge.tgz '@rush-temp/web-pubsub': file:projects/web-pubsub.tgz '@rush-temp/web-pubsub-express': file:projects/web-pubsub-express.tgz -lockfileVersion: 5.2 + packages: + /@azure-rest/core-client-paging/1.0.0-beta.1: + resolution: {integrity: sha512-khy3o4inJJL0Hz21TGrpcL0Zxiw8BI62+uIVkeiAo0hAaJ6JEl7AM5KOrebSmQDqx7CErVbdVSvQQNeuToSlcw==} + engines: {node: '>=12.0.0'} dependencies: '@azure-rest/core-client': 1.0.0-beta.6 - '@azure/core-paging': 1.1.3 - '@azure/core-rest-pipeline': 1.1.1 - tslib: 2.3.0 - dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-khy3o4inJJL0Hz21TGrpcL0Zxiw8BI62+uIVkeiAo0hAaJ6JEl7AM5KOrebSmQDqx7CErVbdVSvQQNeuToSlcw== + '@azure/core-paging': 1.2.0 + '@azure/core-rest-pipeline': 1.3.0 + tslib: 2.3.1 + transitivePeerDependencies: + - supports-color + dev: false + /@azure-rest/core-client/1.0.0-beta.6: + resolution: {integrity: sha512-JIHVi9ZlLN8truNMUBsCYzwbPNdlHCHvpihhiHYJM3fsTR8OV7Pg3/HpnshQ5G3XVg3F8ez0L+u+0XOTs/ZBPw==} + engines: {node: '>=12.0.0'} dependencies: '@azure/core-auth': 1.3.2 - '@azure/core-rest-pipeline': 1.1.1 - tslib: 2.3.0 + '@azure/core-rest-pipeline': 1.3.0 + tslib: 2.3.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-JIHVi9ZlLN8truNMUBsCYzwbPNdlHCHvpihhiHYJM3fsTR8OV7Pg3/HpnshQ5G3XVg3F8ez0L+u+0XOTs/ZBPw== + /@azure/abort-controller/1.0.4: + resolution: {integrity: sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw==} + engines: {node: '>=8.0.0'} dependencies: - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw== + /@azure/ai-form-recognizer/3.1.0-beta.3: + resolution: {integrity: sha512-+4QtFKNyxAmdqpcYjuAtmWKm/MuOe9kZsbpS9jA9h0YHzngNj5gc67AA4egV9BXOq9x+1phjYTNC/rxiOUr1uQ==} + engines: {node: '>=8.0.0'} dependencies: '@azure/core-auth': 1.3.2 '@azure/core-http': 1.2.6 '@azure/core-lro': 1.0.5 - '@azure/core-paging': 1.1.3 + '@azure/core-paging': 1.2.0 '@azure/core-tracing': 1.0.0-preview.11 '@azure/logger': 1.0.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-+4QtFKNyxAmdqpcYjuAtmWKm/MuOe9kZsbpS9jA9h0YHzngNj5gc67AA4egV9BXOq9x+1phjYTNC/rxiOUr1uQ== + /@azure/ai-metrics-advisor/1.0.0-beta.3: + resolution: {integrity: sha512-7C1wodDLnLrdS7rmA/UoItoTAtpZdhkEoaxC7+j5l+LlrcWAe7K2JO1y5psVr5Pe8Y6cUGK4KfpgsAQAcSUDEw==} + engines: {node: '>=8.0.0'} dependencies: '@azure/core-auth': 1.3.2 '@azure/core-http': 1.2.6 '@azure/core-lro': 1.0.5 - '@azure/core-paging': 1.1.3 + '@azure/core-paging': 1.2.0 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@opentelemetry/api': 0.10.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-7C1wodDLnLrdS7rmA/UoItoTAtpZdhkEoaxC7+j5l+LlrcWAe7K2JO1y5psVr5Pe8Y6cUGK4KfpgsAQAcSUDEw== + /@azure/ai-text-analytics/5.1.0: + resolution: {integrity: sha512-vkAFCxj0dn7kjTDuzpqM4EgQJkn3V0N/KJ0/n+UwralpeCESWll3DLuf8h2kL94vT9pyHWq7xWiNMBrzXxF1yA==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-asynciterator-polyfill': 1.0.0 '@azure/core-auth': 1.3.2 - '@azure/core-client': 1.2.2 - '@azure/core-lro': 2.1.0 - '@azure/core-paging': 1.1.3 - '@azure/core-rest-pipeline': 1.1.1 + '@azure/core-client': 1.3.0 + '@azure/core-lro': 2.2.0 + '@azure/core-paging': 1.2.0 + '@azure/core-rest-pipeline': 1.3.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 - tslib: 2.3.0 + tslib: 2.3.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-vkAFCxj0dn7kjTDuzpqM4EgQJkn3V0N/KJ0/n+UwralpeCESWll3DLuf8h2kL94vT9pyHWq7xWiNMBrzXxF1yA== + /@azure/amqp-common/1.0.0-preview.9: + resolution: {integrity: sha512-RVG1Ad3Afv9gwFFmpeCXQAm+Sa0L8KEZRJJAAZEGoYDb6EoO1iQDVmoBz720h8mdrGpi0D60xNU/KhriIwuZfQ==} dependencies: '@azure/ms-rest-nodeauth': 0.9.3_debug@3.2.7 '@types/async-lock': 1.1.3 @@ -204,250 +345,235 @@ packages: url: 0.11.0 util: 0.11.1 dev: false - resolution: - integrity: sha512-RVG1Ad3Afv9gwFFmpeCXQAm+Sa0L8KEZRJJAAZEGoYDb6EoO1iQDVmoBz720h8mdrGpi0D60xNU/KhriIwuZfQ== - /@azure/communication-common/1.0.0: + + /@azure/communication-common/1.1.0: + resolution: {integrity: sha512-vqTtzDtb4NG3LWoWoqlOOJApZRRIIImNUKlGyTa6c1YC+v5A7UEOL9TX8NRDxvFVUF2wDHsSnkhLBVBgkcAhIQ==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 1.2.6 - '@opentelemetry/api': 0.10.2 + '@azure/core-http': 2.2.0 + '@azure/core-tracing': 1.0.0-preview.13 events: 3.3.0 jwt-decode: 2.2.0 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-kBWnamOow0COBPHkkUKaQl4wVMlkOpTDFmvRRW+JN3+JIM9ca1l1wdZA3Q6XfpYdpqoI+tVICr3+3SxyF7ulxw== + /@azure/communication-identity/1.0.0: + resolution: {integrity: sha512-fa220+fQn27JN8QtajeMe88rqrJn3qctT/8FV/abJe6tSBJlAWYXOHiIF3nCgSeyIb5F9pi7Fycd9M55OY4O9w==} + engines: {node: '>=8.0.0'} dependencies: '@azure/abort-controller': 1.0.4 - '@azure/communication-common': 1.0.0 + '@azure/communication-common': 1.1.0 '@azure/core-auth': 1.3.2 '@azure/core-http': 1.2.6 '@azure/core-lro': 1.0.5 - '@azure/core-paging': 1.1.3 + '@azure/core-paging': 1.2.0 '@azure/core-tracing': 1.0.0-preview.10 '@azure/logger': 1.0.2 '@opentelemetry/api': 0.10.2 events: 3.3.0 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-fa220+fQn27JN8QtajeMe88rqrJn3qctT/8FV/abJe6tSBJlAWYXOHiIF3nCgSeyIb5F9pi7Fycd9M55OY4O9w== - /@azure/communication-signaling/1.0.0-beta.7: + + /@azure/communication-signaling/1.0.0-beta.10: + resolution: {integrity: sha512-1eQphUq80S+vF79h3SooOLcMuhSreB3CYwlVQWV31AX1ypfc6QvaIsAumIPMw48R9CSyZJ67wub0hKHR8WsFSg==} + engines: {node: '>=8.0.0'} dependencies: - '@azure/core-http': 1.2.6 - '@azure/core-tracing': 1.0.0-preview.9 + '@azure/core-http': 2.2.0 + '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.2 - '@opentelemetry/api': 0.10.2 events: 3.3.0 tslib: 1.14.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-iO2Wpnr95HrAfOoq9IX7pcB7QlfSoJKDd4Ty9cjZK3Efv9vFN23kVybyd0JqC3HHXf0ALIcIm98bNH6PyVCOgw== + /@azure/core-asynciterator-polyfill/1.0.0: + resolution: {integrity: sha512-kmv8CGrPfN9SwMwrkiBK9VTQYxdFQEGe0BmQk+M8io56P9KNzpAxcWE/1fxJj7uouwN4kXF0BHW8DNlgx+wtCg==} dev: false - resolution: - integrity: sha512-kmv8CGrPfN9SwMwrkiBK9VTQYxdFQEGe0BmQk+M8io56P9KNzpAxcWE/1fxJj7uouwN4kXF0BHW8DNlgx+wtCg== + /@azure/core-auth/1.3.2: + resolution: {integrity: sha512-7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA== - /@azure/core-client/1.2.2: + + /@azure/core-client/1.3.0: + resolution: {integrity: sha512-4ricu3aM1TQP2vglBcvFX8KgbWVe+7hl1jVAw6BzIGG4CTAvO3ygDS6th3O+zFwGN9xkgXFHa7Tp3u9za8ciIA==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-asynciterator-polyfill': 1.0.0 '@azure/core-auth': 1.3.2 - '@azure/core-rest-pipeline': 1.1.1 - '@azure/core-tracing': 1.0.0-preview.12 - tslib: 2.3.0 + '@azure/core-rest-pipeline': 1.3.0 + '@azure/core-tracing': 1.0.0-preview.13 + tslib: 2.3.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-VYFR2qiczjBrSfpQSbo5s8FJhXaJFz2tP01MOrpNJaOqnSNEKcY35I79b1Ty7s8qHGvc5/YMJ745l3B7abncFQ== + /@azure/core-http/1.2.3: + resolution: {integrity: sha512-g5C1zUJO5dehP2Riv+vy9iCYoS1UwKnZsBVCzanScz9A83LbnXKpZDa9wie26G9dfXUhQoFZoFT8LYWhPKmwcg==} + engines: {node: '>=8.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@opentelemetry/api': 0.10.2 - '@types/node-fetch': 2.5.11 + '@types/node-fetch': 2.5.12 '@types/tunnel': 0.0.1 form-data: 3.0.1 - node-fetch: 2.6.1 + node-fetch: 2.6.2 process: 0.11.10 tough-cookie: 4.0.0 - tslib: 2.3.0 + tslib: 2.3.1 tunnel: 0.0.6 uuid: 8.3.2 xml2js: 0.4.23 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-g5C1zUJO5dehP2Riv+vy9iCYoS1UwKnZsBVCzanScz9A83LbnXKpZDa9wie26G9dfXUhQoFZoFT8LYWhPKmwcg== + /@azure/core-http/1.2.6: + resolution: {integrity: sha512-odtH7UMKtekc5YQ86xg9GlVHNXR6pq2JgJ5FBo7/jbOjNGdBqcrIVrZx2bevXVJz/uUTSx6vUf62gzTXTfqYSQ==} + engines: {node: '>=8.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-asynciterator-polyfill': 1.0.0 '@azure/core-auth': 1.3.2 '@azure/core-tracing': 1.0.0-preview.11 '@azure/logger': 1.0.2 - '@types/node-fetch': 2.5.11 + '@types/node-fetch': 2.5.12 '@types/tunnel': 0.0.1 form-data: 3.0.1 - node-fetch: 2.6.1 + node-fetch: 2.6.2 process: 0.11.10 tough-cookie: 4.0.0 - tslib: 2.3.0 + tslib: 2.3.1 tunnel: 0.0.6 uuid: 8.3.2 xml2js: 0.4.23 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-odtH7UMKtekc5YQ86xg9GlVHNXR6pq2JgJ5FBo7/jbOjNGdBqcrIVrZx2bevXVJz/uUTSx6vUf62gzTXTfqYSQ== - /@azure/core-http/2.0.0: + + /@azure/core-http/2.2.0: + resolution: {integrity: sha512-DCXm8OTNhPxErNvwuNgd9r/W+LjMrHHNc9/q4QgIOpCaoBvpJd1O5Nl2gbAhrwfiwmEBNWHMeGoe5+g3Lx2H/A==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-asynciterator-polyfill': 1.0.0 '@azure/core-auth': 1.3.2 - '@azure/core-tracing': 1.0.0-preview.12 + '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.2 - '@types/node-fetch': 2.5.11 - '@types/tunnel': 0.0.1 - form-data: 3.0.1 - node-fetch: 2.6.1 + '@types/node-fetch': 2.5.12 + '@types/tunnel': 0.0.3 + form-data: 4.0.0 + node-fetch: 2.6.2 process: 0.11.10 tough-cookie: 4.0.0 - tslib: 2.3.0 + tslib: 2.3.1 tunnel: 0.0.6 uuid: 8.3.2 xml2js: 0.4.23 dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-VBOfUh0z9ZF1WVqrLCtiGWMjkKic171p6mLXRkJKu+p5wuQTb4cU3bPq7nB6UuGAK17LI7hnU0SzydlCQrBuOw== + /@azure/core-lro/1.0.5: + resolution: {integrity: sha512-0EFCFZxARrIoLWMIRt4vuqconRVIO2Iin7nFBfJiYCCbKp5eEmxutNk8uqudPmG0XFl5YqlVh68/al/vbE5OOg==} + engines: {node: '>=8.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-http': 1.2.6 '@azure/core-tracing': 1.0.0-preview.11 events: 3.3.0 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-0EFCFZxARrIoLWMIRt4vuqconRVIO2Iin7nFBfJiYCCbKp5eEmxutNk8uqudPmG0XFl5YqlVh68/al/vbE5OOg== - /@azure/core-lro/2.1.0: + + /@azure/core-lro/2.2.0: + resolution: {integrity: sha512-TJo95eNT1dwYOPCb0m1C2zyxVlHuRRkKGeg9TKu8XMF2qh4v6c1weD63r9RVIrLdHdnSqS0n6PTXBpWoB8NqMw==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-7T9+HxZArl1wIUM/jacaeeMC9lUo14M62y3Htkh9qkTjI5glc7NlY2XOQ67n2jN1HONd8FvqCXE9CS4ZRxeLcg== - /@azure/core-paging/1.1.3: + + /@azure/core-paging/1.2.0: + resolution: {integrity: sha512-ZX1bCjm/MjKPCN6kQD/9GJErYSoKA8YWp6YWoo5EIzcTWlSBLXu3gNaBTUl8usGl+UShiKo7b4Gdy1NSTIlpZg==} + engines: {node: '>=12.0.0'} dependencies: '@azure/core-asynciterator-polyfill': 1.0.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-his7Ah40ThEYORSpIAwuh6B8wkGwO/zG7gqVtmSE4WAJ46e36zUDXTKReUCLBDc6HmjjApQQxxcRFy5FruG79A== - /@azure/core-rest-pipeline/1.1.1: + + /@azure/core-rest-pipeline/1.3.0: + resolution: {integrity: sha512-XdGCm4sVfLvFbd3x17Aw6XNA8SK+sWFvVlOnNSSL2OJGJ4g10LspCpGnIqB+V6OZAaVwOx/eQQN2rOfZzf4Q5w==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-tracing': 1.0.0-preview.12 + '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.2 - form-data: 3.0.1 + form-data: 4.0.0 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.0 - tslib: 2.3.0 + tslib: 2.3.1 uuid: 8.3.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-ObF8iTEDXIG7/NlL28ni9bR3XLJwgm2S3GWO4aNW6CsTCFVoY9HMdbBtN7xOB+pUQwifehifXNnootbzzuwJnw== + /@azure/core-tracing/1.0.0-preview.10: + resolution: {integrity: sha512-iIwjtMwQnsxB7cYkugMx+s4W1nfy3+pT/ceo+uW1fv4YDgYe84nh+QP0fEC9IH/3UATLSWbIBemdMHzk2APUrw==} + engines: {node: '>=8.0.0'} dependencies: '@opencensus/web-types': 0.0.7 '@opentelemetry/api': 0.10.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-iIwjtMwQnsxB7cYkugMx+s4W1nfy3+pT/ceo+uW1fv4YDgYe84nh+QP0fEC9IH/3UATLSWbIBemdMHzk2APUrw== + /@azure/core-tracing/1.0.0-preview.11: + resolution: {integrity: sha512-frF0pJc9HTmKncVokhBxCqipjbql02DThQ1ZJ9wLi7SDMLdPAFyDI5xZNzX5guLz+/DtPkY+SGK2li9FIXqshQ==} + engines: {node: '>=8.0.0'} dependencies: '@opencensus/web-types': 0.0.7 '@opentelemetry/api': 1.0.0-rc.0 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-frF0pJc9HTmKncVokhBxCqipjbql02DThQ1ZJ9wLi7SDMLdPAFyDI5xZNzX5guLz+/DtPkY+SGK2li9FIXqshQ== + /@azure/core-tracing/1.0.0-preview.12: + resolution: {integrity: sha512-nvo2Wc4EKZGN6eFu9n3U7OXmASmL8VxoPIH7xaD6OlQqi44bouF0YIi9ID5rEsKLiAU59IYx6M297nqWVMWPDg==} + engines: {node: '>=12.0.0'} dependencies: - '@opentelemetry/api': 1.0.1 - tslib: 2.3.0 + '@opentelemetry/api': 1.0.3 + tslib: 2.3.1 dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-nvo2Wc4EKZGN6eFu9n3U7OXmASmL8VxoPIH7xaD6OlQqi44bouF0YIi9ID5rEsKLiAU59IYx6M297nqWVMWPDg== + /@azure/core-tracing/1.0.0-preview.13: + resolution: {integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==} + engines: {node: '>=12.0.0'} dependencies: - '@opentelemetry/api': 1.0.1 - tslib: 2.3.0 + '@opentelemetry/api': 1.0.3 + tslib: 2.3.1 dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ== + /@azure/core-tracing/1.0.0-preview.9: + resolution: {integrity: sha512-zczolCLJ5QG42AEPQ+Qg9SRYNUyB+yZ5dzof4YEc+dyWczO9G2sBqbAjLB7IqrsdHN2apkiB2oXeDKCsq48jug==} + engines: {node: '>=8.0.0'} dependencies: '@opencensus/web-types': 0.0.7 '@opentelemetry/api': 0.10.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-zczolCLJ5QG42AEPQ+Qg9SRYNUyB+yZ5dzof4YEc+dyWczO9G2sBqbAjLB7IqrsdHN2apkiB2oXeDKCsq48jug== - /@azure/core-xml/1.0.0-beta.1: + + /@azure/core-util/1.0.0-beta.1: + resolution: {integrity: sha512-pS6cup979/qyuyNP9chIybK2qVkJ3MarbY/bx3JcGKE6An6dRweLnsfJfU2ydqUI/B51Rjnn59ajHIhCUTwWZw==} + engines: {node: '>=8.0.0'} dependencies: - tslib: 2.3.0 - xml2js: 0.4.23 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-7d2w0yd8pb1c9aj87JV/1ntOp+sCMcJ9QoGDxs6/7BLDh8Gb6kd2h3n+9JYhcLZO8wdHZb4d4GZgmRIwaAU72w== + /@azure/event-hubs/2.1.4: + resolution: {integrity: sha512-CxaMaEjwtsmIhWtjHyGimKO7RmES0YxPqGQ9+jKqGygNlhG5NYHktDaiQu6w7k3g+I51VaLXtVSt+BVFd6VWfQ==} dependencies: '@azure/amqp-common': 1.0.0-preview.9 '@azure/ms-rest-nodeauth': 0.9.3_debug@3.2.7 @@ -459,665 +585,697 @@ packages: tslib: 1.14.1 uuid: 3.4.0 dev: false - resolution: - integrity: sha512-CxaMaEjwtsmIhWtjHyGimKO7RmES0YxPqGQ9+jKqGygNlhG5NYHktDaiQu6w7k3g+I51VaLXtVSt+BVFd6VWfQ== + /@azure/identity/1.2.5_debug@4.3.2: + resolution: {integrity: sha512-Q71Buur3RMcg6lCnisLL8Im562DBw+ybzgm+YQj/FbAaI8ZNu/zl/5z1fE4k3Q9LSIzYrz6HLRzlhdSBXpydlQ==} + engines: {node: '>=8.0.0'} dependencies: - '@azure/core-http': 1.2.6 + '@azure/core-http': 1.2.3 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6_debug@4.3.2 '@opentelemetry/api': 0.10.2 '@types/stoppable': 1.1.1 - axios: 0.21.1_debug@4.3.2 + axios: 0.21.4_debug@4.3.2 events: 3.3.0 jws: 4.0.0 - msal: 1.4.11 + msal: 1.4.12 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 - tslib: 2.3.0 + tslib: 2.3.1 uuid: 8.3.2 - dev: false - engines: - node: '>=8.0.0' optionalDependencies: keytar: 7.7.0 - peerDependencies: - debug: '*' - resolution: - integrity: sha512-Q71Buur3RMcg6lCnisLL8Im562DBw+ybzgm+YQj/FbAaI8ZNu/zl/5z1fE4k3Q9LSIzYrz6HLRzlhdSBXpydlQ== - /@azure/identity/1.5.0: + transitivePeerDependencies: + - debug + - supports-color + dev: false + + /@azure/identity/1.5.2: + resolution: {integrity: sha512-vqyeRbd2i0h9F4mqW5JbkP1xfabqKQ21l/81osKhpOQ2LtwaJW6nw4+0PsVYnxcbPHFCIZt6EWAk74a3OGYZJA==} + engines: {node: '>=12.0.0'} dependencies: '@azure/core-auth': 1.3.2 - '@azure/core-client': 1.2.2 - '@azure/core-rest-pipeline': 1.1.1 + '@azure/core-client': 1.3.0 + '@azure/core-rest-pipeline': 1.3.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6 '@types/stoppable': 1.1.1 - axios: 0.21.1 + axios: 0.21.4 events: 3.3.0 jws: 4.0.0 - msal: 1.4.11 + msal: 1.4.12 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 - tslib: 2.3.0 + tslib: 2.3.1 uuid: 8.3.2 - dev: false - engines: - node: '>=12.0.0' optionalDependencies: keytar: 7.7.0 - resolution: - integrity: sha512-djgywuWtX6720seqNOPmGM1hY54oHnjRT0MLIOzacMARTZuEtAIaFFvMPBlUIMQdtSGhdjH+/MS1/9PE8j83eA== - /@azure/identity/1.5.0_debug@4.3.2: + transitivePeerDependencies: + - debug + - supports-color + dev: false + + /@azure/identity/1.5.2_debug@4.3.2: + resolution: {integrity: sha512-vqyeRbd2i0h9F4mqW5JbkP1xfabqKQ21l/81osKhpOQ2LtwaJW6nw4+0PsVYnxcbPHFCIZt6EWAk74a3OGYZJA==} + engines: {node: '>=12.0.0'} dependencies: '@azure/core-auth': 1.3.2 - '@azure/core-client': 1.2.2 - '@azure/core-rest-pipeline': 1.1.1 + '@azure/core-client': 1.3.0 + '@azure/core-rest-pipeline': 1.3.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6_debug@4.3.2 '@types/stoppable': 1.1.1 - axios: 0.21.1_debug@4.3.2 + axios: 0.21.4_debug@4.3.2 events: 3.3.0 jws: 4.0.0 - msal: 1.4.11 + msal: 1.4.12 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 - tslib: 2.3.0 + tslib: 2.3.1 uuid: 8.3.2 - dev: false - engines: - node: '>=12.0.0' optionalDependencies: keytar: 7.7.0 - peerDependencies: - debug: '*' - resolution: - integrity: sha512-djgywuWtX6720seqNOPmGM1hY54oHnjRT0MLIOzacMARTZuEtAIaFFvMPBlUIMQdtSGhdjH+/MS1/9PE8j83eA== - /@azure/identity/2.0.0-beta.4: + transitivePeerDependencies: + - debug + - supports-color + dev: false + + /@azure/identity/2.0.0-beta.5: + resolution: {integrity: sha512-x1AWJ2IxsVZkZ/REsuQxAqt1/LkDxKEgIAozH1x5WpuhyWvVRGyG3TxyTRB0dljc54+vWcXiThnPV1+g254Fxg==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 2.0.0 - '@azure/core-tracing': 1.0.0-preview.12 + '@azure/core-client': 1.3.0 + '@azure/core-rest-pipeline': 1.3.0 + '@azure/core-tracing': 1.0.0-preview.13 + '@azure/core-util': 1.0.0-beta.1 '@azure/logger': 1.0.2 - '@azure/msal-browser': 2.15.0 - '@azure/msal-common': 4.4.0 - '@azure/msal-node': 1.2.0 + '@azure/msal-browser': 2.17.0 + '@azure/msal-common': 4.5.1 + '@azure/msal-node': 1.3.1 '@types/stoppable': 1.1.1 events: 3.3.0 jws: 4.0.0 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 - tslib: 2.3.0 + tslib: 2.3.1 uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-B+x9dcMutHdkkrr01sYGoTIZPbEH90iavRVNnrCjKD0HpE/Oa5UV8risvkoPWGih6WJKh+p9YEBHlYg/5RWNWg== - /@azure/identity/2.0.0-beta.4_debug@4.3.2: + + /@azure/identity/2.0.0-beta.6: + resolution: {integrity: sha512-wtaAj11o7P1yJIhBDjP0W9nTUlhguJ711v7sEYR522ACOgfTuf5OMuVaF8HR/8Y57f4EFDGIj2Rqls2+VC6mCg==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 2.0.0 - '@azure/core-tracing': 1.0.0-preview.12 + '@azure/core-client': 1.3.0 + '@azure/core-rest-pipeline': 1.3.0 + '@azure/core-tracing': 1.0.0-preview.13 + '@azure/core-util': 1.0.0-beta.1 '@azure/logger': 1.0.2 - '@azure/msal-browser': 2.15.0 - '@azure/msal-common': 4.4.0 - '@azure/msal-node': 1.2.0_debug@4.3.2 + '@azure/msal-browser': 2.17.0 + '@azure/msal-common': 4.5.1 + '@azure/msal-node': 1.3.1 '@types/stoppable': 1.1.1 events: 3.3.0 jws: 4.0.0 open: 7.4.2 - qs: 6.10.1 stoppable: 1.1.0 - tslib: 2.3.0 + tslib: 2.3.1 uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color dev: false - engines: - node: '>=12.0.0' - peerDependencies: - debug: '*' - resolution: - integrity: sha512-B+x9dcMutHdkkrr01sYGoTIZPbEH90iavRVNnrCjKD0HpE/Oa5UV8risvkoPWGih6WJKh+p9YEBHlYg/5RWNWg== - /@azure/keyvault-certificates/4.2.0: + + /@azure/identity/2.0.0-beta.6_debug@4.3.2: + resolution: {integrity: sha512-wtaAj11o7P1yJIhBDjP0W9nTUlhguJ711v7sEYR522ACOgfTuf5OMuVaF8HR/8Y57f4EFDGIj2Rqls2+VC6mCg==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 - '@azure/core-http': 1.2.6 - '@azure/core-lro': 1.0.5 - '@azure/core-paging': 1.1.3 - '@azure/core-tracing': 1.0.0-preview.11 + '@azure/core-auth': 1.3.2 + '@azure/core-client': 1.3.0 + '@azure/core-rest-pipeline': 1.3.0 + '@azure/core-tracing': 1.0.0-preview.13 + '@azure/core-util': 1.0.0-beta.1 '@azure/logger': 1.0.2 - tslib: 2.3.0 + '@azure/msal-browser': 2.17.0 + '@azure/msal-common': 4.5.1 + '@azure/msal-node': 1.3.1_debug@4.3.2 + '@types/stoppable': 1.1.1 + events: 3.3.0 + jws: 4.0.0 + open: 7.4.2 + stoppable: 1.1.0 + tslib: 2.3.1 + uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-5Y8WgETz0lnAoksk8qpEOJ6PBnPV8edscusKiwbfm7rfadsfm1rl+kZPJP8YrjkY+bfnMNeixVZHe8QB5Mpa8Q== - /@azure/keyvault-keys/4.2.2: + + /@azure/keyvault-certificates/4.3.0: + resolution: {integrity: sha512-wCceKxgorRupYqx8jmWkyCiBmEfOo3VXONYp4eyDhXt/MfaYf0YF5O829Ft6EFQLf6D9CQMc2maZgCMOajaeOA==} + engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.0.4 - '@azure/core-http': 1.2.6 - '@azure/core-lro': 1.0.5 - '@azure/core-paging': 1.1.3 - '@azure/core-tracing': 1.0.0-preview.11 + '@azure/core-http': 2.2.0 + '@azure/core-lro': 2.2.0 + '@azure/core-paging': 1.2.0 + '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-SWRx0Z8ShLYnuqCitIOi3DqLSLBTI6G1F+Wv5/hy1w6ZXRnOwc74deQ8kfO0Tbm3n09SpaN4ytp6dmg6C2cRmQ== - /@azure/keyvault-secrets/4.2.0: + + /@azure/keyvault-keys/4.3.0: + resolution: {integrity: sha512-OEosl0/rE/mKD5Ji9KaQN7UH+yQnV5MS0MRhGqQIiJrG+qAvAla0MYudJzv3XvBlplpGk0+MVgyL9H3KX/UAwQ==} + engines: {node: '>=8.0.0'} dependencies: '@azure/abort-controller': 1.0.4 - '@azure/core-http': 1.2.6 - '@azure/core-lro': 1.0.5 - '@azure/core-paging': 1.1.3 - '@azure/core-tracing': 1.0.0-preview.11 + '@azure/core-http': 2.2.0 + '@azure/core-lro': 2.2.0 + '@azure/core-paging': 1.2.0 + '@azure/core-tracing': 1.0.0-preview.13 + '@azure/logger': 1.0.2 + tslib: 2.3.1 + dev: false + + /@azure/keyvault-secrets/4.3.0: + resolution: {integrity: sha512-bhdAr2Yjx+XpgfkClOufpTxcnKqDIwyOSKrbI9mJ2q5wQNb7Z1WPnPnIhjdsw1on/NRXzMaarYFNkf/MdS73FA==} + engines: {node: '>=12.0.0'} + dependencies: + '@azure/abort-controller': 1.0.4 + '@azure/core-http': 2.2.0 + '@azure/core-lro': 2.2.0 + '@azure/core-paging': 1.2.0 + '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-fQIbloZA1whluFmMGzWrex+PuzwBjDi59Lw/g73AVrLQIsqpz2YUnkzdwqSUuSDve8Q3McIEWMWkIUJpLVn+oA== + /@azure/logger-js/1.3.2: + resolution: {integrity: sha512-h58oEROO2tniBTSmFmuHBGvuiFuYsHQBWTVdpT2AiOED4F2Kgf7rs0MPYPXiBcDvihC70M7QPRhIQ3JK1H/ygw==} dependencies: tslib: 1.14.1 dev: false - resolution: - integrity: sha512-h58oEROO2tniBTSmFmuHBGvuiFuYsHQBWTVdpT2AiOED4F2Kgf7rs0MPYPXiBcDvihC70M7QPRhIQ3JK1H/ygw== + /@azure/logger/1.0.2: + resolution: {integrity: sha512-YZNjNV0vL3nN2nedmcjQBcpCTo3oqceXmgiQtEm6fLpucjRZyQKAQruhCmCpRlB1iykqKJJ/Y8CDmT5rIE6IJw==} + engines: {node: '>=8.0.0'} dependencies: - tslib: 2.3.0 + tslib: 2.3.1 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-YZNjNV0vL3nN2nedmcjQBcpCTo3oqceXmgiQtEm6fLpucjRZyQKAQruhCmCpRlB1iykqKJJ/Y8CDmT5rIE6IJw== - /@azure/ms-rest-azure-env/1.1.2: + + /@azure/monitor-opentelemetry-exporter/1.0.0-beta.4: + resolution: {integrity: sha512-Y3HGIhepNpk83XzxbOFBhXNVHI+ntXaPKJmqpqcVhAkN3x3LMKzDRg9B8CUDLkaeYAMV60lievKz052EFHkgbw==} + engines: {node: '>=12.0.0'} + dependencies: + '@azure/core-http': 2.2.0 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/resources': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/semantic-conventions': 0.22.0 + '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.3 + tslib: 2.3.1 dev: false - resolution: - integrity: sha512-l7z0DPCi2Hp88w12JhDTtx5d0Y3+vhfE7JKJb9O7sEz71Cwp053N8piTtTnnk/tUor9oZHgEKi/p3tQQmLPjvA== - /@azure/ms-rest-azure-env/2.0.0: + + /@azure/ms-rest-azure-env/1.1.2: + resolution: {integrity: sha512-l7z0DPCi2Hp88w12JhDTtx5d0Y3+vhfE7JKJb9O7sEz71Cwp053N8piTtTnnk/tUor9oZHgEKi/p3tQQmLPjvA==} dev: false - resolution: - integrity: sha512-dG76W7ElfLi+fbTjnZVGj+M9e0BIEJmRxU6fHaUQ12bZBe8EJKYb2GV50YWNaP2uJiVQ5+7nXEVj1VN1UQtaEw== + /@azure/ms-rest-js/1.11.2_debug@3.2.7: + resolution: {integrity: sha512-2AyQ1IKmLGKW7DU3/x3TsTBzZLcbC9YRI+yuDPuXAQrv3zar340K9wsxU413kHFIDjkWNCo9T0w5VtwcyWxhbQ==} dependencies: '@azure/core-auth': 1.3.2 - axios: 0.21.1_debug@3.2.7 + axios: 0.21.4_debug@3.2.7 form-data: 2.5.1 tough-cookie: 2.5.0 tslib: 1.14.1 tunnel: 0.0.6 uuid: 3.4.0 xml2js: 0.4.23 + transitivePeerDependencies: + - debug dev: false - peerDependencies: - debug: '*' - resolution: - integrity: sha512-2AyQ1IKmLGKW7DU3/x3TsTBzZLcbC9YRI+yuDPuXAQrv3zar340K9wsxU413kHFIDjkWNCo9T0w5VtwcyWxhbQ== + /@azure/ms-rest-js/1.11.2_debug@4.3.2: + resolution: {integrity: sha512-2AyQ1IKmLGKW7DU3/x3TsTBzZLcbC9YRI+yuDPuXAQrv3zar340K9wsxU413kHFIDjkWNCo9T0w5VtwcyWxhbQ==} dependencies: '@azure/core-auth': 1.3.2 - axios: 0.21.1_debug@4.3.2 + axios: 0.21.4_debug@4.3.2 form-data: 2.5.1 tough-cookie: 2.5.0 tslib: 1.14.1 tunnel: 0.0.6 uuid: 3.4.0 xml2js: 0.4.23 + transitivePeerDependencies: + - debug dev: false - peerDependencies: - debug: '*' - resolution: - integrity: sha512-2AyQ1IKmLGKW7DU3/x3TsTBzZLcbC9YRI+yuDPuXAQrv3zar340K9wsxU413kHFIDjkWNCo9T0w5VtwcyWxhbQ== - /@azure/ms-rest-js/2.5.3: + + /@azure/ms-rest-js/2.6.0: + resolution: {integrity: sha512-4C5FCtvEzWudblB+h92/TYYPiq7tuElX8icVYToxOdggnYqeec4Se14mjse5miInKtZahiFHdl8lZA/jziEc5g==} dependencies: '@azure/core-auth': 1.3.2 abort-controller: 3.0.0 form-data: 2.5.1 - node-fetch: 2.6.1 + node-fetch: 2.6.2 tough-cookie: 3.0.1 tslib: 1.14.1 tunnel: 0.0.6 uuid: 8.3.2 xml2js: 0.4.23 dev: false - resolution: - integrity: sha512-OZ7qJwazS2nSRtZOA6+0k7x+RJ9D2P0IyUl9iHycyjgtQlINALNRutGqQeBirhIEx2IRQs9TMnnxoh/yRkFEAw== + /@azure/ms-rest-nodeauth/0.9.3_debug@3.2.7: + resolution: {integrity: sha512-aFHRw/IHhg3I9ZJW+Va4L+sCirFHMVIu6B7lFdL5mGLfG3xC5vDIdd957LRXFgy2OiKFRUC0QaKknd0YCsQIqA==} dependencies: '@azure/ms-rest-azure-env': 1.1.2 '@azure/ms-rest-js': 1.11.2_debug@3.2.7 adal-node: 0.1.28 + transitivePeerDependencies: + - debug dev: false - peerDependencies: - debug: '*' - resolution: - integrity: sha512-aFHRw/IHhg3I9ZJW+Va4L+sCirFHMVIu6B7lFdL5mGLfG3xC5vDIdd957LRXFgy2OiKFRUC0QaKknd0YCsQIqA== + /@azure/ms-rest-nodeauth/0.9.3_debug@4.3.2: + resolution: {integrity: sha512-aFHRw/IHhg3I9ZJW+Va4L+sCirFHMVIu6B7lFdL5mGLfG3xC5vDIdd957LRXFgy2OiKFRUC0QaKknd0YCsQIqA==} dependencies: '@azure/ms-rest-azure-env': 1.1.2 '@azure/ms-rest-js': 1.11.2_debug@4.3.2 adal-node: 0.1.28 + transitivePeerDependencies: + - debug dev: false - peerDependencies: - debug: '*' - resolution: - integrity: sha512-aFHRw/IHhg3I9ZJW+Va4L+sCirFHMVIu6B7lFdL5mGLfG3xC5vDIdd957LRXFgy2OiKFRUC0QaKknd0YCsQIqA== - /@azure/ms-rest-nodeauth/3.0.10: - dependencies: - '@azure/ms-rest-azure-env': 2.0.0 - '@azure/ms-rest-js': 2.5.3 - adal-node: 0.2.2 - dev: false - resolution: - integrity: sha512-oel7ibYlredh2wo7XwNYMx4jWlbMkIzCC8t8VpdhsAWDJVNSSce+DYj5jjZn1oED+QsCytVM2B7/QTuLN1/yDw== - /@azure/msal-browser/2.15.0: + + /@azure/msal-browser/2.17.0: + resolution: {integrity: sha512-NDK0NfsiRkjUU4V4jTt++aUPVg3JnRF4zV3B6WEOXDMH3OCbSJyqdO1WhdUWgMNQZz6Dk9bO/c6Bf4vUEgg+WA==} + engines: {node: '>=0.8.0'} dependencies: - '@azure/msal-common': 4.4.0 + '@azure/msal-common': 5.0.0 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha512-Du0BHQiDQgkqg6OoKovUZWdEIZbTnhh/lma7QLyi5jFKDekk78wXsFIOJLUcFoY97+ZhB+Y2WQOYT1DJphAdCg== - /@azure/msal-common/1.7.2: + + /@azure/msal-common/4.5.1: + resolution: {integrity: sha512-/i5dXM+QAtO+6atYd5oHGBAx48EGSISkXNXViheliOQe+SIFMDo3gSq3lL54W0suOSAsVPws3XnTaIHlla0PIQ==} + engines: {node: '>=0.8.0'} dependencies: debug: 4.3.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha512-3/voCdFKONENX+5tMrNOBSrVJb6NbE7YB8vc4FZ/4ZbjpK7GVtq9Bu1MW+HZhrmsUzSF/joHx0ZIJDYIequ/jg== - /@azure/msal-common/4.4.0: + + /@azure/msal-common/5.0.0: + resolution: {integrity: sha512-b3QXfW0BlGZs3mQ59rkVGcArzeMGd1RjHxyRez5bCB1F/F3jRmn2nY9jGamrILPBFz7weGpJiouW1VmDmAuk7Q==} + engines: {node: '>=0.8.0'} dependencies: debug: 4.3.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha512-Qrs33Ctt2KM7NxArFPIUKc8UbIcm7zYxJFdJeQ9k7HKBhVk3e88CUz1Mw33cS/Jr+YA1H02OAzHg++bJ+4SFyQ== - /@azure/msal-node-extensions/1.0.0-alpha.7: + + /@azure/msal-node-extensions/1.0.0-alpha.9: + resolution: {integrity: sha512-p6ulfziYQDbPmFH0LZ7ekvC6WJu4coHTHPtH4iA6wEeMMy6aD8afv4KgXZDm7bX0rXlTIb+1O8hQYOATz4j5vA==} + engines: {node: '>=10'} + requiresBuild: true dependencies: - '@azure/msal-common': 1.7.2 + '@azure/msal-common': 4.5.1 bindings: 1.5.0 keytar: 7.7.0 - nan: 2.14.2 + nan: 2.15.0 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=10' - requiresBuild: true - resolution: - integrity: sha512-fz+4sTFCnpFDYrJ/FrJ3bx3atUEQ5sUhsZYohUyC9yACxII9kn908hBsxl+xeuzheTN/bq45EZureMioSEogNw== + /@azure/msal-node/1.0.0-beta.6: + resolution: {integrity: sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ==} dependencies: - '@azure/msal-common': 4.4.0 - axios: 0.21.1 + '@azure/msal-common': 4.5.1 + axios: 0.21.4 jsonwebtoken: 8.5.1 uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color dev: false - resolution: - integrity: sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ== + /@azure/msal-node/1.0.0-beta.6_debug@4.3.2: + resolution: {integrity: sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ==} dependencies: - '@azure/msal-common': 4.4.0 - axios: 0.21.1_debug@4.3.2 + '@azure/msal-common': 4.5.1 + axios: 0.21.4_debug@4.3.2 jsonwebtoken: 8.5.1 uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color dev: false - peerDependencies: - debug: '*' - resolution: - integrity: sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ== - /@azure/msal-node/1.2.0: + + /@azure/msal-node/1.3.1: + resolution: {integrity: sha512-c3bSdXUBpjUehx7mdI5iY+mwMF1mTz1qrVppH5LTD3SfbousRaFN9F2phAeaejVnCzbKzFPl4TTHxOJbkBVXHA==} + engines: {node: 10 || 12 || 14 || 16} dependencies: - '@azure/msal-common': 4.4.0 - axios: 0.21.1 + '@azure/msal-common': 5.0.0 + axios: 0.21.4 jsonwebtoken: 8.5.1 uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color dev: false - engines: - node: 10 || 12 || 14 || 16 - resolution: - integrity: sha512-79o5n483vslc7Qegh9+0BsxODRmlk6YYjVdl9jvwmAuF+i+oylq57e7RVhTVocKCbLCIMOKARI14JyKdDbW0WA== - /@azure/msal-node/1.2.0_debug@4.3.2: + + /@azure/msal-node/1.3.1_debug@4.3.2: + resolution: {integrity: sha512-c3bSdXUBpjUehx7mdI5iY+mwMF1mTz1qrVppH5LTD3SfbousRaFN9F2phAeaejVnCzbKzFPl4TTHxOJbkBVXHA==} + engines: {node: 10 || 12 || 14 || 16} dependencies: - '@azure/msal-common': 4.4.0 - axios: 0.21.1_debug@4.3.2 + '@azure/msal-common': 5.0.0 + axios: 0.21.4_debug@4.3.2 jsonwebtoken: 8.5.1 uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color dev: false - engines: - node: 10 || 12 || 14 || 16 - peerDependencies: - debug: '*' - resolution: - integrity: sha512-79o5n483vslc7Qegh9+0BsxODRmlk6YYjVdl9jvwmAuF+i+oylq57e7RVhTVocKCbLCIMOKARI14JyKdDbW0WA== - /@azure/storage-blob/12.6.0: - dependencies: - '@azure/abort-controller': 1.0.4 - '@azure/core-http': 1.2.6 - '@azure/core-lro': 1.0.5 - '@azure/core-paging': 1.1.3 - '@azure/core-tracing': 1.0.0-preview.11 - '@azure/logger': 1.0.2 - events: 3.3.0 - tslib: 2.3.0 - dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-cAzsae+5ZdhugQfIT7o5SlVyF2Sc+HygZdPO41ZYdXklfGUyEt+5K4PyM5HQDc0MTVt6x7+waXcaAXT2eF9E6A== + /@babel/code-frame/7.12.11: + resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: '@babel/highlight': 7.14.5 dev: false - resolution: - integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + /@babel/code-frame/7.14.5: + resolution: {integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.14.5 dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== - /@babel/compat-data/7.14.7: + + /@babel/compat-data/7.15.0: + resolution: {integrity: sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==} + engines: {node: '>=6.9.0'} dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== - /@babel/core/7.14.8: + + /@babel/core/7.15.5: + resolution: {integrity: sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.8 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.8 - '@babel/helper-module-transforms': 7.14.8 - '@babel/helpers': 7.14.8 - '@babel/parser': 7.14.8 - '@babel/template': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 + '@babel/generator': 7.15.4 + '@babel/helper-compilation-targets': 7.15.4_@babel+core@7.15.5 + '@babel/helper-module-transforms': 7.15.7 + '@babel/helpers': 7.15.4 + '@babel/parser': 7.15.7 + '@babel/template': 7.15.4 + '@babel/traverse': 7.15.4 + '@babel/types': 7.15.6 convert-source-map: 1.8.0 debug: 4.3.2 gensync: 1.0.0-beta.2 json5: 2.2.0 semver: 6.3.0 source-map: 0.5.7 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q== - /@babel/generator/7.14.8: + + /@babel/generator/7.15.4: + resolution: {integrity: sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.15.6 jsesc: 2.5.2 source-map: 0.5.7 dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== - /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.8: + + /@babel/helper-compilation-targets/7.15.4_@babel+core@7.15.5: + resolution: {integrity: sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.14.7 - '@babel/core': 7.14.8 + '@babel/compat-data': 7.15.0 + '@babel/core': 7.15.5 '@babel/helper-validator-option': 7.14.5 - browserslist: 4.16.6 + browserslist: 4.17.0 semver: 6.3.0 dev: false - engines: - node: '>=6.9.0' - peerDependencies: - '@babel/core': ^7.0.0 - resolution: - integrity: sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== - /@babel/helper-function-name/7.14.5: - dependencies: - '@babel/helper-get-function-arity': 7.14.5 - '@babel/template': 7.14.5 - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== - /@babel/helper-get-function-arity/7.14.5: - dependencies: - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== - /@babel/helper-hoist-variables/7.14.5: - dependencies: - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== - /@babel/helper-member-expression-to-functions/7.14.7: - dependencies: - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== - /@babel/helper-module-imports/7.14.5: - dependencies: - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== - /@babel/helper-module-transforms/7.14.8: - dependencies: - '@babel/helper-module-imports': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 - '@babel/helper-simple-access': 7.14.8 - '@babel/helper-split-export-declaration': 7.14.5 - '@babel/helper-validator-identifier': 7.14.8 - '@babel/template': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA== - /@babel/helper-optimise-call-expression/7.14.5: - dependencies: - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== - /@babel/helper-replace-supers/7.14.5: - dependencies: - '@babel/helper-member-expression-to-functions': 7.14.7 - '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== - /@babel/helper-simple-access/7.14.8: - dependencies: - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== - /@babel/helper-split-export-declaration/7.14.5: - dependencies: - '@babel/types': 7.14.8 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== - /@babel/helper-validator-identifier/7.14.8: - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== + + /@babel/helper-function-name/7.15.4: + resolution: {integrity: sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-get-function-arity': 7.15.4 + '@babel/template': 7.15.4 + '@babel/types': 7.15.6 + dev: false + + /@babel/helper-get-function-arity/7.15.4: + resolution: {integrity: sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.15.6 + dev: false + + /@babel/helper-hoist-variables/7.15.4: + resolution: {integrity: sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.15.6 + dev: false + + /@babel/helper-member-expression-to-functions/7.15.4: + resolution: {integrity: sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.15.6 + dev: false + + /@babel/helper-module-imports/7.15.4: + resolution: {integrity: sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.15.6 + dev: false + + /@babel/helper-module-transforms/7.15.7: + resolution: {integrity: sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-module-imports': 7.15.4 + '@babel/helper-replace-supers': 7.15.4 + '@babel/helper-simple-access': 7.15.4 + '@babel/helper-split-export-declaration': 7.15.4 + '@babel/helper-validator-identifier': 7.15.7 + '@babel/template': 7.15.4 + '@babel/traverse': 7.15.4 + '@babel/types': 7.15.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/helper-optimise-call-expression/7.15.4: + resolution: {integrity: sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.15.6 + dev: false + + /@babel/helper-replace-supers/7.15.4: + resolution: {integrity: sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-member-expression-to-functions': 7.15.4 + '@babel/helper-optimise-call-expression': 7.15.4 + '@babel/traverse': 7.15.4 + '@babel/types': 7.15.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/helper-simple-access/7.15.4: + resolution: {integrity: sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.15.6 + dev: false + + /@babel/helper-split-export-declaration/7.15.4: + resolution: {integrity: sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.15.6 + dev: false + + /@babel/helper-validator-identifier/7.15.7: + resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} + engines: {node: '>=6.9.0'} + dev: false + /@babel/helper-validator-option/7.14.5: + resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} + engines: {node: '>=6.9.0'} dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - /@babel/helpers/7.14.8: + + /@babel/helpers/7.15.4: + resolution: {integrity: sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 + '@babel/template': 7.15.4 + '@babel/traverse': 7.15.4 + '@babel/types': 7.15.6 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw== + /@babel/highlight/7.14.5: + resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.14.8 + '@babel/helper-validator-identifier': 7.15.7 chalk: 2.4.2 js-tokens: 4.0.0 dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - /@babel/parser/7.14.8: - dev: false - engines: - node: '>=6.0.0' + + /@babel/parser/7.15.7: + resolution: {integrity: sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==} + engines: {node: '>=6.0.0'} hasBin: true - resolution: - integrity: sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA== - /@babel/runtime/7.14.8: + dev: false + + /@babel/runtime/7.15.4: + resolution: {integrity: sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==} + engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.7 + regenerator-runtime: 0.13.9 dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg== - /@babel/template/7.14.5: + + /@babel/template/7.15.4: + resolution: {integrity: sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.14.5 - '@babel/parser': 7.14.8 - '@babel/types': 7.14.8 + '@babel/parser': 7.15.7 + '@babel/types': 7.15.6 dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== - /@babel/traverse/7.14.8: + + /@babel/traverse/7.15.4: + resolution: {integrity: sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.8 - '@babel/helper-function-name': 7.14.5 - '@babel/helper-hoist-variables': 7.14.5 - '@babel/helper-split-export-declaration': 7.14.5 - '@babel/parser': 7.14.8 - '@babel/types': 7.14.8 + '@babel/generator': 7.15.4 + '@babel/helper-function-name': 7.15.4 + '@babel/helper-hoist-variables': 7.15.4 + '@babel/helper-split-export-declaration': 7.15.4 + '@babel/parser': 7.15.7 + '@babel/types': 7.15.6 debug: 4.3.2 globals: 11.12.0 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg== - /@babel/types/7.14.8: + + /@babel/types/7.15.6: + resolution: {integrity: sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.14.8 + '@babel/helper-validator-identifier': 7.15.7 to-fast-properties: 2.0.0 dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q== + /@bahmutov/data-driven/1.0.0: + resolution: {integrity: sha512-YqW3hPS0RXriqjcCrLOTJj+LWe3c8JpwlL83k1ka1Q8U05ZjAKbGQZYeTzUd0NFEnnfPtsUiKGpFEBJG6kFuvg==} + engines: {node: '>=6'} dependencies: check-more-types: 2.24.0 lazy-ass: 1.6.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-YqW3hPS0RXriqjcCrLOTJj+LWe3c8JpwlL83k1ka1Q8U05ZjAKbGQZYeTzUd0NFEnnfPtsUiKGpFEBJG6kFuvg== + + /@cspotcode/source-map-consumer/0.8.0: + resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==} + engines: {node: '>= 12'} + dev: false + + /@cspotcode/source-map-support/0.6.1: + resolution: {integrity: sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==} + engines: {node: '>=12'} + dependencies: + '@cspotcode/source-map-consumer': 0.8.0 + dev: false + /@eslint/eslintrc/0.4.3: + resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: ajv: 6.12.6 debug: 4.3.2 espree: 7.3.1 - globals: 13.10.0 + globals: 13.11.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.14.1 minimatch: 3.0.4 strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: ^10.12.0 || >=12.0.0 - resolution: - integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + /@humanwhocodes/config-array/0.5.0: + resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.0 debug: 4.3.2 minimatch: 3.0.4 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=10.10.0' - resolution: - integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + /@humanwhocodes/object-schema/1.2.0: + resolution: {integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==} dev: false - resolution: - integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + /@microsoft/api-extractor-model/7.12.2: + resolution: {integrity: sha512-EU+U09Mj65zUH0qwPF4PFJiL6Y+PQQE/RRGEHEDGJJzab/mRQDpKOyrzSdb00xvcd/URehIHJqC55cY2Y4jGOA==} dependencies: '@microsoft/tsdoc': 0.12.24 '@rushstack/node-core-library': 3.36.0 dev: false - resolution: - integrity: sha512-EU+U09Mj65zUH0qwPF4PFJiL6Y+PQQE/RRGEHEDGJJzab/mRQDpKOyrzSdb00xvcd/URehIHJqC55cY2Y4jGOA== + + /@microsoft/api-extractor-model/7.13.7: + resolution: {integrity: sha512-emwhcaSF/h3WdqBWps4UU0RtGOGzy53IsplxuoLwtCuMAx3namYvJSfUGa5ajGPBao4MCyRYGsMc3EZ6IdR8cQ==} + dependencies: + '@microsoft/tsdoc': 0.13.2 + '@microsoft/tsdoc-config': 0.15.2 + '@rushstack/node-core-library': 3.40.2 + dev: false + /@microsoft/api-extractor-model/7.7.10: + resolution: {integrity: sha512-gMFDXwUgoQYz9TgatyNPALDdZN4xBC3Un3fGwlzME+vM13PoJ26pGuqI7kv/OlK9+q2sgrEdxWns8D3UnLf2TA==} dependencies: '@microsoft/tsdoc': 0.12.19 '@rushstack/node-core-library': 3.19.6 dev: false - resolution: - integrity: sha512-gMFDXwUgoQYz9TgatyNPALDdZN4xBC3Un3fGwlzME+vM13PoJ26pGuqI7kv/OlK9+q2sgrEdxWns8D3UnLf2TA== + /@microsoft/api-extractor/7.13.2: + resolution: {integrity: sha512-2fD0c8OxZW+e6NTaxbtrdNxXVuX7aqil3+cqig3pKsHymvUuRJVCEAcAJmZrJ/ENqYXNiB265EyqOT6VxbMysw==} + hasBin: true dependencies: '@microsoft/api-extractor-model': 7.12.2 '@microsoft/tsdoc': 0.12.24 @@ -1131,10 +1289,28 @@ packages: source-map: 0.6.1 typescript: 4.1.6 dev: false + + /@microsoft/api-extractor/7.18.9: + resolution: {integrity: sha512-N+fbG+6SwA1i6EW3iGRp/nAT8vQpRSDvZ1DzBUr8xIS7tNfJ0C75ndPPziUT8EmalhLixRnIw6Ncmur8AFELRg==} hasBin: true - resolution: - integrity: sha512-2fD0c8OxZW+e6NTaxbtrdNxXVuX7aqil3+cqig3pKsHymvUuRJVCEAcAJmZrJ/ENqYXNiB265EyqOT6VxbMysw== + dependencies: + '@microsoft/api-extractor-model': 7.13.7 + '@microsoft/tsdoc': 0.13.2 + '@microsoft/tsdoc-config': 0.15.2 + '@rushstack/node-core-library': 3.40.2 + '@rushstack/rig-package': 0.3.0 + '@rushstack/ts-command-line': 4.9.0 + colors: 1.2.5 + lodash: 4.17.21 + resolve: 1.17.0 + semver: 7.3.5 + source-map: 0.6.1 + typescript: 4.3.5 + dev: false + /@microsoft/api-extractor/7.7.11: + resolution: {integrity: sha512-kd2kakdDoRgI54J5H11a76hyYZBMhtp4piwWAy4bYTwlQT0v/tp+G/UMMgjUL4vKf0kTNhitEUX/0LfQb1AHzQ==} + hasBin: true dependencies: '@microsoft/api-extractor-model': 7.7.10 '@microsoft/tsdoc': 0.12.19 @@ -1146,215 +1322,208 @@ packages: source-map: 0.6.1 typescript: 3.7.7 dev: false - hasBin: true - resolution: - integrity: sha512-kd2kakdDoRgI54J5H11a76hyYZBMhtp4piwWAy4bYTwlQT0v/tp+G/UMMgjUL4vKf0kTNhitEUX/0LfQb1AHzQ== + /@microsoft/tsdoc-config/0.15.2: + resolution: {integrity: sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==} dependencies: '@microsoft/tsdoc': 0.13.2 ajv: 6.12.6 jju: 1.4.0 resolve: 1.19.0 dev: false - resolution: - integrity: sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA== + /@microsoft/tsdoc/0.12.19: + resolution: {integrity: sha512-IpgPxHrNxZiMNUSXqR1l/gePKPkfAmIKoDRP9hp7OwjU29ZR8WCJsOJ8iBKgw0Qk+pFwR+8Y1cy8ImLY6e9m4A==} dev: false - resolution: - integrity: sha512-IpgPxHrNxZiMNUSXqR1l/gePKPkfAmIKoDRP9hp7OwjU29ZR8WCJsOJ8iBKgw0Qk+pFwR+8Y1cy8ImLY6e9m4A== + /@microsoft/tsdoc/0.12.24: + resolution: {integrity: sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg==} dev: false - resolution: - integrity: sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg== + /@microsoft/tsdoc/0.13.2: + resolution: {integrity: sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==} dev: false - resolution: - integrity: sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.11.1 + fastq: 1.13.0 dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + /@opencensus/web-types/0.0.7: + resolution: {integrity: sha512-xB+w7ZDAu3YBzqH44rCmG9/RlrOmFuDPt/bpf17eJr8eZSrLt7nc7LnWdxM9Mmoj/YKMHpxRg28txu3TcpiL+g==} + engines: {node: '>=6.0'} dev: false - engines: - node: '>=6.0' - resolution: - integrity: sha512-xB+w7ZDAu3YBzqH44rCmG9/RlrOmFuDPt/bpf17eJr8eZSrLt7nc7LnWdxM9Mmoj/YKMHpxRg28txu3TcpiL+g== - /@opentelemetry/api-metrics/0.22.0_@opentelemetry+api@1.0.1: - dependencies: - '@opentelemetry/api': 1.0.1 - dev: false - engines: - node: '>=8.0.0' + + /@opentelemetry/api-metrics/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-hrErhb+JphdErB1WuBwpCnO1FjiKfKzO9DjhvquzzM8SYL2bBpYEvTpBTU9cenRnRHUbUAfHI1X384vm37HKeQ==} + engines: {node: '>=8.0.0'} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-hrErhb+JphdErB1WuBwpCnO1FjiKfKzO9DjhvquzzM8SYL2bBpYEvTpBTU9cenRnRHUbUAfHI1X384vm37HKeQ== + dependencies: + '@opentelemetry/api': 1.0.3 + dev: false + /@opentelemetry/api/0.10.2: + resolution: {integrity: sha512-GtpMGd6vkzDMYcpu2t9LlhEgMy/SzBwRnz48EejlRArYqZzqSzAsKmegUK7zHgl+EOIaK9mKHhnRaQu3qw20cA==} + engines: {node: '>=8.0.0'} dependencies: '@opentelemetry/context-base': 0.10.2 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-GtpMGd6vkzDMYcpu2t9LlhEgMy/SzBwRnz48EejlRArYqZzqSzAsKmegUK7zHgl+EOIaK9mKHhnRaQu3qw20cA== + /@opentelemetry/api/1.0.0-rc.0: - dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-iXKByCMfrlO5S6Oh97BuM56tM2cIBB0XsL/vWF/AtJrJEKx4MC/Xdu0xDsGXMGcNWpqF7ujMsjjnp0+UHBwnDQ== - /@opentelemetry/api/1.0.1: - dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-H5Djcc2txGAINgf3TNaq4yFofYSIK3722PM89S/3R8FuI/eqi1UscajlXk7EBkG9s2pxss/q6SHlpturaavXaw== - /@opentelemetry/context-async-hooks/0.22.0_@opentelemetry+api@1.0.1: - dependencies: - '@opentelemetry/api': 1.0.1 - dev: false - engines: - node: '>=8.1.0' + resolution: {integrity: sha512-iXKByCMfrlO5S6Oh97BuM56tM2cIBB0XsL/vWF/AtJrJEKx4MC/Xdu0xDsGXMGcNWpqF7ujMsjjnp0+UHBwnDQ==} + engines: {node: '>=8.0.0'} + dev: false + + /@opentelemetry/api/1.0.3: + resolution: {integrity: sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ==} + engines: {node: '>=8.0.0'} + dev: false + + /@opentelemetry/context-async-hooks/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-JakZ9NJCiaf8FJ6lcR2Fle9xkBKxSFbXK4mk9gZ14totNh9SOTiUBUk08bAnATWUINrQlN8/5hpGKi5gs+FUxQ==} + engines: {node: '>=8.1.0'} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-JakZ9NJCiaf8FJ6lcR2Fle9xkBKxSFbXK4mk9gZ14totNh9SOTiUBUk08bAnATWUINrQlN8/5hpGKi5gs+FUxQ== + dependencies: + '@opentelemetry/api': 1.0.3 + dev: false + /@opentelemetry/context-base/0.10.2: + resolution: {integrity: sha512-hZNKjKOYsckoOEgBziGMnBcX0M7EtstnCmwz5jZUOUYwlZ+/xxX6z3jPu1XVO2Jivk0eLfuP9GP+vFD49CMetw==} + engines: {node: '>=8.0.0'} dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-hZNKjKOYsckoOEgBziGMnBcX0M7EtstnCmwz5jZUOUYwlZ+/xxX6z3jPu1XVO2Jivk0eLfuP9GP+vFD49CMetw== - /@opentelemetry/core/0.22.0_@opentelemetry+api@1.0.1: + + /@opentelemetry/core/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-x6JxuQ4rY2x39GEXJSqMgyf8XZPNNiZrGcCMhZSrtypq/WXlsJuxMNnUAl2hj2rpSGGukhhWn5cMpCmMJJz1hw==} + engines: {node: '>=8.5.0'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 dependencies: - '@opentelemetry/api': 1.0.1 + '@opentelemetry/api': 1.0.3 '@opentelemetry/semantic-conventions': 0.22.0 semver: 7.3.5 dev: false - engines: - node: '>=8.5.0' + + /@opentelemetry/instrumentation-http/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-vqM1hqgYtcO8Upq8pl4I+YW0bnodHlUSSKYuOH7m9Aujbi571pU3zFctpiU5pNhj9eLEJ/r7aOTV6O4hCxqOjQ==} + engines: {node: '>=8.0.0'} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-x6JxuQ4rY2x39GEXJSqMgyf8XZPNNiZrGcCMhZSrtypq/WXlsJuxMNnUAl2hj2rpSGGukhhWn5cMpCmMJJz1hw== - /@opentelemetry/instrumentation-http/0.22.0_@opentelemetry+api@1.0.1: dependencies: - '@opentelemetry/api': 1.0.1 - '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/instrumentation': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/instrumentation': 0.22.0_@opentelemetry+api@1.0.3 '@opentelemetry/semantic-conventions': 0.22.0 semver: 7.3.5 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=8.0.0' + + /@opentelemetry/instrumentation/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-/NT3+mZO9Bll6UZPjqemrD2VhkI7wRrMto884+wKGK8LIC+EKlg5EKk9y9ym4Vtnlis8/hVxNrFSeaS29N2NLw==} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-vqM1hqgYtcO8Upq8pl4I+YW0bnodHlUSSKYuOH7m9Aujbi571pU3zFctpiU5pNhj9eLEJ/r7aOTV6O4hCxqOjQ== - /@opentelemetry/instrumentation/0.22.0_@opentelemetry+api@1.0.1: dependencies: - '@opentelemetry/api': 1.0.1 - '@opentelemetry/api-metrics': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/api-metrics': 0.22.0_@opentelemetry+api@1.0.3 require-in-the-middle: 5.1.0 semver: 7.3.5 shimmer: 1.2.1 + transitivePeerDependencies: + - supports-color dev: false + + /@opentelemetry/node/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-+HhGbDruQ7cwejVOIYyxRa28uosnG8W95NiQZ6qE8PXXPsDSyGeftAPbtYpGit0H2f5hrVcMlwmWHeAo9xkSLA==} + engines: {node: '>=8.0.0'} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-/NT3+mZO9Bll6UZPjqemrD2VhkI7wRrMto884+wKGK8LIC+EKlg5EKk9y9ym4Vtnlis8/hVxNrFSeaS29N2NLw== - /@opentelemetry/node/0.22.0_@opentelemetry+api@1.0.1: - dependencies: - '@opentelemetry/api': 1.0.1 - '@opentelemetry/context-async-hooks': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/propagator-b3': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/propagator-jaeger': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.1 + dependencies: + '@opentelemetry/api': 1.0.3 + '@opentelemetry/context-async-hooks': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/propagator-b3': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/propagator-jaeger': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.3 semver: 7.3.5 dev: false - engines: - node: '>=8.0.0' + + /@opentelemetry/propagator-b3/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-7UESJWUUmInXrlux9whSjoIMfpmajKbu2UBU/ux7TVkLTeaJwebLHoqDhuUTS4dbmvg3fnkpfmocyUgby16NwQ==} + engines: {node: '>=8.0.0'} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-+HhGbDruQ7cwejVOIYyxRa28uosnG8W95NiQZ6qE8PXXPsDSyGeftAPbtYpGit0H2f5hrVcMlwmWHeAo9xkSLA== - /@opentelemetry/propagator-b3/0.22.0_@opentelemetry+api@1.0.1: dependencies: - '@opentelemetry/api': 1.0.1 - '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.3 dev: false - engines: - node: '>=8.0.0' + + /@opentelemetry/propagator-jaeger/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-Xclq+eLfc0Zk1UAbY6clYjoCZqikk4SzvG8C/ODJ6LfDHnqMr/fKXaHHhh/DdHdi6d73o9S8ytblryc+CaTkrw==} + engines: {node: '>=8.5.0'} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-7UESJWUUmInXrlux9whSjoIMfpmajKbu2UBU/ux7TVkLTeaJwebLHoqDhuUTS4dbmvg3fnkpfmocyUgby16NwQ== - /@opentelemetry/propagator-jaeger/0.22.0_@opentelemetry+api@1.0.1: dependencies: - '@opentelemetry/api': 1.0.1 - '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.3 dev: false - engines: - node: '>=8.5.0' + + /@opentelemetry/resources/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-LiX6/JyuD2eHi7Ewrq/PUP79azDqshd0r2oksNTJ+VwgbGfMlq79ykd4FhiEEk23fFbajGt+9ginadXoRk17dg==} + engines: {node: '>=8.0.0'} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-Xclq+eLfc0Zk1UAbY6clYjoCZqikk4SzvG8C/ODJ6LfDHnqMr/fKXaHHhh/DdHdi6d73o9S8ytblryc+CaTkrw== - /@opentelemetry/resources/0.22.0_@opentelemetry+api@1.0.1: dependencies: - '@opentelemetry/api': 1.0.1 - '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.3 '@opentelemetry/semantic-conventions': 0.22.0 dev: false - engines: - node: '>=8.0.0' + + /@opentelemetry/semantic-conventions/0.22.0: + resolution: {integrity: sha512-t4fKikazahwNKmwD+CE/icHyuZldWvNMupJhjxdk9T/KxHFx3zCGjHT3MKavwYP6abzgAAm5WwzD1oHlmj7dyg==} + engines: {node: '>=8.0.0'} + dev: false + + /@opentelemetry/semantic-conventions/0.24.0: + resolution: {integrity: sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==} + engines: {node: '>=8.0.0'} + dev: false + + /@opentelemetry/tracing/0.22.0_@opentelemetry+api@1.0.3: + resolution: {integrity: sha512-EFrKTFndiEdh/KnzwDgo/EcphG/5z/NyLck8oiUUY+YMP7hskXNYHjTWSAv9UxtYe1MzgLbjmAateTuMmFIVNw==} + engines: {node: '>=8.0.0'} peerDependencies: '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-LiX6/JyuD2eHi7Ewrq/PUP79azDqshd0r2oksNTJ+VwgbGfMlq79ykd4FhiEEk23fFbajGt+9ginadXoRk17dg== - /@opentelemetry/semantic-conventions/0.22.0: - dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-t4fKikazahwNKmwD+CE/icHyuZldWvNMupJhjxdk9T/KxHFx3zCGjHT3MKavwYP6abzgAAm5WwzD1oHlmj7dyg== - /@opentelemetry/tracing/0.22.0_@opentelemetry+api@1.0.1: dependencies: - '@opentelemetry/api': 1.0.1 - '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/resources': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/resources': 0.22.0_@opentelemetry+api@1.0.3 '@opentelemetry/semantic-conventions': 0.22.0 lodash.merge: 4.6.2 dev: false - engines: - node: '>=8.0.0' - peerDependencies: - '@opentelemetry/api': ^1.0.0 - resolution: - integrity: sha512-EFrKTFndiEdh/KnzwDgo/EcphG/5z/NyLck8oiUUY+YMP7hskXNYHjTWSAv9UxtYe1MzgLbjmAateTuMmFIVNw== + /@rollup/plugin-commonjs/11.0.2_rollup@1.32.1: + resolution: {integrity: sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0 dependencies: '@rollup/pluginutils': 3.1.0_rollup@1.32.1 estree-walker: 1.0.1 @@ -1363,42 +1532,41 @@ packages: resolve: 1.20.0 rollup: 1.32.1 dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0 - resolution: - integrity: sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g== + /@rollup/plugin-inject/4.0.2_rollup@1.32.1: + resolution: {integrity: sha512-TSLMA8waJ7Dmgmoc8JfPnwUwVZgLjjIAM6MqeIFqPO2ODK36JqE0Cf2F54UTgCUuW8da93Mvoj75a6KAVWgylw==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 dependencies: '@rollup/pluginutils': 3.1.0_rollup@1.32.1 estree-walker: 1.0.1 magic-string: 0.25.7 rollup: 1.32.1 dev: false + + /@rollup/plugin-json/4.1.0_rollup@1.32.1: + resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 - resolution: - integrity: sha512-TSLMA8waJ7Dmgmoc8JfPnwUwVZgLjjIAM6MqeIFqPO2ODK36JqE0Cf2F54UTgCUuW8da93Mvoj75a6KAVWgylw== - /@rollup/plugin-json/4.1.0_rollup@1.32.1: dependencies: '@rollup/pluginutils': 3.1.0_rollup@1.32.1 rollup: 1.32.1 dev: false + + /@rollup/plugin-multi-entry/3.0.1_rollup@1.32.1: + resolution: {integrity: sha512-Gcp9E8y68Kx+Jo8zy/ZpiiAkb0W01cSqnxOz6h9bPR7MU3gaoTEdRf7xXYplwli1SBFEswXX588ESj+50Brfxw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 - resolution: - integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== - /@rollup/plugin-multi-entry/3.0.1_rollup@1.32.1: dependencies: matched: 1.0.2 rollup: 1.32.1 dev: false - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - resolution: - integrity: sha512-Gcp9E8y68Kx+Jo8zy/ZpiiAkb0W01cSqnxOz6h9bPR7MU3gaoTEdRf7xXYplwli1SBFEswXX588ESj+50Brfxw== + /@rollup/plugin-node-resolve/8.4.0_rollup@1.32.1: + resolution: {integrity: sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 dependencies: '@rollup/pluginutils': 3.1.0_rollup@1.32.1 '@types/resolve': 1.17.1 @@ -1409,36 +1577,31 @@ packages: resolve: 1.20.0 rollup: 1.32.1 dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0||^2.0.0 - resolution: - integrity: sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ== + /@rollup/plugin-replace/2.4.2_rollup@1.32.1: + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 dependencies: '@rollup/pluginutils': 3.1.0_rollup@1.32.1 magic-string: 0.25.7 rollup: 1.32.1 dev: false - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - resolution: - integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + /@rollup/pluginutils/3.1.0_rollup@1.32.1: + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.0 rollup: 1.32.1 dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0||^2.0.0 - resolution: - integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + /@rushstack/node-core-library/3.19.6: + resolution: {integrity: sha512-1+FoymIdr9W9k0D8fdZBBPwi5YcMwh/RyESuL5bY29rLICFxSLOPK+ImVZ1OcWj9GEMsvDx5pNpJ311mHQk+MA==} dependencies: '@types/node': 10.17.13 colors: 1.2.5 @@ -1448,9 +1611,23 @@ packages: timsort: 0.3.0 z-schema: 3.18.4 dev: false - resolution: - integrity: sha512-1+FoymIdr9W9k0D8fdZBBPwi5YcMwh/RyESuL5bY29rLICFxSLOPK+ImVZ1OcWj9GEMsvDx5pNpJ311mHQk+MA== + /@rushstack/node-core-library/3.36.0: + resolution: {integrity: sha512-bID2vzXpg8zweXdXgQkKToEdZwVrVCN9vE9viTRk58gqzYaTlz4fMId6V3ZfpXN6H0d319uGi2KDlm+lUEeqCg==} + dependencies: + '@types/node': 10.17.13 + colors: 1.2.5 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.17.0 + semver: 7.3.5 + timsort: 0.3.0 + z-schema: 3.18.4 + dev: false + + /@rushstack/node-core-library/3.40.2: + resolution: {integrity: sha512-wzcRucwnhOENTfx6hZ2M+CA1Zmp8Dr572mFFtjxmcQzBWTbNFRB1Mi1wLb7DLza+69OUBoSZcHUqydlwL+gvSA==} dependencies: '@types/node': 10.17.13 colors: 1.2.5 @@ -1462,429 +1639,473 @@ packages: timsort: 0.3.0 z-schema: 3.18.4 dev: false - resolution: - integrity: sha512-bID2vzXpg8zweXdXgQkKToEdZwVrVCN9vE9viTRk58gqzYaTlz4fMId6V3ZfpXN6H0d319uGi2KDlm+lUEeqCg== + /@rushstack/rig-package/0.2.10: + resolution: {integrity: sha512-WXYerEJEPf8bS3ruqfM57NnwXtA7ehn8VJjLjrjls6eSduE5CRydcob/oBTzlHKsQ7N196XKlqQl9P6qIyYG2A==} + dependencies: + resolve: 1.17.0 + strip-json-comments: 3.1.1 + dev: false + + /@rushstack/rig-package/0.3.0: + resolution: {integrity: sha512-Lj6noF7Q4BBm1hKiBDw94e6uZvq1xlBwM/d2cBFaPqXeGdV+G6r3qaCWfRiSXK0pcHpGGpV5Tb2MdfhVcO6G/g==} dependencies: resolve: 1.17.0 strip-json-comments: 3.1.1 dev: false - resolution: - integrity: sha512-WXYerEJEPf8bS3ruqfM57NnwXtA7ehn8VJjLjrjls6eSduE5CRydcob/oBTzlHKsQ7N196XKlqQl9P6qIyYG2A== + /@rushstack/ts-command-line/4.3.13: + resolution: {integrity: sha512-BUBbjYu67NJGQkpHu8aYm7kDoMFizL1qx78+72XE3mX/vDdXYJzw/FWS7TPcMJmY4kNlYs979v2B0Q0qa2wRiw==} dependencies: '@types/argparse': 1.0.33 argparse: 1.0.10 colors: 1.2.5 dev: false - resolution: - integrity: sha512-BUBbjYu67NJGQkpHu8aYm7kDoMFizL1qx78+72XE3mX/vDdXYJzw/FWS7TPcMJmY4kNlYs979v2B0Q0qa2wRiw== + /@rushstack/ts-command-line/4.7.8: + resolution: {integrity: sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA==} + dependencies: + '@types/argparse': 1.0.38 + argparse: 1.0.10 + colors: 1.2.5 + string-argv: 0.3.1 + dev: false + + /@rushstack/ts-command-line/4.9.0: + resolution: {integrity: sha512-kmT8t+JfnvphISF1C5WwY56RefjwgajhSjs9J4ckvAFXZDXR6F5cvF5/RTh7fGCzIomg8esy2PHO/b52zFoZvA==} dependencies: '@types/argparse': 1.0.38 argparse: 1.0.10 colors: 1.2.5 string-argv: 0.3.1 dev: false - resolution: - integrity: sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA== + /@sinonjs/commons/1.8.3: + resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} dependencies: type-detect: 4.0.8 dev: false - resolution: - integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + /@sinonjs/fake-timers/6.0.1: + resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} dependencies: '@sinonjs/commons': 1.8.3 dev: false - resolution: - integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + /@sinonjs/samsam/5.3.1: + resolution: {integrity: sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==} dependencies: '@sinonjs/commons': 1.8.3 lodash.get: 4.4.2 type-detect: 4.0.8 dev: false - resolution: - integrity: sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg== + /@sinonjs/text-encoding/0.7.1: + resolution: {integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==} dev: false - resolution: - integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== + /@tootallnate/once/1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: false + + /@tsconfig/node10/1.0.8: + resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} + dev: false + + /@tsconfig/node12/1.0.9: + resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} + dev: false + + /@tsconfig/node14/1.0.1: + resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + + /@tsconfig/node16/1.0.2: + resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} + dev: false + /@types/argparse/1.0.33: + resolution: {integrity: sha512-VQgHxyPMTj3hIlq9SY1mctqx+Jj8kpQfoLvDlVSDNOyuYs8JYfkuY3OW/4+dO657yPmNhHpePRx0/Tje5ImNVQ==} dev: false - resolution: - integrity: sha512-VQgHxyPMTj3hIlq9SY1mctqx+Jj8kpQfoLvDlVSDNOyuYs8JYfkuY3OW/4+dO657yPmNhHpePRx0/Tje5ImNVQ== + /@types/argparse/1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} dev: false - resolution: - integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + /@types/async-lock/1.1.3: + resolution: {integrity: sha512-UpeDcjGKsYEQMeqEbfESm8OWJI305I7b9KE4ji3aBjoKWyN5CTdn8izcA1FM1DVDne30R5fNEnIy89vZw5LXJQ==} dev: false - resolution: - integrity: sha512-UpeDcjGKsYEQMeqEbfESm8OWJI305I7b9KE4ji3aBjoKWyN5CTdn8izcA1FM1DVDne30R5fNEnIy89vZw5LXJQ== + /@types/body-parser/1.19.1: + resolution: {integrity: sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==} dependencies: '@types/connect': 3.4.35 - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg== + /@types/chai-as-promised/7.1.4: + resolution: {integrity: sha512-1y3L1cHePcIm5vXkh1DSGf/zQq5n5xDKG1fpCvf18+uOkpce0Z1ozNFPkyWsVswK7ntN1sZBw3oU6gmN+pDUcA==} dependencies: '@types/chai': 4.2.21 dev: false - resolution: - integrity: sha512-1y3L1cHePcIm5vXkh1DSGf/zQq5n5xDKG1fpCvf18+uOkpce0Z1ozNFPkyWsVswK7ntN1sZBw3oU6gmN+pDUcA== + /@types/chai-string/1.4.2: + resolution: {integrity: sha512-ld/1hV5qcPRGuwlPdvRfvM3Ka/iofOk2pH4VkasK4b1JJP1LjNmWWn0LsISf6RRzyhVOvs93rb9tM09e+UuF8Q==} dependencies: '@types/chai': 4.2.21 dev: false - resolution: - integrity: sha512-ld/1hV5qcPRGuwlPdvRfvM3Ka/iofOk2pH4VkasK4b1JJP1LjNmWWn0LsISf6RRzyhVOvs93rb9tM09e+UuF8Q== + /@types/chai/4.2.21: + resolution: {integrity: sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg==} dev: false - resolution: - integrity: sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg== + /@types/component-emitter/1.2.10: + resolution: {integrity: sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==} dev: false - resolution: - integrity: sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg== + /@types/connect/3.4.35: + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + /@types/cookie/0.4.1: + resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: false - resolution: - integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== + /@types/cors/2.8.12: + resolution: {integrity: sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==} dev: false - resolution: - integrity: sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== - /@types/debug/4.1.6: + + /@types/debug/4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + dependencies: + '@types/ms': 0.7.31 dev: false - resolution: - integrity: sha512-7fDOJFA/x8B+sO1901BmHlf5dE1cxBU8mRXj8QOEDnn16hhGJv/IHxJtZhvsabZsIMn0eLIyeOKAeqSNJJYTpA== + /@types/eslint/7.2.14: + resolution: {integrity: sha512-pESyhSbUOskqrGcaN+bCXIQDyT5zTaRWfj5ZjjSlMatgGjIn3QQPfocAu4WSabUR7CGyLZ2CQaZyISOEX7/saw==} dependencies: '@types/estree': 0.0.50 - '@types/json-schema': 7.0.8 + '@types/json-schema': 7.0.9 dev: false - resolution: - integrity: sha512-pESyhSbUOskqrGcaN+bCXIQDyT5zTaRWfj5ZjjSlMatgGjIn3QQPfocAu4WSabUR7CGyLZ2CQaZyISOEX7/saw== + /@types/estree/0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: false - resolution: - integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + /@types/estree/0.0.50: + resolution: {integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==} dev: false - resolution: - integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + /@types/express-serve-static-core/4.17.24: + resolution: {integrity: sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: false - resolution: - integrity: sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA== + /@types/express/4.17.13: + resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} dependencies: '@types/body-parser': 1.19.1 '@types/express-serve-static-core': 4.17.24 '@types/qs': 6.9.7 '@types/serve-static': 1.13.10 dev: false - resolution: - integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== - /@types/fast-json-stable-stringify/2.1.0: - dependencies: - fast-json-stable-stringify: 2.1.0 - deprecated: This is a stub types definition. fast-json-stable-stringify provides its own type definitions, so you do not need this installed. - dev: false - resolution: - integrity: sha512-IyNhGHu71jH1jCXTHmafuoAAdsbBON3kDh7u/UUhLmjYgN5TYB54e1R8ckTCiIevl2UuZaCsi9XRxineY5yUjw== + /@types/fs-extra/8.1.2: + resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg== + /@types/glob/7.1.4: + resolution: {integrity: sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==} dependencies: '@types/minimatch': 3.0.5 - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== + /@types/is-buffer/2.0.0: + resolution: {integrity: sha512-0f7N/e3BAz32qDYvgB4d2cqv1DqUwvGxHkXsrucICn8la1Vb6Yl6Eg8mPScGwUiqHJeE7diXlzaK+QMA9m4Gxw==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 + dev: false + + /@types/json-schema/7.0.9: + resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} dev: false - resolution: - integrity: sha512-0f7N/e3BAz32qDYvgB4d2cqv1DqUwvGxHkXsrucICn8la1Vb6Yl6Eg8mPScGwUiqHJeE7diXlzaK+QMA9m4Gxw== - /@types/json-schema/7.0.8: + + /@types/json5/0.0.29: + resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} dev: false - resolution: - integrity: sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== - /@types/jsonwebtoken/8.5.4: + + /@types/jsonwebtoken/8.5.5: + resolution: {integrity: sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-4L8msWK31oXwdtC81RmRBAULd0ShnAHjBuKT9MRQpjP0piNrZdXyTRcKY9/UIfhGeKIT4PvF5amOOUbbT/9Wpg== + /@types/jws/3.2.4: + resolution: {integrity: sha512-aqtH4dPw1wUjFZaeMD1ak/pf8iXlu/odFe+trJrvw0g1sTh93i+SCykg0Ek8C6B7rVK3oBORbfZAsKO7P10etg==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-aqtH4dPw1wUjFZaeMD1ak/pf8iXlu/odFe+trJrvw0g1sTh93i+SCykg0Ek8C6B7rVK3oBORbfZAsKO7P10etg== + /@types/jwt-decode/2.2.1: + resolution: {integrity: sha512-aWw2YTtAdT7CskFyxEX2K21/zSDStuf/ikI3yBqmwpwJF0pS+/IX5DWv+1UFffZIbruP6cnT9/LAJV1gFwAT1A==} dev: false - resolution: - integrity: sha512-aWw2YTtAdT7CskFyxEX2K21/zSDStuf/ikI3yBqmwpwJF0pS+/IX5DWv+1UFffZIbruP6cnT9/LAJV1gFwAT1A== + /@types/long/4.0.1: + resolution: {integrity: sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==} dev: false - resolution: - integrity: sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== + /@types/md5/2.3.1: + resolution: {integrity: sha512-OK3oe+ALIoPSo262lnhAYwpqFNXbiwH2a+0+Z5YBnkQEwWD8fk5+PIeRhYA48PzvX9I4SGNpWy+9bLj8qz92RQ==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-OK3oe+ALIoPSo262lnhAYwpqFNXbiwH2a+0+Z5YBnkQEwWD8fk5+PIeRhYA48PzvX9I4SGNpWy+9bLj8qz92RQ== + /@types/mime/1.3.2: + resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} dev: false - resolution: - integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + /@types/minimatch/3.0.3: + resolution: {integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==} dev: false - resolution: - integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + /@types/minimatch/3.0.5: + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} dev: false - resolution: - integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + /@types/minimist/1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: false - resolution: - integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + /@types/mocha/7.0.2: + resolution: {integrity: sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==} dev: false - resolution: - integrity: sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w== + /@types/mock-fs/4.10.0: + resolution: {integrity: sha512-FQ5alSzmHMmliqcL36JqIA4Yyn9jyJKvRSGV3mvPh108VFatX7naJDzSG4fnFQNZFq9dIx0Dzoe6ddflMB2Xkg==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-FQ5alSzmHMmliqcL36JqIA4Yyn9jyJKvRSGV3mvPh108VFatX7naJDzSG4fnFQNZFq9dIx0Dzoe6ddflMB2Xkg== + /@types/mock-require/2.0.0: + resolution: {integrity: sha512-nOgjoE5bBiDeiA+z41i95makyHUSMWQMOPocP+J67Pqx/68HAXaeWN1NFtrAYYV6LrISIZZ8vKHm/a50k0f6Sg==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-nOgjoE5bBiDeiA+z41i95makyHUSMWQMOPocP+J67Pqx/68HAXaeWN1NFtrAYYV6LrISIZZ8vKHm/a50k0f6Sg== + + /@types/ms/0.7.31: + resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + dev: false + /@types/nise/1.4.0: + resolution: {integrity: sha512-DPxmjiDwubsNmguG5X4fEJ+XCyzWM3GXWsqQlvUcjJKa91IOoJUy51meDr0GkzK64qqNcq85ymLlyjoct9tInw==} dev: false - resolution: - integrity: sha512-DPxmjiDwubsNmguG5X4fEJ+XCyzWM3GXWsqQlvUcjJKa91IOoJUy51meDr0GkzK64qqNcq85ymLlyjoct9tInw== - /@types/node-fetch/2.5.11: + + /@types/node-fetch/2.5.12: + resolution: {integrity: sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 form-data: 3.0.1 dev: false - resolution: - integrity: sha512-2upCKaqVZETDRb8A2VTaRymqFBEgH8u6yr96b/u3+1uQEPDRo3mJLEiPk7vdXBHRtjwkjqzFYMJXrt0Z9QsYjQ== + /@types/node/10.17.13: + resolution: {integrity: sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==} dev: false - resolution: - integrity: sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg== - /@types/node/12.20.16: + + /@types/node/12.20.25: + resolution: {integrity: sha512-hcTWqk7DR/HrN9Xe7AlJwuCaL13Vcd9/g/T54YrJz4Q3ESM5mr33YCzW2bOfzSIc3aZMeGBvbLGvgN6mIJ0I5Q==} dev: false - resolution: - integrity: sha512-6CLxw83vQf6DKqXxMPwl8qpF8I7THFZuIwLt4TnNsumxkp1VsRZWT8txQxncT/Rl2UojTsFzWgDG4FRMwafrlA== + /@types/node/8.10.66: + resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} dev: false - resolution: - integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== + /@types/prettier/2.0.2: + resolution: {integrity: sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA==} dev: false - resolution: - integrity: sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA== + /@types/priorityqueuejs/1.0.1: + resolution: {integrity: sha1-bqrDJHpMXO/JRILl2Hw3MLNfUFM=} dev: false - resolution: - integrity: sha1-bqrDJHpMXO/JRILl2Hw3MLNfUFM= + /@types/qs/6.9.7: + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: false - resolution: - integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - /@types/query-string/6.2.0: - dev: false - resolution: - integrity: sha512-dnYqKg7eZ+t7ZhCuBtwLxjqON8yXr27hiu3zXfPqxfJSbWUZNwwISE0BJUxghlcKsk4lZSp7bdFSJBJVNWBfmA== + /@types/range-parser/1.2.4: + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: false - resolution: - integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + /@types/resolve/1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + /@types/semaphore/1.1.1: + resolution: {integrity: sha512-jmFpMslMtBGOXY2s7x6O8vBebcj6zhkwl0Pd/viZApo1uZaPk733P8doPvaiBbCG+R7201OLOl4QP7l1mFyuyw==} dev: false - resolution: - integrity: sha512-jmFpMslMtBGOXY2s7x6O8vBebcj6zhkwl0Pd/viZApo1uZaPk733P8doPvaiBbCG+R7201OLOl4QP7l1mFyuyw== + /@types/serve-static/1.13.10: + resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + /@types/sinon/9.0.11: + resolution: {integrity: sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==} dependencies: '@types/sinonjs__fake-timers': 6.0.3 dev: false - resolution: - integrity: sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg== + /@types/sinonjs__fake-timers/6.0.3: + resolution: {integrity: sha512-E1dU4fzC9wN2QK2Cr1MLCfyHM8BoNnRFvuf45LYMPNDA+WqbNzC45S4UzPxvp1fFJ1rvSGU0bPvdd35VLmXG8g==} dev: false - resolution: - integrity: sha512-E1dU4fzC9wN2QK2Cr1MLCfyHM8BoNnRFvuf45LYMPNDA+WqbNzC45S4UzPxvp1fFJ1rvSGU0bPvdd35VLmXG8g== + /@types/stoppable/1.1.1: + resolution: {integrity: sha512-b8N+fCADRIYYrGZOcmOR8ZNBOqhktWTB/bMUl5LvGtT201QKJZOOH5UsFyI3qtteM6ZAJbJqZoBcLqqxKIwjhw==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-b8N+fCADRIYYrGZOcmOR8ZNBOqhktWTB/bMUl5LvGtT201QKJZOOH5UsFyI3qtteM6ZAJbJqZoBcLqqxKIwjhw== + /@types/tough-cookie/4.0.1: + resolution: {integrity: sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==} dev: false - resolution: - integrity: sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg== + /@types/tunnel/0.0.1: + resolution: {integrity: sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A== + + /@types/tunnel/0.0.3: + resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} + dependencies: + '@types/node': 12.20.25 + dev: false + /@types/underscore/1.11.3: + resolution: {integrity: sha512-Fl1TX1dapfXyDqFg2ic9M+vlXRktcPJrc4PR7sRc7sdVrjavg/JHlbUXBt8qWWqhJrmSqg3RNAkAPRiOYw6Ahw==} dev: false - resolution: - integrity: sha512-Fl1TX1dapfXyDqFg2ic9M+vlXRktcPJrc4PR7sRc7sdVrjavg/JHlbUXBt8qWWqhJrmSqg3RNAkAPRiOYw6Ahw== + /@types/uuid/8.3.1: + resolution: {integrity: sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==} dev: false - resolution: - integrity: sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== + /@types/ws/7.4.7: + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + /@types/xml2js/0.4.9: + resolution: {integrity: sha512-CHiCKIihl1pychwR2RNX5mAYmJDACgFVCMT5OArMaO3erzwXVcBqPcusr+Vl8yeeXukxZqtF8mZioqX+mpjjdw==} dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false - resolution: - integrity: sha512-CHiCKIihl1pychwR2RNX5mAYmJDACgFVCMT5OArMaO3erzwXVcBqPcusr+Vl8yeeXukxZqtF8mZioqX+mpjjdw== + /@types/yauzl/2.9.2: + resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==} + requiresBuild: true dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dev: false optional: true - resolution: - integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== - /@typescript-eslint/eslint-plugin/4.19.0_d7723982da0ce5a2c0734c14de26c19d: + + /@typescript-eslint/eslint-plugin/4.19.0_359354e87b989469ccdce12bde18eddc: + resolution: {integrity: sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + '@typescript-eslint/parser': ^4.0.0 + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.31.0+typescript@4.2.4 - '@typescript-eslint/parser': 4.19.0_eslint@7.31.0+typescript@4.2.4 + '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.32.0+typescript@4.2.4 + '@typescript-eslint/parser': 4.19.0_eslint@7.32.0+typescript@4.2.4 '@typescript-eslint/scope-manager': 4.19.0 debug: 4.3.2 - eslint: 7.31.0 + eslint: 7.32.0 functional-red-black-tree: 1.0.1 lodash: 4.17.21 regexpp: 3.2.0 semver: 7.3.5 tsutils: 3.21.0_typescript@4.2.4 typescript: 4.2.4 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: ^10.12.0 || >=12.0.0 + + /@typescript-eslint/experimental-utils/4.19.0_eslint@7.32.0+typescript@4.2.4: + resolution: {integrity: sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA==} + engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: - '@typescript-eslint/parser': ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - resolution: - integrity: sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw== - /@typescript-eslint/experimental-utils/4.19.0_eslint@7.31.0+typescript@4.2.4: + eslint: '*' dependencies: - '@types/json-schema': 7.0.8 + '@types/json-schema': 7.0.9 '@typescript-eslint/scope-manager': 4.19.0 '@typescript-eslint/types': 4.19.0 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 - eslint: 7.31.0 + eslint: 7.32.0 eslint-scope: 5.1.1 eslint-utils: 2.1.0 - dev: false - engines: - node: ^10.12.0 || >=12.0.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@typescript-eslint/parser/4.19.0_eslint@7.32.0+typescript@4.2.4: + resolution: {integrity: sha512-/uabZjo2ZZhm66rdAu21HA8nQebl3lAIDcybUoOxoI7VbZBYavLIwtOOmykKCJy+Xq6Vw6ugkiwn8Js7D6wieA==} + engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: - eslint: '*' + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 typescript: '*' - resolution: - integrity: sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA== - /@typescript-eslint/parser/4.19.0_eslint@7.31.0+typescript@4.2.4: + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/scope-manager': 4.19.0 '@typescript-eslint/types': 4.19.0 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 debug: 4.3.2 - eslint: 7.31.0 + eslint: 7.32.0 typescript: 4.2.4 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: ^10.12.0 || >=12.0.0 - peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - resolution: - integrity: sha512-/uabZjo2ZZhm66rdAu21HA8nQebl3lAIDcybUoOxoI7VbZBYavLIwtOOmykKCJy+Xq6Vw6ugkiwn8Js7D6wieA== + /@typescript-eslint/scope-manager/4.19.0: + resolution: {integrity: sha512-GGy4Ba/hLXwJXygkXqMzduqOMc+Na6LrJTZXJWVhRrSuZeXmu8TAnniQVKgj8uTRKe4igO2ysYzH+Np879G75g==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dependencies: '@typescript-eslint/types': 4.19.0 '@typescript-eslint/visitor-keys': 4.19.0 dev: false - engines: - node: ^8.10.0 || ^10.13.0 || >=11.10.1 - resolution: - integrity: sha512-GGy4Ba/hLXwJXygkXqMzduqOMc+Na6LrJTZXJWVhRrSuZeXmu8TAnniQVKgj8uTRKe4igO2ysYzH+Np879G75g== + /@typescript-eslint/types/4.19.0: + resolution: {integrity: sha512-A4iAlexVvd4IBsSTNxdvdepW0D4uR/fwxDrKUa+iEY9UWvGREu2ZyB8ylTENM1SH8F7bVC9ac9+si3LWNxcBuA==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dev: false - engines: - node: ^8.10.0 || ^10.13.0 || >=11.10.1 - resolution: - integrity: sha512-A4iAlexVvd4IBsSTNxdvdepW0D4uR/fwxDrKUa+iEY9UWvGREu2ZyB8ylTENM1SH8F7bVC9ac9+si3LWNxcBuA== + /@typescript-eslint/typescript-estree/4.19.0_typescript@4.2.4: + resolution: {integrity: sha512-3xqArJ/A62smaQYRv2ZFyTA+XxGGWmlDYrsfZG68zJeNbeqRScnhf81rUVa6QG4UgzHnXw5VnMT5cg75dQGDkA==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/types': 4.19.0 '@typescript-eslint/visitor-keys': 4.19.0 @@ -1894,61 +2115,64 @@ packages: semver: 7.3.5 tsutils: 3.21.0_typescript@4.2.4 typescript: 4.2.4 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: ^10.12.0 || >=12.0.0 - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - resolution: - integrity: sha512-3xqArJ/A62smaQYRv2ZFyTA+XxGGWmlDYrsfZG68zJeNbeqRScnhf81rUVa6QG4UgzHnXw5VnMT5cg75dQGDkA== + /@typescript-eslint/visitor-keys/4.19.0: + resolution: {integrity: sha512-aGPS6kz//j7XLSlgpzU2SeTqHPsmRYxFztj2vPuMMFJXZudpRSehE3WCV+BaxwZFvfAqMoSd86TEuM0PQ59E/A==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dependencies: '@typescript-eslint/types': 4.19.0 eslint-visitor-keys: 2.1.0 dev: false - engines: - node: ^8.10.0 || ^10.13.0 || >=11.10.1 - resolution: - integrity: sha512-aGPS6kz//j7XLSlgpzU2SeTqHPsmRYxFztj2vPuMMFJXZudpRSehE3WCV+BaxwZFvfAqMoSd86TEuM0PQ59E/A== + /abort-controller/3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 dev: false - engines: - node: '>=6.5' - resolution: - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + /accepts/1.3.7: + resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} + engines: {node: '>= 0.6'} dependencies: - mime-types: 2.1.31 + mime-types: 2.1.32 negotiator: 0.6.2 dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + /acorn-jsx/5.3.2_acorn@7.4.1: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 7.4.1 dev: false - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - resolution: - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + + /acorn-walk/8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: false + /acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true dev: false - engines: - node: '>=0.4.0' + + /acorn/8.5.0: + resolution: {integrity: sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==} + engines: {node: '>=0.4.0'} hasBin: true - resolution: - integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + dev: false + /adal-node/0.1.28: + resolution: {integrity: sha1-RoxLs+u9lrEnBmn0ucuk4AZepIU=} + engines: {node: '>= 0.6.15'} dependencies: '@types/node': 8.10.66 - async: 3.2.0 + async: 3.2.1 date-utils: 1.2.21 jws: 3.2.2 request: 2.88.2 @@ -1957,368 +2181,323 @@ packages: xmldom: 0.6.0 xpath.js: 1.1.0 dev: false - engines: - node: '>= 0.6.15' - resolution: - integrity: sha1-RoxLs+u9lrEnBmn0ucuk4AZepIU= - /adal-node/0.2.2: - dependencies: - '@types/node': 8.10.66 - async: 2.6.3 - axios: 0.21.1 - date-utils: 1.2.21 - jws: 3.2.2 - underscore: 1.13.1 - uuid: 3.4.0 - xmldom: 0.6.0 - xpath.js: 1.1.0 - dev: false - engines: - node: '>= 0.6.15' - resolution: - integrity: sha512-luzQ9cXOjUlZoCiWeYbyR+nHwScSrPTDTbOInFphQs/PnwNz6wAIVkbsHEXtvYBnjLctByTTI8ccfpGX100oRQ== - /agent-base/5.1.1: - dev: false - engines: - node: '>= 6.0.0' - resolution: - integrity: sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== + /agent-base/6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>= 6.0.0' - resolution: - integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 dev: false - resolution: - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - /ajv/8.6.2: + + /ajv/8.6.3: + resolution: {integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 dev: false - resolution: - integrity: sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== + /ansi-colors/3.2.3: + resolution: {integrity: sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + /ansi-colors/4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + /ansi-regex/2.1.1: + resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + /ansi-regex/3.0.0: + resolution: {integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + /ansi-regex/4.1.0: + resolution: {integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - /ansi-regex/5.0.0: + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + /ansi-styles/2.2.1: + resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.0 dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + /append-transform/1.0.0: + resolution: {integrity: sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==} + engines: {node: '>=4'} dependencies: default-require-extensions: 2.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== + /aproba/1.2.0: + resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} dev: false - resolution: - integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + /archy/1.0.0: + resolution: {integrity: sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=} dev: false - resolution: - integrity: sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - /are-we-there-yet/1.1.5: + + /are-we-there-yet/1.1.7: + resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} dependencies: delegates: 1.0.0 readable-stream: 2.3.7 dev: false - resolution: - integrity: sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + /arg/4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false - resolution: - integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 dev: false - resolution: - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + /arr-union/3.1.0: + resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + /array-flatten/1.1.1: + resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} dev: false - resolution: - integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + /array-includes/3.1.3: + resolution: {integrity: sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 - es-abstract: 1.18.3 + es-abstract: 1.18.6 get-intrinsic: 1.1.1 - is-string: 1.0.6 + is-string: 1.0.7 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + /array.prototype.flat/1.2.4: + resolution: {integrity: sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 - es-abstract: 1.18.3 + es-abstract: 1.18.6 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + /asap/2.0.6: + resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=} dev: false - resolution: - integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + /asn1/0.2.4: + resolution: {integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==} dependencies: safer-buffer: 2.1.2 dev: false - resolution: - integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + /assert-plus/1.0.0: + resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=} + engines: {node: '>=0.8'} dev: false - engines: - node: '>=0.8' - resolution: - integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + /assert/1.5.0: + resolution: {integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==} dependencies: object-assign: 4.1.1 util: 0.10.3 dev: false - resolution: - integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + /assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: false - resolution: - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - /ast-types/0.13.4: - dependencies: - tslib: 2.3.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + /astral-regex/2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + /async-array-reduce/0.2.1: + resolution: {integrity: sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE= + /async-limiter/1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} dev: false - resolution: - integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + /async-lock/1.3.0: + resolution: {integrity: sha512-8A7SkiisnEgME2zEedtDYPxUPzdv3x//E7n5IFktPAtMYSEAV7eNJF0rMwrVyUFj6d/8rgajLantbjcNRQYXIg==} dev: false - resolution: - integrity: sha512-8A7SkiisnEgME2zEedtDYPxUPzdv3x//E7n5IFktPAtMYSEAV7eNJF0rMwrVyUFj6d/8rgajLantbjcNRQYXIg== + /async/2.6.3: + resolution: {integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==} dependencies: lodash: 4.17.21 dev: false - resolution: - integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - /async/3.2.0: + + /async/3.2.1: + resolution: {integrity: sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==} dev: false - resolution: - integrity: sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== + /asynckit/0.4.0: + resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} dev: false - resolution: - integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k= + /atob/2.1.2: - dev: false - engines: - node: '>= 4.5.0' + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} hasBin: true - resolution: - integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - /available-typed-arrays/1.0.4: - dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA== - /avsc/5.7.1: - dev: false - engines: - node: '>=0.11' - resolution: - integrity: sha512-DGl7UMd1jmmRmVgEcZyf6H3VL74gkLleZguO42vpk2rTNmnFPJlTSYoO5bgcCY2oOHjNnGkSpb2/lrAZwTZ4Rg== + dev: false + + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: false + + /avsc/5.7.3: + resolution: {integrity: sha512-uUbetCWczQHbsKyX1C99XpQHBM8SWfovvaZhPIj23/1uV7SQf0WeRZbiLpw0JZm+LHTChfNgrLfDJOVoU2kU+A==} + engines: {node: '>=0.11'} + dev: false + /aws-sign2/0.7.0: + resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=} dev: false - resolution: - integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + /aws4/1.11.0: + resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: false - resolution: - integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - /axios/0.21.1: + + /axios/0.21.4: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.14.1 + follow-redirects: 1.14.4 + transitivePeerDependencies: + - debug dev: false - resolution: - integrity: sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== - /axios/0.21.1_debug@3.2.7: + + /axios/0.21.4_debug@3.2.7: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.14.1_debug@3.2.7 + follow-redirects: 1.14.4_debug@3.2.7 + transitivePeerDependencies: + - debug dev: false - peerDependencies: - debug: '*' - resolution: - integrity: sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== - /axios/0.21.1_debug@4.3.2: + + /axios/0.21.4_debug@4.3.2: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.14.1_debug@4.3.2 + follow-redirects: 1.14.4_debug@4.3.2 + transitivePeerDependencies: + - debug dev: false - peerDependencies: - debug: '*' - resolution: - integrity: sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== - /azure-iot-amqp-base/2.4.9: + + /azure-iot-amqp-base/2.4.11: + resolution: {integrity: sha512-a1D9CgB0RFjSdeIyPuYjaxBJGHqO7A3WqSlDEHQiVluB50VgtYy92mBKAJUE4iIQtvciW2zKcI9iEhLJPmcb5A==} + engines: {node: '>= 12.0.0'} dependencies: async: 2.6.3 - azure-iot-common: 1.12.9 + azure-iot-common: 1.12.11 debug: 4.3.2 lodash.merge: 4.6.2 machina: 4.0.2 rhea: 1.0.24 - uuid: 3.4.0 + uuid: 8.3.2 ws: 6.2.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>= 10.0.0' - resolution: - integrity: sha512-IKi8g+Hun+BPvvZzgFlV5aeBWo2tBLaQ1yVAw4vN8VQteU6cRjVMF9+JGZrzV1W3wdWAX6QvfT4TRJkARFXBHg== - /azure-iot-common/1.12.9: + + /azure-iot-common/1.12.11: + resolution: {integrity: sha512-XLbwLqlJBpW8IB2ny4TC8135PwI+HzeZHXbHZi3XwPX/06XPhOv2pttQKjFepw8WNz4KC6Up2Giaf/cEX43L6g==} + engines: {node: '>= 12.0.0'} dependencies: debug: 4.3.2 getos: 3.2.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>= 10.0.0' - resolution: - integrity: sha512-3+bi4wzBfOznTWUcv9Iayw4elsCYR+cmJwTvQ7DYIE6vZeZIbl4qdLXFwNlJwh0VfXPwg2uG6aBnZo7C/Mup8Q== - /azure-iot-http-base/1.11.9: + + /azure-iot-http-base/1.11.11: + resolution: {integrity: sha512-JIR8meY5446SDBWKm6wG2IO/3degwQyFZssziFgEpU62cHOE78+b//HuGrTHOjKepq1Ggpepe90Ewr3WUlBPaA==} + engines: {node: '>= 12.0.0'} dependencies: - azure-iot-common: 1.12.9 + azure-iot-common: 1.12.11 debug: 4.3.2 - uuid: 3.4.0 + uuid: 8.3.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>= 10.0.0' - resolution: - integrity: sha512-Qldp+BGOleGCQ/MlSgUunJMmycKw0OR/hEN9NfLCM9VjedxN6RLjIZxECo/bmnBAUg3qfEPu2u9ZwbOBNhu32A== - /azure-iothub/1.14.2: + + /azure-iothub/1.14.4: + resolution: {integrity: sha512-WccA9gMiMf5HxukhKTiwylp2UDL3KdNKRV66S/7BGS0YFtVcYDyZcwHYgikuldyQxX1Bwrxn4+sdkMTazGDfbg==} + engines: {node: '>= 12.0.0'} dependencies: '@azure/core-http': 1.2.3 '@azure/identity': 1.2.5_debug@4.3.2 - '@azure/ms-rest-js': 2.5.3 + '@azure/ms-rest-js': 2.6.0 async: 2.6.3 - azure-iot-amqp-base: 2.4.9 - azure-iot-common: 1.12.9 - azure-iot-http-base: 1.11.9 + azure-iot-amqp-base: 2.4.11 + azure-iot-common: 1.12.11 + azure-iot-http-base: 1.11.11 debug: 4.3.2 lodash: 4.17.21 machina: 4.0.2 rhea: 1.0.24 tslib: 1.14.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>= 10.0.0' - resolution: - integrity: sha512-wDsE3FU39hPT6xiI/W9xijH0J3Bydw0C7CcDU+SK9nbAwT3yBjk9CZfGuGTm5Z/GZm01OQYVtE0QYNHHYXNe/g== + /azure-storage/2.10.4: + resolution: {integrity: sha512-zlfRPl4js92JC6+79C2EUmNGYjSknRl8pOiHQF78zy+pbOFOHtlBF6BU/OxPeHQX3gaa6NdEZnVydFxhhndkEw==} + engines: {node: '>= 0.8.26'} dependencies: browserify-mime: 1.2.9 extend: 3.0.2 @@ -2332,70 +2511,66 @@ packages: xml2js: 0.2.8 xmlbuilder: 9.0.7 dev: false - engines: - node: '>= 0.8.26' - resolution: - integrity: sha512-zlfRPl4js92JC6+79C2EUmNGYjSknRl8pOiHQF78zy+pbOFOHtlBF6BU/OxPeHQX3gaa6NdEZnVydFxhhndkEw== + /babel-runtime/6.26.0: + resolution: {integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4=} dependencies: core-js: 2.6.12 regenerator-runtime: 0.11.1 dev: false - resolution: - integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + /backbone/1.4.0: + resolution: {integrity: sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==} dependencies: underscore: 1.13.1 dev: false - resolution: - integrity: sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ== + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false - resolution: - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + /base64-arraybuffer/0.1.4: + resolution: {integrity: sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=} + engines: {node: '>= 0.6.0'} dev: false - engines: - node: '>= 0.6.0' - resolution: - integrity: sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false - resolution: - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + /base64id/2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} dev: false - engines: - node: ^4.5.0 || >= 5.9 - resolution: - integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== + /bcrypt-pbkdf/1.0.2: + resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} dependencies: tweetnacl: 0.14.5 dev: false - resolution: - integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + /bindings/1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 dev: false - resolution: - integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + /bl/4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.0 dev: false - resolution: - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + /body-parser/1.19.0: + resolution: {integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==} + engines: {node: '>= 0.8'} dependencies: bytes: 3.1.0 content-type: 1.0.4 @@ -2408,154 +2583,146 @@ packages: raw-body: 2.4.0 type-is: 1.6.18 dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: false - resolution: - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + /browser-stdout/1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: false - resolution: - integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + /browserify-mime/1.2.9: + resolution: {integrity: sha1-rrGvKN5sDXpqLOQK22j/GEIq8x8=} dev: false - resolution: - integrity: sha1-rrGvKN5sDXpqLOQK22j/GEIq8x8= - /browserslist/4.16.6: + + /browserslist/4.17.0: + resolution: {integrity: sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true dependencies: - caniuse-lite: 1.0.30001246 - colorette: 1.2.2 - electron-to-chromium: 1.3.782 + caniuse-lite: 1.0.30001258 + colorette: 1.4.0 + electron-to-chromium: 1.3.843 escalade: 3.1.1 - node-releases: 1.1.73 + node-releases: 1.1.75 dev: false - engines: - node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 - hasBin: true - resolution: - integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + /buffer-crc32/0.2.13: + resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} dev: false - resolution: - integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + /buffer-equal-constant-time/1.0.1: + resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} dev: false - resolution: - integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= - /buffer-from/1.1.1: + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: false - resolution: - integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + /buffer/5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false - resolution: - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - /builtin-modules/2.0.0: + + /buffer/6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg== - /builtin-modules/3.1.0: + + /builtin-modules/2.0.0: + resolution: {integrity: sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==} + engines: {node: '>=4'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== + /builtin-modules/3.2.0: + resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + /bytes/3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + /caching-transform/3.0.2: + resolution: {integrity: sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==} + engines: {node: '>=6'} dependencies: hasha: 3.0.0 make-dir: 2.1.0 package-hash: 3.0.0 write-file-atomic: 2.4.3 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w== + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.1.1 dev: false - resolution: - integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - /caniuse-lite/1.0.30001246: + + /caniuse-lite/1.0.30001258: + resolution: {integrity: sha512-RBByOG6xWXUp0CR2/WU2amXz3stjKpSl5J1xU49F1n2OxD//uBZO4wCKUiG+QMGf7CHGfDDcqoKriomoGVxTeA==} dev: false - resolution: - integrity: sha512-Tc+ff0Co/nFNbLOrziBXmMVtpt9S2c2Y+Z9Nk9Khj09J+0zR9ejvIW5qkZAErCbOrVODCx/MN+GpB5FNBs5GFA== + /caseless/0.12.0: + resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} dev: false - resolution: - integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + /chai-as-promised/7.1.1_chai@4.3.4: + resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} + peerDependencies: + chai: '>= 2.1.2 < 5' dependencies: chai: 4.3.4 check-error: 1.0.2 dev: false - peerDependencies: - chai: '>= 2.1.2 < 5' - resolution: - integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA== + /chai-exclude/2.0.3_chai@4.3.4: + resolution: {integrity: sha512-6VuTQX25rsh4hKPdLzsOtL20k9+tszksLQrLtsu6szTmSVJP9+gUkqYUsyM+xqCeGZKeRJCsamCMRUQJhWsQ+g==} + peerDependencies: + chai: '>= 4.0.0 < 5' dependencies: chai: 4.3.4 fclone: 1.0.11 dev: false - peerDependencies: - chai: '>= 4.0.0 < 5' - resolution: - integrity: sha512-6VuTQX25rsh4hKPdLzsOtL20k9+tszksLQrLtsu6szTmSVJP9+gUkqYUsyM+xqCeGZKeRJCsamCMRUQJhWsQ+g== + /chai-string/1.5.0_chai@4.3.4: + resolution: {integrity: sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw==} + peerDependencies: + chai: ^4.1.2 dependencies: chai: 4.3.4 dev: false - peerDependencies: - chai: ^4.1.2 - resolution: - integrity: sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw== + /chai/4.3.4: + resolution: {integrity: sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.2 @@ -2564,11 +2731,10 @@ packages: pathval: 1.1.1 type-detect: 4.0.8 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== + /chalk/1.1.3: + resolution: {integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=} + engines: {node: '>=0.10.0'} dependencies: ansi-styles: 2.2.1 escape-string-regexp: 1.0.5 @@ -2576,44 +2742,40 @@ packages: strip-ansi: 3.0.1 supports-color: 2.0.0 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - /chalk/4.1.1: + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + /charenc/0.0.2: + resolution: {integrity: sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=} dev: false - resolution: - integrity: sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= + /check-error/1.0.2: + resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=} dev: false - resolution: - integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + /check-more-types/2.24.0: + resolution: {integrity: sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=} + engines: {node: '>= 0.8.0'} dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= + /chokidar/3.3.0: + resolution: {integrity: sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.2 braces: 3.0.2 @@ -2622,14 +2784,13 @@ packages: is-glob: 4.0.1 normalize-path: 3.0.0 readdirp: 3.2.0 - dev: false - engines: - node: '>= 8.10.0' optionalDependencies: fsevents: 2.1.3 - resolution: - integrity: sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== + dev: false + /chokidar/3.5.2: + resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.2 braces: 3.0.2 @@ -2638,228 +2799,215 @@ packages: is-glob: 4.0.1 normalize-path: 3.0.0 readdirp: 3.6.0 - dev: false - engines: - node: '>= 8.10.0' optionalDependencies: fsevents: 2.3.2 - resolution: - integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dev: false + /chownr/1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false - resolution: - integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + /ci-info/2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: false - resolution: - integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + /cliui/5.0.0: + resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} dependencies: string-width: 3.1.0 strip-ansi: 5.2.0 wrap-ansi: 5.1.0 dev: false - resolution: - integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + /cliui/7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.2 strip-ansi: 6.0.0 wrap-ansi: 7.0.0 dev: false - resolution: - integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + /cloudevents/4.0.3: + resolution: {integrity: sha512-FpwsQ0JZzGH1PcJmZTXRQkQSt5YFjwlppUrEUfTU0Ey175IIdYYDCIMeqMIX+qvDUhj8bFDrgU23xWA1JQbR1Q==} dependencies: ajv: 6.12.6 uuid: 8.3.2 dev: false - resolution: - integrity: sha512-FpwsQ0JZzGH1PcJmZTXRQkQSt5YFjwlppUrEUfTU0Ey175IIdYYDCIMeqMIX+qvDUhj8bFDrgU23xWA1JQbR1Q== + /code-point-at/1.1.0: + resolution: {integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 dev: false - resolution: - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: false - engines: - node: '>=7.0.0' - resolution: - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + /color-name/1.1.3: + resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} dev: false - resolution: - integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: false - resolution: - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - /colorette/1.2.2: + + /colorette/1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} dev: false - resolution: - integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + /colors/1.2.5: + resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} + engines: {node: '>=0.1.90'} dev: false - engines: - node: '>=0.1.90' - resolution: - integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== + /colors/1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} dev: false - engines: - node: '>=0.1.90' - resolution: - integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false - resolution: - integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + /common-tags/1.8.0: + resolution: {integrity: sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==} + engines: {node: '>=4.0.0'} dev: false - engines: - node: '>=4.0.0' - resolution: - integrity: sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + /commondir/1.0.1: + resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} dev: false - resolution: - integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + /component-emitter/1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: false - resolution: - integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + /concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: false - resolution: - integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /connect/3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} dependencies: debug: 2.6.9 finalhandler: 1.1.2 parseurl: 1.3.3 utils-merge: 1.0.1 dev: false - engines: - node: '>= 0.10.0' - resolution: - integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== + /console-control-strings/1.1.0: + resolution: {integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=} dev: false - resolution: - integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + /content-disposition/0.5.3: + resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==} + engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.1.2 dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + /content-type/1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + /convert-source-map/1.8.0: + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} dependencies: safe-buffer: 5.1.2 dev: false - resolution: - integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + /cookie-signature/1.0.6: + resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} dev: false - resolution: - integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + /cookie/0.4.0: + resolution: {integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + /cookie/0.4.1: + resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + /core-js/2.6.12: + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} deprecated: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js. - dev: false requiresBuild: true - resolution: - integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - /core-js/3.15.2: dev: false + + /core-js/3.18.0: + resolution: {integrity: sha512-WJeQqq6jOYgVgg4NrXKL0KLQhi0CT4ZOCvFL+3CQ5o7I6J8HkT5wd53EadMfqTDp1so/MT1J+w2ujhWcCJtN7w==} requiresBuild: true - resolution: - integrity: sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q== + dev: false + /core-util-is/1.0.2: + resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} dev: false - resolution: - integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: false + /cors/2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} dependencies: object-assign: 4.1.1 vary: 1.1.2 dev: false - engines: - node: '>= 0.10' - resolution: - integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + /cp-file/6.2.0: + resolution: {integrity: sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==} + engines: {node: '>=6'} dependencies: - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 make-dir: 2.1.0 nested-error-stacks: 2.1.0 pify: 4.0.1 safe-buffer: 5.2.1 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA== + /create-require/1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: false - resolution: - integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + /cross-env/7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true dependencies: cross-spawn: 7.0.3 dev: false - engines: - node: '>=10.14' - npm: '>=6' - yarn: '>=1' - hasBin: true - resolution: - integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + /cross-spawn/4.0.2: + resolution: {integrity: sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=} dependencies: lru-cache: 4.1.5 which: 1.3.1 dev: false - resolution: - integrity: sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= + /cross-spawn/6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} dependencies: nice-try: 1.0.5 path-key: 2.0.1 @@ -2867,401 +3015,369 @@ packages: shebang-command: 1.2.0 which: 1.3.1 dev: false - engines: - node: '>=4.8' - resolution: - integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + /crypt/0.0.2: + resolution: {integrity: sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=} dev: false - resolution: - integrity: sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= - /csv-parse/4.16.0: + + /csv-parse/4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} dev: false - resolution: - integrity: sha512-Zb4tGPANH4SW0LgC9+s9Mnequs9aqn7N3/pCqNbVjs2XhEF6yWNU2Vm4OGl1v2Go9nw8rXt87Cm2QN/o6Vpqgg== + /custom-event/1.0.1: + resolution: {integrity: sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=} dev: false - resolution: - integrity: sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= + /dashdash/1.14.1: + resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=} + engines: {node: '>=0.10'} dependencies: assert-plus: 1.0.0 dev: false - engines: - node: '>=0.10' - resolution: - integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - /data-uri-to-buffer/3.0.1: - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== + /date-format/2.1.0: + resolution: {integrity: sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==} + engines: {node: '>=4.0'} dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA== + /date-format/3.0.0: + resolution: {integrity: sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==} + engines: {node: '>=4.0'} dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w== + /date-utils/1.2.21: + resolution: {integrity: sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q=} + engines: {node: '>0.4.0'} dev: false - engines: - node: '>0.4.0' - resolution: - integrity: sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q= + /debounce/1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} dev: false - resolution: - integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + /debug/2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} dependencies: ms: 2.0.0 dev: false - resolution: - integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + /debug/3.2.6: - dependencies: - ms: 2.1.3 + resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==} deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + dependencies: + ms: 2.1.1 dev: false - resolution: - integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} dependencies: ms: 2.1.3 dev: false - resolution: - integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + /debug/4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) dependencies: ms: 2.1.3 - deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) dev: false - resolution: - integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + /debug/4.3.1: - dependencies: - ms: 2.1.2 - dev: false - engines: - node: '>=6.0' + resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - resolution: - integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - /debug/4.3.2: dependencies: ms: 2.1.2 dev: false - engines: - node: '>=6.0' + + /debug/4.3.2: + resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - resolution: - integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms: 2.1.2 + dev: false + /decamelize/1.2.0: + resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + /decode-uri-component/0.2.0: + resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} + engines: {node: '>=0.10'} dev: false - engines: - node: '>=0.10' - resolution: - integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + /decompress-response/4.2.1: + resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} + engines: {node: '>=8'} dependencies: mimic-response: 2.1.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== + /deep-eql/3.0.1: + resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} + engines: {node: '>=0.12'} dependencies: type-detect: 4.0.8 dev: false - engines: - node: '>=0.12' - resolution: - integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + /deep-extend/0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} dev: false - engines: - node: '>=4.0.0' - resolution: - integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + /deep-freeze/0.0.1: + resolution: {integrity: sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=} dev: false - resolution: - integrity: sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ= - /deep-is/0.1.3: + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: false - resolution: - integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + /default-require-extensions/2.0.0: + resolution: {integrity: sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=} + engines: {node: '>=4'} dependencies: strip-bom: 3.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= + + /define-lazy-prop/2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: false + /define-properties/1.1.3: + resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} + engines: {node: '>= 0.4'} dependencies: object-keys: 1.1.1 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - /degenerator/2.2.0: - dependencies: - ast-types: 0.13.4 - escodegen: 1.14.3 - esprima: 4.0.1 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg== + /delay/4.4.1: + resolution: {integrity: sha512-aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ== + /delayed-stream/1.0.0: + resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} + engines: {node: '>=0.4.0'} dev: false - engines: - node: '>=0.4.0' - resolution: - integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + /delegates/1.0.0: + resolution: {integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=} dev: false - resolution: - integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + /depd/1.1.2: + resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + /destroy/1.0.4: + resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} dev: false - resolution: - integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + /detect-libc/1.0.3: - dev: false - engines: - node: '>=0.10' + resolution: {integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=} + engines: {node: '>=0.10'} hasBin: true - resolution: - integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + dev: false + + /devtools-protocol/0.0.901419: + resolution: {integrity: sha512-4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==} + dev: false + /di/0.0.1: + resolution: {integrity: sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=} dev: false - resolution: - integrity: sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= + /diff/3.5.0: + resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} + engines: {node: '>=0.3.1'} dev: false - engines: - node: '>=0.3.1' - resolution: - integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + /diff/4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} dev: false - engines: - node: '>=0.3.1' - resolution: - integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + /disparity/3.0.0: + resolution: {integrity: sha512-n94Rzbv2ambRaFzrnBf34IEiyOdIci7maRpMkoQWB6xFYGA7Nbs0Z5YQzMfTeyQeelv23nayqOcssBoc6rKrgw==} + engines: {node: '>=8'} + hasBin: true dependencies: ansi-styles: 4.3.0 diff: 4.0.2 dev: false - engines: - node: '>=8' - hasBin: true - resolution: - integrity: sha512-n94Rzbv2ambRaFzrnBf34IEiyOdIci7maRpMkoQWB6xFYGA7Nbs0Z5YQzMfTeyQeelv23nayqOcssBoc6rKrgw== + /doctrine/2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 dev: false - engines: - node: '>=6.0.0' - resolution: - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + /dom-serialize/2.2.1: + resolution: {integrity: sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=} dependencies: custom-event: 1.0.1 ent: 2.2.0 extend: 3.0.2 void-elements: 2.0.1 dev: false - resolution: - integrity: sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs= + /dom-walk/0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} dev: false - resolution: - integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + /dotenv/8.6.0: + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} + engines: {node: '>=10'} dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + /downlevel-dts/0.4.0: + resolution: {integrity: sha512-nh5vM3n2pRhPwZqh0iWo5gpItPAYEGEWw9yd0YpI+lO60B7A3A6iJlxDbt7kKVNbqBXKsptL+jwE/Yg5Go66WQ==} + hasBin: true dependencies: shelljs: 0.8.4 typescript: 3.9.10 dev: false - hasBin: true - resolution: - integrity: sha512-nh5vM3n2pRhPwZqh0iWo5gpItPAYEGEWw9yd0YpI+lO60B7A3A6iJlxDbt7kKVNbqBXKsptL+jwE/Yg5Go66WQ== + /ecc-jsbn/0.1.2: + resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=} dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 dev: false - resolution: - integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + /ecdsa-sig-formatter/1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 dev: false - resolution: - integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + /edge-launcher/1.2.2: + resolution: {integrity: sha1-60Cq+9Bnpup27/+rBke81VCbN7I=} dev: false - resolution: - integrity: sha1-60Cq+9Bnpup27/+rBke81VCbN7I= + /ee-first/1.1.1: + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: false - resolution: - integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - /electron-to-chromium/1.3.782: + + /electron-to-chromium/1.3.843: + resolution: {integrity: sha512-OWEwAbzaVd1Lk9MohVw8LxMXFlnYd9oYTYxfX8KS++kLLjDfbovLOcEEXwRhG612dqGQ6+44SZvim0GXuBRiKg==} dev: false - resolution: - integrity: sha512-6AI2se1NqWA1SBf/tlD6tQD/6ZOt+yAhqmrTlh4XZw4/g0Mt3p6JhTQPZxRPxPZiOg0o7ss1EBP/CpYejfnoIA== + /emoji-regex/7.0.3: + resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} dev: false - resolution: - integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false - resolution: - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + /encodeurl/1.0.2: + resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} + engines: {node: '>= 0.8'} dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: false - resolution: - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - /engine.io-parser/4.0.2: + + /engine.io-parser/4.0.3: + resolution: {integrity: sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==} + engines: {node: '>=8.0.0'} dependencies: base64-arraybuffer: 0.1.4 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg== + /engine.io/4.1.1: + resolution: {integrity: sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==} + engines: {node: '>=10.0.0'} dependencies: accepts: 1.3.7 base64id: 2.0.0 cookie: 0.4.1 cors: 2.8.5 debug: 4.3.2 - engine.io-parser: 4.0.2 + engine.io-parser: 4.0.3 ws: 7.4.6 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate dev: false - engines: - node: '>=10.0.0' - resolution: - integrity: sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w== + /enquirer/2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.1 dev: false - engines: - node: '>=8.6' - resolution: - integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + /ent/2.2.0: + resolution: {integrity: sha1-6WQhkyWiHQX0RGai9obtbOX13R0=} dev: false - resolution: - integrity: sha1-6WQhkyWiHQX0RGai9obtbOX13R0= + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: false - resolution: - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - /es-abstract/1.18.3: + + /es-abstract/1.18.6: + resolution: {integrity: sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 es-to-primitive: 1.2.1 function-bind: 1.1.1 get-intrinsic: 1.1.1 + get-symbol-description: 1.0.0 has: 1.0.3 has-symbols: 1.0.2 - is-callable: 1.2.3 + internal-slot: 1.0.3 + is-callable: 1.2.4 is-negative-zero: 2.0.1 - is-regex: 1.1.3 - is-string: 1.0.6 + is-regex: 1.1.4 + is-string: 1.0.7 object-inspect: 1.11.0 object-keys: 1.1.1 object.assign: 4.1.2 @@ -3269,203 +3385,175 @@ packages: string.prototype.trimstart: 1.0.4 unbox-primitive: 1.0.1 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: - is-callable: 1.2.3 - is-date-object: 1.0.4 + is-callable: 1.2.4 + is-date-object: 1.0.5 is-symbol: 1.0.4 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + /es6-error/4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} dev: false - resolution: - integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + /es6-promise/4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} dev: false - resolution: - integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + /escape-html/1.0.3: + resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} dev: false - resolution: - integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + /escape-quotes/1.0.2: + resolution: {integrity: sha1-tIltSmz4LdWzP0m3E0CMY4D2zZc=} dependencies: escape-string-regexp: 1.0.5 dev: false - resolution: - integrity: sha1-tIltSmz4LdWzP0m3E0CMY4D2zZc= + /escape-string-regexp/1.0.5: + resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} + engines: {node: '>=0.8.0'} dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - /escodegen/1.14.3: - dependencies: - esprima: 4.0.1 - estraverse: 4.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - dev: false - engines: - node: '>=4.0' - hasBin: true - optionalDependencies: - source-map: 0.6.1 - resolution: - integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - /eslint-config-prettier/7.2.0_eslint@7.31.0: - dependencies: - eslint: 7.31.0 - dev: false + + /eslint-config-prettier/7.2.0_eslint@7.32.0: + resolution: {integrity: sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==} hasBin: true peerDependencies: eslint: '>=7.0.0' - resolution: - integrity: sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg== - /eslint-import-resolver-node/0.3.4: dependencies: - debug: 2.6.9 + eslint: 7.32.0 + dev: false + + /eslint-import-resolver-node/0.3.6: + resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} + dependencies: + debug: 3.2.7 resolve: 1.20.0 dev: false - resolution: - integrity: sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - /eslint-module-utils/2.6.1: + + /eslint-module-utils/2.6.2: + resolution: {integrity: sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==} + engines: {node: '>=4'} dependencies: debug: 3.2.7 pkg-dir: 2.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== - /eslint-plugin-es/3.0.1_eslint@7.31.0: + + /eslint-plugin-es/3.0.1_eslint@7.32.0: + resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=4.19.1' dependencies: - eslint: 7.31.0 + eslint: 7.32.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: false - engines: - node: '>=8.10.0' + + /eslint-plugin-import/2.24.2_eslint@7.32.0: + resolution: {integrity: sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==} + engines: {node: '>=4'} peerDependencies: - eslint: '>=4.19.1' - resolution: - integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - /eslint-plugin-import/2.23.4_eslint@7.31.0: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 dependencies: array-includes: 3.1.3 array.prototype.flat: 1.2.4 debug: 2.6.9 doctrine: 2.1.0 - eslint: 7.31.0 - eslint-import-resolver-node: 0.3.4 - eslint-module-utils: 2.6.1 + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.6 + eslint-module-utils: 2.6.2 find-up: 2.1.0 has: 1.0.3 - is-core-module: 2.5.0 + is-core-module: 2.6.0 minimatch: 3.0.4 object.values: 1.1.4 pkg-up: 2.0.0 read-pkg-up: 3.0.0 resolve: 1.20.0 - tsconfig-paths: 3.10.1 + tsconfig-paths: 3.11.0 dev: false - engines: - node: '>=4' - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 - resolution: - integrity: sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== + /eslint-plugin-no-only-tests/2.6.0: + resolution: {integrity: sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==} + engines: {node: '>=4.0.0'} dev: false - engines: - node: '>=4.0.0' - resolution: - integrity: sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q== - /eslint-plugin-node/11.1.0_eslint@7.31.0: + + /eslint-plugin-node/11.1.0_eslint@7.32.0: + resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=5.16.0' dependencies: - eslint: 7.31.0 - eslint-plugin-es: 3.0.1_eslint@7.31.0 + eslint: 7.32.0 + eslint-plugin-es: 3.0.1_eslint@7.32.0 eslint-utils: 2.1.0 ignore: 5.1.8 minimatch: 3.0.4 resolve: 1.20.0 semver: 6.3.0 dev: false - engines: - node: '>=8.10.0' - peerDependencies: - eslint: '>=5.16.0' - resolution: - integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + /eslint-plugin-promise/4.3.1: + resolution: {integrity: sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + /eslint-plugin-tsdoc/0.2.14: + resolution: {integrity: sha512-fJ3fnZRsdIoBZgzkQjv8vAj6NeeOoFkTfgosj6mKsFjX70QV256sA/wq+y/R2+OL4L8E79VVaVWrPeZnKNe8Ng==} dependencies: '@microsoft/tsdoc': 0.13.2 '@microsoft/tsdoc-config': 0.15.2 dev: false - resolution: - integrity: sha512-fJ3fnZRsdIoBZgzkQjv8vAj6NeeOoFkTfgosj6mKsFjX70QV256sA/wq+y/R2+OL4L8E79VVaVWrPeZnKNe8Ng== + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + /eslint-utils/2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} dependencies: eslint-visitor-keys: 1.3.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + /eslint-visitor-keys/1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + /eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - /eslint/7.31.0: + + /eslint/7.32.0: + resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} + engines: {node: ^10.12.0 || >=12.0.0} + hasBin: true dependencies: '@babel/code-frame': 7.12.11 '@eslint/eslintrc': 0.4.3 '@humanwhocodes/config-array': 0.5.0 ajv: 6.12.6 - chalk: 4.1.1 + chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.2 doctrine: 3.0.0 @@ -3481,7 +3569,7 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 5.1.2 - globals: 13.10.0 + globals: 13.11.0 ignore: 4.0.6 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -3501,131 +3589,116 @@ packages: table: 6.7.1 text-table: 0.2.0 v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: ^10.12.0 || >=12.0.0 - hasBin: true - resolution: - integrity: sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA== + /esm/3.2.25: + resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + /espree/7.3.1: + resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: acorn: 7.4.1 acorn-jsx: 5.3.2_acorn@7.4.1 eslint-visitor-keys: 1.3.0 dev: false - engines: - node: ^10.12.0 || >=12.0.0 - resolution: - integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + /esprima/4.0.1: - dev: false - engines: - node: '>=4' + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true - resolution: - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + dev: false + /esquery/1.4.0: + resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.2.0 dev: false - engines: - node: '>=0.10' - resolution: - integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.2.0 dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + /estraverse/5.2.0: + resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} + engines: {node: '>=4.0'} dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + /estree-walker/0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: false - resolution: - integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + /estree-walker/1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} dev: false - resolution: - integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + /etag/1.8.1: + resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + /event-target-shim/5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + /eventemitter3/4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: false - resolution: - integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + /events/3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} dev: false - engines: - node: '>=0.8.x' - resolution: - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - /execa/3.4.0: + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.0 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 - p-finally: 2.0.1 - signal-exit: 3.0.3 + signal-exit: 3.0.4 strip-final-newline: 2.0.0 dev: false - engines: - node: ^8.12.0 || >=9.7.0 - resolution: - integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + /expand-template/2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + /expand-tilde/2.0.2: + resolution: {integrity: sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=} + engines: {node: '>=0.10.0'} dependencies: homedir-polyfill: 1.0.3 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + /express/4.17.1: + resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} + engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.7 array-flatten: 1.1.1 @@ -3658,38 +3731,37 @@ packages: utils-merge: 1.0.1 vary: 1.1.2 dev: false - engines: - node: '>= 0.10.0' - resolution: - integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + /extend/3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false - resolution: - integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + /extract-zip/2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true dependencies: debug: 4.3.2 get-stream: 5.2.0 yauzl: 2.10.0 - dev: false - engines: - node: '>= 10.17.0' - hasBin: true optionalDependencies: '@types/yauzl': 2.9.2 - resolution: - integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + transitivePeerDependencies: + - supports-color + dev: false + /extsprintf/1.3.0: + resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=} + engines: {'0': node >=0.6.0} dev: false - engines: - '0': node >=0.6.0 - resolution: - integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - resolution: - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + /fast-glob/3.2.7: + resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} + engines: {node: '>=8'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -3697,84 +3769,76 @@ packages: merge2: 1.4.1 micromatch: 4.0.4 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: false - resolution: - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + /fast-levenshtein/2.0.6: + resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} dev: false - resolution: - integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - /fastq/1.11.1: + + /fastq/1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 dev: false - resolution: - integrity: sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw== + /fclone/1.0.11: + resolution: {integrity: sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=} dev: false - resolution: - integrity: sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA= + /fd-slicer/1.1.0: + resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=} dependencies: pend: 1.2.0 dev: false - resolution: - integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - /fetch-mock/9.11.0_node-fetch@2.6.1: + + /fetch-mock/9.11.0_node-fetch@2.6.2: + resolution: {integrity: sha512-PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q==} + engines: {node: '>=4.0.0'} + peerDependencies: + node-fetch: '*' + peerDependenciesMeta: + node-fetch: + optional: true dependencies: - '@babel/core': 7.14.8 - '@babel/runtime': 7.14.8 - core-js: 3.15.2 + '@babel/core': 7.15.5 + '@babel/runtime': 7.15.4 + core-js: 3.18.0 debug: 4.3.2 glob-to-regexp: 0.4.1 is-subset: 0.1.1 lodash.isequal: 4.5.0 - node-fetch: 2.6.1 + node-fetch: 2.6.2 path-to-regexp: 2.4.0 querystring: 0.2.1 whatwg-url: 6.5.0 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=4.0.0' - peerDependencies: - node-fetch: '*' - peerDependenciesMeta: - node-fetch: - optional: true - resolution: - integrity: sha512-PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q== + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 dev: false - engines: - node: ^10.12.0 || >=12.0.0 - resolution: - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + /file-uri-to-path/1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - resolution: - integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - /file-uri-to-path/2.0.0: - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + /finalhandler/1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -3784,313 +3848,299 @@ packages: statuses: 1.5.0 unpipe: 1.0.0 dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + /find-cache-dir/2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} dependencies: commondir: 1.0.1 make-dir: 2.1.0 pkg-dir: 3.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + /find-up/2.1.0: + resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} + engines: {node: '>=4'} dependencies: locate-path: 2.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + /find-up/3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} dependencies: locate-path: 3.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: false + /flat-cache/3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.1 + flatted: 3.2.2 rimraf: 3.0.2 dev: false - engines: - node: ^10.12.0 || >=12.0.0 - resolution: - integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + /flat/4.1.1: + resolution: {integrity: sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==} + hasBin: true dependencies: is-buffer: 2.0.5 dev: false - hasBin: true - resolution: - integrity: sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA== + /flatted/2.0.2: + resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} dev: false - resolution: - integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - /flatted/3.2.1: + + /flatted/3.2.2: + resolution: {integrity: sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==} dev: false - resolution: - integrity: sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg== + /folktale/2.3.2: + resolution: {integrity: sha512-+8GbtQBwEqutP0v3uajDDoN64K2ehmHd0cjlghhxh0WpcfPzAIjPA03e1VvHlxL02FVGR0A6lwXsNQKn3H1RNQ==} dev: false - resolution: - integrity: sha512-+8GbtQBwEqutP0v3uajDDoN64K2ehmHd0cjlghhxh0WpcfPzAIjPA03e1VvHlxL02FVGR0A6lwXsNQKn3H1RNQ== - /follow-redirects/1.14.1: - dev: false - engines: - node: '>=4.0' + + /follow-redirects/1.14.4: + resolution: {integrity: sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: debug: optional: true - resolution: - integrity: sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== - /follow-redirects/1.14.1_debug@3.2.7: - dependencies: - debug: 3.2.7 dev: false - engines: - node: '>=4.0' + + /follow-redirects/1.14.4_debug@3.2.7: + resolution: {integrity: sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: debug: optional: true - resolution: - integrity: sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== - /follow-redirects/1.14.1_debug@4.3.2: dependencies: - debug: 4.3.2 + debug: 3.2.7 dev: false - engines: - node: '>=4.0' + + /follow-redirects/1.14.4_debug@4.3.2: + resolution: {integrity: sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: debug: optional: true - resolution: - integrity: sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== + dependencies: + debug: 4.3.2 + dev: false + /foreach/2.0.5: + resolution: {integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k=} dev: false - resolution: - integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k= + /foreground-child/1.5.6: + resolution: {integrity: sha1-T9ca0t/elnibmApcCilZN8svXOk=} dependencies: cross-spawn: 4.0.2 - signal-exit: 3.0.3 + signal-exit: 3.0.4 dev: false - resolution: - integrity: sha1-T9ca0t/elnibmApcCilZN8svXOk= + /forever-agent/0.6.1: + resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=} dev: false - resolution: - integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + /form-data/2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.31 + mime-types: 2.1.32 dev: false - engines: - node: '>= 0.12' - resolution: - integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + /form-data/2.5.1: + resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} + engines: {node: '>= 0.12'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.31 + mime-types: 2.1.32 dev: false - engines: - node: '>= 0.12' - resolution: - integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + /form-data/3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.32 + dev: false + + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.31 + mime-types: 2.1.32 dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + /forwarded/0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + /fresh/0.5.2: + resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + /fs-constants/1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false - resolution: - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + /fs-extra/7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 jsonfile: 4.0.0 universalify: 0.1.2 dev: false - engines: - node: '>=6 <7 || >=8' - resolution: - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + /fs-extra/8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 jsonfile: 4.0.0 universalify: 0.1.2 dev: false - engines: - node: '>=6 <7 || >=8' - resolution: - integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + /fs.realpath/1.0.0: + resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} dev: false - resolution: - integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + /fsevents/2.1.3: + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] deprecated: '"Please update to latest v2.3 or v2.2"' + requiresBuild: true dev: false - engines: - node: ^8.16.0 || ^10.6.0 || >=11.0.0 optional: true - os: - - darwin - resolution: - integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true dev: false - engines: - node: ^8.16.0 || ^10.6.0 || >=11.0.0 optional: true - os: - - darwin - resolution: - integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - /ftp/0.3.10: - dependencies: - readable-stream: 1.1.14 - xregexp: 2.0.0 - dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: false - resolution: - integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + /functional-red-black-tree/1.0.1: + resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} dev: false - resolution: - integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + /gauge/2.7.4: + resolution: {integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=} dependencies: aproba: 1.2.0 console-control-strings: 1.1.0 has-unicode: 2.0.1 object-assign: 4.1.1 - signal-exit: 3.0.3 + signal-exit: 3.0.4 string-width: 1.0.2 strip-ansi: 3.0.1 wide-align: 1.1.3 dev: false - resolution: - integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + /get-caller-file/1.0.3: + resolution: {integrity: sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==} dev: false - resolution: - integrity: sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} dev: false - engines: - node: 6.* || 8.* || >= 10.* - resolution: - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + /get-func-name/2.0.0: + resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=} dev: false - resolution: - integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + /get-intrinsic/1.1.1: + resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} dependencies: function-bind: 1.1.1 has: 1.0.3 has-symbols: 1.0.2 dev: false - resolution: - integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + /get-stream/5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} dependencies: pump: 3.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - /get-uri/3.0.2: + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: false + + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} dependencies: - '@tootallnate/once': 1.1.2 - data-uri-to-buffer: 3.0.1 - debug: 4.3.2 - file-uri-to-path: 2.0.0 - fs-extra: 8.1.0 - ftp: 0.3.10 + call-bind: 1.0.2 + get-intrinsic: 1.1.1 dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== + /getos/3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} dependencies: - async: 3.2.0 + async: 3.2.1 dev: false - resolution: - integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + /getpass/0.1.7: + resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=} dependencies: assert-plus: 1.0.0 dev: false - resolution: - integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + /github-from-package/0.0.0: + resolution: {integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=} dev: false - resolution: - integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.1 dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + /glob-to-regexp/0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false - resolution: - integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + /glob/7.1.3: + resolution: {integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4099,9 +4149,9 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 dev: false - resolution: - integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + /glob/7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4110,19 +4160,19 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 dev: false - resolution: - integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + /global-modules/1.0.0: + resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} + engines: {node: '>=0.10.0'} dependencies: global-prefix: 1.0.2 is-windows: 1.0.2 resolve-dir: 1.0.1 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + /global-prefix/1.0.2: + resolution: {integrity: sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=} + engines: {node: '>=0.10.0'} dependencies: expand-tilde: 2.0.2 homedir-polyfill: 1.0.3 @@ -4130,32 +4180,29 @@ packages: is-windows: 1.0.2 which: 1.3.1 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + /global/4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} dependencies: min-document: 2.19.0 process: 0.11.10 dev: false - resolution: - integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - /globals/13.10.0: + + /globals/13.11.0: + resolution: {integrity: sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g== + /globby/11.0.4: + resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -4164,156 +4211,148 @@ packages: merge2: 1.4.1 slash: 3.0.0 dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== - /graceful-fs/4.2.6: + + /graceful-fs/4.2.8: + resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} dev: false - resolution: - integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + /growl/1.10.5: + resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} + engines: {node: '>=4.x'} dev: false - engines: - node: '>=4.x' - resolution: - integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + /guid-typescript/1.0.9: + resolution: {integrity: sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==} dev: false - resolution: - integrity: sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ== + /handlebars/4.7.7: + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + engines: {node: '>=0.4.7'} + hasBin: true dependencies: minimist: 1.2.5 neo-async: 2.6.2 source-map: 0.6.1 wordwrap: 1.0.0 - dev: false - engines: - node: '>=0.4.7' - hasBin: true optionalDependencies: - uglify-js: 3.13.10 - resolution: - integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + uglify-js: 3.14.2 + dev: false + /har-schema/2.0.0: + resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + /har-validator/5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported dependencies: ajv: 6.12.6 har-schema: 2.0.0 - deprecated: this library is no longer supported dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + /has-ansi/2.0.0: + resolution: {integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=} + engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + /has-bigints/1.0.1: + resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} dev: false - resolution: - integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + /has-flag/3.0.0: + resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + /has-glob/1.0.0: + resolution: {integrity: sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=} + engines: {node: '>=0.10.0'} dependencies: is-glob: 3.1.0 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc= + /has-only/1.1.1: + resolution: {integrity: sha512-3GuFy9rDw0xvovCHb4SOKiRImbZ+a8boFBUyGNRPVd2mRyQOzYdau5G9nodUXC1ZKYN59hrHFkW1lgBQscYfTg==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-3GuFy9rDw0xvovCHb4SOKiRImbZ+a8boFBUyGNRPVd2mRyQOzYdau5G9nodUXC1ZKYN59hrHFkW1lgBQscYfTg== + /has-symbols/1.0.2: + resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} + engines: {node: '>= 0.4'} dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.2 + dev: false + /has-unicode/2.0.1: + resolution: {integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=} dev: false - resolution: - integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 dev: false - engines: - node: '>= 0.4.0' - resolution: - integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + /hash-base/3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: inherits: 2.0.4 readable-stream: 3.6.0 safe-buffer: 5.2.1 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + /hasha/3.0.0: + resolution: {integrity: sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=} + engines: {node: '>=4'} dependencies: is-stream: 1.1.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk= + /he/1.2.0: - dev: false + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - resolution: - integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + dev: false + /highlight.js/9.18.5: + resolution: {integrity: sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==} deprecated: Support has ended for 9.x series. Upgrade to @latest - dev: false requiresBuild: true - resolution: - integrity: sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== + dev: false + /homedir-polyfill/1.0.3: + resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} + engines: {node: '>=0.10.0'} dependencies: parse-passwd: 1.0.0 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + /hosted-git-info/2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: false - resolution: - integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + /html-escaper/2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: false - resolution: - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + /http-errors/1.7.2: + resolution: {integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==} + engines: {node: '>= 0.6'} dependencies: depd: 1.1.2 inherits: 2.0.3 @@ -4321,11 +4360,10 @@ packages: statuses: 1.5.0 toidentifier: 1.0.0 dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + /http-errors/1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} dependencies: depd: 1.1.2 inherits: 2.0.4 @@ -4333,632 +4371,601 @@ packages: statuses: 1.5.0 toidentifier: 1.0.0 dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + /http-proxy-agent/4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 debug: 4.3.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + /http-proxy/1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.14.1 + follow-redirects: 1.14.4 requires-port: 1.0.0 + transitivePeerDependencies: + - debug dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + /http-proxy/1.18.1_debug@4.3.2: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.14.1_debug@4.3.2 + follow-redirects: 1.14.4_debug@4.3.2 requires-port: 1.0.0 + transitivePeerDependencies: + - debug dev: false - engines: - node: '>=8.0.0' - peerDependencies: - debug: '*' - resolution: - integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + /http-signature/1.2.0: + resolution: {integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=} + engines: {node: '>=0.8', npm: '>=1.3.7'} dependencies: assert-plus: 1.0.0 jsprim: 1.4.1 sshpk: 1.16.1 dev: false - engines: - node: '>=0.8' - npm: '>=1.3.7' - resolution: - integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - /https-proxy-agent/4.0.0: - dependencies: - agent-base: 5.1.1 - debug: 4.3.2 - dev: false - engines: - node: '>= 6.0.0' - resolution: - integrity: sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== + /https-proxy-agent/5.0.0: + resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 debug: 4.3.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - /human-signals/1.1.1: + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: false - engines: - node: '>=8.12.0' - resolution: - integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false - resolution: - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + /ignore/4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} dev: false - engines: - node: '>= 4' - resolution: - integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + /ignore/5.1.8: + resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} + engines: {node: '>= 4'} dev: false - engines: - node: '>= 4' - resolution: - integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + /import-lazy/4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + /imurmurhash/0.1.4: + resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} + engines: {node: '>=0.8.19'} dev: false - engines: - node: '>=0.8.19' - resolution: - integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= + /inflight/1.0.6: + resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} dependencies: once: 1.4.0 wrappy: 1.0.2 dev: false - resolution: - integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + /inherits/2.0.1: + resolution: {integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=} dev: false - resolution: - integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + /inherits/2.0.3: + resolution: {integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=} dev: false - resolution: - integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false - resolution: - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: false - resolution: - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + + /internal-slot/1.0.3: + resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.1.1 + has: 1.0.3 + side-channel: 1.0.4 + dev: false + /interpret/1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} dev: false - engines: - node: '>= 0.10' - resolution: - integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + /ip-regex/2.1.0: + resolution: {integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - /ip/1.1.5: - dev: false - resolution: - integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + /ipaddr.js/1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} dev: false - engines: - node: '>= 0.10' - resolution: - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - /is-arguments/1.1.0: + + /is-arguments/1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 + has-tostringtag: 1.0.0 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + /is-arrayish/0.2.1: + resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} dev: false - resolution: - integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - /is-bigint/1.0.2: + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.1 dev: false - resolution: - integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - /is-boolean-object/1.1.1: + + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 + has-tostringtag: 1.0.0 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + /is-buffer/1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} dev: false - resolution: - integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + /is-buffer/2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - /is-callable/1.2.3: + + /is-callable/1.2.4: + resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} + engines: {node: '>= 0.4'} dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + /is-ci/2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true dependencies: ci-info: 2.0.0 dev: false - hasBin: true - resolution: - integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - /is-core-module/2.5.0: + + /is-core-module/2.6.0: + resolution: {integrity: sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==} dependencies: has: 1.0.3 dev: false - resolution: - integrity: sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== - /is-date-object/1.0.4: + + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== + /is-docker/2.2.1: - dev: false - engines: - node: '>=8' + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true - resolution: - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + dev: false + /is-extglob/2.1.1: + resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + /is-fullwidth-code-point/1.0.0: + resolution: {integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=} + engines: {node: '>=0.10.0'} dependencies: number-is-nan: 1.0.1 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + /is-fullwidth-code-point/2.0.0: + resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - /is-generator-function/1.0.9: + + /is-generator-function/1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A== + /is-glob/3.1.0: + resolution: {integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + /is-glob/4.0.1: + resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + /is-module/1.0.0: + resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} dev: false - resolution: - integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + /is-negative-zero/2.0.1: + resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} + engines: {node: '>= 0.4'} dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - /is-number-object/1.0.5: + + /is-number-object/1.0.6: + resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} dev: false - engines: - node: '>=0.12.0' - resolution: - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + /is-reference/1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: '@types/estree': 0.0.50 dev: false - resolution: - integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - /is-regex/1.1.3: + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - has-symbols: 1.0.2 + has-tostringtag: 1.0.0 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== + /is-stream/1.1.0: + resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - /is-stream/2.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - /is-string/1.0.6: - dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + /is-subset/0.1.1: + resolution: {integrity: sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=} dev: false - resolution: - integrity: sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY= + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.2 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - /is-typed-array/1.1.5: + + /is-typed-array/1.1.8: + resolution: {integrity: sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==} + engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.4 + available-typed-arrays: 1.0.5 call-bind: 1.0.2 - es-abstract: 1.18.3 + es-abstract: 1.18.6 foreach: 2.0.5 - has-symbols: 1.0.2 + has-tostringtag: 1.0.0 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== + /is-typedarray/1.0.0: + resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} dev: false - resolution: - integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + /is-valid-glob/1.0.0: + resolution: {integrity: sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + /is-windows/1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + /is-wsl/2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + /isarray/0.0.1: + resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=} dev: false - resolution: - integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + /isarray/1.0.0: + resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} dev: false - resolution: - integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + /isbinaryfile/4.0.8: + resolution: {integrity: sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==} + engines: {node: '>= 8.0.0'} dev: false - engines: - node: '>= 8.0.0' - resolution: - integrity: sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== + /isexe/2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: false - resolution: - integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + /isstream/0.1.2: + resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=} dev: false - resolution: - integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + /istanbul-lib-coverage/2.0.5: + resolution: {integrity: sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== + /istanbul-lib-coverage/3.0.0: + resolution: {integrity: sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + /istanbul-lib-hook/2.0.7: + resolution: {integrity: sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==} + engines: {node: '>=6'} dependencies: append-transform: 1.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== + /istanbul-lib-instrument/3.3.0: - dependencies: - '@babel/generator': 7.14.8 - '@babel/parser': 7.14.8 - '@babel/template': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 + resolution: {integrity: sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==} + engines: {node: '>=6'} + dependencies: + '@babel/generator': 7.15.4 + '@babel/parser': 7.15.7 + '@babel/template': 7.15.4 + '@babel/traverse': 7.15.4 + '@babel/types': 7.15.6 istanbul-lib-coverage: 2.0.5 semver: 6.3.0 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== + /istanbul-lib-instrument/4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} dependencies: - '@babel/core': 7.14.8 + '@babel/core': 7.15.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.0.0 semver: 6.3.0 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + /istanbul-lib-report/2.0.8: + resolution: {integrity: sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==} + engines: {node: '>=6'} dependencies: istanbul-lib-coverage: 2.0.5 make-dir: 2.1.0 supports-color: 6.1.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== + /istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} dependencies: istanbul-lib-coverage: 3.0.0 make-dir: 3.1.0 supports-color: 7.2.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + /istanbul-lib-source-maps/3.0.6: + resolution: {integrity: sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==} + engines: {node: '>=6'} dependencies: debug: 4.3.2 istanbul-lib-coverage: 2.0.5 make-dir: 2.1.0 rimraf: 2.7.1 source-map: 0.6.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== + /istanbul-lib-source-maps/4.0.0: + resolution: {integrity: sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==} + engines: {node: '>=8'} dependencies: debug: 4.3.2 istanbul-lib-coverage: 3.0.0 source-map: 0.6.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + /istanbul-reports/2.2.7: + resolution: {integrity: sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==} + engines: {node: '>=6'} dependencies: html-escaper: 2.0.2 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== + /istanbul-reports/3.0.2: + resolution: {integrity: sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==} + engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + /its-name/1.0.0: + resolution: {integrity: sha1-IGXxiD7LVoxl9xEt2/EjQB+uSvA=} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha1-IGXxiD7LVoxl9xEt2/EjQB+uSvA= + /jest-worker/24.9.0: + resolution: {integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==} + engines: {node: '>= 6'} dependencies: merge-stream: 2.0.0 supports-color: 6.1.0 dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + /jju/1.4.0: + resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=} dev: false - resolution: - integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo= + /jquery/3.6.0: + resolution: {integrity: sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==} dev: false - resolution: - integrity: sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false - resolution: - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + /js-yaml/3.13.1: + resolution: {integrity: sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==} + hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 dev: false - hasBin: true - resolution: - integrity: sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 dev: false - hasBin: true - resolution: - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - /jsbi/3.1.5: + + /jsbi/3.2.4: + resolution: {integrity: sha512-iOygwxPzMYli5xrjfd83Vy4Wyu9Ovpw6wWWFy5Kj7XP+pZxPp7Cy72F92iAt2j+6tTDYunvLtC+2tH3xCX37ng==} dev: false - resolution: - integrity: sha512-w2BY0VOYC1ahe+w6Qhl4SFoPvPsZ9NPHY4bwass+LCgU7RK3PBoVQlQ3G1s7vI8W3CYyJiEXcbKF7FIM/L8q3Q== + /jsbn/0.1.1: + resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} dev: false - resolution: - integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + /jsesc/2.5.2: - dev: false - engines: - node: '>=4' + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true - resolution: - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + dev: false + /json-edm-parser/0.1.2: + resolution: {integrity: sha1-HmCw/vG8CvZ7wNFG393lSGzWFbQ=} dependencies: jsonparse: 1.2.0 dev: false - resolution: - integrity: sha1-HmCw/vG8CvZ7wNFG393lSGzWFbQ= + /json-parse-better-errors/1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: false - resolution: - integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: false - resolution: - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + /json-schema-traverse/1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false - resolution: - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + /json-schema/0.2.3: + resolution: {integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=} dev: false - resolution: - integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + /json-schema/0.3.0: + resolution: {integrity: sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==} dev: false - resolution: - integrity: sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ== + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} dev: false - resolution: - integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + /json-stringify-safe/5.0.1: + resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} dev: false - resolution: - integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - /json5/2.2.0: + + /json5/1.0.1: + resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} + hasBin: true dependencies: minimist: 1.2.5 dev: false - engines: - node: '>=6' + + /json5/2.2.0: + resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} + engines: {node: '>=6'} hasBin: true - resolution: - integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - /jsonfile/4.0.0: + dependencies: + minimist: 1.2.5 dev: false + + /jsonfile/4.0.0: + resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} optionalDependencies: - graceful-fs: 4.2.6 - resolution: - integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + graceful-fs: 4.2.8 + dev: false + /jsonparse/1.2.0: + resolution: {integrity: sha1-XAxWhRBxYOcv50ib3eoLRMK8Z70=} + engines: {'0': node >= 0.2.0} dev: false - engines: - '0': node >= 0.2.0 - resolution: - integrity: sha1-XAxWhRBxYOcv50ib3eoLRMK8Z70= + /jsonwebtoken/8.5.1: + resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} + engines: {node: '>=4', npm: '>=1.4.28'} dependencies: jws: 3.2.2 lodash.includes: 4.3.0 @@ -4971,90 +4978,87 @@ packages: ms: 2.1.3 semver: 5.7.1 dev: false - engines: - node: '>=4' - npm: '>=1.4.28' - resolution: - integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + /jsprim/1.4.1: + resolution: {integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=} + engines: {'0': node >=0.6.0} dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 json-schema: 0.2.3 verror: 1.10.0 dev: false - engines: - '0': node >=0.6.0 - resolution: - integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - /jsrsasign/10.3.0: + + /jsrsasign/10.4.0: + resolution: {integrity: sha512-C8qLhiAssh/b74KJpGhWuFGG9cFhJqMCVuuHXRibb3Z5vPuAW0ue0jUirpoExCdpdhv4nD3sZ1DAwJURYJTm9g==} dev: false - resolution: - integrity: sha512-irDIKKFW++EAELgP3fjFi5/Fn0XEyfuQTTgpbeFwCGkV6tRIYZl3uraRea2HTXWCstcSZuDaCbdAhU1n+075Bg== + /jssha/2.4.2: + resolution: {integrity: sha512-/jsi/9C0S70zfkT/4UlKQa5E1xKurDnXcQizcww9JSR/Fv+uIbWM2btG+bFcL3iNoK9jIGS0ls9HWLr1iw0kFg==} deprecated: jsSHA versions < 3.0.0 will no longer receive feature updates dev: false - resolution: - integrity: sha512-/jsi/9C0S70zfkT/4UlKQa5E1xKurDnXcQizcww9JSR/Fv+uIbWM2btG+bFcL3iNoK9jIGS0ls9HWLr1iw0kFg== + /jssha/3.2.0: + resolution: {integrity: sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==} dev: false - resolution: - integrity: sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q== + /just-extend/4.2.1: + resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==} dev: false - resolution: - integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== + /jwa/1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 dev: false - resolution: - integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + /jwa/2.0.0: + resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 dev: false - resolution: - integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== + /jws/3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 dev: false - resolution: - integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + /jws/4.0.0: + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} dependencies: jwa: 2.0.0 safe-buffer: 5.2.1 dev: false - resolution: - integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== + /jwt-decode/2.2.0: + resolution: {integrity: sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=} dev: false - resolution: - integrity: sha1-fYa9VmefWM5qhHBKZX3TkruoGnk= + /karma-chai/0.1.0_chai@4.3.4+karma@6.3.4: + resolution: {integrity: sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=} + peerDependencies: + chai: '*' + karma: '>=0.10.9' dependencies: chai: 4.3.4 karma: 6.3.4 dev: false - peerDependencies: - chai: '*' - karma: '>=0.10.9' - resolution: - integrity: sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o= + /karma-chrome-launcher/3.1.0: + resolution: {integrity: sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==} dependencies: which: 1.3.1 dev: false - resolution: - integrity: sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg== + /karma-coverage/2.0.3: + resolution: {integrity: sha512-atDvLQqvPcLxhED0cmXYdsPMCQuh6Asa9FMZW1bhNqlVEhJoB9qyZ2BY1gu7D/rr5GLGb5QzYO4siQskxaWP/g==} + engines: {node: '>=10.0.0'} dependencies: istanbul-lib-coverage: 3.0.0 istanbul-lib-instrument: 4.0.3 @@ -5062,109 +5066,108 @@ packages: istanbul-lib-source-maps: 4.0.0 istanbul-reports: 3.0.2 minimatch: 3.0.4 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=10.0.0' - resolution: - integrity: sha512-atDvLQqvPcLxhED0cmXYdsPMCQuh6Asa9FMZW1bhNqlVEhJoB9qyZ2BY1gu7D/rr5GLGb5QzYO4siQskxaWP/g== + /karma-edge-launcher/0.4.2_karma@6.3.4: + resolution: {integrity: sha512-YAJZb1fmRcxNhMIWYsjLuxwODBjh2cSHgTW/jkVmdpGguJjLbs9ZgIK/tEJsMQcBLUkO+yO4LBbqYxqgGW2HIw==} + engines: {node: '>=4'} + peerDependencies: + karma: '>=0.9' dependencies: edge-launcher: 1.2.2 karma: 6.3.4 dev: false - engines: - node: '>=4' - peerDependencies: - karma: '>=0.9' - resolution: - integrity: sha512-YAJZb1fmRcxNhMIWYsjLuxwODBjh2cSHgTW/jkVmdpGguJjLbs9ZgIK/tEJsMQcBLUkO+yO4LBbqYxqgGW2HIw== + /karma-env-preprocessor/0.1.1: + resolution: {integrity: sha1-u+jIfVnADtt2BwvTwxtLOdXcfhU=} dev: false - resolution: - integrity: sha1-u+jIfVnADtt2BwvTwxtLOdXcfhU= + /karma-firefox-launcher/1.3.0: + resolution: {integrity: sha512-Fi7xPhwrRgr+94BnHX0F5dCl1miIW4RHnzjIGxF8GaIEp7rNqX7LSi7ok63VXs3PS/5MQaQMhGxw+bvD+pibBQ==} dependencies: is-wsl: 2.2.0 dev: false - resolution: - integrity: sha512-Fi7xPhwrRgr+94BnHX0F5dCl1miIW4RHnzjIGxF8GaIEp7rNqX7LSi7ok63VXs3PS/5MQaQMhGxw+bvD+pibBQ== + /karma-ie-launcher/1.0.0_karma@6.3.4: + resolution: {integrity: sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw=} + peerDependencies: + karma: '>=0.9' dependencies: karma: 6.3.4 lodash: 4.17.21 dev: false + + /karma-json-preprocessor/0.3.3_karma@6.3.4: + resolution: {integrity: sha1-X36ZW+uuS06PCiy1IVBVSq8LHi4=} peerDependencies: karma: '>=0.9' - resolution: - integrity: sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw= - /karma-json-preprocessor/0.3.3_karma@6.3.4: dependencies: karma: 6.3.4 dev: false - peerDependencies: - karma: '>=0.9' - resolution: - integrity: sha1-X36ZW+uuS06PCiy1IVBVSq8LHi4= + /karma-json-to-file-reporter/1.0.1: + resolution: {integrity: sha512-kNCi+0UrXAeTJMpMsHkHNbfmlErsYT+/haNakJIhsE/gtj3Jx7zWRg7BTc1HHSbH5KeVXVRJr3/KLB/NHWY7Hg==} dependencies: json5: 2.2.0 dev: false - resolution: - integrity: sha512-kNCi+0UrXAeTJMpMsHkHNbfmlErsYT+/haNakJIhsE/gtj3Jx7zWRg7BTc1HHSbH5KeVXVRJr3/KLB/NHWY7Hg== + /karma-junit-reporter/2.0.1_karma@6.3.4: + resolution: {integrity: sha512-VtcGfE0JE4OE1wn0LK8xxDKaTP7slN8DO3I+4xg6gAi1IoAHAXOJ1V9G/y45Xg6sxdxPOR3THCFtDlAfBo9Afw==} + engines: {node: '>= 8'} + peerDependencies: + karma: '>=0.9' dependencies: karma: 6.3.4 path-is-absolute: 1.0.1 xmlbuilder: 12.0.0 dev: false - engines: - node: '>= 8' - peerDependencies: - karma: '>=0.9' - resolution: - integrity: sha512-VtcGfE0JE4OE1wn0LK8xxDKaTP7slN8DO3I+4xg6gAi1IoAHAXOJ1V9G/y45Xg6sxdxPOR3THCFtDlAfBo9Afw== + /karma-mocha-reporter/2.2.5_karma@6.3.4: + resolution: {integrity: sha1-FRIAlejtgZGG5HoLAS8810GJVWA=} + peerDependencies: + karma: '>=0.13' dependencies: chalk: 2.4.2 karma: 6.3.4 log-symbols: 2.2.0 strip-ansi: 4.0.0 dev: false - peerDependencies: - karma: '>=0.13' - resolution: - integrity: sha1-FRIAlejtgZGG5HoLAS8810GJVWA= + /karma-mocha/2.0.1: + resolution: {integrity: sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==} dependencies: minimist: 1.2.5 dev: false - resolution: - integrity: sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ== + /karma-rollup-preprocessor/7.0.7_rollup@1.32.1: + resolution: {integrity: sha512-Y1QwsTCiCBp8sSALZdqmqry/mWIWIy0V6zonUIpy+0/D/Kpb2XZvR+JZrWfacQvcvKQdZFJvg6EwlnKtjepu3Q==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: '>= 1.0.0' dependencies: chokidar: 3.5.2 debounce: 1.2.1 rollup: 1.32.1 dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: '>= 1.0.0' - resolution: - integrity: sha512-Y1QwsTCiCBp8sSALZdqmqry/mWIWIy0V6zonUIpy+0/D/Kpb2XZvR+JZrWfacQvcvKQdZFJvg6EwlnKtjepu3Q== + /karma-source-map-support/1.4.0: + resolution: {integrity: sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==} dependencies: - source-map-support: 0.5.19 + source-map-support: 0.5.20 dev: false - resolution: - integrity: sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A== + /karma-sourcemap-loader/0.3.8: + resolution: {integrity: sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g==} dependencies: - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 dev: false - resolution: - integrity: sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g== + /karma/6.3.4: + resolution: {integrity: sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==} + engines: {node: '>= 10'} + hasBin: true dependencies: body-parser: 1.19.0 braces: 3.0.2 @@ -5174,7 +5177,7 @@ packages: di: 0.0.1 dom-serialize: 2.2.1 glob: 7.1.7 - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 http-proxy: 1.18.1 isbinaryfile: 4.0.8 lodash: 4.17.21 @@ -5189,13 +5192,17 @@ packages: tmp: 0.2.1 ua-parser-js: 0.7.28 yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - engines: - node: '>= 10' - hasBin: true - resolution: - integrity: sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q== + /karma/6.3.4_debug@4.3.2: + resolution: {integrity: sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==} + engines: {node: '>= 10'} + hasBin: true dependencies: body-parser: 1.19.0 braces: 3.0.2 @@ -5205,7 +5212,7 @@ packages: di: 0.0.1 dom-serialize: 2.2.1 glob: 7.1.7 - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 http-proxy: 1.18.1_debug@4.3.2 isbinaryfile: 4.0.8 lodash: 4.17.21 @@ -5220,235 +5227,217 @@ packages: tmp: 0.2.1 ua-parser-js: 0.7.28 yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - engines: - node: '>= 10' - hasBin: true - peerDependencies: - debug: '*' - resolution: - integrity: sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q== + /keytar/7.7.0: + resolution: {integrity: sha512-YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A==} + requiresBuild: true dependencies: node-addon-api: 3.2.1 - prebuild-install: 6.1.3 + prebuild-install: 6.1.4 dev: false - requiresBuild: true - resolution: - integrity: sha512-YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A== + /lazy-ass/1.6.0: + resolution: {integrity: sha1-eZllXoZGwX8In90YfRUNMyTVRRM=} + engines: {node: '> 0.8'} dev: false - engines: - node: '> 0.8' - resolution: - integrity: sha1-eZllXoZGwX8In90YfRUNMyTVRRM= - /levn/0.3.0: - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + /load-json-file/4.0.0: + resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} + engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + /locate-path/2.0.0: + resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} + engines: {node: '>=4'} dependencies: p-locate: 2.0.0 path-exists: 3.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + /locate-path/3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} dependencies: p-locate: 3.0.0 path-exists: 3.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: false + /lodash.clonedeep/4.5.0: + resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} dev: false - resolution: - integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + /lodash.flattendeep/4.4.0: + resolution: {integrity: sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=} dev: false - resolution: - integrity: sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= + /lodash.get/4.4.2: + resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} dev: false - resolution: - integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + /lodash.includes/4.3.0: + resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=} dev: false - resolution: - integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + /lodash.isboolean/3.0.3: + resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=} dev: false - resolution: - integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + /lodash.isequal/4.5.0: + resolution: {integrity: sha1-QVxEePK8wwEgwizhDtMib30+GOA=} dev: false - resolution: - integrity: sha1-QVxEePK8wwEgwizhDtMib30+GOA= + /lodash.isinteger/4.0.4: + resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=} dev: false - resolution: - integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + /lodash.isnumber/3.0.3: + resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=} dev: false - resolution: - integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + /lodash.isplainobject/4.0.6: + resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} dev: false - resolution: - integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + /lodash.isstring/4.0.1: + resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=} dev: false - resolution: - integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: false - resolution: - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + /lodash.once/4.1.1: + resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=} dev: false - resolution: - integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + /lodash.sortby/4.7.0: + resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=} dev: false - resolution: - integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + /lodash.truncate/4.4.2: + resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} dev: false - resolution: - integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: false - resolution: - integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + /log-symbols/2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} dependencies: chalk: 2.4.2 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + /log-symbols/3.0.0: + resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} + engines: {node: '>=8'} dependencies: chalk: 2.4.2 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + /log4js/6.3.0: + resolution: {integrity: sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==} + engines: {node: '>=8.0'} dependencies: date-format: 3.0.0 debug: 4.3.2 flatted: 2.0.2 rfdc: 1.3.0 streamroller: 2.2.4 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=8.0' - resolution: - integrity: sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw== + /long/4.0.0: + resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} dev: false - resolution: - integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + /lru-cache/4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: false - resolution: - integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - /lru-cache/5.1.1: - dependencies: - yallist: 3.1.1 - dev: false - resolution: - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + /lunr/2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} dev: false - resolution: - integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== + /machina/4.0.2: + resolution: {integrity: sha512-OOlFrW1rd783S6tF36v5Ie/TM64gfvSl9kYLWL2cPA31J71HHWW3XrgSe1BZSFAPkh8532CMJMLv/s9L2aopiA==} + engines: {node: '>=0.4.0'} dependencies: lodash: 4.17.21 dev: false - engines: - node: '>=0.4.0' - resolution: - integrity: sha512-OOlFrW1rd783S6tF36v5Ie/TM64gfvSl9kYLWL2cPA31J71HHWW3XrgSe1BZSFAPkh8532CMJMLv/s9L2aopiA== + /magic-string/0.25.7: + resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} dependencies: sourcemap-codec: 1.4.8 dev: false - resolution: - integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + /make-dir/2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} dependencies: pify: 4.0.1 semver: 5.7.1 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + /make-error/1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false - resolution: - integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + /marked/0.7.0: - dev: false - engines: - node: '>=0.10.0' + resolution: {integrity: sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==} + engines: {node: '>=0.10.0'} hasBin: true - resolution: - integrity: sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg== + dev: false + /matched/1.0.2: + resolution: {integrity: sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q==} + engines: {node: '>= 0.12.0'} dependencies: arr-union: 3.1.0 async-array-reduce: 0.2.1 @@ -5457,147 +5446,135 @@ packages: is-valid-glob: 1.0.0 resolve-dir: 1.0.1 dev: false - engines: - node: '>= 0.12.0' - resolution: - integrity: sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q== + /md5.js/1.3.4: + resolution: {integrity: sha1-6b296UogpawYsENA/Fdk1bCdkB0=} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: false - resolution: - integrity: sha1-6b296UogpawYsENA/Fdk1bCdkB0= + /md5/2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} dependencies: charenc: 0.0.2 crypt: 0.0.2 is-buffer: 1.1.6 dev: false - resolution: - integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== + /media-typer/0.3.0: + resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + /memorystream/0.3.1: + resolution: {integrity: sha1-htcJCzDORV1j+64S3aUaR93K+bI=} + engines: {node: '>= 0.10.0'} dev: false - engines: - node: '>= 0.10.0' - resolution: - integrity: sha1-htcJCzDORV1j+64S3aUaR93K+bI= + /merge-descriptors/1.0.1: + resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} dev: false - resolution: - integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + /merge-source-map/1.1.0: + resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} dependencies: source-map: 0.6.1 dev: false - resolution: - integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: false - resolution: - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + /methods/1.1.2: + resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + /micromatch/4.0.4: + resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.0 dev: false - engines: - node: '>=8.6' - resolution: - integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - /mime-db/1.48.0: + + /mime-db/1.49.0: + resolution: {integrity: sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== - /mime-types/2.1.31: + + /mime-types/2.1.32: + resolution: {integrity: sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==} + engines: {node: '>= 0.6'} dependencies: - mime-db: 1.48.0 + mime-db: 1.49.0 dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== + /mime/1.6.0: - dev: false - engines: - node: '>=4' + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} hasBin: true - resolution: - integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - /mime/2.5.2: dev: false - engines: - node: '>=4.0.0' + + /mime/2.5.2: + resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==} + engines: {node: '>=4.0.0'} hasBin: true - resolution: - integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + dev: false + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + /mimic-response/2.1.0: + resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== + /min-document/2.19.0: + resolution: {integrity: sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=} dependencies: dom-walk: 0.1.2 dev: false - resolution: - integrity: sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= + /minimatch/3.0.4: + resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} dependencies: brace-expansion: 1.1.11 dev: false - resolution: - integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + /minimist/1.2.5: + resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} dev: false - resolution: - integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + /mkdirp-classic/0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: false - resolution: - integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + /mkdirp/0.5.5: + resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} + hasBin: true dependencies: minimist: 1.2.5 dev: false - hasBin: true - resolution: - integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + /mkdirp/1.0.4: - dev: false - engines: - node: '>=10' + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true - resolution: - integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + dev: false + /mocha-junit-reporter/1.23.3_mocha@7.2.0: + resolution: {integrity: sha512-ed8LqbRj1RxZfjt/oC9t12sfrWsjZ3gNnbhV1nuj9R/Jb5/P3Xb4duv2eCfCDMYH+fEu0mqca7m4wsiVjsxsvA==} + peerDependencies: + mocha: '>=2.2.5' dependencies: debug: 2.6.9 md5: 2.3.0 @@ -5606,11 +5583,11 @@ packages: strip-ansi: 4.0.0 xml: 1.0.1 dev: false - peerDependencies: - mocha: '>=2.2.5' - resolution: - integrity: sha512-ed8LqbRj1RxZfjt/oC9t12sfrWsjZ3gNnbhV1nuj9R/Jb5/P3Xb4duv2eCfCDMYH+fEu0mqca7m4wsiVjsxsvA== + /mocha/7.2.0: + resolution: {integrity: sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==} + engines: {node: '>= 8.10.0'} + hasBin: true dependencies: ansi-colors: 3.2.3 browser-stdout: 1.3.1 @@ -5637,100 +5614,87 @@ packages: yargs-parser: 13.1.2 yargs-unparser: 1.6.0 dev: false - engines: - node: '>= 8.10.0' - hasBin: true - resolution: - integrity: sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ== + /mock-fs/4.14.0: + resolution: {integrity: sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==} dev: false - resolution: - integrity: sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== + /mock-require/3.0.3: + resolution: {integrity: sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==} + engines: {node: '>=4.3.0'} dependencies: get-caller-file: 1.0.3 normalize-path: 2.1.1 dev: false - engines: - node: '>=4.3.0' - resolution: - integrity: sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg== + /module-details-from-path/1.0.3: + resolution: {integrity: sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=} dev: false - resolution: - integrity: sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= + /moment/2.29.1: + resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==} dev: false - resolution: - integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + /ms/2.0.0: + resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} dev: false - resolution: - integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + /ms/2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - resolution: - integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: false - resolution: - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - resolution: - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - /msal/1.4.11: + + /msal/1.4.12: + resolution: {integrity: sha512-gjupwQ6nvNL6mZkl5NIXyUmZhTiEMRu5giNdgHMh8l5EPOnV2Xj6nukY1NIxFacSTkEYUSDB47Pej9GxDYf+1w==} + engines: {node: '>=0.8.0'} dependencies: tslib: 1.14.1 dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha512-8vW5/+irlcQQk87r8Qp3/kQEc552hr7FQLJ6GF5LLkqnwJDDxrswz6RYPiQhmiampymIs0PbHVZrNf8m+6DmgQ== - /nan/2.14.2: - dev: false - resolution: - integrity: sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== - /nanoid/3.1.23: + + /nan/2.15.0: + resolution: {integrity: sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==} dev: false - engines: - node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 + + /nanoid/3.1.25: + resolution: {integrity: sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - resolution: - integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== + dev: false + /napi-build-utils/1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} dev: false - resolution: - integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + /natural-compare/1.4.0: + resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} dev: false - resolution: - integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + /negotiator/0.6.2: + resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + /neo-async/2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: false - resolution: - integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + /nested-error-stacks/2.1.0: + resolution: {integrity: sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==} dev: false - resolution: - integrity: sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== - /netmask/2.0.2: - dev: false - engines: - node: '>= 0.4.0' - resolution: - integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + /nice-try/1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: false - resolution: - integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + /nise/4.1.0: + resolution: {integrity: sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==} dependencies: '@sinonjs/commons': 1.8.3 '@sinonjs/fake-timers': 6.0.1 @@ -5738,74 +5702,79 @@ packages: just-extend: 4.2.1 path-to-regexp: 1.8.0 dev: false - resolution: - integrity: sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA== + /nock/12.0.3: + resolution: {integrity: sha512-QNb/j8kbFnKCiyqi9C5DD0jH/FubFGj5rt9NQFONXwQm3IPB0CULECg/eS3AU1KgZb/6SwUa4/DTRKhVxkGABw==} + engines: {node: '>= 10.13'} dependencies: debug: 4.3.2 json-stringify-safe: 5.0.1 lodash: 4.17.21 propagate: 2.0.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>= 10.13' - resolution: - integrity: sha512-QNb/j8kbFnKCiyqi9C5DD0jH/FubFGj5rt9NQFONXwQm3IPB0CULECg/eS3AU1KgZb/6SwUa4/DTRKhVxkGABw== - /node-abi/2.30.0: + + /node-abi/2.30.1: + resolution: {integrity: sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==} dependencies: semver: 5.7.1 dev: false - resolution: - integrity: sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg== + /node-abort-controller/1.2.1: + resolution: {integrity: sha512-79PYeJuj6S9+yOHirR0JBLFOgjB6sQCir10uN6xRx25iD+ZD4ULqgRn3MwWBRaQGB0vEgReJzWwJo42T1R6YbQ==} dev: false - resolution: - integrity: sha512-79PYeJuj6S9+yOHirR0JBLFOgjB6sQCir10uN6xRx25iD+ZD4ULqgRn3MwWBRaQGB0vEgReJzWwJo42T1R6YbQ== + /node-addon-api/3.2.1: + resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} dev: false - resolution: - integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + /node-environment-flags/1.0.6: + resolution: {integrity: sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==} dependencies: object.getownpropertydescriptors: 2.1.2 semver: 5.7.1 dev: false - resolution: - integrity: sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== + /node-fetch/2.6.1: + resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==} + engines: {node: 4.x || >=6.0.0} dev: false - engines: - node: 4.x || >=6.0.0 - resolution: - integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - /node-releases/1.1.73: + + /node-fetch/2.6.2: + resolution: {integrity: sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==} + engines: {node: 4.x || >=6.0.0} dev: false - resolution: - integrity: sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== + + /node-releases/1.1.75: + resolution: {integrity: sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==} + dev: false + /normalize-package-data/2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.20.0 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: false - resolution: - integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + /normalize-path/2.1.1: + resolution: {integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + /npm-run-all/4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true dependencies: ansi-styles: 3.2.1 chalk: 2.4.2 @@ -5817,35 +5786,32 @@ packages: shell-quote: 1.7.2 string.prototype.padend: 3.1.2 dev: false - engines: - node: '>= 4' - hasBin: true - resolution: - integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + /npmlog/4.1.2: + resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} dependencies: - are-we-there-yet: 1.1.5 + are-we-there-yet: 1.1.7 console-control-strings: 1.1.0 gauge: 2.7.4 set-blocking: 2.0.0 dev: false - resolution: - integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + /number-is-nan/1.0.1: + resolution: {integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + /nyc/14.1.1: + resolution: {integrity: sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==} + engines: {node: '>=6'} + hasBin: true dependencies: archy: 1.0.0 caching-transform: 3.0.2 @@ -5866,387 +5832,335 @@ packages: merge-source-map: 1.1.0 resolve-from: 4.0.0 rimraf: 2.7.1 - signal-exit: 3.0.3 + signal-exit: 3.0.4 spawn-wrap: 1.4.3 test-exclude: 5.2.3 uuid: 3.4.0 yargs: 13.3.2 yargs-parser: 13.1.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=6' - hasBin: true - resolution: - integrity: sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw== + /oauth-sign/0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} dev: false - resolution: - integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + /object-assign/4.1.1: + resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + /object-inspect/1.11.0: + resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==} dev: false - resolution: - integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + /object.assign/4.1.0: + resolution: {integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.1.3 function-bind: 1.1.1 has-symbols: 1.0.2 object-keys: 1.1.1 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + /object.assign/4.1.2: + resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 has-symbols: 1.0.2 object-keys: 1.1.1 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + /object.getownpropertydescriptors/2.1.2: + resolution: {integrity: sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==} + engines: {node: '>= 0.8'} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 - es-abstract: 1.18.3 + es-abstract: 1.18.6 dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + /object.values/1.1.4: + resolution: {integrity: sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 - es-abstract: 1.18.3 + es-abstract: 1.18.6 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== + /on-finished/2.3.0: + resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} + engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + /once/1.4.0: + resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} dependencies: wrappy: 1.0.2 dev: false - resolution: - integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + /open/7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 is-wsl: 2.2.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - /optionator/0.8.3: + + /open/8.2.1: + resolution: {integrity: sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==} + engines: {node: '>=12'} dependencies: - deep-is: 0.1.3 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.3 + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + /optionator/0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} dependencies: - deep-is: 0.1.3 + deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.3 dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + /os-homedir/1.0.2: + resolution: {integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - /p-finally/2.0.1: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + /p-limit/1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} dependencies: p-try: 1.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + /p-locate/2.0.0: + resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=} + engines: {node: '>=4'} dependencies: p-limit: 1.3.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + /p-locate/3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + dev: false + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + /p-try/1.0.0: + resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - /pac-proxy-agent/4.1.0: - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.2 - get-uri: 3.0.2 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 - pac-resolver: 4.2.0 - raw-body: 2.4.1 - socks-proxy-agent: 5.0.1 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q== - /pac-resolver/4.2.0: - dependencies: - degenerator: 2.2.0 - ip: 1.1.5 - netmask: 2.0.2 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-rPACZdUyuxT5Io/gFKUeeZFfE5T7ve7cAkE5TUZRRfuKP0u5Hocwe48X7ZEm6mYB+bTB0Qf+xlVlA/RM/i6RCQ== + /package-hash/3.0.0: + resolution: {integrity: sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==} + engines: {node: '>=6'} dependencies: - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 hasha: 3.0.0 lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA== + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + /parse-json/4.0.0: + resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} + engines: {node: '>=4'} dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + /parse-passwd/1.0.0: + resolution: {integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + /parseurl/1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + /path-browserify/1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: false - resolution: - integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + /path-exists/3.0.0: + resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} + engines: {node: '>=4'} + dev: false + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + /path-is-absolute/1.0.1: + resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /path-key/2.0.1: + resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: false - resolution: - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + /path-to-regexp/0.1.7: + resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} dev: false - resolution: - integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + /path-to-regexp/1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} dependencies: isarray: 0.0.1 dev: false - resolution: - integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + /path-to-regexp/2.4.0: + resolution: {integrity: sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==} dev: false - resolution: - integrity: sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w== + /path-type/3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + /pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: false - resolution: - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + /pend/1.2.0: + resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} dev: false - resolution: - integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA= + /performance-now/2.1.0: + resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=} dev: false - resolution: - integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + /picomatch/2.3.0: + resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} + engines: {node: '>=8.6'} dev: false - engines: - node: '>=8.6' - resolution: - integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + /pidtree/0.3.1: - dev: false - engines: - node: '>=0.10' + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} hasBin: true - resolution: - integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + dev: false + /pify/3.0.0: + resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + /pify/4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + /pkg-dir/2.0.0: + resolution: {integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=} + engines: {node: '>=4'} dependencies: find-up: 2.1.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + /pkg-dir/3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} dependencies: find-up: 3.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: false + /pkg-up/2.0.0: + resolution: {integrity: sha1-yBmscoBZpGHKscOImivjxJoATX8=} + engines: {node: '>=4'} dependencies: find-up: 2.1.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-yBmscoBZpGHKscOImivjxJoATX8= + /pluralize/8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - /prebuild-install/6.1.3: + + /prebuild-install/6.1.4: + resolution: {integrity: sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==} + engines: {node: '>=6'} + hasBin: true dependencies: detect-libc: 1.0.3 expand-template: 2.0.3 @@ -6254,7 +6168,7 @@ packages: minimist: 1.2.5 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 2.30.0 + node-abi: 2.30.1 npmlog: 4.1.2 pump: 3.0.0 rc: 1.2.8 @@ -6262,301 +6176,238 @@ packages: tar-fs: 2.1.1 tunnel-agent: 0.6.0 dev: false - engines: - node: '>=6' - hasBin: true - resolution: - integrity: sha512-iqqSR84tNYQUQHRXalSKdIaM8Ov1QxOVuBNWI7+BzZWv6Ih9k75wOnH1rGQ9WWTaaLkTpxWKIciOF0KyfM74+Q== - /prelude-ls/1.1.2: - dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + /prettier/1.19.1: - dev: false - engines: - node: '>=4' + resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} + engines: {node: '>=4'} hasBin: true - resolution: - integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - /prettier/2.2.1: dev: false - engines: - node: '>=10.13.0' + + /prettier/2.2.1: + resolution: {integrity: sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==} + engines: {node: '>=10.13.0'} hasBin: true - resolution: - integrity: sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== + dev: false + /priorityqueuejs/1.0.0: + resolution: {integrity: sha1-LuTyPCVgkT4IwHzlzN1t498sWvg=} dev: false - resolution: - integrity: sha1-LuTyPCVgkT4IwHzlzN1t498sWvg= + /process-nextick-args/1.0.7: + resolution: {integrity: sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=} dev: false - resolution: - integrity: sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: false - resolution: - integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + /process/0.11.10: + resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=} + engines: {node: '>= 0.6.0'} dev: false - engines: - node: '>= 0.6.0' - resolution: - integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + + /progress/2.0.1: + resolution: {integrity: sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==} + engines: {node: '>=0.4.0'} + dev: false + /progress/2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} dev: false - engines: - node: '>=0.4.0' - resolution: - integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + /promise/8.1.0: + resolution: {integrity: sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==} dependencies: asap: 2.0.6 dev: false - resolution: - integrity: sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q== + /propagate/2.0.1: + resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} + engines: {node: '>= 8'} dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== + /proxy-addr/2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 dev: false - engines: - node: '>= 0.10' - resolution: - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - /proxy-agent/4.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.3.2 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 - lru-cache: 5.1.1 - pac-proxy-agent: 4.1.0 - proxy-from-env: 1.1.0 - socks-proxy-agent: 5.0.1 - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-ODnQnW2jc/FUVwHHuaZEfN5otg/fMbvMxz9nMSUQfJ9JU7q2SZvSULSsjLloVgJOiv9yhc8GlNMKc4GkFmcVEA== + /proxy-from-env/1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false - resolution: - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + /pseudomap/1.0.2: + resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} dev: false - resolution: - integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + /psl/1.8.0: + resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} dev: false - resolution: - integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: false - resolution: - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + /punycode/1.3.2: + resolution: {integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=} dev: false - resolution: - integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + /punycode/2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - /puppeteer/3.3.0: + + /puppeteer/10.2.0: + resolution: {integrity: sha512-OR2CCHRashF+f30+LBOtAjK6sNtz2HEyTr5FqAvhf8lR/qB3uBRoIZOwQKgwoyZnMBsxX7ZdazlyBgGjpnkiMw==} + engines: {node: '>=10.18.1'} + requiresBuild: true dependencies: - debug: 4.3.2 + debug: 4.3.1 + devtools-protocol: 0.0.901419 extract-zip: 2.0.1 - https-proxy-agent: 4.0.0 - mime: 2.5.2 - progress: 2.0.3 + https-proxy-agent: 5.0.0 + node-fetch: 2.6.1 + pkg-dir: 4.2.0 + progress: 2.0.1 proxy-from-env: 1.1.0 rimraf: 3.0.2 - tar-fs: 2.1.1 - unbzip2-stream: 1.4.3 - ws: 7.5.3 + tar-fs: 2.0.0 + unbzip2-stream: 1.3.3 + ws: 7.4.6 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate dev: false - engines: - node: '>=10.18.1' - requiresBuild: true - resolution: - integrity: sha512-23zNqRltZ1PPoK28uRefWJ/zKb5Jhnzbbwbpcna2o5+QMn17F0khq5s1bdH3vPlyj+J36pubccR8wiNA/VE0Vw== + /qjobs/1.2.0: + resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} + engines: {node: '>=0.9'} dev: false - engines: - node: '>=0.9' - resolution: - integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== + /qs/6.10.1: + resolution: {integrity: sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: false - engines: - node: '>=0.6' - resolution: - integrity: sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + /qs/6.5.2: + resolution: {integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==} + engines: {node: '>=0.6'} dev: false - engines: - node: '>=0.6' - resolution: - integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + /qs/6.7.0: + resolution: {integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==} + engines: {node: '>=0.6'} dev: false - engines: - node: '>=0.6' - resolution: - integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - /query-string/5.1.1: - dependencies: - decode-uri-component: 0.2.0 - object-assign: 4.1.1 - strict-uri-encode: 1.1.0 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + /querystring/0.2.0: + resolution: {integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=} + engines: {node: '>=0.4.x'} deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: false - engines: - node: '>=0.4.x' - resolution: - integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + /querystring/0.2.1: + resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} + engines: {node: '>=0.4.x'} deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: false - engines: - node: '>=0.4.x' - resolution: - integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - resolution: - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + /quote/0.4.0: + resolution: {integrity: sha1-EIOSF/bBNiuJGUBE0psjP9fzLwE=} dev: false - resolution: - integrity: sha1-EIOSF/bBNiuJGUBE0psjP9fzLwE= + /ramda/0.27.1: + resolution: {integrity: sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==} dev: false - resolution: - integrity: sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== + /randombytes/2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: false - resolution: - integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + /range-parser/1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + /raw-body/2.4.0: + resolution: {integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==} + engines: {node: '>= 0.8'} dependencies: bytes: 3.1.0 http-errors: 1.7.2 iconv-lite: 0.4.24 unpipe: 1.0.0 dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - /raw-body/2.4.1: - dependencies: - bytes: 3.1.0 - http-errors: 1.7.3 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + /rc/1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true dependencies: deep-extend: 0.6.0 ini: 1.3.8 minimist: 1.2.5 strip-json-comments: 2.0.1 dev: false - hasBin: true - resolution: - integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + /read-pkg-up/3.0.0: + resolution: {integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=} + engines: {node: '>=4'} dependencies: find-up: 2.1.0 read-pkg: 3.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + /read-pkg-up/4.0.0: + resolution: {integrity: sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==} + engines: {node: '>=6'} dependencies: find-up: 3.0.0 read-pkg: 3.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + /read-pkg/3.0.0: + resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=} + engines: {node: '>=4'} dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - /readable-stream/1.1.14: - dependencies: - core-util-is: 1.0.2 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: false - resolution: - integrity: sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + /readable-stream/2.0.6: + resolution: {integrity: sha1-j5A0HmilPMySh4jaz80Rs265t44=} dependencies: - core-util-is: 1.0.2 + core-util-is: 1.0.3 inherits: 2.0.4 isarray: 1.0.0 process-nextick-args: 1.0.7 string_decoder: 0.10.31 util-deprecate: 1.0.2 dev: false - resolution: - integrity: sha1-j5A0HmilPMySh4jaz80Rs265t44= + /readable-stream/2.3.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: - core-util-is: 1.0.2 + core-util-is: 1.0.3 inherits: 2.0.4 isarray: 1.0.0 process-nextick-args: 2.0.1 @@ -6564,69 +6415,65 @@ packages: string_decoder: 1.1.1 util-deprecate: 1.0.2 dev: false - resolution: - integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + /readable-stream/3.6.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + /readdirp/3.2.0: + resolution: {integrity: sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==} + engines: {node: '>= 8'} dependencies: picomatch: 2.3.0 dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.0 dev: false - engines: - node: '>=8.10.0' - resolution: - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + /rechoir/0.6.2: + resolution: {integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=} + engines: {node: '>= 0.10'} dependencies: resolve: 1.20.0 dev: false - engines: - node: '>= 0.10' - resolution: - integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + /regenerator-runtime/0.11.1: + resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} dev: false - resolution: - integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - /regenerator-runtime/0.13.7: + + /regenerator-runtime/0.13.9: + resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} dev: false - resolution: - integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + /regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + /release-zalgo/1.0.0: + resolution: {integrity: sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=} + engines: {node: '>=4'} dependencies: es6-error: 4.1.1 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= + /remove-trailing-separator/1.1.0: + resolution: {integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8=} dev: false - resolution: - integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + /request/2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 dependencies: aws-sign2: 0.7.0 aws4: 1.11.0 @@ -6640,7 +6487,7 @@ packages: is-typedarray: 1.0.0 isstream: 0.1.2 json-stringify-safe: 5.0.1 - mime-types: 2.1.31 + mime-types: 2.1.32 oauth-sign: 0.9.0 performance-now: 2.1.0 qs: 6.5.2 @@ -6648,177 +6495,169 @@ packages: tough-cookie: 2.5.0 tunnel-agent: 0.6.0 uuid: 3.4.0 - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + /require-directory/2.1.1: + resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + /require-from-string/2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + /require-in-the-middle/5.1.0: + resolution: {integrity: sha512-M2rLKVupQfJ5lf9OvqFGIT+9iVLnTmjgbOmpil12hiSQNn5zJTKGPoIisETNjfK+09vP3rpm1zJajmErpr2sEQ==} dependencies: debug: 4.3.2 module-details-from-path: 1.0.3 resolve: 1.20.0 + transitivePeerDependencies: + - supports-color dev: false - resolution: - integrity: sha512-M2rLKVupQfJ5lf9OvqFGIT+9iVLnTmjgbOmpil12hiSQNn5zJTKGPoIisETNjfK+09vP3rpm1zJajmErpr2sEQ== + /require-main-filename/2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: false - resolution: - integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + /requirejs/2.3.6: - dev: false - engines: - node: '>=0.4.0' + resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} + engines: {node: '>=0.4.0'} hasBin: true - resolution: - integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg== + dev: false + /requires-port/1.0.0: + resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=} dev: false - resolution: - integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + /resolve-dir/1.0.1: + resolution: {integrity: sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=} + engines: {node: '>=0.10.0'} dependencies: expand-tilde: 2.0.2 global-modules: 1.0.0 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + /resolve-url/0.2.1: + resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} deprecated: https://github.com/lydell/resolve-url#deprecated dev: false - resolution: - integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + /resolve/1.17.0: + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} dependencies: path-parse: 1.0.7 dev: false - resolution: - integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + /resolve/1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.5.0 + is-core-module: 2.6.0 path-parse: 1.0.7 dev: false - resolution: - integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + /resolve/1.20.0: + resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} dependencies: - is-core-module: 2.5.0 + is-core-module: 2.6.0 path-parse: 1.0.7 dev: false - resolution: - integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + /resolve/1.8.1: + resolution: {integrity: sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==} dependencies: path-parse: 1.0.7 dev: false - resolution: - integrity: sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: false - engines: - iojs: '>=1.0.0' - node: '>=0.10.0' - resolution: - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + /rfdc/1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: false - resolution: - integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + /rhea-promise/0.1.15: + resolution: {integrity: sha512-+6uilZXSJGyiqVeHQI3Krv6NTAd8cWRCY2uyCxmzR4/5IFtBqqFem1HV2OiwSj0Gu7OFChIJDfH2JyjN7J0vRA==} dependencies: debug: 3.2.7 rhea: 1.0.24 tslib: 1.14.1 dev: false - resolution: - integrity: sha512-+6uilZXSJGyiqVeHQI3Krv6NTAd8cWRCY2uyCxmzR4/5IFtBqqFem1HV2OiwSj0Gu7OFChIJDfH2JyjN7J0vRA== + /rhea-promise/2.1.0: + resolution: {integrity: sha512-CRMwdJ/o4oO/xKcvAwAsd0AHy5fVvSlqso7AadRmaaLGzAzc9LCoW7FOFnucI8THasVmOeCnv5c/fH/n7FcNaA==} dependencies: debug: 3.2.7 - rhea: 2.0.3 - tslib: 2.3.0 + rhea: 2.0.4 + tslib: 2.3.1 dev: false - resolution: - integrity: sha512-CRMwdJ/o4oO/xKcvAwAsd0AHy5fVvSlqso7AadRmaaLGzAzc9LCoW7FOFnucI8THasVmOeCnv5c/fH/n7FcNaA== + /rhea/1.0.24: + resolution: {integrity: sha512-PEl62U2EhxCO5wMUZ2/bCBcXAVKN9AdMSNQOrp3+R5b77TEaOSiy16MQ0sIOmzj/iqsgIAgPs1mt3FYfu1vIXA==} dependencies: debug: 3.2.7 dev: false - resolution: - integrity: sha512-PEl62U2EhxCO5wMUZ2/bCBcXAVKN9AdMSNQOrp3+R5b77TEaOSiy16MQ0sIOmzj/iqsgIAgPs1mt3FYfu1vIXA== - /rhea/2.0.3: + + /rhea/2.0.4: + resolution: {integrity: sha512-GpGqJV6dPG+bh88ZvlkzcaqKM3bW6+YDHSegSjdPkoCi3UIsWN6yu6i4LMhpojNg1U5UOGqshCoMMNO5Hkoeog==} dependencies: debug: 3.2.7 dev: false - resolution: - integrity: sha512-goQWv15ci6RdjtSpDezknlJ0PQDDkkJiMVxC3oS8DpECnzLFov01WMJ23cpXW+L3hlSQwyunqX9kc0JW6/lziw== + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true dependencies: glob: 7.1.7 dev: false - hasBin: true - resolution: - integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true dependencies: glob: 7.1.7 dev: false - hasBin: true - resolution: - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + /rollup-plugin-local-resolve/1.0.7: + resolution: {integrity: sha1-xIZwFxbBWt0hJ1ZcLqoQESMyCIc=} dev: false - resolution: - integrity: sha1-xIZwFxbBWt0hJ1ZcLqoQESMyCIc= + /rollup-plugin-node-resolve/3.4.0: + resolution: {integrity: sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve. dependencies: builtin-modules: 2.0.0 is-module: 1.0.0 resolve: 1.20.0 - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve. dev: false - resolution: - integrity: sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg== + /rollup-plugin-shim/1.0.0: + resolution: {integrity: sha512-rZqFD43y4U9nSqVq3iyWBiDwmBQJY8Txi04yI9jTKD3xcl7CbFjh1qRpQshUB3sONLubDzm7vJiwB+1MEGv67w==} dev: false - resolution: - integrity: sha512-rZqFD43y4U9nSqVq3iyWBiDwmBQJY8Txi04yI9jTKD3xcl7CbFjh1qRpQshUB3sONLubDzm7vJiwB+1MEGv67w== + /rollup-plugin-sourcemaps/0.4.2_rollup@1.32.1: + resolution: {integrity: sha1-YhJaqUCHqt97g+9N+vYptHMTXoc=} + engines: {node: '>=4.5.0', npm: '>=2.15.9'} + peerDependencies: + rollup: '>=0.31.2' dependencies: rollup: 1.32.1 rollup-pluginutils: 2.8.2 source-map-resolve: 0.5.3 dev: false - engines: - node: '>=4.5.0' - npm: '>=2.15.9' - peerDependencies: - rollup: '>=0.31.2' - resolution: - integrity: sha1-YhJaqUCHqt97g+9N+vYptHMTXoc= + /rollup-plugin-terser/5.3.1_rollup@1.32.1: + resolution: {integrity: sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==} + peerDependencies: + rollup: '>=0.66.0 <3' dependencies: '@babel/code-frame': 7.14.5 jest-worker: 24.9.0 @@ -6827,97 +6666,93 @@ packages: serialize-javascript: 4.0.0 terser: 4.8.0 dev: false - peerDependencies: - rollup: '>=0.66.0 <3' - resolution: - integrity: sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== + /rollup-plugin-visualizer/4.2.2_rollup@1.32.1: + resolution: {integrity: sha512-10/TsugsaQL5rdynl0lrklBngTtkRBESZdxUJy+3fN+xKqNdg5cr7JQU1OoPx4p5mhQ+nspa6EvX3qc8SsBvnA==} + engines: {node: '>=10'} + hasBin: true + peerDependencies: + rollup: '>=1.20.0' dependencies: - nanoid: 3.1.23 + nanoid: 3.1.25 open: 7.4.2 rollup: 1.32.1 source-map: 0.7.3 yargs: 16.2.0 dev: false - engines: - node: '>=10' - hasBin: true - peerDependencies: - rollup: '>=1.20.0' - resolution: - integrity: sha512-10/TsugsaQL5rdynl0lrklBngTtkRBESZdxUJy+3fN+xKqNdg5cr7JQU1OoPx4p5mhQ+nspa6EvX3qc8SsBvnA== + /rollup-pluginutils/2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 dev: false - resolution: - integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + /rollup/1.32.1: + resolution: {integrity: sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==} + hasBin: true dependencies: '@types/estree': 0.0.50 - '@types/node': 12.20.16 + '@types/node': 12.20.25 acorn: 7.4.1 dev: false - hasBin: true - resolution: - integrity: sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: false - resolution: - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: false - resolution: - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - resolution: - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: false - resolution: - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + /sax/0.5.8: + resolution: {integrity: sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=} dev: false - resolution: - integrity: sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE= + /sax/1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: false - resolution: - integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + /semaphore/1.1.0: + resolution: {integrity: sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==} + engines: {node: '>=0.8.0'} dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== + /semver/5.3.0: - dev: false + resolution: {integrity: sha1-myzl094C0XxgEq0yaqa00M9U+U8=} hasBin: true - resolution: - integrity: sha1-myzl094C0XxgEq0yaqa00M9U+U8= - /semver/5.7.1: dev: false + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true - resolution: - integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - /semver/6.3.0: dev: false + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - resolution: - integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + dev: false + /semver/7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} + engines: {node: '>=10'} + hasBin: true dependencies: lru-cache: 6.0.0 dev: false - engines: - node: '>=10' - hasBin: true - resolution: - integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + /send/0.17.1: + resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==} + engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 depd: 1.1.2 @@ -6933,117 +6768,108 @@ packages: range-parser: 1.2.1 statuses: 1.5.0 dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + /serialize-javascript/4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: randombytes: 2.1.0 dev: false - resolution: - integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + /serve-static/1.14.1: + resolution: {integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==} + engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 parseurl: 1.3.3 send: 0.17.1 dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + /set-blocking/2.0.0: + resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} dev: false - resolution: - integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + /setprototypeof/1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: false - resolution: - integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + /shebang-command/1.2.0: + resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} + engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + /shebang-regex/1.0.0: + resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + /shell-quote/1.7.2: + resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==} dev: false - resolution: - integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + /shelljs/0.8.4: + resolution: {integrity: sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==} + engines: {node: '>=4'} + hasBin: true dependencies: glob: 7.1.7 interpret: 1.4.0 rechoir: 0.6.2 dev: false - engines: - node: '>=4' - hasBin: true - resolution: - integrity: sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + /shimmer/1.2.1: + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} dev: false - resolution: - integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== + /shx/0.3.3: + resolution: {integrity: sha512-nZJ3HFWVoTSyyB+evEKjJ1STiixGztlqwKLTUNV5KqMWtGey9fTd4KU1gdZ1X9BV6215pswQ/Jew9NsuS/fNDA==} + engines: {node: '>=6'} + hasBin: true dependencies: minimist: 1.2.5 shelljs: 0.8.4 dev: false - engines: - node: '>=6' - hasBin: true - resolution: - integrity: sha512-nZJ3HFWVoTSyyB+evEKjJ1STiixGztlqwKLTUNV5KqMWtGey9fTd4KU1gdZ1X9BV6215pswQ/Jew9NsuS/fNDA== + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.1 object-inspect: 1.11.0 dev: false - resolution: - integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - /signal-exit/3.0.3: + + /signal-exit/3.0.4: + resolution: {integrity: sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==} dev: false - resolution: - integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + /simple-concat/1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} dev: false - resolution: - integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + /simple-get/3.1.0: + resolution: {integrity: sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==} dependencies: decompress-response: 4.2.1 once: 1.4.0 simple-concat: 1.0.1 dev: false - resolution: - integrity: sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + /sinon/9.2.4: + resolution: {integrity: sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==} dependencies: '@sinonjs/commons': 1.8.3 '@sinonjs/fake-timers': 6.0.1 @@ -7052,32 +6878,24 @@ packages: nise: 4.1.0 supports-color: 7.2.0 dev: false - resolution: - integrity: sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg== + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + /slice-ansi/4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - /smart-buffer/4.1.0: - dev: false - engines: - node: '>= 6.0.0' - npm: '>= 3.0.0' - resolution: - integrity: sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== + /snap-shot-compare/3.0.0: + resolution: {integrity: sha512-bdwNOAGuKwPU+qsn0ASxTv+QfkXU+3VmkcDOkt965tes+JQQc8d6SfoLiEiRVhCey4v+ip2IjNUSbZm5nnkI9g==} + engines: {node: '>=6'} dependencies: check-more-types: 2.24.0 debug: 4.1.1 @@ -7087,11 +6905,11 @@ packages: strip-ansi: 5.2.0 variable-diff: 1.1.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-bdwNOAGuKwPU+qsn0ASxTv+QfkXU+3VmkcDOkt965tes+JQQc8d6SfoLiEiRVhCey4v+ip2IjNUSbZm5nnkI9g== + /snap-shot-core/10.2.4: + resolution: {integrity: sha512-A7tkcfmvnRKge4VzFLAWA4UYMkvFY4TZKyL+D6hnHjI3HJ4pTepjG5DfR2ACeDKMzCSTQ5EwR2iOotI+Z37zsg==} + engines: {node: '>=6'} + hasBin: true dependencies: arg: 4.1.3 check-more-types: 2.24.0 @@ -7106,13 +6924,13 @@ packages: pluralize: 8.0.0 quote: 0.4.0 ramda: 0.27.1 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=6' - hasBin: true - resolution: - integrity: sha512-A7tkcfmvnRKge4VzFLAWA4UYMkvFY4TZKyL+D6hnHjI3HJ4pTepjG5DfR2ACeDKMzCSTQ5EwR2iOotI+Z37zsg== + /snap-shot-it/7.9.6: + resolution: {integrity: sha512-t/ADZfQ8EUk4J76S5cmynye7qg1ecUFqQfANiOMNy0sFmYUaqfx9K/AWwpdcpr3vFsDptM+zSuTtKD0A1EOLqA==} + engines: {node: '>=6'} dependencies: '@bahmutov/data-driven': 1.0.0 check-more-types: 2.24.0 @@ -7125,62 +6943,46 @@ packages: ramda: 0.27.1 snap-shot-compare: 3.0.0 snap-shot-core: 10.2.4 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-t/ADZfQ8EUk4J76S5cmynye7qg1ecUFqQfANiOMNy0sFmYUaqfx9K/AWwpdcpr3vFsDptM+zSuTtKD0A1EOLqA== + /socket.io-adapter/2.1.0: + resolution: {integrity: sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==} dev: false - resolution: - integrity: sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg== + /socket.io-parser/4.0.4: + resolution: {integrity: sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==} + engines: {node: '>=10.0.0'} dependencies: '@types/component-emitter': 1.2.10 component-emitter: 1.3.0 debug: 4.3.2 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=10.0.0' - resolution: - integrity: sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== + /socket.io/3.1.2: + resolution: {integrity: sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==} + engines: {node: '>=10.0.0'} dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.12 - '@types/node': 12.20.16 + '@types/node': 12.20.25 accepts: 1.3.7 base64id: 2.0.0 debug: 4.3.2 engine.io: 4.1.1 socket.io-adapter: 2.1.0 socket.io-parser: 4.0.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate dev: false - engines: - node: '>=10.0.0' - resolution: - integrity: sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw== - /socks-proxy-agent/5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.3.2 - socks: 2.6.1 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== - /socks/2.6.1: - dependencies: - ip: 1.1.5 - smart-buffer: 4.1.0 - dev: false - engines: - node: '>= 10.13.0' - npm: '>= 3.0.0' - resolution: - integrity: sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== + /source-map-resolve/0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} dependencies: atob: 2.1.2 decode-uri-component: 0.2.0 @@ -7188,79 +6990,78 @@ packages: source-map-url: 0.4.1 urix: 0.1.0 dev: false - resolution: - integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - /source-map-support/0.5.19: + + /source-map-support/0.5.20: + resolution: {integrity: sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==} dependencies: - buffer-from: 1.1.1 + buffer-from: 1.1.2 source-map: 0.6.1 dev: false - resolution: - integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + /source-map-url/0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} dev: false - resolution: - integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + /source-map/0.5.7: + resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + /source-map/0.7.3: + resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} + engines: {node: '>= 8'} dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + /sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} dev: false - resolution: - integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + /spawn-wrap/1.4.3: + resolution: {integrity: sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==} dependencies: foreground-child: 1.5.6 mkdirp: 0.5.5 os-homedir: 1.0.2 rimraf: 2.7.1 - signal-exit: 3.0.3 + signal-exit: 3.0.4 which: 1.3.1 dev: false - resolution: - integrity: sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw== + /spdx-correct/3.1.1: + resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.9 + spdx-license-ids: 3.0.10 dev: false - resolution: - integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + /spdx-exceptions/2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} dev: false - resolution: - integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + /spdx-expression-parse/3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.9 + spdx-license-ids: 3.0.10 dev: false - resolution: - integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - /spdx-license-ids/3.0.9: + + /spdx-license-ids/3.0.10: + resolution: {integrity: sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==} dev: false - resolution: - integrity: sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== + /sprintf-js/1.0.3: + resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} dev: false - resolution: - integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + /sshpk/1.16.1: + resolution: {integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==} + engines: {node: '>=0.10.0'} + hasBin: true dependencies: asn1: 0.2.4 assert-plus: 1.0.0 @@ -7272,249 +7073,228 @@ packages: safer-buffer: 2.1.2 tweetnacl: 0.14.5 dev: false - engines: - node: '>=0.10.0' - hasBin: true - resolution: - integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + /statuses/1.5.0: + resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} + engines: {node: '>= 0.6'} dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + /stoppable/1.1.0: + resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} + engines: {node: '>=4', npm: '>=6'} dev: false - engines: - node: '>=4' - npm: '>=6' - resolution: - integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw== + /stream-browserify/2.0.2: + resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} dependencies: inherits: 2.0.4 readable-stream: 2.3.7 dev: false - resolution: - integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + /streamroller/2.2.4: + resolution: {integrity: sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==} + engines: {node: '>=8.0'} dependencies: date-format: 2.1.0 debug: 4.3.2 fs-extra: 8.1.0 + transitivePeerDependencies: + - supports-color dev: false - engines: - node: '>=8.0' - resolution: - integrity: sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ== - /strict-uri-encode/1.1.0: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + /string-argv/0.3.1: + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + engines: {node: '>=0.6.19'} dev: false - engines: - node: '>=0.6.19' - resolution: - integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + /string-width/1.0.2: + resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=} + engines: {node: '>=0.10.0'} dependencies: code-point-at: 1.1.0 is-fullwidth-code-point: 1.0.0 strip-ansi: 3.0.1 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + /string-width/2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} dependencies: is-fullwidth-code-point: 2.0.0 strip-ansi: 4.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + /string-width/3.1.0: + resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} + engines: {node: '>=6'} dependencies: emoji-regex: 7.0.3 is-fullwidth-code-point: 2.0.0 strip-ansi: 5.2.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + /string-width/4.2.2: + resolution: {integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + /string.prototype.padend/3.1.2: + resolution: {integrity: sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 - es-abstract: 1.18.3 + es-abstract: 1.18.6 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== + /string.prototype.trimend/1.0.4: + resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 dev: false - resolution: - integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + /string.prototype.trimstart/1.0.4: + resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 dev: false - resolution: - integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + /string_decoder/0.10.31: + resolution: {integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=} dev: false - resolution: - integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: false - resolution: - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + /string_decoder/1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: false - resolution: - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + /strip-ansi/3.0.1: + resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} + engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + /strip-ansi/4.0.0: + resolution: {integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=} + engines: {node: '>=4'} dependencies: ansi-regex: 3.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8= + /strip-ansi/5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} dependencies: ansi-regex: 4.1.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + /strip-ansi/6.0.0: + resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} + engines: {node: '>=8'} dependencies: - ansi-regex: 5.0.0 + ansi-regex: 5.0.1 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + /strip-bom/3.0.0: + resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + /strip-json-comments/2.0.1: + resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + /supports-color/2.0.0: + resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=} + engines: {node: '>=0.8.0'} dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + /supports-color/6.0.0: + resolution: {integrity: sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==} + engines: {node: '>=6'} dependencies: has-flag: 3.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== + /supports-color/6.1.0: + resolution: {integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==} + engines: {node: '>=6'} dependencies: has-flag: 3.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + /table/6.7.1: + resolution: {integrity: sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==} + engines: {node: '>=10.0.0'} dependencies: - ajv: 8.6.2 + ajv: 8.6.3 lodash.clonedeep: 4.5.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.2 strip-ansi: 6.0.0 dev: false - engines: - node: '>=10.0.0' - resolution: - integrity: sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + + /tar-fs/2.0.0: + resolution: {integrity: sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==} + dependencies: + chownr: 1.1.4 + mkdirp: 0.5.5 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + /tar-fs/2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 pump: 3.0.0 tar-stream: 2.2.0 dev: false - resolution: - integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + /tar-stream/2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -7522,216 +7302,207 @@ packages: inherits: 2.0.4 readable-stream: 3.6.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + /terser/4.8.0: + resolution: {integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==} + engines: {node: '>=6.0.0'} + hasBin: true dependencies: commander: 2.20.3 source-map: 0.6.1 - source-map-support: 0.5.19 + source-map-support: 0.5.20 dev: false - engines: - node: '>=6.0.0' - hasBin: true - resolution: - integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + /test-exclude/5.2.3: + resolution: {integrity: sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==} + engines: {node: '>=6'} dependencies: glob: 7.1.7 minimatch: 3.0.4 read-pkg-up: 4.0.0 require-main-filename: 2.0.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== + /text-table/0.2.0: + resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: false - resolution: - integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + /through/2.3.8: + resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} dev: false - resolution: - integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + /timsort/0.3.0: + resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} dev: false - resolution: - integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + /tmp/0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} dependencies: rimraf: 3.0.2 dev: false - engines: - node: '>=8.17.0' - resolution: - integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + /to-fast-properties/2.0.0: + resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 dev: false - engines: - node: '>=8.0' - resolution: - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + /toidentifier/1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} dev: false - engines: - node: '>=0.6' - resolution: - integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + /tough-cookie/2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} dependencies: psl: 1.8.0 punycode: 2.1.1 dev: false - engines: - node: '>=0.8' - resolution: - integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + /tough-cookie/3.0.1: + resolution: {integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==} + engines: {node: '>=6'} dependencies: ip-regex: 2.1.0 psl: 1.8.0 punycode: 2.1.1 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + /tough-cookie/4.0.0: + resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} + engines: {node: '>=6'} dependencies: psl: 1.8.0 punycode: 2.1.1 universalify: 0.1.2 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + /tr46/1.0.1: + resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=} dependencies: punycode: 2.1.1 dev: false - resolution: - integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - /ts-node/9.1.1_typescript@4.2.4: + + /ts-node/10.2.1_28b8c6e1d3819914bc52462370225dda: + resolution: {integrity: sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==} + engines: {node: '>=12.0.0'} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true dependencies: + '@cspotcode/source-map-support': 0.6.1 + '@tsconfig/node10': 1.0.8 + '@tsconfig/node12': 1.0.9 + '@tsconfig/node14': 1.0.1 + '@tsconfig/node16': 1.0.2 + '@types/node': 12.20.25 + acorn: 8.5.0 + acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - source-map-support: 0.5.19 typescript: 4.2.4 yn: 3.1.1 dev: false - engines: - node: '>=10.0.0' - hasBin: true - peerDependencies: - typescript: '>=2.7' - resolution: - integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== - /tsconfig-paths/3.10.1: + + /tsconfig-paths/3.11.0: + resolution: {integrity: sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==} dependencies: - json5: 2.2.0 + '@types/json5': 0.0.29 + json5: 1.0.1 minimist: 1.2.5 strip-bom: 3.0.0 dev: false - resolution: - integrity: sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q== + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: false - resolution: - integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - /tslib/2.3.0: + + /tslib/2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} dev: false - resolution: - integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + /tsutils/3.21.0_typescript@4.2.4: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 typescript: 4.2.4 dev: false - engines: - node: '>= 6' - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - resolution: - integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + /tunnel-agent/0.6.0: + resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} dependencies: safe-buffer: 5.2.1 dev: false - resolution: - integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + /tunnel/0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} dev: false - engines: - node: '>=0.6.11 <=0.7.0 || >=0.7.3' - resolution: - integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + /tweetnacl/0.14.5: + resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} dev: false - resolution: - integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - /type-check/0.3.2: - dependencies: - prelude-ls: 1.1.2 - dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + /type-is/1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 - mime-types: 2.1.31 + mime-types: 2.1.32 dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + /typedoc-default-themes/0.6.3: + resolution: {integrity: sha512-rouf0TcIA4M2nOQFfC7Zp4NEwoYiEX4vX/ZtudJWU9IHA29MPC+PPgSXYLPESkUo7FuB//GxigO3mk9Qe1xp3Q==} + engines: {node: '>= 8'} dependencies: backbone: 1.4.0 jquery: 3.6.0 lunr: 2.3.9 underscore: 1.13.1 dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-rouf0TcIA4M2nOQFfC7Zp4NEwoYiEX4vX/ZtudJWU9IHA29MPC+PPgSXYLPESkUo7FuB//GxigO3mk9Qe1xp3Q== + /typedoc/0.15.2: + resolution: {integrity: sha512-K2nFEtyDQTVdXOzYtECw3TwuT3lM91Zc0dzGSLuor5R8qzZbwqBoCw7xYGVBow6+mEZAvKGznLFsl7FzG+wAgQ==} + engines: {node: '>= 6.0.0'} + hasBin: true dependencies: '@types/minimatch': 3.0.3 fs-extra: 8.1.0 @@ -7745,314 +7516,296 @@ packages: typedoc-default-themes: 0.6.3 typescript: 3.7.7 dev: false - engines: - node: '>= 6.0.0' - hasBin: true - resolution: - integrity: sha512-K2nFEtyDQTVdXOzYtECw3TwuT3lM91Zc0dzGSLuor5R8qzZbwqBoCw7xYGVBow6+mEZAvKGznLFsl7FzG+wAgQ== + /typescript/3.7.7: - dev: false - engines: - node: '>=4.2.0' + resolution: {integrity: sha512-MmQdgo/XenfZPvVLtKZOq9jQQvzaUAUpcKW8Z43x9B2fOm4S5g//tPtMweZUIP+SoBqrVPEIm+dJeQ9dfO0QdA==} + engines: {node: '>=4.2.0'} hasBin: true - resolution: - integrity: sha512-MmQdgo/XenfZPvVLtKZOq9jQQvzaUAUpcKW8Z43x9B2fOm4S5g//tPtMweZUIP+SoBqrVPEIm+dJeQ9dfO0QdA== - /typescript/3.9.10: dev: false - engines: - node: '>=4.2.0' + + /typescript/3.9.10: + resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==} + engines: {node: '>=4.2.0'} hasBin: true - resolution: - integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== - /typescript/4.1.6: dev: false - engines: - node: '>=4.2.0' + + /typescript/4.1.6: + resolution: {integrity: sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==} + engines: {node: '>=4.2.0'} hasBin: true - resolution: - integrity: sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow== + dev: false + /typescript/4.2.4: + resolution: {integrity: sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==} + engines: {node: '>=4.2.0'} + hasBin: true dev: false - engines: - node: '>=4.2.0' + + /typescript/4.3.5: + resolution: {integrity: sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==} + engines: {node: '>=4.2.0'} hasBin: true - resolution: - integrity: sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== - /ua-parser-js/0.7.28: dev: false - resolution: - integrity: sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== - /uglify-js/3.13.10: + + /ua-parser-js/0.7.28: + resolution: {integrity: sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==} dev: false - engines: - node: '>=0.8.0' + + /uglify-js/3.14.2: + resolution: {integrity: sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==} + engines: {node: '>=0.8.0'} hasBin: true - resolution: - integrity: sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg== + dev: false + /unbox-primitive/1.0.1: + resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} dependencies: function-bind: 1.1.1 has-bigints: 1.0.1 has-symbols: 1.0.2 which-boxed-primitive: 1.0.2 dev: false - resolution: - integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - /unbzip2-stream/1.4.3: + + /unbzip2-stream/1.3.3: + resolution: {integrity: sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==} dependencies: buffer: 5.7.1 through: 2.3.8 dev: false - resolution: - integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + /underscore/1.13.1: + resolution: {integrity: sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==} dev: false - resolution: - integrity: sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== + /universal-user-agent/6.0.0: + resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} dev: false - resolution: - integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} dev: false - engines: - node: '>= 4.0.0' - resolution: - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + /unpipe/1.0.0: + resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} + engines: {node: '>= 0.8'} dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.1.1 dev: false - resolution: - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + /urix/0.1.0: + resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} deprecated: Please see https://github.com/lydell/urix#deprecated dev: false - resolution: - integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + /url/0.11.0: + resolution: {integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=} dependencies: punycode: 1.3.2 querystring: 0.2.0 dev: false - resolution: - integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + /util-deprecate/1.0.2: + resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: false - resolution: - integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + /util/0.10.3: + resolution: {integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk=} dependencies: inherits: 2.0.1 dev: false - resolution: - integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + /util/0.11.1: + resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} dependencies: inherits: 2.0.3 dev: false - resolution: - integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + /util/0.12.4: + resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==} dependencies: inherits: 2.0.4 - is-arguments: 1.1.0 - is-generator-function: 1.0.9 - is-typed-array: 1.1.5 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.8 safe-buffer: 5.2.1 - which-typed-array: 1.1.4 + which-typed-array: 1.1.7 dev: false - resolution: - integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + /utils-merge/1.0.1: + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + engines: {node: '>= 0.4.0'} dev: false - engines: - node: '>= 0.4.0' - resolution: - integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + /uuid/3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - dev: false hasBin: true - resolution: - integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - /uuid/8.3.2: dev: false + + /uuid/8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - resolution: - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + dev: false + /v8-compile-cache/2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: false - resolution: - integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.1.1 spdx-expression-parse: 3.0.1 dev: false - resolution: - integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + /validator/8.2.0: + resolution: {integrity: sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==} + engines: {node: '>= 0.10'} dev: false - engines: - node: '>= 0.10' - resolution: - integrity: sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA== + /validator/9.4.1: + resolution: {integrity: sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==} + engines: {node: '>= 0.10'} dev: false - engines: - node: '>= 0.10' - resolution: - integrity: sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA== + /variable-diff/1.1.0: + resolution: {integrity: sha1-0r1cZtt2wTh52W5qMG7cmJ35eNo=} dependencies: chalk: 1.1.3 object-assign: 4.1.1 dev: false - resolution: - integrity: sha1-0r1cZtt2wTh52W5qMG7cmJ35eNo= + /vary/1.1.2: + resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} + engines: {node: '>= 0.8'} dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + /verror/1.10.0: + resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} + engines: {'0': node >=0.6.0} dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 dev: false - engines: - '0': node >=0.6.0 - resolution: - integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + /void-elements/2.0.1: + resolution: {integrity: sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: false - resolution: - integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + /whatwg-url/6.5.0: + resolution: {integrity: sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==} dependencies: lodash.sortby: 4.7.0 tr46: 1.0.1 webidl-conversions: 4.0.2 dev: false - resolution: - integrity: sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: - is-bigint: 1.0.2 - is-boolean-object: 1.1.1 - is-number-object: 1.0.5 - is-string: 1.0.6 + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.6 + is-string: 1.0.7 is-symbol: 1.0.4 dev: false - resolution: - integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + /which-module/2.0.0: + resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} dev: false - resolution: - integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - /which-typed-array/1.1.4: + + /which-typed-array/1.1.7: + resolution: {integrity: sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==} + engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.4 + available-typed-arrays: 1.0.5 call-bind: 1.0.2 - es-abstract: 1.18.3 + es-abstract: 1.18.6 foreach: 2.0.5 - function-bind: 1.1.1 - has-symbols: 1.0.2 - is-typed-array: 1.1.5 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.8 dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true dependencies: isexe: 2.0.0 dev: false - hasBin: true - resolution: - integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true dependencies: isexe: 2.0.0 dev: false - engines: - node: '>= 8' - hasBin: true - resolution: - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + /wide-align/1.1.3: + resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==} dependencies: string-width: 2.1.1 dev: false - resolution: - integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + /wordwrap/1.0.0: + resolution: {integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=} dev: false - resolution: - integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + /wrap-ansi/5.1.0: + resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} + engines: {node: '>=6'} dependencies: ansi-styles: 3.2.1 string-width: 3.1.0 strip-ansi: 5.2.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.2 strip-ansi: 6.0.0 dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + /wrappy/1.0.2: + resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} dev: false - resolution: - integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + /write-file-atomic/2.4.3: + resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} dependencies: - graceful-fs: 4.2.6 + graceful-fs: 4.2.8 imurmurhash: 0.1.4 - signal-exit: 3.0.3 + signal-exit: 3.0.4 dev: false - resolution: - integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + /ws/6.2.2: + resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} dependencies: async-limiter: 1.0.1 dev: false - resolution: - integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + /ws/7.4.6: - dev: false - engines: - node: '>=8.3.0' + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -8061,12 +7814,11 @@ packages: optional: true utf-8-validate: optional: true - resolution: - integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - /ws/7.5.3: dev: false - engines: - node: '>=8.3.0' + + /ws/7.5.5: + resolution: {integrity: sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -8075,120 +7827,103 @@ packages: optional: true utf-8-validate: optional: true - resolution: - integrity: sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== + dev: false + /xhr-mock/2.5.1: + resolution: {integrity: sha512-UKOjItqjFgPUwQGPmRAzNBn8eTfIhcGjBVGvKYAWxUQPQsXNGD6KEckGTiHwyaAUp9C9igQlnN1Mp79KWCg7CQ==} dependencies: global: 4.4.0 url: 0.11.0 dev: false - resolution: - integrity: sha512-UKOjItqjFgPUwQGPmRAzNBn8eTfIhcGjBVGvKYAWxUQPQsXNGD6KEckGTiHwyaAUp9C9igQlnN1Mp79KWCg7CQ== + /xml/1.0.1: + resolution: {integrity: sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=} dev: false - resolution: - integrity: sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= + /xml2js/0.2.8: + resolution: {integrity: sha1-m4FpCTFjH/CdGVdUn69U9PmAs8I=} dependencies: sax: 0.5.8 dev: false - resolution: - integrity: sha1-m4FpCTFjH/CdGVdUn69U9PmAs8I= + /xml2js/0.4.23: + resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} + engines: {node: '>=4.0.0'} dependencies: sax: 1.2.4 xmlbuilder: 11.0.1 dev: false - engines: - node: '>=4.0.0' - resolution: - integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + /xmlbuilder/11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + /xmlbuilder/12.0.0: + resolution: {integrity: sha512-lMo8DJ8u6JRWp0/Y4XLa/atVDr75H9litKlb2E5j3V3MesoL50EBgZDWoLT3F/LztVnG67GjPXLZpqcky/UMnQ==} + engines: {node: '>=6.0'} dev: false - engines: - node: '>=6.0' - resolution: - integrity: sha512-lMo8DJ8u6JRWp0/Y4XLa/atVDr75H9litKlb2E5j3V3MesoL50EBgZDWoLT3F/LztVnG67GjPXLZpqcky/UMnQ== + /xmlbuilder/9.0.7: + resolution: {integrity: sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=} + engines: {node: '>=4.0'} dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + /xmldom/0.6.0: + resolution: {integrity: sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==} + engines: {node: '>=10.0.0'} dev: false - engines: - node: '>=10.0.0' - resolution: - integrity: sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg== + /xpath.js/1.1.0: + resolution: {integrity: sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ==} + engines: {node: '>=0.4.0'} dev: false - engines: - node: '>=0.4.0' - resolution: - integrity: sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ== - /xregexp/2.0.0: - dev: false - resolution: - integrity: sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: false - resolution: - integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + /yallist/2.1.2: + resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=} dev: false - resolution: - integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - /yallist/3.1.1: - dev: false - resolution: - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false - resolution: - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + /yargs-parser/13.1.2: + resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: false - resolution: - integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + /yargs-unparser/1.6.0: + resolution: {integrity: sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==} + engines: {node: '>=6'} dependencies: flat: 4.1.1 lodash: 4.17.21 yargs: 13.3.2 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== + /yargs/13.3.2: + resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} dependencies: cliui: 5.0.0 find-up: 3.0.0 @@ -8201,9 +7936,10 @@ packages: y18n: 4.0.3 yargs-parser: 13.1.2 dev: false - resolution: - integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} dependencies: cliui: 7.0.4 escalade: 3.1.1 @@ -8213,45 +7949,44 @@ packages: y18n: 5.0.8 yargs-parser: 20.2.9 dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + /yauzl/2.10.0: + resolution: {integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=} dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 dev: false - resolution: - integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + /yn/3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + /z-schema/3.18.4: + resolution: {integrity: sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==} + hasBin: true dependencies: lodash.get: 4.4.2 lodash.isequal: 4.5.0 validator: 8.2.0 - dev: false - hasBin: true optionalDependencies: commander: 2.20.3 - resolution: - integrity: sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw== + dev: false + file:projects/abort-controller.tgz: + resolution: {integrity: sha512-eR+UlnZbcpldxjFwjUnWL9mMa99CaJHOHHtgK8IcL2E/hmQXM7E4R5fxhf2s1I3cdDa5pZLu96aV94TfRLDjKg==, tarball: file:projects/abort-controller.tgz} + name: '@rush-temp/abort-controller' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 delay: 4.4.1 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8269,29 +8004,34 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - dev: false - name: '@rush-temp/abort-controller' - resolution: - integrity: sha512-3SRPmSd7N2LLrFcT5H9X9MqQ6pj4ena7yqo8HETm7peMgbR+QCoQXX3tRWaNj5zE77czlyRA6BH1YvRSJONDnA== - tarball: file:projects/abort-controller.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/agrifood-farming.tgz: + resolution: {integrity: sha512-cqKpvpFUi1vmXReL/3Kr/NFHD4h94JoyZFOQ1m+wfBVnwVOuv/43PvlE7u3zvnOf4dPqk+EvhWUWYNBrTPx/tw==, tarball: file:projects/agrifood-farming.tgz} + name: '@rush-temp/agrifood-farming' + version: 0.0.0 dependencies: - '@azure-rest/core-client': 1.0.0-beta.6 '@azure-rest/core-client-paging': 1.0.0-beta.1 - '@azure/identity': 1.5.0 + '@azure/identity': 1.5.2 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8313,20 +8053,24 @@ packages: prettier: 2.2.1 rimraf: 3.0.2 rollup: 1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/agrifood-farming' - resolution: - integrity: sha512-awf9qld3tztykzHz3AtGmczBEkcIEXCnT2bx6KJ+Tq02FXhmeQEOSJbW8I1zlNmaZ/f5rzqLmQkE5LQlF2eb5Q== - tarball: file:projects/agrifood-farming.tgz - version: 0.0.0 + file:projects/ai-anomaly-detector.tgz: + resolution: {integrity: sha512-8eiHwPfczMiT5YmtQc9kG/TZx5SqySlXAShKgCR1ILFNYndPrk6ngtkx6OmCFzhePZajVB1iQhMA2bXyF5X87A==, tarball: file:projects/ai-anomaly-detector.tgz} + name: '@rush-temp/ai-anomaly-detector' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -8335,12 +8079,12 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 - csv-parse: 4.16.0 + csv-parse: 4.16.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -8363,28 +8107,31 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/ai-anomaly-detector' - resolution: - integrity: sha512-Murzt7Za9vfkrGAAu2jJouBdFyKOSMkBDMA6guiOG2hp6MGBdRU9x+p/3PupyydX49cBbSvsm7UTWWMNuZJwqg== - tarball: file:projects/ai-anomaly-detector.tgz - version: 0.0.0 + file:projects/ai-document-translator.tgz: + resolution: {integrity: sha512-RTnU8NxdkRVFfwo3U+Xeiq7/nhTYqqiMPhh61x4ff25/2pI9x3II0hGAJsMA1hTYKoItr8EDGrZWrVTFx7FRTA==, tarball: file:projects/ai-document-translator.tgz} + name: '@rush-temp/ai-document-translator' + version: 0.0.0 dependencies: - '@azure-rest/core-client': 1.0.0-beta.6 - '@azure/identity': 1.5.0 + '@azure/identity': 1.5.2 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8405,29 +8152,34 @@ packages: prettier: 2.2.1 rimraf: 3.0.2 rollup: 1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/ai-document-translator' - resolution: - integrity: sha512-ZY3/5DXcK1oCGeZ2ZL0fsoQuUPO3/refq6JE2USAh1aicNbyUOGy9MbRW9IUFoMWK8WUPB6b457ys+5RLFi8Fg== - tarball: file:projects/ai-document-translator.tgz - version: 0.0.0 + file:projects/ai-form-recognizer.tgz: + resolution: {integrity: sha512-YvthO3IXaeYFhgEYtwpgosyRaBw1k6lRXJ1RZKardk2SuNeSKCaIusZS8pHvdb2uWbSYN7dzUIMPCBN1Dro1mA==, tarball: file:projects/ai-form-recognizer.tgz} + name: '@rush-temp/ai-form-recognizer' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8448,30 +8200,34 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/ai-form-recognizer' - resolution: - integrity: sha512-FbVy1LvvG5kPlhcLl79k+ymx72SAztdI/qDP3dokKfsvXwBeSn1V1lM1E4e0ny87N7IIi2KdhssCZSXWzsJWkg== - tarball: file:projects/ai-form-recognizer.tgz - version: 0.0.0 + file:projects/ai-metrics-advisor.tgz: + resolution: {integrity: sha512-egylYR9c3D3cVW5/T7dfRBrr7Y4Ds0mqOkDD4/P0eKAATclq0w578MYQP/MMLM40tRHmiNXe1ZyxZw2++wterw==, tarball: file:projects/ai-metrics-advisor.tgz} + name: '@rush-temp/ai-metrics-advisor' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 1.5.2 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8492,32 +8248,38 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - dev: false - name: '@rush-temp/ai-metrics-advisor' - resolution: - integrity: sha512-avbOY5xtCp2MwPvWZKHVtgvdmmei4Zd8PMLkIwo5dwVLat30tnBkoLzQs8wyOMQGUtYOTH2KsTTjAFSqC0JvLA== - tarball: file:projects/ai-metrics-advisor.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/ai-text-analytics.tgz: + resolution: {integrity: sha512-ZxFZFGVS8QE7mgdOlzQBb8QoHd1lb+hed1Dp5KojWLWTKmOv7X4WxVPIDiVbIj8ebpPjAd4cHhua0frdwCiSig==, tarball: file:projects/ai-text-analytics.tgz} + name: '@rush-temp/ai-text-analytics' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 - '@microsoft/api-extractor': 7.7.11 + '@azure/identity': 2.0.0-beta.6 + '@microsoft/api-extractor': 7.18.9 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8539,21 +8301,28 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - dev: false - name: '@rush-temp/ai-text-analytics' - resolution: - integrity: sha512-mPEy9sisK/qZnNSKcI4ryeAV9O8EATKGpSor8rAFQK0JqMPfwwA2fyd6nsOHFHnMTHgk2gF7CO3mhwogJXRVzw== - tarball: file:projects/ai-text-analytics.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/app-configuration.tgz: + resolution: {integrity: sha512-/U5KWOuiyI9hrAutHmMPodzoL6WOmKw0+XNTscQv6Wa80Nwz+sYN3MfqyTRLi0TRHdeRXPGptZ4NxXkUU9hB1g==, tarball: file:projects/app-configuration.tgz} + name: '@rush-temp/app-configuration' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/keyvault-secrets': 4.2.0 + '@azure/identity': 2.0.0-beta.6 + '@azure/keyvault-secrets': 4.3.0 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-inject': 4.0.2_rollup@1.32.1 @@ -8563,13 +8332,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -8593,18 +8362,24 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 - dev: false - name: '@rush-temp/app-configuration' - resolution: - integrity: sha512-xEfaCYTbxZd2BbN7Eo7hI2zi20fMk4IgtL11xglGdqKcLIOcKf9m3g8sLXkkBch1moeKzqVXYWaJ9SyUzSHJAQ== - tarball: file:projects/app-configuration.tgz + uglify-js: 3.14.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + + file:projects/arm-appservice.tgz: + resolution: {integrity: sha512-O5f+BWzGqVFxpvEE9Tgt55OyDt1qgN3vO5dj4MHkff8gcwl9zmYQaQ+MEod9jGYgC2rZkCXlfLl9NmSDyoV54g==, tarball: file:projects/arm-appservice.tgz} + name: '@rush-temp/arm-appservice' version: 0.0.0 - file:projects/arm-compute.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8615,16 +8390,69 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.2 + dev: false + + file:projects/arm-authorization.tgz: + resolution: {integrity: sha512-uEY4hjyOxufuVrMwUbobOnaDrWnQSYJ/w9bvzk6AK0LOLWsRF/Wni7IK1hgVVi67EnCordoSuwTOtFiv+g8B4A==, tarball: file:projects/arm-authorization.tgz} + name: '@rush-temp/arm-authorization' + version: 0.0.0 + dependencies: + '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + mkdirp: 1.0.4 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false + + file:projects/arm-compute.tgz: + resolution: {integrity: sha512-T3UFCbTMY/dds1j8CFcJLUkkyV3oR9pnPcpbK3DvLauxAZGylmQbuZv36iTLpGpMO0cxKIdgGm1G6EdgfgMOPw==, tarball: file:projects/arm-compute.tgz} name: '@rush-temp/arm-compute' - resolution: - integrity: sha512-nNi+A6v+cMajxKH+Wgt1DRjWbbvly9agLxYqGPpR9Fx0FzeI1iTlf5kVY/JNdF43EScO4TnYzXR84cyLaNPMzA== - tarball: file:projects/arm-compute.tgz version: 0.0.0 + dependencies: + '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + mkdirp: 1.0.4 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.2 + dev: false + + file:projects/arm-eventhub.tgz: + resolution: {integrity: sha512-prxNN24vp5ndwaqivPOFLkNF0Id6m0zm5YL0Azqgv6PoZzThFLxEkgaWtsUxFQicLGqXWB7XomzA0EUyPHyDbQ==, tarball: file:projects/arm-eventhub.tgz} + name: '@rush-temp/arm-eventhub' + version: 0.0.0 + dependencies: + '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + mkdirp: 1.0.4 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.2 + dev: false + file:projects/arm-features.tgz: + resolution: {integrity: sha512-Jdqy3BnYfdYfUwQ4L97IVWbg0zwT9HuL1PJ/8JZrmqMo6RZOE1jUDnYcSRA2h7Ke1Rhe8rHi0g80U3EWbWvr9A==, tarball: file:projects/arm-features.tgz} + name: '@rush-temp/arm-features' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8635,16 +8463,15 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false - name: '@rush-temp/arm-features' - resolution: - integrity: sha512-Jdqy3BnYfdYfUwQ4L97IVWbg0zwT9HuL1PJ/8JZrmqMo6RZOE1jUDnYcSRA2h7Ke1Rhe8rHi0g80U3EWbWvr9A== - tarball: file:projects/arm-features.tgz + + file:projects/arm-keyvault.tgz: + resolution: {integrity: sha512-v75V6krb8/ZT8DT7FKKuDcto86Imeg9rTTBruOW3WnqxcVWNAdgIe+1ZWZxLeaUxSPLntYlCfreanFYO7952Eg==, tarball: file:projects/arm-keyvault.tgz} + name: '@rush-temp/arm-keyvault' version: 0.0.0 - file:projects/arm-links.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8655,16 +8482,15 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false + + file:projects/arm-links.tgz: + resolution: {integrity: sha512-rp7358CAZYQTk14rux456WPw0drTcb6tLaCbzxS10sUYP18FSZAdXMThbRk6FWXcyGiNdiYWIDg99JUxOoS2hQ==, tarball: file:projects/arm-links.tgz} name: '@rush-temp/arm-links' - resolution: - integrity: sha512-rp7358CAZYQTk14rux456WPw0drTcb6tLaCbzxS10sUYP18FSZAdXMThbRk6FWXcyGiNdiYWIDg99JUxOoS2hQ== - tarball: file:projects/arm-links.tgz version: 0.0.0 - file:projects/arm-locks.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8675,16 +8501,15 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false + + file:projects/arm-locks.tgz: + resolution: {integrity: sha512-Pbwm7icKOAqRDLs7DB00ERbjwjtOHOCWtyxLuzSvnu14uHgTS7Hdc25em9Zj2kIIn9Fqq2EGPytZkfq4BA2Ayg==, tarball: file:projects/arm-locks.tgz} name: '@rush-temp/arm-locks' - resolution: - integrity: sha512-Pbwm7icKOAqRDLs7DB00ERbjwjtOHOCWtyxLuzSvnu14uHgTS7Hdc25em9Zj2kIIn9Fqq2EGPytZkfq4BA2Ayg== - tarball: file:projects/arm-locks.tgz version: 0.0.0 - file:projects/arm-managedapplications.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8695,16 +8520,15 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false + + file:projects/arm-managedapplications.tgz: + resolution: {integrity: sha512-rd/IuR0zgpA58pTS328g3AzEcjXlQiUW9hWYUWJXCdYCjKl5u89SJ1rNNMheQXMXs9qUv6hFG6tt8q1ZCDirtQ==, tarball: file:projects/arm-managedapplications.tgz} name: '@rush-temp/arm-managedapplications' - resolution: - integrity: sha512-rd/IuR0zgpA58pTS328g3AzEcjXlQiUW9hWYUWJXCdYCjKl5u89SJ1rNNMheQXMXs9qUv6hFG6tt8q1ZCDirtQ== - tarball: file:projects/arm-managedapplications.tgz version: 0.0.0 - file:projects/arm-network.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8715,16 +8539,33 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false + + file:projects/arm-network.tgz: + resolution: {integrity: sha512-Q7ixqI/vd+XixRZLhqDeyeSBGkpyEW+1n0wphunRHGVUrcwHddiEGB2rdiWFXJaCP47WG/EngiRCqMGGKTr+lg==, tarball: file:projects/arm-network.tgz} name: '@rush-temp/arm-network' - resolution: - integrity: sha512-o4oHKd4XnbxekuGYhx80kd7HT12Up5w76XVV7bmPPkPb2gFNy2WpSLCOdGNmFKqMZPTXTuMRWryoHpd1Y1V2GA== - tarball: file:projects/arm-network.tgz version: 0.0.0 + dependencies: + '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + mkdirp: 1.0.4 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.2 + dev: false + file:projects/arm-policy.tgz: + resolution: {integrity: sha512-1cDd7l+RfNr7rAJxGMqLHW/zYV/F5tRFsA1R6RplSOTGg8yo1foORk8QvIa+oumecW/uYGC/jePfHrx55atGMQ==, tarball: file:projects/arm-policy.tgz} + name: '@rush-temp/arm-policy' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8735,16 +8576,33 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false - name: '@rush-temp/arm-policy' - resolution: - integrity: sha512-1cDd7l+RfNr7rAJxGMqLHW/zYV/F5tRFsA1R6RplSOTGg8yo1foORk8QvIa+oumecW/uYGC/jePfHrx55atGMQ== - tarball: file:projects/arm-policy.tgz + + file:projects/arm-purview.tgz: + resolution: {integrity: sha512-oNNMNU6y5mHqW3Lg2ASVmmohPywUvskEN2oDdwQI+g/cBrpnxoiPRIgSAkPkOzRxWPRXxv7LgQIxl8AaisYCpg==, tarball: file:projects/arm-purview.tgz} + name: '@rush-temp/arm-purview' + version: 0.0.0 + dependencies: + '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + mkdirp: 1.0.4 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.2 + dev: false + + file:projects/arm-resources-subscriptions.tgz: + resolution: {integrity: sha512-6GWFjnVvh/TZyCDi+Fj6ShcBGzmKQ8mvChj7v+n68IPy8QUwXlB08EvQ5zo/7+jii9EwFGCBOQok/5+BISRnJg==, tarball: file:projects/arm-resources-subscriptions.tgz} + name: '@rush-temp/arm-resources-subscriptions' version: 0.0.0 - file:projects/arm-resources.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8755,16 +8613,15 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false + + file:projects/arm-resources.tgz: + resolution: {integrity: sha512-qCoJfklY7j2h5N8EgS7J/9fgg52p1QJminenS8L2y2O8z2mnEc/qr5PqkypeM7GZaQXUf0vK68A0U6fOEuWRxg==, tarball: file:projects/arm-resources.tgz} name: '@rush-temp/arm-resources' - resolution: - integrity: sha512-qCoJfklY7j2h5N8EgS7J/9fgg52p1QJminenS8L2y2O8z2mnEc/qr5PqkypeM7GZaQXUf0vK68A0U6fOEuWRxg== - tarball: file:projects/arm-resources.tgz version: 0.0.0 - file:projects/arm-storage.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8775,16 +8632,51 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.2 + dev: false + + file:projects/arm-servicebus.tgz: + resolution: {integrity: sha512-q1Mf8xx0bI00+fi1OIqZeMgMxlWfliTjUdbCEdsmFUI9XhB+LZ83NIyXB5uNECvuIiOca9aJr/0rxaop11KKLg==, tarball: file:projects/arm-servicebus.tgz} + name: '@rush-temp/arm-servicebus' + version: 0.0.0 + dependencies: + '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + mkdirp: 1.0.4 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.2 + dev: false + + file:projects/arm-sql.tgz: + resolution: {integrity: sha512-1nv+fHLm/8KtX6rSVv/pmclEN7WzLAFtJuFqOOGUCSYEH0uK/vjrTWdV9/z5v2hCopmTGrnLM1m1JyQTwEL5aA==, tarball: file:projects/arm-sql.tgz} + name: '@rush-temp/arm-sql' + version: 0.0.0 + dependencies: + '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + mkdirp: 1.0.4 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false + + file:projects/arm-storage.tgz: + resolution: {integrity: sha512-qBc4PYovQxo5tZRHGNtgQLmfF7Uq8FVopd9F1Ghu5qcS68wESbBhwZ1px9/EjPWIHpPyrBzazFRMlvT+5gcthA==, tarball: file:projects/arm-storage.tgz} name: '@rush-temp/arm-storage' - resolution: - integrity: sha512-qBc4PYovQxo5tZRHGNtgQLmfF7Uq8FVopd9F1Ghu5qcS68wESbBhwZ1px9/EjPWIHpPyrBzazFRMlvT+5gcthA== - tarball: file:projects/arm-storage.tgz version: 0.0.0 - file:projects/arm-webpubsub.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8795,90 +8687,71 @@ packages: rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 dev: false - name: '@rush-temp/arm-webpubsub' - resolution: - integrity: sha512-0EU10j+ZIAl/Hj/KR+2LjjS6Ik8nlvNX3xGtR9cxSIl2Wle+EOw+3YtTQt1E4spSlsWnPcvZXJ3WKyV8mvt6vg== - tarball: file:projects/arm-webpubsub.tgz + + file:projects/arm-templatespecs.tgz: + resolution: {integrity: sha512-xJ4r+nZre0Bli2nfn7U0n/MX7cbpw0zyG40XetY8XvGX5C07tKzeRa+1ptGSuaw8U3o4BOSWsDVCA6Z/YEZt2g==, tarball: file:projects/arm-templatespecs.tgz} + name: '@rush-temp/arm-templatespecs' version: 0.0.0 - file:projects/attestation.tgz: dependencies: - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 '@microsoft/api-extractor': 7.7.11 - '@types/chai': 4.2.21 - '@types/chai-as-promised': 7.1.4 - '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - buffer: 5.7.1 - chai: 4.3.4 - chai-as-promised: 7.1.1_chai@4.3.4 - cross-env: 7.0.3 - dotenv: 8.6.0 - downlevel-dts: 0.4.0 - eslint: 7.31.0 - esm: 3.2.25 - inherits: 2.0.4 - jsrsasign: 10.3.0 - karma: 6.3.4 - karma-chrome-launcher: 3.1.0 - karma-coverage: 2.0.3 - karma-edge-launcher: 0.4.2_karma@6.3.4 - karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.3.0 - karma-ie-launcher: 1.0.0_karma@6.3.4 - karma-json-preprocessor: 0.3.3_karma@6.3.4 - karma-json-to-file-reporter: 1.0.1 - karma-junit-reporter: 2.0.1_karma@6.3.4 - karma-mocha: 2.0.1 - karma-mocha-reporter: 2.2.5_karma@6.3.4 - karma-source-map-support: 1.4.0 - karma-sourcemap-loader: 0.3.8 - mocha: 7.2.0 - mocha-junit-reporter: 1.23.3_mocha@7.2.0 - nyc: 14.1.1 - prettier: 1.19.1 - rimraf: 3.0.2 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + mkdirp: 1.0.4 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - safe-buffer: 5.2.1 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 - typedoc: 0.15.2 + tslib: 2.3.1 typescript: 4.2.4 - util: 0.12.4 + uglify-js: 3.14.2 dev: false - name: '@rush-temp/attestation' - resolution: - integrity: sha512-SMEs3He6zgbcQEmu1zXcG2Id88IkSCyR1hNRF7Xk/EdHk+BxeXlXL5AxGPC+MANwG28tjvPnSHhxbcxh1ZzuBA== - tarball: file:projects/attestation.tgz + + file:projects/arm-webpubsub.tgz: + resolution: {integrity: sha512-0EU10j+ZIAl/Hj/KR+2LjjS6Ik8nlvNX3xGtR9cxSIl2Wle+EOw+3YtTQt1E4spSlsWnPcvZXJ3WKyV8mvt6vg==, tarball: file:projects/arm-webpubsub.tgz} + name: '@rush-temp/arm-webpubsub' version: 0.0.0 - file:projects/communication-callingserver.tgz: dependencies: - '@azure/communication-identity': 1.0.0 - '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 - '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 + mkdirp: 1.0.4 + rollup: 1.32.1 + rollup-plugin-node-resolve: 3.4.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + tslib: 2.3.1 + typescript: 4.2.4 + uglify-js: 3.14.2 + dev: false + + file:projects/attestation.tgz: + resolution: {integrity: sha512-MWwZlGPsxTbmfdj0axvPY0KVohkpCJZTd40tbKbMYtamWCOp1j/3Xx6XEOBdF9GGfezIpGtJSla5ERFd9Q2hbQ==, tarball: file:projects/attestation.tgz} + name: '@rush-temp/attestation' + version: 0.0.0 + dependencies: + '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 + '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 + '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/sinon': 9.0.11 - assert: 1.5.0 + '@types/node': 12.20.25 + buffer: 6.0.3 chai: 4.3.4 + chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 - events: 3.3.0 + downlevel-dts: 0.4.0 + eslint: 7.32.0 + esm: 3.2.25 inherits: 2.0.4 + jsrsasign: 10.4.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8886,9 +8759,12 @@ packages: karma-env-preprocessor: 0.1.1 karma-firefox-launcher: 1.3.0 karma-ie-launcher: 1.0.0_karma@6.3.4 + karma-json-preprocessor: 0.3.3_karma@6.3.4 + karma-json-to-file-reporter: 1.0.1 karma-junit-reporter: 2.0.1_karma@6.3.4 karma-mocha: 2.0.1 karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-source-map-support: 1.4.0 karma-sourcemap-loader: 0.3.8 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 @@ -8896,25 +8772,29 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - rollup-plugin-terser: 5.3.1_rollup@1.32.1 - rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - sinon: 9.2.4 - tslib: 2.3.0 + safe-buffer: 5.2.1 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/communication-callingserver' - resolution: - integrity: sha512-R1QQQ4GiDO6EQYjLIRZ3RwlmNrFzk2OS36IhHQSiKkdDUCTSxMonR1K8os6sBfC7q7gPBPSVTqQSlm1WS0iBhQ== - tarball: file:projects/communication-callingserver.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/communication-chat.tgz: + resolution: {integrity: sha512-+NrWprQdQDByOujthknzzOHYc1QFEiUfHIeoE3yRoPmS3eX1ghAInV7LBDcm4zm6o2FRMCDxcTJto9iZhigI3Q==, tarball: file:projects/communication-chat.tgz} + name: '@rush-temp/communication-chat' + version: 0.0.0 dependencies: '@azure/communication-identity': 1.0.0 - '@azure/communication-signaling': 1.0.0-beta.7 + '@azure/communication-signaling': 1.0.0-beta.10 '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -8924,13 +8804,14 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 + '@types/uuid': 8.3.1 assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -8957,17 +8838,22 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + uuid: 8.3.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/communication-chat' - resolution: - integrity: sha512-J9pI+zoofrbGE5JN7f+ylcCtejg5cfDEU6YCkj+vA8SlDhmatprWeHy33GDEArTjc+09EK8ZUQVmXXz1DUcm/Q== - tarball: file:projects/communication-chat.tgz - version: 0.0.0 + file:projects/communication-common.tgz: + resolution: {integrity: sha512-Y6t2s/oqQpZpz7TOgPeLrg8lQOBAuzUW0jj9j7hl6sa/WgFTXm+4aOeocTsPFGrDKtPxrjOuZmLv7LMtsYfinQ==, tarball: file:projects/communication-common.tgz} + name: '@rush-temp/communication-common' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 @@ -8980,13 +8866,13 @@ packages: '@types/chai-as-promised': 7.1.4 '@types/jwt-decode': 2.2.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 jwt-decode: 2.2.0 @@ -9011,19 +8897,24 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/communication-common' - resolution: - integrity: sha512-Y6t2s/oqQpZpz7TOgPeLrg8lQOBAuzUW0jj9j7hl6sa/WgFTXm+4aOeocTsPFGrDKtPxrjOuZmLv7LMtsYfinQ== - tarball: file:projects/communication-common.tgz - version: 0.0.0 + file:projects/communication-identity.tgz: + resolution: {integrity: sha512-hN3srNgjmJdDIoAO1Su+GZsI1qh5b54PAmbyr3spfLMnzejf5ljcxCZWSHAO7gYwvGT+Av4CICtWtUuyFLaQHg==, tarball: file:projects/communication-identity.tgz} + name: '@rush-temp/communication-identity' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -9032,13 +8923,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9065,20 +8956,24 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/communication-identity' - resolution: - integrity: sha512-cRnmlBVkFFI6GtQQsKDVmQtl3CX4fX0L9UZuAwsAIV60iYGUUAZd8XFnkZiwb3aGxKBbtxrScqAOt5f1QXHMqg== - tarball: file:projects/communication-identity.tgz - version: 0.0.0 + file:projects/communication-network-traversal.tgz: + resolution: {integrity: sha512-+ULxT3XN8qSsW68KcALoAriUSlCBTR7TU/qXsydwS+BfhMMG2voGPXEjRSKJc7PRMi1mR0Z7tWW4nFNy7EnuYg==, tarball: file:projects/communication-network-traversal.tgz} + name: '@rush-temp/communication-network-traversal' + version: 0.0.0 dependencies: '@azure/communication-identity': 1.0.0 '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -9087,13 +8982,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9120,19 +9015,23 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/communication-network-traversal' - resolution: - integrity: sha512-WaXb4hUyl1T0+cSke7IdsKa1CS/0rUGTCUoucoC1lNfqeOIwbrVtaGW2h1HnlPfZN5C2c2ltVuxZ0vmYN4jMfw== - tarball: file:projects/communication-network-traversal.tgz - version: 0.0.0 + file:projects/communication-phone-numbers.tgz: + resolution: {integrity: sha512-EpHIaOTq9RyLWOVSd9tPraMODTp7u10AlJbZHOsCrWbOhXm9eiJY2h4l7CI9yiQ0KSOJ+KG7sotMSdPh5Grzkw==, tarball: file:projects/communication-phone-numbers.tgz} + name: '@rush-temp/communication-phone-numbers' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -9141,13 +9040,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9174,18 +9073,23 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/communication-phone-numbers' - resolution: - integrity: sha512-ZmZd3sOJ8PERY5AU+Xtq/KJr36m2blrMPszVkq7qXVTw9500lQlSdXoYrloyD5GJzKd2bwpvYg5gL2i5Mo6eyg== - tarball: file:projects/communication-phone-numbers.tgz - version: 0.0.0 + file:projects/communication-sms.tgz: + resolution: {integrity: sha512-qN1zBX/BCstzeKeHn84XCJTeq/Cs3F+5/xu9fiXVxGnzaQBlZCuWSFTn8vSEKEuK4ZxQu9IXSD9pJmAOP5u6Qg==, tarball: file:projects/communication-sms.tgz} + name: '@rush-temp/communication-sms' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -9194,13 +9098,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9225,28 +9129,31 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/communication-sms' - resolution: - integrity: sha512-sDTK+GZDqDUEr/OCuxEWBY/O099jelPdOB3Eh7twTtMYmNLX9x9BM+I8XCnTUrLi0JJeHhvgvjEPrt/+Imkp1g== - tarball: file:projects/communication-sms.tgz - version: 0.0.0 + file:projects/confidential-ledger.tgz: + resolution: {integrity: sha512-lQYlLhA8jsiSwPsCRn0A+03cVkbIds7xTk4dqHv3dUeXmFoKYxUvPd6hBQfnVSMjrLZj6QMiViKnUS8/b5SUkA==, tarball: file:projects/confidential-ledger.tgz} + name: '@rush-temp/confidential-ledger' + version: 0.0.0 dependencies: - '@azure-rest/core-client': 1.0.0-beta.6 - '@azure/identity': 1.5.0 + '@azure/identity': 1.5.2 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9267,30 +9174,34 @@ packages: prettier: 2.2.1 rimraf: 3.0.2 rollup: 1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/confidential-ledger' - resolution: - integrity: sha512-EUZ7hrGyJG/Jb/V4Mkwmf+SRdwETCvaOlu0IjKTGMmKXSZamdY+AUfP+C+r0iVG5e337V6N4CU+aky5RNdiYPQ== - tarball: file:projects/confidential-ledger.tgz - version: 0.0.0 + file:projects/container-registry.tgz: + resolution: {integrity: sha512-x1+6Vq4/SBsQKlK+DOBTsie+XrqCviHhBTfolK4sxjuP6/0g78eUsUrfsWxBgjUSNgT/A04F6/7PAlecV7sh9Q==, tarball: file:projects/container-registry.tgz} + name: '@rush-temp/container-registry' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/ms-rest-nodeauth': 3.0.10 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9311,17 +9222,21 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/container-registry' - resolution: - integrity: sha512-MxeCvk2hgZ1VLVJJsdUSTrFlzZYMaaj0GrtjeiodWOKCk0SQpdgqCHiqizeHCG7vFob3It1Ht0Qjb2NZ+eq9Kw== - tarball: file:projects/container-registry.tgz - version: 0.0.0 + file:projects/core-amqp.tgz: + resolution: {integrity: sha512-j8n967+bYNorq6kf5yo+IYaJuXJ0Qd7fcmB8QRkX1GaUdlfJ1Nf/3AMHdK4GQjCHeqKmUqgcC7yv8b2d2SsLmw==, tarball: file:projects/core-amqp.tgz} + name: '@rush-temp/core-amqp' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -9331,18 +9246,18 @@ packages: '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 - '@types/debug': 4.1.6 + '@types/debug': 4.1.7 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/ws': 7.4.7 - buffer: 5.7.1 + buffer: 6.0.3 chai: 4.3.4 cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 jssha: 3.2.0 karma: 6.3.4_debug@4.3.2 @@ -9353,8 +9268,8 @@ packages: nyc: 14.1.1 prettier: 1.19.1 process: 0.11.10 - puppeteer: 3.3.0 - rhea: 2.0.3 + puppeteer: 10.2.0 + rhea: 2.0.4 rhea-promise: 2.1.0 rimraf: 3.0.2 rollup: 1.32.1 @@ -9362,71 +9277,77 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 url: 0.11.0 util: 0.12.4 - ws: 7.5.3 - dev: false - name: '@rush-temp/core-amqp' - resolution: - integrity: sha512-cjNdEUnI9aqU7jW9+agFHI0uENzbqU7e4JTwVhbZyGwCy/6YRW2SJgJZ+XalOUAhtgqL012J1nIXZn8L7HeI1A== - tarball: file:projects/core-amqp.tgz - version: 0.0.0 + ws: 7.5.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - supports-color + - utf-8-validate + dev: false + file:projects/core-asynciterator-polyfill.tgz: + resolution: {integrity: sha512-NMQzIXmS6Aw+/UpoOPolEKGWu0ak5sbvZn3jGCttx2gFZqO832WYZuAeNlwxEYUepdypxNQRnAR8EAdx7b7iiw==, tarball: file:projects/core-asynciterator-polyfill.tgz} + name: '@rush-temp/core-asynciterator-polyfill' + version: 0.0.0 dependencies: - '@types/node': 12.20.16 - eslint: 7.31.0 + '@types/node': 12.20.25 + eslint: 7.32.0 prettier: 1.19.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - supports-color dev: false - name: '@rush-temp/core-asynciterator-polyfill' - resolution: - integrity: sha512-NMQzIXmS6Aw+/UpoOPolEKGWu0ak5sbvZn3jGCttx2gFZqO832WYZuAeNlwxEYUepdypxNQRnAR8EAdx7b7iiw== - tarball: file:projects/core-asynciterator-polyfill.tgz - version: 0.0.0 + file:projects/core-auth.tgz: + resolution: {integrity: sha512-pdVm8tTyrBXIMYR5CFDSjZLbIDYsKQNbABEICJfRW3c77f0pPGadRdvC34rieD68ZfNxIZ3wtxKEJdma8HPQYQ==, tarball: file:projects/core-auth.tgz} + name: '@rush-temp/core-auth' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - supports-color dev: false - name: '@rush-temp/core-auth' - resolution: - integrity: sha512-pdVm8tTyrBXIMYR5CFDSjZLbIDYsKQNbABEICJfRW3c77f0pPGadRdvC34rieD68ZfNxIZ3wtxKEJdma8HPQYQ== - tarball: file:projects/core-auth.tgz - version: 0.0.0 + file:projects/core-client-1.tgz: + resolution: {integrity: sha512-NDupGVfdPfzkzttVKtuqCLAc8YWmDA/4T4AWigniK83WS2b7JyG5G8N2oSpdIBdMsqZxTmInZkuFmeXzAyBUkQ==, tarball: file:projects/core-client-1.tgz} + name: '@rush-temp/core-client-1' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-xml': 1.0.0-beta.1 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9445,26 +9366,32 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/core-client-1' - resolution: - integrity: sha512-FW2bXPfNeV2JomM2pIu4xks4CHfcxeL3Eatyv+NuLLxd535xprU+TITYtWzdUAaWgiQcLykgoLe654fnzbLYoQ== - tarball: file:projects/core-client-1.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/core-client-lro.tgz: + resolution: {integrity: sha512-M4evzMVsUDQjqh47XEQtziCB+jT5OhhmOrmpzyI1yE/2vYMM3Bz0kZPBWGq9KZDcBmkFCNNHhjk4uY8oG/BWMA==, tarball: file:projects/core-client-lro.tgz} + name: '@rush-temp/core-client-lro' + version: 0.0.0 dependencies: - '@azure-rest/core-client': 1.0.0-beta.6 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9483,26 +9410,29 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-client-lro' - resolution: - integrity: sha512-n7OJnwa3mZ4WMtwlX0t8UY0ZAPc877e+UfhsTLa5V+3Re0wkEvKUo1IvMedAgKPLag3MoTrRcxl3c3KXGXxGRA== - tarball: file:projects/core-client-lro.tgz - version: 0.0.0 + file:projects/core-client-paging.tgz: + resolution: {integrity: sha512-jR9MSynY/6hjmMjyWjs+hFAAwk0VN2zJV0yBg0vH/9dv5ANOkjoAYfk54Vu3V0CHHQ7njmLScWqrFdqcRkqypw==, tarball: file:projects/core-client-paging.tgz} + name: '@rush-temp/core-client-paging' + version: 0.0.0 dependencies: - '@azure-rest/core-client': 1.0.0-beta.6 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9521,25 +9451,29 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-client-paging' - resolution: - integrity: sha512-Ccr/pJL8OOZx3loL11Au8iprx0KyCc3AELZ/8nZlrHAE2r8r7PDGbeh0NQmu1hJOdn1xv7vB3IX7nFDRn3pDtw== - tarball: file:projects/core-client-paging.tgz - version: 0.0.0 + file:projects/core-client.tgz: + resolution: {integrity: sha512-VGDp4uzLU6NL5A31+vMbrE2BUlAtWssXoUiG5q21WDHo/5bdVv5Ksl+r9UzYxzgaEWDeNVr5KxfoBvZo7+xJAw==, tarball: file:projects/core-client.tgz} + name: '@rush-temp/core-client' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9558,17 +9492,21 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-client' - resolution: - integrity: sha512-A+GvNgdlwTt5h3ZbVfNlhfUSKtdo96ruE9aQ7Vvf83wsasti6gtLOQFPXPiLMvhvQoKg4eQ3iZU9TtNxW2RY+g== - tarball: file:projects/core-client.tgz - version: 0.0.0 + file:projects/core-crypto.tgz: + resolution: {integrity: sha512-ZU0iT6qVHE8T+fmuz9RUnJa9PWbee+NOun/0gVTto1le3NyXWX85zwsFpE7//wfKXTJnbqCyHmjdi3spPf3Xxg==, tarball: file:projects/core-crypto.tgz} + name: '@rush-temp/core-crypto' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -9576,12 +9514,12 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9600,40 +9538,44 @@ packages: rollup: 1.32.1 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-crypto' - resolution: - integrity: sha512-ZU0iT6qVHE8T+fmuz9RUnJa9PWbee+NOun/0gVTto1le3NyXWX85zwsFpE7//wfKXTJnbqCyHmjdi3spPf3Xxg== - tarball: file:projects/core-crypto.tgz - version: 0.0.0 + file:projects/core-http.tgz: + resolution: {integrity: sha512-MJUdEy4pMGC01kff4D+AFuhxFi5t1/ScfH0cidXKo84ShEx2+hsMSjBEBYaXhk+8ui17KNlnmUL13kV4COcsgA==, tarball: file:projects/core-http.tgz} + name: '@rush-temp/core-http' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger-js': 1.3.2 '@microsoft/api-extractor': 7.7.11 - '@opentelemetry/api': 1.0.1 + '@opentelemetry/api': 1.0.3 '@types/chai': 4.2.21 '@types/express': 4.17.13 '@types/glob': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/node-fetch': 2.5.11 + '@types/node': 12.20.25 + '@types/node-fetch': 2.5.12 '@types/sinon': 9.0.11 '@types/tough-cookie': 4.0.1 - '@types/tunnel': 0.0.1 + '@types/tunnel': 0.0.3 '@types/uuid': 8.3.1 '@types/xml2js': 0.4.9 babel-runtime: 6.26.0 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 express: 4.17.1 - fetch-mock: 9.11.0_node-fetch@2.6.1 - form-data: 3.0.1 + fetch-mock: 9.11.0_node-fetch@2.6.2 + form-data: 4.0.0 glob: 7.1.7 karma: 6.3.4 karma-chai: 0.1.0_chai@4.3.4+karma@6.3.4 @@ -9645,43 +9587,49 @@ packages: karma-sourcemap-loader: 0.3.8 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 - node-fetch: 2.6.1 + node-fetch: 2.6.2 npm-run-all: 4.1.5 nyc: 14.1.1 prettier: 1.19.1 process: 0.11.10 - puppeteer: 3.3.0 - regenerator-runtime: 0.13.7 + puppeteer: 10.2.0 + regenerator-runtime: 0.13.9 rimraf: 3.0.2 rollup: 1.32.1 shx: 0.3.3 sinon: 9.2.4 tough-cookie: 4.0.0 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 tunnel: 0.0.6 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 uuid: 8.3.2 xhr-mock: 2.5.1 xml2js: 0.4.23 - dev: false - name: '@rush-temp/core-http' - resolution: - integrity: sha512-KNNQYYNFEAFISTjSQZMQOezw5PSzlNwHJjArQhnRCxTnJxCjY15yvV9gwuZE8/2UyJV4oBfPGyjVUSAwDAfx6g== - tarball: file:projects/core-http.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/core-lro.tgz: + resolution: {integrity: sha512-z8/722+S5EkVfUX05siniqgWzHf/T9KLJtklWQ4muXkGcZuVuKpzmsdhFPhMIJXcSeJHxLn6B4b0+lNQi4y1hw==, tarball: file:projects/core-lro.tgz} + name: '@rush-temp/core-lro' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9700,49 +9648,76 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 - dev: false - name: '@rush-temp/core-lro' - resolution: - integrity: sha512-NKGKcVkQq77E2dNBLMGvX3XKfoUspXmK7ozUe81I/hNJ1mX7kHTQ3/SV59NyKCjPoo+VTouUCWxoIgIvbIeHdg== - tarball: file:projects/core-lro.tgz - version: 0.0.0 + uglify-js: 3.14.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/core-paging.tgz: + resolution: {integrity: sha512-L14f29bGNZ2/Q8Ax9MfR7QWs85WhJsUAlujI+yHvwRdAyKzlVNIPv0Z+y05QO35MeIlIfhyLoYY42kIbFIJaEw==, tarball: file:projects/core-paging.tgz} + name: '@rush-temp/core-paging' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 - '@types/node': 12.20.16 + '@types/chai': 4.2.21 + '@types/mocha': 7.0.2 + '@types/node': 12.20.25 + chai: 4.3.4 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 + karma: 6.3.4 + karma-chrome-launcher: 3.1.0 + karma-coverage: 2.0.3 + karma-edge-launcher: 0.4.2_karma@6.3.4 + karma-env-preprocessor: 0.1.1 + karma-firefox-launcher: 1.3.0 + karma-ie-launcher: 1.0.0_karma@6.3.4 + karma-junit-reporter: 2.0.1_karma@6.3.4 + karma-mocha: 2.0.1 + karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-sourcemap-loader: 0.3.8 + mocha: 7.2.0 + mocha-junit-reporter: 1.23.3_mocha@7.2.0 prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-paging' - resolution: - integrity: sha512-MN7SsB+13LCRSWAqoxBurHROQeos/n0rDb6bBg7BA6cSncZquPuSzWOIYp3QSa2RGbmY3b3bIgjThFWbtnU3wg== - tarball: file:projects/core-paging.tgz - version: 0.0.0 + file:projects/core-rest-pipeline.tgz: + resolution: {integrity: sha512-yU0cVnVZqgRpjXEoM7jEqcw6GkcPpv8nNk1dXrmEssR1sql4JIDVpC/PHvt2mK7QHCMwMtKooQS7drskRFB0Eg==, tarball: file:projects/core-rest-pipeline.tgz} + name: '@rush-temp/core-rest-pipeline' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 - '@opentelemetry/api': 1.0.1 + '@opentelemetry/api': 1.0.3 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 - form-data: 3.0.1 + eslint: 7.32.0 + form-data: 4.0.0 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.0 inherits: 2.0.4 @@ -9763,30 +9738,34 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 uuid: 8.3.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-rest-pipeline' - resolution: - integrity: sha512-CxDUyMFbD3nyXoeLjiKWHE7k88ZPwuuId8NF0g5bLwn5I+TR2c6FHdYWmoo2g3Fv85Vdi+hhiyvob2z/EZVjkg== - tarball: file:projects/core-rest-pipeline.tgz - version: 0.0.0 + file:projects/core-tracing.tgz: + resolution: {integrity: sha512-hjSwB3OLU9ukMINsZaZWCTbo94TiJjihe2mLVuIWmd5x1kT9gTL0n9JmcToqc0WKJ1s3Ek8CieRv51HqlEHzFw==, tarball: file:projects/core-tracing.tgz} + name: '@rush-temp/core-tracing' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 - '@opentelemetry/api': 1.0.1 - '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.3 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9805,27 +9784,31 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-tracing' - resolution: - integrity: sha512-hjSwB3OLU9ukMINsZaZWCTbo94TiJjihe2mLVuIWmd5x1kT9gTL0n9JmcToqc0WKJ1s3Ek8CieRv51HqlEHzFw== - tarball: file:projects/core-tracing.tgz - version: 0.0.0 + file:projects/core-util.tgz: + resolution: {integrity: sha512-ydQLFeHsAKS+g+FQV69KApmwIDrJ49u3dn/79yNATb5guThjqMlLEHio9p8JX2mO1vdwwZ8122dwdOezxCZolQ==, tarball: file:projects/core-util.tgz} + name: '@rush-temp/core-util' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9844,28 +9827,32 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-util' - resolution: - integrity: sha512-ydQLFeHsAKS+g+FQV69KApmwIDrJ49u3dn/79yNATb5guThjqMlLEHio9p8JX2mO1vdwwZ8122dwdOezxCZolQ== - tarball: file:projects/core-util.tgz - version: 0.0.0 + file:projects/core-xml.tgz: + resolution: {integrity: sha512-7HkopyqzugsgMp7OWJt5PWvGY7w+YPNwbjjmjQFhcuynt1Mho/LlTvo9c9W/TX/Mb4BLRp7bWUfErSqgaYQOKQ==, tarball: file:projects/core-xml.tgz} + name: '@rush-temp/core-xml' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/xml2js': 0.4.9 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9884,48 +9871,49 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 xml2js: 0.4.23 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/core-xml' - resolution: - integrity: sha512-7HkopyqzugsgMp7OWJt5PWvGY7w+YPNwbjjmjQFhcuynt1Mho/LlTvo9c9W/TX/Mb4BLRp7bWUfErSqgaYQOKQ== - tarball: file:projects/core-xml.tgz - version: 0.0.0 + file:projects/cosmos.tgz: + resolution: {integrity: sha512-aX90/ox0j6fweUFec+mWpKjlynQd15yFsiW8Aj9jpVyXWQ9tbi+fwwg4Jn302v1cBhDI+CuI+wN0LkcdawweRA==, tarball: file:projects/cosmos.tgz} + name: '@rush-temp/cosmos' + version: 0.0.0 dependencies: - '@azure/identity': 1.5.0_debug@4.3.2 + '@azure/identity': 1.5.2_debug@4.3.2 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 - '@types/debug': 4.1.6 - '@types/fast-json-stable-stringify': 2.1.0 + '@types/debug': 4.1.7 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/priorityqueuejs': 1.0.1 '@types/semaphore': 1.1.1 '@types/sinon': 9.0.11 - '@types/tunnel': 0.0.1 '@types/underscore': 1.11.3 '@types/uuid': 8.3.1 cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 - execa: 3.4.0 + execa: 5.1.1 fast-json-stable-stringify: 2.1.0 - jsbi: 3.1.5 + jsbi: 3.2.4 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 node-abort-controller: 1.2.1 prettier: 1.19.1 priorityqueuejs: 1.0.0 - proxy-agent: 4.0.1 requirejs: 2.3.6 rimraf: 3.0.2 rollup: 1.32.1 @@ -9933,24 +9921,26 @@ packages: semaphore: 1.1.0 sinon: 9.2.4 snap-shot-it: 7.9.6 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 universal-user-agent: 6.0.0 uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false - name: '@rush-temp/cosmos' - resolution: - integrity: sha512-BsRi7P/t0dCE+meCvDsGmLSVADUF4kFlR0Gt8JJu3FoBvRnG2eyUG4oDnYg71frICUhgptWpHWoLC7pOqlZdZg== - tarball: file:projects/cosmos.tgz - version: 0.0.0 + file:projects/data-tables.tgz: + resolution: {integrity: sha512-5lC14kRDR5gwBUEBKDcVadiXycIhD8S7vqwj2ZU48opjaXppInwQC/PfMG6LcU+r3ABnKb+C8nVOLoFScSb04A==, tarball: file:projects/data-tables.tgz} + name: '@rush-temp/data-tables' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-xml': 1.0.0-beta.1 - '@azure/identity': 2.0.0-beta.4 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-inject': 4.0.2_rollup@1.32.1 @@ -9960,14 +9950,14 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9991,19 +9981,25 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 uuid: 8.3.2 - dev: false - name: '@rush-temp/data-tables' - resolution: - integrity: sha512-V2NrcYRn858mPRNlSSU4eAYbyWNqkH4OhqAFaQiJVDVFKqL7utOMSapF+XDDNu0DVWMIFxTK7JWsN+noIchKVw== - tarball: file:projects/data-tables.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/dev-tool.tgz: + resolution: {integrity: sha512-eh+3L+ggPYr5duFhCb9/39OAVuxUrkRbQLYQxobVnfjZhASgSBa5CC18cxom7gZ8B5XK+F8xX1Q/cU/4l7MnPA==, tarball: file:projects/dev-tool.tgz} + name: '@rush-temp/dev-tool' + version: 0.0.0 dependencies: '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -10014,14 +10010,14 @@ packages: '@types/fs-extra': 8.1.2 '@types/minimist': 1.2.2 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/prettier': 2.0.2 - builtin-modules: 3.1.0 + builtin-modules: 3.2.0 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 - chalk: 4.1.1 + chalk: 4.1.2 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 fs-extra: 8.1.0 minimist: 1.2.5 mocha: 7.2.0 @@ -10030,21 +10026,24 @@ packages: rollup: 1.32.1 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 yaml: 1.10.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false - name: '@rush-temp/dev-tool' - resolution: - integrity: sha512-+7q1hRI4jTQ2Y1LjHYGsePZlA5jxrNzojz67B2cweYHQRSQdEaN1qR8L/b1HZUDXVVOyBgx/SmfXsadhIaem9g== - tarball: file:projects/dev-tool.tgz - version: 0.0.0 + file:projects/digital-twins-core.tgz: + resolution: {integrity: sha512-sQ2dM4V47Cltcn560kx15C1QwQceO8PTBOsRnr5sqphKGbMQhnGp7/3DIFN3KrPuFPRG/pp+GXAdCeD+CNjNLg==, tarball: file:projects/digital-twins-core.tgz} + name: '@rush-temp/digital-twins-core' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -10053,13 +10052,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10085,34 +10084,38 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 uuid: 8.3.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/digital-twins-core' - resolution: - integrity: sha512-pRBtqihxPUwjMNImjwjTQIFOci/5yylCagTpVdin7cu2ooH9xy7T8qDh1/EXNRBicdEGRpzTmpdJWsAX3mMShQ== - tarball: file:projects/digital-twins-core.tgz - version: 0.0.0 + file:projects/eslint-plugin-azure-sdk.tgz: + resolution: {integrity: sha512-J35xOLMjkbGTj6mKWiUneuknJsBuksy6zGWJGZk9Y4Osvu/qLeMKWELZ7UEr2WIpJBSeTqvJihgvgrIJ0VUkUQ==, tarball: file:projects/eslint-plugin-azure-sdk.tgz} + name: '@rush-temp/eslint-plugin-azure-sdk' + version: 0.0.0 dependencies: '@types/chai': 4.2.21 '@types/eslint': 7.2.14 '@types/estree': 0.0.50 '@types/glob': 7.1.4 - '@types/json-schema': 7.0.8 + '@types/json-schema': 7.0.9 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@typescript-eslint/eslint-plugin': 4.19.0_d7723982da0ce5a2c0734c14de26c19d - '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.31.0+typescript@4.2.4 - '@typescript-eslint/parser': 4.19.0_eslint@7.31.0+typescript@4.2.4 + '@types/node': 12.20.25 + '@typescript-eslint/eslint-plugin': 4.19.0_359354e87b989469ccdce12bde18eddc + '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.32.0+typescript@4.2.4 + '@typescript-eslint/parser': 4.19.0_eslint@7.32.0+typescript@4.2.4 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 chai: 4.3.4 - eslint: 7.31.0 - eslint-config-prettier: 7.2.0_eslint@7.31.0 - eslint-plugin-import: 2.23.4_eslint@7.31.0 + eslint: 7.32.0 + eslint-config-prettier: 7.2.0_eslint@7.32.0 + eslint-plugin-import: 2.24.2_eslint@7.32.0 eslint-plugin-no-only-tests: 2.6.0 eslint-plugin-promise: 4.3.1 eslint-plugin-tsdoc: 0.2.14 @@ -10122,21 +10125,22 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 prettier: 1.19.1 rimraf: 3.0.2 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - supports-color dev: false - name: '@rush-temp/eslint-plugin-azure-sdk' - resolution: - integrity: sha512-J35xOLMjkbGTj6mKWiUneuknJsBuksy6zGWJGZk9Y4Osvu/qLeMKWELZ7UEr2WIpJBSeTqvJihgvgrIJ0VUkUQ== - tarball: file:projects/eslint-plugin-azure-sdk.tgz - version: 0.0.0 + file:projects/event-hubs.tgz: + resolution: {integrity: sha512-D3tr8uQ85UFSFzCGQBpvzM6AUzjVjad/XlSja8lQeXnHUeHAfx/YH3FRGkXlsYYmVmDHLEOHTrxwBDzVZSuOoA==, tarball: file:projects/event-hubs.tgz} + name: '@rush-temp/event-hubs' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4_debug@4.3.2 - '@microsoft/api-extractor': 7.7.11 + '@azure/identity': 2.0.0-beta.6_debug@4.3.2 + '@microsoft/api-extractor': 7.18.9 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-inject': 4.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -10147,15 +10151,15 @@ packages: '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/chai-string': 1.4.2 - '@types/debug': 4.1.6 + '@types/debug': 4.1.7 '@types/long': 4.0.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 '@types/ws': 7.4.7 assert: 1.5.0 - buffer: 5.7.1 + buffer: 6.0.3 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 chai-exclude: 2.0.3_chai@4.3.4 @@ -10164,7 +10168,7 @@ packages: debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 https-proxy-agent: 5.0.0 is-buffer: 2.0.5 @@ -10186,7 +10190,7 @@ packages: nyc: 14.1.1 prettier: 1.19.1 process: 0.11.10 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rhea-promise: 2.1.0 rimraf: 3.0.2 rollup: 1.32.1 @@ -10194,19 +10198,24 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 uuid: 8.3.2 - ws: 7.5.3 - dev: false - name: '@rush-temp/event-hubs' - resolution: - integrity: sha512-KnjcmHCzgaYE9dzbUYgS5ybLojPywDLYHS1oRHUzCTAsACwIqD1R4CCpGqlwRGhS5LOYdcg//7+OvJXe7ZI5Pg== - tarball: file:projects/event-hubs.tgz - version: 0.0.0 + ws: 7.5.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - supports-color + - utf-8-validate + dev: false + file:projects/event-processor-host.tgz: + resolution: {integrity: sha512-DBoiJ/Npr6TC+tymF8vFyLfOSLD8+awqx+67/3ew0cAG6w1XPnIgTVUmxmM9RdnCX6KZGMB1tAc9SP7YJeU49g==, tarball: file:projects/event-processor-host.tgz} + name: '@rush-temp/event-processor-host' + version: 0.0.0 dependencies: '@azure/event-hubs': 2.1.4 '@azure/ms-rest-nodeauth': 0.9.3_debug@4.3.2 @@ -10220,9 +10229,9 @@ packages: '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/chai-string': 1.4.2 - '@types/debug': 4.1.6 + '@types/debug': 4.1.7 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 '@types/ws': 7.4.7 async-lock: 1.3.0 @@ -10233,7 +10242,7 @@ packages: cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 https-proxy-agent: 5.0.0 mocha: 7.2.0 @@ -10244,19 +10253,24 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 uuid: 8.3.2 - ws: 7.5.3 - dev: false - name: '@rush-temp/event-processor-host' - resolution: - integrity: sha512-syykBEfYcNEgeJPdJQjKC3+Nb7bGZQtl7VILYKDPkcDxCHCEqS2VarrIgIbylakamm+WF6oIXYqTVvTOLYRR8g== - tarball: file:projects/event-processor-host.tgz - version: 0.0.0 + ws: 7.5.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - supports-color + - utf-8-validate + dev: false + file:projects/eventgrid.tgz: + resolution: {integrity: sha512-B/oYQdCdjNKQTyDcJc+21hLvAyjcHSaxLgmQ+MGAKNLw2nkO9UQ7/svM4x+p5o4BiCAJX/fqY5Klw0u2x60OGw==, tarball: file:projects/eventgrid.tgz} + name: '@rush-temp/eventgrid' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 @@ -10268,14 +10282,14 @@ packages: '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -10300,21 +10314,26 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 uuid: 8.3.2 - dev: false - name: '@rush-temp/eventgrid' - resolution: - integrity: sha512-suP2/agdK5a7rE8HX+kDc+/YsomXYI0fMWyvcBYgpSVuY+ZJFuvTY6LGw0dCiPjHNMpSEkiGK8xFjcYiwzeXRA== - tarball: file:projects/eventgrid.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/eventhubs-checkpointstore-blob.tgz: + resolution: {integrity: sha512-B4QWcYsEpvqsxwP4Vnt+/nt6dFKBBs7yYS7sEF+s9cxcouETF0PB3KtdUW/lj7ixxMrnXtCUumcqMGmIRuexog==, tarball: file:projects/eventhubs-checkpointstore-blob.tgz} + name: '@rush-temp/eventhubs-checkpointstore-blob' + version: 0.0.0 dependencies: - '@azure/storage-blob': 12.6.0 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-inject': 4.0.2_rollup@1.32.1 @@ -10325,9 +10344,9 @@ packages: '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/chai-string': 1.4.2 - '@types/debug': 4.1.6 + '@types/debug': 4.1.7 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 assert: 1.5.0 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 @@ -10335,7 +10354,7 @@ packages: cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 events: 3.3.0 guid-typescript: 1.0.9 @@ -10361,18 +10380,23 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/eventhubs-checkpointstore-blob' - resolution: - integrity: sha512-KQaKknyZ0kx97nVIDP/C046RpouSNIifPKuDo7L+5G2/Fv22IYM9uPM2zA7JesB3b6qsDu6MIZ1nfRyEAF1Z7A== - tarball: file:projects/eventhubs-checkpointstore-blob.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - supports-color + - utf-8-validate + dev: false + file:projects/eventhubs-checkpointstore-table.tgz: + resolution: {integrity: sha512-aRc5dOiDNYOAJkUeHp/h1M6BeiFTbKMG7diR6+6tVFdJI0gvVDvrOK6gtsdO86jsMdqoffmu13SZuLwFHWPFJw==, tarball: file:projects/eventhubs-checkpointstore-table.tgz} + name: '@rush-temp/eventhubs-checkpointstore-table' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -10384,9 +10408,9 @@ packages: '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/chai-string': 1.4.2 - '@types/debug': 4.1.6 + '@types/debug': 4.1.7 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 assert: 1.5.0 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 @@ -10394,7 +10418,7 @@ packages: cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 guid-typescript: 1.0.9 inherits: 2.0.4 @@ -10419,96 +10443,105 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/eventhubs-checkpointstore-table' - resolution: - integrity: sha512-dJ4D33ESkzcF7QKaIAcjx/MBJAimgjA1ANpFM6yqLB/eawi6OCYS0B0ajj49eqQgq22poyfRjcWwO/2+pbPOmA== - tarball: file:projects/eventhubs-checkpointstore-table.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - supports-color + - utf-8-validate + dev: false + file:projects/identity-cache-persistence.tgz: + resolution: {integrity: sha512-ETCkr+UfX8rXnhq6tZ/jSpZLJdcP/JiXhvq9cpDnVvxcAWyeJdGUhX3WUhOl4va4jD0HyUy5zjwAsrDvfHV1Wg==, tarball: file:projects/identity-cache-persistence.tgz} + name: '@rush-temp/identity-cache-persistence' + version: 0.0.0 dependencies: - '@azure/msal-node': 1.2.0 - '@azure/msal-node-extensions': 1.0.0-alpha.7 + '@azure/msal-node': 1.3.1 + '@azure/msal-node-extensions': 1.0.0-alpha.9 '@microsoft/api-extractor': 7.7.11 '@types/jws': 3.2.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/qs': 6.9.7 '@types/sinon': 9.0.11 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 keytar: 7.7.0 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 - mock-fs: 4.14.0 prettier: 1.19.1 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/identity-cache-persistence' - resolution: - integrity: sha512-5i91Dx+c7HZ4k1nNtDcalEJTf0ouuG6Sa2J9Ew33vCnWhITyu3lPD28H+IExdiaJ20DlnhWxu2cZePtBP15PZw== - tarball: file:projects/identity-cache-persistence.tgz - version: 0.0.0 + file:projects/identity-vscode.tgz: + resolution: {integrity: sha512-6DB5l5krRBSviDlAKWbX+EWsKUu3GTeDr1QleUWxM/Dz2LPI6sktK/DhGiG/DD5GO/vTScDenqhgtkMPge1lDw==, tarball: file:projects/identity-vscode.tgz} + name: '@rush-temp/identity-vscode' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@types/jws': 3.2.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/qs': 6.9.7 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 keytar: 7.7.0 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 - mock-fs: 4.14.0 prettier: 1.19.1 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/identity-vscode' - resolution: - integrity: sha512-EPwefWfu/ea1FGLEFvAN5f4VMuCP6Hcoui7/kH5Ye65N8JKn0q6gzupdEhiEsIb5VnmzTV0JTkLmvgwKtE4mhw== - tarball: file:projects/identity-vscode.tgz - version: 0.0.0 + file:projects/identity.tgz: + resolution: {integrity: sha512-sgTczJD8/f1/+UWPeOS6mvAYqwyhtAM8a/1AUqlNOwrUHbtruEncMEaDgaLNA3zGie9O2H3akEXYAYzl6X6+iw==, tarball: file:projects/identity.tgz} + name: '@rush-temp/identity' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/msal-browser': 2.15.0 - '@azure/msal-common': 4.4.0 - '@azure/msal-node': 1.2.0 + '@azure/msal-browser': 2.17.0 + '@azure/msal-common': 4.5.1 + '@azure/msal-node': 1.3.1 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/jws': 3.2.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/qs': 6.9.7 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/stoppable': 1.1.1 '@types/uuid': 8.3.1 @@ -10516,7 +10549,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 jws: 4.0.0 @@ -10530,53 +10563,57 @@ packages: karma-sourcemap-loader: 0.3.8 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 - open: 7.4.2 + open: 8.2.1 prettier: 1.19.1 - puppeteer: 3.3.0 - qs: 6.10.1 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 stoppable: 1.1.0 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 uuid: 8.3.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/identity' - resolution: - integrity: sha512-nCVG+626QucQ4tvED72kQkFAdI6HzarMZQS17xdU/txH0LoYvk/cPir7jCye/iKVslbi/crqfD8+mebxGNlBpQ== - tarball: file:projects/identity.tgz - version: 0.0.0 + file:projects/iot-device-update.tgz: + resolution: {integrity: sha512-DOkGgC0zGQZGz5CArpHHsu/0v+XVKygrO/9dRJ8xM2ZKrYzn3xrrUDAjPeqJCvaSIc52FSn8hbb5dFLVSzYj1Q==, tarball: file:projects/iot-device-update.tgz} + name: '@rush-temp/iot-device-update' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 mkdirp: 1.0.4 prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - rollup-plugin-node-resolve: 3.4.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 uuid: 8.3.2 + transitivePeerDependencies: + - debug + - supports-color dev: false - name: '@rush-temp/iot-device-update' - resolution: - integrity: sha512-Mj3sS2kLATzkWlXaC9k4RglHU9NYaypYY8lvlNX0b0LHI3N/mHM1m14A73n4KNmbfDFoS1WgcZA4o5P+83tmVQ== - tarball: file:projects/iot-device-update.tgz - version: 0.0.0 + file:projects/iot-modelsrepository.tgz: + resolution: {integrity: sha512-v9t60H5+wWyZDwepDik+S7scqG+cqEbjtOQ0gHN5Lc8iU5zTEwyUxEc0loDdt8Ssopx0aipTo0iD259rh6E9kg==, tarball: file:projects/iot-modelsrepository.tgz} + name: '@rush-temp/iot-modelsrepository' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 @@ -10587,11 +10624,11 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -10616,22 +10653,27 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/iot-modelsrepository' - resolution: - integrity: sha512-iUU687QdDdmA8oCN9f+SO7frInSu4tmqO3gZbb3ydUG26aimniEjgxro+1iBicDL1YMBMbraVsBqDwz39xIsvg== - tarball: file:projects/iot-modelsrepository.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/keyvault-admin.tgz: + resolution: {integrity: sha512-sPfcSpG2bj1ZQaEJjRvYdpImotADgwahBhf64pzotWETsYH2v6i79bqaYTEvjJWL8Se5TzXIbzL1PeMzY0V80Q==, tarball: file:projects/keyvault-admin.tgz} + name: '@rush-temp/keyvault-admin' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 - '@azure/keyvault-keys': 4.2.2 + '@azure/keyvault-keys': 4.3.0 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -10641,7 +10683,7 @@ packages: '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 assert: 1.5.0 @@ -10649,7 +10691,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 @@ -10662,21 +10704,22 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 uuid: 8.3.2 + transitivePeerDependencies: + - supports-color dev: false - name: '@rush-temp/keyvault-admin' - resolution: - integrity: sha512-4Sad+EJvcdIpngD18lwX00p0mmCXdXDW2ORKKHEmoibtPifUEGjeLj6rAmjp7ASENfVUZOKrUL0TDlEnZsnWnA== - tarball: file:projects/keyvault-admin.tgz - version: 0.0.0 + file:projects/keyvault-certificates.tgz: + resolution: {integrity: sha512-CtrJZLopz0ZdjSJ67+mjEP0pVr+ahlmdqmuHm8BWe6nHv4Q0LIK8sC67jXUADi0ow3YveCf+4659w3R2RJGBuA==, tarball: file:projects/keyvault-certificates.tgz} + name: '@rush-temp/keyvault-certificates' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/keyvault-secrets': 4.2.0 + '@azure/keyvault-secrets': 4.3.0 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -10685,14 +10728,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/query-string': 6.2.0 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10711,8 +10753,7 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 - query-string: 5.1.1 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 @@ -10720,35 +10761,39 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 url: 0.11.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/keyvault-certificates' - resolution: - integrity: sha512-eUKpOVqHT5LJthfYF2J2hXtWJIz6CmLw4ReEr+NU6SAgzVn0Fp8KKskAzzSL49to6kdRDJMe4Gt/w2Rsvx+fjg== - tarball: file:projects/keyvault-certificates.tgz - version: 0.0.0 + file:projects/keyvault-common.tgz: + resolution: {integrity: sha512-nqJYMdkZslJJL2Y7fIMCVXcAtsuKOm8ZMukvR5AW7V+uzqZ6s1nAQ+MCQtJlJsKwr8ittY4DXsM70/n0e/g74A==, tarball: file:projects/keyvault-common.tgz} + name: '@rush-temp/keyvault-common' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 + transitivePeerDependencies: + - supports-color dev: false - name: '@rush-temp/keyvault-common' - resolution: - integrity: sha512-nqJYMdkZslJJL2Y7fIMCVXcAtsuKOm8ZMukvR5AW7V+uzqZ6s1nAQ+MCQtJlJsKwr8ittY4DXsM70/n0e/g74A== - tarball: file:projects/keyvault-common.tgz - version: 0.0.0 + file:projects/keyvault-keys.tgz: + resolution: {integrity: sha512-qyVgXM2CL95HxDi90zOKMHc49d3n43Fuih5xo8wyc88x+NW7ueGD5aC76ZmLivqT+OK/cr+wMYiM4VL5khN7HQ==, tarball: file:projects/keyvault-keys.tgz} + name: '@rush-temp/keyvault-keys' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -10758,15 +10803,15 @@ packages: '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/query-string': 6.2.0 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 + chai-exclude: 2.0.3_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10785,8 +10830,7 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 - query-string: 5.1.1 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 @@ -10794,18 +10838,22 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 url: 0.11.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/keyvault-keys' - resolution: - integrity: sha512-umtVDrUxxq2DztemLSWOiQxFCh25If3PnKQs3zJcViUeClT6rg+Tq9x385i1eWuzbRdrrlDct5EXyHc1X64iSg== - tarball: file:projects/keyvault-keys.tgz - version: 0.0.0 + file:projects/keyvault-secrets.tgz: + resolution: {integrity: sha512-ZllwmMvvKcvY7PRn5T9MKqYhzCRNsFJTKBJtAKCToOG94EMxL7nnbBUd0lNx82TEfoXMIoAsJnkOqRXL6ovECQ==, tarball: file:projects/keyvault-secrets.tgz} + name: '@rush-temp/keyvault-secrets' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 @@ -10816,14 +10864,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/query-string': 6.2.0 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10842,8 +10889,7 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 - query-string: 5.1.1 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 @@ -10851,29 +10897,33 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 url: 0.11.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/keyvault-secrets' - resolution: - integrity: sha512-5cQh/Q1hw1MAY6DMFvb3CLfdcAlrqkRrVN0HZKNHUd6CFl61zG715Lf2yM9NOZFT55wZ1Qw4Cj7euGvu/sL98A== - tarball: file:projects/keyvault-secrets.tgz - version: 0.0.0 + file:projects/logger.tgz: + resolution: {integrity: sha512-nXyObeQKB1ZJEkCCaJWSEvvm9rhW9p6ipMklG3GZA0Q/HYWIFx0aURxjxUQjXdkxklhZuYDBa36nCcRqW4wnyg==, tarball: file:projects/logger.tgz} + name: '@rush-temp/logger' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 delay: 4.4.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -10889,33 +10939,39 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - dev: false - name: '@rush-temp/logger' - resolution: - integrity: sha512-f9sVty1bOjJpoYQN62xJ2SjM0tmePQWIkXr97gdHL61ssHMjlA/AcHDmhmlJEvFMC8rR21cgKorL63L/EwnOeg== - tarball: file:projects/logger.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/mixed-reality-authentication.tgz: + resolution: {integrity: sha512-ErptpvBcEPQAfndtyGGq9V2o2/LBnk3udcH1KZDWWMrj2P0YCeY4GClQexhIu7uGMqQs3rYlxTbRXXPqXOfaLQ==, tarball: file:projects/mixed-reality-authentication.tgz} + name: '@rush-temp/mixed-reality-authentication' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10936,31 +10992,35 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/mixed-reality-authentication' - resolution: - integrity: sha512-MkDOVDN8J/hqehxwB3Ow7DbduV3cYYvmwH95XEZA2ckD6e7NokCDzBbdLiS14hFVhP+spA9GAsqXoqS/Z+y7Ag== - tarball: file:projects/mixed-reality-authentication.tgz - version: 0.0.0 + file:projects/mixed-reality-remote-rendering.tgz: + resolution: {integrity: sha512-6lrEwlNs+K79brLQYvizXCb/5II9iFYjZABJT/AX7YS8gzmHbC2iR+M5MbxgxoXYzK9x+GVQLWwqwOZ0fwz/qg==, tarball: file:projects/mixed-reality-remote-rendering.tgz} + name: '@rush-temp/mixed-reality-remote-rendering' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 1.5.2 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10980,50 +11040,55 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 uuid: 8.3.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/mixed-reality-remote-rendering' - resolution: - integrity: sha512-xc65YPH8+ITdOcyjH7t0PN8ee7Znf82odclurVIwJLgBkoKLdvkd8jAXXUbgeBoQ1Ma1H+PFaLhI8V4bo/yXJw== - tarball: file:projects/mixed-reality-remote-rendering.tgz - version: 0.0.0 + file:projects/mock-hub.tgz: + resolution: {integrity: sha512-K6rFTLoACIBX5It6x5v3r668Kpt7jjkgCeukzTyZ13cvPrjqJ4M7L9y0oU2ECIigGm59cbHx4sWOX/rHAhELhw==, tarball: file:projects/mock-hub.tgz} + name: '@rush-temp/mock-hub' + version: 0.0.0 dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 - rhea: 2.0.3 + rhea: 2.0.4 rimraf: 3.0.2 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 + transitivePeerDependencies: + - supports-color dev: false - name: '@rush-temp/mock-hub' - resolution: - integrity: sha512-K6rFTLoACIBX5It6x5v3r668Kpt7jjkgCeukzTyZ13cvPrjqJ4M7L9y0oU2ECIigGm59cbHx4sWOX/rHAhELhw== - tarball: file:projects/mock-hub.tgz - version: 0.0.0 + file:projects/monitor-opentelemetry-exporter.tgz: + resolution: {integrity: sha512-xdhJhH/kOB2G0j4C1AUPp762y1L//QDotcRzJcqZxg8s15KL1KQoY7x+1y0sk7UXaQk80YfPb1sdj3ovD8Y5vQ==, tarball: file:projects/monitor-opentelemetry-exporter.tgz} + name: '@rush-temp/monitor-opentelemetry-exporter' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 - '@opentelemetry/api': 1.0.1 - '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/instrumentation': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/instrumentation-http': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/node': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/resources': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/semantic-conventions': 0.22.0 - '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/core': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/instrumentation': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/instrumentation-http': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/node': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/resources': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/semantic-conventions': 0.24.0 + '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.3 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 dotenv: 8.6.0 - eslint: 7.31.0 - eslint-plugin-node: 11.1.0_eslint@7.31.0 - execa: 3.4.0 + eslint: 7.32.0 + eslint-plugin-node: 11.1.0_eslint@7.32.0 + execa: 5.1.1 mocha: 7.2.0 nock: 12.0.3 nyc: 14.1.1 @@ -11031,34 +11096,37 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false - name: '@rush-temp/monitor-opentelemetry-exporter' - resolution: - integrity: sha512-WYH8CaZOliclSLRlTl5xrJfy5dZtOvEc1ypw2W6qwQABZOeeF8geFXO6glkcxMCrEKIIeAjN14yyDXDQMsF3fg== - tarball: file:projects/monitor-opentelemetry-exporter.tgz - version: 0.0.0 + file:projects/monitor-query.tgz: + resolution: {integrity: sha512-pIaZvhGUj1JGFR945VFkaCNPoKaIMwhXIfz3XmdW55rJfRCmWm8x1ZHYmNjbepyWNK9C58Y1UCXv/P1n1LQqDg==, tarball: file:projects/monitor-query.tgz} + name: '@rush-temp/monitor-query' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/monitor-opentelemetry-exporter': 1.0.0-beta.4 '@microsoft/api-extractor': 7.7.11 - '@opentelemetry/api': 1.0.1 - '@opentelemetry/node': 0.22.0_@opentelemetry+api@1.0.1 - '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.1 + '@opentelemetry/api': 1.0.3 + '@opentelemetry/node': 0.22.0_@opentelemetry+api@1.0.3 + '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.3 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -11079,294 +11147,399 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/monitor-query' - resolution: - integrity: sha512-fnatli/y9QgLOQPIPd9kUw11qRXlM5fBisSJhxAD+m+SlrhOsvr0CjOacesQwj4quNSFApSg8qp6p0Fa97dmmw== - tarball: file:projects/monitor-query.tgz - version: 0.0.0 + file:projects/perf-ai-form-recognizer.tgz: + resolution: {integrity: sha512-NvAj3Og1OfYiQM+8BBr+VbqTrH7eR0nhPEZIHxXkwPNioxV8uBbf+EyN9WPMRVPNx1Fnugr4NnbxZqKBarUvkQ==, tarball: file:projects/perf-ai-form-recognizer.tgz} + name: '@rush-temp/perf-ai-form-recognizer' + version: 0.0.0 dependencies: '@azure/ai-form-recognizer': 3.1.0-beta.3 - '@azure/identity': 2.0.0-beta.4 - '@types/node': 12.20.16 + '@azure/identity': 2.0.0-beta.5 + '@types/node': 12.20.25 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - debug + - supports-color dev: false - name: '@rush-temp/perf-ai-form-recognizer' - resolution: - integrity: sha512-lBJHEV2UQxYVGAHjo93+FayiHLQ2UVlnOZd12+V+DCkoHbgr8xS6EGdxlbq06aqL+iMpfnz6YA7j9Zdbk1unmg== - tarball: file:projects/perf-ai-form-recognizer.tgz - version: 0.0.0 + file:projects/perf-ai-metrics-advisor.tgz: + resolution: {integrity: sha512-+Bstyqsel7Lr1E0VZpUTGOyaIqVQYgTHMVqzPxAFLQ8ODpxYfwBPbrbyWelQcPVva3nKFMTHYJTth7JhyU93Hw==, tarball: file:projects/perf-ai-metrics-advisor.tgz} + name: '@rush-temp/perf-ai-metrics-advisor' + version: 0.0.0 dependencies: '@azure/ai-metrics-advisor': 1.0.0-beta.3 - '@types/node': 12.20.16 + '@types/node': 12.20.25 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false - name: '@rush-temp/perf-ai-metrics-advisor' - resolution: - integrity: sha512-ZjOIz/qZblV8RptttXCimWsXhWNgln9uSy3bS+7UdCFB20ve8PbIMtKlm9peFpTxtGbkLbUJ05WdRAGSDRFt6w== - tarball: file:projects/perf-ai-metrics-advisor.tgz - version: 0.0.0 + file:projects/perf-ai-text-analytics.tgz: + resolution: {integrity: sha512-OUvjOGcvUwZAvEh5wQyZoH/6hE7Q6F8hP6swetAbfENX5eeKfobS4oAGIwhr7foFLbSTwK3hIM4/N0HaiUVDpg==, tarball: file:projects/perf-ai-text-analytics.tgz} + name: '@rush-temp/perf-ai-text-analytics' + version: 0.0.0 dependencies: '@azure/ai-text-analytics': 5.1.0 - '@types/node': 12.20.16 + '@azure/identity': 2.0.0-beta.6 + '@types/node': 12.20.25 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - debug + - supports-color dev: false - name: '@rush-temp/perf-ai-text-analytics' - resolution: - integrity: sha512-ZIZ6KsPEXlUQIZPAQ0IDbrdjeaGLN2L7Py/kulviQpOsksA9Ff5SZplAeT4j+Kujus1ANRn8mrtaApviHgZ7vg== - tarball: file:projects/perf-ai-text-analytics.tgz - version: 0.0.0 + file:projects/perf-app-configuration.tgz: + resolution: {integrity: sha512-W1FXSR/RtUTDUb8F7HotswZifR5KM1vsmHVq+YADBHmGlV98Kv8P56ex2Tob/tEuatSxKqD9FKcoW0/VB9CuCg==, tarball: file:projects/perf-app-configuration.tgz} + name: '@rush-temp/perf-app-configuration' + version: 0.0.0 dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false - name: '@rush-temp/perf-app-configuration' - resolution: - integrity: sha512-vxd8UIAJWmXCeXs+np9dzDKpeHAYtCmh3CpE7I3E27oMx8dvT8Rx6UZ40VwOSlOzZDdK1/6B7bU/EnrhjEEhjA== - tarball: file:projects/perf-app-configuration.tgz - version: 0.0.0 + file:projects/perf-core-rest-pipeline.tgz: + resolution: {integrity: sha512-FKFSUVmpQQrlY4VYT11tRhq56LSkZVSdoiFjDZR369DZx2ir/ntEHqEMyuJY9LQEHBvHfpjVBHTDaWsz7pME6Q==, tarball: file:projects/perf-core-rest-pipeline.tgz} + name: '@rush-temp/perf-core-rest-pipeline' + version: 0.0.0 dependencies: + '@types/node': 12.20.25 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false - name: '@rush-temp/perf-core-rest-pipeline' - resolution: - integrity: sha512-VtDP3wPovpWESSwAZQ7FqSBdZAqLmijGC50UHykB1qGKoSk/v4hnX3v3H/qef2Gq1m9962VNH3A1xHcAujr5Ng== - tarball: file:projects/perf-core-rest-pipeline.tgz - version: 0.0.0 + file:projects/perf-data-tables.tgz: + resolution: {integrity: sha512-du9L8noR5FOiExxQY2nC1zHei8i6A2f4Xn9u391M8WDdMps07BGe3QkTDlCJg9SgLG+t0rDTKd7yx19Fs1J7lQ==, tarball: file:projects/perf-data-tables.tgz} + name: '@rush-temp/perf-data-tables' + version: 0.0.0 dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 - dev: false - name: '@rush-temp/perf-data-tables' - resolution: - integrity: sha512-f2doZuJEA9xQMax2cjEggl0Byg6amPfr1k262SuxYABq0PHF+Bs33zXTektZIDRR/5tgpNsYEWpGEibRUIE76Q== - tarball: file:projects/perf-data-tables.tgz + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color + dev: false + + file:projects/perf-event-hubs.tgz: + resolution: {integrity: sha512-VyDyhkjpGLOZYCuXVLDQNgXVKFm7kPTxhn8tcsGDAvcqrxPpkFJkGdSM6wBWPMNZJBbAAOsLGP/90+/TReXeOA==, tarball: file:projects/perf-event-hubs.tgz} + name: '@rush-temp/perf-event-hubs' version: 0.0.0 - file:projects/perf-eventgrid.tgz: dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 + '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 + moment: 2.29.1 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 + uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false + + file:projects/perf-eventgrid.tgz: + resolution: {integrity: sha512-KIfi5p1CleZEJQV6nkwxHxHW/1O5q1ungIjwhbqbyQjvBobiCJi36pNq8fxc/4YOcSFilgUKnQHbbttJ8hMrJw==, tarball: file:projects/perf-eventgrid.tgz} name: '@rush-temp/perf-eventgrid' - resolution: - integrity: sha512-uTGNn9MwdSVeweKogNSB0lQlWHfuiqWJ+2fWaf/jOSmEe/0R1LFmrwIOErA8uBumCga1Mz1/NBMoaPA6KDlblg== - tarball: file:projects/perf-eventgrid.tgz version: 0.0.0 - file:projects/perf-identity.tgz: dependencies: - '@types/uuid': 8.3.1 + '@types/node': 12.20.25 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false + + file:projects/perf-identity.tgz: + resolution: {integrity: sha512-mrHkM8YBl9RG5no6KaxkWs0KgGrdBj85WSpjXg/IPoGg+xyAVpXBFWMDNp2m9YfH8h798gvIVOsRbNNENZoxhw==, tarball: file:projects/perf-identity.tgz} name: '@rush-temp/perf-identity' - resolution: - integrity: sha512-y1zAMz8QTG3UEFwFvVgcc3pTdpNTn/pQW75roboiqe0On9eRFzAKdvq/Ubue4iVTqE9CMZmdsgALadXcmBI3jw== - tarball: file:projects/perf-identity.tgz version: 0.0.0 - file:projects/perf-keyvault-certificates.tgz: dependencies: - '@azure/identity': 2.0.0-beta.4 - '@azure/keyvault-certificates': 4.2.0 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 - uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false + + file:projects/perf-keyvault-certificates.tgz: + resolution: {integrity: sha512-9aJ0xpyiMl1E8vsV1spUpkSyXiBTaywRulAG46MKeefYn4KLIpx0Df+qnwuvrKleNtW08X5p1ke137VgT69sAA==, tarball: file:projects/perf-keyvault-certificates.tgz} name: '@rush-temp/perf-keyvault-certificates' - resolution: - integrity: sha512-nZWv2OVw3fJfNI8Y5haudNojwz/fAX8TeWgWV39TmB0TZn4HDTAKt3WOW/3eOAa1+D8s6VNbt1MsOExrRmS5Ug== - tarball: file:projects/perf-keyvault-certificates.tgz version: 0.0.0 - file:projects/perf-keyvault-keys.tgz: dependencies: - '@azure/keyvault-keys': 4.2.2 + '@azure/identity': 2.0.0-beta.5 + '@azure/keyvault-certificates': 4.3.0 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - debug + - supports-color dev: false + + file:projects/perf-keyvault-keys.tgz: + resolution: {integrity: sha512-E70lXSAAAdU9JRCXksCGYaFr7bjsHdn1AP3zSB+HKyLQhhU1FxNL02tPnZLvylS7c+sC42nJTaaBqXIkWaQuKA==, tarball: file:projects/perf-keyvault-keys.tgz} name: '@rush-temp/perf-keyvault-keys' - resolution: - integrity: sha512-9fQgixzmC5EXGxuFD9cFsUOewEzvxv6bGIrc0RI+B4wsbvH5T+kYhn3gl5WhHz387mEL4/UsmrXZ7sIn0brQUQ== - tarball: file:projects/perf-keyvault-keys.tgz version: 0.0.0 - file:projects/perf-keyvault-secrets.tgz: dependencies: - '@azure/identity': 2.0.0-beta.4 - '@azure/keyvault-secrets': 4.2.0 + '@azure/identity': 2.0.0-beta.6 + '@azure/keyvault-keys': 4.3.0 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - debug + - supports-color dev: false + + file:projects/perf-keyvault-secrets.tgz: + resolution: {integrity: sha512-U1FlgtAyEEK4Icrk7Vd9UHRktnfvZvVrwTmpOI6URRk8OHfEQmy6n1VHWBGOCQ7yCreYH6S0uLPlXoNPtaPuDQ==, tarball: file:projects/perf-keyvault-secrets.tgz} name: '@rush-temp/perf-keyvault-secrets' - resolution: - integrity: sha512-//lFvs3Ap0NhJjf4azndYavirLFXWrKSKURyqcDzsb9ZRMiehb2Z2j0K+iLz0/jt9gY4L/aKWMaXbjGkBuQLaw== - tarball: file:projects/perf-keyvault-secrets.tgz version: 0.0.0 - file:projects/perf-search-documents.tgz: dependencies: - '@azure/identity': 2.0.0-beta.4 - '@types/node': 12.20.16 + '@azure/identity': 2.0.0-beta.5 + '@azure/keyvault-secrets': 4.3.0 + '@types/node': 12.20.25 + '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 + uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - debug + - supports-color dev: false + + file:projects/perf-search-documents.tgz: + resolution: {integrity: sha512-jIBagXzEDWliTMSg39K2ol71cRYif21I398rrNyXnlpyjnlo+ApBAEUb0KG7scDPyfd1gH/w3NURLVRje/Qiuw==, tarball: file:projects/perf-search-documents.tgz} name: '@rush-temp/perf-search-documents' - resolution: - integrity: sha512-vtRy8wK+zbj82Lk2NN1MP/Be2VZRW7D9wfJPAGQLMQIc1zPLx2uAqCUQqVKg26qS5havaOSWU3egtO8OblqrIw== - tarball: file:projects/perf-search-documents.tgz version: 0.0.0 - file:projects/perf-storage-blob.tgz: dependencies: - '@types/node': 12.20.16 - '@types/node-fetch': 2.5.11 + '@azure/identity': 2.0.0-beta.5 + '@types/node': 12.20.25 + dotenv: 8.6.0 + eslint: 7.32.0 + prettier: 1.19.1 + rimraf: 3.0.2 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 + typescript: 4.2.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - debug + - supports-color + dev: false + + file:projects/perf-service-bus.tgz: + resolution: {integrity: sha512-M3kETv0m40YuRP/zOegXkQ56pQECHNG9DjrGZl0xr8fMClhamKX6/eZGcYBkiYIU7MfDONudmhhfsqs9XchzNQ==, tarball: file:projects/perf-service-bus.tgz} + name: '@rush-temp/perf-service-bus' + version: 0.0.0 + dependencies: + '@types/node': 12.20.25 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 - node-fetch: 2.6.1 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false + + file:projects/perf-storage-blob.tgz: + resolution: {integrity: sha512-A1FPXtOAkfSGlyKk5lOMOrFbs3eQexmAtFhO8na55jMeEKDy4y9J/GGO1rD5REqiIOERo+nvoilkSdCUQVt0GA==, tarball: file:projects/perf-storage-blob.tgz} name: '@rush-temp/perf-storage-blob' - resolution: - integrity: sha512-JvaatDMPTFvpFTZAPBW+XYD19rWf7lSkp9iJPxm/bUwIVKR38e7J8mqA7+/IHAbDosQrdHkWo21+UHL+NYRlVw== - tarball: file:projects/perf-storage-blob.tgz version: 0.0.0 - file:projects/perf-storage-file-datalake.tgz: dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 + '@types/node-fetch': 2.5.12 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 + node-fetch: 2.6.2 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false + + file:projects/perf-storage-file-datalake.tgz: + resolution: {integrity: sha512-6ufEceJOi1bvgS770BFogmRkci1Y30+1eV2ww3783sy5Z5Lehf2n0P1HSzuXZ+YQHILRIUoPegvkM+HuIpLOsA==, tarball: file:projects/perf-storage-file-datalake.tgz} name: '@rush-temp/perf-storage-file-datalake' - resolution: - integrity: sha512-vepQiPpEOpjtZO4CA6FHj5njhGkgztRKmb2q4+Iuf4rlWf2++9tPxdqePngQ48kANbgxA6r0G7Z2s8uYM9AFxA== - tarball: file:projects/perf-storage-file-datalake.tgz version: 0.0.0 - file:projects/perf-storage-file-share.tgz: dependencies: - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 prettier: 1.19.1 rimraf: 3.0.2 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color dev: false + + file:projects/perf-storage-file-share.tgz: + resolution: {integrity: sha512-SiG8mj1jxrvNcBKNXRsWgzo1XPvF3HmWYh/ck2sgMzDSnYMg52QXQ202SVx66kWktcTN/LYCJGsLRBerUK34Hw==, tarball: file:projects/perf-storage-file-share.tgz} name: '@rush-temp/perf-storage-file-share' - resolution: - integrity: sha512-puMNDli8g8FHzU3hcpWibrKOoXVSBbeZz2/mq+Eoan4HwJzUqyaTOllfsc0NXbFn2aNV9ETSLtcldPLsWckq9w== - tarball: file:projects/perf-storage-file-share.tgz version: 0.0.0 - file:projects/purview-catalog.tgz: dependencies: - '@azure-rest/core-client': 1.0.0-beta.6 - '@azure/identity': 1.5.0 + '@types/node': 12.20.25 + '@types/uuid': 8.3.1 + dotenv: 8.6.0 + eslint: 7.32.0 + prettier: 1.19.1 + rimraf: 3.0.2 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 + typescript: 4.2.4 + uuid: 8.3.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - supports-color + dev: false + + file:projects/purview-account.tgz: + resolution: {integrity: sha512-tc6KFxfVCGUIwZjdgRZ80vPbwro2EwMEy4B3MQahsza/FZ4i3AHouoborKtNJg30pkTh1n2l7xOeaQJr/hQ7wg==, tarball: file:projects/purview-account.tgz} + name: '@rush-temp/purview-account' + version: 0.0.0 + dependencies: + '@azure-rest/core-client-paging': 1.0.0-beta.1 + '@azure/identity': 1.5.2 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11388,28 +11561,31 @@ packages: prettier: 2.2.1 rimraf: 3.0.2 rollup: 1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false + + file:projects/purview-catalog.tgz: + resolution: {integrity: sha512-BpZ4lOcV2MTB83zU2HMD+uUDLS9RjPLFiZXEL0RfjELRDVYHW7Mzc8iHm4hh0z0KJ8LgJU6IicmaNvMP/X8LBA==, tarball: file:projects/purview-catalog.tgz} name: '@rush-temp/purview-catalog' - resolution: - integrity: sha512-q+6z0t3l58Kk5cSAprPa0Mwenfe25SafEDzBvlIEvnhnUNUGarIuujMMyFZQl2kA/BD0AR2BViAqjmoIWNLstQ== - tarball: file:projects/purview-catalog.tgz version: 0.0.0 - file:projects/purview-scanning.tgz: dependencies: - '@azure-rest/core-client': 1.0.0-beta.6 - '@azure/identity': 1.5.0 + '@azure/identity': 1.5.2 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11431,20 +11607,70 @@ packages: prettier: 2.2.1 rimraf: 3.0.2 rollup: 1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false + + file:projects/purview-scanning.tgz: + resolution: {integrity: sha512-HX4JV2mB44SB0PkGp9I4CQ/Bu0yYtFOkwu5WHNn9sathdM9wxEbX+GXP/1e9Xh4EpGweOSDprabMN+IGzK+4Tw==, tarball: file:projects/purview-scanning.tgz} name: '@rush-temp/purview-scanning' - resolution: - integrity: sha512-y31TKyCDetv3Otry7fTLQekbusRP9t3zTur4bJURy6QQv3lmFzXRaeq0zlKu4TUgcC0eF8QIM/oGx5x81TFr2w== - tarball: file:projects/purview-scanning.tgz version: 0.0.0 + dependencies: + '@azure/identity': 1.5.2 + '@microsoft/api-extractor': 7.13.2 + '@types/chai': 4.2.21 + '@types/mocha': 7.0.2 + '@types/node': 12.20.25 + chai: 4.3.4 + cross-env: 7.0.3 + dotenv: 8.6.0 + eslint: 7.32.0 + karma: 6.3.4 + karma-chrome-launcher: 3.1.0 + karma-coverage: 2.0.3 + karma-edge-launcher: 0.4.2_karma@6.3.4 + karma-env-preprocessor: 0.1.1 + karma-firefox-launcher: 1.3.0 + karma-ie-launcher: 1.0.0_karma@6.3.4 + karma-json-preprocessor: 0.3.3_karma@6.3.4 + karma-json-to-file-reporter: 1.0.1 + karma-junit-reporter: 2.0.1_karma@6.3.4 + karma-mocha: 2.0.1 + karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-source-map-support: 1.4.0 + karma-sourcemap-loader: 0.3.8 + mkdirp: 1.0.4 + mocha: 7.2.0 + mocha-junit-reporter: 1.23.3_mocha@7.2.0 + nyc: 14.1.1 + prettier: 2.2.1 + rimraf: 3.0.2 + rollup: 1.32.1 + source-map-support: 0.5.20 + tslib: 2.3.1 + typedoc: 0.15.2 + typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/quantum-jobs.tgz: + resolution: {integrity: sha512-XVXR8wpPwC2WRY092LdqozMHD1gvgjrVSjDF0KKIKPyFUYOgu2O4dnPFZZuMyiEvw/I53IZ91v7ddx5RzgHtqg==, tarball: file:projects/quantum-jobs.tgz} + name: '@rush-temp/quantum-jobs' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/storage-blob': 12.6.0 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -11453,12 +11679,12 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -11485,37 +11711,38 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/quantum-jobs' - resolution: - integrity: sha512-QmbIrY1oi9GveAr/aF66xEOl1zhTQt3xiuJNvy1hmR7GzNKVp7fE6n47+gmcDZBQYjKcIwXBXET52NPwCQOGHA== - tarball: file:projects/quantum-jobs.tgz - version: 0.0.0 + file:projects/schema-registry-avro.tgz: + resolution: {integrity: sha512-HjDqcDAbRqLD2/+t/axLJZmLPbrB8hb9uuMIJkgyxd17AIurR/+Lnav4TS602wRdz0dh8z/P5g9C8UwisZzN3A==, tarball: file:projects/schema-registry-avro.tgz} + name: '@rush-temp/schema-registry-avro' + version: 0.0.0 dependencies: - '@azure/core-tracing': 1.0.0-preview.13 - '@microsoft/api-extractor': 7.7.11 + '@azure/identity': 2.0.0-beta.6 + '@microsoft/api-extractor': 7.18.9 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-inject': 4.0.2_rollup@1.32.1 - '@rollup/plugin-json': 4.1.0_rollup@1.32.1 - '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 - '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - avsc: 5.7.1 - buffer: 5.7.1 + '@types/node': 12.20.25 + avsc: 5.7.3 + buffer: 6.0.3 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11528,47 +11755,43 @@ packages: karma-junit-reporter: 2.0.1_karma@6.3.4 karma-mocha: 2.0.1 karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-source-map-support: 1.4.0 karma-sourcemap-loader: 0.3.8 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - process: 0.11.10 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - rollup-plugin-terser: 5.3.1_rollup@1.32.1 - rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/schema-registry-avro' - resolution: - integrity: sha512-1Gx/cxrGzeNpsjnE4z+HoOS1/IUd76UjtPXG1/fcYjzuStVv0Q9Siv0OQo4IyzV5jY3hGbQFXcHKge+wLu1Mhw== - tarball: file:projects/schema-registry-avro.tgz - version: 0.0.0 + file:projects/schema-registry.tgz: + resolution: {integrity: sha512-3u6zoUWe+USz56Vcbc/CvVDy/roObzFCPl9ijWjt6bq94pPhgakJ4eKVlIFb5iytzPg6HVHcbt2kKMK6UN6OOg==, tarball: file:projects/schema-registry.tgz} + name: '@rush-temp/schema-registry' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 - '@microsoft/api-extractor': 7.7.11 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - '@rollup/plugin-json': 4.1.0_rollup@1.32.1 - '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 - '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 - '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 + '@azure/identity': 2.0.0-beta.6 + '@microsoft/api-extractor': 7.18.9 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11588,21 +11811,21 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - rollup-plugin-terser: 5.3.1_rollup@1.32.1 - rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/schema-registry' - resolution: - integrity: sha512-TLvHZaEf9h2wtMEdawYn2diYDVX3uE8sdUD8jDOuBagIOzzM4GEtNktdLzpYm0K6tqEdOXAbJPwYnllPm5h4Lg== - tarball: file:projects/schema-registry.tgz - version: 0.0.0 + file:projects/search-documents.tgz: + resolution: {integrity: sha512-Zd+NkUqwflzdPeO2VxTN+gw4TDX4KAHQkJ9RQLde8UouilOdprUfOIpobSfaGWeb0UuxdbZbmumR9MUJQfvBLg==, tarball: file:projects/search-documents.tgz} + name: '@rush-temp/search-documents' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 @@ -11613,12 +11836,12 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -11645,20 +11868,27 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/search-documents' - resolution: - integrity: sha512-R5XMdxTSlVmE6gEBgEWvYVD0XdFPYkWh1HCGDfGmmLuLJLBOKFDSH1t2LjSX2q6ODKIA0R1uJk+qRcO/YfNfDQ== - tarball: file:projects/search-documents.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/service-bus.tgz: + resolution: {integrity: sha512-taRKsIxjmgo9TDFPIs0WoZdV8kXMUQrOAGHo0Xn0+4WCo2dtDWAjTRRznNIQ78QDljnqHOLRdMYtNCLxlysM4g==, tarball: file:projects/service-bus.tgz} + name: '@rush-temp/service-bus' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6_debug@4.3.2 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-inject': 4.0.2_rollup@1.32.1 @@ -11668,16 +11898,16 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 - '@types/debug': 4.1.6 + '@types/debug': 4.1.7 '@types/glob': 7.1.4 '@types/is-buffer': 2.0.0 '@types/long': 4.0.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 '@types/ws': 7.4.7 assert: 1.5.0 - buffer: 5.7.1 + buffer: 6.0.3 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 chai-exclude: 2.0.3_chai@4.3.4 @@ -11686,7 +11916,7 @@ packages: delay: 4.4.1 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 events: 3.3.0 glob: 7.1.7 @@ -11712,7 +11942,7 @@ packages: prettier: 1.19.1 process: 0.11.10 promise: 8.1.0 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rhea-promise: 2.1.0 rimraf: 3.0.2 rollup: 1.32.1 @@ -11720,18 +11950,23 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - ws: 7.5.3 - dev: false - name: '@rush-temp/service-bus' - resolution: - integrity: sha512-BRE7Pu6o4KMaLKKXI54+yQTerjV4J9ACPmoZSyRtVRB9i7GtkwRIKwzU6s74lcP6GHdZYvYTqxJb7uAWiRWE0A== - tarball: file:projects/service-bus.tgz - version: 0.0.0 + ws: 7.5.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - supports-color + - utf-8-validate + dev: false + file:projects/storage-blob-changefeed.tgz: + resolution: {integrity: sha512-uZenRe2at7wbgePzuFBTf8sohGr7PrBDjkC5Q09SvIdoKlij+/obtyjn4f79xwIrOC71ENNirCfLl1EjWZzY9w==, tarball: file:projects/storage-blob-changefeed.tgz} + name: '@rush-temp/storage-blob-changefeed' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 @@ -11740,14 +11975,14 @@ packages: '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11768,7 +12003,7 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 @@ -11776,22 +12011,28 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/storage-blob-changefeed' - resolution: - integrity: sha512-kUZDDgg3TMQVGSfpHpoLzFeV+q+Dek2S5eS3/OY2XuSyoYEOx8tN726ypVVHMmBj9eRWeHWV6mYuvo1ZBzAqyw== - tarball: file:projects/storage-blob-changefeed.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/storage-blob.tgz: + resolution: {integrity: sha512-oG2JiQptBvC9GwPPVrw2Mb7SmWBWG1H/S9Jwkdyuq3pRcRFBe12vvGwvYgI4v3uEvEu7oHaiS2VPVSwhvAXgAg==, tarball: file:projects/storage-blob.tgz} + name: '@rush-temp/storage-blob' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -11799,14 +12040,14 @@ packages: '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/node-fetch': 2.5.11 + '@types/node': 12.20.25 + '@types/node-fetch': 2.5.12 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11825,31 +12066,38 @@ packages: karma-sourcemap-loader: 0.3.8 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 - node-fetch: 2.6.1 + node-fetch: 2.6.2 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/storage-blob' - resolution: - integrity: sha512-gt6ycolVVfj/4GI/3vdrxIpV7kQEs6u6Jg+TYtbL9javrt37AZOZ/2RK8VEdJATIaZiiGS71Bf9B8CLoncvecA== - tarball: file:projects/storage-blob.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/storage-file-datalake.tgz: + resolution: {integrity: sha512-ZCFFMiB1Ot1bBuotstCNTDgAlXMyyXpJZgkpQ2qGnmKjUP2D/sSiq2WhoaNmIZzTLuZhsbJEL6Mu4zap2c2X8A==, tarball: file:projects/storage-file-datalake.tgz} + name: '@rush-temp/storage-file-datalake' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -11857,17 +12105,16 @@ packages: '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/query-string': 6.2.0 + '@types/node': 12.20.25 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 events: 3.3.0 - execa: 3.4.0 + execa: 5.1.1 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -11886,27 +12133,32 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 - query-string: 5.1.1 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/storage-file-datalake' - resolution: - integrity: sha512-OHBBPEh+SdTPsqvcbsNar5v4qV1ptWP1gPG/mW32XXpm9HuSRNTjwUEiO1xeQCbpp01iYsiQXehf7H78SpyD0Q== - tarball: file:projects/storage-file-datalake.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/storage-file-share.tgz: + resolution: {integrity: sha512-iK17NEJFe9iwEmfdp9JAJwaSXsF4cWq/GjLWXG1EGUKQ39mrbUzX6xNlTet116MCfEC3nOYUSWGHY6LJbxGGGw==, tarball: file:projects/storage-file-share.tgz} + name: '@rush-temp/storage-file-share' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 @@ -11915,13 +12167,13 @@ packages: '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11942,26 +12194,32 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/storage-file-share' - resolution: - integrity: sha512-mC6M83OChGFyGm3fA8LdX+4AU7UOqxGAHBCI5C4pHYpDWtcDm95gEsqWeFn28Ex3nxFl5mgWFvo/Kc3zPI2pwg== - tarball: file:projects/storage-file-share.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/storage-internal-avro.tgz: + resolution: {integrity: sha512-iffCllVZwHZmId0hpCngIyOUXYVWkXE+qzcP0xDD/h9WuMVS1Z70+DApW18k2KoSmH1/RkiQM5mybp/f8nUhyQ==, tarball: file:projects/storage-internal-avro.tgz} + name: '@rush-temp/storage-internal-avro' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -11969,12 +12227,12 @@ packages: '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 assert: 1.5.0 dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -11994,41 +12252,47 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/storage-internal-avro' - resolution: - integrity: sha512-aQ1xnh7693GdMq9DI/FkIsHd5BnHsemYRwhc3BqmcOzIXP+n3qE1f9sP9t+DPGnWbcZI5Ce29VE9t1r6q31iAQ== - tarball: file:projects/storage-internal-avro.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/storage-queue.tgz: + resolution: {integrity: sha512-P8fE8ianJFOaHSuwKFp4zXeYVNG8bA9dsRW8RkH9+Zarg3pSLPhHIM70pSCTJBmaI9lDSsanhJIHacK55/zhaw==, tarball: file:projects/storage-queue.tgz} + name: '@rush-temp/storage-queue' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -12048,60 +12312,100 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/storage-queue' - resolution: - integrity: sha512-CTBxCgdVUumDnQDo009Fyp+n7umkRDMMe8KjJIzad1pUkxF0OzflqavQqM62X+yCNz7MHzENfRepTO/CAVHcFA== - tarball: file:projects/storage-queue.tgz - version: 0.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/synapse-access-control.tgz: + resolution: {integrity: sha512-fXpynEKAT+081vxYyKEdqJk2XD4NNHix5UKR2gsKWlCNKerWh1vfMrfInOUUHCsyidVHpzWVMgaK4rcIskiUog==, tarball: file:projects/synapse-access-control.tgz} + name: '@rush-temp/synapse-access-control' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.31.0 + '@types/chai': 4.2.21 + '@types/chai-as-promised': 7.1.4 + '@types/mocha': 7.0.2 + '@types/node': 12.20.25 + '@types/sinon': 9.0.11 + chai: 4.3.4 + chai-as-promised: 7.1.1_chai@4.3.4 + cross-env: 7.0.3 + dotenv: 8.6.0 + eslint: 7.32.0 + karma: 6.3.4 + karma-chrome-launcher: 3.1.0 + karma-coverage: 2.0.3 + karma-edge-launcher: 0.4.2_karma@6.3.4 + karma-env-preprocessor: 0.1.1 + karma-firefox-launcher: 1.3.0 + karma-ie-launcher: 1.0.0_karma@6.3.4 + karma-json-preprocessor: 0.3.3_karma@6.3.4 + karma-json-to-file-reporter: 1.0.1 + karma-junit-reporter: 2.0.1_karma@6.3.4 + karma-mocha: 2.0.1 + karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-source-map-support: 1.4.0 + karma-sourcemap-loader: 0.3.8 + mocha: 7.2.0 + mocha-junit-reporter: 1.23.3_mocha@7.2.0 + nyc: 14.1.1 + prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - rollup-plugin-node-resolve: 3.4.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + sinon: 9.2.4 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 - dev: false - name: '@rush-temp/synapse-access-control' - resolution: - integrity: sha512-YOYJ7D/Sl7HllEychX7AJmzM1xXO9mkwBxh137RIF51dF5Cnzq/m3MfOhPQ0vma615/w+J+ySsr2GbSeCetTLQ== - tarball: file:projects/synapse-access-control.tgz - version: 0.0.0 + uglify-js: 3.14.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/synapse-artifacts.tgz: + resolution: {integrity: sha512-cKJhR8vNTMPT1wzvBfZDQPWhP8/BXsqapXgO6DFd0ab4lHXm/t1bvRA4dhZVcerttsaOuqDwn/7suhy/kK2ntA==, tarball: file:projects/synapse-artifacts.tgz} + name: '@rush-temp/synapse-artifacts' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -12122,96 +12426,155 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - rollup-plugin-node-resolve: 3.4.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - ts-node: 9.1.1_typescript@4.2.4 - tslib: 2.3.0 + source-map-support: 0.5.20 + ts-node: 10.2.1_28b8c6e1d3819914bc52462370225dda + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 - dev: false - name: '@rush-temp/synapse-artifacts' - resolution: - integrity: sha512-8umUS0f883trlKvB8DWIYW7I/jDeUGXzo/ZVSslvFCSbu7eIe0Vi993dLyEwMqGKxKWUs+iCeFj2y3hUyFEV9w== - tarball: file:projects/synapse-artifacts.tgz - version: 0.0.0 + uglify-js: 3.14.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/synapse-managed-private-endpoints.tgz: + resolution: {integrity: sha512-HWoyPUk0hC/+xreznV9W8M/m3PHHO7EPDBgxHbsjroOuYYedMYtd6NO7RY2xWpsIGT0283awU7LpMGhrALxBzw==, tarball: file:projects/synapse-managed-private-endpoints.tgz} + name: '@rush-temp/synapse-managed-private-endpoints' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.31.0 + '@types/chai': 4.2.21 + '@types/chai-as-promised': 7.1.4 + '@types/mocha': 7.0.2 + chai: 4.3.4 + chai-as-promised: 7.1.1_chai@4.3.4 + cross-env: 7.0.3 + dotenv: 8.6.0 + eslint: 7.32.0 + karma: 6.3.4 + karma-chrome-launcher: 3.1.0 + karma-coverage: 2.0.3 + karma-edge-launcher: 0.4.2_karma@6.3.4 + karma-env-preprocessor: 0.1.1 + karma-firefox-launcher: 1.3.0 + karma-ie-launcher: 1.0.0_karma@6.3.4 + karma-json-preprocessor: 0.3.3_karma@6.3.4 + karma-json-to-file-reporter: 1.0.1 + karma-junit-reporter: 2.0.1_karma@6.3.4 + karma-mocha: 2.0.1 + karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-source-map-support: 1.4.0 + karma-sourcemap-loader: 0.3.8 + mocha: 7.2.0 + mocha-junit-reporter: 1.23.3_mocha@7.2.0 + nyc: 14.1.1 + prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - rollup-plugin-node-resolve: 3.4.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 - dev: false - name: '@rush-temp/synapse-managed-private-endpoints' - resolution: - integrity: sha512-IwnPZhtjlP5w9AXvKnd67n7tCK09ihLrUWs1sD6OE1RXaYcOu1JgICP+mjjYDc+5j0/HxE7mt4qKWdoVLLFS2w== - tarball: file:projects/synapse-managed-private-endpoints.tgz - version: 0.0.0 + uglify-js: 3.14.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/synapse-monitoring.tgz: + resolution: {integrity: sha512-9xAsBYW7D1aeS2rUguFu9kpfkN4cXMYhida3m8TnwxetVkpOPFyIZ02UsUXMOxDPEEerAeYEWVo8E1tS3evR5Q==, tarball: file:projects/synapse-monitoring.tgz} + name: '@rush-temp/synapse-monitoring' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.31.0 + eslint: 7.32.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.2 + transitivePeerDependencies: + - supports-color dev: false - name: '@rush-temp/synapse-monitoring' - resolution: - integrity: sha512-9xAsBYW7D1aeS2rUguFu9kpfkN4cXMYhida3m8TnwxetVkpOPFyIZ02UsUXMOxDPEEerAeYEWVo8E1tS3evR5Q== - tarball: file:projects/synapse-monitoring.tgz - version: 0.0.0 + file:projects/synapse-spark.tgz: + resolution: {integrity: sha512-QZRJ/07S1hSuTRj4VyMM2nwC60FJ5O27eoaePeKPgUa7z4/i7vWpr7la8JSDXu+iYdZUG/2U2FCQuLRmMYoQYA==, tarball: file:projects/synapse-spark.tgz} + name: '@rush-temp/synapse-spark' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 + '@azure/identity': 2.0.0-beta.6 '@microsoft/api-extractor': 7.7.11 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.31.0 + '@types/chai': 4.2.21 + '@types/chai-as-promised': 7.1.4 + '@types/mocha': 7.0.2 + chai: 4.3.4 + chai-as-promised: 7.1.1_chai@4.3.4 + cross-env: 7.0.3 + dotenv: 8.6.0 + eslint: 7.32.0 + karma: 6.3.4 + karma-chrome-launcher: 3.1.0 + karma-coverage: 2.0.3 + karma-edge-launcher: 0.4.2_karma@6.3.4 + karma-env-preprocessor: 0.1.1 + karma-firefox-launcher: 1.3.0 + karma-ie-launcher: 1.0.0_karma@6.3.4 + karma-json-preprocessor: 0.3.3_karma@6.3.4 + karma-json-to-file-reporter: 1.0.1 + karma-junit-reporter: 2.0.1_karma@6.3.4 + karma-mocha: 2.0.1 + karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-source-map-support: 1.4.0 + karma-sourcemap-loader: 0.3.8 + mocha: 7.2.0 + mocha-junit-reporter: 1.23.3_mocha@7.2.0 + nyc: 14.1.1 + prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - rollup-plugin-node-resolve: 3.4.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 - dev: false - name: '@rush-temp/synapse-spark' - resolution: - integrity: sha512-SHXq7JNyCznE7XZDbXs5TJrLK5NIQt53yJ5LRO0Vv2KKSGriROjCTJq21I1tD5ol2ArABvJ1gYXkPJFz3pYiDg== - tarball: file:projects/synapse-spark.tgz - version: 0.0.0 + uglify-js: 3.14.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/template.tgz: + resolution: {integrity: sha512-Lxk07hkq8XQsOcKBYKnoR/mlC3Fb5T5uFvaatoZLvKY5LWsNewhJyq2GG/AexHT5HTYHU45Vquf66pCGmbmlBg==, tarball: file:projects/template.tgz} + name: '@rush-temp/template' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 2.0.0-beta.4 + '@azure/identity': 2.0.0-beta.5 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -12232,40 +12595,78 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 - dev: false - name: '@rush-temp/template' - resolution: - integrity: sha512-ZY0F9xpQQF4cHFpg+vr8oHqaoWs2J9U7dSD5u7lE/Df61D44fc7dE9/tKSkzl/2D7KD9rOCqjA5ArpClosiNyQ== - tarball: file:projects/template.tgz + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + + file:projects/test-recorder-new.tgz: + resolution: {integrity: sha512-zXJqZCFgMxSbWc4+R/99M13UE0qy9xNRo/dCa8CIevfOTbLUcNfOrW7iotKcPucJCNEWaEQtlplAaHbazKaz/w==, tarball: file:projects/test-recorder-new.tgz} + name: '@rush-temp/test-recorder-new' version: 0.0.0 - file:projects/test-utils-perfstress.tgz: dependencies: - '@types/minimist': 1.2.2 - '@types/node': 12.20.16 - '@types/node-fetch': 2.5.11 - eslint: 7.31.0 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 + '@types/chai': 4.2.21 + '@types/fs-extra': 8.1.2 + '@types/md5': 2.3.1 + '@types/mocha': 7.0.2 + '@types/mock-fs': 4.10.0 + '@types/mock-require': 2.0.0 + '@types/nise': 1.4.0 + '@types/node': 12.20.25 + chai: 4.3.4 + dotenv: 8.6.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 + karma-edge-launcher: 0.4.2_karma@6.3.4 karma-env-preprocessor: 0.1.1 - minimist: 1.2.5 - node-fetch: 2.6.1 + karma-firefox-launcher: 1.3.0 + karma-ie-launcher: 1.0.0_karma@6.3.4 + karma-json-preprocessor: 0.3.3_karma@6.3.4 + karma-json-to-file-reporter: 1.0.1 + karma-junit-reporter: 2.0.1_karma@6.3.4 + karma-mocha: 2.0.1 + karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-sourcemap-loader: 0.3.8 + mocha: 7.2.0 + mocha-junit-reporter: 1.23.3_mocha@7.2.0 + mock-fs: 4.14.0 + mock-require: 3.0.3 + npm-run-all: 4.1.5 + nyc: 14.1.1 prettier: 1.19.1 rimraf: 3.0.2 - tslib: 2.3.0 + rollup: 1.32.1 + rollup-plugin-shim: 1.0.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + rollup-plugin-terser: 5.3.1_rollup@1.32.1 + rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 + tslib: 2.3.1 typescript: 4.2.4 - dev: false - name: '@rush-temp/test-utils-perfstress' - resolution: - integrity: sha512-IoXmWcVt9jDlI8ISTsLwpJHY9i3R73g/mpx9oEnBOwMnwfRxjkletLRvyDP/s8LtKHyUiYroRSWbYSryCqoYUQ== - tarball: file:projects/test-utils-perfstress.tgz + xhr-mock: 2.5.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + + file:projects/test-recorder.tgz: + resolution: {integrity: sha512-ZTmRVinXGlpzOv3u/caOIDcTsyhRllsOxfNUm6Q5gWoKWkWGk+YLt3Zs5GjSqc0grmGD6cN2LQqMtfIT51WpRA==, tarball: file:projects/test-recorder.tgz} + name: '@rush-temp/test-recorder' version: 0.0.0 - file:projects/test-utils-recorder.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -12279,10 +12680,10 @@ packages: '@types/mock-fs': 4.10.0 '@types/mock-require': 2.0.0 '@types/nise': 1.4.0 - '@types/node': 12.20.16 + '@types/node': 12.20.25 chai: 4.3.4 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 fs-extra: 8.1.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -12313,27 +12714,57 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 xhr-mock: 2.5.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/test-utils-recorder' - resolution: - integrity: sha512-o+4bABzOmiCzaivsCAZk8ZCI3177CpzJVB02UtvjjKHEnqpdtweFI5V//CEh7Nrv4FVTyHACqe+r8wSPC6igjQ== - tarball: file:projects/test-utils-recorder.tgz + + file:projects/test-utils-perfstress.tgz: + resolution: {integrity: sha512-fTItTYBBwhhtVdOQ5qASInrtqY+mDuDqE9NCvItNO3FH8yp/DP67/q3g6QpEwimVRNVCIMt/EKikSFngBugZXQ==, tarball: file:projects/test-utils-perfstress.tgz} + name: '@rush-temp/test-utils-perfstress' version: 0.0.0 + dependencies: + '@types/minimist': 1.2.2 + '@types/node': 12.20.25 + '@types/node-fetch': 2.5.12 + eslint: 7.32.0 + karma: 6.3.4 + karma-chrome-launcher: 3.1.0 + karma-coverage: 2.0.3 + karma-env-preprocessor: 0.1.1 + minimist: 1.2.5 + node-fetch: 2.6.2 + prettier: 1.19.1 + rimraf: 3.0.2 + tslib: 2.3.1 + typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/test-utils.tgz: + resolution: {integrity: sha512-KYPqGE75cahX+es1MnTMiFT3HkhcVE0xdDnNC2RUsyvwWAxewMbXns2ozRdYuR66khLy6BuVwPK6CqQPAtlqjw==, tarball: file:projects/test-utils.tgz} + name: '@rush-temp/test-utils' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 - '@opentelemetry/api': 1.0.1 + '@opentelemetry/api': 1.0.3 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 - eslint: 7.31.0 + eslint: 7.32.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -12343,28 +12774,89 @@ packages: rimraf: 3.0.2 rollup: 1.32.1 sinon: 9.2.4 - tslib: 2.3.0 + tslib: 2.3.1 typescript: 4.2.4 - dev: false - name: '@rush-temp/test-utils' - resolution: - integrity: sha512-1nFHW6i1VskqJOs13yNZadavfaZwANSmI3f8+L0BrTQTz4ivAtIeMKBqQYYISFiM+yon+XOzf5nL+I9626+fQQ== - tarball: file:projects/test-utils.tgz + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + + file:projects/testing-recorder-new.tgz: + resolution: {integrity: sha512-aXWcH+zp0ffSDNjWDAAFIQaFBkBRzvWxmFa6D/L8y5EsfIm66bDa6Mu0GcbptpIR8EICXuRI4qsDlcMgHPUWpg==, tarball: file:projects/testing-recorder-new.tgz} + name: '@rush-temp/testing-recorder-new' version: 0.0.0 + dependencies: + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 + '@types/chai': 4.2.21 + '@types/fs-extra': 8.1.2 + '@types/md5': 2.3.1 + '@types/mocha': 7.0.2 + '@types/mock-fs': 4.10.0 + '@types/mock-require': 2.0.0 + '@types/nise': 1.4.0 + '@types/node': 12.20.25 + '@types/uuid': 8.3.1 + chai: 4.3.4 + dotenv: 8.6.0 + eslint: 7.32.0 + karma: 6.3.4 + karma-chrome-launcher: 3.1.0 + karma-coverage: 2.0.3 + karma-edge-launcher: 0.4.2_karma@6.3.4 + karma-env-preprocessor: 0.1.1 + karma-firefox-launcher: 1.3.0 + karma-ie-launcher: 1.0.0_karma@6.3.4 + karma-json-preprocessor: 0.3.3_karma@6.3.4 + karma-json-to-file-reporter: 1.0.1 + karma-junit-reporter: 2.0.1_karma@6.3.4 + karma-mocha: 2.0.1 + karma-mocha-reporter: 2.2.5_karma@6.3.4 + karma-sourcemap-loader: 0.3.8 + mocha: 7.2.0 + mocha-junit-reporter: 1.23.3_mocha@7.2.0 + mock-fs: 4.14.0 + mock-require: 3.0.3 + npm-run-all: 4.1.5 + nyc: 14.1.1 + prettier: 1.19.1 + rimraf: 3.0.2 + rollup: 1.32.1 + rollup-plugin-shim: 1.0.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + rollup-plugin-terser: 5.3.1_rollup@1.32.1 + rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 + typescript: 4.2.4 + uuid: 8.3.2 + xhr-mock: 2.5.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + file:projects/video-analyzer-edge.tgz: + resolution: {integrity: sha512-+wAv6j5J2g+RNNNOSaA5mDBxH0nspdnIyM48CELNP3iwW4ZM3KrZdGqD0BgNgZYpPCzhlI/+artUZs5mf2pS1g==, tarball: file:projects/video-analyzer-edge.tgz} + name: '@rush-temp/video-analyzer-edge' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - azure-iothub: 1.14.2 + '@types/node': 12.20.25 + azure-iothub: 1.14.4 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -12384,17 +12876,21 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - tslib: 2.3.0 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 util: 0.12.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/video-analyzer-edge' - resolution: - integrity: sha512-+wAv6j5J2g+RNNNOSaA5mDBxH0nspdnIyM48CELNP3iwW4ZM3KrZdGqD0BgNgZYpPCzhlI/+artUZs5mf2pS1g== - tarball: file:projects/video-analyzer-edge.tgz - version: 0.0.0 + file:projects/web-pubsub-express.tgz: + resolution: {integrity: sha512-TPhljtupasgCaq4ORSBcoBeEBxj9xq51XZsd0sMD416cqmyf3+p3pk+Zh/9jwiFKbPRUJ/ng77bKmaWzFyIplg==, tarball: file:projects/web-pubsub-express.tgz} + name: '@rush-temp/web-pubsub-express' + version: 0.0.0 dependencies: '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 @@ -12405,17 +12901,16 @@ packages: '@types/chai': 4.2.21 '@types/express': 4.17.13 '@types/express-serve-static-core': 4.17.24 - '@types/jsonwebtoken': 8.5.4 + '@types/jsonwebtoken': 8.5.5 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/query-string': 6.2.0 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 assert: 1.5.0 chai: 4.3.4 cloudevents: 4.0.3 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -12434,8 +12929,7 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 - query-string: 5.1.1 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 @@ -12443,20 +12937,24 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/web-pubsub-express' - resolution: - integrity: sha512-0BfXTMbuUjTrsR+Tz0lBb+1y+5qhO0XGgmNcy/JjyEZUTn7PccRFYnyK4/wW+St7teCrsF6zampG5ab/h0RhHA== - tarball: file:projects/web-pubsub-express.tgz - version: 0.0.0 + file:projects/web-pubsub.tgz: + resolution: {integrity: sha512-eBs+8SrQtA8RFex4gaAX5AOUb/EAfnr9xXrRJapyn2DkguDc4KkkcFyHna29FTAJ/+em4SekK8n8BPA4TIIxgg==, tarball: file:projects/web-pubsub.tgz} + name: '@rush-temp/web-pubsub' + version: 0.0.0 dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 1.5.2 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -12464,15 +12962,14 @@ packages: '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 - '@types/jsonwebtoken': 8.5.4 + '@types/jsonwebtoken': 8.5.5 '@types/mocha': 7.0.2 - '@types/node': 12.20.16 - '@types/query-string': 6.2.0 + '@types/node': 12.20.25 '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.32.0 esm: 3.2.25 jsonwebtoken: 8.5.1 karma: 6.3.4 @@ -12492,8 +12989,7 @@ packages: mocha-junit-reporter: 1.23.3_mocha@7.2.0 nyc: 14.1.1 prettier: 1.19.1 - puppeteer: 3.3.0 - query-string: 5.1.1 + puppeteer: 10.2.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-shim: 1.0.0 @@ -12501,124 +12997,13 @@ packages: rollup-plugin-terser: 5.3.1_rollup@1.32.1 rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 sinon: 9.2.4 - source-map-support: 0.5.19 - tslib: 2.3.0 + source-map-support: 0.5.20 + tslib: 2.3.1 typedoc: 0.15.2 typescript: 4.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate dev: false - name: '@rush-temp/web-pubsub' - resolution: - integrity: sha512-fFkflheVi4tQ6f+xpKy4BivOUnSwGqkdqBFoyqWF9xicse3ow+t35KTb68rGUK/SyfOef6zc62VHtYpwCt4K5A== - tarball: file:projects/web-pubsub.tgz - version: 0.0.0 -registry: '' -specifiers: - '@rush-temp/abort-controller': file:./projects/abort-controller.tgz - '@rush-temp/agrifood-farming': file:./projects/agrifood-farming.tgz - '@rush-temp/ai-anomaly-detector': file:./projects/ai-anomaly-detector.tgz - '@rush-temp/ai-document-translator': file:./projects/ai-document-translator.tgz - '@rush-temp/ai-form-recognizer': file:./projects/ai-form-recognizer.tgz - '@rush-temp/ai-metrics-advisor': file:./projects/ai-metrics-advisor.tgz - '@rush-temp/ai-text-analytics': file:./projects/ai-text-analytics.tgz - '@rush-temp/app-configuration': file:./projects/app-configuration.tgz - '@rush-temp/arm-compute': file:./projects/arm-compute.tgz - '@rush-temp/arm-features': file:./projects/arm-features.tgz - '@rush-temp/arm-links': file:./projects/arm-links.tgz - '@rush-temp/arm-locks': file:./projects/arm-locks.tgz - '@rush-temp/arm-managedapplications': file:./projects/arm-managedapplications.tgz - '@rush-temp/arm-network': file:./projects/arm-network.tgz - '@rush-temp/arm-policy': file:./projects/arm-policy.tgz - '@rush-temp/arm-resources': file:./projects/arm-resources.tgz - '@rush-temp/arm-storage': file:./projects/arm-storage.tgz - '@rush-temp/arm-webpubsub': file:./projects/arm-webpubsub.tgz - '@rush-temp/attestation': file:./projects/attestation.tgz - '@rush-temp/communication-callingserver': file:./projects/communication-callingserver.tgz - '@rush-temp/communication-chat': file:./projects/communication-chat.tgz - '@rush-temp/communication-common': file:./projects/communication-common.tgz - '@rush-temp/communication-identity': file:./projects/communication-identity.tgz - '@rush-temp/communication-network-traversal': file:./projects/communication-network-traversal.tgz - '@rush-temp/communication-phone-numbers': file:./projects/communication-phone-numbers.tgz - '@rush-temp/communication-sms': file:./projects/communication-sms.tgz - '@rush-temp/confidential-ledger': file:./projects/confidential-ledger.tgz - '@rush-temp/container-registry': file:./projects/container-registry.tgz - '@rush-temp/core-amqp': file:./projects/core-amqp.tgz - '@rush-temp/core-asynciterator-polyfill': file:./projects/core-asynciterator-polyfill.tgz - '@rush-temp/core-auth': file:./projects/core-auth.tgz - '@rush-temp/core-client': file:./projects/core-client.tgz - '@rush-temp/core-client-1': file:./projects/core-client-1.tgz - '@rush-temp/core-client-lro': file:./projects/core-client-lro.tgz - '@rush-temp/core-client-paging': file:./projects/core-client-paging.tgz - '@rush-temp/core-crypto': file:./projects/core-crypto.tgz - '@rush-temp/core-http': file:./projects/core-http.tgz - '@rush-temp/core-lro': file:./projects/core-lro.tgz - '@rush-temp/core-paging': file:./projects/core-paging.tgz - '@rush-temp/core-rest-pipeline': file:./projects/core-rest-pipeline.tgz - '@rush-temp/core-tracing': file:./projects/core-tracing.tgz - '@rush-temp/core-util': file:./projects/core-util.tgz - '@rush-temp/core-xml': file:./projects/core-xml.tgz - '@rush-temp/cosmos': file:./projects/cosmos.tgz - '@rush-temp/data-tables': file:./projects/data-tables.tgz - '@rush-temp/dev-tool': file:./projects/dev-tool.tgz - '@rush-temp/digital-twins-core': file:./projects/digital-twins-core.tgz - '@rush-temp/eslint-plugin-azure-sdk': file:./projects/eslint-plugin-azure-sdk.tgz - '@rush-temp/event-hubs': file:./projects/event-hubs.tgz - '@rush-temp/event-processor-host': file:./projects/event-processor-host.tgz - '@rush-temp/eventgrid': file:./projects/eventgrid.tgz - '@rush-temp/eventhubs-checkpointstore-blob': file:./projects/eventhubs-checkpointstore-blob.tgz - '@rush-temp/eventhubs-checkpointstore-table': file:./projects/eventhubs-checkpointstore-table.tgz - '@rush-temp/identity': file:./projects/identity.tgz - '@rush-temp/identity-cache-persistence': file:./projects/identity-cache-persistence.tgz - '@rush-temp/identity-vscode': file:./projects/identity-vscode.tgz - '@rush-temp/iot-device-update': file:./projects/iot-device-update.tgz - '@rush-temp/iot-modelsrepository': file:./projects/iot-modelsrepository.tgz - '@rush-temp/keyvault-admin': file:./projects/keyvault-admin.tgz - '@rush-temp/keyvault-certificates': file:./projects/keyvault-certificates.tgz - '@rush-temp/keyvault-common': file:./projects/keyvault-common.tgz - '@rush-temp/keyvault-keys': file:./projects/keyvault-keys.tgz - '@rush-temp/keyvault-secrets': file:./projects/keyvault-secrets.tgz - '@rush-temp/logger': file:./projects/logger.tgz - '@rush-temp/mixed-reality-authentication': file:./projects/mixed-reality-authentication.tgz - '@rush-temp/mixed-reality-remote-rendering': file:./projects/mixed-reality-remote-rendering.tgz - '@rush-temp/mock-hub': file:./projects/mock-hub.tgz - '@rush-temp/monitor-opentelemetry-exporter': file:./projects/monitor-opentelemetry-exporter.tgz - '@rush-temp/monitor-query': file:./projects/monitor-query.tgz - '@rush-temp/perf-ai-form-recognizer': file:./projects/perf-ai-form-recognizer.tgz - '@rush-temp/perf-ai-metrics-advisor': file:./projects/perf-ai-metrics-advisor.tgz - '@rush-temp/perf-ai-text-analytics': file:./projects/perf-ai-text-analytics.tgz - '@rush-temp/perf-app-configuration': file:./projects/perf-app-configuration.tgz - '@rush-temp/perf-core-rest-pipeline': file:./projects/perf-core-rest-pipeline.tgz - '@rush-temp/perf-data-tables': file:./projects/perf-data-tables.tgz - '@rush-temp/perf-eventgrid': file:./projects/perf-eventgrid.tgz - '@rush-temp/perf-identity': file:./projects/perf-identity.tgz - '@rush-temp/perf-keyvault-certificates': file:./projects/perf-keyvault-certificates.tgz - '@rush-temp/perf-keyvault-keys': file:./projects/perf-keyvault-keys.tgz - '@rush-temp/perf-keyvault-secrets': file:./projects/perf-keyvault-secrets.tgz - '@rush-temp/perf-search-documents': file:./projects/perf-search-documents.tgz - '@rush-temp/perf-storage-blob': file:./projects/perf-storage-blob.tgz - '@rush-temp/perf-storage-file-datalake': file:./projects/perf-storage-file-datalake.tgz - '@rush-temp/perf-storage-file-share': file:./projects/perf-storage-file-share.tgz - '@rush-temp/purview-catalog': file:./projects/purview-catalog.tgz - '@rush-temp/purview-scanning': file:./projects/purview-scanning.tgz - '@rush-temp/quantum-jobs': file:./projects/quantum-jobs.tgz - '@rush-temp/schema-registry': file:./projects/schema-registry.tgz - '@rush-temp/schema-registry-avro': file:./projects/schema-registry-avro.tgz - '@rush-temp/search-documents': file:./projects/search-documents.tgz - '@rush-temp/service-bus': file:./projects/service-bus.tgz - '@rush-temp/storage-blob': file:./projects/storage-blob.tgz - '@rush-temp/storage-blob-changefeed': file:./projects/storage-blob-changefeed.tgz - '@rush-temp/storage-file-datalake': file:./projects/storage-file-datalake.tgz - '@rush-temp/storage-file-share': file:./projects/storage-file-share.tgz - '@rush-temp/storage-internal-avro': file:./projects/storage-internal-avro.tgz - '@rush-temp/storage-queue': file:./projects/storage-queue.tgz - '@rush-temp/synapse-access-control': file:./projects/synapse-access-control.tgz - '@rush-temp/synapse-artifacts': file:./projects/synapse-artifacts.tgz - '@rush-temp/synapse-managed-private-endpoints': file:./projects/synapse-managed-private-endpoints.tgz - '@rush-temp/synapse-monitoring': file:./projects/synapse-monitoring.tgz - '@rush-temp/synapse-spark': file:./projects/synapse-spark.tgz - '@rush-temp/template': file:./projects/template.tgz - '@rush-temp/test-utils': file:./projects/test-utils.tgz - '@rush-temp/test-utils-perfstress': file:./projects/test-utils-perfstress.tgz - '@rush-temp/test-utils-recorder': file:./projects/test-utils-recorder.tgz - '@rush-temp/video-analyzer-edge': file:./projects/video-analyzer-edge.tgz - '@rush-temp/web-pubsub': file:./projects/web-pubsub.tgz - '@rush-temp/web-pubsub-express': file:./projects/web-pubsub-express.tgz diff --git a/common/scripts/install-run.js b/common/scripts/install-run.js index 86912c7ccdd4..22eedeeaaa44 100644 --- a/common/scripts/install-run.js +++ b/common/scripts/install-run.js @@ -80,7 +80,8 @@ function _parsePackageSpecifier(rawPackageSpecifier) { * IMPORTANT: THIS CODE SHOULD BE KEPT UP TO DATE WITH Utilities.copyAndTrimNpmrcFile() */ function _copyAndTrimNpmrcFile(sourceNpmrcPath, targetNpmrcPath) { - console.log(`Copying ${sourceNpmrcPath} --> ${targetNpmrcPath}`); // Verbose + console.log(`Transforming ${sourceNpmrcPath}`); // Verbose + console.log(` --> "${targetNpmrcPath}"`); let npmrcFileLines = fs.readFileSync(sourceNpmrcPath).toString().split('\n'); npmrcFileLines = npmrcFileLines.map((line) => (line || '').trim()); const resultLines = []; @@ -411,9 +412,15 @@ function installAndRun(packageName, packageVersion, packageBinName, packageBinAr const originalEnvPath = process.env.PATH || ''; let result; try { + // Node.js on Windows can not spawn a file when the path has a space on it + // unless the path gets wrapped in a cmd friendly way and shell mode is used + const shouldUseShell = binPath.includes(' ') && os.platform() === 'win32'; + const platformBinPath = shouldUseShell ? `"${binPath}"` : binPath; process.env.PATH = [binFolderPath, originalEnvPath].join(path.delimiter); - result = childProcess.spawnSync(binPath, packageBinArgs, { + result = childProcess.spawnSync(platformBinPath, packageBinArgs, { stdio: 'inherit', + windowsVerbatimArguments: false, + shell: shouldUseShell, cwd: process.cwd(), env: process.env }); diff --git a/common/smoke-test/Initialize-SmokeTests.ps1 b/common/smoke-test/Initialize-SmokeTests.ps1 index 86d7eb348fec..a9bb30c658ed 100644 --- a/common/smoke-test/Initialize-SmokeTests.ps1 +++ b/common/smoke-test/Initialize-SmokeTests.ps1 @@ -90,20 +90,33 @@ function Set-EnvironmentVariables { function New-DeployManifest { Write-Verbose "Detecting samples..." - $javascriptSamples = (Get-ChildItem -Path "$repoRoot/sdk/$ServiceDirectory/*/samples/javascript/" -Directory - | Where-Object { Test-Path "$_/package.json" }) + $packageDir = Get-ChildItem -Directory -Path "$repoRoot/sdk/$ServiceDirectory/*" | Where-Object { Test-Path "$_/samples/*/javascript/package.json" } + + $javascriptSamples = @() + $packageDir.ForEach{ + $versions = (Get-Item "$_/samples/*").Name + $newestVer = $versions | Sort-Object {[int]($_ -replace '[^0-9]' -replace '(\d+).*', '$1')} -Descending | Select-Object -First 1 + if($versions -contains $newestVer+"-beta") { + $newestVer += "-beta" + } + $javascriptSamples += Get-ChildItem -Path "$_/samples/$newestVer/javascript/" -Recurse -Include package.json + } $manifest = $javascriptSamples | ForEach-Object { - # Example: azure-sdk-for-js/sdk/appconfiguration/app-configuration/samples/javascript + # Example: azure-sdk-for-js/sdk/appconfiguration/app-configuration/samples/v1/javascript + $PackagePath = (Join-Path $_ ../../../../) | Get-Item @{ # Package name for example "app-configuration" - Name = ((Join-Path $_ ../../) | Get-Item).Name; + Name = $PackagePath.Name; # Path to "app-configuration" part from example - PackageDirectory = ((Join-Path $_ ../../) | Get-Item).FullName; + PackageDirectory = $PackagePath.FullName; # Service Directory for example "appconfiguration" - ResourcesDirectory = ((Join-Path $_ ../../../) | Get-Item).Name; + ResourcesDirectory = $PackagePath.Parent.Name; + + # Path to "javascript" + SamplesDirectory = $_.Directoryname; } } @@ -113,12 +126,12 @@ function New-DeployManifest { function Update-SamplesForService { Param([Parameter(Mandatory = $true)] $entry) - Write-Verbose "Preparing samples for $($entry.Name)" - dev-tool samples prep --directory $entry.PackageDirectory --use-packages - - # Resolve full path for samples location. This has to be set after sample - # prep because the directory will not resolve until the folder exists. - $entry.SamplesDirectory = Join-Path -Path $entry.PackageDirectory -ChildPath 'dist-samples/javascript' -Resolve + $sampleFiles = Get-ChildItem "$($entry.SamplesDirectory)/*.js" + foreach ($sampleFile in $sampleFiles) { + $fileContent = Get-Content -Raw $sampleFile + $fileContent = $fileContent -replace "(?s)main\(\)\.catch.*", "module.exports = { main };`n" + Set-Content -Path $sampleFile -Value $fileContent + } } function Update-SampleDependencies { diff --git a/common/smoke-test/run.js b/common/smoke-test/run.js index 5c152e00d061..960a98ed8667 100644 --- a/common/smoke-test/run.js +++ b/common/smoke-test/run.js @@ -102,7 +102,7 @@ async function executeSample(sample) { // logs error messages. if (process.argv[2] == "--devops-logging") { const oldConsoleError = console.error; - console.error = function() { + console.error = function () { // Mutate arguments to use new warning format arguments[0] = `##vso[task.logissue type=error]${arguments[0]}`; oldConsoleError.call(this, ...arguments); diff --git a/common/tools/dev-tool/package.json b/common/tools/dev-tool/package.json index 85fc4d03075b..876a2e531be1 100644 --- a/common/tools/dev-tool/package.json +++ b/common/tools/dev-tool/package.json @@ -26,6 +26,7 @@ "unit-test:node": "mocha --require ts-node/register test/**/*.spec.ts", "unit-test:browser": "echo skipped", "build:samples": "echo Skipped.", + "test": "echo Skipped.", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src" }, "repository": "github:Azure/azure-sdk-for-js", @@ -44,7 +45,7 @@ "fs-extra": "^8.1.0", "minimist": "~1.2.5", "prettier": "^1.16.4", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "tslib": "^2.2.0", "typescript": "~4.2.0", "yaml": "~1.10.0" @@ -61,7 +62,7 @@ "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", "@types/prettier": "~2.0.1", - "builtin-modules": "~3.1.0", + "builtin-modules": "^3.1.0", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "eslint": "^7.15.0", diff --git a/common/tools/dev-tool/src/commands/index.ts b/common/tools/dev-tool/src/commands/index.ts index 65ada62844e4..c5a209259a9f 100644 --- a/common/tools/dev-tool/src/commands/index.ts +++ b/common/tools/dev-tool/src/commands/index.ts @@ -27,7 +27,7 @@ export const baseCommand = async (...args: string[]) => { const status = await subCommand(baseCommandInfo, baseCommands)(...args); if (!status) { - log.error("Errors occured. See the output above.") + log.error("Errors occured. See the output above."); process.exit(1); } -} +}; diff --git a/common/tools/dev-tool/src/commands/samples/publish.ts b/common/tools/dev-tool/src/commands/samples/publish.ts index 7896b5cdc394..66c48d8ff386 100644 --- a/common/tools/dev-tool/src/commands/samples/publish.ts +++ b/common/tools/dev-tool/src/commands/samples/publish.ts @@ -365,7 +365,7 @@ async function makeSampleGenerationInfo( ), computeSampleDependencies(outputKind: OutputKind) { // Store the `@types/*` packages the TS samples might need. - const typesDependencies: {[packageName: string]: string} = {}; + const typesDependencies: { [packageName: string]: string } = {}; return { dependencies: moduleInfos.reduce((prev, source) => { const current: Record = {}; diff --git a/common/tools/dev-tool/src/config/rollup.base.config.ts b/common/tools/dev-tool/src/config/rollup.base.config.ts index 093bc5146e7a..f2a74dac37ed 100644 --- a/common/tools/dev-tool/src/config/rollup.base.config.ts +++ b/common/tools/dev-tool/src/config/rollup.base.config.ts @@ -44,7 +44,7 @@ export function openTelemetryCommonJs(): Record { for (const version of releasedOpenTelemetryVersions) { namedExports[ // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. - `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + `../../../common/temp/node_modules/.pnpm/@opentelemetry+api@${version}/node_modules/@opentelemetry/api/build/src/index.js` ] = [ "SpanKind", "TraceFlags", @@ -103,7 +103,7 @@ function makeOnWarnForTesting(): (warning: RollupWarning, warn: WarningHandler) // #endregion -function makeBrowserTestConfig() { +export function makeBrowserTestConfig() { const config: RollupOptions = { input: { include: ["dist-esm/test/**/*.spec.js"], diff --git a/common/tools/dev-tool/test/resolveProject.spec.ts b/common/tools/dev-tool/test/resolveProject.spec.ts index 9539c1c42989..1d8b51e5da4c 100644 --- a/common/tools/dev-tool/test/resolveProject.spec.ts +++ b/common/tools/dev-tool/test/resolveProject.spec.ts @@ -27,7 +27,9 @@ describe("Project Resolution", async () => { // Replacement below is required because of escaping. A single backslash is // interpreted as an escape character in the RegExp compiler, but we need // it to be interpreted _literally_ in windows file paths, so we double-escape them. - new RegExp(`.*${(path.sep + path.join("common", "tools", "dev-tool")).replace(/\\/g, "\\\\")}`) + new RegExp( + `.*${(path.sep + path.join("common", "tools", "dev-tool")).replace(/\\/g, "\\\\")}` + ) ); }); }); diff --git a/common/tools/eslint-plugin-azure-sdk/src/configs/index.ts b/common/tools/eslint-plugin-azure-sdk/src/configs/index.ts index d04c7e48f59a..89977fe833cc 100644 --- a/common/tools/eslint-plugin-azure-sdk/src/configs/index.ts +++ b/common/tools/eslint-plugin-azure-sdk/src/configs/index.ts @@ -48,6 +48,7 @@ export = { "@azure/azure-sdk/ts-no-const-enums": "warn", "@azure/azure-sdk/ts-no-namespaces": "error", "@azure/azure-sdk/ts-no-window": "error", + "@azure/azure-sdk/ts-package-json-sdktype": "error", "@azure/azure-sdk/ts-package-json-author": "error", "@azure/azure-sdk/ts-package-json-bugs": "error", "@azure/azure-sdk/ts-package-json-engine-is-present": "error", diff --git a/common/tools/eslint-plugin-azure-sdk/src/rules/index.ts b/common/tools/eslint-plugin-azure-sdk/src/rules/index.ts index a91166bbe973..51c0cd8b11a6 100644 --- a/common/tools/eslint-plugin-azure-sdk/src/rules/index.ts +++ b/common/tools/eslint-plugin-azure-sdk/src/rules/index.ts @@ -33,6 +33,7 @@ import tsNoConstEnums from "./ts-no-const-enums"; import tsNoNamespaces from "./ts-no-namespaces"; import tsNoWindow from "./ts-no-window"; import tsPackageJsonAuthor from "./ts-package-json-author"; +import tsPackageJsonSdkType from "./ts-package-json-sdktype"; import tsPackageJsonBugs from "./ts-package-json-bugs"; import tsPackageJsonEngineIsPresent from "./ts-package-json-engine-is-present"; import tsPackageJsonFilesRequired from "./ts-package-json-files-required"; @@ -82,6 +83,7 @@ export = { "ts-no-namespaces": tsNoNamespaces, "ts-no-window": tsNoWindow, "ts-package-json-author": tsPackageJsonAuthor, + "ts-package-json-sdktype": tsPackageJsonSdkType, "ts-package-json-bugs": tsPackageJsonBugs, "ts-package-json-engine-is-present": tsPackageJsonEngineIsPresent, "ts-package-json-files-required": tsPackageJsonFilesRequired, diff --git a/common/tools/eslint-plugin-azure-sdk/src/rules/ts-package-json-sdktype.ts b/common/tools/eslint-plugin-azure-sdk/src/rules/ts-package-json-sdktype.ts new file mode 100644 index 000000000000..7505d9312785 --- /dev/null +++ b/common/tools/eslint-plugin-azure-sdk/src/rules/ts-package-json-sdktype.ts @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @file Rule to force package.json's 'sdk-type' value to be valid + * @author Arpan Laha + */ + +import { Rule } from "eslint"; +import { Property } from "estree"; +import { getRuleMetaData, stripPath } from "../utils"; + +//------------------------------------------------------------------------------ +// Rule Definition +//------------------------------------------------------------------------------ + +export = { + meta: getRuleMetaData( + "ts-package-json-sdktype", + "force package.json's sdk-type value to contain be 'client' or 'mgmt'" + ), + create: (context: Rule.RuleContext): Rule.RuleListener => + stripPath(context.getFilename()) === "package.json" + ? ({ + // callback functions + + // check the node corresponding to sdk-type to see if its value contains "client" or "mgmt" + "ExpressionStatement > ObjectExpression > Property[key.value='sdk-type']": ( + node: Property + ) => { + if (!node) { + // Track1 packages don't have this property. Stop checking + return; + } + + const { value } = node; + if (value.type !== "Literal" || typeof value.value !== "string") { + context.report({ + node: node.value, + message: "sdk-type is not set to a string" + }); + return; + } + + const strValue = stripPath(value.value); + + if (!["client", "mgmt"].includes(strValue)) { + context.report({ + node: node.value, + message: "sdk-type is not set to `client` or `mgmt`" + }); + return; + } + } + } as Rule.RuleListener) + : {} +}; diff --git a/common/tools/eslint-plugin-azure-sdk/tests/plugin.ts b/common/tools/eslint-plugin-azure-sdk/tests/plugin.ts index 11687c8f0460..603dc30647fe 100644 --- a/common/tools/eslint-plugin-azure-sdk/tests/plugin.ts +++ b/common/tools/eslint-plugin-azure-sdk/tests/plugin.ts @@ -41,6 +41,7 @@ const ruleList = [ "ts-no-namespaces", "ts-no-window", "ts-package-json-author", + "ts-package-json-sdktype", "ts-package-json-bugs", "ts-package-json-engine-is-present", "ts-package-json-files-required", diff --git a/documentation/Bundling.md b/documentation/Bundling.md index 5497187816cb..7aa9f48a3302 100644 --- a/documentation/Bundling.md +++ b/documentation/Bundling.md @@ -223,7 +223,6 @@ export default { cjs({ namedExports: { events: ["EventEmitter"], - "@opentelemetry/api": ["CanonicalCode", "SpanKind", "TraceFlags"] } }), json() @@ -336,7 +335,7 @@ The above configuration may need to change based on which SDK packages your code We also need to install the plugins we referenced in the above file: ``` -npm install --save-dev rollup-plugin-node-resolve @rollup/plugin-commonjs @rollup/plugin-json rollup-plugin-shim rollup-plugin-typescript2 +npm install --save-dev @rollup/plugin-node-resolve @rollup/plugin-commonjs @rollup/plugin-json rollup-plugin-shim rollup-plugin-typescript2 ``` Now that we have our config file and necessary plugins installed, we can run rollup: diff --git a/documentation/next-generation-quickstart.md b/documentation/next-generation-quickstart.md index 271d6bf059b1..3d32de0bd221 100644 --- a/documentation/next-generation-quickstart.md +++ b/documentation/next-generation-quickstart.md @@ -67,10 +67,10 @@ Windows (Note: Administrator access is required) Linux-based OS : - export AZURE_CLIENT_ID="__CLIENT_ID__" - export AZURE_CLIENT_SECRET="__CLIENT_SECRET__" - export AZURE_TENANT_ID="__TENANT_ID__" - export AZURE_SUBSCRIPTION_ID="__SUBSCRIPTION_ID__" + export AZURE_CLIENT_ID="azure_client_id" + export AZURE_CLIENT_SECRET="azure_client_secret" + export AZURE_TENANT_ID="azure_tenant_id" + export AZURE_SUBSCRIPTION_ID="azure_subscription_id" Install the package ------------------- @@ -412,7 +412,9 @@ async function createVirtualNetwork() { addressPrefixes: ['10.0.0.0/16'] } }; - const virtualNetworks_create_info = await networkClient.virtualNetworks.beginCreateOrUpdateAndWait(resourceGroupName, networkName, parameter); + const poller_result = await networkClient.virtualNetworks.beginCreateOrUpdateAndWait(resourceGroupName, networkName, parameter); + console.log(poller_result); + const virtualNetworks_create_info = await networkClient.virtualNetworks.get(resourceGroupName, networkName); console.log(virtualNetworks_create_info); } ``` @@ -425,7 +427,9 @@ async function createVirtualNetwork() { addressPrefixes: ['10.0.0.0/16'] } }; - const virtualNetworks_create_info = await networkClient.virtualNetworks.beginCreateOrUpdateAndWait(resourceGroupName, networkName, parameter); + const poller_result = await networkClient.virtualNetworks.beginCreateOrUpdateAndWait(resourceGroupName, networkName, parameter); + console.log(poller_result); + const virtualNetworks_create_info = await networkClient.virtualNetworks.get(resourceGroupName, networkName); console.log(virtualNetworks_create_info); } ``` @@ -437,7 +441,9 @@ async function createSubnet() { const subnet_parameter: Subnet = { addressPrefix: "10.0.0.0/24" }; - const subnet_create_info = await networkClient.subnets.beginCreateOrUpdateAndWait(resourceGroupName, networkName, subnetName, subnet_parameter); + const poller_result = await networkClient.subnets.beginCreateOrUpdateAndWait(resourceGroupName, networkName, subnetName, subnet_parameter); + console.log(poller_result); + const subnet_create_info = await networkClient.subnets.get(resourceGroupName, networkName, subnetName); console.log(subnet_create_info) } ``` @@ -447,7 +453,9 @@ async function createSubnet() { const subnet_parameter = { addressPrefix: "10.0.0.0/24" }; - const subnet_create_info = await networkClient.subnets.beginCreateOrUpdateAndWait(resourceGroupName, networkName, subnetName, subnet_parameter); + const poller_result = await networkClient.subnets.beginCreateOrUpdateAndWait(resourceGroupName, networkName, subnetName, subnet_parameter); + console.log(poller_result); + const subnet_create_info = await networkClient.subnets.get(resourceGroupName, networkName, subnetName); console.log(subnet_create_info) } ``` @@ -468,7 +476,9 @@ async function createNetworkInterface(group_name: any, location: any, nic_name: } ] }; - const nic_info = await networkClient.networkInterfaces.beginCreateOrUpdateAndWait(group_name, nic_name, parameter); + const poller_result = await networkClient.networkInterfaces.beginCreateOrUpdateAndWait(group_name, nic_name, parameter); + console.log(poller_result); + const nic_info = await networkClient.networkInterfaces.get(group_name, nic_name); console.log(nic_info); } ``` @@ -487,7 +497,9 @@ async function createNetworkInterface(group_name, location, nic_name) { } ] }; - const nic_info = await networkClient.networkInterfaces.beginCreateOrUpdateAndWait(group_name, nic_name, parameter); + const poller_result = await networkClient.networkInterfaces.beginCreateOrUpdateAndWait(group_name, nic_name, parameter); + console.log(poller_result); + const nic_info = await networkClient.networkInterfaces.get(group_name, nic_name); console.log(nic_info); } ``` @@ -536,7 +548,7 @@ async function createVirtualMachines() { osProfile: { adminUsername: "testuser", computerName: "myVM", - adminPassword: "0000000000", + adminPassword: "p@55wOrd", windowsConfiguration: { enableAutomaticUpdates: true // need automatic update for reimage } @@ -550,7 +562,9 @@ async function createVirtualMachines() { ] } }; - const res = await computeClient.virtualMachines.beginCreateOrUpdateAndWait(resourceGroupName, virtualMachineName, parameter); + const poller_result = await computeClient.virtualMachines.beginCreateOrUpdateAndWait(resourceGroupName, virtualMachineName, parameter); + console.log(poller_result); + const res = await computeClient.virtualMachines.get(resourceGroupName, virtualMachineName); console.log(res); } ``` @@ -597,7 +611,7 @@ async function createVirtualMachines() { osProfile: { adminUsername: "testuser", computerName: "myVM", - adminPassword: "0000000000", + adminPassword: "p@55wOrd", windowsConfiguration: { enableAutomaticUpdates: true // need automatic update for reimage } @@ -611,7 +625,9 @@ async function createVirtualMachines() { ] } }; - const res = await computeClient.virtualMachines.beginCreateOrUpdateAndWait(resourceGroupName, virtualMachineName, parameter); + const poller_result = await computeClient.virtualMachines.beginCreateOrUpdateAndWait(resourceGroupName, virtualMachineName, parameter); + console.log(poller_result); + const res = await computeClient.virtualMachines.get(resourceGroupName, virtualMachineName); console.log(res); } ``` diff --git a/eng/.docsettings.yml b/eng/.docsettings.yml index ce1c2ac3aac5..689081ab5265 100644 --- a/eng/.docsettings.yml +++ b/eng/.docsettings.yml @@ -22,8 +22,8 @@ omitted_paths: - sdk/servicefabric/servicefabric/README.md - sdk/storage/storage-datalake/README.md - sdk/storage/storage-internal-avro/* - - sdk/test-utils/perfstress/README.md - - sdk/test-utils/multi-version/README.md + - sdk/test-utils/*/README.md + language: js root_check_enabled: True required_readme_sections: diff --git a/eng/CredScanSuppression.json b/eng/CredScanSuppression.json index 0da58777176b..a33ed432063f 100644 --- a/eng/CredScanSuppression.json +++ b/eng/CredScanSuppression.json @@ -1,32 +1,18 @@ { "tool": "Credential Scanner", "suppressions": [ - { - "placeholder": "efQ8O5wj+98pO9uoDas4uhlPwdp5GHCRs9N2Da2EC/g=", - "_justification": "Secret used by test code, it is fake." - }, - { - "placeholder": "79f43c3b9c23fbdf293bdba80dab38ba194fc1da79187091b3d3760dad840bf8", - "_justification": "Secret used by test code, it is fake." - }, - { - "placeholder": "AJ/qUoDtgLeA1A5ND2AS3uF7hsSe9O7imtXlkAj8VR4=", - "_justification": "Secret used by test code, it is fake." - }, - { - "placeholder": "009fea5280ed80b780d40e4d0f6012dee17b86c49ef4eee29ad5e59008fc551e", - "_justification": "Secret used by test code, it is fake." - }, - { - "placeholder": "1cb763e7c4b9a3c4811c4560af6827c2", - "_justification": "Secret used by test code" - }, { "hash": "5ETIzLYe9aa9Xx5512Uy6gJiCZ/CL2QzS3nDfN51nz8=", "_justification": "Secret used by test code" }, { "placeholder": [ + "SharedKey fakestorageaccount:pass123", + "1cb763e7c4b9a3c4811c4560af6827c2", + "009fea5280ed80b780d40e4d0f6012dee17b86c49ef4eee29ad5e59008fc551e", + "AJ/qUoDtgLeA1A5ND2AS3uF7hsSe9O7imtXlkAj8VR4=", + "79f43c3b9c23fbdf293bdba80dab38ba194fc1da79187091b3d3760dad840bf8", + "efQ8O5wj+98pO9uoDas4uhlPwdp5GHCRs9N2Da2EC/g=", "`$`{NPM_TOKEN`}", "azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", "azure_client_secret&scope=https%3A%2F%2Fattest.azure.net%2F.default", @@ -34,26 +20,34 @@ "SecretBaseUnion", "SecureString", "azure_client_secret&scope=https%3A%2F%2Feventhubs.azure.net%2F.default", - "pass123", - "pwd1", "azure_client_secret&scope=https%3A%2F%2Fcognitiveservices.azure.com%2F.default", "azure_client_secret&scope=https%3A%2F%2Fdigitaltwins.azure.net%2F.default", + "azure_client_secret", "p@55wOrd", "nodesdk", "liilef#$DdRGSa_ewkjh", "kt#_gahr!@aGERDXA", - "goose", - "_password" + "YmFzZTY0X3BsYWNlaG9sZGVy", + "SecretPlaceholder", + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs", + "Resource", + "sanitized.${expiryReplacement}.sanitized" ], "_justification": "Secret used by test code, it is fake." }, { - "file":[ - "sdk/identity/identity/test/azure-identity-chain-test.crt", - "sdk/identity/identity/test/azure-identity-test.crt", - "sdk/keyvault/keyvault-certificates/ca.key" - ], - "_justification": "File contains private key used by test code." - } + "file": [ + "eng/common/testproxy/dotnet-devcert.pfx", + "sdk/identity/identity/test/azure-identity-chain-test.crt", + "sdk/identity/identity/test/azure-identity-test.crt", + "sdk/keyvault/keyvault-certificates/ca.key", + "sdk/identity/identity/assets/fake-cert.pem", + "sdk/storage/storage-blob/test/utils/fakeTestSecrets.ts", + "sdk/servicebus/service-bus/test/public/fakeTestSecrets.ts", + "sdk/cosmosdb/cosmos/test/public/common/_fakeTestSecrets.ts", + "sdk/tables/data-tables/test/internal/fakeTestSecrets.ts" + ], + "_justification": "File contains private key used by test code." + } ] } diff --git a/eng/common/TestResources/New-TestResources.ps1 b/eng/common/TestResources/New-TestResources.ps1 index a38155cba855..efb4796bc521 100644 --- a/eng/common/TestResources/New-TestResources.ps1 +++ b/eng/common/TestResources/New-TestResources.ps1 @@ -36,7 +36,7 @@ param ( [ValidateNotNullOrEmpty()] [string] $TenantId, - # Azure SDK Developer Playground subscription + # Azure SDK Developer Playground subscription is assumed if not set [Parameter()] [ValidatePattern('^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$')] [string] $SubscriptionId, @@ -50,7 +50,7 @@ param ( [Parameter()] [ValidateRange(1, [int]::MaxValue)] - [int] $DeleteAfterHours = 48, + [int] $DeleteAfterHours = 120, [Parameter()] [string] $Location = '', @@ -167,9 +167,11 @@ try { Get-ChildItem -Path $root -Filter "$_" -Recurse | ForEach-Object { Write-Verbose "Found template '$($_.FullName)'" if ($_.Extension -eq '.bicep') { - $templateFiles += (BuildBicepFile $_) + $templateFile = @{originalFilePath = $_.FullName; jsonFilePath = (BuildBicepFile $_)} + $templateFiles += $templateFile } else { - $templateFiles += $_.FullName + $templateFile = @{originalFilePath = $_.FullName; jsonFilePath = $_.FullName} + $templateFiles += $templateFile } } } @@ -277,45 +279,13 @@ try { if (!$TenantId) { $TenantId = $context.Subscription.TenantId } - - # If no test application ID is specified during an interactive session, create a new service principal. - if (!$TestApplicationId) { - - # Cache the created service principal in this session for frequent reuse. - $servicePrincipal = if ($AzureTestPrincipal -and (Get-AzADServicePrincipal -ApplicationId $AzureTestPrincipal.ApplicationId) -and $AzureTestSubscription -eq $SubscriptionId) { - Log "TestApplicationId was not specified; loading cached service principal '$($AzureTestPrincipal.ApplicationId)'" - $AzureTestPrincipal - } else { - Log "TestApplicationId was not specified; creating a new service principal in subscription '$SubscriptionId'" - $global:AzureTestPrincipal = New-AzADServicePrincipal -Role Owner -Scope "/subscriptions/$SubscriptionId" - $global:AzureTestSubscription = $SubscriptionId - - Log "Created service principal '$($AzureTestPrincipal.ApplicationId)'" - $AzureTestPrincipal - } - - $TestApplicationId = $servicePrincipal.ApplicationId - $TestApplicationSecret = (ConvertFrom-SecureString $servicePrincipal.Secret -AsPlainText); - - # Make sure pre- and post-scripts are passed formerly required arguments. - $PSBoundParameters['TestApplicationId'] = $TestApplicationId - $PSBoundParameters['TestApplicationSecret'] = $TestApplicationSecret - } - - if (!$ProvisionerApplicationId) { - $ProvisionerApplicationId = $TestApplicationId - $ProvisionerApplicationSecret = $TestApplicationSecret - $TenantId = $context.Tenant.Id - } } - # Log in as and run pre- and post-scripts as the provisioner service principal. + # If a provisioner service principal was provided, log into it to perform the pre- and post-scripts and deployments. if ($ProvisionerApplicationId) { $null = Disable-AzContextAutosave -Scope Process Log "Logging into service principal '$ProvisionerApplicationId'." - Write-Warning 'Logging into service principal may fail until the principal is fully propagated.' - $provisionerSecret = ConvertTo-SecureString -String $ProvisionerApplicationSecret -AsPlainText -Force $provisionerCredential = [System.Management.Automation.PSCredential]::new($ProvisionerApplicationId, $provisionerSecret) @@ -340,20 +310,25 @@ try { } } - # Get test application OID from ID if not already provided. - if ($TestApplicationId -and !$TestApplicationOid) { - $testServicePrincipal = Retry { - Get-AzADServicePrincipal -ApplicationId $TestApplicationId - } + # Determine the Azure context that the script is running in. + $context = Get-AzContext; - if ($testServicePrincipal -and $testServicePrincipal.Id) { - $script:TestApplicationOid = $testServicePrincipal.Id + # Make sure the provisioner OID is set so we can pass it through to the deployment. + $provisionerApplicationOid = if (!$ProvisionerApplicationId) { + if ($context.Account.Type -eq 'User') { + $user = Get-AzADUser -UserPrincipalName $context.Account.Id + $user.Id + } elseif ($context.Account.Type -eq 'ServicePrincipal') { + $sp = Get-AzADServicePrincipal -ApplicationId $context.Account.Id + $sp.Id + } else { + Write-Warning "Getting the OID for provisioner type '$($context.Account.Type)' is not supported and will not be passed to deployments (seldom required)." } + } else { + $sp = Get-AzADServicePrincipal -ApplicationId $ProvisionerApplicationId + $sp.Id } - # Determine the Azure context that the script is running in. - $context = Get-AzContext; - # If the ServiceDirectory is an absolute path use the last directory name # (e.g. D:\foo\bar\ -> bar) $serviceName = if (Split-Path -IsAbsolute $ServiceDirectory) { @@ -423,11 +398,88 @@ try { } } + # If no test application ID was specified during an interactive session, create a new service principal. + if (!$CI -and !$TestApplicationId) { + # Cache the created service principal in this session for frequent reuse. + $servicePrincipal = if ($AzureTestPrincipal -and (Get-AzADServicePrincipal -ApplicationId $AzureTestPrincipal.ApplicationId) -and $AzureTestSubscription -eq $SubscriptionId) { + Log "TestApplicationId was not specified; loading cached service principal '$($AzureTestPrincipal.ApplicationId)'" + $AzureTestPrincipal + } else { + Log "TestApplicationId was not specified; creating a new service principal in subscription '$SubscriptionId'" + $suffix = (New-Guid).ToString('n').Substring(0, 4) + + # Service principals in the Microsoft AAD tenant must end with an @microsoft.com domain; those in other tenants + # are not permitted to do so. Format the non-MS name so there's an assocation with the Azure SDK. + if ($TenantId -eq '72f988bf-86f1-41af-91ab-2d7cd011db47') { + $displayName = "test-resources-$($baseName)$suffix.microsoft.com" + } else { + $displayName = "$($baseName)$suffix.test-resources.azure.sdk" + } + + $servicePrincipal = Retry { + New-AzADServicePrincipal -Role "Owner" -Scope "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName" -DisplayName $displayName + } + + $global:AzureTestPrincipal = $servicePrincipal + $global:AzureTestSubscription = $SubscriptionId + + Log "Created service principal '$($AzureTestPrincipal.ApplicationId)'" + $AzureTestPrincipal + $resourceGroupRoleAssigned = $true + } + + $TestApplicationId = $servicePrincipal.ApplicationId + $TestApplicationOid = $servicePrincipal.Id + $TestApplicationSecret = (ConvertFrom-SecureString $servicePrincipal.Secret -AsPlainText) + } + + # Get test application OID from ID if not already provided. This may fail if the + # provisioner is a service principal without permissions to query AAD. This is a + # critical failure, but we should prompt with possible remediation. + if ($TestApplicationId -and !$TestApplicationOid) { + Log "Attempting to query the Object ID for the test service principal" + + try { + $testServicePrincipal = Retry { + Get-AzADServicePrincipal -ApplicationId $TestApplicationId + } + } + catch { + Write-Warning "The Object ID of the test application was unable to be queried. You may want to consider passing it explicitly with the 'TestApplicationOid` parameter." + throw $_.Exception + } + + if ($testServicePrincipal -and $testServicePrincipal.Id) { + $script:TestApplicationOid = $testServicePrincipal.Id + } + } + + # Make sure pre- and post-scripts are passed formerly required arguments. + $PSBoundParameters['TestApplicationId'] = $TestApplicationId + $PSBoundParameters['TestApplicationOid'] = $TestApplicationOid + $PSBoundParameters['TestApplicationSecret'] = $TestApplicationSecret + + # Grant the test service principal ownership over the resource group. This may fail if the provisioner is a + # service principal without permissions to grant RBAC roles to other service principals. That should not be + # considered a critical failure, as the test application may have subscription-level permissions and not require + # the explicit grant. + if (!$resourceGroupRoleAssigned) { + Log "Attempting to assigning the 'Owner' role for '$ResourceGroupName' to the Test Application '$TestApplicationId'" + $principalOwnerAssignment = New-AzRoleAssignment -RoleDefinitionName "Owner" -ApplicationId "$TestApplicationId" -ResourceGroupName "$ResourceGroupName" -ErrorAction SilentlyContinue + + if ($principalOwnerAssignment.RoleDefinitionName -eq 'Owner') { + Write-Verbose "Successfully assigned ownership of '$ResourceGroupName' to the Test Application '$TestApplicationId'" + } else { + Write-Warning "The 'Owner' role for '$ResourceGroupName' could not be assigned. You may need to manually grant 'Owner' for the resource group to the Test Application '$TestApplicationId' if it does not have subscription-level permissions." + } + } + # Populate the template parameters and merge any additional specified. $templateParameters = @{ baseName = $BaseName testApplicationId = $TestApplicationId testApplicationOid = "$TestApplicationOid" + provisionerApplicationOid = "$provisionerApplicationOid" } if ($TenantId) { @@ -457,8 +509,8 @@ try { # Deploy the templates foreach ($templateFile in $templateFiles) { # Deployment fails if we pass in more parameters than are defined. - Write-Verbose "Removing unnecessary parameters from template '$templateFile'" - $templateJson = Get-Content -LiteralPath $templateFile | ConvertFrom-Json + Write-Verbose "Removing unnecessary parameters from template '$($templateFile.jsonFilePath)'" + $templateJson = Get-Content -LiteralPath $templateFile.jsonFilePath | ConvertFrom-Json $templateParameterNames = $templateJson.parameters.PSObject.Properties.Name $templateFileParameters = $templateParameters.Clone() @@ -469,20 +521,26 @@ try { } } - $preDeploymentScript = $templateFile | Split-Path | Join-Path -ChildPath 'test-resources-pre.ps1' + $preDeploymentScript = $templateFile.originalFilePath | Split-Path | Join-Path -ChildPath 'test-resources-pre.ps1' if (Test-Path $preDeploymentScript) { Log "Invoking pre-deployment script '$preDeploymentScript'" &$preDeploymentScript -ResourceGroupName $ResourceGroupName @PSBoundParameters } - Log "Deploying template '$templateFile' to resource group '$($resourceGroup.ResourceGroupName)'" + $msg = if ($templateFile.jsonFilePath -ne $templateFile.originalFilePath) { + "Deployment template $($templateFile.jsonFilePath) from $($templateFile.originalFilePath) to resource group $($resourceGroup.ResourceGroupName)" + } else { + "Deployment template $($templateFile.jsonFilePath) to resource group $($resourceGroup.ResourceGroupName)" + } + Log $msg + $deployment = Retry { $lastDebugPreference = $DebugPreference try { if ($CI) { $DebugPreference = 'Continue' } - New-AzResourceGroupDeployment -Name $BaseName -ResourceGroupName $resourceGroup.ResourceGroupName -TemplateFile $templateFile -TemplateParameterObject $templateFileParameters -Force:$Force + New-AzResourceGroupDeployment -Name $BaseName -ResourceGroupName $resourceGroup.ResourceGroupName -TemplateFile $templateFile.jsonFilePath -TemplateParameterObject $templateFileParameters -Force:$Force } catch { Write-Output @' ##################################################### @@ -498,7 +556,7 @@ try { if ($deployment.ProvisioningState -eq 'Succeeded') { # New-AzResourceGroupDeployment would've written an error and stopped the pipeline by default anyway. - Write-Verbose "Successfully deployed template '$templateFile' to resource group '$($resourceGroup.ResourceGroupName)'" + Write-Verbose "Successfully deployed template '$($templateFile.jsonFilePath)' to resource group '$($resourceGroup.ResourceGroupName)'" } $serviceDirectoryPrefix = $serviceName.ToUpperInvariant() + "_" @@ -536,7 +594,7 @@ try { Write-Host 'File option is supported only on Windows' } - $outputFile = "$templateFile.env" + $outputFile = "$($templateFile.originalFilePath).env" $environmentText = $deploymentOutputs | ConvertTo-Json; $bytes = ([System.Text.Encoding]::UTF8).GetBytes($environmentText) @@ -574,15 +632,15 @@ try { } } - $postDeploymentScript = $templateFile | Split-Path | Join-Path -ChildPath 'test-resources-post.ps1' + $postDeploymentScript = $templateFile.originalFilePath | Split-Path | Join-Path -ChildPath 'test-resources-post.ps1' if (Test-Path $postDeploymentScript) { Log "Invoking post-deployment script '$postDeploymentScript'" &$postDeploymentScript -ResourceGroupName $ResourceGroupName -DeploymentOutputs $deploymentOutputs @PSBoundParameters } - if ($templateFile.EndsWith('.compiled.json')) { - Write-Verbose "Removing compiled bicep file $templateFile" - Remove-Item $templateFile + if ($templateFile.jsonFilePath.EndsWith('.compiled.json')) { + Write-Verbose "Removing compiled bicep file $($templateFile.jsonFilePath)" + Remove-Item $templateFile.jsonFilePath } } @@ -600,22 +658,23 @@ if ($CI) { Deploys live test resources defined for a service directory to Azure. .DESCRIPTION -Deploys live test resouces specified in test-resources.json files to a resource -group. +Deploys live test resouces specified in test-resources.json or test-resources.bicep +files to a new resource group. This script searches the directory specified in $ServiceDirectory recursively -for files named test-resources.json. All found test-resources.json files will be -deployed to the test resource group. +for files named test-resources.json or test-resources.bicep. All found test-resources.json +and test-resources.bicep files will be deployed to the test resource group. -If no test-resources.json files are located the script exits without making -changes to the Azure environment. +If no test-resources.json or test-resources.bicep files are located the script +exits without making changes to the Azure environment. -A service principal must first be created before this script is run and passed -to $TestApplicationId and $TestApplicationSecret. Test resources will grant this -service principal access. +A service principal may optionally be passed to $TestApplicationId and $TestApplicationSecret. +Test resources will grant this service principal access to the created resources. +If no service principal is specified, a new one will be created and assigned the +'Owner' role for the resource group associated with the test resources. -This script uses credentials already specified in Connect-AzAccount or those -specified in $ProvisionerApplicationId and $ProvisionerApplicationSecret. +This script runs in the context of credentials already specified in Connect-AzAccount +or those specified in $ProvisionerApplicationId and $ProvisionerApplicationSecret. .PARAMETER BaseName A name to use in the resource group and passed to the ARM template as 'baseName'. @@ -627,16 +686,28 @@ by New-TestResources.ps1 if $CI is specified. .PARAMETER ResourceGroupName Set this value to deploy directly to a Resource Group that has already been -created. +created or to create a new resource group with this name. + +If not specified, the $BaseName will be used to generate name for the resource +group that will be created. .PARAMETER ServiceDirectory A directory under 'sdk' in the repository root - optionally with subdirectories -specified - in which to discover ARM templates named 'test-resources.json'. -This can also be an absolute path or specify parent directories. +specified - in which to discover ARM templates named 'test-resources.json' and +Bicep templates named 'test-resources.bicep'. This can also be an absolute path +or specify parent directories. .PARAMETER TestApplicationId -The AAD Application ID to authenticate the test runner against deployed -resources. Passed to the ARM template as 'testApplicationId'. +Optional Azure Active Directory Application ID to authenticate the test runner +against deployed resources. Passed to the ARM template as 'testApplicationId'. + +If not specified, a new AAD Application will be created and assigned the 'Owner' +role for the resource group associated with the test resources. No permissions +will be granted to the subscription or other resources. + +For those specifying a Provisioner Application principal as 'ProvisionerApplicationId', +it will need the permission 'Application.ReadWrite.OwnedBy' for the Microsoft Graph API +in order to create the Test Application principal. This application is used by the test runner to execute tests against the live test resources. @@ -650,18 +721,24 @@ This application is used by the test runner to execute tests against the live test resources. .PARAMETER TestApplicationOid -Service Principal Object ID of the AAD Test application. This is used to assign +Service Principal Object ID of the AAD Test Application. This is used to assign permissions to the AAD application so it can access tested features on the live test resources (e.g. Role Assignments on resources). It is passed as to the ARM template as 'testApplicationOid' +If not specified, an attempt will be made to query it from the Azure Active Directory +tenant. For those specifying a service principal as 'ProvisionerApplicationId', +it will need the permission 'Application.Read.All' for the Microsoft Graph API +in order to query AAD. + For more information on the relationship between AAD Applications and Service Principals see: https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals .PARAMETER TenantId The tenant ID of a service principal when a provisioner is specified. The same -Tenant ID is used for Test Application and Provisioner Application. This value -is passed to the ARM template as 'tenantId'. +Tenant ID is used for Test Application and Provisioner Application. + +This value is passed to the ARM template as 'tenantId'. .PARAMETER SubscriptionId Optional subscription ID to use for new resources when logging in as a @@ -674,10 +751,22 @@ Once you are logged in (or were previously), the selected SubscriptionId will be used for subsequent operations that are specific to a subscription. .PARAMETER ProvisionerApplicationId -The AAD Application ID used to provision test resources when a provisioner is -specified. +Optional Application ID of the Azure Active Directory service principal to use for +provisioning the test resources. If not, specified New-TestResources.ps1 uses the +context of the caller to provision. + +If specified, the Provisioner Application principal would benefit from the following +permissions to the Microsoft Graph API: + + - 'Application.Read.All' in order to query AAD to obtain the 'TestApplicaitonOid' -If none is specified New-TestResources.ps1 uses the TestApplicationId. + - 'Application.ReadWrite.OwnedBy' in order to create the Test Application principal + or grant an existing principal ownership of the resource group associated with + the test resources. + +If the provisioner does not have these permissions, it can still be used with +New-TestResources.ps1 by specifying an existing Test Application principal, including +its Object ID, and managing permissions to the resource group manually. This value is not passed to the ARM template. @@ -685,8 +774,6 @@ This value is not passed to the ARM template. A service principal secret (password) used to provision test resources when a provisioner is specified. -If none is specified New-TestResources.ps1 uses the TestApplicationSecret. - This value is not passed to the ARM template. .PARAMETER DeleteAfterHours @@ -709,7 +796,7 @@ is based on the cloud to which the template is being deployed: * Dogfood -> 'westus' .PARAMETER Environment -Name of the cloud environment. The default is the Azure Public Cloud +Optional name of the cloud environment. The default is the Azure Public Cloud ('AzureCloud') .PARAMETER AdditionalParameters @@ -729,15 +816,84 @@ Deployment (CI/CD) build (only Azure Pipelines is currently supported). Force creation of resources instead of being prompted. .PARAMETER OutFile -Save test environment settings into a test-resources.json.env file next to test-resources.json. File is protected via DPAPI. Supported only on windows. -The environment file would be scoped to the current repository directory. +Save test environment settings into a .env file next to test resources template. +The contents of the file are protected via the .NET Data Protection API (DPAPI). +This is supported only on Windows. The environment file is scoped to the current +service directory. + +The environment file will be named for the test resources template that it was +generated for. For ARM templates, it will be test-resources.json.env. For +Bicep templates, test-resources.bicep.env. .EXAMPLE Connect-AzAccount -Subscription 'REPLACE_WITH_SUBSCRIPTION_ID' New-TestResources.ps1 keyvault -Run this in a desktop environment to create new AAD apps and Service Principals -that can be used to provision resources and run live tests. +Run this in a desktop environment to create a new AAD application and Service Principal +for running live tests against the test resources created. The principal will have ownership +rights to the resource group and the resources that it contains, but no other resources in +the subscription. + +Requires PowerShell 7 to use ConvertFrom-SecureString -AsPlainText or convert +the SecureString to plaintext by another means. + +.EXAMPLE +Connect-AzAccount -Subscription 'REPLACE_WITH_SUBSCRIPTION_ID' +New-TestResources.ps1 ` + -BaseName 'azsdk' ` + -ServiceDirectory 'keyvault' ` + -SubscriptionId 'REPLACE_WITH_SUBSCRIPTION_ID' ` + -ResourceGroupName 'REPLACE_WITH_NAME_FOR_RESOURCE_GROUP' ` + -Location 'eastus' + +Run this in a desktop environment to specify the name and location of the resource +group that test resources are being deployed to. This will also create a new AAD +application and Service Principal for running live tests against the rest resources +created. The principal will have ownership rights to the resource group and the +resources that it contains, but no other resources in the subscription. + +Requires PowerShell 7 to use ConvertFrom-SecureString -AsPlainText or convert +the SecureString to plaintext by another means. + +.EXAMPLE +Connect-AzAccount -Subscription 'REPLACE_WITH_SUBSCRIPTION_ID' +New-TestResources.ps1 ` + -BaseName 'azsdk' ` + -ServiceDirectory 'keyvault' ` + -SubscriptionId 'REPLACE_WITH_SUBSCRIPTION_ID' ` + -ResourceGroupName 'REPLACE_WITH_NAME_FOR_RESOURCE_GROUP' ` + -Location 'eastus' ` + -TestApplicationId 'REPLACE_WITH_TEST_APPLICATION_ID' ` + -TestApplicationSecret 'REPLACE_WITH_TEST_APPLICATION_SECRET' + +Run this in a desktop environment to specify the name and location of the resource +group that test resources are being deployed to. This will grant ownership rights +to the 'TestApplicationId' for the resource group and the resources that it contains, +without altering its existing permissions. + +.EXAMPLE +New-TestResources.ps1 ` + -BaseName 'azsdk' ` + -ServiceDirectory 'keyvault' ` + -SubscriptionId 'REPLACE_WITH_SUBSCRIPTION_ID' ` + -ResourceGroupName 'REPLACE_WITH_NAME_FOR_RESOURCE_GROUP' ` + -Location 'eastus' ` + -ProvisionerApplicationId 'REPLACE_WITH_PROVISIONER_APPLICATION_ID' ` + -ProvisionerApplicationSecret 'REPLACE_WITH_PROVISIONER_APPLICATION_ID' ` + -TestApplicationId 'REPLACE_WITH_TEST_APPLICATION_ID' ` + -TestApplicationOid 'REPLACE_WITH_TEST_APPLICATION_OBJECT_ID' ` + -TestApplicationSecret 'REPLACE_WITH_TEST_APPLICATION_SECRET' + +Run this in a desktop environment to specify the name and location of the resource +group that test resources are being deployed to. The script will be executed in the +context of the 'ProvisionerApplicationId' rather than the caller. + +Depending on the permissions of the Provisioner Application principal, the script may +grant ownership rights 'TestApplicationId' for the resource group and the resources +that it contains, or may emit a message indicating that it was unable to perform the grant. + +For the Provisioner Application principal to perform the grant, it will need the +permission 'Application.ReadWrite.OwnedBy' for the Microsoft Graph API. Requires PowerShell 7 to use ConvertFrom-SecureString -AsPlainText or convert the SecureString to plaintext by another means. @@ -760,4 +916,4 @@ Run this in an Azure DevOps CI (with approrpiate variables configured) before executing live tests. The script will output variables as secrets (to enable log redaction). -#> +#> \ No newline at end of file diff --git a/eng/common/TestResources/New-TestResources.ps1.md b/eng/common/TestResources/New-TestResources.ps1.md index 75c4676102e7..fd96e71cfdf9 100644 --- a/eng/common/TestResources/New-TestResources.ps1.md +++ b/eng/common/TestResources/New-TestResources.ps1.md @@ -32,24 +32,24 @@ New-TestResources.ps1 [-BaseName ] [-ResourceGroupName ] [-Servi ``` ## DESCRIPTION -Deploys live test resouces specified in test-resources.json files to a resource -group. +Deploys live test resouces specified in test-resources.json or test-resources.bicep +files to a new resource group. This script searches the directory specified in $ServiceDirectory recursively -for files named test-resources.json. -All found test-resources.json files will be -deployed to the test resource group. +for files named test-resources.json or test-resources.bicep. +All found test-resources.json +and test-resources.bicep files will be deployed to the test resource group. -If no test-resources.json files are located the script exits without making -changes to the Azure environment. +If no test-resources.json or test-resources.bicep files are located the script +exits without making changes to the Azure environment. -A service principal must first be created before this script is run and passed -to $TestApplicationId and $TestApplicationSecret. -Test resources will grant this -service principal access. +A service principal may optionally be passed to $TestApplicationId and $TestApplicationSecret. +Test resources will grant this service principal access to the created resources. +If no service principal is specified, a new one will be created and assigned the +'Owner' role for the resource group associated with the test resources. -This script uses credentials already specified in Connect-AzAccount or those -specified in $ProvisionerApplicationId and $ProvisionerApplicationSecret. +This script runs in the context of credentials already specified in Connect-AzAccount +or those specified in $ProvisionerApplicationId and $ProvisionerApplicationSecret. ## EXAMPLES @@ -59,14 +59,88 @@ Connect-AzAccount -Subscription 'REPLACE_WITH_SUBSCRIPTION_ID' New-TestResources.ps1 keyvault ``` -Run this in a desktop environment to create new AAD apps and Service Principals -that can be used to provision resources and run live tests. +Run this in a desktop environment to create a new AAD application and Service Principal +for running live tests against the test resources created. +The principal will have ownership +rights to the resource group and the resources that it contains, but no other resources in +the subscription. Requires PowerShell 7 to use ConvertFrom-SecureString -AsPlainText or convert the SecureString to plaintext by another means. ### EXAMPLE 2 ``` +Connect-AzAccount -Subscription 'REPLACE_WITH_SUBSCRIPTION_ID' +New-TestResources.ps1 ` + -BaseName 'azsdk' ` + -ServiceDirectory 'keyvault' ` + -SubscriptionId 'REPLACE_WITH_SUBSCRIPTION_ID' ` + -ResourceGroupName 'REPLACE_WITH_NAME_FOR_RESOURCE_GROUP' ` + -Location 'eastus' +``` + +Run this in a desktop environment to specify the name and location of the resource +group that test resources are being deployed to. +This will also create a new AAD +application and Service Principal for running live tests against the rest resources +created. +The principal will have ownership rights to the resource group and the +resources that it contains, but no other resources in the subscription. + +Requires PowerShell 7 to use ConvertFrom-SecureString -AsPlainText or convert +the SecureString to plaintext by another means. + +### EXAMPLE 3 +``` +Connect-AzAccount -Subscription 'REPLACE_WITH_SUBSCRIPTION_ID' +New-TestResources.ps1 ` + -BaseName 'azsdk' ` + -ServiceDirectory 'keyvault' ` + -SubscriptionId 'REPLACE_WITH_SUBSCRIPTION_ID' ` + -ResourceGroupName 'REPLACE_WITH_NAME_FOR_RESOURCE_GROUP' ` + -Location 'eastus' ` + -TestApplicationId 'REPLACE_WITH_TEST_APPLICATION_ID' ` + -TestApplicationSecret 'REPLACE_WITH_TEST_APPLICATION_SECRET' +``` + +Run this in a desktop environment to specify the name and location of the resource +group that test resources are being deployed to. +This will grant ownership rights +to the 'TestApplicationId' for the resource group and the resources that it contains, +without altering its existing permissions. + +### EXAMPLE 4 +``` +New-TestResources.ps1 ` + -BaseName 'azsdk' ` + -ServiceDirectory 'keyvault' ` + -SubscriptionId 'REPLACE_WITH_SUBSCRIPTION_ID' ` + -ResourceGroupName 'REPLACE_WITH_NAME_FOR_RESOURCE_GROUP' ` + -Location 'eastus' ` + -ProvisionerApplicationId 'REPLACE_WITH_PROVISIONER_APPLICATION_ID' ` + -ProvisionerApplicationSecret 'REPLACE_WITH_PROVISIONER_APPLICATION_ID' ` + -TestApplicationId 'REPLACE_WITH_TEST_APPLICATION_ID' ` + -TestApplicationOid 'REPLACE_WITH_TEST_APPLICATION_OBJECT_ID' ` + -TestApplicationSecret 'REPLACE_WITH_TEST_APPLICATION_SECRET' +``` + +Run this in a desktop environment to specify the name and location of the resource +group that test resources are being deployed to. +The script will be executed in the +context of the 'ProvisionerApplicationId' rather than the caller. + +Depending on the permissions of the Provisioner Application principal, the script may +grant ownership rights 'TestApplicationId' for the resource group and the resources +that it contains, or may emit a message indicating that it was unable to perform the grant. + +For the Provisioner Application principal to perform the grant, it will need the +permission 'Application.ReadWrite.OwnedBy' for the Microsoft Graph API. + +Requires PowerShell 7 to use ConvertFrom-SecureString -AsPlainText or convert +the SecureString to plaintext by another means. + +### EXAMPLE 5 +``` New-TestResources.ps1 ` -BaseName 'Generated' ` -ServiceDirectory '$(ServiceDirectory)' ` @@ -111,7 +185,10 @@ Accept wildcard characters: False ### -ResourceGroupName Set this value to deploy directly to a Resource Group that has already been -created. +created or to create a new resource group with this name. + +If not specified, the $BaseName will be used to generate name for the resource +group that will be created. ```yaml Type: String @@ -127,8 +204,10 @@ Accept wildcard characters: False ### -ServiceDirectory A directory under 'sdk' in the repository root - optionally with subdirectories -specified - in which to discover ARM templates named 'test-resources.json'. -This can also be an absolute path or specify parent directories. +specified - in which to discover ARM templates named 'test-resources.json' and +Bicep templates named 'test-resources.bicep'. +This can also be an absolute path +or specify parent directories. ```yaml Type: String @@ -143,10 +222,19 @@ Accept wildcard characters: False ``` ### -TestApplicationId -The AAD Application ID to authenticate the test runner against deployed -resources. +Optional Azure Active Directory Application ID to authenticate the test runner +against deployed resources. Passed to the ARM template as 'testApplicationId'. +If not specified, a new AAD Application will be created and assigned the 'Owner' +role for the resource group associated with the test resources. +No permissions +will be granted to the subscription or other resources. + +For those specifying a Provisioner Application principal as 'ProvisionerApplicationId', +it will need the permission 'Application.ReadWrite.OwnedBy' for the Microsoft Graph API +in order to create the Test Application principal. + This application is used by the test runner to execute tests against the live test resources. @@ -184,7 +272,7 @@ Accept wildcard characters: False ``` ### -TestApplicationOid -Service Principal Object ID of the AAD Test application. +Service Principal Object ID of the AAD Test Application. This is used to assign permissions to the AAD application so it can access tested features on the live test resources (e.g. @@ -192,6 +280,12 @@ Role Assignments on resources). It is passed as to the ARM template as 'testApplicationOid' +If not specified, an attempt will be made to query it from the Azure Active Directory +tenant. +For those specifying a service principal as 'ProvisionerApplicationId', +it will need the permission 'Application.Read.All' for the Microsoft Graph API +in order to query AAD. + For more information on the relationship between AAD Applications and Service Principals see: https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals @@ -211,8 +305,8 @@ Accept wildcard characters: False The tenant ID of a service principal when a provisioner is specified. The same Tenant ID is used for Test Application and Provisioner Application. -This value -is passed to the ARM template as 'tenantId'. + +This value is passed to the ARM template as 'tenantId'. ```yaml Type: String @@ -250,10 +344,23 @@ Accept wildcard characters: False ``` ### -ProvisionerApplicationId -The AAD Application ID used to provision test resources when a provisioner is -specified. +Optional Application ID of the Azure Active Directory service principal to use for +provisioning the test resources. +If not, specified New-TestResources.ps1 uses the +context of the caller to provision. -If none is specified New-TestResources.ps1 uses the TestApplicationId. +If specified, the Provisioner Application principal would benefit from the following +permissions to the Microsoft Graph API: + + - 'Application.Read.All' in order to query AAD to obtain the 'TestApplicaitonOid' + + - 'Application.ReadWrite.OwnedBy' in order to create the Test Application principal + or grant an existing principal ownership of the resource group associated with + the test resources. + +If the provisioner does not have these permissions, it can still be used with +New-TestResources.ps1 by specifying an existing Test Application principal, including +its Object ID, and managing permissions to the resource group manually. This value is not passed to the ARM template. @@ -273,8 +380,6 @@ Accept wildcard characters: False A service principal secret (password) used to provision test resources when a provisioner is specified. -If none is specified New-TestResources.ps1 uses the TestApplicationSecret. - This value is not passed to the ARM template. ```yaml @@ -307,7 +412,7 @@ Aliases: Required: False Position: Named -Default value: 48 +Default value: 120 Accept pipeline input: False Accept wildcard characters: False ``` @@ -335,7 +440,7 @@ Accept wildcard characters: False ``` ### -Environment -Name of the cloud environment. +Optional name of the cloud environment. The default is the Azure Public Cloud ('AzureCloud') @@ -428,10 +533,17 @@ Accept wildcard characters: False ``` ### -OutFile -Save test environment settings into a test-resources.json.env file next to test-resources.json. -File is protected via DPAPI. -Supported only on windows. -The environment file would be scoped to the current repository directory. +Save test environment settings into a .env file next to test resources template. +The contents of the file are protected via the .NET Data Protection API (DPAPI). +This is supported only on Windows. +The environment file is scoped to the current +service directory. + +The environment file will be named for the test resources template that it was +generated for. +For ARM templates, it will be test-resources.json.env. +For +Bicep templates, test-resources.bicep.env. ```yaml Type: SwitchParameter diff --git a/eng/common/TestResources/README.md b/eng/common/TestResources/README.md index 59779f9f9898..8463501c0f9a 100644 --- a/eng/common/TestResources/README.md +++ b/eng/common/TestResources/README.md @@ -1,8 +1,8 @@ # Live Test Resource Management Running and recording live tests often requires first creating some resources -in Azure. Service directories that include a test-resources.json file require -running [New-TestResources.ps1][] to create these resources and output +in Azure. Service directories that include a `test-resources.json` or `test-resources.bicep` +file require running [New-TestResources.ps1][] to create these resources and output environment variables you must set. The following scripts can be used both in on your desktop for developer @@ -19,9 +19,10 @@ scenarios as well as on hosted agents for continuous integration testing. ## On the Desktop To set up your Azure account to run live tests, you'll need to log into Azure, -and set up your resources defined in test-resources.json as shown in the following -example using Azure Key Vault. The script will create a service principal automatically, -or you may create a service principal you can save and reuse subsequently. +and create the resources defined in your `test-resources.json` or `test-resources.bicep` +template as shown in the following example using Azure Key Vault. The script will create +a service principal automatically, or you may create a service principal that can be reused +subsequently. Note that `-Subscription` is an optional parameter but recommended if your account is a member of multiple subscriptions. If you didn't specify it when logging in, @@ -33,8 +34,9 @@ Connect-AzAccount -Subscription 'YOUR SUBSCRIPTION ID' eng\common\TestResources\New-TestResources.ps1 keyvault ``` -The `OutFile` switch will be set by default if you are running this for a .NET project on Windows. This will save test environment settings -into a test-resources.json.env file next to test-resources.json. The file is protected via DPAPI. +The `OutFile` switch will be set by default if you are running this for a .NET project on Windows. +This will save test environment settings into a `test-resources.json.env` file next to `test-resources.json` +or a `test-resources.bicep.env` file next to `test-resources.bicep`. The file is protected via DPAPI. The environment file would be scoped to the current repository directory and avoids the need to set environment variables or restart your IDE to recognize them. diff --git a/eng/common/TestResources/Remove-TestResources.ps1 b/eng/common/TestResources/Remove-TestResources.ps1 index fa524d987eef..3e697d789c60 100644 --- a/eng/common/TestResources/Remove-TestResources.ps1 +++ b/eng/common/TestResources/Remove-TestResources.ps1 @@ -61,6 +61,21 @@ if (!$PSBoundParameters.ContainsKey('ErrorAction')) { $ErrorActionPreference = 'Stop' } +# Support actions to invoke on exit. +$exitActions = @({ + if ($exitActions.Count -gt 1) { + Write-Verbose 'Running registered exit actions.' + } +}) + +trap { + # Like using try..finally in PowerShell, but without keeping track of more braces or tabbing content. + $exitActions.Invoke() +} + +# Source helpers to purge resources. +. "$PSScriptRoot\..\scripts\Helpers\Resource-Helpers.ps1" + function Log($Message) { Write-Host ('{0} - {1}' -f [DateTime]::Now.ToLongTimeString(), $Message) } @@ -86,18 +101,6 @@ function Retry([scriptblock] $Action, [int] $Attempts = 5) { } } -# Support actions to invoke on exit. -$exitActions = @({ - if ($exitActions.Count -gt 1) { - Write-Verbose 'Running registered exit actions.' - } -}) - -trap { - # Like using try..finally in PowerShell, but without keeping track of more braces or tabbing content. - $exitActions.Invoke() -} - if ($ProvisionerApplicationId) { $null = Disable-AzContextAutosave -Scope Process @@ -213,16 +216,23 @@ $verifyDeleteScript = { } } +# Get any resources that can be purged after the resource group is deleted coerced into a collection even if empty. +$purgeableResources = Get-PurgeableGroupResources $ResourceGroupName + Log "Deleting resource group '$ResourceGroupName'" -if ($Force) { +if ($Force -and !$purgeableResources) { Remove-AzResourceGroup -Name "$ResourceGroupName" -Force:$Force -AsJob + Write-Verbose "Running background job to delete resource group '$ResourceGroupName'" + Retry $verifyDeleteScript 3 - Write-Verbose "Requested async deletion of resource group '$ResourceGroupName'" } else { # Don't swallow interactive confirmation when Force is false Remove-AzResourceGroup -Name "$ResourceGroupName" -Force:$Force } +# Now purge the resources that should have been deleted with the resource group. +Remove-PurgeableResources $purgeableResources + $exitActions.Invoke() <# diff --git a/eng/common/Update-Change-Log.ps1 b/eng/common/Update-Change-Log.ps1 deleted file mode 100644 index 3d1497f29863..000000000000 --- a/eng/common/Update-Change-Log.ps1 +++ /dev/null @@ -1,153 +0,0 @@ -# Note: This script will add or replace version title in change log - -# Parameter description -# Version : Version to add or replace in change log -# ChangeLogPath: Path to change log file. If change log path is set to directory then script will probe for change log file in that path -# Unreleased: Default is true. If it is set to false, then today's date will be set in verion title. If it is True then title will show "Unreleased" -# ReplaceVersion: This is useful when replacing current version title with new title.( Helpful to update the title before package release) - -param ( - [Parameter(Mandatory = $true)] - [String]$Version, - [Parameter(Mandatory = $true)] - [String]$ChangeLogPath, - [String]$Unreleased = $True, - [String]$ReplaceVersion = $False, - [String]$ReleaseDate -) - - -$RELEASE_TITLE_REGEX = "(?^\#+.*(?\b\d+\.\d+\.\d+([^0-9\s][^\s:]+)?))" -$UNRELEASED_TAG = "(Unreleased)" -function Version-Matches($line) -{ - return ($line -match $RELEASE_TITLE_REGEX) -} - -function Get-ChangelogPath($Path) -{ - # Check if CHANGELOG.md is present in path - $ChangeLogPath = Join-Path -Path $Path -ChildPath "CHANGELOG.md" - if ((Test-Path -Path $ChangeLogPath) -eq $False) { - # Check if change log exists with name HISTORY.md - $ChangeLogPath = Join-Path -Path $Path -ChildPath "HISTORY.md" - if ((Test-Path -Path $ChangeLogPath) -eq $False) { - Write-Host "Change log is not found in path[$Path]" - exit(1) - } - } - - Write-Host "Change log is found at path [$ChangeLogPath]" - return $ChangeLogPath -} - - -function Get-VersionTitle($Version, $Unreleased) -{ - # Generate version title - $newVersionTitle = "## $Version $UNRELEASED_TAG" - if ($Unreleased -eq $False) { - $actualReleaseDate = $ReleaseDate; - - if (!$actualReleaseDate) { - $actualReleaseDate = Get-Date -Format "yyyy-MM-dd" - } - $newVersionTitle = "## $Version ($actualReleaseDate)" - } - return $newVersionTitle -} - - -function Get-NewChangeLog( [System.Collections.ArrayList]$ChangelogLines, $Version, $Unreleased, $ReplaceVersion) -{ - - # version parameter is to pass new version to add or replace - # Unreleased parameter can be set to False to set today's date instead of "Unreleased in title" - # ReplaceVersion param can be set to true to replace current version title( useful at release time to change title) - - # find index of current version - $Index = 0 - $CurrentTitle = "" - $CurrentIndex = 0 - # Version increment tool passes replaceversion as False and Unreleased as True - $is_version_increment = $ReplaceVersion -eq $False -and $Unreleased -eq $True - - for (; $Index -lt $ChangelogLines.Count; $Index++) { - if (Version-Matches($ChangelogLines[$Index])) { - # Find current title in change log - if( -not $CurrentTitle) { - $CurrentTitle = $ChangelogLines[$Index] - $CurrentIndex = $Index - Write-Host "Current Version title: $CurrentTitle" - } - - # Ensure change log doesn't have new version when incrementing version - # update change log script is triggered for all packages with current version for Java ( or any language where version is maintained in common file) - # and this can cause an issue if someone changes changelog manually to prepare for release without updating actual version in central version file - # Do not add new line or replace existing title when version is already present and script is triggered to add new line - if ($is_version_increment -and $ChangelogLines[$Index].Contains($Version)) { - Write-Host "Version is already present in change log." - exit(0) - } - } - } - - # Generate version title - $newVersionTitle = Get-VersionTitle -Version $Version -Unreleased $Unreleased - - if( $newVersionTitle -eq $CurrentTitle) { - Write-Host "No change is required in change log. Version is already present." - exit(0) - } - - if (($ReplaceVersion -eq $True) -and ($Unreleased -eq $False) -and $CurrentTitle.Contains($version) -and (-not $CurrentTitle.Contains($UNRELEASED_TAG)) -and (-not $ReleaseDate)) { - Write-Host "Version is already present in change log with a release date." - exit(0) - } - - # if current version title already has new version then we should replace title to update it - if ($CurrentTitle.Contains($Version) -and $ReplaceVersion -eq $False) { - Write-Host "Version is already present in title. Updating version title" - $ReplaceVersion = $True - } - - # if version is already found and not replacing then nothing to do - if ($ReplaceVersion -eq $False) { - Write-Host "Adding version title $newVersionTitle" - $ChangelogLines.insert($CurrentIndex, "") - $ChangelogLines.insert($CurrentIndex, "") - $ChangelogLines.insert($CurrentIndex, $newVersionTitle) - } - else{ - # Script is executed to replace an existing version title - Write-Host "Replacing current version title to $newVersionTitle" - $ChangelogLines[$CurrentIndex] = $newVersionTitle - } - - return $ChangelogLines -} - - -# Make sure path is valid -if ((Test-Path -Path $ChangeLogPath) -eq $False) { - Write-Host "Change log path is invalid. [$ChangeLogPath]" - exit(1) -} - -# probe change log path if path is directory -if (Test-Path -Path $ChangeLogPath -PathType Container) { - $ChangeLogPath = Get-ChangelogPath -Path $ChangeLogPath -} - -# Read current change logs and add/update version -$ChangelogLines = [System.Collections.ArrayList](Get-Content -Path $ChangeLogPath) - -if ($null -eq $ChangelogLines) { - $ChangelogLines = @() -} - -$NewContents = Get-NewChangeLog -ChangelogLines $ChangelogLines -Version $Version -Unreleased $Unreleased -ReplaceVersion $ReplaceVersion - -Write-Host "Writing change log to file [$ChangeLogPath]" -Set-Content -Path $ChangeLogPath $NewContents -Write-Host "Version is added/updated in change log" diff --git a/eng/common/docgeneration/templates/matthews/partials/head.tmpl.partial b/eng/common/docgeneration/templates/matthews/partials/head.tmpl.partial index e1267f890d65..e97616c1780c 100644 --- a/eng/common/docgeneration/templates/matthews/partials/head.tmpl.partial +++ b/eng/common/docgeneration/templates/matthews/partials/head.tmpl.partial @@ -19,10 +19,10 @@ diff --git a/eng/common/pipelines/templates/steps/cache-ps-modules.yml b/eng/common/pipelines/templates/steps/cache-ps-modules.yml index 563dba40294f..ac136803164f 100644 --- a/eng/common/pipelines/templates/steps/cache-ps-modules.yml +++ b/eng/common/pipelines/templates/steps/cache-ps-modules.yml @@ -3,8 +3,12 @@ steps: . ./eng/common/scripts/Helpers/PSModule-Helpers.ps1 Write-Host "##vso[task.setvariable variable=CachedPSModulePath]$global:CurrentUserModulePath" displayName: Set PS Modules Cache Directory + # Containers should bake modules into the image to save on pipeline time + condition: and(succeeded(), eq(variables['Container'], '')) - task: Cache@2 inputs: key: 'PSModulePath | $(CacheSalt) | $(Agent.OS) | $(Build.SourcesDirectory)/eng/common/scripts/Import-AzModules.ps1' path: $(CachedPSModulePath) - displayName: Cache PS Modules \ No newline at end of file + displayName: Cache PS Modules + # Containers should bake modules into the image to save on pipeline time + condition: and(succeeded(), eq(variables['Container'], '')) diff --git a/eng/common/pipelines/templates/steps/check-spelling.yml b/eng/common/pipelines/templates/steps/check-spelling.yml index 986d729fc30c..79fef818a2b9 100644 --- a/eng/common/pipelines/templates/steps/check-spelling.yml +++ b/eng/common/pipelines/templates/steps/check-spelling.yml @@ -24,4 +24,5 @@ steps: -TargetBranch "origin/$("${{ parameters.TargetBranch }}" -replace "refs/heads/")" -SourceBranch ${{ parameters.SourceBranch }} -CspellConfigPath ${{ parameters.CspellConfigPath }} + -ExitWithError:(!$${{ parameters.ContinueOnError }}) pwsh: true diff --git a/eng/common/pipelines/templates/steps/daily-dev-build-variable.yml b/eng/common/pipelines/templates/steps/daily-dev-build-variable.yml index a2c37ab5b81c..5d53a5265c7a 100644 --- a/eng/common/pipelines/templates/steps/daily-dev-build-variable.yml +++ b/eng/common/pipelines/templates/steps/daily-dev-build-variable.yml @@ -21,4 +21,4 @@ steps: } echo "##vso[task.setvariable variable=SetDevVersion]$setDailyDevBuild" displayName: "Setup Versioning Properties" - condition: eq(variables['SetDevVersion'], '') + condition: and(succeeded(), eq(variables['SetDevVersion'], '')) diff --git a/eng/common/pipelines/templates/steps/detect-api-changes.yml b/eng/common/pipelines/templates/steps/detect-api-changes.yml new file mode 100644 index 000000000000..de4dd5675417 --- /dev/null +++ b/eng/common/pipelines/templates/steps/detect-api-changes.yml @@ -0,0 +1,19 @@ +parameters: + ArtifactPath: $(Build.ArtifactStagingDirectory) + Artifacts: [] + +steps: + - task: Powershell@2 + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/scripts/Detect-Api-Changes.ps1 + arguments: > + -ArtifactList ('${{ convertToJson(parameters.Artifacts) }}' | ConvertFrom-Json | Select-Object Name) + -ArtifactPath ${{parameters.ArtifactPath}} + -CommitSha '$(Build.SourceVersion)' + -BuildId $(Build.BuildId) + -PullRequestNumber $(System.PullRequest.PullRequestNumber) + -RepoFullName $(Build.Repository.Name) + pwsh: true + workingDirectory: $(Pipeline.Workspace) + displayName: Detect API changes + condition: and(succeededOrFailed(), eq(variables['Build.Reason'],'PullRequest')) diff --git a/eng/common/pipelines/templates/steps/eng-common-workflow-enforcer.yml b/eng/common/pipelines/templates/steps/eng-common-workflow-enforcer.yml index b68e1cd0c27a..58a8b5b487b9 100644 --- a/eng/common/pipelines/templates/steps/eng-common-workflow-enforcer.yml +++ b/eng/common/pipelines/templates/steps/eng-common-workflow-enforcer.yml @@ -21,4 +21,4 @@ steps: } } displayName: Prevent changes to eng/common outside of azure-sdk-tools repo - condition: and(succeeded(), ne(variables['Skip.EngCommonWorkflowEnforcer'], 'true')) + condition: and(succeeded(), ne(variables['Skip.EngCommonWorkflowEnforcer'], 'true'), not(endsWith(variables['Build.Repository.Name'], '-pr'))) \ No newline at end of file diff --git a/eng/common/pipelines/templates/steps/set-test-pipeline-version.yml b/eng/common/pipelines/templates/steps/set-test-pipeline-version.yml index 9f21918de992..091ef62766eb 100644 --- a/eng/common/pipelines/templates/steps/set-test-pipeline-version.yml +++ b/eng/common/pipelines/templates/steps/set-test-pipeline-version.yml @@ -4,10 +4,10 @@ parameters: TestPipeline: false steps: -- ${{if eq(parameters.TestPipeline, 'true')}}: +- ${{ if eq(parameters.TestPipeline, 'true') }}: - task: PowerShell@2 displayName: Prep template pipeline for release - condition: succeeded() + condition: and(succeeded(), ne(variables['Skip.SetTestPipelineVersion'], 'true')) inputs: pwsh: true workingDirectory: $(Build.SourcesDirectory) diff --git a/eng/common/pipelines/templates/steps/sparse-checkout.yml b/eng/common/pipelines/templates/steps/sparse-checkout.yml index 50603bc35a24..5b36bf48e4a9 100644 --- a/eng/common/pipelines/templates/steps/sparse-checkout.yml +++ b/eng/common/pipelines/templates/steps/sparse-checkout.yml @@ -25,8 +25,6 @@ steps: script: | function SparseCheckout([Array]$paths, [Hashtable]$repository) { - $paths = $paths -Join ' ' - $dir = $repository.WorkingDirectory if (!$dir) { $dir = "./$($repository.Name)" @@ -50,7 +48,9 @@ steps: git sparse-checkout set '/*' '!/*/' '/eng' } - $gitsparsecmd = "git sparse-checkout add $paths" + # Prevent wildcard expansion in Invoke-Expression (e.g. for checkout path '/*') + $quotedPaths = $paths | ForEach-Object { "'$_'" } + $gitsparsecmd = "git sparse-checkout add $quotedPaths" Write-Host $gitsparsecmd Invoke-Expression -Command $gitsparsecmd diff --git a/eng/common/pipelines/templates/steps/verify-changelog.yml b/eng/common/pipelines/templates/steps/verify-changelog.yml index 8173c8ec599b..887ad1a97d90 100644 --- a/eng/common/pipelines/templates/steps/verify-changelog.yml +++ b/eng/common/pipelines/templates/steps/verify-changelog.yml @@ -4,7 +4,7 @@ parameters: default: 'not-specified' - name: ServiceName type: string - default: 'not-specified' + default: '' - name: ServiceDirectory type: string default: '' @@ -17,10 +17,10 @@ steps: inputs: filePath: $(Build.SourcesDirectory)/eng/common/scripts/Verify-ChangeLog.ps1 arguments: > - -PackageName ${{ parameters.PackageName }} - -ServiceDirectory ${{ coalesce(parameters.ServiceDirectory, parameters.ServiceName) }} + -PackageName '${{ parameters.PackageName }}' + -ServiceDirectory '${{ coalesce(parameters.ServiceDirectory, parameters.ServiceName) }}' -ForRelease $${{ parameters.ForRelease }} pwsh: true workingDirectory: $(Pipeline.Workspace) displayName: Verify ChangeLogEntry for ${{ parameters.PackageName }} - continueOnError: false \ No newline at end of file + continueOnError: false diff --git a/eng/common/scripts/ChangeLog-Operations.ps1 b/eng/common/scripts/ChangeLog-Operations.ps1 index 25423b0ea8ad..02f498130246 100644 --- a/eng/common/scripts/ChangeLog-Operations.ps1 +++ b/eng/common/scripts/ChangeLog-Operations.ps1 @@ -3,6 +3,7 @@ . "${PSScriptRoot}\SemVer.ps1" $RELEASE_TITLE_REGEX = "(?^\#+\s+(?$([AzureEngSemanticVersion]::SEMVER_REGEX))(\s+(?\(.+\))))" +$SECTION_HEADER_REGEX_SUFFIX = "##\s(?.*)" $CHANGELOG_UNRELEASED_STATUS = "(Unreleased)" $CHANGELOG_DATE_FORMAT = "yyyy-MM-dd" $RecommendedSectionHeaders = @("Features Added", "Breaking Changes", "Bugs Fixed", "Other Changes") @@ -41,6 +42,17 @@ function Get-ChangeLogEntriesFromContent { $changelogEntry = $null $sectionName = $null $changeLogEntries = [Ordered]@{} + $initialAtxHeader= "#" + + if ($changeLogContent[0] -match "(?^#+)\s.*") + { + $initialAtxHeader = $matches["HeaderLevel"] + } + + $sectionHeaderRegex = "^${initialAtxHeader}${SECTION_HEADER_REGEX_SUFFIX}" + $changeLogEntries | Add-Member -NotePropertyName "InitialAtxHeader" -NotePropertyValue $initialAtxHeader + $releaseTitleAtxHeader = $initialAtxHeader + "#" + try { # walk the document, finding where the version specifiers are and creating lists foreach ($line in $changeLogContent) { @@ -48,7 +60,7 @@ function Get-ChangeLogEntriesFromContent { $changeLogEntry = [pscustomobject]@{ ReleaseVersion = $matches["version"] ReleaseStatus = $matches["releaseStatus"] - ReleaseTitle = "## {0} {1}" -f $matches["version"], $matches["releaseStatus"] + ReleaseTitle = "$releaseTitleAtxHeader {0} {1}" -f $matches["version"], $matches["releaseStatus"] ReleaseContent = @() Sections = @{} } @@ -56,7 +68,7 @@ function Get-ChangeLogEntriesFromContent { } else { if ($changeLogEntry) { - if ($line.Trim() -match "^###\s(?.*)") + if ($line.Trim() -match $sectionHeaderRegex) { $sectionName = $matches["sectionName"].Trim() $changeLogEntry.Sections[$sectionName] = @() @@ -125,16 +137,24 @@ function Confirm-ChangeLogEntry { [String]$ChangeLogLocation, [Parameter(Mandatory = $true)] [String]$VersionString, - [boolean]$ForRelease = $false + [boolean]$ForRelease = $false, + [Switch]$SantizeEntry ) - $changeLogEntry = Get-ChangeLogEntry -ChangeLogLocation $ChangeLogLocation -VersionString $VersionString + $changeLogEntries = Get-ChangeLogEntries -ChangeLogLocation $ChangeLogLocation + $changeLogEntry = $changeLogEntries[$VersionString] if (!$changeLogEntry) { LogError "ChangeLog[${ChangeLogLocation}] does not have an entry for version ${VersionString}." return $false } + if ($SantizeEntry) + { + Remove-EmptySections -ChangeLogEntry $changeLogEntry -InitialAtxHeader $changeLogEntries.InitialAtxHeader + Set-ChangeLogContent -ChangeLogLocation $ChangeLogLocation -ChangeLogEntries $changeLogEntries + } + Write-Host "Found the following change log entry for version '${VersionString}' in [${ChangeLogLocation}]." Write-Host "-----" Write-Host (ChangeLogEntryAsString $changeLogEntry) @@ -209,6 +229,7 @@ function New-ChangeLogEntry { [ValidateNotNullOrEmpty()] [String]$Version, [String]$Status=$CHANGELOG_UNRELEASED_STATUS, + [String]$InitialAtxHeader="#", [String[]]$Content ) @@ -238,17 +259,20 @@ function New-ChangeLogEntry { $Content = @() $Content += "" + $sectionsAtxHeader = $InitialAtxHeader + "##" foreach ($recommendedHeader in $RecommendedSectionHeaders) { - $Content += "### $recommendedHeader" + $Content += "$sectionsAtxHeader $recommendedHeader" $Content += "" } } + $releaseTitleAtxHeader = $initialAtxHeader + "#" + $newChangeLogEntry = [pscustomobject]@{ ReleaseVersion = $Version ReleaseStatus = $Status - ReleaseTitle = "## $Version $Status" + ReleaseTitle = "$releaseTitleAtxHeader $Version $Status" ReleaseContent = $Content } @@ -264,7 +288,7 @@ function Set-ChangeLogContent { ) $changeLogContent = @() - $changeLogContent += "# Release History" + $changeLogContent += "$($ChangeLogEntries.InitialAtxHeader) Release History" $changeLogContent += "" try @@ -289,3 +313,42 @@ function Set-ChangeLogContent { Set-Content -Path $ChangeLogLocation -Value $changeLogContent } + +function Remove-EmptySections { + param ( + [Parameter(Mandatory = $true)] + $ChangeLogEntry, + $InitialAtxHeader = "#" + ) + + $sectionHeaderRegex = "^${InitialAtxHeader}${SECTION_HEADER_REGEX_SUFFIX}" + $releaseContent = $ChangeLogEntry.ReleaseContent + + if ($releaseContent.Count -gt 0) + { + $parsedSections = $ChangeLogEntry.Sections + $sanitizedReleaseContent = New-Object System.Collections.ArrayList(,$releaseContent) + + foreach ($key in @($parsedSections.Keys)) + { + if ([System.String]::IsNullOrWhiteSpace($parsedSections[$key])) + { + for ($i = 0; $i -lt $sanitizedReleaseContent.Count; $i++) + { + $line = $sanitizedReleaseContent[$i] + if ($line -match $sectionHeaderRegex -and $matches["sectionName"].Trim() -eq $key) + { + $sanitizedReleaseContent.RemoveAt($i) + while($i -lt $sanitizedReleaseContent.Count -and [System.String]::IsNullOrWhiteSpace($sanitizedReleaseContent[$i])) + { + $sanitizedReleaseContent.RemoveAt($i) + } + $ChangeLogEntry.Sections.Remove($key) + break + } + } + } + } + $ChangeLogEntry.ReleaseContent = $sanitizedReleaseContent.ToArray() + } +} \ No newline at end of file diff --git a/eng/common/scripts/Collect-ChangeLogs.ps1 b/eng/common/scripts/Collect-ChangeLogs.ps1 deleted file mode 100644 index b6736b1a1ceb..000000000000 --- a/eng/common/scripts/Collect-ChangeLogs.ps1 +++ /dev/null @@ -1,61 +0,0 @@ -[CmdletBinding()] -param( - [Parameter(Mandatory=$true)] - [DateTime] $FromDate -) - -. (Join-Path $PSScriptRoot common.ps1) - -$releaseHighlights = @{} - -if ($FromDate -as [DateTime]) -{ - $date = ([DateTime]$FromDate).ToString($CHANGELOG_DATE_FORMAT) -} -else { - LogWarning "Invalid date passed. Switch to using the current date" - $date = Get-Date -Format $CHANGELOG_DATE_FORMAT -} - -$allPackageProps = Get-AllPkgProperties - -foreach ($packageProp in $allPackageProps) { - $changeLogLocation = $packageProp.ChangeLogPath - if (!(Test-Path $changeLogLocation)) - { - continue - } - $changeLogEntries = Get-ChangeLogEntries -ChangeLogLocation $changeLogLocation - $packageName = $packageProp.Name - $serviceDirectory = $packageProp.ServiceDirectory - $packageDirectoryname = Split-Path -Path $packageProp.DirectoryPath -Leaf - - foreach ($changeLogEntry in $changeLogEntries.Values) { - if ([System.String]::IsNullOrEmpty($changeLogEntry.ReleaseStatus)) - { - continue; - } - $ReleaseStatus = $changeLogEntry.ReleaseStatus.Trim("(",")") - if (!($ReleaseStatus -as [DateTime]) -or $ReleaseStatus -lt $date) - { - continue; - } - - $releaseVersion = $changeLogEntry.ReleaseVersion - $githubAnchor = $changeLogEntry.ReleaseTitle.Replace("## ", "").Replace(".", "").Replace("(", "").Replace(")", "").Replace(" ", "-") - - $releaseTag = "${packageName}_${releaseVersion}" - $key = "${packageName}:${releaseVersion}" - - $releaseHighlights[$key] = @{} - $releaseHighlights[$key]["PackageProperties"] = $packageProp - $releaseHighlights[$key]["ChangelogUrl"] = "https://github.com/Azure/azure-sdk-for-${LanguageShort}/blob/${releaseTag}/sdk/${serviceDirectory}/${packageDirectoryname}/CHANGELOG.md#${githubAnchor}" - $releaseHighlights[$key]["Content"] = @() - - $changeLogEntry.ReleaseContent | %{ - $releaseHighlights[$key]["Content"] += $_.Replace("###", "####") - } - } -} - -return $releaseHighlights \ No newline at end of file diff --git a/eng/common/scripts/Create-APIReview.ps1 b/eng/common/scripts/Create-APIReview.ps1 index 3451cf7ab66b..e4a4d2a83dd9 100644 --- a/eng/common/scripts/Create-APIReview.ps1 +++ b/eng/common/scripts/Create-APIReview.ps1 @@ -128,7 +128,7 @@ if ($packages) { Write-Host "API review is in approved status." } - elseif ($version.IsPrerelease -or ($version.Major -eq 0)) + elseif ($version.IsPrerelease) { # Ignore API review status for prerelease version Write-Host "Package version is not GA. Ignoring API view approval status" @@ -140,7 +140,9 @@ if ($packages) else { # Return error code if status code is 201 for new data plane package - if ($pkgInfo.SdkType -eq "client" -and $pkgInfo.IsNewSdk) + # Temporarily enable API review for spring SDK types. Ideally this should be done be using 'IsReviewRequired' method in language side + # to override default check of SDK type client + if (($pkgInfo.SdkType -eq "client" -or $pkgInfo.SdkType -eq "spring") -and $pkgInfo.IsNewSdk) { if ($respCode -eq '201') { @@ -159,7 +161,7 @@ if ($packages) { Write-Host "API review is not approved for package $($PackageName), however it is not required for this package type so it can still be released without API review approval." } - } + } } else { diff --git a/eng/common/scripts/Detect-Api-Changes.ps1 b/eng/common/scripts/Detect-Api-Changes.ps1 new file mode 100644 index 000000000000..375210171794 --- /dev/null +++ b/eng/common/scripts/Detect-Api-Changes.ps1 @@ -0,0 +1,119 @@ +[CmdletBinding()] +Param ( + [Parameter(Mandatory=$True)] + [string] $ArtifactPath, + [Parameter(Mandatory=$True)] + [string] $PullRequestNumber, + [Parameter(Mandatory=$True)] + [string] $BuildId, + [Parameter(Mandatory=$True)] + [string] $CommitSha, + [Parameter(Mandatory=$True)] + [array] $ArtifactList, + [string] $RepoFullName = "", + [string] $ArtifactName = "packages", + [string] $APIViewUri = "https://apiview.dev/PullRequest/DetectApiChanges" +) + +# Submit API review request and return status whether current revision is approved or pending or failed to create review +function Submit-Request($filePath) +{ + $repoName = $RepoFullName + if (!$repoName) { + $repoName = "azure/azure-sdk-for-$LanguageShort" + } + $query = [System.Web.HttpUtility]::ParseQueryString('') + $query.Add('artifactName', $ArtifactName) + $query.Add('buildId', $BuildId) + $query.Add('filePath', $filePath) + $query.Add('commitSha', $CommitSha) + $query.Add('repoName', $repoName) + $query.Add('pullRequestNumber', $PullRequestNumber) + $uri = [System.UriBuilder]$APIViewUri + $uri.query = $query.toString() + Write-Host "Request URI: $($uri.Uri.OriginalString)" + try + { + $Response = Invoke-WebRequest -Method 'GET' -Uri $uri.Uri -MaximumRetryCount 3 + $StatusCode = $Response.StatusCode + } + catch + { + Write-Host "Error $StatusCode - Exception details: $($_.Exception.Response)" + $StatusCode = $_.Exception.Response.StatusCode + } + + return $StatusCode +} + +function Should-Process-Package($pkgPath, $packageName) +{ + $pkg = Split-Path -Leaf $pkgPath + $configFileDir = Join-Path -Path $ArtifactPath "PackageInfo" + $pkgPropPath = Join-Path -Path $configFileDir "$packageName.json" + if (!(Test-Path $pkgPropPath)) + { + Write-Host " Package property file path $($pkgPropPath) is invalid." + return $False + } + # Get package info from json file created before updating version to daily dev + $pkgInfo = Get-Content $pkgPropPath | ConvertFrom-Json + Write-Host "SDK Type: $($pkgInfo.SdkType)" + return ($pkgInfo.SdkType -eq "client" -and $pkgInfo.IsNewSdk) +} + +function Log-Input-Params() +{ + Write-Host "Artifact Path: $($ArtifactPath)" + Write-Host "Artifact Name: $($ArtifactName)" + Write-Host "PullRequest Number: $($PullRequestNumber)" + Write-Host "BuildId: $($BuildId)" + Write-Host "Language: $($Language)" + Write-Host "Commit SHA: $($CommitSha)" + Write-Host "Repo Name: $($RepoFullName)" +} + +. (Join-Path $PSScriptRoot common.ps1) +Log-Input-Params + +if (!($FindArtifactForApiReviewFn -and (Test-Path "Function:$FindArtifactForApiReviewFn"))) +{ + Write-Host "The function for 'FindArtifactForApiReviewFn' was not found.` + Make sure it is present in eng/scripts/Language-Settings.ps1 and referenced in eng/common/scripts/common.ps1.` + See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure" + exit 1 +} + +$responses = @{} +foreach ($artifact in $ArtifactList) +{ + Write-Host "Processing $($artifact.name)" + $packages = &$FindArtifactForApiReviewFn $ArtifactPath $artifact.name + if ($packages) + { + $pkgPath = $packages.Values[0] + if (Should-Process-Package -pkgPath $pkgPath -packageName $artifact.name) + { + $filePath = $pkgPath.Replace($ArtifactPath , "").Replace("\", "/") + $respCode = Submit-Request -filePath $filePath + if ($respCode -ne '200') + { + $responses[$artifact.name] = $respCode + } + } + } + else + { + Write-Host "No package is found in artifact path to find API changes for $($artifact.name)" + } +} + +if ($responses) +{ + # Will update this with a link to wiki on how to resolve + Write-Warning "API change detection failed for following packages. Please check above for package level error details." + foreach($pkg in $responses.keys) + { + Write-Host "$pkg failed with $($responses[$pkg]) code" + } +} diff --git a/eng/common/scripts/FilterPoliCheckResults.ps1 b/eng/common/scripts/FilterPoliCheckResults.ps1 deleted file mode 100644 index f74f72971021..000000000000 --- a/eng/common/scripts/FilterPoliCheckResults.ps1 +++ /dev/null @@ -1,103 +0,0 @@ -<# -.SYNOPSIS -Filters PoliCheck Result. -.DESCRIPTION -This script will read data speciefied in one or more PoliCheckAllowList.yml files, -It then reamoves all allwed entries from the PoliCheckResult -.PARAMETER PoliCheckResultFilePath -The Path to the PoliCheck Result. Usually named PoliCheck.sarif -.PARAMETER ServiceDirtectory -If the PoliCheck scan is scoped to a particular service provide the ServiceDirectory -.EXAMPLE -PS> ./FilterPoliCheckResults.ps1 -PoliCheckResultFilePath .\PoliCheck.sarif -#> -[CmdletBinding()] -param( - [Parameter(Mandatory=$true)] - [String] $PoliCheckResultFilePath, - [String] $ServiceDirtectory -) - -. "${PSScriptRoot}\logging.ps1" - -$RepoRoot = Resolve-Path -Path "${PSScriptRoot}\..\..\..\" -$PathToAllowListFiles = Join-Path $RepoRoot $ServiceDirtectory -$PolicCheckAllowListFiles = Get-ChildItem -Path $PathToAllowListFiles -Recurse -File -Include "PoliCheckAllowList.yml" -$allowListData = @{} - -# Combine all AllowLists Found -foreach ($file in $PolicCheckAllowListFiles) -{ - $allowListDataInFile = ConvertFrom-Yaml (Get-Content $file.FullName -Raw) - $allowListData["PC1001"] += $allowListDataInFile["PC1001"] - $allowListData["PC1002"] += $allowListDataInFile["PC1002"] - $allowListData["PC1003"] += $allowListDataInFile["PC1003"] - $allowListData["PC1004"] += $allowListDataInFile["PC1004"] - $allowListData["PC1005"] += $allowListDataInFile["PC1005"] - $allowListData["PC1006"] += $allowListDataInFile["PC1006"] -} - -$poliCheckData = Get-Content $PoliCheckResultFilePath | ConvertFrom-Json -$poliCheckResultsCount = $poliCheckData.runs[0].results.Count -$newCount - -$updatedRuns = @() - -foreach ($run in $poliCheckData.runs) -{ - $updatedResults = @() - foreach ($result in $run.results) - { - $ruleId = $result.ruleId - $allowedEntries = $allowListData[$ruleId] - if ($allowedEntries) - { - $updatedLocations = @() - - foreach ($location in $result.locations) - { - $filePath = $location.physicalLocation.artifactLocation.uri - $text = $location.physicalLocation.region.snippet.text - $contextRegion = $location.physicalLocation.contextRegion.snippet.text - - $allowedEntry = $allowedEntries[0] | Where-Object { $_.FilePath -eq $filePath } - - if ($allowedEntry.Count -gt 0) - { - $foundAllowedInstance = $false - foreach ($instance in $allowedEntry.instances) - { - if (($instance.Text.Trim() -eq $text.Trim()) -and ($instance.ContextRegion.Trim() -eq $contextRegion.Trim())) - { - Write-Host "Found instance" -ForegroundColor Green - $foundAllowedInstance = $true - } - } - if ($foundAllowedInstance -eq $true) - { - continue - } - } - - $updatedLocations += $location - } - - $result.locations = $updatedLocations - } - - if ($result.locations.Count -gt 0) - { - $updatedResults += $result - } - } - $run.results = $updatedResults - $newCount = $run.results.Count - $updatedRuns += $run -} - -$poliCheckData.runs = $updatedRuns - -Set-Content -Path $PoliCheckResultFilePath -Value ($poliCheckData | ConvertTo-Json -Depth 100) - -LogDebug "Original Result Count: ${poliCheckResultsCount}" -LogDebug "New Result Count: ${newCount}" diff --git a/eng/common/scripts/Helpers/DevOps-WorkItem-Helpers.ps1 b/eng/common/scripts/Helpers/DevOps-WorkItem-Helpers.ps1 index aca34080da46..81c2595fdc5d 100644 --- a/eng/common/scripts/Helpers/DevOps-WorkItem-Helpers.ps1 +++ b/eng/common/scripts/Helpers/DevOps-WorkItem-Helpers.ps1 @@ -3,6 +3,38 @@ $ReleaseDevOpsOrgParameters = @("--organization", "https://dev.azure.com/azure- $ReleaseDevOpsCommonParameters = $ReleaseDevOpsOrgParameters + @("--output", "json") $ReleaseDevOpsCommonParametersWithProject = $ReleaseDevOpsCommonParameters + @("--project", "Release") +function Get-DevOpsRestHeaders() +{ + $headers = $null + if (Get-Variable -Name "devops_pat" -ValueOnly -ErrorAction "Ignore") + { + $encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes([string]::Format("{0}:{1}", "", $devops_pat))) + $headers = @{ Authorization = "Basic $encodedToken" } + } + else + { + # Get a temp access token from the logged in az cli user for azure devops resource + $jwt_accessToken = (az account get-access-token --resource "499b84ac-1321-427f-aa17-267ca6975798" --query "accessToken" --output tsv) + $headers = @{ Authorization = "Bearer $jwt_accessToken" } + } + + return $headers +} + +function CheckDevOpsAccess() +{ + # Dummy test query to validate permissions + $query = "SELECT [System.ID] FROM WorkItems WHERE [Work Item Type] = 'Package' AND [Package] = 'azure-sdk-template'" + + $response = Invoke-RestMethod -Method POST ` + -Uri "https://dev.azure.com/azure-sdk/Release/_apis/wit/wiql/?api-version=6.0" ` + -Headers (Get-DevOpsRestHeaders) -Body "{ ""query"": ""$query"" }" -ContentType "application/json" | ConvertTo-Json -Depth 10 | ConvertFrom-Json -AsHashTable + + if ($response -isnot [HashTable] -or !$response.ContainsKey("workItems")) { + throw "Failed to run test query against Azure DevOps. Please ensure you are logged into the public azure cloud. Consider running 'az logout' and then 'az login'." + } +} + function Invoke-AzBoardsCmd($subCmd, $parameters, $output = $true) { $azCmdStr = "az boards ${subCmd} $($parameters -join ' ')" @@ -26,23 +58,11 @@ function Invoke-Query($fields, $wiql, $output = $true) Write-Host "Executing query $wiql" } - $headers = $null - if (Get-Variable -Name "devops_pat" -ValueOnly -ErrorAction "Ignore") - { - $encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes([string]::Format("{0}:{1}", "", $devops_pat))) - $headers = @{ Authorization = "Basic $encodedToken" } - } - else - { - # Get a temp access token from the logged in az cli user for azure devops resource - $jwt_accessToken = (az account get-access-token --resource "499b84ac-1321-427f-aa17-267ca6975798" --query "accessToken" --output tsv) - $headers = @{ Authorization = "Bearer $jwt_accessToken" } - } $response = Invoke-RestMethod -Method POST ` -Uri "https://dev.azure.com/azure-sdk/Release/_apis/wit/wiql/?`$top=10000&api-version=6.0" ` - -Headers $headers -Body $body -ContentType "application/json" | ConvertTo-Json -Depth 10 | ConvertFrom-Json -AsHashTable + -Headers (Get-DevOpsRestHeaders) -Body $body -ContentType "application/json" | ConvertTo-Json -Depth 10 | ConvertFrom-Json -AsHashTable - if (!$response.workItems) { + if ($response -isnot [HashTable] -or !$response.ContainsKey("workItems") -or $response.workItems.Count -eq 0) { Write-Verbose "Query returned no items. $wiql" return ,@() } @@ -63,11 +83,11 @@ function Invoke-Query($fields, $wiql, $output = $true) Write-Verbose "Pulling work items $uri " $batchResponse = Invoke-RestMethod -Method GET -Uri $uri ` - -Headers $headers -ContentType "application/json" -MaximumRetryCount 3 | ConvertTo-Json -Depth 10 | ConvertFrom-Json -AsHashTable + -Headers (Get-DevOpsRestHeaders) -ContentType "application/json" -MaximumRetryCount 3 | ConvertTo-Json -Depth 10 | ConvertFrom-Json -AsHashTable if ($batchResponse.value) { - $batchResponse.value | % { $workItems += $_ } + $batchResponse.value | ForEach-Object { $workItems += $_ } } else { @@ -891,20 +911,8 @@ function UpdatePackageVersions($pkgWorkItem, $plannedVersions, $shippedVersions) $body = "[" + ($fieldUpdates -join ',') + "]" - $headers = $null - if (Get-Variable -Name "devops_pat" -ValueOnly -ErrorAction "Ignore") - { - $encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes([string]::Format("{0}:{1}", "", $devops_pat))) - $headers = @{ Authorization = "Basic $encodedToken" } - } - else - { - # Get a temp access token from the logged in az cli user for azure devops resource - $jwt_accessToken = (az account get-access-token --resource "499b84ac-1321-427f-aa17-267ca6975798" --query "accessToken" --output tsv) - $headers = @{ Authorization = "Bearer $jwt_accessToken" } - } $response = Invoke-RestMethod -Method PATCH ` -Uri "https://dev.azure.com/azure-sdk/_apis/wit/workitems/${id}?api-version=6.0" ` - -Headers $headers -Body $body -ContentType "application/json-patch+json" | ConvertTo-Json -Depth 10 | ConvertFrom-Json -AsHashTable + -Headers (Get-DevOpsRestHeaders) -Body $body -ContentType "application/json-patch+json" | ConvertTo-Json -Depth 10 | ConvertFrom-Json -AsHashTable return $response } \ No newline at end of file diff --git a/eng/common/scripts/Helpers/Resource-Helpers.ps1 b/eng/common/scripts/Helpers/Resource-Helpers.ps1 new file mode 100644 index 000000000000..a73cff2f6fb3 --- /dev/null +++ b/eng/common/scripts/Helpers/Resource-Helpers.ps1 @@ -0,0 +1,195 @@ +# Add 'AzsdkResourceType' member to outputs since actual output types have changed over the years. + +function Get-PurgeableGroupResources { + param ( + [Parameter(Mandatory=$true, Position=0)] + [string] $ResourceGroupName + ) + $purgeableResources = @() + + # Discover Managed HSMs first since they are a premium resource. + Write-Verbose "Retrieving deleted Managed HSMs from resource group $ResourceGroupName" + + # Get any Managed HSMs in the resource group, for which soft delete cannot be disabled. + $deletedHsms = Get-AzKeyVaultManagedHsm -ResourceGroupName $ResourceGroupName -ErrorAction Ignore ` + | Add-Member -MemberType NoteProperty -Name AzsdkResourceType -Value 'Managed HSM' -PassThru ` + | Add-Member -MemberType AliasProperty -Name AzsdkName -Value VaultName -PassThru + + if ($deletedHsms) { + Write-Verbose "Found $($deletedHsms.Count) deleted Managed HSMs to potentially purge." + $purgeableResources += $deletedHsms + } + + Write-Verbose "Retrieving deleted Key Vaults from resource group $ResourceGroupName" + + # Get any Key Vaults that will be deleted so they can be purged later if soft delete is enabled. + $deletedKeyVaults = Get-AzKeyVault -ResourceGroupName $ResourceGroupName -ErrorAction Ignore | ForEach-Object { + # Enumerating vaults from a resource group does not return all properties we required. + Get-AzKeyVault -VaultName $_.VaultName -ErrorAction Ignore | Where-Object { $_.EnableSoftDelete } ` + | Add-Member -MemberType NoteProperty -Name AzsdkResourceType -Value 'Key Vault' -PassThru ` + | Add-Member -MemberType AliasProperty -Name AzsdkName -Value VaultName -PassThru + } + + if ($deletedKeyVaults) { + Write-Verbose "Found $($deletedKeyVaults.Count) deleted Key Vaults to potentially purge." + $purgeableResources += $deletedKeyVaults + } + + return $purgeableResources +} + +function Get-PurgeableResources { + $purgeableResources = @() + $subscriptionId = (Get-AzContext).Subscription.Id + + # Discover Managed HSMs first since they are a premium resource. + Write-Verbose "Retrieving deleted Managed HSMs from subscription $subscriptionId" + + # Get deleted Managed HSMs for the current subscription. + $response = Invoke-AzRestMethod -Method GET -Path "/subscriptions/$subscriptionId/providers/Microsoft.KeyVault/deletedManagedHSMs?api-version=2021-04-01-preview" -ErrorAction Ignore + if ($response.StatusCode -ge 200 -and $response.StatusCode -lt 300 -and $response.Content) { + $content = $response.Content | ConvertFrom-Json + + $deletedHsms = @() + foreach ($r in $content.value) { + $deletedHsms += [pscustomobject] @{ + AzsdkResourceType = 'Managed HSM' + AzsdkName = $r.name + Id = $r.id + Name = $r.name + Location = $r.properties.location + DeletionDate = $r.properties.deletionDate -as [DateTime] + ScheduledPurgeDate = $r.properties.scheduledPurgeDate -as [DateTime] + EnablePurgeProtection = $r.properties.purgeProtectionEnabled + } + } + + if ($deletedHsms) { + Write-Verbose "Found $($deletedHsms.Count) deleted Managed HSMs to potentially purge." + $purgeableResources += $deletedHsms + } + } + + Write-Verbose "Retrieving deleted Key Vaults from subscription $subscriptionId" + + # Get deleted Key Vaults for the current subscription. + $deletedKeyVaults = Get-AzKeyVault -InRemovedState ` + | Add-Member -MemberType NoteProperty -Name AzsdkResourceType -Value 'Key Vault' -PassThru ` + | Add-Member -MemberType AliasProperty -Name AzsdkName -Value VaultName -PassThru + + if ($deletedKeyVaults) { + Write-Verbose "Found $($deletedKeyVaults.Count) deleted Key Vaults to potentially purge." + $purgeableResources += $deletedKeyVaults + } + + return $purgeableResources +} + +# A filter differs from a function by teating body as -process {} instead of -end {}. +# This allows you to pipe a collection and process each item in the collection. +filter Remove-PurgeableResources { + param ( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object[]] $Resource, + + [Parameter()] + [ValidateRange(1, [int]::MaxValue)] + [int] $Timeout = 30, + + [Parameter()] + [switch] $PassThru + ) + + if (!$Resource) { + return + } + + $subscriptionId = (Get-AzContext).Subscription.Id + + foreach ($r in $Resource) { + Log "Attempting to purge $($r.AzsdkResourceType) '$($r.AzsdkName)'" + switch ($r.AzsdkResourceType) { + 'Key Vault' { + if ($r.EnablePurgeProtection) { + # We will try anyway but will ignore errors. + Write-Warning "Key Vault '$($r.VaultName)' has purge protection enabled and may not be purged for $($r.SoftDeleteRetentionInDays) days" + } + + # Use `-AsJob` to start a lightweight, cancellable job and pass to `Wait-PurgeableResoruceJob` for consistent behavior. + Remove-AzKeyVault -VaultName $r.VaultName -Location $r.Location -InRemovedState -Force -ErrorAction Continue -AsJob ` + | Wait-PurgeableResourceJob -Resource $r -Timeout $Timeout -PassThru:$PassThru + } + + 'Managed HSM' { + if ($r.EnablePurgeProtection) { + # We will try anyway but will ignore errors. + Write-Warning "Managed HSM '$($r.Name)' has purge protection enabled and may not be purged for $($r.SoftDeleteRetentionInDays) days" + } + + # Use `GetNewClosure()` on the `-Action` ScriptBlock to make sure variables are captured. + Invoke-AzRestMethod -Method POST -Path "/subscriptions/$subscriptionId/providers/Microsoft.KeyVault/locations/$($r.Location)/deletedManagedHSMs/$($r.Name)/purge?api-version=2021-04-01-preview" -ErrorAction Ignore -AsJob ` + | Wait-PurgeableResourceJob -Resource $r -Timeout $Timeout -PassThru:$PassThru -Action { + param ( $response ) + if ($response.StatusCode -ge 200 -and $response.StatusCode -lt 300) { + Write-Warning "Successfully requested that Managed HSM '$($r.Name)' be purged, but may take a few minutes before it is actually purged." + } elseif ($response.Content) { + $content = $response.Content | ConvertFrom-Json + if ($content.error) { + $err = $content.error + Write-Warning "Failed to deleted Managed HSM '$($r.Name)': ($($err.code)) $($err.message)" + } + } + }.GetNewClosure() + } + + default { + Write-Warning "Cannot purge $($r.AzsdkResourceType) '$($r.AzsdkName)'. Add support to https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/scripts/Helpers/Resource-Helpers.ps1." + } + } + } +} + +# The Log function can be overridden by the sourcing script. +function Log($Message) { + Write-Host ('{0} - {1}' -f [DateTime]::Now.ToLongTimeString(), $Message) +} + +function Wait-PurgeableResourceJob { + param ( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + $Job, + + # The resource is used for logging and to return if `-PassThru` is specified + # so we can easily see all resources that may be in a bad state when the script has completed. + [Parameter(Mandatory=$true)] + $Resource, + + # Optional ScriptBlock should define params corresponding to the associated job's `Output` property. + [Parameter()] + [scriptblock] $Action, + + [Parameter()] + [ValidateRange(1, [int]::MaxValue)] + [int] $Timeout = 30, + + [Parameter()] + [switch] $PassThru + ) + + $null = Wait-Job -Job $Job -Timeout $Timeout + + if ($Job.State -eq 'Completed' -or $Job.State -eq 'Failed') { + $result = Receive-Job -Job $Job -ErrorAction Continue + + if ($Action) { + $null = $Action.Invoke($result) + } + } else { + Write-Warning "Timed out waiting to purge $($Resource.AzsdkResourceType) '$($Resource.AzsdkName)'. Cancelling job." + $Job.Cancel() + + if ($PassThru) { + $Resource + } + } +} diff --git a/eng/common/scripts/Prepare-Release.ps1 b/eng/common/scripts/Prepare-Release.ps1 index 95f175d3fdaf..2005347822fd 100644 --- a/eng/common/scripts/Prepare-Release.ps1 +++ b/eng/common/scripts/Prepare-Release.ps1 @@ -184,6 +184,13 @@ else exit 1 } +$changelogIsValid = Confirm-ChangeLogEntry -ChangeLogLocation $packageProperties.ChangeLogPath -VersionString $newVersion -ForRelease $true -SantizeEntry + +if (!$changelogIsValid) +{ + Write-Warning "The changelog [$($packageProperties.ChangeLogPath)] is not valid for release. Please make sure it is valid before queuing release build." +} + git diff -s --exit-code $packageProperties.DirectoryPath if ($LASTEXITCODE -ne 0) { diff --git a/eng/common/scripts/SemVer.ps1 b/eng/common/scripts/SemVer.ps1 index 10c35e825371..6459f252a67c 100644 --- a/eng/common/scripts/SemVer.ps1 +++ b/eng/common/scripts/SemVer.ps1 @@ -76,14 +76,19 @@ class AzureEngSemanticVersion : IComparable { $this.SetupDefaultConventions() } - if ($null -eq $matches['prelabel']) + if ($null -eq $matches['prelabel']) { # artifically provide these values for non-prereleases to enable easy sorting of them later than prereleases. $this.PrereleaseLabel = "zzz" $this.PrereleaseNumber = 99999999 $this.IsPrerelease = $false $this.VersionType = "GA" - if ($this.Patch -ne 0) { + if ($this.Major -eq 0) { + # Treat initial 0 versions as a prerelease beta's + $this.VersionType = "Beta" + $this.IsPrerelease = $true + } + elseif ($this.Patch -ne 0) { $this.VersionType = "Patch" } } @@ -131,7 +136,7 @@ class AzureEngSemanticVersion : IComparable { { $versionString = "{0}.{1}.{2}" -F $this.Major, $this.Minor, $this.Patch - if ($this.IsPrerelease) + if ($this.IsPrerelease -and $this.PrereleaseLabel -ne "zzz") { $versionString += $this.PrereleaseLabelSeparator + $this.PrereleaseLabel + ` $this.PrereleaseNumberSeparator + $this.PrereleaseNumber @@ -160,7 +165,7 @@ class AzureEngSemanticVersion : IComparable { } } - [void] SetupPythonConventions() + [void] SetupPythonConventions() { # Python uses no separators and "b" for beta so this sets up the the object to work with those conventions $this.PrereleaseLabelSeparator = $this.PrereleaseNumberSeparator = $this.BuildNumberSeparator = "" @@ -168,7 +173,7 @@ class AzureEngSemanticVersion : IComparable { $this.DefaultAlphaReleaseLabel = "a" } - [void] SetupDefaultConventions() + [void] SetupDefaultConventions() { # Use the default common conventions $this.PrereleaseLabelSeparator = "-" @@ -219,20 +224,20 @@ class AzureEngSemanticVersion : IComparable { { $global:Language = "" $versions = @( - "1.0.1", - "2.0.0", + "1.0.1", + "2.0.0", "2.0.0-alpha.20200920", "2.0.0-alpha.20200920.1", - "2.0.0-beta.2", - "1.0.10", + "2.0.0-beta.2", + "1.0.10", "2.0.0-alpha.20201221.03", "2.0.0-alpha.20201221.1", "2.0.0-alpha.20201221.5", "2.0.0-alpha.20201221.2", "2.0.0-alpha.20201221.10", - "2.0.0-beta.1", - "2.0.0-beta.10", - "1.0.0", + "2.0.0-beta.1", + "2.0.0-beta.10", + "1.0.0", "1.0.0b2", "1.0.2") @@ -258,7 +263,7 @@ class AzureEngSemanticVersion : IComparable { for ($i = 0; $i -lt $expectedSort.Count; $i++) { - if ($sort[$i] -ne $expectedSort[$i]) { + if ($sort[$i] -ne $expectedSort[$i]) { Write-Host "Error: Incorrect version sort:" Write-Host "Expected: " Write-Host $expectedSort diff --git a/eng/common/scripts/Update-ChangeLog.ps1 b/eng/common/scripts/Update-ChangeLog.ps1 index b4c07d597629..250d61ca3d52 100644 --- a/eng/common/scripts/Update-ChangeLog.ps1 +++ b/eng/common/scripts/Update-ChangeLog.ps1 @@ -5,6 +5,7 @@ # Unreleased: Default is true. If it is set to false, then today's date will be set in verion title. If it is True then title will show "Unreleased" # ReplaceLatestEntryTitle: Replaces the latest changelog entry title. +[CmdletBinding()] param ( [Parameter(Mandatory = $true)] [String]$Version, @@ -74,13 +75,13 @@ if ($ChangeLogEntries.Contains($Version)) { if ($ChangeLogEntries[$Version].ReleaseStatus -eq $ReleaseStatus) { - LogWarning "Version [$Version] is already present in change log with specificed ReleaseStatus [$ReleaseStatus]. No Change made." + LogDebug "Version [$Version] is already present in change log with specificed ReleaseStatus [$ReleaseStatus]. No Change made." exit(0) } if ($Unreleased -and ($ChangeLogEntries[$Version].ReleaseStatus -ne $ReleaseStatus)) { - LogWarning "Version [$Version] is already present in change log with a release date. Please review [$ChangelogPath]. No Change made." + LogDebug "Version [$Version] is already present in change log with a release date. Please review [$ChangelogPath]. No Change made." exit(0) } @@ -88,7 +89,7 @@ if ($ChangeLogEntries.Contains($Version)) { if ((Get-Date ($ChangeLogEntries[$Version].ReleaseStatus).Trim("()")) -gt (Get-Date $ReleaseStatus.Trim("()"))) { - LogWarning "New ReleaseDate for version [$Version] is older than existing release date in changelog. Please review [$ChangelogPath]. No Change made." + LogDebug "New ReleaseDate for version [$Version] is older than existing release date in changelog. Please review [$ChangelogPath]. No Change made." exit(0) } } @@ -106,7 +107,7 @@ if ($LatestsSorted[0] -ne $Version) { if ($ReplaceLatestEntryTitle) { - $newChangeLogEntry = New-ChangeLogEntry -Version $Version -Status $ReleaseStatus -Content $ChangeLogEntries[$LatestVersion].ReleaseContent + $newChangeLogEntry = New-ChangeLogEntry -Version $Version -Status $ReleaseStatus -InitialAtxHeader $ChangeLogEntries.InitialAtxHeader -Content $ChangeLogEntries[$LatestVersion].ReleaseContent LogDebug "Resetting latest entry title to [$($newChangeLogEntry.ReleaseTitle)]" $ChangeLogEntries.Remove($LatestVersion) if ($newChangeLogEntry) { @@ -121,12 +122,12 @@ elseif ($ChangeLogEntries.Contains($Version)) { LogDebug "Updating ReleaseStatus for Version [$Version] to [$($ReleaseStatus)]" $ChangeLogEntries[$Version].ReleaseStatus = $ReleaseStatus - $ChangeLogEntries[$Version].ReleaseTitle = "## $Version $ReleaseStatus" + $ChangeLogEntries[$Version].ReleaseTitle = "$($ChangeLogEntries.InitialAtxHeader)# $Version $ReleaseStatus" } else { LogDebug "Adding new ChangeLog entry for Version [$Version]" - $newChangeLogEntry = New-ChangeLogEntry -Version $Version -Status $ReleaseStatus + $newChangeLogEntry = New-ChangeLogEntry -Version $Version -Status $ReleaseStatus -InitialAtxHeader $ChangeLogEntries.InitialAtxHeader if ($newChangeLogEntry) { $ChangeLogEntries.Insert(0, $Version, $newChangeLogEntry) } diff --git a/eng/common/scripts/Update-DevOps-Release-WorkItem.ps1 b/eng/common/scripts/Update-DevOps-Release-WorkItem.ps1 index b1a45abffa2e..34c754006276 100644 --- a/eng/common/scripts/Update-DevOps-Release-WorkItem.ps1 +++ b/eng/common/scripts/Update-DevOps-Release-WorkItem.ps1 @@ -38,6 +38,8 @@ if (!$?){ . (Join-Path $PSScriptRoot SemVer.ps1) . (Join-Path $PSScriptRoot Helpers DevOps-WorkItem-Helpers.ps1) +CheckDevOpsAccess + $parsedNewVersion = [AzureEngSemanticVersion]::new($version) $state = "In Release" $releaseType = $parsedNewVersion.VersionType diff --git a/eng/common/scripts/Update-DocsMsPackages.ps1 b/eng/common/scripts/Update-DocsMsPackages.ps1 index 576159e7785d..f93e6cb058b4 100644 --- a/eng/common/scripts/Update-DocsMsPackages.ps1 +++ b/eng/common/scripts/Update-DocsMsPackages.ps1 @@ -133,3 +133,7 @@ if ($UpdateDocsMsPackagesFn -and (Test-Path "Function:$UpdateDocsMsPackagesFn")) See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure" exit 1 } + +# Exit 0 so DevOps doesn't fail the build when the last command called by the +# domain-specific function exited with a non-zero exit code. +exit 0 diff --git a/eng/common/scripts/Verify-ChangeLog.ps1 b/eng/common/scripts/Verify-ChangeLog.ps1 index 9be30f09261c..611f4c737541 100644 --- a/eng/common/scripts/Verify-ChangeLog.ps1 +++ b/eng/common/scripts/Verify-ChangeLog.ps1 @@ -1,4 +1,5 @@ # Wrapper Script for ChangeLog Verification +[CmdletBinding()] param ( [String]$ChangeLogLocation, [String]$VersionString, diff --git a/eng/common/scripts/check-spelling-in-changed-files.ps1 b/eng/common/scripts/check-spelling-in-changed-files.ps1 index 9d41e5b56248..ebeddc605032 100644 --- a/eng/common/scripts/check-spelling-in-changed-files.ps1 +++ b/eng/common/scripts/check-spelling-in-changed-files.ps1 @@ -1,3 +1,54 @@ +<# +.SYNOPSIS +Uses cspell (from NPM) to check spelling of recently changed files + +.DESCRIPTION +This script checks files that have changed relative to a base branch (default +branch) for spelling errors. Dictionaries and spelling configurations reside +in a configurable `cspell.json` location. + +This script uses `npx` and assumes that NodeJS (and by extension `npm` and +`npx`) are installed on the machine. If it does not detect `npx` it will warn +the user and exit with an error. + +The entire file is scanned, not just changed sections. Spelling errors in parts +of the file not touched will still be shown. + +This script copies the config file supplied in CspellConfigPath to a temporary +location, mutates the config file to include only the files that have changed, +and then uses the mutated config file to call cspell. In the case of success +the temporary file is deleted. In the case of failure the temporary file, whose +location was logged to the console, remains on disk. + +.PARAMETER TargetBranch +Git ref to compare changes. This is usually the "base" (GitHub) or "target" +(DevOps) branch for which a pull request would be opened. + +.PARAMETER SourceBranch +Git ref to use instead of changes in current repo state. Use `HEAD` here to +check spelling of files that have been committed and exclude any new files or +modified files that are not committed. This is most useful in CI scenarios where +builds may have modified the state of the repo. Leaving this parameter blank +includes files for whom changes have not been committed. + +.PARAMETER CspellConfigPath +Optional location to use for cspell.json path. Default value is +`./.vscode/cspell.json` + +.PARAMETER ExitWithError +Exit with error code 1 if spelling errors are detected. + +.PARAMETER Test +Run test functions against the script logic + +.EXAMPLE +./eng/common/scripts/check-spelling-in-changed-files.ps1 -TargetBranch 'target_branch_name' + +This will run spell check with changes in the current branch with respect to +`target_branch_name` + +#> + [CmdletBinding()] Param ( [Parameter()] @@ -7,19 +58,209 @@ Param ( [string] $SourceBranch, [Parameter()] - [string] $CspellConfigPath = "./.vscode/cspell.json" + [string] $CspellConfigPath = "./.vscode/cspell.json", + + [Parameter()] + [switch] $ExitWithError, + + [Parameter()] + [switch] $Test ) +Set-StrictMode -Version 3.0 + +function TestSpellChecker() { + Test-Exit0WhenAllFilesExcluded + ResetTest + Test-Exit1WhenIncludedFileHasSpellingError + ResetTest + Test-Exit0WhenIncludedFileHasNoSpellingError + ResetTest + Test-Exit1WhenChangedFileAlreadyHasSpellingError + ResetTest + Test-Exit0WhenUnalteredFileHasSpellingError + ResetTest + Test-Exit0WhenSpellingErrorsAndNoExitWithError +} + +function Test-Exit0WhenAllFilesExcluded() { + # Arrange + "sepleing errrrrorrrrr" > ./excluded/excluded-file.txt + git add -A + git commit -m "One change" + + # Act + &"$PSScriptRoot/check-spelling-in-changed-files.ps1" ` + -TargetBranch HEAD~1 ` + -ExitWithError + + # Assert + if ($LASTEXITCODE -ne 0) { + throw "`$LASTEXITCODE != 0" + } +} + +function Test-Exit1WhenIncludedFileHasSpellingError() { + # Arrange + "sepleing errrrrorrrrr" > ./included/included-file.txt + git add -A + git commit -m "One change" + + # Act + &"$PSScriptRoot/check-spelling-in-changed-files.ps1" ` + -TargetBranch HEAD~1 ` + -ExitWithError + + # Assert + if ($LASTEXITCODE -ne 1) { + throw "`$LASTEXITCODE != 1" + } +} + +function Test-Exit0WhenIncludedFileHasNoSpellingError() { + # Arrange + "correct spelling" > ./included/included-file.txt + git add -A + git commit -m "One change" + + # Act + &"$PSScriptRoot/check-spelling-in-changed-files.ps1" ` + -TargetBranch HEAD~1 ` + -ExitWithError + + # Assert + if ($LASTEXITCODE -ne 0) { + throw "`$LASTEXITCODE != 0" + } +} + +function Test-Exit1WhenChangedFileAlreadyHasSpellingError() { + # Arrange + "sepleing errrrrorrrrr" > ./included/included-file.txt + git add -A + git commit -m "First change" + + "A statement without spelling errors" >> ./included/included-file.txt + git add -A + git commit -m "Second change" + + # Act + &"$PSScriptRoot/check-spelling-in-changed-files.ps1" ` + -TargetBranch HEAD~1 ` + -ExitWithError + + # Assert + if ($LASTEXITCODE -ne 1) { + throw "`$LASTEXITCODE != 1" + } +} + +function Test-Exit0WhenUnalteredFileHasSpellingError() { + # Arrange + "sepleing errrrrorrrrr" > ./included/included-file-1.txt + git add -A + git commit -m "One change" + + "A statement without spelling errors" > ./included/included-file-2.txt + git add -A + git commit -m "Second change" + + # Act + &"$PSScriptRoot/check-spelling-in-changed-files.ps1" ` + -TargetBranch HEAD~1 ` + -ExitWithError + + # Assert + if ($LASTEXITCODE -ne 0) { + throw "`$LASTEXITCODE != 0" + } +} + +function Test-Exit0WhenSpellingErrorsAndNoExitWithError() { + # Arrange + "sepleing errrrrorrrrr" > ./included/included-file-1.txt + git add -A + git commit -m "One change" + + # Act + &"$PSScriptRoot/check-spelling-in-changed-files.ps1" ` + -TargetBranch HEAD~1 + + # Assert + if ($LASTEXITCODE -ne 0) { + throw "`$LASTEXITCODE != 0" + } +} + +function SetupTest($workingDirectory) { + Write-Host "Create test temp dir: $workingDirectory" + New-Item -ItemType Directory -Force -Path $workingDirectory | Out-Null + + Push-Location $workingDirectory | Out-Null + git init + + New-Item -ItemType Directory -Force -Path "./excluded" + New-Item -ItemType Directory -Force -Path "./included" + New-Item -ItemType Directory -Force -Path "./.vscode" + + "Placeholder" > "./excluded/placeholder.txt" + "Placeholder" > "./included/placeholder.txt" + + $configJsonContent = @" +{ + "version": "0.1", + "language": "en", + "ignorePaths": [ + ".vscode/cspell.json", + "excluded/**" + ] +} +"@ + $configJsonContent > "./.vscode/cspell.json" + + git add -A + git commit -m "Init" +} + +function ResetTest() { + # Empty out the working tree + git checkout . + git clean -xdf + + $revCount = git rev-list --count HEAD + if ($revCount -gt 1) { + # Reset N-1 changes so there is only the initial commit + $revisionsToReset = $revCount - 1 + git reset --hard HEAD~$revisionsToReset + } +} + +function TeardownTest($workingDirectory) { + Pop-Location | Out-Null + Write-Host "Remove test temp dir: $workingDirectory" + Remove-Item -Path $workingDirectory -Recurse -Force | Out-Null +} + +if ($Test) { + $workingDirectory = Join-Path ([System.IO.Path]::GetTempPath()) ([System.IO.Path]::GetRandomFileName()) + + SetupTest $workingDirectory + TestSpellChecker + TeardownTest $workingDirectory + Write-Host "Test complete" + exit 0 +} + $ErrorActionPreference = "Continue" -. $PSScriptRoot/logging.ps1 +. $PSScriptRoot/common.ps1 -if ((Get-Command git | Measure-Object).Count -eq 0) { +if ((Get-Command git | Measure-Object).Count -eq 0) { LogError "Could not locate git. Install git https://git-scm.com/downloads" exit 1 } -if ((Get-Command npx | Measure-Object).Count -eq 0) { - LogError "Could not locate npx. Install NodeJS (includes npm and npx) https://nodejs.org/en/download/" +if ((Get-Command npx | Measure-Object).Count -eq 0) { + LogError "Could not locate npx. Install NodeJS (includes npx and npx) https://nodejs.org/en/download/" exit 1 } @@ -28,7 +269,7 @@ if (!(Test-Path $CspellConfigPath)) { exit 1 } -# Lists names of files that were in some way changed between the +# Lists names of files that were in some way changed between the # current $SourceBranch and $TargetBranch. Excludes files that were deleted to # prevent errors in Resolve-Path Write-Host "git diff --diff-filter=d --name-only $TargetBranch $SourceBranch" @@ -43,57 +284,64 @@ if ($changedFilesCount -eq 0) { exit 0 } -$changedFilesString = $changedFiles -join ' ' - -Write-Host "npx cspell --config $CspellConfigPath $changedFilesString" -$spellingErrors = Invoke-Expression "npx cspell --config $CspellConfigPath $changedFilesString" - -if ($spellingErrors) { - foreach ($spellingError in $spellingErrors) { - LogWarning $spellingError - } - LogWarning "Spelling errors detected. To correct false positives or learn about spell checking see: https://aka.ms/azsdk/engsys/spellcheck" +$changedFilePaths = @() +foreach ($file in $changedFiles) { + $changedFilePaths += $file.Path } -exit 0 - -<# -.SYNOPSIS -Uses cspell (from NPM) to check spelling of recently changed files +# The "files" list must always contain a file which exists, is not empty, and is +# not excluded in ignorePaths. In this case it will be a file with the contents +# "1" (no spelling errors will be detected) +$notExcludedFile = (New-TemporaryFile).ToString() +"1" >> $notExcludedFile +$changedFilePaths += $notExcludedFile -.DESCRIPTION -This script checks files that have changed relative to a base branch (default -branch) for spelling errors. Dictionaries and spelling configurations reside -in a configurable `cspell.json` location. +$cspellConfigContent = Get-Content $CspellConfigPath -Raw +$cspellConfig = ConvertFrom-Json $cspellConfigContent -This script uses `npx` and assumes that NodeJS (and by extension `npm` and `npx` -) are installed on the machine. If it does not detect `npx` it will warn the -user and exit with an error. +# If the config has no "files" property this adds it. If the config has a +# "files" property this sets the value, overwriting the existing value. In this +# case, spell checking is only intended to check files from $changedFiles so +# preexisting entries in "files" will be overwritten. +Add-Member ` + -MemberType NoteProperty ` + -InputObject $cspellConfig ` + -Name "files" ` + -Value $changedFilePaths ` + -Force -The entire file is scanned, not just changed sections. Spelling errors in parts -of the file not touched will still be shown. +# Set the temporary config file with the mutated configuration. The temporary +# location is used to configure the command and the original file remains +# unchanged. +Write-Host "Setting config in: $CspellConfigPath" +Set-Content ` + -Path $CspellConfigPath ` + -Value (ConvertTo-Json $cspellConfig -Depth 100) -Running this on the local machine will trigger tests +# Use the mutated configuration file when calling cspell +Write-Host "npx cspell lint --config $CspellConfigPath --no-must-find-files " +$spellingErrors = npx cspell lint --config $CspellConfigPath --no-must-find-files -.PARAMETER TargetBranch -Git ref to compare changes. This is usually the "base" (GitHub) or "target" -(DevOps) branch for which a pull request would be opened. +Write-Host "cspell run complete, restoring original configuration." +Set-Content -Path $CspellConfigPath -Value $cspellConfigContent -NoNewLine -.PARAMETER SouceBranch -Git ref to use instead of changes in current repo state. Use `HEAD` here to -check spelling of files that have been committed and exlcude any new files or -modified files that are not committed. This is most useful in CI scenarios where -builds may have modified the state of the repo. Leaving this parameter blank -includes files for whom changes have not been committed. - -.PARAMETER CspellConfigPath -Optional location to use for cspell.json path. Default value is -`./.vscode/cspell.json` +if ($spellingErrors) { + $errorLoggingFunction = Get-Item 'Function:LogWarning' + if ($ExitWithError) { + $errorLoggingFunction = Get-Item 'Function:LogError' + } -.EXAMPLE -./eng/common/scripts/check-spelling-in-changed-files.ps1 -TargetBranch 'target_branch_name' + foreach ($spellingError in $spellingErrors) { + &$errorLoggingFunction $spellingError + } + &$errorLoggingFunction "Spelling errors detected. To correct false positives or learn about spell checking see: https://aka.ms/azsdk/engsys/spellcheck" -This will run spell check with changes in the current branch with respect to -`target_branch_name` + if ($ExitWithError) { + exit 1 + } +} else { + Write-Host "No spelling errors detected. Removing temporary file." + Remove-Item -Path $notExcludedFile -Force | Out-Null +} -#> +exit 0 diff --git a/eng/common/scripts/common.ps1 b/eng/common/scripts/common.ps1 index 4e0b0847cdbf..4f31c92c3d20 100644 --- a/eng/common/scripts/common.ps1 +++ b/eng/common/scripts/common.ps1 @@ -44,3 +44,4 @@ $GetDocsMsMetadataForPackageFn = "Get-${Language}-DocsMsMetadataForPackage" $GetDocsMsDevLanguageSpecificPackageInfoFn = "Get-${Language}-DocsMsDevLanguageSpecificPackageInfo" $GetGithubIoDocIndexFn = "Get-${Language}-GithubIoDocIndex" $FindArtifactForApiReviewFn = "Find-${Language}-Artifacts-For-Apireview" +$TestProxyTrustCertFn = "Import-Dev-Cert-${Language}" diff --git a/eng/common/scripts/stress-testing/deploy-stress-tests.ps1 b/eng/common/scripts/stress-testing/deploy-stress-tests.ps1 index 1d8d958a2cd0..80c6471a1199 100644 --- a/eng/common/scripts/stress-testing/deploy-stress-tests.ps1 +++ b/eng/common/scripts/stress-testing/deploy-stress-tests.ps1 @@ -20,9 +20,9 @@ $ErrorActionPreference = 'Stop' . $PSScriptRoot/find-all-stress-packages.ps1 $FailedCommands = New-Object Collections.Generic.List[hashtable] -if (!(Get-Module powershell-yaml)) { - Install-Module -Name powershell-yaml -RequiredVersion 0.4.1 -Force -Scope CurrentUser -} +. (Join-Path $PSScriptRoot "../Helpers" PSModule-Helpers.ps1) +Install-ModuleIfNotInstalled "powershell-yaml" "0.4.1" | Import-Module +Install-ModuleIfNotInstalled "az" "6.4.0" | Import-Module # Powershell does not (at time of writing) treat exit codes from external binaries # as cause for stopping execution, so do this via a wrapper function. @@ -51,7 +51,10 @@ function Login([string]$subscription, [string]$clusterGroup, [boolean]$pushImage RunOrExitOnFailure az login --allow-no-subscriptions } - $clusterName = (az aks list -g $clusterGroup -o json| ConvertFrom-Json).name + # Discover cluster name, only one cluster per group is expected + Write-Host "Listing AKS cluster in $subscription/$clusterGroup" + $cluster = RunOrExitOnFailure az aks list -g $clusterGroup --subscription $subscription -o json + $clusterName = ($cluster | ConvertFrom-Json).name RunOrExitOnFailure az aks get-credentials ` -n "$clusterName" ` @@ -60,8 +63,9 @@ function Login([string]$subscription, [string]$clusterGroup, [boolean]$pushImage --overwrite-existing if ($pushImages) { - $registry = (az acr list -g $clusterGroup -o json | ConvertFrom-Json).name - RunOrExitOnFailure az acr login -n $registry + $registry = RunOrExitOnFailure az acr list -g $clusterGroup --subscription $subscription -o json + $registryName = ($registry | ConvertFrom-Json).name + RunOrExitOnFailure az acr login -n $registryName } } @@ -110,16 +114,18 @@ function DeployStressPackage( [string]$repository, [boolean]$pushImages ) { - $registry = (az acr list -g $clusterGroup -o json | ConvertFrom-Json).name - if (!$registry) { - Write-Host "Could not find container registry in resource group $clusterGroup" - exit 1 + $registry = RunOrExitOnFailure az acr list -g $clusterGroup --subscription $subscription -o json + $registryName = ($registry | ConvertFrom-Json).name + + Run helm dependency update $pkg.Directory + if ($LASTEXITCODE) { return } + + if (Test-Path "$($pkg.Directory)/test-resources.bicep") { + Run az bicep build -f "$($pkg.Directory)/test-resources.bicep" + if ($LASTEXITCODE) { return } } if ($pushImages) { - Run helm dependency update $pkg.Directory - if ($LASTEXITCODE) { return $LASTEXITCODE } - $dockerFiles = Get-ChildItem "$($pkg.Directory)/Dockerfile*" foreach ($dockerFile in $dockerFiles) { # Infer docker image name from parent directory name, if file is named `Dockerfile` @@ -128,16 +134,16 @@ function DeployStressPackage( if (!$imageName) { $imageName = $dockerFile.Directory.Name } - $imageTag = "${registry}.azurecr.io/$($repository.ToLower())/$($imageName):$deployId" + $imageTag = "${registryName}.azurecr.io/$($repository.ToLower())/$($imageName):$deployId" Write-Host "Building and pushing stress test docker image '$imageTag'" Run docker build -t $imageTag -f $dockerFile.FullName $dockerFile.DirectoryName - if ($LASTEXITCODE) { return $LASTEXITCODE } + if ($LASTEXITCODE) { return } Run docker push $imageTag if ($LASTEXITCODE) { if ($PSCmdlet.ParameterSetName -ne 'DoLogin') { Write-Warning "If docker push is failing due to authentication issues, try calling this script with '-Login'" } - return $LASTEXITCODE + return } } } @@ -149,7 +155,7 @@ function DeployStressPackage( Run helm upgrade $pkg.ReleaseName $pkg.Directory ` -n $pkg.Namespace ` --install ` - --set repository=$registry.azurecr.io/$repository ` + --set repository=$registryName.azurecr.io/$repository ` --set tag=$deployId ` --set stress-test-addons.env=$environment if ($LASTEXITCODE) { @@ -157,7 +163,7 @@ function DeployStressPackage( # can be the result of cancelled `upgrade` operations (e.g. ctrl-c). # See https://github.com/helm/helm/issues/4558 Write-Warning "The issue may be fixable by first running 'helm rollback -n $($pkg.Namespace) $($pkg.ReleaseName)'" - return $LASTEXITCODE + return } # Helm 3 stores release information in kubernetes secrets. The only way to add extra labels around @@ -171,4 +177,7 @@ function DeployStressPackage( Run kubectl label secret -n $pkg.Namespace --overwrite $helmReleaseConfig deployId=$deployId } -DeployStressTests @PSBoundParameters +# Don't call functions when the script is being dot sourced +if ($MyInvocation.InvocationName -ne ".") { + DeployStressTests @PSBoundParameters +} diff --git a/eng/common/scripts/trust-proxy-certificate.ps1 b/eng/common/scripts/trust-proxy-certificate.ps1 new file mode 100644 index 000000000000..144d304cfd18 --- /dev/null +++ b/eng/common/scripts/trust-proxy-certificate.ps1 @@ -0,0 +1,6 @@ +. $PSScriptRoot/common.ps1 + +if ($TestProxyTrustCertFn -and (Test-Path "Function:$TestProxyTrustCertFn")) +{ + &$TestProxyTrustCertFn +} \ No newline at end of file diff --git a/eng/common/testproxy/apply-dev-cert.sh b/eng/common/testproxy/apply-dev-cert.sh new file mode 100644 index 000000000000..5b4523e8c3c6 --- /dev/null +++ b/eng/common/testproxy/apply-dev-cert.sh @@ -0,0 +1,31 @@ +#!/bin/bash +TMP_PATH=$CERT_FOLDER +PFXFILE=$CERT_FOLDER/dotnet-devcert.pfx +CRTFILE=$CERT_FOLDER/dotnet-devcert.crt + +NSSDB_PATHS=( + "$HOME/.pki/nssdb" + "$HOME/snap/chromium/current/.pki/nssdb" + "$HOME/snap/postman/current/.pki/nssdb" +) + +function configure_nssdb() { + echo "Configuring nssdb for $1" + certutil -d sql:$1 -D -n dotnet-devcert + certutil -d sql:$1 -A -t "CP,," -n dotnet-devcert -i $CRTFILE +} + +for NSSDB in ${NSSDB_PATHS[@]}; do + if [ -d "$NSSDB" ]; then + configure_nssdb $NSSDB + fi +done + +if [ $(id -u) -ne 0 ]; then + SUDO='sudo' +fi + +$SUDO cp $CRTFILE "/usr/local/share/ca-certificates" +$SUDO update-ca-certificates + +dotnet dev-certs https --clean --import $PFXFILE -p "password" diff --git a/eng/common/testproxy/docker-start-proxy.ps1 b/eng/common/testproxy/docker-start-proxy.ps1 new file mode 100644 index 000000000000..6e0d0edd2b64 --- /dev/null +++ b/eng/common/testproxy/docker-start-proxy.ps1 @@ -0,0 +1,83 @@ + #!/usr/bin/env pwsh -c + +<# +.DESCRIPTION +Start the docker proxy container. If it is already running, quietly exit. Any other error should fail. +.PARAMETER Mode +"start" or "stop" to start up or stop the test-proxy instance. +.PARAMETER TargetFolder +The folder in which context the test proxy will be started. Defaults to current working directory. +#> +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [ValidateSet("start", "stop")] + [String] + $Mode, + [String] + $TargetFolder = "." +) + +try { + docker --version | Out-Null +} +catch { + Write-Error "A invocation of docker --version failed. This indicates that docker is not properly installed or running." + Write-Error "Please check your docker invocation and try running the script again." +} + +$SELECTED_IMAGE_TAG = "1084681" +$CONTAINER_NAME = "ambitious_azsdk_test_proxy" +$LINUX_IMAGE_SOURCE = "azsdkengsys.azurecr.io/engsys/testproxy-lin:${SELECTED_IMAGE_TAG}" +$WINDOWS_IMAGE_SOURCE = "azsdkengsys.azurecr.io/engsys/testproxy-win:${SELECTED_IMAGE_TAG}" +$root = (Resolve-Path $TargetFolder).Path.Replace("`\", "/") + +function Get-Proxy-Container(){ + return (docker container ls -a --format "{{ json . }}" --filter "name=$CONTAINER_NAME" ` + | ConvertFrom-Json ` + | Select-Object -First 1) +} + + +$SelectedImage = $LINUX_IMAGE_SOURCE +$Initial = "" + +# most of the time, running this script on a windows machine will work just fine, as docker defaults to linux containers +# however, in CI, windows images default to _windows_ containers. We cannot swap them. We can tell if we're in a CI build by +# checking for the environment variable TF_BUILD. +if ($IsWindows -and $env:TF_BUILD){ + $SelectedImage = $WINDOWS_IMAGE_SOURCE + $Initial = "C:" +} + +if ($Mode -eq "start"){ + $proxyContainer = Get-Proxy-Container + + # if we already have one, we just need to check the state + if($proxyContainer){ + if ($proxyContainer.State -eq "running") + { + Write-Host "Discovered an already running instance of the test-proxy!. Exiting" + exit(0) + } + } + # else we need to create it + else { + Write-Host "Attempting creation of Docker host $CONTAINER_NAME" + Write-Host "docker container create -v `"${root}:${Initial}/etc/testproxy`" -p 5001:5001 -p 5000:5000 --name $CONTAINER_NAME $SelectedImage" + docker container create -v "${root}:${Initial}/etc/testproxy" -p 5001:5001 -p 5000:5000 --name $CONTAINER_NAME $SelectedImage + } + + Write-Host "Attempting start of Docker host $CONTAINER_NAME" + docker container start $CONTAINER_NAME +} + +if ($Mode -eq "stop"){ + $proxyContainer = Get-Proxy-Container + + if($proxyContainer){ + if($proxyContainer.State -eq "running"){ + Write-Host "Found a running instance of $CONTAINER_NAME, shutting it down." + docker container stop $CONTAINER_NAME + } + } +} \ No newline at end of file diff --git a/eng/common/testproxy/dotnet-devcert.crt b/eng/common/testproxy/dotnet-devcert.crt new file mode 100644 index 000000000000..e8575ea44564 --- /dev/null +++ b/eng/common/testproxy/dotnet-devcert.crt @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDSDCCAjCgAwIBAgIUPMKpJ/j10eQrcQBNnkImIaOYHakwDQYJKoZIhvcNAQEL +BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIxMDgwNTAwMzU1NloXDTIyMDgw +NTAwMzU1NlowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAxe/ZseXgOTVoF7uTjX5Leknk95jIoyGc+VlxA8BhzGOr +r4u6VNQZRCMq+svHY36tW4+u/xHNe2kvbwy2mnS8cFFLfst+94qBZVJDBxSGZ9I/ +wekErNsjFsik4UrMvcC+ZlGPh7hb3f7tSx29tn1DIkAUXVnbZ6TT5s+mYRQpZ6fW +6kR3RNfc0A1IUM7Zs9yfNEr0O2H41P2HcLKoOPtvd7GvTQm9Ofh3srKvII+sZn/J +WH7r76oRQMX904mOMdryQwZLObsqX4dXIEbafKVSecB3PBVIhv8gVtJhcZbQP1pI +mMiWd6PHv46ZhGf7+cKnYUSa8Ia2t/wetK1wd00dFwIDAQABo4GRMIGOMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGmMBYGA1UdJQEB/wQMMAoGCCsGAQUF +BwMBMBcGA1UdEQEB/wQNMAuCCWxvY2FsaG9zdDA6BgorBgEEAYI3VAEBBCwMKkFT +UC5ORVQgQ29yZSBIVFRQUyBkZXZlbG9wbWVudCBjZXJ0aWZpY2F0ZTANBgkqhkiG +9w0BAQsFAAOCAQEAIj2VlBVcXGSly6KCBg6lgwFi+henWfSox77iuGAaAxDjN3jd +9lZahW4MPNLHKSrPRb4YNSLZ2jh7zdcttQrqd4qH65o1q56q5JrCmli99iIzY9Y8 +RdYyxK4Zzr31wjpsyFiWQfqJTuSFUUg9uDDj0negwEZLIGlt7nr12wflt2+QOJtD +byMeSZLbB5dPzn341DK0qfJEJMMgL0XsPEVZ3TQ6Alc9zq5wI608C/mXnz3xJE05 +UTYD8pRJJ/DyG0empvOVE8Sg93msHPquAbgqO9aqCpykgg/a8CFvI4wRdfvGEFlv +8XJKL8Y/PFsmFeO3axq3zUYKFVdc9Un4dFIaag== +-----END CERTIFICATE----- diff --git a/eng/common/testproxy/dotnet-devcert.pfx b/eng/common/testproxy/dotnet-devcert.pfx new file mode 100644 index 0000000000000000000000000000000000000000..28058ae4ce30e7a413e8f872d930fa2cf5c2107c GIT binary patch literal 2445 zcmY+Ec{me}AIEKGOw3W1T%&R;L(Z@fa?O=93FS=q=BQl7a-{|M|6Xqd27(0wI1w0#Ef}JdY@Ym$AHWSL zz(7zS3`GAI)K?F!Tb zfjk`X7|v1{OYWP-ZccVCBTB-xZYA4g%!tC;_FsW8vbMzZGh3`8ogVrPMR>ljPU4#- z`G@P4g@lf03(hTENs)vkx^jBoGHwj2avv-Dpe_DO>@3jk<%U$iX9rZd`=jP! zsg>})<%?TyfZg|Y*>jhF5Sk^W#Xi;Zf992<-1wem2j0S$iBLn3j~5NK^GDtfIXo`5 zEs4Sf`)CEeP0j%@`i~ke|2fh@=L=@SIJ}`Y+kWWchubBzbXCRXNLitiiMY3dmu!a( zFZPEvT^=8TlPT8*{GH8Y<-2>g>eDZprB2Z+>uP-Z?YAXY9h_{s@4_XehsU4Id_iyC zJ+N--k7cI{U3Bi+p2UKd+buQ)=Z*I*(W5Hw)&cuE;drYzBT8WE$tY9^^4o53%-qi5 z=n{`d!C!c+~BNXhVHGYMn+(JJ0#LCDfvOFPO#fMYz)uYiLDW|Co z(JGTK!;W~b1WLVc_OQ;;y-e`1>Itds$%e}1YQK|Ze#ae*l3sb6q>JipNOI#XV=WLu zsiaZOG)Y@E9Hc?8IGLp#_fdMEJxgwAltLxG(ZXfxQMhi>=<_k}P;!U4_5&K0su_n9 zQ&wnVaA_R&m2zs__fZs>G)%_NW)SfLFgowbEDRqBT^z zJMo)_(u@dc8+TU{Xdrq5=H(TjX}T`cCNE>>pH3;Ad}l6&(NCGu#)3`Gm)tWnFX*fWw>iusH-DeXc-0_K%B?cPcYb`dW?L5*s2f4hp zKeP|&@yDS&;8*PpQw~cQEhAf!7vf#A2DL4a-dY3E@O)XZKK~Y*%(FLu`*?(Zen_F2 zPxvUY0RHLI{s$pqq*$-r#fUBwfZo(KCs%hX?u@6-^jp@|GJ(4$>d|yLeaX7K7qf1N25=t-MWP)nc}xHt_coMNUZF&!y2dObegcrn^uF-D>4qs;DA=zqU?bmyx|I zx{YWUS(>xDdPsmyh{Z*-lg^&5RYzXkyVj#%Jjao_N!q@F2y*i=D;iN=%^8j1li)|W zO$Tp!3PT4fpfxfDq zUhF8y%X|XI1;l*cygss_+G?*f_ik^z=Ke5}=A~KOvHxYg)!i}dxwR25Xf+f!SPifN zK_Y9AKWpP+oI@T^$XT5`{_B4e3fD|c@Q}89T*QQwyld*zXZCAD4>GC}9;NG;RG0(5 znCLlG-=@yqe0I($$p5%?wp-oxY5FwGxwa%0!TBYiZX~;QPV~q@A%SXMowq=`bW3rT zPIq&knIrEPBS8(i=47qf){UF!GGy&r0Z;BbJc~h^^*-$0zZUMj%x?59QtrM0%^JKZ$4FPS{j?Ut<*pX!#dB%!EbOGU5*$5VFUa)Y@$M;Z z4sl8Ns(swP-zX*T#^Q9`@)Sed>bf4v-3@?4?C!~cisATi`B3dvT1mth0W%(+%O^(X)3 zB7ad%T0XtsUdE>o28`a;_iQtx4RfXR|6{`h;drtDABlWO*H zgT|>(isc2UO4D+-y-(X5*;PMlIb6=BB$EqoGaR;5T|(3cEW!exbkWR0 zKSxCTZ>!9^nIMV@rXZp3&~tT3_6(~U@dzr@{&LObWzJXp+%8Ugw8q*?g_nMorpp7&E#Ztx{^h3z}&B?D+fl@MlU+)b>qDi^1L1WD%$SyN(bMH5llaAfgwMN+(1yb)GL# zB644QI=;pr)DSWV2$)M5$_W(X;s71nM&EriZMXu9q4}jIu`Zb2ZMe}2;=yh6dp0e8 JEc(5Y{{n}~oSOgu literal 0 HcmV?d00001 diff --git a/eng/common/testproxy/localhost.conf b/eng/common/testproxy/localhost.conf new file mode 100644 index 000000000000..2e03415293cc --- /dev/null +++ b/eng/common/testproxy/localhost.conf @@ -0,0 +1,23 @@ +[req] +prompt = no +default_bits = 2048 +distinguished_name = subject +req_extensions = req_ext +x509_extensions = x509_ext + +[ subject ] +commonName = localhost + +[req_ext] +basicConstraints = critical, CA:true +subjectAltName = @alt_names + +[x509_ext] +basicConstraints = critical, CA:true +keyUsage = critical, keyCertSign, cRLSign, digitalSignature,keyEncipherment +extendedKeyUsage = critical, serverAuth +subjectAltName = critical, @alt_names +1.3.6.1.4.1.311.84.1.1 = ASN1:UTF8String:ASP.NET Core HTTPS development certificate # Needed to get it imported by dotnet dev-certs + +[alt_names] +DNS.1 = localhost diff --git a/eng/common/testproxy/test-proxy-docker.yml b/eng/common/testproxy/test-proxy-docker.yml new file mode 100644 index 000000000000..97617b6fd08a --- /dev/null +++ b/eng/common/testproxy/test-proxy-docker.yml @@ -0,0 +1,15 @@ +parameters: + rootFolder: '$(Build.SourcesDirectory)' + +steps: + - pwsh: | + $(Build.SourcesDirectory)/eng/common/scripts/trust-proxy-certificate.ps1 + displayName: 'Language Specific Certificate Trust' + + - pwsh: | + $(Build.SourcesDirectory)/eng/common/testproxy/docker-start-proxy.ps1 -Mode start -TargetFolder "${{ parameters.rootFolder }}" + displayName: 'Run the docker container' + + - pwsh: | + docker container ls -a + displayName: Check running container \ No newline at end of file diff --git a/eng/common/testproxy/test-proxy-tool.yml b/eng/common/testproxy/test-proxy-tool.yml new file mode 100644 index 000000000000..9f24b0f0d527 --- /dev/null +++ b/eng/common/testproxy/test-proxy-tool.yml @@ -0,0 +1,47 @@ +parameters: + rootFolder: '$(Build.SourcesDirectory)' + +steps: + - pwsh: | + $(Build.SourcesDirectory)/eng/common/scripts/trust-proxy-certificate.ps1 + displayName: 'Language Specific Certificate Trust' + + - pwsh: | + Write-Host "##vso[task.setvariable variable=OriginalPath]$env:PATH" + displayName: 'Store Path Value' + + - pwsh: | + Write-Host "##vso[task.setvariable variable=ASPNETCORE_Kestrel__Certificates__Default__Path]$(Build.SourcesDirectory)/eng/common/testproxy/dotnet-devcert.pfx" + Write-Host "##vso[task.setvariable variable=ASPNETCORE_Kestrel__Certificates__Default__Password]password" + displayName: 'Configure Kestrel Environment Variables' + + - task: UseDotNet@2 + displayName: "Use .NET Core SDK" + inputs: + packageType: sdk + version: 5.0.205 + + - pwsh: | + dotnet tool install azure.sdk.tools.testproxy ` + --tool-path $(Build.BinariesDirectory)/test-proxy ` + --add-source https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-net/nuget/v3/index.json ` + --version 1.0.0-dev.20210811.2 + displayName: "Install test-proxy" + + - pwsh: | + Start-Process $(Build.BinariesDirectory)/test-proxy/test-proxy.exe ` + -ArgumentList "--storage-location '${{ parameters.rootFolder }}'" ` + -NoNewWindow -PassThru + displayName: 'Run the testproxy - windows' + condition: and(succeeded(), eq(variables['Agent.OS'],'Windows_NT')) + + # nohup does NOT continue beyond the current session if you use it within powershell + - bash: | + sudo nohup $(Build.BinariesDirectory)/test-proxy/test-proxy & + displayName: "Run the testproxy - linux/mac" + condition: and(succeeded(), ne(variables['Agent.OS'],'Windows_NT')) + workingDirectory: "${{ parameters.rootFolder }}" + + - pwsh: | + Write-Host "##vso[task.setvariable variable=PATH]$(OriginalPath)" + displayName: 'Restore .NET version by resetting path' \ No newline at end of file diff --git a/eng/ignore-links.txt b/eng/ignore-links.txt index d2f140423d14..90e33914775b 100644 --- a/eng/ignore-links.txt +++ b/eng/ignore-links.txt @@ -8,5 +8,5 @@ https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-blob-cha https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-blob-changefeed/samples/typescript https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-blob-changefeed/test/ https://github.com/Azure/azure-digital-twins/blob/private-preview/Documentation/how-to-manage-routes.md -https://docs.microsoft.com/javascript/api/@azure/arm-webpubsub -https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/web-pubsub/arm-websubpub +https://docs.microsoft.com/javascript/api/@azure/arm-purview +https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/purview/arm-purview diff --git a/eng/js.gdnbaselines b/eng/js.gdnbaselines deleted file mode 100644 index d36de1c86e5d..000000000000 --- a/eng/js.gdnbaselines +++ /dev/null @@ -1,4380 +0,0 @@ -{ - "version": "1.0.0", - "baselines": { - "baseline": { - "name": "baseline", - "createdDate": "2021-01-29 00:17:00Z", - "lastUpdatedDate": "2021-01-29 00:17:00Z" - } - }, - "results": { - "0e45759bd65c724f31cff5303ca95c6574ad324939d4cba604ff5a29c5b1491b": { - "signature": "0e45759bd65c724f31cff5303ca95c6574ad324939d4cba604ff5a29c5b1491b", - "target": "eng/tools/publish-to-npm.ps1", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0030", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e021cb94f0f515b8b0d6a7f17f878e437820187224b19e966f7403213082a507": { - "signature": "e021cb94f0f515b8b0d6a7f17f878e437820187224b19e966f7403213082a507", - "target": "eng/tools/publish-to-npm.ps1", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0030", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e1a3fea15e1957cf65f181c01bc08c5961fcea8b6484d56d397899eced44f2f0": { - "signature": "e1a3fea15e1957cf65f181c01bc08c5961fcea8b6484d56d397899eced44f2f0", - "target": "sdk/communication/communication-common/README.md", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0140", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "946d65a9db7cf3100bfdd8788f115f1411e06a5c7142db3f40b94eef3ed31a7e": { - "signature": "946d65a9db7cf3100bfdd8788f115f1411e06a5c7142db3f40b94eef3ed31a7e", - "target": "sdk/keyvault/keyvault-certificates/ca.key", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "76f01d1bdebff7283820c353498789ef105003a836a3618d1ac9712885bb0842": { - "signature": "76f01d1bdebff7283820c353498789ef105003a836a3618d1ac9712885bb0842", - "target": "sdk/search/search-documents/README.md", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c6cfee11f940c9f3c9dce5f76d28755d292c22505c67804b898b36f979a5ccbe": { - "signature": "c6cfee11f940c9f3c9dce5f76d28755d292c22505c67804b898b36f979a5ccbe", - "target": "sdk/batch/arm-batch/test/batchManagementClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "17ffa2542bb8c615d4b74ad54f8dea9bc4b1e487d812d457a383e7128d47cd10": { - "signature": "17ffa2542bb8c615d4b74ad54f8dea9bc4b1e487d812d457a383e7128d47cd10", - "target": "sdk/batch/arm-batch/test/batchManagementClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5e2b4128ed6838ee0a486cba8505f94da4bea02eb126191f2064d5f9116ed814": { - "signature": "5e2b4128ed6838ee0a486cba8505f94da4bea02eb126191f2064d5f9116ed814", - "target": "sdk/batch/arm-batch/test/batchManagementClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d2a452a2e4cdea12f3161f80a24b58824a96c767a935eeda33405bfdcf066ba5": { - "signature": "d2a452a2e4cdea12f3161f80a24b58824a96c767a935eeda33405bfdcf066ba5", - "target": "sdk/batch/arm-batch/test/batchManagementClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0322bdb12b1b5c53ccf444d3d97940b19759c547165ece42153bdb74979c1a8a": { - "signature": "0322bdb12b1b5c53ccf444d3d97940b19759c547165ece42153bdb74979c1a8a", - "target": "sdk/batch/arm-batch/test/batchManagementClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "52f51c98bb322c8fbe8f1bd0ac552e18d297b9809e5094d7b8e70480736def73": { - "signature": "52f51c98bb322c8fbe8f1bd0ac552e18d297b9809e5094d7b8e70480736def73", - "target": "sdk/batch/batch/test/batchClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3006da59c2e3819b36673abcc0e435bb39db6e92381eb5c6f2de830984df0e7b": { - "signature": "3006da59c2e3819b36673abcc0e435bb39db6e92381eb5c6f2de830984df0e7b", - "target": "sdk/batch/batch/test/batchClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d5744b511938504bc88c2e79843171a4c55496455fa02e81b34d9117aaf31e68": { - "signature": "d5744b511938504bc88c2e79843171a4c55496455fa02e81b34d9117aaf31e68", - "target": "sdk/batch/batch/test/batchClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "1e342781fa25e1b9c93a4d3ce65a6d197fadecd4fe44e7db81ab1b022c82b293": { - "signature": "1e342781fa25e1b9c93a4d3ce65a6d197fadecd4fe44e7db81ab1b022c82b293", - "target": "sdk/batch/batch/test/batchClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b80c5737a0bf902805a8eb3276b0f4efdca296afb278913f56dc33f360cb60ed": { - "signature": "b80c5737a0bf902805a8eb3276b0f4efdca296afb278913f56dc33f360cb60ed", - "target": "sdk/core/core-http/test/logFilterTests.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "92d89b5da6266a1e1795ea0e1381bce2defb4d7e004c002e3201336c04919039": { - "signature": "92d89b5da6266a1e1795ea0e1381bce2defb4d7e004c002e3201336c04919039", - "target": "sdk/eventgrid/eventgrid/test/generateSharedAccessSignature.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5b0c232abbfc7d952e79629a7ffa7df18866028c279e2df47068475df41cd529": { - "signature": "5b0c232abbfc7d952e79629a7ffa7df18866028c279e2df47068475df41cd529", - "target": "sdk/identity/identity/test/azure-identity-chain-test.crt", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a5273330808138cbf60fb0f12f780893921c0b2a7f67080d8a605930c58335bc": { - "signature": "a5273330808138cbf60fb0f12f780893921c0b2a7f67080d8a605930c58335bc", - "target": "sdk/identity/identity/test/azure-identity-test.crt", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "473bda232f3d235a3391de696f84de75d8119e9d2a47a5d57bdae55068daaf4a": { - "signature": "473bda232f3d235a3391de696f84de75d8119e9d2a47a5d57bdae55068daaf4a", - "target": "sdk/servicebus/service-bus/test/atomManagement.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "1a679b71e7836be92bfec868e7132f08da994020fb0c86fc57c3016715e1dc32": { - "signature": "1a679b71e7836be92bfec868e7132f08da994020fb0c86fc57c3016715e1dc32", - "target": "sdk/servicebus/service-bus/test/atomManagement.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8c3b947a4389d8592f681b28287afe467ef384c58eeb2cfda05f690cb20cc3fb": { - "signature": "8c3b947a4389d8592f681b28287afe467ef384c58eeb2cfda05f690cb20cc3fb", - "target": "sdk/servicebus/service-bus/test/atomManagement.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "76d8ffd8c53c6d01e2d4a291042ebdc0f5e3b17ff18a06aa805f66972a99038b": { - "signature": "76d8ffd8c53c6d01e2d4a291042ebdc0f5e3b17ff18a06aa805f66972a99038b", - "target": "sdk/servicebus/service-bus/test/atomManagement.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e4219de603999227fa07e1fa05b6ca0173beee265ed3f4f7a492889ae2686f6b": { - "signature": "e4219de603999227fa07e1fa05b6ca0173beee265ed3f4f7a492889ae2686f6b", - "target": "sdk/synapse/synapse-artifacts/review/synapse-artifacts.api.md", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b546c67cfb9262a367f2d598ad0dcebdf057a65edef363bbebfaa93acd0af426": { - "signature": "b546c67cfb9262a367f2d598ad0dcebdf057a65edef363bbebfaa93acd0af426", - "target": "sdk/synapse/synapse-artifacts/review/synapse-artifacts.api.md", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4310ef9af8ac8f6c4884bcdffc2100adb7e80d2a27b8af5fda17f05c5ffee967": { - "signature": "4310ef9af8ac8f6c4884bcdffc2100adb7e80d2a27b8af5fda17f05c5ffee967", - "target": "sdk/core/core-http/test/policies/proxyPolicyTests.browser.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "2998969ac738f0a1033ebc3942a9b62eec64512c6e454c17ab58969f35249382": { - "signature": "2998969ac738f0a1033ebc3942a9b62eec64512c6e454c17ab58969f35249382", - "target": "sdk/core/core-http/test/policies/proxyPolicyTests.node.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5c7e3a95955681d9b870763306f69dd12b6e4dada0132f42d012a7cd1f0c2fb5": { - "signature": "5c7e3a95955681d9b870763306f69dd12b6e4dada0132f42d012a7cd1f0c2fb5", - "target": "sdk/metricsadvisor/ai-metrics-advisor/test/public/datafeed.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "6f9f26160f7fac3c87ed3c2b428bce2972f0d458a81d1faa1857326fe1dc1d06": { - "signature": "6f9f26160f7fac3c87ed3c2b428bce2972f0d458a81d1faa1857326fe1dc1d06", - "target": "sdk/metricsadvisor/ai-metrics-advisor/test/public/hookTests.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e94723dfd5f451f0b799a867bdcf86bf511e2d8be9f6126bf63c64d31d098598": { - "signature": "e94723dfd5f451f0b799a867bdcf86bf511e2d8be9f6126bf63c64d31d098598", - "target": "sdk/servicebus/service-bus/test/internal/atomXml.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "2e29eba0c424e8cf678a59f7e2c35a7349c6b7c53d3ca2a575557729bcdd8f26": { - "signature": "2e29eba0c424e8cf678a59f7e2c35a7349c6b7c53d3ca2a575557729bcdd8f26", - "target": "sdk/servicebus/service-bus/test/internal/atomXml.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f91704b09043fcac7c5a940a386dbff722f38ee97036fc654f1f9706867f1f1a": { - "signature": "f91704b09043fcac7c5a940a386dbff722f38ee97036fc654f1f9706867f1f1a", - "target": "sdk/storage/storage-blob/test/utils/constants.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0140", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7101f7e573e0ca58493ea16a914fc77d25f91d400f54b6771952d0cf87db83de": { - "signature": "7101f7e573e0ca58493ea16a914fc77d25f91d400f54b6771952d0cf87db83de", - "target": "sdk/tables/data-tables/test/unit/sharedKeyCredential.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "97ee5388e8602f3078f4ef2a3f6816c4bcb5ee20457e49d04ded2863addc1fd5": { - "signature": "97ee5388e8602f3078f4ef2a3f6816c4bcb5ee20457e49d04ded2863addc1fd5", - "target": "sdk/attestation/attestation/recordings/browsers/aad_attestation_client/recording_attestsgxaad.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "552b320b74a9e589d2e088a384e31d9e7d4d43a3daf1e6423f84cc3377ab5bc1": { - "signature": "552b320b74a9e589d2e088a384e31d9e7d4d43a3daf1e6423f84cc3377ab5bc1", - "target": "sdk/attestation/attestation/recordings/browsers/aad_attestation_client/recording_attestsgxisolated.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5f393e19e57099a0fec989ad75e2b92e77651d52e4a6cc5acfce8642177a79fe": { - "signature": "5f393e19e57099a0fec989ad75e2b92e77651d52e4a6cc5acfce8642177a79fe", - "target": "sdk/attestation/attestation/recordings/browsers/aad_attestation_client/recording_attestsgxshared.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "82d661c0b9b09ae523e4f7dfa45c02100eba2426ce49c821ae931ed8acda19e9": { - "signature": "82d661c0b9b09ae523e4f7dfa45c02100eba2426ce49c821ae931ed8acda19e9", - "target": "sdk/attestation/attestation/recordings/browsers/policygetsettests_/recording_getpolicyaad.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "26b4a1d6e869a290d8b8abbfa3174bc7bf646ecc6a175c661520679deb367cc3": { - "signature": "26b4a1d6e869a290d8b8abbfa3174bc7bf646ecc6a175c661520679deb367cc3", - "target": "sdk/attestation/attestation/recordings/browsers/policygetsettests_/recording_getpolicyisolated.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "320d1d7ed51389a70c136aee99152f8103de8c5d2196bf71003be821b31bd8cb": { - "signature": "320d1d7ed51389a70c136aee99152f8103de8c5d2196bf71003be821b31bd8cb", - "target": "sdk/attestation/attestation/recordings/browsers/policygetsettests_/recording_getpolicyshared.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "228a20c686ba044f31386e0e3c8300682c5764d9bafd73e8ede1a1ea19976778": { - "signature": "228a20c686ba044f31386e0e3c8300682c5764d9bafd73e8ede1a1ea19976778", - "target": "sdk/attestation/attestation/recordings/browsers/policymanagementtests_/recording_getpolicyisolated.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "6062357051dedd3a41369188d8978d751606a49ab13c7c52dc8e69ad250082eb": { - "signature": "6062357051dedd3a41369188d8978d751606a49ab13c7c52dc8e69ad250082eb", - "target": "sdk/attestation/attestation/recordings/browsers/policymanagementtests_/recording_getpolicymanagementcertificatesaad.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f86abf97d175a932221f2509588052f468f5d6d827ff562b9b0dd1c3802e134a": { - "signature": "f86abf97d175a932221f2509588052f468f5d6d827ff562b9b0dd1c3802e134a", - "target": "sdk/attestation/attestation/recordings/browsers/policymanagementtests_/recording_getpolicyshared.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "df9ac02b72881846e97b0436d6420d8707d537afb86f884e174d1f910fec57f1": { - "signature": "df9ac02b72881846e97b0436d6420d8707d537afb86f884e174d1f910fec57f1", - "target": "sdk/attestation/attestation/recordings/browsers/tokencerttests/recording_getcertificatesaad.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "58eccad1d5d736c33355089e2158a92c68d3365cd2e92eaf375ceea0c936e082": { - "signature": "58eccad1d5d736c33355089e2158a92c68d3365cd2e92eaf375ceea0c936e082", - "target": "sdk/attestation/attestation/recordings/browsers/tokencerttests/recording_getcertificatesisolated.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9ab9e40f78e711b1502f25f4fee46a67337769ba7fe1a9d994926359fff10e6b": { - "signature": "9ab9e40f78e711b1502f25f4fee46a67337769ba7fe1a9d994926359fff10e6b", - "target": "sdk/attestation/attestation/recordings/browsers/tokencerttests/recording_getcertificatesshared.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0d0bb442c0903991eb0fd51a7858967fc2b3fe1bad45edff9b08f0302db050a7": { - "signature": "0d0bb442c0903991eb0fd51a7858967fc2b3fe1bad45edff9b08f0302db050a7", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_get_component_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7431dc93831528003c965efe0733e26d67c42b89aad28cdc61ec0a72dcdba457": { - "signature": "7431dc93831528003c965efe0733e26d67c42b89aad28cdc61ec0a72dcdba457", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_get_component_simple.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5c9e6bb84143281c7a1ff16ccdd463cfcecb37770c0f5ba5032ee341147c9a76": { - "signature": "5c9e6bb84143281c7a1ff16ccdd463cfcecb37770c0f5ba5032ee341147c9a76", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_update_component_add.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d4e91ef118ac6ae0698d0f7c0196b50666a098471a8f041887c94edcb67409c3": { - "signature": "d4e91ef118ac6ae0698d0f7c0196b50666a098471a8f041887c94edcb67409c3", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_update_component_conditionally_if_present.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ba5f4e0677b74efe918b8b8731ec58b0edcfc51ea929b01956946b75f5f35065": { - "signature": "ba5f4e0677b74efe918b8b8731ec58b0edcfc51ea929b01956946b75f5f35065", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_update_component_invalid_conditions.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "25ba6225ff9ac4a0a277bffd37a7a77685415186712b484022363733a215dd96": { - "signature": "25ba6225ff9ac4a0a277bffd37a7a77685415186712b484022363733a215dd96", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_update_component_invalid_patch.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0b7ecf44158390fce918994ac12d0b78d412e5179ed5d2e51f9db754e07ac918": { - "signature": "0b7ecf44158390fce918994ac12d0b78d412e5179ed5d2e51f9db754e07ac918", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_update_component_multiple.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "79248ebe3bc64b75b98b86a71d4c20dad5f5d4094dbad5e8970437f07fb767a0": { - "signature": "79248ebe3bc64b75b98b86a71d4c20dad5f5d4094dbad5e8970437f07fb767a0", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_update_component_not_exisiting.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3e6b229af0dea055716395227d4a179f0d2d60325c813d403b765d8b4e3d6110": { - "signature": "3e6b229af0dea055716395227d4a179f0d2d60325c813d403b765d8b4e3d6110", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_update_component_remove.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "67da1832cb16eb077b3b1a0f63b04fbea5c6382f1e68e70b37009fe97b6e3682": { - "signature": "67da1832cb16eb077b3b1a0f63b04fbea5c6382f1e68e70b37009fe97b6e3682", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_components__read_update_and_delete_operations/recording_update_component_replace.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "71c9cc1f8ad53d2b6d281098fe6550fb352057dcac9d693e74315ea1448bb62f": { - "signature": "71c9cc1f8ad53d2b6d281098fe6550fb352057dcac9d693e74315ea1448bb62f", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_eventroutes__create_read_list_and_delete_operations/recording_create_event_route_no_endpoint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "bfe86f5eecc64d151d67b8c683ad9b4b06c6d548d082309df53f9912a26f2dd9": { - "signature": "bfe86f5eecc64d151d67b8c683ad9b4b06c6d548d082309df53f9912a26f2dd9", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_eventroutes__create_read_list_and_delete_operations/recording_delete_event_route_not_exisiting.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ee98a938723aa66723bc244264a5f40532916cf9c45939823a0249277be7f22b": { - "signature": "ee98a938723aa66723bc244264a5f40532916cf9c45939823a0249277be7f22b", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_eventroutes__create_read_list_and_delete_operations/recording_get_event_route_not_exisiting.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ccffb42a07c320d9d6f93d0237ba0b7b6a80b9c8ae98782adf1368f669622756": { - "signature": "ccffb42a07c320d9d6f93d0237ba0b7b6a80b9c8ae98782adf1368f669622756", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_eventroutes__create_read_list_and_delete_operations/recording_list_event_routes.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "72641ae160068f8dbd34c9fca8901fde2c90595f441a35553807815e2b9c9fa9": { - "signature": "72641ae160068f8dbd34c9fca8901fde2c90595f441a35553807815e2b9c9fa9", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_create_models.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "728040f4af58e162935dea7ffdc78058f211ea3835b8884cb183da46e6d2c99d": { - "signature": "728040f4af58e162935dea7ffdc78058f211ea3835b8884cb183da46e6d2c99d", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_create_models_empty.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "877614d53248f0beacb340e260b014415df795bf9122ef40884a413205370b2a": { - "signature": "877614d53248f0beacb340e260b014415df795bf9122ef40884a413205370b2a", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_create_model_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0e3f50d548a0aba568da768774a3c68f6a349c5938706c596506d9d921ae4317": { - "signature": "0e3f50d548a0aba568da768774a3c68f6a349c5938706c596506d9d921ae4317", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_create_model_invalid_model.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "44da994e4a6d7ff1b74194720339f2ada2f4b7041217eb50ce2b68cb357974b6": { - "signature": "44da994e4a6d7ff1b74194720339f2ada2f4b7041217eb50ce2b68cb357974b6", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_create_model_invalid_reference.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "6db9eaa7ae23e742abb6cb47971342d043fefcc8b12ea7122945f0f2890b7ee7": { - "signature": "6db9eaa7ae23e742abb6cb47971342d043fefcc8b12ea7122945f0f2890b7ee7", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_decommission_model.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "efc1fb7c95f4dca4f69cb374c4c3b2895594c6e6643f6f3747121de0c8b838c7": { - "signature": "efc1fb7c95f4dca4f69cb374c4c3b2895594c6e6643f6f3747121de0c8b838c7", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_decommission_model_already_decomissioned.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "dc8a8f4271227f60d7248cb2367785fc5ee11cb96a73b1d2be5fb5e1df077bbd": { - "signature": "dc8a8f4271227f60d7248cb2367785fc5ee11cb96a73b1d2be5fb5e1df077bbd", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_decommission_model_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "1efa52dcd667c95c8fa0934217ac703b4e2efd0ae833b5883e645181632e25e7": { - "signature": "1efa52dcd667c95c8fa0934217ac703b4e2efd0ae833b5883e645181632e25e7", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_delete_model.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b0ece32792d6adf6c9e29295629052c915602615870b6aa1f99dc4f062cc5a0a": { - "signature": "b0ece32792d6adf6c9e29295629052c915602615870b6aa1f99dc4f062cc5a0a", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_delete_model_already_deleted.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "2978b581bb08c7d6663245945f195dc1649f9e070027ba37d25e10da06bb8af8": { - "signature": "2978b581bb08c7d6663245945f195dc1649f9e070027ba37d25e10da06bb8af8", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_delete_model_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f3425dc0a0a92cf7b89869e70fc9a90333064585f9b028b828dd34f44fc6bb09": { - "signature": "f3425dc0a0a92cf7b89869e70fc9a90333064585f9b028b828dd34f44fc6bb09", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_delete_model_with_dependencies.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ff67dfa32a120121fd3033474f77124e550e73e398aab7109638863e229d7c31": { - "signature": "ff67dfa32a120121fd3033474f77124e550e73e398aab7109638863e229d7c31", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_get_model.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "127231cb09f0e56bd6e04af6bd9d13eb00091be86bd6f3fbaa7aec3a1ffc6f39": { - "signature": "127231cb09f0e56bd6e04af6bd9d13eb00091be86bd6f3fbaa7aec3a1ffc6f39", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_get_model_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "591701959069ff6ae17420ef2476bbd8c160c692411222bbda0843f3bec32097": { - "signature": "591701959069ff6ae17420ef2476bbd8c160c692411222bbda0843f3bec32097", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_get_model_with_definition.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "84d76ae0b621385088fc258f7fabd604f6badd03a0b556a5589abf8fe62b0d72": { - "signature": "84d76ae0b621385088fc258f7fabd604f6badd03a0b556a5589abf8fe62b0d72", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_list_models.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7d9d808c30550c5526f7f5954b7775523102cfefa8c3d56efe9cae500823710b": { - "signature": "7d9d808c30550c5526f7f5954b7775523102cfefa8c3d56efe9cae500823710b", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_models__create_read_list_delete_operations/recording_list_models_with_definition.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b1e06fa9d8451a64459461b46402779392b8e03a0c4980530fd216bceba71841": { - "signature": "b1e06fa9d8451a64459461b46402779392b8e03a0c4980530fd216bceba71841", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_create_basic_relationship.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "558c0026fb0ee3ecef32f3fe03c4cebd99ec719a1d89b3684ed23d67763a0049": { - "signature": "558c0026fb0ee3ecef32f3fe03c4cebd99ec719a1d89b3684ed23d67763a0049", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_create_invalid_relationship__invalid_twin_id.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "2b8917ab1be1a4d5b3022ada0fc6a98c346a5905475d2973f31c3e170d6fca56": { - "signature": "2b8917ab1be1a4d5b3022ada0fc6a98c346a5905475d2973f31c3e170d6fca56", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_create_invalid_relationship__invalid_twin_target_id.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "22cfdeccd517b51fd4b15660ad28064e7a4be1d76cc84654d880075b038c9637": { - "signature": "22cfdeccd517b51fd4b15660ad28064e7a4be1d76cc84654d880075b038c9637", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_create_relationship_conditionally.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a24832d8082511b078a082a17c6bfac6d8d202cfd860040a84b21b51e2e4c107": { - "signature": "a24832d8082511b078a082a17c6bfac6d8d202cfd860040a84b21b51e2e4c107", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_delete_relationship.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "421abc288c4a17cf86e45ea45dd63457b83f9622aa5c348eaf589e13002f1e74": { - "signature": "421abc288c4a17cf86e45ea45dd63457b83f9622aa5c348eaf589e13002f1e74", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_delete_relationship_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8d76c648dfaf4d0a9dec9fe4427e60541079e00a801d45aeecbf3001b6c49c02": { - "signature": "8d76c648dfaf4d0a9dec9fe4427e60541079e00a801d45aeecbf3001b6c49c02", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_get_relationship.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "49cfa5c58d74fcc6af758623fe89a240a74ab9b6868e8ecbdb1d9c10355e37f7": { - "signature": "49cfa5c58d74fcc6af758623fe89a240a74ab9b6868e8ecbdb1d9c10355e37f7", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_get_relationship_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ddcefd839c49a4f896b573a1349762530faf399f8d4a9109070afd55a3a4e16e": { - "signature": "ddcefd839c49a4f896b573a1349762530faf399f8d4a9109070afd55a3a4e16e", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_list_incoming_relationships.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9f7d12d2af736b886f94971f588cd2abc8b52a27f52a2bfabdc40e3959184c8b": { - "signature": "9f7d12d2af736b886f94971f588cd2abc8b52a27f52a2bfabdc40e3959184c8b", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_list_relationships.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "73671f50bd9ff76f24ce6a2e5ffb2806bd7d53b29d193f8138086ec7b2ce5797": { - "signature": "73671f50bd9ff76f24ce6a2e5ffb2806bd7d53b29d193f8138086ec7b2ce5797", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_update_relationship_add.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "6090ea3b9eaba286076924aeb3f0363a8732529d6285223565c023737aa20e0d": { - "signature": "6090ea3b9eaba286076924aeb3f0363a8732529d6285223565c023737aa20e0d", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_update_relationship_conditionally.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "87612d4a6837b9e7dd22778047232c6fa3b81553ce358792a1e4264739c0eb13": { - "signature": "87612d4a6837b9e7dd22778047232c6fa3b81553ce358792a1e4264739c0eb13", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_update_relationship_invalid_patch.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0b80637923b927500d3a5b507c986dd5c3ff94d0bacf2cbc8c438e1166db7aa1": { - "signature": "0b80637923b927500d3a5b507c986dd5c3ff94d0bacf2cbc8c438e1166db7aa1", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_update_relationship_multiple.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ff31f349cb010610a4a9ce409f521d3440505b3a9adf4a39d4a8df8e0adc7311": { - "signature": "ff31f349cb010610a4a9ce409f521d3440505b3a9adf4a39d4a8df8e0adc7311", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_update_relationship_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "56c278edc0a099a055d75a355ba5a0ac258fded8a396484530886110d0b3551d": { - "signature": "56c278edc0a099a055d75a355ba5a0ac258fded8a396484530886110d0b3551d", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_update_relationship_remove.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3f4177a7066ca06764ac846cb366c74429eda5bae3635446caa04c14d9f1948d": { - "signature": "3f4177a7066ca06764ac846cb366c74429eda5bae3635446caa04c14d9f1948d", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_update_relationship_replace.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9dbc94a428cfa4265aec515dd30c9354230d8a6651f522c70372eb6de203b90f": { - "signature": "9dbc94a428cfa4265aec515dd30c9354230d8a6651f522c70372eb6de203b90f", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins_relationships__create_read_list_delete_operations/recording_upsert_relationship.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "743eafbb4acc40ae46c6cae8a1a860630fd5b919d0102706fa7c0aa81320e3f1": { - "signature": "743eafbb4acc40ae46c6cae8a1a860630fd5b919d0102706fa7c0aa81320e3f1", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_create_a_simple_digital_twin.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "44f72e1f759b4d72f7177c344598bdec487b17d73dccce3bc24d26884732b97c": { - "signature": "44f72e1f759b4d72f7177c344598bdec487b17d73dccce3bc24d26884732b97c", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_create_digitaltwin_conditionally_if_missing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "2d988e2e4c26cac71987a0fda4f10269aa4edd32985a580029c59488488c18cc": { - "signature": "2d988e2e4c26cac71987a0fda4f10269aa4edd32985a580029c59488488c18cc", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_create_digitaltwin_without_model.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4e122648dbda8d3e700025262116b1f6ff413fcc78c34dc88da2048b3ee81ce6": { - "signature": "4e122648dbda8d3e700025262116b1f6ff413fcc78c34dc88da2048b3ee81ce6", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_create_invalid_digitaltwin.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d9324ba91690c9714c3f40a998a9143cf6f2ae83494d1574733b5aea81dbef47": { - "signature": "d9324ba91690c9714c3f40a998a9143cf6f2ae83494d1574733b5aea81dbef47", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_delete_digitaltwin.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "23476683683c3803413d2aab3b3be739827dfc6ebf1855903e4d06cb2ba5172c": { - "signature": "23476683683c3803413d2aab3b3be739827dfc6ebf1855903e4d06cb2ba5172c", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_delete_digitaltwin_if_present.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "419f84443705cd2e7ff7f0019eaf43c97c46e7639f37da643c374712c9a9180b": { - "signature": "419f84443705cd2e7ff7f0019eaf43c97c46e7639f37da643c374712c9a9180b", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_delete_digitaltwin_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "69b18de5c6f85ece98dc4328e72ecaa82b2156e14d5c49001ee25ab549430473": { - "signature": "69b18de5c6f85ece98dc4328e72ecaa82b2156e14d5c49001ee25ab549430473", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_delete_digital_twin_invalid_conditions.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "35fb2e97b5fb7308f67da347bde7ba896030c4f887d10930307b28adf4626264": { - "signature": "35fb2e97b5fb7308f67da347bde7ba896030c4f887d10930307b28adf4626264", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_get_digitaltwin.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7ce34d69e284ab39a809cf652d42ae1dcc98f8ab54fe8c18c310a550a24cbab8": { - "signature": "7ce34d69e284ab39a809cf652d42ae1dcc98f8ab54fe8c18c310a550a24cbab8", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_get_digitaltwin_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "422c8de703e5efc2bf8aaf5af6664f0ab14416c2c823c371414dc6bbb48352cf": { - "signature": "422c8de703e5efc2bf8aaf5af6664f0ab14416c2c823c371414dc6bbb48352cf", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_query_digital_twin.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "32ee1fda45b14a6e1da8668d36c3d5d8e804dedf58c5f165b7694884c978c896": { - "signature": "32ee1fda45b14a6e1da8668d36c3d5d8e804dedf58c5f165b7694884c978c896", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_query_digital_twin_invalid_expression.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b89ea384cdf4a63d1adc34fd6a4dba709c5dc349be2fe66106f50ce74b58382e": { - "signature": "b89ea384cdf4a63d1adc34fd6a4dba709c5dc349be2fe66106f50ce74b58382e", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_a_simple_digital_twin.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c656398b3bc709e7a2fa4a1fd36f6c93e88f664aa532e66ae8a052cc0e482719": { - "signature": "c656398b3bc709e7a2fa4a1fd36f6c93e88f664aa532e66ae8a052cc0e482719", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_digital_twin_add.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "bea19fba890a8760b2ce06f74bf9bc9a202155f691988c862a5dfe95ec0c6423": { - "signature": "bea19fba890a8760b2ce06f74bf9bc9a202155f691988c862a5dfe95ec0c6423", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_digital_twin_confditionally_if_present.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5f8ff7abfd2d076671c2d511d28db30c8754df5c3d069ac166dcc76a6edbf74f": { - "signature": "5f8ff7abfd2d076671c2d511d28db30c8754df5c3d069ac166dcc76a6edbf74f", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_digital_twin_invalid_conditions.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "943373bd20534455f41d888fbe63a3496fc7fb0fa6afd14649e60673108d7297": { - "signature": "943373bd20534455f41d888fbe63a3496fc7fb0fa6afd14649e60673108d7297", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_digital_twin_invalid_patch.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f2ec350eea5cffdccd9610f5ad7015eb464e435bc27c16cab853297024fcf35d": { - "signature": "f2ec350eea5cffdccd9610f5ad7015eb464e435bc27c16cab853297024fcf35d", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_digital_twin_multiple.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "14795ead53aff753966e7050194bfe57ca3159b76c8f806f000801c884af0a0b": { - "signature": "14795ead53aff753966e7050194bfe57ca3159b76c8f806f000801c884af0a0b", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_digital_twin_not_existing.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3f2162c5efac9e28d510fd85390e7aa87c5ddb91a7ca68538837867cf369a39c": { - "signature": "3f2162c5efac9e28d510fd85390e7aa87c5ddb91a7ca68538837867cf369a39c", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_digital_twin_remove.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d3ea2b9961a0064d3575cdbb62c85601d6f4946444119ca41ecf058b72bcbd7b": { - "signature": "d3ea2b9961a0064d3575cdbb62c85601d6f4946444119ca41ecf058b72bcbd7b", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_update_digital_twin_replace.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "48982ec86d1c687d44af88a67af33b4ebb63d2f37adca392d881e7fd6d9b7f0a": { - "signature": "48982ec86d1c687d44af88a67af33b4ebb63d2f37adca392d881e7fd6d9b7f0a", - "target": "sdk/digitaltwins/digital-twins-core/recordings/browsers/digitaltwins__create_read_update_delete_and_telemetry_operations/recording_upsert_digital_twin_invalid_conditions.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f9db007f537567e19fd05fbcfbd97301c25b96d4b978750c00d998a5b4d3b220": { - "signature": "f9db007f537567e19fd05fbcfbd97301c25b96d4b978750c00d998a5b4d3b220", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient/recording_compose_model.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7c598386407617ad2d43a7d985a4774af167037987adbb6b2fe81a77e148a941": { - "signature": "7c598386407617ad2d43a7d985a4774af167037987adbb6b2fe81a77e148a941", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient/recording_copy_model.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "27288bd3c1b134830b6852df78b1d9a2772a75f46cead5606c40e7e6e4077b8a": { - "signature": "27288bd3c1b134830b6852df78b1d9a2772a75f46cead5606c40e7e6e4077b8a", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_account_properties/recording_has_trained_models_and_limits.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0c1a6bd08d8be4b94fc0c7d320d3f17e3a1ade3b42cf4cb9eadeaa8c70644e4e": { - "signature": "0c1a6bd08d8be4b94fc0c7d320d3f17e3a1ade3b42cf4cb9eadeaa8c70644e4e", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_information/recording_delete_models_from_the_account.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ceac5e02053fb64d35f966c9db747b6b4fa5794dc61a0ce949884e0a65a27443": { - "signature": "ceac5e02053fb64d35f966c9db747b6b4fa5794dc61a0ce949884e0a65a27443", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_information/recording_iterate_models_in_account.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "6c53dad6070cd6fd7f864c8c1ea8187078ade22ad1134ec0be02eb9b00229ba2": { - "signature": "6c53dad6070cd6fd7f864c8c1ea8187078ade22ad1134ec0be02eb9b00229ba2", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_information/recording_oldstyle_iteration_with_next_model_info.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c0969169b0e39f88bf1253f37410009b332be7506be18f5b7361ad67c4ccf777": { - "signature": "c0969169b0e39f88bf1253f37410009b332be7506be18f5b7361ad67c4ccf777", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_labels_no_subfolders_and_no_prefix/recording_getmodel_verification.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a42cd8224b1d65c203afacab0e0329376a7b5d6c06e68279f040639e02a31c32": { - "signature": "a42cd8224b1d65c203afacab0e0329376a7b5d6c06e68279f040639e02a31c32", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_labels_no_subfolders_and_no_prefix/recording_validate_model_training_response.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "6e2f6dd5c7863709f66b9ee802001c9da297006a8153a036e95821b51cf95e06": { - "signature": "6e2f6dd5c7863709f66b9ee802001c9da297006a8153a036e95821b51cf95e06", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_labels_no_subfolders_and_no_prefix_recognition/recording_form_from_url.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "77aa79109d849e6b2b308481d7be111b0142c135f35345dade16fa66c7eb751e": { - "signature": "77aa79109d849e6b2b308481d7be111b0142c135f35345dade16fa66c7eb751e", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_labels_no_subfolders_and_prefix/recording_getmodel_verification.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "1363f009295a884aaba62248ef0c70c04a9a960d7758d703cfce1def296160e8": { - "signature": "1363f009295a884aaba62248ef0c70c04a9a960d7758d703cfce1def296160e8", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_labels_no_subfolders_and_prefix/recording_validate_model_training_response.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "29192b3271f319b33167444e5bcbab0040bb4eeefd5e597c8c2b2955b4bb4ae8": { - "signature": "29192b3271f319b33167444e5bcbab0040bb4eeefd5e597c8c2b2955b4bb4ae8", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_labels_no_subfolders_and_prefix_recognition/recording_form_from_url.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e869a7559b76e178f91b05f2a50c3401fed1e0224363389cbbe29f3cd0e19695": { - "signature": "e869a7559b76e178f91b05f2a50c3401fed1e0224363389cbbe29f3cd0e19695", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_no_subfolders_and_no_prefix/recording_getmodel_verification.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "850202bc57f740b6a0837898e2aeca8e4bc7f0cf960f54c7232834395f887dae": { - "signature": "850202bc57f740b6a0837898e2aeca8e4bc7f0cf960f54c7232834395f887dae", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_no_subfolders_and_no_prefix/recording_validate_model_training_response.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3dc0ae626c87bf6278d60621807adad706a9e09f816c861d9b7c270a75cba239": { - "signature": "3dc0ae626c87bf6278d60621807adad706a9e09f816c861d9b7c270a75cba239", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_no_subfolders_and_no_prefix_recognition/recording_form_from_url.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "43768f8d8ff197377f4044e256d073b90ddfe4967285a5be3b6dc08494a9d6ea": { - "signature": "43768f8d8ff197377f4044e256d073b90ddfe4967285a5be3b6dc08494a9d6ea", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_no_subfolders_and_prefix/recording_getmodel_verification.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5d76c94b8d4fc7f8639fda6df9bbe3c681c7a6db4c1f90f27043a95e498c48c7": { - "signature": "5d76c94b8d4fc7f8639fda6df9bbe3c681c7a6db4c1f90f27043a95e498c48c7", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_no_subfolders_and_prefix/recording_validate_model_training_response.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0a6491b3b27db70a477dc6c7fa140766f55b74091a212b62df26278707055677": { - "signature": "0a6491b3b27db70a477dc6c7fa140766f55b74091a212b62df26278707055677", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_no_subfolders_and_prefix_recognition/recording_form_from_url.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "cf1ada67f73ed7e43180f49fb27cd188a3307356efb81cd32dcd25da7f28ee2e": { - "signature": "cf1ada67f73ed7e43180f49fb27cd188a3307356efb81cd32dcd25da7f28ee2e", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_subfolders_and_no_prefix/recording_getmodel_verification.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0b12b03c230e2ad54e50b688e81942a2732f8d01784abc271a675e5da709fd92": { - "signature": "0b12b03c230e2ad54e50b688e81942a2732f8d01784abc271a675e5da709fd92", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_subfolders_and_no_prefix/recording_validate_model_training_response.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3833f8e575de24cf02d0423cd0eaed113e7953716f8a28251ea7ce9a3fa505f0": { - "signature": "3833f8e575de24cf02d0423cd0eaed113e7953716f8a28251ea7ce9a3fa505f0", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_subfolders_and_no_prefix_recognition/recording_form_from_url.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9567e4e71ae7b00dacfb50f70e508951d043068a9d0271c8c4c5b50799b98c97": { - "signature": "9567e4e71ae7b00dacfb50f70e508951d043068a9d0271c8c4c5b50799b98c97", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_subfolders_and_prefix/recording_getmodel_verification.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "da52cc7f38f95a2ddeffaaa0026b8ccf3299d9bf55782b522420f89673d726c9": { - "signature": "da52cc7f38f95a2ddeffaaa0026b8ccf3299d9bf55782b522420f89673d726c9", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_subfolders_and_prefix/recording_validate_model_training_response.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7b7067e4f3e4fbbaa179273c6a945d82fdc382cb167ea1626d28534c0db6e832": { - "signature": "7b7067e4f3e4fbbaa179273c6a945d82fdc382cb167ea1626d28534c0db6e832", - "target": "sdk/formrecognizer/ai-form-recognizer/recordings/browsers/aad_formtrainingclient_model_training_model_with_no_labels_subfolders_and_prefix_recognition/recording_form_from_url.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "10b54adcc178fea9f4ab9e089062fc563f82c4253c52af009246d0d74c9c52da": { - "signature": "10b54adcc178fea9f4ab9e089062fc563f82c4253c52af009246d0d74c9c52da", - "target": "sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "033f9a11b3ee8476b658ce16b24979931f13ace4eac15d0e38efe5becee37d9b": { - "signature": "033f9a11b3ee8476b658ce16b24979931f13ace4eac15d0e38efe5becee37d9b", - "target": "sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5ca6b467579a98f7d51bba5d80516aeaebd10cf3216b2a2b1e20a41462fa3c39": { - "signature": "5ca6b467579a98f7d51bba5d80516aeaebd10cf3216b2a2b1e20a41462fa3c39", - "target": "sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7e098d60dacd671173753f7556b79b56a03cdbd2de45258efb0d46e76fd32351": { - "signature": "7e098d60dacd671173753f7556b79b56a03cdbd2de45258efb0d46e76fd32351", - "target": "sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4cec89bdca10b846f292da56ca85f7e1c05d7b156935c4cc74c0a8b6f0f5e488": { - "signature": "4cec89bdca10b846f292da56ca85f7e1c05d7b156935c4cc74c0a8b6f0f5e488", - "target": "sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_get_a_certificates_secret_in_pkcs_12_format.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "2d2ec42290d826561c136cfb479ec132ec92bff2ccdd4cced9aa03c42905a7b2": { - "signature": "2d2ec42290d826561c136cfb479ec132ec92bff2ccdd4cced9aa03c42905a7b2", - "target": "sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "6a52887f89a6b5dc487f86ec4948687cda0b8e84cc25d44495ac6fcb91c9fb8f": { - "signature": "6a52887f89a6b5dc487f86ec4948687cda0b8e84cc25d44495ac6fcb91c9fb8f", - "target": "sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9fbcfe27198d38724d780e107466b18b2987215bfe3aba09ea20ce60dead29bf": { - "signature": "9fbcfe27198d38724d780e107466b18b2987215bfe3aba09ea20ce60dead29bf", - "target": "sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5a6bf6012c8e0a559bab942490c22c6ec7052b91f36f540fe5df0ebe352fdb7d": { - "signature": "5a6bf6012c8e0a559bab942490c22c6ec7052b91f36f540fe5df0ebe352fdb7d", - "target": "sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0020", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fd7d7288fefe81f9c82cb690212365bd57ca049db4156a081aac1f1a4527e780": { - "signature": "fd7d7288fefe81f9c82cb690212365bd57ca049db4156a081aac1f1a4527e780", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_an_azure_application_insights_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "04ad399f919c88cdb733ce4028dc07e61da67388f7e06dedc8ad2e2d39c578b3": { - "signature": "04ad399f919c88cdb733ce4028dc07e61da67388f7e06dedc8ad2e2d39c578b3", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_an_azure_blob_datafeed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "30b372a8d4971c8d969789766323a678aff7600b21929eac9881ce69c12cf788": { - "signature": "30b372a8d4971c8d969789766323a678aff7600b21929eac9881ce69c12cf788", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_an_azure_cosmos_db_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "57562b2ccce459bb12ecac6f0d8306f91019bd5244c381d614c15016a19adbbe": { - "signature": "57562b2ccce459bb12ecac6f0d8306f91019bd5244c381d614c15016a19adbbe", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_an_azure_data_explorer_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "15932296c4c7f32410d8807d66773812a24646d9ba114ca9a1e4ac6da277f70a": { - "signature": "15932296c4c7f32410d8807d66773812a24646d9ba114ca9a1e4ac6da277f70a", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_an_azure_sql_server_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4b78fc98cb40de141060af96ea30dbfa63bb575b307c50f02bafffa05ea2d49a": { - "signature": "4b78fc98cb40de141060af96ea30dbfa63bb575b307c50f02bafffa05ea2d49a", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_an_azure_table_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e3aae2da0cc4ea8732482130f22afac2a1a510b0f0f4d56cc2b430a739961157": { - "signature": "e3aae2da0cc4ea8732482130f22afac2a1a510b0f0f4d56cc2b430a739961157", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_http_request_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "351ddc67f7327b4b78165c8c2d2a1f4936a5b5add47355273a87ad1ac2790a50": { - "signature": "351ddc67f7327b4b78165c8c2d2a1f4936a5b5add47355273a87ad1ac2790a50", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5e95a267777f546535cf68a778052b871d6d6fc68d4350dd717848e90241b415": { - "signature": "5e95a267777f546535cf68a778052b871d6d6fc68d4350dd717848e90241b415", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3e130b6a6556cff84329939707a670b9f74f3d329c0d85043b7a1eaa98691950": { - "signature": "3e130b6a6556cff84329939707a670b9f74f3d329c0d85043b7a1eaa98691950", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b80b1ecbc428d9c1047b08c17aa75d37320024e5505c100e4b4d60dc24e1766e": { - "signature": "b80b1ecbc428d9c1047b08c17aa75d37320024e5505c100e4b4d60dc24e1766e", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_mongodb_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8d312fdf82456212ea858df6b5e25b3984ac5b6fbb5fe974c3ef958277c6c334": { - "signature": "8d312fdf82456212ea858df6b5e25b3984ac5b6fbb5fe974c3ef958277c6c334", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_mysql_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "666c07d63d45c6b3a4f792d872e81498399a937f72afd7dd688e4a931efebb2a": { - "signature": "666c07d63d45c6b3a4f792d872e81498399a937f72afd7dd688e4a931efebb2a", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_postgresql_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "cb0270689c555c222e4fca45d0e1d9ec5eaee8c57d6cd19c971c27af9e526619": { - "signature": "cb0270689c555c222e4fca45d0e1d9ec5eaee8c57d6cd19c971c27af9e526619", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_an_azure_application_insights_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d7864c562ed98be86a3ba7bfc9b762306d236469a8e27bcbbd7f9591ef4d5712": { - "signature": "d7864c562ed98be86a3ba7bfc9b762306d236469a8e27bcbbd7f9591ef4d5712", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_an_azure_blob_datafeed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fd973c9af0ebcbb137d0433b42624ec7f4991c8fcd5e6a5e32481e20535fad2c": { - "signature": "fd973c9af0ebcbb137d0433b42624ec7f4991c8fcd5e6a5e32481e20535fad2c", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_an_azure_cosmos_db.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "0f9d0927e7c9a0807e3f1a7badd51a529d69c44c9cdd3879240a1d87a809f123": { - "signature": "0f9d0927e7c9a0807e3f1a7badd51a529d69c44c9cdd3879240a1d87a809f123", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_an_azure_data_explorer_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d8383691d2a20f0e7ce69f8dd2518032674f220914e5a2e17a378f0d9fe756ea": { - "signature": "d8383691d2a20f0e7ce69f8dd2518032674f220914e5a2e17a378f0d9fe756ea", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_an_azure_sql_server_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "980b0fd32006e17f3f6f100fffa1f3cbf1394cb5ccbdfeeea29a4ab7ca92fd2b": { - "signature": "980b0fd32006e17f3f6f100fffa1f3cbf1394cb5ccbdfeeea29a4ab7ca92fd2b", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_an_azure_table_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5020727d44ae1232f9ecb76683e1054607707cd3232c9d725e657b44b71f74e8": { - "signature": "5020727d44ae1232f9ecb76683e1054607707cd3232c9d725e657b44b71f74e8", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_http_request_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e14eabf92a4366eee975be008357997d4c7e7b611ca16bfae17d6f06e111a4db": { - "signature": "e14eabf92a4366eee975be008357997d4c7e7b611ca16bfae17d6f06e111a4db", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_influxdb_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ed952ce0834c8a797805009b239be4cf95eb3578379664caaf5c1b5ad7b52cd2": { - "signature": "ed952ce0834c8a797805009b239be4cf95eb3578379664caaf5c1b5ad7b52cd2", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_mongodb_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "033f05683abe32a7824951c145d451fa969058d91ad95f0ad56a0d6d08127cf8": { - "signature": "033f05683abe32a7824951c145d451fa969058d91ad95f0ad56a0d6d08127cf8", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_mysql_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7ab49a0edf8b842eff3e17b2997a801f58d115df7e7ee125140cefa516dbbe0e": { - "signature": "7ab49a0edf8b842eff3e17b2997a801f58d115df7e7ee125140cefa516dbbe0e", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_deletes_postgresql_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8ff566ed95d31036827a3660eab2c1995b081d8c929e366f8e70d22f78479bb4": { - "signature": "8ff566ed95d31036827a3660eab2c1995b081d8c929e366f8e70d22f78479bb4", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_lists_datafeed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9beed84315fa5b44664998eda201ec6217e8c6ef2d42afaa243708a7a762b65e": { - "signature": "9beed84315fa5b44664998eda201ec6217e8c6ef2d42afaa243708a7a762b65e", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_lists_datafeed_by_pages.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "207ba6ae71cfef7b5ec29825a8f3eaef24f167fc955920438e0e07255e3cde0b": { - "signature": "207ba6ae71cfef7b5ec29825a8f3eaef24f167fc955920438e0e07255e3cde0b", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_retrieves_an_azure_blob_datafeed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "560cd12fd3555ea9f60592b443d85e04d9bf37fa304981a31f7c9a0e93704710": { - "signature": "560cd12fd3555ea9f60592b443d85e04d9bf37fa304981a31f7c9a0e93704710", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_updates_an_azure_blob_datafeed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "aee0a8af1eaabca2aa4d205eee67a7b512590be180091db34e12a4699e5b8c23": { - "signature": "aee0a8af1eaabca2aa4d205eee67a7b512590be180091db34e12a4699e5b8c23", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_updates_data_feed_to_have_a_different_data_source_type.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8441d4567d2fc1ca918f02f7c59df6fb13593a93d2875840fc9f91aa63d760b8": { - "signature": "8441d4567d2fc1ca918f02f7c59df6fb13593a93d2875840fc9f91aa63d760b8", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_creates_an_alert_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5c4fe315520f73172d1f97e73cbecbf2dc734c73298abf5128898cf27bd3f46a": { - "signature": "5c4fe315520f73172d1f97e73cbecbf2dc734c73298abf5128898cf27bd3f46a", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_creates_a_detection_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "25a4d32c9fd068bc136b4d587517d55cb615eef5896a2741644e68def68f7b99": { - "signature": "25a4d32c9fd068bc136b4d587517d55cb615eef5896a2741644e68def68f7b99", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_deletes_an_alert_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "77662f2c378f76ad1953b7aab93e80523a7bd2289f2f43f87023d5534036488c": { - "signature": "77662f2c378f76ad1953b7aab93e80523a7bd2289f2f43f87023d5534036488c", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_deletes_a_detection_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "62ebe5720fb1f50ced9b036e4dcf8b7a2efbcb1eb95dd62ad4a16778b4a4cd90": { - "signature": "62ebe5720fb1f50ced9b036e4dcf8b7a2efbcb1eb95dd62ad4a16778b4a4cd90", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_lists_alert_configurations_one_by_one_and_by_pages.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5517fe8ac9a00deb1c413e3e343f6fa0fadf75506ee2302d8c03ea3337d37e49": { - "signature": "5517fe8ac9a00deb1c413e3e343f6fa0fadf75506ee2302d8c03ea3337d37e49", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_lists_detection_configurations.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ec015192d4c9663251091810040031ed0bb3542ecd78cca56a86b669ddf1b433": { - "signature": "ec015192d4c9663251091810040031ed0bb3542ecd78cca56a86b669ddf1b433", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_lists_detection_configurations_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c4d12f07eb74bd1e0fbb63611c58acf472451344205af5a2d9c5ba24a6cebd84": { - "signature": "c4d12f07eb74bd1e0fbb63611c58acf472451344205af5a2d9c5ba24a6cebd84", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_retrieves_an_alert_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7af4bcb5215de6d10062a72ac02b5004f5b798d81da1de32c58f09bfd8662d35": { - "signature": "7af4bcb5215de6d10062a72ac02b5004f5b798d81da1de32c58f09bfd8662d35", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_retrieves_a_detection_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "009f2db0e19042efd7423842bb42bd84ab765820a1d9bed2a4a110e5403fcb04": { - "signature": "009f2db0e19042efd7423842bb42bd84ab765820a1d9bed2a4a110e5403fcb04", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_updates_an_alert_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e55cb60312cdc1e04f8ab32382c095246d0672e0ce693c58caf6986fc28b1601": { - "signature": "e55cb60312cdc1e04f8ab32382c095246d0672e0ce693c58caf6986fc28b1601", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_detection_and_alert_configs_crud_operations/recording_updates_a_detection_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5308974573eb91c04bb35691a910106afb972ed1e74ef11f1996aa05139fcbbf": { - "signature": "5308974573eb91c04bb35691a910106afb972ed1e74ef11f1996aa05139fcbbf", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_ingestion/recording_gets_ingestion_progress.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "cbdcc288827bbc47e73af6736ac6bc1cf175e8268258a5d8e72d51a2dce2b62f": { - "signature": "cbdcc288827bbc47e73af6736ac6bc1cf175e8268258a5d8e72d51a2dce2b62f", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_ingestion/recording_lists_ingestion_status.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "27dd6e716caabf5006878806414db9a1bc1b3ebb990f7a41f2b57a83d33270e6": { - "signature": "27dd6e716caabf5006878806414db9a1bc1b3ebb990f7a41f2b57a83d33270e6", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_ingestion/recording_lists_ingestion_status_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d315759c8ffbb169cbb87b6ca9d95e1408dfa846d4677c714bc0f5a0c620bd71": { - "signature": "d315759c8ffbb169cbb87b6ca9d95e1408dfa846d4677c714bc0f5a0c620bd71", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_ingestion/recording_lists_ingestion_status_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fb5ee18c9f0514ae2c7f0f61d539ee9d20b294e5d53609a59a0fdc95097656fc": { - "signature": "fb5ee18c9f0514ae2c7f0f61d539ee9d20b294e5d53609a59a0fdc95097656fc", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_ingestion/recording_refreshes_ingesetion_status.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5aac59316784789ef640da2e8d77801255ef4c7e264cd405b0416837c4f26b4d": { - "signature": "5aac59316784789ef640da2e8d77801255ef4c7e264cd405b0416837c4f26b4d", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_gets_root_causes_of_an_incident.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4d0f9fa79bc56887841ff55ffdb2e8f1552f2d0c77a377ee6bd2b4b00a73bebb": { - "signature": "4d0f9fa79bc56887841ff55ffdb2e8f1552f2d0c77a377ee6bd2b4b00a73bebb", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listanomaliesfordetectionconfiguration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "04e4f49eac6a29455e6da3bb54e1f7163ca85ac6f1e022c20e1e6a46507654e2": { - "signature": "04e4f49eac6a29455e6da3bb54e1f7163ca85ac6f1e022c20e1e6a46507654e2", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listanomaliesfordetectionconfiguration_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8978048f3b08a91a7903142d299bb203177ebc97ce2557daa3f7f9007dead4b9": { - "signature": "8978048f3b08a91a7903142d299bb203177ebc97ce2557daa3f7f9007dead4b9", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listanomaliesfordetectionconfiguration_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "537e142bfcd2524cf9d2089a3293650db52224aab21e67dc25a59d1cd7c055ad": { - "signature": "537e142bfcd2524cf9d2089a3293650db52224aab21e67dc25a59d1cd7c055ad", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listdimensionvaluesfordetectionconfiguration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5ec793d50c75d2a7deb8bdd2e0e1a14cf5600e095fa4fa02319d0a147d3e987e": { - "signature": "5ec793d50c75d2a7deb8bdd2e0e1a14cf5600e095fa4fa02319d0a147d3e987e", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listdimensionvaluesfordetectionconfiguration_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8470f8f5626170e412e94aab8eb02310c466a28af072672ad1a28eae5f0b332c": { - "signature": "8470f8f5626170e412e94aab8eb02310c466a28af072672ad1a28eae5f0b332c", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listdimensionvaluesfordetectionconfiguration_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "cc9709a23e9fd35e87c1e20b36b197f99268d0c490e7a7cb810059eb5edf547e": { - "signature": "cc9709a23e9fd35e87c1e20b36b197f99268d0c490e7a7cb810059eb5edf547e", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listincidentsfordetectionconfiguration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "db088faf72ee07044134a7571e96f0366ae66e69d45df6f938458e05490a1c82": { - "signature": "db088faf72ee07044134a7571e96f0366ae66e69d45df6f938458e05490a1c82", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listincidentsfordetectionconfiguration_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f568a24d98af4a2ea792123da478662b072a374982272980f519e9fdb5808229": { - "signature": "f568a24d98af4a2ea792123da478662b072a374982272980f519e9fdb5808229", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listincidentsfordetectionconfiguration_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7c676d4829c16f1c6452a1dd7194e6e202ba0403b284d28ef7ee07515c929824": { - "signature": "7c676d4829c16f1c6452a1dd7194e6e202ba0403b284d28ef7ee07515c929824", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listmetricdimensionvalues.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c88f805075387fd8f798821b27187397dcb0789999b6591f66469fcdc1902de9": { - "signature": "c88f805075387fd8f798821b27187397dcb0789999b6591f66469fcdc1902de9", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listmetricdimensionvalues_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "72fbc075da7c4e4c5650c9bd33cab1e503ca24661666ac0740ba8315a5e14b30": { - "signature": "72fbc075da7c4e4c5650c9bd33cab1e503ca24661666ac0740ba8315a5e14b30", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listmetricseriesdefinitions.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "bf13a700547a2e9009e47b13cd93717b60957c8bc3761cf4ef46917b5a74db76": { - "signature": "bf13a700547a2e9009e47b13cd93717b60957c8bc3761cf4ef46917b5a74db76", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listmetricseriesdefinitions_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e9a65acf102a10060eb694ec52d0853eff6f4ae0438f9421d694cffefc50ad1f": { - "signature": "e9a65acf102a10060eb694ec52d0853eff6f4ae0438f9421d694cffefc50ad1f", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_listmetricseriesdefinitions_with_datetime_string.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "eb558e5a29d2eb1d5782f1c8d525d996e2f738b7d05b10da468e731083147ec5": { - "signature": "eb558e5a29d2eb1d5782f1c8d525d996e2f738b7d05b10da468e731083147ec5", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_alerts_for_alert_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "081af64cd0358527bb66f519702b9432eb8aa85ea8fd88d53edccb2e9b11c090": { - "signature": "081af64cd0358527bb66f519702b9432eb8aa85ea8fd88d53edccb2e9b11c090", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_alerts_for_alert_configuration_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f54eead542e1315f11365ba535115334b689a7e3dbf4d1a3961b9a3ca1e6564c": { - "signature": "f54eead542e1315f11365ba535115334b689a7e3dbf4d1a3961b9a3ca1e6564c", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_alerts_for_alert_configuration_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ba7f9fddb69677edf8553a62a06158ca2325e4e004acd52e5243096cb4c5af51": { - "signature": "ba7f9fddb69677edf8553a62a06158ca2325e4e004acd52e5243096cb4c5af51", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_anomalies_for_alert.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "129ab82b3f186972e820937c18536ff1215e06ea5c21701da66433b3a8c3a0f8": { - "signature": "129ab82b3f186972e820937c18536ff1215e06ea5c21701da66433b3a8c3a0f8", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_anomalies_for_alert_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a62a5068c1155c83740b9bd8810303e18a8fe4cc03f6e649be6b4e820bffdfbf": { - "signature": "a62a5068c1155c83740b9bd8810303e18a8fe4cc03f6e649be6b4e820bffdfbf", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_incidents_for_alert.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4360e41600cc664e1cf5fa68b7012cbd14c1dfc4d5caa2c6b6ebb5f40c6deb05": { - "signature": "4360e41600cc664e1cf5fa68b7012cbd14c1dfc4d5caa2c6b6ebb5f40c6deb05", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_incidents_for_alert_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3a55ababb461980f617214b21e3cc0ce01472175c7c1a37cb68bf99dd4f1b975": { - "signature": "3a55ababb461980f617214b21e3cc0ce01472175c7c1a37cb68bf99dd4f1b975", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_series_data_for_a_metric.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c605f5c736b874f36c76955185af508220459b628fb61c7d954b81036e65d502": { - "signature": "c605f5c736b874f36c76955185af508220459b628fb61c7d954b81036e65d502", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_lists_series_data_for_a_metric_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "016555623c0792d97d683c15c32a9157d04a911d0c9193f37862c94ad95dad0c": { - "signature": "016555623c0792d97d683c15c32a9157d04a911d0c9193f37862c94ad95dad0c", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_list_enriched_data_for_a_detection_configuration.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5ee33555c2734c1499ec0a5e85fa8c8b2d651255f538af3a2ef98d7887bca9da": { - "signature": "5ee33555c2734c1499ec0a5e85fa8c8b2d651255f538af3a2ef98d7887bca9da", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_list_enriched_data_for_a_detection_configuration_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4bc3a57a29be1b5890cfa3396321bf124f705f7073e41c3a36125ee1ed407480": { - "signature": "4bc3a57a29be1b5890cfa3396321bf124f705f7073e41c3a36125ee1ed407480", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_list_metric_enrichment_status.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "2dc0196f48229127bb84d0e13bd937ce88df13abf5dbcfee5f5cba5e0e2844ce": { - "signature": "2dc0196f48229127bb84d0e13bd937ce88df13abf5dbcfee5f5cba5e0e2844ce", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_list_metric_enrichment_status_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "afd0b39ef7cb893cce475888c80ed8c8639339bc73643cc9e2f3ad127aacec36": { - "signature": "afd0b39ef7cb893cce475888c80ed8c8639339bc73643cc9e2f3ad127aacec36", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient/recording_list_metric_enrichment_status_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "1b535e7aa0a6aea5ad38cbd9172b813b2e71448f537aaeda5ffb8b52a7442937": { - "signature": "1b535e7aa0a6aea5ad38cbd9172b813b2e71448f537aaeda5ffb8b52a7442937", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_feedback/recording_creates_anomaly_feedback.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8d3a0d4292f5ebc816197860f214cb19b70fbe4686fe58194f3a1254f17c25ba": { - "signature": "8d3a0d4292f5ebc816197860f214cb19b70fbe4686fe58194f3a1254f17c25ba", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_feedback/recording_creates_changepoint_feedback.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "87dd509f3f5137b10fea7fee3aee4c809245599f8ed134feec1f8c1368d0a10b": { - "signature": "87dd509f3f5137b10fea7fee3aee4c809245599f8ed134feec1f8c1368d0a10b", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_feedback/recording_creates_comment_feedback.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4325765536de53db37cfdc64b5b598230c5dc28c7f00f4866912d26e86919a3c": { - "signature": "4325765536de53db37cfdc64b5b598230c5dc28c7f00f4866912d26e86919a3c", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_feedback/recording_creates_period_feedback.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3443aec2e527418d04a3c66290ea743ce0a20f9aa51895d19a0127efc6cfaf2d": { - "signature": "3443aec2e527418d04a3c66290ea743ce0a20f9aa51895d19a0127efc6cfaf2d", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_feedback/recording_lists_anomaly_feedbacks.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5a8fb5a8434b66d1a7dad38cb3633cb2907e3d9b34297f717fad95820755a706": { - "signature": "5a8fb5a8434b66d1a7dad38cb3633cb2907e3d9b34297f717fad95820755a706", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_feedback/recording_lists_anomaly_feedbacks_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b3edb954a05384e43e0071728ee217d9091c4da12bfc85cf1fa740a28afda1c2": { - "signature": "b3edb954a05384e43e0071728ee217d9091c4da12bfc85cf1fa740a28afda1c2", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_feedback/recording_lists_anomaly_feedbacks_with_datetime_strings.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3908c0f9415b608d8c61ba3d9513cd8ef2a073734618739426c6b09574e01c78": { - "signature": "3908c0f9415b608d8c61ba3d9513cd8ef2a073734618739426c6b09574e01c78", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_feedback/recording_retrieves_anomaly_feedback.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "752fb97fef9c267a822b85dc6f17c87b5ba84f9be6b8ed689d3ad23d56cad68a": { - "signature": "752fb97fef9c267a822b85dc6f17c87b5ba84f9be6b8ed689d3ad23d56cad68a", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_creates_email_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "6c0b6e4464db7b1c3112b407dda170eb7fd7ad08943f7a18ac8adbe716cb08d0": { - "signature": "6c0b6e4464db7b1c3112b407dda170eb7fd7ad08943f7a18ac8adbe716cb08d0", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_creates_web_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a2289698d8e1fc2724d3010b0d942605ecef667746597b3713047d637072e17e": { - "signature": "a2289698d8e1fc2724d3010b0d942605ecef667746597b3713047d637072e17e", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_deletes_email_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c6d8715ce5f171ded87e526bf30c7d2b49dfd73f85d4d6583030b9a9d08841f0": { - "signature": "c6d8715ce5f171ded87e526bf30c7d2b49dfd73f85d4d6583030b9a9d08841f0", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_deletes_web_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c2a5a3a2993451878a02be800bbc09c92d8d03c838f264fbc1469f13ad65b9ed": { - "signature": "c2a5a3a2993451878a02be800bbc09c92d8d03c838f264fbc1469f13ad65b9ed", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_lists_hooks.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "66c3c783cc9e4b552a5373315c2c5d200e7e63ed47655b8e11b3e5998c1b13f2": { - "signature": "66c3c783cc9e4b552a5373315c2c5d200e7e63ed47655b8e11b3e5998c1b13f2", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_lists_hooks.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9bcba3b5d2fd0fb3b5d6999b52d62438fb6e6e2a1236eaa035b6a396d7e27874": { - "signature": "9bcba3b5d2fd0fb3b5d6999b52d62438fb6e6e2a1236eaa035b6a396d7e27874", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_lists_hooks_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9712e9cbfc1cf3401de6cad39c7814a46a831ace8e530b494b85873674fa999a": { - "signature": "9712e9cbfc1cf3401de6cad39c7814a46a831ace8e530b494b85873674fa999a", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_lists_hooks_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7e1b9e9ddb7322e61f8b9cc79661222da7939086511bbdbf68fd0d0bcb03c0c3": { - "signature": "7e1b9e9ddb7322e61f8b9cc79661222da7939086511bbdbf68fd0d0bcb03c0c3", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_updates_email_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9367766428665aca08a5d78e11873734ea820db8789fc1055963f1cdb01b33cc": { - "signature": "9367766428665aca08a5d78e11873734ea820db8789fc1055963f1cdb01b33cc", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_updates_web_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0030", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fbb4088b506f395b457bf5eec3f0d66049d936bca251b7d9b156d8c71229eb58": { - "signature": "fbb4088b506f395b457bf5eec3f0d66049d936bca251b7d9b156d8c71229eb58", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_updates_web_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c93a2f1a6a2b5d59aed174351d9201e38f02e5fc615e352a2f83c937d1a7539b": { - "signature": "c93a2f1a6a2b5d59aed174351d9201e38f02e5fc615e352a2f83c937d1a7539b", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_updates_web_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d6448a8827048b15e2f84abd857303b459e3ef91c7da14972e134ace342e822c": { - "signature": "d6448a8827048b15e2f84abd857303b459e3ef91c7da14972e134ace342e822c", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "79c8101c30f9e89610dfdf73be40d570e3b6520e30fe514a50910933ff0003d8": { - "signature": "79c8101c30f9e89610dfdf73be40d570e3b6520e30fe514a50910933ff0003d8", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ebbe72e5d300afdf02a48518c21ffa6f742dd033a221a0fb373db3db4ccbef38": { - "signature": "ebbe72e5d300afdf02a48518c21ffa6f742dd033a221a0fb373db3db4ccbef38", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_lists_hooks.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "67dd050d04fe3f3f011b531c74dbf48f99cf769d41fae3d68127c669b357ad86": { - "signature": "67dd050d04fe3f3f011b531c74dbf48f99cf769d41fae3d68127c669b357ad86", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_lists_hooks_by_page.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e17df0150b590cac7b6fb646a7978074ff9b29b8b7b767df86f3cd25ce4fb438": { - "signature": "e17df0150b590cac7b6fb646a7978074ff9b29b8b7b767df86f3cd25ce4fb438", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "cbf20bd9cd6494fa13e67bcc1f523fe0d03f53aa1f51b73d537870edfe1277eb": { - "signature": "cbf20bd9cd6494fa13e67bcc1f523fe0d03f53aa1f51b73d537870edfe1277eb", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b2faef705ca57f1606b763166ebfc5ac687cce09a1899d33841a7e0d77cc930b": { - "signature": "b2faef705ca57f1606b763166ebfc5ac687cce09a1899d33841a7e0d77cc930b", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f5cd31ffb48f5eb7eb2f60f95965fa91231334bcc764889730d6c84851ce78d8": { - "signature": "f5cd31ffb48f5eb7eb2f60f95965fa91231334bcc764889730d6c84851ce78d8", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ea1370d85a93b3e5095fda7c095c4301cf2c6c065ab75593bac03523a66d96f3": { - "signature": "ea1370d85a93b3e5095fda7c095c4301cf2c6c065ab75593bac03523a66d96f3", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_lists_hooks.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fc94209ecebd4b0e8ba53a1e936744a2aa260b2240fd57885602e22835eb05aa": { - "signature": "fc94209ecebd4b0e8ba53a1e936744a2aa260b2240fd57885602e22835eb05aa", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_lists_hooks_by_page.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a2801453082a5595a087caa2f18ecbfcb38a767b5ba4b0918eae67457392c26d": { - "signature": "a2801453082a5595a087caa2f18ecbfcb38a767b5ba4b0918eae67457392c26d", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_updates_web_hook.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "eef2ccf5b3ca04d81ea7490426b2b052908ee8c12d0cb2416eb0f7ce6e5156b1": { - "signature": "eef2ccf5b3ca04d81ea7490426b2b052908ee8c12d0cb2416eb0f7ce6e5156b1", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_updates_web_hook.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c201eaeb7b9282d7065bb4c3126c5c8274011789b6cbe4245679affbf71859bf": { - "signature": "c201eaeb7b9282d7065bb4c3126c5c8274011789b6cbe4245679affbf71859bf", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d5e58c955816704af63eae1a9e4a91556d4c3c5ff4b137f53df95fc075431ff1": { - "signature": "d5e58c955816704af63eae1a9e4a91556d4c3c5ff4b137f53df95fc075431ff1", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "eebfb43d08923aaeaf72f91157dbac44f6a13e2ddb978cfe719bf725817587c7": { - "signature": "eebfb43d08923aaeaf72f91157dbac44f6a13e2ddb978cfe719bf725817587c7", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_lists_hooks.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d21eff017e7977686306e26020e85ca616db2e084268da275e105f3a3def1bf4": { - "signature": "d21eff017e7977686306e26020e85ca616db2e084268da275e105f3a3def1bf4", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_lists_hooks_by_page.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b9144cf5c0b2abc6b8d106bce68cfc673668fad5a9c50979f73ce651bc43b596": { - "signature": "b9144cf5c0b2abc6b8d106bce68cfc673668fad5a9c50979f73ce651bc43b596", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d1cf3c60bc2373f5d3c25001f086cbd688f4b53ceca382bc0c669898872de536": { - "signature": "d1cf3c60bc2373f5d3c25001f086cbd688f4b53ceca382bc0c669898872de536", - "target": "sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a6d2d4edce74b82a10750299017e4cb65c3882a1c107e46077a91aee691e0a37": { - "signature": "a6d2d4edce74b82a10750299017e4cb65c3882a1c107e46077a91aee691e0a37", - "target": "sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_fails_to_get_schema_id_when_given_invalid_args.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3f6e12a0273f428ed0ae54e07e49674c4db6e52c28df4cfbacbb0f7a689dad29": { - "signature": "3f6e12a0273f428ed0ae54e07e49674c4db6e52c28df4cfbacbb0f7a689dad29", - "target": "sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_fails_to_get_schema_id_when_no_matching_schema_exists.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ffbed58dd7e612be3a343534ae3cb80f31f320b1fee92182548c5c020eeed3a4": { - "signature": "ffbed58dd7e612be3a343534ae3cb80f31f320b1fee92182548c5c020eeed3a4", - "target": "sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_fails_to_get_schema_when_no_schema_exists_with_given_id.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "21b0d8e123a3ebbfc479d87eb3f375fc1bfe21d3b0b90e1e8c85b5c083ff84d9": { - "signature": "21b0d8e123a3ebbfc479d87eb3f375fc1bfe21d3b0b90e1e8c85b5c083ff84d9", - "target": "sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_gets_schema_by_id.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8c726ffdd08eee6f33d4a285ef14339084eea3769c5204a892bee949ac273fa6": { - "signature": "8c726ffdd08eee6f33d4a285ef14339084eea3769c5204a892bee949ac273fa6", - "target": "sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_gets_schema_id.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fd9bf2436aa5a79471b1b5343dac693a84289807002d1c87c8b673a5d6623ed3": { - "signature": "fd9bf2436aa5a79471b1b5343dac693a84289807002d1c87c8b673a5d6623ed3", - "target": "sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_registers_schema.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fb1163ce631f492b1b7e809a5436d16f41edf33151d7ea268beb7d52a018267d": { - "signature": "fb1163ce631f492b1b7e809a5436d16f41edf33151d7ea268beb7d52a018267d", - "target": "sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_rejects_schema_registration_with_invalid_args.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "00bb8e56f32b52e62f3f20937304a1b849607de8401fa8569db5f982c5c4fab7": { - "signature": "00bb8e56f32b52e62f3f20937304a1b849607de8401fa8569db5f982c5c4fab7", - "target": "sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_creates_the_datasourceconnection_object_using_createorupdatedatasourceconnection.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0070", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fee505c77e0867e17f65bd24ea8307e9f3d53c982abe50df3a35ca09f6f0ac34": { - "signature": "fee505c77e0867e17f65bd24ea8307e9f3d53c982abe50df3a35ca09f6f0ac34", - "target": "sdk/search/search-documents/samples/javascript/src/readonlyQuery.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "50347a92b3276b6706e2e3032c3f5e2ca9c31c016d7b4b7467683df0cb258372": { - "signature": "50347a92b3276b6706e2e3032c3f5e2ca9c31c016d7b4b7467683df0cb258372", - "target": "sdk/search/search-documents/samples/typescript/src/readonlyQuery.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d69dbac9ff5469b3b576e1d38e30a23bb7912c38ccd9b25243f4d3075559fc5b": { - "signature": "d69dbac9ff5469b3b576e1d38e30a23bb7912c38ccd9b25243f4d3075559fc5b", - "target": "sdk/search/search-documents/test/public/node/searchIndexerClient.spec.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0070", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fda057a63a55f5835ec2556d2c270a7e453fa0e51ed0ba19db0fcafd1fbc511e": { - "signature": "fda057a63a55f5835ec2556d2c270a7e453fa0e51ed0ba19db0fcafd1fbc511e", - "target": "sdk/search/search-documents/test/public/utils/setup.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0070", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5d58535ad159a92092c84dddd1324477cae856e54f546506e45a4d080eea4d91": { - "signature": "5d58535ad159a92092c84dddd1324477cae856e54f546506e45a4d080eea4d91", - "target": "sdk/storage/storage-blob/recordings/node/blobbatch/recording_deleteblobs_should_work_for_batch_delete.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "762edf602bdd2466db5552929662d9824783d944c5a5eb2816411b033d6aae5b": { - "signature": "762edf602bdd2466db5552929662d9824783d944c5a5eb2816411b033d6aae5b", - "target": "sdk/storage/storage-blob/recordings/node/blobbatch/recording_setblobsaccesstier_should_work_for_batch_set_tier.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0130", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c9e9d30bc34649ffbff842727ce6f9e3776de6fe6afba2c19cb957e93e13e945": { - "signature": "c9e9d30bc34649ffbff842727ce6f9e3776de6fe6afba2c19cb957e93e13e945", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_client_accepts_string_and_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3e7291d2ae6f62fe1445562d0f650477b52039fdd51ba58b25bc65be0432882c": { - "signature": "3e7291d2ae6f62fe1445562d0f650477b52039fdd51ba58b25bc65be0432882c", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_client_accepts_string_with_no_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "117ba00a583e84e449c37c65ef6fdf8b3c0894e714244a14468ad27f8f21af47": { - "signature": "117ba00a583e84e449c37c65ef6fdf8b3c0894e714244a14468ad27f8f21af47", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_client_accepts_textdocumentinput.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "13bb9f1d241cde2d3ac26e04c177cda1356180436d6c42a8230ea36ab829f313": { - "signature": "13bb9f1d241cde2d3ac26e04c177cda1356180436d6c42a8230ea36ab829f313", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_client_gets_negative_mined_opinions.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "97bf5a24061fdd26911db6c1f9e714ebf980012d6e547fbae5c9aee3f15ed2ea": { - "signature": "97bf5a24061fdd26911db6c1f9e714ebf980012d6e547fbae5c9aee3f15ed2ea", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_client_gets_no_mined_opinions.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "583d157f43d2f74bfad54615e231b115553325cc4e6fc2d735f73fb950e07229": { - "signature": "583d157f43d2f74bfad54615e231b115553325cc4e6fc2d735f73fb950e07229", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_client_gets_positive_mined_opinions.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "188b1e384c4a966b7a14d91ee87f19a96689c4ebac3e7ea49bad51d490826ed4": { - "signature": "188b1e384c4a966b7a14d91ee87f19a96689c4ebac3e7ea49bad51d490826ed4", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_service_has_a_bug_when_referencing_opinions_in_doc_6_or_greater.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ce66961f9c937b57bc199fb639209c276ecb8a8657ee23307d67682c27c13a88": { - "signature": "ce66961f9c937b57bc199fb639209c276ecb8a8657ee23307d67682c27c13a88", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_service_returns_an_error_for_an_empty_document.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d7c0034061f055652696829f5723dee2ccbcb6b3df037eebd838d0004c1b4071": { - "signature": "d7c0034061f055652696829f5723dee2ccbcb6b3df037eebd838d0004c1b4071", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_analyzesentiment/recording_service_returns_error_for_invalid_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "dd9023825e57ff68715a627003ce02144353b3cc77fd886d0f1dd8a4b908de0a": { - "signature": "dd9023825e57ff68715a627003ce02144353b3cc77fd886d0f1dd8a4b908de0a", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_detectlanguage/recording_client_accepts_a_countryhint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "660016045999c46bfe0941ebee97333ed30b17479345ca64c24fc4b9c2fc1284": { - "signature": "660016045999c46bfe0941ebee97333ed30b17479345ca64c24fc4b9c2fc1284", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_detectlanguage/recording_client_accepts_mixedcountry_detectlanguageinput.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "241e89148a3e0d273c1d1ba9c004762fc01e5e6460e98845286384c6cba631c0": { - "signature": "241e89148a3e0d273c1d1ba9c004762fc01e5e6460e98845286384c6cba631c0", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_detectlanguage/recording_client_accepts_none_country_hint_with_detectlanguageinput_input.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "1c37e32aa107657fbd089628262fad7a8b727c1f320daefe12dc01c349ce5de9": { - "signature": "1c37e32aa107657fbd089628262fad7a8b727c1f320daefe12dc01c349ce5de9", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_detectlanguage/recording_client_accepts_none_country_hint_with_string_input.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "1c6e7cfec9804867cfb86ba3897cdb8930951e1aaf68170b723623fedc3d633f": { - "signature": "1c6e7cfec9804867cfb86ba3897cdb8930951e1aaf68170b723623fedc3d633f", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_detectlanguage/recording_client_accepts_no_countryhint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "08546082d9465d285ab886e5ea329a113acdaba649ed20b1c36440854bac865b": { - "signature": "08546082d9465d285ab886e5ea329a113acdaba649ed20b1c36440854bac865b", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_detectlanguage/recording_service_errors_on_invalid_country_hint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "effaf25724178a57bde8650cd41d70ab9dd4e0ca8b3bb21938ab2e45f9122e14": { - "signature": "effaf25724178a57bde8650cd41d70ab9dd4e0ca8b3bb21938ab2e45f9122e14", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_extractkeyphrases/recording_client_accepts_mixedlanguage_textdocumentinput.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9613b17af232e50add8dfebb4d1a9bc80c480b628c98b8bd6fb4e8dcb4e4a413": { - "signature": "9613b17af232e50add8dfebb4d1a9bc80c480b628c98b8bd6fb4e8dcb4e4a413", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_extractkeyphrases/recording_client_accepts_string_with_a_language_specified.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5f49a846261c1e5027a1c14ac9ed5b51a7f006dec2fb0568521866fbcfed6986": { - "signature": "5f49a846261c1e5027a1c14ac9ed5b51a7f006dec2fb0568521866fbcfed6986", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_extractkeyphrases/recording_client_accepts_string_with_no_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a62bbe6cc9729ac2beef4734b5a433c748ce7e13dc5a076e59942da4c71052dd": { - "signature": "a62bbe6cc9729ac2beef4734b5a433c748ce7e13dc5a076e59942da4c71052dd", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_extractkeyphrases/recording_service_errors_on_unsupported_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3b9b91036e0012f46e3b840172adcdc996b5999a963a099b2f62830341f260fe": { - "signature": "3b9b91036e0012f46e3b840172adcdc996b5999a963a099b2f62830341f260fe", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_extractkeyphrases/recording_service_reports_warning_for_long_words.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "393e126b983abc04ff9c0c2ccfc6d05450c2706bdc8365c787b3f987e4769cb1": { - "signature": "393e126b983abc04ff9c0c2ccfc6d05450c2706bdc8365c787b3f987e4769cb1", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizeentities/recording_client_accepts_mixedlanguage_textdocumentinput.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "046bdbe4723d0c0784e1af825a92c508d83e30035d0e36b7dc6b5d170a5059a8": { - "signature": "046bdbe4723d0c0784e1af825a92c508d83e30035d0e36b7dc6b5d170a5059a8", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizeentities/recording_client_accepts_string_with_a_language_specified.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "7356e2bc1060d907db2657519bfbb2acea97c23cf7da0b1b140ec3943f2e6ba4": { - "signature": "7356e2bc1060d907db2657519bfbb2acea97c23cf7da0b1b140ec3943f2e6ba4", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizeentities/recording_client_accepts_string_with_no_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "356aab026d5c26a46c88aa3706656896f9dba4401893b6e14e2f2403af4d50a4": { - "signature": "356aab026d5c26a46c88aa3706656896f9dba4401893b6e14e2f2403af4d50a4", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizeentities/recording_client_throws_exception_for_too_many_inputs.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "82732e9e11e0c4fc46281a601b7dbf279dae9a976bf58cb718855c375faa284b": { - "signature": "82732e9e11e0c4fc46281a601b7dbf279dae9a976bf58cb718855c375faa284b", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizeentities/recording_service_errors_on_unsupported_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a902bc3e0b9e094fdc0180f88fba88a7035f02b66543a5a4debeabf122f1c447": { - "signature": "a902bc3e0b9e094fdc0180f88fba88a7035f02b66543a5a4debeabf122f1c447", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizelinkedentities/recording_client_accepts_mixedlanguage_textdocumentinput.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "054266b8dfabfa4ac4fca53ec604838b0d8a012e690d9898c738530fae73a23a": { - "signature": "054266b8dfabfa4ac4fca53ec604838b0d8a012e690d9898c738530fae73a23a", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizelinkedentities/recording_client_accepts_string_with_a_language_specified.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a1f9e11f9f0db33dffb84ce8b860355f8de8018a515599d60dfdbad00ae29094": { - "signature": "a1f9e11f9f0db33dffb84ce8b860355f8de8018a515599d60dfdbad00ae29094", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizelinkedentities/recording_client_accepts_string_with_no_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "59542af7e61f3c8ef7c31e8afb5e559ff4a3f31a97ff543c45dd195d2da657ec": { - "signature": "59542af7e61f3c8ef7c31e8afb5e559ff4a3f31a97ff543c45dd195d2da657ec", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizelinkedentities/recording_client_throws_exception_for_too_many_inputs.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "504c14f17c1d51e49d2dd95aeeb31616e3db8a35a8245647273707ed0afde7fa": { - "signature": "504c14f17c1d51e49d2dd95aeeb31616e3db8a35a8245647273707ed0afde7fa", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizelinkedentities/recording_service_errors_on_unsupported_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e8041f59b7545ce1c1ab1b344dc6730d7382c9142978ba83f9b911511d3be303": { - "signature": "e8041f59b7545ce1c1ab1b344dc6730d7382c9142978ba83f9b911511d3be303", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizepiientities/recording_accepts_domain_filter.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "4f6b856635623989a9d19fad50d8d169fcbcd67f36a49b4a59efb1f2cae0b31a": { - "signature": "4f6b856635623989a9d19fad50d8d169fcbcd67f36a49b4a59efb1f2cae0b31a", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizepiientities/recording_client_accepts_mixedlanguage_textdocumentinput.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "e738f0495982d05208ceed4213b251b1d48b9583d69e8f6dac8e387de527fef0": { - "signature": "e738f0495982d05208ceed4213b251b1d48b9583d69e8f6dac8e387de527fef0", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizepiientities/recording_client_accepts_string_with_a_language_specified.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "3e93ba18f67011fa6ed195649f85a39687c8855e685ebc25beebef82c74a9d49": { - "signature": "3e93ba18f67011fa6ed195649f85a39687c8855e685ebc25beebef82c74a9d49", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizepiientities/recording_client_accepts_string_with_no_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c55a4d2b4d0c1c4a203ba3ad0eb0145b3eabecd283557e7dfca1a87daf8b35ed": { - "signature": "c55a4d2b4d0c1c4a203ba3ad0eb0145b3eabecd283557e7dfca1a87daf8b35ed", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizepiientities/recording_client_correctly_reports_recognition_of_piilike_pattern.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "849a5b582698a34a8560e63828539fab2d37f3e03f8907f2d3faa23feb4c060f": { - "signature": "849a5b582698a34a8560e63828539fab2d37f3e03f8907f2d3faa23feb4c060f", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizepiientities/recording_client_throws_on_empty_list.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "43d180552e6f0b797ae1179bdd2efd0df421a477410787b36c1008fe1fee4dea": { - "signature": "43d180552e6f0b797ae1179bdd2efd0df421a477410787b36c1008fe1fee4dea", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_recognizepiientities/recording_service_errors_on_unsupported_language.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "959cb2232ad2e679f7abd2d1bb7e23277930b82b92f221368f722bc760dca813": { - "signature": "959cb2232ad2e679f7abd2d1bb7e23277930b82b92f221368f722bc760dca813", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_diacritics_nfc.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "c5daac5fa24e4d6c776dadd80e554430f5da145c8d354c1e4be6280f4d1b1529": { - "signature": "c5daac5fa24e4d6c776dadd80e554430f5da145c8d354c1e4be6280f4d1b1529", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_diacritics_nfd.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "5f9c26762fe66e4f4e2ea8f9cc410c5e3cc632f6fb03cdfe3d335cb9d86ec52f": { - "signature": "5f9c26762fe66e4f4e2ea8f9cc410c5e3cc632f6fb03cdfe3d335cb9d86ec52f", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_emoji.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "afa89c37526b6b3cc974f3a5dcb78b3f50a319540109b4eb5cca67d70f9ddd1d": { - "signature": "afa89c37526b6b3cc974f3a5dcb78b3f50a319540109b4eb5cca67d70f9ddd1d", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_emoji_with_skin_tone_modifier.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "49273667885716e82dc17d182be539ac5b64f0060c0caf71a64c05f80b472e19": { - "signature": "49273667885716e82dc17d182be539ac5b64f0060c0caf71a64c05f80b472e19", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_family_emoji.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "fd37bb624db6480c6575f8ccac30cc2d83f2c40e5604605ab15e3b3588337da0": { - "signature": "fd37bb624db6480c6575f8ccac30cc2d83f2c40e5604605ab15e3b3588337da0", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_family_emoji_wit_skin_tone_modifier.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "39b6d3e63d9f199c477687a93a09e29504801b0d6bc3b42ea7c6d5976b918303": { - "signature": "39b6d3e63d9f199c477687a93a09e29504801b0d6bc3b42ea7c6d5976b918303", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_korean_nfc.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "bf082aa247ccbd56af41cf738929ac97c51b1f973ae4a6f042a2a69789d8f2c9": { - "signature": "bf082aa247ccbd56af41cf738929ac97c51b1f973ae4a6f042a2a69789d8f2c9", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_korean_nfd.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "8df1cb9623406274b2b3d02f18652cbdbc90e65d5afa0ac19ae9363f63cdf412": { - "signature": "8df1cb9623406274b2b3d02f18652cbdbc90e65d5afa0ac19ae9363f63cdf412", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_fast_tests_string_encoding/recording_zalgo.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "089e6331548428b924890de8acd6ffaf75621c3b5b0f42b9e48d7a0ceb8ad806": { - "signature": "089e6331548428b924890de8acd6ffaf75621c3b5b0f42b9e48d7a0ceb8ad806", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_bad_request_empty_string.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "d59fba193589fc94de10d0df6556de1094bffe4abe5bd064091541dbb54fdd7d": { - "signature": "d59fba193589fc94de10d0df6556de1094bffe4abe5bd064091541dbb54fdd7d", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_each_doc_has_a_language_hint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "cd347eb69b96e018511dcec83f0828c2d21cc3e27dacf1e9efafa18802ea00b2": { - "signature": "cd347eb69b96e018511dcec83f0828c2d21cc3e27dacf1e9efafa18802ea00b2", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_invalid_language_hint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "93900aac066d6bfd80b2b97fe59cdaeea1a30effbe03e776c5d62a9aa8dcaf6c": { - "signature": "93900aac066d6bfd80b2b97fe59cdaeea1a30effbe03e776c5d62a9aa8dcaf6c", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_output_order_is_same_as_the_inputs_one_with_multiple_tasks.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "ec03721ec01a4cabfbadf20bacd34333e70929fe094fe790b575cd2e3965e586": { - "signature": "ec03721ec01a4cabfbadf20bacd34333e70929fe094fe790b575cd2e3965e586", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_out_of_order_input_ids_with_multiple_tasks.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "f3541128ee8818f85d6741329acdfbb810de71b1e1084b043104dc583faa7b6a": { - "signature": "f3541128ee8818f85d6741329acdfbb810de71b1e1084b043104dc583faa7b6a", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_paged_results_with_custom_page_size.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "67201f31bb4ffe46822a4a1805f6cbe29b69f4281b15466c576d7e2502d40783": { - "signature": "67201f31bb4ffe46822a4a1805f6cbe29b69f4281b15466c576d7e2502d40783", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_pii_redacted_test_is_not_empty.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a686a12c79551a00b35e6a6b4b4ad8d8dcdeec9a42c2781611eaf9f98c901e99": { - "signature": "a686a12c79551a00b35e6a6b4b4ad8d8dcdeec9a42c2781611eaf9f98c901e99", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_single_entities_recognition_task.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "144b160af337a5fee59bf2878357e024773fec12f2068f80fa3ebf61f9144f82": { - "signature": "144b160af337a5fee59bf2878357e024773fec12f2068f80fa3ebf61f9144f82", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_single_entity_recognition_task.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "cad372f715862a6dacc51fd72a01d9c39b711cc346f3d611e0f935c15966cb84": { - "signature": "cad372f715862a6dacc51fd72a01d9c39b711cc346f3d611e0f935c15966cb84", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_single_key_phrases_task.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "b6f795250583b98189476db741a6e4c13df463097114a2313da7a8323225dac2": { - "signature": "b6f795250583b98189476db741a6e4c13df463097114a2313da7a8323225dac2", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_single_pii_entities_recognition_task.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "a62bfabc00061df5307312247ef982ee3cd6df5db703204e557555dca801e409": { - "signature": "a62bfabc00061df5307312247ef982ee3cd6df5db703204e557555dca801e409", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_whole_batch_input_with_a_language_hint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "2e9c5416c04035982ac5965a36ddc4b7055e414cef686c284df62401ef575e31": { - "signature": "2e9c5416c04035982ac5965a36ddc4b7055e414cef686c284df62401ef575e31", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_whole_batch_language_hint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9b9f128de1a0d14acf792a61aab4bb9a20ee9b54ebbdf7628e596f6e0161229a": { - "signature": "9b9f128de1a0d14acf792a61aab4bb9a20ee9b54ebbdf7628e596f6e0161229a", - "target": "sdk/textanalytics/ai-text-analytics/recordings/browsers/aad_textanalyticsclient_lros_analyze/recording_whole_batch_with_no_language_hint.json", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-GENERAL0060", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "9800dd79c23b99af80e1d269e46a3f9fee36ca0cbb4fff3ad95af99ac32b942a": { - "signature": "9800dd79c23b99af80e1d269e46a3f9fee36ca0cbb4fff3ad95af99ac32b942a", - "target": "sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createDataSourceConnection.js", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0070", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - }, - "58d571f9107dead2e2e341b6bc0c21d639067c4ef1b31b4cb0743f0244410588": { - "signature": "58d571f9107dead2e2e341b6bc0c21d639067c4ef1b31b4cb0743f0244410588", - "target": "sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createDataSourceConnection.ts", - "memberOf": [ - "baseline" - ], - "tool": "CredentialScanner", - "ruleId": "CSCAN-AZURE0070", - "justification": null, - "createdDate": "2021-01-29 00:17:00Z", - "expirationDate": null, - "type": null - } - } -} \ No newline at end of file diff --git a/eng/pipelines/aggregate-reports.yml b/eng/pipelines/aggregate-reports.yml index eebc509fff1c..955a12dbd243 100644 --- a/eng/pipelines/aggregate-reports.yml +++ b/eng/pipelines/aggregate-reports.yml @@ -65,7 +65,8 @@ jobs: GdnBreakAllTools: false GdnBreakGdnToolCredScan: true GdnBreakGdnToolCredScanSeverity: Error - GdnBreakBaselineFiles: $(Build.SourcesDirectory)\eng\js.gdnbaselines + # Specify baseline file input to scan tool + # GdnBreakBaselineFiles: $(Build.SourcesDirectory)\eng\js.gdnbaselines GdnBreakBaselines: baseline # Used for generating baseline file. # GdnBreakOutputBaselineFile: js @@ -74,32 +75,3 @@ jobs: - task: securedevelopmentteam.vss-secure-development-tools.build-task-publishsecurityanalysislogs.PublishSecurityAnalysisLogs@3 displayName: 'Publish Security Analysis Logs' condition: succeededOrFailed() - -- ${{ if eq(variables['Build.Reason'], 'Schedule') }}: - - job: 'RushUpdate' - variables: - - template: /eng/pipelines/templates/variables/globals.yml - - pool: - name: azsdk-pool-mms-ubuntu-2004-general - vmImage: MMSUbuntu20.04 - - steps: - - template: /eng/pipelines/templates/steps/common.yml - - - template: /eng/common/pipelines/templates/steps/set-default-branch.yml - - - script: | - node common/scripts/install-run-rush.js install - node common/scripts/install-run-rush.js update --recheck - displayName: "Run Rush Update" - - - template: /eng/common/pipelines/templates/steps/create-pull-request.yml - parameters: - RepoName: azure-sdk-for-js - BaseBranchName: $(DefaultBranch) - PRBranchName: automated-rush-update - CommitMsg: "Automatic rush update recheck" - PRTitle: "Automatic rush update" - PRBody: "Automatic rush update PR" - PushArgs: "-f" diff --git a/eng/pipelines/docindex.yml b/eng/pipelines/docindex.yml index 0ba7c06104b6..0aefff4f8800 100644 --- a/eng/pipelines/docindex.yml +++ b/eng/pipelines/docindex.yml @@ -77,12 +77,9 @@ jobs: inputs: pwsh: true filePath: eng/common/scripts/Queue-Pipeline.ps1 - # SourceBranch must be "master" as this repo is managed by the docs - # team and will be updated according to their timeline. arguments: > -Organization "apidrop" -Project "Content%20CI" - -SourceBranch "master" -DefinitionId 3452 -Base64EncodedAuthToken "$(azuresdk-apidrop-devops-queue-build-pat)" -BuildParametersJson '{"params":"{ \"target_repo\": { \"url\": \"https://github.com/MicrosoftDocs/azure-docs-sdk-node\", \"branch\": \"$(DailyDocsBranchName)\", \"folder\": \"./\" }, \"source_repos\": [] }"}' diff --git a/eng/pipelines/templates/jobs/smoke.tests.yml b/eng/pipelines/templates/jobs/smoke.tests.yml index 40f51388f05d..7d2a390d4200 100644 --- a/eng/pipelines/templates/jobs/smoke.tests.yml +++ b/eng/pipelines/templates/jobs/smoke.tests.yml @@ -5,9 +5,12 @@ parameters: - name: ServiceDirectory type: string default: "" - - name: Artifacts + - name: Artifact type: object - default: [] + default: {} + - name: ArtifactName + type: string + default: "" jobs: - ${{ if and(eq(parameters.Daily, false), ne(variables['Skip.Release'], 'true')) }}: @@ -52,18 +55,18 @@ jobs: condition: and(succeeded(), eq(dependencies.smoke_test_eligibility.outputs['check_smoke_tests.RunSmokeTests'], true)) strategy: matrix: - Mac Node10 (AzureCloud): + Mac Node14 (AzureCloud): Pool: Azure Pipelines OSVmImage: "macOS-10.14" SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) ArmTemplateParameters: $(AzureCloudArmTemplateParameters) - NodeTestVersion: "10.x" - Windows Node12 (AzureCloud): + NodeTestVersion: "14.x" + Windows Node16 (AzureCloud): Pool: "azsdk-pool-mms-win-2019-general" OSVmImage: "MMS2019" SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) ArmTemplateParameters: $(AzureCloudArmTemplateParameters) - NodeTestVersion: "12.x" + NodeTestVersion: "16.x" Linux Node14 (AzureCloud): Pool: "azsdk-pool-mms-ubuntu-2004-general" OSVmImage: "MMSUbuntu20.04" @@ -126,6 +129,8 @@ jobs: workingDirectory: $(Build.SourcesDirectory)/common/tools/dev-tool displayName: Install dev-tool + - download: current + artifact: ${{parameters.ArtifactName}} - pwsh: | $(Build.SourcesDirectory)/eng/common/scripts/Import-AzModules.ps1 @@ -136,6 +141,17 @@ jobs: $packageOverrides = @() $packageOverrides += (dir env: | Where-Object { $_.Name.StartsWith("SMOKE_PACKAGE_") }).Value + $packageArtifact = Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{parameters.Artifact.name}}/*.tgz + if ($packageArtifact.name -notmatch "${{parameters.Artifact.name}}") { + Write-Error "Package name mismatch: expecting ${{parameters.Artifact.name}}, found $packageArtifact.name" + exit 1 + } + if ($packageArtifact.count -ne 1) { + Write-Error "Got $packageArtifact.count packages, expecting 1." + exit 1 + } + $result = $(System.DefaultWorkingDirectory)/eng/scripts/get-npm-tags.ps1 -packageArtifact $packageArtifact -workingDirectory $(System.DefaultWorkingDirectory)/temp + if ([System.Convert]::ToBoolean("${{ parameters.Daily }}")) { ./Initialize-SmokeTests.ps1 ` -CI ` @@ -149,7 +165,7 @@ jobs: -CI ` -Verbose ` -Location '$(Location)' ` - -TagOverride $(Tag) ` + -TagOverride $result.Tag ` -TagOverridePackages $packageOverrides ` -ServiceDirectory ${{ parameters.ServiceDirectory }} ` @subscriptionConfiguration ` @@ -161,8 +177,7 @@ jobs: env: # Pipelines yaml does not handle transferring non-string parameter types # into script blocks very well, so this is the best available workaround. - ${{ each artifact in parameters.Artifacts }}: - SMOKE_PACKAGE_${{ artifact.safeName }}: "@azure/${{ replace(artifact.name, 'azure-', '') }}" + SMOKE_PACKAGE_${{ parameters.Artifact.safeName }}: "@azure/${{ replace(parameters.Artifact.name, 'azure-', '') }}" - pwsh: Get-Content ./run-manifest.json workingDirectory: $(Build.SourcesDirectory)/common/smoke-test diff --git a/eng/pipelines/templates/stages/archetype-js-release.yml b/eng/pipelines/templates/stages/archetype-js-release.yml index a4cf338acbef..abcb1d6c001e 100644 --- a/eng/pipelines/templates/stages/archetype-js-release.yml +++ b/eng/pipelines/templates/stages/archetype-js-release.yml @@ -10,9 +10,9 @@ parameters: ServiceDirectory: '' stages: - - ${{if and(eq(variables['Build.Reason'], 'Manual'), eq(variables['System.TeamProject'], 'internal'))}}: + - ${{if and(in(variables['Build.Reason'], 'Manual', ''), eq(variables['System.TeamProject'], 'internal'))}}: - ${{ each artifact in parameters.Artifacts }}: - - stage: Release_${{artifact.safeName}} + - stage: displayName: 'Release: ${{artifact.name}}' dependsOn: ${{parameters.DependsOn}} condition: and(succeeded(), ne(variables['SetDevVersion'], 'true'), ne(variables['Skip.Release'], 'true'), ne(variables['Build.Repository.Name'], 'Azure/azure-sdk-for-js-pr')) @@ -53,7 +53,7 @@ stages: ReleaseSha: $(Build.SourceVersion) RepoId: Azure/azure-sdk-for-js WorkingDirectory: $(System.DefaultWorkingDirectory) - + - ${{if ne(artifact.skipPublishPackage, 'true')}}: - deployment: PublishPackage displayName: "Publish to npmjs" @@ -123,13 +123,13 @@ stages: steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml parameters: - SkipDefaultCheckout: true + SkipDefaultCheckout: true Paths: - sdk/**/*.md - download: current - template: /eng/common/pipelines/templates/steps/update-docsms-metadata.yml parameters: - PackageInfoLocations: + PackageInfoLocations: - $(Pipeline.Workspace)/${{parameters.ArtifactName}}/PackageInfo/${{artifact.name}}.json RepoId: Azure/azure-sdk-for-js WorkingDirectory: $(System.DefaultWorkingDirectory) @@ -181,11 +181,17 @@ stages: name: azsdk-pool-mms-ubuntu-2004-general vmImage: MMSUbuntu20.04 + variables: + - template: /eng/pipelines/templates/variables/globals.yml + strategy: runOnce: deploy: steps: - checkout: self + + - template: /eng/pipelines/templates/steps/common.yml + - bash: | npm install workingDirectory: ./eng/tools/versioning @@ -195,24 +201,32 @@ stages: node ./eng/tools/versioning/increment.js --artifact-name ${{ artifact.name }} --repo-root . displayName: Increment package version + - bash: | + node common/scripts/install-run-rush.js install + displayName: "Install dependencies" + + - bash: | + npm install -g ./common/tools/dev-tool + npm install ./eng/tools/eng-package-utils + node ./eng/tools/eng-package-utils/update-samples.js ${{ artifact.name }} + displayName: Update samples + - template: /eng/common/pipelines/templates/steps/create-pull-request.yml parameters: RepoName: azure-sdk-for-js - PRBranchName: increment-package-version-${{ parameters.ServiceDirectory }}-$(Build.BuildId) - CommitMsg: "Increment package version after release of ${{ artifact.name }}" - PRTitle: "Increment version for ${{ parameters.ServiceDirectory }} releases" + PRBranchName: post-release-automation-${{ parameters.ServiceDirectory }}-$(Build.BuildId) + CommitMsg: "Post release automated changes for ${{ artifact.name }}" + PRTitle: "Post release automated changes for ${{ parameters.ServiceDirectory }} releases" PRLabels: "auto-merge" CloseAfterOpenForTesting: '${{ parameters.TestPipeline }}' - - ${{if and(eq(variables['Build.Reason'], 'Manual'), eq(variables['System.TeamProject'], 'internal'))}}: - - stage: SmokeTest_Release_Packages - displayName: Smoke Test Release Packages - jobs: - - template: /eng/pipelines/templates/jobs/smoke.tests.yml - parameters: - Daily: false - ServiceDirectory: ${{ parameters.ServiceDirectory }} - Artifacts: ${{ parameters.Artifacts }} + - ${{if and(eq(variables['Build.Reason'], 'Manual'), eq(variables['System.TeamProject'], 'internal'))}}: + - template: /eng/pipelines/templates/jobs/smoke.tests.yml + parameters: + Daily: false + ServiceDirectory: ${{ parameters.ServiceDirectory }} + ArtifactName: ${{ parameters.ArtifactName }} + Artifact: ${{ artifact }} - stage: Integration dependsOn: ${{parameters.DependsOn}} @@ -251,10 +265,10 @@ stages: } echo "##vso[task.setvariable variable=NpmToken]$npmToken" echo "##vso[task.setvariable variable=Registry]$registry" - displayName: Detecting package archive_${{artifact.safeName}} + displayName: Detecting package archive_${{artifact.name}} - task: PowerShell@2 - displayName: "Publish_${{artifact.safeName}} to dev feed" + displayName: "Publish_${{artifact.name}} to dev feed" inputs: targetType: filePath filePath: "eng/tools/publish-to-npm.ps1" @@ -268,7 +282,7 @@ stages: steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml parameters: - SkipDefaultCheckout: true + SkipDefaultCheckout: true Paths: - sdk/**/*.md - download: current diff --git a/eng/pipelines/templates/steps/use-node-test-version.yml b/eng/pipelines/templates/steps/use-node-test-version.yml index fa65be185711..3d38b86d7e1f 100644 --- a/eng/pipelines/templates/steps/use-node-test-version.yml +++ b/eng/pipelines/templates/steps/use-node-test-version.yml @@ -32,13 +32,17 @@ steps: # @ is the leaf node of the path # Example: keytar@5.6.0 # Move one more level up if package has org name - # for e.g. node_modules\.pnpm\@azure\msal-node-extensions@1.0.0-alpha.6\node_modules\@azure\msal-node-extensions + # for e.g. node_modules\.pnpm\@azure+msal-node-extensions@1.0.0-alpha.6\node_modules\@azure\msal-node-extensions if ((Split-Path -Leaf $packageInstallPath) -eq "node_modules") { $packageInstallPath = Join-Path $packageInstallPath ".." } $packageAtVersion = Split-Path -Leaf $packageInstallPath + # pnpm v6 replaces '/' in package names with '+' to reduce nesting directory in virtual store so we need to + # change it back + $packageAtVersion = $packageAtVersion.Replace("+", "/") + # Check if package has org name. for e.g @azure/msal-node-enxtensions # This returns either @azure or .pnpm( if no org is present) $packageParentName = Split-path -Leaf (Split-Path -Parent -Resolve $packageInstallPath) diff --git a/eng/pipelines/weekly_automation.yml b/eng/pipelines/weekly_automation.yml new file mode 100644 index 000000000000..d9e4e18596ca --- /dev/null +++ b/eng/pipelines/weekly_automation.yml @@ -0,0 +1,31 @@ +trigger: none +pr: none + +jobs: +- job: 'RushUpdate' + displayName: 'Rush update full' + variables: + - template: /eng/pipelines/templates/variables/globals.yml + + pool: + name: azsdk-pool-mms-ubuntu-2004-general + vmImage: MMSUbuntu20.04 + + steps: + - template: /eng/pipelines/templates/steps/common.yml + - template: /eng/common/pipelines/templates/steps/set-default-branch.yml + + - script: | + node common/scripts/install-run-rush.js install + node common/scripts/install-run-rush.js update --full + displayName: "Run Rush Update" + + - template: /eng/common/pipelines/templates/steps/create-pull-request.yml + parameters: + RepoName: azure-sdk-for-js + BaseBranchName: $(DefaultBranch) + PRBranchName: automated-rush-update-full + CommitMsg: "Automatic rush update --full" + PRTitle: "Automatic rush update --full" + PRBody: "This is an automatic PR generated weekly with changes from running the command rush update --full" + PushArgs: "-f" diff --git a/eng/scripts/Language-Settings.ps1 b/eng/scripts/Language-Settings.ps1 index 48f856493b85..ae33ab8c7506 100644 --- a/eng/scripts/Language-Settings.ps1 +++ b/eng/scripts/Language-Settings.ps1 @@ -254,10 +254,12 @@ function ValidatePackagesForDocs($packages) { } $PackageExclusions = @{ - '@azure/identity-vscode' = 'Fails type2docfx execution https://github.com/Azure/azure-sdk-for-js/issues/16303'; - '@azure/identity-cache-persistence' = 'Fails typedoc2fx execution https://github.com/Azure/azure-sdk-for-js/issues/16310'; - '@azure-rest/core-client-paging' = 'Cannot find types/latest/core-client-paging-rest.d.ts https://github.com/Azure/azure-sdk-for-js/issues/16677'; - '@azure/core-asynciterator-polyfill' = 'Docs CI fails https://github.com/Azure/azure-sdk-for-js/issues/16675' + '@azure/identity-vscode' = 'Fails type2docfx execution https://github.com/Azure/azure-sdk-for-js/issues/16303'; + '@azure/identity-cache-persistence' = 'Fails typedoc2fx execution https://github.com/Azure/azure-sdk-for-js/issues/16310'; + '@azure-rest/core-client-paging' = 'Cannot find types/latest/core-client-paging-rest.d.ts https://github.com/Azure/azure-sdk-for-js/issues/16677'; + '@azure/core-asynciterator-polyfill' = 'Docs CI fails https://github.com/Azure/azure-sdk-for-js/issues/16675'; + '@azure/arm-keyvault' = 'Docs CI fails https://github.com/Azure/azure-sdk-for-js/issues/16988'; + '@azure/arm-sql' = 'Docs CI fails https://github.com/Azure/azure-sdk-for-js/issues/16989'; } function Update-javascript-DocsMsPackages($DocsRepoLocation, $DocsMetadata) { diff --git a/eng/scripts/cleanup-npm-next-tag.ps1 b/eng/scripts/cleanup-npm-next-tag.ps1 index 6493f1b26ac5..6d7c73f0f3c3 100644 --- a/eng/scripts/cleanup-npm-next-tag.ps1 +++ b/eng/scripts/cleanup-npm-next-tag.ps1 @@ -31,8 +31,8 @@ $npmVersionInfo = GetNpmTagVersions -packageName $packageName if ($npmVersionInfo -eq $null) { # Version info object should not be null even if package is not present in npm - Write-Error "Failed to get version info from NPM registry." - exit 1 + Write-Host "Failed to get version info from NPM registry. Package is probably published for the first time." + exit 0 } $nextVersion = [AzureEngSemanticVersion]::ParseVersionString($npmVersionInfo.next) $latestVersion = [AzureEngSemanticVersion]::ParseVersionString($packageVersion) diff --git a/eng/scripts/helpers/npm-helpers.ps1 b/eng/scripts/helpers/npm-helpers.ps1 index 11bc265b8ae5..1b44600d284b 100644 --- a/eng/scripts/helpers/npm-helpers.ps1 +++ b/eng/scripts/helpers/npm-helpers.ps1 @@ -97,7 +97,7 @@ function GetNewNpmTags($packageName, $packageVersion) if ($latestVersion -eq $null -or $latestVersion.IsPreRelease) { $setLatest = $true } - } + } } $tag = "" diff --git a/eng/tools/analyze-deps/package-lock.json b/eng/tools/analyze-deps/package-lock.json index 35eb7d5af92e..ea2bf599de52 100644 --- a/eng/tools/analyze-deps/package-lock.json +++ b/eng/tools/analyze-deps/package-lock.json @@ -101,9 +101,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", diff --git a/eng/tools/analyze-deps/package.json b/eng/tools/analyze-deps/package.json index 482bbcad0d92..aedb8aaaae34 100644 --- a/eng/tools/analyze-deps/package.json +++ b/eng/tools/analyze-deps/package.json @@ -14,6 +14,6 @@ "jju": "^1.4.0", "js-yaml": "^4.0.0", "semver": "^7.3.4", - "tar": "^6.1.0" + "tar": "^6.1.2" } } diff --git a/eng/tools/eng-package-utils/update-samples.js b/eng/tools/eng-package-utils/update-samples.js new file mode 100644 index 000000000000..0b6d6c1502d7 --- /dev/null +++ b/eng/tools/eng-package-utils/update-samples.js @@ -0,0 +1,58 @@ +const path = require("path"); +const process = require("process"); +const { spawnSync } = require("child_process"); +const { getRushSpec } = require("./index"); +const fs = require("fs"); + + +const parseArgs = () => { + if (process.argv.some((a) => ["-h", "--help"].includes(a.toLowerCase())) || process.argv.length < 3) { + console.error("Usage: node update-samples.js "); + console.error("Example: node update-samples.js azure-storage-blob"); + } + + const [scriptPath, artifactName] = process.argv.slice(1); + const baseDir = path.resolve(`${path.dirname(scriptPath)}/../../..`); + return [baseDir, artifactName]; +}; + + +const spawnNode = (cwd, ...args) => { + console.log(`Executing: "dev-tool ${args.join(" ")}" in ${cwd}\n\n`); + const proc = spawnSync("dev-tool", args, { cwd, shell: true, stdio: "inherit" }); + console.log(`\n\process exited with code ${proc.status}`); + if (proc.status !== 0) { + process.exitCode = proc.status || 1; + } + return proc.status +}; + +async function main(repoRoot, artifactName) { + var rushSpec = await getRushSpec(repoRoot); + //Find project root directory using information in rush.json + const targetPackage = rushSpec.projects.find( + (packageSpec) => packageSpec.packageName.replace("@", "").replace("/", "-") == artifactName + ); + + if (!targetPackage) { + console.log(`Package is not found in rush.json for artifact ${artifactName}`); + return; + } + + if (targetPackage.versionPolicyName == "management") { + console.log(`Skipping update samples for management package ${artifactName}`); + return; + } + + const samplesDevPath = path.join(targetPackage.projectFolder, "samples-dev"); + if (!fs.existsSync(samplesDevPath)) { + console.log(`Samples-dev directory is not present in ${targetPackage.projectFolder}. Skipping udpate samples.`); + return; + } + + console.log(`Running samples update for package ${targetPackage.packageName}`); + spawnNode(targetPackage.projectFolder, "samples publish --force"); +}; + +const [repoRoot, artifactName] = parseArgs(); +main(repoRoot, artifactName); diff --git a/eng/tools/rush-runner.js b/eng/tools/rush-runner.js index 3710e620592a..32c9851facbe 100644 --- a/eng/tools/rush-runner.js +++ b/eng/tools/rush-runner.js @@ -3,6 +3,28 @@ const path = require("path"); const process = require("process"); const { spawnSync } = require("child_process"); +const reducedDependencyTestMatrix = { + 'core': ['@azure-rest/core-client', + '@azure-rest/core-client-lro', + '@azure-rest/core-client-paging', + '@azure-rest/purview-account', + '@azure-tests/perf-storage-blob', + '@azure/ai-text-analytics', + '@azure/arm-compute', + '@azure/dev-tool', + '@azure/identity', + '@azure/identity-cache-persistence', + '@azure/identity-vscode', + '@azure/service-bus', + '@azure/storage-blob', + '@azure/template', + '@azure/test-utils', + '@azure/test-utils-perfstress', + '@azure-tools/test-recorder', + '@azure/synapse-monitoring' + ] +}; + const parseArgs = () => { if ( process.argv.length < 3 || @@ -77,7 +99,7 @@ const getServicePackages = (baseDir, serviceDirs) => { const packageJsons = getPackageJsons(searchDir); for (const filePath of packageJsons) { const contents = JSON.parse(fs.readFileSync(filePath, "utf8")); - if (contents["sdk-type"] === "client" || contents["sdk-type"] === "mgmt") { + if (contents["sdk-type"] === "client" || contents["sdk-type"] === "mgmt" || contents["sdk-type"] === "perf-test") { packageNames.push(contents.name); packageDirs.push(path.dirname(filePath)); } @@ -133,36 +155,54 @@ function tryGetPkgRelativePath(absolutePath) { return sdkDirectoryPathStartIndex === -1 ? absolutePath : absolutePath.substring(sdkDirectoryPathStartIndex); } +const isReducedTestScopeEnabled = reducedDependencyTestMatrix[serviceDirs]; +if (isReducedTestScopeEnabled) { + // If a service is configured to have reduced test matrix then run rush for those reduced projects + console.log(`Found reduced test matrix configured for ${serviceDirs}.`); + packageNames.push(...reducedDependencyTestMatrix[serviceDirs]); +} +const rushx_runner_path = path.join(baseDir, "common/scripts/install-run-rushx.js"); if (serviceDirs.length === 0) { spawnNode(baseDir, "common/scripts/install-run-rush.js", action, ...rushParams); } else { const actionComponents = action.toLowerCase().split(":"); switch (actionComponents[0]) { case "build": - if (actionComponents.length == 1) { - rushRunAll("--from", packageNames); + // Build command without any additional option should build the project and downstream + // If service is configured to run only a set of downstream projects then build all projects leading to them to support testing + // if this is build:test for any non-configured package service then all impacted projects downstream and it's dependents should be built + var rushCommandFlag = "--impacted-by"; + if (isReducedTestScopeEnabled) { + // reduced preconfigured set of projects and it's required projects + rushCommandFlag = "--to"; } - else { - // build:samples or build:test doesn't have to build dependent packages - // This should use impacted-by to build from current package to downstream - rushRunAll("--impacted-by", packageNames); + else if (actionComponents.length == 1) { + rushCommandFlag = "--from"; } + + rushRunAll(rushCommandFlag, packageNames); break; case "test": case "unit-test": case "integration-test": - rushRunAll("--impacted-by", packageNames); + var rushCommandFlag = "--impacted-by"; + if (isReducedTestScopeEnabled) { + // If a service is configured to have reduced test matrix then run rush test only for those projects + rushCommandFlag = "--only"; + } + + rushRunAll(rushCommandFlag, packageNames); break; case "lint": for (const packageDir of packageDirs) { - spawnNode(packageDir, "../../../common/scripts/install-run-rushx.js", action); + spawnNode(packageDir, rushx_runner_path, action); } break; case "check-format": for (const packageDir of packageDirs) { - if (spawnNode(packageDir, "../../../common/scripts/install-run-rushx.js", action) !== 0) { + if (spawnNode(packageDir, rushx_runner_path, action) !== 0) { console.log(`\nInvoke "rushx format" inside ${tryGetPkgRelativePath(packageDir)} to fix formatting\n`); } } diff --git a/eng/tools/versioning/set-dev.js b/eng/tools/versioning/set-dev.js index 32d342757b2b..3381c964e27e 100644 --- a/eng/tools/versioning/set-dev.js +++ b/eng/tools/versioning/set-dev.js @@ -77,7 +77,6 @@ const updateDependencySection = (rushPackages, dependencySection, buildId) => { const parsedPackageVersion = semver.parse(packageVersion); const parsedDepMinVersion = semver.minVersion(depVersionRange); - if (semver.eq(parsedDepMinVersion, parsedPackageVersion)) { rushPackages = updatePackageVersion(rushPackages, depName, buildId); } @@ -137,9 +136,10 @@ const makeDependencySectionConsistentForPackage = (rushPackages, dependencySecti rushPackages[depName].newVer !== undefined ) { - // Setting version to ^[major.minor.patch]-alpha so that this automatically matches + // Setting version to >=[major.minor.patch]-alpha <[major.minor.patch]-alphb so that this automatically matches // with the latest dev version published on npm - dependencySection[depName] = `^${parsedPackageVersion.major}.${parsedPackageVersion.minor}.${parsedPackageVersion.patch}-alpha`; + const versionPrefix = `${parsedPackageVersion.major}.${parsedPackageVersion.minor}.${parsedPackageVersion.patch}`; + dependencySection[depName] = `>=${versionPrefix}-alpha <${versionPrefix}-alphb`; } } return rushPackages; @@ -173,7 +173,8 @@ const updateCommonVersions = async (repoRoot, commonVersionsConfig, package, sea for (var version of allowedAlternativeVersions[package]) { const parsedPackageVersion = semver.minVersion(version); if (semver.eq(parsedPackageVersion, parsedSearchVersion)) { - var devVersionRange = "^" + parsedSearchVersion.major + "." + parsedSearchVersion.minor + "." + parsedSearchVersion.patch + "-alpha"; + const versionPrefix = `${parsedSearchVersion.major}.${parsedSearchVersion.minor}.${parsedSearchVersion.patch}`; + var devVersionRange = ">=" + versionPrefix + "-alpha <" + versionPrefix + "-alphb"; allowedAlternativeVersions[package].push(devVersionRange); break; } diff --git a/package.json b/package.json index 04fa29f61789..69f616ed127b 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "node": ">=10.10.0" }, "dependencies": { + "eng-package-utils": "file:eng/tools/eng-package-utils", "versioning": "file:eng/tools/versioning" } } diff --git a/rush.json b/rush.json index 247898640b0a..eccefdbca12b 100644 --- a/rush.json +++ b/rush.json @@ -1,7 +1,7 @@ /** * This is the main configuration file for Rush. * For full documentation, please see https://rushjs.io - */{ + */ { "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush.schema.json", /** * (Required) This specifies the version of the Rush engine to be used in this repo. @@ -14,7 +14,7 @@ * path segment in the "$schema" field for all your Rush config files. This will ensure * correct error-underlining and tab-completion for editors such as VS Code. */ - "rushVersion": "5.40.7", + "rushVersion": "5.51.1", /** * The next field selects which package manager should be installed and determines its version. * Rush installs its own local copy of the package manager to ensure that your build process @@ -23,7 +23,7 @@ * Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation * for details about these alternatives. */ - "pnpmVersion": "5.15.0", + "pnpmVersion": "6.14.2", // "npmVersion": "4.5.0", // "yarnVersion": "1.9.4", /** @@ -84,7 +84,7 @@ * version. In those cases, you will need to add an entry to the "allowedAlternativeVersions" * section of the common-versions.json. */ - "ensureConsistentVersions": true, + // "ensureConsistentVersions": true, /** * Large monorepos can become intimidating for newcomers if project folder paths don't follow * a consistent and recognizable pattern. When the system allows nested folder trees, @@ -336,6 +336,11 @@ "projectFolder": "sdk/agrifood/agrifood-farming-rest", "versionPolicyName": "client" }, + { + "packageName": "@azure-rest/purview-account", + "projectFolder": "sdk/purview/purview-account-rest", + "versionPolicyName": "client" + }, { "packageName": "@azure-rest/purview-catalog", "projectFolder": "sdk/purview/purview-catalog-rest", @@ -686,16 +691,26 @@ "projectFolder": "sdk/template/template", "versionPolicyName": "client" }, + { + "packageName": "@azure-tools/testing-recorder-new", + "projectFolder": "sdk/test-utils/testing-recorder-new", + "versionPolicyName": "test" + }, { "packageName": "@azure/eslint-plugin-azure-sdk", "projectFolder": "common/tools/eslint-plugin-azure-sdk", "versionPolicyName": "utility" }, { - "packageName": "@azure/test-utils-recorder", + "packageName": "@azure-tools/test-recorder", "projectFolder": "sdk/test-utils/recorder", "versionPolicyName": "utility" }, + { + "packageName": "@azure-tools/test-recorder-new", + "projectFolder": "sdk/test-utils/recorder-new", + "versionPolicyName": "utility" + }, { "packageName": "@azure/test-utils-perfstress", "projectFolder": "sdk/test-utils/perfstress", @@ -771,6 +786,16 @@ "projectFolder": "sdk/identity/perf-tests/identity", "versionPolicyName": "test" }, + { + "packageName": "@azure-tests/perf-service-bus", + "projectFolder": "sdk/servicebus/perf-tests/service-bus", + "versionPolicyName": "test" + }, + { + "packageName": "@azure-tests/perf-event-hubs", + "projectFolder": "sdk/eventhub/perf-tests/event-hubs", + "versionPolicyName": "test" + }, { "packageName": "@azure/mixed-reality-authentication", "projectFolder": "sdk/mixedreality/mixed-reality-authentication", @@ -865,6 +890,51 @@ "packageName": "@azure/arm-webpubsub", "projectFolder": "sdk/web-pubsub/arm-webpubsub", "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-keyvault", + "projectFolder": "sdk/keyvault/arm-keyvault", + "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-sql", + "projectFolder": "sdk/sql/arm-sql", + "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-appservice", + "projectFolder": "sdk/appservice/arm-appservice", + "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-resources-subscriptions", + "projectFolder": "sdk/resources-subscriptions/arm-resources-subscriptions", + "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-templatespecs", + "projectFolder": "sdk/templatespecs/arm-templatespecs", + "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-authorization", + "projectFolder": "sdk/authorization/arm-authorization", + "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-eventhub", + "projectFolder": "sdk/eventhub/arm-eventhub", + "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-purview", + "projectFolder": "sdk/purview/arm-purview", + "versionPolicyName": "management" + }, + { + "packageName": "@azure/arm-servicebus", + "projectFolder": "sdk/servicebus/arm-servicebus", + "versionPolicyName": "management" } ] -} \ No newline at end of file +} diff --git a/samples/Bundling/rollup/js/package.json b/samples/Bundling/rollup/js/package.json index 38ac83ea7049..746e02804736 100644 --- a/samples/Bundling/rollup/js/package.json +++ b/samples/Bundling/rollup/js/package.json @@ -8,8 +8,8 @@ }, "license": "MIT", "devDependencies": { - "@azure/core-lro": "^1.0.0", - "@azure/storage-blob": "^12.0.0", + "@azure/core-lro": "^2.0.0", + "@azure/storage-blob": "^12.7.0", "@rollup/plugin-json": "^4.0.0", "@rollup/plugin-commonjs": "^11.0.1", "@rollup/plugin-node-resolve": "^7.0.0", diff --git a/samples/Bundling/rollup/ts/package.json b/samples/Bundling/rollup/ts/package.json index f94820d2959f..95615adba47f 100644 --- a/samples/Bundling/rollup/ts/package.json +++ b/samples/Bundling/rollup/ts/package.json @@ -9,8 +9,8 @@ }, "license": "MIT", "devDependencies": { - "@azure/core-lro": "^1.0.0", - "@azure/storage-blob": "^12.0.0", + "@azure/core-lro": "^2.0.0", + "@azure/storage-blob": "^12.7.0", "@rollup/plugin-json": "^4.0.0", "@rollup/plugin-commonjs": "^11.0.1", "@rollup/plugin-node-resolve": "^7.0.0", diff --git a/sdk/agrifood/agrifood-farming-rest/karma.conf.js b/sdk/agrifood/agrifood-farming-rest/karma.conf.js index 4381869346ce..b7e613985f60 100644 --- a/sdk/agrifood/agrifood-farming-rest/karma.conf.js +++ b/sdk/agrifood/agrifood-farming-rest/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode, -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function (config) { config.set({ diff --git a/sdk/agrifood/agrifood-farming-rest/package.json b/sdk/agrifood/agrifood-farming-rest/package.json index 9de9ecf72771..800a5812ea65 100644 --- a/sdk/agrifood/agrifood-farming-rest/package.json +++ b/sdk/agrifood/agrifood-farming-rest/package.json @@ -59,7 +59,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:debug": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", @@ -72,7 +72,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -86,8 +85,7 @@ "dependencies": { "@azure/core-auth": "^1.3.0", "@azure-rest/core-client-paging": "1.0.0-beta.1", - "@azure-rest/core-client": "1.0.0-beta.6", - "@azure/core-rest-pipeline": "^1.1.0", + "@azure-rest/core-client": "1.0.0-beta.7", "@azure-rest/core-client-lro": "1.0.0-beta.1", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" @@ -97,7 +95,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/identity": "^1.1.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.13.2", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", diff --git a/sdk/agrifood/agrifood-farming-rest/test/public/farmHeirarchy.spec.ts b/sdk/agrifood/agrifood-farming-rest/test/public/farmHeirarchy.spec.ts index d6b87b515205..64c49963fcc5 100644 --- a/sdk/agrifood/agrifood-farming-rest/test/public/farmHeirarchy.spec.ts +++ b/sdk/agrifood/agrifood-farming-rest/test/public/farmHeirarchy.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { FarmBeatsRestClient, getPoller } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-util"; import { assert } from "chai"; diff --git a/sdk/agrifood/agrifood-farming-rest/test/public/sateliteFlow.spec.ts b/sdk/agrifood/agrifood-farming-rest/test/public/sateliteFlow.spec.ts index 8a2fc3b4db9f..94333e124312 100644 --- a/sdk/agrifood/agrifood-farming-rest/test/public/sateliteFlow.spec.ts +++ b/sdk/agrifood/agrifood-farming-rest/test/public/sateliteFlow.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { FarmBeatsRestClient } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; diff --git a/sdk/agrifood/agrifood-farming-rest/test/public/smoke.spec.ts b/sdk/agrifood/agrifood-farming-rest/test/public/smoke.spec.ts index ffe9c1cd6ebe..326b919c13d6 100644 --- a/sdk/agrifood/agrifood-farming-rest/test/public/smoke.spec.ts +++ b/sdk/agrifood/agrifood-farming-rest/test/public/smoke.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { FarmBeatsRestClient, Farmer, paginate } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; diff --git a/sdk/agrifood/agrifood-farming-rest/test/public/utils/recordedClient.ts b/sdk/agrifood/agrifood-farming-rest/test/public/utils/recordedClient.ts index d52c49b01a58..590991cdc5ce 100644 --- a/sdk/agrifood/agrifood-farming-rest/test/public/utils/recordedClient.ts +++ b/sdk/agrifood/agrifood-farming-rest/test/public/utils/recordedClient.ts @@ -5,7 +5,7 @@ import { Context } from "mocha"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import FarmBeats, { FarmBeatsRestClient } from "../../../src"; import { ClientSecretCredential } from "@azure/identity"; diff --git a/sdk/anomalydetector/ai-anomaly-detector/karma.conf.js b/sdk/anomalydetector/ai-anomaly-detector/karma.conf.js index 0b040721fff7..e7dd6029b2af 100644 --- a/sdk/anomalydetector/ai-anomaly-detector/karma.conf.js +++ b/sdk/anomalydetector/ai-anomaly-detector/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/anomalydetector/ai-anomaly-detector/package.json b/sdk/anomalydetector/ai-anomaly-detector/package.json index 123ba4202aa5..1d9a2acd4ad2 100644 --- a/sdk/anomalydetector/ai-anomaly-detector/package.json +++ b/sdk/anomalydetector/ai-anomaly-detector/package.json @@ -15,7 +15,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "execute:samples": "npm run build:samples && dev-tool samples run dist-samples/javascript dist-samples/typescript/dist/dist-samples/typescript/src/", @@ -27,7 +27,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -71,7 +70,7 @@ }, "devDependencies": { "@azure/dev-tool": "^1.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.6", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", @@ -111,7 +110,7 @@ "rollup-plugin-visualizer": "^4.0.4", "typescript": "~4.2.0", "util": "^0.12.1", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "typedoc": "0.15.2" }, "//sampleConfiguration": { diff --git a/sdk/anomalydetector/ai-anomaly-detector/test/anomalydetector.spec.ts b/sdk/anomalydetector/ai-anomaly-detector/test/anomalydetector.spec.ts index 4b44f893341e..f1839b60c26e 100644 --- a/sdk/anomalydetector/ai-anomaly-detector/test/anomalydetector.spec.ts +++ b/sdk/anomalydetector/ai-anomaly-detector/test/anomalydetector.spec.ts @@ -3,7 +3,7 @@ import { assert } from "chai"; import { Context } from "mocha"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { AnomalyDetectorClient } from "../src/AnomalyDetectorClient"; import { AzureKeyCredential } from "@azure/core-auth"; import { createRecordedAnomalyDetectorClient, testEnv } from "./utils/recordedClients"; diff --git a/sdk/anomalydetector/ai-anomaly-detector/test/utils/recordedClients.ts b/sdk/anomalydetector/ai-anomaly-detector/test/utils/recordedClients.ts index 1931d9847da8..6bc7d3fcabc0 100644 --- a/sdk/anomalydetector/ai-anomaly-detector/test/utils/recordedClients.ts +++ b/sdk/anomalydetector/ai-anomaly-detector/test/utils/recordedClients.ts @@ -4,7 +4,7 @@ import { Context } from "mocha"; import * as dotenv from "dotenv"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { ClientSecretCredential } from "@azure/identity"; import { AnomalyDetectorClient } from "../../src/AnomalyDetectorClient"; diff --git a/sdk/appconfiguration/app-configuration/CHANGELOG.md b/sdk/appconfiguration/app-configuration/CHANGELOG.md index 5cd6ea9748b6..f7d110d5d742 100644 --- a/sdk/appconfiguration/app-configuration/CHANGELOG.md +++ b/sdk/appconfiguration/app-configuration/CHANGELOG.md @@ -1,5 +1,18 @@ # Release History +## 1.3.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +- Using this SDK with the resources from Sovereign clouds (AzureUSGovernment/AzureChinaCloud) would have failed with an authorization error. + Has been fixed in [#17583](https://github.com/Azure/azure-sdk-for-js/pull/17583) + +### Other Changes + ## 1.3.0 (2021-07-26) ### Features Added diff --git a/sdk/appconfiguration/app-configuration/README.md b/sdk/appconfiguration/app-configuration/README.md index 2e5dff163043..7e93407f4e2b 100644 --- a/sdk/appconfiguration/app-configuration/README.md +++ b/sdk/appconfiguration/app-configuration/README.md @@ -9,6 +9,7 @@ Use the client library for App Configuration to: - Replay settings from any point in time Key links: + - [Source code](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/appconfiguration/app-configuration/) - [Package (NPM)](https://www.npmjs.com/package/@azure/app-configuration) - [API reference documentation](https://docs.microsoft.com/javascript/api/@azure/app-configuration) @@ -72,6 +73,23 @@ const client = new appConfig.AppConfigurationClient( More information about `@azure/identity` can be found [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/README.md) +#### Sovereign Clouds + +To authenticate with a resource in a [Sovereign Cloud](https://docs.microsoft.com/azure/active-directory/develop/authentication-national-cloud), you will need to set the `authorityHost` in the credential options or via the `AZURE_AUTHORITY_HOST` environment variable. + +```javascript +const { AppConfigurationClient } = require("@azure/app-configuration"); +const { DefaultAzureCredential, AzureAuthorityHosts } = require("@azure/identity"); + +// Create an AppConfigurationClient that will authenticate through AAD in the China cloud +const client = new AppConfigurationClient( + endpoint, // ex: .azconfig.azure.cn> + new DefaultAzureCredential({ authorityHost: AzureAuthorityHosts.AzureChina }) +); +``` + +More information about `@azure/identity` can be found [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/README.md) + #### Authenticating with a connection string To get the Primary **connection string** for an App Configuration resource you can use this Azure CLI command: diff --git a/sdk/appconfiguration/app-configuration/package.json b/sdk/appconfiguration/app-configuration/package.json index 990207b2658a..ca46c6e28a8e 100644 --- a/sdk/appconfiguration/app-configuration/package.json +++ b/sdk/appconfiguration/app-configuration/package.json @@ -2,7 +2,7 @@ "name": "@azure/app-configuration", "author": "Microsoft Corporation", "description": "An isomorphic client library for the Azure App Configuration service.", - "version": "1.3.0", + "version": "1.3.1", "sdk-type": "client", "keywords": [ "node", @@ -39,7 +39,7 @@ ], "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "npm run build:node && npm run build:browser", + "build": "npm run clean && npm run build:node && npm run build:browser", "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1 && npm run extract-api", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:test": "npm run build:test:node && npm run build:test:browser", @@ -54,7 +54,6 @@ "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", "lint": "eslint package.json api-extractor.json src test --ext .ts", - "prebuild": "npm run clean", "pack": "npm pack 2>&1", "swagger": "autorest --typescript swagger/swagger.md", "integration-test": "npm run integration-test:node && npm run integration-test:browser", @@ -97,9 +96,9 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/keyvault-secrets": "^4.2.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-inject": "^4.0.0", @@ -138,7 +137,7 @@ "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-terser": "^5.1.1", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "uglify-js": "^3.4.9", "cross-env": "^7.0.2", diff --git a/sdk/appconfiguration/app-configuration/samples/v1/javascript/package.json b/sdk/appconfiguration/app-configuration/samples/v1/javascript/package.json index 5e87ad2fc0d9..e1dd37b2a5c2 100644 --- a/sdk/appconfiguration/app-configuration/samples/v1/javascript/package.json +++ b/sdk/appconfiguration/app-configuration/samples/v1/javascript/package.json @@ -29,6 +29,6 @@ "@azure/app-configuration": "next", "dotenv": "latest", "@azure/keyvault-secrets": "^4.1.0", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.5" } } diff --git a/sdk/appconfiguration/app-configuration/samples/v1/typescript/package.json b/sdk/appconfiguration/app-configuration/samples/v1/typescript/package.json index 70205a9e89ba..107c733edd25 100644 --- a/sdk/appconfiguration/app-configuration/samples/v1/typescript/package.json +++ b/sdk/appconfiguration/app-configuration/samples/v1/typescript/package.json @@ -33,7 +33,7 @@ "@azure/app-configuration": "next", "dotenv": "latest", "@azure/keyvault-secrets": "^4.1.0", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.5" }, "devDependencies": { "typescript": "~4.2.0", diff --git a/sdk/appconfiguration/app-configuration/src/appConfigCredential.ts b/sdk/appconfiguration/app-configuration/src/appConfigCredential.ts index 23efc2e74c25..91eb2d3ee6b4 100644 --- a/sdk/appconfiguration/app-configuration/src/appConfigCredential.ts +++ b/sdk/appconfiguration/app-configuration/src/appConfigCredential.ts @@ -45,11 +45,12 @@ export class AppConfigCredential implements ServiceClientCredentials { webResource.headers.set("x-ms-date", utcNow); webResource.headers.set("x-ms-content-sha256", contentHash); + // Syntax for Authorization header + // Reference - https://docs.microsoft.com/en-us/azure/azure-app-configuration/rest-api-authentication-hmac#syntax webResource.headers.set( "Authorization", - `HMAC-SHA256 Credential=${this.credential}, SignedHeaders=${signedHeaders}, Signature=${signature}` + `HMAC-SHA256 Credential=${this.credential}&SignedHeaders=${signedHeaders}&Signature=${signature}` ); - return webResource; } } diff --git a/sdk/appconfiguration/app-configuration/src/appConfigurationClient.ts b/sdk/appconfiguration/app-configuration/src/appConfigurationClient.ts index ab457e3195a4..db2acbc32a53 100644 --- a/sdk/appconfiguration/app-configuration/src/appConfigurationClient.ts +++ b/sdk/appconfiguration/app-configuration/src/appConfigurationClient.ts @@ -72,7 +72,7 @@ const packageName = "azsdk-js-app-configuration"; * User - Agent header. There's a unit test that makes sure it always stays in sync. * @internal */ -export const packageVersion = "1.3.0"; +export const packageVersion = "1.3.1"; const apiVersion = "1.0"; const ConnectionStringRegex = /Endpoint=(.*);Id=(.*);Secret=(.*)/; const deserializationContentTypes = { diff --git a/sdk/appconfiguration/app-configuration/src/generated/src/appConfigurationContext.ts b/sdk/appconfiguration/app-configuration/src/generated/src/appConfigurationContext.ts index dc5c69321614..a105af59eca3 100644 --- a/sdk/appconfiguration/app-configuration/src/generated/src/appConfigurationContext.ts +++ b/sdk/appconfiguration/app-configuration/src/generated/src/appConfigurationContext.ts @@ -10,7 +10,7 @@ import * as coreHttp from "@azure/core-http"; import { ApiVersion10, AppConfigurationOptionalParams } from "./models"; const packageName = "app-configuration"; -const packageVersion = "1.3.0"; +const packageVersion = "1.3.1"; /** @internal */ export class AppConfigurationContext extends coreHttp.ServiceClient { diff --git a/sdk/appconfiguration/app-configuration/test/internal/http.spec.ts b/sdk/appconfiguration/app-configuration/test/internal/http.spec.ts index 32a476e598e3..f8049245f56b 100644 --- a/sdk/appconfiguration/app-configuration/test/internal/http.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/internal/http.spec.ts @@ -20,7 +20,7 @@ import { } from "../public/utils/testHelpers"; import * as chai from "chai"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { Context } from "mocha"; describe("http request related tests", function() { diff --git a/sdk/appconfiguration/app-configuration/test/public/auth.spec.ts b/sdk/appconfiguration/app-configuration/test/public/auth.spec.ts index fe2a491391a9..864a98e2cb7a 100644 --- a/sdk/appconfiguration/app-configuration/test/public/auth.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/public/auth.spec.ts @@ -8,7 +8,7 @@ import { CredsAndEndpoint } from "./utils/testHelpers"; import * as assert from "assert"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { Context } from "mocha"; describe("Authentication", () => { diff --git a/sdk/appconfiguration/app-configuration/test/public/etags.spec.ts b/sdk/appconfiguration/app-configuration/test/public/etags.spec.ts index 5791b84edaa9..02ceebc8ccc4 100644 --- a/sdk/appconfiguration/app-configuration/test/public/etags.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/public/etags.spec.ts @@ -9,7 +9,7 @@ import { assertThrowsRestError } from "./utils/testHelpers"; import * as assert from "assert"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { Context } from "mocha"; describe("etags", () => { diff --git a/sdk/appconfiguration/app-configuration/test/public/featureFlag.spec.ts b/sdk/appconfiguration/app-configuration/test/public/featureFlag.spec.ts index 325e5bdffe11..780462b7a5a6 100644 --- a/sdk/appconfiguration/app-configuration/test/public/featureFlag.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/public/featureFlag.spec.ts @@ -10,7 +10,7 @@ import { featureFlagContentType, featureFlagPrefix } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { Context } from "mocha"; import { FeatureFlagValue, isFeatureFlag, parseFeatureFlag } from "../../src/featureFlag"; diff --git a/sdk/appconfiguration/app-configuration/test/public/index.readonlytests.spec.ts b/sdk/appconfiguration/app-configuration/test/public/index.readonlytests.spec.ts index 619996f7ae7c..02d9bec4e5aa 100644 --- a/sdk/appconfiguration/app-configuration/test/public/index.readonlytests.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/public/index.readonlytests.spec.ts @@ -10,7 +10,7 @@ import { } from "./utils/testHelpers"; import { AppConfigurationClient } from "../../src"; import * as assert from "assert"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { Context } from "mocha"; describe("AppConfigurationClient (set|clear)ReadOnly", () => { diff --git a/sdk/appconfiguration/app-configuration/test/public/index.spec.ts b/sdk/appconfiguration/app-configuration/test/public/index.spec.ts index 4cc95370098c..fd9ecd86c298 100644 --- a/sdk/appconfiguration/app-configuration/test/public/index.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/public/index.spec.ts @@ -12,7 +12,7 @@ import { startRecorder } from "./utils/testHelpers"; import { AppConfigurationClient, ConfigurationSetting, ConfigurationSettingParam } from "../../src"; -import { Recorder, delay } from "@azure/test-utils-recorder"; +import { Recorder, delay, isLiveMode } from "@azure-tools/test-recorder"; import { Context } from "mocha"; describe("AppConfigurationClient", () => { @@ -723,7 +723,15 @@ describe("AppConfigurationClient", () => { assert.ok(foundMyExactSettingToo); }); - it("list with multiple pages", async () => { + it("list with multiple pages", async function() { + // This occasionally hits 429 error (throttling) since we are making 100s of requests in the test to create, get and delete keys. + // To avoid hitting the service with too many requests, skipping the test in live. + // More details at https://github.com/Azure/azure-sdk-for-js/issues/16743 + // + // Remove the following line if you want to hit the live service. + // eslint-disable-next-line @typescript-eslint/no-invalid-this + if (isLiveMode()) this.skip(); + const key = recorder.getUniqueName("listMultiplePagesOfResults"); // this number is arbitrarily chosen to match the size of a page + 1 diff --git a/sdk/appconfiguration/app-configuration/test/public/secretReference.spec.ts b/sdk/appconfiguration/app-configuration/test/public/secretReference.spec.ts index b0e7140fb4a9..d763796b34e2 100644 --- a/sdk/appconfiguration/app-configuration/test/public/secretReference.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/public/secretReference.spec.ts @@ -12,7 +12,7 @@ import { secretReferenceContentType, SecretReferenceValue } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { Context } from "mocha"; describe("AppConfigurationClient - SecretReference", () => { diff --git a/sdk/appconfiguration/app-configuration/test/public/throwOrNotThrow.spec.ts b/sdk/appconfiguration/app-configuration/test/public/throwOrNotThrow.spec.ts index f48867c830ab..52d75689ff70 100644 --- a/sdk/appconfiguration/app-configuration/test/public/throwOrNotThrow.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/public/throwOrNotThrow.spec.ts @@ -9,7 +9,7 @@ import { startRecorder } from "./utils/testHelpers"; import * as assert from "assert"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { Context } from "mocha"; // There's been discussion on other teams about what errors are thrown when. This diff --git a/sdk/appconfiguration/app-configuration/test/public/utils/testHelpers.ts b/sdk/appconfiguration/app-configuration/test/public/utils/testHelpers.ts index b6e8f0273873..c9d2190a4576 100644 --- a/sdk/appconfiguration/app-configuration/test/public/utils/testHelpers.ts +++ b/sdk/appconfiguration/app-configuration/test/public/utils/testHelpers.ts @@ -14,7 +14,7 @@ import { RecorderEnvironmentSetup, record, Recorder -} from "@azure/test-utils-recorder"; +} from "@azure-tools/test-recorder"; import * as assert from "assert"; // allow loading from a .env file as an alternative to defining the variable diff --git a/sdk/appconfiguration/app-configuration/tests.yml b/sdk/appconfiguration/app-configuration/tests.yml index 3aadd98bc2d0..30e1ac918deb 100644 --- a/sdk/appconfiguration/app-configuration/tests.yml +++ b/sdk/appconfiguration/app-configuration/tests.yml @@ -5,6 +5,8 @@ stages: parameters: PackageName: "@azure/app-configuration" ServiceDirectory: appconfiguration + TimeoutInMinutes: 200 + SupportedClouds: 'Public,UsGov,China' EnvVars: AZURE_CLIENT_ID: $(aad-azure-sdk-test-client-id) AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) diff --git a/sdk/appconfiguration/perf-tests/app-configuration/package.json b/sdk/appconfiguration/perf-tests/app-configuration/package.json index 39599a2ec2c2..9ce156db3a57 100644 --- a/sdk/appconfiguration/perf-tests/app-configuration/package.json +++ b/sdk/appconfiguration/perf-tests/app-configuration/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-app-configuration", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -20,26 +21,25 @@ "rimraf": "^3.0.0", "uuid": "^8.3.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "private": true, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", - "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-esm test-dist typings *.tgz *.log", - "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-esm test-dist types *.tgz *.log", + "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", "integration-test": "echo skipped", "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/appconfiguration/perf-tests/app-configuration/test/listSettings.spec.ts b/sdk/appconfiguration/perf-tests/app-configuration/test/listSettings.spec.ts index f2d60d6e86ac..e0090e0594e1 100644 --- a/sdk/appconfiguration/perf-tests/app-configuration/test/listSettings.spec.ts +++ b/sdk/appconfiguration/perf-tests/app-configuration/test/listSettings.spec.ts @@ -43,7 +43,7 @@ export class ListSettingsTest extends AppConfigTest { for await (const response of this.client .listConfigurationSettings({ keyFilter: ListSettingsTest.prefix + "*" }) .byPage()) { - // eslint-disable-next-line no-empty + // eslint-disable-next-line no-empty for (const _ of response.items) { } } diff --git a/sdk/appconfiguration/perf-tests/app-configuration/tsconfig.json b/sdk/appconfiguration/perf-tests/app-configuration/tsconfig.json index 3e6fb394a933..ae1e95af25c7 100644 --- a/sdk/appconfiguration/perf-tests/app-configuration/tsconfig.json +++ b/sdk/appconfiguration/perf-tests/app-configuration/tsconfig.json @@ -3,14 +3,9 @@ "compilerOptions": { "module": "CommonJS", "declarationDir": "./typings/latest", - "lib": [ - "ES6", - "ESNext.AsyncIterable" - ], + "lib": ["ES6", "ESNext.AsyncIterable"], "noEmit": true }, "compileOnSave": true, - "include": [ - "./test/**/*.ts" - ] + "include": ["./test/**/*.ts"] } diff --git a/sdk/appconfiguration/test-resources.json b/sdk/appconfiguration/test-resources.json index e006c73adfb7..2ad2a3c014dd 100644 --- a/sdk/appconfiguration/test-resources.json +++ b/sdk/appconfiguration/test-resources.json @@ -9,38 +9,99 @@ "description": "The base resource name." } }, + "tenantId": { + "type": "string", + "metadata": { + "description": "The tenant ID to which the application and resources belong." + } + }, + "testApplicationId": { + "type": "string", + "metadata": { + "description": "The application client ID used to run tests." + } + }, + "testApplicationSecret": { + "type": "string", + "metadata": { + "description": "The application client secret used to run tests." + } + }, + "testApplicationOid": { + "type": "string", + "metadata": { + "description": "The client OID to grant access to test resources." + } + }, + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]", + "metadata": { + "description": "The location of the resource. By default, this is the same as the resource group." + } + }, "sku": { "defaultValue": "Standard", "type": "string" + }, + "azConfigPrefix": { + "defaultValue": "azconfig-resource-js", + "type": "string" + }, + "azConfigEndpointSuffix": { + "defaultValue": ".azconfig.io", + "type": "string" } }, "variables": { "configurationApiVersion": "2019-10-01", - "accountName": "[parameters('baseName')]", - "endpoint": "[concat('https://', parameters('baseName'), '.azconfig.io')]" + "roleDefinitionId": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/5ae67dd6-50cb-40e7-96ff-dc2bfa4b606b', subscription().subscriptionId)]", + "uniqueAzConfigName": "[format('{0}-{1}', parameters('baseName'), parameters('azConfigPrefix'))]", + "endpointValue": "[format('https://{0}-{1}{2}', parameters('baseName'), parameters('azConfigPrefix'), parameters('azConfigEndpointSuffix'))]" }, "resources": [ { "type": "Microsoft.AppConfiguration/configurationStores", "apiVersion": "[variables('configurationApiVersion')]", - "name": "[variables('accountName')]", - "location": "[resourceGroup().location]", + "name": "[variables('uniqueAzConfigName')]", + "location": "[parameters('location')]", "sku": { "name": "[parameters('sku')]" }, "properties": { - "endpoint": "[variables('endpoint')]" + "endpoint": "[variables('endpointValue')]" + } + }, + { + "type": "Microsoft.Authorization/roleAssignments", + "apiVersion": "2018-09-01-preview", + "name": "[guid(resourceGroup().id)]", + "properties": { + "roleDefinitionId": "[variables('roleDefinitionId')]", + "principalId": "[parameters('testApplicationOid')]" } } ], "outputs": { "APPCONFIG_CONNECTION_STRING": { "type": "string", - "value": "[listKeys(resourceId('Microsoft.AppConfiguration/configurationStores', variables('accountName')), variables('configurationApiVersion')).value[0].connectionString]" + "value": "[listKeys(resourceId('Microsoft.AppConfiguration/configurationStores',variables('uniqueAzConfigName')), variables('configurationApiVersion')).value[0].connectionString]" }, "AZ_CONFIG_ENDPOINT": { "type": "string", - "value": "[variables('endpoint')]" + "value": "[variables('endpointValue')]" + }, + "AZURE_TENANT_ID": { + "type": "string", + "value": "[parameters('tenantId')]" + }, + "AZURE_CLIENT_ID": { + "type": "string", + "value": "[parameters('testApplicationId')]" + }, + "AZURE_CLIENT_SECRET": { + "type": "string", + "value": "[parameters('testApplicationSecret')]" } } } diff --git a/sdk/applicationinsights/applicationinsights-query/README.md b/sdk/applicationinsights/applicationinsights-query/README.md index 2026ff8127e7..6dba2158322e 100644 --- a/sdk/applicationinsights/applicationinsights-query/README.md +++ b/sdk/applicationinsights/applicationinsights-query/README.md @@ -4,8 +4,10 @@ This package contains an isomorphic SDK for ApplicationInsightsDataClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. + +See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. ### How to Install diff --git a/sdk/appservice/arm-appservice/CHANGELOG.md b/sdk/appservice/arm-appservice/CHANGELOG.md new file mode 100644 index 000000000000..ae7e44242bc3 --- /dev/null +++ b/sdk/appservice/arm-appservice/CHANGELOG.md @@ -0,0 +1,27 @@ +# Release History + +## 30.0.0-beta.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed +- fix package issues + +### Other Changes + +## 30.0.0-beta.1 (2021-08-13) + +This is the first preview for the new version of the `@azure/arm-appservice` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/keyvault/arm-keyvault/LICENSE.txt b/sdk/appservice/arm-appservice/LICENSE similarity index 96% rename from sdk/keyvault/arm-keyvault/LICENSE.txt rename to sdk/appservice/arm-appservice/LICENSE index b73b4a1293c3..ccb63b166732 100644 --- a/sdk/keyvault/arm-keyvault/LICENSE.txt +++ b/sdk/appservice/arm-appservice/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2019 Microsoft +Copyright (c) 2021 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 @@ -18,4 +18,4 @@ 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. +SOFTWARE. \ No newline at end of file diff --git a/sdk/appservice/arm-appservice/README.md b/sdk/appservice/arm-appservice/README.md index 785fa685a535..43cec2856a7e 100644 --- a/sdk/appservice/arm-appservice/README.md +++ b/sdk/appservice/arm-appservice/README.md @@ -1,109 +1,96 @@ -## Azure WebSiteManagementClient SDK for JavaScript +# Azure WebSiteManagement client library for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for WebSiteManagementClient. +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure WebSiteManagement client. + +You can also follow this [link](https://github.com/Azure/azure-sdk-for-js/tree/feature/v4/sdk/appservice/arm-appservice) to see the previous stable versions for this package. Note that they might not implement the guidelines(https://azure.github.io/azure-sdk/typescript_introduction.html) or have the same feature set as the new releases. + +WebSite Management Client + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/appservice/arm-appservice) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-appservice) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-appservice) | +[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. +- Latest versions of Safari, Chrome, Edge and Firefox. ### Prerequisites -You must have an [Azure subscription](https://azure.microsoft.com/free/). +- An [Azure subscription][azure_sub]. -### How to install +### Install the `@azure/arm-appservice` package -To use this SDK in your project, you will need to install two packages. -- `@azure/arm-appservice` that contains the client. -- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. +Install the Azure WebSiteManagement client library for JavaScript with `npm`: -Install both packages using the below command: ```bash -npm install --save @azure/arm-appservice @azure/identity +npm install @azure/arm-appservice ``` -> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. -If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. +### Create and authenticate a `WebSiteManagementClient` -### How to use +To create a client object to access the Azure WebSiteManagement API, you will need the `endpoint` of your Azure WebSiteManagement resource and a `credential`. The Azure WebSiteManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure WebSiteManagement resource in the [Azure Portal][azure_portal]. -- If you are writing a client side browser application, - - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. - - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. -- If you are writing a server side application, - - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) - - Complete the set up steps required by the credential if any. - - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. +#### Using an Azure Active Directory Credential -In the below samples, we pass the credential and the Azure subscription id to instantiate the client. -Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: -#### nodejs - Authentication, client creation, and list appServiceCertificateOrders as an example written in JavaScript. +```bash +npm install @azure/identity +``` -##### Sample code +You will also need to **register a new AAD application and grant access to Azure WebSiteManagement** 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 { DefaultAzureCredential } = require("@azure/identity"); const { WebSiteManagementClient } = require("@azure/arm-appservice"); -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples -// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. -const creds = new DefaultAzureCredential(); -const client = new WebSiteManagementClient(creds, subscriptionId); - -client.appServiceCertificateOrders.list().then((result) => { - console.log("The result is:"); - console.log(result); -}).catch((err) => { - console.log("An error occurred:"); - console.error(err); -}); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new WebSiteManagementClient(new DefaultAzureCredential(), subscriptionId); ``` -#### browser - Authentication, client creation, and list appServiceCertificateOrders as an example written in JavaScript. - -In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. - - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. - - Note down the client Id from the previous step and use it in the browser sample below. - -##### Sample code - -- index.html - -```html - - - - @azure/arm-appservice sample - - - - - - - +## Key concepts + +### WebSiteManagementClient + +`WebSiteManagementClient` is the primary interface for developers using the Azure WebSiteManagement client library. Explore the methods on this client object to understand the different features of the Azure WebSiteManagement 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 +import { setLogLevel } from "@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) +- [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%2Fappservice%2Farm-appservice%2FREADME.png) -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/.\sdk\appservice\arm-appservice\/README.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/appservice/arm-appservice/_meta.json b/sdk/appservice/arm-appservice/_meta.json new file mode 100644 index 000000000000..1734633b080d --- /dev/null +++ b/sdk/appservice/arm-appservice/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "8036a01b7eb766906f238e4c5d0ef34b9565af9a", + "readme": "specification/web/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/web/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.8.20210810.1", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-alpha.8.20210810.1" +} \ No newline at end of file diff --git a/sdk/appservice/arm-appservice/api-extractor.json b/sdk/appservice/arm-appservice/api-extractor.json new file mode 100644 index 000000000000..44c291a575b0 --- /dev/null +++ b/sdk/appservice/arm-appservice/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-appservice.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/appservice/arm-appservice/package.json b/sdk/appservice/arm-appservice/package.json index 5ffcf4b60522..a715de06e9fc 100644 --- a/sdk/appservice/arm-appservice/package.json +++ b/sdk/appservice/arm-appservice/package.json @@ -1,13 +1,20 @@ { "name": "@azure/arm-appservice", + "sdk-type": "mgmt", "author": "Microsoft Corporation", - "description": "WebSiteManagementClient Library with typescript type definitions for node.js and browser.", - "version": "8.1.0", + "description": "A generated SDK for WebSiteManagementClient.", + "version": "30.0.0-beta.2", + "engines": { + "node": ">=12.0.0" + }, "dependencies": { - "@azure/ms-rest-azure-js": "^2.1.0", - "@azure/ms-rest-js": "^2.2.0", - "@azure/core-auth": "^1.1.4", - "tslib": "^1.10.0" + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", + "@azure/core-paging": "^1.1.1", + "@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", @@ -17,15 +24,21 @@ "isomorphic" ], "license": "MIT", - "main": "./dist/arm-appservice.js", - "module": "./esm/webSiteManagementClient.js", - "types": "./esm/webSiteManagementClient.d.ts", + "main": "./dist/index.js", + "module": "./dist-esm/index.js", + "types": "./types/arm-appservice.d.ts", "devDependencies": { - "typescript": "^3.6.0", - "rollup": "^1.18.0", - "rollup-plugin-node-resolve": "^5.2.0", + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", - "uglify-js": "^3.6.0" + "rollup-plugin-node-resolve": "^3.4.0", + "typescript": "~4.2.0", + "uglify-js": "^3.4.9" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/appservice/arm-appservice", "repository": { @@ -40,19 +53,46 @@ "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.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" + "tsconfig.json", + "review/*", + "CHANGELOG.md", + "types" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify", - "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-appservice.js.map'\" -o ./dist/arm-appservice.min.js ./dist/arm-appservice.js", - "prepack": "npm install && npm run build" + "build": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" }, "sideEffects": false, "autoPublish": true diff --git a/sdk/appservice/arm-appservice/review/arm-appservice.api.md b/sdk/appservice/arm-appservice/review/arm-appservice.api.md new file mode 100644 index 000000000000..abba874a02c4 --- /dev/null +++ b/sdk/appservice/arm-appservice/review/arm-appservice.api.md @@ -0,0 +1,10632 @@ +## API Report File for "@azure/arm-appservice" + +> 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 AbnormalTimePeriod { + endTime?: Date; + events?: DetectorAbnormalTimePeriod[]; + solutions?: Solution[]; + startTime?: Date; +} + +// @public +export interface Address { + address1: string; + address2?: string; + city: string; + country: string; + postalCode: string; + state: string; +} + +// @public +export type AddressResponse = ProxyOnlyResource & { + serviceIpAddress?: string; + internalIpAddress?: string; + outboundIpAddresses?: string[]; + vipMappings?: VirtualIPMapping[]; +}; + +// @public +export interface AllowedAudiencesValidation { + allowedAudiences?: string[]; +} + +// @public +export type AllowedPrincipals = ProxyOnlyResource & { + groups?: string[]; + identities?: string[]; +}; + +// @public +export interface AnalysisData { + data?: NameValuePair[][]; + detectorDefinition?: DetectorDefinition; + detectorMetaData?: ResponseMetaData; + metrics?: DiagnosticMetricSet[]; + source?: string; +} + +// @public +export type AnalysisDefinition = ProxyOnlyResource & { + readonly description?: string; +}; + +// @public +export interface ApiDefinitionInfo { + url?: string; +} + +// @public +export type ApiKVReference = ProxyOnlyResource & { + reference?: string; + status?: ResolveStatus; + vaultName?: string; + secretName?: string; + secretVersion?: string; + identityType?: ManagedServiceIdentity; + details?: string; + source?: "KeyVault"; + activeVersion?: string; +}; + +// @public (undocumented) +export interface ApiKVReferenceCollection { + readonly nextLink?: string; + value: ApiKVReference[]; +} + +// @public +export interface ApiManagementConfig { + id?: string; +} + +// @public +export interface AppInsightsWebAppStackSettings { + readonly isDefaultOff?: boolean; + readonly isSupported?: boolean; +} + +// @public +export type Apple = ProxyOnlyResource & { + enabled?: boolean; + registration?: AppleRegistration; + login?: LoginScopes; +}; + +// @public +export interface AppleRegistration { + clientId?: string; + clientSecretSettingName?: string; +} + +// @public +export interface ApplicationLogsConfig { + azureBlobStorage?: AzureBlobStorageApplicationLogsConfig; + azureTableStorage?: AzureTableStorageApplicationLogsConfig; + fileSystem?: FileSystemApplicationLogsConfig; +} + +// @public +export interface ApplicationStack { + dependency?: string; + display?: string; + frameworks?: ApplicationStack[]; + isDeprecated?: ApplicationStack[]; + majorVersions?: StackMajorVersion[]; + name?: string; +} + +// @public +export interface ApplicationStackCollection { + readonly nextLink?: string; + value: ApplicationStackResource[]; +} + +// @public +export type ApplicationStackResource = ProxyOnlyResource & { + namePropertiesName?: string; + display?: string; + dependency?: string; + majorVersions?: StackMajorVersion[]; + frameworks?: ApplicationStack[]; + isDeprecated?: ApplicationStack[]; +}; + +// @public (undocumented) +export interface AppLogsConfiguration { + // (undocumented) + destination?: string; + // (undocumented) + logAnalyticsConfiguration?: LogAnalyticsConfiguration; +} + +// @public +export type AppRegistration = ProxyOnlyResource & { + appId?: string; + appSecretSettingName?: string; +}; + +// @public +export interface AppServiceCertificate { + keyVaultId?: string; + keyVaultSecretName?: string; + readonly provisioningState?: KeyVaultSecretStatus; +} + +// @public +export interface AppServiceCertificateCollection { + readonly nextLink?: string; + value: AppServiceCertificateResource[]; +} + +// @public +export type AppServiceCertificateOrder = Resource & { + certificates?: { + [propertyName: string]: AppServiceCertificate; + }; + distinguishedName?: string; + readonly domainVerificationToken?: string; + validityInYears?: number; + keySize?: number; + productType?: CertificateProductType; + autoRenew?: boolean; + readonly provisioningState?: ProvisioningState; + readonly status?: CertificateOrderStatus; + readonly signedCertificate?: CertificateDetails; + csr?: string; + readonly intermediate?: CertificateDetails; + readonly root?: CertificateDetails; + readonly serialNumber?: string; + readonly lastCertificateIssuanceTime?: Date; + readonly expirationTime?: Date; + readonly isPrivateKeyExternal?: boolean; + readonly appServiceCertificateNotRenewableReasons?: AppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem[]; + readonly nextAutoRenewalTimeStamp?: Date; + readonly contact?: CertificateOrderContact; +}; + +// @public +export interface AppServiceCertificateOrderCollection { + readonly nextLink?: string; + value: AppServiceCertificateOrder[]; +} + +// @public +export type AppServiceCertificateOrderPatchResource = ProxyOnlyResource & { + certificates?: { + [propertyName: string]: AppServiceCertificate; + }; + distinguishedName?: string; + readonly domainVerificationToken?: string; + validityInYears?: number; + keySize?: number; + productType?: CertificateProductType; + autoRenew?: boolean; + readonly provisioningState?: ProvisioningState; + readonly status?: CertificateOrderStatus; + readonly signedCertificate?: CertificateDetails; + csr?: string; + readonly intermediate?: CertificateDetails; + readonly root?: CertificateDetails; + readonly serialNumber?: string; + readonly lastCertificateIssuanceTime?: Date; + readonly expirationTime?: Date; + readonly isPrivateKeyExternal?: boolean; + readonly appServiceCertificateNotRenewableReasons?: AppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem[]; + readonly nextAutoRenewalTimeStamp?: Date; + readonly contact?: CertificateOrderContact; +}; + +// @public +export type AppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem = string; + +// @public +export type AppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem = string; + +// @public +export interface AppServiceCertificateOrders { + beginCreateOrUpdate(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: AppServiceCertificateOrder, options?: AppServiceCertificateOrdersCreateOrUpdateOptionalParams): Promise, AppServiceCertificateOrdersCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: AppServiceCertificateOrder, options?: AppServiceCertificateOrdersCreateOrUpdateOptionalParams): Promise; + beginCreateOrUpdateCertificate(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: AppServiceCertificateResource, options?: AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams): Promise, AppServiceCertificateOrdersCreateOrUpdateCertificateResponse>>; + beginCreateOrUpdateCertificateAndWait(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: AppServiceCertificateResource, options?: AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams): Promise; + delete(resourceGroupName: string, certificateOrderName: string, options?: AppServiceCertificateOrdersDeleteOptionalParams): Promise; + deleteCertificate(resourceGroupName: string, certificateOrderName: string, name: string, options?: AppServiceCertificateOrdersDeleteCertificateOptionalParams): Promise; + get(resourceGroupName: string, certificateOrderName: string, options?: AppServiceCertificateOrdersGetOptionalParams): Promise; + getCertificate(resourceGroupName: string, certificateOrderName: string, name: string, options?: AppServiceCertificateOrdersGetCertificateOptionalParams): Promise; + list(options?: AppServiceCertificateOrdersListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: AppServiceCertificateOrdersListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listCertificates(resourceGroupName: string, certificateOrderName: string, options?: AppServiceCertificateOrdersListCertificatesOptionalParams): PagedAsyncIterableIterator; + reissue(resourceGroupName: string, certificateOrderName: string, reissueCertificateOrderRequest: ReissueCertificateOrderRequest, options?: AppServiceCertificateOrdersReissueOptionalParams): Promise; + renew(resourceGroupName: string, certificateOrderName: string, renewCertificateOrderRequest: RenewCertificateOrderRequest, options?: AppServiceCertificateOrdersRenewOptionalParams): Promise; + resendEmail(resourceGroupName: string, certificateOrderName: string, options?: AppServiceCertificateOrdersResendEmailOptionalParams): Promise; + resendRequestEmails(resourceGroupName: string, certificateOrderName: string, nameIdentifier: NameIdentifier, options?: AppServiceCertificateOrdersResendRequestEmailsOptionalParams): Promise; + retrieveCertificateActions(resourceGroupName: string, name: string, options?: AppServiceCertificateOrdersRetrieveCertificateActionsOptionalParams): Promise; + retrieveCertificateEmailHistory(resourceGroupName: string, name: string, options?: AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptionalParams): Promise; + retrieveSiteSeal(resourceGroupName: string, certificateOrderName: string, siteSealRequest: SiteSealRequest, options?: AppServiceCertificateOrdersRetrieveSiteSealOptionalParams): Promise; + update(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: AppServiceCertificateOrderPatchResource, options?: AppServiceCertificateOrdersUpdateOptionalParams): Promise; + updateCertificate(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: AppServiceCertificatePatchResource, options?: AppServiceCertificateOrdersUpdateCertificateOptionalParams): Promise; + validatePurchaseInformation(appServiceCertificateOrder: AppServiceCertificateOrder, options?: AppServiceCertificateOrdersValidatePurchaseInformationOptionalParams): Promise; + verifyDomainOwnership(resourceGroupName: string, certificateOrderName: string, options?: AppServiceCertificateOrdersVerifyDomainOwnershipOptionalParams): Promise; +} + +// @public +export interface AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceCertificateOrdersCreateOrUpdateCertificateResponse = AppServiceCertificateResource; + +// @public +export interface AppServiceCertificateOrdersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceCertificateOrdersCreateOrUpdateResponse = AppServiceCertificateOrder; + +// @public +export interface AppServiceCertificateOrdersDeleteCertificateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceCertificateOrdersDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceCertificateOrdersGetCertificateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersGetCertificateResponse = AppServiceCertificateResource; + +// @public +export interface AppServiceCertificateOrdersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersGetResponse = AppServiceCertificateOrder; + +// @public +export interface AppServiceCertificateOrdersListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersListByResourceGroupNextResponse = AppServiceCertificateOrderCollection; + +// @public +export interface AppServiceCertificateOrdersListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersListByResourceGroupResponse = AppServiceCertificateOrderCollection; + +// @public +export interface AppServiceCertificateOrdersListCertificatesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersListCertificatesNextResponse = AppServiceCertificateCollection; + +// @public +export interface AppServiceCertificateOrdersListCertificatesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersListCertificatesResponse = AppServiceCertificateCollection; + +// @public +export interface AppServiceCertificateOrdersListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersListNextResponse = AppServiceCertificateOrderCollection; + +// @public +export interface AppServiceCertificateOrdersListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersListResponse = AppServiceCertificateOrderCollection; + +// @public +export interface AppServiceCertificateOrdersReissueOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceCertificateOrdersRenewOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceCertificateOrdersResendEmailOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceCertificateOrdersResendRequestEmailsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceCertificateOrdersRetrieveCertificateActionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersRetrieveCertificateActionsResponse = CertificateOrderAction[]; + +// @public +export interface AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse = CertificateEmail[]; + +// @public +export interface AppServiceCertificateOrdersRetrieveSiteSealOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersRetrieveSiteSealResponse = SiteSeal; + +// @public +export interface AppServiceCertificateOrdersUpdateCertificateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersUpdateCertificateResponse = AppServiceCertificateResource; + +// @public +export interface AppServiceCertificateOrdersUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificateOrdersUpdateResponse = AppServiceCertificateOrder; + +// @public +export interface AppServiceCertificateOrdersValidatePurchaseInformationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceCertificateOrdersVerifyDomainOwnershipOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceCertificatePatchResource = ProxyOnlyResource & { + keyVaultId?: string; + keyVaultSecretName?: string; + readonly provisioningState?: KeyVaultSecretStatus; +}; + +// @public +export type AppServiceCertificateResource = Resource & { + keyVaultId?: string; + keyVaultSecretName?: string; + readonly provisioningState?: KeyVaultSecretStatus; +}; + +// @public +export interface AppServiceEnvironment { + clusterSettings?: NameValuePair[]; + dedicatedHostCount?: number; + dnsSuffix?: string; + frontEndScaleFactor?: number; + readonly hasLinuxWorkers?: boolean; + internalLoadBalancingMode?: LoadBalancingMode; + ipsslAddressCount?: number; + readonly maximumNumberOfMachines?: number; + readonly multiRoleCount?: number; + multiSize?: string; + readonly provisioningState?: ProvisioningState; + readonly status?: HostingEnvironmentStatus; + readonly suspended?: boolean; + userWhitelistedIpRanges?: string[]; + virtualNetwork: VirtualNetworkProfile; + zoneRedundant?: boolean; +} + +// @public +export interface AppServiceEnvironmentCollection { + readonly nextLink?: string; + value: AppServiceEnvironmentResource[]; +} + +// @public +export type AppServiceEnvironmentPatchResource = ProxyOnlyResource & { + readonly provisioningState?: ProvisioningState; + readonly status?: HostingEnvironmentStatus; + virtualNetwork?: VirtualNetworkProfile; + internalLoadBalancingMode?: LoadBalancingMode; + multiSize?: string; + readonly multiRoleCount?: number; + ipsslAddressCount?: number; + dnsSuffix?: string; + readonly maximumNumberOfMachines?: number; + frontEndScaleFactor?: number; + readonly suspended?: boolean; + clusterSettings?: NameValuePair[]; + userWhitelistedIpRanges?: string[]; + readonly hasLinuxWorkers?: boolean; + dedicatedHostCount?: number; + zoneRedundant?: boolean; +}; + +// @public +export type AppServiceEnvironmentResource = Resource & { + readonly provisioningState?: ProvisioningState; + readonly status?: HostingEnvironmentStatus; + virtualNetwork?: VirtualNetworkProfile; + internalLoadBalancingMode?: LoadBalancingMode; + multiSize?: string; + readonly multiRoleCount?: number; + ipsslAddressCount?: number; + dnsSuffix?: string; + readonly maximumNumberOfMachines?: number; + frontEndScaleFactor?: number; + readonly suspended?: boolean; + clusterSettings?: NameValuePair[]; + userWhitelistedIpRanges?: string[]; + readonly hasLinuxWorkers?: boolean; + dedicatedHostCount?: number; + zoneRedundant?: boolean; +}; + +// @public +export interface AppServiceEnvironments { + beginApproveOrRejectPrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, options?: AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams): Promise, AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse>>; + beginApproveOrRejectPrivateEndpointConnectionAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, options?: AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams): Promise; + beginCreateOrUpdate(resourceGroupName: string, name: string, hostingEnvironmentEnvelope: AppServiceEnvironmentResource, options?: AppServiceEnvironmentsCreateOrUpdateOptionalParams): Promise, AppServiceEnvironmentsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, name: string, hostingEnvironmentEnvelope: AppServiceEnvironmentResource, options?: AppServiceEnvironmentsCreateOrUpdateOptionalParams): Promise; + beginCreateOrUpdateMultiRolePool(resourceGroupName: string, name: string, multiRolePoolEnvelope: WorkerPoolResource, options?: AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams): Promise, AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse>>; + beginCreateOrUpdateMultiRolePoolAndWait(resourceGroupName: string, name: string, multiRolePoolEnvelope: WorkerPoolResource, options?: AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams): Promise; + beginCreateOrUpdateWorkerPool(resourceGroupName: string, name: string, workerPoolName: string, workerPoolEnvelope: WorkerPoolResource, options?: AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams): Promise, AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse>>; + beginCreateOrUpdateWorkerPoolAndWait(resourceGroupName: string, name: string, workerPoolName: string, workerPoolEnvelope: WorkerPoolResource, options?: AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams): Promise; + beginDelete(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsDeleteOptionalParams): Promise; + beginDeletePrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams): Promise, AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse>>; + beginDeletePrivateEndpointConnectionAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams): Promise; + beginListChangeVnetAndWait(resourceGroupName: string, name: string, vnetInfo: VirtualNetworkProfile, options?: AppServiceEnvironmentsChangeVnetOptionalParams): PagedAsyncIterableIterator; + beginListResumeAndWait(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsResumeOptionalParams): PagedAsyncIterableIterator; + beginListSuspendAndWait(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsSuspendOptionalParams): PagedAsyncIterableIterator; + get(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsGetOptionalParams): Promise; + getAseV3NetworkingConfiguration(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptionalParams): Promise; + getDiagnosticsItem(resourceGroupName: string, name: string, diagnosticsName: string, options?: AppServiceEnvironmentsGetDiagnosticsItemOptionalParams): Promise; + getMultiRolePool(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsGetMultiRolePoolOptionalParams): Promise; + getPrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: AppServiceEnvironmentsGetPrivateEndpointConnectionOptionalParams): Promise; + getPrivateLinkResources(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsGetPrivateLinkResourcesOptionalParams): Promise; + getVipInfo(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsGetVipInfoOptionalParams): Promise; + getWorkerPool(resourceGroupName: string, name: string, workerPoolName: string, options?: AppServiceEnvironmentsGetWorkerPoolOptionalParams): Promise; + list(options?: AppServiceEnvironmentsListOptionalParams): PagedAsyncIterableIterator; + listAppServicePlans(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListAppServicePlansOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: AppServiceEnvironmentsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listCapacities(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListCapacitiesOptionalParams): PagedAsyncIterableIterator; + listDiagnostics(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListDiagnosticsOptionalParams): Promise; + listInboundNetworkDependenciesEndpoints(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams): PagedAsyncIterableIterator; + listMultiRoleMetricDefinitions(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams): PagedAsyncIterableIterator; + listMultiRolePoolInstanceMetricDefinitions(resourceGroupName: string, name: string, instance: string, options?: AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams): PagedAsyncIterableIterator; + listMultiRolePools(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListMultiRolePoolsOptionalParams): PagedAsyncIterableIterator; + listMultiRolePoolSkus(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams): PagedAsyncIterableIterator; + listMultiRoleUsages(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListMultiRoleUsagesOptionalParams): PagedAsyncIterableIterator; + listOperations(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListOperationsOptionalParams): Promise; + listOutboundNetworkDependenciesEndpoints(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams): PagedAsyncIterableIterator; + listPrivateEndpointConnectionList(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams): PagedAsyncIterableIterator; + listUsages(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListUsagesOptionalParams): PagedAsyncIterableIterator; + listWebApps(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListWebAppsOptionalParams): PagedAsyncIterableIterator; + listWebWorkerMetricDefinitions(resourceGroupName: string, name: string, workerPoolName: string, options?: AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams): PagedAsyncIterableIterator; + listWebWorkerUsages(resourceGroupName: string, name: string, workerPoolName: string, options?: AppServiceEnvironmentsListWebWorkerUsagesOptionalParams): PagedAsyncIterableIterator; + listWorkerPoolInstanceMetricDefinitions(resourceGroupName: string, name: string, workerPoolName: string, instance: string, options?: AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams): PagedAsyncIterableIterator; + listWorkerPools(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsListWorkerPoolsOptionalParams): PagedAsyncIterableIterator; + listWorkerPoolSkus(resourceGroupName: string, name: string, workerPoolName: string, options?: AppServiceEnvironmentsListWorkerPoolSkusOptionalParams): PagedAsyncIterableIterator; + reboot(resourceGroupName: string, name: string, options?: AppServiceEnvironmentsRebootOptionalParams): Promise; + update(resourceGroupName: string, name: string, hostingEnvironmentEnvelope: AppServiceEnvironmentPatchResource, options?: AppServiceEnvironmentsUpdateOptionalParams): Promise; + updateAseNetworkingConfiguration(resourceGroupName: string, name: string, aseNetworkingConfiguration: AseV3NetworkingConfiguration, options?: AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptionalParams): Promise; + updateMultiRolePool(resourceGroupName: string, name: string, multiRolePoolEnvelope: WorkerPoolResource, options?: AppServiceEnvironmentsUpdateMultiRolePoolOptionalParams): Promise; + updateWorkerPool(resourceGroupName: string, name: string, workerPoolName: string, workerPoolEnvelope: WorkerPoolResource, options?: AppServiceEnvironmentsUpdateWorkerPoolOptionalParams): Promise; +} + +// @public +export interface AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; + +// @public +export interface AppServiceEnvironmentsChangeVnetNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsChangeVnetNextResponse = WebAppCollection; + +// @public +export interface AppServiceEnvironmentsChangeVnetOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceEnvironmentsChangeVnetResponse = WebAppCollection; + +// @public +export interface AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse = WorkerPoolResource; + +// @public +export interface AppServiceEnvironmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceEnvironmentsCreateOrUpdateResponse = AppServiceEnvironmentResource; + +// @public +export interface AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse = WorkerPoolResource; + +// @public +export interface AppServiceEnvironmentsDeleteOptionalParams extends coreClient.OperationOptions { + forceDelete?: boolean; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse = Record; + +// @public +export interface AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse = AseV3NetworkingConfiguration; + +// @public +export interface AppServiceEnvironmentsGetDiagnosticsItemOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetDiagnosticsItemResponse = HostingEnvironmentDiagnostics; + +// @public +export interface AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextResponse = InboundEnvironmentEndpointCollection; + +// @public +export interface AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse = InboundEnvironmentEndpointCollection; + +// @public +export interface AppServiceEnvironmentsGetMultiRolePoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetMultiRolePoolResponse = WorkerPoolResource; + +// @public +export interface AppServiceEnvironmentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextResponse = OutboundEnvironmentEndpointCollection; + +// @public +export interface AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse = OutboundEnvironmentEndpointCollection; + +// @public +export interface AppServiceEnvironmentsGetPrivateEndpointConnectionListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection; + +// @public +export interface AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection; + +// @public +export interface AppServiceEnvironmentsGetPrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; + +// @public +export interface AppServiceEnvironmentsGetPrivateLinkResourcesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper; + +// @public +export type AppServiceEnvironmentsGetResponse = AppServiceEnvironmentResource; + +// @public +export interface AppServiceEnvironmentsGetVipInfoOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetVipInfoResponse = AddressResponse; + +// @public +export interface AppServiceEnvironmentsGetWorkerPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsGetWorkerPoolResponse = WorkerPoolResource; + +// @public +export interface AppServiceEnvironmentsListAppServicePlansNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListAppServicePlansNextResponse = AppServicePlanCollection; + +// @public +export interface AppServiceEnvironmentsListAppServicePlansOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListAppServicePlansResponse = AppServicePlanCollection; + +// @public +export interface AppServiceEnvironmentsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListByResourceGroupNextResponse = AppServiceEnvironmentCollection; + +// @public +export interface AppServiceEnvironmentsListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListByResourceGroupResponse = AppServiceEnvironmentCollection; + +// @public +export interface AppServiceEnvironmentsListCapacitiesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListCapacitiesNextResponse = StampCapacityCollection; + +// @public +export interface AppServiceEnvironmentsListCapacitiesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListCapacitiesResponse = StampCapacityCollection; + +// @public +export interface AppServiceEnvironmentsListDiagnosticsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListDiagnosticsResponse = HostingEnvironmentDiagnostics[]; + +// @public +export interface AppServiceEnvironmentsListMultiRoleMetricDefinitionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRoleMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRoleMetricDefinitionsResponse = ResourceMetricDefinitionCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse = ResourceMetricDefinitionCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRolePoolSkusNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRolePoolSkusNextResponse = SkuInfoCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRolePoolSkusResponse = SkuInfoCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRolePoolsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRolePoolsNextResponse = WorkerPoolCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRolePoolsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRolePoolsResponse = WorkerPoolCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRoleUsagesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRoleUsagesNextResponse = UsageCollection; + +// @public +export interface AppServiceEnvironmentsListMultiRoleUsagesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListMultiRoleUsagesResponse = UsageCollection; + +// @public +export interface AppServiceEnvironmentsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListNextResponse = AppServiceEnvironmentCollection; + +// @public +export interface AppServiceEnvironmentsListOperationsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListOperationsResponse = Operation[]; + +// @public +export interface AppServiceEnvironmentsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListResponse = AppServiceEnvironmentCollection; + +// @public +export interface AppServiceEnvironmentsListUsagesNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AppServiceEnvironmentsListUsagesNextResponse = CsmUsageQuotaCollection; + +// @public +export interface AppServiceEnvironmentsListUsagesOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AppServiceEnvironmentsListUsagesResponse = CsmUsageQuotaCollection; + +// @public +export interface AppServiceEnvironmentsListWebAppsNextOptionalParams extends coreClient.OperationOptions { + propertiesToInclude?: string; +} + +// @public +export type AppServiceEnvironmentsListWebAppsNextResponse = WebAppCollection; + +// @public +export interface AppServiceEnvironmentsListWebAppsOptionalParams extends coreClient.OperationOptions { + propertiesToInclude?: string; +} + +// @public +export type AppServiceEnvironmentsListWebAppsResponse = WebAppCollection; + +// @public +export interface AppServiceEnvironmentsListWebWorkerMetricDefinitionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWebWorkerMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection; + +// @public +export interface AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWebWorkerMetricDefinitionsResponse = ResourceMetricDefinitionCollection; + +// @public +export interface AppServiceEnvironmentsListWebWorkerUsagesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWebWorkerUsagesNextResponse = UsageCollection; + +// @public +export interface AppServiceEnvironmentsListWebWorkerUsagesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWebWorkerUsagesResponse = UsageCollection; + +// @public +export interface AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection; + +// @public +export interface AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse = ResourceMetricDefinitionCollection; + +// @public +export interface AppServiceEnvironmentsListWorkerPoolSkusNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWorkerPoolSkusNextResponse = SkuInfoCollection; + +// @public +export interface AppServiceEnvironmentsListWorkerPoolSkusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWorkerPoolSkusResponse = SkuInfoCollection; + +// @public +export interface AppServiceEnvironmentsListWorkerPoolsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWorkerPoolsNextResponse = WorkerPoolCollection; + +// @public +export interface AppServiceEnvironmentsListWorkerPoolsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsListWorkerPoolsResponse = WorkerPoolCollection; + +// @public +export interface AppServiceEnvironmentsRebootOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServiceEnvironmentsResumeNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsResumeNextResponse = WebAppCollection; + +// @public +export interface AppServiceEnvironmentsResumeOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceEnvironmentsResumeResponse = WebAppCollection; + +// @public +export interface AppServiceEnvironmentsSuspendNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsSuspendNextResponse = WebAppCollection; + +// @public +export interface AppServiceEnvironmentsSuspendOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServiceEnvironmentsSuspendResponse = WebAppCollection; + +// @public +export interface AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse = AseV3NetworkingConfiguration; + +// @public +export interface AppServiceEnvironmentsUpdateMultiRolePoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsUpdateMultiRolePoolResponse = WorkerPoolResource; + +// @public +export interface AppServiceEnvironmentsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsUpdateResponse = AppServiceEnvironmentResource; + +// @public +export interface AppServiceEnvironmentsUpdateWorkerPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServiceEnvironmentsUpdateWorkerPoolResponse = WorkerPoolResource; + +// @public +export interface AppserviceGithubToken { + accessToken?: string; + errorMessage?: string; + gotToken?: boolean; + scope?: string; + tokenType?: string; +} + +// @public +export interface AppserviceGithubTokenRequest { + code: string; + state: string; +} + +// @public +export type AppServicePlan = Resource & { + sku?: SkuDescription; + extendedLocation?: ExtendedLocation; + workerTierName?: string; + readonly status?: StatusOptions; + readonly subscription?: string; + hostingEnvironmentProfile?: HostingEnvironmentProfile; + readonly maximumNumberOfWorkers?: number; + readonly geoRegion?: string; + perSiteScaling?: boolean; + elasticScaleEnabled?: boolean; + maximumElasticWorkerCount?: number; + readonly numberOfSites?: number; + isSpot?: boolean; + spotExpirationTime?: Date; + freeOfferExpirationTime?: Date; + readonly resourceGroup?: string; + reserved?: boolean; + isXenon?: boolean; + hyperV?: boolean; + targetWorkerCount?: number; + targetWorkerSizeId?: number; + readonly provisioningState?: ProvisioningState; + kubeEnvironmentProfile?: KubeEnvironmentProfile; + zoneRedundant?: boolean; +}; + +// @public +export interface AppServicePlanCollection { + readonly nextLink?: string; + value: AppServicePlan[]; +} + +// @public +export type AppServicePlanPatchResource = ProxyOnlyResource & { + workerTierName?: string; + readonly status?: StatusOptions; + readonly subscription?: string; + hostingEnvironmentProfile?: HostingEnvironmentProfile; + readonly maximumNumberOfWorkers?: number; + readonly geoRegion?: string; + perSiteScaling?: boolean; + elasticScaleEnabled?: boolean; + maximumElasticWorkerCount?: number; + readonly numberOfSites?: number; + isSpot?: boolean; + spotExpirationTime?: Date; + freeOfferExpirationTime?: Date; + readonly resourceGroup?: string; + reserved?: boolean; + isXenon?: boolean; + hyperV?: boolean; + targetWorkerCount?: number; + targetWorkerSizeId?: number; + readonly provisioningState?: ProvisioningState; + kubeEnvironmentProfile?: KubeEnvironmentProfile; + zoneRedundant?: boolean; +}; + +// @public +export type AppServicePlanRestrictions = "None" | "Free" | "Shared" | "Basic" | "Standard" | "Premium"; + +// @public +export interface AppServicePlans { + beginCreateOrUpdate(resourceGroupName: string, name: string, appServicePlan: AppServicePlan, options?: AppServicePlansCreateOrUpdateOptionalParams): Promise, AppServicePlansCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, name: string, appServicePlan: AppServicePlan, options?: AppServicePlansCreateOrUpdateOptionalParams): Promise; + createOrUpdateVnetRoute(resourceGroupName: string, name: string, vnetName: string, routeName: string, route: VnetRoute, options?: AppServicePlansCreateOrUpdateVnetRouteOptionalParams): Promise; + delete(resourceGroupName: string, name: string, options?: AppServicePlansDeleteOptionalParams): Promise; + deleteHybridConnection(resourceGroupName: string, name: string, namespaceName: string, relayName: string, options?: AppServicePlansDeleteHybridConnectionOptionalParams): Promise; + deleteVnetRoute(resourceGroupName: string, name: string, vnetName: string, routeName: string, options?: AppServicePlansDeleteVnetRouteOptionalParams): Promise; + get(resourceGroupName: string, name: string, options?: AppServicePlansGetOptionalParams): Promise; + getHybridConnection(resourceGroupName: string, name: string, namespaceName: string, relayName: string, options?: AppServicePlansGetHybridConnectionOptionalParams): Promise; + getHybridConnectionPlanLimit(resourceGroupName: string, name: string, options?: AppServicePlansGetHybridConnectionPlanLimitOptionalParams): Promise; + getRouteForVnet(resourceGroupName: string, name: string, vnetName: string, routeName: string, options?: AppServicePlansGetRouteForVnetOptionalParams): Promise; + getServerFarmSkus(resourceGroupName: string, name: string, options?: AppServicePlansGetServerFarmSkusOptionalParams): Promise; + getVnetFromServerFarm(resourceGroupName: string, name: string, vnetName: string, options?: AppServicePlansGetVnetFromServerFarmOptionalParams): Promise; + getVnetGateway(resourceGroupName: string, name: string, vnetName: string, gatewayName: string, options?: AppServicePlansGetVnetGatewayOptionalParams): Promise; + list(options?: AppServicePlansListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: AppServicePlansListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listCapabilities(resourceGroupName: string, name: string, options?: AppServicePlansListCapabilitiesOptionalParams): Promise; + listHybridConnectionKeys(resourceGroupName: string, name: string, namespaceName: string, relayName: string, options?: AppServicePlansListHybridConnectionKeysOptionalParams): Promise; + listHybridConnections(resourceGroupName: string, name: string, options?: AppServicePlansListHybridConnectionsOptionalParams): PagedAsyncIterableIterator; + listRoutesForVnet(resourceGroupName: string, name: string, vnetName: string, options?: AppServicePlansListRoutesForVnetOptionalParams): Promise; + listUsages(resourceGroupName: string, name: string, options?: AppServicePlansListUsagesOptionalParams): PagedAsyncIterableIterator; + listVnets(resourceGroupName: string, name: string, options?: AppServicePlansListVnetsOptionalParams): Promise; + listWebApps(resourceGroupName: string, name: string, options?: AppServicePlansListWebAppsOptionalParams): PagedAsyncIterableIterator; + listWebAppsByHybridConnection(resourceGroupName: string, name: string, namespaceName: string, relayName: string, options?: AppServicePlansListWebAppsByHybridConnectionOptionalParams): PagedAsyncIterableIterator; + rebootWorker(resourceGroupName: string, name: string, workerName: string, options?: AppServicePlansRebootWorkerOptionalParams): Promise; + restartWebApps(resourceGroupName: string, name: string, options?: AppServicePlansRestartWebAppsOptionalParams): Promise; + update(resourceGroupName: string, name: string, appServicePlan: AppServicePlanPatchResource, options?: AppServicePlansUpdateOptionalParams): Promise; + updateVnetGateway(resourceGroupName: string, name: string, vnetName: string, gatewayName: string, connectionEnvelope: VnetGateway, options?: AppServicePlansUpdateVnetGatewayOptionalParams): Promise; + updateVnetRoute(resourceGroupName: string, name: string, vnetName: string, routeName: string, route: VnetRoute, options?: AppServicePlansUpdateVnetRouteOptionalParams): Promise; +} + +// @public +export interface AppServicePlansCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AppServicePlansCreateOrUpdateResponse = AppServicePlan; + +// @public +export interface AppServicePlansCreateOrUpdateVnetRouteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansCreateOrUpdateVnetRouteResponse = VnetRoute; + +// @public +export interface AppServicePlansDeleteHybridConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServicePlansDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServicePlansDeleteVnetRouteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServicePlansGetHybridConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServicePlansGetHybridConnectionPlanLimitOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansGetHybridConnectionPlanLimitResponse = HybridConnectionLimits; + +// @public +export type AppServicePlansGetHybridConnectionResponse = HybridConnection; + +// @public +export interface AppServicePlansGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansGetResponse = AppServicePlan; + +// @public +export interface AppServicePlansGetRouteForVnetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansGetRouteForVnetResponse = VnetRoute[]; + +// @public +export interface AppServicePlansGetServerFarmSkusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansGetServerFarmSkusResponse = Record; + +// @public +export interface AppServicePlansGetVnetFromServerFarmOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansGetVnetFromServerFarmResponse = VnetInfoResource; + +// @public +export interface AppServicePlansGetVnetGatewayOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansGetVnetGatewayResponse = VnetGateway; + +// @public +export interface AppServicePlansListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListByResourceGroupNextResponse = AppServicePlanCollection; + +// @public +export interface AppServicePlansListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListByResourceGroupResponse = AppServicePlanCollection; + +// @public +export interface AppServicePlansListCapabilitiesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListCapabilitiesResponse = Capability[]; + +// @public +export interface AppServicePlansListHybridConnectionKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListHybridConnectionKeysResponse = HybridConnectionKey; + +// @public +export interface AppServicePlansListHybridConnectionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListHybridConnectionsNextResponse = HybridConnectionCollection; + +// @public +export interface AppServicePlansListHybridConnectionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListHybridConnectionsResponse = HybridConnectionCollection; + +// @public +export interface AppServicePlansListNextOptionalParams extends coreClient.OperationOptions { + detailed?: boolean; +} + +// @public +export type AppServicePlansListNextResponse = AppServicePlanCollection; + +// @public +export interface AppServicePlansListOptionalParams extends coreClient.OperationOptions { + detailed?: boolean; +} + +// @public +export type AppServicePlansListResponse = AppServicePlanCollection; + +// @public +export interface AppServicePlansListRoutesForVnetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListRoutesForVnetResponse = VnetRoute[]; + +// @public +export interface AppServicePlansListUsagesNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AppServicePlansListUsagesNextResponse = CsmUsageQuotaCollection; + +// @public +export interface AppServicePlansListUsagesOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AppServicePlansListUsagesResponse = CsmUsageQuotaCollection; + +// @public +export interface AppServicePlansListVnetsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListVnetsResponse = VnetInfoResource[]; + +// @public +export interface AppServicePlansListWebAppsByHybridConnectionNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListWebAppsByHybridConnectionNextResponse = ResourceCollection; + +// @public +export interface AppServicePlansListWebAppsByHybridConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansListWebAppsByHybridConnectionResponse = ResourceCollection; + +// @public +export interface AppServicePlansListWebAppsNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + skipToken?: string; + top?: string; +} + +// @public +export type AppServicePlansListWebAppsNextResponse = WebAppCollection; + +// @public +export interface AppServicePlansListWebAppsOptionalParams extends coreClient.OperationOptions { + filter?: string; + skipToken?: string; + top?: string; +} + +// @public +export type AppServicePlansListWebAppsResponse = WebAppCollection; + +// @public +export interface AppServicePlansRebootWorkerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AppServicePlansRestartWebAppsOptionalParams extends coreClient.OperationOptions { + softRestart?: boolean; +} + +// @public +export interface AppServicePlansUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansUpdateResponse = AppServicePlan; + +// @public +export interface AppServicePlansUpdateVnetGatewayOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansUpdateVnetGatewayResponse = VnetGateway; + +// @public +export interface AppServicePlansUpdateVnetRouteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppServicePlansUpdateVnetRouteResponse = VnetRoute; + +// @public (undocumented) +export interface ArcConfiguration { + // (undocumented) + artifactsStorageType?: StorageType; + // (undocumented) + artifactStorageAccessMode?: string; + // (undocumented) + artifactStorageClassName?: string; + // (undocumented) + artifactStorageMountPath?: string; + // (undocumented) + artifactStorageNodeName?: string; + // (undocumented) + frontEndServiceConfiguration?: FrontEndConfiguration; + // (undocumented) + kubeConfig?: string; +} + +// @public +export interface ArmIdWrapper { + readonly id?: string; +} + +// @public +export interface ArmPlan { + name?: string; + product?: string; + promotionCode?: string; + publisher?: string; + version?: string; +} + +// @public +export type AseV3NetworkingConfiguration = ProxyOnlyResource & { + readonly windowsOutboundIpAddresses?: string[]; + readonly linuxOutboundIpAddresses?: string[]; + readonly externalInboundIpAddresses?: string[]; + readonly internalInboundIpAddresses?: string[]; + allowNewPrivateEndpointConnections?: boolean; +}; + +// @public +export interface AuthPlatform { + configFilePath?: string; + enabled?: boolean; + runtimeVersion?: string; +} + +// @public +export interface AutoHealActions { + actionType?: AutoHealActionType; + customAction?: AutoHealCustomAction; + minProcessExecutionTime?: string; +} + +// @public +export type AutoHealActionType = "Recycle" | "LogEvent" | "CustomAction"; + +// @public +export interface AutoHealCustomAction { + exe?: string; + parameters?: string; +} + +// @public +export interface AutoHealRules { + actions?: AutoHealActions; + triggers?: AutoHealTriggers; +} + +// @public +export interface AutoHealTriggers { + privateBytesInKB?: number; + requests?: RequestsBasedTrigger; + slowRequests?: SlowRequestsBasedTrigger; + slowRequestsWithPath?: SlowRequestsBasedTrigger[]; + statusCodes?: StatusCodesBasedTrigger[]; + statusCodesRange?: StatusCodesRangeBasedTrigger[]; +} + +// @public +export interface AzureActiveDirectory { + enabled?: boolean; + isAutoProvisioned?: boolean; + login?: AzureActiveDirectoryLogin; + registration?: AzureActiveDirectoryRegistration; + validation?: AzureActiveDirectoryValidation; +} + +// @public +export type AzureActiveDirectoryLogin = ProxyOnlyResource & { + loginParameters?: string[]; + disableWWWAuthenticate?: boolean; +}; + +// @public +export type AzureActiveDirectoryRegistration = ProxyOnlyResource & { + openIdIssuer?: string; + clientId?: string; + clientSecretSettingName?: string; + clientSecretCertificateThumbprint?: string; + clientSecretCertificateSubjectAlternativeName?: string; + clientSecretCertificateIssuer?: string; +}; + +// @public +export type AzureActiveDirectoryValidation = ProxyOnlyResource & { + jwtClaimChecks?: JwtClaimChecks; + allowedAudiences?: string[]; + defaultAuthorizationPolicy?: DefaultAuthorizationPolicy; +}; + +// @public +export interface AzureBlobStorageApplicationLogsConfig { + level?: LogLevel; + retentionInDays?: number; + sasUrl?: string; +} + +// @public +export interface AzureBlobStorageHttpLogsConfig { + enabled?: boolean; + retentionInDays?: number; + sasUrl?: string; +} + +// @public +export type AzureResourceType = "Website" | "TrafficManager"; + +// @public +export type AzureStaticWebApps = ProxyOnlyResource & { + enabled?: boolean; + registration?: AzureStaticWebAppsRegistration; +}; + +// @public +export interface AzureStaticWebAppsRegistration { + clientId?: string; +} + +// @public +export interface AzureStorageInfoValue { + accessKey?: string; + accountName?: string; + mountPath?: string; + shareName?: string; + readonly state?: AzureStorageState; + type?: AzureStorageType; +} + +// @public +export type AzureStoragePropertyDictionaryResource = ProxyOnlyResource & { + properties?: { + [propertyName: string]: AzureStorageInfoValue; + }; +}; + +// @public +export type AzureStorageState = "Ok" | "InvalidCredentials" | "InvalidShare" | "NotValidated"; + +// @public +export type AzureStorageType = "AzureFiles" | "AzureBlob"; + +// @public +export interface AzureTableStorageApplicationLogsConfig { + level?: LogLevel; + sasUrl: string; +} + +// @public +export type BackupItem = ProxyOnlyResource & { + readonly backupId?: number; + readonly storageAccountUrl?: string; + readonly blobName?: string; + readonly namePropertiesName?: string; + readonly status?: BackupItemStatus; + readonly sizeInBytes?: number; + readonly created?: Date; + readonly log?: string; + readonly databases?: DatabaseBackupSetting[]; + readonly scheduled?: boolean; + readonly lastRestoreTimeStamp?: Date; + readonly finishedTimeStamp?: Date; + readonly correlationId?: string; + readonly websiteSizeInBytes?: number; +}; + +// @public +export interface BackupItemCollection { + readonly nextLink?: string; + value: BackupItem[]; +} + +// @public +export type BackupItemStatus = "InProgress" | "Failed" | "Succeeded" | "TimedOut" | "Created" | "Skipped" | "PartiallySucceeded" | "DeleteInProgress" | "DeleteFailed" | "Deleted"; + +// @public +export type BackupRequest = ProxyOnlyResource & { + backupName?: string; + enabled?: boolean; + storageAccountUrl?: string; + backupSchedule?: BackupSchedule; + databases?: DatabaseBackupSetting[]; +}; + +// @public +export type BackupRestoreOperationType = "Default" | "Clone" | "Relocation" | "Snapshot" | "CloudFS"; + +// @public +export interface BackupSchedule { + frequencyInterval: number; + frequencyUnit: FrequencyUnit; + keepAtLeastOneBackup: boolean; + readonly lastExecutionTime?: Date; + retentionPeriodInDays: number; + startTime?: Date; +} + +// @public +export type BillingMeter = ProxyOnlyResource & { + meterId?: string; + billingLocation?: string; + shortName?: string; + friendlyName?: string; + resourceType?: string; + osType?: string; + multiplier?: number; +}; + +// @public +export interface BillingMeterCollection { + readonly nextLink?: string; + value: BillingMeter[]; +} + +// @public +export type BlobStorageTokenStore = ProxyOnlyResource & { + sasUrlSettingName?: string; +}; + +// @public +export type BuildStatus = string; + +// @public +export type BuiltInAuthenticationProvider = "AzureActiveDirectory" | "Facebook" | "Google" | "MicrosoftAccount" | "Twitter" | "Github"; + +// @public +export interface Capability { + name?: string; + reason?: string; + value?: string; +} + +// @public +export type Certificate = Resource & { + password?: string; + readonly friendlyName?: string; + readonly subjectName?: string; + hostNames?: string[]; + pfxBlob?: Uint8Array; + readonly siteName?: string; + readonly selfLink?: string; + readonly issuer?: string; + readonly issueDate?: Date; + readonly expirationDate?: Date; + readonly thumbprint?: string; + readonly valid?: boolean; + readonly cerBlob?: Uint8Array; + readonly publicKeyHash?: string; + readonly hostingEnvironmentProfile?: HostingEnvironmentProfile; + keyVaultId?: string; + keyVaultSecretName?: string; + readonly keyVaultSecretStatus?: KeyVaultSecretStatus; + serverFarmId?: string; + canonicalName?: string; + domainValidationMethod?: string; +}; + +// @public +export interface CertificateCollection { + readonly nextLink?: string; + value: Certificate[]; +} + +// @public +export interface CertificateDetails { + readonly issuer?: string; + readonly notAfter?: Date; + readonly notBefore?: Date; + readonly rawData?: string; + readonly serialNumber?: string; + readonly signatureAlgorithm?: string; + readonly subject?: string; + readonly thumbprint?: string; + readonly version?: number; +} + +// @public +export type CertificateEmail = ProxyOnlyResource & { + emailId?: string; + timeStamp?: Date; +}; + +// @public +export type CertificateOrderAction = ProxyOnlyResource & { + readonly actionType?: CertificateOrderActionType; + readonly createdAt?: Date; +}; + +// @public +export type CertificateOrderActionType = "CertificateIssued" | "CertificateOrderCanceled" | "CertificateOrderCreated" | "CertificateRevoked" | "DomainValidationComplete" | "FraudDetected" | "OrgNameChange" | "OrgValidationComplete" | "SanDrop" | "FraudCleared" | "CertificateExpired" | "CertificateExpirationWarning" | "FraudDocumentationRequired" | "Unknown"; + +// @public (undocumented) +export interface CertificateOrderContact { + // (undocumented) + email?: string; + // (undocumented) + nameFirst?: string; + // (undocumented) + nameLast?: string; + // (undocumented) + phone?: string; +} + +// @public +export interface CertificateOrdersDiagnostics { + getAppServiceCertificateOrderDetectorResponse(resourceGroupName: string, certificateOrderName: string, detectorName: string, options?: CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams): Promise; + listAppServiceCertificateOrderDetectorResponse(resourceGroupName: string, certificateOrderName: string, options?: CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams extends coreClient.OperationOptions { + endTime?: Date; + startTime?: Date; + timeGrain?: string; +} + +// @public +export type CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse = DetectorResponse; + +// @public +export interface CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextResponse = DetectorResponseCollection; + +// @public +export interface CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseResponse = DetectorResponseCollection; + +// @public +export type CertificateOrderStatus = "Pendingissuance" | "Issued" | "Revoked" | "Canceled" | "Denied" | "Pendingrevocation" | "PendingRekey" | "Unused" | "Expired" | "NotSubmitted"; + +// @public +export type CertificatePatchResource = ProxyOnlyResource & { + password?: string; + readonly friendlyName?: string; + readonly subjectName?: string; + hostNames?: string[]; + pfxBlob?: Uint8Array; + readonly siteName?: string; + readonly selfLink?: string; + readonly issuer?: string; + readonly issueDate?: Date; + readonly expirationDate?: Date; + readonly thumbprint?: string; + readonly valid?: boolean; + readonly cerBlob?: Uint8Array; + readonly publicKeyHash?: string; + readonly hostingEnvironmentProfile?: HostingEnvironmentProfile; + keyVaultId?: string; + keyVaultSecretName?: string; + readonly keyVaultSecretStatus?: KeyVaultSecretStatus; + serverFarmId?: string; + canonicalName?: string; + domainValidationMethod?: string; +}; + +// @public +export type CertificateProductType = "StandardDomainValidatedSsl" | "StandardDomainValidatedWildCardSsl"; + +// @public +export interface CertificateRegistrationProvider { + listOperations(options?: CertificateRegistrationProviderListOperationsOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface CertificateRegistrationProviderListOperationsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificateRegistrationProviderListOperationsNextResponse = CsmOperationCollection; + +// @public +export interface CertificateRegistrationProviderListOperationsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificateRegistrationProviderListOperationsResponse = CsmOperationCollection; + +// @public +export interface Certificates { + createOrUpdate(resourceGroupName: string, name: string, certificateEnvelope: Certificate, options?: CertificatesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, name: string, options?: CertificatesDeleteOptionalParams): Promise; + get(resourceGroupName: string, name: string, options?: CertificatesGetOptionalParams): Promise; + list(options?: CertificatesListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: CertificatesListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, name: string, certificateEnvelope: CertificatePatchResource, options?: CertificatesUpdateOptionalParams): Promise; +} + +// @public +export interface CertificatesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificatesCreateOrUpdateResponse = Certificate; + +// @public +export interface CertificatesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface CertificatesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificatesGetResponse = Certificate; + +// @public +export interface CertificatesListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificatesListByResourceGroupNextResponse = CertificateCollection; + +// @public +export interface CertificatesListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificatesListByResourceGroupResponse = CertificateCollection; + +// @public +export interface CertificatesListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type CertificatesListNextResponse = CertificateCollection; + +// @public +export interface CertificatesListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type CertificatesListResponse = CertificateCollection; + +// @public +export interface CertificatesUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type CertificatesUpdateResponse = Certificate; + +// @public +export type Channels = "Notification" | "Api" | "Email" | "Webhook" | "All"; + +// @public +export type CheckNameResourceTypes = string; + +// @public +export type ClientCertMode = "Required" | "Optional" | "OptionalInteractiveUser"; + +// @public +export interface ClientRegistration { + clientId?: string; + clientSecretSettingName?: string; +} + +// @public +export type CloneAbilityResult = "Cloneable" | "PartiallyCloneable" | "NotCloneable"; + +// @public +export interface CloningInfo { + appSettingsOverrides?: { + [propertyName: string]: string; + }; + cloneCustomHostNames?: boolean; + cloneSourceControl?: boolean; + configureLoadBalancing?: boolean; + correlationId?: string; + hostingEnvironment?: string; + overwrite?: boolean; + sourceWebAppId: string; + sourceWebAppLocation?: string; + trafficManagerProfileId?: string; + trafficManagerProfileName?: string; +} + +// @public +export type ComputeModeOptions = "Shared" | "Dedicated" | "Dynamic"; + +// @public +export type ConnectionStringDictionary = ProxyOnlyResource & { + properties?: { + [propertyName: string]: ConnStringValueTypePair; + }; +}; + +// @public +export type ConnectionStringType = "MySql" | "SQLServer" | "SQLAzure" | "Custom" | "NotificationHub" | "ServiceBus" | "EventHub" | "ApiHub" | "DocDb" | "RedisCache" | "PostgreSQL"; + +// @public +export interface ConnStringInfo { + connectionString?: string; + name?: string; + type?: ConnectionStringType; +} + +// @public +export interface ConnStringValueTypePair { + type: ConnectionStringType; + value: string; +} + +// @public +export interface Contact { + addressMailing?: Address; + email: string; + fax?: string; + jobTitle?: string; + nameFirst: string; + nameLast: string; + nameMiddle?: string; + organization?: string; + phone: string; +} + +// @public (undocumented) +export interface ContainerCpuStatistics { + // (undocumented) + cpuUsage?: ContainerCpuUsage; + // (undocumented) + onlineCpuCount?: number; + // (undocumented) + systemCpuUsage?: number; + // (undocumented) + throttlingData?: ContainerThrottlingData; +} + +// @public (undocumented) +export interface ContainerCpuUsage { + // (undocumented) + kernelModeUsage?: number; + // (undocumented) + perCpuUsage?: number[]; + // (undocumented) + totalUsage?: number; + // (undocumented) + userModeUsage?: number; +} + +// @public (undocumented) +export interface ContainerInfo { + // (undocumented) + currentCpuStats?: ContainerCpuStatistics; + // (undocumented) + currentTimeStamp?: Date; + // (undocumented) + eth0?: ContainerNetworkInterfaceStatistics; + // (undocumented) + id?: string; + // (undocumented) + memoryStats?: ContainerMemoryStatistics; + // (undocumented) + name?: string; + // (undocumented) + previousCpuStats?: ContainerCpuStatistics; + // (undocumented) + previousTimeStamp?: Date; +} + +// @public (undocumented) +export interface ContainerMemoryStatistics { + // (undocumented) + limit?: number; + // (undocumented) + maxUsage?: number; + // (undocumented) + usage?: number; +} + +// @public (undocumented) +export interface ContainerNetworkInterfaceStatistics { + // (undocumented) + rxBytes?: number; + // (undocumented) + rxDropped?: number; + // (undocumented) + rxErrors?: number; + // (undocumented) + rxPackets?: number; + // (undocumented) + txBytes?: number; + // (undocumented) + txDropped?: number; + // (undocumented) + txErrors?: number; + // (undocumented) + txPackets?: number; +} + +// @public (undocumented) +export interface ContainerThrottlingData { + // (undocumented) + periods?: number; + // (undocumented) + throttledPeriods?: number; + // (undocumented) + throttledTime?: number; +} + +// @public +export type ContinuousWebJob = ProxyOnlyResource & { + status?: ContinuousWebJobStatus; + detailedStatus?: string; + logUrl?: string; + runCommand?: string; + url?: string; + extraInfoUrl?: string; + webJobType?: WebJobType; + error?: string; + usingSdk?: boolean; + settings?: { + [propertyName: string]: Record; + }; +}; + +// @public +export interface ContinuousWebJobCollection { + readonly nextLink?: string; + value: ContinuousWebJob[]; +} + +// @public +export type ContinuousWebJobStatus = "Initializing" | "Starting" | "Running" | "PendingRestart" | "Stopped"; + +// @public +export interface CookieExpiration { + convention?: CookieExpirationConvention; + timeToExpiration?: string; +} + +// @public +export type CookieExpirationConvention = "FixedTime" | "IdentityProviderDerived"; + +// @public +export interface CorsSettings { + allowedOrigins?: string[]; + supportCredentials?: boolean; +} + +// @public +export interface CsmMoveResourceEnvelope { + // (undocumented) + resources?: string[]; + // (undocumented) + targetResourceGroup?: string; +} + +// @public +export interface CsmOperationCollection { + readonly nextLink?: string; + value: CsmOperationDescription[]; +} + +// @public +export interface CsmOperationDescription { + display?: CsmOperationDisplay; + // (undocumented) + isDataAction?: boolean; + // (undocumented) + name?: string; + // (undocumented) + origin?: string; + properties?: CsmOperationDescriptionProperties; +} + +// @public +export interface CsmOperationDescriptionProperties { + serviceSpecification?: ServiceSpecification; +} + +// @public +export interface CsmOperationDisplay { + // (undocumented) + description?: string; + // (undocumented) + operation?: string; + // (undocumented) + provider?: string; + // (undocumented) + resource?: string; +} + +// @public +export type CsmPublishingCredentialsPoliciesEntity = ProxyOnlyResource & { + allow?: boolean; +}; + +// @public +export interface CsmPublishingProfileOptions { + format?: PublishingProfileFormat; + includeDisasterRecoveryEndpoints?: boolean; +} + +// @public +export interface CsmSlotEntity { + preserveVnet: boolean; + targetSlot: string; +} + +// @public +export interface CsmUsageQuota { + currentValue?: number; + limit?: number; + name?: LocalizableString; + nextResetTime?: Date; + unit?: string; +} + +// @public +export interface CsmUsageQuotaCollection { + readonly nextLink?: string; + value: CsmUsageQuota[]; +} + +// @public +export type CustomDomainStatus = string; + +// @public +export type CustomHostnameAnalysisResult = ProxyOnlyResource & { + readonly isHostnameAlreadyVerified?: boolean; + readonly customDomainVerificationTest?: DnsVerificationTestResult; + readonly customDomainVerificationFailureInfo?: ErrorEntity; + readonly hasConflictOnScaleUnit?: boolean; + readonly hasConflictAcrossSubscription?: boolean; + readonly conflictingAppResourceId?: string; + cNameRecords?: string[]; + txtRecords?: string[]; + aRecords?: string[]; + alternateCNameRecords?: string[]; + alternateTxtRecords?: string[]; +}; + +// @public +export type CustomHostNameDnsRecordType = "CName" | "A"; + +// @public +export type CustomOpenIdConnectProvider = ProxyOnlyResource & { + enabled?: boolean; + registration?: OpenIdConnectRegistration; + login?: OpenIdConnectLogin; +}; + +// @public +export interface DatabaseBackupSetting { + connectionString?: string; + connectionStringName?: string; + databaseType: DatabaseType; + // (undocumented) + name?: string; +} + +// @public +export type DatabaseType = string; + +// @public +export interface DataProviderMetadata { + readonly propertyBag?: KeyValuePairStringObject[]; + // (undocumented) + providerName?: string; +} + +// @public +export interface DataSource { + dataSourceUri?: NameValuePair[]; + instructions?: string[]; +} + +// @public +export interface DataTableResponseColumn { + columnName?: string; + columnType?: string; + dataType?: string; +} + +// @public +export interface DataTableResponseObject { + columns?: DataTableResponseColumn[]; + rows?: string[][]; + tableName?: string; +} + +// @public +export interface DefaultAuthorizationPolicy { + allowedApplications?: string[]; + allowedPrincipals?: AllowedPrincipals; +} + +// @public +export interface DefaultErrorResponse { + readonly error?: DefaultErrorResponseError; +} + +// @public +export interface DefaultErrorResponseError { + readonly code?: string; + // (undocumented) + details?: DefaultErrorResponseErrorDetailsItem[]; + readonly innererror?: string; + readonly message?: string; + readonly target?: string; +} + +// @public +export interface DefaultErrorResponseErrorDetailsItem { + readonly code?: string; + readonly message?: string; + readonly target?: string; +} + +// @public +export type DeletedAppRestoreRequest = ProxyOnlyResource & { + deletedSiteId?: string; + recoverConfiguration?: boolean; + snapshotTime?: string; + useDRSecondary?: boolean; +}; + +// @public +export type DeletedSite = ProxyOnlyResource & { + readonly deletedSiteId?: number; + readonly deletedTimestamp?: string; + readonly subscription?: string; + readonly resourceGroup?: string; + readonly deletedSiteName?: string; + readonly slot?: string; + readonly kindPropertiesKind?: string; + readonly geoRegionName?: string; +}; + +// @public +export interface DeletedWebAppCollection { + readonly nextLink?: string; + value: DeletedSite[]; +} + +// @public +export interface DeletedWebApps { + getDeletedWebAppByLocation(location: string, deletedSiteId: string, options?: DeletedWebAppsGetDeletedWebAppByLocationOptionalParams): Promise; + list(options?: DeletedWebAppsListOptionalParams): PagedAsyncIterableIterator; + listByLocation(location: string, options?: DeletedWebAppsListByLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DeletedWebAppsGetDeletedWebAppByLocationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedWebAppsGetDeletedWebAppByLocationResponse = DeletedSite; + +// @public +export interface DeletedWebAppsListByLocationNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedWebAppsListByLocationNextResponse = DeletedWebAppCollection; + +// @public +export interface DeletedWebAppsListByLocationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedWebAppsListByLocationResponse = DeletedWebAppCollection; + +// @public +export interface DeletedWebAppsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedWebAppsListNextResponse = DeletedWebAppCollection; + +// @public +export interface DeletedWebAppsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedWebAppsListResponse = DeletedWebAppCollection; + +// @public +export type Deployment = ProxyOnlyResource & { + status?: number; + message?: string; + author?: string; + deployer?: string; + authorEmail?: string; + startTime?: Date; + endTime?: Date; + active?: boolean; + details?: string; +}; + +// @public +export interface DeploymentCollection { + readonly nextLink?: string; + value: Deployment[]; +} + +// @public +export interface DeploymentLocations { + hostingEnvironmentDeploymentInfos?: HostingEnvironmentDeploymentInfo[]; + hostingEnvironments?: AppServiceEnvironment[]; + locations?: GeoRegion[]; +} + +// @public +export interface DetectorAbnormalTimePeriod { + endTime?: Date; + message?: string; + metaData?: NameValuePair[][]; + priority?: number; + solutions?: Solution[]; + source?: string; + startTime?: Date; + type?: IssueType; +} + +// @public +export interface DetectorDefinition { + readonly description?: string; + readonly displayName?: string; + readonly isEnabled?: boolean; + readonly rank?: number; +} + +// @public +export type DetectorDefinitionResource = ProxyOnlyResource & { + readonly displayName?: string; + readonly description?: string; + readonly rank?: number; + readonly isEnabled?: boolean; +}; + +// @public +export interface DetectorInfo { + readonly analysisType?: string[]; + readonly author?: string; + readonly category?: string; + readonly description?: string; + readonly id?: string; + readonly name?: string; + readonly score?: number; + readonly supportTopicList?: SupportTopic[]; + readonly type?: DetectorType; +} + +// @public +export type DetectorResponse = ProxyOnlyResource & { + metadata?: DetectorInfo; + dataset?: DiagnosticData[]; + status?: Status; + dataProvidersMetadata?: DataProviderMetadata[]; + suggestedUtterances?: QueryUtterancesResults; +}; + +// @public +export interface DetectorResponseCollection { + readonly nextLink?: string; + value: DetectorResponse[]; +} + +// @public +export type DetectorType = "Detector" | "Analysis" | "CategoryOverview"; + +// @public +export type DiagnosticAnalysis = ProxyOnlyResource & { + startTime?: Date; + endTime?: Date; + abnormalTimePeriods?: AbnormalTimePeriod[]; + payload?: AnalysisData[]; + nonCorrelatedDetectors?: DetectorDefinition[]; +}; + +// @public +export interface DiagnosticAnalysisCollection { + readonly nextLink?: string; + value: AnalysisDefinition[]; +} + +// @public +export type DiagnosticCategory = ProxyOnlyResource & { + readonly description?: string; +}; + +// @public +export interface DiagnosticCategoryCollection { + readonly nextLink?: string; + value: DiagnosticCategory[]; +} + +// @public +export interface DiagnosticData { + renderingProperties?: Rendering; + table?: DataTableResponseObject; +} + +// @public +export interface DiagnosticDetectorCollection { + readonly nextLink?: string; + value: DetectorDefinitionResource[]; +} + +// @public +export type DiagnosticDetectorResponse = ProxyOnlyResource & { + startTime?: Date; + endTime?: Date; + issueDetected?: boolean; + detectorDefinition?: DetectorDefinition; + metrics?: DiagnosticMetricSet[]; + abnormalTimePeriods?: DetectorAbnormalTimePeriod[]; + data?: NameValuePair[][]; + responseMetaData?: ResponseMetaData; +}; + +// @public +export interface DiagnosticMetricSample { + isAggregated?: boolean; + maximum?: number; + minimum?: number; + roleInstance?: string; + timestamp?: Date; + total?: number; +} + +// @public +export interface DiagnosticMetricSet { + endTime?: Date; + name?: string; + startTime?: Date; + timeGrain?: string; + unit?: string; + values?: DiagnosticMetricSample[]; +} + +// @public +export interface Diagnostics { + executeSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, options?: DiagnosticsExecuteSiteAnalysisOptionalParams): Promise; + executeSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, options?: DiagnosticsExecuteSiteAnalysisSlotOptionalParams): Promise; + executeSiteDetector(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, options?: DiagnosticsExecuteSiteDetectorOptionalParams): Promise; + executeSiteDetectorSlot(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, slot: string, options?: DiagnosticsExecuteSiteDetectorSlotOptionalParams): Promise; + getHostingEnvironmentDetectorResponse(resourceGroupName: string, name: string, detectorName: string, options?: DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams): Promise; + getSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, options?: DiagnosticsGetSiteAnalysisOptionalParams): Promise; + getSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, options?: DiagnosticsGetSiteAnalysisSlotOptionalParams): Promise; + getSiteDetector(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, options?: DiagnosticsGetSiteDetectorOptionalParams): Promise; + getSiteDetectorResponse(resourceGroupName: string, siteName: string, detectorName: string, options?: DiagnosticsGetSiteDetectorResponseOptionalParams): Promise; + getSiteDetectorResponseSlot(resourceGroupName: string, siteName: string, detectorName: string, slot: string, options?: DiagnosticsGetSiteDetectorResponseSlotOptionalParams): Promise; + getSiteDetectorSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, slot: string, options?: DiagnosticsGetSiteDetectorSlotOptionalParams): Promise; + getSiteDiagnosticCategory(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: DiagnosticsGetSiteDiagnosticCategoryOptionalParams): Promise; + getSiteDiagnosticCategorySlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: DiagnosticsGetSiteDiagnosticCategorySlotOptionalParams): Promise; + listHostingEnvironmentDetectorResponses(resourceGroupName: string, name: string, options?: DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams): PagedAsyncIterableIterator; + listSiteAnalyses(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: DiagnosticsListSiteAnalysesOptionalParams): PagedAsyncIterableIterator; + listSiteAnalysesSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: DiagnosticsListSiteAnalysesSlotOptionalParams): PagedAsyncIterableIterator; + listSiteDetectorResponses(resourceGroupName: string, siteName: string, options?: DiagnosticsListSiteDetectorResponsesOptionalParams): PagedAsyncIterableIterator; + listSiteDetectorResponsesSlot(resourceGroupName: string, siteName: string, slot: string, options?: DiagnosticsListSiteDetectorResponsesSlotOptionalParams): PagedAsyncIterableIterator; + listSiteDetectors(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: DiagnosticsListSiteDetectorsOptionalParams): PagedAsyncIterableIterator; + listSiteDetectorsSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: DiagnosticsListSiteDetectorsSlotOptionalParams): PagedAsyncIterableIterator; + listSiteDiagnosticCategories(resourceGroupName: string, siteName: string, options?: DiagnosticsListSiteDiagnosticCategoriesOptionalParams): PagedAsyncIterableIterator; + listSiteDiagnosticCategoriesSlot(resourceGroupName: string, siteName: string, slot: string, options?: DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DiagnosticsExecuteSiteAnalysisOptionalParams extends coreClient.OperationOptions { + endTime?: Date; + startTime?: Date; + timeGrain?: string; +} + +// @public +export type DiagnosticsExecuteSiteAnalysisResponse = DiagnosticAnalysis; + +// @public +export interface DiagnosticsExecuteSiteAnalysisSlotOptionalParams extends coreClient.OperationOptions { + endTime?: Date; + startTime?: Date; + timeGrain?: string; +} + +// @public +export type DiagnosticsExecuteSiteAnalysisSlotResponse = DiagnosticAnalysis; + +// @public +export interface DiagnosticsExecuteSiteDetectorOptionalParams extends coreClient.OperationOptions { + endTime?: Date; + startTime?: Date; + timeGrain?: string; +} + +// @public +export type DiagnosticsExecuteSiteDetectorResponse = DiagnosticDetectorResponse; + +// @public +export interface DiagnosticsExecuteSiteDetectorSlotOptionalParams extends coreClient.OperationOptions { + endTime?: Date; + startTime?: Date; + timeGrain?: string; +} + +// @public +export type DiagnosticsExecuteSiteDetectorSlotResponse = DiagnosticDetectorResponse; + +// @public +export interface DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams extends coreClient.OperationOptions { + endTime?: Date; + startTime?: Date; + timeGrain?: string; +} + +// @public +export type DiagnosticsGetHostingEnvironmentDetectorResponseResponse = DetectorResponse; + +// @public +export interface DiagnosticsGetSiteAnalysisOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsGetSiteAnalysisResponse = AnalysisDefinition; + +// @public +export interface DiagnosticsGetSiteAnalysisSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsGetSiteAnalysisSlotResponse = AnalysisDefinition; + +// @public +export interface DiagnosticsGetSiteDetectorOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsGetSiteDetectorResponse = DetectorDefinitionResource; + +// @public +export interface DiagnosticsGetSiteDetectorResponseOptionalParams extends coreClient.OperationOptions { + endTime?: Date; + startTime?: Date; + timeGrain?: string; +} + +// @public +export type DiagnosticsGetSiteDetectorResponseResponse = DetectorResponse; + +// @public +export interface DiagnosticsGetSiteDetectorResponseSlotOptionalParams extends coreClient.OperationOptions { + endTime?: Date; + startTime?: Date; + timeGrain?: string; +} + +// @public +export type DiagnosticsGetSiteDetectorResponseSlotResponse = DetectorResponse; + +// @public +export interface DiagnosticsGetSiteDetectorSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsGetSiteDetectorSlotResponse = DetectorDefinitionResource; + +// @public +export interface DiagnosticsGetSiteDiagnosticCategoryOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsGetSiteDiagnosticCategoryResponse = DiagnosticCategory; + +// @public +export interface DiagnosticsGetSiteDiagnosticCategorySlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsGetSiteDiagnosticCategorySlotResponse = DiagnosticCategory; + +// @public +export interface DiagnosticsListHostingEnvironmentDetectorResponsesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListHostingEnvironmentDetectorResponsesNextResponse = DetectorResponseCollection; + +// @public +export interface DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListHostingEnvironmentDetectorResponsesResponse = DetectorResponseCollection; + +// @public +export interface DiagnosticsListSiteAnalysesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteAnalysesNextResponse = DiagnosticAnalysisCollection; + +// @public +export interface DiagnosticsListSiteAnalysesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteAnalysesResponse = DiagnosticAnalysisCollection; + +// @public +export interface DiagnosticsListSiteAnalysesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteAnalysesSlotNextResponse = DiagnosticAnalysisCollection; + +// @public +export interface DiagnosticsListSiteAnalysesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteAnalysesSlotResponse = DiagnosticAnalysisCollection; + +// @public +export interface DiagnosticsListSiteDetectorResponsesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDetectorResponsesNextResponse = DetectorResponseCollection; + +// @public +export interface DiagnosticsListSiteDetectorResponsesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDetectorResponsesResponse = DetectorResponseCollection; + +// @public +export interface DiagnosticsListSiteDetectorResponsesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDetectorResponsesSlotNextResponse = DetectorResponseCollection; + +// @public +export interface DiagnosticsListSiteDetectorResponsesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDetectorResponsesSlotResponse = DetectorResponseCollection; + +// @public +export interface DiagnosticsListSiteDetectorsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDetectorsNextResponse = DiagnosticDetectorCollection; + +// @public +export interface DiagnosticsListSiteDetectorsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDetectorsResponse = DiagnosticDetectorCollection; + +// @public +export interface DiagnosticsListSiteDetectorsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDetectorsSlotNextResponse = DiagnosticDetectorCollection; + +// @public +export interface DiagnosticsListSiteDetectorsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDetectorsSlotResponse = DiagnosticDetectorCollection; + +// @public +export interface DiagnosticsListSiteDiagnosticCategoriesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDiagnosticCategoriesNextResponse = DiagnosticCategoryCollection; + +// @public +export interface DiagnosticsListSiteDiagnosticCategoriesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDiagnosticCategoriesResponse = DiagnosticCategoryCollection; + +// @public +export interface DiagnosticsListSiteDiagnosticCategoriesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDiagnosticCategoriesSlotNextResponse = DiagnosticCategoryCollection; + +// @public +export interface DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DiagnosticsListSiteDiagnosticCategoriesSlotResponse = DiagnosticCategoryCollection; + +// @public +export interface Dimension { + // (undocumented) + displayName?: string; + // (undocumented) + internalName?: string; + // (undocumented) + name?: string; + // (undocumented) + toBeExportedForShoebox?: boolean; +} + +// @public +export type DnsType = "AzureDns" | "DefaultDomainRegistrarDns"; + +// @public +export type DnsVerificationTestResult = "Passed" | "Failed" | "Skipped"; + +// @public +export type Domain = Resource & { + contactAdmin?: Contact; + contactBilling?: Contact; + contactRegistrant?: Contact; + contactTech?: Contact; + readonly registrationStatus?: DomainStatus; + readonly provisioningState?: ProvisioningState; + readonly nameServers?: string[]; + privacy?: boolean; + readonly createdTime?: Date; + readonly expirationTime?: Date; + readonly lastRenewedTime?: Date; + autoRenew?: boolean; + readonly readyForDnsRecordManagement?: boolean; + readonly managedHostNames?: HostName[]; + consent?: DomainPurchaseConsent; + readonly domainNotRenewableReasons?: DomainPropertiesDomainNotRenewableReasonsItem[]; + dnsType?: DnsType; + dnsZoneId?: string; + targetDnsType?: DnsType; + authCode?: string; +}; + +// @public +export interface DomainAvailabilityCheckResult { + available?: boolean; + domainType?: DomainType; + name?: string; +} + +// @public +export interface DomainCollection { + readonly nextLink?: string; + value: Domain[]; +} + +// @public +export interface DomainControlCenterSsoRequest { + readonly postParameterKey?: string; + readonly postParameterValue?: string; + readonly url?: string; +} + +// @public +export type DomainOwnershipIdentifier = ProxyOnlyResource & { + ownershipId?: string; +}; + +// @public +export interface DomainOwnershipIdentifierCollection { + readonly nextLink?: string; + value: DomainOwnershipIdentifier[]; +} + +// @public +export type DomainPatchResource = ProxyOnlyResource & { + contactAdmin?: Contact; + contactBilling?: Contact; + contactRegistrant?: Contact; + contactTech?: Contact; + readonly registrationStatus?: DomainStatus; + readonly provisioningState?: ProvisioningState; + readonly nameServers?: string[]; + privacy?: boolean; + readonly createdTime?: Date; + readonly expirationTime?: Date; + readonly lastRenewedTime?: Date; + autoRenew?: boolean; + readonly readyForDnsRecordManagement?: boolean; + readonly managedHostNames?: HostName[]; + consent?: DomainPurchaseConsent; + readonly domainNotRenewableReasons?: DomainPatchResourcePropertiesDomainNotRenewableReasonsItem[]; + dnsType?: DnsType; + dnsZoneId?: string; + targetDnsType?: DnsType; + authCode?: string; +}; + +// @public +export type DomainPatchResourcePropertiesDomainNotRenewableReasonsItem = string; + +// @public +export type DomainPropertiesDomainNotRenewableReasonsItem = string; + +// @public +export interface DomainPurchaseConsent { + agreedAt?: Date; + agreedBy?: string; + agreementKeys?: string[]; +} + +// @public +export interface DomainRecommendationSearchParameters { + keywords?: string; + maxDomainRecommendations?: number; +} + +// @public +export interface DomainRegistrationProvider { + listOperations(options?: DomainRegistrationProviderListOperationsOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DomainRegistrationProviderListOperationsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainRegistrationProviderListOperationsNextResponse = CsmOperationCollection; + +// @public +export interface DomainRegistrationProviderListOperationsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainRegistrationProviderListOperationsResponse = CsmOperationCollection; + +// @public +export interface Domains { + beginCreateOrUpdate(resourceGroupName: string, domainName: string, domain: Domain, options?: DomainsCreateOrUpdateOptionalParams): Promise, DomainsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, domainName: string, domain: Domain, options?: DomainsCreateOrUpdateOptionalParams): Promise; + checkAvailability(identifier: NameIdentifier, options?: DomainsCheckAvailabilityOptionalParams): Promise; + createOrUpdateOwnershipIdentifier(resourceGroupName: string, domainName: string, name: string, domainOwnershipIdentifier: DomainOwnershipIdentifier, options?: DomainsCreateOrUpdateOwnershipIdentifierOptionalParams): Promise; + delete(resourceGroupName: string, domainName: string, options?: DomainsDeleteOptionalParams): Promise; + deleteOwnershipIdentifier(resourceGroupName: string, domainName: string, name: string, options?: DomainsDeleteOwnershipIdentifierOptionalParams): Promise; + get(resourceGroupName: string, domainName: string, options?: DomainsGetOptionalParams): Promise; + getControlCenterSsoRequest(options?: DomainsGetControlCenterSsoRequestOptionalParams): Promise; + getOwnershipIdentifier(resourceGroupName: string, domainName: string, name: string, options?: DomainsGetOwnershipIdentifierOptionalParams): Promise; + list(options?: DomainsListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: DomainsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listOwnershipIdentifiers(resourceGroupName: string, domainName: string, options?: DomainsListOwnershipIdentifiersOptionalParams): PagedAsyncIterableIterator; + listRecommendations(parameters: DomainRecommendationSearchParameters, options?: DomainsListRecommendationsOptionalParams): PagedAsyncIterableIterator; + renew(resourceGroupName: string, domainName: string, options?: DomainsRenewOptionalParams): Promise; + update(resourceGroupName: string, domainName: string, domain: DomainPatchResource, options?: DomainsUpdateOptionalParams): Promise; + updateOwnershipIdentifier(resourceGroupName: string, domainName: string, name: string, domainOwnershipIdentifier: DomainOwnershipIdentifier, options?: DomainsUpdateOwnershipIdentifierOptionalParams): Promise; +} + +// @public +export interface DomainsCheckAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsCheckAvailabilityResponse = DomainAvailabilityCheckResult; + +// @public +export interface DomainsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DomainsCreateOrUpdateOwnershipIdentifierOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsCreateOrUpdateOwnershipIdentifierResponse = DomainOwnershipIdentifier; + +// @public +export type DomainsCreateOrUpdateResponse = Domain; + +// @public +export interface DomainsDeleteOptionalParams extends coreClient.OperationOptions { + forceHardDeleteDomain?: boolean; +} + +// @public +export interface DomainsDeleteOwnershipIdentifierOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DomainsGetControlCenterSsoRequestOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsGetControlCenterSsoRequestResponse = DomainControlCenterSsoRequest; + +// @public +export interface DomainsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DomainsGetOwnershipIdentifierOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsGetOwnershipIdentifierResponse = DomainOwnershipIdentifier; + +// @public +export type DomainsGetResponse = Domain; + +// @public +export interface DomainsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsListByResourceGroupNextResponse = DomainCollection; + +// @public +export interface DomainsListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsListByResourceGroupResponse = DomainCollection; + +// @public +export interface DomainsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsListNextResponse = DomainCollection; + +// @public +export interface DomainsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DomainsListOwnershipIdentifiersNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsListOwnershipIdentifiersNextResponse = DomainOwnershipIdentifierCollection; + +// @public +export interface DomainsListOwnershipIdentifiersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsListOwnershipIdentifiersResponse = DomainOwnershipIdentifierCollection; + +// @public +export interface DomainsListRecommendationsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsListRecommendationsNextResponse = NameIdentifierCollection; + +// @public +export interface DomainsListRecommendationsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsListRecommendationsResponse = NameIdentifierCollection; + +// @public +export type DomainsListResponse = DomainCollection; + +// @public +export interface DomainsRenewOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainStatus = "Active" | "Awaiting" | "Cancelled" | "Confiscated" | "Disabled" | "Excluded" | "Expired" | "Failed" | "Held" | "Locked" | "Parked" | "Pending" | "Reserved" | "Reverted" | "Suspended" | "Transferred" | "Unknown" | "Unlocked" | "Unparked" | "Updated" | "JsonConverterFailed"; + +// @public +export interface DomainsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DomainsUpdateOwnershipIdentifierOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DomainsUpdateOwnershipIdentifierResponse = DomainOwnershipIdentifier; + +// @public +export type DomainsUpdateResponse = Domain; + +// @public +export type DomainType = "Regular" | "SoftDeleted"; + +// @public +export interface EnabledConfig { + enabled?: boolean; +} + +// @public +export interface EndpointDependency { + domainName?: string; + endpointDetails?: EndpointDetail[]; +} + +// @public +export interface EndpointDetail { + ipAddress?: string; + isAccessible?: boolean; + latency?: number; + port?: number; +} + +// @public +export type Enum10 = string; + +// @public +export type Enum11 = string; + +// @public +export type Enum12 = string; + +// @public +export type Enum13 = string; + +// @public +export type Enum14 = string; + +// @public +export type Enum15 = string; + +// @public +export interface ErrorEntity { + code?: string; + details?: ErrorEntity[]; + extendedCode?: string; + innerErrors?: ErrorEntity[]; + message?: string; + messageTemplate?: string; + parameters?: string[]; + target?: string; +} + +// @public +export interface Experiments { + rampUpRules?: RampUpRule[]; +} + +// @public +export interface ExtendedLocation { + name?: string; + readonly type?: string; +} + +// @public +export interface Facebook { + enabled?: boolean; + graphApiVersion?: string; + login?: LoginScopes; + registration?: AppRegistration; +} + +// @public +export interface FileSystemApplicationLogsConfig { + level?: LogLevel; +} + +// @public +export interface FileSystemHttpLogsConfig { + enabled?: boolean; + retentionInDays?: number; + retentionInMb?: number; +} + +// @public +export interface FileSystemTokenStore { + directory?: string; +} + +// @public +export interface ForwardProxy { + convention?: ForwardProxyConvention; + customHostHeaderName?: string; + customProtoHeaderName?: string; +} + +// @public +export type ForwardProxyConvention = "NoProxy" | "Standard" | "Custom"; + +// @public +export type FrequencyUnit = "Day" | "Hour"; + +// @public (undocumented) +export interface FrontEndConfiguration { + // (undocumented) + kind?: FrontEndServiceType; +} + +// @public +export type FrontEndServiceType = "NodePort" | "LoadBalancer"; + +// @public +export type FtpsState = string; + +// @public +export interface FunctionAppMajorVersion { + readonly displayText?: string; + readonly minorVersions?: FunctionAppMinorVersion[]; + readonly value?: string; +} + +// @public +export interface FunctionAppMinorVersion { + readonly displayText?: string; + readonly stackSettings?: FunctionAppRuntimes; + readonly value?: string; +} + +// @public +export interface FunctionAppRuntimes { + readonly linuxRuntimeSettings?: FunctionAppRuntimeSettings; + readonly windowsRuntimeSettings?: FunctionAppRuntimeSettings; +} + +// @public +export interface FunctionAppRuntimeSettings { + readonly appInsightsSettings?: AppInsightsWebAppStackSettings; + readonly appSettingsDictionary?: { + [propertyName: string]: string; + }; + readonly endOfLifeDate?: Date; + readonly gitHubActionSettings?: GitHubActionWebAppStackSettings; + readonly isAutoUpdate?: boolean; + readonly isDefault?: boolean; + readonly isDeprecated?: boolean; + readonly isEarlyAccess?: boolean; + readonly isHidden?: boolean; + readonly isPreview?: boolean; + readonly remoteDebuggingSupported?: boolean; + readonly runtimeVersion?: string; + readonly siteConfigPropertiesDictionary?: SiteConfigPropertiesDictionary; + readonly supportedFunctionsExtensionVersions?: string[]; +} + +// @public +export type FunctionAppStack = ProxyOnlyResource & { + readonly location?: string; + readonly displayText?: string; + readonly value?: string; + readonly majorVersions?: FunctionAppMajorVersion[]; + readonly preferredOs?: StackPreferredOs; +}; + +// @public +export interface FunctionAppStackCollection { + readonly nextLink?: string; + value: FunctionAppStack[]; +} + +// @public +export type FunctionEnvelope = ProxyOnlyResource & { + functionAppId?: string; + scriptRootPathHref?: string; + scriptHref?: string; + configHref?: string; + testDataHref?: string; + secretsFileHref?: string; + href?: string; + config?: Record; + files?: { + [propertyName: string]: string; + }; + testData?: string; + invokeUrlTemplate?: string; + language?: string; + isDisabled?: boolean; +}; + +// @public +export interface FunctionEnvelopeCollection { + readonly nextLink?: string; + value: FunctionEnvelope[]; +} + +// @public +export interface FunctionSecrets { + key?: string; + triggerUrl?: string; +} + +// @public +export type GeoRegion = ProxyOnlyResource & { + readonly description?: string; + readonly displayName?: string; + readonly orgDomain?: string; +}; + +// @public +export interface GeoRegionCollection { + readonly nextLink?: string; + value: GeoRegion[]; +} + +// @public +export type GitHub = ProxyOnlyResource & { + enabled?: boolean; + registration?: ClientRegistration; + login?: LoginScopes; +}; + +// @public +export interface GitHubActionCodeConfiguration { + runtimeStack?: string; + runtimeVersion?: string; +} + +// @public +export interface GitHubActionConfiguration { + codeConfiguration?: GitHubActionCodeConfiguration; + containerConfiguration?: GitHubActionContainerConfiguration; + generateWorkflowFile?: boolean; + isLinux?: boolean; +} + +// @public +export interface GitHubActionContainerConfiguration { + imageName?: string; + password?: string; + serverUrl?: string; + username?: string; +} + +// @public +export interface GitHubActionWebAppStackSettings { + readonly isSupported?: boolean; + readonly supportedVersion?: string; +} + +// @public +export interface Global { + getDeletedWebApp(deletedSiteId: string, options?: GlobalGetDeletedWebAppOptionalParams): Promise; + getDeletedWebAppSnapshots(deletedSiteId: string, options?: GlobalGetDeletedWebAppSnapshotsOptionalParams): Promise; + getSubscriptionOperationWithAsyncResponse(location: string, operationId: string, options?: GlobalGetSubscriptionOperationWithAsyncResponseOptionalParams): Promise; +} + +// @public +export interface GlobalCsmSkuDescription { + capabilities?: Capability[]; + capacity?: SkuCapacity; + family?: string; + locations?: string[]; + name?: string; + size?: string; + tier?: string; +} + +// @public +export interface GlobalGetDeletedWebAppOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GlobalGetDeletedWebAppResponse = DeletedSite; + +// @public +export interface GlobalGetDeletedWebAppSnapshotsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GlobalGetDeletedWebAppSnapshotsResponse = Snapshot[]; + +// @public +export interface GlobalGetSubscriptionOperationWithAsyncResponseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface GlobalValidation { + excludedPaths?: string[]; + redirectToProvider?: string; + requireAuthentication?: boolean; + unauthenticatedClientAction?: UnauthenticatedClientActionV2; +} + +// @public +export type Google = ProxyOnlyResource & { + enabled?: boolean; + registration?: ClientRegistration; + login?: LoginScopes; + validation?: AllowedAudiencesValidation; +}; + +// @public +export interface HandlerMapping { + arguments?: string; + extension?: string; + scriptProcessor?: string; +} + +// @public +export interface HostingEnvironmentDeploymentInfo { + location?: string; + name?: string; +} + +// @public +export interface HostingEnvironmentDiagnostics { + diagnosticsOutput?: string; + name?: string; +} + +// @public +export interface HostingEnvironmentProfile { + id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export type HostingEnvironmentStatus = "Preparing" | "Ready" | "Scaling" | "Deleting"; + +// @public +export interface HostKeys { + functionKeys?: { + [propertyName: string]: string; + }; + masterKey?: string; + systemKeys?: { + [propertyName: string]: string; + }; +} + +// @public +export interface HostName { + azureResourceName?: string; + azureResourceType?: AzureResourceType; + customHostNameDnsRecordType?: CustomHostNameDnsRecordType; + hostNameType?: HostNameType; + name?: string; + siteNames?: string[]; +} + +// @public +export type HostNameBinding = ProxyOnlyResource & { + siteName?: string; + domainId?: string; + azureResourceName?: string; + azureResourceType?: AzureResourceType; + customHostNameDnsRecordType?: CustomHostNameDnsRecordType; + hostNameType?: HostNameType; + sslState?: SslState; + thumbprint?: string; + readonly virtualIP?: string; +}; + +// @public +export interface HostNameBindingCollection { + readonly nextLink?: string; + value: HostNameBinding[]; +} + +// @public +export interface HostNameSslState { + hostType?: HostType; + name?: string; + sslState?: SslState; + thumbprint?: string; + toUpdate?: boolean; + virtualIP?: string; +} + +// @public +export type HostNameType = "Verified" | "Managed"; + +// @public +export type HostType = "Standard" | "Repository"; + +// @public +export interface HttpLogsConfig { + azureBlobStorage?: AzureBlobStorageHttpLogsConfig; + fileSystem?: FileSystemHttpLogsConfig; +} + +// @public +export interface HttpSettings { + forwardProxy?: ForwardProxy; + requireHttps?: boolean; + routes?: HttpSettingsRoutes; +} + +// @public +export interface HttpSettingsRoutes { + apiPrefix?: string; +} + +// @public +export type HybridConnection = ProxyOnlyResource & { + serviceBusNamespace?: string; + relayName?: string; + relayArmUri?: string; + hostname?: string; + port?: number; + sendKeyName?: string; + sendKeyValue?: string; + serviceBusSuffix?: string; +}; + +// @public +export interface HybridConnectionCollection { + readonly nextLink?: string; + value: HybridConnection[]; +} + +// @public +export type HybridConnectionKey = ProxyOnlyResource & { + readonly sendKeyName?: string; + readonly sendKeyValue?: string; +}; + +// @public +export type HybridConnectionLimits = ProxyOnlyResource & { + readonly current?: number; + readonly maximum?: number; +}; + +// @public +export type Identifier = ProxyOnlyResource & { + value?: string; +}; + +// @public +export interface IdentifierCollection { + readonly nextLink?: string; + value: Identifier[]; +} + +// @public +export interface IdentityProviders { + apple?: Apple; + azureActiveDirectory?: AzureActiveDirectory; + azureStaticWebApps?: AzureStaticWebApps; + customOpenIdConnectProviders?: { + [propertyName: string]: CustomOpenIdConnectProvider; + }; + facebook?: Facebook; + gitHub?: GitHub; + google?: Google; + legacyMicrosoftAccount?: LegacyMicrosoftAccount; + twitter?: Twitter; +} + +// @public +export type InAvailabilityReasonType = string; + +// @public +export interface InboundEnvironmentEndpoint { + description?: string; + endpoints?: string[]; + ports?: string[]; +} + +// @public +export interface InboundEnvironmentEndpointCollection { + readonly nextLink?: string; + value: InboundEnvironmentEndpoint[]; +} + +// @public +export type InsightStatus = "Critical" | "Warning" | "Info" | "Success" | "None"; + +// @public +export type IpFilterTag = string; + +// @public +export interface IpSecurityRestriction { + action?: string; + description?: string; + headers?: { + [propertyName: string]: string[]; + }; + ipAddress?: string; + name?: string; + priority?: number; + subnetMask?: string; + subnetTrafficTag?: number; + tag?: IpFilterTag; + vnetSubnetResourceId?: string; + vnetTrafficTag?: number; +} + +// @public +export type IssueType = "ServiceIncident" | "AppDeployment" | "AppCrash" | "RuntimeIssueDetected" | "AseDeployment" | "UserIssue" | "PlatformIssue" | "Other"; + +// @public +export interface JwtClaimChecks { + allowedClientApplications?: string[]; + allowedGroups?: string[]; +} + +// @public +export interface KeyInfo { + name?: string; + value?: string; +} + +// @public (undocumented) +export interface KeyValuePairStringObject { + readonly key?: string; + readonly value?: Record; +} + +// @public +export type KeyVaultSecretStatus = "Initialized" | "WaitingOnCertificateOrder" | "Succeeded" | "CertificateOrderFailed" | "OperationNotPermittedOnKeyVault" | "AzureServiceUnauthorizedToAccessKeyVault" | "KeyVaultDoesNotExist" | "KeyVaultSecretDoesNotExist" | "UnknownError" | "ExternalPrivateKey" | "Unknown"; + +// @public +export enum KnownAppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem { + // (undocumented) + ExpirationNotInRenewalTimeRange = "ExpirationNotInRenewalTimeRange", + // (undocumented) + RegistrationStatusNotSupportedForRenewal = "RegistrationStatusNotSupportedForRenewal", + // (undocumented) + SubscriptionNotActive = "SubscriptionNotActive" +} + +// @public +export enum KnownAppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem { + // (undocumented) + ExpirationNotInRenewalTimeRange = "ExpirationNotInRenewalTimeRange", + // (undocumented) + RegistrationStatusNotSupportedForRenewal = "RegistrationStatusNotSupportedForRenewal", + // (undocumented) + SubscriptionNotActive = "SubscriptionNotActive" +} + +// @public +export enum KnownBuildStatus { + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Deploying = "Deploying", + // (undocumented) + Detached = "Detached", + // (undocumented) + Failed = "Failed", + // (undocumented) + Ready = "Ready", + // (undocumented) + Uploading = "Uploading", + // (undocumented) + WaitingForDeployment = "WaitingForDeployment" +} + +// @public +export enum KnownCheckNameResourceTypes { + // (undocumented) + HostingEnvironment = "HostingEnvironment", + // (undocumented) + MicrosoftWebHostingEnvironments = "Microsoft.Web/hostingEnvironments", + // (undocumented) + MicrosoftWebPublishingUsers = "Microsoft.Web/publishingUsers", + // (undocumented) + MicrosoftWebSites = "Microsoft.Web/sites", + // (undocumented) + MicrosoftWebSitesSlots = "Microsoft.Web/sites/slots", + // (undocumented) + PublishingUser = "PublishingUser", + // (undocumented) + Site = "Site", + // (undocumented) + Slot = "Slot" +} + +// @public +export enum KnownCustomDomainStatus { + // (undocumented) + Adding = "Adding", + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Failed = "Failed", + // (undocumented) + Ready = "Ready", + // (undocumented) + RetrievingValidationToken = "RetrievingValidationToken", + // (undocumented) + Validating = "Validating" +} + +// @public +export enum KnownDatabaseType { + // (undocumented) + LocalMySql = "LocalMySql", + // (undocumented) + MySql = "MySql", + // (undocumented) + PostgreSql = "PostgreSql", + // (undocumented) + SqlAzure = "SqlAzure" +} + +// @public +export enum KnownDomainPatchResourcePropertiesDomainNotRenewableReasonsItem { + // (undocumented) + ExpirationNotInRenewalTimeRange = "ExpirationNotInRenewalTimeRange", + // (undocumented) + RegistrationStatusNotSupportedForRenewal = "RegistrationStatusNotSupportedForRenewal", + // (undocumented) + SubscriptionNotActive = "SubscriptionNotActive" +} + +// @public +export enum KnownDomainPropertiesDomainNotRenewableReasonsItem { + // (undocumented) + ExpirationNotInRenewalTimeRange = "ExpirationNotInRenewalTimeRange", + // (undocumented) + RegistrationStatusNotSupportedForRenewal = "RegistrationStatusNotSupportedForRenewal", + // (undocumented) + SubscriptionNotActive = "SubscriptionNotActive" +} + +// @public +export enum KnownEnum10 { + // (undocumented) + All = "All", + // (undocumented) + Linux = "Linux", + // (undocumented) + LinuxFunctions = "LinuxFunctions", + // (undocumented) + Windows = "Windows", + // (undocumented) + WindowsFunctions = "WindowsFunctions" +} + +// @public +export enum KnownEnum11 { + // (undocumented) + All = "All", + // (undocumented) + Linux = "Linux", + // (undocumented) + Windows = "Windows" +} + +// @public +export enum KnownEnum12 { + // (undocumented) + All = "All", + // (undocumented) + Linux = "Linux", + // (undocumented) + Windows = "Windows" +} + +// @public +export enum KnownEnum13 { + // (undocumented) + All = "All", + // (undocumented) + Linux = "Linux", + // (undocumented) + Windows = "Windows" +} + +// @public +export enum KnownEnum14 { + // (undocumented) + All = "All", + // (undocumented) + Linux = "Linux", + // (undocumented) + Windows = "Windows" +} + +// @public +export enum KnownEnum15 { + // (undocumented) + All = "All", + // (undocumented) + Linux = "Linux", + // (undocumented) + LinuxFunctions = "LinuxFunctions", + // (undocumented) + Windows = "Windows", + // (undocumented) + WindowsFunctions = "WindowsFunctions" +} + +// @public +export enum KnownFtpsState { + // (undocumented) + AllAllowed = "AllAllowed", + // (undocumented) + Disabled = "Disabled", + // (undocumented) + FtpsOnly = "FtpsOnly" +} + +// @public +export enum KnownInAvailabilityReasonType { + // (undocumented) + AlreadyExists = "AlreadyExists", + // (undocumented) + Invalid = "Invalid" +} + +// @public +export enum KnownIpFilterTag { + // (undocumented) + Default = "Default", + // (undocumented) + ServiceTag = "ServiceTag", + // (undocumented) + XffProxy = "XffProxy" +} + +// @public +export enum KnownLoadBalancingMode { + // (undocumented) + None = "None", + // (undocumented) + Publishing = "Publishing", + // (undocumented) + Web = "Web", + // (undocumented) + WebPublishing = "Web, Publishing" +} + +// @public +export enum KnownPublishingProfileFormat { + // (undocumented) + FileZilla3 = "FileZilla3", + // (undocumented) + Ftp = "Ftp", + // (undocumented) + WebDeploy = "WebDeploy" +} + +// @public +export enum KnownResourceScopeType { + // (undocumented) + ServerFarm = "ServerFarm", + // (undocumented) + Subscription = "Subscription", + // (undocumented) + WebSite = "WebSite" +} + +// @public +export enum KnownRouteType { + // (undocumented) + Default = "DEFAULT", + // (undocumented) + Inherited = "INHERITED", + // (undocumented) + Static = "STATIC" +} + +// @public +export enum KnownScmType { + // (undocumented) + BitbucketGit = "BitbucketGit", + // (undocumented) + BitbucketHg = "BitbucketHg", + // (undocumented) + CodePlexGit = "CodePlexGit", + // (undocumented) + CodePlexHg = "CodePlexHg", + // (undocumented) + Dropbox = "Dropbox", + // (undocumented) + ExternalGit = "ExternalGit", + // (undocumented) + ExternalHg = "ExternalHg", + // (undocumented) + GitHub = "GitHub", + // (undocumented) + LocalGit = "LocalGit", + // (undocumented) + None = "None", + // (undocumented) + OneDrive = "OneDrive", + // (undocumented) + Tfs = "Tfs", + // (undocumented) + VSO = "VSO", + // (undocumented) + Vstsrm = "VSTSRM" +} + +// @public +export enum KnownSkuName { + // (undocumented) + Basic = "Basic", + // (undocumented) + Dynamic = "Dynamic", + // (undocumented) + ElasticIsolated = "ElasticIsolated", + // (undocumented) + ElasticPremium = "ElasticPremium", + // (undocumented) + Free = "Free", + // (undocumented) + Isolated = "Isolated", + // (undocumented) + IsolatedV2 = "IsolatedV2", + // (undocumented) + Premium = "Premium", + // (undocumented) + PremiumContainer = "PremiumContainer", + // (undocumented) + PremiumV2 = "PremiumV2", + // (undocumented) + PremiumV3 = "PremiumV3", + // (undocumented) + Shared = "Shared", + // (undocumented) + Standard = "Standard" +} + +// @public +export enum KnownSupportedTlsVersions { + // (undocumented) + One0 = "1.0", + // (undocumented) + One1 = "1.1", + // (undocumented) + One2 = "1.2" +} + +// @public +export enum KnownTriggerTypes { + // (undocumented) + HttpTrigger = "HttpTrigger", + // (undocumented) + Unknown = "Unknown" +} + +// @public +export enum KnownValidateResourceTypes { + // (undocumented) + MicrosoftWebHostingEnvironments = "Microsoft.Web/hostingEnvironments", + // (undocumented) + ServerFarm = "ServerFarm", + // (undocumented) + Site = "Site" +} + +// @public +export type KubeEnvironment = Resource & { + extendedLocation?: ExtendedLocation; + readonly provisioningState?: KubeEnvironmentProvisioningState; + readonly deploymentErrors?: string; + internalLoadBalancerEnabled?: boolean; + readonly defaultDomain?: string; + staticIp?: string; + arcConfiguration?: ArcConfiguration; + appLogsConfiguration?: AppLogsConfiguration; + aksResourceID?: string; +}; + +// @public +export interface KubeEnvironmentCollection { + readonly nextLink?: string; + value: KubeEnvironment[]; +} + +// @public +export type KubeEnvironmentPatchResource = ProxyOnlyResource & { + readonly provisioningState?: KubeEnvironmentProvisioningState; + readonly deploymentErrors?: string; + internalLoadBalancerEnabled?: boolean; + readonly defaultDomain?: string; + staticIp?: string; + arcConfiguration?: ArcConfiguration; + appLogsConfiguration?: AppLogsConfiguration; + aksResourceID?: string; +}; + +// @public +export interface KubeEnvironmentProfile { + id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export type KubeEnvironmentProvisioningState = "Succeeded" | "Failed" | "Canceled" | "Waiting" | "InitializationInProgress" | "InfrastructureSetupInProgress" | "InfrastructureSetupComplete" | "ScheduledForDelete" | "UpgradeRequested" | "UpgradeFailed"; + +// @public +export interface KubeEnvironments { + beginCreateOrUpdate(resourceGroupName: string, name: string, kubeEnvironmentEnvelope: KubeEnvironment, options?: KubeEnvironmentsCreateOrUpdateOptionalParams): Promise, KubeEnvironmentsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, name: string, kubeEnvironmentEnvelope: KubeEnvironment, options?: KubeEnvironmentsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, name: string, options?: KubeEnvironmentsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, name: string, options?: KubeEnvironmentsDeleteOptionalParams): Promise; + get(resourceGroupName: string, name: string, options?: KubeEnvironmentsGetOptionalParams): Promise; + listByResourceGroup(resourceGroupName: string, options?: KubeEnvironmentsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listBySubscription(options?: KubeEnvironmentsListBySubscriptionOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, name: string, kubeEnvironmentEnvelope: KubeEnvironmentPatchResource, options?: KubeEnvironmentsUpdateOptionalParams): Promise; +} + +// @public +export interface KubeEnvironmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type KubeEnvironmentsCreateOrUpdateResponse = KubeEnvironment; + +// @public +export interface KubeEnvironmentsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface KubeEnvironmentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KubeEnvironmentsGetResponse = KubeEnvironment; + +// @public +export interface KubeEnvironmentsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KubeEnvironmentsListByResourceGroupNextResponse = KubeEnvironmentCollection; + +// @public +export interface KubeEnvironmentsListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KubeEnvironmentsListByResourceGroupResponse = KubeEnvironmentCollection; + +// @public +export interface KubeEnvironmentsListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KubeEnvironmentsListBySubscriptionNextResponse = KubeEnvironmentCollection; + +// @public +export interface KubeEnvironmentsListBySubscriptionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KubeEnvironmentsListBySubscriptionResponse = KubeEnvironmentCollection; + +// @public +export interface KubeEnvironmentsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KubeEnvironmentsUpdateResponse = KubeEnvironment; + +// @public +export type LegacyMicrosoftAccount = ProxyOnlyResource & { + enabled?: boolean; + registration?: ClientRegistration; + login?: LoginScopes; + validation?: AllowedAudiencesValidation; +}; + +// @public +export interface LinuxJavaContainerSettings { + readonly endOfLifeDate?: Date; + readonly isAutoUpdate?: boolean; + readonly isDeprecated?: boolean; + readonly isEarlyAccess?: boolean; + readonly isHidden?: boolean; + readonly isPreview?: boolean; + readonly java11Runtime?: string; + readonly java8Runtime?: string; +} + +// @public +export type LoadBalancingMode = string; + +// @public +export interface LocalizableString { + localizedValue?: string; + value?: string; +} + +// @public (undocumented) +export interface LogAnalyticsConfiguration { + // (undocumented) + customerId?: string; + // (undocumented) + sharedKey?: string; +} + +// @public +export interface Login { + allowedExternalRedirectUrls?: string[]; + cookieExpiration?: CookieExpiration; + nonce?: Nonce; + preserveUrlFragmentsForLogins?: boolean; + routes?: LoginRoutes; + tokenStore?: TokenStore; +} + +// @public +export interface LoginRoutes { + logoutEndpoint?: string; +} + +// @public +export interface LoginScopes { + scopes?: string[]; +} + +// @public +export type LogLevel = "Off" | "Verbose" | "Information" | "Warning" | "Error"; + +// @public +export interface LogSpecification { + // (undocumented) + blobDuration?: string; + // (undocumented) + displayName?: string; + // (undocumented) + logFilterPattern?: string; + // (undocumented) + name?: string; +} + +// @public +export type ManagedPipelineMode = "Integrated" | "Classic"; + +// @public +export interface ManagedServiceIdentity { + readonly principalId?: string; + readonly tenantId?: string; + type?: ManagedServiceIdentityType; + userAssignedIdentities?: { + [propertyName: string]: UserAssignedIdentity; + }; +} + +// @public +export type ManagedServiceIdentityType = "SystemAssigned" | "UserAssigned" | "SystemAssigned, UserAssigned" | "None"; + +// @public +export interface MetricAvailability { + // (undocumented) + blobDuration?: string; + // (undocumented) + timeGrain?: string; +} + +// @public +export interface MetricSpecification { + // (undocumented) + aggregationType?: string; + // (undocumented) + availabilities?: MetricAvailability[]; + // (undocumented) + category?: string; + // (undocumented) + dimensions?: Dimension[]; + // (undocumented) + displayDescription?: string; + // (undocumented) + displayName?: string; + // (undocumented) + enableRegionalMdmAccount?: boolean; + // (undocumented) + fillGapWithZero?: boolean; + // (undocumented) + isInternal?: boolean; + // (undocumented) + metricFilterPattern?: string; + // (undocumented) + name?: string; + // (undocumented) + sourceMdmAccount?: string; + // (undocumented) + sourceMdmNamespace?: string; + // (undocumented) + supportedAggregationTypes?: string[]; + // (undocumented) + supportedTimeGrainTypes?: string[]; + // (undocumented) + supportsInstanceLevelAggregation?: boolean; + // (undocumented) + unit?: string; +} + +// @public +export type MigrateMySqlRequest = ProxyOnlyResource & { + connectionString?: string; + migrationType?: MySqlMigrationType; +}; + +// @public +export type MigrateMySqlStatus = ProxyOnlyResource & { + readonly migrationOperationStatus?: OperationStatus; + readonly operationId?: string; + readonly localMySqlEnabled?: boolean; +}; + +// @public +export type MSDeploy = ProxyOnlyResource & { + packageUri?: string; + connectionString?: string; + dbType?: string; + setParametersXmlFileUri?: string; + setParameters?: { + [propertyName: string]: string; + }; + skipAppData?: boolean; + appOffline?: boolean; +}; + +// @public +export type MSDeployLog = ProxyOnlyResource & { + readonly entries?: MSDeployLogEntry[]; +}; + +// @public +export interface MSDeployLogEntry { + readonly message?: string; + readonly time?: Date; + readonly type?: MSDeployLogEntryType; +} + +// @public +export type MSDeployLogEntryType = "Message" | "Warning" | "Error"; + +// @public +export type MSDeployProvisioningState = "accepted" | "running" | "succeeded" | "failed" | "canceled"; + +// @public +export type MSDeployStatus = ProxyOnlyResource & { + readonly deployer?: string; + readonly provisioningState?: MSDeployProvisioningState; + readonly startTime?: Date; + readonly endTime?: Date; + readonly complete?: boolean; +}; + +// @public +export type MySqlMigrationType = "LocalToRemote" | "RemoteToLocal"; + +// @public +export interface NameIdentifier { + name?: string; +} + +// @public +export interface NameIdentifierCollection { + readonly nextLink?: string; + value: NameIdentifier[]; +} + +// @public +export interface NameValuePair { + name?: string; + value?: string; +} + +// @public +export type NetworkFeatures = ProxyOnlyResource & { + readonly virtualNetworkName?: string; + readonly virtualNetworkConnection?: VnetInfo; + readonly hybridConnections?: RelayServiceConnectionEntity[]; + readonly hybridConnectionsV2?: HybridConnection[]; +}; + +// @public +export interface NetworkTrace { + message?: string; + path?: string; + status?: string; +} + +// @public +export interface Nonce { + nonceExpirationInterval?: string; + validateNonce?: boolean; +} + +// @public +export type NotificationLevel = "Critical" | "Warning" | "Information" | "NonUrgentSuggestion"; + +// @public +export interface OpenIdConnectClientCredential { + clientSecretSettingName?: string; + method?: "ClientSecretPost"; +} + +// @public +export interface OpenIdConnectConfig { + authorizationEndpoint?: string; + certificationUri?: string; + issuer?: string; + tokenEndpoint?: string; + wellKnownOpenIdConfiguration?: string; +} + +// @public +export interface OpenIdConnectLogin { + nameClaimType?: string; + scopes?: string[]; +} + +// @public +export interface OpenIdConnectRegistration { + clientCredential?: OpenIdConnectClientCredential; + clientId?: string; + openIdConnectConfiguration?: OpenIdConnectConfig; +} + +// @public +export interface Operation { + createdTime?: Date; + errors?: ErrorEntity[]; + expirationTime?: Date; + geoMasterOperationId?: string; + id?: string; + modifiedTime?: Date; + name?: string; + status?: OperationStatus; +} + +// @public +export type OperationStatus = "InProgress" | "Failed" | "Succeeded" | "TimedOut" | "Created"; + +// @public +export interface OutboundEnvironmentEndpoint { + category?: string; + endpoints?: EndpointDependency[]; +} + +// @public +export interface OutboundEnvironmentEndpointCollection { + readonly nextLink?: string; + value: OutboundEnvironmentEndpoint[]; +} + +// @public +export interface PerfMonCounterCollection { + readonly nextLink?: string; + value: PerfMonResponse[]; +} + +// @public +export interface PerfMonResponse { + code?: string; + data?: PerfMonSet; + message?: string; +} + +// @public +export interface PerfMonSample { + instanceName?: string; + time?: Date; + value?: number; +} + +// @public +export interface PerfMonSet { + endTime?: Date; + name?: string; + startTime?: Date; + timeGrain?: string; + values?: PerfMonSample[]; +} + +// @public +export type PremierAddOn = Resource & { + sku?: string; + product?: string; + vendor?: string; + marketplacePublisher?: string; + marketplaceOffer?: string; +}; + +// @public +export type PremierAddOnOffer = ProxyOnlyResource & { + sku?: string; + product?: string; + vendor?: string; + promoCodeRequired?: boolean; + quota?: number; + webHostingPlanRestrictions?: AppServicePlanRestrictions; + privacyPolicyUrl?: string; + legalTermsUrl?: string; + marketplacePublisher?: string; + marketplaceOffer?: string; +}; + +// @public +export interface PremierAddOnOfferCollection { + readonly nextLink?: string; + value: PremierAddOnOffer[]; +} + +// @public +export type PremierAddOnPatchResource = ProxyOnlyResource & { + sku?: string; + product?: string; + vendor?: string; + marketplacePublisher?: string; + marketplaceOffer?: string; +}; + +// @public +export type PrivateAccess = ProxyOnlyResource & { + enabled?: boolean; + virtualNetworks?: PrivateAccessVirtualNetwork[]; +}; + +// @public +export interface PrivateAccessSubnet { + key?: number; + name?: string; +} + +// @public +export interface PrivateAccessVirtualNetwork { + key?: number; + name?: string; + resourceId?: string; + subnets?: PrivateAccessSubnet[]; +} + +// @public (undocumented) +export interface PrivateEndpointConnectionCollection { + readonly nextLink?: string; + value: RemotePrivateEndpointConnectionARMResource[]; +} + +// @public +export type PrivateLinkConnectionApprovalRequestResource = ProxyOnlyResource & { + privateLinkServiceConnectionState?: PrivateLinkConnectionState; +}; + +// @public +export interface PrivateLinkConnectionState { + actionsRequired?: string; + description?: string; + status?: string; +} + +// @public +export interface PrivateLinkResource { + // (undocumented) + id: string; + name: string; + properties: PrivateLinkResourceProperties; + // (undocumented) + type: string; +} + +// @public +export interface PrivateLinkResourceProperties { + readonly groupId?: string; + readonly requiredMembers?: string[]; + readonly requiredZoneNames?: string[]; +} + +// @public +export interface PrivateLinkResourcesWrapper { + // (undocumented) + value: PrivateLinkResource[]; +} + +// @public +export type ProcessInfo = ProxyOnlyResource & { + readonly identifier?: number; + deploymentName?: string; + href?: string; + minidump?: string; + isProfileRunning?: boolean; + isIisProfileRunning?: boolean; + iisProfileTimeoutInSeconds?: number; + parent?: string; + children?: string[]; + threads?: ProcessThreadInfo[]; + openFileHandles?: string[]; + modules?: ProcessModuleInfo[]; + fileName?: string; + commandLine?: string; + userName?: string; + handleCount?: number; + moduleCount?: number; + threadCount?: number; + startTime?: Date; + totalCpuTime?: string; + userCpuTime?: string; + privilegedCpuTime?: string; + workingSet?: number; + peakWorkingSet?: number; + privateMemory?: number; + virtualMemory?: number; + peakVirtualMemory?: number; + pagedSystemMemory?: number; + nonPagedSystemMemory?: number; + pagedMemory?: number; + peakPagedMemory?: number; + timeStamp?: Date; + environmentVariables?: { + [propertyName: string]: string; + }; + isScmSite?: boolean; + isWebjob?: boolean; + description?: string; +}; + +// @public +export interface ProcessInfoCollection { + readonly nextLink?: string; + value: ProcessInfo[]; +} + +// @public +export type ProcessModuleInfo = ProxyOnlyResource & { + baseAddress?: string; + fileName?: string; + href?: string; + filePath?: string; + moduleMemorySize?: number; + fileVersion?: string; + fileDescription?: string; + product?: string; + productVersion?: string; + isDebug?: boolean; + language?: string; +}; + +// @public +export interface ProcessModuleInfoCollection { + readonly nextLink?: string; + value: ProcessModuleInfo[]; +} + +// @public +export type ProcessThreadInfo = ProxyOnlyResource & { + readonly identifier?: number; + href?: string; + process?: string; + startAddress?: string; + currentPriority?: number; + priorityLevel?: string; + basePriority?: number; + startTime?: Date; + totalProcessorTime?: string; + userProcessorTime?: string; + state?: string; + waitReason?: string; +}; + +// @public +export interface ProcessThreadInfoCollection { + readonly nextLink?: string; + value: ProcessThreadInfo[]; +} + +// @public +export interface Provider { + listAvailableStacks(options?: ProviderGetAvailableStacksOptionalParams): PagedAsyncIterableIterator; + listAvailableStacksOnPrem(options?: ProviderGetAvailableStacksOnPremOptionalParams): PagedAsyncIterableIterator; + listFunctionAppStacks(options?: ProviderGetFunctionAppStacksOptionalParams): PagedAsyncIterableIterator; + listFunctionAppStacksForLocation(location: string, options?: ProviderGetFunctionAppStacksForLocationOptionalParams): PagedAsyncIterableIterator; + listOperations(options?: ProviderListOperationsOptionalParams): PagedAsyncIterableIterator; + listWebAppStacks(options?: ProviderGetWebAppStacksOptionalParams): PagedAsyncIterableIterator; + listWebAppStacksForLocation(location: string, options?: ProviderGetWebAppStacksForLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ProviderGetAvailableStacksNextOptionalParams extends coreClient.OperationOptions { + // (undocumented) + osTypeSelected?: Enum10; +} + +// @public +export type ProviderGetAvailableStacksNextResponse = ApplicationStackCollection; + +// @public +export interface ProviderGetAvailableStacksOnPremNextOptionalParams extends coreClient.OperationOptions { + // (undocumented) + osTypeSelected?: Enum15; +} + +// @public +export type ProviderGetAvailableStacksOnPremNextResponse = ApplicationStackCollection; + +// @public +export interface ProviderGetAvailableStacksOnPremOptionalParams extends coreClient.OperationOptions { + // (undocumented) + osTypeSelected?: Enum15; +} + +// @public +export type ProviderGetAvailableStacksOnPremResponse = ApplicationStackCollection; + +// @public +export interface ProviderGetAvailableStacksOptionalParams extends coreClient.OperationOptions { + // (undocumented) + osTypeSelected?: Enum10; +} + +// @public +export type ProviderGetAvailableStacksResponse = ApplicationStackCollection; + +// @public +export interface ProviderGetFunctionAppStacksForLocationNextOptionalParams extends coreClient.OperationOptions { + stackOsType?: Enum12; +} + +// @public +export type ProviderGetFunctionAppStacksForLocationNextResponse = FunctionAppStackCollection; + +// @public +export interface ProviderGetFunctionAppStacksForLocationOptionalParams extends coreClient.OperationOptions { + stackOsType?: Enum12; +} + +// @public +export type ProviderGetFunctionAppStacksForLocationResponse = FunctionAppStackCollection; + +// @public +export interface ProviderGetFunctionAppStacksNextOptionalParams extends coreClient.OperationOptions { + stackOsType?: Enum11; +} + +// @public +export type ProviderGetFunctionAppStacksNextResponse = FunctionAppStackCollection; + +// @public +export interface ProviderGetFunctionAppStacksOptionalParams extends coreClient.OperationOptions { + stackOsType?: Enum11; +} + +// @public +export type ProviderGetFunctionAppStacksResponse = FunctionAppStackCollection; + +// @public +export interface ProviderGetWebAppStacksForLocationNextOptionalParams extends coreClient.OperationOptions { + stackOsType?: Enum13; +} + +// @public +export type ProviderGetWebAppStacksForLocationNextResponse = WebAppStackCollection; + +// @public +export interface ProviderGetWebAppStacksForLocationOptionalParams extends coreClient.OperationOptions { + stackOsType?: Enum13; +} + +// @public +export type ProviderGetWebAppStacksForLocationResponse = WebAppStackCollection; + +// @public +export interface ProviderGetWebAppStacksNextOptionalParams extends coreClient.OperationOptions { + stackOsType?: Enum14; +} + +// @public +export type ProviderGetWebAppStacksNextResponse = WebAppStackCollection; + +// @public +export interface ProviderGetWebAppStacksOptionalParams extends coreClient.OperationOptions { + stackOsType?: Enum14; +} + +// @public +export type ProviderGetWebAppStacksResponse = WebAppStackCollection; + +// @public +export interface ProviderListOperationsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ProviderListOperationsNextResponse = CsmOperationCollection; + +// @public +export interface ProviderListOperationsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ProviderListOperationsResponse = CsmOperationCollection; + +// @public +export type ProvisioningState = "Succeeded" | "Failed" | "Canceled" | "InProgress" | "Deleting"; + +// @public +export interface ProxyOnlyResource { + readonly id?: string; + kind?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export type PublicCertificate = ProxyOnlyResource & { + blob?: Uint8Array; + publicCertificateLocation?: PublicCertificateLocation; + readonly thumbprint?: string; +}; + +// @public +export interface PublicCertificateCollection { + readonly nextLink?: string; + value: PublicCertificate[]; +} + +// @public +export type PublicCertificateLocation = "CurrentUserMy" | "LocalMachineMy" | "Unknown"; + +// @public +export interface PublishingCredentialsPoliciesCollection { + readonly nextLink?: string; + value: CsmPublishingCredentialsPoliciesEntity[]; +} + +// @public +export type PublishingProfileFormat = string; + +// @public +export type PushSettings = ProxyOnlyResource & { + isPushEnabled?: boolean; + tagWhitelistJson?: string; + tagsRequiringAuth?: string; + dynamicTagsJson?: string; +}; + +// @public +export interface QueryUtterancesResult { + sampleUtterance?: SampleUtterance; + score?: number; +} + +// @public +export interface QueryUtterancesResults { + query?: string; + results?: QueryUtterancesResult[]; +} + +// @public +export interface RampUpRule { + actionHostName?: string; + changeDecisionCallbackUrl?: string; + changeIntervalInMinutes?: number; + changeStep?: number; + maxReroutePercentage?: number; + minReroutePercentage?: number; + name?: string; + reroutePercentage?: number; +} + +// @public +export type Recommendation = ProxyOnlyResource & { + creationTime?: Date; + recommendationId?: string; + resourceId?: string; + resourceScope?: ResourceScopeType; + ruleName?: string; + displayName?: string; + message?: string; + level?: NotificationLevel; + channels?: Channels; + readonly categoryTags?: string[]; + actionName?: string; + enabled?: number; + states?: string[]; + startTime?: Date; + endTime?: Date; + nextNotificationTime?: Date; + notificationExpirationTime?: Date; + notifiedTime?: Date; + score?: number; + isDynamic?: boolean; + extensionName?: string; + bladeName?: string; + forwardLink?: string; +}; + +// @public +export interface RecommendationCollection { + readonly nextLink?: string; + value: Recommendation[]; +} + +// @public +export type RecommendationRule = ProxyOnlyResource & { + recommendationName?: string; + displayName?: string; + message?: string; + recommendationId?: string; + description?: string; + actionName?: string; + level?: NotificationLevel; + channels?: Channels; + readonly categoryTags?: string[]; + isDynamic?: boolean; + extensionName?: string; + bladeName?: string; + forwardLink?: string; +}; + +// @public +export interface Recommendations { + disableAllForHostingEnvironment(resourceGroupName: string, environmentName: string, hostingEnvironmentName: string, options?: RecommendationsDisableAllForHostingEnvironmentOptionalParams): Promise; + disableAllForWebApp(resourceGroupName: string, siteName: string, options?: RecommendationsDisableAllForWebAppOptionalParams): Promise; + disableRecommendationForHostingEnvironment(resourceGroupName: string, environmentName: string, name: string, hostingEnvironmentName: string, options?: RecommendationsDisableRecommendationForHostingEnvironmentOptionalParams): Promise; + disableRecommendationForSite(resourceGroupName: string, siteName: string, name: string, options?: RecommendationsDisableRecommendationForSiteOptionalParams): Promise; + disableRecommendationForSubscription(name: string, options?: RecommendationsDisableRecommendationForSubscriptionOptionalParams): Promise; + getRuleDetailsByHostingEnvironment(resourceGroupName: string, hostingEnvironmentName: string, name: string, options?: RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams): Promise; + getRuleDetailsByWebApp(resourceGroupName: string, siteName: string, name: string, options?: RecommendationsGetRuleDetailsByWebAppOptionalParams): Promise; + list(options?: RecommendationsListOptionalParams): PagedAsyncIterableIterator; + listHistoryForHostingEnvironment(resourceGroupName: string, hostingEnvironmentName: string, options?: RecommendationsListHistoryForHostingEnvironmentOptionalParams): PagedAsyncIterableIterator; + listHistoryForWebApp(resourceGroupName: string, siteName: string, options?: RecommendationsListHistoryForWebAppOptionalParams): PagedAsyncIterableIterator; + listRecommendedRulesForHostingEnvironment(resourceGroupName: string, hostingEnvironmentName: string, options?: RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams): PagedAsyncIterableIterator; + listRecommendedRulesForWebApp(resourceGroupName: string, siteName: string, options?: RecommendationsListRecommendedRulesForWebAppOptionalParams): PagedAsyncIterableIterator; + resetAllFilters(options?: RecommendationsResetAllFiltersOptionalParams): Promise; + resetAllFiltersForHostingEnvironment(resourceGroupName: string, environmentName: string, hostingEnvironmentName: string, options?: RecommendationsResetAllFiltersForHostingEnvironmentOptionalParams): Promise; + resetAllFiltersForWebApp(resourceGroupName: string, siteName: string, options?: RecommendationsResetAllFiltersForWebAppOptionalParams): Promise; +} + +// @public +export interface RecommendationsDisableAllForHostingEnvironmentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RecommendationsDisableAllForWebAppOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RecommendationsDisableRecommendationForHostingEnvironmentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RecommendationsDisableRecommendationForSiteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RecommendationsDisableRecommendationForSubscriptionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams extends coreClient.OperationOptions { + recommendationId?: string; + updateSeen?: boolean; +} + +// @public +export type RecommendationsGetRuleDetailsByHostingEnvironmentResponse = RecommendationRule; + +// @public +export interface RecommendationsGetRuleDetailsByWebAppOptionalParams extends coreClient.OperationOptions { + recommendationId?: string; + updateSeen?: boolean; +} + +// @public +export type RecommendationsGetRuleDetailsByWebAppResponse = RecommendationRule; + +// @public +export interface RecommendationsListHistoryForHostingEnvironmentNextOptionalParams extends coreClient.OperationOptions { + expiredOnly?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListHistoryForHostingEnvironmentNextResponse = RecommendationCollection; + +// @public +export interface RecommendationsListHistoryForHostingEnvironmentOptionalParams extends coreClient.OperationOptions { + expiredOnly?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListHistoryForHostingEnvironmentResponse = RecommendationCollection; + +// @public +export interface RecommendationsListHistoryForWebAppNextOptionalParams extends coreClient.OperationOptions { + expiredOnly?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListHistoryForWebAppNextResponse = RecommendationCollection; + +// @public +export interface RecommendationsListHistoryForWebAppOptionalParams extends coreClient.OperationOptions { + expiredOnly?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListHistoryForWebAppResponse = RecommendationCollection; + +// @public +export interface RecommendationsListNextOptionalParams extends coreClient.OperationOptions { + featured?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListNextResponse = RecommendationCollection; + +// @public +export interface RecommendationsListOptionalParams extends coreClient.OperationOptions { + featured?: boolean; + filter?: string; +} + +// @public +export interface RecommendationsListRecommendedRulesForHostingEnvironmentNextOptionalParams extends coreClient.OperationOptions { + featured?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListRecommendedRulesForHostingEnvironmentNextResponse = RecommendationCollection; + +// @public +export interface RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams extends coreClient.OperationOptions { + featured?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListRecommendedRulesForHostingEnvironmentResponse = RecommendationCollection; + +// @public +export interface RecommendationsListRecommendedRulesForWebAppNextOptionalParams extends coreClient.OperationOptions { + featured?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListRecommendedRulesForWebAppNextResponse = RecommendationCollection; + +// @public +export interface RecommendationsListRecommendedRulesForWebAppOptionalParams extends coreClient.OperationOptions { + featured?: boolean; + filter?: string; +} + +// @public +export type RecommendationsListRecommendedRulesForWebAppResponse = RecommendationCollection; + +// @public +export type RecommendationsListResponse = RecommendationCollection; + +// @public +export interface RecommendationsResetAllFiltersForHostingEnvironmentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RecommendationsResetAllFiltersForWebAppOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RecommendationsResetAllFiltersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RedundancyMode = "None" | "Manual" | "Failover" | "ActiveActive" | "GeoRedundant"; + +// @public +export type ReissueCertificateOrderRequest = ProxyOnlyResource & { + keySize?: number; + delayExistingRevokeInHours?: number; + csr?: string; + isPrivateKeyExternal?: boolean; +}; + +// @public +export type RelayServiceConnectionEntity = ProxyOnlyResource & { + entityName?: string; + entityConnectionString?: string; + resourceType?: string; + resourceConnectionString?: string; + hostname?: string; + port?: number; + biztalkUri?: string; +}; + +// @public +export type RemotePrivateEndpointConnection = ProxyOnlyResource & { + readonly provisioningState?: string; + privateEndpoint?: ArmIdWrapper; + privateLinkServiceConnectionState?: PrivateLinkConnectionState; + ipAddresses?: string[]; +}; + +// @public +export type RemotePrivateEndpointConnectionARMResource = ProxyOnlyResource & { + readonly provisioningState?: string; + privateEndpoint?: ArmIdWrapper; + privateLinkServiceConnectionState?: PrivateLinkConnectionState; + ipAddresses?: string[]; +}; + +// @public +export interface Rendering { + description?: string; + title?: string; + type?: RenderingType; +} + +// @public +export type RenderingType = "NoGraph" | "Table" | "TimeSeries" | "TimeSeriesPerInstance" | "PieChart" | "DataSummary" | "Email" | "Insights" | "DynamicInsight" | "Markdown" | "Detector" | "DropDown" | "Card" | "Solution" | "Guage" | "Form" | "ChangeSets" | "ChangeAnalysisOnboarding" | "ChangesView" | "AppInsight" | "DependencyGraph" | "DownTime" | "SummaryCard" | "SearchComponent" | "AppInsightEnablement"; + +// @public +export type RenewCertificateOrderRequest = ProxyOnlyResource & { + keySize?: number; + csr?: string; + isPrivateKeyExternal?: boolean; +}; + +// @public +export interface RequestsBasedTrigger { + count?: number; + timeInterval?: string; +} + +// @public +export type ResolveStatus = "Initialized" | "Resolved" | "InvalidSyntax" | "MSINotEnabled" | "VaultNotFound" | "SecretNotFound" | "SecretVersionNotFound" | "AccessToKeyVaultDenied" | "OtherReasons" | "FetchTimedOut" | "UnauthorizedClient"; + +// @public +export interface Resource { + readonly id?: string; + kind?: string; + location: string; + readonly name?: string; + tags?: { + [propertyName: string]: string; + }; + readonly type?: string; +} + +// @public +export interface ResourceCollection { + readonly nextLink?: string; + value: string[]; +} + +// @public +export type ResourceHealthMetadata = ProxyOnlyResource & { + category?: string; + signalAvailability?: boolean; +}; + +// @public +export interface ResourceHealthMetadataCollection { + readonly nextLink?: string; + value: ResourceHealthMetadata[]; +} + +// @public +export interface ResourceHealthMetadataOperations { + getBySite(resourceGroupName: string, name: string, options?: ResourceHealthMetadataOperationsGetBySiteOptionalParams): Promise; + getBySiteSlot(resourceGroupName: string, name: string, slot: string, options?: ResourceHealthMetadataOperationsGetBySiteSlotOptionalParams): Promise; + list(options?: ResourceHealthMetadataOperationsListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: ResourceHealthMetadataOperationsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listBySite(resourceGroupName: string, name: string, options?: ResourceHealthMetadataOperationsListBySiteOptionalParams): PagedAsyncIterableIterator; + listBySiteSlot(resourceGroupName: string, name: string, slot: string, options?: ResourceHealthMetadataOperationsListBySiteSlotOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ResourceHealthMetadataOperationsGetBySiteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsGetBySiteResponse = ResourceHealthMetadata; + +// @public +export interface ResourceHealthMetadataOperationsGetBySiteSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsGetBySiteSlotResponse = ResourceHealthMetadata; + +// @public +export interface ResourceHealthMetadataOperationsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsListByResourceGroupNextResponse = ResourceHealthMetadataCollection; + +// @public +export interface ResourceHealthMetadataOperationsListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsListByResourceGroupResponse = ResourceHealthMetadataCollection; + +// @public +export interface ResourceHealthMetadataOperationsListBySiteNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsListBySiteNextResponse = ResourceHealthMetadataCollection; + +// @public +export interface ResourceHealthMetadataOperationsListBySiteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsListBySiteResponse = ResourceHealthMetadataCollection; + +// @public +export interface ResourceHealthMetadataOperationsListBySiteSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsListBySiteSlotNextResponse = ResourceHealthMetadataCollection; + +// @public +export interface ResourceHealthMetadataOperationsListBySiteSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsListBySiteSlotResponse = ResourceHealthMetadataCollection; + +// @public +export interface ResourceHealthMetadataOperationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsListNextResponse = ResourceHealthMetadataCollection; + +// @public +export interface ResourceHealthMetadataOperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ResourceHealthMetadataOperationsListResponse = ResourceHealthMetadataCollection; + +// @public +export interface ResourceMetricAvailability { + readonly retention?: string; + readonly timeGrain?: string; +} + +// @public +export type ResourceMetricDefinition = ProxyOnlyResource & { + readonly unit?: string; + readonly primaryAggregationType?: string; + readonly metricAvailabilities?: ResourceMetricAvailability[]; + readonly resourceUri?: string; + readonly properties?: { + [propertyName: string]: string; + }; +}; + +// @public +export interface ResourceMetricDefinitionCollection { + readonly nextLink?: string; + value: ResourceMetricDefinition[]; +} + +// @public +export interface ResourceNameAvailability { + message?: string; + nameAvailable?: boolean; + reason?: InAvailabilityReasonType; +} + +// @public +export interface ResourceNameAvailabilityRequest { + isFqdn?: boolean; + name: string; + type: CheckNameResourceTypes; +} + +// @public +export type ResourceScopeType = string; + +// @public +export interface ResponseMessageEnvelopeRemotePrivateEndpointConnection { + error?: ErrorEntity; + id?: string; + identity?: ManagedServiceIdentity; + location?: string; + name?: string; + plan?: ArmPlan; + properties?: RemotePrivateEndpointConnection; + sku?: SkuDescription; + status?: string; + tags?: { + [propertyName: string]: string; + }; + type?: string; + zones?: string[]; +} + +// @public (undocumented) +export interface ResponseMetaData { + dataSource?: DataSource; +} + +// @public +export type RestoreRequest = ProxyOnlyResource & { + storageAccountUrl?: string; + blobName?: string; + overwrite?: boolean; + siteName?: string; + databases?: DatabaseBackupSetting[]; + ignoreConflictingHostNames?: boolean; + ignoreDatabases?: boolean; + appServicePlan?: string; + operationType?: BackupRestoreOperationType; + adjustConnectionStrings?: boolean; + hostingEnvironment?: string; +}; + +// @public +export type RouteType = string; + +// @public +export interface SampleUtterance { + links?: string[]; + qid?: string; + text?: string; +} + +// @public +export type ScmType = string; + +// @public +export interface ServiceSpecification { + // (undocumented) + logSpecifications?: LogSpecification[]; + // (undocumented) + metricSpecifications?: MetricSpecification[]; +} + +// @public +export type Site = Resource & { + identity?: ManagedServiceIdentity; + extendedLocation?: ExtendedLocation; + readonly state?: string; + readonly hostNames?: string[]; + readonly repositorySiteName?: string; + readonly usageState?: UsageState; + enabled?: boolean; + readonly enabledHostNames?: string[]; + readonly availabilityState?: SiteAvailabilityState; + hostNameSslStates?: HostNameSslState[]; + serverFarmId?: string; + reserved?: boolean; + isXenon?: boolean; + hyperV?: boolean; + readonly lastModifiedTimeUtc?: Date; + siteConfig?: SiteConfig; + readonly trafficManagerHostNames?: string[]; + scmSiteAlsoStopped?: boolean; + readonly targetSwapSlot?: string; + hostingEnvironmentProfile?: HostingEnvironmentProfile; + clientAffinityEnabled?: boolean; + clientCertEnabled?: boolean; + clientCertMode?: ClientCertMode; + clientCertExclusionPaths?: string; + hostNamesDisabled?: boolean; + customDomainVerificationId?: string; + readonly outboundIpAddresses?: string; + readonly possibleOutboundIpAddresses?: string; + containerSize?: number; + dailyMemoryTimeQuota?: number; + readonly suspendedTill?: Date; + readonly maxNumberOfWorkers?: number; + cloningInfo?: CloningInfo; + readonly resourceGroup?: string; + readonly isDefaultContainer?: boolean; + readonly defaultHostName?: string; + readonly slotSwapStatus?: SlotSwapStatus; + httpsOnly?: boolean; + redundancyMode?: RedundancyMode; + readonly inProgressOperationId?: string; + storageAccountRequired?: boolean; + keyVaultReferenceIdentity?: string; + virtualNetworkSubnetId?: string; +}; + +// @public +export type SiteAuthSettings = ProxyOnlyResource & { + enabled?: boolean; + runtimeVersion?: string; + unauthenticatedClientAction?: UnauthenticatedClientAction; + tokenStoreEnabled?: boolean; + allowedExternalRedirectUrls?: string[]; + defaultProvider?: BuiltInAuthenticationProvider; + tokenRefreshExtensionHours?: number; + clientId?: string; + clientSecret?: string; + clientSecretSettingName?: string; + clientSecretCertificateThumbprint?: string; + issuer?: string; + validateIssuer?: boolean; + allowedAudiences?: string[]; + additionalLoginParams?: string[]; + aadClaimsAuthorization?: string; + googleClientId?: string; + googleClientSecret?: string; + googleClientSecretSettingName?: string; + googleOAuthScopes?: string[]; + facebookAppId?: string; + facebookAppSecret?: string; + facebookAppSecretSettingName?: string; + facebookOAuthScopes?: string[]; + gitHubClientId?: string; + gitHubClientSecret?: string; + gitHubClientSecretSettingName?: string; + gitHubOAuthScopes?: string[]; + twitterConsumerKey?: string; + twitterConsumerSecret?: string; + twitterConsumerSecretSettingName?: string; + microsoftAccountClientId?: string; + microsoftAccountClientSecret?: string; + microsoftAccountClientSecretSettingName?: string; + microsoftAccountOAuthScopes?: string[]; + isAuthFromFile?: string; + authFilePath?: string; + configVersion?: string; +}; + +// @public +export type SiteAuthSettingsV2 = ProxyOnlyResource & { + platform?: AuthPlatform; + globalValidation?: GlobalValidation; + identityProviders?: IdentityProviders; + login?: Login; + httpSettings?: HttpSettings; +}; + +// @public +export type SiteAvailabilityState = "Normal" | "Limited" | "DisasterRecoveryMode"; + +// @public +export interface SiteCloneability { + blockingCharacteristics?: SiteCloneabilityCriterion[]; + blockingFeatures?: SiteCloneabilityCriterion[]; + result?: CloneAbilityResult; + unsupportedFeatures?: SiteCloneabilityCriterion[]; +} + +// @public +export interface SiteCloneabilityCriterion { + description?: string; + name?: string; +} + +// @public +export interface SiteConfig { + acrUseManagedIdentityCreds?: boolean; + acrUserManagedIdentityID?: string; + alwaysOn?: boolean; + apiDefinition?: ApiDefinitionInfo; + apiManagementConfig?: ApiManagementConfig; + appCommandLine?: string; + appSettings?: NameValuePair[]; + autoHealEnabled?: boolean; + autoHealRules?: AutoHealRules; + autoSwapSlotName?: string; + azureStorageAccounts?: { + [propertyName: string]: AzureStorageInfoValue; + }; + connectionStrings?: ConnStringInfo[]; + cors?: CorsSettings; + defaultDocuments?: string[]; + detailedErrorLoggingEnabled?: boolean; + documentRoot?: string; + experiments?: Experiments; + ftpsState?: FtpsState; + functionAppScaleLimit?: number; + functionsRuntimeScaleMonitoringEnabled?: boolean; + handlerMappings?: HandlerMapping[]; + healthCheckPath?: string; + http20Enabled?: boolean; + httpLoggingEnabled?: boolean; + ipSecurityRestrictions?: IpSecurityRestriction[]; + javaContainer?: string; + javaContainerVersion?: string; + javaVersion?: string; + keyVaultReferenceIdentity?: string; + limits?: SiteLimits; + linuxFxVersion?: string; + loadBalancing?: SiteLoadBalancing; + localMySqlEnabled?: boolean; + logsDirectorySizeLimit?: number; + readonly machineKey?: SiteMachineKey; + managedPipelineMode?: ManagedPipelineMode; + managedServiceIdentityId?: number; + minimumElasticInstanceCount?: number; + minTlsVersion?: SupportedTlsVersions; + netFrameworkVersion?: string; + nodeVersion?: string; + numberOfWorkers?: number; + phpVersion?: string; + powerShellVersion?: string; + preWarmedInstanceCount?: number; + publicNetworkAccess?: string; + publishingUsername?: string; + push?: PushSettings; + pythonVersion?: string; + remoteDebuggingEnabled?: boolean; + remoteDebuggingVersion?: string; + requestTracingEnabled?: boolean; + requestTracingExpirationTime?: Date; + scmIpSecurityRestrictions?: IpSecurityRestriction[]; + scmIpSecurityRestrictionsUseMain?: boolean; + scmMinTlsVersion?: SupportedTlsVersions; + scmType?: ScmType; + tracingOptions?: string; + use32BitWorkerProcess?: boolean; + virtualApplications?: VirtualApplication[]; + vnetName?: string; + vnetPrivatePortsCount?: number; + vnetRouteAllEnabled?: boolean; + websiteTimeZone?: string; + webSocketsEnabled?: boolean; + windowsFxVersion?: string; + xManagedServiceIdentityId?: number; +} + +// @public +export interface SiteConfigPropertiesDictionary { + readonly javaVersion?: string; + readonly linuxFxVersion?: string; + readonly powerShellVersion?: string; + readonly use32BitWorkerProcess?: boolean; +} + +// @public +export type SiteConfigResource = ProxyOnlyResource & { + numberOfWorkers?: number; + defaultDocuments?: string[]; + netFrameworkVersion?: string; + phpVersion?: string; + pythonVersion?: string; + nodeVersion?: string; + powerShellVersion?: string; + linuxFxVersion?: string; + windowsFxVersion?: string; + requestTracingEnabled?: boolean; + requestTracingExpirationTime?: Date; + remoteDebuggingEnabled?: boolean; + remoteDebuggingVersion?: string; + httpLoggingEnabled?: boolean; + acrUseManagedIdentityCreds?: boolean; + acrUserManagedIdentityID?: string; + logsDirectorySizeLimit?: number; + detailedErrorLoggingEnabled?: boolean; + publishingUsername?: string; + appSettings?: NameValuePair[]; + connectionStrings?: ConnStringInfo[]; + readonly machineKey?: SiteMachineKey; + handlerMappings?: HandlerMapping[]; + documentRoot?: string; + scmType?: ScmType; + use32BitWorkerProcess?: boolean; + webSocketsEnabled?: boolean; + alwaysOn?: boolean; + javaVersion?: string; + javaContainer?: string; + javaContainerVersion?: string; + appCommandLine?: string; + managedPipelineMode?: ManagedPipelineMode; + virtualApplications?: VirtualApplication[]; + loadBalancing?: SiteLoadBalancing; + experiments?: Experiments; + limits?: SiteLimits; + autoHealEnabled?: boolean; + autoHealRules?: AutoHealRules; + tracingOptions?: string; + vnetName?: string; + vnetRouteAllEnabled?: boolean; + vnetPrivatePortsCount?: number; + cors?: CorsSettings; + push?: PushSettings; + apiDefinition?: ApiDefinitionInfo; + apiManagementConfig?: ApiManagementConfig; + autoSwapSlotName?: string; + localMySqlEnabled?: boolean; + managedServiceIdentityId?: number; + xManagedServiceIdentityId?: number; + keyVaultReferenceIdentity?: string; + ipSecurityRestrictions?: IpSecurityRestriction[]; + scmIpSecurityRestrictions?: IpSecurityRestriction[]; + scmIpSecurityRestrictionsUseMain?: boolean; + http20Enabled?: boolean; + minTlsVersion?: SupportedTlsVersions; + scmMinTlsVersion?: SupportedTlsVersions; + ftpsState?: FtpsState; + preWarmedInstanceCount?: number; + functionAppScaleLimit?: number; + healthCheckPath?: string; + functionsRuntimeScaleMonitoringEnabled?: boolean; + websiteTimeZone?: string; + minimumElasticInstanceCount?: number; + azureStorageAccounts?: { + [propertyName: string]: AzureStorageInfoValue; + }; + publicNetworkAccess?: string; +}; + +// @public +export interface SiteConfigResourceCollection { + readonly nextLink?: string; + value: SiteConfigResource[]; +} + +// @public +export type SiteConfigurationSnapshotInfo = ProxyOnlyResource & { + readonly time?: Date; + readonly snapshotId?: number; +}; + +// @public +export interface SiteConfigurationSnapshotInfoCollection { + readonly nextLink?: string; + value: SiteConfigurationSnapshotInfo[]; +} + +// @public +export type SiteExtensionInfo = ProxyOnlyResource & { + extensionId?: string; + title?: string; + extensionType?: SiteExtensionType; + summary?: string; + description?: string; + version?: string; + extensionUrl?: string; + projectUrl?: string; + iconUrl?: string; + licenseUrl?: string; + feedUrl?: string; + authors?: string[]; + installerCommandLineParams?: string; + publishedDateTime?: Date; + downloadCount?: number; + localIsLatestVersion?: boolean; + localPath?: string; + installedDateTime?: Date; + provisioningState?: string; + comment?: string; +}; + +// @public +export interface SiteExtensionInfoCollection { + readonly nextLink?: string; + value: SiteExtensionInfo[]; +} + +// @public +export type SiteExtensionType = "Gallery" | "WebRoot"; + +// @public +export interface SiteLimits { + maxDiskSizeInMb?: number; + maxMemoryInMb?: number; + maxPercentageCpu?: number; +} + +// @public +export type SiteLoadBalancing = "WeightedRoundRobin" | "LeastRequests" | "LeastResponseTime" | "WeightedTotalTraffic" | "RequestHash" | "PerSiteRoundRobin"; + +// @public +export type SiteLogsConfig = ProxyOnlyResource & { + applicationLogs?: ApplicationLogsConfig; + httpLogs?: HttpLogsConfig; + failedRequestsTracing?: EnabledConfig; + detailedErrorMessages?: EnabledConfig; +}; + +// @public +export interface SiteMachineKey { + decryption?: string; + decryptionKey?: string; + validation?: string; + validationKey?: string; +} + +// @public +export type SitePatchResource = ProxyOnlyResource & { + identity?: ManagedServiceIdentity; + readonly state?: string; + readonly hostNames?: string[]; + readonly repositorySiteName?: string; + readonly usageState?: UsageState; + enabled?: boolean; + readonly enabledHostNames?: string[]; + readonly availabilityState?: SiteAvailabilityState; + hostNameSslStates?: HostNameSslState[]; + serverFarmId?: string; + reserved?: boolean; + isXenon?: boolean; + hyperV?: boolean; + readonly lastModifiedTimeUtc?: Date; + siteConfig?: SiteConfig; + readonly trafficManagerHostNames?: string[]; + scmSiteAlsoStopped?: boolean; + readonly targetSwapSlot?: string; + hostingEnvironmentProfile?: HostingEnvironmentProfile; + clientAffinityEnabled?: boolean; + clientCertEnabled?: boolean; + clientCertMode?: ClientCertMode; + clientCertExclusionPaths?: string; + hostNamesDisabled?: boolean; + customDomainVerificationId?: string; + readonly outboundIpAddresses?: string; + readonly possibleOutboundIpAddresses?: string; + containerSize?: number; + dailyMemoryTimeQuota?: number; + readonly suspendedTill?: Date; + readonly maxNumberOfWorkers?: number; + cloningInfo?: CloningInfo; + readonly resourceGroup?: string; + readonly isDefaultContainer?: boolean; + readonly defaultHostName?: string; + readonly slotSwapStatus?: SlotSwapStatus; + httpsOnly?: boolean; + redundancyMode?: RedundancyMode; + readonly inProgressOperationId?: string; + storageAccountRequired?: boolean; + keyVaultReferenceIdentity?: string; + virtualNetworkSubnetId?: string; +}; + +// @public +export type SitePhpErrorLogFlag = ProxyOnlyResource & { + localLogErrors?: string; + masterLogErrors?: string; + localLogErrorsMaxLength?: string; + masterLogErrorsMaxLength?: string; +}; + +// @public +export type SiteRuntimeState = "READY" | "STOPPED" | "UNKNOWN"; + +// @public +export interface SiteSeal { + html: string; +} + +// @public +export interface SiteSealRequest { + lightTheme?: boolean; + locale?: string; +} + +// @public +export type SiteSourceControl = ProxyOnlyResource & { + repoUrl?: string; + branch?: string; + isManualIntegration?: boolean; + isGitHubAction?: boolean; + deploymentRollbackEnabled?: boolean; + isMercurial?: boolean; + gitHubActionConfiguration?: GitHubActionConfiguration; +}; + +// @public +export interface SkuCapacity { + default?: number; + elasticMaximum?: number; + maximum?: number; + minimum?: number; + scaleType?: string; +} + +// @public +export interface SkuDescription { + capabilities?: Capability[]; + capacity?: number; + family?: string; + locations?: string[]; + name?: string; + size?: string; + skuCapacity?: SkuCapacity; + tier?: string; +} + +// @public +export interface SkuInfo { + capacity?: SkuCapacity; + resourceType?: string; + sku?: SkuDescription; +} + +// @public +export interface SkuInfoCollection { + readonly nextLink?: string; + value: SkuInfo[]; +} + +// @public +export interface SkuInfos { + resourceType?: string; + skus?: GlobalCsmSkuDescription[]; +} + +// @public +export type SkuName = string; + +// @public +export type SlotConfigNamesResource = ProxyOnlyResource & { + connectionStringNames?: string[]; + appSettingNames?: string[]; + azureStorageConfigNames?: string[]; +}; + +// @public +export type SlotDifference = ProxyOnlyResource & { + readonly level?: string; + readonly settingType?: string; + readonly diffRule?: string; + readonly settingName?: string; + readonly valueInCurrentSlot?: string; + readonly valueInTargetSlot?: string; + readonly description?: string; +}; + +// @public +export interface SlotDifferenceCollection { + readonly nextLink?: string; + value: SlotDifference[]; +} + +// @public +export interface SlotSwapStatus { + readonly destinationSlotName?: string; + readonly sourceSlotName?: string; + readonly timestampUtc?: Date; +} + +// @public +export interface SlowRequestsBasedTrigger { + count?: number; + path?: string; + timeInterval?: string; + timeTaken?: string; +} + +// @public +export type Snapshot = ProxyOnlyResource & { + readonly time?: string; +}; + +// @public +export interface SnapshotCollection { + readonly nextLink?: string; + value: Snapshot[]; +} + +// @public +export interface SnapshotRecoverySource { + id?: string; + location?: string; +} + +// @public +export type SnapshotRestoreRequest = ProxyOnlyResource & { + snapshotTime?: string; + recoverySource?: SnapshotRecoverySource; + overwrite?: boolean; + recoverConfiguration?: boolean; + ignoreConflictingHostNames?: boolean; + useDRSecondary?: boolean; +}; + +// @public +export interface Solution { + data?: NameValuePair[][]; + description?: string; + displayName?: string; + id?: number; + metadata?: NameValuePair[][]; + order?: number; + type?: SolutionType; +} + +// @public +export type SolutionType = "QuickSolution" | "DeepInvestigation" | "BestPractices"; + +// @public +export type SourceControl = ProxyOnlyResource & { + token?: string; + tokenSecret?: string; + refreshToken?: string; + expirationTime?: Date; +}; + +// @public +export interface SourceControlCollection { + readonly nextLink?: string; + value: SourceControl[]; +} + +// @public +export type SslState = "Disabled" | "SniEnabled" | "IpBasedEnabled"; + +// @public +export interface StackMajorVersion { + applicationInsights?: boolean; + appSettingsDictionary?: { + [propertyName: string]: Record; + }; + displayVersion?: string; + isDefault?: boolean; + isDeprecated?: boolean; + isHidden?: boolean; + isPreview?: boolean; + minorVersions?: StackMinorVersion[]; + runtimeVersion?: string; + siteConfigPropertiesDictionary?: { + [propertyName: string]: Record; + }; +} + +// @public +export interface StackMinorVersion { + displayVersion?: string; + isDefault?: boolean; + isRemoteDebuggingEnabled?: boolean; + runtimeVersion?: string; +} + +// @public +export type StackPreferredOs = "Windows" | "Linux"; + +// @public +export type StagingEnvironmentPolicy = "Enabled" | "Disabled"; + +// @public +export interface StampCapacity { + availableCapacity?: number; + computeMode?: ComputeModeOptions; + excludeFromCapacityAllocation?: boolean; + isApplicableForAllComputeModes?: boolean; + isLinux?: boolean; + name?: string; + siteMode?: string; + totalCapacity?: number; + unit?: string; + workerSize?: WorkerSizeOptions; + workerSizeId?: number; +} + +// @public +export interface StampCapacityCollection { + readonly nextLink?: string; + value: StampCapacity[]; +} + +// @public +export type StaticSiteARMResource = Resource & { + sku?: SkuDescription; + identity?: ManagedServiceIdentity; + readonly defaultHostname?: string; + repositoryUrl?: string; + branch?: string; + readonly customDomains?: string[]; + repositoryToken?: string; + buildProperties?: StaticSiteBuildProperties; + readonly privateEndpointConnections?: ResponseMessageEnvelopeRemotePrivateEndpointConnection[]; + stagingEnvironmentPolicy?: StagingEnvironmentPolicy; + allowConfigFileUpdates?: boolean; + templateProperties?: StaticSiteTemplateOptions; + readonly contentDistributionEndpoint?: string; + readonly keyVaultReferenceIdentity?: string; + readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; + readonly provider?: string; +}; + +// @public +export type StaticSiteBuildARMResource = ProxyOnlyResource & { + readonly buildId?: string; + readonly sourceBranch?: string; + readonly pullRequestTitle?: string; + readonly hostname?: string; + readonly createdTimeUtc?: Date; + readonly lastUpdatedOn?: Date; + readonly status?: BuildStatus; + readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; +}; + +// @public +export interface StaticSiteBuildCollection { + readonly nextLink?: string; + value: StaticSiteBuildARMResource[]; +} + +// @public +export interface StaticSiteBuildProperties { + apiBuildCommand?: string; + apiLocation?: string; + appArtifactLocation?: string; + appBuildCommand?: string; + appLocation?: string; + githubActionSecretNameOverride?: string; + outputLocation?: string; + skipGithubActionWorkflowGeneration?: boolean; +} + +// @public +export interface StaticSiteCollection { + readonly nextLink?: string; + value: StaticSiteARMResource[]; +} + +// @public +export type StaticSiteCustomDomainOverviewARMResource = ProxyOnlyResource & { + readonly domainName?: string; + readonly createdOn?: Date; + readonly status?: CustomDomainStatus; + readonly validationToken?: string; + readonly errorMessage?: string; +}; + +// @public +export interface StaticSiteCustomDomainOverviewCollection { + readonly nextLink?: string; + value: StaticSiteCustomDomainOverviewARMResource[]; +} + +// @public +export type StaticSiteCustomDomainRequestPropertiesARMResource = ProxyOnlyResource & { + validationMethod?: string; +}; + +// @public +export type StaticSiteFunctionOverviewARMResource = ProxyOnlyResource & { + readonly functionName?: string; + readonly triggerType?: TriggerTypes; +}; + +// @public +export interface StaticSiteFunctionOverviewCollection { + readonly nextLink?: string; + value: StaticSiteFunctionOverviewARMResource[]; +} + +// @public +export type StaticSitePatchResource = ProxyOnlyResource & { + readonly defaultHostname?: string; + repositoryUrl?: string; + branch?: string; + readonly customDomains?: string[]; + repositoryToken?: string; + buildProperties?: StaticSiteBuildProperties; + readonly privateEndpointConnections?: ResponseMessageEnvelopeRemotePrivateEndpointConnection[]; + stagingEnvironmentPolicy?: StagingEnvironmentPolicy; + allowConfigFileUpdates?: boolean; + templateProperties?: StaticSiteTemplateOptions; + readonly contentDistributionEndpoint?: string; + readonly keyVaultReferenceIdentity?: string; + readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; + readonly provider?: string; +}; + +// @public +export type StaticSiteResetPropertiesARMResource = ProxyOnlyResource & { + repositoryToken?: string; + shouldUpdateRepository?: boolean; +}; + +// @public +export interface StaticSites { + beginApproveOrRejectPrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, options?: StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams): Promise, StaticSitesApproveOrRejectPrivateEndpointConnectionResponse>>; + beginApproveOrRejectPrivateEndpointConnectionAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, options?: StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams): Promise; + beginCreateOrUpdateStaticSite(resourceGroupName: string, name: string, staticSiteEnvelope: StaticSiteARMResource, options?: StaticSitesCreateOrUpdateStaticSiteOptionalParams): Promise, StaticSitesCreateOrUpdateStaticSiteResponse>>; + beginCreateOrUpdateStaticSiteAndWait(resourceGroupName: string, name: string, staticSiteEnvelope: StaticSiteARMResource, options?: StaticSitesCreateOrUpdateStaticSiteOptionalParams): Promise; + beginCreateOrUpdateStaticSiteCustomDomain(resourceGroupName: string, name: string, domainName: string, staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, options?: StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams): Promise, StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse>>; + beginCreateOrUpdateStaticSiteCustomDomainAndWait(resourceGroupName: string, name: string, domainName: string, staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, options?: StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams): Promise; + beginCreateZipDeploymentForStaticSite(resourceGroupName: string, name: string, staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, options?: StaticSitesCreateZipDeploymentForStaticSiteOptionalParams): Promise, void>>; + beginCreateZipDeploymentForStaticSiteAndWait(resourceGroupName: string, name: string, staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, options?: StaticSitesCreateZipDeploymentForStaticSiteOptionalParams): Promise; + beginCreateZipDeploymentForStaticSiteBuild(resourceGroupName: string, name: string, environmentName: string, staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, options?: StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams): Promise, void>>; + beginCreateZipDeploymentForStaticSiteBuildAndWait(resourceGroupName: string, name: string, environmentName: string, staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, options?: StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams): Promise; + beginDeletePrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: StaticSitesDeletePrivateEndpointConnectionOptionalParams): Promise, StaticSitesDeletePrivateEndpointConnectionResponse>>; + beginDeletePrivateEndpointConnectionAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: StaticSitesDeletePrivateEndpointConnectionOptionalParams): Promise; + beginDeleteStaticSite(resourceGroupName: string, name: string, options?: StaticSitesDeleteStaticSiteOptionalParams): Promise, void>>; + beginDeleteStaticSiteAndWait(resourceGroupName: string, name: string, options?: StaticSitesDeleteStaticSiteOptionalParams): Promise; + beginDeleteStaticSiteBuild(resourceGroupName: string, name: string, environmentName: string, options?: StaticSitesDeleteStaticSiteBuildOptionalParams): Promise, void>>; + beginDeleteStaticSiteBuildAndWait(resourceGroupName: string, name: string, environmentName: string, options?: StaticSitesDeleteStaticSiteBuildOptionalParams): Promise; + beginDeleteStaticSiteCustomDomain(resourceGroupName: string, name: string, domainName: string, options?: StaticSitesDeleteStaticSiteCustomDomainOptionalParams): Promise, void>>; + beginDeleteStaticSiteCustomDomainAndWait(resourceGroupName: string, name: string, domainName: string, options?: StaticSitesDeleteStaticSiteCustomDomainOptionalParams): Promise; + beginDetachStaticSite(resourceGroupName: string, name: string, options?: StaticSitesDetachStaticSiteOptionalParams): Promise, void>>; + beginDetachStaticSiteAndWait(resourceGroupName: string, name: string, options?: StaticSitesDetachStaticSiteOptionalParams): Promise; + beginRegisterUserProvidedFunctionAppWithStaticSite(resourceGroupName: string, name: string, functionAppName: string, staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams): Promise, StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse>>; + beginRegisterUserProvidedFunctionAppWithStaticSiteAndWait(resourceGroupName: string, name: string, functionAppName: string, staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams): Promise; + beginRegisterUserProvidedFunctionAppWithStaticSiteBuild(resourceGroupName: string, name: string, environmentName: string, functionAppName: string, staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams): Promise, StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse>>; + beginRegisterUserProvidedFunctionAppWithStaticSiteBuildAndWait(resourceGroupName: string, name: string, environmentName: string, functionAppName: string, staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams): Promise; + beginValidateCustomDomainCanBeAddedToStaticSite(resourceGroupName: string, name: string, domainName: string, staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, options?: StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams): Promise, void>>; + beginValidateCustomDomainCanBeAddedToStaticSiteAndWait(resourceGroupName: string, name: string, domainName: string, staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, options?: StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams): Promise; + createOrUpdateStaticSiteAppSettings(resourceGroupName: string, name: string, appSettings: StringDictionary, options?: StaticSitesCreateOrUpdateStaticSiteAppSettingsOptionalParams): Promise; + createOrUpdateStaticSiteBuildAppSettings(resourceGroupName: string, name: string, environmentName: string, appSettings: StringDictionary, options?: StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsOptionalParams): Promise; + createOrUpdateStaticSiteBuildFunctionAppSettings(resourceGroupName: string, name: string, environmentName: string, appSettings: StringDictionary, options?: StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsOptionalParams): Promise; + createOrUpdateStaticSiteFunctionAppSettings(resourceGroupName: string, name: string, appSettings: StringDictionary, options?: StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsOptionalParams): Promise; + createUserRolesInvitationLink(resourceGroupName: string, name: string, staticSiteUserRolesInvitationEnvelope: StaticSiteUserInvitationRequestResource, options?: StaticSitesCreateUserRolesInvitationLinkOptionalParams): Promise; + deleteStaticSiteUser(resourceGroupName: string, name: string, authprovider: string, userid: string, options?: StaticSitesDeleteStaticSiteUserOptionalParams): Promise; + detachUserProvidedFunctionAppFromStaticSite(resourceGroupName: string, name: string, functionAppName: string, options?: StaticSitesDetachUserProvidedFunctionAppFromStaticSiteOptionalParams): Promise; + detachUserProvidedFunctionAppFromStaticSiteBuild(resourceGroupName: string, name: string, environmentName: string, functionAppName: string, options?: StaticSitesDetachUserProvidedFunctionAppFromStaticSiteBuildOptionalParams): Promise; + getPrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: StaticSitesGetPrivateEndpointConnectionOptionalParams): Promise; + getPrivateLinkResources(resourceGroupName: string, name: string, options?: StaticSitesGetPrivateLinkResourcesOptionalParams): Promise; + getStaticSite(resourceGroupName: string, name: string, options?: StaticSitesGetStaticSiteOptionalParams): Promise; + getStaticSiteBuild(resourceGroupName: string, name: string, environmentName: string, options?: StaticSitesGetStaticSiteBuildOptionalParams): Promise; + getStaticSiteCustomDomain(resourceGroupName: string, name: string, domainName: string, options?: StaticSitesGetStaticSiteCustomDomainOptionalParams): Promise; + getUserProvidedFunctionAppForStaticSite(resourceGroupName: string, name: string, functionAppName: string, options?: StaticSitesGetUserProvidedFunctionAppForStaticSiteOptionalParams): Promise; + getUserProvidedFunctionAppForStaticSiteBuild(resourceGroupName: string, name: string, environmentName: string, functionAppName: string, options?: StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildOptionalParams): Promise; + list(options?: StaticSitesListOptionalParams): PagedAsyncIterableIterator; + listPrivateEndpointConnectionList(resourceGroupName: string, name: string, options?: StaticSitesGetPrivateEndpointConnectionListOptionalParams): PagedAsyncIterableIterator; + listStaticSiteAppSettings(resourceGroupName: string, name: string, options?: StaticSitesListStaticSiteAppSettingsOptionalParams): Promise; + listStaticSiteBuildAppSettings(resourceGroupName: string, name: string, environmentName: string, options?: StaticSitesListStaticSiteBuildAppSettingsOptionalParams): Promise; + listStaticSiteBuildFunctionAppSettings(resourceGroupName: string, name: string, environmentName: string, options?: StaticSitesListStaticSiteBuildFunctionAppSettingsOptionalParams): Promise; + listStaticSiteBuildFunctions(resourceGroupName: string, name: string, environmentName: string, options?: StaticSitesListStaticSiteBuildFunctionsOptionalParams): PagedAsyncIterableIterator; + listStaticSiteBuilds(resourceGroupName: string, name: string, options?: StaticSitesGetStaticSiteBuildsOptionalParams): PagedAsyncIterableIterator; + listStaticSiteConfiguredRoles(resourceGroupName: string, name: string, options?: StaticSitesListStaticSiteConfiguredRolesOptionalParams): Promise; + listStaticSiteCustomDomains(resourceGroupName: string, name: string, options?: StaticSitesListStaticSiteCustomDomainsOptionalParams): PagedAsyncIterableIterator; + listStaticSiteFunctionAppSettings(resourceGroupName: string, name: string, options?: StaticSitesListStaticSiteFunctionAppSettingsOptionalParams): Promise; + listStaticSiteFunctions(resourceGroupName: string, name: string, options?: StaticSitesListStaticSiteFunctionsOptionalParams): PagedAsyncIterableIterator; + listStaticSitesByResourceGroup(resourceGroupName: string, options?: StaticSitesGetStaticSitesByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listStaticSiteSecrets(resourceGroupName: string, name: string, options?: StaticSitesListStaticSiteSecretsOptionalParams): Promise; + listStaticSiteUsers(resourceGroupName: string, name: string, authprovider: string, options?: StaticSitesListStaticSiteUsersOptionalParams): PagedAsyncIterableIterator; + listUserProvidedFunctionAppsForStaticSite(resourceGroupName: string, name: string, options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams): PagedAsyncIterableIterator; + listUserProvidedFunctionAppsForStaticSiteBuild(resourceGroupName: string, name: string, environmentName: string, options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams): PagedAsyncIterableIterator; + previewWorkflow(location: string, staticSitesWorkflowPreviewRequest: StaticSitesWorkflowPreviewRequest, options?: StaticSitesPreviewWorkflowOptionalParams): Promise; + resetStaticSiteApiKey(resourceGroupName: string, name: string, resetPropertiesEnvelope: StaticSiteResetPropertiesARMResource, options?: StaticSitesResetStaticSiteApiKeyOptionalParams): Promise; + updateStaticSite(resourceGroupName: string, name: string, staticSiteEnvelope: StaticSitePatchResource, options?: StaticSitesUpdateStaticSiteOptionalParams): Promise; + updateStaticSiteUser(resourceGroupName: string, name: string, authprovider: string, userid: string, staticSiteUserEnvelope: StaticSiteUserARMResource, options?: StaticSitesUpdateStaticSiteUserOptionalParams): Promise; +} + +// @public +export interface StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type StaticSitesApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; + +// @public +export interface StaticSitesCreateOrUpdateStaticSiteAppSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesCreateOrUpdateStaticSiteAppSettingsResponse = StringDictionary; + +// @public +export interface StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsResponse = StringDictionary; + +// @public +export interface StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsResponse = StringDictionary; + +// @public +export interface StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse = StaticSiteCustomDomainOverviewARMResource; + +// @public +export interface StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsResponse = StringDictionary; + +// @public +export interface StaticSitesCreateOrUpdateStaticSiteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type StaticSitesCreateOrUpdateStaticSiteResponse = StaticSiteARMResource; + +// @public +export interface StaticSitesCreateUserRolesInvitationLinkOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesCreateUserRolesInvitationLinkResponse = StaticSiteUserInvitationResponseResource; + +// @public +export interface StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface StaticSitesCreateZipDeploymentForStaticSiteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface StaticSitesDeletePrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type StaticSitesDeletePrivateEndpointConnectionResponse = Record; + +// @public +export interface StaticSitesDeleteStaticSiteBuildOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface StaticSitesDeleteStaticSiteCustomDomainOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface StaticSitesDeleteStaticSiteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface StaticSitesDeleteStaticSiteUserOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface StaticSitesDetachStaticSiteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface StaticSitesDetachUserProvidedFunctionAppFromStaticSiteBuildOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface StaticSitesDetachUserProvidedFunctionAppFromStaticSiteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface StaticSitesGetPrivateEndpointConnectionListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection; + +// @public +export interface StaticSitesGetPrivateEndpointConnectionListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection; + +// @public +export interface StaticSitesGetPrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; + +// @public +export interface StaticSitesGetPrivateLinkResourcesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper; + +// @public +export interface StaticSitesGetStaticSiteBuildOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetStaticSiteBuildResponse = StaticSiteBuildARMResource; + +// @public +export interface StaticSitesGetStaticSiteBuildsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetStaticSiteBuildsNextResponse = StaticSiteBuildCollection; + +// @public +export interface StaticSitesGetStaticSiteBuildsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetStaticSiteBuildsResponse = StaticSiteBuildCollection; + +// @public +export interface StaticSitesGetStaticSiteCustomDomainOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetStaticSiteCustomDomainResponse = StaticSiteCustomDomainOverviewARMResource; + +// @public +export interface StaticSitesGetStaticSiteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetStaticSiteResponse = StaticSiteARMResource; + +// @public +export interface StaticSitesGetStaticSitesByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetStaticSitesByResourceGroupNextResponse = StaticSiteCollection; + +// @public +export interface StaticSitesGetStaticSitesByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetStaticSitesByResourceGroupResponse = StaticSiteCollection; + +// @public +export interface StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppARMResource; + +// @public +export interface StaticSitesGetUserProvidedFunctionAppForStaticSiteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetUserProvidedFunctionAppForStaticSiteResponse = StaticSiteUserProvidedFunctionAppARMResource; + +// @public +export interface StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextResponse = StaticSiteUserProvidedFunctionAppsCollection; + +// @public +export interface StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppsCollection; + +// @public +export interface StaticSitesGetUserProvidedFunctionAppsForStaticSiteNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteNextResponse = StaticSiteUserProvidedFunctionAppsCollection; + +// @public +export interface StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteResponse = StaticSiteUserProvidedFunctionAppsCollection; + +// @public +export interface StaticSitesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListNextResponse = StaticSiteCollection; + +// @public +export interface StaticSitesListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListResponse = StaticSiteCollection; + +// @public +export interface StaticSitesListStaticSiteAppSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteAppSettingsResponse = StringDictionary; + +// @public +export interface StaticSitesListStaticSiteBuildAppSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteBuildAppSettingsResponse = StringDictionary; + +// @public +export interface StaticSitesListStaticSiteBuildFunctionAppSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteBuildFunctionAppSettingsResponse = StringDictionary; + +// @public +export interface StaticSitesListStaticSiteBuildFunctionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteBuildFunctionsNextResponse = StaticSiteFunctionOverviewCollection; + +// @public +export interface StaticSitesListStaticSiteBuildFunctionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteBuildFunctionsResponse = StaticSiteFunctionOverviewCollection; + +// @public +export interface StaticSitesListStaticSiteConfiguredRolesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteConfiguredRolesResponse = StringList; + +// @public +export interface StaticSitesListStaticSiteCustomDomainsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteCustomDomainsNextResponse = StaticSiteCustomDomainOverviewCollection; + +// @public +export interface StaticSitesListStaticSiteCustomDomainsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteCustomDomainsResponse = StaticSiteCustomDomainOverviewCollection; + +// @public +export interface StaticSitesListStaticSiteFunctionAppSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteFunctionAppSettingsResponse = StringDictionary; + +// @public +export interface StaticSitesListStaticSiteFunctionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteFunctionsNextResponse = StaticSiteFunctionOverviewCollection; + +// @public +export interface StaticSitesListStaticSiteFunctionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteFunctionsResponse = StaticSiteFunctionOverviewCollection; + +// @public +export interface StaticSitesListStaticSiteSecretsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteSecretsResponse = StringDictionary; + +// @public +export interface StaticSitesListStaticSiteUsersNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteUsersNextResponse = StaticSiteUserCollection; + +// @public +export interface StaticSitesListStaticSiteUsersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesListStaticSiteUsersResponse = StaticSiteUserCollection; + +// @public +export interface StaticSitesPreviewWorkflowOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesPreviewWorkflowResponse = StaticSitesWorkflowPreview; + +// @public +export interface StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams extends coreClient.OperationOptions { + isForced?: boolean; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppARMResource; + +// @public +export interface StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams extends coreClient.OperationOptions { + isForced?: boolean; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse = StaticSiteUserProvidedFunctionAppARMResource; + +// @public +export interface StaticSitesResetStaticSiteApiKeyOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface StaticSitesUpdateStaticSiteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesUpdateStaticSiteResponse = StaticSiteARMResource; + +// @public +export interface StaticSitesUpdateStaticSiteUserOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StaticSitesUpdateStaticSiteUserResponse = StaticSiteUserARMResource; + +// @public +export interface StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type StaticSitesWorkflowPreview = ProxyOnlyResource & { + readonly path?: string; + readonly contents?: string; +}; + +// @public +export type StaticSitesWorkflowPreviewRequest = ProxyOnlyResource & { + repositoryUrl?: string; + branch?: string; + buildProperties?: StaticSiteBuildProperties; +}; + +// @public +export interface StaticSiteTemplateOptions { + description?: string; + isPrivate?: boolean; + owner?: string; + repositoryName?: string; + templateRepositoryUrl?: string; +} + +// @public +export type StaticSiteUserARMResource = ProxyOnlyResource & { + readonly provider?: string; + readonly userId?: string; + readonly displayName?: string; + roles?: string; +}; + +// @public +export interface StaticSiteUserCollection { + readonly nextLink?: string; + value: StaticSiteUserARMResource[]; +} + +// @public +export type StaticSiteUserInvitationRequestResource = ProxyOnlyResource & { + domain?: string; + provider?: string; + userDetails?: string; + roles?: string; + numHoursToExpiration?: number; +}; + +// @public +export type StaticSiteUserInvitationResponseResource = ProxyOnlyResource & { + readonly expiresOn?: Date; + readonly invitationUrl?: string; +}; + +// @public +export type StaticSiteUserProvidedFunctionApp = ProxyOnlyResource & { + functionAppResourceId?: string; + functionAppRegion?: string; + readonly createdOn?: Date; +}; + +// @public +export type StaticSiteUserProvidedFunctionAppARMResource = ProxyOnlyResource & { + functionAppResourceId?: string; + functionAppRegion?: string; + readonly createdOn?: Date; +}; + +// @public +export interface StaticSiteUserProvidedFunctionAppsCollection { + readonly nextLink?: string; + value: StaticSiteUserProvidedFunctionAppARMResource[]; +} + +// @public +export type StaticSiteZipDeploymentARMResource = ProxyOnlyResource & { + appZipUrl?: string; + apiZipUrl?: string; + deploymentTitle?: string; + provider?: string; + functionLanguage?: string; +}; + +// @public +export interface Status { + message?: string; + statusId?: InsightStatus; +} + +// @public +export interface StatusCodesBasedTrigger { + count?: number; + path?: string; + status?: number; + subStatus?: number; + timeInterval?: string; + win32Status?: number; +} + +// @public +export interface StatusCodesRangeBasedTrigger { + count?: number; + // (undocumented) + path?: string; + statusCodes?: string; + timeInterval?: string; +} + +// @public +export type StatusOptions = "Ready" | "Pending" | "Creating"; + +// @public +export type StorageMigrationOptions = ProxyOnlyResource & { + azurefilesConnectionString?: string; + azurefilesShare?: string; + switchSiteAfterMigration?: boolean; + blockWriteAccessToSite?: boolean; +}; + +// @public +export type StorageMigrationResponse = ProxyOnlyResource & { + readonly operationId?: string; +}; + +// @public +export type StorageType = "LocalNode" | "NetworkFileSystem"; + +// @public +export type StringDictionary = ProxyOnlyResource & { + properties?: { + [propertyName: string]: string; + }; +}; + +// @public +export type StringList = ProxyOnlyResource & { + properties?: string[]; +}; + +// @public +export type SupportedTlsVersions = string; + +// @public +export interface SupportTopic { + readonly id?: string; + readonly pesId?: string; +} + +// @public +export type SwiftVirtualNetwork = ProxyOnlyResource & { + subnetResourceId?: string; + swiftSupported?: boolean; +}; + +// @public +export interface TldLegalAgreement { + agreementKey: string; + content: string; + title: string; + url?: string; +} + +// @public +export interface TldLegalAgreementCollection { + readonly nextLink?: string; + value: TldLegalAgreement[]; +} + +// @public +export interface TokenStore { + azureBlobStorage?: BlobStorageTokenStore; + enabled?: boolean; + fileSystem?: FileSystemTokenStore; + tokenRefreshExtensionHours?: number; +} + +// @public +export type TopLevelDomain = ProxyOnlyResource & { + privacy?: boolean; +}; + +// @public +export interface TopLevelDomainAgreementOption { + forTransfer?: boolean; + includePrivacy?: boolean; +} + +// @public +export interface TopLevelDomainCollection { + readonly nextLink?: string; + value: TopLevelDomain[]; +} + +// @public +export interface TopLevelDomains { + get(name: string, options?: TopLevelDomainsGetOptionalParams): Promise; + list(options?: TopLevelDomainsListOptionalParams): PagedAsyncIterableIterator; + listAgreements(name: string, agreementOption: TopLevelDomainAgreementOption, options?: TopLevelDomainsListAgreementsOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface TopLevelDomainsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopLevelDomainsGetResponse = TopLevelDomain; + +// @public +export interface TopLevelDomainsListAgreementsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopLevelDomainsListAgreementsNextResponse = TldLegalAgreementCollection; + +// @public +export interface TopLevelDomainsListAgreementsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopLevelDomainsListAgreementsResponse = TldLegalAgreementCollection; + +// @public +export interface TopLevelDomainsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopLevelDomainsListNextResponse = TopLevelDomainCollection; + +// @public +export interface TopLevelDomainsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopLevelDomainsListResponse = TopLevelDomainCollection; + +// @public +export type TriggeredJobHistory = ProxyOnlyResource & { + runs?: TriggeredJobRun[]; +}; + +// @public +export interface TriggeredJobHistoryCollection { + readonly nextLink?: string; + value: TriggeredJobHistory[]; +} + +// @public +export interface TriggeredJobRun { + duration?: string; + endTime?: Date; + errorUrl?: string; + jobName?: string; + outputUrl?: string; + startTime?: Date; + status?: TriggeredWebJobStatus; + trigger?: string; + url?: string; + webJobId?: string; + webJobName?: string; +} + +// @public +export type TriggeredWebJob = ProxyOnlyResource & { + latestRun?: TriggeredJobRun; + historyUrl?: string; + schedulerLogsUrl?: string; + runCommand?: string; + url?: string; + extraInfoUrl?: string; + webJobType?: WebJobType; + error?: string; + usingSdk?: boolean; + settings?: { + [propertyName: string]: Record; + }; +}; + +// @public +export interface TriggeredWebJobCollection { + readonly nextLink?: string; + value: TriggeredWebJob[]; +} + +// @public +export type TriggeredWebJobStatus = "Success" | "Failed" | "Error"; + +// @public +export type TriggerTypes = string; + +// @public +export type Twitter = ProxyOnlyResource & { + enabled?: boolean; + registration?: TwitterRegistration; +}; + +// @public +export interface TwitterRegistration { + consumerKey?: string; + consumerSecretSettingName?: string; +} + +// @public +export type UnauthenticatedClientAction = "RedirectToLoginPage" | "AllowAnonymous"; + +// @public +export type UnauthenticatedClientActionV2 = "RedirectToLoginPage" | "AllowAnonymous" | "Return401" | "Return403"; + +// @public +export type Usage = ProxyOnlyResource & { + readonly displayName?: string; + readonly resourceName?: string; + readonly unit?: string; + readonly currentValue?: number; + readonly limit?: number; + readonly nextResetTime?: Date; + readonly computeMode?: ComputeModeOptions; + readonly siteMode?: string; +}; + +// @public +export interface UsageCollection { + readonly nextLink?: string; + value: Usage[]; +} + +// @public +export type UsageState = "Normal" | "Exceeded"; + +// @public +export type User = ProxyOnlyResource & { + publishingUserName?: string; + publishingPassword?: string; + publishingPasswordHash?: string; + publishingPasswordHashSalt?: string; + scmUri?: string; +}; + +// @public +export interface UserAssignedIdentity { + readonly clientId?: string; + readonly principalId?: string; +} + +// @public +export interface ValidateRequest { + appServiceEnvironment?: AppServiceEnvironment; + capacity?: number; + containerImagePlatform?: string; + containerImageRepository?: string; + containerImageTag?: string; + containerRegistryBaseUrl?: string; + containerRegistryPassword?: string; + containerRegistryUsername?: string; + hostingEnvironment?: string; + isSpot?: boolean; + isXenon?: boolean; + location: string; + name: string; + needLinuxWorkers?: boolean; + serverFarmId?: string; + skuName?: string; + type: ValidateResourceTypes; +} + +// @public +export type ValidateResourceTypes = string; + +// @public +export interface ValidateResponse { + error?: ValidateResponseError; + status?: string; +} + +// @public +export interface ValidateResponseError { + code?: string; + message?: string; +} + +// @public +export interface VirtualApplication { + physicalPath?: string; + preloadEnabled?: boolean; + virtualDirectories?: VirtualDirectory[]; + virtualPath?: string; +} + +// @public +export interface VirtualDirectory { + physicalPath?: string; + virtualPath?: string; +} + +// @public +export interface VirtualIPMapping { + internalHttpPort?: number; + internalHttpsPort?: number; + inUse?: boolean; + serviceName?: string; + virtualIP?: string; +} + +// @public +export interface VirtualNetworkProfile { + id: string; + readonly name?: string; + subnet?: string; + readonly type?: string; +} + +// @public +export type VnetGateway = ProxyOnlyResource & { + vnetName?: string; + vpnPackageUri?: string; +}; + +// @public +export interface VnetInfo { + certBlob?: string; + readonly certThumbprint?: string; + dnsServers?: string; + isSwift?: boolean; + readonly resyncRequired?: boolean; + readonly routes?: VnetRoute[]; + vnetResourceId?: string; +} + +// @public +export type VnetInfoResource = ProxyOnlyResource & { + vnetResourceId?: string; + readonly certThumbprint?: string; + certBlob?: string; + readonly routes?: VnetRoute[]; + readonly resyncRequired?: boolean; + dnsServers?: string; + isSwift?: boolean; +}; + +// @public +export type VnetParameters = ProxyOnlyResource & { + vnetResourceGroup?: string; + vnetName?: string; + vnetSubnetName?: string; + subnetResourceId?: string; +}; + +// @public +export type VnetRoute = ProxyOnlyResource & { + startAddress?: string; + endAddress?: string; + routeType?: RouteType; +}; + +// @public +export type VnetValidationFailureDetails = ProxyOnlyResource & { + message?: string; + failed?: boolean; + failedTests?: VnetValidationTestFailure[]; + warnings?: VnetValidationTestFailure[]; +}; + +// @public +export type VnetValidationTestFailure = ProxyOnlyResource & { + testName?: string; + details?: string; +}; + +// @public +export interface WebAppCollection { + readonly nextLink?: string; + value: Site[]; +} + +// @public +export interface WebAppInstanceStatusCollection { + readonly nextLink?: string; + value: WebSiteInstanceStatus[]; +} + +// @public +export interface WebAppMajorVersion { + readonly displayText?: string; + readonly minorVersions?: WebAppMinorVersion[]; + readonly value?: string; +} + +// @public +export interface WebAppMinorVersion { + readonly displayText?: string; + readonly stackSettings?: WebAppRuntimes; + readonly value?: string; +} + +// @public +export interface WebAppRuntimes { + readonly linuxContainerSettings?: LinuxJavaContainerSettings; + readonly linuxRuntimeSettings?: WebAppRuntimeSettings; + readonly windowsContainerSettings?: WindowsJavaContainerSettings; + readonly windowsRuntimeSettings?: WebAppRuntimeSettings; +} + +// @public +export interface WebAppRuntimeSettings { + readonly appInsightsSettings?: AppInsightsWebAppStackSettings; + readonly endOfLifeDate?: Date; + readonly gitHubActionSettings?: GitHubActionWebAppStackSettings; + readonly isAutoUpdate?: boolean; + readonly isDeprecated?: boolean; + readonly isEarlyAccess?: boolean; + readonly isHidden?: boolean; + readonly isPreview?: boolean; + readonly remoteDebuggingSupported?: boolean; + readonly runtimeVersion?: string; +} + +// @public +export interface WebApps { + addPremierAddOn(resourceGroupName: string, name: string, premierAddOnName: string, premierAddOn: PremierAddOn, options?: WebAppsAddPremierAddOnOptionalParams): Promise; + addPremierAddOnSlot(resourceGroupName: string, name: string, premierAddOnName: string, slot: string, premierAddOn: PremierAddOn, options?: WebAppsAddPremierAddOnSlotOptionalParams): Promise; + analyzeCustomHostname(resourceGroupName: string, name: string, options?: WebAppsAnalyzeCustomHostnameOptionalParams): Promise; + analyzeCustomHostnameSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsAnalyzeCustomHostnameSlotOptionalParams): Promise; + applySlotConfigToProduction(resourceGroupName: string, name: string, slotSwapEntity: CsmSlotEntity, options?: WebAppsApplySlotConfigToProductionOptionalParams): Promise; + applySlotConfigurationSlot(resourceGroupName: string, name: string, slot: string, slotSwapEntity: CsmSlotEntity, options?: WebAppsApplySlotConfigurationSlotOptionalParams): Promise; + backup(resourceGroupName: string, name: string, request: BackupRequest, options?: WebAppsBackupOptionalParams): Promise; + backupSlot(resourceGroupName: string, name: string, slot: string, request: BackupRequest, options?: WebAppsBackupSlotOptionalParams): Promise; + beginApproveOrRejectPrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, options?: WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams): Promise, WebAppsApproveOrRejectPrivateEndpointConnectionResponse>>; + beginApproveOrRejectPrivateEndpointConnectionAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, options?: WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams): Promise; + beginApproveOrRejectPrivateEndpointConnectionSlot(resourceGroupName: string, name: string, privateEndpointConnectionName: string, slot: string, privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, options?: WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams): Promise, WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse>>; + beginApproveOrRejectPrivateEndpointConnectionSlotAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, slot: string, privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, options?: WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams): Promise; + beginCreateFunction(resourceGroupName: string, name: string, functionName: string, functionEnvelope: FunctionEnvelope, options?: WebAppsCreateFunctionOptionalParams): Promise, WebAppsCreateFunctionResponse>>; + beginCreateFunctionAndWait(resourceGroupName: string, name: string, functionName: string, functionEnvelope: FunctionEnvelope, options?: WebAppsCreateFunctionOptionalParams): Promise; + beginCreateInstanceFunctionSlot(resourceGroupName: string, name: string, functionName: string, slot: string, functionEnvelope: FunctionEnvelope, options?: WebAppsCreateInstanceFunctionSlotOptionalParams): Promise, WebAppsCreateInstanceFunctionSlotResponse>>; + beginCreateInstanceFunctionSlotAndWait(resourceGroupName: string, name: string, functionName: string, slot: string, functionEnvelope: FunctionEnvelope, options?: WebAppsCreateInstanceFunctionSlotOptionalParams): Promise; + beginCreateInstanceMSDeployOperation(resourceGroupName: string, name: string, instanceId: string, mSDeploy: MSDeploy, options?: WebAppsCreateInstanceMSDeployOperationOptionalParams): Promise, WebAppsCreateInstanceMSDeployOperationResponse>>; + beginCreateInstanceMSDeployOperationAndWait(resourceGroupName: string, name: string, instanceId: string, mSDeploy: MSDeploy, options?: WebAppsCreateInstanceMSDeployOperationOptionalParams): Promise; + beginCreateInstanceMSDeployOperationSlot(resourceGroupName: string, name: string, slot: string, instanceId: string, mSDeploy: MSDeploy, options?: WebAppsCreateInstanceMSDeployOperationSlotOptionalParams): Promise, WebAppsCreateInstanceMSDeployOperationSlotResponse>>; + beginCreateInstanceMSDeployOperationSlotAndWait(resourceGroupName: string, name: string, slot: string, instanceId: string, mSDeploy: MSDeploy, options?: WebAppsCreateInstanceMSDeployOperationSlotOptionalParams): Promise; + beginCreateMSDeployOperation(resourceGroupName: string, name: string, mSDeploy: MSDeploy, options?: WebAppsCreateMSDeployOperationOptionalParams): Promise, WebAppsCreateMSDeployOperationResponse>>; + beginCreateMSDeployOperationAndWait(resourceGroupName: string, name: string, mSDeploy: MSDeploy, options?: WebAppsCreateMSDeployOperationOptionalParams): Promise; + beginCreateMSDeployOperationSlot(resourceGroupName: string, name: string, slot: string, mSDeploy: MSDeploy, options?: WebAppsCreateMSDeployOperationSlotOptionalParams): Promise, WebAppsCreateMSDeployOperationSlotResponse>>; + beginCreateMSDeployOperationSlotAndWait(resourceGroupName: string, name: string, slot: string, mSDeploy: MSDeploy, options?: WebAppsCreateMSDeployOperationSlotOptionalParams): Promise; + beginCreateOrUpdate(resourceGroupName: string, name: string, siteEnvelope: Site, options?: WebAppsCreateOrUpdateOptionalParams): Promise, WebAppsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, name: string, siteEnvelope: Site, options?: WebAppsCreateOrUpdateOptionalParams): Promise; + beginCreateOrUpdateSlot(resourceGroupName: string, name: string, slot: string, siteEnvelope: Site, options?: WebAppsCreateOrUpdateSlotOptionalParams): Promise, WebAppsCreateOrUpdateSlotResponse>>; + beginCreateOrUpdateSlotAndWait(resourceGroupName: string, name: string, slot: string, siteEnvelope: Site, options?: WebAppsCreateOrUpdateSlotOptionalParams): Promise; + beginCreateOrUpdateSourceControl(resourceGroupName: string, name: string, siteSourceControl: SiteSourceControl, options?: WebAppsCreateOrUpdateSourceControlOptionalParams): Promise, WebAppsCreateOrUpdateSourceControlResponse>>; + beginCreateOrUpdateSourceControlAndWait(resourceGroupName: string, name: string, siteSourceControl: SiteSourceControl, options?: WebAppsCreateOrUpdateSourceControlOptionalParams): Promise; + beginCreateOrUpdateSourceControlSlot(resourceGroupName: string, name: string, slot: string, siteSourceControl: SiteSourceControl, options?: WebAppsCreateOrUpdateSourceControlSlotOptionalParams): Promise, WebAppsCreateOrUpdateSourceControlSlotResponse>>; + beginCreateOrUpdateSourceControlSlotAndWait(resourceGroupName: string, name: string, slot: string, siteSourceControl: SiteSourceControl, options?: WebAppsCreateOrUpdateSourceControlSlotOptionalParams): Promise; + beginDeletePrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: WebAppsDeletePrivateEndpointConnectionOptionalParams): Promise, WebAppsDeletePrivateEndpointConnectionResponse>>; + beginDeletePrivateEndpointConnectionAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: WebAppsDeletePrivateEndpointConnectionOptionalParams): Promise; + beginDeletePrivateEndpointConnectionSlot(resourceGroupName: string, name: string, privateEndpointConnectionName: string, slot: string, options?: WebAppsDeletePrivateEndpointConnectionSlotOptionalParams): Promise, WebAppsDeletePrivateEndpointConnectionSlotResponse>>; + beginDeletePrivateEndpointConnectionSlotAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, slot: string, options?: WebAppsDeletePrivateEndpointConnectionSlotOptionalParams): Promise; + beginInstallSiteExtension(resourceGroupName: string, name: string, siteExtensionId: string, options?: WebAppsInstallSiteExtensionOptionalParams): Promise, WebAppsInstallSiteExtensionResponse>>; + beginInstallSiteExtensionAndWait(resourceGroupName: string, name: string, siteExtensionId: string, options?: WebAppsInstallSiteExtensionOptionalParams): Promise; + beginInstallSiteExtensionSlot(resourceGroupName: string, name: string, siteExtensionId: string, slot: string, options?: WebAppsInstallSiteExtensionSlotOptionalParams): Promise, WebAppsInstallSiteExtensionSlotResponse>>; + beginInstallSiteExtensionSlotAndWait(resourceGroupName: string, name: string, siteExtensionId: string, slot: string, options?: WebAppsInstallSiteExtensionSlotOptionalParams): Promise; + beginListPublishingCredentials(resourceGroupName: string, name: string, options?: WebAppsListPublishingCredentialsOptionalParams): Promise, WebAppsListPublishingCredentialsResponse>>; + beginListPublishingCredentialsAndWait(resourceGroupName: string, name: string, options?: WebAppsListPublishingCredentialsOptionalParams): Promise; + beginListPublishingCredentialsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListPublishingCredentialsSlotOptionalParams): Promise, WebAppsListPublishingCredentialsSlotResponse>>; + beginListPublishingCredentialsSlotAndWait(resourceGroupName: string, name: string, slot: string, options?: WebAppsListPublishingCredentialsSlotOptionalParams): Promise; + beginMigrateMySql(resourceGroupName: string, name: string, migrationRequestEnvelope: MigrateMySqlRequest, options?: WebAppsMigrateMySqlOptionalParams): Promise, WebAppsMigrateMySqlResponse>>; + beginMigrateMySqlAndWait(resourceGroupName: string, name: string, migrationRequestEnvelope: MigrateMySqlRequest, options?: WebAppsMigrateMySqlOptionalParams): Promise; + beginMigrateStorage(subscriptionName: string, resourceGroupName: string, name: string, migrationOptions: StorageMigrationOptions, options?: WebAppsMigrateStorageOptionalParams): Promise, WebAppsMigrateStorageResponse>>; + beginMigrateStorageAndWait(subscriptionName: string, resourceGroupName: string, name: string, migrationOptions: StorageMigrationOptions, options?: WebAppsMigrateStorageOptionalParams): Promise; + beginRestore(resourceGroupName: string, name: string, backupId: string, request: RestoreRequest, options?: WebAppsRestoreOptionalParams): Promise, void>>; + beginRestoreAndWait(resourceGroupName: string, name: string, backupId: string, request: RestoreRequest, options?: WebAppsRestoreOptionalParams): Promise; + beginRestoreFromBackupBlob(resourceGroupName: string, name: string, request: RestoreRequest, options?: WebAppsRestoreFromBackupBlobOptionalParams): Promise, void>>; + beginRestoreFromBackupBlobAndWait(resourceGroupName: string, name: string, request: RestoreRequest, options?: WebAppsRestoreFromBackupBlobOptionalParams): Promise; + beginRestoreFromBackupBlobSlot(resourceGroupName: string, name: string, slot: string, request: RestoreRequest, options?: WebAppsRestoreFromBackupBlobSlotOptionalParams): Promise, void>>; + beginRestoreFromBackupBlobSlotAndWait(resourceGroupName: string, name: string, slot: string, request: RestoreRequest, options?: WebAppsRestoreFromBackupBlobSlotOptionalParams): Promise; + beginRestoreFromDeletedApp(resourceGroupName: string, name: string, restoreRequest: DeletedAppRestoreRequest, options?: WebAppsRestoreFromDeletedAppOptionalParams): Promise, void>>; + beginRestoreFromDeletedAppAndWait(resourceGroupName: string, name: string, restoreRequest: DeletedAppRestoreRequest, options?: WebAppsRestoreFromDeletedAppOptionalParams): Promise; + beginRestoreFromDeletedAppSlot(resourceGroupName: string, name: string, slot: string, restoreRequest: DeletedAppRestoreRequest, options?: WebAppsRestoreFromDeletedAppSlotOptionalParams): Promise, void>>; + beginRestoreFromDeletedAppSlotAndWait(resourceGroupName: string, name: string, slot: string, restoreRequest: DeletedAppRestoreRequest, options?: WebAppsRestoreFromDeletedAppSlotOptionalParams): Promise; + beginRestoreSlot(resourceGroupName: string, name: string, backupId: string, slot: string, request: RestoreRequest, options?: WebAppsRestoreSlotOptionalParams): Promise, void>>; + beginRestoreSlotAndWait(resourceGroupName: string, name: string, backupId: string, slot: string, request: RestoreRequest, options?: WebAppsRestoreSlotOptionalParams): Promise; + beginRestoreSnapshot(resourceGroupName: string, name: string, restoreRequest: SnapshotRestoreRequest, options?: WebAppsRestoreSnapshotOptionalParams): Promise, void>>; + beginRestoreSnapshotAndWait(resourceGroupName: string, name: string, restoreRequest: SnapshotRestoreRequest, options?: WebAppsRestoreSnapshotOptionalParams): Promise; + beginRestoreSnapshotSlot(resourceGroupName: string, name: string, slot: string, restoreRequest: SnapshotRestoreRequest, options?: WebAppsRestoreSnapshotSlotOptionalParams): Promise, void>>; + beginRestoreSnapshotSlotAndWait(resourceGroupName: string, name: string, slot: string, restoreRequest: SnapshotRestoreRequest, options?: WebAppsRestoreSnapshotSlotOptionalParams): Promise; + beginStartNetworkTrace(resourceGroupName: string, name: string, options?: WebAppsStartNetworkTraceOptionalParams): Promise, WebAppsStartNetworkTraceResponse>>; + beginStartNetworkTraceAndWait(resourceGroupName: string, name: string, options?: WebAppsStartNetworkTraceOptionalParams): Promise; + beginStartNetworkTraceSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsStartNetworkTraceSlotOptionalParams): Promise, WebAppsStartNetworkTraceSlotResponse>>; + beginStartNetworkTraceSlotAndWait(resourceGroupName: string, name: string, slot: string, options?: WebAppsStartNetworkTraceSlotOptionalParams): Promise; + beginStartWebSiteNetworkTraceOperation(resourceGroupName: string, name: string, options?: WebAppsStartWebSiteNetworkTraceOperationOptionalParams): Promise, WebAppsStartWebSiteNetworkTraceOperationResponse>>; + beginStartWebSiteNetworkTraceOperationAndWait(resourceGroupName: string, name: string, options?: WebAppsStartWebSiteNetworkTraceOperationOptionalParams): Promise; + beginStartWebSiteNetworkTraceOperationSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams): Promise, WebAppsStartWebSiteNetworkTraceOperationSlotResponse>>; + beginStartWebSiteNetworkTraceOperationSlotAndWait(resourceGroupName: string, name: string, slot: string, options?: WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams): Promise; + beginSwapSlot(resourceGroupName: string, name: string, slot: string, slotSwapEntity: CsmSlotEntity, options?: WebAppsSwapSlotOptionalParams): Promise, void>>; + beginSwapSlotAndWait(resourceGroupName: string, name: string, slot: string, slotSwapEntity: CsmSlotEntity, options?: WebAppsSwapSlotOptionalParams): Promise; + beginSwapSlotWithProduction(resourceGroupName: string, name: string, slotSwapEntity: CsmSlotEntity, options?: WebAppsSwapSlotWithProductionOptionalParams): Promise, void>>; + beginSwapSlotWithProductionAndWait(resourceGroupName: string, name: string, slotSwapEntity: CsmSlotEntity, options?: WebAppsSwapSlotWithProductionOptionalParams): Promise; + createDeployment(resourceGroupName: string, name: string, id: string, deployment: Deployment, options?: WebAppsCreateDeploymentOptionalParams): Promise; + createDeploymentSlot(resourceGroupName: string, name: string, id: string, slot: string, deployment: Deployment, options?: WebAppsCreateDeploymentSlotOptionalParams): Promise; + createOrUpdateConfiguration(resourceGroupName: string, name: string, siteConfig: SiteConfigResource, options?: WebAppsCreateOrUpdateConfigurationOptionalParams): Promise; + createOrUpdateConfigurationSlot(resourceGroupName: string, name: string, slot: string, siteConfig: SiteConfigResource, options?: WebAppsCreateOrUpdateConfigurationSlotOptionalParams): Promise; + createOrUpdateDomainOwnershipIdentifier(resourceGroupName: string, name: string, domainOwnershipIdentifierName: string, domainOwnershipIdentifier: Identifier, options?: WebAppsCreateOrUpdateDomainOwnershipIdentifierOptionalParams): Promise; + createOrUpdateDomainOwnershipIdentifierSlot(resourceGroupName: string, name: string, domainOwnershipIdentifierName: string, slot: string, domainOwnershipIdentifier: Identifier, options?: WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotOptionalParams): Promise; + createOrUpdateFunctionSecret(resourceGroupName: string, name: string, functionName: string, keyName: string, key: KeyInfo, options?: WebAppsCreateOrUpdateFunctionSecretOptionalParams): Promise; + createOrUpdateFunctionSecretSlot(resourceGroupName: string, name: string, functionName: string, keyName: string, slot: string, key: KeyInfo, options?: WebAppsCreateOrUpdateFunctionSecretSlotOptionalParams): Promise; + createOrUpdateHostNameBinding(resourceGroupName: string, name: string, hostName: string, hostNameBinding: HostNameBinding, options?: WebAppsCreateOrUpdateHostNameBindingOptionalParams): Promise; + createOrUpdateHostNameBindingSlot(resourceGroupName: string, name: string, hostName: string, slot: string, hostNameBinding: HostNameBinding, options?: WebAppsCreateOrUpdateHostNameBindingSlotOptionalParams): Promise; + createOrUpdateHostSecret(resourceGroupName: string, name: string, keyType: string, keyName: string, key: KeyInfo, options?: WebAppsCreateOrUpdateHostSecretOptionalParams): Promise; + createOrUpdateHostSecretSlot(resourceGroupName: string, name: string, keyType: string, keyName: string, slot: string, key: KeyInfo, options?: WebAppsCreateOrUpdateHostSecretSlotOptionalParams): Promise; + createOrUpdateHybridConnection(resourceGroupName: string, name: string, namespaceName: string, relayName: string, connectionEnvelope: HybridConnection, options?: WebAppsCreateOrUpdateHybridConnectionOptionalParams): Promise; + createOrUpdateHybridConnectionSlot(resourceGroupName: string, name: string, namespaceName: string, relayName: string, slot: string, connectionEnvelope: HybridConnection, options?: WebAppsCreateOrUpdateHybridConnectionSlotOptionalParams): Promise; + createOrUpdatePublicCertificate(resourceGroupName: string, name: string, publicCertificateName: string, publicCertificate: PublicCertificate, options?: WebAppsCreateOrUpdatePublicCertificateOptionalParams): Promise; + createOrUpdatePublicCertificateSlot(resourceGroupName: string, name: string, publicCertificateName: string, slot: string, publicCertificate: PublicCertificate, options?: WebAppsCreateOrUpdatePublicCertificateSlotOptionalParams): Promise; + createOrUpdateRelayServiceConnection(resourceGroupName: string, name: string, entityName: string, connectionEnvelope: RelayServiceConnectionEntity, options?: WebAppsCreateOrUpdateRelayServiceConnectionOptionalParams): Promise; + createOrUpdateRelayServiceConnectionSlot(resourceGroupName: string, name: string, entityName: string, slot: string, connectionEnvelope: RelayServiceConnectionEntity, options?: WebAppsCreateOrUpdateRelayServiceConnectionSlotOptionalParams): Promise; + createOrUpdateSwiftVirtualNetworkConnectionWithCheck(resourceGroupName: string, name: string, connectionEnvelope: SwiftVirtualNetwork, options?: WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams): Promise; + createOrUpdateSwiftVirtualNetworkConnectionWithCheckSlot(resourceGroupName: string, name: string, slot: string, connectionEnvelope: SwiftVirtualNetwork, options?: WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams): Promise; + createOrUpdateVnetConnection(resourceGroupName: string, name: string, vnetName: string, connectionEnvelope: VnetInfoResource, options?: WebAppsCreateOrUpdateVnetConnectionOptionalParams): Promise; + createOrUpdateVnetConnectionGateway(resourceGroupName: string, name: string, vnetName: string, gatewayName: string, connectionEnvelope: VnetGateway, options?: WebAppsCreateOrUpdateVnetConnectionGatewayOptionalParams): Promise; + createOrUpdateVnetConnectionGatewaySlot(resourceGroupName: string, name: string, vnetName: string, gatewayName: string, slot: string, connectionEnvelope: VnetGateway, options?: WebAppsCreateOrUpdateVnetConnectionGatewaySlotOptionalParams): Promise; + createOrUpdateVnetConnectionSlot(resourceGroupName: string, name: string, vnetName: string, slot: string, connectionEnvelope: VnetInfoResource, options?: WebAppsCreateOrUpdateVnetConnectionSlotOptionalParams): Promise; + delete(resourceGroupName: string, name: string, options?: WebAppsDeleteOptionalParams): Promise; + deleteBackup(resourceGroupName: string, name: string, backupId: string, options?: WebAppsDeleteBackupOptionalParams): Promise; + deleteBackupConfiguration(resourceGroupName: string, name: string, options?: WebAppsDeleteBackupConfigurationOptionalParams): Promise; + deleteBackupConfigurationSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsDeleteBackupConfigurationSlotOptionalParams): Promise; + deleteBackupSlot(resourceGroupName: string, name: string, backupId: string, slot: string, options?: WebAppsDeleteBackupSlotOptionalParams): Promise; + deleteContinuousWebJob(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsDeleteContinuousWebJobOptionalParams): Promise; + deleteContinuousWebJobSlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsDeleteContinuousWebJobSlotOptionalParams): Promise; + deleteDeployment(resourceGroupName: string, name: string, id: string, options?: WebAppsDeleteDeploymentOptionalParams): Promise; + deleteDeploymentSlot(resourceGroupName: string, name: string, id: string, slot: string, options?: WebAppsDeleteDeploymentSlotOptionalParams): Promise; + deleteDomainOwnershipIdentifier(resourceGroupName: string, name: string, domainOwnershipIdentifierName: string, options?: WebAppsDeleteDomainOwnershipIdentifierOptionalParams): Promise; + deleteDomainOwnershipIdentifierSlot(resourceGroupName: string, name: string, domainOwnershipIdentifierName: string, slot: string, options?: WebAppsDeleteDomainOwnershipIdentifierSlotOptionalParams): Promise; + deleteFunction(resourceGroupName: string, name: string, functionName: string, options?: WebAppsDeleteFunctionOptionalParams): Promise; + deleteFunctionSecret(resourceGroupName: string, name: string, functionName: string, keyName: string, options?: WebAppsDeleteFunctionSecretOptionalParams): Promise; + deleteFunctionSecretSlot(resourceGroupName: string, name: string, functionName: string, keyName: string, slot: string, options?: WebAppsDeleteFunctionSecretSlotOptionalParams): Promise; + deleteHostNameBinding(resourceGroupName: string, name: string, hostName: string, options?: WebAppsDeleteHostNameBindingOptionalParams): Promise; + deleteHostNameBindingSlot(resourceGroupName: string, name: string, slot: string, hostName: string, options?: WebAppsDeleteHostNameBindingSlotOptionalParams): Promise; + deleteHostSecret(resourceGroupName: string, name: string, keyType: string, keyName: string, options?: WebAppsDeleteHostSecretOptionalParams): Promise; + deleteHostSecretSlot(resourceGroupName: string, name: string, keyType: string, keyName: string, slot: string, options?: WebAppsDeleteHostSecretSlotOptionalParams): Promise; + deleteHybridConnection(resourceGroupName: string, name: string, namespaceName: string, relayName: string, options?: WebAppsDeleteHybridConnectionOptionalParams): Promise; + deleteHybridConnectionSlot(resourceGroupName: string, name: string, namespaceName: string, relayName: string, slot: string, options?: WebAppsDeleteHybridConnectionSlotOptionalParams): Promise; + deleteInstanceFunctionSlot(resourceGroupName: string, name: string, functionName: string, slot: string, options?: WebAppsDeleteInstanceFunctionSlotOptionalParams): Promise; + deleteInstanceProcess(resourceGroupName: string, name: string, processId: string, instanceId: string, options?: WebAppsDeleteInstanceProcessOptionalParams): Promise; + deleteInstanceProcessSlot(resourceGroupName: string, name: string, processId: string, slot: string, instanceId: string, options?: WebAppsDeleteInstanceProcessSlotOptionalParams): Promise; + deletePremierAddOn(resourceGroupName: string, name: string, premierAddOnName: string, options?: WebAppsDeletePremierAddOnOptionalParams): Promise; + deletePremierAddOnSlot(resourceGroupName: string, name: string, premierAddOnName: string, slot: string, options?: WebAppsDeletePremierAddOnSlotOptionalParams): Promise; + deleteProcess(resourceGroupName: string, name: string, processId: string, options?: WebAppsDeleteProcessOptionalParams): Promise; + deleteProcessSlot(resourceGroupName: string, name: string, processId: string, slot: string, options?: WebAppsDeleteProcessSlotOptionalParams): Promise; + deletePublicCertificate(resourceGroupName: string, name: string, publicCertificateName: string, options?: WebAppsDeletePublicCertificateOptionalParams): Promise; + deletePublicCertificateSlot(resourceGroupName: string, name: string, slot: string, publicCertificateName: string, options?: WebAppsDeletePublicCertificateSlotOptionalParams): Promise; + deleteRelayServiceConnection(resourceGroupName: string, name: string, entityName: string, options?: WebAppsDeleteRelayServiceConnectionOptionalParams): Promise; + deleteRelayServiceConnectionSlot(resourceGroupName: string, name: string, entityName: string, slot: string, options?: WebAppsDeleteRelayServiceConnectionSlotOptionalParams): Promise; + deleteSiteExtension(resourceGroupName: string, name: string, siteExtensionId: string, options?: WebAppsDeleteSiteExtensionOptionalParams): Promise; + deleteSiteExtensionSlot(resourceGroupName: string, name: string, siteExtensionId: string, slot: string, options?: WebAppsDeleteSiteExtensionSlotOptionalParams): Promise; + deleteSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsDeleteSlotOptionalParams): Promise; + deleteSourceControl(resourceGroupName: string, name: string, options?: WebAppsDeleteSourceControlOptionalParams): Promise; + deleteSourceControlSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsDeleteSourceControlSlotOptionalParams): Promise; + deleteSwiftVirtualNetwork(resourceGroupName: string, name: string, options?: WebAppsDeleteSwiftVirtualNetworkOptionalParams): Promise; + deleteSwiftVirtualNetworkSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsDeleteSwiftVirtualNetworkSlotOptionalParams): Promise; + deleteTriggeredWebJob(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsDeleteTriggeredWebJobOptionalParams): Promise; + deleteTriggeredWebJobSlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsDeleteTriggeredWebJobSlotOptionalParams): Promise; + deleteVnetConnection(resourceGroupName: string, name: string, vnetName: string, options?: WebAppsDeleteVnetConnectionOptionalParams): Promise; + deleteVnetConnectionSlot(resourceGroupName: string, name: string, vnetName: string, slot: string, options?: WebAppsDeleteVnetConnectionSlotOptionalParams): Promise; + discoverBackup(resourceGroupName: string, name: string, request: RestoreRequest, options?: WebAppsDiscoverBackupOptionalParams): Promise; + discoverBackupSlot(resourceGroupName: string, name: string, slot: string, request: RestoreRequest, options?: WebAppsDiscoverBackupSlotOptionalParams): Promise; + generateNewSitePublishingPassword(resourceGroupName: string, name: string, options?: WebAppsGenerateNewSitePublishingPasswordOptionalParams): Promise; + generateNewSitePublishingPasswordSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGenerateNewSitePublishingPasswordSlotOptionalParams): Promise; + get(resourceGroupName: string, name: string, options?: WebAppsGetOptionalParams): Promise; + getAppSettingKeyVaultReference(resourceGroupName: string, name: string, appSettingKey: string, options?: WebAppsGetAppSettingKeyVaultReferenceOptionalParams): Promise; + getAppSettingKeyVaultReferenceSlot(resourceGroupName: string, name: string, appSettingKey: string, slot: string, options?: WebAppsGetAppSettingKeyVaultReferenceSlotOptionalParams): Promise; + getAuthSettings(resourceGroupName: string, name: string, options?: WebAppsGetAuthSettingsOptionalParams): Promise; + getAuthSettingsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetAuthSettingsSlotOptionalParams): Promise; + getAuthSettingsV2(resourceGroupName: string, name: string, options?: WebAppsGetAuthSettingsV2OptionalParams): Promise; + getAuthSettingsV2Slot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetAuthSettingsV2SlotOptionalParams): Promise; + getBackupConfiguration(resourceGroupName: string, name: string, options?: WebAppsGetBackupConfigurationOptionalParams): Promise; + getBackupConfigurationSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetBackupConfigurationSlotOptionalParams): Promise; + getBackupStatus(resourceGroupName: string, name: string, backupId: string, options?: WebAppsGetBackupStatusOptionalParams): Promise; + getBackupStatusSlot(resourceGroupName: string, name: string, backupId: string, slot: string, options?: WebAppsGetBackupStatusSlotOptionalParams): Promise; + getConfiguration(resourceGroupName: string, name: string, options?: WebAppsGetConfigurationOptionalParams): Promise; + getConfigurationSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetConfigurationSlotOptionalParams): Promise; + getConfigurationSnapshot(resourceGroupName: string, name: string, snapshotId: string, options?: WebAppsGetConfigurationSnapshotOptionalParams): Promise; + getConfigurationSnapshotSlot(resourceGroupName: string, name: string, snapshotId: string, slot: string, options?: WebAppsGetConfigurationSnapshotSlotOptionalParams): Promise; + getContainerLogsZip(resourceGroupName: string, name: string, options?: WebAppsGetContainerLogsZipOptionalParams): Promise; + getContainerLogsZipSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetContainerLogsZipSlotOptionalParams): Promise; + getContinuousWebJob(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsGetContinuousWebJobOptionalParams): Promise; + getContinuousWebJobSlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsGetContinuousWebJobSlotOptionalParams): Promise; + getDeployment(resourceGroupName: string, name: string, id: string, options?: WebAppsGetDeploymentOptionalParams): Promise; + getDeploymentSlot(resourceGroupName: string, name: string, id: string, slot: string, options?: WebAppsGetDeploymentSlotOptionalParams): Promise; + getDiagnosticLogsConfiguration(resourceGroupName: string, name: string, options?: WebAppsGetDiagnosticLogsConfigurationOptionalParams): Promise; + getDiagnosticLogsConfigurationSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetDiagnosticLogsConfigurationSlotOptionalParams): Promise; + getDomainOwnershipIdentifier(resourceGroupName: string, name: string, domainOwnershipIdentifierName: string, options?: WebAppsGetDomainOwnershipIdentifierOptionalParams): Promise; + getDomainOwnershipIdentifierSlot(resourceGroupName: string, name: string, domainOwnershipIdentifierName: string, slot: string, options?: WebAppsGetDomainOwnershipIdentifierSlotOptionalParams): Promise; + getFtpAllowed(resourceGroupName: string, name: string, options?: WebAppsGetFtpAllowedOptionalParams): Promise; + getFtpAllowedSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetFtpAllowedSlotOptionalParams): Promise; + getFunction(resourceGroupName: string, name: string, functionName: string, options?: WebAppsGetFunctionOptionalParams): Promise; + getFunctionsAdminToken(resourceGroupName: string, name: string, options?: WebAppsGetFunctionsAdminTokenOptionalParams): Promise; + getFunctionsAdminTokenSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetFunctionsAdminTokenSlotOptionalParams): Promise; + getHostNameBinding(resourceGroupName: string, name: string, hostName: string, options?: WebAppsGetHostNameBindingOptionalParams): Promise; + getHostNameBindingSlot(resourceGroupName: string, name: string, slot: string, hostName: string, options?: WebAppsGetHostNameBindingSlotOptionalParams): Promise; + getHybridConnection(resourceGroupName: string, name: string, namespaceName: string, relayName: string, options?: WebAppsGetHybridConnectionOptionalParams): Promise; + getHybridConnectionSlot(resourceGroupName: string, name: string, namespaceName: string, relayName: string, slot: string, options?: WebAppsGetHybridConnectionSlotOptionalParams): Promise; + getInstanceFunctionSlot(resourceGroupName: string, name: string, functionName: string, slot: string, options?: WebAppsGetInstanceFunctionSlotOptionalParams): Promise; + getInstanceInfo(resourceGroupName: string, name: string, instanceId: string, options?: WebAppsGetInstanceInfoOptionalParams): Promise; + getInstanceInfoSlot(resourceGroupName: string, name: string, instanceId: string, slot: string, options?: WebAppsGetInstanceInfoSlotOptionalParams): Promise; + getInstanceMSDeployLog(resourceGroupName: string, name: string, instanceId: string, options?: WebAppsGetInstanceMSDeployLogOptionalParams): Promise; + getInstanceMSDeployLogSlot(resourceGroupName: string, name: string, slot: string, instanceId: string, options?: WebAppsGetInstanceMSDeployLogSlotOptionalParams): Promise; + getInstanceMsDeployStatus(resourceGroupName: string, name: string, instanceId: string, options?: WebAppsGetInstanceMsDeployStatusOptionalParams): Promise; + getInstanceMsDeployStatusSlot(resourceGroupName: string, name: string, slot: string, instanceId: string, options?: WebAppsGetInstanceMsDeployStatusSlotOptionalParams): Promise; + getInstanceProcess(resourceGroupName: string, name: string, processId: string, instanceId: string, options?: WebAppsGetInstanceProcessOptionalParams): Promise; + getInstanceProcessDump(resourceGroupName: string, name: string, processId: string, instanceId: string, options?: WebAppsGetInstanceProcessDumpOptionalParams): Promise; + getInstanceProcessDumpSlot(resourceGroupName: string, name: string, processId: string, slot: string, instanceId: string, options?: WebAppsGetInstanceProcessDumpSlotOptionalParams): Promise; + getInstanceProcessModule(resourceGroupName: string, name: string, processId: string, baseAddress: string, instanceId: string, options?: WebAppsGetInstanceProcessModuleOptionalParams): Promise; + getInstanceProcessModuleSlot(resourceGroupName: string, name: string, processId: string, baseAddress: string, slot: string, instanceId: string, options?: WebAppsGetInstanceProcessModuleSlotOptionalParams): Promise; + getInstanceProcessSlot(resourceGroupName: string, name: string, processId: string, slot: string, instanceId: string, options?: WebAppsGetInstanceProcessSlotOptionalParams): Promise; + getMigrateMySqlStatus(resourceGroupName: string, name: string, options?: WebAppsGetMigrateMySqlStatusOptionalParams): Promise; + getMigrateMySqlStatusSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetMigrateMySqlStatusSlotOptionalParams): Promise; + getMSDeployLog(resourceGroupName: string, name: string, options?: WebAppsGetMSDeployLogOptionalParams): Promise; + getMSDeployLogSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetMSDeployLogSlotOptionalParams): Promise; + getMSDeployStatus(resourceGroupName: string, name: string, options?: WebAppsGetMSDeployStatusOptionalParams): Promise; + getMSDeployStatusSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetMSDeployStatusSlotOptionalParams): Promise; + getNetworkTraceOperation(resourceGroupName: string, name: string, operationId: string, options?: WebAppsGetNetworkTraceOperationOptionalParams): Promise; + getNetworkTraceOperationSlot(resourceGroupName: string, name: string, operationId: string, slot: string, options?: WebAppsGetNetworkTraceOperationSlotOptionalParams): Promise; + getNetworkTraceOperationSlotV2(resourceGroupName: string, name: string, operationId: string, slot: string, options?: WebAppsGetNetworkTraceOperationSlotV2OptionalParams): Promise; + getNetworkTraceOperationV2(resourceGroupName: string, name: string, operationId: string, options?: WebAppsGetNetworkTraceOperationV2OptionalParams): Promise; + getNetworkTraces(resourceGroupName: string, name: string, operationId: string, options?: WebAppsGetNetworkTracesOptionalParams): Promise; + getNetworkTracesSlot(resourceGroupName: string, name: string, operationId: string, slot: string, options?: WebAppsGetNetworkTracesSlotOptionalParams): Promise; + getNetworkTracesSlotV2(resourceGroupName: string, name: string, operationId: string, slot: string, options?: WebAppsGetNetworkTracesSlotV2OptionalParams): Promise; + getNetworkTracesV2(resourceGroupName: string, name: string, operationId: string, options?: WebAppsGetNetworkTracesV2OptionalParams): Promise; + getPremierAddOn(resourceGroupName: string, name: string, premierAddOnName: string, options?: WebAppsGetPremierAddOnOptionalParams): Promise; + getPremierAddOnSlot(resourceGroupName: string, name: string, premierAddOnName: string, slot: string, options?: WebAppsGetPremierAddOnSlotOptionalParams): Promise; + getPrivateAccess(resourceGroupName: string, name: string, options?: WebAppsGetPrivateAccessOptionalParams): Promise; + getPrivateAccessSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetPrivateAccessSlotOptionalParams): Promise; + getPrivateEndpointConnection(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: WebAppsGetPrivateEndpointConnectionOptionalParams): Promise; + getPrivateEndpointConnectionSlot(resourceGroupName: string, name: string, privateEndpointConnectionName: string, slot: string, options?: WebAppsGetPrivateEndpointConnectionSlotOptionalParams): Promise; + getPrivateLinkResources(resourceGroupName: string, name: string, options?: WebAppsGetPrivateLinkResourcesOptionalParams): Promise; + getPrivateLinkResourcesSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetPrivateLinkResourcesSlotOptionalParams): Promise; + getProcess(resourceGroupName: string, name: string, processId: string, options?: WebAppsGetProcessOptionalParams): Promise; + getProcessDump(resourceGroupName: string, name: string, processId: string, options?: WebAppsGetProcessDumpOptionalParams): Promise; + getProcessDumpSlot(resourceGroupName: string, name: string, processId: string, slot: string, options?: WebAppsGetProcessDumpSlotOptionalParams): Promise; + getProcessModule(resourceGroupName: string, name: string, processId: string, baseAddress: string, options?: WebAppsGetProcessModuleOptionalParams): Promise; + getProcessModuleSlot(resourceGroupName: string, name: string, processId: string, baseAddress: string, slot: string, options?: WebAppsGetProcessModuleSlotOptionalParams): Promise; + getProcessSlot(resourceGroupName: string, name: string, processId: string, slot: string, options?: WebAppsGetProcessSlotOptionalParams): Promise; + getPublicCertificate(resourceGroupName: string, name: string, publicCertificateName: string, options?: WebAppsGetPublicCertificateOptionalParams): Promise; + getPublicCertificateSlot(resourceGroupName: string, name: string, slot: string, publicCertificateName: string, options?: WebAppsGetPublicCertificateSlotOptionalParams): Promise; + getRelayServiceConnection(resourceGroupName: string, name: string, entityName: string, options?: WebAppsGetRelayServiceConnectionOptionalParams): Promise; + getRelayServiceConnectionSlot(resourceGroupName: string, name: string, entityName: string, slot: string, options?: WebAppsGetRelayServiceConnectionSlotOptionalParams): Promise; + getScmAllowed(resourceGroupName: string, name: string, options?: WebAppsGetScmAllowedOptionalParams): Promise; + getScmAllowedSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetScmAllowedSlotOptionalParams): Promise; + getSiteConnectionStringKeyVaultReference(resourceGroupName: string, name: string, connectionStringKey: string, options?: WebAppsGetSiteConnectionStringKeyVaultReferenceOptionalParams): Promise; + getSiteConnectionStringKeyVaultReferenceSlot(resourceGroupName: string, name: string, connectionStringKey: string, slot: string, options?: WebAppsGetSiteConnectionStringKeyVaultReferenceSlotOptionalParams): Promise; + getSiteExtension(resourceGroupName: string, name: string, siteExtensionId: string, options?: WebAppsGetSiteExtensionOptionalParams): Promise; + getSiteExtensionSlot(resourceGroupName: string, name: string, siteExtensionId: string, slot: string, options?: WebAppsGetSiteExtensionSlotOptionalParams): Promise; + getSitePhpErrorLogFlag(resourceGroupName: string, name: string, options?: WebAppsGetSitePhpErrorLogFlagOptionalParams): Promise; + getSitePhpErrorLogFlagSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetSitePhpErrorLogFlagSlotOptionalParams): Promise; + getSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetSlotOptionalParams): Promise; + getSourceControl(resourceGroupName: string, name: string, options?: WebAppsGetSourceControlOptionalParams): Promise; + getSourceControlSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetSourceControlSlotOptionalParams): Promise; + getSwiftVirtualNetworkConnection(resourceGroupName: string, name: string, options?: WebAppsGetSwiftVirtualNetworkConnectionOptionalParams): Promise; + getSwiftVirtualNetworkConnectionSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetSwiftVirtualNetworkConnectionSlotOptionalParams): Promise; + getTriggeredWebJob(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsGetTriggeredWebJobOptionalParams): Promise; + getTriggeredWebJobHistory(resourceGroupName: string, name: string, webJobName: string, id: string, options?: WebAppsGetTriggeredWebJobHistoryOptionalParams): Promise; + getTriggeredWebJobHistorySlot(resourceGroupName: string, name: string, webJobName: string, id: string, slot: string, options?: WebAppsGetTriggeredWebJobHistorySlotOptionalParams): Promise; + getTriggeredWebJobSlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsGetTriggeredWebJobSlotOptionalParams): Promise; + getVnetConnection(resourceGroupName: string, name: string, vnetName: string, options?: WebAppsGetVnetConnectionOptionalParams): Promise; + getVnetConnectionGateway(resourceGroupName: string, name: string, vnetName: string, gatewayName: string, options?: WebAppsGetVnetConnectionGatewayOptionalParams): Promise; + getVnetConnectionGatewaySlot(resourceGroupName: string, name: string, vnetName: string, gatewayName: string, slot: string, options?: WebAppsGetVnetConnectionGatewaySlotOptionalParams): Promise; + getVnetConnectionSlot(resourceGroupName: string, name: string, vnetName: string, slot: string, options?: WebAppsGetVnetConnectionSlotOptionalParams): Promise; + getWebJob(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsGetWebJobOptionalParams): Promise; + getWebJobSlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsGetWebJobSlotOptionalParams): Promise; + getWebSiteContainerLogs(resourceGroupName: string, name: string, options?: WebAppsGetWebSiteContainerLogsOptionalParams): Promise; + getWebSiteContainerLogsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetWebSiteContainerLogsSlotOptionalParams): Promise; + isCloneable(resourceGroupName: string, name: string, options?: WebAppsIsCloneableOptionalParams): Promise; + isCloneableSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsIsCloneableSlotOptionalParams): Promise; + list(options?: WebAppsListOptionalParams): PagedAsyncIterableIterator; + listApplicationSettings(resourceGroupName: string, name: string, options?: WebAppsListApplicationSettingsOptionalParams): Promise; + listApplicationSettingsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListApplicationSettingsSlotOptionalParams): Promise; + listAppSettingsKeyVaultReferences(resourceGroupName: string, name: string, options?: WebAppsGetAppSettingsKeyVaultReferencesOptionalParams): PagedAsyncIterableIterator; + listAppSettingsKeyVaultReferencesSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams): PagedAsyncIterableIterator; + listAzureStorageAccounts(resourceGroupName: string, name: string, options?: WebAppsListAzureStorageAccountsOptionalParams): Promise; + listAzureStorageAccountsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListAzureStorageAccountsSlotOptionalParams): Promise; + listBackups(resourceGroupName: string, name: string, options?: WebAppsListBackupsOptionalParams): PagedAsyncIterableIterator; + listBackupsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListBackupsSlotOptionalParams): PagedAsyncIterableIterator; + listBackupStatusSecrets(resourceGroupName: string, name: string, backupId: string, request: BackupRequest, options?: WebAppsListBackupStatusSecretsOptionalParams): Promise; + listBackupStatusSecretsSlot(resourceGroupName: string, name: string, backupId: string, slot: string, request: BackupRequest, options?: WebAppsListBackupStatusSecretsSlotOptionalParams): Promise; + listBasicPublishingCredentialsPolicies(resourceGroupName: string, name: string, options?: WebAppsListBasicPublishingCredentialsPoliciesOptionalParams): PagedAsyncIterableIterator; + listBasicPublishingCredentialsPoliciesSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: WebAppsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listConfigurations(resourceGroupName: string, name: string, options?: WebAppsListConfigurationsOptionalParams): PagedAsyncIterableIterator; + listConfigurationSnapshotInfo(resourceGroupName: string, name: string, options?: WebAppsListConfigurationSnapshotInfoOptionalParams): PagedAsyncIterableIterator; + listConfigurationSnapshotInfoSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListConfigurationSnapshotInfoSlotOptionalParams): PagedAsyncIterableIterator; + listConfigurationsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListConfigurationsSlotOptionalParams): PagedAsyncIterableIterator; + listConnectionStrings(resourceGroupName: string, name: string, options?: WebAppsListConnectionStringsOptionalParams): Promise; + listConnectionStringsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListConnectionStringsSlotOptionalParams): Promise; + listContinuousWebJobs(resourceGroupName: string, name: string, options?: WebAppsListContinuousWebJobsOptionalParams): PagedAsyncIterableIterator; + listContinuousWebJobsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListContinuousWebJobsSlotOptionalParams): PagedAsyncIterableIterator; + listDeploymentLog(resourceGroupName: string, name: string, id: string, options?: WebAppsListDeploymentLogOptionalParams): Promise; + listDeploymentLogSlot(resourceGroupName: string, name: string, id: string, slot: string, options?: WebAppsListDeploymentLogSlotOptionalParams): Promise; + listDeployments(resourceGroupName: string, name: string, options?: WebAppsListDeploymentsOptionalParams): PagedAsyncIterableIterator; + listDeploymentsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListDeploymentsSlotOptionalParams): PagedAsyncIterableIterator; + listDomainOwnershipIdentifiers(resourceGroupName: string, name: string, options?: WebAppsListDomainOwnershipIdentifiersOptionalParams): PagedAsyncIterableIterator; + listDomainOwnershipIdentifiersSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListDomainOwnershipIdentifiersSlotOptionalParams): PagedAsyncIterableIterator; + listFunctionKeys(resourceGroupName: string, name: string, functionName: string, options?: WebAppsListFunctionKeysOptionalParams): Promise; + listFunctionKeysSlot(resourceGroupName: string, name: string, functionName: string, slot: string, options?: WebAppsListFunctionKeysSlotOptionalParams): Promise; + listFunctions(resourceGroupName: string, name: string, options?: WebAppsListFunctionsOptionalParams): PagedAsyncIterableIterator; + listFunctionSecrets(resourceGroupName: string, name: string, functionName: string, options?: WebAppsListFunctionSecretsOptionalParams): Promise; + listFunctionSecretsSlot(resourceGroupName: string, name: string, functionName: string, slot: string, options?: WebAppsListFunctionSecretsSlotOptionalParams): Promise; + listHostKeys(resourceGroupName: string, name: string, options?: WebAppsListHostKeysOptionalParams): Promise; + listHostKeysSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListHostKeysSlotOptionalParams): Promise; + listHostNameBindings(resourceGroupName: string, name: string, options?: WebAppsListHostNameBindingsOptionalParams): PagedAsyncIterableIterator; + listHostNameBindingsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListHostNameBindingsSlotOptionalParams): PagedAsyncIterableIterator; + listHybridConnections(resourceGroupName: string, name: string, options?: WebAppsListHybridConnectionsOptionalParams): Promise; + listHybridConnectionsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListHybridConnectionsSlotOptionalParams): Promise; + listInstanceFunctionsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListInstanceFunctionsSlotOptionalParams): PagedAsyncIterableIterator; + listInstanceIdentifiers(resourceGroupName: string, name: string, options?: WebAppsListInstanceIdentifiersOptionalParams): PagedAsyncIterableIterator; + listInstanceIdentifiersSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListInstanceIdentifiersSlotOptionalParams): PagedAsyncIterableIterator; + listInstanceProcesses(resourceGroupName: string, name: string, instanceId: string, options?: WebAppsListInstanceProcessesOptionalParams): PagedAsyncIterableIterator; + listInstanceProcessesSlot(resourceGroupName: string, name: string, slot: string, instanceId: string, options?: WebAppsListInstanceProcessesSlotOptionalParams): PagedAsyncIterableIterator; + listInstanceProcessModules(resourceGroupName: string, name: string, processId: string, instanceId: string, options?: WebAppsListInstanceProcessModulesOptionalParams): PagedAsyncIterableIterator; + listInstanceProcessModulesSlot(resourceGroupName: string, name: string, processId: string, slot: string, instanceId: string, options?: WebAppsListInstanceProcessModulesSlotOptionalParams): PagedAsyncIterableIterator; + listInstanceProcessThreads(resourceGroupName: string, name: string, processId: string, instanceId: string, options?: WebAppsListInstanceProcessThreadsOptionalParams): PagedAsyncIterableIterator; + listInstanceProcessThreadsSlot(resourceGroupName: string, name: string, processId: string, slot: string, instanceId: string, options?: WebAppsListInstanceProcessThreadsSlotOptionalParams): PagedAsyncIterableIterator; + listMetadata(resourceGroupName: string, name: string, options?: WebAppsListMetadataOptionalParams): Promise; + listMetadataSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListMetadataSlotOptionalParams): Promise; + listNetworkFeatures(resourceGroupName: string, name: string, view: string, options?: WebAppsListNetworkFeaturesOptionalParams): Promise; + listNetworkFeaturesSlot(resourceGroupName: string, name: string, view: string, slot: string, options?: WebAppsListNetworkFeaturesSlotOptionalParams): Promise; + listPerfMonCounters(resourceGroupName: string, name: string, options?: WebAppsListPerfMonCountersOptionalParams): PagedAsyncIterableIterator; + listPerfMonCountersSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListPerfMonCountersSlotOptionalParams): PagedAsyncIterableIterator; + listPremierAddOns(resourceGroupName: string, name: string, options?: WebAppsListPremierAddOnsOptionalParams): Promise; + listPremierAddOnsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListPremierAddOnsSlotOptionalParams): Promise; + listPrivateEndpointConnectionList(resourceGroupName: string, name: string, options?: WebAppsGetPrivateEndpointConnectionListOptionalParams): PagedAsyncIterableIterator; + listPrivateEndpointConnectionListSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetPrivateEndpointConnectionListSlotOptionalParams): PagedAsyncIterableIterator; + listProcesses(resourceGroupName: string, name: string, options?: WebAppsListProcessesOptionalParams): PagedAsyncIterableIterator; + listProcessesSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListProcessesSlotOptionalParams): PagedAsyncIterableIterator; + listProcessModules(resourceGroupName: string, name: string, processId: string, options?: WebAppsListProcessModulesOptionalParams): PagedAsyncIterableIterator; + listProcessModulesSlot(resourceGroupName: string, name: string, processId: string, slot: string, options?: WebAppsListProcessModulesSlotOptionalParams): PagedAsyncIterableIterator; + listProcessThreads(resourceGroupName: string, name: string, processId: string, options?: WebAppsListProcessThreadsOptionalParams): PagedAsyncIterableIterator; + listProcessThreadsSlot(resourceGroupName: string, name: string, processId: string, slot: string, options?: WebAppsListProcessThreadsSlotOptionalParams): PagedAsyncIterableIterator; + listPublicCertificates(resourceGroupName: string, name: string, options?: WebAppsListPublicCertificatesOptionalParams): PagedAsyncIterableIterator; + listPublicCertificatesSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListPublicCertificatesSlotOptionalParams): PagedAsyncIterableIterator; + listPublishingProfileXmlWithSecrets(resourceGroupName: string, name: string, publishingProfileOptions: CsmPublishingProfileOptions, options?: WebAppsListPublishingProfileXmlWithSecretsOptionalParams): Promise; + listPublishingProfileXmlWithSecretsSlot(resourceGroupName: string, name: string, slot: string, publishingProfileOptions: CsmPublishingProfileOptions, options?: WebAppsListPublishingProfileXmlWithSecretsSlotOptionalParams): Promise; + listRelayServiceConnections(resourceGroupName: string, name: string, options?: WebAppsListRelayServiceConnectionsOptionalParams): Promise; + listRelayServiceConnectionsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListRelayServiceConnectionsSlotOptionalParams): Promise; + listSiteBackups(resourceGroupName: string, name: string, options?: WebAppsListSiteBackupsOptionalParams): PagedAsyncIterableIterator; + listSiteBackupsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListSiteBackupsSlotOptionalParams): PagedAsyncIterableIterator; + listSiteConnectionStringKeyVaultReferences(resourceGroupName: string, name: string, options?: WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams): PagedAsyncIterableIterator; + listSiteConnectionStringKeyVaultReferencesSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams): PagedAsyncIterableIterator; + listSiteExtensions(resourceGroupName: string, name: string, options?: WebAppsListSiteExtensionsOptionalParams): PagedAsyncIterableIterator; + listSiteExtensionsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListSiteExtensionsSlotOptionalParams): PagedAsyncIterableIterator; + listSitePushSettings(resourceGroupName: string, name: string, options?: WebAppsListSitePushSettingsOptionalParams): Promise; + listSitePushSettingsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListSitePushSettingsSlotOptionalParams): Promise; + listSlotConfigurationNames(resourceGroupName: string, name: string, options?: WebAppsListSlotConfigurationNamesOptionalParams): Promise; + listSlotDifferencesFromProduction(resourceGroupName: string, name: string, slotSwapEntity: CsmSlotEntity, options?: WebAppsListSlotDifferencesFromProductionOptionalParams): PagedAsyncIterableIterator; + listSlotDifferencesSlot(resourceGroupName: string, name: string, slot: string, slotSwapEntity: CsmSlotEntity, options?: WebAppsListSlotDifferencesSlotOptionalParams): PagedAsyncIterableIterator; + listSlots(resourceGroupName: string, name: string, options?: WebAppsListSlotsOptionalParams): PagedAsyncIterableIterator; + listSnapshots(resourceGroupName: string, name: string, options?: WebAppsListSnapshotsOptionalParams): PagedAsyncIterableIterator; + listSnapshotsFromDRSecondary(resourceGroupName: string, name: string, options?: WebAppsListSnapshotsFromDRSecondaryOptionalParams): PagedAsyncIterableIterator; + listSnapshotsFromDRSecondarySlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListSnapshotsFromDRSecondarySlotOptionalParams): PagedAsyncIterableIterator; + listSnapshotsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListSnapshotsSlotOptionalParams): PagedAsyncIterableIterator; + listSyncFunctionTriggers(resourceGroupName: string, name: string, options?: WebAppsListSyncFunctionTriggersOptionalParams): Promise; + listSyncFunctionTriggersSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListSyncFunctionTriggersSlotOptionalParams): Promise; + listSyncStatus(resourceGroupName: string, name: string, options?: WebAppsListSyncStatusOptionalParams): Promise; + listSyncStatusSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListSyncStatusSlotOptionalParams): Promise; + listTriggeredWebJobHistory(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsListTriggeredWebJobHistoryOptionalParams): PagedAsyncIterableIterator; + listTriggeredWebJobHistorySlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsListTriggeredWebJobHistorySlotOptionalParams): PagedAsyncIterableIterator; + listTriggeredWebJobs(resourceGroupName: string, name: string, options?: WebAppsListTriggeredWebJobsOptionalParams): PagedAsyncIterableIterator; + listTriggeredWebJobsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListTriggeredWebJobsSlotOptionalParams): PagedAsyncIterableIterator; + listUsages(resourceGroupName: string, name: string, options?: WebAppsListUsagesOptionalParams): PagedAsyncIterableIterator; + listUsagesSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListUsagesSlotOptionalParams): PagedAsyncIterableIterator; + listVnetConnections(resourceGroupName: string, name: string, options?: WebAppsListVnetConnectionsOptionalParams): Promise; + listVnetConnectionsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListVnetConnectionsSlotOptionalParams): Promise; + listWebJobs(resourceGroupName: string, name: string, options?: WebAppsListWebJobsOptionalParams): PagedAsyncIterableIterator; + listWebJobsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsListWebJobsSlotOptionalParams): PagedAsyncIterableIterator; + putPrivateAccessVnet(resourceGroupName: string, name: string, access: PrivateAccess, options?: WebAppsPutPrivateAccessVnetOptionalParams): Promise; + putPrivateAccessVnetSlot(resourceGroupName: string, name: string, slot: string, access: PrivateAccess, options?: WebAppsPutPrivateAccessVnetSlotOptionalParams): Promise; + recoverSiteConfigurationSnapshot(resourceGroupName: string, name: string, snapshotId: string, options?: WebAppsRecoverSiteConfigurationSnapshotOptionalParams): Promise; + recoverSiteConfigurationSnapshotSlot(resourceGroupName: string, name: string, snapshotId: string, slot: string, options?: WebAppsRecoverSiteConfigurationSnapshotSlotOptionalParams): Promise; + resetProductionSlotConfig(resourceGroupName: string, name: string, options?: WebAppsResetProductionSlotConfigOptionalParams): Promise; + resetSlotConfigurationSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsResetSlotConfigurationSlotOptionalParams): Promise; + restart(resourceGroupName: string, name: string, options?: WebAppsRestartOptionalParams): Promise; + restartSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsRestartSlotOptionalParams): Promise; + runTriggeredWebJob(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsRunTriggeredWebJobOptionalParams): Promise; + runTriggeredWebJobSlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsRunTriggeredWebJobSlotOptionalParams): Promise; + start(resourceGroupName: string, name: string, options?: WebAppsStartOptionalParams): Promise; + startContinuousWebJob(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsStartContinuousWebJobOptionalParams): Promise; + startContinuousWebJobSlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsStartContinuousWebJobSlotOptionalParams): Promise; + startSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsStartSlotOptionalParams): Promise; + startWebSiteNetworkTrace(resourceGroupName: string, name: string, options?: WebAppsStartWebSiteNetworkTraceOptionalParams): Promise; + startWebSiteNetworkTraceSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsStartWebSiteNetworkTraceSlotOptionalParams): Promise; + stop(resourceGroupName: string, name: string, options?: WebAppsStopOptionalParams): Promise; + stopContinuousWebJob(resourceGroupName: string, name: string, webJobName: string, options?: WebAppsStopContinuousWebJobOptionalParams): Promise; + stopContinuousWebJobSlot(resourceGroupName: string, name: string, webJobName: string, slot: string, options?: WebAppsStopContinuousWebJobSlotOptionalParams): Promise; + stopNetworkTrace(resourceGroupName: string, name: string, options?: WebAppsStopNetworkTraceOptionalParams): Promise; + stopNetworkTraceSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsStopNetworkTraceSlotOptionalParams): Promise; + stopSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsStopSlotOptionalParams): Promise; + stopWebSiteNetworkTrace(resourceGroupName: string, name: string, options?: WebAppsStopWebSiteNetworkTraceOptionalParams): Promise; + stopWebSiteNetworkTraceSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsStopWebSiteNetworkTraceSlotOptionalParams): Promise; + syncFunctions(resourceGroupName: string, name: string, options?: WebAppsSyncFunctionsOptionalParams): Promise; + syncFunctionsSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsSyncFunctionsSlotOptionalParams): Promise; + syncFunctionTriggers(resourceGroupName: string, name: string, options?: WebAppsSyncFunctionTriggersOptionalParams): Promise; + syncFunctionTriggersSlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsSyncFunctionTriggersSlotOptionalParams): Promise; + syncRepository(resourceGroupName: string, name: string, options?: WebAppsSyncRepositoryOptionalParams): Promise; + syncRepositorySlot(resourceGroupName: string, name: string, slot: string, options?: WebAppsSyncRepositorySlotOptionalParams): Promise; + update(resourceGroupName: string, name: string, siteEnvelope: SitePatchResource, options?: WebAppsUpdateOptionalParams): Promise; + updateApplicationSettings(resourceGroupName: string, name: string, appSettings: StringDictionary, options?: WebAppsUpdateApplicationSettingsOptionalParams): Promise; + updateApplicationSettingsSlot(resourceGroupName: string, name: string, slot: string, appSettings: StringDictionary, options?: WebAppsUpdateApplicationSettingsSlotOptionalParams): Promise; + updateAuthSettings(resourceGroupName: string, name: string, siteAuthSettings: SiteAuthSettings, options?: WebAppsUpdateAuthSettingsOptionalParams): Promise; + updateAuthSettingsSlot(resourceGroupName: string, name: string, slot: string, siteAuthSettings: SiteAuthSettings, options?: WebAppsUpdateAuthSettingsSlotOptionalParams): Promise; + updateAuthSettingsV2(resourceGroupName: string, name: string, siteAuthSettingsV2: SiteAuthSettingsV2, options?: WebAppsUpdateAuthSettingsV2OptionalParams): Promise; + updateAuthSettingsV2Slot(resourceGroupName: string, name: string, slot: string, siteAuthSettingsV2: SiteAuthSettingsV2, options?: WebAppsUpdateAuthSettingsV2SlotOptionalParams): Promise; + updateAzureStorageAccounts(resourceGroupName: string, name: string, azureStorageAccounts: AzureStoragePropertyDictionaryResource, options?: WebAppsUpdateAzureStorageAccountsOptionalParams): Promise; + updateAzureStorageAccountsSlot(resourceGroupName: string, name: string, slot: string, azureStorageAccounts: AzureStoragePropertyDictionaryResource, options?: WebAppsUpdateAzureStorageAccountsSlotOptionalParams): Promise; + updateBackupConfiguration(resourceGroupName: string, name: string, request: BackupRequest, options?: WebAppsUpdateBackupConfigurationOptionalParams): Promise; + updateBackupConfigurationSlot(resourceGroupName: string, name: string, slot: string, request: BackupRequest, options?: WebAppsUpdateBackupConfigurationSlotOptionalParams): Promise; + updateConfiguration(resourceGroupName: string, name: string, siteConfig: SiteConfigResource, options?: WebAppsUpdateConfigurationOptionalParams): Promise; + updateConfigurationSlot(resourceGroupName: string, name: string, slot: string, siteConfig: SiteConfigResource, options?: WebAppsUpdateConfigurationSlotOptionalParams): Promise; + updateConnectionStrings(resourceGroupName: string, name: string, connectionStrings: ConnectionStringDictionary, options?: WebAppsUpdateConnectionStringsOptionalParams): Promise; + updateConnectionStringsSlot(resourceGroupName: string, name: string, slot: string, connectionStrings: ConnectionStringDictionary, options?: WebAppsUpdateConnectionStringsSlotOptionalParams): Promise; + updateDiagnosticLogsConfig(resourceGroupName: string, name: string, siteLogsConfig: SiteLogsConfig, options?: WebAppsUpdateDiagnosticLogsConfigOptionalParams): Promise; + updateDiagnosticLogsConfigSlot(resourceGroupName: string, name: string, slot: string, siteLogsConfig: SiteLogsConfig, options?: WebAppsUpdateDiagnosticLogsConfigSlotOptionalParams): Promise; + updateDomainOwnershipIdentifier(resourceGroupName: string, name: string, domainOwnershipIdentifierName: string, domainOwnershipIdentifier: Identifier, options?: WebAppsUpdateDomainOwnershipIdentifierOptionalParams): Promise; + updateDomainOwnershipIdentifierSlot(resourceGroupName: string, name: string, domainOwnershipIdentifierName: string, slot: string, domainOwnershipIdentifier: Identifier, options?: WebAppsUpdateDomainOwnershipIdentifierSlotOptionalParams): Promise; + updateFtpAllowed(resourceGroupName: string, name: string, csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, options?: WebAppsUpdateFtpAllowedOptionalParams): Promise; + updateFtpAllowedSlot(resourceGroupName: string, name: string, slot: string, csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, options?: WebAppsUpdateFtpAllowedSlotOptionalParams): Promise; + updateHybridConnection(resourceGroupName: string, name: string, namespaceName: string, relayName: string, connectionEnvelope: HybridConnection, options?: WebAppsUpdateHybridConnectionOptionalParams): Promise; + updateHybridConnectionSlot(resourceGroupName: string, name: string, namespaceName: string, relayName: string, slot: string, connectionEnvelope: HybridConnection, options?: WebAppsUpdateHybridConnectionSlotOptionalParams): Promise; + updateMetadata(resourceGroupName: string, name: string, metadata: StringDictionary, options?: WebAppsUpdateMetadataOptionalParams): Promise; + updateMetadataSlot(resourceGroupName: string, name: string, slot: string, metadata: StringDictionary, options?: WebAppsUpdateMetadataSlotOptionalParams): Promise; + updatePremierAddOn(resourceGroupName: string, name: string, premierAddOnName: string, premierAddOn: PremierAddOnPatchResource, options?: WebAppsUpdatePremierAddOnOptionalParams): Promise; + updatePremierAddOnSlot(resourceGroupName: string, name: string, premierAddOnName: string, slot: string, premierAddOn: PremierAddOnPatchResource, options?: WebAppsUpdatePremierAddOnSlotOptionalParams): Promise; + updateRelayServiceConnection(resourceGroupName: string, name: string, entityName: string, connectionEnvelope: RelayServiceConnectionEntity, options?: WebAppsUpdateRelayServiceConnectionOptionalParams): Promise; + updateRelayServiceConnectionSlot(resourceGroupName: string, name: string, entityName: string, slot: string, connectionEnvelope: RelayServiceConnectionEntity, options?: WebAppsUpdateRelayServiceConnectionSlotOptionalParams): Promise; + updateScmAllowed(resourceGroupName: string, name: string, csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, options?: WebAppsUpdateScmAllowedOptionalParams): Promise; + updateScmAllowedSlot(resourceGroupName: string, name: string, slot: string, csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, options?: WebAppsUpdateScmAllowedSlotOptionalParams): Promise; + updateSitePushSettings(resourceGroupName: string, name: string, pushSettings: PushSettings, options?: WebAppsUpdateSitePushSettingsOptionalParams): Promise; + updateSitePushSettingsSlot(resourceGroupName: string, name: string, slot: string, pushSettings: PushSettings, options?: WebAppsUpdateSitePushSettingsSlotOptionalParams): Promise; + updateSlot(resourceGroupName: string, name: string, slot: string, siteEnvelope: SitePatchResource, options?: WebAppsUpdateSlotOptionalParams): Promise; + updateSlotConfigurationNames(resourceGroupName: string, name: string, slotConfigNames: SlotConfigNamesResource, options?: WebAppsUpdateSlotConfigurationNamesOptionalParams): Promise; + updateSourceControl(resourceGroupName: string, name: string, siteSourceControl: SiteSourceControl, options?: WebAppsUpdateSourceControlOptionalParams): Promise; + updateSourceControlSlot(resourceGroupName: string, name: string, slot: string, siteSourceControl: SiteSourceControl, options?: WebAppsUpdateSourceControlSlotOptionalParams): Promise; + updateSwiftVirtualNetworkConnectionWithCheck(resourceGroupName: string, name: string, connectionEnvelope: SwiftVirtualNetwork, options?: WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams): Promise; + updateSwiftVirtualNetworkConnectionWithCheckSlot(resourceGroupName: string, name: string, slot: string, connectionEnvelope: SwiftVirtualNetwork, options?: WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams): Promise; + updateVnetConnection(resourceGroupName: string, name: string, vnetName: string, connectionEnvelope: VnetInfoResource, options?: WebAppsUpdateVnetConnectionOptionalParams): Promise; + updateVnetConnectionGateway(resourceGroupName: string, name: string, vnetName: string, gatewayName: string, connectionEnvelope: VnetGateway, options?: WebAppsUpdateVnetConnectionGatewayOptionalParams): Promise; + updateVnetConnectionGatewaySlot(resourceGroupName: string, name: string, vnetName: string, gatewayName: string, slot: string, connectionEnvelope: VnetGateway, options?: WebAppsUpdateVnetConnectionGatewaySlotOptionalParams): Promise; + updateVnetConnectionSlot(resourceGroupName: string, name: string, vnetName: string, slot: string, connectionEnvelope: VnetInfoResource, options?: WebAppsUpdateVnetConnectionSlotOptionalParams): Promise; +} + +// @public +export interface WebAppsAddPremierAddOnOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsAddPremierAddOnResponse = PremierAddOn; + +// @public +export interface WebAppsAddPremierAddOnSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsAddPremierAddOnSlotResponse = PremierAddOn; + +// @public +export interface WebAppsAnalyzeCustomHostnameOptionalParams extends coreClient.OperationOptions { + hostName?: string; +} + +// @public +export type WebAppsAnalyzeCustomHostnameResponse = CustomHostnameAnalysisResult; + +// @public +export interface WebAppsAnalyzeCustomHostnameSlotOptionalParams extends coreClient.OperationOptions { + hostName?: string; +} + +// @public +export type WebAppsAnalyzeCustomHostnameSlotResponse = CustomHostnameAnalysisResult; + +// @public +export interface WebAppsApplySlotConfigToProductionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsApplySlotConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; + +// @public +export interface WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse = RemotePrivateEndpointConnectionARMResource; + +// @public +export interface WebAppsBackupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsBackupResponse = BackupItem; + +// @public +export interface WebAppsBackupSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsBackupSlotResponse = BackupItem; + +// @public +export interface WebAppsCreateDeploymentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateDeploymentResponse = Deployment; + +// @public +export interface WebAppsCreateDeploymentSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateDeploymentSlotResponse = Deployment; + +// @public +export interface WebAppsCreateFunctionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateFunctionResponse = FunctionEnvelope; + +// @public +export interface WebAppsCreateInstanceFunctionSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateInstanceFunctionSlotResponse = FunctionEnvelope; + +// @public +export interface WebAppsCreateInstanceMSDeployOperationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateInstanceMSDeployOperationResponse = MSDeployStatus; + +// @public +export interface WebAppsCreateInstanceMSDeployOperationSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateInstanceMSDeployOperationSlotResponse = MSDeployStatus; + +// @public +export interface WebAppsCreateMSDeployOperationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateMSDeployOperationResponse = MSDeployStatus; + +// @public +export interface WebAppsCreateMSDeployOperationSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateMSDeployOperationSlotResponse = MSDeployStatus; + +// @public +export interface WebAppsCreateOrUpdateConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateConfigurationResponse = SiteConfigResource; + +// @public +export interface WebAppsCreateOrUpdateConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateConfigurationSlotResponse = SiteConfigResource; + +// @public +export interface WebAppsCreateOrUpdateDomainOwnershipIdentifierOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateDomainOwnershipIdentifierResponse = Identifier; + +// @public +export interface WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotResponse = Identifier; + +// @public +export interface WebAppsCreateOrUpdateFunctionSecretOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateFunctionSecretResponse = KeyInfo; + +// @public +export interface WebAppsCreateOrUpdateFunctionSecretSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateFunctionSecretSlotResponse = KeyInfo; + +// @public +export interface WebAppsCreateOrUpdateHostNameBindingOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateHostNameBindingResponse = HostNameBinding; + +// @public +export interface WebAppsCreateOrUpdateHostNameBindingSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateHostNameBindingSlotResponse = HostNameBinding; + +// @public +export interface WebAppsCreateOrUpdateHostSecretOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateHostSecretResponse = KeyInfo; + +// @public +export interface WebAppsCreateOrUpdateHostSecretSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateHostSecretSlotResponse = KeyInfo; + +// @public +export interface WebAppsCreateOrUpdateHybridConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateHybridConnectionResponse = HybridConnection; + +// @public +export interface WebAppsCreateOrUpdateHybridConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateHybridConnectionSlotResponse = HybridConnection; + +// @public +export interface WebAppsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsCreateOrUpdatePublicCertificateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdatePublicCertificateResponse = PublicCertificate; + +// @public +export interface WebAppsCreateOrUpdatePublicCertificateSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdatePublicCertificateSlotResponse = PublicCertificate; + +// @public +export interface WebAppsCreateOrUpdateRelayServiceConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateRelayServiceConnectionResponse = RelayServiceConnectionEntity; + +// @public +export interface WebAppsCreateOrUpdateRelayServiceConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity; + +// @public +export type WebAppsCreateOrUpdateResponse = Site; + +// @public +export interface WebAppsCreateOrUpdateSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateOrUpdateSlotResponse = Site; + +// @public +export interface WebAppsCreateOrUpdateSourceControlOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateOrUpdateSourceControlResponse = SiteSourceControl; + +// @public +export interface WebAppsCreateOrUpdateSourceControlSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsCreateOrUpdateSourceControlSlotResponse = SiteSourceControl; + +// @public +export interface WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckResponse = SwiftVirtualNetwork; + +// @public +export interface WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse = SwiftVirtualNetwork; + +// @public +export interface WebAppsCreateOrUpdateVnetConnectionGatewayOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateVnetConnectionGatewayResponse = VnetGateway; + +// @public +export interface WebAppsCreateOrUpdateVnetConnectionGatewaySlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateVnetConnectionGatewaySlotResponse = VnetGateway; + +// @public +export interface WebAppsCreateOrUpdateVnetConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateVnetConnectionResponse = VnetInfoResource; + +// @public +export interface WebAppsCreateOrUpdateVnetConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsCreateOrUpdateVnetConnectionSlotResponse = VnetInfoResource; + +// @public +export interface WebAppsDeleteBackupConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteBackupConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteBackupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteBackupSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteContinuousWebJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteContinuousWebJobSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteDeploymentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteDeploymentSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteDomainOwnershipIdentifierOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteDomainOwnershipIdentifierSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteFunctionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteFunctionSecretOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteFunctionSecretSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteHostNameBindingOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteHostNameBindingSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteHostSecretOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteHostSecretSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteHybridConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteHybridConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteInstanceFunctionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteInstanceProcessOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteInstanceProcessSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteOptionalParams extends coreClient.OperationOptions { + deleteEmptyServerFarm?: boolean; + deleteMetrics?: boolean; +} + +// @public +export interface WebAppsDeletePremierAddOnOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeletePremierAddOnSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeletePrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsDeletePrivateEndpointConnectionResponse = Record; + +// @public +export interface WebAppsDeletePrivateEndpointConnectionSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsDeletePrivateEndpointConnectionSlotResponse = Record; + +// @public +export interface WebAppsDeleteProcessOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteProcessSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeletePublicCertificateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeletePublicCertificateSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteRelayServiceConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteRelayServiceConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteSiteExtensionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteSiteExtensionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteSlotOptionalParams extends coreClient.OperationOptions { + deleteEmptyServerFarm?: boolean; + deleteMetrics?: boolean; +} + +// @public +export interface WebAppsDeleteSourceControlOptionalParams extends coreClient.OperationOptions { + // (undocumented) + additionalFlags?: string; +} + +// @public +export interface WebAppsDeleteSourceControlSlotOptionalParams extends coreClient.OperationOptions { + // (undocumented) + additionalFlags?: string; +} + +// @public +export interface WebAppsDeleteSwiftVirtualNetworkOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteSwiftVirtualNetworkSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteTriggeredWebJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteTriggeredWebJobSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteVnetConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDeleteVnetConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsDiscoverBackupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsDiscoverBackupResponse = RestoreRequest; + +// @public +export interface WebAppsDiscoverBackupSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsDiscoverBackupSlotResponse = RestoreRequest; + +// @public +export interface WebAppsGenerateNewSitePublishingPasswordOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsGenerateNewSitePublishingPasswordSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsGetAppSettingKeyVaultReferenceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAppSettingKeyVaultReferenceResponse = ApiKVReference; + +// @public +export interface WebAppsGetAppSettingKeyVaultReferenceSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAppSettingKeyVaultReferenceSlotResponse = ApiKVReference; + +// @public +export interface WebAppsGetAppSettingsKeyVaultReferencesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAppSettingsKeyVaultReferencesNextResponse = ApiKVReferenceCollection; + +// @public +export interface WebAppsGetAppSettingsKeyVaultReferencesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAppSettingsKeyVaultReferencesResponse = ApiKVReferenceCollection; + +// @public +export interface WebAppsGetAppSettingsKeyVaultReferencesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAppSettingsKeyVaultReferencesSlotNextResponse = ApiKVReferenceCollection; + +// @public +export interface WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAppSettingsKeyVaultReferencesSlotResponse = ApiKVReferenceCollection; + +// @public +export interface WebAppsGetAuthSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAuthSettingsResponse = SiteAuthSettings; + +// @public +export interface WebAppsGetAuthSettingsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAuthSettingsSlotResponse = SiteAuthSettings; + +// @public +export interface WebAppsGetAuthSettingsV2OptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAuthSettingsV2Response = SiteAuthSettingsV2; + +// @public +export interface WebAppsGetAuthSettingsV2SlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetAuthSettingsV2SlotResponse = SiteAuthSettingsV2; + +// @public +export interface WebAppsGetBackupConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetBackupConfigurationResponse = BackupRequest; + +// @public +export interface WebAppsGetBackupConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetBackupConfigurationSlotResponse = BackupRequest; + +// @public +export interface WebAppsGetBackupStatusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetBackupStatusResponse = BackupItem; + +// @public +export interface WebAppsGetBackupStatusSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetBackupStatusSlotResponse = BackupItem; + +// @public +export interface WebAppsGetConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetConfigurationResponse = SiteConfigResource; + +// @public +export interface WebAppsGetConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetConfigurationSlotResponse = SiteConfigResource; + +// @public +export interface WebAppsGetConfigurationSnapshotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetConfigurationSnapshotResponse = SiteConfigResource; + +// @public +export interface WebAppsGetConfigurationSnapshotSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetConfigurationSnapshotSlotResponse = SiteConfigResource; + +// @public +export interface WebAppsGetContainerLogsZipOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetContainerLogsZipResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsGetContainerLogsZipSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetContainerLogsZipSlotResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsGetContinuousWebJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetContinuousWebJobResponse = ContinuousWebJob; + +// @public +export interface WebAppsGetContinuousWebJobSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetContinuousWebJobSlotResponse = ContinuousWebJob; + +// @public +export interface WebAppsGetDeploymentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetDeploymentResponse = Deployment; + +// @public +export interface WebAppsGetDeploymentSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetDeploymentSlotResponse = Deployment; + +// @public +export interface WebAppsGetDiagnosticLogsConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetDiagnosticLogsConfigurationResponse = SiteLogsConfig; + +// @public +export interface WebAppsGetDiagnosticLogsConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetDiagnosticLogsConfigurationSlotResponse = SiteLogsConfig; + +// @public +export interface WebAppsGetDomainOwnershipIdentifierOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetDomainOwnershipIdentifierResponse = Identifier; + +// @public +export interface WebAppsGetDomainOwnershipIdentifierSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetDomainOwnershipIdentifierSlotResponse = Identifier; + +// @public +export interface WebAppsGetFtpAllowedOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetFtpAllowedResponse = CsmPublishingCredentialsPoliciesEntity; + +// @public +export interface WebAppsGetFtpAllowedSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetFtpAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity; + +// @public +export interface WebAppsGetFunctionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetFunctionResponse = FunctionEnvelope; + +// @public +export interface WebAppsGetFunctionsAdminTokenOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetFunctionsAdminTokenResponse = { + body: string; +}; + +// @public +export interface WebAppsGetFunctionsAdminTokenSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetFunctionsAdminTokenSlotResponse = { + body: string; +}; + +// @public +export interface WebAppsGetHostNameBindingOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetHostNameBindingResponse = HostNameBinding; + +// @public +export interface WebAppsGetHostNameBindingSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetHostNameBindingSlotResponse = HostNameBinding; + +// @public +export interface WebAppsGetHybridConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetHybridConnectionResponse = HybridConnection; + +// @public +export interface WebAppsGetHybridConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetHybridConnectionSlotResponse = HybridConnection; + +// @public +export interface WebAppsGetInstanceFunctionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceFunctionSlotResponse = FunctionEnvelope; + +// @public +export interface WebAppsGetInstanceInfoOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceInfoResponse = WebSiteInstanceStatus; + +// @public +export interface WebAppsGetInstanceInfoSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceInfoSlotResponse = WebSiteInstanceStatus; + +// @public +export interface WebAppsGetInstanceMSDeployLogOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceMSDeployLogResponse = MSDeployLog; + +// @public +export interface WebAppsGetInstanceMSDeployLogSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceMSDeployLogSlotResponse = MSDeployLog; + +// @public +export interface WebAppsGetInstanceMsDeployStatusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceMsDeployStatusResponse = MSDeployStatus; + +// @public +export interface WebAppsGetInstanceMsDeployStatusSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceMsDeployStatusSlotResponse = MSDeployStatus; + +// @public +export interface WebAppsGetInstanceProcessDumpOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceProcessDumpResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsGetInstanceProcessDumpSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceProcessDumpSlotResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsGetInstanceProcessModuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceProcessModuleResponse = ProcessModuleInfo; + +// @public +export interface WebAppsGetInstanceProcessModuleSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceProcessModuleSlotResponse = ProcessModuleInfo; + +// @public +export interface WebAppsGetInstanceProcessOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceProcessResponse = ProcessInfo; + +// @public +export interface WebAppsGetInstanceProcessSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetInstanceProcessSlotResponse = ProcessInfo; + +// @public +export interface WebAppsGetMigrateMySqlStatusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetMigrateMySqlStatusResponse = MigrateMySqlStatus; + +// @public +export interface WebAppsGetMigrateMySqlStatusSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetMigrateMySqlStatusSlotResponse = MigrateMySqlStatus; + +// @public +export interface WebAppsGetMSDeployLogOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetMSDeployLogResponse = MSDeployLog; + +// @public +export interface WebAppsGetMSDeployLogSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetMSDeployLogSlotResponse = MSDeployLog; + +// @public +export interface WebAppsGetMSDeployStatusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetMSDeployStatusResponse = MSDeployStatus; + +// @public +export interface WebAppsGetMSDeployStatusSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetMSDeployStatusSlotResponse = MSDeployStatus; + +// @public +export interface WebAppsGetNetworkTraceOperationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetNetworkTraceOperationResponse = NetworkTrace[]; + +// @public +export interface WebAppsGetNetworkTraceOperationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetNetworkTraceOperationSlotResponse = NetworkTrace[]; + +// @public +export interface WebAppsGetNetworkTraceOperationSlotV2OptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetNetworkTraceOperationSlotV2Response = NetworkTrace[]; + +// @public +export interface WebAppsGetNetworkTraceOperationV2OptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetNetworkTraceOperationV2Response = NetworkTrace[]; + +// @public +export interface WebAppsGetNetworkTracesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetNetworkTracesResponse = NetworkTrace[]; + +// @public +export interface WebAppsGetNetworkTracesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetNetworkTracesSlotResponse = NetworkTrace[]; + +// @public +export interface WebAppsGetNetworkTracesSlotV2OptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetNetworkTracesSlotV2Response = NetworkTrace[]; + +// @public +export interface WebAppsGetNetworkTracesV2OptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetNetworkTracesV2Response = NetworkTrace[]; + +// @public +export interface WebAppsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsGetPremierAddOnOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPremierAddOnResponse = PremierAddOn; + +// @public +export interface WebAppsGetPremierAddOnSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPremierAddOnSlotResponse = PremierAddOn; + +// @public +export interface WebAppsGetPrivateAccessOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateAccessResponse = PrivateAccess; + +// @public +export interface WebAppsGetPrivateAccessSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateAccessSlotResponse = PrivateAccess; + +// @public +export interface WebAppsGetPrivateEndpointConnectionListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection; + +// @public +export interface WebAppsGetPrivateEndpointConnectionListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection; + +// @public +export interface WebAppsGetPrivateEndpointConnectionListSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateEndpointConnectionListSlotNextResponse = PrivateEndpointConnectionCollection; + +// @public +export interface WebAppsGetPrivateEndpointConnectionListSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateEndpointConnectionListSlotResponse = PrivateEndpointConnectionCollection; + +// @public +export interface WebAppsGetPrivateEndpointConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; + +// @public +export interface WebAppsGetPrivateEndpointConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateEndpointConnectionSlotResponse = RemotePrivateEndpointConnectionARMResource; + +// @public +export interface WebAppsGetPrivateLinkResourcesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper; + +// @public +export interface WebAppsGetPrivateLinkResourcesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPrivateLinkResourcesSlotResponse = PrivateLinkResourcesWrapper; + +// @public +export interface WebAppsGetProcessDumpOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetProcessDumpResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsGetProcessDumpSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetProcessDumpSlotResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsGetProcessModuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetProcessModuleResponse = ProcessModuleInfo; + +// @public +export interface WebAppsGetProcessModuleSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetProcessModuleSlotResponse = ProcessModuleInfo; + +// @public +export interface WebAppsGetProcessOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetProcessResponse = ProcessInfo; + +// @public +export interface WebAppsGetProcessSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetProcessSlotResponse = ProcessInfo; + +// @public +export interface WebAppsGetPublicCertificateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPublicCertificateResponse = PublicCertificate; + +// @public +export interface WebAppsGetPublicCertificateSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetPublicCertificateSlotResponse = PublicCertificate; + +// @public +export interface WebAppsGetRelayServiceConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetRelayServiceConnectionResponse = RelayServiceConnectionEntity; + +// @public +export interface WebAppsGetRelayServiceConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity; + +// @public +export type WebAppsGetResponse = Site; + +// @public +export interface WebAppsGetScmAllowedOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetScmAllowedResponse = CsmPublishingCredentialsPoliciesEntity; + +// @public +export interface WebAppsGetScmAllowedSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetScmAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity; + +// @public +export interface WebAppsGetSiteConnectionStringKeyVaultReferenceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSiteConnectionStringKeyVaultReferenceResponse = ApiKVReference; + +// @public +export interface WebAppsGetSiteConnectionStringKeyVaultReferenceSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSiteConnectionStringKeyVaultReferenceSlotResponse = ApiKVReference; + +// @public +export interface WebAppsGetSiteConnectionStringKeyVaultReferencesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSiteConnectionStringKeyVaultReferencesNextResponse = ApiKVReferenceCollection; + +// @public +export interface WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSiteConnectionStringKeyVaultReferencesResponse = ApiKVReferenceCollection; + +// @public +export interface WebAppsGetSiteConnectionStringKeyVaultReferencesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSiteConnectionStringKeyVaultReferencesSlotNextResponse = ApiKVReferenceCollection; + +// @public +export interface WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSiteConnectionStringKeyVaultReferencesSlotResponse = ApiKVReferenceCollection; + +// @public +export interface WebAppsGetSiteExtensionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSiteExtensionResponse = SiteExtensionInfo; + +// @public +export interface WebAppsGetSiteExtensionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSiteExtensionSlotResponse = SiteExtensionInfo; + +// @public +export interface WebAppsGetSitePhpErrorLogFlagOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSitePhpErrorLogFlagResponse = SitePhpErrorLogFlag; + +// @public +export interface WebAppsGetSitePhpErrorLogFlagSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSitePhpErrorLogFlagSlotResponse = SitePhpErrorLogFlag; + +// @public +export interface WebAppsGetSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSlotResponse = Site; + +// @public +export interface WebAppsGetSourceControlOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSourceControlResponse = SiteSourceControl; + +// @public +export interface WebAppsGetSourceControlSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSourceControlSlotResponse = SiteSourceControl; + +// @public +export interface WebAppsGetSwiftVirtualNetworkConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSwiftVirtualNetworkConnectionResponse = SwiftVirtualNetwork; + +// @public +export interface WebAppsGetSwiftVirtualNetworkConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetSwiftVirtualNetworkConnectionSlotResponse = SwiftVirtualNetwork; + +// @public +export interface WebAppsGetTriggeredWebJobHistoryOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetTriggeredWebJobHistoryResponse = TriggeredJobHistory; + +// @public +export interface WebAppsGetTriggeredWebJobHistorySlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetTriggeredWebJobHistorySlotResponse = TriggeredJobHistory; + +// @public +export interface WebAppsGetTriggeredWebJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetTriggeredWebJobResponse = TriggeredWebJob; + +// @public +export interface WebAppsGetTriggeredWebJobSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetTriggeredWebJobSlotResponse = TriggeredWebJob; + +// @public +export interface WebAppsGetVnetConnectionGatewayOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetVnetConnectionGatewayResponse = VnetGateway; + +// @public +export interface WebAppsGetVnetConnectionGatewaySlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetVnetConnectionGatewaySlotResponse = VnetGateway; + +// @public +export interface WebAppsGetVnetConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetVnetConnectionResponse = VnetInfoResource; + +// @public +export interface WebAppsGetVnetConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetVnetConnectionSlotResponse = VnetInfoResource; + +// @public +export interface WebAppsGetWebJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetWebJobResponse = WebJob; + +// @public +export interface WebAppsGetWebJobSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetWebJobSlotResponse = WebJob; + +// @public +export interface WebAppsGetWebSiteContainerLogsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetWebSiteContainerLogsResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsGetWebSiteContainerLogsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsGetWebSiteContainerLogsSlotResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsInstallSiteExtensionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsInstallSiteExtensionResponse = SiteExtensionInfo; + +// @public +export interface WebAppsInstallSiteExtensionSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsInstallSiteExtensionSlotResponse = SiteExtensionInfo; + +// @public +export interface WebAppsIsCloneableOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsIsCloneableResponse = SiteCloneability; + +// @public +export interface WebAppsIsCloneableSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsIsCloneableSlotResponse = SiteCloneability; + +// @public +export interface WebAppsListApplicationSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListApplicationSettingsResponse = StringDictionary; + +// @public +export interface WebAppsListApplicationSettingsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListApplicationSettingsSlotResponse = StringDictionary; + +// @public +export interface WebAppsListAzureStorageAccountsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListAzureStorageAccountsResponse = AzureStoragePropertyDictionaryResource; + +// @public +export interface WebAppsListAzureStorageAccountsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListAzureStorageAccountsSlotResponse = AzureStoragePropertyDictionaryResource; + +// @public +export interface WebAppsListBackupsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBackupsNextResponse = BackupItemCollection; + +// @public +export interface WebAppsListBackupsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBackupsResponse = BackupItemCollection; + +// @public +export interface WebAppsListBackupsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBackupsSlotNextResponse = BackupItemCollection; + +// @public +export interface WebAppsListBackupsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBackupsSlotResponse = BackupItemCollection; + +// @public +export interface WebAppsListBackupStatusSecretsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBackupStatusSecretsResponse = BackupItem; + +// @public +export interface WebAppsListBackupStatusSecretsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBackupStatusSecretsSlotResponse = BackupItem; + +// @public +export interface WebAppsListBasicPublishingCredentialsPoliciesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBasicPublishingCredentialsPoliciesNextResponse = PublishingCredentialsPoliciesCollection; + +// @public +export interface WebAppsListBasicPublishingCredentialsPoliciesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBasicPublishingCredentialsPoliciesResponse = PublishingCredentialsPoliciesCollection; + +// @public +export interface WebAppsListBasicPublishingCredentialsPoliciesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBasicPublishingCredentialsPoliciesSlotNextResponse = PublishingCredentialsPoliciesCollection; + +// @public +export interface WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListBasicPublishingCredentialsPoliciesSlotResponse = PublishingCredentialsPoliciesCollection; + +// @public +export interface WebAppsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + includeSlots?: boolean; +} + +// @public +export type WebAppsListByResourceGroupNextResponse = WebAppCollection; + +// @public +export interface WebAppsListByResourceGroupOptionalParams extends coreClient.OperationOptions { + includeSlots?: boolean; +} + +// @public +export type WebAppsListByResourceGroupResponse = WebAppCollection; + +// @public +export interface WebAppsListConfigurationSnapshotInfoNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConfigurationSnapshotInfoNextResponse = SiteConfigurationSnapshotInfoCollection; + +// @public +export interface WebAppsListConfigurationSnapshotInfoOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConfigurationSnapshotInfoResponse = SiteConfigurationSnapshotInfoCollection; + +// @public +export interface WebAppsListConfigurationSnapshotInfoSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConfigurationSnapshotInfoSlotNextResponse = SiteConfigurationSnapshotInfoCollection; + +// @public +export interface WebAppsListConfigurationSnapshotInfoSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConfigurationSnapshotInfoSlotResponse = SiteConfigurationSnapshotInfoCollection; + +// @public +export interface WebAppsListConfigurationsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConfigurationsNextResponse = SiteConfigResourceCollection; + +// @public +export interface WebAppsListConfigurationsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConfigurationsResponse = SiteConfigResourceCollection; + +// @public +export interface WebAppsListConfigurationsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConfigurationsSlotNextResponse = SiteConfigResourceCollection; + +// @public +export interface WebAppsListConfigurationsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConfigurationsSlotResponse = SiteConfigResourceCollection; + +// @public +export interface WebAppsListConnectionStringsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConnectionStringsResponse = ConnectionStringDictionary; + +// @public +export interface WebAppsListConnectionStringsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListConnectionStringsSlotResponse = ConnectionStringDictionary; + +// @public +export interface WebAppsListContinuousWebJobsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListContinuousWebJobsNextResponse = ContinuousWebJobCollection; + +// @public +export interface WebAppsListContinuousWebJobsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListContinuousWebJobsResponse = ContinuousWebJobCollection; + +// @public +export interface WebAppsListContinuousWebJobsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListContinuousWebJobsSlotNextResponse = ContinuousWebJobCollection; + +// @public +export interface WebAppsListContinuousWebJobsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListContinuousWebJobsSlotResponse = ContinuousWebJobCollection; + +// @public +export interface WebAppsListDeploymentLogOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDeploymentLogResponse = Deployment; + +// @public +export interface WebAppsListDeploymentLogSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDeploymentLogSlotResponse = Deployment; + +// @public +export interface WebAppsListDeploymentsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDeploymentsNextResponse = DeploymentCollection; + +// @public +export interface WebAppsListDeploymentsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDeploymentsResponse = DeploymentCollection; + +// @public +export interface WebAppsListDeploymentsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDeploymentsSlotNextResponse = DeploymentCollection; + +// @public +export interface WebAppsListDeploymentsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDeploymentsSlotResponse = DeploymentCollection; + +// @public +export interface WebAppsListDomainOwnershipIdentifiersNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDomainOwnershipIdentifiersNextResponse = IdentifierCollection; + +// @public +export interface WebAppsListDomainOwnershipIdentifiersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDomainOwnershipIdentifiersResponse = IdentifierCollection; + +// @public +export interface WebAppsListDomainOwnershipIdentifiersSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDomainOwnershipIdentifiersSlotNextResponse = IdentifierCollection; + +// @public +export interface WebAppsListDomainOwnershipIdentifiersSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListDomainOwnershipIdentifiersSlotResponse = IdentifierCollection; + +// @public +export interface WebAppsListFunctionKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListFunctionKeysResponse = StringDictionary; + +// @public +export interface WebAppsListFunctionKeysSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListFunctionKeysSlotResponse = StringDictionary; + +// @public +export interface WebAppsListFunctionSecretsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListFunctionSecretsResponse = FunctionSecrets; + +// @public +export interface WebAppsListFunctionSecretsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListFunctionSecretsSlotResponse = FunctionSecrets; + +// @public +export interface WebAppsListFunctionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListFunctionsNextResponse = FunctionEnvelopeCollection; + +// @public +export interface WebAppsListFunctionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListFunctionsResponse = FunctionEnvelopeCollection; + +// @public +export interface WebAppsListHostKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListHostKeysResponse = HostKeys; + +// @public +export interface WebAppsListHostKeysSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListHostKeysSlotResponse = HostKeys; + +// @public +export interface WebAppsListHostNameBindingsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListHostNameBindingsNextResponse = HostNameBindingCollection; + +// @public +export interface WebAppsListHostNameBindingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListHostNameBindingsResponse = HostNameBindingCollection; + +// @public +export interface WebAppsListHostNameBindingsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListHostNameBindingsSlotNextResponse = HostNameBindingCollection; + +// @public +export interface WebAppsListHostNameBindingsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListHostNameBindingsSlotResponse = HostNameBindingCollection; + +// @public +export interface WebAppsListHybridConnectionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListHybridConnectionsResponse = HybridConnection; + +// @public +export interface WebAppsListHybridConnectionsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListHybridConnectionsSlotResponse = HybridConnection; + +// @public +export interface WebAppsListInstanceFunctionsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceFunctionsSlotNextResponse = FunctionEnvelopeCollection; + +// @public +export interface WebAppsListInstanceFunctionsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceFunctionsSlotResponse = FunctionEnvelopeCollection; + +// @public +export interface WebAppsListInstanceIdentifiersNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceIdentifiersNextResponse = WebAppInstanceStatusCollection; + +// @public +export interface WebAppsListInstanceIdentifiersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceIdentifiersResponse = WebAppInstanceStatusCollection; + +// @public +export interface WebAppsListInstanceIdentifiersSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceIdentifiersSlotNextResponse = WebAppInstanceStatusCollection; + +// @public +export interface WebAppsListInstanceIdentifiersSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceIdentifiersSlotResponse = WebAppInstanceStatusCollection; + +// @public +export interface WebAppsListInstanceProcessesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessesNextResponse = ProcessInfoCollection; + +// @public +export interface WebAppsListInstanceProcessesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessesResponse = ProcessInfoCollection; + +// @public +export interface WebAppsListInstanceProcessesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessesSlotNextResponse = ProcessInfoCollection; + +// @public +export interface WebAppsListInstanceProcessesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessesSlotResponse = ProcessInfoCollection; + +// @public +export interface WebAppsListInstanceProcessModulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessModulesNextResponse = ProcessModuleInfoCollection; + +// @public +export interface WebAppsListInstanceProcessModulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessModulesResponse = ProcessModuleInfoCollection; + +// @public +export interface WebAppsListInstanceProcessModulesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessModulesSlotNextResponse = ProcessModuleInfoCollection; + +// @public +export interface WebAppsListInstanceProcessModulesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessModulesSlotResponse = ProcessModuleInfoCollection; + +// @public +export interface WebAppsListInstanceProcessThreadsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessThreadsNextResponse = ProcessThreadInfoCollection; + +// @public +export interface WebAppsListInstanceProcessThreadsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessThreadsResponse = ProcessThreadInfoCollection; + +// @public +export interface WebAppsListInstanceProcessThreadsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessThreadsSlotNextResponse = ProcessThreadInfoCollection; + +// @public +export interface WebAppsListInstanceProcessThreadsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListInstanceProcessThreadsSlotResponse = ProcessThreadInfoCollection; + +// @public +export interface WebAppsListMetadataOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListMetadataResponse = StringDictionary; + +// @public +export interface WebAppsListMetadataSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListMetadataSlotResponse = StringDictionary; + +// @public +export interface WebAppsListNetworkFeaturesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListNetworkFeaturesResponse = NetworkFeatures; + +// @public +export interface WebAppsListNetworkFeaturesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListNetworkFeaturesSlotResponse = NetworkFeatures; + +// @public +export interface WebAppsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListNextResponse = WebAppCollection; + +// @public +export interface WebAppsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsListPerfMonCountersNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type WebAppsListPerfMonCountersNextResponse = PerfMonCounterCollection; + +// @public +export interface WebAppsListPerfMonCountersOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type WebAppsListPerfMonCountersResponse = PerfMonCounterCollection; + +// @public +export interface WebAppsListPerfMonCountersSlotNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type WebAppsListPerfMonCountersSlotNextResponse = PerfMonCounterCollection; + +// @public +export interface WebAppsListPerfMonCountersSlotOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type WebAppsListPerfMonCountersSlotResponse = PerfMonCounterCollection; + +// @public +export interface WebAppsListPremierAddOnsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListPremierAddOnsResponse = PremierAddOn; + +// @public +export interface WebAppsListPremierAddOnsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListPremierAddOnsSlotResponse = PremierAddOn; + +// @public +export interface WebAppsListProcessesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessesNextResponse = ProcessInfoCollection; + +// @public +export interface WebAppsListProcessesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessesResponse = ProcessInfoCollection; + +// @public +export interface WebAppsListProcessesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessesSlotNextResponse = ProcessInfoCollection; + +// @public +export interface WebAppsListProcessesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessesSlotResponse = ProcessInfoCollection; + +// @public +export interface WebAppsListProcessModulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessModulesNextResponse = ProcessModuleInfoCollection; + +// @public +export interface WebAppsListProcessModulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessModulesResponse = ProcessModuleInfoCollection; + +// @public +export interface WebAppsListProcessModulesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessModulesSlotNextResponse = ProcessModuleInfoCollection; + +// @public +export interface WebAppsListProcessModulesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessModulesSlotResponse = ProcessModuleInfoCollection; + +// @public +export interface WebAppsListProcessThreadsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessThreadsNextResponse = ProcessThreadInfoCollection; + +// @public +export interface WebAppsListProcessThreadsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessThreadsResponse = ProcessThreadInfoCollection; + +// @public +export interface WebAppsListProcessThreadsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessThreadsSlotNextResponse = ProcessThreadInfoCollection; + +// @public +export interface WebAppsListProcessThreadsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListProcessThreadsSlotResponse = ProcessThreadInfoCollection; + +// @public +export interface WebAppsListPublicCertificatesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListPublicCertificatesNextResponse = PublicCertificateCollection; + +// @public +export interface WebAppsListPublicCertificatesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListPublicCertificatesResponse = PublicCertificateCollection; + +// @public +export interface WebAppsListPublicCertificatesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListPublicCertificatesSlotNextResponse = PublicCertificateCollection; + +// @public +export interface WebAppsListPublicCertificatesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListPublicCertificatesSlotResponse = PublicCertificateCollection; + +// @public +export interface WebAppsListPublishingCredentialsOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsListPublishingCredentialsResponse = User; + +// @public +export interface WebAppsListPublishingCredentialsSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsListPublishingCredentialsSlotResponse = User; + +// @public +export interface WebAppsListPublishingProfileXmlWithSecretsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListPublishingProfileXmlWithSecretsResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsListPublishingProfileXmlWithSecretsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListPublishingProfileXmlWithSecretsSlotResponse = { + blobBody?: Promise; + readableStreamBody?: NodeJS.ReadableStream; +}; + +// @public +export interface WebAppsListRelayServiceConnectionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListRelayServiceConnectionsResponse = RelayServiceConnectionEntity; + +// @public +export interface WebAppsListRelayServiceConnectionsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListRelayServiceConnectionsSlotResponse = RelayServiceConnectionEntity; + +// @public +export type WebAppsListResponse = WebAppCollection; + +// @public +export interface WebAppsListSiteBackupsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSiteBackupsNextResponse = BackupItemCollection; + +// @public +export interface WebAppsListSiteBackupsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSiteBackupsResponse = BackupItemCollection; + +// @public +export interface WebAppsListSiteBackupsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSiteBackupsSlotNextResponse = BackupItemCollection; + +// @public +export interface WebAppsListSiteBackupsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSiteBackupsSlotResponse = BackupItemCollection; + +// @public +export interface WebAppsListSiteExtensionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSiteExtensionsNextResponse = SiteExtensionInfoCollection; + +// @public +export interface WebAppsListSiteExtensionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSiteExtensionsResponse = SiteExtensionInfoCollection; + +// @public +export interface WebAppsListSiteExtensionsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSiteExtensionsSlotNextResponse = SiteExtensionInfoCollection; + +// @public +export interface WebAppsListSiteExtensionsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSiteExtensionsSlotResponse = SiteExtensionInfoCollection; + +// @public +export interface WebAppsListSitePushSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSitePushSettingsResponse = PushSettings; + +// @public +export interface WebAppsListSitePushSettingsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSitePushSettingsSlotResponse = PushSettings; + +// @public +export interface WebAppsListSlotConfigurationNamesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSlotConfigurationNamesResponse = SlotConfigNamesResource; + +// @public +export interface WebAppsListSlotDifferencesFromProductionNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSlotDifferencesFromProductionNextResponse = SlotDifferenceCollection; + +// @public +export interface WebAppsListSlotDifferencesFromProductionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSlotDifferencesFromProductionResponse = SlotDifferenceCollection; + +// @public +export interface WebAppsListSlotDifferencesSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSlotDifferencesSlotNextResponse = SlotDifferenceCollection; + +// @public +export interface WebAppsListSlotDifferencesSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSlotDifferencesSlotResponse = SlotDifferenceCollection; + +// @public +export interface WebAppsListSlotsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSlotsNextResponse = WebAppCollection; + +// @public +export interface WebAppsListSlotsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSlotsResponse = WebAppCollection; + +// @public +export interface WebAppsListSnapshotsFromDRSecondaryNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSnapshotsFromDRSecondaryNextResponse = SnapshotCollection; + +// @public +export interface WebAppsListSnapshotsFromDRSecondaryOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSnapshotsFromDRSecondaryResponse = SnapshotCollection; + +// @public +export interface WebAppsListSnapshotsFromDRSecondarySlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSnapshotsFromDRSecondarySlotNextResponse = SnapshotCollection; + +// @public +export interface WebAppsListSnapshotsFromDRSecondarySlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSnapshotsFromDRSecondarySlotResponse = SnapshotCollection; + +// @public +export interface WebAppsListSnapshotsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSnapshotsNextResponse = SnapshotCollection; + +// @public +export interface WebAppsListSnapshotsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSnapshotsResponse = SnapshotCollection; + +// @public +export interface WebAppsListSnapshotsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSnapshotsSlotNextResponse = SnapshotCollection; + +// @public +export interface WebAppsListSnapshotsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSnapshotsSlotResponse = SnapshotCollection; + +// @public +export interface WebAppsListSyncFunctionTriggersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSyncFunctionTriggersResponse = FunctionSecrets; + +// @public +export interface WebAppsListSyncFunctionTriggersSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListSyncFunctionTriggersSlotResponse = FunctionSecrets; + +// @public +export interface WebAppsListSyncStatusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsListSyncStatusSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsListTriggeredWebJobHistoryNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListTriggeredWebJobHistoryNextResponse = TriggeredJobHistoryCollection; + +// @public +export interface WebAppsListTriggeredWebJobHistoryOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListTriggeredWebJobHistoryResponse = TriggeredJobHistoryCollection; + +// @public +export interface WebAppsListTriggeredWebJobHistorySlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListTriggeredWebJobHistorySlotNextResponse = TriggeredJobHistoryCollection; + +// @public +export interface WebAppsListTriggeredWebJobHistorySlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListTriggeredWebJobHistorySlotResponse = TriggeredJobHistoryCollection; + +// @public +export interface WebAppsListTriggeredWebJobsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListTriggeredWebJobsNextResponse = TriggeredWebJobCollection; + +// @public +export interface WebAppsListTriggeredWebJobsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListTriggeredWebJobsResponse = TriggeredWebJobCollection; + +// @public +export interface WebAppsListTriggeredWebJobsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListTriggeredWebJobsSlotNextResponse = TriggeredWebJobCollection; + +// @public +export interface WebAppsListTriggeredWebJobsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListTriggeredWebJobsSlotResponse = TriggeredWebJobCollection; + +// @public +export interface WebAppsListUsagesNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type WebAppsListUsagesNextResponse = CsmUsageQuotaCollection; + +// @public +export interface WebAppsListUsagesOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type WebAppsListUsagesResponse = CsmUsageQuotaCollection; + +// @public +export interface WebAppsListUsagesSlotNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type WebAppsListUsagesSlotNextResponse = CsmUsageQuotaCollection; + +// @public +export interface WebAppsListUsagesSlotOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type WebAppsListUsagesSlotResponse = CsmUsageQuotaCollection; + +// @public +export interface WebAppsListVnetConnectionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListVnetConnectionsResponse = VnetInfoResource[]; + +// @public +export interface WebAppsListVnetConnectionsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListVnetConnectionsSlotResponse = VnetInfoResource[]; + +// @public +export interface WebAppsListWebJobsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListWebJobsNextResponse = WebJobCollection; + +// @public +export interface WebAppsListWebJobsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListWebJobsResponse = WebJobCollection; + +// @public +export interface WebAppsListWebJobsSlotNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListWebJobsSlotNextResponse = WebJobCollection; + +// @public +export interface WebAppsListWebJobsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsListWebJobsSlotResponse = WebJobCollection; + +// @public +export interface WebAppsMigrateMySqlOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsMigrateMySqlResponse = Operation; + +// @public +export interface WebAppsMigrateStorageOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsMigrateStorageResponse = StorageMigrationResponse; + +// @public +export interface WebAppsPutPrivateAccessVnetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsPutPrivateAccessVnetResponse = PrivateAccess; + +// @public +export interface WebAppsPutPrivateAccessVnetSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsPutPrivateAccessVnetSlotResponse = PrivateAccess; + +// @public +export interface WebAppsRecoverSiteConfigurationSnapshotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsRecoverSiteConfigurationSnapshotSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsResetProductionSlotConfigOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsResetSlotConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsRestartOptionalParams extends coreClient.OperationOptions { + softRestart?: boolean; + synchronous?: boolean; +} + +// @public +export interface WebAppsRestartSlotOptionalParams extends coreClient.OperationOptions { + softRestart?: boolean; + synchronous?: boolean; +} + +// @public +export interface WebAppsRestoreFromBackupBlobOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsRestoreFromBackupBlobSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsRestoreFromDeletedAppOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsRestoreFromDeletedAppSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsRestoreOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsRestoreSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsRestoreSnapshotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsRestoreSnapshotSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsRunTriggeredWebJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsRunTriggeredWebJobSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStartContinuousWebJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStartContinuousWebJobSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStartNetworkTraceOptionalParams extends coreClient.OperationOptions { + durationInSeconds?: number; + maxFrameLength?: number; + resumeFrom?: string; + sasUrl?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsStartNetworkTraceResponse = NetworkTrace[]; + +// @public +export interface WebAppsStartNetworkTraceSlotOptionalParams extends coreClient.OperationOptions { + durationInSeconds?: number; + maxFrameLength?: number; + resumeFrom?: string; + sasUrl?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsStartNetworkTraceSlotResponse = NetworkTrace[]; + +// @public +export interface WebAppsStartOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStartSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStartWebSiteNetworkTraceOperationOptionalParams extends coreClient.OperationOptions { + durationInSeconds?: number; + maxFrameLength?: number; + resumeFrom?: string; + sasUrl?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsStartWebSiteNetworkTraceOperationResponse = NetworkTrace[]; + +// @public +export interface WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams extends coreClient.OperationOptions { + durationInSeconds?: number; + maxFrameLength?: number; + resumeFrom?: string; + sasUrl?: string; + updateIntervalInMs?: number; +} + +// @public +export type WebAppsStartWebSiteNetworkTraceOperationSlotResponse = NetworkTrace[]; + +// @public +export interface WebAppsStartWebSiteNetworkTraceOptionalParams extends coreClient.OperationOptions { + durationInSeconds?: number; + maxFrameLength?: number; + sasUrl?: string; +} + +// @public +export type WebAppsStartWebSiteNetworkTraceResponse = { + body: string; +}; + +// @public +export interface WebAppsStartWebSiteNetworkTraceSlotOptionalParams extends coreClient.OperationOptions { + durationInSeconds?: number; + maxFrameLength?: number; + sasUrl?: string; +} + +// @public +export type WebAppsStartWebSiteNetworkTraceSlotResponse = { + body: string; +}; + +// @public +export interface WebAppsStopContinuousWebJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStopContinuousWebJobSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStopNetworkTraceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStopNetworkTraceSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStopOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStopSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStopWebSiteNetworkTraceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsStopWebSiteNetworkTraceSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsSwapSlotOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsSwapSlotWithProductionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WebAppsSyncFunctionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsSyncFunctionsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsSyncFunctionTriggersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsSyncFunctionTriggersSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsSyncRepositoryOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsSyncRepositorySlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppStack = ProxyOnlyResource & { + readonly location?: string; + readonly displayText?: string; + readonly value?: string; + readonly majorVersions?: WebAppMajorVersion[]; + readonly preferredOs?: StackPreferredOs; +}; + +// @public +export interface WebAppStackCollection { + readonly nextLink?: string; + value: WebAppStack[]; +} + +// @public +export interface WebAppsUpdateApplicationSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateApplicationSettingsResponse = StringDictionary; + +// @public +export interface WebAppsUpdateApplicationSettingsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateApplicationSettingsSlotResponse = StringDictionary; + +// @public +export interface WebAppsUpdateAuthSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateAuthSettingsResponse = SiteAuthSettings; + +// @public +export interface WebAppsUpdateAuthSettingsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateAuthSettingsSlotResponse = SiteAuthSettings; + +// @public +export interface WebAppsUpdateAuthSettingsV2OptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateAuthSettingsV2Response = SiteAuthSettingsV2; + +// @public +export interface WebAppsUpdateAuthSettingsV2SlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateAuthSettingsV2SlotResponse = SiteAuthSettingsV2; + +// @public +export interface WebAppsUpdateAzureStorageAccountsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateAzureStorageAccountsResponse = AzureStoragePropertyDictionaryResource; + +// @public +export interface WebAppsUpdateAzureStorageAccountsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateAzureStorageAccountsSlotResponse = AzureStoragePropertyDictionaryResource; + +// @public +export interface WebAppsUpdateBackupConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateBackupConfigurationResponse = BackupRequest; + +// @public +export interface WebAppsUpdateBackupConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateBackupConfigurationSlotResponse = BackupRequest; + +// @public +export interface WebAppsUpdateConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateConfigurationResponse = SiteConfigResource; + +// @public +export interface WebAppsUpdateConfigurationSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateConfigurationSlotResponse = SiteConfigResource; + +// @public +export interface WebAppsUpdateConnectionStringsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateConnectionStringsResponse = ConnectionStringDictionary; + +// @public +export interface WebAppsUpdateConnectionStringsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateConnectionStringsSlotResponse = ConnectionStringDictionary; + +// @public +export interface WebAppsUpdateDiagnosticLogsConfigOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateDiagnosticLogsConfigResponse = SiteLogsConfig; + +// @public +export interface WebAppsUpdateDiagnosticLogsConfigSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateDiagnosticLogsConfigSlotResponse = SiteLogsConfig; + +// @public +export interface WebAppsUpdateDomainOwnershipIdentifierOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateDomainOwnershipIdentifierResponse = Identifier; + +// @public +export interface WebAppsUpdateDomainOwnershipIdentifierSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateDomainOwnershipIdentifierSlotResponse = Identifier; + +// @public +export interface WebAppsUpdateFtpAllowedOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateFtpAllowedResponse = CsmPublishingCredentialsPoliciesEntity; + +// @public +export interface WebAppsUpdateFtpAllowedSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateFtpAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity; + +// @public +export interface WebAppsUpdateHybridConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateHybridConnectionResponse = HybridConnection; + +// @public +export interface WebAppsUpdateHybridConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateHybridConnectionSlotResponse = HybridConnection; + +// @public +export interface WebAppsUpdateMetadataOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateMetadataResponse = StringDictionary; + +// @public +export interface WebAppsUpdateMetadataSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateMetadataSlotResponse = StringDictionary; + +// @public +export interface WebAppsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebAppsUpdatePremierAddOnOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdatePremierAddOnResponse = PremierAddOn; + +// @public +export interface WebAppsUpdatePremierAddOnSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdatePremierAddOnSlotResponse = PremierAddOn; + +// @public +export interface WebAppsUpdateRelayServiceConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateRelayServiceConnectionResponse = RelayServiceConnectionEntity; + +// @public +export interface WebAppsUpdateRelayServiceConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity; + +// @public +export type WebAppsUpdateResponse = Site; + +// @public +export interface WebAppsUpdateScmAllowedOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateScmAllowedResponse = CsmPublishingCredentialsPoliciesEntity; + +// @public +export interface WebAppsUpdateScmAllowedSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateScmAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity; + +// @public +export interface WebAppsUpdateSitePushSettingsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateSitePushSettingsResponse = PushSettings; + +// @public +export interface WebAppsUpdateSitePushSettingsSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateSitePushSettingsSlotResponse = PushSettings; + +// @public +export interface WebAppsUpdateSlotConfigurationNamesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateSlotConfigurationNamesResponse = SlotConfigNamesResource; + +// @public +export interface WebAppsUpdateSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateSlotResponse = Site; + +// @public +export interface WebAppsUpdateSourceControlOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateSourceControlResponse = SiteSourceControl; + +// @public +export interface WebAppsUpdateSourceControlSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateSourceControlSlotResponse = SiteSourceControl; + +// @public +export interface WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckResponse = SwiftVirtualNetwork; + +// @public +export interface WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse = SwiftVirtualNetwork; + +// @public +export interface WebAppsUpdateVnetConnectionGatewayOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateVnetConnectionGatewayResponse = VnetGateway; + +// @public +export interface WebAppsUpdateVnetConnectionGatewaySlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateVnetConnectionGatewaySlotResponse = VnetGateway; + +// @public +export interface WebAppsUpdateVnetConnectionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateVnetConnectionResponse = VnetInfoResource; + +// @public +export interface WebAppsUpdateVnetConnectionSlotOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebAppsUpdateVnetConnectionSlotResponse = VnetInfoResource; + +// @public +export type WebJob = ProxyOnlyResource & { + runCommand?: string; + url?: string; + extraInfoUrl?: string; + webJobType?: WebJobType; + error?: string; + usingSdk?: boolean; + settings?: { + [propertyName: string]: Record; + }; +}; + +// @public +export interface WebJobCollection { + readonly nextLink?: string; + value: WebJob[]; +} + +// @public +export type WebJobType = "Continuous" | "Triggered"; + +// @public (undocumented) +export type WebSiteInstanceStatus = ProxyOnlyResource & { + state?: SiteRuntimeState; + statusUrl?: string; + detectorUrl?: string; + consoleUrl?: string; + healthCheckUrl?: string; + containers?: { + [propertyName: string]: ContainerInfo; + }; +}; + +// @public (undocumented) +export class WebSiteManagementClient extends WebSiteManagementClientContext { + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: WebSiteManagementClientOptionalParams); + // (undocumented) + appServiceCertificateOrders: AppServiceCertificateOrders; + // (undocumented) + appServiceEnvironments: AppServiceEnvironments; + // (undocumented) + appServicePlans: AppServicePlans; + // (undocumented) + certificateOrdersDiagnostics: CertificateOrdersDiagnostics; + // (undocumented) + certificateRegistrationProvider: CertificateRegistrationProvider; + // (undocumented) + certificates: Certificates; + checkNameAvailability(name: string, typeParam: CheckNameResourceTypes, options?: WebSiteManagementClientCheckNameAvailabilityOptionalParams): Promise; + // (undocumented) + deletedWebApps: DeletedWebApps; + // (undocumented) + diagnostics: Diagnostics; + // (undocumented) + domainRegistrationProvider: DomainRegistrationProvider; + // (undocumented) + domains: Domains; + generateGithubAccessTokenForAppserviceCLIAsync(code: string, state: string, options?: WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncOptionalParams): Promise; + getPublishingUser(options?: WebSiteManagementClientGetPublishingUserOptionalParams): Promise; + getSourceControl(sourceControlType: string, options?: WebSiteManagementClientGetSourceControlOptionalParams): Promise; + getSubscriptionDeploymentLocations(options?: WebSiteManagementClientGetSubscriptionDeploymentLocationsOptionalParams): Promise; + // (undocumented) + global: Global; + // (undocumented) + kubeEnvironments: KubeEnvironments; + listBillingMeters(options?: WebSiteManagementClientListBillingMetersOptionalParams): PagedAsyncIterableIterator; + listGeoRegions(options?: WebSiteManagementClientListGeoRegionsOptionalParams): PagedAsyncIterableIterator; + listPremierAddOnOffers(options?: WebSiteManagementClientListPremierAddOnOffersOptionalParams): PagedAsyncIterableIterator; + listSiteIdentifiersAssignedToHostName(nameIdentifier: NameIdentifier, options?: WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams): PagedAsyncIterableIterator; + listSkus(options?: WebSiteManagementClientListSkusOptionalParams): Promise; + listSourceControls(options?: WebSiteManagementClientListSourceControlsOptionalParams): PagedAsyncIterableIterator; + move(resourceGroupName: string, moveResourceEnvelope: CsmMoveResourceEnvelope, options?: WebSiteManagementClientMoveOptionalParams): Promise; + // (undocumented) + provider: Provider; + // (undocumented) + recommendations: Recommendations; + // (undocumented) + resourceHealthMetadataOperations: ResourceHealthMetadataOperations; + // (undocumented) + staticSites: StaticSites; + // (undocumented) + topLevelDomains: TopLevelDomains; + updatePublishingUser(userDetails: User, options?: WebSiteManagementClientUpdatePublishingUserOptionalParams): Promise; + updateSourceControl(sourceControlType: string, requestMessage: SourceControl, options?: WebSiteManagementClientUpdateSourceControlOptionalParams): Promise; + validate(resourceGroupName: string, validateRequest: ValidateRequest, options?: WebSiteManagementClientValidateOptionalParams): Promise; + validateMove(resourceGroupName: string, moveResourceEnvelope: CsmMoveResourceEnvelope, options?: WebSiteManagementClientValidateMoveOptionalParams): Promise; + verifyHostingEnvironmentVnet(parameters: VnetParameters, options?: WebSiteManagementClientVerifyHostingEnvironmentVnetOptionalParams): Promise; + // (undocumented) + webApps: WebApps; +} + +// @public +export interface WebSiteManagementClientCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { + isFqdn?: boolean; +} + +// @public +export type WebSiteManagementClientCheckNameAvailabilityResponse = ResourceNameAvailability; + +// @public (undocumented) +export class WebSiteManagementClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: WebSiteManagementClientOptionalParams); + // (undocumented) + apiVersion: string; + // (undocumented) + subscriptionId: string; +} + +// @public +export interface WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncResponse = AppserviceGithubToken; + +// @public +export interface WebSiteManagementClientGetPublishingUserOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientGetPublishingUserResponse = User; + +// @public +export interface WebSiteManagementClientGetSourceControlOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientGetSourceControlResponse = SourceControl; + +// @public +export interface WebSiteManagementClientGetSubscriptionDeploymentLocationsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientGetSubscriptionDeploymentLocationsResponse = DeploymentLocations; + +// @public +export interface WebSiteManagementClientListBillingMetersNextOptionalParams extends coreClient.OperationOptions { + billingLocation?: string; + osType?: string; +} + +// @public +export type WebSiteManagementClientListBillingMetersNextResponse = BillingMeterCollection; + +// @public +export interface WebSiteManagementClientListBillingMetersOptionalParams extends coreClient.OperationOptions { + billingLocation?: string; + osType?: string; +} + +// @public +export type WebSiteManagementClientListBillingMetersResponse = BillingMeterCollection; + +// @public +export interface WebSiteManagementClientListGeoRegionsNextOptionalParams extends coreClient.OperationOptions { + linuxDynamicWorkersEnabled?: boolean; + linuxWorkersEnabled?: boolean; + sku?: SkuName; + xenonWorkersEnabled?: boolean; +} + +// @public +export type WebSiteManagementClientListGeoRegionsNextResponse = GeoRegionCollection; + +// @public +export interface WebSiteManagementClientListGeoRegionsOptionalParams extends coreClient.OperationOptions { + linuxDynamicWorkersEnabled?: boolean; + linuxWorkersEnabled?: boolean; + sku?: SkuName; + xenonWorkersEnabled?: boolean; +} + +// @public +export type WebSiteManagementClientListGeoRegionsResponse = GeoRegionCollection; + +// @public +export interface WebSiteManagementClientListPremierAddOnOffersNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientListPremierAddOnOffersNextResponse = PremierAddOnOfferCollection; + +// @public +export interface WebSiteManagementClientListPremierAddOnOffersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientListPremierAddOnOffersResponse = PremierAddOnOfferCollection; + +// @public +export interface WebSiteManagementClientListSiteIdentifiersAssignedToHostNameNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientListSiteIdentifiersAssignedToHostNameNextResponse = IdentifierCollection; + +// @public +export interface WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientListSiteIdentifiersAssignedToHostNameResponse = IdentifierCollection; + +// @public +export interface WebSiteManagementClientListSkusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientListSkusResponse = SkuInfos; + +// @public +export interface WebSiteManagementClientListSourceControlsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientListSourceControlsNextResponse = SourceControlCollection; + +// @public +export interface WebSiteManagementClientListSourceControlsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientListSourceControlsResponse = SourceControlCollection; + +// @public +export interface WebSiteManagementClientMoveOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebSiteManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export interface WebSiteManagementClientUpdatePublishingUserOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientUpdatePublishingUserResponse = User; + +// @public +export interface WebSiteManagementClientUpdateSourceControlOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientUpdateSourceControlResponse = SourceControl; + +// @public +export interface WebSiteManagementClientValidateMoveOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface WebSiteManagementClientValidateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientValidateResponse = ValidateResponse; + +// @public +export interface WebSiteManagementClientVerifyHostingEnvironmentVnetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WebSiteManagementClientVerifyHostingEnvironmentVnetResponse = VnetValidationFailureDetails; + +// @public +export interface WindowsJavaContainerSettings { + readonly endOfLifeDate?: Date; + readonly isAutoUpdate?: boolean; + readonly isDeprecated?: boolean; + readonly isEarlyAccess?: boolean; + readonly isHidden?: boolean; + readonly isPreview?: boolean; + readonly javaContainer?: string; + readonly javaContainerVersion?: string; +} + +// @public +export interface WorkerPoolCollection { + readonly nextLink?: string; + value: WorkerPoolResource[]; +} + +// @public +export type WorkerPoolResource = ProxyOnlyResource & { + sku?: SkuDescription; + workerSizeId?: number; + computeMode?: ComputeModeOptions; + workerSize?: string; + workerCount?: number; + readonly instanceNames?: string[]; +}; + +// @public +export type WorkerSizeOptions = "Small" | "Medium" | "Large" | "D1" | "D2" | "D3" | "SmallV3" | "MediumV3" | "LargeV3" | "NestedSmall" | "NestedSmallLinux" | "Default"; + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/appservice/arm-appservice/rollup.config.js b/sdk/appservice/arm-appservice/rollup.config.js index 6fb7635b5786..9be1955eb7f1 100644 --- a/sdk/appservice/arm-appservice/rollup.config.js +++ b/sdk/appservice/arm-appservice/rollup.config.js @@ -1,37 +1,188 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; -import sourcemaps from "rollup-plugin-sourcemaps"; - -/** - * @type {rollup.RollupFileOptions} - */ -const config = { - input: "./esm/webSiteManagementClient.js", - external: [ - "@azure/ms-rest-js", - "@azure/ms-rest-azure-js" - ], - output: { - file: "./dist/arm-appservice.js", - format: "umd", - name: "Azure.ArmAppservice", - sourcemap: true, - globals: { - "@azure/ms-rest-js": "msRest", - "@azure/ms-rest-azure-js": "msRestAzure" - }, - banner: `/* +/* * 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. - */` - }, - plugins: [ - nodeResolve({ mainFields: ['module', 'main'] }), - sourcemaps() - ] + */ + +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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler + +/** + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. + */ + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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 default config; +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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/appservice/arm-appservice/src/index.ts b/sdk/appservice/arm-appservice/src/index.ts new file mode 100644 index 000000000000..dda82fdc99a7 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { WebSiteManagementClient } from "./webSiteManagementClient"; +export { WebSiteManagementClientContext } from "./webSiteManagementClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/appservice/arm-appservice/src/lroImpl.ts b/sdk/appservice/arm-appservice/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/appservice/arm-appservice/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/appservice/arm-appservice/src/models/appServiceCertificateOrdersMappers.ts b/sdk/appservice/arm-appservice/src/models/appServiceCertificateOrdersMappers.ts deleted file mode 100644 index 29020bf9e1c4..000000000000 --- a/sdk/appservice/arm-appservice/src/models/appServiceCertificateOrdersMappers.ts +++ /dev/null @@ -1,290 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateCollection, - AppServiceCertificateOrder, - AppServiceCertificateOrderCollection, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameIdentifier, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSeal, - SiteSealRequest, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/appServiceEnvironmentsMappers.ts b/sdk/appservice/arm-appservice/src/models/appServiceEnvironmentsMappers.ts deleted file mode 100644 index 5bbdb779268f..000000000000 --- a/sdk/appservice/arm-appservice/src/models/appServiceEnvironmentsMappers.ts +++ /dev/null @@ -1,310 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentCollection, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanCollection, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CsmUsageQuota, - CsmUsageQuotaCollection, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - EndpointDependency, - EndpointDetail, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentDiagnostics, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - InboundEnvironmentEndpoint, - InboundEnvironmentEndpointCollection, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - LocalizableString, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - Operation, - OutboundEnvironmentEndpoint, - OutboundEnvironmentEndpointCollection, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateEndpointConnectionCollection, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkResourcesWrapper, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResourceMetricDefinitionCollection, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SkuInfo, - SkuInfoCollection, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StampCapacity, - StampCapacityCollection, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - UsageCollection, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppCollection, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolCollection, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/appServicePlansMappers.ts b/sdk/appservice/arm-appservice/src/models/appServicePlansMappers.ts deleted file mode 100644 index ca6d6d0f7094..000000000000 --- a/sdk/appservice/arm-appservice/src/models/appServicePlansMappers.ts +++ /dev/null @@ -1,292 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanCollection, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CsmUsageQuota, - CsmUsageQuotaCollection, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionCollection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - LocalizableString, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceCollection, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppCollection, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/certificateOrdersDiagnosticsMappers.ts b/sdk/appservice/arm-appservice/src/models/certificateOrdersDiagnosticsMappers.ts deleted file mode 100644 index fe063a06ddb0..000000000000 --- a/sdk/appservice/arm-appservice/src/models/certificateOrdersDiagnosticsMappers.ts +++ /dev/null @@ -1,286 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DetectorResponseCollection, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/certificateRegistrationProviderMappers.ts b/sdk/appservice/arm-appservice/src/models/certificateRegistrationProviderMappers.ts deleted file mode 100644 index c6c7950673c3..000000000000 --- a/sdk/appservice/arm-appservice/src/models/certificateRegistrationProviderMappers.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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 { - CsmOperationCollection, - CsmOperationDescription, - CsmOperationDescriptionProperties, - CsmOperationDisplay, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - Dimension, - LogSpecification, - MetricAvailability, - MetricSpecification, - ServiceSpecification -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/certificatesMappers.ts b/sdk/appservice/arm-appservice/src/models/certificatesMappers.ts deleted file mode 100644 index df688decc05f..000000000000 --- a/sdk/appservice/arm-appservice/src/models/certificatesMappers.ts +++ /dev/null @@ -1,286 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateCollection, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/deletedWebAppsMappers.ts b/sdk/appservice/arm-appservice/src/models/deletedWebAppsMappers.ts deleted file mode 100644 index 8924c4c0b6d6..000000000000 --- a/sdk/appservice/arm-appservice/src/models/deletedWebAppsMappers.ts +++ /dev/null @@ -1,286 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - DeletedWebAppCollection, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/diagnosticsMappers.ts b/sdk/appservice/arm-appservice/src/models/diagnosticsMappers.ts deleted file mode 100644 index fcb6f6246f15..000000000000 --- a/sdk/appservice/arm-appservice/src/models/diagnosticsMappers.ts +++ /dev/null @@ -1,289 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DetectorResponseCollection, - DiagnosticAnalysis, - DiagnosticAnalysisCollection, - DiagnosticCategory, - DiagnosticCategoryCollection, - DiagnosticData, - DiagnosticDetectorCollection, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/domainRegistrationProviderMappers.ts b/sdk/appservice/arm-appservice/src/models/domainRegistrationProviderMappers.ts deleted file mode 100644 index c6c7950673c3..000000000000 --- a/sdk/appservice/arm-appservice/src/models/domainRegistrationProviderMappers.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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 { - CsmOperationCollection, - CsmOperationDescription, - CsmOperationDescriptionProperties, - CsmOperationDisplay, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - Dimension, - LogSpecification, - MetricAvailability, - MetricSpecification, - ServiceSpecification -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/domainsMappers.ts b/sdk/appservice/arm-appservice/src/models/domainsMappers.ts deleted file mode 100644 index 7b9da321b0eb..000000000000 --- a/sdk/appservice/arm-appservice/src/models/domainsMappers.ts +++ /dev/null @@ -1,292 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainAvailabilityCheckResult, - DomainCollection, - DomainControlCenterSsoRequest, - DomainOwnershipIdentifier, - DomainOwnershipIdentifierCollection, - DomainPatchResource, - DomainPurchaseConsent, - DomainRecommendationSearchParameters, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameIdentifier, - NameIdentifierCollection, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/globalMappers.ts b/sdk/appservice/arm-appservice/src/models/globalMappers.ts deleted file mode 100644 index dfd70683e8aa..000000000000 --- a/sdk/appservice/arm-appservice/src/models/globalMappers.ts +++ /dev/null @@ -1,285 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/index.ts b/sdk/appservice/arm-appservice/src/models/index.ts index f926c99e1f32..5c213e6ca71b 100644 --- a/sdk/appservice/arm-appservice/src/models/index.ts +++ b/sdk/appservice/arm-appservice/src/models/index.ts @@ -6,144 +6,106 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export { BaseResource, CloudError }; - -/** - * Key Vault container for a certificate that is purchased through Azure. - */ -export interface AppServiceCertificate { - /** - * Key Vault resource Id. - */ - keyVaultId?: string; - /** - * Key Vault secret name. - */ - keyVaultSecretName?: string; +/** Collection of certificate orders. */ +export interface AppServiceCertificateOrderCollection { + /** Collection of resources. */ + value: AppServiceCertificateOrder[]; /** - * Status of the Key Vault secret. Possible values include: 'Initialized', - * 'WaitingOnCertificateOrder', 'Succeeded', 'CertificateOrderFailed', - * 'OperationNotPermittedOnKeyVault', 'AzureServiceUnauthorizedToAccessKeyVault', - * 'KeyVaultDoesNotExist', 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - * 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: KeyVaultSecretStatus; + readonly nextLink?: string; } -/** - * Azure resource. This resource is tracked in Azure Resource Manager - */ -export interface Resource extends BaseResource { +/** Azure resource. This resource is tracked in Azure Resource Manager */ +export interface Resource { /** * Resource Id. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * Resource Name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; - /** - * Kind of resource. - */ + /** Kind of resource. */ kind?: string; - /** - * Resource Location. - */ + /** Resource Location. */ location: string; /** * Resource type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** - * Resource tags. - */ + /** Resource tags. */ tags?: { [propertyName: string]: string }; } -/** - * Key Vault container ARM resource for a certificate that is purchased through Azure. - */ -export interface AppServiceCertificateResource extends Resource { - /** - * Key Vault resource Id. - */ +/** Key Vault container for a certificate that is purchased through Azure. */ +export interface AppServiceCertificate { + /** Key Vault resource Id. */ keyVaultId?: string; - /** - * Key Vault secret name. - */ + /** Key Vault secret name. */ keyVaultSecretName?: string; /** - * Status of the Key Vault secret. Possible values include: 'Initialized', - * 'WaitingOnCertificateOrder', 'Succeeded', 'CertificateOrderFailed', - * 'OperationNotPermittedOnKeyVault', 'AzureServiceUnauthorizedToAccessKeyVault', - * 'KeyVaultDoesNotExist', 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - * 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of the Key Vault secret. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: KeyVaultSecretStatus; } -/** - * SSL certificate details. - */ +/** SSL certificate details. */ export interface CertificateDetails { /** * Certificate Version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly version?: number; /** * Certificate Serial Number. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly serialNumber?: string; /** * Certificate Thumbprint. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly thumbprint?: string; /** * Certificate Subject. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly subject?: string; /** * Date Certificate is valid from. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly notBefore?: Date; /** * Date Certificate is valid to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly notAfter?: Date; /** * Certificate Signature algorithm. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly signatureAlgorithm?: string; /** * Certificate Issuer. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly issuer?: string; /** * Raw certificate data. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly rawData?: string; } -/** - * An interface representing CertificateOrderContact. - */ export interface CertificateOrderContact { email?: string; nameFirst?: string; @@ -151,2055 +113,4020 @@ export interface CertificateOrderContact { phone?: string; } -/** - * SSL certificate purchase order. - */ -export interface AppServiceCertificateOrder extends Resource { - /** - * State of the Key Vault secret. - */ - certificates?: { [propertyName: string]: AppServiceCertificate }; - /** - * Certificate distinguished name. - */ - distinguishedName?: string; - /** - * Domain verification token. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly domainVerificationToken?: string; - /** - * Duration in years (must be 1). Default value: 1. - */ - validityInYears?: number; - /** - * Certificate key size. Default value: 2048. - */ - keySize?: number; - /** - * Certificate product type. Possible values include: 'StandardDomainValidatedSsl', - * 'StandardDomainValidatedWildCardSsl' - */ - productType: CertificateProductType; - /** - * true if the certificate should be automatically renewed when it expires; - * otherwise, false. Default value: true. - */ - autoRenew?: boolean; - /** - * Status of certificate order. Possible values include: 'Succeeded', 'Failed', 'Canceled', - * 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: ProvisioningState; - /** - * Current order status. Possible values include: 'Pendingissuance', 'Issued', 'Revoked', - * 'Canceled', 'Denied', 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly status?: CertificateOrderStatus; - /** - * Signed certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly signedCertificate?: CertificateDetails; - /** - * Last CSR that was created for this order. - */ - csr?: string; - /** - * Intermediate certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly intermediate?: CertificateDetails; +/** App Service error response. */ +export interface DefaultErrorResponse { /** - * Root certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Error model. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly root?: CertificateDetails; + readonly error?: DefaultErrorResponseError; +} + +/** Error model. */ +export interface DefaultErrorResponseError { /** - * Current serial number of the certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Standardized string to programmatically identify the error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serialNumber?: string; + readonly code?: string; /** - * Certificate last issuance time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Detailed error description and debugging information. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastCertificateIssuanceTime?: Date; + readonly message?: string; /** - * Certificate expiration time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Detailed error description and debugging information. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly expirationTime?: Date; + readonly target?: string; + details?: DefaultErrorResponseErrorDetailsItem[]; /** - * true if private key is external; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * More information to debug error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isPrivateKeyExternal?: boolean; + readonly innererror?: string; +} + +/** Detailed errors. */ +export interface DefaultErrorResponseErrorDetailsItem { /** - * Reasons why App Service Certificate is not renewable at the current moment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Standardized string to programmatically identify the error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly appServiceCertificateNotRenewableReasons?: string[]; + readonly code?: string; /** - * Time stamp when the certificate would be auto renewed next - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Detailed error description and debugging information. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nextAutoRenewalTimeStamp?: Date; + readonly message?: string; /** - * Contact info - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Detailed error description and debugging information. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly contact?: CertificateOrderContact; + readonly target?: string; } -/** - * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. - */ -export interface ProxyOnlyResource extends BaseResource { +/** Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ +export interface ProxyOnlyResource { /** * Resource Id. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * Resource Name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; - /** - * Kind of resource. - */ + /** Kind of resource. */ kind?: string; /** * Resource type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; } -/** - * ARM resource for a certificate order that is purchased through Azure. - */ -export interface AppServiceCertificateOrderPatchResource extends ProxyOnlyResource { - /** - * State of the Key Vault secret. - */ - certificates?: { [propertyName: string]: AppServiceCertificate }; - /** - * Certificate distinguished name. - */ - distinguishedName?: string; - /** - * Domain verification token. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly domainVerificationToken?: string; - /** - * Duration in years (must be 1). Default value: 1. - */ - validityInYears?: number; - /** - * Certificate key size. Default value: 2048. - */ - keySize?: number; - /** - * Certificate product type. Possible values include: 'StandardDomainValidatedSsl', - * 'StandardDomainValidatedWildCardSsl' - */ - productType: CertificateProductType; - /** - * true if the certificate should be automatically renewed when it expires; - * otherwise, false. Default value: true. - */ - autoRenew?: boolean; - /** - * Status of certificate order. Possible values include: 'Succeeded', 'Failed', 'Canceled', - * 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: ProvisioningState; - /** - * Current order status. Possible values include: 'Pendingissuance', 'Issued', 'Revoked', - * 'Canceled', 'Denied', 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly status?: CertificateOrderStatus; +/** Collection of certificate order certificates. */ +export interface AppServiceCertificateCollection { + /** Collection of resources. */ + value: AppServiceCertificateResource[]; /** - * Signed certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly signedCertificate?: CertificateDetails; + readonly nextLink?: string; +} + +/** Identifies an object. */ +export interface NameIdentifier { + /** Name of the object. */ + name?: string; +} + +/** Site seal request. */ +export interface SiteSealRequest { + /** If true use the light color theme for site seal; otherwise, use the default color theme. */ + lightTheme?: boolean; + /** Locale of site seal. */ + locale?: string; +} + +/** Site seal */ +export interface SiteSeal { + /** HTML snippet */ + html: string; +} + +/** Collection of detector responses */ +export interface DetectorResponseCollection { + /** Collection of resources. */ + value: DetectorResponse[]; /** - * Last CSR that was created for this order. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - csr?: string; + readonly nextLink?: string; +} + +/** Definition of Detector */ +export interface DetectorInfo { /** - * Intermediate certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Id of detector + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly intermediate?: CertificateDetails; + readonly id?: string; /** - * Root certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Name of detector + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly root?: CertificateDetails; + readonly name?: string; /** - * Current serial number of the certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Short description of the detector and its purpose. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serialNumber?: string; + readonly description?: string; /** - * Certificate last issuance time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Author of the detector. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastCertificateIssuanceTime?: Date; + readonly author?: string; /** - * Certificate expiration time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Problem category. This serves for organizing group for detectors. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly expirationTime?: Date; + readonly category?: string; /** - * true if private key is external; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of Support Topics for which this detector is enabled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isPrivateKeyExternal?: boolean; + readonly supportTopicList?: SupportTopic[]; /** - * Reasons why App Service Certificate is not renewable at the current moment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Analysis Types for which this detector should apply to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly appServiceCertificateNotRenewableReasons?: string[]; + readonly analysisType?: string[]; /** - * Time stamp when the certificate would be auto renewed next - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether this detector is an Analysis Detector or not. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nextAutoRenewalTimeStamp?: Date; + readonly type?: DetectorType; /** - * Contact info - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Defines score of a detector to power ML based matching. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly contact?: CertificateOrderContact; + readonly score?: number; } -/** - * Key Vault container ARM resource for a certificate that is purchased through Azure. - */ -export interface AppServiceCertificatePatchResource extends ProxyOnlyResource { - /** - * Key Vault resource Id. - */ - keyVaultId?: string; +/** Defines a unique Support Topic */ +export interface SupportTopic { /** - * Key Vault secret name. + * Support Topic Id + * NOTE: This property will not be serialized. It can only be populated by the server. */ - keyVaultSecretName?: string; + readonly id?: string; /** - * Status of the Key Vault secret. Possible values include: 'Initialized', - * 'WaitingOnCertificateOrder', 'Succeeded', 'CertificateOrderFailed', - * 'OperationNotPermittedOnKeyVault', 'AzureServiceUnauthorizedToAccessKeyVault', - * 'KeyVaultDoesNotExist', 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - * 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Unique resource Id + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: KeyVaultSecretStatus; + readonly pesId?: string; } -/** - * SSL certificate email. - */ -export interface CertificateEmail extends ProxyOnlyResource { +/** Set of data with rendering instructions */ +export interface DiagnosticData { + /** Data in table form */ + table?: DataTableResponseObject; + /** Properties that describe how the table should be rendered */ + renderingProperties?: Rendering; +} + +/** Data Table which defines columns and raw row values */ +export interface DataTableResponseObject { + /** Name of the table */ + tableName?: string; + /** List of columns with data types */ + columns?: DataTableResponseColumn[]; + /** Raw row values */ + rows?: string[][]; +} + +/** Column definition */ +export interface DataTableResponseColumn { + /** Name of the column */ + columnName?: string; + /** Data type which looks like 'String' or 'Int32'. */ + dataType?: string; + /** Column Type */ + columnType?: string; +} + +/** Instructions for rendering the data */ +export interface Rendering { + /** Rendering Type */ + type?: RenderingType; + /** Title of data */ + title?: string; + /** Description of the data that will help it be interpreted */ + description?: string; +} + +/** Identify the status of the most severe insight generated by the detector. */ +export interface Status { + /** Descriptive message. */ + message?: string; + /** Level of the most severe insight generated by the detector. */ + statusId?: InsightStatus; +} + +/** Additional configuration for a data providers */ +export interface DataProviderMetadata { + providerName?: string; /** - * Email id. + * Settings for the data provider + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailId?: string; + readonly propertyBag?: KeyValuePairStringObject[]; +} + +export interface KeyValuePairStringObject { + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly key?: string; /** - * Time stamp. + * Any object + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timeStamp?: Date; + readonly value?: Record; } -/** - * Certificate order action. - */ -export interface CertificateOrderAction extends ProxyOnlyResource { - /** - * Action type. Possible values include: 'CertificateIssued', 'CertificateOrderCanceled', - * 'CertificateOrderCreated', 'CertificateRevoked', 'DomainValidationComplete', 'FraudDetected', - * 'OrgNameChange', 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', - * 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly actionType?: CertificateOrderActionType; +/** Suggested utterances where the detector can be applicable */ +export interface QueryUtterancesResults { + /** Search Query. */ + query?: string; + /** Array of utterance results for search query. */ + results?: QueryUtterancesResult[]; +} + +/** Result for utterances query. */ +export interface QueryUtterancesResult { + /** A sample utterance. */ + sampleUtterance?: SampleUtterance; + /** Score of a sample utterance. */ + score?: number; +} + +/** Sample utterance. */ +export interface SampleUtterance { + /** Text attribute of sample utterance. */ + text?: string; + /** Links attribute of sample utterance. */ + links?: string[]; + /** Question id of sample utterance (for stackoverflow questions titles). */ + qid?: string; +} + +/** Collection of Azure resource manager operation metadata. */ +export interface CsmOperationCollection { + /** Collection of resources. */ + value: CsmOperationDescription[]; /** - * Time at which the certificate action was performed. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdAt?: Date; + readonly nextLink?: string; +} + +/** Description of an operation available for Microsoft.Web resource provider. */ +export interface CsmOperationDescription { + name?: string; + isDataAction?: boolean; + /** Meta data about operation used for display in portal. */ + display?: CsmOperationDisplay; + origin?: string; + /** Properties available for a Microsoft.Web resource provider operation. */ + properties?: CsmOperationDescriptionProperties; +} + +/** Meta data about operation used for display in portal. */ +export interface CsmOperationDisplay { + provider?: string; + resource?: string; + operation?: string; + description?: string; +} + +/** Properties available for a Microsoft.Web resource provider operation. */ +export interface CsmOperationDescriptionProperties { + /** Resource metrics service provided by Microsoft.Insights resource provider. */ + serviceSpecification?: ServiceSpecification; +} + +/** Resource metrics service provided by Microsoft.Insights resource provider. */ +export interface ServiceSpecification { + metricSpecifications?: MetricSpecification[]; + logSpecifications?: LogSpecification[]; +} + +/** Definition of a single resource metric. */ +export interface MetricSpecification { + name?: string; + displayName?: string; + displayDescription?: string; + unit?: string; + aggregationType?: string; + supportsInstanceLevelAggregation?: boolean; + enableRegionalMdmAccount?: boolean; + sourceMdmAccount?: string; + sourceMdmNamespace?: string; + metricFilterPattern?: string; + fillGapWithZero?: boolean; + isInternal?: boolean; + dimensions?: Dimension[]; + category?: string; + availabilities?: MetricAvailability[]; + supportedTimeGrainTypes?: string[]; + supportedAggregationTypes?: string[]; } /** - * Class representing certificate reissue request. + * Dimension of a resource metric. For e.g. instance specific HTTP requests for a web app, + * where instance name is dimension of the metric HTTP request */ -export interface ReissueCertificateOrderRequest extends ProxyOnlyResource { - /** - * Certificate Key Size. - */ - keySize?: number; - /** - * Delay in hours to revoke existing certificate after the new certificate is issued. - */ - delayExistingRevokeInHours?: number; - /** - * Csr to be used for re-key operation. - */ - csr?: string; +export interface Dimension { + name?: string; + displayName?: string; + internalName?: string; + toBeExportedForShoebox?: boolean; +} + +/** Retention policy of a resource metric. */ +export interface MetricAvailability { + timeGrain?: string; + blobDuration?: string; +} + +/** Log Definition of a single resource metric. */ +export interface LogSpecification { + name?: string; + displayName?: string; + blobDuration?: string; + logFilterPattern?: string; +} + +/** Domain availability check result. */ +export interface DomainAvailabilityCheckResult { + /** Name of the domain. */ + name?: string; + /** true if domain can be purchased using CreateDomain API; otherwise, false. */ + available?: boolean; + /** Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. */ + domainType?: DomainType; +} + +/** Collection of domains. */ +export interface DomainCollection { + /** Collection of resources. */ + value: Domain[]; /** - * Should we change the ASC type (from managed private key to external private key and vice - * versa). + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isPrivateKeyExternal?: boolean; + readonly nextLink?: string; } /** - * Class representing certificate renew request. + * Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois + * directories as per ICANN requirements. */ -export interface RenewCertificateOrderRequest extends ProxyOnlyResource { +export interface Contact { + /** Mailing address. */ + addressMailing?: Address; + /** Email address. */ + email: string; + /** Fax number. */ + fax?: string; + /** Job title. */ + jobTitle?: string; + /** First name. */ + nameFirst: string; + /** Last name. */ + nameLast: string; + /** Middle name. */ + nameMiddle?: string; + /** Organization contact belongs to. */ + organization?: string; + /** Phone number. */ + phone: string; +} + +/** Address information for domain registration. */ +export interface Address { + /** First line of an Address. */ + address1: string; + /** The second line of the Address. Optional. */ + address2?: string; + /** The city for the address. */ + city: string; + /** The country for the address. */ + country: string; + /** The postal code for the address. */ + postalCode: string; + /** The state or province for the address. */ + state: string; +} + +/** Details of a hostname derived from a domain. */ +export interface HostName { + /** Name of the hostname. */ + name?: string; + /** List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager. */ + siteNames?: string[]; + /** Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name. */ + azureResourceName?: string; + /** Type of the Azure resource the hostname is assigned to. */ + azureResourceType?: AzureResourceType; + /** Type of the DNS record. */ + customHostNameDnsRecordType?: CustomHostNameDnsRecordType; + /** Type of the hostname. */ + hostNameType?: HostNameType; +} + +/** Domain purchase consent object, representing acceptance of applicable legal agreements. */ +export interface DomainPurchaseConsent { + /** List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under TopLevelDomain resource. */ + agreementKeys?: string[]; + /** Client IP address. */ + agreedBy?: string; + /** Timestamp when the agreements were accepted. */ + agreedAt?: Date; +} + +/** Single sign-on request information for domain management. */ +export interface DomainControlCenterSsoRequest { /** - * Certificate Key Size. + * URL where the single sign-on request is to be made. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - keySize?: number; + readonly url?: string; /** - * Csr to be used for re-key operation. + * Post parameter key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - csr?: string; + readonly postParameterKey?: string; /** - * Should we change the ASC type (from managed private key to external private key and vice - * versa). + * Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isPrivateKeyExternal?: boolean; + readonly postParameterValue?: string; } -/** - * Site seal - */ -export interface SiteSeal { - /** - * HTML snippet - */ - html: string; +/** Domain recommendation search parameters. */ +export interface DomainRecommendationSearchParameters { + /** Keywords to be used for generating domain recommendations. */ + keywords?: string; + /** Maximum number of recommendations. */ + maxDomainRecommendations?: number; } -/** - * Site seal request. - */ -export interface SiteSealRequest { +/** Collection of domain name identifiers. */ +export interface NameIdentifierCollection { + /** Collection of resources. */ + value: NameIdentifier[]; /** - * If true use the light color theme for site seal; otherwise, use the default color - * theme. - */ - lightTheme?: boolean; - /** - * Locale of site seal. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - locale?: string; + readonly nextLink?: string; } -/** - * Virtual Network route contract used to pass routing information for a Virtual Network. - */ -export interface VnetRoute extends ProxyOnlyResource { +/** Collection of domain ownership identifiers. */ +export interface DomainOwnershipIdentifierCollection { + /** Collection of resources. */ + value: DomainOwnershipIdentifier[]; /** - * The starting address for this route. This may also include a CIDR notation, in which case the - * end address must not be specified. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - startAddress?: string; + readonly nextLink?: string; +} + +/** Collection of Top-level domains. */ +export interface TopLevelDomainCollection { + /** Collection of resources. */ + value: TopLevelDomain[]; /** - * The ending address for this route. If the start address is specified in CIDR notation, this - * must be omitted. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endAddress?: string; + readonly nextLink?: string; +} + +/** Options for retrieving the list of top level domain legal agreements. */ +export interface TopLevelDomainAgreementOption { + /** If true, then the list of agreements will include agreements for domain privacy as well; otherwise, false. */ + includePrivacy?: boolean; + /** If true, then the list of agreements will include agreements for domain transfer as well; otherwise, false. */ + forTransfer?: boolean; +} + +/** Collection of top-level domain legal agreements. */ +export interface TldLegalAgreementCollection { + /** Collection of resources. */ + value: TldLegalAgreement[]; /** - * The type of route this is: - * DEFAULT - By default, every app has routes to the local address ranges specified by RFC1918 - * INHERITED - Routes inherited from the real Virtual Network routes - * STATIC - Static route set on the app only - * - * These values will be used for syncing an app's routes with those from a Virtual Network. - * Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - routeType?: RouteType; + readonly nextLink?: string; } -/** - * Virtual Network information contract. - */ -export interface VnetInfo extends ProxyOnlyResource { +/** Legal agreement for a top level domain. */ +export interface TldLegalAgreement { + /** Unique identifier for the agreement. */ + agreementKey: string; + /** Agreement title. */ + title: string; + /** Agreement details. */ + content: string; + /** URL where a copy of the agreement details is hosted. */ + url?: string; +} + +/** Collection of App Service Environments. */ +export interface AppServiceEnvironmentCollection { + /** Collection of resources. */ + value: AppServiceEnvironmentResource[]; /** - * The Virtual Network's resource ID. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - vnetResourceId?: string; + readonly nextLink?: string; +} + +/** Description of an App Service Environment. */ +export interface AppServiceEnvironment { /** - * The client certificate thumbprint. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Provisioning state of the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly certThumbprint?: string; + readonly provisioningState?: ProvisioningState; /** - * A certificate file (.cer) blob containing the public key of the private key used to - * authenticate a - * Point-To-Site VPN connection. + * Current status of the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - certBlob?: string; + readonly status?: HostingEnvironmentStatus; + /** Description of the Virtual Network. */ + virtualNetwork: VirtualNetworkProfile; + /** Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. */ + internalLoadBalancingMode?: LoadBalancingMode; + /** Front-end VM size, e.g. "Medium", "Large". */ + multiSize?: string; /** - * The routes that this Virtual Network connection uses. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Number of front-end instances. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly routes?: VnetRoute[]; + readonly multiRoleCount?: number; + /** Number of IP SSL addresses reserved for the App Service Environment. */ + ipsslAddressCount?: number; + /** DNS suffix of the App Service Environment. */ + dnsSuffix?: string; /** - * true if a resync is required; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Maximum number of VMs in the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resyncRequired?: boolean; + readonly maximumNumberOfMachines?: number; + /** Scale factor for front-ends. */ + frontEndScaleFactor?: number; /** - * DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP - * addresses. + * true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available + * (most likely because NSG blocked the incoming traffic). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dnsServers?: string; + readonly suspended?: boolean; + /** Custom settings for changing the behavior of the App Service Environment. */ + clusterSettings?: NameValuePair[]; + /** User added ip ranges to whitelist on ASE db */ + userWhitelistedIpRanges?: string[]; /** - * Flag that is used to denote if this is VNET injection + * Flag that displays whether an ASE has linux workers or not + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isSwift?: boolean; + readonly hasLinuxWorkers?: boolean; + /** Dedicated Host Count */ + dedicatedHostCount?: number; + /** Whether or not this App Service Environment is zone-redundant. */ + zoneRedundant?: boolean; } -/** - * The Virtual Network gateway contract. This is used to give the Virtual Network gateway access to - * the VPN package. - */ -export interface VnetGateway extends ProxyOnlyResource { +/** Specification for using a Virtual Network. */ +export interface VirtualNetworkProfile { + /** Resource id of the Virtual Network. */ + id: string; /** - * The Virtual Network name. + * Name of the Virtual Network (read-only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - vnetName?: string; + readonly name?: string; /** - * The URI where the VPN package can be downloaded. + * Resource type of the Virtual Network (read-only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - vpnPackageUri: string; + readonly type?: string; + /** Subnet within the Virtual Network. */ + subnet?: string; } -/** - * User credentials used for publishing activity. - */ -export interface User extends ProxyOnlyResource { +/** Name value pair. */ +export interface NameValuePair { + /** Pair name. */ + name?: string; + /** Pair value. */ + value?: string; +} + +/** Collection of stamp capacities. */ +export interface StampCapacityCollection { + /** Collection of resources. */ + value: StampCapacity[]; /** - * Username used for publishing. - */ - publishingUserName: string; - /** - * Password used for publishing. - */ - publishingPassword?: string; - /** - * Password hash used for publishing. - */ - publishingPasswordHash?: string; - /** - * Password hash salt used for publishing. - */ - publishingPasswordHashSalt?: string; - /** - * Url of SCM site. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - scmUri?: string; + readonly nextLink?: string; } -/** - * String dictionary resource. - */ -export interface StringDictionary extends ProxyOnlyResource { +/** Stamp capacity information. */ +export interface StampCapacity { + /** Name of the stamp. */ + name?: string; + /** Available capacity (# of machines, bytes of storage etc...). */ + availableCapacity?: number; + /** Total capacity (# of machines, bytes of storage etc...). */ + totalCapacity?: number; + /** Name of the unit. */ + unit?: string; + /** Shared/dedicated workers. */ + computeMode?: ComputeModeOptions; + /** Size of the machines. */ + workerSize?: WorkerSizeOptions; /** - * Settings. + * Size ID of machines: + * 0 - Small + * 1 - Medium + * 2 - Large */ - properties?: { [propertyName: string]: string }; -} - -/** - * A snapshot of an app. - */ -export interface Snapshot extends ProxyOnlyResource { + workerSizeId?: number; /** - * The time the snapshot was taken. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * If true, it includes basic apps. + * Basic apps are not used for capacity allocation. */ - readonly time?: string; + excludeFromCapacityAllocation?: boolean; + /** true if capacity is applicable for all apps; otherwise, false. */ + isApplicableForAllComputeModes?: boolean; + /** Shared or Dedicated. */ + siteMode?: string; + /** Is this a linux stamp capacity */ + isLinux?: boolean; } -/** - * The state of a private link connection - */ -export interface PrivateLinkConnectionState { - /** - * Status of a private link connection - */ - status?: string; - /** - * Description of a private link connection - */ - description?: string; - /** - * ActionsRequired for a private link connection - */ - actionsRequired?: string; +/** Virtual IP mapping. */ +export interface VirtualIPMapping { + /** Virtual IP address. */ + virtualIP?: string; + /** Internal HTTP port. */ + internalHttpPort?: number; + /** Internal HTTPS port. */ + internalHttpsPort?: number; + /** Is virtual IP mapping in use. */ + inUse?: boolean; + /** name of the service that virtual IP is assigned to */ + serviceName?: string; } -/** - * A wrapper for an ARM resource id - */ -export interface ArmIdWrapper { +/** Collection of App Service apps. */ +export interface WebAppCollection { + /** Collection of resources. */ + value: Site[]; /** - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly nextLink?: string; } -/** - * Remote Private Endpoint Connection ARM resource. - */ -export interface RemotePrivateEndpointConnectionARMResource extends ProxyOnlyResource { - /** - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: string; - /** - * PrivateEndpoint of a remote private endpoint connection - */ - privateEndpoint?: ArmIdWrapper; - privateLinkServiceConnectionState?: PrivateLinkConnectionState; - /** - * Private IPAddresses mapped to the remote private endpoint - */ - ipAddresses?: string[]; +/** SSL-enabled hostname. */ +export interface HostNameSslState { + /** Hostname. */ + name?: string; + /** SSL type. */ + sslState?: SslState; + /** Virtual IP address assigned to the hostname if IP based SSL is enabled. */ + virtualIP?: string; + /** SSL certificate thumbprint. */ + thumbprint?: string; + /** Set to true to update existing hostname. */ + toUpdate?: boolean; + /** Indicates whether the hostname is a standard or repository hostname. */ + hostType?: HostType; } -/** - * Push settings for the App. - */ -export interface PushSettings extends ProxyOnlyResource { +/** Configuration of an App Service app. */ +export interface SiteConfig { + /** Number of workers. */ + numberOfWorkers?: number; + /** Default documents. */ + defaultDocuments?: string[]; + /** .NET Framework version. */ + netFrameworkVersion?: string; + /** Version of PHP. */ + phpVersion?: string; + /** Version of Python. */ + pythonVersion?: string; + /** Version of Node.js. */ + nodeVersion?: string; + /** Version of PowerShell. */ + powerShellVersion?: string; + /** Linux App Framework and version */ + linuxFxVersion?: string; + /** Xenon App Framework and version */ + windowsFxVersion?: string; + /** true if request tracing is enabled; otherwise, false. */ + requestTracingEnabled?: boolean; + /** Request tracing expiration time. */ + requestTracingExpirationTime?: Date; + /** true if remote debugging is enabled; otherwise, false. */ + remoteDebuggingEnabled?: boolean; + /** Remote debugging version. */ + remoteDebuggingVersion?: string; + /** true if HTTP logging is enabled; otherwise, false. */ + httpLoggingEnabled?: boolean; + /** Flag to use Managed Identity Creds for ACR pull */ + acrUseManagedIdentityCreds?: boolean; + /** If using user managed identity, the user managed identity ClientId */ + acrUserManagedIdentityID?: string; + /** HTTP logs directory size limit. */ + logsDirectorySizeLimit?: number; + /** true if detailed error logging is enabled; otherwise, false. */ + detailedErrorLoggingEnabled?: boolean; + /** Publishing user name. */ + publishingUsername?: string; + /** Application settings. */ + appSettings?: NameValuePair[]; + /** Connection strings. */ + connectionStrings?: ConnStringInfo[]; + /** + * Site MachineKey. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly machineKey?: SiteMachineKey; + /** Handler mappings. */ + handlerMappings?: HandlerMapping[]; + /** Document root. */ + documentRoot?: string; + /** SCM type. */ + scmType?: ScmType; + /** true to use 32-bit worker process; otherwise, false. */ + use32BitWorkerProcess?: boolean; + /** true if WebSocket is enabled; otherwise, false. */ + webSocketsEnabled?: boolean; + /** true if Always On is enabled; otherwise, false. */ + alwaysOn?: boolean; + /** Java version. */ + javaVersion?: string; + /** Java container. */ + javaContainer?: string; + /** Java container version. */ + javaContainerVersion?: string; + /** App command line to launch. */ + appCommandLine?: string; + /** Managed pipeline mode. */ + managedPipelineMode?: ManagedPipelineMode; + /** Virtual applications. */ + virtualApplications?: VirtualApplication[]; + /** Site load balancing. */ + loadBalancing?: SiteLoadBalancing; + /** This is work around for polymorphic types. */ + experiments?: Experiments; + /** Site limits. */ + limits?: SiteLimits; + /** true if Auto Heal is enabled; otherwise, false. */ + autoHealEnabled?: boolean; + /** Auto Heal rules. */ + autoHealRules?: AutoHealRules; + /** Tracing options. */ + tracingOptions?: string; + /** Virtual Network name. */ + vnetName?: string; + /** Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. */ + vnetRouteAllEnabled?: boolean; + /** The number of private ports assigned to this app. These will be assigned dynamically on runtime. */ + vnetPrivatePortsCount?: number; + /** Cross-Origin Resource Sharing (CORS) settings. */ + cors?: CorsSettings; + /** Push endpoint settings. */ + push?: PushSettings; + /** Information about the formal API definition for the app. */ + apiDefinition?: ApiDefinitionInfo; + /** Azure API management settings linked to the app. */ + apiManagementConfig?: ApiManagementConfig; + /** Auto-swap slot name. */ + autoSwapSlotName?: string; + /** true to enable local MySQL; otherwise, false. */ + localMySqlEnabled?: boolean; + /** Managed Service Identity Id */ + managedServiceIdentityId?: number; + /** Explicit Managed Service Identity Id */ + xManagedServiceIdentityId?: number; + /** Identity to use for Key Vault Reference authentication. */ + keyVaultReferenceIdentity?: string; + /** IP security restrictions for main. */ + ipSecurityRestrictions?: IpSecurityRestriction[]; + /** IP security restrictions for scm. */ + scmIpSecurityRestrictions?: IpSecurityRestriction[]; + /** IP security restrictions for scm to use main. */ + scmIpSecurityRestrictionsUseMain?: boolean; + /** Http20Enabled: configures a web site to allow clients to connect over http2.0 */ + http20Enabled?: boolean; + /** MinTlsVersion: configures the minimum version of TLS required for SSL requests */ + minTlsVersion?: SupportedTlsVersions; + /** ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site */ + scmMinTlsVersion?: SupportedTlsVersions; + /** State of FTP / FTPS service */ + ftpsState?: FtpsState; /** - * Gets or sets a flag indicating whether the Push endpoint is enabled. + * Number of preWarmed instances. + * This setting only applies to the Consumption and Elastic Plans */ - isPushEnabled: boolean; + preWarmedInstanceCount?: number; /** - * Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push - * registration endpoint. + * Maximum number of workers that a site can scale out to. + * This setting only applies to the Consumption and Elastic Premium Plans */ - tagWhitelistJson?: string; + functionAppScaleLimit?: number; + /** Health check path */ + healthCheckPath?: string; /** - * Gets or sets a JSON string containing a list of tags that require user authentication to be - * used in the push registration endpoint. - * Tags can consist of alphanumeric characters and the following: - * '_', '@', '#', '.', ':', '-'. - * Validation should be performed at the PushRequestHandler. + * Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When enabled, + * the ScaleController will not monitor event sources directly, but will instead call to the + * runtime to get scale status. */ - tagsRequiringAuth?: string; + functionsRuntimeScaleMonitoringEnabled?: boolean; + /** Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones */ + websiteTimeZone?: string; /** - * Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user - * claims in the push registration endpoint. + * Number of minimum instance count for a site + * This setting only applies to the Elastic Plans */ - dynamicTagsJson?: string; + minimumElasticInstanceCount?: number; + /** List of Azure Storage Accounts. */ + azureStorageAccounts?: { [propertyName: string]: AzureStorageInfoValue }; + /** Property to allow or block all public traffic. */ + publicNetworkAccess?: string; } -/** - * Private Endpoint Connection Approval ARM resource. - */ -export interface PrivateLinkConnectionApprovalRequestResource extends ProxyOnlyResource { - privateLinkServiceConnectionState?: PrivateLinkConnectionState; +/** Database connection string information. */ +export interface ConnStringInfo { + /** Name of connection string. */ + name?: string; + /** Connection string value. */ + connectionString?: string; + /** Type of database. */ + type?: ConnectionStringType; } -/** - * A domain specific resource identifier. - */ -export interface Identifier extends ProxyOnlyResource { - /** - * String representation of the identity. - */ - value?: string; +/** MachineKey of an app. */ +export interface SiteMachineKey { + /** MachineKey validation. */ + validation?: string; + /** Validation key. */ + validationKey?: string; + /** Algorithm used for decryption. */ + decryption?: string; + /** Decryption key. */ + decryptionKey?: string; } /** - * Hybrid Connection contract. This is used to configure a Hybrid Connection. + * The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + * For example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. */ -export interface HybridConnection extends ProxyOnlyResource { - /** - * The name of the Service Bus namespace. - */ - serviceBusNamespace?: string; - /** - * The name of the Service Bus relay. - */ - relayName?: string; - /** - * The ARM URI to the Service Bus relay. - */ - relayArmUri?: string; - /** - * The hostname of the endpoint. - */ - hostname?: string; - /** - * The port of the endpoint. - */ - port?: number; - /** - * The name of the Service Bus key which has Send permissions. This is used to authenticate to - * Service Bus. - */ - sendKeyName?: string; - /** - * The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key - * will not be returned - * normally, use the POST /listKeys API instead. - */ - sendKeyValue?: string; - /** - * The suffix for the service bus endpoint. By default this is .servicebus.windows.net - */ - serviceBusSuffix?: string; +export interface HandlerMapping { + /** Requests with this extension will be handled using the specified FastCGI application. */ + extension?: string; + /** The absolute path to the FastCGI application. */ + scriptProcessor?: string; + /** Command-line arguments to be passed to the script processor. */ + arguments?: string; } -/** - * Sample utterance. - */ -export interface SampleUtterance { - /** - * Text attribute of sample utterance. - */ - text?: string; - /** - * Links attribute of sample utterance. - */ - links?: string[]; - /** - * Question id of sample utterance (for stackoverflow questions titles). - */ - qid?: string; +/** Virtual application in an app. */ +export interface VirtualApplication { + /** Virtual path. */ + virtualPath?: string; + /** Physical path. */ + physicalPath?: string; + /** true if preloading is enabled; otherwise, false. */ + preloadEnabled?: boolean; + /** Virtual directories for virtual application. */ + virtualDirectories?: VirtualDirectory[]; } -/** - * Result for utterances query. - */ -export interface QueryUtterancesResult { - /** - * A sample utterance. - */ - sampleUtterance?: SampleUtterance; - /** - * Score of a sample utterance. - */ - score?: number; +/** Directory for virtual application. */ +export interface VirtualDirectory { + /** Path to virtual application. */ + virtualPath?: string; + /** Physical path. */ + physicalPath?: string; } -/** - * Suggested utterances where the detector can be applicable - */ -export interface QueryUtterancesResults { +/** Routing rules in production experiments. */ +export interface Experiments { + /** List of ramp-up rules. */ + rampUpRules?: RampUpRule[]; +} + +/** Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change routing % based on performance. */ +export interface RampUpRule { + /** Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net. */ + actionHostName?: string; + /** Percentage of the traffic which will be redirected to ActionHostName. */ + reroutePercentage?: number; /** - * Search Query. + * In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches \nMinReroutePercentage or + * MaxReroutePercentage. Site metrics are checked every N minutes specified in ChangeIntervalInMinutes.\nCustom decision algorithm + * can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl. */ - query?: string; + changeStep?: number; + /** Specifies interval in minutes to reevaluate ReroutePercentage. */ + changeIntervalInMinutes?: number; + /** Specifies lower boundary above which ReroutePercentage will stay. */ + minReroutePercentage?: number; + /** Specifies upper boundary below which ReroutePercentage will stay. */ + maxReroutePercentage?: number; /** - * Array of utterance results for search query. + * Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts. + * https://www.siteextensions.net/packages/TiPCallback/ */ - results?: QueryUtterancesResult[]; + changeDecisionCallbackUrl?: string; + /** Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment. */ + name?: string; } -/** - * An interface representing KeyValuePairStringObject. - */ -export interface KeyValuePairStringObject { - /** - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly key?: string; - /** - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly value?: any; +/** Metric limits set on an app. */ +export interface SiteLimits { + /** Maximum allowed CPU usage percentage. */ + maxPercentageCpu?: number; + /** Maximum allowed memory usage in MB. */ + maxMemoryInMb?: number; + /** Maximum allowed disk size usage in MB. */ + maxDiskSizeInMb?: number; } -/** - * Additional configuration for a data providers - */ -export interface DataProviderMetadata { - providerName?: string; - /** - * Settings for the data provider - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly propertyBag?: KeyValuePairStringObject[]; +/** Rules that can be defined for auto-heal. */ +export interface AutoHealRules { + /** Conditions that describe when to execute the auto-heal actions. */ + triggers?: AutoHealTriggers; + /** Actions to be executed when a rule is triggered. */ + actions?: AutoHealActions; } -/** - * Identify the status of the most severe insight generated by the detector. - */ -export interface Status { - /** - * Descriptive message. - */ - message?: string; - /** - * Level of the most severe insight generated by the detector. Possible values include: - * 'Critical', 'Warning', 'Info', 'Success', 'None' - */ - statusId?: InsightStatus; +/** Triggers for auto-heal. */ +export interface AutoHealTriggers { + /** A rule based on total requests. */ + requests?: RequestsBasedTrigger; + /** A rule based on private bytes. */ + privateBytesInKB?: number; + /** A rule based on status codes. */ + statusCodes?: StatusCodesBasedTrigger[]; + /** A rule based on request execution time. */ + slowRequests?: SlowRequestsBasedTrigger; + /** A rule based on multiple Slow Requests Rule with path */ + slowRequestsWithPath?: SlowRequestsBasedTrigger[]; + /** A rule based on status codes ranges. */ + statusCodesRange?: StatusCodesRangeBasedTrigger[]; } -/** - * Instructions for rendering the data - */ -export interface Rendering { - /** - * Rendering Type. Possible values include: 'NoGraph', 'Table', 'TimeSeries', - * 'TimeSeriesPerInstance', 'PieChart', 'DataSummary', 'Email', 'Insights', 'DynamicInsight', - * 'Markdown', 'Detector', 'DropDown', 'Card', 'Solution', 'Guage', 'Form', 'ChangeSets', - * 'ChangeAnalysisOnboarding', 'ChangesView', 'AppInsight', 'DependencyGraph', 'DownTime', - * 'SummaryCard', 'SearchComponent', 'AppInsightEnablement' - */ - type?: RenderingType; - /** - * Title of data - */ - title?: string; - /** - * Description of the data that will help it be interpreted - */ - description?: string; +/** Trigger based on total requests. */ +export interface RequestsBasedTrigger { + /** Request Count. */ + count?: number; + /** Time interval. */ + timeInterval?: string; } -/** - * Column definition - */ -export interface DataTableResponseColumn { - /** - * Name of the column - */ - columnName?: string; - /** - * Data type which looks like 'String' or 'Int32'. - */ - dataType?: string; +/** Trigger based on status code. */ +export interface StatusCodesBasedTrigger { + /** HTTP status code. */ + status?: number; + /** Request Sub Status. */ + subStatus?: number; + /** Win32 error code. */ + win32Status?: number; + /** Request Count. */ + count?: number; + /** Time interval. */ + timeInterval?: string; + /** Request Path */ + path?: string; +} + +/** Trigger based on request execution time. */ +export interface SlowRequestsBasedTrigger { + /** Time taken. */ + timeTaken?: string; + /** Request Path. */ + path?: string; + /** Request Count. */ + count?: number; + /** Time interval. */ + timeInterval?: string; +} + +/** Trigger based on range of status codes. */ +export interface StatusCodesRangeBasedTrigger { + /** HTTP status code. */ + statusCodes?: string; + path?: string; + /** Request Count. */ + count?: number; + /** Time interval. */ + timeInterval?: string; +} + +/** Actions which to take by the auto-heal module when a rule is triggered. */ +export interface AutoHealActions { + /** Predefined action to be taken. */ + actionType?: AutoHealActionType; + /** Custom action to be taken. */ + customAction?: AutoHealCustomAction; /** - * Column Type + * Minimum time the process must execute + * before taking the action */ - columnType?: string; + minProcessExecutionTime?: string; } /** - * Data Table which defines columns and raw row values + * Custom action to be executed + * when an auto heal rule is triggered. */ -export interface DataTableResponseObject { - /** - * Name of the table - */ - tableName?: string; +export interface AutoHealCustomAction { + /** Executable to be run. */ + exe?: string; + /** Parameters for the executable. */ + parameters?: string; +} + +/** Cross-Origin Resource Sharing (CORS) settings for the app. */ +export interface CorsSettings { /** - * List of columns with data types + * Gets or sets the list of origins that should be allowed to make cross-origin + * calls (for example: http://example.com:12345). Use "*" to allow all. */ - columns?: DataTableResponseColumn[]; + allowedOrigins?: string[]; /** - * Raw row values + * Gets or sets whether CORS requests with credentials are allowed. See + * https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + * for more details. */ - rows?: string[][]; + supportCredentials?: boolean; } -/** - * Set of data with rendering instructions - */ -export interface DiagnosticData { +/** Information about the formal API definition for the app. */ +export interface ApiDefinitionInfo { + /** The URL of the API definition. */ + url?: string; +} + +/** Azure API management (APIM) configuration linked to the app. */ +export interface ApiManagementConfig { + /** APIM-Api Identifier. */ + id?: string; +} + +/** IP security restriction on an app. */ +export interface IpSecurityRestriction { /** - * Data in table form + * IP address the security restriction is valid for. + * It can be in form of pure ipv4 address (required SubnetMask property) or + * CIDR notation such as ipv4/mask (leading bit match). For CIDR, + * SubnetMask property must not be specified. */ - table?: DataTableResponseObject; + ipAddress?: string; + /** Subnet mask for the range of IP addresses the restriction is valid for. */ + subnetMask?: string; + /** Virtual network resource id */ + vnetSubnetResourceId?: string; + /** (internal) Vnet traffic tag */ + vnetTrafficTag?: number; + /** (internal) Subnet traffic tag */ + subnetTrafficTag?: number; + /** Allow or Deny access for this IP range. */ + action?: string; + /** Defines what this IP filter will be used for. This is to support IP filtering on proxies. */ + tag?: IpFilterTag; + /** Priority of IP restriction rule. */ + priority?: number; + /** IP restriction rule name. */ + name?: string; + /** IP restriction rule description. */ + description?: string; /** - * Properties that describe how the table should be rendered + * IP restriction rule headers. + * X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + * The matching logic is .. + * - If the property is null or empty (default), all hosts(or lack of) are allowed. + * - A value is compared using ordinal-ignore-case (excluding port number). + * - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain foo.contoso.com + * but not the root domain contoso.com or multi-level foo.bar.contoso.com + * - Unicode host names are allowed but are converted to Punycode for matching. + * + * X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + * The matching logic is .. + * - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + * - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + * + * X-Azure-FDID and X-FD-HealthProbe. + * The matching logic is exact match. */ - renderingProperties?: Rendering; + headers?: { [propertyName: string]: string[] }; } -/** - * Defines a unique Support Topic - */ -export interface SupportTopic { - /** - * Support Topic Id - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly id?: string; +/** Azure Files or Blob Storage access information value for dictionary storage. */ +export interface AzureStorageInfoValue { + /** Type of storage. */ + type?: AzureStorageType; + /** Name of the storage account. */ + accountName?: string; + /** Name of the file share (container name, for Blob storage). */ + shareName?: string; + /** Access key for the storage account. */ + accessKey?: string; + /** Path to mount the storage within the site's runtime environment. */ + mountPath?: string; /** - * Unique resource Id - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * State of the storage account. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly pesId?: string; + readonly state?: AzureStorageState; } -/** - * Definition of Detector - */ -export interface DetectorInfo { +/** Specification for an App Service Environment to use for this resource. */ +export interface HostingEnvironmentProfile { + /** Resource ID of the App Service Environment. */ + id?: string; /** - * Id of detector - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Name of the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly name?: string; /** - * Name of detector - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource type of the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly type?: string; +} + +/** Information needed for cloning operation. */ +export interface CloningInfo { /** - * Short description of the detector and its purpose. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Correlation ID of cloning operation. This ID ties multiple cloning operations + * together to use the same snapshot. */ - readonly description?: string; + correlationId?: string; + /** true to overwrite destination app; otherwise, false. */ + overwrite?: boolean; + /** true to clone custom hostnames from source app; otherwise, false. */ + cloneCustomHostNames?: boolean; + /** true to clone source control from source app; otherwise, false. */ + cloneSourceControl?: boolean; /** - * Author of the detector. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * ARM resource ID of the source app. App resource ID is of the form + * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and + * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. */ - readonly author?: string; + sourceWebAppId: string; + /** Location of source app ex: West US or North Europe */ + sourceWebAppLocation?: string; + /** App Service Environment. */ + hostingEnvironment?: string; /** - * Problem category. This serves for organizing group for detectors. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Application setting overrides for cloned app. If specified, these settings override the settings cloned + * from source app. Otherwise, application settings from source app are retained. */ - readonly category?: string; + appSettingsOverrides?: { [propertyName: string]: string }; + /** true to configure load balancing for source and destination app. */ + configureLoadBalancing?: boolean; /** - * List of Support Topics for which this detector is enabled. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form + * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. */ - readonly supportTopicList?: SupportTopic[]; + trafficManagerProfileId?: string; + /** Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist. */ + trafficManagerProfileName?: string; +} + +/** The status of the last successful slot swap operation. */ +export interface SlotSwapStatus { /** - * Analysis Types for which this detector should apply to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the last successful slot swap completed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly analysisType?: string[]; + readonly timestampUtc?: Date; /** - * Whether this detector is an Analysis Detector or not. Possible values include: 'Detector', - * 'Analysis', 'CategoryOverview' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The source slot of the last swap operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: DetectorType; + readonly sourceSlotName?: string; /** - * Defines score of a detector to power ML based matching. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The destination slot of the last swap operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly score?: number; + readonly destinationSlotName?: string; } -/** - * Class representing Response from Detector - */ -export interface DetectorResponse extends ProxyOnlyResource { +/** Managed service identity. */ +export interface ManagedServiceIdentity { + /** Type of managed service identity. */ + type?: ManagedServiceIdentityType; /** - * metadata for the detector + * Tenant of managed service identity. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - metadata?: DetectorInfo; + readonly tenantId?: string; /** - * Data Set + * Principal Id of managed service identity. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataset?: DiagnosticData[]; + readonly principalId?: string; + /** The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} */ + userAssignedIdentities?: { [propertyName: string]: UserAssignedIdentity }; +} + +/** User Assigned identity. */ +export interface UserAssignedIdentity { /** - * Indicates status of the most severe insight. + * Principal Id of user assigned identity + * NOTE: This property will not be serialized. It can only be populated by the server. */ - status?: Status; + readonly principalId?: string; /** - * Additional configuration for different data providers to be used by the UI + * Client Id of user assigned identity + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataProvidersMetadata?: DataProviderMetadata[]; + readonly clientId?: string; +} + +/** Extended Location. */ +export interface ExtendedLocation { + /** Name of extended location. */ + name?: string; /** - * Suggested utterances where the detector can be applicable. + * Type of extended location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - suggestedUtterances?: QueryUtterancesResults; + readonly type?: string; } -/** - * A deleted app. - */ -export interface DeletedSite extends ProxyOnlyResource { - /** - * Numeric id for the deleted site - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly deletedSiteId?: number; +/** Diagnostics for an App Service Environment. */ +export interface HostingEnvironmentDiagnostics { + /** Name/identifier of the diagnostics. */ + name?: string; + /** Diagnostics output. */ + diagnosticsOutput?: string; +} + +/** Collection of Inbound Environment Endpoints */ +export interface InboundEnvironmentEndpointCollection { + /** Collection of resources. */ + value: InboundEnvironmentEndpoint[]; /** - * Time in UTC when the app was deleted. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly deletedTimestamp?: string; + readonly nextLink?: string; +} + +/** The IP Addresses and Ports that require inbound network access to and within the subnet of the App Service Environment. */ +export interface InboundEnvironmentEndpoint { + /** Short text describing the purpose of the network traffic. */ + description?: string; + /** The IP addresses that network traffic will originate from in cidr notation. */ + endpoints?: string[]; + /** The ports that network traffic will arrive to the App Service Environment at. */ + ports?: string[]; +} + +/** Collection of worker pools. */ +export interface WorkerPoolCollection { + /** Collection of resources. */ + value: WorkerPoolResource[]; /** - * Subscription containing the deleted site - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly subscription?: string; + readonly nextLink?: string; +} + +/** Description of a SKU for a scalable resource. */ +export interface SkuDescription { + /** Name of the resource SKU. */ + name?: string; + /** Service tier of the resource SKU. */ + tier?: string; + /** Size specifier of the resource SKU. */ + size?: string; + /** Family code of the resource SKU. */ + family?: string; + /** Current number of instances assigned to the resource. */ + capacity?: number; + /** Min, max, and default scale values of the SKU. */ + skuCapacity?: SkuCapacity; + /** Locations of the SKU. */ + locations?: string[]; + /** Capabilities of the SKU, e.g., is traffic manager enabled? */ + capabilities?: Capability[]; +} + +/** Description of the App Service plan scale options. */ +export interface SkuCapacity { + /** Minimum number of workers for this App Service plan SKU. */ + minimum?: number; + /** Maximum number of workers for this App Service plan SKU. */ + maximum?: number; + /** Maximum number of Elastic workers for this App Service plan SKU. */ + elasticMaximum?: number; + /** Default number of workers for this App Service plan SKU. */ + default?: number; + /** Available scale configurations for an App Service plan. */ + scaleType?: string; +} + +/** Describes the capabilities/features allowed for a specific SKU. */ +export interface Capability { + /** Name of the SKU capability. */ + name?: string; + /** Value of the SKU capability. */ + value?: string; + /** Reason of the SKU capability. */ + reason?: string; +} + +/** Collection of metric definitions. */ +export interface ResourceMetricDefinitionCollection { + /** Collection of resources. */ + value: ResourceMetricDefinition[]; /** - * ResourceGroup that contained the deleted site - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resourceGroup?: string; + readonly nextLink?: string; +} + +/** Metrics availability and retention. */ +export interface ResourceMetricAvailability { /** - * Name of the deleted site - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Time grain . + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly deletedSiteName?: string; + readonly timeGrain?: string; /** - * Slot of the deleted site - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Retention period for the current time grain. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly slot?: string; + readonly retention?: string; +} + +/** Collection of SKU information. */ +export interface SkuInfoCollection { + /** Collection of resources. */ + value: SkuInfo[]; /** - * Kind of site that was deleted - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly deletedSiteKind?: string; + readonly nextLink?: string; +} + +/** SKU discovery information. */ +export interface SkuInfo { + /** Resource type that this SKU applies to. */ + resourceType?: string; + /** Name and tier of the SKU. */ + sku?: SkuDescription; + /** Min, max, and default scale values of the SKU. */ + capacity?: SkuCapacity; +} + +/** Collection of usages. */ +export interface UsageCollection { + /** Collection of resources. */ + value: Usage[]; /** - * Geo Region of the deleted site - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly geoRegionName?: string; + readonly nextLink?: string; } -/** - * An interface representing ManagedServiceIdentityUserAssignedIdentitiesValue. - */ -export interface ManagedServiceIdentityUserAssignedIdentitiesValue { +/** An operation on a resource. */ +export interface Operation { + /** Operation ID. */ + id?: string; + /** Operation name. */ + name?: string; + /** The current status of the operation. */ + status?: OperationStatus; + /** Any errors associate with the operation. */ + errors?: ErrorEntity[]; + /** Time when operation has started. */ + createdTime?: Date; + /** Time when operation has been updated. */ + modifiedTime?: Date; + /** Time when operation will expire. */ + expirationTime?: Date; + /** Applicable only for stamp operation ids. */ + geoMasterOperationId?: string; +} + +/** Body of the error response returned from the API. */ +export interface ErrorEntity { + /** Type of error. */ + extendedCode?: string; + /** Message template. */ + messageTemplate?: string; + /** Parameters for the template. */ + parameters?: string[]; + /** Inner errors. */ + innerErrors?: ErrorEntity[]; + /** Error Details. */ + details?: ErrorEntity[]; + /** The error target. */ + target?: string; + /** Basic error code. */ + code?: string; + /** Any details of the error. */ + message?: string; +} + +/** Collection of Outbound Environment Endpoints */ +export interface OutboundEnvironmentEndpointCollection { + /** Collection of resources. */ + value: OutboundEnvironmentEndpoint[]; /** - * Principal Id of user assigned identity - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly principalId?: string; + readonly nextLink?: string; +} + +/** Endpoints accessed for a common purpose that the App Service Environment requires outbound network access to. */ +export interface OutboundEnvironmentEndpoint { + /** The type of service accessed by the App Service Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory. */ + category?: string; + /** The endpoints that the App Service Environment reaches the service at. */ + endpoints?: EndpointDependency[]; +} + +/** A domain name that a service is reached at, including details of the current connection status. */ +export interface EndpointDependency { + /** The domain name of the dependency. */ + domainName?: string; + /** The IP Addresses and Ports used when connecting to DomainName. */ + endpointDetails?: EndpointDetail[]; +} + +/** Current TCP connectivity information from the App Service Environment to a single endpoint. */ +export interface EndpointDetail { + /** An IP Address that Domain Name currently resolves to. */ + ipAddress?: string; + /** The port an endpoint is connected to. */ + port?: number; + /** The time in milliseconds it takes for a TCP connection to be created from the App Service Environment to this IpAddress at this Port. */ + latency?: number; + /** Whether it is possible to create a TCP connection from the App Service Environment to this IpAddress at this Port. */ + isAccessible?: boolean; +} + +export interface PrivateEndpointConnectionCollection { + /** Collection of resources. */ + value: RemotePrivateEndpointConnectionARMResource[]; /** - * Client Id of user assigned identity - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly clientId?: string; + readonly nextLink?: string; } -/** - * Managed service identity. - */ -export interface ManagedServiceIdentity { +/** A wrapper for an ARM resource id */ +export interface ArmIdWrapper { + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly id?: string; +} + +/** The state of a private link connection */ +export interface PrivateLinkConnectionState { + /** Status of a private link connection */ + status?: string; + /** Description of a private link connection */ + description?: string; + /** ActionsRequired for a private link connection */ + actionsRequired?: string; +} + +/** Wrapper for a collection of private link resources */ +export interface PrivateLinkResourcesWrapper { + value: PrivateLinkResource[]; +} + +/** A private link resource */ +export interface PrivateLinkResource { + id: string; + /** Name of a private link resource */ + name: string; + type: string; + /** Properties of a private link resource */ + properties: PrivateLinkResourceProperties; +} + +/** Properties of a private link resource */ +export interface PrivateLinkResourceProperties { /** - * Type of managed service identity. Possible values include: 'SystemAssigned', 'UserAssigned', - * 'SystemAssigned, UserAssigned', 'None' + * GroupId of a private link resource + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: ManagedServiceIdentityType; + readonly groupId?: string; /** - * Tenant of managed service identity. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * RequiredMembers of a private link resource + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly tenantId?: string; + readonly requiredMembers?: string[]; /** - * Principal Id of managed service identity. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * RequiredZoneNames of a private link resource + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly principalId?: string; + readonly requiredZoneNames?: string[]; +} + +/** Collection of App Service plans. */ +export interface AppServicePlanCollection { + /** Collection of resources. */ + value: AppServicePlan[]; /** - * The list of user assigned identities associated with the resource. The user identity - * dictionary key references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - userAssignedIdentities?: { - [propertyName: string]: ManagedServiceIdentityUserAssignedIdentitiesValue; - }; + readonly nextLink?: string; } -/** - * The status of the last successful slot swap operation. - */ -export interface SlotSwapStatus { +/** Specification for a Kubernetes Environment to use for this resource. */ +export interface KubeEnvironmentProfile { + /** Resource ID of the Kubernetes Environment. */ + id?: string; /** - * The time the last successful slot swap completed. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Name of the Kubernetes Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly timestampUtc?: Date; + readonly name?: string; /** - * The source slot of the last swap operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource type of the Kubernetes Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly sourceSlotName?: string; + readonly type?: string; +} + +/** Collection of CSM usage quotas. */ +export interface CsmUsageQuotaCollection { + /** Collection of resources. */ + value: CsmUsageQuota[]; /** - * The destination slot of the last swap operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly destinationSlotName?: string; + readonly nextLink?: string; } -/** - * Information needed for cloning operation. - */ -export interface CloningInfo { +/** Usage of the quota resource. */ +export interface CsmUsageQuota { + /** Units of measurement for the quota resource. */ + unit?: string; + /** Next reset time for the resource counter. */ + nextResetTime?: Date; + /** The current value of the resource counter. */ + currentValue?: number; + /** The resource limit. */ + limit?: number; + /** Quota name. */ + name?: LocalizableString; +} + +/** Localizable string object containing the name and a localized value. */ +export interface LocalizableString { + /** Non-localized name. */ + value?: string; + /** Localized name. */ + localizedValue?: string; +} + +/** Collection of resources. */ +export interface ResourceCollection { + /** Collection of resources. */ + value: string[]; /** - * Correlation ID of cloning operation. This ID ties multiple cloning operations - * together to use the same snapshot. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - correlationId?: string; + readonly nextLink?: string; +} + +/** Collection of hostname bindings. */ +export interface HybridConnectionCollection { + /** Collection of resources. */ + value: HybridConnection[]; /** - * true to overwrite destination app; otherwise, false. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - overwrite?: boolean; + readonly nextLink?: string; +} + +/** Virtual Network information contract. */ +export interface VnetInfo { + /** The Virtual Network's resource ID. */ + vnetResourceId?: string; /** - * true to clone custom hostnames from source app; otherwise, false. + * The client certificate thumbprint. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - cloneCustomHostNames?: boolean; + readonly certThumbprint?: string; /** - * true to clone source control from source app; otherwise, false. + * A certificate file (.cer) blob containing the public key of the private key used to authenticate a + * Point-To-Site VPN connection. */ - cloneSourceControl?: boolean; + certBlob?: string; /** - * ARM resource ID of the source app. App resource ID is of the form - * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} - * for production slots and - * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} - * for other slots. + * The routes that this Virtual Network connection uses. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceWebAppId: string; + readonly routes?: VnetRoute[]; /** - * Location of source app ex: West US or North Europe + * true if a resync is required; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceWebAppLocation?: string; + readonly resyncRequired?: boolean; + /** DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses. */ + dnsServers?: string; + /** Flag that is used to denote if this is VNET injection */ + isSwift?: boolean; +} + +/** Collection of certificates. */ +export interface CertificateCollection { + /** Collection of resources. */ + value: Certificate[]; /** - * App Service Environment. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hostingEnvironment?: string; + readonly nextLink?: string; +} + +/** Collection of deleted apps. */ +export interface DeletedWebAppCollection { + /** Collection of resources. */ + value: DeletedSite[]; /** - * Application setting overrides for cloned app. If specified, these settings override the - * settings cloned - * from source app. Otherwise, application settings from source app are retained. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - appSettingsOverrides?: { [propertyName: string]: string }; + readonly nextLink?: string; +} + +/** Collection of Diagnostic Categories */ +export interface DiagnosticCategoryCollection { + /** Collection of resources. */ + value: DiagnosticCategory[]; /** - * true to configure load balancing for source and destination app. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - configureLoadBalancing?: boolean; + readonly nextLink?: string; +} + +/** Collection of Diagnostic Analyses */ +export interface DiagnosticAnalysisCollection { + /** Collection of resources. */ + value: AnalysisDefinition[]; /** - * ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource - * ID is of the form - * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. - */ - trafficManagerProfileId?: string; - /** - * Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does - * not already exist. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - trafficManagerProfileName?: string; + readonly nextLink?: string; } -/** - * Specification for an App Service Environment to use for this resource. - */ -export interface HostingEnvironmentProfile { - /** - * Resource ID of the App Service Environment. - */ - id?: string; - /** - * Name of the App Service Environment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name?: string; - /** - * Resource type of the App Service Environment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly type?: string; +/** Class representing Abnormal Time Period identified in diagnosis */ +export interface AbnormalTimePeriod { + /** Start time of the downtime */ + startTime?: Date; + /** End time of the downtime */ + endTime?: Date; + /** List of Possible Cause of downtime */ + events?: DetectorAbnormalTimePeriod[]; + /** List of proposed solutions */ + solutions?: Solution[]; } -/** - * Azure Files or Blob Storage access information value for dictionary storage. - */ -export interface AzureStorageInfoValue { +/** Class representing Abnormal Time Period detected. */ +export interface DetectorAbnormalTimePeriod { + /** Start time of the correlated event */ + startTime?: Date; + /** End time of the correlated event */ + endTime?: Date; + /** Message describing the event */ + message?: string; + /** Represents the name of the Detector */ + source?: string; + /** Represents the rank of the Detector */ + priority?: number; + /** Downtime metadata */ + metaData?: NameValuePair[][]; + /** Represents the type of the Detector */ + type?: IssueType; + /** List of proposed solutions */ + solutions?: Solution[]; +} + +/** Class Representing Solution for problems detected. */ +export interface Solution { + /** Solution Id. */ + id?: number; + /** Display Name of the solution */ + displayName?: string; + /** Order of the solution. */ + order?: number; + /** Description of the solution */ + description?: string; + /** Type of Solution */ + type?: SolutionType; + /** Solution Data. */ + data?: NameValuePair[][]; + /** Solution Metadata. */ + metadata?: NameValuePair[][]; +} + +/** Class Representing Detector Evidence used for analysis */ +export interface AnalysisData { + /** Name of the Detector */ + source?: string; + /** Detector Definition */ + detectorDefinition?: DetectorDefinition; + /** Source Metrics */ + metrics?: DiagnosticMetricSet[]; + /** Additional Source Data */ + data?: NameValuePair[][]; + /** Detector Meta Data */ + detectorMetaData?: ResponseMetaData; +} + +/** Class representing detector definition */ +export interface DetectorDefinition { /** - * Type of storage. Possible values include: 'AzureFiles', 'AzureBlob' + * Display name of the detector + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: AzureStorageType; + readonly displayName?: string; /** - * Name of the storage account. + * Description of the detector + * NOTE: This property will not be serialized. It can only be populated by the server. */ - accountName?: string; + readonly description?: string; /** - * Name of the file share (container name, for Blob storage). + * Detector Rank + * NOTE: This property will not be serialized. It can only be populated by the server. */ - shareName?: string; + readonly rank?: number; /** - * Access key for the storage account. + * Flag representing whether detector is enabled or not. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - accessKey?: string; + readonly isEnabled?: boolean; +} + +/** Class representing Diagnostic Metric information */ +export interface DiagnosticMetricSet { + /** Name of the metric */ + name?: string; + /** Metric's unit */ + unit?: string; + /** Start time of the period */ + startTime?: Date; + /** End time of the period */ + endTime?: Date; + /** Presented time grain. Supported grains at the moment are PT1M, PT1H, P1D */ + timeGrain?: string; + /** Collection of metric values for the selected period based on the {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} */ + values?: DiagnosticMetricSample[]; +} + +/** Class representing Diagnostic Metric */ +export interface DiagnosticMetricSample { + /** Time at which metric is measured */ + timestamp?: Date; /** - * Path to mount the storage within the site's runtime environment. + * Role Instance. Null if this counter is not per instance + * This is returned and should be whichever instance name we desire to be returned + * i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) + * where RDWORKERNAME is Machine name below and RoleInstance name in parenthesis */ - mountPath?: string; + roleInstance?: string; + /** Total value of the metric. If multiple measurements are made this will have sum of all. */ + total?: number; + /** Maximum of the metric sampled during the time period */ + maximum?: number; + /** Minimum of the metric sampled during the time period */ + minimum?: number; + /** Whether the values are aggregates across all workers or not */ + isAggregated?: boolean; +} + +export interface ResponseMetaData { + /** Source of the Data */ + dataSource?: DataSource; +} + +/** Class representing data source used by the detectors */ +export interface DataSource { + /** Instructions if any for the data source */ + instructions?: string[]; + /** Datasource Uri Links */ + dataSourceUri?: NameValuePair[]; +} + +/** Collection of Diagnostic Detectors */ +export interface DiagnosticDetectorCollection { + /** Collection of resources. */ + value: DetectorDefinitionResource[]; /** - * State of the storage account. Possible values include: 'Ok', 'InvalidCredentials', - * 'InvalidShare', 'NotValidated' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: AzureStorageState; + readonly nextLink?: string; } -/** - * IP security restriction on an app. - */ -export interface IpSecurityRestriction { +/** Collection of Kubernetes Environments */ +export interface KubeEnvironmentCollection { + /** Collection of resources. */ + value: KubeEnvironment[]; /** - * IP address the security restriction is valid for. - * It can be in form of pure ipv4 address (required SubnetMask property) or - * CIDR notation such as ipv4/mask (leading bit match). For CIDR, - * SubnetMask property must not be specified. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - ipAddress?: string; + readonly nextLink?: string; +} + +export interface ArcConfiguration { + artifactsStorageType?: StorageType; + artifactStorageClassName?: string; + artifactStorageMountPath?: string; + artifactStorageNodeName?: string; + artifactStorageAccessMode?: string; + frontEndServiceConfiguration?: FrontEndConfiguration; + kubeConfig?: string; +} + +export interface FrontEndConfiguration { + kind?: FrontEndServiceType; +} + +export interface AppLogsConfiguration { + destination?: string; + logAnalyticsConfiguration?: LogAnalyticsConfiguration; +} + +export interface LogAnalyticsConfiguration { + customerId?: string; + sharedKey?: string; +} + +/** Collection of Application Stacks */ +export interface ApplicationStackCollection { + /** Collection of resources. */ + value: ApplicationStackResource[]; /** - * Subnet mask for the range of IP addresses the restriction is valid for. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - subnetMask?: string; + readonly nextLink?: string; +} + +/** Application stack. */ +export interface ApplicationStack { + /** Application stack name. */ + name?: string; + /** Application stack display name. */ + display?: string; + /** Application stack dependency. */ + dependency?: string; + /** List of major versions available. */ + majorVersions?: StackMajorVersion[]; + /** List of frameworks associated with application stack. */ + frameworks?: ApplicationStack[]; + /** true if this is the stack is deprecated; otherwise, false. */ + isDeprecated?: ApplicationStack[]; +} + +/** Application stack major version. */ +export interface StackMajorVersion { + /** Application stack major version (display only). */ + displayVersion?: string; + /** Application stack major version (runtime only). */ + runtimeVersion?: string; + /** true if this is the default major version; otherwise, false. */ + isDefault?: boolean; + /** Minor versions associated with the major version. */ + minorVersions?: StackMinorVersion[]; + /** true if this supports Application Insights; otherwise, false. */ + applicationInsights?: boolean; + /** true if this stack is in Preview, otherwise false. */ + isPreview?: boolean; + /** true if this stack has been deprecated, otherwise false. */ + isDeprecated?: boolean; + /** true if this stack should be hidden for new customers on portal, otherwise false. */ + isHidden?: boolean; /** - * Virtual network resource id + * + * + * + * Example: All the function apps need AppSetting: "FUNCTIONS_WORKER_RUNTIME" to be set stack name */ - vnetSubnetResourceId?: string; + appSettingsDictionary?: { [propertyName: string]: Record }; /** - * (internal) Vnet traffic tag + * + * + * + * Example: All Linux Function Apps, need Use32BitWorkerProcess to be set to 0 */ - vnetTrafficTag?: number; + siteConfigPropertiesDictionary?: { + [propertyName: string]: Record; + }; +} + +/** Application stack minor version. */ +export interface StackMinorVersion { + /** Application stack minor version (display only). */ + displayVersion?: string; + /** Application stack minor version (runtime only). */ + runtimeVersion?: string; + /** true if this is the default minor version; otherwise, false. */ + isDefault?: boolean; + /** true if this supports Remote Debugging, otherwise false. */ + isRemoteDebuggingEnabled?: boolean; +} + +/** Collection of Function app Stacks */ +export interface FunctionAppStackCollection { + /** Collection of resources. */ + value: FunctionAppStack[]; /** - * (internal) Subnet traffic tag + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - subnetTrafficTag?: number; + readonly nextLink?: string; +} + +/** Function App stack major version. */ +export interface FunctionAppMajorVersion { /** - * Allow or Deny access for this IP range. + * Function App stack major version (display only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - action?: string; + readonly displayText?: string; /** - * Defines what this IP filter will be used for. This is to support IP filtering on proxies. - * Possible values include: 'Default', 'XffProxy', 'ServiceTag' + * Function App stack major version name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tag?: IpFilterTag; + readonly value?: string; /** - * Priority of IP restriction rule. + * Minor versions associated with the major version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - priority?: number; + readonly minorVersions?: FunctionAppMinorVersion[]; +} + +/** Function App stack minor version. */ +export interface FunctionAppMinorVersion { /** - * IP restriction rule name. + * Function App stack (display only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly displayText?: string; /** - * IP restriction rule description. + * Function App stack name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - description?: string; + readonly value?: string; /** - * IP restriction rule headers. - * X-Forwarded-Host - * (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). - * The matching logic is .. - * - If the property is null or empty (default), all hosts(or lack of) are allowed. - * - A value is compared using ordinal-ignore-case (excluding port number). - * - Subdomain wildcards are permitted but don't match the root domain. For example, - * *.contoso.com matches the subdomain foo.contoso.com - * but not the root domain contoso.com or multi-level foo.bar.contoso.com - * - Unicode host names are allowed but are converted to Punycode for matching. - * - * X-Forwarded-For - * (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). - * The matching logic is .. - * - If the property is null or empty (default), any forwarded-for chains (or lack of) are - * allowed. - * - If any address (excluding port number) in the chain (comma separated) matches the CIDR - * defined by the property. - * - * X-Azure-FDID and X-FD-HealthProbe. - * The matching logic is exact match. + * Settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - headers?: { [propertyName: string]: string[] }; + readonly stackSettings?: FunctionAppRuntimes; } -/** - * Azure API management (APIM) configuration linked to the app. - */ -export interface ApiManagementConfig { +/** Function App stack runtimes. */ +export interface FunctionAppRuntimes { /** - * APIM-Api Identifier. + * Linux-specific settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - id?: string; -} - -/** - * Information about the formal API definition for the app. - */ -export interface ApiDefinitionInfo { + readonly linuxRuntimeSettings?: FunctionAppRuntimeSettings; /** - * The URL of the API definition. + * Windows-specific settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - url?: string; + readonly windowsRuntimeSettings?: FunctionAppRuntimeSettings; } -/** - * Cross-Origin Resource Sharing (CORS) settings for the app. - */ -export interface CorsSettings { +/** Function App runtime settings. */ +export interface FunctionAppRuntimeSettings { /** - * Gets or sets the list of origins that should be allowed to make cross-origin - * calls (for example: http://example.com:12345). Use "*" to allow all. + * Function App stack minor version (runtime only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - allowedOrigins?: string[]; + readonly runtimeVersion?: string; /** - * Gets or sets whether CORS requests with credentials are allowed. See - * https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials - * for more details. + * true if remote debugging is supported for the stack; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - supportCredentials?: boolean; -} - -/** - * Custom action to be executed - * when an auto heal rule is triggered. - */ -export interface AutoHealCustomAction { + readonly remoteDebuggingSupported?: boolean; /** - * Executable to be run. + * Application Insights settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - exe?: string; + readonly appInsightsSettings?: AppInsightsWebAppStackSettings; /** - * Parameters for the executable. + * GitHub Actions settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - parameters?: string; -} - -/** - * Actions which to take by the auto-heal module when a rule is triggered. - */ -export interface AutoHealActions { + readonly gitHubActionSettings?: GitHubActionWebAppStackSettings; /** - * Predefined action to be taken. Possible values include: 'Recycle', 'LogEvent', 'CustomAction' + * Application settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - actionType?: AutoHealActionType; + readonly appSettingsDictionary?: { [propertyName: string]: string }; /** - * Custom action to be taken. + * Configuration settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - customAction?: AutoHealCustomAction; + readonly siteConfigPropertiesDictionary?: SiteConfigPropertiesDictionary; /** - * Minimum time the process must execute - * before taking the action + * List of supported Functions extension versions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minProcessExecutionTime?: string; -} - -/** - * Trigger based on range of status codes. - */ -export interface StatusCodesRangeBasedTrigger { + readonly supportedFunctionsExtensionVersions?: string[]; /** - * HTTP status code. + * true if the stack is in preview; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - statusCodes?: string; - path?: string; + readonly isPreview?: boolean; /** - * Request Count. + * true if the stack is deprecated; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - count?: number; + readonly isDeprecated?: boolean; /** - * Time interval. + * true if the stack should be hidden; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timeInterval?: string; -} - -/** - * Trigger based on request execution time. - */ -export interface SlowRequestsBasedTrigger { + readonly isHidden?: boolean; /** - * Time taken. + * End-of-life date for the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timeTaken?: string; + readonly endOfLifeDate?: Date; /** - * Request Path. + * true if the stack version is auto-updated; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - path?: string; + readonly isAutoUpdate?: boolean; /** - * Request Count. + * true if the minor version is early-access; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - count?: number; + readonly isEarlyAccess?: boolean; /** - * Time interval. + * true if the minor version the default; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timeInterval?: string; + readonly isDefault?: boolean; } -/** - * Trigger based on status code. - */ -export interface StatusCodesBasedTrigger { - /** - * HTTP status code. - */ - status?: number; - /** - * Request Sub Status. - */ - subStatus?: number; - /** - * Win32 error code. - */ - win32Status?: number; - /** - * Request Count. - */ - count?: number; +/** App Insights Web App stack settings. */ +export interface AppInsightsWebAppStackSettings { /** - * Time interval. + * true if remote Application Insights is supported for the stack; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timeInterval?: string; + readonly isSupported?: boolean; /** - * Request Path + * true if Application Insights is disabled by default for the stack; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - path?: string; + readonly isDefaultOff?: boolean; } -/** - * Trigger based on total requests. - */ -export interface RequestsBasedTrigger { +/** GitHub Actions Web App stack settings. */ +export interface GitHubActionWebAppStackSettings { /** - * Request Count. + * true if GitHub Actions is supported for the stack; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - count?: number; + readonly isSupported?: boolean; /** - * Time interval. + * The minor version that is supported for GitHub Actions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timeInterval?: string; + readonly supportedVersion?: string; } -/** - * Triggers for auto-heal. - */ -export interface AutoHealTriggers { - /** - * A rule based on total requests. - */ - requests?: RequestsBasedTrigger; - /** - * A rule based on private bytes. - */ - privateBytesInKB?: number; +/** Site config properties dictionary. */ +export interface SiteConfigPropertiesDictionary { /** - * A rule based on status codes. + * true if use32BitWorkerProcess should be set to true for the stack; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - statusCodes?: StatusCodesBasedTrigger[]; + readonly use32BitWorkerProcess?: boolean; /** - * A rule based on request execution time. + * LinuxFxVersion configuration setting. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - slowRequests?: SlowRequestsBasedTrigger; + readonly linuxFxVersion?: string; /** - * A rule based on multiple Slow Requests Rule with path + * JavaVersion configuration setting. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - slowRequestsWithPath?: SlowRequestsBasedTrigger[]; + readonly javaVersion?: string; /** - * A rule based on status codes ranges. + * PowerShellVersion configuration setting. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - statusCodesRange?: StatusCodesRangeBasedTrigger[]; + readonly powerShellVersion?: string; } -/** - * Rules that can be defined for auto-heal. - */ -export interface AutoHealRules { - /** - * Conditions that describe when to execute the auto-heal actions. - */ - triggers?: AutoHealTriggers; +/** Collection of Web app Stacks */ +export interface WebAppStackCollection { + /** Collection of resources. */ + value: WebAppStack[]; /** - * Actions to be executed when a rule is triggered. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - actions?: AutoHealActions; + readonly nextLink?: string; } -/** - * Metric limits set on an app. - */ -export interface SiteLimits { +/** Web App stack major version. */ +export interface WebAppMajorVersion { /** - * Maximum allowed CPU usage percentage. + * Web App stack major version (display only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxPercentageCpu?: number; + readonly displayText?: string; /** - * Maximum allowed memory usage in MB. + * Web App stack major version name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxMemoryInMb?: number; + readonly value?: string; /** - * Maximum allowed disk size usage in MB. + * Minor versions associated with the major version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxDiskSizeInMb?: number; + readonly minorVersions?: WebAppMinorVersion[]; } -/** - * Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to - * gradually change routing % based on performance. - */ -export interface RampUpRule { - /** - * Hostname of a slot to which the traffic will be redirected if decided to. E.g. - * myapp-stage.azurewebsites.net. - */ - actionHostName?: string; +/** Web App stack minor version. */ +export interface WebAppMinorVersion { /** - * Percentage of the traffic which will be redirected to ActionHostName. + * Web App stack minor version (display only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reroutePercentage?: number; + readonly displayText?: string; /** - * In auto ramp up scenario this is the step to add/remove from ReroutePercentage - * until it reaches \nMinReroutePercentage or - * MaxReroutePercentage. Site metrics are checked every N minutes specified in - * ChangeIntervalInMinutes.\nCustom decision algorithm - * can be provided in TiPCallback site extension which URL can be specified in - * ChangeDecisionCallbackUrl. + * Web App stack major version name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - changeStep?: number; + readonly value?: string; /** - * Specifies interval in minutes to reevaluate ReroutePercentage. + * Settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - changeIntervalInMinutes?: number; + readonly stackSettings?: WebAppRuntimes; +} + +/** Web App stack runtimes. */ +export interface WebAppRuntimes { /** - * Specifies lower boundary above which ReroutePercentage will stay. + * Linux-specific settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minReroutePercentage?: number; + readonly linuxRuntimeSettings?: WebAppRuntimeSettings; /** - * Specifies upper boundary below which ReroutePercentage will stay. + * Windows-specific settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxReroutePercentage?: number; + readonly windowsRuntimeSettings?: WebAppRuntimeSettings; /** - * Custom decision algorithm can be provided in TiPCallback site extension which URL can be - * specified. See TiPCallback site extension for the scaffold and contracts. - * https://www.siteextensions.net/packages/TiPCallback/ + * Linux-specific settings associated with the Java container minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - changeDecisionCallbackUrl?: string; + readonly linuxContainerSettings?: LinuxJavaContainerSettings; /** - * Name of the routing rule. The recommended name would be to point to the slot which will - * receive the traffic in the experiment. + * Windows-specific settings associated with the Java container minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly windowsContainerSettings?: WindowsJavaContainerSettings; } -/** - * Routing rules in production experiments. - */ -export interface Experiments { +/** Web App runtime settings. */ +export interface WebAppRuntimeSettings { /** - * List of ramp-up rules. + * Web App stack minor version (runtime only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - rampUpRules?: RampUpRule[]; -} - -/** - * Directory for virtual application. - */ -export interface VirtualDirectory { + readonly runtimeVersion?: string; /** - * Path to virtual application. + * true if remote debugging is supported for the stack; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - virtualPath?: string; + readonly remoteDebuggingSupported?: boolean; /** - * Physical path. + * Application Insights settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - physicalPath?: string; -} - -/** - * Virtual application in an app. - */ -export interface VirtualApplication { + readonly appInsightsSettings?: AppInsightsWebAppStackSettings; /** - * Virtual path. + * GitHub Actions settings associated with the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - virtualPath?: string; + readonly gitHubActionSettings?: GitHubActionWebAppStackSettings; /** - * Physical path. + * true if the stack is in preview; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - physicalPath?: string; + readonly isPreview?: boolean; /** - * true if preloading is enabled; otherwise, false. + * true if the stack is deprecated; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - preloadEnabled?: boolean; + readonly isDeprecated?: boolean; /** - * Virtual directories for virtual application. + * true if the stack should be hidden; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - virtualDirectories?: VirtualDirectory[]; -} - -/** - * The IIS handler mappings used to define which handler processes HTTP requests with certain - * extension. - * For example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php - * extension. - */ -export interface HandlerMapping { + readonly isHidden?: boolean; /** - * Requests with this extension will be handled using the specified FastCGI application. + * End-of-life date for the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - extension?: string; + readonly endOfLifeDate?: Date; /** - * The absolute path to the FastCGI application. + * true if the stack version is auto-updated; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - scriptProcessor?: string; + readonly isAutoUpdate?: boolean; /** - * Command-line arguments to be passed to the script processor. + * true if the minor version is early-access; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - argumentsProperty?: string; + readonly isEarlyAccess?: boolean; } -/** - * MachineKey of an app. - */ -export interface SiteMachineKey { - /** - * MachineKey validation. - */ - validation?: string; +/** Linux Java Container settings. */ +export interface LinuxJavaContainerSettings { /** - * Validation key. + * Java 11 version (runtime only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - validationKey?: string; + readonly java11Runtime?: string; /** - * Algorithm used for decryption. + * Java 8 version (runtime only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - decryption?: string; + readonly java8Runtime?: string; /** - * Decryption key. + * true if the stack is in preview; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - decryptionKey?: string; -} - -/** - * Database connection string information. - */ -export interface ConnStringInfo { + readonly isPreview?: boolean; /** - * Name of connection string. + * true if the stack is deprecated; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly isDeprecated?: boolean; /** - * Connection string value. + * true if the stack should be hidden; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - connectionString?: string; + readonly isHidden?: boolean; /** - * Type of database. Possible values include: 'MySql', 'SQLServer', 'SQLAzure', 'Custom', - * 'NotificationHub', 'ServiceBus', 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + * End-of-life date for the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: ConnectionStringType; -} - -/** - * Name value pair. - */ -export interface NameValuePair { + readonly endOfLifeDate?: Date; /** - * Pair name. + * true if the stack version is auto-updated; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly isAutoUpdate?: boolean; /** - * Pair value. + * true if the minor version is early-access; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - value?: string; + readonly isEarlyAccess?: boolean; } -/** - * Configuration of an App Service app. - */ -export interface SiteConfig { +/** Windows Java Container settings. */ +export interface WindowsJavaContainerSettings { /** - * Number of workers. + * Java container (runtime only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - numberOfWorkers?: number; + readonly javaContainer?: string; /** - * Default documents. + * Java container version (runtime only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - defaultDocuments?: string[]; + readonly javaContainerVersion?: string; /** - * .NET Framework version. Default value: 'v4.6'. + * true if the stack is in preview; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - netFrameworkVersion?: string; + readonly isPreview?: boolean; /** - * Version of PHP. + * true if the stack is deprecated; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - phpVersion?: string; + readonly isDeprecated?: boolean; /** - * Version of Python. + * true if the stack should be hidden; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - pythonVersion?: string; + readonly isHidden?: boolean; /** - * Version of Node.js. + * End-of-life date for the minor version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - nodeVersion?: string; + readonly endOfLifeDate?: Date; /** - * Version of PowerShell. + * true if the stack version is auto-updated; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - powerShellVersion?: string; + readonly isAutoUpdate?: boolean; /** - * Linux App Framework and version + * true if the minor version is early-access; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - linuxFxVersion?: string; - /** - * Xenon App Framework and version - */ - windowsFxVersion?: string; + readonly isEarlyAccess?: boolean; +} + +/** Collection of recommendations. */ +export interface RecommendationCollection { + /** Collection of resources. */ + value: Recommendation[]; /** - * true if request tracing is enabled; otherwise, false. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - requestTracingEnabled?: boolean; + readonly nextLink?: string; +} + +/** Collection of resource health metadata. */ +export interface ResourceHealthMetadataCollection { + /** Collection of resources. */ + value: ResourceHealthMetadata[]; /** - * Request tracing expiration time. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - requestTracingExpirationTime?: Date; + readonly nextLink?: string; +} + +/** Appservice Github token request content. */ +export interface AppserviceGithubTokenRequest { + /** Code string to exchange for Github Access token */ + code: string; + /** State string used for verification. */ + state: string; +} + +/** Github access token for Appservice CLI github integration. */ +export interface AppserviceGithubToken { + /** Github access token for Appservice CLI github integration */ + accessToken?: string; + /** Scope of the github access token */ + scope?: string; + /** token type */ + tokenType?: string; + /** True if valid github token received, False otherwise */ + gotToken?: boolean; + /** Error message if unable to get token */ + errorMessage?: string; +} + +/** Collection of source controls. */ +export interface SourceControlCollection { + /** Collection of resources. */ + value: SourceControl[]; /** - * true if remote debugging is enabled; otherwise, false. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - remoteDebuggingEnabled?: boolean; + readonly nextLink?: string; +} + +/** Collection of Billing Meters */ +export interface BillingMeterCollection { + /** Collection of resources. */ + value: BillingMeter[]; /** - * Remote debugging version. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - remoteDebuggingVersion?: string; + readonly nextLink?: string; +} + +/** Resource name availability request content. */ +export interface ResourceNameAvailabilityRequest { + /** Resource name to verify. */ + name: string; + /** Resource type used for verification. */ + type: CheckNameResourceTypes; + /** Is fully qualified domain name. */ + isFqdn?: boolean; +} + +/** Information regarding availability of a resource name. */ +export interface ResourceNameAvailability { + /** true indicates name is valid and available. false indicates the name is invalid, unavailable, or both. */ + nameAvailable?: boolean; + /** Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable. */ + reason?: InAvailabilityReasonType; + /** If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. */ + message?: string; +} + +/** + * List of available locations (regions or App Service Environments) for + * deployment of App Service resources. + */ +export interface DeploymentLocations { + /** Available regions. */ + locations?: GeoRegion[]; + /** Available App Service Environments with full descriptions of the environments. */ + hostingEnvironments?: AppServiceEnvironment[]; + /** Available App Service Environments with basic information. */ + hostingEnvironmentDeploymentInfos?: HostingEnvironmentDeploymentInfo[]; +} + +/** Information needed to create resources on an App Service Environment. */ +export interface HostingEnvironmentDeploymentInfo { + /** Name of the App Service Environment. */ + name?: string; + /** Location of the App Service Environment. */ + location?: string; +} + +/** Collection of geographical regions. */ +export interface GeoRegionCollection { + /** Collection of resources. */ + value: GeoRegion[]; /** - * true if HTTP logging is enabled; otherwise, false. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - httpLoggingEnabled?: boolean; + readonly nextLink?: string; +} + +/** Collection of identifiers. */ +export interface IdentifierCollection { + /** Collection of resources. */ + value: Identifier[]; /** - * HTTP logs directory size limit. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - logsDirectorySizeLimit?: number; + readonly nextLink?: string; +} + +/** Collection of premier add-on offers. */ +export interface PremierAddOnOfferCollection { + /** Collection of resources. */ + value: PremierAddOnOffer[]; /** - * true if detailed error logging is enabled; otherwise, false. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - detailedErrorLoggingEnabled?: boolean; + readonly nextLink?: string; +} + +/** Collection of SKU information. */ +export interface SkuInfos { + /** Resource type that this SKU applies to. */ + resourceType?: string; + /** List of SKUs the subscription is able to use. */ + skus?: GlobalCsmSkuDescription[]; +} + +/** A Global SKU Description. */ +export interface GlobalCsmSkuDescription { + /** Name of the resource SKU. */ + name?: string; + /** Service Tier of the resource SKU. */ + tier?: string; + /** Size specifier of the resource SKU. */ + size?: string; + /** Family code of the resource SKU. */ + family?: string; + /** Min, max, and default scale values of the SKU. */ + capacity?: SkuCapacity; + /** Locations of the SKU. */ + locations?: string[]; + /** Capabilities of the SKU, e.g., is traffic manager enabled? */ + capabilities?: Capability[]; +} + +/** Object with a list of the resources that need to be moved and the resource group they should be moved to. */ +export interface CsmMoveResourceEnvelope { + targetResourceGroup?: string; + resources?: string[]; +} + +/** Resource validation request content. */ +export interface ValidateRequest { + /** Resource name to verify. */ + name: string; + /** Resource type used for verification. */ + type: ValidateResourceTypes; + /** Expected location of the resource. */ + location: string; + /** ARM resource ID of an App Service plan that would host the app. */ + serverFarmId?: string; + /** Name of the target SKU for the App Service plan. */ + skuName?: string; + /** true if App Service plan is for Linux workers; otherwise, false. */ + needLinuxWorkers?: boolean; + /** true if App Service plan is for Spot instances; otherwise, false. */ + isSpot?: boolean; + /** Target capacity of the App Service plan (number of VMs). */ + capacity?: number; + /** Name of App Service Environment where app or App Service plan should be created. */ + hostingEnvironment?: string; + /** true if App Service plan is running as a windows container */ + isXenon?: boolean; + /** Base URL of the container registry */ + containerRegistryBaseUrl?: string; + /** Username for to access the container registry */ + containerRegistryUsername?: string; + /** Password for to access the container registry */ + containerRegistryPassword?: string; + /** Repository name (image name) */ + containerImageRepository?: string; + /** Image tag */ + containerImageTag?: string; + /** Platform (windows or linux) */ + containerImagePlatform?: string; + /** App Service Environment Properties */ + appServiceEnvironment?: AppServiceEnvironment; +} + +/** Describes the result of resource validation. */ +export interface ValidateResponse { + /** Result of validation. */ + status?: string; + /** Error details for the case when validation fails. */ + error?: ValidateResponseError; +} + +/** Error details for when validation fails. */ +export interface ValidateResponseError { + /** Validation error code. */ + code?: string; + /** Validation error message. */ + message?: string; +} + +/** Build properties for the static site. */ +export interface StaticSiteBuildProperties { + /** The path to the app code within the repository. */ + appLocation?: string; + /** The path to the api code within the repository. */ + apiLocation?: string; + /** Deprecated: The path of the app artifacts after building (deprecated in favor of OutputLocation) */ + appArtifactLocation?: string; + /** The output path of the app after building. */ + outputLocation?: string; + /** A custom command to run during deployment of the static content application. */ + appBuildCommand?: string; + /** A custom command to run during deployment of the Azure Functions API application. */ + apiBuildCommand?: string; + /** Skip Github Action workflow generation. */ + skipGithubActionWorkflowGeneration?: boolean; + /** Github Action secret name override. */ + githubActionSecretNameOverride?: string; +} + +/** Collection of static sites. */ +export interface StaticSiteCollection { + /** Collection of resources. */ + value: StaticSiteARMResource[]; /** - * Publishing user name. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - publishingUsername?: string; + readonly nextLink?: string; +} + +/** Message envelope that contains the common Azure resource manager properties and the resource provider specific content. */ +export interface ResponseMessageEnvelopeRemotePrivateEndpointConnection { /** - * Application settings. + * Resource Id. Typically ID is populated only for responses to GET requests. Caller is responsible for passing in this + * value for GET requests only. + * For example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupId}/providers/Microsoft.Web/sites/{sitename} */ - appSettings?: NameValuePair[]; + id?: string; + /** Name of resource. */ + name?: string; + /** Type of resource e.g "Microsoft.Web/sites". */ + type?: string; + /** Geographical region resource belongs to e.g. SouthCentralUS, SouthEastAsia. */ + location?: string; + /** Tags associated with resource. */ + tags?: { [propertyName: string]: string }; + /** Azure resource manager plan. */ + plan?: ArmPlan; + /** Resource specific properties. */ + properties?: RemotePrivateEndpointConnection; + /** SKU description of the resource. */ + sku?: SkuDescription; + /** Azure-AsyncOperation Status info. */ + status?: string; + /** Azure-AsyncOperation Error info. */ + error?: ErrorEntity; + /** MSI resource */ + identity?: ManagedServiceIdentity; + /** Logical Availability Zones the service is hosted in */ + zones?: string[]; +} + +/** The plan object in Azure Resource Manager, represents a marketplace plan. */ +export interface ArmPlan { + /** The name. */ + name?: string; + /** The publisher. */ + publisher?: string; + /** The product. */ + product?: string; + /** The promotion code. */ + promotionCode?: string; + /** Version of product. */ + version?: string; +} + +/** Template Options for the static site. */ +export interface StaticSiteTemplateOptions { + /** URL of the template repository. The newly generated repository will be based on this one. */ + templateRepositoryUrl?: string; + /** Owner of the newly generated repository. */ + owner?: string; + /** Name of the newly generated repository. */ + repositoryName?: string; + /** Description of the newly generated repository. */ + description?: string; + /** Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public). */ + isPrivate?: boolean; +} + +/** Collection of static site custom users. */ +export interface StaticSiteUserCollection { + /** Collection of resources. */ + value: StaticSiteUserARMResource[]; /** - * Connection strings. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - connectionStrings?: ConnStringInfo[]; + readonly nextLink?: string; +} + +/** Collection of static site builds. */ +export interface StaticSiteBuildCollection { + /** Collection of resources. */ + value: StaticSiteBuildARMResource[]; /** - * Site MachineKey. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly machineKey?: SiteMachineKey; + readonly nextLink?: string; +} + +/** Collection of static site functions. */ +export interface StaticSiteFunctionOverviewCollection { + /** Collection of resources. */ + value: StaticSiteFunctionOverviewARMResource[]; /** - * Handler mappings. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - handlerMappings?: HandlerMapping[]; + readonly nextLink?: string; +} + +/** Collection of static site user provided function apps. */ +export interface StaticSiteUserProvidedFunctionAppsCollection { + /** Collection of resources. */ + value: StaticSiteUserProvidedFunctionAppARMResource[]; /** - * Document root. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - documentRoot?: string; + readonly nextLink?: string; +} + +/** Collection of static site custom domains. */ +export interface StaticSiteCustomDomainOverviewCollection { + /** Collection of resources. */ + value: StaticSiteCustomDomainOverviewARMResource[]; /** - * SCM type. Possible values include: 'None', 'Dropbox', 'Tfs', 'LocalGit', 'GitHub', - * 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', 'BitbucketHg', 'ExternalGit', 'ExternalHg', - * 'OneDrive', 'VSO', 'VSTSRM' + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - scmType?: ScmType; + readonly nextLink?: string; +} + +/** Deployment slot parameters. */ +export interface CsmSlotEntity { + /** Destination deployment slot during swap operation. */ + targetSlot: string; + /** true to preserve Virtual Network to the slot during swap; otherwise, false. */ + preserveVnet: boolean; +} + +/** Description of a backup schedule. Describes how often should be the backup performed and what should be the retention policy. */ +export interface BackupSchedule { + /** How often the backup should be executed (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be set to Day) */ + frequencyInterval: number; + /** The unit of time for how often the backup should be executed (e.g. for weekly backup, this should be set to Day and FrequencyInterval should be set to 7) */ + frequencyUnit: FrequencyUnit; + /** True if the retention policy should always keep at least one backup in the storage account, regardless how old it is; false otherwise. */ + keepAtLeastOneBackup: boolean; + /** After how many days backups should be deleted. */ + retentionPeriodInDays: number; + /** When the schedule should start working. */ + startTime?: Date; /** - * true to use 32-bit worker process; otherwise, false. + * Last time when this schedule was triggered. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - use32BitWorkerProcess?: boolean; + readonly lastExecutionTime?: Date; +} + +/** Database backup settings. */ +export interface DatabaseBackupSetting { + /** Database type (e.g. SqlAzure / MySql). */ + databaseType: DatabaseType; + name?: string; /** - * true if WebSocket is enabled; otherwise, false. + * Contains a connection string name that is linked to the SiteConfig.ConnectionStrings. + * This is used during restore with overwrite connection strings options. */ - webSocketsEnabled?: boolean; + connectionStringName?: string; + /** Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. */ + connectionString?: string; +} + +/** Collection of backup items. */ +export interface BackupItemCollection { + /** Collection of resources. */ + value: BackupItem[]; /** - * true if Always On is enabled; otherwise, false. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - alwaysOn?: boolean; + readonly nextLink?: string; +} + +/** Publishing Credentials Policies entity collection ARM resource. */ +export interface PublishingCredentialsPoliciesCollection { + /** Collection of resources. */ + value: CsmPublishingCredentialsPoliciesEntity[]; /** - * Java version. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - javaVersion?: string; + readonly nextLink?: string; +} + +/** Collection of site configurations. */ +export interface SiteConfigResourceCollection { + /** Collection of resources. */ + value: SiteConfigResource[]; /** - * Java container. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - javaContainer?: string; + readonly nextLink?: string; +} + +/** The configuration settings of the platform of App Service Authentication/Authorization. */ +export interface AuthPlatform { + /** true if the Authentication / Authorization feature is enabled for the current app; otherwise, false. */ + enabled?: boolean; /** - * Java container version. + * The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + * The setting in this value can control the behavior of certain features in the Authentication / Authorization module. */ - javaContainerVersion?: string; + runtimeVersion?: string; /** - * App command line to launch. + * The path of the config file containing auth settings if they come from a file. + * If the path is relative, base will the site's root directory. */ - appCommandLine?: string; - /** - * Managed pipeline mode. Possible values include: 'Integrated', 'Classic' - */ - managedPipelineMode?: ManagedPipelineMode; - /** - * Virtual applications. - */ - virtualApplications?: VirtualApplication[]; - /** - * Site load balancing. Possible values include: 'WeightedRoundRobin', 'LeastRequests', - * 'LeastResponseTime', 'WeightedTotalTraffic', 'RequestHash', 'PerSiteRoundRobin' - */ - loadBalancing?: SiteLoadBalancing; - /** - * This is work around for polymorphic types. - */ - experiments?: Experiments; - /** - * Site limits. - */ - limits?: SiteLimits; - /** - * true if Auto Heal is enabled; otherwise, false. - */ - autoHealEnabled?: boolean; + configFilePath?: string; +} + +/** The configuration settings that determines the validation flow of users using App Service Authentication/Authorization. */ +export interface GlobalValidation { + /** true if the authentication flow is required any request is made; otherwise, false. */ + requireAuthentication?: boolean; + /** The action to take when an unauthenticated client attempts to access the app. */ + unauthenticatedClientAction?: UnauthenticatedClientActionV2; /** - * Auto Heal rules. + * The default authentication provider to use when multiple providers are configured. + * This setting is only needed if multiple providers are configured and the unauthenticated client + * action is set to "RedirectToLoginPage". */ - autoHealRules?: AutoHealRules; + redirectToProvider?: string; + /** The paths for which unauthenticated flow would not be redirected to the login page. */ + excludedPaths?: string[]; +} + +/** The configuration settings of each of the identity providers used to configure App Service Authentication/Authorization. */ +export interface IdentityProviders { + /** The configuration settings of the Azure Active directory provider. */ + azureActiveDirectory?: AzureActiveDirectory; + /** The configuration settings of the Facebook provider. */ + facebook?: Facebook; + /** The configuration settings of the GitHub provider. */ + gitHub?: GitHub; + /** The configuration settings of the Google provider. */ + google?: Google; + /** The configuration settings of the Twitter provider. */ + twitter?: Twitter; /** - * Tracing options. + * The map of the name of the alias of each custom Open ID Connect provider to the + * configuration settings of the custom Open ID Connect provider. */ - tracingOptions?: string; + customOpenIdConnectProviders?: { + [propertyName: string]: CustomOpenIdConnectProvider; + }; + /** The configuration settings of the legacy Microsoft Account provider. */ + legacyMicrosoftAccount?: LegacyMicrosoftAccount; + /** The configuration settings of the Apple provider. */ + apple?: Apple; + /** The configuration settings of the Azure Static Web Apps provider. */ + azureStaticWebApps?: AzureStaticWebApps; +} + +/** The configuration settings of the Azure Active directory provider. */ +export interface AzureActiveDirectory { + /** false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the Azure Active Directory app registration. */ + registration?: AzureActiveDirectoryRegistration; + /** The configuration settings of the Azure Active Directory login flow. */ + login?: AzureActiveDirectoryLogin; + /** The configuration settings of the Azure Active Directory token validation flow. */ + validation?: AzureActiveDirectoryValidation; /** - * Virtual Network name. + * Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling. + * This is an internal flag primarily intended to support the Azure Management Portal. Users should not + * read or write to this property. */ - vnetName?: string; + isAutoProvisioned?: boolean; +} + +/** The configuration settings of the checks that should be made while validating the JWT Claims. */ +export interface JwtClaimChecks { + /** The list of the allowed groups. */ + allowedGroups?: string[]; + /** The list of the allowed client applications. */ + allowedClientApplications?: string[]; +} + +/** The configuration settings of the Azure Active Directory default authorization policy. */ +export interface DefaultAuthorizationPolicy { + /** The configuration settings of the Azure Active Directory allowed principals. */ + allowedPrincipals?: AllowedPrincipals; + /** The configuration settings of the Azure Active Directory allowed applications. */ + allowedApplications?: string[]; +} + +/** The configuration settings of the Facebook provider. */ +export interface Facebook { + /** false if the Facebook provider should not be enabled despite the set registration; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the app registration for the Facebook provider. */ + registration?: AppRegistration; + /** The version of the Facebook api to be used while logging in. */ + graphApiVersion?: string; + /** The configuration settings of the login flow. */ + login?: LoginScopes; +} + +/** The configuration settings of the login flow, including the scopes that should be requested. */ +export interface LoginScopes { + /** A list of the scopes that should be requested while authenticating. */ + scopes?: string[]; +} + +/** The configuration settings of the app registration for providers that have client ids and client secrets */ +export interface ClientRegistration { + /** The Client ID of the app used for login. */ + clientId?: string; + /** The app setting name that contains the client secret. */ + clientSecretSettingName?: string; +} + +/** The configuration settings of the Allowed Audiences validation flow. */ +export interface AllowedAudiencesValidation { + /** The configuration settings of the allowed list of audiences from which to validate the JWT token. */ + allowedAudiences?: string[]; +} + +/** The configuration settings of the app registration for the Twitter provider. */ +export interface TwitterRegistration { /** - * Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network - * Security Groups and User Defined Routes applied. + * The OAuth 1.0a consumer key of the Twitter application used for sign-in. + * This setting is required for enabling Twitter Sign-In. + * Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in */ - vnetRouteAllEnabled?: boolean; + consumerKey?: string; /** - * The number of private ports assigned to this app. These will be assigned dynamically on - * runtime. + * The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + * application used for sign-in. */ - vnetPrivatePortsCount?: number; + consumerSecretSettingName?: string; +} + +/** The configuration settings of the app registration for the custom Open ID Connect provider. */ +export interface OpenIdConnectRegistration { + /** The client id of the custom Open ID Connect provider. */ + clientId?: string; + /** The authentication credentials of the custom Open ID Connect provider. */ + clientCredential?: OpenIdConnectClientCredential; + /** The configuration settings of the endpoints used for the custom Open ID Connect provider. */ + openIdConnectConfiguration?: OpenIdConnectConfig; +} + +/** The authentication client credentials of the custom Open ID Connect provider. */ +export interface OpenIdConnectClientCredential { + /** The method that should be used to authenticate the user. */ + method?: "ClientSecretPost"; + /** The app setting that contains the client secret for the custom Open ID Connect provider. */ + clientSecretSettingName?: string; +} + +/** The configuration settings of the endpoints used for the custom Open ID Connect provider. */ +export interface OpenIdConnectConfig { + /** The endpoint to be used to make an authorization request. */ + authorizationEndpoint?: string; + /** The endpoint to be used to request a token. */ + tokenEndpoint?: string; + /** The endpoint that issues the token. */ + issuer?: string; + /** The endpoint that provides the keys necessary to validate the token. */ + certificationUri?: string; + /** The endpoint that contains all the configuration endpoints for the provider. */ + wellKnownOpenIdConfiguration?: string; +} + +/** The configuration settings of the login flow of the custom Open ID Connect provider. */ +export interface OpenIdConnectLogin { + /** The name of the claim that contains the users name. */ + nameClaimType?: string; + /** A list of the scopes that should be requested while authenticating. */ + scopes?: string[]; +} + +/** The configuration settings of the registration for the Apple provider */ +export interface AppleRegistration { + /** The Client ID of the app used for login. */ + clientId?: string; + /** The app setting name that contains the client secret. */ + clientSecretSettingName?: string; +} + +/** The configuration settings of the registration for the Azure Static Web Apps provider */ +export interface AzureStaticWebAppsRegistration { + /** The Client ID of the app used for login. */ + clientId?: string; +} + +/** The configuration settings of the login flow of users using App Service Authentication/Authorization. */ +export interface Login { + /** The routes that specify the endpoints used for login and logout requests. */ + routes?: LoginRoutes; + /** The configuration settings of the token store. */ + tokenStore?: TokenStore; + /** true if the fragments from the request are preserved after the login request is made; otherwise, false. */ + preserveUrlFragmentsForLogins?: boolean; /** - * Cross-Origin Resource Sharing (CORS) settings. + * External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored. + * This is an advanced setting typically only needed by Windows Store application backends. + * Note that URLs within the current domain are always implicitly allowed. */ - cors?: CorsSettings; + allowedExternalRedirectUrls?: string[]; + /** The configuration settings of the session cookie's expiration. */ + cookieExpiration?: CookieExpiration; + /** The configuration settings of the nonce used in the login flow. */ + nonce?: Nonce; +} + +/** The routes that specify the endpoints used for login and logout requests. */ +export interface LoginRoutes { + /** The endpoint at which a logout request should be made. */ + logoutEndpoint?: string; +} + +/** The configuration settings of the token store. */ +export interface TokenStore { /** - * Push endpoint settings. + * true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false. + * The default is false. */ - push?: PushSettings; + enabled?: boolean; /** - * Information about the formal API definition for the app. + * The number of hours after session token expiration that a session token can be used to + * call the token refresh API. The default is 72 hours. */ - apiDefinition?: ApiDefinitionInfo; + tokenRefreshExtensionHours?: number; + /** The configuration settings of the storage of the tokens if a file system is used. */ + fileSystem?: FileSystemTokenStore; + /** The configuration settings of the storage of the tokens if blob storage is used. */ + azureBlobStorage?: BlobStorageTokenStore; +} + +/** The configuration settings of the storage of the tokens if a file system is used. */ +export interface FileSystemTokenStore { + /** The directory in which the tokens will be stored. */ + directory?: string; +} + +/** The configuration settings of the session cookie's expiration. */ +export interface CookieExpiration { + /** The convention used when determining the session cookie's expiration. */ + convention?: CookieExpirationConvention; + /** The time after the request is made when the session cookie should expire. */ + timeToExpiration?: string; +} + +/** The configuration settings of the nonce used in the login flow. */ +export interface Nonce { + /** false if the nonce should not be validated while completing the login flow; otherwise, true. */ + validateNonce?: boolean; + /** The time after the request is made when the nonce should expire. */ + nonceExpirationInterval?: string; +} + +/** The configuration settings of the HTTP requests for authentication and authorization requests made against App Service Authentication/Authorization. */ +export interface HttpSettings { + /** false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true. */ + requireHttps?: boolean; + /** The configuration settings of the paths HTTP requests. */ + routes?: HttpSettingsRoutes; + /** The configuration settings of a forward proxy used to make the requests. */ + forwardProxy?: ForwardProxy; +} + +/** The configuration settings of the paths HTTP requests. */ +export interface HttpSettingsRoutes { + /** The prefix that should precede all the authentication/authorization paths. */ + apiPrefix?: string; +} + +/** The configuration settings of a forward proxy used to make the requests. */ +export interface ForwardProxy { + /** The convention used to determine the url of the request made. */ + convention?: ForwardProxyConvention; + /** The name of the header containing the host of the request. */ + customHostHeaderName?: string; + /** The name of the header containing the scheme of the request. */ + customProtoHeaderName?: string; +} + +export interface ApiKVReferenceCollection { + /** Collection of resources. */ + value: ApiKVReference[]; /** - * Azure API management settings linked to the app. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - apiManagementConfig?: ApiManagementConfig; + readonly nextLink?: string; +} + +/** Database connection string value to type pair. */ +export interface ConnStringValueTypePair { + /** Value of pair. */ + value: string; + /** Type of database. */ + type: ConnectionStringType; +} + +/** Application logs configuration. */ +export interface ApplicationLogsConfig { + /** Application logs to file system configuration. */ + fileSystem?: FileSystemApplicationLogsConfig; + /** Application logs to azure table storage configuration. */ + azureTableStorage?: AzureTableStorageApplicationLogsConfig; + /** Application logs to blob storage configuration. */ + azureBlobStorage?: AzureBlobStorageApplicationLogsConfig; +} + +/** Application logs to file system configuration. */ +export interface FileSystemApplicationLogsConfig { + /** Log level. */ + level?: LogLevel; +} + +/** Application logs to Azure table storage configuration. */ +export interface AzureTableStorageApplicationLogsConfig { + /** Log level. */ + level?: LogLevel; + /** SAS URL to an Azure table with add/query/delete permissions. */ + sasUrl: string; +} + +/** Application logs azure blob storage configuration. */ +export interface AzureBlobStorageApplicationLogsConfig { + /** Log level. */ + level?: LogLevel; + /** SAS url to a azure blob container with read/write/list/delete permissions. */ + sasUrl?: string; /** - * Auto-swap slot name. + * Retention in days. + * Remove blobs older than X days. + * 0 or lower means no retention. */ - autoSwapSlotName?: string; + retentionInDays?: number; +} + +/** Http logs configuration. */ +export interface HttpLogsConfig { + /** Http logs to file system configuration. */ + fileSystem?: FileSystemHttpLogsConfig; + /** Http logs to azure blob storage configuration. */ + azureBlobStorage?: AzureBlobStorageHttpLogsConfig; +} + +/** Http logs to file system configuration. */ +export interface FileSystemHttpLogsConfig { /** - * true to enable local MySQL; otherwise, false. Default value: false. + * Maximum size in megabytes that http log files can use. + * When reached old log files will be removed to make space for new ones. + * Value can range between 25 and 100. */ - localMySqlEnabled?: boolean; + retentionInMb?: number; /** - * Managed Service Identity Id + * Retention in days. + * Remove files older than X days. + * 0 or lower means no retention. */ - managedServiceIdentityId?: number; + retentionInDays?: number; + /** True if configuration is enabled, false if it is disabled and null if configuration is not set. */ + enabled?: boolean; +} + +/** Http logs to azure blob storage configuration. */ +export interface AzureBlobStorageHttpLogsConfig { + /** SAS url to a azure blob container with read/write/list/delete permissions. */ + sasUrl?: string; /** - * Explicit Managed Service Identity Id + * Retention in days. + * Remove blobs older than X days. + * 0 or lower means no retention. */ - xManagedServiceIdentityId?: number; + retentionInDays?: number; + /** True if configuration is enabled, false if it is disabled and null if configuration is not set. */ + enabled?: boolean; +} + +/** Enabled configuration. */ +export interface EnabledConfig { + /** True if configuration is enabled, false if it is disabled and null if configuration is not set. */ + enabled?: boolean; +} + +/** Collection of metadata for the app configuration snapshots that can be restored. */ +export interface SiteConfigurationSnapshotInfoCollection { + /** Collection of resources. */ + value: SiteConfigurationSnapshotInfo[]; /** - * Identity to use for Key Vault Reference authentication. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - keyVaultReferenceIdentity?: string; + readonly nextLink?: string; +} + +/** Collection of Kudu continuous web job information elements. */ +export interface ContinuousWebJobCollection { + /** Collection of resources. */ + value: ContinuousWebJob[]; /** - * IP security restrictions for main. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - ipSecurityRestrictions?: IpSecurityRestriction[]; + readonly nextLink?: string; +} + +/** Collection of app deployments. */ +export interface DeploymentCollection { + /** Collection of resources. */ + value: Deployment[]; /** - * IP security restrictions for scm. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - scmIpSecurityRestrictions?: IpSecurityRestriction[]; + readonly nextLink?: string; +} + +/** MSDeploy log entry */ +export interface MSDeployLogEntry { /** - * IP security restrictions for scm to use main. + * Timestamp of log entry + * NOTE: This property will not be serialized. It can only be populated by the server. */ - scmIpSecurityRestrictionsUseMain?: boolean; + readonly time?: Date; /** - * Http20Enabled: configures a web site to allow clients to connect over http2.0. Default value: - * true. + * Log entry type + * NOTE: This property will not be serialized. It can only be populated by the server. */ - http20Enabled?: boolean; + readonly type?: MSDeployLogEntryType; /** - * MinTlsVersion: configures the minimum version of TLS required for SSL requests. Possible - * values include: '1.0', '1.1', '1.2' + * Log entry message + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minTlsVersion?: SupportedTlsVersions; + readonly message?: string; +} + +/** Collection of Kudu function information elements. */ +export interface FunctionEnvelopeCollection { + /** Collection of resources. */ + value: FunctionEnvelope[]; /** - * ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM - * site. Possible values include: '1.0', '1.1', '1.2' + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - scmMinTlsVersion?: SupportedTlsVersions; + readonly nextLink?: string; +} + +/** Function key info. */ +export interface KeyInfo { + /** Key name */ + name?: string; + /** Key value */ + value?: string; +} + +/** Function secrets. */ +export interface FunctionSecrets { + /** Secret key. */ + key?: string; + /** Trigger URL. */ + triggerUrl?: string; +} + +/** Functions host level keys. */ +export interface HostKeys { + /** Secret key. */ + masterKey?: string; + /** Host level function keys. */ + functionKeys?: { [propertyName: string]: string }; + /** System keys. */ + systemKeys?: { [propertyName: string]: string }; +} + +/** Collection of hostname bindings. */ +export interface HostNameBindingCollection { + /** Collection of resources. */ + value: HostNameBinding[]; /** - * State of FTP / FTPS service. Possible values include: 'AllAllowed', 'FtpsOnly', 'Disabled' + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - ftpsState?: FtpsState; + readonly nextLink?: string; +} + +/** Collection of app instances. */ +export interface WebAppInstanceStatusCollection { + /** Collection of resources. */ + value: WebSiteInstanceStatus[]; /** - * Number of preWarmed instances. - * This setting only applies to the Consumption and Elastic Plans + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - preWarmedInstanceCount?: number; + readonly nextLink?: string; +} + +export interface ContainerInfo { + currentTimeStamp?: Date; + previousTimeStamp?: Date; + currentCpuStats?: ContainerCpuStatistics; + previousCpuStats?: ContainerCpuStatistics; + memoryStats?: ContainerMemoryStatistics; + name?: string; + id?: string; + eth0?: ContainerNetworkInterfaceStatistics; +} + +export interface ContainerCpuStatistics { + cpuUsage?: ContainerCpuUsage; + systemCpuUsage?: number; + onlineCpuCount?: number; + throttlingData?: ContainerThrottlingData; +} + +export interface ContainerCpuUsage { + totalUsage?: number; + perCpuUsage?: number[]; + kernelModeUsage?: number; + userModeUsage?: number; +} + +export interface ContainerThrottlingData { + periods?: number; + throttledPeriods?: number; + throttledTime?: number; +} + +export interface ContainerMemoryStatistics { + usage?: number; + maxUsage?: number; + limit?: number; +} + +export interface ContainerNetworkInterfaceStatistics { + rxBytes?: number; + rxPackets?: number; + rxErrors?: number; + rxDropped?: number; + txBytes?: number; + txPackets?: number; + txErrors?: number; + txDropped?: number; +} + +/** Collection of Kudu process information elements. */ +export interface ProcessInfoCollection { + /** Collection of resources. */ + value: ProcessInfo[]; /** - * Maximum number of workers that a site can scale out to. - * This setting only applies to the Consumption and Elastic Premium Plans + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - functionAppScaleLimit?: number; + readonly nextLink?: string; +} + +/** Collection of Kudu thread information elements. */ +export interface ProcessModuleInfoCollection { + /** Collection of resources. */ + value: ProcessModuleInfo[]; /** - * Health check path + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - healthCheckPath?: string; + readonly nextLink?: string; +} + +/** Collection of Kudu thread information elements. */ +export interface ProcessThreadInfoCollection { + /** Collection of resources. */ + value: ProcessThreadInfo[]; /** - * Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When - * enabled, - * the ScaleController will not monitor event sources directly, but will instead call to the - * runtime to get scale status. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - functionsRuntimeScaleMonitoringEnabled?: boolean; + readonly nextLink?: string; +} + +/** Represents whether or not an app is cloneable. */ +export interface SiteCloneability { + /** Name of app. */ + result?: CloneAbilityResult; + /** List of features enabled on app that prevent cloning. */ + blockingFeatures?: SiteCloneabilityCriterion[]; /** - * Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows - * App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For - * Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see - * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the - * time zones listed under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time - * Zones + * List of features enabled on app that are non-blocking but cannot be cloned. The app can still be cloned + * but the features in this list will not be set up on cloned app. */ - websiteTimeZone?: string; + unsupportedFeatures?: SiteCloneabilityCriterion[]; + /** List of blocking application characteristics. */ + blockingCharacteristics?: SiteCloneabilityCriterion[]; +} + +/** An app cloneability criterion. */ +export interface SiteCloneabilityCriterion { + /** Name of criterion. */ + name?: string; + /** Description of criterion. */ + description?: string; +} + +/** Network trace */ +export interface NetworkTrace { + /** Local file path for the captured network trace file. */ + path?: string; + /** Current status of the network trace operation, same as Operation.Status (InProgress/Succeeded/Failed). */ + status?: string; + /** Detailed message of a network trace operation, e.g. error message in case of failure. */ + message?: string; +} + +/** Collection of performance monitor counters. */ +export interface PerfMonCounterCollection { + /** Collection of resources. */ + value: PerfMonResponse[]; /** - * Number of minimum instance count for a site - * This setting only applies to the Elastic Plans + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minimumElasticInstanceCount?: number; + readonly nextLink?: string; +} + +/** Performance monitor API response. */ +export interface PerfMonResponse { + /** The response code. */ + code?: string; + /** The message. */ + message?: string; + /** The performance monitor counters. */ + data?: PerfMonSet; +} + +/** Metric information. */ +export interface PerfMonSet { + /** Unique key name of the counter. */ + name?: string; + /** Start time of the period. */ + startTime?: Date; + /** End time of the period. */ + endTime?: Date; + /** Presented time grain. */ + timeGrain?: string; + /** Collection of workers that are active during this time. */ + values?: PerfMonSample[]; +} + +/** Performance monitor sample in a set. */ +export interface PerfMonSample { + /** Point in time for which counter was measured. */ + time?: Date; + /** Name of the server on which the measurement is made. */ + instanceName?: string; + /** Value of counter at a certain time. */ + value?: number; +} + +/** Description of a Virtual Network that is useable for private site access. */ +export interface PrivateAccessVirtualNetwork { + /** The name of the Virtual Network. */ + name?: string; + /** The key (ID) of the Virtual Network. */ + key?: number; + /** The ARM uri of the Virtual Network */ + resourceId?: string; + /** A List of subnets that access is allowed to on this Virtual Network. An empty array (but not null) is interpreted to mean that all subnets are allowed within this Virtual Network. */ + subnets?: PrivateAccessSubnet[]; +} + +/** Description of a Virtual Network subnet that is useable for private site access. */ +export interface PrivateAccessSubnet { + /** The name of the subnet. */ + name?: string; + /** The key (ID) of the subnet. */ + key?: number; +} + +/** Collection of public certificates */ +export interface PublicCertificateCollection { + /** Collection of resources. */ + value: PublicCertificate[]; /** - * List of Azure Storage Accounts. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - azureStorageAccounts?: { [propertyName: string]: AzureStorageInfoValue }; + readonly nextLink?: string; +} + +/** Publishing options for requested profile. */ +export interface CsmPublishingProfileOptions { /** - * Property to allow or block all public traffic. + * Name of the format. Valid values are: + * FileZilla3 + * WebDeploy -- default + * Ftp */ - publicNetworkAccess?: string; + format?: PublishingProfileFormat; + /** Include the DisasterRecover endpoint if true */ + includeDisasterRecoveryEndpoints?: boolean; } -/** - * SSL-enabled hostname. - */ -export interface HostNameSslState { +/** Specifies the web app that snapshot contents will be retrieved from. */ +export interface SnapshotRecoverySource { + /** Geographical location of the source web app, e.g. SouthEastAsia, SouthCentralUS */ + location?: string; /** - * Hostname. + * ARM resource ID of the source app. + * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and + * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. */ - name?: string; + id?: string; +} + +/** Collection of Kudu site extension information elements. */ +export interface SiteExtensionInfoCollection { + /** Collection of resources. */ + value: SiteExtensionInfo[]; /** - * SSL type. Possible values include: 'Disabled', 'SniEnabled', 'IpBasedEnabled' + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sslState?: SslState; + readonly nextLink?: string; +} + +/** Collection of slot differences. */ +export interface SlotDifferenceCollection { + /** Collection of resources. */ + value: SlotDifference[]; /** - * Virtual IP address assigned to the hostname if IP based SSL is enabled. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - virtualIP?: string; + readonly nextLink?: string; +} + +/** Collection of snapshots which can be used to revert an app to a previous time. */ +export interface SnapshotCollection { + /** Collection of resources. */ + value: Snapshot[]; /** - * SSL certificate thumbprint. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - thumbprint?: string; + readonly nextLink?: string; +} + +/** The GitHub action configuration. */ +export interface GitHubActionConfiguration { + /** GitHub Action code configuration. */ + codeConfiguration?: GitHubActionCodeConfiguration; + /** GitHub Action container configuration. */ + containerConfiguration?: GitHubActionContainerConfiguration; + /** This will help determine the workflow configuration to select. */ + isLinux?: boolean; + /** Workflow option to determine whether the workflow file should be generated and written to the repository. */ + generateWorkflowFile?: boolean; +} + +/** The GitHub action code configuration. */ +export interface GitHubActionCodeConfiguration { + /** Runtime stack is used to determine the workflow file content for code base apps. */ + runtimeStack?: string; + /** Runtime version is used to determine what build version to set in the workflow file. */ + runtimeVersion?: string; +} + +/** The GitHub action container configuration. */ +export interface GitHubActionContainerConfiguration { + /** The server URL for the container registry where the build will be hosted. */ + serverUrl?: string; + /** The image name for the build. */ + imageName?: string; + /** The username used to upload the image to the container registry. */ + username?: string; + /** The password used to upload the image to the container registry. */ + password?: string; +} + +/** Collection of Kudu continuous web job information elements. */ +export interface TriggeredWebJobCollection { + /** Collection of resources. */ + value: TriggeredWebJob[]; /** - * Set to true to update existing hostname. + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - toUpdate?: boolean; + readonly nextLink?: string; +} + +/** Triggered Web Job Run Information. */ +export interface TriggeredJobRun { + /** Job ID. */ + webJobId?: string; + /** Job name. */ + webJobName?: string; + /** Job status. */ + status?: TriggeredWebJobStatus; + /** Start time. */ + startTime?: Date; + /** End time. */ + endTime?: Date; + /** Job duration. */ + duration?: string; + /** Output URL. */ + outputUrl?: string; + /** Error URL. */ + errorUrl?: string; + /** Job URL. */ + url?: string; + /** Job name. */ + jobName?: string; + /** Job trigger. */ + trigger?: string; +} + +/** Collection of Kudu continuous web job information elements. */ +export interface TriggeredJobHistoryCollection { + /** Collection of resources. */ + value: TriggeredJobHistory[]; /** - * Indicates whether the hostname is a standard or repository hostname. Possible values include: - * 'Standard', 'Repository' + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hostType?: HostType; + readonly nextLink?: string; } -/** - * A web app, a mobile app backend, or an API app. - */ -export interface Site extends Resource { +/** Collection of Kudu web job information elements. */ +export interface WebJobCollection { + /** Collection of resources. */ + value: WebJob[]; /** - * Current state of the app. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to next page of resources. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: string; + readonly nextLink?: string; +} + +/** SSL certificate purchase order. */ +export type AppServiceCertificateOrder = Resource & { + /** State of the Key Vault secret. */ + certificates?: { [propertyName: string]: AppServiceCertificate }; + /** Certificate distinguished name. */ + distinguishedName?: string; /** - * Hostnames associated with the app. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Domain verification token. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly hostNames?: string[]; + readonly domainVerificationToken?: string; + /** Duration in years (must be 1). */ + validityInYears?: number; + /** Certificate key size. */ + keySize?: number; + /** Certificate product type. */ + productType?: CertificateProductType; + /** true if the certificate should be automatically renewed when it expires; otherwise, false. */ + autoRenew?: boolean; /** - * Name of the repository site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of certificate order. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly repositorySiteName?: string; + readonly provisioningState?: ProvisioningState; /** - * State indicating whether the app has exceeded its quota usage. Read-only. Possible values - * include: 'Normal', 'Exceeded' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Current order status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly usageState?: UsageState; + readonly status?: CertificateOrderStatus; /** - * true if the app is enabled; otherwise, false. Setting this value to - * false disables the app (takes the app offline). + * Signed certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - enabled?: boolean; + readonly signedCertificate?: CertificateDetails; + /** Last CSR that was created for this order. */ + csr?: string; /** - * Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. - * Otherwise, - * the app is not served on those hostnames. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Intermediate certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly enabledHostNames?: string[]; + readonly intermediate?: CertificateDetails; /** - * Management information availability state for the app. Possible values include: 'Normal', - * 'Limited', 'DisasterRecoveryMode' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Root certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly availabilityState?: SiteAvailabilityState; + readonly root?: CertificateDetails; /** - * Hostname SSL states are used to manage the SSL bindings for app's hostnames. + * Current serial number of the certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hostNameSslStates?: HostNameSslState[]; + readonly serialNumber?: string; + /** + * Certificate last issuance time. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastCertificateIssuanceTime?: Date; /** - * Resource ID of the associated App Service plan, formatted as: - * "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + * Certificate expiration time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverFarmId?: string; + readonly expirationTime?: Date; /** - * true if reserved; otherwise, false. Default value: false. + * true if private key is external; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reserved?: boolean; + readonly isPrivateKeyExternal?: boolean; /** - * Obsolete: Hyper-V sandbox. Default value: false. + * Reasons why App Service Certificate is not renewable at the current moment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isXenon?: boolean; + readonly appServiceCertificateNotRenewableReasons?: AppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem[]; + /** + * Time stamp when the certificate would be auto renewed next + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextAutoRenewalTimeStamp?: Date; + /** + * Contact info + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly contact?: CertificateOrderContact; +}; + +/** Key Vault container ARM resource for a certificate that is purchased through Azure. */ +export type AppServiceCertificateResource = Resource & { + /** Key Vault resource Id. */ + keyVaultId?: string; + /** Key Vault secret name. */ + keyVaultSecretName?: string; + /** + * Status of the Key Vault secret. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: KeyVaultSecretStatus; +}; + +/** Information about a domain. */ +export type Domain = Resource & { + /** Administrative contact. */ + contactAdmin?: Contact; + /** Billing contact. */ + contactBilling?: Contact; + /** Registrant contact. */ + contactRegistrant?: Contact; + /** Technical contact. */ + contactTech?: Contact; + /** + * Domain registration status. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly registrationStatus?: DomainStatus; + /** + * Domain provisioning state. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * Name servers. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nameServers?: string[]; + /** true if domain privacy is enabled for this domain; otherwise, false. */ + privacy?: boolean; + /** + * Domain creation timestamp. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdTime?: Date; + /** + * Domain expiration timestamp. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly expirationTime?: Date; + /** + * Timestamp when the domain was renewed last time. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastRenewedTime?: Date; + /** true if the domain should be automatically renewed; otherwise, false. */ + autoRenew?: boolean; + /** + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and + * it is hosted on name servers Azure has programmatic access to. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly readyForDnsRecordManagement?: boolean; + /** + * All hostnames derived from the domain and assigned to Azure resources. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly managedHostNames?: HostName[]; + /** Legal agreement consent. */ + consent?: DomainPurchaseConsent; + /** + * Reasons why domain is not renewable. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly domainNotRenewableReasons?: DomainPropertiesDomainNotRenewableReasonsItem[]; + /** Current DNS type */ + dnsType?: DnsType; + /** Azure DNS Zone to use */ + dnsZoneId?: string; + /** Target DNS type (would be used for migration) */ + targetDnsType?: DnsType; + authCode?: string; +}; + +/** App Service Environment ARM resource. */ +export type AppServiceEnvironmentResource = Resource & { + /** + * Provisioning state of the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * Current status of the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: HostingEnvironmentStatus; + /** Description of the Virtual Network. */ + virtualNetwork?: VirtualNetworkProfile; + /** Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. */ + internalLoadBalancingMode?: LoadBalancingMode; + /** Front-end VM size, e.g. "Medium", "Large". */ + multiSize?: string; + /** + * Number of front-end instances. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly multiRoleCount?: number; + /** Number of IP SSL addresses reserved for the App Service Environment. */ + ipsslAddressCount?: number; + /** DNS suffix of the App Service Environment. */ + dnsSuffix?: string; + /** + * Maximum number of VMs in the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly maximumNumberOfMachines?: number; + /** Scale factor for front-ends. */ + frontEndScaleFactor?: number; + /** + * true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available + * (most likely because NSG blocked the incoming traffic). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly suspended?: boolean; + /** Custom settings for changing the behavior of the App Service Environment. */ + clusterSettings?: NameValuePair[]; + /** User added ip ranges to whitelist on ASE db */ + userWhitelistedIpRanges?: string[]; + /** + * Flag that displays whether an ASE has linux workers or not + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly hasLinuxWorkers?: boolean; + /** Dedicated Host Count */ + dedicatedHostCount?: number; + /** Whether or not this App Service Environment is zone-redundant. */ + zoneRedundant?: boolean; +}; + +/** A web app, a mobile app backend, or an API app. */ +export type Site = Resource & { + /** Managed service identity. */ + identity?: ManagedServiceIdentity; + /** Extended Location. */ + extendedLocation?: ExtendedLocation; + /** + * Current state of the app. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly state?: string; + /** + * Hostnames associated with the app. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly hostNames?: string[]; + /** + * Name of the repository site. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly repositorySiteName?: string; + /** + * State indicating whether the app has exceeded its quota usage. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly usageState?: UsageState; + /** true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline). */ + enabled?: boolean; + /** + * Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, + * the app is not served on those hostnames. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly enabledHostNames?: string[]; /** - * Hyper-V sandbox. Default value: false. + * Management information availability state for the app. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly availabilityState?: SiteAvailabilityState; + /** Hostname SSL states are used to manage the SSL bindings for app's hostnames. */ + hostNameSslStates?: HostNameSslState[]; + /** Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". */ + serverFarmId?: string; + /** true if reserved; otherwise, false. */ + reserved?: boolean; + /** Obsolete: Hyper-V sandbox. */ + isXenon?: boolean; + /** Hyper-V sandbox. */ hyperV?: boolean; /** * Last time the app was modified, in UTC. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly lastModifiedTimeUtc?: Date; - /** - * Configuration of the app. - */ + /** Configuration of the app. */ siteConfig?: SiteConfig; /** * Azure Traffic Manager hostnames associated with the app. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly trafficManagerHostNames?: string[]; - /** - * true to stop SCM (KUDU) site when the app is stopped; otherwise, - * false. The default is false. Default value: false. - */ + /** true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false. */ scmSiteAlsoStopped?: boolean; /** * Specifies which deployment slot this app will swap into. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly targetSwapSlot?: string; - /** - * App Service Environment to use for the app. - */ + /** App Service Environment to use for the app. */ hostingEnvironmentProfile?: HostingEnvironmentProfile; - /** - * true to enable client affinity; false to stop sending session - * affinity cookies, which route client requests in the same session to the same instance. - * Default is true. - */ + /** true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true. */ clientAffinityEnabled?: boolean; - /** - * true to enable client certificate authentication (TLS mutual authentication); - * otherwise, false. Default is false. - */ + /** true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false. */ clientCertEnabled?: boolean; /** * This composes with ClientCertEnabled setting. * - ClientCertEnabled: false means ClientCert is ignored. * - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. - * - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or - * accepted. Possible values include: 'Required', 'Optional', 'OptionalInteractiveUser' + * - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted. */ clientCertMode?: ClientCertMode; - /** - * client certificate authentication comma-separated exclusion paths - */ + /** client certificate authentication comma-separated exclusion paths */ clientCertExclusionPaths?: string; /** * true to disable the public hostnames of the app; otherwise, false. - * If true, the app is only accessible via API management process. + * If true, the app is only accessible via API management process. */ hostNamesDisabled?: boolean; - /** - * Unique identifier that verifies the custom domains assigned to the app. Customer will add this - * id to a txt record for verification. - */ + /** Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification. */ customDomainVerificationId?: string; /** - * List of IP addresses that the app uses for outbound connections (e.g. database access). - * Includes VIPs from tenants that site can be hosted with current settings. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly outboundIpAddresses?: string; /** - * List of IP addresses that the app uses for outbound connections (e.g. database access). - * Includes VIPs from all tenants except dataComponent. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants except dataComponent. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly possibleOutboundIpAddresses?: string; - /** - * Size of the function container. - */ + /** Size of the function container. */ containerSize?: number; - /** - * Maximum allowed daily memory-time quota (applicable on dynamic apps only). - */ + /** Maximum allowed daily memory-time quota (applicable on dynamic apps only). */ dailyMemoryTimeQuota?: number; /** * App suspended till in case memory-time quota is exceeded. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly suspendedTill?: Date; /** * Maximum number of workers. * This only applies to Functions container. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly maxNumberOfWorkers?: number; - /** - * If specified during app creation, the app is cloned from a source app. - */ + /** If specified during app creation, the app is cloned from a source app. */ cloningInfo?: CloningInfo; /** * Name of the resource group the app belongs to. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly resourceGroup?: string; /** * true if the app is a default container; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly isDefaultContainer?: boolean; /** * Default hostname of the app. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly defaultHostName?: string; /** * Status of the last deployment slot swap operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly slotSwapStatus?: SlotSwapStatus; /** @@ -2207,9777 +4134,3848 @@ export interface Site extends Resource { * http requests */ httpsOnly?: boolean; - /** - * Site redundancy mode. Possible values include: 'None', 'Manual', 'Failover', 'ActiveActive', - * 'GeoRedundant' - */ + /** Site redundancy mode */ redundancyMode?: RedundancyMode; /** * Specifies an operation id if this site has a pending operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly inProgressOperationId?: string; - /** - * Checks if Customer provided storage account is required - */ + /** Checks if Customer provided storage account is required */ storageAccountRequired?: boolean; - /** - * Identity to use for Key Vault Reference authentication. - */ + /** Identity to use for Key Vault Reference authentication. */ keyVaultReferenceIdentity?: string; /** - * Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET - * Integration. - * This must be of the form - * /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} + * Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET Integration. + * This must be of the form /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} */ virtualNetworkSubnetId?: string; - identity?: ManagedServiceIdentity; -} +}; -/** - * Describes the capabilities/features allowed for a specific SKU. - */ -export interface Capability { +/** App Service plan. */ +export type AppServicePlan = Resource & { + /** Description of a SKU for a scalable resource. */ + sku?: SkuDescription; + /** Extended Location. */ + extendedLocation?: ExtendedLocation; + /** Target worker tier assigned to the App Service plan. */ + workerTierName?: string; /** - * Name of the SKU capability. + * App Service plan status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly status?: StatusOptions; /** - * Value of the SKU capability. + * App Service plan subscription. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - value?: string; + readonly subscription?: string; + /** Specification for the App Service Environment to use for the App Service plan. */ + hostingEnvironmentProfile?: HostingEnvironmentProfile; /** - * Reason of the SKU capability. + * Maximum number of instances that can be assigned to this App Service plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} - -/** - * Description of the App Service plan scale options. - */ -export interface SkuCapacity { + readonly maximumNumberOfWorkers?: number; /** - * Minimum number of workers for this App Service plan SKU. + * Geographical location for the App Service plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minimum?: number; + readonly geoRegion?: string; /** - * Maximum number of workers for this App Service plan SKU. + * If true, apps assigned to this App Service plan can be scaled independently. + * If false, apps assigned to this App Service plan will scale to all instances of the plan. */ - maximum?: number; + perSiteScaling?: boolean; + /** ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was ElasticPremium sku */ + elasticScaleEnabled?: boolean; + /** Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan */ + maximumElasticWorkerCount?: number; /** - * Maximum number of Elastic workers for this App Service plan SKU. + * Number of apps assigned to this App Service plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - elasticMaximum?: number; + readonly numberOfSites?: number; + /** If true, this App Service Plan owns spot instances. */ + isSpot?: boolean; + /** The time when the server farm expires. Valid only if it is a spot server farm. */ + spotExpirationTime?: Date; + /** The time when the server farm free offer expires. */ + freeOfferExpirationTime?: Date; /** - * Default number of workers for this App Service plan SKU. + * Resource group of the App Service plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - default?: number; + readonly resourceGroup?: string; + /** If Linux app service plan true, false otherwise. */ + reserved?: boolean; + /** Obsolete: If Hyper-V container app service plan true, false otherwise. */ + isXenon?: boolean; + /** If Hyper-V container app service plan true, false otherwise. */ + hyperV?: boolean; + /** Scaling worker count. */ + targetWorkerCount?: number; + /** Scaling worker size ID. */ + targetWorkerSizeId?: number; /** - * Available scale configurations for an App Service plan. + * Provisioning state of the App Service Plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - scaleType?: string; -} - -/** - * Description of a SKU for a scalable resource. - */ -export interface SkuDescription { + readonly provisioningState?: ProvisioningState; + /** Specification for the Kubernetes Environment to use for the App Service plan. */ + kubeEnvironmentProfile?: KubeEnvironmentProfile; /** - * Name of the resource SKU. + * If true, this App Service Plan will perform availability zone balancing. + * If false, this App Service Plan will not perform availability zone balancing. */ - name?: string; + zoneRedundant?: boolean; +}; + +/** SSL certificate for an app. */ +export type Certificate = Resource & { + /** Certificate password. */ + password?: string; /** - * Service tier of the resource SKU. + * Friendly name of the certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tier?: string; + readonly friendlyName?: string; /** - * Size specifier of the resource SKU. + * Subject name of the certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - size?: string; + readonly subjectName?: string; + /** Host names the certificate applies to. */ + hostNames?: string[]; + /** Pfx blob. */ + pfxBlob?: Uint8Array; /** - * Family code of the resource SKU. + * App name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - family?: string; + readonly siteName?: string; /** - * Current number of instances assigned to the resource. + * Self link. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - capacity?: number; + readonly selfLink?: string; /** - * Min, max, and default scale values of the SKU. + * Certificate issuer. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - skuCapacity?: SkuCapacity; + readonly issuer?: string; /** - * Locations of the SKU. + * Certificate issue Date. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - locations?: string[]; + readonly issueDate?: Date; /** - * Capabilities of the SKU, e.g., is traffic manager enabled? + * Certificate expiration date. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - capabilities?: Capability[]; -} - -/** - * Specification for a Kubernetes Environment to use for this resource. - */ -export interface KubeEnvironmentProfile { + readonly expirationDate?: Date; /** - * Resource ID of the Kubernetes Environment. + * Certificate thumbprint. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - id?: string; + readonly thumbprint?: string; /** - * Name of the Kubernetes Environment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Is the certificate valid?. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly valid?: boolean; /** - * Resource type of the Kubernetes Environment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Raw bytes of .cer file + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; -} - -/** - * App Service plan. - */ -export interface AppServicePlan extends Resource { + readonly cerBlob?: Uint8Array; /** - * Target worker tier assigned to the App Service plan. + * Public key hash. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - workerTierName?: string; + readonly publicKeyHash?: string; /** - * App Service plan status. Possible values include: 'Ready', 'Pending', 'Creating' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specification for the App Service Environment to use for the certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: StatusOptions; + readonly hostingEnvironmentProfile?: HostingEnvironmentProfile; + /** Key Vault Csm resource Id. */ + keyVaultId?: string; + /** Key Vault secret name. */ + keyVaultSecretName?: string; /** - * App Service plan subscription. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of the Key Vault secret. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly subscription?: string; + readonly keyVaultSecretStatus?: KeyVaultSecretStatus; + /** Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". */ + serverFarmId?: string; + /** CNAME of the certificate to be issued via free certificate */ + canonicalName?: string; + /** Method of domain validation for free cert */ + domainValidationMethod?: string; +}; + +/** A Kubernetes cluster specialized for web workloads by Azure App Service */ +export type KubeEnvironment = Resource & { + /** Extended Location. */ + extendedLocation?: ExtendedLocation; /** - * Specification for the App Service Environment to use for the App Service plan. + * Provisioning state of the Kubernetes Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hostingEnvironmentProfile?: HostingEnvironmentProfile; + readonly provisioningState?: KubeEnvironmentProvisioningState; /** - * Maximum number of instances that can be assigned to this App Service plan. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Any errors that occurred during deployment or deployment validation + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maximumNumberOfWorkers?: number; + readonly deploymentErrors?: string; + /** Only visible within Vnet/Subnet */ + internalLoadBalancerEnabled?: boolean; /** - * Geographical location for the App Service plan. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Default Domain Name for the cluster + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly geoRegion?: string; + readonly defaultDomain?: string; + /** Static IP of the KubeEnvironment */ + staticIp?: string; /** - * If true, apps assigned to this App Service plan can be scaled independently. - * If false, apps assigned to this App Service plan will scale to all instances of - * the plan. Default value: false. + * Cluster configuration which determines the ARC cluster + * components types. Eg: Choosing between BuildService kind, + * FrontEnd Service ArtifactsStorageType etc. */ - perSiteScaling?: boolean; + arcConfiguration?: ArcConfiguration; /** - * Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan + * Cluster configuration which enables the log daemon to export + * app logs to a destination. Currently only "log-analytics" is + * supported */ - maximumElasticWorkerCount?: number; + appLogsConfiguration?: AppLogsConfiguration; + aksResourceID?: string; +}; + +/** Static Site ARM resource. */ +export type StaticSiteARMResource = Resource & { + /** Description of a SKU for a scalable resource. */ + sku?: SkuDescription; + /** Managed service identity. */ + identity?: ManagedServiceIdentity; /** - * Number of apps assigned to this App Service plan. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The default autogenerated hostname for the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly numberOfSites?: number; + readonly defaultHostname?: string; + /** URL for the repository of the static site. */ + repositoryUrl?: string; + /** The target branch in the repository. */ + branch?: string; /** - * If true, this App Service Plan owns spot instances. + * The custom domains associated with this static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isSpot?: boolean; + readonly customDomains?: string[]; + /** A user's github repository token. This is used to setup the Github Actions workflow file and API secrets. */ + repositoryToken?: string; + /** Build properties to configure on the repository. */ + buildProperties?: StaticSiteBuildProperties; /** - * The time when the server farm expires. Valid only if it is a spot server farm. + * Private endpoint connections + * NOTE: This property will not be serialized. It can only be populated by the server. */ - spotExpirationTime?: Date; + readonly privateEndpointConnections?: ResponseMessageEnvelopeRemotePrivateEndpointConnection[]; + /** State indicating whether staging environments are allowed or not allowed for a static web app. */ + stagingEnvironmentPolicy?: StagingEnvironmentPolicy; + /** false if config file is locked for this static web app; otherwise, true. */ + allowConfigFileUpdates?: boolean; + /** Template options for generating a new repository. */ + templateProperties?: StaticSiteTemplateOptions; /** - * The time when the server farm free offer expires. + * The content distribution endpoint for the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - freeOfferExpirationTime?: Date; + readonly contentDistributionEndpoint?: string; /** - * Resource group of the App Service plan. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Identity to use for Key Vault Reference authentication. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resourceGroup?: string; + readonly keyVaultReferenceIdentity?: string; /** - * If Linux app service plan true, false otherwise. Default value: - * false. + * User provided function apps registered with the static site + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reserved?: boolean; + readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; /** - * Obsolete: If Hyper-V container app service plan true, false - * otherwise. Default value: false. + * The provider that submitted the last deployment to the primary environment of the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isXenon?: boolean; + readonly provider?: string; +}; + +/** Premier add-on. */ +export type PremierAddOn = Resource & { + /** Premier add on SKU. */ + sku?: string; + /** Premier add on Product. */ + product?: string; + /** Premier add on Vendor. */ + vendor?: string; + /** Premier add on Marketplace publisher. */ + marketplacePublisher?: string; + /** Premier add on Marketplace offer. */ + marketplaceOffer?: string; +}; + +/** ARM resource for a certificate order that is purchased through Azure. */ +export type AppServiceCertificateOrderPatchResource = ProxyOnlyResource & { + /** State of the Key Vault secret. */ + certificates?: { [propertyName: string]: AppServiceCertificate }; + /** Certificate distinguished name. */ + distinguishedName?: string; /** - * If Hyper-V container app service plan true, false otherwise. Default - * value: false. + * Domain verification token. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hyperV?: boolean; + readonly domainVerificationToken?: string; + /** Duration in years (must be 1). */ + validityInYears?: number; + /** Certificate key size. */ + keySize?: number; + /** Certificate product type. */ + productType?: CertificateProductType; + /** true if the certificate should be automatically renewed when it expires; otherwise, false. */ + autoRenew?: boolean; /** - * Scaling worker count. + * Status of certificate order. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - targetWorkerCount?: number; + readonly provisioningState?: ProvisioningState; /** - * Scaling worker size ID. + * Current order status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - targetWorkerSizeId?: number; + readonly status?: CertificateOrderStatus; /** - * Provisioning state of the App Service Plan. Possible values include: 'Succeeded', 'Failed', - * 'Canceled', 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Signed certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: ProvisioningState; + readonly signedCertificate?: CertificateDetails; + /** Last CSR that was created for this order. */ + csr?: string; /** - * Specification for the Kubernetes Environment to use for the App Service plan. + * Intermediate certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - kubeEnvironmentProfile?: KubeEnvironmentProfile; - sku?: SkuDescription; -} - -/** - * Detailed errors. - */ -export interface DefaultErrorResponseErrorDetailsItem { + readonly intermediate?: CertificateDetails; /** - * Standardized string to programmatically identify the error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Root certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly code?: string; + readonly root?: CertificateDetails; /** - * Detailed error description and debugging information. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Current serial number of the certificate. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly serialNumber?: string; /** - * Detailed error description and debugging information. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Certificate last issuance time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly target?: string; -} - -/** - * Error model. - */ -export interface DefaultErrorResponseError { + readonly lastCertificateIssuanceTime?: Date; /** - * Standardized string to programmatically identify the error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Certificate expiration time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly code?: string; + readonly expirationTime?: Date; /** - * Detailed error description and debugging information. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * true if private key is external; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly isPrivateKeyExternal?: boolean; /** - * Detailed error description and debugging information. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Reasons why App Service Certificate is not renewable at the current moment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly target?: string; - details?: DefaultErrorResponseErrorDetailsItem[]; + readonly appServiceCertificateNotRenewableReasons?: AppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem[]; /** - * More information to debug error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Time stamp when the certificate would be auto renewed next + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly innererror?: string; -} - -/** - * App Service error response. - */ -export interface DefaultErrorResponse { + readonly nextAutoRenewalTimeStamp?: Date; /** - * Error model. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Contact info + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly error?: DefaultErrorResponseError; -} + readonly contact?: CertificateOrderContact; +}; -/** - * Identifies an object. - */ -export interface NameIdentifier { +/** Key Vault container ARM resource for a certificate that is purchased through Azure. */ +export type AppServiceCertificatePatchResource = ProxyOnlyResource & { + /** Key Vault resource Id. */ + keyVaultId?: string; + /** Key Vault secret name. */ + keyVaultSecretName?: string; /** - * Name of the object. + * Status of the Key Vault secret. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; -} - -/** - * Log Definition of a single resource metric. - */ -export interface LogSpecification { - name?: string; - displayName?: string; - blobDuration?: string; - logFilterPattern?: string; -} - -/** - * Retention policy of a resource metric. - */ -export interface MetricAvailability { - timeGrain?: string; - blobDuration?: string; -} - -/** - * Dimension of a resource metric. For e.g. instance specific HTTP requests for a web app, - * where instance name is dimension of the metric HTTP request - */ -export interface Dimension { - name?: string; - displayName?: string; - internalName?: string; - toBeExportedForShoebox?: boolean; -} - -/** - * Definition of a single resource metric. - */ -export interface MetricSpecification { - name?: string; - displayName?: string; - displayDescription?: string; - unit?: string; - aggregationType?: string; - supportsInstanceLevelAggregation?: boolean; - enableRegionalMdmAccount?: boolean; - sourceMdmAccount?: string; - sourceMdmNamespace?: string; - metricFilterPattern?: string; - fillGapWithZero?: boolean; - isInternal?: boolean; - dimensions?: Dimension[]; - category?: string; - availabilities?: MetricAvailability[]; - supportedTimeGrainTypes?: string[]; - supportedAggregationTypes?: string[]; -} - -/** - * Resource metrics service provided by Microsoft.Insights resource provider. - */ -export interface ServiceSpecification { - metricSpecifications?: MetricSpecification[]; - logSpecifications?: LogSpecification[]; -} - -/** - * Properties available for a Microsoft.Web resource provider operation. - */ -export interface CsmOperationDescriptionProperties { - serviceSpecification?: ServiceSpecification; -} + readonly provisioningState?: KeyVaultSecretStatus; +}; -/** - * Meta data about operation used for display in portal. - */ -export interface CsmOperationDisplay { - provider?: string; - resource?: string; - operation?: string; - description?: string; -} +/** Class representing certificate reissue request. */ +export type ReissueCertificateOrderRequest = ProxyOnlyResource & { + /** Certificate Key Size. */ + keySize?: number; + /** Delay in hours to revoke existing certificate after the new certificate is issued. */ + delayExistingRevokeInHours?: number; + /** Csr to be used for re-key operation. */ + csr?: string; + /** Should we change the ASC type (from managed private key to external private key and vice versa). */ + isPrivateKeyExternal?: boolean; +}; -/** - * Description of an operation available for Microsoft.Web resource provider. - */ -export interface CsmOperationDescription { - name?: string; - display?: CsmOperationDisplay; - origin?: string; - properties?: CsmOperationDescriptionProperties; -} +/** Class representing certificate renew request. */ +export type RenewCertificateOrderRequest = ProxyOnlyResource & { + /** Certificate Key Size. */ + keySize?: number; + /** Csr to be used for re-key operation. */ + csr?: string; + /** Should we change the ASC type (from managed private key to external private key and vice versa). */ + isPrivateKeyExternal?: boolean; +}; -/** - * Address information for domain registration. - */ -export interface Address { - /** - * First line of an Address. - */ - address1: string; - /** - * The second line of the Address. Optional. - */ - address2?: string; - /** - * The city for the address. - */ - city: string; +/** Certificate order action. */ +export type CertificateOrderAction = ProxyOnlyResource & { /** - * The country for the address. + * Action type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - country: string; + readonly actionType?: CertificateOrderActionType; /** - * The postal code for the address. + * Time at which the certificate action was performed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - postalCode: string; - /** - * The state or province for the address. - */ - state: string; -} - -/** - * Contact information for domain registration. If 'Domain Privacy' option is not selected then the - * contact information is made publicly available through the Whois - * directories as per ICANN requirements. - */ -export interface Contact { - /** - * Mailing address. - */ - addressMailing?: Address; - /** - * Email address. - */ - email: string; - /** - * Fax number. - */ - fax?: string; - /** - * Job title. - */ - jobTitle?: string; - /** - * First name. - */ - nameFirst: string; - /** - * Last name. - */ - nameLast: string; - /** - * Middle name. - */ - nameMiddle?: string; - /** - * Organization contact belongs to. - */ - organization?: string; - /** - * Phone number. - */ - phone: string; -} + readonly createdAt?: Date; +}; -/** - * Details of a hostname derived from a domain. - */ -export interface HostName { - /** - * Name of the hostname. - */ - name?: string; - /** - * List of apps the hostname is assigned to. This list will have more than one app only if the - * hostname is pointing to a Traffic Manager. - */ - siteNames?: string[]; - /** - * Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager - * then it will be the Traffic Manager name otherwise it will be the app name. - */ - azureResourceName?: string; - /** - * Type of the Azure resource the hostname is assigned to. Possible values include: 'Website', - * 'TrafficManager' - */ - azureResourceType?: AzureResourceType; - /** - * Type of the DNS record. Possible values include: 'CName', 'A' - */ - customHostNameDnsRecordType?: CustomHostNameDnsRecordType; - /** - * Type of the hostname. Possible values include: 'Verified', 'Managed' - */ - hostNameType?: HostNameType; -} +/** SSL certificate email. */ +export type CertificateEmail = ProxyOnlyResource & { + /** Email id. */ + emailId?: string; + /** Time stamp. */ + timeStamp?: Date; +}; -/** - * Domain purchase consent object, representing acceptance of applicable legal agreements. - */ -export interface DomainPurchaseConsent { - /** - * List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements - * API under TopLevelDomain resource. - */ - agreementKeys?: string[]; - /** - * Client IP address. - */ - agreedBy?: string; - /** - * Timestamp when the agreements were accepted. - */ - agreedAt?: Date; -} +/** Class representing Response from Detector */ +export type DetectorResponse = ProxyOnlyResource & { + /** metadata for the detector */ + metadata?: DetectorInfo; + /** Data Set */ + dataset?: DiagnosticData[]; + /** Indicates status of the most severe insight. */ + status?: Status; + /** Additional configuration for different data providers to be used by the UI */ + dataProvidersMetadata?: DataProviderMetadata[]; + /** Suggested utterances where the detector can be applicable. */ + suggestedUtterances?: QueryUtterancesResults; +}; -/** - * Information about a domain. - */ -export interface Domain extends Resource { - /** - * Administrative contact. - */ - contactAdmin: Contact; +/** ARM resource for a domain. */ +export type DomainPatchResource = ProxyOnlyResource & { + /** Administrative contact. */ + contactAdmin?: Contact; + /** Billing contact. */ + contactBilling?: Contact; + /** Registrant contact. */ + contactRegistrant?: Contact; + /** Technical contact. */ + contactTech?: Contact; /** - * Billing contact. - */ - contactBilling: Contact; - /** - * Registrant contact. - */ - contactRegistrant: Contact; - /** - * Technical contact. - */ - contactTech: Contact; - /** - * Domain registration status. Possible values include: 'Active', 'Awaiting', 'Cancelled', - * 'Confiscated', 'Disabled', 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', - * 'Pending', 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', - * 'Unparked', 'Updated', 'JsonConverterFailed' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Domain registration status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly registrationStatus?: DomainStatus; /** - * Domain provisioning state. Possible values include: 'Succeeded', 'Failed', 'Canceled', - * 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Domain provisioning state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; /** * Name servers. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nameServers?: string[]; - /** - * true if domain privacy is enabled for this domain; otherwise, false. - */ + /** true if domain privacy is enabled for this domain; otherwise, false. */ privacy?: boolean; /** * Domain creation timestamp. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdTime?: Date; /** * Domain expiration timestamp. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly expirationTime?: Date; /** * Timestamp when the domain was renewed last time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly lastRenewedTime?: Date; - /** - * true if the domain should be automatically renewed; otherwise, - * false. Default value: true. - */ + /** true if the domain should be automatically renewed; otherwise, false. */ autoRenew?: boolean; /** - * true if Azure can assign this domain to App Service apps; otherwise, - * false. This value will be true if domain registration status is - * active and - * it is hosted on name servers Azure has programmatic access to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and + * it is hosted on name servers Azure has programmatic access to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly readyForDnsRecordManagement?: boolean; /** * All hostnames derived from the domain and assigned to Azure resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly managedHostNames?: HostName[]; - /** - * Legal agreement consent. - */ - consent: DomainPurchaseConsent; + /** Legal agreement consent. */ + consent?: DomainPurchaseConsent; /** * Reasons why domain is not renewable. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly domainNotRenewableReasons?: string[]; - /** - * Current DNS type. Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly domainNotRenewableReasons?: DomainPatchResourcePropertiesDomainNotRenewableReasonsItem[]; + /** Current DNS type */ dnsType?: DnsType; - /** - * Azure DNS Zone to use - */ + /** Azure DNS Zone to use */ dnsZoneId?: string; - /** - * Target DNS type (would be used for migration). Possible values include: 'AzureDns', - * 'DefaultDomainRegistrarDns' - */ + /** Target DNS type (would be used for migration) */ targetDnsType?: DnsType; authCode?: string; -} +}; -/** - * Domain availability check result. - */ -export interface DomainAvailabilityCheckResult { +/** Domain ownership Identifier. */ +export type DomainOwnershipIdentifier = ProxyOnlyResource & { + /** Ownership Id. */ + ownershipId?: string; +}; + +/** A top level domain object. */ +export type TopLevelDomain = ProxyOnlyResource & { + /** If true, then the top level domain supports domain privacy; otherwise, false. */ + privacy?: boolean; +}; + +/** ARM resource for a app service environment. */ +export type AppServiceEnvironmentPatchResource = ProxyOnlyResource & { /** - * Name of the domain. + * Provisioning state of the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly provisioningState?: ProvisioningState; /** - * true if domain can be purchased using CreateDomain API; otherwise, - * false. + * Current status of the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - available?: boolean; + readonly status?: HostingEnvironmentStatus; + /** Description of the Virtual Network. */ + virtualNetwork?: VirtualNetworkProfile; + /** Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. */ + internalLoadBalancingMode?: LoadBalancingMode; + /** Front-end VM size, e.g. "Medium", "Large". */ + multiSize?: string; /** - * Valid values are Regular domain: Azure will charge the full price of domain registration, - * SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost - * anything. Possible values include: 'Regular', 'SoftDeleted' + * Number of front-end instances. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - domainType?: DomainType; -} - -/** - * Single sign-on request information for domain management. - */ -export interface DomainControlCenterSsoRequest { + readonly multiRoleCount?: number; + /** Number of IP SSL addresses reserved for the App Service Environment. */ + ipsslAddressCount?: number; + /** DNS suffix of the App Service Environment. */ + dnsSuffix?: string; /** - * URL where the single sign-on request is to be made. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Maximum number of VMs in the App Service Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly url?: string; + readonly maximumNumberOfMachines?: number; + /** Scale factor for front-ends. */ + frontEndScaleFactor?: number; /** - * Post parameter key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available + * (most likely because NSG blocked the incoming traffic). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly postParameterKey?: string; + readonly suspended?: boolean; + /** Custom settings for changing the behavior of the App Service Environment. */ + clusterSettings?: NameValuePair[]; + /** User added ip ranges to whitelist on ASE db */ + userWhitelistedIpRanges?: string[]; /** - * Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this - * value. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Flag that displays whether an ASE has linux workers or not + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly postParameterValue?: string; -} + readonly hasLinuxWorkers?: boolean; + /** Dedicated Host Count */ + dedicatedHostCount?: number; + /** Whether or not this App Service Environment is zone-redundant. */ + zoneRedundant?: boolean; +}; -/** - * Domain ownership Identifier. - */ -export interface DomainOwnershipIdentifier extends ProxyOnlyResource { +/** Describes main public IP address and any extra virtual IPs. */ +export type AddressResponse = ProxyOnlyResource & { + /** Main public virtual IP. */ + serviceIpAddress?: string; + /** Virtual Network internal IP address of the App Service Environment if it is in internal load-balancing mode. */ + internalIpAddress?: string; + /** IP addresses appearing on outbound connections. */ + outboundIpAddresses?: string[]; + /** Additional virtual IPs. */ + vipMappings?: VirtualIPMapping[]; +}; + +/** Push settings for the App. */ +export type PushSettings = ProxyOnlyResource & { + /** Gets or sets a flag indicating whether the Push endpoint is enabled. */ + isPushEnabled?: boolean; + /** Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint. */ + tagWhitelistJson?: string; /** - * Ownership Id. + * Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint. + * Tags can consist of alphanumeric characters and the following: + * '_', '@', '#', '.', ':', '-'. + * Validation should be performed at the PushRequestHandler. */ - ownershipId?: string; -} + tagsRequiringAuth?: string; + /** Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint. */ + dynamicTagsJson?: string; +}; -/** - * ARM resource for a domain. - */ -export interface DomainPatchResource extends ProxyOnlyResource { +/** Full view of networking configuration for an ASE. */ +export type AseV3NetworkingConfiguration = ProxyOnlyResource & { + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly windowsOutboundIpAddresses?: string[]; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly linuxOutboundIpAddresses?: string[]; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly externalInboundIpAddresses?: string[]; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly internalInboundIpAddresses?: string[]; + /** Property to enable and disable new private endpoint connection creation on ASE */ + allowNewPrivateEndpointConnections?: boolean; +}; + +/** Worker pool of an App Service Environment ARM resource. */ +export type WorkerPoolResource = ProxyOnlyResource & { + /** Description of a SKU for a scalable resource. */ + sku?: SkuDescription; + /** Worker size ID for referencing this worker pool. */ + workerSizeId?: number; + /** Shared or dedicated app hosting. */ + computeMode?: ComputeModeOptions; + /** VM size of the worker pool instances. */ + workerSize?: string; + /** Number of instances in the worker pool. */ + workerCount?: number; /** - * Administrative contact. + * Names of all instances in the worker pool (read only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - contactAdmin: Contact; + readonly instanceNames?: string[]; +}; + +/** Metadata for the metrics. */ +export type ResourceMetricDefinition = ProxyOnlyResource & { /** - * Billing contact. + * Unit of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - contactBilling: Contact; + readonly unit?: string; /** - * Registrant contact. + * Primary aggregation type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - contactRegistrant: Contact; + readonly primaryAggregationType?: string; /** - * Technical contact. + * List of time grains supported for the metric together with retention period. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - contactTech: Contact; + readonly metricAvailabilities?: ResourceMetricAvailability[]; /** - * Domain registration status. Possible values include: 'Active', 'Awaiting', 'Cancelled', - * 'Confiscated', 'Disabled', 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', - * 'Pending', 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', - * 'Unparked', 'Updated', 'JsonConverterFailed' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource URI. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly registrationStatus?: DomainStatus; + readonly resourceUri?: string; /** - * Domain provisioning state. Possible values include: 'Succeeded', 'Failed', 'Canceled', - * 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource metric definition properties. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: ProvisioningState; + readonly properties?: { [propertyName: string]: string }; +}; + +/** Usage of the quota resource. */ +export type Usage = ProxyOnlyResource & { /** - * Name servers. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Friendly name shown in the UI. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nameServers?: string[]; + readonly displayName?: string; /** - * true if domain privacy is enabled for this domain; otherwise, false. + * Name of the quota resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - privacy?: boolean; + readonly resourceName?: string; /** - * Domain creation timestamp. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Units of measurement for the quota resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdTime?: Date; + readonly unit?: string; /** - * Domain expiration timestamp. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The current value of the resource counter. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly expirationTime?: Date; + readonly currentValue?: number; /** - * Timestamp when the domain was renewed last time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The resource limit. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastRenewedTime?: Date; + readonly limit?: number; /** - * true if the domain should be automatically renewed; otherwise, - * false. Default value: true. + * Next reset time for the resource counter. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - autoRenew?: boolean; + readonly nextResetTime?: Date; /** - * true if Azure can assign this domain to App Service apps; otherwise, - * false. This value will be true if domain registration status is - * active and - * it is hosted on name servers Azure has programmatic access to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Compute mode used for this usage. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly readyForDnsRecordManagement?: boolean; + readonly computeMode?: ComputeModeOptions; /** - * All hostnames derived from the domain and assigned to Azure resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Site mode used for this usage. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly managedHostNames?: HostName[]; + readonly siteMode?: string; +}; + +/** Remote Private Endpoint Connection ARM resource. */ +export type RemotePrivateEndpointConnectionARMResource = ProxyOnlyResource & { + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly provisioningState?: string; + /** PrivateEndpoint of a remote private endpoint connection */ + privateEndpoint?: ArmIdWrapper; + /** The state of a private link connection */ + privateLinkServiceConnectionState?: PrivateLinkConnectionState; + /** Private IPAddresses mapped to the remote private endpoint */ + ipAddresses?: string[]; +}; + +/** Private Endpoint Connection Approval ARM resource. */ +export type PrivateLinkConnectionApprovalRequestResource = ProxyOnlyResource & { + /** The state of a private link connection */ + privateLinkServiceConnectionState?: PrivateLinkConnectionState; +}; + +/** ARM resource for a app service plan. */ +export type AppServicePlanPatchResource = ProxyOnlyResource & { + /** Target worker tier assigned to the App Service plan. */ + workerTierName?: string; /** - * Legal agreement consent. + * App Service plan status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - consent: DomainPurchaseConsent; + readonly status?: StatusOptions; /** - * Reasons why domain is not renewable. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * App Service plan subscription. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly domainNotRenewableReasons?: string[]; + readonly subscription?: string; + /** Specification for the App Service Environment to use for the App Service plan. */ + hostingEnvironmentProfile?: HostingEnvironmentProfile; /** - * Current DNS type. Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + * Maximum number of instances that can be assigned to this App Service plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dnsType?: DnsType; + readonly maximumNumberOfWorkers?: number; /** - * Azure DNS Zone to use + * Geographical location for the App Service plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dnsZoneId?: string; + readonly geoRegion?: string; /** - * Target DNS type (would be used for migration). Possible values include: 'AzureDns', - * 'DefaultDomainRegistrarDns' + * If true, apps assigned to this App Service plan can be scaled independently. + * If false, apps assigned to this App Service plan will scale to all instances of the plan. */ - targetDnsType?: DnsType; - authCode?: string; -} - -/** - * Domain recommendation search parameters. - */ -export interface DomainRecommendationSearchParameters { + perSiteScaling?: boolean; + /** ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was ElasticPremium sku */ + elasticScaleEnabled?: boolean; + /** Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan */ + maximumElasticWorkerCount?: number; /** - * Keywords to be used for generating domain recommendations. + * Number of apps assigned to this App Service plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - keywords?: string; + readonly numberOfSites?: number; + /** If true, this App Service Plan owns spot instances. */ + isSpot?: boolean; + /** The time when the server farm expires. Valid only if it is a spot server farm. */ + spotExpirationTime?: Date; + /** The time when the server farm free offer expires. */ + freeOfferExpirationTime?: Date; /** - * Maximum number of recommendations. + * Resource group of the App Service plan. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxDomainRecommendations?: number; -} + readonly resourceGroup?: string; + /** If Linux app service plan true, false otherwise. */ + reserved?: boolean; + /** Obsolete: If Hyper-V container app service plan true, false otherwise. */ + isXenon?: boolean; + /** If Hyper-V container app service plan true, false otherwise. */ + hyperV?: boolean; + /** Scaling worker count. */ + targetWorkerCount?: number; + /** Scaling worker size ID. */ + targetWorkerSizeId?: number; + /** + * Provisioning state of the App Service Plan. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** Specification for the Kubernetes Environment to use for the App Service plan. */ + kubeEnvironmentProfile?: KubeEnvironmentProfile; + /** + * If true, this App Service Plan will perform availability zone balancing. + * If false, this App Service Plan will not perform availability zone balancing. + */ + zoneRedundant?: boolean; +}; -/** - * Legal agreement for a top level domain. - */ -export interface TldLegalAgreement { +/** Hybrid Connection contract. This is used to configure a Hybrid Connection. */ +export type HybridConnection = ProxyOnlyResource & { + /** The name of the Service Bus namespace. */ + serviceBusNamespace?: string; + /** The name of the Service Bus relay. */ + relayName?: string; + /** The ARM URI to the Service Bus relay. */ + relayArmUri?: string; + /** The hostname of the endpoint. */ + hostname?: string; + /** The port of the endpoint. */ + port?: number; + /** The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus. */ + sendKeyName?: string; + /** + * The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned + * normally, use the POST /listKeys API instead. + */ + sendKeyValue?: string; + /** The suffix for the service bus endpoint. By default this is .servicebus.windows.net */ + serviceBusSuffix?: string; +}; + +/** Hybrid Connection key contract. This has the send key name and value for a Hybrid Connection. */ +export type HybridConnectionKey = ProxyOnlyResource & { /** - * Unique identifier for the agreement. + * The name of the send key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - agreementKey: string; + readonly sendKeyName?: string; /** - * Agreement title. + * The value of the send key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - title: string; + readonly sendKeyValue?: string; +}; + +/** Hybrid Connection limits contract. This is used to return the plan limits of Hybrid Connections. */ +export type HybridConnectionLimits = ProxyOnlyResource & { /** - * Agreement details. + * The current number of Hybrid Connections. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - content: string; + readonly current?: number; /** - * URL where a copy of the agreement details is hosted. + * The maximum number of Hybrid Connections allowed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - url?: string; -} + readonly maximum?: number; +}; -/** - * A top level domain object. - */ -export interface TopLevelDomain extends ProxyOnlyResource { +/** Virtual Network route contract used to pass routing information for a Virtual Network. */ +export type VnetRoute = ProxyOnlyResource & { + /** The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified. */ + startAddress?: string; + /** The ending address for this route. If the start address is specified in CIDR notation, this must be omitted. */ + endAddress?: string; /** - * If true, then the top level domain supports domain privacy; otherwise, - * false. + * The type of route this is: + * DEFAULT - By default, every app has routes to the local address ranges specified by RFC1918 + * INHERITED - Routes inherited from the real Virtual Network routes + * STATIC - Static route set on the app only + * + * These values will be used for syncing an app's routes with those from a Virtual Network. */ - privacy?: boolean; -} + routeType?: RouteType; +}; -/** - * Options for retrieving the list of top level domain legal agreements. - */ -export interface TopLevelDomainAgreementOption { +/** Virtual Network information ARM resource. */ +export type VnetInfoResource = ProxyOnlyResource & { + /** The Virtual Network's resource ID. */ + vnetResourceId?: string; /** - * If true, then the list of agreements will include agreements for domain privacy - * as well; otherwise, false. + * The client certificate thumbprint. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - includePrivacy?: boolean; + readonly certThumbprint?: string; /** - * If true, then the list of agreements will include agreements for domain transfer - * as well; otherwise, false. + * A certificate file (.cer) blob containing the public key of the private key used to authenticate a + * Point-To-Site VPN connection. */ - forTransfer?: boolean; -} - -/** - * SSL certificate for an app. - */ -export interface Certificate extends Resource { + certBlob?: string; + /** + * The routes that this Virtual Network connection uses. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly routes?: VnetRoute[]; /** - * Certificate password. + * true if a resync is required; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly resyncRequired?: boolean; + /** DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses. */ + dnsServers?: string; + /** Flag that is used to denote if this is VNET injection */ + isSwift?: boolean; +}; + +/** The Virtual Network gateway contract. This is used to give the Virtual Network gateway access to the VPN package. */ +export type VnetGateway = ProxyOnlyResource & { + /** The Virtual Network name. */ + vnetName?: string; + /** The URI where the VPN package can be downloaded. */ + vpnPackageUri?: string; +}; + +/** ARM resource for a certificate. */ +export type CertificatePatchResource = ProxyOnlyResource & { + /** Certificate password. */ password?: string; /** * Friendly name of the certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly friendlyName?: string; /** * Subject name of the certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly subjectName?: string; - /** - * Host names the certificate applies to. - */ + /** Host names the certificate applies to. */ hostNames?: string[]; - /** - * Pfx blob. - */ + /** Pfx blob. */ pfxBlob?: Uint8Array; /** * App name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly siteName?: string; /** * Self link. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly selfLink?: string; /** * Certificate issuer. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly issuer?: string; /** * Certificate issue Date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly issueDate?: Date; /** * Certificate expiration date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly expirationDate?: Date; /** * Certificate thumbprint. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly thumbprint?: string; /** * Is the certificate valid?. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly valid?: boolean; /** * Raw bytes of .cer file - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly cerBlob?: Uint8Array; /** * Public key hash. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly publicKeyHash?: string; /** * Specification for the App Service Environment to use for the certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly hostingEnvironmentProfile?: HostingEnvironmentProfile; - /** - * Key Vault Csm resource Id. - */ + /** Key Vault Csm resource Id. */ keyVaultId?: string; - /** - * Key Vault secret name. - */ + /** Key Vault secret name. */ keyVaultSecretName?: string; /** - * Status of the Key Vault secret. Possible values include: 'Initialized', - * 'WaitingOnCertificateOrder', 'Succeeded', 'CertificateOrderFailed', - * 'OperationNotPermittedOnKeyVault', 'AzureServiceUnauthorizedToAccessKeyVault', - * 'KeyVaultDoesNotExist', 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - * 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of the Key Vault secret. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly keyVaultSecretStatus?: KeyVaultSecretStatus; - /** - * Resource ID of the associated App Service plan, formatted as: - * "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - */ + /** Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". */ serverFarmId?: string; - /** - * CNAME of the certificate to be issued via free certificate - */ + /** CNAME of the certificate to be issued via free certificate */ canonicalName?: string; - /** - * Method of domain validation for free cert - */ + /** Method of domain validation for free cert */ domainValidationMethod?: string; -} +}; -/** - * ARM resource for a certificate. - */ -export interface CertificatePatchResource extends ProxyOnlyResource { - /** - * Certificate password. - */ - password?: string; +/** A deleted app. */ +export type DeletedSite = ProxyOnlyResource & { /** - * Friendly name of the certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Numeric id for the deleted site + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly friendlyName?: string; + readonly deletedSiteId?: number; /** - * Subject name of the certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Time in UTC when the app was deleted. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly subjectName?: string; + readonly deletedTimestamp?: string; /** - * Host names the certificate applies to. + * Subscription containing the deleted site + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hostNames?: string[]; + readonly subscription?: string; /** - * Pfx blob. + * ResourceGroup that contained the deleted site + * NOTE: This property will not be serialized. It can only be populated by the server. */ - pfxBlob?: Uint8Array; + readonly resourceGroup?: string; /** - * App name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Name of the deleted site + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly siteName?: string; + readonly deletedSiteName?: string; /** - * Self link. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Slot of the deleted site + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly selfLink?: string; + readonly slot?: string; /** - * Certificate issuer. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Kind of site that was deleted + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly issuer?: string; + readonly kindPropertiesKind?: string; /** - * Certificate issue Date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Geo Region of the deleted site + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly issueDate?: Date; + readonly geoRegionName?: string; +}; + +/** Class representing detector definition */ +export type DiagnosticCategory = ProxyOnlyResource & { /** - * Certificate expiration date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Description of the diagnostic category + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly expirationDate?: Date; + readonly description?: string; +}; + +/** Definition of Analysis */ +export type AnalysisDefinition = ProxyOnlyResource & { /** - * Certificate thumbprint. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Description of the Analysis + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly thumbprint?: string; + readonly description?: string; +}; + +/** Class representing a diagnostic analysis done on an application */ +export type DiagnosticAnalysis = ProxyOnlyResource & { + /** Start time of the period */ + startTime?: Date; + /** End time of the period */ + endTime?: Date; + /** List of time periods. */ + abnormalTimePeriods?: AbnormalTimePeriod[]; + /** Data by each detector */ + payload?: AnalysisData[]; + /** Data by each detector for detectors that did not corelate */ + nonCorrelatedDetectors?: DetectorDefinition[]; +}; + +/** ARM resource for a detector definition */ +export type DetectorDefinitionResource = ProxyOnlyResource & { /** - * Is the certificate valid?. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Display name of the detector + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly valid?: boolean; + readonly displayName?: string; /** - * Raw bytes of .cer file - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Description of the detector + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly cerBlob?: Uint8Array; + readonly description?: string; /** - * Public key hash. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Detector Rank + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly publicKeyHash?: string; + readonly rank?: number; /** - * Specification for the App Service Environment to use for the certificate. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Flag representing whether detector is enabled or not. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly hostingEnvironmentProfile?: HostingEnvironmentProfile; + readonly isEnabled?: boolean; +}; + +/** Class representing Response from Diagnostic Detectors */ +export type DiagnosticDetectorResponse = ProxyOnlyResource & { + /** Start time of the period */ + startTime?: Date; + /** End time of the period */ + endTime?: Date; + /** Flag representing Issue was detected. */ + issueDetected?: boolean; + /** Detector's definition */ + detectorDefinition?: DetectorDefinition; + /** Metrics provided by the detector */ + metrics?: DiagnosticMetricSet[]; + /** List of Correlated events found by the detector */ + abnormalTimePeriods?: DetectorAbnormalTimePeriod[]; + /** Additional Data that detector wants to send. */ + data?: NameValuePair[][]; + /** Meta Data */ + responseMetaData?: ResponseMetaData; +}; + +/** A snapshot of an app. */ +export type Snapshot = ProxyOnlyResource & { /** - * Key Vault Csm resource Id. + * The time the snapshot was taken. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - keyVaultId?: string; + readonly time?: string; +}; + +/** ARM resource for a KubeEnvironment when patching */ +export type KubeEnvironmentPatchResource = ProxyOnlyResource & { /** - * Key Vault secret name. + * Provisioning state of the Kubernetes Environment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - keyVaultSecretName?: string; + readonly provisioningState?: KubeEnvironmentProvisioningState; /** - * Status of the Key Vault secret. Possible values include: 'Initialized', - * 'WaitingOnCertificateOrder', 'Succeeded', 'CertificateOrderFailed', - * 'OperationNotPermittedOnKeyVault', 'AzureServiceUnauthorizedToAccessKeyVault', - * 'KeyVaultDoesNotExist', 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - * 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Any errors that occurred during deployment or deployment validation + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly keyVaultSecretStatus?: KeyVaultSecretStatus; + readonly deploymentErrors?: string; + /** Only visible within Vnet/Subnet */ + internalLoadBalancerEnabled?: boolean; /** - * Resource ID of the associated App Service plan, formatted as: - * "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + * Default Domain Name for the cluster + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverFarmId?: string; + readonly defaultDomain?: string; + /** Static IP of the KubeEnvironment */ + staticIp?: string; /** - * CNAME of the certificate to be issued via free certificate + * Cluster configuration which determines the ARC cluster + * components types. Eg: Choosing between BuildService kind, + * FrontEnd Service ArtifactsStorageType etc. */ - canonicalName?: string; + arcConfiguration?: ArcConfiguration; /** - * Method of domain validation for free cert + * Cluster configuration which enables the log daemon to export + * app logs to a destination. Currently only "log-analytics" is + * supported */ - domainValidationMethod?: string; -} + appLogsConfiguration?: AppLogsConfiguration; + aksResourceID?: string; +}; -/** - * Specification for using a Virtual Network. - */ -export interface VirtualNetworkProfile { - /** - * Resource id of the Virtual Network. - */ - id: string; +/** ARM resource for a ApplicationStack. */ +export type ApplicationStackResource = ProxyOnlyResource & { + /** Application stack name. */ + namePropertiesName?: string; + /** Application stack display name. */ + display?: string; + /** Application stack dependency. */ + dependency?: string; + /** List of major versions available. */ + majorVersions?: StackMajorVersion[]; + /** List of frameworks associated with application stack. */ + frameworks?: ApplicationStack[]; + /** true if this is the stack is deprecated; otherwise, false. */ + isDeprecated?: ApplicationStack[]; +}; + +/** Function App Stack. */ +export type FunctionAppStack = ProxyOnlyResource & { /** - * Name of the Virtual Network (read-only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Function App stack location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly location?: string; /** - * Resource type of the Virtual Network (read-only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Function App stack (display only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly displayText?: string; /** - * Subnet within the Virtual Network. + * Function App stack name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - subnet?: string; -} - -/** - * Description of an App Service Environment. - */ -export interface AppServiceEnvironment { + readonly value?: string; /** - * Provisioning state of the App Service Environment. Possible values include: 'Succeeded', - * 'Failed', 'Canceled', 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of major versions available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: ProvisioningState; + readonly majorVersions?: FunctionAppMajorVersion[]; /** - * Current status of the App Service Environment. Possible values include: 'Preparing', 'Ready', - * 'Scaling', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Function App stack preferred OS. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: HostingEnvironmentStatus; + readonly preferredOs?: StackPreferredOs; +}; + +/** Web App stack. */ +export type WebAppStack = ProxyOnlyResource & { /** - * Description of the Virtual Network. + * Web App stack location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - virtualNetwork: VirtualNetworkProfile; + readonly location?: string; /** - * Specifies which endpoints to serve internally in the Virtual Network for the App Service - * Environment. Possible values include: 'None', 'Web', 'Publishing', 'Web, Publishing' + * Web App stack (display only). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - internalLoadBalancingMode?: LoadBalancingMode; + readonly displayText?: string; /** - * Front-end VM size, e.g. "Medium", "Large". + * Web App stack name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - multiSize?: string; + readonly value?: string; /** - * Number of front-end instances. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of major versions available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly multiRoleCount?: number; + readonly majorVersions?: WebAppMajorVersion[]; /** - * Number of IP SSL addresses reserved for the App Service Environment. + * Web App stack preferred OS. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - ipsslAddressCount?: number; + readonly preferredOs?: StackPreferredOs; +}; + +/** Represents a recommendation result generated by the recommendation engine. */ +export type Recommendation = ProxyOnlyResource & { + /** Timestamp when this instance was created. */ + creationTime?: Date; + /** A GUID value that each recommendation object is associated with. */ + recommendationId?: string; + /** Full ARM resource ID string that this recommendation object is associated with. */ + resourceId?: string; + /** Name of a resource type this recommendation applies, e.g. Subscription, ServerFarm, Site. */ + resourceScope?: ResourceScopeType; + /** Unique name of the rule. */ + ruleName?: string; + /** UI friendly name of the rule (may not be unique). */ + displayName?: string; + /** Recommendation text. */ + message?: string; + /** Level indicating how critical this recommendation can impact. */ + level?: NotificationLevel; + /** List of channels that this recommendation can apply. */ + channels?: Channels; /** - * DNS suffix of the App Service Environment. + * The list of category tags that this recommendation belongs to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dnsSuffix?: string; + readonly categoryTags?: string[]; + /** Name of action recommended by this object. */ + actionName?: string; + /** True if this recommendation is still valid (i.e. "actionable"). False if it is invalid. */ + enabled?: number; + /** The list of states of this recommendation. If it's null then it should be considered "Active". */ + states?: string[]; + /** The beginning time in UTC of a range that the recommendation refers to. */ + startTime?: Date; + /** The end time in UTC of a range that the recommendation refers to. */ + endTime?: Date; + /** When to notify this recommendation next in UTC. Null means that this will never be notified anymore. */ + nextNotificationTime?: Date; + /** Date and time in UTC when this notification expires. */ + notificationExpirationTime?: Date; + /** Last timestamp in UTC this instance was actually notified. Null means that this recommendation hasn't been notified yet. */ + notifiedTime?: Date; + /** A metric value measured by the rule. */ + score?: number; + /** True if this is associated with a dynamically added rule */ + isDynamic?: boolean; + /** Extension name of the portal if exists. */ + extensionName?: string; + /** Deep link to a blade on the portal. */ + bladeName?: string; + /** Forward link to an external document associated with the rule. */ + forwardLink?: string; +}; + +/** Represents a recommendation rule that the recommendation engine can perform. */ +export type RecommendationRule = ProxyOnlyResource & { + /** Unique name of the rule. */ + recommendationName?: string; + /** UI friendly name of the rule. */ + displayName?: string; + /** Localized name of the rule (Good for UI). */ + message?: string; /** - * Maximum number of VMs in the App Service Environment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Recommendation ID of an associated recommendation object tied to the rule, if exists. + * If such an object doesn't exist, it is set to null. */ - readonly maximumNumberOfMachines?: number; + recommendationId?: string; + /** Localized detailed description of the rule. */ + description?: string; + /** Name of action that is recommended by this rule in string. */ + actionName?: string; + /** Level of impact indicating how critical this rule is. */ + level?: NotificationLevel; + /** List of available channels that this rule applies. */ + channels?: Channels; /** - * Scale factor for front-ends. + * The list of category tags that this recommendation rule belongs to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - frontEndScaleFactor?: number; + readonly categoryTags?: string[]; + /** True if this is associated with a dynamically added rule */ + isDynamic?: boolean; + /** Extension name of the portal if exists. Applicable to dynamic rule only. */ + extensionName?: string; + /** Deep link to a blade on the portal. Applicable to dynamic rule only. */ + bladeName?: string; + /** Forward link to an external document associated with the rule. Applicable to dynamic rule only. */ + forwardLink?: string; +}; + +/** Used for getting ResourceHealthCheck settings. */ +export type ResourceHealthMetadata = ProxyOnlyResource & { + /** The category that the resource matches in the RHC Policy File */ + category?: string; + /** Is there a health signal for the resource */ + signalAvailability?: boolean; +}; + +/** User credentials used for publishing activity. */ +export type User = ProxyOnlyResource & { + /** Username used for publishing. */ + publishingUserName?: string; /** - * true if the App Service Environment is suspended; otherwise, false. - * The environment can be suspended, e.g. when the management endpoint is no longer available - * (most likely because NSG blocked the incoming traffic). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Password used for publishing. + * This value contains a credential. Consider obscuring before showing to users */ - readonly suspended?: boolean; + publishingPassword?: string; /** - * Custom settings for changing the behavior of the App Service Environment. + * Password hash used for publishing. + * This value contains a credential. Consider obscuring before showing to users */ - clusterSettings?: NameValuePair[]; + publishingPasswordHash?: string; /** - * User added ip ranges to whitelist on ASE db + * Password hash salt used for publishing. + * This value contains a credential. Consider obscuring before showing to users */ - userWhitelistedIpRanges?: string[]; + publishingPasswordHashSalt?: string; + /** Url of SCM site. */ + scmUri?: string; +}; + +/** The source control OAuth token. */ +export type SourceControl = ProxyOnlyResource & { + /** OAuth access token. */ + token?: string; + /** OAuth access token secret. */ + tokenSecret?: string; + /** OAuth refresh token. */ + refreshToken?: string; + /** OAuth token expiration. */ + expirationTime?: Date; +}; + +/** App Service billing entity that contains information about meter which the Azure billing system utilizes to charge users for services. */ +export type BillingMeter = ProxyOnlyResource & { + /** Meter GUID onboarded in Commerce */ + meterId?: string; + /** Azure Location of billable resource */ + billingLocation?: string; + /** Short Name from App Service Azure pricing Page */ + shortName?: string; + /** Friendly name of the meter */ + friendlyName?: string; + /** App Service ResourceType meter used for */ + resourceType?: string; + /** App Service OS type meter used for */ + osType?: string; + /** Meter Multiplier */ + multiplier?: number; +}; + +/** Geographical region. */ +export type GeoRegion = ProxyOnlyResource & { /** - * Flag that displays whether an ASE has linux workers or not - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Region description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly hasLinuxWorkers?: boolean; + readonly description?: string; /** - * Dedicated Host Count - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Display name for region. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly dedicatedHostCount?: number; -} - -/** - * Localizable string object containing the name and a localized value. - */ -export interface LocalizableString { + readonly displayName?: string; /** - * Non-localized name. + * Display name for region. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly orgDomain?: string; +}; + +/** A domain specific resource identifier. */ +export type Identifier = ProxyOnlyResource & { + /** String representation of the identity. */ value?: string; +}; + +/** Premier add-on offer. */ +export type PremierAddOnOffer = ProxyOnlyResource & { + /** Premier add on SKU. */ + sku?: string; + /** Premier add on offer Product. */ + product?: string; + /** Premier add on offer Vendor. */ + vendor?: string; + /** true if promotion code is required; otherwise, false. */ + promoCodeRequired?: boolean; + /** Premier add on offer Quota. */ + quota?: number; + /** App Service plans this offer is restricted to. */ + webHostingPlanRestrictions?: AppServicePlanRestrictions; + /** Privacy policy URL. */ + privacyPolicyUrl?: string; + /** Legal terms URL. */ + legalTermsUrl?: string; + /** Marketplace publisher. */ + marketplacePublisher?: string; + /** Marketplace offer. */ + marketplaceOffer?: string; +}; + +/** The required set of inputs to validate a VNET */ +export type VnetParameters = ProxyOnlyResource & { + /** The Resource Group of the VNET to be validated */ + vnetResourceGroup?: string; + /** The name of the VNET to be validated */ + vnetName?: string; + /** The subnet name to be validated */ + vnetSubnetName?: string; + /** The ARM Resource ID of the subnet to validate */ + subnetResourceId?: string; +}; + +/** A class that describes a test that failed during NSG and UDR validation. */ +export type VnetValidationTestFailure = ProxyOnlyResource & { + /** The name of the test that failed. */ + testName?: string; + /** The details of what caused the failure, e.g. the blocking rule name, etc. */ + details?: string; +}; + +/** A class that describes the reason for a validation failure. */ +export type VnetValidationFailureDetails = ProxyOnlyResource & { + /** Text describing the validation outcome. */ + message?: string; + /** A flag describing whether or not validation failed. */ + failed?: boolean; + /** A list of tests that failed in the validation. */ + failedTests?: VnetValidationTestFailure[]; + /** A list of warnings generated during validation. */ + warnings?: VnetValidationTestFailure[]; +}; + +/** Request entity for previewing the Static Site workflow */ +export type StaticSitesWorkflowPreviewRequest = ProxyOnlyResource & { + /** URL for the repository of the static site. */ + repositoryUrl?: string; + /** The target branch in the repository. */ + branch?: string; + /** Build properties to configure on the repository. */ + buildProperties?: StaticSiteBuildProperties; +}; + +/** Preview for the Static Site Workflow to be generated */ +export type StaticSitesWorkflowPreview = ProxyOnlyResource & { /** - * Localized name. + * The path for the workflow file to be generated + * NOTE: This property will not be serialized. It can only be populated by the server. */ - localizedValue?: string; -} + readonly path?: string; + /** + * The contents for the workflow file to be generated + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly contents?: string; +}; -/** - * Usage of the quota resource. - */ -export interface CsmUsageQuota { +/** A remote private endpoint connection */ +export type RemotePrivateEndpointConnection = ProxyOnlyResource & { + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly provisioningState?: string; + /** PrivateEndpoint of a remote private endpoint connection */ + privateEndpoint?: ArmIdWrapper; + /** The state of a private link connection */ + privateLinkServiceConnectionState?: PrivateLinkConnectionState; + /** Private IPAddresses mapped to the remote private endpoint */ + ipAddresses?: string[]; +}; + +/** A static site user provided function. */ +export type StaticSiteUserProvidedFunctionApp = ProxyOnlyResource & { + /** The resource id of the function app registered with the static site */ + functionAppResourceId?: string; + /** The region of the function app registered with the static site */ + functionAppRegion?: string; /** - * Units of measurement for the quota resource. + * The date and time on which the function app was registered with the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - unit?: string; + readonly createdOn?: Date; +}; + +/** ARM resource for a static site when patching */ +export type StaticSitePatchResource = ProxyOnlyResource & { /** - * Next reset time for the resource counter. + * The default autogenerated hostname for the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - nextResetTime?: Date; + readonly defaultHostname?: string; + /** URL for the repository of the static site. */ + repositoryUrl?: string; + /** The target branch in the repository. */ + branch?: string; /** - * The current value of the resource counter. + * The custom domains associated with this static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - currentValue?: number; + readonly customDomains?: string[]; + /** A user's github repository token. This is used to setup the Github Actions workflow file and API secrets. */ + repositoryToken?: string; + /** Build properties to configure on the repository. */ + buildProperties?: StaticSiteBuildProperties; /** - * The resource limit. + * Private endpoint connections + * NOTE: This property will not be serialized. It can only be populated by the server. */ - limit?: number; + readonly privateEndpointConnections?: ResponseMessageEnvelopeRemotePrivateEndpointConnection[]; + /** State indicating whether staging environments are allowed or not allowed for a static web app. */ + stagingEnvironmentPolicy?: StagingEnvironmentPolicy; + /** false if config file is locked for this static web app; otherwise, true. */ + allowConfigFileUpdates?: boolean; + /** Template options for generating a new repository. */ + templateProperties?: StaticSiteTemplateOptions; /** - * Quota name. + * The content distribution endpoint for the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: LocalizableString; -} - -/** - * Body of the error response returned from the API. - */ -export interface ErrorEntity { + readonly contentDistributionEndpoint?: string; /** - * Type of error. + * Identity to use for Key Vault Reference authentication. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - extendedCode?: string; + readonly keyVaultReferenceIdentity?: string; /** - * Message template. + * User provided function apps registered with the static site + * NOTE: This property will not be serialized. It can only be populated by the server. */ - messageTemplate?: string; + readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; /** - * Parameters for the template. + * The provider that submitted the last deployment to the primary environment of the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - parameters?: string[]; + readonly provider?: string; +}; + +/** Static Site User ARM resource. */ +export type StaticSiteUserARMResource = ProxyOnlyResource & { /** - * Inner errors. + * The identity provider for the static site user. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - innerErrors?: ErrorEntity[]; + readonly provider?: string; /** - * Basic error code. + * The user id for the static site user. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - code?: string; + readonly userId?: string; /** - * Any details of the error. + * The display name for the static site user. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - message?: string; -} + readonly displayName?: string; + /** The roles for the static site user, in free-form string format */ + roles?: string; +}; -/** - * An operation on a resource. - */ -export interface Operation { +/** Static Site Build ARM resource. */ +export type StaticSiteBuildARMResource = ProxyOnlyResource & { /** - * Operation ID. + * An identifier for the static site build. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - id?: string; + readonly buildId?: string; /** - * Operation name. + * The source branch. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly sourceBranch?: string; /** - * The current status of the operation. Possible values include: 'InProgress', 'Failed', - * 'Succeeded', 'TimedOut', 'Created' + * The title of a pull request that a static site build is related to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - status?: OperationStatus; + readonly pullRequestTitle?: string; /** - * Any errors associate with the operation. + * The hostname for a static site build. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - errors?: ErrorEntity[]; + readonly hostname?: string; /** - * Time when operation has started. + * When this build was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createdTime?: Date; + readonly createdTimeUtc?: Date; /** - * Time when operation has been updated. + * When this build was updated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - modifiedTime?: Date; + readonly lastUpdatedOn?: Date; /** - * Time when operation will expire. + * The status of the static site build. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - expirationTime?: Date; + readonly status?: BuildStatus; /** - * Applicable only for stamp operation ids. + * User provided function apps registered with the static site build + * NOTE: This property will not be serialized. It can only be populated by the server. */ - geoMasterOperationId?: string; -} + readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; +}; -/** - * Properties of a private link resource - */ -export interface PrivateLinkResourceProperties { +/** String dictionary resource. */ +export type StringDictionary = ProxyOnlyResource & { + /** Settings. */ + properties?: { [propertyName: string]: string }; +}; + +/** Static Site Function Overview ARM resource. */ +export type StaticSiteFunctionOverviewARMResource = ProxyOnlyResource & { /** - * GroupId of a private link resource - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name for the function + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly groupId?: string; + readonly functionName?: string; /** - * RequiredMembers of a private link resource - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The trigger type of the function + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requiredMembers?: string[]; + readonly triggerType?: TriggerTypes; +}; + +/** Static Site User Provided Function App ARM resource. */ +export type StaticSiteUserProvidedFunctionAppARMResource = ProxyOnlyResource & { + /** The resource id of the function app registered with the static site */ + functionAppResourceId?: string; + /** The region of the function app registered with the static site */ + functionAppRegion?: string; /** - * RequiredZoneNames of a private link resource - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The date and time on which the function app was registered with the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requiredZoneNames?: string[]; -} + readonly createdOn?: Date; +}; -/** - * A private link resource - */ -export interface PrivateLinkResource { - id: string; - /** - * Name of a private link resource - */ - name: string; - type: string; - /** - * Properties of a private link resource - */ - properties: PrivateLinkResourceProperties; -} +/** Static site zip deployment ARM resource. */ +export type StaticSiteZipDeploymentARMResource = ProxyOnlyResource & { + /** URL for the zipped app content */ + appZipUrl?: string; + /** URL for the zipped api content */ + apiZipUrl?: string; + /** A title to label the deployment */ + deploymentTitle?: string; + /** The provider submitting this deployment */ + provider?: string; + /** The language of the api content, if it exists */ + functionLanguage?: string; +}; -/** - * Wrapper for a collection of private link resources - */ -export interface PrivateLinkResourcesWrapper { - value: PrivateLinkResource[]; -} +/** Static sites user roles invitation resource. */ +export type StaticSiteUserInvitationRequestResource = ProxyOnlyResource & { + /** The domain name for the static site custom domain. */ + domain?: string; + /** The identity provider for the static site user. */ + provider?: string; + /** The user id for the static site user. */ + userDetails?: string; + /** The roles for the static site user, in free-form string format */ + roles?: string; + /** The number of hours the sas token stays valid */ + numHoursToExpiration?: number; +}; -/** - * Class Representing Solution for problems detected. - */ -export interface Solution { - /** - * Solution Id. - */ - id?: number; +/** Static sites user roles invitation link resource. */ +export type StaticSiteUserInvitationResponseResource = ProxyOnlyResource & { /** - * Display Name of the solution + * The expiration time of the invitation + * NOTE: This property will not be serialized. It can only be populated by the server. */ - displayName?: string; + readonly expiresOn?: Date; /** - * Order of the solution. + * The url for the invitation link + * NOTE: This property will not be serialized. It can only be populated by the server. */ - order?: number; + readonly invitationUrl?: string; +}; + +/** Static Site Custom Domain Overview ARM resource. */ +export type StaticSiteCustomDomainOverviewARMResource = ProxyOnlyResource & { /** - * Description of the solution + * The domain name for the static site custom domain. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - description?: string; + readonly domainName?: string; /** - * Type of Solution. Possible values include: 'QuickSolution', 'DeepInvestigation', - * 'BestPractices' + * The date and time on which the custom domain was created for the static site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: SolutionType; + readonly createdOn?: Date; /** - * Solution Data. + * The status of the custom domain + * NOTE: This property will not be serialized. It can only be populated by the server. */ - data?: NameValuePair[][]; + readonly status?: CustomDomainStatus; /** - * Solution Metadata. + * The TXT record validation token + * NOTE: This property will not be serialized. It can only be populated by the server. */ - metadata?: NameValuePair[][]; -} + readonly validationToken?: string; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly errorMessage?: string; +}; -/** - * Class representing Abnormal Time Period detected. - */ -export interface DetectorAbnormalTimePeriod { +/** Static Site Custom Domain Request Properties ARM resource. */ +export type StaticSiteCustomDomainRequestPropertiesARMResource = ProxyOnlyResource & { + /** Validation method for adding a custom domain */ + validationMethod?: string; +}; + +/** String list resource. */ +export type StringList = ProxyOnlyResource & { + /** List of string resources. */ + properties?: string[]; +}; + +/** Static Site Reset Properties ARM resource. */ +export type StaticSiteResetPropertiesARMResource = ProxyOnlyResource & { + /** The token which proves admin privileges to the repository. */ + repositoryToken?: string; + /** Determines whether the repository should be updated with the new properties. */ + shouldUpdateRepository?: boolean; +}; + +/** ARM resource for a site. */ +export type SitePatchResource = ProxyOnlyResource & { + /** Managed service identity. */ + identity?: ManagedServiceIdentity; /** - * Start time of the correlated event + * Current state of the app. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - startTime?: Date; + readonly state?: string; /** - * End time of the correlated event + * Hostnames associated with the app. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTime?: Date; + readonly hostNames?: string[]; /** - * Message describing the event + * Name of the repository site. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - message?: string; + readonly repositorySiteName?: string; /** - * Represents the name of the Detector + * State indicating whether the app has exceeded its quota usage. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - source?: string; + readonly usageState?: UsageState; + /** true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline). */ + enabled?: boolean; /** - * Represents the rank of the Detector + * Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, + * the app is not served on those hostnames. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - priority?: number; + readonly enabledHostNames?: string[]; /** - * Downtime metadata + * Management information availability state for the app. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - metaData?: NameValuePair[][]; + readonly availabilityState?: SiteAvailabilityState; + /** Hostname SSL states are used to manage the SSL bindings for app's hostnames. */ + hostNameSslStates?: HostNameSslState[]; + /** Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". */ + serverFarmId?: string; + /** true if reserved; otherwise, false. */ + reserved?: boolean; + /** Obsolete: Hyper-V sandbox. */ + isXenon?: boolean; + /** Hyper-V sandbox. */ + hyperV?: boolean; /** - * Represents the type of the Detector. Possible values include: 'ServiceIncident', - * 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', 'AseDeployment', 'UserIssue', - * 'PlatformIssue', 'Other' + * Last time the app was modified, in UTC. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: IssueType; + readonly lastModifiedTimeUtc?: Date; + /** Configuration of the app. */ + siteConfig?: SiteConfig; /** - * List of proposed solutions + * Azure Traffic Manager hostnames associated with the app. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - solutions?: Solution[]; -} - -/** - * Class representing Abnormal Time Period identified in diagnosis - */ -export interface AbnormalTimePeriod { + readonly trafficManagerHostNames?: string[]; + /** true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false. */ + scmSiteAlsoStopped?: boolean; /** - * Start time of the downtime + * Specifies which deployment slot this app will swap into. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - startTime?: Date; + readonly targetSwapSlot?: string; + /** App Service Environment to use for the app. */ + hostingEnvironmentProfile?: HostingEnvironmentProfile; + /** true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true. */ + clientAffinityEnabled?: boolean; + /** true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false. */ + clientCertEnabled?: boolean; /** - * End time of the downtime + * This composes with ClientCertEnabled setting. + * - ClientCertEnabled: false means ClientCert is ignored. + * - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. + * - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted. */ - endTime?: Date; + clientCertMode?: ClientCertMode; + /** client certificate authentication comma-separated exclusion paths */ + clientCertExclusionPaths?: string; /** - * List of Possible Cause of downtime + * true to disable the public hostnames of the app; otherwise, false. + * If true, the app is only accessible via API management process. */ - events?: DetectorAbnormalTimePeriod[]; + hostNamesDisabled?: boolean; + /** Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification. */ + customDomainVerificationId?: string; /** - * List of proposed solutions + * List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - solutions?: Solution[]; -} - -/** - * Class representing detector definition - */ -export interface DetectorDefinition extends ProxyOnlyResource { + readonly outboundIpAddresses?: string; /** - * Display name of the detector - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants except dataComponent. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly displayName?: string; + readonly possibleOutboundIpAddresses?: string; + /** Size of the function container. */ + containerSize?: number; + /** Maximum allowed daily memory-time quota (applicable on dynamic apps only). */ + dailyMemoryTimeQuota?: number; /** - * Description of the detector - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * App suspended till in case memory-time quota is exceeded. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly suspendedTill?: Date; /** - * Detector Rank - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Maximum number of workers. + * This only applies to Functions container. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly rank?: number; + readonly maxNumberOfWorkers?: number; + /** If specified during app creation, the app is cloned from a source app. */ + cloningInfo?: CloningInfo; /** - * Flag representing whether detector is enabled or not. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Name of the resource group the app belongs to. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isEnabled?: boolean; -} - -/** - * Class representing Diagnostic Metric - */ -export interface DiagnosticMetricSample { + readonly resourceGroup?: string; /** - * Time at which metric is measured + * true if the app is a default container; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timestamp?: Date; + readonly isDefaultContainer?: boolean; /** - * Role Instance. Null if this counter is not per instance - * This is returned and should be whichever instance name we desire to be returned - * i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) - * where RDWORKERNAME is Machine name below and RoleInstance name in parenthesis + * Default hostname of the app. Read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - roleInstance?: string; + readonly defaultHostName?: string; /** - * Total value of the metric. If multiple measurements are made this will have sum of all. + * Status of the last deployment slot swap operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - total?: number; + readonly slotSwapStatus?: SlotSwapStatus; /** - * Maximum of the metric sampled during the time period + * HttpsOnly: configures a web site to accept only https requests. Issues redirect for + * http requests */ - maximum?: number; + httpsOnly?: boolean; + /** Site redundancy mode */ + redundancyMode?: RedundancyMode; /** - * Minimum of the metric sampled during the time period + * Specifies an operation id if this site has a pending operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minimum?: number; + readonly inProgressOperationId?: string; + /** Checks if Customer provided storage account is required */ + storageAccountRequired?: boolean; + /** Identity to use for Key Vault Reference authentication. */ + keyVaultReferenceIdentity?: string; /** - * Whether the values are aggregates across all workers or not + * Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET Integration. + * This must be of the form /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} */ - isAggregated?: boolean; -} + virtualNetworkSubnetId?: string; +}; -/** - * Class representing Diagnostic Metric information - */ -export interface DiagnosticMetricSet { +/** Custom domain analysis. */ +export type CustomHostnameAnalysisResult = ProxyOnlyResource & { /** - * Name of the metric + * true if hostname is already verified; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly isHostnameAlreadyVerified?: boolean; /** - * Metric's unit + * DNS verification test result. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - unit?: string; + readonly customDomainVerificationTest?: DnsVerificationTestResult; /** - * Start time of the period + * Raw failure information if DNS verification fails. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - startTime?: Date; + readonly customDomainVerificationFailureInfo?: ErrorEntity; /** - * End time of the period + * true if there is a conflict on a scale unit; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTime?: Date; + readonly hasConflictOnScaleUnit?: boolean; /** - * Presented time grain. Supported grains at the moment are PT1M, PT1H, P1D + * true if there is a conflict across subscriptions; otherwise, false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timeGrain?: string; + readonly hasConflictAcrossSubscription?: boolean; /** - * Collection of metric values for the selected period based on the - * {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} + * Name of the conflicting app on scale unit if it's within the same subscription. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - values?: DiagnosticMetricSample[]; -} + readonly conflictingAppResourceId?: string; + /** CName records controller can see for this hostname. */ + cNameRecords?: string[]; + /** TXT records controller can see for this hostname. */ + txtRecords?: string[]; + /** A records controller can see for this hostname. */ + aRecords?: string[]; + /** Alternate CName records controller can see for this hostname. */ + alternateCNameRecords?: string[]; + /** Alternate TXT records controller can see for this hostname. */ + alternateTxtRecords?: string[]; +}; -/** - * Class representing data source used by the detectors - */ -export interface DataSource { +/** Description of a backup which will be performed. */ +export type BackupRequest = ProxyOnlyResource & { + /** Name of the backup. */ + backupName?: string; + /** True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled. */ + enabled?: boolean; + /** SAS URL to the container. */ + storageAccountUrl?: string; + /** Schedule for the backup if it is executed periodically. */ + backupSchedule?: BackupSchedule; + /** Databases included in the backup. */ + databases?: DatabaseBackupSetting[]; +}; + +/** Backup description. */ +export type BackupItem = ProxyOnlyResource & { /** - * Instructions if any for the data source + * Id of the backup. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - instructions?: string[]; + readonly backupId?: number; /** - * Datasource Uri Links + * SAS URL for the storage account container which contains this backup. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataSourceUri?: NameValuePair[]; -} - -/** - * An interface representing ResponseMetaData. - */ -export interface ResponseMetaData { + readonly storageAccountUrl?: string; /** - * Source of the Data + * Name of the blob which contains data for this backup. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataSource?: DataSource; -} - -/** - * Class Representing Detector Evidence used for analysis - */ -export interface AnalysisData { + readonly blobName?: string; /** - * Name of the Detector + * Name of this backup. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - source?: string; + readonly namePropertiesName?: string; /** - * Detector Definition + * Backup status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - detectorDefinition?: DetectorDefinition; + readonly status?: BackupItemStatus; /** - * Source Metrics + * Size of the backup in bytes. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - metrics?: DiagnosticMetricSet[]; + readonly sizeInBytes?: number; /** - * Additional Source Data + * Timestamp of the backup creation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - data?: NameValuePair[][]; + readonly created?: Date; /** - * Detector Meta Data + * Details regarding this backup. Might contain an error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - detectorMetaData?: ResponseMetaData; -} - -/** - * Definition of Analysis - */ -export interface AnalysisDefinition extends ProxyOnlyResource { + readonly log?: string; /** - * Description of the Analysis - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of databases included in the backup. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; -} - -/** - * Class representing a diagnostic analysis done on an application - */ -export interface DiagnosticAnalysis extends ProxyOnlyResource { + readonly databases?: DatabaseBackupSetting[]; /** - * Start time of the period + * True if this backup has been created due to a schedule being triggered. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - startTime?: Date; + readonly scheduled?: boolean; /** - * End time of the period + * Timestamp of a last restore operation which used this backup. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTime?: Date; + readonly lastRestoreTimeStamp?: Date; /** - * List of time periods. + * Timestamp when this backup finished. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - abnormalTimePeriods?: AbnormalTimePeriod[]; + readonly finishedTimeStamp?: Date; /** - * Data by each detector + * Unique correlation identifier. Please use this along with the timestamp while communicating with Azure support. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - payload?: AnalysisData[]; + readonly correlationId?: string; /** - * Data by each detector for detectors that did not corelate + * Size of the original web app which has been backed up. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - nonCorrelatedDetectors?: DetectorDefinition[]; -} + readonly websiteSizeInBytes?: number; +}; -/** - * Class representing detector definition - */ -export interface DiagnosticCategory extends ProxyOnlyResource { +/** Description of a restore request. */ +export type RestoreRequest = ProxyOnlyResource & { + /** SAS URL to the container. */ + storageAccountUrl?: string; + /** Name of a blob which contains the backup. */ + blobName?: string; + /** true if the restore operation can overwrite target app; otherwise, false. true is needed if trying to restore over an existing app. */ + overwrite?: boolean; + /** Name of an app. */ + siteName?: string; + /** Collection of databases which should be restored. This list has to match the list of databases included in the backup. */ + databases?: DatabaseBackupSetting[]; /** - * Description of the diagnostic category - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Changes a logic when restoring an app with custom domains. true to remove custom domains automatically. If false, custom domains are added to + * the app's object when it is being restored, but that might fail due to conflicts during the operation. */ - readonly description?: string; -} + ignoreConflictingHostNames?: boolean; + /** Ignore the databases and only restore the site content */ + ignoreDatabases?: boolean; + /** Specify app service plan that will own restored site. */ + appServicePlan?: string; + /** Operation type. */ + operationType?: BackupRestoreOperationType; + /** true if SiteConfig.ConnectionStrings should be set in new app; otherwise, false. */ + adjustConnectionStrings?: boolean; + /** App Service Environment name, if needed (only when restoring an app to an App Service Environment). */ + hostingEnvironment?: string; +}; -/** - * Class representing Response from Diagnostic Detectors - */ -export interface DiagnosticDetectorResponse extends ProxyOnlyResource { +/** Publishing Credentials Policies parameters. */ +export type CsmPublishingCredentialsPoliciesEntity = ProxyOnlyResource & { + /** true to allow access to a publishing method; otherwise, false. */ + allow?: boolean; +}; + +/** Web app configuration ARM resource. */ +export type SiteConfigResource = ProxyOnlyResource & { + /** Number of workers. */ + numberOfWorkers?: number; + /** Default documents. */ + defaultDocuments?: string[]; + /** .NET Framework version. */ + netFrameworkVersion?: string; + /** Version of PHP. */ + phpVersion?: string; + /** Version of Python. */ + pythonVersion?: string; + /** Version of Node.js. */ + nodeVersion?: string; + /** Version of PowerShell. */ + powerShellVersion?: string; + /** Linux App Framework and version */ + linuxFxVersion?: string; + /** Xenon App Framework and version */ + windowsFxVersion?: string; + /** true if request tracing is enabled; otherwise, false. */ + requestTracingEnabled?: boolean; + /** Request tracing expiration time. */ + requestTracingExpirationTime?: Date; + /** true if remote debugging is enabled; otherwise, false. */ + remoteDebuggingEnabled?: boolean; + /** Remote debugging version. */ + remoteDebuggingVersion?: string; + /** true if HTTP logging is enabled; otherwise, false. */ + httpLoggingEnabled?: boolean; + /** Flag to use Managed Identity Creds for ACR pull */ + acrUseManagedIdentityCreds?: boolean; + /** If using user managed identity, the user managed identity ClientId */ + acrUserManagedIdentityID?: string; + /** HTTP logs directory size limit. */ + logsDirectorySizeLimit?: number; + /** true if detailed error logging is enabled; otherwise, false. */ + detailedErrorLoggingEnabled?: boolean; + /** Publishing user name. */ + publishingUsername?: string; + /** Application settings. */ + appSettings?: NameValuePair[]; + /** Connection strings. */ + connectionStrings?: ConnStringInfo[]; /** - * Start time of the period + * Site MachineKey. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - startTime?: Date; + readonly machineKey?: SiteMachineKey; + /** Handler mappings. */ + handlerMappings?: HandlerMapping[]; + /** Document root. */ + documentRoot?: string; + /** SCM type. */ + scmType?: ScmType; + /** true to use 32-bit worker process; otherwise, false. */ + use32BitWorkerProcess?: boolean; + /** true if WebSocket is enabled; otherwise, false. */ + webSocketsEnabled?: boolean; + /** true if Always On is enabled; otherwise, false. */ + alwaysOn?: boolean; + /** Java version. */ + javaVersion?: string; + /** Java container. */ + javaContainer?: string; + /** Java container version. */ + javaContainerVersion?: string; + /** App command line to launch. */ + appCommandLine?: string; + /** Managed pipeline mode. */ + managedPipelineMode?: ManagedPipelineMode; + /** Virtual applications. */ + virtualApplications?: VirtualApplication[]; + /** Site load balancing. */ + loadBalancing?: SiteLoadBalancing; + /** This is work around for polymorphic types. */ + experiments?: Experiments; + /** Site limits. */ + limits?: SiteLimits; + /** true if Auto Heal is enabled; otherwise, false. */ + autoHealEnabled?: boolean; + /** Auto Heal rules. */ + autoHealRules?: AutoHealRules; + /** Tracing options. */ + tracingOptions?: string; + /** Virtual Network name. */ + vnetName?: string; + /** Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. */ + vnetRouteAllEnabled?: boolean; + /** The number of private ports assigned to this app. These will be assigned dynamically on runtime. */ + vnetPrivatePortsCount?: number; + /** Cross-Origin Resource Sharing (CORS) settings. */ + cors?: CorsSettings; + /** Push endpoint settings. */ + push?: PushSettings; + /** Information about the formal API definition for the app. */ + apiDefinition?: ApiDefinitionInfo; + /** Azure API management settings linked to the app. */ + apiManagementConfig?: ApiManagementConfig; + /** Auto-swap slot name. */ + autoSwapSlotName?: string; + /** true to enable local MySQL; otherwise, false. */ + localMySqlEnabled?: boolean; + /** Managed Service Identity Id */ + managedServiceIdentityId?: number; + /** Explicit Managed Service Identity Id */ + xManagedServiceIdentityId?: number; + /** Identity to use for Key Vault Reference authentication. */ + keyVaultReferenceIdentity?: string; + /** IP security restrictions for main. */ + ipSecurityRestrictions?: IpSecurityRestriction[]; + /** IP security restrictions for scm. */ + scmIpSecurityRestrictions?: IpSecurityRestriction[]; + /** IP security restrictions for scm to use main. */ + scmIpSecurityRestrictionsUseMain?: boolean; + /** Http20Enabled: configures a web site to allow clients to connect over http2.0 */ + http20Enabled?: boolean; + /** MinTlsVersion: configures the minimum version of TLS required for SSL requests */ + minTlsVersion?: SupportedTlsVersions; + /** ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site */ + scmMinTlsVersion?: SupportedTlsVersions; + /** State of FTP / FTPS service */ + ftpsState?: FtpsState; /** - * End time of the period + * Number of preWarmed instances. + * This setting only applies to the Consumption and Elastic Plans */ - endTime?: Date; + preWarmedInstanceCount?: number; /** - * Flag representing Issue was detected. + * Maximum number of workers that a site can scale out to. + * This setting only applies to the Consumption and Elastic Premium Plans */ - issueDetected?: boolean; + functionAppScaleLimit?: number; + /** Health check path */ + healthCheckPath?: string; /** - * Detector's definition + * Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When enabled, + * the ScaleController will not monitor event sources directly, but will instead call to the + * runtime to get scale status. */ - detectorDefinition?: DetectorDefinition; + functionsRuntimeScaleMonitoringEnabled?: boolean; + /** Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones */ + websiteTimeZone?: string; /** - * Metrics provided by the detector + * Number of minimum instance count for a site + * This setting only applies to the Elastic Plans */ - metrics?: DiagnosticMetricSet[]; + minimumElasticInstanceCount?: number; + /** List of Azure Storage Accounts. */ + azureStorageAccounts?: { [propertyName: string]: AzureStorageInfoValue }; + /** Property to allow or block all public traffic. */ + publicNetworkAccess?: string; +}; + +/** Configuration settings for the Azure App Service Authentication / Authorization feature. */ +export type SiteAuthSettings = ProxyOnlyResource & { + /** true if the Authentication / Authorization feature is enabled for the current app; otherwise, false. */ + enabled?: boolean; /** - * List of Correlated events found by the detector + * The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + * The setting in this value can control the behavior of certain features in the Authentication / Authorization module. */ - abnormalTimePeriods?: DetectorAbnormalTimePeriod[]; + runtimeVersion?: string; + /** The action to take when an unauthenticated client attempts to access the app. */ + unauthenticatedClientAction?: UnauthenticatedClientAction; /** - * Additional Data that detector wants to send. + * true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false. + * The default is false. */ - data?: NameValuePair[][]; + tokenStoreEnabled?: boolean; /** - * Meta Data + * External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored. + * This is an advanced setting typically only needed by Windows Store application backends. + * Note that URLs within the current domain are always implicitly allowed. */ - responseMetaData?: ResponseMetaData; -} - -/** - * App Insights Web App stack settings. - */ -export interface AppInsightsWebAppStackSettings { + allowedExternalRedirectUrls?: string[]; /** - * true if remote Application Insights is supported for the stack; otherwise, - * false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The default authentication provider to use when multiple providers are configured. + * This setting is only needed if multiple providers are configured and the unauthenticated client + * action is set to "RedirectToLoginPage". */ - readonly isSupported?: boolean; + defaultProvider?: BuiltInAuthenticationProvider; /** - * true if Application Insights is disabled by default for the stack; otherwise, - * false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The number of hours after session token expiration that a session token can be used to + * call the token refresh API. The default is 72 hours. */ - readonly isDefaultOff?: boolean; -} - -/** - * Application stack minor version. - */ -export interface StackMinorVersion { + tokenRefreshExtensionHours?: number; /** - * Application stack minor version (display only). + * The Client ID of this relying party application, known as the client_id. + * This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + * other 3rd party OpenID Connect providers. + * More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html */ - displayVersion?: string; + clientId?: string; /** - * Application stack minor version (runtime only). + * The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key). + * This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users. + * Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users. + * More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html */ - runtimeVersion?: string; + clientSecret?: string; + /** The app setting name that contains the client secret of the relying party application. */ + clientSecretSettingName?: string; /** - * true if this is the default minor version; otherwise, false. + * An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as + * a replacement for the Client Secret. It is also optional. */ - isDefault?: boolean; + clientSecretCertificateThumbprint?: string; /** - * true if this supports Remote Debugging, otherwise false. + * The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + * When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/. + * This URI is a case-sensitive identifier for the token issuer. + * More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html */ - isRemoteDebuggingEnabled?: boolean; -} - -/** - * Application stack major version. - */ -export interface StackMajorVersion { + issuer?: string; + /** Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. */ + validateIssuer?: boolean; /** - * Application stack major version (display only). + * Allowed audience values to consider when validating JWTs issued by + * Azure Active Directory. Note that the ClientID value is always considered an + * allowed audience, regardless of this setting. */ - displayVersion?: string; + allowedAudiences?: string[]; /** - * Application stack major version (runtime only). + * Login parameters to send to the OpenID Connect authorization endpoint when + * a user logs in. Each parameter must be in the form "key=value". */ - runtimeVersion?: string; + additionalLoginParams?: string[]; + /** Gets a JSON string containing the Azure AD Acl settings. */ + aadClaimsAuthorization?: string; /** - * true if this is the default major version; otherwise, false. + * The OpenID Connect Client ID for the Google web application. + * This setting is required for enabling Google Sign-In. + * Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ */ - isDefault?: boolean; + googleClientId?: string; /** - * Minor versions associated with the major version. + * The client secret associated with the Google web application. + * This setting is required for enabling Google Sign-In. + * Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ */ - minorVersions?: StackMinorVersion[]; + googleClientSecret?: string; /** - * true if this supports Application Insights; otherwise, false. + * The app setting name that contains the client secret associated with + * the Google web application. */ - applicationInsights?: boolean; + googleClientSecretSettingName?: string; /** - * true if this stack is in Preview, otherwise false. + * The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. + * This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes. + * Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ */ - isPreview?: boolean; + googleOAuthScopes?: string[]; /** - * true if this stack has been deprecated, otherwise false. + * The App ID of the Facebook app used for login. + * This setting is required for enabling Facebook Login. + * Facebook Login documentation: https://developers.facebook.com/docs/facebook-login */ - isDeprecated?: boolean; + facebookAppId?: string; /** - * true if this stack should be hidden for new customers on portal, otherwise - * false. + * The App Secret of the Facebook app used for Facebook Login. + * This setting is required for enabling Facebook Login. + * Facebook Login documentation: https://developers.facebook.com/docs/facebook-login */ - isHidden?: boolean; + facebookAppSecret?: string; + /** The app setting name that contains the app secret used for Facebook Login. */ + facebookAppSecretSettingName?: string; /** - * - * - * - * Example: All the function apps need AppSetting: "FUNCTIONS_WORKER_RUNTIME" to be set stack - * name + * The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication. + * This setting is optional. + * Facebook Login documentation: https://developers.facebook.com/docs/facebook-login */ - appSettingsDictionary?: { [propertyName: string]: any }; + facebookOAuthScopes?: string[]; /** - * - * - * - * Example: All Linux Function Apps, need Use32BitWorkerProcess to be set to 0 + * The Client Id of the GitHub app used for login. + * This setting is required for enabling Github login */ - siteConfigPropertiesDictionary?: { [propertyName: string]: any }; -} - -/** - * Application stack. - */ -export interface ApplicationStack { + gitHubClientId?: string; /** - * Application stack name. + * The Client Secret of the GitHub app used for Github Login. + * This setting is required for enabling Github login. */ - name?: string; + gitHubClientSecret?: string; /** - * Application stack display name. + * The app setting name that contains the client secret of the Github + * app used for GitHub Login. */ - display?: string; + gitHubClientSecretSettingName?: string; /** - * Application stack dependency. + * The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication. + * This setting is optional */ - dependency?: string; + gitHubOAuthScopes?: string[]; /** - * List of major versions available. + * The OAuth 1.0a consumer key of the Twitter application used for sign-in. + * This setting is required for enabling Twitter Sign-In. + * Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in */ - majorVersions?: StackMajorVersion[]; + twitterConsumerKey?: string; /** - * List of frameworks associated with application stack. + * The OAuth 1.0a consumer secret of the Twitter application used for sign-in. + * This setting is required for enabling Twitter Sign-In. + * Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in */ - frameworks?: ApplicationStack[]; + twitterConsumerSecret?: string; /** - * true if this is the stack is deprecated; otherwise, false. + * The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + * application used for sign-in. */ - isDeprecated?: ApplicationStack[]; -} - -/** - * ARM resource for a ApplicationStack. - */ -export interface ApplicationStackResource extends ProxyOnlyResource { - /** - * Application stack name. - */ - applicationStackResourceName?: string; + twitterConsumerSecretSettingName?: string; /** - * Application stack display name. + * The OAuth 2.0 client ID that was created for the app used for authentication. + * This setting is required for enabling Microsoft Account authentication. + * Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm */ - display?: string; + microsoftAccountClientId?: string; /** - * Application stack dependency. + * The OAuth 2.0 client secret that was created for the app used for authentication. + * This setting is required for enabling Microsoft Account authentication. + * Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm */ - dependency?: string; + microsoftAccountClientSecret?: string; /** - * List of major versions available. + * The app setting name containing the OAuth 2.0 client secret that was created for the + * app used for authentication. */ - majorVersions?: StackMajorVersion[]; + microsoftAccountClientSecretSettingName?: string; /** - * List of frameworks associated with application stack. + * The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. + * This setting is optional. If not specified, "wl.basic" is used as the default scope. + * Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx */ - frameworks?: ApplicationStack[]; + microsoftAccountOAuthScopes?: string[]; /** - * true if this is the stack is deprecated; otherwise, false. + * "true" if the auth config settings should be read from a file, + * "false" otherwise */ - isDeprecated?: ApplicationStack[]; -} - -/** - * GitHub Actions Web App stack settings. - */ -export interface GitHubActionWebAppStackSettings { + isAuthFromFile?: string; /** - * true if GitHub Actions is supported for the stack; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The path of the config file containing auth settings. + * If the path is relative, base will the site's root directory. */ - readonly isSupported?: boolean; + authFilePath?: string; /** - * The minor version that is supported for GitHub Actions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The ConfigVersion of the Authentication / Authorization feature in use for the current app. + * The setting in this value can control the behavior of the control plane for Authentication / Authorization. */ - readonly supportedVersion?: string; -} + configVersion?: string; +}; -/** - * Site config properties dictionary. - */ -export interface SiteConfigPropertiesDictionary { - /** - * true if use32BitWorkerProcess should be set to true for the stack; otherwise, - * false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly use32BitWorkerProcess?: boolean; - /** - * LinuxFxVersion configuration setting. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly linuxFxVersion?: string; +/** The configuration settings of the Azure Active Directory app registration. */ +export type AzureActiveDirectoryRegistration = ProxyOnlyResource & { /** - * JavaVersion configuration setting. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly javaVersion?: string; - /** - * PowerShellVersion configuration setting. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + * When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/. + * This URI is a case-sensitive identifier for the token issuer. + * More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html */ - readonly powerShellVersion?: string; -} - -/** - * Function App runtime settings. - */ -export interface FunctionAppRuntimeSettings { + openIdIssuer?: string; /** - * Function App stack minor version (runtime only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Client ID of this relying party application, known as the client_id. + * This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + * other 3rd party OpenID Connect providers. + * More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html */ - readonly runtimeVersion?: string; + clientId?: string; + /** The app setting name that contains the client secret of the relying party application. */ + clientSecretSettingName?: string; /** - * true if remote debugging is supported for the stack; otherwise, - * false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as + * a replacement for the Client Secret. It is also optional. */ - readonly remoteDebuggingSupported?: boolean; + clientSecretCertificateThumbprint?: string; /** - * Application Insights settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as + * a replacement for the Client Secret Certificate Thumbprint. It is also optional. */ - readonly appInsightsSettings?: AppInsightsWebAppStackSettings; + clientSecretCertificateSubjectAlternativeName?: string; /** - * GitHub Actions settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as + * a replacement for the Client Secret Certificate Thumbprint. It is also optional. */ - readonly gitHubActionSettings?: GitHubActionWebAppStackSettings; + clientSecretCertificateIssuer?: string; +}; + +/** The configuration settings of the Azure Active Directory login flow. */ +export type AzureActiveDirectoryLogin = ProxyOnlyResource & { /** - * Application settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Login parameters to send to the OpenID Connect authorization endpoint when + * a user logs in. Each parameter must be in the form "key=value". */ - readonly appSettingsDictionary?: { [propertyName: string]: string }; + loginParameters?: string[]; + /** true if the www-authenticate provider should be omitted from the request; otherwise, false. */ + disableWWWAuthenticate?: boolean; +}; + +/** The configuration settings of the Azure Active Directory allowed principals. */ +export type AllowedPrincipals = ProxyOnlyResource & { + /** The list of the allowed groups. */ + groups?: string[]; + /** The list of the allowed identities. */ + identities?: string[]; +}; + +/** The configuration settings of the Azure Active Directory token validation flow. */ +export type AzureActiveDirectoryValidation = ProxyOnlyResource & { + /** The configuration settings of the checks that should be made while validating the JWT Claims. */ + jwtClaimChecks?: JwtClaimChecks; + /** The list of audiences that can make successful authentication/authorization requests. */ + allowedAudiences?: string[]; + /** The configuration settings of the default authorization policy. */ + defaultAuthorizationPolicy?: DefaultAuthorizationPolicy; +}; + +/** The configuration settings of the app registration for providers that have app ids and app secrets */ +export type AppRegistration = ProxyOnlyResource & { + /** The App ID of the app used for login. */ + appId?: string; + /** The app setting name that contains the app secret. */ + appSecretSettingName?: string; +}; + +/** The configuration settings of the GitHub provider. */ +export type GitHub = ProxyOnlyResource & { + /** false if the GitHub provider should not be enabled despite the set registration; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the app registration for the GitHub provider. */ + registration?: ClientRegistration; + /** The configuration settings of the login flow. */ + login?: LoginScopes; +}; + +/** The configuration settings of the Google provider. */ +export type Google = ProxyOnlyResource & { + /** false if the Google provider should not be enabled despite the set registration; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the app registration for the Google provider. */ + registration?: ClientRegistration; + /** The configuration settings of the login flow. */ + login?: LoginScopes; + /** The configuration settings of the Azure Active Directory token validation flow. */ + validation?: AllowedAudiencesValidation; +}; + +/** The configuration settings of the Twitter provider. */ +export type Twitter = ProxyOnlyResource & { + /** false if the Twitter provider should not be enabled despite the set registration; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the app registration for the Twitter provider. */ + registration?: TwitterRegistration; +}; + +/** The configuration settings of the custom Open ID Connect provider. */ +export type CustomOpenIdConnectProvider = ProxyOnlyResource & { + /** false if the custom Open ID provider provider should not be enabled; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the app registration for the custom Open ID Connect provider. */ + registration?: OpenIdConnectRegistration; + /** The configuration settings of the login flow of the custom Open ID Connect provider. */ + login?: OpenIdConnectLogin; +}; + +/** The configuration settings of the legacy Microsoft Account provider. */ +export type LegacyMicrosoftAccount = ProxyOnlyResource & { + /** false if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the app registration for the legacy Microsoft Account provider. */ + registration?: ClientRegistration; + /** The configuration settings of the login flow. */ + login?: LoginScopes; + /** The configuration settings of the legacy Microsoft Account provider token validation flow. */ + validation?: AllowedAudiencesValidation; +}; + +/** The configuration settings of the Apple provider. */ +export type Apple = ProxyOnlyResource & { + /** false if the Apple provider should not be enabled despite the set registration; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the Apple registration. */ + registration?: AppleRegistration; + /** The configuration settings of the login flow. */ + login?: LoginScopes; +}; + +/** The configuration settings of the Azure Static Web Apps provider. */ +export type AzureStaticWebApps = ProxyOnlyResource & { + /** false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true. */ + enabled?: boolean; + /** The configuration settings of the Azure Static Web Apps registration. */ + registration?: AzureStaticWebAppsRegistration; +}; + +/** The configuration settings of the storage of the tokens if blob storage is used. */ +export type BlobStorageTokenStore = ProxyOnlyResource & { + /** The name of the app setting containing the SAS URL of the blob storage containing the tokens. */ + sasUrlSettingName?: string; +}; + +/** Configuration settings for the Azure App Service Authentication / Authorization V2 feature. */ +export type SiteAuthSettingsV2 = ProxyOnlyResource & { + /** The configuration settings of the platform of App Service Authentication/Authorization. */ + platform?: AuthPlatform; + /** The configuration settings that determines the validation flow of users using App Service Authentication/Authorization. */ + globalValidation?: GlobalValidation; + /** The configuration settings of each of the identity providers used to configure App Service Authentication/Authorization. */ + identityProviders?: IdentityProviders; + /** The configuration settings of the login flow of users using App Service Authentication/Authorization. */ + login?: Login; + /** The configuration settings of the HTTP requests for authentication and authorization requests made against App Service Authentication/Authorization. */ + httpSettings?: HttpSettings; +}; + +/** AzureStorageInfo dictionary resource. */ +export type AzureStoragePropertyDictionaryResource = ProxyOnlyResource & { + /** Azure storage accounts. */ + properties?: { [propertyName: string]: AzureStorageInfoValue }; +}; + +/** Description of site key vault references. */ +export type ApiKVReference = ProxyOnlyResource & { + reference?: string; + status?: ResolveStatus; + vaultName?: string; + secretName?: string; + secretVersion?: string; + /** Managed service identity. */ + identityType?: ManagedServiceIdentity; + details?: string; + source?: "KeyVault"; + activeVersion?: string; +}; + +/** String dictionary resource. */ +export type ConnectionStringDictionary = ProxyOnlyResource & { + /** Connection strings. */ + properties?: { [propertyName: string]: ConnStringValueTypePair }; +}; + +/** Configuration of App Service site logs. */ +export type SiteLogsConfig = ProxyOnlyResource & { + /** Application logs configuration. */ + applicationLogs?: ApplicationLogsConfig; + /** HTTP logs configuration. */ + httpLogs?: HttpLogsConfig; + /** Failed requests tracing configuration. */ + failedRequestsTracing?: EnabledConfig; + /** Detailed error messages configuration. */ + detailedErrorMessages?: EnabledConfig; +}; + +/** Slot Config names azure resource. */ +export type SlotConfigNamesResource = ProxyOnlyResource & { + /** List of connection string names. */ + connectionStringNames?: string[]; + /** List of application settings names. */ + appSettingNames?: string[]; + /** List of external Azure storage account identifiers. */ + azureStorageConfigNames?: string[]; +}; + +/** A snapshot of a web app configuration. */ +export type SiteConfigurationSnapshotInfo = ProxyOnlyResource & { /** - * Configuration settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the snapshot was taken. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly siteConfigPropertiesDictionary?: SiteConfigPropertiesDictionary; + readonly time?: Date; /** - * List of supported Functions extension versions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The id of the snapshot + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedFunctionsExtensionVersions?: string[]; + readonly snapshotId?: number; +}; + +/** Continuous Web Job Information. */ +export type ContinuousWebJob = ProxyOnlyResource & { + /** Job status. */ + status?: ContinuousWebJobStatus; + /** Detailed status. */ + detailedStatus?: string; + /** Log URL. */ + logUrl?: string; + /** Run command. */ + runCommand?: string; + /** Job URL. */ + url?: string; + /** Extra Info URL. */ + extraInfoUrl?: string; + /** Job type. */ + webJobType?: WebJobType; + /** Error information. */ + error?: string; + /** Using SDK? */ + usingSdk?: boolean; + /** Job settings. */ + settings?: { [propertyName: string]: Record }; +}; + +/** User credentials used for publishing activity. */ +export type Deployment = ProxyOnlyResource & { + /** Deployment status. */ + status?: number; + /** Details about deployment status. */ + message?: string; + /** Who authored the deployment. */ + author?: string; + /** Who performed the deployment. */ + deployer?: string; + /** Author email. */ + authorEmail?: string; + /** Start time. */ + startTime?: Date; + /** End time. */ + endTime?: Date; + /** True if deployment is currently active, false if completed and null if not started. */ + active?: boolean; + /** Details on deployment. */ + details?: string; +}; + +/** MSDeploy ARM response */ +export type MSDeployStatus = ProxyOnlyResource & { /** - * true if the stack is in preview; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Username of deployer + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isPreview?: boolean; + readonly deployer?: string; /** - * true if the stack is deprecated; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Provisioning state + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isDeprecated?: boolean; + readonly provisioningState?: MSDeployProvisioningState; /** - * true if the stack should be hidden; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Start time of deploy operation + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isHidden?: boolean; + readonly startTime?: Date; /** - * End-of-life date for the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * End time of deploy operation + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endOfLifeDate?: Date; + readonly endTime?: Date; /** - * true if the stack version is auto-updated; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether the deployment operation has completed + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isAutoUpdate?: boolean; + readonly complete?: boolean; +}; + +/** MSDeploy ARM PUT information */ +export type MSDeploy = ProxyOnlyResource & { + /** Package URI */ + packageUri?: string; + /** SQL Connection String */ + connectionString?: string; + /** Database Type */ + dbType?: string; + /** URI of MSDeploy Parameters file. Must not be set if SetParameters is used. */ + setParametersXmlFileUri?: string; + /** MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used. */ + setParameters?: { [propertyName: string]: string }; /** - * true if the minor version is early-access; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Controls whether the MSDeploy operation skips the App_Data directory. + * If set to true, the existing App_Data directory on the destination + * will not be deleted, and any App_Data directory in the source will be ignored. + * Setting is false by default. */ - readonly isEarlyAccess?: boolean; + skipAppData?: boolean; /** - * true if the minor version the default; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Sets the AppOffline rule while the MSDeploy operation executes. + * Setting is false by default. */ - readonly isDefault?: boolean; -} + appOffline?: boolean; +}; -/** - * Function App stack runtimes. - */ -export interface FunctionAppRuntimes { - /** - * Linux-specific settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly linuxRuntimeSettings?: FunctionAppRuntimeSettings; +/** MSDeploy log */ +export type MSDeployLog = ProxyOnlyResource & { /** - * Windows-specific settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of log entry messages + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly windowsRuntimeSettings?: FunctionAppRuntimeSettings; -} + readonly entries?: MSDeployLogEntry[]; +}; -/** - * Function App stack minor version. - */ -export interface FunctionAppMinorVersion { - /** - * Function App stack (display only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly displayText?: string; - /** - * Function App stack name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly value?: string; - /** - * Settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly stackSettings?: FunctionAppRuntimes; -} +/** Function information. */ +export type FunctionEnvelope = ProxyOnlyResource & { + /** Function App ID. */ + functionAppId?: string; + /** Script root path URI. */ + scriptRootPathHref?: string; + /** Script URI. */ + scriptHref?: string; + /** Config URI. */ + configHref?: string; + /** Test data URI. */ + testDataHref?: string; + /** Secrets file URI. */ + secretsFileHref?: string; + /** Function URI. */ + href?: string; + /** Config information. */ + config?: Record; + /** File list. */ + files?: { [propertyName: string]: string }; + /** Test data used when testing via the Azure Portal. */ + testData?: string; + /** The invocation URL */ + invokeUrlTemplate?: string; + /** The function language */ + language?: string; + /** Gets or sets a value indicating whether the function is disabled */ + isDisabled?: boolean; +}; -/** - * Function App stack major version. - */ -export interface FunctionAppMajorVersion { - /** - * Function App stack major version (display only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly displayText?: string; +/** A hostname binding object. */ +export type HostNameBinding = ProxyOnlyResource & { + /** App Service app name. */ + siteName?: string; + /** Fully qualified ARM domain resource URI. */ + domainId?: string; + /** Azure resource name. */ + azureResourceName?: string; + /** Azure resource type. */ + azureResourceType?: AzureResourceType; + /** Custom DNS record type. */ + customHostNameDnsRecordType?: CustomHostNameDnsRecordType; + /** Hostname type. */ + hostNameType?: HostNameType; + /** SSL type */ + sslState?: SslState; + /** SSL certificate thumbprint */ + thumbprint?: string; /** - * Function App stack major version name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Virtual IP address assigned to the hostname if IP based SSL is enabled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly value?: string; + readonly virtualIP?: string; +}; + +/** Hybrid Connection for an App Service app. */ +export type RelayServiceConnectionEntity = ProxyOnlyResource & { + entityName?: string; + entityConnectionString?: string; + resourceType?: string; + resourceConnectionString?: string; + hostname?: string; + port?: number; + biztalkUri?: string; +}; + +export type WebSiteInstanceStatus = ProxyOnlyResource & { + state?: SiteRuntimeState; + /** Link to the GetStatusApi in Kudu */ + statusUrl?: string; + /** Link to the Diagnose and Solve Portal */ + detectorUrl?: string; + /** Link to the console to web app instance */ + consoleUrl?: string; + /** Link to the console to web app instance */ + healthCheckUrl?: string; + /** Dictionary of */ + containers?: { [propertyName: string]: ContainerInfo }; +}; + +/** Process Thread Information. */ +export type ProcessThreadInfo = ProxyOnlyResource & { /** - * Minor versions associated with the major version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Site extension ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly minorVersions?: FunctionAppMinorVersion[]; -} + readonly identifier?: number; + /** HRef URI. */ + href?: string; + /** Process URI. */ + process?: string; + /** Start address. */ + startAddress?: string; + /** Current thread priority. */ + currentPriority?: number; + /** Thread priority level. */ + priorityLevel?: string; + /** Base priority. */ + basePriority?: number; + /** Start time. */ + startTime?: Date; + /** Total processor time. */ + totalProcessorTime?: string; + /** User processor time. */ + userProcessorTime?: string; + /** Thread state. */ + state?: string; + /** Wait reason. */ + waitReason?: string; +}; -/** - * Function App Stack. - */ -export interface FunctionAppStack extends ProxyOnlyResource { +/** Process Module Information. */ +export type ProcessModuleInfo = ProxyOnlyResource & { + /** Base address. Used as module identifier in ARM resource URI. */ + baseAddress?: string; + /** File name. */ + fileName?: string; + /** HRef URI. */ + href?: string; + /** File path. */ + filePath?: string; + /** Module memory size. */ + moduleMemorySize?: number; + /** File version. */ + fileVersion?: string; + /** File description. */ + fileDescription?: string; + /** Product name. */ + product?: string; + /** Product version. */ + productVersion?: string; + /** Is debug? */ + isDebug?: boolean; + /** Module language (locale). */ + language?: string; +}; + +/** Process Information. */ +export type ProcessInfo = ProxyOnlyResource & { /** - * Function App stack location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * ARM Identifier for deployment. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly identifier?: number; + /** Deployment name. */ + deploymentName?: string; + /** HRef URI. */ + href?: string; + /** Minidump URI. */ + minidump?: string; + /** Is profile running? */ + isProfileRunning?: boolean; + /** Is the IIS Profile running? */ + isIisProfileRunning?: boolean; + /** IIS Profile timeout (seconds). */ + iisProfileTimeoutInSeconds?: number; + /** Parent process. */ + parent?: string; + /** Child process list. */ + children?: string[]; + /** Thread list. */ + threads?: ProcessThreadInfo[]; + /** List of open files. */ + openFileHandles?: string[]; + /** List of modules. */ + modules?: ProcessModuleInfo[]; + /** File name of this process. */ + fileName?: string; + /** Command line. */ + commandLine?: string; + /** User name. */ + userName?: string; + /** Handle count. */ + handleCount?: number; + /** Module count. */ + moduleCount?: number; + /** Thread count. */ + threadCount?: number; + /** Start time. */ + startTime?: Date; + /** Total CPU time. */ + totalCpuTime?: string; + /** User CPU time. */ + userCpuTime?: string; + /** Privileged CPU time. */ + privilegedCpuTime?: string; + /** Working set. */ + workingSet?: number; + /** Peak working set. */ + peakWorkingSet?: number; + /** Private memory size. */ + privateMemory?: number; + /** Virtual memory size. */ + virtualMemory?: number; + /** Peak virtual memory usage. */ + peakVirtualMemory?: number; + /** Paged system memory. */ + pagedSystemMemory?: number; + /** Non-paged system memory. */ + nonPagedSystemMemory?: number; + /** Paged memory. */ + pagedMemory?: number; + /** Peak paged memory. */ + peakPagedMemory?: number; + /** Time stamp. */ + timeStamp?: Date; + /** List of environment variables. */ + environmentVariables?: { [propertyName: string]: string }; + /** Is this the SCM site? */ + isScmSite?: boolean; + /** Is this a Web Job? */ + isWebjob?: boolean; + /** Description of process. */ + description?: string; +}; + +/** Options for app content migration. */ +export type StorageMigrationOptions = ProxyOnlyResource & { + /** AzureFiles connection string. */ + azurefilesConnectionString?: string; + /** AzureFiles share. */ + azurefilesShare?: string; + /** trueif the app should be switched over; otherwise, false. */ + switchSiteAfterMigration?: boolean; + /** true if the app should be read only during copy operation; otherwise, false. */ + blockWriteAccessToSite?: boolean; +}; + +/** Response for a migration of app content request. */ +export type StorageMigrationResponse = ProxyOnlyResource & { /** - * Function App stack (display only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * When server starts the migration process, it will return an operation ID identifying that particular migration operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly displayText?: string; + readonly operationId?: string; +}; + +/** MySQL migration request. */ +export type MigrateMySqlRequest = ProxyOnlyResource & { + /** Connection string to the remote MySQL database. */ + connectionString?: string; + /** The type of migration operation to be done */ + migrationType?: MySqlMigrationType; +}; + +/** MySQL migration status. */ +export type MigrateMySqlStatus = ProxyOnlyResource & { /** - * Function App stack name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of the migration task. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly value?: string; + readonly migrationOperationStatus?: OperationStatus; /** - * List of major versions available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Operation ID for the migration task. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly majorVersions?: FunctionAppMajorVersion[]; + readonly operationId?: string; /** - * Function App stack preferred OS. Possible values include: 'Windows', 'Linux' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * True if the web app has in app MySql enabled + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly preferredOs?: StackPreferredOs; -} + readonly localMySqlEnabled?: boolean; +}; -/** - * Linux Java Container settings. - */ -export interface LinuxJavaContainerSettings { - /** - * Java 11 version (runtime only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly java11Runtime?: string; +/** Swift Virtual Network Contract. This is used to enable the new Swift way of doing virtual network integration. */ +export type SwiftVirtualNetwork = ProxyOnlyResource & { + /** The Virtual Network subnet's resource ID. This is the subnet that this Web App will join. This subnet must have a delegation to Microsoft.Web/serverFarms defined first. */ + subnetResourceId?: string; + /** A flag that specifies if the scale unit this Web App is on supports Swift integration. */ + swiftSupported?: boolean; +}; + +/** Full view of network features for an app (presently VNET integration and Hybrid Connections). */ +export type NetworkFeatures = ProxyOnlyResource & { /** - * Java 8 version (runtime only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Virtual Network name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly java8Runtime?: string; + readonly virtualNetworkName?: string; /** - * true if the stack is in preview; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Virtual Network summary view. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isPreview?: boolean; + readonly virtualNetworkConnection?: VnetInfo; /** - * true if the stack is deprecated; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Hybrid Connections summary view. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isDeprecated?: boolean; + readonly hybridConnections?: RelayServiceConnectionEntity[]; /** - * true if the stack should be hidden; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Hybrid Connection V2 (Service Bus) view. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isHidden?: boolean; + readonly hybridConnectionsV2?: HybridConnection[]; +}; + +/** Used for getting PHP error logging flag. */ +export type SitePhpErrorLogFlag = ProxyOnlyResource & { + /** Local log_errors setting. */ + localLogErrors?: string; + /** Master log_errors setting. */ + masterLogErrors?: string; + /** Local log_errors_max_len setting. */ + localLogErrorsMaxLength?: string; + /** Master log_errors_max_len setting. */ + masterLogErrorsMaxLength?: string; +}; + +/** ARM resource for a PremierAddOn. */ +export type PremierAddOnPatchResource = ProxyOnlyResource & { + /** Premier add on SKU. */ + sku?: string; + /** Premier add on Product. */ + product?: string; + /** Premier add on Vendor. */ + vendor?: string; + /** Premier add on Marketplace publisher. */ + marketplacePublisher?: string; + /** Premier add on Marketplace offer. */ + marketplaceOffer?: string; +}; + +/** Description of the parameters of Private Access for a Web Site. */ +export type PrivateAccess = ProxyOnlyResource & { + /** Whether private access is enabled or not. */ + enabled?: boolean; + /** The Virtual Networks (and subnets) allowed to access the site privately. */ + virtualNetworks?: PrivateAccessVirtualNetwork[]; +}; + +/** Public certificate object */ +export type PublicCertificate = ProxyOnlyResource & { + /** Public Certificate byte array */ + blob?: Uint8Array; + /** Public Certificate Location */ + publicCertificateLocation?: PublicCertificateLocation; /** - * End-of-life date for the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Certificate Thumbprint + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endOfLifeDate?: Date; + readonly thumbprint?: string; +}; + +/** Details about restoring a deleted app. */ +export type DeletedAppRestoreRequest = ProxyOnlyResource & { /** - * true if the stack version is auto-updated; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * ARM resource ID of the deleted app. Example: + * /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} */ - readonly isAutoUpdate?: boolean; + deletedSiteId?: string; + /** If true, deleted site configuration, in addition to content, will be restored. */ + recoverConfiguration?: boolean; /** - * true if the minor version is early-access; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Point in time to restore the deleted app from, formatted as a DateTime string. + * If unspecified, default value is the time that the app was deleted. */ - readonly isEarlyAccess?: boolean; -} + snapshotTime?: string; + /** If true, the snapshot is retrieved from DRSecondary endpoint. */ + useDRSecondary?: boolean; +}; -/** - * Web App runtime settings. - */ -export interface WebAppRuntimeSettings { - /** - * Web App stack minor version (runtime only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly runtimeVersion?: string; +/** Details about app recovery operation. */ +export type SnapshotRestoreRequest = ProxyOnlyResource & { + /** Point in time in which the app restore should be done, formatted as a DateTime string. */ + snapshotTime?: string; /** - * true if remote debugging is supported for the stack; otherwise, - * false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Optional. Specifies the web app that snapshot contents will be retrieved from. + * If empty, the targeted web app will be used as the source. */ - readonly remoteDebuggingSupported?: boolean; + recoverySource?: SnapshotRecoverySource; + /** If true the restore operation can overwrite source app; otherwise, false. */ + overwrite?: boolean; + /** If true, site configuration, in addition to content, will be reverted. */ + recoverConfiguration?: boolean; /** - * Application Insights settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * If true, custom hostname conflicts will be ignored when recovering to a target web app. + * This setting is only necessary when RecoverConfiguration is enabled. */ - readonly appInsightsSettings?: AppInsightsWebAppStackSettings; - /** - * GitHub Actions settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + ignoreConflictingHostNames?: boolean; + /** If true, the snapshot is retrieved from DRSecondary endpoint. */ + useDRSecondary?: boolean; +}; + +/** Site Extension Information. */ +export type SiteExtensionInfo = ProxyOnlyResource & { + /** Site extension ID. */ + extensionId?: string; + title?: string; + /** Site extension type. */ + extensionType?: SiteExtensionType; + /** Summary description. */ + summary?: string; + /** Detailed description. */ + description?: string; + /** Version information. */ + version?: string; + /** Extension URL. */ + extensionUrl?: string; + /** Project URL. */ + projectUrl?: string; + /** Icon URL. */ + iconUrl?: string; + /** License URL. */ + licenseUrl?: string; + /** Feed URL. */ + feedUrl?: string; + /** List of authors. */ + authors?: string[]; + /** Installer command line parameters. */ + installerCommandLineParams?: string; + /** Published timestamp. */ + publishedDateTime?: Date; + /** Count of downloads. */ + downloadCount?: number; + /** true if the local version is the latest version; false otherwise. */ + localIsLatestVersion?: boolean; + /** Local path. */ + localPath?: string; + /** Installed timestamp. */ + installedDateTime?: Date; + /** Provisioning state. */ + provisioningState?: string; + /** Site Extension comment. */ + comment?: string; +}; + +/** A setting difference between two deployment slots of an app. */ +export type SlotDifference = ProxyOnlyResource & { + /** + * Level of the difference: Information, Warning or Error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly gitHubActionSettings?: GitHubActionWebAppStackSettings; + readonly level?: string; /** - * true if the stack is in preview; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The type of the setting: General, AppSetting or ConnectionString. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isPreview?: boolean; + readonly settingType?: string; /** - * true if the stack is deprecated; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Rule that describes how to process the setting difference during a slot swap. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isDeprecated?: boolean; + readonly diffRule?: string; /** - * true if the stack should be hidden; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Name of the setting. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isHidden?: boolean; + readonly settingName?: string; /** - * End-of-life date for the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Value of the setting in the current slot. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endOfLifeDate?: Date; + readonly valueInCurrentSlot?: string; /** - * true if the stack version is auto-updated; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Value of the setting in the target slot. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isAutoUpdate?: boolean; + readonly valueInTargetSlot?: string; /** - * true if the minor version is early-access; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Description of the setting difference. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isEarlyAccess?: boolean; + readonly description?: string; +}; + +/** Source control configuration for an app. */ +export type SiteSourceControl = ProxyOnlyResource & { + /** Repository or source control URL. */ + repoUrl?: string; + /** Name of branch to use for deployment. */ + branch?: string; + /** true to limit to manual integration; false to enable continuous integration (which configures webhooks into online repos like GitHub). */ + isManualIntegration?: boolean; + /** true if this is deployed via GitHub action. */ + isGitHubAction?: boolean; + /** true to enable deployment rollback; otherwise, false. */ + deploymentRollbackEnabled?: boolean; + /** true for a Mercurial repository; false for a Git repository. */ + isMercurial?: boolean; + /** If GitHub Action is selected, than the associated configuration. */ + gitHubActionConfiguration?: GitHubActionConfiguration; +}; + +/** Triggered Web Job Information. */ +export type TriggeredWebJob = ProxyOnlyResource & { + /** Latest job run information. */ + latestRun?: TriggeredJobRun; + /** History URL. */ + historyUrl?: string; + /** Scheduler Logs URL. */ + schedulerLogsUrl?: string; + /** Run command. */ + runCommand?: string; + /** Job URL. */ + url?: string; + /** Extra Info URL. */ + extraInfoUrl?: string; + /** Job type. */ + webJobType?: WebJobType; + /** Error information. */ + error?: string; + /** Using SDK? */ + usingSdk?: boolean; + /** Job settings. */ + settings?: { [propertyName: string]: Record }; +}; + +/** Triggered Web Job History. List of Triggered Web Job Run Information elements. */ +export type TriggeredJobHistory = ProxyOnlyResource & { + /** List of triggered web job runs. */ + runs?: TriggeredJobRun[]; +}; + +/** Web Job Information. */ +export type WebJob = ProxyOnlyResource & { + /** Run command. */ + runCommand?: string; + /** Job URL. */ + url?: string; + /** Extra Info URL. */ + extraInfoUrl?: string; + /** Job type. */ + webJobType?: WebJobType; + /** Error information. */ + error?: string; + /** Using SDK? */ + usingSdk?: boolean; + /** Job settings. */ + settings?: { [propertyName: string]: Record }; +}; + +/** Known values of {@link AppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem} that the service accepts. */ +export enum KnownAppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem { + RegistrationStatusNotSupportedForRenewal = "RegistrationStatusNotSupportedForRenewal", + ExpirationNotInRenewalTimeRange = "ExpirationNotInRenewalTimeRange", + SubscriptionNotActive = "SubscriptionNotActive" } -/** - * Windows Java Container settings. +/** + * Defines values for AppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem. \ + * {@link KnownAppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem} can be used interchangeably with AppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RegistrationStatusNotSupportedForRenewal** \ + * **ExpirationNotInRenewalTimeRange** \ + * **SubscriptionNotActive** */ -export interface WindowsJavaContainerSettings { - /** - * Java container (runtime only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly javaContainer?: string; - /** - * Java container version (runtime only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly javaContainerVersion?: string; - /** - * true if the stack is in preview; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isPreview?: boolean; - /** - * true if the stack is deprecated; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isDeprecated?: boolean; - /** - * true if the stack should be hidden; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isHidden?: boolean; - /** - * End-of-life date for the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly endOfLifeDate?: Date; - /** - * true if the stack version is auto-updated; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isAutoUpdate?: boolean; - /** - * true if the minor version is early-access; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isEarlyAccess?: boolean; +export type AppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem = string; + +/** Known values of {@link AppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem} that the service accepts. */ +export enum KnownAppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem { + RegistrationStatusNotSupportedForRenewal = "RegistrationStatusNotSupportedForRenewal", + ExpirationNotInRenewalTimeRange = "ExpirationNotInRenewalTimeRange", + SubscriptionNotActive = "SubscriptionNotActive" +} + +/** + * Defines values for AppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem. \ + * {@link KnownAppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem} can be used interchangeably with AppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RegistrationStatusNotSupportedForRenewal** \ + * **ExpirationNotInRenewalTimeRange** \ + * **SubscriptionNotActive** + */ +export type AppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem = string; + +/** Known values of {@link DomainPropertiesDomainNotRenewableReasonsItem} that the service accepts. */ +export enum KnownDomainPropertiesDomainNotRenewableReasonsItem { + RegistrationStatusNotSupportedForRenewal = "RegistrationStatusNotSupportedForRenewal", + ExpirationNotInRenewalTimeRange = "ExpirationNotInRenewalTimeRange", + SubscriptionNotActive = "SubscriptionNotActive" +} + +/** + * Defines values for DomainPropertiesDomainNotRenewableReasonsItem. \ + * {@link KnownDomainPropertiesDomainNotRenewableReasonsItem} can be used interchangeably with DomainPropertiesDomainNotRenewableReasonsItem, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RegistrationStatusNotSupportedForRenewal** \ + * **ExpirationNotInRenewalTimeRange** \ + * **SubscriptionNotActive** + */ +export type DomainPropertiesDomainNotRenewableReasonsItem = string; + +/** Known values of {@link DomainPatchResourcePropertiesDomainNotRenewableReasonsItem} that the service accepts. */ +export enum KnownDomainPatchResourcePropertiesDomainNotRenewableReasonsItem { + RegistrationStatusNotSupportedForRenewal = "RegistrationStatusNotSupportedForRenewal", + ExpirationNotInRenewalTimeRange = "ExpirationNotInRenewalTimeRange", + SubscriptionNotActive = "SubscriptionNotActive" +} + +/** + * Defines values for DomainPatchResourcePropertiesDomainNotRenewableReasonsItem. \ + * {@link KnownDomainPatchResourcePropertiesDomainNotRenewableReasonsItem} can be used interchangeably with DomainPatchResourcePropertiesDomainNotRenewableReasonsItem, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RegistrationStatusNotSupportedForRenewal** \ + * **ExpirationNotInRenewalTimeRange** \ + * **SubscriptionNotActive** + */ +export type DomainPatchResourcePropertiesDomainNotRenewableReasonsItem = string; + +/** Known values of {@link LoadBalancingMode} that the service accepts. */ +export enum KnownLoadBalancingMode { + None = "None", + Web = "Web", + Publishing = "Publishing", + WebPublishing = "Web, Publishing" +} + +/** + * Defines values for LoadBalancingMode. \ + * {@link KnownLoadBalancingMode} can be used interchangeably with LoadBalancingMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Web** \ + * **Publishing** \ + * **Web, Publishing** + */ +export type LoadBalancingMode = string; + +/** Known values of {@link ScmType} that the service accepts. */ +export enum KnownScmType { + None = "None", + Dropbox = "Dropbox", + Tfs = "Tfs", + LocalGit = "LocalGit", + GitHub = "GitHub", + CodePlexGit = "CodePlexGit", + CodePlexHg = "CodePlexHg", + BitbucketGit = "BitbucketGit", + BitbucketHg = "BitbucketHg", + ExternalGit = "ExternalGit", + ExternalHg = "ExternalHg", + OneDrive = "OneDrive", + VSO = "VSO", + Vstsrm = "VSTSRM" +} + +/** + * Defines values for ScmType. \ + * {@link KnownScmType} can be used interchangeably with ScmType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Dropbox** \ + * **Tfs** \ + * **LocalGit** \ + * **GitHub** \ + * **CodePlexGit** \ + * **CodePlexHg** \ + * **BitbucketGit** \ + * **BitbucketHg** \ + * **ExternalGit** \ + * **ExternalHg** \ + * **OneDrive** \ + * **VSO** \ + * **VSTSRM** + */ +export type ScmType = string; + +/** Known values of {@link IpFilterTag} that the service accepts. */ +export enum KnownIpFilterTag { + Default = "Default", + XffProxy = "XffProxy", + ServiceTag = "ServiceTag" +} + +/** + * Defines values for IpFilterTag. \ + * {@link KnownIpFilterTag} can be used interchangeably with IpFilterTag, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **XffProxy** \ + * **ServiceTag** + */ +export type IpFilterTag = string; + +/** Known values of {@link SupportedTlsVersions} that the service accepts. */ +export enum KnownSupportedTlsVersions { + One0 = "1.0", + One1 = "1.1", + One2 = "1.2" +} + +/** + * Defines values for SupportedTlsVersions. \ + * {@link KnownSupportedTlsVersions} can be used interchangeably with SupportedTlsVersions, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **1.0** \ + * **1.1** \ + * **1.2** + */ +export type SupportedTlsVersions = string; + +/** Known values of {@link FtpsState} that the service accepts. */ +export enum KnownFtpsState { + AllAllowed = "AllAllowed", + FtpsOnly = "FtpsOnly", + Disabled = "Disabled" +} + +/** + * Defines values for FtpsState. \ + * {@link KnownFtpsState} can be used interchangeably with FtpsState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AllAllowed** \ + * **FtpsOnly** \ + * **Disabled** + */ +export type FtpsState = string; + +/** Known values of {@link RouteType} that the service accepts. */ +export enum KnownRouteType { + Default = "DEFAULT", + Inherited = "INHERITED", + Static = "STATIC" +} + +/** + * Defines values for RouteType. \ + * {@link KnownRouteType} can be used interchangeably with RouteType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **DEFAULT** \ + * **INHERITED** \ + * **STATIC** + */ +export type RouteType = string; + +/** Known values of {@link Enum10} that the service accepts. */ +export enum KnownEnum10 { + Windows = "Windows", + Linux = "Linux", + WindowsFunctions = "WindowsFunctions", + LinuxFunctions = "LinuxFunctions", + All = "All" } /** - * Web App stack runtimes. + * Defines values for Enum10. \ + * {@link KnownEnum10} can be used interchangeably with Enum10, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Windows** \ + * **Linux** \ + * **WindowsFunctions** \ + * **LinuxFunctions** \ + * **All** */ -export interface WebAppRuntimes { - /** - * Linux-specific settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly linuxRuntimeSettings?: WebAppRuntimeSettings; - /** - * Windows-specific settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly windowsRuntimeSettings?: WebAppRuntimeSettings; - /** - * Linux-specific settings associated with the Java container minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly linuxContainerSettings?: LinuxJavaContainerSettings; - /** - * Windows-specific settings associated with the Java container minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly windowsContainerSettings?: WindowsJavaContainerSettings; +export type Enum10 = string; + +/** Known values of {@link Enum11} that the service accepts. */ +export enum KnownEnum11 { + Windows = "Windows", + Linux = "Linux", + All = "All" } /** - * Web App stack minor version. + * Defines values for Enum11. \ + * {@link KnownEnum11} can be used interchangeably with Enum11, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Windows** \ + * **Linux** \ + * **All** */ -export interface WebAppMinorVersion { - /** - * Web App stack minor version (display only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly displayText?: string; - /** - * Web App stack major version name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly value?: string; - /** - * Settings associated with the minor version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly stackSettings?: WebAppRuntimes; +export type Enum11 = string; + +/** Known values of {@link Enum12} that the service accepts. */ +export enum KnownEnum12 { + Windows = "Windows", + Linux = "Linux", + All = "All" } /** - * Web App stack major version. + * Defines values for Enum12. \ + * {@link KnownEnum12} can be used interchangeably with Enum12, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Windows** \ + * **Linux** \ + * **All** */ -export interface WebAppMajorVersion { - /** - * Web App stack major version (display only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly displayText?: string; - /** - * Web App stack major version name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly value?: string; - /** - * Minor versions associated with the major version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly minorVersions?: WebAppMinorVersion[]; +export type Enum12 = string; + +/** Known values of {@link Enum13} that the service accepts. */ +export enum KnownEnum13 { + Windows = "Windows", + Linux = "Linux", + All = "All" } /** - * Web App stack. + * Defines values for Enum13. \ + * {@link KnownEnum13} can be used interchangeably with Enum13, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Windows** \ + * **Linux** \ + * **All** */ -export interface WebAppStack extends ProxyOnlyResource { - /** - * Web App stack location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly location?: string; - /** - * Web App stack (display only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly displayText?: string; - /** - * Web App stack name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly value?: string; - /** - * List of major versions available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly majorVersions?: WebAppMajorVersion[]; - /** - * Web App stack preferred OS. Possible values include: 'Windows', 'Linux' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly preferredOs?: StackPreferredOs; +export type Enum13 = string; + +/** Known values of {@link Enum14} that the service accepts. */ +export enum KnownEnum14 { + Windows = "Windows", + Linux = "Linux", + All = "All" } /** - * Represents a recommendation result generated by the recommendation engine. - */ -export interface Recommendation extends ProxyOnlyResource { - /** - * Timestamp when this instance was created. - */ - creationTime?: Date; - /** - * A GUID value that each recommendation object is associated with. - */ - recommendationId?: string; - /** - * Full ARM resource ID string that this recommendation object is associated with. - */ - resourceId?: string; - /** - * Name of a resource type this recommendation applies, e.g. Subscription, ServerFarm, Site. - * Possible values include: 'ServerFarm', 'Subscription', 'WebSite' - */ - resourceScope?: ResourceScopeType; - /** - * Unique name of the rule. - */ - ruleName?: string; - /** - * UI friendly name of the rule (may not be unique). - */ - displayName?: string; - /** - * Recommendation text. - */ - message?: string; - /** - * Level indicating how critical this recommendation can impact. Possible values include: - * 'Critical', 'Warning', 'Information', 'NonUrgentSuggestion' - */ - level?: NotificationLevel; - /** - * List of channels that this recommendation can apply. Possible values include: 'Notification', - * 'Api', 'Email', 'Webhook', 'All' - */ - channels?: Channels; - /** - * The list of category tags that this recommendation belongs to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly categoryTags?: string[]; - /** - * Name of action recommended by this object. - */ - actionName?: string; - /** - * True if this recommendation is still valid (i.e. "actionable"). False if it is invalid. - */ - enabled?: number; - /** - * The list of states of this recommendation. If it's null then it should be considered "Active". - */ - states?: string[]; - /** - * The beginning time in UTC of a range that the recommendation refers to. - */ - startTime?: Date; - /** - * The end time in UTC of a range that the recommendation refers to. - */ - endTime?: Date; - /** - * When to notify this recommendation next in UTC. Null means that this will never be notified - * anymore. - */ - nextNotificationTime?: Date; - /** - * Date and time in UTC when this notification expires. - */ - notificationExpirationTime?: Date; - /** - * Last timestamp in UTC this instance was actually notified. Null means that this recommendation - * hasn't been notified yet. - */ - notifiedTime?: Date; - /** - * A metric value measured by the rule. - */ - score?: number; - /** - * True if this is associated with a dynamically added rule - */ - isDynamic?: boolean; - /** - * Extension name of the portal if exists. - */ - extensionName?: string; - /** - * Deep link to a blade on the portal. - */ - bladeName?: string; - /** - * Forward link to an external document associated with the rule. - */ - forwardLink?: string; -} - -/** - * Represents a recommendation rule that the recommendation engine can perform. - */ -export interface RecommendationRule extends ProxyOnlyResource { - /** - * Unique name of the rule. - */ - recommendationName?: string; - /** - * UI friendly name of the rule. - */ - displayName?: string; - /** - * Localized name of the rule (Good for UI). - */ - message?: string; - /** - * Recommendation ID of an associated recommendation object tied to the rule, if exists. - * If such an object doesn't exist, it is set to null. - */ - recommendationId?: string; - /** - * Localized detailed description of the rule. - */ - description?: string; - /** - * Name of action that is recommended by this rule in string. - */ - actionName?: string; - /** - * Level of impact indicating how critical this rule is. Possible values include: 'Critical', - * 'Warning', 'Information', 'NonUrgentSuggestion' - */ - level?: NotificationLevel; - /** - * List of available channels that this rule applies. Possible values include: 'Notification', - * 'Api', 'Email', 'Webhook', 'All' - */ - channels?: Channels; - /** - * The list of category tags that this recommendation rule belongs to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly categoryTags?: string[]; - /** - * True if this is associated with a dynamically added rule - */ - isDynamic?: boolean; - /** - * Extension name of the portal if exists. Applicable to dynamic rule only. - */ - extensionName?: string; - /** - * Deep link to a blade on the portal. Applicable to dynamic rule only. - */ - bladeName?: string; - /** - * Forward link to an external document associated with the rule. Applicable to dynamic rule - * only. - */ - forwardLink?: string; -} - -/** - * Github access token for Appservice CLI github integration. - */ -export interface AppserviceGithubToken { - /** - * Github access token for Appservice CLI github integration - */ - accessToken?: string; - /** - * Scope of the github access token - */ - scope?: string; - /** - * token type - */ - tokenType?: string; - /** - * True if valid github token received, False otherwise - */ - gotToken?: boolean; - /** - * Error message if unable to get token - */ - errorMessage?: string; -} - -/** - * Appservice Github token request content. - */ -export interface AppserviceGithubTokenRequest { - /** - * Code string to exchange for Github Access token - */ - code: string; - /** - * State string used for verification. - */ - state: string; -} - -/** - * App Service billing entity that contains information about meter which the Azure billing system - * utilizes to charge users for services. - */ -export interface BillingMeter extends ProxyOnlyResource { - /** - * Meter GUID onboarded in Commerce - */ - meterId?: string; - /** - * Azure Location of billable resource - */ - billingLocation?: string; - /** - * Short Name from App Service Azure pricing Page - */ - shortName?: string; - /** - * Friendly name of the meter - */ - friendlyName?: string; - /** - * App Service ResourceType meter used for - */ - resourceType?: string; - /** - * App Service OS type meter used for - */ - osType?: string; - /** - * Meter Multiplier - */ - multiplier?: number; -} - -/** - * Object with a list of the resources that need to be moved and the resource group they should be - * moved to. - */ -export interface CsmMoveResourceEnvelope { - targetResourceGroup?: string; - resources?: string[]; -} - -/** - * Geographical region. - */ -export interface GeoRegion extends ProxyOnlyResource { - /** - * Region description. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly description?: string; - /** - * Display name for region. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly displayName?: string; - /** - * Display name for region. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly orgDomain?: string; -} - -/** - * Information needed to create resources on an App Service Environment. - */ -export interface HostingEnvironmentDeploymentInfo { - /** - * Name of the App Service Environment. - */ - name?: string; - /** - * Location of the App Service Environment. - */ - location?: string; -} - -/** - * List of available locations (regions or App Service Environments) for - * deployment of App Service resources. - */ -export interface DeploymentLocations { - /** - * Available regions. - */ - locations?: GeoRegion[]; - /** - * Available App Service Environments with full descriptions of the environments. - */ - hostingEnvironments?: AppServiceEnvironment[]; - /** - * Available App Service Environments with basic information. - */ - hostingEnvironmentDeploymentInfos?: HostingEnvironmentDeploymentInfo[]; -} - -/** - * A Global SKU Description. - */ -export interface GlobalCsmSkuDescription { - /** - * Name of the resource SKU. - */ - name?: string; - /** - * Service Tier of the resource SKU. - */ - tier?: string; - /** - * Size specifier of the resource SKU. - */ - size?: string; - /** - * Family code of the resource SKU. - */ - family?: string; - /** - * Min, max, and default scale values of the SKU. - */ - capacity?: SkuCapacity; - /** - * Locations of the SKU. - */ - locations?: string[]; - /** - * Capabilities of the SKU, e.g., is traffic manager enabled? - */ - capabilities?: Capability[]; -} - -/** - * Premier add-on offer. - */ -export interface PremierAddOnOffer extends ProxyOnlyResource { - /** - * Premier add on SKU. - */ - sku?: string; - /** - * Premier add on offer Product. - */ - product?: string; - /** - * Premier add on offer Vendor. - */ - vendor?: string; - /** - * true if promotion code is required; otherwise, false. - */ - promoCodeRequired?: boolean; - /** - * Premier add on offer Quota. - */ - quota?: number; - /** - * App Service plans this offer is restricted to. Possible values include: 'None', 'Free', - * 'Shared', 'Basic', 'Standard', 'Premium' - */ - webHostingPlanRestrictions?: AppServicePlanRestrictions; - /** - * Privacy policy URL. - */ - privacyPolicyUrl?: string; - /** - * Legal terms URL. - */ - legalTermsUrl?: string; - /** - * Marketplace publisher. - */ - marketplacePublisher?: string; - /** - * Marketplace offer. - */ - marketplaceOffer?: string; -} - -/** - * Information regarding availability of a resource name. - */ -export interface ResourceNameAvailability { - /** - * true indicates name is valid and available. false indicates the name - * is invalid, unavailable, or both. - */ - nameAvailable?: boolean; - /** - * Invalid indicates the name provided does not match Azure App Service naming - * requirements. AlreadyExists indicates that the name is already in use and is - * therefore unavailable. Possible values include: 'Invalid', 'AlreadyExists' - */ - reason?: InAvailabilityReasonType; - /** - * If reason == invalid, provide the user with the reason why the given name is invalid, and - * provide the resource naming requirements so that the user can select a valid name. If reason - * == AlreadyExists, explain that resource name is already in use, and direct them to select a - * different name. - */ - message?: string; -} - -/** - * Resource name availability request content. - */ -export interface ResourceNameAvailabilityRequest { - /** - * Resource name to verify. - */ - name: string; - /** - * Resource type used for verification. Possible values include: 'Site', 'Slot', - * 'HostingEnvironment', 'PublishingUser', 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', - * 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' - */ - type: CheckNameResourceTypes; - /** - * Is fully qualified domain name. - */ - isFqdn?: boolean; -} - -/** - * Collection of SKU information. - */ -export interface SkuInfos { - /** - * Resource type that this SKU applies to. - */ - resourceType?: string; - /** - * List of SKUs the subscription is able to use. - */ - skus?: GlobalCsmSkuDescription[]; -} - -/** - * The source control OAuth token. - */ -export interface SourceControl extends ProxyOnlyResource { - /** - * OAuth access token. - */ - token?: string; - /** - * OAuth access token secret. - */ - tokenSecret?: string; - /** - * OAuth refresh token. - */ - refreshToken?: string; - /** - * OAuth token expiration. - */ - expirationTime?: Date; -} - -/** - * Resource validation request content. - */ -export interface ValidateRequest { - /** - * Resource name to verify. - */ - name: string; - /** - * Resource type used for verification. Possible values include: 'ServerFarm', 'Site', - * 'Microsoft.Web/hostingEnvironments' - */ - type: ValidateResourceTypes; - /** - * Expected location of the resource. - */ - location: string; - /** - * ARM resource ID of an App Service plan that would host the app. - */ - serverFarmId?: string; - /** - * Name of the target SKU for the App Service plan. - */ - skuName?: string; - /** - * true if App Service plan is for Linux workers; otherwise, false. - */ - needLinuxWorkers?: boolean; - /** - * true if App Service plan is for Spot instances; otherwise, false. - */ - isSpot?: boolean; - /** - * Target capacity of the App Service plan (number of VMs). - */ - capacity?: number; - /** - * Name of App Service Environment where app or App Service plan should be created. - */ - hostingEnvironment?: string; - /** - * true if App Service plan is running as a windows container - */ - isXenon?: boolean; - /** - * Base URL of the container registry - */ - containerRegistryBaseUrl?: string; - /** - * Username for to access the container registry - */ - containerRegistryUsername?: string; - /** - * Password for to access the container registry - */ - containerRegistryPassword?: string; - /** - * Repository name (image name) - */ - containerImageRepository?: string; - /** - * Image tag - */ - containerImageTag?: string; - /** - * Platform (windows or linux) - */ - containerImagePlatform?: string; - /** - * App Service Environment Properties - */ - appServiceEnvironment?: AppServiceEnvironment; -} - -/** - * Error details for when validation fails. - */ -export interface ValidateResponseError { - /** - * Validation error code. - */ - code?: string; - /** - * Validation error message. - */ - message?: string; -} - -/** - * Describes the result of resource validation. - */ -export interface ValidateResponse { - /** - * Result of validation. - */ - status?: string; - /** - * Error details for the case when validation fails. - */ - error?: ValidateResponseError; -} - -/** - * The required set of inputs to validate a VNET - */ -export interface VnetParameters extends ProxyOnlyResource { - /** - * The Resource Group of the VNET to be validated - */ - vnetResourceGroup?: string; - /** - * The name of the VNET to be validated - */ - vnetName?: string; - /** - * The subnet name to be validated - */ - vnetSubnetName?: string; - /** - * The ARM Resource ID of the subnet to validate - */ - subnetResourceId?: string; -} - -/** - * A class that describes a test that failed during NSG and UDR validation. - */ -export interface VnetValidationTestFailure extends ProxyOnlyResource { - /** - * The name of the test that failed. - */ - testName?: string; - /** - * The details of what caused the failure, e.g. the blocking rule name, etc. - */ - details?: string; -} - -/** - * A class that describes the reason for a validation failure. - */ -export interface VnetValidationFailureDetails extends ProxyOnlyResource { - /** - * Text describing the validation outcome. - */ - message?: string; - /** - * A flag describing whether or not validation failed. - */ - failed?: boolean; - /** - * A list of tests that failed in the validation. - */ - failedTests?: VnetValidationTestFailure[]; - /** - * A list of warnings generated during validation. - */ - warnings?: VnetValidationTestFailure[]; -} - -/** - * An interface representing AllowedAudiencesValidation. - */ -export interface AllowedAudiencesValidation extends ProxyOnlyResource { - allowedAudiences?: string[]; -} - -/** - * Description of site key vault references. - */ -export interface ApiKVReference extends ProxyOnlyResource { - reference?: string; - /** - * Possible values include: 'Initialized', 'Resolved', 'InvalidSyntax', 'MSINotEnabled', - * 'VaultNotFound', 'SecretNotFound', 'SecretVersionNotFound', 'AccessToKeyVaultDenied', - * 'OtherReasons', 'FetchTimedOut', 'UnauthorizedClient' - */ - status?: ResolveStatus; - vaultName?: string; - secretName?: string; - secretVersion?: string; - identityType?: ManagedServiceIdentity; - details?: string; - /** - * Possible values include: 'KeyVault' - */ - source?: ConfigReferenceSource; - activeVersion?: string; -} - -/** - * The configuration settings of the app registration for providers that have app ids and app - * secrets - */ -export interface AppRegistration extends ProxyOnlyResource { - /** - * The App ID of the app used for login. - */ - appId?: string; - /** - * The app setting name that contains the app secret. - */ - appSecretSettingName?: string; -} - -/** - * The configuration settings of the registration for the Apple provider - */ -export interface AppleRegistration extends ProxyOnlyResource { - /** - * The Client ID of the app used for login. - */ - clientId?: string; - /** - * The app setting name that contains the client secret. - */ - clientSecretSettingName?: string; -} - -/** - * The configuration settings of the login flow, including the scopes that should be requested. - */ -export interface LoginScopes extends ProxyOnlyResource { - /** - * A list of the scopes that should be requested while authenticating. - */ - scopes?: string[]; -} - -/** - * The configuration settings of the Apple provider. - */ -export interface Apple extends ProxyOnlyResource { - /** - * false if the Apple provider should not be enabled despite the set registration; - * otherwise, true. - */ - enabled?: boolean; - /** - * The configuration settings of the Apple registration. - */ - registration?: AppleRegistration; - /** - * The configuration settings of the login flow. - */ - login?: LoginScopes; -} - -/** - * Application logs to file system configuration. - */ -export interface FileSystemApplicationLogsConfig { - /** - * Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error'. - * Default value: 'Off'. - */ - level?: LogLevel; -} - -/** - * Application logs to Azure table storage configuration. - */ -export interface AzureTableStorageApplicationLogsConfig { - /** - * Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' - */ - level?: LogLevel; - /** - * SAS URL to an Azure table with add/query/delete permissions. - */ - sasUrl: string; -} - -/** - * Application logs azure blob storage configuration. - */ -export interface AzureBlobStorageApplicationLogsConfig { - /** - * Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' - */ - level?: LogLevel; - /** - * SAS url to a azure blob container with read/write/list/delete permissions. - */ - sasUrl?: string; - /** - * Retention in days. - * Remove blobs older than X days. - * 0 or lower means no retention. - */ - retentionInDays?: number; -} - -/** - * Application logs configuration. - */ -export interface ApplicationLogsConfig { - /** - * Application logs to file system configuration. - */ - fileSystem?: FileSystemApplicationLogsConfig; - /** - * Application logs to azure table storage configuration. - */ - azureTableStorage?: AzureTableStorageApplicationLogsConfig; - /** - * Application logs to blob storage configuration. - */ - azureBlobStorage?: AzureBlobStorageApplicationLogsConfig; -} - -/** - * The configuration settings of the platform of App Service Authentication/Authorization. - */ -export interface AuthPlatform extends ProxyOnlyResource { - /** - * true if the Authentication / Authorization feature is enabled for the current - * app; otherwise, false. - */ - enabled?: boolean; - /** - * The RuntimeVersion of the Authentication / Authorization feature in use for the current app. - * The setting in this value can control the behavior of certain features in the Authentication / - * Authorization module. - */ - runtimeVersion?: string; - /** - * The path of the config file containing auth settings if they come from a file. - * If the path is relative, base will the site's root directory. - */ - configFilePath?: string; -} - -/** - * The configuration settings of the Azure Active Directory app registration. - */ -export interface AzureActiveDirectoryRegistration extends ProxyOnlyResource { - /** - * The OpenID Connect Issuer URI that represents the entity which issues access tokens for this - * application. - * When using Azure Active Directory, this value is the URI of the directory tenant, e.g. - * https://login.microsoftonline.com/v2.0/{tenant-guid}/. - * This URI is a case-sensitive identifier for the token issuer. - * More information on OpenID Connect Discovery: - * http://openid.net/specs/openid-connect-discovery-1_0.html - */ - openIdIssuer?: string; - /** - * The Client ID of this relying party application, known as the client_id. - * This setting is required for enabling OpenID Connection authentication with Azure Active - * Directory or - * other 3rd party OpenID Connect providers. - * More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html - */ - clientId?: string; - /** - * The app setting name that contains the client secret of the relying party application. - */ - clientSecretSettingName?: string; - /** - * An alternative to the client secret, that is the thumbprint of a certificate used for signing - * purposes. This property acts as - * a replacement for the Client Secret. It is also optional. - */ - clientSecretCertificateThumbprint?: string; -} - -/** - * The configuration settings of the Azure Active Directory login flow. - */ -export interface AzureActiveDirectoryLogin extends ProxyOnlyResource { - disableWWWAuthenticate?: boolean; - /** - * Login parameters to send to the OpenID Connect authorization endpoint when - * a user logs in. Each parameter must be in the form "key=value". - */ - loginParameters?: string[]; -} - -/** - * The configuration settings of the checks that should be made while validating the JWT Claims. - */ -export interface JwtClaimChecks extends ProxyOnlyResource { - /** - * The list of the allowed groups. - */ - allowedGroups?: string[]; - /** - * The list of the allowed client applications. - */ - allowedClientApplications?: string[]; -} - -/** - * The configuration settings of the Azure Active Directory token validation flow. - */ -export interface AzureActiveDirectoryValidation extends ProxyOnlyResource { - /** - * The configuration settings of the checks that should be made while validating the JWT Claims. - */ - jwtClaimChecks?: JwtClaimChecks; - /** - * The list of audiences that can make successful authentication/authorization requests. - */ - allowedAudiences?: string[]; -} - -/** - * The configuration settings of the Azure Active directory provider. - */ -export interface AzureActiveDirectory extends ProxyOnlyResource { - /** - * false if the Azure Active Directory provider should not be enabled despite the - * set registration; otherwise, true. - */ - enabled?: boolean; - /** - * The configuration settings of the Azure Active Directory app registration. - */ - registration?: AzureActiveDirectoryRegistration; - /** - * The configuration settings of the Azure Active Directory login flow. - */ - login?: AzureActiveDirectoryLogin; - /** - * The configuration settings of the Azure Active Directory token validation flow. - */ - validation?: AzureActiveDirectoryValidation; - /** - * Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st - * party tooling. - * This is an internal flag primarily intended to support the Azure Management Portal. Users - * should not - * read or write to this property. - */ - isAutoProvisioned?: boolean; -} - -/** - * Http logs to azure blob storage configuration. - */ -export interface AzureBlobStorageHttpLogsConfig { - /** - * SAS url to a azure blob container with read/write/list/delete permissions. - */ - sasUrl?: string; - /** - * Retention in days. - * Remove blobs older than X days. - * 0 or lower means no retention. - */ - retentionInDays?: number; - /** - * True if configuration is enabled, false if it is disabled and null if configuration is not - * set. - */ - enabled?: boolean; -} - -/** - * The configuration settings of the registration for the Azure Static Web Apps provider - */ -export interface AzureStaticWebAppsRegistration extends ProxyOnlyResource { - /** - * The Client ID of the app used for login. - */ - clientId?: string; -} - -/** - * The configuration settings of the Azure Static Web Apps provider. - */ -export interface AzureStaticWebApps extends ProxyOnlyResource { - /** - * false if the Azure Static Web Apps provider should not be enabled despite the set - * registration; otherwise, true. - */ - enabled?: boolean; - /** - * The configuration settings of the Azure Static Web Apps registration. - */ - registration?: AzureStaticWebAppsRegistration; -} - -/** - * AzureStorageInfo dictionary resource. - */ -export interface AzureStoragePropertyDictionaryResource extends ProxyOnlyResource { - /** - * Azure storage accounts. - */ - properties?: { [propertyName: string]: AzureStorageInfoValue }; -} - -/** - * Database backup settings. - */ -export interface DatabaseBackupSetting { - /** - * Database type (e.g. SqlAzure / MySql). Possible values include: 'SqlAzure', 'MySql', - * 'LocalMySql', 'PostgreSql' - */ - databaseType: DatabaseType; - name?: string; - /** - * Contains a connection string name that is linked to the SiteConfig.ConnectionStrings. - * This is used during restore with overwrite connection strings options. - */ - connectionStringName?: string; - /** - * Contains a connection string to a database which is being backed up or restored. If the - * restore should happen to a new database, the database name inside is the new one. - */ - connectionString?: string; -} - -/** - * Backup description. - */ -export interface BackupItem extends ProxyOnlyResource { - /** - * Id of the backup. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly backupId?: number; - /** - * SAS URL for the storage account container which contains this backup. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly storageAccountUrl?: string; - /** - * Name of the blob which contains data for this backup. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly blobName?: string; - /** - * Name of this backup. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly backupItemName?: string; - /** - * Backup status. Possible values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', - * 'Created', 'Skipped', 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly status?: BackupItemStatus; - /** - * Size of the backup in bytes. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly sizeInBytes?: number; - /** - * Timestamp of the backup creation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly created?: Date; - /** - * Details regarding this backup. Might contain an error message. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly log?: string; - /** - * List of databases included in the backup. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly databases?: DatabaseBackupSetting[]; - /** - * True if this backup has been created due to a schedule being triggered. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly scheduled?: boolean; - /** - * Timestamp of a last restore operation which used this backup. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly lastRestoreTimeStamp?: Date; - /** - * Timestamp when this backup finished. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly finishedTimeStamp?: Date; - /** - * Unique correlation identifier. Please use this along with the timestamp while communicating - * with Azure support. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly correlationId?: string; - /** - * Size of the original web app which has been backed up. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly websiteSizeInBytes?: number; -} - -/** - * Description of a backup schedule. Describes how often should be the backup performed and what - * should be the retention policy. - */ -export interface BackupSchedule { - /** - * How often the backup should be executed (e.g. for weekly backup, this should be set to 7 and - * FrequencyUnit should be set to Day). Default value: 7. - */ - frequencyInterval: number; - /** - * The unit of time for how often the backup should be executed (e.g. for weekly backup, this - * should be set to Day and FrequencyInterval should be set to 7). Possible values include: - * 'Day', 'Hour'. Default value: 'Day'. - */ - frequencyUnit: FrequencyUnit; - /** - * True if the retention policy should always keep at least one backup in the storage account, - * regardless how old it is; false otherwise. Default value: true. - */ - keepAtLeastOneBackup: boolean; - /** - * After how many days backups should be deleted. Default value: 30. - */ - retentionPeriodInDays: number; - /** - * When the schedule should start working. - */ - startTime?: Date; - /** - * Last time when this schedule was triggered. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly lastExecutionTime?: Date; -} - -/** - * Description of a backup which will be performed. - */ -export interface BackupRequest extends ProxyOnlyResource { - /** - * Name of the backup. - */ - backupName?: string; - /** - * True if the backup schedule is enabled (must be included in that case), false if the backup - * schedule should be disabled. - */ - enabled?: boolean; - /** - * SAS URL to the container. - */ - storageAccountUrl: string; - /** - * Schedule for the backup if it is executed periodically. - */ - backupSchedule?: BackupSchedule; - /** - * Databases included in the backup. - */ - databases?: DatabaseBackupSetting[]; -} - -/** - * The configuration settings of the storage of the tokens if blob storage is used. - */ -export interface BlobStorageTokenStore extends ProxyOnlyResource { - /** - * The name of the app setting containing the SAS URL of the blob storage containing the tokens. - */ - sasUrlSettingName?: string; -} - -/** - * The configuration settings of the app registration for providers that have client ids and client - * secrets - */ -export interface ClientRegistration extends ProxyOnlyResource { - /** - * The Client ID of the app used for login. - */ - clientId?: string; - /** - * The app setting name that contains the client secret. - */ - clientSecretSettingName?: string; -} - -/** - * Database connection string value to type pair. - */ -export interface ConnStringValueTypePair { - /** - * Value of pair. - */ - value: string; - /** - * Type of database. Possible values include: 'MySql', 'SQLServer', 'SQLAzure', 'Custom', - * 'NotificationHub', 'ServiceBus', 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' - */ - type: ConnectionStringType; -} - -/** - * String dictionary resource. - */ -export interface ConnectionStringDictionary extends ProxyOnlyResource { - /** - * Connection strings. - */ - properties?: { [propertyName: string]: ConnStringValueTypePair }; -} - -/** - * An interface representing ContainerCpuUsage. - */ -export interface ContainerCpuUsage { - totalUsage?: number; - perCpuUsage?: number[]; - kernelModeUsage?: number; - userModeUsage?: number; -} - -/** - * An interface representing ContainerThrottlingData. - */ -export interface ContainerThrottlingData { - periods?: number; - throttledPeriods?: number; - throttledTime?: number; -} - -/** - * An interface representing ContainerCpuStatistics. - */ -export interface ContainerCpuStatistics { - cpuUsage?: ContainerCpuUsage; - systemCpuUsage?: number; - onlineCpuCount?: number; - throttlingData?: ContainerThrottlingData; -} - -/** - * An interface representing ContainerMemoryStatistics. - */ -export interface ContainerMemoryStatistics { - usage?: number; - maxUsage?: number; - limit?: number; -} - -/** - * An interface representing ContainerNetworkInterfaceStatistics. - */ -export interface ContainerNetworkInterfaceStatistics { - rxBytes?: number; - rxPackets?: number; - rxErrors?: number; - rxDropped?: number; - txBytes?: number; - txPackets?: number; - txErrors?: number; - txDropped?: number; -} - -/** - * An interface representing ContainerInfo. - */ -export interface ContainerInfo { - currentTimeStamp?: Date; - previousTimeStamp?: Date; - currentCpuStats?: ContainerCpuStatistics; - previousCpuStats?: ContainerCpuStatistics; - memoryStats?: ContainerMemoryStatistics; - name?: string; - id?: string; - eth0?: ContainerNetworkInterfaceStatistics; -} - -/** - * Continuous Web Job Information. - */ -export interface ContinuousWebJob extends ProxyOnlyResource { - /** - * Job status. Possible values include: 'Initializing', 'Starting', 'Running', 'PendingRestart', - * 'Stopped' - */ - status?: ContinuousWebJobStatus; - /** - * Detailed status. - */ - detailedStatus?: string; - /** - * Log URL. - */ - logUrl?: string; - /** - * Run command. - */ - runCommand?: string; - /** - * Job URL. - */ - url?: string; - /** - * Extra Info URL. - */ - extraInfoUrl?: string; - /** - * Job type. Possible values include: 'Continuous', 'Triggered' - */ - webJobType?: WebJobType; - /** - * Error information. - */ - error?: string; - /** - * Using SDK? - */ - usingSdk?: boolean; - /** - * Job settings. - */ - settings?: { [propertyName: string]: any }; -} - -/** - * The configuration settings of the session cookie's expiration. - */ -export interface CookieExpiration extends ProxyOnlyResource { - /** - * The convention used when determining the session cookie's expiration. Possible values include: - * 'FixedTime', 'IdentityProviderDerived' - */ - convention?: CookieExpirationConvention; - /** - * The time after the request is made when the session cookie should expire. - */ - timeToExpiration?: string; -} - -/** - * Publishing Credentials Policies parameters. - */ -export interface CsmPublishingCredentialsPoliciesEntity extends ProxyOnlyResource { - /** - * true to allow access to a publishing method; otherwise, false. - */ - allow: boolean; -} - -/** - * Publishing Credentials Policies collection. - */ -export interface CsmPublishingCredentialsPoliciesCollection extends ProxyOnlyResource { - /** - * Whether FTP is allowed. - */ - ftp: CsmPublishingCredentialsPoliciesEntity; - /** - * Whether Scm Basic Auth is allowed. - */ - scm: CsmPublishingCredentialsPoliciesEntity; -} - -/** - * Publishing options for requested profile. - */ -export interface CsmPublishingProfileOptions { - /** - * Name of the format. Valid values are: - * FileZilla3 - * WebDeploy -- default - * Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' - */ - format?: PublishingProfileFormat; - /** - * Include the DisasterRecover endpoint if true - */ - includeDisasterRecoveryEndpoints?: boolean; -} - -/** - * Deployment slot parameters. - */ -export interface CsmSlotEntity { - /** - * Destination deployment slot during swap operation. - */ - targetSlot: string; - /** - * true to preserve Virtual Network to the slot during swap; otherwise, - * false. - */ - preserveVnet: boolean; -} - -/** - * Custom domain analysis. - */ -export interface CustomHostnameAnalysisResult extends ProxyOnlyResource { - /** - * true if hostname is already verified; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isHostnameAlreadyVerified?: boolean; - /** - * DNS verification test result. Possible values include: 'Passed', 'Failed', 'Skipped' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly customDomainVerificationTest?: DnsVerificationTestResult; - /** - * Raw failure information if DNS verification fails. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly customDomainVerificationFailureInfo?: ErrorEntity; - /** - * true if there is a conflict on a scale unit; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly hasConflictOnScaleUnit?: boolean; - /** - * true if there is a conflict across subscriptions; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly hasConflictAcrossSubscription?: boolean; - /** - * Name of the conflicting app on scale unit if it's within the same subscription. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly conflictingAppResourceId?: string; - /** - * CName records controller can see for this hostname. - */ - cNameRecords?: string[]; - /** - * TXT records controller can see for this hostname. - */ - txtRecords?: string[]; - /** - * A records controller can see for this hostname. - */ - aRecords?: string[]; - /** - * Alternate CName records controller can see for this hostname. - */ - alternateCNameRecords?: string[]; - /** - * Alternate TXT records controller can see for this hostname. - */ - alternateTxtRecords?: string[]; -} - -/** - * The authentication client credentials of the custom Open ID Connect provider. - */ -export interface OpenIdConnectClientCredential extends ProxyOnlyResource { - /** - * The method that should be used to authenticate the user. Possible values include: - * 'ClientSecretPost' - */ - method?: ClientCredentialMethod; - /** - * The app setting that contains the client secret for the custom Open ID Connect provider. - */ - clientSecretSettingName?: string; -} - -/** - * The configuration settings of the endpoints used for the custom Open ID Connect provider. - */ -export interface OpenIdConnectConfig extends ProxyOnlyResource { - /** - * The endpoint to be used to make an authorization request. - */ - authorizationEndpoint?: string; - /** - * The endpoint to be used to request a token. - */ - tokenEndpoint?: string; - /** - * The endpoint that issues the token. - */ - issuer?: string; - /** - * The endpoint that provides the keys necessary to validate the token. - */ - certificationUri?: string; - /** - * The endpoint that contains all the configuration endpoints for the provider. - */ - wellKnownOpenIdConfiguration?: string; -} - -/** - * The configuration settings of the app registration for the custom Open ID Connect provider. - */ -export interface OpenIdConnectRegistration extends ProxyOnlyResource { - /** - * The client id of the custom Open ID Connect provider. - */ - clientId?: string; - /** - * The authentication credentials of the custom Open ID Connect provider. - */ - clientCredential?: OpenIdConnectClientCredential; - /** - * The configuration settings of the endpoints used for the custom Open ID Connect provider. - */ - openIdConnectConfiguration?: OpenIdConnectConfig; -} - -/** - * The configuration settings of the login flow of the custom Open ID Connect provider. - */ -export interface OpenIdConnectLogin extends ProxyOnlyResource { - /** - * The name of the claim that contains the users name. - */ - nameClaimType?: string; - /** - * A list of the scopes that should be requested while authenticating. - */ - scopes?: string[]; -} - -/** - * The configuration settings of the custom Open ID Connect provider. - */ -export interface CustomOpenIdConnectProvider extends ProxyOnlyResource { - /** - * false if the custom Open ID provider provider should not be enabled; otherwise, - * true. - */ - enabled?: boolean; - /** - * The configuration settings of the app registration for the custom Open ID Connect provider. - */ - registration?: OpenIdConnectRegistration; - /** - * The configuration settings of the login flow of the custom Open ID Connect provider. - */ - login?: OpenIdConnectLogin; -} - -/** - * Details about restoring a deleted app. - */ -export interface DeletedAppRestoreRequest extends ProxyOnlyResource { - /** - * ARM resource ID of the deleted app. Example: - * /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} - */ - deletedSiteId?: string; - /** - * If true, deleted site configuration, in addition to content, will be restored. - */ - recoverConfiguration?: boolean; - /** - * Point in time to restore the deleted app from, formatted as a DateTime string. - * If unspecified, default value is the time that the app was deleted. - */ - snapshotTime?: string; - /** - * If true, the snapshot is retrieved from DRSecondary endpoint. - */ - useDRSecondary?: boolean; -} - -/** - * User credentials used for publishing activity. - */ -export interface Deployment extends ProxyOnlyResource { - /** - * Deployment status. - */ - status?: number; - /** - * Details about deployment status. - */ - message?: string; - /** - * Who authored the deployment. - */ - author?: string; - /** - * Who performed the deployment. - */ - deployer?: string; - /** - * Author email. - */ - authorEmail?: string; - /** - * Start time. - */ - startTime?: Date; - /** - * End time. - */ - endTime?: Date; - /** - * True if deployment is currently active, false if completed and null if not started. - */ - active?: boolean; - /** - * Details on deployment. - */ - details?: string; -} - -/** - * Enabled configuration. - */ -export interface EnabledConfig { - /** - * True if configuration is enabled, false if it is disabled and null if configuration is not - * set. - */ - enabled?: boolean; -} - -/** - * The configuration settings of the Facebook provider. - */ -export interface Facebook extends ProxyOnlyResource { - /** - * false if the Facebook provider should not be enabled despite the set - * registration; otherwise, true. - */ - enabled?: boolean; - /** - * The configuration settings of the app registration for the Facebook provider. - */ - registration?: AppRegistration; - /** - * The version of the Facebook api to be used while logging in. - */ - graphApiVersion?: string; - /** - * The configuration settings of the login flow. - */ - login?: LoginScopes; -} - -/** - * Http logs to file system configuration. - */ -export interface FileSystemHttpLogsConfig { - /** - * Maximum size in megabytes that http log files can use. - * When reached old log files will be removed to make space for new ones. - * Value can range between 25 and 100. - */ - retentionInMb?: number; - /** - * Retention in days. - * Remove files older than X days. - * 0 or lower means no retention. - */ - retentionInDays?: number; - /** - * True if configuration is enabled, false if it is disabled and null if configuration is not - * set. - */ - enabled?: boolean; -} - -/** - * The configuration settings of the storage of the tokens if a file system is used. - */ -export interface FileSystemTokenStore extends ProxyOnlyResource { - /** - * The directory in which the tokens will be stored. - */ - directory?: string; -} - -/** - * The configuration settings of a forward proxy used to make the requests. - */ -export interface ForwardProxy extends ProxyOnlyResource { - /** - * The convention used to determine the url of the request made. Possible values include: - * 'NoProxy', 'Standard', 'Custom' - */ - convention?: ForwardProxyConvention; - /** - * The name of the header containing the host of the request. - */ - customHostHeaderName?: string; - /** - * The name of the header containing the scheme of the request. - */ - customProtoHeaderName?: string; -} - -/** - * Function information. - */ -export interface FunctionEnvelope extends ProxyOnlyResource { - /** - * Function App ID. - */ - functionAppId?: string; - /** - * Script root path URI. - */ - scriptRootPathHref?: string; - /** - * Script URI. - */ - scriptHref?: string; - /** - * Config URI. - */ - configHref?: string; - /** - * Test data URI. - */ - testDataHref?: string; - /** - * Secrets file URI. - */ - secretsFileHref?: string; - /** - * Function URI. - */ - href?: string; - /** - * Config information. - */ - config?: any; - /** - * File list. - */ - files?: { [propertyName: string]: string }; - /** - * Test data used when testing via the Azure Portal. - */ - testData?: string; - /** - * The invocation URL - */ - invokeUrlTemplate?: string; - /** - * The function language - */ - language?: string; - /** - * Gets or sets a value indicating whether the function is disabled - */ - isDisabled?: boolean; -} - -/** - * Function secrets. - */ -export interface FunctionSecrets { - /** - * Secret key. - */ - key?: string; - /** - * Trigger URL. - */ - triggerUrl?: string; -} - -/** - * The configuration settings of the GitHub provider. - */ -export interface GitHub extends ProxyOnlyResource { - /** - * false if the GitHub provider should not be enabled despite the set registration; - * otherwise, true. - */ - enabled?: boolean; - /** - * The configuration settings of the app registration for the GitHub provider. - */ - registration?: ClientRegistration; - /** - * The configuration settings of the login flow. - */ - login?: LoginScopes; -} - -/** - * The GitHub action code configuration. - */ -export interface GitHubActionCodeConfiguration { - /** - * Runtime stack is used to determine the workflow file content for code base apps. - */ - runtimeStack?: string; - /** - * Runtime version is used to determine what build version to set in the workflow file. - */ - runtimeVersion?: string; -} - -/** - * The GitHub action container configuration. - */ -export interface GitHubActionContainerConfiguration { - /** - * The server URL for the container registry where the build will be hosted. - */ - serverUrl?: string; - /** - * The image name for the build. - */ - imageName?: string; - /** - * The username used to upload the image to the container registry. - */ - username?: string; - /** - * The password used to upload the image to the container registry. - */ - password?: string; -} - -/** - * The GitHub action configuration. - */ -export interface GitHubActionConfiguration { - /** - * GitHub Action code configuration. - */ - codeConfiguration?: GitHubActionCodeConfiguration; - /** - * GitHub Action container configuration. - */ - containerConfiguration?: GitHubActionContainerConfiguration; - /** - * This will help determine the workflow configuration to select. - */ - isLinux?: boolean; - /** - * Workflow option to determine whether the workflow file should be generated and written to the - * repository. - */ - generateWorkflowFile?: boolean; -} - -/** - * The configuration settings that determines the validation flow of users using App Service - * Authentication/Authorization. - */ -export interface GlobalValidation extends ProxyOnlyResource { - /** - * true if the authentication flow is required any request is made; otherwise, - * false. - */ - requireAuthentication?: boolean; - /** - * The action to take when an unauthenticated client attempts to access the app. Possible values - * include: 'RedirectToLoginPage', 'AllowAnonymous', 'Return401', 'Return403' - */ - unauthenticatedClientAction?: UnauthenticatedClientActionV2; - /** - * The default authentication provider to use when multiple providers are configured. - * This setting is only needed if multiple providers are configured and the unauthenticated - * client - * action is set to "RedirectToLoginPage". - */ - redirectToProvider?: string; - /** - * The paths for which unauthenticated flow would not be redirected to the login page. - */ - excludedPaths?: string[]; -} - -/** - * The configuration settings of the Google provider. - */ -export interface Google extends ProxyOnlyResource { - /** - * false if the Google provider should not be enabled despite the set registration; - * otherwise, true. - */ - enabled?: boolean; - /** - * The configuration settings of the app registration for the Google provider. - */ - registration?: ClientRegistration; - /** - * The configuration settings of the login flow. - */ - login?: LoginScopes; - /** - * The configuration settings of the Azure Active Directory token validation flow. - */ - validation?: AllowedAudiencesValidation; -} - -/** - * Functions host level keys. - */ -export interface HostKeys { - /** - * Secret key. - */ - masterKey?: string; - /** - * Host level function keys. - */ - functionKeys?: { [propertyName: string]: string }; - /** - * System keys. - */ - systemKeys?: { [propertyName: string]: string }; -} - -/** - * A hostname binding object. - */ -export interface HostNameBinding extends ProxyOnlyResource { - /** - * App Service app name. - */ - siteName?: string; - /** - * Fully qualified ARM domain resource URI. - */ - domainId?: string; - /** - * Azure resource name. - */ - azureResourceName?: string; - /** - * Azure resource type. Possible values include: 'Website', 'TrafficManager' - */ - azureResourceType?: AzureResourceType; - /** - * Custom DNS record type. Possible values include: 'CName', 'A' - */ - customHostNameDnsRecordType?: CustomHostNameDnsRecordType; - /** - * Hostname type. Possible values include: 'Verified', 'Managed' - */ - hostNameType?: HostNameType; - /** - * SSL type. Possible values include: 'Disabled', 'SniEnabled', 'IpBasedEnabled' - */ - sslState?: SslState; - /** - * SSL certificate thumbprint - */ - thumbprint?: string; - /** - * Virtual IP address assigned to the hostname if IP based SSL is enabled. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly virtualIP?: string; -} - -/** - * Http logs configuration. - */ -export interface HttpLogsConfig { - /** - * Http logs to file system configuration. - */ - fileSystem?: FileSystemHttpLogsConfig; - /** - * Http logs to azure blob storage configuration. - */ - azureBlobStorage?: AzureBlobStorageHttpLogsConfig; -} - -/** - * The configuration settings of the paths HTTP requests. - */ -export interface HttpSettingsRoutes extends ProxyOnlyResource { - /** - * The prefix that should precede all the authentication/authorization paths. - */ - apiPrefix?: string; -} - -/** - * The configuration settings of the HTTP requests for authentication and authorization requests - * made against App Service Authentication/Authorization. - */ -export interface HttpSettings extends ProxyOnlyResource { - /** - * false if the authentication/authorization responses not having the HTTPS scheme - * are permissible; otherwise, true. - */ - requireHttps?: boolean; - /** - * The configuration settings of the paths HTTP requests. - */ - routes?: HttpSettingsRoutes; - /** - * The configuration settings of a forward proxy used to make the requests. - */ - forwardProxy?: ForwardProxy; -} - -/** - * The configuration settings of the app registration for the Twitter provider. - */ -export interface TwitterRegistration extends ProxyOnlyResource { - /** - * The OAuth 1.0a consumer key of the Twitter application used for sign-in. - * This setting is required for enabling Twitter Sign-In. - * Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in - */ - consumerKey?: string; - /** - * The app setting name that contains the OAuth 1.0a consumer secret of the Twitter - * application used for sign-in. - */ - consumerSecretSettingName?: string; -} - -/** - * The configuration settings of the Twitter provider. - */ -export interface Twitter extends ProxyOnlyResource { - /** - * false if the Twitter provider should not be enabled despite the set registration; - * otherwise, true. - */ - enabled?: boolean; - /** - * The configuration settings of the app registration for the Twitter provider. - */ - registration?: TwitterRegistration; -} - -/** - * The configuration settings of the legacy Microsoft Account provider. - */ -export interface LegacyMicrosoftAccount extends ProxyOnlyResource { - /** - * false if the legacy Microsoft Account provider should not be enabled despite the - * set registration; otherwise, true. - */ - enabled?: boolean; - /** - * The configuration settings of the app registration for the legacy Microsoft Account provider. - */ - registration?: ClientRegistration; - /** - * The configuration settings of the login flow. - */ - login?: LoginScopes; - /** - * The configuration settings of the legacy Microsoft Account provider token validation flow. - */ - validation?: AllowedAudiencesValidation; -} - -/** - * The configuration settings of each of the identity providers used to configure App Service - * Authentication/Authorization. - */ -export interface IdentityProviders extends ProxyOnlyResource { - /** - * The configuration settings of the Azure Active directory provider. - */ - azureActiveDirectory?: AzureActiveDirectory; - /** - * The configuration settings of the Facebook provider. - */ - facebook?: Facebook; - /** - * The configuration settings of the GitHub provider. - */ - gitHub?: GitHub; - /** - * The configuration settings of the Google provider. - */ - google?: Google; - /** - * The configuration settings of the Twitter provider. - */ - twitter?: Twitter; - /** - * The map of the name of the alias of each custom Open ID Connect provider to the - * configuration settings of the custom Open ID Connect provider. - */ - customOpenIdConnectProviders?: { [propertyName: string]: CustomOpenIdConnectProvider }; - /** - * The configuration settings of the legacy Microsoft Account provider. - */ - legacyMicrosoftAccount?: LegacyMicrosoftAccount; - /** - * The configuration settings of the Apple provider. - */ - apple?: Apple; - /** - * The configuration settings of the Azure Static Web Apps provider. - */ - azureStaticWebApps?: AzureStaticWebApps; -} - -/** - * Function key info. - */ -export interface KeyInfo { - /** - * Key name - */ - name?: string; - /** - * Key value - */ - value?: string; -} - -/** - * The routes that specify the endpoints used for login and logout requests. - */ -export interface LoginRoutes extends ProxyOnlyResource { - /** - * The endpoint at which a logout request should be made. - */ - logoutEndpoint?: string; -} - -/** - * The configuration settings of the token store. - */ -export interface TokenStore extends ProxyOnlyResource { - /** - * true to durably store platform-specific security tokens that are obtained during - * login flows; otherwise, false. - * The default is false. - */ - enabled?: boolean; - /** - * The number of hours after session token expiration that a session token can be used to - * call the token refresh API. The default is 72 hours. - */ - tokenRefreshExtensionHours?: number; - /** - * The configuration settings of the storage of the tokens if a file system is used. - */ - fileSystem?: FileSystemTokenStore; - /** - * The configuration settings of the storage of the tokens if blob storage is used. - */ - azureBlobStorage?: BlobStorageTokenStore; -} - -/** - * The configuration settings of the nonce used in the login flow. - */ -export interface Nonce extends ProxyOnlyResource { - /** - * false if the nonce should not be validated while completing the login flow; - * otherwise, true. - */ - validateNonce?: boolean; - /** - * The time after the request is made when the nonce should expire. - */ - nonceExpirationInterval?: string; -} - -/** - * The configuration settings of the login flow of users using App Service - * Authentication/Authorization. - */ -export interface Login extends ProxyOnlyResource { - /** - * The routes that specify the endpoints used for login and logout requests. - */ - routes?: LoginRoutes; - /** - * The configuration settings of the token store. - */ - tokenStore?: TokenStore; - /** - * true if the fragments from the request are preserved after the login request is - * made; otherwise, false. - */ - preserveUrlFragmentsForLogins?: boolean; - /** - * External URLs that can be redirected to as part of logging in or logging out of the app. Note - * that the query string part of the URL is ignored. - * This is an advanced setting typically only needed by Windows Store application backends. - * Note that URLs within the current domain are always implicitly allowed. - */ - allowedExternalRedirectUrls?: string[]; - /** - * The configuration settings of the session cookie's expiration. - */ - cookieExpiration?: CookieExpiration; - /** - * The configuration settings of the nonce used in the login flow. - */ - nonce?: Nonce; -} - -/** - * MSDeploy ARM PUT information - */ -export interface MSDeploy extends ProxyOnlyResource { - /** - * Package URI - */ - packageUri?: string; - /** - * SQL Connection String - */ - connectionString?: string; - /** - * Database Type - */ - dbType?: string; - /** - * URI of MSDeploy Parameters file. Must not be set if SetParameters is used. - */ - setParametersXmlFileUri?: string; - /** - * MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used. - */ - setParameters?: { [propertyName: string]: string }; - /** - * Controls whether the MSDeploy operation skips the App_Data directory. - * If set to true, the existing App_Data directory on the destination - * will not be deleted, and any App_Data directory in the source will be ignored. - * Setting is false by default. - */ - skipAppData?: boolean; - /** - * Sets the AppOffline rule while the MSDeploy operation executes. - * Setting is false by default. - */ - appOffline?: boolean; -} - -/** - * MSDeploy log entry - */ -export interface MSDeployLogEntry { - /** - * Timestamp of log entry - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly time?: Date; - /** - * Log entry type. Possible values include: 'Message', 'Warning', 'Error' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly type?: MSDeployLogEntryType; - /** - * Log entry message - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly message?: string; -} - -/** - * MSDeploy log - */ -export interface MSDeployLog extends ProxyOnlyResource { - /** - * List of log entry messages - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly entries?: MSDeployLogEntry[]; -} - -/** - * MSDeploy ARM response - */ -export interface MSDeployStatus extends ProxyOnlyResource { - /** - * Username of deployer - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly deployer?: string; - /** - * Provisioning state. Possible values include: 'accepted', 'running', 'succeeded', 'failed', - * 'canceled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: MSDeployProvisioningState; - /** - * Start time of deploy operation - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly startTime?: Date; - /** - * End time of deploy operation - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly endTime?: Date; - /** - * Whether the deployment operation has completed - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly complete?: boolean; -} - -/** - * MySQL migration request. - */ -export interface MigrateMySqlRequest extends ProxyOnlyResource { - /** - * Connection string to the remote MySQL database. - */ - connectionString: string; - /** - * The type of migration operation to be done. Possible values include: 'LocalToRemote', - * 'RemoteToLocal' - */ - migrationType: MySqlMigrationType; -} - -/** - * MySQL migration status. - */ -export interface MigrateMySqlStatus extends ProxyOnlyResource { - /** - * Status of the migration task. Possible values include: 'InProgress', 'Failed', 'Succeeded', - * 'TimedOut', 'Created' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly migrationOperationStatus?: OperationStatus; - /** - * Operation ID for the migration task. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly operationId?: string; - /** - * True if the web app has in app MySql enabled - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly localMySqlEnabled?: boolean; -} - -/** - * Hybrid Connection for an App Service app. - */ -export interface RelayServiceConnectionEntity extends ProxyOnlyResource { - entityName?: string; - entityConnectionString?: string; - resourceType?: string; - resourceConnectionString?: string; - hostname?: string; - port?: number; - biztalkUri?: string; -} - -/** - * Full view of network features for an app (presently VNET integration and Hybrid Connections). - */ -export interface NetworkFeatures extends ProxyOnlyResource { - /** - * The Virtual Network name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly virtualNetworkName?: string; - /** - * The Virtual Network summary view. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly virtualNetworkConnection?: VnetInfo; - /** - * The Hybrid Connections summary view. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly hybridConnections?: RelayServiceConnectionEntity[]; - /** - * The Hybrid Connection V2 (Service Bus) view. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly hybridConnectionsV2?: HybridConnection[]; -} - -/** - * Network trace - */ -export interface NetworkTrace { - /** - * Local file path for the captured network trace file. - */ - path?: string; - /** - * Current status of the network trace operation, same as Operation.Status - * (InProgress/Succeeded/Failed). - */ - status?: string; - /** - * Detailed message of a network trace operation, e.g. error message in case of failure. - */ - message?: string; -} - -/** - * Performance monitor sample in a set. - */ -export interface PerfMonSample { - /** - * Point in time for which counter was measured. - */ - time?: Date; - /** - * Name of the server on which the measurement is made. - */ - instanceName?: string; - /** - * Value of counter at a certain time. - */ - value?: number; -} - -/** - * Metric information. - */ -export interface PerfMonSet { - /** - * Unique key name of the counter. - */ - name?: string; - /** - * Start time of the period. - */ - startTime?: Date; - /** - * End time of the period. - */ - endTime?: Date; - /** - * Presented time grain. - */ - timeGrain?: string; - /** - * Collection of workers that are active during this time. - */ - values?: PerfMonSample[]; -} - -/** - * Performance monitor API response. - */ -export interface PerfMonResponse { - /** - * The response code. - */ - code?: string; - /** - * The message. - */ - message?: string; - /** - * The performance monitor counters. - */ - data?: PerfMonSet; -} - -/** - * Premier add-on. - */ -export interface PremierAddOn extends Resource { - /** - * Premier add on SKU. - */ - sku?: string; - /** - * Premier add on Product. - */ - product?: string; - /** - * Premier add on Vendor. - */ - vendor?: string; - /** - * Premier add on Marketplace publisher. - */ - marketplacePublisher?: string; - /** - * Premier add on Marketplace offer. - */ - marketplaceOffer?: string; -} - -/** - * ARM resource for a PremierAddOn. - */ -export interface PremierAddOnPatchResource extends ProxyOnlyResource { - /** - * Premier add on SKU. - */ - sku?: string; - /** - * Premier add on Product. - */ - product?: string; - /** - * Premier add on Vendor. - */ - vendor?: string; - /** - * Premier add on Marketplace publisher. - */ - marketplacePublisher?: string; - /** - * Premier add on Marketplace offer. - */ - marketplaceOffer?: string; -} - -/** - * Description of a Virtual Network subnet that is useable for private site access. - */ -export interface PrivateAccessSubnet { - /** - * The name of the subnet. - */ - name?: string; - /** - * The key (ID) of the subnet. - */ - key?: number; -} - -/** - * Description of a Virtual Network that is useable for private site access. - */ -export interface PrivateAccessVirtualNetwork { - /** - * The name of the Virtual Network. - */ - name?: string; - /** - * The key (ID) of the Virtual Network. - */ - key?: number; - /** - * The ARM uri of the Virtual Network - */ - resourceId?: string; - /** - * A List of subnets that access is allowed to on this Virtual Network. An empty array (but not - * null) is interpreted to mean that all subnets are allowed within this Virtual Network. - */ - subnets?: PrivateAccessSubnet[]; -} - -/** - * Description of the parameters of Private Access for a Web Site. - */ -export interface PrivateAccess extends ProxyOnlyResource { - /** - * Whether private access is enabled or not. - */ - enabled?: boolean; - /** - * The Virtual Networks (and subnets) allowed to access the site privately. - */ - virtualNetworks?: PrivateAccessVirtualNetwork[]; -} - -/** - * Process Thread Information. - */ -export interface ProcessThreadInfo extends ProxyOnlyResource { - /** - * Site extension ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly identifier?: number; - /** - * HRef URI. - */ - href?: string; - /** - * Process URI. - */ - process?: string; - /** - * Start address. - */ - startAddress?: string; - /** - * Current thread priority. - */ - currentPriority?: number; - /** - * Thread priority level. - */ - priorityLevel?: string; - /** - * Base priority. - */ - basePriority?: number; - /** - * Start time. - */ - startTime?: Date; - /** - * Total processor time. - */ - totalProcessorTime?: string; - /** - * User processor time. - */ - userProcessorTime?: string; - /** - * Thread state. - */ - state?: string; - /** - * Wait reason. - */ - waitReason?: string; -} - -/** - * Process Module Information. - */ -export interface ProcessModuleInfo extends ProxyOnlyResource { - /** - * Base address. Used as module identifier in ARM resource URI. - */ - baseAddress?: string; - /** - * File name. - */ - fileName?: string; - /** - * HRef URI. - */ - href?: string; - /** - * File path. - */ - filePath?: string; - /** - * Module memory size. - */ - moduleMemorySize?: number; - /** - * File version. - */ - fileVersion?: string; - /** - * File description. - */ - fileDescription?: string; - /** - * Product name. - */ - product?: string; - /** - * Product version. - */ - productVersion?: string; - /** - * Is debug? - */ - isDebug?: boolean; - /** - * Module language (locale). - */ - language?: string; -} - -/** - * Process Information. - */ -export interface ProcessInfo extends ProxyOnlyResource { - /** - * ARM Identifier for deployment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly identifier?: number; - /** - * Deployment name. - */ - deploymentName?: string; - /** - * HRef URI. - */ - href?: string; - /** - * Minidump URI. - */ - minidump?: string; - /** - * Is profile running? - */ - isProfileRunning?: boolean; - /** - * Is the IIS Profile running? - */ - isIisProfileRunning?: boolean; - /** - * IIS Profile timeout (seconds). - */ - iisProfileTimeoutInSeconds?: number; - /** - * Parent process. - */ - parent?: string; - /** - * Child process list. - */ - children?: string[]; - /** - * Thread list. - */ - threads?: ProcessThreadInfo[]; - /** - * List of open files. - */ - openFileHandles?: string[]; - /** - * List of modules. - */ - modules?: ProcessModuleInfo[]; - /** - * File name of this process. - */ - fileName?: string; - /** - * Command line. - */ - commandLine?: string; - /** - * User name. - */ - userName?: string; - /** - * Handle count. - */ - handleCount?: number; - /** - * Module count. - */ - moduleCount?: number; - /** - * Thread count. - */ - threadCount?: number; - /** - * Start time. - */ - startTime?: Date; - /** - * Total CPU time. - */ - totalCpuTime?: string; - /** - * User CPU time. - */ - userCpuTime?: string; - /** - * Privileged CPU time. - */ - privilegedCpuTime?: string; - /** - * Working set. - */ - workingSet?: number; - /** - * Peak working set. - */ - peakWorkingSet?: number; - /** - * Private memory size. - */ - privateMemory?: number; - /** - * Virtual memory size. - */ - virtualMemory?: number; - /** - * Peak virtual memory usage. - */ - peakVirtualMemory?: number; - /** - * Paged system memory. - */ - pagedSystemMemory?: number; - /** - * Non-paged system memory. - */ - nonPagedSystemMemory?: number; - /** - * Paged memory. - */ - pagedMemory?: number; - /** - * Peak paged memory. - */ - peakPagedMemory?: number; - /** - * Time stamp. - */ - timeStamp?: Date; - /** - * List of environment variables. - */ - environmentVariables?: { [propertyName: string]: string }; - /** - * Is this the SCM site? - */ - isScmSite?: boolean; - /** - * Is this a Web Job? - */ - isWebjob?: boolean; - /** - * Description of process. - */ - description?: string; -} - -/** - * Public certificate object - */ -export interface PublicCertificate extends ProxyOnlyResource { - /** - * Public Certificate byte array - */ - blob?: Uint8Array; - /** - * Public Certificate Location. Possible values include: 'CurrentUserMy', 'LocalMachineMy', - * 'Unknown' - */ - publicCertificateLocation?: PublicCertificateLocation; - /** - * Certificate Thumbprint - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly thumbprint?: string; -} - -/** - * Description of a restore request. - */ -export interface RestoreRequest extends ProxyOnlyResource { - /** - * SAS URL to the container. - */ - storageAccountUrl: string; - /** - * Name of a blob which contains the backup. - */ - blobName?: string; - /** - * true if the restore operation can overwrite target app; otherwise, - * false. true is needed if trying to restore over an existing app. - */ - overwrite: boolean; - /** - * Name of an app. - */ - siteName?: string; - /** - * Collection of databases which should be restored. This list has to match the list of databases - * included in the backup. - */ - databases?: DatabaseBackupSetting[]; - /** - * Changes a logic when restoring an app with custom domains. true to remove custom - * domains automatically. If false, custom domains are added to - * the app's object when it is being restored, but that might fail due to conflicts during the - * operation. Default value: false. - */ - ignoreConflictingHostNames?: boolean; - /** - * Ignore the databases and only restore the site content. Default value: false. - */ - ignoreDatabases?: boolean; - /** - * Specify app service plan that will own restored site. - */ - appServicePlan?: string; - /** - * Operation type. Possible values include: 'Default', 'Clone', 'Relocation', 'Snapshot', - * 'CloudFS'. Default value: 'Default'. - */ - operationType?: BackupRestoreOperationType; - /** - * true if SiteConfig.ConnectionStrings should be set in new app; otherwise, - * false. - */ - adjustConnectionStrings?: boolean; - /** - * App Service Environment name, if needed (only when restoring an app to an App Service - * Environment). - */ - hostingEnvironment?: string; -} - -/** - * Configuration settings for the Azure App Service Authentication / Authorization feature. - */ -export interface SiteAuthSettings extends ProxyOnlyResource { - /** - * true if the Authentication / Authorization feature is enabled for the current - * app; otherwise, false. - */ - enabled?: boolean; - /** - * The RuntimeVersion of the Authentication / Authorization feature in use for the current app. - * The setting in this value can control the behavior of certain features in the Authentication / - * Authorization module. - */ - runtimeVersion?: string; - /** - * The action to take when an unauthenticated client attempts to access the app. Possible values - * include: 'RedirectToLoginPage', 'AllowAnonymous' - */ - unauthenticatedClientAction?: UnauthenticatedClientAction; - /** - * true to durably store platform-specific security tokens that are obtained during - * login flows; otherwise, false. - * The default is false. - */ - tokenStoreEnabled?: boolean; - /** - * External URLs that can be redirected to as part of logging in or logging out of the app. Note - * that the query string part of the URL is ignored. - * This is an advanced setting typically only needed by Windows Store application backends. - * Note that URLs within the current domain are always implicitly allowed. - */ - allowedExternalRedirectUrls?: string[]; - /** - * The default authentication provider to use when multiple providers are configured. - * This setting is only needed if multiple providers are configured and the unauthenticated - * client - * action is set to "RedirectToLoginPage". Possible values include: 'AzureActiveDirectory', - * 'Facebook', 'Google', 'MicrosoftAccount', 'Twitter', 'Github' - */ - defaultProvider?: BuiltInAuthenticationProvider; - /** - * The number of hours after session token expiration that a session token can be used to - * call the token refresh API. The default is 72 hours. - */ - tokenRefreshExtensionHours?: number; - /** - * The Client ID of this relying party application, known as the client_id. - * This setting is required for enabling OpenID Connection authentication with Azure Active - * Directory or - * other 3rd party OpenID Connect providers. - * More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html - */ - clientId?: string; - /** - * The Client Secret of this relying party application (in Azure Active Directory, this is also - * referred to as the Key). - * This setting is optional. If no client secret is configured, the OpenID Connect implicit auth - * flow is used to authenticate end users. - * Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users. - * More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html - */ - clientSecret?: string; - /** - * The app setting name that contains the client secret of the relying party application. - */ - clientSecretSettingName?: string; - /** - * An alternative to the client secret, that is the thumbprint of a certificate used for signing - * purposes. This property acts as - * a replacement for the Client Secret. It is also optional. - */ - clientSecretCertificateThumbprint?: string; - /** - * The OpenID Connect Issuer URI that represents the entity which issues access tokens for this - * application. - * When using Azure Active Directory, this value is the URI of the directory tenant, e.g. - * https://sts.windows.net/{tenant-guid}/. - * This URI is a case-sensitive identifier for the token issuer. - * More information on OpenID Connect Discovery: - * http://openid.net/specs/openid-connect-discovery-1_0.html - */ - issuer?: string; - /** - * Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as - * such. - */ - validateIssuer?: boolean; - /** - * Allowed audience values to consider when validating JWTs issued by - * Azure Active Directory. Note that the ClientID value is always considered an - * allowed audience, regardless of this setting. - */ - allowedAudiences?: string[]; - /** - * Login parameters to send to the OpenID Connect authorization endpoint when - * a user logs in. Each parameter must be in the form "key=value". - */ - additionalLoginParams?: string[]; - /** - * Gets a JSON string containing the Azure AD Acl settings. - */ - aadClaimsAuthorization?: string; - /** - * The OpenID Connect Client ID for the Google web application. - * This setting is required for enabling Google Sign-In. - * Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ - */ - googleClientId?: string; - /** - * The client secret associated with the Google web application. - * This setting is required for enabling Google Sign-In. - * Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ - */ - googleClientSecret?: string; - /** - * The app setting name that contains the client secret associated with - * the Google web application. - */ - googleClientSecretSettingName?: string; - /** - * The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. - * This setting is optional. If not specified, "openid", "profile", and "email" are used as - * default scopes. - * Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ - */ - googleOAuthScopes?: string[]; - /** - * The App ID of the Facebook app used for login. - * This setting is required for enabling Facebook Login. - * Facebook Login documentation: https://developers.facebook.com/docs/facebook-login - */ - facebookAppId?: string; - /** - * The App Secret of the Facebook app used for Facebook Login. - * This setting is required for enabling Facebook Login. - * Facebook Login documentation: https://developers.facebook.com/docs/facebook-login - */ - facebookAppSecret?: string; - /** - * The app setting name that contains the app secret used for Facebook Login. - */ - facebookAppSecretSettingName?: string; - /** - * The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication. - * This setting is optional. - * Facebook Login documentation: https://developers.facebook.com/docs/facebook-login - */ - facebookOAuthScopes?: string[]; - /** - * The Client Id of the GitHub app used for login. - * This setting is required for enabling Github login - */ - gitHubClientId?: string; - /** - * The Client Secret of the GitHub app used for Github Login. - * This setting is required for enabling Github login. - */ - gitHubClientSecret?: string; - /** - * The app setting name that contains the client secret of the Github - * app used for GitHub Login. - */ - gitHubClientSecretSettingName?: string; - /** - * The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication. - * This setting is optional - */ - gitHubOAuthScopes?: string[]; - /** - * The OAuth 1.0a consumer key of the Twitter application used for sign-in. - * This setting is required for enabling Twitter Sign-In. - * Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in - */ - twitterConsumerKey?: string; - /** - * The OAuth 1.0a consumer secret of the Twitter application used for sign-in. - * This setting is required for enabling Twitter Sign-In. - * Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in - */ - twitterConsumerSecret?: string; - /** - * The app setting name that contains the OAuth 1.0a consumer secret of the Twitter - * application used for sign-in. - */ - twitterConsumerSecretSettingName?: string; - /** - * The OAuth 2.0 client ID that was created for the app used for authentication. - * This setting is required for enabling Microsoft Account authentication. - * Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm - */ - microsoftAccountClientId?: string; - /** - * The OAuth 2.0 client secret that was created for the app used for authentication. - * This setting is required for enabling Microsoft Account authentication. - * Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm - */ - microsoftAccountClientSecret?: string; - /** - * The app setting name containing the OAuth 2.0 client secret that was created for the - * app used for authentication. - */ - microsoftAccountClientSecretSettingName?: string; - /** - * The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. - * This setting is optional. If not specified, "wl.basic" is used as the default scope. - * Microsoft Account Scopes and permissions documentation: - * https://msdn.microsoft.com/en-us/library/dn631845.aspx - */ - microsoftAccountOAuthScopes?: string[]; - /** - * "true" if the auth config settings should be read from a file, - * "false" otherwise - */ - isAuthFromFile?: string; - /** - * The path of the config file containing auth settings. - * If the path is relative, base will the site's root directory. - */ - authFilePath?: string; - /** - * The ConfigVersion of the Authentication / Authorization feature in use for the current app. - * The setting in this value can control the behavior of the control plane for Authentication / - * Authorization. - */ - configVersion?: string; -} - -/** - * Configuration settings for the Azure App Service Authentication / Authorization V2 feature. - */ -export interface SiteAuthSettingsV2 extends ProxyOnlyResource { - /** - * The configuration settings of the platform of App Service Authentication/Authorization. - */ - platform?: AuthPlatform; - /** - * The configuration settings that determines the validation flow of users using App Service - * Authentication/Authorization. - */ - globalValidation?: GlobalValidation; - /** - * The configuration settings of each of the identity providers used to configure App Service - * Authentication/Authorization. - */ - identityProviders?: IdentityProviders; - /** - * The configuration settings of the login flow of users using App Service - * Authentication/Authorization. - */ - login?: Login; - /** - * The configuration settings of the HTTP requests for authentication and authorization requests - * made against App Service Authentication/Authorization. - */ - httpSettings?: HttpSettings; -} - -/** - * An app cloneability criterion. - */ -export interface SiteCloneabilityCriterion { - /** - * Name of criterion. - */ - name?: string; - /** - * Description of criterion. - */ - description?: string; -} - -/** - * Represents whether or not an app is cloneable. - */ -export interface SiteCloneability { - /** - * Name of app. Possible values include: 'Cloneable', 'PartiallyCloneable', 'NotCloneable' - */ - result?: CloneAbilityResult; - /** - * List of features enabled on app that prevent cloning. - */ - blockingFeatures?: SiteCloneabilityCriterion[]; - /** - * List of features enabled on app that are non-blocking but cannot be cloned. The app can still - * be cloned - * but the features in this list will not be set up on cloned app. - */ - unsupportedFeatures?: SiteCloneabilityCriterion[]; - /** - * List of blocking application characteristics. - */ - blockingCharacteristics?: SiteCloneabilityCriterion[]; -} - -/** - * Web app configuration ARM resource. - */ -export interface SiteConfigResource extends ProxyOnlyResource { - /** - * Number of workers. - */ - numberOfWorkers?: number; - /** - * Default documents. - */ - defaultDocuments?: string[]; - /** - * .NET Framework version. Default value: 'v4.6'. - */ - netFrameworkVersion?: string; - /** - * Version of PHP. - */ - phpVersion?: string; - /** - * Version of Python. - */ - pythonVersion?: string; - /** - * Version of Node.js. - */ - nodeVersion?: string; - /** - * Version of PowerShell. - */ - powerShellVersion?: string; - /** - * Linux App Framework and version - */ - linuxFxVersion?: string; - /** - * Xenon App Framework and version - */ - windowsFxVersion?: string; - /** - * true if request tracing is enabled; otherwise, false. - */ - requestTracingEnabled?: boolean; - /** - * Request tracing expiration time. - */ - requestTracingExpirationTime?: Date; - /** - * true if remote debugging is enabled; otherwise, false. - */ - remoteDebuggingEnabled?: boolean; - /** - * Remote debugging version. - */ - remoteDebuggingVersion?: string; - /** - * true if HTTP logging is enabled; otherwise, false. - */ - httpLoggingEnabled?: boolean; - /** - * HTTP logs directory size limit. - */ - logsDirectorySizeLimit?: number; - /** - * true if detailed error logging is enabled; otherwise, false. - */ - detailedErrorLoggingEnabled?: boolean; - /** - * Publishing user name. - */ - publishingUsername?: string; - /** - * Application settings. - */ - appSettings?: NameValuePair[]; - /** - * Connection strings. - */ - connectionStrings?: ConnStringInfo[]; - /** - * Site MachineKey. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly machineKey?: SiteMachineKey; - /** - * Handler mappings. - */ - handlerMappings?: HandlerMapping[]; - /** - * Document root. - */ - documentRoot?: string; - /** - * SCM type. Possible values include: 'None', 'Dropbox', 'Tfs', 'LocalGit', 'GitHub', - * 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', 'BitbucketHg', 'ExternalGit', 'ExternalHg', - * 'OneDrive', 'VSO', 'VSTSRM' - */ - scmType?: ScmType; - /** - * true to use 32-bit worker process; otherwise, false. - */ - use32BitWorkerProcess?: boolean; - /** - * true if WebSocket is enabled; otherwise, false. - */ - webSocketsEnabled?: boolean; - /** - * true if Always On is enabled; otherwise, false. - */ - alwaysOn?: boolean; - /** - * Java version. - */ - javaVersion?: string; - /** - * Java container. - */ - javaContainer?: string; - /** - * Java container version. - */ - javaContainerVersion?: string; - /** - * App command line to launch. - */ - appCommandLine?: string; - /** - * Managed pipeline mode. Possible values include: 'Integrated', 'Classic' - */ - managedPipelineMode?: ManagedPipelineMode; - /** - * Virtual applications. - */ - virtualApplications?: VirtualApplication[]; - /** - * Site load balancing. Possible values include: 'WeightedRoundRobin', 'LeastRequests', - * 'LeastResponseTime', 'WeightedTotalTraffic', 'RequestHash', 'PerSiteRoundRobin' - */ - loadBalancing?: SiteLoadBalancing; - /** - * This is work around for polymorphic types. - */ - experiments?: Experiments; - /** - * Site limits. - */ - limits?: SiteLimits; - /** - * true if Auto Heal is enabled; otherwise, false. - */ - autoHealEnabled?: boolean; - /** - * Auto Heal rules. - */ - autoHealRules?: AutoHealRules; - /** - * Tracing options. - */ - tracingOptions?: string; - /** - * Virtual Network name. - */ - vnetName?: string; - /** - * Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network - * Security Groups and User Defined Routes applied. - */ - vnetRouteAllEnabled?: boolean; - /** - * The number of private ports assigned to this app. These will be assigned dynamically on - * runtime. - */ - vnetPrivatePortsCount?: number; - /** - * Cross-Origin Resource Sharing (CORS) settings. - */ - cors?: CorsSettings; - /** - * Push endpoint settings. - */ - push?: PushSettings; - /** - * Information about the formal API definition for the app. - */ - apiDefinition?: ApiDefinitionInfo; - /** - * Azure API management settings linked to the app. - */ - apiManagementConfig?: ApiManagementConfig; - /** - * Auto-swap slot name. - */ - autoSwapSlotName?: string; - /** - * true to enable local MySQL; otherwise, false. Default value: false. - */ - localMySqlEnabled?: boolean; - /** - * Managed Service Identity Id - */ - managedServiceIdentityId?: number; - /** - * Explicit Managed Service Identity Id - */ - xManagedServiceIdentityId?: number; - /** - * Identity to use for Key Vault Reference authentication. - */ - keyVaultReferenceIdentity?: string; - /** - * IP security restrictions for main. - */ - ipSecurityRestrictions?: IpSecurityRestriction[]; - /** - * IP security restrictions for scm. - */ - scmIpSecurityRestrictions?: IpSecurityRestriction[]; - /** - * IP security restrictions for scm to use main. - */ - scmIpSecurityRestrictionsUseMain?: boolean; - /** - * Http20Enabled: configures a web site to allow clients to connect over http2.0. Default value: - * true. - */ - http20Enabled?: boolean; - /** - * MinTlsVersion: configures the minimum version of TLS required for SSL requests. Possible - * values include: '1.0', '1.1', '1.2' - */ - minTlsVersion?: SupportedTlsVersions; - /** - * ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM - * site. Possible values include: '1.0', '1.1', '1.2' - */ - scmMinTlsVersion?: SupportedTlsVersions; - /** - * State of FTP / FTPS service. Possible values include: 'AllAllowed', 'FtpsOnly', 'Disabled' - */ - ftpsState?: FtpsState; - /** - * Number of preWarmed instances. - * This setting only applies to the Consumption and Elastic Plans - */ - preWarmedInstanceCount?: number; - /** - * Maximum number of workers that a site can scale out to. - * This setting only applies to the Consumption and Elastic Premium Plans - */ - functionAppScaleLimit?: number; - /** - * Health check path - */ - healthCheckPath?: string; - /** - * Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When - * enabled, - * the ScaleController will not monitor event sources directly, but will instead call to the - * runtime to get scale status. - */ - functionsRuntimeScaleMonitoringEnabled?: boolean; - /** - * Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows - * App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For - * Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see - * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the - * time zones listed under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time - * Zones - */ - websiteTimeZone?: string; - /** - * Number of minimum instance count for a site - * This setting only applies to the Elastic Plans - */ - minimumElasticInstanceCount?: number; - /** - * List of Azure Storage Accounts. - */ - azureStorageAccounts?: { [propertyName: string]: AzureStorageInfoValue }; - /** - * Property to allow or block all public traffic. - */ - publicNetworkAccess?: string; -} - -/** - * A snapshot of a web app configuration. - */ -export interface SiteConfigurationSnapshotInfo extends ProxyOnlyResource { - /** - * The time the snapshot was taken. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly time?: Date; - /** - * The id of the snapshot - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly snapshotId?: number; -} - -/** - * Site Extension Information. - */ -export interface SiteExtensionInfo extends ProxyOnlyResource { - /** - * Site extension ID. - */ - extensionId?: string; - title?: string; - /** - * Site extension type. Possible values include: 'Gallery', 'WebRoot' - */ - extensionType?: SiteExtensionType; - /** - * Summary description. - */ - summary?: string; - /** - * Detailed description. - */ - description?: string; - /** - * Version information. - */ - version?: string; - /** - * Extension URL. - */ - extensionUrl?: string; - /** - * Project URL. - */ - projectUrl?: string; - /** - * Icon URL. - */ - iconUrl?: string; - /** - * License URL. - */ - licenseUrl?: string; - /** - * Feed URL. - */ - feedUrl?: string; - /** - * List of authors. - */ - authors?: string[]; - /** - * Installer command line parameters. - */ - installerCommandLineParams?: string; - /** - * Published timestamp. - */ - publishedDateTime?: Date; - /** - * Count of downloads. - */ - downloadCount?: number; - /** - * true if the local version is the latest version; false otherwise. - */ - localIsLatestVersion?: boolean; - /** - * Local path. - */ - localPath?: string; - /** - * Installed timestamp. - */ - installedDateTime?: Date; - /** - * Provisioning state. - */ - provisioningState?: string; - /** - * Site Extension comment. - */ - comment?: string; -} - -/** - * Configuration of App Service site logs. - */ -export interface SiteLogsConfig extends ProxyOnlyResource { - /** - * Application logs configuration. - */ - applicationLogs?: ApplicationLogsConfig; - /** - * HTTP logs configuration. - */ - httpLogs?: HttpLogsConfig; - /** - * Failed requests tracing configuration. - */ - failedRequestsTracing?: EnabledConfig; - /** - * Detailed error messages configuration. - */ - detailedErrorMessages?: EnabledConfig; -} - -/** - * ARM resource for a site. - */ -export interface SitePatchResource extends ProxyOnlyResource { - /** - * Current state of the app. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly state?: string; - /** - * Hostnames associated with the app. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly hostNames?: string[]; - /** - * Name of the repository site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly repositorySiteName?: string; - /** - * State indicating whether the app has exceeded its quota usage. Read-only. Possible values - * include: 'Normal', 'Exceeded' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly usageState?: UsageState; - /** - * true if the app is enabled; otherwise, false. Setting this value to - * false disables the app (takes the app offline). - */ - enabled?: boolean; - /** - * Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. - * Otherwise, - * the app is not served on those hostnames. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly enabledHostNames?: string[]; - /** - * Management information availability state for the app. Possible values include: 'Normal', - * 'Limited', 'DisasterRecoveryMode' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly availabilityState?: SiteAvailabilityState; - /** - * Hostname SSL states are used to manage the SSL bindings for app's hostnames. - */ - hostNameSslStates?: HostNameSslState[]; - /** - * Resource ID of the associated App Service plan, formatted as: - * "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - */ - serverFarmId?: string; - /** - * true if reserved; otherwise, false. Default value: false. - */ - reserved?: boolean; - /** - * Obsolete: Hyper-V sandbox. Default value: false. - */ - isXenon?: boolean; - /** - * Hyper-V sandbox. Default value: false. - */ - hyperV?: boolean; - /** - * Last time the app was modified, in UTC. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly lastModifiedTimeUtc?: Date; - /** - * Configuration of the app. - */ - siteConfig?: SiteConfig; - /** - * Azure Traffic Manager hostnames associated with the app. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly trafficManagerHostNames?: string[]; - /** - * true to stop SCM (KUDU) site when the app is stopped; otherwise, - * false. The default is false. Default value: false. - */ - scmSiteAlsoStopped?: boolean; - /** - * Specifies which deployment slot this app will swap into. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly targetSwapSlot?: string; - /** - * App Service Environment to use for the app. - */ - hostingEnvironmentProfile?: HostingEnvironmentProfile; - /** - * true to enable client affinity; false to stop sending session - * affinity cookies, which route client requests in the same session to the same instance. - * Default is true. - */ - clientAffinityEnabled?: boolean; - /** - * true to enable client certificate authentication (TLS mutual authentication); - * otherwise, false. Default is false. - */ - clientCertEnabled?: boolean; - /** - * This composes with ClientCertEnabled setting. - * - ClientCertEnabled: false means ClientCert is ignored. - * - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. - * - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or - * accepted. Possible values include: 'Required', 'Optional', 'OptionalInteractiveUser' - */ - clientCertMode?: ClientCertMode; - /** - * client certificate authentication comma-separated exclusion paths - */ - clientCertExclusionPaths?: string; - /** - * true to disable the public hostnames of the app; otherwise, false. - * If true, the app is only accessible via API management process. - */ - hostNamesDisabled?: boolean; - /** - * Unique identifier that verifies the custom domains assigned to the app. Customer will add this - * id to a txt record for verification. - */ - customDomainVerificationId?: string; - /** - * List of IP addresses that the app uses for outbound connections (e.g. database access). - * Includes VIPs from tenants that site can be hosted with current settings. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly outboundIpAddresses?: string; - /** - * List of IP addresses that the app uses for outbound connections (e.g. database access). - * Includes VIPs from all tenants except dataComponent. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly possibleOutboundIpAddresses?: string; - /** - * Size of the function container. - */ - containerSize?: number; - /** - * Maximum allowed daily memory-time quota (applicable on dynamic apps only). - */ - dailyMemoryTimeQuota?: number; - /** - * App suspended till in case memory-time quota is exceeded. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly suspendedTill?: Date; - /** - * Maximum number of workers. - * This only applies to Functions container. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly maxNumberOfWorkers?: number; - /** - * If specified during app creation, the app is cloned from a source app. - */ - cloningInfo?: CloningInfo; - /** - * Name of the resource group the app belongs to. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly resourceGroup?: string; - /** - * true if the app is a default container; otherwise, false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isDefaultContainer?: boolean; - /** - * Default hostname of the app. Read-only. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly defaultHostName?: string; - /** - * Status of the last deployment slot swap operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly slotSwapStatus?: SlotSwapStatus; - /** - * HttpsOnly: configures a web site to accept only https requests. Issues redirect for - * http requests - */ - httpsOnly?: boolean; - /** - * Site redundancy mode. Possible values include: 'None', 'Manual', 'Failover', 'ActiveActive', - * 'GeoRedundant' - */ - redundancyMode?: RedundancyMode; - /** - * Specifies an operation id if this site has a pending operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly inProgressOperationId?: string; - /** - * Checks if Customer provided storage account is required - */ - storageAccountRequired?: boolean; - /** - * Identity to use for Key Vault Reference authentication. - */ - keyVaultReferenceIdentity?: string; - /** - * Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET - * Integration. - * This must be of the form - * /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} - */ - virtualNetworkSubnetId?: string; - identity?: ManagedServiceIdentity; -} - -/** - * Used for getting PHP error logging flag. - */ -export interface SitePhpErrorLogFlag extends ProxyOnlyResource { - /** - * Local log_errors setting. - */ - localLogErrors?: string; - /** - * Master log_errors setting. - */ - masterLogErrors?: string; - /** - * Local log_errors_max_len setting. - */ - localLogErrorsMaxLength?: string; - /** - * Master log_errors_max_len setting. - */ - masterLogErrorsMaxLength?: string; -} - -/** - * Source control configuration for an app. - */ -export interface SiteSourceControl extends ProxyOnlyResource { - /** - * Repository or source control URL. - */ - repoUrl?: string; - /** - * Name of branch to use for deployment. - */ - branch?: string; - /** - * true to limit to manual integration; false to enable continuous - * integration (which configures webhooks into online repos like GitHub). - */ - isManualIntegration?: boolean; - /** - * true if this is deployed via GitHub action. - */ - isGitHubAction?: boolean; - /** - * true to enable deployment rollback; otherwise, false. - */ - deploymentRollbackEnabled?: boolean; - /** - * true for a Mercurial repository; false for a Git repository. - */ - isMercurial?: boolean; - /** - * If GitHub Action is selected, than the associated configuration. - */ - gitHubActionConfiguration?: GitHubActionConfiguration; -} - -/** - * Slot Config names azure resource. - */ -export interface SlotConfigNamesResource extends ProxyOnlyResource { - /** - * List of connection string names. - */ - connectionStringNames?: string[]; - /** - * List of application settings names. - */ - appSettingNames?: string[]; - /** - * List of external Azure storage account identifiers. - */ - azureStorageConfigNames?: string[]; -} - -/** - * A setting difference between two deployment slots of an app. - */ -export interface SlotDifference extends ProxyOnlyResource { - /** - * Level of the difference: Information, Warning or Error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly level?: string; - /** - * The type of the setting: General, AppSetting or ConnectionString. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly settingType?: string; - /** - * Rule that describes how to process the setting difference during a slot swap. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly diffRule?: string; - /** - * Name of the setting. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly settingName?: string; - /** - * Value of the setting in the current slot. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly valueInCurrentSlot?: string; - /** - * Value of the setting in the target slot. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly valueInTargetSlot?: string; - /** - * Description of the setting difference. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly description?: string; -} - -/** - * Specifies the web app that snapshot contents will be retrieved from. - */ -export interface SnapshotRecoverySource { - /** - * Geographical location of the source web app, e.g. SouthEastAsia, SouthCentralUS - */ - location?: string; - /** - * ARM resource ID of the source app. - * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} - * for production slots and - * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} - * for other slots. - */ - id?: string; -} - -/** - * Details about app recovery operation. - */ -export interface SnapshotRestoreRequest extends ProxyOnlyResource { - /** - * Point in time in which the app restore should be done, formatted as a DateTime string. - */ - snapshotTime?: string; - /** - * Optional. Specifies the web app that snapshot contents will be retrieved from. - * If empty, the targeted web app will be used as the source. - */ - recoverySource?: SnapshotRecoverySource; - /** - * If true the restore operation can overwrite source app; otherwise, - * false. - */ - overwrite: boolean; - /** - * If true, site configuration, in addition to content, will be reverted. - */ - recoverConfiguration?: boolean; - /** - * If true, custom hostname conflicts will be ignored when recovering to a target web app. - * This setting is only necessary when RecoverConfiguration is enabled. - */ - ignoreConflictingHostNames?: boolean; - /** - * If true, the snapshot is retrieved from DRSecondary endpoint. - */ - useDRSecondary?: boolean; -} - -/** - * Options for app content migration. - */ -export interface StorageMigrationOptions extends ProxyOnlyResource { - /** - * AzureFiles connection string. - */ - azurefilesConnectionString: string; - /** - * AzureFiles share. - */ - azurefilesShare: string; - /** - * trueif the app should be switched over; otherwise, false. Default - * value: false. - */ - switchSiteAfterMigration?: boolean; - /** - * true if the app should be read only during copy operation; otherwise, - * false. Default value: false. - */ - blockWriteAccessToSite?: boolean; -} - -/** - * Response for a migration of app content request. - */ -export interface StorageMigrationResponse extends ProxyOnlyResource { - /** - * When server starts the migration process, it will return an operation ID identifying that - * particular migration operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly operationId?: string; -} - -/** - * Swift Virtual Network Contract. This is used to enable the new Swift way of doing virtual - * network integration. - */ -export interface SwiftVirtualNetwork extends ProxyOnlyResource { - /** - * The Virtual Network subnet's resource ID. This is the subnet that this Web App will join. This - * subnet must have a delegation to Microsoft.Web/serverFarms defined first. - */ - subnetResourceId?: string; - /** - * A flag that specifies if the scale unit this Web App is on supports Swift integration. - */ - swiftSupported?: boolean; -} - -/** - * Triggered Web Job Run Information. - */ -export interface TriggeredJobRun extends ProxyOnlyResource { - /** - * Job ID. - */ - webJobId?: string; - /** - * Job name. - */ - webJobName?: string; - /** - * Job status. Possible values include: 'Success', 'Failed', 'Error' - */ - status?: TriggeredWebJobStatus; - /** - * Start time. - */ - startTime?: Date; - /** - * End time. - */ - endTime?: Date; - /** - * Job duration. - */ - duration?: string; - /** - * Output URL. - */ - outputUrl?: string; - /** - * Error URL. - */ - errorUrl?: string; - /** - * Job URL. - */ - url?: string; - /** - * Job name. - */ - jobName?: string; - /** - * Job trigger. - */ - trigger?: string; -} - -/** - * Triggered Web Job History. List of Triggered Web Job Run Information elements. - */ -export interface TriggeredJobHistory extends ProxyOnlyResource { - /** - * List of triggered web job runs. - */ - runs?: TriggeredJobRun[]; -} - -/** - * Triggered Web Job Information. - */ -export interface TriggeredWebJob extends ProxyOnlyResource { - /** - * Latest job run information. - */ - latestRun?: TriggeredJobRun; - /** - * History URL. - */ - historyUrl?: string; - /** - * Scheduler Logs URL. - */ - schedulerLogsUrl?: string; - /** - * Run command. - */ - runCommand?: string; - /** - * Job URL. - */ - url?: string; - /** - * Extra Info URL. - */ - extraInfoUrl?: string; - /** - * Job type. Possible values include: 'Continuous', 'Triggered' - */ - webJobType?: WebJobType; - /** - * Error information. - */ - error?: string; - /** - * Using SDK? - */ - usingSdk?: boolean; - /** - * Job settings. - */ - settings?: { [propertyName: string]: any }; -} - -/** - * An interface representing WebSiteInstanceStatus. - */ -export interface WebSiteInstanceStatus extends ProxyOnlyResource { - /** - * Possible values include: 'READY', 'STOPPED', 'UNKNOWN' - */ - state?: SiteRuntimeState; - /** - * Link to the GetStatusApi in Kudu - */ - statusUrl?: string; - /** - * Link to the Diagnose and Solve Portal - */ - detectorUrl?: string; - /** - * Link to the console to web app instance - */ - consoleUrl?: string; - /** - * Link to the console to web app instance - */ - healthCheckUrl?: string; - containers?: { [propertyName: string]: ContainerInfo }; -} - -/** - * Web Job Information. - */ -export interface WebJob extends ProxyOnlyResource { - /** - * Run command. - */ - runCommand?: string; - /** - * Job URL. - */ - url?: string; - /** - * Extra Info URL. - */ - extraInfoUrl?: string; - /** - * Job type. Possible values include: 'Continuous', 'Triggered' - */ - webJobType?: WebJobType; - /** - * Error information. - */ - error?: string; - /** - * Using SDK? - */ - usingSdk?: boolean; - /** - * Job settings. - */ - settings?: { [propertyName: string]: any }; -} - -/** - * The plan object in Azure Resource Manager, represents a marketplace plan. - */ -export interface ArmPlan { - /** - * The name. - */ - name?: string; - /** - * The publisher. - */ - publisher?: string; - /** - * The product. - */ - product?: string; - /** - * The promotion code. - */ - promotionCode?: string; - /** - * Version of product. - */ - version?: string; -} - -/** - * A remote private endpoint connection - */ -export interface RemotePrivateEndpointConnection extends ProxyOnlyResource { - /** - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: string; - /** - * PrivateEndpoint of a remote private endpoint connection - */ - privateEndpoint?: ArmIdWrapper; - privateLinkServiceConnectionState?: PrivateLinkConnectionState; - /** - * Private IPAddresses mapped to the remote private endpoint - */ - ipAddresses?: string[]; -} - -/** - * Message envelope that contains the common Azure resource manager properties and the resource - * provider specific content. - */ -export interface ResponseMessageEnvelopeRemotePrivateEndpointConnection { - /** - * Resource Id. Typically ID is populated only for responses to GET requests. Caller is - * responsible for passing in this - * value for GET requests only. - * For example: - * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupId}/providers/Microsoft.Web/sites/{sitename} - */ - id?: string; - /** - * Name of resource. - */ - name?: string; - /** - * Type of resource e.g "Microsoft.Web/sites". - */ - type?: string; - /** - * Geographical region resource belongs to e.g. SouthCentralUS, SouthEastAsia. - */ - location?: string; - /** - * Tags associated with resource. - */ - tags?: { [propertyName: string]: string }; - /** - * Azure resource manager plan. - */ - plan?: ArmPlan; - /** - * Resource specific properties. - */ - properties?: RemotePrivateEndpointConnection; - /** - * SKU description of the resource. - */ - sku?: SkuDescription; - /** - * Azure-AsyncOperation Status info. - */ - status?: string; - /** - * Azure-AsyncOperation Error info. - */ - error?: ErrorEntity; - /** - * MSI resource - */ - identity?: ManagedServiceIdentity; - /** - * Logical Availability Zones the service is hosted in - */ - zones?: string[]; -} - -/** - * Build properties for the static site. - */ -export interface StaticSiteBuildProperties { - /** - * The path to the app code within the repository. - */ - appLocation?: string; - /** - * The path to the api code within the repository. - */ - apiLocation?: string; - /** - * Deprecated: The path of the app artifacts after building (deprecated in favor of - * OutputLocation) - */ - appArtifactLocation?: string; - /** - * The output path of the app after building. - */ - outputLocation?: string; - /** - * A custom command to run during deployment of the static content application. - */ - appBuildCommand?: string; - /** - * A custom command to run during deployment of the Azure Functions API application. - */ - apiBuildCommand?: string; - /** - * Skip Github Action workflow generation. - */ - skipGithubActionWorkflowGeneration?: boolean; - /** - * Github Action secret name override. - */ - githubActionSecretNameOverride?: string; -} - -/** - * Template Options for the static site. - */ -export interface StaticSiteTemplateOptions { - /** - * URL of the template repository. The newly generated repository will be based on this one. - */ - templateRepositoryUrl?: string; - /** - * Owner of the newly generated repository. - */ - owner?: string; - /** - * Name of the newly generated repository. - */ - repositoryName?: string; - /** - * Description of the newly generated repository. - */ - description?: string; - /** - * Whether or not the newly generated repository is a private repository. Defaults to false (i.e. - * public). - */ - isPrivate?: boolean; -} - -/** - * A static site user provided function. - */ -export interface StaticSiteUserProvidedFunctionApp extends ProxyOnlyResource { - /** - * The resource id of the function app registered with the static site - */ - functionAppResourceId?: string; - /** - * The region of the function app registered with the static site - */ - functionAppRegion?: string; - /** - * The date and time on which the function app was registered with the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly createdOn?: Date; -} - -/** - * Static Site ARM resource. - */ -export interface StaticSiteARMResource extends Resource { - /** - * The default autogenerated hostname for the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly defaultHostname?: string; - /** - * URL for the repository of the static site. - */ - repositoryUrl?: string; - /** - * The target branch in the repository. - */ - branch?: string; - /** - * The custom domains associated with this static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly customDomains?: string[]; - /** - * A user's github repository token. This is used to setup the Github Actions workflow file and - * API secrets. - */ - repositoryToken?: string; - /** - * Build properties to configure on the repository. - */ - buildProperties?: StaticSiteBuildProperties; - /** - * Private endpoint connections - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly privateEndpointConnections?: ResponseMessageEnvelopeRemotePrivateEndpointConnection[]; - /** - * State indicating whether staging environments are allowed or not allowed for a static web app. - * Possible values include: 'Enabled', 'Disabled' - */ - stagingEnvironmentPolicy?: StagingEnvironmentPolicy; - /** - * false if config file is locked for this static web app; otherwise, - * true. - */ - allowConfigFileUpdates?: boolean; - /** - * Template options for generating a new repository. - */ - templateProperties?: StaticSiteTemplateOptions; - /** - * The content distribution endpoint for the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly contentDistributionEndpoint?: string; - /** - * Identity to use for Key Vault Reference authentication. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly keyVaultReferenceIdentity?: string; - /** - * User provided function apps registered with the static site - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; - /** - * The provider that submitted the last deployment to the primary environment of the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provider?: string; - sku?: SkuDescription; - identity?: ManagedServiceIdentity; -} - -/** - * Static Site Build ARM resource. - */ -export interface StaticSiteBuildARMResource extends ProxyOnlyResource { - /** - * An identifier for the static site build. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly buildId?: string; - /** - * The source branch. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly sourceBranch?: string; - /** - * The title of a pull request that a static site build is related to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly pullRequestTitle?: string; - /** - * The hostname for a static site build. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly hostname?: string; - /** - * When this build was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly createdTimeUtc?: Date; - /** - * When this build was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly lastUpdatedOn?: Date; - /** - * The status of the static site build. Possible values include: 'WaitingForDeployment', - * 'Uploading', 'Deploying', 'Ready', 'Failed', 'Deleting', 'Detached' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly status?: BuildStatus; - /** - * User provided function apps registered with the static site build - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; -} - -/** - * Static Site Custom Domain Overview ARM resource. - */ -export interface StaticSiteCustomDomainOverviewARMResource extends ProxyOnlyResource { - /** - * The domain name for the static site custom domain. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly domainName?: string; - /** - * The date and time on which the custom domain was created for the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly createdOn?: Date; - /** - * The status of the custom domain. Possible values include: 'RetrievingValidationToken', - * 'Validating', 'Adding', 'Ready', 'Failed', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly status?: CustomDomainStatus; - /** - * The TXT record validation token - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly validationToken?: string; - /** - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly errorMessage?: string; -} - -/** - * Static Site Custom Domain Request Properties ARM resource. - */ -export interface StaticSiteCustomDomainRequestPropertiesARMResource extends ProxyOnlyResource { - /** - * Validation method for adding a custom domain. Default value: 'cname-delegation'. - */ - validationMethod?: string; -} - -/** - * Static Site Function Overview ARM resource. - */ -export interface StaticSiteFunctionOverviewARMResource extends ProxyOnlyResource { - /** - * The name for the function - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly functionName?: string; - /** - * The trigger type of the function. Possible values include: 'HttpTrigger', 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly triggerType?: TriggerTypes; -} - -/** - * ARM resource for a static site when patching - */ -export interface StaticSitePatchResource extends ProxyOnlyResource { - /** - * The default autogenerated hostname for the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly defaultHostname?: string; - /** - * URL for the repository of the static site. - */ - repositoryUrl?: string; - /** - * The target branch in the repository. - */ - branch?: string; - /** - * The custom domains associated with this static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly customDomains?: string[]; - /** - * A user's github repository token. This is used to setup the Github Actions workflow file and - * API secrets. - */ - repositoryToken?: string; - /** - * Build properties to configure on the repository. - */ - buildProperties?: StaticSiteBuildProperties; - /** - * Private endpoint connections - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly privateEndpointConnections?: ResponseMessageEnvelopeRemotePrivateEndpointConnection[]; - /** - * State indicating whether staging environments are allowed or not allowed for a static web app. - * Possible values include: 'Enabled', 'Disabled' - */ - stagingEnvironmentPolicy?: StagingEnvironmentPolicy; - /** - * false if config file is locked for this static web app; otherwise, - * true. - */ - allowConfigFileUpdates?: boolean; - /** - * Template options for generating a new repository. - */ - templateProperties?: StaticSiteTemplateOptions; - /** - * The content distribution endpoint for the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly contentDistributionEndpoint?: string; - /** - * Identity to use for Key Vault Reference authentication. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly keyVaultReferenceIdentity?: string; - /** - * User provided function apps registered with the static site - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly userProvidedFunctionApps?: StaticSiteUserProvidedFunctionApp[]; - /** - * The provider that submitted the last deployment to the primary environment of the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provider?: string; -} - -/** - * Static Site Reset Properties ARM resource. - */ -export interface StaticSiteResetPropertiesARMResource extends ProxyOnlyResource { - /** - * The token which proves admin privileges to the repository. - */ - repositoryToken?: string; - /** - * Determines whether the repository should be updated with the new properties. - */ - shouldUpdateRepository?: boolean; -} - -/** - * Static Site User ARM resource. - */ -export interface StaticSiteUserARMResource extends ProxyOnlyResource { - /** - * The identity provider for the static site user. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provider?: string; - /** - * The user id for the static site user. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly userId?: string; - /** - * The display name for the static site user. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly displayName?: string; - /** - * The roles for the static site user, in free-form string format - */ - roles?: string; -} - -/** - * Static sites user roles invitation resource. - */ -export interface StaticSiteUserInvitationRequestResource extends ProxyOnlyResource { - /** - * The domain name for the static site custom domain. - */ - domain?: string; - /** - * The identity provider for the static site user. - */ - provider?: string; - /** - * The user id for the static site user. - */ - userDetails?: string; - /** - * The roles for the static site user, in free-form string format - */ - roles?: string; - /** - * The number of hours the sas token stays valid - */ - numHoursToExpiration?: number; -} - -/** - * Static sites user roles invitation link resource. - */ -export interface StaticSiteUserInvitationResponseResource extends ProxyOnlyResource { - /** - * The expiration time of the invitation - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly expiresOn?: Date; - /** - * The url for the invitation link - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly invitationUrl?: string; -} - -/** - * Static Site User Provided Function App ARM resource. - */ -export interface StaticSiteUserProvidedFunctionAppARMResource extends ProxyOnlyResource { - /** - * The resource id of the function app registered with the static site - */ - functionAppResourceId?: string; - /** - * The region of the function app registered with the static site - */ - functionAppRegion?: string; - /** - * The date and time on which the function app was registered with the static site. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly createdOn?: Date; -} - -/** - * Static site zip deployment ARM resource. - */ -export interface StaticSiteZipDeploymentARMResource extends ProxyOnlyResource { - /** - * URL for the zipped app content - */ - appZipUrl?: string; - /** - * URL for the zipped api content - */ - apiZipUrl?: string; - /** - * A title to label the deployment - */ - deploymentTitle?: string; - /** - * The provider submitting this deployment - */ - provider?: string; - /** - * The language of the api content, if it exists - */ - functionLanguage?: string; -} - -/** - * Preview for the Static Site Workflow to be generated - */ -export interface StaticSitesWorkflowPreview extends ProxyOnlyResource { - /** - * The path for the workflow file to be generated - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly path?: string; - /** - * The contents for the workflow file to be generated - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly contents?: string; -} - -/** - * Request entity for previewing the Static Site workflow - */ -export interface StaticSitesWorkflowPreviewRequest extends ProxyOnlyResource { - /** - * URL for the repository of the static site. - */ - repositoryUrl?: string; - /** - * The target branch in the repository. - */ - branch?: string; - /** - * Build properties to configure on the repository. - */ - buildProperties?: StaticSiteBuildProperties; -} - -/** - * String list resource. - */ -export interface StringList extends ProxyOnlyResource { - /** - * List of string resources. - */ - properties?: string[]; -} - -/** - * Virtual IP mapping. - */ -export interface VirtualIPMapping { - /** - * Virtual IP address. - */ - virtualIP?: string; - /** - * Internal HTTP port. - */ - internalHttpPort?: number; - /** - * Internal HTTPS port. - */ - internalHttpsPort?: number; - /** - * Is virtual IP mapping in use. - */ - inUse?: boolean; - /** - * name of the service that virtual IP is assigned to - */ - serviceName?: string; -} - -/** - * Describes main public IP address and any extra virtual IPs. - */ -export interface AddressResponse extends ProxyOnlyResource { - /** - * Main public virtual IP. - */ - serviceIpAddress?: string; - /** - * Virtual Network internal IP address of the App Service Environment if it is in internal - * load-balancing mode. - */ - internalIpAddress?: string; - /** - * IP addresses appearing on outbound connections. - */ - outboundIpAddresses?: string[]; - /** - * Additional virtual IPs. - */ - vipMappings?: VirtualIPMapping[]; -} - -/** - * App Service Environment ARM resource. - */ -export interface AppServiceEnvironmentResource extends Resource { - /** - * Provisioning state of the App Service Environment. Possible values include: 'Succeeded', - * 'Failed', 'Canceled', 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: ProvisioningState; - /** - * Current status of the App Service Environment. Possible values include: 'Preparing', 'Ready', - * 'Scaling', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly status?: HostingEnvironmentStatus; - /** - * Description of the Virtual Network. - */ - virtualNetwork: VirtualNetworkProfile; - /** - * Specifies which endpoints to serve internally in the Virtual Network for the App Service - * Environment. Possible values include: 'None', 'Web', 'Publishing', 'Web, Publishing' - */ - internalLoadBalancingMode?: LoadBalancingMode; - /** - * Front-end VM size, e.g. "Medium", "Large". - */ - multiSize?: string; - /** - * Number of front-end instances. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly multiRoleCount?: number; - /** - * Number of IP SSL addresses reserved for the App Service Environment. - */ - ipsslAddressCount?: number; - /** - * DNS suffix of the App Service Environment. - */ - dnsSuffix?: string; - /** - * Maximum number of VMs in the App Service Environment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly maximumNumberOfMachines?: number; - /** - * Scale factor for front-ends. - */ - frontEndScaleFactor?: number; - /** - * true if the App Service Environment is suspended; otherwise, false. - * The environment can be suspended, e.g. when the management endpoint is no longer available - * (most likely because NSG blocked the incoming traffic). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly suspended?: boolean; - /** - * Custom settings for changing the behavior of the App Service Environment. - */ - clusterSettings?: NameValuePair[]; - /** - * User added ip ranges to whitelist on ASE db - */ - userWhitelistedIpRanges?: string[]; - /** - * Flag that displays whether an ASE has linux workers or not - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly hasLinuxWorkers?: boolean; - /** - * Dedicated Host Count - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly dedicatedHostCount?: number; -} - -/** - * ARM resource for a app service environment. - */ -export interface AppServiceEnvironmentPatchResource extends ProxyOnlyResource { - /** - * Provisioning state of the App Service Environment. Possible values include: 'Succeeded', - * 'Failed', 'Canceled', 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: ProvisioningState; - /** - * Current status of the App Service Environment. Possible values include: 'Preparing', 'Ready', - * 'Scaling', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly status?: HostingEnvironmentStatus; - /** - * Description of the Virtual Network. - */ - virtualNetwork: VirtualNetworkProfile; - /** - * Specifies which endpoints to serve internally in the Virtual Network for the App Service - * Environment. Possible values include: 'None', 'Web', 'Publishing', 'Web, Publishing' - */ - internalLoadBalancingMode?: LoadBalancingMode; - /** - * Front-end VM size, e.g. "Medium", "Large". - */ - multiSize?: string; - /** - * Number of front-end instances. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly multiRoleCount?: number; - /** - * Number of IP SSL addresses reserved for the App Service Environment. - */ - ipsslAddressCount?: number; - /** - * DNS suffix of the App Service Environment. - */ - dnsSuffix?: string; - /** - * Maximum number of VMs in the App Service Environment. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly maximumNumberOfMachines?: number; - /** - * Scale factor for front-ends. - */ - frontEndScaleFactor?: number; - /** - * true if the App Service Environment is suspended; otherwise, false. - * The environment can be suspended, e.g. when the management endpoint is no longer available - * (most likely because NSG blocked the incoming traffic). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly suspended?: boolean; - /** - * Custom settings for changing the behavior of the App Service Environment. - */ - clusterSettings?: NameValuePair[]; - /** - * User added ip ranges to whitelist on ASE db - */ - userWhitelistedIpRanges?: string[]; - /** - * Flag that displays whether an ASE has linux workers or not - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly hasLinuxWorkers?: boolean; - /** - * Dedicated Host Count - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly dedicatedHostCount?: number; -} - -/** - * Full view of networking configuration for an ASE. - */ -export interface AseV3NetworkingConfiguration extends ProxyOnlyResource { - /** - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly windowsOutboundIpAddresses?: string[]; - /** - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly linuxOutboundIpAddresses?: string[]; - /** - * Property to enable and disable new private endpoint connection creation on ASE - */ - allowNewPrivateEndpointConnections?: boolean; -} - -/** - * Current TCP connectivity information from the App Service Environment to a single endpoint. - */ -export interface EndpointDetail { - /** - * An IP Address that Domain Name currently resolves to. - */ - ipAddress?: string; - /** - * The port an endpoint is connected to. - */ - port?: number; - /** - * The time in milliseconds it takes for a TCP connection to be created from the App Service - * Environment to this IpAddress at this Port. - */ - latency?: number; - /** - * Whether it is possible to create a TCP connection from the App Service Environment to this - * IpAddress at this Port. - */ - isAccessible?: boolean; -} - -/** - * A domain name that a service is reached at, including details of the current connection status. - */ -export interface EndpointDependency { - /** - * The domain name of the dependency. - */ - domainName?: string; - /** - * The IP Addresses and Ports used when connecting to DomainName. - */ - endpointDetails?: EndpointDetail[]; -} - -/** - * Diagnostics for an App Service Environment. - */ -export interface HostingEnvironmentDiagnostics { - /** - * Name/identifier of the diagnostics. - */ - name?: string; - /** - * Diagnostics output. - */ - diagnosticsOutput?: string; -} - -/** - * The IP Addresses and Ports that require inbound network access to and within the subnet of the - * App Service Environment. - */ -export interface InboundEnvironmentEndpoint { - /** - * Short text describing the purpose of the network traffic. - */ - description?: string; - /** - * The IP addresses that network traffic will originate from in cidr notation. - */ - endpoints?: string[]; - /** - * The ports that network traffic will arrive to the App Service Environment at. - */ - ports?: string[]; -} - -/** - * Endpoints accessed for a common purpose that the App Service Environment requires outbound - * network access to. - */ -export interface OutboundEnvironmentEndpoint { - /** - * The type of service accessed by the App Service Environment, e.g., Azure Storage, Azure SQL - * Database, and Azure Active Directory. - */ - category?: string; - /** - * The endpoints that the App Service Environment reaches the service at. - */ - endpoints?: EndpointDependency[]; -} - -/** - * Metrics availability and retention. - */ -export interface ResourceMetricAvailability { - /** - * Time grain . - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly timeGrain?: string; - /** - * Retention period for the current time grain. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly retention?: string; -} - -/** - * Metadata for the metrics. - */ -export interface ResourceMetricDefinition extends ProxyOnlyResource { - /** - * Unit of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly unit?: string; - /** - * Primary aggregation type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly primaryAggregationType?: string; - /** - * List of time grains supported for the metric together with retention period. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly metricAvailabilities?: ResourceMetricAvailability[]; - /** - * Resource URI. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly resourceUri?: string; - /** - * Resource metric definition properties. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly properties?: { [propertyName: string]: string }; -} - -/** - * SKU discovery information. - */ -export interface SkuInfo { - /** - * Resource type that this SKU applies to. - */ - resourceType?: string; - /** - * Name and tier of the SKU. - */ - sku?: SkuDescription; - /** - * Min, max, and default scale values of the SKU. - */ - capacity?: SkuCapacity; -} - -/** - * Stamp capacity information. - */ -export interface StampCapacity { - /** - * Name of the stamp. - */ - name?: string; - /** - * Available capacity (# of machines, bytes of storage etc...). - */ - availableCapacity?: number; - /** - * Total capacity (# of machines, bytes of storage etc...). - */ - totalCapacity?: number; - /** - * Name of the unit. - */ - unit?: string; - /** - * Shared/dedicated workers. Possible values include: 'Shared', 'Dedicated', 'Dynamic' - */ - computeMode?: ComputeModeOptions; - /** - * Size of the machines. Possible values include: 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3', - * 'SmallV3', 'MediumV3', 'LargeV3', 'NestedSmall', 'NestedSmallLinux', 'Default' - */ - workerSize?: WorkerSizeOptions; - /** - * Size ID of machines: - * 0 - Small - * 1 - Medium - * 2 - Large - */ - workerSizeId?: number; - /** - * If true, it includes basic apps. - * Basic apps are not used for capacity allocation. - */ - excludeFromCapacityAllocation?: boolean; - /** - * true if capacity is applicable for all apps; otherwise, false. - */ - isApplicableForAllComputeModes?: boolean; - /** - * Shared or Dedicated. - */ - siteMode?: string; - /** - * Is this a linux stamp capacity - */ - isLinux?: boolean; -} - -/** - * Usage of the quota resource. - */ -export interface Usage extends ProxyOnlyResource { - /** - * Friendly name shown in the UI. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly displayName?: string; - /** - * Name of the quota resource. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly resourceName?: string; - /** - * Units of measurement for the quota resource. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly unit?: string; - /** - * The current value of the resource counter. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly currentValue?: number; - /** - * The resource limit. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly limit?: number; - /** - * Next reset time for the resource counter. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextResetTime?: Date; - /** - * Compute mode used for this usage. Possible values include: 'Shared', 'Dedicated', 'Dynamic' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly computeMode?: ComputeModeOptions; - /** - * Site mode used for this usage. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly siteMode?: string; -} - -/** - * Worker pool of an App Service Environment ARM resource. - */ -export interface WorkerPoolResource extends ProxyOnlyResource { - /** - * Worker size ID for referencing this worker pool. - */ - workerSizeId?: number; - /** - * Shared or dedicated app hosting. Possible values include: 'Shared', 'Dedicated', 'Dynamic' - */ - computeMode?: ComputeModeOptions; - /** - * VM size of the worker pool instances. - */ - workerSize?: string; - /** - * Number of instances in the worker pool. - */ - workerCount?: number; - /** - * Names of all instances in the worker pool (read only). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly instanceNames?: string[]; - sku?: SkuDescription; -} - -/** - * ARM resource for a app service plan. - */ -export interface AppServicePlanPatchResource extends ProxyOnlyResource { - /** - * Target worker tier assigned to the App Service plan. - */ - workerTierName?: string; - /** - * App Service plan status. Possible values include: 'Ready', 'Pending', 'Creating' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly status?: StatusOptions; - /** - * App Service plan subscription. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly subscription?: string; - /** - * Specification for the App Service Environment to use for the App Service plan. - */ - hostingEnvironmentProfile?: HostingEnvironmentProfile; - /** - * Maximum number of instances that can be assigned to this App Service plan. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly maximumNumberOfWorkers?: number; - /** - * Geographical location for the App Service plan. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly geoRegion?: string; - /** - * If true, apps assigned to this App Service plan can be scaled independently. - * If false, apps assigned to this App Service plan will scale to all instances of - * the plan. Default value: false. - */ - perSiteScaling?: boolean; - /** - * Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan - */ - maximumElasticWorkerCount?: number; - /** - * Number of apps assigned to this App Service plan. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly numberOfSites?: number; - /** - * If true, this App Service Plan owns spot instances. - */ - isSpot?: boolean; - /** - * The time when the server farm expires. Valid only if it is a spot server farm. - */ - spotExpirationTime?: Date; - /** - * The time when the server farm free offer expires. - */ - freeOfferExpirationTime?: Date; - /** - * Resource group of the App Service plan. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly resourceGroup?: string; - /** - * If Linux app service plan true, false otherwise. Default value: - * false. - */ - reserved?: boolean; - /** - * Obsolete: If Hyper-V container app service plan true, false - * otherwise. Default value: false. - */ - isXenon?: boolean; - /** - * If Hyper-V container app service plan true, false otherwise. Default - * value: false. - */ - hyperV?: boolean; - /** - * Scaling worker count. - */ - targetWorkerCount?: number; - /** - * Scaling worker size ID. - */ - targetWorkerSizeId?: number; - /** - * Provisioning state of the App Service Plan. Possible values include: 'Succeeded', 'Failed', - * 'Canceled', 'InProgress', 'Deleting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: ProvisioningState; - /** - * Specification for the Kubernetes Environment to use for the App Service plan. - */ - kubeEnvironmentProfile?: KubeEnvironmentProfile; -} - -/** - * Hybrid Connection key contract. This has the send key name and value for a Hybrid Connection. - */ -export interface HybridConnectionKey extends ProxyOnlyResource { - /** - * The name of the send key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly sendKeyName?: string; - /** - * The value of the send key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly sendKeyValue?: string; -} - -/** - * Hybrid Connection limits contract. This is used to return the plan limits of Hybrid Connections. - */ -export interface HybridConnectionLimits extends ProxyOnlyResource { - /** - * The current number of Hybrid Connections. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly current?: number; - /** - * The maximum number of Hybrid Connections allowed. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly maximum?: number; -} - -/** - * Used for getting ResourceHealthCheck settings. - */ -export interface ResourceHealthMetadata extends ProxyOnlyResource { - /** - * The category that the resource matches in the RHC Policy File - */ - category?: string; - /** - * Is there a health signal for the resource - */ - signalAvailability?: boolean; -} - -/** - * Optional Parameters. - */ -export interface AppServiceCertificateOrdersResendRequestEmailsOptionalParams - extends msRest.RequestOptionsBase { - /** - * Name of the object. - */ - name?: string; -} - -/** - * Optional Parameters. - */ -export interface CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams - extends msRest.RequestOptionsBase { - /** - * The start time for detector response. - */ - startTime?: Date; - /** - * The end time for the detector response. - */ - endTime?: Date; - /** - * The time grain for the detector response. - */ - timeGrain?: string; -} - -/** - * Optional Parameters. - */ -export interface DomainsCheckAvailabilityOptionalParams extends msRest.RequestOptionsBase { - /** - * Name of the object. - */ - name?: string; -} - -/** - * Optional Parameters. - */ -export interface DomainsDeleteMethodOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to delete the domain immediately. The default is false - * which deletes the domain after 24 hours. - */ - forceHardDeleteDomain?: boolean; -} - -/** - * Optional Parameters. - */ -export interface CertificatesListOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only information specified in the filter (using OData syntax). For example: - * $filter=KeyVaultId eq 'KeyVaultId' - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface CertificatesListNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only information specified in the filter (using OData syntax). For example: - * $filter=KeyVaultId eq 'KeyVaultId' - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams - extends msRest.RequestOptionsBase { - /** - * Start Time - */ - startTime?: Date; - /** - * End Time - */ - endTime?: Date; - /** - * Time Grain - */ - timeGrain?: string; -} - -/** - * Optional Parameters. - */ -export interface DiagnosticsGetSiteDetectorResponseOptionalParams - extends msRest.RequestOptionsBase { - /** - * Start Time - */ - startTime?: Date; - /** - * End Time - */ - endTime?: Date; - /** - * Time Grain - */ - timeGrain?: string; -} - -/** - * Optional Parameters. - */ -export interface DiagnosticsExecuteSiteAnalysisOptionalParams extends msRest.RequestOptionsBase { - /** - * Start Time - */ - startTime?: Date; - /** - * End Time - */ - endTime?: Date; - /** - * Time Grain - */ - timeGrain?: string; -} - -/** - * Optional Parameters. - */ -export interface DiagnosticsExecuteSiteDetectorOptionalParams extends msRest.RequestOptionsBase { - /** - * Start Time - */ - startTime?: Date; - /** - * End Time - */ - endTime?: Date; - /** - * Time Grain - */ - timeGrain?: string; -} - -/** - * Optional Parameters. - */ -export interface DiagnosticsGetSiteDetectorResponseSlotOptionalParams - extends msRest.RequestOptionsBase { - /** - * Start Time - */ - startTime?: Date; - /** - * End Time - */ - endTime?: Date; - /** - * Time Grain - */ - timeGrain?: string; -} - -/** - * Optional Parameters. - */ -export interface DiagnosticsExecuteSiteAnalysisSlotOptionalParams - extends msRest.RequestOptionsBase { - /** - * Start Time - */ - startTime?: Date; - /** - * End Time - */ - endTime?: Date; - /** - * Time Grain - */ - timeGrain?: string; -} - -/** - * Optional Parameters. - */ -export interface DiagnosticsExecuteSiteDetectorSlotOptionalParams - extends msRest.RequestOptionsBase { - /** - * Start Time - */ - startTime?: Date; - /** - * End Time - */ - endTime?: Date; - /** - * Time Grain - */ - timeGrain?: string; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetAvailableStacksOptionalParams extends msRest.RequestOptionsBase { - /** - * Possible values include: 'Windows', 'Linux', 'WindowsFunctions', 'LinuxFunctions', 'All' - */ - osTypeSelected?: OsTypeSelected; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetFunctionAppStacksOptionalParams extends msRest.RequestOptionsBase { - /** - * Stack OS Type. Possible values include: 'Windows', 'Linux', 'All' - */ - stackOsType?: StackOsType; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetFunctionAppStacksForLocationOptionalParams - extends msRest.RequestOptionsBase { - /** - * Stack OS Type. Possible values include: 'Windows', 'Linux', 'All' - */ - stackOsType?: StackOsType1; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetWebAppStacksForLocationOptionalParams - extends msRest.RequestOptionsBase { - /** - * Stack OS Type. Possible values include: 'Windows', 'Linux', 'All' - */ - stackOsType?: StackOsType2; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetWebAppStacksOptionalParams extends msRest.RequestOptionsBase { - /** - * Stack OS Type. Possible values include: 'Windows', 'Linux', 'All' - */ - stackOsType?: StackOsType3; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetAvailableStacksOnPremOptionalParams extends msRest.RequestOptionsBase { - /** - * Possible values include: 'Windows', 'Linux', 'WindowsFunctions', 'LinuxFunctions', 'All' - */ - osTypeSelected?: OsTypeSelected1; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetAvailableStacksNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Possible values include: 'Windows', 'Linux', 'WindowsFunctions', 'LinuxFunctions', 'All' - */ - osTypeSelected?: OsTypeSelected; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetFunctionAppStacksNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Stack OS Type. Possible values include: 'Windows', 'Linux', 'All' - */ - stackOsType?: StackOsType; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetFunctionAppStacksForLocationNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Stack OS Type. Possible values include: 'Windows', 'Linux', 'All' - */ - stackOsType?: StackOsType1; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetWebAppStacksForLocationNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Stack OS Type. Possible values include: 'Windows', 'Linux', 'All' - */ - stackOsType?: StackOsType2; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetWebAppStacksNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Stack OS Type. Possible values include: 'Windows', 'Linux', 'All' - */ - stackOsType?: StackOsType3; -} - -/** - * Optional Parameters. - */ -export interface ProviderGetAvailableStacksOnPremNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Possible values include: 'Windows', 'Linux', 'WindowsFunctions', 'LinuxFunctions', 'All' - */ - osTypeSelected?: OsTypeSelected1; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to return only the most critical recommendations. The default is - * false, which returns all recommendations. - */ - featured?: boolean; - /** - * Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq - * 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and - * timeGrain eq duration'[PT1H|PT1M|P1D] - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListHistoryForHostingEnvironmentOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify false to return all recommendations. The default is true, - * which returns only expired recommendations. - */ - expiredOnly?: boolean; - /** - * Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq - * 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and - * timeGrain eq duration'[PT1H|PT1M|P1D] - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to return only the most critical recommendations. The default is - * false, which returns all recommendations. - */ - featured?: boolean; - /** - * Return only channels specified in the filter. Filter is specified by using OData syntax. - * Example: $filter=channel eq 'Api' or channel eq 'Notification' - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to update the last-seen timestamp of the recommendation object. - */ - updateSeen?: boolean; - /** - * The GUID of the recommendation object if you query an expired one. You don't need to specify - * it to query an active entry. - */ - recommendationId?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListHistoryForWebAppOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify false to return all recommendations. The default is true, - * which returns only expired recommendations. - */ - expiredOnly?: boolean; - /** - * Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq - * 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and - * timeGrain eq duration'[PT1H|PT1M|P1D] - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListRecommendedRulesForWebAppOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to return only the most critical recommendations. The default is - * false, which returns all recommendations. - */ - featured?: boolean; - /** - * Return only channels specified in the filter. Filter is specified by using OData syntax. - * Example: $filter=channel eq 'Api' or channel eq 'Notification' - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsGetRuleDetailsByWebAppOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to update the last-seen timestamp of the recommendation object. - */ - updateSeen?: boolean; - /** - * The GUID of the recommendation object if you query an expired one. You don't need to specify - * it to query an active entry. - */ - recommendationId?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to return only the most critical recommendations. The default is - * false, which returns all recommendations. - */ - featured?: boolean; - /** - * Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq - * 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and - * timeGrain eq duration'[PT1H|PT1M|P1D] - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListHistoryForHostingEnvironmentNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify false to return all recommendations. The default is true, - * which returns only expired recommendations. - */ - expiredOnly?: boolean; - /** - * Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq - * 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and - * timeGrain eq duration'[PT1H|PT1M|P1D] - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListRecommendedRulesForHostingEnvironmentNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to return only the most critical recommendations. The default is - * false, which returns all recommendations. - */ - featured?: boolean; - /** - * Return only channels specified in the filter. Filter is specified by using OData syntax. - * Example: $filter=channel eq 'Api' or channel eq 'Notification' - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListHistoryForWebAppNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify false to return all recommendations. The default is true, - * which returns only expired recommendations. - */ - expiredOnly?: boolean; - /** - * Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq - * 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and - * timeGrain eq duration'[PT1H|PT1M|P1D] - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RecommendationsListRecommendedRulesForWebAppNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to return only the most critical recommendations. The default is - * false, which returns all recommendations. - */ - featured?: boolean; - /** - * Return only channels specified in the filter. Filter is specified by using OData syntax. - * Example: $filter=channel eq 'Api' or channel eq 'Notification' - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface WebSiteManagementClientListBillingMetersOptionalParams - extends msRest.RequestOptionsBase { - /** - * Azure Location of billable resource - */ - billingLocation?: string; - /** - * App Service OS type meters used for - */ - osType?: string; -} - -/** - * Optional Parameters. - */ -export interface WebSiteManagementClientCheckNameAvailabilityOptionalParams - extends msRest.RequestOptionsBase { - /** - * Is fully qualified domain name. - */ - isFqdn?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebSiteManagementClientListGeoRegionsOptionalParams - extends msRest.RequestOptionsBase { - /** - * Name of SKU used to filter the regions. Possible values include: 'Free', 'Shared', 'Basic', - * 'Standard', 'Premium', 'Dynamic', 'Isolated', 'IsolatedV2', 'PremiumV2', 'PremiumV3', - * 'PremiumContainer', 'ElasticPremium', 'ElasticIsolated' - */ - sku?: SkuName; - /** - * Specify true if you want to filter to only regions that support Linux workers. - */ - linuxWorkersEnabled?: boolean; - /** - * Specify true if you want to filter to only regions that support Xenon workers. - */ - xenonWorkersEnabled?: boolean; - /** - * Specify true if you want to filter to only regions that support Linux Consumption - * Workers. - */ - linuxDynamicWorkersEnabled?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams - extends msRest.RequestOptionsBase { - /** - * Name of the object. - */ - name?: string; -} - -/** - * Optional Parameters. - */ -export interface WebSiteManagementClientListBillingMetersNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Azure Location of billable resource - */ - billingLocation?: string; - /** - * App Service OS type meters used for - */ - osType?: string; -} - -/** - * Optional Parameters. - */ -export interface WebSiteManagementClientListGeoRegionsNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Name of SKU used to filter the regions. Possible values include: 'Free', 'Shared', 'Basic', - * 'Standard', 'Premium', 'Dynamic', 'Isolated', 'IsolatedV2', 'PremiumV2', 'PremiumV3', - * 'PremiumContainer', 'ElasticPremium', 'ElasticIsolated' - */ - sku?: SkuName; - /** - * Specify true if you want to filter to only regions that support Linux workers. - */ - linuxWorkersEnabled?: boolean; - /** - * Specify true if you want to filter to only regions that support Xenon workers. - */ - xenonWorkersEnabled?: boolean; - /** - * Specify true if you want to filter to only regions that support Linux Consumption - * Workers. - */ - linuxDynamicWorkersEnabled?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListByResourceGroupOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to include deployment slots in results. The default is false, - * which only gives you the production slot of all apps. - */ - includeSlots?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebAppsDeleteMethodOptionalParams extends msRest.RequestOptionsBase { - /** - * If true, web app metrics are also deleted. - */ - deleteMetrics?: boolean; - /** - * Specify false if you want to keep empty App Service plan. By default, empty App Service plan - * is deleted. - */ - deleteEmptyServerFarm?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebAppsAnalyzeCustomHostnameOptionalParams extends msRest.RequestOptionsBase { - /** - * Custom hostname. - */ - hostName?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsStartWebSiteNetworkTraceOptionalParams extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsStartWebSiteNetworkTraceOperationOptionalParams - extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListPerfMonCountersOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: - * $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain - * eq duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsRestartOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to apply the configuration settings and restarts the app only if necessary. By - * default, the API always restarts and reprovisions the app. - */ - softRestart?: boolean; - /** - * Specify true to block until the app is restarted. By default, it is set to false, and the API - * responds immediately (asynchronous). - */ - synchronous?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebAppsDeleteSlotOptionalParams extends msRest.RequestOptionsBase { - /** - * If true, web app metrics are also deleted. - */ - deleteMetrics?: boolean; - /** - * Specify false if you want to keep empty App Service plan. By default, empty App Service plan - * is deleted. - */ - deleteEmptyServerFarm?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebAppsAnalyzeCustomHostnameSlotOptionalParams extends msRest.RequestOptionsBase { - /** - * Custom hostname. - */ - hostName?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsStartWebSiteNetworkTraceSlotOptionalParams - extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams - extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListPerfMonCountersSlotOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: - * $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain - * eq duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsRestartSlotOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to apply the configuration settings and restarts the app only if necessary. By - * default, the API always restarts and reprovisions the app. - */ - softRestart?: boolean; - /** - * Specify true to block until the app is restarted. By default, it is set to false, and the API - * responds immediately (asynchronous). - */ - synchronous?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebAppsDeleteSourceControlSlotOptionalParams extends msRest.RequestOptionsBase { - additionalFlags?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsStartNetworkTraceSlotOptionalParams extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListUsagesSlotOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only information specified in the filter (using OData syntax). For example: - * $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq - * 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq - * duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsDeleteSourceControlOptionalParams extends msRest.RequestOptionsBase { - additionalFlags?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsStartNetworkTraceOptionalParams extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListUsagesOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only information specified in the filter (using OData syntax). For example: - * $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq - * 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq - * duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsBeginStartWebSiteNetworkTraceOperationOptionalParams - extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsBeginStartWebSiteNetworkTraceOperationSlotOptionalParams - extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsBeginStartNetworkTraceSlotOptionalParams extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsBeginStartNetworkTraceOptionalParams extends msRest.RequestOptionsBase { - /** - * The duration to keep capturing in seconds. - */ - durationInSeconds?: number; - /** - * The maximum frame length in bytes (Optional). - */ - maxFrameLength?: number; - /** - * The Blob URL to store capture file. - */ - sasUrl?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListByResourceGroupNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to include deployment slots in results. The default is false, - * which only gives you the production slot of all apps. - */ - includeSlots?: boolean; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListPerfMonCountersNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: - * $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain - * eq duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListPerfMonCountersSlotNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: - * $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain - * eq duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListUsagesSlotNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only information specified in the filter (using OData syntax). For example: - * $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq - * 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq - * duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface WebAppsListUsagesNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only information specified in the filter (using OData syntax). For example: - * $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq - * 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq - * duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to force the update of the auth configuration on the function app - * even if an AzureStaticWebApps provider is already configured on the function app. The default - * is false. - */ - isForced?: boolean; -} - -/** - * Optional Parameters. - */ -export interface StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to force the update of the auth configuration on the function app - * even if an AzureStaticWebApps provider is already configured on the function app. The default - * is false. - */ - isForced?: boolean; -} - -/** - * Optional Parameters. - */ -export interface StaticSitesBeginRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to force the update of the auth configuration on the function app - * even if an AzureStaticWebApps provider is already configured on the function app. The default - * is false. - */ - isForced?: boolean; -} - -/** - * Optional Parameters. - */ -export interface StaticSitesBeginRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to force the update of the auth configuration on the function app - * even if an AzureStaticWebApps provider is already configured on the function app. The default - * is false. - */ - isForced?: boolean; -} - -/** - * Optional Parameters. - */ -export interface AppServiceEnvironmentsDeleteMethodOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to force the deletion even if the App Service Environment contains - * resources. The default is false. - */ - forceDelete?: boolean; -} - -/** - * Optional Parameters. - */ -export interface AppServiceEnvironmentsListWebAppsOptionalParams extends msRest.RequestOptionsBase { - /** - * Comma separated list of app properties to include. - */ - propertiesToInclude?: string; -} - -/** - * Optional Parameters. - */ -export interface AppServiceEnvironmentsListUsagesOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: - * $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq - * 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq - * duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface AppServiceEnvironmentsBeginDeleteMethodOptionalParams - extends msRest.RequestOptionsBase { - /** - * Specify true to force the deletion even if the App Service Environment contains - * resources. The default is false. - */ - forceDelete?: boolean; -} - -/** - * Optional Parameters. - */ -export interface AppServiceEnvironmentsListWebAppsNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Comma separated list of app properties to include. - */ - propertiesToInclude?: string; -} - -/** - * Optional Parameters. - */ -export interface AppServiceEnvironmentsListUsagesNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: - * $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq - * 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq - * duration'[Hour|Minute|Day]'. - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface AppServicePlansListOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to return all App Service plan properties. The default is - * false, which returns a subset of the properties. - * Retrieval of all properties may increase the API latency. - */ - detailed?: boolean; -} - -/** - * Optional Parameters. - */ -export interface AppServicePlansRestartWebAppsOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to perform a soft restart, applies the configuration settings and - * restarts the apps if necessary. The default is false, which always restarts and - * reprovisions the apps - */ - softRestart?: boolean; -} - -/** - * Optional Parameters. - */ -export interface AppServicePlansListWebAppsOptionalParams extends msRest.RequestOptionsBase { - /** - * Skip to a web app in the list of webapps associated with app service plan. If specified, the - * resulting list will contain web apps starting from (including) the skipToken. Otherwise, the - * resulting list contains web apps from the start of the list - */ - skipToken?: string; - /** - * Supported filter: $filter=state eq running. Returns only web apps that are currently running - */ - filter?: string; - /** - * List page size. If specified, results are paged. - */ - top?: string; -} - -/** - * Optional Parameters. - */ -export interface AppServicePlansListUsagesOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: - * $filter=(name.value eq 'Metric1' or name.value eq 'Metric2'). - */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface AppServicePlansListNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Specify true to return all App Service plan properties. The default is - * false, which returns a subset of the properties. - * Retrieval of all properties may increase the API latency. - */ - detailed?: boolean; -} - -/** - * Optional Parameters. - */ -export interface AppServicePlansListWebAppsNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Skip to a web app in the list of webapps associated with app service plan. If specified, the - * resulting list will contain web apps starting from (including) the skipToken. Otherwise, the - * resulting list contains web apps from the start of the list - */ - skipToken?: string; - /** - * Supported filter: $filter=state eq running. Returns only web apps that are currently running - */ - filter?: string; - /** - * List page size. If specified, results are paged. - */ - top?: string; -} - -/** - * Optional Parameters. - */ -export interface AppServicePlansListUsagesNextOptionalParams extends msRest.RequestOptionsBase { - /** - * Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: - * $filter=(name.value eq 'Metric1' or name.value eq 'Metric2'). - */ - filter?: string; -} - -/** - * An interface representing WebSiteManagementClientOptions. - */ -export interface WebSiteManagementClientOptions extends AzureServiceClientOptions { - baseUri?: string; -} - -/** - * @interface - * Collection of certificate orders. - * @extends Array - */ -export interface AppServiceCertificateOrderCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of certificate order certificates. - * @extends Array - */ -export interface AppServiceCertificateCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of detector responses - * @extends Array - */ -export interface DetectorResponseCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Azure resource manager operation metadata. - * @extends Array - */ -export interface CsmOperationCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of domains. - * @extends Array - */ -export interface DomainCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of domain name identifiers. - * @extends Array - */ -export interface NameIdentifierCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of domain ownership identifiers. - * @extends Array - */ -export interface DomainOwnershipIdentifierCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Top-level domains. - * @extends Array - */ -export interface TopLevelDomainCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of top-level domain legal agreements. - * @extends Array - */ -export interface TldLegalAgreementCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of certificates. - * @extends Array - */ -export interface CertificateCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of deleted apps. - * @extends Array - */ -export interface DeletedWebAppCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Diagnostic Categories - * @extends Array - */ -export interface DiagnosticCategoryCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Diagnostic Analyses - * @extends Array - */ -export interface DiagnosticAnalysisCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Diagnostic Detectors - * @extends Array - */ -export interface DiagnosticDetectorCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Application Stacks - * @extends Array - */ -export interface ApplicationStackCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Function app Stacks - * @extends Array - */ -export interface FunctionAppStackCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Web app Stacks - * @extends Array - */ -export interface WebAppStackCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of recommendations. - * @extends Array - */ -export interface RecommendationCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of source controls. - * @extends Array - */ -export interface SourceControlCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Billing Meters - * @extends Array - */ -export interface BillingMeterCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of geographical regions. - * @extends Array - */ -export interface GeoRegionCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of identifiers. - * @extends Array - */ -export interface IdentifierCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of premier add-on offers. - * @extends Array - */ -export interface PremierAddOnOfferCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of App Service apps. - * @extends Array - */ -export interface WebAppCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of backup items. - * @extends Array - */ -export interface BackupItemCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of site configurations. - * @extends Array - */ -export interface SiteConfigResourceCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * An interface representing the ApiKVReferenceCollection. - * @extends Array - */ -export interface ApiKVReferenceCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of metadata for the app configuration snapshots that can be restored. - * @extends Array - */ -export interface SiteConfigurationSnapshotInfoCollection - extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu continuous web job information elements. - * @extends Array - */ -export interface ContinuousWebJobCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of app deployments. - * @extends Array - */ -export interface DeploymentCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu function information elements. - * @extends Array - */ -export interface FunctionEnvelopeCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of hostname bindings. - * @extends Array - */ -export interface HostNameBindingCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of app instances. - * @extends Array - */ -export interface WebAppInstanceStatusCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu process information elements. - * @extends Array - */ -export interface ProcessInfoCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu thread information elements. - * @extends Array - */ -export interface ProcessModuleInfoCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu thread information elements. - * @extends Array - */ -export interface ProcessThreadInfoCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of performance monitor counters. - * @extends Array - */ -export interface PerfMonCounterCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * An interface representing the PrivateEndpointConnectionCollection. - * @extends Array - */ -export interface PrivateEndpointConnectionCollection - extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of public certificates - * @extends Array - */ -export interface PublicCertificateCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu site extension information elements. - * @extends Array - */ -export interface SiteExtensionInfoCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of slot differences. - * @extends Array - */ -export interface SlotDifferenceCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of snapshots which can be used to revert an app to a previous time. - * @extends Array - */ -export interface SnapshotCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu continuous web job information elements. - * @extends Array - */ -export interface TriggeredWebJobCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu continuous web job information elements. - * @extends Array - */ -export interface TriggeredJobHistoryCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of CSM usage quotas. - * @extends Array - */ -export interface CsmUsageQuotaCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Kudu web job information elements. - * @extends Array - */ -export interface WebJobCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of static sites. - * @extends Array - */ -export interface StaticSiteCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of static site custom users. - * @extends Array - */ -export interface StaticSiteUserCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of static site builds. - * @extends Array - */ -export interface StaticSiteBuildCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of static site functions. - * @extends Array - */ -export interface StaticSiteFunctionOverviewCollection - extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of static site user provided function apps. - * @extends Array - */ -export interface StaticSiteUserProvidedFunctionAppsCollection - extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of static site custom domains. - * @extends Array - */ -export interface StaticSiteCustomDomainOverviewCollection - extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of App Service Environments. - * @extends Array - */ -export interface AppServiceEnvironmentCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of stamp capacities. - * @extends Array - */ -export interface StampCapacityCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Inbound Environment Endpoints - * @extends Array - */ -export interface InboundEnvironmentEndpointCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of worker pools. - * @extends Array - */ -export interface WorkerPoolCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of metric definitions. - * @extends Array - */ -export interface ResourceMetricDefinitionCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of SKU information. - * @extends Array - */ -export interface SkuInfoCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of usages. - * @extends Array - */ -export interface UsageCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of Outbound Environment Endpoints - * @extends Array - */ -export interface OutboundEnvironmentEndpointCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of App Service plans. - * @extends Array - */ -export interface AppServicePlanCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of resources. - * @extends Array - */ -export interface ResourceCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of hostname bindings. - * @extends Array - */ -export interface HybridConnectionCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} - -/** - * @interface - * Collection of resource health metadata. - * @extends Array - */ -export interface ResourceHealthMetadataCollection extends Array { - /** - * Link to next page of resources. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} + * Defines values for Enum14. \ + * {@link KnownEnum14} can be used interchangeably with Enum14, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Windows** \ + * **Linux** \ + * **All** + */ +export type Enum14 = string; + +/** Known values of {@link Enum15} that the service accepts. */ +export enum KnownEnum15 { + Windows = "Windows", + Linux = "Linux", + WindowsFunctions = "WindowsFunctions", + LinuxFunctions = "LinuxFunctions", + All = "All" +} + +/** + * Defines values for Enum15. \ + * {@link KnownEnum15} can be used interchangeably with Enum15, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Windows** \ + * **Linux** \ + * **WindowsFunctions** \ + * **LinuxFunctions** \ + * **All** + */ +export type Enum15 = string; + +/** Known values of {@link ResourceScopeType} that the service accepts. */ +export enum KnownResourceScopeType { + ServerFarm = "ServerFarm", + Subscription = "Subscription", + WebSite = "WebSite" +} + +/** + * Defines values for ResourceScopeType. \ + * {@link KnownResourceScopeType} can be used interchangeably with ResourceScopeType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ServerFarm** \ + * **Subscription** \ + * **WebSite** + */ +export type ResourceScopeType = string; + +/** Known values of {@link CheckNameResourceTypes} that the service accepts. */ +export enum KnownCheckNameResourceTypes { + Site = "Site", + Slot = "Slot", + HostingEnvironment = "HostingEnvironment", + PublishingUser = "PublishingUser", + MicrosoftWebSites = "Microsoft.Web/sites", + MicrosoftWebSitesSlots = "Microsoft.Web/sites/slots", + MicrosoftWebHostingEnvironments = "Microsoft.Web/hostingEnvironments", + MicrosoftWebPublishingUsers = "Microsoft.Web/publishingUsers" +} + +/** + * Defines values for CheckNameResourceTypes. \ + * {@link KnownCheckNameResourceTypes} can be used interchangeably with CheckNameResourceTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Site** \ + * **Slot** \ + * **HostingEnvironment** \ + * **PublishingUser** \ + * **Microsoft.Web\/sites** \ + * **Microsoft.Web\/sites\/slots** \ + * **Microsoft.Web\/hostingEnvironments** \ + * **Microsoft.Web\/publishingUsers** + */ +export type CheckNameResourceTypes = string; + +/** Known values of {@link InAvailabilityReasonType} that the service accepts. */ +export enum KnownInAvailabilityReasonType { + Invalid = "Invalid", + AlreadyExists = "AlreadyExists" +} + +/** + * Defines values for InAvailabilityReasonType. \ + * {@link KnownInAvailabilityReasonType} can be used interchangeably with InAvailabilityReasonType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Invalid** \ + * **AlreadyExists** + */ +export type InAvailabilityReasonType = string; + +/** Known values of {@link SkuName} that the service accepts. */ +export enum KnownSkuName { + Free = "Free", + Shared = "Shared", + Basic = "Basic", + Standard = "Standard", + Premium = "Premium", + Dynamic = "Dynamic", + Isolated = "Isolated", + IsolatedV2 = "IsolatedV2", + PremiumV2 = "PremiumV2", + PremiumV3 = "PremiumV3", + PremiumContainer = "PremiumContainer", + ElasticPremium = "ElasticPremium", + ElasticIsolated = "ElasticIsolated" +} + +/** + * Defines values for SkuName. \ + * {@link KnownSkuName} can be used interchangeably with SkuName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Free** \ + * **Shared** \ + * **Basic** \ + * **Standard** \ + * **Premium** \ + * **Dynamic** \ + * **Isolated** \ + * **IsolatedV2** \ + * **PremiumV2** \ + * **PremiumV3** \ + * **PremiumContainer** \ + * **ElasticPremium** \ + * **ElasticIsolated** + */ +export type SkuName = string; + +/** Known values of {@link ValidateResourceTypes} that the service accepts. */ +export enum KnownValidateResourceTypes { + ServerFarm = "ServerFarm", + Site = "Site", + MicrosoftWebHostingEnvironments = "Microsoft.Web/hostingEnvironments" +} + +/** + * Defines values for ValidateResourceTypes. \ + * {@link KnownValidateResourceTypes} can be used interchangeably with ValidateResourceTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ServerFarm** \ + * **Site** \ + * **Microsoft.Web\/hostingEnvironments** + */ +export type ValidateResourceTypes = string; + +/** Known values of {@link BuildStatus} that the service accepts. */ +export enum KnownBuildStatus { + WaitingForDeployment = "WaitingForDeployment", + Uploading = "Uploading", + Deploying = "Deploying", + Ready = "Ready", + Failed = "Failed", + Deleting = "Deleting", + Detached = "Detached" +} + +/** + * Defines values for BuildStatus. \ + * {@link KnownBuildStatus} can be used interchangeably with BuildStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **WaitingForDeployment** \ + * **Uploading** \ + * **Deploying** \ + * **Ready** \ + * **Failed** \ + * **Deleting** \ + * **Detached** + */ +export type BuildStatus = string; + +/** Known values of {@link TriggerTypes} that the service accepts. */ +export enum KnownTriggerTypes { + HttpTrigger = "HttpTrigger", + Unknown = "Unknown" +} + +/** + * Defines values for TriggerTypes. \ + * {@link KnownTriggerTypes} can be used interchangeably with TriggerTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **HttpTrigger** \ + * **Unknown** + */ +export type TriggerTypes = string; + +/** Known values of {@link CustomDomainStatus} that the service accepts. */ +export enum KnownCustomDomainStatus { + RetrievingValidationToken = "RetrievingValidationToken", + Validating = "Validating", + Adding = "Adding", + Ready = "Ready", + Failed = "Failed", + Deleting = "Deleting" +} + +/** + * Defines values for CustomDomainStatus. \ + * {@link KnownCustomDomainStatus} can be used interchangeably with CustomDomainStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RetrievingValidationToken** \ + * **Validating** \ + * **Adding** \ + * **Ready** \ + * **Failed** \ + * **Deleting** + */ +export type CustomDomainStatus = string; + +/** Known values of {@link DatabaseType} that the service accepts. */ +export enum KnownDatabaseType { + SqlAzure = "SqlAzure", + MySql = "MySql", + LocalMySql = "LocalMySql", + PostgreSql = "PostgreSql" +} + +/** + * Defines values for DatabaseType. \ + * {@link KnownDatabaseType} can be used interchangeably with DatabaseType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **SqlAzure** \ + * **MySql** \ + * **LocalMySql** \ + * **PostgreSql** + */ +export type DatabaseType = string; -/** - * Defines values for KeyVaultSecretStatus. - * Possible values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - * 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - * 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - * 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', 'Unknown' - * @readonly - * @enum {string} - */ +/** Known values of {@link PublishingProfileFormat} that the service accepts. */ +export enum KnownPublishingProfileFormat { + FileZilla3 = "FileZilla3", + WebDeploy = "WebDeploy", + Ftp = "Ftp" +} + +/** + * Defines values for PublishingProfileFormat. \ + * {@link KnownPublishingProfileFormat} can be used interchangeably with PublishingProfileFormat, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **FileZilla3** \ + * **WebDeploy** \ + * **Ftp** + */ +export type PublishingProfileFormat = string; +/** Defines values for KeyVaultSecretStatus. */ export type KeyVaultSecretStatus = | "Initialized" | "WaitingOnCertificateOrder" @@ -11990,32 +7988,18 @@ export type KeyVaultSecretStatus = | "UnknownError" | "ExternalPrivateKey" | "Unknown"; - -/** - * Defines values for CertificateProductType. - * Possible values include: 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl' - * @readonly - * @enum {string} - */ +/** Defines values for CertificateProductType. */ export type CertificateProductType = | "StandardDomainValidatedSsl" | "StandardDomainValidatedWildCardSsl"; - -/** - * Defines values for ProvisioningState. - * Possible values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - * @readonly - * @enum {string} - */ -export type ProvisioningState = "Succeeded" | "Failed" | "Canceled" | "InProgress" | "Deleting"; - -/** - * Defines values for CertificateOrderStatus. - * Possible values include: 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', - * 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' - * @readonly - * @enum {string} - */ +/** Defines values for ProvisioningState. */ +export type ProvisioningState = + | "Succeeded" + | "Failed" + | "Canceled" + | "InProgress" + | "Deleting"; +/** Defines values for CertificateOrderStatus. */ export type CertificateOrderStatus = | "Pendingissuance" | "Issued" @@ -12027,285 +8011,61 @@ export type CertificateOrderStatus = | "Unused" | "Expired" | "NotSubmitted"; - -/** - * Defines values for CertificateOrderActionType. - * Possible values include: 'CertificateIssued', 'CertificateOrderCanceled', - * 'CertificateOrderCreated', 'CertificateRevoked', 'DomainValidationComplete', 'FraudDetected', - * 'OrgNameChange', 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', - * 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' - * @readonly - * @enum {string} - */ +/** Defines values for CertificateOrderActionType. */ export type CertificateOrderActionType = | "CertificateIssued" | "CertificateOrderCanceled" | "CertificateOrderCreated" | "CertificateRevoked" - | "DomainValidationComplete" - | "FraudDetected" - | "OrgNameChange" - | "OrgValidationComplete" - | "SanDrop" - | "FraudCleared" - | "CertificateExpired" - | "CertificateExpirationWarning" - | "FraudDocumentationRequired" - | "Unknown"; - -/** - * Defines values for RouteType. - * Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' - * @readonly - * @enum {string} - */ -export type RouteType = "DEFAULT" | "INHERITED" | "STATIC"; - -/** - * Defines values for InsightStatus. - * Possible values include: 'Critical', 'Warning', 'Info', 'Success', 'None' - * @readonly - * @enum {string} - */ -export type InsightStatus = "Critical" | "Warning" | "Info" | "Success" | "None"; - -/** - * Defines values for RenderingType. - * Possible values include: 'NoGraph', 'Table', 'TimeSeries', 'TimeSeriesPerInstance', 'PieChart', - * 'DataSummary', 'Email', 'Insights', 'DynamicInsight', 'Markdown', 'Detector', 'DropDown', - * 'Card', 'Solution', 'Guage', 'Form', 'ChangeSets', 'ChangeAnalysisOnboarding', 'ChangesView', - * 'AppInsight', 'DependencyGraph', 'DownTime', 'SummaryCard', 'SearchComponent', - * 'AppInsightEnablement' - * @readonly - * @enum {string} - */ -export type RenderingType = - | "NoGraph" - | "Table" - | "TimeSeries" - | "TimeSeriesPerInstance" - | "PieChart" - | "DataSummary" - | "Email" - | "Insights" - | "DynamicInsight" - | "Markdown" - | "Detector" - | "DropDown" - | "Card" - | "Solution" - | "Guage" - | "Form" - | "ChangeSets" - | "ChangeAnalysisOnboarding" - | "ChangesView" - | "AppInsight" - | "DependencyGraph" - | "DownTime" - | "SummaryCard" - | "SearchComponent" - | "AppInsightEnablement"; - -/** - * Defines values for DetectorType. - * Possible values include: 'Detector', 'Analysis', 'CategoryOverview' - * @readonly - * @enum {string} - */ -export type DetectorType = "Detector" | "Analysis" | "CategoryOverview"; - -/** - * Defines values for ManagedServiceIdentityType. - * Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', - * 'None' - * @readonly - * @enum {string} - */ -export type ManagedServiceIdentityType = - | "SystemAssigned" - | "UserAssigned" - | "SystemAssigned, UserAssigned" - | "None"; - -/** - * Defines values for AzureStorageType. - * Possible values include: 'AzureFiles', 'AzureBlob' - * @readonly - * @enum {string} - */ -export type AzureStorageType = "AzureFiles" | "AzureBlob"; - -/** - * Defines values for AzureStorageState. - * Possible values include: 'Ok', 'InvalidCredentials', 'InvalidShare', 'NotValidated' - * @readonly - * @enum {string} - */ -export type AzureStorageState = "Ok" | "InvalidCredentials" | "InvalidShare" | "NotValidated"; - -/** - * Defines values for IpFilterTag. - * Possible values include: 'Default', 'XffProxy', 'ServiceTag' - * @readonly - * @enum {string} - */ -export type IpFilterTag = "Default" | "XffProxy" | "ServiceTag"; - -/** - * Defines values for AutoHealActionType. - * Possible values include: 'Recycle', 'LogEvent', 'CustomAction' - * @readonly - * @enum {string} - */ -export type AutoHealActionType = "Recycle" | "LogEvent" | "CustomAction"; - -/** - * Defines values for ConnectionStringType. - * Possible values include: 'MySql', 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', - * 'ServiceBus', 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' - * @readonly - * @enum {string} - */ -export type ConnectionStringType = - | "MySql" - | "SQLServer" - | "SQLAzure" - | "Custom" - | "NotificationHub" - | "ServiceBus" - | "EventHub" - | "ApiHub" - | "DocDb" - | "RedisCache" - | "PostgreSQL"; - -/** - * Defines values for ScmType. - * Possible values include: 'None', 'Dropbox', 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', - * 'CodePlexHg', 'BitbucketGit', 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO', - * 'VSTSRM' - * @readonly - * @enum {string} - */ -export type ScmType = - | "None" - | "Dropbox" - | "Tfs" - | "LocalGit" - | "GitHub" - | "CodePlexGit" - | "CodePlexHg" - | "BitbucketGit" - | "BitbucketHg" - | "ExternalGit" - | "ExternalHg" - | "OneDrive" - | "VSO" - | "VSTSRM"; - -/** - * Defines values for ManagedPipelineMode. - * Possible values include: 'Integrated', 'Classic' - * @readonly - * @enum {string} - */ -export type ManagedPipelineMode = "Integrated" | "Classic"; - -/** - * Defines values for SiteLoadBalancing. - * Possible values include: 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', - * 'WeightedTotalTraffic', 'RequestHash', 'PerSiteRoundRobin' - * @readonly - * @enum {string} - */ -export type SiteLoadBalancing = - | "WeightedRoundRobin" - | "LeastRequests" - | "LeastResponseTime" - | "WeightedTotalTraffic" - | "RequestHash" - | "PerSiteRoundRobin"; - -/** - * Defines values for SupportedTlsVersions. - * Possible values include: '1.0', '1.1', '1.2' - * @readonly - * @enum {string} - */ -export type SupportedTlsVersions = "1.0" | "1.1" | "1.2"; - -/** - * Defines values for FtpsState. - * Possible values include: 'AllAllowed', 'FtpsOnly', 'Disabled' - * @readonly - * @enum {string} - */ -export type FtpsState = "AllAllowed" | "FtpsOnly" | "Disabled"; - -/** - * Defines values for SslState. - * Possible values include: 'Disabled', 'SniEnabled', 'IpBasedEnabled' - * @readonly - * @enum {string} - */ -export type SslState = "Disabled" | "SniEnabled" | "IpBasedEnabled"; - -/** - * Defines values for HostType. - * Possible values include: 'Standard', 'Repository' - * @readonly - * @enum {string} - */ -export type HostType = "Standard" | "Repository"; - -/** - * Defines values for UsageState. - * Possible values include: 'Normal', 'Exceeded' - * @readonly - * @enum {string} - */ -export type UsageState = "Normal" | "Exceeded"; - -/** - * Defines values for SiteAvailabilityState. - * Possible values include: 'Normal', 'Limited', 'DisasterRecoveryMode' - * @readonly - * @enum {string} - */ -export type SiteAvailabilityState = "Normal" | "Limited" | "DisasterRecoveryMode"; - -/** - * Defines values for ClientCertMode. - * Possible values include: 'Required', 'Optional', 'OptionalInteractiveUser' - * @readonly - * @enum {string} - */ -export type ClientCertMode = "Required" | "Optional" | "OptionalInteractiveUser"; - -/** - * Defines values for RedundancyMode. - * Possible values include: 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' - * @readonly - * @enum {string} - */ -export type RedundancyMode = "None" | "Manual" | "Failover" | "ActiveActive" | "GeoRedundant"; - -/** - * Defines values for StatusOptions. - * Possible values include: 'Ready', 'Pending', 'Creating' - * @readonly - * @enum {string} - */ -export type StatusOptions = "Ready" | "Pending" | "Creating"; - -/** - * Defines values for DomainStatus. - * Possible values include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', - * 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', 'Reserved', 'Reverted', - * 'Suspended', 'Transferred', 'Unknown', 'Unlocked', 'Unparked', 'Updated', 'JsonConverterFailed' - * @readonly - * @enum {string} - */ + | "DomainValidationComplete" + | "FraudDetected" + | "OrgNameChange" + | "OrgValidationComplete" + | "SanDrop" + | "FraudCleared" + | "CertificateExpired" + | "CertificateExpirationWarning" + | "FraudDocumentationRequired" + | "Unknown"; +/** Defines values for DetectorType. */ +export type DetectorType = "Detector" | "Analysis" | "CategoryOverview"; +/** Defines values for RenderingType. */ +export type RenderingType = + | "NoGraph" + | "Table" + | "TimeSeries" + | "TimeSeriesPerInstance" + | "PieChart" + | "DataSummary" + | "Email" + | "Insights" + | "DynamicInsight" + | "Markdown" + | "Detector" + | "DropDown" + | "Card" + | "Solution" + | "Guage" + | "Form" + | "ChangeSets" + | "ChangeAnalysisOnboarding" + | "ChangesView" + | "AppInsight" + | "DependencyGraph" + | "DownTime" + | "SummaryCard" + | "SearchComponent" + | "AppInsightEnablement"; +/** Defines values for InsightStatus. */ +export type InsightStatus = + | "Critical" + | "Warning" + | "Info" + | "Success" + | "None"; +/** Defines values for DomainType. */ +export type DomainType = "Regular" | "SoftDeleted"; +/** Defines values for DomainStatus. */ export type DomainStatus = | "Active" | "Awaiting" @@ -12328,78 +8088,108 @@ export type DomainStatus = | "Unparked" | "Updated" | "JsonConverterFailed"; - -/** - * Defines values for AzureResourceType. - * Possible values include: 'Website', 'TrafficManager' - * @readonly - * @enum {string} - */ +/** Defines values for AzureResourceType. */ export type AzureResourceType = "Website" | "TrafficManager"; - -/** - * Defines values for CustomHostNameDnsRecordType. - * Possible values include: 'CName', 'A' - * @readonly - * @enum {string} - */ +/** Defines values for CustomHostNameDnsRecordType. */ export type CustomHostNameDnsRecordType = "CName" | "A"; - -/** - * Defines values for HostNameType. - * Possible values include: 'Verified', 'Managed' - * @readonly - * @enum {string} - */ +/** Defines values for HostNameType. */ export type HostNameType = "Verified" | "Managed"; - -/** - * Defines values for DnsType. - * Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' - * @readonly - * @enum {string} - */ +/** Defines values for DnsType. */ export type DnsType = "AzureDns" | "DefaultDomainRegistrarDns"; - -/** - * Defines values for DomainType. - * Possible values include: 'Regular', 'SoftDeleted' - * @readonly - * @enum {string} - */ -export type DomainType = "Regular" | "SoftDeleted"; - -/** - * Defines values for HostingEnvironmentStatus. - * Possible values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' - * @readonly - * @enum {string} - */ -export type HostingEnvironmentStatus = "Preparing" | "Ready" | "Scaling" | "Deleting"; - -/** - * Defines values for LoadBalancingMode. - * Possible values include: 'None', 'Web', 'Publishing', 'Web, Publishing' - * @readonly - * @enum {string} - */ -export type LoadBalancingMode = "None" | "Web" | "Publishing" | "Web, Publishing"; - -/** - * Defines values for OperationStatus. - * Possible values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' - * @readonly - * @enum {string} - */ -export type OperationStatus = "InProgress" | "Failed" | "Succeeded" | "TimedOut" | "Created"; - -/** - * Defines values for IssueType. - * Possible values include: 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', - * 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' - * @readonly - * @enum {string} - */ +/** Defines values for HostingEnvironmentStatus. */ +export type HostingEnvironmentStatus = + | "Preparing" + | "Ready" + | "Scaling" + | "Deleting"; +/** Defines values for ComputeModeOptions. */ +export type ComputeModeOptions = "Shared" | "Dedicated" | "Dynamic"; +/** Defines values for WorkerSizeOptions. */ +export type WorkerSizeOptions = + | "Small" + | "Medium" + | "Large" + | "D1" + | "D2" + | "D3" + | "SmallV3" + | "MediumV3" + | "LargeV3" + | "NestedSmall" + | "NestedSmallLinux" + | "Default"; +/** Defines values for UsageState. */ +export type UsageState = "Normal" | "Exceeded"; +/** Defines values for SiteAvailabilityState. */ +export type SiteAvailabilityState = + | "Normal" + | "Limited" + | "DisasterRecoveryMode"; +/** Defines values for SslState. */ +export type SslState = "Disabled" | "SniEnabled" | "IpBasedEnabled"; +/** Defines values for HostType. */ +export type HostType = "Standard" | "Repository"; +/** Defines values for ConnectionStringType. */ +export type ConnectionStringType = + | "MySql" + | "SQLServer" + | "SQLAzure" + | "Custom" + | "NotificationHub" + | "ServiceBus" + | "EventHub" + | "ApiHub" + | "DocDb" + | "RedisCache" + | "PostgreSQL"; +/** Defines values for ManagedPipelineMode. */ +export type ManagedPipelineMode = "Integrated" | "Classic"; +/** Defines values for SiteLoadBalancing. */ +export type SiteLoadBalancing = + | "WeightedRoundRobin" + | "LeastRequests" + | "LeastResponseTime" + | "WeightedTotalTraffic" + | "RequestHash" + | "PerSiteRoundRobin"; +/** Defines values for AutoHealActionType. */ +export type AutoHealActionType = "Recycle" | "LogEvent" | "CustomAction"; +/** Defines values for AzureStorageType. */ +export type AzureStorageType = "AzureFiles" | "AzureBlob"; +/** Defines values for AzureStorageState. */ +export type AzureStorageState = + | "Ok" + | "InvalidCredentials" + | "InvalidShare" + | "NotValidated"; +/** Defines values for ClientCertMode. */ +export type ClientCertMode = + | "Required" + | "Optional" + | "OptionalInteractiveUser"; +/** Defines values for RedundancyMode. */ +export type RedundancyMode = + | "None" + | "Manual" + | "Failover" + | "ActiveActive" + | "GeoRedundant"; +/** Defines values for ManagedServiceIdentityType. */ +export type ManagedServiceIdentityType = + | "SystemAssigned" + | "UserAssigned" + | "SystemAssigned, UserAssigned" + | "None"; +/** Defines values for OperationStatus. */ +export type OperationStatus = + | "InProgress" + | "Failed" + | "Succeeded" + | "TimedOut" + | "Created"; +/** Defines values for StatusOptions. */ +export type StatusOptions = "Ready" | "Pending" | "Creating"; +/** Defines values for IssueType. */ export type IssueType = | "ServiceIncident" | "AppDeployment" @@ -12409,305 +8199,75 @@ export type IssueType = | "UserIssue" | "PlatformIssue" | "Other"; - -/** - * Defines values for SolutionType. - * Possible values include: 'QuickSolution', 'DeepInvestigation', 'BestPractices' - * @readonly - * @enum {string} - */ -export type SolutionType = "QuickSolution" | "DeepInvestigation" | "BestPractices"; - -/** - * Defines values for StackPreferredOs. - * Possible values include: 'Windows', 'Linux' - * @readonly - * @enum {string} - */ +/** Defines values for SolutionType. */ +export type SolutionType = + | "QuickSolution" + | "DeepInvestigation" + | "BestPractices"; +/** Defines values for KubeEnvironmentProvisioningState. */ +export type KubeEnvironmentProvisioningState = + | "Succeeded" + | "Failed" + | "Canceled" + | "Waiting" + | "InitializationInProgress" + | "InfrastructureSetupInProgress" + | "InfrastructureSetupComplete" + | "ScheduledForDelete" + | "UpgradeRequested" + | "UpgradeFailed"; +/** Defines values for StorageType. */ +export type StorageType = "LocalNode" | "NetworkFileSystem"; +/** Defines values for FrontEndServiceType. */ +export type FrontEndServiceType = "NodePort" | "LoadBalancer"; +/** Defines values for StackPreferredOs. */ export type StackPreferredOs = "Windows" | "Linux"; - -/** - * Defines values for ResourceScopeType. - * Possible values include: 'ServerFarm', 'Subscription', 'WebSite' - * @readonly - * @enum {string} - */ -export type ResourceScopeType = "ServerFarm" | "Subscription" | "WebSite"; - -/** - * Defines values for NotificationLevel. - * Possible values include: 'Critical', 'Warning', 'Information', 'NonUrgentSuggestion' - * @readonly - * @enum {string} - */ -export type NotificationLevel = "Critical" | "Warning" | "Information" | "NonUrgentSuggestion"; - -/** - * Defines values for Channels. - * Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' - * @readonly - * @enum {string} - */ +/** Defines values for NotificationLevel. */ +export type NotificationLevel = + | "Critical" + | "Warning" + | "Information" + | "NonUrgentSuggestion"; +/** Defines values for Channels. */ export type Channels = "Notification" | "Api" | "Email" | "Webhook" | "All"; - -/** - * Defines values for AppServicePlanRestrictions. - * Possible values include: 'None', 'Free', 'Shared', 'Basic', 'Standard', 'Premium' - * @readonly - * @enum {string} - */ +/** Defines values for AppServicePlanRestrictions. */ export type AppServicePlanRestrictions = | "None" | "Free" | "Shared" - | "Basic" - | "Standard" - | "Premium"; - -/** - * Defines values for InAvailabilityReasonType. - * Possible values include: 'Invalid', 'AlreadyExists' - * @readonly - * @enum {string} - */ -export type InAvailabilityReasonType = "Invalid" | "AlreadyExists"; - -/** - * Defines values for CheckNameResourceTypes. - * Possible values include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', - * 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', 'Microsoft.Web/hostingEnvironments', - * 'Microsoft.Web/publishingUsers' - * @readonly - * @enum {string} - */ -export type CheckNameResourceTypes = - | "Site" - | "Slot" - | "HostingEnvironment" - | "PublishingUser" - | "Microsoft.Web/sites" - | "Microsoft.Web/sites/slots" - | "Microsoft.Web/hostingEnvironments" - | "Microsoft.Web/publishingUsers"; - -/** - * Defines values for ValidateResourceTypes. - * Possible values include: 'ServerFarm', 'Site', 'Microsoft.Web/hostingEnvironments' - * @readonly - * @enum {string} - */ -export type ValidateResourceTypes = "ServerFarm" | "Site" | "Microsoft.Web/hostingEnvironments"; - -/** - * Defines values for ResolveStatus. - * Possible values include: 'Initialized', 'Resolved', 'InvalidSyntax', 'MSINotEnabled', - * 'VaultNotFound', 'SecretNotFound', 'SecretVersionNotFound', 'AccessToKeyVaultDenied', - * 'OtherReasons', 'FetchTimedOut', 'UnauthorizedClient' - * @readonly - * @enum {string} - */ -export type ResolveStatus = - | "Initialized" - | "Resolved" - | "InvalidSyntax" - | "MSINotEnabled" - | "VaultNotFound" - | "SecretNotFound" - | "SecretVersionNotFound" - | "AccessToKeyVaultDenied" - | "OtherReasons" - | "FetchTimedOut" - | "UnauthorizedClient"; - -/** - * Defines values for ConfigReferenceSource. - * Possible values include: 'KeyVault' - * @readonly - * @enum {string} - */ -export type ConfigReferenceSource = "KeyVault"; - -/** - * Defines values for LogLevel. - * Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' - * @readonly - * @enum {string} - */ -export type LogLevel = "Off" | "Verbose" | "Information" | "Warning" | "Error"; - -/** - * Defines values for BackupItemStatus. - * Possible values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', - * 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' - * @readonly - * @enum {string} - */ -export type BackupItemStatus = - | "InProgress" - | "Failed" - | "Succeeded" - | "TimedOut" - | "Created" - | "Skipped" - | "PartiallySucceeded" - | "DeleteInProgress" - | "DeleteFailed" - | "Deleted"; - -/** - * Defines values for DatabaseType. - * Possible values include: 'SqlAzure', 'MySql', 'LocalMySql', 'PostgreSql' - * @readonly - * @enum {string} - */ -export type DatabaseType = "SqlAzure" | "MySql" | "LocalMySql" | "PostgreSql"; - -/** - * Defines values for FrequencyUnit. - * Possible values include: 'Day', 'Hour' - * @readonly - * @enum {string} - */ -export type FrequencyUnit = "Day" | "Hour"; - -/** - * Defines values for ContinuousWebJobStatus. - * Possible values include: 'Initializing', 'Starting', 'Running', 'PendingRestart', 'Stopped' - * @readonly - * @enum {string} - */ -export type ContinuousWebJobStatus = - | "Initializing" - | "Starting" - | "Running" - | "PendingRestart" - | "Stopped"; - -/** - * Defines values for WebJobType. - * Possible values include: 'Continuous', 'Triggered' - * @readonly - * @enum {string} - */ -export type WebJobType = "Continuous" | "Triggered"; - -/** - * Defines values for CookieExpirationConvention. - * Possible values include: 'FixedTime', 'IdentityProviderDerived' - * @readonly - * @enum {string} - */ -export type CookieExpirationConvention = "FixedTime" | "IdentityProviderDerived"; - -/** - * Defines values for PublishingProfileFormat. - * Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' - * @readonly - * @enum {string} - */ -export type PublishingProfileFormat = "FileZilla3" | "WebDeploy" | "Ftp"; - -/** - * Defines values for DnsVerificationTestResult. - * Possible values include: 'Passed', 'Failed', 'Skipped' - * @readonly - * @enum {string} - */ -export type DnsVerificationTestResult = "Passed" | "Failed" | "Skipped"; - -/** - * Defines values for ClientCredentialMethod. - * Possible values include: 'ClientSecretPost' - * @readonly - * @enum {string} - */ -export type ClientCredentialMethod = "ClientSecretPost"; - -/** - * Defines values for ForwardProxyConvention. - * Possible values include: 'NoProxy', 'Standard', 'Custom' - * @readonly - * @enum {string} - */ -export type ForwardProxyConvention = "NoProxy" | "Standard" | "Custom"; - -/** - * Defines values for UnauthenticatedClientActionV2. - * Possible values include: 'RedirectToLoginPage', 'AllowAnonymous', 'Return401', 'Return403' - * @readonly - * @enum {string} - */ -export type UnauthenticatedClientActionV2 = - | "RedirectToLoginPage" - | "AllowAnonymous" - | "Return401" - | "Return403"; - -/** - * Defines values for MSDeployLogEntryType. - * Possible values include: 'Message', 'Warning', 'Error' - * @readonly - * @enum {string} - */ -export type MSDeployLogEntryType = "Message" | "Warning" | "Error"; - -/** - * Defines values for MSDeployProvisioningState. - * Possible values include: 'accepted', 'running', 'succeeded', 'failed', 'canceled' - * @readonly - * @enum {string} - */ -export type MSDeployProvisioningState = - | "accepted" - | "running" - | "succeeded" - | "failed" - | "canceled"; - -/** - * Defines values for MySqlMigrationType. - * Possible values include: 'LocalToRemote', 'RemoteToLocal' - * @readonly - * @enum {string} - */ -export type MySqlMigrationType = "LocalToRemote" | "RemoteToLocal"; - -/** - * Defines values for PublicCertificateLocation. - * Possible values include: 'CurrentUserMy', 'LocalMachineMy', 'Unknown' - * @readonly - * @enum {string} - */ -export type PublicCertificateLocation = "CurrentUserMy" | "LocalMachineMy" | "Unknown"; - -/** - * Defines values for BackupRestoreOperationType. - * Possible values include: 'Default', 'Clone', 'Relocation', 'Snapshot', 'CloudFS' - * @readonly - * @enum {string} - */ + | "Basic" + | "Standard" + | "Premium"; +/** Defines values for StagingEnvironmentPolicy. */ +export type StagingEnvironmentPolicy = "Enabled" | "Disabled"; +/** Defines values for DnsVerificationTestResult. */ +export type DnsVerificationTestResult = "Passed" | "Failed" | "Skipped"; +/** Defines values for FrequencyUnit. */ +export type FrequencyUnit = "Day" | "Hour"; +/** Defines values for BackupItemStatus. */ +export type BackupItemStatus = + | "InProgress" + | "Failed" + | "Succeeded" + | "TimedOut" + | "Created" + | "Skipped" + | "PartiallySucceeded" + | "DeleteInProgress" + | "DeleteFailed" + | "Deleted"; +/** Defines values for BackupRestoreOperationType. */ export type BackupRestoreOperationType = | "Default" | "Clone" | "Relocation" | "Snapshot" | "CloudFS"; - -/** - * Defines values for UnauthenticatedClientAction. - * Possible values include: 'RedirectToLoginPage', 'AllowAnonymous' - * @readonly - * @enum {string} - */ -export type UnauthenticatedClientAction = "RedirectToLoginPage" | "AllowAnonymous"; - -/** - * Defines values for BuiltInAuthenticationProvider. - * Possible values include: 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', - * 'Twitter', 'Github' - * @readonly - * @enum {string} - */ +/** Defines values for UnauthenticatedClientAction. */ +export type UnauthenticatedClientAction = + | "RedirectToLoginPage" + | "AllowAnonymous"; +/** Defines values for BuiltInAuthenticationProvider. */ export type BuiltInAuthenticationProvider = | "AzureActiveDirectory" | "Facebook" @@ -12715,14152 +8275,6015 @@ export type BuiltInAuthenticationProvider = | "MicrosoftAccount" | "Twitter" | "Github"; - -/** - * Defines values for CloneAbilityResult. - * Possible values include: 'Cloneable', 'PartiallyCloneable', 'NotCloneable' - * @readonly - * @enum {string} - */ -export type CloneAbilityResult = "Cloneable" | "PartiallyCloneable" | "NotCloneable"; - -/** - * Defines values for SiteExtensionType. - * Possible values include: 'Gallery', 'WebRoot' - * @readonly - * @enum {string} - */ +/** Defines values for UnauthenticatedClientActionV2. */ +export type UnauthenticatedClientActionV2 = + | "RedirectToLoginPage" + | "AllowAnonymous" + | "Return401" + | "Return403"; +/** Defines values for CookieExpirationConvention. */ +export type CookieExpirationConvention = + | "FixedTime" + | "IdentityProviderDerived"; +/** Defines values for ForwardProxyConvention. */ +export type ForwardProxyConvention = "NoProxy" | "Standard" | "Custom"; +/** Defines values for ResolveStatus. */ +export type ResolveStatus = + | "Initialized" + | "Resolved" + | "InvalidSyntax" + | "MSINotEnabled" + | "VaultNotFound" + | "SecretNotFound" + | "SecretVersionNotFound" + | "AccessToKeyVaultDenied" + | "OtherReasons" + | "FetchTimedOut" + | "UnauthorizedClient"; +/** Defines values for LogLevel. */ +export type LogLevel = "Off" | "Verbose" | "Information" | "Warning" | "Error"; +/** Defines values for ContinuousWebJobStatus. */ +export type ContinuousWebJobStatus = + | "Initializing" + | "Starting" + | "Running" + | "PendingRestart" + | "Stopped"; +/** Defines values for WebJobType. */ +export type WebJobType = "Continuous" | "Triggered"; +/** Defines values for MSDeployProvisioningState. */ +export type MSDeployProvisioningState = + | "accepted" + | "running" + | "succeeded" + | "failed" + | "canceled"; +/** Defines values for MSDeployLogEntryType. */ +export type MSDeployLogEntryType = "Message" | "Warning" | "Error"; +/** Defines values for SiteRuntimeState. */ +export type SiteRuntimeState = "READY" | "STOPPED" | "UNKNOWN"; +/** Defines values for CloneAbilityResult. */ +export type CloneAbilityResult = + | "Cloneable" + | "PartiallyCloneable" + | "NotCloneable"; +/** Defines values for MySqlMigrationType. */ +export type MySqlMigrationType = "LocalToRemote" | "RemoteToLocal"; +/** Defines values for PublicCertificateLocation. */ +export type PublicCertificateLocation = + | "CurrentUserMy" + | "LocalMachineMy" + | "Unknown"; +/** Defines values for SiteExtensionType. */ export type SiteExtensionType = "Gallery" | "WebRoot"; - -/** - * Defines values for TriggeredWebJobStatus. - * Possible values include: 'Success', 'Failed', 'Error' - * @readonly - * @enum {string} - */ +/** Defines values for TriggeredWebJobStatus. */ export type TriggeredWebJobStatus = "Success" | "Failed" | "Error"; -/** - * Defines values for SiteRuntimeState. - * Possible values include: 'READY', 'STOPPED', 'UNKNOWN' - * @readonly - * @enum {string} - */ -export type SiteRuntimeState = "READY" | "STOPPED" | "UNKNOWN"; - -/** - * Defines values for StagingEnvironmentPolicy. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type StagingEnvironmentPolicy = "Enabled" | "Disabled"; - -/** - * Defines values for BuildStatus. - * Possible values include: 'WaitingForDeployment', 'Uploading', 'Deploying', 'Ready', 'Failed', - * 'Deleting', 'Detached' - * @readonly - * @enum {string} - */ -export type BuildStatus = - | "WaitingForDeployment" - | "Uploading" - | "Deploying" - | "Ready" - | "Failed" - | "Deleting" - | "Detached"; - -/** - * Defines values for CustomDomainStatus. - * Possible values include: 'RetrievingValidationToken', 'Validating', 'Adding', 'Ready', 'Failed', - * 'Deleting' - * @readonly - * @enum {string} - */ -export type CustomDomainStatus = - | "RetrievingValidationToken" - | "Validating" - | "Adding" - | "Ready" - | "Failed" - | "Deleting"; - -/** - * Defines values for TriggerTypes. - * Possible values include: 'HttpTrigger', 'Unknown' - * @readonly - * @enum {string} - */ -export type TriggerTypes = "HttpTrigger" | "Unknown"; - -/** - * Defines values for ComputeModeOptions. - * Possible values include: 'Shared', 'Dedicated', 'Dynamic' - * @readonly - * @enum {string} - */ -export type ComputeModeOptions = "Shared" | "Dedicated" | "Dynamic"; - -/** - * Defines values for WorkerSizeOptions. - * Possible values include: 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3', 'SmallV3', 'MediumV3', - * 'LargeV3', 'NestedSmall', 'NestedSmallLinux', 'Default' - * @readonly - * @enum {string} - */ -export type WorkerSizeOptions = - | "Small" - | "Medium" - | "Large" - | "D1" - | "D2" - | "D3" - | "SmallV3" - | "MediumV3" - | "LargeV3" - | "NestedSmall" - | "NestedSmallLinux" - | "Default"; - -/** - * Defines values for SkuName. - * Possible values include: 'Free', 'Shared', 'Basic', 'Standard', 'Premium', 'Dynamic', - * 'Isolated', 'IsolatedV2', 'PremiumV2', 'PremiumV3', 'PremiumContainer', 'ElasticPremium', - * 'ElasticIsolated' - * @readonly - * @enum {string} - */ -export type SkuName = - | "Free" - | "Shared" - | "Basic" - | "Standard" - | "Premium" - | "Dynamic" - | "Isolated" - | "IsolatedV2" - | "PremiumV2" - | "PremiumV3" - | "PremiumContainer" - | "ElasticPremium" - | "ElasticIsolated"; - -/** - * Defines values for OsTypeSelected. - * Possible values include: 'Windows', 'Linux', 'WindowsFunctions', 'LinuxFunctions', 'All' - * @readonly - * @enum {string} - */ -export type OsTypeSelected = "Windows" | "Linux" | "WindowsFunctions" | "LinuxFunctions" | "All"; - -/** - * Defines values for StackOsType. - * Possible values include: 'Windows', 'Linux', 'All' - * @readonly - * @enum {string} - */ -export type StackOsType = "Windows" | "Linux" | "All"; - -/** - * Defines values for StackOsType1. - * Possible values include: 'Windows', 'Linux', 'All' - * @readonly - * @enum {string} - */ -export type StackOsType1 = "Windows" | "Linux" | "All"; - -/** - * Defines values for StackOsType2. - * Possible values include: 'Windows', 'Linux', 'All' - * @readonly - * @enum {string} - */ -export type StackOsType2 = "Windows" | "Linux" | "All"; - -/** - * Defines values for StackOsType3. - * Possible values include: 'Windows', 'Linux', 'All' - * @readonly - * @enum {string} - */ -export type StackOsType3 = "Windows" | "Linux" | "All"; - -/** - * Defines values for OsTypeSelected1. - * Possible values include: 'Windows', 'Linux', 'WindowsFunctions', 'LinuxFunctions', 'All' - * @readonly - * @enum {string} - */ -export type OsTypeSelected1 = "Windows" | "Linux" | "WindowsFunctions" | "LinuxFunctions" | "All"; - -/** - * Contains response data for the list operation. - */ -export type AppServiceCertificateOrdersListResponse = AppServiceCertificateOrderCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateOrderCollection; - }; -}; - -/** - * Contains response data for the listByResourceGroup operation. - */ -export type AppServiceCertificateOrdersListByResourceGroupResponse = AppServiceCertificateOrderCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateOrderCollection; - }; -}; - -/** - * Contains response data for the get operation. - */ -export type AppServiceCertificateOrdersGetResponse = AppServiceCertificateOrder & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateOrder; - }; -}; - -/** - * Contains response data for the createOrUpdate operation. - */ -export type AppServiceCertificateOrdersCreateOrUpdateResponse = AppServiceCertificateOrder & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateOrder; - }; -}; - -/** - * Contains response data for the update operation. - */ -export type AppServiceCertificateOrdersUpdateResponse = AppServiceCertificateOrder & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateOrder; - }; -}; - -/** - * Contains response data for the listCertificates operation. - */ -export type AppServiceCertificateOrdersListCertificatesResponse = AppServiceCertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateCollection; - }; -}; - -/** - * Contains response data for the getCertificate operation. - */ -export type AppServiceCertificateOrdersGetCertificateResponse = AppServiceCertificateResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateResource; - }; -}; - -/** - * Contains response data for the createOrUpdateCertificate operation. - */ -export type AppServiceCertificateOrdersCreateOrUpdateCertificateResponse = AppServiceCertificateResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateResource; - }; -}; - -/** - * Contains response data for the updateCertificate operation. - */ -export type AppServiceCertificateOrdersUpdateCertificateResponse = AppServiceCertificateResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateResource; - }; -}; +/** Contains response data for the list operation. */ +export type AppServiceCertificateOrdersListResponse = AppServiceCertificateOrderCollection; -/** - * Contains response data for the retrieveSiteSeal operation. - */ -export type AppServiceCertificateOrdersRetrieveSiteSealResponse = SiteSeal & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersValidatePurchaseInformationOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSeal; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the retrieveCertificateActions operation. - */ -export type AppServiceCertificateOrdersRetrieveCertificateActionsResponse = Array< - CertificateOrderAction -> & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: CertificateOrderAction[]; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type AppServiceCertificateOrdersListByResourceGroupResponse = AppServiceCertificateOrderCollection; -/** - * Contains response data for the retrieveCertificateEmailHistory operation. - */ -export type AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse = Array< - CertificateEmail -> & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: CertificateEmail[]; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type AppServiceCertificateOrdersBeginCreateOrUpdateResponse = AppServiceCertificateOrder & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type AppServiceCertificateOrdersGetResponse = AppServiceCertificateOrder; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateOrder; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 beginCreateOrUpdateCertificate operation. - */ -export type AppServiceCertificateOrdersBeginCreateOrUpdateCertificateResponse = AppServiceCertificateResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type AppServiceCertificateOrdersCreateOrUpdateResponse = AppServiceCertificateOrder; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateResource; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type AppServiceCertificateOrdersListNextResponse = AppServiceCertificateOrderCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateOrderCollection; - }; -}; +/** Contains response data for the update operation. */ +export type AppServiceCertificateOrdersUpdateResponse = AppServiceCertificateOrder; -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type AppServiceCertificateOrdersListByResourceGroupNextResponse = AppServiceCertificateOrderCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersListCertificatesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateOrderCollection; - }; -}; +/** Contains response data for the listCertificates operation. */ +export type AppServiceCertificateOrdersListCertificatesResponse = AppServiceCertificateCollection; -/** - * Contains response data for the listCertificatesNext operation. - */ -export type AppServiceCertificateOrdersListCertificatesNextResponse = AppServiceCertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersGetCertificateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceCertificateCollection; - }; -}; +/** Contains response data for the getCertificate operation. */ +export type AppServiceCertificateOrdersGetCertificateResponse = AppServiceCertificateResource; -/** - * Contains response data for the listAppServiceCertificateOrderDetectorResponse operation. - */ -export type CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseResponse = DetectorResponseCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponseCollection; - }; -}; +/** Contains response data for the createOrUpdateCertificate operation. */ +export type AppServiceCertificateOrdersCreateOrUpdateCertificateResponse = AppServiceCertificateResource; -/** - * Contains response data for the getAppServiceCertificateOrderDetectorResponse operation. - */ -export type CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse = DetectorResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersDeleteCertificateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponse; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersUpdateCertificateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAppServiceCertificateOrderDetectorResponseNext operation. - */ -export type CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextResponse = DetectorResponseCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateCertificate operation. */ +export type AppServiceCertificateOrdersUpdateCertificateResponse = AppServiceCertificateResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponseCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersReissueOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listOperations operation. - */ -export type CertificateRegistrationProviderListOperationsResponse = CsmOperationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersRenewOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmOperationCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersResendEmailOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listOperationsNext operation. - */ -export type CertificateRegistrationProviderListOperationsNextResponse = CsmOperationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersResendRequestEmailsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmOperationCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersRetrieveSiteSealOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the checkAvailability operation. - */ -export type DomainsCheckAvailabilityResponse = DomainAvailabilityCheckResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the retrieveSiteSeal operation. */ +export type AppServiceCertificateOrdersRetrieveSiteSealResponse = SiteSeal; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainAvailabilityCheckResult; - }; -}; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersVerifyDomainOwnershipOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type DomainsListResponse = DomainCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersRetrieveCertificateActionsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainCollection; - }; -}; +/** Contains response data for the retrieveCertificateActions operation. */ +export type AppServiceCertificateOrdersRetrieveCertificateActionsResponse = CertificateOrderAction[]; -/** - * Contains response data for the getControlCenterSsoRequest operation. - */ -export type DomainsGetControlCenterSsoRequestResponse = DomainControlCenterSsoRequest & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainControlCenterSsoRequest; - }; -}; +/** Contains response data for the retrieveCertificateEmailHistory operation. */ +export type AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse = CertificateEmail[]; -/** - * Contains response data for the listRecommendations operation. - */ -export type DomainsListRecommendationsResponse = NameIdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NameIdentifierCollection; - }; -}; +/** Contains response data for the listNext operation. */ +export type AppServiceCertificateOrdersListNextResponse = AppServiceCertificateOrderCollection; -/** - * Contains response data for the listByResourceGroup operation. - */ -export type DomainsListByResourceGroupResponse = DomainCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainCollection; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type AppServiceCertificateOrdersListByResourceGroupNextResponse = AppServiceCertificateOrderCollection; -/** - * Contains response data for the get operation. - */ -export type DomainsGetResponse = Domain & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceCertificateOrdersListCertificatesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Domain; - }; -}; +/** Contains response data for the listCertificatesNext operation. */ +export type AppServiceCertificateOrdersListCertificatesNextResponse = AppServiceCertificateCollection; -/** - * Contains response data for the createOrUpdate operation. - */ -export type DomainsCreateOrUpdateResponse = Domain & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Domain; - }; -}; +/** Contains response data for the listAppServiceCertificateOrderDetectorResponse operation. */ +export type CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseResponse = DetectorResponseCollection; -/** - * Contains response data for the update operation. - */ -export type DomainsUpdateResponse = Domain & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams + extends coreClient.OperationOptions { + /** The start time for detector response. */ + startTime?: Date; + /** The end time for the detector response. */ + endTime?: Date; + /** The time grain for the detector response. */ + timeGrain?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Domain; - }; -}; +/** Contains response data for the getAppServiceCertificateOrderDetectorResponse operation. */ +export type CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse = DetectorResponse; -/** - * Contains response data for the listOwnershipIdentifiers operation. - */ -export type DomainsListOwnershipIdentifiersResponse = DomainOwnershipIdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainOwnershipIdentifierCollection; - }; -}; +/** Contains response data for the listAppServiceCertificateOrderDetectorResponseNext operation. */ +export type CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextResponse = DetectorResponseCollection; -/** - * Contains response data for the getOwnershipIdentifier operation. - */ -export type DomainsGetOwnershipIdentifierResponse = DomainOwnershipIdentifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificateRegistrationProviderListOperationsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainOwnershipIdentifier; - }; -}; +/** Contains response data for the listOperations operation. */ +export type CertificateRegistrationProviderListOperationsResponse = CsmOperationCollection; -/** - * Contains response data for the createOrUpdateOwnershipIdentifier operation. - */ -export type DomainsCreateOrUpdateOwnershipIdentifierResponse = DomainOwnershipIdentifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificateRegistrationProviderListOperationsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainOwnershipIdentifier; - }; -}; +/** Contains response data for the listOperationsNext operation. */ +export type CertificateRegistrationProviderListOperationsNextResponse = CsmOperationCollection; -/** - * Contains response data for the updateOwnershipIdentifier operation. - */ -export type DomainsUpdateOwnershipIdentifierResponse = DomainOwnershipIdentifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsCheckAvailabilityOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainOwnershipIdentifier; - }; -}; +/** Contains response data for the checkAvailability operation. */ +export type DomainsCheckAvailabilityResponse = DomainAvailabilityCheckResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type DomainsBeginCreateOrUpdateResponse = Domain & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Domain; - }; -}; +/** Contains response data for the list operation. */ +export type DomainsListResponse = DomainCollection; -/** - * Contains response data for the listNext operation. - */ -export type DomainsListNextResponse = DomainCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsGetControlCenterSsoRequestOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainCollection; - }; -}; +/** Contains response data for the getControlCenterSsoRequest operation. */ +export type DomainsGetControlCenterSsoRequestResponse = DomainControlCenterSsoRequest; -/** - * Contains response data for the listRecommendationsNext operation. - */ -export type DomainsListRecommendationsNextResponse = NameIdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsListRecommendationsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NameIdentifierCollection; - }; -}; +/** Contains response data for the listRecommendations operation. */ +export type DomainsListRecommendationsResponse = NameIdentifierCollection; -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type DomainsListByResourceGroupNextResponse = DomainCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainCollection; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type DomainsListByResourceGroupResponse = DomainCollection; -/** - * Contains response data for the listOwnershipIdentifiersNext operation. - */ -export type DomainsListOwnershipIdentifiersNextResponse = DomainOwnershipIdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsGetOptionalParams extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DomainOwnershipIdentifierCollection; - }; -}; +/** Contains response data for the get operation. */ +export type DomainsGetResponse = Domain; -/** - * Contains response data for the list operation. - */ -export type TopLevelDomainsListResponse = TopLevelDomainCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: TopLevelDomainCollection; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type DomainsCreateOrUpdateResponse = Domain; -/** - * Contains response data for the get operation. - */ -export type TopLevelDomainsGetResponse = TopLevelDomain & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Specify true to delete the domain immediately. The default is false which deletes the domain after 24 hours. */ + forceHardDeleteDomain?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: TopLevelDomain; - }; -}; +/** Optional parameters. */ +export interface DomainsUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAgreements operation. - */ -export type TopLevelDomainsListAgreementsResponse = TldLegalAgreementCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type DomainsUpdateResponse = Domain; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TldLegalAgreementCollection; - }; -}; +/** Optional parameters. */ +export interface DomainsListOwnershipIdentifiersOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type TopLevelDomainsListNextResponse = TopLevelDomainCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listOwnershipIdentifiers operation. */ +export type DomainsListOwnershipIdentifiersResponse = DomainOwnershipIdentifierCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TopLevelDomainCollection; - }; -}; +/** Optional parameters. */ +export interface DomainsGetOwnershipIdentifierOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAgreementsNext operation. - */ -export type TopLevelDomainsListAgreementsNextResponse = TldLegalAgreementCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getOwnershipIdentifier operation. */ +export type DomainsGetOwnershipIdentifierResponse = DomainOwnershipIdentifier; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TldLegalAgreementCollection; - }; -}; +/** Optional parameters. */ +export interface DomainsCreateOrUpdateOwnershipIdentifierOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listOperations operation. - */ -export type DomainRegistrationProviderListOperationsResponse = CsmOperationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateOwnershipIdentifier operation. */ +export type DomainsCreateOrUpdateOwnershipIdentifierResponse = DomainOwnershipIdentifier; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmOperationCollection; - }; -}; +/** Optional parameters. */ +export interface DomainsDeleteOwnershipIdentifierOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listOperationsNext operation. - */ -export type DomainRegistrationProviderListOperationsNextResponse = CsmOperationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsUpdateOwnershipIdentifierOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmOperationCollection; - }; -}; +/** Contains response data for the updateOwnershipIdentifier operation. */ +export type DomainsUpdateOwnershipIdentifierResponse = DomainOwnershipIdentifier; -/** - * Contains response data for the list operation. - */ -export type CertificatesListResponse = CertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DomainsRenewOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CertificateCollection; - }; -}; +/** Optional parameters. */ +export interface DomainsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroup operation. - */ -export type CertificatesListByResourceGroupResponse = CertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type DomainsListNextResponse = DomainCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CertificateCollection; - }; -}; +/** Optional parameters. */ +export interface DomainsListRecommendationsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type CertificatesGetResponse = Certificate & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listRecommendationsNext operation. */ +export type DomainsListRecommendationsNextResponse = NameIdentifierCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Certificate; - }; -}; +/** Optional parameters. */ +export interface DomainsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type CertificatesCreateOrUpdateResponse = Certificate & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupNext operation. */ +export type DomainsListByResourceGroupNextResponse = DomainCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Certificate; - }; -}; +/** Optional parameters. */ +export interface DomainsListOwnershipIdentifiersNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type CertificatesUpdateResponse = Certificate & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listOwnershipIdentifiersNext operation. */ +export type DomainsListOwnershipIdentifiersNextResponse = DomainOwnershipIdentifierCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Certificate; - }; -}; +/** Optional parameters. */ +export interface TopLevelDomainsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type CertificatesListNextResponse = CertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type TopLevelDomainsListResponse = TopLevelDomainCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CertificateCollection; - }; -}; +/** Optional parameters. */ +export interface TopLevelDomainsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type CertificatesListByResourceGroupNextResponse = CertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type TopLevelDomainsGetResponse = TopLevelDomain; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CertificateCollection; - }; -}; +/** Optional parameters. */ +export interface TopLevelDomainsListAgreementsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type DeletedWebAppsListResponse = DeletedWebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listAgreements operation. */ +export type TopLevelDomainsListAgreementsResponse = TldLegalAgreementCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedWebAppCollection; - }; -}; +/** Optional parameters. */ +export interface TopLevelDomainsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByLocation operation. - */ -export type DeletedWebAppsListByLocationResponse = DeletedWebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type TopLevelDomainsListNextResponse = TopLevelDomainCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedWebAppCollection; - }; -}; +/** Optional parameters. */ +export interface TopLevelDomainsListAgreementsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getDeletedWebAppByLocation operation. - */ -export type DeletedWebAppsGetDeletedWebAppByLocationResponse = DeletedSite & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listAgreementsNext operation. */ +export type TopLevelDomainsListAgreementsNextResponse = TldLegalAgreementCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedSite; - }; -}; +/** Optional parameters. */ +export interface DomainRegistrationProviderListOperationsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type DeletedWebAppsListNextResponse = DeletedWebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listOperations operation. */ +export type DomainRegistrationProviderListOperationsResponse = CsmOperationCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedWebAppCollection; - }; -}; +/** Optional parameters. */ +export interface DomainRegistrationProviderListOperationsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByLocationNext operation. - */ -export type DeletedWebAppsListByLocationNextResponse = DeletedWebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listOperationsNext operation. */ +export type DomainRegistrationProviderListOperationsNextResponse = CsmOperationCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedWebAppCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listHostingEnvironmentDetectorResponses operation. - */ -export type DiagnosticsListHostingEnvironmentDetectorResponsesResponse = DetectorResponseCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type AppServiceEnvironmentsListResponse = AppServiceEnvironmentCollection; + +/** Optional parameters. */ +export interface AppServiceEnvironmentsListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponseCollection; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type AppServiceEnvironmentsListByResourceGroupResponse = AppServiceEnvironmentCollection; -/** - * Contains response data for the getHostingEnvironmentDetectorResponse operation. - */ -export type DiagnosticsGetHostingEnvironmentDetectorResponseResponse = DetectorResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponse; - }; -}; +/** Contains response data for the get operation. */ +export type AppServiceEnvironmentsGetResponse = AppServiceEnvironmentResource; -/** - * Contains response data for the listSiteDetectorResponses operation. - */ -export type DiagnosticsListSiteDetectorResponsesResponse = DetectorResponseCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponseCollection; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type AppServiceEnvironmentsCreateOrUpdateResponse = AppServiceEnvironmentResource; -/** - * Contains response data for the getSiteDetectorResponse operation. - */ -export type DiagnosticsGetSiteDetectorResponseResponse = DetectorResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Specify true to force the deletion even if the App Service Environment contains resources. The default is false. */ + forceDelete?: boolean; + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponse; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDiagnosticCategories operation. - */ -export type DiagnosticsListSiteDiagnosticCategoriesResponse = DiagnosticCategoryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type AppServiceEnvironmentsUpdateResponse = AppServiceEnvironmentResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticCategoryCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListCapacitiesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteDiagnosticCategory operation. - */ -export type DiagnosticsGetSiteDiagnosticCategoryResponse = DiagnosticCategory & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listCapacities operation. */ +export type AppServiceEnvironmentsListCapacitiesResponse = StampCapacityCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticCategory; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetVipInfoOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteAnalyses operation. - */ -export type DiagnosticsListSiteAnalysesResponse = DiagnosticAnalysisCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getVipInfo operation. */ +export type AppServiceEnvironmentsGetVipInfoResponse = AddressResponse; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticAnalysisCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsChangeVnetOptionalParams + extends coreClient.OperationOptions { + /** 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 getSiteAnalysis operation. - */ -export type DiagnosticsGetSiteAnalysisResponse = AnalysisDefinition & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the changeVnet operation. */ +export type AppServiceEnvironmentsChangeVnetResponse = WebAppCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AnalysisDefinition; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the executeSiteAnalysis operation. - */ -export type DiagnosticsExecuteSiteAnalysisResponse = DiagnosticAnalysis & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAseV3NetworkingConfiguration operation. */ +export type AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse = AseV3NetworkingConfiguration; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticAnalysis; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDetectors operation. - */ -export type DiagnosticsListSiteDetectorsResponse = DiagnosticDetectorCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateAseNetworkingConfiguration operation. */ +export type AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse = AseV3NetworkingConfiguration; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticDetectorCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListDiagnosticsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteDetector operation. - */ -export type DiagnosticsGetSiteDetectorResponse = DetectorDefinition & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listDiagnostics operation. */ +export type AppServiceEnvironmentsListDiagnosticsResponse = HostingEnvironmentDiagnostics[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorDefinition; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetDiagnosticsItemOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the executeSiteDetector operation. - */ -export type DiagnosticsExecuteSiteDetectorResponse = DiagnosticDetectorResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getDiagnosticsItem operation. */ +export type AppServiceEnvironmentsGetDiagnosticsItemResponse = HostingEnvironmentDiagnostics; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticDetectorResponse; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDetectorResponsesSlot operation. - */ -export type DiagnosticsListSiteDetectorResponsesSlotResponse = DetectorResponseCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getInboundNetworkDependenciesEndpoints operation. */ +export type AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse = InboundEnvironmentEndpointCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponseCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRolePoolsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteDetectorResponseSlot operation. - */ -export type DiagnosticsGetSiteDetectorResponseSlotResponse = DetectorResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listMultiRolePools operation. */ +export type AppServiceEnvironmentsListMultiRolePoolsResponse = WorkerPoolCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponse; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetMultiRolePoolOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDiagnosticCategoriesSlot operation. - */ -export type DiagnosticsListSiteDiagnosticCategoriesSlotResponse = DiagnosticCategoryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getMultiRolePool operation. */ +export type AppServiceEnvironmentsGetMultiRolePoolResponse = WorkerPoolResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticCategoryCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams + extends coreClient.OperationOptions { + /** 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 getSiteDiagnosticCategorySlot operation. - */ -export type DiagnosticsGetSiteDiagnosticCategorySlotResponse = DiagnosticCategory & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateMultiRolePool operation. */ +export type AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse = WorkerPoolResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticCategory; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsUpdateMultiRolePoolOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteAnalysesSlot operation. - */ -export type DiagnosticsListSiteAnalysesSlotResponse = DiagnosticAnalysisCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateMultiRolePool operation. */ +export type AppServiceEnvironmentsUpdateMultiRolePoolResponse = WorkerPoolResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticAnalysisCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteAnalysisSlot operation. - */ -export type DiagnosticsGetSiteAnalysisSlotResponse = AnalysisDefinition & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listMultiRolePoolInstanceMetricDefinitions operation. */ +export type AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse = ResourceMetricDefinitionCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AnalysisDefinition; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the executeSiteAnalysisSlot operation. - */ -export type DiagnosticsExecuteSiteAnalysisSlotResponse = DiagnosticAnalysis & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listMultiRoleMetricDefinitions operation. */ +export type AppServiceEnvironmentsListMultiRoleMetricDefinitionsResponse = ResourceMetricDefinitionCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticAnalysis; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDetectorsSlot operation. - */ -export type DiagnosticsListSiteDetectorsSlotResponse = DiagnosticDetectorCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listMultiRolePoolSkus operation. */ +export type AppServiceEnvironmentsListMultiRolePoolSkusResponse = SkuInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticDetectorCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRoleUsagesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteDetectorSlot operation. - */ -export type DiagnosticsGetSiteDetectorSlotResponse = DetectorDefinition & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listMultiRoleUsages operation. */ +export type AppServiceEnvironmentsListMultiRoleUsagesResponse = UsageCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorDefinition; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListOperationsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the executeSiteDetectorSlot operation. - */ -export type DiagnosticsExecuteSiteDetectorSlotResponse = DiagnosticDetectorResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listOperations operation. */ +export type AppServiceEnvironmentsListOperationsResponse = Operation[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticDetectorResponse; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listHostingEnvironmentDetectorResponsesNext operation. - */ -export type DiagnosticsListHostingEnvironmentDetectorResponsesNextResponse = DetectorResponseCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getOutboundNetworkDependenciesEndpoints operation. */ +export type AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse = OutboundEnvironmentEndpointCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponseCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDetectorResponsesNext operation. - */ -export type DiagnosticsListSiteDetectorResponsesNextResponse = DetectorResponseCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPrivateEndpointConnectionList operation. */ +export type AppServiceEnvironmentsGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponseCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetPrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDiagnosticCategoriesNext operation. - */ -export type DiagnosticsListSiteDiagnosticCategoriesNextResponse = DiagnosticCategoryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPrivateEndpointConnection operation. */ +export type AppServiceEnvironmentsGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticCategoryCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions { + /** 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 listSiteAnalysesNext operation. - */ -export type DiagnosticsListSiteAnalysesNextResponse = DiagnosticAnalysisCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the approveOrRejectPrivateEndpointConnection operation. */ +export type AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticAnalysisCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions { + /** 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 listSiteDetectorsNext operation. - */ -export type DiagnosticsListSiteDetectorsNextResponse = DiagnosticDetectorCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the deletePrivateEndpointConnection operation. */ +export type AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse = Record< + string, + unknown +>; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticDetectorCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetPrivateLinkResourcesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDetectorResponsesSlotNext operation. - */ -export type DiagnosticsListSiteDetectorResponsesSlotNextResponse = DetectorResponseCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPrivateLinkResources operation. */ +export type AppServiceEnvironmentsGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DetectorResponseCollection; - }; -}; +/** Optional parameters. */ +export interface AppServiceEnvironmentsRebootOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteDiagnosticCategoriesSlotNext operation. - */ -export type DiagnosticsListSiteDiagnosticCategoriesSlotNextResponse = DiagnosticCategoryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsResumeOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticCategoryCollection; - }; -}; +/** Contains response data for the resume operation. */ +export type AppServiceEnvironmentsResumeResponse = WebAppCollection; -/** - * Contains response data for the listSiteAnalysesSlotNext operation. - */ -export type DiagnosticsListSiteAnalysesSlotNextResponse = DiagnosticAnalysisCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListAppServicePlansOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticAnalysisCollection; - }; -}; +/** Contains response data for the listAppServicePlans operation. */ +export type AppServiceEnvironmentsListAppServicePlansResponse = AppServicePlanCollection; -/** - * Contains response data for the listSiteDetectorsSlotNext operation. - */ -export type DiagnosticsListSiteDetectorsSlotNextResponse = DiagnosticDetectorCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWebAppsOptionalParams + extends coreClient.OperationOptions { + /** Comma separated list of app properties to include. */ + propertiesToInclude?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DiagnosticDetectorCollection; - }; -}; +/** Contains response data for the listWebApps operation. */ +export type AppServiceEnvironmentsListWebAppsResponse = WebAppCollection; -/** - * Contains response data for the getDeletedWebApp operation. - */ -export type GlobalGetDeletedWebAppResponse = DeletedSite & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsSuspendOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedSite; - }; -}; +/** Contains response data for the suspend operation. */ +export type AppServiceEnvironmentsSuspendResponse = WebAppCollection; -/** - * Contains response data for the getDeletedWebAppSnapshots operation. - */ -export type GlobalGetDeletedWebAppSnapshotsResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListUsagesOptionalParams + extends coreClient.OperationOptions { + /** Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Snapshot[]; - }; -}; +/** Contains response data for the listUsages operation. */ +export type AppServiceEnvironmentsListUsagesResponse = CsmUsageQuotaCollection; -/** - * Contains response data for the getAvailableStacks operation. - */ -export type ProviderGetAvailableStacksResponse = ApplicationStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWorkerPoolsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApplicationStackCollection; - }; -}; +/** Contains response data for the listWorkerPools operation. */ +export type AppServiceEnvironmentsListWorkerPoolsResponse = WorkerPoolCollection; -/** - * Contains response data for the getFunctionAppStacks operation. - */ -export type ProviderGetFunctionAppStacksResponse = FunctionAppStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetWorkerPoolOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionAppStackCollection; - }; -}; +/** Contains response data for the getWorkerPool operation. */ +export type AppServiceEnvironmentsGetWorkerPoolResponse = WorkerPoolResource; -/** - * Contains response data for the getFunctionAppStacksForLocation operation. - */ -export type ProviderGetFunctionAppStacksForLocationResponse = FunctionAppStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionAppStackCollection; - }; -}; +/** Contains response data for the createOrUpdateWorkerPool operation. */ +export type AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse = WorkerPoolResource; -/** - * Contains response data for the getWebAppStacksForLocation operation. - */ -export type ProviderGetWebAppStacksForLocationResponse = WebAppStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsUpdateWorkerPoolOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppStackCollection; - }; -}; +/** Contains response data for the updateWorkerPool operation. */ +export type AppServiceEnvironmentsUpdateWorkerPoolResponse = WorkerPoolResource; -/** - * Contains response data for the listOperations operation. - */ -export type ProviderListOperationsResponse = CsmOperationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmOperationCollection; - }; -}; +/** Contains response data for the listWorkerPoolInstanceMetricDefinitions operation. */ +export type AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse = ResourceMetricDefinitionCollection; -/** - * Contains response data for the getWebAppStacks operation. - */ -export type ProviderGetWebAppStacksResponse = WebAppStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppStackCollection; - }; -}; +/** Contains response data for the listWebWorkerMetricDefinitions operation. */ +export type AppServiceEnvironmentsListWebWorkerMetricDefinitionsResponse = ResourceMetricDefinitionCollection; -/** - * Contains response data for the getAvailableStacksOnPrem operation. - */ -export type ProviderGetAvailableStacksOnPremResponse = ApplicationStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWorkerPoolSkusOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApplicationStackCollection; - }; -}; +/** Contains response data for the listWorkerPoolSkus operation. */ +export type AppServiceEnvironmentsListWorkerPoolSkusResponse = SkuInfoCollection; -/** - * Contains response data for the getAvailableStacksNext operation. - */ -export type ProviderGetAvailableStacksNextResponse = ApplicationStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWebWorkerUsagesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listWebWorkerUsages operation. */ +export type AppServiceEnvironmentsListWebWorkerUsagesResponse = UsageCollection; + +/** Optional parameters. */ +export interface AppServiceEnvironmentsListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApplicationStackCollection; - }; -}; +/** Contains response data for the listNext operation. */ +export type AppServiceEnvironmentsListNextResponse = AppServiceEnvironmentCollection; -/** - * Contains response data for the getFunctionAppStacksNext operation. - */ -export type ProviderGetFunctionAppStacksNextResponse = FunctionAppStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionAppStackCollection; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type AppServiceEnvironmentsListByResourceGroupNextResponse = AppServiceEnvironmentCollection; -/** - * Contains response data for the getFunctionAppStacksForLocationNext operation. - */ -export type ProviderGetFunctionAppStacksForLocationNextResponse = FunctionAppStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListCapacitiesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionAppStackCollection; - }; -}; +/** Contains response data for the listCapacitiesNext operation. */ +export type AppServiceEnvironmentsListCapacitiesNextResponse = StampCapacityCollection; -/** - * Contains response data for the getWebAppStacksForLocationNext operation. - */ -export type ProviderGetWebAppStacksForLocationNextResponse = WebAppStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsChangeVnetNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppStackCollection; - }; -}; +/** Contains response data for the changeVnetNext operation. */ +export type AppServiceEnvironmentsChangeVnetNextResponse = WebAppCollection; -/** - * Contains response data for the listOperationsNext operation. - */ -export type ProviderListOperationsNextResponse = CsmOperationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmOperationCollection; - }; -}; +/** Contains response data for the getInboundNetworkDependenciesEndpointsNext operation. */ +export type AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextResponse = InboundEnvironmentEndpointCollection; -/** - * Contains response data for the getWebAppStacksNext operation. - */ -export type ProviderGetWebAppStacksNextResponse = WebAppStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRolePoolsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppStackCollection; - }; -}; +/** Contains response data for the listMultiRolePoolsNext operation. */ +export type AppServiceEnvironmentsListMultiRolePoolsNextResponse = WorkerPoolCollection; -/** - * Contains response data for the getAvailableStacksOnPremNext operation. - */ -export type ProviderGetAvailableStacksOnPremNextResponse = ApplicationStackCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApplicationStackCollection; - }; -}; +/** Contains response data for the listMultiRolePoolInstanceMetricDefinitionsNext operation. */ +export type AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection; -/** - * Contains response data for the list operation. - */ -export type RecommendationsListResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRoleMetricDefinitionsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the listMultiRoleMetricDefinitionsNext operation. */ +export type AppServiceEnvironmentsListMultiRoleMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection; -/** - * Contains response data for the listHistoryForHostingEnvironment operation. - */ -export type RecommendationsListHistoryForHostingEnvironmentResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRolePoolSkusNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the listMultiRolePoolSkusNext operation. */ +export type AppServiceEnvironmentsListMultiRolePoolSkusNextResponse = SkuInfoCollection; -/** - * Contains response data for the listRecommendedRulesForHostingEnvironment operation. - */ -export type RecommendationsListRecommendedRulesForHostingEnvironmentResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListMultiRoleUsagesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the listMultiRoleUsagesNext operation. */ +export type AppServiceEnvironmentsListMultiRoleUsagesNextResponse = UsageCollection; -/** - * Contains response data for the getRuleDetailsByHostingEnvironment operation. - */ -export type RecommendationsGetRuleDetailsByHostingEnvironmentResponse = RecommendationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationRule; - }; -}; +/** Contains response data for the getOutboundNetworkDependenciesEndpointsNext operation. */ +export type AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextResponse = OutboundEnvironmentEndpointCollection; -/** - * Contains response data for the listHistoryForWebApp operation. - */ -export type RecommendationsListHistoryForWebAppResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsGetPrivateEndpointConnectionListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the getPrivateEndpointConnectionListNext operation. */ +export type AppServiceEnvironmentsGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection; -/** - * Contains response data for the listRecommendedRulesForWebApp operation. - */ -export type RecommendationsListRecommendedRulesForWebAppResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsResumeNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the resumeNext operation. */ +export type AppServiceEnvironmentsResumeNextResponse = WebAppCollection; -/** - * Contains response data for the getRuleDetailsByWebApp operation. - */ -export type RecommendationsGetRuleDetailsByWebAppResponse = RecommendationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListAppServicePlansNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationRule; - }; -}; +/** Contains response data for the listAppServicePlansNext operation. */ +export type AppServiceEnvironmentsListAppServicePlansNextResponse = AppServicePlanCollection; -/** - * Contains response data for the listNext operation. - */ -export type RecommendationsListNextResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWebAppsNextOptionalParams + extends coreClient.OperationOptions { + /** Comma separated list of app properties to include. */ + propertiesToInclude?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the listWebAppsNext operation. */ +export type AppServiceEnvironmentsListWebAppsNextResponse = WebAppCollection; -/** - * Contains response data for the listHistoryForHostingEnvironmentNext operation. - */ -export type RecommendationsListHistoryForHostingEnvironmentNextResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsSuspendNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the suspendNext operation. */ +export type AppServiceEnvironmentsSuspendNextResponse = WebAppCollection; -/** - * Contains response data for the listRecommendedRulesForHostingEnvironmentNext operation. - */ -export type RecommendationsListRecommendedRulesForHostingEnvironmentNextResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListUsagesNextOptionalParams + extends coreClient.OperationOptions { + /** Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the listUsagesNext operation. */ +export type AppServiceEnvironmentsListUsagesNextResponse = CsmUsageQuotaCollection; -/** - * Contains response data for the listHistoryForWebAppNext operation. - */ -export type RecommendationsListHistoryForWebAppNextResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWorkerPoolsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the listWorkerPoolsNext operation. */ +export type AppServiceEnvironmentsListWorkerPoolsNextResponse = WorkerPoolCollection; -/** - * Contains response data for the listRecommendedRulesForWebAppNext operation. - */ -export type RecommendationsListRecommendedRulesForWebAppNextResponse = RecommendationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendationCollection; - }; -}; +/** Contains response data for the listWorkerPoolInstanceMetricDefinitionsNext operation. */ +export type AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection; -/** - * Contains response data for the generateGithubAccessTokenForAppserviceCLIAsync operation. - */ -export type GenerateGithubAccessTokenForAppserviceCLIAsyncResponse = AppserviceGithubToken & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWebWorkerMetricDefinitionsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppserviceGithubToken; - }; -}; +/** Contains response data for the listWebWorkerMetricDefinitionsNext operation. */ +export type AppServiceEnvironmentsListWebWorkerMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection; -/** - * Contains response data for the getPublishingUser operation. - */ -export type GetPublishingUserResponse = User & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWorkerPoolSkusNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: User; - }; -}; +/** Contains response data for the listWorkerPoolSkusNext operation. */ +export type AppServiceEnvironmentsListWorkerPoolSkusNextResponse = SkuInfoCollection; -/** - * Contains response data for the updatePublishingUser operation. - */ -export type UpdatePublishingUserResponse = User & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServiceEnvironmentsListWebWorkerUsagesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: User; - }; -}; +/** Contains response data for the listWebWorkerUsagesNext operation. */ +export type AppServiceEnvironmentsListWebWorkerUsagesNextResponse = UsageCollection; -/** - * Contains response data for the listSourceControls operation. - */ -export type ListSourceControlsResponse = SourceControlCollection & { +/** Optional parameters. */ +export interface AppServicePlansListOptionalParams + extends coreClient.OperationOptions { /** - * The underlying HTTP response. + * Specify true to return all App Service plan properties. The default is false, which returns a subset of the properties. + * Retrieval of all properties may increase the API latency. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; + detailed?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SourceControlCollection; - }; -}; +/** Contains response data for the list operation. */ +export type AppServicePlansListResponse = AppServicePlanCollection; -/** - * Contains response data for the getSourceControl operation. - */ -export type GetSourceControlResponse = SourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SourceControl; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type AppServicePlansListByResourceGroupResponse = AppServicePlanCollection; -/** - * Contains response data for the updateSourceControl operation. - */ -export type UpdateSourceControlResponse = SourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SourceControl; - }; -}; +/** Contains response data for the get operation. */ +export type AppServicePlansGetResponse = AppServicePlan; -/** - * Contains response data for the listBillingMeters operation. - */ -export type ListBillingMetersResponse = BillingMeterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BillingMeterCollection; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type AppServicePlansCreateOrUpdateResponse = AppServicePlan; -/** - * Contains response data for the checkNameAvailability operation. - */ -export type CheckNameAvailabilityResponse = ResourceNameAvailability & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceNameAvailability; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSubscriptionDeploymentLocations operation. - */ -export type GetSubscriptionDeploymentLocationsResponse = DeploymentLocations & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type AppServicePlansUpdateResponse = AppServicePlan; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeploymentLocations; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansListCapabilitiesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listGeoRegions operation. - */ -export type ListGeoRegionsResponse = GeoRegionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listCapabilities operation. */ +export type AppServicePlansListCapabilitiesResponse = Capability[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: GeoRegionCollection; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansGetHybridConnectionOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteIdentifiersAssignedToHostName operation. - */ -export type ListSiteIdentifiersAssignedToHostNameResponse = IdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getHybridConnection operation. */ +export type AppServicePlansGetHybridConnectionResponse = HybridConnection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: IdentifierCollection; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansDeleteHybridConnectionOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listPremierAddOnOffers operation. - */ -export type ListPremierAddOnOffersResponse = PremierAddOnOfferCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListHybridConnectionKeysOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOnOfferCollection; - }; -}; +/** Contains response data for the listHybridConnectionKeys operation. */ +export type AppServicePlansListHybridConnectionKeysResponse = HybridConnectionKey; -/** - * Contains response data for the listSkus operation. - */ -export type ListSkusResponse = SkuInfos & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListWebAppsByHybridConnectionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SkuInfos; - }; -}; +/** Contains response data for the listWebAppsByHybridConnection operation. */ +export type AppServicePlansListWebAppsByHybridConnectionResponse = ResourceCollection; -/** - * Contains response data for the verifyHostingEnvironmentVnet operation. - */ -export type VerifyHostingEnvironmentVnetResponse = VnetValidationFailureDetails & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansGetHybridConnectionPlanLimitOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetValidationFailureDetails; - }; -}; +/** Contains response data for the getHybridConnectionPlanLimit operation. */ +export type AppServicePlansGetHybridConnectionPlanLimitResponse = HybridConnectionLimits; -/** - * Contains response data for the validate operation. - */ -export type ValidateResponse2 = ValidateResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListHybridConnectionsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ValidateResponse; - }; -}; +/** Contains response data for the listHybridConnections operation. */ +export type AppServicePlansListHybridConnectionsResponse = HybridConnectionCollection; -/** - * Contains response data for the listSourceControlsNext operation. - */ -export type ListSourceControlsNextResponse = SourceControlCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansRestartWebAppsOptionalParams + extends coreClient.OperationOptions { + /** Specify true to perform a soft restart, applies the configuration settings and restarts the apps if necessary. The default is false, which always restarts and reprovisions the apps */ + softRestart?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SourceControlCollection; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansListWebAppsOptionalParams + extends coreClient.OperationOptions { + /** Supported filter: $filter=state eq running. Returns only web apps that are currently running */ + filter?: string; + /** Skip to a web app in the list of webapps associated with app service plan. If specified, the resulting list will contain web apps starting from (including) the skipToken. Otherwise, the resulting list contains web apps from the start of the list */ + skipToken?: string; + /** List page size. If specified, results are paged. */ + top?: string; +} -/** - * Contains response data for the listBillingMetersNext operation. - */ -export type ListBillingMetersNextResponse = BillingMeterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listWebApps operation. */ +export type AppServicePlansListWebAppsResponse = WebAppCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BillingMeterCollection; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansGetServerFarmSkusOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listGeoRegionsNext operation. - */ -export type ListGeoRegionsNextResponse = GeoRegionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getServerFarmSkus operation. */ +export type AppServicePlansGetServerFarmSkusResponse = Record; - /** - * The response body as parsed JSON or XML - */ - parsedBody: GeoRegionCollection; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansListUsagesOptionalParams + extends coreClient.OperationOptions { + /** Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2'). */ + filter?: string; +} -/** - * Contains response data for the listSiteIdentifiersAssignedToHostNameNext operation. - */ -export type ListSiteIdentifiersAssignedToHostNameNextResponse = IdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listUsages operation. */ +export type AppServicePlansListUsagesResponse = CsmUsageQuotaCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: IdentifierCollection; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansListVnetsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listPremierAddOnOffersNext operation. - */ -export type ListPremierAddOnOffersNextResponse = PremierAddOnOfferCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listVnets operation. */ +export type AppServicePlansListVnetsResponse = VnetInfoResource[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOnOfferCollection; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansGetVnetFromServerFarmOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type WebAppsListResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getVnetFromServerFarm operation. */ +export type AppServicePlansGetVnetFromServerFarmResponse = VnetInfoResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansGetVnetGatewayOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroup operation. - */ -export type WebAppsListByResourceGroupResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getVnetGateway operation. */ +export type AppServicePlansGetVnetGatewayResponse = VnetGateway; + +/** Optional parameters. */ +export interface AppServicePlansUpdateVnetGatewayOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the updateVnetGateway operation. */ +export type AppServicePlansUpdateVnetGatewayResponse = VnetGateway; -/** - * Contains response data for the get operation. - */ -export type WebAppsGetResponse = Site & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListRoutesForVnetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Site; - }; -}; +/** Contains response data for the listRoutesForVnet operation. */ +export type AppServicePlansListRoutesForVnetResponse = VnetRoute[]; -/** - * Contains response data for the createOrUpdate operation. - */ -export type WebAppsCreateOrUpdateResponse = Site & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansGetRouteForVnetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Site; - }; -}; +/** Contains response data for the getRouteForVnet operation. */ +export type AppServicePlansGetRouteForVnetResponse = VnetRoute[]; -/** - * Contains response data for the update operation. - */ -export type WebAppsUpdateResponse = Site & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansCreateOrUpdateVnetRouteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Site; - }; -}; +/** Contains response data for the createOrUpdateVnetRoute operation. */ +export type AppServicePlansCreateOrUpdateVnetRouteResponse = VnetRoute; -/** - * Contains response data for the analyzeCustomHostname operation. - */ -export type WebAppsAnalyzeCustomHostnameResponse = CustomHostnameAnalysisResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansDeleteVnetRouteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CustomHostnameAnalysisResult; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansUpdateVnetRouteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the backup operation. - */ -export type WebAppsBackupResponse = BackupItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateVnetRoute operation. */ +export type AppServicePlansUpdateVnetRouteResponse = VnetRoute; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItem; - }; -}; +/** Optional parameters. */ +export interface AppServicePlansRebootWorkerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBackups operation. - */ -export type WebAppsListBackupsResponse = BackupItemCollection & { +/** Optional parameters. */ +export interface AppServicePlansListNextOptionalParams + extends coreClient.OperationOptions { /** - * The underlying HTTP response. + * Specify true to return all App Service plan properties. The default is false, which returns a subset of the properties. + * Retrieval of all properties may increase the API latency. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; + detailed?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItemCollection; - }; -}; +/** Contains response data for the listNext operation. */ +export type AppServicePlansListNextResponse = AppServicePlanCollection; -/** - * Contains response data for the getBackupStatus operation. - */ -export type WebAppsGetBackupStatusResponse = BackupItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItem; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type AppServicePlansListByResourceGroupNextResponse = AppServicePlanCollection; -/** - * Contains response data for the listBackupStatusSecrets operation. - */ -export type WebAppsListBackupStatusSecretsResponse = BackupItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListWebAppsByHybridConnectionNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItem; - }; -}; +/** Contains response data for the listWebAppsByHybridConnectionNext operation. */ +export type AppServicePlansListWebAppsByHybridConnectionNextResponse = ResourceCollection; -/** - * Contains response data for the getBasicPublishingCredentialsPolicies operation. - */ -export type WebAppsGetBasicPublishingCredentialsPoliciesResponse = CsmPublishingCredentialsPoliciesCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListHybridConnectionsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesCollection; - }; -}; +/** Contains response data for the listHybridConnectionsNext operation. */ +export type AppServicePlansListHybridConnectionsNextResponse = HybridConnectionCollection; -/** - * Contains response data for the getFtpAllowed operation. - */ -export type WebAppsGetFtpAllowedResponse = CsmPublishingCredentialsPoliciesEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListWebAppsNextOptionalParams + extends coreClient.OperationOptions { + /** Supported filter: $filter=state eq running. Returns only web apps that are currently running */ + filter?: string; + /** Skip to a web app in the list of webapps associated with app service plan. If specified, the resulting list will contain web apps starting from (including) the skipToken. Otherwise, the resulting list contains web apps from the start of the list */ + skipToken?: string; + /** List page size. If specified, results are paged. */ + top?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesEntity; - }; -}; +/** Contains response data for the listWebAppsNext operation. */ +export type AppServicePlansListWebAppsNextResponse = WebAppCollection; -/** - * Contains response data for the updateFtpAllowed operation. - */ -export type WebAppsUpdateFtpAllowedResponse = CsmPublishingCredentialsPoliciesEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface AppServicePlansListUsagesNextOptionalParams + extends coreClient.OperationOptions { + /** Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2'). */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesEntity; - }; -}; +/** Contains response data for the listUsagesNext operation. */ +export type AppServicePlansListUsagesNextResponse = CsmUsageQuotaCollection; -/** - * Contains response data for the getScmAllowed operation. - */ -export type WebAppsGetScmAllowedResponse = CsmPublishingCredentialsPoliciesEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificatesListOptionalParams + extends coreClient.OperationOptions { + /** Return only information specified in the filter (using OData syntax). For example: $filter=KeyVaultId eq 'KeyVaultId' */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesEntity; - }; -}; +/** Contains response data for the list operation. */ +export type CertificatesListResponse = CertificateCollection; -/** - * Contains response data for the updateScmAllowed operation. - */ -export type WebAppsUpdateScmAllowedResponse = CsmPublishingCredentialsPoliciesEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificatesListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesEntity; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type CertificatesListByResourceGroupResponse = CertificateCollection; -/** - * Contains response data for the listConfigurations operation. - */ -export type WebAppsListConfigurationsResponse = SiteConfigResourceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificatesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResourceCollection; - }; -}; +/** Contains response data for the get operation. */ +export type CertificatesGetResponse = Certificate; -/** - * Contains response data for the updateApplicationSettings operation. - */ -export type WebAppsUpdateApplicationSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificatesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type CertificatesCreateOrUpdateResponse = Certificate; -/** - * Contains response data for the listApplicationSettings operation. - */ -export type WebAppsListApplicationSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CertificatesDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface CertificatesUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateAuthSettings operation. - */ -export type WebAppsUpdateAuthSettingsResponse = SiteAuthSettings & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type CertificatesUpdateResponse = Certificate; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteAuthSettings; - }; -}; +/** Optional parameters. */ +export interface CertificatesListNextOptionalParams + extends coreClient.OperationOptions { + /** Return only information specified in the filter (using OData syntax). For example: $filter=KeyVaultId eq 'KeyVaultId' */ + filter?: string; +} -/** - * Contains response data for the getAuthSettings operation. - */ -export type WebAppsGetAuthSettingsResponse = SiteAuthSettings & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type CertificatesListNextResponse = CertificateCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteAuthSettings; - }; -}; +/** Optional parameters. */ +export interface CertificatesListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateAuthSettingsV2 operation. - */ -export type WebAppsUpdateAuthSettingsV2Response = SiteAuthSettingsV2 & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupNext operation. */ +export type CertificatesListByResourceGroupNextResponse = CertificateCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteAuthSettingsV2; - }; -}; +/** Optional parameters. */ +export interface DeletedWebAppsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getAuthSettingsV2 operation. - */ -export type WebAppsGetAuthSettingsV2Response = SiteAuthSettingsV2 & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type DeletedWebAppsListResponse = DeletedWebAppCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteAuthSettingsV2; - }; -}; +/** Optional parameters. */ +export interface DeletedWebAppsListByLocationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateAzureStorageAccounts operation. - */ -export type WebAppsUpdateAzureStorageAccountsResponse = AzureStoragePropertyDictionaryResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocation operation. */ +export type DeletedWebAppsListByLocationResponse = DeletedWebAppCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AzureStoragePropertyDictionaryResource; - }; -}; +/** Optional parameters. */ +export interface DeletedWebAppsGetDeletedWebAppByLocationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAzureStorageAccounts operation. - */ -export type WebAppsListAzureStorageAccountsResponse = AzureStoragePropertyDictionaryResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getDeletedWebAppByLocation operation. */ +export type DeletedWebAppsGetDeletedWebAppByLocationResponse = DeletedSite; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AzureStoragePropertyDictionaryResource; - }; -}; +/** Optional parameters. */ +export interface DeletedWebAppsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateBackupConfiguration operation. - */ -export type WebAppsUpdateBackupConfigurationResponse = BackupRequest & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type DeletedWebAppsListNextResponse = DeletedWebAppCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupRequest; - }; -}; +/** Optional parameters. */ +export interface DeletedWebAppsListByLocationNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getBackupConfiguration operation. - */ -export type WebAppsGetBackupConfigurationResponse = BackupRequest & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocationNext operation. */ +export type DeletedWebAppsListByLocationNextResponse = DeletedWebAppCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupRequest; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getAppSettingsKeyVaultReferences operation. - */ -export type WebAppsGetAppSettingsKeyVaultReferencesResponse = ApiKVReferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listHostingEnvironmentDetectorResponses operation. */ +export type DiagnosticsListHostingEnvironmentDetectorResponsesResponse = DetectorResponseCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReferenceCollection; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams + extends coreClient.OperationOptions { + /** Start Time */ + startTime?: Date; + /** End Time */ + endTime?: Date; + /** Time Grain */ + timeGrain?: string; +} -/** - * Contains response data for the getAppSettingKeyVaultReference operation. - */ -export type WebAppsGetAppSettingKeyVaultReferenceResponse = ApiKVReference & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getHostingEnvironmentDetectorResponse operation. */ +export type DiagnosticsGetHostingEnvironmentDetectorResponseResponse = DetectorResponse; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReference; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsListSiteDetectorResponsesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteConnectionStringKeyVaultReferences operation. - */ -export type WebAppsGetSiteConnectionStringKeyVaultReferencesResponse = ApiKVReferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteDetectorResponses operation. */ +export type DiagnosticsListSiteDetectorResponsesResponse = DetectorResponseCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReferenceCollection; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsGetSiteDetectorResponseOptionalParams + extends coreClient.OperationOptions { + /** Start Time */ + startTime?: Date; + /** End Time */ + endTime?: Date; + /** Time Grain */ + timeGrain?: string; +} -/** - * Contains response data for the getSiteConnectionStringKeyVaultReference operation. - */ -export type WebAppsGetSiteConnectionStringKeyVaultReferenceResponse = ApiKVReference & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getSiteDetectorResponse operation. */ +export type DiagnosticsGetSiteDetectorResponseResponse = DetectorResponse; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReference; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsListSiteDiagnosticCategoriesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateConnectionStrings operation. - */ -export type WebAppsUpdateConnectionStringsResponse = ConnectionStringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteDiagnosticCategories operation. */ +export type DiagnosticsListSiteDiagnosticCategoriesResponse = DiagnosticCategoryCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConnectionStringDictionary; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsGetSiteDiagnosticCategoryOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listConnectionStrings operation. - */ -export type WebAppsListConnectionStringsResponse = ConnectionStringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getSiteDiagnosticCategory operation. */ +export type DiagnosticsGetSiteDiagnosticCategoryResponse = DiagnosticCategory; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConnectionStringDictionary; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsListSiteAnalysesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getDiagnosticLogsConfiguration operation. - */ -export type WebAppsGetDiagnosticLogsConfigurationResponse = SiteLogsConfig & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteAnalyses operation. */ +export type DiagnosticsListSiteAnalysesResponse = DiagnosticAnalysisCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteLogsConfig; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsGetSiteAnalysisOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateDiagnosticLogsConfig operation. - */ -export type WebAppsUpdateDiagnosticLogsConfigResponse = SiteLogsConfig & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getSiteAnalysis operation. */ +export type DiagnosticsGetSiteAnalysisResponse = AnalysisDefinition; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteLogsConfig; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsExecuteSiteAnalysisOptionalParams + extends coreClient.OperationOptions { + /** Start Time */ + startTime?: Date; + /** End Time */ + endTime?: Date; + /** Time Grain */ + timeGrain?: string; +} -/** - * Contains response data for the updateMetadata operation. - */ -export type WebAppsUpdateMetadataResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the executeSiteAnalysis operation. */ +export type DiagnosticsExecuteSiteAnalysisResponse = DiagnosticAnalysis; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsListSiteDetectorsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMetadata operation. - */ -export type WebAppsListMetadataResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteDetectors operation. */ +export type DiagnosticsListSiteDetectorsResponse = DiagnosticDetectorCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsGetSiteDetectorOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listPublishingCredentials operation. - */ -export type WebAppsListPublishingCredentialsResponse = User & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getSiteDetector operation. */ +export type DiagnosticsGetSiteDetectorResponse = DetectorDefinitionResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: User; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsExecuteSiteDetectorOptionalParams + extends coreClient.OperationOptions { + /** Start Time */ + startTime?: Date; + /** End Time */ + endTime?: Date; + /** Time Grain */ + timeGrain?: string; +} -/** - * Contains response data for the updateSitePushSettings operation. - */ -export type WebAppsUpdateSitePushSettingsResponse = PushSettings & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the executeSiteDetector operation. */ +export type DiagnosticsExecuteSiteDetectorResponse = DiagnosticDetectorResponse; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PushSettings; - }; -}; +/** Optional parameters. */ +export interface DiagnosticsListSiteDetectorResponsesSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSitePushSettings operation. - */ -export type WebAppsListSitePushSettingsResponse = PushSettings & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteDetectorResponsesSlot operation. */ +export type DiagnosticsListSiteDetectorResponsesSlotResponse = DetectorResponseCollection; + +/** Optional parameters. */ +export interface DiagnosticsGetSiteDetectorResponseSlotOptionalParams + extends coreClient.OperationOptions { + /** Start Time */ + startTime?: Date; + /** End Time */ + endTime?: Date; + /** Time Grain */ + timeGrain?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PushSettings; - }; -}; +/** Contains response data for the getSiteDetectorResponseSlot operation. */ +export type DiagnosticsGetSiteDetectorResponseSlotResponse = DetectorResponse; -/** - * Contains response data for the listSlotConfigurationNames operation. - */ -export type WebAppsListSlotConfigurationNamesResponse = SlotConfigNamesResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SlotConfigNamesResource; - }; -}; +/** Contains response data for the listSiteDiagnosticCategoriesSlot operation. */ +export type DiagnosticsListSiteDiagnosticCategoriesSlotResponse = DiagnosticCategoryCollection; -/** - * Contains response data for the updateSlotConfigurationNames operation. - */ -export type WebAppsUpdateSlotConfigurationNamesResponse = SlotConfigNamesResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsGetSiteDiagnosticCategorySlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SlotConfigNamesResource; - }; -}; +/** Contains response data for the getSiteDiagnosticCategorySlot operation. */ +export type DiagnosticsGetSiteDiagnosticCategorySlotResponse = DiagnosticCategory; -/** - * Contains response data for the getConfiguration operation. - */ -export type WebAppsGetConfigurationResponse = SiteConfigResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteAnalysesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResource; - }; -}; +/** Contains response data for the listSiteAnalysesSlot operation. */ +export type DiagnosticsListSiteAnalysesSlotResponse = DiagnosticAnalysisCollection; -/** - * Contains response data for the createOrUpdateConfiguration operation. - */ -export type WebAppsCreateOrUpdateConfigurationResponse = SiteConfigResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsGetSiteAnalysisSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResource; - }; -}; +/** Contains response data for the getSiteAnalysisSlot operation. */ +export type DiagnosticsGetSiteAnalysisSlotResponse = AnalysisDefinition; -/** - * Contains response data for the updateConfiguration operation. - */ -export type WebAppsUpdateConfigurationResponse = SiteConfigResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsExecuteSiteAnalysisSlotOptionalParams + extends coreClient.OperationOptions { + /** Start Time */ + startTime?: Date; + /** End Time */ + endTime?: Date; + /** Time Grain */ + timeGrain?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResource; - }; -}; +/** Contains response data for the executeSiteAnalysisSlot operation. */ +export type DiagnosticsExecuteSiteAnalysisSlotResponse = DiagnosticAnalysis; -/** - * Contains response data for the listConfigurationSnapshotInfo operation. - */ -export type WebAppsListConfigurationSnapshotInfoResponse = SiteConfigurationSnapshotInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteDetectorsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigurationSnapshotInfoCollection; - }; -}; +/** Contains response data for the listSiteDetectorsSlot operation. */ +export type DiagnosticsListSiteDetectorsSlotResponse = DiagnosticDetectorCollection; -/** - * Contains response data for the getConfigurationSnapshot operation. - */ -export type WebAppsGetConfigurationSnapshotResponse = SiteConfigResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsGetSiteDetectorSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResource; - }; -}; +/** Contains response data for the getSiteDetectorSlot operation. */ +export type DiagnosticsGetSiteDetectorSlotResponse = DetectorDefinitionResource; -/** - * Contains response data for the getWebSiteContainerLogs operation. - */ -export type WebAppsGetWebSiteContainerLogsResponse = { - /** - * BROWSER ONLY - * - * The response body as a browser Blob. - * Always undefined in node.js. - */ - blobBody?: Promise; +/** Optional parameters. */ +export interface DiagnosticsExecuteSiteDetectorSlotOptionalParams + extends coreClient.OperationOptions { + /** Start Time */ + startTime?: Date; + /** End Time */ + endTime?: Date; + /** Time Grain */ + timeGrain?: string; +} - /** - * NODEJS ONLY - * - * The response body as a node.js Readable stream. - * Always undefined in the browser. - */ - readableStreamBody?: NodeJS.ReadableStream; +/** Contains response data for the executeSiteDetectorSlot operation. */ +export type DiagnosticsExecuteSiteDetectorSlotResponse = DiagnosticDetectorResponse; - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; -}; +/** Optional parameters. */ +export interface DiagnosticsListHostingEnvironmentDetectorResponsesNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getContainerLogsZip operation. - */ -export type WebAppsGetContainerLogsZipResponse = { - /** - * BROWSER ONLY - * - * The response body as a browser Blob. - * Always undefined in node.js. - */ - blobBody?: Promise; +/** Contains response data for the listHostingEnvironmentDetectorResponsesNext operation. */ +export type DiagnosticsListHostingEnvironmentDetectorResponsesNextResponse = DetectorResponseCollection; - /** - * NODEJS ONLY - * - * The response body as a node.js Readable stream. - * Always undefined in the browser. - */ - readableStreamBody?: NodeJS.ReadableStream; +/** Optional parameters. */ +export interface DiagnosticsListSiteDetectorResponsesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; -}; +/** Contains response data for the listSiteDetectorResponsesNext operation. */ +export type DiagnosticsListSiteDetectorResponsesNextResponse = DetectorResponseCollection; -/** - * Contains response data for the listContinuousWebJobs operation. - */ -export type WebAppsListContinuousWebJobsResponse = ContinuousWebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteDiagnosticCategoriesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ContinuousWebJobCollection; - }; -}; +/** Contains response data for the listSiteDiagnosticCategoriesNext operation. */ +export type DiagnosticsListSiteDiagnosticCategoriesNextResponse = DiagnosticCategoryCollection; -/** - * Contains response data for the getContinuousWebJob operation. - */ -export type WebAppsGetContinuousWebJobResponse = ContinuousWebJob & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteAnalysesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ContinuousWebJob; - }; -}; +/** Contains response data for the listSiteAnalysesNext operation. */ +export type DiagnosticsListSiteAnalysesNextResponse = DiagnosticAnalysisCollection; -/** - * Contains response data for the listDeployments operation. - */ -export type WebAppsListDeploymentsResponse = DeploymentCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteDetectorsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeploymentCollection; - }; -}; +/** Contains response data for the listSiteDetectorsNext operation. */ +export type DiagnosticsListSiteDetectorsNextResponse = DiagnosticDetectorCollection; -/** - * Contains response data for the getDeployment operation. - */ -export type WebAppsGetDeploymentResponse = Deployment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteDetectorResponsesSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Deployment; - }; -}; +/** Contains response data for the listSiteDetectorResponsesSlotNext operation. */ +export type DiagnosticsListSiteDetectorResponsesSlotNextResponse = DetectorResponseCollection; -/** - * Contains response data for the createDeployment operation. - */ -export type WebAppsCreateDeploymentResponse = Deployment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteDiagnosticCategoriesSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Deployment; - }; -}; +/** Contains response data for the listSiteDiagnosticCategoriesSlotNext operation. */ +export type DiagnosticsListSiteDiagnosticCategoriesSlotNextResponse = DiagnosticCategoryCollection; -/** - * Contains response data for the listDeploymentLog operation. - */ -export type WebAppsListDeploymentLogResponse = Deployment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteAnalysesSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Deployment; - }; -}; +/** Contains response data for the listSiteAnalysesSlotNext operation. */ +export type DiagnosticsListSiteAnalysesSlotNextResponse = DiagnosticAnalysisCollection; -/** - * Contains response data for the discoverBackup operation. - */ -export type WebAppsDiscoverBackupResponse = RestoreRequest & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DiagnosticsListSiteDetectorsSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestoreRequest; - }; -}; +/** Contains response data for the listSiteDetectorsSlotNext operation. */ +export type DiagnosticsListSiteDetectorsSlotNextResponse = DiagnosticDetectorCollection; -/** - * Contains response data for the listDomainOwnershipIdentifiers operation. - */ -export type WebAppsListDomainOwnershipIdentifiersResponse = IdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface GlobalGetDeletedWebAppOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: IdentifierCollection; - }; -}; +/** Contains response data for the getDeletedWebApp operation. */ +export type GlobalGetDeletedWebAppResponse = DeletedSite; -/** - * Contains response data for the getDomainOwnershipIdentifier operation. - */ -export type WebAppsGetDomainOwnershipIdentifierResponse = Identifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface GlobalGetDeletedWebAppSnapshotsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Identifier; - }; -}; +/** Contains response data for the getDeletedWebAppSnapshots operation. */ +export type GlobalGetDeletedWebAppSnapshotsResponse = Snapshot[]; -/** - * Contains response data for the createOrUpdateDomainOwnershipIdentifier operation. - */ -export type WebAppsCreateOrUpdateDomainOwnershipIdentifierResponse = Identifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface GlobalGetSubscriptionOperationWithAsyncResponseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Identifier; - }; -}; +/** Optional parameters. */ +export interface KubeEnvironmentsListBySubscriptionOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateDomainOwnershipIdentifier operation. - */ -export type WebAppsUpdateDomainOwnershipIdentifierResponse = Identifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySubscription operation. */ +export type KubeEnvironmentsListBySubscriptionResponse = KubeEnvironmentCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Identifier; - }; -}; +/** Optional parameters. */ +export interface KubeEnvironmentsListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getMSDeployStatus operation. - */ -export type WebAppsGetMSDeployStatusResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroup operation. */ +export type KubeEnvironmentsListByResourceGroupResponse = KubeEnvironmentCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Optional parameters. */ +export interface KubeEnvironmentsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createMSDeployOperation operation. - */ -export type WebAppsCreateMSDeployOperationResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type KubeEnvironmentsGetResponse = KubeEnvironment; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Optional parameters. */ +export interface KubeEnvironmentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 getMSDeployLog operation. - */ -export type WebAppsGetMSDeployLogResponse = MSDeployLog & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type KubeEnvironmentsCreateOrUpdateResponse = KubeEnvironment; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployLog; - }; -}; +/** Optional parameters. */ +export interface KubeEnvironmentsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 listFunctions operation. - */ -export type WebAppsListFunctionsResponse = FunctionEnvelopeCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface KubeEnvironmentsUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelopeCollection; - }; -}; +/** Contains response data for the update operation. */ +export type KubeEnvironmentsUpdateResponse = KubeEnvironment; -/** - * Contains response data for the getFunctionsAdminToken operation. - */ -export type WebAppsGetFunctionsAdminTokenResponse = { - /** - * The parsed response body. - */ - body: string; +/** Optional parameters. */ +export interface KubeEnvironmentsListBySubscriptionNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySubscriptionNext operation. */ +export type KubeEnvironmentsListBySubscriptionNextResponse = KubeEnvironmentCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: string; - }; -}; +/** Optional parameters. */ +export interface KubeEnvironmentsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getFunction operation. - */ -export type WebAppsGetFunctionResponse = FunctionEnvelope & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupNext operation. */ +export type KubeEnvironmentsListByResourceGroupNextResponse = KubeEnvironmentCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelope; - }; -}; +/** Optional parameters. */ +export interface ProviderGetAvailableStacksOptionalParams + extends coreClient.OperationOptions { + osTypeSelected?: Enum10; +} -/** - * Contains response data for the createFunction operation. - */ -export type WebAppsCreateFunctionResponse = FunctionEnvelope & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAvailableStacks operation. */ +export type ProviderGetAvailableStacksResponse = ApplicationStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelope; - }; -}; +/** Optional parameters. */ +export interface ProviderGetFunctionAppStacksOptionalParams + extends coreClient.OperationOptions { + /** Stack OS Type */ + stackOsType?: Enum11; +} -/** - * Contains response data for the createOrUpdateFunctionSecret operation. - */ -export type WebAppsCreateOrUpdateFunctionSecretResponse = KeyInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getFunctionAppStacks operation. */ +export type ProviderGetFunctionAppStacksResponse = FunctionAppStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: KeyInfo; - }; -}; +/** Optional parameters. */ +export interface ProviderGetFunctionAppStacksForLocationOptionalParams + extends coreClient.OperationOptions { + /** Stack OS Type */ + stackOsType?: Enum12; +} -/** - * Contains response data for the listFunctionKeys operation. - */ -export type WebAppsListFunctionKeysResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getFunctionAppStacksForLocation operation. */ +export type ProviderGetFunctionAppStacksForLocationResponse = FunctionAppStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface ProviderGetWebAppStacksForLocationOptionalParams + extends coreClient.OperationOptions { + /** Stack OS Type */ + stackOsType?: Enum13; +} -/** - * Contains response data for the listFunctionSecrets operation. - */ -export type WebAppsListFunctionSecretsResponse = FunctionSecrets & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getWebAppStacksForLocation operation. */ +export type ProviderGetWebAppStacksForLocationResponse = WebAppStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionSecrets; - }; -}; +/** Optional parameters. */ +export interface ProviderListOperationsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listHostKeys operation. - */ -export type WebAppsListHostKeysResponse = HostKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listOperations operation. */ +export type ProviderListOperationsResponse = CsmOperationCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostKeys; - }; -}; +/** Optional parameters. */ +export interface ProviderGetWebAppStacksOptionalParams + extends coreClient.OperationOptions { + /** Stack OS Type */ + stackOsType?: Enum14; +} -/** - * Contains response data for the createOrUpdateHostSecret operation. - */ -export type WebAppsCreateOrUpdateHostSecretResponse = KeyInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getWebAppStacks operation. */ +export type ProviderGetWebAppStacksResponse = WebAppStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: KeyInfo; - }; -}; +/** Optional parameters. */ +export interface ProviderGetAvailableStacksOnPremOptionalParams + extends coreClient.OperationOptions { + osTypeSelected?: Enum15; +} -/** - * Contains response data for the listHostNameBindings operation. - */ -export type WebAppsListHostNameBindingsResponse = HostNameBindingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAvailableStacksOnPrem operation. */ +export type ProviderGetAvailableStacksOnPremResponse = ApplicationStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostNameBindingCollection; - }; -}; +/** Optional parameters. */ +export interface ProviderGetAvailableStacksNextOptionalParams + extends coreClient.OperationOptions { + osTypeSelected?: Enum10; +} -/** - * Contains response data for the getHostNameBinding operation. - */ -export type WebAppsGetHostNameBindingResponse = HostNameBinding & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAvailableStacksNext operation. */ +export type ProviderGetAvailableStacksNextResponse = ApplicationStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostNameBinding; - }; -}; +/** Optional parameters. */ +export interface ProviderGetFunctionAppStacksNextOptionalParams + extends coreClient.OperationOptions { + /** Stack OS Type */ + stackOsType?: Enum11; +} -/** - * Contains response data for the createOrUpdateHostNameBinding operation. - */ -export type WebAppsCreateOrUpdateHostNameBindingResponse = HostNameBinding & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getFunctionAppStacksNext operation. */ +export type ProviderGetFunctionAppStacksNextResponse = FunctionAppStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostNameBinding; - }; -}; +/** Optional parameters. */ +export interface ProviderGetFunctionAppStacksForLocationNextOptionalParams + extends coreClient.OperationOptions { + /** Stack OS Type */ + stackOsType?: Enum12; +} -/** - * Contains response data for the getHybridConnection operation. - */ -export type WebAppsGetHybridConnectionResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getFunctionAppStacksForLocationNext operation. */ +export type ProviderGetFunctionAppStacksForLocationNextResponse = FunctionAppStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Optional parameters. */ +export interface ProviderGetWebAppStacksForLocationNextOptionalParams + extends coreClient.OperationOptions { + /** Stack OS Type */ + stackOsType?: Enum13; +} -/** - * Contains response data for the createOrUpdateHybridConnection operation. - */ -export type WebAppsCreateOrUpdateHybridConnectionResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getWebAppStacksForLocationNext operation. */ +export type ProviderGetWebAppStacksForLocationNextResponse = WebAppStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Optional parameters. */ +export interface ProviderListOperationsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateHybridConnection operation. - */ -export type WebAppsUpdateHybridConnectionResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listOperationsNext operation. */ +export type ProviderListOperationsNextResponse = CsmOperationCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Optional parameters. */ +export interface ProviderGetWebAppStacksNextOptionalParams + extends coreClient.OperationOptions { + /** Stack OS Type */ + stackOsType?: Enum14; +} -/** - * Contains response data for the listHybridConnections operation. - */ -export type WebAppsListHybridConnectionsResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getWebAppStacksNext operation. */ +export type ProviderGetWebAppStacksNextResponse = WebAppStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Optional parameters. */ +export interface ProviderGetAvailableStacksOnPremNextOptionalParams + extends coreClient.OperationOptions { + osTypeSelected?: Enum15; +} -/** - * Contains response data for the listRelayServiceConnections operation. - */ -export type WebAppsListRelayServiceConnectionsResponse = RelayServiceConnectionEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAvailableStacksOnPremNext operation. */ +export type ProviderGetAvailableStacksOnPremNextResponse = ApplicationStackCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RelayServiceConnectionEntity; - }; -}; +/** Optional parameters. */ +export interface RecommendationsListOptionalParams + extends coreClient.OperationOptions { + /** Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D] */ + filter?: string; + /** Specify true to return only the most critical recommendations. The default is false, which returns all recommendations. */ + featured?: boolean; +} -/** - * Contains response data for the getRelayServiceConnection operation. - */ -export type WebAppsGetRelayServiceConnectionResponse = RelayServiceConnectionEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type RecommendationsListResponse = RecommendationCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RelayServiceConnectionEntity; - }; -}; +/** Optional parameters. */ +export interface RecommendationsResetAllFiltersOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateRelayServiceConnection operation. - */ -export type WebAppsCreateOrUpdateRelayServiceConnectionResponse = RelayServiceConnectionEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsDisableRecommendationForSubscriptionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RelayServiceConnectionEntity; - }; -}; +/** Optional parameters. */ +export interface RecommendationsListHistoryForHostingEnvironmentOptionalParams + extends coreClient.OperationOptions { + /** Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D] */ + filter?: string; + /** Specify false to return all recommendations. The default is true, which returns only expired recommendations. */ + expiredOnly?: boolean; +} -/** - * Contains response data for the updateRelayServiceConnection operation. - */ -export type WebAppsUpdateRelayServiceConnectionResponse = RelayServiceConnectionEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listHistoryForHostingEnvironment operation. */ +export type RecommendationsListHistoryForHostingEnvironmentResponse = RecommendationCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RelayServiceConnectionEntity; - }; -}; +/** Optional parameters. */ +export interface RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams + extends coreClient.OperationOptions { + /** Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' */ + filter?: string; + /** Specify true to return only the most critical recommendations. The default is false, which returns all recommendations. */ + featured?: boolean; +} -/** - * Contains response data for the listInstanceIdentifiers operation. - */ -export type WebAppsListInstanceIdentifiersResponse = WebAppInstanceStatusCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listRecommendedRulesForHostingEnvironment operation. */ +export type RecommendationsListRecommendedRulesForHostingEnvironmentResponse = RecommendationCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppInstanceStatusCollection; - }; -}; +/** Optional parameters. */ +export interface RecommendationsDisableAllForHostingEnvironmentOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInstanceInfo operation. - */ -export type WebAppsGetInstanceInfoResponse = WebSiteInstanceStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsResetAllFiltersForHostingEnvironmentOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebSiteInstanceStatus; - }; -}; +/** Optional parameters. */ +export interface RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams + extends coreClient.OperationOptions { + /** Specify true to update the last-seen timestamp of the recommendation object. */ + updateSeen?: boolean; + /** The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry. */ + recommendationId?: string; +} -/** - * Contains response data for the getInstanceMsDeployStatus operation. - */ -export type WebAppsGetInstanceMsDeployStatusResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getRuleDetailsByHostingEnvironment operation. */ +export type RecommendationsGetRuleDetailsByHostingEnvironmentResponse = RecommendationRule; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Optional parameters. */ +export interface RecommendationsDisableRecommendationForHostingEnvironmentOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createInstanceMSDeployOperation operation. - */ -export type WebAppsCreateInstanceMSDeployOperationResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsListHistoryForWebAppOptionalParams + extends coreClient.OperationOptions { + /** Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D] */ + filter?: string; + /** Specify false to return all recommendations. The default is true, which returns only expired recommendations. */ + expiredOnly?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Contains response data for the listHistoryForWebApp operation. */ +export type RecommendationsListHistoryForWebAppResponse = RecommendationCollection; -/** - * Contains response data for the getInstanceMSDeployLog operation. - */ -export type WebAppsGetInstanceMSDeployLogResponse = MSDeployLog & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsListRecommendedRulesForWebAppOptionalParams + extends coreClient.OperationOptions { + /** Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' */ + filter?: string; + /** Specify true to return only the most critical recommendations. The default is false, which returns all recommendations. */ + featured?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployLog; - }; -}; +/** Contains response data for the listRecommendedRulesForWebApp operation. */ +export type RecommendationsListRecommendedRulesForWebAppResponse = RecommendationCollection; -/** - * Contains response data for the listInstanceProcesses operation. - */ -export type WebAppsListInstanceProcessesResponse = ProcessInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsDisableAllForWebAppOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfoCollection; - }; -}; +/** Optional parameters. */ +export interface RecommendationsResetAllFiltersForWebAppOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInstanceProcess operation. - */ -export type WebAppsGetInstanceProcessResponse = ProcessInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsGetRuleDetailsByWebAppOptionalParams + extends coreClient.OperationOptions { + /** Specify true to update the last-seen timestamp of the recommendation object. */ + updateSeen?: boolean; + /** The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry. */ + recommendationId?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfo; - }; -}; +/** Contains response data for the getRuleDetailsByWebApp operation. */ +export type RecommendationsGetRuleDetailsByWebAppResponse = RecommendationRule; -/** - * Contains response data for the getInstanceProcessDump operation. - */ -export type WebAppsGetInstanceProcessDumpResponse = { - /** - * BROWSER ONLY - * - * The response body as a browser Blob. - * Always undefined in node.js. - */ - blobBody?: Promise; +/** Optional parameters. */ +export interface RecommendationsDisableRecommendationForSiteOptionalParams + extends coreClient.OperationOptions {} - /** - * NODEJS ONLY - * - * The response body as a node.js Readable stream. - * Always undefined in the browser. - */ - readableStreamBody?: NodeJS.ReadableStream; +/** Optional parameters. */ +export interface RecommendationsListNextOptionalParams + extends coreClient.OperationOptions { + /** Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D] */ + filter?: string; + /** Specify true to return only the most critical recommendations. The default is false, which returns all recommendations. */ + featured?: boolean; +} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; -}; +/** Contains response data for the listNext operation. */ +export type RecommendationsListNextResponse = RecommendationCollection; -/** - * Contains response data for the listInstanceProcessModules operation. - */ -export type WebAppsListInstanceProcessModulesResponse = ProcessModuleInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsListHistoryForHostingEnvironmentNextOptionalParams + extends coreClient.OperationOptions { + /** Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D] */ + filter?: string; + /** Specify false to return all recommendations. The default is true, which returns only expired recommendations. */ + expiredOnly?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfoCollection; - }; -}; +/** Contains response data for the listHistoryForHostingEnvironmentNext operation. */ +export type RecommendationsListHistoryForHostingEnvironmentNextResponse = RecommendationCollection; -/** - * Contains response data for the getInstanceProcessModule operation. - */ -export type WebAppsGetInstanceProcessModuleResponse = ProcessModuleInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsListRecommendedRulesForHostingEnvironmentNextOptionalParams + extends coreClient.OperationOptions { + /** Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' */ + filter?: string; + /** Specify true to return only the most critical recommendations. The default is false, which returns all recommendations. */ + featured?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfo; - }; -}; +/** Contains response data for the listRecommendedRulesForHostingEnvironmentNext operation. */ +export type RecommendationsListRecommendedRulesForHostingEnvironmentNextResponse = RecommendationCollection; -/** - * Contains response data for the listInstanceProcessThreads operation. - */ -export type WebAppsListInstanceProcessThreadsResponse = ProcessThreadInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsListHistoryForWebAppNextOptionalParams + extends coreClient.OperationOptions { + /** Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D] */ + filter?: string; + /** Specify false to return all recommendations. The default is true, which returns only expired recommendations. */ + expiredOnly?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessThreadInfoCollection; - }; -}; +/** Contains response data for the listHistoryForWebAppNext operation. */ +export type RecommendationsListHistoryForWebAppNextResponse = RecommendationCollection; -/** - * Contains response data for the isCloneable operation. - */ -export type WebAppsIsCloneableResponse = SiteCloneability & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendationsListRecommendedRulesForWebAppNextOptionalParams + extends coreClient.OperationOptions { + /** Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' */ + filter?: string; + /** Specify true to return only the most critical recommendations. The default is false, which returns all recommendations. */ + featured?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteCloneability; - }; -}; +/** Contains response data for the listRecommendedRulesForWebAppNext operation. */ +export type RecommendationsListRecommendedRulesForWebAppNextResponse = RecommendationCollection; -/** - * Contains response data for the listSiteBackups operation. - */ -export type WebAppsListSiteBackupsResponse = BackupItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItemCollection; - }; -}; +/** Contains response data for the list operation. */ +export type ResourceHealthMetadataOperationsListResponse = ResourceHealthMetadataCollection; -/** - * Contains response data for the listSyncFunctionTriggers operation. - */ -export type WebAppsListSyncFunctionTriggersResponse = FunctionSecrets & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionSecrets; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type ResourceHealthMetadataOperationsListByResourceGroupResponse = ResourceHealthMetadataCollection; -/** - * Contains response data for the migrateStorage operation. - */ -export type WebAppsMigrateStorageResponse = StorageMigrationResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsListBySiteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageMigrationResponse; - }; -}; +/** Contains response data for the listBySite operation. */ +export type ResourceHealthMetadataOperationsListBySiteResponse = ResourceHealthMetadataCollection; -/** - * Contains response data for the migrateMySql operation. - */ -export type WebAppsMigrateMySqlResponse = Operation & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsGetBySiteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Operation; - }; -}; +/** Contains response data for the getBySite operation. */ +export type ResourceHealthMetadataOperationsGetBySiteResponse = ResourceHealthMetadata; -/** - * Contains response data for the getMigrateMySqlStatus operation. - */ -export type WebAppsGetMigrateMySqlStatusResponse = MigrateMySqlStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsListBySiteSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MigrateMySqlStatus; - }; -}; +/** Contains response data for the listBySiteSlot operation. */ +export type ResourceHealthMetadataOperationsListBySiteSlotResponse = ResourceHealthMetadataCollection; -/** - * Contains response data for the getSwiftVirtualNetworkConnection operation. - */ -export type WebAppsGetSwiftVirtualNetworkConnectionResponse = SwiftVirtualNetwork & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsGetBySiteSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SwiftVirtualNetwork; - }; -}; +/** Contains response data for the getBySiteSlot operation. */ +export type ResourceHealthMetadataOperationsGetBySiteSlotResponse = ResourceHealthMetadata; -/** - * Contains response data for the createOrUpdateSwiftVirtualNetworkConnectionWithCheck operation. - */ -export type WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckResponse = SwiftVirtualNetwork & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SwiftVirtualNetwork; - }; -}; +/** Contains response data for the listNext operation. */ +export type ResourceHealthMetadataOperationsListNextResponse = ResourceHealthMetadataCollection; -/** - * Contains response data for the listNetworkFeatures operation. - */ -export type WebAppsListNetworkFeaturesResponse = NetworkFeatures & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkFeatures; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type ResourceHealthMetadataOperationsListByResourceGroupNextResponse = ResourceHealthMetadataCollection; -/** - * Contains response data for the getNetworkTraceOperation operation. - */ -export type WebAppsGetNetworkTraceOperationResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsListBySiteNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the listBySiteNext operation. */ +export type ResourceHealthMetadataOperationsListBySiteNextResponse = ResourceHealthMetadataCollection; -/** - * Contains response data for the startWebSiteNetworkTrace operation. - */ -export type WebAppsStartWebSiteNetworkTraceResponse = { - /** - * The parsed response body. - */ - body: string; +/** Optional parameters. */ +export interface ResourceHealthMetadataOperationsListBySiteSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySiteSlotNext operation. */ +export type ResourceHealthMetadataOperationsListBySiteSlotNextResponse = ResourceHealthMetadataCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: string; - }; -}; +/** Optional parameters. */ +export interface WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the generateGithubAccessTokenForAppserviceCLIAsync operation. */ +export type WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncResponse = AppserviceGithubToken; -/** - * Contains response data for the startWebSiteNetworkTraceOperation operation. - */ -export type WebAppsStartWebSiteNetworkTraceOperationResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientGetPublishingUserOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the getPublishingUser operation. */ +export type WebSiteManagementClientGetPublishingUserResponse = User; -/** - * Contains response data for the getNetworkTraces operation. - */ -export type WebAppsGetNetworkTracesResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientUpdatePublishingUserOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the updatePublishingUser operation. */ +export type WebSiteManagementClientUpdatePublishingUserResponse = User; -/** - * Contains response data for the getNetworkTraceOperationV2 operation. - */ -export type WebAppsGetNetworkTraceOperationV2Response = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientListSourceControlsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the listSourceControls operation. */ +export type WebSiteManagementClientListSourceControlsResponse = SourceControlCollection; -/** - * Contains response data for the getNetworkTracesV2 operation. - */ -export type WebAppsGetNetworkTracesV2Response = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientGetSourceControlOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the getSourceControl operation. */ +export type WebSiteManagementClientGetSourceControlResponse = SourceControl; -/** - * Contains response data for the listPerfMonCounters operation. - */ -export type WebAppsListPerfMonCountersResponse = PerfMonCounterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientUpdateSourceControlOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PerfMonCounterCollection; - }; -}; +/** Contains response data for the updateSourceControl operation. */ +export type WebSiteManagementClientUpdateSourceControlResponse = SourceControl; -/** - * Contains response data for the getSitePhpErrorLogFlag operation. - */ -export type WebAppsGetSitePhpErrorLogFlagResponse = SitePhpErrorLogFlag & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientListBillingMetersOptionalParams + extends coreClient.OperationOptions { + /** Azure Location of billable resource */ + billingLocation?: string; + /** App Service OS type meters used for */ + osType?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SitePhpErrorLogFlag; - }; -}; +/** Contains response data for the listBillingMeters operation. */ +export type WebSiteManagementClientListBillingMetersResponse = BillingMeterCollection; -/** - * Contains response data for the listPremierAddOns operation. - */ -export type WebAppsListPremierAddOnsResponse = PremierAddOn & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientCheckNameAvailabilityOptionalParams + extends coreClient.OperationOptions { + /** Is fully qualified domain name. */ + isFqdn?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOn; - }; -}; +/** Contains response data for the checkNameAvailability operation. */ +export type WebSiteManagementClientCheckNameAvailabilityResponse = ResourceNameAvailability; -/** - * Contains response data for the getPremierAddOn operation. - */ -export type WebAppsGetPremierAddOnResponse = PremierAddOn & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientGetSubscriptionDeploymentLocationsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOn; - }; -}; +/** Contains response data for the getSubscriptionDeploymentLocations operation. */ +export type WebSiteManagementClientGetSubscriptionDeploymentLocationsResponse = DeploymentLocations; -/** - * Contains response data for the addPremierAddOn operation. - */ -export type WebAppsAddPremierAddOnResponse = PremierAddOn & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientListGeoRegionsOptionalParams + extends coreClient.OperationOptions { + /** Name of SKU used to filter the regions. */ + sku?: SkuName; + /** Specify true if you want to filter to only regions that support Linux workers. */ + linuxWorkersEnabled?: boolean; + /** Specify true if you want to filter to only regions that support Xenon workers. */ + xenonWorkersEnabled?: boolean; + /** Specify true if you want to filter to only regions that support Linux Consumption Workers. */ + linuxDynamicWorkersEnabled?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOn; - }; -}; +/** Contains response data for the listGeoRegions operation. */ +export type WebSiteManagementClientListGeoRegionsResponse = GeoRegionCollection; -/** - * Contains response data for the updatePremierAddOn operation. - */ -export type WebAppsUpdatePremierAddOnResponse = PremierAddOn & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOn; - }; -}; +/** Contains response data for the listSiteIdentifiersAssignedToHostName operation. */ +export type WebSiteManagementClientListSiteIdentifiersAssignedToHostNameResponse = IdentifierCollection; -/** - * Contains response data for the getPrivateAccess operation. - */ -export type WebAppsGetPrivateAccessResponse = PrivateAccess & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientListPremierAddOnOffersOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateAccess; - }; -}; +/** Contains response data for the listPremierAddOnOffers operation. */ +export type WebSiteManagementClientListPremierAddOnOffersResponse = PremierAddOnOfferCollection; -/** - * Contains response data for the putPrivateAccessVnet operation. - */ -export type WebAppsPutPrivateAccessVnetResponse = PrivateAccess & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientListSkusOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateAccess; - }; -}; +/** Contains response data for the listSkus operation. */ +export type WebSiteManagementClientListSkusResponse = SkuInfos; -/** - * Contains response data for the getPrivateEndpointConnectionList operation. - */ -export type WebAppsGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientVerifyHostingEnvironmentVnetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionCollection; - }; -}; +/** Contains response data for the verifyHostingEnvironmentVnet operation. */ +export type WebSiteManagementClientVerifyHostingEnvironmentVnetResponse = VnetValidationFailureDetails; -/** - * Contains response data for the getPrivateEndpointConnection operation. - */ -export type WebAppsGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebSiteManagementClientMoveOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Optional parameters. */ +export interface WebSiteManagementClientValidateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the approveOrRejectPrivateEndpointConnection operation. - */ -export type WebAppsApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the validate operation. */ +export type WebSiteManagementClientValidateResponse = ValidateResponse; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Optional parameters. */ +export interface WebSiteManagementClientValidateMoveOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the deletePrivateEndpointConnection operation. - */ -export type WebAppsDeletePrivateEndpointConnectionResponse = { - /** - * The parsed response body. - */ - body: any; +/** Optional parameters. */ +export interface WebSiteManagementClientListSourceControlsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSourceControlsNext operation. */ +export type WebSiteManagementClientListSourceControlsNextResponse = SourceControlCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Optional parameters. */ +export interface WebSiteManagementClientListBillingMetersNextOptionalParams + extends coreClient.OperationOptions { + /** Azure Location of billable resource */ + billingLocation?: string; + /** App Service OS type meters used for */ + osType?: string; +} -/** - * Contains response data for the getPrivateLinkResources operation. - */ -export type WebAppsGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBillingMetersNext operation. */ +export type WebSiteManagementClientListBillingMetersNextResponse = BillingMeterCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateLinkResourcesWrapper; - }; -}; +/** Optional parameters. */ +export interface WebSiteManagementClientListGeoRegionsNextOptionalParams + extends coreClient.OperationOptions { + /** Name of SKU used to filter the regions. */ + sku?: SkuName; + /** Specify true if you want to filter to only regions that support Linux workers. */ + linuxWorkersEnabled?: boolean; + /** Specify true if you want to filter to only regions that support Xenon workers. */ + xenonWorkersEnabled?: boolean; + /** Specify true if you want to filter to only regions that support Linux Consumption Workers. */ + linuxDynamicWorkersEnabled?: boolean; +} -/** - * Contains response data for the listProcesses operation. - */ -export type WebAppsListProcessesResponse = ProcessInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listGeoRegionsNext operation. */ +export type WebSiteManagementClientListGeoRegionsNextResponse = GeoRegionCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebSiteManagementClientListSiteIdentifiersAssignedToHostNameNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getProcess operation. - */ -export type WebAppsGetProcessResponse = ProcessInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteIdentifiersAssignedToHostNameNext operation. */ +export type WebSiteManagementClientListSiteIdentifiersAssignedToHostNameNextResponse = IdentifierCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfo; - }; -}; +/** Optional parameters. */ +export interface WebSiteManagementClientListPremierAddOnOffersNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getProcessDump operation. - */ -export type WebAppsGetProcessDumpResponse = { - /** - * BROWSER ONLY - * - * The response body as a browser Blob. - * Always undefined in node.js. - */ - blobBody?: Promise; +/** Contains response data for the listPremierAddOnOffersNext operation. */ +export type WebSiteManagementClientListPremierAddOnOffersNextResponse = PremierAddOnOfferCollection; - /** - * NODEJS ONLY - * - * The response body as a node.js Readable stream. - * Always undefined in the browser. - */ - readableStreamBody?: NodeJS.ReadableStream; +/** Optional parameters. */ +export interface StaticSitesPreviewWorkflowOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; -}; +/** Contains response data for the previewWorkflow operation. */ +export type StaticSitesPreviewWorkflowResponse = StaticSitesWorkflowPreview; -/** - * Contains response data for the listProcessModules operation. - */ -export type WebAppsListProcessModulesResponse = ProcessModuleInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfoCollection; - }; -}; +/** Contains response data for the list operation. */ +export type StaticSitesListResponse = StaticSiteCollection; -/** - * Contains response data for the getProcessModule operation. - */ -export type WebAppsGetProcessModuleResponse = ProcessModuleInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesGetStaticSitesByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfo; - }; -}; +/** Contains response data for the getStaticSitesByResourceGroup operation. */ +export type StaticSitesGetStaticSitesByResourceGroupResponse = StaticSiteCollection; -/** - * Contains response data for the listProcessThreads operation. - */ -export type WebAppsListProcessThreadsResponse = ProcessThreadInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesGetStaticSiteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessThreadInfoCollection; - }; -}; +/** Contains response data for the getStaticSite operation. */ +export type StaticSitesGetStaticSiteResponse = StaticSiteARMResource; -/** - * Contains response data for the listPublicCertificates operation. - */ -export type WebAppsListPublicCertificatesResponse = PublicCertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesCreateOrUpdateStaticSiteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PublicCertificateCollection; - }; -}; +/** Contains response data for the createOrUpdateStaticSite operation. */ +export type StaticSitesCreateOrUpdateStaticSiteResponse = StaticSiteARMResource; -/** - * Contains response data for the getPublicCertificate operation. - */ -export type WebAppsGetPublicCertificateResponse = PublicCertificate & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesDeleteStaticSiteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PublicCertificate; - }; -}; +/** Optional parameters. */ +export interface StaticSitesUpdateStaticSiteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdatePublicCertificate operation. - */ -export type WebAppsCreateOrUpdatePublicCertificateResponse = PublicCertificate & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateStaticSite operation. */ +export type StaticSitesUpdateStaticSiteResponse = StaticSiteARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PublicCertificate; - }; -}; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteUsersOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listPublishingProfileXmlWithSecrets operation. - */ -export type WebAppsListPublishingProfileXmlWithSecretsResponse = { - /** - * BROWSER ONLY - * - * The response body as a browser Blob. - * Always undefined in node.js. - */ - blobBody?: Promise; +/** Contains response data for the listStaticSiteUsers operation. */ +export type StaticSitesListStaticSiteUsersResponse = StaticSiteUserCollection; - /** - * NODEJS ONLY - * - * The response body as a node.js Readable stream. - * Always undefined in the browser. - */ - readableStreamBody?: NodeJS.ReadableStream; +/** Optional parameters. */ +export interface StaticSitesDeleteStaticSiteUserOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; -}; +/** Optional parameters. */ +export interface StaticSitesUpdateStaticSiteUserOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteExtensions operation. - */ -export type WebAppsListSiteExtensionsResponse = SiteExtensionInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateStaticSiteUser operation. */ +export type StaticSitesUpdateStaticSiteUserResponse = StaticSiteUserARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfoCollection; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetStaticSiteBuildsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteExtension operation. - */ -export type WebAppsGetSiteExtensionResponse = SiteExtensionInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getStaticSiteBuilds operation. */ +export type StaticSitesGetStaticSiteBuildsResponse = StaticSiteBuildCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfo; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetStaticSiteBuildOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the installSiteExtension operation. - */ -export type WebAppsInstallSiteExtensionResponse = SiteExtensionInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getStaticSiteBuild operation. */ +export type StaticSitesGetStaticSiteBuildResponse = StaticSiteBuildARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfo; - }; -}; +/** Optional parameters. */ +export interface StaticSitesDeleteStaticSiteBuildOptionalParams + extends coreClient.OperationOptions { + /** 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 listSlots operation. - */ -export type WebAppsListSlotsResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the createOrUpdateStaticSiteBuildAppSettings operation. */ +export type StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsResponse = StringDictionary; -/** - * Contains response data for the getSlot operation. - */ -export type WebAppsGetSlotResponse = Site & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Site; - }; -}; +/** Contains response data for the createOrUpdateStaticSiteBuildFunctionAppSettings operation. */ +export type StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsResponse = StringDictionary; -/** - * Contains response data for the createOrUpdateSlot operation. - */ -export type WebAppsCreateOrUpdateSlotResponse = Site & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteBuildFunctionsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Site; - }; -}; +/** Contains response data for the listStaticSiteBuildFunctions operation. */ +export type StaticSitesListStaticSiteBuildFunctionsResponse = StaticSiteFunctionOverviewCollection; -/** - * Contains response data for the updateSlot operation. - */ -export type WebAppsUpdateSlotResponse = Site & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteBuildAppSettingsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listStaticSiteBuildAppSettings operation. */ +export type StaticSitesListStaticSiteBuildAppSettingsResponse = StringDictionary; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Site; - }; -}; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteBuildFunctionAppSettingsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the analyzeCustomHostnameSlot operation. - */ -export type WebAppsAnalyzeCustomHostnameSlotResponse = CustomHostnameAnalysisResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listStaticSiteBuildFunctionAppSettings operation. */ +export type StaticSitesListStaticSiteBuildFunctionAppSettingsResponse = StringDictionary; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CustomHostnameAnalysisResult; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the backupSlot operation. - */ -export type WebAppsBackupSlotResponse = BackupItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getUserProvidedFunctionAppsForStaticSiteBuild operation. */ +export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppsCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItem; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBackupsSlot operation. - */ -export type WebAppsListBackupsSlotResponse = BackupItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getUserProvidedFunctionAppForStaticSiteBuild operation. */ +export type StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItemCollection; - }; -}; +/** Optional parameters. */ +export interface StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams + extends coreClient.OperationOptions { + /** Specify true to force the update of the auth configuration on the function app even if an AzureStaticWebApps provider is already configured on the function app. The default is false. */ + isForced?: boolean; + /** 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 getBackupStatusSlot operation. - */ -export type WebAppsGetBackupStatusSlotResponse = BackupItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the registerUserProvidedFunctionAppWithStaticSiteBuild operation. */ +export type StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItem; - }; -}; +/** Optional parameters. */ +export interface StaticSitesDetachUserProvidedFunctionAppFromStaticSiteBuildOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBackupStatusSecretsSlot operation. - */ -export type WebAppsListBackupStatusSecretsSlotResponse = BackupItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItem; - }; -}; +/** Optional parameters. */ +export interface StaticSitesCreateOrUpdateStaticSiteAppSettingsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getBasicPublishingCredentialsPoliciesSlot operation. - */ -export type WebAppsGetBasicPublishingCredentialsPoliciesSlotResponse = CsmPublishingCredentialsPoliciesCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateStaticSiteAppSettings operation. */ +export type StaticSitesCreateOrUpdateStaticSiteAppSettingsResponse = StringDictionary; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesCollection; - }; -}; +/** Optional parameters. */ +export interface StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getFtpAllowedSlot operation. - */ -export type WebAppsGetFtpAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateStaticSiteFunctionAppSettings operation. */ +export type StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsResponse = StringDictionary; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesEntity; - }; -}; +/** Optional parameters. */ +export interface StaticSitesCreateUserRolesInvitationLinkOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateFtpAllowedSlot operation. - */ -export type WebAppsUpdateFtpAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createUserRolesInvitationLink operation. */ +export type StaticSitesCreateUserRolesInvitationLinkResponse = StaticSiteUserInvitationResponseResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesEntity; - }; -}; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteCustomDomainsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getScmAllowedSlot operation. - */ -export type WebAppsGetScmAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listStaticSiteCustomDomains operation. */ +export type StaticSitesListStaticSiteCustomDomainsResponse = StaticSiteCustomDomainOverviewCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesEntity; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetStaticSiteCustomDomainOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateScmAllowedSlot operation. - */ -export type WebAppsUpdateScmAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getStaticSiteCustomDomain operation. */ +export type StaticSitesGetStaticSiteCustomDomainResponse = StaticSiteCustomDomainOverviewARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmPublishingCredentialsPoliciesEntity; - }; -}; +/** Optional parameters. */ +export interface StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams + extends coreClient.OperationOptions { + /** 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 listConfigurationsSlot operation. - */ -export type WebAppsListConfigurationsSlotResponse = SiteConfigResourceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateStaticSiteCustomDomain operation. */ +export type StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse = StaticSiteCustomDomainOverviewARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResourceCollection; - }; -}; +/** Optional parameters. */ +export interface StaticSitesDeleteStaticSiteCustomDomainOptionalParams + extends coreClient.OperationOptions { + /** 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 updateApplicationSettingsSlot operation. - */ -export type WebAppsUpdateApplicationSettingsSlotResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface StaticSitesDetachStaticSiteOptionalParams + extends coreClient.OperationOptions { + /** 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 listApplicationSettingsSlot operation. - */ -export type WebAppsListApplicationSettingsSlotResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteFunctionsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Contains response data for the listStaticSiteFunctions operation. */ +export type StaticSitesListStaticSiteFunctionsResponse = StaticSiteFunctionOverviewCollection; -/** - * Contains response data for the updateAuthSettingsSlot operation. - */ -export type WebAppsUpdateAuthSettingsSlotResponse = SiteAuthSettings & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteAppSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteAuthSettings; - }; -}; +/** Contains response data for the listStaticSiteAppSettings operation. */ +export type StaticSitesListStaticSiteAppSettingsResponse = StringDictionary; -/** - * Contains response data for the getAuthSettingsSlot operation. - */ -export type WebAppsGetAuthSettingsSlotResponse = SiteAuthSettings & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteConfiguredRolesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteAuthSettings; - }; -}; +/** Contains response data for the listStaticSiteConfiguredRoles operation. */ +export type StaticSitesListStaticSiteConfiguredRolesResponse = StringList; -/** - * Contains response data for the updateAuthSettingsV2Slot operation. - */ -export type WebAppsUpdateAuthSettingsV2SlotResponse = SiteAuthSettingsV2 & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteFunctionAppSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteAuthSettingsV2; - }; -}; +/** Contains response data for the listStaticSiteFunctionAppSettings operation. */ +export type StaticSitesListStaticSiteFunctionAppSettingsResponse = StringDictionary; -/** - * Contains response data for the getAuthSettingsV2Slot operation. - */ -export type WebAppsGetAuthSettingsV2SlotResponse = SiteAuthSettingsV2 & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteSecretsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteAuthSettingsV2; - }; -}; +/** Contains response data for the listStaticSiteSecrets operation. */ +export type StaticSitesListStaticSiteSecretsResponse = StringDictionary; -/** - * Contains response data for the updateAzureStorageAccountsSlot operation. - */ -export type WebAppsUpdateAzureStorageAccountsSlotResponse = AzureStoragePropertyDictionaryResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesGetPrivateEndpointConnectionListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AzureStoragePropertyDictionaryResource; - }; -}; +/** Contains response data for the getPrivateEndpointConnectionList operation. */ +export type StaticSitesGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection; -/** - * Contains response data for the listAzureStorageAccountsSlot operation. - */ -export type WebAppsListAzureStorageAccountsSlotResponse = AzureStoragePropertyDictionaryResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesGetPrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AzureStoragePropertyDictionaryResource; - }; -}; +/** Contains response data for the getPrivateEndpointConnection operation. */ +export type StaticSitesGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; -/** - * Contains response data for the updateBackupConfigurationSlot operation. - */ -export type WebAppsUpdateBackupConfigurationSlotResponse = BackupRequest & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupRequest; - }; -}; +/** Contains response data for the approveOrRejectPrivateEndpointConnection operation. */ +export type StaticSitesApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; -/** - * Contains response data for the getBackupConfigurationSlot operation. - */ -export type WebAppsGetBackupConfigurationSlotResponse = BackupRequest & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesDeletePrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupRequest; - }; -}; +/** Contains response data for the deletePrivateEndpointConnection operation. */ +export type StaticSitesDeletePrivateEndpointConnectionResponse = Record< + string, + unknown +>; -/** - * Contains response data for the getAppSettingsKeyVaultReferencesSlot operation. - */ -export type WebAppsGetAppSettingsKeyVaultReferencesSlotResponse = ApiKVReferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesGetPrivateLinkResourcesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReferenceCollection; - }; -}; +/** Contains response data for the getPrivateLinkResources operation. */ +export type StaticSitesGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper; -/** - * Contains response data for the getAppSettingKeyVaultReferenceSlot operation. - */ -export type WebAppsGetAppSettingKeyVaultReferenceSlotResponse = ApiKVReference & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesResetStaticSiteApiKeyOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReference; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteConnectionStringKeyVaultReferencesSlot operation. - */ -export type WebAppsGetSiteConnectionStringKeyVaultReferencesSlotResponse = ApiKVReferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getUserProvidedFunctionAppsForStaticSite operation. */ +export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteResponse = StaticSiteUserProvidedFunctionAppsCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReferenceCollection; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetUserProvidedFunctionAppForStaticSiteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteConnectionStringKeyVaultReferenceSlot operation. - */ -export type WebAppsGetSiteConnectionStringKeyVaultReferenceSlotResponse = ApiKVReference & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getUserProvidedFunctionAppForStaticSite operation. */ +export type StaticSitesGetUserProvidedFunctionAppForStaticSiteResponse = StaticSiteUserProvidedFunctionAppARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReference; - }; -}; +/** Optional parameters. */ +export interface StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams + extends coreClient.OperationOptions { + /** Specify true to force the update of the auth configuration on the function app even if an AzureStaticWebApps provider is already configured on the function app. The default is false. */ + isForced?: boolean; + /** 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 updateConnectionStringsSlot operation. - */ -export type WebAppsUpdateConnectionStringsSlotResponse = ConnectionStringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the registerUserProvidedFunctionAppWithStaticSite operation. */ +export type StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse = StaticSiteUserProvidedFunctionAppARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConnectionStringDictionary; - }; -}; +/** Optional parameters. */ +export interface StaticSitesDetachUserProvidedFunctionAppFromStaticSiteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listConnectionStringsSlot operation. - */ -export type WebAppsListConnectionStringsSlotResponse = ConnectionStringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface StaticSitesCreateZipDeploymentForStaticSiteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConnectionStringDictionary; - }; -}; +/** Optional parameters. */ +export interface StaticSitesListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getDiagnosticLogsConfigurationSlot operation. - */ -export type WebAppsGetDiagnosticLogsConfigurationSlotResponse = SiteLogsConfig & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type StaticSitesListNextResponse = StaticSiteCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteLogsConfig; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetStaticSitesByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateDiagnosticLogsConfigSlot operation. - */ -export type WebAppsUpdateDiagnosticLogsConfigSlotResponse = SiteLogsConfig & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getStaticSitesByResourceGroupNext operation. */ +export type StaticSitesGetStaticSitesByResourceGroupNextResponse = StaticSiteCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteLogsConfig; - }; -}; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteUsersNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateMetadataSlot operation. - */ -export type WebAppsUpdateMetadataSlotResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listStaticSiteUsersNext operation. */ +export type StaticSitesListStaticSiteUsersNextResponse = StaticSiteUserCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetStaticSiteBuildsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMetadataSlot operation. - */ -export type WebAppsListMetadataSlotResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getStaticSiteBuildsNext operation. */ +export type StaticSitesGetStaticSiteBuildsNextResponse = StaticSiteBuildCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteBuildFunctionsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listPublishingCredentialsSlot operation. - */ -export type WebAppsListPublishingCredentialsSlotResponse = User & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listStaticSiteBuildFunctionsNext operation. */ +export type StaticSitesListStaticSiteBuildFunctionsNextResponse = StaticSiteFunctionOverviewCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: User; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateSitePushSettingsSlot operation. - */ -export type WebAppsUpdateSitePushSettingsSlotResponse = PushSettings & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getUserProvidedFunctionAppsForStaticSiteBuildNext operation. */ +export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextResponse = StaticSiteUserProvidedFunctionAppsCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PushSettings; - }; -}; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteCustomDomainsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSitePushSettingsSlot operation. - */ -export type WebAppsListSitePushSettingsSlotResponse = PushSettings & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listStaticSiteCustomDomainsNext operation. */ +export type StaticSitesListStaticSiteCustomDomainsNextResponse = StaticSiteCustomDomainOverviewCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PushSettings; - }; -}; +/** Optional parameters. */ +export interface StaticSitesListStaticSiteFunctionsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getConfigurationSlot operation. - */ -export type WebAppsGetConfigurationSlotResponse = SiteConfigResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listStaticSiteFunctionsNext operation. */ +export type StaticSitesListStaticSiteFunctionsNextResponse = StaticSiteFunctionOverviewCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResource; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetPrivateEndpointConnectionListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateConfigurationSlot operation. - */ -export type WebAppsCreateOrUpdateConfigurationSlotResponse = SiteConfigResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPrivateEndpointConnectionListNext operation. */ +export type StaticSitesGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResource; - }; -}; +/** Optional parameters. */ +export interface StaticSitesGetUserProvidedFunctionAppsForStaticSiteNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateConfigurationSlot operation. - */ -export type WebAppsUpdateConfigurationSlotResponse = SiteConfigResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getUserProvidedFunctionAppsForStaticSiteNext operation. */ +export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteNextResponse = StaticSiteUserProvidedFunctionAppsCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listConfigurationSnapshotInfoSlot operation. - */ -export type WebAppsListConfigurationSnapshotInfoSlotResponse = SiteConfigurationSnapshotInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type WebAppsListResponse = WebAppCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigurationSnapshotInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** Specify true to include deployment slots in results. The default is false, which only gives you the production slot of all apps. */ + includeSlots?: boolean; +} -/** - * Contains response data for the getConfigurationSnapshotSlot operation. - */ -export type WebAppsGetConfigurationSnapshotSlotResponse = SiteConfigResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroup operation. */ +export type WebAppsListByResourceGroupResponse = WebAppCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetOptionalParams extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type WebAppsGetResponse = Site; + +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 WebAppsCreateOrUpdateResponse = Site; -/** - * Contains response data for the getWebSiteContainerLogsSlot operation. - */ -export type WebAppsGetWebSiteContainerLogsSlotResponse = { - /** - * BROWSER ONLY - * - * The response body as a browser Blob. - * Always undefined in node.js. - */ - blobBody?: Promise; +/** Optional parameters. */ +export interface WebAppsDeleteOptionalParams + extends coreClient.OperationOptions { + /** If true, web app metrics are also deleted. */ + deleteMetrics?: boolean; + /** Specify false if you want to keep empty App Service plan. By default, empty App Service plan is deleted. */ + deleteEmptyServerFarm?: boolean; +} - /** - * NODEJS ONLY - * - * The response body as a node.js Readable stream. - * Always undefined in the browser. - */ - readableStreamBody?: NodeJS.ReadableStream; +/** Optional parameters. */ +export interface WebAppsUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; -}; +/** Contains response data for the update operation. */ +export type WebAppsUpdateResponse = Site; -/** - * Contains response data for the getContainerLogsZipSlot operation. - */ -export type WebAppsGetContainerLogsZipSlotResponse = { - /** - * BROWSER ONLY - * - * The response body as a browser Blob. - * Always undefined in node.js. - */ - blobBody?: Promise; +/** Optional parameters. */ +export interface WebAppsAnalyzeCustomHostnameOptionalParams + extends coreClient.OperationOptions { + /** Custom hostname. */ + hostName?: string; +} - /** - * NODEJS ONLY - * - * The response body as a node.js Readable stream. - * Always undefined in the browser. - */ - readableStreamBody?: NodeJS.ReadableStream; +/** Contains response data for the analyzeCustomHostname operation. */ +export type WebAppsAnalyzeCustomHostnameResponse = CustomHostnameAnalysisResult; - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; -}; +/** Optional parameters. */ +export interface WebAppsApplySlotConfigToProductionOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listContinuousWebJobsSlot operation. - */ -export type WebAppsListContinuousWebJobsSlotResponse = ContinuousWebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsBackupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ContinuousWebJobCollection; - }; -}; +/** Contains response data for the backup operation. */ +export type WebAppsBackupResponse = BackupItem; -/** - * Contains response data for the getContinuousWebJobSlot operation. - */ -export type WebAppsGetContinuousWebJobSlotResponse = ContinuousWebJob & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListBackupsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ContinuousWebJob; - }; -}; +/** Contains response data for the listBackups operation. */ +export type WebAppsListBackupsResponse = BackupItemCollection; -/** - * Contains response data for the listDeploymentsSlot operation. - */ -export type WebAppsListDeploymentsSlotResponse = DeploymentCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetBackupStatusOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeploymentCollection; - }; -}; +/** Contains response data for the getBackupStatus operation. */ +export type WebAppsGetBackupStatusResponse = BackupItem; -/** - * Contains response data for the getDeploymentSlot operation. - */ -export type WebAppsGetDeploymentSlotResponse = Deployment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteBackupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Deployment; - }; -}; +/** Optional parameters. */ +export interface WebAppsListBackupStatusSecretsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createDeploymentSlot operation. - */ -export type WebAppsCreateDeploymentSlotResponse = Deployment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBackupStatusSecrets operation. */ +export type WebAppsListBackupStatusSecretsResponse = BackupItem; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Deployment; - }; -}; +/** Optional parameters. */ +export interface WebAppsRestoreOptionalParams + extends coreClient.OperationOptions { + /** 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 listDeploymentLogSlot operation. - */ -export type WebAppsListDeploymentLogSlotResponse = Deployment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListBasicPublishingCredentialsPoliciesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Deployment; - }; -}; +/** Contains response data for the listBasicPublishingCredentialsPolicies operation. */ +export type WebAppsListBasicPublishingCredentialsPoliciesResponse = PublishingCredentialsPoliciesCollection; -/** - * Contains response data for the discoverBackupSlot operation. - */ -export type WebAppsDiscoverBackupSlotResponse = RestoreRequest & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetFtpAllowedOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestoreRequest; - }; -}; +/** Contains response data for the getFtpAllowed operation. */ +export type WebAppsGetFtpAllowedResponse = CsmPublishingCredentialsPoliciesEntity; -/** - * Contains response data for the listDomainOwnershipIdentifiersSlot operation. - */ -export type WebAppsListDomainOwnershipIdentifiersSlotResponse = IdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateFtpAllowedOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: IdentifierCollection; - }; -}; +/** Contains response data for the updateFtpAllowed operation. */ +export type WebAppsUpdateFtpAllowedResponse = CsmPublishingCredentialsPoliciesEntity; -/** - * Contains response data for the getDomainOwnershipIdentifierSlot operation. - */ -export type WebAppsGetDomainOwnershipIdentifierSlotResponse = Identifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetScmAllowedOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Identifier; - }; -}; +/** Contains response data for the getScmAllowed operation. */ +export type WebAppsGetScmAllowedResponse = CsmPublishingCredentialsPoliciesEntity; -/** - * Contains response data for the createOrUpdateDomainOwnershipIdentifierSlot operation. - */ -export type WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotResponse = Identifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateScmAllowedOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Identifier; - }; -}; +/** Contains response data for the updateScmAllowed operation. */ +export type WebAppsUpdateScmAllowedResponse = CsmPublishingCredentialsPoliciesEntity; -/** - * Contains response data for the updateDomainOwnershipIdentifierSlot operation. - */ -export type WebAppsUpdateDomainOwnershipIdentifierSlotResponse = Identifier & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConfigurationsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Identifier; - }; -}; +/** Contains response data for the listConfigurations operation. */ +export type WebAppsListConfigurationsResponse = SiteConfigResourceCollection; -/** - * Contains response data for the getMSDeployStatusSlot operation. - */ -export type WebAppsGetMSDeployStatusSlotResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateApplicationSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Contains response data for the updateApplicationSettings operation. */ +export type WebAppsUpdateApplicationSettingsResponse = StringDictionary; -/** - * Contains response data for the createMSDeployOperationSlot operation. - */ -export type WebAppsCreateMSDeployOperationSlotResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListApplicationSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Contains response data for the listApplicationSettings operation. */ +export type WebAppsListApplicationSettingsResponse = StringDictionary; -/** - * Contains response data for the getMSDeployLogSlot operation. - */ -export type WebAppsGetMSDeployLogSlotResponse = MSDeployLog & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateAuthSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployLog; - }; -}; +/** Contains response data for the updateAuthSettings operation. */ +export type WebAppsUpdateAuthSettingsResponse = SiteAuthSettings; -/** - * Contains response data for the listInstanceFunctionsSlot operation. - */ -export type WebAppsListInstanceFunctionsSlotResponse = FunctionEnvelopeCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetAuthSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelopeCollection; - }; -}; +/** Contains response data for the getAuthSettings operation. */ +export type WebAppsGetAuthSettingsResponse = SiteAuthSettings; -/** - * Contains response data for the getFunctionsAdminTokenSlot operation. - */ -export type WebAppsGetFunctionsAdminTokenSlotResponse = { - /** - * The parsed response body. - */ - body: string; +/** Optional parameters. */ +export interface WebAppsUpdateAuthSettingsV2OptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateAuthSettingsV2 operation. */ +export type WebAppsUpdateAuthSettingsV2Response = SiteAuthSettingsV2; - /** - * The response body as parsed JSON or XML - */ - parsedBody: string; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetAuthSettingsV2OptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInstanceFunctionSlot operation. - */ -export type WebAppsGetInstanceFunctionSlotResponse = FunctionEnvelope & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAuthSettingsV2 operation. */ +export type WebAppsGetAuthSettingsV2Response = SiteAuthSettingsV2; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelope; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateAzureStorageAccountsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createInstanceFunctionSlot operation. - */ -export type WebAppsCreateInstanceFunctionSlotResponse = FunctionEnvelope & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateAzureStorageAccounts operation. */ +export type WebAppsUpdateAzureStorageAccountsResponse = AzureStoragePropertyDictionaryResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelope; - }; -}; +/** Optional parameters. */ +export interface WebAppsListAzureStorageAccountsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateFunctionSecretSlot operation. - */ -export type WebAppsCreateOrUpdateFunctionSecretSlotResponse = KeyInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listAzureStorageAccounts operation. */ +export type WebAppsListAzureStorageAccountsResponse = AzureStoragePropertyDictionaryResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: KeyInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateBackupConfigurationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listFunctionKeysSlot operation. - */ -export type WebAppsListFunctionKeysSlotResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateBackupConfiguration operation. */ +export type WebAppsUpdateBackupConfigurationResponse = BackupRequest; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteBackupConfigurationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listFunctionSecretsSlot operation. - */ -export type WebAppsListFunctionSecretsSlotResponse = FunctionSecrets & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetBackupConfigurationOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionSecrets; - }; -}; +/** Contains response data for the getBackupConfiguration operation. */ +export type WebAppsGetBackupConfigurationResponse = BackupRequest; -/** - * Contains response data for the listHostKeysSlot operation. - */ -export type WebAppsListHostKeysSlotResponse = HostKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetAppSettingsKeyVaultReferencesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostKeys; - }; -}; +/** Contains response data for the getAppSettingsKeyVaultReferences operation. */ +export type WebAppsGetAppSettingsKeyVaultReferencesResponse = ApiKVReferenceCollection; -/** - * Contains response data for the createOrUpdateHostSecretSlot operation. - */ -export type WebAppsCreateOrUpdateHostSecretSlotResponse = KeyInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetAppSettingKeyVaultReferenceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: KeyInfo; - }; -}; +/** Contains response data for the getAppSettingKeyVaultReference operation. */ +export type WebAppsGetAppSettingKeyVaultReferenceResponse = ApiKVReference; -/** - * Contains response data for the listHostNameBindingsSlot operation. - */ -export type WebAppsListHostNameBindingsSlotResponse = HostNameBindingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostNameBindingCollection; - }; -}; +/** Contains response data for the getSiteConnectionStringKeyVaultReferences operation. */ +export type WebAppsGetSiteConnectionStringKeyVaultReferencesResponse = ApiKVReferenceCollection; -/** - * Contains response data for the getHostNameBindingSlot operation. - */ -export type WebAppsGetHostNameBindingSlotResponse = HostNameBinding & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSiteConnectionStringKeyVaultReferenceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostNameBinding; - }; -}; +/** Contains response data for the getSiteConnectionStringKeyVaultReference operation. */ +export type WebAppsGetSiteConnectionStringKeyVaultReferenceResponse = ApiKVReference; -/** - * Contains response data for the createOrUpdateHostNameBindingSlot operation. - */ -export type WebAppsCreateOrUpdateHostNameBindingSlotResponse = HostNameBinding & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateConnectionStringsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostNameBinding; - }; -}; +/** Contains response data for the updateConnectionStrings operation. */ +export type WebAppsUpdateConnectionStringsResponse = ConnectionStringDictionary; -/** - * Contains response data for the getHybridConnectionSlot operation. - */ -export type WebAppsGetHybridConnectionSlotResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConnectionStringsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Contains response data for the listConnectionStrings operation. */ +export type WebAppsListConnectionStringsResponse = ConnectionStringDictionary; -/** - * Contains response data for the createOrUpdateHybridConnectionSlot operation. - */ -export type WebAppsCreateOrUpdateHybridConnectionSlotResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetDiagnosticLogsConfigurationOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Contains response data for the getDiagnosticLogsConfiguration operation. */ +export type WebAppsGetDiagnosticLogsConfigurationResponse = SiteLogsConfig; -/** - * Contains response data for the updateHybridConnectionSlot operation. - */ -export type WebAppsUpdateHybridConnectionSlotResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateDiagnosticLogsConfigOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Contains response data for the updateDiagnosticLogsConfig operation. */ +export type WebAppsUpdateDiagnosticLogsConfigResponse = SiteLogsConfig; -/** - * Contains response data for the listHybridConnectionsSlot operation. - */ -export type WebAppsListHybridConnectionsSlotResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateMetadataOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Contains response data for the updateMetadata operation. */ +export type WebAppsUpdateMetadataResponse = StringDictionary; -/** - * Contains response data for the listRelayServiceConnectionsSlot operation. - */ -export type WebAppsListRelayServiceConnectionsSlotResponse = RelayServiceConnectionEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListMetadataOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RelayServiceConnectionEntity; - }; -}; +/** Contains response data for the listMetadata operation. */ +export type WebAppsListMetadataResponse = StringDictionary; -/** - * Contains response data for the getRelayServiceConnectionSlot operation. - */ -export type WebAppsGetRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPublishingCredentialsOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RelayServiceConnectionEntity; - }; -}; +/** Contains response data for the listPublishingCredentials operation. */ +export type WebAppsListPublishingCredentialsResponse = User; -/** - * Contains response data for the createOrUpdateRelayServiceConnectionSlot operation. - */ -export type WebAppsCreateOrUpdateRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateSitePushSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RelayServiceConnectionEntity; - }; -}; +/** Contains response data for the updateSitePushSettings operation. */ +export type WebAppsUpdateSitePushSettingsResponse = PushSettings; -/** - * Contains response data for the updateRelayServiceConnectionSlot operation. - */ -export type WebAppsUpdateRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSitePushSettingsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RelayServiceConnectionEntity; - }; -}; +/** Contains response data for the listSitePushSettings operation. */ +export type WebAppsListSitePushSettingsResponse = PushSettings; -/** - * Contains response data for the listInstanceIdentifiersSlot operation. - */ -export type WebAppsListInstanceIdentifiersSlotResponse = WebAppInstanceStatusCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSlotConfigurationNamesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listSlotConfigurationNames operation. */ +export type WebAppsListSlotConfigurationNamesResponse = SlotConfigNamesResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppInstanceStatusCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateSlotConfigurationNamesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInstanceInfoSlot operation. - */ -export type WebAppsGetInstanceInfoSlotResponse = WebSiteInstanceStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateSlotConfigurationNames operation. */ +export type WebAppsUpdateSlotConfigurationNamesResponse = SlotConfigNamesResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebSiteInstanceStatus; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetConfigurationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInstanceMsDeployStatusSlot operation. - */ -export type WebAppsGetInstanceMsDeployStatusSlotResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getConfiguration operation. */ +export type WebAppsGetConfigurationResponse = SiteConfigResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateConfigurationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createInstanceMSDeployOperationSlot operation. - */ -export type WebAppsCreateInstanceMSDeployOperationSlotResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateConfiguration operation. */ +export type WebAppsCreateOrUpdateConfigurationResponse = SiteConfigResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateConfigurationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInstanceMSDeployLogSlot operation. - */ -export type WebAppsGetInstanceMSDeployLogSlotResponse = MSDeployLog & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateConfiguration operation. */ +export type WebAppsUpdateConfigurationResponse = SiteConfigResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployLog; - }; -}; +/** Optional parameters. */ +export interface WebAppsListConfigurationSnapshotInfoOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listInstanceProcessesSlot operation. - */ -export type WebAppsListInstanceProcessesSlotResponse = ProcessInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listConfigurationSnapshotInfo operation. */ +export type WebAppsListConfigurationSnapshotInfoResponse = SiteConfigurationSnapshotInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetConfigurationSnapshotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInstanceProcessSlot operation. - */ -export type WebAppsGetInstanceProcessSlotResponse = ProcessInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getConfigurationSnapshot operation. */ +export type WebAppsGetConfigurationSnapshotResponse = SiteConfigResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsRecoverSiteConfigurationSnapshotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInstanceProcessDumpSlot operation. - */ -export type WebAppsGetInstanceProcessDumpSlotResponse = { +/** Optional parameters. */ +export interface WebAppsGetWebSiteContainerLogsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getWebSiteContainerLogs operation. */ +export type WebAppsGetWebSiteContainerLogsResponse = { /** * BROWSER ONLY * * The response body as a browser Blob. - * Always undefined in node.js. + * Always `undefined` in node.js. */ blobBody?: Promise; - /** * NODEJS ONLY * * The response body as a node.js Readable stream. - * Always undefined in the browser. + * Always `undefined` in the browser. */ readableStreamBody?: NodeJS.ReadableStream; +}; + +/** Optional parameters. */ +export interface WebAppsGetContainerLogsZipOptionalParams + extends coreClient.OperationOptions {} +/** Contains response data for the getContainerLogsZip operation. */ +export type WebAppsGetContainerLogsZipResponse = { /** - * The underlying HTTP response. + * BROWSER ONLY + * + * The response body as a browser Blob. + * Always `undefined` in node.js. */ - _response: msRest.HttpResponse; -}; - -/** - * Contains response data for the listInstanceProcessModulesSlot operation. - */ -export type WebAppsListInstanceProcessModulesSlotResponse = ProcessModuleInfoCollection & { + blobBody?: Promise; /** - * The underlying HTTP response. + * NODEJS ONLY + * + * The response body as a node.js Readable stream. + * Always `undefined` in the browser. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfoCollection; - }; + readableStreamBody?: NodeJS.ReadableStream; }; -/** - * Contains response data for the getInstanceProcessModuleSlot operation. - */ -export type WebAppsGetInstanceProcessModuleSlotResponse = ProcessModuleInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListContinuousWebJobsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfo; - }; -}; +/** Contains response data for the listContinuousWebJobs operation. */ +export type WebAppsListContinuousWebJobsResponse = ContinuousWebJobCollection; -/** - * Contains response data for the listInstanceProcessThreadsSlot operation. - */ -export type WebAppsListInstanceProcessThreadsSlotResponse = ProcessThreadInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetContinuousWebJobOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessThreadInfoCollection; - }; -}; +/** Contains response data for the getContinuousWebJob operation. */ +export type WebAppsGetContinuousWebJobResponse = ContinuousWebJob; -/** - * Contains response data for the isCloneableSlot operation. - */ -export type WebAppsIsCloneableSlotResponse = SiteCloneability & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteContinuousWebJobOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteCloneability; - }; -}; +/** Optional parameters. */ +export interface WebAppsStartContinuousWebJobOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSiteBackupsSlot operation. - */ -export type WebAppsListSiteBackupsSlotResponse = BackupItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStopContinuousWebJobOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItemCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListDeploymentsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSyncFunctionTriggersSlot operation. - */ -export type WebAppsListSyncFunctionTriggersSlotResponse = FunctionSecrets & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listDeployments operation. */ +export type WebAppsListDeploymentsResponse = DeploymentCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionSecrets; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetDeploymentOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getMigrateMySqlStatusSlot operation. - */ -export type WebAppsGetMigrateMySqlStatusSlotResponse = MigrateMySqlStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getDeployment operation. */ +export type WebAppsGetDeploymentResponse = Deployment; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MigrateMySqlStatus; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateDeploymentOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSwiftVirtualNetworkConnectionSlot operation. - */ -export type WebAppsGetSwiftVirtualNetworkConnectionSlotResponse = SwiftVirtualNetwork & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createDeployment operation. */ +export type WebAppsCreateDeploymentResponse = Deployment; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SwiftVirtualNetwork; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteDeploymentOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNetworkFeaturesSlot operation. - */ -export type WebAppsListNetworkFeaturesSlotResponse = NetworkFeatures & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListDeploymentLogOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkFeatures; - }; -}; +/** Contains response data for the listDeploymentLog operation. */ +export type WebAppsListDeploymentLogResponse = Deployment; -/** - * Contains response data for the getNetworkTraceOperationSlot operation. - */ -export type WebAppsGetNetworkTraceOperationSlotResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDiscoverBackupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the discoverBackup operation. */ +export type WebAppsDiscoverBackupResponse = RestoreRequest; -/** - * Contains response data for the startWebSiteNetworkTraceSlot operation. - */ -export type WebAppsStartWebSiteNetworkTraceSlotResponse = { - /** - * The parsed response body. - */ - body: string; +/** Optional parameters. */ +export interface WebAppsListDomainOwnershipIdentifiersOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listDomainOwnershipIdentifiers operation. */ +export type WebAppsListDomainOwnershipIdentifiersResponse = IdentifierCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: string; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetDomainOwnershipIdentifierOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the startWebSiteNetworkTraceOperationSlot operation. - */ -export type WebAppsStartWebSiteNetworkTraceOperationSlotResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getDomainOwnershipIdentifier operation. */ +export type WebAppsGetDomainOwnershipIdentifierResponse = Identifier; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateDomainOwnershipIdentifierOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getNetworkTracesSlot operation. - */ -export type WebAppsGetNetworkTracesSlotResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateDomainOwnershipIdentifier operation. */ +export type WebAppsCreateOrUpdateDomainOwnershipIdentifierResponse = Identifier; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteDomainOwnershipIdentifierOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getNetworkTraceOperationSlotV2 operation. - */ -export type WebAppsGetNetworkTraceOperationSlotV2Response = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateDomainOwnershipIdentifierOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the updateDomainOwnershipIdentifier operation. */ +export type WebAppsUpdateDomainOwnershipIdentifierResponse = Identifier; -/** - * Contains response data for the getNetworkTracesSlotV2 operation. - */ -export type WebAppsGetNetworkTracesSlotV2Response = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetMSDeployStatusOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the getMSDeployStatus operation. */ +export type WebAppsGetMSDeployStatusResponse = MSDeployStatus; -/** - * Contains response data for the listPerfMonCountersSlot operation. - */ -export type WebAppsListPerfMonCountersSlotResponse = PerfMonCounterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateMSDeployOperationOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PerfMonCounterCollection; - }; -}; +/** Contains response data for the createMSDeployOperation operation. */ +export type WebAppsCreateMSDeployOperationResponse = MSDeployStatus; -/** - * Contains response data for the getSitePhpErrorLogFlagSlot operation. - */ -export type WebAppsGetSitePhpErrorLogFlagSlotResponse = SitePhpErrorLogFlag & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetMSDeployLogOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SitePhpErrorLogFlag; - }; -}; +/** Contains response data for the getMSDeployLog operation. */ +export type WebAppsGetMSDeployLogResponse = MSDeployLog; -/** - * Contains response data for the listPremierAddOnsSlot operation. - */ -export type WebAppsListPremierAddOnsSlotResponse = PremierAddOn & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListFunctionsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOn; - }; -}; +/** Contains response data for the listFunctions operation. */ +export type WebAppsListFunctionsResponse = FunctionEnvelopeCollection; -/** - * Contains response data for the getPremierAddOnSlot operation. - */ -export type WebAppsGetPremierAddOnSlotResponse = PremierAddOn & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetFunctionsAdminTokenOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOn; - }; +/** Contains response data for the getFunctionsAdminToken operation. */ +export type WebAppsGetFunctionsAdminTokenResponse = { + /** The parsed response body. */ + body: string; }; -/** - * Contains response data for the addPremierAddOnSlot operation. - */ -export type WebAppsAddPremierAddOnSlotResponse = PremierAddOn & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetFunctionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOn; - }; -}; +/** Contains response data for the getFunction operation. */ +export type WebAppsGetFunctionResponse = FunctionEnvelope; -/** - * Contains response data for the updatePremierAddOnSlot operation. - */ -export type WebAppsUpdatePremierAddOnSlotResponse = PremierAddOn & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateFunctionOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremierAddOn; - }; -}; +/** Contains response data for the createFunction operation. */ +export type WebAppsCreateFunctionResponse = FunctionEnvelope; -/** - * Contains response data for the getPrivateAccessSlot operation. - */ -export type WebAppsGetPrivateAccessSlotResponse = PrivateAccess & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteFunctionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateAccess; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateFunctionSecretOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the putPrivateAccessVnetSlot operation. - */ -export type WebAppsPutPrivateAccessVnetSlotResponse = PrivateAccess & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateFunctionSecret operation. */ +export type WebAppsCreateOrUpdateFunctionSecretResponse = KeyInfo; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateAccess; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteFunctionSecretOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getPrivateEndpointConnectionListSlot operation. - */ -export type WebAppsGetPrivateEndpointConnectionListSlotResponse = PrivateEndpointConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListFunctionKeysOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionCollection; - }; -}; +/** Contains response data for the listFunctionKeys operation. */ +export type WebAppsListFunctionKeysResponse = StringDictionary; -/** - * Contains response data for the getPrivateEndpointConnectionSlot operation. - */ -export type WebAppsGetPrivateEndpointConnectionSlotResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListFunctionSecretsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Contains response data for the listFunctionSecrets operation. */ +export type WebAppsListFunctionSecretsResponse = FunctionSecrets; -/** - * Contains response data for the approveOrRejectPrivateEndpointConnectionSlot operation. - */ -export type WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListHostKeysOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Contains response data for the listHostKeys operation. */ +export type WebAppsListHostKeysResponse = HostKeys; + +/** Optional parameters. */ +export interface WebAppsListSyncStatusOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface WebAppsSyncFunctionsOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateHostSecretOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdateHostSecret operation. */ +export type WebAppsCreateOrUpdateHostSecretResponse = KeyInfo; + +/** Optional parameters. */ +export interface WebAppsDeleteHostSecretOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface WebAppsListHostNameBindingsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listHostNameBindings operation. */ +export type WebAppsListHostNameBindingsResponse = HostNameBindingCollection; + +/** Optional parameters. */ +export interface WebAppsGetHostNameBindingOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getHostNameBinding operation. */ +export type WebAppsGetHostNameBindingResponse = HostNameBinding; + +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateHostNameBindingOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdateHostNameBinding operation. */ +export type WebAppsCreateOrUpdateHostNameBindingResponse = HostNameBinding; + +/** Optional parameters. */ +export interface WebAppsDeleteHostNameBindingOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface WebAppsGetHybridConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getHybridConnection operation. */ +export type WebAppsGetHybridConnectionResponse = HybridConnection; + +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateHybridConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdateHybridConnection operation. */ +export type WebAppsCreateOrUpdateHybridConnectionResponse = HybridConnection; + +/** Optional parameters. */ +export interface WebAppsDeleteHybridConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface WebAppsUpdateHybridConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the updateHybridConnection operation. */ +export type WebAppsUpdateHybridConnectionResponse = HybridConnection; + +/** Optional parameters. */ +export interface WebAppsListHybridConnectionsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listHybridConnections operation. */ +export type WebAppsListHybridConnectionsResponse = HybridConnection; + +/** Optional parameters. */ +export interface WebAppsListRelayServiceConnectionsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listRelayServiceConnections operation. */ +export type WebAppsListRelayServiceConnectionsResponse = RelayServiceConnectionEntity; + +/** Optional parameters. */ +export interface WebAppsGetRelayServiceConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getRelayServiceConnection operation. */ +export type WebAppsGetRelayServiceConnectionResponse = RelayServiceConnectionEntity; + +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateRelayServiceConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdateRelayServiceConnection operation. */ +export type WebAppsCreateOrUpdateRelayServiceConnectionResponse = RelayServiceConnectionEntity; + +/** Optional parameters. */ +export interface WebAppsDeleteRelayServiceConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface WebAppsUpdateRelayServiceConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the updateRelayServiceConnection operation. */ +export type WebAppsUpdateRelayServiceConnectionResponse = RelayServiceConnectionEntity; + +/** Optional parameters. */ +export interface WebAppsListInstanceIdentifiersOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listInstanceIdentifiers operation. */ +export type WebAppsListInstanceIdentifiersResponse = WebAppInstanceStatusCollection; + +/** Optional parameters. */ +export interface WebAppsGetInstanceInfoOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getInstanceInfo operation. */ +export type WebAppsGetInstanceInfoResponse = WebSiteInstanceStatus; + +/** Optional parameters. */ +export interface WebAppsGetInstanceMsDeployStatusOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getInstanceMsDeployStatus operation. */ +export type WebAppsGetInstanceMsDeployStatusResponse = MSDeployStatus; + +/** Optional parameters. */ +export interface WebAppsCreateInstanceMSDeployOperationOptionalParams + extends coreClient.OperationOptions { + /** 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 deletePrivateEndpointConnectionSlot operation. - */ -export type WebAppsDeletePrivateEndpointConnectionSlotResponse = { - /** - * The parsed response body. - */ - body: any; +/** Contains response data for the createInstanceMSDeployOperation operation. */ +export type WebAppsCreateInstanceMSDeployOperationResponse = MSDeployStatus; - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceMSDeployLogOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Contains response data for the getInstanceMSDeployLog operation. */ +export type WebAppsGetInstanceMSDeployLogResponse = MSDeployLog; -/** - * Contains response data for the getPrivateLinkResourcesSlot operation. - */ -export type WebAppsGetPrivateLinkResourcesSlotResponse = PrivateLinkResourcesWrapper & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateLinkResourcesWrapper; - }; -}; +/** Contains response data for the listInstanceProcesses operation. */ +export type WebAppsListInstanceProcessesResponse = ProcessInfoCollection; -/** - * Contains response data for the listProcessesSlot operation. - */ -export type WebAppsListProcessesSlotResponse = ProcessInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceProcessOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfoCollection; - }; -}; +/** Contains response data for the getInstanceProcess operation. */ +export type WebAppsGetInstanceProcessResponse = ProcessInfo; -/** - * Contains response data for the getProcessSlot operation. - */ -export type WebAppsGetProcessSlotResponse = ProcessInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteInstanceProcessOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetInstanceProcessDumpOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getProcessDumpSlot operation. - */ -export type WebAppsGetProcessDumpSlotResponse = { +/** Contains response data for the getInstanceProcessDump operation. */ +export type WebAppsGetInstanceProcessDumpResponse = { /** * BROWSER ONLY * * The response body as a browser Blob. - * Always undefined in node.js. + * Always `undefined` in node.js. */ blobBody?: Promise; - /** * NODEJS ONLY * * The response body as a node.js Readable stream. - * Always undefined in the browser. + * Always `undefined` in the browser. */ readableStreamBody?: NodeJS.ReadableStream; - - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; }; -/** - * Contains response data for the listProcessModulesSlot operation. - */ -export type WebAppsListProcessModulesSlotResponse = ProcessModuleInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessModulesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfoCollection; - }; -}; +/** Contains response data for the listInstanceProcessModules operation. */ +export type WebAppsListInstanceProcessModulesResponse = ProcessModuleInfoCollection; -/** - * Contains response data for the getProcessModuleSlot operation. - */ -export type WebAppsGetProcessModuleSlotResponse = ProcessModuleInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceProcessModuleOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfo; - }; -}; +/** Contains response data for the getInstanceProcessModule operation. */ +export type WebAppsGetInstanceProcessModuleResponse = ProcessModuleInfo; -/** - * Contains response data for the listProcessThreadsSlot operation. - */ -export type WebAppsListProcessThreadsSlotResponse = ProcessThreadInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessThreadsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessThreadInfoCollection; - }; -}; +/** Contains response data for the listInstanceProcessThreads operation. */ +export type WebAppsListInstanceProcessThreadsResponse = ProcessThreadInfoCollection; -/** - * Contains response data for the listPublicCertificatesSlot operation. - */ -export type WebAppsListPublicCertificatesSlotResponse = PublicCertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsIsCloneableOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PublicCertificateCollection; - }; -}; +/** Contains response data for the isCloneable operation. */ +export type WebAppsIsCloneableResponse = SiteCloneability; -/** - * Contains response data for the getPublicCertificateSlot operation. - */ -export type WebAppsGetPublicCertificateSlotResponse = PublicCertificate & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSiteBackupsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PublicCertificate; - }; -}; +/** Contains response data for the listSiteBackups operation. */ +export type WebAppsListSiteBackupsResponse = BackupItemCollection; -/** - * Contains response data for the createOrUpdatePublicCertificateSlot operation. - */ -export type WebAppsCreateOrUpdatePublicCertificateSlotResponse = PublicCertificate & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSyncFunctionTriggersOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PublicCertificate; - }; -}; +/** Contains response data for the listSyncFunctionTriggers operation. */ +export type WebAppsListSyncFunctionTriggersResponse = FunctionSecrets; -/** - * Contains response data for the listPublishingProfileXmlWithSecretsSlot operation. - */ -export type WebAppsListPublishingProfileXmlWithSecretsSlotResponse = { - /** - * BROWSER ONLY - * - * The response body as a browser Blob. - * Always undefined in node.js. - */ - blobBody?: Promise; +/** Optional parameters. */ +export interface WebAppsMigrateStorageOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * NODEJS ONLY - * - * The response body as a node.js Readable stream. - * Always undefined in the browser. - */ - readableStreamBody?: NodeJS.ReadableStream; +/** Contains response data for the migrateStorage operation. */ +export type WebAppsMigrateStorageResponse = StorageMigrationResponse; - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse; -}; +/** Optional parameters. */ +export interface WebAppsMigrateMySqlOptionalParams + extends coreClient.OperationOptions { + /** 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 listSiteExtensionsSlot operation. - */ -export type WebAppsListSiteExtensionsSlotResponse = SiteExtensionInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the migrateMySql operation. */ +export type WebAppsMigrateMySqlResponse = Operation; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetMigrateMySqlStatusOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteExtensionSlot operation. - */ -export type WebAppsGetSiteExtensionSlotResponse = SiteExtensionInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getMigrateMySqlStatus operation. */ +export type WebAppsGetMigrateMySqlStatusResponse = MigrateMySqlStatus; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetSwiftVirtualNetworkConnectionOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the installSiteExtensionSlot operation. - */ -export type WebAppsInstallSiteExtensionSlotResponse = SiteExtensionInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getSwiftVirtualNetworkConnection operation. */ +export type WebAppsGetSwiftVirtualNetworkConnectionResponse = SwiftVirtualNetwork; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSlotDifferencesSlot operation. - */ -export type WebAppsListSlotDifferencesSlotResponse = SlotDifferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateSwiftVirtualNetworkConnectionWithCheck operation. */ +export type WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckResponse = SwiftVirtualNetwork; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SlotDifferenceCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteSwiftVirtualNetworkOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSnapshotsSlot operation. - */ -export type WebAppsListSnapshotsSlotResponse = SnapshotCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SnapshotCollection; - }; -}; +/** Contains response data for the updateSwiftVirtualNetworkConnectionWithCheck operation. */ +export type WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckResponse = SwiftVirtualNetwork; -/** - * Contains response data for the listSnapshotsFromDRSecondarySlot operation. - */ -export type WebAppsListSnapshotsFromDRSecondarySlotResponse = SnapshotCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListNetworkFeaturesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SnapshotCollection; - }; -}; +/** Contains response data for the listNetworkFeatures operation. */ +export type WebAppsListNetworkFeaturesResponse = NetworkFeatures; -/** - * Contains response data for the getSourceControlSlot operation. - */ -export type WebAppsGetSourceControlSlotResponse = SiteSourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetNetworkTraceOperationOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSourceControl; - }; -}; +/** Contains response data for the getNetworkTraceOperation operation. */ +export type WebAppsGetNetworkTraceOperationResponse = NetworkTrace[]; -/** - * Contains response data for the createOrUpdateSourceControlSlot operation. - */ -export type WebAppsCreateOrUpdateSourceControlSlotResponse = SiteSourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStartWebSiteNetworkTraceOptionalParams + extends coreClient.OperationOptions { + /** The duration to keep capturing in seconds. */ + durationInSeconds?: number; + /** The maximum frame length in bytes (Optional). */ + maxFrameLength?: number; + /** The Blob URL to store capture file. */ + sasUrl?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSourceControl; - }; +/** Contains response data for the startWebSiteNetworkTrace operation. */ +export type WebAppsStartWebSiteNetworkTraceResponse = { + /** The parsed response body. */ + body: string; }; -/** - * Contains response data for the updateSourceControlSlot operation. - */ -export type WebAppsUpdateSourceControlSlotResponse = SiteSourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStartWebSiteNetworkTraceOperationOptionalParams + extends coreClient.OperationOptions { + /** The duration to keep capturing in seconds. */ + durationInSeconds?: number; + /** The maximum frame length in bytes (Optional). */ + maxFrameLength?: number; + /** The Blob URL to store capture file. */ + sasUrl?: 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSourceControl; - }; -}; +/** Contains response data for the startWebSiteNetworkTraceOperation operation. */ +export type WebAppsStartWebSiteNetworkTraceOperationResponse = NetworkTrace[]; -/** - * Contains response data for the startNetworkTraceSlot operation. - */ -export type WebAppsStartNetworkTraceSlotResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStopWebSiteNetworkTraceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetNetworkTracesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listTriggeredWebJobsSlot operation. - */ -export type WebAppsListTriggeredWebJobsSlotResponse = TriggeredWebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getNetworkTraces operation. */ +export type WebAppsGetNetworkTracesResponse = NetworkTrace[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredWebJobCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetNetworkTraceOperationV2OptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getTriggeredWebJobSlot operation. - */ -export type WebAppsGetTriggeredWebJobSlotResponse = TriggeredWebJob & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getNetworkTraceOperationV2 operation. */ +export type WebAppsGetNetworkTraceOperationV2Response = NetworkTrace[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredWebJob; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetNetworkTracesV2OptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listTriggeredWebJobHistorySlot operation. - */ -export type WebAppsListTriggeredWebJobHistorySlotResponse = TriggeredJobHistoryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getNetworkTracesV2 operation. */ +export type WebAppsGetNetworkTracesV2Response = NetworkTrace[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredJobHistoryCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGenerateNewSitePublishingPasswordOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getTriggeredWebJobHistorySlot operation. - */ -export type WebAppsGetTriggeredWebJobHistorySlotResponse = TriggeredJobHistory & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPerfMonCountersOptionalParams + extends coreClient.OperationOptions { + /** Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredJobHistory; - }; -}; +/** Contains response data for the listPerfMonCounters operation. */ +export type WebAppsListPerfMonCountersResponse = PerfMonCounterCollection; -/** - * Contains response data for the listUsagesSlot operation. - */ -export type WebAppsListUsagesSlotResponse = CsmUsageQuotaCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSitePhpErrorLogFlagOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmUsageQuotaCollection; - }; -}; +/** Contains response data for the getSitePhpErrorLogFlag operation. */ +export type WebAppsGetSitePhpErrorLogFlagResponse = SitePhpErrorLogFlag; -/** - * Contains response data for the listVnetConnectionsSlot operation. - */ -export type WebAppsListVnetConnectionsSlotResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPremierAddOnsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo[]; - }; -}; +/** Contains response data for the listPremierAddOns operation. */ +export type WebAppsListPremierAddOnsResponse = PremierAddOn; -/** - * Contains response data for the getVnetConnectionSlot operation. - */ -export type WebAppsGetVnetConnectionSlotResponse = VnetInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetPremierAddOnOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo; - }; -}; +/** Contains response data for the getPremierAddOn operation. */ +export type WebAppsGetPremierAddOnResponse = PremierAddOn; -/** - * Contains response data for the createOrUpdateVnetConnectionSlot operation. - */ -export type WebAppsCreateOrUpdateVnetConnectionSlotResponse = VnetInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsAddPremierAddOnOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo; - }; -}; +/** Contains response data for the addPremierAddOn operation. */ +export type WebAppsAddPremierAddOnResponse = PremierAddOn; -/** - * Contains response data for the updateVnetConnectionSlot operation. - */ -export type WebAppsUpdateVnetConnectionSlotResponse = VnetInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeletePremierAddOnOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdatePremierAddOnOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getVnetConnectionGatewaySlot operation. - */ -export type WebAppsGetVnetConnectionGatewaySlotResponse = VnetGateway & { +/** Contains response data for the updatePremierAddOn operation. */ +export type WebAppsUpdatePremierAddOnResponse = PremierAddOn; + +/** Optional parameters. */ +export interface WebAppsGetPrivateAccessOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getPrivateAccess operation. */ +export type WebAppsGetPrivateAccessResponse = PrivateAccess; + +/** Optional parameters. */ +export interface WebAppsPutPrivateAccessVnetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the putPrivateAccessVnet operation. */ +export type WebAppsPutPrivateAccessVnetResponse = PrivateAccess; + +/** Optional parameters. */ +export interface WebAppsGetPrivateEndpointConnectionListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getPrivateEndpointConnectionList operation. */ +export type WebAppsGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection; + +/** Optional parameters. */ +export interface WebAppsGetPrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getPrivateEndpointConnection operation. */ +export type WebAppsGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; + +/** Optional parameters. */ +export interface WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions { + /** 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 approveOrRejectPrivateEndpointConnection operation. */ +export type WebAppsApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource; + +/** Optional parameters. */ +export interface WebAppsDeletePrivateEndpointConnectionOptionalParams + extends coreClient.OperationOptions { + /** 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 deletePrivateEndpointConnection operation. */ +export type WebAppsDeletePrivateEndpointConnectionResponse = Record< + string, + unknown +>; + +/** Optional parameters. */ +export interface WebAppsGetPrivateLinkResourcesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getPrivateLinkResources operation. */ +export type WebAppsGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper; + +/** Optional parameters. */ +export interface WebAppsListProcessesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listProcesses operation. */ +export type WebAppsListProcessesResponse = ProcessInfoCollection; + +/** Optional parameters. */ +export interface WebAppsGetProcessOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getProcess operation. */ +export type WebAppsGetProcessResponse = ProcessInfo; + +/** Optional parameters. */ +export interface WebAppsDeleteProcessOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface WebAppsGetProcessDumpOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getProcessDump operation. */ +export type WebAppsGetProcessDumpResponse = { /** - * The underlying HTTP response. + * BROWSER ONLY + * + * The response body as a browser Blob. + * Always `undefined` in node.js. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetGateway; - }; + blobBody?: Promise; + /** + * NODEJS ONLY + * + * The response body as a node.js Readable stream. + * Always `undefined` in the browser. + */ + readableStreamBody?: NodeJS.ReadableStream; }; -/** - * Contains response data for the createOrUpdateVnetConnectionGatewaySlot operation. - */ -export type WebAppsCreateOrUpdateVnetConnectionGatewaySlotResponse = VnetGateway & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListProcessModulesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listProcessModules operation. */ +export type WebAppsListProcessModulesResponse = ProcessModuleInfoCollection; + +/** Optional parameters. */ +export interface WebAppsGetProcessModuleOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetGateway; - }; -}; +/** Contains response data for the getProcessModule operation. */ +export type WebAppsGetProcessModuleResponse = ProcessModuleInfo; -/** - * Contains response data for the updateVnetConnectionGatewaySlot operation. - */ -export type WebAppsUpdateVnetConnectionGatewaySlotResponse = VnetGateway & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListProcessThreadsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetGateway; - }; -}; +/** Contains response data for the listProcessThreads operation. */ +export type WebAppsListProcessThreadsResponse = ProcessThreadInfoCollection; -/** - * Contains response data for the listWebJobsSlot operation. - */ -export type WebAppsListWebJobsSlotResponse = WebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPublicCertificatesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebJobCollection; - }; -}; +/** Contains response data for the listPublicCertificates operation. */ +export type WebAppsListPublicCertificatesResponse = PublicCertificateCollection; -/** - * Contains response data for the getWebJobSlot operation. - */ -export type WebAppsGetWebJobSlotResponse = WebJob & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetPublicCertificateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebJob; - }; -}; +/** Contains response data for the getPublicCertificate operation. */ +export type WebAppsGetPublicCertificateResponse = PublicCertificate; -/** - * Contains response data for the listSlotDifferencesFromProduction operation. - */ -export type WebAppsListSlotDifferencesFromProductionResponse = SlotDifferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdatePublicCertificateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SlotDifferenceCollection; - }; -}; +/** Contains response data for the createOrUpdatePublicCertificate operation. */ +export type WebAppsCreateOrUpdatePublicCertificateResponse = PublicCertificate; -/** - * Contains response data for the listSnapshots operation. - */ -export type WebAppsListSnapshotsResponse = SnapshotCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeletePublicCertificateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SnapshotCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListPublishingProfileXmlWithSecretsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSnapshotsFromDRSecondary operation. - */ -export type WebAppsListSnapshotsFromDRSecondaryResponse = SnapshotCollection & { +/** Contains response data for the listPublishingProfileXmlWithSecrets operation. */ +export type WebAppsListPublishingProfileXmlWithSecretsResponse = { /** - * The underlying HTTP response. + * BROWSER ONLY + * + * The response body as a browser Blob. + * Always `undefined` in node.js. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: SnapshotCollection; - }; -}; - -/** - * Contains response data for the getSourceControl operation. - */ -export type WebAppsGetSourceControlResponse = SiteSourceControl & { + blobBody?: Promise; /** - * The underlying HTTP response. + * NODEJS ONLY + * + * The response body as a node.js Readable stream. + * Always `undefined` in the browser. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSourceControl; - }; + readableStreamBody?: NodeJS.ReadableStream; }; -/** - * Contains response data for the createOrUpdateSourceControl operation. - */ -export type WebAppsCreateOrUpdateSourceControlResponse = SiteSourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsResetProductionSlotConfigOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSourceControl; - }; -}; +/** Optional parameters. */ +export interface WebAppsRestartOptionalParams + extends coreClient.OperationOptions { + /** Specify true to apply the configuration settings and restarts the app only if necessary. By default, the API always restarts and reprovisions the app. */ + softRestart?: boolean; + /** Specify true to block until the app is restarted. By default, it is set to false, and the API responds immediately (asynchronous). */ + synchronous?: boolean; +} -/** - * Contains response data for the updateSourceControl operation. - */ -export type WebAppsUpdateSourceControlResponse = SiteSourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsRestoreFromBackupBlobOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSourceControl; - }; -}; +/** Optional parameters. */ +export interface WebAppsRestoreFromDeletedAppOptionalParams + extends coreClient.OperationOptions { + /** 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 startNetworkTrace operation. - */ -export type WebAppsStartNetworkTraceResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsRestoreSnapshotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSiteExtensionsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listTriggeredWebJobs operation. - */ -export type WebAppsListTriggeredWebJobsResponse = TriggeredWebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteExtensions operation. */ +export type WebAppsListSiteExtensionsResponse = SiteExtensionInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredWebJobCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetSiteExtensionOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getTriggeredWebJob operation. - */ -export type WebAppsGetTriggeredWebJobResponse = TriggeredWebJob & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getSiteExtension operation. */ +export type WebAppsGetSiteExtensionResponse = SiteExtensionInfo; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredWebJob; - }; -}; +/** Optional parameters. */ +export interface WebAppsInstallSiteExtensionOptionalParams + extends coreClient.OperationOptions { + /** 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 listTriggeredWebJobHistory operation. - */ -export type WebAppsListTriggeredWebJobHistoryResponse = TriggeredJobHistoryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the installSiteExtension operation. */ +export type WebAppsInstallSiteExtensionResponse = SiteExtensionInfo; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredJobHistoryCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteSiteExtensionOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getTriggeredWebJobHistory operation. - */ -export type WebAppsGetTriggeredWebJobHistoryResponse = TriggeredJobHistory & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSlotsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredJobHistory; - }; -}; +/** Contains response data for the listSlots operation. */ +export type WebAppsListSlotsResponse = WebAppCollection; -/** - * Contains response data for the listUsages operation. - */ -export type WebAppsListUsagesResponse = CsmUsageQuotaCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmUsageQuotaCollection; - }; -}; +/** Contains response data for the getSlot operation. */ +export type WebAppsGetSlotResponse = Site; -/** - * Contains response data for the listVnetConnections operation. - */ -export type WebAppsListVnetConnectionsResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateSlotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo[]; - }; -}; +/** Contains response data for the createOrUpdateSlot operation. */ +export type WebAppsCreateOrUpdateSlotResponse = Site; -/** - * Contains response data for the getVnetConnection operation. - */ -export type WebAppsGetVnetConnectionResponse = VnetInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteSlotOptionalParams + extends coreClient.OperationOptions { + /** If true, web app metrics are also deleted. */ + deleteMetrics?: boolean; + /** Specify false if you want to keep empty App Service plan. By default, empty App Service plan is deleted. */ + deleteEmptyServerFarm?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateVnetConnection operation. - */ -export type WebAppsCreateOrUpdateVnetConnectionResponse = VnetInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateSlot operation. */ +export type WebAppsUpdateSlotResponse = Site; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsAnalyzeCustomHostnameSlotOptionalParams + extends coreClient.OperationOptions { + /** Custom hostname. */ + hostName?: string; +} -/** - * Contains response data for the updateVnetConnection operation. - */ -export type WebAppsUpdateVnetConnectionResponse = VnetInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the analyzeCustomHostnameSlot operation. */ +export type WebAppsAnalyzeCustomHostnameSlotResponse = CustomHostnameAnalysisResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsApplySlotConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getVnetConnectionGateway operation. - */ -export type WebAppsGetVnetConnectionGatewayResponse = VnetGateway & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsBackupSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetGateway; - }; -}; +/** Contains response data for the backupSlot operation. */ +export type WebAppsBackupSlotResponse = BackupItem; -/** - * Contains response data for the createOrUpdateVnetConnectionGateway operation. - */ -export type WebAppsCreateOrUpdateVnetConnectionGatewayResponse = VnetGateway & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListBackupsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetGateway; - }; -}; +/** Contains response data for the listBackupsSlot operation. */ +export type WebAppsListBackupsSlotResponse = BackupItemCollection; -/** - * Contains response data for the updateVnetConnectionGateway operation. - */ -export type WebAppsUpdateVnetConnectionGatewayResponse = VnetGateway & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetBackupStatusSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetGateway; - }; -}; +/** Contains response data for the getBackupStatusSlot operation. */ +export type WebAppsGetBackupStatusSlotResponse = BackupItem; -/** - * Contains response data for the listWebJobs operation. - */ -export type WebAppsListWebJobsResponse = WebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteBackupSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebJobCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListBackupStatusSecretsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getWebJob operation. - */ -export type WebAppsGetWebJobResponse = WebJob & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBackupStatusSecretsSlot operation. */ +export type WebAppsListBackupStatusSecretsSlotResponse = BackupItem; - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebJob; - }; -}; +/** Optional parameters. */ +export interface WebAppsRestoreSlotOptionalParams + extends coreClient.OperationOptions { + /** 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 beginCreateOrUpdate operation. - */ -export type WebAppsBeginCreateOrUpdateResponse = Site & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Site; - }; -}; +/** Contains response data for the listBasicPublishingCredentialsPoliciesSlot operation. */ +export type WebAppsListBasicPublishingCredentialsPoliciesSlotResponse = PublishingCredentialsPoliciesCollection; -/** - * Contains response data for the beginListPublishingCredentials operation. - */ -export type WebAppsBeginListPublishingCredentialsResponse = User & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetFtpAllowedSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: User; - }; -}; +/** Contains response data for the getFtpAllowedSlot operation. */ +export type WebAppsGetFtpAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity; -/** - * Contains response data for the beginCreateMSDeployOperation operation. - */ -export type WebAppsBeginCreateMSDeployOperationResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateFtpAllowedSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Contains response data for the updateFtpAllowedSlot operation. */ +export type WebAppsUpdateFtpAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity; -/** - * Contains response data for the beginCreateFunction operation. - */ -export type WebAppsBeginCreateFunctionResponse = FunctionEnvelope & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetScmAllowedSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelope; - }; -}; +/** Contains response data for the getScmAllowedSlot operation. */ +export type WebAppsGetScmAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity; -/** - * Contains response data for the beginCreateInstanceMSDeployOperation operation. - */ -export type WebAppsBeginCreateInstanceMSDeployOperationResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateScmAllowedSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Contains response data for the updateScmAllowedSlot operation. */ +export type WebAppsUpdateScmAllowedSlotResponse = CsmPublishingCredentialsPoliciesEntity; -/** - * Contains response data for the beginMigrateStorage operation. - */ -export type WebAppsBeginMigrateStorageResponse = StorageMigrationResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConfigurationsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageMigrationResponse; - }; -}; +/** Contains response data for the listConfigurationsSlot operation. */ +export type WebAppsListConfigurationsSlotResponse = SiteConfigResourceCollection; -/** - * Contains response data for the beginMigrateMySql operation. - */ -export type WebAppsBeginMigrateMySqlResponse = Operation & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateApplicationSettingsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Operation; - }; -}; +/** Contains response data for the updateApplicationSettingsSlot operation. */ +export type WebAppsUpdateApplicationSettingsSlotResponse = StringDictionary; -/** - * Contains response data for the beginStartWebSiteNetworkTraceOperation operation. - */ -export type WebAppsBeginStartWebSiteNetworkTraceOperationResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListApplicationSettingsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the listApplicationSettingsSlot operation. */ +export type WebAppsListApplicationSettingsSlotResponse = StringDictionary; -/** - * Contains response data for the beginApproveOrRejectPrivateEndpointConnection operation. - */ -export type WebAppsBeginApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateAuthSettingsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Contains response data for the updateAuthSettingsSlot operation. */ +export type WebAppsUpdateAuthSettingsSlotResponse = SiteAuthSettings; -/** - * Contains response data for the beginDeletePrivateEndpointConnection operation. - */ -export type WebAppsBeginDeletePrivateEndpointConnectionResponse = { - /** - * The parsed response body. - */ - body: any; +/** Optional parameters. */ +export interface WebAppsGetAuthSettingsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAuthSettingsSlot operation. */ +export type WebAppsGetAuthSettingsSlotResponse = SiteAuthSettings; - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateAuthSettingsV2SlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginInstallSiteExtension operation. - */ -export type WebAppsBeginInstallSiteExtensionResponse = SiteExtensionInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateAuthSettingsV2Slot operation. */ +export type WebAppsUpdateAuthSettingsV2SlotResponse = SiteAuthSettingsV2; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetAuthSettingsV2SlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdateSlot operation. - */ -export type WebAppsBeginCreateOrUpdateSlotResponse = Site & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAuthSettingsV2Slot operation. */ +export type WebAppsGetAuthSettingsV2SlotResponse = SiteAuthSettingsV2; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Site; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateAzureStorageAccountsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginListPublishingCredentialsSlot operation. - */ -export type WebAppsBeginListPublishingCredentialsSlotResponse = User & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateAzureStorageAccountsSlot operation. */ +export type WebAppsUpdateAzureStorageAccountsSlotResponse = AzureStoragePropertyDictionaryResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: User; - }; -}; +/** Optional parameters. */ +export interface WebAppsListAzureStorageAccountsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateMSDeployOperationSlot operation. - */ -export type WebAppsBeginCreateMSDeployOperationSlotResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listAzureStorageAccountsSlot operation. */ +export type WebAppsListAzureStorageAccountsSlotResponse = AzureStoragePropertyDictionaryResource; + +/** Optional parameters. */ +export interface WebAppsUpdateBackupConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Contains response data for the updateBackupConfigurationSlot operation. */ +export type WebAppsUpdateBackupConfigurationSlotResponse = BackupRequest; -/** - * Contains response data for the beginCreateInstanceFunctionSlot operation. - */ -export type WebAppsBeginCreateInstanceFunctionSlotResponse = FunctionEnvelope & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteBackupConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelope; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetBackupConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateInstanceMSDeployOperationSlot operation. - */ -export type WebAppsBeginCreateInstanceMSDeployOperationSlotResponse = MSDeployStatus & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getBackupConfigurationSlot operation. */ +export type WebAppsGetBackupConfigurationSlotResponse = BackupRequest; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MSDeployStatus; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginStartWebSiteNetworkTraceOperationSlot operation. - */ -export type WebAppsBeginStartWebSiteNetworkTraceOperationSlotResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAppSettingsKeyVaultReferencesSlot operation. */ +export type WebAppsGetAppSettingsKeyVaultReferencesSlotResponse = ApiKVReferenceCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetAppSettingKeyVaultReferenceSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginApproveOrRejectPrivateEndpointConnectionSlot operation. - */ -export type WebAppsBeginApproveOrRejectPrivateEndpointConnectionSlotResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAppSettingKeyVaultReferenceSlot operation. */ +export type WebAppsGetAppSettingKeyVaultReferenceSlotResponse = ApiKVReference; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginDeletePrivateEndpointConnectionSlot operation. - */ -export type WebAppsBeginDeletePrivateEndpointConnectionSlotResponse = { - /** - * The parsed response body. - */ - body: any; +/** Contains response data for the getSiteConnectionStringKeyVaultReferencesSlot operation. */ +export type WebAppsGetSiteConnectionStringKeyVaultReferencesSlotResponse = ApiKVReferenceCollection; - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSiteConnectionStringKeyVaultReferenceSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Contains response data for the getSiteConnectionStringKeyVaultReferenceSlot operation. */ +export type WebAppsGetSiteConnectionStringKeyVaultReferenceSlotResponse = ApiKVReference; -/** - * Contains response data for the beginInstallSiteExtensionSlot operation. - */ -export type WebAppsBeginInstallSiteExtensionSlotResponse = SiteExtensionInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateConnectionStringsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfo; - }; -}; +/** Contains response data for the updateConnectionStringsSlot operation. */ +export type WebAppsUpdateConnectionStringsSlotResponse = ConnectionStringDictionary; -/** - * Contains response data for the beginCreateOrUpdateSourceControlSlot operation. - */ -export type WebAppsBeginCreateOrUpdateSourceControlSlotResponse = SiteSourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConnectionStringsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSourceControl; - }; -}; +/** Contains response data for the listConnectionStringsSlot operation. */ +export type WebAppsListConnectionStringsSlotResponse = ConnectionStringDictionary; -/** - * Contains response data for the beginStartNetworkTraceSlot operation. - */ -export type WebAppsBeginStartNetworkTraceSlotResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetDiagnosticLogsConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the getDiagnosticLogsConfigurationSlot operation. */ +export type WebAppsGetDiagnosticLogsConfigurationSlotResponse = SiteLogsConfig; -/** - * Contains response data for the beginCreateOrUpdateSourceControl operation. - */ -export type WebAppsBeginCreateOrUpdateSourceControlResponse = SiteSourceControl & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateDiagnosticLogsConfigSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteSourceControl; - }; -}; +/** Contains response data for the updateDiagnosticLogsConfigSlot operation. */ +export type WebAppsUpdateDiagnosticLogsConfigSlotResponse = SiteLogsConfig; -/** - * Contains response data for the beginStartNetworkTrace operation. - */ -export type WebAppsBeginStartNetworkTraceResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateMetadataSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkTrace[]; - }; -}; +/** Contains response data for the updateMetadataSlot operation. */ +export type WebAppsUpdateMetadataSlotResponse = StringDictionary; -/** - * Contains response data for the listNext operation. - */ -export type WebAppsListNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListMetadataSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listMetadataSlot operation. */ +export type WebAppsListMetadataSlotResponse = StringDictionary; -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type WebAppsListByResourceGroupNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPublishingCredentialsSlotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listPublishingCredentialsSlot operation. */ +export type WebAppsListPublishingCredentialsSlotResponse = User; -/** - * Contains response data for the listBackupsNext operation. - */ -export type WebAppsListBackupsNextResponse = BackupItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateSitePushSettingsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItemCollection; - }; -}; +/** Contains response data for the updateSitePushSettingsSlot operation. */ +export type WebAppsUpdateSitePushSettingsSlotResponse = PushSettings; -/** - * Contains response data for the listConfigurationsNext operation. - */ -export type WebAppsListConfigurationsNextResponse = SiteConfigResourceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSitePushSettingsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResourceCollection; - }; -}; +/** Contains response data for the listSitePushSettingsSlot operation. */ +export type WebAppsListSitePushSettingsSlotResponse = PushSettings; -/** - * Contains response data for the getAppSettingsKeyVaultReferencesNext operation. - */ -export type WebAppsGetAppSettingsKeyVaultReferencesNextResponse = ApiKVReferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReferenceCollection; - }; -}; +/** Contains response data for the getConfigurationSlot operation. */ +export type WebAppsGetConfigurationSlotResponse = SiteConfigResource; -/** - * Contains response data for the getSiteConnectionStringKeyVaultReferencesNext operation. - */ -export type WebAppsGetSiteConnectionStringKeyVaultReferencesNextResponse = ApiKVReferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReferenceCollection; - }; -}; +/** Contains response data for the createOrUpdateConfigurationSlot operation. */ +export type WebAppsCreateOrUpdateConfigurationSlotResponse = SiteConfigResource; -/** - * Contains response data for the listConfigurationSnapshotInfoNext operation. - */ -export type WebAppsListConfigurationSnapshotInfoNextResponse = SiteConfigurationSnapshotInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigurationSnapshotInfoCollection; - }; -}; +/** Contains response data for the updateConfigurationSlot operation. */ +export type WebAppsUpdateConfigurationSlotResponse = SiteConfigResource; -/** - * Contains response data for the listContinuousWebJobsNext operation. - */ -export type WebAppsListContinuousWebJobsNextResponse = ContinuousWebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConfigurationSnapshotInfoSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ContinuousWebJobCollection; - }; -}; +/** Contains response data for the listConfigurationSnapshotInfoSlot operation. */ +export type WebAppsListConfigurationSnapshotInfoSlotResponse = SiteConfigurationSnapshotInfoCollection; -/** - * Contains response data for the listDeploymentsNext operation. - */ -export type WebAppsListDeploymentsNextResponse = DeploymentCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetConfigurationSnapshotSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeploymentCollection; - }; -}; +/** Contains response data for the getConfigurationSnapshotSlot operation. */ +export type WebAppsGetConfigurationSnapshotSlotResponse = SiteConfigResource; -/** - * Contains response data for the listDomainOwnershipIdentifiersNext operation. - */ -export type WebAppsListDomainOwnershipIdentifiersNextResponse = IdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsRecoverSiteConfigurationSnapshotSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: IdentifierCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetWebSiteContainerLogsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listFunctionsNext operation. - */ -export type WebAppsListFunctionsNextResponse = FunctionEnvelopeCollection & { +/** Contains response data for the getWebSiteContainerLogsSlot operation. */ +export type WebAppsGetWebSiteContainerLogsSlotResponse = { /** - * The underlying HTTP response. + * BROWSER ONLY + * + * The response body as a browser Blob. + * Always `undefined` in node.js. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelopeCollection; - }; -}; - -/** - * Contains response data for the listHostNameBindingsNext operation. - */ -export type WebAppsListHostNameBindingsNextResponse = HostNameBindingCollection & { + blobBody?: Promise; /** - * The underlying HTTP response. + * NODEJS ONLY + * + * The response body as a node.js Readable stream. + * Always `undefined` in the browser. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostNameBindingCollection; - }; + readableStreamBody?: NodeJS.ReadableStream; }; -/** - * Contains response data for the listInstanceIdentifiersNext operation. - */ -export type WebAppsListInstanceIdentifiersNextResponse = WebAppInstanceStatusCollection & { +/** Optional parameters. */ +export interface WebAppsGetContainerLogsZipSlotOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getContainerLogsZipSlot operation. */ +export type WebAppsGetContainerLogsZipSlotResponse = { /** - * The underlying HTTP response. + * BROWSER ONLY + * + * The response body as a browser Blob. + * Always `undefined` in node.js. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppInstanceStatusCollection; - }; -}; - -/** - * Contains response data for the listInstanceProcessesNext operation. - */ -export type WebAppsListInstanceProcessesNextResponse = ProcessInfoCollection & { + blobBody?: Promise; /** - * The underlying HTTP response. + * NODEJS ONLY + * + * The response body as a node.js Readable stream. + * Always `undefined` in the browser. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfoCollection; - }; + readableStreamBody?: NodeJS.ReadableStream; }; -/** - * Contains response data for the listInstanceProcessModulesNext operation. - */ -export type WebAppsListInstanceProcessModulesNextResponse = ProcessModuleInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListContinuousWebJobsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfoCollection; - }; -}; +/** Contains response data for the listContinuousWebJobsSlot operation. */ +export type WebAppsListContinuousWebJobsSlotResponse = ContinuousWebJobCollection; -/** - * Contains response data for the listInstanceProcessThreadsNext operation. - */ -export type WebAppsListInstanceProcessThreadsNextResponse = ProcessThreadInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetContinuousWebJobSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessThreadInfoCollection; - }; -}; +/** Contains response data for the getContinuousWebJobSlot operation. */ +export type WebAppsGetContinuousWebJobSlotResponse = ContinuousWebJob; -/** - * Contains response data for the listSiteBackupsNext operation. - */ -export type WebAppsListSiteBackupsNextResponse = BackupItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteContinuousWebJobSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItemCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsStartContinuousWebJobSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listPerfMonCountersNext operation. - */ -export type WebAppsListPerfMonCountersNextResponse = PerfMonCounterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStopContinuousWebJobSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PerfMonCounterCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListDeploymentsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getPrivateEndpointConnectionListNext operation. - */ -export type WebAppsGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listDeploymentsSlot operation. */ +export type WebAppsListDeploymentsSlotResponse = DeploymentCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetDeploymentSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listProcessesNext operation. - */ -export type WebAppsListProcessesNextResponse = ProcessInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getDeploymentSlot operation. */ +export type WebAppsGetDeploymentSlotResponse = Deployment; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateDeploymentSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listProcessModulesNext operation. - */ -export type WebAppsListProcessModulesNextResponse = ProcessModuleInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createDeploymentSlot operation. */ +export type WebAppsCreateDeploymentSlotResponse = Deployment; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteDeploymentSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listProcessThreadsNext operation. - */ -export type WebAppsListProcessThreadsNextResponse = ProcessThreadInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListDeploymentLogSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessThreadInfoCollection; - }; -}; +/** Contains response data for the listDeploymentLogSlot operation. */ +export type WebAppsListDeploymentLogSlotResponse = Deployment; -/** - * Contains response data for the listPublicCertificatesNext operation. - */ -export type WebAppsListPublicCertificatesNextResponse = PublicCertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDiscoverBackupSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PublicCertificateCollection; - }; -}; +/** Contains response data for the discoverBackupSlot operation. */ +export type WebAppsDiscoverBackupSlotResponse = RestoreRequest; -/** - * Contains response data for the listSiteExtensionsNext operation. - */ -export type WebAppsListSiteExtensionsNextResponse = SiteExtensionInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListDomainOwnershipIdentifiersSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfoCollection; - }; -}; +/** Contains response data for the listDomainOwnershipIdentifiersSlot operation. */ +export type WebAppsListDomainOwnershipIdentifiersSlotResponse = IdentifierCollection; -/** - * Contains response data for the listSlotsNext operation. - */ -export type WebAppsListSlotsNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetDomainOwnershipIdentifierSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the getDomainOwnershipIdentifierSlot operation. */ +export type WebAppsGetDomainOwnershipIdentifierSlotResponse = Identifier; -/** - * Contains response data for the listBackupsSlotNext operation. - */ -export type WebAppsListBackupsSlotNextResponse = BackupItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItemCollection; - }; -}; +/** Contains response data for the createOrUpdateDomainOwnershipIdentifierSlot operation. */ +export type WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotResponse = Identifier; -/** - * Contains response data for the listConfigurationsSlotNext operation. - */ -export type WebAppsListConfigurationsSlotNextResponse = SiteConfigResourceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteDomainOwnershipIdentifierSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigResourceCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateDomainOwnershipIdentifierSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getAppSettingsKeyVaultReferencesSlotNext operation. - */ -export type WebAppsGetAppSettingsKeyVaultReferencesSlotNextResponse = ApiKVReferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateDomainOwnershipIdentifierSlot operation. */ +export type WebAppsUpdateDomainOwnershipIdentifierSlotResponse = Identifier; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReferenceCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetMSDeployStatusSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getSiteConnectionStringKeyVaultReferencesSlotNext operation. - */ -export type WebAppsGetSiteConnectionStringKeyVaultReferencesSlotNextResponse = ApiKVReferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getMSDeployStatusSlot operation. */ +export type WebAppsGetMSDeployStatusSlotResponse = MSDeployStatus; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ApiKVReferenceCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateMSDeployOperationSlotOptionalParams + extends coreClient.OperationOptions { + /** 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 createMSDeployOperationSlot operation. */ +export type WebAppsCreateMSDeployOperationSlotResponse = MSDeployStatus; -/** - * Contains response data for the listConfigurationSnapshotInfoSlotNext operation. - */ -export type WebAppsListConfigurationSnapshotInfoSlotNextResponse = SiteConfigurationSnapshotInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetMSDeployLogSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteConfigurationSnapshotInfoCollection; - }; -}; +/** Contains response data for the getMSDeployLogSlot operation. */ +export type WebAppsGetMSDeployLogSlotResponse = MSDeployLog; -/** - * Contains response data for the listContinuousWebJobsSlotNext operation. - */ -export type WebAppsListContinuousWebJobsSlotNextResponse = ContinuousWebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceFunctionsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ContinuousWebJobCollection; - }; -}; +/** Contains response data for the listInstanceFunctionsSlot operation. */ +export type WebAppsListInstanceFunctionsSlotResponse = FunctionEnvelopeCollection; -/** - * Contains response data for the listDeploymentsSlotNext operation. - */ -export type WebAppsListDeploymentsSlotNextResponse = DeploymentCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetFunctionsAdminTokenSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeploymentCollection; - }; +/** Contains response data for the getFunctionsAdminTokenSlot operation. */ +export type WebAppsGetFunctionsAdminTokenSlotResponse = { + /** The parsed response body. */ + body: string; }; -/** - * Contains response data for the listDomainOwnershipIdentifiersSlotNext operation. - */ -export type WebAppsListDomainOwnershipIdentifiersSlotNextResponse = IdentifierCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceFunctionSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: IdentifierCollection; - }; -}; +/** Contains response data for the getInstanceFunctionSlot operation. */ +export type WebAppsGetInstanceFunctionSlotResponse = FunctionEnvelope; -/** - * Contains response data for the listInstanceFunctionsSlotNext operation. - */ -export type WebAppsListInstanceFunctionsSlotNextResponse = FunctionEnvelopeCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateInstanceFunctionSlotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FunctionEnvelopeCollection; - }; -}; +/** Contains response data for the createInstanceFunctionSlot operation. */ +export type WebAppsCreateInstanceFunctionSlotResponse = FunctionEnvelope; -/** - * Contains response data for the listHostNameBindingsSlotNext operation. - */ -export type WebAppsListHostNameBindingsSlotNextResponse = HostNameBindingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteInstanceFunctionSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostNameBindingCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateFunctionSecretSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listInstanceIdentifiersSlotNext operation. - */ -export type WebAppsListInstanceIdentifiersSlotNextResponse = WebAppInstanceStatusCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateFunctionSecretSlot operation. */ +export type WebAppsCreateOrUpdateFunctionSecretSlotResponse = KeyInfo; - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppInstanceStatusCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteFunctionSecretSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listInstanceProcessesSlotNext operation. - */ -export type WebAppsListInstanceProcessesSlotNextResponse = ProcessInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListFunctionKeysSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfoCollection; - }; -}; +/** Contains response data for the listFunctionKeysSlot operation. */ +export type WebAppsListFunctionKeysSlotResponse = StringDictionary; -/** - * Contains response data for the listInstanceProcessModulesSlotNext operation. - */ -export type WebAppsListInstanceProcessModulesSlotNextResponse = ProcessModuleInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListFunctionSecretsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfoCollection; - }; -}; +/** Contains response data for the listFunctionSecretsSlot operation. */ +export type WebAppsListFunctionSecretsSlotResponse = FunctionSecrets; -/** - * Contains response data for the listInstanceProcessThreadsSlotNext operation. - */ -export type WebAppsListInstanceProcessThreadsSlotNextResponse = ProcessThreadInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListHostKeysSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessThreadInfoCollection; - }; -}; +/** Contains response data for the listHostKeysSlot operation. */ +export type WebAppsListHostKeysSlotResponse = HostKeys; -/** - * Contains response data for the listSiteBackupsSlotNext operation. - */ -export type WebAppsListSiteBackupsSlotNextResponse = BackupItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSyncStatusSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupItemCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsSyncFunctionsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listPerfMonCountersSlotNext operation. - */ -export type WebAppsListPerfMonCountersSlotNextResponse = PerfMonCounterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateHostSecretSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PerfMonCounterCollection; - }; -}; +/** Contains response data for the createOrUpdateHostSecretSlot operation. */ +export type WebAppsCreateOrUpdateHostSecretSlotResponse = KeyInfo; -/** - * Contains response data for the getPrivateEndpointConnectionListSlotNext operation. - */ -export type WebAppsGetPrivateEndpointConnectionListSlotNextResponse = PrivateEndpointConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteHostSecretSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListHostNameBindingsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listProcessesSlotNext operation. - */ -export type WebAppsListProcessesSlotNextResponse = ProcessInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listHostNameBindingsSlot operation. */ +export type WebAppsListHostNameBindingsSlotResponse = HostNameBindingCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetHostNameBindingSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listProcessModulesSlotNext operation. - */ -export type WebAppsListProcessModulesSlotNextResponse = ProcessModuleInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getHostNameBindingSlot operation. */ +export type WebAppsGetHostNameBindingSlotResponse = HostNameBinding; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessModuleInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateHostNameBindingSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listProcessThreadsSlotNext operation. - */ -export type WebAppsListProcessThreadsSlotNextResponse = ProcessThreadInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateHostNameBindingSlot operation. */ +export type WebAppsCreateOrUpdateHostNameBindingSlotResponse = HostNameBinding; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProcessThreadInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteHostNameBindingSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listPublicCertificatesSlotNext operation. - */ -export type WebAppsListPublicCertificatesSlotNextResponse = PublicCertificateCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetHybridConnectionSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PublicCertificateCollection; - }; -}; +/** Contains response data for the getHybridConnectionSlot operation. */ +export type WebAppsGetHybridConnectionSlotResponse = HybridConnection; -/** - * Contains response data for the listSiteExtensionsSlotNext operation. - */ -export type WebAppsListSiteExtensionsSlotNextResponse = SiteExtensionInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateHybridConnectionSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SiteExtensionInfoCollection; - }; -}; +/** Contains response data for the createOrUpdateHybridConnectionSlot operation. */ +export type WebAppsCreateOrUpdateHybridConnectionSlotResponse = HybridConnection; -/** - * Contains response data for the listSlotDifferencesSlotNext operation. - */ -export type WebAppsListSlotDifferencesSlotNextResponse = SlotDifferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteHybridConnectionSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SlotDifferenceCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateHybridConnectionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSnapshotsSlotNext operation. - */ -export type WebAppsListSnapshotsSlotNextResponse = SnapshotCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateHybridConnectionSlot operation. */ +export type WebAppsUpdateHybridConnectionSlotResponse = HybridConnection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SnapshotCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListHybridConnectionsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listSnapshotsFromDRSecondarySlotNext operation. - */ -export type WebAppsListSnapshotsFromDRSecondarySlotNextResponse = SnapshotCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listHybridConnectionsSlot operation. */ +export type WebAppsListHybridConnectionsSlotResponse = HybridConnection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SnapshotCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListRelayServiceConnectionsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listTriggeredWebJobsSlotNext operation. - */ -export type WebAppsListTriggeredWebJobsSlotNextResponse = TriggeredWebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listRelayServiceConnectionsSlot operation. */ +export type WebAppsListRelayServiceConnectionsSlotResponse = RelayServiceConnectionEntity; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredWebJobCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetRelayServiceConnectionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listTriggeredWebJobHistorySlotNext operation. - */ -export type WebAppsListTriggeredWebJobHistorySlotNextResponse = TriggeredJobHistoryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getRelayServiceConnectionSlot operation. */ +export type WebAppsGetRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredJobHistoryCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateRelayServiceConnectionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listUsagesSlotNext operation. - */ -export type WebAppsListUsagesSlotNextResponse = CsmUsageQuotaCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateRelayServiceConnectionSlot operation. */ +export type WebAppsCreateOrUpdateRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmUsageQuotaCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteRelayServiceConnectionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listWebJobsSlotNext operation. - */ -export type WebAppsListWebJobsSlotNextResponse = WebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateRelayServiceConnectionSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebJobCollection; - }; -}; +/** Contains response data for the updateRelayServiceConnectionSlot operation. */ +export type WebAppsUpdateRelayServiceConnectionSlotResponse = RelayServiceConnectionEntity; -/** - * Contains response data for the listSlotDifferencesFromProductionNext operation. - */ -export type WebAppsListSlotDifferencesFromProductionNextResponse = SlotDifferenceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceIdentifiersSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SlotDifferenceCollection; - }; -}; +/** Contains response data for the listInstanceIdentifiersSlot operation. */ +export type WebAppsListInstanceIdentifiersSlotResponse = WebAppInstanceStatusCollection; -/** - * Contains response data for the listSnapshotsNext operation. - */ -export type WebAppsListSnapshotsNextResponse = SnapshotCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceInfoSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SnapshotCollection; - }; -}; +/** Contains response data for the getInstanceInfoSlot operation. */ +export type WebAppsGetInstanceInfoSlotResponse = WebSiteInstanceStatus; -/** - * Contains response data for the listSnapshotsFromDRSecondaryNext operation. - */ -export type WebAppsListSnapshotsFromDRSecondaryNextResponse = SnapshotCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceMsDeployStatusSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SnapshotCollection; - }; -}; +/** Contains response data for the getInstanceMsDeployStatusSlot operation. */ +export type WebAppsGetInstanceMsDeployStatusSlotResponse = MSDeployStatus; -/** - * Contains response data for the listTriggeredWebJobsNext operation. - */ -export type WebAppsListTriggeredWebJobsNextResponse = TriggeredWebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateInstanceMSDeployOperationSlotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredWebJobCollection; - }; -}; +/** Contains response data for the createInstanceMSDeployOperationSlot operation. */ +export type WebAppsCreateInstanceMSDeployOperationSlotResponse = MSDeployStatus; -/** - * Contains response data for the listTriggeredWebJobHistoryNext operation. - */ -export type WebAppsListTriggeredWebJobHistoryNextResponse = TriggeredJobHistoryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceMSDeployLogSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: TriggeredJobHistoryCollection; - }; -}; +/** Contains response data for the getInstanceMSDeployLogSlot operation. */ +export type WebAppsGetInstanceMSDeployLogSlotResponse = MSDeployLog; -/** - * Contains response data for the listUsagesNext operation. - */ -export type WebAppsListUsagesNextResponse = CsmUsageQuotaCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmUsageQuotaCollection; - }; -}; +/** Contains response data for the listInstanceProcessesSlot operation. */ +export type WebAppsListInstanceProcessesSlotResponse = ProcessInfoCollection; -/** - * Contains response data for the listWebJobsNext operation. - */ -export type WebAppsListWebJobsNextResponse = WebJobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceProcessSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebJobCollection; - }; -}; +/** Contains response data for the getInstanceProcessSlot operation. */ +export type WebAppsGetInstanceProcessSlotResponse = ProcessInfo; -/** - * Contains response data for the previewWorkflow operation. - */ -export type StaticSitesPreviewWorkflowResponse = StaticSitesWorkflowPreview & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteInstanceProcessSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSitesWorkflowPreview; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetInstanceProcessDumpSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type StaticSitesListResponse = StaticSiteCollection & { +/** Contains response data for the getInstanceProcessDumpSlot operation. */ +export type WebAppsGetInstanceProcessDumpSlotResponse = { /** - * The underlying HTTP response. + * BROWSER ONLY + * + * The response body as a browser Blob. + * Always `undefined` in node.js. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCollection; - }; -}; - -/** - * Contains response data for the getStaticSitesByResourceGroup operation. - */ -export type StaticSitesGetStaticSitesByResourceGroupResponse = StaticSiteCollection & { + blobBody?: Promise; /** - * The underlying HTTP response. + * NODEJS ONLY + * + * The response body as a node.js Readable stream. + * Always `undefined` in the browser. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCollection; - }; + readableStreamBody?: NodeJS.ReadableStream; }; -/** - * Contains response data for the getStaticSite operation. - */ -export type StaticSitesGetStaticSiteResponse = StaticSiteARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessModulesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteARMResource; - }; -}; +/** Contains response data for the listInstanceProcessModulesSlot operation. */ +export type WebAppsListInstanceProcessModulesSlotResponse = ProcessModuleInfoCollection; -/** - * Contains response data for the createOrUpdateStaticSite operation. - */ -export type StaticSitesCreateOrUpdateStaticSiteResponse = StaticSiteARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetInstanceProcessModuleSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteARMResource; - }; -}; +/** Contains response data for the getInstanceProcessModuleSlot operation. */ +export type WebAppsGetInstanceProcessModuleSlotResponse = ProcessModuleInfo; -/** - * Contains response data for the updateStaticSite operation. - */ -export type StaticSitesUpdateStaticSiteResponse = StaticSiteARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessThreadsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteARMResource; - }; -}; +/** Contains response data for the listInstanceProcessThreadsSlot operation. */ +export type WebAppsListInstanceProcessThreadsSlotResponse = ProcessThreadInfoCollection; -/** - * Contains response data for the listStaticSiteUsers operation. - */ -export type StaticSitesListStaticSiteUsersResponse = StaticSiteUserCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsIsCloneableSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserCollection; - }; -}; +/** Contains response data for the isCloneableSlot operation. */ +export type WebAppsIsCloneableSlotResponse = SiteCloneability; -/** - * Contains response data for the updateStaticSiteUser operation. - */ -export type StaticSitesUpdateStaticSiteUserResponse = StaticSiteUserARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSiteBackupsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserARMResource; - }; -}; +/** Contains response data for the listSiteBackupsSlot operation. */ +export type WebAppsListSiteBackupsSlotResponse = BackupItemCollection; -/** - * Contains response data for the getStaticSiteBuilds operation. - */ -export type StaticSitesGetStaticSiteBuildsResponse = StaticSiteBuildCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSyncFunctionTriggersSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteBuildCollection; - }; -}; +/** Contains response data for the listSyncFunctionTriggersSlot operation. */ +export type WebAppsListSyncFunctionTriggersSlotResponse = FunctionSecrets; -/** - * Contains response data for the getStaticSiteBuild operation. - */ -export type StaticSitesGetStaticSiteBuildResponse = StaticSiteBuildARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetMigrateMySqlStatusSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteBuildARMResource; - }; -}; +/** Contains response data for the getMigrateMySqlStatusSlot operation. */ +export type WebAppsGetMigrateMySqlStatusSlotResponse = MigrateMySqlStatus; -/** - * Contains response data for the createOrUpdateStaticSiteBuildAppSettings operation. - */ -export type StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSwiftVirtualNetworkConnectionSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Contains response data for the getSwiftVirtualNetworkConnectionSlot operation. */ +export type WebAppsGetSwiftVirtualNetworkConnectionSlotResponse = SwiftVirtualNetwork; -/** - * Contains response data for the createOrUpdateStaticSiteBuildFunctionAppSettings operation. - */ -export type StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Contains response data for the createOrUpdateSwiftVirtualNetworkConnectionWithCheckSlot operation. */ +export type WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse = SwiftVirtualNetwork; -/** - * Contains response data for the listStaticSiteBuildFunctions operation. - */ -export type StaticSitesListStaticSiteBuildFunctionsResponse = StaticSiteFunctionOverviewCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteSwiftVirtualNetworkSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteFunctionOverviewCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listStaticSiteBuildAppSettings operation. - */ -export type StaticSitesListStaticSiteBuildAppSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateSwiftVirtualNetworkConnectionWithCheckSlot operation. */ +export type WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse = SwiftVirtualNetwork; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface WebAppsListNetworkFeaturesSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listStaticSiteBuildFunctionAppSettings operation. - */ -export type StaticSitesListStaticSiteBuildFunctionAppSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNetworkFeaturesSlot operation. */ +export type WebAppsListNetworkFeaturesSlotResponse = NetworkFeatures; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetNetworkTraceOperationSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getUserProvidedFunctionAppsForStaticSiteBuild operation. - */ -export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppsCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getNetworkTraceOperationSlot operation. */ +export type WebAppsGetNetworkTraceOperationSlotResponse = NetworkTrace[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppsCollection; - }; +/** Optional parameters. */ +export interface WebAppsStartWebSiteNetworkTraceSlotOptionalParams + extends coreClient.OperationOptions { + /** The duration to keep capturing in seconds. */ + durationInSeconds?: number; + /** The maximum frame length in bytes (Optional). */ + maxFrameLength?: number; + /** The Blob URL to store capture file. */ + sasUrl?: string; +} + +/** Contains response data for the startWebSiteNetworkTraceSlot operation. */ +export type WebAppsStartWebSiteNetworkTraceSlotResponse = { + /** The parsed response body. */ + body: string; }; -/** - * Contains response data for the getUserProvidedFunctionAppForStaticSiteBuild operation. - */ -export type StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams + extends coreClient.OperationOptions { + /** The duration to keep capturing in seconds. */ + durationInSeconds?: number; + /** The maximum frame length in bytes (Optional). */ + maxFrameLength?: number; + /** The Blob URL to store capture file. */ + sasUrl?: 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppARMResource; - }; -}; +/** Contains response data for the startWebSiteNetworkTraceOperationSlot operation. */ +export type WebAppsStartWebSiteNetworkTraceOperationSlotResponse = NetworkTrace[]; -/** - * Contains response data for the registerUserProvidedFunctionAppWithStaticSiteBuild operation. - */ -export type StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStopWebSiteNetworkTraceSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppARMResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetNetworkTracesSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateStaticSiteAppSettings operation. - */ -export type StaticSitesCreateOrUpdateStaticSiteAppSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getNetworkTracesSlot operation. */ +export type WebAppsGetNetworkTracesSlotResponse = NetworkTrace[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetNetworkTraceOperationSlotV2OptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateStaticSiteFunctionAppSettings operation. - */ -export type StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getNetworkTraceOperationSlotV2 operation. */ +export type WebAppsGetNetworkTraceOperationSlotV2Response = NetworkTrace[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetNetworkTracesSlotV2OptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createUserRolesInvitationLink operation. - */ -export type StaticSitesCreateUserRolesInvitationLinkResponse = StaticSiteUserInvitationResponseResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getNetworkTracesSlotV2 operation. */ +export type WebAppsGetNetworkTracesSlotV2Response = NetworkTrace[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserInvitationResponseResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsGenerateNewSitePublishingPasswordSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listStaticSiteCustomDomains operation. - */ -export type StaticSitesListStaticSiteCustomDomainsResponse = StaticSiteCustomDomainOverviewCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPerfMonCountersSlotOptionalParams + extends coreClient.OperationOptions { + /** Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCustomDomainOverviewCollection; - }; -}; +/** Contains response data for the listPerfMonCountersSlot operation. */ +export type WebAppsListPerfMonCountersSlotResponse = PerfMonCounterCollection; -/** - * Contains response data for the getStaticSiteCustomDomain operation. - */ -export type StaticSitesGetStaticSiteCustomDomainResponse = StaticSiteCustomDomainOverviewARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSitePhpErrorLogFlagSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCustomDomainOverviewARMResource; - }; -}; +/** Contains response data for the getSitePhpErrorLogFlagSlot operation. */ +export type WebAppsGetSitePhpErrorLogFlagSlotResponse = SitePhpErrorLogFlag; -/** - * Contains response data for the createOrUpdateStaticSiteCustomDomain operation. - */ -export type StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse = StaticSiteCustomDomainOverviewARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPremierAddOnsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCustomDomainOverviewARMResource; - }; -}; +/** Contains response data for the listPremierAddOnsSlot operation. */ +export type WebAppsListPremierAddOnsSlotResponse = PremierAddOn; -/** - * Contains response data for the listStaticSiteFunctions operation. - */ -export type StaticSitesListStaticSiteFunctionsResponse = StaticSiteFunctionOverviewCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetPremierAddOnSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteFunctionOverviewCollection; - }; -}; +/** Contains response data for the getPremierAddOnSlot operation. */ +export type WebAppsGetPremierAddOnSlotResponse = PremierAddOn; -/** - * Contains response data for the listStaticSiteAppSettings operation. - */ -export type StaticSitesListStaticSiteAppSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsAddPremierAddOnSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Contains response data for the addPremierAddOnSlot operation. */ +export type WebAppsAddPremierAddOnSlotResponse = PremierAddOn; -/** - * Contains response data for the listStaticSiteConfiguredRoles operation. - */ -export type StaticSitesListStaticSiteConfiguredRolesResponse = StringList & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeletePremierAddOnSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringList; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdatePremierAddOnSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listStaticSiteFunctionAppSettings operation. - */ -export type StaticSitesListStaticSiteFunctionAppSettingsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updatePremierAddOnSlot operation. */ +export type WebAppsUpdatePremierAddOnSlotResponse = PremierAddOn; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetPrivateAccessSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listStaticSiteSecrets operation. - */ -export type StaticSitesListStaticSiteSecretsResponse = StringDictionary & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPrivateAccessSlot operation. */ +export type WebAppsGetPrivateAccessSlotResponse = PrivateAccess; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StringDictionary; - }; -}; +/** Optional parameters. */ +export interface WebAppsPutPrivateAccessVnetSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getPrivateEndpointConnectionList operation. - */ -export type StaticSitesGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the putPrivateAccessVnetSlot operation. */ +export type WebAppsPutPrivateAccessVnetSlotResponse = PrivateAccess; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetPrivateEndpointConnectionListSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getPrivateEndpointConnection operation. - */ -export type StaticSitesGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPrivateEndpointConnectionListSlot operation. */ +export type WebAppsGetPrivateEndpointConnectionListSlotResponse = PrivateEndpointConnectionCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetPrivateEndpointConnectionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the approveOrRejectPrivateEndpointConnection operation. - */ -export type StaticSitesApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPrivateEndpointConnectionSlot operation. */ +export type WebAppsGetPrivateEndpointConnectionSlotResponse = RemotePrivateEndpointConnectionARMResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams + extends coreClient.OperationOptions { + /** 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 deletePrivateEndpointConnection operation. - */ -export type StaticSitesDeletePrivateEndpointConnectionResponse = { - /** - * The parsed response body. - */ - body: any; +/** Contains response data for the approveOrRejectPrivateEndpointConnectionSlot operation. */ +export type WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse = RemotePrivateEndpointConnectionARMResource; - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeletePrivateEndpointConnectionSlotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Contains response data for the deletePrivateEndpointConnectionSlot operation. */ +export type WebAppsDeletePrivateEndpointConnectionSlotResponse = Record< + string, + unknown +>; -/** - * Contains response data for the getPrivateLinkResources operation. - */ -export type StaticSitesGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetPrivateLinkResourcesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateLinkResourcesWrapper; - }; -}; +/** Contains response data for the getPrivateLinkResourcesSlot operation. */ +export type WebAppsGetPrivateLinkResourcesSlotResponse = PrivateLinkResourcesWrapper; -/** - * Contains response data for the getUserProvidedFunctionAppsForStaticSite operation. - */ -export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteResponse = StaticSiteUserProvidedFunctionAppsCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListProcessesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppsCollection; - }; -}; +/** Contains response data for the listProcessesSlot operation. */ +export type WebAppsListProcessesSlotResponse = ProcessInfoCollection; -/** - * Contains response data for the getUserProvidedFunctionAppForStaticSite operation. - */ -export type StaticSitesGetUserProvidedFunctionAppForStaticSiteResponse = StaticSiteUserProvidedFunctionAppARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetProcessSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppARMResource; - }; -}; +/** Contains response data for the getProcessSlot operation. */ +export type WebAppsGetProcessSlotResponse = ProcessInfo; -/** - * Contains response data for the registerUserProvidedFunctionAppWithStaticSite operation. - */ -export type StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse = StaticSiteUserProvidedFunctionAppARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteProcessSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppARMResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetProcessDumpSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdateStaticSite operation. - */ -export type StaticSitesBeginCreateOrUpdateStaticSiteResponse = StaticSiteARMResource & { +/** Contains response data for the getProcessDumpSlot operation. */ +export type WebAppsGetProcessDumpSlotResponse = { /** - * The underlying HTTP response. + * BROWSER ONLY + * + * The response body as a browser Blob. + * Always `undefined` in node.js. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteARMResource; - }; -}; - -/** - * Contains response data for the beginRegisterUserProvidedFunctionAppWithStaticSiteBuild - * operation. - */ -export type StaticSitesBeginRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse = StaticSiteUserProvidedFunctionAppARMResource & { + blobBody?: Promise; /** - * The underlying HTTP response. + * NODEJS ONLY + * + * The response body as a node.js Readable stream. + * Always `undefined` in the browser. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppARMResource; - }; + readableStreamBody?: NodeJS.ReadableStream; }; -/** - * Contains response data for the beginCreateOrUpdateStaticSiteCustomDomain operation. - */ -export type StaticSitesBeginCreateOrUpdateStaticSiteCustomDomainResponse = StaticSiteCustomDomainOverviewARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListProcessModulesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCustomDomainOverviewARMResource; - }; -}; +/** Contains response data for the listProcessModulesSlot operation. */ +export type WebAppsListProcessModulesSlotResponse = ProcessModuleInfoCollection; -/** - * Contains response data for the beginApproveOrRejectPrivateEndpointConnection operation. - */ -export type StaticSitesBeginApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetProcessModuleSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Contains response data for the getProcessModuleSlot operation. */ +export type WebAppsGetProcessModuleSlotResponse = ProcessModuleInfo; -/** - * Contains response data for the beginDeletePrivateEndpointConnection operation. - */ -export type StaticSitesBeginDeletePrivateEndpointConnectionResponse = { - /** - * The parsed response body. - */ - body: any; +/** Optional parameters. */ +export interface WebAppsListProcessThreadsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listProcessThreadsSlot operation. */ +export type WebAppsListProcessThreadsSlotResponse = ProcessThreadInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Optional parameters. */ +export interface WebAppsListPublicCertificatesSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginRegisterUserProvidedFunctionAppWithStaticSite operation. - */ -export type StaticSitesBeginRegisterUserProvidedFunctionAppWithStaticSiteResponse = StaticSiteUserProvidedFunctionAppARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listPublicCertificatesSlot operation. */ +export type WebAppsListPublicCertificatesSlotResponse = PublicCertificateCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppARMResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetPublicCertificateSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type StaticSitesListNextResponse = StaticSiteCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPublicCertificateSlot operation. */ +export type WebAppsGetPublicCertificateSlotResponse = PublicCertificate; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdatePublicCertificateSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getStaticSitesByResourceGroupNext operation. - */ -export type StaticSitesGetStaticSitesByResourceGroupNextResponse = StaticSiteCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdatePublicCertificateSlot operation. */ +export type WebAppsCreateOrUpdatePublicCertificateSlotResponse = PublicCertificate; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeletePublicCertificateSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listStaticSiteUsersNext operation. - */ -export type StaticSitesListStaticSiteUsersNextResponse = StaticSiteUserCollection & { +/** Optional parameters. */ +export interface WebAppsListPublishingProfileXmlWithSecretsSlotOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listPublishingProfileXmlWithSecretsSlot operation. */ +export type WebAppsListPublishingProfileXmlWithSecretsSlotResponse = { /** - * The underlying HTTP response. + * BROWSER ONLY + * + * The response body as a browser Blob. + * Always `undefined` in node.js. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserCollection; - }; -}; - -/** - * Contains response data for the getStaticSiteBuildsNext operation. - */ -export type StaticSitesGetStaticSiteBuildsNextResponse = StaticSiteBuildCollection & { + blobBody?: Promise; /** - * The underlying HTTP response. + * NODEJS ONLY + * + * The response body as a node.js Readable stream. + * Always `undefined` in the browser. */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteBuildCollection; - }; + readableStreamBody?: NodeJS.ReadableStream; }; -/** - * Contains response data for the listStaticSiteBuildFunctionsNext operation. - */ -export type StaticSitesListStaticSiteBuildFunctionsNextResponse = StaticSiteFunctionOverviewCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsResetSlotConfigurationSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteFunctionOverviewCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsRestartSlotOptionalParams + extends coreClient.OperationOptions { + /** Specify true to apply the configuration settings and restarts the app only if necessary. By default, the API always restarts and reprovisions the app. */ + softRestart?: boolean; + /** Specify true to block until the app is restarted. By default, it is set to false, and the API responds immediately (asynchronous). */ + synchronous?: boolean; +} -/** - * Contains response data for the getUserProvidedFunctionAppsForStaticSiteBuildNext operation. - */ -export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextResponse = StaticSiteUserProvidedFunctionAppsCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsRestoreFromBackupBlobSlotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppsCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsRestoreFromDeletedAppSlotOptionalParams + extends coreClient.OperationOptions { + /** 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 listStaticSiteCustomDomainsNext operation. - */ -export type StaticSitesListStaticSiteCustomDomainsNextResponse = StaticSiteCustomDomainOverviewCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsRestoreSnapshotSlotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteCustomDomainOverviewCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSiteExtensionsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listStaticSiteFunctionsNext operation. - */ -export type StaticSitesListStaticSiteFunctionsNextResponse = StaticSiteFunctionOverviewCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteExtensionsSlot operation. */ +export type WebAppsListSiteExtensionsSlotResponse = SiteExtensionInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteFunctionOverviewCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetSiteExtensionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getPrivateEndpointConnectionListNext operation. - */ -export type StaticSitesGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getSiteExtensionSlot operation. */ +export type WebAppsGetSiteExtensionSlotResponse = SiteExtensionInfo; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsInstallSiteExtensionSlotOptionalParams + extends coreClient.OperationOptions { + /** 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 getUserProvidedFunctionAppsForStaticSiteNext operation. - */ -export type StaticSitesGetUserProvidedFunctionAppsForStaticSiteNextResponse = StaticSiteUserProvidedFunctionAppsCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the installSiteExtensionSlot operation. */ +export type WebAppsInstallSiteExtensionSlotResponse = SiteExtensionInfo; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StaticSiteUserProvidedFunctionAppsCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteSiteExtensionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type AppServiceEnvironmentsListResponse = AppServiceEnvironmentCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSlotDifferencesSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceEnvironmentCollection; - }; -}; +/** Contains response data for the listSlotDifferencesSlot operation. */ +export type WebAppsListSlotDifferencesSlotResponse = SlotDifferenceCollection; -/** - * Contains response data for the listByResourceGroup operation. - */ -export type AppServiceEnvironmentsListByResourceGroupResponse = AppServiceEnvironmentCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsSwapSlotOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceEnvironmentCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSnapshotsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type AppServiceEnvironmentsGetResponse = AppServiceEnvironmentResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSnapshotsSlot operation. */ +export type WebAppsListSnapshotsSlotResponse = SnapshotCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceEnvironmentResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSnapshotsFromDRSecondarySlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type AppServiceEnvironmentsCreateOrUpdateResponse = AppServiceEnvironmentResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSnapshotsFromDRSecondarySlot operation. */ +export type WebAppsListSnapshotsFromDRSecondarySlotResponse = SnapshotCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceEnvironmentResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetSourceControlSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type AppServiceEnvironmentsUpdateResponse = AppServiceEnvironmentResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getSourceControlSlot operation. */ +export type WebAppsGetSourceControlSlotResponse = SiteSourceControl; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceEnvironmentResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateSourceControlSlotOptionalParams + extends coreClient.OperationOptions { + /** 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 listCapacities operation. - */ -export type AppServiceEnvironmentsListCapacitiesResponse = StampCapacityCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateSourceControlSlot operation. */ +export type WebAppsCreateOrUpdateSourceControlSlotResponse = SiteSourceControl; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StampCapacityCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteSourceControlSlotOptionalParams + extends coreClient.OperationOptions { + additionalFlags?: string; +} -/** - * Contains response data for the getVipInfo operation. - */ -export type AppServiceEnvironmentsGetVipInfoResponse = AddressResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateSourceControlSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AddressResponse; - }; -}; +/** Contains response data for the updateSourceControlSlot operation. */ +export type WebAppsUpdateSourceControlSlotResponse = SiteSourceControl; -/** - * Contains response data for the changeVnet operation. - */ -export type AppServiceEnvironmentsChangeVnetResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStartSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsStartNetworkTraceSlotOptionalParams + extends coreClient.OperationOptions { + /** The duration to keep capturing in seconds. */ + durationInSeconds?: number; + /** The maximum frame length in bytes (Optional). */ + maxFrameLength?: number; + /** The Blob URL to store capture file. */ + sasUrl?: 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 getAseV3NetworkingConfiguration operation. - */ -export type AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse = AseV3NetworkingConfiguration & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the startNetworkTraceSlot operation. */ +export type WebAppsStartNetworkTraceSlotResponse = NetworkTrace[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AseV3NetworkingConfiguration; - }; -}; +/** Optional parameters. */ +export interface WebAppsStopSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateAseNetworkingConfiguration operation. - */ -export type AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse = AseV3NetworkingConfiguration & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStopNetworkTraceSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AseV3NetworkingConfiguration; - }; -}; +/** Optional parameters. */ +export interface WebAppsSyncRepositorySlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listDiagnostics operation. - */ -export type AppServiceEnvironmentsListDiagnosticsResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsSyncFunctionTriggersSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostingEnvironmentDiagnostics[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsListTriggeredWebJobsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getDiagnosticsItem operation. - */ -export type AppServiceEnvironmentsGetDiagnosticsItemResponse = HostingEnvironmentDiagnostics & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listTriggeredWebJobsSlot operation. */ +export type WebAppsListTriggeredWebJobsSlotResponse = TriggeredWebJobCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HostingEnvironmentDiagnostics; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetTriggeredWebJobSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getInboundNetworkDependenciesEndpoints operation. - */ -export type AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse = InboundEnvironmentEndpointCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getTriggeredWebJobSlot operation. */ +export type WebAppsGetTriggeredWebJobSlotResponse = TriggeredWebJob; - /** - * The response body as parsed JSON or XML - */ - parsedBody: InboundEnvironmentEndpointCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteTriggeredWebJobSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMultiRolePools operation. - */ -export type AppServiceEnvironmentsListMultiRolePoolsResponse = WorkerPoolCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListTriggeredWebJobHistorySlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolCollection; - }; -}; +/** Contains response data for the listTriggeredWebJobHistorySlot operation. */ +export type WebAppsListTriggeredWebJobHistorySlotResponse = TriggeredJobHistoryCollection; -/** - * Contains response data for the getMultiRolePool operation. - */ -export type AppServiceEnvironmentsGetMultiRolePoolResponse = WorkerPoolResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetTriggeredWebJobHistorySlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolResource; - }; -}; +/** Contains response data for the getTriggeredWebJobHistorySlot operation. */ +export type WebAppsGetTriggeredWebJobHistorySlotResponse = TriggeredJobHistory; -/** - * Contains response data for the createOrUpdateMultiRolePool operation. - */ -export type AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse = WorkerPoolResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsRunTriggeredWebJobSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsListUsagesSlotOptionalParams + extends coreClient.OperationOptions { + /** Return only information specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} -/** - * Contains response data for the updateMultiRolePool operation. - */ -export type AppServiceEnvironmentsUpdateMultiRolePoolResponse = WorkerPoolResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listUsagesSlot operation. */ +export type WebAppsListUsagesSlotResponse = CsmUsageQuotaCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsListVnetConnectionsSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMultiRolePoolInstanceMetricDefinitions operation. - */ -export type AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse = ResourceMetricDefinitionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listVnetConnectionsSlot operation. */ +export type WebAppsListVnetConnectionsSlotResponse = VnetInfoResource[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceMetricDefinitionCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetVnetConnectionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMultiRoleMetricDefinitions operation. - */ -export type AppServiceEnvironmentsListMultiRoleMetricDefinitionsResponse = ResourceMetricDefinitionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getVnetConnectionSlot operation. */ +export type WebAppsGetVnetConnectionSlotResponse = VnetInfoResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceMetricDefinitionCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateVnetConnectionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMultiRolePoolSkus operation. - */ -export type AppServiceEnvironmentsListMultiRolePoolSkusResponse = SkuInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdateVnetConnectionSlot operation. */ +export type WebAppsCreateOrUpdateVnetConnectionSlotResponse = VnetInfoResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SkuInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsDeleteVnetConnectionSlotOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMultiRoleUsages operation. - */ -export type AppServiceEnvironmentsListMultiRoleUsagesResponse = UsageCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateVnetConnectionSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageCollection; - }; -}; +/** Contains response data for the updateVnetConnectionSlot operation. */ +export type WebAppsUpdateVnetConnectionSlotResponse = VnetInfoResource; -/** - * Contains response data for the listOperations operation. - */ -export type AppServiceEnvironmentsListOperationsResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetVnetConnectionGatewaySlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Operation[]; - }; -}; +/** Contains response data for the getVnetConnectionGatewaySlot operation. */ +export type WebAppsGetVnetConnectionGatewaySlotResponse = VnetGateway; -/** - * Contains response data for the getOutboundNetworkDependenciesEndpoints operation. - */ -export type AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse = OutboundEnvironmentEndpointCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateVnetConnectionGatewaySlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: OutboundEnvironmentEndpointCollection; - }; -}; +/** Contains response data for the createOrUpdateVnetConnectionGatewaySlot operation. */ +export type WebAppsCreateOrUpdateVnetConnectionGatewaySlotResponse = VnetGateway; -/** - * Contains response data for the getPrivateEndpointConnectionList operation. - */ -export type AppServiceEnvironmentsGetPrivateEndpointConnectionListResponse = PrivateEndpointConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateVnetConnectionGatewaySlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionCollection; - }; -}; +/** Contains response data for the updateVnetConnectionGatewaySlot operation. */ +export type WebAppsUpdateVnetConnectionGatewaySlotResponse = VnetGateway; -/** - * Contains response data for the getPrivateEndpointConnection operation. - */ -export type AppServiceEnvironmentsGetPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListWebJobsSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Contains response data for the listWebJobsSlot operation. */ +export type WebAppsListWebJobsSlotResponse = WebJobCollection; -/** - * Contains response data for the approveOrRejectPrivateEndpointConnection operation. - */ -export type AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetWebJobSlotOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Contains response data for the getWebJobSlot operation. */ +export type WebAppsGetWebJobSlotResponse = WebJob; -/** - * Contains response data for the deletePrivateEndpointConnection operation. - */ -export type AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse = { - /** - * The parsed response body. - */ - body: any; +/** Optional parameters. */ +export interface WebAppsListSlotDifferencesFromProductionOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSlotDifferencesFromProduction operation. */ +export type WebAppsListSlotDifferencesFromProductionResponse = SlotDifferenceCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Optional parameters. */ +export interface WebAppsSwapSlotWithProductionOptionalParams + extends coreClient.OperationOptions { + /** 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 getPrivateLinkResources operation. - */ -export type AppServiceEnvironmentsGetPrivateLinkResourcesResponse = PrivateLinkResourcesWrapper & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSnapshotsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateLinkResourcesWrapper; - }; -}; +/** Contains response data for the listSnapshots operation. */ +export type WebAppsListSnapshotsResponse = SnapshotCollection; -/** - * Contains response data for the resume operation. - */ -export type AppServiceEnvironmentsResumeResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSnapshotsFromDRSecondaryOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listSnapshotsFromDRSecondary operation. */ +export type WebAppsListSnapshotsFromDRSecondaryResponse = SnapshotCollection; -/** - * Contains response data for the listAppServicePlans operation. - */ -export type AppServiceEnvironmentsListAppServicePlansResponse = AppServicePlanCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSourceControlOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlanCollection; - }; -}; +/** Contains response data for the getSourceControl operation. */ +export type WebAppsGetSourceControlResponse = SiteSourceControl; -/** - * Contains response data for the listWebApps operation. - */ -export type AppServiceEnvironmentsListWebAppsResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateSourceControlOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the createOrUpdateSourceControl operation. */ +export type WebAppsCreateOrUpdateSourceControlResponse = SiteSourceControl; -/** - * Contains response data for the suspend operation. - */ -export type AppServiceEnvironmentsSuspendResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteSourceControlOptionalParams + extends coreClient.OperationOptions { + additionalFlags?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsUpdateSourceControlOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listUsages operation. - */ -export type AppServiceEnvironmentsListUsagesResponse = CsmUsageQuotaCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateSourceControl operation. */ +export type WebAppsUpdateSourceControlResponse = SiteSourceControl; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmUsageQuotaCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsStartOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listWorkerPools operation. - */ -export type AppServiceEnvironmentsListWorkerPoolsResponse = WorkerPoolCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStartNetworkTraceOptionalParams + extends coreClient.OperationOptions { + /** The duration to keep capturing in seconds. */ + durationInSeconds?: number; + /** The maximum frame length in bytes (Optional). */ + maxFrameLength?: number; + /** The Blob URL to store capture file. */ + sasUrl?: 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolCollection; - }; -}; +/** Contains response data for the startNetworkTrace operation. */ +export type WebAppsStartNetworkTraceResponse = NetworkTrace[]; -/** - * Contains response data for the getWorkerPool operation. - */ -export type AppServiceEnvironmentsGetWorkerPoolResponse = WorkerPoolResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsStopOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsStopNetworkTraceOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateWorkerPool operation. - */ -export type AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse = WorkerPoolResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsSyncRepositoryOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolResource; - }; -}; +/** Optional parameters. */ +export interface WebAppsSyncFunctionTriggersOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateWorkerPool operation. - */ -export type AppServiceEnvironmentsUpdateWorkerPoolResponse = WorkerPoolResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListTriggeredWebJobsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolResource; - }; -}; +/** Contains response data for the listTriggeredWebJobs operation. */ +export type WebAppsListTriggeredWebJobsResponse = TriggeredWebJobCollection; -/** - * Contains response data for the listWorkerPoolInstanceMetricDefinitions operation. - */ -export type AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse = ResourceMetricDefinitionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetTriggeredWebJobOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceMetricDefinitionCollection; - }; -}; +/** Contains response data for the getTriggeredWebJob operation. */ +export type WebAppsGetTriggeredWebJobResponse = TriggeredWebJob; -/** - * Contains response data for the listWebWorkerMetricDefinitions operation. - */ -export type AppServiceEnvironmentsListWebWorkerMetricDefinitionsResponse = ResourceMetricDefinitionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsDeleteTriggeredWebJobOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceMetricDefinitionCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListTriggeredWebJobHistoryOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listWorkerPoolSkus operation. - */ -export type AppServiceEnvironmentsListWorkerPoolSkusResponse = SkuInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listTriggeredWebJobHistory operation. */ +export type WebAppsListTriggeredWebJobHistoryResponse = TriggeredJobHistoryCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SkuInfoCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetTriggeredWebJobHistoryOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listWebWorkerUsages operation. - */ -export type AppServiceEnvironmentsListWebWorkerUsagesResponse = UsageCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getTriggeredWebJobHistory operation. */ +export type WebAppsGetTriggeredWebJobHistoryResponse = TriggeredJobHistory; - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsRunTriggeredWebJobOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type AppServiceEnvironmentsBeginCreateOrUpdateResponse = AppServiceEnvironmentResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListUsagesOptionalParams + extends coreClient.OperationOptions { + /** Return only information specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceEnvironmentResource; - }; -}; +/** Contains response data for the listUsages operation. */ +export type WebAppsListUsagesResponse = CsmUsageQuotaCollection; -/** - * Contains response data for the beginChangeVnet operation. - */ -export type AppServiceEnvironmentsBeginChangeVnetResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListVnetConnectionsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listVnetConnections operation. */ +export type WebAppsListVnetConnectionsResponse = VnetInfoResource[]; -/** - * Contains response data for the beginCreateOrUpdateMultiRolePool operation. - */ -export type AppServiceEnvironmentsBeginCreateOrUpdateMultiRolePoolResponse = WorkerPoolResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetVnetConnectionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolResource; - }; -}; +/** Contains response data for the getVnetConnection operation. */ +export type WebAppsGetVnetConnectionResponse = VnetInfoResource; -/** - * Contains response data for the beginApproveOrRejectPrivateEndpointConnection operation. - */ -export type AppServiceEnvironmentsBeginApproveOrRejectPrivateEndpointConnectionResponse = RemotePrivateEndpointConnectionARMResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateVnetConnectionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RemotePrivateEndpointConnectionARMResource; - }; -}; +/** Contains response data for the createOrUpdateVnetConnection operation. */ +export type WebAppsCreateOrUpdateVnetConnectionResponse = VnetInfoResource; -/** - * Contains response data for the beginDeletePrivateEndpointConnection operation. - */ -export type AppServiceEnvironmentsBeginDeletePrivateEndpointConnectionResponse = { - /** - * The parsed response body. - */ - body: any; +/** Optional parameters. */ +export interface WebAppsDeleteVnetConnectionOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateVnetConnectionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Contains response data for the updateVnetConnection operation. */ +export type WebAppsUpdateVnetConnectionResponse = VnetInfoResource; -/** - * Contains response data for the beginResume operation. - */ -export type AppServiceEnvironmentsBeginResumeResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetVnetConnectionGatewayOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the getVnetConnectionGateway operation. */ +export type WebAppsGetVnetConnectionGatewayResponse = VnetGateway; -/** - * Contains response data for the beginSuspend operation. - */ -export type AppServiceEnvironmentsBeginSuspendResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsCreateOrUpdateVnetConnectionGatewayOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the createOrUpdateVnetConnectionGateway operation. */ +export type WebAppsCreateOrUpdateVnetConnectionGatewayResponse = VnetGateway; -/** - * Contains response data for the beginCreateOrUpdateWorkerPool operation. - */ -export type AppServiceEnvironmentsBeginCreateOrUpdateWorkerPoolResponse = WorkerPoolResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsUpdateVnetConnectionGatewayOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolResource; - }; -}; +/** Contains response data for the updateVnetConnectionGateway operation. */ +export type WebAppsUpdateVnetConnectionGatewayResponse = VnetGateway; -/** - * Contains response data for the listNext operation. - */ -export type AppServiceEnvironmentsListNextResponse = AppServiceEnvironmentCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListWebJobsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceEnvironmentCollection; - }; -}; +/** Contains response data for the listWebJobs operation. */ +export type WebAppsListWebJobsResponse = WebJobCollection; -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type AppServiceEnvironmentsListByResourceGroupNextResponse = AppServiceEnvironmentCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetWebJobOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServiceEnvironmentCollection; - }; -}; +/** Contains response data for the getWebJob operation. */ +export type WebAppsGetWebJobResponse = WebJob; -/** - * Contains response data for the listCapacitiesNext operation. - */ -export type AppServiceEnvironmentsListCapacitiesNextResponse = StampCapacityCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: StampCapacityCollection; - }; -}; +/** Contains response data for the listNext operation. */ +export type WebAppsListNextResponse = WebAppCollection; -/** - * Contains response data for the changeVnetNext operation. - */ -export type AppServiceEnvironmentsChangeVnetNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** Specify true to include deployment slots in results. The default is false, which only gives you the production slot of all apps. */ + includeSlots?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type WebAppsListByResourceGroupNextResponse = WebAppCollection; -/** - * Contains response data for the getInboundNetworkDependenciesEndpointsNext operation. - */ -export type AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextResponse = InboundEnvironmentEndpointCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListBackupsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InboundEnvironmentEndpointCollection; - }; -}; +/** Contains response data for the listBackupsNext operation. */ +export type WebAppsListBackupsNextResponse = BackupItemCollection; -/** - * Contains response data for the listMultiRolePoolsNext operation. - */ -export type AppServiceEnvironmentsListMultiRolePoolsNextResponse = WorkerPoolCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListBasicPublishingCredentialsPoliciesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolCollection; - }; -}; +/** Contains response data for the listBasicPublishingCredentialsPoliciesNext operation. */ +export type WebAppsListBasicPublishingCredentialsPoliciesNextResponse = PublishingCredentialsPoliciesCollection; -/** - * Contains response data for the listMultiRolePoolInstanceMetricDefinitionsNext operation. - */ -export type AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConfigurationsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceMetricDefinitionCollection; - }; -}; +/** Contains response data for the listConfigurationsNext operation. */ +export type WebAppsListConfigurationsNextResponse = SiteConfigResourceCollection; -/** - * Contains response data for the listMultiRoleMetricDefinitionsNext operation. - */ -export type AppServiceEnvironmentsListMultiRoleMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetAppSettingsKeyVaultReferencesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceMetricDefinitionCollection; - }; -}; +/** Contains response data for the getAppSettingsKeyVaultReferencesNext operation. */ +export type WebAppsGetAppSettingsKeyVaultReferencesNextResponse = ApiKVReferenceCollection; -/** - * Contains response data for the listMultiRolePoolSkusNext operation. - */ -export type AppServiceEnvironmentsListMultiRolePoolSkusNextResponse = SkuInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSiteConnectionStringKeyVaultReferencesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SkuInfoCollection; - }; -}; +/** Contains response data for the getSiteConnectionStringKeyVaultReferencesNext operation. */ +export type WebAppsGetSiteConnectionStringKeyVaultReferencesNextResponse = ApiKVReferenceCollection; -/** - * Contains response data for the listMultiRoleUsagesNext operation. - */ -export type AppServiceEnvironmentsListMultiRoleUsagesNextResponse = UsageCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConfigurationSnapshotInfoNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageCollection; - }; -}; +/** Contains response data for the listConfigurationSnapshotInfoNext operation. */ +export type WebAppsListConfigurationSnapshotInfoNextResponse = SiteConfigurationSnapshotInfoCollection; -/** - * Contains response data for the getOutboundNetworkDependenciesEndpointsNext operation. - */ -export type AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextResponse = OutboundEnvironmentEndpointCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListContinuousWebJobsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: OutboundEnvironmentEndpointCollection; - }; -}; +/** Contains response data for the listContinuousWebJobsNext operation. */ +export type WebAppsListContinuousWebJobsNextResponse = ContinuousWebJobCollection; -/** - * Contains response data for the getPrivateEndpointConnectionListNext operation. - */ -export type AppServiceEnvironmentsGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListDeploymentsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionCollection; - }; -}; +/** Contains response data for the listDeploymentsNext operation. */ +export type WebAppsListDeploymentsNextResponse = DeploymentCollection; -/** - * Contains response data for the resumeNext operation. - */ -export type AppServiceEnvironmentsResumeNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListDomainOwnershipIdentifiersNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listDomainOwnershipIdentifiersNext operation. */ +export type WebAppsListDomainOwnershipIdentifiersNextResponse = IdentifierCollection; -/** - * Contains response data for the listAppServicePlansNext operation. - */ -export type AppServiceEnvironmentsListAppServicePlansNextResponse = AppServicePlanCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListFunctionsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlanCollection; - }; -}; +/** Contains response data for the listFunctionsNext operation. */ +export type WebAppsListFunctionsNextResponse = FunctionEnvelopeCollection; -/** - * Contains response data for the listWebAppsNext operation. - */ -export type AppServiceEnvironmentsListWebAppsNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListHostNameBindingsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listHostNameBindingsNext operation. */ +export type WebAppsListHostNameBindingsNextResponse = HostNameBindingCollection; -/** - * Contains response data for the suspendNext operation. - */ -export type AppServiceEnvironmentsSuspendNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceIdentifiersNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listInstanceIdentifiersNext operation. */ +export type WebAppsListInstanceIdentifiersNextResponse = WebAppInstanceStatusCollection; -/** - * Contains response data for the listUsagesNext operation. - */ -export type AppServiceEnvironmentsListUsagesNextResponse = CsmUsageQuotaCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmUsageQuotaCollection; - }; -}; +/** Contains response data for the listInstanceProcessesNext operation. */ +export type WebAppsListInstanceProcessesNextResponse = ProcessInfoCollection; -/** - * Contains response data for the listWorkerPoolsNext operation. - */ -export type AppServiceEnvironmentsListWorkerPoolsNextResponse = WorkerPoolCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessModulesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WorkerPoolCollection; - }; -}; +/** Contains response data for the listInstanceProcessModulesNext operation. */ +export type WebAppsListInstanceProcessModulesNextResponse = ProcessModuleInfoCollection; -/** - * Contains response data for the listWorkerPoolInstanceMetricDefinitionsNext operation. - */ -export type AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessThreadsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceMetricDefinitionCollection; - }; -}; +/** Contains response data for the listInstanceProcessThreadsNext operation. */ +export type WebAppsListInstanceProcessThreadsNextResponse = ProcessThreadInfoCollection; -/** - * Contains response data for the listWebWorkerMetricDefinitionsNext operation. - */ -export type AppServiceEnvironmentsListWebWorkerMetricDefinitionsNextResponse = ResourceMetricDefinitionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSiteBackupsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceMetricDefinitionCollection; - }; -}; +/** Contains response data for the listSiteBackupsNext operation. */ +export type WebAppsListSiteBackupsNextResponse = BackupItemCollection; -/** - * Contains response data for the listWorkerPoolSkusNext operation. - */ -export type AppServiceEnvironmentsListWorkerPoolSkusNextResponse = SkuInfoCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPerfMonCountersNextOptionalParams + extends coreClient.OperationOptions { + /** Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SkuInfoCollection; - }; -}; +/** Contains response data for the listPerfMonCountersNext operation. */ +export type WebAppsListPerfMonCountersNextResponse = PerfMonCounterCollection; -/** - * Contains response data for the listWebWorkerUsagesNext operation. - */ -export type AppServiceEnvironmentsListWebWorkerUsagesNextResponse = UsageCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetPrivateEndpointConnectionListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageCollection; - }; -}; +/** Contains response data for the getPrivateEndpointConnectionListNext operation. */ +export type WebAppsGetPrivateEndpointConnectionListNextResponse = PrivateEndpointConnectionCollection; -/** - * Contains response data for the beginChangeVnetNext operation. - */ -export type AppServiceEnvironmentsBeginChangeVnetNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListProcessesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listProcessesNext operation. */ +export type WebAppsListProcessesNextResponse = ProcessInfoCollection; + +/** Optional parameters. */ +export interface WebAppsListProcessModulesNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listProcessModulesNext operation. */ +export type WebAppsListProcessModulesNextResponse = ProcessModuleInfoCollection; -/** - * Contains response data for the beginResumeNext operation. - */ -export type AppServiceEnvironmentsBeginResumeNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListProcessThreadsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listProcessThreadsNext operation. */ +export type WebAppsListProcessThreadsNextResponse = ProcessThreadInfoCollection; -/** - * Contains response data for the beginSuspendNext operation. - */ -export type AppServiceEnvironmentsBeginSuspendNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListPublicCertificatesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listPublicCertificatesNext operation. */ +export type WebAppsListPublicCertificatesNextResponse = PublicCertificateCollection; -/** - * Contains response data for the list operation. - */ -export type AppServicePlansListResponse = AppServicePlanCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSiteExtensionsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlanCollection; - }; -}; +/** Contains response data for the listSiteExtensionsNext operation. */ +export type WebAppsListSiteExtensionsNextResponse = SiteExtensionInfoCollection; -/** - * Contains response data for the listByResourceGroup operation. - */ -export type AppServicePlansListByResourceGroupResponse = AppServicePlanCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListSlotsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlanCollection; - }; -}; +/** Contains response data for the listSlotsNext operation. */ +export type WebAppsListSlotsNextResponse = WebAppCollection; -/** - * Contains response data for the get operation. - */ -export type AppServicePlansGetResponse = AppServicePlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListBackupsSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlan; - }; -}; +/** Contains response data for the listBackupsSlotNext operation. */ +export type WebAppsListBackupsSlotNextResponse = BackupItemCollection; -/** - * Contains response data for the createOrUpdate operation. - */ -export type AppServicePlansCreateOrUpdateResponse = AppServicePlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListBasicPublishingCredentialsPoliciesSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlan; - }; -}; +/** Contains response data for the listBasicPublishingCredentialsPoliciesSlotNext operation. */ +export type WebAppsListBasicPublishingCredentialsPoliciesSlotNextResponse = PublishingCredentialsPoliciesCollection; -/** - * Contains response data for the update operation. - */ -export type AppServicePlansUpdateResponse = AppServicePlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConfigurationsSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlan; - }; -}; +/** Contains response data for the listConfigurationsSlotNext operation. */ +export type WebAppsListConfigurationsSlotNextResponse = SiteConfigResourceCollection; -/** - * Contains response data for the listCapabilities operation. - */ -export type AppServicePlansListCapabilitiesResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetAppSettingsKeyVaultReferencesSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Capability[]; - }; -}; +/** Contains response data for the getAppSettingsKeyVaultReferencesSlotNext operation. */ +export type WebAppsGetAppSettingsKeyVaultReferencesSlotNextResponse = ApiKVReferenceCollection; -/** - * Contains response data for the getHybridConnection operation. - */ -export type AppServicePlansGetHybridConnectionResponse = HybridConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsGetSiteConnectionStringKeyVaultReferencesSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnection; - }; -}; +/** Contains response data for the getSiteConnectionStringKeyVaultReferencesSlotNext operation. */ +export type WebAppsGetSiteConnectionStringKeyVaultReferencesSlotNextResponse = ApiKVReferenceCollection; -/** - * Contains response data for the listHybridConnectionKeys operation. - */ -export type AppServicePlansListHybridConnectionKeysResponse = HybridConnectionKey & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListConfigurationSnapshotInfoSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnectionKey; - }; -}; +/** Contains response data for the listConfigurationSnapshotInfoSlotNext operation. */ +export type WebAppsListConfigurationSnapshotInfoSlotNextResponse = SiteConfigurationSnapshotInfoCollection; -/** - * Contains response data for the listWebAppsByHybridConnection operation. - */ -export type AppServicePlansListWebAppsByHybridConnectionResponse = ResourceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListContinuousWebJobsSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceCollection; - }; -}; +/** Contains response data for the listContinuousWebJobsSlotNext operation. */ +export type WebAppsListContinuousWebJobsSlotNextResponse = ContinuousWebJobCollection; -/** - * Contains response data for the getHybridConnectionPlanLimit operation. - */ -export type AppServicePlansGetHybridConnectionPlanLimitResponse = HybridConnectionLimits & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListDeploymentsSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnectionLimits; - }; -}; +/** Contains response data for the listDeploymentsSlotNext operation. */ +export type WebAppsListDeploymentsSlotNextResponse = DeploymentCollection; -/** - * Contains response data for the listHybridConnections operation. - */ -export type AppServicePlansListHybridConnectionsResponse = HybridConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListDomainOwnershipIdentifiersSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnectionCollection; - }; -}; +/** Contains response data for the listDomainOwnershipIdentifiersSlotNext operation. */ +export type WebAppsListDomainOwnershipIdentifiersSlotNextResponse = IdentifierCollection; -/** - * Contains response data for the listWebApps operation. - */ -export type AppServicePlansListWebAppsResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WebAppsListInstanceFunctionsSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Contains response data for the listInstanceFunctionsSlotNext operation. */ +export type WebAppsListInstanceFunctionsSlotNextResponse = FunctionEnvelopeCollection; -/** - * Contains response data for the getServerFarmSkus operation. - */ -export type AppServicePlansGetServerFarmSkusResponse = { - /** - * The parsed response body. - */ - body: any; +/** Optional parameters. */ +export interface WebAppsListHostNameBindingsSlotNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listHostNameBindingsSlotNext operation. */ +export type WebAppsListHostNameBindingsSlotNextResponse = HostNameBindingCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: any; - }; -}; +/** Optional parameters. */ +export interface WebAppsListInstanceIdentifiersSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listUsages operation. - */ -export type AppServicePlansListUsagesResponse = CsmUsageQuotaCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listInstanceIdentifiersSlotNext operation. */ +export type WebAppsListInstanceIdentifiersSlotNextResponse = WebAppInstanceStatusCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmUsageQuotaCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessesSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listVnets operation. - */ -export type AppServicePlansListVnetsResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listInstanceProcessesSlotNext operation. */ +export type WebAppsListInstanceProcessesSlotNextResponse = ProcessInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessModulesSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getVnetFromServerFarm operation. - */ -export type AppServicePlansGetVnetFromServerFarmResponse = VnetInfo & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listInstanceProcessModulesSlotNext operation. */ +export type WebAppsListInstanceProcessModulesSlotNextResponse = ProcessModuleInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetInfo; - }; -}; +/** Optional parameters. */ +export interface WebAppsListInstanceProcessThreadsSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getVnetGateway operation. - */ -export type AppServicePlansGetVnetGatewayResponse = VnetGateway & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listInstanceProcessThreadsSlotNext operation. */ +export type WebAppsListInstanceProcessThreadsSlotNextResponse = ProcessThreadInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetGateway; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSiteBackupsSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateVnetGateway operation. - */ -export type AppServicePlansUpdateVnetGatewayResponse = VnetGateway & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteBackupsSlotNext operation. */ +export type WebAppsListSiteBackupsSlotNextResponse = BackupItemCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetGateway; - }; -}; +/** Optional parameters. */ +export interface WebAppsListPerfMonCountersSlotNextOptionalParams + extends coreClient.OperationOptions { + /** Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} -/** - * Contains response data for the listRoutesForVnet operation. - */ -export type AppServicePlansListRoutesForVnetResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listPerfMonCountersSlotNext operation. */ +export type WebAppsListPerfMonCountersSlotNextResponse = PerfMonCounterCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetRoute[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsGetPrivateEndpointConnectionListSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getRouteForVnet operation. - */ -export type AppServicePlansGetRouteForVnetResponse = Array & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getPrivateEndpointConnectionListSlotNext operation. */ +export type WebAppsGetPrivateEndpointConnectionListSlotNextResponse = PrivateEndpointConnectionCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetRoute[]; - }; -}; +/** Optional parameters. */ +export interface WebAppsListProcessesSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateVnetRoute operation. - */ -export type AppServicePlansCreateOrUpdateVnetRouteResponse = VnetRoute & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listProcessesSlotNext operation. */ +export type WebAppsListProcessesSlotNextResponse = ProcessInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetRoute; - }; -}; +/** Optional parameters. */ +export interface WebAppsListProcessModulesSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateVnetRoute operation. - */ -export type AppServicePlansUpdateVnetRouteResponse = VnetRoute & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listProcessModulesSlotNext operation. */ +export type WebAppsListProcessModulesSlotNextResponse = ProcessModuleInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VnetRoute; - }; -}; +/** Optional parameters. */ +export interface WebAppsListProcessThreadsSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type AppServicePlansBeginCreateOrUpdateResponse = AppServicePlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listProcessThreadsSlotNext operation. */ +export type WebAppsListProcessThreadsSlotNextResponse = ProcessThreadInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlan; - }; -}; +/** Optional parameters. */ +export interface WebAppsListPublicCertificatesSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type AppServicePlansListNextResponse = AppServicePlanCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listPublicCertificatesSlotNext operation. */ +export type WebAppsListPublicCertificatesSlotNextResponse = PublicCertificateCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlanCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSiteExtensionsSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type AppServicePlansListByResourceGroupNextResponse = AppServicePlanCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSiteExtensionsSlotNext operation. */ +export type WebAppsListSiteExtensionsSlotNextResponse = SiteExtensionInfoCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AppServicePlanCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSlotDifferencesSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listWebAppsByHybridConnectionNext operation. - */ -export type AppServicePlansListWebAppsByHybridConnectionNextResponse = ResourceCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSlotDifferencesSlotNext operation. */ +export type WebAppsListSlotDifferencesSlotNextResponse = SlotDifferenceCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSnapshotsSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listHybridConnectionsNext operation. - */ -export type AppServicePlansListHybridConnectionsNextResponse = HybridConnectionCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSnapshotsSlotNext operation. */ +export type WebAppsListSnapshotsSlotNextResponse = SnapshotCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: HybridConnectionCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSnapshotsFromDRSecondarySlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listWebAppsNext operation. - */ -export type AppServicePlansListWebAppsNextResponse = WebAppCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSnapshotsFromDRSecondarySlotNext operation. */ +export type WebAppsListSnapshotsFromDRSecondarySlotNextResponse = SnapshotCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: WebAppCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListTriggeredWebJobsSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listUsagesNext operation. - */ -export type AppServicePlansListUsagesNextResponse = CsmUsageQuotaCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listTriggeredWebJobsSlotNext operation. */ +export type WebAppsListTriggeredWebJobsSlotNextResponse = TriggeredWebJobCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CsmUsageQuotaCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListTriggeredWebJobHistorySlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type ResourceHealthMetadataListResponse = ResourceHealthMetadataCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listTriggeredWebJobHistorySlotNext operation. */ +export type WebAppsListTriggeredWebJobHistorySlotNextResponse = TriggeredJobHistoryCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadataCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListUsagesSlotNextOptionalParams + extends coreClient.OperationOptions { + /** Return only information specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} -/** - * Contains response data for the listByResourceGroup operation. - */ -export type ResourceHealthMetadataListByResourceGroupResponse = ResourceHealthMetadataCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listUsagesSlotNext operation. */ +export type WebAppsListUsagesSlotNextResponse = CsmUsageQuotaCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadataCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListWebJobsSlotNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBySite operation. - */ -export type ResourceHealthMetadataListBySiteResponse = ResourceHealthMetadataCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listWebJobsSlotNext operation. */ +export type WebAppsListWebJobsSlotNextResponse = WebJobCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadataCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSlotDifferencesFromProductionNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getBySite operation. - */ -export type ResourceHealthMetadataGetBySiteResponse = ResourceHealthMetadata & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSlotDifferencesFromProductionNext operation. */ +export type WebAppsListSlotDifferencesFromProductionNextResponse = SlotDifferenceCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadata; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSnapshotsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBySiteSlot operation. - */ -export type ResourceHealthMetadataListBySiteSlotResponse = ResourceHealthMetadataCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSnapshotsNext operation. */ +export type WebAppsListSnapshotsNextResponse = SnapshotCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadataCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListSnapshotsFromDRSecondaryNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getBySiteSlot operation. - */ -export type ResourceHealthMetadataGetBySiteSlotResponse = ResourceHealthMetadata & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listSnapshotsFromDRSecondaryNext operation. */ +export type WebAppsListSnapshotsFromDRSecondaryNextResponse = SnapshotCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadata; - }; -}; +/** Optional parameters. */ +export interface WebAppsListTriggeredWebJobsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type ResourceHealthMetadataListNextResponse = ResourceHealthMetadataCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listTriggeredWebJobsNext operation. */ +export type WebAppsListTriggeredWebJobsNextResponse = TriggeredWebJobCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadataCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListTriggeredWebJobHistoryNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type ResourceHealthMetadataListByResourceGroupNextResponse = ResourceHealthMetadataCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listTriggeredWebJobHistoryNext operation. */ +export type WebAppsListTriggeredWebJobHistoryNextResponse = TriggeredJobHistoryCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadataCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListUsagesNextOptionalParams + extends coreClient.OperationOptions { + /** Return only information specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. */ + filter?: string; +} -/** - * Contains response data for the listBySiteNext operation. - */ -export type ResourceHealthMetadataListBySiteNextResponse = ResourceHealthMetadataCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listUsagesNext operation. */ +export type WebAppsListUsagesNextResponse = CsmUsageQuotaCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadataCollection; - }; -}; +/** Optional parameters. */ +export interface WebAppsListWebJobsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBySiteSlotNext operation. - */ -export type ResourceHealthMetadataListBySiteSlotNextResponse = ResourceHealthMetadataCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listWebJobsNext operation. */ +export type WebAppsListWebJobsNextResponse = WebJobCollection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceHealthMetadataCollection; - }; -}; +/** Optional parameters. */ +export interface WebSiteManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/appservice/arm-appservice/src/models/mappers.ts b/sdk/appservice/arm-appservice/src/models/mappers.ts index 8b6d9cc8517e..845fb6de0cb6 100644 --- a/sdk/appservice/arm-appservice/src/models/mappers.ts +++ b/sdk/appservice/arm-appservice/src/models/mappers.ts @@ -6,131 +6,122 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export const CloudError = CloudErrorMapper; -export const BaseResource = BaseResourceMapper; - -export const AppServiceCertificate: msRest.CompositeMapper = { - serializedName: "AppServiceCertificate", +export const AppServiceCertificateOrderCollection: coreClient.CompositeMapper = { + serializedName: "AppServiceCertificateOrderCollection", type: { name: "Composite", - className: "AppServiceCertificate", + className: "AppServiceCertificateOrderCollection", modelProperties: { - keyVaultId: { - serializedName: "keyVaultId", - type: { - name: "String" - } - }, - keyVaultSecretName: { - serializedName: "keyVaultSecretName", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "AppServiceCertificateOrder", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AppServiceCertificateOrder" + } + } } }, - provisioningState: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "provisioningState", + xmlName: "nextLink", type: { - name: "Enum", - allowedValues: [ - "Initialized", - "WaitingOnCertificateOrder", - "Succeeded", - "CertificateOrderFailed", - "OperationNotPermittedOnKeyVault", - "AzureServiceUnauthorizedToAccessKeyVault", - "KeyVaultDoesNotExist", - "KeyVaultSecretDoesNotExist", - "UnknownError", - "ExternalPrivateKey", - "Unknown" - ] + name: "String" } } } } }; -export const Resource: msRest.CompositeMapper = { +export const Resource: coreClient.CompositeMapper = { serializedName: "Resource", type: { name: "Composite", className: "Resource", modelProperties: { id: { - readOnly: true, serializedName: "id", + readOnly: true, + xmlName: "id", type: { name: "String" } }, name: { - readOnly: true, serializedName: "name", + readOnly: true, + xmlName: "name", type: { name: "String" } }, kind: { serializedName: "kind", + xmlName: "kind", type: { name: "String" } }, location: { - required: true, serializedName: "location", + required: true, + xmlName: "location", type: { name: "String" } }, type: { - readOnly: true, serializedName: "type", + readOnly: true, + xmlName: "type", type: { name: "String" } }, tags: { serializedName: "tags", + xmlName: "tags", type: { name: "Dictionary", - value: { - type: { - name: "String" - } - } + value: { type: { name: "String" } } } } } } }; -export const AppServiceCertificateResource: msRest.CompositeMapper = { - serializedName: "AppServiceCertificateResource", +export const AppServiceCertificate: coreClient.CompositeMapper = { + serializedName: "AppServiceCertificate", type: { name: "Composite", - className: "AppServiceCertificateResource", + className: "AppServiceCertificate", modelProperties: { - ...Resource.type.modelProperties, keyVaultId: { - serializedName: "properties.keyVaultId", + serializedName: "keyVaultId", + xmlName: "keyVaultId", type: { name: "String" } }, keyVaultSecretName: { - serializedName: "properties.keyVaultSecretName", + serializedName: "keyVaultSecretName", + xmlName: "keyVaultSecretName", type: { name: "String" } }, provisioningState: { + serializedName: "provisioningState", readOnly: true, - serializedName: "properties.provisioningState", + xmlName: "provisioningState", type: { name: "Enum", allowedValues: [ @@ -152,71 +143,80 @@ export const AppServiceCertificateResource: msRest.CompositeMapper = { } }; -export const CertificateDetails: msRest.CompositeMapper = { +export const CertificateDetails: coreClient.CompositeMapper = { serializedName: "CertificateDetails", type: { name: "Composite", className: "CertificateDetails", modelProperties: { version: { - readOnly: true, serializedName: "version", + readOnly: true, + xmlName: "version", type: { name: "Number" } }, serialNumber: { - readOnly: true, serializedName: "serialNumber", + readOnly: true, + xmlName: "serialNumber", type: { name: "String" } }, thumbprint: { - readOnly: true, serializedName: "thumbprint", + readOnly: true, + xmlName: "thumbprint", type: { name: "String" } }, subject: { - readOnly: true, serializedName: "subject", + readOnly: true, + xmlName: "subject", type: { name: "String" } }, notBefore: { - readOnly: true, serializedName: "notBefore", + readOnly: true, + xmlName: "notBefore", type: { name: "DateTime" } }, notAfter: { - readOnly: true, serializedName: "notAfter", + readOnly: true, + xmlName: "notAfter", type: { name: "DateTime" } }, signatureAlgorithm: { - readOnly: true, serializedName: "signatureAlgorithm", + readOnly: true, + xmlName: "signatureAlgorithm", type: { name: "String" } }, issuer: { - readOnly: true, serializedName: "issuer", + readOnly: true, + xmlName: "issuer", type: { name: "String" } }, rawData: { - readOnly: true, serializedName: "rawData", + readOnly: true, + xmlName: "rawData", type: { name: "String" } @@ -225,7 +225,7 @@ export const CertificateDetails: msRest.CompositeMapper = { } }; -export const CertificateOrderContact: msRest.CompositeMapper = { +export const CertificateOrderContact: coreClient.CompositeMapper = { serializedName: "CertificateOrderContact", type: { name: "Composite", @@ -233,24 +233,28 @@ export const CertificateOrderContact: msRest.CompositeMapper = { modelProperties: { email: { serializedName: "email", + xmlName: "email", type: { name: "String" } }, nameFirst: { serializedName: "nameFirst", + xmlName: "nameFirst", type: { name: "String" } }, nameLast: { serializedName: "nameLast", + xmlName: "nameLast", type: { name: "String" } }, phone: { serializedName: "phone", + xmlName: "phone", type: { name: "String" } @@ -259,212 +263,239 @@ export const CertificateOrderContact: msRest.CompositeMapper = { } }; -export const AppServiceCertificateOrder: msRest.CompositeMapper = { - serializedName: "AppServiceCertificateOrder", +export const DefaultErrorResponse: coreClient.CompositeMapper = { + serializedName: "DefaultErrorResponse", type: { name: "Composite", - className: "AppServiceCertificateOrder", + className: "DefaultErrorResponse", modelProperties: { - ...Resource.type.modelProperties, - certificates: { - serializedName: "properties.certificates", + error: { + serializedName: "error", + xmlName: "error", type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "AppServiceCertificate" - } - } + name: "Composite", + className: "DefaultErrorResponseError" } - }, - distinguishedName: { - serializedName: "properties.distinguishedName", + } + } + } +}; + +export const DefaultErrorResponseError: coreClient.CompositeMapper = { + serializedName: "DefaultErrorResponseError", + type: { + name: "Composite", + className: "DefaultErrorResponseError", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + xmlName: "code", type: { name: "String" } }, - domainVerificationToken: { + message: { + serializedName: "message", readOnly: true, - serializedName: "properties.domainVerificationToken", + xmlName: "message", type: { name: "String" } }, - validityInYears: { - serializedName: "properties.validityInYears", - defaultValue: 1, + target: { + serializedName: "target", + readOnly: true, + xmlName: "target", type: { - name: "Number" + name: "String" } }, - keySize: { - serializedName: "properties.keySize", - defaultValue: 2048, + details: { + serializedName: "details", + xmlName: "details", + xmlElementName: "DefaultErrorResponseErrorDetailsItem", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DefaultErrorResponseErrorDetailsItem" + } + } } }, - productType: { - required: true, - serializedName: "properties.productType", + innererror: { + serializedName: "innererror", + readOnly: true, + xmlName: "innererror", type: { - name: "Enum", - allowedValues: ["StandardDomainValidatedSsl", "StandardDomainValidatedWildCardSsl"] + name: "String" } - }, - autoRenew: { - serializedName: "properties.autoRenew", - defaultValue: true, + } + } + } +}; + +export const DefaultErrorResponseErrorDetailsItem: coreClient.CompositeMapper = { + serializedName: "DefaultErrorResponseErrorDetailsItem", + type: { + name: "Composite", + className: "DefaultErrorResponseErrorDetailsItem", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + xmlName: "code", type: { - name: "Boolean" + name: "String" } }, - provisioningState: { + message: { + serializedName: "message", readOnly: true, - serializedName: "properties.provisioningState", + xmlName: "message", type: { - name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] + name: "String" } }, - status: { + target: { + serializedName: "target", readOnly: true, - serializedName: "properties.status", + xmlName: "target", type: { - name: "Enum", - allowedValues: [ - "Pendingissuance", - "Issued", - "Revoked", - "Canceled", - "Denied", - "Pendingrevocation", - "PendingRekey", - "Unused", - "Expired", - "NotSubmitted" - ] + name: "String" } - }, - signedCertificate: { + } + } + } +}; + +export const ProxyOnlyResource: coreClient.CompositeMapper = { + serializedName: "ProxyOnlyResource", + type: { + name: "Composite", + className: "ProxyOnlyResource", + modelProperties: { + id: { + serializedName: "id", readOnly: true, - serializedName: "properties.signedCertificate", + xmlName: "id", type: { - name: "Composite", - className: "CertificateDetails" + name: "String" } }, - csr: { - serializedName: "properties.csr", + name: { + serializedName: "name", + readOnly: true, + xmlName: "name", type: { name: "String" } }, - intermediate: { - readOnly: true, - serializedName: "properties.intermediate", + kind: { + serializedName: "kind", + xmlName: "kind", type: { - name: "Composite", - className: "CertificateDetails" + name: "String" } }, - root: { + type: { + serializedName: "type", readOnly: true, - serializedName: "properties.root", + xmlName: "type", type: { - name: "Composite", - className: "CertificateDetails" + name: "String" + } + } + } + } +}; + +export const AppServiceCertificateCollection: coreClient.CompositeMapper = { + serializedName: "AppServiceCertificateCollection", + type: { + name: "Composite", + className: "AppServiceCertificateCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "AppServiceCertificateResource", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AppServiceCertificateResource" + } + } } }, - serialNumber: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.serialNumber", + xmlName: "nextLink", type: { name: "String" } - }, - lastCertificateIssuanceTime: { - readOnly: true, - serializedName: "properties.lastCertificateIssuanceTime", - type: { - name: "DateTime" - } - }, - expirationTime: { - readOnly: true, - serializedName: "properties.expirationTime", - type: { - name: "DateTime" - } - }, - isPrivateKeyExternal: { - readOnly: true, - serializedName: "properties.isPrivateKeyExternal", - type: { - name: "Boolean" - } - }, - appServiceCertificateNotRenewableReasons: { - readOnly: true, - serializedName: "properties.appServiceCertificateNotRenewableReasons", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - nextAutoRenewalTimeStamp: { - readOnly: true, - serializedName: "properties.nextAutoRenewalTimeStamp", - type: { - name: "DateTime" - } - }, - contact: { - readOnly: true, - serializedName: "properties.contact", - type: { - name: "Composite", - className: "CertificateOrderContact" - } } } } }; -export const ProxyOnlyResource: msRest.CompositeMapper = { - serializedName: "ProxyOnlyResource", +export const NameIdentifier: coreClient.CompositeMapper = { + serializedName: "NameIdentifier", type: { name: "Composite", - className: "ProxyOnlyResource", + className: "NameIdentifier", modelProperties: { - id: { - readOnly: true, - serializedName: "id", - type: { - name: "String" - } - }, name: { - readOnly: true, serializedName: "name", + xmlName: "name", type: { name: "String" } + } + } + } +}; + +export const SiteSealRequest: coreClient.CompositeMapper = { + serializedName: "SiteSealRequest", + type: { + name: "Composite", + className: "SiteSealRequest", + modelProperties: { + lightTheme: { + serializedName: "lightTheme", + xmlName: "lightTheme", + type: { + name: "Boolean" + } }, - kind: { - serializedName: "kind", + locale: { + serializedName: "locale", + xmlName: "locale", type: { name: "String" } - }, - type: { - readOnly: true, - serializedName: "type", + } + } + } +}; + +export const SiteSeal: coreClient.CompositeMapper = { + serializedName: "SiteSeal", + type: { + name: "Composite", + className: "SiteSeal", + modelProperties: { + html: { + serializedName: "html", + required: true, + xmlName: "html", type: { name: "String" } @@ -473,155 +504,105 @@ export const ProxyOnlyResource: msRest.CompositeMapper = { } }; -export const AppServiceCertificateOrderPatchResource: msRest.CompositeMapper = { - serializedName: "AppServiceCertificateOrderPatchResource", +export const DetectorResponseCollection: coreClient.CompositeMapper = { + serializedName: "DetectorResponseCollection", type: { name: "Composite", - className: "AppServiceCertificateOrderPatchResource", + className: "DetectorResponseCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - certificates: { - serializedName: "properties.certificates", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "DetectorResponse", type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { name: "Composite", - className: "AppServiceCertificate" + className: "DetectorResponse" } } } }, - distinguishedName: { - serializedName: "properties.distinguishedName", - type: { - name: "String" - } - }, - domainVerificationToken: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.domainVerificationToken", + xmlName: "nextLink", type: { name: "String" } - }, - validityInYears: { - serializedName: "properties.validityInYears", - defaultValue: 1, - type: { - name: "Number" - } - }, - keySize: { - serializedName: "properties.keySize", - defaultValue: 2048, - type: { - name: "Number" - } - }, - productType: { - required: true, - serializedName: "properties.productType", - type: { - name: "Enum", - allowedValues: ["StandardDomainValidatedSsl", "StandardDomainValidatedWildCardSsl"] - } - }, - autoRenew: { - serializedName: "properties.autoRenew", - defaultValue: true, - type: { - name: "Boolean" - } - }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", - type: { - name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] - } - }, - status: { - readOnly: true, - serializedName: "properties.status", - type: { - name: "Enum", - allowedValues: [ - "Pendingissuance", - "Issued", - "Revoked", - "Canceled", - "Denied", - "Pendingrevocation", - "PendingRekey", - "Unused", - "Expired", - "NotSubmitted" - ] - } - }, - signedCertificate: { + } + } + } +}; + +export const DetectorInfo: coreClient.CompositeMapper = { + serializedName: "DetectorInfo", + type: { + name: "Composite", + className: "DetectorInfo", + modelProperties: { + id: { + serializedName: "id", readOnly: true, - serializedName: "properties.signedCertificate", - type: { - name: "Composite", - className: "CertificateDetails" - } - }, - csr: { - serializedName: "properties.csr", + xmlName: "id", type: { name: "String" } }, - intermediate: { - readOnly: true, - serializedName: "properties.intermediate", - type: { - name: "Composite", - className: "CertificateDetails" - } - }, - root: { + name: { + serializedName: "name", readOnly: true, - serializedName: "properties.root", + xmlName: "name", type: { - name: "Composite", - className: "CertificateDetails" + name: "String" } }, - serialNumber: { + description: { + serializedName: "description", readOnly: true, - serializedName: "properties.serialNumber", + xmlName: "description", type: { name: "String" } }, - lastCertificateIssuanceTime: { + author: { + serializedName: "author", readOnly: true, - serializedName: "properties.lastCertificateIssuanceTime", + xmlName: "author", type: { - name: "DateTime" + name: "String" } }, - expirationTime: { + category: { + serializedName: "category", readOnly: true, - serializedName: "properties.expirationTime", + xmlName: "category", type: { - name: "DateTime" + name: "String" } }, - isPrivateKeyExternal: { + supportTopicList: { + serializedName: "supportTopicList", readOnly: true, - serializedName: "properties.isPrivateKeyExternal", + xmlName: "supportTopicList", + xmlElementName: "SupportTopic", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SupportTopic" + } + } } }, - appServiceCertificateNotRenewableReasons: { + analysisType: { + serializedName: "analysisType", readOnly: true, - serializedName: "properties.appServiceCertificateNotRenewableReasons", + xmlName: "analysisType", + xmlElementName: "DetectorInfoAnalysisTypeItem", type: { name: "Sequence", element: { @@ -631,384 +612,386 @@ export const AppServiceCertificateOrderPatchResource: msRest.CompositeMapper = { } } }, - nextAutoRenewalTimeStamp: { + type: { + serializedName: "type", readOnly: true, - serializedName: "properties.nextAutoRenewalTimeStamp", + xmlName: "type", type: { - name: "DateTime" + name: "Enum", + allowedValues: ["Detector", "Analysis", "CategoryOverview"] } }, - contact: { + score: { + serializedName: "score", readOnly: true, - serializedName: "properties.contact", + xmlName: "score", type: { - name: "Composite", - className: "CertificateOrderContact" + name: "Number" } } } } }; -export const AppServiceCertificatePatchResource: msRest.CompositeMapper = { - serializedName: "AppServiceCertificatePatchResource", +export const SupportTopic: coreClient.CompositeMapper = { + serializedName: "SupportTopic", type: { name: "Composite", - className: "AppServiceCertificatePatchResource", + className: "SupportTopic", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - keyVaultId: { - serializedName: "properties.keyVaultId", - type: { - name: "String" - } - }, - keyVaultSecretName: { - serializedName: "properties.keyVaultSecretName", + id: { + serializedName: "id", + readOnly: true, + xmlName: "id", type: { name: "String" } }, - provisioningState: { + pesId: { + serializedName: "pesId", readOnly: true, - serializedName: "properties.provisioningState", + xmlName: "pesId", type: { - name: "Enum", - allowedValues: [ - "Initialized", - "WaitingOnCertificateOrder", - "Succeeded", - "CertificateOrderFailed", - "OperationNotPermittedOnKeyVault", - "AzureServiceUnauthorizedToAccessKeyVault", - "KeyVaultDoesNotExist", - "KeyVaultSecretDoesNotExist", - "UnknownError", - "ExternalPrivateKey", - "Unknown" - ] + name: "String" } } } } }; -export const CertificateEmail: msRest.CompositeMapper = { - serializedName: "CertificateEmail", +export const DiagnosticData: coreClient.CompositeMapper = { + serializedName: "DiagnosticData", type: { name: "Composite", - className: "CertificateEmail", + className: "DiagnosticData", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - emailId: { - serializedName: "properties.emailId", + table: { + serializedName: "table", + xmlName: "table", type: { - name: "String" + name: "Composite", + className: "DataTableResponseObject" } }, - timeStamp: { - serializedName: "properties.timeStamp", + renderingProperties: { + serializedName: "renderingProperties", + xmlName: "renderingProperties", type: { - name: "DateTime" + name: "Composite", + className: "Rendering" } } } } }; -export const CertificateOrderAction: msRest.CompositeMapper = { - serializedName: "CertificateOrderAction", +export const DataTableResponseObject: coreClient.CompositeMapper = { + serializedName: "DataTableResponseObject", type: { name: "Composite", - className: "CertificateOrderAction", + className: "DataTableResponseObject", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - actionType: { - readOnly: true, - serializedName: "properties.actionType", + tableName: { + serializedName: "tableName", + xmlName: "tableName", type: { - name: "Enum", - allowedValues: [ - "CertificateIssued", - "CertificateOrderCanceled", - "CertificateOrderCreated", - "CertificateRevoked", - "DomainValidationComplete", - "FraudDetected", - "OrgNameChange", - "OrgValidationComplete", - "SanDrop", - "FraudCleared", - "CertificateExpired", - "CertificateExpirationWarning", - "FraudDocumentationRequired", - "Unknown" - ] + name: "String" } }, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", + columns: { + serializedName: "columns", + xmlName: "columns", + xmlElementName: "DataTableResponseColumn", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataTableResponseColumn" + } + } + } + }, + rows: { + serializedName: "rows", + xmlName: "rows", + xmlElementName: "DataTableResponseObjectRowsItem", + type: { + name: "Sequence", + element: { + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } } } } } }; -export const ReissueCertificateOrderRequest: msRest.CompositeMapper = { - serializedName: "ReissueCertificateOrderRequest", +export const DataTableResponseColumn: coreClient.CompositeMapper = { + serializedName: "DataTableResponseColumn", type: { name: "Composite", - className: "ReissueCertificateOrderRequest", + className: "DataTableResponseColumn", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - keySize: { - serializedName: "properties.keySize", - type: { - name: "Number" - } - }, - delayExistingRevokeInHours: { - serializedName: "properties.delayExistingRevokeInHours", + columnName: { + serializedName: "columnName", + xmlName: "columnName", type: { - name: "Number" + name: "String" } }, - csr: { - serializedName: "properties.csr", + dataType: { + serializedName: "dataType", + xmlName: "dataType", type: { name: "String" } }, - isPrivateKeyExternal: { - serializedName: "properties.isPrivateKeyExternal", + columnType: { + serializedName: "columnType", + xmlName: "columnType", type: { - name: "Boolean" + name: "String" } } } } }; -export const RenewCertificateOrderRequest: msRest.CompositeMapper = { - serializedName: "RenewCertificateOrderRequest", +export const Rendering: coreClient.CompositeMapper = { + serializedName: "Rendering", type: { name: "Composite", - className: "RenewCertificateOrderRequest", + className: "Rendering", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - keySize: { - serializedName: "properties.keySize", + type: { + serializedName: "type", + xmlName: "type", type: { - name: "Number" + name: "Enum", + allowedValues: [ + "NoGraph", + "Table", + "TimeSeries", + "TimeSeriesPerInstance", + "PieChart", + "DataSummary", + "Email", + "Insights", + "DynamicInsight", + "Markdown", + "Detector", + "DropDown", + "Card", + "Solution", + "Guage", + "Form", + "ChangeSets", + "ChangeAnalysisOnboarding", + "ChangesView", + "AppInsight", + "DependencyGraph", + "DownTime", + "SummaryCard", + "SearchComponent", + "AppInsightEnablement" + ] } }, - csr: { - serializedName: "properties.csr", + title: { + serializedName: "title", + xmlName: "title", type: { name: "String" } }, - isPrivateKeyExternal: { - serializedName: "properties.isPrivateKeyExternal", + description: { + serializedName: "description", + xmlName: "description", type: { - name: "Boolean" + name: "String" } } } } }; -export const SiteSeal: msRest.CompositeMapper = { - serializedName: "SiteSeal", +export const Status: coreClient.CompositeMapper = { + serializedName: "Status", type: { name: "Composite", - className: "SiteSeal", + className: "Status", modelProperties: { - html: { - required: true, - serializedName: "html", + message: { + serializedName: "message", + xmlName: "message", type: { name: "String" } + }, + statusId: { + serializedName: "statusId", + xmlName: "statusId", + type: { + name: "Enum", + allowedValues: ["Critical", "Warning", "Info", "Success", "None"] + } } } } }; -export const SiteSealRequest: msRest.CompositeMapper = { - serializedName: "SiteSealRequest", +export const DataProviderMetadata: coreClient.CompositeMapper = { + serializedName: "DataProviderMetadata", type: { name: "Composite", - className: "SiteSealRequest", + className: "DataProviderMetadata", modelProperties: { - lightTheme: { - serializedName: "lightTheme", + providerName: { + serializedName: "providerName", + xmlName: "providerName", type: { - name: "Boolean" + name: "String" } }, - locale: { - serializedName: "locale", + propertyBag: { + serializedName: "propertyBag", + readOnly: true, + xmlName: "propertyBag", + xmlElementName: "KeyValuePairStringObject", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "KeyValuePairStringObject" + } + } } } } } }; -export const VnetRoute: msRest.CompositeMapper = { - serializedName: "VnetRoute", +export const KeyValuePairStringObject: coreClient.CompositeMapper = { + serializedName: "KeyValuePairStringObject", type: { name: "Composite", - className: "VnetRoute", + className: "KeyValuePairStringObject", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - startAddress: { - serializedName: "properties.startAddress", - type: { - name: "String" - } - }, - endAddress: { - serializedName: "properties.endAddress", + key: { + serializedName: "key", + readOnly: true, + xmlName: "key", type: { name: "String" } }, - routeType: { - serializedName: "properties.routeType", + value: { + serializedName: "value", + readOnly: true, + xmlName: "value", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "any" } } } } } } }; -export const VnetInfo: msRest.CompositeMapper = { - serializedName: "VnetInfo", +export const QueryUtterancesResults: coreClient.CompositeMapper = { + serializedName: "QueryUtterancesResults", type: { name: "Composite", - className: "VnetInfo", + className: "QueryUtterancesResults", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - vnetResourceId: { - serializedName: "properties.vnetResourceId", - type: { - name: "String" - } - }, - certThumbprint: { - readOnly: true, - serializedName: "properties.certThumbprint", - type: { - name: "String" - } - }, - certBlob: { - serializedName: "properties.certBlob", + query: { + serializedName: "query", + xmlName: "query", type: { name: "String" } }, - routes: { - readOnly: true, - serializedName: "properties.routes", + results: { + serializedName: "results", + xmlName: "results", + xmlElementName: "QueryUtterancesResult", type: { name: "Sequence", element: { type: { name: "Composite", - className: "VnetRoute" + className: "QueryUtterancesResult" } } } - }, - resyncRequired: { - readOnly: true, - serializedName: "properties.resyncRequired", - type: { - name: "Boolean" - } - }, - dnsServers: { - serializedName: "properties.dnsServers", - type: { - name: "String" - } - }, - isSwift: { - serializedName: "properties.isSwift", - type: { - name: "Boolean" - } } } } }; -export const VnetGateway: msRest.CompositeMapper = { - serializedName: "VnetGateway", +export const QueryUtterancesResult: coreClient.CompositeMapper = { + serializedName: "QueryUtterancesResult", type: { name: "Composite", - className: "VnetGateway", + className: "QueryUtterancesResult", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - vnetName: { - serializedName: "properties.vnetName", + sampleUtterance: { + serializedName: "sampleUtterance", + xmlName: "sampleUtterance", type: { - name: "String" + name: "Composite", + className: "SampleUtterance" } }, - vpnPackageUri: { - required: true, - serializedName: "properties.vpnPackageUri", + score: { + serializedName: "score", + xmlName: "score", type: { - name: "String" + name: "Number" } } } } }; -export const User: msRest.CompositeMapper = { - serializedName: "User", +export const SampleUtterance: coreClient.CompositeMapper = { + serializedName: "SampleUtterance", type: { name: "Composite", - className: "User", + className: "SampleUtterance", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - publishingUserName: { - required: true, - serializedName: "properties.publishingUserName", - type: { - name: "String" - } - }, - publishingPassword: { - serializedName: "properties.publishingPassword", - type: { - name: "String" - } - }, - publishingPasswordHash: { - serializedName: "properties.publishingPasswordHash", + text: { + serializedName: "text", + xmlName: "text", type: { name: "String" } }, - publishingPasswordHashSalt: { - serializedName: "properties.publishingPasswordHashSalt", + links: { + serializedName: "links", + xmlName: "links", + xmlElementName: "SampleUtteranceLinksItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - scmUri: { - serializedName: "properties.scmUri", + qid: { + serializedName: "qid", + xmlName: "qid", type: { name: "String" } @@ -1017,66 +1000,116 @@ export const User: msRest.CompositeMapper = { } }; -export const StringDictionary: msRest.CompositeMapper = { - serializedName: "StringDictionary", +export const CsmOperationCollection: coreClient.CompositeMapper = { + serializedName: "CsmOperationCollection", type: { name: "Composite", - className: "StringDictionary", + className: "CsmOperationCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - properties: { - serializedName: "properties", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "CsmOperationDescription", type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "CsmOperationDescription" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", + type: { + name: "String" + } } } } }; -export const Snapshot: msRest.CompositeMapper = { - serializedName: "Snapshot", +export const CsmOperationDescription: coreClient.CompositeMapper = { + serializedName: "CsmOperationDescription", type: { name: "Composite", - className: "Snapshot", + className: "CsmOperationDescription", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - time: { - readOnly: true, - serializedName: "properties.time", + name: { + serializedName: "name", + xmlName: "name", + type: { + name: "String" + } + }, + isDataAction: { + serializedName: "isDataAction", + xmlName: "isDataAction", + type: { + name: "Boolean" + } + }, + display: { + serializedName: "display", + xmlName: "display", + type: { + name: "Composite", + className: "CsmOperationDisplay" + } + }, + origin: { + serializedName: "origin", + xmlName: "origin", type: { name: "String" } + }, + properties: { + serializedName: "properties", + xmlName: "properties", + type: { + name: "Composite", + className: "CsmOperationDescriptionProperties" + } } } } }; -export const PrivateLinkConnectionState: msRest.CompositeMapper = { - serializedName: "PrivateLinkConnectionState", +export const CsmOperationDisplay: coreClient.CompositeMapper = { + serializedName: "CsmOperationDisplay", type: { name: "Composite", - className: "PrivateLinkConnectionState", + className: "CsmOperationDisplay", modelProperties: { - status: { - serializedName: "status", + provider: { + serializedName: "provider", + xmlName: "provider", type: { name: "String" } }, - description: { - serializedName: "description", + resource: { + serializedName: "resource", + xmlName: "resource", type: { name: "String" } }, - actionsRequired: { - serializedName: "actionsRequired", + operation: { + serializedName: "operation", + xmlName: "operation", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + xmlName: "description", type: { name: "String" } @@ -1085,58 +1118,54 @@ export const PrivateLinkConnectionState: msRest.CompositeMapper = { } }; -export const ArmIdWrapper: msRest.CompositeMapper = { - serializedName: "ArmIdWrapper", +export const CsmOperationDescriptionProperties: coreClient.CompositeMapper = { + serializedName: "CsmOperationDescriptionProperties", type: { name: "Composite", - className: "ArmIdWrapper", + className: "CsmOperationDescriptionProperties", modelProperties: { - id: { - readOnly: true, - serializedName: "id", + serviceSpecification: { + serializedName: "serviceSpecification", + xmlName: "serviceSpecification", type: { - name: "String" + name: "Composite", + className: "ServiceSpecification" } } } } }; -export const RemotePrivateEndpointConnectionARMResource: msRest.CompositeMapper = { - serializedName: "RemotePrivateEndpointConnectionARMResource", +export const ServiceSpecification: coreClient.CompositeMapper = { + serializedName: "ServiceSpecification", type: { name: "Composite", - className: "RemotePrivateEndpointConnectionARMResource", + className: "ServiceSpecification", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", - type: { - name: "String" - } - }, - privateEndpoint: { - serializedName: "properties.privateEndpoint", - type: { - name: "Composite", - className: "ArmIdWrapper" - } - }, - privateLinkServiceConnectionState: { - serializedName: "properties.privateLinkServiceConnectionState", + metricSpecifications: { + serializedName: "metricSpecifications", + xmlName: "metricSpecifications", + xmlElementName: "MetricSpecification", type: { - name: "Composite", - className: "PrivateLinkConnectionState" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MetricSpecification" + } + } } }, - ipAddresses: { - serializedName: "properties.ipAddresses", + logSpecifications: { + serializedName: "logSpecifications", + xmlName: "logSpecifications", + xmlElementName: "LogSpecification", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "LogSpecification" } } } @@ -1145,150 +1174,135 @@ export const RemotePrivateEndpointConnectionARMResource: msRest.CompositeMapper } }; -export const PushSettings: msRest.CompositeMapper = { - serializedName: "PushSettings", +export const MetricSpecification: coreClient.CompositeMapper = { + serializedName: "MetricSpecification", type: { name: "Composite", - className: "PushSettings", + className: "MetricSpecification", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - isPushEnabled: { - required: true, - serializedName: "properties.isPushEnabled", + name: { + serializedName: "name", + xmlName: "name", type: { - name: "Boolean" + name: "String" } }, - tagWhitelistJson: { - serializedName: "properties.tagWhitelistJson", + displayName: { + serializedName: "displayName", + xmlName: "displayName", type: { name: "String" } }, - tagsRequiringAuth: { - serializedName: "properties.tagsRequiringAuth", + displayDescription: { + serializedName: "displayDescription", + xmlName: "displayDescription", type: { name: "String" } }, - dynamicTagsJson: { - serializedName: "properties.dynamicTagsJson", + unit: { + serializedName: "unit", + xmlName: "unit", type: { name: "String" } - } - } - } -}; - -export const PrivateLinkConnectionApprovalRequestResource: msRest.CompositeMapper = { - serializedName: "PrivateLinkConnectionApprovalRequestResource", - type: { - name: "Composite", - className: "PrivateLinkConnectionApprovalRequestResource", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - privateLinkServiceConnectionState: { - serializedName: "properties.privateLinkServiceConnectionState", + }, + aggregationType: { + serializedName: "aggregationType", + xmlName: "aggregationType", type: { - name: "Composite", - className: "PrivateLinkConnectionState" + name: "String" } - } - } - } -}; - -export const Identifier: msRest.CompositeMapper = { - serializedName: "Identifier", - type: { - name: "Composite", - className: "Identifier", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - value: { - serializedName: "properties.id", + }, + supportsInstanceLevelAggregation: { + serializedName: "supportsInstanceLevelAggregation", + xmlName: "supportsInstanceLevelAggregation", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const HybridConnection: msRest.CompositeMapper = { - serializedName: "HybridConnection", - type: { - name: "Composite", - className: "HybridConnection", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - serviceBusNamespace: { - serializedName: "properties.serviceBusNamespace", + }, + enableRegionalMdmAccount: { + serializedName: "enableRegionalMdmAccount", + xmlName: "enableRegionalMdmAccount", type: { - name: "String" + name: "Boolean" } }, - relayName: { - serializedName: "properties.relayName", + sourceMdmAccount: { + serializedName: "sourceMdmAccount", + xmlName: "sourceMdmAccount", type: { name: "String" } }, - relayArmUri: { - serializedName: "properties.relayArmUri", + sourceMdmNamespace: { + serializedName: "sourceMdmNamespace", + xmlName: "sourceMdmNamespace", type: { name: "String" } }, - hostname: { - serializedName: "properties.hostname", + metricFilterPattern: { + serializedName: "metricFilterPattern", + xmlName: "metricFilterPattern", type: { name: "String" } }, - port: { - serializedName: "properties.port", + fillGapWithZero: { + serializedName: "fillGapWithZero", + xmlName: "fillGapWithZero", type: { - name: "Number" + name: "Boolean" } }, - sendKeyName: { - serializedName: "properties.sendKeyName", + isInternal: { + serializedName: "isInternal", + xmlName: "isInternal", type: { - name: "String" + name: "Boolean" } }, - sendKeyValue: { - serializedName: "properties.sendKeyValue", + dimensions: { + serializedName: "dimensions", + xmlName: "dimensions", + xmlElementName: "Dimension", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Dimension" + } + } } }, - serviceBusSuffix: { - serializedName: "properties.serviceBusSuffix", + category: { + serializedName: "category", + xmlName: "category", type: { name: "String" } - } - } - } -}; - -export const SampleUtterance: msRest.CompositeMapper = { - serializedName: "SampleUtterance", - type: { - name: "Composite", - className: "SampleUtterance", - modelProperties: { - text: { - serializedName: "text", + }, + availabilities: { + serializedName: "availabilities", + xmlName: "availabilities", + xmlElementName: "MetricAvailability", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MetricAvailability" + } + } } }, - links: { - serializedName: "links", + supportedTimeGrainTypes: { + serializedName: "supportedTimeGrainTypes", + xmlName: "supportedTimeGrainTypes", + xmlElementName: "MetricSpecificationSupportedTimeGrainTypesItem", type: { name: "Sequence", element: { @@ -1298,190 +1312,180 @@ export const SampleUtterance: msRest.CompositeMapper = { } } }, - qid: { - serializedName: "qid", + supportedAggregationTypes: { + serializedName: "supportedAggregationTypes", + xmlName: "supportedAggregationTypes", + xmlElementName: "MetricSpecificationSupportedAggregationTypesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const QueryUtterancesResult: msRest.CompositeMapper = { - serializedName: "QueryUtterancesResult", +export const Dimension: coreClient.CompositeMapper = { + serializedName: "Dimension", type: { name: "Composite", - className: "QueryUtterancesResult", + className: "Dimension", modelProperties: { - sampleUtterance: { - serializedName: "sampleUtterance", + name: { + serializedName: "name", + xmlName: "name", type: { - name: "Composite", - className: "SampleUtterance" + name: "String" } }, - score: { - serializedName: "score", + displayName: { + serializedName: "displayName", + xmlName: "displayName", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const QueryUtterancesResults: msRest.CompositeMapper = { - serializedName: "QueryUtterancesResults", - type: { - name: "Composite", - className: "QueryUtterancesResults", - modelProperties: { - query: { - serializedName: "query", + }, + internalName: { + serializedName: "internalName", + xmlName: "internalName", type: { name: "String" } }, - results: { - serializedName: "results", + toBeExportedForShoebox: { + serializedName: "toBeExportedForShoebox", + xmlName: "toBeExportedForShoebox", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "QueryUtterancesResult" - } - } + name: "Boolean" } } } } }; -export const KeyValuePairStringObject: msRest.CompositeMapper = { - serializedName: "KeyValuePair_String,Object_", +export const MetricAvailability: coreClient.CompositeMapper = { + serializedName: "MetricAvailability", type: { name: "Composite", - className: "KeyValuePairStringObject", + className: "MetricAvailability", modelProperties: { - key: { - readOnly: true, - serializedName: "key", + timeGrain: { + serializedName: "timeGrain", + xmlName: "timeGrain", type: { name: "String" } }, - value: { - readOnly: true, - serializedName: "value", + blobDuration: { + serializedName: "blobDuration", + xmlName: "blobDuration", type: { - name: "Object" + name: "String" } } } } }; -export const DataProviderMetadata: msRest.CompositeMapper = { - serializedName: "DataProviderMetadata", +export const LogSpecification: coreClient.CompositeMapper = { + serializedName: "LogSpecification", type: { name: "Composite", - className: "DataProviderMetadata", + className: "LogSpecification", modelProperties: { - providerName: { - serializedName: "providerName", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - propertyBag: { - readOnly: true, - serializedName: "propertyBag", + displayName: { + serializedName: "displayName", + xmlName: "displayName", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "KeyValuePairStringObject" - } - } + name: "String" + } + }, + blobDuration: { + serializedName: "blobDuration", + xmlName: "blobDuration", + type: { + name: "String" + } + }, + logFilterPattern: { + serializedName: "logFilterPattern", + xmlName: "logFilterPattern", + type: { + name: "String" } } } } }; -export const Status: msRest.CompositeMapper = { - serializedName: "Status", +export const DomainAvailabilityCheckResult: coreClient.CompositeMapper = { + serializedName: "DomainAvailabilityCheckResult", type: { name: "Composite", - className: "Status", + className: "DomainAvailabilityCheckResult", modelProperties: { - message: { - serializedName: "message", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - statusId: { - serializedName: "statusId", + available: { + serializedName: "available", + xmlName: "available", + type: { + name: "Boolean" + } + }, + domainType: { + serializedName: "domainType", + xmlName: "domainType", type: { name: "Enum", - allowedValues: ["Critical", "Warning", "Info", "Success", "None"] + allowedValues: ["Regular", "SoftDeleted"] } } } } }; -export const Rendering: msRest.CompositeMapper = { - serializedName: "Rendering", +export const DomainCollection: coreClient.CompositeMapper = { + serializedName: "DomainCollection", type: { name: "Composite", - className: "Rendering", + className: "DomainCollection", modelProperties: { - type: { - serializedName: "type", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "Domain", type: { - name: "Enum", - allowedValues: [ - "NoGraph", - "Table", - "TimeSeries", - "TimeSeriesPerInstance", - "PieChart", - "DataSummary", - "Email", - "Insights", - "DynamicInsight", - "Markdown", - "Detector", - "DropDown", - "Card", - "Solution", - "Guage", - "Form", - "ChangeSets", - "ChangeAnalysisOnboarding", - "ChangesView", - "AppInsight", - "DependencyGraph", - "DownTime", - "SummaryCard", - "SearchComponent", - "AppInsightEnablement" - ] - } - }, - title: { - serializedName: "title", - type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Domain" + } + } } }, - description: { - serializedName: "description", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -1490,326 +1494,322 @@ export const Rendering: msRest.CompositeMapper = { } }; -export const DataTableResponseColumn: msRest.CompositeMapper = { - serializedName: "DataTableResponseColumn", +export const Contact: coreClient.CompositeMapper = { + serializedName: "Contact", type: { name: "Composite", - className: "DataTableResponseColumn", + className: "Contact", modelProperties: { - columnName: { - serializedName: "columnName", + addressMailing: { + serializedName: "addressMailing", + xmlName: "addressMailing", + type: { + name: "Composite", + className: "Address" + } + }, + email: { + serializedName: "email", + required: true, + xmlName: "email", type: { name: "String" } }, - dataType: { - serializedName: "dataType", + fax: { + serializedName: "fax", + xmlName: "fax", type: { name: "String" } }, - columnType: { - serializedName: "columnType", + jobTitle: { + serializedName: "jobTitle", + xmlName: "jobTitle", type: { name: "String" } - } - } - } -}; - -export const DataTableResponseObject: msRest.CompositeMapper = { - serializedName: "DataTableResponseObject", - type: { - name: "Composite", - className: "DataTableResponseObject", - modelProperties: { - tableName: { - serializedName: "tableName", + }, + nameFirst: { + serializedName: "nameFirst", + required: true, + xmlName: "nameFirst", type: { name: "String" } }, - columns: { - serializedName: "columns", + nameLast: { + serializedName: "nameLast", + required: true, + xmlName: "nameLast", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DataTableResponseColumn" - } - } + name: "String" } }, - rows: { - serializedName: "rows", + nameMiddle: { + serializedName: "nameMiddle", + xmlName: "nameMiddle", type: { - name: "Sequence", - element: { - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - } + name: "String" } - } - } - } -}; - -export const DiagnosticData: msRest.CompositeMapper = { - serializedName: "DiagnosticData", - type: { - name: "Composite", - className: "DiagnosticData", - modelProperties: { - table: { - serializedName: "table", + }, + organization: { + serializedName: "organization", + xmlName: "organization", type: { - name: "Composite", - className: "DataTableResponseObject" + name: "String" } }, - renderingProperties: { - serializedName: "renderingProperties", + phone: { + serializedName: "phone", + required: true, + xmlName: "phone", type: { - name: "Composite", - className: "Rendering" + name: "String" } } } } }; -export const SupportTopic: msRest.CompositeMapper = { - serializedName: "SupportTopic", +export const Address: coreClient.CompositeMapper = { + serializedName: "Address", type: { name: "Composite", - className: "SupportTopic", + className: "Address", modelProperties: { - id: { - readOnly: true, - serializedName: "id", + address1: { + serializedName: "address1", + required: true, + xmlName: "address1", type: { name: "String" } }, - pesId: { - readOnly: true, - serializedName: "pesId", + address2: { + serializedName: "address2", + xmlName: "address2", type: { name: "String" } - } - } - } -}; - -export const DetectorInfo: msRest.CompositeMapper = { - serializedName: "DetectorInfo", - type: { - name: "Composite", - className: "DetectorInfo", - modelProperties: { - id: { - readOnly: true, - serializedName: "id", + }, + city: { + serializedName: "city", + required: true, + xmlName: "city", type: { name: "String" } }, - name: { - readOnly: true, - serializedName: "name", + country: { + serializedName: "country", + required: true, + xmlName: "country", type: { name: "String" } }, - description: { - readOnly: true, - serializedName: "description", + postalCode: { + serializedName: "postalCode", + required: true, + xmlName: "postalCode", type: { name: "String" } }, - author: { - readOnly: true, - serializedName: "author", + state: { + serializedName: "state", + required: true, + xmlName: "state", type: { name: "String" } - }, - category: { - readOnly: true, - serializedName: "category", + } + } + } +}; + +export const HostName: coreClient.CompositeMapper = { + serializedName: "HostName", + type: { + name: "Composite", + className: "HostName", + modelProperties: { + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - supportTopicList: { - readOnly: true, - serializedName: "supportTopicList", + siteNames: { + serializedName: "siteNames", + xmlName: "siteNames", + xmlElementName: "HostNameSiteNamesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "SupportTopic" + name: "String" } } } }, - analysisType: { - readOnly: true, - serializedName: "analysisType", + azureResourceName: { + serializedName: "azureResourceName", + xmlName: "azureResourceName", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - type: { - readOnly: true, - serializedName: "type", + azureResourceType: { + serializedName: "azureResourceType", + xmlName: "azureResourceType", type: { name: "Enum", - allowedValues: ["Detector", "Analysis", "CategoryOverview"] + allowedValues: ["Website", "TrafficManager"] } }, - score: { - readOnly: true, - serializedName: "score", + customHostNameDnsRecordType: { + serializedName: "customHostNameDnsRecordType", + xmlName: "customHostNameDnsRecordType", type: { - name: "Number" + name: "Enum", + allowedValues: ["CName", "A"] + } + }, + hostNameType: { + serializedName: "hostNameType", + xmlName: "hostNameType", + type: { + name: "Enum", + allowedValues: ["Verified", "Managed"] } } } } }; -export const DetectorResponse: msRest.CompositeMapper = { - serializedName: "DetectorResponse", +export const DomainPurchaseConsent: coreClient.CompositeMapper = { + serializedName: "DomainPurchaseConsent", type: { name: "Composite", - className: "DetectorResponse", + className: "DomainPurchaseConsent", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - metadata: { - serializedName: "properties.metadata", - type: { - name: "Composite", - className: "DetectorInfo" - } - }, - dataset: { - serializedName: "properties.dataset", + agreementKeys: { + serializedName: "agreementKeys", + xmlName: "agreementKeys", + xmlElementName: "DomainPurchaseConsentAgreementKeysItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DiagnosticData" + name: "String" } } } }, - status: { - serializedName: "properties.status", - type: { - name: "Composite", - className: "Status" - } - }, - dataProvidersMetadata: { - serializedName: "properties.dataProvidersMetadata", + agreedBy: { + serializedName: "agreedBy", + xmlName: "agreedBy", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DataProviderMetadata" - } - } + name: "String" } }, - suggestedUtterances: { - serializedName: "properties.suggestedUtterances", + agreedAt: { + serializedName: "agreedAt", + xmlName: "agreedAt", type: { - name: "Composite", - className: "QueryUtterancesResults" + name: "DateTime" } } } } }; -export const DeletedSite: msRest.CompositeMapper = { - serializedName: "DeletedSite", +export const DomainControlCenterSsoRequest: coreClient.CompositeMapper = { + serializedName: "DomainControlCenterSsoRequest", type: { name: "Composite", - className: "DeletedSite", + className: "DomainControlCenterSsoRequest", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - deletedSiteId: { - readOnly: true, - serializedName: "properties.deletedSiteId", - type: { - name: "Number" - } - }, - deletedTimestamp: { + url: { + serializedName: "url", readOnly: true, - serializedName: "properties.deletedTimestamp", + xmlName: "url", type: { name: "String" } }, - subscription: { + postParameterKey: { + serializedName: "postParameterKey", readOnly: true, - serializedName: "properties.subscription", + xmlName: "postParameterKey", type: { name: "String" } }, - resourceGroup: { + postParameterValue: { + serializedName: "postParameterValue", readOnly: true, - serializedName: "properties.resourceGroup", + xmlName: "postParameterValue", type: { name: "String" } - }, - deletedSiteName: { - readOnly: true, - serializedName: "properties.deletedSiteName", + } + } + } +}; + +export const DomainRecommendationSearchParameters: coreClient.CompositeMapper = { + serializedName: "DomainRecommendationSearchParameters", + type: { + name: "Composite", + className: "DomainRecommendationSearchParameters", + modelProperties: { + keywords: { + serializedName: "keywords", + xmlName: "keywords", type: { name: "String" } }, - slot: { - readOnly: true, - serializedName: "properties.slot", + maxDomainRecommendations: { + serializedName: "maxDomainRecommendations", + xmlName: "maxDomainRecommendations", type: { - name: "String" + name: "Number" } - }, - deletedSiteKind: { - readOnly: true, - serializedName: "properties.kind", + } + } + } +}; + +export const NameIdentifierCollection: coreClient.CompositeMapper = { + serializedName: "NameIdentifierCollection", + type: { + name: "Composite", + className: "NameIdentifierCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "NameIdentifier", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameIdentifier" + } + } } }, - geoRegionName: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.geoRegionName", + xmlName: "nextLink", type: { name: "String" } @@ -1818,22 +1818,31 @@ export const DeletedSite: msRest.CompositeMapper = { } }; -export const ManagedServiceIdentityUserAssignedIdentitiesValue: msRest.CompositeMapper = { - serializedName: "ManagedServiceIdentity_userAssignedIdentitiesValue", +export const DomainOwnershipIdentifierCollection: coreClient.CompositeMapper = { + serializedName: "DomainOwnershipIdentifierCollection", type: { name: "Composite", - className: "ManagedServiceIdentityUserAssignedIdentitiesValue", + className: "DomainOwnershipIdentifierCollection", modelProperties: { - principalId: { - readOnly: true, - serializedName: "principalId", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "DomainOwnershipIdentifier", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DomainOwnershipIdentifier" + } + } } }, - clientId: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "clientId", + xmlName: "nextLink", type: { name: "String" } @@ -1842,72 +1851,88 @@ export const ManagedServiceIdentityUserAssignedIdentitiesValue: msRest.Composite } }; -export const ManagedServiceIdentity: msRest.CompositeMapper = { - serializedName: "ManagedServiceIdentity", +export const TopLevelDomainCollection: coreClient.CompositeMapper = { + serializedName: "TopLevelDomainCollection", type: { name: "Composite", - className: "ManagedServiceIdentity", + className: "TopLevelDomainCollection", modelProperties: { - type: { - serializedName: "type", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "TopLevelDomain", type: { - name: "Enum", - allowedValues: ["SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None"] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TopLevelDomain" + } + } } }, - tenantId: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "tenantId", + xmlName: "nextLink", type: { name: "String" } - }, - principalId: { - readOnly: true, - serializedName: "principalId", + } + } + } +}; + +export const TopLevelDomainAgreementOption: coreClient.CompositeMapper = { + serializedName: "TopLevelDomainAgreementOption", + type: { + name: "Composite", + className: "TopLevelDomainAgreementOption", + modelProperties: { + includePrivacy: { + serializedName: "includePrivacy", + xmlName: "includePrivacy", type: { - name: "String" + name: "Boolean" } }, - userAssignedIdentities: { - serializedName: "userAssignedIdentities", + forTransfer: { + serializedName: "forTransfer", + xmlName: "forTransfer", type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "ManagedServiceIdentityUserAssignedIdentitiesValue" - } - } + name: "Boolean" } } } } }; -export const SlotSwapStatus: msRest.CompositeMapper = { - serializedName: "SlotSwapStatus", +export const TldLegalAgreementCollection: coreClient.CompositeMapper = { + serializedName: "TldLegalAgreementCollection", type: { name: "Composite", - className: "SlotSwapStatus", + className: "TldLegalAgreementCollection", modelProperties: { - timestampUtc: { - readOnly: true, - serializedName: "timestampUtc", - type: { - name: "DateTime" - } - }, - sourceSlotName: { - readOnly: true, - serializedName: "sourceSlotName", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "TldLegalAgreement", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TldLegalAgreement" + } + } } }, - destinationSlotName: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "destinationSlotName", + xmlName: "nextLink", type: { name: "String" } @@ -1916,80 +1941,39 @@ export const SlotSwapStatus: msRest.CompositeMapper = { } }; -export const CloningInfo: msRest.CompositeMapper = { - serializedName: "CloningInfo", +export const TldLegalAgreement: coreClient.CompositeMapper = { + serializedName: "TldLegalAgreement", type: { name: "Composite", - className: "CloningInfo", + className: "TldLegalAgreement", modelProperties: { - correlationId: { - serializedName: "correlationId", - type: { - name: "Uuid" - } - }, - overwrite: { - serializedName: "overwrite", - type: { - name: "Boolean" - } - }, - cloneCustomHostNames: { - serializedName: "cloneCustomHostNames", - type: { - name: "Boolean" - } - }, - cloneSourceControl: { - serializedName: "cloneSourceControl", + agreementKey: { + serializedName: "agreementKey", + required: true, + xmlName: "agreementKey", type: { - name: "Boolean" + name: "String" } }, - sourceWebAppId: { + title: { + serializedName: "title", required: true, - serializedName: "sourceWebAppId", + xmlName: "title", type: { name: "String" } }, - sourceWebAppLocation: { - serializedName: "sourceWebAppLocation", + content: { + serializedName: "content", + required: true, + xmlName: "content", type: { name: "String" } }, - hostingEnvironment: { - serializedName: "hostingEnvironment", - type: { - name: "String" - } - }, - appSettingsOverrides: { - serializedName: "appSettingsOverrides", - type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } - } - }, - configureLoadBalancing: { - serializedName: "configureLoadBalancing", - type: { - name: "Boolean" - } - }, - trafficManagerProfileId: { - serializedName: "trafficManagerProfileId", - type: { - name: "String" - } - }, - trafficManagerProfileName: { - serializedName: "trafficManagerProfileName", + url: { + serializedName: "url", + xmlName: "url", type: { name: "String" } @@ -1998,28 +1982,31 @@ export const CloningInfo: msRest.CompositeMapper = { } }; -export const HostingEnvironmentProfile: msRest.CompositeMapper = { - serializedName: "HostingEnvironmentProfile", +export const AppServiceEnvironmentCollection: coreClient.CompositeMapper = { + serializedName: "AppServiceEnvironmentCollection", type: { name: "Composite", - className: "HostingEnvironmentProfile", + className: "AppServiceEnvironmentCollection", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - name: { - readOnly: true, - serializedName: "name", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "AppServiceEnvironmentResource", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AppServiceEnvironmentResource" + } + } } }, - type: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "type", + xmlName: "nextLink", type: { name: "String" } @@ -2028,149 +2015,189 @@ export const HostingEnvironmentProfile: msRest.CompositeMapper = { } }; -export const AzureStorageInfoValue: msRest.CompositeMapper = { - serializedName: "AzureStorageInfoValue", +export const AppServiceEnvironment: coreClient.CompositeMapper = { + serializedName: "AppServiceEnvironment", type: { name: "Composite", - className: "AzureStorageInfoValue", + className: "AppServiceEnvironment", modelProperties: { - type: { - serializedName: "type", + provisioningState: { + serializedName: "provisioningState", + readOnly: true, + xmlName: "provisioningState", type: { name: "Enum", - allowedValues: ["AzureFiles", "AzureBlob"] + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] } }, - accountName: { - serializedName: "accountName", + status: { + serializedName: "status", + readOnly: true, + xmlName: "status", type: { - name: "String" + name: "Enum", + allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"] } }, - shareName: { - serializedName: "shareName", + virtualNetwork: { + serializedName: "virtualNetwork", + xmlName: "virtualNetwork", type: { - name: "String" + name: "Composite", + className: "VirtualNetworkProfile" } }, - accessKey: { - serializedName: "accessKey", + internalLoadBalancingMode: { + serializedName: "internalLoadBalancingMode", + xmlName: "internalLoadBalancingMode", type: { name: "String" } }, - mountPath: { - serializedName: "mountPath", + multiSize: { + serializedName: "multiSize", + xmlName: "multiSize", type: { name: "String" } }, - state: { + multiRoleCount: { + serializedName: "multiRoleCount", readOnly: true, - serializedName: "state", - type: { - name: "Enum", - allowedValues: ["Ok", "InvalidCredentials", "InvalidShare", "NotValidated"] - } - } - } - } -}; - -export const IpSecurityRestriction: msRest.CompositeMapper = { - serializedName: "IpSecurityRestriction", - type: { - name: "Composite", - className: "IpSecurityRestriction", - modelProperties: { - ipAddress: { - serializedName: "ipAddress", + xmlName: "multiRoleCount", type: { - name: "String" + name: "Number" } }, - subnetMask: { - serializedName: "subnetMask", + ipsslAddressCount: { + serializedName: "ipsslAddressCount", + xmlName: "ipsslAddressCount", type: { - name: "String" + name: "Number" } }, - vnetSubnetResourceId: { - serializedName: "vnetSubnetResourceId", + dnsSuffix: { + serializedName: "dnsSuffix", + xmlName: "dnsSuffix", type: { name: "String" } }, - vnetTrafficTag: { - serializedName: "vnetTrafficTag", + maximumNumberOfMachines: { + serializedName: "maximumNumberOfMachines", + readOnly: true, + xmlName: "maximumNumberOfMachines", type: { name: "Number" } }, - subnetTrafficTag: { - serializedName: "subnetTrafficTag", + frontEndScaleFactor: { + serializedName: "frontEndScaleFactor", + xmlName: "frontEndScaleFactor", type: { name: "Number" } }, - action: { - serializedName: "action", + suspended: { + serializedName: "suspended", + readOnly: true, + xmlName: "suspended", type: { - name: "String" + name: "Boolean" } }, - tag: { - serializedName: "tag", + clusterSettings: { + serializedName: "clusterSettings", + xmlName: "clusterSettings", + xmlElementName: "NameValuePair", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } } }, - priority: { - serializedName: "priority", + userWhitelistedIpRanges: { + serializedName: "userWhitelistedIpRanges", + xmlName: "userWhitelistedIpRanges", + xmlElementName: "AppServiceEnvironmentUserWhitelistedIpRangesItem", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - name: { - serializedName: "name", + hasLinuxWorkers: { + serializedName: "hasLinuxWorkers", + readOnly: true, + xmlName: "hasLinuxWorkers", type: { - name: "String" + name: "Boolean" } }, - description: { - serializedName: "description", + dedicatedHostCount: { + serializedName: "dedicatedHostCount", + xmlName: "dedicatedHostCount", type: { - name: "String" + name: "Number" } }, - headers: { - serializedName: "headers", + zoneRedundant: { + serializedName: "zoneRedundant", + xmlName: "zoneRedundant", type: { - name: "Dictionary", - value: { - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - } + name: "Boolean" } } } } }; -export const ApiManagementConfig: msRest.CompositeMapper = { - serializedName: "ApiManagementConfig", +export const VirtualNetworkProfile: coreClient.CompositeMapper = { + serializedName: "VirtualNetworkProfile", type: { name: "Composite", - className: "ApiManagementConfig", + className: "VirtualNetworkProfile", modelProperties: { id: { serializedName: "id", + required: true, + xmlName: "id", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + xmlName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + xmlName: "type", + type: { + name: "String" + } + }, + subnet: { + serializedName: "subnet", + xmlName: "subnet", type: { name: "String" } @@ -2179,14 +2206,22 @@ export const ApiManagementConfig: msRest.CompositeMapper = { } }; -export const ApiDefinitionInfo: msRest.CompositeMapper = { - serializedName: "ApiDefinitionInfo", +export const NameValuePair: coreClient.CompositeMapper = { + serializedName: "NameValuePair", type: { name: "Composite", - className: "ApiDefinitionInfo", + className: "NameValuePair", modelProperties: { - url: { - serializedName: "url", + name: { + serializedName: "name", + xmlName: "name", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + xmlName: "value", type: { name: "String" } @@ -2195,191 +2230,178 @@ export const ApiDefinitionInfo: msRest.CompositeMapper = { } }; -export const CorsSettings: msRest.CompositeMapper = { - serializedName: "CorsSettings", +export const StampCapacityCollection: coreClient.CompositeMapper = { + serializedName: "StampCapacityCollection", type: { name: "Composite", - className: "CorsSettings", + className: "StampCapacityCollection", modelProperties: { - allowedOrigins: { - serializedName: "allowedOrigins", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "StampCapacity", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "StampCapacity" } } } }, - supportCredentials: { - serializedName: "supportCredentials", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Boolean" + name: "String" } } } } }; -export const AutoHealCustomAction: msRest.CompositeMapper = { - serializedName: "AutoHealCustomAction", +export const StampCapacity: coreClient.CompositeMapper = { + serializedName: "StampCapacity", type: { name: "Composite", - className: "AutoHealCustomAction", + className: "StampCapacity", modelProperties: { - exe: { - serializedName: "exe", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - parameters: { - serializedName: "parameters", + availableCapacity: { + serializedName: "availableCapacity", + xmlName: "availableCapacity", type: { - name: "String" - } - } - } - } -}; - -export const AutoHealActions: msRest.CompositeMapper = { - serializedName: "AutoHealActions", - type: { - name: "Composite", - className: "AutoHealActions", - modelProperties: { - actionType: { - serializedName: "actionType", - type: { - name: "Enum", - allowedValues: ["Recycle", "LogEvent", "CustomAction"] + name: "Number" } }, - customAction: { - serializedName: "customAction", + totalCapacity: { + serializedName: "totalCapacity", + xmlName: "totalCapacity", type: { - name: "Composite", - className: "AutoHealCustomAction" + name: "Number" } }, - minProcessExecutionTime: { - serializedName: "minProcessExecutionTime", + unit: { + serializedName: "unit", + xmlName: "unit", type: { name: "String" } - } - } - } -}; - -export const StatusCodesRangeBasedTrigger: msRest.CompositeMapper = { - serializedName: "StatusCodesRangeBasedTrigger", - type: { - name: "Composite", - className: "StatusCodesRangeBasedTrigger", - modelProperties: { - statusCodes: { - serializedName: "statusCodes", + }, + computeMode: { + serializedName: "computeMode", + xmlName: "computeMode", type: { - name: "String" + name: "Enum", + allowedValues: ["Shared", "Dedicated", "Dynamic"] } }, - path: { - serializedName: "path", + workerSize: { + serializedName: "workerSize", + xmlName: "workerSize", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Small", + "Medium", + "Large", + "D1", + "D2", + "D3", + "SmallV3", + "MediumV3", + "LargeV3", + "NestedSmall", + "NestedSmallLinux", + "Default" + ] } }, - count: { - serializedName: "count", + workerSizeId: { + serializedName: "workerSizeId", + xmlName: "workerSizeId", type: { name: "Number" } }, - timeInterval: { - serializedName: "timeInterval", - type: { - name: "String" - } - } - } - } -}; - -export const SlowRequestsBasedTrigger: msRest.CompositeMapper = { - serializedName: "SlowRequestsBasedTrigger", - type: { - name: "Composite", - className: "SlowRequestsBasedTrigger", - modelProperties: { - timeTaken: { - serializedName: "timeTaken", + excludeFromCapacityAllocation: { + serializedName: "excludeFromCapacityAllocation", + xmlName: "excludeFromCapacityAllocation", type: { - name: "String" + name: "Boolean" } }, - path: { - serializedName: "path", + isApplicableForAllComputeModes: { + serializedName: "isApplicableForAllComputeModes", + xmlName: "isApplicableForAllComputeModes", type: { - name: "String" + name: "Boolean" } }, - count: { - serializedName: "count", + siteMode: { + serializedName: "siteMode", + xmlName: "siteMode", type: { - name: "Number" + name: "String" } }, - timeInterval: { - serializedName: "timeInterval", + isLinux: { + serializedName: "isLinux", + xmlName: "isLinux", type: { - name: "String" + name: "Boolean" } } } } }; -export const StatusCodesBasedTrigger: msRest.CompositeMapper = { - serializedName: "StatusCodesBasedTrigger", +export const VirtualIPMapping: coreClient.CompositeMapper = { + serializedName: "VirtualIPMapping", type: { name: "Composite", - className: "StatusCodesBasedTrigger", + className: "VirtualIPMapping", modelProperties: { - status: { - serializedName: "status", - type: { - name: "Number" - } - }, - subStatus: { - serializedName: "subStatus", + virtualIP: { + serializedName: "virtualIP", + xmlName: "virtualIP", type: { - name: "Number" + name: "String" } }, - win32Status: { - serializedName: "win32Status", + internalHttpPort: { + serializedName: "internalHttpPort", + xmlName: "internalHttpPort", type: { name: "Number" } }, - count: { - serializedName: "count", + internalHttpsPort: { + serializedName: "internalHttpsPort", + xmlName: "internalHttpsPort", type: { name: "Number" } }, - timeInterval: { - serializedName: "timeInterval", + inUse: { + serializedName: "inUse", + xmlName: "inUse", type: { - name: "String" + name: "Boolean" } }, - path: { - serializedName: "path", + serviceName: { + serializedName: "serviceName", + xmlName: "serviceName", type: { name: "String" } @@ -2388,20 +2410,31 @@ export const StatusCodesBasedTrigger: msRest.CompositeMapper = { } }; -export const RequestsBasedTrigger: msRest.CompositeMapper = { - serializedName: "RequestsBasedTrigger", +export const WebAppCollection: coreClient.CompositeMapper = { + serializedName: "WebAppCollection", type: { name: "Composite", - className: "RequestsBasedTrigger", + className: "WebAppCollection", modelProperties: { - count: { - serializedName: "count", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "Site", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Site" + } + } } }, - timeInterval: { - serializedName: "timeInterval", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -2410,605 +2443,322 @@ export const RequestsBasedTrigger: msRest.CompositeMapper = { } }; -export const AutoHealTriggers: msRest.CompositeMapper = { - serializedName: "AutoHealTriggers", +export const HostNameSslState: coreClient.CompositeMapper = { + serializedName: "HostNameSslState", type: { name: "Composite", - className: "AutoHealTriggers", + className: "HostNameSslState", modelProperties: { - requests: { - serializedName: "requests", + name: { + serializedName: "name", + xmlName: "name", type: { - name: "Composite", - className: "RequestsBasedTrigger" + name: "String" } }, - privateBytesInKB: { - serializedName: "privateBytesInKB", + sslState: { + serializedName: "sslState", + xmlName: "sslState", type: { - name: "Number" + name: "Enum", + allowedValues: ["Disabled", "SniEnabled", "IpBasedEnabled"] } }, - statusCodes: { - serializedName: "statusCodes", + virtualIP: { + serializedName: "virtualIP", + xmlName: "virtualIP", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StatusCodesBasedTrigger" - } - } + name: "String" } }, - slowRequests: { - serializedName: "slowRequests", + thumbprint: { + serializedName: "thumbprint", + xmlName: "thumbprint", type: { - name: "Composite", - className: "SlowRequestsBasedTrigger" + name: "String" } }, - slowRequestsWithPath: { - serializedName: "slowRequestsWithPath", + toUpdate: { + serializedName: "toUpdate", + xmlName: "toUpdate", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SlowRequestsBasedTrigger" - } - } + name: "Boolean" } }, - statusCodesRange: { - serializedName: "statusCodesRange", + hostType: { + serializedName: "hostType", + xmlName: "hostType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StatusCodesRangeBasedTrigger" - } - } + name: "Enum", + allowedValues: ["Standard", "Repository"] } } } } }; -export const AutoHealRules: msRest.CompositeMapper = { - serializedName: "AutoHealRules", +export const SiteConfig: coreClient.CompositeMapper = { + serializedName: "SiteConfig", type: { name: "Composite", - className: "AutoHealRules", + className: "SiteConfig", modelProperties: { - triggers: { - serializedName: "triggers", + numberOfWorkers: { + serializedName: "numberOfWorkers", + xmlName: "numberOfWorkers", type: { - name: "Composite", - className: "AutoHealTriggers" + name: "Number" } }, - actions: { - serializedName: "actions", + defaultDocuments: { + serializedName: "defaultDocuments", + xmlName: "defaultDocuments", + xmlElementName: "SiteConfigDefaultDocumentsItem", type: { - name: "Composite", - className: "AutoHealActions" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - } - } - } -}; - -export const SiteLimits: msRest.CompositeMapper = { - serializedName: "SiteLimits", - type: { - name: "Composite", - className: "SiteLimits", - modelProperties: { - maxPercentageCpu: { - serializedName: "maxPercentageCpu", + }, + netFrameworkVersion: { + defaultValue: "v4.6", + serializedName: "netFrameworkVersion", + xmlName: "netFrameworkVersion", type: { - name: "Number" + name: "String" } }, - maxMemoryInMb: { - serializedName: "maxMemoryInMb", + phpVersion: { + serializedName: "phpVersion", + xmlName: "phpVersion", type: { - name: "Number" + name: "String" } }, - maxDiskSizeInMb: { - serializedName: "maxDiskSizeInMb", + pythonVersion: { + serializedName: "pythonVersion", + xmlName: "pythonVersion", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const RampUpRule: msRest.CompositeMapper = { - serializedName: "RampUpRule", - type: { - name: "Composite", - className: "RampUpRule", - modelProperties: { - actionHostName: { - serializedName: "actionHostName", + }, + nodeVersion: { + serializedName: "nodeVersion", + xmlName: "nodeVersion", type: { name: "String" } }, - reroutePercentage: { - serializedName: "reroutePercentage", + powerShellVersion: { + serializedName: "powerShellVersion", + xmlName: "powerShellVersion", type: { - name: "Number" + name: "String" } }, - changeStep: { - serializedName: "changeStep", + linuxFxVersion: { + serializedName: "linuxFxVersion", + xmlName: "linuxFxVersion", type: { - name: "Number" + name: "String" } }, - changeIntervalInMinutes: { - serializedName: "changeIntervalInMinutes", + windowsFxVersion: { + serializedName: "windowsFxVersion", + xmlName: "windowsFxVersion", type: { - name: "Number" + name: "String" } }, - minReroutePercentage: { - serializedName: "minReroutePercentage", + requestTracingEnabled: { + serializedName: "requestTracingEnabled", + xmlName: "requestTracingEnabled", type: { - name: "Number" + name: "Boolean" } }, - maxReroutePercentage: { - serializedName: "maxReroutePercentage", + requestTracingExpirationTime: { + serializedName: "requestTracingExpirationTime", + xmlName: "requestTracingExpirationTime", type: { - name: "Number" + name: "DateTime" } }, - changeDecisionCallbackUrl: { - serializedName: "changeDecisionCallbackUrl", + remoteDebuggingEnabled: { + serializedName: "remoteDebuggingEnabled", + xmlName: "remoteDebuggingEnabled", type: { - name: "String" + name: "Boolean" } }, - name: { - serializedName: "name", + remoteDebuggingVersion: { + serializedName: "remoteDebuggingVersion", + xmlName: "remoteDebuggingVersion", type: { name: "String" } - } - } - } -}; - -export const Experiments: msRest.CompositeMapper = { - serializedName: "Experiments", - type: { - name: "Composite", - className: "Experiments", - modelProperties: { - rampUpRules: { - serializedName: "rampUpRules", + }, + httpLoggingEnabled: { + serializedName: "httpLoggingEnabled", + xmlName: "httpLoggingEnabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RampUpRule" - } - } + name: "Boolean" } - } - } - } -}; - -export const VirtualDirectory: msRest.CompositeMapper = { - serializedName: "VirtualDirectory", - type: { - name: "Composite", - className: "VirtualDirectory", - modelProperties: { - virtualPath: { - serializedName: "virtualPath", + }, + acrUseManagedIdentityCreds: { + serializedName: "acrUseManagedIdentityCreds", + xmlName: "acrUseManagedIdentityCreds", type: { - name: "String" + name: "Boolean" } }, - physicalPath: { - serializedName: "physicalPath", + acrUserManagedIdentityID: { + serializedName: "acrUserManagedIdentityID", + xmlName: "acrUserManagedIdentityID", type: { name: "String" } - } - } - } -}; - -export const VirtualApplication: msRest.CompositeMapper = { - serializedName: "VirtualApplication", - type: { - name: "Composite", - className: "VirtualApplication", - modelProperties: { - virtualPath: { - serializedName: "virtualPath", + }, + logsDirectorySizeLimit: { + serializedName: "logsDirectorySizeLimit", + xmlName: "logsDirectorySizeLimit", type: { - name: "String" + name: "Number" } }, - physicalPath: { - serializedName: "physicalPath", + detailedErrorLoggingEnabled: { + serializedName: "detailedErrorLoggingEnabled", + xmlName: "detailedErrorLoggingEnabled", + type: { + name: "Boolean" + } + }, + publishingUsername: { + serializedName: "publishingUsername", + xmlName: "publishingUsername", type: { name: "String" } }, - preloadEnabled: { - serializedName: "preloadEnabled", + appSettings: { + serializedName: "appSettings", + xmlName: "appSettings", + xmlElementName: "NameValuePair", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } } }, - virtualDirectories: { - serializedName: "virtualDirectories", + connectionStrings: { + serializedName: "connectionStrings", + xmlName: "connectionStrings", + xmlElementName: "ConnStringInfo", type: { name: "Sequence", element: { type: { name: "Composite", - className: "VirtualDirectory" + className: "ConnStringInfo" } } } - } - } - } -}; - -export const HandlerMapping: msRest.CompositeMapper = { - serializedName: "HandlerMapping", - type: { - name: "Composite", - className: "HandlerMapping", - modelProperties: { - extension: { - serializedName: "extension", + }, + machineKey: { + serializedName: "machineKey", + xmlName: "machineKey", type: { - name: "String" + name: "Composite", + className: "SiteMachineKey" } }, - scriptProcessor: { - serializedName: "scriptProcessor", + handlerMappings: { + serializedName: "handlerMappings", + xmlName: "handlerMappings", + xmlElementName: "HandlerMapping", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HandlerMapping" + } + } } }, - argumentsProperty: { - serializedName: "arguments", + documentRoot: { + serializedName: "documentRoot", + xmlName: "documentRoot", type: { name: "String" } - } - } - } -}; - -export const SiteMachineKey: msRest.CompositeMapper = { - serializedName: "SiteMachineKey", - type: { - name: "Composite", - className: "SiteMachineKey", - modelProperties: { - validation: { - serializedName: "validation", + }, + scmType: { + serializedName: "scmType", + xmlName: "scmType", type: { name: "String" } }, - validationKey: { - serializedName: "validationKey", + use32BitWorkerProcess: { + serializedName: "use32BitWorkerProcess", + xmlName: "use32BitWorkerProcess", type: { - name: "String" + name: "Boolean" } }, - decryption: { - serializedName: "decryption", + webSocketsEnabled: { + serializedName: "webSocketsEnabled", + xmlName: "webSocketsEnabled", type: { - name: "String" + name: "Boolean" } }, - decryptionKey: { - serializedName: "decryptionKey", + alwaysOn: { + serializedName: "alwaysOn", + xmlName: "alwaysOn", + type: { + name: "Boolean" + } + }, + javaVersion: { + serializedName: "javaVersion", + xmlName: "javaVersion", type: { name: "String" } - } - } - } -}; - -export const ConnStringInfo: msRest.CompositeMapper = { - serializedName: "ConnStringInfo", - type: { - name: "Composite", - className: "ConnStringInfo", - modelProperties: { - name: { - serializedName: "name", + }, + javaContainer: { + serializedName: "javaContainer", + xmlName: "javaContainer", type: { name: "String" } }, - connectionString: { - serializedName: "connectionString", + javaContainerVersion: { + serializedName: "javaContainerVersion", + xmlName: "javaContainerVersion", type: { name: "String" } }, - type: { - serializedName: "type", - type: { - name: "Enum", - allowedValues: [ - "MySql", - "SQLServer", - "SQLAzure", - "Custom", - "NotificationHub", - "ServiceBus", - "EventHub", - "ApiHub", - "DocDb", - "RedisCache", - "PostgreSQL" - ] - } - } - } - } -}; - -export const NameValuePair: msRest.CompositeMapper = { - serializedName: "NameValuePair", - type: { - name: "Composite", - className: "NameValuePair", - modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, - value: { - serializedName: "value", - type: { - name: "String" - } - } - } - } -}; - -export const SiteConfig: msRest.CompositeMapper = { - serializedName: "SiteConfig", - type: { - name: "Composite", - className: "SiteConfig", - modelProperties: { - numberOfWorkers: { - serializedName: "numberOfWorkers", - type: { - name: "Number" - } - }, - defaultDocuments: { - serializedName: "defaultDocuments", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - netFrameworkVersion: { - serializedName: "netFrameworkVersion", - defaultValue: "v4.6", - type: { - name: "String" - } - }, - phpVersion: { - serializedName: "phpVersion", - type: { - name: "String" - } - }, - pythonVersion: { - serializedName: "pythonVersion", - type: { - name: "String" - } - }, - nodeVersion: { - serializedName: "nodeVersion", - type: { - name: "String" - } - }, - powerShellVersion: { - serializedName: "powerShellVersion", - type: { - name: "String" - } - }, - linuxFxVersion: { - serializedName: "linuxFxVersion", - type: { - name: "String" - } - }, - windowsFxVersion: { - serializedName: "windowsFxVersion", - type: { - name: "String" - } - }, - requestTracingEnabled: { - serializedName: "requestTracingEnabled", - type: { - name: "Boolean" - } - }, - requestTracingExpirationTime: { - serializedName: "requestTracingExpirationTime", - type: { - name: "DateTime" - } - }, - remoteDebuggingEnabled: { - serializedName: "remoteDebuggingEnabled", - type: { - name: "Boolean" - } - }, - remoteDebuggingVersion: { - serializedName: "remoteDebuggingVersion", - type: { - name: "String" - } - }, - httpLoggingEnabled: { - serializedName: "httpLoggingEnabled", - type: { - name: "Boolean" - } - }, - logsDirectorySizeLimit: { - serializedName: "logsDirectorySizeLimit", - type: { - name: "Number" - } - }, - detailedErrorLoggingEnabled: { - serializedName: "detailedErrorLoggingEnabled", - type: { - name: "Boolean" - } - }, - publishingUsername: { - serializedName: "publishingUsername", - type: { - name: "String" - } - }, - appSettings: { - serializedName: "appSettings", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NameValuePair" - } - } - } - }, - connectionStrings: { - serializedName: "connectionStrings", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ConnStringInfo" - } - } - } - }, - machineKey: { - readOnly: true, - serializedName: "machineKey", - type: { - name: "Composite", - className: "SiteMachineKey" - } - }, - handlerMappings: { - serializedName: "handlerMappings", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HandlerMapping" - } - } - } - }, - documentRoot: { - serializedName: "documentRoot", - type: { - name: "String" - } - }, - scmType: { - serializedName: "scmType", - type: { - name: "String" - } - }, - use32BitWorkerProcess: { - serializedName: "use32BitWorkerProcess", - type: { - name: "Boolean" - } - }, - webSocketsEnabled: { - serializedName: "webSocketsEnabled", - type: { - name: "Boolean" - } - }, - alwaysOn: { - serializedName: "alwaysOn", - type: { - name: "Boolean" - } - }, - javaVersion: { - serializedName: "javaVersion", - type: { - name: "String" - } - }, - javaContainer: { - serializedName: "javaContainer", - type: { - name: "String" - } - }, - javaContainerVersion: { - serializedName: "javaContainerVersion", - type: { - name: "String" - } - }, - appCommandLine: { - serializedName: "appCommandLine", + appCommandLine: { + serializedName: "appCommandLine", + xmlName: "appCommandLine", type: { name: "String" } }, managedPipelineMode: { serializedName: "managedPipelineMode", + xmlName: "managedPipelineMode", type: { name: "Enum", allowedValues: ["Integrated", "Classic"] @@ -3016,6 +2766,8 @@ export const SiteConfig: msRest.CompositeMapper = { }, virtualApplications: { serializedName: "virtualApplications", + xmlName: "virtualApplications", + xmlElementName: "VirtualApplication", type: { name: "Sequence", element: { @@ -3028,6 +2780,7 @@ export const SiteConfig: msRest.CompositeMapper = { }, loadBalancing: { serializedName: "loadBalancing", + xmlName: "loadBalancing", type: { name: "Enum", allowedValues: [ @@ -3042,6 +2795,7 @@ export const SiteConfig: msRest.CompositeMapper = { }, experiments: { serializedName: "experiments", + xmlName: "experiments", type: { name: "Composite", className: "Experiments" @@ -3049,6 +2803,7 @@ export const SiteConfig: msRest.CompositeMapper = { }, limits: { serializedName: "limits", + xmlName: "limits", type: { name: "Composite", className: "SiteLimits" @@ -3056,12 +2811,14 @@ export const SiteConfig: msRest.CompositeMapper = { }, autoHealEnabled: { serializedName: "autoHealEnabled", + xmlName: "autoHealEnabled", type: { name: "Boolean" } }, autoHealRules: { serializedName: "autoHealRules", + xmlName: "autoHealRules", type: { name: "Composite", className: "AutoHealRules" @@ -3069,30 +2826,35 @@ export const SiteConfig: msRest.CompositeMapper = { }, tracingOptions: { serializedName: "tracingOptions", + xmlName: "tracingOptions", type: { name: "String" } }, vnetName: { serializedName: "vnetName", + xmlName: "vnetName", type: { name: "String" } }, vnetRouteAllEnabled: { serializedName: "vnetRouteAllEnabled", + xmlName: "vnetRouteAllEnabled", type: { name: "Boolean" } }, vnetPrivatePortsCount: { serializedName: "vnetPrivatePortsCount", + xmlName: "vnetPrivatePortsCount", type: { name: "Number" } }, cors: { serializedName: "cors", + xmlName: "cors", type: { name: "Composite", className: "CorsSettings" @@ -3100,6 +2862,7 @@ export const SiteConfig: msRest.CompositeMapper = { }, push: { serializedName: "push", + xmlName: "push", type: { name: "Composite", className: "PushSettings" @@ -3107,6 +2870,7 @@ export const SiteConfig: msRest.CompositeMapper = { }, apiDefinition: { serializedName: "apiDefinition", + xmlName: "apiDefinition", type: { name: "Composite", className: "ApiDefinitionInfo" @@ -3114,6 +2878,7 @@ export const SiteConfig: msRest.CompositeMapper = { }, apiManagementConfig: { serializedName: "apiManagementConfig", + xmlName: "apiManagementConfig", type: { name: "Composite", className: "ApiManagementConfig" @@ -3121,37 +2886,43 @@ export const SiteConfig: msRest.CompositeMapper = { }, autoSwapSlotName: { serializedName: "autoSwapSlotName", + xmlName: "autoSwapSlotName", type: { name: "String" } }, localMySqlEnabled: { serializedName: "localMySqlEnabled", - defaultValue: false, + xmlName: "localMySqlEnabled", type: { name: "Boolean" } }, managedServiceIdentityId: { serializedName: "managedServiceIdentityId", + xmlName: "managedServiceIdentityId", type: { name: "Number" } }, xManagedServiceIdentityId: { serializedName: "xManagedServiceIdentityId", + xmlName: "xManagedServiceIdentityId", type: { name: "Number" } }, keyVaultReferenceIdentity: { serializedName: "keyVaultReferenceIdentity", + xmlName: "keyVaultReferenceIdentity", type: { name: "String" } }, ipSecurityRestrictions: { serializedName: "ipSecurityRestrictions", + xmlName: "ipSecurityRestrictions", + xmlElementName: "IpSecurityRestriction", type: { name: "Sequence", element: { @@ -3164,6 +2935,8 @@ export const SiteConfig: msRest.CompositeMapper = { }, scmIpSecurityRestrictions: { serializedName: "scmIpSecurityRestrictions", + xmlName: "scmIpSecurityRestrictions", + xmlElementName: "IpSecurityRestriction", type: { name: "Sequence", element: { @@ -3176,96 +2949,106 @@ export const SiteConfig: msRest.CompositeMapper = { }, scmIpSecurityRestrictionsUseMain: { serializedName: "scmIpSecurityRestrictionsUseMain", + xmlName: "scmIpSecurityRestrictionsUseMain", type: { name: "Boolean" } }, http20Enabled: { - serializedName: "http20Enabled", defaultValue: true, + serializedName: "http20Enabled", + xmlName: "http20Enabled", type: { name: "Boolean" } }, minTlsVersion: { serializedName: "minTlsVersion", + xmlName: "minTlsVersion", type: { name: "String" } }, scmMinTlsVersion: { serializedName: "scmMinTlsVersion", + xmlName: "scmMinTlsVersion", type: { name: "String" } }, ftpsState: { serializedName: "ftpsState", + xmlName: "ftpsState", type: { name: "String" } }, preWarmedInstanceCount: { - serializedName: "preWarmedInstanceCount", constraints: { InclusiveMaximum: 10, InclusiveMinimum: 0 }, + serializedName: "preWarmedInstanceCount", + xmlName: "preWarmedInstanceCount", type: { name: "Number" } }, functionAppScaleLimit: { - serializedName: "functionAppScaleLimit", constraints: { InclusiveMinimum: 0 }, + serializedName: "functionAppScaleLimit", + xmlName: "functionAppScaleLimit", type: { name: "Number" } }, healthCheckPath: { serializedName: "healthCheckPath", + xmlName: "healthCheckPath", type: { name: "String" } }, functionsRuntimeScaleMonitoringEnabled: { serializedName: "functionsRuntimeScaleMonitoringEnabled", + xmlName: "functionsRuntimeScaleMonitoringEnabled", type: { name: "Boolean" } }, websiteTimeZone: { serializedName: "websiteTimeZone", + xmlName: "websiteTimeZone", type: { name: "String" } }, minimumElasticInstanceCount: { - serializedName: "minimumElasticInstanceCount", constraints: { InclusiveMaximum: 20, InclusiveMinimum: 0 }, + serializedName: "minimumElasticInstanceCount", + xmlName: "minimumElasticInstanceCount", type: { name: "Number" } }, azureStorageAccounts: { serializedName: "azureStorageAccounts", + xmlName: "azureStorageAccounts", type: { name: "Dictionary", value: { - type: { - name: "Composite", - className: "AzureStorageInfoValue" - } + type: { name: "Composite", className: "AzureStorageInfoValue" } } } }, publicNetworkAccess: { serializedName: "publicNetworkAccess", + xmlName: "publicNetworkAccess", type: { name: "String" } @@ -3274,389 +3057,554 @@ export const SiteConfig: msRest.CompositeMapper = { } }; -export const HostNameSslState: msRest.CompositeMapper = { - serializedName: "HostNameSslState", +export const ConnStringInfo: coreClient.CompositeMapper = { + serializedName: "ConnStringInfo", type: { name: "Composite", - className: "HostNameSslState", + className: "ConnStringInfo", modelProperties: { name: { serializedName: "name", + xmlName: "name", type: { name: "String" } }, - sslState: { - serializedName: "sslState", + connectionString: { + serializedName: "connectionString", + xmlName: "connectionString", type: { - name: "Enum", - allowedValues: ["Disabled", "SniEnabled", "IpBasedEnabled"] + name: "String" } }, - virtualIP: { - serializedName: "virtualIP", + type: { + serializedName: "type", + xmlName: "type", + type: { + name: "Enum", + allowedValues: [ + "MySql", + "SQLServer", + "SQLAzure", + "Custom", + "NotificationHub", + "ServiceBus", + "EventHub", + "ApiHub", + "DocDb", + "RedisCache", + "PostgreSQL" + ] + } + } + } + } +}; + +export const SiteMachineKey: coreClient.CompositeMapper = { + serializedName: "SiteMachineKey", + type: { + name: "Composite", + className: "SiteMachineKey", + modelProperties: { + validation: { + serializedName: "validation", + xmlName: "validation", type: { name: "String" } }, - thumbprint: { - serializedName: "thumbprint", + validationKey: { + serializedName: "validationKey", + xmlName: "validationKey", type: { name: "String" } }, - toUpdate: { - serializedName: "toUpdate", + decryption: { + serializedName: "decryption", + xmlName: "decryption", type: { - name: "Boolean" + name: "String" } }, - hostType: { - serializedName: "hostType", + decryptionKey: { + serializedName: "decryptionKey", + xmlName: "decryptionKey", type: { - name: "Enum", - allowedValues: ["Standard", "Repository"] + name: "String" } } } } }; -export const Site: msRest.CompositeMapper = { - serializedName: "Site", +export const HandlerMapping: coreClient.CompositeMapper = { + serializedName: "HandlerMapping", type: { name: "Composite", - className: "Site", + className: "HandlerMapping", modelProperties: { - ...Resource.type.modelProperties, - state: { - readOnly: true, - serializedName: "properties.state", + extension: { + serializedName: "extension", + xmlName: "extension", type: { name: "String" } }, - hostNames: { - readOnly: true, - serializedName: "properties.hostNames", + scriptProcessor: { + serializedName: "scriptProcessor", + xmlName: "scriptProcessor", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - repositorySiteName: { - readOnly: true, - serializedName: "properties.repositorySiteName", + arguments: { + serializedName: "arguments", + xmlName: "arguments", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualApplication: coreClient.CompositeMapper = { + serializedName: "VirtualApplication", + type: { + name: "Composite", + className: "VirtualApplication", + modelProperties: { + virtualPath: { + serializedName: "virtualPath", + xmlName: "virtualPath", type: { name: "String" } }, - usageState: { - readOnly: true, - serializedName: "properties.usageState", + physicalPath: { + serializedName: "physicalPath", + xmlName: "physicalPath", type: { - name: "Enum", - allowedValues: ["Normal", "Exceeded"] + name: "String" } }, - enabled: { - serializedName: "properties.enabled", + preloadEnabled: { + serializedName: "preloadEnabled", + xmlName: "preloadEnabled", type: { name: "Boolean" } }, - enabledHostNames: { - readOnly: true, - serializedName: "properties.enabledHostNames", + virtualDirectories: { + serializedName: "virtualDirectories", + xmlName: "virtualDirectories", + xmlElementName: "VirtualDirectory", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "VirtualDirectory" } } } - }, - availabilityState: { - readOnly: true, - serializedName: "properties.availabilityState", + } + } + } +}; + +export const VirtualDirectory: coreClient.CompositeMapper = { + serializedName: "VirtualDirectory", + type: { + name: "Composite", + className: "VirtualDirectory", + modelProperties: { + virtualPath: { + serializedName: "virtualPath", + xmlName: "virtualPath", type: { - name: "Enum", - allowedValues: ["Normal", "Limited", "DisasterRecoveryMode"] + name: "String" } }, - hostNameSslStates: { - serializedName: "properties.hostNameSslStates", + physicalPath: { + serializedName: "physicalPath", + xmlName: "physicalPath", + type: { + name: "String" + } + } + } + } +}; + +export const Experiments: coreClient.CompositeMapper = { + serializedName: "Experiments", + type: { + name: "Composite", + className: "Experiments", + modelProperties: { + rampUpRules: { + serializedName: "rampUpRules", + xmlName: "rampUpRules", + xmlElementName: "RampUpRule", type: { name: "Sequence", element: { type: { name: "Composite", - className: "HostNameSslState" + className: "RampUpRule" } } } - }, - serverFarmId: { - serializedName: "properties.serverFarmId", + } + } + } +}; + +export const RampUpRule: coreClient.CompositeMapper = { + serializedName: "RampUpRule", + type: { + name: "Composite", + className: "RampUpRule", + modelProperties: { + actionHostName: { + serializedName: "actionHostName", + xmlName: "actionHostName", type: { name: "String" } }, - reserved: { - serializedName: "properties.reserved", - defaultValue: false, + reroutePercentage: { + serializedName: "reroutePercentage", + xmlName: "reroutePercentage", type: { - name: "Boolean" + name: "Number" } }, - isXenon: { - serializedName: "properties.isXenon", - defaultValue: false, + changeStep: { + serializedName: "changeStep", + xmlName: "changeStep", type: { - name: "Boolean" + name: "Number" } }, - hyperV: { - serializedName: "properties.hyperV", - defaultValue: false, + changeIntervalInMinutes: { + serializedName: "changeIntervalInMinutes", + xmlName: "changeIntervalInMinutes", type: { - name: "Boolean" + name: "Number" } }, - lastModifiedTimeUtc: { - readOnly: true, - serializedName: "properties.lastModifiedTimeUtc", + minReroutePercentage: { + serializedName: "minReroutePercentage", + xmlName: "minReroutePercentage", type: { - name: "DateTime" + name: "Number" } }, - siteConfig: { - serializedName: "properties.siteConfig", + maxReroutePercentage: { + serializedName: "maxReroutePercentage", + xmlName: "maxReroutePercentage", type: { - name: "Composite", - className: "SiteConfig" + name: "Number" } }, - trafficManagerHostNames: { - readOnly: true, - serializedName: "properties.trafficManagerHostNames", + changeDecisionCallbackUrl: { + serializedName: "changeDecisionCallbackUrl", + xmlName: "changeDecisionCallbackUrl", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - scmSiteAlsoStopped: { - serializedName: "properties.scmSiteAlsoStopped", - defaultValue: false, + name: { + serializedName: "name", + xmlName: "name", type: { - name: "Boolean" + name: "String" } - }, - targetSwapSlot: { - readOnly: true, - serializedName: "properties.targetSwapSlot", + } + } + } +}; + +export const SiteLimits: coreClient.CompositeMapper = { + serializedName: "SiteLimits", + type: { + name: "Composite", + className: "SiteLimits", + modelProperties: { + maxPercentageCpu: { + serializedName: "maxPercentageCpu", + xmlName: "maxPercentageCpu", type: { - name: "String" + name: "Number" } }, - hostingEnvironmentProfile: { - serializedName: "properties.hostingEnvironmentProfile", + maxMemoryInMb: { + serializedName: "maxMemoryInMb", + xmlName: "maxMemoryInMb", type: { - name: "Composite", - className: "HostingEnvironmentProfile" + name: "Number" } }, - clientAffinityEnabled: { - serializedName: "properties.clientAffinityEnabled", + maxDiskSizeInMb: { + serializedName: "maxDiskSizeInMb", + xmlName: "maxDiskSizeInMb", type: { - name: "Boolean" + name: "Number" } - }, - clientCertEnabled: { - serializedName: "properties.clientCertEnabled", + } + } + } +}; + +export const AutoHealRules: coreClient.CompositeMapper = { + serializedName: "AutoHealRules", + type: { + name: "Composite", + className: "AutoHealRules", + modelProperties: { + triggers: { + serializedName: "triggers", + xmlName: "triggers", type: { - name: "Boolean" + name: "Composite", + className: "AutoHealTriggers" } }, - clientCertMode: { - serializedName: "properties.clientCertMode", + actions: { + serializedName: "actions", + xmlName: "actions", type: { - name: "Enum", - allowedValues: ["Required", "Optional", "OptionalInteractiveUser"] + name: "Composite", + className: "AutoHealActions" } - }, - clientCertExclusionPaths: { - serializedName: "properties.clientCertExclusionPaths", + } + } + } +}; + +export const AutoHealTriggers: coreClient.CompositeMapper = { + serializedName: "AutoHealTriggers", + type: { + name: "Composite", + className: "AutoHealTriggers", + modelProperties: { + requests: { + serializedName: "requests", + xmlName: "requests", type: { - name: "String" + name: "Composite", + className: "RequestsBasedTrigger" } }, - hostNamesDisabled: { - serializedName: "properties.hostNamesDisabled", + privateBytesInKB: { + serializedName: "privateBytesInKB", + xmlName: "privateBytesInKB", type: { - name: "Boolean" + name: "Number" } }, - customDomainVerificationId: { - serializedName: "properties.customDomainVerificationId", + statusCodes: { + serializedName: "statusCodes", + xmlName: "statusCodes", + xmlElementName: "StatusCodesBasedTrigger", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StatusCodesBasedTrigger" + } + } } }, - outboundIpAddresses: { - readOnly: true, - serializedName: "properties.outboundIpAddresses", + slowRequests: { + serializedName: "slowRequests", + xmlName: "slowRequests", type: { - name: "String" + name: "Composite", + className: "SlowRequestsBasedTrigger" } }, - possibleOutboundIpAddresses: { - readOnly: true, - serializedName: "properties.possibleOutboundIpAddresses", + slowRequestsWithPath: { + serializedName: "slowRequestsWithPath", + xmlName: "slowRequestsWithPath", + xmlElementName: "SlowRequestsBasedTrigger", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SlowRequestsBasedTrigger" + } + } } }, - containerSize: { - serializedName: "properties.containerSize", + statusCodesRange: { + serializedName: "statusCodesRange", + xmlName: "statusCodesRange", + xmlElementName: "StatusCodesRangeBasedTrigger", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StatusCodesRangeBasedTrigger" + } + } } - }, - dailyMemoryTimeQuota: { - serializedName: "properties.dailyMemoryTimeQuota", + } + } + } +}; + +export const RequestsBasedTrigger: coreClient.CompositeMapper = { + serializedName: "RequestsBasedTrigger", + type: { + name: "Composite", + className: "RequestsBasedTrigger", + modelProperties: { + count: { + serializedName: "count", + xmlName: "count", type: { name: "Number" } }, - suspendedTill: { - readOnly: true, - serializedName: "properties.suspendedTill", + timeInterval: { + serializedName: "timeInterval", + xmlName: "timeInterval", type: { - name: "DateTime" + name: "String" } - }, - maxNumberOfWorkers: { - readOnly: true, - serializedName: "properties.maxNumberOfWorkers", + } + } + } +}; + +export const StatusCodesBasedTrigger: coreClient.CompositeMapper = { + serializedName: "StatusCodesBasedTrigger", + type: { + name: "Composite", + className: "StatusCodesBasedTrigger", + modelProperties: { + status: { + serializedName: "status", + xmlName: "status", type: { name: "Number" } }, - cloningInfo: { - serializedName: "properties.cloningInfo", + subStatus: { + serializedName: "subStatus", + xmlName: "subStatus", type: { - name: "Composite", - className: "CloningInfo" + name: "Number" } }, - resourceGroup: { - readOnly: true, - serializedName: "properties.resourceGroup", + win32Status: { + serializedName: "win32Status", + xmlName: "win32Status", type: { - name: "String" + name: "Number" } }, - isDefaultContainer: { - readOnly: true, - serializedName: "properties.isDefaultContainer", + count: { + serializedName: "count", + xmlName: "count", type: { - name: "Boolean" + name: "Number" } }, - defaultHostName: { - readOnly: true, - serializedName: "properties.defaultHostName", + timeInterval: { + serializedName: "timeInterval", + xmlName: "timeInterval", type: { name: "String" } }, - slotSwapStatus: { - readOnly: true, - serializedName: "properties.slotSwapStatus", - type: { - name: "Composite", - className: "SlotSwapStatus" - } - }, - httpsOnly: { - serializedName: "properties.httpsOnly", - type: { - name: "Boolean" - } - }, - redundancyMode: { - serializedName: "properties.redundancyMode", - type: { - name: "Enum", - allowedValues: ["None", "Manual", "Failover", "ActiveActive", "GeoRedundant"] - } - }, - inProgressOperationId: { - readOnly: true, - serializedName: "properties.inProgressOperationId", + path: { + serializedName: "path", + xmlName: "path", type: { - name: "Uuid" + name: "String" } - }, - storageAccountRequired: { - serializedName: "properties.storageAccountRequired", + } + } + } +}; + +export const SlowRequestsBasedTrigger: coreClient.CompositeMapper = { + serializedName: "SlowRequestsBasedTrigger", + type: { + name: "Composite", + className: "SlowRequestsBasedTrigger", + modelProperties: { + timeTaken: { + serializedName: "timeTaken", + xmlName: "timeTaken", type: { - name: "Boolean" + name: "String" } }, - keyVaultReferenceIdentity: { - serializedName: "properties.keyVaultReferenceIdentity", + path: { + serializedName: "path", + xmlName: "path", type: { name: "String" } }, - virtualNetworkSubnetId: { - serializedName: "properties.virtualNetworkSubnetId", + count: { + serializedName: "count", + xmlName: "count", type: { - name: "String" + name: "Number" } }, - identity: { - serializedName: "identity", + timeInterval: { + serializedName: "timeInterval", + xmlName: "timeInterval", type: { - name: "Composite", - className: "ManagedServiceIdentity" + name: "String" } } } } }; -export const Capability: msRest.CompositeMapper = { - serializedName: "Capability", +export const StatusCodesRangeBasedTrigger: coreClient.CompositeMapper = { + serializedName: "StatusCodesRangeBasedTrigger", type: { name: "Composite", - className: "Capability", + className: "StatusCodesRangeBasedTrigger", modelProperties: { - name: { - serializedName: "name", + statusCodes: { + serializedName: "statusCodes", + xmlName: "statusCodes", type: { name: "String" } }, - value: { - serializedName: "value", + path: { + serializedName: "path", + xmlName: "path", type: { name: "String" } }, - reason: { - serializedName: "reason", + count: { + serializedName: "count", + xmlName: "count", + type: { + name: "Number" + } + }, + timeInterval: { + serializedName: "timeInterval", + xmlName: "timeInterval", type: { name: "String" } @@ -3665,38 +3613,31 @@ export const Capability: msRest.CompositeMapper = { } }; -export const SkuCapacity: msRest.CompositeMapper = { - serializedName: "SkuCapacity", +export const AutoHealActions: coreClient.CompositeMapper = { + serializedName: "AutoHealActions", type: { name: "Composite", - className: "SkuCapacity", + className: "AutoHealActions", modelProperties: { - minimum: { - serializedName: "minimum", + actionType: { + serializedName: "actionType", + xmlName: "actionType", type: { - name: "Number" - } - }, - maximum: { - serializedName: "maximum", - type: { - name: "Number" - } - }, - elasticMaximum: { - serializedName: "elasticMaximum", - type: { - name: "Number" + name: "Enum", + allowedValues: ["Recycle", "LogEvent", "CustomAction"] } }, - default: { - serializedName: "default", + customAction: { + serializedName: "customAction", + xmlName: "customAction", type: { - name: "Number" + name: "Composite", + className: "AutoHealCustomAction" } }, - scaleType: { - serializedName: "scaleType", + minProcessExecutionTime: { + serializedName: "minProcessExecutionTime", + xmlName: "minProcessExecutionTime", type: { name: "String" } @@ -3705,51 +3646,40 @@ export const SkuCapacity: msRest.CompositeMapper = { } }; -export const SkuDescription: msRest.CompositeMapper = { - serializedName: "SkuDescription", +export const AutoHealCustomAction: coreClient.CompositeMapper = { + serializedName: "AutoHealCustomAction", type: { name: "Composite", - className: "SkuDescription", + className: "AutoHealCustomAction", modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, - tier: { - serializedName: "tier", - type: { - name: "String" - } - }, - size: { - serializedName: "size", + exe: { + serializedName: "exe", + xmlName: "exe", type: { name: "String" } }, - family: { - serializedName: "family", + parameters: { + serializedName: "parameters", + xmlName: "parameters", type: { name: "String" } - }, - capacity: { - serializedName: "capacity", - type: { - name: "Number" - } - }, - skuCapacity: { - serializedName: "skuCapacity", - type: { - name: "Composite", - className: "SkuCapacity" - } - }, - locations: { - serializedName: "locations", + } + } + } +}; + +export const CorsSettings: coreClient.CompositeMapper = { + serializedName: "CorsSettings", + type: { + name: "Composite", + className: "CorsSettings", + modelProperties: { + allowedOrigins: { + serializedName: "allowedOrigins", + xmlName: "allowedOrigins", + xmlElementName: "CorsSettingsAllowedOriginsItem", type: { name: "Sequence", element: { @@ -3759,44 +3689,43 @@ export const SkuDescription: msRest.CompositeMapper = { } } }, - capabilities: { - serializedName: "capabilities", + supportCredentials: { + serializedName: "supportCredentials", + xmlName: "supportCredentials", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Capability" - } - } + name: "Boolean" } } } } }; -export const KubeEnvironmentProfile: msRest.CompositeMapper = { - serializedName: "KubeEnvironmentProfile", +export const ApiDefinitionInfo: coreClient.CompositeMapper = { + serializedName: "ApiDefinitionInfo", type: { name: "Composite", - className: "KubeEnvironmentProfile", + className: "ApiDefinitionInfo", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - name: { - readOnly: true, - serializedName: "name", + url: { + serializedName: "url", + xmlName: "url", type: { name: "String" } - }, - type: { - readOnly: true, - serializedName: "type", + } + } + } +}; + +export const ApiManagementConfig: coreClient.CompositeMapper = { + serializedName: "ApiManagementConfig", + type: { + name: "Composite", + className: "ApiManagementConfig", + modelProperties: { + id: { + serializedName: "id", + xmlName: "id", type: { name: "String" } @@ -3805,182 +3734,181 @@ export const KubeEnvironmentProfile: msRest.CompositeMapper = { } }; -export const AppServicePlan: msRest.CompositeMapper = { - serializedName: "AppServicePlan", +export const IpSecurityRestriction: coreClient.CompositeMapper = { + serializedName: "IpSecurityRestriction", type: { name: "Composite", - className: "AppServicePlan", + className: "IpSecurityRestriction", modelProperties: { - ...Resource.type.modelProperties, - workerTierName: { - serializedName: "properties.workerTierName", + ipAddress: { + serializedName: "ipAddress", + xmlName: "ipAddress", type: { name: "String" } }, - status: { - readOnly: true, - serializedName: "properties.status", + subnetMask: { + serializedName: "subnetMask", + xmlName: "subnetMask", type: { - name: "Enum", - allowedValues: ["Ready", "Pending", "Creating"] + name: "String" } }, - subscription: { - readOnly: true, - serializedName: "properties.subscription", + vnetSubnetResourceId: { + serializedName: "vnetSubnetResourceId", + xmlName: "vnetSubnetResourceId", type: { name: "String" } }, - hostingEnvironmentProfile: { - serializedName: "properties.hostingEnvironmentProfile", + vnetTrafficTag: { + serializedName: "vnetTrafficTag", + xmlName: "vnetTrafficTag", type: { - name: "Composite", - className: "HostingEnvironmentProfile" + name: "Number" } }, - maximumNumberOfWorkers: { - readOnly: true, - serializedName: "properties.maximumNumberOfWorkers", + subnetTrafficTag: { + serializedName: "subnetTrafficTag", + xmlName: "subnetTrafficTag", type: { name: "Number" } }, - geoRegion: { - readOnly: true, - serializedName: "properties.geoRegion", + action: { + serializedName: "action", + xmlName: "action", type: { name: "String" } }, - perSiteScaling: { - serializedName: "properties.perSiteScaling", - defaultValue: false, + tag: { + serializedName: "tag", + xmlName: "tag", type: { - name: "Boolean" + name: "String" } }, - maximumElasticWorkerCount: { - serializedName: "properties.maximumElasticWorkerCount", + priority: { + serializedName: "priority", + xmlName: "priority", type: { name: "Number" } }, - numberOfSites: { - readOnly: true, - serializedName: "properties.numberOfSites", + name: { + serializedName: "name", + xmlName: "name", type: { - name: "Number" + name: "String" } }, - isSpot: { - serializedName: "properties.isSpot", + description: { + serializedName: "description", + xmlName: "description", type: { - name: "Boolean" + name: "String" } }, - spotExpirationTime: { - serializedName: "properties.spotExpirationTime", + headers: { + serializedName: "headers", + xmlName: "headers", type: { - name: "DateTime" + name: "Dictionary", + value: { + type: { name: "Sequence", element: { type: { name: "String" } } } + } } - }, - freeOfferExpirationTime: { - serializedName: "properties.freeOfferExpirationTime", + } + } + } +}; + +export const AzureStorageInfoValue: coreClient.CompositeMapper = { + serializedName: "AzureStorageInfoValue", + type: { + name: "Composite", + className: "AzureStorageInfoValue", + modelProperties: { + type: { + serializedName: "type", + xmlName: "type", type: { - name: "DateTime" + name: "Enum", + allowedValues: ["AzureFiles", "AzureBlob"] } }, - resourceGroup: { - readOnly: true, - serializedName: "properties.resourceGroup", + accountName: { + serializedName: "accountName", + xmlName: "accountName", type: { name: "String" } }, - reserved: { - serializedName: "properties.reserved", - defaultValue: false, - type: { - name: "Boolean" - } - }, - isXenon: { - serializedName: "properties.isXenon", - defaultValue: false, - type: { - name: "Boolean" - } - }, - hyperV: { - serializedName: "properties.hyperV", - defaultValue: false, + shareName: { + serializedName: "shareName", + xmlName: "shareName", type: { - name: "Boolean" + name: "String" } }, - targetWorkerCount: { - serializedName: "properties.targetWorkerCount", + accessKey: { + serializedName: "accessKey", + xmlName: "accessKey", type: { - name: "Number" + name: "String" } }, - targetWorkerSizeId: { - serializedName: "properties.targetWorkerSizeId", + mountPath: { + serializedName: "mountPath", + xmlName: "mountPath", type: { - name: "Number" + name: "String" } }, - provisioningState: { + state: { + serializedName: "state", readOnly: true, - serializedName: "properties.provisioningState", + xmlName: "state", type: { name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] - } - }, - kubeEnvironmentProfile: { - serializedName: "properties.kubeEnvironmentProfile", - type: { - name: "Composite", - className: "KubeEnvironmentProfile" - } - }, - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "SkuDescription" + allowedValues: [ + "Ok", + "InvalidCredentials", + "InvalidShare", + "NotValidated" + ] } } } } }; -export const DefaultErrorResponseErrorDetailsItem: msRest.CompositeMapper = { - serializedName: "DefaultErrorResponse_error_detailsItem", +export const HostingEnvironmentProfile: coreClient.CompositeMapper = { + serializedName: "HostingEnvironmentProfile", type: { name: "Composite", - className: "DefaultErrorResponseErrorDetailsItem", + className: "HostingEnvironmentProfile", modelProperties: { - code: { - readOnly: true, - serializedName: "code", + id: { + serializedName: "id", + xmlName: "id", type: { name: "String" } }, - message: { + name: { + serializedName: "name", readOnly: true, - serializedName: "message", + xmlName: "name", type: { name: "String" } }, - target: { + type: { + serializedName: "type", readOnly: true, - serializedName: "target", + xmlName: "type", type: { name: "String" } @@ -3989,48 +3917,87 @@ export const DefaultErrorResponseErrorDetailsItem: msRest.CompositeMapper = { } }; -export const DefaultErrorResponseError: msRest.CompositeMapper = { - serializedName: "DefaultErrorResponse_error", +export const CloningInfo: coreClient.CompositeMapper = { + serializedName: "CloningInfo", type: { name: "Composite", - className: "DefaultErrorResponseError", + className: "CloningInfo", modelProperties: { - code: { - readOnly: true, - serializedName: "code", + correlationId: { + serializedName: "correlationId", + xmlName: "correlationId", + type: { + name: "Uuid" + } + }, + overwrite: { + serializedName: "overwrite", + xmlName: "overwrite", + type: { + name: "Boolean" + } + }, + cloneCustomHostNames: { + serializedName: "cloneCustomHostNames", + xmlName: "cloneCustomHostNames", + type: { + name: "Boolean" + } + }, + cloneSourceControl: { + serializedName: "cloneSourceControl", + xmlName: "cloneSourceControl", + type: { + name: "Boolean" + } + }, + sourceWebAppId: { + serializedName: "sourceWebAppId", + required: true, + xmlName: "sourceWebAppId", type: { name: "String" } }, - message: { - readOnly: true, - serializedName: "message", + sourceWebAppLocation: { + serializedName: "sourceWebAppLocation", + xmlName: "sourceWebAppLocation", type: { name: "String" } }, - target: { - readOnly: true, - serializedName: "target", + hostingEnvironment: { + serializedName: "hostingEnvironment", + xmlName: "hostingEnvironment", type: { name: "String" } }, - details: { - serializedName: "details", + appSettingsOverrides: { + serializedName: "appSettingsOverrides", + xmlName: "appSettingsOverrides", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DefaultErrorResponseErrorDetailsItem" - } - } + name: "Dictionary", + value: { type: { name: "String" } } } }, - innererror: { - readOnly: true, - serializedName: "innererror", + configureLoadBalancing: { + serializedName: "configureLoadBalancing", + xmlName: "configureLoadBalancing", + type: { + name: "Boolean" + } + }, + trafficManagerProfileId: { + serializedName: "trafficManagerProfileId", + xmlName: "trafficManagerProfileId", + type: { + name: "String" + } + }, + trafficManagerProfileName: { + serializedName: "trafficManagerProfileName", + xmlName: "trafficManagerProfileName", type: { name: "String" } @@ -4039,32 +4006,32 @@ export const DefaultErrorResponseError: msRest.CompositeMapper = { } }; -export const DefaultErrorResponse: msRest.CompositeMapper = { - serializedName: "DefaultErrorResponse", +export const SlotSwapStatus: coreClient.CompositeMapper = { + serializedName: "SlotSwapStatus", type: { name: "Composite", - className: "DefaultErrorResponse", + className: "SlotSwapStatus", modelProperties: { - error: { + timestampUtc: { + serializedName: "timestampUtc", readOnly: true, - serializedName: "error", + xmlName: "timestampUtc", type: { - name: "Composite", - className: "DefaultErrorResponseError" + name: "DateTime" } - } - } - } -}; - -export const NameIdentifier: msRest.CompositeMapper = { - serializedName: "NameIdentifier", - type: { - name: "Composite", - className: "NameIdentifier", - modelProperties: { - name: { - serializedName: "name", + }, + sourceSlotName: { + serializedName: "sourceSlotName", + readOnly: true, + xmlName: "sourceSlotName", + type: { + name: "String" + } + }, + destinationSlotName: { + serializedName: "destinationSlotName", + readOnly: true, + xmlName: "destinationSlotName", type: { name: "String" } @@ -4073,54 +4040,73 @@ export const NameIdentifier: msRest.CompositeMapper = { } }; -export const LogSpecification: msRest.CompositeMapper = { - serializedName: "LogSpecification", +export const ManagedServiceIdentity: coreClient.CompositeMapper = { + serializedName: "ManagedServiceIdentity", type: { name: "Composite", - className: "LogSpecification", + className: "ManagedServiceIdentity", modelProperties: { - name: { - serializedName: "name", + type: { + serializedName: "type", + xmlName: "type", type: { - name: "String" + name: "Enum", + allowedValues: [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] } }, - displayName: { - serializedName: "displayName", + tenantId: { + serializedName: "tenantId", + readOnly: true, + xmlName: "tenantId", type: { name: "String" } }, - blobDuration: { - serializedName: "blobDuration", + principalId: { + serializedName: "principalId", + readOnly: true, + xmlName: "principalId", type: { name: "String" } }, - logFilterPattern: { - serializedName: "logFilterPattern", + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + xmlName: "userAssignedIdentities", type: { - name: "String" + name: "Dictionary", + value: { + type: { name: "Composite", className: "UserAssignedIdentity" } + } } } } } }; -export const MetricAvailability: msRest.CompositeMapper = { - serializedName: "MetricAvailability", +export const UserAssignedIdentity: coreClient.CompositeMapper = { + serializedName: "UserAssignedIdentity", type: { name: "Composite", - className: "MetricAvailability", + className: "UserAssignedIdentity", modelProperties: { - timeGrain: { - serializedName: "timeGrain", + principalId: { + serializedName: "principalId", + readOnly: true, + xmlName: "principalId", type: { name: "String" } }, - blobDuration: { - serializedName: "blobDuration", + clientId: { + serializedName: "clientId", + readOnly: true, + xmlName: "clientId", type: { name: "String" } @@ -4129,161 +4115,217 @@ export const MetricAvailability: msRest.CompositeMapper = { } }; -export const Dimension: msRest.CompositeMapper = { - serializedName: "Dimension", +export const ExtendedLocation: coreClient.CompositeMapper = { + serializedName: "ExtendedLocation", type: { name: "Composite", - className: "Dimension", + className: "ExtendedLocation", modelProperties: { name: { serializedName: "name", + xmlName: "name", type: { name: "String" } }, - displayName: { - serializedName: "displayName", - type: { - name: "String" - } - }, - internalName: { - serializedName: "internalName", + type: { + serializedName: "type", + readOnly: true, + xmlName: "type", type: { name: "String" } - }, - toBeExportedForShoebox: { - serializedName: "toBeExportedForShoebox", - type: { - name: "Boolean" - } } } } }; -export const MetricSpecification: msRest.CompositeMapper = { - serializedName: "MetricSpecification", +export const HostingEnvironmentDiagnostics: coreClient.CompositeMapper = { + serializedName: "HostingEnvironmentDiagnostics", type: { name: "Composite", - className: "MetricSpecification", + className: "HostingEnvironmentDiagnostics", modelProperties: { name: { serializedName: "name", + xmlName: "name", type: { name: "String" } }, - displayName: { - serializedName: "displayName", + diagnosticsOutput: { + serializedName: "diagnosticsOutput", + xmlName: "diagnosticsOutput", type: { name: "String" } - }, - displayDescription: { - serializedName: "displayDescription", + } + } + } +}; + +export const InboundEnvironmentEndpointCollection: coreClient.CompositeMapper = { + serializedName: "InboundEnvironmentEndpointCollection", + type: { + name: "Composite", + className: "InboundEnvironmentEndpointCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "InboundEnvironmentEndpoint", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InboundEnvironmentEndpoint" + } + } } }, - unit: { - serializedName: "unit", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - aggregationType: { - serializedName: "aggregationType", + } + } + } +}; + +export const InboundEnvironmentEndpoint: coreClient.CompositeMapper = { + serializedName: "InboundEnvironmentEndpoint", + type: { + name: "Composite", + className: "InboundEnvironmentEndpoint", + modelProperties: { + description: { + serializedName: "description", + xmlName: "description", type: { name: "String" } }, - supportsInstanceLevelAggregation: { - serializedName: "supportsInstanceLevelAggregation", + endpoints: { + serializedName: "endpoints", + xmlName: "endpoints", + xmlElementName: "InboundEnvironmentEndpointEndpointsItem", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - enableRegionalMdmAccount: { - serializedName: "enableRegionalMdmAccount", - type: { - name: "Boolean" - } - }, - sourceMdmAccount: { - serializedName: "sourceMdmAccount", + ports: { + serializedName: "ports", + xmlName: "ports", + xmlElementName: "InboundEnvironmentEndpointPortsItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - }, - sourceMdmNamespace: { - serializedName: "sourceMdmNamespace", + } + } + } +}; + +export const WorkerPoolCollection: coreClient.CompositeMapper = { + serializedName: "WorkerPoolCollection", + type: { + name: "Composite", + className: "WorkerPoolCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "WorkerPoolResource", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "WorkerPoolResource" + } + } } }, - metricFilterPattern: { - serializedName: "metricFilterPattern", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - fillGapWithZero: { - serializedName: "fillGapWithZero", + } + } + } +}; + +export const SkuDescription: coreClient.CompositeMapper = { + serializedName: "SkuDescription", + type: { + name: "Composite", + className: "SkuDescription", + modelProperties: { + name: { + serializedName: "name", + xmlName: "name", type: { - name: "Boolean" + name: "String" } }, - isInternal: { - serializedName: "isInternal", + tier: { + serializedName: "tier", + xmlName: "tier", type: { - name: "Boolean" + name: "String" } }, - dimensions: { - serializedName: "dimensions", + size: { + serializedName: "size", + xmlName: "size", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Dimension" - } - } + name: "String" } }, - category: { - serializedName: "category", + family: { + serializedName: "family", + xmlName: "family", type: { name: "String" } }, - availabilities: { - serializedName: "availabilities", + capacity: { + serializedName: "capacity", + xmlName: "capacity", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MetricAvailability" - } - } + name: "Number" } }, - supportedTimeGrainTypes: { - serializedName: "supportedTimeGrainTypes", + skuCapacity: { + serializedName: "skuCapacity", + xmlName: "skuCapacity", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "SkuCapacity" } }, - supportedAggregationTypes: { - serializedName: "supportedAggregationTypes", + locations: { + serializedName: "locations", + xmlName: "locations", + xmlElementName: "SkuDescriptionLocationsItem", type: { name: "Sequence", element: { @@ -4292,37 +4334,17 @@ export const MetricSpecification: msRest.CompositeMapper = { } } } - } - } - } -}; - -export const ServiceSpecification: msRest.CompositeMapper = { - serializedName: "ServiceSpecification", - type: { - name: "Composite", - className: "ServiceSpecification", - modelProperties: { - metricSpecifications: { - serializedName: "metricSpecifications", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MetricSpecification" - } - } - } }, - logSpecifications: { - serializedName: "logSpecifications", + capabilities: { + serializedName: "capabilities", + xmlName: "capabilities", + xmlElementName: "Capability", type: { name: "Sequence", element: { type: { name: "Composite", - className: "LogSpecification" + className: "Capability" } } } @@ -4331,49 +4353,43 @@ export const ServiceSpecification: msRest.CompositeMapper = { } }; -export const CsmOperationDescriptionProperties: msRest.CompositeMapper = { - serializedName: "CsmOperationDescriptionProperties", +export const SkuCapacity: coreClient.CompositeMapper = { + serializedName: "SkuCapacity", type: { name: "Composite", - className: "CsmOperationDescriptionProperties", + className: "SkuCapacity", modelProperties: { - serviceSpecification: { - serializedName: "serviceSpecification", + minimum: { + serializedName: "minimum", + xmlName: "minimum", type: { - name: "Composite", - className: "ServiceSpecification" + name: "Number" } - } - } - } -}; - -export const CsmOperationDisplay: msRest.CompositeMapper = { - serializedName: "CsmOperationDisplay", - type: { - name: "Composite", - className: "CsmOperationDisplay", - modelProperties: { - provider: { - serializedName: "provider", + }, + maximum: { + serializedName: "maximum", + xmlName: "maximum", type: { - name: "String" + name: "Number" } }, - resource: { - serializedName: "resource", + elasticMaximum: { + serializedName: "elasticMaximum", + xmlName: "elasticMaximum", type: { - name: "String" + name: "Number" } }, - operation: { - serializedName: "operation", + default: { + serializedName: "default", + xmlName: "default", type: { - name: "String" + name: "Number" } }, - description: { - serializedName: "description", + scaleType: { + serializedName: "scaleType", + xmlName: "scaleType", type: { name: "String" } @@ -4382,85 +4398,62 @@ export const CsmOperationDisplay: msRest.CompositeMapper = { } }; -export const CsmOperationDescription: msRest.CompositeMapper = { - serializedName: "CsmOperationDescription", +export const Capability: coreClient.CompositeMapper = { + serializedName: "Capability", type: { name: "Composite", - className: "CsmOperationDescription", + className: "Capability", modelProperties: { name: { serializedName: "name", + xmlName: "name", type: { name: "String" } }, - display: { - serializedName: "display", - type: { - name: "Composite", - className: "CsmOperationDisplay" - } - }, - origin: { - serializedName: "origin", + value: { + serializedName: "value", + xmlName: "value", type: { name: "String" } }, - properties: { - serializedName: "properties", + reason: { + serializedName: "reason", + xmlName: "reason", type: { - name: "Composite", - className: "CsmOperationDescriptionProperties" + name: "String" } } } } }; -export const Address: msRest.CompositeMapper = { - serializedName: "Address", +export const ResourceMetricDefinitionCollection: coreClient.CompositeMapper = { + serializedName: "ResourceMetricDefinitionCollection", type: { name: "Composite", - className: "Address", + className: "ResourceMetricDefinitionCollection", modelProperties: { - address1: { - required: true, - serializedName: "address1", - type: { - name: "String" - } - }, - address2: { - serializedName: "address2", - type: { - name: "String" - } - }, - city: { - required: true, - serializedName: "city", - type: { - name: "String" - } - }, - country: { - required: true, - serializedName: "country", - type: { - name: "String" - } - }, - postalCode: { + value: { + serializedName: "value", required: true, - serializedName: "postalCode", + xmlName: "value", + xmlElementName: "ResourceMetricDefinition", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceMetricDefinition" + } + } } }, - state: { - required: true, - serializedName: "state", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -4469,67 +4462,24 @@ export const Address: msRest.CompositeMapper = { } }; -export const Contact: msRest.CompositeMapper = { - serializedName: "Contact", +export const ResourceMetricAvailability: coreClient.CompositeMapper = { + serializedName: "ResourceMetricAvailability", type: { name: "Composite", - className: "Contact", + className: "ResourceMetricAvailability", modelProperties: { - addressMailing: { - serializedName: "addressMailing", - type: { - name: "Composite", - className: "Address" - } - }, - email: { - required: true, - serializedName: "email", - type: { - name: "String" - } - }, - fax: { - serializedName: "fax", - type: { - name: "String" - } - }, - jobTitle: { - serializedName: "jobTitle", - type: { - name: "String" - } - }, - nameFirst: { - required: true, - serializedName: "nameFirst", - type: { - name: "String" - } - }, - nameLast: { - required: true, - serializedName: "nameLast", - type: { - name: "String" - } - }, - nameMiddle: { - serializedName: "nameMiddle", - type: { - name: "String" - } - }, - organization: { - serializedName: "organization", + timeGrain: { + serializedName: "timeGrain", + readOnly: true, + xmlName: "timeGrain", type: { name: "String" } }, - phone: { - required: true, - serializedName: "phone", + retention: { + serializedName: "retention", + readOnly: true, + xmlName: "retention", type: { name: "String" } @@ -4538,278 +4488,263 @@ export const Contact: msRest.CompositeMapper = { } }; -export const HostName: msRest.CompositeMapper = { - serializedName: "HostName", +export const SkuInfoCollection: coreClient.CompositeMapper = { + serializedName: "SkuInfoCollection", type: { name: "Composite", - className: "HostName", + className: "SkuInfoCollection", modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, - siteNames: { - serializedName: "siteNames", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "SkuInfo", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "SkuInfo" } } } }, - azureResourceName: { - serializedName: "azureResourceName", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - azureResourceType: { - serializedName: "azureResourceType", + } + } + } +}; + +export const SkuInfo: coreClient.CompositeMapper = { + serializedName: "SkuInfo", + type: { + name: "Composite", + className: "SkuInfo", + modelProperties: { + resourceType: { + serializedName: "resourceType", + xmlName: "resourceType", type: { - name: "Enum", - allowedValues: ["Website", "TrafficManager"] + name: "String" } }, - customHostNameDnsRecordType: { - serializedName: "customHostNameDnsRecordType", + sku: { + serializedName: "sku", + xmlName: "sku", type: { - name: "Enum", - allowedValues: ["CName", "A"] + name: "Composite", + className: "SkuDescription" } }, - hostNameType: { - serializedName: "hostNameType", + capacity: { + serializedName: "capacity", + xmlName: "capacity", type: { - name: "Enum", - allowedValues: ["Verified", "Managed"] + name: "Composite", + className: "SkuCapacity" } } } } }; -export const DomainPurchaseConsent: msRest.CompositeMapper = { - serializedName: "DomainPurchaseConsent", +export const UsageCollection: coreClient.CompositeMapper = { + serializedName: "UsageCollection", type: { name: "Composite", - className: "DomainPurchaseConsent", + className: "UsageCollection", modelProperties: { - agreementKeys: { - serializedName: "agreementKeys", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "Usage", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "Usage" } } } }, - agreedBy: { - serializedName: "agreedBy", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - agreedAt: { - serializedName: "agreedAt", - type: { - name: "DateTime" - } } } } }; -export const Domain: msRest.CompositeMapper = { - serializedName: "Domain", +export const Operation: coreClient.CompositeMapper = { + serializedName: "Operation", type: { name: "Composite", - className: "Domain", + className: "Operation", modelProperties: { - ...Resource.type.modelProperties, - contactAdmin: { - required: true, - serializedName: "properties.contactAdmin", - type: { - name: "Composite", - className: "Contact" - } - }, - contactBilling: { - required: true, - serializedName: "properties.contactBilling", - type: { - name: "Composite", - className: "Contact" - } - }, - contactRegistrant: { - required: true, - serializedName: "properties.contactRegistrant", + id: { + serializedName: "id", + xmlName: "id", type: { - name: "Composite", - className: "Contact" + name: "String" } }, - contactTech: { - required: true, - serializedName: "properties.contactTech", + name: { + serializedName: "name", + xmlName: "name", type: { - name: "Composite", - className: "Contact" + name: "String" } }, - registrationStatus: { - readOnly: true, - serializedName: "properties.registrationStatus", + status: { + serializedName: "status", + xmlName: "status", type: { name: "Enum", allowedValues: [ - "Active", - "Awaiting", - "Cancelled", - "Confiscated", - "Disabled", - "Excluded", - "Expired", + "InProgress", "Failed", - "Held", - "Locked", - "Parked", - "Pending", - "Reserved", - "Reverted", - "Suspended", - "Transferred", - "Unknown", - "Unlocked", - "Unparked", - "Updated", - "JsonConverterFailed" + "Succeeded", + "TimedOut", + "Created" ] } }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", - type: { - name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] - } - }, - nameServers: { - readOnly: true, - serializedName: "properties.nameServers", + errors: { + serializedName: "errors", + xmlName: "errors", + xmlElementName: "ErrorEntity", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ErrorEntity" } } } }, - privacy: { - serializedName: "properties.privacy", + createdTime: { + serializedName: "createdTime", + xmlName: "createdTime", type: { - name: "Boolean" + name: "DateTime" } }, - createdTime: { - readOnly: true, - serializedName: "properties.createdTime", + modifiedTime: { + serializedName: "modifiedTime", + xmlName: "modifiedTime", type: { name: "DateTime" } }, expirationTime: { - readOnly: true, - serializedName: "properties.expirationTime", + serializedName: "expirationTime", + xmlName: "expirationTime", type: { name: "DateTime" } }, - lastRenewedTime: { - readOnly: true, - serializedName: "properties.lastRenewedTime", + geoMasterOperationId: { + serializedName: "geoMasterOperationId", + xmlName: "geoMasterOperationId", type: { - name: "DateTime" + name: "Uuid" } - }, - autoRenew: { - serializedName: "properties.autoRenew", - defaultValue: true, + } + } + } +}; + +export const ErrorEntity: coreClient.CompositeMapper = { + serializedName: "ErrorEntity", + type: { + name: "Composite", + className: "ErrorEntity", + modelProperties: { + extendedCode: { + serializedName: "extendedCode", + xmlName: "extendedCode", type: { - name: "Boolean" + name: "String" } }, - readyForDnsRecordManagement: { - readOnly: true, - serializedName: "properties.readyForDnsRecordManagement", + messageTemplate: { + serializedName: "messageTemplate", + xmlName: "messageTemplate", type: { - name: "Boolean" + name: "String" } }, - managedHostNames: { - readOnly: true, - serializedName: "properties.managedHostNames", + parameters: { + serializedName: "parameters", + xmlName: "parameters", + xmlElementName: "ErrorEntityParametersItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "HostName" + name: "String" } } } }, - consent: { - required: true, - serializedName: "properties.consent", - type: { - name: "Composite", - className: "DomainPurchaseConsent" - } - }, - domainNotRenewableReasons: { - readOnly: true, - serializedName: "properties.domainNotRenewableReasons", + innerErrors: { + serializedName: "innerErrors", + xmlName: "innerErrors", + xmlElementName: "ErrorEntity", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ErrorEntity" } } } }, - dnsType: { - serializedName: "properties.dnsType", + details: { + serializedName: "details", + xmlName: "details", + xmlElementName: "ErrorEntity", type: { - name: "Enum", - allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorEntity" + } + } } }, - dnsZoneId: { - serializedName: "properties.dnsZoneId", + target: { + serializedName: "target", + xmlName: "target", type: { name: "String" } }, - targetDnsType: { - serializedName: "properties.targetDnsType", + code: { + serializedName: "code", + xmlName: "code", type: { - name: "Enum", - allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"] + name: "String" } }, - authCode: { - serializedName: "properties.authCode", + message: { + serializedName: "message", + xmlName: "message", type: { name: "String" } @@ -4818,268 +4753,213 @@ export const Domain: msRest.CompositeMapper = { } }; -export const DomainAvailabilityCheckResult: msRest.CompositeMapper = { - serializedName: "DomainAvailabilityCheckResult", +export const OutboundEnvironmentEndpointCollection: coreClient.CompositeMapper = { + serializedName: "OutboundEnvironmentEndpointCollection", type: { name: "Composite", - className: "DomainAvailabilityCheckResult", + className: "OutboundEnvironmentEndpointCollection", modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, - available: { - serializedName: "available", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "OutboundEnvironmentEndpoint", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OutboundEnvironmentEndpoint" + } + } } }, - domainType: { - serializedName: "domainType", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Enum", - allowedValues: ["Regular", "SoftDeleted"] + name: "String" } } } } }; -export const DomainControlCenterSsoRequest: msRest.CompositeMapper = { - serializedName: "DomainControlCenterSsoRequest", +export const OutboundEnvironmentEndpoint: coreClient.CompositeMapper = { + serializedName: "OutboundEnvironmentEndpoint", type: { name: "Composite", - className: "DomainControlCenterSsoRequest", + className: "OutboundEnvironmentEndpoint", modelProperties: { - url: { - readOnly: true, - serializedName: "url", - type: { - name: "String" - } - }, - postParameterKey: { - readOnly: true, - serializedName: "postParameterKey", + category: { + serializedName: "category", + xmlName: "category", type: { name: "String" } }, - postParameterValue: { - readOnly: true, - serializedName: "postParameterValue", + endpoints: { + serializedName: "endpoints", + xmlName: "endpoints", + xmlElementName: "EndpointDependency", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EndpointDependency" + } + } } } } } }; -export const DomainOwnershipIdentifier: msRest.CompositeMapper = { - serializedName: "DomainOwnershipIdentifier", +export const EndpointDependency: coreClient.CompositeMapper = { + serializedName: "EndpointDependency", type: { name: "Composite", - className: "DomainOwnershipIdentifier", + className: "EndpointDependency", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - ownershipId: { - serializedName: "properties.ownershipId", + domainName: { + serializedName: "domainName", + xmlName: "domainName", type: { name: "String" } + }, + endpointDetails: { + serializedName: "endpointDetails", + xmlName: "endpointDetails", + xmlElementName: "EndpointDetail", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EndpointDetail" + } + } + } } } } }; -export const DomainPatchResource: msRest.CompositeMapper = { - serializedName: "DomainPatchResource", +export const EndpointDetail: coreClient.CompositeMapper = { + serializedName: "EndpointDetail", type: { name: "Composite", - className: "DomainPatchResource", + className: "EndpointDetail", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - contactAdmin: { - required: true, - serializedName: "properties.contactAdmin", - type: { - name: "Composite", - className: "Contact" - } - }, - contactBilling: { - required: true, - serializedName: "properties.contactBilling", - type: { - name: "Composite", - className: "Contact" - } - }, - contactRegistrant: { - required: true, - serializedName: "properties.contactRegistrant", + ipAddress: { + serializedName: "ipAddress", + xmlName: "ipAddress", type: { - name: "Composite", - className: "Contact" + name: "String" } }, - contactTech: { - required: true, - serializedName: "properties.contactTech", + port: { + serializedName: "port", + xmlName: "port", type: { - name: "Composite", - className: "Contact" + name: "Number" } }, - registrationStatus: { - readOnly: true, - serializedName: "properties.registrationStatus", + latency: { + serializedName: "latency", + xmlName: "latency", type: { - name: "Enum", - allowedValues: [ - "Active", - "Awaiting", - "Cancelled", - "Confiscated", - "Disabled", - "Excluded", - "Expired", - "Failed", - "Held", - "Locked", - "Parked", - "Pending", - "Reserved", - "Reverted", - "Suspended", - "Transferred", - "Unknown", - "Unlocked", - "Unparked", - "Updated", - "JsonConverterFailed" - ] + name: "Number" } }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + isAccessible: { + serializedName: "isAccessible", + xmlName: "isAccessible", type: { - name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] + name: "Boolean" } - }, - nameServers: { - readOnly: true, - serializedName: "properties.nameServers", + } + } + } +}; + +export const PrivateEndpointConnectionCollection: coreClient.CompositeMapper = { + serializedName: "PrivateEndpointConnectionCollection", + type: { + name: "Composite", + className: "PrivateEndpointConnectionCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "RemotePrivateEndpointConnectionARMResource", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "RemotePrivateEndpointConnectionARMResource" } } } }, - privacy: { - serializedName: "properties.privacy", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Boolean" + name: "String" } - }, - createdTime: { + } + } + } +}; + +export const ArmIdWrapper: coreClient.CompositeMapper = { + serializedName: "ArmIdWrapper", + type: { + name: "Composite", + className: "ArmIdWrapper", + modelProperties: { + id: { + serializedName: "id", readOnly: true, - serializedName: "properties.createdTime", + xmlName: "id", type: { - name: "DateTime" - } - }, - expirationTime: { - readOnly: true, - serializedName: "properties.expirationTime", - type: { - name: "DateTime" - } - }, - lastRenewedTime: { - readOnly: true, - serializedName: "properties.lastRenewedTime", - type: { - name: "DateTime" - } - }, - autoRenew: { - serializedName: "properties.autoRenew", - defaultValue: true, - type: { - name: "Boolean" - } - }, - readyForDnsRecordManagement: { - readOnly: true, - serializedName: "properties.readyForDnsRecordManagement", - type: { - name: "Boolean" - } - }, - managedHostNames: { - readOnly: true, - serializedName: "properties.managedHostNames", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HostName" - } - } - } - }, - consent: { - required: true, - serializedName: "properties.consent", - type: { - name: "Composite", - className: "DomainPurchaseConsent" - } - }, - domainNotRenewableReasons: { - readOnly: true, - serializedName: "properties.domainNotRenewableReasons", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - dnsType: { - serializedName: "properties.dnsType", - type: { - name: "Enum", - allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"] + name: "String" } - }, - dnsZoneId: { - serializedName: "properties.dnsZoneId", + } + } + } +}; + +export const PrivateLinkConnectionState: coreClient.CompositeMapper = { + serializedName: "PrivateLinkConnectionState", + type: { + name: "Composite", + className: "PrivateLinkConnectionState", + modelProperties: { + status: { + serializedName: "status", + xmlName: "status", type: { name: "String" } }, - targetDnsType: { - serializedName: "properties.targetDnsType", + description: { + serializedName: "description", + xmlName: "description", type: { - name: "Enum", - allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"] + name: "String" } }, - authCode: { - serializedName: "properties.authCode", + actionsRequired: { + serializedName: "actionsRequired", + xmlName: "actionsRequired", type: { name: "String" } @@ -5088,265 +4968,345 @@ export const DomainPatchResource: msRest.CompositeMapper = { } }; -export const DomainRecommendationSearchParameters: msRest.CompositeMapper = { - serializedName: "DomainRecommendationSearchParameters", +export const PrivateLinkResourcesWrapper: coreClient.CompositeMapper = { + serializedName: "PrivateLinkResourcesWrapper", type: { name: "Composite", - className: "DomainRecommendationSearchParameters", + className: "PrivateLinkResourcesWrapper", modelProperties: { - keywords: { - serializedName: "keywords", - type: { - name: "String" - } - }, - maxDomainRecommendations: { - serializedName: "maxDomainRecommendations", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "PrivateLinkResource", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } } } } } }; -export const TldLegalAgreement: msRest.CompositeMapper = { - serializedName: "TldLegalAgreement", +export const PrivateLinkResource: coreClient.CompositeMapper = { + serializedName: "PrivateLinkResource", type: { name: "Composite", - className: "TldLegalAgreement", + className: "PrivateLinkResource", modelProperties: { - agreementKey: { + id: { + serializedName: "id", required: true, - serializedName: "agreementKey", + xmlName: "id", type: { name: "String" } }, - title: { + name: { + serializedName: "name", required: true, - serializedName: "title", + xmlName: "name", type: { name: "String" } }, - content: { + type: { + serializedName: "type", required: true, - serializedName: "content", + xmlName: "type", type: { name: "String" } }, - url: { - serializedName: "url", + properties: { + serializedName: "properties", + xmlName: "properties", type: { - name: "String" + name: "Composite", + className: "PrivateLinkResourceProperties" } } } } }; -export const TopLevelDomain: msRest.CompositeMapper = { - serializedName: "TopLevelDomain", +export const PrivateLinkResourceProperties: coreClient.CompositeMapper = { + serializedName: "PrivateLinkResourceProperties", type: { name: "Composite", - className: "TopLevelDomain", + className: "PrivateLinkResourceProperties", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - privacy: { - serializedName: "properties.privacy", + groupId: { + serializedName: "groupId", + readOnly: true, + xmlName: "groupId", type: { - name: "Boolean" + name: "String" + } + }, + requiredMembers: { + serializedName: "requiredMembers", + readOnly: true, + xmlName: "requiredMembers", + xmlElementName: "PrivateLinkResourcePropertiesRequiredMembersItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + requiredZoneNames: { + serializedName: "requiredZoneNames", + readOnly: true, + xmlName: "requiredZoneNames", + xmlElementName: "PrivateLinkResourcePropertiesRequiredZoneNamesItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const TopLevelDomainAgreementOption: msRest.CompositeMapper = { - serializedName: "TopLevelDomainAgreementOption", +export const AppServicePlanCollection: coreClient.CompositeMapper = { + serializedName: "AppServicePlanCollection", type: { name: "Composite", - className: "TopLevelDomainAgreementOption", + className: "AppServicePlanCollection", modelProperties: { - includePrivacy: { - serializedName: "includePrivacy", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "AppServicePlan", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AppServicePlan" + } + } } }, - forTransfer: { - serializedName: "forTransfer", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Boolean" + name: "String" } } } } }; -export const Certificate: msRest.CompositeMapper = { - serializedName: "Certificate", +export const KubeEnvironmentProfile: coreClient.CompositeMapper = { + serializedName: "KubeEnvironmentProfile", type: { name: "Composite", - className: "Certificate", + className: "KubeEnvironmentProfile", modelProperties: { - ...Resource.type.modelProperties, - password: { - serializedName: "properties.password", + id: { + serializedName: "id", + xmlName: "id", type: { name: "String" } }, - friendlyName: { + name: { + serializedName: "name", readOnly: true, - serializedName: "properties.friendlyName", + xmlName: "name", type: { name: "String" } }, - subjectName: { + type: { + serializedName: "type", readOnly: true, - serializedName: "properties.subjectName", + xmlName: "type", type: { name: "String" } - }, - hostNames: { - serializedName: "properties.hostNames", + } + } + } +}; + +export const CsmUsageQuotaCollection: coreClient.CompositeMapper = { + serializedName: "CsmUsageQuotaCollection", + type: { + name: "Composite", + className: "CsmUsageQuotaCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "CsmUsageQuota", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "CsmUsageQuota" } } } }, - pfxBlob: { - serializedName: "properties.pfxBlob", - type: { - name: "ByteArray" - } - }, - siteName: { - readOnly: true, - serializedName: "properties.siteName", - type: { - name: "String" - } - }, - selfLink: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.selfLink", + xmlName: "nextLink", type: { name: "String" } - }, - issuer: { - readOnly: true, - serializedName: "properties.issuer", + } + } + } +}; + +export const CsmUsageQuota: coreClient.CompositeMapper = { + serializedName: "CsmUsageQuota", + type: { + name: "Composite", + className: "CsmUsageQuota", + modelProperties: { + unit: { + serializedName: "unit", + xmlName: "unit", type: { name: "String" } }, - issueDate: { - readOnly: true, - serializedName: "properties.issueDate", - type: { - name: "DateTime" - } - }, - expirationDate: { - readOnly: true, - serializedName: "properties.expirationDate", + nextResetTime: { + serializedName: "nextResetTime", + xmlName: "nextResetTime", type: { name: "DateTime" } }, - thumbprint: { - readOnly: true, - serializedName: "properties.thumbprint", - type: { - name: "String" - } - }, - valid: { - readOnly: true, - serializedName: "properties.valid", - type: { - name: "Boolean" - } - }, - cerBlob: { - readOnly: true, - serializedName: "properties.cerBlob", + currentValue: { + serializedName: "currentValue", + xmlName: "currentValue", type: { - name: "ByteArray" + name: "Number" } }, - publicKeyHash: { - readOnly: true, - serializedName: "properties.publicKeyHash", + limit: { + serializedName: "limit", + xmlName: "limit", type: { - name: "String" + name: "Number" } }, - hostingEnvironmentProfile: { - readOnly: true, - serializedName: "properties.hostingEnvironmentProfile", + name: { + serializedName: "name", + xmlName: "name", type: { name: "Composite", - className: "HostingEnvironmentProfile" + className: "LocalizableString" } - }, - keyVaultId: { - serializedName: "properties.keyVaultId", + } + } + } +}; + +export const LocalizableString: coreClient.CompositeMapper = { + serializedName: "LocalizableString", + type: { + name: "Composite", + className: "LocalizableString", + modelProperties: { + value: { + serializedName: "value", + xmlName: "value", type: { name: "String" } }, - keyVaultSecretName: { - serializedName: "properties.keyVaultSecretName", + localizedValue: { + serializedName: "localizedValue", + xmlName: "localizedValue", type: { name: "String" } - }, - keyVaultSecretStatus: { - readOnly: true, - serializedName: "properties.keyVaultSecretStatus", + } + } + } +}; + +export const ResourceCollection: coreClient.CompositeMapper = { + serializedName: "ResourceCollection", + type: { + name: "Composite", + className: "ResourceCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "ResourceCollectionValueItem", type: { - name: "Enum", - allowedValues: [ - "Initialized", - "WaitingOnCertificateOrder", - "Succeeded", - "CertificateOrderFailed", - "OperationNotPermittedOnKeyVault", - "AzureServiceUnauthorizedToAccessKeyVault", - "KeyVaultDoesNotExist", - "KeyVaultSecretDoesNotExist", - "UnknownError", - "ExternalPrivateKey", - "Unknown" - ] + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - serverFarmId: { - serializedName: "properties.serverFarmId", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - canonicalName: { - serializedName: "properties.canonicalName", + } + } + } +}; + +export const HybridConnectionCollection: coreClient.CompositeMapper = { + serializedName: "HybridConnectionCollection", + type: { + name: "Composite", + className: "HybridConnectionCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "HybridConnection", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HybridConnection" + } + } } }, - domainValidationMethod: { - serializedName: "properties.domainValidationMethod", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -5355,167 +5315,166 @@ export const Certificate: msRest.CompositeMapper = { } }; -export const CertificatePatchResource: msRest.CompositeMapper = { - serializedName: "CertificatePatchResource", +export const VnetInfo: coreClient.CompositeMapper = { + serializedName: "VnetInfo", type: { name: "Composite", - className: "CertificatePatchResource", + className: "VnetInfo", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - password: { - serializedName: "properties.password", + vnetResourceId: { + serializedName: "vnetResourceId", + xmlName: "vnetResourceId", type: { name: "String" } }, - friendlyName: { + certThumbprint: { + serializedName: "certThumbprint", readOnly: true, - serializedName: "properties.friendlyName", + xmlName: "certThumbprint", type: { name: "String" } }, - subjectName: { - readOnly: true, - serializedName: "properties.subjectName", + certBlob: { + serializedName: "certBlob", + xmlName: "certBlob", type: { name: "String" } }, - hostNames: { - serializedName: "properties.hostNames", + routes: { + serializedName: "routes", + readOnly: true, + xmlName: "routes", + xmlElementName: "VnetRoute", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "VnetRoute" } } } }, - pfxBlob: { - serializedName: "properties.pfxBlob", + resyncRequired: { + serializedName: "resyncRequired", + readOnly: true, + xmlName: "resyncRequired", type: { - name: "ByteArray" + name: "Boolean" } }, - siteName: { - readOnly: true, - serializedName: "properties.siteName", + dnsServers: { + serializedName: "dnsServers", + xmlName: "dnsServers", type: { name: "String" } }, - selfLink: { - readOnly: true, - serializedName: "properties.selfLink", + isSwift: { + serializedName: "isSwift", + xmlName: "isSwift", type: { - name: "String" + name: "Boolean" } - }, - issuer: { - readOnly: true, - serializedName: "properties.issuer", + } + } + } +}; + +export const CertificateCollection: coreClient.CompositeMapper = { + serializedName: "CertificateCollection", + type: { + name: "Composite", + className: "CertificateCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "Certificate", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Certificate" + } + } } }, - issueDate: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.issueDate", + xmlName: "nextLink", type: { - name: "DateTime" + name: "String" } - }, - expirationDate: { - readOnly: true, - serializedName: "properties.expirationDate", + } + } + } +}; + +export const DeletedWebAppCollection: coreClient.CompositeMapper = { + serializedName: "DeletedWebAppCollection", + type: { + name: "Composite", + className: "DeletedWebAppCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "DeletedSite", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedSite" + } + } } }, - thumbprint: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.thumbprint", + xmlName: "nextLink", type: { name: "String" } - }, - valid: { - readOnly: true, - serializedName: "properties.valid", - type: { - name: "Boolean" - } - }, - cerBlob: { - readOnly: true, - serializedName: "properties.cerBlob", - type: { - name: "ByteArray" - } - }, - publicKeyHash: { - readOnly: true, - serializedName: "properties.publicKeyHash", - type: { - name: "String" - } - }, - hostingEnvironmentProfile: { - readOnly: true, - serializedName: "properties.hostingEnvironmentProfile", - type: { - name: "Composite", - className: "HostingEnvironmentProfile" - } - }, - keyVaultId: { - serializedName: "properties.keyVaultId", - type: { - name: "String" - } - }, - keyVaultSecretName: { - serializedName: "properties.keyVaultSecretName", + } + } + } +}; + +export const DiagnosticCategoryCollection: coreClient.CompositeMapper = { + serializedName: "DiagnosticCategoryCollection", + type: { + name: "Composite", + className: "DiagnosticCategoryCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "DiagnosticCategory", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiagnosticCategory" + } + } } }, - keyVaultSecretStatus: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.keyVaultSecretStatus", - type: { - name: "Enum", - allowedValues: [ - "Initialized", - "WaitingOnCertificateOrder", - "Succeeded", - "CertificateOrderFailed", - "OperationNotPermittedOnKeyVault", - "AzureServiceUnauthorizedToAccessKeyVault", - "KeyVaultDoesNotExist", - "KeyVaultSecretDoesNotExist", - "UnknownError", - "ExternalPrivateKey", - "Unknown" - ] - } - }, - serverFarmId: { - serializedName: "properties.serverFarmId", - type: { - name: "String" - } - }, - canonicalName: { - serializedName: "properties.canonicalName", - type: { - name: "String" - } - }, - domainValidationMethod: { - serializedName: "properties.domainValidationMethod", + xmlName: "nextLink", type: { name: "String" } @@ -5524,35 +5483,31 @@ export const CertificatePatchResource: msRest.CompositeMapper = { } }; -export const VirtualNetworkProfile: msRest.CompositeMapper = { - serializedName: "VirtualNetworkProfile", +export const DiagnosticAnalysisCollection: coreClient.CompositeMapper = { + serializedName: "DiagnosticAnalysisCollection", type: { name: "Composite", - className: "VirtualNetworkProfile", + className: "DiagnosticAnalysisCollection", modelProperties: { - id: { + value: { + serializedName: "value", required: true, - serializedName: "id", + xmlName: "value", + xmlElementName: "AnalysisDefinition", type: { - name: "String" - } - }, - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AnalysisDefinition" + } + } } }, - type: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "type", - type: { - name: "String" - } - }, - subnet: { - serializedName: "subnet", + xmlName: "nextLink", type: { name: "String" } @@ -5561,346 +5516,396 @@ export const VirtualNetworkProfile: msRest.CompositeMapper = { } }; -export const AppServiceEnvironment: msRest.CompositeMapper = { - serializedName: "AppServiceEnvironment", +export const AbnormalTimePeriod: coreClient.CompositeMapper = { + serializedName: "AbnormalTimePeriod", type: { name: "Composite", - className: "AppServiceEnvironment", + className: "AbnormalTimePeriod", modelProperties: { - provisioningState: { - readOnly: true, - serializedName: "provisioningState", - type: { - name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] - } - }, - status: { - readOnly: true, - serializedName: "status", + startTime: { + serializedName: "startTime", + xmlName: "startTime", type: { - name: "Enum", - allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"] + name: "DateTime" } }, - virtualNetwork: { - required: true, - serializedName: "virtualNetwork", + endTime: { + serializedName: "endTime", + xmlName: "endTime", type: { - name: "Composite", - className: "VirtualNetworkProfile" + name: "DateTime" } }, - internalLoadBalancingMode: { - serializedName: "internalLoadBalancingMode", + events: { + serializedName: "events", + xmlName: "events", + xmlElementName: "DetectorAbnormalTimePeriod", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DetectorAbnormalTimePeriod" + } + } } }, - multiSize: { - serializedName: "multiSize", + solutions: { + serializedName: "solutions", + xmlName: "solutions", + xmlElementName: "Solution", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Solution" + } + } } - }, - multiRoleCount: { - readOnly: true, - serializedName: "multiRoleCount", + } + } + } +}; + +export const DetectorAbnormalTimePeriod: coreClient.CompositeMapper = { + serializedName: "DetectorAbnormalTimePeriod", + type: { + name: "Composite", + className: "DetectorAbnormalTimePeriod", + modelProperties: { + startTime: { + serializedName: "startTime", + xmlName: "startTime", type: { - name: "Number" + name: "DateTime" } }, - ipsslAddressCount: { - serializedName: "ipsslAddressCount", + endTime: { + serializedName: "endTime", + xmlName: "endTime", type: { - name: "Number" + name: "DateTime" } }, - dnsSuffix: { - serializedName: "dnsSuffix", + message: { + serializedName: "message", + xmlName: "message", type: { name: "String" } }, - maximumNumberOfMachines: { - readOnly: true, - serializedName: "maximumNumberOfMachines", + source: { + serializedName: "source", + xmlName: "source", type: { - name: "Number" + name: "String" } }, - frontEndScaleFactor: { - serializedName: "frontEndScaleFactor", + priority: { + serializedName: "priority", + xmlName: "priority", type: { name: "Number" } }, - suspended: { - readOnly: true, - serializedName: "suspended", - type: { - name: "Boolean" - } - }, - clusterSettings: { - serializedName: "clusterSettings", + metaData: { + serializedName: "metaData", + xmlName: "metaData", + xmlElementName: "DetectorAbnormalTimePeriodMetaDataItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "NameValuePair" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } } } } }, - userWhitelistedIpRanges: { - serializedName: "userWhitelistedIpRanges", + type: { + serializedName: "type", + xmlName: "type", + type: { + name: "Enum", + allowedValues: [ + "ServiceIncident", + "AppDeployment", + "AppCrash", + "RuntimeIssueDetected", + "AseDeployment", + "UserIssue", + "PlatformIssue", + "Other" + ] + } + }, + solutions: { + serializedName: "solutions", + xmlName: "solutions", + xmlElementName: "Solution", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "Solution" } } } - }, - hasLinuxWorkers: { - readOnly: true, - serializedName: "hasLinuxWorkers", - type: { - name: "Boolean" - } - }, - dedicatedHostCount: { - readOnly: true, - serializedName: "dedicatedHostCount", - type: { - name: "Number" - } } } } }; -export const LocalizableString: msRest.CompositeMapper = { - serializedName: "LocalizableString", +export const Solution: coreClient.CompositeMapper = { + serializedName: "Solution", type: { name: "Composite", - className: "LocalizableString", + className: "Solution", modelProperties: { - value: { - serializedName: "value", + id: { + serializedName: "id", + xmlName: "id", type: { - name: "String" + name: "Number" } }, - localizedValue: { - serializedName: "localizedValue", + displayName: { + serializedName: "displayName", + xmlName: "displayName", type: { name: "String" } - } - } - } -}; - -export const CsmUsageQuota: msRest.CompositeMapper = { - serializedName: "CsmUsageQuota", - type: { - name: "Composite", - className: "CsmUsageQuota", - modelProperties: { - unit: { - serializedName: "unit", + }, + order: { + serializedName: "order", + xmlName: "order", type: { - name: "String" + name: "Number" } }, - nextResetTime: { - serializedName: "nextResetTime", + description: { + serializedName: "description", + xmlName: "description", type: { - name: "DateTime" + name: "String" } }, - currentValue: { - serializedName: "currentValue", + type: { + serializedName: "type", + xmlName: "type", type: { - name: "Number" + name: "Enum", + allowedValues: ["QuickSolution", "DeepInvestigation", "BestPractices"] } }, - limit: { - serializedName: "limit", + data: { + serializedName: "data", + xmlName: "data", + xmlElementName: "SolutionDataItem", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } + } + } } }, - name: { - serializedName: "name", + metadata: { + serializedName: "metadata", + xmlName: "metadata", + xmlElementName: "SolutionMetadataItem", type: { - name: "Composite", - className: "LocalizableString" + name: "Sequence", + element: { + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } + } + } } } } } }; -export const ErrorEntity: msRest.CompositeMapper = { - serializedName: "ErrorEntity", +export const AnalysisData: coreClient.CompositeMapper = { + serializedName: "AnalysisData", type: { name: "Composite", - className: "ErrorEntity", + className: "AnalysisData", modelProperties: { - extendedCode: { - serializedName: "extendedCode", + source: { + serializedName: "source", + xmlName: "source", type: { name: "String" } }, - messageTemplate: { - serializedName: "messageTemplate", + detectorDefinition: { + serializedName: "detectorDefinition", + xmlName: "detectorDefinition", type: { - name: "String" + name: "Composite", + className: "DetectorDefinition" } }, - parameters: { - serializedName: "parameters", + metrics: { + serializedName: "metrics", + xmlName: "metrics", + xmlElementName: "DiagnosticMetricSet", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "DiagnosticMetricSet" } } } }, - innerErrors: { - serializedName: "innerErrors", + data: { + serializedName: "data", + xmlName: "data", + xmlElementName: "AnalysisDataItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ErrorEntity" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } } } } }, - code: { - serializedName: "code", - type: { - name: "String" - } - }, - message: { - serializedName: "message", + detectorMetaData: { + serializedName: "detectorMetaData", + xmlName: "detectorMetaData", type: { - name: "String" + name: "Composite", + className: "ResponseMetaData" } } } } }; -export const Operation: msRest.CompositeMapper = { - serializedName: "Operation", +export const DetectorDefinition: coreClient.CompositeMapper = { + serializedName: "DetectorDefinition", type: { name: "Composite", - className: "Operation", + className: "DetectorDefinition", modelProperties: { - id: { - serializedName: "id", + displayName: { + serializedName: "displayName", + readOnly: true, + xmlName: "displayName", type: { name: "String" } }, - name: { - serializedName: "name", + description: { + serializedName: "description", + readOnly: true, + xmlName: "description", type: { name: "String" } }, - status: { - serializedName: "status", + rank: { + serializedName: "rank", + readOnly: true, + xmlName: "rank", type: { - name: "Enum", - allowedValues: ["InProgress", "Failed", "Succeeded", "TimedOut", "Created"] + name: "Number" } }, - errors: { - serializedName: "errors", + isEnabled: { + serializedName: "isEnabled", + readOnly: true, + xmlName: "isEnabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ErrorEntity" - } - } + name: "Boolean" } - }, - createdTime: { - serializedName: "createdTime", + } + } + } +}; + +export const DiagnosticMetricSet: coreClient.CompositeMapper = { + serializedName: "DiagnosticMetricSet", + type: { + name: "Composite", + className: "DiagnosticMetricSet", + modelProperties: { + name: { + serializedName: "name", + xmlName: "name", type: { - name: "DateTime" + name: "String" } }, - modifiedTime: { - serializedName: "modifiedTime", + unit: { + serializedName: "unit", + xmlName: "unit", type: { - name: "DateTime" + name: "String" } }, - expirationTime: { - serializedName: "expirationTime", + startTime: { + serializedName: "startTime", + xmlName: "startTime", type: { name: "DateTime" } }, - geoMasterOperationId: { - serializedName: "geoMasterOperationId", - type: { - name: "Uuid" - } - } - } - } -}; - -export const PrivateLinkResourceProperties: msRest.CompositeMapper = { - serializedName: "PrivateLinkResourceProperties", - type: { - name: "Composite", - className: "PrivateLinkResourceProperties", - modelProperties: { - groupId: { - readOnly: true, - serializedName: "groupId", + endTime: { + serializedName: "endTime", + xmlName: "endTime", type: { - name: "String" + name: "DateTime" } }, - requiredMembers: { - readOnly: true, - serializedName: "requiredMembers", + timeGrain: { + serializedName: "timeGrain", + xmlName: "timeGrain", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - requiredZoneNames: { - readOnly: true, - serializedName: "requiredZoneNames", + values: { + serializedName: "values", + xmlName: "values", + xmlElementName: "DiagnosticMetricSample", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "DiagnosticMetricSample" } } } @@ -5909,135 +5914,105 @@ export const PrivateLinkResourceProperties: msRest.CompositeMapper = { } }; -export const PrivateLinkResource: msRest.CompositeMapper = { - serializedName: "PrivateLinkResource", +export const DiagnosticMetricSample: coreClient.CompositeMapper = { + serializedName: "DiagnosticMetricSample", type: { name: "Composite", - className: "PrivateLinkResource", + className: "DiagnosticMetricSample", modelProperties: { - id: { - required: true, - serializedName: "id", + timestamp: { + serializedName: "timestamp", + xmlName: "timestamp", type: { - name: "String" + name: "DateTime" } }, - name: { - required: true, - serializedName: "name", + roleInstance: { + serializedName: "roleInstance", + xmlName: "roleInstance", type: { name: "String" } }, - type: { - required: true, - serializedName: "type", + total: { + serializedName: "total", + xmlName: "total", type: { - name: "String" + name: "Number" } }, - properties: { - required: true, - serializedName: "properties", + maximum: { + serializedName: "maximum", + xmlName: "maximum", type: { - name: "Composite", - className: "PrivateLinkResourceProperties" + name: "Number" + } + }, + minimum: { + serializedName: "minimum", + xmlName: "minimum", + type: { + name: "Number" + } + }, + isAggregated: { + serializedName: "isAggregated", + xmlName: "isAggregated", + type: { + name: "Boolean" } } } } }; -export const PrivateLinkResourcesWrapper: msRest.CompositeMapper = { - serializedName: "PrivateLinkResourcesWrapper", +export const ResponseMetaData: coreClient.CompositeMapper = { + serializedName: "ResponseMetaData", type: { name: "Composite", - className: "PrivateLinkResourcesWrapper", + className: "ResponseMetaData", modelProperties: { - value: { - required: true, - serializedName: "value", + dataSource: { + serializedName: "dataSource", + xmlName: "dataSource", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PrivateLinkResource" - } - } + name: "Composite", + className: "DataSource" } } } } }; -export const Solution: msRest.CompositeMapper = { - serializedName: "Solution", +export const DataSource: coreClient.CompositeMapper = { + serializedName: "DataSource", type: { name: "Composite", - className: "Solution", + className: "DataSource", modelProperties: { - id: { - serializedName: "id", - type: { - name: "Number" - } - }, - displayName: { - serializedName: "displayName", - type: { - name: "String" - } - }, - order: { - serializedName: "order", - type: { - name: "Number" - } - }, - description: { - serializedName: "description", - type: { - name: "String" - } - }, - type: { - serializedName: "type", - type: { - name: "Enum", - allowedValues: ["QuickSolution", "DeepInvestigation", "BestPractices"] - } - }, - data: { - serializedName: "data", + instructions: { + serializedName: "instructions", + xmlName: "instructions", + xmlElementName: "DataSourceInstructionsItem", type: { name: "Sequence", element: { type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NameValuePair" - } - } + name: "String" } } } }, - metadata: { - serializedName: "metadata", + dataSourceUri: { + serializedName: "dataSourceUri", + xmlName: "dataSourceUri", + xmlElementName: "NameValuePair", type: { name: "Sequence", element: { type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NameValuePair" - } - } + name: "Composite", + className: "NameValuePair" } } } @@ -6046,299 +6021,298 @@ export const Solution: msRest.CompositeMapper = { } }; -export const DetectorAbnormalTimePeriod: msRest.CompositeMapper = { - serializedName: "DetectorAbnormalTimePeriod", +export const DiagnosticDetectorCollection: coreClient.CompositeMapper = { + serializedName: "DiagnosticDetectorCollection", type: { name: "Composite", - className: "DetectorAbnormalTimePeriod", + className: "DiagnosticDetectorCollection", modelProperties: { - startTime: { - serializedName: "startTime", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "endTime", - type: { - name: "DateTime" - } - }, - message: { - serializedName: "message", - type: { - name: "String" - } - }, - source: { - serializedName: "source", - type: { - name: "String" - } - }, - priority: { - serializedName: "priority", - type: { - name: "Number" - } - }, - metaData: { - serializedName: "metaData", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "DetectorDefinitionResource", type: { name: "Sequence", element: { type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NameValuePair" - } - } + name: "Composite", + className: "DetectorDefinitionResource" } } } }, - type: { - serializedName: "type", - type: { - name: "Enum", - allowedValues: [ - "ServiceIncident", - "AppDeployment", - "AppCrash", - "RuntimeIssueDetected", - "AseDeployment", - "UserIssue", - "PlatformIssue", - "Other" - ] - } - }, - solutions: { - serializedName: "solutions", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Solution" - } - } + name: "String" } } } } }; -export const AbnormalTimePeriod: msRest.CompositeMapper = { - serializedName: "AbnormalTimePeriod", +export const KubeEnvironmentCollection: coreClient.CompositeMapper = { + serializedName: "KubeEnvironmentCollection", type: { name: "Composite", - className: "AbnormalTimePeriod", + className: "KubeEnvironmentCollection", modelProperties: { - startTime: { - serializedName: "startTime", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "endTime", - type: { - name: "DateTime" - } - }, - events: { - serializedName: "events", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "KubeEnvironment", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DetectorAbnormalTimePeriod" + className: "KubeEnvironment" } } } }, - solutions: { - serializedName: "solutions", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Solution" - } - } + name: "String" } } } } }; -export const DetectorDefinition: msRest.CompositeMapper = { - serializedName: "DetectorDefinition", +export const ArcConfiguration: coreClient.CompositeMapper = { + serializedName: "ArcConfiguration", type: { name: "Composite", - className: "DetectorDefinition", + className: "ArcConfiguration", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - displayName: { - readOnly: true, - serializedName: "properties.displayName", + artifactsStorageType: { + serializedName: "artifactsStorageType", + xmlName: "artifactsStorageType", + type: { + name: "Enum", + allowedValues: ["LocalNode", "NetworkFileSystem"] + } + }, + artifactStorageClassName: { + serializedName: "artifactStorageClassName", + xmlName: "artifactStorageClassName", type: { name: "String" } }, - description: { - readOnly: true, - serializedName: "properties.description", + artifactStorageMountPath: { + serializedName: "artifactStorageMountPath", + xmlName: "artifactStorageMountPath", type: { name: "String" } }, - rank: { - readOnly: true, - serializedName: "properties.rank", + artifactStorageNodeName: { + serializedName: "artifactStorageNodeName", + xmlName: "artifactStorageNodeName", type: { - name: "Number" + name: "String" } }, - isEnabled: { - readOnly: true, - serializedName: "properties.isEnabled", + artifactStorageAccessMode: { + serializedName: "artifactStorageAccessMode", + xmlName: "artifactStorageAccessMode", type: { - name: "Boolean" + name: "String" + } + }, + frontEndServiceConfiguration: { + serializedName: "frontEndServiceConfiguration", + xmlName: "frontEndServiceConfiguration", + type: { + name: "Composite", + className: "FrontEndConfiguration" + } + }, + kubeConfig: { + serializedName: "kubeConfig", + xmlName: "kubeConfig", + type: { + name: "String" } } } } }; -export const DiagnosticMetricSample: msRest.CompositeMapper = { - serializedName: "DiagnosticMetricSample", +export const FrontEndConfiguration: coreClient.CompositeMapper = { + serializedName: "FrontEndConfiguration", type: { name: "Composite", - className: "DiagnosticMetricSample", + className: "FrontEndConfiguration", modelProperties: { - timestamp: { - serializedName: "timestamp", + kind: { + serializedName: "kind", + xmlName: "kind", type: { - name: "DateTime" + name: "Enum", + allowedValues: ["NodePort", "LoadBalancer"] } - }, - roleInstance: { - serializedName: "roleInstance", + } + } + } +}; + +export const AppLogsConfiguration: coreClient.CompositeMapper = { + serializedName: "AppLogsConfiguration", + type: { + name: "Composite", + className: "AppLogsConfiguration", + modelProperties: { + destination: { + serializedName: "destination", + xmlName: "destination", type: { name: "String" } }, - total: { - serializedName: "total", + logAnalyticsConfiguration: { + serializedName: "logAnalyticsConfiguration", + xmlName: "logAnalyticsConfiguration", type: { - name: "Number" + name: "Composite", + className: "LogAnalyticsConfiguration" } - }, - maximum: { - serializedName: "maximum", + } + } + } +}; + +export const LogAnalyticsConfiguration: coreClient.CompositeMapper = { + serializedName: "LogAnalyticsConfiguration", + type: { + name: "Composite", + className: "LogAnalyticsConfiguration", + modelProperties: { + customerId: { + serializedName: "customerId", + xmlName: "customerId", type: { - name: "Number" + name: "String" } }, - minimum: { - serializedName: "minimum", + sharedKey: { + serializedName: "sharedKey", + xmlName: "sharedKey", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const ApplicationStackCollection: coreClient.CompositeMapper = { + serializedName: "ApplicationStackCollection", + type: { + name: "Composite", + className: "ApplicationStackCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "ApplicationStackResource", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationStackResource" + } + } } }, - isAggregated: { - serializedName: "isAggregated", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Boolean" + name: "String" } } } } }; -export const DiagnosticMetricSet: msRest.CompositeMapper = { - serializedName: "DiagnosticMetricSet", +export const ApplicationStack: coreClient.CompositeMapper = { + serializedName: "ApplicationStack", type: { name: "Composite", - className: "DiagnosticMetricSet", + className: "ApplicationStack", modelProperties: { name: { serializedName: "name", + xmlName: "name", type: { name: "String" } }, - unit: { - serializedName: "unit", + display: { + serializedName: "display", + xmlName: "display", type: { name: "String" } }, - startTime: { - serializedName: "startTime", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "endTime", - type: { - name: "DateTime" - } - }, - timeGrain: { - serializedName: "timeGrain", + dependency: { + serializedName: "dependency", + xmlName: "dependency", type: { name: "String" } }, - values: { - serializedName: "values", + majorVersions: { + serializedName: "majorVersions", + xmlName: "majorVersions", + xmlElementName: "StackMajorVersion", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DiagnosticMetricSample" + className: "StackMajorVersion" } } } - } - } - } -}; - -export const DataSource: msRest.CompositeMapper = { - serializedName: "DataSource", - type: { - name: "Composite", - className: "DataSource", - modelProperties: { - instructions: { - serializedName: "instructions", + }, + frameworks: { + serializedName: "frameworks", + xmlName: "frameworks", + xmlElementName: "ApplicationStack", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ApplicationStack" } } } }, - dataSourceUri: { - serializedName: "dataSourceUri", + isDeprecated: { + serializedName: "isDeprecated", + xmlName: "isDeprecated", + xmlElementName: "ApplicationStack", type: { name: "Sequence", element: { type: { name: "Composite", - className: "NameValuePair" + className: "ApplicationStack" } } } @@ -6347,169 +6321,162 @@ export const DataSource: msRest.CompositeMapper = { } }; -export const ResponseMetaData: msRest.CompositeMapper = { - serializedName: "ResponseMetaData", +export const StackMajorVersion: coreClient.CompositeMapper = { + serializedName: "StackMajorVersion", type: { name: "Composite", - className: "ResponseMetaData", + className: "StackMajorVersion", modelProperties: { - dataSource: { - serializedName: "dataSource", + displayVersion: { + serializedName: "displayVersion", + xmlName: "displayVersion", type: { - name: "Composite", - className: "DataSource" + name: "String" } - } - } - } -}; - -export const AnalysisData: msRest.CompositeMapper = { - serializedName: "AnalysisData", - type: { - name: "Composite", - className: "AnalysisData", - modelProperties: { - source: { - serializedName: "source", + }, + runtimeVersion: { + serializedName: "runtimeVersion", + xmlName: "runtimeVersion", type: { name: "String" } }, - detectorDefinition: { - serializedName: "detectorDefinition", + isDefault: { + serializedName: "isDefault", + xmlName: "isDefault", type: { - name: "Composite", - className: "DetectorDefinition" + name: "Boolean" } }, - metrics: { - serializedName: "metrics", + minorVersions: { + serializedName: "minorVersions", + xmlName: "minorVersions", + xmlElementName: "StackMinorVersion", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DiagnosticMetricSet" + className: "StackMinorVersion" } } } }, - data: { - serializedName: "data", + applicationInsights: { + serializedName: "applicationInsights", + xmlName: "applicationInsights", type: { - name: "Sequence", - element: { - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NameValuePair" - } - } - } + name: "Boolean" + } + }, + isPreview: { + serializedName: "isPreview", + xmlName: "isPreview", + type: { + name: "Boolean" + } + }, + isDeprecated: { + serializedName: "isDeprecated", + xmlName: "isDeprecated", + type: { + name: "Boolean" + } + }, + isHidden: { + serializedName: "isHidden", + xmlName: "isHidden", + type: { + name: "Boolean" + } + }, + appSettingsDictionary: { + serializedName: "appSettingsDictionary", + xmlName: "appSettingsDictionary", + type: { + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } } } }, - detectorMetaData: { - serializedName: "detectorMetaData", + siteConfigPropertiesDictionary: { + serializedName: "siteConfigPropertiesDictionary", + xmlName: "siteConfigPropertiesDictionary", type: { - name: "Composite", - className: "ResponseMetaData" + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } } } } } }; -export const AnalysisDefinition: msRest.CompositeMapper = { - serializedName: "AnalysisDefinition", +export const StackMinorVersion: coreClient.CompositeMapper = { + serializedName: "StackMinorVersion", type: { name: "Composite", - className: "AnalysisDefinition", + className: "StackMinorVersion", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - description: { - readOnly: true, - serializedName: "properties.description", + displayVersion: { + serializedName: "displayVersion", + xmlName: "displayVersion", + type: { + name: "String" + } + }, + runtimeVersion: { + serializedName: "runtimeVersion", + xmlName: "runtimeVersion", type: { name: "String" } + }, + isDefault: { + serializedName: "isDefault", + xmlName: "isDefault", + type: { + name: "Boolean" + } + }, + isRemoteDebuggingEnabled: { + serializedName: "isRemoteDebuggingEnabled", + xmlName: "isRemoteDebuggingEnabled", + type: { + name: "Boolean" + } } } } }; -export const DiagnosticAnalysis: msRest.CompositeMapper = { - serializedName: "DiagnosticAnalysis", +export const FunctionAppStackCollection: coreClient.CompositeMapper = { + serializedName: "FunctionAppStackCollection", type: { name: "Composite", - className: "DiagnosticAnalysis", + className: "FunctionAppStackCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - startTime: { - serializedName: "properties.startTime", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "properties.endTime", - type: { - name: "DateTime" - } - }, - abnormalTimePeriods: { - serializedName: "properties.abnormalTimePeriods", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "FunctionAppStack", type: { name: "Sequence", element: { type: { name: "Composite", - className: "AbnormalTimePeriod" + className: "FunctionAppStack" } } } }, - payload: { - serializedName: "properties.payload", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AnalysisData" - } - } - } - }, - nonCorrelatedDetectors: { - serializedName: "properties.nonCorrelatedDetectors", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DetectorDefinition" - } - } - } - } - } - } -}; - -export const DiagnosticCategory: msRest.CompositeMapper = { - serializedName: "DiagnosticCategory", - type: { - name: "Composite", - className: "DiagnosticCategory", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - description: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.description", + xmlName: "nextLink", type: { name: "String" } @@ -6518,355 +6485,397 @@ export const DiagnosticCategory: msRest.CompositeMapper = { } }; -export const DiagnosticDetectorResponse: msRest.CompositeMapper = { - serializedName: "DiagnosticDetectorResponse", +export const FunctionAppMajorVersion: coreClient.CompositeMapper = { + serializedName: "FunctionAppMajorVersion", type: { name: "Composite", - className: "DiagnosticDetectorResponse", + className: "FunctionAppMajorVersion", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - startTime: { - serializedName: "properties.startTime", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "properties.endTime", - type: { - name: "DateTime" - } - }, - issueDetected: { - serializedName: "properties.issueDetected", + displayText: { + serializedName: "displayText", + readOnly: true, + xmlName: "displayText", type: { - name: "Boolean" + name: "String" } }, - detectorDefinition: { - serializedName: "properties.detectorDefinition", + value: { + serializedName: "value", + readOnly: true, + xmlName: "value", type: { - name: "Composite", - className: "DetectorDefinition" + name: "String" } }, - metrics: { - serializedName: "properties.metrics", + minorVersions: { + serializedName: "minorVersions", + readOnly: true, + xmlName: "minorVersions", + xmlElementName: "FunctionAppMinorVersion", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DiagnosticMetricSet" + className: "FunctionAppMinorVersion" } } } - }, - abnormalTimePeriods: { - serializedName: "properties.abnormalTimePeriods", + } + } + } +}; + +export const FunctionAppMinorVersion: coreClient.CompositeMapper = { + serializedName: "FunctionAppMinorVersion", + type: { + name: "Composite", + className: "FunctionAppMinorVersion", + modelProperties: { + displayText: { + serializedName: "displayText", + readOnly: true, + xmlName: "displayText", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DetectorAbnormalTimePeriod" - } - } + name: "String" } }, - data: { - serializedName: "properties.data", + value: { + serializedName: "value", + readOnly: true, + xmlName: "value", type: { - name: "Sequence", - element: { - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NameValuePair" - } - } - } - } + name: "String" } }, - responseMetaData: { - serializedName: "properties.responseMetaData", + stackSettings: { + serializedName: "stackSettings", + xmlName: "stackSettings", type: { name: "Composite", - className: "ResponseMetaData" + className: "FunctionAppRuntimes" } } } } }; -export const AppInsightsWebAppStackSettings: msRest.CompositeMapper = { - serializedName: "AppInsightsWebAppStackSettings", +export const FunctionAppRuntimes: coreClient.CompositeMapper = { + serializedName: "FunctionAppRuntimes", type: { name: "Composite", - className: "AppInsightsWebAppStackSettings", + className: "FunctionAppRuntimes", modelProperties: { - isSupported: { - readOnly: true, - serializedName: "isSupported", + linuxRuntimeSettings: { + serializedName: "linuxRuntimeSettings", + xmlName: "linuxRuntimeSettings", type: { - name: "Boolean" + name: "Composite", + className: "FunctionAppRuntimeSettings" } }, - isDefaultOff: { - readOnly: true, - serializedName: "isDefaultOff", + windowsRuntimeSettings: { + serializedName: "windowsRuntimeSettings", + xmlName: "windowsRuntimeSettings", type: { - name: "Boolean" + name: "Composite", + className: "FunctionAppRuntimeSettings" } } } } }; -export const StackMinorVersion: msRest.CompositeMapper = { - serializedName: "StackMinorVersion", +export const FunctionAppRuntimeSettings: coreClient.CompositeMapper = { + serializedName: "FunctionAppRuntimeSettings", type: { name: "Composite", - className: "StackMinorVersion", + className: "FunctionAppRuntimeSettings", modelProperties: { - displayVersion: { - serializedName: "displayVersion", - type: { - name: "String" - } - }, runtimeVersion: { serializedName: "runtimeVersion", + readOnly: true, + xmlName: "runtimeVersion", type: { name: "String" } }, - isDefault: { - serializedName: "isDefault", + remoteDebuggingSupported: { + serializedName: "remoteDebuggingSupported", + readOnly: true, + xmlName: "remoteDebuggingSupported", type: { name: "Boolean" } }, - isRemoteDebuggingEnabled: { - serializedName: "isRemoteDebuggingEnabled", + appInsightsSettings: { + serializedName: "appInsightsSettings", + xmlName: "appInsightsSettings", type: { - name: "Boolean" + name: "Composite", + className: "AppInsightsWebAppStackSettings" } - } - } - } -}; - -export const StackMajorVersion: msRest.CompositeMapper = { - serializedName: "StackMajorVersion", - type: { - name: "Composite", - className: "StackMajorVersion", - modelProperties: { - displayVersion: { - serializedName: "displayVersion", + }, + gitHubActionSettings: { + serializedName: "gitHubActionSettings", + xmlName: "gitHubActionSettings", type: { - name: "String" + name: "Composite", + className: "GitHubActionWebAppStackSettings" } }, - runtimeVersion: { - serializedName: "runtimeVersion", + appSettingsDictionary: { + serializedName: "appSettingsDictionary", + readOnly: true, + xmlName: "appSettingsDictionary", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - isDefault: { - serializedName: "isDefault", + siteConfigPropertiesDictionary: { + serializedName: "siteConfigPropertiesDictionary", + xmlName: "siteConfigPropertiesDictionary", type: { - name: "Boolean" + name: "Composite", + className: "SiteConfigPropertiesDictionary" } }, - minorVersions: { - serializedName: "minorVersions", + supportedFunctionsExtensionVersions: { + serializedName: "supportedFunctionsExtensionVersions", + readOnly: true, + xmlName: "supportedFunctionsExtensionVersions", + xmlElementName: + "FunctionAppRuntimeSettingsSupportedFunctionsExtensionVersionsItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "StackMinorVersion" + name: "String" } } } }, - applicationInsights: { - serializedName: "applicationInsights", - type: { - name: "Boolean" - } - }, isPreview: { serializedName: "isPreview", + readOnly: true, + xmlName: "isPreview", type: { name: "Boolean" } }, isDeprecated: { serializedName: "isDeprecated", + readOnly: true, + xmlName: "isDeprecated", type: { name: "Boolean" } }, isHidden: { serializedName: "isHidden", + readOnly: true, + xmlName: "isHidden", type: { name: "Boolean" } }, - appSettingsDictionary: { - serializedName: "appSettingsDictionary", + endOfLifeDate: { + serializedName: "endOfLifeDate", + readOnly: true, + xmlName: "endOfLifeDate", type: { - name: "Dictionary", - value: { - type: { - name: "Object" - } - } + name: "DateTime" } }, - siteConfigPropertiesDictionary: { - serializedName: "siteConfigPropertiesDictionary", + isAutoUpdate: { + serializedName: "isAutoUpdate", + readOnly: true, + xmlName: "isAutoUpdate", type: { - name: "Dictionary", - value: { - type: { - name: "Object" - } - } + name: "Boolean" + } + }, + isEarlyAccess: { + serializedName: "isEarlyAccess", + readOnly: true, + xmlName: "isEarlyAccess", + type: { + name: "Boolean" + } + }, + isDefault: { + serializedName: "isDefault", + readOnly: true, + xmlName: "isDefault", + type: { + name: "Boolean" } } } } }; -export const ApplicationStack: msRest.CompositeMapper = { - serializedName: "ApplicationStack", +export const AppInsightsWebAppStackSettings: coreClient.CompositeMapper = { + serializedName: "AppInsightsWebAppStackSettings", type: { name: "Composite", - className: "ApplicationStack", + className: "AppInsightsWebAppStackSettings", modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, - display: { - serializedName: "display", - type: { - name: "String" - } - }, - dependency: { - serializedName: "dependency", + isSupported: { + serializedName: "isSupported", + readOnly: true, + xmlName: "isSupported", type: { - name: "String" + name: "Boolean" } }, - majorVersions: { - serializedName: "majorVersions", + isDefaultOff: { + serializedName: "isDefaultOff", + readOnly: true, + xmlName: "isDefaultOff", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StackMajorVersion" - } - } + name: "Boolean" } - }, - frameworks: { - serializedName: "frameworks", + } + } + } +}; + +export const GitHubActionWebAppStackSettings: coreClient.CompositeMapper = { + serializedName: "GitHubActionWebAppStackSettings", + type: { + name: "Composite", + className: "GitHubActionWebAppStackSettings", + modelProperties: { + isSupported: { + serializedName: "isSupported", + readOnly: true, + xmlName: "isSupported", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ApplicationStack" - } - } + name: "Boolean" } }, - isDeprecated: { - serializedName: "isDeprecated", + supportedVersion: { + serializedName: "supportedVersion", + readOnly: true, + xmlName: "supportedVersion", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ApplicationStack" - } - } + name: "String" } } } } }; -export const ApplicationStackResource: msRest.CompositeMapper = { - serializedName: "ApplicationStackResource", +export const SiteConfigPropertiesDictionary: coreClient.CompositeMapper = { + serializedName: "SiteConfigPropertiesDictionary", type: { name: "Composite", - className: "ApplicationStackResource", + className: "SiteConfigPropertiesDictionary", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - applicationStackResourceName: { - serializedName: "properties.name", + use32BitWorkerProcess: { + serializedName: "use32BitWorkerProcess", + readOnly: true, + xmlName: "use32BitWorkerProcess", type: { - name: "String" + name: "Boolean" } }, - display: { - serializedName: "properties.display", + linuxFxVersion: { + serializedName: "linuxFxVersion", + readOnly: true, + xmlName: "linuxFxVersion", type: { name: "String" } }, - dependency: { - serializedName: "properties.dependency", + javaVersion: { + serializedName: "javaVersion", + readOnly: true, + xmlName: "javaVersion", type: { name: "String" } }, - majorVersions: { - serializedName: "properties.majorVersions", + powerShellVersion: { + serializedName: "powerShellVersion", + readOnly: true, + xmlName: "powerShellVersion", + type: { + name: "String" + } + } + } + } +}; + +export const WebAppStackCollection: coreClient.CompositeMapper = { + serializedName: "WebAppStackCollection", + type: { + name: "Composite", + className: "WebAppStackCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "WebAppStack", type: { name: "Sequence", element: { type: { name: "Composite", - className: "StackMajorVersion" + className: "WebAppStack" } } } }, - frameworks: { - serializedName: "properties.frameworks", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ApplicationStack" - } - } + name: "String" + } + } + } + } +}; + +export const WebAppMajorVersion: coreClient.CompositeMapper = { + serializedName: "WebAppMajorVersion", + type: { + name: "Composite", + className: "WebAppMajorVersion", + modelProperties: { + displayText: { + serializedName: "displayText", + readOnly: true, + xmlName: "displayText", + type: { + name: "String" } }, - isDeprecated: { - serializedName: "properties.isDeprecated", + value: { + serializedName: "value", + readOnly: true, + xmlName: "value", + type: { + name: "String" + } + }, + minorVersions: { + serializedName: "minorVersions", + readOnly: true, + xmlName: "minorVersions", + xmlElementName: "WebAppMinorVersion", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ApplicationStack" + className: "WebAppMinorVersion" } } } @@ -6875,181 +6884,164 @@ export const ApplicationStackResource: msRest.CompositeMapper = { } }; -export const GitHubActionWebAppStackSettings: msRest.CompositeMapper = { - serializedName: "GitHubActionWebAppStackSettings", +export const WebAppMinorVersion: coreClient.CompositeMapper = { + serializedName: "WebAppMinorVersion", type: { name: "Composite", - className: "GitHubActionWebAppStackSettings", + className: "WebAppMinorVersion", modelProperties: { - isSupported: { + displayText: { + serializedName: "displayText", readOnly: true, - serializedName: "isSupported", + xmlName: "displayText", type: { - name: "Boolean" + name: "String" } }, - supportedVersion: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedVersion", + xmlName: "value", type: { name: "String" } + }, + stackSettings: { + serializedName: "stackSettings", + xmlName: "stackSettings", + type: { + name: "Composite", + className: "WebAppRuntimes" + } } } } }; -export const SiteConfigPropertiesDictionary: msRest.CompositeMapper = { - serializedName: "SiteConfigPropertiesDictionary", +export const WebAppRuntimes: coreClient.CompositeMapper = { + serializedName: "WebAppRuntimes", type: { name: "Composite", - className: "SiteConfigPropertiesDictionary", + className: "WebAppRuntimes", modelProperties: { - use32BitWorkerProcess: { - readOnly: true, - serializedName: "use32BitWorkerProcess", + linuxRuntimeSettings: { + serializedName: "linuxRuntimeSettings", + xmlName: "linuxRuntimeSettings", type: { - name: "Boolean" + name: "Composite", + className: "WebAppRuntimeSettings" } }, - linuxFxVersion: { - readOnly: true, - serializedName: "linuxFxVersion", + windowsRuntimeSettings: { + serializedName: "windowsRuntimeSettings", + xmlName: "windowsRuntimeSettings", type: { - name: "String" + name: "Composite", + className: "WebAppRuntimeSettings" } }, - javaVersion: { - readOnly: true, - serializedName: "javaVersion", + linuxContainerSettings: { + serializedName: "linuxContainerSettings", + xmlName: "linuxContainerSettings", type: { - name: "String" + name: "Composite", + className: "LinuxJavaContainerSettings" } }, - powerShellVersion: { - readOnly: true, - serializedName: "powerShellVersion", + windowsContainerSettings: { + serializedName: "windowsContainerSettings", + xmlName: "windowsContainerSettings", type: { - name: "String" + name: "Composite", + className: "WindowsJavaContainerSettings" } } } } }; -export const FunctionAppRuntimeSettings: msRest.CompositeMapper = { - serializedName: "FunctionAppRuntimeSettings", +export const WebAppRuntimeSettings: coreClient.CompositeMapper = { + serializedName: "WebAppRuntimeSettings", type: { name: "Composite", - className: "FunctionAppRuntimeSettings", + className: "WebAppRuntimeSettings", modelProperties: { runtimeVersion: { - readOnly: true, serializedName: "runtimeVersion", + readOnly: true, + xmlName: "runtimeVersion", type: { name: "String" } }, remoteDebuggingSupported: { - readOnly: true, serializedName: "remoteDebuggingSupported", + readOnly: true, + xmlName: "remoteDebuggingSupported", type: { name: "Boolean" } }, appInsightsSettings: { - readOnly: true, serializedName: "appInsightsSettings", + xmlName: "appInsightsSettings", type: { name: "Composite", className: "AppInsightsWebAppStackSettings" } }, gitHubActionSettings: { - readOnly: true, serializedName: "gitHubActionSettings", + xmlName: "gitHubActionSettings", type: { name: "Composite", className: "GitHubActionWebAppStackSettings" } }, - appSettingsDictionary: { + isPreview: { + serializedName: "isPreview", readOnly: true, - serializedName: "appSettingsDictionary", + xmlName: "isPreview", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "Boolean" } }, - siteConfigPropertiesDictionary: { + isDeprecated: { + serializedName: "isDeprecated", readOnly: true, - serializedName: "siteConfigPropertiesDictionary", + xmlName: "isDeprecated", type: { - name: "Composite", - className: "SiteConfigPropertiesDictionary" + name: "Boolean" } }, - supportedFunctionsExtensionVersions: { + isHidden: { + serializedName: "isHidden", readOnly: true, - serializedName: "supportedFunctionsExtensionVersions", + xmlName: "isHidden", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Boolean" } }, - isPreview: { + endOfLifeDate: { + serializedName: "endOfLifeDate", readOnly: true, - serializedName: "isPreview", + xmlName: "endOfLifeDate", type: { - name: "Boolean" - } - }, - isDeprecated: { - readOnly: true, - serializedName: "isDeprecated", - type: { - name: "Boolean" - } - }, - isHidden: { - readOnly: true, - serializedName: "isHidden", - type: { - name: "Boolean" - } - }, - endOfLifeDate: { - readOnly: true, - serializedName: "endOfLifeDate", - type: { - name: "DateTime" + name: "DateTime" } }, isAutoUpdate: { - readOnly: true, serializedName: "isAutoUpdate", + readOnly: true, + xmlName: "isAutoUpdate", type: { name: "Boolean" } }, isEarlyAccess: { - readOnly: true, serializedName: "isEarlyAccess", - type: { - name: "Boolean" - } - }, - isDefault: { readOnly: true, - serializedName: "isDefault", + xmlName: "isEarlyAccess", type: { name: "Boolean" } @@ -7058,212 +7050,72 @@ export const FunctionAppRuntimeSettings: msRest.CompositeMapper = { } }; -export const FunctionAppRuntimes: msRest.CompositeMapper = { - serializedName: "FunctionAppRuntimes", - type: { - name: "Composite", - className: "FunctionAppRuntimes", - modelProperties: { - linuxRuntimeSettings: { - readOnly: true, - serializedName: "linuxRuntimeSettings", - type: { - name: "Composite", - className: "FunctionAppRuntimeSettings" - } - }, - windowsRuntimeSettings: { - readOnly: true, - serializedName: "windowsRuntimeSettings", - type: { - name: "Composite", - className: "FunctionAppRuntimeSettings" - } - } - } - } -}; - -export const FunctionAppMinorVersion: msRest.CompositeMapper = { - serializedName: "FunctionAppMinorVersion", - type: { - name: "Composite", - className: "FunctionAppMinorVersion", - modelProperties: { - displayText: { - readOnly: true, - serializedName: "displayText", - type: { - name: "String" - } - }, - value: { - readOnly: true, - serializedName: "value", - type: { - name: "String" - } - }, - stackSettings: { - readOnly: true, - serializedName: "stackSettings", - type: { - name: "Composite", - className: "FunctionAppRuntimes" - } - } - } - } -}; - -export const FunctionAppMajorVersion: msRest.CompositeMapper = { - serializedName: "FunctionAppMajorVersion", - type: { - name: "Composite", - className: "FunctionAppMajorVersion", - modelProperties: { - displayText: { - readOnly: true, - serializedName: "displayText", - type: { - name: "String" - } - }, - value: { - readOnly: true, - serializedName: "value", - type: { - name: "String" - } - }, - minorVersions: { - readOnly: true, - serializedName: "minorVersions", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FunctionAppMinorVersion" - } - } - } - } - } - } -}; - -export const FunctionAppStack: msRest.CompositeMapper = { - serializedName: "FunctionAppStack", - type: { - name: "Composite", - className: "FunctionAppStack", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - location: { - readOnly: true, - serializedName: "location", - type: { - name: "String" - } - }, - displayText: { - readOnly: true, - serializedName: "properties.displayText", - type: { - name: "String" - } - }, - value: { - readOnly: true, - serializedName: "properties.value", - type: { - name: "String" - } - }, - majorVersions: { - readOnly: true, - serializedName: "properties.majorVersions", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FunctionAppMajorVersion" - } - } - } - }, - preferredOs: { - readOnly: true, - serializedName: "properties.preferredOs", - type: { - name: "Enum", - allowedValues: ["Windows", "Linux"] - } - } - } - } -}; - -export const LinuxJavaContainerSettings: msRest.CompositeMapper = { +export const LinuxJavaContainerSettings: coreClient.CompositeMapper = { serializedName: "LinuxJavaContainerSettings", type: { name: "Composite", className: "LinuxJavaContainerSettings", modelProperties: { java11Runtime: { - readOnly: true, serializedName: "java11Runtime", + readOnly: true, + xmlName: "java11Runtime", type: { name: "String" } }, java8Runtime: { - readOnly: true, serializedName: "java8Runtime", + readOnly: true, + xmlName: "java8Runtime", type: { name: "String" } }, isPreview: { - readOnly: true, serializedName: "isPreview", + readOnly: true, + xmlName: "isPreview", type: { name: "Boolean" } }, isDeprecated: { - readOnly: true, serializedName: "isDeprecated", + readOnly: true, + xmlName: "isDeprecated", type: { name: "Boolean" } }, isHidden: { - readOnly: true, serializedName: "isHidden", + readOnly: true, + xmlName: "isHidden", type: { name: "Boolean" } }, endOfLifeDate: { - readOnly: true, serializedName: "endOfLifeDate", + readOnly: true, + xmlName: "endOfLifeDate", type: { name: "DateTime" } }, isAutoUpdate: { - readOnly: true, serializedName: "isAutoUpdate", + readOnly: true, + xmlName: "isAutoUpdate", type: { name: "Boolean" } }, isEarlyAccess: { - readOnly: true, serializedName: "isEarlyAccess", + readOnly: true, + xmlName: "isEarlyAccess", type: { name: "Boolean" } @@ -7272,80 +7124,72 @@ export const LinuxJavaContainerSettings: msRest.CompositeMapper = { } }; -export const WebAppRuntimeSettings: msRest.CompositeMapper = { - serializedName: "WebAppRuntimeSettings", +export const WindowsJavaContainerSettings: coreClient.CompositeMapper = { + serializedName: "WindowsJavaContainerSettings", type: { name: "Composite", - className: "WebAppRuntimeSettings", + className: "WindowsJavaContainerSettings", modelProperties: { - runtimeVersion: { + javaContainer: { + serializedName: "javaContainer", readOnly: true, - serializedName: "runtimeVersion", + xmlName: "javaContainer", type: { name: "String" } }, - remoteDebuggingSupported: { - readOnly: true, - serializedName: "remoteDebuggingSupported", - type: { - name: "Boolean" - } - }, - appInsightsSettings: { - readOnly: true, - serializedName: "appInsightsSettings", - type: { - name: "Composite", - className: "AppInsightsWebAppStackSettings" - } - }, - gitHubActionSettings: { + javaContainerVersion: { + serializedName: "javaContainerVersion", readOnly: true, - serializedName: "gitHubActionSettings", + xmlName: "javaContainerVersion", type: { - name: "Composite", - className: "GitHubActionWebAppStackSettings" + name: "String" } }, isPreview: { - readOnly: true, serializedName: "isPreview", + readOnly: true, + xmlName: "isPreview", type: { name: "Boolean" } }, isDeprecated: { - readOnly: true, serializedName: "isDeprecated", + readOnly: true, + xmlName: "isDeprecated", type: { name: "Boolean" } }, isHidden: { - readOnly: true, serializedName: "isHidden", + readOnly: true, + xmlName: "isHidden", type: { name: "Boolean" } }, endOfLifeDate: { - readOnly: true, serializedName: "endOfLifeDate", + readOnly: true, + xmlName: "endOfLifeDate", type: { name: "DateTime" } }, isAutoUpdate: { - readOnly: true, serializedName: "isAutoUpdate", + readOnly: true, + xmlName: "isAutoUpdate", type: { name: "Boolean" } }, isEarlyAccess: { - readOnly: true, serializedName: "isEarlyAccess", + readOnly: true, + xmlName: "isEarlyAccess", type: { name: "Boolean" } @@ -7354,551 +7198,764 @@ export const WebAppRuntimeSettings: msRest.CompositeMapper = { } }; -export const WindowsJavaContainerSettings: msRest.CompositeMapper = { - serializedName: "WindowsJavaContainerSettings", +export const RecommendationCollection: coreClient.CompositeMapper = { + serializedName: "RecommendationCollection", type: { name: "Composite", - className: "WindowsJavaContainerSettings", + className: "RecommendationCollection", modelProperties: { - javaContainer: { - readOnly: true, - serializedName: "javaContainer", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "Recommendation", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Recommendation" + } + } } }, - javaContainerVersion: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "javaContainerVersion", + xmlName: "nextLink", type: { name: "String" } - }, - isPreview: { - readOnly: true, - serializedName: "isPreview", - type: { - name: "Boolean" - } - }, - isDeprecated: { - readOnly: true, - serializedName: "isDeprecated", - type: { - name: "Boolean" - } - }, - isHidden: { - readOnly: true, - serializedName: "isHidden", + } + } + } +}; + +export const ResourceHealthMetadataCollection: coreClient.CompositeMapper = { + serializedName: "ResourceHealthMetadataCollection", + type: { + name: "Composite", + className: "ResourceHealthMetadataCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "ResourceHealthMetadata", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceHealthMetadata" + } + } } }, - endOfLifeDate: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "endOfLifeDate", + xmlName: "nextLink", type: { - name: "DateTime" + name: "String" } - }, - isAutoUpdate: { - readOnly: true, - serializedName: "isAutoUpdate", + } + } + } +}; + +export const AppserviceGithubTokenRequest: coreClient.CompositeMapper = { + serializedName: "AppserviceGithubTokenRequest", + type: { + name: "Composite", + className: "AppserviceGithubTokenRequest", + modelProperties: { + code: { + serializedName: "code", + required: true, + xmlName: "code", type: { - name: "Boolean" + name: "String" } }, - isEarlyAccess: { - readOnly: true, - serializedName: "isEarlyAccess", + state: { + serializedName: "state", + required: true, + xmlName: "state", type: { - name: "Boolean" + name: "String" } } } } }; -export const WebAppRuntimes: msRest.CompositeMapper = { - serializedName: "WebAppRuntimes", +export const AppserviceGithubToken: coreClient.CompositeMapper = { + serializedName: "AppserviceGithubToken", type: { name: "Composite", - className: "WebAppRuntimes", + className: "AppserviceGithubToken", modelProperties: { - linuxRuntimeSettings: { - readOnly: true, - serializedName: "linuxRuntimeSettings", + accessToken: { + serializedName: "accessToken", + xmlName: "accessToken", type: { - name: "Composite", - className: "WebAppRuntimeSettings" + name: "String" } }, - windowsRuntimeSettings: { - readOnly: true, - serializedName: "windowsRuntimeSettings", + scope: { + serializedName: "scope", + xmlName: "scope", type: { - name: "Composite", - className: "WebAppRuntimeSettings" + name: "String" } }, - linuxContainerSettings: { - readOnly: true, - serializedName: "linuxContainerSettings", + tokenType: { + serializedName: "tokenType", + xmlName: "tokenType", type: { - name: "Composite", - className: "LinuxJavaContainerSettings" + name: "String" } }, - windowsContainerSettings: { - readOnly: true, - serializedName: "windowsContainerSettings", + gotToken: { + serializedName: "gotToken", + xmlName: "gotToken", type: { - name: "Composite", - className: "WindowsJavaContainerSettings" + name: "Boolean" + } + }, + errorMessage: { + serializedName: "errorMessage", + xmlName: "errorMessage", + type: { + name: "String" } } } } }; -export const WebAppMinorVersion: msRest.CompositeMapper = { - serializedName: "WebAppMinorVersion", +export const SourceControlCollection: coreClient.CompositeMapper = { + serializedName: "SourceControlCollection", type: { name: "Composite", - className: "WebAppMinorVersion", + className: "SourceControlCollection", modelProperties: { - displayText: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "SourceControl", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SourceControl" + } + } + } + }, + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "displayText", + xmlName: "nextLink", type: { name: "String" } - }, + } + } + } +}; + +export const BillingMeterCollection: coreClient.CompositeMapper = { + serializedName: "BillingMeterCollection", + type: { + name: "Composite", + className: "BillingMeterCollection", + modelProperties: { value: { - readOnly: true, serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "BillingMeter", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BillingMeter" + } + } } }, - stackSettings: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "stackSettings", + xmlName: "nextLink", type: { - name: "Composite", - className: "WebAppRuntimes" + name: "String" } } } } }; -export const WebAppMajorVersion: msRest.CompositeMapper = { - serializedName: "WebAppMajorVersion", +export const ResourceNameAvailabilityRequest: coreClient.CompositeMapper = { + serializedName: "ResourceNameAvailabilityRequest", type: { name: "Composite", - className: "WebAppMajorVersion", + className: "ResourceNameAvailabilityRequest", modelProperties: { - displayText: { - readOnly: true, - serializedName: "displayText", + name: { + serializedName: "name", + required: true, + xmlName: "name", type: { name: "String" } }, - value: { - readOnly: true, - serializedName: "value", + type: { + serializedName: "type", + required: true, + xmlName: "type", type: { name: "String" } }, - minorVersions: { - readOnly: true, - serializedName: "minorVersions", + isFqdn: { + serializedName: "isFqdn", + xmlName: "isFqdn", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "WebAppMinorVersion" - } - } + name: "Boolean" } } } } }; -export const WebAppStack: msRest.CompositeMapper = { - serializedName: "WebAppStack", +export const ResourceNameAvailability: coreClient.CompositeMapper = { + serializedName: "ResourceNameAvailability", type: { name: "Composite", - className: "WebAppStack", + className: "ResourceNameAvailability", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - location: { - readOnly: true, - serializedName: "location", + nameAvailable: { + serializedName: "nameAvailable", + xmlName: "nameAvailable", type: { - name: "String" + name: "Boolean" } }, - displayText: { - readOnly: true, - serializedName: "properties.displayText", + reason: { + serializedName: "reason", + xmlName: "reason", type: { name: "String" } }, - value: { - readOnly: true, - serializedName: "properties.value", + message: { + serializedName: "message", + xmlName: "message", type: { name: "String" } + } + } + } +}; + +export const DeploymentLocations: coreClient.CompositeMapper = { + serializedName: "DeploymentLocations", + type: { + name: "Composite", + className: "DeploymentLocations", + modelProperties: { + locations: { + serializedName: "locations", + xmlName: "locations", + xmlElementName: "GeoRegion", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GeoRegion" + } + } + } }, - majorVersions: { - readOnly: true, - serializedName: "properties.majorVersions", + hostingEnvironments: { + serializedName: "hostingEnvironments", + xmlName: "hostingEnvironments", + xmlElementName: "AppServiceEnvironment", type: { name: "Sequence", element: { type: { name: "Composite", - className: "WebAppMajorVersion" + className: "AppServiceEnvironment" } } } }, - preferredOs: { - readOnly: true, - serializedName: "properties.preferredOs", + hostingEnvironmentDeploymentInfos: { + serializedName: "hostingEnvironmentDeploymentInfos", + xmlName: "hostingEnvironmentDeploymentInfos", + xmlElementName: "HostingEnvironmentDeploymentInfo", type: { - name: "Enum", - allowedValues: ["Windows", "Linux"] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HostingEnvironmentDeploymentInfo" + } + } } } } } }; -export const Recommendation: msRest.CompositeMapper = { - serializedName: "Recommendation", +export const HostingEnvironmentDeploymentInfo: coreClient.CompositeMapper = { + serializedName: "HostingEnvironmentDeploymentInfo", type: { name: "Composite", - className: "Recommendation", + className: "HostingEnvironmentDeploymentInfo", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - creationTime: { - serializedName: "properties.creationTime", - type: { - name: "DateTime" - } - }, - recommendationId: { - serializedName: "properties.recommendationId", - type: { - name: "Uuid" - } - }, - resourceId: { - serializedName: "properties.resourceId", - type: { - name: "String" - } - }, - resourceScope: { - serializedName: "properties.resourceScope", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - ruleName: { - serializedName: "properties.ruleName", + location: { + serializedName: "location", + xmlName: "location", type: { name: "String" } - }, - displayName: { - serializedName: "properties.displayName", + } + } + } +}; + +export const GeoRegionCollection: coreClient.CompositeMapper = { + serializedName: "GeoRegionCollection", + type: { + name: "Composite", + className: "GeoRegionCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "GeoRegion", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GeoRegion" + } + } } }, - message: { - serializedName: "properties.message", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - level: { - serializedName: "properties.level", + } + } + } +}; + +export const IdentifierCollection: coreClient.CompositeMapper = { + serializedName: "IdentifierCollection", + type: { + name: "Composite", + className: "IdentifierCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "Identifier", type: { - name: "Enum", - allowedValues: ["Critical", "Warning", "Information", "NonUrgentSuggestion"] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Identifier" + } + } } }, - channels: { - serializedName: "properties.channels", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Enum", - allowedValues: ["Notification", "Api", "Email", "Webhook", "All"] + name: "String" } - }, - categoryTags: { - readOnly: true, - serializedName: "properties.categoryTags", + } + } + } +}; + +export const PremierAddOnOfferCollection: coreClient.CompositeMapper = { + serializedName: "PremierAddOnOfferCollection", + type: { + name: "Composite", + className: "PremierAddOnOfferCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "PremierAddOnOffer", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "PremierAddOnOffer" } } } }, - actionName: { - serializedName: "properties.actionName", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - enabled: { - serializedName: "properties.enabled", + } + } + } +}; + +export const SkuInfos: coreClient.CompositeMapper = { + serializedName: "SkuInfos", + type: { + name: "Composite", + className: "SkuInfos", + modelProperties: { + resourceType: { + serializedName: "resourceType", + xmlName: "resourceType", type: { - name: "Number" + name: "String" } }, - states: { - serializedName: "properties.states", + skus: { + serializedName: "skus", + xmlName: "skus", + xmlElementName: "GlobalCsmSkuDescription", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "GlobalCsmSkuDescription" } } } - }, - startTime: { - serializedName: "properties.startTime", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "properties.endTime", + } + } + } +}; + +export const GlobalCsmSkuDescription: coreClient.CompositeMapper = { + serializedName: "GlobalCsmSkuDescription", + type: { + name: "Composite", + className: "GlobalCsmSkuDescription", + modelProperties: { + name: { + serializedName: "name", + xmlName: "name", type: { - name: "DateTime" + name: "String" } }, - nextNotificationTime: { - serializedName: "properties.nextNotificationTime", + tier: { + serializedName: "tier", + xmlName: "tier", type: { - name: "DateTime" + name: "String" } }, - notificationExpirationTime: { - serializedName: "properties.notificationExpirationTime", + size: { + serializedName: "size", + xmlName: "size", type: { - name: "DateTime" + name: "String" } }, - notifiedTime: { - serializedName: "properties.notifiedTime", + family: { + serializedName: "family", + xmlName: "family", type: { - name: "DateTime" + name: "String" } }, - score: { - serializedName: "properties.score", + capacity: { + serializedName: "capacity", + xmlName: "capacity", type: { - name: "Number" + name: "Composite", + className: "SkuCapacity" } }, - isDynamic: { - serializedName: "properties.isDynamic", + locations: { + serializedName: "locations", + xmlName: "locations", + xmlElementName: "GlobalCsmSkuDescriptionLocationsItem", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - extensionName: { - serializedName: "properties.extensionName", + capabilities: { + serializedName: "capabilities", + xmlName: "capabilities", + xmlElementName: "Capability", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Capability" + } + } } - }, - bladeName: { - serializedName: "properties.bladeName", + } + } + } +}; + +export const CsmMoveResourceEnvelope: coreClient.CompositeMapper = { + serializedName: "CsmMoveResourceEnvelope", + type: { + name: "Composite", + className: "CsmMoveResourceEnvelope", + modelProperties: { + targetResourceGroup: { + constraints: { + Pattern: new RegExp(" ^[-\\w\\._\\(\\)]+[^\\.]$"), + MaxLength: 90, + MinLength: 1 + }, + serializedName: "targetResourceGroup", + xmlName: "targetResourceGroup", type: { name: "String" } }, - forwardLink: { - serializedName: "properties.forwardLink", + resources: { + serializedName: "resources", + xmlName: "resources", + xmlElementName: "CsmMoveResourceEnvelopeResourcesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const RecommendationRule: msRest.CompositeMapper = { - serializedName: "RecommendationRule", +export const ValidateRequest: coreClient.CompositeMapper = { + serializedName: "ValidateRequest", type: { name: "Composite", - className: "RecommendationRule", + className: "ValidateRequest", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - recommendationName: { - serializedName: "properties.recommendationName", + name: { + serializedName: "name", + required: true, + xmlName: "name", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", + type: { + serializedName: "type", + required: true, + xmlName: "type", type: { name: "String" } }, - message: { - serializedName: "properties.message", + location: { + serializedName: "location", + required: true, + xmlName: "location", type: { name: "String" } }, - recommendationId: { - serializedName: "properties.recommendationId", + serverFarmId: { + serializedName: "properties.serverFarmId", + xmlName: "properties.serverFarmId", type: { - name: "Uuid" + name: "String" } }, - description: { - serializedName: "properties.description", + skuName: { + serializedName: "properties.skuName", + xmlName: "properties.skuName", type: { name: "String" } }, - actionName: { - serializedName: "properties.actionName", + needLinuxWorkers: { + serializedName: "properties.needLinuxWorkers", + xmlName: "properties.needLinuxWorkers", type: { - name: "String" + name: "Boolean" } }, - level: { - serializedName: "properties.level", + isSpot: { + serializedName: "properties.isSpot", + xmlName: "properties.isSpot", type: { - name: "Enum", - allowedValues: ["Critical", "Warning", "Information", "NonUrgentSuggestion"] + name: "Boolean" } }, - channels: { - serializedName: "properties.channels", + capacity: { + constraints: { + InclusiveMinimum: 1 + }, + serializedName: "properties.capacity", + xmlName: "properties.capacity", type: { - name: "Enum", - allowedValues: ["Notification", "Api", "Email", "Webhook", "All"] + name: "Number" } }, - categoryTags: { - readOnly: true, - serializedName: "properties.categoryTags", + hostingEnvironment: { + serializedName: "properties.hostingEnvironment", + xmlName: "properties.hostingEnvironment", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - isDynamic: { - serializedName: "properties.isDynamic", + isXenon: { + serializedName: "properties.isXenon", + xmlName: "properties.isXenon", type: { name: "Boolean" } }, - extensionName: { - serializedName: "properties.extensionName", + containerRegistryBaseUrl: { + serializedName: "properties.containerRegistryBaseUrl", + xmlName: "properties.containerRegistryBaseUrl", type: { name: "String" } }, - bladeName: { - serializedName: "properties.bladeName", + containerRegistryUsername: { + serializedName: "properties.containerRegistryUsername", + xmlName: "properties.containerRegistryUsername", type: { name: "String" } }, - forwardLink: { - serializedName: "properties.forwardLink", + containerRegistryPassword: { + serializedName: "properties.containerRegistryPassword", + xmlName: "properties.containerRegistryPassword", type: { name: "String" } - } - } - } -}; - -export const AppserviceGithubToken: msRest.CompositeMapper = { - serializedName: "AppserviceGithubToken", - type: { - name: "Composite", - className: "AppserviceGithubToken", - modelProperties: { - accessToken: { - serializedName: "accessToken", + }, + containerImageRepository: { + serializedName: "properties.containerImageRepository", + xmlName: "properties.containerImageRepository", type: { name: "String" } }, - scope: { - serializedName: "scope", + containerImageTag: { + serializedName: "properties.containerImageTag", + xmlName: "properties.containerImageTag", type: { name: "String" } }, - tokenType: { - serializedName: "tokenType", + containerImagePlatform: { + serializedName: "properties.containerImagePlatform", + xmlName: "properties.containerImagePlatform", type: { name: "String" } }, - gotToken: { - serializedName: "gotToken", + appServiceEnvironment: { + serializedName: "properties.appServiceEnvironment", + xmlName: "properties.appServiceEnvironment", type: { - name: "Boolean" + name: "Composite", + className: "AppServiceEnvironment" } - }, - errorMessage: { - serializedName: "errorMessage", + } + } + } +}; + +export const ValidateResponse: coreClient.CompositeMapper = { + serializedName: "ValidateResponse", + type: { + name: "Composite", + className: "ValidateResponse", + modelProperties: { + status: { + serializedName: "status", + xmlName: "status", type: { name: "String" } + }, + error: { + serializedName: "error", + xmlName: "error", + type: { + name: "Composite", + className: "ValidateResponseError" + } } } } }; -export const AppserviceGithubTokenRequest: msRest.CompositeMapper = { - serializedName: "AppserviceGithubTokenRequest", +export const ValidateResponseError: coreClient.CompositeMapper = { + serializedName: "ValidateResponseError", type: { name: "Composite", - className: "AppserviceGithubTokenRequest", + className: "ValidateResponseError", modelProperties: { code: { - required: true, serializedName: "code", + xmlName: "code", type: { name: "String" } }, - state: { - required: true, - serializedName: "state", + message: { + serializedName: "message", + xmlName: "message", type: { name: "String" } @@ -7907,230 +7964,199 @@ export const AppserviceGithubTokenRequest: msRest.CompositeMapper = { } }; -export const BillingMeter: msRest.CompositeMapper = { - serializedName: "BillingMeter", +export const StaticSiteBuildProperties: coreClient.CompositeMapper = { + serializedName: "StaticSiteBuildProperties", type: { name: "Composite", - className: "BillingMeter", + className: "StaticSiteBuildProperties", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - meterId: { - serializedName: "properties.meterId", + appLocation: { + serializedName: "appLocation", + xmlName: "appLocation", type: { name: "String" } }, - billingLocation: { - serializedName: "properties.billingLocation", + apiLocation: { + serializedName: "apiLocation", + xmlName: "apiLocation", type: { name: "String" } }, - shortName: { - serializedName: "properties.shortName", + appArtifactLocation: { + serializedName: "appArtifactLocation", + xmlName: "appArtifactLocation", type: { name: "String" } }, - friendlyName: { - serializedName: "properties.friendlyName", + outputLocation: { + serializedName: "outputLocation", + xmlName: "outputLocation", type: { name: "String" } }, - resourceType: { - serializedName: "properties.resourceType", + appBuildCommand: { + serializedName: "appBuildCommand", + xmlName: "appBuildCommand", type: { name: "String" } }, - osType: { - serializedName: "properties.osType", + apiBuildCommand: { + serializedName: "apiBuildCommand", + xmlName: "apiBuildCommand", type: { name: "String" } }, - multiplier: { - serializedName: "properties.multiplier", + skipGithubActionWorkflowGeneration: { + serializedName: "skipGithubActionWorkflowGeneration", + xmlName: "skipGithubActionWorkflowGeneration", type: { - name: "Number" + name: "Boolean" + } + }, + githubActionSecretNameOverride: { + serializedName: "githubActionSecretNameOverride", + xmlName: "githubActionSecretNameOverride", + type: { + name: "String" } } } } }; -export const CsmMoveResourceEnvelope: msRest.CompositeMapper = { - serializedName: "CsmMoveResourceEnvelope", +export const StaticSiteCollection: coreClient.CompositeMapper = { + serializedName: "StaticSiteCollection", type: { name: "Composite", - className: "CsmMoveResourceEnvelope", + className: "StaticSiteCollection", modelProperties: { - targetResourceGroup: { - serializedName: "targetResourceGroup", - constraints: { - MaxLength: 90, - MinLength: 1, - Pattern: / ^[-\w\._\(\)]+[^\.]$/ - }, - type: { - name: "String" - } - }, - resources: { - serializedName: "resources", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "StaticSiteARMResource", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "StaticSiteARMResource" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", + type: { + name: "String" + } } } } }; -export const GeoRegion: msRest.CompositeMapper = { - serializedName: "GeoRegion", +export const ResponseMessageEnvelopeRemotePrivateEndpointConnection: coreClient.CompositeMapper = { + serializedName: "ResponseMessageEnvelopeRemotePrivateEndpointConnection", type: { name: "Composite", - className: "GeoRegion", + className: "ResponseMessageEnvelopeRemotePrivateEndpointConnection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - description: { - readOnly: true, - serializedName: "properties.description", + id: { + serializedName: "id", + xmlName: "id", type: { name: "String" } }, - displayName: { - readOnly: true, - serializedName: "properties.displayName", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - orgDomain: { - readOnly: true, - serializedName: "properties.orgDomain", - type: { - name: "String" - } - } - } - } -}; - -export const HostingEnvironmentDeploymentInfo: msRest.CompositeMapper = { - serializedName: "HostingEnvironmentDeploymentInfo", - type: { - name: "Composite", - className: "HostingEnvironmentDeploymentInfo", - modelProperties: { - name: { - serializedName: "name", + type: { + serializedName: "type", + xmlName: "type", type: { name: "String" } }, location: { serializedName: "location", + xmlName: "location", type: { name: "String" } - } - } - } -}; - -export const DeploymentLocations: msRest.CompositeMapper = { - serializedName: "DeploymentLocations", - type: { - name: "Composite", - className: "DeploymentLocations", - modelProperties: { - locations: { - serializedName: "locations", + }, + tags: { + serializedName: "tags", + xmlName: "tags", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "GeoRegion" - } - } + name: "Dictionary", + value: { type: { name: "String" } } } }, - hostingEnvironments: { - serializedName: "hostingEnvironments", + plan: { + serializedName: "plan", + xmlName: "plan", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AppServiceEnvironment" - } - } + name: "Composite", + className: "ArmPlan" } }, - hostingEnvironmentDeploymentInfos: { - serializedName: "hostingEnvironmentDeploymentInfos", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HostingEnvironmentDeploymentInfo" - } - } - } - } - } - } -}; - -export const GlobalCsmSkuDescription: msRest.CompositeMapper = { - serializedName: "GlobalCsmSkuDescription", - type: { - name: "Composite", - className: "GlobalCsmSkuDescription", - modelProperties: { - name: { - serializedName: "name", + properties: { + serializedName: "properties", + xmlName: "properties", type: { - name: "String" + name: "Composite", + className: "RemotePrivateEndpointConnection" } }, - tier: { - serializedName: "tier", + sku: { + serializedName: "sku", + xmlName: "sku", type: { - name: "String" + name: "Composite", + className: "SkuDescription" } }, - size: { - serializedName: "size", + status: { + serializedName: "status", + xmlName: "status", type: { name: "String" } }, - family: { - serializedName: "family", + error: { + serializedName: "error", + xmlName: "error", type: { - name: "String" + name: "Composite", + className: "ErrorEntity" } }, - capacity: { - serializedName: "capacity", + identity: { + serializedName: "identity", + xmlName: "identity", type: { name: "Composite", - className: "SkuCapacity" + className: "ManagedServiceIdentity" } }, - locations: { - serializedName: "locations", + zones: { + serializedName: "zones", + xmlName: "zones", + xmlElementName: + "ResponseMessageEnvelopeRemotePrivateEndpointConnectionZonesItem", type: { name: "Sequence", element: { @@ -8139,115 +8165,126 @@ export const GlobalCsmSkuDescription: msRest.CompositeMapper = { } } } - }, - capabilities: { - serializedName: "capabilities", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Capability" - } - } - } } } } }; -export const PremierAddOnOffer: msRest.CompositeMapper = { - serializedName: "PremierAddOnOffer", +export const ArmPlan: coreClient.CompositeMapper = { + serializedName: "ArmPlan", type: { name: "Composite", - className: "PremierAddOnOffer", + className: "ArmPlan", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - sku: { - serializedName: "properties.sku", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - product: { - serializedName: "properties.product", + publisher: { + serializedName: "publisher", + xmlName: "publisher", type: { name: "String" } }, - vendor: { - serializedName: "properties.vendor", + product: { + serializedName: "product", + xmlName: "product", type: { name: "String" } }, - promoCodeRequired: { - serializedName: "properties.promoCodeRequired", + promotionCode: { + serializedName: "promotionCode", + xmlName: "promotionCode", type: { - name: "Boolean" + name: "String" } }, - quota: { - serializedName: "properties.quota", + version: { + serializedName: "version", + xmlName: "version", type: { - name: "Number" + name: "String" } - }, - webHostingPlanRestrictions: { - serializedName: "properties.webHostingPlanRestrictions", + } + } + } +}; + +export const StaticSiteTemplateOptions: coreClient.CompositeMapper = { + serializedName: "StaticSiteTemplateOptions", + type: { + name: "Composite", + className: "StaticSiteTemplateOptions", + modelProperties: { + templateRepositoryUrl: { + serializedName: "templateRepositoryUrl", + xmlName: "templateRepositoryUrl", type: { - name: "Enum", - allowedValues: ["None", "Free", "Shared", "Basic", "Standard", "Premium"] + name: "String" } }, - privacyPolicyUrl: { - serializedName: "properties.privacyPolicyUrl", + owner: { + serializedName: "owner", + xmlName: "owner", type: { name: "String" } }, - legalTermsUrl: { - serializedName: "properties.legalTermsUrl", + repositoryName: { + serializedName: "repositoryName", + xmlName: "repositoryName", type: { name: "String" } }, - marketplacePublisher: { - serializedName: "properties.marketplacePublisher", + description: { + serializedName: "description", + xmlName: "description", type: { name: "String" } }, - marketplaceOffer: { - serializedName: "properties.marketplaceOffer", + isPrivate: { + serializedName: "isPrivate", + xmlName: "isPrivate", type: { - name: "String" + name: "Boolean" } } } } }; -export const ResourceNameAvailability: msRest.CompositeMapper = { - serializedName: "ResourceNameAvailability", +export const StaticSiteUserCollection: coreClient.CompositeMapper = { + serializedName: "StaticSiteUserCollection", type: { name: "Composite", - className: "ResourceNameAvailability", + className: "StaticSiteUserCollection", modelProperties: { - nameAvailable: { - serializedName: "nameAvailable", - type: { - name: "Boolean" - } - }, - reason: { - serializedName: "reason", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "StaticSiteUserARMResource", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StaticSiteUserARMResource" + } + } } }, - message: { - serializedName: "message", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -8256,232 +8293,290 @@ export const ResourceNameAvailability: msRest.CompositeMapper = { } }; -export const ResourceNameAvailabilityRequest: msRest.CompositeMapper = { - serializedName: "ResourceNameAvailabilityRequest", +export const StaticSiteBuildCollection: coreClient.CompositeMapper = { + serializedName: "StaticSiteBuildCollection", type: { name: "Composite", - className: "ResourceNameAvailabilityRequest", + className: "StaticSiteBuildCollection", modelProperties: { - name: { + value: { + serializedName: "value", required: true, - serializedName: "name", + xmlName: "value", + xmlElementName: "StaticSiteBuildARMResource", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StaticSiteBuildARMResource" + } + } } }, - type: { - required: true, - serializedName: "type", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - isFqdn: { - serializedName: "isFqdn", - type: { - name: "Boolean" - } } } } }; -export const SkuInfos: msRest.CompositeMapper = { - serializedName: "SkuInfos", +export const StaticSiteFunctionOverviewCollection: coreClient.CompositeMapper = { + serializedName: "StaticSiteFunctionOverviewCollection", type: { name: "Composite", - className: "SkuInfos", + className: "StaticSiteFunctionOverviewCollection", modelProperties: { - resourceType: { - serializedName: "resourceType", - type: { - name: "String" - } - }, - skus: { - serializedName: "skus", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "StaticSiteFunctionOverviewARMResource", type: { name: "Sequence", element: { type: { name: "Composite", - className: "GlobalCsmSkuDescription" + className: "StaticSiteFunctionOverviewARMResource" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", + type: { + name: "String" + } } } } }; -export const SourceControl: msRest.CompositeMapper = { - serializedName: "SourceControl", +export const StaticSiteUserProvidedFunctionAppsCollection: coreClient.CompositeMapper = { + serializedName: "StaticSiteUserProvidedFunctionAppsCollection", type: { name: "Composite", - className: "SourceControl", + className: "StaticSiteUserProvidedFunctionAppsCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - token: { - serializedName: "properties.token", - type: { - name: "String" - } - }, - tokenSecret: { - serializedName: "properties.tokenSecret", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "StaticSiteUserProvidedFunctionAppARMResource", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StaticSiteUserProvidedFunctionAppARMResource" + } + } } }, - refreshToken: { - serializedName: "properties.refreshToken", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - expirationTime: { - serializedName: "properties.expirationTime", - type: { - name: "DateTime" - } } } } }; -export const ValidateRequest: msRest.CompositeMapper = { - serializedName: "ValidateRequest", +export const StaticSiteCustomDomainOverviewCollection: coreClient.CompositeMapper = { + serializedName: "StaticSiteCustomDomainOverviewCollection", type: { name: "Composite", - className: "ValidateRequest", + className: "StaticSiteCustomDomainOverviewCollection", modelProperties: { - name: { + value: { + serializedName: "value", required: true, - serializedName: "name", + xmlName: "value", + xmlElementName: "StaticSiteCustomDomainOverviewARMResource", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StaticSiteCustomDomainOverviewARMResource" + } + } } }, - type: { - required: true, - serializedName: "type", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - location: { + } + } + } +}; + +export const CsmSlotEntity: coreClient.CompositeMapper = { + serializedName: "CsmSlotEntity", + type: { + name: "Composite", + className: "CsmSlotEntity", + modelProperties: { + targetSlot: { + serializedName: "targetSlot", required: true, - serializedName: "location", - type: { - name: "String" - } - }, - serverFarmId: { - serializedName: "properties.serverFarmId", - type: { - name: "String" - } - }, - skuName: { - serializedName: "properties.skuName", + xmlName: "targetSlot", type: { name: "String" } }, - needLinuxWorkers: { - serializedName: "properties.needLinuxWorkers", - type: { - name: "Boolean" - } - }, - isSpot: { - serializedName: "properties.isSpot", + preserveVnet: { + serializedName: "preserveVnet", + required: true, + xmlName: "preserveVnet", type: { name: "Boolean" } - }, - capacity: { - serializedName: "properties.capacity", - constraints: { - InclusiveMinimum: 1 - }, + } + } + } +}; + +export const BackupSchedule: coreClient.CompositeMapper = { + serializedName: "BackupSchedule", + type: { + name: "Composite", + className: "BackupSchedule", + modelProperties: { + frequencyInterval: { + defaultValue: 7, + serializedName: "frequencyInterval", + required: true, + xmlName: "frequencyInterval", type: { name: "Number" } }, - hostingEnvironment: { - serializedName: "properties.hostingEnvironment", + frequencyUnit: { + defaultValue: "Day", + serializedName: "frequencyUnit", + required: true, + xmlName: "frequencyUnit", type: { - name: "String" + name: "Enum", + allowedValues: ["Day", "Hour"] } }, - isXenon: { - serializedName: "properties.isXenon", + keepAtLeastOneBackup: { + defaultValue: true, + serializedName: "keepAtLeastOneBackup", + required: true, + xmlName: "keepAtLeastOneBackup", type: { name: "Boolean" } }, - containerRegistryBaseUrl: { - serializedName: "properties.containerRegistryBaseUrl", + retentionPeriodInDays: { + defaultValue: 30, + serializedName: "retentionPeriodInDays", + required: true, + xmlName: "retentionPeriodInDays", type: { - name: "String" + name: "Number" } }, - containerRegistryUsername: { - serializedName: "properties.containerRegistryUsername", + startTime: { + serializedName: "startTime", + xmlName: "startTime", type: { - name: "String" + name: "DateTime" } }, - containerRegistryPassword: { - serializedName: "properties.containerRegistryPassword", + lastExecutionTime: { + serializedName: "lastExecutionTime", + readOnly: true, + xmlName: "lastExecutionTime", type: { - name: "String" + name: "DateTime" } - }, - containerImageRepository: { - serializedName: "properties.containerImageRepository", + } + } + } +}; + +export const DatabaseBackupSetting: coreClient.CompositeMapper = { + serializedName: "DatabaseBackupSetting", + type: { + name: "Composite", + className: "DatabaseBackupSetting", + modelProperties: { + databaseType: { + serializedName: "databaseType", + required: true, + xmlName: "databaseType", type: { name: "String" } }, - containerImageTag: { - serializedName: "properties.containerImageTag", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - containerImagePlatform: { - serializedName: "properties.containerImagePlatform", + connectionStringName: { + serializedName: "connectionStringName", + xmlName: "connectionStringName", type: { name: "String" } }, - appServiceEnvironment: { - serializedName: "properties.appServiceEnvironment", + connectionString: { + serializedName: "connectionString", + xmlName: "connectionString", type: { - name: "Composite", - className: "AppServiceEnvironment" + name: "String" } } } } }; -export const ValidateResponseError: msRest.CompositeMapper = { - serializedName: "ValidateResponseError", +export const BackupItemCollection: coreClient.CompositeMapper = { + serializedName: "BackupItemCollection", type: { name: "Composite", - className: "ValidateResponseError", + className: "BackupItemCollection", modelProperties: { - code: { - serializedName: "code", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "BackupItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BackupItem" + } + } } }, - message: { - serializedName: "message", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -8490,56 +8585,64 @@ export const ValidateResponseError: msRest.CompositeMapper = { } }; -export const ValidateResponse: msRest.CompositeMapper = { - serializedName: "ValidateResponse", +export const PublishingCredentialsPoliciesCollection: coreClient.CompositeMapper = { + serializedName: "PublishingCredentialsPoliciesCollection", type: { name: "Composite", - className: "ValidateResponse", + className: "PublishingCredentialsPoliciesCollection", modelProperties: { - status: { - serializedName: "status", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "CsmPublishingCredentialsPoliciesEntity", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CsmPublishingCredentialsPoliciesEntity" + } + } } }, - error: { - serializedName: "error", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Composite", - className: "ValidateResponseError" + name: "String" } } } } }; -export const VnetParameters: msRest.CompositeMapper = { - serializedName: "VnetParameters", +export const SiteConfigResourceCollection: coreClient.CompositeMapper = { + serializedName: "SiteConfigResourceCollection", type: { name: "Composite", - className: "VnetParameters", + className: "SiteConfigResourceCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - vnetResourceGroup: { - serializedName: "properties.vnetResourceGroup", - type: { - name: "String" - } - }, - vnetName: { - serializedName: "properties.vnetName", - type: { - name: "String" - } - }, - vnetSubnetName: { - serializedName: "properties.vnetSubnetName", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "SiteConfigResource", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SiteConfigResource" + } + } } }, - subnetResourceId: { - serializedName: "properties.subnetResourceId", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -8548,21 +8651,29 @@ export const VnetParameters: msRest.CompositeMapper = { } }; -export const VnetValidationTestFailure: msRest.CompositeMapper = { - serializedName: "VnetValidationTestFailure", +export const AuthPlatform: coreClient.CompositeMapper = { + serializedName: "AuthPlatform", type: { name: "Composite", - className: "VnetValidationTestFailure", + className: "AuthPlatform", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - testName: { - serializedName: "properties.testName", + enabled: { + serializedName: "enabled", + xmlName: "enabled", + type: { + name: "Boolean" + } + }, + runtimeVersion: { + serializedName: "runtimeVersion", + xmlName: "runtimeVersion", type: { name: "String" } }, - details: { - serializedName: "properties.details", + configFilePath: { + serializedName: "configFilePath", + xmlName: "configFilePath", type: { name: "String" } @@ -8571,62 +8682,43 @@ export const VnetValidationTestFailure: msRest.CompositeMapper = { } }; -export const VnetValidationFailureDetails: msRest.CompositeMapper = { - serializedName: "VnetValidationFailureDetails", +export const GlobalValidation: coreClient.CompositeMapper = { + serializedName: "GlobalValidation", type: { name: "Composite", - className: "VnetValidationFailureDetails", + className: "GlobalValidation", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - message: { - serializedName: "properties.message", + requireAuthentication: { + serializedName: "requireAuthentication", + xmlName: "requireAuthentication", type: { - name: "String" + name: "Boolean" } }, - failed: { - serializedName: "properties.failed", + unauthenticatedClientAction: { + serializedName: "unauthenticatedClientAction", + xmlName: "unauthenticatedClientAction", type: { - name: "Boolean" + name: "Enum", + allowedValues: [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ] } }, - failedTests: { - serializedName: "properties.failedTests", + redirectToProvider: { + serializedName: "redirectToProvider", + xmlName: "redirectToProvider", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VnetValidationTestFailure" - } - } + name: "String" } }, - warnings: { - serializedName: "properties.warnings", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VnetValidationTestFailure" - } - } - } - } - } - } -}; - -export const AllowedAudiencesValidation: msRest.CompositeMapper = { - serializedName: "AllowedAudiencesValidation", - type: { - name: "Composite", - className: "AllowedAudiencesValidation", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - allowedAudiences: { - serializedName: "properties.allowedAudiences", + excludedPaths: { + serializedName: "excludedPaths", + xmlName: "excludedPaths", + xmlElementName: "GlobalValidationExcludedPathsItem", type: { name: "Sequence", element: { @@ -8640,141 +8732,195 @@ export const AllowedAudiencesValidation: msRest.CompositeMapper = { } }; -export const ApiKVReference: msRest.CompositeMapper = { - serializedName: "ApiKVReference", +export const IdentityProviders: coreClient.CompositeMapper = { + serializedName: "IdentityProviders", type: { name: "Composite", - className: "ApiKVReference", + className: "IdentityProviders", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - reference: { - serializedName: "properties.reference", + azureActiveDirectory: { + serializedName: "azureActiveDirectory", + xmlName: "azureActiveDirectory", type: { - name: "String" + name: "Composite", + className: "AzureActiveDirectory" } }, - status: { - serializedName: "properties.status", + facebook: { + serializedName: "facebook", + xmlName: "facebook", type: { - name: "Enum", - allowedValues: [ - "Initialized", - "Resolved", - "InvalidSyntax", - "MSINotEnabled", - "VaultNotFound", - "SecretNotFound", - "SecretVersionNotFound", - "AccessToKeyVaultDenied", - "OtherReasons", - "FetchTimedOut", - "UnauthorizedClient" - ] + name: "Composite", + className: "Facebook" } }, - vaultName: { - serializedName: "properties.vaultName", + gitHub: { + serializedName: "gitHub", + xmlName: "gitHub", type: { - name: "String" + name: "Composite", + className: "GitHub" } }, - secretName: { - serializedName: "properties.secretName", + google: { + serializedName: "google", + xmlName: "google", type: { - name: "String" + name: "Composite", + className: "Google" } }, - secretVersion: { - serializedName: "properties.secretVersion", + twitter: { + serializedName: "twitter", + xmlName: "twitter", type: { - name: "String" + name: "Composite", + className: "Twitter" } }, - identityType: { - serializedName: "properties.identityType", + customOpenIdConnectProviders: { + serializedName: "customOpenIdConnectProviders", + xmlName: "customOpenIdConnectProviders", type: { - name: "Composite", - className: "ManagedServiceIdentity" + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "CustomOpenIdConnectProvider" + } + } } }, - details: { - serializedName: "properties.details", + legacyMicrosoftAccount: { + serializedName: "legacyMicrosoftAccount", + xmlName: "legacyMicrosoftAccount", type: { - name: "String" + name: "Composite", + className: "LegacyMicrosoftAccount" } }, - source: { - serializedName: "properties.source", + apple: { + serializedName: "apple", + xmlName: "apple", type: { - name: "Enum", - allowedValues: ["KeyVault"] + name: "Composite", + className: "Apple" } }, - activeVersion: { - serializedName: "properties.activeVersion", + azureStaticWebApps: { + serializedName: "azureStaticWebApps", + xmlName: "azureStaticWebApps", type: { - name: "String" + name: "Composite", + className: "AzureStaticWebApps" } } } } }; -export const AppRegistration: msRest.CompositeMapper = { - serializedName: "AppRegistration", +export const AzureActiveDirectory: coreClient.CompositeMapper = { + serializedName: "AzureActiveDirectory", type: { name: "Composite", - className: "AppRegistration", + className: "AzureActiveDirectory", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - appId: { - serializedName: "properties.appId", + enabled: { + serializedName: "enabled", + xmlName: "enabled", type: { - name: "String" + name: "Boolean" } }, - appSecretSettingName: { - serializedName: "properties.appSecretSettingName", + registration: { + serializedName: "registration", + xmlName: "registration", type: { - name: "String" + name: "Composite", + className: "AzureActiveDirectoryRegistration" + } + }, + login: { + serializedName: "login", + xmlName: "login", + type: { + name: "Composite", + className: "AzureActiveDirectoryLogin" + } + }, + validation: { + serializedName: "validation", + xmlName: "validation", + type: { + name: "Composite", + className: "AzureActiveDirectoryValidation" + } + }, + isAutoProvisioned: { + serializedName: "isAutoProvisioned", + xmlName: "isAutoProvisioned", + type: { + name: "Boolean" } } } } }; -export const AppleRegistration: msRest.CompositeMapper = { - serializedName: "AppleRegistration", +export const JwtClaimChecks: coreClient.CompositeMapper = { + serializedName: "JwtClaimChecks", type: { name: "Composite", - className: "AppleRegistration", + className: "JwtClaimChecks", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - clientId: { - serializedName: "properties.clientId", + allowedGroups: { + serializedName: "allowedGroups", + xmlName: "allowedGroups", + xmlElementName: "JwtClaimChecksAllowedGroupsItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - clientSecretSettingName: { - serializedName: "properties.clientSecretSettingName", + allowedClientApplications: { + serializedName: "allowedClientApplications", + xmlName: "allowedClientApplications", + xmlElementName: "JwtClaimChecksAllowedClientApplicationsItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const LoginScopes: msRest.CompositeMapper = { - serializedName: "LoginScopes", +export const DefaultAuthorizationPolicy: coreClient.CompositeMapper = { + serializedName: "DefaultAuthorizationPolicy", type: { name: "Composite", - className: "LoginScopes", + className: "DefaultAuthorizationPolicy", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - scopes: { - serializedName: "properties.scopes", + allowedPrincipals: { + serializedName: "allowedPrincipals", + xmlName: "allowedPrincipals", + type: { + name: "Composite", + className: "AllowedPrincipals" + } + }, + allowedApplications: { + serializedName: "allowedApplications", + xmlName: "allowedApplications", + xmlElementName: "DefaultAuthorizationPolicyAllowedApplicationsItem", type: { name: "Sequence", element: { @@ -8788,28 +8934,37 @@ export const LoginScopes: msRest.CompositeMapper = { } }; -export const Apple: msRest.CompositeMapper = { - serializedName: "Apple", +export const Facebook: coreClient.CompositeMapper = { + serializedName: "Facebook", type: { name: "Composite", - className: "Apple", + className: "Facebook", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, enabled: { - serializedName: "properties.enabled", + serializedName: "enabled", + xmlName: "enabled", type: { name: "Boolean" } }, registration: { - serializedName: "properties.registration", + serializedName: "registration", + xmlName: "registration", type: { name: "Composite", - className: "AppleRegistration" + className: "AppRegistration" + } + }, + graphApiVersion: { + serializedName: "graphApiVersion", + xmlName: "graphApiVersion", + type: { + name: "String" } }, login: { - serializedName: "properties.login", + serializedName: "login", + xmlName: "login", type: { name: "Composite", className: "LoginScopes" @@ -8819,40 +8974,45 @@ export const Apple: msRest.CompositeMapper = { } }; -export const FileSystemApplicationLogsConfig: msRest.CompositeMapper = { - serializedName: "FileSystemApplicationLogsConfig", +export const LoginScopes: coreClient.CompositeMapper = { + serializedName: "LoginScopes", type: { name: "Composite", - className: "FileSystemApplicationLogsConfig", + className: "LoginScopes", modelProperties: { - level: { - serializedName: "level", - defaultValue: "Off", + scopes: { + serializedName: "scopes", + xmlName: "scopes", + xmlElementName: "LoginScopesItem", type: { - name: "Enum", - allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"] + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const AzureTableStorageApplicationLogsConfig: msRest.CompositeMapper = { - serializedName: "AzureTableStorageApplicationLogsConfig", +export const ClientRegistration: coreClient.CompositeMapper = { + serializedName: "ClientRegistration", type: { name: "Composite", - className: "AzureTableStorageApplicationLogsConfig", + className: "ClientRegistration", modelProperties: { - level: { - serializedName: "level", + clientId: { + serializedName: "clientId", + xmlName: "clientId", type: { - name: "Enum", - allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"] + name: "String" } }, - sasUrl: { - required: true, - serializedName: "sasUrl", + clientSecretSettingName: { + serializedName: "clientSecretSettingName", + xmlName: "clientSecretSettingName", type: { name: "String" } @@ -8861,87 +9021,103 @@ export const AzureTableStorageApplicationLogsConfig: msRest.CompositeMapper = { } }; -export const AzureBlobStorageApplicationLogsConfig: msRest.CompositeMapper = { - serializedName: "AzureBlobStorageApplicationLogsConfig", +export const AllowedAudiencesValidation: coreClient.CompositeMapper = { + serializedName: "AllowedAudiencesValidation", type: { name: "Composite", - className: "AzureBlobStorageApplicationLogsConfig", + className: "AllowedAudiencesValidation", modelProperties: { - level: { - serializedName: "level", - type: { - name: "Enum", - allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"] - } - }, - sasUrl: { - serializedName: "sasUrl", + allowedAudiences: { + serializedName: "allowedAudiences", + xmlName: "allowedAudiences", + xmlElementName: "AllowedAudiencesValidationAllowedAudiencesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - }, - retentionInDays: { - serializedName: "retentionInDays", + } + } + } +}; + +export const TwitterRegistration: coreClient.CompositeMapper = { + serializedName: "TwitterRegistration", + type: { + name: "Composite", + className: "TwitterRegistration", + modelProperties: { + consumerKey: { + serializedName: "consumerKey", + xmlName: "consumerKey", type: { - name: "Number" + name: "String" + } + }, + consumerSecretSettingName: { + serializedName: "consumerSecretSettingName", + xmlName: "consumerSecretSettingName", + type: { + name: "String" } } } } }; -export const ApplicationLogsConfig: msRest.CompositeMapper = { - serializedName: "ApplicationLogsConfig", +export const OpenIdConnectRegistration: coreClient.CompositeMapper = { + serializedName: "OpenIdConnectRegistration", type: { name: "Composite", - className: "ApplicationLogsConfig", + className: "OpenIdConnectRegistration", modelProperties: { - fileSystem: { - serializedName: "fileSystem", + clientId: { + serializedName: "clientId", + xmlName: "clientId", type: { - name: "Composite", - className: "FileSystemApplicationLogsConfig" + name: "String" } }, - azureTableStorage: { - serializedName: "azureTableStorage", + clientCredential: { + serializedName: "clientCredential", + xmlName: "clientCredential", type: { name: "Composite", - className: "AzureTableStorageApplicationLogsConfig" + className: "OpenIdConnectClientCredential" } }, - azureBlobStorage: { - serializedName: "azureBlobStorage", + openIdConnectConfiguration: { + serializedName: "openIdConnectConfiguration", + xmlName: "openIdConnectConfiguration", type: { name: "Composite", - className: "AzureBlobStorageApplicationLogsConfig" + className: "OpenIdConnectConfig" } } } } }; -export const AuthPlatform: msRest.CompositeMapper = { - serializedName: "AuthPlatform", +export const OpenIdConnectClientCredential: coreClient.CompositeMapper = { + serializedName: "OpenIdConnectClientCredential", type: { name: "Composite", - className: "AuthPlatform", + className: "OpenIdConnectClientCredential", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", - type: { - name: "Boolean" - } - }, - runtimeVersion: { - serializedName: "properties.runtimeVersion", + method: { + defaultValue: "ClientSecretPost", + isConstant: true, + serializedName: "method", type: { name: "String" } }, - configFilePath: { - serializedName: "properties.configFilePath", + clientSecretSettingName: { + serializedName: "clientSecretSettingName", + xmlName: "clientSecretSettingName", type: { name: "String" } @@ -8950,33 +9126,43 @@ export const AuthPlatform: msRest.CompositeMapper = { } }; -export const AzureActiveDirectoryRegistration: msRest.CompositeMapper = { - serializedName: "AzureActiveDirectoryRegistration", +export const OpenIdConnectConfig: coreClient.CompositeMapper = { + serializedName: "OpenIdConnectConfig", type: { name: "Composite", - className: "AzureActiveDirectoryRegistration", + className: "OpenIdConnectConfig", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - openIdIssuer: { - serializedName: "properties.openIdIssuer", + authorizationEndpoint: { + serializedName: "authorizationEndpoint", + xmlName: "authorizationEndpoint", type: { name: "String" } }, - clientId: { - serializedName: "properties.clientId", + tokenEndpoint: { + serializedName: "tokenEndpoint", + xmlName: "tokenEndpoint", type: { name: "String" } }, - clientSecretSettingName: { - serializedName: "properties.clientSecretSettingName", + issuer: { + serializedName: "issuer", + xmlName: "issuer", type: { name: "String" } }, - clientSecretCertificateThumbprint: { - serializedName: "properties.clientSecretCertificateThumbprint", + certificationUri: { + serializedName: "certificationUri", + xmlName: "certificationUri", + type: { + name: "String" + } + }, + wellKnownOpenIdConfiguration: { + serializedName: "wellKnownOpenIdConfiguration", + xmlName: "wellKnownOpenIdConfiguration", type: { name: "String" } @@ -8985,21 +9171,23 @@ export const AzureActiveDirectoryRegistration: msRest.CompositeMapper = { } }; -export const AzureActiveDirectoryLogin: msRest.CompositeMapper = { - serializedName: "AzureActiveDirectoryLogin", +export const OpenIdConnectLogin: coreClient.CompositeMapper = { + serializedName: "OpenIdConnectLogin", type: { name: "Composite", - className: "AzureActiveDirectoryLogin", + className: "OpenIdConnectLogin", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - disableWWWAuthenticate: { - serializedName: "properties.disableWWWAuthenticate", + nameClaimType: { + serializedName: "nameClaimType", + xmlName: "nameClaimType", type: { - name: "Boolean" + name: "String" } }, - loginParameters: { - serializedName: "properties.loginParameters", + scopes: { + serializedName: "scopes", + xmlName: "scopes", + xmlElementName: "OpenIdConnectLoginScopesItem", type: { name: "Sequence", element: { @@ -9013,149 +9201,175 @@ export const AzureActiveDirectoryLogin: msRest.CompositeMapper = { } }; -export const JwtClaimChecks: msRest.CompositeMapper = { - serializedName: "JwtClaimChecks", +export const AppleRegistration: coreClient.CompositeMapper = { + serializedName: "AppleRegistration", type: { name: "Composite", - className: "JwtClaimChecks", + className: "AppleRegistration", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - allowedGroups: { - serializedName: "properties.allowedGroups", + clientId: { + serializedName: "clientId", + xmlName: "clientId", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - allowedClientApplications: { - serializedName: "properties.allowedClientApplications", + clientSecretSettingName: { + serializedName: "clientSecretSettingName", + xmlName: "clientSecretSettingName", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } } } } }; -export const AzureActiveDirectoryValidation: msRest.CompositeMapper = { - serializedName: "AzureActiveDirectoryValidation", +export const AzureStaticWebAppsRegistration: coreClient.CompositeMapper = { + serializedName: "AzureStaticWebAppsRegistration", type: { name: "Composite", - className: "AzureActiveDirectoryValidation", + className: "AzureStaticWebAppsRegistration", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - jwtClaimChecks: { - serializedName: "properties.jwtClaimChecks", - type: { - name: "Composite", - className: "JwtClaimChecks" - } - }, - allowedAudiences: { - serializedName: "properties.allowedAudiences", + clientId: { + serializedName: "clientId", + xmlName: "clientId", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } } } } }; -export const AzureActiveDirectory: msRest.CompositeMapper = { - serializedName: "AzureActiveDirectory", +export const Login: coreClient.CompositeMapper = { + serializedName: "Login", type: { name: "Composite", - className: "AzureActiveDirectory", + className: "Login", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + routes: { + serializedName: "routes", + xmlName: "routes", type: { - name: "Boolean" + name: "Composite", + className: "LoginRoutes" } }, - registration: { - serializedName: "properties.registration", + tokenStore: { + serializedName: "tokenStore", + xmlName: "tokenStore", type: { name: "Composite", - className: "AzureActiveDirectoryRegistration" + className: "TokenStore" } }, - login: { - serializedName: "properties.login", + preserveUrlFragmentsForLogins: { + serializedName: "preserveUrlFragmentsForLogins", + xmlName: "preserveUrlFragmentsForLogins", type: { - name: "Composite", - className: "AzureActiveDirectoryLogin" + name: "Boolean" } }, - validation: { - serializedName: "properties.validation", + allowedExternalRedirectUrls: { + serializedName: "allowedExternalRedirectUrls", + xmlName: "allowedExternalRedirectUrls", + xmlElementName: "LoginAllowedExternalRedirectUrlsItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + cookieExpiration: { + serializedName: "cookieExpiration", + xmlName: "cookieExpiration", type: { name: "Composite", - className: "AzureActiveDirectoryValidation" + className: "CookieExpiration" } }, - isAutoProvisioned: { - serializedName: "properties.isAutoProvisioned", + nonce: { + serializedName: "nonce", + xmlName: "nonce", type: { - name: "Boolean" + name: "Composite", + className: "Nonce" } } } } }; -export const AzureBlobStorageHttpLogsConfig: msRest.CompositeMapper = { - serializedName: "AzureBlobStorageHttpLogsConfig", +export const LoginRoutes: coreClient.CompositeMapper = { + serializedName: "LoginRoutes", type: { name: "Composite", - className: "AzureBlobStorageHttpLogsConfig", + className: "LoginRoutes", modelProperties: { - sasUrl: { - serializedName: "sasUrl", + logoutEndpoint: { + serializedName: "logoutEndpoint", + xmlName: "logoutEndpoint", type: { name: "String" } + } + } + } +}; + +export const TokenStore: coreClient.CompositeMapper = { + serializedName: "TokenStore", + type: { + name: "Composite", + className: "TokenStore", + modelProperties: { + enabled: { + serializedName: "enabled", + xmlName: "enabled", + type: { + name: "Boolean" + } }, - retentionInDays: { - serializedName: "retentionInDays", + tokenRefreshExtensionHours: { + serializedName: "tokenRefreshExtensionHours", + xmlName: "tokenRefreshExtensionHours", type: { name: "Number" } }, - enabled: { - serializedName: "enabled", + fileSystem: { + serializedName: "fileSystem", + xmlName: "fileSystem", type: { - name: "Boolean" + name: "Composite", + className: "FileSystemTokenStore" + } + }, + azureBlobStorage: { + serializedName: "azureBlobStorage", + xmlName: "azureBlobStorage", + type: { + name: "Composite", + className: "BlobStorageTokenStore" } } } } }; -export const AzureStaticWebAppsRegistration: msRest.CompositeMapper = { - serializedName: "AzureStaticWebAppsRegistration", +export const FileSystemTokenStore: coreClient.CompositeMapper = { + serializedName: "FileSystemTokenStore", type: { name: "Composite", - className: "AzureStaticWebAppsRegistration", + className: "FileSystemTokenStore", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - clientId: { - serializedName: "properties.clientId", + directory: { + serializedName: "directory", + xmlName: "directory", type: { name: "String" } @@ -9164,610 +9378,743 @@ export const AzureStaticWebAppsRegistration: msRest.CompositeMapper = { } }; -export const AzureStaticWebApps: msRest.CompositeMapper = { - serializedName: "AzureStaticWebApps", +export const CookieExpiration: coreClient.CompositeMapper = { + serializedName: "CookieExpiration", type: { name: "Composite", - className: "AzureStaticWebApps", + className: "CookieExpiration", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + convention: { + serializedName: "convention", + xmlName: "convention", type: { - name: "Boolean" + name: "Enum", + allowedValues: ["FixedTime", "IdentityProviderDerived"] } }, - registration: { - serializedName: "properties.registration", + timeToExpiration: { + serializedName: "timeToExpiration", + xmlName: "timeToExpiration", type: { - name: "Composite", - className: "AzureStaticWebAppsRegistration" + name: "String" } } } } }; -export const AzureStoragePropertyDictionaryResource: msRest.CompositeMapper = { - serializedName: "AzureStoragePropertyDictionaryResource", +export const Nonce: coreClient.CompositeMapper = { + serializedName: "Nonce", type: { name: "Composite", - className: "AzureStoragePropertyDictionaryResource", + className: "Nonce", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - properties: { - serializedName: "properties", + validateNonce: { + serializedName: "validateNonce", + xmlName: "validateNonce", type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "AzureStorageInfoValue" - } - } + name: "Boolean" + } + }, + nonceExpirationInterval: { + serializedName: "nonceExpirationInterval", + xmlName: "nonceExpirationInterval", + type: { + name: "String" } } } } }; -export const DatabaseBackupSetting: msRest.CompositeMapper = { - serializedName: "DatabaseBackupSetting", +export const HttpSettings: coreClient.CompositeMapper = { + serializedName: "HttpSettings", type: { name: "Composite", - className: "DatabaseBackupSetting", + className: "HttpSettings", modelProperties: { - databaseType: { - required: true, - serializedName: "databaseType", - type: { - name: "String" - } - }, - name: { - serializedName: "name", + requireHttps: { + serializedName: "requireHttps", + xmlName: "requireHttps", type: { - name: "String" + name: "Boolean" } }, - connectionStringName: { - serializedName: "connectionStringName", + routes: { + serializedName: "routes", + xmlName: "routes", type: { - name: "String" + name: "Composite", + className: "HttpSettingsRoutes" } }, - connectionString: { - serializedName: "connectionString", + forwardProxy: { + serializedName: "forwardProxy", + xmlName: "forwardProxy", type: { - name: "String" + name: "Composite", + className: "ForwardProxy" } } } } }; -export const BackupItem: msRest.CompositeMapper = { - serializedName: "BackupItem", +export const HttpSettingsRoutes: coreClient.CompositeMapper = { + serializedName: "HttpSettingsRoutes", type: { name: "Composite", - className: "BackupItem", + className: "HttpSettingsRoutes", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - backupId: { - readOnly: true, - serializedName: "properties.id", - type: { - name: "Number" - } - }, - storageAccountUrl: { - readOnly: true, - serializedName: "properties.storageAccountUrl", - type: { - name: "String" - } - }, - blobName: { - readOnly: true, - serializedName: "properties.blobName", - type: { - name: "String" - } - }, - backupItemName: { - readOnly: true, - serializedName: "properties.name", + apiPrefix: { + serializedName: "apiPrefix", + xmlName: "apiPrefix", type: { name: "String" } - }, - status: { - readOnly: true, - serializedName: "properties.status", + } + } + } +}; + +export const ForwardProxy: coreClient.CompositeMapper = { + serializedName: "ForwardProxy", + type: { + name: "Composite", + className: "ForwardProxy", + modelProperties: { + convention: { + serializedName: "convention", + xmlName: "convention", type: { name: "Enum", - allowedValues: [ - "InProgress", - "Failed", - "Succeeded", - "TimedOut", - "Created", - "Skipped", - "PartiallySucceeded", - "DeleteInProgress", - "DeleteFailed", - "Deleted" - ] - } - }, - sizeInBytes: { - readOnly: true, - serializedName: "properties.sizeInBytes", - type: { - name: "Number" + allowedValues: ["NoProxy", "Standard", "Custom"] } }, - created: { - readOnly: true, - serializedName: "properties.created", + customHostHeaderName: { + serializedName: "customHostHeaderName", + xmlName: "customHostHeaderName", type: { - name: "DateTime" + name: "String" } }, - log: { - readOnly: true, - serializedName: "properties.log", + customProtoHeaderName: { + serializedName: "customProtoHeaderName", + xmlName: "customProtoHeaderName", type: { name: "String" } - }, - databases: { - readOnly: true, - serializedName: "properties.databases", + } + } + } +}; + +export const ApiKVReferenceCollection: coreClient.CompositeMapper = { + serializedName: "ApiKVReferenceCollection", + type: { + name: "Composite", + className: "ApiKVReferenceCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "ApiKVReference", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DatabaseBackupSetting" + className: "ApiKVReference" } } } }, - scheduled: { - readOnly: true, - serializedName: "properties.scheduled", - type: { - name: "Boolean" - } - }, - lastRestoreTimeStamp: { - readOnly: true, - serializedName: "properties.lastRestoreTimeStamp", - type: { - name: "DateTime" - } - }, - finishedTimeStamp: { - readOnly: true, - serializedName: "properties.finishedTimeStamp", - type: { - name: "DateTime" - } - }, - correlationId: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.correlationId", + xmlName: "nextLink", type: { name: "String" } - }, - websiteSizeInBytes: { - readOnly: true, - serializedName: "properties.websiteSizeInBytes", - type: { - name: "Number" - } } } } }; -export const BackupSchedule: msRest.CompositeMapper = { - serializedName: "BackupSchedule", +export const ConnStringValueTypePair: coreClient.CompositeMapper = { + serializedName: "ConnStringValueTypePair", type: { name: "Composite", - className: "BackupSchedule", + className: "ConnStringValueTypePair", modelProperties: { - frequencyInterval: { + value: { + serializedName: "value", required: true, - serializedName: "frequencyInterval", - defaultValue: 7, + xmlName: "value", type: { - name: "Number" + name: "String" } }, - frequencyUnit: { + type: { + serializedName: "type", required: true, - serializedName: "frequencyUnit", - defaultValue: "Day", + xmlName: "type", type: { name: "Enum", - allowedValues: ["Day", "Hour"] + allowedValues: [ + "MySql", + "SQLServer", + "SQLAzure", + "Custom", + "NotificationHub", + "ServiceBus", + "EventHub", + "ApiHub", + "DocDb", + "RedisCache", + "PostgreSQL" + ] } - }, - keepAtLeastOneBackup: { - required: true, - serializedName: "keepAtLeastOneBackup", - defaultValue: true, + } + } + } +}; + +export const ApplicationLogsConfig: coreClient.CompositeMapper = { + serializedName: "ApplicationLogsConfig", + type: { + name: "Composite", + className: "ApplicationLogsConfig", + modelProperties: { + fileSystem: { + serializedName: "fileSystem", + xmlName: "fileSystem", type: { - name: "Boolean" + name: "Composite", + className: "FileSystemApplicationLogsConfig" } }, - retentionPeriodInDays: { - required: true, - serializedName: "retentionPeriodInDays", - defaultValue: 30, + azureTableStorage: { + serializedName: "azureTableStorage", + xmlName: "azureTableStorage", type: { - name: "Number" + name: "Composite", + className: "AzureTableStorageApplicationLogsConfig" } }, - startTime: { - serializedName: "startTime", + azureBlobStorage: { + serializedName: "azureBlobStorage", + xmlName: "azureBlobStorage", type: { - name: "DateTime" + name: "Composite", + className: "AzureBlobStorageApplicationLogsConfig" } - }, - lastExecutionTime: { - readOnly: true, - serializedName: "lastExecutionTime", + } + } + } +}; + +export const FileSystemApplicationLogsConfig: coreClient.CompositeMapper = { + serializedName: "FileSystemApplicationLogsConfig", + type: { + name: "Composite", + className: "FileSystemApplicationLogsConfig", + modelProperties: { + level: { + serializedName: "level", + xmlName: "level", type: { - name: "DateTime" + name: "Enum", + allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"] } } } } }; -export const BackupRequest: msRest.CompositeMapper = { - serializedName: "BackupRequest", +export const AzureTableStorageApplicationLogsConfig: coreClient.CompositeMapper = { + serializedName: "AzureTableStorageApplicationLogsConfig", type: { name: "Composite", - className: "BackupRequest", + className: "AzureTableStorageApplicationLogsConfig", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - backupName: { - serializedName: "properties.backupName", + level: { + serializedName: "level", + xmlName: "level", type: { - name: "String" - } - }, - enabled: { - serializedName: "properties.enabled", - type: { - name: "Boolean" + name: "Enum", + allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"] } }, - storageAccountUrl: { + sasUrl: { + serializedName: "sasUrl", required: true, - serializedName: "properties.storageAccountUrl", + xmlName: "sasUrl", type: { name: "String" } + } + } + } +}; + +export const AzureBlobStorageApplicationLogsConfig: coreClient.CompositeMapper = { + serializedName: "AzureBlobStorageApplicationLogsConfig", + type: { + name: "Composite", + className: "AzureBlobStorageApplicationLogsConfig", + modelProperties: { + level: { + serializedName: "level", + xmlName: "level", + type: { + name: "Enum", + allowedValues: ["Off", "Verbose", "Information", "Warning", "Error"] + } }, - backupSchedule: { - serializedName: "properties.backupSchedule", + sasUrl: { + serializedName: "sasUrl", + xmlName: "sasUrl", type: { - name: "Composite", - className: "BackupSchedule" + name: "String" } }, - databases: { - serializedName: "properties.databases", + retentionInDays: { + serializedName: "retentionInDays", + xmlName: "retentionInDays", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DatabaseBackupSetting" - } - } + name: "Number" } } } } }; -export const BlobStorageTokenStore: msRest.CompositeMapper = { - serializedName: "BlobStorageTokenStore", +export const HttpLogsConfig: coreClient.CompositeMapper = { + serializedName: "HttpLogsConfig", type: { name: "Composite", - className: "BlobStorageTokenStore", + className: "HttpLogsConfig", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - sasUrlSettingName: { - serializedName: "properties.sasUrlSettingName", + fileSystem: { + serializedName: "fileSystem", + xmlName: "fileSystem", type: { - name: "String" + name: "Composite", + className: "FileSystemHttpLogsConfig" + } + }, + azureBlobStorage: { + serializedName: "azureBlobStorage", + xmlName: "azureBlobStorage", + type: { + name: "Composite", + className: "AzureBlobStorageHttpLogsConfig" } } } } }; -export const ClientRegistration: msRest.CompositeMapper = { - serializedName: "ClientRegistration", +export const FileSystemHttpLogsConfig: coreClient.CompositeMapper = { + serializedName: "FileSystemHttpLogsConfig", type: { name: "Composite", - className: "ClientRegistration", + className: "FileSystemHttpLogsConfig", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - clientId: { - serializedName: "properties.clientId", + retentionInMb: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 25 + }, + serializedName: "retentionInMb", + xmlName: "retentionInMb", type: { - name: "String" + name: "Number" } }, - clientSecretSettingName: { - serializedName: "properties.clientSecretSettingName", + retentionInDays: { + serializedName: "retentionInDays", + xmlName: "retentionInDays", type: { - name: "String" + name: "Number" + } + }, + enabled: { + serializedName: "enabled", + xmlName: "enabled", + type: { + name: "Boolean" } } } } }; -export const ConnStringValueTypePair: msRest.CompositeMapper = { - serializedName: "ConnStringValueTypePair", +export const AzureBlobStorageHttpLogsConfig: coreClient.CompositeMapper = { + serializedName: "AzureBlobStorageHttpLogsConfig", type: { name: "Composite", - className: "ConnStringValueTypePair", + className: "AzureBlobStorageHttpLogsConfig", modelProperties: { - value: { - required: true, - serializedName: "value", + sasUrl: { + serializedName: "sasUrl", + xmlName: "sasUrl", type: { name: "String" } }, - type: { - required: true, - serializedName: "type", + retentionInDays: { + serializedName: "retentionInDays", + xmlName: "retentionInDays", type: { - name: "Enum", - allowedValues: [ - "MySql", - "SQLServer", - "SQLAzure", - "Custom", - "NotificationHub", - "ServiceBus", - "EventHub", - "ApiHub", - "DocDb", - "RedisCache", - "PostgreSQL" - ] + name: "Number" + } + }, + enabled: { + serializedName: "enabled", + xmlName: "enabled", + type: { + name: "Boolean" } } } } }; -export const ConnectionStringDictionary: msRest.CompositeMapper = { - serializedName: "ConnectionStringDictionary", +export const EnabledConfig: coreClient.CompositeMapper = { + serializedName: "EnabledConfig", type: { name: "Composite", - className: "ConnectionStringDictionary", + className: "EnabledConfig", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - properties: { - serializedName: "properties", + enabled: { + serializedName: "enabled", + xmlName: "enabled", type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "ConnStringValueTypePair" - } - } + name: "Boolean" } } } } }; -export const ContainerCpuUsage: msRest.CompositeMapper = { - serializedName: "ContainerCpuUsage", +export const SiteConfigurationSnapshotInfoCollection: coreClient.CompositeMapper = { + serializedName: "SiteConfigurationSnapshotInfoCollection", type: { name: "Composite", - className: "ContainerCpuUsage", + className: "SiteConfigurationSnapshotInfoCollection", modelProperties: { - totalUsage: { - serializedName: "totalUsage", - type: { - name: "Number" - } - }, - perCpuUsage: { - serializedName: "perCpuUsage", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "SiteConfigurationSnapshotInfo", type: { name: "Sequence", element: { type: { - name: "Number" + name: "Composite", + className: "SiteConfigurationSnapshotInfo" } } } }, - kernelModeUsage: { - serializedName: "kernelModeUsage", - type: { - name: "Number" - } - }, - userModeUsage: { - serializedName: "userModeUsage", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Number" + name: "String" } } } } }; -export const ContainerThrottlingData: msRest.CompositeMapper = { - serializedName: "ContainerThrottlingData", +export const ContinuousWebJobCollection: coreClient.CompositeMapper = { + serializedName: "ContinuousWebJobCollection", type: { name: "Composite", - className: "ContainerThrottlingData", + className: "ContinuousWebJobCollection", modelProperties: { - periods: { - serializedName: "periods", - type: { - name: "Number" - } - }, - throttledPeriods: { - serializedName: "throttledPeriods", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "ContinuousWebJob", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContinuousWebJob" + } + } } }, - throttledTime: { - serializedName: "throttledTime", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Number" + name: "String" } } } } }; -export const ContainerCpuStatistics: msRest.CompositeMapper = { - serializedName: "ContainerCpuStatistics", +export const DeploymentCollection: coreClient.CompositeMapper = { + serializedName: "DeploymentCollection", type: { name: "Composite", - className: "ContainerCpuStatistics", + className: "DeploymentCollection", modelProperties: { - cpuUsage: { - serializedName: "cpuUsage", - type: { - name: "Composite", - className: "ContainerCpuUsage" - } - }, - systemCpuUsage: { - serializedName: "systemCpuUsage", - type: { - name: "Number" - } - }, - onlineCpuCount: { - serializedName: "onlineCpuCount", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "Deployment", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Deployment" + } + } } }, - throttlingData: { - serializedName: "throttlingData", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Composite", - className: "ContainerThrottlingData" + name: "String" } } } } }; -export const ContainerMemoryStatistics: msRest.CompositeMapper = { - serializedName: "ContainerMemoryStatistics", +export const MSDeployLogEntry: coreClient.CompositeMapper = { + serializedName: "MSDeployLogEntry", type: { name: "Composite", - className: "ContainerMemoryStatistics", + className: "MSDeployLogEntry", modelProperties: { - usage: { - serializedName: "usage", + time: { + serializedName: "time", + readOnly: true, + xmlName: "time", type: { - name: "Number" + name: "DateTime" } }, - maxUsage: { - serializedName: "maxUsage", + type: { + serializedName: "type", + readOnly: true, + xmlName: "type", type: { - name: "Number" + name: "Enum", + allowedValues: ["Message", "Warning", "Error"] } }, - limit: { - serializedName: "limit", + message: { + serializedName: "message", + readOnly: true, + xmlName: "message", type: { - name: "Number" + name: "String" } } } } }; -export const ContainerNetworkInterfaceStatistics: msRest.CompositeMapper = { - serializedName: "ContainerNetworkInterfaceStatistics", +export const FunctionEnvelopeCollection: coreClient.CompositeMapper = { + serializedName: "FunctionEnvelopeCollection", type: { name: "Composite", - className: "ContainerNetworkInterfaceStatistics", + className: "FunctionEnvelopeCollection", modelProperties: { - rxBytes: { - serializedName: "rxBytes", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "FunctionEnvelope", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FunctionEnvelope" + } + } } }, - rxPackets: { - serializedName: "rxPackets", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const KeyInfo: coreClient.CompositeMapper = { + serializedName: "KeyInfo", + type: { + name: "Composite", + className: "KeyInfo", + modelProperties: { + name: { + serializedName: "name", + xmlName: "name", + type: { + name: "String" } }, - rxErrors: { - serializedName: "rxErrors", + value: { + serializedName: "value", + xmlName: "value", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const FunctionSecrets: coreClient.CompositeMapper = { + serializedName: "FunctionSecrets", + type: { + name: "Composite", + className: "FunctionSecrets", + modelProperties: { + key: { + serializedName: "key", + xmlName: "key", + type: { + name: "String" } }, - rxDropped: { - serializedName: "rxDropped", + triggerUrl: { + serializedName: "trigger_url", + xmlName: "trigger_url", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const HostKeys: coreClient.CompositeMapper = { + serializedName: "HostKeys", + type: { + name: "Composite", + className: "HostKeys", + modelProperties: { + masterKey: { + serializedName: "masterKey", + xmlName: "masterKey", + type: { + name: "String" } }, - txBytes: { - serializedName: "txBytes", + functionKeys: { + serializedName: "functionKeys", + xmlName: "functionKeys", type: { - name: "Number" + name: "Dictionary", + value: { type: { name: "String" } } } }, - txPackets: { - serializedName: "txPackets", + systemKeys: { + serializedName: "systemKeys", + xmlName: "systemKeys", type: { - name: "Number" + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const HostNameBindingCollection: coreClient.CompositeMapper = { + serializedName: "HostNameBindingCollection", + type: { + name: "Composite", + className: "HostNameBindingCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "HostNameBinding", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HostNameBinding" + } + } } }, - txErrors: { - serializedName: "txErrors", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const WebAppInstanceStatusCollection: coreClient.CompositeMapper = { + serializedName: "WebAppInstanceStatusCollection", + type: { + name: "Composite", + className: "WebAppInstanceStatusCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "WebSiteInstanceStatus", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "WebSiteInstanceStatus" + } + } } }, - txDropped: { - serializedName: "txDropped", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Number" + name: "String" } } } } }; -export const ContainerInfo: msRest.CompositeMapper = { +export const ContainerInfo: coreClient.CompositeMapper = { serializedName: "ContainerInfo", type: { name: "Composite", @@ -9775,18 +10122,21 @@ export const ContainerInfo: msRest.CompositeMapper = { modelProperties: { currentTimeStamp: { serializedName: "currentTimeStamp", + xmlName: "currentTimeStamp", type: { name: "DateTime" } }, previousTimeStamp: { serializedName: "previousTimeStamp", + xmlName: "previousTimeStamp", type: { name: "DateTime" } }, currentCpuStats: { serializedName: "currentCpuStats", + xmlName: "currentCpuStats", type: { name: "Composite", className: "ContainerCpuStatistics" @@ -9794,6 +10144,7 @@ export const ContainerInfo: msRest.CompositeMapper = { }, previousCpuStats: { serializedName: "previousCpuStats", + xmlName: "previousCpuStats", type: { name: "Composite", className: "ContainerCpuStatistics" @@ -9801,6 +10152,7 @@ export const ContainerInfo: msRest.CompositeMapper = { }, memoryStats: { serializedName: "memoryStats", + xmlName: "memoryStats", type: { name: "Composite", className: "ContainerMemoryStatistics" @@ -9808,18 +10160,21 @@ export const ContainerInfo: msRest.CompositeMapper = { }, name: { serializedName: "name", + xmlName: "name", type: { name: "String" } }, id: { serializedName: "id", + xmlName: "id", type: { name: "String" } }, eth0: { serializedName: "eth0", + xmlName: "eth0", type: { name: "Composite", className: "ContainerNetworkInterfaceStatistics" @@ -9829,301 +10184,369 @@ export const ContainerInfo: msRest.CompositeMapper = { } }; -export const ContinuousWebJob: msRest.CompositeMapper = { - serializedName: "ContinuousWebJob", +export const ContainerCpuStatistics: coreClient.CompositeMapper = { + serializedName: "ContainerCpuStatistics", type: { name: "Composite", - className: "ContinuousWebJob", + className: "ContainerCpuStatistics", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - status: { - serializedName: "properties.status", - type: { - name: "Enum", - allowedValues: ["Initializing", "Starting", "Running", "PendingRestart", "Stopped"] - } - }, - detailedStatus: { - serializedName: "properties.detailed_status", - type: { - name: "String" - } - }, - logUrl: { - serializedName: "properties.log_url", + cpuUsage: { + serializedName: "cpuUsage", + xmlName: "cpuUsage", type: { - name: "String" + name: "Composite", + className: "ContainerCpuUsage" } }, - runCommand: { - serializedName: "properties.run_command", + systemCpuUsage: { + serializedName: "systemCpuUsage", + xmlName: "systemCpuUsage", type: { - name: "String" + name: "Number" } }, - url: { - serializedName: "properties.url", + onlineCpuCount: { + serializedName: "onlineCpuCount", + xmlName: "onlineCpuCount", type: { - name: "String" + name: "Number" } }, - extraInfoUrl: { - serializedName: "properties.extra_info_url", + throttlingData: { + serializedName: "throttlingData", + xmlName: "throttlingData", type: { - name: "String" + name: "Composite", + className: "ContainerThrottlingData" } - }, - webJobType: { - serializedName: "properties.web_job_type", + } + } + } +}; + +export const ContainerCpuUsage: coreClient.CompositeMapper = { + serializedName: "ContainerCpuUsage", + type: { + name: "Composite", + className: "ContainerCpuUsage", + modelProperties: { + totalUsage: { + serializedName: "totalUsage", + xmlName: "totalUsage", type: { - name: "Enum", - allowedValues: ["Continuous", "Triggered"] + name: "Number" } }, - error: { - serializedName: "properties.error", + perCpuUsage: { + serializedName: "perCpuUsage", + xmlName: "perCpuUsage", + xmlElementName: "ArrayItemschema", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Number" + } + } } }, - usingSdk: { - serializedName: "properties.using_sdk", + kernelModeUsage: { + serializedName: "kernelModeUsage", + xmlName: "kernelModeUsage", type: { - name: "Boolean" + name: "Number" } }, - settings: { - serializedName: "properties.settings", + userModeUsage: { + serializedName: "userModeUsage", + xmlName: "userModeUsage", type: { - name: "Dictionary", - value: { - type: { - name: "Object" - } - } + name: "Number" } } } } }; -export const CookieExpiration: msRest.CompositeMapper = { - serializedName: "CookieExpiration", +export const ContainerThrottlingData: coreClient.CompositeMapper = { + serializedName: "ContainerThrottlingData", type: { name: "Composite", - className: "CookieExpiration", + className: "ContainerThrottlingData", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - convention: { - serializedName: "properties.convention", + periods: { + serializedName: "periods", + xmlName: "periods", type: { - name: "Enum", - allowedValues: ["FixedTime", "IdentityProviderDerived"] + name: "Number" } }, - timeToExpiration: { - serializedName: "properties.timeToExpiration", + throttledPeriods: { + serializedName: "throttledPeriods", + xmlName: "throttledPeriods", type: { - name: "String" + name: "Number" + } + }, + throttledTime: { + serializedName: "throttledTime", + xmlName: "throttledTime", + type: { + name: "Number" } } } } }; -export const CsmPublishingCredentialsPoliciesEntity: msRest.CompositeMapper = { - serializedName: "CsmPublishingCredentialsPoliciesEntity", +export const ContainerMemoryStatistics: coreClient.CompositeMapper = { + serializedName: "ContainerMemoryStatistics", type: { name: "Composite", - className: "CsmPublishingCredentialsPoliciesEntity", + className: "ContainerMemoryStatistics", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - allow: { - required: true, - serializedName: "properties.allow", + usage: { + serializedName: "usage", + xmlName: "usage", type: { - name: "Boolean" + name: "Number" + } + }, + maxUsage: { + serializedName: "maxUsage", + xmlName: "maxUsage", + type: { + name: "Number" + } + }, + limit: { + serializedName: "limit", + xmlName: "limit", + type: { + name: "Number" } } } } }; -export const CsmPublishingCredentialsPoliciesCollection: msRest.CompositeMapper = { - serializedName: "CsmPublishingCredentialsPoliciesCollection", +export const ContainerNetworkInterfaceStatistics: coreClient.CompositeMapper = { + serializedName: "ContainerNetworkInterfaceStatistics", type: { name: "Composite", - className: "CsmPublishingCredentialsPoliciesCollection", + className: "ContainerNetworkInterfaceStatistics", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - ftp: { - required: true, - serializedName: "properties.ftp", + rxBytes: { + serializedName: "rxBytes", + xmlName: "rxBytes", type: { - name: "Composite", - className: "CsmPublishingCredentialsPoliciesEntity" + name: "Number" } }, - scm: { - required: true, - serializedName: "properties.scm", + rxPackets: { + serializedName: "rxPackets", + xmlName: "rxPackets", type: { - name: "Composite", - className: "CsmPublishingCredentialsPoliciesEntity" + name: "Number" + } + }, + rxErrors: { + serializedName: "rxErrors", + xmlName: "rxErrors", + type: { + name: "Number" + } + }, + rxDropped: { + serializedName: "rxDropped", + xmlName: "rxDropped", + type: { + name: "Number" + } + }, + txBytes: { + serializedName: "txBytes", + xmlName: "txBytes", + type: { + name: "Number" + } + }, + txPackets: { + serializedName: "txPackets", + xmlName: "txPackets", + type: { + name: "Number" + } + }, + txErrors: { + serializedName: "txErrors", + xmlName: "txErrors", + type: { + name: "Number" + } + }, + txDropped: { + serializedName: "txDropped", + xmlName: "txDropped", + type: { + name: "Number" } } } } }; -export const CsmPublishingProfileOptions: msRest.CompositeMapper = { - serializedName: "CsmPublishingProfileOptions", +export const ProcessInfoCollection: coreClient.CompositeMapper = { + serializedName: "ProcessInfoCollection", type: { name: "Composite", - className: "CsmPublishingProfileOptions", + className: "ProcessInfoCollection", modelProperties: { - format: { - serializedName: "format", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "ProcessInfo", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProcessInfo" + } + } } }, - includeDisasterRecoveryEndpoints: { - serializedName: "includeDisasterRecoveryEndpoints", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Boolean" + name: "String" } } } } }; -export const CsmSlotEntity: msRest.CompositeMapper = { - serializedName: "CsmSlotEntity", +export const ProcessModuleInfoCollection: coreClient.CompositeMapper = { + serializedName: "ProcessModuleInfoCollection", type: { name: "Composite", - className: "CsmSlotEntity", + className: "ProcessModuleInfoCollection", modelProperties: { - targetSlot: { + value: { + serializedName: "value", required: true, - serializedName: "targetSlot", + xmlName: "value", + xmlElementName: "ProcessModuleInfo", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProcessModuleInfo" + } + } } }, - preserveVnet: { - required: true, - serializedName: "preserveVnet", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Boolean" + name: "String" } } } } }; -export const CustomHostnameAnalysisResult: msRest.CompositeMapper = { - serializedName: "CustomHostnameAnalysisResult", +export const ProcessThreadInfoCollection: coreClient.CompositeMapper = { + serializedName: "ProcessThreadInfoCollection", type: { name: "Composite", - className: "CustomHostnameAnalysisResult", + className: "ProcessThreadInfoCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - isHostnameAlreadyVerified: { - readOnly: true, - serializedName: "properties.isHostnameAlreadyVerified", - type: { - name: "Boolean" - } - }, - customDomainVerificationTest: { - readOnly: true, - serializedName: "properties.customDomainVerificationTest", - type: { - name: "Enum", - allowedValues: ["Passed", "Failed", "Skipped"] - } - }, - customDomainVerificationFailureInfo: { - readOnly: true, - serializedName: "properties.customDomainVerificationFailureInfo", - type: { - name: "Composite", - className: "ErrorEntity" - } - }, - hasConflictOnScaleUnit: { - readOnly: true, - serializedName: "properties.hasConflictOnScaleUnit", - type: { - name: "Boolean" - } - }, - hasConflictAcrossSubscription: { - readOnly: true, - serializedName: "properties.hasConflictAcrossSubscription", - type: { - name: "Boolean" - } - }, - conflictingAppResourceId: { - readOnly: true, - serializedName: "properties.conflictingAppResourceId", - type: { - name: "String" - } - }, - cNameRecords: { - serializedName: "properties.cNameRecords", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "ProcessThreadInfo", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ProcessThreadInfo" } } } }, - txtRecords: { - serializedName: "properties.txtRecords", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" + } + } + } + } +}; + +export const SiteCloneability: coreClient.CompositeMapper = { + serializedName: "SiteCloneability", + type: { + name: "Composite", + className: "SiteCloneability", + modelProperties: { + result: { + serializedName: "result", + xmlName: "result", + type: { + name: "Enum", + allowedValues: ["Cloneable", "PartiallyCloneable", "NotCloneable"] } }, - aRecords: { - serializedName: "properties.aRecords", + blockingFeatures: { + serializedName: "blockingFeatures", + xmlName: "blockingFeatures", + xmlElementName: "SiteCloneabilityCriterion", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "SiteCloneabilityCriterion" } } } }, - alternateCNameRecords: { - serializedName: "properties.alternateCNameRecords", + unsupportedFeatures: { + serializedName: "unsupportedFeatures", + xmlName: "unsupportedFeatures", + xmlElementName: "SiteCloneabilityCriterion", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "SiteCloneabilityCriterion" } } } }, - alternateTxtRecords: { - serializedName: "properties.alternateTxtRecords", + blockingCharacteristics: { + serializedName: "blockingCharacteristics", + xmlName: "blockingCharacteristics", + xmlElementName: "SiteCloneabilityCriterion", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "SiteCloneabilityCriterion" } } } @@ -10132,22 +10555,22 @@ export const CustomHostnameAnalysisResult: msRest.CompositeMapper = { } }; -export const OpenIdConnectClientCredential: msRest.CompositeMapper = { - serializedName: "OpenIdConnectClientCredential", +export const SiteCloneabilityCriterion: coreClient.CompositeMapper = { + serializedName: "SiteCloneabilityCriterion", type: { name: "Composite", - className: "OpenIdConnectClientCredential", + className: "SiteCloneabilityCriterion", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - method: { - serializedName: "properties.method", + name: { + serializedName: "name", + xmlName: "name", type: { - name: "Enum", - allowedValues: ["ClientSecretPost"] + name: "String" } }, - clientSecretSettingName: { - serializedName: "properties.clientSecretSettingName", + description: { + serializedName: "description", + xmlName: "description", type: { name: "String" } @@ -10156,39 +10579,62 @@ export const OpenIdConnectClientCredential: msRest.CompositeMapper = { } }; -export const OpenIdConnectConfig: msRest.CompositeMapper = { - serializedName: "OpenIdConnectConfig", +export const NetworkTrace: coreClient.CompositeMapper = { + serializedName: "NetworkTrace", type: { name: "Composite", - className: "OpenIdConnectConfig", + className: "NetworkTrace", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - authorizationEndpoint: { - serializedName: "properties.authorizationEndpoint", + path: { + serializedName: "path", + xmlName: "path", type: { name: "String" } }, - tokenEndpoint: { - serializedName: "properties.tokenEndpoint", + status: { + serializedName: "status", + xmlName: "status", type: { name: "String" } }, - issuer: { - serializedName: "properties.issuer", + message: { + serializedName: "message", + xmlName: "message", type: { name: "String" } - }, - certificationUri: { - serializedName: "properties.certificationUri", + } + } + } +}; + +export const PerfMonCounterCollection: coreClient.CompositeMapper = { + serializedName: "PerfMonCounterCollection", + type: { + name: "Composite", + className: "PerfMonCounterCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "PerfMonResponse", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PerfMonResponse" + } + } } }, - wellKnownOpenIdConfiguration: { - serializedName: "properties.wellKnownOpenIdConfiguration", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -10197,57 +10643,82 @@ export const OpenIdConnectConfig: msRest.CompositeMapper = { } }; -export const OpenIdConnectRegistration: msRest.CompositeMapper = { - serializedName: "OpenIdConnectRegistration", +export const PerfMonResponse: coreClient.CompositeMapper = { + serializedName: "PerfMonResponse", type: { name: "Composite", - className: "OpenIdConnectRegistration", + className: "PerfMonResponse", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - clientId: { - serializedName: "properties.clientId", + code: { + serializedName: "code", + xmlName: "code", type: { name: "String" } }, - clientCredential: { - serializedName: "properties.clientCredential", + message: { + serializedName: "message", + xmlName: "message", type: { - name: "Composite", - className: "OpenIdConnectClientCredential" + name: "String" } }, - openIdConnectConfiguration: { - serializedName: "properties.openIdConnectConfiguration", + data: { + serializedName: "data", + xmlName: "data", type: { name: "Composite", - className: "OpenIdConnectConfig" + className: "PerfMonSet" } } } } }; -export const OpenIdConnectLogin: msRest.CompositeMapper = { - serializedName: "OpenIdConnectLogin", +export const PerfMonSet: coreClient.CompositeMapper = { + serializedName: "PerfMonSet", type: { name: "Composite", - className: "OpenIdConnectLogin", + className: "PerfMonSet", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - nameClaimType: { - serializedName: "properties.nameClaimType", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - scopes: { - serializedName: "properties.scopes", + startTime: { + serializedName: "startTime", + xmlName: "startTime", + type: { + name: "DateTime" + } + }, + endTime: { + serializedName: "endTime", + xmlName: "endTime", + type: { + name: "DateTime" + } + }, + timeGrain: { + serializedName: "timeGrain", + xmlName: "timeGrain", + type: { + name: "String" + } + }, + values: { + serializedName: "values", + xmlName: "values", + xmlElementName: "PerfMonSample", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "PerfMonSample" } } } @@ -10256,214 +10727,318 @@ export const OpenIdConnectLogin: msRest.CompositeMapper = { } }; -export const CustomOpenIdConnectProvider: msRest.CompositeMapper = { - serializedName: "CustomOpenIdConnectProvider", +export const PerfMonSample: coreClient.CompositeMapper = { + serializedName: "PerfMonSample", type: { name: "Composite", - className: "CustomOpenIdConnectProvider", + className: "PerfMonSample", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + time: { + serializedName: "time", + xmlName: "time", type: { - name: "Boolean" + name: "DateTime" } }, - registration: { - serializedName: "properties.registration", + instanceName: { + serializedName: "instanceName", + xmlName: "instanceName", type: { - name: "Composite", - className: "OpenIdConnectRegistration" + name: "String" } }, - login: { - serializedName: "properties.login", + value: { + serializedName: "value", + xmlName: "value", type: { - name: "Composite", - className: "OpenIdConnectLogin" + name: "Number" } } } } }; -export const DeletedAppRestoreRequest: msRest.CompositeMapper = { - serializedName: "DeletedAppRestoreRequest", +export const PrivateAccessVirtualNetwork: coreClient.CompositeMapper = { + serializedName: "PrivateAccessVirtualNetwork", type: { name: "Composite", - className: "DeletedAppRestoreRequest", + className: "PrivateAccessVirtualNetwork", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - deletedSiteId: { - serializedName: "properties.deletedSiteId", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - recoverConfiguration: { - serializedName: "properties.recoverConfiguration", + key: { + serializedName: "key", + xmlName: "key", type: { - name: "Boolean" + name: "Number" } }, - snapshotTime: { - serializedName: "properties.snapshotTime", + resourceId: { + serializedName: "resourceId", + xmlName: "resourceId", type: { name: "String" } }, - useDRSecondary: { - serializedName: "properties.useDRSecondary", + subnets: { + serializedName: "subnets", + xmlName: "subnets", + xmlElementName: "PrivateAccessSubnet", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateAccessSubnet" + } + } } } } } }; -export const Deployment: msRest.CompositeMapper = { - serializedName: "Deployment", +export const PrivateAccessSubnet: coreClient.CompositeMapper = { + serializedName: "PrivateAccessSubnet", type: { name: "Composite", - className: "Deployment", + className: "PrivateAccessSubnet", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - status: { - serializedName: "properties.status", - type: { - name: "Number" - } - }, - message: { - serializedName: "properties.message", + name: { + serializedName: "name", + xmlName: "name", type: { name: "String" } }, - author: { - serializedName: "properties.author", + key: { + serializedName: "key", + xmlName: "key", type: { - name: "String" + name: "Number" } - }, - deployer: { - serializedName: "properties.deployer", + } + } + } +}; + +export const PublicCertificateCollection: coreClient.CompositeMapper = { + serializedName: "PublicCertificateCollection", + type: { + name: "Composite", + className: "PublicCertificateCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "PublicCertificate", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PublicCertificate" + } + } } }, - authorEmail: { - serializedName: "properties.author_email", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - startTime: { - serializedName: "properties.start_time", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "properties.end_time", + } + } + } +}; + +export const CsmPublishingProfileOptions: coreClient.CompositeMapper = { + serializedName: "CsmPublishingProfileOptions", + type: { + name: "Composite", + className: "CsmPublishingProfileOptions", + modelProperties: { + format: { + serializedName: "format", + xmlName: "format", type: { - name: "DateTime" + name: "String" } }, - active: { - serializedName: "properties.active", + includeDisasterRecoveryEndpoints: { + serializedName: "includeDisasterRecoveryEndpoints", + xmlName: "includeDisasterRecoveryEndpoints", type: { name: "Boolean" } - }, - details: { - serializedName: "properties.details", - type: { - name: "String" - } } } } }; -export const EnabledConfig: msRest.CompositeMapper = { - serializedName: "EnabledConfig", +export const SnapshotRecoverySource: coreClient.CompositeMapper = { + serializedName: "SnapshotRecoverySource", type: { name: "Composite", - className: "EnabledConfig", + className: "SnapshotRecoverySource", modelProperties: { - enabled: { - serializedName: "enabled", + location: { + serializedName: "location", + xmlName: "location", type: { - name: "Boolean" + name: "String" + } + }, + id: { + serializedName: "id", + xmlName: "id", + type: { + name: "String" } } } } }; -export const Facebook: msRest.CompositeMapper = { - serializedName: "Facebook", +export const SiteExtensionInfoCollection: coreClient.CompositeMapper = { + serializedName: "SiteExtensionInfoCollection", type: { name: "Composite", - className: "Facebook", + className: "SiteExtensionInfoCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "SiteExtensionInfo", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SiteExtensionInfo" + } + } } }, - registration: { - serializedName: "properties.registration", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Composite", - className: "AppRegistration" + name: "String" + } + } + } + } +}; + +export const SlotDifferenceCollection: coreClient.CompositeMapper = { + serializedName: "SlotDifferenceCollection", + type: { + name: "Composite", + className: "SlotDifferenceCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "SlotDifference", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SlotDifference" + } + } } }, - graphApiVersion: { - serializedName: "properties.graphApiVersion", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } + } + } + } +}; + +export const SnapshotCollection: coreClient.CompositeMapper = { + serializedName: "SnapshotCollection", + type: { + name: "Composite", + className: "SnapshotCollection", + modelProperties: { + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "Snapshot", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Snapshot" + } + } + } }, - login: { - serializedName: "properties.login", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Composite", - className: "LoginScopes" + name: "String" } } } } }; -export const FileSystemHttpLogsConfig: msRest.CompositeMapper = { - serializedName: "FileSystemHttpLogsConfig", +export const GitHubActionConfiguration: coreClient.CompositeMapper = { + serializedName: "GitHubActionConfiguration", type: { name: "Composite", - className: "FileSystemHttpLogsConfig", + className: "GitHubActionConfiguration", modelProperties: { - retentionInMb: { - serializedName: "retentionInMb", - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 25 - }, + codeConfiguration: { + serializedName: "codeConfiguration", + xmlName: "codeConfiguration", type: { - name: "Number" + name: "Composite", + className: "GitHubActionCodeConfiguration" } }, - retentionInDays: { - serializedName: "retentionInDays", + containerConfiguration: { + serializedName: "containerConfiguration", + xmlName: "containerConfiguration", type: { - name: "Number" + name: "Composite", + className: "GitHubActionContainerConfiguration" } }, - enabled: { - serializedName: "enabled", + isLinux: { + serializedName: "isLinux", + xmlName: "isLinux", + type: { + name: "Boolean" + } + }, + generateWorkflowFile: { + serializedName: "generateWorkflowFile", + xmlName: "generateWorkflowFile", type: { name: "Boolean" } @@ -10472,15 +11047,22 @@ export const FileSystemHttpLogsConfig: msRest.CompositeMapper = { } }; -export const FileSystemTokenStore: msRest.CompositeMapper = { - serializedName: "FileSystemTokenStore", +export const GitHubActionCodeConfiguration: coreClient.CompositeMapper = { + serializedName: "GitHubActionCodeConfiguration", type: { name: "Composite", - className: "FileSystemTokenStore", + className: "GitHubActionCodeConfiguration", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - directory: { - serializedName: "properties.directory", + runtimeStack: { + serializedName: "runtimeStack", + xmlName: "runtimeStack", + type: { + name: "String" + } + }, + runtimeVersion: { + serializedName: "runtimeVersion", + xmlName: "runtimeVersion", type: { name: "String" } @@ -10489,28 +11071,36 @@ export const FileSystemTokenStore: msRest.CompositeMapper = { } }; -export const ForwardProxy: msRest.CompositeMapper = { - serializedName: "ForwardProxy", +export const GitHubActionContainerConfiguration: coreClient.CompositeMapper = { + serializedName: "GitHubActionContainerConfiguration", type: { name: "Composite", - className: "ForwardProxy", + className: "GitHubActionContainerConfiguration", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - convention: { - serializedName: "properties.convention", + serverUrl: { + serializedName: "serverUrl", + xmlName: "serverUrl", type: { - name: "Enum", - allowedValues: ["NoProxy", "Standard", "Custom"] + name: "String" } }, - customHostHeaderName: { - serializedName: "properties.customHostHeaderName", + imageName: { + serializedName: "imageName", + xmlName: "imageName", type: { name: "String" } }, - customProtoHeaderName: { - serializedName: "properties.customProtoHeaderName", + username: { + serializedName: "username", + xmlName: "username", + type: { + name: "String" + } + }, + password: { + serializedName: "password", + xmlName: "password", type: { name: "String" } @@ -10519,114 +11109,152 @@ export const ForwardProxy: msRest.CompositeMapper = { } }; -export const FunctionEnvelope: msRest.CompositeMapper = { - serializedName: "FunctionEnvelope", +export const TriggeredWebJobCollection: coreClient.CompositeMapper = { + serializedName: "TriggeredWebJobCollection", type: { name: "Composite", - className: "FunctionEnvelope", + className: "TriggeredWebJobCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - functionAppId: { - serializedName: "properties.function_app_id", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "TriggeredWebJob", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TriggeredWebJob" + } + } } }, - scriptRootPathHref: { - serializedName: "properties.script_root_path_href", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } - }, - scriptHref: { - serializedName: "properties.script_href", + } + } + } +}; + +export const TriggeredJobRun: coreClient.CompositeMapper = { + serializedName: "TriggeredJobRun", + type: { + name: "Composite", + className: "TriggeredJobRun", + modelProperties: { + webJobId: { + serializedName: "web_job_id", + xmlName: "web_job_id", type: { name: "String" } }, - configHref: { - serializedName: "properties.config_href", + webJobName: { + serializedName: "web_job_name", + xmlName: "web_job_name", type: { name: "String" } }, - testDataHref: { - serializedName: "properties.test_data_href", + status: { + serializedName: "status", + xmlName: "status", type: { - name: "String" + name: "Enum", + allowedValues: ["Success", "Failed", "Error"] } }, - secretsFileHref: { - serializedName: "properties.secrets_file_href", + startTime: { + serializedName: "start_time", + xmlName: "start_time", type: { - name: "String" + name: "DateTime" } }, - href: { - serializedName: "properties.href", + endTime: { + serializedName: "end_time", + xmlName: "end_time", type: { - name: "String" + name: "DateTime" } }, - config: { - serializedName: "properties.config", + duration: { + serializedName: "duration", + xmlName: "duration", type: { - name: "Object" + name: "String" } }, - files: { - serializedName: "properties.files", + outputUrl: { + serializedName: "output_url", + xmlName: "output_url", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" } }, - testData: { - serializedName: "properties.test_data", + errorUrl: { + serializedName: "error_url", + xmlName: "error_url", type: { name: "String" } }, - invokeUrlTemplate: { - serializedName: "properties.invoke_url_template", + url: { + serializedName: "url", + xmlName: "url", type: { name: "String" } }, - language: { - serializedName: "properties.language", + jobName: { + serializedName: "job_name", + xmlName: "job_name", type: { name: "String" } }, - isDisabled: { - serializedName: "properties.isDisabled", + trigger: { + serializedName: "trigger", + xmlName: "trigger", type: { - name: "Boolean" + name: "String" } } } } }; -export const FunctionSecrets: msRest.CompositeMapper = { - serializedName: "FunctionSecrets", +export const TriggeredJobHistoryCollection: coreClient.CompositeMapper = { + serializedName: "TriggeredJobHistoryCollection", type: { name: "Composite", - className: "FunctionSecrets", + className: "TriggeredJobHistoryCollection", modelProperties: { - key: { - serializedName: "key", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "TriggeredJobHistory", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TriggeredJobHistory" + } + } } }, - triggerUrl: { - serializedName: "trigger_url", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { name: "String" } @@ -10635,157 +11263,210 @@ export const FunctionSecrets: msRest.CompositeMapper = { } }; -export const GitHub: msRest.CompositeMapper = { - serializedName: "GitHub", +export const WebJobCollection: coreClient.CompositeMapper = { + serializedName: "WebJobCollection", type: { name: "Composite", - className: "GitHub", + className: "WebJobCollection", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", - type: { - name: "Boolean" - } - }, - registration: { - serializedName: "properties.registration", + value: { + serializedName: "value", + required: true, + xmlName: "value", + xmlElementName: "WebJob", type: { - name: "Composite", - className: "ClientRegistration" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "WebJob" + } + } } }, - login: { - serializedName: "properties.login", + nextLink: { + serializedName: "nextLink", + readOnly: true, + xmlName: "nextLink", type: { - name: "Composite", - className: "LoginScopes" + name: "String" } } } } }; -export const GitHubActionCodeConfiguration: msRest.CompositeMapper = { - serializedName: "GitHubActionCodeConfiguration", +export const AppServiceCertificateOrder: coreClient.CompositeMapper = { + serializedName: "AppServiceCertificateOrder", type: { name: "Composite", - className: "GitHubActionCodeConfiguration", + className: "AppServiceCertificateOrder", modelProperties: { - runtimeStack: { - serializedName: "runtimeStack", + ...Resource.type.modelProperties, + certificates: { + serializedName: "properties.certificates", + xmlName: "properties.certificates", type: { - name: "String" + name: "Dictionary", + value: { + type: { name: "Composite", className: "AppServiceCertificate" } + } } }, - runtimeVersion: { - serializedName: "runtimeVersion", + distinguishedName: { + serializedName: "properties.distinguishedName", + xmlName: "properties.distinguishedName", type: { name: "String" } - } - } - } -}; - -export const GitHubActionContainerConfiguration: msRest.CompositeMapper = { - serializedName: "GitHubActionContainerConfiguration", - type: { - name: "Composite", - className: "GitHubActionContainerConfiguration", - modelProperties: { - serverUrl: { - serializedName: "serverUrl", + }, + domainVerificationToken: { + serializedName: "properties.domainVerificationToken", + readOnly: true, + xmlName: "properties.domainVerificationToken", type: { name: "String" } }, - imageName: { - serializedName: "imageName", + validityInYears: { + defaultValue: 1, + serializedName: "properties.validityInYears", + xmlName: "properties.validityInYears", type: { - name: "String" + name: "Number" } }, - username: { - serializedName: "username", + keySize: { + defaultValue: 2048, + serializedName: "properties.keySize", + xmlName: "properties.keySize", type: { - name: "String" + name: "Number" } }, - password: { - serializedName: "password", + productType: { + serializedName: "properties.productType", + xmlName: "properties.productType", type: { - name: "String" + name: "Enum", + allowedValues: [ + "StandardDomainValidatedSsl", + "StandardDomainValidatedWildCardSsl" + ] } - } - } - } -}; - -export const GitHubActionConfiguration: msRest.CompositeMapper = { - serializedName: "GitHubActionConfiguration", - type: { - name: "Composite", - className: "GitHubActionConfiguration", - modelProperties: { - codeConfiguration: { - serializedName: "codeConfiguration", + }, + autoRenew: { + defaultValue: true, + serializedName: "properties.autoRenew", + xmlName: "properties.autoRenew", + type: { + name: "Boolean" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", + type: { + name: "Enum", + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + xmlName: "properties.status", + type: { + name: "Enum", + allowedValues: [ + "Pendingissuance", + "Issued", + "Revoked", + "Canceled", + "Denied", + "Pendingrevocation", + "PendingRekey", + "Unused", + "Expired", + "NotSubmitted" + ] + } + }, + signedCertificate: { + serializedName: "properties.signedCertificate", + xmlName: "properties.signedCertificate", type: { name: "Composite", - className: "GitHubActionCodeConfiguration" + className: "CertificateDetails" } }, - containerConfiguration: { - serializedName: "containerConfiguration", + csr: { + serializedName: "properties.csr", + xmlName: "properties.csr", + type: { + name: "String" + } + }, + intermediate: { + serializedName: "properties.intermediate", + xmlName: "properties.intermediate", type: { name: "Composite", - className: "GitHubActionContainerConfiguration" + className: "CertificateDetails" } }, - isLinux: { - serializedName: "isLinux", + root: { + serializedName: "properties.root", + xmlName: "properties.root", type: { - name: "Boolean" + name: "Composite", + className: "CertificateDetails" } }, - generateWorkflowFile: { - serializedName: "generateWorkflowFile", + serialNumber: { + serializedName: "properties.serialNumber", + readOnly: true, + xmlName: "properties.serialNumber", type: { - name: "Boolean" + name: "String" } - } - } - } -}; - -export const GlobalValidation: msRest.CompositeMapper = { - serializedName: "GlobalValidation", - type: { - name: "Composite", - className: "GlobalValidation", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - requireAuthentication: { - serializedName: "properties.requireAuthentication", + }, + lastCertificateIssuanceTime: { + serializedName: "properties.lastCertificateIssuanceTime", + readOnly: true, + xmlName: "properties.lastCertificateIssuanceTime", type: { - name: "Boolean" + name: "DateTime" } }, - unauthenticatedClientAction: { - serializedName: "properties.unauthenticatedClientAction", + expirationTime: { + serializedName: "properties.expirationTime", + readOnly: true, + xmlName: "properties.expirationTime", type: { - name: "Enum", - allowedValues: ["RedirectToLoginPage", "AllowAnonymous", "Return401", "Return403"] + name: "DateTime" } }, - redirectToProvider: { - serializedName: "properties.redirectToProvider", + isPrivateKeyExternal: { + serializedName: "properties.isPrivateKeyExternal", + readOnly: true, + xmlName: "properties.isPrivateKeyExternal", type: { - name: "String" + name: "Boolean" } }, - excludedPaths: { - serializedName: "properties.excludedPaths", + appServiceCertificateNotRenewableReasons: { + serializedName: "properties.appServiceCertificateNotRenewableReasons", + readOnly: true, + xmlName: "properties.appServiceCertificateNotRenewableReasons", + xmlElementName: + "AppServiceCertificateOrderPropertiesAppServiceCertificateNotRenewableReasonsItem", type: { name: "Sequence", element: { @@ -10794,244 +11475,282 @@ export const GlobalValidation: msRest.CompositeMapper = { } } } - } - } - } -}; - -export const Google: msRest.CompositeMapper = { - serializedName: "Google", - type: { - name: "Composite", - className: "Google", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", - type: { - name: "Boolean" - } - }, - registration: { - serializedName: "properties.registration", - type: { - name: "Composite", - className: "ClientRegistration" - } }, - login: { - serializedName: "properties.login", + nextAutoRenewalTimeStamp: { + serializedName: "properties.nextAutoRenewalTimeStamp", + readOnly: true, + xmlName: "properties.nextAutoRenewalTimeStamp", type: { - name: "Composite", - className: "LoginScopes" + name: "DateTime" } }, - validation: { - serializedName: "properties.validation", + contact: { + serializedName: "properties.contact", + xmlName: "properties.contact", type: { name: "Composite", - className: "AllowedAudiencesValidation" + className: "CertificateOrderContact" } } } } }; -export const HostKeys: msRest.CompositeMapper = { - serializedName: "HostKeys", +export const AppServiceCertificateResource: coreClient.CompositeMapper = { + serializedName: "AppServiceCertificateResource", type: { name: "Composite", - className: "HostKeys", + className: "AppServiceCertificateResource", modelProperties: { - masterKey: { - serializedName: "masterKey", + ...Resource.type.modelProperties, + keyVaultId: { + serializedName: "properties.keyVaultId", + xmlName: "properties.keyVaultId", type: { name: "String" } }, - functionKeys: { - serializedName: "functionKeys", + keyVaultSecretName: { + serializedName: "properties.keyVaultSecretName", + xmlName: "properties.keyVaultSecretName", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" } }, - systemKeys: { - serializedName: "systemKeys", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "Enum", + allowedValues: [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ] } } } } }; -export const HostNameBinding: msRest.CompositeMapper = { - serializedName: "HostNameBinding", +export const Domain: coreClient.CompositeMapper = { + serializedName: "Domain", type: { name: "Composite", - className: "HostNameBinding", + className: "Domain", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - siteName: { - serializedName: "properties.siteName", + ...Resource.type.modelProperties, + contactAdmin: { + serializedName: "properties.contactAdmin", + xmlName: "properties.contactAdmin", type: { - name: "String" + name: "Composite", + className: "Contact" } }, - domainId: { - serializedName: "properties.domainId", + contactBilling: { + serializedName: "properties.contactBilling", + xmlName: "properties.contactBilling", type: { - name: "String" + name: "Composite", + className: "Contact" } }, - azureResourceName: { - serializedName: "properties.azureResourceName", + contactRegistrant: { + serializedName: "properties.contactRegistrant", + xmlName: "properties.contactRegistrant", type: { - name: "String" + name: "Composite", + className: "Contact" } }, - azureResourceType: { - serializedName: "properties.azureResourceType", + contactTech: { + serializedName: "properties.contactTech", + xmlName: "properties.contactTech", type: { - name: "Enum", - allowedValues: ["Website", "TrafficManager"] + name: "Composite", + className: "Contact" } }, - customHostNameDnsRecordType: { - serializedName: "properties.customHostNameDnsRecordType", + registrationStatus: { + serializedName: "properties.registrationStatus", + readOnly: true, + xmlName: "properties.registrationStatus", type: { name: "Enum", - allowedValues: ["CName", "A"] + allowedValues: [ + "Active", + "Awaiting", + "Cancelled", + "Confiscated", + "Disabled", + "Excluded", + "Expired", + "Failed", + "Held", + "Locked", + "Parked", + "Pending", + "Reserved", + "Reverted", + "Suspended", + "Transferred", + "Unknown", + "Unlocked", + "Unparked", + "Updated", + "JsonConverterFailed" + ] } }, - hostNameType: { - serializedName: "properties.hostNameType", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { name: "Enum", - allowedValues: ["Verified", "Managed"] + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] } }, - sslState: { - serializedName: "properties.sslState", + nameServers: { + serializedName: "properties.nameServers", + readOnly: true, + xmlName: "properties.nameServers", + xmlElementName: "DomainPropertiesNameServersItem", type: { - name: "Enum", - allowedValues: ["Disabled", "SniEnabled", "IpBasedEnabled"] + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - thumbprint: { - serializedName: "properties.thumbprint", + privacy: { + serializedName: "properties.privacy", + xmlName: "properties.privacy", type: { - name: "String" + name: "Boolean" } }, - virtualIP: { + createdTime: { + serializedName: "properties.createdTime", readOnly: true, - serializedName: "properties.virtualIP", + xmlName: "properties.createdTime", type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const HttpLogsConfig: msRest.CompositeMapper = { - serializedName: "HttpLogsConfig", - type: { - name: "Composite", - className: "HttpLogsConfig", - modelProperties: { - fileSystem: { - serializedName: "fileSystem", + }, + expirationTime: { + serializedName: "properties.expirationTime", + readOnly: true, + xmlName: "properties.expirationTime", type: { - name: "Composite", - className: "FileSystemHttpLogsConfig" + name: "DateTime" } }, - azureBlobStorage: { - serializedName: "azureBlobStorage", + lastRenewedTime: { + serializedName: "properties.lastRenewedTime", + readOnly: true, + xmlName: "properties.lastRenewedTime", type: { - name: "Composite", - className: "AzureBlobStorageHttpLogsConfig" + name: "DateTime" } - } - } - } -}; - -export const HttpSettingsRoutes: msRest.CompositeMapper = { - serializedName: "HttpSettingsRoutes", - type: { - name: "Composite", - className: "HttpSettingsRoutes", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - apiPrefix: { - serializedName: "properties.apiPrefix", + }, + autoRenew: { + defaultValue: true, + serializedName: "properties.autoRenew", + xmlName: "properties.autoRenew", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const HttpSettings: msRest.CompositeMapper = { - serializedName: "HttpSettings", - type: { - name: "Composite", - className: "HttpSettings", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - requireHttps: { - serializedName: "properties.requireHttps", + }, + readyForDnsRecordManagement: { + serializedName: "properties.readyForDnsRecordManagement", + readOnly: true, + xmlName: "properties.readyForDnsRecordManagement", type: { name: "Boolean" } }, - routes: { - serializedName: "properties.routes", + managedHostNames: { + serializedName: "properties.managedHostNames", + readOnly: true, + xmlName: "properties.managedHostNames", + xmlElementName: "HostName", type: { - name: "Composite", - className: "HttpSettingsRoutes" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HostName" + } + } } }, - forwardProxy: { - serializedName: "properties.forwardProxy", + consent: { + serializedName: "properties.consent", + xmlName: "properties.consent", type: { name: "Composite", - className: "ForwardProxy" + className: "DomainPurchaseConsent" } - } - } - } -}; - -export const TwitterRegistration: msRest.CompositeMapper = { - serializedName: "TwitterRegistration", - type: { - name: "Composite", - className: "TwitterRegistration", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - consumerKey: { - serializedName: "properties.consumerKey", + }, + domainNotRenewableReasons: { + serializedName: "properties.domainNotRenewableReasons", + readOnly: true, + xmlName: "properties.domainNotRenewableReasons", + xmlElementName: "DomainPropertiesDomainNotRenewableReasonsItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + dnsType: { + serializedName: "properties.dnsType", + xmlName: "properties.dnsType", + type: { + name: "Enum", + allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"] + } + }, + dnsZoneId: { + serializedName: "properties.dnsZoneId", + xmlName: "properties.dnsZoneId", type: { name: "String" } }, - consumerSecretSettingName: { - serializedName: "properties.consumerSecretSettingName", + targetDnsType: { + serializedName: "properties.targetDnsType", + xmlName: "properties.targetDnsType", + type: { + name: "Enum", + allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"] + } + }, + authCode: { + serializedName: "properties.authCode", + xmlName: "properties.authCode", type: { name: "String" } @@ -11040,275 +11759,193 @@ export const TwitterRegistration: msRest.CompositeMapper = { } }; -export const Twitter: msRest.CompositeMapper = { - serializedName: "Twitter", +export const AppServiceEnvironmentResource: coreClient.CompositeMapper = { + serializedName: "AppServiceEnvironmentResource", type: { name: "Composite", - className: "Twitter", + className: "AppServiceEnvironmentResource", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + ...Resource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "Boolean" + name: "Enum", + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] } }, - registration: { - serializedName: "properties.registration", + status: { + serializedName: "properties.status", + readOnly: true, + xmlName: "properties.status", type: { - name: "Composite", - className: "TwitterRegistration" + name: "Enum", + allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"] } - } - } - } -}; - -export const LegacyMicrosoftAccount: msRest.CompositeMapper = { - serializedName: "LegacyMicrosoftAccount", - type: { - name: "Composite", - className: "LegacyMicrosoftAccount", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + }, + virtualNetwork: { + serializedName: "properties.virtualNetwork", + xmlName: "properties.virtualNetwork", type: { - name: "Boolean" + name: "Composite", + className: "VirtualNetworkProfile" } }, - registration: { - serializedName: "properties.registration", + internalLoadBalancingMode: { + serializedName: "properties.internalLoadBalancingMode", + xmlName: "properties.internalLoadBalancingMode", type: { - name: "Composite", - className: "ClientRegistration" + name: "String" } }, - login: { - serializedName: "properties.login", + multiSize: { + serializedName: "properties.multiSize", + xmlName: "properties.multiSize", type: { - name: "Composite", - className: "LoginScopes" + name: "String" } }, - validation: { - serializedName: "properties.validation", + multiRoleCount: { + serializedName: "properties.multiRoleCount", + readOnly: true, + xmlName: "properties.multiRoleCount", type: { - name: "Composite", - className: "AllowedAudiencesValidation" + name: "Number" } - } - } - } -}; - -export const IdentityProviders: msRest.CompositeMapper = { - serializedName: "IdentityProviders", - type: { - name: "Composite", - className: "IdentityProviders", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - azureActiveDirectory: { - serializedName: "properties.azureActiveDirectory", + }, + ipsslAddressCount: { + serializedName: "properties.ipsslAddressCount", + xmlName: "properties.ipsslAddressCount", type: { - name: "Composite", - className: "AzureActiveDirectory" + name: "Number" } }, - facebook: { - serializedName: "properties.facebook", + dnsSuffix: { + serializedName: "properties.dnsSuffix", + xmlName: "properties.dnsSuffix", type: { - name: "Composite", - className: "Facebook" + name: "String" } }, - gitHub: { - serializedName: "properties.gitHub", + maximumNumberOfMachines: { + serializedName: "properties.maximumNumberOfMachines", + readOnly: true, + xmlName: "properties.maximumNumberOfMachines", type: { - name: "Composite", - className: "GitHub" + name: "Number" } }, - google: { - serializedName: "properties.google", + frontEndScaleFactor: { + serializedName: "properties.frontEndScaleFactor", + xmlName: "properties.frontEndScaleFactor", type: { - name: "Composite", - className: "Google" + name: "Number" } }, - twitter: { - serializedName: "properties.twitter", + suspended: { + serializedName: "properties.suspended", + readOnly: true, + xmlName: "properties.suspended", type: { - name: "Composite", - className: "Twitter" + name: "Boolean" } }, - customOpenIdConnectProviders: { - serializedName: "properties.customOpenIdConnectProviders", + clusterSettings: { + serializedName: "properties.clusterSettings", + xmlName: "properties.clusterSettings", + xmlElementName: "NameValuePair", type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { name: "Composite", - className: "CustomOpenIdConnectProvider" + className: "NameValuePair" } } } }, - legacyMicrosoftAccount: { - serializedName: "properties.legacyMicrosoftAccount", - type: { - name: "Composite", - className: "LegacyMicrosoftAccount" - } - }, - apple: { - serializedName: "properties.apple", - type: { - name: "Composite", - className: "Apple" - } - }, - azureStaticWebApps: { - serializedName: "properties.azureStaticWebApps", - type: { - name: "Composite", - className: "AzureStaticWebApps" - } - } - } - } -}; - -export const KeyInfo: msRest.CompositeMapper = { - serializedName: "KeyInfo", - type: { - name: "Composite", - className: "KeyInfo", - modelProperties: { - name: { - serializedName: "name", + userWhitelistedIpRanges: { + serializedName: "properties.userWhitelistedIpRanges", + xmlName: "properties.userWhitelistedIpRanges", + xmlElementName: "AppServiceEnvironmentUserWhitelistedIpRangesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - value: { - serializedName: "value", - type: { - name: "String" - } - } - } - } -}; - -export const LoginRoutes: msRest.CompositeMapper = { - serializedName: "LoginRoutes", - type: { - name: "Composite", - className: "LoginRoutes", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - logoutEndpoint: { - serializedName: "properties.logoutEndpoint", - type: { - name: "String" - } - } - } - } -}; - -export const TokenStore: msRest.CompositeMapper = { - serializedName: "TokenStore", - type: { - name: "Composite", - className: "TokenStore", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + hasLinuxWorkers: { + serializedName: "properties.hasLinuxWorkers", + readOnly: true, + xmlName: "properties.hasLinuxWorkers", type: { name: "Boolean" } }, - tokenRefreshExtensionHours: { - serializedName: "properties.tokenRefreshExtensionHours", + dedicatedHostCount: { + serializedName: "properties.dedicatedHostCount", + xmlName: "properties.dedicatedHostCount", type: { name: "Number" } }, - fileSystem: { - serializedName: "properties.fileSystem", - type: { - name: "Composite", - className: "FileSystemTokenStore" - } - }, - azureBlobStorage: { - serializedName: "properties.azureBlobStorage", - type: { - name: "Composite", - className: "BlobStorageTokenStore" - } - } - } - } -}; - -export const Nonce: msRest.CompositeMapper = { - serializedName: "Nonce", - type: { - name: "Composite", - className: "Nonce", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - validateNonce: { - serializedName: "properties.validateNonce", + zoneRedundant: { + serializedName: "properties.zoneRedundant", + xmlName: "properties.zoneRedundant", type: { name: "Boolean" } - }, - nonceExpirationInterval: { - serializedName: "properties.nonceExpirationInterval", - type: { - name: "String" - } } } } }; -export const Login: msRest.CompositeMapper = { - serializedName: "Login", +export const Site: coreClient.CompositeMapper = { + serializedName: "Site", type: { name: "Composite", - className: "Login", + className: "Site", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - routes: { - serializedName: "properties.routes", + ...Resource.type.modelProperties, + identity: { + serializedName: "identity", + xmlName: "identity", type: { name: "Composite", - className: "LoginRoutes" + className: "ManagedServiceIdentity" } }, - tokenStore: { - serializedName: "properties.tokenStore", + extendedLocation: { + serializedName: "extendedLocation", + xmlName: "extendedLocation", type: { name: "Composite", - className: "TokenStore" + className: "ExtendedLocation" } }, - preserveUrlFragmentsForLogins: { - serializedName: "properties.preserveUrlFragmentsForLogins", + state: { + serializedName: "properties.state", + readOnly: true, + xmlName: "properties.state", type: { - name: "Boolean" + name: "String" } }, - allowedExternalRedirectUrls: { - serializedName: "properties.allowedExternalRedirectUrls", + hostNames: { + serializedName: "properties.hostNames", + readOnly: true, + xmlName: "properties.hostNames", + xmlElementName: "SitePropertiesHostNamesItem", type: { name: "Sequence", element: { @@ -11318,1061 +11955,960 @@ export const Login: msRest.CompositeMapper = { } } }, - cookieExpiration: { - serializedName: "properties.cookieExpiration", + repositorySiteName: { + serializedName: "properties.repositorySiteName", + readOnly: true, + xmlName: "properties.repositorySiteName", type: { - name: "Composite", - className: "CookieExpiration" + name: "String" } }, - nonce: { - serializedName: "properties.nonce", - type: { - name: "Composite", - className: "Nonce" - } - } - } - } -}; - -export const MSDeploy: msRest.CompositeMapper = { - serializedName: "MSDeploy", - type: { - name: "Composite", - className: "MSDeploy", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - packageUri: { - serializedName: "properties.packageUri", + usageState: { + serializedName: "properties.usageState", + readOnly: true, + xmlName: "properties.usageState", type: { - name: "String" + name: "Enum", + allowedValues: ["Normal", "Exceeded"] } }, - connectionString: { - serializedName: "properties.connectionString", + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", type: { - name: "String" + name: "Boolean" } }, - dbType: { - serializedName: "properties.dbType", + enabledHostNames: { + serializedName: "properties.enabledHostNames", + readOnly: true, + xmlName: "properties.enabledHostNames", + xmlElementName: "SitePropertiesEnabledHostNamesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - setParametersXmlFileUri: { - serializedName: "properties.setParametersXmlFileUri", + availabilityState: { + serializedName: "properties.availabilityState", + readOnly: true, + xmlName: "properties.availabilityState", type: { - name: "String" + name: "Enum", + allowedValues: ["Normal", "Limited", "DisasterRecoveryMode"] } }, - setParameters: { - serializedName: "properties.setParameters", + hostNameSslStates: { + serializedName: "properties.hostNameSslStates", + xmlName: "properties.hostNameSslStates", + xmlElementName: "HostNameSslState", type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "HostNameSslState" } } } }, - skipAppData: { - serializedName: "properties.skipAppData", + serverFarmId: { + serializedName: "properties.serverFarmId", + xmlName: "properties.serverFarmId", + type: { + name: "String" + } + }, + reserved: { + serializedName: "properties.reserved", + xmlName: "properties.reserved", type: { name: "Boolean" } }, - appOffline: { - serializedName: "properties.appOffline", + isXenon: { + serializedName: "properties.isXenon", + xmlName: "properties.isXenon", type: { name: "Boolean" } - } - } - } -}; - -export const MSDeployLogEntry: msRest.CompositeMapper = { - serializedName: "MSDeployLogEntry", - type: { - name: "Composite", - className: "MSDeployLogEntry", - modelProperties: { - time: { - readOnly: true, - serializedName: "time", + }, + hyperV: { + serializedName: "properties.hyperV", + xmlName: "properties.hyperV", type: { - name: "DateTime" + name: "Boolean" } }, - type: { + lastModifiedTimeUtc: { + serializedName: "properties.lastModifiedTimeUtc", readOnly: true, - serializedName: "type", + xmlName: "properties.lastModifiedTimeUtc", type: { - name: "Enum", - allowedValues: ["Message", "Warning", "Error"] + name: "DateTime" } }, - message: { - readOnly: true, - serializedName: "message", + siteConfig: { + serializedName: "properties.siteConfig", + xmlName: "properties.siteConfig", type: { - name: "String" + name: "Composite", + className: "SiteConfig" } - } - } - } -}; - -export const MSDeployLog: msRest.CompositeMapper = { - serializedName: "MSDeployLog", - type: { - name: "Composite", - className: "MSDeployLog", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - entries: { + }, + trafficManagerHostNames: { + serializedName: "properties.trafficManagerHostNames", readOnly: true, - serializedName: "properties.entries", + xmlName: "properties.trafficManagerHostNames", + xmlElementName: "SitePropertiesTrafficManagerHostNamesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "MSDeployLogEntry" + name: "String" } } } - } - } - } -}; - -export const MSDeployStatus: msRest.CompositeMapper = { - serializedName: "MSDeployStatus", - type: { - name: "Composite", - className: "MSDeployStatus", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - deployer: { - readOnly: true, - serializedName: "properties.deployer", - type: { - name: "String" - } }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + scmSiteAlsoStopped: { + serializedName: "properties.scmSiteAlsoStopped", + xmlName: "properties.scmSiteAlsoStopped", type: { - name: "Enum", - allowedValues: ["accepted", "running", "succeeded", "failed", "canceled"] + name: "Boolean" } }, - startTime: { + targetSwapSlot: { + serializedName: "properties.targetSwapSlot", readOnly: true, - serializedName: "properties.startTime", + xmlName: "properties.targetSwapSlot", type: { - name: "DateTime" + name: "String" } }, - endTime: { - readOnly: true, - serializedName: "properties.endTime", + hostingEnvironmentProfile: { + serializedName: "properties.hostingEnvironmentProfile", + xmlName: "properties.hostingEnvironmentProfile", type: { - name: "DateTime" + name: "Composite", + className: "HostingEnvironmentProfile" } }, - complete: { - readOnly: true, - serializedName: "properties.complete", + clientAffinityEnabled: { + serializedName: "properties.clientAffinityEnabled", + xmlName: "properties.clientAffinityEnabled", type: { name: "Boolean" } - } - } - } -}; - -export const MigrateMySqlRequest: msRest.CompositeMapper = { - serializedName: "MigrateMySqlRequest", - type: { - name: "Composite", - className: "MigrateMySqlRequest", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - connectionString: { - required: true, - serializedName: "properties.connectionString", - type: { - name: "String" - } }, - migrationType: { - required: true, - serializedName: "properties.migrationType", + clientCertEnabled: { + serializedName: "properties.clientCertEnabled", + xmlName: "properties.clientCertEnabled", type: { - name: "Enum", - allowedValues: ["LocalToRemote", "RemoteToLocal"] + name: "Boolean" } - } - } - } -}; - -export const MigrateMySqlStatus: msRest.CompositeMapper = { - serializedName: "MigrateMySqlStatus", - type: { - name: "Composite", - className: "MigrateMySqlStatus", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - migrationOperationStatus: { - readOnly: true, - serializedName: "properties.migrationOperationStatus", + }, + clientCertMode: { + serializedName: "properties.clientCertMode", + xmlName: "properties.clientCertMode", type: { name: "Enum", - allowedValues: ["InProgress", "Failed", "Succeeded", "TimedOut", "Created"] + allowedValues: ["Required", "Optional", "OptionalInteractiveUser"] } }, - operationId: { - readOnly: true, - serializedName: "properties.operationId", + clientCertExclusionPaths: { + serializedName: "properties.clientCertExclusionPaths", + xmlName: "properties.clientCertExclusionPaths", type: { name: "String" } }, - localMySqlEnabled: { - readOnly: true, - serializedName: "properties.localMySqlEnabled", + hostNamesDisabled: { + serializedName: "properties.hostNamesDisabled", + xmlName: "properties.hostNamesDisabled", type: { name: "Boolean" } - } - } - } -}; - -export const RelayServiceConnectionEntity: msRest.CompositeMapper = { - serializedName: "RelayServiceConnectionEntity", - type: { - name: "Composite", - className: "RelayServiceConnectionEntity", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - entityName: { - serializedName: "properties.entityName", - type: { - name: "String" - } }, - entityConnectionString: { - serializedName: "properties.entityConnectionString", + customDomainVerificationId: { + serializedName: "properties.customDomainVerificationId", + xmlName: "properties.customDomainVerificationId", type: { name: "String" } }, - resourceType: { - serializedName: "properties.resourceType", + outboundIpAddresses: { + serializedName: "properties.outboundIpAddresses", + readOnly: true, + xmlName: "properties.outboundIpAddresses", type: { name: "String" } }, - resourceConnectionString: { - serializedName: "properties.resourceConnectionString", + possibleOutboundIpAddresses: { + serializedName: "properties.possibleOutboundIpAddresses", + readOnly: true, + xmlName: "properties.possibleOutboundIpAddresses", type: { name: "String" } }, - hostname: { - serializedName: "properties.hostname", + containerSize: { + serializedName: "properties.containerSize", + xmlName: "properties.containerSize", type: { - name: "String" + name: "Number" } }, - port: { - serializedName: "properties.port", + dailyMemoryTimeQuota: { + serializedName: "properties.dailyMemoryTimeQuota", + xmlName: "properties.dailyMemoryTimeQuota", type: { name: "Number" } }, - biztalkUri: { - serializedName: "properties.biztalkUri", - type: { - name: "String" - } - } - } - } -}; - -export const NetworkFeatures: msRest.CompositeMapper = { - serializedName: "NetworkFeatures", - type: { - name: "Composite", - className: "NetworkFeatures", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - virtualNetworkName: { + suspendedTill: { + serializedName: "properties.suspendedTill", readOnly: true, - serializedName: "properties.virtualNetworkName", + xmlName: "properties.suspendedTill", type: { - name: "String" + name: "DateTime" } }, - virtualNetworkConnection: { + maxNumberOfWorkers: { + serializedName: "properties.maxNumberOfWorkers", readOnly: true, - serializedName: "properties.virtualNetworkConnection", + xmlName: "properties.maxNumberOfWorkers", type: { - name: "Composite", - className: "VnetInfo" + name: "Number" } }, - hybridConnections: { - readOnly: true, - serializedName: "properties.hybridConnections", + cloningInfo: { + serializedName: "properties.cloningInfo", + xmlName: "properties.cloningInfo", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RelayServiceConnectionEntity" - } - } + name: "Composite", + className: "CloningInfo" } }, - hybridConnectionsV2: { + resourceGroup: { + serializedName: "properties.resourceGroup", readOnly: true, - serializedName: "properties.hybridConnectionsV2", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HybridConnection" - } - } - } - } - } - } -}; - -export const NetworkTrace: msRest.CompositeMapper = { - serializedName: "NetworkTrace", - type: { - name: "Composite", - className: "NetworkTrace", - modelProperties: { - path: { - serializedName: "path", + xmlName: "properties.resourceGroup", type: { name: "String" } }, - status: { - serializedName: "status", + isDefaultContainer: { + serializedName: "properties.isDefaultContainer", + readOnly: true, + xmlName: "properties.isDefaultContainer", type: { - name: "String" + name: "Boolean" } }, - message: { - serializedName: "message", + defaultHostName: { + serializedName: "properties.defaultHostName", + readOnly: true, + xmlName: "properties.defaultHostName", type: { name: "String" } - } - } - } -}; - -export const PerfMonSample: msRest.CompositeMapper = { - serializedName: "PerfMonSample", - type: { - name: "Composite", - className: "PerfMonSample", - modelProperties: { - time: { - serializedName: "time", - type: { - name: "DateTime" - } }, - instanceName: { - serializedName: "instanceName", + slotSwapStatus: { + serializedName: "properties.slotSwapStatus", + xmlName: "properties.slotSwapStatus", type: { - name: "String" + name: "Composite", + className: "SlotSwapStatus" } }, - value: { - serializedName: "value", - type: { - name: "Number" - } - } - } - } -}; - -export const PerfMonSet: msRest.CompositeMapper = { - serializedName: "PerfMonSet", - type: { - name: "Composite", - className: "PerfMonSet", - modelProperties: { - name: { - serializedName: "name", + httpsOnly: { + serializedName: "properties.httpsOnly", + xmlName: "properties.httpsOnly", type: { - name: "String" + name: "Boolean" } }, - startTime: { - serializedName: "startTime", + redundancyMode: { + serializedName: "properties.redundancyMode", + xmlName: "properties.redundancyMode", type: { - name: "DateTime" + name: "Enum", + allowedValues: [ + "None", + "Manual", + "Failover", + "ActiveActive", + "GeoRedundant" + ] } }, - endTime: { - serializedName: "endTime", + inProgressOperationId: { + serializedName: "properties.inProgressOperationId", + readOnly: true, + xmlName: "properties.inProgressOperationId", type: { - name: "DateTime" + name: "Uuid" } }, - timeGrain: { - serializedName: "timeGrain", + storageAccountRequired: { + serializedName: "properties.storageAccountRequired", + xmlName: "properties.storageAccountRequired", type: { - name: "String" + name: "Boolean" } }, - values: { - serializedName: "values", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PerfMonSample" - } - } - } - } - } - } -}; - -export const PerfMonResponse: msRest.CompositeMapper = { - serializedName: "PerfMonResponse", - type: { - name: "Composite", - className: "PerfMonResponse", - modelProperties: { - code: { - serializedName: "code", + keyVaultReferenceIdentity: { + serializedName: "properties.keyVaultReferenceIdentity", + xmlName: "properties.keyVaultReferenceIdentity", type: { name: "String" } }, - message: { - serializedName: "message", + virtualNetworkSubnetId: { + serializedName: "properties.virtualNetworkSubnetId", + xmlName: "properties.virtualNetworkSubnetId", type: { name: "String" } - }, - data: { - serializedName: "data", - type: { - name: "Composite", - className: "PerfMonSet" - } } } } }; -export const PremierAddOn: msRest.CompositeMapper = { - serializedName: "PremierAddOn", +export const AppServicePlan: coreClient.CompositeMapper = { + serializedName: "AppServicePlan", type: { name: "Composite", - className: "PremierAddOn", + className: "AppServicePlan", modelProperties: { ...Resource.type.modelProperties, sku: { - serializedName: "properties.sku", + serializedName: "sku", + xmlName: "sku", type: { - name: "String" + name: "Composite", + className: "SkuDescription" } }, - product: { - serializedName: "properties.product", + extendedLocation: { + serializedName: "extendedLocation", + xmlName: "extendedLocation", type: { - name: "String" + name: "Composite", + className: "ExtendedLocation" } }, - vendor: { - serializedName: "properties.vendor", + workerTierName: { + serializedName: "properties.workerTierName", + xmlName: "properties.workerTierName", type: { name: "String" } }, - marketplacePublisher: { - serializedName: "properties.marketplacePublisher", + status: { + serializedName: "properties.status", + readOnly: true, + xmlName: "properties.status", type: { - name: "String" + name: "Enum", + allowedValues: ["Ready", "Pending", "Creating"] } }, - marketplaceOffer: { - serializedName: "properties.marketplaceOffer", - type: { - name: "String" - } - } - } - } -}; - -export const PremierAddOnPatchResource: msRest.CompositeMapper = { - serializedName: "PremierAddOnPatchResource", - type: { - name: "Composite", - className: "PremierAddOnPatchResource", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - sku: { - serializedName: "properties.sku", + subscription: { + serializedName: "properties.subscription", + readOnly: true, + xmlName: "properties.subscription", type: { name: "String" } }, - product: { - serializedName: "properties.product", + hostingEnvironmentProfile: { + serializedName: "properties.hostingEnvironmentProfile", + xmlName: "properties.hostingEnvironmentProfile", type: { - name: "String" + name: "Composite", + className: "HostingEnvironmentProfile" } }, - vendor: { - serializedName: "properties.vendor", + maximumNumberOfWorkers: { + serializedName: "properties.maximumNumberOfWorkers", + readOnly: true, + xmlName: "properties.maximumNumberOfWorkers", type: { - name: "String" + name: "Number" } }, - marketplacePublisher: { - serializedName: "properties.marketplacePublisher", + geoRegion: { + serializedName: "properties.geoRegion", + readOnly: true, + xmlName: "properties.geoRegion", type: { name: "String" } }, - marketplaceOffer: { - serializedName: "properties.marketplaceOffer", - type: { - name: "String" - } - } - } - } -}; - -export const PrivateAccessSubnet: msRest.CompositeMapper = { - serializedName: "PrivateAccessSubnet", - type: { - name: "Composite", - className: "PrivateAccessSubnet", - modelProperties: { - name: { - serializedName: "name", + perSiteScaling: { + serializedName: "properties.perSiteScaling", + xmlName: "properties.perSiteScaling", type: { - name: "String" + name: "Boolean" } }, - key: { - serializedName: "key", - type: { - name: "Number" - } - } - } - } -}; - -export const PrivateAccessVirtualNetwork: msRest.CompositeMapper = { - serializedName: "PrivateAccessVirtualNetwork", - type: { - name: "Composite", - className: "PrivateAccessVirtualNetwork", - modelProperties: { - name: { - serializedName: "name", + elasticScaleEnabled: { + serializedName: "properties.elasticScaleEnabled", + xmlName: "properties.elasticScaleEnabled", type: { - name: "String" + name: "Boolean" } }, - key: { - serializedName: "key", + maximumElasticWorkerCount: { + serializedName: "properties.maximumElasticWorkerCount", + xmlName: "properties.maximumElasticWorkerCount", type: { name: "Number" } }, - resourceId: { - serializedName: "resourceId", + numberOfSites: { + serializedName: "properties.numberOfSites", + readOnly: true, + xmlName: "properties.numberOfSites", type: { - name: "String" + name: "Number" } }, - subnets: { - serializedName: "subnets", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PrivateAccessSubnet" - } - } - } - } - } - } -}; - -export const PrivateAccess: msRest.CompositeMapper = { - serializedName: "PrivateAccess", - type: { - name: "Composite", - className: "PrivateAccess", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + isSpot: { + serializedName: "properties.isSpot", + xmlName: "properties.isSpot", type: { name: "Boolean" } }, - virtualNetworks: { - serializedName: "properties.virtualNetworks", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PrivateAccessVirtualNetwork" - } - } - } - } - } - } -}; - -export const ProcessThreadInfo: msRest.CompositeMapper = { - serializedName: "ProcessThreadInfo", - type: { - name: "Composite", - className: "ProcessThreadInfo", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - identifier: { - readOnly: true, - serializedName: "properties.identifier", + spotExpirationTime: { + serializedName: "properties.spotExpirationTime", + xmlName: "properties.spotExpirationTime", type: { - name: "Number" + name: "DateTime" } }, - href: { - serializedName: "properties.href", + freeOfferExpirationTime: { + serializedName: "properties.freeOfferExpirationTime", + xmlName: "properties.freeOfferExpirationTime", type: { - name: "String" + name: "DateTime" } }, - process: { - serializedName: "properties.process", + resourceGroup: { + serializedName: "properties.resourceGroup", + readOnly: true, + xmlName: "properties.resourceGroup", type: { name: "String" } }, - startAddress: { - serializedName: "properties.start_address", + reserved: { + serializedName: "properties.reserved", + xmlName: "properties.reserved", type: { - name: "String" + name: "Boolean" } }, - currentPriority: { - serializedName: "properties.current_priority", + isXenon: { + serializedName: "properties.isXenon", + xmlName: "properties.isXenon", type: { - name: "Number" + name: "Boolean" } }, - priorityLevel: { - serializedName: "properties.priority_level", + hyperV: { + serializedName: "properties.hyperV", + xmlName: "properties.hyperV", type: { - name: "String" + name: "Boolean" } }, - basePriority: { - serializedName: "properties.base_priority", + targetWorkerCount: { + serializedName: "properties.targetWorkerCount", + xmlName: "properties.targetWorkerCount", type: { name: "Number" } }, - startTime: { - serializedName: "properties.start_time", - type: { - name: "DateTime" - } - }, - totalProcessorTime: { - serializedName: "properties.total_processor_time", + targetWorkerSizeId: { + serializedName: "properties.targetWorkerSizeId", + xmlName: "properties.targetWorkerSizeId", type: { - name: "String" + name: "Number" } }, - userProcessorTime: { - serializedName: "properties.user_processor_time", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] } }, - state: { - serializedName: "properties.state", + kubeEnvironmentProfile: { + serializedName: "properties.kubeEnvironmentProfile", + xmlName: "properties.kubeEnvironmentProfile", type: { - name: "String" + name: "Composite", + className: "KubeEnvironmentProfile" } }, - waitReason: { - serializedName: "properties.wait_reason", + zoneRedundant: { + serializedName: "properties.zoneRedundant", + xmlName: "properties.zoneRedundant", type: { - name: "String" + name: "Boolean" } } } } }; -export const ProcessModuleInfo: msRest.CompositeMapper = { - serializedName: "ProcessModuleInfo", +export const Certificate: coreClient.CompositeMapper = { + serializedName: "Certificate", type: { name: "Composite", - className: "ProcessModuleInfo", + className: "Certificate", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - baseAddress: { - serializedName: "properties.base_address", + ...Resource.type.modelProperties, + password: { + serializedName: "properties.password", + xmlName: "properties.password", type: { name: "String" } }, - fileName: { - serializedName: "properties.file_name", + friendlyName: { + serializedName: "properties.friendlyName", + readOnly: true, + xmlName: "properties.friendlyName", type: { name: "String" } }, - href: { - serializedName: "properties.href", + subjectName: { + serializedName: "properties.subjectName", + readOnly: true, + xmlName: "properties.subjectName", type: { name: "String" } }, - filePath: { - serializedName: "properties.file_path", + hostNames: { + serializedName: "properties.hostNames", + xmlName: "properties.hostNames", + xmlElementName: "CertificatePropertiesHostNamesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - moduleMemorySize: { - serializedName: "properties.module_memory_size", + pfxBlob: { + serializedName: "properties.pfxBlob", + xmlName: "properties.pfxBlob", type: { - name: "Number" + name: "ByteArray" } }, - fileVersion: { - serializedName: "properties.file_version", + siteName: { + serializedName: "properties.siteName", + readOnly: true, + xmlName: "properties.siteName", type: { name: "String" } }, - fileDescription: { - serializedName: "properties.file_description", + selfLink: { + serializedName: "properties.selfLink", + readOnly: true, + xmlName: "properties.selfLink", type: { name: "String" } }, - product: { - serializedName: "properties.product", + issuer: { + serializedName: "properties.issuer", + readOnly: true, + xmlName: "properties.issuer", type: { name: "String" } }, - productVersion: { - serializedName: "properties.product_version", + issueDate: { + serializedName: "properties.issueDate", + readOnly: true, + xmlName: "properties.issueDate", type: { - name: "String" + name: "DateTime" } }, - isDebug: { - serializedName: "properties.is_debug", + expirationDate: { + serializedName: "properties.expirationDate", + readOnly: true, + xmlName: "properties.expirationDate", type: { - name: "Boolean" + name: "DateTime" } }, - language: { - serializedName: "properties.language", + thumbprint: { + serializedName: "properties.thumbprint", + readOnly: true, + xmlName: "properties.thumbprint", type: { name: "String" } - } - } - } -}; - -export const ProcessInfo: msRest.CompositeMapper = { - serializedName: "ProcessInfo", - type: { - name: "Composite", - className: "ProcessInfo", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - identifier: { + }, + valid: { + serializedName: "properties.valid", readOnly: true, - serializedName: "properties.identifier", + xmlName: "properties.valid", type: { - name: "Number" + name: "Boolean" } }, - deploymentName: { - serializedName: "properties.deployment_name", + cerBlob: { + serializedName: "properties.cerBlob", + readOnly: true, + xmlName: "properties.cerBlob", type: { - name: "String" + name: "ByteArray" } }, - href: { - serializedName: "properties.href", + publicKeyHash: { + serializedName: "properties.publicKeyHash", + readOnly: true, + xmlName: "properties.publicKeyHash", type: { name: "String" } }, - minidump: { - serializedName: "properties.minidump", + hostingEnvironmentProfile: { + serializedName: "properties.hostingEnvironmentProfile", + xmlName: "properties.hostingEnvironmentProfile", type: { - name: "String" + name: "Composite", + className: "HostingEnvironmentProfile" } }, - isProfileRunning: { - serializedName: "properties.is_profile_running", + keyVaultId: { + serializedName: "properties.keyVaultId", + xmlName: "properties.keyVaultId", type: { - name: "Boolean" + name: "String" } }, - isIisProfileRunning: { - serializedName: "properties.is_iis_profile_running", + keyVaultSecretName: { + serializedName: "properties.keyVaultSecretName", + xmlName: "properties.keyVaultSecretName", type: { - name: "Boolean" + name: "String" } }, - iisProfileTimeoutInSeconds: { - serializedName: "properties.iis_profile_timeout_in_seconds", + keyVaultSecretStatus: { + serializedName: "properties.keyVaultSecretStatus", + readOnly: true, + xmlName: "properties.keyVaultSecretStatus", type: { - name: "Number" + name: "Enum", + allowedValues: [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ] } }, - parent: { - serializedName: "properties.parent", + serverFarmId: { + serializedName: "properties.serverFarmId", + xmlName: "properties.serverFarmId", type: { name: "String" } }, - children: { - serializedName: "properties.children", + canonicalName: { + serializedName: "properties.canonicalName", + xmlName: "properties.canonicalName", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - threads: { - serializedName: "properties.threads", + domainValidationMethod: { + serializedName: "properties.domainValidationMethod", + xmlName: "properties.domainValidationMethod", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProcessThreadInfo" - } - } + name: "String" } - }, - openFileHandles: { - serializedName: "properties.open_file_handles", + } + } + } +}; + +export const KubeEnvironment: coreClient.CompositeMapper = { + serializedName: "KubeEnvironment", + type: { + name: "Composite", + className: "KubeEnvironment", + modelProperties: { + ...Resource.type.modelProperties, + extendedLocation: { + serializedName: "extendedLocation", + xmlName: "extendedLocation", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "ExtendedLocation" } }, - modules: { - serializedName: "properties.modules", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProcessModuleInfo" - } - } + name: "Enum", + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "InitializationInProgress", + "InfrastructureSetupInProgress", + "InfrastructureSetupComplete", + "ScheduledForDelete", + "UpgradeRequested", + "UpgradeFailed" + ] } }, - fileName: { - serializedName: "properties.file_name", + deploymentErrors: { + serializedName: "properties.deploymentErrors", + readOnly: true, + xmlName: "properties.deploymentErrors", type: { name: "String" } }, - commandLine: { - serializedName: "properties.command_line", + internalLoadBalancerEnabled: { + serializedName: "properties.internalLoadBalancerEnabled", + xmlName: "properties.internalLoadBalancerEnabled", + type: { + name: "Boolean" + } + }, + defaultDomain: { + serializedName: "properties.defaultDomain", + readOnly: true, + xmlName: "properties.defaultDomain", type: { name: "String" } }, - userName: { - serializedName: "properties.user_name", + staticIp: { + serializedName: "properties.staticIp", + xmlName: "properties.staticIp", type: { name: "String" } }, - handleCount: { - serializedName: "properties.handle_count", + arcConfiguration: { + serializedName: "properties.arcConfiguration", + xmlName: "properties.arcConfiguration", type: { - name: "Number" + name: "Composite", + className: "ArcConfiguration" } }, - moduleCount: { - serializedName: "properties.module_count", + appLogsConfiguration: { + serializedName: "properties.appLogsConfiguration", + xmlName: "properties.appLogsConfiguration", type: { - name: "Number" + name: "Composite", + className: "AppLogsConfiguration" } }, - threadCount: { - serializedName: "properties.thread_count", + aksResourceID: { + serializedName: "properties.aksResourceID", + xmlName: "properties.aksResourceID", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const StaticSiteARMResource: coreClient.CompositeMapper = { + serializedName: "StaticSiteARMResource", + type: { + name: "Composite", + className: "StaticSiteARMResource", + modelProperties: { + ...Resource.type.modelProperties, + sku: { + serializedName: "sku", + xmlName: "sku", + type: { + name: "Composite", + className: "SkuDescription" } }, - startTime: { - serializedName: "properties.start_time", + identity: { + serializedName: "identity", + xmlName: "identity", type: { - name: "DateTime" + name: "Composite", + className: "ManagedServiceIdentity" } }, - totalCpuTime: { - serializedName: "properties.total_cpu_time", + defaultHostname: { + serializedName: "properties.defaultHostname", + readOnly: true, + xmlName: "properties.defaultHostname", type: { name: "String" } }, - userCpuTime: { - serializedName: "properties.user_cpu_time", + repositoryUrl: { + serializedName: "properties.repositoryUrl", + xmlName: "properties.repositoryUrl", type: { name: "String" } }, - privilegedCpuTime: { - serializedName: "properties.privileged_cpu_time", + branch: { + serializedName: "properties.branch", + xmlName: "properties.branch", type: { name: "String" } }, - workingSet: { - serializedName: "properties.working_set", + customDomains: { + serializedName: "properties.customDomains", + readOnly: true, + xmlName: "properties.customDomains", + xmlElementName: "StaticSiteCustomDomainsItem", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - peakWorkingSet: { - serializedName: "properties.peak_working_set", + repositoryToken: { + serializedName: "properties.repositoryToken", + xmlName: "properties.repositoryToken", type: { - name: "Number" + name: "String" } }, - privateMemory: { - serializedName: "properties.private_memory", + buildProperties: { + serializedName: "properties.buildProperties", + xmlName: "properties.buildProperties", type: { - name: "Number" + name: "Composite", + className: "StaticSiteBuildProperties" } }, - virtualMemory: { - serializedName: "properties.virtual_memory", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, + xmlName: "properties.privateEndpointConnections", + xmlElementName: + "ResponseMessageEnvelopeRemotePrivateEndpointConnection", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: + "ResponseMessageEnvelopeRemotePrivateEndpointConnection" + } + } } }, - peakVirtualMemory: { - serializedName: "properties.peak_virtual_memory", + stagingEnvironmentPolicy: { + serializedName: "properties.stagingEnvironmentPolicy", + xmlName: "properties.stagingEnvironmentPolicy", type: { - name: "Number" + name: "Enum", + allowedValues: ["Enabled", "Disabled"] } }, - pagedSystemMemory: { - serializedName: "properties.paged_system_memory", + allowConfigFileUpdates: { + serializedName: "properties.allowConfigFileUpdates", + xmlName: "properties.allowConfigFileUpdates", type: { - name: "Number" + name: "Boolean" } }, - nonPagedSystemMemory: { - serializedName: "properties.non_paged_system_memory", + templateProperties: { + serializedName: "properties.templateProperties", + xmlName: "properties.templateProperties", type: { - name: "Number" + name: "Composite", + className: "StaticSiteTemplateOptions" } }, - pagedMemory: { - serializedName: "properties.paged_memory", + contentDistributionEndpoint: { + serializedName: "properties.contentDistributionEndpoint", + readOnly: true, + xmlName: "properties.contentDistributionEndpoint", type: { - name: "Number" + name: "String" } }, - peakPagedMemory: { - serializedName: "properties.peak_paged_memory", + keyVaultReferenceIdentity: { + serializedName: "properties.keyVaultReferenceIdentity", + readOnly: true, + xmlName: "properties.keyVaultReferenceIdentity", type: { - name: "Number" + name: "String" } }, - timeStamp: { - serializedName: "properties.time_stamp", - type: { - name: "DateTime" - } - }, - environmentVariables: { - serializedName: "properties.environment_variables", + userProvidedFunctionApps: { + serializedName: "properties.userProvidedFunctionApps", + readOnly: true, + xmlName: "properties.userProvidedFunctionApps", + xmlElementName: "StaticSiteUserProvidedFunctionApp", type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "StaticSiteUserProvidedFunctionApp" } } } }, - isScmSite: { - serializedName: "properties.is_scm_site", - type: { - name: "Boolean" - } - }, - isWebjob: { - serializedName: "properties.is_webjob", - type: { - name: "Boolean" - } - }, - description: { - serializedName: "properties.description", + provider: { + serializedName: "properties.provider", + readOnly: true, + xmlName: "properties.provider", type: { name: "String" } @@ -12381,29 +12917,44 @@ export const ProcessInfo: msRest.CompositeMapper = { } }; -export const PublicCertificate: msRest.CompositeMapper = { - serializedName: "PublicCertificate", +export const PremierAddOn: coreClient.CompositeMapper = { + serializedName: "PremierAddOn", type: { name: "Composite", - className: "PublicCertificate", + className: "PremierAddOn", modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - blob: { - serializedName: "properties.blob", + ...Resource.type.modelProperties, + sku: { + serializedName: "properties.sku", + xmlName: "properties.sku", type: { - name: "ByteArray" + name: "String" } }, - publicCertificateLocation: { - serializedName: "properties.publicCertificateLocation", + product: { + serializedName: "properties.product", + xmlName: "properties.product", type: { - name: "Enum", - allowedValues: ["CurrentUserMy", "LocalMachineMy", "Unknown"] + name: "String" } }, - thumbprint: { - readOnly: true, - serializedName: "properties.thumbprint", + vendor: { + serializedName: "properties.vendor", + xmlName: "properties.vendor", + type: { + name: "String" + } + }, + marketplacePublisher: { + serializedName: "properties.marketplacePublisher", + xmlName: "properties.marketplacePublisher", + type: { + name: "String" + } + }, + marketplaceOffer: { + serializedName: "properties.marketplaceOffer", + xmlName: "properties.marketplaceOffer", type: { name: "String" } @@ -12412,129 +12963,177 @@ export const PublicCertificate: msRest.CompositeMapper = { } }; -export const RestoreRequest: msRest.CompositeMapper = { - serializedName: "RestoreRequest", +export const AppServiceCertificateOrderPatchResource: coreClient.CompositeMapper = { + serializedName: "AppServiceCertificateOrderPatchResource", type: { name: "Composite", - className: "RestoreRequest", + className: "AppServiceCertificateOrderPatchResource", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - storageAccountUrl: { - required: true, - serializedName: "properties.storageAccountUrl", + certificates: { + serializedName: "properties.certificates", + xmlName: "properties.certificates", type: { - name: "String" + name: "Dictionary", + value: { + type: { name: "Composite", className: "AppServiceCertificate" } + } } }, - blobName: { - serializedName: "properties.blobName", + distinguishedName: { + serializedName: "properties.distinguishedName", + xmlName: "properties.distinguishedName", type: { name: "String" } }, - overwrite: { - required: true, - serializedName: "properties.overwrite", + domainVerificationToken: { + serializedName: "properties.domainVerificationToken", + readOnly: true, + xmlName: "properties.domainVerificationToken", type: { - name: "Boolean" + name: "String" } }, - siteName: { - serializedName: "properties.siteName", + validityInYears: { + defaultValue: 1, + serializedName: "properties.validityInYears", + xmlName: "properties.validityInYears", type: { - name: "String" + name: "Number" } }, - databases: { - serializedName: "properties.databases", + keySize: { + defaultValue: 2048, + serializedName: "properties.keySize", + xmlName: "properties.keySize", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DatabaseBackupSetting" - } - } + name: "Number" } }, - ignoreConflictingHostNames: { - serializedName: "properties.ignoreConflictingHostNames", - defaultValue: false, + productType: { + serializedName: "properties.productType", + xmlName: "properties.productType", type: { - name: "Boolean" + name: "Enum", + allowedValues: [ + "StandardDomainValidatedSsl", + "StandardDomainValidatedWildCardSsl" + ] } }, - ignoreDatabases: { - serializedName: "properties.ignoreDatabases", - defaultValue: false, + autoRenew: { + defaultValue: true, + serializedName: "properties.autoRenew", + xmlName: "properties.autoRenew", type: { name: "Boolean" } }, - appServicePlan: { - serializedName: "properties.appServicePlan", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] } }, - operationType: { - serializedName: "properties.operationType", - defaultValue: "Default", + status: { + serializedName: "properties.status", + readOnly: true, + xmlName: "properties.status", type: { name: "Enum", - allowedValues: ["Default", "Clone", "Relocation", "Snapshot", "CloudFS"] + allowedValues: [ + "Pendingissuance", + "Issued", + "Revoked", + "Canceled", + "Denied", + "Pendingrevocation", + "PendingRekey", + "Unused", + "Expired", + "NotSubmitted" + ] } }, - adjustConnectionStrings: { - serializedName: "properties.adjustConnectionStrings", + signedCertificate: { + serializedName: "properties.signedCertificate", + xmlName: "properties.signedCertificate", type: { - name: "Boolean" + name: "Composite", + className: "CertificateDetails" } }, - hostingEnvironment: { - serializedName: "properties.hostingEnvironment", + csr: { + serializedName: "properties.csr", + xmlName: "properties.csr", type: { name: "String" } - } - } - } -}; - -export const SiteAuthSettings: msRest.CompositeMapper = { - serializedName: "SiteAuthSettings", - type: { - name: "Composite", - className: "SiteAuthSettings", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - enabled: { - serializedName: "properties.enabled", + }, + intermediate: { + serializedName: "properties.intermediate", + xmlName: "properties.intermediate", type: { - name: "Boolean" + name: "Composite", + className: "CertificateDetails" } }, - runtimeVersion: { - serializedName: "properties.runtimeVersion", + root: { + serializedName: "properties.root", + xmlName: "properties.root", + type: { + name: "Composite", + className: "CertificateDetails" + } + }, + serialNumber: { + serializedName: "properties.serialNumber", + readOnly: true, + xmlName: "properties.serialNumber", type: { name: "String" } }, - unauthenticatedClientAction: { - serializedName: "properties.unauthenticatedClientAction", + lastCertificateIssuanceTime: { + serializedName: "properties.lastCertificateIssuanceTime", + readOnly: true, + xmlName: "properties.lastCertificateIssuanceTime", type: { - name: "Enum", - allowedValues: ["RedirectToLoginPage", "AllowAnonymous"] + name: "DateTime" } }, - tokenStoreEnabled: { - serializedName: "properties.tokenStoreEnabled", + expirationTime: { + serializedName: "properties.expirationTime", + readOnly: true, + xmlName: "properties.expirationTime", + type: { + name: "DateTime" + } + }, + isPrivateKeyExternal: { + serializedName: "properties.isPrivateKeyExternal", + readOnly: true, + xmlName: "properties.isPrivateKeyExternal", type: { name: "Boolean" } }, - allowedExternalRedirectUrls: { - serializedName: "properties.allowedExternalRedirectUrls", + appServiceCertificateNotRenewableReasons: { + serializedName: "properties.appServiceCertificateNotRenewableReasons", + readOnly: true, + xmlName: "properties.appServiceCertificateNotRenewableReasons", + xmlElementName: + "AppServiceCertificateOrderPatchResourcePropertiesAppServiceCertificateNotRenewableReasonsItem", type: { name: "Sequence", element: { @@ -12544,215 +13143,364 @@ export const SiteAuthSettings: msRest.CompositeMapper = { } } }, - defaultProvider: { - serializedName: "properties.defaultProvider", - type: { - name: "Enum", - allowedValues: [ - "AzureActiveDirectory", - "Facebook", - "Google", - "MicrosoftAccount", - "Twitter", - "Github" - ] - } - }, - tokenRefreshExtensionHours: { - serializedName: "properties.tokenRefreshExtensionHours", + nextAutoRenewalTimeStamp: { + serializedName: "properties.nextAutoRenewalTimeStamp", + readOnly: true, + xmlName: "properties.nextAutoRenewalTimeStamp", type: { - name: "Number" + name: "DateTime" } }, - clientId: { - serializedName: "properties.clientId", + contact: { + serializedName: "properties.contact", + xmlName: "properties.contact", type: { - name: "String" + name: "Composite", + className: "CertificateOrderContact" } - }, - clientSecret: { - serializedName: "properties.clientSecret", + } + } + } +}; + +export const AppServiceCertificatePatchResource: coreClient.CompositeMapper = { + serializedName: "AppServiceCertificatePatchResource", + type: { + name: "Composite", + className: "AppServiceCertificatePatchResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + keyVaultId: { + serializedName: "properties.keyVaultId", + xmlName: "properties.keyVaultId", type: { name: "String" } }, - clientSecretSettingName: { - serializedName: "properties.clientSecretSettingName", + keyVaultSecretName: { + serializedName: "properties.keyVaultSecretName", + xmlName: "properties.keyVaultSecretName", type: { name: "String" } }, - clientSecretCertificateThumbprint: { - serializedName: "properties.clientSecretCertificateThumbprint", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ] } - }, - issuer: { - serializedName: "properties.issuer", + } + } + } +}; + +export const ReissueCertificateOrderRequest: coreClient.CompositeMapper = { + serializedName: "ReissueCertificateOrderRequest", + type: { + name: "Composite", + className: "ReissueCertificateOrderRequest", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + keySize: { + serializedName: "properties.keySize", + xmlName: "properties.keySize", type: { - name: "String" + name: "Number" } }, - validateIssuer: { - serializedName: "properties.validateIssuer", + delayExistingRevokeInHours: { + serializedName: "properties.delayExistingRevokeInHours", + xmlName: "properties.delayExistingRevokeInHours", type: { - name: "Boolean" + name: "Number" } }, - allowedAudiences: { - serializedName: "properties.allowedAudiences", + csr: { + serializedName: "properties.csr", + xmlName: "properties.csr", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - additionalLoginParams: { - serializedName: "properties.additionalLoginParams", + isPrivateKeyExternal: { + serializedName: "properties.isPrivateKeyExternal", + xmlName: "properties.isPrivateKeyExternal", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Boolean" } - }, - aadClaimsAuthorization: { - serializedName: "properties.aadClaimsAuthorization", + } + } + } +}; + +export const RenewCertificateOrderRequest: coreClient.CompositeMapper = { + serializedName: "RenewCertificateOrderRequest", + type: { + name: "Composite", + className: "RenewCertificateOrderRequest", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + keySize: { + serializedName: "properties.keySize", + xmlName: "properties.keySize", type: { - name: "String" + name: "Number" } }, - googleClientId: { - serializedName: "properties.googleClientId", + csr: { + serializedName: "properties.csr", + xmlName: "properties.csr", type: { name: "String" } }, - googleClientSecret: { - serializedName: "properties.googleClientSecret", + isPrivateKeyExternal: { + serializedName: "properties.isPrivateKeyExternal", + xmlName: "properties.isPrivateKeyExternal", type: { - name: "String" + name: "Boolean" } - }, - googleClientSecretSettingName: { - serializedName: "properties.googleClientSecretSettingName", + } + } + } +}; + +export const CertificateOrderAction: coreClient.CompositeMapper = { + serializedName: "CertificateOrderAction", + type: { + name: "Composite", + className: "CertificateOrderAction", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + actionType: { + serializedName: "properties.actionType", + readOnly: true, + xmlName: "properties.actionType", type: { - name: "String" + name: "Enum", + allowedValues: [ + "CertificateIssued", + "CertificateOrderCanceled", + "CertificateOrderCreated", + "CertificateRevoked", + "DomainValidationComplete", + "FraudDetected", + "OrgNameChange", + "OrgValidationComplete", + "SanDrop", + "FraudCleared", + "CertificateExpired", + "CertificateExpirationWarning", + "FraudDocumentationRequired", + "Unknown" + ] } }, - googleOAuthScopes: { - serializedName: "properties.googleOAuthScopes", + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, + xmlName: "properties.createdAt", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "DateTime" } - }, - facebookAppId: { - serializedName: "properties.facebookAppId", + } + } + } +}; + +export const CertificateEmail: coreClient.CompositeMapper = { + serializedName: "CertificateEmail", + type: { + name: "Composite", + className: "CertificateEmail", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + emailId: { + serializedName: "properties.emailId", + xmlName: "properties.emailId", type: { name: "String" } }, - facebookAppSecret: { - serializedName: "properties.facebookAppSecret", + timeStamp: { + serializedName: "properties.timeStamp", + xmlName: "properties.timeStamp", type: { - name: "String" + name: "DateTime" } - }, - facebookAppSecretSettingName: { - serializedName: "properties.facebookAppSecretSettingName", + } + } + } +}; + +export const DetectorResponse: coreClient.CompositeMapper = { + serializedName: "DetectorResponse", + type: { + name: "Composite", + className: "DetectorResponse", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + metadata: { + serializedName: "properties.metadata", + xmlName: "properties.metadata", type: { - name: "String" + name: "Composite", + className: "DetectorInfo" } }, - facebookOAuthScopes: { - serializedName: "properties.facebookOAuthScopes", + dataset: { + serializedName: "properties.dataset", + xmlName: "properties.dataset", + xmlElementName: "DiagnosticData", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "DiagnosticData" } } } }, - gitHubClientId: { - serializedName: "properties.gitHubClientId", - type: { - name: "String" - } - }, - gitHubClientSecret: { - serializedName: "properties.gitHubClientSecret", - type: { - name: "String" - } - }, - gitHubClientSecretSettingName: { - serializedName: "properties.gitHubClientSecretSettingName", + status: { + serializedName: "properties.status", + xmlName: "properties.status", type: { - name: "String" + name: "Composite", + className: "Status" } }, - gitHubOAuthScopes: { - serializedName: "properties.gitHubOAuthScopes", + dataProvidersMetadata: { + serializedName: "properties.dataProvidersMetadata", + xmlName: "properties.dataProvidersMetadata", + xmlElementName: "DataProviderMetadata", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "DataProviderMetadata" } } } }, - twitterConsumerKey: { - serializedName: "properties.twitterConsumerKey", + suggestedUtterances: { + serializedName: "properties.suggestedUtterances", + xmlName: "properties.suggestedUtterances", type: { - name: "String" + name: "Composite", + className: "QueryUtterancesResults" } - }, - twitterConsumerSecret: { - serializedName: "properties.twitterConsumerSecret", + } + } + } +}; + +export const DomainPatchResource: coreClient.CompositeMapper = { + serializedName: "DomainPatchResource", + type: { + name: "Composite", + className: "DomainPatchResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + contactAdmin: { + serializedName: "properties.contactAdmin", + xmlName: "properties.contactAdmin", type: { - name: "String" + name: "Composite", + className: "Contact" } }, - twitterConsumerSecretSettingName: { - serializedName: "properties.twitterConsumerSecretSettingName", + contactBilling: { + serializedName: "properties.contactBilling", + xmlName: "properties.contactBilling", type: { - name: "String" + name: "Composite", + className: "Contact" } }, - microsoftAccountClientId: { - serializedName: "properties.microsoftAccountClientId", + contactRegistrant: { + serializedName: "properties.contactRegistrant", + xmlName: "properties.contactRegistrant", type: { - name: "String" + name: "Composite", + className: "Contact" } }, - microsoftAccountClientSecret: { - serializedName: "properties.microsoftAccountClientSecret", + contactTech: { + serializedName: "properties.contactTech", + xmlName: "properties.contactTech", type: { - name: "String" + name: "Composite", + className: "Contact" } }, - microsoftAccountClientSecretSettingName: { - serializedName: "properties.microsoftAccountClientSecretSettingName", + registrationStatus: { + serializedName: "properties.registrationStatus", + readOnly: true, + xmlName: "properties.registrationStatus", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Active", + "Awaiting", + "Cancelled", + "Confiscated", + "Disabled", + "Excluded", + "Expired", + "Failed", + "Held", + "Locked", + "Parked", + "Pending", + "Reserved", + "Reverted", + "Suspended", + "Transferred", + "Unknown", + "Unlocked", + "Unparked", + "Updated", + "JsonConverterFailed" + ] } }, - microsoftAccountOAuthScopes: { - serializedName: "properties.microsoftAccountOAuthScopes", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", + type: { + name: "Enum", + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] + } + }, + nameServers: { + serializedName: "properties.nameServers", + readOnly: true, + xmlName: "properties.nameServers", + xmlElementName: "DomainPatchResourcePropertiesNameServersItem", type: { name: "Sequence", element: { @@ -12762,783 +13510,1014 @@ export const SiteAuthSettings: msRest.CompositeMapper = { } } }, - isAuthFromFile: { - serializedName: "properties.isAuthFromFile", + privacy: { + serializedName: "properties.privacy", + xmlName: "properties.privacy", type: { - name: "String" + name: "Boolean" } }, - authFilePath: { - serializedName: "properties.authFilePath", + createdTime: { + serializedName: "properties.createdTime", + readOnly: true, + xmlName: "properties.createdTime", type: { - name: "String" + name: "DateTime" } }, - configVersion: { - serializedName: "properties.configVersion", + expirationTime: { + serializedName: "properties.expirationTime", + readOnly: true, + xmlName: "properties.expirationTime", type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const SiteAuthSettingsV2: msRest.CompositeMapper = { - serializedName: "SiteAuthSettingsV2", - type: { - name: "Composite", - className: "SiteAuthSettingsV2", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - platform: { - serializedName: "properties.platform", + }, + lastRenewedTime: { + serializedName: "properties.lastRenewedTime", + readOnly: true, + xmlName: "properties.lastRenewedTime", type: { - name: "Composite", - className: "AuthPlatform" + name: "DateTime" } }, - globalValidation: { - serializedName: "properties.globalValidation", + autoRenew: { + defaultValue: true, + serializedName: "properties.autoRenew", + xmlName: "properties.autoRenew", type: { - name: "Composite", - className: "GlobalValidation" + name: "Boolean" } }, - identityProviders: { - serializedName: "properties.identityProviders", + readyForDnsRecordManagement: { + serializedName: "properties.readyForDnsRecordManagement", + readOnly: true, + xmlName: "properties.readyForDnsRecordManagement", type: { - name: "Composite", - className: "IdentityProviders" + name: "Boolean" } }, - login: { - serializedName: "properties.login", + managedHostNames: { + serializedName: "properties.managedHostNames", + readOnly: true, + xmlName: "properties.managedHostNames", + xmlElementName: "HostName", type: { - name: "Composite", - className: "Login" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HostName" + } + } } }, - httpSettings: { - serializedName: "properties.httpSettings", + consent: { + serializedName: "properties.consent", + xmlName: "properties.consent", type: { name: "Composite", - className: "HttpSettings" + className: "DomainPurchaseConsent" + } + }, + domainNotRenewableReasons: { + serializedName: "properties.domainNotRenewableReasons", + readOnly: true, + xmlName: "properties.domainNotRenewableReasons", + xmlElementName: + "DomainPatchResourcePropertiesDomainNotRenewableReasonsItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + dnsType: { + serializedName: "properties.dnsType", + xmlName: "properties.dnsType", + type: { + name: "Enum", + allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"] + } + }, + dnsZoneId: { + serializedName: "properties.dnsZoneId", + xmlName: "properties.dnsZoneId", + type: { + name: "String" + } + }, + targetDnsType: { + serializedName: "properties.targetDnsType", + xmlName: "properties.targetDnsType", + type: { + name: "Enum", + allowedValues: ["AzureDns", "DefaultDomainRegistrarDns"] + } + }, + authCode: { + serializedName: "properties.authCode", + xmlName: "properties.authCode", + type: { + name: "String" } } } } }; -export const SiteCloneabilityCriterion: msRest.CompositeMapper = { - serializedName: "SiteCloneabilityCriterion", +export const DomainOwnershipIdentifier: coreClient.CompositeMapper = { + serializedName: "DomainOwnershipIdentifier", type: { name: "Composite", - className: "SiteCloneabilityCriterion", + className: "DomainOwnershipIdentifier", modelProperties: { - name: { - serializedName: "name", + ...ProxyOnlyResource.type.modelProperties, + ownershipId: { + serializedName: "properties.ownershipId", + xmlName: "properties.ownershipId", type: { name: "String" } - }, - description: { - serializedName: "description", + } + } + } +}; + +export const TopLevelDomain: coreClient.CompositeMapper = { + serializedName: "TopLevelDomain", + type: { + name: "Composite", + className: "TopLevelDomain", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + privacy: { + serializedName: "properties.privacy", + xmlName: "properties.privacy", type: { - name: "String" + name: "Boolean" } } } } }; -export const SiteCloneability: msRest.CompositeMapper = { - serializedName: "SiteCloneability", +export const AppServiceEnvironmentPatchResource: coreClient.CompositeMapper = { + serializedName: "AppServiceEnvironmentPatchResource", type: { name: "Composite", - className: "SiteCloneability", + className: "AppServiceEnvironmentPatchResource", modelProperties: { - result: { - serializedName: "result", + ...ProxyOnlyResource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { name: "Enum", - allowedValues: ["Cloneable", "PartiallyCloneable", "NotCloneable"] + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] } }, - blockingFeatures: { - serializedName: "blockingFeatures", + status: { + serializedName: "properties.status", + readOnly: true, + xmlName: "properties.status", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SiteCloneabilityCriterion" - } - } + name: "Enum", + allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"] } }, - unsupportedFeatures: { - serializedName: "unsupportedFeatures", + virtualNetwork: { + serializedName: "properties.virtualNetwork", + xmlName: "properties.virtualNetwork", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SiteCloneabilityCriterion" - } - } + name: "Composite", + className: "VirtualNetworkProfile" } }, - blockingCharacteristics: { - serializedName: "blockingCharacteristics", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SiteCloneabilityCriterion" - } - } - } - } - } - } -}; - -export const SiteConfigResource: msRest.CompositeMapper = { - serializedName: "SiteConfigResource", - type: { - name: "Composite", - className: "SiteConfigResource", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - numberOfWorkers: { - serializedName: "properties.numberOfWorkers", - type: { - name: "Number" - } - }, - defaultDocuments: { - serializedName: "properties.defaultDocuments", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - netFrameworkVersion: { - serializedName: "properties.netFrameworkVersion", - defaultValue: "v4.6", + internalLoadBalancingMode: { + serializedName: "properties.internalLoadBalancingMode", + xmlName: "properties.internalLoadBalancingMode", type: { name: "String" } }, - phpVersion: { - serializedName: "properties.phpVersion", + multiSize: { + serializedName: "properties.multiSize", + xmlName: "properties.multiSize", type: { name: "String" } }, - pythonVersion: { - serializedName: "properties.pythonVersion", + multiRoleCount: { + serializedName: "properties.multiRoleCount", + readOnly: true, + xmlName: "properties.multiRoleCount", type: { - name: "String" + name: "Number" } }, - nodeVersion: { - serializedName: "properties.nodeVersion", + ipsslAddressCount: { + serializedName: "properties.ipsslAddressCount", + xmlName: "properties.ipsslAddressCount", type: { - name: "String" + name: "Number" } }, - powerShellVersion: { - serializedName: "properties.powerShellVersion", + dnsSuffix: { + serializedName: "properties.dnsSuffix", + xmlName: "properties.dnsSuffix", type: { name: "String" } }, - linuxFxVersion: { - serializedName: "properties.linuxFxVersion", + maximumNumberOfMachines: { + serializedName: "properties.maximumNumberOfMachines", + readOnly: true, + xmlName: "properties.maximumNumberOfMachines", type: { - name: "String" + name: "Number" } }, - windowsFxVersion: { - serializedName: "properties.windowsFxVersion", + frontEndScaleFactor: { + serializedName: "properties.frontEndScaleFactor", + xmlName: "properties.frontEndScaleFactor", type: { - name: "String" + name: "Number" } }, - requestTracingEnabled: { - serializedName: "properties.requestTracingEnabled", + suspended: { + serializedName: "properties.suspended", + readOnly: true, + xmlName: "properties.suspended", type: { name: "Boolean" } }, - requestTracingExpirationTime: { - serializedName: "properties.requestTracingExpirationTime", - type: { - name: "DateTime" - } - }, - remoteDebuggingEnabled: { - serializedName: "properties.remoteDebuggingEnabled", + clusterSettings: { + serializedName: "properties.clusterSettings", + xmlName: "properties.clusterSettings", + xmlElementName: "NameValuePair", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } } }, - remoteDebuggingVersion: { - serializedName: "properties.remoteDebuggingVersion", + userWhitelistedIpRanges: { + serializedName: "properties.userWhitelistedIpRanges", + xmlName: "properties.userWhitelistedIpRanges", + xmlElementName: "AppServiceEnvironmentUserWhitelistedIpRangesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - httpLoggingEnabled: { - serializedName: "properties.httpLoggingEnabled", + hasLinuxWorkers: { + serializedName: "properties.hasLinuxWorkers", + readOnly: true, + xmlName: "properties.hasLinuxWorkers", type: { name: "Boolean" } }, - logsDirectorySizeLimit: { - serializedName: "properties.logsDirectorySizeLimit", + dedicatedHostCount: { + serializedName: "properties.dedicatedHostCount", + xmlName: "properties.dedicatedHostCount", type: { name: "Number" } }, - detailedErrorLoggingEnabled: { - serializedName: "properties.detailedErrorLoggingEnabled", + zoneRedundant: { + serializedName: "properties.zoneRedundant", + xmlName: "properties.zoneRedundant", type: { name: "Boolean" } + } + } + } +}; + +export const AddressResponse: coreClient.CompositeMapper = { + serializedName: "AddressResponse", + type: { + name: "Composite", + className: "AddressResponse", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + serviceIpAddress: { + serializedName: "properties.serviceIpAddress", + xmlName: "properties.serviceIpAddress", + type: { + name: "String" + } }, - publishingUsername: { - serializedName: "properties.publishingUsername", + internalIpAddress: { + serializedName: "properties.internalIpAddress", + xmlName: "properties.internalIpAddress", type: { name: "String" } }, - appSettings: { - serializedName: "properties.appSettings", + outboundIpAddresses: { + serializedName: "properties.outboundIpAddresses", + xmlName: "properties.outboundIpAddresses", + xmlElementName: "AddressResponsePropertiesOutboundIpAddressesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "NameValuePair" + name: "String" } } } }, - connectionStrings: { - serializedName: "properties.connectionStrings", + vipMappings: { + serializedName: "properties.vipMappings", + xmlName: "properties.vipMappings", + xmlElementName: "VirtualIPMapping", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ConnStringInfo" + className: "VirtualIPMapping" } } } - }, - machineKey: { - readOnly: true, - serializedName: "properties.machineKey", + } + } + } +}; + +export const PushSettings: coreClient.CompositeMapper = { + serializedName: "PushSettings", + type: { + name: "Composite", + className: "PushSettings", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + isPushEnabled: { + serializedName: "properties.isPushEnabled", + xmlName: "properties.isPushEnabled", type: { - name: "Composite", - className: "SiteMachineKey" + name: "Boolean" } }, - handlerMappings: { - serializedName: "properties.handlerMappings", + tagWhitelistJson: { + serializedName: "properties.tagWhitelistJson", + xmlName: "properties.tagWhitelistJson", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HandlerMapping" - } - } + name: "String" } }, - documentRoot: { - serializedName: "properties.documentRoot", + tagsRequiringAuth: { + serializedName: "properties.tagsRequiringAuth", + xmlName: "properties.tagsRequiringAuth", type: { name: "String" } }, - scmType: { - serializedName: "properties.scmType", + dynamicTagsJson: { + serializedName: "properties.dynamicTagsJson", + xmlName: "properties.dynamicTagsJson", type: { name: "String" } - }, - use32BitWorkerProcess: { - serializedName: "properties.use32BitWorkerProcess", + } + } + } +}; + +export const AseV3NetworkingConfiguration: coreClient.CompositeMapper = { + serializedName: "AseV3NetworkingConfiguration", + type: { + name: "Composite", + className: "AseV3NetworkingConfiguration", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + windowsOutboundIpAddresses: { + serializedName: "properties.windowsOutboundIpAddresses", + readOnly: true, + xmlName: "properties.windowsOutboundIpAddresses", + xmlElementName: + "AseV3NetworkingConfigurationPropertiesWindowsOutboundIpAddressesItem", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - webSocketsEnabled: { - serializedName: "properties.webSocketsEnabled", + linuxOutboundIpAddresses: { + serializedName: "properties.linuxOutboundIpAddresses", + readOnly: true, + xmlName: "properties.linuxOutboundIpAddresses", + xmlElementName: + "AseV3NetworkingConfigurationPropertiesLinuxOutboundIpAddressesItem", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - alwaysOn: { - serializedName: "properties.alwaysOn", + externalInboundIpAddresses: { + serializedName: "properties.externalInboundIpAddresses", + readOnly: true, + xmlName: "properties.externalInboundIpAddresses", + xmlElementName: + "AseV3NetworkingConfigurationPropertiesExternalInboundIpAddressesItem", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - javaVersion: { - serializedName: "properties.javaVersion", + internalInboundIpAddresses: { + serializedName: "properties.internalInboundIpAddresses", + readOnly: true, + xmlName: "properties.internalInboundIpAddresses", + xmlElementName: + "AseV3NetworkingConfigurationPropertiesInternalInboundIpAddressesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - javaContainer: { - serializedName: "properties.javaContainer", + allowNewPrivateEndpointConnections: { + serializedName: "properties.allowNewPrivateEndpointConnections", + xmlName: "properties.allowNewPrivateEndpointConnections", type: { - name: "String" + name: "Boolean" + } + } + } + } +}; + +export const WorkerPoolResource: coreClient.CompositeMapper = { + serializedName: "WorkerPoolResource", + type: { + name: "Composite", + className: "WorkerPoolResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + sku: { + serializedName: "sku", + xmlName: "sku", + type: { + name: "Composite", + className: "SkuDescription" } }, - javaContainerVersion: { - serializedName: "properties.javaContainerVersion", + workerSizeId: { + serializedName: "properties.workerSizeId", + xmlName: "properties.workerSizeId", type: { - name: "String" + name: "Number" } }, - appCommandLine: { - serializedName: "properties.appCommandLine", + computeMode: { + serializedName: "properties.computeMode", + xmlName: "properties.computeMode", + type: { + name: "Enum", + allowedValues: ["Shared", "Dedicated", "Dynamic"] + } + }, + workerSize: { + serializedName: "properties.workerSize", + xmlName: "properties.workerSize", type: { name: "String" } }, - managedPipelineMode: { - serializedName: "properties.managedPipelineMode", + workerCount: { + serializedName: "properties.workerCount", + xmlName: "properties.workerCount", type: { - name: "Enum", - allowedValues: ["Integrated", "Classic"] + name: "Number" } }, - virtualApplications: { - serializedName: "properties.virtualApplications", + instanceNames: { + serializedName: "properties.instanceNames", + readOnly: true, + xmlName: "properties.instanceNames", + xmlElementName: "WorkerPoolInstanceNamesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "VirtualApplication" + name: "String" } } } - }, - loadBalancing: { - serializedName: "properties.loadBalancing", + } + } + } +}; + +export const ResourceMetricDefinition: coreClient.CompositeMapper = { + serializedName: "ResourceMetricDefinition", + type: { + name: "Composite", + className: "ResourceMetricDefinition", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + unit: { + serializedName: "properties.unit", + readOnly: true, + xmlName: "properties.unit", type: { - name: "Enum", - allowedValues: [ - "WeightedRoundRobin", - "LeastRequests", - "LeastResponseTime", - "WeightedTotalTraffic", - "RequestHash", - "PerSiteRoundRobin" - ] + name: "String" } }, - experiments: { - serializedName: "properties.experiments", + primaryAggregationType: { + serializedName: "properties.primaryAggregationType", + readOnly: true, + xmlName: "properties.primaryAggregationType", type: { - name: "Composite", - className: "Experiments" + name: "String" } }, - limits: { - serializedName: "properties.limits", + metricAvailabilities: { + serializedName: "properties.metricAvailabilities", + readOnly: true, + xmlName: "properties.metricAvailabilities", + xmlElementName: "ResourceMetricAvailability", type: { - name: "Composite", - className: "SiteLimits" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceMetricAvailability" + } + } } }, - autoHealEnabled: { - serializedName: "properties.autoHealEnabled", + resourceUri: { + serializedName: "properties.resourceUri", + readOnly: true, + xmlName: "properties.resourceUri", type: { - name: "Boolean" + name: "String" } }, - autoHealRules: { - serializedName: "properties.autoHealRules", + properties: { + serializedName: "properties.properties", + readOnly: true, + xmlName: "properties.properties", type: { - name: "Composite", - className: "AutoHealRules" + name: "Dictionary", + value: { type: { name: "String" } } } - }, - tracingOptions: { - serializedName: "properties.tracingOptions", + } + } + } +}; + +export const Usage: coreClient.CompositeMapper = { + serializedName: "Usage", + type: { + name: "Composite", + className: "Usage", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + displayName: { + serializedName: "properties.displayName", + readOnly: true, + xmlName: "properties.displayName", type: { name: "String" } }, - vnetName: { - serializedName: "properties.vnetName", + resourceName: { + serializedName: "properties.resourceName", + readOnly: true, + xmlName: "properties.resourceName", type: { name: "String" } }, - vnetRouteAllEnabled: { - serializedName: "properties.vnetRouteAllEnabled", + unit: { + serializedName: "properties.unit", + readOnly: true, + xmlName: "properties.unit", type: { - name: "Boolean" + name: "String" } }, - vnetPrivatePortsCount: { - serializedName: "properties.vnetPrivatePortsCount", + currentValue: { + serializedName: "properties.currentValue", + readOnly: true, + xmlName: "properties.currentValue", type: { name: "Number" } }, - cors: { - serializedName: "properties.cors", - type: { - name: "Composite", - className: "CorsSettings" - } - }, - push: { - serializedName: "properties.push", + limit: { + serializedName: "properties.limit", + readOnly: true, + xmlName: "properties.limit", type: { - name: "Composite", - className: "PushSettings" + name: "Number" } }, - apiDefinition: { - serializedName: "properties.apiDefinition", + nextResetTime: { + serializedName: "properties.nextResetTime", + readOnly: true, + xmlName: "properties.nextResetTime", type: { - name: "Composite", - className: "ApiDefinitionInfo" + name: "DateTime" } }, - apiManagementConfig: { - serializedName: "properties.apiManagementConfig", + computeMode: { + serializedName: "properties.computeMode", + readOnly: true, + xmlName: "properties.computeMode", type: { - name: "Composite", - className: "ApiManagementConfig" + name: "Enum", + allowedValues: ["Shared", "Dedicated", "Dynamic"] } }, - autoSwapSlotName: { - serializedName: "properties.autoSwapSlotName", + siteMode: { + serializedName: "properties.siteMode", + readOnly: true, + xmlName: "properties.siteMode", type: { name: "String" } - }, - localMySqlEnabled: { - serializedName: "properties.localMySqlEnabled", - defaultValue: false, - type: { - name: "Boolean" - } - }, - managedServiceIdentityId: { - serializedName: "properties.managedServiceIdentityId", + } + } + } +}; + +export const RemotePrivateEndpointConnectionARMResource: coreClient.CompositeMapper = { + serializedName: "RemotePrivateEndpointConnectionARMResource", + type: { + name: "Composite", + className: "RemotePrivateEndpointConnectionARMResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "Number" + name: "String" } }, - xManagedServiceIdentityId: { - serializedName: "properties.xManagedServiceIdentityId", + privateEndpoint: { + serializedName: "properties.privateEndpoint", + xmlName: "properties.privateEndpoint", type: { - name: "Number" + name: "Composite", + className: "ArmIdWrapper" } }, - keyVaultReferenceIdentity: { - serializedName: "properties.keyVaultReferenceIdentity", + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + xmlName: "properties.privateLinkServiceConnectionState", type: { - name: "String" + name: "Composite", + className: "PrivateLinkConnectionState" } }, - ipSecurityRestrictions: { - serializedName: "properties.ipSecurityRestrictions", + ipAddresses: { + serializedName: "properties.ipAddresses", + xmlName: "properties.ipAddresses", + xmlElementName: + "RemotePrivateEndpointConnectionARMResourcePropertiesIpAddressesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "IpSecurityRestriction" + name: "String" } } } - }, - scmIpSecurityRestrictions: { - serializedName: "properties.scmIpSecurityRestrictions", + } + } + } +}; + +export const PrivateLinkConnectionApprovalRequestResource: coreClient.CompositeMapper = { + serializedName: "PrivateLinkConnectionApprovalRequestResource", + type: { + name: "Composite", + className: "PrivateLinkConnectionApprovalRequestResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + xmlName: "properties.privateLinkServiceConnectionState", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "IpSecurityRestriction" - } - } - } - }, - scmIpSecurityRestrictionsUseMain: { - serializedName: "properties.scmIpSecurityRestrictionsUseMain", - type: { - name: "Boolean" - } - }, - http20Enabled: { - serializedName: "properties.http20Enabled", - defaultValue: true, - type: { - name: "Boolean" + name: "Composite", + className: "PrivateLinkConnectionState" } - }, - minTlsVersion: { - serializedName: "properties.minTlsVersion", + } + } + } +}; + +export const AppServicePlanPatchResource: coreClient.CompositeMapper = { + serializedName: "AppServicePlanPatchResource", + type: { + name: "Composite", + className: "AppServicePlanPatchResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + workerTierName: { + serializedName: "properties.workerTierName", + xmlName: "properties.workerTierName", type: { name: "String" } }, - scmMinTlsVersion: { - serializedName: "properties.scmMinTlsVersion", + status: { + serializedName: "properties.status", + readOnly: true, + xmlName: "properties.status", type: { - name: "String" + name: "Enum", + allowedValues: ["Ready", "Pending", "Creating"] } }, - ftpsState: { - serializedName: "properties.ftpsState", + subscription: { + serializedName: "properties.subscription", + readOnly: true, + xmlName: "properties.subscription", type: { name: "String" } }, - preWarmedInstanceCount: { - serializedName: "properties.preWarmedInstanceCount", - constraints: { - InclusiveMaximum: 10, - InclusiveMinimum: 0 - }, + hostingEnvironmentProfile: { + serializedName: "properties.hostingEnvironmentProfile", + xmlName: "properties.hostingEnvironmentProfile", type: { - name: "Number" + name: "Composite", + className: "HostingEnvironmentProfile" } }, - functionAppScaleLimit: { - serializedName: "properties.functionAppScaleLimit", - constraints: { - InclusiveMinimum: 0 - }, + maximumNumberOfWorkers: { + serializedName: "properties.maximumNumberOfWorkers", + readOnly: true, + xmlName: "properties.maximumNumberOfWorkers", type: { name: "Number" } }, - healthCheckPath: { - serializedName: "properties.healthCheckPath", + geoRegion: { + serializedName: "properties.geoRegion", + readOnly: true, + xmlName: "properties.geoRegion", type: { name: "String" } }, - functionsRuntimeScaleMonitoringEnabled: { - serializedName: "properties.functionsRuntimeScaleMonitoringEnabled", + perSiteScaling: { + serializedName: "properties.perSiteScaling", + xmlName: "properties.perSiteScaling", type: { name: "Boolean" } }, - websiteTimeZone: { - serializedName: "properties.websiteTimeZone", + elasticScaleEnabled: { + serializedName: "properties.elasticScaleEnabled", + xmlName: "properties.elasticScaleEnabled", type: { - name: "String" + name: "Boolean" } }, - minimumElasticInstanceCount: { - serializedName: "properties.minimumElasticInstanceCount", - constraints: { - InclusiveMaximum: 20, - InclusiveMinimum: 0 - }, + maximumElasticWorkerCount: { + serializedName: "properties.maximumElasticWorkerCount", + xmlName: "properties.maximumElasticWorkerCount", type: { name: "Number" } }, - azureStorageAccounts: { - serializedName: "properties.azureStorageAccounts", + numberOfSites: { + serializedName: "properties.numberOfSites", + readOnly: true, + xmlName: "properties.numberOfSites", type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "AzureStorageInfoValue" - } - } + name: "Number" } }, - publicNetworkAccess: { - serializedName: "properties.publicNetworkAccess", + isSpot: { + serializedName: "properties.isSpot", + xmlName: "properties.isSpot", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const SiteConfigurationSnapshotInfo: msRest.CompositeMapper = { - serializedName: "SiteConfigurationSnapshotInfo", - type: { - name: "Composite", - className: "SiteConfigurationSnapshotInfo", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - time: { - readOnly: true, - serializedName: "properties.time", + }, + spotExpirationTime: { + serializedName: "properties.spotExpirationTime", + xmlName: "properties.spotExpirationTime", type: { name: "DateTime" } }, - snapshotId: { - readOnly: true, - serializedName: "properties.snapshotId", - type: { - name: "Number" - } - } - } - } -}; - -export const SiteExtensionInfo: msRest.CompositeMapper = { - serializedName: "SiteExtensionInfo", - type: { - name: "Composite", - className: "SiteExtensionInfo", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - extensionId: { - serializedName: "properties.extension_id", + freeOfferExpirationTime: { + serializedName: "properties.freeOfferExpirationTime", + xmlName: "properties.freeOfferExpirationTime", type: { - name: "String" + name: "DateTime" } }, - title: { - serializedName: "properties.title", + resourceGroup: { + serializedName: "properties.resourceGroup", + readOnly: true, + xmlName: "properties.resourceGroup", type: { name: "String" } }, - extensionType: { - serializedName: "properties.extension_type", + reserved: { + serializedName: "properties.reserved", + xmlName: "properties.reserved", type: { - name: "Enum", - allowedValues: ["Gallery", "WebRoot"] + name: "Boolean" } }, - summary: { - serializedName: "properties.summary", + isXenon: { + serializedName: "properties.isXenon", + xmlName: "properties.isXenon", type: { - name: "String" + name: "Boolean" } }, - description: { - serializedName: "properties.description", + hyperV: { + serializedName: "properties.hyperV", + xmlName: "properties.hyperV", type: { - name: "String" + name: "Boolean" } }, - version: { - serializedName: "properties.version", + targetWorkerCount: { + serializedName: "properties.targetWorkerCount", + xmlName: "properties.targetWorkerCount", type: { - name: "String" + name: "Number" } }, - extensionUrl: { - serializedName: "properties.extension_url", + targetWorkerSizeId: { + serializedName: "properties.targetWorkerSizeId", + xmlName: "properties.targetWorkerSizeId", type: { - name: "String" + name: "Number" } }, - projectUrl: { - serializedName: "properties.project_url", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ] } }, - iconUrl: { - serializedName: "properties.icon_url", + kubeEnvironmentProfile: { + serializedName: "properties.kubeEnvironmentProfile", + xmlName: "properties.kubeEnvironmentProfile", type: { - name: "String" + name: "Composite", + className: "KubeEnvironmentProfile" } }, - licenseUrl: { - serializedName: "properties.license_url", + zoneRedundant: { + serializedName: "properties.zoneRedundant", + xmlName: "properties.zoneRedundant", type: { - name: "String" + name: "Boolean" } - }, - feedUrl: { - serializedName: "properties.feed_url", + } + } + } +}; + +export const HybridConnection: coreClient.CompositeMapper = { + serializedName: "HybridConnection", + type: { + name: "Composite", + className: "HybridConnection", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + serviceBusNamespace: { + serializedName: "properties.serviceBusNamespace", + xmlName: "properties.serviceBusNamespace", type: { name: "String" } }, - authors: { - serializedName: "properties.authors", + relayName: { + serializedName: "properties.relayName", + xmlName: "properties.relayName", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - installerCommandLineParams: { - serializedName: "properties.installer_command_line_params", + relayArmUri: { + serializedName: "properties.relayArmUri", + xmlName: "properties.relayArmUri", type: { name: "String" } }, - publishedDateTime: { - serializedName: "properties.published_date_time", + hostname: { + serializedName: "properties.hostname", + xmlName: "properties.hostname", type: { - name: "DateTime" + name: "String" } }, - downloadCount: { - serializedName: "properties.download_count", + port: { + serializedName: "properties.port", + xmlName: "properties.port", type: { name: "Number" } }, - localIsLatestVersion: { - serializedName: "properties.local_is_latest_version", + sendKeyName: { + serializedName: "properties.sendKeyName", + xmlName: "properties.sendKeyName", type: { - name: "Boolean" + name: "String" } }, - localPath: { - serializedName: "properties.local_path", + sendKeyValue: { + serializedName: "properties.sendKeyValue", + xmlName: "properties.sendKeyValue", type: { name: "String" } }, - installedDateTime: { - serializedName: "properties.installed_date_time", + serviceBusSuffix: { + serializedName: "properties.serviceBusSuffix", + xmlName: "properties.serviceBusSuffix", type: { - name: "DateTime" + name: "String" } - }, - provisioningState: { - serializedName: "properties.provisioningState", + } + } + } +}; + +export const HybridConnectionKey: coreClient.CompositeMapper = { + serializedName: "HybridConnectionKey", + type: { + name: "Composite", + className: "HybridConnectionKey", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + sendKeyName: { + serializedName: "properties.sendKeyName", + readOnly: true, + xmlName: "properties.sendKeyName", type: { name: "String" } }, - comment: { - serializedName: "properties.comment", + sendKeyValue: { + serializedName: "properties.sendKeyValue", + readOnly: true, + xmlName: "properties.sendKeyValue", type: { name: "String" } @@ -13547,387 +14526,436 @@ export const SiteExtensionInfo: msRest.CompositeMapper = { } }; -export const SiteLogsConfig: msRest.CompositeMapper = { - serializedName: "SiteLogsConfig", +export const HybridConnectionLimits: coreClient.CompositeMapper = { + serializedName: "HybridConnectionLimits", type: { name: "Composite", - className: "SiteLogsConfig", + className: "HybridConnectionLimits", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - applicationLogs: { - serializedName: "properties.applicationLogs", + current: { + serializedName: "properties.current", + readOnly: true, + xmlName: "properties.current", type: { - name: "Composite", - className: "ApplicationLogsConfig" + name: "Number" } }, - httpLogs: { - serializedName: "properties.httpLogs", + maximum: { + serializedName: "properties.maximum", + readOnly: true, + xmlName: "properties.maximum", type: { - name: "Composite", - className: "HttpLogsConfig" + name: "Number" + } + } + } + } +}; + +export const VnetRoute: coreClient.CompositeMapper = { + serializedName: "VnetRoute", + type: { + name: "Composite", + className: "VnetRoute", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + startAddress: { + serializedName: "properties.startAddress", + xmlName: "properties.startAddress", + type: { + name: "String" } }, - failedRequestsTracing: { - serializedName: "properties.failedRequestsTracing", + endAddress: { + serializedName: "properties.endAddress", + xmlName: "properties.endAddress", type: { - name: "Composite", - className: "EnabledConfig" + name: "String" } }, - detailedErrorMessages: { - serializedName: "properties.detailedErrorMessages", + routeType: { + serializedName: "properties.routeType", + xmlName: "properties.routeType", type: { - name: "Composite", - className: "EnabledConfig" + name: "String" } } } } }; -export const SitePatchResource: msRest.CompositeMapper = { - serializedName: "SitePatchResource", +export const VnetInfoResource: coreClient.CompositeMapper = { + serializedName: "VnetInfoResource", type: { name: "Composite", - className: "SitePatchResource", + className: "VnetInfoResource", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - state: { + vnetResourceId: { + serializedName: "properties.vnetResourceId", + xmlName: "properties.vnetResourceId", + type: { + name: "String" + } + }, + certThumbprint: { + serializedName: "properties.certThumbprint", readOnly: true, - serializedName: "properties.state", + xmlName: "properties.certThumbprint", type: { name: "String" } }, - hostNames: { + certBlob: { + serializedName: "properties.certBlob", + xmlName: "properties.certBlob", + type: { + name: "String" + } + }, + routes: { + serializedName: "properties.routes", readOnly: true, - serializedName: "properties.hostNames", + xmlName: "properties.routes", + xmlElementName: "VnetRoute", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "VnetRoute" } } } }, - repositorySiteName: { + resyncRequired: { + serializedName: "properties.resyncRequired", readOnly: true, - serializedName: "properties.repositorySiteName", + xmlName: "properties.resyncRequired", type: { - name: "String" + name: "Boolean" } }, - usageState: { - readOnly: true, - serializedName: "properties.usageState", + dnsServers: { + serializedName: "properties.dnsServers", + xmlName: "properties.dnsServers", type: { - name: "Enum", - allowedValues: ["Normal", "Exceeded"] + name: "String" } }, - enabled: { - serializedName: "properties.enabled", + isSwift: { + serializedName: "properties.isSwift", + xmlName: "properties.isSwift", type: { name: "Boolean" } + } + } + } +}; + +export const VnetGateway: coreClient.CompositeMapper = { + serializedName: "VnetGateway", + type: { + name: "Composite", + className: "VnetGateway", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + vnetName: { + serializedName: "properties.vnetName", + xmlName: "properties.vnetName", + type: { + name: "String" + } }, - enabledHostNames: { + vpnPackageUri: { + serializedName: "properties.vpnPackageUri", + xmlName: "properties.vpnPackageUri", + type: { + name: "String" + } + } + } + } +}; + +export const CertificatePatchResource: coreClient.CompositeMapper = { + serializedName: "CertificatePatchResource", + type: { + name: "Composite", + className: "CertificatePatchResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + password: { + serializedName: "properties.password", + xmlName: "properties.password", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", readOnly: true, - serializedName: "properties.enabledHostNames", + xmlName: "properties.friendlyName", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - availabilityState: { + subjectName: { + serializedName: "properties.subjectName", readOnly: true, - serializedName: "properties.availabilityState", + xmlName: "properties.subjectName", type: { - name: "Enum", - allowedValues: ["Normal", "Limited", "DisasterRecoveryMode"] + name: "String" } }, - hostNameSslStates: { - serializedName: "properties.hostNameSslStates", + hostNames: { + serializedName: "properties.hostNames", + xmlName: "properties.hostNames", + xmlElementName: "CertificatePatchResourcePropertiesHostNamesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "HostNameSslState" + name: "String" } } } }, - serverFarmId: { - serializedName: "properties.serverFarmId", + pfxBlob: { + serializedName: "properties.pfxBlob", + xmlName: "properties.pfxBlob", type: { - name: "String" + name: "ByteArray" } }, - reserved: { - serializedName: "properties.reserved", - defaultValue: false, + siteName: { + serializedName: "properties.siteName", + readOnly: true, + xmlName: "properties.siteName", type: { - name: "Boolean" + name: "String" } }, - isXenon: { - serializedName: "properties.isXenon", - defaultValue: false, + selfLink: { + serializedName: "properties.selfLink", + readOnly: true, + xmlName: "properties.selfLink", type: { - name: "Boolean" + name: "String" } }, - hyperV: { - serializedName: "properties.hyperV", - defaultValue: false, + issuer: { + serializedName: "properties.issuer", + readOnly: true, + xmlName: "properties.issuer", type: { - name: "Boolean" + name: "String" } }, - lastModifiedTimeUtc: { + issueDate: { + serializedName: "properties.issueDate", readOnly: true, - serializedName: "properties.lastModifiedTimeUtc", + xmlName: "properties.issueDate", type: { name: "DateTime" } }, - siteConfig: { - serializedName: "properties.siteConfig", + expirationDate: { + serializedName: "properties.expirationDate", + readOnly: true, + xmlName: "properties.expirationDate", type: { - name: "Composite", - className: "SiteConfig" + name: "DateTime" } }, - trafficManagerHostNames: { + thumbprint: { + serializedName: "properties.thumbprint", readOnly: true, - serializedName: "properties.trafficManagerHostNames", + xmlName: "properties.thumbprint", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - scmSiteAlsoStopped: { - serializedName: "properties.scmSiteAlsoStopped", - defaultValue: false, + valid: { + serializedName: "properties.valid", + readOnly: true, + xmlName: "properties.valid", type: { name: "Boolean" } }, - targetSwapSlot: { + cerBlob: { + serializedName: "properties.cerBlob", readOnly: true, - serializedName: "properties.targetSwapSlot", + xmlName: "properties.cerBlob", + type: { + name: "ByteArray" + } + }, + publicKeyHash: { + serializedName: "properties.publicKeyHash", + readOnly: true, + xmlName: "properties.publicKeyHash", type: { name: "String" } }, hostingEnvironmentProfile: { serializedName: "properties.hostingEnvironmentProfile", + xmlName: "properties.hostingEnvironmentProfile", type: { name: "Composite", className: "HostingEnvironmentProfile" } }, - clientAffinityEnabled: { - serializedName: "properties.clientAffinityEnabled", + keyVaultId: { + serializedName: "properties.keyVaultId", + xmlName: "properties.keyVaultId", type: { - name: "Boolean" + name: "String" } }, - clientCertEnabled: { - serializedName: "properties.clientCertEnabled", + keyVaultSecretName: { + serializedName: "properties.keyVaultSecretName", + xmlName: "properties.keyVaultSecretName", type: { - name: "Boolean" + name: "String" } }, - clientCertMode: { - serializedName: "properties.clientCertMode", + keyVaultSecretStatus: { + serializedName: "properties.keyVaultSecretStatus", + readOnly: true, + xmlName: "properties.keyVaultSecretStatus", type: { name: "Enum", - allowedValues: ["Required", "Optional", "OptionalInteractiveUser"] + allowedValues: [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ] } }, - clientCertExclusionPaths: { - serializedName: "properties.clientCertExclusionPaths", + serverFarmId: { + serializedName: "properties.serverFarmId", + xmlName: "properties.serverFarmId", type: { name: "String" } }, - hostNamesDisabled: { - serializedName: "properties.hostNamesDisabled", - type: { - name: "Boolean" - } - }, - customDomainVerificationId: { - serializedName: "properties.customDomainVerificationId", + canonicalName: { + serializedName: "properties.canonicalName", + xmlName: "properties.canonicalName", type: { name: "String" } }, - outboundIpAddresses: { - readOnly: true, - serializedName: "properties.outboundIpAddresses", + domainValidationMethod: { + serializedName: "properties.domainValidationMethod", + xmlName: "properties.domainValidationMethod", type: { name: "String" } - }, - possibleOutboundIpAddresses: { + } + } + } +}; + +export const DeletedSite: coreClient.CompositeMapper = { + serializedName: "DeletedSite", + type: { + name: "Composite", + className: "DeletedSite", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + deletedSiteId: { + serializedName: "properties.deletedSiteId", readOnly: true, - serializedName: "properties.possibleOutboundIpAddresses", - type: { - name: "String" - } - }, - containerSize: { - serializedName: "properties.containerSize", - type: { - name: "Number" - } - }, - dailyMemoryTimeQuota: { - serializedName: "properties.dailyMemoryTimeQuota", + xmlName: "properties.deletedSiteId", type: { name: "Number" } }, - suspendedTill: { + deletedTimestamp: { + serializedName: "properties.deletedTimestamp", readOnly: true, - serializedName: "properties.suspendedTill", + xmlName: "properties.deletedTimestamp", type: { - name: "DateTime" + name: "String" } }, - maxNumberOfWorkers: { + subscription: { + serializedName: "properties.subscription", readOnly: true, - serializedName: "properties.maxNumberOfWorkers", - type: { - name: "Number" - } - }, - cloningInfo: { - serializedName: "properties.cloningInfo", + xmlName: "properties.subscription", type: { - name: "Composite", - className: "CloningInfo" + name: "String" } }, resourceGroup: { - readOnly: true, serializedName: "properties.resourceGroup", - type: { - name: "String" - } - }, - isDefaultContainer: { readOnly: true, - serializedName: "properties.isDefaultContainer", + xmlName: "properties.resourceGroup", type: { - name: "Boolean" + name: "String" } }, - defaultHostName: { + deletedSiteName: { + serializedName: "properties.deletedSiteName", readOnly: true, - serializedName: "properties.defaultHostName", + xmlName: "properties.deletedSiteName", type: { name: "String" } }, - slotSwapStatus: { + slot: { + serializedName: "properties.slot", readOnly: true, - serializedName: "properties.slotSwapStatus", - type: { - name: "Composite", - className: "SlotSwapStatus" - } - }, - httpsOnly: { - serializedName: "properties.httpsOnly", - type: { - name: "Boolean" - } - }, - redundancyMode: { - serializedName: "properties.redundancyMode", + xmlName: "properties.slot", type: { - name: "Enum", - allowedValues: ["None", "Manual", "Failover", "ActiveActive", "GeoRedundant"] + name: "String" } }, - inProgressOperationId: { + kindPropertiesKind: { + serializedName: "properties.kind", readOnly: true, - serializedName: "properties.inProgressOperationId", - type: { - name: "Uuid" - } - }, - storageAccountRequired: { - serializedName: "properties.storageAccountRequired", - type: { - name: "Boolean" - } - }, - keyVaultReferenceIdentity: { - serializedName: "properties.keyVaultReferenceIdentity", + xmlName: "properties.kind", type: { name: "String" } }, - virtualNetworkSubnetId: { - serializedName: "properties.virtualNetworkSubnetId", + geoRegionName: { + serializedName: "properties.geoRegionName", + readOnly: true, + xmlName: "properties.geoRegionName", type: { name: "String" } - }, - identity: { - serializedName: "identity", - type: { - name: "Composite", - className: "ManagedServiceIdentity" - } } } } }; -export const SitePhpErrorLogFlag: msRest.CompositeMapper = { - serializedName: "SitePhpErrorLogFlag", +export const DiagnosticCategory: coreClient.CompositeMapper = { + serializedName: "DiagnosticCategory", type: { name: "Composite", - className: "SitePhpErrorLogFlag", + className: "DiagnosticCategory", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - localLogErrors: { - serializedName: "properties.localLogErrors", - type: { - name: "String" - } - }, - masterLogErrors: { - serializedName: "properties.masterLogErrors", - type: { - name: "String" - } - }, - localLogErrorsMaxLength: { - serializedName: "properties.localLogErrorsMaxLength", - type: { - name: "String" - } - }, - masterLogErrorsMaxLength: { - serializedName: "properties.masterLogErrorsMaxLength", + description: { + serializedName: "properties.description", + readOnly: true, + xmlName: "properties.description", type: { name: "String" } @@ -13936,96 +14964,84 @@ export const SitePhpErrorLogFlag: msRest.CompositeMapper = { } }; -export const SiteSourceControl: msRest.CompositeMapper = { - serializedName: "SiteSourceControl", +export const AnalysisDefinition: coreClient.CompositeMapper = { + serializedName: "AnalysisDefinition", type: { name: "Composite", - className: "SiteSourceControl", + className: "AnalysisDefinition", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - repoUrl: { - serializedName: "properties.repoUrl", - type: { - name: "String" - } - }, - branch: { - serializedName: "properties.branch", + description: { + serializedName: "properties.description", + readOnly: true, + xmlName: "properties.description", type: { name: "String" } - }, - isManualIntegration: { - serializedName: "properties.isManualIntegration", - type: { - name: "Boolean" - } - }, - isGitHubAction: { - serializedName: "properties.isGitHubAction", - type: { - name: "Boolean" - } - }, - deploymentRollbackEnabled: { - serializedName: "properties.deploymentRollbackEnabled", - type: { - name: "Boolean" - } - }, - isMercurial: { - serializedName: "properties.isMercurial", - type: { - name: "Boolean" - } - }, - gitHubActionConfiguration: { - serializedName: "properties.gitHubActionConfiguration", - type: { - name: "Composite", - className: "GitHubActionConfiguration" - } } } } }; -export const SlotConfigNamesResource: msRest.CompositeMapper = { - serializedName: "SlotConfigNamesResource", +export const DiagnosticAnalysis: coreClient.CompositeMapper = { + serializedName: "DiagnosticAnalysis", type: { name: "Composite", - className: "SlotConfigNamesResource", + className: "DiagnosticAnalysis", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - connectionStringNames: { - serializedName: "properties.connectionStringNames", + startTime: { + serializedName: "properties.startTime", + xmlName: "properties.startTime", + type: { + name: "DateTime" + } + }, + endTime: { + serializedName: "properties.endTime", + xmlName: "properties.endTime", + type: { + name: "DateTime" + } + }, + abnormalTimePeriods: { + serializedName: "properties.abnormalTimePeriods", + xmlName: "properties.abnormalTimePeriods", + xmlElementName: "AbnormalTimePeriod", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "AbnormalTimePeriod" } } } }, - appSettingNames: { - serializedName: "properties.appSettingNames", + payload: { + serializedName: "properties.payload", + xmlName: "properties.payload", + xmlElementName: "AnalysisData", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "AnalysisData" } } } }, - azureStorageConfigNames: { - serializedName: "properties.azureStorageConfigNames", + nonCorrelatedDetectors: { + serializedName: "properties.nonCorrelatedDetectors", + xmlName: "properties.nonCorrelatedDetectors", + xmlElementName: "DetectorDefinition", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "DetectorDefinition" } } } @@ -14034,186 +15050,155 @@ export const SlotConfigNamesResource: msRest.CompositeMapper = { } }; -export const SlotDifference: msRest.CompositeMapper = { - serializedName: "SlotDifference", +export const DetectorDefinitionResource: coreClient.CompositeMapper = { + serializedName: "DetectorDefinitionResource", type: { name: "Composite", - className: "SlotDifference", + className: "DetectorDefinitionResource", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - level: { - readOnly: true, - serializedName: "properties.level", - type: { - name: "String" - } - }, - settingType: { - readOnly: true, - serializedName: "properties.settingType", - type: { - name: "String" - } - }, - diffRule: { - readOnly: true, - serializedName: "properties.diffRule", - type: { - name: "String" - } - }, - settingName: { + displayName: { + serializedName: "properties.displayName", readOnly: true, - serializedName: "properties.settingName", + xmlName: "properties.displayName", type: { name: "String" } }, - valueInCurrentSlot: { + description: { + serializedName: "properties.description", readOnly: true, - serializedName: "properties.valueInCurrentSlot", + xmlName: "properties.description", type: { name: "String" } }, - valueInTargetSlot: { + rank: { + serializedName: "properties.rank", readOnly: true, - serializedName: "properties.valueInTargetSlot", + xmlName: "properties.rank", type: { - name: "String" + name: "Number" } }, - description: { + isEnabled: { + serializedName: "properties.isEnabled", readOnly: true, - serializedName: "properties.description", - type: { - name: "String" - } - } - } - } -}; - -export const SnapshotRecoverySource: msRest.CompositeMapper = { - serializedName: "SnapshotRecoverySource", - type: { - name: "Composite", - className: "SnapshotRecoverySource", - modelProperties: { - location: { - serializedName: "location", + xmlName: "properties.isEnabled", type: { - name: "String" - } - }, - id: { - serializedName: "id", - type: { - name: "String" + name: "Boolean" } } } } }; -export const SnapshotRestoreRequest: msRest.CompositeMapper = { - serializedName: "SnapshotRestoreRequest", +export const DiagnosticDetectorResponse: coreClient.CompositeMapper = { + serializedName: "DiagnosticDetectorResponse", type: { name: "Composite", - className: "SnapshotRestoreRequest", + className: "DiagnosticDetectorResponse", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - snapshotTime: { - serializedName: "properties.snapshotTime", - type: { - name: "String" - } - }, - recoverySource: { - serializedName: "properties.recoverySource", + startTime: { + serializedName: "properties.startTime", + xmlName: "properties.startTime", type: { - name: "Composite", - className: "SnapshotRecoverySource" + name: "DateTime" } }, - overwrite: { - required: true, - serializedName: "properties.overwrite", + endTime: { + serializedName: "properties.endTime", + xmlName: "properties.endTime", type: { - name: "Boolean" + name: "DateTime" } }, - recoverConfiguration: { - serializedName: "properties.recoverConfiguration", + issueDetected: { + serializedName: "properties.issueDetected", + xmlName: "properties.issueDetected", type: { name: "Boolean" } }, - ignoreConflictingHostNames: { - serializedName: "properties.ignoreConflictingHostNames", + detectorDefinition: { + serializedName: "properties.detectorDefinition", + xmlName: "properties.detectorDefinition", type: { - name: "Boolean" + name: "Composite", + className: "DetectorDefinition" } }, - useDRSecondary: { - serializedName: "properties.useDRSecondary", - type: { - name: "Boolean" - } - } - } - } -}; - -export const StorageMigrationOptions: msRest.CompositeMapper = { - serializedName: "StorageMigrationOptions", - type: { - name: "Composite", - className: "StorageMigrationOptions", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - azurefilesConnectionString: { - required: true, - serializedName: "properties.azurefilesConnectionString", + metrics: { + serializedName: "properties.metrics", + xmlName: "properties.metrics", + xmlElementName: "DiagnosticMetricSet", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiagnosticMetricSet" + } + } } }, - azurefilesShare: { - required: true, - serializedName: "properties.azurefilesShare", + abnormalTimePeriods: { + serializedName: "properties.abnormalTimePeriods", + xmlName: "properties.abnormalTimePeriods", + xmlElementName: "DetectorAbnormalTimePeriod", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DetectorAbnormalTimePeriod" + } + } } }, - switchSiteAfterMigration: { - serializedName: "properties.switchSiteAfterMigration", - defaultValue: false, + data: { + serializedName: "properties.data", + xmlName: "properties.data", + xmlElementName: "DiagnosticDetectorResponsePropertiesDataItem", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } + } + } } }, - blockWriteAccessToSite: { - serializedName: "properties.blockWriteAccessToSite", - defaultValue: false, + responseMetaData: { + serializedName: "properties.responseMetaData", + xmlName: "properties.responseMetaData", type: { - name: "Boolean" + name: "Composite", + className: "ResponseMetaData" } } } } }; -export const StorageMigrationResponse: msRest.CompositeMapper = { - serializedName: "StorageMigrationResponse", +export const Snapshot: coreClient.CompositeMapper = { + serializedName: "Snapshot", type: { name: "Composite", - className: "StorageMigrationResponse", + className: "Snapshot", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - operationId: { + time: { + serializedName: "properties.time", readOnly: true, - serializedName: "properties.operationId", + xmlName: "properties.time", type: { name: "String" } @@ -14222,122 +15207,156 @@ export const StorageMigrationResponse: msRest.CompositeMapper = { } }; -export const SwiftVirtualNetwork: msRest.CompositeMapper = { - serializedName: "SwiftVirtualNetwork", +export const KubeEnvironmentPatchResource: coreClient.CompositeMapper = { + serializedName: "KubeEnvironmentPatchResource", type: { name: "Composite", - className: "SwiftVirtualNetwork", + className: "KubeEnvironmentPatchResource", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - subnetResourceId: { - serializedName: "properties.subnetResourceId", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "InitializationInProgress", + "InfrastructureSetupInProgress", + "InfrastructureSetupComplete", + "ScheduledForDelete", + "UpgradeRequested", + "UpgradeFailed" + ] } }, - swiftSupported: { - serializedName: "properties.swiftSupported", + deploymentErrors: { + serializedName: "properties.deploymentErrors", + readOnly: true, + xmlName: "properties.deploymentErrors", type: { - name: "Boolean" + name: "String" } - } - } - } -}; - -export const TriggeredJobRun: msRest.CompositeMapper = { - serializedName: "TriggeredJobRun", - type: { - name: "Composite", - className: "TriggeredJobRun", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - webJobId: { - serializedName: "properties.web_job_id", + }, + internalLoadBalancerEnabled: { + serializedName: "properties.internalLoadBalancerEnabled", + xmlName: "properties.internalLoadBalancerEnabled", type: { - name: "String" + name: "Boolean" } }, - webJobName: { - serializedName: "properties.web_job_name", + defaultDomain: { + serializedName: "properties.defaultDomain", + readOnly: true, + xmlName: "properties.defaultDomain", type: { name: "String" } }, - status: { - serializedName: "properties.status", + staticIp: { + serializedName: "properties.staticIp", + xmlName: "properties.staticIp", type: { - name: "Enum", - allowedValues: ["Success", "Failed", "Error"] + name: "String" } }, - startTime: { - serializedName: "properties.start_time", + arcConfiguration: { + serializedName: "properties.arcConfiguration", + xmlName: "properties.arcConfiguration", type: { - name: "DateTime" + name: "Composite", + className: "ArcConfiguration" } }, - endTime: { - serializedName: "properties.end_time", + appLogsConfiguration: { + serializedName: "properties.appLogsConfiguration", + xmlName: "properties.appLogsConfiguration", type: { - name: "DateTime" + name: "Composite", + className: "AppLogsConfiguration" } }, - duration: { - serializedName: "properties.duration", + aksResourceID: { + serializedName: "properties.aksResourceID", + xmlName: "properties.aksResourceID", type: { name: "String" } - }, - outputUrl: { - serializedName: "properties.output_url", + } + } + } +}; + +export const ApplicationStackResource: coreClient.CompositeMapper = { + serializedName: "ApplicationStackResource", + type: { + name: "Composite", + className: "ApplicationStackResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + namePropertiesName: { + serializedName: "properties.name", + xmlName: "properties.name", type: { name: "String" } }, - errorUrl: { - serializedName: "properties.error_url", + display: { + serializedName: "properties.display", + xmlName: "properties.display", type: { name: "String" } }, - url: { - serializedName: "properties.url", + dependency: { + serializedName: "properties.dependency", + xmlName: "properties.dependency", type: { name: "String" } }, - jobName: { - serializedName: "properties.job_name", + majorVersions: { + serializedName: "properties.majorVersions", + xmlName: "properties.majorVersions", + xmlElementName: "StackMajorVersion", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StackMajorVersion" + } + } } }, - trigger: { - serializedName: "properties.trigger", + frameworks: { + serializedName: "properties.frameworks", + xmlName: "properties.frameworks", + xmlElementName: "ApplicationStack", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationStack" + } + } } - } - } - } -}; - -export const TriggeredJobHistory: msRest.CompositeMapper = { - serializedName: "TriggeredJobHistory", - type: { - name: "Composite", - className: "TriggeredJobHistory", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - runs: { - serializedName: "properties.runs", + }, + isDeprecated: { + serializedName: "properties.isDeprecated", + xmlName: "properties.isDeprecated", + xmlElementName: "ApplicationStack", type: { name: "Sequence", element: { type: { name: "Composite", - className: "TriggeredJobRun" + className: "ApplicationStack" } } } @@ -14346,364 +15365,391 @@ export const TriggeredJobHistory: msRest.CompositeMapper = { } }; -export const TriggeredWebJob: msRest.CompositeMapper = { - serializedName: "TriggeredWebJob", +export const FunctionAppStack: coreClient.CompositeMapper = { + serializedName: "FunctionAppStack", type: { name: "Composite", - className: "TriggeredWebJob", + className: "FunctionAppStack", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - latestRun: { - serializedName: "properties.latest_run", - type: { - name: "Composite", - className: "TriggeredJobRun" - } - }, - historyUrl: { - serializedName: "properties.history_url", - type: { - name: "String" - } - }, - schedulerLogsUrl: { - serializedName: "properties.scheduler_logs_url", + location: { + serializedName: "location", + readOnly: true, + xmlName: "location", type: { name: "String" } }, - runCommand: { - serializedName: "properties.run_command", + displayText: { + serializedName: "properties.displayText", + readOnly: true, + xmlName: "properties.displayText", type: { name: "String" } }, - url: { - serializedName: "properties.url", + value: { + serializedName: "properties.value", + readOnly: true, + xmlName: "properties.value", type: { name: "String" } }, - extraInfoUrl: { - serializedName: "properties.extra_info_url", + majorVersions: { + serializedName: "properties.majorVersions", + readOnly: true, + xmlName: "properties.majorVersions", + xmlElementName: "FunctionAppMajorVersion", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FunctionAppMajorVersion" + } + } } }, - webJobType: { - serializedName: "properties.web_job_type", + preferredOs: { + serializedName: "properties.preferredOs", + readOnly: true, + xmlName: "properties.preferredOs", type: { name: "Enum", - allowedValues: ["Continuous", "Triggered"] - } - }, - error: { - serializedName: "properties.error", - type: { - name: "String" - } - }, - usingSdk: { - serializedName: "properties.using_sdk", - type: { - name: "Boolean" - } - }, - settings: { - serializedName: "properties.settings", - type: { - name: "Dictionary", - value: { - type: { - name: "Object" - } - } + allowedValues: ["Windows", "Linux"] } } } } }; -export const WebSiteInstanceStatus: msRest.CompositeMapper = { - serializedName: "WebSiteInstanceStatus", +export const WebAppStack: coreClient.CompositeMapper = { + serializedName: "WebAppStack", type: { name: "Composite", - className: "WebSiteInstanceStatus", + className: "WebAppStack", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - state: { - serializedName: "properties.state", - type: { - name: "Enum", - allowedValues: ["READY", "STOPPED", "UNKNOWN"] - } - }, - statusUrl: { - serializedName: "properties.statusUrl", - type: { - name: "String" - } - }, - detectorUrl: { - serializedName: "properties.detectorUrl", + location: { + serializedName: "location", + readOnly: true, + xmlName: "location", type: { name: "String" } }, - consoleUrl: { - serializedName: "properties.consoleUrl", + displayText: { + serializedName: "properties.displayText", + readOnly: true, + xmlName: "properties.displayText", type: { name: "String" } }, - healthCheckUrl: { - serializedName: "properties.healthCheckUrl", + value: { + serializedName: "properties.value", + readOnly: true, + xmlName: "properties.value", type: { name: "String" } }, - containers: { - serializedName: "properties.containers", + majorVersions: { + serializedName: "properties.majorVersions", + readOnly: true, + xmlName: "properties.majorVersions", + xmlElementName: "WebAppMajorVersion", type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { name: "Composite", - className: "ContainerInfo" + className: "WebAppMajorVersion" } } } + }, + preferredOs: { + serializedName: "properties.preferredOs", + readOnly: true, + xmlName: "properties.preferredOs", + type: { + name: "Enum", + allowedValues: ["Windows", "Linux"] + } } } } }; -export const WebJob: msRest.CompositeMapper = { - serializedName: "WebJob", +export const Recommendation: coreClient.CompositeMapper = { + serializedName: "Recommendation", type: { name: "Composite", - className: "WebJob", + className: "Recommendation", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - runCommand: { - serializedName: "properties.run_command", + creationTime: { + serializedName: "properties.creationTime", + xmlName: "properties.creationTime", + type: { + name: "DateTime" + } + }, + recommendationId: { + serializedName: "properties.recommendationId", + xmlName: "properties.recommendationId", + type: { + name: "Uuid" + } + }, + resourceId: { + serializedName: "properties.resourceId", + xmlName: "properties.resourceId", type: { name: "String" } }, - url: { - serializedName: "properties.url", + resourceScope: { + serializedName: "properties.resourceScope", + xmlName: "properties.resourceScope", type: { name: "String" } }, - extraInfoUrl: { - serializedName: "properties.extra_info_url", + ruleName: { + serializedName: "properties.ruleName", + xmlName: "properties.ruleName", type: { name: "String" } }, - webJobType: { - serializedName: "properties.web_job_type", + displayName: { + serializedName: "properties.displayName", + xmlName: "properties.displayName", type: { - name: "Enum", - allowedValues: ["Continuous", "Triggered"] + name: "String" } }, - error: { - serializedName: "properties.error", + message: { + serializedName: "properties.message", + xmlName: "properties.message", type: { name: "String" } }, - usingSdk: { - serializedName: "properties.using_sdk", + level: { + serializedName: "properties.level", + xmlName: "properties.level", type: { - name: "Boolean" + name: "Enum", + allowedValues: [ + "Critical", + "Warning", + "Information", + "NonUrgentSuggestion" + ] } }, - settings: { - serializedName: "properties.settings", + channels: { + serializedName: "properties.channels", + xmlName: "properties.channels", type: { - name: "Dictionary", - value: { + name: "Enum", + allowedValues: ["Notification", "Api", "Email", "Webhook", "All"] + } + }, + categoryTags: { + serializedName: "properties.categoryTags", + readOnly: true, + xmlName: "properties.categoryTags", + xmlElementName: "RecommendationPropertiesCategoryTagsItem", + type: { + name: "Sequence", + element: { type: { - name: "Object" + name: "String" } } } - } - } - } -}; - -export const ArmPlan: msRest.CompositeMapper = { - serializedName: "ArmPlan", - type: { - name: "Composite", - className: "ArmPlan", - modelProperties: { - name: { - serializedName: "name", + }, + actionName: { + serializedName: "properties.actionName", + xmlName: "properties.actionName", type: { name: "String" } }, - publisher: { - serializedName: "publisher", + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", type: { - name: "String" + name: "Number" } }, - product: { - serializedName: "product", + states: { + serializedName: "properties.states", + xmlName: "properties.states", + xmlElementName: "RecommendationPropertiesStatesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - promotionCode: { - serializedName: "promotionCode", + startTime: { + serializedName: "properties.startTime", + xmlName: "properties.startTime", type: { - name: "String" + name: "DateTime" } }, - version: { - serializedName: "version", + endTime: { + serializedName: "properties.endTime", + xmlName: "properties.endTime", type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const RemotePrivateEndpointConnection: msRest.CompositeMapper = { - serializedName: "RemotePrivateEndpointConnection", - type: { - name: "Composite", - className: "RemotePrivateEndpointConnection", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + }, + nextNotificationTime: { + serializedName: "properties.nextNotificationTime", + xmlName: "properties.nextNotificationTime", type: { - name: "String" + name: "DateTime" } }, - privateEndpoint: { - serializedName: "properties.privateEndpoint", + notificationExpirationTime: { + serializedName: "properties.notificationExpirationTime", + xmlName: "properties.notificationExpirationTime", type: { - name: "Composite", - className: "ArmIdWrapper" + name: "DateTime" } }, - privateLinkServiceConnectionState: { - serializedName: "properties.privateLinkServiceConnectionState", + notifiedTime: { + serializedName: "properties.notifiedTime", + xmlName: "properties.notifiedTime", type: { - name: "Composite", - className: "PrivateLinkConnectionState" + name: "DateTime" } }, - ipAddresses: { - serializedName: "properties.ipAddresses", + score: { + serializedName: "properties.score", + xmlName: "properties.score", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" } - } - } - } -}; - -export const ResponseMessageEnvelopeRemotePrivateEndpointConnection: msRest.CompositeMapper = { - serializedName: "ResponseMessageEnvelope_RemotePrivateEndpointConnection_", - type: { - name: "Composite", - className: "ResponseMessageEnvelopeRemotePrivateEndpointConnection", - modelProperties: { - id: { - serializedName: "id", + }, + isDynamic: { + serializedName: "properties.isDynamic", + xmlName: "properties.isDynamic", type: { - name: "String" + name: "Boolean" } }, - name: { - serializedName: "name", + extensionName: { + serializedName: "properties.extensionName", + xmlName: "properties.extensionName", type: { name: "String" } }, - type: { - serializedName: "type", + bladeName: { + serializedName: "properties.bladeName", + xmlName: "properties.bladeName", type: { name: "String" } }, - location: { - serializedName: "location", + forwardLink: { + serializedName: "properties.forwardLink", + xmlName: "properties.forwardLink", + type: { + name: "String" + } + } + } + } +}; + +export const RecommendationRule: coreClient.CompositeMapper = { + serializedName: "RecommendationRule", + type: { + name: "Composite", + className: "RecommendationRule", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + recommendationName: { + serializedName: "properties.recommendationName", + xmlName: "properties.recommendationName", type: { name: "String" } }, - tags: { - serializedName: "tags", + displayName: { + serializedName: "properties.displayName", + xmlName: "properties.displayName", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" } }, - plan: { - serializedName: "plan", + message: { + serializedName: "properties.message", + xmlName: "properties.message", type: { - name: "Composite", - className: "ArmPlan" + name: "String" } }, - properties: { - serializedName: "properties", + recommendationId: { + serializedName: "properties.recommendationId", + xmlName: "properties.recommendationId", type: { - name: "Composite", - className: "RemotePrivateEndpointConnection" + name: "Uuid" } }, - sku: { - serializedName: "sku", + description: { + serializedName: "properties.description", + xmlName: "properties.description", type: { - name: "Composite", - className: "SkuDescription" + name: "String" } }, - status: { - serializedName: "status", + actionName: { + serializedName: "properties.actionName", + xmlName: "properties.actionName", type: { name: "String" } }, - error: { - serializedName: "error", + level: { + serializedName: "properties.level", + xmlName: "properties.level", type: { - name: "Composite", - className: "ErrorEntity" + name: "Enum", + allowedValues: [ + "Critical", + "Warning", + "Information", + "NonUrgentSuggestion" + ] } }, - identity: { - serializedName: "identity", + channels: { + serializedName: "properties.channels", + xmlName: "properties.channels", type: { - name: "Composite", - className: "ManagedServiceIdentity" + name: "Enum", + allowedValues: ["Notification", "Api", "Email", "Webhook", "All"] } }, - zones: { - serializedName: "zones", + categoryTags: { + serializedName: "properties.categoryTags", + readOnly: true, + xmlName: "properties.categoryTags", + xmlElementName: "RecommendationRulePropertiesCategoryTagsItem", type: { name: "Sequence", element: { @@ -14712,386 +15758,382 @@ export const ResponseMessageEnvelopeRemotePrivateEndpointConnection: msRest.Comp } } } - } - } - } -}; - -export const StaticSiteBuildProperties: msRest.CompositeMapper = { - serializedName: "StaticSiteBuildProperties", - type: { - name: "Composite", - className: "StaticSiteBuildProperties", - modelProperties: { - appLocation: { - serializedName: "appLocation", - type: { - name: "String" - } }, - apiLocation: { - serializedName: "apiLocation", + isDynamic: { + serializedName: "properties.isDynamic", + xmlName: "properties.isDynamic", type: { - name: "String" + name: "Boolean" } }, - appArtifactLocation: { - serializedName: "appArtifactLocation", + extensionName: { + serializedName: "properties.extensionName", + xmlName: "properties.extensionName", type: { name: "String" } }, - outputLocation: { - serializedName: "outputLocation", + bladeName: { + serializedName: "properties.bladeName", + xmlName: "properties.bladeName", type: { name: "String" } }, - appBuildCommand: { - serializedName: "appBuildCommand", + forwardLink: { + serializedName: "properties.forwardLink", + xmlName: "properties.forwardLink", type: { name: "String" } - }, - apiBuildCommand: { - serializedName: "apiBuildCommand", + } + } + } +}; + +export const ResourceHealthMetadata: coreClient.CompositeMapper = { + serializedName: "ResourceHealthMetadata", + type: { + name: "Composite", + className: "ResourceHealthMetadata", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + category: { + serializedName: "properties.category", + xmlName: "properties.category", type: { name: "String" } }, - skipGithubActionWorkflowGeneration: { - serializedName: "skipGithubActionWorkflowGeneration", + signalAvailability: { + serializedName: "properties.signalAvailability", + xmlName: "properties.signalAvailability", type: { name: "Boolean" } - }, - githubActionSecretNameOverride: { - serializedName: "githubActionSecretNameOverride", - type: { - name: "String" - } } } } }; -export const StaticSiteTemplateOptions: msRest.CompositeMapper = { - serializedName: "StaticSiteTemplateOptions", +export const User: coreClient.CompositeMapper = { + serializedName: "User", type: { name: "Composite", - className: "StaticSiteTemplateOptions", + className: "User", modelProperties: { - templateRepositoryUrl: { - serializedName: "templateRepositoryUrl", + ...ProxyOnlyResource.type.modelProperties, + publishingUserName: { + serializedName: "properties.publishingUserName", + xmlName: "properties.publishingUserName", type: { name: "String" } }, - owner: { - serializedName: "owner", + publishingPassword: { + serializedName: "properties.publishingPassword", + xmlName: "properties.publishingPassword", type: { name: "String" } }, - repositoryName: { - serializedName: "repositoryName", + publishingPasswordHash: { + serializedName: "properties.publishingPasswordHash", + xmlName: "properties.publishingPasswordHash", type: { name: "String" } }, - description: { - serializedName: "description", + publishingPasswordHashSalt: { + serializedName: "properties.publishingPasswordHashSalt", + xmlName: "properties.publishingPasswordHashSalt", type: { name: "String" } }, - isPrivate: { - serializedName: "isPrivate", + scmUri: { + serializedName: "properties.scmUri", + xmlName: "properties.scmUri", type: { - name: "Boolean" + name: "String" } } } } }; -export const StaticSiteUserProvidedFunctionApp: msRest.CompositeMapper = { - serializedName: "StaticSiteUserProvidedFunctionApp", +export const SourceControl: coreClient.CompositeMapper = { + serializedName: "SourceControl", type: { name: "Composite", - className: "StaticSiteUserProvidedFunctionApp", + className: "SourceControl", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - functionAppResourceId: { - serializedName: "properties.functionAppResourceId", + token: { + serializedName: "properties.token", + xmlName: "properties.token", type: { name: "String" } }, - functionAppRegion: { - serializedName: "properties.functionAppRegion", + tokenSecret: { + serializedName: "properties.tokenSecret", + xmlName: "properties.tokenSecret", type: { name: "String" } }, - createdOn: { - readOnly: true, - serializedName: "properties.createdOn", + refreshToken: { + serializedName: "properties.refreshToken", + xmlName: "properties.refreshToken", type: { - name: "DateTime" + name: "String" } - } + }, + expirationTime: { + serializedName: "properties.expirationTime", + xmlName: "properties.expirationTime", + type: { + name: "DateTime" + } + } } } }; -export const StaticSiteARMResource: msRest.CompositeMapper = { - serializedName: "StaticSiteARMResource", +export const BillingMeter: coreClient.CompositeMapper = { + serializedName: "BillingMeter", type: { name: "Composite", - className: "StaticSiteARMResource", + className: "BillingMeter", modelProperties: { - ...Resource.type.modelProperties, - defaultHostname: { - readOnly: true, - serializedName: "properties.defaultHostname", + ...ProxyOnlyResource.type.modelProperties, + meterId: { + serializedName: "properties.meterId", + xmlName: "properties.meterId", type: { name: "String" } }, - repositoryUrl: { - serializedName: "properties.repositoryUrl", + billingLocation: { + serializedName: "properties.billingLocation", + xmlName: "properties.billingLocation", type: { name: "String" } }, - branch: { - serializedName: "properties.branch", + shortName: { + serializedName: "properties.shortName", + xmlName: "properties.shortName", type: { name: "String" } }, - customDomains: { - readOnly: true, - serializedName: "properties.customDomains", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - repositoryToken: { - serializedName: "properties.repositoryToken", + friendlyName: { + serializedName: "properties.friendlyName", + xmlName: "properties.friendlyName", type: { name: "String" } }, - buildProperties: { - serializedName: "properties.buildProperties", - type: { - name: "Composite", - className: "StaticSiteBuildProperties" - } - }, - privateEndpointConnections: { - readOnly: true, - serializedName: "properties.privateEndpointConnections", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ResponseMessageEnvelopeRemotePrivateEndpointConnection" - } - } - } - }, - stagingEnvironmentPolicy: { - serializedName: "properties.stagingEnvironmentPolicy", + resourceType: { + serializedName: "properties.resourceType", + xmlName: "properties.resourceType", type: { - name: "Enum", - allowedValues: ["Enabled", "Disabled"] + name: "String" } }, - allowConfigFileUpdates: { - serializedName: "properties.allowConfigFileUpdates", + osType: { + serializedName: "properties.osType", + xmlName: "properties.osType", type: { - name: "Boolean" + name: "String" } }, - templateProperties: { - serializedName: "properties.templateProperties", + multiplier: { + serializedName: "properties.multiplier", + xmlName: "properties.multiplier", type: { - name: "Composite", - className: "StaticSiteTemplateOptions" + name: "Number" } - }, - contentDistributionEndpoint: { + } + } + } +}; + +export const GeoRegion: coreClient.CompositeMapper = { + serializedName: "GeoRegion", + type: { + name: "Composite", + className: "GeoRegion", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + description: { + serializedName: "properties.description", readOnly: true, - serializedName: "properties.contentDistributionEndpoint", + xmlName: "properties.description", type: { name: "String" } }, - keyVaultReferenceIdentity: { + displayName: { + serializedName: "properties.displayName", readOnly: true, - serializedName: "properties.keyVaultReferenceIdentity", + xmlName: "properties.displayName", type: { name: "String" } }, - userProvidedFunctionApps: { - readOnly: true, - serializedName: "properties.userProvidedFunctionApps", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StaticSiteUserProvidedFunctionApp" - } - } - } - }, - provider: { + orgDomain: { + serializedName: "properties.orgDomain", readOnly: true, - serializedName: "properties.provider", + xmlName: "properties.orgDomain", type: { name: "String" } - }, - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "SkuDescription" - } - }, - identity: { - serializedName: "identity", + } + } + } +}; + +export const Identifier: coreClient.CompositeMapper = { + serializedName: "Identifier", + type: { + name: "Composite", + className: "Identifier", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + value: { + serializedName: "properties.id", + xmlName: "properties.id", type: { - name: "Composite", - className: "ManagedServiceIdentity" + name: "String" } } } } }; -export const StaticSiteBuildARMResource: msRest.CompositeMapper = { - serializedName: "StaticSiteBuildARMResource", +export const PremierAddOnOffer: coreClient.CompositeMapper = { + serializedName: "PremierAddOnOffer", type: { name: "Composite", - className: "StaticSiteBuildARMResource", + className: "PremierAddOnOffer", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - buildId: { - readOnly: true, - serializedName: "properties.buildId", + sku: { + serializedName: "properties.sku", + xmlName: "properties.sku", type: { name: "String" } }, - sourceBranch: { - readOnly: true, - serializedName: "properties.sourceBranch", + product: { + serializedName: "properties.product", + xmlName: "properties.product", type: { name: "String" } }, - pullRequestTitle: { - readOnly: true, - serializedName: "properties.pullRequestTitle", + vendor: { + serializedName: "properties.vendor", + xmlName: "properties.vendor", type: { name: "String" } }, - hostname: { - readOnly: true, - serializedName: "properties.hostname", + promoCodeRequired: { + serializedName: "properties.promoCodeRequired", + xmlName: "properties.promoCodeRequired", type: { - name: "String" + name: "Boolean" } }, - createdTimeUtc: { - readOnly: true, - serializedName: "properties.createdTimeUtc", + quota: { + serializedName: "properties.quota", + xmlName: "properties.quota", type: { - name: "DateTime" + name: "Number" } }, - lastUpdatedOn: { - readOnly: true, - serializedName: "properties.lastUpdatedOn", + webHostingPlanRestrictions: { + serializedName: "properties.webHostingPlanRestrictions", + xmlName: "properties.webHostingPlanRestrictions", type: { - name: "DateTime" + name: "Enum", + allowedValues: [ + "None", + "Free", + "Shared", + "Basic", + "Standard", + "Premium" + ] } }, - status: { - readOnly: true, - serializedName: "properties.status", + privacyPolicyUrl: { + serializedName: "properties.privacyPolicyUrl", + xmlName: "properties.privacyPolicyUrl", type: { name: "String" } }, - userProvidedFunctionApps: { - readOnly: true, - serializedName: "properties.userProvidedFunctionApps", + legalTermsUrl: { + serializedName: "properties.legalTermsUrl", + xmlName: "properties.legalTermsUrl", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StaticSiteUserProvidedFunctionApp" - } - } + name: "String" + } + }, + marketplacePublisher: { + serializedName: "properties.marketplacePublisher", + xmlName: "properties.marketplacePublisher", + type: { + name: "String" + } + }, + marketplaceOffer: { + serializedName: "properties.marketplaceOffer", + xmlName: "properties.marketplaceOffer", + type: { + name: "String" } } } } }; -export const StaticSiteCustomDomainOverviewARMResource: msRest.CompositeMapper = { - serializedName: "StaticSiteCustomDomainOverviewARMResource", +export const VnetParameters: coreClient.CompositeMapper = { + serializedName: "VnetParameters", type: { name: "Composite", - className: "StaticSiteCustomDomainOverviewARMResource", + className: "VnetParameters", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - domainName: { - readOnly: true, - serializedName: "properties.domainName", + vnetResourceGroup: { + serializedName: "properties.vnetResourceGroup", + xmlName: "properties.vnetResourceGroup", type: { name: "String" } }, - createdOn: { - readOnly: true, - serializedName: "properties.createdOn", - type: { - name: "DateTime" - } - }, - status: { - readOnly: true, - serializedName: "properties.status", + vnetName: { + serializedName: "properties.vnetName", + xmlName: "properties.vnetName", type: { name: "String" } }, - validationToken: { - readOnly: true, - serializedName: "properties.validationToken", + vnetSubnetName: { + serializedName: "properties.vnetSubnetName", + xmlName: "properties.vnetSubnetName", type: { name: "String" } }, - errorMessage: { - readOnly: true, - serializedName: "properties.errorMessage", + subnetResourceId: { + serializedName: "properties.subnetResourceId", + xmlName: "properties.subnetResourceId", type: { name: "String" } @@ -15100,16 +16142,23 @@ export const StaticSiteCustomDomainOverviewARMResource: msRest.CompositeMapper = } }; -export const StaticSiteCustomDomainRequestPropertiesARMResource: msRest.CompositeMapper = { - serializedName: "StaticSiteCustomDomainRequestPropertiesARMResource", +export const VnetValidationTestFailure: coreClient.CompositeMapper = { + serializedName: "VnetValidationTestFailure", type: { name: "Composite", - className: "StaticSiteCustomDomainRequestPropertiesARMResource", + className: "VnetValidationTestFailure", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - validationMethod: { - serializedName: "properties.validationMethod", - defaultValue: "cname-delegation", + testName: { + serializedName: "properties.testName", + xmlName: "properties.testName", + type: { + name: "String" + } + }, + details: { + serializedName: "properties.details", + xmlName: "properties.details", type: { name: "String" } @@ -15118,32 +16167,202 @@ export const StaticSiteCustomDomainRequestPropertiesARMResource: msRest.Composit } }; -export const StaticSiteFunctionOverviewARMResource: msRest.CompositeMapper = { - serializedName: "StaticSiteFunctionOverviewARMResource", +export const VnetValidationFailureDetails: coreClient.CompositeMapper = { + serializedName: "VnetValidationFailureDetails", type: { name: "Composite", - className: "StaticSiteFunctionOverviewARMResource", + className: "VnetValidationFailureDetails", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - functionName: { + message: { + serializedName: "properties.message", + xmlName: "properties.message", + type: { + name: "String" + } + }, + failed: { + serializedName: "properties.failed", + xmlName: "properties.failed", + type: { + name: "Boolean" + } + }, + failedTests: { + serializedName: "properties.failedTests", + xmlName: "properties.failedTests", + xmlElementName: "VnetValidationTestFailure", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VnetValidationTestFailure" + } + } + } + }, + warnings: { + serializedName: "properties.warnings", + xmlName: "properties.warnings", + xmlElementName: "VnetValidationTestFailure", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VnetValidationTestFailure" + } + } + } + } + } + } +}; + +export const StaticSitesWorkflowPreviewRequest: coreClient.CompositeMapper = { + serializedName: "StaticSitesWorkflowPreviewRequest", + type: { + name: "Composite", + className: "StaticSitesWorkflowPreviewRequest", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + repositoryUrl: { + serializedName: "properties.repositoryUrl", + xmlName: "properties.repositoryUrl", + type: { + name: "String" + } + }, + branch: { + serializedName: "properties.branch", + xmlName: "properties.branch", + type: { + name: "String" + } + }, + buildProperties: { + serializedName: "properties.buildProperties", + xmlName: "properties.buildProperties", + type: { + name: "Composite", + className: "StaticSiteBuildProperties" + } + } + } + } +}; + +export const StaticSitesWorkflowPreview: coreClient.CompositeMapper = { + serializedName: "StaticSitesWorkflowPreview", + type: { + name: "Composite", + className: "StaticSitesWorkflowPreview", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + path: { + serializedName: "properties.path", readOnly: true, - serializedName: "properties.functionName", + xmlName: "properties.path", type: { name: "String" } }, - triggerType: { + contents: { + serializedName: "properties.contents", readOnly: true, - serializedName: "properties.triggerType", + xmlName: "properties.contents", + type: { + name: "String" + } + } + } + } +}; + +export const RemotePrivateEndpointConnection: coreClient.CompositeMapper = { + serializedName: "RemotePrivateEndpointConnection", + type: { + name: "Composite", + className: "RemotePrivateEndpointConnection", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", + type: { + name: "String" + } + }, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + xmlName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "ArmIdWrapper" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + xmlName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "PrivateLinkConnectionState" + } + }, + ipAddresses: { + serializedName: "properties.ipAddresses", + xmlName: "properties.ipAddresses", + xmlElementName: + "RemotePrivateEndpointConnectionPropertiesIpAddressesItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const StaticSiteUserProvidedFunctionApp: coreClient.CompositeMapper = { + serializedName: "StaticSiteUserProvidedFunctionApp", + type: { + name: "Composite", + className: "StaticSiteUserProvidedFunctionApp", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + functionAppResourceId: { + serializedName: "properties.functionAppResourceId", + xmlName: "properties.functionAppResourceId", + type: { + name: "String" + } + }, + functionAppRegion: { + serializedName: "properties.functionAppRegion", + xmlName: "properties.functionAppRegion", type: { name: "String" } + }, + createdOn: { + serializedName: "properties.createdOn", + readOnly: true, + xmlName: "properties.createdOn", + type: { + name: "DateTime" + } } } } }; -export const StaticSitePatchResource: msRest.CompositeMapper = { +export const StaticSitePatchResource: coreClient.CompositeMapper = { serializedName: "StaticSitePatchResource", type: { name: "Composite", @@ -15151,27 +16370,32 @@ export const StaticSitePatchResource: msRest.CompositeMapper = { modelProperties: { ...ProxyOnlyResource.type.modelProperties, defaultHostname: { - readOnly: true, serializedName: "properties.defaultHostname", + readOnly: true, + xmlName: "properties.defaultHostname", type: { name: "String" } }, repositoryUrl: { serializedName: "properties.repositoryUrl", + xmlName: "properties.repositoryUrl", type: { name: "String" } }, branch: { serializedName: "properties.branch", + xmlName: "properties.branch", type: { name: "String" } }, customDomains: { - readOnly: true, serializedName: "properties.customDomains", + readOnly: true, + xmlName: "properties.customDomains", + xmlElementName: "StaticSiteCustomDomainsItem", type: { name: "Sequence", element: { @@ -15183,32 +16407,39 @@ export const StaticSitePatchResource: msRest.CompositeMapper = { }, repositoryToken: { serializedName: "properties.repositoryToken", + xmlName: "properties.repositoryToken", type: { name: "String" } }, buildProperties: { serializedName: "properties.buildProperties", + xmlName: "properties.buildProperties", type: { name: "Composite", className: "StaticSiteBuildProperties" } }, privateEndpointConnections: { - readOnly: true, serializedName: "properties.privateEndpointConnections", + readOnly: true, + xmlName: "properties.privateEndpointConnections", + xmlElementName: + "ResponseMessageEnvelopeRemotePrivateEndpointConnection", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ResponseMessageEnvelopeRemotePrivateEndpointConnection" + className: + "ResponseMessageEnvelopeRemotePrivateEndpointConnection" } } } }, stagingEnvironmentPolicy: { serializedName: "properties.stagingEnvironmentPolicy", + xmlName: "properties.stagingEnvironmentPolicy", type: { name: "Enum", allowedValues: ["Enabled", "Disabled"] @@ -15216,34 +16447,40 @@ export const StaticSitePatchResource: msRest.CompositeMapper = { }, allowConfigFileUpdates: { serializedName: "properties.allowConfigFileUpdates", + xmlName: "properties.allowConfigFileUpdates", type: { name: "Boolean" } }, templateProperties: { serializedName: "properties.templateProperties", + xmlName: "properties.templateProperties", type: { name: "Composite", className: "StaticSiteTemplateOptions" } }, contentDistributionEndpoint: { - readOnly: true, serializedName: "properties.contentDistributionEndpoint", + readOnly: true, + xmlName: "properties.contentDistributionEndpoint", type: { name: "String" } }, keyVaultReferenceIdentity: { - readOnly: true, serializedName: "properties.keyVaultReferenceIdentity", + readOnly: true, + xmlName: "properties.keyVaultReferenceIdentity", type: { name: "String" } }, userProvidedFunctionApps: { - readOnly: true, serializedName: "properties.userProvidedFunctionApps", + readOnly: true, + xmlName: "properties.userProvidedFunctionApps", + xmlElementName: "StaticSiteUserProvidedFunctionApp", type: { name: "Sequence", element: { @@ -15255,8 +16492,9 @@ export const StaticSitePatchResource: msRest.CompositeMapper = { } }, provider: { - readOnly: true, serializedName: "properties.provider", + readOnly: true, + xmlName: "properties.provider", type: { name: "String" } @@ -15265,30 +16503,7 @@ export const StaticSitePatchResource: msRest.CompositeMapper = { } }; -export const StaticSiteResetPropertiesARMResource: msRest.CompositeMapper = { - serializedName: "StaticSiteResetPropertiesARMResource", - type: { - name: "Composite", - className: "StaticSiteResetPropertiesARMResource", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - repositoryToken: { - serializedName: "properties.repositoryToken", - type: { - name: "String" - } - }, - shouldUpdateRepository: { - serializedName: "properties.shouldUpdateRepository", - type: { - name: "Boolean" - } - } - } - } -}; - -export const StaticSiteUserARMResource: msRest.CompositeMapper = { +export const StaticSiteUserARMResource: coreClient.CompositeMapper = { serializedName: "StaticSiteUserARMResource", type: { name: "Composite", @@ -15296,28 +16511,32 @@ export const StaticSiteUserARMResource: msRest.CompositeMapper = { modelProperties: { ...ProxyOnlyResource.type.modelProperties, provider: { - readOnly: true, serializedName: "properties.provider", + readOnly: true, + xmlName: "properties.provider", type: { name: "String" } }, userId: { - readOnly: true, serializedName: "properties.userId", + readOnly: true, + xmlName: "properties.userId", type: { name: "String" } }, displayName: { - readOnly: true, serializedName: "properties.displayName", + readOnly: true, + xmlName: "properties.displayName", type: { name: "String" } }, roles: { serializedName: "properties.roles", + xmlName: "properties.roles", type: { name: "String" } @@ -15326,73 +16545,135 @@ export const StaticSiteUserARMResource: msRest.CompositeMapper = { } }; -export const StaticSiteUserInvitationRequestResource: msRest.CompositeMapper = { - serializedName: "StaticSiteUserInvitationRequestResource", +export const StaticSiteBuildARMResource: coreClient.CompositeMapper = { + serializedName: "StaticSiteBuildARMResource", type: { name: "Composite", - className: "StaticSiteUserInvitationRequestResource", + className: "StaticSiteBuildARMResource", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - domain: { - serializedName: "properties.domain", + buildId: { + serializedName: "properties.buildId", + readOnly: true, + xmlName: "properties.buildId", type: { name: "String" } }, - provider: { - serializedName: "properties.provider", + sourceBranch: { + serializedName: "properties.sourceBranch", + readOnly: true, + xmlName: "properties.sourceBranch", type: { name: "String" } }, - userDetails: { - serializedName: "properties.userDetails", + pullRequestTitle: { + serializedName: "properties.pullRequestTitle", + readOnly: true, + xmlName: "properties.pullRequestTitle", type: { name: "String" } }, - roles: { - serializedName: "properties.roles", + hostname: { + serializedName: "properties.hostname", + readOnly: true, + xmlName: "properties.hostname", type: { name: "String" } }, - numHoursToExpiration: { - serializedName: "properties.numHoursToExpiration", - type: { - name: "Number" - } - } - } - } -}; - -export const StaticSiteUserInvitationResponseResource: msRest.CompositeMapper = { - serializedName: "StaticSiteUserInvitationResponseResource", - type: { - name: "Composite", - className: "StaticSiteUserInvitationResponseResource", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - expiresOn: { + createdTimeUtc: { + serializedName: "properties.createdTimeUtc", readOnly: true, - serializedName: "properties.expiresOn", + xmlName: "properties.createdTimeUtc", type: { name: "DateTime" } }, - invitationUrl: { + lastUpdatedOn: { + serializedName: "properties.lastUpdatedOn", readOnly: true, - serializedName: "properties.invitationUrl", + xmlName: "properties.lastUpdatedOn", type: { - name: "String" + name: "DateTime" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + xmlName: "properties.status", + type: { + name: "String" + } + }, + userProvidedFunctionApps: { + serializedName: "properties.userProvidedFunctionApps", + readOnly: true, + xmlName: "properties.userProvidedFunctionApps", + xmlElementName: "StaticSiteUserProvidedFunctionApp", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StaticSiteUserProvidedFunctionApp" + } + } + } + } + } + } +}; + +export const StringDictionary: coreClient.CompositeMapper = { + serializedName: "StringDictionary", + type: { + name: "Composite", + className: "StringDictionary", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + properties: { + serializedName: "properties", + xmlName: "properties", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const StaticSiteFunctionOverviewARMResource: coreClient.CompositeMapper = { + serializedName: "StaticSiteFunctionOverviewARMResource", + type: { + name: "Composite", + className: "StaticSiteFunctionOverviewARMResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + functionName: { + serializedName: "properties.functionName", + readOnly: true, + xmlName: "properties.functionName", + type: { + name: "String" + } + }, + triggerType: { + serializedName: "properties.triggerType", + readOnly: true, + xmlName: "properties.triggerType", + type: { + name: "String" } } } } }; -export const StaticSiteUserProvidedFunctionAppARMResource: msRest.CompositeMapper = { +export const StaticSiteUserProvidedFunctionAppARMResource: coreClient.CompositeMapper = { serializedName: "StaticSiteUserProvidedFunctionAppARMResource", type: { name: "Composite", @@ -15401,19 +16682,22 @@ export const StaticSiteUserProvidedFunctionAppARMResource: msRest.CompositeMappe ...ProxyOnlyResource.type.modelProperties, functionAppResourceId: { serializedName: "properties.functionAppResourceId", + xmlName: "properties.functionAppResourceId", type: { name: "String" } }, functionAppRegion: { serializedName: "properties.functionAppRegion", + xmlName: "properties.functionAppRegion", type: { name: "String" } }, createdOn: { - readOnly: true, serializedName: "properties.createdOn", + readOnly: true, + xmlName: "properties.createdOn", type: { name: "DateTime" } @@ -15422,7 +16706,7 @@ export const StaticSiteUserProvidedFunctionAppARMResource: msRest.CompositeMappe } }; -export const StaticSiteZipDeploymentARMResource: msRest.CompositeMapper = { +export const StaticSiteZipDeploymentARMResource: coreClient.CompositeMapper = { serializedName: "StaticSiteZipDeploymentARMResource", type: { name: "Composite", @@ -15431,30 +16715,35 @@ export const StaticSiteZipDeploymentARMResource: msRest.CompositeMapper = { ...ProxyOnlyResource.type.modelProperties, appZipUrl: { serializedName: "properties.appZipUrl", + xmlName: "properties.appZipUrl", type: { name: "String" } }, apiZipUrl: { serializedName: "properties.apiZipUrl", + xmlName: "properties.apiZipUrl", type: { name: "String" } }, deploymentTitle: { serializedName: "properties.deploymentTitle", + xmlName: "properties.deploymentTitle", type: { name: "String" } }, provider: { serializedName: "properties.provider", + xmlName: "properties.provider", type: { name: "String" } }, functionLanguage: { serializedName: "properties.functionLanguage", + xmlName: "properties.functionLanguage", type: { name: "String" } @@ -15463,23 +16752,71 @@ export const StaticSiteZipDeploymentARMResource: msRest.CompositeMapper = { } }; -export const StaticSitesWorkflowPreview: msRest.CompositeMapper = { - serializedName: "StaticSitesWorkflowPreview", +export const StaticSiteUserInvitationRequestResource: coreClient.CompositeMapper = { + serializedName: "StaticSiteUserInvitationRequestResource", type: { name: "Composite", - className: "StaticSitesWorkflowPreview", + className: "StaticSiteUserInvitationRequestResource", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - path: { - readOnly: true, - serializedName: "properties.path", + domain: { + serializedName: "properties.domain", + xmlName: "properties.domain", type: { name: "String" } }, - contents: { + provider: { + serializedName: "properties.provider", + xmlName: "properties.provider", + type: { + name: "String" + } + }, + userDetails: { + serializedName: "properties.userDetails", + xmlName: "properties.userDetails", + type: { + name: "String" + } + }, + roles: { + serializedName: "properties.roles", + xmlName: "properties.roles", + type: { + name: "String" + } + }, + numHoursToExpiration: { + serializedName: "properties.numHoursToExpiration", + xmlName: "properties.numHoursToExpiration", + type: { + name: "Number" + } + } + } + } +}; + +export const StaticSiteUserInvitationResponseResource: coreClient.CompositeMapper = { + serializedName: "StaticSiteUserInvitationResponseResource", + type: { + name: "Composite", + className: "StaticSiteUserInvitationResponseResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + expiresOn: { + serializedName: "properties.expiresOn", readOnly: true, - serializedName: "properties.contents", + xmlName: "properties.expiresOn", + type: { + name: "DateTime" + } + }, + invitationUrl: { + serializedName: "properties.invitationUrl", + readOnly: true, + xmlName: "properties.invitationUrl", type: { name: "String" } @@ -15488,37 +16825,77 @@ export const StaticSitesWorkflowPreview: msRest.CompositeMapper = { } }; -export const StaticSitesWorkflowPreviewRequest: msRest.CompositeMapper = { - serializedName: "StaticSitesWorkflowPreviewRequest", +export const StaticSiteCustomDomainOverviewARMResource: coreClient.CompositeMapper = { + serializedName: "StaticSiteCustomDomainOverviewARMResource", type: { name: "Composite", - className: "StaticSitesWorkflowPreviewRequest", + className: "StaticSiteCustomDomainOverviewARMResource", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - repositoryUrl: { - serializedName: "properties.repositoryUrl", + domainName: { + serializedName: "properties.domainName", + readOnly: true, + xmlName: "properties.domainName", type: { name: "String" } }, - branch: { - serializedName: "properties.branch", + createdOn: { + serializedName: "properties.createdOn", + readOnly: true, + xmlName: "properties.createdOn", + type: { + name: "DateTime" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + xmlName: "properties.status", type: { name: "String" } }, - buildProperties: { - serializedName: "properties.buildProperties", + validationToken: { + serializedName: "properties.validationToken", + readOnly: true, + xmlName: "properties.validationToken", type: { - name: "Composite", - className: "StaticSiteBuildProperties" + name: "String" + } + }, + errorMessage: { + serializedName: "properties.errorMessage", + readOnly: true, + xmlName: "properties.errorMessage", + type: { + name: "String" + } + } + } + } +}; + +export const StaticSiteCustomDomainRequestPropertiesARMResource: coreClient.CompositeMapper = { + serializedName: "StaticSiteCustomDomainRequestPropertiesARMResource", + type: { + name: "Composite", + className: "StaticSiteCustomDomainRequestPropertiesARMResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + validationMethod: { + defaultValue: "cname-delegation", + serializedName: "properties.validationMethod", + xmlName: "properties.validationMethod", + type: { + name: "String" } } } } }; -export const StringList: msRest.CompositeMapper = { +export const StringList: coreClient.CompositeMapper = { serializedName: "StringList", type: { name: "Composite", @@ -15527,6 +16904,8 @@ export const StringList: msRest.CompositeMapper = { ...ProxyOnlyResource.type.modelProperties, properties: { serializedName: "properties", + xmlName: "properties", + xmlElementName: "StringListPropertiesItem", type: { name: "Sequence", element: { @@ -15540,67 +16919,59 @@ export const StringList: msRest.CompositeMapper = { } }; -export const VirtualIPMapping: msRest.CompositeMapper = { - serializedName: "VirtualIPMapping", +export const StaticSiteResetPropertiesARMResource: coreClient.CompositeMapper = { + serializedName: "StaticSiteResetPropertiesARMResource", type: { name: "Composite", - className: "VirtualIPMapping", + className: "StaticSiteResetPropertiesARMResource", modelProperties: { - virtualIP: { - serializedName: "virtualIP", + ...ProxyOnlyResource.type.modelProperties, + repositoryToken: { + serializedName: "properties.repositoryToken", + xmlName: "properties.repositoryToken", type: { name: "String" } }, - internalHttpPort: { - serializedName: "internalHttpPort", - type: { - name: "Number" - } - }, - internalHttpsPort: { - serializedName: "internalHttpsPort", - type: { - name: "Number" - } - }, - inUse: { - serializedName: "inUse", + shouldUpdateRepository: { + serializedName: "properties.shouldUpdateRepository", + xmlName: "properties.shouldUpdateRepository", type: { name: "Boolean" } - }, - serviceName: { - serializedName: "serviceName", - type: { - name: "String" - } } } } }; -export const AddressResponse: msRest.CompositeMapper = { - serializedName: "AddressResponse", +export const SitePatchResource: coreClient.CompositeMapper = { + serializedName: "SitePatchResource", type: { name: "Composite", - className: "AddressResponse", + className: "SitePatchResource", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - serviceIpAddress: { - serializedName: "properties.serviceIpAddress", + identity: { + serializedName: "identity", + xmlName: "identity", type: { - name: "String" + name: "Composite", + className: "ManagedServiceIdentity" } }, - internalIpAddress: { - serializedName: "properties.internalIpAddress", + state: { + serializedName: "properties.state", + readOnly: true, + xmlName: "properties.state", type: { name: "String" } }, - outboundIpAddresses: { - serializedName: "properties.outboundIpAddresses", + hostNames: { + serializedName: "properties.hostNames", + readOnly: true, + xmlName: "properties.hostNames", + xmlElementName: "SitePatchResourcePropertiesHostNamesItem", type: { name: "Sequence", element: { @@ -15610,118 +16981,117 @@ export const AddressResponse: msRest.CompositeMapper = { } } }, - vipMappings: { - serializedName: "properties.vipMappings", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VirtualIPMapping" - } - } - } - } - } - } -}; - -export const AppServiceEnvironmentResource: msRest.CompositeMapper = { - serializedName: "AppServiceEnvironmentResource", - type: { - name: "Composite", - className: "AppServiceEnvironmentResource", - modelProperties: { - ...Resource.type.modelProperties, - provisioningState: { + repositorySiteName: { + serializedName: "properties.repositorySiteName", readOnly: true, - serializedName: "properties.provisioningState", + xmlName: "properties.repositorySiteName", type: { - name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] + name: "String" } }, - status: { + usageState: { + serializedName: "properties.usageState", readOnly: true, - serializedName: "properties.status", + xmlName: "properties.usageState", type: { name: "Enum", - allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"] + allowedValues: ["Normal", "Exceeded"] } }, - virtualNetwork: { - required: true, - serializedName: "properties.virtualNetwork", + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", type: { - name: "Composite", - className: "VirtualNetworkProfile" + name: "Boolean" } }, - internalLoadBalancingMode: { - serializedName: "properties.internalLoadBalancingMode", + enabledHostNames: { + serializedName: "properties.enabledHostNames", + readOnly: true, + xmlName: "properties.enabledHostNames", + xmlElementName: "SitePatchResourcePropertiesEnabledHostNamesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - multiSize: { - serializedName: "properties.multiSize", + availabilityState: { + serializedName: "properties.availabilityState", + readOnly: true, + xmlName: "properties.availabilityState", type: { - name: "String" + name: "Enum", + allowedValues: ["Normal", "Limited", "DisasterRecoveryMode"] } }, - multiRoleCount: { - readOnly: true, - serializedName: "properties.multiRoleCount", + hostNameSslStates: { + serializedName: "properties.hostNameSslStates", + xmlName: "properties.hostNameSslStates", + xmlElementName: "HostNameSslState", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HostNameSslState" + } + } } }, - ipsslAddressCount: { - serializedName: "properties.ipsslAddressCount", + serverFarmId: { + serializedName: "properties.serverFarmId", + xmlName: "properties.serverFarmId", type: { - name: "Number" + name: "String" } }, - dnsSuffix: { - serializedName: "properties.dnsSuffix", + reserved: { + serializedName: "properties.reserved", + xmlName: "properties.reserved", type: { - name: "String" + name: "Boolean" } }, - maximumNumberOfMachines: { - readOnly: true, - serializedName: "properties.maximumNumberOfMachines", + isXenon: { + serializedName: "properties.isXenon", + xmlName: "properties.isXenon", type: { - name: "Number" + name: "Boolean" } }, - frontEndScaleFactor: { - serializedName: "properties.frontEndScaleFactor", + hyperV: { + serializedName: "properties.hyperV", + xmlName: "properties.hyperV", type: { - name: "Number" + name: "Boolean" } }, - suspended: { + lastModifiedTimeUtc: { + serializedName: "properties.lastModifiedTimeUtc", readOnly: true, - serializedName: "properties.suspended", + xmlName: "properties.lastModifiedTimeUtc", type: { - name: "Boolean" + name: "DateTime" } }, - clusterSettings: { - serializedName: "properties.clusterSettings", + siteConfig: { + serializedName: "properties.siteConfig", + xmlName: "properties.siteConfig", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NameValuePair" - } - } + name: "Composite", + className: "SiteConfig" } }, - userWhitelistedIpRanges: { - serializedName: "properties.userWhitelistedIpRanges", + trafficManagerHostNames: { + serializedName: "properties.trafficManagerHostNames", + readOnly: true, + xmlName: "properties.trafficManagerHostNames", + xmlElementName: + "SitePatchResourcePropertiesTrafficManagerHostNamesItem", type: { name: "Sequence", element: { @@ -15731,286 +17101,273 @@ export const AppServiceEnvironmentResource: msRest.CompositeMapper = { } } }, - hasLinuxWorkers: { - readOnly: true, - serializedName: "properties.hasLinuxWorkers", + scmSiteAlsoStopped: { + serializedName: "properties.scmSiteAlsoStopped", + xmlName: "properties.scmSiteAlsoStopped", type: { name: "Boolean" } }, - dedicatedHostCount: { + targetSwapSlot: { + serializedName: "properties.targetSwapSlot", readOnly: true, - serializedName: "properties.dedicatedHostCount", + xmlName: "properties.targetSwapSlot", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const AppServiceEnvironmentPatchResource: msRest.CompositeMapper = { - serializedName: "AppServiceEnvironmentPatchResource", - type: { - name: "Composite", - className: "AppServiceEnvironmentPatchResource", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + }, + hostingEnvironmentProfile: { + serializedName: "properties.hostingEnvironmentProfile", + xmlName: "properties.hostingEnvironmentProfile", type: { - name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] + name: "Composite", + className: "HostingEnvironmentProfile" } }, - status: { - readOnly: true, - serializedName: "properties.status", + clientAffinityEnabled: { + serializedName: "properties.clientAffinityEnabled", + xmlName: "properties.clientAffinityEnabled", type: { - name: "Enum", - allowedValues: ["Preparing", "Ready", "Scaling", "Deleting"] + name: "Boolean" } }, - virtualNetwork: { - required: true, - serializedName: "properties.virtualNetwork", + clientCertEnabled: { + serializedName: "properties.clientCertEnabled", + xmlName: "properties.clientCertEnabled", type: { - name: "Composite", - className: "VirtualNetworkProfile" + name: "Boolean" } }, - internalLoadBalancingMode: { - serializedName: "properties.internalLoadBalancingMode", + clientCertMode: { + serializedName: "properties.clientCertMode", + xmlName: "properties.clientCertMode", type: { - name: "String" + name: "Enum", + allowedValues: ["Required", "Optional", "OptionalInteractiveUser"] } }, - multiSize: { - serializedName: "properties.multiSize", + clientCertExclusionPaths: { + serializedName: "properties.clientCertExclusionPaths", + xmlName: "properties.clientCertExclusionPaths", type: { name: "String" } }, - multiRoleCount: { - readOnly: true, - serializedName: "properties.multiRoleCount", + hostNamesDisabled: { + serializedName: "properties.hostNamesDisabled", + xmlName: "properties.hostNamesDisabled", type: { - name: "Number" + name: "Boolean" } }, - ipsslAddressCount: { - serializedName: "properties.ipsslAddressCount", + customDomainVerificationId: { + serializedName: "properties.customDomainVerificationId", + xmlName: "properties.customDomainVerificationId", type: { - name: "Number" + name: "String" } }, - dnsSuffix: { - serializedName: "properties.dnsSuffix", + outboundIpAddresses: { + serializedName: "properties.outboundIpAddresses", + readOnly: true, + xmlName: "properties.outboundIpAddresses", type: { name: "String" } }, - maximumNumberOfMachines: { + possibleOutboundIpAddresses: { + serializedName: "properties.possibleOutboundIpAddresses", readOnly: true, - serializedName: "properties.maximumNumberOfMachines", + xmlName: "properties.possibleOutboundIpAddresses", type: { - name: "Number" + name: "String" } }, - frontEndScaleFactor: { - serializedName: "properties.frontEndScaleFactor", + containerSize: { + serializedName: "properties.containerSize", + xmlName: "properties.containerSize", type: { name: "Number" } }, - suspended: { - readOnly: true, - serializedName: "properties.suspended", + dailyMemoryTimeQuota: { + serializedName: "properties.dailyMemoryTimeQuota", + xmlName: "properties.dailyMemoryTimeQuota", type: { - name: "Boolean" + name: "Number" } }, - clusterSettings: { - serializedName: "properties.clusterSettings", + suspendedTill: { + serializedName: "properties.suspendedTill", + readOnly: true, + xmlName: "properties.suspendedTill", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NameValuePair" - } - } + name: "DateTime" } }, - userWhitelistedIpRanges: { - serializedName: "properties.userWhitelistedIpRanges", + maxNumberOfWorkers: { + serializedName: "properties.maxNumberOfWorkers", + readOnly: true, + xmlName: "properties.maxNumberOfWorkers", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" } }, - hasLinuxWorkers: { - readOnly: true, - serializedName: "properties.hasLinuxWorkers", + cloningInfo: { + serializedName: "properties.cloningInfo", + xmlName: "properties.cloningInfo", type: { - name: "Boolean" + name: "Composite", + className: "CloningInfo" } }, - dedicatedHostCount: { + resourceGroup: { + serializedName: "properties.resourceGroup", readOnly: true, - serializedName: "properties.dedicatedHostCount", + xmlName: "properties.resourceGroup", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const AseV3NetworkingConfiguration: msRest.CompositeMapper = { - serializedName: "AseV3NetworkingConfiguration", - type: { - name: "Composite", - className: "AseV3NetworkingConfiguration", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - windowsOutboundIpAddresses: { + }, + isDefaultContainer: { + serializedName: "properties.isDefaultContainer", readOnly: true, - serializedName: "properties.windowsOutboundIpAddresses", + xmlName: "properties.isDefaultContainer", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Boolean" } }, - linuxOutboundIpAddresses: { + defaultHostName: { + serializedName: "properties.defaultHostName", readOnly: true, - serializedName: "properties.linuxOutboundIpAddresses", + xmlName: "properties.defaultHostName", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - allowNewPrivateEndpointConnections: { - serializedName: "properties.allowNewPrivateEndpointConnections", + slotSwapStatus: { + serializedName: "properties.slotSwapStatus", + xmlName: "properties.slotSwapStatus", type: { - name: "Boolean" + name: "Composite", + className: "SlotSwapStatus" } - } - } - } -}; - -export const EndpointDetail: msRest.CompositeMapper = { - serializedName: "EndpointDetail", - type: { - name: "Composite", - className: "EndpointDetail", - modelProperties: { - ipAddress: { - serializedName: "ipAddress", + }, + httpsOnly: { + serializedName: "properties.httpsOnly", + xmlName: "properties.httpsOnly", type: { - name: "String" + name: "Boolean" } }, - port: { - serializedName: "port", + redundancyMode: { + serializedName: "properties.redundancyMode", + xmlName: "properties.redundancyMode", type: { - name: "Number" + name: "Enum", + allowedValues: [ + "None", + "Manual", + "Failover", + "ActiveActive", + "GeoRedundant" + ] } }, - latency: { - serializedName: "latency", + inProgressOperationId: { + serializedName: "properties.inProgressOperationId", + readOnly: true, + xmlName: "properties.inProgressOperationId", type: { - name: "Number" + name: "Uuid" } }, - isAccessible: { - serializedName: "isAccessible", + storageAccountRequired: { + serializedName: "properties.storageAccountRequired", + xmlName: "properties.storageAccountRequired", type: { name: "Boolean" } - } - } - } -}; - -export const EndpointDependency: msRest.CompositeMapper = { - serializedName: "EndpointDependency", - type: { - name: "Composite", - className: "EndpointDependency", - modelProperties: { - domainName: { - serializedName: "domainName", + }, + keyVaultReferenceIdentity: { + serializedName: "properties.keyVaultReferenceIdentity", + xmlName: "properties.keyVaultReferenceIdentity", type: { name: "String" } }, - endpointDetails: { - serializedName: "endpointDetails", + virtualNetworkSubnetId: { + serializedName: "properties.virtualNetworkSubnetId", + xmlName: "properties.virtualNetworkSubnetId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "EndpointDetail" - } - } + name: "String" } } } } }; -export const HostingEnvironmentDiagnostics: msRest.CompositeMapper = { - serializedName: "HostingEnvironmentDiagnostics", +export const CustomHostnameAnalysisResult: coreClient.CompositeMapper = { + serializedName: "CustomHostnameAnalysisResult", type: { name: "Composite", - className: "HostingEnvironmentDiagnostics", + className: "CustomHostnameAnalysisResult", modelProperties: { - name: { - serializedName: "name", + ...ProxyOnlyResource.type.modelProperties, + isHostnameAlreadyVerified: { + serializedName: "properties.isHostnameAlreadyVerified", + readOnly: true, + xmlName: "properties.isHostnameAlreadyVerified", type: { - name: "String" + name: "Boolean" } }, - diagnosticsOutput: { - serializedName: "diagnosticsOutput", + customDomainVerificationTest: { + serializedName: "properties.customDomainVerificationTest", + readOnly: true, + xmlName: "properties.customDomainVerificationTest", type: { - name: "String" + name: "Enum", + allowedValues: ["Passed", "Failed", "Skipped"] } - } - } - } -}; - -export const InboundEnvironmentEndpoint: msRest.CompositeMapper = { - serializedName: "InboundEnvironmentEndpoint", - type: { - name: "Composite", - className: "InboundEnvironmentEndpoint", - modelProperties: { - description: { - serializedName: "description", + }, + customDomainVerificationFailureInfo: { + serializedName: "properties.customDomainVerificationFailureInfo", + xmlName: "properties.customDomainVerificationFailureInfo", + type: { + name: "Composite", + className: "ErrorEntity" + } + }, + hasConflictOnScaleUnit: { + serializedName: "properties.hasConflictOnScaleUnit", + readOnly: true, + xmlName: "properties.hasConflictOnScaleUnit", + type: { + name: "Boolean" + } + }, + hasConflictAcrossSubscription: { + serializedName: "properties.hasConflictAcrossSubscription", + readOnly: true, + xmlName: "properties.hasConflictAcrossSubscription", + type: { + name: "Boolean" + } + }, + conflictingAppResourceId: { + serializedName: "properties.conflictingAppResourceId", + readOnly: true, + xmlName: "properties.conflictingAppResourceId", type: { name: "String" } }, - endpoints: { - serializedName: "endpoints", + cNameRecords: { + serializedName: "properties.cNameRecords", + xmlName: "properties.cNameRecords", + xmlElementName: + "CustomHostnameAnalysisResultPropertiesCNameRecordsItem", type: { name: "Sequence", element: { @@ -16020,8 +17377,10 @@ export const InboundEnvironmentEndpoint: msRest.CompositeMapper = { } } }, - ports: { - serializedName: "ports", + txtRecords: { + serializedName: "properties.txtRecords", + xmlName: "properties.txtRecords", + xmlElementName: "CustomHostnameAnalysisResultPropertiesTxtRecordsItem", type: { name: "Sequence", element: { @@ -16030,31 +17389,44 @@ export const InboundEnvironmentEndpoint: msRest.CompositeMapper = { } } } - } - } - } -}; - -export const OutboundEnvironmentEndpoint: msRest.CompositeMapper = { - serializedName: "OutboundEnvironmentEndpoint", - type: { - name: "Composite", - className: "OutboundEnvironmentEndpoint", - modelProperties: { - category: { - serializedName: "category", + }, + aRecords: { + serializedName: "properties.aRecords", + xmlName: "properties.aRecords", + xmlElementName: "CustomHostnameAnalysisResultPropertiesARecordsItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - endpoints: { - serializedName: "endpoints", + alternateCNameRecords: { + serializedName: "properties.alternateCNameRecords", + xmlName: "properties.alternateCNameRecords", + xmlElementName: + "CustomHostnameAnalysisResultPropertiesAlternateCNameRecordsItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "EndpointDependency" + name: "String" + } + } + } + }, + alternateTxtRecords: { + serializedName: "properties.alternateTxtRecords", + xmlName: "properties.alternateTxtRecords", + xmlElementName: + "CustomHostnameAnalysisResultPropertiesAlternateTxtRecordsItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" } } } @@ -16063,268 +17435,297 @@ export const OutboundEnvironmentEndpoint: msRest.CompositeMapper = { } }; -export const ResourceMetricAvailability: msRest.CompositeMapper = { - serializedName: "ResourceMetricAvailability", +export const BackupRequest: coreClient.CompositeMapper = { + serializedName: "BackupRequest", type: { name: "Composite", - className: "ResourceMetricAvailability", + className: "BackupRequest", modelProperties: { - timeGrain: { - readOnly: true, - serializedName: "timeGrain", + ...ProxyOnlyResource.type.modelProperties, + backupName: { + serializedName: "properties.backupName", + xmlName: "properties.backupName", type: { name: "String" } }, - retention: { - readOnly: true, - serializedName: "retention", + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", + type: { + name: "Boolean" + } + }, + storageAccountUrl: { + serializedName: "properties.storageAccountUrl", + xmlName: "properties.storageAccountUrl", type: { name: "String" } + }, + backupSchedule: { + serializedName: "properties.backupSchedule", + xmlName: "properties.backupSchedule", + type: { + name: "Composite", + className: "BackupSchedule" + } + }, + databases: { + serializedName: "properties.databases", + xmlName: "properties.databases", + xmlElementName: "DatabaseBackupSetting", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseBackupSetting" + } + } + } } } } }; -export const ResourceMetricDefinition: msRest.CompositeMapper = { - serializedName: "ResourceMetricDefinition", +export const BackupItem: coreClient.CompositeMapper = { + serializedName: "BackupItem", type: { name: "Composite", - className: "ResourceMetricDefinition", + className: "BackupItem", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - unit: { + backupId: { + serializedName: "properties.id", readOnly: true, - serializedName: "properties.unit", + xmlName: "properties.id", type: { - name: "String" + name: "Number" } }, - primaryAggregationType: { + storageAccountUrl: { + serializedName: "properties.storageAccountUrl", readOnly: true, - serializedName: "properties.primaryAggregationType", + xmlName: "properties.storageAccountUrl", type: { name: "String" } }, - metricAvailabilities: { + blobName: { + serializedName: "properties.blobName", readOnly: true, - serializedName: "properties.metricAvailabilities", + xmlName: "properties.blobName", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ResourceMetricAvailability" - } - } + name: "String" } }, - resourceUri: { + namePropertiesName: { + serializedName: "properties.name", readOnly: true, - serializedName: "properties.resourceUri", + xmlName: "properties.name", type: { name: "String" } }, - properties: { + status: { + serializedName: "properties.status", readOnly: true, - serializedName: "properties.properties", + xmlName: "properties.status", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } - } - } - } - } -}; - -export const SkuInfo: msRest.CompositeMapper = { - serializedName: "SkuInfo", - type: { - name: "Composite", - className: "SkuInfo", - modelProperties: { - resourceType: { - serializedName: "resourceType", - type: { - name: "String" - } - }, - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "SkuDescription" - } - }, - capacity: { - serializedName: "capacity", - type: { - name: "Composite", - className: "SkuCapacity" - } - } - } - } -}; - -export const StampCapacity: msRest.CompositeMapper = { - serializedName: "StampCapacity", - type: { - name: "Composite", - className: "StampCapacity", - modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" + name: "Enum", + allowedValues: [ + "InProgress", + "Failed", + "Succeeded", + "TimedOut", + "Created", + "Skipped", + "PartiallySucceeded", + "DeleteInProgress", + "DeleteFailed", + "Deleted" + ] } }, - availableCapacity: { - serializedName: "availableCapacity", + sizeInBytes: { + serializedName: "properties.sizeInBytes", + readOnly: true, + xmlName: "properties.sizeInBytes", type: { name: "Number" } }, - totalCapacity: { - serializedName: "totalCapacity", + created: { + serializedName: "properties.created", + readOnly: true, + xmlName: "properties.created", type: { - name: "Number" + name: "DateTime" } }, - unit: { - serializedName: "unit", + log: { + serializedName: "properties.log", + readOnly: true, + xmlName: "properties.log", type: { name: "String" } }, - computeMode: { - serializedName: "computeMode", - type: { - name: "Enum", - allowedValues: ["Shared", "Dedicated", "Dynamic"] - } - }, - workerSize: { - serializedName: "workerSize", + databases: { + serializedName: "properties.databases", + readOnly: true, + xmlName: "properties.databases", + xmlElementName: "DatabaseBackupSetting", type: { - name: "Enum", - allowedValues: [ - "Small", - "Medium", - "Large", - "D1", - "D2", - "D3", - "SmallV3", - "MediumV3", - "LargeV3", - "NestedSmall", - "NestedSmallLinux", - "Default" - ] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseBackupSetting" + } + } } }, - workerSizeId: { - serializedName: "workerSizeId", + scheduled: { + serializedName: "properties.scheduled", + readOnly: true, + xmlName: "properties.scheduled", type: { - name: "Number" + name: "Boolean" } }, - excludeFromCapacityAllocation: { - serializedName: "excludeFromCapacityAllocation", + lastRestoreTimeStamp: { + serializedName: "properties.lastRestoreTimeStamp", + readOnly: true, + xmlName: "properties.lastRestoreTimeStamp", type: { - name: "Boolean" + name: "DateTime" } }, - isApplicableForAllComputeModes: { - serializedName: "isApplicableForAllComputeModes", + finishedTimeStamp: { + serializedName: "properties.finishedTimeStamp", + readOnly: true, + xmlName: "properties.finishedTimeStamp", type: { - name: "Boolean" + name: "DateTime" } }, - siteMode: { - serializedName: "siteMode", + correlationId: { + serializedName: "properties.correlationId", + readOnly: true, + xmlName: "properties.correlationId", type: { name: "String" } }, - isLinux: { - serializedName: "isLinux", + websiteSizeInBytes: { + serializedName: "properties.websiteSizeInBytes", + readOnly: true, + xmlName: "properties.websiteSizeInBytes", type: { - name: "Boolean" + name: "Number" } } } } }; -export const Usage: msRest.CompositeMapper = { - serializedName: "Usage", +export const RestoreRequest: coreClient.CompositeMapper = { + serializedName: "RestoreRequest", type: { name: "Composite", - className: "Usage", + className: "RestoreRequest", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - displayName: { - readOnly: true, - serializedName: "properties.displayName", + storageAccountUrl: { + serializedName: "properties.storageAccountUrl", + xmlName: "properties.storageAccountUrl", type: { name: "String" } }, - resourceName: { - readOnly: true, - serializedName: "properties.resourceName", + blobName: { + serializedName: "properties.blobName", + xmlName: "properties.blobName", type: { name: "String" } }, - unit: { - readOnly: true, - serializedName: "properties.unit", + overwrite: { + serializedName: "properties.overwrite", + xmlName: "properties.overwrite", + type: { + name: "Boolean" + } + }, + siteName: { + serializedName: "properties.siteName", + xmlName: "properties.siteName", type: { name: "String" } }, - currentValue: { - readOnly: true, - serializedName: "properties.currentValue", + databases: { + serializedName: "properties.databases", + xmlName: "properties.databases", + xmlElementName: "DatabaseBackupSetting", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseBackupSetting" + } + } } }, - limit: { - readOnly: true, - serializedName: "properties.limit", + ignoreConflictingHostNames: { + serializedName: "properties.ignoreConflictingHostNames", + xmlName: "properties.ignoreConflictingHostNames", type: { - name: "Number" + name: "Boolean" } }, - nextResetTime: { - readOnly: true, - serializedName: "properties.nextResetTime", + ignoreDatabases: { + serializedName: "properties.ignoreDatabases", + xmlName: "properties.ignoreDatabases", type: { - name: "DateTime" + name: "Boolean" } }, - computeMode: { - readOnly: true, - serializedName: "properties.computeMode", + appServicePlan: { + serializedName: "properties.appServicePlan", + xmlName: "properties.appServicePlan", + type: { + name: "String" + } + }, + operationType: { + defaultValue: "Default", + serializedName: "properties.operationType", + xmlName: "properties.operationType", type: { name: "Enum", - allowedValues: ["Shared", "Dedicated", "Dynamic"] + allowedValues: [ + "Default", + "Clone", + "Relocation", + "Snapshot", + "CloudFS" + ] } }, - siteMode: { - readOnly: true, - serializedName: "properties.siteMode", + adjustConnectionStrings: { + serializedName: "properties.adjustConnectionStrings", + xmlName: "properties.adjustConnectionStrings", + type: { + name: "Boolean" + } + }, + hostingEnvironment: { + serializedName: "properties.hostingEnvironment", + xmlName: "properties.hostingEnvironment", type: { name: "String" } @@ -16333,632 +17734,577 @@ export const Usage: msRest.CompositeMapper = { } }; -export const WorkerPoolResource: msRest.CompositeMapper = { - serializedName: "WorkerPoolResource", +export const CsmPublishingCredentialsPoliciesEntity: coreClient.CompositeMapper = { + serializedName: "CsmPublishingCredentialsPoliciesEntity", type: { name: "Composite", - className: "WorkerPoolResource", + className: "CsmPublishingCredentialsPoliciesEntity", modelProperties: { ...ProxyOnlyResource.type.modelProperties, - workerSizeId: { - serializedName: "properties.workerSizeId", + allow: { + serializedName: "properties.allow", + xmlName: "properties.allow", type: { - name: "Number" + name: "Boolean" } - }, - computeMode: { - serializedName: "properties.computeMode", + } + } + } +}; + +export const SiteConfigResource: coreClient.CompositeMapper = { + serializedName: "SiteConfigResource", + type: { + name: "Composite", + className: "SiteConfigResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + numberOfWorkers: { + serializedName: "properties.numberOfWorkers", + xmlName: "properties.numberOfWorkers", type: { - name: "Enum", - allowedValues: ["Shared", "Dedicated", "Dynamic"] + name: "Number" } }, - workerSize: { - serializedName: "properties.workerSize", + defaultDocuments: { + serializedName: "properties.defaultDocuments", + xmlName: "properties.defaultDocuments", + xmlElementName: "SiteConfigDefaultDocumentsItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - workerCount: { - serializedName: "properties.workerCount", + netFrameworkVersion: { + defaultValue: "v4.6", + serializedName: "properties.netFrameworkVersion", + xmlName: "properties.netFrameworkVersion", type: { - name: "Number" + name: "String" } }, - instanceNames: { - readOnly: true, - serializedName: "properties.instanceNames", + phpVersion: { + serializedName: "properties.phpVersion", + xmlName: "properties.phpVersion", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - sku: { - serializedName: "sku", + pythonVersion: { + serializedName: "properties.pythonVersion", + xmlName: "properties.pythonVersion", type: { - name: "Composite", - className: "SkuDescription" + name: "String" } - } - } - } -}; - -export const AppServicePlanPatchResource: msRest.CompositeMapper = { - serializedName: "AppServicePlanPatchResource", - type: { - name: "Composite", - className: "AppServicePlanPatchResource", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - workerTierName: { - serializedName: "properties.workerTierName", + }, + nodeVersion: { + serializedName: "properties.nodeVersion", + xmlName: "properties.nodeVersion", type: { name: "String" } }, - status: { - readOnly: true, - serializedName: "properties.status", + powerShellVersion: { + serializedName: "properties.powerShellVersion", + xmlName: "properties.powerShellVersion", type: { - name: "Enum", - allowedValues: ["Ready", "Pending", "Creating"] + name: "String" } }, - subscription: { - readOnly: true, - serializedName: "properties.subscription", + linuxFxVersion: { + serializedName: "properties.linuxFxVersion", + xmlName: "properties.linuxFxVersion", type: { name: "String" } }, - hostingEnvironmentProfile: { - serializedName: "properties.hostingEnvironmentProfile", + windowsFxVersion: { + serializedName: "properties.windowsFxVersion", + xmlName: "properties.windowsFxVersion", type: { - name: "Composite", - className: "HostingEnvironmentProfile" + name: "String" } }, - maximumNumberOfWorkers: { - readOnly: true, - serializedName: "properties.maximumNumberOfWorkers", + requestTracingEnabled: { + serializedName: "properties.requestTracingEnabled", + xmlName: "properties.requestTracingEnabled", type: { - name: "Number" + name: "Boolean" } }, - geoRegion: { - readOnly: true, - serializedName: "properties.geoRegion", + requestTracingExpirationTime: { + serializedName: "properties.requestTracingExpirationTime", + xmlName: "properties.requestTracingExpirationTime", type: { - name: "String" + name: "DateTime" } }, - perSiteScaling: { - serializedName: "properties.perSiteScaling", - defaultValue: false, + remoteDebuggingEnabled: { + serializedName: "properties.remoteDebuggingEnabled", + xmlName: "properties.remoteDebuggingEnabled", type: { name: "Boolean" } }, - maximumElasticWorkerCount: { - serializedName: "properties.maximumElasticWorkerCount", + remoteDebuggingVersion: { + serializedName: "properties.remoteDebuggingVersion", + xmlName: "properties.remoteDebuggingVersion", type: { - name: "Number" + name: "String" } }, - numberOfSites: { - readOnly: true, - serializedName: "properties.numberOfSites", + httpLoggingEnabled: { + serializedName: "properties.httpLoggingEnabled", + xmlName: "properties.httpLoggingEnabled", type: { - name: "Number" + name: "Boolean" } }, - isSpot: { - serializedName: "properties.isSpot", + acrUseManagedIdentityCreds: { + serializedName: "properties.acrUseManagedIdentityCreds", + xmlName: "properties.acrUseManagedIdentityCreds", type: { name: "Boolean" } }, - spotExpirationTime: { - serializedName: "properties.spotExpirationTime", + acrUserManagedIdentityID: { + serializedName: "properties.acrUserManagedIdentityID", + xmlName: "properties.acrUserManagedIdentityID", type: { - name: "DateTime" + name: "String" } }, - freeOfferExpirationTime: { - serializedName: "properties.freeOfferExpirationTime", + logsDirectorySizeLimit: { + serializedName: "properties.logsDirectorySizeLimit", + xmlName: "properties.logsDirectorySizeLimit", type: { - name: "DateTime" + name: "Number" } }, - resourceGroup: { - readOnly: true, - serializedName: "properties.resourceGroup", + detailedErrorLoggingEnabled: { + serializedName: "properties.detailedErrorLoggingEnabled", + xmlName: "properties.detailedErrorLoggingEnabled", + type: { + name: "Boolean" + } + }, + publishingUsername: { + serializedName: "properties.publishingUsername", + xmlName: "properties.publishingUsername", type: { name: "String" } }, - reserved: { - serializedName: "properties.reserved", - defaultValue: false, + appSettings: { + serializedName: "properties.appSettings", + xmlName: "properties.appSettings", + xmlElementName: "NameValuePair", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NameValuePair" + } + } } }, - isXenon: { - serializedName: "properties.isXenon", - defaultValue: false, + connectionStrings: { + serializedName: "properties.connectionStrings", + xmlName: "properties.connectionStrings", + xmlElementName: "ConnStringInfo", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnStringInfo" + } + } } }, - hyperV: { - serializedName: "properties.hyperV", - defaultValue: false, + machineKey: { + serializedName: "properties.machineKey", + xmlName: "properties.machineKey", type: { - name: "Boolean" + name: "Composite", + className: "SiteMachineKey" } }, - targetWorkerCount: { - serializedName: "properties.targetWorkerCount", + handlerMappings: { + serializedName: "properties.handlerMappings", + xmlName: "properties.handlerMappings", + xmlElementName: "HandlerMapping", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HandlerMapping" + } + } } }, - targetWorkerSizeId: { - serializedName: "properties.targetWorkerSizeId", + documentRoot: { + serializedName: "properties.documentRoot", + xmlName: "properties.documentRoot", type: { - name: "Number" + name: "String" } }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + scmType: { + serializedName: "properties.scmType", + xmlName: "properties.scmType", type: { - name: "Enum", - allowedValues: ["Succeeded", "Failed", "Canceled", "InProgress", "Deleting"] + name: "String" } }, - kubeEnvironmentProfile: { - serializedName: "properties.kubeEnvironmentProfile", + use32BitWorkerProcess: { + serializedName: "properties.use32BitWorkerProcess", + xmlName: "properties.use32BitWorkerProcess", type: { - name: "Composite", - className: "KubeEnvironmentProfile" + name: "Boolean" } - } - } - } -}; - -export const HybridConnectionKey: msRest.CompositeMapper = { - serializedName: "HybridConnectionKey", - type: { - name: "Composite", - className: "HybridConnectionKey", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - sendKeyName: { - readOnly: true, - serializedName: "properties.sendKeyName", + }, + webSocketsEnabled: { + serializedName: "properties.webSocketsEnabled", + xmlName: "properties.webSocketsEnabled", type: { - name: "String" + name: "Boolean" } }, - sendKeyValue: { - readOnly: true, - serializedName: "properties.sendKeyValue", + alwaysOn: { + serializedName: "properties.alwaysOn", + xmlName: "properties.alwaysOn", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const HybridConnectionLimits: msRest.CompositeMapper = { - serializedName: "HybridConnectionLimits", - type: { - name: "Composite", - className: "HybridConnectionLimits", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - current: { - readOnly: true, - serializedName: "properties.current", + }, + javaVersion: { + serializedName: "properties.javaVersion", + xmlName: "properties.javaVersion", type: { - name: "Number" + name: "String" } }, - maximum: { - readOnly: true, - serializedName: "properties.maximum", + javaContainer: { + serializedName: "properties.javaContainer", + xmlName: "properties.javaContainer", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const ResourceHealthMetadata: msRest.CompositeMapper = { - serializedName: "ResourceHealthMetadata", - type: { - name: "Composite", - className: "ResourceHealthMetadata", - modelProperties: { - ...ProxyOnlyResource.type.modelProperties, - category: { - serializedName: "properties.category", + }, + javaContainerVersion: { + serializedName: "properties.javaContainerVersion", + xmlName: "properties.javaContainerVersion", type: { name: "String" } }, - signalAvailability: { - serializedName: "properties.signalAvailability", + appCommandLine: { + serializedName: "properties.appCommandLine", + xmlName: "properties.appCommandLine", type: { - name: "Boolean" + name: "String" } - } - } - } -}; - -export const AppServiceCertificateOrderCollection: msRest.CompositeMapper = { - serializedName: "AppServiceCertificateOrderCollection", - type: { - name: "Composite", - className: "AppServiceCertificateOrderCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + managedPipelineMode: { + serializedName: "properties.managedPipelineMode", + xmlName: "properties.managedPipelineMode", + type: { + name: "Enum", + allowedValues: ["Integrated", "Classic"] + } + }, + virtualApplications: { + serializedName: "properties.virtualApplications", + xmlName: "properties.virtualApplications", + xmlElementName: "VirtualApplication", type: { name: "Sequence", element: { type: { name: "Composite", - className: "AppServiceCertificateOrder" + className: "VirtualApplication" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + loadBalancing: { + serializedName: "properties.loadBalancing", + xmlName: "properties.loadBalancing", type: { - name: "String" + name: "Enum", + allowedValues: [ + "WeightedRoundRobin", + "LeastRequests", + "LeastResponseTime", + "WeightedTotalTraffic", + "RequestHash", + "PerSiteRoundRobin" + ] } - } - } - } -}; - -export const AppServiceCertificateCollection: msRest.CompositeMapper = { - serializedName: "AppServiceCertificateCollection", - type: { - name: "Composite", - className: "AppServiceCertificateCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + experiments: { + serializedName: "properties.experiments", + xmlName: "properties.experiments", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AppServiceCertificateResource" - } - } + name: "Composite", + className: "Experiments" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + limits: { + serializedName: "properties.limits", + xmlName: "properties.limits", type: { - name: "String" + name: "Composite", + className: "SiteLimits" } - } - } - } -}; - -export const DetectorResponseCollection: msRest.CompositeMapper = { - serializedName: "DetectorResponseCollection", - type: { - name: "Composite", - className: "DetectorResponseCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + autoHealEnabled: { + serializedName: "properties.autoHealEnabled", + xmlName: "properties.autoHealEnabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DetectorResponse" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + autoHealRules: { + serializedName: "properties.autoHealRules", + xmlName: "properties.autoHealRules", + type: { + name: "Composite", + className: "AutoHealRules" + } + }, + tracingOptions: { + serializedName: "properties.tracingOptions", + xmlName: "properties.tracingOptions", type: { name: "String" } - } - } - } -}; - -export const CsmOperationCollection: msRest.CompositeMapper = { - serializedName: "CsmOperationCollection", - type: { - name: "Composite", - className: "CsmOperationCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + vnetName: { + serializedName: "properties.vnetName", + xmlName: "properties.vnetName", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "CsmOperationDescription" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + vnetRouteAllEnabled: { + serializedName: "properties.vnetRouteAllEnabled", + xmlName: "properties.vnetRouteAllEnabled", + type: { + name: "Boolean" + } + }, + vnetPrivatePortsCount: { + serializedName: "properties.vnetPrivatePortsCount", + xmlName: "properties.vnetPrivatePortsCount", + type: { + name: "Number" + } + }, + cors: { + serializedName: "properties.cors", + xmlName: "properties.cors", + type: { + name: "Composite", + className: "CorsSettings" + } + }, + push: { + serializedName: "properties.push", + xmlName: "properties.push", + type: { + name: "Composite", + className: "PushSettings" + } + }, + apiDefinition: { + serializedName: "properties.apiDefinition", + xmlName: "properties.apiDefinition", + type: { + name: "Composite", + className: "ApiDefinitionInfo" + } + }, + apiManagementConfig: { + serializedName: "properties.apiManagementConfig", + xmlName: "properties.apiManagementConfig", + type: { + name: "Composite", + className: "ApiManagementConfig" + } + }, + autoSwapSlotName: { + serializedName: "properties.autoSwapSlotName", + xmlName: "properties.autoSwapSlotName", type: { name: "String" } - } - } - } -}; - -export const DomainCollection: msRest.CompositeMapper = { - serializedName: "DomainCollection", - type: { - name: "Composite", - className: "DomainCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + localMySqlEnabled: { + serializedName: "properties.localMySqlEnabled", + xmlName: "properties.localMySqlEnabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Domain" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + managedServiceIdentityId: { + serializedName: "properties.managedServiceIdentityId", + xmlName: "properties.managedServiceIdentityId", + type: { + name: "Number" + } + }, + xManagedServiceIdentityId: { + serializedName: "properties.xManagedServiceIdentityId", + xmlName: "properties.xManagedServiceIdentityId", + type: { + name: "Number" + } + }, + keyVaultReferenceIdentity: { + serializedName: "properties.keyVaultReferenceIdentity", + xmlName: "properties.keyVaultReferenceIdentity", type: { name: "String" } - } - } - } -}; - -export const NameIdentifierCollection: msRest.CompositeMapper = { - serializedName: "NameIdentifierCollection", - type: { - name: "Composite", - className: "NameIdentifierCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + ipSecurityRestrictions: { + serializedName: "properties.ipSecurityRestrictions", + xmlName: "properties.ipSecurityRestrictions", + xmlElementName: "IpSecurityRestriction", type: { name: "Sequence", element: { type: { name: "Composite", - className: "NameIdentifier" + className: "IpSecurityRestriction" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const DomainOwnershipIdentifierCollection: msRest.CompositeMapper = { - serializedName: "DomainOwnershipIdentifierCollection", - type: { - name: "Composite", - className: "DomainOwnershipIdentifierCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + scmIpSecurityRestrictions: { + serializedName: "properties.scmIpSecurityRestrictions", + xmlName: "properties.scmIpSecurityRestrictions", + xmlElementName: "IpSecurityRestriction", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DomainOwnershipIdentifier" + className: "IpSecurityRestriction" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + scmIpSecurityRestrictionsUseMain: { + serializedName: "properties.scmIpSecurityRestrictionsUseMain", + xmlName: "properties.scmIpSecurityRestrictionsUseMain", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const TopLevelDomainCollection: msRest.CompositeMapper = { - serializedName: "TopLevelDomainCollection", - type: { - name: "Composite", - className: "TopLevelDomainCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + http20Enabled: { + defaultValue: true, + serializedName: "properties.http20Enabled", + xmlName: "properties.http20Enabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "TopLevelDomain" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + minTlsVersion: { + serializedName: "properties.minTlsVersion", + xmlName: "properties.minTlsVersion", type: { name: "String" } - } - } - } -}; - -export const TldLegalAgreementCollection: msRest.CompositeMapper = { - serializedName: "TldLegalAgreementCollection", - type: { - name: "Composite", - className: "TldLegalAgreementCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + scmMinTlsVersion: { + serializedName: "properties.scmMinTlsVersion", + xmlName: "properties.scmMinTlsVersion", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "TldLegalAgreement" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + ftpsState: { + serializedName: "properties.ftpsState", + xmlName: "properties.ftpsState", type: { name: "String" } - } - } - } -}; - -export const CertificateCollection: msRest.CompositeMapper = { - serializedName: "CertificateCollection", - type: { - name: "Composite", - className: "CertificateCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + preWarmedInstanceCount: { + constraints: { + InclusiveMaximum: 10, + InclusiveMinimum: 0 + }, + serializedName: "properties.preWarmedInstanceCount", + xmlName: "properties.preWarmedInstanceCount", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Certificate" - } - } + name: "Number" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + functionAppScaleLimit: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.functionAppScaleLimit", + xmlName: "properties.functionAppScaleLimit", + type: { + name: "Number" + } + }, + healthCheckPath: { + serializedName: "properties.healthCheckPath", + xmlName: "properties.healthCheckPath", type: { name: "String" } - } - } - } -}; - -export const DeletedWebAppCollection: msRest.CompositeMapper = { - serializedName: "DeletedWebAppCollection", - type: { - name: "Composite", - className: "DeletedWebAppCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + functionsRuntimeScaleMonitoringEnabled: { + serializedName: "properties.functionsRuntimeScaleMonitoringEnabled", + xmlName: "properties.functionsRuntimeScaleMonitoringEnabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DeletedSite" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + websiteTimeZone: { + serializedName: "properties.websiteTimeZone", + xmlName: "properties.websiteTimeZone", type: { name: "String" } - } - } - } -}; - -export const DiagnosticCategoryCollection: msRest.CompositeMapper = { - serializedName: "DiagnosticCategoryCollection", - type: { - name: "Composite", - className: "DiagnosticCategoryCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + minimumElasticInstanceCount: { + constraints: { + InclusiveMaximum: 20, + InclusiveMinimum: 0 + }, + serializedName: "properties.minimumElasticInstanceCount", + xmlName: "properties.minimumElasticInstanceCount", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DiagnosticCategory" - } + name: "Number" + } + }, + azureStorageAccounts: { + serializedName: "properties.azureStorageAccounts", + xmlName: "properties.azureStorageAccounts", + type: { + name: "Dictionary", + value: { + type: { name: "Composite", className: "AzureStorageInfoValue" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + xmlName: "properties.publicNetworkAccess", type: { name: "String" } @@ -16967,358 +18313,328 @@ export const DiagnosticCategoryCollection: msRest.CompositeMapper = { } }; -export const DiagnosticAnalysisCollection: msRest.CompositeMapper = { - serializedName: "DiagnosticAnalysisCollection", +export const SiteAuthSettings: coreClient.CompositeMapper = { + serializedName: "SiteAuthSettings", type: { name: "Composite", - className: "DiagnosticAnalysisCollection", + className: "SiteAuthSettings", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AnalysisDefinition" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + runtimeVersion: { + serializedName: "properties.runtimeVersion", + xmlName: "properties.runtimeVersion", type: { name: "String" } - } - } - } -}; - -export const DiagnosticDetectorCollection: msRest.CompositeMapper = { - serializedName: "DiagnosticDetectorCollection", - type: { - name: "Composite", - className: "DiagnosticDetectorCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + unauthenticatedClientAction: { + serializedName: "properties.unauthenticatedClientAction", + xmlName: "properties.unauthenticatedClientAction", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DetectorDefinition" - } - } + name: "Enum", + allowedValues: ["RedirectToLoginPage", "AllowAnonymous"] } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + tokenStoreEnabled: { + serializedName: "properties.tokenStoreEnabled", + xmlName: "properties.tokenStoreEnabled", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const ApplicationStackCollection: msRest.CompositeMapper = { - serializedName: "ApplicationStackCollection", - type: { - name: "Composite", - className: "ApplicationStackCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + allowedExternalRedirectUrls: { + serializedName: "properties.allowedExternalRedirectUrls", + xmlName: "properties.allowedExternalRedirectUrls", + xmlElementName: + "SiteAuthSettingsPropertiesAllowedExternalRedirectUrlsItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ApplicationStackResource" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + defaultProvider: { + serializedName: "properties.defaultProvider", + xmlName: "properties.defaultProvider", type: { - name: "String" + name: "Enum", + allowedValues: [ + "AzureActiveDirectory", + "Facebook", + "Google", + "MicrosoftAccount", + "Twitter", + "Github" + ] } - } - } - } -}; - -export const FunctionAppStackCollection: msRest.CompositeMapper = { - serializedName: "FunctionAppStackCollection", - type: { - name: "Composite", - className: "FunctionAppStackCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + tokenRefreshExtensionHours: { + serializedName: "properties.tokenRefreshExtensionHours", + xmlName: "properties.tokenRefreshExtensionHours", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FunctionAppStack" - } - } + name: "Number" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + clientId: { + serializedName: "properties.clientId", + xmlName: "properties.clientId", type: { name: "String" } - } - } - } -}; - -export const WebAppStackCollection: msRest.CompositeMapper = { - serializedName: "WebAppStackCollection", - type: { - name: "Composite", - className: "WebAppStackCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + clientSecret: { + serializedName: "properties.clientSecret", + xmlName: "properties.clientSecret", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "WebAppStack" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + clientSecretSettingName: { + serializedName: "properties.clientSecretSettingName", + xmlName: "properties.clientSecretSettingName", type: { name: "String" } - } - } - } -}; - -export const RecommendationCollection: msRest.CompositeMapper = { - serializedName: "RecommendationCollection", - type: { - name: "Composite", - className: "RecommendationCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + clientSecretCertificateThumbprint: { + serializedName: "properties.clientSecretCertificateThumbprint", + xmlName: "properties.clientSecretCertificateThumbprint", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Recommendation" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + issuer: { + serializedName: "properties.issuer", + xmlName: "properties.issuer", type: { name: "String" } - } - } - } -}; - -export const SourceControlCollection: msRest.CompositeMapper = { - serializedName: "SourceControlCollection", - type: { - name: "Composite", - className: "SourceControlCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + validateIssuer: { + serializedName: "properties.validateIssuer", + xmlName: "properties.validateIssuer", + type: { + name: "Boolean" + } + }, + allowedAudiences: { + serializedName: "properties.allowedAudiences", + xmlName: "properties.allowedAudiences", + xmlElementName: "SiteAuthSettingsPropertiesAllowedAudiencesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "SourceControl" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const BillingMeterCollection: msRest.CompositeMapper = { - serializedName: "BillingMeterCollection", - type: { - name: "Composite", - className: "BillingMeterCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + additionalLoginParams: { + serializedName: "properties.additionalLoginParams", + xmlName: "properties.additionalLoginParams", + xmlElementName: "SiteAuthSettingsPropertiesAdditionalLoginParamsItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "BillingMeter" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + aadClaimsAuthorization: { + serializedName: "properties.aadClaimsAuthorization", + xmlName: "properties.aadClaimsAuthorization", type: { name: "String" } - } - } - } -}; - -export const GeoRegionCollection: msRest.CompositeMapper = { - serializedName: "GeoRegionCollection", - type: { - name: "Composite", - className: "GeoRegionCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + googleClientId: { + serializedName: "properties.googleClientId", + xmlName: "properties.googleClientId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "GeoRegion" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + googleClientSecret: { + serializedName: "properties.googleClientSecret", + xmlName: "properties.googleClientSecret", type: { name: "String" } - } - } - } -}; - -export const IdentifierCollection: msRest.CompositeMapper = { - serializedName: "IdentifierCollection", - type: { - name: "Composite", - className: "IdentifierCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + googleClientSecretSettingName: { + serializedName: "properties.googleClientSecretSettingName", + xmlName: "properties.googleClientSecretSettingName", + type: { + name: "String" + } + }, + googleOAuthScopes: { + serializedName: "properties.googleOAuthScopes", + xmlName: "properties.googleOAuthScopes", + xmlElementName: "SiteAuthSettingsPropertiesGoogleOAuthScopesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "Identifier" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + facebookAppId: { + serializedName: "properties.facebookAppId", + xmlName: "properties.facebookAppId", type: { name: "String" } - } - } - } -}; - -export const PremierAddOnOfferCollection: msRest.CompositeMapper = { - serializedName: "PremierAddOnOfferCollection", - type: { - name: "Composite", - className: "PremierAddOnOfferCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + facebookAppSecret: { + serializedName: "properties.facebookAppSecret", + xmlName: "properties.facebookAppSecret", + type: { + name: "String" + } + }, + facebookAppSecretSettingName: { + serializedName: "properties.facebookAppSecretSettingName", + xmlName: "properties.facebookAppSecretSettingName", + type: { + name: "String" + } + }, + facebookOAuthScopes: { + serializedName: "properties.facebookOAuthScopes", + xmlName: "properties.facebookOAuthScopes", + xmlElementName: "SiteAuthSettingsPropertiesFacebookOAuthScopesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "PremierAddOnOffer" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + gitHubClientId: { + serializedName: "properties.gitHubClientId", + xmlName: "properties.gitHubClientId", type: { name: "String" } - } - } - } -}; - -export const WebAppCollection: msRest.CompositeMapper = { - serializedName: "WebAppCollection", - type: { - name: "Composite", - className: "WebAppCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + gitHubClientSecret: { + serializedName: "properties.gitHubClientSecret", + xmlName: "properties.gitHubClientSecret", + type: { + name: "String" + } + }, + gitHubClientSecretSettingName: { + serializedName: "properties.gitHubClientSecretSettingName", + xmlName: "properties.gitHubClientSecretSettingName", + type: { + name: "String" + } + }, + gitHubOAuthScopes: { + serializedName: "properties.gitHubOAuthScopes", + xmlName: "properties.gitHubOAuthScopes", + xmlElementName: "SiteAuthSettingsPropertiesGitHubOAuthScopesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "Site" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + twitterConsumerKey: { + serializedName: "properties.twitterConsumerKey", + xmlName: "properties.twitterConsumerKey", + type: { + name: "String" + } + }, + twitterConsumerSecret: { + serializedName: "properties.twitterConsumerSecret", + xmlName: "properties.twitterConsumerSecret", + type: { + name: "String" + } + }, + twitterConsumerSecretSettingName: { + serializedName: "properties.twitterConsumerSecretSettingName", + xmlName: "properties.twitterConsumerSecretSettingName", + type: { + name: "String" + } + }, + microsoftAccountClientId: { + serializedName: "properties.microsoftAccountClientId", + xmlName: "properties.microsoftAccountClientId", + type: { + name: "String" + } + }, + microsoftAccountClientSecret: { + serializedName: "properties.microsoftAccountClientSecret", + xmlName: "properties.microsoftAccountClientSecret", + type: { + name: "String" + } + }, + microsoftAccountClientSecretSettingName: { + serializedName: "properties.microsoftAccountClientSecretSettingName", + xmlName: "properties.microsoftAccountClientSecretSettingName", + type: { + name: "String" + } + }, + microsoftAccountOAuthScopes: { + serializedName: "properties.microsoftAccountOAuthScopes", + xmlName: "properties.microsoftAccountOAuthScopes", + xmlElementName: + "SiteAuthSettingsPropertiesMicrosoftAccountOAuthScopesItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + isAuthFromFile: { + serializedName: "properties.isAuthFromFile", + xmlName: "properties.isAuthFromFile", + type: { + name: "String" + } + }, + authFilePath: { + serializedName: "properties.authFilePath", + xmlName: "properties.authFilePath", + type: { + name: "String" + } + }, + configVersion: { + serializedName: "properties.configVersion", + xmlName: "properties.configVersion", type: { name: "String" } @@ -17327,28 +18643,52 @@ export const WebAppCollection: msRest.CompositeMapper = { } }; -export const BackupItemCollection: msRest.CompositeMapper = { - serializedName: "BackupItemCollection", +export const AzureActiveDirectoryRegistration: coreClient.CompositeMapper = { + serializedName: "AzureActiveDirectoryRegistration", type: { name: "Composite", - className: "BackupItemCollection", + className: "AzureActiveDirectoryRegistration", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + openIdIssuer: { + serializedName: "properties.openIdIssuer", + xmlName: "properties.openIdIssuer", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BackupItem" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + clientId: { + serializedName: "properties.clientId", + xmlName: "properties.clientId", + type: { + name: "String" + } + }, + clientSecretSettingName: { + serializedName: "properties.clientSecretSettingName", + xmlName: "properties.clientSecretSettingName", + type: { + name: "String" + } + }, + clientSecretCertificateThumbprint: { + serializedName: "properties.clientSecretCertificateThumbprint", + xmlName: "properties.clientSecretCertificateThumbprint", + type: { + name: "String" + } + }, + clientSecretCertificateSubjectAlternativeName: { + serializedName: + "properties.clientSecretCertificateSubjectAlternativeName", + xmlName: "properties.clientSecretCertificateSubjectAlternativeName", + type: { + name: "String" + } + }, + clientSecretCertificateIssuer: { + serializedName: "properties.clientSecretCertificateIssuer", + xmlName: "properties.clientSecretCertificateIssuer", type: { name: "String" } @@ -17357,118 +18697,133 @@ export const BackupItemCollection: msRest.CompositeMapper = { } }; -export const SiteConfigResourceCollection: msRest.CompositeMapper = { - serializedName: "SiteConfigResourceCollection", +export const AzureActiveDirectoryLogin: coreClient.CompositeMapper = { + serializedName: "AzureActiveDirectoryLogin", type: { name: "Composite", - className: "SiteConfigResourceCollection", + className: "AzureActiveDirectoryLogin", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + loginParameters: { + serializedName: "properties.loginParameters", + xmlName: "properties.loginParameters", + xmlElementName: + "AzureActiveDirectoryLoginPropertiesLoginParametersItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "SiteConfigResource" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + disableWWWAuthenticate: { + serializedName: "properties.disableWWWAuthenticate", + xmlName: "properties.disableWWWAuthenticate", type: { - name: "String" + name: "Boolean" } } } } }; -export const ApiKVReferenceCollection: msRest.CompositeMapper = { - serializedName: "ApiKVReferenceCollection", +export const AllowedPrincipals: coreClient.CompositeMapper = { + serializedName: "AllowedPrincipals", type: { name: "Composite", - className: "ApiKVReferenceCollection", + className: "AllowedPrincipals", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + groups: { + serializedName: "properties.groups", + xmlName: "properties.groups", + xmlElementName: "AllowedPrincipalsPropertiesGroupsItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ApiKVReference" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + identities: { + serializedName: "properties.identities", + xmlName: "properties.identities", + xmlElementName: "AllowedPrincipalsPropertiesIdentitiesItem", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const SiteConfigurationSnapshotInfoCollection: msRest.CompositeMapper = { - serializedName: "SiteConfigurationSnapshotInfoCollection", +export const AzureActiveDirectoryValidation: coreClient.CompositeMapper = { + serializedName: "AzureActiveDirectoryValidation", type: { name: "Composite", - className: "SiteConfigurationSnapshotInfoCollection", + className: "AzureActiveDirectoryValidation", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + jwtClaimChecks: { + serializedName: "properties.jwtClaimChecks", + xmlName: "properties.jwtClaimChecks", + type: { + name: "Composite", + className: "JwtClaimChecks" + } + }, + allowedAudiences: { + serializedName: "properties.allowedAudiences", + xmlName: "properties.allowedAudiences", + xmlElementName: + "AzureActiveDirectoryValidationPropertiesAllowedAudiencesItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "SiteConfigurationSnapshotInfo" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + defaultAuthorizationPolicy: { + serializedName: "properties.defaultAuthorizationPolicy", + xmlName: "properties.defaultAuthorizationPolicy", type: { - name: "String" + name: "Composite", + className: "DefaultAuthorizationPolicy" } } } } }; -export const ContinuousWebJobCollection: msRest.CompositeMapper = { - serializedName: "ContinuousWebJobCollection", +export const AppRegistration: coreClient.CompositeMapper = { + serializedName: "AppRegistration", type: { name: "Composite", - className: "ContinuousWebJobCollection", + className: "AppRegistration", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + appId: { + serializedName: "properties.appId", + xmlName: "properties.appId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ContinuousWebJob" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + appSecretSettingName: { + serializedName: "properties.appSecretSettingName", + xmlName: "properties.appSecretSettingName", type: { name: "String" } @@ -17477,28 +18832,1640 @@ export const ContinuousWebJobCollection: msRest.CompositeMapper = { } }; -export const DeploymentCollection: msRest.CompositeMapper = { - serializedName: "DeploymentCollection", +export const GitHub: coreClient.CompositeMapper = { + serializedName: "GitHub", type: { name: "Composite", - className: "DeploymentCollection", + className: "GitHub", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Deployment" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + registration: { + serializedName: "properties.registration", + xmlName: "properties.registration", + type: { + name: "Composite", + className: "ClientRegistration" + } + }, + login: { + serializedName: "properties.login", + xmlName: "properties.login", + type: { + name: "Composite", + className: "LoginScopes" + } + } + } + } +}; + +export const Google: coreClient.CompositeMapper = { + serializedName: "Google", + type: { + name: "Composite", + className: "Google", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", + type: { + name: "Boolean" + } + }, + registration: { + serializedName: "properties.registration", + xmlName: "properties.registration", + type: { + name: "Composite", + className: "ClientRegistration" + } + }, + login: { + serializedName: "properties.login", + xmlName: "properties.login", + type: { + name: "Composite", + className: "LoginScopes" + } + }, + validation: { + serializedName: "properties.validation", + xmlName: "properties.validation", + type: { + name: "Composite", + className: "AllowedAudiencesValidation" + } + } + } + } +}; + +export const Twitter: coreClient.CompositeMapper = { + serializedName: "Twitter", + type: { + name: "Composite", + className: "Twitter", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", + type: { + name: "Boolean" + } + }, + registration: { + serializedName: "properties.registration", + xmlName: "properties.registration", + type: { + name: "Composite", + className: "TwitterRegistration" + } + } + } + } +}; + +export const CustomOpenIdConnectProvider: coreClient.CompositeMapper = { + serializedName: "CustomOpenIdConnectProvider", + type: { + name: "Composite", + className: "CustomOpenIdConnectProvider", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", + type: { + name: "Boolean" + } + }, + registration: { + serializedName: "properties.registration", + xmlName: "properties.registration", + type: { + name: "Composite", + className: "OpenIdConnectRegistration" + } + }, + login: { + serializedName: "properties.login", + xmlName: "properties.login", + type: { + name: "Composite", + className: "OpenIdConnectLogin" + } + } + } + } +}; + +export const LegacyMicrosoftAccount: coreClient.CompositeMapper = { + serializedName: "LegacyMicrosoftAccount", + type: { + name: "Composite", + className: "LegacyMicrosoftAccount", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", + type: { + name: "Boolean" + } + }, + registration: { + serializedName: "properties.registration", + xmlName: "properties.registration", + type: { + name: "Composite", + className: "ClientRegistration" + } + }, + login: { + serializedName: "properties.login", + xmlName: "properties.login", + type: { + name: "Composite", + className: "LoginScopes" + } + }, + validation: { + serializedName: "properties.validation", + xmlName: "properties.validation", + type: { + name: "Composite", + className: "AllowedAudiencesValidation" + } + } + } + } +}; + +export const Apple: coreClient.CompositeMapper = { + serializedName: "Apple", + type: { + name: "Composite", + className: "Apple", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", + type: { + name: "Boolean" + } + }, + registration: { + serializedName: "properties.registration", + xmlName: "properties.registration", + type: { + name: "Composite", + className: "AppleRegistration" + } + }, + login: { + serializedName: "properties.login", + xmlName: "properties.login", + type: { + name: "Composite", + className: "LoginScopes" + } + } + } + } +}; + +export const AzureStaticWebApps: coreClient.CompositeMapper = { + serializedName: "AzureStaticWebApps", + type: { + name: "Composite", + className: "AzureStaticWebApps", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", + type: { + name: "Boolean" + } + }, + registration: { + serializedName: "properties.registration", + xmlName: "properties.registration", + type: { + name: "Composite", + className: "AzureStaticWebAppsRegistration" + } + } + } + } +}; + +export const BlobStorageTokenStore: coreClient.CompositeMapper = { + serializedName: "BlobStorageTokenStore", + type: { + name: "Composite", + className: "BlobStorageTokenStore", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + sasUrlSettingName: { + serializedName: "properties.sasUrlSettingName", + xmlName: "properties.sasUrlSettingName", + type: { + name: "String" + } + } + } + } +}; + +export const SiteAuthSettingsV2: coreClient.CompositeMapper = { + serializedName: "SiteAuthSettingsV2", + type: { + name: "Composite", + className: "SiteAuthSettingsV2", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + platform: { + serializedName: "properties.platform", + xmlName: "properties.platform", + type: { + name: "Composite", + className: "AuthPlatform" + } + }, + globalValidation: { + serializedName: "properties.globalValidation", + xmlName: "properties.globalValidation", + type: { + name: "Composite", + className: "GlobalValidation" + } + }, + identityProviders: { + serializedName: "properties.identityProviders", + xmlName: "properties.identityProviders", + type: { + name: "Composite", + className: "IdentityProviders" + } + }, + login: { + serializedName: "properties.login", + xmlName: "properties.login", + type: { + name: "Composite", + className: "Login" + } + }, + httpSettings: { + serializedName: "properties.httpSettings", + xmlName: "properties.httpSettings", + type: { + name: "Composite", + className: "HttpSettings" + } + } + } + } +}; + +export const AzureStoragePropertyDictionaryResource: coreClient.CompositeMapper = { + serializedName: "AzureStoragePropertyDictionaryResource", + type: { + name: "Composite", + className: "AzureStoragePropertyDictionaryResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + properties: { + serializedName: "properties", + xmlName: "properties", + type: { + name: "Dictionary", + value: { + type: { name: "Composite", className: "AzureStorageInfoValue" } + } + } + } + } + } +}; + +export const ApiKVReference: coreClient.CompositeMapper = { + serializedName: "ApiKVReference", + type: { + name: "Composite", + className: "ApiKVReference", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + reference: { + serializedName: "properties.reference", + xmlName: "properties.reference", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + xmlName: "properties.status", + type: { + name: "Enum", + allowedValues: [ + "Initialized", + "Resolved", + "InvalidSyntax", + "MSINotEnabled", + "VaultNotFound", + "SecretNotFound", + "SecretVersionNotFound", + "AccessToKeyVaultDenied", + "OtherReasons", + "FetchTimedOut", + "UnauthorizedClient" + ] + } + }, + vaultName: { + serializedName: "properties.vaultName", + xmlName: "properties.vaultName", + type: { + name: "String" + } + }, + secretName: { + serializedName: "properties.secretName", + xmlName: "properties.secretName", + type: { + name: "String" + } + }, + secretVersion: { + serializedName: "properties.secretVersion", + xmlName: "properties.secretVersion", + type: { + name: "String" + } + }, + identityType: { + serializedName: "properties.identityType", + xmlName: "properties.identityType", + type: { + name: "Composite", + className: "ManagedServiceIdentity" + } + }, + details: { + serializedName: "properties.details", + xmlName: "properties.details", + type: { + name: "String" + } + }, + source: { + defaultValue: "KeyVault", + isConstant: true, + serializedName: "properties.source", + type: { + name: "String" + } + }, + activeVersion: { + serializedName: "properties.activeVersion", + xmlName: "properties.activeVersion", + type: { + name: "String" + } + } + } + } +}; + +export const ConnectionStringDictionary: coreClient.CompositeMapper = { + serializedName: "ConnectionStringDictionary", + type: { + name: "Composite", + className: "ConnectionStringDictionary", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + properties: { + serializedName: "properties", + xmlName: "properties", + type: { + name: "Dictionary", + value: { + type: { name: "Composite", className: "ConnStringValueTypePair" } + } + } + } + } + } +}; + +export const SiteLogsConfig: coreClient.CompositeMapper = { + serializedName: "SiteLogsConfig", + type: { + name: "Composite", + className: "SiteLogsConfig", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + applicationLogs: { + serializedName: "properties.applicationLogs", + xmlName: "properties.applicationLogs", + type: { + name: "Composite", + className: "ApplicationLogsConfig" + } + }, + httpLogs: { + serializedName: "properties.httpLogs", + xmlName: "properties.httpLogs", + type: { + name: "Composite", + className: "HttpLogsConfig" + } + }, + failedRequestsTracing: { + serializedName: "properties.failedRequestsTracing", + xmlName: "properties.failedRequestsTracing", + type: { + name: "Composite", + className: "EnabledConfig" + } + }, + detailedErrorMessages: { + serializedName: "properties.detailedErrorMessages", + xmlName: "properties.detailedErrorMessages", + type: { + name: "Composite", + className: "EnabledConfig" + } + } + } + } +}; + +export const SlotConfigNamesResource: coreClient.CompositeMapper = { + serializedName: "SlotConfigNamesResource", + type: { + name: "Composite", + className: "SlotConfigNamesResource", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + connectionStringNames: { + serializedName: "properties.connectionStringNames", + xmlName: "properties.connectionStringNames", + xmlElementName: "SlotConfigNamesConnectionStringNamesItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + appSettingNames: { + serializedName: "properties.appSettingNames", + xmlName: "properties.appSettingNames", + xmlElementName: "SlotConfigNamesAppSettingNamesItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + azureStorageConfigNames: { + serializedName: "properties.azureStorageConfigNames", + xmlName: "properties.azureStorageConfigNames", + xmlElementName: "SlotConfigNamesAzureStorageConfigNamesItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const SiteConfigurationSnapshotInfo: coreClient.CompositeMapper = { + serializedName: "SiteConfigurationSnapshotInfo", + type: { + name: "Composite", + className: "SiteConfigurationSnapshotInfo", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + time: { + serializedName: "properties.time", + readOnly: true, + xmlName: "properties.time", + type: { + name: "DateTime" + } + }, + snapshotId: { + serializedName: "properties.snapshotId", + readOnly: true, + xmlName: "properties.snapshotId", + type: { + name: "Number" + } + } + } + } +}; + +export const ContinuousWebJob: coreClient.CompositeMapper = { + serializedName: "ContinuousWebJob", + type: { + name: "Composite", + className: "ContinuousWebJob", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + status: { + serializedName: "properties.status", + xmlName: "properties.status", + type: { + name: "Enum", + allowedValues: [ + "Initializing", + "Starting", + "Running", + "PendingRestart", + "Stopped" + ] + } + }, + detailedStatus: { + serializedName: "properties.detailed_status", + xmlName: "properties.detailed_status", + type: { + name: "String" + } + }, + logUrl: { + serializedName: "properties.log_url", + xmlName: "properties.log_url", + type: { + name: "String" + } + }, + runCommand: { + serializedName: "properties.run_command", + xmlName: "properties.run_command", + type: { + name: "String" + } + }, + url: { + serializedName: "properties.url", + xmlName: "properties.url", + type: { + name: "String" + } + }, + extraInfoUrl: { + serializedName: "properties.extra_info_url", + xmlName: "properties.extra_info_url", + type: { + name: "String" + } + }, + webJobType: { + serializedName: "properties.web_job_type", + xmlName: "properties.web_job_type", + type: { + name: "Enum", + allowedValues: ["Continuous", "Triggered"] + } + }, + error: { + serializedName: "properties.error", + xmlName: "properties.error", + type: { + name: "String" + } + }, + usingSdk: { + serializedName: "properties.using_sdk", + xmlName: "properties.using_sdk", + type: { + name: "Boolean" + } + }, + settings: { + serializedName: "properties.settings", + xmlName: "properties.settings", + type: { + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + } + } + } + } +}; + +export const Deployment: coreClient.CompositeMapper = { + serializedName: "Deployment", + type: { + name: "Composite", + className: "Deployment", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + status: { + serializedName: "properties.status", + xmlName: "properties.status", + type: { + name: "Number" + } + }, + message: { + serializedName: "properties.message", + xmlName: "properties.message", + type: { + name: "String" + } + }, + author: { + serializedName: "properties.author", + xmlName: "properties.author", + type: { + name: "String" + } + }, + deployer: { + serializedName: "properties.deployer", + xmlName: "properties.deployer", + type: { + name: "String" + } + }, + authorEmail: { + serializedName: "properties.author_email", + xmlName: "properties.author_email", + type: { + name: "String" + } + }, + startTime: { + serializedName: "properties.start_time", + xmlName: "properties.start_time", + type: { + name: "DateTime" + } + }, + endTime: { + serializedName: "properties.end_time", + xmlName: "properties.end_time", + type: { + name: "DateTime" + } + }, + active: { + serializedName: "properties.active", + xmlName: "properties.active", + type: { + name: "Boolean" + } + }, + details: { + serializedName: "properties.details", + xmlName: "properties.details", + type: { + name: "String" + } + } + } + } +}; + +export const MSDeployStatus: coreClient.CompositeMapper = { + serializedName: "MSDeployStatus", + type: { + name: "Composite", + className: "MSDeployStatus", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + deployer: { + serializedName: "properties.deployer", + readOnly: true, + xmlName: "properties.deployer", + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + xmlName: "properties.provisioningState", + type: { + name: "Enum", + allowedValues: [ + "accepted", + "running", + "succeeded", + "failed", + "canceled" + ] + } + }, + startTime: { + serializedName: "properties.startTime", + readOnly: true, + xmlName: "properties.startTime", + type: { + name: "DateTime" + } + }, + endTime: { + serializedName: "properties.endTime", + readOnly: true, + xmlName: "properties.endTime", + type: { + name: "DateTime" + } + }, + complete: { + serializedName: "properties.complete", + readOnly: true, + xmlName: "properties.complete", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MSDeploy: coreClient.CompositeMapper = { + serializedName: "MSDeploy", + type: { + name: "Composite", + className: "MSDeploy", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + packageUri: { + serializedName: "properties.packageUri", + xmlName: "properties.packageUri", + type: { + name: "String" + } + }, + connectionString: { + serializedName: "properties.connectionString", + xmlName: "properties.connectionString", + type: { + name: "String" + } + }, + dbType: { + serializedName: "properties.dbType", + xmlName: "properties.dbType", + type: { + name: "String" + } + }, + setParametersXmlFileUri: { + serializedName: "properties.setParametersXmlFileUri", + xmlName: "properties.setParametersXmlFileUri", + type: { + name: "String" + } + }, + setParameters: { + serializedName: "properties.setParameters", + xmlName: "properties.setParameters", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + skipAppData: { + serializedName: "properties.skipAppData", + xmlName: "properties.skipAppData", + type: { + name: "Boolean" + } + }, + appOffline: { + serializedName: "properties.appOffline", + xmlName: "properties.appOffline", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MSDeployLog: coreClient.CompositeMapper = { + serializedName: "MSDeployLog", + type: { + name: "Composite", + className: "MSDeployLog", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + entries: { + serializedName: "properties.entries", + readOnly: true, + xmlName: "properties.entries", + xmlElementName: "MSDeployLogEntry", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MSDeployLogEntry" + } + } + } + } + } + } +}; + +export const FunctionEnvelope: coreClient.CompositeMapper = { + serializedName: "FunctionEnvelope", + type: { + name: "Composite", + className: "FunctionEnvelope", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + functionAppId: { + serializedName: "properties.function_app_id", + xmlName: "properties.function_app_id", + type: { + name: "String" + } + }, + scriptRootPathHref: { + serializedName: "properties.script_root_path_href", + xmlName: "properties.script_root_path_href", + type: { + name: "String" + } + }, + scriptHref: { + serializedName: "properties.script_href", + xmlName: "properties.script_href", + type: { + name: "String" + } + }, + configHref: { + serializedName: "properties.config_href", + xmlName: "properties.config_href", + type: { + name: "String" + } + }, + testDataHref: { + serializedName: "properties.test_data_href", + xmlName: "properties.test_data_href", + type: { + name: "String" + } + }, + secretsFileHref: { + serializedName: "properties.secrets_file_href", + xmlName: "properties.secrets_file_href", + type: { + name: "String" + } + }, + href: { + serializedName: "properties.href", + xmlName: "properties.href", + type: { + name: "String" + } + }, + config: { + serializedName: "properties.config", + xmlName: "properties.config", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + }, + files: { + serializedName: "properties.files", + xmlName: "properties.files", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + testData: { + serializedName: "properties.test_data", + xmlName: "properties.test_data", + type: { + name: "String" + } + }, + invokeUrlTemplate: { + serializedName: "properties.invoke_url_template", + xmlName: "properties.invoke_url_template", + type: { + name: "String" + } + }, + language: { + serializedName: "properties.language", + xmlName: "properties.language", + type: { + name: "String" + } + }, + isDisabled: { + serializedName: "properties.isDisabled", + xmlName: "properties.isDisabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const HostNameBinding: coreClient.CompositeMapper = { + serializedName: "HostNameBinding", + type: { + name: "Composite", + className: "HostNameBinding", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + siteName: { + serializedName: "properties.siteName", + xmlName: "properties.siteName", + type: { + name: "String" + } + }, + domainId: { + serializedName: "properties.domainId", + xmlName: "properties.domainId", + type: { + name: "String" + } + }, + azureResourceName: { + serializedName: "properties.azureResourceName", + xmlName: "properties.azureResourceName", + type: { + name: "String" + } + }, + azureResourceType: { + serializedName: "properties.azureResourceType", + xmlName: "properties.azureResourceType", + type: { + name: "Enum", + allowedValues: ["Website", "TrafficManager"] + } + }, + customHostNameDnsRecordType: { + serializedName: "properties.customHostNameDnsRecordType", + xmlName: "properties.customHostNameDnsRecordType", + type: { + name: "Enum", + allowedValues: ["CName", "A"] + } + }, + hostNameType: { + serializedName: "properties.hostNameType", + xmlName: "properties.hostNameType", + type: { + name: "Enum", + allowedValues: ["Verified", "Managed"] + } + }, + sslState: { + serializedName: "properties.sslState", + xmlName: "properties.sslState", + type: { + name: "Enum", + allowedValues: ["Disabled", "SniEnabled", "IpBasedEnabled"] + } + }, + thumbprint: { + serializedName: "properties.thumbprint", + xmlName: "properties.thumbprint", + type: { + name: "String" + } + }, + virtualIP: { + serializedName: "properties.virtualIP", + readOnly: true, + xmlName: "properties.virtualIP", + type: { + name: "String" + } + } + } + } +}; + +export const RelayServiceConnectionEntity: coreClient.CompositeMapper = { + serializedName: "RelayServiceConnectionEntity", + type: { + name: "Composite", + className: "RelayServiceConnectionEntity", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + entityName: { + serializedName: "properties.entityName", + xmlName: "properties.entityName", + type: { + name: "String" + } + }, + entityConnectionString: { + serializedName: "properties.entityConnectionString", + xmlName: "properties.entityConnectionString", + type: { + name: "String" + } + }, + resourceType: { + serializedName: "properties.resourceType", + xmlName: "properties.resourceType", + type: { + name: "String" + } + }, + resourceConnectionString: { + serializedName: "properties.resourceConnectionString", + xmlName: "properties.resourceConnectionString", + type: { + name: "String" + } + }, + hostname: { + serializedName: "properties.hostname", + xmlName: "properties.hostname", + type: { + name: "String" + } + }, + port: { + serializedName: "properties.port", + xmlName: "properties.port", + type: { + name: "Number" + } + }, + biztalkUri: { + serializedName: "properties.biztalkUri", + xmlName: "properties.biztalkUri", + type: { + name: "String" + } + } + } + } +}; + +export const WebSiteInstanceStatus: coreClient.CompositeMapper = { + serializedName: "WebSiteInstanceStatus", + type: { + name: "Composite", + className: "WebSiteInstanceStatus", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + state: { + serializedName: "properties.state", + xmlName: "properties.state", + type: { + name: "Enum", + allowedValues: ["READY", "STOPPED", "UNKNOWN"] + } + }, + statusUrl: { + serializedName: "properties.statusUrl", + xmlName: "properties.statusUrl", + type: { + name: "String" + } + }, + detectorUrl: { + serializedName: "properties.detectorUrl", + xmlName: "properties.detectorUrl", + type: { + name: "String" + } + }, + consoleUrl: { + serializedName: "properties.consoleUrl", + xmlName: "properties.consoleUrl", + type: { + name: "String" + } + }, + healthCheckUrl: { + serializedName: "properties.healthCheckUrl", + xmlName: "properties.healthCheckUrl", + type: { + name: "String" + } + }, + containers: { + serializedName: "properties.containers", + xmlName: "properties.containers", + type: { + name: "Dictionary", + value: { type: { name: "Composite", className: "ContainerInfo" } } + } + } + } + } +}; + +export const ProcessThreadInfo: coreClient.CompositeMapper = { + serializedName: "ProcessThreadInfo", + type: { + name: "Composite", + className: "ProcessThreadInfo", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + identifier: { + serializedName: "properties.identifier", + readOnly: true, + xmlName: "properties.identifier", + type: { + name: "Number" + } + }, + href: { + serializedName: "properties.href", + xmlName: "properties.href", + type: { + name: "String" + } + }, + process: { + serializedName: "properties.process", + xmlName: "properties.process", + type: { + name: "String" + } + }, + startAddress: { + serializedName: "properties.start_address", + xmlName: "properties.start_address", + type: { + name: "String" + } + }, + currentPriority: { + serializedName: "properties.current_priority", + xmlName: "properties.current_priority", + type: { + name: "Number" + } + }, + priorityLevel: { + serializedName: "properties.priority_level", + xmlName: "properties.priority_level", + type: { + name: "String" + } + }, + basePriority: { + serializedName: "properties.base_priority", + xmlName: "properties.base_priority", + type: { + name: "Number" + } + }, + startTime: { + serializedName: "properties.start_time", + xmlName: "properties.start_time", + type: { + name: "DateTime" + } + }, + totalProcessorTime: { + serializedName: "properties.total_processor_time", + xmlName: "properties.total_processor_time", + type: { + name: "String" + } + }, + userProcessorTime: { + serializedName: "properties.user_processor_time", + xmlName: "properties.user_processor_time", + type: { + name: "String" + } + }, + state: { + serializedName: "properties.state", + xmlName: "properties.state", + type: { + name: "String" + } + }, + waitReason: { + serializedName: "properties.wait_reason", + xmlName: "properties.wait_reason", + type: { + name: "String" + } + } + } + } +}; + +export const ProcessModuleInfo: coreClient.CompositeMapper = { + serializedName: "ProcessModuleInfo", + type: { + name: "Composite", + className: "ProcessModuleInfo", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + baseAddress: { + serializedName: "properties.base_address", + xmlName: "properties.base_address", + type: { + name: "String" + } + }, + fileName: { + serializedName: "properties.file_name", + xmlName: "properties.file_name", + type: { + name: "String" + } + }, + href: { + serializedName: "properties.href", + xmlName: "properties.href", + type: { + name: "String" + } + }, + filePath: { + serializedName: "properties.file_path", + xmlName: "properties.file_path", + type: { + name: "String" + } + }, + moduleMemorySize: { + serializedName: "properties.module_memory_size", + xmlName: "properties.module_memory_size", + type: { + name: "Number" + } + }, + fileVersion: { + serializedName: "properties.file_version", + xmlName: "properties.file_version", + type: { + name: "String" + } + }, + fileDescription: { + serializedName: "properties.file_description", + xmlName: "properties.file_description", + type: { + name: "String" + } + }, + product: { + serializedName: "properties.product", + xmlName: "properties.product", + type: { + name: "String" + } + }, + productVersion: { + serializedName: "properties.product_version", + xmlName: "properties.product_version", + type: { + name: "String" + } + }, + isDebug: { + serializedName: "properties.is_debug", + xmlName: "properties.is_debug", + type: { + name: "Boolean" + } + }, + language: { + serializedName: "properties.language", + xmlName: "properties.language", + type: { + name: "String" + } + } + } + } +}; + +export const ProcessInfo: coreClient.CompositeMapper = { + serializedName: "ProcessInfo", + type: { + name: "Composite", + className: "ProcessInfo", + modelProperties: { + ...ProxyOnlyResource.type.modelProperties, + identifier: { + serializedName: "properties.identifier", + readOnly: true, + xmlName: "properties.identifier", + type: { + name: "Number" + } + }, + deploymentName: { + serializedName: "properties.deployment_name", + xmlName: "properties.deployment_name", + type: { + name: "String" + } + }, + href: { + serializedName: "properties.href", + xmlName: "properties.href", + type: { + name: "String" + } + }, + minidump: { + serializedName: "properties.minidump", + xmlName: "properties.minidump", + type: { + name: "String" + } + }, + isProfileRunning: { + serializedName: "properties.is_profile_running", + xmlName: "properties.is_profile_running", + type: { + name: "Boolean" + } + }, + isIisProfileRunning: { + serializedName: "properties.is_iis_profile_running", + xmlName: "properties.is_iis_profile_running", + type: { + name: "Boolean" + } + }, + iisProfileTimeoutInSeconds: { + serializedName: "properties.iis_profile_timeout_in_seconds", + xmlName: "properties.iis_profile_timeout_in_seconds", + type: { + name: "Number" + } + }, + parent: { + serializedName: "properties.parent", + xmlName: "properties.parent", + type: { + name: "String" + } + }, + children: { + serializedName: "properties.children", + xmlName: "properties.children", + xmlElementName: "ProcessInfoPropertiesChildrenItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + threads: { + serializedName: "properties.threads", + xmlName: "properties.threads", + xmlElementName: "ProcessThreadInfo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProcessThreadInfo" + } + } + } + }, + openFileHandles: { + serializedName: "properties.open_file_handles", + xmlName: "properties.open_file_handles", + xmlElementName: "ProcessInfoPropertiesOpenFileHandlesItem", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + modules: { + serializedName: "properties.modules", + xmlName: "properties.modules", + xmlElementName: "ProcessModuleInfo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProcessModuleInfo" + } + } + } + }, + fileName: { + serializedName: "properties.file_name", + xmlName: "properties.file_name", + type: { + name: "String" + } + }, + commandLine: { + serializedName: "properties.command_line", + xmlName: "properties.command_line", + type: { + name: "String" + } + }, + userName: { + serializedName: "properties.user_name", + xmlName: "properties.user_name", + type: { + name: "String" + } + }, + handleCount: { + serializedName: "properties.handle_count", + xmlName: "properties.handle_count", + type: { + name: "Number" + } + }, + moduleCount: { + serializedName: "properties.module_count", + xmlName: "properties.module_count", + type: { + name: "Number" + } + }, + threadCount: { + serializedName: "properties.thread_count", + xmlName: "properties.thread_count", + type: { + name: "Number" + } + }, + startTime: { + serializedName: "properties.start_time", + xmlName: "properties.start_time", + type: { + name: "DateTime" + } + }, + totalCpuTime: { + serializedName: "properties.total_cpu_time", + xmlName: "properties.total_cpu_time", + type: { + name: "String" + } + }, + userCpuTime: { + serializedName: "properties.user_cpu_time", + xmlName: "properties.user_cpu_time", + type: { + name: "String" + } + }, + privilegedCpuTime: { + serializedName: "properties.privileged_cpu_time", + xmlName: "properties.privileged_cpu_time", + type: { + name: "String" + } + }, + workingSet: { + serializedName: "properties.working_set", + xmlName: "properties.working_set", + type: { + name: "Number" + } + }, + peakWorkingSet: { + serializedName: "properties.peak_working_set", + xmlName: "properties.peak_working_set", + type: { + name: "Number" + } + }, + privateMemory: { + serializedName: "properties.private_memory", + xmlName: "properties.private_memory", + type: { + name: "Number" + } + }, + virtualMemory: { + serializedName: "properties.virtual_memory", + xmlName: "properties.virtual_memory", + type: { + name: "Number" + } + }, + peakVirtualMemory: { + serializedName: "properties.peak_virtual_memory", + xmlName: "properties.peak_virtual_memory", + type: { + name: "Number" + } + }, + pagedSystemMemory: { + serializedName: "properties.paged_system_memory", + xmlName: "properties.paged_system_memory", + type: { + name: "Number" + } + }, + nonPagedSystemMemory: { + serializedName: "properties.non_paged_system_memory", + xmlName: "properties.non_paged_system_memory", + type: { + name: "Number" + } + }, + pagedMemory: { + serializedName: "properties.paged_memory", + xmlName: "properties.paged_memory", + type: { + name: "Number" + } + }, + peakPagedMemory: { + serializedName: "properties.peak_paged_memory", + xmlName: "properties.peak_paged_memory", + type: { + name: "Number" + } + }, + timeStamp: { + serializedName: "properties.time_stamp", + xmlName: "properties.time_stamp", + type: { + name: "DateTime" + } + }, + environmentVariables: { + serializedName: "properties.environment_variables", + xmlName: "properties.environment_variables", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + isScmSite: { + serializedName: "properties.is_scm_site", + xmlName: "properties.is_scm_site", + type: { + name: "Boolean" + } + }, + isWebjob: { + serializedName: "properties.is_webjob", + xmlName: "properties.is_webjob", + type: { + name: "Boolean" + } + }, + description: { + serializedName: "properties.description", + xmlName: "properties.description", type: { name: "String" } @@ -17507,88 +20474,56 @@ export const DeploymentCollection: msRest.CompositeMapper = { } }; -export const FunctionEnvelopeCollection: msRest.CompositeMapper = { - serializedName: "FunctionEnvelopeCollection", +export const StorageMigrationOptions: coreClient.CompositeMapper = { + serializedName: "StorageMigrationOptions", type: { name: "Composite", - className: "FunctionEnvelopeCollection", + className: "StorageMigrationOptions", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + azurefilesConnectionString: { + serializedName: "properties.azurefilesConnectionString", + xmlName: "properties.azurefilesConnectionString", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FunctionEnvelope" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + azurefilesShare: { + serializedName: "properties.azurefilesShare", + xmlName: "properties.azurefilesShare", type: { name: "String" } - } - } - } -}; - -export const HostNameBindingCollection: msRest.CompositeMapper = { - serializedName: "HostNameBindingCollection", - type: { - name: "Composite", - className: "HostNameBindingCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + switchSiteAfterMigration: { + serializedName: "properties.switchSiteAfterMigration", + xmlName: "properties.switchSiteAfterMigration", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HostNameBinding" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + blockWriteAccessToSite: { + serializedName: "properties.blockWriteAccessToSite", + xmlName: "properties.blockWriteAccessToSite", type: { - name: "String" + name: "Boolean" } } } } }; -export const WebAppInstanceStatusCollection: msRest.CompositeMapper = { - serializedName: "WebAppInstanceStatusCollection", +export const StorageMigrationResponse: coreClient.CompositeMapper = { + serializedName: "StorageMigrationResponse", type: { name: "Composite", - className: "WebAppInstanceStatusCollection", + className: "StorageMigrationResponse", modelProperties: { - value: { - required: true, - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "WebSiteInstanceStatus" - } - } - } - }, - nextLink: { + ...ProxyOnlyResource.type.modelProperties, + operationId: { + serializedName: "properties.operationId", readOnly: true, - serializedName: "nextLink", + xmlName: "properties.operationId", type: { name: "String" } @@ -17597,208 +20532,187 @@ export const WebAppInstanceStatusCollection: msRest.CompositeMapper = { } }; -export const ProcessInfoCollection: msRest.CompositeMapper = { - serializedName: "ProcessInfoCollection", +export const MigrateMySqlRequest: coreClient.CompositeMapper = { + serializedName: "MigrateMySqlRequest", type: { name: "Composite", - className: "ProcessInfoCollection", + className: "MigrateMySqlRequest", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + connectionString: { + serializedName: "properties.connectionString", + xmlName: "properties.connectionString", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProcessInfo" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + migrationType: { + serializedName: "properties.migrationType", + xmlName: "properties.migrationType", type: { - name: "String" + name: "Enum", + allowedValues: ["LocalToRemote", "RemoteToLocal"] } } } } }; -export const ProcessModuleInfoCollection: msRest.CompositeMapper = { - serializedName: "ProcessModuleInfoCollection", +export const MigrateMySqlStatus: coreClient.CompositeMapper = { + serializedName: "MigrateMySqlStatus", type: { name: "Composite", - className: "ProcessModuleInfoCollection", + className: "MigrateMySqlStatus", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + migrationOperationStatus: { + serializedName: "properties.migrationOperationStatus", + readOnly: true, + xmlName: "properties.migrationOperationStatus", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProcessModuleInfo" - } - } + name: "Enum", + allowedValues: [ + "InProgress", + "Failed", + "Succeeded", + "TimedOut", + "Created" + ] } }, - nextLink: { + operationId: { + serializedName: "properties.operationId", readOnly: true, - serializedName: "nextLink", + xmlName: "properties.operationId", type: { name: "String" } + }, + localMySqlEnabled: { + serializedName: "properties.localMySqlEnabled", + readOnly: true, + xmlName: "properties.localMySqlEnabled", + type: { + name: "Boolean" + } } } } }; -export const ProcessThreadInfoCollection: msRest.CompositeMapper = { - serializedName: "ProcessThreadInfoCollection", +export const SwiftVirtualNetwork: coreClient.CompositeMapper = { + serializedName: "SwiftVirtualNetwork", type: { name: "Composite", - className: "ProcessThreadInfoCollection", + className: "SwiftVirtualNetwork", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + subnetResourceId: { + serializedName: "properties.subnetResourceId", + xmlName: "properties.subnetResourceId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProcessThreadInfo" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + swiftSupported: { + serializedName: "properties.swiftSupported", + xmlName: "properties.swiftSupported", type: { - name: "String" + name: "Boolean" } } } } }; -export const PerfMonCounterCollection: msRest.CompositeMapper = { - serializedName: "PerfMonCounterCollection", +export const NetworkFeatures: coreClient.CompositeMapper = { + serializedName: "NetworkFeatures", type: { name: "Composite", - className: "PerfMonCounterCollection", + className: "NetworkFeatures", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + virtualNetworkName: { + serializedName: "properties.virtualNetworkName", + readOnly: true, + xmlName: "properties.virtualNetworkName", + type: { + name: "String" + } + }, + virtualNetworkConnection: { + serializedName: "properties.virtualNetworkConnection", + xmlName: "properties.virtualNetworkConnection", + type: { + name: "Composite", + className: "VnetInfo" + } + }, + hybridConnections: { + serializedName: "properties.hybridConnections", + readOnly: true, + xmlName: "properties.hybridConnections", + xmlElementName: "RelayServiceConnectionEntity", type: { name: "Sequence", element: { type: { name: "Composite", - className: "PerfMonResponse" + className: "RelayServiceConnectionEntity" } } } }, - nextLink: { + hybridConnectionsV2: { + serializedName: "properties.hybridConnectionsV2", readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const PrivateEndpointConnectionCollection: msRest.CompositeMapper = { - serializedName: "PrivateEndpointConnectionCollection", - type: { - name: "Composite", - className: "PrivateEndpointConnectionCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + xmlName: "properties.hybridConnectionsV2", + xmlElementName: "HybridConnection", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RemotePrivateEndpointConnectionARMResource" + className: "HybridConnection" } } } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } } } } }; -export const PublicCertificateCollection: msRest.CompositeMapper = { - serializedName: "PublicCertificateCollection", +export const SitePhpErrorLogFlag: coreClient.CompositeMapper = { + serializedName: "SitePhpErrorLogFlag", type: { name: "Composite", - className: "PublicCertificateCollection", + className: "SitePhpErrorLogFlag", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + localLogErrors: { + serializedName: "properties.localLogErrors", + xmlName: "properties.localLogErrors", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PublicCertificate" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + masterLogErrors: { + serializedName: "properties.masterLogErrors", + xmlName: "properties.masterLogErrors", type: { name: "String" } - } - } - } -}; - -export const SiteExtensionInfoCollection: msRest.CompositeMapper = { - serializedName: "SiteExtensionInfoCollection", - type: { - name: "Composite", - className: "SiteExtensionInfoCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + localLogErrorsMaxLength: { + serializedName: "properties.localLogErrorsMaxLength", + xmlName: "properties.localLogErrorsMaxLength", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SiteExtensionInfo" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + masterLogErrorsMaxLength: { + serializedName: "properties.masterLogErrorsMaxLength", + xmlName: "properties.masterLogErrorsMaxLength", type: { name: "String" } @@ -17807,58 +20721,44 @@ export const SiteExtensionInfoCollection: msRest.CompositeMapper = { } }; -export const SlotDifferenceCollection: msRest.CompositeMapper = { - serializedName: "SlotDifferenceCollection", +export const PremierAddOnPatchResource: coreClient.CompositeMapper = { + serializedName: "PremierAddOnPatchResource", type: { name: "Composite", - className: "SlotDifferenceCollection", + className: "PremierAddOnPatchResource", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + sku: { + serializedName: "properties.sku", + xmlName: "properties.sku", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SlotDifference" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + product: { + serializedName: "properties.product", + xmlName: "properties.product", type: { name: "String" } - } - } - } -}; - -export const SnapshotCollection: msRest.CompositeMapper = { - serializedName: "SnapshotCollection", - type: { - name: "Composite", - className: "SnapshotCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + vendor: { + serializedName: "properties.vendor", + xmlName: "properties.vendor", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Snapshot" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + marketplacePublisher: { + serializedName: "properties.marketplacePublisher", + xmlName: "properties.marketplacePublisher", + type: { + name: "String" + } + }, + marketplaceOffer: { + serializedName: "properties.marketplaceOffer", + xmlName: "properties.marketplaceOffer", type: { name: "String" } @@ -17867,58 +20767,64 @@ export const SnapshotCollection: msRest.CompositeMapper = { } }; -export const TriggeredWebJobCollection: msRest.CompositeMapper = { - serializedName: "TriggeredWebJobCollection", +export const PrivateAccess: coreClient.CompositeMapper = { + serializedName: "PrivateAccess", type: { name: "Composite", - className: "TriggeredWebJobCollection", + className: "PrivateAccess", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + enabled: { + serializedName: "properties.enabled", + xmlName: "properties.enabled", + type: { + name: "Boolean" + } + }, + virtualNetworks: { + serializedName: "properties.virtualNetworks", + xmlName: "properties.virtualNetworks", + xmlElementName: "PrivateAccessVirtualNetwork", type: { name: "Sequence", element: { type: { name: "Composite", - className: "TriggeredWebJob" + className: "PrivateAccessVirtualNetwork" } } } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } } } } }; -export const TriggeredJobHistoryCollection: msRest.CompositeMapper = { - serializedName: "TriggeredJobHistoryCollection", +export const PublicCertificate: coreClient.CompositeMapper = { + serializedName: "PublicCertificate", type: { name: "Composite", - className: "TriggeredJobHistoryCollection", + className: "PublicCertificate", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + blob: { + serializedName: "properties.blob", + xmlName: "properties.blob", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "TriggeredJobHistory" - } - } + name: "ByteArray" } }, - nextLink: { + publicCertificateLocation: { + serializedName: "properties.publicCertificateLocation", + xmlName: "properties.publicCertificateLocation", + type: { + name: "Enum", + allowedValues: ["CurrentUserMy", "LocalMachineMy", "Unknown"] + } + }, + thumbprint: { + serializedName: "properties.thumbprint", readOnly: true, - serializedName: "nextLink", + xmlName: "properties.thumbprint", type: { name: "String" } @@ -17927,298 +20833,249 @@ export const TriggeredJobHistoryCollection: msRest.CompositeMapper = { } }; -export const CsmUsageQuotaCollection: msRest.CompositeMapper = { - serializedName: "CsmUsageQuotaCollection", +export const DeletedAppRestoreRequest: coreClient.CompositeMapper = { + serializedName: "DeletedAppRestoreRequest", type: { name: "Composite", - className: "CsmUsageQuotaCollection", + className: "DeletedAppRestoreRequest", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + deletedSiteId: { + serializedName: "properties.deletedSiteId", + xmlName: "properties.deletedSiteId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "CsmUsageQuota" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + recoverConfiguration: { + serializedName: "properties.recoverConfiguration", + xmlName: "properties.recoverConfiguration", + type: { + name: "Boolean" + } + }, + snapshotTime: { + serializedName: "properties.snapshotTime", + xmlName: "properties.snapshotTime", type: { name: "String" } + }, + useDRSecondary: { + serializedName: "properties.useDRSecondary", + xmlName: "properties.useDRSecondary", + type: { + name: "Boolean" + } } } } }; -export const WebJobCollection: msRest.CompositeMapper = { - serializedName: "WebJobCollection", +export const SnapshotRestoreRequest: coreClient.CompositeMapper = { + serializedName: "SnapshotRestoreRequest", type: { name: "Composite", - className: "WebJobCollection", + className: "SnapshotRestoreRequest", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + snapshotTime: { + serializedName: "properties.snapshotTime", + xmlName: "properties.snapshotTime", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "WebJob" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + recoverySource: { + serializedName: "properties.recoverySource", + xmlName: "properties.recoverySource", type: { - name: "String" + name: "Composite", + className: "SnapshotRecoverySource" + } + }, + overwrite: { + serializedName: "properties.overwrite", + xmlName: "properties.overwrite", + type: { + name: "Boolean" + } + }, + recoverConfiguration: { + serializedName: "properties.recoverConfiguration", + xmlName: "properties.recoverConfiguration", + type: { + name: "Boolean" + } + }, + ignoreConflictingHostNames: { + serializedName: "properties.ignoreConflictingHostNames", + xmlName: "properties.ignoreConflictingHostNames", + type: { + name: "Boolean" + } + }, + useDRSecondary: { + serializedName: "properties.useDRSecondary", + xmlName: "properties.useDRSecondary", + type: { + name: "Boolean" } } } } }; -export const StaticSiteCollection: msRest.CompositeMapper = { - serializedName: "StaticSiteCollection", +export const SiteExtensionInfo: coreClient.CompositeMapper = { + serializedName: "SiteExtensionInfo", type: { name: "Composite", - className: "StaticSiteCollection", + className: "SiteExtensionInfo", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + extensionId: { + serializedName: "properties.extension_id", + xmlName: "properties.extension_id", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StaticSiteARMResource" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + title: { + serializedName: "properties.title", + xmlName: "properties.title", type: { name: "String" } - } - } - } -}; - -export const StaticSiteUserCollection: msRest.CompositeMapper = { - serializedName: "StaticSiteUserCollection", - type: { - name: "Composite", - className: "StaticSiteUserCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + extensionType: { + serializedName: "properties.extension_type", + xmlName: "properties.extension_type", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StaticSiteUserARMResource" - } - } + name: "Enum", + allowedValues: ["Gallery", "WebRoot"] + } + }, + summary: { + serializedName: "properties.summary", + xmlName: "properties.summary", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + xmlName: "properties.description", + type: { + name: "String" + } + }, + version: { + serializedName: "properties.version", + xmlName: "properties.version", + type: { + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + extensionUrl: { + serializedName: "properties.extension_url", + xmlName: "properties.extension_url", type: { name: "String" } - } - } - } -}; - -export const StaticSiteBuildCollection: msRest.CompositeMapper = { - serializedName: "StaticSiteBuildCollection", - type: { - name: "Composite", - className: "StaticSiteBuildCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + projectUrl: { + serializedName: "properties.project_url", + xmlName: "properties.project_url", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StaticSiteBuildARMResource" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + iconUrl: { + serializedName: "properties.icon_url", + xmlName: "properties.icon_url", type: { name: "String" } - } - } - } -}; - -export const StaticSiteFunctionOverviewCollection: msRest.CompositeMapper = { - serializedName: "StaticSiteFunctionOverviewCollection", - type: { - name: "Composite", - className: "StaticSiteFunctionOverviewCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + licenseUrl: { + serializedName: "properties.license_url", + xmlName: "properties.license_url", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StaticSiteFunctionOverviewARMResource" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + feedUrl: { + serializedName: "properties.feed_url", + xmlName: "properties.feed_url", type: { name: "String" } - } - } - } -}; - -export const StaticSiteUserProvidedFunctionAppsCollection: msRest.CompositeMapper = { - serializedName: "StaticSiteUserProvidedFunctionAppsCollection", - type: { - name: "Composite", - className: "StaticSiteUserProvidedFunctionAppsCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + authors: { + serializedName: "properties.authors", + xmlName: "properties.authors", + xmlElementName: "SiteExtensionInfoPropertiesAuthorsItem", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "StaticSiteUserProvidedFunctionAppARMResource" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + installerCommandLineParams: { + serializedName: "properties.installer_command_line_params", + xmlName: "properties.installer_command_line_params", type: { name: "String" } - } - } - } -}; - -export const StaticSiteCustomDomainOverviewCollection: msRest.CompositeMapper = { - serializedName: "StaticSiteCustomDomainOverviewCollection", - type: { - name: "Composite", - className: "StaticSiteCustomDomainOverviewCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + publishedDateTime: { + serializedName: "properties.published_date_time", + xmlName: "properties.published_date_time", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StaticSiteCustomDomainOverviewARMResource" - } - } + name: "DateTime" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + downloadCount: { + serializedName: "properties.download_count", + xmlName: "properties.download_count", type: { - name: "String" + name: "Number" } - } - } - } -}; - -export const AppServiceEnvironmentCollection: msRest.CompositeMapper = { - serializedName: "AppServiceEnvironmentCollection", - type: { - name: "Composite", - className: "AppServiceEnvironmentCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + localIsLatestVersion: { + serializedName: "properties.local_is_latest_version", + xmlName: "properties.local_is_latest_version", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AppServiceEnvironmentResource" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + localPath: { + serializedName: "properties.local_path", + xmlName: "properties.local_path", type: { name: "String" } - } - } - } -}; - -export const StampCapacityCollection: msRest.CompositeMapper = { - serializedName: "StampCapacityCollection", - type: { - name: "Composite", - className: "StampCapacityCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + installedDateTime: { + serializedName: "properties.installed_date_time", + xmlName: "properties.installed_date_time", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StampCapacity" - } - } + name: "DateTime" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + provisioningState: { + serializedName: "properties.provisioningState", + xmlName: "properties.provisioningState", + type: { + name: "String" + } + }, + comment: { + serializedName: "properties.comment", + xmlName: "properties.comment", type: { name: "String" } @@ -18227,88 +21084,65 @@ export const StampCapacityCollection: msRest.CompositeMapper = { } }; -export const InboundEnvironmentEndpointCollection: msRest.CompositeMapper = { - serializedName: "InboundEnvironmentEndpointCollection", +export const SlotDifference: coreClient.CompositeMapper = { + serializedName: "SlotDifference", type: { name: "Composite", - className: "InboundEnvironmentEndpointCollection", + className: "SlotDifference", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + level: { + serializedName: "properties.level", + readOnly: true, + xmlName: "properties.level", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "InboundEnvironmentEndpoint" - } - } + name: "String" } }, - nextLink: { + settingType: { + serializedName: "properties.settingType", readOnly: true, - serializedName: "nextLink", + xmlName: "properties.settingType", type: { name: "String" } - } - } - } -}; - -export const WorkerPoolCollection: msRest.CompositeMapper = { - serializedName: "WorkerPoolCollection", - type: { - name: "Composite", - className: "WorkerPoolCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + diffRule: { + serializedName: "properties.diffRule", + readOnly: true, + xmlName: "properties.diffRule", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "WorkerPoolResource" - } - } + name: "String" } }, - nextLink: { + settingName: { + serializedName: "properties.settingName", readOnly: true, - serializedName: "nextLink", + xmlName: "properties.settingName", type: { name: "String" } - } - } - } -}; - -export const ResourceMetricDefinitionCollection: msRest.CompositeMapper = { - serializedName: "ResourceMetricDefinitionCollection", - type: { - name: "Composite", - className: "ResourceMetricDefinitionCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + valueInCurrentSlot: { + serializedName: "properties.valueInCurrentSlot", + readOnly: true, + xmlName: "properties.valueInCurrentSlot", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ResourceMetricDefinition" - } - } + name: "String" + } + }, + valueInTargetSlot: { + serializedName: "properties.valueInTargetSlot", + readOnly: true, + xmlName: "properties.valueInTargetSlot", + type: { + name: "String" } }, - nextLink: { + description: { + serializedName: "properties.description", readOnly: true, - serializedName: "nextLink", + xmlName: "properties.description", type: { name: "String" } @@ -18317,210 +21151,237 @@ export const ResourceMetricDefinitionCollection: msRest.CompositeMapper = { } }; -export const SkuInfoCollection: msRest.CompositeMapper = { - serializedName: "SkuInfoCollection", +export const SiteSourceControl: coreClient.CompositeMapper = { + serializedName: "SiteSourceControl", type: { name: "Composite", - className: "SkuInfoCollection", + className: "SiteSourceControl", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + repoUrl: { + serializedName: "properties.repoUrl", + xmlName: "properties.repoUrl", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SkuInfo" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + branch: { + serializedName: "properties.branch", + xmlName: "properties.branch", type: { name: "String" } + }, + isManualIntegration: { + serializedName: "properties.isManualIntegration", + xmlName: "properties.isManualIntegration", + type: { + name: "Boolean" + } + }, + isGitHubAction: { + serializedName: "properties.isGitHubAction", + xmlName: "properties.isGitHubAction", + type: { + name: "Boolean" + } + }, + deploymentRollbackEnabled: { + serializedName: "properties.deploymentRollbackEnabled", + xmlName: "properties.deploymentRollbackEnabled", + type: { + name: "Boolean" + } + }, + isMercurial: { + serializedName: "properties.isMercurial", + xmlName: "properties.isMercurial", + type: { + name: "Boolean" + } + }, + gitHubActionConfiguration: { + serializedName: "properties.gitHubActionConfiguration", + xmlName: "properties.gitHubActionConfiguration", + type: { + name: "Composite", + className: "GitHubActionConfiguration" + } } } } }; -export const UsageCollection: msRest.CompositeMapper = { - serializedName: "UsageCollection", +export const TriggeredWebJob: coreClient.CompositeMapper = { + serializedName: "TriggeredWebJob", type: { name: "Composite", - className: "UsageCollection", + className: "TriggeredWebJob", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + latestRun: { + serializedName: "properties.latest_run", + xmlName: "properties.latest_run", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Usage" - } - } + name: "Composite", + className: "TriggeredJobRun" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + historyUrl: { + serializedName: "properties.history_url", + xmlName: "properties.history_url", type: { name: "String" } - } - } - } -}; - -export const OutboundEnvironmentEndpointCollection: msRest.CompositeMapper = { - serializedName: "OutboundEnvironmentEndpointCollection", - type: { - name: "Composite", - className: "OutboundEnvironmentEndpointCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + schedulerLogsUrl: { + serializedName: "properties.scheduler_logs_url", + xmlName: "properties.scheduler_logs_url", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "OutboundEnvironmentEndpoint" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + runCommand: { + serializedName: "properties.run_command", + xmlName: "properties.run_command", type: { name: "String" } - } - } - } -}; - -export const AppServicePlanCollection: msRest.CompositeMapper = { - serializedName: "AppServicePlanCollection", - type: { - name: "Composite", - className: "AppServicePlanCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + url: { + serializedName: "properties.url", + xmlName: "properties.url", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AppServicePlan" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + extraInfoUrl: { + serializedName: "properties.extra_info_url", + xmlName: "properties.extra_info_url", type: { name: "String" } - } - } - } -}; - -export const ResourceCollection: msRest.CompositeMapper = { - serializedName: "ResourceCollection", - type: { - name: "Composite", - className: "ResourceCollection", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + webJobType: { + serializedName: "properties.web_job_type", + xmlName: "properties.web_job_type", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Enum", + allowedValues: ["Continuous", "Triggered"] } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + error: { + serializedName: "properties.error", + xmlName: "properties.error", type: { name: "String" } + }, + usingSdk: { + serializedName: "properties.using_sdk", + xmlName: "properties.using_sdk", + type: { + name: "Boolean" + } + }, + settings: { + serializedName: "properties.settings", + xmlName: "properties.settings", + type: { + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + } } } } }; -export const HybridConnectionCollection: msRest.CompositeMapper = { - serializedName: "HybridConnectionCollection", +export const TriggeredJobHistory: coreClient.CompositeMapper = { + serializedName: "TriggeredJobHistory", type: { name: "Composite", - className: "HybridConnectionCollection", + className: "TriggeredJobHistory", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + runs: { + serializedName: "properties.runs", + xmlName: "properties.runs", + xmlElementName: "TriggeredJobRun", type: { name: "Sequence", element: { type: { name: "Composite", - className: "HybridConnection" + className: "TriggeredJobRun" } } } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } } } } }; -export const ResourceHealthMetadataCollection: msRest.CompositeMapper = { - serializedName: "ResourceHealthMetadataCollection", +export const WebJob: coreClient.CompositeMapper = { + serializedName: "WebJob", type: { name: "Composite", - className: "ResourceHealthMetadataCollection", + className: "WebJob", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyOnlyResource.type.modelProperties, + runCommand: { + serializedName: "properties.run_command", + xmlName: "properties.run_command", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ResourceHealthMetadata" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + url: { + serializedName: "properties.url", + xmlName: "properties.url", + type: { + name: "String" + } + }, + extraInfoUrl: { + serializedName: "properties.extra_info_url", + xmlName: "properties.extra_info_url", + type: { + name: "String" + } + }, + webJobType: { + serializedName: "properties.web_job_type", + xmlName: "properties.web_job_type", + type: { + name: "Enum", + allowedValues: ["Continuous", "Triggered"] + } + }, + error: { + serializedName: "properties.error", + xmlName: "properties.error", type: { name: "String" } + }, + usingSdk: { + serializedName: "properties.using_sdk", + xmlName: "properties.using_sdk", + type: { + name: "Boolean" + } + }, + settings: { + serializedName: "properties.settings", + xmlName: "properties.settings", + type: { + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + } } } } diff --git a/sdk/appservice/arm-appservice/src/models/parameters.ts b/sdk/appservice/arm-appservice/src/models/parameters.ts index a38fba243001..a0c5b28b6263 100644 --- a/sdk/appservice/arm-appservice/src/models/parameters.ts +++ b/sdk/appservice/arm-appservice/src/models/parameters.ts @@ -3,849 +3,1645 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + AppServiceCertificateOrder as AppServiceCertificateOrderMapper, + AppServiceCertificateOrderPatchResource as AppServiceCertificateOrderPatchResourceMapper, + AppServiceCertificateResource as AppServiceCertificateResourceMapper, + AppServiceCertificatePatchResource as AppServiceCertificatePatchResourceMapper, + ReissueCertificateOrderRequest as ReissueCertificateOrderRequestMapper, + RenewCertificateOrderRequest as RenewCertificateOrderRequestMapper, + NameIdentifier as NameIdentifierMapper, + SiteSealRequest as SiteSealRequestMapper, + DomainRecommendationSearchParameters as DomainRecommendationSearchParametersMapper, + Domain as DomainMapper, + DomainPatchResource as DomainPatchResourceMapper, + DomainOwnershipIdentifier as DomainOwnershipIdentifierMapper, + TopLevelDomainAgreementOption as TopLevelDomainAgreementOptionMapper, + AppServiceEnvironmentResource as AppServiceEnvironmentResourceMapper, + AppServiceEnvironmentPatchResource as AppServiceEnvironmentPatchResourceMapper, + VirtualNetworkProfile as VirtualNetworkProfileMapper, + AseV3NetworkingConfiguration as AseV3NetworkingConfigurationMapper, + WorkerPoolResource as WorkerPoolResourceMapper, + PrivateLinkConnectionApprovalRequestResource as PrivateLinkConnectionApprovalRequestResourceMapper, + AppServicePlan as AppServicePlanMapper, + AppServicePlanPatchResource as AppServicePlanPatchResourceMapper, + VnetGateway as VnetGatewayMapper, + VnetRoute as VnetRouteMapper, + Certificate as CertificateMapper, + CertificatePatchResource as CertificatePatchResourceMapper, + KubeEnvironment as KubeEnvironmentMapper, + KubeEnvironmentPatchResource as KubeEnvironmentPatchResourceMapper, + AppserviceGithubTokenRequest as AppserviceGithubTokenRequestMapper, + User as UserMapper, + SourceControl as SourceControlMapper, + ResourceNameAvailabilityRequest as ResourceNameAvailabilityRequestMapper, + VnetParameters as VnetParametersMapper, + CsmMoveResourceEnvelope as CsmMoveResourceEnvelopeMapper, + ValidateRequest as ValidateRequestMapper, + StaticSitesWorkflowPreviewRequest as StaticSitesWorkflowPreviewRequestMapper, + StaticSiteARMResource as StaticSiteARMResourceMapper, + StaticSitePatchResource as StaticSitePatchResourceMapper, + StaticSiteUserARMResource as StaticSiteUserARMResourceMapper, + StringDictionary as StringDictionaryMapper, + StaticSiteUserProvidedFunctionAppARMResource as StaticSiteUserProvidedFunctionAppARMResourceMapper, + StaticSiteZipDeploymentARMResource as StaticSiteZipDeploymentARMResourceMapper, + StaticSiteUserInvitationRequestResource as StaticSiteUserInvitationRequestResourceMapper, + StaticSiteCustomDomainRequestPropertiesARMResource as StaticSiteCustomDomainRequestPropertiesARMResourceMapper, + StaticSiteResetPropertiesARMResource as StaticSiteResetPropertiesARMResourceMapper, + Site as SiteMapper, + SitePatchResource as SitePatchResourceMapper, + CsmSlotEntity as CsmSlotEntityMapper, + BackupRequest as BackupRequestMapper, + RestoreRequest as RestoreRequestMapper, + CsmPublishingCredentialsPoliciesEntity as CsmPublishingCredentialsPoliciesEntityMapper, + SiteAuthSettings as SiteAuthSettingsMapper, + SiteAuthSettingsV2 as SiteAuthSettingsV2Mapper, + AzureStoragePropertyDictionaryResource as AzureStoragePropertyDictionaryResourceMapper, + ConnectionStringDictionary as ConnectionStringDictionaryMapper, + SiteLogsConfig as SiteLogsConfigMapper, + PushSettings as PushSettingsMapper, + SlotConfigNamesResource as SlotConfigNamesResourceMapper, + SiteConfigResource as SiteConfigResourceMapper, + Deployment as DeploymentMapper, + Identifier as IdentifierMapper, + MSDeploy as MSDeployMapper, + FunctionEnvelope as FunctionEnvelopeMapper, + KeyInfo as KeyInfoMapper, + HostNameBinding as HostNameBindingMapper, + HybridConnection as HybridConnectionMapper, + RelayServiceConnectionEntity as RelayServiceConnectionEntityMapper, + StorageMigrationOptions as StorageMigrationOptionsMapper, + MigrateMySqlRequest as MigrateMySqlRequestMapper, + SwiftVirtualNetwork as SwiftVirtualNetworkMapper, + PremierAddOn as PremierAddOnMapper, + PremierAddOnPatchResource as PremierAddOnPatchResourceMapper, + PrivateAccess as PrivateAccessMapper, + PublicCertificate as PublicCertificateMapper, + CsmPublishingProfileOptions as CsmPublishingProfileOptionsMapper, + DeletedAppRestoreRequest as DeletedAppRestoreRequestMapper, + SnapshotRestoreRequest as SnapshotRestoreRequestMapper, + SiteSourceControl as SiteSourceControlMapper, + VnetInfoResource as VnetInfoResourceMapper +} from "../models/mappers"; -export const acceptLanguage: msRest.OperationParameter = { - parameterPath: "acceptLanguage", +export const accept: OperationParameter = { + parameterPath: "accept", mapper: { - serializedName: "accept-language", - defaultValue: "en-US", + defaultValue: "application/json", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const additionalFlags: msRest.OperationQueryParameter = { - parameterPath: ["options", "additionalFlags"], + +export const $host: OperationURLParameter = { + parameterPath: "$host", mapper: { - serializedName: "additionalFlags", + serializedName: "$host", + required: true, + xmlName: "$host", type: { name: "String" } - } + }, + skipEncoding: true }; -export const analysisName: msRest.OperationURLParameter = { - parameterPath: "analysisName", + +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", mapper: { + serializedName: "subscriptionId", required: true, - serializedName: "analysisName", + xmlName: "subscriptionId", type: { name: "String" } } }; -export const apiVersion: msRest.OperationQueryParameter = { + +export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - required: true, + defaultValue: "2021-02-01", + isConstant: true, serializedName: "api-version", type: { name: "String" } } }; -export const appSettingKey: msRest.OperationURLParameter = { - parameterPath: "appSettingKey", + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], mapper: { - required: true, - serializedName: "appSettingKey", + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", type: { name: "String" } } }; -export const authprovider: msRest.OperationURLParameter = { - parameterPath: "authprovider", - mapper: { - required: true, - serializedName: "authprovider", - type: { - name: "String" - } - } + +export const appServiceCertificateOrder: OperationParameter = { + parameterPath: "appServiceCertificateOrder", + mapper: AppServiceCertificateOrderMapper }; -export const backupId: msRest.OperationURLParameter = { - parameterPath: "backupId", + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", mapper: { + constraints: { + Pattern: new RegExp("^[-\\w\\._\\(\\)]+[^\\.]$"), + MaxLength: 90, + MinLength: 1 + }, + serializedName: "resourceGroupName", required: true, - serializedName: "backupId", + xmlName: "resourceGroupName", type: { name: "String" } } }; -export const baseAddress: msRest.OperationURLParameter = { - parameterPath: "baseAddress", + +export const certificateOrderName: OperationURLParameter = { + parameterPath: "certificateOrderName", mapper: { + serializedName: "certificateOrderName", required: true, - serializedName: "baseAddress", + xmlName: "certificateOrderName", type: { name: "String" } } }; -export const billingLocation: msRest.OperationQueryParameter = { - parameterPath: ["options", "billingLocation"], - mapper: { - serializedName: "billingLocation", - type: { - name: "String" - } - } + +export const certificateDistinguishedName: OperationParameter = { + parameterPath: "certificateDistinguishedName", + mapper: AppServiceCertificateOrderMapper }; -export const certificateOrderName: msRest.OperationURLParameter = { - parameterPath: "certificateOrderName", + +export const certificateDistinguishedName1: OperationParameter = { + parameterPath: "certificateDistinguishedName", + mapper: AppServiceCertificateOrderPatchResourceMapper +}; + +export const name: OperationURLParameter = { + parameterPath: "name", mapper: { + serializedName: "name", required: true, - serializedName: "certificateOrderName", + xmlName: "name", type: { name: "String" } } }; -export const connectionStringKey: msRest.OperationURLParameter = { - parameterPath: "connectionStringKey", + +export const keyVaultCertificate: OperationParameter = { + parameterPath: "keyVaultCertificate", + mapper: AppServiceCertificateResourceMapper +}; + +export const keyVaultCertificate1: OperationParameter = { + parameterPath: "keyVaultCertificate", + mapper: AppServiceCertificatePatchResourceMapper +}; + +export const reissueCertificateOrderRequest: OperationParameter = { + parameterPath: "reissueCertificateOrderRequest", + mapper: ReissueCertificateOrderRequestMapper +}; + +export const renewCertificateOrderRequest: OperationParameter = { + parameterPath: "renewCertificateOrderRequest", + mapper: RenewCertificateOrderRequestMapper +}; + +export const nameIdentifier: OperationParameter = { + parameterPath: "nameIdentifier", + mapper: NameIdentifierMapper +}; + +export const siteSealRequest: OperationParameter = { + parameterPath: "siteSealRequest", + mapper: SiteSealRequestMapper +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", mapper: { + serializedName: "nextLink", required: true, - serializedName: "connectionStringKey", + xmlName: "nextLink", type: { name: "String" } - } + }, + skipEncoding: true }; -export const deletedSiteId: msRest.OperationURLParameter = { - parameterPath: "deletedSiteId", + +export const detectorName: OperationURLParameter = { + parameterPath: "detectorName", mapper: { + serializedName: "detectorName", required: true, - serializedName: "deletedSiteId", + xmlName: "detectorName", type: { name: "String" } } }; -export const deleteEmptyServerFarm: msRest.OperationQueryParameter = { - parameterPath: ["options", "deleteEmptyServerFarm"], + +export const startTime: OperationQueryParameter = { + parameterPath: ["options", "startTime"], mapper: { - serializedName: "deleteEmptyServerFarm", + serializedName: "startTime", + xmlName: "startTime", type: { - name: "Boolean" + name: "DateTime" } } }; -export const deleteMetrics: msRest.OperationQueryParameter = { - parameterPath: ["options", "deleteMetrics"], + +export const endTime: OperationQueryParameter = { + parameterPath: ["options", "endTime"], mapper: { - serializedName: "deleteMetrics", + serializedName: "endTime", + xmlName: "endTime", type: { - name: "Boolean" + name: "DateTime" } } }; -export const detailed: msRest.OperationQueryParameter = { - parameterPath: ["options", "detailed"], + +export const timeGrain: OperationQueryParameter = { + parameterPath: ["options", "timeGrain"], mapper: { - serializedName: "detailed", + constraints: { + Pattern: new RegExp("PT[1-9][0-9]+[SMH]") + }, + serializedName: "timeGrain", + xmlName: "timeGrain", type: { - name: "Boolean" + name: "String" } } }; -export const detectorName: msRest.OperationURLParameter = { - parameterPath: "detectorName", + +export const identifier: OperationParameter = { + parameterPath: "identifier", + mapper: NameIdentifierMapper +}; + +export const parameters: OperationParameter = { + parameterPath: "parameters", + mapper: DomainRecommendationSearchParametersMapper +}; + +export const domainName: OperationURLParameter = { + parameterPath: "domainName", mapper: { + serializedName: "domainName", required: true, - serializedName: "detectorName", + xmlName: "domainName", type: { name: "String" } } }; -export const diagnosticCategory: msRest.OperationURLParameter = { - parameterPath: "diagnosticCategory", + +export const domain: OperationParameter = { + parameterPath: "domain", + mapper: DomainMapper +}; + +export const domainName1: OperationURLParameter = { + parameterPath: "domainName", mapper: { + constraints: { + Pattern: new RegExp("[a-zA-Z0-9][a-zA-Z0-9\\.-]+") + }, + serializedName: "domainName", required: true, - serializedName: "diagnosticCategory", + xmlName: "domainName", type: { name: "String" } } }; -export const diagnosticsName: msRest.OperationURLParameter = { - parameterPath: "diagnosticsName", + +export const forceHardDeleteDomain: OperationQueryParameter = { + parameterPath: ["options", "forceHardDeleteDomain"], mapper: { - required: true, - serializedName: "diagnosticsName", + serializedName: "forceHardDeleteDomain", + xmlName: "forceHardDeleteDomain", type: { - name: "String" + name: "Boolean" } } }; -export const domainName0: msRest.OperationURLParameter = { - parameterPath: "domainName", + +export const domain1: OperationParameter = { + parameterPath: "domain", + mapper: DomainPatchResourceMapper +}; + +export const domainOwnershipIdentifier: OperationParameter = { + parameterPath: "domainOwnershipIdentifier", + mapper: DomainOwnershipIdentifierMapper +}; + +export const agreementOption: OperationParameter = { + parameterPath: "agreementOption", + mapper: TopLevelDomainAgreementOptionMapper +}; + +export const hostingEnvironmentEnvelope: OperationParameter = { + parameterPath: "hostingEnvironmentEnvelope", + mapper: AppServiceEnvironmentResourceMapper +}; + +export const forceDelete: OperationQueryParameter = { + parameterPath: ["options", "forceDelete"], mapper: { - required: true, - serializedName: "domainName", + serializedName: "forceDelete", + xmlName: "forceDelete", type: { - name: "String" + name: "Boolean" } } }; -export const domainName1: msRest.OperationURLParameter = { - parameterPath: "domainName", + +export const hostingEnvironmentEnvelope1: OperationParameter = { + parameterPath: "hostingEnvironmentEnvelope", + mapper: AppServiceEnvironmentPatchResourceMapper +}; + +export const vnetInfo: OperationParameter = { + parameterPath: "vnetInfo", + mapper: VirtualNetworkProfileMapper +}; + +export const aseNetworkingConfiguration: OperationParameter = { + parameterPath: "aseNetworkingConfiguration", + mapper: AseV3NetworkingConfigurationMapper +}; + +export const diagnosticsName: OperationURLParameter = { + parameterPath: "diagnosticsName", mapper: { + serializedName: "diagnosticsName", required: true, - serializedName: "domainName", - constraints: { - Pattern: /[a-zA-Z0-9][a-zA-Z0-9\.-]+/ - }, + xmlName: "diagnosticsName", type: { name: "String" } } }; -export const domainOwnershipIdentifierName: msRest.OperationURLParameter = { - parameterPath: "domainOwnershipIdentifierName", + +export const multiRolePoolEnvelope: OperationParameter = { + parameterPath: "multiRolePoolEnvelope", + mapper: WorkerPoolResourceMapper +}; + +export const instance: OperationURLParameter = { + parameterPath: "instance", mapper: { + serializedName: "instance", required: true, - serializedName: "domainOwnershipIdentifierName", + xmlName: "instance", type: { name: "String" } } }; -export const durationInSeconds: msRest.OperationQueryParameter = { - parameterPath: ["options", "durationInSeconds"], + +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", mapper: { - serializedName: "durationInSeconds", + serializedName: "privateEndpointConnectionName", + required: true, + xmlName: "privateEndpointConnectionName", type: { - name: "Number" + name: "String" } } }; -export const endTime: msRest.OperationQueryParameter = { - parameterPath: ["options", "endTime"], + +export const privateEndpointWrapper: OperationParameter = { + parameterPath: "privateEndpointWrapper", + mapper: PrivateLinkConnectionApprovalRequestResourceMapper +}; + +export const propertiesToInclude: OperationQueryParameter = { + parameterPath: ["options", "propertiesToInclude"], mapper: { - serializedName: "endTime", + serializedName: "propertiesToInclude", + xmlName: "propertiesToInclude", type: { - name: "DateTime" + name: "String" } } }; -export const entityName: msRest.OperationURLParameter = { - parameterPath: "entityName", + +export const filter: OperationQueryParameter = { + parameterPath: ["options", "filter"], mapper: { - required: true, - serializedName: "entityName", + serializedName: "$filter", + xmlName: "$filter", type: { name: "String" } - } + }, + skipEncoding: true }; -export const environmentName: msRest.OperationQueryParameter = { - parameterPath: "environmentName", + +export const workerPoolName: OperationURLParameter = { + parameterPath: "workerPoolName", mapper: { + serializedName: "workerPoolName", required: true, - serializedName: "environmentName", + xmlName: "workerPoolName", type: { name: "String" } } }; -export const expiredOnly: msRest.OperationQueryParameter = { - parameterPath: ["options", "expiredOnly"], + +export const workerPoolEnvelope: OperationParameter = { + parameterPath: "workerPoolEnvelope", + mapper: WorkerPoolResourceMapper +}; + +export const detailed: OperationQueryParameter = { + parameterPath: ["options", "detailed"], mapper: { - serializedName: "expiredOnly", + serializedName: "detailed", + xmlName: "detailed", type: { name: "Boolean" } } }; -export const featured: msRest.OperationQueryParameter = { - parameterPath: ["options", "featured"], + +export const appServicePlan: OperationParameter = { + parameterPath: "appServicePlan", + mapper: AppServicePlanMapper +}; + +export const appServicePlan1: OperationParameter = { + parameterPath: "appServicePlan", + mapper: AppServicePlanPatchResourceMapper +}; + +export const namespaceName: OperationURLParameter = { + parameterPath: "namespaceName", mapper: { - serializedName: "featured", + serializedName: "namespaceName", + required: true, + xmlName: "namespaceName", type: { - name: "Boolean" + name: "String" } } }; -export const filter: msRest.OperationQueryParameter = { - parameterPath: ["options", "filter"], + +export const relayName: OperationURLParameter = { + parameterPath: "relayName", mapper: { - serializedName: "$filter", + serializedName: "relayName", + required: true, + xmlName: "relayName", type: { name: "String" } - }, - skipEncoding: true + } }; -export const forceDelete: msRest.OperationQueryParameter = { - parameterPath: ["options", "forceDelete"], + +export const softRestart: OperationQueryParameter = { + parameterPath: ["options", "softRestart"], mapper: { - serializedName: "forceDelete", + serializedName: "softRestart", + xmlName: "softRestart", type: { name: "Boolean" } } }; -export const forceHardDeleteDomain: msRest.OperationQueryParameter = { - parameterPath: ["options", "forceHardDeleteDomain"], + +export const skipToken: OperationQueryParameter = { + parameterPath: ["options", "skipToken"], mapper: { - serializedName: "forceHardDeleteDomain", + serializedName: "$skipToken", + xmlName: "$skipToken", type: { - name: "Boolean" + name: "String" } } }; -export const functionAppName: msRest.OperationURLParameter = { - parameterPath: "functionAppName", + +export const top: OperationQueryParameter = { + parameterPath: ["options", "top"], mapper: { - required: true, - serializedName: "functionAppName", + serializedName: "$top", + xmlName: "$top", type: { name: "String" } } }; -export const functionName: msRest.OperationURLParameter = { - parameterPath: "functionName", + +export const vnetName: OperationURLParameter = { + parameterPath: "vnetName", mapper: { + serializedName: "vnetName", required: true, - serializedName: "functionName", + xmlName: "vnetName", type: { name: "String" } } }; -export const gatewayName: msRest.OperationURLParameter = { + +export const gatewayName: OperationURLParameter = { parameterPath: "gatewayName", mapper: { - required: true, serializedName: "gatewayName", + required: true, + xmlName: "gatewayName", type: { name: "String" } } }; -export const hostingEnvironmentName: msRest.OperationURLParameter = { - parameterPath: "hostingEnvironmentName", + +export const connectionEnvelope: OperationParameter = { + parameterPath: "connectionEnvelope", + mapper: VnetGatewayMapper +}; + +export const routeName: OperationURLParameter = { + parameterPath: "routeName", mapper: { + serializedName: "routeName", required: true, - serializedName: "hostingEnvironmentName", + xmlName: "routeName", type: { name: "String" } } }; -export const hostName0: msRest.OperationQueryParameter = { - parameterPath: ["options", "hostName"], + +export const route: OperationParameter = { + parameterPath: "route", + mapper: VnetRouteMapper +}; + +export const workerName: OperationURLParameter = { + parameterPath: "workerName", mapper: { - serializedName: "hostName", + serializedName: "workerName", + required: true, + xmlName: "workerName", type: { name: "String" } } }; -export const hostName1: msRest.OperationURLParameter = { - parameterPath: "hostName", + +export const certificateEnvelope: OperationParameter = { + parameterPath: "certificateEnvelope", + mapper: CertificateMapper +}; + +export const certificateEnvelope1: OperationParameter = { + parameterPath: "certificateEnvelope", + mapper: CertificatePatchResourceMapper +}; + +export const location: OperationURLParameter = { + parameterPath: "location", mapper: { + serializedName: "location", required: true, - serializedName: "hostName", + xmlName: "location", type: { name: "String" } } }; -export const id: msRest.OperationURLParameter = { - parameterPath: "id", + +export const deletedSiteId: OperationURLParameter = { + parameterPath: "deletedSiteId", mapper: { + serializedName: "deletedSiteId", required: true, - serializedName: "id", + xmlName: "deletedSiteId", type: { name: "String" } } }; -export const includeSlots: msRest.OperationQueryParameter = { - parameterPath: ["options", "includeSlots"], + +export const siteName: OperationURLParameter = { + parameterPath: "siteName", mapper: { - serializedName: "includeSlots", + serializedName: "siteName", + required: true, + xmlName: "siteName", type: { - name: "Boolean" + name: "String" } } }; -export const instance: msRest.OperationURLParameter = { - parameterPath: "instance", + +export const diagnosticCategory: OperationURLParameter = { + parameterPath: "diagnosticCategory", mapper: { + serializedName: "diagnosticCategory", required: true, - serializedName: "instance", + xmlName: "diagnosticCategory", type: { name: "String" } } }; -export const instanceId: msRest.OperationURLParameter = { - parameterPath: "instanceId", + +export const analysisName: OperationURLParameter = { + parameterPath: "analysisName", mapper: { + serializedName: "analysisName", required: true, - serializedName: "instanceId", + xmlName: "analysisName", type: { name: "String" } } }; -export const isForced: msRest.OperationQueryParameter = { - parameterPath: ["options", "isForced"], + +export const slot: OperationURLParameter = { + parameterPath: "slot", mapper: { - serializedName: "isForced", + serializedName: "slot", + required: true, + xmlName: "slot", type: { - name: "Boolean" + name: "String" } } }; -export const keyName: msRest.OperationURLParameter = { - parameterPath: "keyName", + +export const operationId: OperationURLParameter = { + parameterPath: "operationId", mapper: { + serializedName: "operationId", required: true, - serializedName: "keyName", + xmlName: "operationId", type: { name: "String" } } }; -export const keyType: msRest.OperationURLParameter = { - parameterPath: "keyType", + +export const kubeEnvironmentEnvelope: OperationParameter = { + parameterPath: "kubeEnvironmentEnvelope", + mapper: KubeEnvironmentMapper +}; + +export const kubeEnvironmentEnvelope1: OperationParameter = { + parameterPath: "kubeEnvironmentEnvelope", + mapper: KubeEnvironmentPatchResourceMapper +}; + +export const osTypeSelected: OperationQueryParameter = { + parameterPath: ["options", "osTypeSelected"], mapper: { - required: true, - serializedName: "keyType", + serializedName: "osTypeSelected", + xmlName: "osTypeSelected", type: { name: "String" } } }; -export const linuxDynamicWorkersEnabled: msRest.OperationQueryParameter = { - parameterPath: ["options", "linuxDynamicWorkersEnabled"], + +export const stackOsType: OperationQueryParameter = { + parameterPath: ["options", "stackOsType"], mapper: { - serializedName: "linuxDynamicWorkersEnabled", + serializedName: "stackOsType", + xmlName: "stackOsType", type: { - name: "Boolean" + name: "String" } } }; -export const linuxWorkersEnabled: msRest.OperationQueryParameter = { - parameterPath: ["options", "linuxWorkersEnabled"], + +export const stackOsType1: OperationQueryParameter = { + parameterPath: ["options", "stackOsType"], mapper: { - serializedName: "linuxWorkersEnabled", + serializedName: "stackOsType", + xmlName: "stackOsType", + type: { + name: "String" + } + } +}; + +export const stackOsType2: OperationQueryParameter = { + parameterPath: ["options", "stackOsType"], + mapper: { + serializedName: "stackOsType", + xmlName: "stackOsType", + type: { + name: "String" + } + } +}; + +export const stackOsType3: OperationQueryParameter = { + parameterPath: ["options", "stackOsType"], + mapper: { + serializedName: "stackOsType", + xmlName: "stackOsType", + type: { + name: "String" + } + } +}; + +export const osTypeSelected1: OperationQueryParameter = { + parameterPath: ["options", "osTypeSelected"], + mapper: { + serializedName: "osTypeSelected", + xmlName: "osTypeSelected", + type: { + name: "String" + } + } +}; + +export const featured: OperationQueryParameter = { + parameterPath: ["options", "featured"], + mapper: { + serializedName: "featured", + xmlName: "featured", type: { name: "Boolean" } } }; -export const location: msRest.OperationURLParameter = { - parameterPath: "location", + +export const hostingEnvironmentName: OperationURLParameter = { + parameterPath: "hostingEnvironmentName", mapper: { + serializedName: "hostingEnvironmentName", required: true, - serializedName: "location", + xmlName: "hostingEnvironmentName", type: { name: "String" } } }; -export const maxFrameLength: msRest.OperationQueryParameter = { - parameterPath: ["options", "maxFrameLength"], + +export const expiredOnly: OperationQueryParameter = { + parameterPath: ["options", "expiredOnly"], mapper: { - serializedName: "maxFrameLength", + serializedName: "expiredOnly", + xmlName: "expiredOnly", type: { - name: "Number" + name: "Boolean" } } }; -export const name: msRest.OperationURLParameter = { - parameterPath: "name", + +export const environmentName: OperationQueryParameter = { + parameterPath: "environmentName", mapper: { + serializedName: "environmentName", required: true, - serializedName: "name", + xmlName: "environmentName", type: { name: "String" } } }; -export const namespaceName: msRest.OperationURLParameter = { - parameterPath: "namespaceName", + +export const updateSeen: OperationQueryParameter = { + parameterPath: ["options", "updateSeen"], mapper: { - required: true, - serializedName: "namespaceName", + serializedName: "updateSeen", + xmlName: "updateSeen", + type: { + name: "Boolean" + } + } +}; + +export const recommendationId: OperationQueryParameter = { + parameterPath: ["options", "recommendationId"], + mapper: { + serializedName: "recommendationId", + xmlName: "recommendationId", type: { name: "String" } } }; -export const nextPageLink: msRest.OperationURLParameter = { - parameterPath: "nextPageLink", + +export const code: OperationParameter = { + parameterPath: "code", + mapper: AppserviceGithubTokenRequestMapper +}; + +export const state: OperationParameter = { + parameterPath: "state", + mapper: AppserviceGithubTokenRequestMapper +}; + +export const userDetails: OperationParameter = { + parameterPath: "userDetails", + mapper: UserMapper +}; + +export const sourceControlType: OperationURLParameter = { + parameterPath: "sourceControlType", mapper: { + serializedName: "sourceControlType", required: true, - serializedName: "nextLink", + xmlName: "sourceControlType", type: { name: "String" } - }, - skipEncoding: true + } }; -export const operationId: msRest.OperationURLParameter = { - parameterPath: "operationId", + +export const requestMessage: OperationParameter = { + parameterPath: "requestMessage", + mapper: SourceControlMapper +}; + +export const billingLocation: OperationQueryParameter = { + parameterPath: ["options", "billingLocation"], mapper: { - required: true, - serializedName: "operationId", + serializedName: "billingLocation", + xmlName: "billingLocation", type: { name: "String" } } }; -export const osType: msRest.OperationQueryParameter = { + +export const osType: OperationQueryParameter = { parameterPath: ["options", "osType"], mapper: { serializedName: "osType", + xmlName: "osType", type: { name: "String" } } }; -export const osTypeSelected: msRest.OperationQueryParameter = { - parameterPath: ["options", "osTypeSelected"], + +export const name1: OperationParameter = { + parameterPath: "name", + mapper: ResourceNameAvailabilityRequestMapper +}; + +export const typeParam: OperationParameter = { + parameterPath: "typeParam", + mapper: ResourceNameAvailabilityRequestMapper +}; + +export const isFqdn: OperationParameter = { + parameterPath: ["options", "isFqdn"], + mapper: ResourceNameAvailabilityRequestMapper +}; + +export const sku: OperationQueryParameter = { + parameterPath: ["options", "sku"], mapper: { - serializedName: "osTypeSelected", + serializedName: "sku", + xmlName: "sku", type: { name: "String" } } }; -export const premierAddOnName: msRest.OperationURLParameter = { - parameterPath: "premierAddOnName", + +export const linuxWorkersEnabled: OperationQueryParameter = { + parameterPath: ["options", "linuxWorkersEnabled"], + mapper: { + serializedName: "linuxWorkersEnabled", + xmlName: "linuxWorkersEnabled", + type: { + name: "Boolean" + } + } +}; + +export const xenonWorkersEnabled: OperationQueryParameter = { + parameterPath: ["options", "xenonWorkersEnabled"], + mapper: { + serializedName: "xenonWorkersEnabled", + xmlName: "xenonWorkersEnabled", + type: { + name: "Boolean" + } + } +}; + +export const linuxDynamicWorkersEnabled: OperationQueryParameter = { + parameterPath: ["options", "linuxDynamicWorkersEnabled"], + mapper: { + serializedName: "linuxDynamicWorkersEnabled", + xmlName: "linuxDynamicWorkersEnabled", + type: { + name: "Boolean" + } + } +}; + +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: VnetParametersMapper +}; + +export const moveResourceEnvelope: OperationParameter = { + parameterPath: "moveResourceEnvelope", + mapper: CsmMoveResourceEnvelopeMapper +}; + +export const validateRequest: OperationParameter = { + parameterPath: "validateRequest", + mapper: ValidateRequestMapper +}; + +export const staticSitesWorkflowPreviewRequest: OperationParameter = { + parameterPath: "staticSitesWorkflowPreviewRequest", + mapper: StaticSitesWorkflowPreviewRequestMapper +}; + +export const staticSiteEnvelope: OperationParameter = { + parameterPath: "staticSiteEnvelope", + mapper: StaticSiteARMResourceMapper +}; + +export const staticSiteEnvelope1: OperationParameter = { + parameterPath: "staticSiteEnvelope", + mapper: StaticSitePatchResourceMapper +}; + +export const authprovider: OperationURLParameter = { + parameterPath: "authprovider", mapper: { + serializedName: "authprovider", required: true, - serializedName: "premierAddOnName", + xmlName: "authprovider", + type: { + name: "String" + } + } +}; + +export const userid: OperationURLParameter = { + parameterPath: "userid", + mapper: { + serializedName: "userid", + required: true, + xmlName: "userid", type: { name: "String" } } }; -export const privateEndpointConnectionName: msRest.OperationURLParameter = { - parameterPath: "privateEndpointConnectionName", + +export const staticSiteUserEnvelope: OperationParameter = { + parameterPath: "staticSiteUserEnvelope", + mapper: StaticSiteUserARMResourceMapper +}; + +export const environmentName1: OperationURLParameter = { + parameterPath: "environmentName", + mapper: { + serializedName: "environmentName", + required: true, + xmlName: "environmentName", + type: { + name: "String" + } + } +}; + +export const appSettings: OperationParameter = { + parameterPath: "appSettings", + mapper: StringDictionaryMapper +}; + +export const functionAppName: OperationURLParameter = { + parameterPath: "functionAppName", + mapper: { + serializedName: "functionAppName", + required: true, + xmlName: "functionAppName", + type: { + name: "String" + } + } +}; + +export const staticSiteUserProvidedFunctionEnvelope: OperationParameter = { + parameterPath: "staticSiteUserProvidedFunctionEnvelope", + mapper: StaticSiteUserProvidedFunctionAppARMResourceMapper +}; + +export const isForced: OperationQueryParameter = { + parameterPath: ["options", "isForced"], + mapper: { + serializedName: "isForced", + xmlName: "isForced", + type: { + name: "Boolean" + } + } +}; + +export const staticSiteZipDeploymentEnvelope: OperationParameter = { + parameterPath: "staticSiteZipDeploymentEnvelope", + mapper: StaticSiteZipDeploymentARMResourceMapper +}; + +export const staticSiteUserRolesInvitationEnvelope: OperationParameter = { + parameterPath: "staticSiteUserRolesInvitationEnvelope", + mapper: StaticSiteUserInvitationRequestResourceMapper +}; + +export const staticSiteCustomDomainRequestPropertiesEnvelope: OperationParameter = { + parameterPath: "staticSiteCustomDomainRequestPropertiesEnvelope", + mapper: StaticSiteCustomDomainRequestPropertiesARMResourceMapper +}; + +export const resetPropertiesEnvelope: OperationParameter = { + parameterPath: "resetPropertiesEnvelope", + mapper: StaticSiteResetPropertiesARMResourceMapper +}; + +export const includeSlots: OperationQueryParameter = { + parameterPath: ["options", "includeSlots"], + mapper: { + serializedName: "includeSlots", + xmlName: "includeSlots", + type: { + name: "Boolean" + } + } +}; + +export const siteEnvelope: OperationParameter = { + parameterPath: "siteEnvelope", + mapper: SiteMapper +}; + +export const deleteMetrics: OperationQueryParameter = { + parameterPath: ["options", "deleteMetrics"], mapper: { - required: true, - serializedName: "privateEndpointConnectionName", + serializedName: "deleteMetrics", + xmlName: "deleteMetrics", type: { - name: "String" + name: "Boolean" } } }; -export const processId: msRest.OperationURLParameter = { - parameterPath: "processId", + +export const deleteEmptyServerFarm: OperationQueryParameter = { + parameterPath: ["options", "deleteEmptyServerFarm"], mapper: { - required: true, - serializedName: "processId", + serializedName: "deleteEmptyServerFarm", + xmlName: "deleteEmptyServerFarm", type: { - name: "String" + name: "Boolean" } } }; -export const propertiesToInclude: msRest.OperationQueryParameter = { - parameterPath: ["options", "propertiesToInclude"], + +export const siteEnvelope1: OperationParameter = { + parameterPath: "siteEnvelope", + mapper: SitePatchResourceMapper +}; + +export const hostName: OperationQueryParameter = { + parameterPath: ["options", "hostName"], mapper: { - serializedName: "propertiesToInclude", + serializedName: "hostName", + xmlName: "hostName", type: { name: "String" } } }; -export const publicCertificateName: msRest.OperationURLParameter = { - parameterPath: "publicCertificateName", + +export const slotSwapEntity: OperationParameter = { + parameterPath: "slotSwapEntity", + mapper: CsmSlotEntityMapper +}; + +export const request2: OperationParameter = { + parameterPath: "request", + mapper: BackupRequestMapper +}; + +export const backupId: OperationURLParameter = { + parameterPath: "backupId", mapper: { + serializedName: "backupId", required: true, - serializedName: "publicCertificateName", + xmlName: "backupId", type: { name: "String" } } }; -export const recommendationId: msRest.OperationQueryParameter = { - parameterPath: ["options", "recommendationId"], + +export const request3: OperationParameter = { + parameterPath: "request", + mapper: RestoreRequestMapper +}; + +export const csmPublishingAccessPoliciesEntity: OperationParameter = { + parameterPath: "csmPublishingAccessPoliciesEntity", + mapper: CsmPublishingCredentialsPoliciesEntityMapper +}; + +export const siteAuthSettings: OperationParameter = { + parameterPath: "siteAuthSettings", + mapper: SiteAuthSettingsMapper +}; + +export const siteAuthSettingsV2: OperationParameter = { + parameterPath: "siteAuthSettingsV2", + mapper: SiteAuthSettingsV2Mapper +}; + +export const azureStorageAccounts: OperationParameter = { + parameterPath: "azureStorageAccounts", + mapper: AzureStoragePropertyDictionaryResourceMapper +}; + +export const appSettingKey: OperationURLParameter = { + parameterPath: "appSettingKey", mapper: { - serializedName: "recommendationId", + serializedName: "appSettingKey", + required: true, + xmlName: "appSettingKey", type: { name: "String" } } }; -export const relayName: msRest.OperationURLParameter = { - parameterPath: "relayName", + +export const connectionStringKey: OperationURLParameter = { + parameterPath: "connectionStringKey", mapper: { + serializedName: "connectionStringKey", required: true, - serializedName: "relayName", + xmlName: "connectionStringKey", type: { name: "String" } } }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", + +export const connectionStrings: OperationParameter = { + parameterPath: "connectionStrings", + mapper: ConnectionStringDictionaryMapper +}; + +export const siteLogsConfig: OperationParameter = { + parameterPath: "siteLogsConfig", + mapper: SiteLogsConfigMapper +}; + +export const metadata: OperationParameter = { + parameterPath: "metadata", + mapper: StringDictionaryMapper +}; + +export const pushSettings: OperationParameter = { + parameterPath: "pushSettings", + mapper: PushSettingsMapper +}; + +export const slotConfigNames: OperationParameter = { + parameterPath: "slotConfigNames", + mapper: SlotConfigNamesResourceMapper +}; + +export const siteConfig: OperationParameter = { + parameterPath: "siteConfig", + mapper: SiteConfigResourceMapper +}; + +export const snapshotId: OperationURLParameter = { + parameterPath: "snapshotId", mapper: { + serializedName: "snapshotId", required: true, - serializedName: "resourceGroupName", - constraints: { - MaxLength: 90, - MinLength: 1, - Pattern: /^[-\w\._\(\)]+[^\.]$/ - }, + xmlName: "snapshotId", type: { name: "String" } } }; -export const routeName: msRest.OperationURLParameter = { - parameterPath: "routeName", + +export const accept1: OperationParameter = { + parameterPath: "accept", mapper: { - required: true, - serializedName: "routeName", + defaultValue: "application/octet-stream", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const sasUrl: msRest.OperationQueryParameter = { - parameterPath: ["options", "sasUrl"], + +export const accept2: OperationParameter = { + parameterPath: "accept", mapper: { - serializedName: "sasUrl", + defaultValue: "application/zip", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const siteExtensionId: msRest.OperationURLParameter = { - parameterPath: "siteExtensionId", + +export const webJobName: OperationURLParameter = { + parameterPath: "webJobName", mapper: { + serializedName: "webJobName", required: true, - serializedName: "siteExtensionId", + xmlName: "webJobName", type: { name: "String" } } }; -export const siteName: msRest.OperationURLParameter = { - parameterPath: "siteName", + +export const id: OperationURLParameter = { + parameterPath: "id", mapper: { + serializedName: "id", required: true, - serializedName: "siteName", + xmlName: "id", type: { name: "String" } } }; -export const skipToken: msRest.OperationQueryParameter = { - parameterPath: ["options", "skipToken"], + +export const deployment: OperationParameter = { + parameterPath: "deployment", + mapper: DeploymentMapper +}; + +export const domainOwnershipIdentifierName: OperationURLParameter = { + parameterPath: "domainOwnershipIdentifierName", mapper: { - serializedName: "$skipToken", + serializedName: "domainOwnershipIdentifierName", + required: true, + xmlName: "domainOwnershipIdentifierName", type: { name: "String" } } }; -export const sku: msRest.OperationQueryParameter = { - parameterPath: ["options", "sku"], + +export const domainOwnershipIdentifier1: OperationParameter = { + parameterPath: "domainOwnershipIdentifier", + mapper: IdentifierMapper +}; + +export const mSDeploy: OperationParameter = { + parameterPath: "mSDeploy", + mapper: MSDeployMapper +}; + +export const functionName: OperationURLParameter = { + parameterPath: "functionName", mapper: { - serializedName: "sku", + serializedName: "functionName", + required: true, + xmlName: "functionName", type: { name: "String" } } }; -export const slot: msRest.OperationURLParameter = { - parameterPath: "slot", + +export const functionEnvelope: OperationParameter = { + parameterPath: "functionEnvelope", + mapper: FunctionEnvelopeMapper +}; + +export const key: OperationParameter = { + parameterPath: "key", + mapper: KeyInfoMapper +}; + +export const keyName: OperationURLParameter = { + parameterPath: "keyName", mapper: { + serializedName: "keyName", required: true, - serializedName: "slot", + xmlName: "keyName", type: { name: "String" } } }; -export const snapshotId: msRest.OperationURLParameter = { - parameterPath: "snapshotId", + +export const keyType: OperationURLParameter = { + parameterPath: "keyType", mapper: { + serializedName: "keyType", required: true, - serializedName: "snapshotId", + xmlName: "keyType", type: { name: "String" } } }; -export const softRestart: msRest.OperationQueryParameter = { - parameterPath: ["options", "softRestart"], + +export const hostName1: OperationURLParameter = { + parameterPath: "hostName", mapper: { - serializedName: "softRestart", + serializedName: "hostName", + required: true, + xmlName: "hostName", type: { - name: "Boolean" + name: "String" } } }; -export const sourceControlType: msRest.OperationURLParameter = { - parameterPath: "sourceControlType", + +export const hostNameBinding: OperationParameter = { + parameterPath: "hostNameBinding", + mapper: HostNameBindingMapper +}; + +export const connectionEnvelope1: OperationParameter = { + parameterPath: "connectionEnvelope", + mapper: HybridConnectionMapper +}; + +export const entityName: OperationURLParameter = { + parameterPath: "entityName", mapper: { + serializedName: "entityName", required: true, - serializedName: "sourceControlType", + xmlName: "entityName", type: { name: "String" } } }; -export const stackOsType: msRest.OperationQueryParameter = { - parameterPath: ["options", "stackOsType"], + +export const connectionEnvelope2: OperationParameter = { + parameterPath: "connectionEnvelope", + mapper: RelayServiceConnectionEntityMapper +}; + +export const instanceId: OperationURLParameter = { + parameterPath: "instanceId", mapper: { - serializedName: "stackOsType", + serializedName: "instanceId", + required: true, + xmlName: "instanceId", type: { name: "String" } } }; -export const startTime: msRest.OperationQueryParameter = { - parameterPath: ["options", "startTime"], + +export const processId: OperationURLParameter = { + parameterPath: "processId", mapper: { - serializedName: "startTime", + serializedName: "processId", + required: true, + xmlName: "processId", type: { - name: "DateTime" + name: "String" } } }; -export const subscriptionId: msRest.OperationURLParameter = { - parameterPath: "subscriptionId", + +export const baseAddress: OperationURLParameter = { + parameterPath: "baseAddress", mapper: { + serializedName: "baseAddress", required: true, - serializedName: "subscriptionId", + xmlName: "baseAddress", type: { name: "String" } } }; -export const subscriptionName: msRest.OperationQueryParameter = { + +export const migrationOptions: OperationParameter = { + parameterPath: "migrationOptions", + mapper: StorageMigrationOptionsMapper +}; + +export const subscriptionName: OperationQueryParameter = { parameterPath: "subscriptionName", mapper: { - required: true, serializedName: "subscriptionName", + required: true, + xmlName: "subscriptionName", type: { name: "String" } } }; -export const synchronous: msRest.OperationQueryParameter = { - parameterPath: ["options", "synchronous"], - mapper: { - serializedName: "synchronous", - type: { - name: "Boolean" - } - } + +export const migrationRequestEnvelope: OperationParameter = { + parameterPath: "migrationRequestEnvelope", + mapper: MigrateMySqlRequestMapper }; -export const timeGrain: msRest.OperationQueryParameter = { - parameterPath: ["options", "timeGrain"], + +export const connectionEnvelope3: OperationParameter = { + parameterPath: "connectionEnvelope", + mapper: SwiftVirtualNetworkMapper +}; + +export const view: OperationURLParameter = { + parameterPath: "view", mapper: { - serializedName: "timeGrain", - constraints: { - Pattern: /PT[1-9][0-9]+[SMH]/ - }, + serializedName: "view", + required: true, + xmlName: "view", type: { name: "String" } } }; -export const top: msRest.OperationQueryParameter = { - parameterPath: ["options", "top"], + +export const durationInSeconds: OperationQueryParameter = { + parameterPath: ["options", "durationInSeconds"], mapper: { - serializedName: "$top", + serializedName: "durationInSeconds", + xmlName: "durationInSeconds", type: { - name: "String" + name: "Number" } } }; -export const updateSeen: msRest.OperationQueryParameter = { - parameterPath: ["options", "updateSeen"], + +export const maxFrameLength: OperationQueryParameter = { + parameterPath: ["options", "maxFrameLength"], mapper: { - serializedName: "updateSeen", + serializedName: "maxFrameLength", + xmlName: "maxFrameLength", type: { - name: "Boolean" + name: "Number" } } }; -export const userid: msRest.OperationURLParameter = { - parameterPath: "userid", + +export const sasUrl: OperationQueryParameter = { + parameterPath: ["options", "sasUrl"], mapper: { - required: true, - serializedName: "userid", + serializedName: "sasUrl", + xmlName: "sasUrl", type: { name: "String" } } }; -export const view: msRest.OperationURLParameter = { - parameterPath: "view", + +export const premierAddOnName: OperationURLParameter = { + parameterPath: "premierAddOnName", mapper: { + serializedName: "premierAddOnName", required: true, - serializedName: "view", + xmlName: "premierAddOnName", type: { name: "String" } } }; -export const vnetName: msRest.OperationURLParameter = { - parameterPath: "vnetName", + +export const premierAddOn: OperationParameter = { + parameterPath: "premierAddOn", + mapper: PremierAddOnMapper +}; + +export const premierAddOn1: OperationParameter = { + parameterPath: "premierAddOn", + mapper: PremierAddOnPatchResourceMapper +}; + +export const access: OperationParameter = { + parameterPath: "access", + mapper: PrivateAccessMapper +}; + +export const publicCertificateName: OperationURLParameter = { + parameterPath: "publicCertificateName", mapper: { + serializedName: "publicCertificateName", required: true, - serializedName: "vnetName", + xmlName: "publicCertificateName", type: { name: "String" } } }; -export const webJobName: msRest.OperationURLParameter = { - parameterPath: "webJobName", + +export const publicCertificate: OperationParameter = { + parameterPath: "publicCertificate", + mapper: PublicCertificateMapper +}; + +export const publishingProfileOptions: OperationParameter = { + parameterPath: "publishingProfileOptions", + mapper: CsmPublishingProfileOptionsMapper +}; + +export const accept3: OperationParameter = { + parameterPath: "accept", mapper: { - required: true, - serializedName: "webJobName", + defaultValue: "application/xml", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const workerName: msRest.OperationURLParameter = { - parameterPath: "workerName", + +export const synchronous: OperationQueryParameter = { + parameterPath: ["options", "synchronous"], mapper: { - required: true, - serializedName: "workerName", + serializedName: "synchronous", + xmlName: "synchronous", type: { - name: "String" + name: "Boolean" } } }; -export const workerPoolName: msRest.OperationURLParameter = { - parameterPath: "workerPoolName", + +export const restoreRequest: OperationParameter = { + parameterPath: "restoreRequest", + mapper: DeletedAppRestoreRequestMapper +}; + +export const restoreRequest1: OperationParameter = { + parameterPath: "restoreRequest", + mapper: SnapshotRestoreRequestMapper +}; + +export const siteExtensionId: OperationURLParameter = { + parameterPath: "siteExtensionId", mapper: { + serializedName: "siteExtensionId", required: true, - serializedName: "workerPoolName", + xmlName: "siteExtensionId", type: { name: "String" } } }; -export const xenonWorkersEnabled: msRest.OperationQueryParameter = { - parameterPath: ["options", "xenonWorkersEnabled"], + +export const siteSourceControl: OperationParameter = { + parameterPath: "siteSourceControl", + mapper: SiteSourceControlMapper +}; + +export const additionalFlags: OperationQueryParameter = { + parameterPath: ["options", "additionalFlags"], mapper: { - serializedName: "xenonWorkersEnabled", + serializedName: "additionalFlags", + xmlName: "additionalFlags", type: { - name: "Boolean" + name: "String" } } }; + +export const connectionEnvelope4: OperationParameter = { + parameterPath: "connectionEnvelope", + mapper: VnetInfoResourceMapper +}; diff --git a/sdk/appservice/arm-appservice/src/models/providerMappers.ts b/sdk/appservice/arm-appservice/src/models/providerMappers.ts deleted file mode 100644 index e81588ffc90f..000000000000 --- a/sdk/appservice/arm-appservice/src/models/providerMappers.ts +++ /dev/null @@ -1,297 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackCollection, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmOperationCollection, - CsmOperationDescription, - CsmOperationDescriptionProperties, - CsmOperationDisplay, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Dimension, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionAppStackCollection, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - LogSpecification, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MetricAvailability, - MetricSpecification, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - ServiceSpecification, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebAppStackCollection, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/recommendationsMappers.ts b/sdk/appservice/arm-appservice/src/models/recommendationsMappers.ts deleted file mode 100644 index 0de6c1422663..000000000000 --- a/sdk/appservice/arm-appservice/src/models/recommendationsMappers.ts +++ /dev/null @@ -1,286 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationCollection, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/resourceHealthMetadataOperationsMappers.ts b/sdk/appservice/arm-appservice/src/models/resourceHealthMetadataOperationsMappers.ts deleted file mode 100644 index 63753d2e326f..000000000000 --- a/sdk/appservice/arm-appservice/src/models/resourceHealthMetadataOperationsMappers.ts +++ /dev/null @@ -1,286 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceHealthMetadataCollection, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/staticSitesMappers.ts b/sdk/appservice/arm-appservice/src/models/staticSitesMappers.ts deleted file mode 100644 index 849182477bc2..000000000000 --- a/sdk/appservice/arm-appservice/src/models/staticSitesMappers.ts +++ /dev/null @@ -1,295 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateEndpointConnectionCollection, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkResourcesWrapper, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildCollection, - StaticSiteBuildProperties, - StaticSiteCollection, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainOverviewCollection, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSiteFunctionOverviewCollection, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserCollection, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteUserProvidedFunctionAppsCollection, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/topLevelDomainsMappers.ts b/sdk/appservice/arm-appservice/src/models/topLevelDomainsMappers.ts deleted file mode 100644 index 95717c88f004..000000000000 --- a/sdk/appservice/arm-appservice/src/models/topLevelDomainsMappers.ts +++ /dev/null @@ -1,289 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostName, - HostNameBinding, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - ProcessInfo, - ProcessModuleInfo, - ProcessThreadInfo, - ProxyOnlyResource, - PublicCertificate, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigurationSnapshotInfo, - SiteExtensionInfo, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TldLegalAgreement, - TldLegalAgreementCollection, - TokenStore, - TopLevelDomain, - TopLevelDomainAgreementOption, - TopLevelDomainCollection, - TriggeredJobHistory, - TriggeredJobRun, - TriggeredWebJob, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/models/webAppsMappers.ts b/sdk/appservice/arm-appservice/src/models/webAppsMappers.ts deleted file mode 100644 index 6b0d125013d7..000000000000 --- a/sdk/appservice/arm-appservice/src/models/webAppsMappers.ts +++ /dev/null @@ -1,327 +0,0 @@ -/* - * 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 { - AbnormalTimePeriod, - Address, - AddressResponse, - AllowedAudiencesValidation, - AnalysisData, - AnalysisDefinition, - ApiDefinitionInfo, - ApiKVReference, - ApiKVReferenceCollection, - ApiManagementConfig, - AppInsightsWebAppStackSettings, - Apple, - AppleRegistration, - ApplicationLogsConfig, - ApplicationStack, - ApplicationStackResource, - AppRegistration, - AppServiceCertificate, - AppServiceCertificateOrder, - AppServiceCertificateOrderPatchResource, - AppServiceCertificatePatchResource, - AppServiceCertificateResource, - AppServiceEnvironmentPatchResource, - AppServiceEnvironmentResource, - AppServicePlan, - AppServicePlanPatchResource, - ArmIdWrapper, - ArmPlan, - AseV3NetworkingConfiguration, - AuthPlatform, - AutoHealActions, - AutoHealCustomAction, - AutoHealRules, - AutoHealTriggers, - AzureActiveDirectory, - AzureActiveDirectoryLogin, - AzureActiveDirectoryRegistration, - AzureActiveDirectoryValidation, - AzureBlobStorageApplicationLogsConfig, - AzureBlobStorageHttpLogsConfig, - AzureStaticWebApps, - AzureStaticWebAppsRegistration, - AzureStorageInfoValue, - AzureStoragePropertyDictionaryResource, - AzureTableStorageApplicationLogsConfig, - BackupItem, - BackupItemCollection, - BackupRequest, - BackupSchedule, - BaseResource, - BillingMeter, - BlobStorageTokenStore, - Capability, - Certificate, - CertificateDetails, - CertificateEmail, - CertificateOrderAction, - CertificateOrderContact, - CertificatePatchResource, - ClientRegistration, - CloningInfo, - CloudError, - ConnectionStringDictionary, - ConnStringInfo, - ConnStringValueTypePair, - Contact, - ContainerCpuStatistics, - ContainerCpuUsage, - ContainerInfo, - ContainerMemoryStatistics, - ContainerNetworkInterfaceStatistics, - ContainerThrottlingData, - ContinuousWebJob, - ContinuousWebJobCollection, - CookieExpiration, - CorsSettings, - CsmPublishingCredentialsPoliciesCollection, - CsmPublishingCredentialsPoliciesEntity, - CsmPublishingProfileOptions, - CsmSlotEntity, - CsmUsageQuota, - CsmUsageQuotaCollection, - CustomHostnameAnalysisResult, - CustomOpenIdConnectProvider, - DatabaseBackupSetting, - DataProviderMetadata, - DataSource, - DataTableResponseColumn, - DataTableResponseObject, - DefaultErrorResponse, - DefaultErrorResponseError, - DefaultErrorResponseErrorDetailsItem, - DeletedAppRestoreRequest, - DeletedSite, - Deployment, - DeploymentCollection, - DetectorAbnormalTimePeriod, - DetectorDefinition, - DetectorInfo, - DetectorResponse, - DiagnosticAnalysis, - DiagnosticCategory, - DiagnosticData, - DiagnosticDetectorResponse, - DiagnosticMetricSample, - DiagnosticMetricSet, - Domain, - DomainOwnershipIdentifier, - DomainPatchResource, - DomainPurchaseConsent, - EnabledConfig, - ErrorEntity, - Experiments, - Facebook, - FileSystemApplicationLogsConfig, - FileSystemHttpLogsConfig, - FileSystemTokenStore, - ForwardProxy, - FunctionAppMajorVersion, - FunctionAppMinorVersion, - FunctionAppRuntimes, - FunctionAppRuntimeSettings, - FunctionAppStack, - FunctionEnvelope, - FunctionEnvelopeCollection, - FunctionSecrets, - GeoRegion, - GitHub, - GitHubActionCodeConfiguration, - GitHubActionConfiguration, - GitHubActionContainerConfiguration, - GitHubActionWebAppStackSettings, - GlobalValidation, - Google, - HandlerMapping, - HostingEnvironmentProfile, - HostKeys, - HostName, - HostNameBinding, - HostNameBindingCollection, - HostNameSslState, - HttpLogsConfig, - HttpSettings, - HttpSettingsRoutes, - HybridConnection, - HybridConnectionKey, - HybridConnectionLimits, - Identifier, - IdentifierCollection, - IdentityProviders, - IpSecurityRestriction, - JwtClaimChecks, - KeyInfo, - KeyValuePairStringObject, - KubeEnvironmentProfile, - LegacyMicrosoftAccount, - LinuxJavaContainerSettings, - LocalizableString, - Login, - LoginRoutes, - LoginScopes, - ManagedServiceIdentity, - ManagedServiceIdentityUserAssignedIdentitiesValue, - MigrateMySqlRequest, - MigrateMySqlStatus, - MSDeploy, - MSDeployLog, - MSDeployLogEntry, - MSDeployStatus, - NameValuePair, - NetworkFeatures, - NetworkTrace, - Nonce, - OpenIdConnectClientCredential, - OpenIdConnectConfig, - OpenIdConnectLogin, - OpenIdConnectRegistration, - Operation, - PerfMonCounterCollection, - PerfMonResponse, - PerfMonSample, - PerfMonSet, - PremierAddOn, - PremierAddOnOffer, - PremierAddOnPatchResource, - PrivateAccess, - PrivateAccessSubnet, - PrivateAccessVirtualNetwork, - PrivateEndpointConnectionCollection, - PrivateLinkConnectionApprovalRequestResource, - PrivateLinkConnectionState, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkResourcesWrapper, - ProcessInfo, - ProcessInfoCollection, - ProcessModuleInfo, - ProcessModuleInfoCollection, - ProcessThreadInfo, - ProcessThreadInfoCollection, - ProxyOnlyResource, - PublicCertificate, - PublicCertificateCollection, - PushSettings, - QueryUtterancesResult, - QueryUtterancesResults, - RampUpRule, - Recommendation, - RecommendationRule, - ReissueCertificateOrderRequest, - RelayServiceConnectionEntity, - RemotePrivateEndpointConnection, - RemotePrivateEndpointConnectionARMResource, - Rendering, - RenewCertificateOrderRequest, - RequestsBasedTrigger, - Resource, - ResourceHealthMetadata, - ResourceMetricAvailability, - ResourceMetricDefinition, - ResponseMessageEnvelopeRemotePrivateEndpointConnection, - ResponseMetaData, - RestoreRequest, - SampleUtterance, - Site, - SiteAuthSettings, - SiteAuthSettingsV2, - SiteCloneability, - SiteCloneabilityCriterion, - SiteConfig, - SiteConfigPropertiesDictionary, - SiteConfigResource, - SiteConfigResourceCollection, - SiteConfigurationSnapshotInfo, - SiteConfigurationSnapshotInfoCollection, - SiteExtensionInfo, - SiteExtensionInfoCollection, - SiteLimits, - SiteLogsConfig, - SiteMachineKey, - SitePatchResource, - SitePhpErrorLogFlag, - SiteSourceControl, - SkuCapacity, - SkuDescription, - SlotConfigNamesResource, - SlotDifference, - SlotDifferenceCollection, - SlotSwapStatus, - SlowRequestsBasedTrigger, - Snapshot, - SnapshotCollection, - SnapshotRecoverySource, - SnapshotRestoreRequest, - Solution, - SourceControl, - StackMajorVersion, - StackMinorVersion, - StaticSiteARMResource, - StaticSiteBuildARMResource, - StaticSiteBuildProperties, - StaticSiteCustomDomainOverviewARMResource, - StaticSiteCustomDomainRequestPropertiesARMResource, - StaticSiteFunctionOverviewARMResource, - StaticSitePatchResource, - StaticSiteResetPropertiesARMResource, - StaticSitesWorkflowPreview, - StaticSitesWorkflowPreviewRequest, - StaticSiteTemplateOptions, - StaticSiteUserARMResource, - StaticSiteUserInvitationRequestResource, - StaticSiteUserInvitationResponseResource, - StaticSiteUserProvidedFunctionApp, - StaticSiteUserProvidedFunctionAppARMResource, - StaticSiteZipDeploymentARMResource, - Status, - StatusCodesBasedTrigger, - StatusCodesRangeBasedTrigger, - StorageMigrationOptions, - StorageMigrationResponse, - StringDictionary, - StringList, - SupportTopic, - SwiftVirtualNetwork, - TokenStore, - TopLevelDomain, - TriggeredJobHistory, - TriggeredJobHistoryCollection, - TriggeredJobRun, - TriggeredWebJob, - TriggeredWebJobCollection, - Twitter, - TwitterRegistration, - Usage, - User, - VirtualApplication, - VirtualDirectory, - VirtualIPMapping, - VirtualNetworkProfile, - VnetGateway, - VnetInfo, - VnetParameters, - VnetRoute, - VnetValidationFailureDetails, - VnetValidationTestFailure, - WebAppCollection, - WebAppInstanceStatusCollection, - WebAppMajorVersion, - WebAppMinorVersion, - WebAppRuntimes, - WebAppRuntimeSettings, - WebAppStack, - WebJob, - WebJobCollection, - WebSiteInstanceStatus, - WindowsJavaContainerSettings, - WorkerPoolResource -} from "../models/mappers"; diff --git a/sdk/appservice/arm-appservice/src/operations/appServiceCertificateOrders.ts b/sdk/appservice/arm-appservice/src/operations/appServiceCertificateOrders.ts index 0e17cf9ad7e6..f27cb21273df 100644 --- a/sdk/appservice/arm-appservice/src/operations/appServiceCertificateOrders.ts +++ b/sdk/appservice/arm-appservice/src/operations/appServiceCertificateOrders.ts @@ -3,24 +3,76 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/appServiceCertificateOrdersMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { AppServiceCertificateOrders } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + AppServiceCertificateOrder, + AppServiceCertificateOrdersListNextOptionalParams, + AppServiceCertificateOrdersListOptionalParams, + AppServiceCertificateOrdersListByResourceGroupNextOptionalParams, + AppServiceCertificateOrdersListByResourceGroupOptionalParams, + AppServiceCertificateResource, + AppServiceCertificateOrdersListCertificatesNextOptionalParams, + AppServiceCertificateOrdersListCertificatesOptionalParams, + AppServiceCertificateOrdersListResponse, + AppServiceCertificateOrdersValidatePurchaseInformationOptionalParams, + AppServiceCertificateOrdersListByResourceGroupResponse, + AppServiceCertificateOrdersGetOptionalParams, + AppServiceCertificateOrdersGetResponse, + AppServiceCertificateOrdersCreateOrUpdateOptionalParams, + AppServiceCertificateOrdersCreateOrUpdateResponse, + AppServiceCertificateOrdersDeleteOptionalParams, + AppServiceCertificateOrderPatchResource, + AppServiceCertificateOrdersUpdateOptionalParams, + AppServiceCertificateOrdersUpdateResponse, + AppServiceCertificateOrdersListCertificatesResponse, + AppServiceCertificateOrdersGetCertificateOptionalParams, + AppServiceCertificateOrdersGetCertificateResponse, + AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams, + AppServiceCertificateOrdersCreateOrUpdateCertificateResponse, + AppServiceCertificateOrdersDeleteCertificateOptionalParams, + AppServiceCertificatePatchResource, + AppServiceCertificateOrdersUpdateCertificateOptionalParams, + AppServiceCertificateOrdersUpdateCertificateResponse, + ReissueCertificateOrderRequest, + AppServiceCertificateOrdersReissueOptionalParams, + RenewCertificateOrderRequest, + AppServiceCertificateOrdersRenewOptionalParams, + AppServiceCertificateOrdersResendEmailOptionalParams, + NameIdentifier, + AppServiceCertificateOrdersResendRequestEmailsOptionalParams, + SiteSealRequest, + AppServiceCertificateOrdersRetrieveSiteSealOptionalParams, + AppServiceCertificateOrdersRetrieveSiteSealResponse, + AppServiceCertificateOrdersVerifyDomainOwnershipOptionalParams, + AppServiceCertificateOrdersRetrieveCertificateActionsOptionalParams, + AppServiceCertificateOrdersRetrieveCertificateActionsResponse, + AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptionalParams, + AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse, + AppServiceCertificateOrdersListNextResponse, + AppServiceCertificateOrdersListByResourceGroupNextResponse, + AppServiceCertificateOrdersListCertificatesNextResponse +} from "../models"; +/// /** Class representing a AppServiceCertificateOrders. */ -export class AppServiceCertificateOrders { +export class AppServiceCertificateOrdersImpl + implements AppServiceCertificateOrders { private readonly client: WebSiteManagementClientContext; /** - * Create a AppServiceCertificateOrders. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class AppServiceCertificateOrders class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -28,193 +80,352 @@ export class AppServiceCertificateOrders { /** * Description for List all certificate orders in a subscription. - * @summary List all certificate orders in a subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; + * @param options The options parameters. + */ + public list( + options?: AppServiceCertificateOrdersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: AppServiceCertificateOrdersListOptionalParams + ): 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?: AppServiceCertificateOrdersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + * Description for Get certificate orders in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: AppServiceCertificateOrdersListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listByResourceGroupPagingPage(resourceGroupName, options); + } + }; + } + + private async *listByResourceGroupPagingPage( + resourceGroupName: string, + options?: AppServiceCertificateOrdersListByResourceGroupOptionalParams + ): 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?: AppServiceCertificateOrdersListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** - * Description for Validate information for a certificate order. - * @summary Validate information for a certificate order. - * @param appServiceCertificateOrder Information for a certificate order. - * @param [options] The optional parameters - * @returns Promise - */ - validatePurchaseInformation(appServiceCertificateOrder: Models.AppServiceCertificateOrder, options?: msRest.RequestOptionsBase): Promise; + * Description for List all certificates associated with a certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param options The options parameters. + */ + public listCertificates( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersListCertificatesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listCertificatesPagingAll( + resourceGroupName, + certificateOrderName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listCertificatesPagingPage( + resourceGroupName, + certificateOrderName, + options + ); + } + }; + } + + private async *listCertificatesPagingPage( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersListCertificatesOptionalParams + ): AsyncIterableIterator { + let result = await this._listCertificates( + resourceGroupName, + certificateOrderName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listCertificatesNext( + resourceGroupName, + certificateOrderName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listCertificatesPagingAll( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersListCertificatesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listCertificatesPagingPage( + resourceGroupName, + certificateOrderName, + options + )) { + yield* page; + } + } + /** - * @param appServiceCertificateOrder Information for a certificate order. - * @param callback The callback + * Description for List all certificate orders in a subscription. + * @param options The options parameters. */ - validatePurchaseInformation(appServiceCertificateOrder: Models.AppServiceCertificateOrder, callback: msRest.ServiceCallback): void; + private _list( + options?: AppServiceCertificateOrdersListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Description for Validate information for a certificate order. * @param appServiceCertificateOrder Information for a certificate order. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - validatePurchaseInformation(appServiceCertificateOrder: Models.AppServiceCertificateOrder, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - validatePurchaseInformation(appServiceCertificateOrder: Models.AppServiceCertificateOrder, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + validatePurchaseInformation( + appServiceCertificateOrder: AppServiceCertificateOrder, + options?: AppServiceCertificateOrdersValidatePurchaseInformationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - appServiceCertificateOrder, - options - }, - validatePurchaseInformationOperationSpec, - callback); + { appServiceCertificateOrder, options }, + validatePurchaseInformationOperationSpec + ); } /** * Description for Get certificate orders in a resource group. - * @summary Get certificate orders in a resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroup( + resourceGroupName: string, + options?: AppServiceCertificateOrdersListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); } /** * Description for Get a certificate order. - * @summary Get a certificate order. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order.. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order.. - * @param callback The callback - */ - get(resourceGroupName: string, certificateOrderName: string, callback: msRest.ServiceCallback): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order.. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, certificateOrderName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - certificateOrderName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, certificateOrderName, options }, + getOperationSpec + ); } /** * Description for Create or update a certificate purchase order. - * @summary Create or update a certificate purchase order. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param certificateDistinguishedName Distinguished name to use for the certificate order. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: Models.AppServiceCertificateOrder, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,certificateOrderName,certificateDistinguishedName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + certificateOrderName: string, + certificateDistinguishedName: AppServiceCertificateOrder, + options?: AppServiceCertificateOrdersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServiceCertificateOrdersCreateOrUpdateResponse + > + > { + 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() + } + }; + }; - /** - * Description for Delete an existing certificate order. - * @summary Delete an existing certificate order. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, certificateOrderName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, certificateOrderName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + const lro = new LroImpl( + sendOperation, { resourceGroupName, certificateOrderName, + certificateDistinguishedName, options }, - deleteMethodOperationSpec, - callback); + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Description for Create or update a certificate purchase order. - * @summary Create or update a certificate purchase order. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param certificateDistinguishedName Distinguished name to use for the certificate order. - * @param [options] The optional parameters - * @returns Promise - */ - update(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: Models.AppServiceCertificateOrderPatchResource, options?: msRest.RequestOptionsBase): Promise; + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + certificateOrderName: string, + certificateDistinguishedName: AppServiceCertificateOrder, + options?: AppServiceCertificateOrdersCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + certificateOrderName, + certificateDistinguishedName, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Delete an existing certificate order. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. - * @param certificateDistinguishedName Distinguished name to use for the certificate order. - * @param callback The callback + * @param options The options parameters. */ - update(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: Models.AppServiceCertificateOrderPatchResource, callback: msRest.ServiceCallback): void; + delete( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, certificateOrderName, options }, + deleteOperationSpec + ); + } + /** + * Description for Create or update a certificate purchase order. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param certificateDistinguishedName Distinguished name to use for the certificate order. - * @param options The optional parameters - * @param callback The callback - */ - update(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: Models.AppServiceCertificateOrderPatchResource, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - update(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: Models.AppServiceCertificateOrderPatchResource, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + update( + resourceGroupName: string, + certificateOrderName: string, + certificateDistinguishedName: AppServiceCertificateOrderPatchResource, + options?: AppServiceCertificateOrdersUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -222,161 +433,183 @@ export class AppServiceCertificateOrders { certificateDistinguishedName, options }, - updateOperationSpec, - callback) as Promise; + updateOperationSpec + ); } /** * Description for List all certificates associated with a certificate order. - * @summary List all certificates associated with a certificate order. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param [options] The optional parameters - * @returns Promise - */ - listCertificates(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param callback The callback - */ - listCertificates(resourceGroupName: string, certificateOrderName: string, callback: msRest.ServiceCallback): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listCertificates(resourceGroupName: string, certificateOrderName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listCertificates(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listCertificates( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersListCertificatesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - certificateOrderName, - options - }, - listCertificatesOperationSpec, - callback) as Promise; + { resourceGroupName, certificateOrderName, options }, + listCertificatesOperationSpec + ); } /** * Description for Get the certificate associated with a certificate order. - * @summary Get the certificate associated with a certificate order. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param name Name of the certificate. - * @param [options] The optional parameters - * @returns Promise - */ - getCertificate(resourceGroupName: string, certificateOrderName: string, name: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param name Name of the certificate. - * @param callback The callback - */ - getCertificate(resourceGroupName: string, certificateOrderName: string, name: string, callback: msRest.ServiceCallback): void; + * @param options The options parameters. + */ + getCertificate( + resourceGroupName: string, + certificateOrderName: string, + name: string, + options?: AppServiceCertificateOrdersGetCertificateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, certificateOrderName, name, options }, + getCertificateOperationSpec + ); + } + /** + * Description for Creates or updates a certificate and associates with key vault secret. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param name Name of the certificate. - * @param options The optional parameters - * @param callback The callback - */ - getCertificate(resourceGroupName: string, certificateOrderName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getCertificate(resourceGroupName: string, certificateOrderName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + * @param keyVaultCertificate Key vault certificate resource Id. + * @param options The options parameters. + */ + async beginCreateOrUpdateCertificate( + resourceGroupName: string, + certificateOrderName: string, + name: string, + keyVaultCertificate: AppServiceCertificateResource, + options?: AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceCertificateOrdersCreateOrUpdateCertificateResponse + >, + AppServiceCertificateOrdersCreateOrUpdateCertificateResponse + > + > { + 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, certificateOrderName, name, + keyVaultCertificate, options }, - getCertificateOperationSpec, - callback) as Promise; + createOrUpdateCertificateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Description for Creates or updates a certificate and associates with key vault secret. - * @summary Creates or updates a certificate and associates with key vault secret. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param name Name of the certificate. * @param keyVaultCertificate Key vault certificate resource Id. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateCertificate(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: Models.AppServiceCertificateResource, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdateCertificate(resourceGroupName,certificateOrderName,name,keyVaultCertificate,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + * @param options The options parameters. + */ + async beginCreateOrUpdateCertificateAndWait( + resourceGroupName: string, + certificateOrderName: string, + name: string, + keyVaultCertificate: AppServiceCertificateResource, + options?: AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateCertificate( + resourceGroupName, + certificateOrderName, + name, + keyVaultCertificate, + options + ); + return poller.pollUntilDone(); } /** * Description for Delete the certificate associated with a certificate order. - * @summary Delete the certificate associated with a certificate order. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param name Name of the certificate. - * @param [options] The optional parameters - * @returns Promise - */ - deleteCertificate(resourceGroupName: string, certificateOrderName: string, name: string, options?: msRest.RequestOptionsBase): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param name Name of the certificate. - * @param callback The callback - */ - deleteCertificate(resourceGroupName: string, certificateOrderName: string, name: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param name Name of the certificate. - * @param options The optional parameters - * @param callback The callback - */ - deleteCertificate(resourceGroupName: string, certificateOrderName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteCertificate(resourceGroupName: string, certificateOrderName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + deleteCertificate( + resourceGroupName: string, + certificateOrderName: string, + name: string, + options?: AppServiceCertificateOrdersDeleteCertificateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - certificateOrderName, - name, - options - }, - deleteCertificateOperationSpec, - callback); + { resourceGroupName, certificateOrderName, name, options }, + deleteCertificateOperationSpec + ); } /** * Description for Creates or updates a certificate and associates with key vault secret. - * @summary Creates or updates a certificate and associates with key vault secret. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param name Name of the certificate. * @param keyVaultCertificate Key vault certificate resource Id. - * @param [options] The optional parameters - * @returns Promise - */ - updateCertificate(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: Models.AppServiceCertificatePatchResource, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param name Name of the certificate. - * @param keyVaultCertificate Key vault certificate resource Id. - * @param callback The callback - */ - updateCertificate(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: Models.AppServiceCertificatePatchResource, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param name Name of the certificate. - * @param keyVaultCertificate Key vault certificate resource Id. - * @param options The optional parameters - * @param callback The callback - */ - updateCertificate(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: Models.AppServiceCertificatePatchResource, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - updateCertificate(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: Models.AppServiceCertificatePatchResource, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + updateCertificate( + resourceGroupName: string, + certificateOrderName: string, + name: string, + keyVaultCertificate: AppServiceCertificatePatchResource, + options?: AppServiceCertificateOrdersUpdateCertificateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -385,36 +618,23 @@ export class AppServiceCertificateOrders { keyVaultCertificate, options }, - updateCertificateOperationSpec, - callback) as Promise; + updateCertificateOperationSpec + ); } /** * Description for Reissue an existing certificate order. - * @summary Reissue an existing certificate order. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param reissueCertificateOrderRequest Parameters for the reissue. - * @param [options] The optional parameters - * @returns Promise - */ - reissue(resourceGroupName: string, certificateOrderName: string, reissueCertificateOrderRequest: Models.ReissueCertificateOrderRequest, options?: msRest.RequestOptionsBase): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param reissueCertificateOrderRequest Parameters for the reissue. - * @param callback The callback - */ - reissue(resourceGroupName: string, certificateOrderName: string, reissueCertificateOrderRequest: Models.ReissueCertificateOrderRequest, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param reissueCertificateOrderRequest Parameters for the reissue. - * @param options The optional parameters - * @param callback The callback - */ - reissue(resourceGroupName: string, certificateOrderName: string, reissueCertificateOrderRequest: Models.ReissueCertificateOrderRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - reissue(resourceGroupName: string, certificateOrderName: string, reissueCertificateOrderRequest: Models.ReissueCertificateOrderRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + reissue( + resourceGroupName: string, + certificateOrderName: string, + reissueCertificateOrderRequest: ReissueCertificateOrderRequest, + options?: AppServiceCertificateOrdersReissueOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -422,36 +642,23 @@ export class AppServiceCertificateOrders { reissueCertificateOrderRequest, options }, - reissueOperationSpec, - callback); + reissueOperationSpec + ); } /** * Description for Renew an existing certificate order. - * @summary Renew an existing certificate order. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param renewCertificateOrderRequest Renew parameters - * @param [options] The optional parameters - * @returns Promise - */ - renew(resourceGroupName: string, certificateOrderName: string, renewCertificateOrderRequest: Models.RenewCertificateOrderRequest, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param renewCertificateOrderRequest Renew parameters - * @param callback The callback - */ - renew(resourceGroupName: string, certificateOrderName: string, renewCertificateOrderRequest: Models.RenewCertificateOrderRequest, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param renewCertificateOrderRequest Renew parameters - * @param options The optional parameters - * @param callback The callback - */ - renew(resourceGroupName: string, certificateOrderName: string, renewCertificateOrderRequest: Models.RenewCertificateOrderRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - renew(resourceGroupName: string, certificateOrderName: string, renewCertificateOrderRequest: Models.RenewCertificateOrderRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + renew( + resourceGroupName: string, + certificateOrderName: string, + renewCertificateOrderRequest: RenewCertificateOrderRequest, + options?: AppServiceCertificateOrdersRenewOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -459,358 +666,183 @@ export class AppServiceCertificateOrders { renewCertificateOrderRequest, options }, - renewOperationSpec, - callback); + renewOperationSpec + ); } /** * Description for Resend certificate email. - * @summary Resend certificate email. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - resendEmail(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param callback The callback - */ - resendEmail(resourceGroupName: string, certificateOrderName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param options The optional parameters - * @param callback The callback - */ - resendEmail(resourceGroupName: string, certificateOrderName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - resendEmail(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + resendEmail( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersResendEmailOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - certificateOrderName, - options - }, - resendEmailOperationSpec, - callback); + { resourceGroupName, certificateOrderName, options }, + resendEmailOperationSpec + ); } /** - * Description for Verify domain ownership for this certificate order. - * @summary Verify domain ownership for this certificate order. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param [options] The optional parameters - * @returns Promise - */ - resendRequestEmails(resourceGroupName: string, certificateOrderName: string, options?: Models.AppServiceCertificateOrdersResendRequestEmailsOptionalParams): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param callback The callback - */ - resendRequestEmails(resourceGroupName: string, certificateOrderName: string, callback: msRest.ServiceCallback): void; - /** + * Resend domain verification ownership email containing steps on how to verify a domain for a given + * certificate order * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. - * @param options The optional parameters - * @param callback The callback - */ - resendRequestEmails(resourceGroupName: string, certificateOrderName: string, options: Models.AppServiceCertificateOrdersResendRequestEmailsOptionalParams, callback: msRest.ServiceCallback): void; - resendRequestEmails(resourceGroupName: string, certificateOrderName: string, options?: Models.AppServiceCertificateOrdersResendRequestEmailsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param nameIdentifier Email address + * @param options The options parameters. + */ + resendRequestEmails( + resourceGroupName: string, + certificateOrderName: string, + nameIdentifier: NameIdentifier, + options?: AppServiceCertificateOrdersResendRequestEmailsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - certificateOrderName, - options - }, - resendRequestEmailsOperationSpec, - callback); + { resourceGroupName, certificateOrderName, nameIdentifier, options }, + resendRequestEmailsOperationSpec + ); } /** - * Description for Verify domain ownership for this certificate order. - * @summary Verify domain ownership for this certificate order. + * This method is used to obtain the site seal information for an issued certificate. A site seal is a + * graphic that the certificate purchaser can embed on their web site to show their visitors + * information about their SSL certificate. If a web site visitor clicks on the site seal image, a + * pop-up page is displayed that contains detailed information about the SSL certificate. The site seal + * token is used to link the site seal graphic image to the appropriate certificate details pop-up page + * display when a user clicks on the site seal. The site seal images are expected to be static images + * and hosted by the reseller, to minimize delays for customer page load times. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. * @param siteSealRequest Site seal request. - * @param [options] The optional parameters - * @returns Promise - */ - retrieveSiteSeal(resourceGroupName: string, certificateOrderName: string, siteSealRequest: Models.SiteSealRequest, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param siteSealRequest Site seal request. - * @param callback The callback - */ - retrieveSiteSeal(resourceGroupName: string, certificateOrderName: string, siteSealRequest: Models.SiteSealRequest, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param siteSealRequest Site seal request. - * @param options The optional parameters - * @param callback The callback - */ - retrieveSiteSeal(resourceGroupName: string, certificateOrderName: string, siteSealRequest: Models.SiteSealRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - retrieveSiteSeal(resourceGroupName: string, certificateOrderName: string, siteSealRequest: Models.SiteSealRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + retrieveSiteSeal( + resourceGroupName: string, + certificateOrderName: string, + siteSealRequest: SiteSealRequest, + options?: AppServiceCertificateOrdersRetrieveSiteSealOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - certificateOrderName, - siteSealRequest, - options - }, - retrieveSiteSealOperationSpec, - callback) as Promise; + { resourceGroupName, certificateOrderName, siteSealRequest, options }, + retrieveSiteSealOperationSpec + ); } /** * Description for Verify domain ownership for this certificate order. - * @summary Verify domain ownership for this certificate order. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName Name of the certificate order. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - verifyDomainOwnership(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param callback The callback - */ - verifyDomainOwnership(resourceGroupName: string, certificateOrderName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param options The optional parameters - * @param callback The callback - */ - verifyDomainOwnership(resourceGroupName: string, certificateOrderName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - verifyDomainOwnership(resourceGroupName: string, certificateOrderName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + verifyDomainOwnership( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersVerifyDomainOwnershipOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - certificateOrderName, - options - }, - verifyDomainOwnershipOperationSpec, - callback); + { resourceGroupName, certificateOrderName, options }, + verifyDomainOwnershipOperationSpec + ); } /** * Description for Retrieve the list of certificate actions. - * @summary Retrieve the list of certificate actions. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the certificate order. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - retrieveCertificateActions(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate order. - * @param callback The callback - */ - retrieveCertificateActions(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate order. - * @param options The optional parameters - * @param callback The callback - */ - retrieveCertificateActions(resourceGroupName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - retrieveCertificateActions(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + retrieveCertificateActions( + resourceGroupName: string, + name: string, + options?: AppServiceCertificateOrdersRetrieveCertificateActionsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - retrieveCertificateActionsOperationSpec, - callback) as Promise; + { resourceGroupName, name, options }, + retrieveCertificateActionsOperationSpec + ); } /** * Description for Retrieve email history. - * @summary Retrieve email history. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate order. - * @param [options] The optional parameters - * @returns Promise - */ - retrieveCertificateEmailHistory(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the certificate order. - * @param callback The callback - */ - retrieveCertificateEmailHistory(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate order. - * @param options The optional parameters - * @param callback The callback - */ - retrieveCertificateEmailHistory(resourceGroupName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - retrieveCertificateEmailHistory(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + retrieveCertificateEmailHistory( + resourceGroupName: string, + name: string, + options?: AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptionalParams + ): Promise< + AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse + > { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - retrieveCertificateEmailHistoryOperationSpec, - callback) as Promise; - } - - /** - * Description for Create or update a certificate purchase order. - * @summary Create or update a certificate purchase order. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param certificateDistinguishedName Distinguished name to use for the certificate order. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, certificateOrderName: string, certificateDistinguishedName: Models.AppServiceCertificateOrder, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - certificateOrderName, - certificateDistinguishedName, - options - }, - beginCreateOrUpdateOperationSpec, - options); - } - - /** - * Description for Creates or updates a certificate and associates with key vault secret. - * @summary Creates or updates a certificate and associates with key vault secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName Name of the certificate order. - * @param name Name of the certificate. - * @param keyVaultCertificate Key vault certificate resource Id. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdateCertificate(resourceGroupName: string, certificateOrderName: string, name: string, keyVaultCertificate: Models.AppServiceCertificateResource, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - certificateOrderName, - name, - keyVaultCertificate, - options - }, - beginCreateOrUpdateCertificateOperationSpec, - options); + { resourceGroupName, name, options }, + retrieveCertificateEmailHistoryOperationSpec + ); } /** - * Description for List all certificate orders in a subscription. - * @summary List all certificate orders in a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: AppServiceCertificateOrdersListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for Get certificate orders in a resource group. - * @summary Get certificate orders in a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @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?: AppServiceCertificateOrdersListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } /** - * Description for List all certificates associated with a certificate order. - * @summary List all certificates associated with a certificate order. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listCertificatesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listCertificatesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listCertificatesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listCertificatesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListCertificatesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param nextLink The nextLink from the previous successful call to the ListCertificates method. + * @param options The options parameters. + */ + private _listCertificatesNext( + resourceGroupName: string, + certificateOrderName: string, + nextLink: string, + options?: AppServiceCertificateOrdersListCertificatesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listCertificatesNextOperationSpec, - callback) as Promise; + { resourceGroupName, certificateOrderName, nextLink, options }, + listCertificatesNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.AppServiceCertificateOrderCollection @@ -819,50 +851,32 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const validatePurchaseInformationOperationSpec: msRest.OperationSpec = { +const validatePurchaseInformationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "appServiceCertificateOrder", - mapper: { - ...Mappers.AppServiceCertificateOrder, - required: true - } - }, responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.appServiceCertificateOrder, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.AppServiceCertificateOrderCollection @@ -871,48 +885,74 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", + responses: { + 200: { + bodyMapper: Mappers.AppServiceCertificateOrder + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.certificateOrderName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.AppServiceCertificateOrder }, + 201: { + bodyMapper: Mappers.AppServiceCertificateOrder + }, + 202: { + bodyMapper: Mappers.AppServiceCertificateOrder + }, + 204: { + bodyMapper: Mappers.AppServiceCertificateOrder + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", + requestBody: Parameters.certificateDistinguishedName, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.certificateOrderName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -920,58 +960,44 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.certificateOrderName ], - requestBody: { - parameterPath: "certificateDistinguishedName", - mapper: { - ...Mappers.AppServiceCertificateOrderPatchResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.AppServiceCertificateOrder }, - 201: { - bodyMapper: Mappers.AppServiceCertificateOrder - }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listCertificatesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates", + requestBody: Parameters.certificateDistinguishedName1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.certificateOrderName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listCertificatesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServiceCertificateCollection @@ -980,50 +1006,77 @@ const listCertificatesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.certificateOrderName + ], + headerParameters: [Parameters.accept], serializer }; - -const getCertificateOperationSpec: msRest.OperationSpec = { +const getCertificateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", + responses: { + 200: { + bodyMapper: Mappers.AppServiceCertificateResource + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.certificateOrderName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.name ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateCertificateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.AppServiceCertificateResource }, + 201: { + bodyMapper: Mappers.AppServiceCertificateResource + }, + 202: { + bodyMapper: Mappers.AppServiceCertificateResource + }, + 204: { + bodyMapper: Mappers.AppServiceCertificateResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteCertificateOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", + requestBody: Parameters.keyVaultCertificate, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.certificateOrderName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.name ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteCertificateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -1031,184 +1084,132 @@ const deleteCertificateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateCertificateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.certificateOrderName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.name ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "keyVaultCertificate", - mapper: { - ...Mappers.AppServiceCertificatePatchResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateCertificateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.AppServiceCertificateResource }, - 201: { - bodyMapper: Mappers.AppServiceCertificateResource - }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const reissueOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/reissue", + requestBody: Parameters.keyVaultCertificate1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.name ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "reissueCertificateOrderRequest", - mapper: { - ...Mappers.ReissueCertificateOrderRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const reissueOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/reissue", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const renewOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/renew", + requestBody: Parameters.reissueCertificateOrderRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.certificateOrderName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "renewCertificateOrderRequest", - mapper: { - ...Mappers.RenewCertificateOrderRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const renewOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/renew", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const resendEmailOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendEmail", + requestBody: Parameters.renewCertificateOrderRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.certificateOrderName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const resendEmailOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendEmail", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const resendRequestEmailsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.certificateOrderName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: { - name: [ - "options", - "name" - ] - }, - mapper: { - ...Mappers.NameIdentifier, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const resendRequestEmailsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const retrieveSiteSealOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal", + requestBody: Parameters.nameIdentifier, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId + Parameters.certificateOrderName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "siteSealRequest", - mapper: { - ...Mappers.SiteSealRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const retrieveSiteSealOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.SiteSeal @@ -1217,57 +1218,49 @@ const retrieveSiteSealOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const verifyDomainOwnershipOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/verifyDomainOwnership", + requestBody: Parameters.siteSealRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.certificateOrderName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const verifyDomainOwnershipOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/verifyDomainOwnership", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const retrieveCertificateActionsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.certificateOrderName ], + headerParameters: [Parameters.accept], + serializer +}; +const retrieveCertificateActionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions", + httpMethod: "POST", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", element: { - type: { - name: "Composite", - className: "CertificateOrderAction" - } + type: { name: "Composite", className: "CertificateOrderAction" } } } } @@ -1276,34 +1269,27 @@ const retrieveCertificateActionsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const retrieveCertificateEmailHistoryOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.name ], + headerParameters: [Parameters.accept], + serializer +}; +const retrieveCertificateEmailHistoryOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory", + httpMethod: "POST", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", element: { - type: { - name: "Composite", - className: "CertificateEmail" - } + type: { name: "Composite", className: "CertificateEmail" } } } } @@ -1312,93 +1298,19 @@ const retrieveCertificateEmailHistoryOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "certificateDistinguishedName", - mapper: { - ...Mappers.AppServiceCertificateOrder, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.AppServiceCertificateOrder - }, - 201: { - bodyMapper: Mappers.AppServiceCertificateOrder - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const beginCreateOrUpdateCertificateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.name ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "keyVaultCertificate", - mapper: { - ...Mappers.AppServiceCertificateResource, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.AppServiceCertificateResource - }, - 201: { - bodyMapper: Mappers.AppServiceCertificateResource - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServiceCertificateOrderCollection @@ -1407,22 +1319,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServiceCertificateOrderCollection @@ -1431,22 +1339,19 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listCertificatesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listCertificatesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServiceCertificateCollection @@ -1455,5 +1360,14 @@ const listCertificatesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.certificateOrderName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/appServiceEnvironments.ts b/sdk/appservice/arm-appservice/src/operations/appServiceEnvironments.ts index 7a8072fbd1cd..7ffc42d6aa13 100644 --- a/sdk/appservice/arm-appservice/src/operations/appServiceEnvironments.ts +++ b/sdk/appservice/arm-appservice/src/operations/appServiceEnvironments.ts @@ -3,24 +3,173 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/appServiceEnvironmentsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { AppServiceEnvironments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; - +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + AppServiceEnvironmentResource, + AppServiceEnvironmentsListNextOptionalParams, + AppServiceEnvironmentsListOptionalParams, + AppServiceEnvironmentsListByResourceGroupNextOptionalParams, + AppServiceEnvironmentsListByResourceGroupOptionalParams, + StampCapacity, + AppServiceEnvironmentsListCapacitiesNextOptionalParams, + AppServiceEnvironmentsListCapacitiesOptionalParams, + Site, + VirtualNetworkProfile, + AppServiceEnvironmentsChangeVnetNextOptionalParams, + AppServiceEnvironmentsChangeVnetOptionalParams, + InboundEnvironmentEndpoint, + AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextOptionalParams, + AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams, + WorkerPoolResource, + AppServiceEnvironmentsListMultiRolePoolsNextOptionalParams, + AppServiceEnvironmentsListMultiRolePoolsOptionalParams, + ResourceMetricDefinition, + AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextOptionalParams, + AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams, + AppServiceEnvironmentsListMultiRoleMetricDefinitionsNextOptionalParams, + AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams, + SkuInfo, + AppServiceEnvironmentsListMultiRolePoolSkusNextOptionalParams, + AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams, + Usage, + AppServiceEnvironmentsListMultiRoleUsagesNextOptionalParams, + AppServiceEnvironmentsListMultiRoleUsagesOptionalParams, + OutboundEnvironmentEndpoint, + AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextOptionalParams, + AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams, + RemotePrivateEndpointConnectionARMResource, + AppServiceEnvironmentsGetPrivateEndpointConnectionListNextOptionalParams, + AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams, + AppServiceEnvironmentsResumeNextOptionalParams, + AppServiceEnvironmentsResumeOptionalParams, + AppServicePlan, + AppServiceEnvironmentsListAppServicePlansNextOptionalParams, + AppServiceEnvironmentsListAppServicePlansOptionalParams, + AppServiceEnvironmentsListWebAppsNextOptionalParams, + AppServiceEnvironmentsListWebAppsOptionalParams, + AppServiceEnvironmentsSuspendNextOptionalParams, + AppServiceEnvironmentsSuspendOptionalParams, + CsmUsageQuota, + AppServiceEnvironmentsListUsagesNextOptionalParams, + AppServiceEnvironmentsListUsagesOptionalParams, + AppServiceEnvironmentsListWorkerPoolsNextOptionalParams, + AppServiceEnvironmentsListWorkerPoolsOptionalParams, + AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextOptionalParams, + AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams, + AppServiceEnvironmentsListWebWorkerMetricDefinitionsNextOptionalParams, + AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams, + AppServiceEnvironmentsListWorkerPoolSkusNextOptionalParams, + AppServiceEnvironmentsListWorkerPoolSkusOptionalParams, + AppServiceEnvironmentsListWebWorkerUsagesNextOptionalParams, + AppServiceEnvironmentsListWebWorkerUsagesOptionalParams, + AppServiceEnvironmentsListResponse, + AppServiceEnvironmentsListByResourceGroupResponse, + AppServiceEnvironmentsGetOptionalParams, + AppServiceEnvironmentsGetResponse, + AppServiceEnvironmentsCreateOrUpdateOptionalParams, + AppServiceEnvironmentsCreateOrUpdateResponse, + AppServiceEnvironmentsDeleteOptionalParams, + AppServiceEnvironmentPatchResource, + AppServiceEnvironmentsUpdateOptionalParams, + AppServiceEnvironmentsUpdateResponse, + AppServiceEnvironmentsListCapacitiesResponse, + AppServiceEnvironmentsGetVipInfoOptionalParams, + AppServiceEnvironmentsGetVipInfoResponse, + AppServiceEnvironmentsChangeVnetResponse, + AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptionalParams, + AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse, + AseV3NetworkingConfiguration, + AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptionalParams, + AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse, + AppServiceEnvironmentsListDiagnosticsOptionalParams, + AppServiceEnvironmentsListDiagnosticsResponse, + AppServiceEnvironmentsGetDiagnosticsItemOptionalParams, + AppServiceEnvironmentsGetDiagnosticsItemResponse, + AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse, + AppServiceEnvironmentsListMultiRolePoolsResponse, + AppServiceEnvironmentsGetMultiRolePoolOptionalParams, + AppServiceEnvironmentsGetMultiRolePoolResponse, + AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams, + AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse, + AppServiceEnvironmentsUpdateMultiRolePoolOptionalParams, + AppServiceEnvironmentsUpdateMultiRolePoolResponse, + AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse, + AppServiceEnvironmentsListMultiRoleMetricDefinitionsResponse, + AppServiceEnvironmentsListMultiRolePoolSkusResponse, + AppServiceEnvironmentsListMultiRoleUsagesResponse, + AppServiceEnvironmentsListOperationsOptionalParams, + AppServiceEnvironmentsListOperationsResponse, + AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse, + AppServiceEnvironmentsGetPrivateEndpointConnectionListResponse, + AppServiceEnvironmentsGetPrivateEndpointConnectionOptionalParams, + AppServiceEnvironmentsGetPrivateEndpointConnectionResponse, + PrivateLinkConnectionApprovalRequestResource, + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams, + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse, + AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams, + AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse, + AppServiceEnvironmentsGetPrivateLinkResourcesOptionalParams, + AppServiceEnvironmentsGetPrivateLinkResourcesResponse, + AppServiceEnvironmentsRebootOptionalParams, + AppServiceEnvironmentsResumeResponse, + AppServiceEnvironmentsListAppServicePlansResponse, + AppServiceEnvironmentsListWebAppsResponse, + AppServiceEnvironmentsSuspendResponse, + AppServiceEnvironmentsListUsagesResponse, + AppServiceEnvironmentsListWorkerPoolsResponse, + AppServiceEnvironmentsGetWorkerPoolOptionalParams, + AppServiceEnvironmentsGetWorkerPoolResponse, + AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams, + AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse, + AppServiceEnvironmentsUpdateWorkerPoolOptionalParams, + AppServiceEnvironmentsUpdateWorkerPoolResponse, + AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse, + AppServiceEnvironmentsListWebWorkerMetricDefinitionsResponse, + AppServiceEnvironmentsListWorkerPoolSkusResponse, + AppServiceEnvironmentsListWebWorkerUsagesResponse, + AppServiceEnvironmentsListNextResponse, + AppServiceEnvironmentsListByResourceGroupNextResponse, + AppServiceEnvironmentsListCapacitiesNextResponse, + AppServiceEnvironmentsChangeVnetNextResponse, + AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextResponse, + AppServiceEnvironmentsListMultiRolePoolsNextResponse, + AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextResponse, + AppServiceEnvironmentsListMultiRoleMetricDefinitionsNextResponse, + AppServiceEnvironmentsListMultiRolePoolSkusNextResponse, + AppServiceEnvironmentsListMultiRoleUsagesNextResponse, + AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextResponse, + AppServiceEnvironmentsGetPrivateEndpointConnectionListNextResponse, + AppServiceEnvironmentsResumeNextResponse, + AppServiceEnvironmentsListAppServicePlansNextResponse, + AppServiceEnvironmentsListWebAppsNextResponse, + AppServiceEnvironmentsSuspendNextResponse, + AppServiceEnvironmentsListUsagesNextResponse, + AppServiceEnvironmentsListWorkerPoolsNextResponse, + AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextResponse, + AppServiceEnvironmentsListWebWorkerMetricDefinitionsNextResponse, + AppServiceEnvironmentsListWorkerPoolSkusNextResponse, + AppServiceEnvironmentsListWebWorkerUsagesNextResponse +} from "../models"; + +/// /** Class representing a AppServiceEnvironments. */ -export class AppServiceEnvironments { +export class AppServiceEnvironmentsImpl implements AppServiceEnvironments { private readonly client: WebSiteManagementClientContext; /** - * Create a AppServiceEnvironments. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class AppServiceEnvironments class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -28,3332 +177,3330 @@ export class AppServiceEnvironments { /** * Description for Get all App Service Environments for a subscription. - * @summary Get all App Service Environments for a subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - list( - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + * @param options The options parameters. + */ + public list( + options?: AppServiceEnvironmentsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback - ) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: AppServiceEnvironmentsListOptionalParams + ): 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?: AppServiceEnvironmentsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Description for Get all App Service Environments in a resource group. - * @summary Get all App Service Environments in a resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByResourceGroup( + public listByResourceGroup( resourceGroupName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param callback The callback - */ - listByResourceGroup( + options?: AppServiceEnvironmentsListByResourceGroupOptionalParams + ): 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, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup( - resourceGroupName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroup( - resourceGroupName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get the properties of an App Service Environment. - * @summary Get the properties of an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - get( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - get( + private async *listByResourceGroupPagingAll( resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + /** + * Description for Get the used, available, and total worker capacity an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get( + public listCapacities( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - get( + options?: AppServiceEnvironmentsListCapacitiesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listCapacitiesPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listCapacitiesPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listCapacitiesPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListCapacitiesOptionalParams + ): AsyncIterableIterator { + let result = await this._listCapacities(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listCapacitiesNext( resourceGroupName, name, + continuationToken, options - }, - getOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Create or update an App Service Environment. - * @summary Create or update an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate( + private async *listCapacitiesPagingAll( resourceGroupName: string, name: string, - hostingEnvironmentEnvelope: Models.AppServiceEnvironmentResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdate( + options?: AppServiceEnvironmentsListCapacitiesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listCapacitiesPagingPage( resourceGroupName, name, - hostingEnvironmentEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.AppServiceEnvironmentsCreateOrUpdateResponse - >; + )) { + yield* page; + } } /** - * Description for Delete an App Service Environment. - * @summary Delete an App Service Environment. + * Description for Move an App Service Environment to a different VNET. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise + * @param vnetInfo Details for the new virtual network. + * @param options The options parameters. */ - deleteMethod( + public beginListChangeVnetAndWait( resourceGroupName: string, name: string, - options?: Models.AppServiceEnvironmentsDeleteMethodOptionalParams - ): Promise { - return this.beginDeleteMethod(resourceGroupName, name, options).then((lroPoller) => - lroPoller.pollUntilFinished() + vnetInfo: VirtualNetworkProfile, + options?: AppServiceEnvironmentsChangeVnetOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.changeVnetPagingAll( + resourceGroupName, + name, + vnetInfo, + options ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.changeVnetPagingPage( + resourceGroupName, + name, + vnetInfo, + options + ); + } + }; } - /** - * Description for Create or update an App Service Environment. - * @summary Create or update an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - update( + private async *changeVnetPagingPage( resourceGroupName: string, name: string, - hostingEnvironmentEnvelope: Models.AppServiceEnvironmentPatchResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. - * @param callback The callback - */ - update( + vnetInfo: VirtualNetworkProfile, + options?: AppServiceEnvironmentsChangeVnetOptionalParams + ): AsyncIterableIterator { + const poller = await this._changeVnet( + resourceGroupName, + name, + vnetInfo, + options + ); + let result: any = await poller.pollUntilDone(); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._changeVnetNext( + resourceGroupName, + name, + vnetInfo, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *changeVnetPagingAll( resourceGroupName: string, name: string, - hostingEnvironmentEnvelope: Models.AppServiceEnvironmentPatchResource, - callback: msRest.ServiceCallback - ): void; + vnetInfo: VirtualNetworkProfile, + options?: AppServiceEnvironmentsChangeVnetOptionalParams + ): AsyncIterableIterator { + for await (const page of this.changeVnetPagingPage( + resourceGroupName, + name, + vnetInfo, + options + )) { + yield* page; + } + } + /** + * Description for Get the network endpoints of all inbound dependencies of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - update( + public listInboundNetworkDependenciesEndpoints( resourceGroupName: string, name: string, - hostingEnvironmentEnvelope: Models.AppServiceEnvironmentPatchResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - update( + options?: AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getInboundNetworkDependenciesEndpointsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getInboundNetworkDependenciesEndpointsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *getInboundNetworkDependenciesEndpointsPagingPage( resourceGroupName: string, name: string, - hostingEnvironmentEnvelope: Models.AppServiceEnvironmentPatchResource, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams + ): AsyncIterableIterator { + let result = await this._getInboundNetworkDependenciesEndpoints( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getInboundNetworkDependenciesEndpointsNext( resourceGroupName, name, - hostingEnvironmentEnvelope, + continuationToken, options - }, - updateOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get the used, available, and total worker capacity an App Service Environment. - * @summary Get the used, available, and total worker capacity an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listCapacities( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - listCapacities( + private async *getInboundNetworkDependenciesEndpointsPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getInboundNetworkDependenciesEndpointsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get all multi-role pools. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listCapacities( + public listMultiRolePools( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listCapacities( + options?: AppServiceEnvironmentsListMultiRolePoolsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMultiRolePoolsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMultiRolePoolsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listMultiRolePoolsPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListMultiRolePoolsOptionalParams + ): AsyncIterableIterator { + let result = await this._listMultiRolePools( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listMultiRolePoolsNext( resourceGroupName, name, + continuationToken, options - }, - listCapacitiesOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get IP addresses assigned to an App Service Environment. - * @summary Get IP addresses assigned to an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - getVipInfo( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - getVipInfo( + private async *listMultiRolePoolsPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListMultiRolePoolsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMultiRolePoolsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get metric definitions for a specific instance of a multi-role pool of an App + * Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param instance Name of the instance in the multi-role pool. + * @param options The options parameters. */ - getVipInfo( + public listMultiRolePoolInstanceMetricDefinitions( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getVipInfo( + instance: string, + options?: AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMultiRolePoolInstanceMetricDefinitionsPagingAll( + resourceGroupName, + name, + instance, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMultiRolePoolInstanceMetricDefinitionsPagingPage( + resourceGroupName, + name, + instance, + options + ); + } + }; + } + + private async *listMultiRolePoolInstanceMetricDefinitionsPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + instance: string, + options?: AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listMultiRolePoolInstanceMetricDefinitions( + resourceGroupName, + name, + instance, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listMultiRolePoolInstanceMetricDefinitionsNext( resourceGroupName, name, + instance, + continuationToken, options - }, - getVipInfoOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Move an App Service Environment to a different VNET. - * @summary Move an App Service Environment to a different VNET. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param vnetInfo Details for the new virtual network. - * @param [options] The optional parameters - * @returns Promise - */ - changeVnet( + private async *listMultiRolePoolInstanceMetricDefinitionsPagingAll( resourceGroupName: string, name: string, - vnetInfo: Models.VirtualNetworkProfile, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginChangeVnet(resourceGroupName, name, vnetInfo, options).then((lroPoller) => - lroPoller.pollUntilFinished() - ) as Promise; + instance: string, + options?: AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMultiRolePoolInstanceMetricDefinitionsPagingPage( + resourceGroupName, + name, + instance, + options + )) { + yield* page; + } } /** - * Description for Get networking configuration of an App Service Environment - * @summary Get networking configuration of an App Service Environment - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - getAseV3NetworkingConfiguration( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - getAseV3NetworkingConfiguration( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Get metric definitions for a multi-role pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getAseV3NetworkingConfiguration( + public listMultiRoleMetricDefinitions( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAseV3NetworkingConfiguration( + options?: AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMultiRoleMetricDefinitionsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMultiRoleMetricDefinitionsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listMultiRoleMetricDefinitionsPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listMultiRoleMetricDefinitions( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listMultiRoleMetricDefinitionsNext( resourceGroupName, name, + continuationToken, options - }, - getAseV3NetworkingConfigurationOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Update networking configuration of an App Service Environment - * @summary Update networking configuration of an App Service Environment - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param aseNetworkingConfiguration - * @param [options] The optional parameters - * @returns Promise - */ - updateAseNetworkingConfiguration( + private async *listMultiRoleMetricDefinitionsPagingAll( resourceGroupName: string, name: string, - aseNetworkingConfiguration: Models.AseV3NetworkingConfiguration, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMultiRoleMetricDefinitionsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get available SKUs for scaling a multi-role pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param aseNetworkingConfiguration - * @param callback The callback + * @param options The options parameters. */ - updateAseNetworkingConfiguration( + public listMultiRolePoolSkus( resourceGroupName: string, name: string, - aseNetworkingConfiguration: Models.AseV3NetworkingConfiguration, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param aseNetworkingConfiguration - * @param options The optional parameters - * @param callback The callback - */ - updateAseNetworkingConfiguration( - resourceGroupName: string, - name: string, - aseNetworkingConfiguration: Models.AseV3NetworkingConfiguration, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateAseNetworkingConfiguration( - resourceGroupName: string, - name: string, - aseNetworkingConfiguration: Models.AseV3NetworkingConfiguration, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - aseNetworkingConfiguration, - options + options?: AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMultiRolePoolSkusPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - updateAseNetworkingConfigurationOperationSpec, - callback - ) as Promise; + byPage: () => { + return this.listMultiRolePoolSkusPagingPage( + resourceGroupName, + name, + options + ); + } + }; } - /** - * Description for Get diagnostic information for an App Service Environment. - * @summary Get diagnostic information for an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listDiagnostics( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - listDiagnostics( + private async *listMultiRolePoolSkusPagingPage( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback - */ - listDiagnostics( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDiagnostics( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams + ): AsyncIterableIterator { + let result = await this._listMultiRolePoolSkus( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listMultiRolePoolSkusNext( resourceGroupName, name, + continuationToken, options - }, - listDiagnosticsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get a diagnostics item for an App Service Environment. - * @summary Get a diagnostics item for an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param diagnosticsName Name of the diagnostics item. - * @param [options] The optional parameters - * @returns Promise - */ - getDiagnosticsItem( + private async *listMultiRolePoolSkusPagingAll( resourceGroupName: string, name: string, - diagnosticsName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param diagnosticsName Name of the diagnostics item. - * @param callback The callback - */ - getDiagnosticsItem( - resourceGroupName: string, - name: string, - diagnosticsName: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMultiRolePoolSkusPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get usage metrics for a multi-role pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param diagnosticsName Name of the diagnostics item. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getDiagnosticsItem( + public listMultiRoleUsages( resourceGroupName: string, name: string, - diagnosticsName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDiagnosticsItem( - resourceGroupName: string, - name: string, - diagnosticsName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - diagnosticsName, - options + options?: AppServiceEnvironmentsListMultiRoleUsagesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMultiRoleUsagesPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); }, - getDiagnosticsItemOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMultiRoleUsagesPagingPage( + resourceGroupName, + name, + options + ); + } + }; } - /** - * Description for Get the network endpoints of all inbound dependencies of an App Service - * Environment. - * @summary Get the network endpoints of all inbound dependencies of an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - getInboundNetworkDependenciesEndpoints( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - getInboundNetworkDependenciesEndpoints( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback - */ - getInboundNetworkDependenciesEndpoints( + private async *listMultiRoleUsagesPagingPage( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInboundNetworkDependenciesEndpoints( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListMultiRoleUsagesOptionalParams + ): AsyncIterableIterator { + let result = await this._listMultiRoleUsages( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listMultiRoleUsagesNext( resourceGroupName, name, + continuationToken, options - }, - getInboundNetworkDependenciesEndpointsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get all multi-role pools. - * @summary Get all multi-role pools. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listMultiRolePools( + private async *listMultiRoleUsagesPagingAll( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - listMultiRolePools( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListMultiRoleUsagesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMultiRoleUsagesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get the network endpoints of all outbound dependencies of an App Service + * Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listMultiRolePools( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRolePools( + public listOutboundNetworkDependenciesEndpoints( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options + options?: AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getOutboundNetworkDependenciesEndpointsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); }, - listMultiRolePoolsOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getOutboundNetworkDependenciesEndpointsPagingPage( + resourceGroupName, + name, + options + ); + } + }; } - /** - * Description for Get properties of a multi-role pool. - * @summary Get properties of a multi-role pool. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - getMultiRolePool( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - getMultiRolePool( + private async *getOutboundNetworkDependenciesEndpointsPagingPage( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback - */ - getMultiRolePool( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getMultiRolePool( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams + ): AsyncIterableIterator { + let result = await this._getOutboundNetworkDependenciesEndpoints( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getOutboundNetworkDependenciesEndpointsNext( resourceGroupName, name, + continuationToken, options - }, - getMultiRolePoolOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Create or update a multi-role pool. - * @summary Create or update a multi-role pool. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param multiRolePoolEnvelope Properties of the multi-role pool. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateMultiRolePool( + private async *getOutboundNetworkDependenciesEndpointsPagingAll( resourceGroupName: string, name: string, - multiRolePoolEnvelope: Models.WorkerPoolResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdateMultiRolePool( + options?: AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getOutboundNetworkDependenciesEndpointsPagingPage( resourceGroupName, name, - multiRolePoolEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse - >; + )) { + yield* page; + } } /** - * Description for Create or update a multi-role pool. - * @summary Create or update a multi-role pool. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param multiRolePoolEnvelope Properties of the multi-role pool. - * @param [options] The optional parameters - * @returns Promise - */ - updateMultiRolePool( - resourceGroupName: string, - name: string, - multiRolePoolEnvelope: Models.WorkerPoolResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param multiRolePoolEnvelope Properties of the multi-role pool. - * @param callback The callback - */ - updateMultiRolePool( - resourceGroupName: string, - name: string, - multiRolePoolEnvelope: Models.WorkerPoolResource, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Gets the list of private endpoints associated with a hosting environment * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param multiRolePoolEnvelope Properties of the multi-role pool. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - updateMultiRolePool( + public listPrivateEndpointConnectionList( resourceGroupName: string, name: string, - multiRolePoolEnvelope: Models.WorkerPoolResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateMultiRolePool( + options?: AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getPrivateEndpointConnectionListPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getPrivateEndpointConnectionListPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *getPrivateEndpointConnectionListPagingPage( resourceGroupName: string, name: string, - multiRolePoolEnvelope: Models.WorkerPoolResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams + ): AsyncIterableIterator { + let result = await this._getPrivateEndpointConnectionList( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getPrivateEndpointConnectionListNext( resourceGroupName, name, - multiRolePoolEnvelope, + continuationToken, options - }, - updateMultiRolePoolOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get metric definitions for a specific instance of a multi-role pool of an App - * Service Environment. - * @summary Get metric definitions for a specific instance of a multi-role pool of an App Service - * Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param instance Name of the instance in the multi-role pool. - * @param [options] The optional parameters - * @returns - * Promise - */ - listMultiRolePoolInstanceMetricDefinitions( + private async *getPrivateEndpointConnectionListPagingAll( resourceGroupName: string, name: string, - instance: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param instance Name of the instance in the multi-role pool. - * @param callback The callback - */ - listMultiRolePoolInstanceMetricDefinitions( - resourceGroupName: string, - name: string, - instance: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getPrivateEndpointConnectionListPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Resume an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param instance Name of the instance in the multi-role pool. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listMultiRolePoolInstanceMetricDefinitions( - resourceGroupName: string, - name: string, - instance: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRolePoolInstanceMetricDefinitions( + public beginListResumeAndWait( resourceGroupName: string, name: string, - instance: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - instance, - options + options?: AppServiceEnvironmentsResumeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.resumePagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); }, - listMultiRolePoolInstanceMetricDefinitionsOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.resumePagingPage(resourceGroupName, name, options); + } + }; } - /** - * Description for Get metric definitions for a multi-role pool of an App Service Environment. - * @summary Get metric definitions for a multi-role pool of an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listMultiRoleMetricDefinitions( + private async *resumePagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - listMultiRoleMetricDefinitions( + options?: AppServiceEnvironmentsResumeOptionalParams + ): AsyncIterableIterator { + const poller = await this._resume(resourceGroupName, name, options); + let result: any = await poller.pollUntilDone(); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._resumeNext( + resourceGroupName, + name, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *resumePagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsResumeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.resumePagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get all App Service plans in an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listMultiRoleMetricDefinitions( + public listAppServicePlans( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRoleMetricDefinitions( + options?: AppServiceEnvironmentsListAppServicePlansOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAppServicePlansPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listAppServicePlansPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listAppServicePlansPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListAppServicePlansOptionalParams + ): AsyncIterableIterator { + let result = await this._listAppServicePlans( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAppServicePlansNext( resourceGroupName, name, + continuationToken, options - }, - listMultiRoleMetricDefinitionsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get available SKUs for scaling a multi-role pool. - * @summary Get available SKUs for scaling a multi-role pool. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listMultiRolePoolSkus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - listMultiRolePoolSkus( + private async *listAppServicePlansPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListAppServicePlansOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAppServicePlansPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get all apps in an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listMultiRolePoolSkus( + public listWebApps( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRolePoolSkus( + options?: AppServiceEnvironmentsListWebAppsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWebAppsPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWebAppsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listWebAppsPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListWebAppsOptionalParams + ): AsyncIterableIterator { + let result = await this._listWebApps(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWebAppsNext( resourceGroupName, name, + continuationToken, options - }, - listMultiRolePoolSkusOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get usage metrics for a multi-role pool of an App Service Environment. - * @summary Get usage metrics for a multi-role pool of an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listMultiRoleUsages( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - listMultiRoleUsages( + private async *listWebAppsPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListWebAppsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWebAppsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Suspend an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listMultiRoleUsages( + public beginListSuspendAndWait( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRoleUsages( + options?: AppServiceEnvironmentsSuspendOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.suspendPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.suspendPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *suspendPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsSuspendOptionalParams + ): AsyncIterableIterator { + const poller = await this._suspend(resourceGroupName, name, options); + let result: any = await poller.pollUntilDone(); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._suspendNext( resourceGroupName, name, + continuationToken, options - }, - listMultiRoleUsagesOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for List all currently running operations on the App Service Environment. - * @summary List all currently running operations on the App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listOperations( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - listOperations( + private async *suspendPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsSuspendOptionalParams + ): AsyncIterableIterator { + for await (const page of this.suspendPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get global usage metrics of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listOperations( + public listUsages( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listOperations( + options?: AppServiceEnvironmentsListUsagesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listUsagesPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listUsagesPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listUsagesPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListUsagesOptionalParams + ): AsyncIterableIterator { + let result = await this._listUsages(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listUsagesNext( resourceGroupName, name, + continuationToken, options - }, - listOperationsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get the network endpoints of all outbound dependencies of an App Service - * Environment. - * @summary Get the network endpoints of all outbound dependencies of an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - getOutboundNetworkDependenciesEndpoints( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - getOutboundNetworkDependenciesEndpoints( + private async *listUsagesPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListUsagesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listUsagesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get all worker pools of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getOutboundNetworkDependenciesEndpoints( + public listWorkerPools( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getOutboundNetworkDependenciesEndpoints( + options?: AppServiceEnvironmentsListWorkerPoolsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWorkerPoolsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWorkerPoolsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listWorkerPoolsPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServiceEnvironmentsListWorkerPoolsOptionalParams + ): AsyncIterableIterator { + let result = await this._listWorkerPools(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWorkerPoolsNext( resourceGroupName, name, + continuationToken, options - }, - getOutboundNetworkDependenciesEndpointsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the list of private endpoints associated with a hosting environment - * @summary Gets the list of private endpoints associated with a hosting environment - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnectionList( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - getPrivateEndpointConnectionList( + private async *listWorkerPoolsPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListWorkerPoolsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWorkerPoolsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get metric definitions for a specific instance of a worker pool of an App Service + * Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param workerPoolName Name of the worker pool. + * @param instance Name of the instance in the worker pool. + * @param options The options parameters. */ - getPrivateEndpointConnectionList( + public listWorkerPoolInstanceMetricDefinitions( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionList( + workerPoolName: string, + instance: string, + options?: AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWorkerPoolInstanceMetricDefinitionsPagingAll( + resourceGroupName, + name, + workerPoolName, + instance, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWorkerPoolInstanceMetricDefinitionsPagingPage( + resourceGroupName, + name, + workerPoolName, + instance, + options + ); + } + }; + } + + private async *listWorkerPoolInstanceMetricDefinitionsPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + workerPoolName: string, + instance: string, + options?: AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listWorkerPoolInstanceMetricDefinitions( + resourceGroupName, + name, + workerPoolName, + instance, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWorkerPoolInstanceMetricDefinitionsNext( resourceGroupName, name, + workerPoolName, + instance, + continuationToken, options - }, - getPrivateEndpointConnectionListOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets a private endpoint connection - * @summary Gets a private endpoint connection - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnection( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param callback The callback - */ - getPrivateEndpointConnection( + private async *listWorkerPoolInstanceMetricDefinitionsPagingAll( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - callback: msRest.ServiceCallback - ): void; + workerPoolName: string, + instance: string, + options?: AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWorkerPoolInstanceMetricDefinitionsPagingPage( + resourceGroupName, + name, + workerPoolName, + instance, + options + )) { + yield* page; + } + } + /** + * Description for Get metric definitions for a worker pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param options The optional parameters - * @param callback The callback + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. */ - getPrivateEndpointConnection( + public listWebWorkerMetricDefinitions( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnection( + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWebWorkerMetricDefinitionsPagingAll( + resourceGroupName, + name, + workerPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWebWorkerMetricDefinitionsPagingPage( + resourceGroupName, + name, + workerPoolName, + options + ); + } + }; + } + + private async *listWebWorkerMetricDefinitionsPagingPage( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listWebWorkerMetricDefinitions( + resourceGroupName, + name, + workerPoolName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWebWorkerMetricDefinitionsNext( resourceGroupName, name, - privateEndpointConnectionName, + workerPoolName, + continuationToken, options - }, - getPrivateEndpointConnectionOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Approves or rejects a private endpoint connection - * @summary Approves or rejects a private endpoint connection - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param privateEndpointConnectionName - * @param privateEndpointWrapper - * @param [options] The optional parameters - * @returns Promise - */ - approveOrRejectPrivateEndpointConnection( + private async *listWebWorkerMetricDefinitionsPagingAll( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - privateEndpointWrapper: Models.PrivateLinkConnectionApprovalRequestResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginApproveOrRejectPrivateEndpointConnection( + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWebWorkerMetricDefinitionsPagingPage( resourceGroupName, name, - privateEndpointConnectionName, - privateEndpointWrapper, + workerPoolName, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse - >; + )) { + yield* page; + } } /** - * Description for Deletes a private endpoint connection - * @summary Deletes a private endpoint connection + * Description for Get available SKUs for scaling a worker pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param privateEndpointConnectionName - * @param [options] The optional parameters - * @returns Promise + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. */ - deletePrivateEndpointConnection( + public listWorkerPoolSkus( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginDeletePrivateEndpointConnection( + workerPoolName: string, + options?: AppServiceEnvironmentsListWorkerPoolSkusOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWorkerPoolSkusPagingAll( resourceGroupName, name, - privateEndpointConnectionName, + workerPoolName, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse - >; + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWorkerPoolSkusPagingPage( + resourceGroupName, + name, + workerPoolName, + options + ); + } + }; } - /** - * Description for Gets the private link resources - * @summary Gets the private link resources - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateLinkResources( + private async *listWorkerPoolSkusPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback - */ - getPrivateLinkResources( + workerPoolName: string, + options?: AppServiceEnvironmentsListWorkerPoolSkusOptionalParams + ): AsyncIterableIterator { + let result = await this._listWorkerPoolSkus( + resourceGroupName, + name, + workerPoolName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWorkerPoolSkusNext( + resourceGroupName, + name, + workerPoolName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listWorkerPoolSkusPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + workerPoolName: string, + options?: AppServiceEnvironmentsListWorkerPoolSkusOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWorkerPoolSkusPagingPage( + resourceGroupName, + name, + workerPoolName, + options + )) { + yield* page; + } + } + /** + * Description for Get usage metrics for a worker pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. */ - getPrivateLinkResources( + public listWebWorkerUsages( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateLinkResources( + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerUsagesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWebWorkerUsagesPagingAll( + resourceGroupName, + name, + workerPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWebWorkerUsagesPagingPage( + resourceGroupName, + name, + workerPoolName, + options + ); + } + }; + } + + private async *listWebWorkerUsagesPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerUsagesOptionalParams + ): AsyncIterableIterator { + let result = await this._listWebWorkerUsages( + resourceGroupName, + name, + workerPoolName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWebWorkerUsagesNext( resourceGroupName, name, + workerPoolName, + continuationToken, options - }, - getPrivateLinkResourcesOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Reboot all machines in an App Service Environment. - * @summary Reboot all machines in an App Service Environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - reboot( + private async *listWebWorkerUsagesPagingAll( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerUsagesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWebWorkerUsagesPagingPage( + resourceGroupName, + name, + workerPoolName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param callback The callback + * Description for Get all App Service Environments for a subscription. + * @param options The options parameters. */ - reboot(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; + private _list( + options?: AppServiceEnvironmentsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Description for Get all App Service Environments in a resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - reboot( + private _listByResourceGroup( resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - reboot( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServiceEnvironmentsListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - rebootOperationSpec, - callback + { resourceGroupName, options }, + listByResourceGroupOperationSpec ); } /** - * Description for Resume an App Service Environment. - * @summary Resume an App Service Environment. + * Description for Get the properties of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - resume( + get( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginResume(resourceGroupName, name, options).then((lroPoller) => - lroPoller.pollUntilFinished() - ) as Promise; + options?: AppServiceEnvironmentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getOperationSpec + ); } /** - * Description for Get all App Service plans in an App Service Environment. - * @summary Get all App Service plans in an App Service Environment. + * Description for Create or update an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listAppServicePlans( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; + * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + name: string, + hostingEnvironmentEnvelope: AppServiceEnvironmentResource, + options?: AppServiceEnvironmentsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServiceEnvironmentsCreateOrUpdateResponse + > + > { + 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, name, hostingEnvironmentEnvelope, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Create or update an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param callback The callback + * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. + * @param options The options parameters. */ - listAppServicePlans( + async beginCreateOrUpdateAndWait( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + hostingEnvironmentEnvelope: AppServiceEnvironmentResource, + options?: AppServiceEnvironmentsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + name, + hostingEnvironmentEnvelope, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Delete an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback - */ - listAppServicePlans( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listAppServicePlans( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listAppServicePlansOperationSpec, - callback - ) as Promise; + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsDeleteOptionalParams + ): 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, name, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Get all apps in an App Service Environment. - * @summary Get all apps in an App Service Environment. + * Description for Delete an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listWebApps( + async beginDeleteAndWait( resourceGroupName: string, name: string, - options?: Models.AppServiceEnvironmentsListWebAppsOptionalParams - ): Promise; + options?: AppServiceEnvironmentsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(resourceGroupName, name, options); + return poller.pollUntilDone(); + } + /** + * Description for Create or update an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param callback The callback + * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. + * @param options The options parameters. */ - listWebApps( + update( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + hostingEnvironmentEnvelope: AppServiceEnvironmentPatchResource, + options?: AppServiceEnvironmentsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, hostingEnvironmentEnvelope, options }, + updateOperationSpec + ); + } + /** + * Description for Get the used, available, and total worker capacity an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listWebApps( - resourceGroupName: string, - name: string, - options: Models.AppServiceEnvironmentsListWebAppsOptionalParams, - callback: msRest.ServiceCallback - ): void; - listWebApps( + private _listCapacities( resourceGroupName: string, name: string, - options?: - | Models.AppServiceEnvironmentsListWebAppsOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServiceEnvironmentsListCapacitiesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listWebAppsOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listCapacitiesOperationSpec + ); } /** - * Description for Suspend an App Service Environment. - * @summary Suspend an App Service Environment. + * Description for Get IP addresses assigned to an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - suspend( + getVipInfo( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginSuspend(resourceGroupName, name, options).then((lroPoller) => - lroPoller.pollUntilFinished() - ) as Promise; + options?: AppServiceEnvironmentsGetVipInfoOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getVipInfoOperationSpec + ); } /** - * Description for Get global usage metrics of an App Service Environment. - * @summary Get global usage metrics of an App Service Environment. + * Description for Move an App Service Environment to a different VNET. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - listUsages( - resourceGroupName: string, - name: string, - options?: Models.AppServiceEnvironmentsListUsagesOptionalParams - ): Promise; + * @param vnetInfo Details for the new virtual network. + * @param options The options parameters. + */ + private async _changeVnet( + resourceGroupName: string, + name: string, + vnetInfo: VirtualNetworkProfile, + options?: AppServiceEnvironmentsChangeVnetOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServiceEnvironmentsChangeVnetResponse + > + > { + 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, name, vnetInfo, options }, + changeVnetOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Get networking configuration of an App Service Environment * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param callback The callback + * @param options The options parameters. */ - listUsages( + getAseV3NetworkingConfiguration( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getAseV3NetworkingConfigurationOperationSpec + ); + } + /** + * Description for Update networking configuration of an App Service Environment * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param aseNetworkingConfiguration Full view of networking configuration for an ASE. + * @param options The options parameters. */ - listUsages( - resourceGroupName: string, - name: string, - options: Models.AppServiceEnvironmentsListUsagesOptionalParams, - callback: msRest.ServiceCallback - ): void; - listUsages( + updateAseNetworkingConfiguration( resourceGroupName: string, name: string, - options?: - | Models.AppServiceEnvironmentsListUsagesOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + aseNetworkingConfiguration: AseV3NetworkingConfiguration, + options?: AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listUsagesOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, aseNetworkingConfiguration, options }, + updateAseNetworkingConfigurationOperationSpec + ); } /** - * Description for Get all worker pools of an App Service Environment. - * @summary Get all worker pools of an App Service Environment. + * Description for Get diagnostic information for an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listWorkerPools( + listDiagnostics( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServiceEnvironmentsListDiagnosticsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listDiagnosticsOperationSpec + ); + } + /** + * Description for Get a diagnostics item for an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param callback The callback + * @param diagnosticsName Name of the diagnostics item. + * @param options The options parameters. */ - listWorkerPools( + getDiagnosticsItem( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + diagnosticsName: string, + options?: AppServiceEnvironmentsGetDiagnosticsItemOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, diagnosticsName, options }, + getDiagnosticsItemOperationSpec + ); + } + /** + * Description for Get the network endpoints of all inbound dependencies of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listWorkerPools( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWorkerPools( + private _getInboundNetworkDependenciesEndpoints( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams + ): Promise< + AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsResponse + > { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listWorkerPoolsOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getInboundNetworkDependenciesEndpointsOperationSpec + ); } /** - * Description for Get properties of a worker pool. - * @summary Get properties of a worker pool. + * Description for Get all multi-role pools. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getWorkerPool( + private _listMultiRolePools( resourceGroupName: string, name: string, - workerPoolName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServiceEnvironmentsListMultiRolePoolsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listMultiRolePoolsOperationSpec + ); + } + /** + * Description for Get properties of a multi-role pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param callback The callback + * @param options The options parameters. */ - getWorkerPool( + getMultiRolePool( resourceGroupName: string, name: string, - workerPoolName: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsGetMultiRolePoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getMultiRolePoolOperationSpec + ); + } + /** + * Description for Create or update a multi-role pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param options The optional parameters - * @param callback The callback - */ - getWorkerPool( - resourceGroupName: string, - name: string, - workerPoolName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getWorkerPool( - resourceGroupName: string, - name: string, - workerPoolName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - workerPoolName, - options - }, - getWorkerPoolOperationSpec, - callback - ) as Promise; + * @param multiRolePoolEnvelope Properties of the multi-role pool. + * @param options The options parameters. + */ + async beginCreateOrUpdateMultiRolePool( + resourceGroupName: string, + name: string, + multiRolePoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse + >, + AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse + > + > { + 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, name, multiRolePoolEnvelope, options }, + createOrUpdateMultiRolePoolOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Create or update a worker pool. - * @summary Create or update a worker pool. + * Description for Create or update a multi-role pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param workerPoolEnvelope Properties of the worker pool. - * @param [options] The optional parameters - * @returns Promise + * @param multiRolePoolEnvelope Properties of the multi-role pool. + * @param options The options parameters. */ - createOrUpdateWorkerPool( + async beginCreateOrUpdateMultiRolePoolAndWait( resourceGroupName: string, name: string, - workerPoolName: string, - workerPoolEnvelope: Models.WorkerPoolResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdateWorkerPool( + multiRolePoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateMultiRolePool( resourceGroupName, name, - workerPoolName, - workerPoolEnvelope, + multiRolePoolEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse - >; + ); + return poller.pollUntilDone(); } /** - * Description for Create or update a worker pool. - * @summary Create or update a worker pool. + * Description for Create or update a multi-role pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param workerPoolEnvelope Properties of the worker pool. - * @param [options] The optional parameters - * @returns Promise + * @param multiRolePoolEnvelope Properties of the multi-role pool. + * @param options The options parameters. */ - updateWorkerPool( + updateMultiRolePool( resourceGroupName: string, name: string, - workerPoolName: string, - workerPoolEnvelope: Models.WorkerPoolResource, - options?: msRest.RequestOptionsBase - ): Promise; + multiRolePoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsUpdateMultiRolePoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, multiRolePoolEnvelope, options }, + updateMultiRolePoolOperationSpec + ); + } + /** + * Description for Get metric definitions for a specific instance of a multi-role pool of an App + * Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param workerPoolEnvelope Properties of the worker pool. - * @param callback The callback + * @param instance Name of the instance in the multi-role pool. + * @param options The options parameters. */ - updateWorkerPool( + private _listMultiRolePoolInstanceMetricDefinitions( resourceGroupName: string, name: string, - workerPoolName: string, - workerPoolEnvelope: Models.WorkerPoolResource, - callback: msRest.ServiceCallback - ): void; + instance: string, + options?: AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams + ): Promise< + AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, name, instance, options }, + listMultiRolePoolInstanceMetricDefinitionsOperationSpec + ); + } + /** + * Description for Get metric definitions for a multi-role pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param workerPoolEnvelope Properties of the worker pool. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - updateWorkerPool( - resourceGroupName: string, - name: string, - workerPoolName: string, - workerPoolEnvelope: Models.WorkerPoolResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateWorkerPool( + private _listMultiRoleMetricDefinitions( resourceGroupName: string, name: string, - workerPoolName: string, - workerPoolEnvelope: Models.WorkerPoolResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - workerPoolName, - workerPoolEnvelope, - options - }, - updateWorkerPoolOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listMultiRoleMetricDefinitionsOperationSpec + ); } /** - * Description for Get metric definitions for a specific instance of a worker pool of an App - * Service Environment. - * @summary Get metric definitions for a specific instance of a worker pool of an App Service - * Environment. + * Description for Get available SKUs for scaling a multi-role pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param instance Name of the instance in the worker pool. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listWorkerPoolInstanceMetricDefinitions( + private _listMultiRolePoolSkus( resourceGroupName: string, name: string, - workerPoolName: string, - instance: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listMultiRolePoolSkusOperationSpec + ); + } + /** + * Description for Get usage metrics for a multi-role pool of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param instance Name of the instance in the worker pool. - * @param callback The callback + * @param options The options parameters. */ - listWorkerPoolInstanceMetricDefinitions( + private _listMultiRoleUsages( resourceGroupName: string, name: string, - workerPoolName: string, - instance: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsListMultiRoleUsagesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listMultiRoleUsagesOperationSpec + ); + } + /** + * Description for List all currently running operations on the App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param instance Name of the instance in the worker pool. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listWorkerPoolInstanceMetricDefinitions( - resourceGroupName: string, - name: string, - workerPoolName: string, - instance: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWorkerPoolInstanceMetricDefinitions( + listOperations( resourceGroupName: string, name: string, - workerPoolName: string, - instance: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServiceEnvironmentsListOperationsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - workerPoolName, - instance, - options - }, - listWorkerPoolInstanceMetricDefinitionsOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listOperationsOperationSpec + ); } /** - * Description for Get metric definitions for a worker pool of an App Service Environment. - * @summary Get metric definitions for a worker pool of an App Service Environment. + * Description for Get the network endpoints of all outbound dependencies of an App Service + * Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listWebWorkerMetricDefinitions( + private _getOutboundNetworkDependenciesEndpoints( resourceGroupName: string, name: string, - workerPoolName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams + ): Promise< + AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getOutboundNetworkDependenciesEndpointsOperationSpec + ); + } + /** + * Description for Gets the list of private endpoints associated with a hosting environment * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param callback The callback + * @param options The options parameters. */ - listWebWorkerMetricDefinitions( + private _getPrivateEndpointConnectionList( resourceGroupName: string, name: string, - workerPoolName: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getPrivateEndpointConnectionListOperationSpec + ); + } + /** + * Description for Gets a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param options The optional parameters - * @param callback The callback + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. */ - listWebWorkerMetricDefinitions( + getPrivateEndpointConnection( resourceGroupName: string, name: string, - workerPoolName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebWorkerMetricDefinitions( + privateEndpointConnectionName: string, + options?: AppServiceEnvironmentsGetPrivateEndpointConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, privateEndpointConnectionName, options }, + getPrivateEndpointConnectionOperationSpec + ); + } + + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param privateEndpointConnectionName + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. + */ + async beginApproveOrRejectPrivateEndpointConnection( resourceGroupName: string, name: string, - workerPoolName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse + >, + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse + > + > { + 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, name, - workerPoolName, + privateEndpointConnectionName, + privateEndpointWrapper, options }, - listWebWorkerMetricDefinitionsOperationSpec, - callback - ) as Promise; + approveOrRejectPrivateEndpointConnectionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Get available SKUs for scaling a worker pool. - * @summary Get available SKUs for scaling a worker pool. + * Description for Approves or rejects a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param [options] The optional parameters - * @returns Promise + * @param privateEndpointConnectionName + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. */ - listWorkerPoolSkus( + async beginApproveOrRejectPrivateEndpointConnectionAndWait( resourceGroupName: string, name: string, - workerPoolName: string, - options?: msRest.RequestOptionsBase - ): Promise; + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise< + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse + > { + const poller = await this.beginApproveOrRejectPrivateEndpointConnection( + resourceGroupName, + name, + privateEndpointConnectionName, + privateEndpointWrapper, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Deletes a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param callback The callback + * @param privateEndpointConnectionName + * @param options The options parameters. */ - listWorkerPoolSkus( + async beginDeletePrivateEndpointConnection( resourceGroupName: string, name: string, - workerPoolName: string, - callback: msRest.ServiceCallback - ): void; + privateEndpointConnectionName: string, + options?: AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse + >, + AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse + > + > { + 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, name, privateEndpointConnectionName, options }, + deletePrivateEndpointConnectionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Deletes a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param options The optional parameters - * @param callback The callback + * @param privateEndpointConnectionName + * @param options The options parameters. */ - listWorkerPoolSkus( - resourceGroupName: string, - name: string, - workerPoolName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWorkerPoolSkus( + async beginDeletePrivateEndpointConnectionAndWait( resourceGroupName: string, name: string, - workerPoolName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - workerPoolName, - options - }, - listWorkerPoolSkusOperationSpec, - callback - ) as Promise; + privateEndpointConnectionName: string, + options?: AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams + ): Promise { + const poller = await this.beginDeletePrivateEndpointConnection( + resourceGroupName, + name, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); } /** - * Description for Get usage metrics for a worker pool of an App Service Environment. - * @summary Get usage metrics for a worker pool of an App Service Environment. + * Description for Gets the private link resources * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listWebWorkerUsages( + getPrivateLinkResources( resourceGroupName: string, name: string, - workerPoolName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServiceEnvironmentsGetPrivateLinkResourcesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getPrivateLinkResourcesOperationSpec + ); + } + /** + * Description for Reboot all machines in an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param callback The callback + * @param options The options parameters. */ - listWebWorkerUsages( + reboot( resourceGroupName: string, name: string, - workerPoolName: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServiceEnvironmentsRebootOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + rebootOperationSpec + ); + } + /** + * Description for Resume an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param workerPoolName Name of the worker pool. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. + */ + private async _resume( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsResumeOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServiceEnvironmentsResumeResponse + > + > { + 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, name, options }, + resumeOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Get all App Service plans in an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. */ - listWebWorkerUsages( + private _listAppServicePlans( resourceGroupName: string, name: string, - workerPoolName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebWorkerUsages( - resourceGroupName: string, - name: string, - workerPoolName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServiceEnvironmentsListAppServicePlansOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - workerPoolName, - options - }, - listWebWorkerUsagesOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listAppServicePlansOperationSpec + ); } /** - * Description for Create or update an App Service Environment. - * @summary Create or update an App Service Environment. + * Description for Get all apps in an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate( + private _listWebApps( resourceGroupName: string, name: string, - hostingEnvironmentEnvelope: Models.AppServiceEnvironmentResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - hostingEnvironmentEnvelope, - options - }, - beginCreateOrUpdateOperationSpec, - options + options?: AppServiceEnvironmentsListWebAppsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listWebAppsOperationSpec ); } /** - * Description for Delete an App Service Environment. - * @summary Delete an App Service Environment. + * Description for Suspend an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise - */ - beginDeleteMethod( - resourceGroupName: string, - name: string, - options?: Models.AppServiceEnvironmentsBeginDeleteMethodOptionalParams - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - options - }, - beginDeleteMethodOperationSpec, - options + * @param options The options parameters. + */ + private async _suspend( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsSuspendOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServiceEnvironmentsSuspendResponse + > + > { + 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, name, options }, + suspendOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Move an App Service Environment to a different VNET. - * @summary Move an App Service Environment to a different VNET. + * Description for Get global usage metrics of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param vnetInfo Details for the new virtual network. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginChangeVnet( + private _listUsages( resourceGroupName: string, name: string, - vnetInfo: Models.VirtualNetworkProfile, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - vnetInfo, - options - }, - beginChangeVnetOperationSpec, - options + options?: AppServiceEnvironmentsListUsagesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listUsagesOperationSpec ); } /** - * Description for Create or update a multi-role pool. - * @summary Create or update a multi-role pool. + * Description for Get all worker pools of an App Service Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param multiRolePoolEnvelope Properties of the multi-role pool. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdateMultiRolePool( + private _listWorkerPools( resourceGroupName: string, name: string, - multiRolePoolEnvelope: Models.WorkerPoolResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - multiRolePoolEnvelope, - options - }, - beginCreateOrUpdateMultiRolePoolOperationSpec, - options + options?: AppServiceEnvironmentsListWorkerPoolsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listWorkerPoolsOperationSpec ); } /** - * Description for Approves or rejects a private endpoint connection - * @summary Approves or rejects a private endpoint connection + * Description for Get properties of a worker pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param privateEndpointConnectionName - * @param privateEndpointWrapper - * @param [options] The optional parameters - * @returns Promise + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. */ - beginApproveOrRejectPrivateEndpointConnection( + getWorkerPool( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - privateEndpointWrapper: Models.PrivateLinkConnectionApprovalRequestResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - privateEndpointConnectionName, - privateEndpointWrapper, - options - }, - beginApproveOrRejectPrivateEndpointConnectionOperationSpec, - options + workerPoolName: string, + options?: AppServiceEnvironmentsGetWorkerPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, workerPoolName, options }, + getWorkerPoolOperationSpec ); } /** - * Description for Deletes a private endpoint connection - * @summary Deletes a private endpoint connection + * Description for Create or update a worker pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param privateEndpointConnectionName - * @param [options] The optional parameters - * @returns Promise + * @param workerPoolName Name of the worker pool. + * @param workerPoolEnvelope Properties of the worker pool. + * @param options The options parameters. */ - beginDeletePrivateEndpointConnection( + async beginCreateOrUpdateWorkerPool( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - privateEndpointConnectionName, - options - }, - beginDeletePrivateEndpointConnectionOperationSpec, - options + workerPoolName: string, + workerPoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse + >, + AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse + > + > { + 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, name, workerPoolName, workerPoolEnvelope, options }, + createOrUpdateWorkerPoolOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Resume an App Service Environment. - * @summary Resume an App Service Environment. + * Description for Create or update a worker pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise + * @param workerPoolName Name of the worker pool. + * @param workerPoolEnvelope Properties of the worker pool. + * @param options The options parameters. */ - beginResume( + async beginCreateOrUpdateWorkerPoolAndWait( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - options - }, - beginResumeOperationSpec, + workerPoolName: string, + workerPoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateWorkerPool( + resourceGroupName, + name, + workerPoolName, + workerPoolEnvelope, options ); + return poller.pollUntilDone(); } /** - * Description for Suspend an App Service Environment. - * @summary Suspend an App Service Environment. + * Description for Create or update a worker pool. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. - * @param [options] The optional parameters - * @returns Promise + * @param workerPoolName Name of the worker pool. + * @param workerPoolEnvelope Properties of the worker pool. + * @param options The options parameters. */ - beginSuspend( + updateWorkerPool( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - options - }, - beginSuspendOperationSpec, - options + workerPoolName: string, + workerPoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsUpdateWorkerPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, workerPoolName, workerPoolEnvelope, options }, + updateWorkerPoolOperationSpec ); } /** - * Description for Create or update a worker pool. - * @summary Create or update a worker pool. + * Description for Get metric definitions for a specific instance of a worker pool of an App Service + * Environment. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service Environment. * @param workerPoolName Name of the worker pool. - * @param workerPoolEnvelope Properties of the worker pool. - * @param [options] The optional parameters - * @returns Promise + * @param instance Name of the instance in the worker pool. + * @param options The options parameters. */ - beginCreateOrUpdateWorkerPool( + private _listWorkerPoolInstanceMetricDefinitions( resourceGroupName: string, name: string, workerPoolName: string, - workerPoolEnvelope: Models.WorkerPoolResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - workerPoolName, - workerPoolEnvelope, - options - }, - beginCreateOrUpdateWorkerPoolOperationSpec, - options + instance: string, + options?: AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams + ): Promise< + AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, name, workerPoolName, instance, options }, + listWorkerPoolInstanceMetricDefinitionsOperationSpec ); } /** - * Description for Get all App Service Environments for a subscription. - * @summary Get all App Service Environments for a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Description for Get metric definitions for a worker pool of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. */ - listNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listWebWorkerMetricDefinitions( + resourceGroupName: string, + name: string, + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, workerPoolName, options }, + listWebWorkerMetricDefinitionsOperationSpec + ); } /** - * Description for Get all App Service Environments in a resource group. - * @summary Get all App Service Environments in a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Description for Get available SKUs for scaling a worker pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. */ - listByResourceGroupNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroupNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listWorkerPoolSkus( + resourceGroupName: string, + name: string, + workerPoolName: string, + options?: AppServiceEnvironmentsListWorkerPoolSkusOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, workerPoolName, options }, + listWorkerPoolSkusOperationSpec + ); } /** - * Description for Get the used, available, and total worker capacity an App Service Environment. - * @summary Get the used, available, and total worker capacity an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listCapacitiesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listCapacitiesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Description for Get usage metrics for a worker pool of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. */ - listCapacitiesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listCapacitiesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listWebWorkerUsages( + resourceGroupName: string, + name: string, + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerUsagesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listCapacitiesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, workerPoolName, options }, + listWebWorkerUsagesOperationSpec + ); } /** - * Description for Move an App Service Environment to a different VNET. - * @summary Move an App Service Environment to a different VNET. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - changeVnetNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginChangeVnetNext(nextPageLink, options).then((lroPoller) => - lroPoller.pollUntilFinished() - ) as Promise; + private _listNext( + nextLink: string, + options?: AppServiceEnvironmentsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for Get the network endpoints of all inbound dependencies of an App Service - * Environment. - * @summary Get the network endpoints of all inbound dependencies of an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - getInboundNetworkDependenciesEndpointsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getInboundNetworkDependenciesEndpointsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - getInboundNetworkDependenciesEndpointsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInboundNetworkDependenciesEndpointsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: AppServiceEnvironmentsListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getInboundNetworkDependenciesEndpointsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } /** - * Description for Get all multi-role pools. - * @summary Get all multi-role pools. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listMultiRolePoolsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listMultiRolePoolsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListCapacitiesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListCapacities method. + * @param options The options parameters. */ - listMultiRolePoolsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRolePoolsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listCapacitiesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListCapacitiesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listMultiRolePoolsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listCapacitiesNextOperationSpec + ); } /** - * Description for Get metric definitions for a specific instance of a multi-role pool of an App - * Service Environment. - * @summary Get metric definitions for a specific instance of a multi-role pool of an App Service - * Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - listMultiRolePoolInstanceMetricDefinitionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listMultiRolePoolInstanceMetricDefinitionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ChangeVnetNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param vnetInfo Details for the new virtual network. + * @param nextLink The nextLink from the previous successful call to the ChangeVnet method. + * @param options The options parameters. */ - listMultiRolePoolInstanceMetricDefinitionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRolePoolInstanceMetricDefinitionsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _changeVnetNext( + resourceGroupName: string, + name: string, + vnetInfo: VirtualNetworkProfile, + nextLink: string, + options?: AppServiceEnvironmentsChangeVnetNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listMultiRolePoolInstanceMetricDefinitionsNextOperationSpec, - callback - ) as Promise< - Models.AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextResponse - >; + { resourceGroupName, name, vnetInfo, nextLink, options }, + changeVnetNextOperationSpec + ); } /** - * Description for Get metric definitions for a multi-role pool of an App Service Environment. - * @summary Get metric definitions for a multi-role pool of an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listMultiRoleMetricDefinitionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listMultiRoleMetricDefinitionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetInboundNetworkDependenciesEndpointsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the + * GetInboundNetworkDependenciesEndpoints method. + * @param options The options parameters. */ - listMultiRoleMetricDefinitionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRoleMetricDefinitionsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getInboundNetworkDependenciesEndpointsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextOptionalParams + ): Promise< + AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listMultiRoleMetricDefinitionsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getInboundNetworkDependenciesEndpointsNextOperationSpec + ); } /** - * Description for Get available SKUs for scaling a multi-role pool. - * @summary Get available SKUs for scaling a multi-role pool. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listMultiRolePoolSkusNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listMultiRolePoolSkusNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListMultiRolePoolsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListMultiRolePools method. + * @param options The options parameters. */ - listMultiRolePoolSkusNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRolePoolSkusNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listMultiRolePoolsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListMultiRolePoolsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listMultiRolePoolSkusNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listMultiRolePoolsNextOperationSpec + ); } /** - * Description for Get usage metrics for a multi-role pool of an App Service Environment. - * @summary Get usage metrics for a multi-role pool of an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listMultiRoleUsagesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listMultiRoleUsagesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListMultiRolePoolInstanceMetricDefinitionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param instance Name of the instance in the multi-role pool. + * @param nextLink The nextLink from the previous successful call to the + * ListMultiRolePoolInstanceMetricDefinitions method. + * @param options The options parameters. */ - listMultiRoleUsagesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMultiRoleUsagesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listMultiRolePoolInstanceMetricDefinitionsNext( + resourceGroupName: string, + name: string, + instance: string, + nextLink: string, + options?: AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextOptionalParams + ): Promise< + AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listMultiRoleUsagesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, instance, nextLink, options }, + listMultiRolePoolInstanceMetricDefinitionsNextOperationSpec + ); } /** - * Description for Get the network endpoints of all outbound dependencies of an App Service - * Environment. - * @summary Get the network endpoints of all outbound dependencies of an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - getOutboundNetworkDependenciesEndpointsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getOutboundNetworkDependenciesEndpointsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListMultiRoleMetricDefinitionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListMultiRoleMetricDefinitions + * method. + * @param options The options parameters. */ - getOutboundNetworkDependenciesEndpointsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getOutboundNetworkDependenciesEndpointsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listMultiRoleMetricDefinitionsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListMultiRoleMetricDefinitionsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getOutboundNetworkDependenciesEndpointsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listMultiRoleMetricDefinitionsNextOperationSpec + ); } /** - * Description for Gets the list of private endpoints associated with a hosting environment - * @summary Gets the list of private endpoints associated with a hosting environment - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListMultiRolePoolSkusNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListMultiRolePoolSkus method. + * @param options The options parameters. */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listMultiRolePoolSkusNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListMultiRolePoolSkusNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getPrivateEndpointConnectionListNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listMultiRolePoolSkusNextOperationSpec + ); } /** - * Description for Resume an App Service Environment. - * @summary Resume an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListMultiRoleUsagesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListMultiRoleUsages method. + * @param options The options parameters. */ - resumeNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginResumeNext(nextPageLink, options).then((lroPoller) => - lroPoller.pollUntilFinished() - ) as Promise; + private _listMultiRoleUsagesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListMultiRoleUsagesNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, nextLink, options }, + listMultiRoleUsagesNextOperationSpec + ); } /** - * Description for Get all App Service plans in an App Service Environment. - * @summary Get all App Service plans in an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listAppServicePlansNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAppServicePlansNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetOutboundNetworkDependenciesEndpointsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the + * GetOutboundNetworkDependenciesEndpoints method. + * @param options The options parameters. */ - listAppServicePlansNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listAppServicePlansNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getOutboundNetworkDependenciesEndpointsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextOptionalParams + ): Promise< + AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAppServicePlansNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getOutboundNetworkDependenciesEndpointsNextOperationSpec + ); } /** - * Description for Get all apps in an App Service Environment. - * @summary Get all apps in an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWebAppsNext( - nextPageLink: string, - options?: Models.AppServiceEnvironmentsListWebAppsNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWebAppsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetPrivateEndpointConnectionListNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the + * GetPrivateEndpointConnectionList method. + * @param options The options parameters. */ - listWebAppsNext( - nextPageLink: string, - options: Models.AppServiceEnvironmentsListWebAppsNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listWebAppsNext( - nextPageLink: string, - options?: - | Models.AppServiceEnvironmentsListWebAppsNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getPrivateEndpointConnectionListNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsGetPrivateEndpointConnectionListNextOptionalParams + ): Promise< + AppServiceEnvironmentsGetPrivateEndpointConnectionListNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWebAppsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getPrivateEndpointConnectionListNextOperationSpec + ); } /** - * Description for Suspend an App Service Environment. - * @summary Suspend an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ResumeNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the Resume method. + * @param options The options parameters. */ - suspendNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginSuspendNext(nextPageLink, options).then((lroPoller) => - lroPoller.pollUntilFinished() - ) as Promise; + private _resumeNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsResumeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, nextLink, options }, + resumeNextOperationSpec + ); } /** - * Description for Get global usage metrics of an App Service Environment. - * @summary Get global usage metrics of an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listUsagesNext( - nextPageLink: string, - options?: Models.AppServiceEnvironmentsListUsagesNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listUsagesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListAppServicePlansNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListAppServicePlans method. + * @param options The options parameters. */ - listUsagesNext( - nextPageLink: string, - options: Models.AppServiceEnvironmentsListUsagesNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listUsagesNext( - nextPageLink: string, - options?: - | Models.AppServiceEnvironmentsListUsagesNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listAppServicePlansNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListAppServicePlansNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listUsagesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listAppServicePlansNextOperationSpec + ); } /** - * Description for Get all worker pools of an App Service Environment. - * @summary Get all worker pools of an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWorkerPoolsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWorkerPoolsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListWebAppsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListWebApps method. + * @param options The options parameters. */ - listWorkerPoolsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWorkerPoolsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listWebAppsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListWebAppsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWorkerPoolsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listWebAppsNextOperationSpec + ); } /** - * Description for Get metric definitions for a specific instance of a worker pool of an App - * Service Environment. - * @summary Get metric definitions for a specific instance of a worker pool of an App Service - * Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - listWorkerPoolInstanceMetricDefinitionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWorkerPoolInstanceMetricDefinitionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * SuspendNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the Suspend method. + * @param options The options parameters. */ - listWorkerPoolInstanceMetricDefinitionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWorkerPoolInstanceMetricDefinitionsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _suspendNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsSuspendNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWorkerPoolInstanceMetricDefinitionsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + suspendNextOperationSpec + ); } /** - * Description for Get metric definitions for a worker pool of an App Service Environment. - * @summary Get metric definitions for a worker pool of an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWebWorkerMetricDefinitionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWebWorkerMetricDefinitionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListUsagesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListUsages method. + * @param options The options parameters. */ - listWebWorkerMetricDefinitionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebWorkerMetricDefinitionsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listUsagesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListUsagesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWebWorkerMetricDefinitionsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listUsagesNextOperationSpec + ); } /** - * Description for Get available SKUs for scaling a worker pool. - * @summary Get available SKUs for scaling a worker pool. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWorkerPoolSkusNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWorkerPoolSkusNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListWorkerPoolsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param nextLink The nextLink from the previous successful call to the ListWorkerPools method. + * @param options The options parameters. */ - listWorkerPoolSkusNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWorkerPoolSkusNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listWorkerPoolsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServiceEnvironmentsListWorkerPoolsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWorkerPoolSkusNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listWorkerPoolsNextOperationSpec + ); } /** - * Description for Get usage metrics for a worker pool of an App Service Environment. - * @summary Get usage metrics for a worker pool of an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWebWorkerUsagesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWebWorkerUsagesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListWorkerPoolInstanceMetricDefinitionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param instance Name of the instance in the worker pool. + * @param nextLink The nextLink from the previous successful call to the + * ListWorkerPoolInstanceMetricDefinitions method. + * @param options The options parameters. */ - listWebWorkerUsagesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebWorkerUsagesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listWorkerPoolInstanceMetricDefinitionsNext( + resourceGroupName: string, + name: string, + workerPoolName: string, + instance: string, + nextLink: string, + options?: AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextOptionalParams + ): Promise< + AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWebWorkerUsagesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, workerPoolName, instance, nextLink, options }, + listWorkerPoolInstanceMetricDefinitionsNextOperationSpec + ); } /** - * Description for Move an App Service Environment to a different VNET. - * @summary Move an App Service Environment to a different VNET. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListWebWorkerMetricDefinitionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param nextLink The nextLink from the previous successful call to the ListWebWorkerMetricDefinitions + * method. + * @param options The options parameters. */ - beginChangeVnetNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - nextPageLink, - options - }, - beginChangeVnetNextOperationSpec, - options + private _listWebWorkerMetricDefinitionsNext( + resourceGroupName: string, + name: string, + workerPoolName: string, + nextLink: string, + options?: AppServiceEnvironmentsListWebWorkerMetricDefinitionsNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, workerPoolName, nextLink, options }, + listWebWorkerMetricDefinitionsNextOperationSpec ); } /** - * Description for Resume an App Service Environment. - * @summary Resume an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListWorkerPoolSkusNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param nextLink The nextLink from the previous successful call to the ListWorkerPoolSkus method. + * @param options The options parameters. */ - beginResumeNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - nextPageLink, - options - }, - beginResumeNextOperationSpec, - options + private _listWorkerPoolSkusNext( + resourceGroupName: string, + name: string, + workerPoolName: string, + nextLink: string, + options?: AppServiceEnvironmentsListWorkerPoolSkusNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, workerPoolName, nextLink, options }, + listWorkerPoolSkusNextOperationSpec ); } /** - * Description for Suspend an App Service Environment. - * @summary Suspend an App Service Environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListWebWorkerUsagesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param nextLink The nextLink from the previous successful call to the ListWebWorkerUsages method. + * @param options The options parameters. */ - beginSuspendNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - nextPageLink, - options - }, - beginSuspendNextOperationSpec, - options + private _listWebWorkerUsagesNext( + resourceGroupName: string, + name: string, + workerPoolName: string, + nextLink: string, + options?: AppServiceEnvironmentsListWebWorkerUsagesNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, workerPoolName, nextLink, options }, + listWebWorkerUsagesNextOperationSpec ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.AppServiceEnvironmentCollection @@ -3362,16 +3509,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServiceEnvironmentCollection @@ -3380,16 +3526,19 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServiceEnvironmentResource @@ -3398,23 +3547,76 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const createOrUpdateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AppServiceEnvironmentResource + }, + 201: { + bodyMapper: Mappers.AppServiceEnvironmentResource + }, + 202: { + bodyMapper: Mappers.AppServiceEnvironmentResource + }, + 204: { + bodyMapper: Mappers.AppServiceEnvironmentResource + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.hostingEnvironmentEnvelope, queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "hostingEnvironmentEnvelope", - mapper: { - ...Mappers.AppServiceEnvironmentPatchResource, - required: true + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.forceDelete], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.AppServiceEnvironmentResource @@ -3429,16 +3631,22 @@ const updateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.hostingEnvironmentEnvelope1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listCapacitiesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listCapacitiesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StampCapacityCollection @@ -3447,16 +3655,20 @@ const listCapacitiesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getVipInfoOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getVipInfoOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AddressResponse @@ -3465,16 +3677,53 @@ const getVipInfoOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getAseV3NetworkingConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const changeVnetOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/configurations/networking", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.WebAppCollection + }, + 201: { + bodyMapper: Mappers.WebAppCollection + }, + 202: { + bodyMapper: Mappers.WebAppCollection + }, + 204: { + bodyMapper: Mappers.WebAppCollection + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.vnetInfo, queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getAseV3NetworkingConfigurationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/configurations/networking", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AseV3NetworkingConfiguration @@ -3483,23 +3732,20 @@ const getAseV3NetworkingConfigurationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer -}; - -const updateAseNetworkingConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +}; +const updateAseNetworkingConfigurationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/configurations/networking", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "aseNetworkingConfiguration", - mapper: { - ...Mappers.AseV3NetworkingConfiguration, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/configurations/networking", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.AseV3NetworkingConfiguration @@ -3508,20 +3754,25 @@ const updateAseNetworkingConfigurationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.aseNetworkingConfiguration, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listDiagnosticsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listDiagnosticsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", element: { @@ -3537,21 +3788,20 @@ const listDiagnosticsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getDiagnosticsItemOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.diagnosticsName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getDiagnosticsItemOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.HostingEnvironmentDiagnostics @@ -3560,16 +3810,21 @@ const getDiagnosticsItemOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.diagnosticsName + ], + headerParameters: [Parameters.accept], serializer }; - -const getInboundNetworkDependenciesEndpointsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getInboundNetworkDependenciesEndpointsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/inboundNetworkDependenciesEndpoints", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/inboundNetworkDependenciesEndpoints", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.InboundEnvironmentEndpointCollection @@ -3578,16 +3833,20 @@ const getInboundNetworkDependenciesEndpointsOperationSpec: msRest.OperationSpec bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listMultiRolePoolsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listMultiRolePoolsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WorkerPoolCollection @@ -3596,16 +3855,20 @@ const listMultiRolePoolsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getMultiRolePoolOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getMultiRolePoolOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WorkerPoolResource @@ -3614,49 +3877,80 @@ const getMultiRolePoolOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateMultiRolePoolOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const createOrUpdateMultiRolePoolOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "multiRolePoolEnvelope", - mapper: { - ...Mappers.WorkerPoolResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.WorkerPoolResource }, + 201: { + bodyMapper: Mappers.WorkerPoolResource + }, 202: { bodyMapper: Mappers.WorkerPoolResource }, + 204: { + bodyMapper: Mappers.WorkerPoolResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.multiRolePoolEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listMultiRolePoolInstanceMetricDefinitionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const updateMultiRolePoolOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.WorkerPoolResource + }, + 202: { + bodyMapper: Mappers.WorkerPoolResource + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.multiRolePoolEnvelope, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.instance, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listMultiRolePoolInstanceMetricDefinitionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceMetricDefinitionCollection @@ -3665,16 +3959,21 @@ const listMultiRolePoolInstanceMetricDefinitionsOperationSpec: msRest.OperationS bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instance + ], + headerParameters: [Parameters.accept], serializer }; - -const listMultiRoleMetricDefinitionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listMultiRoleMetricDefinitionsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceMetricDefinitionCollection @@ -3683,16 +3982,20 @@ const listMultiRoleMetricDefinitionsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listMultiRolePoolSkusOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listMultiRolePoolSkusOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SkuInfoCollection @@ -3701,16 +4004,20 @@ const listMultiRolePoolSkusOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listMultiRoleUsagesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listMultiRoleUsagesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.UsageCollection @@ -3719,28 +4026,26 @@ const listMultiRoleUsagesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listOperationsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listOperationsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", - element: { - type: { - name: "Composite", - className: "Operation" - } - } + element: { type: { name: "Composite", className: "Operation" } } } } }, @@ -3748,16 +4053,20 @@ const listOperationsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getOutboundNetworkDependenciesEndpointsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getOutboundNetworkDependenciesEndpointsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/outboundNetworkDependenciesEndpoints", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/outboundNetworkDependenciesEndpoints", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.OutboundEnvironmentEndpointCollection @@ -3766,568 +4075,508 @@ const getOutboundNetworkDependenciesEndpointsOperationSpec: msRest.OperationSpec bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPrivateEndpointConnectionListOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.PrivateEndpointConnectionCollection - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const getPrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}", urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const getPrivateLinkResourcesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateLinkResources", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.PrivateLinkResourcesWrapper - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const rebootOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getPrivateEndpointConnectionListOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 202: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const listAppServicePlansOperationSpec: msRest.OperationSpec = { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections", httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { - bodyMapper: Mappers.AppServicePlanCollection + bodyMapper: Mappers.PrivateEndpointConnectionCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebAppsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.propertiesToInclude, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.WebAppCollection - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const listUsagesOperationSpec: msRest.OperationSpec = { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}", httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { - bodyMapper: Mappers.CsmUsageQuotaCollection + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listWorkerPoolsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.WorkerPoolCollection - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const getWorkerPoolOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.workerPoolName, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const approveOrRejectPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.WorkerPoolResource + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 201: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 202: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 204: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateWorkerPoolOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", + requestBody: Parameters.privateEndpointWrapper, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.workerPoolName, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "workerPoolEnvelope", - mapper: { - ...Mappers.WorkerPoolResource, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deletePrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", responses: { 200: { - bodyMapper: Mappers.WorkerPoolResource + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 201: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } }, 202: { - bodyMapper: Mappers.WorkerPoolResource + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 204: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listWorkerPoolInstanceMetricDefinitionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.workerPoolName, - Parameters.instance, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getPrivateLinkResourcesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateLinkResources", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ResourceMetricDefinitionCollection + bodyMapper: Mappers.PrivateLinkResourcesWrapper }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebWorkerMetricDefinitionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const rebootOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot", + httpMethod: "POST", + responses: { + 202: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.workerPoolName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const resumeOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.ResourceMetricDefinitionCollection + bodyMapper: Mappers.WebAppCollection + }, + 201: { + bodyMapper: Mappers.WebAppCollection + }, + 202: { + bodyMapper: Mappers.WebAppCollection + }, + 204: { + bodyMapper: Mappers.WebAppCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listWorkerPoolSkusOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.workerPoolName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listAppServicePlansOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SkuInfoCollection + bodyMapper: Mappers.AppServicePlanCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listWebWorkerUsagesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.workerPoolName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listWebAppsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.UsageCollection + bodyMapper: Mappers.WebAppCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.propertiesToInclude], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const suspendOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "hostingEnvironmentEnvelope", - mapper: { - ...Mappers.AppServiceEnvironmentResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.AppServiceEnvironmentResource + bodyMapper: Mappers.WebAppCollection }, 201: { - bodyMapper: Mappers.AppServiceEnvironmentResource + bodyMapper: Mappers.WebAppCollection }, 202: { - bodyMapper: Mappers.AppServiceEnvironmentResource + bodyMapper: Mappers.WebAppCollection + }, + 204: { + bodyMapper: Mappers.WebAppCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const listUsagesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.forceDelete, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages", + httpMethod: "GET", responses: { - 202: {}, - 204: {}, + 200: { + bodyMapper: Mappers.CsmUsageQuotaCollection + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginChangeVnetOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listWorkerPoolsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "vnetInfo", - mapper: { - ...Mappers.VirtualNetworkProfile, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppCollection - }, - 202: { - bodyMapper: Mappers.WebAppCollection + bodyMapper: Mappers.WorkerPoolCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateMultiRolePoolOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const getWorkerPoolOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "multiRolePoolEnvelope", - mapper: { - ...Mappers.WorkerPoolResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WorkerPoolResource }, - 202: { - bodyMapper: Mappers.WorkerPoolResource - }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginApproveOrRejectPrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.workerPoolName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "privateEndpointWrapper", - mapper: { - ...Mappers.PrivateLinkConnectionApprovalRequestResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateWorkerPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + bodyMapper: Mappers.WorkerPoolResource + }, + 201: { + bodyMapper: Mappers.WorkerPoolResource }, 202: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + bodyMapper: Mappers.WorkerPoolResource + }, + 204: { + bodyMapper: Mappers.WorkerPoolResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginDeletePrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + requestBody: Parameters.workerPoolEnvelope, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.workerPoolName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateWorkerPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } + bodyMapper: Mappers.WorkerPoolResource }, 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } - }, - 204: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } + bodyMapper: Mappers.WorkerPoolResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.workerPoolEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.workerPoolName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginResumeOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listWorkerPoolInstanceMetricDefinitionsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppCollection - }, - 202: { - bodyMapper: Mappers.WebAppCollection + bodyMapper: Mappers.ResourceMetricDefinitionCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instance, + Parameters.workerPoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginSuspendOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listWebWorkerMetricDefinitionsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppCollection - }, - 202: { - bodyMapper: Mappers.WebAppCollection + bodyMapper: Mappers.ResourceMetricDefinitionCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.workerPoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateWorkerPoolOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const listWorkerPoolSkusOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SkuInfoCollection + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.workerPoolName, - Parameters.subscriptionId + Parameters.workerPoolName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "workerPoolEnvelope", - mapper: { - ...Mappers.WorkerPoolResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listWebWorkerUsagesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WorkerPoolResource - }, - 202: { - bodyMapper: Mappers.WorkerPoolResource + bodyMapper: Mappers.UsageCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.workerPoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServiceEnvironmentCollection @@ -4336,16 +4585,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServiceEnvironmentCollection @@ -4354,16 +4605,19 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listCapacitiesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listCapacitiesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StampCapacityCollection @@ -4372,70 +4626,90 @@ const listCapacitiesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getInboundNetworkDependenciesEndpointsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const changeVnetNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.InboundEnvironmentEndpointCollection + bodyMapper: Mappers.WebAppCollection + }, + 202: { + bodyMapper: Mappers.WebAppCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listMultiRolePoolsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getInboundNetworkDependenciesEndpointsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WorkerPoolCollection + bodyMapper: Mappers.InboundEnvironmentEndpointCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listMultiRolePoolInstanceMetricDefinitionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listMultiRolePoolsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ResourceMetricDefinitionCollection + bodyMapper: Mappers.WorkerPoolCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listMultiRoleMetricDefinitionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listMultiRolePoolInstanceMetricDefinitionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceMetricDefinitionCollection @@ -4444,284 +4718,356 @@ const listMultiRoleMetricDefinitionsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.instance + ], + headerParameters: [Parameters.accept], serializer }; - -const listMultiRolePoolSkusNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listMultiRoleMetricDefinitionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SkuInfoCollection + bodyMapper: Mappers.ResourceMetricDefinitionCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listMultiRoleUsagesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listMultiRolePoolSkusNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.UsageCollection + bodyMapper: Mappers.SkuInfoCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getOutboundNetworkDependenciesEndpointsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listMultiRoleUsagesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.OutboundEnvironmentEndpointCollection + bodyMapper: Mappers.UsageCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getPrivateEndpointConnectionListNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getOutboundNetworkDependenciesEndpointsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PrivateEndpointConnectionCollection + bodyMapper: Mappers.OutboundEnvironmentEndpointCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listAppServicePlansNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getPrivateEndpointConnectionListNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AppServicePlanCollection + bodyMapper: Mappers.PrivateEndpointConnectionCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebAppsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const resumeNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.propertiesToInclude, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppCollection }, + 202: { + bodyMapper: Mappers.WebAppCollection + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listUsagesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listAppServicePlansNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.CsmUsageQuotaCollection + bodyMapper: Mappers.AppServicePlanCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWorkerPoolsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listWebAppsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WorkerPoolCollection + bodyMapper: Mappers.WebAppCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.propertiesToInclude], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWorkerPoolInstanceMetricDefinitionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const suspendNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ResourceMetricDefinitionCollection + bodyMapper: Mappers.WebAppCollection + }, + 202: { + bodyMapper: Mappers.WebAppCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebWorkerMetricDefinitionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listUsagesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ResourceMetricDefinitionCollection + bodyMapper: Mappers.CsmUsageQuotaCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWorkerPoolSkusNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listWorkerPoolsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SkuInfoCollection + bodyMapper: Mappers.WorkerPoolCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebWorkerUsagesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listWorkerPoolInstanceMetricDefinitionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.UsageCollection + bodyMapper: Mappers.ResourceMetricDefinitionCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.instance, + Parameters.workerPoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginChangeVnetNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listWebWorkerMetricDefinitionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppCollection - }, - 202: { - bodyMapper: Mappers.WebAppCollection + bodyMapper: Mappers.ResourceMetricDefinitionCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.workerPoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginResumeNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listWorkerPoolSkusNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppCollection - }, - 202: { - bodyMapper: Mappers.WebAppCollection + bodyMapper: Mappers.SkuInfoCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.workerPoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginSuspendNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listWebWorkerUsagesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppCollection - }, - 202: { - bodyMapper: Mappers.WebAppCollection + bodyMapper: Mappers.UsageCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.workerPoolName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/appServicePlans.ts b/sdk/appservice/arm-appservice/src/operations/appServicePlans.ts index 11d6ad9765d9..e68d424e829c 100644 --- a/sdk/appservice/arm-appservice/src/operations/appServicePlans.ts +++ b/sdk/appservice/arm-appservice/src/operations/appServicePlans.ts @@ -3,24 +3,97 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/appServicePlansMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { AppServicePlans } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; - +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + AppServicePlan, + AppServicePlansListNextOptionalParams, + AppServicePlansListOptionalParams, + AppServicePlansListByResourceGroupNextOptionalParams, + AppServicePlansListByResourceGroupOptionalParams, + AppServicePlansListWebAppsByHybridConnectionNextOptionalParams, + AppServicePlansListWebAppsByHybridConnectionOptionalParams, + HybridConnection, + AppServicePlansListHybridConnectionsNextOptionalParams, + AppServicePlansListHybridConnectionsOptionalParams, + Site, + AppServicePlansListWebAppsNextOptionalParams, + AppServicePlansListWebAppsOptionalParams, + CsmUsageQuota, + AppServicePlansListUsagesNextOptionalParams, + AppServicePlansListUsagesOptionalParams, + AppServicePlansListResponse, + AppServicePlansListByResourceGroupResponse, + AppServicePlansGetOptionalParams, + AppServicePlansGetResponse, + AppServicePlansCreateOrUpdateOptionalParams, + AppServicePlansCreateOrUpdateResponse, + AppServicePlansDeleteOptionalParams, + AppServicePlanPatchResource, + AppServicePlansUpdateOptionalParams, + AppServicePlansUpdateResponse, + AppServicePlansListCapabilitiesOptionalParams, + AppServicePlansListCapabilitiesResponse, + AppServicePlansGetHybridConnectionOptionalParams, + AppServicePlansGetHybridConnectionResponse, + AppServicePlansDeleteHybridConnectionOptionalParams, + AppServicePlansListHybridConnectionKeysOptionalParams, + AppServicePlansListHybridConnectionKeysResponse, + AppServicePlansListWebAppsByHybridConnectionResponse, + AppServicePlansGetHybridConnectionPlanLimitOptionalParams, + AppServicePlansGetHybridConnectionPlanLimitResponse, + AppServicePlansListHybridConnectionsResponse, + AppServicePlansRestartWebAppsOptionalParams, + AppServicePlansListWebAppsResponse, + AppServicePlansGetServerFarmSkusOptionalParams, + AppServicePlansGetServerFarmSkusResponse, + AppServicePlansListUsagesResponse, + AppServicePlansListVnetsOptionalParams, + AppServicePlansListVnetsResponse, + AppServicePlansGetVnetFromServerFarmOptionalParams, + AppServicePlansGetVnetFromServerFarmResponse, + AppServicePlansGetVnetGatewayOptionalParams, + AppServicePlansGetVnetGatewayResponse, + VnetGateway, + AppServicePlansUpdateVnetGatewayOptionalParams, + AppServicePlansUpdateVnetGatewayResponse, + AppServicePlansListRoutesForVnetOptionalParams, + AppServicePlansListRoutesForVnetResponse, + AppServicePlansGetRouteForVnetOptionalParams, + AppServicePlansGetRouteForVnetResponse, + VnetRoute, + AppServicePlansCreateOrUpdateVnetRouteOptionalParams, + AppServicePlansCreateOrUpdateVnetRouteResponse, + AppServicePlansDeleteVnetRouteOptionalParams, + AppServicePlansUpdateVnetRouteOptionalParams, + AppServicePlansUpdateVnetRouteResponse, + AppServicePlansRebootWorkerOptionalParams, + AppServicePlansListNextResponse, + AppServicePlansListByResourceGroupNextResponse, + AppServicePlansListWebAppsByHybridConnectionNextResponse, + AppServicePlansListHybridConnectionsNextResponse, + AppServicePlansListWebAppsNextResponse, + AppServicePlansListUsagesNextResponse +} from "../models"; + +/// /** Class representing a AppServicePlans. */ -export class AppServicePlans { +export class AppServicePlansImpl implements AppServicePlans { private readonly client: WebSiteManagementClientContext; /** - * Create a AppServicePlans. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class AppServicePlans class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -28,1884 +101,1080 @@ export class AppServicePlans { /** * Description for Get all App Service plans for a subscription. - * @summary Get all App Service plans for a subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list( - options?: Models.AppServicePlansListOptionalParams - ): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list( - options: Models.AppServicePlansListOptionalParams, - callback: msRest.ServiceCallback - ): void; - list( - options?: - | Models.AppServicePlansListOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + * @param options The options parameters. + */ + public list( + options?: AppServicePlansListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback - ) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: AppServicePlansListOptionalParams + ): 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?: AppServicePlansListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Description for Get all App Service plans in a resource group. - * @summary Get all App Service plans in a resource group. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup( - resourceGroupName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param callback The callback - */ - listByResourceGroup( - resourceGroupName: string, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroup( + public listByResourceGroup( resourceGroupName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroup( + options?: AppServicePlansListByResourceGroupOptionalParams + ): 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?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServicePlansListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: AppServicePlansListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** - * Description for Get an App Service plan. - * @summary Get an App Service plan. + * Description for Get all apps that use a Hybrid Connection in an App Service Plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param [options] The optional parameters - * @returns Promise + * @param namespaceName Name of the Hybrid Connection namespace. + * @param relayName Name of the Hybrid Connection relay. + * @param options The options parameters. */ - get( + public listWebAppsByHybridConnection( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param callback The callback - */ - get( + namespaceName: string, + relayName: string, + options?: AppServicePlansListWebAppsByHybridConnectionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWebAppsByHybridConnectionPagingAll( + resourceGroupName, + name, + namespaceName, + relayName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWebAppsByHybridConnectionPagingPage( + resourceGroupName, + name, + namespaceName, + relayName, + options + ); + } + }; + } + + private async *listWebAppsByHybridConnectionPagingPage( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + options?: AppServicePlansListWebAppsByHybridConnectionOptionalParams + ): AsyncIterableIterator { + let result = await this._listWebAppsByHybridConnection( + resourceGroupName, + name, + namespaceName, + relayName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWebAppsByHybridConnectionNext( + resourceGroupName, + name, + namespaceName, + relayName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listWebAppsByHybridConnectionPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + namespaceName: string, + relayName: string, + options?: AppServicePlansListWebAppsByHybridConnectionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWebAppsByHybridConnectionPagingPage( + resourceGroupName, + name, + namespaceName, + relayName, + options + )) { + yield* page; + } + } + /** + * Description for Retrieve all Hybrid Connections in use in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get( + public listHybridConnections( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - get( + options?: AppServicePlansListHybridConnectionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listHybridConnectionsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listHybridConnectionsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listHybridConnectionsPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServicePlansListHybridConnectionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listHybridConnections( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listHybridConnectionsNext( resourceGroupName, name, + continuationToken, options - }, - getOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Creates or updates an App Service Plan. - * @summary Creates or updates an App Service Plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param appServicePlan Details of the App Service plan. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate( + private async *listHybridConnectionsPagingAll( resourceGroupName: string, name: string, - appServicePlan: Models.AppServicePlan, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdate( + options?: AppServicePlansListHybridConnectionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listHybridConnectionsPagingPage( resourceGroupName, name, - appServicePlan, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.AppServicePlansCreateOrUpdateResponse - >; + )) { + yield* page; + } } /** - * Description for Delete an App Service plan. - * @summary Delete an App Service plan. + * Description for Get all apps associated with an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod( + public listWebApps( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param callback The callback - */ - deleteMethod( + options?: AppServicePlansListWebAppsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWebAppsPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWebAppsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listWebAppsPagingPage( + resourceGroupName: string, + name: string, + options?: AppServicePlansListWebAppsOptionalParams + ): AsyncIterableIterator { + let result = await this._listWebApps(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWebAppsNext( + resourceGroupName, + name, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listWebAppsPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServicePlansListWebAppsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWebAppsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets server farm usage information * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param options The optional parameters - * @param callback The callback + * @param name Name of App Service Plan + * @param options The options parameters. */ - deleteMethod( + public listUsages( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteMethod( + options?: AppServicePlansListUsagesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listUsagesPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listUsagesPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listUsagesPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: AppServicePlansListUsagesOptionalParams + ): AsyncIterableIterator { + let result = await this._listUsages(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listUsagesNext( resourceGroupName, name, + continuationToken, options - }, - deleteMethodOperationSpec, - callback + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listUsagesPagingAll( + resourceGroupName: string, + name: string, + options?: AppServicePlansListUsagesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listUsagesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + + /** + * Description for Get all App Service plans for a subscription. + * @param options The options parameters. + */ + private _list( + options?: AppServicePlansListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Description for Get all App Service plans in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: AppServicePlansListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec ); } /** - * Description for Creates or updates an App Service Plan. - * @summary Creates or updates an App Service Plan. + * Description for Get an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param appServicePlan Details of the App Service plan. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update( + get( resourceGroupName: string, name: string, - appServicePlan: Models.AppServicePlanPatchResource, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServicePlansGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getOperationSpec + ); + } + /** + * Description for Creates or updates an App Service Plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param appServicePlan Details of the App Service plan. - * @param callback The callback - */ - update( - resourceGroupName: string, - name: string, - appServicePlan: Models.AppServicePlanPatchResource, - callback: msRest.ServiceCallback - ): void; + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + name: string, + appServicePlan: AppServicePlan, + options?: AppServicePlansCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServicePlansCreateOrUpdateResponse + > + > { + 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, name, appServicePlan, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Creates or updates an App Service Plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param appServicePlan Details of the App Service plan. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - update( - resourceGroupName: string, - name: string, - appServicePlan: Models.AppServicePlanPatchResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - update( + async beginCreateOrUpdateAndWait( resourceGroupName: string, name: string, - appServicePlan: Models.AppServicePlanPatchResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - appServicePlan, - options - }, - updateOperationSpec, - callback - ) as Promise; + appServicePlan: AppServicePlan, + options?: AppServicePlansCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + name, + appServicePlan, + options + ); + return poller.pollUntilDone(); } /** - * Description for List all capabilities of an App Service plan. - * @summary List all capabilities of an App Service plan. + * Description for Delete an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listCapabilities( + delete( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServicePlansDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + deleteOperationSpec + ); + } + /** + * Description for Creates or updates an App Service Plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param callback The callback + * @param appServicePlan Details of the App Service plan. + * @param options The options parameters. */ - listCapabilities( + update( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + appServicePlan: AppServicePlanPatchResource, + options?: AppServicePlansUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, appServicePlan, options }, + updateOperationSpec + ); + } + /** + * Description for List all capabilities of an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ listCapabilities( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listCapabilities( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServicePlansListCapabilitiesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listCapabilitiesOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listCapabilitiesOperationSpec + ); } /** * Description for Retrieve a Hybrid Connection in use in an App Service plan. - * @summary Retrieve a Hybrid Connection in use in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param namespaceName Name of the Service Bus namespace. * @param relayName Name of the Service Bus relay. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ getHybridConnection( resourceGroupName: string, name: string, namespaceName: string, relayName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServicePlansGetHybridConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, namespaceName, relayName, options }, + getHybridConnectionOperationSpec + ); + } + /** + * Description for Delete a Hybrid Connection in use in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param namespaceName Name of the Service Bus namespace. * @param relayName Name of the Service Bus relay. - * @param callback The callback + * @param options The options parameters. */ - getHybridConnection( + deleteHybridConnection( resourceGroupName: string, name: string, namespaceName: string, relayName: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServicePlansDeleteHybridConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, namespaceName, relayName, options }, + deleteHybridConnectionOperationSpec + ); + } + /** + * Description for Get the send key name and value of a Hybrid Connection. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param namespaceName Name of the Service Bus namespace. - * @param relayName Name of the Service Bus relay. - * @param options The optional parameters - * @param callback The callback + * @param namespaceName The name of the Service Bus namespace. + * @param relayName The name of the Service Bus relay. + * @param options The options parameters. */ - getHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getHybridConnection( + listHybridConnectionKeys( resourceGroupName: string, name: string, namespaceName: string, relayName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServicePlansListHybridConnectionKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - options - }, - getHybridConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Delete a Hybrid Connection in use in an App Service plan. - * @summary Delete a Hybrid Connection in use in an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName Name of the Service Bus namespace. - * @param relayName Name of the Service Bus relay. - * @param [options] The optional parameters - * @returns Promise - */ - deleteHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName Name of the Service Bus namespace. - * @param relayName Name of the Service Bus relay. - * @param callback The callback - */ - deleteHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName Name of the Service Bus namespace. - * @param relayName Name of the Service Bus relay. - * @param options The optional parameters - * @param callback The callback - */ - deleteHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - options - }, - deleteHybridConnectionOperationSpec, - callback - ); - } - - /** - * Description for Get the send key name and value of a Hybrid Connection. - * @summary Get the send key name and value of a Hybrid Connection. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName The name of the Service Bus namespace. - * @param relayName The name of the Service Bus relay. - * @param [options] The optional parameters - * @returns Promise - */ - listHybridConnectionKeys( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName The name of the Service Bus namespace. - * @param relayName The name of the Service Bus relay. - * @param callback The callback - */ - listHybridConnectionKeys( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName The name of the Service Bus namespace. - * @param relayName The name of the Service Bus relay. - * @param options The optional parameters - * @param callback The callback - */ - listHybridConnectionKeys( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHybridConnectionKeys( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - options - }, - listHybridConnectionKeysOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get all apps that use a Hybrid Connection in an App Service Plan. - * @summary Get all apps that use a Hybrid Connection in an App Service Plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName Name of the Hybrid Connection namespace. - * @param relayName Name of the Hybrid Connection relay. - * @param [options] The optional parameters - * @returns Promise - */ - listWebAppsByHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName Name of the Hybrid Connection namespace. - * @param relayName Name of the Hybrid Connection relay. - * @param callback The callback - */ - listWebAppsByHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param namespaceName Name of the Hybrid Connection namespace. - * @param relayName Name of the Hybrid Connection relay. - * @param options The optional parameters - * @param callback The callback - */ - listWebAppsByHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebAppsByHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - options - }, - listWebAppsByHybridConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get the maximum number of Hybrid Connections allowed in an App Service plan. - * @summary Get the maximum number of Hybrid Connections allowed in an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param [options] The optional parameters - * @returns Promise - */ - getHybridConnectionPlanLimit( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param callback The callback - */ - getHybridConnectionPlanLimit( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param options The optional parameters - * @param callback The callback - */ - getHybridConnectionPlanLimit( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getHybridConnectionPlanLimit( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getHybridConnectionPlanLimitOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Retrieve all Hybrid Connections in use in an App Service plan. - * @summary Retrieve all Hybrid Connections in use in an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param [options] The optional parameters - * @returns Promise - */ - listHybridConnections( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param callback The callback - */ - listHybridConnections( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param options The optional parameters - * @param callback The callback - */ - listHybridConnections( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHybridConnections( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listHybridConnectionsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Restart all apps in an App Service plan. - * @summary Restart all apps in an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param [options] The optional parameters - * @returns Promise - */ - restartWebApps( - resourceGroupName: string, - name: string, - options?: Models.AppServicePlansRestartWebAppsOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param callback The callback - */ - restartWebApps( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param options The optional parameters - * @param callback The callback - */ - restartWebApps( - resourceGroupName: string, - name: string, - options: Models.AppServicePlansRestartWebAppsOptionalParams, - callback: msRest.ServiceCallback - ): void; - restartWebApps( - resourceGroupName: string, - name: string, - options?: Models.AppServicePlansRestartWebAppsOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - restartWebAppsOperationSpec, - callback - ); - } - - /** - * Description for Get all apps associated with an App Service plan. - * @summary Get all apps associated with an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param [options] The optional parameters - * @returns Promise - */ - listWebApps( - resourceGroupName: string, - name: string, - options?: Models.AppServicePlansListWebAppsOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param callback The callback - */ - listWebApps( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param options The optional parameters - * @param callback The callback - */ - listWebApps( - resourceGroupName: string, - name: string, - options: Models.AppServicePlansListWebAppsOptionalParams, - callback: msRest.ServiceCallback - ): void; - listWebApps( - resourceGroupName: string, - name: string, - options?: - | Models.AppServicePlansListWebAppsOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listWebAppsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets all selectable SKUs for a given App Service Plan - * @summary Gets all selectable SKUs for a given App Service Plan - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of App Service Plan - * @param [options] The optional parameters - * @returns Promise - */ - getServerFarmSkus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of App Service Plan - * @param callback The callback - */ - getServerFarmSkus( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of App Service Plan - * @param options The optional parameters - * @param callback The callback - */ - getServerFarmSkus( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getServerFarmSkus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getServerFarmSkusOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets server farm usage information - * @summary Gets server farm usage information - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of App Service Plan - * @param [options] The optional parameters - * @returns Promise - */ - listUsages( - resourceGroupName: string, - name: string, - options?: Models.AppServicePlansListUsagesOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of App Service Plan - * @param callback The callback - */ - listUsages( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of App Service Plan - * @param options The optional parameters - * @param callback The callback - */ - listUsages( - resourceGroupName: string, - name: string, - options: Models.AppServicePlansListUsagesOptionalParams, - callback: msRest.ServiceCallback - ): void; - listUsages( - resourceGroupName: string, - name: string, - options?: - | Models.AppServicePlansListUsagesOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listUsagesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get all Virtual Networks associated with an App Service plan. - * @summary Get all Virtual Networks associated with an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param [options] The optional parameters - * @returns Promise - */ - listVnets( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param callback The callback - */ - listVnets( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param options The optional parameters - * @param callback The callback - */ - listVnets( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listVnets( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listVnetsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get a Virtual Network associated with an App Service plan. - * @summary Get a Virtual Network associated with an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param [options] The optional parameters - * @returns Promise - */ - getVnetFromServerFarm( - resourceGroupName: string, - name: string, - vnetName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param callback The callback - */ - getVnetFromServerFarm( - resourceGroupName: string, - name: string, - vnetName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param options The optional parameters - * @param callback The callback - */ - getVnetFromServerFarm( - resourceGroupName: string, - name: string, - vnetName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getVnetFromServerFarm( - resourceGroupName: string, - name: string, - vnetName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - options - }, - getVnetFromServerFarmOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, namespaceName, relayName, options }, + listHybridConnectionKeysOperationSpec + ); } /** - * Description for Get a Virtual Network gateway. - * @summary Get a Virtual Network gateway. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. - * @param [options] The optional parameters - * @returns Promise - */ - getVnetGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. - * @param callback The callback - */ - getVnetGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Get all apps that use a Hybrid Connection in an App Service Plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. - * @param options The optional parameters - * @param callback The callback + * @param namespaceName Name of the Hybrid Connection namespace. + * @param relayName Name of the Hybrid Connection relay. + * @param options The options parameters. */ - getVnetGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getVnetGateway( + private _listWebAppsByHybridConnection( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + namespaceName: string, + relayName: string, + options?: AppServicePlansListWebAppsByHybridConnectionOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - gatewayName, - options - }, - getVnetGatewayOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, namespaceName, relayName, options }, + listWebAppsByHybridConnectionOperationSpec + ); } /** - * Description for Update a Virtual Network gateway. - * @summary Update a Virtual Network gateway. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. - * @param connectionEnvelope Definition of the gateway. - * @param [options] The optional parameters - * @returns Promise - */ - updateVnetGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. - * @param connectionEnvelope Definition of the gateway. - * @param callback The callback - */ - updateVnetGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Get the maximum number of Hybrid Connections allowed in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. - * @param connectionEnvelope Definition of the gateway. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - updateVnetGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateVnetGateway( + getHybridConnectionPlanLimit( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServicePlansGetHybridConnectionPlanLimitOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - gatewayName, - connectionEnvelope, - options - }, - updateVnetGatewayOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getHybridConnectionPlanLimitOperationSpec + ); } /** - * Description for Get all routes that are associated with a Virtual Network in an App Service - * plan. - * @summary Get all routes that are associated with a Virtual Network in an App Service plan. + * Description for Retrieve all Hybrid Connections in use in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listRoutesForVnet( + private _listHybridConnections( resourceGroupName: string, name: string, - vnetName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServicePlansListHybridConnectionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listHybridConnectionsOperationSpec + ); + } + /** + * Description for Restart all apps in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param callback The callback + * @param options The options parameters. */ - listRoutesForVnet( + restartWebApps( resourceGroupName: string, name: string, - vnetName: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServicePlansRestartWebAppsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + restartWebAppsOperationSpec + ); + } + /** + * Description for Get all apps associated with an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listRoutesForVnet( - resourceGroupName: string, - name: string, - vnetName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listRoutesForVnet( + private _listWebApps( resourceGroupName: string, name: string, - vnetName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServicePlansListWebAppsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - options - }, - listRoutesForVnetOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listWebAppsOperationSpec + ); } /** - * Description for Get a Virtual Network route in an App Service plan. - * @summary Get a Virtual Network route in an App Service plan. + * Description for Gets all selectable SKUs for a given App Service Plan * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param routeName Name of the Virtual Network route. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of App Service Plan + * @param options The options parameters. */ - getRouteForVnet( + getServerFarmSkus( resourceGroupName: string, name: string, - vnetName: string, - routeName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServicePlansGetServerFarmSkusOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getServerFarmSkusOperationSpec + ); + } + /** + * Description for Gets server farm usage information * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param routeName Name of the Virtual Network route. - * @param callback The callback + * @param name Name of App Service Plan + * @param options The options parameters. */ - getRouteForVnet( + private _listUsages( resourceGroupName: string, name: string, - vnetName: string, - routeName: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServicePlansListUsagesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listUsagesOperationSpec + ); + } + /** + * Description for Get all Virtual Networks associated with an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param routeName Name of the Virtual Network route. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getRouteForVnet( - resourceGroupName: string, - name: string, - vnetName: string, - routeName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getRouteForVnet( + listVnets( resourceGroupName: string, name: string, - vnetName: string, - routeName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServicePlansListVnetsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - routeName, - options - }, - getRouteForVnetOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listVnetsOperationSpec + ); } /** - * Description for Create or update a Virtual Network route in an App Service plan. - * @summary Create or update a Virtual Network route in an App Service plan. + * Description for Get a Virtual Network associated with an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param vnetName Name of the Virtual Network. - * @param routeName Name of the Virtual Network route. - * @param route Definition of the Virtual Network route. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdateVnetRoute( + getVnetFromServerFarm( resourceGroupName: string, name: string, vnetName: string, - routeName: string, - route: Models.VnetRoute, - options?: msRest.RequestOptionsBase - ): Promise; + options?: AppServicePlansGetVnetFromServerFarmOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, options }, + getVnetFromServerFarmOperationSpec + ); + } + /** + * Description for Get a Virtual Network gateway. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param vnetName Name of the Virtual Network. - * @param routeName Name of the Virtual Network route. - * @param route Definition of the Virtual Network route. - * @param callback The callback + * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. + * @param options The options parameters. */ - createOrUpdateVnetRoute( + getVnetGateway( resourceGroupName: string, name: string, vnetName: string, - routeName: string, - route: Models.VnetRoute, - callback: msRest.ServiceCallback - ): void; + gatewayName: string, + options?: AppServicePlansGetVnetGatewayOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, gatewayName, options }, + getVnetGatewayOperationSpec + ); + } + /** + * Description for Update a Virtual Network gateway. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param vnetName Name of the Virtual Network. - * @param routeName Name of the Virtual Network route. - * @param route Definition of the Virtual Network route. - * @param options The optional parameters - * @param callback The callback + * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. + * @param connectionEnvelope Definition of the gateway. + * @param options The options parameters. */ - createOrUpdateVnetRoute( - resourceGroupName: string, - name: string, - vnetName: string, - routeName: string, - route: Models.VnetRoute, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateVnetRoute( + updateVnetGateway( resourceGroupName: string, name: string, vnetName: string, - routeName: string, - route: Models.VnetRoute, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + gatewayName: string, + connectionEnvelope: VnetGateway, + options?: AppServicePlansUpdateVnetGatewayOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, vnetName, - routeName, - route, + gatewayName, + connectionEnvelope, options }, - createOrUpdateVnetRouteOperationSpec, - callback - ) as Promise; + updateVnetGatewayOperationSpec + ); } /** - * Description for Delete a Virtual Network route in an App Service plan. - * @summary Delete a Virtual Network route in an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param vnetName Name of the Virtual Network. - * @param routeName Name of the Virtual Network route. - * @param [options] The optional parameters - * @returns Promise - */ - deleteVnetRoute( - resourceGroupName: string, - name: string, - vnetName: string, - routeName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Get all routes that are associated with a Virtual Network in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param vnetName Name of the Virtual Network. - * @param routeName Name of the Virtual Network route. - * @param callback The callback + * @param options The options parameters. */ - deleteVnetRoute( + listRoutesForVnet( resourceGroupName: string, name: string, vnetName: string, - routeName: string, - callback: msRest.ServiceCallback - ): void; + options?: AppServicePlansListRoutesForVnetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, options }, + listRoutesForVnetOperationSpec + ); + } + /** + * Description for Get a Virtual Network route in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param vnetName Name of the Virtual Network. * @param routeName Name of the Virtual Network route. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteVnetRoute( - resourceGroupName: string, - name: string, - vnetName: string, - routeName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteVnetRoute( + getRouteForVnet( resourceGroupName: string, name: string, - vnetName: string, - routeName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - routeName, - options - }, - deleteVnetRouteOperationSpec, - callback + vnetName: string, + routeName: string, + options?: AppServicePlansGetRouteForVnetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, routeName, options }, + getRouteForVnetOperationSpec ); } /** * Description for Create or update a Virtual Network route in an App Service plan. - * @summary Create or update a Virtual Network route in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param vnetName Name of the Virtual Network. * @param routeName Name of the Virtual Network route. * @param route Definition of the Virtual Network route. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - updateVnetRoute( + createOrUpdateVnetRoute( resourceGroupName: string, name: string, vnetName: string, routeName: string, - route: Models.VnetRoute, - options?: msRest.RequestOptionsBase - ): Promise; + route: VnetRoute, + options?: AppServicePlansCreateOrUpdateVnetRouteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, routeName, route, options }, + createOrUpdateVnetRouteOperationSpec + ); + } + /** + * Description for Delete a Virtual Network route in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param vnetName Name of the Virtual Network. * @param routeName Name of the Virtual Network route. - * @param route Definition of the Virtual Network route. - * @param callback The callback + * @param options The options parameters. */ - updateVnetRoute( + deleteVnetRoute( resourceGroupName: string, name: string, vnetName: string, routeName: string, - route: Models.VnetRoute, - callback: msRest.ServiceCallback - ): void; + options?: AppServicePlansDeleteVnetRouteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, routeName, options }, + deleteVnetRouteOperationSpec + ); + } + /** + * Description for Create or update a Virtual Network route in an App Service plan. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param vnetName Name of the Virtual Network. * @param routeName Name of the Virtual Network route. * @param route Definition of the Virtual Network route. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ updateVnetRoute( resourceGroupName: string, name: string, vnetName: string, routeName: string, - route: Models.VnetRoute, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateVnetRoute( - resourceGroupName: string, - name: string, - vnetName: string, - routeName: string, - route: Models.VnetRoute, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + route: VnetRoute, + options?: AppServicePlansUpdateVnetRouteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - routeName, - route, - options - }, - updateVnetRouteOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, vnetName, routeName, route, options }, + updateVnetRouteOperationSpec + ); } /** * Description for Reboot a worker machine in an App Service plan. - * @summary Reboot a worker machine in an App Service plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param workerName Name of worker machine, which typically starts with RD. - * @param [options] The optional parameters - * @returns Promise - */ - rebootWorker( - resourceGroupName: string, - name: string, - workerName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param workerName Name of worker machine, which typically starts with RD. - * @param callback The callback - */ - rebootWorker( - resourceGroupName: string, - name: string, - workerName: string, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the App Service plan. * @param workerName Name of worker machine, which typically starts with RD. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ rebootWorker( resourceGroupName: string, name: string, workerName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - rebootWorker( - resourceGroupName: string, - name: string, - workerName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: AppServicePlansRebootWorkerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - workerName, - options - }, - rebootWorkerOperationSpec, - callback - ); - } - - /** - * Description for Creates or updates an App Service Plan. - * @summary Creates or updates an App Service Plan. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the App Service plan. - * @param appServicePlan Details of the App Service plan. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate( - resourceGroupName: string, - name: string, - appServicePlan: Models.AppServicePlan, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - appServicePlan, - options - }, - beginCreateOrUpdateOperationSpec, - options + { resourceGroupName, name, workerName, options }, + rebootWorkerOperationSpec ); } /** - * Description for Get all App Service plans for a subscription. - * @summary Get all App Service plans for a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: Models.AppServicePlansListNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext( - nextPageLink: string, - options: Models.AppServicePlansListNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: - | Models.AppServicePlansListNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listNext( + nextLink: string, + options?: AppServicePlansListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for Get all App Service plans in a resource group. - * @summary Get all App Service plans in a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listByResourceGroupNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: AppServicePlansListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } /** - * Description for Get all apps that use a Hybrid Connection in an App Service Plan. - * @summary Get all apps that use a Hybrid Connection in an App Service Plan. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWebAppsByHybridConnectionNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWebAppsByHybridConnectionNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListWebAppsByHybridConnectionNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param namespaceName Name of the Hybrid Connection namespace. + * @param relayName Name of the Hybrid Connection relay. + * @param nextLink The nextLink from the previous successful call to the ListWebAppsByHybridConnection + * method. + * @param options The options parameters. */ - listWebAppsByHybridConnectionNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebAppsByHybridConnectionNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listWebAppsByHybridConnectionNext( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + nextLink: string, + options?: AppServicePlansListWebAppsByHybridConnectionNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWebAppsByHybridConnectionNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, namespaceName, relayName, nextLink, options }, + listWebAppsByHybridConnectionNextOperationSpec + ); } /** - * Description for Retrieve all Hybrid Connections in use in an App Service plan. - * @summary Retrieve all Hybrid Connections in use in an App Service plan. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listHybridConnectionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listHybridConnectionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListHybridConnectionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param nextLink The nextLink from the previous successful call to the ListHybridConnections method. + * @param options The options parameters. */ - listHybridConnectionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHybridConnectionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listHybridConnectionsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServicePlansListHybridConnectionsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listHybridConnectionsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listHybridConnectionsNextOperationSpec + ); } /** - * Description for Get all apps associated with an App Service plan. - * @summary Get all apps associated with an App Service plan. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWebAppsNext( - nextPageLink: string, - options?: Models.AppServicePlansListWebAppsNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWebAppsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListWebAppsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param nextLink The nextLink from the previous successful call to the ListWebApps method. + * @param options The options parameters. */ - listWebAppsNext( - nextPageLink: string, - options: Models.AppServicePlansListWebAppsNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listWebAppsNext( - nextPageLink: string, - options?: - | Models.AppServicePlansListWebAppsNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listWebAppsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServicePlansListWebAppsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWebAppsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listWebAppsNextOperationSpec + ); } /** - * Description for Gets server farm usage information - * @summary Gets server farm usage information - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listUsagesNext( - nextPageLink: string, - options?: Models.AppServicePlansListUsagesNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listUsagesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListUsagesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of App Service Plan + * @param nextLink The nextLink from the previous successful call to the ListUsages method. + * @param options The options parameters. */ - listUsagesNext( - nextPageLink: string, - options: Models.AppServicePlansListUsagesNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listUsagesNext( - nextPageLink: string, - options?: - | Models.AppServicePlansListUsagesNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listUsagesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: AppServicePlansListUsagesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listUsagesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listUsagesNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.detailed, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.AppServicePlanCollection @@ -1914,16 +1183,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.detailed], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServicePlanCollection @@ -1932,35 +1200,77 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServicePlan }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const createOrUpdateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AppServicePlan + }, + 201: { + bodyMapper: Mappers.AppServicePlan + }, + 202: { + bodyMapper: Mappers.AppServicePlan + }, + 204: { + bodyMapper: Mappers.AppServicePlan + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.appServicePlan, queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -1968,23 +1278,20 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const updateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "appServicePlan", - mapper: { - ...Mappers.AppServicePlanPatchResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.AppServicePlan @@ -1996,28 +1303,28 @@ const updateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.appServicePlan1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listCapabilitiesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listCapabilitiesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", - element: { - type: { - name: "Composite", - className: "Capability" - } - } + element: { type: { name: "Composite", className: "Capability" } } } } }, @@ -2025,22 +1332,20 @@ const listCapabilitiesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getHybridConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.namespaceName, - Parameters.relayName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getHybridConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.HybridConnection @@ -2049,22 +1354,22 @@ const getHybridConnectionOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteHybridConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.namespaceName, - Parameters.relayName, - Parameters.subscriptionId + Parameters.relayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteHybridConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -2072,46 +1377,46 @@ const deleteHybridConnectionOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listHybridConnectionKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.namespaceName, - Parameters.relayName, - Parameters.subscriptionId + Parameters.relayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listHybridConnectionKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.HybridConnectionKey }, default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const listWebAppsByHybridConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites", + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.namespaceName, - Parameters.relayName, - Parameters.subscriptionId + Parameters.relayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listWebAppsByHybridConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceCollection @@ -2120,16 +1425,22 @@ const listWebAppsByHybridConnectionOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.namespaceName, + Parameters.relayName + ], + headerParameters: [Parameters.accept], serializer }; - -const getHybridConnectionPlanLimitOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getHybridConnectionPlanLimitOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.HybridConnectionLimits @@ -2138,16 +1449,20 @@ const getHybridConnectionPlanLimitOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listHybridConnectionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listHybridConnectionsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.HybridConnectionCollection @@ -2156,32 +1471,40 @@ const listHybridConnectionsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const restartWebAppsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const restartWebAppsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.softRestart, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.softRestart], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebAppsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listWebAppsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion, Parameters.skipToken, Parameters.filter, Parameters.top], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppCollection @@ -2190,39 +1513,49 @@ const listWebAppsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.skipToken, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getServerFarmSkusOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getServerFarmSkusOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } + type: { name: "Dictionary", value: { type: { name: "any" } } } } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listUsagesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listUsagesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmUsageQuotaCollection @@ -2231,27 +1564,27 @@ const listUsagesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listVnetsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listVnetsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", element: { - type: { - name: "Composite", - className: "VnetInfo" - } + type: { name: "Composite", className: "VnetInfoResource" } } } } @@ -2260,46 +1593,46 @@ const listVnetsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getVnetFromServerFarmOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.vnetName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getVnetFromServerFarmOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.VnetInfo + bodyMapper: Mappers.VnetInfoResource + }, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getVnetGatewayOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.gatewayName, - Parameters.subscriptionId + Parameters.vnetName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getVnetGatewayOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VnetGateway @@ -2308,29 +1641,22 @@ const getVnetGatewayOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateVnetGatewayOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.gatewayName, - Parameters.subscriptionId + Parameters.gatewayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetGateway, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateVnetGatewayOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.VnetGateway @@ -2339,33 +1665,30 @@ const updateVnetGatewayOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listRoutesForVnetOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes", + requestBody: Parameters.connectionEnvelope, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.subscriptionId + Parameters.gatewayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listRoutesForVnetOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", - element: { - type: { - name: "Composite", - className: "VnetRoute" - } - } + element: { type: { name: "Composite", className: "VnetRoute" } } } } }, @@ -2373,190 +1696,162 @@ const listRoutesForVnetOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getRouteForVnetOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.routeName, - Parameters.subscriptionId + Parameters.vnetName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getRouteForVnetOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", - element: { - type: { - name: "Composite", - className: "VnetRoute" - } - } + element: { type: { name: "Composite", className: "VnetRoute" } } } } }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateVnetRouteOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.routeName, - Parameters.subscriptionId + Parameters.routeName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "route", - mapper: { - ...Mappers.VnetRoute, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateVnetRouteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.VnetRoute }, - 400: {}, - 404: {}, + 400: { + isError: true + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteVnetRouteOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", + requestBody: Parameters.route, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.routeName, - Parameters.subscriptionId + Parameters.routeName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteVnetRouteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", + httpMethod: "DELETE", responses: { 200: {}, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateVnetRouteOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.routeName, - Parameters.subscriptionId + Parameters.routeName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "route", - mapper: { - ...Mappers.VnetRoute, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateVnetRouteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.VnetRoute }, - 400: {}, - 404: {}, + 400: { + isError: true + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const rebootWorkerOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot", + requestBody: Parameters.route, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.workerName, - Parameters.subscriptionId + Parameters.vnetName, + Parameters.routeName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 204: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const rebootWorkerOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "appServicePlan", - mapper: { - ...Mappers.AppServicePlan, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.AppServicePlan - }, - 202: { - bodyMapper: Mappers.AppServicePlan - }, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.workerName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.detailed, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServicePlanCollection @@ -2565,16 +1860,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.detailed], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AppServicePlanCollection @@ -2583,16 +1880,19 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebAppsByHybridConnectionNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listWebAppsByHybridConnectionNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceCollection @@ -2601,16 +1901,22 @@ const listWebAppsByHybridConnectionNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.namespaceName, + Parameters.relayName + ], + headerParameters: [Parameters.accept], serializer }; - -const listHybridConnectionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listHybridConnectionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.HybridConnectionCollection @@ -2619,16 +1925,20 @@ const listHybridConnectionsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebAppsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listWebAppsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion, Parameters.skipToken, Parameters.filter, Parameters.top], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppCollection @@ -2637,16 +1947,25 @@ const listWebAppsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.skipToken, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listUsagesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listUsagesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmUsageQuotaCollection @@ -2655,5 +1974,14 @@ const listUsagesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/certificateOrdersDiagnostics.ts b/sdk/appservice/arm-appservice/src/operations/certificateOrdersDiagnostics.ts index ae0470651eab..65df09a8353e 100644 --- a/sdk/appservice/arm-appservice/src/operations/certificateOrdersDiagnostics.ts +++ b/sdk/appservice/arm-appservice/src/operations/certificateOrdersDiagnostics.ts @@ -3,23 +3,35 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/certificateOrdersDiagnosticsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { CertificateOrdersDiagnostics } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + DetectorResponse, + CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextOptionalParams, + CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams, + CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseResponse, + CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams, + CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse, + CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextResponse +} from "../models"; +/// /** Class representing a CertificateOrdersDiagnostics. */ -export class CertificateOrdersDiagnostics { +export class CertificateOrdersDiagnosticsImpl + implements CertificateOrdersDiagnostics { private readonly client: WebSiteManagementClientContext; /** - * Create a CertificateOrdersDiagnostics. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class CertificateOrdersDiagnostics class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,197 +39,144 @@ export class CertificateOrdersDiagnostics { /** * Description for Microsoft.CertificateRegistration to get the list of detectors for this RP. - * @summary Microsoft.CertificateRegistration to get the list of detectors for this RP. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName The certificate order name for which the response is needed. - * @param [options] The optional parameters - * @returns - * Promise + * @param options The options parameters. */ - listAppServiceCertificateOrderDetectorResponse( + public listAppServiceCertificateOrderDetectorResponse( resourceGroupName: string, certificateOrderName: string, - options?: msRest.RequestOptionsBase - ): Promise< - Models.CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseResponse - >; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName The certificate order name for which the response is needed. - * @param callback The callback - */ - listAppServiceCertificateOrderDetectorResponse( - resourceGroupName: string, - certificateOrderName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName The certificate order name for which the response is needed. - * @param options The optional parameters - * @param callback The callback - */ - listAppServiceCertificateOrderDetectorResponse( - resourceGroupName: string, - certificateOrderName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listAppServiceCertificateOrderDetectorResponse( + options?: CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAppServiceCertificateOrderDetectorResponsePagingAll( + resourceGroupName, + certificateOrderName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listAppServiceCertificateOrderDetectorResponsePagingPage( + resourceGroupName, + certificateOrderName, + options + ); + } + }; + } + + private async *listAppServiceCertificateOrderDetectorResponsePagingPage( resourceGroupName: string, certificateOrderName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise< - Models.CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseResponse - > { - return this.client.sendOperationRequest( - { + options?: CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams + ): AsyncIterableIterator { + let result = await this._listAppServiceCertificateOrderDetectorResponse( + resourceGroupName, + certificateOrderName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAppServiceCertificateOrderDetectorResponseNext( resourceGroupName, certificateOrderName, + continuationToken, options - }, - listAppServiceCertificateOrderDetectorResponseOperationSpec, - callback - ) as Promise< - Models.CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseResponse - >; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Microsoft.CertificateRegistration call to get a detector response from App Lens. - * @summary Microsoft.CertificateRegistration call to get a detector response from App Lens. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param certificateOrderName The certificate order name for which the response is needed. - * @param detectorName The detector name which needs to be run. - * @param [options] The optional parameters - * @returns - * Promise - */ - getAppServiceCertificateOrderDetectorResponse( + private async *listAppServiceCertificateOrderDetectorResponsePagingAll( resourceGroupName: string, certificateOrderName: string, - detectorName: string, - options?: Models.CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams - ): Promise< - Models.CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse - >; + options?: CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAppServiceCertificateOrderDetectorResponsePagingPage( + resourceGroupName, + certificateOrderName, + options + )) { + yield* page; + } + } + /** + * Description for Microsoft.CertificateRegistration to get the list of detectors for this RP. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName The certificate order name for which the response is needed. - * @param detectorName The detector name which needs to be run. - * @param callback The callback + * @param options The options parameters. */ - getAppServiceCertificateOrderDetectorResponse( + private _listAppServiceCertificateOrderDetectorResponse( resourceGroupName: string, certificateOrderName: string, - detectorName: string, - callback: msRest.ServiceCallback - ): void; + options?: CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams + ): Promise< + CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, certificateOrderName, options }, + listAppServiceCertificateOrderDetectorResponseOperationSpec + ); + } + /** + * Description for Microsoft.CertificateRegistration call to get a detector response from App Lens. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param certificateOrderName The certificate order name for which the response is needed. * @param detectorName The detector name which needs to be run. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ getAppServiceCertificateOrderDetectorResponse( resourceGroupName: string, certificateOrderName: string, detectorName: string, - options: Models.CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams, - callback: msRest.ServiceCallback - ): void; - getAppServiceCertificateOrderDetectorResponse( - resourceGroupName: string, - certificateOrderName: string, - detectorName: string, - options?: - | Models.CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback + options?: CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams ): Promise< - Models.CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse + CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse > { return this.client.sendOperationRequest( - { - resourceGroupName, - certificateOrderName, - detectorName, - options - }, - getAppServiceCertificateOrderDetectorResponseOperationSpec, - callback - ) as Promise< - Models.CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse - >; + { resourceGroupName, certificateOrderName, detectorName, options }, + getAppServiceCertificateOrderDetectorResponseOperationSpec + ); } /** - * Description for Microsoft.CertificateRegistration to get the list of detectors for this RP. - * @summary Microsoft.CertificateRegistration to get the list of detectors for this RP. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - listAppServiceCertificateOrderDetectorResponseNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise< - Models.CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextResponse - >; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAppServiceCertificateOrderDetectorResponseNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListAppServiceCertificateOrderDetectorResponseNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName The certificate order name for which the response is needed. + * @param nextLink The nextLink from the previous successful call to the + * ListAppServiceCertificateOrderDetectorResponse method. + * @param options The options parameters. */ - listAppServiceCertificateOrderDetectorResponseNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listAppServiceCertificateOrderDetectorResponseNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback + private _listAppServiceCertificateOrderDetectorResponseNext( + resourceGroupName: string, + certificateOrderName: string, + nextLink: string, + options?: CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextOptionalParams ): Promise< - Models.CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextResponse + CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextResponse > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAppServiceCertificateOrderDetectorResponseNextOperationSpec, - callback - ) as Promise< - Models.CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseNextResponse - >; + { resourceGroupName, certificateOrderName, nextLink, options }, + listAppServiceCertificateOrderDetectorResponseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listAppServiceCertificateOrderDetectorResponseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listAppServiceCertificateOrderDetectorResponseOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/detectors", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/detectors", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponseCollection @@ -226,26 +185,20 @@ const listAppServiceCertificateOrderDetectorResponseOperationSpec: msRest.Operat bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getAppServiceCertificateOrderDetectorResponseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/detectors/{detectorName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.certificateOrderName, - Parameters.detectorName, - Parameters.subscriptionId + Parameters.certificateOrderName ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.timeGrain, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getAppServiceCertificateOrderDetectorResponseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/detectors/{detectorName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponse @@ -254,16 +207,25 @@ const getAppServiceCertificateOrderDetectorResponseOperationSpec: msRest.Operati bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.startTime, + Parameters.endTime, + Parameters.timeGrain + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.certificateOrderName, + Parameters.detectorName + ], + headerParameters: [Parameters.accept], serializer }; - -const listAppServiceCertificateOrderDetectorResponseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listAppServiceCertificateOrderDetectorResponseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponseCollection @@ -272,5 +234,14 @@ const listAppServiceCertificateOrderDetectorResponseNextOperationSpec: msRest.Op bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.certificateOrderName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/certificateRegistrationProvider.ts b/sdk/appservice/arm-appservice/src/operations/certificateRegistrationProvider.ts index 3f0492db23e2..21219e61e5e0 100644 --- a/sdk/appservice/arm-appservice/src/operations/certificateRegistrationProvider.ts +++ b/sdk/appservice/arm-appservice/src/operations/certificateRegistrationProvider.ts @@ -3,98 +3,116 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/certificateRegistrationProviderMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { CertificateRegistrationProvider } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + CsmOperationDescription, + CertificateRegistrationProviderListOperationsNextOptionalParams, + CertificateRegistrationProviderListOperationsOptionalParams, + CertificateRegistrationProviderListOperationsResponse, + CertificateRegistrationProviderListOperationsNextResponse +} from "../models"; +/// /** Class representing a CertificateRegistrationProvider. */ -export class CertificateRegistrationProvider { +export class CertificateRegistrationProviderImpl + implements CertificateRegistrationProvider { private readonly client: WebSiteManagementClientContext; /** - * Create a CertificateRegistrationProvider. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class CertificateRegistrationProvider class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; } /** - * Description for Implements Csm operations Api to exposes the list of available Csm Apis under - * the resource provider - * @summary Implements Csm operations Api to exposes the list of available Csm Apis under the + * Description for Implements Csm operations Api to exposes the list of available Csm Apis under the * resource provider - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listOperations(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - listOperations(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listOperations(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listOperations(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public listOperations( + options?: CertificateRegistrationProviderListOperationsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listOperationsPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationsOperationSpec, - callback) as Promise; + byPage: () => { + return this.listOperationsPagingPage(options); + } + }; + } + + private async *listOperationsPagingPage( + options?: CertificateRegistrationProviderListOperationsOptionalParams + ): AsyncIterableIterator { + let result = await this._listOperations(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listOperationsNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listOperationsPagingAll( + options?: CertificateRegistrationProviderListOperationsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listOperationsPagingPage(options)) { + yield* page; + } } /** - * Description for Implements Csm operations Api to exposes the list of available Csm Apis under - * the resource provider - * @summary Implements Csm operations Api to exposes the list of available Csm Apis under the + * Description for Implements Csm operations Api to exposes the list of available Csm Apis under the * resource provider - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listOperationsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listOperationsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listOperations( + options?: CertificateRegistrationProviderListOperationsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listOperationsOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListOperationsNext + * @param nextLink The nextLink from the previous successful call to the ListOperations method. + * @param options The options parameters. */ - listOperationsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listOperationsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listOperationsNext( + nextLink: string, + options?: CertificateRegistrationProviderListOperationsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listOperationsNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listOperationsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationsOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.CertificateRegistration/operations", httpMethod: "GET", - path: "providers/Microsoft.CertificateRegistration/operations", - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.CsmOperationCollection @@ -103,22 +121,14 @@ const listOperationsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const listOperationsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listOperationsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmOperationCollection @@ -127,5 +137,8 @@ const listOperationsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/certificates.ts b/sdk/appservice/arm-appservice/src/operations/certificates.ts index 5accc16fdced..c393fb04ac48 100644 --- a/sdk/appservice/arm-appservice/src/operations/certificates.ts +++ b/sdk/appservice/arm-appservice/src/operations/certificates.ts @@ -3,23 +3,44 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/certificatesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Certificates } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + Certificate, + CertificatesListNextOptionalParams, + CertificatesListOptionalParams, + CertificatesListByResourceGroupNextOptionalParams, + CertificatesListByResourceGroupOptionalParams, + CertificatesListResponse, + CertificatesListByResourceGroupResponse, + CertificatesGetOptionalParams, + CertificatesGetResponse, + CertificatesCreateOrUpdateOptionalParams, + CertificatesCreateOrUpdateResponse, + CertificatesDeleteOptionalParams, + CertificatePatchResource, + CertificatesUpdateOptionalParams, + CertificatesUpdateResponse, + CertificatesListNextResponse, + CertificatesListByResourceGroupNextResponse +} from "../models"; +/// /** Class representing a Certificates. */ -export class Certificates { +export class CertificatesImpl implements Certificates { private readonly client: WebSiteManagementClientContext; /** - * Create a Certificates. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Certificates class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,405 +48,234 @@ export class Certificates { /** * Description for Get all certificates for a subscription. - * @summary Get all certificates for a subscription. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: Models.CertificatesListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list( - options: Models.CertificatesListOptionalParams, - callback: msRest.ServiceCallback - ): void; - list( - options?: - | Models.CertificatesListOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: CertificatesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: CertificatesListOptionalParams + ): 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?: CertificatesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Description for Get all certificates in a resource group. - * @summary Get all certificates in a resource group. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup( - resourceGroupName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroup( + public listByResourceGroup( resourceGroupName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup( - resourceGroupName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroup( + options?: CertificatesListByResourceGroupOptionalParams + ): 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?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: CertificatesListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: CertificatesListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** - * Description for Get a certificate. - * @summary Get a certificate. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate. - * @param [options] The optional parameters - * @returns Promise + * Description for Get all certificates for a subscription. + * @param options The options parameters. */ - get( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; + private _list( + options?: CertificatesListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Description for Get all certificates in a resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate. - * @param callback The callback + * @param options The options parameters. */ - get( + private _listByResourceGroup( resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; + options?: CertificatesListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + /** + * Description for Get a certificate. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the certificate. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ get( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - get( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: CertificatesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getOperationSpec + ); } /** * Description for Create or update a certificate. - * @summary Create or update a certificate. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the certificate. * @param certificateEnvelope Details of certificate, if it exists already. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ createOrUpdate( resourceGroupName: string, name: string, - certificateEnvelope: Models.Certificate, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate. - * @param certificateEnvelope Details of certificate, if it exists already. - * @param callback The callback - */ - createOrUpdate( - resourceGroupName: string, - name: string, - certificateEnvelope: Models.Certificate, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate. - * @param certificateEnvelope Details of certificate, if it exists already. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate( - resourceGroupName: string, - name: string, - certificateEnvelope: Models.Certificate, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdate( - resourceGroupName: string, - name: string, - certificateEnvelope: Models.Certificate, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + certificateEnvelope: Certificate, + options?: CertificatesCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - certificateEnvelope, - options - }, - createOrUpdateOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, certificateEnvelope, options }, + createOrUpdateOperationSpec + ); } /** * Description for Delete a certificate. - * @summary Delete a certificate. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the certificate. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod( + delete( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate. - * @param callback The callback - */ - deleteMethod( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteMethod( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: CertificatesDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - deleteMethodOperationSpec, - callback + { resourceGroupName, name, options }, + deleteOperationSpec ); } /** * Description for Create or update a certificate. - * @summary Create or update a certificate. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the certificate. * @param certificateEnvelope Details of certificate, if it exists already. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ update( resourceGroupName: string, name: string, - certificateEnvelope: Models.CertificatePatchResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate. - * @param certificateEnvelope Details of certificate, if it exists already. - * @param callback The callback - */ - update( - resourceGroupName: string, - name: string, - certificateEnvelope: Models.CertificatePatchResource, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the certificate. - * @param certificateEnvelope Details of certificate, if it exists already. - * @param options The optional parameters - * @param callback The callback - */ - update( - resourceGroupName: string, - name: string, - certificateEnvelope: Models.CertificatePatchResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - update( - resourceGroupName: string, - name: string, - certificateEnvelope: Models.CertificatePatchResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + certificateEnvelope: CertificatePatchResource, + options?: CertificatesUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - certificateEnvelope, - options - }, - updateOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, certificateEnvelope, options }, + updateOperationSpec + ); } /** - * Description for Get all certificates for a subscription. - * @summary Get all certificates for a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: Models.CertificatesListNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext( - nextPageLink: string, - options: Models.CertificatesListNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: - | Models.CertificatesListNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listNext( + nextLink: string, + options?: CertificatesListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for Get all certificates in a resource group. - * @summary Get all certificates in a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listByResourceGroupNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: CertificatesListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.CertificateCollection @@ -434,16 +284,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CertificateCollection @@ -452,16 +301,19 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Certificate @@ -470,23 +322,20 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const createOrUpdateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "certificateEnvelope", - mapper: { - ...Mappers.Certificate, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Certificate @@ -495,16 +344,22 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.certificateEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const deleteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -512,23 +367,20 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const updateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "certificateEnvelope", - mapper: { - ...Mappers.CertificatePatchResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.Certificate @@ -537,16 +389,21 @@ const updateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.certificateEnvelope1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CertificateCollection @@ -555,16 +412,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CertificateCollection @@ -573,5 +432,13 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/deletedWebApps.ts b/sdk/appservice/arm-appservice/src/operations/deletedWebApps.ts index cb1030bdd97d..18bf428b7385 100644 --- a/sdk/appservice/arm-appservice/src/operations/deletedWebApps.ts +++ b/sdk/appservice/arm-appservice/src/operations/deletedWebApps.ts @@ -3,23 +3,38 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/deletedWebAppsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DeletedWebApps } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + DeletedSite, + DeletedWebAppsListNextOptionalParams, + DeletedWebAppsListOptionalParams, + DeletedWebAppsListByLocationNextOptionalParams, + DeletedWebAppsListByLocationOptionalParams, + DeletedWebAppsListResponse, + DeletedWebAppsListByLocationResponse, + DeletedWebAppsGetDeletedWebAppByLocationOptionalParams, + DeletedWebAppsGetDeletedWebAppByLocationResponse, + DeletedWebAppsListNextResponse, + DeletedWebAppsListByLocationNextResponse +} from "../models"; +/// /** Class representing a DeletedWebApps. */ -export class DeletedWebApps { +export class DeletedWebAppsImpl implements DeletedWebApps { private readonly client: WebSiteManagementClientContext; /** - * Create a DeletedWebApps. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DeletedWebApps class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,164 +42,176 @@ export class DeletedWebApps { /** * Description for Get all deleted apps for a subscription. - * @summary Get all deleted apps for a subscription. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: DeletedWebAppsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: DeletedWebAppsListOptionalParams + ): 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?: DeletedWebAppsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Description for Get all deleted apps for a subscription at location - * @summary Get all deleted apps for a subscription at location * @param location - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByLocation(location: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param location - * @param callback The callback - */ - listByLocation(location: string, callback: msRest.ServiceCallback): void; - /** - * @param location - * @param options The optional parameters - * @param callback The callback - */ - listByLocation(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByLocation(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByLocation( + location: string, + options?: DeletedWebAppsListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll(location, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage(location, options); + } + }; + } + + private async *listByLocationPagingPage( + location: string, + options?: DeletedWebAppsListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation(location, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( location, + continuationToken, options - }, - listByLocationOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + location: string, + options?: DeletedWebAppsListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage(location, options)) { + yield* page; + } } /** - * Description for Get deleted app for a subscription at location. - * @summary Get deleted app for a subscription at location. - * @param location - * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param [options] The optional parameters - * @returns Promise + * Description for Get all deleted apps for a subscription. + * @param options The options parameters. */ - getDeletedWebAppByLocation(location: string, deletedSiteId: string, options?: msRest.RequestOptionsBase): Promise; + private _list( + options?: DeletedWebAppsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Description for Get all deleted apps for a subscription at location * @param location - * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param callback The callback + * @param options The options parameters. */ - getDeletedWebAppByLocation(location: string, deletedSiteId: string, callback: msRest.ServiceCallback): void; + private _listByLocation( + location: string, + options?: DeletedWebAppsListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, options }, + listByLocationOperationSpec + ); + } + /** + * Description for Get deleted app for a subscription at location. * @param location * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getDeletedWebAppByLocation(location: string, deletedSiteId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getDeletedWebAppByLocation(location: string, deletedSiteId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + getDeletedWebAppByLocation( + location: string, + deletedSiteId: string, + options?: DeletedWebAppsGetDeletedWebAppByLocationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - location, - deletedSiteId, - options - }, - getDeletedWebAppByLocationOperationSpec, - callback) as Promise; + { location, deletedSiteId, options }, + getDeletedWebAppByLocationOperationSpec + ); } /** - * Description for Get all deleted apps for a subscription. - * @summary Get all deleted apps for a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: DeletedWebAppsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for Get all deleted apps for a subscription at location - * @summary Get all deleted apps for a subscription at location - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByLocationNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByLocationNext + * @param location + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. */ - listByLocationNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByLocationNext( + location: string, + nextLink: string, + options?: DeletedWebAppsListByLocationNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByLocationNextOperationSpec, - callback) as Promise; + { location, nextLink, options }, + listByLocationNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DeletedWebAppCollection @@ -193,22 +220,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listByLocationOperationSpec: msRest.OperationSpec = { +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites", - urlParameters: [ - Parameters.location, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DeletedWebAppCollection @@ -217,23 +237,19 @@ const listByLocationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location + ], + headerParameters: [Parameters.accept], serializer }; - -const getDeletedWebAppByLocationOperationSpec: msRest.OperationSpec = { +const getDeletedWebAppByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites/{deletedSiteId}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites/{deletedSiteId}", - urlParameters: [ - Parameters.location, - Parameters.deletedSiteId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DeletedSite @@ -242,22 +258,19 @@ const getDeletedWebAppByLocationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location, + Parameters.deletedSiteId + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DeletedWebAppCollection @@ -266,22 +279,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByLocationNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByLocationNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DeletedWebAppCollection @@ -290,5 +299,13 @@ const listByLocationNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.location + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/diagnostics.ts b/sdk/appservice/arm-appservice/src/operations/diagnostics.ts index 36817c95f3b8..fc61d306671f 100644 --- a/sdk/appservice/arm-appservice/src/operations/diagnostics.ts +++ b/sdk/appservice/arm-appservice/src/operations/diagnostics.ts @@ -3,23 +3,93 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/diagnosticsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Diagnostics } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; - +import { + DetectorResponse, + DiagnosticsListHostingEnvironmentDetectorResponsesNextOptionalParams, + DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams, + DiagnosticsListSiteDetectorResponsesNextOptionalParams, + DiagnosticsListSiteDetectorResponsesOptionalParams, + DiagnosticCategory, + DiagnosticsListSiteDiagnosticCategoriesNextOptionalParams, + DiagnosticsListSiteDiagnosticCategoriesOptionalParams, + AnalysisDefinition, + DiagnosticsListSiteAnalysesNextOptionalParams, + DiagnosticsListSiteAnalysesOptionalParams, + DetectorDefinitionResource, + DiagnosticsListSiteDetectorsNextOptionalParams, + DiagnosticsListSiteDetectorsOptionalParams, + DiagnosticsListSiteDetectorResponsesSlotNextOptionalParams, + DiagnosticsListSiteDetectorResponsesSlotOptionalParams, + DiagnosticsListSiteDiagnosticCategoriesSlotNextOptionalParams, + DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams, + DiagnosticsListSiteAnalysesSlotNextOptionalParams, + DiagnosticsListSiteAnalysesSlotOptionalParams, + DiagnosticsListSiteDetectorsSlotNextOptionalParams, + DiagnosticsListSiteDetectorsSlotOptionalParams, + DiagnosticsListHostingEnvironmentDetectorResponsesResponse, + DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams, + DiagnosticsGetHostingEnvironmentDetectorResponseResponse, + DiagnosticsListSiteDetectorResponsesResponse, + DiagnosticsGetSiteDetectorResponseOptionalParams, + DiagnosticsGetSiteDetectorResponseResponse, + DiagnosticsListSiteDiagnosticCategoriesResponse, + DiagnosticsGetSiteDiagnosticCategoryOptionalParams, + DiagnosticsGetSiteDiagnosticCategoryResponse, + DiagnosticsListSiteAnalysesResponse, + DiagnosticsGetSiteAnalysisOptionalParams, + DiagnosticsGetSiteAnalysisResponse, + DiagnosticsExecuteSiteAnalysisOptionalParams, + DiagnosticsExecuteSiteAnalysisResponse, + DiagnosticsListSiteDetectorsResponse, + DiagnosticsGetSiteDetectorOptionalParams, + DiagnosticsGetSiteDetectorResponse, + DiagnosticsExecuteSiteDetectorOptionalParams, + DiagnosticsExecuteSiteDetectorResponse, + DiagnosticsListSiteDetectorResponsesSlotResponse, + DiagnosticsGetSiteDetectorResponseSlotOptionalParams, + DiagnosticsGetSiteDetectorResponseSlotResponse, + DiagnosticsListSiteDiagnosticCategoriesSlotResponse, + DiagnosticsGetSiteDiagnosticCategorySlotOptionalParams, + DiagnosticsGetSiteDiagnosticCategorySlotResponse, + DiagnosticsListSiteAnalysesSlotResponse, + DiagnosticsGetSiteAnalysisSlotOptionalParams, + DiagnosticsGetSiteAnalysisSlotResponse, + DiagnosticsExecuteSiteAnalysisSlotOptionalParams, + DiagnosticsExecuteSiteAnalysisSlotResponse, + DiagnosticsListSiteDetectorsSlotResponse, + DiagnosticsGetSiteDetectorSlotOptionalParams, + DiagnosticsGetSiteDetectorSlotResponse, + DiagnosticsExecuteSiteDetectorSlotOptionalParams, + DiagnosticsExecuteSiteDetectorSlotResponse, + DiagnosticsListHostingEnvironmentDetectorResponsesNextResponse, + DiagnosticsListSiteDetectorResponsesNextResponse, + DiagnosticsListSiteDiagnosticCategoriesNextResponse, + DiagnosticsListSiteAnalysesNextResponse, + DiagnosticsListSiteDetectorsNextResponse, + DiagnosticsListSiteDetectorResponsesSlotNextResponse, + DiagnosticsListSiteDiagnosticCategoriesSlotNextResponse, + DiagnosticsListSiteAnalysesSlotNextResponse, + DiagnosticsListSiteDetectorsSlotNextResponse +} from "../models"; + +/// /** Class representing a Diagnostics. */ -export class Diagnostics { +export class DiagnosticsImpl implements Diagnostics { private readonly client: WebSiteManagementClientContext; /** - * Create a Diagnostics. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Diagnostics class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,280 +97,857 @@ export class Diagnostics { /** * Description for List Hosting Environment Detector Responses - * @summary List Hosting Environment Detector Responses - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site Name - * @param [options] The optional parameters - * @returns Promise - */ - listHostingEnvironmentDetectorResponses(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site Name - * @param callback The callback - */ - listHostingEnvironmentDetectorResponses(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site Name - * @param options The optional parameters - * @param callback The callback - */ - listHostingEnvironmentDetectorResponses(resourceGroupName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listHostingEnvironmentDetectorResponses(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options + * @param options The options parameters. + */ + public listHostingEnvironmentDetectorResponses( + resourceGroupName: string, + name: string, + options?: DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listHostingEnvironmentDetectorResponsesPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); }, - listHostingEnvironmentDetectorResponsesOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listHostingEnvironmentDetectorResponsesPagingPage( + resourceGroupName, + name, + options + ); + } + }; } - /** - * Description for Get Hosting Environment Detector Response - * @summary Get Hosting Environment Detector Response - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name App Service Environment Name - * @param detectorName Detector Resource Name - * @param [options] The optional parameters - * @returns Promise - */ - getHostingEnvironmentDetectorResponse(resourceGroupName: string, name: string, detectorName: string, options?: Models.DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name App Service Environment Name - * @param detectorName Detector Resource Name - * @param callback The callback - */ - getHostingEnvironmentDetectorResponse(resourceGroupName: string, name: string, detectorName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name App Service Environment Name - * @param detectorName Detector Resource Name - * @param options The optional parameters - * @param callback The callback - */ - getHostingEnvironmentDetectorResponse(resourceGroupName: string, name: string, detectorName: string, options: Models.DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams, callback: msRest.ServiceCallback): void; - getHostingEnvironmentDetectorResponse(resourceGroupName: string, name: string, detectorName: string, options?: Models.DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listHostingEnvironmentDetectorResponsesPagingPage( + resourceGroupName: string, + name: string, + options?: DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams + ): AsyncIterableIterator { + let result = await this._listHostingEnvironmentDetectorResponses( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listHostingEnvironmentDetectorResponsesNext( resourceGroupName, name, - detectorName, + continuationToken, options - }, - getHostingEnvironmentDetectorResponseOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listHostingEnvironmentDetectorResponsesPagingAll( + resourceGroupName: string, + name: string, + options?: DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listHostingEnvironmentDetectorResponsesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } } /** * Description for List Site Detector Responses - * @summary List Site Detector Responses * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDetectorResponses(resourceGroupName: string, siteName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param callback The callback - */ - listSiteDetectorResponses(resourceGroupName: string, siteName: string, callback: msRest.ServiceCallback): void; + * @param options The options parameters. + */ + public listSiteDetectorResponses( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDetectorResponsesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteDetectorResponsesPagingAll( + resourceGroupName, + siteName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteDetectorResponsesPagingPage( + resourceGroupName, + siteName, + options + ); + } + }; + } + + private async *listSiteDetectorResponsesPagingPage( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDetectorResponsesOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteDetectorResponses( + resourceGroupName, + siteName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteDetectorResponsesNext( + resourceGroupName, + siteName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteDetectorResponsesPagingAll( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDetectorResponsesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteDetectorResponsesPagingPage( + resourceGroupName, + siteName, + options + )) { + yield* page; + } + } + /** + * Description for Get Diagnostics Categories * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param options The optional parameters - * @param callback The callback - */ - listSiteDetectorResponses(resourceGroupName: string, siteName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDetectorResponses(resourceGroupName: string, siteName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + * @param options The options parameters. + */ + public listSiteDiagnosticCategories( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDiagnosticCategoriesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteDiagnosticCategoriesPagingAll( + resourceGroupName, + siteName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteDiagnosticCategoriesPagingPage( + resourceGroupName, + siteName, + options + ); + } + }; + } + + private async *listSiteDiagnosticCategoriesPagingPage( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDiagnosticCategoriesOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteDiagnosticCategories( + resourceGroupName, + siteName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteDiagnosticCategoriesNext( resourceGroupName, siteName, + continuationToken, options - }, - listSiteDetectorResponsesOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteDiagnosticCategoriesPagingAll( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDiagnosticCategoriesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteDiagnosticCategoriesPagingPage( + resourceGroupName, + siteName, + options + )) { + yield* page; + } } /** - * Description for Get site detector response - * @summary Get site detector response + * Description for Get Site Analyses * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param [options] The optional parameters - * @returns Promise - */ - getSiteDetectorResponse(resourceGroupName: string, siteName: string, detectorName: string, options?: Models.DiagnosticsGetSiteDetectorResponseOptionalParams): Promise; + * @param diagnosticCategory Diagnostic Category + * @param options The options parameters. + */ + public listSiteAnalyses( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteAnalysesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteAnalysesPagingAll( + resourceGroupName, + siteName, + diagnosticCategory, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteAnalysesPagingPage( + resourceGroupName, + siteName, + diagnosticCategory, + options + ); + } + }; + } + + private async *listSiteAnalysesPagingPage( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteAnalysesOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteAnalyses( + resourceGroupName, + siteName, + diagnosticCategory, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteAnalysesNext( + resourceGroupName, + siteName, + diagnosticCategory, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteAnalysesPagingAll( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteAnalysesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteAnalysesPagingPage( + resourceGroupName, + siteName, + diagnosticCategory, + options + )) { + yield* page; + } + } + /** + * Description for Get Detectors * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param callback The callback - */ - getSiteDetectorResponse(resourceGroupName: string, siteName: string, detectorName: string, callback: msRest.ServiceCallback): void; + * @param diagnosticCategory Diagnostic Category + * @param options The options parameters. + */ + public listSiteDetectors( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteDetectorsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteDetectorsPagingAll( + resourceGroupName, + siteName, + diagnosticCategory, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteDetectorsPagingPage( + resourceGroupName, + siteName, + diagnosticCategory, + options + ); + } + }; + } + + private async *listSiteDetectorsPagingPage( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteDetectorsOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteDetectors( + resourceGroupName, + siteName, + diagnosticCategory, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteDetectorsNext( + resourceGroupName, + siteName, + diagnosticCategory, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteDetectorsPagingAll( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteDetectorsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteDetectorsPagingPage( + resourceGroupName, + siteName, + diagnosticCategory, + options + )) { + yield* page; + } + } + /** + * Description for List Site Detector Responses * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param options The optional parameters - * @param callback The callback - */ - getSiteDetectorResponse(resourceGroupName: string, siteName: string, detectorName: string, options: Models.DiagnosticsGetSiteDetectorResponseOptionalParams, callback: msRest.ServiceCallback): void; - getSiteDetectorResponse(resourceGroupName: string, siteName: string, detectorName: string, options?: Models.DiagnosticsGetSiteDetectorResponseOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + * @param slot Slot Name + * @param options The options parameters. + */ + public listSiteDetectorResponsesSlot( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDetectorResponsesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteDetectorResponsesSlotPagingAll( + resourceGroupName, + siteName, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteDetectorResponsesSlotPagingPage( + resourceGroupName, + siteName, + slot, + options + ); + } + }; + } + + private async *listSiteDetectorResponsesSlotPagingPage( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDetectorResponsesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteDetectorResponsesSlot( + resourceGroupName, + siteName, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteDetectorResponsesSlotNext( resourceGroupName, siteName, - detectorName, + slot, + continuationToken, options - }, - getSiteDetectorResponseOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteDetectorResponsesSlotPagingAll( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDetectorResponsesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteDetectorResponsesSlotPagingPage( + resourceGroupName, + siteName, + slot, + options + )) { + yield* page; + } } /** * Description for Get Diagnostics Categories - * @summary Get Diagnostics Categories * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDiagnosticCategories(resourceGroupName: string, siteName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param callback The callback - */ - listSiteDiagnosticCategories(resourceGroupName: string, siteName: string, callback: msRest.ServiceCallback): void; + * @param slot Slot Name + * @param options The options parameters. + */ + public listSiteDiagnosticCategoriesSlot( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteDiagnosticCategoriesSlotPagingAll( + resourceGroupName, + siteName, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteDiagnosticCategoriesSlotPagingPage( + resourceGroupName, + siteName, + slot, + options + ); + } + }; + } + + private async *listSiteDiagnosticCategoriesSlotPagingPage( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteDiagnosticCategoriesSlot( + resourceGroupName, + siteName, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteDiagnosticCategoriesSlotNext( + resourceGroupName, + siteName, + slot, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteDiagnosticCategoriesSlotPagingAll( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteDiagnosticCategoriesSlotPagingPage( + resourceGroupName, + siteName, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Get Site Analyses * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param options The optional parameters - * @param callback The callback - */ - listSiteDiagnosticCategories(resourceGroupName: string, siteName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDiagnosticCategories(resourceGroupName: string, siteName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + * @param diagnosticCategory Diagnostic Category + * @param slot Slot Name + * @param options The options parameters. + */ + public listSiteAnalysesSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteAnalysesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteAnalysesSlotPagingAll( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteAnalysesSlotPagingPage( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + options + ); + } + }; + } + + private async *listSiteAnalysesSlotPagingPage( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteAnalysesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteAnalysesSlot( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteAnalysesSlotNext( resourceGroupName, siteName, + diagnosticCategory, + slot, + continuationToken, options - }, - listSiteDiagnosticCategoriesOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteAnalysesSlotPagingAll( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteAnalysesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteAnalysesSlotPagingPage( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + options + )) { + yield* page; + } } /** - * Description for Get Diagnostics Category - * @summary Get Diagnostics Category + * Description for Get Detectors * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category - * @param [options] The optional parameters - * @returns Promise - */ - getSiteDiagnosticCategory(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: msRest.RequestOptionsBase): Promise; + * @param slot Slot Name + * @param options The options parameters. + */ + public listSiteDetectorsSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteDetectorsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteDetectorsSlotPagingAll( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteDetectorsSlotPagingPage( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + options + ); + } + }; + } + + private async *listSiteDetectorsSlotPagingPage( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteDetectorsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteDetectorsSlot( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteDetectorsSlotNext( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteDetectorsSlotPagingAll( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteDetectorsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteDetectorsSlotPagingPage( + resourceGroupName, + siteName, + diagnosticCategory, + slot, + options + )) { + yield* page; + } + } + /** + * Description for List Hosting Environment Detector Responses * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param callback The callback + * @param name Site Name + * @param options The options parameters. */ - getSiteDiagnosticCategory(resourceGroupName: string, siteName: string, diagnosticCategory: string, callback: msRest.ServiceCallback): void; + private _listHostingEnvironmentDetectorResponses( + resourceGroupName: string, + name: string, + options?: DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listHostingEnvironmentDetectorResponsesOperationSpec + ); + } + /** + * Description for Get Hosting Environment Detector Response * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param options The optional parameters - * @param callback The callback - */ - getSiteDiagnosticCategory(resourceGroupName: string, siteName: string, diagnosticCategory: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getSiteDiagnosticCategory(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param name App Service Environment Name + * @param detectorName Detector Resource Name + * @param options The options parameters. + */ + getHostingEnvironmentDetectorResponse( + resourceGroupName: string, + name: string, + detectorName: string, + options?: DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - diagnosticCategory, - options - }, - getSiteDiagnosticCategoryOperationSpec, - callback) as Promise; + { resourceGroupName, name, detectorName, options }, + getHostingEnvironmentDetectorResponseOperationSpec + ); } /** - * Description for Get Site Analyses - * @summary Get Site Analyses + * Description for List Site Detector Responses * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listSiteAnalyses(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: msRest.RequestOptionsBase): Promise; + private _listSiteDetectorResponses( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDetectorResponsesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, siteName, options }, + listSiteDetectorResponsesOperationSpec + ); + } + /** + * Description for Get site detector response * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param callback The callback - */ - listSiteAnalyses(resourceGroupName: string, siteName: string, diagnosticCategory: string, callback: msRest.ServiceCallback): void; + * @param detectorName Detector Resource Name + * @param options The options parameters. + */ + getSiteDetectorResponse( + resourceGroupName: string, + siteName: string, + detectorName: string, + options?: DiagnosticsGetSiteDetectorResponseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, siteName, detectorName, options }, + getSiteDetectorResponseOperationSpec + ); + } + /** + * Description for Get Diagnostics Categories * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listSiteAnalyses(resourceGroupName: string, siteName: string, diagnosticCategory: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteAnalyses(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listSiteDiagnosticCategories( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDiagnosticCategoriesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - diagnosticCategory, - options - }, - listSiteAnalysesOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, options }, + listSiteDiagnosticCategoriesOperationSpec + ); } /** - * Description for Get Site Analysis - * @summary Get Site Analysis + * Description for Get Diagnostics Category * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category - * @param analysisName Analysis Name - * @param [options] The optional parameters - * @returns Promise - */ - getSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, options?: msRest.RequestOptionsBase): Promise; + * @param options The options parameters. + */ + getSiteDiagnosticCategory( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsGetSiteDiagnosticCategoryOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, siteName, diagnosticCategory, options }, + getSiteDiagnosticCategoryOperationSpec + ); + } + /** + * Description for Get Site Analyses * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category - * @param analysisName Analysis Name - * @param callback The callback - */ - getSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, callback: msRest.ServiceCallback): void; + * @param options The options parameters. + */ + private _listSiteAnalyses( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteAnalysesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, siteName, diagnosticCategory, options }, + listSiteAnalysesOperationSpec + ); + } + /** + * Description for Get Site Analysis * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category * @param analysisName Analysis Name - * @param options The optional parameters - * @param callback The callback - */ - getSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getSiteAnalysis( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + analysisName: string, + options?: DiagnosticsGetSiteAnalysisOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -309,39 +956,25 @@ export class Diagnostics { analysisName, options }, - getSiteAnalysisOperationSpec, - callback) as Promise; + getSiteAnalysisOperationSpec + ); } /** * Description for Execute Analysis - * @summary Execute Analysis - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Category Name - * @param analysisName Analysis Resource Name - * @param [options] The optional parameters - * @returns Promise - */ - executeSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, options?: Models.DiagnosticsExecuteSiteAnalysisOptionalParams): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Category Name - * @param analysisName Analysis Resource Name - * @param callback The callback - */ - executeSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, callback: msRest.ServiceCallback): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Category Name * @param analysisName Analysis Resource Name - * @param options The optional parameters - * @param callback The callback - */ - executeSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, options: Models.DiagnosticsExecuteSiteAnalysisOptionalParams, callback: msRest.ServiceCallback): void; - executeSiteAnalysis(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, options?: Models.DiagnosticsExecuteSiteAnalysisOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + executeSiteAnalysis( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + analysisName: string, + options?: DiagnosticsExecuteSiteAnalysisOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -350,76 +983,44 @@ export class Diagnostics { analysisName, options }, - executeSiteAnalysisOperationSpec, - callback) as Promise; + executeSiteAnalysisOperationSpec + ); } /** * Description for Get Detectors - * @summary Get Detectors - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDetectors(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: msRest.RequestOptionsBase): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category - * @param callback The callback - */ - listSiteDetectors(resourceGroupName: string, siteName: string, diagnosticCategory: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param options The optional parameters - * @param callback The callback - */ - listSiteDetectors(resourceGroupName: string, siteName: string, diagnosticCategory: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDetectors(resourceGroupName: string, siteName: string, diagnosticCategory: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listSiteDetectors( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteDetectorsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - diagnosticCategory, - options - }, - listSiteDetectorsOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, diagnosticCategory, options }, + listSiteDetectorsOperationSpec + ); } /** * Description for Get Detector - * @summary Get Detector - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param detectorName Detector Name - * @param [options] The optional parameters - * @returns Promise - */ - getSiteDetector(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param detectorName Detector Name - * @param callback The callback - */ - getSiteDetector(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, callback: msRest.ServiceCallback): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category * @param detectorName Detector Name - * @param options The optional parameters - * @param callback The callback - */ - getSiteDetector(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getSiteDetector(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getSiteDetector( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + detectorName: string, + options?: DiagnosticsGetSiteDetectorOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -428,39 +1029,25 @@ export class Diagnostics { detectorName, options }, - getSiteDetectorOperationSpec, - callback) as Promise; + getSiteDetectorOperationSpec + ); } /** * Description for Execute Detector - * @summary Execute Detector - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param diagnosticCategory Category Name - * @param [options] The optional parameters - * @returns Promise - */ - executeSiteDetector(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, options?: Models.DiagnosticsExecuteSiteDetectorOptionalParams): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param detectorName Detector Resource Name * @param diagnosticCategory Category Name - * @param callback The callback - */ - executeSiteDetector(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param diagnosticCategory Category Name - * @param options The optional parameters - * @param callback The callback - */ - executeSiteDetector(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, options: Models.DiagnosticsExecuteSiteDetectorOptionalParams, callback: msRest.ServiceCallback): void; - executeSiteDetector(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, options?: Models.DiagnosticsExecuteSiteDetectorOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + executeSiteDetector( + resourceGroupName: string, + siteName: string, + detectorName: string, + diagnosticCategory: string, + options?: DiagnosticsExecuteSiteDetectorOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -469,239 +1056,128 @@ export class Diagnostics { diagnosticCategory, options }, - executeSiteDetectorOperationSpec, - callback) as Promise; + executeSiteDetectorOperationSpec + ); } /** * Description for List Site Detector Responses - * @summary List Site Detector Responses * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDetectorResponsesSlot(resourceGroupName: string, siteName: string, slot: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param slot Slot Name - * @param callback The callback - */ - listSiteDetectorResponsesSlot(resourceGroupName: string, siteName: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - listSiteDetectorResponsesSlot(resourceGroupName: string, siteName: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDetectorResponsesSlot(resourceGroupName: string, siteName: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listSiteDetectorResponsesSlot( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDetectorResponsesSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - slot, - options - }, - listSiteDetectorResponsesSlotOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, slot, options }, + listSiteDetectorResponsesSlotOperationSpec + ); } /** * Description for Get site detector response - * @summary Get site detector response - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - getSiteDetectorResponseSlot(resourceGroupName: string, siteName: string, detectorName: string, slot: string, options?: Models.DiagnosticsGetSiteDetectorResponseSlotOptionalParams): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param slot Slot Name - * @param callback The callback - */ - getSiteDetectorResponseSlot(resourceGroupName: string, siteName: string, detectorName: string, slot: string, callback: msRest.ServiceCallback): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param detectorName Detector Resource Name * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - getSiteDetectorResponseSlot(resourceGroupName: string, siteName: string, detectorName: string, slot: string, options: Models.DiagnosticsGetSiteDetectorResponseSlotOptionalParams, callback: msRest.ServiceCallback): void; - getSiteDetectorResponseSlot(resourceGroupName: string, siteName: string, detectorName: string, slot: string, options?: Models.DiagnosticsGetSiteDetectorResponseSlotOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getSiteDetectorResponseSlot( + resourceGroupName: string, + siteName: string, + detectorName: string, + slot: string, + options?: DiagnosticsGetSiteDetectorResponseSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - detectorName, - slot, - options - }, - getSiteDetectorResponseSlotOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, detectorName, slot, options }, + getSiteDetectorResponseSlotOperationSpec + ); } /** * Description for Get Diagnostics Categories - * @summary Get Diagnostics Categories * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDiagnosticCategoriesSlot(resourceGroupName: string, siteName: string, slot: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param slot Slot Name - * @param callback The callback - */ - listSiteDiagnosticCategoriesSlot(resourceGroupName: string, siteName: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - listSiteDiagnosticCategoriesSlot(resourceGroupName: string, siteName: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDiagnosticCategoriesSlot(resourceGroupName: string, siteName: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listSiteDiagnosticCategoriesSlot( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - slot, - options - }, - listSiteDiagnosticCategoriesSlotOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, slot, options }, + listSiteDiagnosticCategoriesSlotOperationSpec + ); } /** * Description for Get Diagnostics Category - * @summary Get Diagnostics Category * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - getSiteDiagnosticCategorySlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param slot Slot Name - * @param callback The callback - */ - getSiteDiagnosticCategorySlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - getSiteDiagnosticCategorySlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getSiteDiagnosticCategorySlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getSiteDiagnosticCategorySlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsGetSiteDiagnosticCategorySlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - diagnosticCategory, - slot, - options - }, - getSiteDiagnosticCategorySlotOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, diagnosticCategory, slot, options }, + getSiteDiagnosticCategorySlotOperationSpec + ); } /** * Description for Get Site Analyses - * @summary Get Site Analyses - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - listSiteAnalysesSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: msRest.RequestOptionsBase): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category * @param slot Slot Name - * @param callback The callback - */ - listSiteAnalysesSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - listSiteAnalysesSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteAnalysesSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listSiteAnalysesSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteAnalysesSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - diagnosticCategory, - slot, - options - }, - listSiteAnalysesSlotOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, diagnosticCategory, slot, options }, + listSiteAnalysesSlotOperationSpec + ); } /** * Description for Get Site Analysis - * @summary Get Site Analysis * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category * @param analysisName Analysis Name * @param slot Slot - optional - * @param [options] The optional parameters - * @returns Promise - */ - getSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param analysisName Analysis Name - * @param slot Slot - optional - * @param callback The callback - */ - getSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param analysisName Analysis Name - * @param slot Slot - optional - * @param options The optional parameters - * @param callback The callback - */ - getSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getSiteAnalysisSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + analysisName: string, + slot: string, + options?: DiagnosticsGetSiteAnalysisSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -711,42 +1187,27 @@ export class Diagnostics { slot, options }, - getSiteAnalysisSlotOperationSpec, - callback) as Promise; + getSiteAnalysisSlotOperationSpec + ); } /** * Description for Execute Analysis - * @summary Execute Analysis - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Category Name - * @param analysisName Analysis Resource Name - * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - executeSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, options?: Models.DiagnosticsExecuteSiteAnalysisSlotOptionalParams): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Category Name * @param analysisName Analysis Resource Name * @param slot Slot Name - * @param callback The callback - */ - executeSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Category Name - * @param analysisName Analysis Resource Name - * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - executeSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, options: Models.DiagnosticsExecuteSiteAnalysisSlotOptionalParams, callback: msRest.ServiceCallback): void; - executeSiteAnalysisSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, analysisName: string, slot: string, options?: Models.DiagnosticsExecuteSiteAnalysisSlotOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + executeSiteAnalysisSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + analysisName: string, + slot: string, + options?: DiagnosticsExecuteSiteAnalysisSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -756,83 +1217,48 @@ export class Diagnostics { slot, options }, - executeSiteAnalysisSlotOperationSpec, - callback) as Promise; + executeSiteAnalysisSlotOperationSpec + ); } /** * Description for Get Detectors - * @summary Get Detectors * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDetectorsSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param slot Slot Name - * @param callback The callback - */ - listSiteDetectorsSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - listSiteDetectorsSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDetectorsSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listSiteDetectorsSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteDetectorsSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - diagnosticCategory, - slot, - options - }, - listSiteDetectorsSlotOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, diagnosticCategory, slot, options }, + listSiteDetectorsSlotOperationSpec + ); } /** * Description for Get Detector - * @summary Get Detector - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param detectorName Detector Name - * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - getSiteDetectorSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, slot: string, options?: msRest.RequestOptionsBase): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param diagnosticCategory Diagnostic Category * @param detectorName Detector Name * @param slot Slot Name - * @param callback The callback - */ - getSiteDetectorSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param diagnosticCategory Diagnostic Category - * @param detectorName Detector Name - * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - getSiteDetectorSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getSiteDetectorSlot(resourceGroupName: string, siteName: string, diagnosticCategory: string, detectorName: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getSiteDetectorSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + detectorName: string, + slot: string, + options?: DiagnosticsGetSiteDetectorSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -842,42 +1268,27 @@ export class Diagnostics { slot, options }, - getSiteDetectorSlotOperationSpec, - callback) as Promise; + getSiteDetectorSlotOperationSpec + ); } /** * Description for Execute Detector - * @summary Execute Detector * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site Name * @param detectorName Detector Resource Name * @param diagnosticCategory Category Name * @param slot Slot Name - * @param [options] The optional parameters - * @returns Promise - */ - executeSiteDetectorSlot(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, slot: string, options?: Models.DiagnosticsExecuteSiteDetectorSlotOptionalParams): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param diagnosticCategory Category Name - * @param slot Slot Name - * @param callback The callback - */ - executeSiteDetectorSlot(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site Name - * @param detectorName Detector Resource Name - * @param diagnosticCategory Category Name - * @param slot Slot Name - * @param options The optional parameters - * @param callback The callback - */ - executeSiteDetectorSlot(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, slot: string, options: Models.DiagnosticsExecuteSiteDetectorSlotOptionalParams, callback: msRest.ServiceCallback): void; - executeSiteDetectorSlot(resourceGroupName: string, siteName: string, detectorName: string, diagnosticCategory: string, slot: string, options?: Models.DiagnosticsExecuteSiteDetectorSlotOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + executeSiteDetectorSlot( + resourceGroupName: string, + siteName: string, + detectorName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsExecuteSiteDetectorSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -887,288 +1298,223 @@ export class Diagnostics { slot, options }, - executeSiteDetectorSlotOperationSpec, - callback) as Promise; + executeSiteDetectorSlotOperationSpec + ); } /** - * Description for List Hosting Environment Detector Responses - * @summary List Hosting Environment Detector Responses - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listHostingEnvironmentDetectorResponsesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listHostingEnvironmentDetectorResponsesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listHostingEnvironmentDetectorResponsesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listHostingEnvironmentDetectorResponsesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListHostingEnvironmentDetectorResponsesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site Name + * @param nextLink The nextLink from the previous successful call to the + * ListHostingEnvironmentDetectorResponses method. + * @param options The options parameters. + */ + private _listHostingEnvironmentDetectorResponsesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: DiagnosticsListHostingEnvironmentDetectorResponsesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listHostingEnvironmentDetectorResponsesNextOperationSpec, - callback) as Promise; + { resourceGroupName, name, nextLink, options }, + listHostingEnvironmentDetectorResponsesNextOperationSpec + ); } /** - * Description for List Site Detector Responses - * @summary List Site Detector Responses - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDetectorResponsesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteDetectorResponsesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteDetectorResponsesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDetectorResponsesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListSiteDetectorResponsesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param nextLink The nextLink from the previous successful call to the ListSiteDetectorResponses + * method. + * @param options The options parameters. + */ + private _listSiteDetectorResponsesNext( + resourceGroupName: string, + siteName: string, + nextLink: string, + options?: DiagnosticsListSiteDetectorResponsesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteDetectorResponsesNextOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, nextLink, options }, + listSiteDetectorResponsesNextOperationSpec + ); } /** - * Description for Get Diagnostics Categories - * @summary Get Diagnostics Categories - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDiagnosticCategoriesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteDiagnosticCategoriesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteDiagnosticCategoriesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDiagnosticCategoriesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListSiteDiagnosticCategoriesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param nextLink The nextLink from the previous successful call to the ListSiteDiagnosticCategories + * method. + * @param options The options parameters. + */ + private _listSiteDiagnosticCategoriesNext( + resourceGroupName: string, + siteName: string, + nextLink: string, + options?: DiagnosticsListSiteDiagnosticCategoriesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteDiagnosticCategoriesNextOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, nextLink, options }, + listSiteDiagnosticCategoriesNextOperationSpec + ); } /** - * Description for Get Site Analyses - * @summary Get Site Analyses - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteAnalysesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteAnalysesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteAnalysesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteAnalysesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListSiteAnalysesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param nextLink The nextLink from the previous successful call to the ListSiteAnalyses method. + * @param options The options parameters. + */ + private _listSiteAnalysesNext( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + nextLink: string, + options?: DiagnosticsListSiteAnalysesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteAnalysesNextOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, diagnosticCategory, nextLink, options }, + listSiteAnalysesNextOperationSpec + ); } /** - * Description for Get Detectors - * @summary Get Detectors - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDetectorsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteDetectorsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteDetectorsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDetectorsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListSiteDetectorsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param nextLink The nextLink from the previous successful call to the ListSiteDetectors method. + * @param options The options parameters. + */ + private _listSiteDetectorsNext( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + nextLink: string, + options?: DiagnosticsListSiteDetectorsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteDetectorsNextOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, diagnosticCategory, nextLink, options }, + listSiteDetectorsNextOperationSpec + ); } /** - * Description for List Site Detector Responses - * @summary List Site Detector Responses - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDetectorResponsesSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteDetectorResponsesSlotNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteDetectorResponsesSlotNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDetectorResponsesSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListSiteDetectorResponsesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param slot Slot Name + * @param nextLink The nextLink from the previous successful call to the ListSiteDetectorResponsesSlot + * method. + * @param options The options parameters. + */ + private _listSiteDetectorResponsesSlotNext( + resourceGroupName: string, + siteName: string, + slot: string, + nextLink: string, + options?: DiagnosticsListSiteDetectorResponsesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteDetectorResponsesSlotNextOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, slot, nextLink, options }, + listSiteDetectorResponsesSlotNextOperationSpec + ); } /** - * Description for Get Diagnostics Categories - * @summary Get Diagnostics Categories - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDiagnosticCategoriesSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteDiagnosticCategoriesSlotNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteDiagnosticCategoriesSlotNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDiagnosticCategoriesSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListSiteDiagnosticCategoriesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param slot Slot Name + * @param nextLink The nextLink from the previous successful call to the + * ListSiteDiagnosticCategoriesSlot method. + * @param options The options parameters. + */ + private _listSiteDiagnosticCategoriesSlotNext( + resourceGroupName: string, + siteName: string, + slot: string, + nextLink: string, + options?: DiagnosticsListSiteDiagnosticCategoriesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteDiagnosticCategoriesSlotNextOperationSpec, - callback) as Promise; + { resourceGroupName, siteName, slot, nextLink, options }, + listSiteDiagnosticCategoriesSlotNextOperationSpec + ); } /** - * Description for Get Site Analyses - * @summary Get Site Analyses - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteAnalysesSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteAnalysesSlotNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteAnalysesSlotNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteAnalysesSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListSiteAnalysesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param slot Slot Name + * @param nextLink The nextLink from the previous successful call to the ListSiteAnalysesSlot method. + * @param options The options parameters. + */ + private _listSiteAnalysesSlotNext( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + nextLink: string, + options?: DiagnosticsListSiteAnalysesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + siteName, + diagnosticCategory, + slot, + nextLink, options }, - listSiteAnalysesSlotNextOperationSpec, - callback) as Promise; + listSiteAnalysesSlotNextOperationSpec + ); } /** - * Description for Get Detectors - * @summary Get Detectors - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteDetectorsSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteDetectorsSlotNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteDetectorsSlotNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSiteDetectorsSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListSiteDetectorsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param slot Slot Name + * @param nextLink The nextLink from the previous successful call to the ListSiteDetectorsSlot method. + * @param options The options parameters. + */ + private _listSiteDetectorsSlotNext( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + nextLink: string, + options?: DiagnosticsListSiteDetectorsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + siteName, + diagnosticCategory, + slot, + nextLink, options }, - listSiteDetectorsSlotNextOperationSpec, - callback) as Promise; + listSiteDetectorsSlotNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listHostingEnvironmentDetectorResponsesOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listHostingEnvironmentDetectorResponsesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DetectorResponseCollection @@ -1177,27 +1523,20 @@ const listHostingEnvironmentDetectorResponsesOperationSpec: msRest.OperationSpec bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getHostingEnvironmentDetectorResponseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.detectorName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.timeGrain, - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.name ], + headerParameters: [Parameters.accept], + serializer +}; +const getHostingEnvironmentDetectorResponseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponse @@ -1206,23 +1545,26 @@ const getHostingEnvironmentDetectorResponseOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteDetectorResponsesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.siteName, - Parameters.subscriptionId - ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion, + Parameters.startTime, + Parameters.endTime, + Parameters.timeGrain ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.detectorName ], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteDetectorResponsesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponseCollection @@ -1231,27 +1573,20 @@ const listSiteDetectorResponsesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteDetectorResponseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.siteName, - Parameters.detectorName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.timeGrain, - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.siteName ], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteDetectorResponseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponse @@ -1260,23 +1595,26 @@ const getSiteDetectorResponseOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteDiagnosticCategoriesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.siteName, - Parameters.subscriptionId - ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion, + Parameters.startTime, + Parameters.endTime, + Parameters.timeGrain ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.detectorName, + Parameters.siteName ], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteDiagnosticCategoriesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticCategoryCollection @@ -1285,24 +1623,20 @@ const listSiteDiagnosticCategoriesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteDiagnosticCategoryOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.siteName, - Parameters.diagnosticCategory, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.siteName ], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteDiagnosticCategoryOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticCategory @@ -1311,24 +1645,21 @@ const getSiteDiagnosticCategoryOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteAnalysesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, - Parameters.diagnosticCategory, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.diagnosticCategory ], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteAnalysesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticAnalysisCollection @@ -1337,25 +1668,21 @@ const listSiteAnalysesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteAnalysisOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, - Parameters.diagnosticCategory, - Parameters.analysisName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.diagnosticCategory ], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteAnalysisOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AnalysisDefinition @@ -1364,28 +1691,22 @@ const getSiteAnalysisOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const executeSiteAnalysisOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, Parameters.diagnosticCategory, - Parameters.analysisName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.timeGrain, - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.analysisName ], + headerParameters: [Parameters.accept], + serializer +}; +const executeSiteAnalysisOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.DiagnosticAnalysis @@ -1394,24 +1715,27 @@ const executeSiteAnalysisOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteDetectorsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors", + queryParameters: [ + Parameters.apiVersion, + Parameters.startTime, + Parameters.endTime, + Parameters.timeGrain + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, Parameters.diagnosticCategory, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.analysisName ], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteDetectorsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticDetectorCollection @@ -1420,55 +1744,45 @@ const listSiteDetectorsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteDetectorOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, - Parameters.diagnosticCategory, - Parameters.detectorName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.diagnosticCategory ], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteDetectorOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.DetectorDefinition + bodyMapper: Mappers.DetectorDefinitionResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const executeSiteDetectorOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.siteName, Parameters.detectorName, - Parameters.diagnosticCategory, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.timeGrain, - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.siteName, + Parameters.diagnosticCategory ], + headerParameters: [Parameters.accept], + serializer +}; +const executeSiteDetectorOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.DiagnosticDetectorResponse @@ -1477,24 +1791,27 @@ const executeSiteDetectorOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteDetectorResponsesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors", + queryParameters: [ + Parameters.apiVersion, + Parameters.startTime, + Parameters.endTime, + Parameters.timeGrain + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.detectorName, Parameters.siteName, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.diagnosticCategory ], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteDetectorResponsesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponseCollection @@ -1503,28 +1820,21 @@ const listSiteDetectorResponsesSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteDetectorResponseSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, - Parameters.detectorName, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.timeGrain, - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteDetectorResponseSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponse @@ -1533,24 +1843,27 @@ const getSiteDetectorResponseSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteDiagnosticCategoriesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics", + queryParameters: [ + Parameters.apiVersion, + Parameters.startTime, + Parameters.endTime, + Parameters.timeGrain + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, + Parameters.detectorName, Parameters.siteName, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteDiagnosticCategoriesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticCategoryCollection @@ -1559,25 +1872,21 @@ const listSiteDiagnosticCategoriesSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteDiagnosticCategorySlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, - Parameters.diagnosticCategory, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteDiagnosticCategorySlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticCategory @@ -1586,25 +1895,22 @@ const getSiteDiagnosticCategorySlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteAnalysesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, Parameters.diagnosticCategory, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteAnalysesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticAnalysisCollection @@ -1613,26 +1919,22 @@ const listSiteAnalysesSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteAnalysisSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, Parameters.diagnosticCategory, - Parameters.analysisName, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteAnalysisSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AnalysisDefinition @@ -1641,29 +1943,23 @@ const getSiteAnalysisSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const executeSiteAnalysisSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, Parameters.diagnosticCategory, Parameters.analysisName, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.timeGrain, - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const executeSiteAnalysisSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.DiagnosticAnalysis @@ -1672,25 +1968,28 @@ const executeSiteAnalysisSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteDetectorsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors", + queryParameters: [ + Parameters.apiVersion, + Parameters.startTime, + Parameters.endTime, + Parameters.timeGrain + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, Parameters.diagnosticCategory, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.analysisName, + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteDetectorsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticDetectorCollection @@ -1699,57 +1998,47 @@ const listSiteDetectorsSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteDetectorSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.siteName, Parameters.diagnosticCategory, - Parameters.detectorName, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteDetectorSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.DetectorDefinition + bodyMapper: Mappers.DetectorDefinitionResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const executeSiteDetectorSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.siteName, Parameters.detectorName, + Parameters.siteName, Parameters.diagnosticCategory, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.timeGrain, - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const executeSiteDetectorSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.DiagnosticDetectorResponse @@ -1758,22 +2047,27 @@ const executeSiteDetectorSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listHostingEnvironmentDetectorResponsesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], queryParameters: [ - Parameters.apiVersion + Parameters.apiVersion, + Parameters.startTime, + Parameters.endTime, + Parameters.timeGrain ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.detectorName, + Parameters.siteName, + Parameters.diagnosticCategory, + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const listHostingEnvironmentDetectorResponsesNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponseCollection @@ -1782,22 +2076,20 @@ const listHostingEnvironmentDetectorResponsesNextOperationSpec: msRest.Operation bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteDetectorResponsesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteDetectorResponsesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponseCollection @@ -1806,22 +2098,20 @@ const listSiteDetectorResponsesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteDiagnosticCategoriesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteDiagnosticCategoriesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticCategoryCollection @@ -1830,22 +2120,20 @@ const listSiteDiagnosticCategoriesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteAnalysesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteAnalysesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticAnalysisCollection @@ -1854,22 +2142,21 @@ const listSiteAnalysesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName, + Parameters.diagnosticCategory + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteDetectorsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteDetectorsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticDetectorCollection @@ -1878,22 +2165,21 @@ const listSiteDetectorsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName, + Parameters.diagnosticCategory + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteDetectorResponsesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteDetectorResponsesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DetectorResponseCollection @@ -1902,22 +2188,21 @@ const listSiteDetectorResponsesSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteDiagnosticCategoriesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteDiagnosticCategoriesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticCategoryCollection @@ -1926,22 +2211,21 @@ const listSiteDiagnosticCategoriesSlotNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteAnalysesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteAnalysesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticAnalysisCollection @@ -1950,22 +2234,22 @@ const listSiteAnalysesSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName, + Parameters.diagnosticCategory, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteDetectorsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteDetectorsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DiagnosticDetectorCollection @@ -1974,5 +2258,16 @@ const listSiteDetectorsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName, + Parameters.diagnosticCategory, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/domainRegistrationProvider.ts b/sdk/appservice/arm-appservice/src/operations/domainRegistrationProvider.ts index 662d6ca60f98..e2f4ae074a96 100644 --- a/sdk/appservice/arm-appservice/src/operations/domainRegistrationProvider.ts +++ b/sdk/appservice/arm-appservice/src/operations/domainRegistrationProvider.ts @@ -3,98 +3,116 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/domainRegistrationProviderMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DomainRegistrationProvider } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + CsmOperationDescription, + DomainRegistrationProviderListOperationsNextOptionalParams, + DomainRegistrationProviderListOperationsOptionalParams, + DomainRegistrationProviderListOperationsResponse, + DomainRegistrationProviderListOperationsNextResponse +} from "../models"; +/// /** Class representing a DomainRegistrationProvider. */ -export class DomainRegistrationProvider { +export class DomainRegistrationProviderImpl + implements DomainRegistrationProvider { private readonly client: WebSiteManagementClientContext; /** - * Create a DomainRegistrationProvider. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DomainRegistrationProvider class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; } /** - * Description for Implements Csm operations Api to exposes the list of available Csm Apis under - * the resource provider - * @summary Implements Csm operations Api to exposes the list of available Csm Apis under the + * Description for Implements Csm operations Api to exposes the list of available Csm Apis under the * resource provider - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listOperations(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - listOperations(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listOperations(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listOperations(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public listOperations( + options?: DomainRegistrationProviderListOperationsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listOperationsPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationsOperationSpec, - callback) as Promise; + byPage: () => { + return this.listOperationsPagingPage(options); + } + }; + } + + private async *listOperationsPagingPage( + options?: DomainRegistrationProviderListOperationsOptionalParams + ): AsyncIterableIterator { + let result = await this._listOperations(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listOperationsNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listOperationsPagingAll( + options?: DomainRegistrationProviderListOperationsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listOperationsPagingPage(options)) { + yield* page; + } } /** - * Description for Implements Csm operations Api to exposes the list of available Csm Apis under - * the resource provider - * @summary Implements Csm operations Api to exposes the list of available Csm Apis under the + * Description for Implements Csm operations Api to exposes the list of available Csm Apis under the * resource provider - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listOperationsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listOperationsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listOperations( + options?: DomainRegistrationProviderListOperationsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listOperationsOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListOperationsNext + * @param nextLink The nextLink from the previous successful call to the ListOperations method. + * @param options The options parameters. */ - listOperationsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listOperationsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listOperationsNext( + nextLink: string, + options?: DomainRegistrationProviderListOperationsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listOperationsNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listOperationsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationsOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.DomainRegistration/operations", httpMethod: "GET", - path: "providers/Microsoft.DomainRegistration/operations", - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.CsmOperationCollection @@ -103,22 +121,14 @@ const listOperationsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const listOperationsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listOperationsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmOperationCollection @@ -127,5 +137,8 @@ const listOperationsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/domains.ts b/sdk/appservice/arm-appservice/src/operations/domains.ts index 0290860ef8fb..5550cc83ab33 100644 --- a/sdk/appservice/arm-appservice/src/operations/domains.ts +++ b/sdk/appservice/arm-appservice/src/operations/domains.ts @@ -3,583 +3,556 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/domainsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Domains } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Domain, + DomainsListNextOptionalParams, + DomainsListOptionalParams, + NameIdentifier, + DomainRecommendationSearchParameters, + DomainsListRecommendationsNextOptionalParams, + DomainsListRecommendationsOptionalParams, + DomainsListByResourceGroupNextOptionalParams, + DomainsListByResourceGroupOptionalParams, + DomainOwnershipIdentifier, + DomainsListOwnershipIdentifiersNextOptionalParams, + DomainsListOwnershipIdentifiersOptionalParams, + DomainsCheckAvailabilityOptionalParams, + DomainsCheckAvailabilityResponse, + DomainsListResponse, + DomainsGetControlCenterSsoRequestOptionalParams, + DomainsGetControlCenterSsoRequestResponse, + DomainsListRecommendationsResponse, + DomainsListByResourceGroupResponse, + DomainsGetOptionalParams, + DomainsGetResponse, + DomainsCreateOrUpdateOptionalParams, + DomainsCreateOrUpdateResponse, + DomainsDeleteOptionalParams, + DomainPatchResource, + DomainsUpdateOptionalParams, + DomainsUpdateResponse, + DomainsListOwnershipIdentifiersResponse, + DomainsGetOwnershipIdentifierOptionalParams, + DomainsGetOwnershipIdentifierResponse, + DomainsCreateOrUpdateOwnershipIdentifierOptionalParams, + DomainsCreateOrUpdateOwnershipIdentifierResponse, + DomainsDeleteOwnershipIdentifierOptionalParams, + DomainsUpdateOwnershipIdentifierOptionalParams, + DomainsUpdateOwnershipIdentifierResponse, + DomainsRenewOptionalParams, + DomainsListNextResponse, + DomainsListRecommendationsNextResponse, + DomainsListByResourceGroupNextResponse, + DomainsListOwnershipIdentifiersNextResponse +} from "../models"; +/// /** Class representing a Domains. */ -export class Domains { +export class DomainsImpl implements Domains { private readonly client: WebSiteManagementClientContext; /** - * Create a Domains. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Domains class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; } /** - * Description for Check if a domain is available for registration. - * @summary Check if a domain is available for registration. - * @param [options] The optional parameters - * @returns Promise - */ - checkAvailability( - options?: Models.DomainsCheckAvailabilityOptionalParams - ): Promise; - /** - * @param callback The callback - */ - checkAvailability(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * Description for Get all domains in a subscription. + * @param options The options parameters. */ - checkAvailability( - options: Models.DomainsCheckAvailabilityOptionalParams, - callback: msRest.ServiceCallback - ): void; - checkAvailability( - options?: - | Models.DomainsCheckAvailabilityOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: DomainsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - checkAvailabilityOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: DomainsListOptionalParams + ): 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?: DomainsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Description for Get all domains in a subscription. - * @summary Get all domains in a subscription. - * @param [options] The optional parameters - * @returns Promise + * Description for Get domain name recommendations based on keywords. + * @param parameters Search parameters for domain name recommendations. + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; + public listRecommendations( + parameters: DomainRecommendationSearchParameters, + options?: DomainsListRecommendationsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listRecommendationsPagingAll(parameters, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listRecommendationsPagingPage(parameters, options); + } + }; + } + + private async *listRecommendationsPagingPage( + parameters: DomainRecommendationSearchParameters, + options?: DomainsListRecommendationsOptionalParams + ): AsyncIterableIterator { + let result = await this._listRecommendations(parameters, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listRecommendationsNext( + parameters, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listRecommendationsPagingAll( + parameters: DomainRecommendationSearchParameters, + options?: DomainsListRecommendationsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listRecommendationsPagingPage( + parameters, + options + )) { + yield* page; + } + } + /** - * @param callback The callback + * Description for Get all domains in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. */ - list(callback: msRest.ServiceCallback): void; + public listByResourceGroup( + resourceGroupName: string, + options?: DomainsListByResourceGroupOptionalParams + ): 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?: DomainsListByResourceGroupOptionalParams + ): 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?: DomainsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + /** - * @param options The optional parameters - * @param callback The callback + * Description for Lists domain ownership identifiers. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of domain. + * @param options The options parameters. */ - list( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - list( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + public listOwnershipIdentifiers( + resourceGroupName: string, + domainName: string, + options?: DomainsListOwnershipIdentifiersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listOwnershipIdentifiersPagingAll( + resourceGroupName, + domainName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback - ) as Promise; + byPage: () => { + return this.listOwnershipIdentifiersPagingPage( + resourceGroupName, + domainName, + options + ); + } + }; + } + + private async *listOwnershipIdentifiersPagingPage( + resourceGroupName: string, + domainName: string, + options?: DomainsListOwnershipIdentifiersOptionalParams + ): AsyncIterableIterator { + let result = await this._listOwnershipIdentifiers( + resourceGroupName, + domainName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listOwnershipIdentifiersNext( + resourceGroupName, + domainName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listOwnershipIdentifiersPagingAll( + resourceGroupName: string, + domainName: string, + options?: DomainsListOwnershipIdentifiersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listOwnershipIdentifiersPagingPage( + resourceGroupName, + domainName, + options + )) { + yield* page; + } } /** - * Description for Generate a single sign-on request for the domain management portal. - * @summary Generate a single sign-on request for the domain management portal. - * @param [options] The optional parameters - * @returns Promise + * Description for Check if a domain is available for registration. + * @param identifier Name of the domain. + * @param options The options parameters. */ - getControlCenterSsoRequest( - options?: msRest.RequestOptionsBase - ): Promise; + checkAvailability( + identifier: NameIdentifier, + options?: DomainsCheckAvailabilityOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { identifier, options }, + checkAvailabilityOperationSpec + ); + } + /** - * @param callback The callback + * Description for Get all domains in a subscription. + * @param options The options parameters. */ - getControlCenterSsoRequest( - callback: msRest.ServiceCallback - ): void; + private _list( + options?: DomainsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param options The optional parameters - * @param callback The callback + * Description for Generate a single sign-on request for the domain management portal. + * @param options The options parameters. */ getControlCenterSsoRequest( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getControlCenterSsoRequest( - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: DomainsGetControlCenterSsoRequestOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - options - }, - getControlCenterSsoRequestOperationSpec, - callback - ) as Promise; + { options }, + getControlCenterSsoRequestOperationSpec + ); } /** * Description for Get domain name recommendations based on keywords. - * @summary Get domain name recommendations based on keywords. - * @param parameters Search parameters for domain name recommendations. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendations( - parameters: Models.DomainRecommendationSearchParameters, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param parameters Search parameters for domain name recommendations. - * @param callback The callback + * @param options The options parameters. */ - listRecommendations( - parameters: Models.DomainRecommendationSearchParameters, - callback: msRest.ServiceCallback - ): void; - /** - * @param parameters Search parameters for domain name recommendations. - * @param options The optional parameters - * @param callback The callback - */ - listRecommendations( - parameters: Models.DomainRecommendationSearchParameters, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listRecommendations( - parameters: Models.DomainRecommendationSearchParameters, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listRecommendations( + parameters: DomainRecommendationSearchParameters, + options?: DomainsListRecommendationsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - parameters, - options - }, - listRecommendationsOperationSpec, - callback - ) as Promise; + { parameters, options }, + listRecommendationsOperationSpec + ); } /** * Description for Get all domains in a resource group. - * @summary Get all domains in a resource group. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup( - resourceGroupName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroup( - resourceGroupName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup( - resourceGroupName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroup( + private _listByResourceGroup( resourceGroupName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: DomainsListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listByResourceGroupOperationSpec, - callback - ) as Promise; + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); } /** * Description for Get a domain. - * @summary Get a domain. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of the domain. - * @param [options] The optional parameters - * @returns Promise - */ - get( - resourceGroupName: string, - domainName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of the domain. - * @param callback The callback + * @param options The options parameters. */ get( resourceGroupName: string, domainName: string, - callback: msRest.ServiceCallback - ): void; + options?: DomainsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, domainName, options }, + getOperationSpec + ); + } + /** + * Description for Creates or updates a domain. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of the domain. - * @param options The optional parameters - * @param callback The callback + * @param domain Domain registration information. + * @param options The options parameters. */ - get( - resourceGroupName: string, - domainName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - get( + async beginCreateOrUpdate( resourceGroupName: string, domainName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - domainName, - options - }, - getOperationSpec, - callback - ) as Promise; + domain: Domain, + options?: DomainsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DomainsCreateOrUpdateResponse + > + > { + 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, domainName, domain, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Description for Creates or updates a domain. - * @summary Creates or updates a domain. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of the domain. * @param domain Domain registration information. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate( + async beginCreateOrUpdateAndWait( resourceGroupName: string, domainName: string, - domain: Models.Domain, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdate( + domain: Domain, + options?: DomainsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( resourceGroupName, domainName, domain, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.DomainsCreateOrUpdateResponse - >; + ); + return poller.pollUntilDone(); } /** * Description for Delete a domain. - * @summary Delete a domain. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of the domain. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod( + delete( resourceGroupName: string, domainName: string, - options?: Models.DomainsDeleteMethodOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of the domain. - * @param callback The callback - */ - deleteMethod( - resourceGroupName: string, - domainName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of the domain. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod( - resourceGroupName: string, - domainName: string, - options: Models.DomainsDeleteMethodOptionalParams, - callback: msRest.ServiceCallback - ): void; - deleteMethod( - resourceGroupName: string, - domainName: string, - options?: Models.DomainsDeleteMethodOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: DomainsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - domainName, - options - }, - deleteMethodOperationSpec, - callback + { resourceGroupName, domainName, options }, + deleteOperationSpec ); } /** * Description for Creates or updates a domain. - * @summary Creates or updates a domain. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of the domain. - * @param domain Domain registration information. - * @param [options] The optional parameters - * @returns Promise - */ - update( - resourceGroupName: string, - domainName: string, - domain: Models.DomainPatchResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of the domain. - * @param domain Domain registration information. - * @param callback The callback - */ - update( - resourceGroupName: string, - domainName: string, - domain: Models.DomainPatchResource, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of the domain. * @param domain Domain registration information. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ update( resourceGroupName: string, domainName: string, - domain: Models.DomainPatchResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - update( - resourceGroupName: string, - domainName: string, - domain: Models.DomainPatchResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + domain: DomainPatchResource, + options?: DomainsUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - domainName, - domain, - options - }, - updateOperationSpec, - callback - ) as Promise; + { resourceGroupName, domainName, domain, options }, + updateOperationSpec + ); } /** * Description for Lists domain ownership identifiers. - * @summary Lists domain ownership identifiers. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param [options] The optional parameters - * @returns Promise - */ - listOwnershipIdentifiers( - resourceGroupName: string, - domainName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param callback The callback - */ - listOwnershipIdentifiers( - resourceGroupName: string, - domainName: string, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of domain. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listOwnershipIdentifiers( - resourceGroupName: string, - domainName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listOwnershipIdentifiers( + private _listOwnershipIdentifiers( resourceGroupName: string, domainName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: DomainsListOwnershipIdentifiersOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - domainName, - options - }, - listOwnershipIdentifiersOperationSpec, - callback - ) as Promise; + { resourceGroupName, domainName, options }, + listOwnershipIdentifiersOperationSpec + ); } /** * Description for Get ownership identifier for domain - * @summary Get ownership identifier for domain * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of domain. * @param name Name of identifier. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ getOwnershipIdentifier( resourceGroupName: string, domainName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param callback The callback - */ - getOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param options The optional parameters - * @param callback The callback - */ - getOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: DomainsGetOwnershipIdentifierOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - domainName, - name, - options - }, - getOwnershipIdentifierOperationSpec, - callback - ) as Promise; + { resourceGroupName, domainName, name, options }, + getOwnershipIdentifierOperationSpec + ); } /** - * Description for Creates an ownership identifier for a domain or updates identifier details for - * an existing identifier - * @summary Creates an ownership identifier for a domain or updates identifier details for an + * Description for Creates an ownership identifier for a domain or updates identifier details for an * existing identifier * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of domain. * @param name Name of identifier. * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ createOrUpdateOwnershipIdentifier( resourceGroupName: string, domainName: string, name: string, - domainOwnershipIdentifier: Models.DomainOwnershipIdentifier, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param callback The callback - */ - createOrUpdateOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - domainOwnershipIdentifier: Models.DomainOwnershipIdentifier, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - domainOwnershipIdentifier: Models.DomainOwnershipIdentifier, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - domainOwnershipIdentifier: Models.DomainOwnershipIdentifier, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + domainOwnershipIdentifier: DomainOwnershipIdentifier, + options?: DomainsCreateOrUpdateOwnershipIdentifierOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -588,414 +561,150 @@ export class Domains { domainOwnershipIdentifier, options }, - createOrUpdateOwnershipIdentifierOperationSpec, - callback - ) as Promise; + createOrUpdateOwnershipIdentifierOperationSpec + ); } /** * Description for Delete ownership identifier for domain - * @summary Delete ownership identifier for domain - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param [options] The optional parameters - * @returns Promise - */ - deleteOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of domain. * @param name Name of identifier. - * @param callback The callback + * @param options The options parameters. */ deleteOwnershipIdentifier( resourceGroupName: string, domainName: string, name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param options The optional parameters - * @param callback The callback - */ - deleteOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: DomainsDeleteOwnershipIdentifierOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - domainName, - name, - options - }, - deleteOwnershipIdentifierOperationSpec, - callback + { resourceGroupName, domainName, name, options }, + deleteOwnershipIdentifierOperationSpec ); } /** - * Description for Creates an ownership identifier for a domain or updates identifier details for - * an existing identifier - * @summary Creates an ownership identifier for a domain or updates identifier details for an - * existing identifier - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param [options] The optional parameters - * @returns Promise - */ - updateOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - domainOwnershipIdentifier: Models.DomainOwnershipIdentifier, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param callback The callback - */ - updateOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - domainOwnershipIdentifier: Models.DomainOwnershipIdentifier, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of domain. - * @param name Name of identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param options The optional parameters - * @param callback The callback - */ - updateOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - domainOwnershipIdentifier: Models.DomainOwnershipIdentifier, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateOwnershipIdentifier( - resourceGroupName: string, - domainName: string, - name: string, - domainOwnershipIdentifier: Models.DomainOwnershipIdentifier, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - domainName, - name, - domainOwnershipIdentifier, - options - }, - updateOwnershipIdentifierOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Renew a domain. - * @summary Renew a domain. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of the domain. - * @param [options] The optional parameters - * @returns Promise - */ - renew( - resourceGroupName: string, - domainName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of the domain. - * @param callback The callback - */ - renew( - resourceGroupName: string, - domainName: string, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Creates an ownership identifier for a domain or updates identifier details for an + * existing identifier * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param domainName Name of the domain. - * @param options The optional parameters - * @param callback The callback + * @param domainName Name of domain. + * @param name Name of identifier. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. */ - renew( - resourceGroupName: string, - domainName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - renew( + updateOwnershipIdentifier( resourceGroupName: string, domainName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + name: string, + domainOwnershipIdentifier: DomainOwnershipIdentifier, + options?: DomainsUpdateOwnershipIdentifierOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, domainName, + name, + domainOwnershipIdentifier, options }, - renewOperationSpec, - callback + updateOwnershipIdentifierOperationSpec ); } /** - * Description for Creates or updates a domain. - * @summary Creates or updates a domain. + * Description for Renew a domain. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param domainName Name of the domain. - * @param domain Domain registration information. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate( + renew( resourceGroupName: string, domainName: string, - domain: Models.Domain, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - domainName, - domain, - options - }, - beginCreateOrUpdateOperationSpec, - options + options?: DomainsRenewOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, domainName, options }, + renewOperationSpec ); } /** - * Description for Get all domains in a subscription. - * @summary Get all domains in a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listNext( + nextLink: string, + options?: DomainsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for Get domain name recommendations based on keywords. - * @summary Get domain name recommendations based on keywords. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendationsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listRecommendationsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListRecommendationsNext + * @param parameters Search parameters for domain name recommendations. + * @param nextLink The nextLink from the previous successful call to the ListRecommendations method. + * @param options The options parameters. */ - listRecommendationsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listRecommendationsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listRecommendationsNext( + parameters: DomainRecommendationSearchParameters, + nextLink: string, + options?: DomainsListRecommendationsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listRecommendationsNextOperationSpec, - callback - ) as Promise; + { parameters, nextLink, options }, + listRecommendationsNextOperationSpec + ); } /** - * Description for Get all domains in a resource group. - * @summary Get all domains in a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listByResourceGroupNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: DomainsListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } /** - * Description for Lists domain ownership identifiers. - * @summary Lists domain ownership identifiers. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listOwnershipIdentifiersNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listOwnershipIdentifiersNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListOwnershipIdentifiersNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of domain. + * @param nextLink The nextLink from the previous successful call to the ListOwnershipIdentifiers + * method. + * @param options The options parameters. */ - listOwnershipIdentifiersNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listOwnershipIdentifiersNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listOwnershipIdentifiersNext( + resourceGroupName: string, + domainName: string, + nextLink: string, + options?: DomainsListOwnershipIdentifiersNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listOwnershipIdentifiersNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, domainName, nextLink, options }, + listOwnershipIdentifiersNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const checkAvailabilityOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const checkAvailabilityOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: { - name: ["options", "name"] - }, - mapper: { - ...Mappers.NameIdentifier, - required: true - } - }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.DomainAvailabilityCheckResult @@ -1004,15 +713,17 @@ const checkAvailabilityOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.identifier, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listOperationSpec: msRest.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.DomainCollection @@ -1021,15 +732,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const getControlCenterSsoRequestOperationSpec: msRest.OperationSpec = { +const getControlCenterSsoRequestOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.DomainControlCenterSsoRequest @@ -1038,23 +749,15 @@ const getControlCenterSsoRequestOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendationsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listRecommendationsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DomainRecommendationSearchParameters, - required: true - } - }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.NameIdentifierCollection @@ -1063,16 +766,17 @@ const listRecommendationsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DomainCollection @@ -1081,34 +785,74 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", - urlParameters: [Parameters.resourceGroupName, Parameters.domainName0, Parameters.subscriptionId], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Domain + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.domainName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Domain }, + 201: { + bodyMapper: Mappers.Domain + }, + 202: { + bodyMapper: Mappers.Domain + }, + 204: { + bodyMapper: Mappers.Domain + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.domain, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.domainName1 + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const deleteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", - urlParameters: [Parameters.resourceGroupName, Parameters.domainName0, Parameters.subscriptionId], - queryParameters: [Parameters.forceHardDeleteDomain, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -1116,23 +860,20 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.forceHardDeleteDomain], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.domainName + ], + headerParameters: [Parameters.accept], serializer }; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const updateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", - urlParameters: [Parameters.resourceGroupName, Parameters.domainName1, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "domain", - mapper: { - ...Mappers.DomainPatchResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.Domain @@ -1144,16 +885,22 @@ const updateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.domain1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.domainName1 + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listOwnershipIdentifiersOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listOwnershipIdentifiersOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers", - urlParameters: [Parameters.resourceGroupName, Parameters.domainName0, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DomainOwnershipIdentifierCollection @@ -1162,21 +909,20 @@ const listOwnershipIdentifiersOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getOwnershipIdentifierOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.domainName0, - Parameters.name, - Parameters.subscriptionId + Parameters.domainName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getOwnershipIdentifierOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DomainOwnershipIdentifier @@ -1185,28 +931,21 @@ const getOwnershipIdentifierOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateOwnershipIdentifierOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.domainName0, Parameters.name, - Parameters.subscriptionId + Parameters.domainName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "domainOwnershipIdentifier", - mapper: { - ...Mappers.DomainOwnershipIdentifier, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOwnershipIdentifierOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.DomainOwnershipIdentifier @@ -1215,21 +954,23 @@ const createOrUpdateOwnershipIdentifierOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteOwnershipIdentifierOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", + requestBody: Parameters.domainOwnershipIdentifier, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.domainName0, Parameters.name, - Parameters.subscriptionId + Parameters.domainName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOwnershipIdentifierOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -1237,28 +978,21 @@ const deleteOwnershipIdentifierOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateOwnershipIdentifierOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.domainName0, Parameters.name, - Parameters.subscriptionId + Parameters.domainName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "domainOwnershipIdentifier", - mapper: { - ...Mappers.DomainOwnershipIdentifier, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateOwnershipIdentifierOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.DomainOwnershipIdentifier @@ -1267,16 +1001,23 @@ const updateOwnershipIdentifierOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.domainOwnershipIdentifier, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.domainName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const renewOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const renewOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew", - urlParameters: [Parameters.resourceGroupName, Parameters.domainName0, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew", + httpMethod: "POST", responses: { 200: {}, 202: {}, @@ -1285,44 +1026,19 @@ const renewOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", - urlParameters: [Parameters.resourceGroupName, Parameters.domainName1, Parameters.subscriptionId], queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "domain", - mapper: { - ...Mappers.Domain, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.Domain - }, - 202: { - bodyMapper: Mappers.Domain - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.domainName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DomainCollection @@ -1331,16 +1047,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendationsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listRecommendationsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NameIdentifierCollection @@ -1349,16 +1067,19 @@ const listRecommendationsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DomainCollection @@ -1367,16 +1088,19 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listOwnershipIdentifiersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listOwnershipIdentifiersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DomainOwnershipIdentifierCollection @@ -1385,5 +1109,14 @@ const listOwnershipIdentifiersNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.domainName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/global.ts b/sdk/appservice/arm-appservice/src/operations/global.ts index 138ec33c71ae..21f7bd22218e 100644 --- a/sdk/appservice/arm-appservice/src/operations/global.ts +++ b/sdk/appservice/arm-appservice/src/operations/global.ts @@ -3,23 +3,29 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/globalMappers"; +import { Global } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + GlobalGetDeletedWebAppOptionalParams, + GlobalGetDeletedWebAppResponse, + GlobalGetDeletedWebAppSnapshotsOptionalParams, + GlobalGetDeletedWebAppSnapshotsResponse, + GlobalGetSubscriptionOperationWithAsyncResponseOptionalParams +} from "../models"; /** Class representing a Global. */ -export class Global { +export class GlobalImpl implements Global { private readonly client: WebSiteManagementClientContext; /** - * Create a Global. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Global class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,153 +33,58 @@ export class Global { /** * Description for Get deleted app for a subscription. - * @summary Get deleted app for a subscription. * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ getDeletedWebApp( deletedSiteId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param callback The callback - */ - getDeletedWebApp( - deletedSiteId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param options The optional parameters - * @param callback The callback - */ - getDeletedWebApp( - deletedSiteId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDeletedWebApp( - deletedSiteId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: GlobalGetDeletedWebAppOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - deletedSiteId, - options - }, - getDeletedWebAppOperationSpec, - callback - ) as Promise; + { deletedSiteId, options }, + getDeletedWebAppOperationSpec + ); } /** * Description for Get all deleted apps for a subscription. - * @summary Get all deleted apps for a subscription. * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ getDeletedWebAppSnapshots( deletedSiteId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param callback The callback - */ - getDeletedWebAppSnapshots( - deletedSiteId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 - * @param options The optional parameters - * @param callback The callback - */ - getDeletedWebAppSnapshots( - deletedSiteId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDeletedWebAppSnapshots( - deletedSiteId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: GlobalGetDeletedWebAppSnapshotsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - deletedSiteId, - options - }, - getDeletedWebAppSnapshotsOperationSpec, - callback - ) as Promise; + { deletedSiteId, options }, + getDeletedWebAppSnapshotsOperationSpec + ); } /** * Description for Gets an operation in a subscription and given region - * @summary Gets an operation in a subscription and given region - * @param location Location name - * @param operationId Operation Id - * @param [options] The optional parameters - * @returns Promise - */ - getSubscriptionOperationWithAsyncResponse( - location: string, - operationId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param location Location name * @param operationId Operation Id - * @param callback The callback + * @param options The options parameters. */ getSubscriptionOperationWithAsyncResponse( location: string, operationId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param location Location name - * @param operationId Operation Id - * @param options The optional parameters - * @param callback The callback - */ - getSubscriptionOperationWithAsyncResponse( - location: string, - operationId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSubscriptionOperationWithAsyncResponse( - location: string, - operationId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: GlobalGetSubscriptionOperationWithAsyncResponseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - location, - operationId, - options - }, - getSubscriptionOperationWithAsyncResponseOperationSpec, - callback + { location, operationId, options }, + getSubscriptionOperationWithAsyncResponseOperationSpec ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getDeletedWebAppOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getDeletedWebAppOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites/{deletedSiteId}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites/{deletedSiteId}", - urlParameters: [Parameters.deletedSiteId, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.DeletedSite @@ -182,28 +93,25 @@ const getDeletedWebAppOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.deletedSiteId + ], + headerParameters: [Parameters.accept], serializer }; - -const getDeletedWebAppSnapshotsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getDeletedWebAppSnapshotsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites/{deletedSiteId}/snapshots", - urlParameters: [Parameters.deletedSiteId, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites/{deletedSiteId}/snapshots", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", - element: { - type: { - name: "Composite", - className: "Snapshot" - } - } + element: { type: { name: "Composite", className: "Snapshot" } } } } }, @@ -211,21 +119,32 @@ const getDeletedWebAppSnapshotsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.deletedSiteId + ], + headerParameters: [Parameters.accept], serializer }; - -const getSubscriptionOperationWithAsyncResponseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getSubscriptionOperationWithAsyncResponseOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/operations/{operationId}", - urlParameters: [Parameters.location, Parameters.operationId, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/operations/{operationId}", + httpMethod: "GET", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location, + Parameters.operationId + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/index.ts b/sdk/appservice/arm-appservice/src/operations/index.ts index 00f82c04f262..9898e6bd474c 100644 --- a/sdk/appservice/arm-appservice/src/operations/index.ts +++ b/sdk/appservice/arm-appservice/src/operations/index.ts @@ -3,8 +3,7 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export * from "./appServiceCertificateOrders"; @@ -13,14 +12,15 @@ export * from "./certificateRegistrationProvider"; export * from "./domains"; export * from "./topLevelDomains"; export * from "./domainRegistrationProvider"; +export * from "./appServiceEnvironments"; +export * from "./appServicePlans"; export * from "./certificates"; export * from "./deletedWebApps"; export * from "./diagnostics"; export * from "./global"; +export * from "./kubeEnvironments"; export * from "./provider"; export * from "./recommendations"; -export * from "./webApps"; -export * from "./staticSites"; -export * from "./appServiceEnvironments"; -export * from "./appServicePlans"; export * from "./resourceHealthMetadataOperations"; +export * from "./staticSites"; +export * from "./webApps"; diff --git a/sdk/appservice/arm-appservice/src/operations/kubeEnvironments.ts b/sdk/appservice/arm-appservice/src/operations/kubeEnvironments.ts new file mode 100644 index 000000000000..6505dddef474 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operations/kubeEnvironments.ts @@ -0,0 +1,594 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { KubeEnvironments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + KubeEnvironment, + KubeEnvironmentsListBySubscriptionNextOptionalParams, + KubeEnvironmentsListBySubscriptionOptionalParams, + KubeEnvironmentsListByResourceGroupNextOptionalParams, + KubeEnvironmentsListByResourceGroupOptionalParams, + KubeEnvironmentsListBySubscriptionResponse, + KubeEnvironmentsListByResourceGroupResponse, + KubeEnvironmentsGetOptionalParams, + KubeEnvironmentsGetResponse, + KubeEnvironmentsCreateOrUpdateOptionalParams, + KubeEnvironmentsCreateOrUpdateResponse, + KubeEnvironmentsDeleteOptionalParams, + KubeEnvironmentPatchResource, + KubeEnvironmentsUpdateOptionalParams, + KubeEnvironmentsUpdateResponse, + KubeEnvironmentsListBySubscriptionNextResponse, + KubeEnvironmentsListByResourceGroupNextResponse +} from "../models"; + +/// +/** Class representing a KubeEnvironments. */ +export class KubeEnvironmentsImpl implements KubeEnvironments { + private readonly client: WebSiteManagementClientContext; + + /** + * Initialize a new instance of the class KubeEnvironments class. + * @param client Reference to the service client + */ + constructor(client: WebSiteManagementClientContext) { + this.client = client; + } + + /** + * Description for Get all Kubernetes Environments for a subscription. + * @param options The options parameters. + */ + public listBySubscription( + options?: KubeEnvironmentsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySubscriptionPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySubscriptionPagingPage(options); + } + }; + } + + private async *listBySubscriptionPagingPage( + options?: KubeEnvironmentsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySubscription(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySubscriptionNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySubscriptionPagingAll( + options?: KubeEnvironmentsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySubscriptionPagingPage(options)) { + yield* page; + } + } + + /** + * Description for Get all the Kubernetes Environments in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: KubeEnvironmentsListByResourceGroupOptionalParams + ): 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?: KubeEnvironmentsListByResourceGroupOptionalParams + ): 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?: KubeEnvironmentsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * Description for Get all Kubernetes Environments for a subscription. + * @param options The options parameters. + */ + private _listBySubscription( + options?: KubeEnvironmentsListBySubscriptionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listBySubscriptionOperationSpec + ); + } + + /** + * Description for Get all the Kubernetes Environments in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: KubeEnvironmentsListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * Description for Get the properties of a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + options?: KubeEnvironmentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getOperationSpec + ); + } + + /** + * Description for Creates or updates a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param kubeEnvironmentEnvelope Configuration details of the Kubernetes Environment. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + name: string, + kubeEnvironmentEnvelope: KubeEnvironment, + options?: KubeEnvironmentsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + KubeEnvironmentsCreateOrUpdateResponse + > + > { + 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, name, kubeEnvironmentEnvelope, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Creates or updates a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param kubeEnvironmentEnvelope Configuration details of the Kubernetes Environment. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + name: string, + kubeEnvironmentEnvelope: KubeEnvironment, + options?: KubeEnvironmentsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + name, + kubeEnvironmentEnvelope, + options + ); + return poller.pollUntilDone(); + } + + /** + * Description for Delete a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + name: string, + options?: KubeEnvironmentsDeleteOptionalParams + ): 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, name, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Delete a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + name: string, + options?: KubeEnvironmentsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(resourceGroupName, name, options); + return poller.pollUntilDone(); + } + + /** + * Description for Creates or updates a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param kubeEnvironmentEnvelope Configuration details of the Kubernetes Environment. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + name: string, + kubeEnvironmentEnvelope: KubeEnvironmentPatchResource, + options?: KubeEnvironmentsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, kubeEnvironmentEnvelope, options }, + updateOperationSpec + ); + } + + /** + * ListBySubscriptionNext + * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. + * @param options The options parameters. + */ + private _listBySubscriptionNext( + nextLink: string, + options?: KubeEnvironmentsListBySubscriptionNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listBySubscriptionNextOperationSpec + ); + } + + /** + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @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?: KubeEnvironmentsListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listBySubscriptionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/kubeEnvironments", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KubeEnvironmentCollection + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KubeEnvironmentCollection + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KubeEnvironment + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.KubeEnvironment + }, + 201: { + bodyMapper: Mappers.KubeEnvironment + }, + 202: { + bodyMapper: Mappers.KubeEnvironment + }, + 204: { + bodyMapper: Mappers.KubeEnvironment + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.kubeEnvironmentEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.KubeEnvironment + }, + 201: { + bodyMapper: Mappers.KubeEnvironment + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.kubeEnvironmentEnvelope1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KubeEnvironmentCollection + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KubeEnvironmentCollection + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/appservice/arm-appservice/src/operations/provider.ts b/sdk/appservice/arm-appservice/src/operations/provider.ts index aa0175cb2c3d..8c9484e1d969 100644 --- a/sdk/appservice/arm-appservice/src/operations/provider.ts +++ b/sdk/appservice/arm-appservice/src/operations/provider.ts @@ -3,23 +3,59 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/providerMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Provider } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + ApplicationStackResource, + ProviderGetAvailableStacksNextOptionalParams, + ProviderGetAvailableStacksOptionalParams, + FunctionAppStack, + ProviderGetFunctionAppStacksNextOptionalParams, + ProviderGetFunctionAppStacksOptionalParams, + ProviderGetFunctionAppStacksForLocationNextOptionalParams, + ProviderGetFunctionAppStacksForLocationOptionalParams, + WebAppStack, + ProviderGetWebAppStacksForLocationNextOptionalParams, + ProviderGetWebAppStacksForLocationOptionalParams, + CsmOperationDescription, + ProviderListOperationsNextOptionalParams, + ProviderListOperationsOptionalParams, + ProviderGetWebAppStacksNextOptionalParams, + ProviderGetWebAppStacksOptionalParams, + ProviderGetAvailableStacksOnPremNextOptionalParams, + ProviderGetAvailableStacksOnPremOptionalParams, + ProviderGetAvailableStacksResponse, + ProviderGetFunctionAppStacksResponse, + ProviderGetFunctionAppStacksForLocationResponse, + ProviderGetWebAppStacksForLocationResponse, + ProviderListOperationsResponse, + ProviderGetWebAppStacksResponse, + ProviderGetAvailableStacksOnPremResponse, + ProviderGetAvailableStacksNextResponse, + ProviderGetFunctionAppStacksNextResponse, + ProviderGetFunctionAppStacksForLocationNextResponse, + ProviderGetWebAppStacksForLocationNextResponse, + ProviderListOperationsNextResponse, + ProviderGetWebAppStacksNextResponse, + ProviderGetAvailableStacksOnPremNextResponse +} from "../models"; +/// /** Class representing a Provider. */ -export class Provider { +export class ProviderImpl implements Provider { private readonly client: WebSiteManagementClientContext; /** - * Create a Provider. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Provider class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,608 +63,544 @@ export class Provider { /** * Description for Get available application frameworks and their versions - * @summary Get available application frameworks and their versions - * @param [options] The optional parameters - * @returns Promise - */ - getAvailableStacks( - options?: Models.ProviderGetAvailableStacksOptionalParams - ): Promise; - /** - * @param callback The callback - */ - getAvailableStacks(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - getAvailableStacks( - options: Models.ProviderGetAvailableStacksOptionalParams, - callback: msRest.ServiceCallback - ): void; - getAvailableStacks( - options?: - | Models.ProviderGetAvailableStacksOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + * @param options The options parameters. + */ + public listAvailableStacks( + options?: ProviderGetAvailableStacksOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getAvailableStacksPagingAll(options); + return { + next() { + return iter.next(); }, - getAvailableStacksOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getAvailableStacksPagingPage(options); + } + }; + } + + private async *getAvailableStacksPagingPage( + options?: ProviderGetAvailableStacksOptionalParams + ): AsyncIterableIterator { + let result = await this._getAvailableStacks(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getAvailableStacksNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getAvailableStacksPagingAll( + options?: ProviderGetAvailableStacksOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getAvailableStacksPagingPage(options)) { + yield* page; + } } /** * Description for Get available Function app frameworks and their versions - * @summary Get available Function app frameworks and their versions - * @param [options] The optional parameters - * @returns Promise - */ - getFunctionAppStacks( - options?: Models.ProviderGetFunctionAppStacksOptionalParams - ): Promise; - /** - * @param callback The callback - */ - getFunctionAppStacks(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - getFunctionAppStacks( - options: Models.ProviderGetFunctionAppStacksOptionalParams, - callback: msRest.ServiceCallback - ): void; - getFunctionAppStacks( - options?: - | Models.ProviderGetFunctionAppStacksOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + * @param options The options parameters. + */ + public listFunctionAppStacks( + options?: ProviderGetFunctionAppStacksOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getFunctionAppStacksPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - getFunctionAppStacksOperationSpec, - callback - ) as Promise; + byPage: () => { + return this.getFunctionAppStacksPagingPage(options); + } + }; + } + + private async *getFunctionAppStacksPagingPage( + options?: ProviderGetFunctionAppStacksOptionalParams + ): AsyncIterableIterator { + let result = await this._getFunctionAppStacks(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getFunctionAppStacksNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getFunctionAppStacksPagingAll( + options?: ProviderGetFunctionAppStacksOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getFunctionAppStacksPagingPage(options)) { + yield* page; + } } /** * Description for Get available Function app frameworks and their versions for location - * @summary Get available Function app frameworks and their versions for location * @param location Function App stack location. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getFunctionAppStacksForLocation( + public listFunctionAppStacksForLocation( location: string, - options?: Models.ProviderGetFunctionAppStacksForLocationOptionalParams - ): Promise; - /** - * @param location Function App stack location. - * @param callback The callback - */ - getFunctionAppStacksForLocation( - location: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param location Function App stack location. - * @param options The optional parameters - * @param callback The callback - */ - getFunctionAppStacksForLocation( - location: string, - options: Models.ProviderGetFunctionAppStacksForLocationOptionalParams, - callback: msRest.ServiceCallback - ): void; - getFunctionAppStacksForLocation( + options?: ProviderGetFunctionAppStacksForLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getFunctionAppStacksForLocationPagingAll( + location, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getFunctionAppStacksForLocationPagingPage( + location, + options + ); + } + }; + } + + private async *getFunctionAppStacksForLocationPagingPage( location: string, - options?: - | Models.ProviderGetFunctionAppStacksForLocationOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: ProviderGetFunctionAppStacksForLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._getFunctionAppStacksForLocation(location, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getFunctionAppStacksForLocationNext( location, + continuationToken, options - }, - getFunctionAppStacksForLocationOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get available Web app frameworks and their versions for location - * @summary Get available Web app frameworks and their versions for location - * @param location Web App stack location. - * @param [options] The optional parameters - * @returns Promise - */ - getWebAppStacksForLocation( - location: string, - options?: Models.ProviderGetWebAppStacksForLocationOptionalParams - ): Promise; - /** - * @param location Web App stack location. - * @param callback The callback - */ - getWebAppStacksForLocation( + private async *getFunctionAppStacksForLocationPagingAll( location: string, - callback: msRest.ServiceCallback - ): void; + options?: ProviderGetFunctionAppStacksForLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getFunctionAppStacksForLocationPagingPage( + location, + options + )) { + yield* page; + } + } + /** + * Description for Get available Web app frameworks and their versions for location * @param location Web App stack location. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getWebAppStacksForLocation( + public listWebAppStacksForLocation( location: string, - options: Models.ProviderGetWebAppStacksForLocationOptionalParams, - callback: msRest.ServiceCallback - ): void; - getWebAppStacksForLocation( + options?: ProviderGetWebAppStacksForLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getWebAppStacksForLocationPagingAll(location, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getWebAppStacksForLocationPagingPage(location, options); + } + }; + } + + private async *getWebAppStacksForLocationPagingPage( location: string, - options?: - | Models.ProviderGetWebAppStacksForLocationOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: ProviderGetWebAppStacksForLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._getWebAppStacksForLocation(location, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getWebAppStacksForLocationNext( location, + continuationToken, options - }, - getWebAppStacksForLocationOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getWebAppStacksForLocationPagingAll( + location: string, + options?: ProviderGetWebAppStacksForLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getWebAppStacksForLocationPagingPage( + location, + options + )) { + yield* page; + } } /** - * Description for Gets all available operations for the Microsoft.Web resource provider. Also - * exposes resource metric definitions - * @summary Gets all available operations for the Microsoft.Web resource provider. Also exposes + * Description for Gets all available operations for the Microsoft.Web resource provider. Also exposes * resource metric definitions - * @param [options] The optional parameters - * @returns Promise - */ - listOperations( - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param callback The callback - */ - listOperations(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listOperations( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listOperations( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + * @param options The options parameters. + */ + public listOperations( + options?: ProviderListOperationsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listOperationsPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationsOperationSpec, - callback - ) as Promise; + byPage: () => { + return this.listOperationsPagingPage(options); + } + }; + } + + private async *listOperationsPagingPage( + options?: ProviderListOperationsOptionalParams + ): AsyncIterableIterator { + let result = await this._listOperations(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listOperationsNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listOperationsPagingAll( + options?: ProviderListOperationsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listOperationsPagingPage(options)) { + yield* page; + } } /** * Description for Get available Web app frameworks and their versions - * @summary Get available Web app frameworks and their versions - * @param [options] The optional parameters - * @returns Promise - */ - getWebAppStacks( - options?: Models.ProviderGetWebAppStacksOptionalParams - ): Promise; - /** - * @param callback The callback - */ - getWebAppStacks(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - getWebAppStacks( - options: Models.ProviderGetWebAppStacksOptionalParams, - callback: msRest.ServiceCallback - ): void; - getWebAppStacks( - options?: - | Models.ProviderGetWebAppStacksOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + * @param options The options parameters. + */ + public listWebAppStacks( + options?: ProviderGetWebAppStacksOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getWebAppStacksPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - getWebAppStacksOperationSpec, - callback - ) as Promise; + byPage: () => { + return this.getWebAppStacksPagingPage(options); + } + }; + } + + private async *getWebAppStacksPagingPage( + options?: ProviderGetWebAppStacksOptionalParams + ): AsyncIterableIterator { + let result = await this._getWebAppStacks(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getWebAppStacksNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getWebAppStacksPagingAll( + options?: ProviderGetWebAppStacksOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getWebAppStacksPagingPage(options)) { + yield* page; + } } /** * Description for Get available application frameworks and their versions - * @summary Get available application frameworks and their versions - * @param [options] The optional parameters - * @returns Promise - */ - getAvailableStacksOnPrem( - options?: Models.ProviderGetAvailableStacksOnPremOptionalParams - ): Promise; - /** - * @param callback The callback - */ - getAvailableStacksOnPrem( - callback: msRest.ServiceCallback - ): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - getAvailableStacksOnPrem( - options: Models.ProviderGetAvailableStacksOnPremOptionalParams, - callback: msRest.ServiceCallback - ): void; - getAvailableStacksOnPrem( - options?: - | Models.ProviderGetAvailableStacksOnPremOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + * @param options The options parameters. + */ + public listAvailableStacksOnPrem( + options?: ProviderGetAvailableStacksOnPremOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getAvailableStacksOnPremPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - getAvailableStacksOnPremOperationSpec, - callback - ) as Promise; + byPage: () => { + return this.getAvailableStacksOnPremPagingPage(options); + } + }; + } + + private async *getAvailableStacksOnPremPagingPage( + options?: ProviderGetAvailableStacksOnPremOptionalParams + ): AsyncIterableIterator { + let result = await this._getAvailableStacksOnPrem(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getAvailableStacksOnPremNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getAvailableStacksOnPremPagingAll( + options?: ProviderGetAvailableStacksOnPremOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getAvailableStacksOnPremPagingPage(options)) { + yield* page; + } } /** * Description for Get available application frameworks and their versions - * @summary Get available application frameworks and their versions - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getAvailableStacksNext( - nextPageLink: string, - options?: Models.ProviderGetAvailableStacksNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getAvailableStacksNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - getAvailableStacksNext( - nextPageLink: string, - options: Models.ProviderGetAvailableStacksNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - getAvailableStacksNext( - nextPageLink: string, - options?: - | Models.ProviderGetAvailableStacksNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getAvailableStacks( + options?: ProviderGetAvailableStacksOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getAvailableStacksNextOperationSpec, - callback - ) as Promise; + { options }, + getAvailableStacksOperationSpec + ); } /** * Description for Get available Function app frameworks and their versions - * @summary Get available Function app frameworks and their versions - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getFunctionAppStacksNext( - nextPageLink: string, - options?: Models.ProviderGetFunctionAppStacksNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getFunctionAppStacksNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getFunctionAppStacksNext( - nextPageLink: string, - options: Models.ProviderGetFunctionAppStacksNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - getFunctionAppStacksNext( - nextPageLink: string, - options?: - | Models.ProviderGetFunctionAppStacksNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getFunctionAppStacks( + options?: ProviderGetFunctionAppStacksOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getFunctionAppStacksNextOperationSpec, - callback - ) as Promise; + { options }, + getFunctionAppStacksOperationSpec + ); } /** * Description for Get available Function app frameworks and their versions for location - * @summary Get available Function app frameworks and their versions for location - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getFunctionAppStacksForLocationNext( - nextPageLink: string, - options?: Models.ProviderGetFunctionAppStacksForLocationNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getFunctionAppStacksForLocationNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * @param location Function App stack location. + * @param options The options parameters. */ - getFunctionAppStacksForLocationNext( - nextPageLink: string, - options: Models.ProviderGetFunctionAppStacksForLocationNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - getFunctionAppStacksForLocationNext( - nextPageLink: string, - options?: - | Models.ProviderGetFunctionAppStacksForLocationNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getFunctionAppStacksForLocation( + location: string, + options?: ProviderGetFunctionAppStacksForLocationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getFunctionAppStacksForLocationNextOperationSpec, - callback - ) as Promise; + { location, options }, + getFunctionAppStacksForLocationOperationSpec + ); } /** * Description for Get available Web app frameworks and their versions for location - * @summary Get available Web app frameworks and their versions for location - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getWebAppStacksForLocationNext( - nextPageLink: string, - options?: Models.ProviderGetWebAppStacksForLocationNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param location Web App stack location. + * @param options The options parameters. */ - getWebAppStacksForLocationNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; + private _getWebAppStacksForLocation( + location: string, + options?: ProviderGetWebAppStacksForLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, options }, + getWebAppStacksForLocationOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Description for Gets all available operations for the Microsoft.Web resource provider. Also exposes + * resource metric definitions + * @param options The options parameters. */ - getWebAppStacksForLocationNext( - nextPageLink: string, - options: Models.ProviderGetWebAppStacksForLocationNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - getWebAppStacksForLocationNext( - nextPageLink: string, - options?: - | Models.ProviderGetWebAppStacksForLocationNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listOperations( + options?: ProviderListOperationsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getWebAppStacksForLocationNextOperationSpec, - callback - ) as Promise; + { options }, + listOperationsOperationSpec + ); } /** - * Description for Gets all available operations for the Microsoft.Web resource provider. Also - * exposes resource metric definitions - * @summary Gets all available operations for the Microsoft.Web resource provider. Also exposes - * resource metric definitions - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Description for Get available Web app frameworks and their versions + * @param options The options parameters. */ - listOperationsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; + private _getWebAppStacks( + options?: ProviderGetWebAppStacksOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + getWebAppStacksOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Description for Get available application frameworks and their versions + * @param options The options parameters. */ - listOperationsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; + private _getAvailableStacksOnPrem( + options?: ProviderGetAvailableStacksOnPremOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + getAvailableStacksOnPremOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetAvailableStacksNext + * @param nextLink The nextLink from the previous successful call to the GetAvailableStacks method. + * @param options The options parameters. */ - listOperationsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listOperationsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getAvailableStacksNext( + nextLink: string, + options?: ProviderGetAvailableStacksNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listOperationsNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + getAvailableStacksNextOperationSpec + ); } /** - * Description for Get available Web app frameworks and their versions - * @summary Get available Web app frameworks and their versions - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * GetFunctionAppStacksNext + * @param nextLink The nextLink from the previous successful call to the GetFunctionAppStacks method. + * @param options The options parameters. */ - getWebAppStacksNext( - nextPageLink: string, - options?: Models.ProviderGetWebAppStacksNextOptionalParams - ): Promise; + private _getFunctionAppStacksNext( + nextLink: string, + options?: ProviderGetFunctionAppStacksNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + getFunctionAppStacksNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * GetFunctionAppStacksForLocationNext + * @param location Function App stack location. + * @param nextLink The nextLink from the previous successful call to the + * GetFunctionAppStacksForLocation method. + * @param options The options parameters. */ - getWebAppStacksNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; + private _getFunctionAppStacksForLocationNext( + location: string, + nextLink: string, + options?: ProviderGetFunctionAppStacksForLocationNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, nextLink, options }, + getFunctionAppStacksForLocationNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetWebAppStacksForLocationNext + * @param location Web App stack location. + * @param nextLink The nextLink from the previous successful call to the GetWebAppStacksForLocation + * method. + * @param options The options parameters. */ - getWebAppStacksNext( - nextPageLink: string, - options: Models.ProviderGetWebAppStacksNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - getWebAppStacksNext( - nextPageLink: string, - options?: - | Models.ProviderGetWebAppStacksNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getWebAppStacksForLocationNext( + location: string, + nextLink: string, + options?: ProviderGetWebAppStacksForLocationNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getWebAppStacksNextOperationSpec, - callback - ) as Promise; + { location, nextLink, options }, + getWebAppStacksForLocationNextOperationSpec + ); } /** - * Description for Get available application frameworks and their versions - * @summary Get available application frameworks and their versions - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListOperationsNext + * @param nextLink The nextLink from the previous successful call to the ListOperations method. + * @param options The options parameters. */ - getAvailableStacksOnPremNext( - nextPageLink: string, - options?: Models.ProviderGetAvailableStacksOnPremNextOptionalParams - ): Promise; + private _listOperationsNext( + nextLink: string, + options?: ProviderListOperationsNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listOperationsNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * GetWebAppStacksNext + * @param nextLink The nextLink from the previous successful call to the GetWebAppStacks method. + * @param options The options parameters. */ - getAvailableStacksOnPremNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; + private _getWebAppStacksNext( + nextLink: string, + options?: ProviderGetWebAppStacksNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + getWebAppStacksNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetAvailableStacksOnPremNext + * @param nextLink The nextLink from the previous successful call to the GetAvailableStacksOnPrem + * method. + * @param options The options parameters. */ - getAvailableStacksOnPremNext( - nextPageLink: string, - options: Models.ProviderGetAvailableStacksOnPremNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - getAvailableStacksOnPremNext( - nextPageLink: string, - options?: - | Models.ProviderGetAvailableStacksOnPremNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getAvailableStacksOnPremNext( + nextLink: string, + options?: ProviderGetAvailableStacksOnPremNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getAvailableStacksOnPremNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + getAvailableStacksOnPremNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getAvailableStacksOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getAvailableStacksOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/availableStacks", httpMethod: "GET", - path: "providers/Microsoft.Web/availableStacks", - queryParameters: [Parameters.osTypeSelected, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.ApplicationStackCollection @@ -637,14 +609,14 @@ const getAvailableStacksOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.osTypeSelected], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const getFunctionAppStacksOperationSpec: msRest.OperationSpec = { +const getFunctionAppStacksOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/functionAppStacks", httpMethod: "GET", - path: "providers/Microsoft.Web/functionAppStacks", - queryParameters: [Parameters.stackOsType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.FunctionAppStackCollection @@ -653,15 +625,14 @@ const getFunctionAppStacksOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.stackOsType], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const getFunctionAppStacksForLocationOperationSpec: msRest.OperationSpec = { +const getFunctionAppStacksForLocationOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/locations/{location}/functionAppStacks", httpMethod: "GET", - path: "providers/Microsoft.Web/locations/{location}/functionAppStacks", - urlParameters: [Parameters.location], - queryParameters: [Parameters.stackOsType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.FunctionAppStackCollection @@ -670,15 +641,14 @@ const getFunctionAppStacksForLocationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.stackOsType1], + urlParameters: [Parameters.$host, Parameters.location], + headerParameters: [Parameters.accept], serializer }; - -const getWebAppStacksForLocationOperationSpec: msRest.OperationSpec = { +const getWebAppStacksForLocationOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/locations/{location}/webAppStacks", httpMethod: "GET", - path: "providers/Microsoft.Web/locations/{location}/webAppStacks", - urlParameters: [Parameters.location], - queryParameters: [Parameters.stackOsType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.WebAppStackCollection @@ -687,14 +657,14 @@ const getWebAppStacksForLocationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.stackOsType2], + urlParameters: [Parameters.$host, Parameters.location], + headerParameters: [Parameters.accept], serializer }; - -const listOperationsOperationSpec: msRest.OperationSpec = { +const listOperationsOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/operations", httpMethod: "GET", - path: "providers/Microsoft.Web/operations", - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.CsmOperationCollection @@ -703,14 +673,14 @@ const listOperationsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const getWebAppStacksOperationSpec: msRest.OperationSpec = { +const getWebAppStacksOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/webAppStacks", httpMethod: "GET", - path: "providers/Microsoft.Web/webAppStacks", - queryParameters: [Parameters.stackOsType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.WebAppStackCollection @@ -719,15 +689,15 @@ const getWebAppStacksOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.stackOsType3], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const getAvailableStacksOnPremOperationSpec: msRest.OperationSpec = { +const getAvailableStacksOnPremOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.osTypeSelected, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.ApplicationStackCollection @@ -736,16 +706,14 @@ const getAvailableStacksOnPremOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.osTypeSelected1], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const getAvailableStacksNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getAvailableStacksNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.osTypeSelected, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ApplicationStackCollection @@ -754,16 +722,14 @@ const getAvailableStacksNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.osTypeSelected], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; - -const getFunctionAppStacksNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getFunctionAppStacksNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.stackOsType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.FunctionAppStackCollection @@ -772,16 +738,14 @@ const getFunctionAppStacksNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.stackOsType], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; - -const getFunctionAppStacksForLocationNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getFunctionAppStacksForLocationNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.stackOsType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.FunctionAppStackCollection @@ -790,16 +754,14 @@ const getFunctionAppStacksForLocationNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.stackOsType1], + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.location], + headerParameters: [Parameters.accept], serializer }; - -const getWebAppStacksForLocationNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getWebAppStacksForLocationNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.stackOsType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppStackCollection @@ -808,16 +770,14 @@ const getWebAppStacksForLocationNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.stackOsType2], + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.location], + headerParameters: [Parameters.accept], serializer }; - -const listOperationsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listOperationsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmOperationCollection @@ -826,16 +786,14 @@ const listOperationsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; - -const getWebAppStacksNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getWebAppStacksNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.stackOsType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppStackCollection @@ -844,16 +802,14 @@ const getWebAppStacksNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.stackOsType3], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; - -const getAvailableStacksOnPremNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getAvailableStacksOnPremNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.osTypeSelected, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ApplicationStackCollection @@ -862,5 +818,12 @@ const getAvailableStacksOnPremNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.osTypeSelected1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/recommendations.ts b/sdk/appservice/arm-appservice/src/operations/recommendations.ts index 48957f54ada9..97237f4021b8 100644 --- a/sdk/appservice/arm-appservice/src/operations/recommendations.ts +++ b/sdk/appservice/arm-appservice/src/operations/recommendations.ts @@ -3,23 +3,60 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/recommendationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Recommendations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + Recommendation, + RecommendationsListNextOptionalParams, + RecommendationsListOptionalParams, + RecommendationsListHistoryForHostingEnvironmentNextOptionalParams, + RecommendationsListHistoryForHostingEnvironmentOptionalParams, + RecommendationsListRecommendedRulesForHostingEnvironmentNextOptionalParams, + RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams, + RecommendationsListHistoryForWebAppNextOptionalParams, + RecommendationsListHistoryForWebAppOptionalParams, + RecommendationsListRecommendedRulesForWebAppNextOptionalParams, + RecommendationsListRecommendedRulesForWebAppOptionalParams, + RecommendationsListResponse, + RecommendationsResetAllFiltersOptionalParams, + RecommendationsDisableRecommendationForSubscriptionOptionalParams, + RecommendationsListHistoryForHostingEnvironmentResponse, + RecommendationsListRecommendedRulesForHostingEnvironmentResponse, + RecommendationsDisableAllForHostingEnvironmentOptionalParams, + RecommendationsResetAllFiltersForHostingEnvironmentOptionalParams, + RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams, + RecommendationsGetRuleDetailsByHostingEnvironmentResponse, + RecommendationsDisableRecommendationForHostingEnvironmentOptionalParams, + RecommendationsListHistoryForWebAppResponse, + RecommendationsListRecommendedRulesForWebAppResponse, + RecommendationsDisableAllForWebAppOptionalParams, + RecommendationsResetAllFiltersForWebAppOptionalParams, + RecommendationsGetRuleDetailsByWebAppOptionalParams, + RecommendationsGetRuleDetailsByWebAppResponse, + RecommendationsDisableRecommendationForSiteOptionalParams, + RecommendationsListNextResponse, + RecommendationsListHistoryForHostingEnvironmentNextResponse, + RecommendationsListRecommendedRulesForHostingEnvironmentNextResponse, + RecommendationsListHistoryForWebAppNextResponse, + RecommendationsListRecommendedRulesForWebAppNextResponse +} from "../models"; +/// /** Class representing a Recommendations. */ -export class Recommendations { +export class RecommendationsImpl implements Recommendations { private readonly client: WebSiteManagementClientContext; /** - * Create a Recommendations. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Recommendations class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,456 +64,474 @@ export class Recommendations { /** * Description for List all recommendations for a subscription. - * @summary List all recommendations for a subscription. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list( - options?: Models.RecommendationsListOptionalParams - ): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list( - options: Models.RecommendationsListOptionalParams, - callback: msRest.ServiceCallback - ): void; - list( - options?: - | Models.RecommendationsListOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: RecommendationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; } - /** - * Description for Reset all recommendation opt-out settings for a subscription. - * @summary Reset all recommendation opt-out settings for a subscription. - * @param [options] The optional parameters - * @returns Promise - */ - resetAllFilters(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - resetAllFilters(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - resetAllFilters(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - resetAllFilters( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options - }, - resetAllFiltersOperationSpec, - callback - ); + private async *listPagingPage( + options?: RecommendationsListOptionalParams + ): 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 || []; + } } - /** - * Description for Disables the specified rule so it will not apply to a subscription in the - * future. - * @summary Disables the specified rule so it will not apply to a subscription in the future. - * @param name Rule name - * @param [options] The optional parameters - * @returns Promise - */ - disableRecommendationForSubscription( - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param name Rule name - * @param callback The callback - */ - disableRecommendationForSubscription(name: string, callback: msRest.ServiceCallback): void; - /** - * @param name Rule name - * @param options The optional parameters - * @param callback The callback - */ - disableRecommendationForSubscription( - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - disableRecommendationForSubscription( - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - name, - options - }, - disableRecommendationForSubscriptionOperationSpec, - callback - ); + private async *listPagingAll( + options?: RecommendationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Description for Get past recommendations for an app, optionally specified by the time range. - * @summary Get past recommendations for an app, optionally specified by the time range. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param hostingEnvironmentName Name of the hosting environment. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listHistoryForHostingEnvironment( + public listHistoryForHostingEnvironment( resourceGroupName: string, hostingEnvironmentName: string, - options?: Models.RecommendationsListHistoryForHostingEnvironmentOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param hostingEnvironmentName Name of the hosting environment. - * @param callback The callback - */ - listHistoryForHostingEnvironment( + options?: RecommendationsListHistoryForHostingEnvironmentOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listHistoryForHostingEnvironmentPagingAll( + resourceGroupName, + hostingEnvironmentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listHistoryForHostingEnvironmentPagingPage( + resourceGroupName, + hostingEnvironmentName, + options + ); + } + }; + } + + private async *listHistoryForHostingEnvironmentPagingPage( resourceGroupName: string, hostingEnvironmentName: string, - callback: msRest.ServiceCallback - ): void; + options?: RecommendationsListHistoryForHostingEnvironmentOptionalParams + ): AsyncIterableIterator { + let result = await this._listHistoryForHostingEnvironment( + resourceGroupName, + hostingEnvironmentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listHistoryForHostingEnvironmentNext( + resourceGroupName, + hostingEnvironmentName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listHistoryForHostingEnvironmentPagingAll( + resourceGroupName: string, + hostingEnvironmentName: string, + options?: RecommendationsListHistoryForHostingEnvironmentOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listHistoryForHostingEnvironmentPagingPage( + resourceGroupName, + hostingEnvironmentName, + options + )) { + yield* page; + } + } + /** + * Description for Get all recommendations for a hosting environment. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param hostingEnvironmentName Name of the hosting environment. - * @param options The optional parameters - * @param callback The callback + * @param hostingEnvironmentName Name of the app. + * @param options The options parameters. */ - listHistoryForHostingEnvironment( + public listRecommendedRulesForHostingEnvironment( resourceGroupName: string, hostingEnvironmentName: string, - options: Models.RecommendationsListHistoryForHostingEnvironmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - listHistoryForHostingEnvironment( + options?: RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listRecommendedRulesForHostingEnvironmentPagingAll( + resourceGroupName, + hostingEnvironmentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listRecommendedRulesForHostingEnvironmentPagingPage( + resourceGroupName, + hostingEnvironmentName, + options + ); + } + }; + } + + private async *listRecommendedRulesForHostingEnvironmentPagingPage( resourceGroupName: string, hostingEnvironmentName: string, - options?: - | Models.RecommendationsListHistoryForHostingEnvironmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams + ): AsyncIterableIterator { + let result = await this._listRecommendedRulesForHostingEnvironment( + resourceGroupName, + hostingEnvironmentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listRecommendedRulesForHostingEnvironmentNext( resourceGroupName, hostingEnvironmentName, + continuationToken, options - }, - listHistoryForHostingEnvironmentOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get all recommendations for a hosting environment. - * @summary Get all recommendations for a hosting environment. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param hostingEnvironmentName Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendedRulesForHostingEnvironment( + private async *listRecommendedRulesForHostingEnvironmentPagingAll( resourceGroupName: string, hostingEnvironmentName: string, - options?: Models.RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams - ): Promise; + options?: RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listRecommendedRulesForHostingEnvironmentPagingPage( + resourceGroupName, + hostingEnvironmentName, + options + )) { + yield* page; + } + } + /** + * Description for Get past recommendations for an app, optionally specified by the time range. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param hostingEnvironmentName Name of the app. - * @param callback The callback + * @param siteName Name of the app. + * @param options The options parameters. */ - listRecommendedRulesForHostingEnvironment( + public listHistoryForWebApp( resourceGroupName: string, - hostingEnvironmentName: string, - callback: msRest.ServiceCallback - ): void; + siteName: string, + options?: RecommendationsListHistoryForWebAppOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listHistoryForWebAppPagingAll( + resourceGroupName, + siteName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listHistoryForWebAppPagingPage( + resourceGroupName, + siteName, + options + ); + } + }; + } + + private async *listHistoryForWebAppPagingPage( + resourceGroupName: string, + siteName: string, + options?: RecommendationsListHistoryForWebAppOptionalParams + ): AsyncIterableIterator { + let result = await this._listHistoryForWebApp( + resourceGroupName, + siteName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listHistoryForWebAppNext( + resourceGroupName, + siteName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listHistoryForWebAppPagingAll( + resourceGroupName: string, + siteName: string, + options?: RecommendationsListHistoryForWebAppOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listHistoryForWebAppPagingPage( + resourceGroupName, + siteName, + options + )) { + yield* page; + } + } + /** + * Description for Get all recommendations for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param hostingEnvironmentName Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param siteName Name of the app. + * @param options The options parameters. */ - listRecommendedRulesForHostingEnvironment( + public listRecommendedRulesForWebApp( resourceGroupName: string, - hostingEnvironmentName: string, - options: Models.RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - listRecommendedRulesForHostingEnvironment( + siteName: string, + options?: RecommendationsListRecommendedRulesForWebAppOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listRecommendedRulesForWebAppPagingAll( + resourceGroupName, + siteName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listRecommendedRulesForWebAppPagingPage( + resourceGroupName, + siteName, + options + ); + } + }; + } + + private async *listRecommendedRulesForWebAppPagingPage( resourceGroupName: string, - hostingEnvironmentName: string, - options?: - | Models.RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + siteName: string, + options?: RecommendationsListRecommendedRulesForWebAppOptionalParams + ): AsyncIterableIterator { + let result = await this._listRecommendedRulesForWebApp( + resourceGroupName, + siteName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listRecommendedRulesForWebAppNext( resourceGroupName, - hostingEnvironmentName, + siteName, + continuationToken, options - }, - listRecommendedRulesForHostingEnvironmentOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listRecommendedRulesForWebAppPagingAll( + resourceGroupName: string, + siteName: string, + options?: RecommendationsListRecommendedRulesForWebAppOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listRecommendedRulesForWebAppPagingPage( + resourceGroupName, + siteName, + options + )) { + yield* page; + } } /** - * Description for Disable all recommendations for an app. - * @summary Disable all recommendations for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param environmentName Name of the app. - * @param hostingEnvironmentName - * @param [options] The optional parameters - * @returns Promise + * Description for List all recommendations for a subscription. + * @param options The options parameters. */ - disableAllForHostingEnvironment( - resourceGroupName: string, - environmentName: string, - hostingEnvironmentName: string, - options?: msRest.RequestOptionsBase - ): Promise; + private _list( + options?: RecommendationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param environmentName Name of the app. - * @param hostingEnvironmentName - * @param callback The callback + * Description for Reset all recommendation opt-out settings for a subscription. + * @param options The options parameters. */ - disableAllForHostingEnvironment( - resourceGroupName: string, - environmentName: string, - hostingEnvironmentName: string, - callback: msRest.ServiceCallback - ): void; + resetAllFilters( + options?: RecommendationsResetAllFiltersOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + resetAllFiltersOperationSpec + ); + } + + /** + * Description for Disables the specified rule so it will not apply to a subscription in the future. + * @param name Rule name + * @param options The options parameters. + */ + disableRecommendationForSubscription( + name: string, + options?: RecommendationsDisableRecommendationForSubscriptionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { name, options }, + disableRecommendationForSubscriptionOperationSpec + ); + } + /** + * Description for Get past recommendations for an app, optionally specified by the time range. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param environmentName Name of the app. - * @param hostingEnvironmentName - * @param options The optional parameters - * @param callback The callback + * @param hostingEnvironmentName Name of the hosting environment. + * @param options The options parameters. */ - disableAllForHostingEnvironment( + private _listHistoryForHostingEnvironment( resourceGroupName: string, - environmentName: string, hostingEnvironmentName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - disableAllForHostingEnvironment( - resourceGroupName: string, - environmentName: string, - hostingEnvironmentName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: RecommendationsListHistoryForHostingEnvironmentOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - environmentName, - hostingEnvironmentName, - options - }, - disableAllForHostingEnvironmentOperationSpec, - callback + { resourceGroupName, hostingEnvironmentName, options }, + listHistoryForHostingEnvironmentOperationSpec ); } /** - * Description for Reset all recommendation opt-out settings for an app. - * @summary Reset all recommendation opt-out settings for an app. + * Description for Get all recommendations for a hosting environment. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param environmentName Name of the app. - * @param hostingEnvironmentName - * @param [options] The optional parameters - * @returns Promise + * @param hostingEnvironmentName Name of the app. + * @param options The options parameters. */ - resetAllFiltersForHostingEnvironment( + private _listRecommendedRulesForHostingEnvironment( resourceGroupName: string, - environmentName: string, hostingEnvironmentName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostingEnvironmentName, options }, + listRecommendedRulesForHostingEnvironmentOperationSpec + ); + } + /** + * Description for Disable all recommendations for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param environmentName Name of the app. * @param hostingEnvironmentName - * @param callback The callback + * @param options The options parameters. */ - resetAllFiltersForHostingEnvironment( + disableAllForHostingEnvironment( resourceGroupName: string, environmentName: string, hostingEnvironmentName: string, - callback: msRest.ServiceCallback - ): void; + options?: RecommendationsDisableAllForHostingEnvironmentOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, environmentName, hostingEnvironmentName, options }, + disableAllForHostingEnvironmentOperationSpec + ); + } + /** + * Description for Reset all recommendation opt-out settings for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param environmentName Name of the app. * @param hostingEnvironmentName - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ resetAllFiltersForHostingEnvironment( resourceGroupName: string, environmentName: string, hostingEnvironmentName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - resetAllFiltersForHostingEnvironment( - resourceGroupName: string, - environmentName: string, - hostingEnvironmentName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: RecommendationsResetAllFiltersForHostingEnvironmentOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - environmentName, - hostingEnvironmentName, - options - }, - resetAllFiltersForHostingEnvironmentOperationSpec, - callback + { resourceGroupName, environmentName, hostingEnvironmentName, options }, + resetAllFiltersForHostingEnvironmentOperationSpec ); } /** * Description for Get a recommendation rule for an app. - * @summary Get a recommendation rule for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param hostingEnvironmentName Name of the hosting environment. - * @param name Name of the recommendation. - * @param [options] The optional parameters - * @returns Promise - */ - getRuleDetailsByHostingEnvironment( - resourceGroupName: string, - hostingEnvironmentName: string, - name: string, - options?: Models.RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param hostingEnvironmentName Name of the hosting environment. - * @param name Name of the recommendation. - * @param callback The callback - */ - getRuleDetailsByHostingEnvironment( - resourceGroupName: string, - hostingEnvironmentName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param hostingEnvironmentName Name of the hosting environment. * @param name Name of the recommendation. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ getRuleDetailsByHostingEnvironment( resourceGroupName: string, hostingEnvironmentName: string, name: string, - options: Models.RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - getRuleDetailsByHostingEnvironment( - resourceGroupName: string, - hostingEnvironmentName: string, - name: string, - options?: - | Models.RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - hostingEnvironmentName, - name, - options - }, - getRuleDetailsByHostingEnvironmentOperationSpec, - callback - ) as Promise; + { resourceGroupName, hostingEnvironmentName, name, options }, + getRuleDetailsByHostingEnvironmentOperationSpec + ); } /** * Description for Disables the specific rule for a web site permanently. - * @summary Disables the specific rule for a web site permanently. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param environmentName Site name - * @param name Rule name - * @param hostingEnvironmentName - * @param [options] The optional parameters - * @returns Promise - */ - disableRecommendationForHostingEnvironment( - resourceGroupName: string, - environmentName: string, - name: string, - hostingEnvironmentName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param environmentName Site name - * @param name Rule name - * @param hostingEnvironmentName - * @param callback The callback - */ - disableRecommendationForHostingEnvironment( - resourceGroupName: string, - environmentName: string, - name: string, - hostingEnvironmentName: string, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param environmentName Site name * @param name Rule name * @param hostingEnvironmentName - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ disableRecommendationForHostingEnvironment( resourceGroupName: string, environmentName: string, name: string, hostingEnvironmentName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - disableRecommendationForHostingEnvironment( - resourceGroupName: string, - environmentName: string, - name: string, - hostingEnvironmentName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: RecommendationsDisableRecommendationForHostingEnvironmentOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -485,584 +540,219 @@ export class Recommendations { hostingEnvironmentName, options }, - disableRecommendationForHostingEnvironmentOperationSpec, - callback + disableRecommendationForHostingEnvironmentOperationSpec ); } /** * Description for Get past recommendations for an app, optionally specified by the time range. - * @summary Get past recommendations for an app, optionally specified by the time range. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Name of the app. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listHistoryForWebApp( + private _listHistoryForWebApp( resourceGroupName: string, siteName: string, - options?: Models.RecommendationsListHistoryForWebAppOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param callback The callback - */ - listHistoryForWebApp( - resourceGroupName: string, - siteName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listHistoryForWebApp( - resourceGroupName: string, - siteName: string, - options: Models.RecommendationsListHistoryForWebAppOptionalParams, - callback: msRest.ServiceCallback - ): void; - listHistoryForWebApp( - resourceGroupName: string, - siteName: string, - options?: - | Models.RecommendationsListHistoryForWebAppOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: RecommendationsListHistoryForWebAppOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - options - }, - listHistoryForWebAppOperationSpec, - callback - ) as Promise; + { resourceGroupName, siteName, options }, + listHistoryForWebAppOperationSpec + ); } /** * Description for Get all recommendations for an app. - * @summary Get all recommendations for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendedRulesForWebApp( - resourceGroupName: string, - siteName: string, - options?: Models.RecommendationsListRecommendedRulesForWebAppOptionalParams - ): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Name of the app. - * @param callback The callback + * @param options The options parameters. */ - listRecommendedRulesForWebApp( + private _listRecommendedRulesForWebApp( resourceGroupName: string, siteName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listRecommendedRulesForWebApp( - resourceGroupName: string, - siteName: string, - options: Models.RecommendationsListRecommendedRulesForWebAppOptionalParams, - callback: msRest.ServiceCallback - ): void; - listRecommendedRulesForWebApp( - resourceGroupName: string, - siteName: string, - options?: - | Models.RecommendationsListRecommendedRulesForWebAppOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: RecommendationsListRecommendedRulesForWebAppOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - options - }, - listRecommendedRulesForWebAppOperationSpec, - callback - ) as Promise; + { resourceGroupName, siteName, options }, + listRecommendedRulesForWebAppOperationSpec + ); } /** * Description for Disable all recommendations for an app. - * @summary Disable all recommendations for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - disableAllForWebApp( - resourceGroupName: string, - siteName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param callback The callback - */ - disableAllForWebApp( - resourceGroupName: string, - siteName: string, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ disableAllForWebApp( resourceGroupName: string, - siteName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - disableAllForWebApp( - resourceGroupName: string, - siteName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - options - }, - disableAllForWebAppOperationSpec, - callback - ); - } - - /** - * Description for Reset all recommendation opt-out settings for an app. - * @summary Reset all recommendation opt-out settings for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - resetAllFiltersForWebApp( - resourceGroupName: string, - siteName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param callback The callback - */ - resetAllFiltersForWebApp( - resourceGroupName: string, - siteName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - resetAllFiltersForWebApp( - resourceGroupName: string, - siteName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - resetAllFiltersForWebApp( - resourceGroupName: string, - siteName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - options - }, - resetAllFiltersForWebAppOperationSpec, - callback - ); - } - - /** - * Description for Get a recommendation rule for an app. - * @summary Get a recommendation rule for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param name Name of the recommendation. - * @param [options] The optional parameters - * @returns Promise - */ - getRuleDetailsByWebApp( - resourceGroupName: string, - siteName: string, - name: string, - options?: Models.RecommendationsGetRuleDetailsByWebAppOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param name Name of the recommendation. - * @param callback The callback - */ - getRuleDetailsByWebApp( - resourceGroupName: string, - siteName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Name of the app. - * @param name Name of the recommendation. - * @param options The optional parameters - * @param callback The callback - */ - getRuleDetailsByWebApp( - resourceGroupName: string, - siteName: string, - name: string, - options: Models.RecommendationsGetRuleDetailsByWebAppOptionalParams, - callback: msRest.ServiceCallback - ): void; - getRuleDetailsByWebApp( - resourceGroupName: string, - siteName: string, - name: string, - options?: - | Models.RecommendationsGetRuleDetailsByWebAppOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - name, - options - }, - getRuleDetailsByWebAppOperationSpec, - callback - ) as Promise; + siteName: string, + options?: RecommendationsDisableAllForWebAppOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, siteName, options }, + disableAllForWebAppOperationSpec + ); } /** - * Description for Disables the specific rule for a web site permanently. - * @summary Disables the specific rule for a web site permanently. + * Description for Reset all recommendation opt-out settings for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site name - * @param name Rule name - * @param [options] The optional parameters - * @returns Promise + * @param siteName Name of the app. + * @param options The options parameters. */ - disableRecommendationForSite( + resetAllFiltersForWebApp( resourceGroupName: string, siteName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: RecommendationsResetAllFiltersForWebAppOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, siteName, options }, + resetAllFiltersForWebAppOperationSpec + ); + } + /** + * Description for Get a recommendation rule for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param siteName Site name - * @param name Rule name - * @param callback The callback + * @param siteName Name of the app. + * @param name Name of the recommendation. + * @param options The options parameters. */ - disableRecommendationForSite( + getRuleDetailsByWebApp( resourceGroupName: string, siteName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: RecommendationsGetRuleDetailsByWebAppOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, siteName, name, options }, + getRuleDetailsByWebAppOperationSpec + ); + } + /** + * Description for Disables the specific rule for a web site permanently. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param siteName Site name * @param name Rule name - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ disableRecommendationForSite( resourceGroupName: string, siteName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - disableRecommendationForSite( - resourceGroupName: string, - siteName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: RecommendationsDisableRecommendationForSiteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - siteName, - name, - options - }, - disableRecommendationForSiteOperationSpec, - callback + { resourceGroupName, siteName, name, options }, + disableRecommendationForSiteOperationSpec ); } /** - * Description for List all recommendations for a subscription. - * @summary List all recommendations for a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: Models.RecommendationsListNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext( - nextPageLink: string, - options: Models.RecommendationsListNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: - | Models.RecommendationsListNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listNext( + nextLink: string, + options?: RecommendationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for Get past recommendations for an app, optionally specified by the time range. - * @summary Get past recommendations for an app, optionally specified by the time range. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listHistoryForHostingEnvironmentNext( - nextPageLink: string, - options?: Models.RecommendationsListHistoryForHostingEnvironmentNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listHistoryForHostingEnvironmentNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListHistoryForHostingEnvironmentNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param hostingEnvironmentName Name of the hosting environment. + * @param nextLink The nextLink from the previous successful call to the + * ListHistoryForHostingEnvironment method. + * @param options The options parameters. */ - listHistoryForHostingEnvironmentNext( - nextPageLink: string, - options: Models.RecommendationsListHistoryForHostingEnvironmentNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listHistoryForHostingEnvironmentNext( - nextPageLink: string, - options?: - | Models.RecommendationsListHistoryForHostingEnvironmentNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listHistoryForHostingEnvironmentNext( + resourceGroupName: string, + hostingEnvironmentName: string, + nextLink: string, + options?: RecommendationsListHistoryForHostingEnvironmentNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listHistoryForHostingEnvironmentNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, hostingEnvironmentName, nextLink, options }, + listHistoryForHostingEnvironmentNextOperationSpec + ); } /** - * Description for Get all recommendations for a hosting environment. - * @summary Get all recommendations for a hosting environment. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendedRulesForHostingEnvironmentNext( - nextPageLink: string, - options?: Models.RecommendationsListRecommendedRulesForHostingEnvironmentNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listRecommendedRulesForHostingEnvironmentNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListRecommendedRulesForHostingEnvironmentNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param hostingEnvironmentName Name of the app. + * @param nextLink The nextLink from the previous successful call to the + * ListRecommendedRulesForHostingEnvironment method. + * @param options The options parameters. */ - listRecommendedRulesForHostingEnvironmentNext( - nextPageLink: string, - options: Models.RecommendationsListRecommendedRulesForHostingEnvironmentNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listRecommendedRulesForHostingEnvironmentNext( - nextPageLink: string, - options?: - | Models.RecommendationsListRecommendedRulesForHostingEnvironmentNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listRecommendedRulesForHostingEnvironmentNext( + resourceGroupName: string, + hostingEnvironmentName: string, + nextLink: string, + options?: RecommendationsListRecommendedRulesForHostingEnvironmentNextOptionalParams + ): Promise< + RecommendationsListRecommendedRulesForHostingEnvironmentNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listRecommendedRulesForHostingEnvironmentNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, hostingEnvironmentName, nextLink, options }, + listRecommendedRulesForHostingEnvironmentNextOperationSpec + ); } /** - * Description for Get past recommendations for an app, optionally specified by the time range. - * @summary Get past recommendations for an app, optionally specified by the time range. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listHistoryForWebAppNext( - nextPageLink: string, - options?: Models.RecommendationsListHistoryForWebAppNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listHistoryForWebAppNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListHistoryForWebAppNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListHistoryForWebApp method. + * @param options The options parameters. */ - listHistoryForWebAppNext( - nextPageLink: string, - options: Models.RecommendationsListHistoryForWebAppNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listHistoryForWebAppNext( - nextPageLink: string, - options?: - | Models.RecommendationsListHistoryForWebAppNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listHistoryForWebAppNext( + resourceGroupName: string, + siteName: string, + nextLink: string, + options?: RecommendationsListHistoryForWebAppNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listHistoryForWebAppNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, siteName, nextLink, options }, + listHistoryForWebAppNextOperationSpec + ); } /** - * Description for Get all recommendations for an app. - * @summary Get all recommendations for an app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendedRulesForWebAppNext( - nextPageLink: string, - options?: Models.RecommendationsListRecommendedRulesForWebAppNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listRecommendedRulesForWebAppNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListRecommendedRulesForWebAppNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListRecommendedRulesForWebApp + * method. + * @param options The options parameters. */ - listRecommendedRulesForWebAppNext( - nextPageLink: string, - options: Models.RecommendationsListRecommendedRulesForWebAppNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listRecommendedRulesForWebAppNext( - nextPageLink: string, - options?: - | Models.RecommendationsListRecommendedRulesForWebAppNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listRecommendedRulesForWebAppNext( + resourceGroupName: string, + siteName: string, + nextLink: string, + options?: RecommendationsListRecommendedRulesForWebAppNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listRecommendedRulesForWebAppNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, siteName, nextLink, options }, + listRecommendedRulesForWebAppNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.featured, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1071,50 +761,49 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.featured + ], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const resetAllFiltersOperationSpec: msRest.OperationSpec = { +const resetAllFiltersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const disableRecommendationForSubscriptionOperationSpec: msRest.OperationSpec = { +const disableRecommendationForSubscriptionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable", - urlParameters: [Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId, Parameters.name], + headerParameters: [Parameters.accept], serializer }; - -const listHistoryForHostingEnvironmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listHistoryForHostingEnvironmentOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.hostingEnvironmentName, - Parameters.subscriptionId - ], - queryParameters: [Parameters.expiredOnly, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1123,20 +812,24 @@ const listHistoryForHostingEnvironmentOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listRecommendedRulesForHostingEnvironmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations", + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.expiredOnly + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.hostingEnvironmentName, - Parameters.subscriptionId + Parameters.hostingEnvironmentName ], - queryParameters: [Parameters.featured, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listRecommendedRulesForHostingEnvironmentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1145,61 +838,64 @@ const listRecommendedRulesForHostingEnvironmentOperationSpec: msRest.OperationSp bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const disableAllForHostingEnvironmentOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/disable", + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.featured + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.hostingEnvironmentName, - Parameters.subscriptionId + Parameters.hostingEnvironmentName ], - queryParameters: [Parameters.environmentName, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const disableAllForHostingEnvironmentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/disable", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const resetAllFiltersForHostingEnvironmentOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/reset", + queryParameters: [Parameters.apiVersion, Parameters.environmentName], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.hostingEnvironmentName, - Parameters.subscriptionId + Parameters.hostingEnvironmentName ], - queryParameters: [Parameters.environmentName, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const resetAllFiltersForHostingEnvironmentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/reset", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getRuleDetailsByHostingEnvironmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}", + queryParameters: [Parameters.apiVersion, Parameters.environmentName], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.hostingEnvironmentName, - Parameters.name, - Parameters.subscriptionId + Parameters.hostingEnvironmentName ], - queryParameters: [Parameters.updateSeen, Parameters.recommendationId, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getRuleDetailsByHostingEnvironmentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationRule @@ -1208,37 +904,46 @@ const getRuleDetailsByHostingEnvironmentOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const disableRecommendationForHostingEnvironmentOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}/disable", + queryParameters: [ + Parameters.apiVersion, + Parameters.updateSeen, + Parameters.recommendationId + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.hostingEnvironmentName, - Parameters.subscriptionId + Parameters.hostingEnvironmentName ], - queryParameters: [Parameters.environmentName, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const disableRecommendationForHostingEnvironmentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}/disable", + httpMethod: "POST", responses: { 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.environmentName], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.hostingEnvironmentName + ], + headerParameters: [Parameters.accept], serializer }; - -const listHistoryForWebAppOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listHistoryForWebAppOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory", - urlParameters: [Parameters.resourceGroupName, Parameters.siteName, Parameters.subscriptionId], - queryParameters: [Parameters.expiredOnly, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1247,16 +952,24 @@ const listHistoryForWebAppOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.expiredOnly + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.siteName + ], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendedRulesForWebAppOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listRecommendedRulesForWebAppOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations", - urlParameters: [Parameters.resourceGroupName, Parameters.siteName, Parameters.subscriptionId], - queryParameters: [Parameters.featured, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1265,53 +978,64 @@ const listRecommendedRulesForWebAppOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.featured + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.siteName + ], + headerParameters: [Parameters.accept], serializer }; - -const disableAllForWebAppOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const disableAllForWebAppOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable", - urlParameters: [Parameters.resourceGroupName, Parameters.siteName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.siteName + ], + headerParameters: [Parameters.accept], serializer }; - -const resetAllFiltersForWebAppOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const resetAllFiltersForWebAppOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset", - urlParameters: [Parameters.resourceGroupName, Parameters.siteName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getRuleDetailsByWebAppOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.siteName, - Parameters.name, - Parameters.subscriptionId + Parameters.siteName ], - queryParameters: [Parameters.updateSeen, Parameters.recommendationId, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getRuleDetailsByWebAppOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationRule @@ -1320,37 +1044,45 @@ const getRuleDetailsByWebAppOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const disableRecommendationForSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable", + queryParameters: [ + Parameters.apiVersion, + Parameters.updateSeen, + Parameters.recommendationId + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.siteName, Parameters.name, - Parameters.subscriptionId + Parameters.siteName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const disableRecommendationForSiteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable", + httpMethod: "POST", responses: { 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.siteName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.featured, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1359,16 +1091,22 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.featured + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listHistoryForHostingEnvironmentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listHistoryForHostingEnvironmentNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.expiredOnly, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1377,16 +1115,24 @@ const listHistoryForHostingEnvironmentNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.expiredOnly + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.hostingEnvironmentName + ], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendedRulesForHostingEnvironmentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listRecommendedRulesForHostingEnvironmentNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.featured, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1395,16 +1141,24 @@ const listRecommendedRulesForHostingEnvironmentNextOperationSpec: msRest.Operati bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.featured + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.hostingEnvironmentName + ], + headerParameters: [Parameters.accept], serializer }; - -const listHistoryForWebAppNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listHistoryForWebAppNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.expiredOnly, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1413,16 +1167,24 @@ const listHistoryForWebAppNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.expiredOnly + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName + ], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendedRulesForWebAppNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listRecommendedRulesForWebAppNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.featured, Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecommendationCollection @@ -1431,5 +1193,18 @@ const listRecommendedRulesForWebAppNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.featured + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.siteName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/resourceHealthMetadataOperations.ts b/sdk/appservice/arm-appservice/src/operations/resourceHealthMetadataOperations.ts index cdeed1d23ead..7434c645dae1 100644 --- a/sdk/appservice/arm-appservice/src/operations/resourceHealthMetadataOperations.ts +++ b/sdk/appservice/arm-appservice/src/operations/resourceHealthMetadataOperations.ts @@ -3,23 +3,49 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/resourceHealthMetadataOperationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ResourceHealthMetadataOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + ResourceHealthMetadata, + ResourceHealthMetadataOperationsListNextOptionalParams, + ResourceHealthMetadataOperationsListOptionalParams, + ResourceHealthMetadataOperationsListByResourceGroupNextOptionalParams, + ResourceHealthMetadataOperationsListByResourceGroupOptionalParams, + ResourceHealthMetadataOperationsListBySiteNextOptionalParams, + ResourceHealthMetadataOperationsListBySiteOptionalParams, + ResourceHealthMetadataOperationsListBySiteSlotNextOptionalParams, + ResourceHealthMetadataOperationsListBySiteSlotOptionalParams, + ResourceHealthMetadataOperationsListResponse, + ResourceHealthMetadataOperationsListByResourceGroupResponse, + ResourceHealthMetadataOperationsListBySiteResponse, + ResourceHealthMetadataOperationsGetBySiteOptionalParams, + ResourceHealthMetadataOperationsGetBySiteResponse, + ResourceHealthMetadataOperationsListBySiteSlotResponse, + ResourceHealthMetadataOperationsGetBySiteSlotOptionalParams, + ResourceHealthMetadataOperationsGetBySiteSlotResponse, + ResourceHealthMetadataOperationsListNextResponse, + ResourceHealthMetadataOperationsListByResourceGroupNextResponse, + ResourceHealthMetadataOperationsListBySiteNextResponse, + ResourceHealthMetadataOperationsListBySiteSlotNextResponse +} from "../models"; +/// /** Class representing a ResourceHealthMetadataOperations. */ -export class ResourceHealthMetadataOperations { +export class ResourceHealthMetadataOperationsImpl + implements ResourceHealthMetadataOperations { private readonly client: WebSiteManagementClientContext; /** - * Create a ResourceHealthMetadataOperations. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ResourceHealthMetadataOperations class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,337 +53,420 @@ export class ResourceHealthMetadataOperations { /** * Description for List all ResourceHealthMetadata for all sites in the subscription. - * @summary List all ResourceHealthMetadata for all sites in the subscription. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ResourceHealthMetadataOperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ResourceHealthMetadataOperationsListOptionalParams + ): 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?: ResourceHealthMetadataOperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Description for List all ResourceHealthMetadata for all sites in the resource group in the * subscription. - * @summary List all ResourceHealthMetadata for all sites in the resource group in the - * subscription. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByResourceGroup( + resourceGroupName: string, + options?: ResourceHealthMetadataOperationsListByResourceGroupOptionalParams + ): 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?: ResourceHealthMetadataOperationsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: ResourceHealthMetadataOperationsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** * Description for Gets the category of ResourceHealthMetadata to use for the given site as a * collection - * @summary Gets the category of ResourceHealthMetadata to use for the given site as a collection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listBySite(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - listBySite(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; + public listBySite( + resourceGroupName: string, + name: string, + options?: ResourceHealthMetadataOperationsListBySiteOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySitePagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySitePagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listBySitePagingPage( + resourceGroupName: string, + name: string, + options?: ResourceHealthMetadataOperationsListBySiteOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySite(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySiteNext( + resourceGroupName, + name, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySitePagingAll( + resourceGroupName: string, + name: string, + options?: ResourceHealthMetadataOperationsListBySiteOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySitePagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets the category of ResourceHealthMetadata to use for the given site as a + * collection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - listBySite(resourceGroupName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySite(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listBySiteSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: ResourceHealthMetadataOperationsListBySiteSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySiteSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySiteSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listBySiteSlotPagingPage( + resourceGroupName: string, + name: string, + slot: string, + options?: ResourceHealthMetadataOperationsListBySiteSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySiteSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySiteSlotNext( resourceGroupName, name, + slot, + continuationToken, options - }, - listBySiteOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySiteSlotPagingAll( + resourceGroupName: string, + name: string, + slot: string, + options?: ResourceHealthMetadataOperationsListBySiteSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySiteSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } } /** - * Description for Gets the category of ResourceHealthMetadata to use for the given site - * @summary Gets the category of ResourceHealthMetadata to use for the given site - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app - * @param [options] The optional parameters - * @returns Promise - */ - getBySite(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app - * @param callback The callback + * Description for List all ResourceHealthMetadata for all sites in the subscription. + * @param options The options parameters. */ - getBySite(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ResourceHealthMetadataOperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Description for List all ResourceHealthMetadata for all sites in the resource group in the + * subscription. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getBySite(resourceGroupName: string, name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getBySite(resourceGroupName: string, name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroup( + resourceGroupName: string, + options?: ResourceHealthMetadataOperationsListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getBySiteOperationSpec, - callback) as Promise; + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); } /** * Description for Gets the category of ResourceHealthMetadata to use for the given site as a * collection - * @summary Gets the category of ResourceHealthMetadata to use for the given site as a collection - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listBySiteSlot(resourceGroupName: string, name: string, slot: string, options?: msRest.RequestOptionsBase): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback + * @param options The options parameters. */ - listBySiteSlot(resourceGroupName: string, name: string, slot: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - listBySiteSlot(resourceGroupName: string, name: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySiteSlot(resourceGroupName: string, name: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySite( + resourceGroupName: string, + name: string, + options?: ResourceHealthMetadataOperationsListBySiteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listBySiteSlotOperationSpec, - callback) as Promise; + { resourceGroupName, name, options }, + listBySiteOperationSpec + ); } /** * Description for Gets the category of ResourceHealthMetadata to use for the given site - * @summary Gets the category of ResourceHealthMetadata to use for the given site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getBySiteSlot(resourceGroupName: string, name: string, slot: string, options?: msRest.RequestOptionsBase): Promise; + getBySite( + resourceGroupName: string, + name: string, + options?: ResourceHealthMetadataOperationsGetBySiteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getBySiteOperationSpec + ); + } + /** + * Description for Gets the category of ResourceHealthMetadata to use for the given site as a + * collection * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app + * @param name Name of web app. * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback + * @param options The options parameters. */ - getBySiteSlot(resourceGroupName: string, name: string, slot: string, callback: msRest.ServiceCallback): void; + private _listBySiteSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: ResourceHealthMetadataOperationsListBySiteSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listBySiteSlotOperationSpec + ); + } + /** + * Description for Gets the category of ResourceHealthMetadata to use for the given site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getBySiteSlot(resourceGroupName: string, name: string, slot: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getBySiteSlot(resourceGroupName: string, name: string, slot: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + getBySiteSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: ResourceHealthMetadataOperationsGetBySiteSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getBySiteSlotOperationSpec, - callback) as Promise; + { resourceGroupName, name, slot, options }, + getBySiteSlotOperationSpec + ); } /** - * Description for List all ResourceHealthMetadata for all sites in the subscription. - * @summary List all ResourceHealthMetadata for all sites in the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ResourceHealthMetadataOperationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for List all ResourceHealthMetadata for all sites in the resource group in the - * subscription. - * @summary List all ResourceHealthMetadata for all sites in the resource group in the - * subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: ResourceHealthMetadataOperationsListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } /** - * Description for Gets the category of ResourceHealthMetadata to use for the given site as a - * collection - * @summary Gets the category of ResourceHealthMetadata to use for the given site as a collection - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBySiteNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listBySiteNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListBySiteNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param nextLink The nextLink from the previous successful call to the ListBySite method. + * @param options The options parameters. */ - listBySiteNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySiteNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySiteNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: ResourceHealthMetadataOperationsListBySiteNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listBySiteNextOperationSpec, - callback) as Promise; + { resourceGroupName, name, nextLink, options }, + listBySiteNextOperationSpec + ); } /** - * Description for Gets the category of ResourceHealthMetadata to use for the given site as a - * collection - * @summary Gets the category of ResourceHealthMetadata to use for the given site as a collection - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBySiteSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listBySiteSlotNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListBySiteSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param nextLink The nextLink from the previous successful call to the ListBySiteSlot method. + * @param options The options parameters. */ - listBySiteSlotNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySiteSlotNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySiteSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: ResourceHealthMetadataOperationsListBySiteSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listBySiteSlotNextOperationSpec, - callback) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listBySiteSlotNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadataCollection @@ -366,22 +475,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadataCollection @@ -390,23 +492,19 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listBySiteOperationSpec: msRest.OperationSpec = { +const listBySiteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadataCollection @@ -415,23 +513,20 @@ const listBySiteOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getBySiteOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.name ], + headerParameters: [Parameters.accept], + serializer +}; +const getBySiteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadata @@ -440,24 +535,20 @@ const getBySiteOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listBySiteSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.name ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySiteSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadataCollection @@ -466,24 +557,21 @@ const listBySiteSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getBySiteSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.slot ], + headerParameters: [Parameters.accept], + serializer +}; +const getBySiteSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadata @@ -492,22 +580,20 @@ const getBySiteSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadataCollection @@ -516,22 +602,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadataCollection @@ -540,22 +622,19 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listBySiteNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBySiteNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadataCollection @@ -564,22 +643,20 @@ const listBySiteNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listBySiteSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBySiteSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceHealthMetadataCollection @@ -588,5 +665,15 @@ const listBySiteSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/staticSites.ts b/sdk/appservice/arm-appservice/src/operations/staticSites.ts index 0d184d2988e1..00f54c8ce5d4 100644 --- a/sdk/appservice/arm-appservice/src/operations/staticSites.ts +++ b/sdk/appservice/arm-appservice/src/operations/staticSites.ts @@ -3,3257 +3,2943 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/staticSitesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { StaticSites } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; - +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + StaticSiteARMResource, + StaticSitesListNextOptionalParams, + StaticSitesListOptionalParams, + StaticSitesGetStaticSitesByResourceGroupNextOptionalParams, + StaticSitesGetStaticSitesByResourceGroupOptionalParams, + StaticSiteUserARMResource, + StaticSitesListStaticSiteUsersNextOptionalParams, + StaticSitesListStaticSiteUsersOptionalParams, + StaticSiteBuildARMResource, + StaticSitesGetStaticSiteBuildsNextOptionalParams, + StaticSitesGetStaticSiteBuildsOptionalParams, + StaticSiteFunctionOverviewARMResource, + StaticSitesListStaticSiteBuildFunctionsNextOptionalParams, + StaticSitesListStaticSiteBuildFunctionsOptionalParams, + StaticSiteUserProvidedFunctionAppARMResource, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextOptionalParams, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams, + StaticSiteCustomDomainOverviewARMResource, + StaticSitesListStaticSiteCustomDomainsNextOptionalParams, + StaticSitesListStaticSiteCustomDomainsOptionalParams, + StaticSitesListStaticSiteFunctionsNextOptionalParams, + StaticSitesListStaticSiteFunctionsOptionalParams, + RemotePrivateEndpointConnectionARMResource, + StaticSitesGetPrivateEndpointConnectionListNextOptionalParams, + StaticSitesGetPrivateEndpointConnectionListOptionalParams, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteNextOptionalParams, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams, + StaticSitesWorkflowPreviewRequest, + StaticSitesPreviewWorkflowOptionalParams, + StaticSitesPreviewWorkflowResponse, + StaticSitesListResponse, + StaticSitesGetStaticSitesByResourceGroupResponse, + StaticSitesGetStaticSiteOptionalParams, + StaticSitesGetStaticSiteResponse, + StaticSitesCreateOrUpdateStaticSiteOptionalParams, + StaticSitesCreateOrUpdateStaticSiteResponse, + StaticSitesDeleteStaticSiteOptionalParams, + StaticSitePatchResource, + StaticSitesUpdateStaticSiteOptionalParams, + StaticSitesUpdateStaticSiteResponse, + StaticSitesListStaticSiteUsersResponse, + StaticSitesDeleteStaticSiteUserOptionalParams, + StaticSitesUpdateStaticSiteUserOptionalParams, + StaticSitesUpdateStaticSiteUserResponse, + StaticSitesGetStaticSiteBuildsResponse, + StaticSitesGetStaticSiteBuildOptionalParams, + StaticSitesGetStaticSiteBuildResponse, + StaticSitesDeleteStaticSiteBuildOptionalParams, + StringDictionary, + StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsOptionalParams, + StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsResponse, + StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsOptionalParams, + StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsResponse, + StaticSitesListStaticSiteBuildFunctionsResponse, + StaticSitesListStaticSiteBuildAppSettingsOptionalParams, + StaticSitesListStaticSiteBuildAppSettingsResponse, + StaticSitesListStaticSiteBuildFunctionAppSettingsOptionalParams, + StaticSitesListStaticSiteBuildFunctionAppSettingsResponse, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildResponse, + StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildOptionalParams, + StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildResponse, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse, + StaticSitesDetachUserProvidedFunctionAppFromStaticSiteBuildOptionalParams, + StaticSiteZipDeploymentARMResource, + StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams, + StaticSitesCreateOrUpdateStaticSiteAppSettingsOptionalParams, + StaticSitesCreateOrUpdateStaticSiteAppSettingsResponse, + StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsOptionalParams, + StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsResponse, + StaticSiteUserInvitationRequestResource, + StaticSitesCreateUserRolesInvitationLinkOptionalParams, + StaticSitesCreateUserRolesInvitationLinkResponse, + StaticSitesListStaticSiteCustomDomainsResponse, + StaticSitesGetStaticSiteCustomDomainOptionalParams, + StaticSitesGetStaticSiteCustomDomainResponse, + StaticSiteCustomDomainRequestPropertiesARMResource, + StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams, + StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse, + StaticSitesDeleteStaticSiteCustomDomainOptionalParams, + StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams, + StaticSitesDetachStaticSiteOptionalParams, + StaticSitesListStaticSiteFunctionsResponse, + StaticSitesListStaticSiteAppSettingsOptionalParams, + StaticSitesListStaticSiteAppSettingsResponse, + StaticSitesListStaticSiteConfiguredRolesOptionalParams, + StaticSitesListStaticSiteConfiguredRolesResponse, + StaticSitesListStaticSiteFunctionAppSettingsOptionalParams, + StaticSitesListStaticSiteFunctionAppSettingsResponse, + StaticSitesListStaticSiteSecretsOptionalParams, + StaticSitesListStaticSiteSecretsResponse, + StaticSitesGetPrivateEndpointConnectionListResponse, + StaticSitesGetPrivateEndpointConnectionOptionalParams, + StaticSitesGetPrivateEndpointConnectionResponse, + PrivateLinkConnectionApprovalRequestResource, + StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams, + StaticSitesApproveOrRejectPrivateEndpointConnectionResponse, + StaticSitesDeletePrivateEndpointConnectionOptionalParams, + StaticSitesDeletePrivateEndpointConnectionResponse, + StaticSitesGetPrivateLinkResourcesOptionalParams, + StaticSitesGetPrivateLinkResourcesResponse, + StaticSiteResetPropertiesARMResource, + StaticSitesResetStaticSiteApiKeyOptionalParams, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteResponse, + StaticSitesGetUserProvidedFunctionAppForStaticSiteOptionalParams, + StaticSitesGetUserProvidedFunctionAppForStaticSiteResponse, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse, + StaticSitesDetachUserProvidedFunctionAppFromStaticSiteOptionalParams, + StaticSitesCreateZipDeploymentForStaticSiteOptionalParams, + StaticSitesListNextResponse, + StaticSitesGetStaticSitesByResourceGroupNextResponse, + StaticSitesListStaticSiteUsersNextResponse, + StaticSitesGetStaticSiteBuildsNextResponse, + StaticSitesListStaticSiteBuildFunctionsNextResponse, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextResponse, + StaticSitesListStaticSiteCustomDomainsNextResponse, + StaticSitesListStaticSiteFunctionsNextResponse, + StaticSitesGetPrivateEndpointConnectionListNextResponse, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteNextResponse +} from "../models"; + +/// /** Class representing a StaticSites. */ -export class StaticSites { +export class StaticSitesImpl implements StaticSites { private readonly client: WebSiteManagementClientContext; /** - * Create a StaticSites. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class StaticSites class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; } - /** - * Description for Generates a preview workflow file for the static site - * @summary Generates a preview workflow file for the static site - * @param location Location where you plan to create the static site. - * @param staticSitesWorkflowPreviewRequest A JSON representation of the - * StaticSitesWorkflowPreviewRequest properties. See example. - * @param [options] The optional parameters - * @returns Promise - */ - previewWorkflow( - location: string, - staticSitesWorkflowPreviewRequest: Models.StaticSitesWorkflowPreviewRequest, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param location Location where you plan to create the static site. - * @param staticSitesWorkflowPreviewRequest A JSON representation of the - * StaticSitesWorkflowPreviewRequest properties. See example. - * @param callback The callback - */ - previewWorkflow( - location: string, - staticSitesWorkflowPreviewRequest: Models.StaticSitesWorkflowPreviewRequest, - callback: msRest.ServiceCallback - ): void; - /** - * @param location Location where you plan to create the static site. - * @param staticSitesWorkflowPreviewRequest A JSON representation of the - * StaticSitesWorkflowPreviewRequest properties. See example. - * @param options The optional parameters - * @param callback The callback - */ - previewWorkflow( - location: string, - staticSitesWorkflowPreviewRequest: Models.StaticSitesWorkflowPreviewRequest, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - previewWorkflow( - location: string, - staticSitesWorkflowPreviewRequest: Models.StaticSitesWorkflowPreviewRequest, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - location, - staticSitesWorkflowPreviewRequest, - options - }, - previewWorkflowOperationSpec, - callback - ) as Promise; - } - /** * Description for Get all Static Sites for a subscription. - * @summary Get all Static Sites for a subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - list( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + * @param options The options parameters. + */ + public list( + options?: StaticSitesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; } - /** - * Description for Gets all static sites in the specified resource group. - * @summary Gets all static sites in the specified resource group. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param [options] The optional parameters - * @returns Promise - */ - getStaticSitesByResourceGroup( - resourceGroupName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param callback The callback - */ - getStaticSitesByResourceGroup( - resourceGroupName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param options The optional parameters - * @param callback The callback - */ - getStaticSitesByResourceGroup( - resourceGroupName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getStaticSitesByResourceGroup( - resourceGroupName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - getStaticSitesByResourceGroupOperationSpec, - callback - ) as Promise; + private async *listPagingPage( + options?: StaticSitesListOptionalParams + ): 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 || []; + } } - /** - * Description for Gets the details of a static site. - * @summary Gets the details of a static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise - */ - getStaticSite( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param callback The callback - */ - getStaticSite( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback - */ - getStaticSite( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getStaticSite( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getStaticSiteOperationSpec, - callback - ) as Promise; + private async *listPagingAll( + options?: StaticSitesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Description for Creates a new static site in an existing resource group, or updates an existing - * static site. - * @summary Creates a new static site in an existing resource group, or updates an existing static - * site. + * Description for Gets all static sites in the specified resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to create or update. - * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdateStaticSite( + public listStaticSitesByResourceGroup( resourceGroupName: string, - name: string, - staticSiteEnvelope: Models.StaticSiteARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdateStaticSite( + options?: StaticSitesGetStaticSitesByResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getStaticSitesByResourceGroupPagingAll( resourceGroupName, - name, - staticSiteEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.StaticSitesCreateOrUpdateStaticSiteResponse - >; + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getStaticSitesByResourceGroupPagingPage( + resourceGroupName, + options + ); + } + }; } - /** - * Description for Deletes a static site. - * @summary Deletes a static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to delete. - * @param [options] The optional parameters - * @returns Promise - */ - deleteStaticSite( + private async *getStaticSitesByResourceGroupPagingPage( resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginDeleteStaticSite(resourceGroupName, name, options).then((lroPoller) => - lroPoller.pollUntilFinished() + options?: StaticSitesGetStaticSitesByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._getStaticSitesByResourceGroup( + resourceGroupName, + options ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getStaticSitesByResourceGroupNext( + resourceGroupName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Creates a new static site in an existing resource group, or updates an existing - * static site. - * @summary Creates a new static site in an existing resource group, or updates an existing static - * site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to create or update. - * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. - * @param [options] The optional parameters - * @returns Promise - */ - updateStaticSite( - resourceGroupName: string, - name: string, - staticSiteEnvelope: Models.StaticSitePatchResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to create or update. - * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. - * @param callback The callback - */ - updateStaticSite( - resourceGroupName: string, - name: string, - staticSiteEnvelope: Models.StaticSitePatchResource, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to create or update. - * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. - * @param options The optional parameters - * @param callback The callback - */ - updateStaticSite( - resourceGroupName: string, - name: string, - staticSiteEnvelope: Models.StaticSitePatchResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateStaticSite( + private async *getStaticSitesByResourceGroupPagingAll( resourceGroupName: string, - name: string, - staticSiteEnvelope: Models.StaticSitePatchResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - staticSiteEnvelope, - options - }, - updateStaticSiteOperationSpec, - callback - ) as Promise; + options?: StaticSitesGetStaticSitesByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getStaticSitesByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** * Description for Gets the list of users of a static site. - * @summary Gets the list of users of a static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param authprovider The auth provider for the users. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteUsers( - resourceGroupName: string, - name: string, - authprovider: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. * @param authprovider The auth provider for the users. - * @param callback The callback + * @param options The options parameters. */ - listStaticSiteUsers( + public listStaticSiteUsers( resourceGroupName: string, name: string, authprovider: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param authprovider The auth provider for the users. - * @param options The optional parameters - * @param callback The callback - */ - listStaticSiteUsers( - resourceGroupName: string, - name: string, - authprovider: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteUsers( - resourceGroupName: string, - name: string, - authprovider: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - authprovider, - options + options?: StaticSitesListStaticSiteUsersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listStaticSiteUsersPagingAll( + resourceGroupName, + name, + authprovider, + options + ); + return { + next() { + return iter.next(); }, - listStaticSiteUsersOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes the user entry from the static site. - * @summary Deletes the user entry from the static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the staticsite. - * @param authprovider The auth provider for this user. - * @param userid The user id of the user. - * @param [options] The optional parameters - * @returns Promise - */ - deleteStaticSiteUser( - resourceGroupName: string, - name: string, - authprovider: string, - userid: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the staticsite. - * @param authprovider The auth provider for this user. - * @param userid The user id of the user. - * @param callback The callback - */ - deleteStaticSiteUser( - resourceGroupName: string, - name: string, - authprovider: string, - userid: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the staticsite. - * @param authprovider The auth provider for this user. - * @param userid The user id of the user. - * @param options The optional parameters - * @param callback The callback - */ - deleteStaticSiteUser( - resourceGroupName: string, - name: string, - authprovider: string, - userid: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteStaticSiteUser( - resourceGroupName: string, - name: string, - authprovider: string, - userid: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - authprovider, - userid, - options + [Symbol.asyncIterator]() { + return this; }, - deleteStaticSiteUserOperationSpec, - callback - ); - } - - /** - * Description for Updates a user entry with the listed roles - * @summary Updates a user entry with the listed roles - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param authprovider The auth provider for this user. - * @param userid The user id of the user. - * @param staticSiteUserEnvelope A JSON representation of the StaticSiteUser properties. See - * example. - * @param [options] The optional parameters - * @returns Promise - */ - updateStaticSiteUser( - resourceGroupName: string, - name: string, - authprovider: string, - userid: string, - staticSiteUserEnvelope: Models.StaticSiteUserARMResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param authprovider The auth provider for this user. - * @param userid The user id of the user. - * @param staticSiteUserEnvelope A JSON representation of the StaticSiteUser properties. See - * example. - * @param callback The callback - */ - updateStaticSiteUser( - resourceGroupName: string, - name: string, - authprovider: string, - userid: string, - staticSiteUserEnvelope: Models.StaticSiteUserARMResource, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param authprovider The auth provider for this user. - * @param userid The user id of the user. - * @param staticSiteUserEnvelope A JSON representation of the StaticSiteUser properties. See - * example. - * @param options The optional parameters - * @param callback The callback - */ - updateStaticSiteUser( - resourceGroupName: string, - name: string, - authprovider: string, - userid: string, - staticSiteUserEnvelope: Models.StaticSiteUserARMResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateStaticSiteUser( - resourceGroupName: string, - name: string, - authprovider: string, - userid: string, - staticSiteUserEnvelope: Models.StaticSiteUserARMResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - authprovider, - userid, - staticSiteUserEnvelope, - options - }, - updateStaticSiteUserOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets all static site builds for a particular static site. - * @summary Gets all static site builds for a particular static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise - */ - getStaticSiteBuilds( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param callback The callback - */ - getStaticSiteBuilds( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback - */ - getStaticSiteBuilds( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getStaticSiteBuilds( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getStaticSiteBuildsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the details of a static site build. - * @summary Gets the details of a static site build. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param [options] The optional parameters - * @returns Promise - */ - getStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param callback The callback - */ - getStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param options The optional parameters - * @param callback The callback - */ - getStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - environmentName, - options - }, - getStaticSiteBuildOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes a static site build. - * @summary Deletes a static site build. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param [options] The optional parameters - * @returns Promise - */ - deleteStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginDeleteStaticSiteBuild( - resourceGroupName, - name, - environmentName, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); - } - - /** - * Description for Creates or updates the app settings of a static site build. - * @summary Creates or updates the app settings of a static site build. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param appSettings The dictionary containing the static site app settings to update. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateStaticSiteBuildAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param appSettings The dictionary containing the static site app settings to update. - * @param callback The callback - */ - createOrUpdateStaticSiteBuildAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - appSettings: Models.StringDictionary, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param appSettings The dictionary containing the static site app settings to update. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateStaticSiteBuildAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - appSettings: Models.StringDictionary, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateStaticSiteBuildAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - environmentName, - appSettings, - options - }, - createOrUpdateStaticSiteBuildAppSettingsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Creates or updates the function app settings of a static site build. - * @summary Creates or updates the function app settings of a static site build. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param appSettings The dictionary containing the static site function app settings to update. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateStaticSiteBuildFunctionAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param appSettings The dictionary containing the static site function app settings to update. - * @param callback The callback - */ - createOrUpdateStaticSiteBuildFunctionAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - appSettings: Models.StringDictionary, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param appSettings The dictionary containing the static site function app settings to update. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateStaticSiteBuildFunctionAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - appSettings: Models.StringDictionary, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateStaticSiteBuildFunctionAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - environmentName, - appSettings, - options - }, - createOrUpdateStaticSiteBuildFunctionAppSettingsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the functions of a particular static site build. - * @summary Gets the functions of a particular static site build. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteBuildFunctions( - resourceGroupName: string, - name: string, - environmentName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param callback The callback - */ - listStaticSiteBuildFunctions( - resourceGroupName: string, - name: string, - environmentName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param options The optional parameters - * @param callback The callback - */ - listStaticSiteBuildFunctions( - resourceGroupName: string, - name: string, - environmentName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteBuildFunctions( - resourceGroupName: string, - name: string, - environmentName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - environmentName, - options - }, - listStaticSiteBuildFunctionsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the application settings of a static site build. - * @summary Gets the application settings of a static site build. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteBuildAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param callback The callback - */ - listStaticSiteBuildAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param options The optional parameters - * @param callback The callback - */ - listStaticSiteBuildAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteBuildAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - environmentName, - options - }, - listStaticSiteBuildAppSettingsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the application settings of a static site build. - * @summary Gets the application settings of a static site build. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteBuildFunctionAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param callback The callback - */ - listStaticSiteBuildFunctionAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param options The optional parameters - * @param callback The callback - */ - listStaticSiteBuildFunctionAppSettings( - resourceGroupName: string, - name: string, - environmentName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteBuildFunctionAppSettings( + byPage: () => { + return this.listStaticSiteUsersPagingPage( + resourceGroupName, + name, + authprovider, + options + ); + } + }; + } + + private async *listStaticSiteUsersPagingPage( resourceGroupName: string, name: string, - environmentName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + authprovider: string, + options?: StaticSitesListStaticSiteUsersOptionalParams + ): AsyncIterableIterator { + let result = await this._listStaticSiteUsers( + resourceGroupName, + name, + authprovider, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listStaticSiteUsersNext( resourceGroupName, name, - environmentName, + authprovider, + continuationToken, options - }, - listStaticSiteBuildFunctionAppSettingsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the details of the user provided function apps registered with a static - * site build - * @summary Gets the details of the user provided function apps registered with a static site build - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param [options] The optional parameters - * @returns Promise - */ - getUserProvidedFunctionAppsForStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param callback The callback - */ - getUserProvidedFunctionAppsForStaticSiteBuild( + private async *listStaticSiteUsersPagingAll( resourceGroupName: string, name: string, - environmentName: string, - callback: msRest.ServiceCallback - ): void; + authprovider: string, + options?: StaticSitesListStaticSiteUsersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listStaticSiteUsersPagingPage( + resourceGroupName, + name, + authprovider, + options + )) { + yield* page; + } + } + /** + * Description for Gets all static site builds for a particular static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getUserProvidedFunctionAppsForStaticSiteBuild( + public listStaticSiteBuilds( resourceGroupName: string, name: string, - environmentName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getUserProvidedFunctionAppsForStaticSiteBuild( + options?: StaticSitesGetStaticSiteBuildsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getStaticSiteBuildsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getStaticSiteBuildsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *getStaticSiteBuildsPagingPage( resourceGroupName: string, name: string, - environmentName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: StaticSitesGetStaticSiteBuildsOptionalParams + ): AsyncIterableIterator { + let result = await this._getStaticSiteBuilds( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getStaticSiteBuildsNext( resourceGroupName, name, - environmentName, + continuationToken, options - }, - getUserProvidedFunctionAppsForStaticSiteBuildOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the details of the user provided function app registered with a static site - * build - * @summary Gets the details of the user provided function app registered with a static site build - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param functionAppName Name of the function app registered with the static site build. - * @param [options] The optional parameters - * @returns Promise - */ - getUserProvidedFunctionAppForStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - functionAppName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param functionAppName Name of the function app registered with the static site build. - * @param callback The callback - */ - getUserProvidedFunctionAppForStaticSiteBuild( + private async *getStaticSiteBuildsPagingAll( resourceGroupName: string, name: string, - environmentName: string, - functionAppName: string, - callback: msRest.ServiceCallback - ): void; + options?: StaticSitesGetStaticSiteBuildsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getStaticSiteBuildsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets the functions of a particular static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. * @param environmentName The stage site identifier. - * @param functionAppName Name of the function app registered with the static site build. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getUserProvidedFunctionAppForStaticSiteBuild( + public listStaticSiteBuildFunctions( resourceGroupName: string, name: string, environmentName: string, - functionAppName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getUserProvidedFunctionAppForStaticSiteBuild( + options?: StaticSitesListStaticSiteBuildFunctionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listStaticSiteBuildFunctionsPagingAll( + resourceGroupName, + name, + environmentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listStaticSiteBuildFunctionsPagingPage( + resourceGroupName, + name, + environmentName, + options + ); + } + }; + } + + private async *listStaticSiteBuildFunctionsPagingPage( resourceGroupName: string, name: string, environmentName: string, - functionAppName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: StaticSitesListStaticSiteBuildFunctionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listStaticSiteBuildFunctions( + resourceGroupName, + name, + environmentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listStaticSiteBuildFunctionsNext( resourceGroupName, name, environmentName, - functionAppName, + continuationToken, options - }, - getUserProvidedFunctionAppForStaticSiteBuildOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Register a user provided function app with a static site build - * @summary Register a user provided function app with a static site build - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param functionAppName Name of the function app to register with the static site build. - * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided - * function app properties. See example. - * @param [options] The optional parameters - * @returns Promise - */ - registerUserProvidedFunctionAppWithStaticSiteBuild( + private async *listStaticSiteBuildFunctionsPagingAll( resourceGroupName: string, name: string, environmentName: string, - functionAppName: string, - staticSiteUserProvidedFunctionEnvelope: Models.StaticSiteUserProvidedFunctionAppARMResource, - options?: Models.StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams - ): Promise { - return this.beginRegisterUserProvidedFunctionAppWithStaticSiteBuild( + options?: StaticSitesListStaticSiteBuildFunctionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listStaticSiteBuildFunctionsPagingPage( resourceGroupName, name, environmentName, - functionAppName, - staticSiteUserProvidedFunctionEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse - >; + )) { + yield* page; + } } /** - * Description for Detach the user provided function app from the static site build - * @summary Detach the user provided function app from the static site build - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param functionAppName Name of the function app registered with the static site build. - * @param [options] The optional parameters - * @returns Promise - */ - detachUserProvidedFunctionAppFromStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - functionAppName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param functionAppName Name of the function app registered with the static site build. - * @param callback The callback - */ - detachUserProvidedFunctionAppFromStaticSiteBuild( - resourceGroupName: string, - name: string, - environmentName: string, - functionAppName: string, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Gets the details of the user provided function apps registered with a static site + * build * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. * @param environmentName The stage site identifier. - * @param functionAppName Name of the function app registered with the static site build. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - detachUserProvidedFunctionAppFromStaticSiteBuild( + public listUserProvidedFunctionAppsForStaticSiteBuild( resourceGroupName: string, name: string, environmentName: string, - functionAppName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - detachUserProvidedFunctionAppFromStaticSiteBuild( + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getUserProvidedFunctionAppsForStaticSiteBuildPagingAll( + resourceGroupName, + name, + environmentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getUserProvidedFunctionAppsForStaticSiteBuildPagingPage( + resourceGroupName, + name, + environmentName, + options + ); + } + }; + } + + private async *getUserProvidedFunctionAppsForStaticSiteBuildPagingPage( resourceGroupName: string, name: string, environmentName: string, - functionAppName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams + ): AsyncIterableIterator { + let result = await this._getUserProvidedFunctionAppsForStaticSiteBuild( + resourceGroupName, + name, + environmentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getUserProvidedFunctionAppsForStaticSiteBuildNext( resourceGroupName, name, environmentName, - functionAppName, + continuationToken, options - }, - detachUserProvidedFunctionAppFromStaticSiteBuildOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Deploys zipped content to a specific environment of a static site. - * @summary Deploys zipped content to a specific environment of a static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param environmentName Name of the environment. - * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment - * properties. See example. - * @param [options] The optional parameters - * @returns Promise - */ - createZipDeploymentForStaticSiteBuild( + private async *getUserProvidedFunctionAppsForStaticSiteBuildPagingAll( resourceGroupName: string, name: string, environmentName: string, - staticSiteZipDeploymentEnvelope: Models.StaticSiteZipDeploymentARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateZipDeploymentForStaticSiteBuild( + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getUserProvidedFunctionAppsForStaticSiteBuildPagingPage( resourceGroupName, name, environmentName, - staticSiteZipDeploymentEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + )) { + yield* page; + } } /** - * Description for Creates or updates the app settings of a static site. - * @summary Creates or updates the app settings of a static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param appSettings The dictionary containing the static site app settings to update. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateStaticSiteAppSettings( - resourceGroupName: string, - name: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param appSettings The dictionary containing the static site app settings to update. - * @param callback The callback - */ - createOrUpdateStaticSiteAppSettings( - resourceGroupName: string, - name: string, - appSettings: Models.StringDictionary, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Gets all static site custom domains for a particular static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param appSettings The dictionary containing the static site app settings to update. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the static site resource to search in. + * @param options The options parameters. */ - createOrUpdateStaticSiteAppSettings( + public listStaticSiteCustomDomains( resourceGroupName: string, name: string, - appSettings: Models.StringDictionary, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateStaticSiteAppSettings( + options?: StaticSitesListStaticSiteCustomDomainsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listStaticSiteCustomDomainsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listStaticSiteCustomDomainsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listStaticSiteCustomDomainsPagingPage( resourceGroupName: string, name: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: StaticSitesListStaticSiteCustomDomainsOptionalParams + ): AsyncIterableIterator { + let result = await this._listStaticSiteCustomDomains( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listStaticSiteCustomDomainsNext( resourceGroupName, name, - appSettings, + continuationToken, options - }, - createOrUpdateStaticSiteAppSettingsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Creates or updates the function app settings of a static site. - * @summary Creates or updates the function app settings of a static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param appSettings The dictionary containing the static site function app settings to update. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateStaticSiteFunctionAppSettings( - resourceGroupName: string, - name: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param appSettings The dictionary containing the static site function app settings to update. - * @param callback The callback - */ - createOrUpdateStaticSiteFunctionAppSettings( + private async *listStaticSiteCustomDomainsPagingAll( resourceGroupName: string, name: string, - appSettings: Models.StringDictionary, - callback: msRest.ServiceCallback - ): void; + options?: StaticSitesListStaticSiteCustomDomainsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listStaticSiteCustomDomainsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets the functions of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param appSettings The dictionary containing the static site function app settings to update. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdateStaticSiteFunctionAppSettings( + public listStaticSiteFunctions( resourceGroupName: string, name: string, - appSettings: Models.StringDictionary, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateStaticSiteFunctionAppSettings( + options?: StaticSitesListStaticSiteFunctionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listStaticSiteFunctionsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listStaticSiteFunctionsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listStaticSiteFunctionsPagingPage( resourceGroupName: string, name: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: StaticSitesListStaticSiteFunctionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listStaticSiteFunctions( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listStaticSiteFunctionsNext( resourceGroupName, name, - appSettings, + continuationToken, options - }, - createOrUpdateStaticSiteFunctionAppSettingsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Creates an invitation link for a user with the role - * @summary Creates an invitation link for a user with the role - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param staticSiteUserRolesInvitationEnvelope - * @param [options] The optional parameters - * @returns Promise - */ - createUserRolesInvitationLink( - resourceGroupName: string, - name: string, - staticSiteUserRolesInvitationEnvelope: Models.StaticSiteUserInvitationRequestResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param staticSiteUserRolesInvitationEnvelope - * @param callback The callback - */ - createUserRolesInvitationLink( + private async *listStaticSiteFunctionsPagingAll( resourceGroupName: string, name: string, - staticSiteUserRolesInvitationEnvelope: Models.StaticSiteUserInvitationRequestResource, - callback: msRest.ServiceCallback - ): void; + options?: StaticSitesListStaticSiteFunctionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listStaticSiteFunctionsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets the list of private endpoint connections associated with a static site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param staticSiteUserRolesInvitationEnvelope - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createUserRolesInvitationLink( + public listPrivateEndpointConnectionList( resourceGroupName: string, name: string, - staticSiteUserRolesInvitationEnvelope: Models.StaticSiteUserInvitationRequestResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createUserRolesInvitationLink( + options?: StaticSitesGetPrivateEndpointConnectionListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getPrivateEndpointConnectionListPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getPrivateEndpointConnectionListPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *getPrivateEndpointConnectionListPagingPage( resourceGroupName: string, name: string, - staticSiteUserRolesInvitationEnvelope: Models.StaticSiteUserInvitationRequestResource, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: StaticSitesGetPrivateEndpointConnectionListOptionalParams + ): AsyncIterableIterator { + let result = await this._getPrivateEndpointConnectionList( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getPrivateEndpointConnectionListNext( resourceGroupName, name, - staticSiteUserRolesInvitationEnvelope, + continuationToken, options - }, - createUserRolesInvitationLinkOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets all static site custom domains for a particular static site. - * @summary Gets all static site custom domains for a particular static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site resource to search in. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteCustomDomains( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site resource to search in. - * @param callback The callback - */ - listStaticSiteCustomDomains( + private async *getPrivateEndpointConnectionListPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: StaticSitesGetPrivateEndpointConnectionListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getPrivateEndpointConnectionListPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets the details of the user provided function apps registered with a static site * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site resource to search in. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the static site. + * @param options The options parameters. */ - listStaticSiteCustomDomains( + public listUserProvidedFunctionAppsForStaticSite( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteCustomDomains( + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getUserProvidedFunctionAppsForStaticSitePagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getUserProvidedFunctionAppsForStaticSitePagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *getUserProvidedFunctionAppsForStaticSitePagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams + ): AsyncIterableIterator { + let result = await this._getUserProvidedFunctionAppsForStaticSite( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getUserProvidedFunctionAppsForStaticSiteNext( resourceGroupName, name, + continuationToken, options - }, - listStaticSiteCustomDomainsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets an existing custom domain for a particular static site. - * @summary Gets an existing custom domain for a particular static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site resource to search in. - * @param domainName The custom domain name. - * @param [options] The optional parameters - * @returns Promise - */ - getStaticSiteCustomDomain( + private async *getUserProvidedFunctionAppsForStaticSitePagingAll( resourceGroupName: string, name: string, - domainName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getUserProvidedFunctionAppsForStaticSitePagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site resource to search in. - * @param domainName The custom domain name. - * @param callback The callback + * Description for Generates a preview workflow file for the static site + * @param location Location where you plan to create the static site. + * @param staticSitesWorkflowPreviewRequest A JSON representation of the + * StaticSitesWorkflowPreviewRequest properties. See example. + * @param options The options parameters. */ - getStaticSiteCustomDomain( - resourceGroupName: string, - name: string, - domainName: string, - callback: msRest.ServiceCallback - ): void; + previewWorkflow( + location: string, + staticSitesWorkflowPreviewRequest: StaticSitesWorkflowPreviewRequest, + options?: StaticSitesPreviewWorkflowOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, staticSitesWorkflowPreviewRequest, options }, + previewWorkflowOperationSpec + ); + } + + /** + * Description for Get all Static Sites for a subscription. + * @param options The options parameters. + */ + private _list( + options?: StaticSitesListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Description for Gets all static sites in the specified resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site resource to search in. - * @param domainName The custom domain name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getStaticSiteCustomDomain( - resourceGroupName: string, - name: string, - domainName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getStaticSiteCustomDomain( + private _getStaticSitesByResourceGroup( resourceGroupName: string, - name: string, - domainName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: StaticSitesGetStaticSitesByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - domainName, - options - }, - getStaticSiteCustomDomainOperationSpec, - callback - ) as Promise; + { resourceGroupName, options }, + getStaticSitesByResourceGroupOperationSpec + ); } /** - * Description for Creates a new static site custom domain in an existing resource group and static - * site. - * @summary Creates a new static site custom domain in an existing resource group and static site. + * Description for Gets the details of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param domainName The custom domain to create. - * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site - * custom domain request properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdateStaticSiteCustomDomain( + getStaticSite( resourceGroupName: string, name: string, - domainName: string, - staticSiteCustomDomainRequestPropertiesEnvelope: Models.StaticSiteCustomDomainRequestPropertiesARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdateStaticSiteCustomDomain( - resourceGroupName, - name, - domainName, - staticSiteCustomDomainRequestPropertiesEnvelope, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse - >; + options?: StaticSitesGetStaticSiteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getStaticSiteOperationSpec + ); } /** - * Description for Deletes a custom domain. - * @summary Deletes a custom domain. + * Description for Creates a new static site in an existing resource group, or updates an existing + * static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param domainName The custom domain to delete. - * @param [options] The optional parameters - * @returns Promise - */ - deleteStaticSiteCustomDomain( - resourceGroupName: string, - name: string, - domainName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginDeleteStaticSiteCustomDomain( - resourceGroupName, - name, - domainName, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + * @param name Name of the static site to create or update. + * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. + * @param options The options parameters. + */ + async beginCreateOrUpdateStaticSite( + resourceGroupName: string, + name: string, + staticSiteEnvelope: StaticSiteARMResource, + options?: StaticSitesCreateOrUpdateStaticSiteOptionalParams + ): Promise< + PollerLike< + PollOperationState, + StaticSitesCreateOrUpdateStaticSiteResponse + > + > { + 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, name, staticSiteEnvelope, options }, + createOrUpdateStaticSiteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Validates a particular custom domain can be added to a static site. - * @summary Validates a particular custom domain can be added to a static site. + * Description for Creates a new static site in an existing resource group, or updates an existing + * static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param domainName The custom domain to validate. - * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site - * custom domain request properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the static site to create or update. + * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. + * @param options The options parameters. */ - validateCustomDomainCanBeAddedToStaticSite( + async beginCreateOrUpdateStaticSiteAndWait( resourceGroupName: string, name: string, - domainName: string, - staticSiteCustomDomainRequestPropertiesEnvelope: Models.StaticSiteCustomDomainRequestPropertiesARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginValidateCustomDomainCanBeAddedToStaticSite( + staticSiteEnvelope: StaticSiteARMResource, + options?: StaticSitesCreateOrUpdateStaticSiteOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateStaticSite( resourceGroupName, name, - domainName, - staticSiteCustomDomainRequestPropertiesEnvelope, + staticSiteEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + ); + return poller.pollUntilDone(); } /** - * Description for Detaches a static site. - * @summary Detaches a static site. + * Description for Deletes a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to detach. - * @param [options] The optional parameters - * @returns Promise - */ - detachStaticSite( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginDetachStaticSite(resourceGroupName, name, options).then((lroPoller) => - lroPoller.pollUntilFinished() + * @param name Name of the static site to delete. + * @param options The options parameters. + */ + async beginDeleteStaticSite( + resourceGroupName: string, + name: string, + options?: StaticSitesDeleteStaticSiteOptionalParams + ): 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, name, options }, + deleteStaticSiteOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Gets the functions of a static site. - * @summary Gets the functions of a static site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteFunctions( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Deletes a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param callback The callback + * @param name Name of the static site to delete. + * @param options The options parameters. */ - listStaticSiteFunctions( + async beginDeleteStaticSiteAndWait( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: StaticSitesDeleteStaticSiteOptionalParams + ): Promise { + const poller = await this.beginDeleteStaticSite( + resourceGroupName, + name, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Creates a new static site in an existing resource group, or updates an existing + * static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the static site to create or update. + * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. + * @param options The options parameters. */ - listStaticSiteFunctions( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteFunctions( + updateStaticSite( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + staticSiteEnvelope: StaticSitePatchResource, + options?: StaticSitesUpdateStaticSiteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listStaticSiteFunctionsOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, staticSiteEnvelope, options }, + updateStaticSiteOperationSpec + ); } /** - * Description for Gets the application settings of a static site. - * @summary Gets the application settings of a static site. + * Description for Gets the list of users of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise + * @param authprovider The auth provider for the users. + * @param options The options parameters. */ - listStaticSiteAppSettings( + private _listStaticSiteUsers( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + authprovider: string, + options?: StaticSitesListStaticSiteUsersOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, authprovider, options }, + listStaticSiteUsersOperationSpec + ); + } + /** + * Description for Deletes the user entry from the static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param callback The callback + * @param name Name of the staticsite. + * @param authprovider The auth provider for this user. + * @param userid The user id of the user. + * @param options The options parameters. */ - listStaticSiteAppSettings( + deleteStaticSiteUser( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + authprovider: string, + userid: string, + options?: StaticSitesDeleteStaticSiteUserOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, authprovider, userid, options }, + deleteStaticSiteUserOperationSpec + ); + } + /** + * Description for Updates a user entry with the listed roles * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback + * @param authprovider The auth provider for this user. + * @param userid The user id of the user. + * @param staticSiteUserEnvelope A JSON representation of the StaticSiteUser properties. See example. + * @param options The options parameters. */ - listStaticSiteAppSettings( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteAppSettings( + updateStaticSiteUser( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + authprovider: string, + userid: string, + staticSiteUserEnvelope: StaticSiteUserARMResource, + options?: StaticSitesUpdateStaticSiteUserOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + authprovider, + userid, + staticSiteUserEnvelope, options }, - listStaticSiteAppSettingsOperationSpec, - callback - ) as Promise; + updateStaticSiteUserOperationSpec + ); } /** - * Description for Lists the roles configured for the static site. - * @summary Lists the roles configured for the static site. + * Description for Gets all static site builds for a particular static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listStaticSiteConfiguredRoles( + private _getStaticSiteBuilds( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: StaticSitesGetStaticSiteBuildsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getStaticSiteBuildsOperationSpec + ); + } + /** + * Description for Gets the details of a static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param callback The callback + * @param environmentName The stage site identifier. + * @param options The options parameters. */ - listStaticSiteConfiguredRoles( + getStaticSiteBuild( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + environmentName: string, + options?: StaticSitesGetStaticSiteBuildOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, environmentName, options }, + getStaticSiteBuildOperationSpec + ); + } + /** + * Description for Deletes a static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback + * @param environmentName The stage site identifier. + * @param options The options parameters. */ - listStaticSiteConfiguredRoles( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteConfiguredRoles( + async beginDeleteStaticSiteBuild( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listStaticSiteConfiguredRolesOperationSpec, - callback - ) as Promise; + environmentName: string, + options?: StaticSitesDeleteStaticSiteBuildOptionalParams + ): 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, name, environmentName, options }, + deleteStaticSiteBuildOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Gets the application settings of a static site. - * @summary Gets the application settings of a static site. + * Description for Deletes a static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise + * @param environmentName The stage site identifier. + * @param options The options parameters. */ - listStaticSiteFunctionAppSettings( + async beginDeleteStaticSiteBuildAndWait( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + environmentName: string, + options?: StaticSitesDeleteStaticSiteBuildOptionalParams + ): Promise { + const poller = await this.beginDeleteStaticSiteBuild( + resourceGroupName, + name, + environmentName, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Creates or updates the app settings of a static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param callback The callback + * @param environmentName The stage site identifier. + * @param appSettings The dictionary containing the static site app settings to update. + * @param options The options parameters. */ - listStaticSiteFunctionAppSettings( + createOrUpdateStaticSiteBuildAppSettings( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + environmentName: string, + appSettings: StringDictionary, + options?: StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, environmentName, appSettings, options }, + createOrUpdateStaticSiteBuildAppSettingsOperationSpec + ); + } + /** + * Description for Creates or updates the function app settings of a static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback + * @param environmentName The stage site identifier. + * @param appSettings The dictionary containing the static site function app settings to update. + * @param options The options parameters. */ - listStaticSiteFunctionAppSettings( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteFunctionAppSettings( + createOrUpdateStaticSiteBuildFunctionAppSettings( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + environmentName: string, + appSettings: StringDictionary, + options?: StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsOptionalParams + ): Promise< + StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsResponse + > { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listStaticSiteFunctionAppSettingsOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, environmentName, appSettings, options }, + createOrUpdateStaticSiteBuildFunctionAppSettingsOperationSpec + ); } /** - * Description for Lists the secrets for an existing static site. - * @summary Lists the secrets for an existing static site. + * Description for Gets the functions of a particular static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise + * @param environmentName The stage site identifier. + * @param options The options parameters. */ - listStaticSiteSecrets( + private _listStaticSiteBuildFunctions( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + environmentName: string, + options?: StaticSitesListStaticSiteBuildFunctionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, environmentName, options }, + listStaticSiteBuildFunctionsOperationSpec + ); + } + /** + * Description for Gets the application settings of a static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param callback The callback + * @param environmentName The stage site identifier. + * @param options The options parameters. */ - listStaticSiteSecrets( + listStaticSiteBuildAppSettings( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + environmentName: string, + options?: StaticSitesListStaticSiteBuildAppSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, environmentName, options }, + listStaticSiteBuildAppSettingsOperationSpec + ); + } + /** + * Description for Gets the application settings of a static site build. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback + * @param environmentName The stage site identifier. + * @param options The options parameters. */ - listStaticSiteSecrets( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteSecrets( + listStaticSiteBuildFunctionAppSettings( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + environmentName: string, + options?: StaticSitesListStaticSiteBuildFunctionAppSettingsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listStaticSiteSecretsOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, environmentName, options }, + listStaticSiteBuildFunctionAppSettingsOperationSpec + ); } /** - * Description for Gets the list of private endpoint connections associated with a static site - * @summary Gets the list of private endpoint connections associated with a static site + * Description for Gets the details of the user provided function apps registered with a static site + * build * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise + * @param environmentName The stage site identifier. + * @param options The options parameters. */ - getPrivateEndpointConnectionList( + private _getUserProvidedFunctionAppsForStaticSiteBuild( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + environmentName: string, + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, environmentName, options }, + getUserProvidedFunctionAppsForStaticSiteBuildOperationSpec + ); + } + /** + * Description for Gets the details of the user provided function app registered with a static site + * build * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param callback The callback + * @param environmentName The stage site identifier. + * @param functionAppName Name of the function app registered with the static site build. + * @param options The options parameters. */ - getPrivateEndpointConnectionList( + getUserProvidedFunctionAppForStaticSiteBuild( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + environmentName: string, + functionAppName: string, + options?: StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, environmentName, functionAppName, options }, + getUserProvidedFunctionAppForStaticSiteBuildOperationSpec + ); + } + /** + * Description for Register a user provided function app with a static site build * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback + * @param environmentName The stage site identifier. + * @param functionAppName Name of the function app to register with the static site build. + * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided function + * app properties. See example. + * @param options The options parameters. */ - getPrivateEndpointConnectionList( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionList( + async beginRegisterUserProvidedFunctionAppWithStaticSiteBuild( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( + environmentName: string, + functionAppName: string, + staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, + options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams + ): Promise< + PollerLike< + PollOperationState< + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse + >, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse + > + > { + 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, name, + environmentName, + functionAppName, + staticSiteUserProvidedFunctionEnvelope, options }, - getPrivateEndpointConnectionListOperationSpec, - callback - ) as Promise; + registerUserProvidedFunctionAppWithStaticSiteBuildOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Gets a private endpoint connection - * @summary Gets a private endpoint connection + * Description for Register a user provided function app with a static site build * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param [options] The optional parameters - * @returns Promise + * @param environmentName The stage site identifier. + * @param functionAppName Name of the function app to register with the static site build. + * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided function + * app properties. See example. + * @param options The options parameters. */ - getPrivateEndpointConnection( + async beginRegisterUserProvidedFunctionAppWithStaticSiteBuildAndWait( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise; + environmentName: string, + functionAppName: string, + staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, + options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams + ): Promise< + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse + > { + const poller = await this.beginRegisterUserProvidedFunctionAppWithStaticSiteBuild( + resourceGroupName, + name, + environmentName, + functionAppName, + staticSiteUserProvidedFunctionEnvelope, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Detach the user provided function app from the static site build * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param callback The callback + * @param environmentName The stage site identifier. + * @param functionAppName Name of the function app registered with the static site build. + * @param options The options parameters. */ - getPrivateEndpointConnection( + detachUserProvidedFunctionAppFromStaticSiteBuild( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - callback: msRest.ServiceCallback - ): void; + environmentName: string, + functionAppName: string, + options?: StaticSitesDetachUserProvidedFunctionAppFromStaticSiteBuildOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, environmentName, functionAppName, options }, + detachUserProvidedFunctionAppFromStaticSiteBuildOperationSpec + ); + } + /** + * Description for Deploys zipped content to a specific environment of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param options The optional parameters - * @param callback The callback + * @param environmentName Name of the environment. + * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment + * properties. See example. + * @param options The options parameters. */ - getPrivateEndpointConnection( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnection( + async beginCreateZipDeploymentForStaticSiteBuild( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( + environmentName: string, + staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, + options?: StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams + ): 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, name, - privateEndpointConnectionName, + environmentName, + staticSiteZipDeploymentEnvelope, options }, - getPrivateEndpointConnectionOperationSpec, - callback - ) as Promise; + createZipDeploymentForStaticSiteBuildOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Approves or rejects a private endpoint connection - * @summary Approves or rejects a private endpoint connection + * Description for Deploys zipped content to a specific environment of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param privateEndpointWrapper Request body. - * @param [options] The optional parameters - * @returns Promise + * @param environmentName Name of the environment. + * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment + * properties. See example. + * @param options The options parameters. */ - approveOrRejectPrivateEndpointConnection( + async beginCreateZipDeploymentForStaticSiteBuildAndWait( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - privateEndpointWrapper: Models.PrivateLinkConnectionApprovalRequestResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginApproveOrRejectPrivateEndpointConnection( + environmentName: string, + staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, + options?: StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams + ): Promise { + const poller = await this.beginCreateZipDeploymentForStaticSiteBuild( resourceGroupName, name, - privateEndpointConnectionName, - privateEndpointWrapper, + environmentName, + staticSiteZipDeploymentEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.StaticSitesApproveOrRejectPrivateEndpointConnectionResponse - >; + ); + return poller.pollUntilDone(); } /** - * Description for Deletes a private endpoint connection - * @summary Deletes a private endpoint connection + * Description for Creates or updates the app settings of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param [options] The optional parameters - * @returns Promise + * @param appSettings The dictionary containing the static site app settings to update. + * @param options The options parameters. */ - deletePrivateEndpointConnection( + createOrUpdateStaticSiteAppSettings( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginDeletePrivateEndpointConnection( - resourceGroupName, - name, - privateEndpointConnectionName, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.StaticSitesDeletePrivateEndpointConnectionResponse - >; + appSettings: StringDictionary, + options?: StaticSitesCreateOrUpdateStaticSiteAppSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, appSettings, options }, + createOrUpdateStaticSiteAppSettingsOperationSpec + ); } /** - * Description for Gets the private link resources - * @summary Gets the private link resources - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateLinkResources( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Creates or updates the function app settings of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param callback The callback + * @param name Name of the static site. + * @param appSettings The dictionary containing the static site function app settings to update. + * @param options The options parameters. */ - getPrivateLinkResources( + createOrUpdateStaticSiteFunctionAppSettings( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + appSettings: StringDictionary, + options?: StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, appSettings, options }, + createOrUpdateStaticSiteFunctionAppSettingsOperationSpec + ); + } + /** + * Description for Creates an invitation link for a user with the role * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the static site. + * @param staticSiteUserRolesInvitationEnvelope Static sites user roles invitation resource. + * @param options The options parameters. */ - getPrivateLinkResources( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateLinkResources( + createUserRolesInvitationLink( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + staticSiteUserRolesInvitationEnvelope: StaticSiteUserInvitationRequestResource, + options?: StaticSitesCreateUserRolesInvitationLinkOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + staticSiteUserRolesInvitationEnvelope, options }, - getPrivateLinkResourcesOperationSpec, - callback - ) as Promise; + createUserRolesInvitationLinkOperationSpec + ); } /** - * Description for Resets the api key for an existing static site. - * @summary Resets the api key for an existing static site. + * Description for Gets all static site custom domains for a particular static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param resetPropertiesEnvelope - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the static site resource to search in. + * @param options The options parameters. */ - resetStaticSiteApiKey( + private _listStaticSiteCustomDomains( resourceGroupName: string, name: string, - resetPropertiesEnvelope: Models.StaticSiteResetPropertiesARMResource, - options?: msRest.RequestOptionsBase - ): Promise; + options?: StaticSitesListStaticSiteCustomDomainsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listStaticSiteCustomDomainsOperationSpec + ); + } + /** + * Description for Gets an existing custom domain for a particular static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param resetPropertiesEnvelope - * @param callback The callback + * @param name Name of the static site resource to search in. + * @param domainName The custom domain name. + * @param options The options parameters. */ - resetStaticSiteApiKey( + getStaticSiteCustomDomain( resourceGroupName: string, name: string, - resetPropertiesEnvelope: Models.StaticSiteResetPropertiesARMResource, - callback: msRest.ServiceCallback - ): void; + domainName: string, + options?: StaticSitesGetStaticSiteCustomDomainOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, domainName, options }, + getStaticSiteCustomDomainOperationSpec + ); + } + /** + * Description for Creates a new static site custom domain in an existing resource group and static + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param resetPropertiesEnvelope - * @param options The optional parameters - * @param callback The callback + * @param domainName The custom domain to create. + * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site + * custom domain request properties. See example. + * @param options The options parameters. */ - resetStaticSiteApiKey( - resourceGroupName: string, - name: string, - resetPropertiesEnvelope: Models.StaticSiteResetPropertiesARMResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - resetStaticSiteApiKey( + async beginCreateOrUpdateStaticSiteCustomDomain( resourceGroupName: string, name: string, - resetPropertiesEnvelope: Models.StaticSiteResetPropertiesARMResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( + domainName: string, + staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, + options?: StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams + ): Promise< + PollerLike< + PollOperationState< + StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse + >, + StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse + > + > { + 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, name, - resetPropertiesEnvelope, + domainName, + staticSiteCustomDomainRequestPropertiesEnvelope, options }, - resetStaticSiteApiKeyOperationSpec, - callback + createOrUpdateStaticSiteCustomDomainOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Gets the details of the user provided function apps registered with a static - * site - * @summary Gets the details of the user provided function apps registered with a static site + * Description for Creates a new static site custom domain in an existing resource group and static + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param [options] The optional parameters - * @returns Promise + * @param domainName The custom domain to create. + * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site + * custom domain request properties. See example. + * @param options The options parameters. */ - getUserProvidedFunctionAppsForStaticSite( + async beginCreateOrUpdateStaticSiteCustomDomainAndWait( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + domainName: string, + staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, + options?: StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateStaticSiteCustomDomain( + resourceGroupName, + name, + domainName, + staticSiteCustomDomainRequestPropertiesEnvelope, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Deletes a custom domain. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param callback The callback + * @param domainName The custom domain to delete. + * @param options The options parameters. */ - getUserProvidedFunctionAppsForStaticSite( + async beginDeleteStaticSiteCustomDomain( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + domainName: string, + options?: StaticSitesDeleteStaticSiteCustomDomainOptionalParams + ): 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, name, domainName, options }, + deleteStaticSiteCustomDomainOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Deletes a custom domain. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param options The optional parameters - * @param callback The callback + * @param domainName The custom domain to delete. + * @param options The options parameters. */ - getUserProvidedFunctionAppsForStaticSite( + async beginDeleteStaticSiteCustomDomainAndWait( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getUserProvidedFunctionAppsForStaticSite( + domainName: string, + options?: StaticSitesDeleteStaticSiteCustomDomainOptionalParams + ): Promise { + const poller = await this.beginDeleteStaticSiteCustomDomain( + resourceGroupName, + name, + domainName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Description for Validates a particular custom domain can be added to a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param domainName The custom domain to validate. + * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site + * custom domain request properties. See example. + * @param options The options parameters. + */ + async beginValidateCustomDomainCanBeAddedToStaticSite( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( + domainName: string, + staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, + options?: StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams + ): 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, name, + domainName, + staticSiteCustomDomainRequestPropertiesEnvelope, options }, - getUserProvidedFunctionAppsForStaticSiteOperationSpec, - callback - ) as Promise; + validateCustomDomainCanBeAddedToStaticSiteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Gets the details of the user provided function app registered with a static site - * @summary Gets the details of the user provided function app registered with a static site + * Description for Validates a particular custom domain can be added to a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param functionAppName Name of the function app registered with the static site. - * @param [options] The optional parameters - * @returns Promise + * @param domainName The custom domain to validate. + * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site + * custom domain request properties. See example. + * @param options The options parameters. */ - getUserProvidedFunctionAppForStaticSite( + async beginValidateCustomDomainCanBeAddedToStaticSiteAndWait( resourceGroupName: string, name: string, - functionAppName: string, - options?: msRest.RequestOptionsBase - ): Promise; + domainName: string, + staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, + options?: StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams + ): Promise { + const poller = await this.beginValidateCustomDomainCanBeAddedToStaticSite( + resourceGroupName, + name, + domainName, + staticSiteCustomDomainRequestPropertiesEnvelope, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Detaches a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param functionAppName Name of the function app registered with the static site. - * @param callback The callback + * @param name Name of the static site to detach. + * @param options The options parameters. + */ + async beginDetachStaticSite( + resourceGroupName: string, + name: string, + options?: StaticSitesDetachStaticSiteOptionalParams + ): 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, name, options }, + detachStaticSiteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Detaches a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site to detach. + * @param options The options parameters. */ - getUserProvidedFunctionAppForStaticSite( + async beginDetachStaticSiteAndWait( resourceGroupName: string, name: string, - functionAppName: string, - callback: msRest.ServiceCallback - ): void; + options?: StaticSitesDetachStaticSiteOptionalParams + ): Promise { + const poller = await this.beginDetachStaticSite( + resourceGroupName, + name, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Gets the functions of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param functionAppName Name of the function app registered with the static site. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getUserProvidedFunctionAppForStaticSite( - resourceGroupName: string, - name: string, - functionAppName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getUserProvidedFunctionAppForStaticSite( + private _listStaticSiteFunctions( resourceGroupName: string, name: string, - functionAppName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: StaticSitesListStaticSiteFunctionsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - functionAppName, - options - }, - getUserProvidedFunctionAppForStaticSiteOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listStaticSiteFunctionsOperationSpec + ); } /** - * Description for Register a user provided function app with a static site - * @summary Register a user provided function app with a static site + * Description for Gets the application settings of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param functionAppName Name of the function app to register with the static site. - * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided - * function app properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - registerUserProvidedFunctionAppWithStaticSite( + listStaticSiteAppSettings( resourceGroupName: string, name: string, - functionAppName: string, - staticSiteUserProvidedFunctionEnvelope: Models.StaticSiteUserProvidedFunctionAppARMResource, - options?: Models.StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams - ): Promise { - return this.beginRegisterUserProvidedFunctionAppWithStaticSite( - resourceGroupName, - name, - functionAppName, - staticSiteUserProvidedFunctionEnvelope, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse - >; + options?: StaticSitesListStaticSiteAppSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listStaticSiteAppSettingsOperationSpec + ); } /** - * Description for Detach the user provided function app from the static site - * @summary Detach the user provided function app from the static site + * Description for Lists the roles configured for the static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param functionAppName Name of the function app registered with the static site. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - detachUserProvidedFunctionAppFromStaticSite( + listStaticSiteConfiguredRoles( resourceGroupName: string, name: string, - functionAppName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: StaticSitesListStaticSiteConfiguredRolesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listStaticSiteConfiguredRolesOperationSpec + ); + } + /** + * Description for Gets the application settings of a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param functionAppName Name of the function app registered with the static site. - * @param callback The callback + * @param options The options parameters. */ - detachUserProvidedFunctionAppFromStaticSite( + listStaticSiteFunctionAppSettings( resourceGroupName: string, name: string, - functionAppName: string, - callback: msRest.ServiceCallback - ): void; + options?: StaticSitesListStaticSiteFunctionAppSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listStaticSiteFunctionAppSettingsOperationSpec + ); + } + /** + * Description for Lists the secrets for an existing static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param functionAppName Name of the function app registered with the static site. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - detachUserProvidedFunctionAppFromStaticSite( - resourceGroupName: string, - name: string, - functionAppName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - detachUserProvidedFunctionAppFromStaticSite( + listStaticSiteSecrets( resourceGroupName: string, name: string, - functionAppName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: StaticSitesListStaticSiteSecretsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - functionAppName, - options - }, - detachUserProvidedFunctionAppFromStaticSiteOperationSpec, - callback + { resourceGroupName, name, options }, + listStaticSiteSecretsOperationSpec ); } /** - * Description for Deploys zipped content to a static site. - * @summary Deploys zipped content to a static site. + * Description for Gets the list of private endpoint connections associated with a static site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment - * properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createZipDeploymentForStaticSite( + private _getPrivateEndpointConnectionList( resourceGroupName: string, name: string, - staticSiteZipDeploymentEnvelope: Models.StaticSiteZipDeploymentARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateZipDeploymentForStaticSite( - resourceGroupName, - name, - staticSiteZipDeploymentEnvelope, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + options?: StaticSitesGetPrivateEndpointConnectionListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getPrivateEndpointConnectionListOperationSpec + ); } /** - * Description for Creates a new static site in an existing resource group, or updates an existing - * static site. - * @summary Creates a new static site in an existing resource group, or updates an existing static - * site. + * Description for Gets a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to create or update. - * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the static site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. */ - beginCreateOrUpdateStaticSite( + getPrivateEndpointConnection( resourceGroupName: string, name: string, - staticSiteEnvelope: Models.StaticSiteARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - staticSiteEnvelope, - options - }, - beginCreateOrUpdateStaticSiteOperationSpec, - options + privateEndpointConnectionName: string, + options?: StaticSitesGetPrivateEndpointConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, privateEndpointConnectionName, options }, + getPrivateEndpointConnectionOperationSpec ); } /** - * Description for Deletes a static site. - * @summary Deletes a static site. + * Description for Approves or rejects a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to delete. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the static site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param privateEndpointWrapper Request body. + * @param options The options parameters. */ - beginDeleteStaticSite( + async beginApproveOrRejectPrivateEndpointConnection( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + StaticSitesApproveOrRejectPrivateEndpointConnectionResponse + >, + StaticSitesApproveOrRejectPrivateEndpointConnectionResponse + > + > { + 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, name, + privateEndpointConnectionName, + privateEndpointWrapper, options }, - beginDeleteStaticSiteOperationSpec, - options + approveOrRejectPrivateEndpointConnectionOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Deletes a static site build. - * @summary Deletes a static site build. + * Description for Approves or rejects a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param [options] The optional parameters - * @returns Promise + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param privateEndpointWrapper Request body. + * @param options The options parameters. */ - beginDeleteStaticSiteBuild( + async beginApproveOrRejectPrivateEndpointConnectionAndWait( resourceGroupName: string, name: string, - environmentName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - environmentName, - options - }, - beginDeleteStaticSiteBuildOperationSpec, + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise { + const poller = await this.beginApproveOrRejectPrivateEndpointConnection( + resourceGroupName, + name, + privateEndpointConnectionName, + privateEndpointWrapper, options ); + return poller.pollUntilDone(); } /** - * Description for Register a user provided function app with a static site build - * @summary Register a user provided function app with a static site build + * Description for Deletes a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param environmentName The stage site identifier. - * @param functionAppName Name of the function app to register with the static site build. - * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided - * function app properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. */ - beginRegisterUserProvidedFunctionAppWithStaticSiteBuild( + async beginDeletePrivateEndpointConnection( resourceGroupName: string, name: string, - environmentName: string, - functionAppName: string, - staticSiteUserProvidedFunctionEnvelope: Models.StaticSiteUserProvidedFunctionAppARMResource, - options?: Models.StaticSitesBeginRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - environmentName, - functionAppName, - staticSiteUserProvidedFunctionEnvelope, - options - }, - beginRegisterUserProvidedFunctionAppWithStaticSiteBuildOperationSpec, - options + privateEndpointConnectionName: string, + options?: StaticSitesDeletePrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState, + StaticSitesDeletePrivateEndpointConnectionResponse + > + > { + 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, name, privateEndpointConnectionName, options }, + deletePrivateEndpointConnectionOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Deploys zipped content to a specific environment of a static site. - * @summary Deploys zipped content to a specific environment of a static site. + * Description for Deletes a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param environmentName Name of the environment. - * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment - * properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. */ - beginCreateZipDeploymentForStaticSiteBuild( + async beginDeletePrivateEndpointConnectionAndWait( resourceGroupName: string, name: string, - environmentName: string, - staticSiteZipDeploymentEnvelope: Models.StaticSiteZipDeploymentARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - environmentName, - staticSiteZipDeploymentEnvelope, - options - }, - beginCreateZipDeploymentForStaticSiteBuildOperationSpec, + privateEndpointConnectionName: string, + options?: StaticSitesDeletePrivateEndpointConnectionOptionalParams + ): Promise { + const poller = await this.beginDeletePrivateEndpointConnection( + resourceGroupName, + name, + privateEndpointConnectionName, options ); + return poller.pollUntilDone(); } /** - * Description for Creates a new static site custom domain in an existing resource group and static - * site. - * @summary Creates a new static site custom domain in an existing resource group and static site. + * Description for Gets the private link resources * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site. - * @param domainName The custom domain to create. - * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site - * custom domain request properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the site. + * @param options The options parameters. */ - beginCreateOrUpdateStaticSiteCustomDomain( + getPrivateLinkResources( resourceGroupName: string, name: string, - domainName: string, - staticSiteCustomDomainRequestPropertiesEnvelope: Models.StaticSiteCustomDomainRequestPropertiesARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - domainName, - staticSiteCustomDomainRequestPropertiesEnvelope, - options - }, - beginCreateOrUpdateStaticSiteCustomDomainOperationSpec, - options + options?: StaticSitesGetPrivateLinkResourcesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getPrivateLinkResourcesOperationSpec ); } /** - * Description for Deletes a custom domain. - * @summary Deletes a custom domain. + * Description for Resets the api key for an existing static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param domainName The custom domain to delete. - * @param [options] The optional parameters - * @returns Promise + * @param resetPropertiesEnvelope Static Site Reset Properties ARM resource. + * @param options The options parameters. */ - beginDeleteStaticSiteCustomDomain( + resetStaticSiteApiKey( resourceGroupName: string, name: string, - domainName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - domainName, - options - }, - beginDeleteStaticSiteCustomDomainOperationSpec, - options + resetPropertiesEnvelope: StaticSiteResetPropertiesARMResource, + options?: StaticSitesResetStaticSiteApiKeyOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, resetPropertiesEnvelope, options }, + resetStaticSiteApiKeyOperationSpec ); } /** - * Description for Validates a particular custom domain can be added to a static site. - * @summary Validates a particular custom domain can be added to a static site. + * Description for Gets the details of the user provided function apps registered with a static site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param domainName The custom domain to validate. - * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site - * custom domain request properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginValidateCustomDomainCanBeAddedToStaticSite( + private _getUserProvidedFunctionAppsForStaticSite( resourceGroupName: string, name: string, - domainName: string, - staticSiteCustomDomainRequestPropertiesEnvelope: Models.StaticSiteCustomDomainRequestPropertiesARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - domainName, - staticSiteCustomDomainRequestPropertiesEnvelope, - options - }, - beginValidateCustomDomainCanBeAddedToStaticSiteOperationSpec, - options + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getUserProvidedFunctionAppsForStaticSiteOperationSpec ); } /** - * Description for Detaches a static site. - * @summary Detaches a static site. + * Description for Gets the details of the user provided function app registered with a static site * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the static site to detach. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the static site. + * @param functionAppName Name of the function app registered with the static site. + * @param options The options parameters. */ - beginDetachStaticSite( + getUserProvidedFunctionAppForStaticSite( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - options - }, - beginDetachStaticSiteOperationSpec, - options + functionAppName: string, + options?: StaticSitesGetUserProvidedFunctionAppForStaticSiteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionAppName, options }, + getUserProvidedFunctionAppForStaticSiteOperationSpec ); } /** - * Description for Approves or rejects a private endpoint connection - * @summary Approves or rejects a private endpoint connection + * Description for Register a user provided function app with a static site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param privateEndpointWrapper Request body. - * @param [options] The optional parameters - * @returns Promise + * @param functionAppName Name of the function app to register with the static site. + * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided function + * app properties. See example. + * @param options The options parameters. */ - beginApproveOrRejectPrivateEndpointConnection( + async beginRegisterUserProvidedFunctionAppWithStaticSite( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - privateEndpointWrapper: Models.PrivateLinkConnectionApprovalRequestResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( + functionAppName: string, + staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, + options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams + ): Promise< + PollerLike< + PollOperationState< + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse + >, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse + > + > { + 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, name, - privateEndpointConnectionName, - privateEndpointWrapper, + functionAppName, + staticSiteUserProvidedFunctionEnvelope, options }, - beginApproveOrRejectPrivateEndpointConnectionOperationSpec, - options + registerUserProvidedFunctionAppWithStaticSiteOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Deletes a private endpoint connection - * @summary Deletes a private endpoint connection + * Description for Register a user provided function app with a static site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param [options] The optional parameters - * @returns Promise + * @param functionAppName Name of the function app to register with the static site. + * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided function + * app properties. See example. + * @param options The options parameters. */ - beginDeletePrivateEndpointConnection( + async beginRegisterUserProvidedFunctionAppWithStaticSiteAndWait( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - privateEndpointConnectionName, - options - }, - beginDeletePrivateEndpointConnectionOperationSpec, + functionAppName: string, + staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, + options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams + ): Promise { + const poller = await this.beginRegisterUserProvidedFunctionAppWithStaticSite( + resourceGroupName, + name, + functionAppName, + staticSiteUserProvidedFunctionEnvelope, options ); + return poller.pollUntilDone(); } /** - * Description for Register a user provided function app with a static site - * @summary Register a user provided function app with a static site + * Description for Detach the user provided function app from the static site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. - * @param functionAppName Name of the function app to register with the static site. - * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided - * function app properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param functionAppName Name of the function app registered with the static site. + * @param options The options parameters. */ - beginRegisterUserProvidedFunctionAppWithStaticSite( + detachUserProvidedFunctionAppFromStaticSite( resourceGroupName: string, name: string, functionAppName: string, - staticSiteUserProvidedFunctionEnvelope: Models.StaticSiteUserProvidedFunctionAppARMResource, - options?: Models.StaticSitesBeginRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - functionAppName, - staticSiteUserProvidedFunctionEnvelope, - options - }, - beginRegisterUserProvidedFunctionAppWithStaticSiteOperationSpec, - options + options?: StaticSitesDetachUserProvidedFunctionAppFromStaticSiteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionAppName, options }, + detachUserProvidedFunctionAppFromStaticSiteOperationSpec + ); + } + + /** + * Description for Deploys zipped content to a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment + * properties. See example. + * @param options The options parameters. + */ + async beginCreateZipDeploymentForStaticSite( + resourceGroupName: string, + name: string, + staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, + options?: StaticSitesCreateZipDeploymentForStaticSiteOptionalParams + ): 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, name, staticSiteZipDeploymentEnvelope, options }, + createZipDeploymentForStaticSiteOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Description for Deploys zipped content to a static site. - * @summary Deploys zipped content to a static site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the static site. * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment - * properties. See example. - * @param [options] The optional parameters - * @returns Promise + * properties. See example. + * @param options The options parameters. */ - beginCreateZipDeploymentForStaticSite( + async beginCreateZipDeploymentForStaticSiteAndWait( resourceGroupName: string, name: string, - staticSiteZipDeploymentEnvelope: Models.StaticSiteZipDeploymentARMResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - staticSiteZipDeploymentEnvelope, - options - }, - beginCreateZipDeploymentForStaticSiteOperationSpec, + staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, + options?: StaticSitesCreateZipDeploymentForStaticSiteOptionalParams + ): Promise { + const poller = await this.beginCreateZipDeploymentForStaticSite( + resourceGroupName, + name, + staticSiteZipDeploymentEnvelope, options ); + return poller.pollUntilDone(); } /** - * Description for Get all Static Sites for a subscription. - * @summary Get all Static Sites for a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listNext( + nextLink: string, + options?: StaticSitesListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Description for Gets all static sites in the specified resource group. - * @summary Gets all static sites in the specified resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getStaticSitesByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getStaticSitesByResourceGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetStaticSitesByResourceGroupNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param nextLink The nextLink from the previous successful call to the GetStaticSitesByResourceGroup + * method. + * @param options The options parameters. */ - getStaticSitesByResourceGroupNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getStaticSitesByResourceGroupNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getStaticSitesByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: StaticSitesGetStaticSitesByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getStaticSitesByResourceGroupNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, nextLink, options }, + getStaticSitesByResourceGroupNextOperationSpec + ); } /** - * Description for Gets the list of users of a static site. - * @summary Gets the list of users of a static site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteUsersNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listStaticSiteUsersNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListStaticSiteUsersNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param authprovider The auth provider for the users. + * @param nextLink The nextLink from the previous successful call to the ListStaticSiteUsers method. + * @param options The options parameters. */ - listStaticSiteUsersNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteUsersNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listStaticSiteUsersNext( + resourceGroupName: string, + name: string, + authprovider: string, + nextLink: string, + options?: StaticSitesListStaticSiteUsersNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listStaticSiteUsersNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, authprovider, nextLink, options }, + listStaticSiteUsersNextOperationSpec + ); } /** - * Description for Gets all static site builds for a particular static site. - * @summary Gets all static site builds for a particular static site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getStaticSiteBuildsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getStaticSiteBuildsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetStaticSiteBuildsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param nextLink The nextLink from the previous successful call to the GetStaticSiteBuilds method. + * @param options The options parameters. */ - getStaticSiteBuildsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getStaticSiteBuildsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getStaticSiteBuildsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: StaticSitesGetStaticSiteBuildsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getStaticSiteBuildsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getStaticSiteBuildsNextOperationSpec + ); } /** - * Description for Gets the functions of a particular static site build. - * @summary Gets the functions of a particular static site build. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteBuildFunctionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listStaticSiteBuildFunctionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListStaticSiteBuildFunctionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param nextLink The nextLink from the previous successful call to the ListStaticSiteBuildFunctions + * method. + * @param options The options parameters. */ - listStaticSiteBuildFunctionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteBuildFunctionsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listStaticSiteBuildFunctionsNext( + resourceGroupName: string, + name: string, + environmentName: string, + nextLink: string, + options?: StaticSitesListStaticSiteBuildFunctionsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listStaticSiteBuildFunctionsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, environmentName, nextLink, options }, + listStaticSiteBuildFunctionsNextOperationSpec + ); } /** - * Description for Gets the details of the user provided function apps registered with a static - * site build - * @summary Gets the details of the user provided function apps registered with a static site build - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getUserProvidedFunctionAppsForStaticSiteBuildNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getUserProvidedFunctionAppsForStaticSiteBuildNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetUserProvidedFunctionAppsForStaticSiteBuildNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param nextLink The nextLink from the previous successful call to the + * GetUserProvidedFunctionAppsForStaticSiteBuild method. + * @param options The options parameters. */ - getUserProvidedFunctionAppsForStaticSiteBuildNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getUserProvidedFunctionAppsForStaticSiteBuildNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getUserProvidedFunctionAppsForStaticSiteBuildNext( + resourceGroupName: string, + name: string, + environmentName: string, + nextLink: string, + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextOptionalParams + ): Promise< + StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getUserProvidedFunctionAppsForStaticSiteBuildNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, environmentName, nextLink, options }, + getUserProvidedFunctionAppsForStaticSiteBuildNextOperationSpec + ); } /** - * Description for Gets all static site custom domains for a particular static site. - * @summary Gets all static site custom domains for a particular static site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteCustomDomainsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listStaticSiteCustomDomainsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListStaticSiteCustomDomainsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site resource to search in. + * @param nextLink The nextLink from the previous successful call to the ListStaticSiteCustomDomains + * method. + * @param options The options parameters. */ - listStaticSiteCustomDomainsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteCustomDomainsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listStaticSiteCustomDomainsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: StaticSitesListStaticSiteCustomDomainsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listStaticSiteCustomDomainsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listStaticSiteCustomDomainsNextOperationSpec + ); } /** - * Description for Gets the functions of a static site. - * @summary Gets the functions of a static site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listStaticSiteFunctionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listStaticSiteFunctionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListStaticSiteFunctionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param nextLink The nextLink from the previous successful call to the ListStaticSiteFunctions + * method. + * @param options The options parameters. */ - listStaticSiteFunctionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listStaticSiteFunctionsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listStaticSiteFunctionsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: StaticSitesListStaticSiteFunctionsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listStaticSiteFunctionsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listStaticSiteFunctionsNextOperationSpec + ); } /** - * Description for Gets the list of private endpoint connections associated with a static site - * @summary Gets the list of private endpoint connections associated with a static site - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetPrivateEndpointConnectionListNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param nextLink The nextLink from the previous successful call to the + * GetPrivateEndpointConnectionList method. + * @param options The options parameters. */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getPrivateEndpointConnectionListNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: StaticSitesGetPrivateEndpointConnectionListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getPrivateEndpointConnectionListNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getPrivateEndpointConnectionListNextOperationSpec + ); } /** - * Description for Gets the details of the user provided function apps registered with a static - * site - * @summary Gets the details of the user provided function apps registered with a static site - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getUserProvidedFunctionAppsForStaticSiteNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getUserProvidedFunctionAppsForStaticSiteNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * GetUserProvidedFunctionAppsForStaticSiteNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param nextLink The nextLink from the previous successful call to the + * GetUserProvidedFunctionAppsForStaticSite method. + * @param options The options parameters. */ - getUserProvidedFunctionAppsForStaticSiteNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getUserProvidedFunctionAppsForStaticSiteNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _getUserProvidedFunctionAppsForStaticSiteNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getUserProvidedFunctionAppsForStaticSiteNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getUserProvidedFunctionAppsForStaticSiteNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const previewWorkflowOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const previewWorkflowOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/previewStaticSiteWorkflowFile", - urlParameters: [Parameters.location, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSitesWorkflowPreviewRequest", - mapper: { - ...Mappers.StaticSitesWorkflowPreviewRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/previewStaticSiteWorkflowFile", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.StaticSitesWorkflowPreview @@ -3262,15 +2948,20 @@ const previewWorkflowOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSitesWorkflowPreviewRequest, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listOperationSpec: msRest.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Web/staticSites", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/staticSites", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.StaticSiteCollection @@ -3279,16 +2970,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const getStaticSitesByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getStaticSitesByResourceGroupOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteCollection @@ -3297,16 +2987,19 @@ const getStaticSitesByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getStaticSiteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteARMResource @@ -3315,102 +3008,148 @@ const getStaticSiteOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const createOrUpdateStaticSiteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteEnvelope", - mapper: { - ...Mappers.StaticSitePatchResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.StaticSiteARMResource }, + 201: { + bodyMapper: Mappers.StaticSiteARMResource + }, 202: { bodyMapper: Mappers.StaticSiteARMResource }, + 204: { + bodyMapper: Mappers.StaticSiteARMResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listStaticSiteUsersOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const deleteStaticSiteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/listUsers", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.authprovider, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateStaticSiteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.StaticSiteUserCollection + bodyMapper: Mappers.StaticSiteARMResource + }, + 202: { + bodyMapper: Mappers.StaticSiteARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteEnvelope1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteStaticSiteUserOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const listStaticSiteUsersOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/users/{userid}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/listUsers", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.StaticSiteUserCollection + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.authprovider, - Parameters.userid, - Parameters.subscriptionId + Parameters.authprovider ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteStaticSiteUserOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/users/{userid}", + httpMethod: "DELETE", responses: { 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateStaticSiteUserOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/users/{userid}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.authprovider, - Parameters.userid, - Parameters.subscriptionId + Parameters.userid ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteUserEnvelope", - mapper: { - ...Mappers.StaticSiteUserARMResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateStaticSiteUserOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/users/{userid}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.StaticSiteUserARMResource @@ -3419,16 +3158,24 @@ const updateStaticSiteUserOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteUserEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.authprovider, + Parameters.userid + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getStaticSiteBuildsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getStaticSiteBuildsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteBuildCollection @@ -3437,21 +3184,20 @@ const getStaticSiteBuildsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getStaticSiteBuildOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getStaticSiteBuildOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteBuildARMResource @@ -3460,28 +3206,45 @@ const getStaticSiteBuildOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.environmentName1 + ], + headerParameters: [Parameters.accept], serializer }; - -const createOrUpdateStaticSiteBuildAppSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const deleteStaticSiteBuildOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/config/appsettings", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.environmentName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "appSettings", - mapper: { - ...Mappers.StringDictionary, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateStaticSiteBuildAppSettingsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/config/appsettings", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.StringDictionary @@ -3490,28 +3253,23 @@ const createOrUpdateStaticSiteBuildAppSettingsOperationSpec: msRest.OperationSpe bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateStaticSiteBuildFunctionAppSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/config/functionappsettings", + requestBody: Parameters.appSettings, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.environmentName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "appSettings", - mapper: { - ...Mappers.StringDictionary, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const createOrUpdateStaticSiteBuildFunctionAppSettingsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/config/functionappsettings", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.StringDictionary @@ -3520,21 +3278,23 @@ const createOrUpdateStaticSiteBuildFunctionAppSettingsOperationSpec: msRest.Oper bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listStaticSiteBuildFunctionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/functions", + requestBody: Parameters.appSettings, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.environmentName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listStaticSiteBuildFunctionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/functions", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteFunctionOverviewCollection @@ -3543,21 +3303,21 @@ const listStaticSiteBuildFunctionsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listStaticSiteBuildAppSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/listAppSettings", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.environmentName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listStaticSiteBuildAppSettingsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/listAppSettings", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.StringDictionary @@ -3566,21 +3326,21 @@ const listStaticSiteBuildAppSettingsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listStaticSiteBuildFunctionAppSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/listFunctionAppSettings", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.environmentName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listStaticSiteBuildFunctionAppSettingsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/listFunctionAppSettings", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.StringDictionary @@ -3589,21 +3349,21 @@ const listStaticSiteBuildFunctionAppSettingsOperationSpec: msRest.OperationSpec bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getUserProvidedFunctionAppsForStaticSiteBuildOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/userProvidedFunctionApps", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.environmentName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getUserProvidedFunctionAppsForStaticSiteBuildOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/userProvidedFunctionApps", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppsCollection @@ -3612,70 +3372,129 @@ const getUserProvidedFunctionAppsForStaticSiteBuildOperationSpec: msRest.Operati bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.environmentName1 + ], + headerParameters: [Parameters.accept], serializer }; - -const getUserProvidedFunctionAppForStaticSiteBuildOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getUserProvidedFunctionAppForStaticSiteBuildOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/userProvidedFunctionApps/{functionAppName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/userProvidedFunctionApps/{functionAppName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.functionAppName, - Parameters.subscriptionId + Parameters.environmentName1, + Parameters.functionAppName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const registerUserProvidedFunctionAppWithStaticSiteBuildOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/userProvidedFunctionApps/{functionAppName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource }, + 201: { + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource + }, + 202: { + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource + }, + 204: { + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteUserProvidedFunctionEnvelope, + queryParameters: [Parameters.apiVersion, Parameters.isForced], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.environmentName1, + Parameters.functionAppName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const detachUserProvidedFunctionAppFromStaticSiteBuildOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const detachUserProvidedFunctionAppFromStaticSiteBuildOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/userProvidedFunctionApps/{functionAppName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/userProvidedFunctionApps/{functionAppName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.functionAppName, - Parameters.subscriptionId + Parameters.environmentName1, + Parameters.functionAppName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createZipDeploymentForStaticSiteBuildOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/zipdeploy", + httpMethod: "POST", responses: { 200: {}, + 201: {}, + 202: {}, 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteZipDeploymentEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.environmentName1 + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const createOrUpdateStaticSiteAppSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const createOrUpdateStaticSiteAppSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/config/appsettings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "appSettings", - mapper: { - ...Mappers.StringDictionary, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/config/appsettings", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.StringDictionary @@ -3684,23 +3503,22 @@ const createOrUpdateStaticSiteAppSettingsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.appSettings, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const createOrUpdateStaticSiteFunctionAppSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const createOrUpdateStaticSiteFunctionAppSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/config/functionappsettings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "appSettings", - mapper: { - ...Mappers.StringDictionary, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/config/functionappsettings", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.StringDictionary @@ -3709,23 +3527,22 @@ const createOrUpdateStaticSiteFunctionAppSettingsOperationSpec: msRest.Operation bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.appSettings, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const createUserRolesInvitationLinkOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const createUserRolesInvitationLinkOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/createUserInvitation", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteUserRolesInvitationEnvelope", - mapper: { - ...Mappers.StaticSiteUserInvitationRequestResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/createUserInvitation", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.StaticSiteUserInvitationResponseResource @@ -3734,16 +3551,22 @@ const createUserRolesInvitationLinkOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteUserRolesInvitationEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listStaticSiteCustomDomainsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listStaticSiteCustomDomainsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteCustomDomainOverviewCollection @@ -3752,21 +3575,20 @@ const listStaticSiteCustomDomainsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getStaticSiteCustomDomainOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.domainName0, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getStaticSiteCustomDomainOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteCustomDomainOverviewARMResource @@ -3775,617 +3597,526 @@ const getStaticSiteCustomDomainOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.domainName + ], + headerParameters: [Parameters.accept], serializer }; - -const listStaticSiteFunctionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const createOrUpdateStaticSiteCustomDomainOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/functions", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.StaticSiteFunctionOverviewCollection + bodyMapper: Mappers.StaticSiteCustomDomainOverviewARMResource + }, + 201: { + bodyMapper: Mappers.StaticSiteCustomDomainOverviewARMResource + }, + 202: { + bodyMapper: Mappers.StaticSiteCustomDomainOverviewARMResource + }, + 204: { + bodyMapper: Mappers.StaticSiteCustomDomainOverviewARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteCustomDomainRequestPropertiesEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.domainName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listStaticSiteAppSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const deleteStaticSiteCustomDomainOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listAppSettings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.StringDictionary - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.domainName + ], + headerParameters: [Parameters.accept], serializer }; - -const listStaticSiteConfiguredRolesOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const validateCustomDomainCanBeAddedToStaticSiteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listConfiguredRoles", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}/validate", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.StringList - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteCustomDomainRequestPropertiesEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.domainName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listStaticSiteFunctionAppSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const detachStaticSiteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listFunctionAppSettings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/detach", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.StringDictionary - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listStaticSiteSecretsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listStaticSiteFunctionsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listSecrets", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/functions", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.StaticSiteFunctionOverviewCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getPrivateEndpointConnectionListOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listStaticSiteAppSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateEndpointConnections", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listAppSettings", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.PrivateEndpointConnectionCollection + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const getPrivateLinkResourcesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listStaticSiteConfiguredRolesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateLinkResources", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listConfiguredRoles", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.PrivateLinkResourcesWrapper + bodyMapper: Mappers.StringList }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const resetStaticSiteApiKeyOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/resetapikey", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "resetPropertiesEnvelope", - mapper: { - ...Mappers.StaticSiteResetPropertiesARMResource, - required: true - } - }, - responses: { - 200: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getUserProvidedFunctionAppsForStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listStaticSiteFunctionAppSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/userProvidedFunctionApps", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listFunctionAppSettings", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppsCollection + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getUserProvidedFunctionAppForStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/userProvidedFunctionApps/{functionAppName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.functionAppName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listStaticSiteSecretsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listSecrets", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const detachUserProvidedFunctionAppFromStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/userProvidedFunctionApps/{functionAppName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.functionAppName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const getPrivateEndpointConnectionListOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteEnvelope", - mapper: { - ...Mappers.StaticSiteARMResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateEndpointConnections", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.StaticSiteARMResource - }, - 202: { - bodyMapper: Mappers.StaticSiteARMResource + bodyMapper: Mappers.PrivateEndpointConnectionCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginDeleteStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const getPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, + 200: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginDeleteStaticSiteBuildOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginRegisterUserProvidedFunctionAppWithStaticSiteBuildOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const approveOrRejectPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/userProvidedFunctionApps/{functionAppName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.environmentName, - Parameters.functionAppName, - Parameters.subscriptionId - ], - queryParameters: [Parameters.isForced, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteUserProvidedFunctionEnvelope", - mapper: { - ...Mappers.StaticSiteUserProvidedFunctionAppARMResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 201: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource }, 202: { - bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 204: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateZipDeploymentForStaticSiteBuildOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/zipdeploy", + requestBody: Parameters.privateEndpointWrapper, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.environmentName, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteZipDeploymentEnvelope", - mapper: { - ...Mappers.StaticSiteZipDeploymentARMResource, - required: true - } - }, - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOrUpdateStaticSiteCustomDomainOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const deletePrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.domainName0, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteCustomDomainRequestPropertiesEnvelope", - mapper: { - ...Mappers.StaticSiteCustomDomainRequestPropertiesARMResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", responses: { 200: { - bodyMapper: Mappers.StaticSiteCustomDomainOverviewARMResource + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 201: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } }, 202: { - bodyMapper: Mappers.StaticSiteCustomDomainOverviewARMResource + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 204: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginDeleteStaticSiteCustomDomainOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.domainName0, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getPrivateLinkResourcesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateLinkResources", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, + 200: { + bodyMapper: Mappers.PrivateLinkResourcesWrapper + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginValidateCustomDomainCanBeAddedToStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}/validate", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.domainName0, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteCustomDomainRequestPropertiesEnvelope", - mapper: { - ...Mappers.StaticSiteCustomDomainRequestPropertiesARMResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const resetStaticSiteApiKeyOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/resetapikey", + httpMethod: "POST", responses: { 200: {}, - 202: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.resetPropertiesEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDetachStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getUserProvidedFunctionAppsForStaticSiteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/detach", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/userProvidedFunctionApps", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, + 200: { + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppsCollection + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginApproveOrRejectPrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "privateEndpointWrapper", - mapper: { - ...Mappers.PrivateLinkConnectionApprovalRequestResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getUserProvidedFunctionAppForStaticSiteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/userProvidedFunctionApps/{functionAppName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource - }, - 202: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginDeletePrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.functionAppName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const registerUserProvidedFunctionAppWithStaticSiteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/userProvidedFunctionApps/{functionAppName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource + }, + 201: { + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource }, 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource }, 204: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } + bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginRegisterUserProvidedFunctionAppWithStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/userProvidedFunctionApps/{functionAppName}", + requestBody: Parameters.staticSiteUserProvidedFunctionEnvelope, + queryParameters: [Parameters.apiVersion, Parameters.isForced], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionAppName, - Parameters.subscriptionId + Parameters.functionAppName ], - queryParameters: [Parameters.isForced, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteUserProvidedFunctionEnvelope", - mapper: { - ...Mappers.StaticSiteUserProvidedFunctionAppARMResource, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const detachUserProvidedFunctionAppFromStaticSiteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/userProvidedFunctionApps/{functionAppName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource - }, - 202: { - bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppARMResource - }, + 200: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.functionAppName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginCreateZipDeploymentForStaticSiteOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const createZipDeploymentForStaticSiteOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/zipdeploy", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "staticSiteZipDeploymentEnvelope", - mapper: { - ...Mappers.StaticSiteZipDeploymentARMResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/zipdeploy", + httpMethod: "POST", responses: { 200: {}, + 201: {}, 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.staticSiteZipDeploymentEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteCollection @@ -4394,16 +4125,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getStaticSitesByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getStaticSitesByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteCollection @@ -4412,16 +4145,19 @@ const getStaticSitesByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listStaticSiteUsersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listStaticSiteUsersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteUserCollection @@ -4430,16 +4166,21 @@ const listStaticSiteUsersNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.authprovider + ], + headerParameters: [Parameters.accept], serializer }; - -const getStaticSiteBuildsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getStaticSiteBuildsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteBuildCollection @@ -4448,16 +4189,20 @@ const getStaticSiteBuildsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listStaticSiteBuildFunctionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listStaticSiteBuildFunctionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteFunctionOverviewCollection @@ -4466,16 +4211,21 @@ const listStaticSiteBuildFunctionsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.environmentName1 + ], + headerParameters: [Parameters.accept], serializer }; - -const getUserProvidedFunctionAppsForStaticSiteBuildNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getUserProvidedFunctionAppsForStaticSiteBuildNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppsCollection @@ -4484,16 +4234,21 @@ const getUserProvidedFunctionAppsForStaticSiteBuildNextOperationSpec: msRest.Ope bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.environmentName1 + ], + headerParameters: [Parameters.accept], serializer }; - -const listStaticSiteCustomDomainsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listStaticSiteCustomDomainsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteCustomDomainOverviewCollection @@ -4502,16 +4257,20 @@ const listStaticSiteCustomDomainsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listStaticSiteFunctionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listStaticSiteFunctionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteFunctionOverviewCollection @@ -4520,16 +4279,20 @@ const listStaticSiteFunctionsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getPrivateEndpointConnectionListNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getPrivateEndpointConnectionListNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PrivateEndpointConnectionCollection @@ -4538,16 +4301,20 @@ const getPrivateEndpointConnectionListNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getUserProvidedFunctionAppsForStaticSiteNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getUserProvidedFunctionAppsForStaticSiteNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StaticSiteUserProvidedFunctionAppsCollection @@ -4556,5 +4323,14 @@ const getUserProvidedFunctionAppsForStaticSiteNextOperationSpec: msRest.Operatio bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/topLevelDomains.ts b/sdk/appservice/arm-appservice/src/operations/topLevelDomains.ts index 24da086810c2..f3f4a7a47682 100644 --- a/sdk/appservice/arm-appservice/src/operations/topLevelDomains.ts +++ b/sdk/appservice/arm-appservice/src/operations/topLevelDomains.ts @@ -3,23 +3,40 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/topLevelDomainsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { TopLevelDomains } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; +import { + TopLevelDomain, + TopLevelDomainsListNextOptionalParams, + TopLevelDomainsListOptionalParams, + TldLegalAgreement, + TopLevelDomainAgreementOption, + TopLevelDomainsListAgreementsNextOptionalParams, + TopLevelDomainsListAgreementsOptionalParams, + TopLevelDomainsListResponse, + TopLevelDomainsGetOptionalParams, + TopLevelDomainsGetResponse, + TopLevelDomainsListAgreementsResponse, + TopLevelDomainsListNextResponse, + TopLevelDomainsListAgreementsNextResponse +} from "../models"; +/// /** Class representing a TopLevelDomains. */ -export class TopLevelDomains { +export class TopLevelDomainsImpl implements TopLevelDomains { private readonly client: WebSiteManagementClientContext; /** - * Create a TopLevelDomains. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class TopLevelDomains class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -27,164 +44,188 @@ export class TopLevelDomains { /** * Description for Get all top-level domains supported for registration. - * @summary Get all top-level domains supported for registration. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: TopLevelDomainsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; } - /** - * Description for Get details of a top-level domain. - * @summary Get details of a top-level domain. - * @param name Name of the top-level domain. - * @param [options] The optional parameters - * @returns Promise - */ - get(name: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param name Name of the top-level domain. - * @param callback The callback - */ - get(name: string, callback: msRest.ServiceCallback): void; - /** - * @param name Name of the top-level domain. - * @param options The optional parameters - * @param callback The callback - */ - get(name: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(name: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - name, - options - }, - getOperationSpec, - callback) as Promise; + private async *listPagingPage( + options?: TopLevelDomainsListOptionalParams + ): 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?: TopLevelDomainsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Description for Gets all legal agreements that user needs to accept before purchasing a domain. - * @summary Gets all legal agreements that user needs to accept before purchasing a domain. * @param name Name of the top-level domain. * @param agreementOption Domain agreement options. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listAgreements(name: string, agreementOption: Models.TopLevelDomainAgreementOption, options?: msRest.RequestOptionsBase): Promise; - /** - * @param name Name of the top-level domain. - * @param agreementOption Domain agreement options. - * @param callback The callback - */ - listAgreements(name: string, agreementOption: Models.TopLevelDomainAgreementOption, callback: msRest.ServiceCallback): void; - /** - * @param name Name of the top-level domain. - * @param agreementOption Domain agreement options. - * @param options The optional parameters - * @param callback The callback - */ - listAgreements(name: string, agreementOption: Models.TopLevelDomainAgreementOption, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAgreements(name: string, agreementOption: Models.TopLevelDomainAgreementOption, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listAgreements( + name: string, + agreementOption: TopLevelDomainAgreementOption, + options?: TopLevelDomainsListAgreementsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAgreementsPagingAll(name, agreementOption, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listAgreementsPagingPage(name, agreementOption, options); + } + }; + } + + private async *listAgreementsPagingPage( + name: string, + agreementOption: TopLevelDomainAgreementOption, + options?: TopLevelDomainsListAgreementsOptionalParams + ): AsyncIterableIterator { + let result = await this._listAgreements(name, agreementOption, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAgreementsNext( name, agreementOption, + continuationToken, options - }, - listAgreementsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listAgreementsPagingAll( + name: string, + agreementOption: TopLevelDomainAgreementOption, + options?: TopLevelDomainsListAgreementsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAgreementsPagingPage( + name, + agreementOption, + options + )) { + yield* page; + } } /** * Description for Get all top-level domains supported for registration. - * @summary Get all top-level domains supported for registration. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: TopLevelDomainsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Description for Get details of a top-level domain. + * @param name Name of the top-level domain. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + name: string, + options?: TopLevelDomainsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { name, options }, + getOperationSpec + ); } /** * Description for Gets all legal agreements that user needs to accept before purchasing a domain. - * @summary Gets all legal agreements that user needs to accept before purchasing a domain. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the top-level domain. + * @param agreementOption Domain agreement options. + * @param options The options parameters. */ - listAgreementsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _listAgreements( + name: string, + agreementOption: TopLevelDomainAgreementOption, + options?: TopLevelDomainsListAgreementsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { name, agreementOption, options }, + listAgreementsOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listAgreementsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listNext( + nextLink: string, + options?: TopLevelDomainsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListAgreementsNext + * @param name Name of the top-level domain. + * @param agreementOption Domain agreement options. + * @param nextLink The nextLink from the previous successful call to the ListAgreements method. + * @param options The options parameters. */ - listAgreementsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAgreementsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listAgreementsNext( + name: string, + agreementOption: TopLevelDomainAgreementOption, + nextLink: string, + options?: TopLevelDomainsListAgreementsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAgreementsNextOperationSpec, - callback) as Promise; + { name, agreementOption, nextLink, options }, + listAgreementsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.TopLevelDomainCollection @@ -193,22 +234,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}", - urlParameters: [ - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.TopLevelDomain @@ -217,29 +251,15 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId, Parameters.name], + headerParameters: [Parameters.accept], serializer }; - -const listAgreementsOperationSpec: msRest.OperationSpec = { +const listAgreementsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements", - urlParameters: [ - Parameters.name, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "agreementOption", - mapper: { - ...Mappers.TopLevelDomainAgreementOption, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.TldLegalAgreementCollection @@ -248,22 +268,16 @@ const listAgreementsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.agreementOption, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId, Parameters.name], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TopLevelDomainCollection @@ -272,22 +286,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listAgreementsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listAgreementsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TldLegalAgreementCollection @@ -296,5 +306,14 @@ const listAgreementsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; diff --git a/sdk/appservice/arm-appservice/src/operations/webApps.ts b/sdk/appservice/arm-appservice/src/operations/webApps.ts index 4e9f99446090..8db55f7f17fe 100644 --- a/sdk/appservice/arm-appservice/src/operations/webApps.ts +++ b/sdk/appservice/arm-appservice/src/operations/webApps.ts @@ -3,24 +3,907 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/webAppsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { WebApps } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { WebSiteManagementClientContext } from "../webSiteManagementClientContext"; - +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Site, + WebAppsListNextOptionalParams, + WebAppsListOptionalParams, + WebAppsListByResourceGroupNextOptionalParams, + WebAppsListByResourceGroupOptionalParams, + BackupItem, + WebAppsListBackupsNextOptionalParams, + WebAppsListBackupsOptionalParams, + CsmPublishingCredentialsPoliciesEntity, + WebAppsListBasicPublishingCredentialsPoliciesNextOptionalParams, + WebAppsListBasicPublishingCredentialsPoliciesOptionalParams, + SiteConfigResource, + WebAppsListConfigurationsNextOptionalParams, + WebAppsListConfigurationsOptionalParams, + ApiKVReference, + WebAppsGetAppSettingsKeyVaultReferencesNextOptionalParams, + WebAppsGetAppSettingsKeyVaultReferencesOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferencesNextOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams, + SiteConfigurationSnapshotInfo, + WebAppsListConfigurationSnapshotInfoNextOptionalParams, + WebAppsListConfigurationSnapshotInfoOptionalParams, + ContinuousWebJob, + WebAppsListContinuousWebJobsNextOptionalParams, + WebAppsListContinuousWebJobsOptionalParams, + Deployment, + WebAppsListDeploymentsNextOptionalParams, + WebAppsListDeploymentsOptionalParams, + Identifier, + WebAppsListDomainOwnershipIdentifiersNextOptionalParams, + WebAppsListDomainOwnershipIdentifiersOptionalParams, + FunctionEnvelope, + WebAppsListFunctionsNextOptionalParams, + WebAppsListFunctionsOptionalParams, + HostNameBinding, + WebAppsListHostNameBindingsNextOptionalParams, + WebAppsListHostNameBindingsOptionalParams, + WebSiteInstanceStatus, + WebAppsListInstanceIdentifiersNextOptionalParams, + WebAppsListInstanceIdentifiersOptionalParams, + ProcessInfo, + WebAppsListInstanceProcessesNextOptionalParams, + WebAppsListInstanceProcessesOptionalParams, + ProcessModuleInfo, + WebAppsListInstanceProcessModulesNextOptionalParams, + WebAppsListInstanceProcessModulesOptionalParams, + ProcessThreadInfo, + WebAppsListInstanceProcessThreadsNextOptionalParams, + WebAppsListInstanceProcessThreadsOptionalParams, + WebAppsListSiteBackupsNextOptionalParams, + WebAppsListSiteBackupsOptionalParams, + PerfMonResponse, + WebAppsListPerfMonCountersNextOptionalParams, + WebAppsListPerfMonCountersOptionalParams, + RemotePrivateEndpointConnectionARMResource, + WebAppsGetPrivateEndpointConnectionListNextOptionalParams, + WebAppsGetPrivateEndpointConnectionListOptionalParams, + WebAppsListProcessesNextOptionalParams, + WebAppsListProcessesOptionalParams, + WebAppsListProcessModulesNextOptionalParams, + WebAppsListProcessModulesOptionalParams, + WebAppsListProcessThreadsNextOptionalParams, + WebAppsListProcessThreadsOptionalParams, + PublicCertificate, + WebAppsListPublicCertificatesNextOptionalParams, + WebAppsListPublicCertificatesOptionalParams, + SiteExtensionInfo, + WebAppsListSiteExtensionsNextOptionalParams, + WebAppsListSiteExtensionsOptionalParams, + WebAppsListSlotsNextOptionalParams, + WebAppsListSlotsOptionalParams, + WebAppsListBackupsSlotNextOptionalParams, + WebAppsListBackupsSlotOptionalParams, + WebAppsListBasicPublishingCredentialsPoliciesSlotNextOptionalParams, + WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams, + WebAppsListConfigurationsSlotNextOptionalParams, + WebAppsListConfigurationsSlotOptionalParams, + WebAppsGetAppSettingsKeyVaultReferencesSlotNextOptionalParams, + WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferencesSlotNextOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams, + WebAppsListConfigurationSnapshotInfoSlotNextOptionalParams, + WebAppsListConfigurationSnapshotInfoSlotOptionalParams, + WebAppsListContinuousWebJobsSlotNextOptionalParams, + WebAppsListContinuousWebJobsSlotOptionalParams, + WebAppsListDeploymentsSlotNextOptionalParams, + WebAppsListDeploymentsSlotOptionalParams, + WebAppsListDomainOwnershipIdentifiersSlotNextOptionalParams, + WebAppsListDomainOwnershipIdentifiersSlotOptionalParams, + WebAppsListInstanceFunctionsSlotNextOptionalParams, + WebAppsListInstanceFunctionsSlotOptionalParams, + WebAppsListHostNameBindingsSlotNextOptionalParams, + WebAppsListHostNameBindingsSlotOptionalParams, + WebAppsListInstanceIdentifiersSlotNextOptionalParams, + WebAppsListInstanceIdentifiersSlotOptionalParams, + WebAppsListInstanceProcessesSlotNextOptionalParams, + WebAppsListInstanceProcessesSlotOptionalParams, + WebAppsListInstanceProcessModulesSlotNextOptionalParams, + WebAppsListInstanceProcessModulesSlotOptionalParams, + WebAppsListInstanceProcessThreadsSlotNextOptionalParams, + WebAppsListInstanceProcessThreadsSlotOptionalParams, + WebAppsListSiteBackupsSlotNextOptionalParams, + WebAppsListSiteBackupsSlotOptionalParams, + WebAppsListPerfMonCountersSlotNextOptionalParams, + WebAppsListPerfMonCountersSlotOptionalParams, + WebAppsGetPrivateEndpointConnectionListSlotNextOptionalParams, + WebAppsGetPrivateEndpointConnectionListSlotOptionalParams, + WebAppsListProcessesSlotNextOptionalParams, + WebAppsListProcessesSlotOptionalParams, + WebAppsListProcessModulesSlotNextOptionalParams, + WebAppsListProcessModulesSlotOptionalParams, + WebAppsListProcessThreadsSlotNextOptionalParams, + WebAppsListProcessThreadsSlotOptionalParams, + WebAppsListPublicCertificatesSlotNextOptionalParams, + WebAppsListPublicCertificatesSlotOptionalParams, + WebAppsListSiteExtensionsSlotNextOptionalParams, + WebAppsListSiteExtensionsSlotOptionalParams, + SlotDifference, + CsmSlotEntity, + WebAppsListSlotDifferencesSlotNextOptionalParams, + WebAppsListSlotDifferencesSlotOptionalParams, + Snapshot, + WebAppsListSnapshotsSlotNextOptionalParams, + WebAppsListSnapshotsSlotOptionalParams, + WebAppsListSnapshotsFromDRSecondarySlotNextOptionalParams, + WebAppsListSnapshotsFromDRSecondarySlotOptionalParams, + TriggeredWebJob, + WebAppsListTriggeredWebJobsSlotNextOptionalParams, + WebAppsListTriggeredWebJobsSlotOptionalParams, + TriggeredJobHistory, + WebAppsListTriggeredWebJobHistorySlotNextOptionalParams, + WebAppsListTriggeredWebJobHistorySlotOptionalParams, + CsmUsageQuota, + WebAppsListUsagesSlotNextOptionalParams, + WebAppsListUsagesSlotOptionalParams, + WebJob, + WebAppsListWebJobsSlotNextOptionalParams, + WebAppsListWebJobsSlotOptionalParams, + WebAppsListSlotDifferencesFromProductionNextOptionalParams, + WebAppsListSlotDifferencesFromProductionOptionalParams, + WebAppsListSnapshotsNextOptionalParams, + WebAppsListSnapshotsOptionalParams, + WebAppsListSnapshotsFromDRSecondaryNextOptionalParams, + WebAppsListSnapshotsFromDRSecondaryOptionalParams, + WebAppsListTriggeredWebJobsNextOptionalParams, + WebAppsListTriggeredWebJobsOptionalParams, + WebAppsListTriggeredWebJobHistoryNextOptionalParams, + WebAppsListTriggeredWebJobHistoryOptionalParams, + WebAppsListUsagesNextOptionalParams, + WebAppsListUsagesOptionalParams, + WebAppsListWebJobsNextOptionalParams, + WebAppsListWebJobsOptionalParams, + WebAppsListResponse, + WebAppsListByResourceGroupResponse, + WebAppsGetOptionalParams, + WebAppsGetResponse, + WebAppsCreateOrUpdateOptionalParams, + WebAppsCreateOrUpdateResponse, + WebAppsDeleteOptionalParams, + SitePatchResource, + WebAppsUpdateOptionalParams, + WebAppsUpdateResponse, + WebAppsAnalyzeCustomHostnameOptionalParams, + WebAppsAnalyzeCustomHostnameResponse, + WebAppsApplySlotConfigToProductionOptionalParams, + BackupRequest, + WebAppsBackupOptionalParams, + WebAppsBackupResponse, + WebAppsListBackupsResponse, + WebAppsGetBackupStatusOptionalParams, + WebAppsGetBackupStatusResponse, + WebAppsDeleteBackupOptionalParams, + WebAppsListBackupStatusSecretsOptionalParams, + WebAppsListBackupStatusSecretsResponse, + RestoreRequest, + WebAppsRestoreOptionalParams, + WebAppsListBasicPublishingCredentialsPoliciesResponse, + WebAppsGetFtpAllowedOptionalParams, + WebAppsGetFtpAllowedResponse, + WebAppsUpdateFtpAllowedOptionalParams, + WebAppsUpdateFtpAllowedResponse, + WebAppsGetScmAllowedOptionalParams, + WebAppsGetScmAllowedResponse, + WebAppsUpdateScmAllowedOptionalParams, + WebAppsUpdateScmAllowedResponse, + WebAppsListConfigurationsResponse, + StringDictionary, + WebAppsUpdateApplicationSettingsOptionalParams, + WebAppsUpdateApplicationSettingsResponse, + WebAppsListApplicationSettingsOptionalParams, + WebAppsListApplicationSettingsResponse, + SiteAuthSettings, + WebAppsUpdateAuthSettingsOptionalParams, + WebAppsUpdateAuthSettingsResponse, + WebAppsGetAuthSettingsOptionalParams, + WebAppsGetAuthSettingsResponse, + SiteAuthSettingsV2, + WebAppsUpdateAuthSettingsV2OptionalParams, + WebAppsUpdateAuthSettingsV2Response, + WebAppsGetAuthSettingsV2OptionalParams, + WebAppsGetAuthSettingsV2Response, + AzureStoragePropertyDictionaryResource, + WebAppsUpdateAzureStorageAccountsOptionalParams, + WebAppsUpdateAzureStorageAccountsResponse, + WebAppsListAzureStorageAccountsOptionalParams, + WebAppsListAzureStorageAccountsResponse, + WebAppsUpdateBackupConfigurationOptionalParams, + WebAppsUpdateBackupConfigurationResponse, + WebAppsDeleteBackupConfigurationOptionalParams, + WebAppsGetBackupConfigurationOptionalParams, + WebAppsGetBackupConfigurationResponse, + WebAppsGetAppSettingsKeyVaultReferencesResponse, + WebAppsGetAppSettingKeyVaultReferenceOptionalParams, + WebAppsGetAppSettingKeyVaultReferenceResponse, + WebAppsGetSiteConnectionStringKeyVaultReferencesResponse, + WebAppsGetSiteConnectionStringKeyVaultReferenceOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferenceResponse, + ConnectionStringDictionary, + WebAppsUpdateConnectionStringsOptionalParams, + WebAppsUpdateConnectionStringsResponse, + WebAppsListConnectionStringsOptionalParams, + WebAppsListConnectionStringsResponse, + WebAppsGetDiagnosticLogsConfigurationOptionalParams, + WebAppsGetDiagnosticLogsConfigurationResponse, + SiteLogsConfig, + WebAppsUpdateDiagnosticLogsConfigOptionalParams, + WebAppsUpdateDiagnosticLogsConfigResponse, + WebAppsUpdateMetadataOptionalParams, + WebAppsUpdateMetadataResponse, + WebAppsListMetadataOptionalParams, + WebAppsListMetadataResponse, + WebAppsListPublishingCredentialsOptionalParams, + WebAppsListPublishingCredentialsResponse, + PushSettings, + WebAppsUpdateSitePushSettingsOptionalParams, + WebAppsUpdateSitePushSettingsResponse, + WebAppsListSitePushSettingsOptionalParams, + WebAppsListSitePushSettingsResponse, + WebAppsListSlotConfigurationNamesOptionalParams, + WebAppsListSlotConfigurationNamesResponse, + SlotConfigNamesResource, + WebAppsUpdateSlotConfigurationNamesOptionalParams, + WebAppsUpdateSlotConfigurationNamesResponse, + WebAppsGetConfigurationOptionalParams, + WebAppsGetConfigurationResponse, + WebAppsCreateOrUpdateConfigurationOptionalParams, + WebAppsCreateOrUpdateConfigurationResponse, + WebAppsUpdateConfigurationOptionalParams, + WebAppsUpdateConfigurationResponse, + WebAppsListConfigurationSnapshotInfoResponse, + WebAppsGetConfigurationSnapshotOptionalParams, + WebAppsGetConfigurationSnapshotResponse, + WebAppsRecoverSiteConfigurationSnapshotOptionalParams, + WebAppsGetWebSiteContainerLogsOptionalParams, + WebAppsGetWebSiteContainerLogsResponse, + WebAppsGetContainerLogsZipOptionalParams, + WebAppsGetContainerLogsZipResponse, + WebAppsListContinuousWebJobsResponse, + WebAppsGetContinuousWebJobOptionalParams, + WebAppsGetContinuousWebJobResponse, + WebAppsDeleteContinuousWebJobOptionalParams, + WebAppsStartContinuousWebJobOptionalParams, + WebAppsStopContinuousWebJobOptionalParams, + WebAppsListDeploymentsResponse, + WebAppsGetDeploymentOptionalParams, + WebAppsGetDeploymentResponse, + WebAppsCreateDeploymentOptionalParams, + WebAppsCreateDeploymentResponse, + WebAppsDeleteDeploymentOptionalParams, + WebAppsListDeploymentLogOptionalParams, + WebAppsListDeploymentLogResponse, + WebAppsDiscoverBackupOptionalParams, + WebAppsDiscoverBackupResponse, + WebAppsListDomainOwnershipIdentifiersResponse, + WebAppsGetDomainOwnershipIdentifierOptionalParams, + WebAppsGetDomainOwnershipIdentifierResponse, + WebAppsCreateOrUpdateDomainOwnershipIdentifierOptionalParams, + WebAppsCreateOrUpdateDomainOwnershipIdentifierResponse, + WebAppsDeleteDomainOwnershipIdentifierOptionalParams, + WebAppsUpdateDomainOwnershipIdentifierOptionalParams, + WebAppsUpdateDomainOwnershipIdentifierResponse, + WebAppsGetMSDeployStatusOptionalParams, + WebAppsGetMSDeployStatusResponse, + MSDeploy, + WebAppsCreateMSDeployOperationOptionalParams, + WebAppsCreateMSDeployOperationResponse, + WebAppsGetMSDeployLogOptionalParams, + WebAppsGetMSDeployLogResponse, + WebAppsListFunctionsResponse, + WebAppsGetFunctionsAdminTokenOptionalParams, + WebAppsGetFunctionsAdminTokenResponse, + WebAppsGetFunctionOptionalParams, + WebAppsGetFunctionResponse, + WebAppsCreateFunctionOptionalParams, + WebAppsCreateFunctionResponse, + WebAppsDeleteFunctionOptionalParams, + KeyInfo, + WebAppsCreateOrUpdateFunctionSecretOptionalParams, + WebAppsCreateOrUpdateFunctionSecretResponse, + WebAppsDeleteFunctionSecretOptionalParams, + WebAppsListFunctionKeysOptionalParams, + WebAppsListFunctionKeysResponse, + WebAppsListFunctionSecretsOptionalParams, + WebAppsListFunctionSecretsResponse, + WebAppsListHostKeysOptionalParams, + WebAppsListHostKeysResponse, + WebAppsListSyncStatusOptionalParams, + WebAppsSyncFunctionsOptionalParams, + WebAppsCreateOrUpdateHostSecretOptionalParams, + WebAppsCreateOrUpdateHostSecretResponse, + WebAppsDeleteHostSecretOptionalParams, + WebAppsListHostNameBindingsResponse, + WebAppsGetHostNameBindingOptionalParams, + WebAppsGetHostNameBindingResponse, + WebAppsCreateOrUpdateHostNameBindingOptionalParams, + WebAppsCreateOrUpdateHostNameBindingResponse, + WebAppsDeleteHostNameBindingOptionalParams, + WebAppsGetHybridConnectionOptionalParams, + WebAppsGetHybridConnectionResponse, + HybridConnection, + WebAppsCreateOrUpdateHybridConnectionOptionalParams, + WebAppsCreateOrUpdateHybridConnectionResponse, + WebAppsDeleteHybridConnectionOptionalParams, + WebAppsUpdateHybridConnectionOptionalParams, + WebAppsUpdateHybridConnectionResponse, + WebAppsListHybridConnectionsOptionalParams, + WebAppsListHybridConnectionsResponse, + WebAppsListRelayServiceConnectionsOptionalParams, + WebAppsListRelayServiceConnectionsResponse, + WebAppsGetRelayServiceConnectionOptionalParams, + WebAppsGetRelayServiceConnectionResponse, + RelayServiceConnectionEntity, + WebAppsCreateOrUpdateRelayServiceConnectionOptionalParams, + WebAppsCreateOrUpdateRelayServiceConnectionResponse, + WebAppsDeleteRelayServiceConnectionOptionalParams, + WebAppsUpdateRelayServiceConnectionOptionalParams, + WebAppsUpdateRelayServiceConnectionResponse, + WebAppsListInstanceIdentifiersResponse, + WebAppsGetInstanceInfoOptionalParams, + WebAppsGetInstanceInfoResponse, + WebAppsGetInstanceMsDeployStatusOptionalParams, + WebAppsGetInstanceMsDeployStatusResponse, + WebAppsCreateInstanceMSDeployOperationOptionalParams, + WebAppsCreateInstanceMSDeployOperationResponse, + WebAppsGetInstanceMSDeployLogOptionalParams, + WebAppsGetInstanceMSDeployLogResponse, + WebAppsListInstanceProcessesResponse, + WebAppsGetInstanceProcessOptionalParams, + WebAppsGetInstanceProcessResponse, + WebAppsDeleteInstanceProcessOptionalParams, + WebAppsGetInstanceProcessDumpOptionalParams, + WebAppsGetInstanceProcessDumpResponse, + WebAppsListInstanceProcessModulesResponse, + WebAppsGetInstanceProcessModuleOptionalParams, + WebAppsGetInstanceProcessModuleResponse, + WebAppsListInstanceProcessThreadsResponse, + WebAppsIsCloneableOptionalParams, + WebAppsIsCloneableResponse, + WebAppsListSiteBackupsResponse, + WebAppsListSyncFunctionTriggersOptionalParams, + WebAppsListSyncFunctionTriggersResponse, + StorageMigrationOptions, + WebAppsMigrateStorageOptionalParams, + WebAppsMigrateStorageResponse, + MigrateMySqlRequest, + WebAppsMigrateMySqlOptionalParams, + WebAppsMigrateMySqlResponse, + WebAppsGetMigrateMySqlStatusOptionalParams, + WebAppsGetMigrateMySqlStatusResponse, + WebAppsGetSwiftVirtualNetworkConnectionOptionalParams, + WebAppsGetSwiftVirtualNetworkConnectionResponse, + SwiftVirtualNetwork, + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams, + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckResponse, + WebAppsDeleteSwiftVirtualNetworkOptionalParams, + WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams, + WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckResponse, + WebAppsListNetworkFeaturesOptionalParams, + WebAppsListNetworkFeaturesResponse, + WebAppsGetNetworkTraceOperationOptionalParams, + WebAppsGetNetworkTraceOperationResponse, + WebAppsStartWebSiteNetworkTraceOptionalParams, + WebAppsStartWebSiteNetworkTraceResponse, + WebAppsStartWebSiteNetworkTraceOperationOptionalParams, + WebAppsStartWebSiteNetworkTraceOperationResponse, + WebAppsStopWebSiteNetworkTraceOptionalParams, + WebAppsGetNetworkTracesOptionalParams, + WebAppsGetNetworkTracesResponse, + WebAppsGetNetworkTraceOperationV2OptionalParams, + WebAppsGetNetworkTraceOperationV2Response, + WebAppsGetNetworkTracesV2OptionalParams, + WebAppsGetNetworkTracesV2Response, + WebAppsGenerateNewSitePublishingPasswordOptionalParams, + WebAppsListPerfMonCountersResponse, + WebAppsGetSitePhpErrorLogFlagOptionalParams, + WebAppsGetSitePhpErrorLogFlagResponse, + WebAppsListPremierAddOnsOptionalParams, + WebAppsListPremierAddOnsResponse, + WebAppsGetPremierAddOnOptionalParams, + WebAppsGetPremierAddOnResponse, + PremierAddOn, + WebAppsAddPremierAddOnOptionalParams, + WebAppsAddPremierAddOnResponse, + WebAppsDeletePremierAddOnOptionalParams, + PremierAddOnPatchResource, + WebAppsUpdatePremierAddOnOptionalParams, + WebAppsUpdatePremierAddOnResponse, + WebAppsGetPrivateAccessOptionalParams, + WebAppsGetPrivateAccessResponse, + PrivateAccess, + WebAppsPutPrivateAccessVnetOptionalParams, + WebAppsPutPrivateAccessVnetResponse, + WebAppsGetPrivateEndpointConnectionListResponse, + WebAppsGetPrivateEndpointConnectionOptionalParams, + WebAppsGetPrivateEndpointConnectionResponse, + PrivateLinkConnectionApprovalRequestResource, + WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams, + WebAppsApproveOrRejectPrivateEndpointConnectionResponse, + WebAppsDeletePrivateEndpointConnectionOptionalParams, + WebAppsDeletePrivateEndpointConnectionResponse, + WebAppsGetPrivateLinkResourcesOptionalParams, + WebAppsGetPrivateLinkResourcesResponse, + WebAppsListProcessesResponse, + WebAppsGetProcessOptionalParams, + WebAppsGetProcessResponse, + WebAppsDeleteProcessOptionalParams, + WebAppsGetProcessDumpOptionalParams, + WebAppsGetProcessDumpResponse, + WebAppsListProcessModulesResponse, + WebAppsGetProcessModuleOptionalParams, + WebAppsGetProcessModuleResponse, + WebAppsListProcessThreadsResponse, + WebAppsListPublicCertificatesResponse, + WebAppsGetPublicCertificateOptionalParams, + WebAppsGetPublicCertificateResponse, + WebAppsCreateOrUpdatePublicCertificateOptionalParams, + WebAppsCreateOrUpdatePublicCertificateResponse, + WebAppsDeletePublicCertificateOptionalParams, + CsmPublishingProfileOptions, + WebAppsListPublishingProfileXmlWithSecretsOptionalParams, + WebAppsListPublishingProfileXmlWithSecretsResponse, + WebAppsResetProductionSlotConfigOptionalParams, + WebAppsRestartOptionalParams, + WebAppsRestoreFromBackupBlobOptionalParams, + DeletedAppRestoreRequest, + WebAppsRestoreFromDeletedAppOptionalParams, + SnapshotRestoreRequest, + WebAppsRestoreSnapshotOptionalParams, + WebAppsListSiteExtensionsResponse, + WebAppsGetSiteExtensionOptionalParams, + WebAppsGetSiteExtensionResponse, + WebAppsInstallSiteExtensionOptionalParams, + WebAppsInstallSiteExtensionResponse, + WebAppsDeleteSiteExtensionOptionalParams, + WebAppsListSlotsResponse, + WebAppsGetSlotOptionalParams, + WebAppsGetSlotResponse, + WebAppsCreateOrUpdateSlotOptionalParams, + WebAppsCreateOrUpdateSlotResponse, + WebAppsDeleteSlotOptionalParams, + WebAppsUpdateSlotOptionalParams, + WebAppsUpdateSlotResponse, + WebAppsAnalyzeCustomHostnameSlotOptionalParams, + WebAppsAnalyzeCustomHostnameSlotResponse, + WebAppsApplySlotConfigurationSlotOptionalParams, + WebAppsBackupSlotOptionalParams, + WebAppsBackupSlotResponse, + WebAppsListBackupsSlotResponse, + WebAppsGetBackupStatusSlotOptionalParams, + WebAppsGetBackupStatusSlotResponse, + WebAppsDeleteBackupSlotOptionalParams, + WebAppsListBackupStatusSecretsSlotOptionalParams, + WebAppsListBackupStatusSecretsSlotResponse, + WebAppsRestoreSlotOptionalParams, + WebAppsListBasicPublishingCredentialsPoliciesSlotResponse, + WebAppsGetFtpAllowedSlotOptionalParams, + WebAppsGetFtpAllowedSlotResponse, + WebAppsUpdateFtpAllowedSlotOptionalParams, + WebAppsUpdateFtpAllowedSlotResponse, + WebAppsGetScmAllowedSlotOptionalParams, + WebAppsGetScmAllowedSlotResponse, + WebAppsUpdateScmAllowedSlotOptionalParams, + WebAppsUpdateScmAllowedSlotResponse, + WebAppsListConfigurationsSlotResponse, + WebAppsUpdateApplicationSettingsSlotOptionalParams, + WebAppsUpdateApplicationSettingsSlotResponse, + WebAppsListApplicationSettingsSlotOptionalParams, + WebAppsListApplicationSettingsSlotResponse, + WebAppsUpdateAuthSettingsSlotOptionalParams, + WebAppsUpdateAuthSettingsSlotResponse, + WebAppsGetAuthSettingsSlotOptionalParams, + WebAppsGetAuthSettingsSlotResponse, + WebAppsUpdateAuthSettingsV2SlotOptionalParams, + WebAppsUpdateAuthSettingsV2SlotResponse, + WebAppsGetAuthSettingsV2SlotOptionalParams, + WebAppsGetAuthSettingsV2SlotResponse, + WebAppsUpdateAzureStorageAccountsSlotOptionalParams, + WebAppsUpdateAzureStorageAccountsSlotResponse, + WebAppsListAzureStorageAccountsSlotOptionalParams, + WebAppsListAzureStorageAccountsSlotResponse, + WebAppsUpdateBackupConfigurationSlotOptionalParams, + WebAppsUpdateBackupConfigurationSlotResponse, + WebAppsDeleteBackupConfigurationSlotOptionalParams, + WebAppsGetBackupConfigurationSlotOptionalParams, + WebAppsGetBackupConfigurationSlotResponse, + WebAppsGetAppSettingsKeyVaultReferencesSlotResponse, + WebAppsGetAppSettingKeyVaultReferenceSlotOptionalParams, + WebAppsGetAppSettingKeyVaultReferenceSlotResponse, + WebAppsGetSiteConnectionStringKeyVaultReferencesSlotResponse, + WebAppsGetSiteConnectionStringKeyVaultReferenceSlotOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferenceSlotResponse, + WebAppsUpdateConnectionStringsSlotOptionalParams, + WebAppsUpdateConnectionStringsSlotResponse, + WebAppsListConnectionStringsSlotOptionalParams, + WebAppsListConnectionStringsSlotResponse, + WebAppsGetDiagnosticLogsConfigurationSlotOptionalParams, + WebAppsGetDiagnosticLogsConfigurationSlotResponse, + WebAppsUpdateDiagnosticLogsConfigSlotOptionalParams, + WebAppsUpdateDiagnosticLogsConfigSlotResponse, + WebAppsUpdateMetadataSlotOptionalParams, + WebAppsUpdateMetadataSlotResponse, + WebAppsListMetadataSlotOptionalParams, + WebAppsListMetadataSlotResponse, + WebAppsListPublishingCredentialsSlotOptionalParams, + WebAppsListPublishingCredentialsSlotResponse, + WebAppsUpdateSitePushSettingsSlotOptionalParams, + WebAppsUpdateSitePushSettingsSlotResponse, + WebAppsListSitePushSettingsSlotOptionalParams, + WebAppsListSitePushSettingsSlotResponse, + WebAppsGetConfigurationSlotOptionalParams, + WebAppsGetConfigurationSlotResponse, + WebAppsCreateOrUpdateConfigurationSlotOptionalParams, + WebAppsCreateOrUpdateConfigurationSlotResponse, + WebAppsUpdateConfigurationSlotOptionalParams, + WebAppsUpdateConfigurationSlotResponse, + WebAppsListConfigurationSnapshotInfoSlotResponse, + WebAppsGetConfigurationSnapshotSlotOptionalParams, + WebAppsGetConfigurationSnapshotSlotResponse, + WebAppsRecoverSiteConfigurationSnapshotSlotOptionalParams, + WebAppsGetWebSiteContainerLogsSlotOptionalParams, + WebAppsGetWebSiteContainerLogsSlotResponse, + WebAppsGetContainerLogsZipSlotOptionalParams, + WebAppsGetContainerLogsZipSlotResponse, + WebAppsListContinuousWebJobsSlotResponse, + WebAppsGetContinuousWebJobSlotOptionalParams, + WebAppsGetContinuousWebJobSlotResponse, + WebAppsDeleteContinuousWebJobSlotOptionalParams, + WebAppsStartContinuousWebJobSlotOptionalParams, + WebAppsStopContinuousWebJobSlotOptionalParams, + WebAppsListDeploymentsSlotResponse, + WebAppsGetDeploymentSlotOptionalParams, + WebAppsGetDeploymentSlotResponse, + WebAppsCreateDeploymentSlotOptionalParams, + WebAppsCreateDeploymentSlotResponse, + WebAppsDeleteDeploymentSlotOptionalParams, + WebAppsListDeploymentLogSlotOptionalParams, + WebAppsListDeploymentLogSlotResponse, + WebAppsDiscoverBackupSlotOptionalParams, + WebAppsDiscoverBackupSlotResponse, + WebAppsListDomainOwnershipIdentifiersSlotResponse, + WebAppsGetDomainOwnershipIdentifierSlotOptionalParams, + WebAppsGetDomainOwnershipIdentifierSlotResponse, + WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotOptionalParams, + WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotResponse, + WebAppsDeleteDomainOwnershipIdentifierSlotOptionalParams, + WebAppsUpdateDomainOwnershipIdentifierSlotOptionalParams, + WebAppsUpdateDomainOwnershipIdentifierSlotResponse, + WebAppsGetMSDeployStatusSlotOptionalParams, + WebAppsGetMSDeployStatusSlotResponse, + WebAppsCreateMSDeployOperationSlotOptionalParams, + WebAppsCreateMSDeployOperationSlotResponse, + WebAppsGetMSDeployLogSlotOptionalParams, + WebAppsGetMSDeployLogSlotResponse, + WebAppsListInstanceFunctionsSlotResponse, + WebAppsGetFunctionsAdminTokenSlotOptionalParams, + WebAppsGetFunctionsAdminTokenSlotResponse, + WebAppsGetInstanceFunctionSlotOptionalParams, + WebAppsGetInstanceFunctionSlotResponse, + WebAppsCreateInstanceFunctionSlotOptionalParams, + WebAppsCreateInstanceFunctionSlotResponse, + WebAppsDeleteInstanceFunctionSlotOptionalParams, + WebAppsCreateOrUpdateFunctionSecretSlotOptionalParams, + WebAppsCreateOrUpdateFunctionSecretSlotResponse, + WebAppsDeleteFunctionSecretSlotOptionalParams, + WebAppsListFunctionKeysSlotOptionalParams, + WebAppsListFunctionKeysSlotResponse, + WebAppsListFunctionSecretsSlotOptionalParams, + WebAppsListFunctionSecretsSlotResponse, + WebAppsListHostKeysSlotOptionalParams, + WebAppsListHostKeysSlotResponse, + WebAppsListSyncStatusSlotOptionalParams, + WebAppsSyncFunctionsSlotOptionalParams, + WebAppsCreateOrUpdateHostSecretSlotOptionalParams, + WebAppsCreateOrUpdateHostSecretSlotResponse, + WebAppsDeleteHostSecretSlotOptionalParams, + WebAppsListHostNameBindingsSlotResponse, + WebAppsGetHostNameBindingSlotOptionalParams, + WebAppsGetHostNameBindingSlotResponse, + WebAppsCreateOrUpdateHostNameBindingSlotOptionalParams, + WebAppsCreateOrUpdateHostNameBindingSlotResponse, + WebAppsDeleteHostNameBindingSlotOptionalParams, + WebAppsGetHybridConnectionSlotOptionalParams, + WebAppsGetHybridConnectionSlotResponse, + WebAppsCreateOrUpdateHybridConnectionSlotOptionalParams, + WebAppsCreateOrUpdateHybridConnectionSlotResponse, + WebAppsDeleteHybridConnectionSlotOptionalParams, + WebAppsUpdateHybridConnectionSlotOptionalParams, + WebAppsUpdateHybridConnectionSlotResponse, + WebAppsListHybridConnectionsSlotOptionalParams, + WebAppsListHybridConnectionsSlotResponse, + WebAppsListRelayServiceConnectionsSlotOptionalParams, + WebAppsListRelayServiceConnectionsSlotResponse, + WebAppsGetRelayServiceConnectionSlotOptionalParams, + WebAppsGetRelayServiceConnectionSlotResponse, + WebAppsCreateOrUpdateRelayServiceConnectionSlotOptionalParams, + WebAppsCreateOrUpdateRelayServiceConnectionSlotResponse, + WebAppsDeleteRelayServiceConnectionSlotOptionalParams, + WebAppsUpdateRelayServiceConnectionSlotOptionalParams, + WebAppsUpdateRelayServiceConnectionSlotResponse, + WebAppsListInstanceIdentifiersSlotResponse, + WebAppsGetInstanceInfoSlotOptionalParams, + WebAppsGetInstanceInfoSlotResponse, + WebAppsGetInstanceMsDeployStatusSlotOptionalParams, + WebAppsGetInstanceMsDeployStatusSlotResponse, + WebAppsCreateInstanceMSDeployOperationSlotOptionalParams, + WebAppsCreateInstanceMSDeployOperationSlotResponse, + WebAppsGetInstanceMSDeployLogSlotOptionalParams, + WebAppsGetInstanceMSDeployLogSlotResponse, + WebAppsListInstanceProcessesSlotResponse, + WebAppsGetInstanceProcessSlotOptionalParams, + WebAppsGetInstanceProcessSlotResponse, + WebAppsDeleteInstanceProcessSlotOptionalParams, + WebAppsGetInstanceProcessDumpSlotOptionalParams, + WebAppsGetInstanceProcessDumpSlotResponse, + WebAppsListInstanceProcessModulesSlotResponse, + WebAppsGetInstanceProcessModuleSlotOptionalParams, + WebAppsGetInstanceProcessModuleSlotResponse, + WebAppsListInstanceProcessThreadsSlotResponse, + WebAppsIsCloneableSlotOptionalParams, + WebAppsIsCloneableSlotResponse, + WebAppsListSiteBackupsSlotResponse, + WebAppsListSyncFunctionTriggersSlotOptionalParams, + WebAppsListSyncFunctionTriggersSlotResponse, + WebAppsGetMigrateMySqlStatusSlotOptionalParams, + WebAppsGetMigrateMySqlStatusSlotResponse, + WebAppsGetSwiftVirtualNetworkConnectionSlotOptionalParams, + WebAppsGetSwiftVirtualNetworkConnectionSlotResponse, + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams, + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse, + WebAppsDeleteSwiftVirtualNetworkSlotOptionalParams, + WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams, + WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse, + WebAppsListNetworkFeaturesSlotOptionalParams, + WebAppsListNetworkFeaturesSlotResponse, + WebAppsGetNetworkTraceOperationSlotOptionalParams, + WebAppsGetNetworkTraceOperationSlotResponse, + WebAppsStartWebSiteNetworkTraceSlotOptionalParams, + WebAppsStartWebSiteNetworkTraceSlotResponse, + WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams, + WebAppsStartWebSiteNetworkTraceOperationSlotResponse, + WebAppsStopWebSiteNetworkTraceSlotOptionalParams, + WebAppsGetNetworkTracesSlotOptionalParams, + WebAppsGetNetworkTracesSlotResponse, + WebAppsGetNetworkTraceOperationSlotV2OptionalParams, + WebAppsGetNetworkTraceOperationSlotV2Response, + WebAppsGetNetworkTracesSlotV2OptionalParams, + WebAppsGetNetworkTracesSlotV2Response, + WebAppsGenerateNewSitePublishingPasswordSlotOptionalParams, + WebAppsListPerfMonCountersSlotResponse, + WebAppsGetSitePhpErrorLogFlagSlotOptionalParams, + WebAppsGetSitePhpErrorLogFlagSlotResponse, + WebAppsListPremierAddOnsSlotOptionalParams, + WebAppsListPremierAddOnsSlotResponse, + WebAppsGetPremierAddOnSlotOptionalParams, + WebAppsGetPremierAddOnSlotResponse, + WebAppsAddPremierAddOnSlotOptionalParams, + WebAppsAddPremierAddOnSlotResponse, + WebAppsDeletePremierAddOnSlotOptionalParams, + WebAppsUpdatePremierAddOnSlotOptionalParams, + WebAppsUpdatePremierAddOnSlotResponse, + WebAppsGetPrivateAccessSlotOptionalParams, + WebAppsGetPrivateAccessSlotResponse, + WebAppsPutPrivateAccessVnetSlotOptionalParams, + WebAppsPutPrivateAccessVnetSlotResponse, + WebAppsGetPrivateEndpointConnectionListSlotResponse, + WebAppsGetPrivateEndpointConnectionSlotOptionalParams, + WebAppsGetPrivateEndpointConnectionSlotResponse, + WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams, + WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse, + WebAppsDeletePrivateEndpointConnectionSlotOptionalParams, + WebAppsDeletePrivateEndpointConnectionSlotResponse, + WebAppsGetPrivateLinkResourcesSlotOptionalParams, + WebAppsGetPrivateLinkResourcesSlotResponse, + WebAppsListProcessesSlotResponse, + WebAppsGetProcessSlotOptionalParams, + WebAppsGetProcessSlotResponse, + WebAppsDeleteProcessSlotOptionalParams, + WebAppsGetProcessDumpSlotOptionalParams, + WebAppsGetProcessDumpSlotResponse, + WebAppsListProcessModulesSlotResponse, + WebAppsGetProcessModuleSlotOptionalParams, + WebAppsGetProcessModuleSlotResponse, + WebAppsListProcessThreadsSlotResponse, + WebAppsListPublicCertificatesSlotResponse, + WebAppsGetPublicCertificateSlotOptionalParams, + WebAppsGetPublicCertificateSlotResponse, + WebAppsCreateOrUpdatePublicCertificateSlotOptionalParams, + WebAppsCreateOrUpdatePublicCertificateSlotResponse, + WebAppsDeletePublicCertificateSlotOptionalParams, + WebAppsListPublishingProfileXmlWithSecretsSlotOptionalParams, + WebAppsListPublishingProfileXmlWithSecretsSlotResponse, + WebAppsResetSlotConfigurationSlotOptionalParams, + WebAppsRestartSlotOptionalParams, + WebAppsRestoreFromBackupBlobSlotOptionalParams, + WebAppsRestoreFromDeletedAppSlotOptionalParams, + WebAppsRestoreSnapshotSlotOptionalParams, + WebAppsListSiteExtensionsSlotResponse, + WebAppsGetSiteExtensionSlotOptionalParams, + WebAppsGetSiteExtensionSlotResponse, + WebAppsInstallSiteExtensionSlotOptionalParams, + WebAppsInstallSiteExtensionSlotResponse, + WebAppsDeleteSiteExtensionSlotOptionalParams, + WebAppsListSlotDifferencesSlotResponse, + WebAppsSwapSlotOptionalParams, + WebAppsListSnapshotsSlotResponse, + WebAppsListSnapshotsFromDRSecondarySlotResponse, + WebAppsGetSourceControlSlotOptionalParams, + WebAppsGetSourceControlSlotResponse, + SiteSourceControl, + WebAppsCreateOrUpdateSourceControlSlotOptionalParams, + WebAppsCreateOrUpdateSourceControlSlotResponse, + WebAppsDeleteSourceControlSlotOptionalParams, + WebAppsUpdateSourceControlSlotOptionalParams, + WebAppsUpdateSourceControlSlotResponse, + WebAppsStartSlotOptionalParams, + WebAppsStartNetworkTraceSlotOptionalParams, + WebAppsStartNetworkTraceSlotResponse, + WebAppsStopSlotOptionalParams, + WebAppsStopNetworkTraceSlotOptionalParams, + WebAppsSyncRepositorySlotOptionalParams, + WebAppsSyncFunctionTriggersSlotOptionalParams, + WebAppsListTriggeredWebJobsSlotResponse, + WebAppsGetTriggeredWebJobSlotOptionalParams, + WebAppsGetTriggeredWebJobSlotResponse, + WebAppsDeleteTriggeredWebJobSlotOptionalParams, + WebAppsListTriggeredWebJobHistorySlotResponse, + WebAppsGetTriggeredWebJobHistorySlotOptionalParams, + WebAppsGetTriggeredWebJobHistorySlotResponse, + WebAppsRunTriggeredWebJobSlotOptionalParams, + WebAppsListUsagesSlotResponse, + WebAppsListVnetConnectionsSlotOptionalParams, + WebAppsListVnetConnectionsSlotResponse, + WebAppsGetVnetConnectionSlotOptionalParams, + WebAppsGetVnetConnectionSlotResponse, + VnetInfoResource, + WebAppsCreateOrUpdateVnetConnectionSlotOptionalParams, + WebAppsCreateOrUpdateVnetConnectionSlotResponse, + WebAppsDeleteVnetConnectionSlotOptionalParams, + WebAppsUpdateVnetConnectionSlotOptionalParams, + WebAppsUpdateVnetConnectionSlotResponse, + WebAppsGetVnetConnectionGatewaySlotOptionalParams, + WebAppsGetVnetConnectionGatewaySlotResponse, + VnetGateway, + WebAppsCreateOrUpdateVnetConnectionGatewaySlotOptionalParams, + WebAppsCreateOrUpdateVnetConnectionGatewaySlotResponse, + WebAppsUpdateVnetConnectionGatewaySlotOptionalParams, + WebAppsUpdateVnetConnectionGatewaySlotResponse, + WebAppsListWebJobsSlotResponse, + WebAppsGetWebJobSlotOptionalParams, + WebAppsGetWebJobSlotResponse, + WebAppsListSlotDifferencesFromProductionResponse, + WebAppsSwapSlotWithProductionOptionalParams, + WebAppsListSnapshotsResponse, + WebAppsListSnapshotsFromDRSecondaryResponse, + WebAppsGetSourceControlOptionalParams, + WebAppsGetSourceControlResponse, + WebAppsCreateOrUpdateSourceControlOptionalParams, + WebAppsCreateOrUpdateSourceControlResponse, + WebAppsDeleteSourceControlOptionalParams, + WebAppsUpdateSourceControlOptionalParams, + WebAppsUpdateSourceControlResponse, + WebAppsStartOptionalParams, + WebAppsStartNetworkTraceOptionalParams, + WebAppsStartNetworkTraceResponse, + WebAppsStopOptionalParams, + WebAppsStopNetworkTraceOptionalParams, + WebAppsSyncRepositoryOptionalParams, + WebAppsSyncFunctionTriggersOptionalParams, + WebAppsListTriggeredWebJobsResponse, + WebAppsGetTriggeredWebJobOptionalParams, + WebAppsGetTriggeredWebJobResponse, + WebAppsDeleteTriggeredWebJobOptionalParams, + WebAppsListTriggeredWebJobHistoryResponse, + WebAppsGetTriggeredWebJobHistoryOptionalParams, + WebAppsGetTriggeredWebJobHistoryResponse, + WebAppsRunTriggeredWebJobOptionalParams, + WebAppsListUsagesResponse, + WebAppsListVnetConnectionsOptionalParams, + WebAppsListVnetConnectionsResponse, + WebAppsGetVnetConnectionOptionalParams, + WebAppsGetVnetConnectionResponse, + WebAppsCreateOrUpdateVnetConnectionOptionalParams, + WebAppsCreateOrUpdateVnetConnectionResponse, + WebAppsDeleteVnetConnectionOptionalParams, + WebAppsUpdateVnetConnectionOptionalParams, + WebAppsUpdateVnetConnectionResponse, + WebAppsGetVnetConnectionGatewayOptionalParams, + WebAppsGetVnetConnectionGatewayResponse, + WebAppsCreateOrUpdateVnetConnectionGatewayOptionalParams, + WebAppsCreateOrUpdateVnetConnectionGatewayResponse, + WebAppsUpdateVnetConnectionGatewayOptionalParams, + WebAppsUpdateVnetConnectionGatewayResponse, + WebAppsListWebJobsResponse, + WebAppsGetWebJobOptionalParams, + WebAppsGetWebJobResponse, + WebAppsListNextResponse, + WebAppsListByResourceGroupNextResponse, + WebAppsListBackupsNextResponse, + WebAppsListBasicPublishingCredentialsPoliciesNextResponse, + WebAppsListConfigurationsNextResponse, + WebAppsGetAppSettingsKeyVaultReferencesNextResponse, + WebAppsGetSiteConnectionStringKeyVaultReferencesNextResponse, + WebAppsListConfigurationSnapshotInfoNextResponse, + WebAppsListContinuousWebJobsNextResponse, + WebAppsListDeploymentsNextResponse, + WebAppsListDomainOwnershipIdentifiersNextResponse, + WebAppsListFunctionsNextResponse, + WebAppsListHostNameBindingsNextResponse, + WebAppsListInstanceIdentifiersNextResponse, + WebAppsListInstanceProcessesNextResponse, + WebAppsListInstanceProcessModulesNextResponse, + WebAppsListInstanceProcessThreadsNextResponse, + WebAppsListSiteBackupsNextResponse, + WebAppsListPerfMonCountersNextResponse, + WebAppsGetPrivateEndpointConnectionListNextResponse, + WebAppsListProcessesNextResponse, + WebAppsListProcessModulesNextResponse, + WebAppsListProcessThreadsNextResponse, + WebAppsListPublicCertificatesNextResponse, + WebAppsListSiteExtensionsNextResponse, + WebAppsListSlotsNextResponse, + WebAppsListBackupsSlotNextResponse, + WebAppsListBasicPublishingCredentialsPoliciesSlotNextResponse, + WebAppsListConfigurationsSlotNextResponse, + WebAppsGetAppSettingsKeyVaultReferencesSlotNextResponse, + WebAppsGetSiteConnectionStringKeyVaultReferencesSlotNextResponse, + WebAppsListConfigurationSnapshotInfoSlotNextResponse, + WebAppsListContinuousWebJobsSlotNextResponse, + WebAppsListDeploymentsSlotNextResponse, + WebAppsListDomainOwnershipIdentifiersSlotNextResponse, + WebAppsListInstanceFunctionsSlotNextResponse, + WebAppsListHostNameBindingsSlotNextResponse, + WebAppsListInstanceIdentifiersSlotNextResponse, + WebAppsListInstanceProcessesSlotNextResponse, + WebAppsListInstanceProcessModulesSlotNextResponse, + WebAppsListInstanceProcessThreadsSlotNextResponse, + WebAppsListSiteBackupsSlotNextResponse, + WebAppsListPerfMonCountersSlotNextResponse, + WebAppsGetPrivateEndpointConnectionListSlotNextResponse, + WebAppsListProcessesSlotNextResponse, + WebAppsListProcessModulesSlotNextResponse, + WebAppsListProcessThreadsSlotNextResponse, + WebAppsListPublicCertificatesSlotNextResponse, + WebAppsListSiteExtensionsSlotNextResponse, + WebAppsListSlotDifferencesSlotNextResponse, + WebAppsListSnapshotsSlotNextResponse, + WebAppsListSnapshotsFromDRSecondarySlotNextResponse, + WebAppsListTriggeredWebJobsSlotNextResponse, + WebAppsListTriggeredWebJobHistorySlotNextResponse, + WebAppsListUsagesSlotNextResponse, + WebAppsListWebJobsSlotNextResponse, + WebAppsListSlotDifferencesFromProductionNextResponse, + WebAppsListSnapshotsNextResponse, + WebAppsListSnapshotsFromDRSecondaryNextResponse, + WebAppsListTriggeredWebJobsNextResponse, + WebAppsListTriggeredWebJobHistoryNextResponse, + WebAppsListUsagesNextResponse, + WebAppsListWebJobsNextResponse +} from "../models"; + +/// /** Class representing a WebApps. */ -export class WebApps { +export class WebAppsImpl implements WebApps { private readonly client: WebSiteManagementClientContext; /** - * Create a WebApps. - * @param {WebSiteManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class WebApps class. + * @param client Reference to the service client */ constructor(client: WebSiteManagementClientContext) { this.client = client; @@ -28,27390 +911,16689 @@ export class WebApps { /** * Description for Get all apps for a subscription. - * @summary Get all apps for a subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - list( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - list( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: WebAppsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback - ) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: WebAppsListOptionalParams + ): 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?: WebAppsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Description for Gets all web, mobile, and API apps in the specified resource group. - * @summary Gets all web, mobile, and API apps in the specified resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByResourceGroup( + public listByResourceGroup( resourceGroupName: string, - options?: Models.WebAppsListByResourceGroupOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param callback The callback - */ - listByResourceGroup( - resourceGroupName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup( - resourceGroupName: string, - options: Models.WebAppsListByResourceGroupOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByResourceGroup( + options?: WebAppsListByResourceGroupOptionalParams + ): 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?: - | Models.WebAppsListByResourceGroupOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the details of a web, mobile, or API app. - * @summary Gets the details of a web, mobile, or API app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - get( + private async *listByResourceGroupPagingAll( resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - get(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; + options?: WebAppsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + /** + * Description for Gets existing backups of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get( + public listBackups( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - get( + options?: WebAppsListBackupsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBackupsPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBackupsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listBackupsPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListBackupsOptionalParams + ): AsyncIterableIterator { + let result = await this._listBackups(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBackupsNext( resourceGroupName, name, + continuationToken, options - }, - getOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Creates a new web, mobile, or API app in an existing resource group, or updates - * an existing app. - * @summary Creates a new web, mobile, or API app in an existing resource group, or updates an - * existing app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate( + private async *listBackupsPagingAll( resourceGroupName: string, name: string, - siteEnvelope: Models.Site, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdate( + options?: WebAppsListBackupsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBackupsPagingPage( resourceGroupName, name, - siteEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateOrUpdateResponse - >; + )) { + yield* page; + } } /** - * Description for Deletes a web, mobile, or API app, or one of the deployment slots. - * @summary Deletes a web, mobile, or API app, or one of the deployment slots. + * Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app to delete. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - deleteMethod( + public listBasicPublishingCredentialsPolicies( resourceGroupName: string, name: string, - options?: Models.WebAppsDeleteMethodOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app to delete. - * @param callback The callback - */ - deleteMethod( + options?: WebAppsListBasicPublishingCredentialsPoliciesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBasicPublishingCredentialsPoliciesPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBasicPublishingCredentialsPoliciesPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listBasicPublishingCredentialsPoliciesPagingPage( + resourceGroupName: string, + name: string, + options?: WebAppsListBasicPublishingCredentialsPoliciesOptionalParams + ): AsyncIterableIterator { + let result = await this._listBasicPublishingCredentialsPolicies( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBasicPublishingCredentialsPoliciesNext( + resourceGroupName, + name, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBasicPublishingCredentialsPoliciesPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListBasicPublishingCredentialsPoliciesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBasicPublishingCredentialsPoliciesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for List the configurations of an app * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app to delete. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - deleteMethod( + public listConfigurations( resourceGroupName: string, name: string, - options: Models.WebAppsDeleteMethodOptionalParams, - callback: msRest.ServiceCallback - ): void; - deleteMethod( + options?: WebAppsListConfigurationsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listConfigurationsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listConfigurationsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listConfigurationsPagingPage( resourceGroupName: string, name: string, - options?: Models.WebAppsDeleteMethodOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListConfigurationsOptionalParams + ): AsyncIterableIterator { + let result = await this._listConfigurations( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listConfigurationsNext( resourceGroupName, name, + continuationToken, options - }, - deleteMethodOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Creates a new web, mobile, or API app in an existing resource group, or updates - * an existing app. - * @summary Creates a new web, mobile, or API app in an existing resource group, or updates an - * existing app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param [options] The optional parameters - * @returns Promise - */ - update( - resourceGroupName: string, - name: string, - siteEnvelope: Models.SitePatchResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param callback The callback - */ - update( + private async *listConfigurationsPagingAll( resourceGroupName: string, name: string, - siteEnvelope: Models.SitePatchResource, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListConfigurationsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listConfigurationsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets the config reference app settings and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - update( + public listAppSettingsKeyVaultReferences( resourceGroupName: string, name: string, - siteEnvelope: Models.SitePatchResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - update( + options?: WebAppsGetAppSettingsKeyVaultReferencesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getAppSettingsKeyVaultReferencesPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getAppSettingsKeyVaultReferencesPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *getAppSettingsKeyVaultReferencesPagingPage( resourceGroupName: string, name: string, - siteEnvelope: Models.SitePatchResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsGetAppSettingsKeyVaultReferencesOptionalParams + ): AsyncIterableIterator { + let result = await this._getAppSettingsKeyVaultReferences( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getAppSettingsKeyVaultReferencesNext( resourceGroupName, name, - siteEnvelope, + continuationToken, options - }, - updateOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Analyze a custom hostname. - * @summary Analyze a custom hostname. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - analyzeCustomHostname( - resourceGroupName: string, - name: string, - options?: Models.WebAppsAnalyzeCustomHostnameOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - analyzeCustomHostname( + private async *getAppSettingsKeyVaultReferencesPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetAppSettingsKeyVaultReferencesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getAppSettingsKeyVaultReferencesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets the config reference app settings and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - analyzeCustomHostname( + public listSiteConnectionStringKeyVaultReferences( resourceGroupName: string, name: string, - options: Models.WebAppsAnalyzeCustomHostnameOptionalParams, - callback: msRest.ServiceCallback - ): void; - analyzeCustomHostname( + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getSiteConnectionStringKeyVaultReferencesPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getSiteConnectionStringKeyVaultReferencesPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *getSiteConnectionStringKeyVaultReferencesPagingPage( resourceGroupName: string, name: string, - options?: - | Models.WebAppsAnalyzeCustomHostnameOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams + ): AsyncIterableIterator { + let result = await this._getSiteConnectionStringKeyVaultReferences( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getSiteConnectionStringKeyVaultReferencesNext( resourceGroupName, name, + continuationToken, options - }, - analyzeCustomHostnameOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Applies the configuration settings from the target slot onto the current slot. - * @summary Applies the configuration settings from the target slot onto the current slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param [options] The optional parameters - * @returns Promise - */ - applySlotConfigToProduction( - resourceGroupName: string, - name: string, - slotSwapEntity: Models.CsmSlotEntity, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param callback The callback - */ - applySlotConfigToProduction( + private async *getSiteConnectionStringKeyVaultReferencesPagingAll( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getSiteConnectionStringKeyVaultReferencesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets a list of web app configuration snapshots identifiers. Each element of the list + * contains a timestamp and the ID of the snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - applySlotConfigToProduction( + public listConfigurationSnapshotInfo( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - applySlotConfigToProduction( + options?: WebAppsListConfigurationSnapshotInfoOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listConfigurationSnapshotInfoPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listConfigurationSnapshotInfoPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listConfigurationSnapshotInfoPagingPage( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListConfigurationSnapshotInfoOptionalParams + ): AsyncIterableIterator { + let result = await this._listConfigurationSnapshotInfo( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listConfigurationSnapshotInfoNext( resourceGroupName, name, - slotSwapEntity, + continuationToken, options - }, - applySlotConfigToProductionOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listConfigurationSnapshotInfoPagingAll( + resourceGroupName: string, + name: string, + options?: WebAppsListConfigurationSnapshotInfoOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listConfigurationSnapshotInfoPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } } /** - * Description for Creates a backup of an app. - * @summary Creates a backup of an app. + * Description for List continuous web jobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Backup configuration. You can use the JSON response from the POST action as input - * here. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param options The options parameters. */ - backup( + public listContinuousWebJobs( resourceGroupName: string, name: string, - request: Models.BackupRequest, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Backup configuration. You can use the JSON response from the POST action as input - * here. - * @param callback The callback - */ - backup( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Backup configuration. You can use the JSON response from the POST action as input - * here. - * @param options The optional parameters - * @param callback The callback - */ - backup( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - backup( + options?: WebAppsListContinuousWebJobsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listContinuousWebJobsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listContinuousWebJobsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listContinuousWebJobsPagingPage( resourceGroupName: string, name: string, - request: Models.BackupRequest, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListContinuousWebJobsOptionalParams + ): AsyncIterableIterator { + let result = await this._listContinuousWebJobs( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listContinuousWebJobsNext( resourceGroupName, name, - request, + continuationToken, options - }, - backupOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets existing backups of an app. - * @summary Gets existing backups of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listBackups( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listBackups( + private async *listContinuousWebJobsPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListContinuousWebJobsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listContinuousWebJobsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for List deployments for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listBackups( + public listDeployments( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listBackups( + options?: WebAppsListDeploymentsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listDeploymentsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listDeploymentsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listDeploymentsPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListDeploymentsOptionalParams + ): AsyncIterableIterator { + let result = await this._listDeployments(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listDeploymentsNext( resourceGroupName, name, + continuationToken, options - }, - listBackupsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets a backup of an app by its ID. - * @summary Gets a backup of an app by its ID. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param [options] The optional parameters - * @returns Promise - */ - getBackupStatus( - resourceGroupName: string, - name: string, - backupId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param callback The callback - */ - getBackupStatus( + private async *listDeploymentsPagingAll( resourceGroupName: string, name: string, - backupId: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListDeploymentsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listDeploymentsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Lists ownership identifiers for domain associated with web app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param backupId ID of the backup. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getBackupStatus( + public listDomainOwnershipIdentifiers( resourceGroupName: string, name: string, - backupId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getBackupStatus( + options?: WebAppsListDomainOwnershipIdentifiersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listDomainOwnershipIdentifiersPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listDomainOwnershipIdentifiersPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listDomainOwnershipIdentifiersPagingPage( resourceGroupName: string, name: string, - backupId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListDomainOwnershipIdentifiersOptionalParams + ): AsyncIterableIterator { + let result = await this._listDomainOwnershipIdentifiers( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listDomainOwnershipIdentifiersNext( resourceGroupName, name, - backupId, + continuationToken, options - }, - getBackupStatusOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Deletes a backup of an app by its ID. - * @summary Deletes a backup of an app by its ID. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param [options] The optional parameters - * @returns Promise - */ - deleteBackup( - resourceGroupName: string, - name: string, - backupId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param callback The callback - */ - deleteBackup( + private async *listDomainOwnershipIdentifiersPagingAll( resourceGroupName: string, name: string, - backupId: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListDomainOwnershipIdentifiersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listDomainOwnershipIdentifiersPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for List the functions for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param options The options parameters. */ - deleteBackup( + public listFunctions( resourceGroupName: string, name: string, - backupId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteBackup( + options?: WebAppsListFunctionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listFunctionsPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listFunctionsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listFunctionsPagingPage( resourceGroupName: string, name: string, - backupId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListFunctionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listFunctions(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listFunctionsNext( resourceGroupName, name, - backupId, + continuationToken, options - }, - deleteBackupOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets status of a web app backup that may be in progress, including secrets - * associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the - * SAS URL for the backup if a new URL is passed in the request body. - * @summary Gets status of a web app backup that may be in progress, including secrets associated - * with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for - * the backup if a new URL is passed in the request body. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param backupId ID of backup. - * @param request Information on backup request. - * @param [options] The optional parameters - * @returns Promise - */ - listBackupStatusSecrets( - resourceGroupName: string, - name: string, - backupId: string, - request: Models.BackupRequest, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param backupId ID of backup. - * @param request Information on backup request. - * @param callback The callback - */ - listBackupStatusSecrets( + private async *listFunctionsPagingAll( resourceGroupName: string, name: string, - backupId: string, - request: Models.BackupRequest, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListFunctionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listFunctionsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get hostname bindings for an app or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param backupId ID of backup. - * @param request Information on backup request. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - listBackupStatusSecrets( + public listHostNameBindings( resourceGroupName: string, name: string, - backupId: string, - request: Models.BackupRequest, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listBackupStatusSecrets( + options?: WebAppsListHostNameBindingsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listHostNameBindingsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listHostNameBindingsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listHostNameBindingsPagingPage( resourceGroupName: string, name: string, - backupId: string, - request: Models.BackupRequest, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListHostNameBindingsOptionalParams + ): AsyncIterableIterator { + let result = await this._listHostNameBindings( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listHostNameBindingsNext( resourceGroupName, name, - backupId, - request, + continuationToken, options - }, - listBackupStatusSecretsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Restores a specific backup to another app (or deployment slot, if specified). - * @summary Restores a specific backup to another app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param request Information on restore request . - * @param [options] The optional parameters - * @returns Promise - */ - restore( + private async *listHostNameBindingsPagingAll( resourceGroupName: string, name: string, - backupId: string, - request: Models.RestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginRestore( + options?: WebAppsListHostNameBindingsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listHostNameBindingsPagingPage( resourceGroupName, name, - backupId, - request, options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + )) { + yield* page; + } } /** - * Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given - * site. - * @summary Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getBasicPublishingCredentialsPolicies( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getBasicPublishingCredentialsPolicies( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Gets all scale-out instances of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getBasicPublishingCredentialsPolicies( + public listInstanceIdentifiers( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getBasicPublishingCredentialsPolicies( + options?: WebAppsListInstanceIdentifiersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceIdentifiersPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceIdentifiersPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listInstanceIdentifiersPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListInstanceIdentifiersOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceIdentifiers( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceIdentifiersNext( resourceGroupName, name, + continuationToken, options - }, - getBasicPublishingCredentialsPoliciesOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Returns whether FTP is allowed on the site or not. - * @summary Returns whether FTP is allowed on the site or not. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getFtpAllowed( + private async *listInstanceIdentifiersPagingAll( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListInstanceIdentifiersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceIdentifiersPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback + * @param name Site name. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getFtpAllowed( + public listInstanceProcesses( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - getFtpAllowed( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getFtpAllowed( + instanceId: string, + options?: WebAppsListInstanceProcessesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceProcessesPagingAll( + resourceGroupName, + name, + instanceId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceProcessesPagingPage( + resourceGroupName, + name, + instanceId, + options + ); + } + }; + } + + private async *listInstanceProcessesPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + instanceId: string, + options?: WebAppsListInstanceProcessesOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceProcesses( + resourceGroupName, + name, + instanceId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceProcessesNext( resourceGroupName, name, + instanceId, + continuationToken, options - }, - getFtpAllowedOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Updates whether FTP is allowed on the site or not. - * @summary Updates whether FTP is allowed on the site or not. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param [options] The optional parameters - * @returns Promise - */ - updateFtpAllowed( + private async *listInstanceProcessesPagingAll( resourceGroupName: string, name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param callback The callback - */ - updateFtpAllowed( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - callback: msRest.ServiceCallback - ): void; + instanceId: string, + options?: WebAppsListInstanceProcessesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceProcessesPagingPage( + resourceGroupName, + name, + instanceId, + options + )) { + yield* page; + } + } + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - updateFtpAllowed( + public listInstanceProcessModules( resourceGroupName: string, name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateFtpAllowed( + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessModulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceProcessModulesPagingAll( + resourceGroupName, + name, + processId, + instanceId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceProcessModulesPagingPage( + resourceGroupName, + name, + processId, + instanceId, + options + ); + } + }; + } + + private async *listInstanceProcessModulesPagingPage( resourceGroupName: string, name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessModulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceProcessModules( + resourceGroupName, + name, + processId, + instanceId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceProcessModulesNext( resourceGroupName, name, - csmPublishingAccessPoliciesEntity, + processId, + instanceId, + continuationToken, options - }, - updateFtpAllowedOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Returns whether Scm basic auth is allowed on the site or not. - * @summary Returns whether Scm basic auth is allowed on the site or not. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getScmAllowed( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getScmAllowed( + private async *listInstanceProcessModulesPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessModulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceProcessModulesPagingPage( + resourceGroupName, + name, + processId, + instanceId, + options + )) { + yield* page; + } + } + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getScmAllowed( + public listInstanceProcessThreads( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getScmAllowed( + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessThreadsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceProcessThreadsPagingAll( + resourceGroupName, + name, + processId, + instanceId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceProcessThreadsPagingPage( + resourceGroupName, + name, + processId, + instanceId, + options + ); + } + }; + } + + private async *listInstanceProcessThreadsPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessThreadsOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceProcessThreads( + resourceGroupName, + name, + processId, + instanceId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceProcessThreadsNext( resourceGroupName, name, + processId, + instanceId, + continuationToken, options - }, - getScmAllowedOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Updates whether user publishing credentials are allowed on the site or not. - * @summary Updates whether user publishing credentials are allowed on the site or not. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param [options] The optional parameters - * @returns Promise - */ - updateScmAllowed( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param callback The callback - */ - updateScmAllowed( + private async *listInstanceProcessThreadsPagingAll( resourceGroupName: string, name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - callback: msRest.ServiceCallback - ): void; + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessThreadsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceProcessThreadsPagingPage( + resourceGroupName, + name, + processId, + instanceId, + options + )) { + yield* page; + } + } + /** + * Description for Gets existing backups of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - updateScmAllowed( + public listSiteBackups( resourceGroupName: string, name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateScmAllowed( + options?: WebAppsListSiteBackupsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteBackupsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteBackupsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listSiteBackupsPagingPage( resourceGroupName: string, name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListSiteBackupsOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteBackups(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteBackupsNext( resourceGroupName, name, - csmPublishingAccessPoliciesEntity, + continuationToken, options - }, - updateScmAllowedOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for List the configurations of an app - * @summary List the configurations of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listConfigurations( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listConfigurations( + private async *listSiteBackupsPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSiteBackupsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteBackupsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets perfmon counters for web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param options The options parameters. */ - listConfigurations( + public listPerfMonCounters( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConfigurations( + options?: WebAppsListPerfMonCountersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPerfMonCountersPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPerfMonCountersPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listPerfMonCountersPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListPerfMonCountersOptionalParams + ): AsyncIterableIterator { + let result = await this._listPerfMonCounters( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listPerfMonCountersNext( resourceGroupName, name, + continuationToken, options - }, - listConfigurationsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Replaces the application settings of an app. - * @summary Replaces the application settings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettings Application settings of the app. - * @param [options] The optional parameters - * @returns Promise - */ - updateApplicationSettings( + private async *listPerfMonCountersPagingAll( resourceGroupName: string, name: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettings Application settings of the app. - * @param callback The callback - */ - updateApplicationSettings( - resourceGroupName: string, - name: string, - appSettings: Models.StringDictionary, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListPerfMonCountersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPerfMonCountersPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets the list of private endpoint connections associated with a site * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettings Application settings of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the site. + * @param options The options parameters. */ - updateApplicationSettings( + public listPrivateEndpointConnectionList( resourceGroupName: string, name: string, - appSettings: Models.StringDictionary, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateApplicationSettings( + options?: WebAppsGetPrivateEndpointConnectionListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getPrivateEndpointConnectionListPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getPrivateEndpointConnectionListPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *getPrivateEndpointConnectionListPagingPage( resourceGroupName: string, name: string, - appSettings: Models.StringDictionary, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsGetPrivateEndpointConnectionListOptionalParams + ): AsyncIterableIterator { + let result = await this._getPrivateEndpointConnectionList( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getPrivateEndpointConnectionListNext( resourceGroupName, name, - appSettings, + continuationToken, options - }, - updateApplicationSettingsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the application settings of an app. - * @summary Gets the application settings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listApplicationSettings( + private async *getPrivateEndpointConnectionListPagingAll( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listApplicationSettings( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetPrivateEndpointConnectionListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getPrivateEndpointConnectionListPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param options The options parameters. */ - listApplicationSettings( + public listProcesses( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listApplicationSettings( + options?: WebAppsListProcessesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listProcessesPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listProcessesPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listProcessesPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListProcessesOptionalParams + ): AsyncIterableIterator { + let result = await this._listProcesses(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listProcessesNext( resourceGroupName, name, + continuationToken, options - }, - listApplicationSettingsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Updates the Authentication / Authorization settings associated with web app. - * @summary Updates the Authentication / Authorization settings associated with web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettings Auth settings associated with web app. - * @param [options] The optional parameters - * @returns Promise - */ - updateAuthSettings( - resourceGroupName: string, - name: string, - siteAuthSettings: Models.SiteAuthSettings, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettings Auth settings associated with web app. - * @param callback The callback - */ - updateAuthSettings( + private async *listProcessesPagingAll( resourceGroupName: string, name: string, - siteAuthSettings: Models.SiteAuthSettings, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListProcessesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listProcessesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettings Auth settings associated with web app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param options The options parameters. */ - updateAuthSettings( + public listProcessModules( resourceGroupName: string, name: string, - siteAuthSettings: Models.SiteAuthSettings, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateAuthSettings( + processId: string, + options?: WebAppsListProcessModulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listProcessModulesPagingAll( + resourceGroupName, + name, + processId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listProcessModulesPagingPage( + resourceGroupName, + name, + processId, + options + ); + } + }; + } + + private async *listProcessModulesPagingPage( resourceGroupName: string, name: string, - siteAuthSettings: Models.SiteAuthSettings, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + processId: string, + options?: WebAppsListProcessModulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listProcessModules( + resourceGroupName, + name, + processId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listProcessModulesNext( resourceGroupName, name, - siteAuthSettings, + processId, + continuationToken, options - }, - updateAuthSettingsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the Authentication/Authorization settings of an app. - * @summary Gets the Authentication/Authorization settings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthSettings( + private async *listProcessModulesPagingAll( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getAuthSettings( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; + processId: string, + options?: WebAppsListProcessModulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listProcessModulesPagingPage( + resourceGroupName, + name, + processId, + options + )) { + yield* page; + } + } + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param options The options parameters. */ - getAuthSettings( + public listProcessThreads( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAuthSettings( + processId: string, + options?: WebAppsListProcessThreadsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listProcessThreadsPagingAll( + resourceGroupName, + name, + processId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listProcessThreadsPagingPage( + resourceGroupName, + name, + processId, + options + ); + } + }; + } + + private async *listProcessThreadsPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + processId: string, + options?: WebAppsListProcessThreadsOptionalParams + ): AsyncIterableIterator { + let result = await this._listProcessThreads( + resourceGroupName, + name, + processId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listProcessThreadsNext( resourceGroupName, name, + processId, + continuationToken, options - }, - getAuthSettingsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Updates site's Authentication / Authorization settings for apps via the V2 - * format - * @summary Updates site's Authentication / Authorization settings for apps via the V2 format - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettingsV2 Auth settings associated with web app. - * @param [options] The optional parameters - * @returns Promise - */ - updateAuthSettingsV2( - resourceGroupName: string, - name: string, - siteAuthSettingsV2: Models.SiteAuthSettingsV2, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettingsV2 Auth settings associated with web app. - * @param callback The callback - */ - updateAuthSettingsV2( + private async *listProcessThreadsPagingAll( resourceGroupName: string, name: string, - siteAuthSettingsV2: Models.SiteAuthSettingsV2, - callback: msRest.ServiceCallback - ): void; + processId: string, + options?: WebAppsListProcessThreadsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listProcessThreadsPagingPage( + resourceGroupName, + name, + processId, + options + )) { + yield* page; + } + } + /** + * Description for Get public certificates for an app or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettingsV2 Auth settings associated with web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - updateAuthSettingsV2( + public listPublicCertificates( resourceGroupName: string, name: string, - siteAuthSettingsV2: Models.SiteAuthSettingsV2, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateAuthSettingsV2( + options?: WebAppsListPublicCertificatesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPublicCertificatesPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPublicCertificatesPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listPublicCertificatesPagingPage( resourceGroupName: string, name: string, - siteAuthSettingsV2: Models.SiteAuthSettingsV2, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListPublicCertificatesOptionalParams + ): AsyncIterableIterator { + let result = await this._listPublicCertificates( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listPublicCertificatesNext( resourceGroupName, name, - siteAuthSettingsV2, + continuationToken, options - }, - updateAuthSettingsV2OperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets site's Authentication / Authorization settings for apps via the V2 format - * @summary Gets site's Authentication / Authorization settings for apps via the V2 format - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthSettingsV2( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getAuthSettingsV2( + private async *listPublicCertificatesPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListPublicCertificatesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPublicCertificatesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Get list of siteextensions for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param options The options parameters. */ - getAuthSettingsV2( + public listSiteExtensions( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAuthSettingsV2( + options?: WebAppsListSiteExtensionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteExtensionsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteExtensionsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listSiteExtensionsPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListSiteExtensionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteExtensions( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteExtensionsNext( resourceGroupName, name, + continuationToken, options - }, - getAuthSettingsV2OperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Updates the Azure storage account configurations of an app. - * @summary Updates the Azure storage account configurations of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param azureStorageAccounts Azure storage accounts of the app. - * @param [options] The optional parameters - * @returns Promise - */ - updateAzureStorageAccounts( - resourceGroupName: string, - name: string, - azureStorageAccounts: Models.AzureStoragePropertyDictionaryResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param azureStorageAccounts Azure storage accounts of the app. - * @param callback The callback - */ - updateAzureStorageAccounts( + private async *listSiteExtensionsPagingAll( resourceGroupName: string, name: string, - azureStorageAccounts: Models.AzureStoragePropertyDictionaryResource, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSiteExtensionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteExtensionsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets an app's deployment slots. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param azureStorageAccounts Azure storage accounts of the app. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - updateAzureStorageAccounts( + public listSlots( resourceGroupName: string, name: string, - azureStorageAccounts: Models.AzureStoragePropertyDictionaryResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateAzureStorageAccounts( + options?: WebAppsListSlotsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSlotsPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSlotsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listSlotsPagingPage( resourceGroupName: string, name: string, - azureStorageAccounts: Models.AzureStoragePropertyDictionaryResource, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListSlotsOptionalParams + ): AsyncIterableIterator { + let result = await this._listSlots(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSlotsNext( resourceGroupName, name, - azureStorageAccounts, + continuationToken, options - }, - updateAzureStorageAccountsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the Azure storage account configurations of an app. - * @summary Gets the Azure storage account configurations of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listAzureStorageAccounts( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listAzureStorageAccounts( + private async *listSlotsPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSlotsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSlotsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Gets existing backups of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of the + * production slot. + * @param options The options parameters. */ - listAzureStorageAccounts( + public listBackupsSlot( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listAzureStorageAccounts( + slot: string, + options?: WebAppsListBackupsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBackupsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBackupsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listBackupsSlotPagingPage( resourceGroupName: string, name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListBackupsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listBackupsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBackupsSlotNext( resourceGroupName, name, + slot, + continuationToken, options - }, - listAzureStorageAccountsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Updates the backup configuration of an app. - * @summary Updates the backup configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Edited backup configuration. - * @param [options] The optional parameters - * @returns Promise - */ - updateBackupConfiguration( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Edited backup configuration. - * @param callback The callback - */ - updateBackupConfiguration( + private async *listBackupsSlotPagingAll( resourceGroupName: string, name: string, - request: Models.BackupRequest, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListBackupsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBackupsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param request Edited backup configuration. - * @param options The optional parameters - * @param callback The callback + * @param slot + * @param options The options parameters. */ - updateBackupConfiguration( + public listBasicPublishingCredentialsPoliciesSlot( resourceGroupName: string, name: string, - request: Models.BackupRequest, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateBackupConfiguration( + slot: string, + options?: WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBasicPublishingCredentialsPoliciesSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBasicPublishingCredentialsPoliciesSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listBasicPublishingCredentialsPoliciesSlotPagingPage( resourceGroupName: string, name: string, - request: Models.BackupRequest, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listBasicPublishingCredentialsPoliciesSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBasicPublishingCredentialsPoliciesSlotNext( resourceGroupName, name, - request, + slot, + continuationToken, options - }, - updateBackupConfigurationOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Deletes the backup configuration of an app. - * @summary Deletes the backup configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - deleteBackupConfiguration( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - deleteBackupConfiguration( + private async *listBasicPublishingCredentialsPoliciesSlotPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBasicPublishingCredentialsPoliciesSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for List the configurations of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. */ - deleteBackupConfiguration( + public listConfigurationsSlot( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteBackupConfiguration( + slot: string, + options?: WebAppsListConfigurationsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listConfigurationsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listConfigurationsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listConfigurationsSlotPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListConfigurationsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listConfigurationsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listConfigurationsSlotNext( resourceGroupName, name, + slot, + continuationToken, options - }, - deleteBackupConfigurationOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the backup configuration of an app. - * @summary Gets the backup configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getBackupConfiguration( + private async *listConfigurationsSlotPagingAll( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getBackupConfiguration( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListConfigurationsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listConfigurationsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Gets the config reference app settings and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param slot + * @param options The options parameters. */ - getBackupConfiguration( + public listAppSettingsKeyVaultReferencesSlot( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getBackupConfiguration( + slot: string, + options?: WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getAppSettingsKeyVaultReferencesSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getAppSettingsKeyVaultReferencesSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *getAppSettingsKeyVaultReferencesSlotPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._getAppSettingsKeyVaultReferencesSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getAppSettingsKeyVaultReferencesSlotNext( resourceGroupName, name, + slot, + continuationToken, options - }, - getBackupConfigurationOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the config reference app settings and status of an app - * @summary Gets the config reference app settings and status of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getAppSettingsKeyVaultReferences( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getAppSettingsKeyVaultReferences( + private async *getAppSettingsKeyVaultReferencesSlotPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getAppSettingsKeyVaultReferencesSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Gets the config reference app settings and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param slot + * @param options The options parameters. */ - getAppSettingsKeyVaultReferences( + public listSiteConnectionStringKeyVaultReferencesSlot( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAppSettingsKeyVaultReferences( + slot: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getSiteConnectionStringKeyVaultReferencesSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getSiteConnectionStringKeyVaultReferencesSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *getSiteConnectionStringKeyVaultReferencesSlotPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._getSiteConnectionStringKeyVaultReferencesSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getSiteConnectionStringKeyVaultReferencesSlotNext( resourceGroupName, name, + slot, + continuationToken, options - }, - getAppSettingsKeyVaultReferencesOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the config reference and status of an app - * @summary Gets the config reference and status of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettingKey App Setting key name. - * @param [options] The optional parameters - * @returns Promise - */ - getAppSettingKeyVaultReference( - resourceGroupName: string, - name: string, - appSettingKey: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettingKey App Setting key name. - * @param callback The callback - */ - getAppSettingKeyVaultReference( + private async *getSiteConnectionStringKeyVaultReferencesSlotPagingAll( resourceGroupName: string, name: string, - appSettingKey: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getSiteConnectionStringKeyVaultReferencesSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Gets a list of web app configuration snapshots identifiers. Each element of the list + * contains a timestamp and the ID of the snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param appSettingKey App Setting key name. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. */ - getAppSettingKeyVaultReference( + public listConfigurationSnapshotInfoSlot( resourceGroupName: string, name: string, - appSettingKey: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAppSettingKeyVaultReference( + slot: string, + options?: WebAppsListConfigurationSnapshotInfoSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listConfigurationSnapshotInfoSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listConfigurationSnapshotInfoSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listConfigurationSnapshotInfoSlotPagingPage( resourceGroupName: string, name: string, - appSettingKey: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListConfigurationSnapshotInfoSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listConfigurationSnapshotInfoSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listConfigurationSnapshotInfoSlotNext( resourceGroupName, name, - appSettingKey, + slot, + continuationToken, options - }, - getAppSettingKeyVaultReferenceOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the config reference app settings and status of an app - * @summary Gets the config reference app settings and status of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getSiteConnectionStringKeyVaultReferences( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferences( + private async *listConfigurationSnapshotInfoSlotPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; - /** + slot: string, + options?: WebAppsListConfigurationSnapshotInfoSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listConfigurationSnapshotInfoSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + + /** + * Description for List continuous web jobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - getSiteConnectionStringKeyVaultReferences( + public listContinuousWebJobsSlot( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSiteConnectionStringKeyVaultReferences( + slot: string, + options?: WebAppsListContinuousWebJobsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listContinuousWebJobsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listContinuousWebJobsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listContinuousWebJobsSlotPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListContinuousWebJobsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listContinuousWebJobsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listContinuousWebJobsSlotNext( resourceGroupName, name, + slot, + continuationToken, options - }, - getSiteConnectionStringKeyVaultReferencesOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the config reference and status of an app - * @summary Gets the config reference and status of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStringKey - * @param [options] The optional parameters - * @returns Promise - */ - getSiteConnectionStringKeyVaultReference( - resourceGroupName: string, - name: string, - connectionStringKey: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStringKey - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReference( + private async *listContinuousWebJobsSlotPagingAll( resourceGroupName: string, name: string, - connectionStringKey: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListContinuousWebJobsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listContinuousWebJobsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for List deployments for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param connectionStringKey - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - getSiteConnectionStringKeyVaultReference( + public listDeploymentsSlot( resourceGroupName: string, name: string, - connectionStringKey: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSiteConnectionStringKeyVaultReference( + slot: string, + options?: WebAppsListDeploymentsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listDeploymentsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listDeploymentsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listDeploymentsSlotPagingPage( resourceGroupName: string, name: string, - connectionStringKey: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListDeploymentsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listDeploymentsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listDeploymentsSlotNext( resourceGroupName, name, - connectionStringKey, + slot, + continuationToken, options - }, - getSiteConnectionStringKeyVaultReferenceOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Replaces the connection strings of an app. - * @summary Replaces the connection strings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStrings Connection strings of the app or deployment slot. See example. - * @param [options] The optional parameters - * @returns Promise - */ - updateConnectionStrings( - resourceGroupName: string, - name: string, - connectionStrings: Models.ConnectionStringDictionary, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStrings Connection strings of the app or deployment slot. See example. - * @param callback The callback - */ - updateConnectionStrings( + private async *listDeploymentsSlotPagingAll( resourceGroupName: string, name: string, - connectionStrings: Models.ConnectionStringDictionary, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListDeploymentsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listDeploymentsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Lists ownership identifiers for domain associated with web app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param connectionStrings Connection strings of the app or deployment slot. See example. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param options The options parameters. */ - updateConnectionStrings( + public listDomainOwnershipIdentifiersSlot( resourceGroupName: string, name: string, - connectionStrings: Models.ConnectionStringDictionary, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateConnectionStrings( + slot: string, + options?: WebAppsListDomainOwnershipIdentifiersSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listDomainOwnershipIdentifiersSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listDomainOwnershipIdentifiersSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listDomainOwnershipIdentifiersSlotPagingPage( resourceGroupName: string, name: string, - connectionStrings: Models.ConnectionStringDictionary, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListDomainOwnershipIdentifiersSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listDomainOwnershipIdentifiersSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listDomainOwnershipIdentifiersSlotNext( resourceGroupName, name, - connectionStrings, + slot, + continuationToken, options - }, - updateConnectionStringsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the connection strings of an app. - * @summary Gets the connection strings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listConnectionStrings( + private async *listDomainOwnershipIdentifiersSlotPagingAll( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listConnectionStrings( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListDomainOwnershipIdentifiersSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listDomainOwnershipIdentifiersSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for List the functions for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - listConnectionStrings( + public listInstanceFunctionsSlot( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConnectionStrings( + slot: string, + options?: WebAppsListInstanceFunctionsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceFunctionsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceFunctionsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listInstanceFunctionsSlotPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListInstanceFunctionsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceFunctionsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceFunctionsSlotNext( resourceGroupName, name, + slot, + continuationToken, options - }, - listConnectionStringsOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Gets the logging configuration of an app. - * @summary Gets the logging configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getDiagnosticLogsConfiguration( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getDiagnosticLogsConfiguration( + private async *listInstanceFunctionsSlotPagingAll( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListInstanceFunctionsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceFunctionsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Get hostname bindings for an app or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname bindings + * for the production slot. + * @param options The options parameters. */ - getDiagnosticLogsConfiguration( + public listHostNameBindingsSlot( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDiagnosticLogsConfiguration( + slot: string, + options?: WebAppsListHostNameBindingsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listHostNameBindingsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listHostNameBindingsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listHostNameBindingsSlotPagingPage( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slot: string, + options?: WebAppsListHostNameBindingsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listHostNameBindingsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listHostNameBindingsSlotNext( resourceGroupName, name, + slot, + continuationToken, options - }, - getDiagnosticLogsConfigurationOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Updates the logging configuration of an app. - * @summary Updates the logging configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to - * change in the "properties" property. - * @param [options] The optional parameters - * @returns Promise - */ - updateDiagnosticLogsConfig( - resourceGroupName: string, - name: string, - siteLogsConfig: Models.SiteLogsConfig, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to - * change in the "properties" property. - * @param callback The callback - */ - updateDiagnosticLogsConfig( + private async *listHostNameBindingsSlotPagingAll( resourceGroupName: string, name: string, - siteLogsConfig: Models.SiteLogsConfig, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListHostNameBindingsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listHostNameBindingsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Gets all scale-out instances of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to - * change in the "properties" property. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production + * slot instances. + * @param options The options parameters. */ - updateDiagnosticLogsConfig( + public listInstanceIdentifiersSlot( resourceGroupName: string, name: string, - siteLogsConfig: Models.SiteLogsConfig, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateDiagnosticLogsConfig( + slot: string, + options?: WebAppsListInstanceIdentifiersSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceIdentifiersSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceIdentifiersSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listInstanceIdentifiersSlotPagingPage( resourceGroupName: string, name: string, - siteLogsConfig: Models.SiteLogsConfig, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteLogsConfig, - options - }, - updateDiagnosticLogsConfigOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Replaces the metadata of an app. - * @summary Replaces the metadata of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param metadata Edited metadata of the app or deployment slot. See example. - * @param [options] The optional parameters - * @returns Promise - */ - updateMetadata( - resourceGroupName: string, - name: string, - metadata: Models.StringDictionary, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param metadata Edited metadata of the app or deployment slot. See example. - * @param callback The callback - */ - updateMetadata( - resourceGroupName: string, - name: string, - metadata: Models.StringDictionary, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param metadata Edited metadata of the app or deployment slot. See example. - * @param options The optional parameters - * @param callback The callback - */ - updateMetadata( - resourceGroupName: string, - name: string, - metadata: Models.StringDictionary, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateMetadata( - resourceGroupName: string, - name: string, - metadata: Models.StringDictionary, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - metadata, - options - }, - updateMetadataOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the metadata of an app. - * @summary Gets the metadata of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listMetadata( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listMetadata( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listMetadata( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMetadata( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listMetadataOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the Git/FTP publishing credentials of an app. - * @summary Gets the Git/FTP publishing credentials of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listPublishingCredentials( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginListPublishingCredentials(resourceGroupName, name, options).then((lroPoller) => - lroPoller.pollUntilFinished() - ) as Promise; - } - - /** - * Description for Updates the Push settings associated with web app. - * @summary Updates the Push settings associated with web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param pushSettings Push settings associated with web app. - * @param [options] The optional parameters - * @returns Promise - */ - updateSitePushSettings( - resourceGroupName: string, - name: string, - pushSettings: Models.PushSettings, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param pushSettings Push settings associated with web app. - * @param callback The callback - */ - updateSitePushSettings( - resourceGroupName: string, - name: string, - pushSettings: Models.PushSettings, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param pushSettings Push settings associated with web app. - * @param options The optional parameters - * @param callback The callback - */ - updateSitePushSettings( - resourceGroupName: string, - name: string, - pushSettings: Models.PushSettings, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateSitePushSettings( - resourceGroupName: string, - name: string, - pushSettings: Models.PushSettings, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - pushSettings, - options - }, - updateSitePushSettingsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the Push settings associated with web app. - * @summary Gets the Push settings associated with web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - listSitePushSettings( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - listSitePushSettings( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - listSitePushSettings( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSitePushSettings( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listSitePushSettingsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the names of app settings and connection strings that stick to the slot - * (not swapped). - * @summary Gets the names of app settings and connection strings that stick to the slot (not - * swapped). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listSlotConfigurationNames( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listSlotConfigurationNames( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listSlotConfigurationNames( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSlotConfigurationNames( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listSlotConfigurationNamesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the names of application settings and connection string that remain with - * the slot during swap operation. - * @summary Updates the names of application settings and connection string that remain with the - * slot during swap operation. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotConfigNames Names of application settings and connection strings. See example. - * @param [options] The optional parameters - * @returns Promise - */ - updateSlotConfigurationNames( - resourceGroupName: string, - name: string, - slotConfigNames: Models.SlotConfigNamesResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotConfigNames Names of application settings and connection strings. See example. - * @param callback The callback - */ - updateSlotConfigurationNames( - resourceGroupName: string, - name: string, - slotConfigNames: Models.SlotConfigNamesResource, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotConfigNames Names of application settings and connection strings. See example. - * @param options The optional parameters - * @param callback The callback - */ - updateSlotConfigurationNames( - resourceGroupName: string, - name: string, - slotConfigNames: Models.SlotConfigNamesResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateSlotConfigurationNames( - resourceGroupName: string, - name: string, - slotConfigNames: Models.SlotConfigNamesResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slotConfigNames, - options - }, - updateSlotConfigurationNamesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the configuration of an app, such as platform version and bitness, default - * documents, virtual applications, Always On, etc. - * @summary Gets the configuration of an app, such as platform version and bitness, default - * documents, virtual applications, Always On, etc. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getConfiguration( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getConfiguration( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - getConfiguration( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getConfiguration( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getConfigurationOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the configuration of an app. - * @summary Updates the configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateConfiguration( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param callback The callback - */ - createOrUpdateConfiguration( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateConfiguration( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateConfiguration( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteConfig, - options - }, - createOrUpdateConfigurationOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the configuration of an app. - * @summary Updates the configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param [options] The optional parameters - * @returns Promise - */ - updateConfiguration( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param callback The callback - */ - updateConfiguration( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param options The optional parameters - * @param callback The callback - */ - updateConfiguration( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateConfiguration( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteConfig, - options - }, - updateConfigurationOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a list of web app configuration snapshots identifiers. Each element of the - * list contains a timestamp and the ID of the snapshot. - * @summary Gets a list of web app configuration snapshots identifiers. Each element of the list - * contains a timestamp and the ID of the snapshot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listConfigurationSnapshotInfo( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listConfigurationSnapshotInfo( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listConfigurationSnapshotInfo( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConfigurationSnapshotInfo( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listConfigurationSnapshotInfoOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a snapshot of the configuration of an app at a previous point in time. - * @summary Gets a snapshot of the configuration of an app at a previous point in time. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param [options] The optional parameters - * @returns Promise - */ - getConfigurationSnapshot( - resourceGroupName: string, - name: string, - snapshotId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param callback The callback - */ - getConfigurationSnapshot( - resourceGroupName: string, - name: string, - snapshotId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param options The optional parameters - * @param callback The callback - */ - getConfigurationSnapshot( - resourceGroupName: string, - name: string, - snapshotId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getConfigurationSnapshot( - resourceGroupName: string, - name: string, - snapshotId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - snapshotId, - options - }, - getConfigurationSnapshotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Reverts the configuration of an app to a previous snapshot. - * @summary Reverts the configuration of an app to a previous snapshot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param [options] The optional parameters - * @returns Promise - */ - recoverSiteConfigurationSnapshot( - resourceGroupName: string, - name: string, - snapshotId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param callback The callback - */ - recoverSiteConfigurationSnapshot( - resourceGroupName: string, - name: string, - snapshotId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param options The optional parameters - * @param callback The callback - */ - recoverSiteConfigurationSnapshot( - resourceGroupName: string, - name: string, - snapshotId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - recoverSiteConfigurationSnapshot( - resourceGroupName: string, - name: string, - snapshotId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - snapshotId, - options - }, - recoverSiteConfigurationSnapshotOperationSpec, - callback - ); - } - - /** - * Description for Gets the last lines of docker logs for the given site - * @summary Gets the last lines of docker logs for the given site - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - getWebSiteContainerLogs( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - getWebSiteContainerLogs( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - getWebSiteContainerLogs( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getWebSiteContainerLogs( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getWebSiteContainerLogsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the ZIP archived docker log files for the given site - * @summary Gets the ZIP archived docker log files for the given site - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - getContainerLogsZip( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - getContainerLogsZip( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - getContainerLogsZip( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getContainerLogsZip( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getContainerLogsZipOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List continuous web jobs for an app, or a deployment slot. - * @summary List continuous web jobs for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param [options] The optional parameters - * @returns Promise - */ - listContinuousWebJobs( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param callback The callback - */ - listContinuousWebJobs( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param options The optional parameters - * @param callback The callback - */ - listContinuousWebJobs( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listContinuousWebJobs( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listContinuousWebJobsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a continuous web job by its ID for an app, or a deployment slot. - * @summary Gets a continuous web job by its ID for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param [options] The optional parameters - * @returns Promise - */ - getContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param callback The callback - */ - getContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param options The optional parameters - * @param callback The callback - */ - getContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - getContinuousWebJobOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Delete a continuous web job by its ID for an app, or a deployment slot. - * @summary Delete a continuous web job by its ID for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param [options] The optional parameters - * @returns Promise - */ - deleteContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param callback The callback - */ - deleteContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param options The optional parameters - * @param callback The callback - */ - deleteContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - deleteContinuousWebJobOperationSpec, - callback - ); - } - - /** - * Description for Start a continuous web job for an app, or a deployment slot. - * @summary Start a continuous web job for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param [options] The optional parameters - * @returns Promise - */ - startContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param callback The callback - */ - startContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param options The optional parameters - * @param callback The callback - */ - startContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - startContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - startContinuousWebJobOperationSpec, - callback - ); - } - - /** - * Description for Stop a continuous web job for an app, or a deployment slot. - * @summary Stop a continuous web job for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param [options] The optional parameters - * @returns Promise - */ - stopContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param callback The callback - */ - stopContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param options The optional parameters - * @param callback The callback - */ - stopContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - stopContinuousWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - stopContinuousWebJobOperationSpec, - callback - ); - } - - /** - * Description for List deployments for an app, or a deployment slot. - * @summary List deployments for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listDeployments( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listDeployments( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listDeployments( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDeployments( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listDeploymentsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get a deployment by its ID for an app, or a deployment slot. - * @summary Get a deployment by its ID for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param [options] The optional parameters - * @returns Promise - */ - getDeployment( - resourceGroupName: string, - name: string, - id: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param callback The callback - */ - getDeployment( - resourceGroupName: string, - name: string, - id: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param options The optional parameters - * @param callback The callback - */ - getDeployment( - resourceGroupName: string, - name: string, - id: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDeployment( - resourceGroupName: string, - name: string, - id: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - id, - options - }, - getDeploymentOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Create a deployment for an app, or a deployment slot. - * @summary Create a deployment for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id ID of an existing deployment. - * @param deployment Deployment details. - * @param [options] The optional parameters - * @returns Promise - */ - createDeployment( - resourceGroupName: string, - name: string, - id: string, - deployment: Models.Deployment, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id ID of an existing deployment. - * @param deployment Deployment details. - * @param callback The callback - */ - createDeployment( - resourceGroupName: string, - name: string, - id: string, - deployment: Models.Deployment, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id ID of an existing deployment. - * @param deployment Deployment details. - * @param options The optional parameters - * @param callback The callback - */ - createDeployment( - resourceGroupName: string, - name: string, - id: string, - deployment: Models.Deployment, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createDeployment( - resourceGroupName: string, - name: string, - id: string, - deployment: Models.Deployment, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - id, - deployment, - options - }, - createDeploymentOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Delete a deployment by its ID for an app, or a deployment slot. - * @summary Delete a deployment by its ID for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param [options] The optional parameters - * @returns Promise - */ - deleteDeployment( - resourceGroupName: string, - name: string, - id: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param callback The callback - */ - deleteDeployment( - resourceGroupName: string, - name: string, - id: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param options The optional parameters - * @param callback The callback - */ - deleteDeployment( - resourceGroupName: string, - name: string, - id: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteDeployment( - resourceGroupName: string, - name: string, - id: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - id, - options - }, - deleteDeploymentOperationSpec, - callback - ); - } - - /** - * Description for List deployment log for specific deployment for an app, or a deployment slot. - * @summary List deployment log for specific deployment for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id The ID of a specific deployment. This is the value of the name property in the JSON - * response from "GET /api/sites/{siteName}/deployments". - * @param [options] The optional parameters - * @returns Promise - */ - listDeploymentLog( - resourceGroupName: string, - name: string, - id: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id The ID of a specific deployment. This is the value of the name property in the JSON - * response from "GET /api/sites/{siteName}/deployments". - * @param callback The callback - */ - listDeploymentLog( - resourceGroupName: string, - name: string, - id: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id The ID of a specific deployment. This is the value of the name property in the JSON - * response from "GET /api/sites/{siteName}/deployments". - * @param options The optional parameters - * @param callback The callback - */ - listDeploymentLog( - resourceGroupName: string, - name: string, - id: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDeploymentLog( - resourceGroupName: string, - name: string, - id: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - id, - options - }, - listDeploymentLogOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Discovers an existing app backup that can be restored from a blob in Azure - * storage. Use this to get information about the databases stored in a backup. - * @summary Discovers an existing app backup that can be restored from a blob in Azure storage. Use - * this to get information about the databases stored in a backup. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request A RestoreRequest object that includes Azure storage URL and blog name for - * discovery of backup. - * @param [options] The optional parameters - * @returns Promise - */ - discoverBackup( - resourceGroupName: string, - name: string, - request: Models.RestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request A RestoreRequest object that includes Azure storage URL and blog name for - * discovery of backup. - * @param callback The callback - */ - discoverBackup( - resourceGroupName: string, - name: string, - request: Models.RestoreRequest, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request A RestoreRequest object that includes Azure storage URL and blog name for - * discovery of backup. - * @param options The optional parameters - * @param callback The callback - */ - discoverBackup( - resourceGroupName: string, - name: string, - request: Models.RestoreRequest, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - discoverBackup( - resourceGroupName: string, - name: string, - request: Models.RestoreRequest, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - request, - options - }, - discoverBackupOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Lists ownership identifiers for domain associated with web app. - * @summary Lists ownership identifiers for domain associated with web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listDomainOwnershipIdentifiers( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listDomainOwnershipIdentifiers( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listDomainOwnershipIdentifiers( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDomainOwnershipIdentifiers( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listDomainOwnershipIdentifiersOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get domain ownership identifier for web app. - * @summary Get domain ownership identifier for web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param [options] The optional parameters - * @returns Promise - */ - getDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param callback The callback - */ - getDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param options The optional parameters - * @param callback The callback - */ - getDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - domainOwnershipIdentifierName, - options - }, - getDomainOwnershipIdentifierOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Creates a domain ownership identifier for web app, or updates an existing - * ownership identifier. - * @summary Creates a domain ownership identifier for web app, or updates an existing ownership - * identifier. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param callback The callback - */ - createOrUpdateDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - domainOwnershipIdentifierName, - domainOwnershipIdentifier, - options - }, - createOrUpdateDomainOwnershipIdentifierOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes a domain ownership identifier for a web app. - * @summary Deletes a domain ownership identifier for a web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param [options] The optional parameters - * @returns Promise - */ - deleteDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param callback The callback - */ - deleteDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param options The optional parameters - * @param callback The callback - */ - deleteDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - domainOwnershipIdentifierName, - options - }, - deleteDomainOwnershipIdentifierOperationSpec, - callback - ); - } - - /** - * Description for Creates a domain ownership identifier for web app, or updates an existing - * ownership identifier. - * @summary Creates a domain ownership identifier for web app, or updates an existing ownership - * identifier. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param [options] The optional parameters - * @returns Promise - */ - updateDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param callback The callback - */ - updateDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param options The optional parameters - * @param callback The callback - */ - updateDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateDomainOwnershipIdentifier( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - domainOwnershipIdentifierName, - domainOwnershipIdentifier, - options - }, - updateDomainOwnershipIdentifierOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get the status of the last MSDeploy operation. - * @summary Get the status of the last MSDeploy operation. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - getMSDeployStatus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - getMSDeployStatus( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - getMSDeployStatus( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getMSDeployStatus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getMSDeployStatusOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Invoke the MSDeploy web app extension. - * @summary Invoke the MSDeploy web app extension. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param mSDeploy Details of MSDeploy operation - * @param [options] The optional parameters - * @returns Promise - */ - createMSDeployOperation( - resourceGroupName: string, - name: string, - mSDeploy: Models.MSDeploy, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateMSDeployOperation( - resourceGroupName, - name, - mSDeploy, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateMSDeployOperationResponse - >; - } - - /** - * Description for Get the MSDeploy Log for the last MSDeploy operation. - * @summary Get the MSDeploy Log for the last MSDeploy operation. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - getMSDeployLog( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - getMSDeployLog( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - getMSDeployLog( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getMSDeployLog( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getMSDeployLogOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List the functions for a web site, or a deployment slot. - * @summary List the functions for a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param [options] The optional parameters - * @returns Promise - */ - listFunctions( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param callback The callback - */ - listFunctions( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param options The optional parameters - * @param callback The callback - */ - listFunctions( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listFunctions( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listFunctionsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Fetch a short lived token that can be exchanged for a master key. - * @summary Fetch a short lived token that can be exchanged for a master key. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - getFunctionsAdminToken( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - getFunctionsAdminToken( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - getFunctionsAdminToken( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getFunctionsAdminToken( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getFunctionsAdminTokenOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get function information by its ID for web site, or a deployment slot. - * @summary Get function information by its ID for web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param [options] The optional parameters - * @returns Promise - */ - getFunction( - resourceGroupName: string, - name: string, - functionName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param callback The callback - */ - getFunction( - resourceGroupName: string, - name: string, - functionName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param options The optional parameters - * @param callback The callback - */ - getFunction( - resourceGroupName: string, - name: string, - functionName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getFunction( - resourceGroupName: string, - name: string, - functionName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - functionName, - options - }, - getFunctionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Create function for web site, or a deployment slot. - * @summary Create function for web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param functionEnvelope Function details. - * @param [options] The optional parameters - * @returns Promise - */ - createFunction( - resourceGroupName: string, - name: string, - functionName: string, - functionEnvelope: Models.FunctionEnvelope, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateFunction( - resourceGroupName, - name, - functionName, - functionEnvelope, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateFunctionResponse - >; - } - - /** - * Description for Delete a function for web site, or a deployment slot. - * @summary Delete a function for web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteFunction( - resourceGroupName: string, - name: string, - functionName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param callback The callback - */ - deleteFunction( - resourceGroupName: string, - name: string, - functionName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param options The optional parameters - * @param callback The callback - */ - deleteFunction( - resourceGroupName: string, - name: string, - functionName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteFunction( - resourceGroupName: string, - name: string, - functionName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - functionName, - options - }, - deleteFunctionOperationSpec, - callback - ); - } - - /** - * Description for Add or update a function secret. - * @summary Add or update a function secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param key The key to create or update - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateFunctionSecret( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - key: Models.KeyInfo, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param key The key to create or update - * @param callback The callback - */ - createOrUpdateFunctionSecret( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - key: Models.KeyInfo, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param key The key to create or update - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateFunctionSecret( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - key: Models.KeyInfo, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateFunctionSecret( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - key: Models.KeyInfo, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - functionName, - keyName, - key, - options - }, - createOrUpdateFunctionSecretOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Delete a function secret. - * @summary Delete a function secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param [options] The optional parameters - * @returns Promise - */ - deleteFunctionSecret( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param callback The callback - */ - deleteFunctionSecret( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param options The optional parameters - * @param callback The callback - */ - deleteFunctionSecret( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteFunctionSecret( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - functionName, - keyName, - options - }, - deleteFunctionSecretOperationSpec, - callback - ); - } - - /** - * Description for Get function keys for a function in a web site, or a deployment slot. - * @summary Get function keys for a function in a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param [options] The optional parameters - * @returns Promise - */ - listFunctionKeys( - resourceGroupName: string, - name: string, - functionName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param callback The callback - */ - listFunctionKeys( - resourceGroupName: string, - name: string, - functionName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param options The optional parameters - * @param callback The callback - */ - listFunctionKeys( - resourceGroupName: string, - name: string, - functionName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listFunctionKeys( - resourceGroupName: string, - name: string, - functionName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - functionName, - options - }, - listFunctionKeysOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get function secrets for a function in a web site, or a deployment slot. - * @summary Get function secrets for a function in a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param [options] The optional parameters - * @returns Promise - */ - listFunctionSecrets( - resourceGroupName: string, - name: string, - functionName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param callback The callback - */ - listFunctionSecrets( - resourceGroupName: string, - name: string, - functionName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param options The optional parameters - * @param callback The callback - */ - listFunctionSecrets( - resourceGroupName: string, - name: string, - functionName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listFunctionSecrets( - resourceGroupName: string, - name: string, - functionName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - functionName, - options - }, - listFunctionSecretsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get host secrets for a function app. - * @summary Get host secrets for a function app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param [options] The optional parameters - * @returns Promise - */ - listHostKeys( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param callback The callback - */ - listHostKeys( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param options The optional parameters - * @param callback The callback - */ - listHostKeys( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHostKeys( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listHostKeysOperationSpec, - callback - ) as Promise; - } - - /** - * Description for This is to allow calling via powershell and ARM template. - * @summary This is to allow calling via powershell and ARM template. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listSyncStatus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listSyncStatus( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listSyncStatus( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSyncStatus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listSyncStatusOperationSpec, - callback - ); - } - - /** - * Description for Syncs function trigger metadata to the management database - * @summary Syncs function trigger metadata to the management database - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - syncFunctions( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - syncFunctions( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - syncFunctions( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - syncFunctions( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - syncFunctionsOperationSpec, - callback - ); - } - - /** - * Description for Add or update a host level secret. - * @summary Add or update a host level secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param key The key to create or update - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateHostSecret( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - key: Models.KeyInfo, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param key The key to create or update - * @param callback The callback - */ - createOrUpdateHostSecret( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - key: Models.KeyInfo, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param key The key to create or update - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateHostSecret( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - key: Models.KeyInfo, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateHostSecret( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - key: Models.KeyInfo, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - keyType, - keyName, - key, - options - }, - createOrUpdateHostSecretOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Delete a host level secret. - * @summary Delete a host level secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param [options] The optional parameters - * @returns Promise - */ - deleteHostSecret( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param callback The callback - */ - deleteHostSecret( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param options The optional parameters - * @param callback The callback - */ - deleteHostSecret( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteHostSecret( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - keyType, - keyName, - options - }, - deleteHostSecretOperationSpec, - callback - ); - } - - /** - * Description for Get hostname bindings for an app or a deployment slot. - * @summary Get hostname bindings for an app or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listHostNameBindings( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listHostNameBindings( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listHostNameBindings( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHostNameBindings( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listHostNameBindingsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get the named hostname binding for an app (or deployment slot, if specified). - * @summary Get the named hostname binding for an app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param [options] The optional parameters - * @returns Promise - */ - getHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param callback The callback - */ - getHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param options The optional parameters - * @param callback The callback - */ - getHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - hostName, - options - }, - getHostNameBindingOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Creates a hostname binding for an app. - * @summary Creates a hostname binding for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding - * object. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - hostNameBinding: Models.HostNameBinding, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding - * object. - * @param callback The callback - */ - createOrUpdateHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - hostNameBinding: Models.HostNameBinding, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding - * object. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - hostNameBinding: Models.HostNameBinding, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - hostNameBinding: Models.HostNameBinding, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - hostName, - hostNameBinding, - options - }, - createOrUpdateHostNameBindingOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes a hostname binding for an app. - * @summary Deletes a hostname binding for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param [options] The optional parameters - * @returns Promise - */ - deleteHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param callback The callback - */ - deleteHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param options The optional parameters - * @param callback The callback - */ - deleteHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteHostNameBinding( - resourceGroupName: string, - name: string, - hostName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - hostName, - options - }, - deleteHostNameBindingOperationSpec, - callback - ); - } - - /** - * Description for Retrieves a specific Service Bus Hybrid Connection used by this Web App. - * @summary Retrieves a specific Service Bus Hybrid Connection used by this Web App. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param [options] The optional parameters - * @returns Promise - */ - getHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param callback The callback - */ - getHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param options The optional parameters - * @param callback The callback - */ - getHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - options - }, - getHybridConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Creates a new Hybrid Connection using a Service Bus relay. - * @summary Creates a new Hybrid Connection using a Service Bus relay. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param callback The callback - */ - createOrUpdateHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - connectionEnvelope, - options - }, - createOrUpdateHybridConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Removes a Hybrid Connection from this site. - * @summary Removes a Hybrid Connection from this site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param [options] The optional parameters - * @returns Promise - */ - deleteHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param callback The callback - */ - deleteHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param options The optional parameters - * @param callback The callback - */ - deleteHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - options - }, - deleteHybridConnectionOperationSpec, - callback - ); - } - - /** - * Description for Creates a new Hybrid Connection using a Service Bus relay. - * @summary Creates a new Hybrid Connection using a Service Bus relay. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param [options] The optional parameters - * @returns Promise - */ - updateHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param callback The callback - */ - updateHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param options The optional parameters - * @param callback The callback - */ - updateHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateHybridConnection( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - connectionEnvelope, - options - }, - updateHybridConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Retrieves all Service Bus Hybrid Connections used by this Web App. - * @summary Retrieves all Service Bus Hybrid Connections used by this Web App. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise - */ - listHybridConnections( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param callback The callback - */ - listHybridConnections( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param options The optional parameters - * @param callback The callback - */ - listHybridConnections( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHybridConnections( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listHybridConnectionsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets hybrid connections configured for an app (or deployment slot, if - * specified). - * @summary Gets hybrid connections configured for an app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listRelayServiceConnections( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listRelayServiceConnections( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listRelayServiceConnections( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listRelayServiceConnections( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listRelayServiceConnectionsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a hybrid connection configuration by its name. - * @summary Gets a hybrid connection configuration by its name. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection. - * @param [options] The optional parameters - * @returns Promise - */ - getRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection. - * @param callback The callback - */ - getRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection. - * @param options The optional parameters - * @param callback The callback - */ - getRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - entityName, - options - }, - getRelayServiceConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one - * (PATCH). - * @summary Creates a new hybrid connection configuration (PUT), or updates an existing one - * (PATCH). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param callback The callback - */ - createOrUpdateRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - entityName, - connectionEnvelope, - options - }, - createOrUpdateRelayServiceConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes a relay service connection by its name. - * @summary Deletes a relay service connection by its name. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param [options] The optional parameters - * @returns Promise - */ - deleteRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param callback The callback - */ - deleteRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param options The optional parameters - * @param callback The callback - */ - deleteRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - entityName, - options - }, - deleteRelayServiceConnectionOperationSpec, - callback - ); - } - - /** - * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one - * (PATCH). - * @summary Creates a new hybrid connection configuration (PUT), or updates an existing one - * (PATCH). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param [options] The optional parameters - * @returns Promise - */ - updateRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param callback The callback - */ - updateRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param options The optional parameters - * @param callback The callback - */ - updateRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateRelayServiceConnection( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - entityName, - connectionEnvelope, - options - }, - updateRelayServiceConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets all scale-out instances of an app. - * @summary Gets all scale-out instances of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceIdentifiers( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listInstanceIdentifiers( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceIdentifiers( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceIdentifiers( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listInstanceIdentifiersOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets all scale-out instances of an app. - * @summary Gets all scale-out instances of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param instanceId - * @param [options] The optional parameters - * @returns Promise - */ - getInstanceInfo( - resourceGroupName: string, - name: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param instanceId - * @param callback The callback - */ - getInstanceInfo( - resourceGroupName: string, - name: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param instanceId - * @param options The optional parameters - * @param callback The callback - */ - getInstanceInfo( - resourceGroupName: string, - name: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceInfo( - resourceGroupName: string, - name: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - instanceId, - options - }, - getInstanceInfoOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get the status of the last MSDeploy operation. - * @summary Get the status of the last MSDeploy operation. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param instanceId ID of web app instance. - * @param [options] The optional parameters - * @returns Promise - */ - getInstanceMsDeployStatus( - resourceGroupName: string, - name: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param instanceId ID of web app instance. - * @param callback The callback - */ - getInstanceMsDeployStatus( - resourceGroupName: string, - name: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param instanceId ID of web app instance. - * @param options The optional parameters - * @param callback The callback - */ - getInstanceMsDeployStatus( - resourceGroupName: string, - name: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceMsDeployStatus( - resourceGroupName: string, - name: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - instanceId, - options - }, - getInstanceMsDeployStatusOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Invoke the MSDeploy web app extension. - * @summary Invoke the MSDeploy web app extension. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param instanceId ID of web app instance. - * @param mSDeploy Details of MSDeploy operation - * @param [options] The optional parameters - * @returns Promise - */ - createInstanceMSDeployOperation( - resourceGroupName: string, - name: string, - instanceId: string, - mSDeploy: Models.MSDeploy, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateInstanceMSDeployOperation( - resourceGroupName, - name, - instanceId, - mSDeploy, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateInstanceMSDeployOperationResponse - >; - } - - /** - * Description for Get the MSDeploy Log for the last MSDeploy operation. - * @summary Get the MSDeploy Log for the last MSDeploy operation. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param instanceId ID of web app instance. - * @param [options] The optional parameters - * @returns Promise - */ - getInstanceMSDeployLog( - resourceGroupName: string, - name: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param instanceId ID of web app instance. - * @param callback The callback - */ - getInstanceMSDeployLog( - resourceGroupName: string, - name: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param instanceId ID of web app instance. - * @param options The optional parameters - * @param callback The callback - */ - getInstanceMSDeployLog( - resourceGroupName: string, - name: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceMSDeployLog( - resourceGroupName: string, - name: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - instanceId, - options - }, - getInstanceMSDeployLogOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @summary Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcesses( - resourceGroupName: string, - name: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback - */ - listInstanceProcesses( - resourceGroupName: string, - name: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcesses( - resourceGroupName: string, - name: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcesses( - resourceGroupName: string, - name: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - instanceId, - options - }, - listInstanceProcessesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get process information by its ID for a specific scaled-out instance in a web - * site. - * @summary Get process information by its ID for a specific scaled-out instance in a web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise - */ - getInstanceProcess( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback - */ - getInstanceProcess( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback - */ - getInstanceProcess( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceProcess( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - instanceId, - options - }, - getInstanceProcessOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific - * scaled-out instance in a web site. - * @summary Terminate a process by its ID for a web site, or a deployment slot, or specific - * scaled-out instance in a web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise - */ - deleteInstanceProcess( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback - */ - deleteInstanceProcess( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback - */ - deleteInstanceProcess( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteInstanceProcess( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - instanceId, - options - }, - deleteInstanceProcessOperationSpec, - callback - ); - } - - /** - * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a - * web site. - * @summary Get a memory dump of a process by its ID for a specific scaled-out instance in a web - * site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise - */ - getInstanceProcessDump( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback - */ - getInstanceProcessDump( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback - */ - getInstanceProcessDump( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceProcessDump( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - instanceId, - options - }, - getInstanceProcessDumpOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List module information for a process by its ID for a specific scaled-out - * instance in a web site. - * @summary List module information for a process by its ID for a specific scaled-out instance in a - * web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessModules( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback - */ - listInstanceProcessModules( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcessModules( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessModules( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - instanceId, - options - }, - listInstanceProcessModulesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get process information by its ID for a specific scaled-out instance in a web - * site. - * @summary Get process information by its ID for a specific scaled-out instance in a web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise - */ - getInstanceProcessModule( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback - */ - getInstanceProcessModule( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback - */ - getInstanceProcessModule( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceProcessModule( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - baseAddress, - instanceId, - options - }, - getInstanceProcessModuleOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List the threads in a process by its ID for a specific scaled-out instance in a - * web site. - * @summary List the threads in a process by its ID for a specific scaled-out instance in a web - * site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessThreads( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback - */ - listInstanceProcessThreads( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcessThreads( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessThreads( - resourceGroupName: string, - name: string, - processId: string, - instanceId: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - instanceId, - options - }, - listInstanceProcessThreadsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Shows whether an app can be cloned to another resource group or subscription. - * @summary Shows whether an app can be cloned to another resource group or subscription. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - isCloneable( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - isCloneable( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - isCloneable( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - isCloneable( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - isCloneableOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets existing backups of an app. - * @summary Gets existing backups of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteBackups( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listSiteBackups( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listSiteBackups( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteBackups( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listSiteBackupsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for This is to allow calling via powershell and ARM template. - * @summary This is to allow calling via powershell and ARM template. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listSyncFunctionTriggers( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listSyncFunctionTriggers( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listSyncFunctionTriggers( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSyncFunctionTriggers( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listSyncFunctionTriggersOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Restores a web app. - * @summary Restores a web app. - * @param subscriptionName Azure subscription. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param migrationOptions Migration migrationOptions. - * @param [options] The optional parameters - * @returns Promise - */ - migrateStorage( - subscriptionName: string, - resourceGroupName: string, - name: string, - migrationOptions: Models.StorageMigrationOptions, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginMigrateStorage( - subscriptionName, - resourceGroupName, - name, - migrationOptions, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsMigrateStorageResponse - >; - } - - /** - * Description for Migrates a local (in-app) MySql database to a remote MySql database. - * @summary Migrates a local (in-app) MySql database to a remote MySql database. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param migrationRequestEnvelope MySql migration options. - * @param [options] The optional parameters - * @returns Promise - */ - migrateMySql( - resourceGroupName: string, - name: string, - migrationRequestEnvelope: Models.MigrateMySqlRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginMigrateMySql( - resourceGroupName, - name, - migrationRequestEnvelope, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsMigrateMySqlResponse - >; - } - - /** - * Description for Returns the status of MySql in app migration, if one is active, and whether or - * not MySql in app is enabled - * @summary Returns the status of MySql in app migration, if one is active, and whether or not - * MySql in app is enabled - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - getMigrateMySqlStatus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - getMigrateMySqlStatus( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - getMigrateMySqlStatus( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getMigrateMySqlStatus( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getMigrateMySqlStatusOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a Swift Virtual Network connection. - * @summary Gets a Swift Virtual Network connection. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getSwiftVirtualNetworkConnection( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - getSwiftVirtualNetworkConnection( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - getSwiftVirtualNetworkConnection( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSwiftVirtualNetworkConnection( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getSwiftVirtualNetworkConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Integrates this Web App with a Virtual Network. This requires that 1) - * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet - * has already been delegated, and is not - * in use by another App Service Plan other than the one this App is in. - * @summary Integrates this Web App with a Virtual Network. This requires that 1) "swiftSupported" - * is true when doing a GET against this resource, and 2) that the target Subnet has already been - * delegated, and is not - * in use by another App Service Plan other than the one this App is in. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateSwiftVirtualNetworkConnectionWithCheck( - resourceGroupName: string, - name: string, - connectionEnvelope: Models.SwiftVirtualNetwork, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param callback The callback - */ - createOrUpdateSwiftVirtualNetworkConnectionWithCheck( - resourceGroupName: string, - name: string, - connectionEnvelope: Models.SwiftVirtualNetwork, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateSwiftVirtualNetworkConnectionWithCheck( - resourceGroupName: string, - name: string, - connectionEnvelope: Models.SwiftVirtualNetwork, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateSwiftVirtualNetworkConnectionWithCheck( - resourceGroupName: string, - name: string, - connectionEnvelope: Models.SwiftVirtualNetwork, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - connectionEnvelope, - options - }, - createOrUpdateSwiftVirtualNetworkConnectionWithCheckOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes a Swift Virtual Network connection from an app (or deployment slot). - * @summary Deletes a Swift Virtual Network connection from an app (or deployment slot). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - deleteSwiftVirtualNetwork( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - deleteSwiftVirtualNetwork( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - deleteSwiftVirtualNetwork( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteSwiftVirtualNetwork( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - deleteSwiftVirtualNetworkOperationSpec, - callback - ); - } - - /** - * Description for Gets all network features used by the app (or deployment slot, if specified). - * @summary Gets all network features used by the app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param view The type of view. Only "summary" is supported at this time. - * @param [options] The optional parameters - * @returns Promise - */ - listNetworkFeatures( - resourceGroupName: string, - name: string, - view: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param view The type of view. Only "summary" is supported at this time. - * @param callback The callback - */ - listNetworkFeatures( - resourceGroupName: string, - name: string, - view: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param view The type of view. Only "summary" is supported at this time. - * @param options The optional parameters - * @param callback The callback - */ - listNetworkFeatures( - resourceGroupName: string, - name: string, - view: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listNetworkFeatures( - resourceGroupName: string, - name: string, - view: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - view, - options - }, - listNetworkFeaturesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @summary Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param [options] The optional parameters - * @returns Promise - */ - getNetworkTraceOperation( - resourceGroupName: string, - name: string, - operationId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param callback The callback - */ - getNetworkTraceOperation( - resourceGroupName: string, - name: string, - operationId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param options The optional parameters - * @param callback The callback - */ - getNetworkTraceOperation( - resourceGroupName: string, - name: string, - operationId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getNetworkTraceOperation( - resourceGroupName: string, - name: string, - operationId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - operationId, - options - }, - getNetworkTraceOperationOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Start capturing network packets for the site (To be deprecated). - * @summary Start capturing network packets for the site (To be deprecated). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise - */ - startWebSiteNetworkTrace( - resourceGroupName: string, - name: string, - options?: Models.WebAppsStartWebSiteNetworkTraceOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param callback The callback - */ - startWebSiteNetworkTrace( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param options The optional parameters - * @param callback The callback - */ - startWebSiteNetworkTrace( - resourceGroupName: string, - name: string, - options: Models.WebAppsStartWebSiteNetworkTraceOptionalParams, - callback: msRest.ServiceCallback - ): void; - startWebSiteNetworkTrace( - resourceGroupName: string, - name: string, - options?: Models.WebAppsStartWebSiteNetworkTraceOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - startWebSiteNetworkTraceOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Start capturing network packets for the site. - * @summary Start capturing network packets for the site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise - */ - startWebSiteNetworkTraceOperation( - resourceGroupName: string, - name: string, - options?: Models.WebAppsStartWebSiteNetworkTraceOperationOptionalParams - ): Promise { - return this.beginStartWebSiteNetworkTraceOperation( - resourceGroupName, - name, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsStartWebSiteNetworkTraceOperationResponse - >; - } - - /** - * Description for Stop ongoing capturing network packets for the site. - * @summary Stop ongoing capturing network packets for the site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise - */ - stopWebSiteNetworkTrace( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param callback The callback - */ - stopWebSiteNetworkTrace( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param options The optional parameters - * @param callback The callback - */ - stopWebSiteNetworkTrace( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - stopWebSiteNetworkTrace( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - stopWebSiteNetworkTraceOperationSpec, - callback - ); - } - - /** - * Description for Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @summary Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param [options] The optional parameters - * @returns Promise - */ - getNetworkTraces( - resourceGroupName: string, - name: string, - operationId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param callback The callback - */ - getNetworkTraces( - resourceGroupName: string, - name: string, - operationId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param options The optional parameters - * @param callback The callback - */ - getNetworkTraces( - resourceGroupName: string, - name: string, - operationId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getNetworkTraces( - resourceGroupName: string, - name: string, - operationId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - operationId, - options - }, - getNetworkTracesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @summary Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param [options] The optional parameters - * @returns Promise - */ - getNetworkTraceOperationV2( - resourceGroupName: string, - name: string, - operationId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param callback The callback - */ - getNetworkTraceOperationV2( - resourceGroupName: string, - name: string, - operationId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param options The optional parameters - * @param callback The callback - */ - getNetworkTraceOperationV2( - resourceGroupName: string, - name: string, - operationId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getNetworkTraceOperationV2( - resourceGroupName: string, - name: string, - operationId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - operationId, - options - }, - getNetworkTraceOperationV2OperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @summary Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param [options] The optional parameters - * @returns Promise - */ - getNetworkTracesV2( - resourceGroupName: string, - name: string, - operationId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param callback The callback - */ - getNetworkTracesV2( - resourceGroupName: string, - name: string, - operationId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param options The optional parameters - * @param callback The callback - */ - getNetworkTracesV2( - resourceGroupName: string, - name: string, - operationId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getNetworkTracesV2( - resourceGroupName: string, - name: string, - operationId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - operationId, - options - }, - getNetworkTracesV2OperationSpec, - callback - ) as Promise; - } - - /** - * Description for Generates a new publishing password for an app (or deployment slot, if - * specified). - * @summary Generates a new publishing password for an app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - generateNewSitePublishingPassword( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - generateNewSitePublishingPassword( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - generateNewSitePublishingPassword( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - generateNewSitePublishingPassword( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - generateNewSitePublishingPasswordOperationSpec, - callback - ); - } - - /** - * Description for Gets perfmon counters for web app. - * @summary Gets perfmon counters for web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - listPerfMonCounters( - resourceGroupName: string, - name: string, - options?: Models.WebAppsListPerfMonCountersOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - listPerfMonCounters( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - listPerfMonCounters( - resourceGroupName: string, - name: string, - options: Models.WebAppsListPerfMonCountersOptionalParams, - callback: msRest.ServiceCallback - ): void; - listPerfMonCounters( - resourceGroupName: string, - name: string, - options?: - | Models.WebAppsListPerfMonCountersOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listPerfMonCountersOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets web app's event logs. - * @summary Gets web app's event logs. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise - */ - getSitePhpErrorLogFlag( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback - */ - getSitePhpErrorLogFlag( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback - */ - getSitePhpErrorLogFlag( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSitePhpErrorLogFlag( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getSitePhpErrorLogFlagOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the premier add-ons of an app. - * @summary Gets the premier add-ons of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listPremierAddOns( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listPremierAddOns( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listPremierAddOns( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPremierAddOns( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listPremierAddOnsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a named add-on of an app. - * @summary Gets a named add-on of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param [options] The optional parameters - * @returns Promise - */ - getPremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param callback The callback - */ - getPremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param options The optional parameters - * @param callback The callback - */ - getPremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - premierAddOnName, - options - }, - getPremierAddOnOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates a named add-on of an app. - * @summary Updates a named add-on of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param [options] The optional parameters - * @returns Promise - */ - addPremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOn, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param callback The callback - */ - addPremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOn, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param options The optional parameters - * @param callback The callback - */ - addPremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOn, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - addPremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOn, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - premierAddOnName, - premierAddOn, - options - }, - addPremierAddOnOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Delete a premier add-on from an app. - * @summary Delete a premier add-on from an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param [options] The optional parameters - * @returns Promise - */ - deletePremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param callback The callback - */ - deletePremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param options The optional parameters - * @param callback The callback - */ - deletePremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deletePremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - premierAddOnName, - options - }, - deletePremierAddOnOperationSpec, - callback - ); - } - - /** - * Description for Updates a named add-on of an app. - * @summary Updates a named add-on of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param [options] The optional parameters - * @returns Promise - */ - updatePremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOnPatchResource, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param callback The callback - */ - updatePremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOnPatchResource, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param options The optional parameters - * @param callback The callback - */ - updatePremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOnPatchResource, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updatePremierAddOn( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOnPatchResource, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - premierAddOnName, - premierAddOn, - options - }, - updatePremierAddOnOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets data around private site access enablement and authorized Virtual Networks - * that can access the site. - * @summary Gets data around private site access enablement and authorized Virtual Networks that - * can access the site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateAccess( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param callback The callback - */ - getPrivateAccess( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param options The optional parameters - * @param callback The callback - */ - getPrivateAccess( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateAccess( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getPrivateAccessOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Sets data around private site access enablement and authorized Virtual Networks - * that can access the site. - * @summary Sets data around private site access enablement and authorized Virtual Networks that - * can access the site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param access The information for the private access - * @param [options] The optional parameters - * @returns Promise - */ - putPrivateAccessVnet( - resourceGroupName: string, - name: string, - access: Models.PrivateAccess, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param access The information for the private access - * @param callback The callback - */ - putPrivateAccessVnet( - resourceGroupName: string, - name: string, - access: Models.PrivateAccess, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param access The information for the private access - * @param options The optional parameters - * @param callback The callback - */ - putPrivateAccessVnet( - resourceGroupName: string, - name: string, - access: Models.PrivateAccess, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - putPrivateAccessVnet( - resourceGroupName: string, - name: string, - access: Models.PrivateAccess, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - access, - options - }, - putPrivateAccessVnetOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the list of private endpoint connections associated with a site - * @summary Gets the list of private endpoint connections associated with a site - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnectionList( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param callback The callback - */ - getPrivateEndpointConnectionList( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param options The optional parameters - * @param callback The callback - */ - getPrivateEndpointConnectionList( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionList( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getPrivateEndpointConnectionListOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a private endpoint connection - * @summary Gets a private endpoint connection - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnection( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param callback The callback - */ - getPrivateEndpointConnection( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param options The optional parameters - * @param callback The callback - */ - getPrivateEndpointConnection( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnection( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - privateEndpointConnectionName, - options - }, - getPrivateEndpointConnectionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Approves or rejects a private endpoint connection - * @summary Approves or rejects a private endpoint connection - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName - * @param privateEndpointWrapper - * @param [options] The optional parameters - * @returns Promise - */ - approveOrRejectPrivateEndpointConnection( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - privateEndpointWrapper: Models.PrivateLinkConnectionApprovalRequestResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginApproveOrRejectPrivateEndpointConnection( - resourceGroupName, - name, - privateEndpointConnectionName, - privateEndpointWrapper, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsApproveOrRejectPrivateEndpointConnectionResponse - >; - } - - /** - * Description for Deletes a private endpoint connection - * @summary Deletes a private endpoint connection - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName - * @param [options] The optional parameters - * @returns Promise - */ - deletePrivateEndpointConnection( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginDeletePrivateEndpointConnection( - resourceGroupName, - name, - privateEndpointConnectionName, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsDeletePrivateEndpointConnectionResponse - >; - } - - /** - * Description for Gets the private link resources - * @summary Gets the private link resources - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateLinkResources( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param callback The callback - */ - getPrivateLinkResources( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param options The optional parameters - * @param callback The callback - */ - getPrivateLinkResources( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateLinkResources( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - getPrivateLinkResourcesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @summary Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param [options] The optional parameters - * @returns Promise - */ - listProcesses( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param callback The callback - */ - listProcesses( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param options The optional parameters - * @param callback The callback - */ - listProcesses( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcesses( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listProcessesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get process information by its ID for a specific scaled-out instance in a web - * site. - * @summary Get process information by its ID for a specific scaled-out instance in a web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param [options] The optional parameters - * @returns Promise - */ - getProcess( - resourceGroupName: string, - name: string, - processId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param callback The callback - */ - getProcess( - resourceGroupName: string, - name: string, - processId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param options The optional parameters - * @param callback The callback - */ - getProcess( - resourceGroupName: string, - name: string, - processId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getProcess( - resourceGroupName: string, - name: string, - processId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - options - }, - getProcessOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific - * scaled-out instance in a web site. - * @summary Terminate a process by its ID for a web site, or a deployment slot, or specific - * scaled-out instance in a web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param [options] The optional parameters - * @returns Promise - */ - deleteProcess( - resourceGroupName: string, - name: string, - processId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param callback The callback - */ - deleteProcess( - resourceGroupName: string, - name: string, - processId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param options The optional parameters - * @param callback The callback - */ - deleteProcess( - resourceGroupName: string, - name: string, - processId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteProcess( - resourceGroupName: string, - name: string, - processId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - options - }, - deleteProcessOperationSpec, - callback - ); - } - - /** - * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a - * web site. - * @summary Get a memory dump of a process by its ID for a specific scaled-out instance in a web - * site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param [options] The optional parameters - * @returns Promise - */ - getProcessDump( - resourceGroupName: string, - name: string, - processId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param callback The callback - */ - getProcessDump( - resourceGroupName: string, - name: string, - processId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param options The optional parameters - * @param callback The callback - */ - getProcessDump( - resourceGroupName: string, - name: string, - processId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getProcessDump( - resourceGroupName: string, - name: string, - processId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - options - }, - getProcessDumpOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List module information for a process by its ID for a specific scaled-out - * instance in a web site. - * @summary List module information for a process by its ID for a specific scaled-out instance in a - * web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessModules( - resourceGroupName: string, - name: string, - processId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param callback The callback - */ - listProcessModules( - resourceGroupName: string, - name: string, - processId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param options The optional parameters - * @param callback The callback - */ - listProcessModules( - resourceGroupName: string, - name: string, - processId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessModules( - resourceGroupName: string, - name: string, - processId: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - options - }, - listProcessModulesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get process information by its ID for a specific scaled-out instance in a web - * site. - * @summary Get process information by its ID for a specific scaled-out instance in a web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param [options] The optional parameters - * @returns Promise - */ - getProcessModule( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param callback The callback - */ - getProcessModule( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param options The optional parameters - * @param callback The callback - */ - getProcessModule( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getProcessModule( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - baseAddress, - options - }, - getProcessModuleOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List the threads in a process by its ID for a specific scaled-out instance in a - * web site. - * @summary List the threads in a process by its ID for a specific scaled-out instance in a web - * site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessThreads( - resourceGroupName: string, - name: string, - processId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param callback The callback - */ - listProcessThreads( - resourceGroupName: string, - name: string, - processId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param options The optional parameters - * @param callback The callback - */ - listProcessThreads( - resourceGroupName: string, - name: string, - processId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessThreads( - resourceGroupName: string, - name: string, - processId: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - options - }, - listProcessThreadsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get public certificates for an app or a deployment slot. - * @summary Get public certificates for an app or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listPublicCertificates( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listPublicCertificates( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listPublicCertificates( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPublicCertificates( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listPublicCertificatesOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get the named public certificate for an app (or deployment slot, if specified). - * @summary Get the named public certificate for an app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param [options] The optional parameters - * @returns Promise - */ - getPublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param callback The callback - */ - getPublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param options The optional parameters - * @param callback The callback - */ - getPublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - publicCertificateName, - options - }, - getPublicCertificateOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Creates a hostname binding for an app. - * @summary Creates a hostname binding for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param publicCertificate Public certificate details. This is the JSON representation of a - * PublicCertificate object. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdatePublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - publicCertificate: Models.PublicCertificate, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param publicCertificate Public certificate details. This is the JSON representation of a - * PublicCertificate object. - * @param callback The callback - */ - createOrUpdatePublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - publicCertificate: Models.PublicCertificate, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param publicCertificate Public certificate details. This is the JSON representation of a - * PublicCertificate object. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdatePublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - publicCertificate: Models.PublicCertificate, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdatePublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - publicCertificate: Models.PublicCertificate, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - publicCertificateName, - publicCertificate, - options - }, - createOrUpdatePublicCertificateOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes a hostname binding for an app. - * @summary Deletes a hostname binding for an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param [options] The optional parameters - * @returns Promise - */ - deletePublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param callback The callback - */ - deletePublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param options The optional parameters - * @param callback The callback - */ - deletePublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deletePublicCertificate( - resourceGroupName: string, - name: string, - publicCertificateName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - publicCertificateName, - options - }, - deletePublicCertificateOperationSpec, - callback - ); - } - - /** - * Description for Gets the publishing profile for an app (or deployment slot, if specified). - * @summary Gets the publishing profile for an app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For - * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. - * @param [options] The optional parameters - * @returns Promise - */ - listPublishingProfileXmlWithSecrets( - resourceGroupName: string, - name: string, - publishingProfileOptions: Models.CsmPublishingProfileOptions, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For - * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. - * @param callback The callback - */ - listPublishingProfileXmlWithSecrets( - resourceGroupName: string, - name: string, - publishingProfileOptions: Models.CsmPublishingProfileOptions, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For - * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. - * @param options The optional parameters - * @param callback The callback - */ - listPublishingProfileXmlWithSecrets( - resourceGroupName: string, - name: string, - publishingProfileOptions: Models.CsmPublishingProfileOptions, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPublishingProfileXmlWithSecrets( - resourceGroupName: string, - name: string, - publishingProfileOptions: Models.CsmPublishingProfileOptions, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - publishingProfileOptions, - options - }, - listPublishingProfileXmlWithSecretsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Resets the configuration settings of the current slot if they were previously - * modified by calling the API with POST. - * @summary Resets the configuration settings of the current slot if they were previously modified - * by calling the API with POST. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - resetProductionSlotConfig( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - resetProductionSlotConfig( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - resetProductionSlotConfig( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - resetProductionSlotConfig( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - resetProductionSlotConfigOperationSpec, - callback - ); - } - - /** - * Description for Restarts an app (or deployment slot, if specified). - * @summary Restarts an app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - restart( - resourceGroupName: string, - name: string, - options?: Models.WebAppsRestartOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - restart(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - restart( - resourceGroupName: string, - name: string, - options: Models.WebAppsRestartOptionalParams, - callback: msRest.ServiceCallback - ): void; - restart( - resourceGroupName: string, - name: string, - options?: Models.WebAppsRestartOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - restartOperationSpec, - callback - ); - } - - /** - * Description for Restores an app from a backup blob in Azure Storage. - * @summary Restores an app from a backup blob in Azure Storage. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Information on restore request . - * @param [options] The optional parameters - * @returns Promise - */ - restoreFromBackupBlob( - resourceGroupName: string, - name: string, - request: Models.RestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginRestoreFromBackupBlob( - resourceGroupName, - name, - request, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); - } - - /** - * Description for Restores a deleted web app to this web app. - * @summary Restores a deleted web app to this web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param restoreRequest Deleted web app restore information. - * @param [options] The optional parameters - * @returns Promise - */ - restoreFromDeletedApp( - resourceGroupName: string, - name: string, - restoreRequest: Models.DeletedAppRestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginRestoreFromDeletedApp( - resourceGroupName, - name, - restoreRequest, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); - } - - /** - * Description for Restores a web app from a snapshot. - * @summary Restores a web app from a snapshot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling - * GetDeletedSites or GetSiteSnapshots API. - * @param [options] The optional parameters - * @returns Promise - */ - restoreSnapshot( - resourceGroupName: string, - name: string, - restoreRequest: Models.SnapshotRestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginRestoreSnapshot( - resourceGroupName, - name, - restoreRequest, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); - } - - /** - * Description for Get list of siteextensions for a web site, or a deployment slot. - * @summary Get list of siteextensions for a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteExtensions( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param callback The callback - */ - listSiteExtensions( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param options The optional parameters - * @param callback The callback - */ - listSiteExtensions( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteExtensions( - resourceGroupName: string, - name: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listSiteExtensionsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get site extension information by its ID for a web site, or a deployment slot. - * @summary Get site extension information by its ID for a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param [options] The optional parameters - * @returns Promise - */ - getSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param callback The callback - */ - getSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param options The optional parameters - * @param callback The callback - */ - getSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteExtensionId, - options - }, - getSiteExtensionOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Install site extension on a web site, or a deployment slot. - * @summary Install site extension on a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param [options] The optional parameters - * @returns Promise - */ - installSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginInstallSiteExtension( - resourceGroupName, - name, - siteExtensionId, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsInstallSiteExtensionResponse - >; - } - - /** - * Description for Remove a site extension from a web site, or a deployment slot. - * @summary Remove a site extension from a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param callback The callback - */ - deleteSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param options The optional parameters - * @param callback The callback - */ - deleteSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteSiteExtension( - resourceGroupName: string, - name: string, - siteExtensionId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteExtensionId, - options - }, - deleteSiteExtensionOperationSpec, - callback - ); - } - - /** - * Description for Gets an app's deployment slots. - * @summary Gets an app's deployment slots. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - listSlots( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listSlots( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback - */ - listSlots( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSlots( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listSlotsOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the details of a web, mobile, or API app. - * @summary Gets the details of a web, mobile, or API app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. By default, this API returns the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. By default, this API returns the production slot. - * @param callback The callback - */ - getSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. By default, this API returns the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Creates a new web, mobile, or API app in an existing resource group, or updates - * an existing app. - * @summary Creates a new web, mobile, or API app in an existing resource group, or updates an - * existing app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param slot Name of the deployment slot to create or update. By default, this API attempts to - * create or modify the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateSlot( - resourceGroupName: string, - name: string, - siteEnvelope: Models.Site, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdateSlot( - resourceGroupName, - name, - siteEnvelope, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateOrUpdateSlotResponse - >; - } - - /** - * Description for Deletes a web, mobile, or API app, or one of the deployment slots. - * @summary Deletes a web, mobile, or API app, or one of the deployment slots. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app to delete. - * @param slot Name of the deployment slot to delete. By default, the API deletes the production - * slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: Models.WebAppsDeleteSlotOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app to delete. - * @param slot Name of the deployment slot to delete. By default, the API deletes the production - * slot. - * @param callback The callback - */ - deleteSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app to delete. - * @param slot Name of the deployment slot to delete. By default, the API deletes the production - * slot. - * @param options The optional parameters - * @param callback The callback - */ - deleteSlot( - resourceGroupName: string, - name: string, - slot: string, - options: Models.WebAppsDeleteSlotOptionalParams, - callback: msRest.ServiceCallback - ): void; - deleteSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: Models.WebAppsDeleteSlotOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - deleteSlotOperationSpec, - callback - ); - } - - /** - * Description for Creates a new web, mobile, or API app in an existing resource group, or updates - * an existing app. - * @summary Creates a new web, mobile, or API app in an existing resource group, or updates an - * existing app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param slot Name of the deployment slot to create or update. By default, this API attempts to - * create or modify the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateSlot( - resourceGroupName: string, - name: string, - siteEnvelope: Models.SitePatchResource, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param slot Name of the deployment slot to create or update. By default, this API attempts to - * create or modify the production slot. - * @param callback The callback - */ - updateSlot( - resourceGroupName: string, - name: string, - siteEnvelope: Models.SitePatchResource, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param slot Name of the deployment slot to create or update. By default, this API attempts to - * create or modify the production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateSlot( - resourceGroupName: string, - name: string, - siteEnvelope: Models.SitePatchResource, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateSlot( - resourceGroupName: string, - name: string, - siteEnvelope: Models.SitePatchResource, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteEnvelope, - slot, - options - }, - updateSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Analyze a custom hostname. - * @summary Analyze a custom hostname. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - analyzeCustomHostnameSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: Models.WebAppsAnalyzeCustomHostnameSlotOptionalParams - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - analyzeCustomHostnameSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - analyzeCustomHostnameSlot( - resourceGroupName: string, - name: string, - slot: string, - options: Models.WebAppsAnalyzeCustomHostnameSlotOptionalParams, - callback: msRest.ServiceCallback - ): void; - analyzeCustomHostnameSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | Models.WebAppsAnalyzeCustomHostnameSlotOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - analyzeCustomHostnameSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Applies the configuration settings from the target slot onto the current slot. - * @summary Applies the configuration settings from the target slot onto the current slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param slot Name of the source slot. If a slot is not specified, the production slot is used as - * the source slot. - * @param [options] The optional parameters - * @returns Promise - */ - applySlotConfigurationSlot( - resourceGroupName: string, - name: string, - slotSwapEntity: Models.CsmSlotEntity, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param slot Name of the source slot. If a slot is not specified, the production slot is used as - * the source slot. - * @param callback The callback - */ - applySlotConfigurationSlot( - resourceGroupName: string, - name: string, - slotSwapEntity: Models.CsmSlotEntity, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param slot Name of the source slot. If a slot is not specified, the production slot is used as - * the source slot. - * @param options The optional parameters - * @param callback The callback - */ - applySlotConfigurationSlot( - resourceGroupName: string, - name: string, - slotSwapEntity: Models.CsmSlotEntity, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - applySlotConfigurationSlot( - resourceGroupName: string, - name: string, - slotSwapEntity: Models.CsmSlotEntity, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slotSwapEntity, - slot, - options - }, - applySlotConfigurationSlotOperationSpec, - callback - ); - } - - /** - * Description for Creates a backup of an app. - * @summary Creates a backup of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Backup configuration. You can use the JSON response from the POST action as input - * here. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * backup for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - backupSlot( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Backup configuration. You can use the JSON response from the POST action as input - * here. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * backup for the production slot. - * @param callback The callback - */ - backupSlot( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Backup configuration. You can use the JSON response from the POST action as input - * here. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * backup for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - backupSlot( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - backupSlot( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - request, - slot, - options - }, - backupSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets existing backups of an app. - * @summary Gets existing backups of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of - * the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listBackupsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of - * the production slot. - * @param callback The callback - */ - listBackupsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of - * the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listBackupsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listBackupsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listBackupsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a backup of an app by its ID. - * @summary Gets a backup of an app by its ID. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a backup - * of the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getBackupStatusSlot( - resourceGroupName: string, - name: string, - backupId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a backup - * of the production slot. - * @param callback The callback - */ - getBackupStatusSlot( - resourceGroupName: string, - name: string, - backupId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a backup - * of the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getBackupStatusSlot( - resourceGroupName: string, - name: string, - backupId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getBackupStatusSlot( - resourceGroupName: string, - name: string, - backupId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - backupId, - slot, - options - }, - getBackupStatusSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes a backup of an app by its ID. - * @summary Deletes a backup of an app by its ID. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a - * backup of the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteBackupSlot( - resourceGroupName: string, - name: string, - backupId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a - * backup of the production slot. - * @param callback The callback - */ - deleteBackupSlot( - resourceGroupName: string, - name: string, - backupId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a - * backup of the production slot. - * @param options The optional parameters - * @param callback The callback - */ - deleteBackupSlot( - resourceGroupName: string, - name: string, - backupId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteBackupSlot( - resourceGroupName: string, - name: string, - backupId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - backupId, - slot, - options - }, - deleteBackupSlotOperationSpec, - callback - ); - } - - /** - * Description for Gets status of a web app backup that may be in progress, including secrets - * associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the - * SAS URL for the backup if a new URL is passed in the request body. - * @summary Gets status of a web app backup that may be in progress, including secrets associated - * with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for - * the backup if a new URL is passed in the request body. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param backupId ID of backup. - * @param request Information on backup request. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listBackupStatusSecretsSlot( - resourceGroupName: string, - name: string, - backupId: string, - request: Models.BackupRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param backupId ID of backup. - * @param request Information on backup request. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - listBackupStatusSecretsSlot( - resourceGroupName: string, - name: string, - backupId: string, - request: Models.BackupRequest, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param backupId ID of backup. - * @param request Information on backup request. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - listBackupStatusSecretsSlot( - resourceGroupName: string, - name: string, - backupId: string, - request: Models.BackupRequest, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listBackupStatusSecretsSlot( - resourceGroupName: string, - name: string, - backupId: string, - request: Models.BackupRequest, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - backupId, - request, - slot, - options - }, - listBackupStatusSecretsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Restores a specific backup to another app (or deployment slot, if specified). - * @summary Restores a specific backup to another app (or deployment slot, if specified). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param request Information on restore request . - * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a - * backup of the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - restoreSlot( - resourceGroupName: string, - name: string, - backupId: string, - request: Models.RestoreRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginRestoreSlot( - resourceGroupName, - name, - backupId, - request, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); - } - - /** - * Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given - * site. - * @summary Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - getBasicPublishingCredentialsPoliciesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param callback The callback - */ - getBasicPublishingCredentialsPoliciesSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - getBasicPublishingCredentialsPoliciesSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getBasicPublishingCredentialsPoliciesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getBasicPublishingCredentialsPoliciesSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Returns whether FTP is allowed on the site or not. - * @summary Returns whether FTP is allowed on the site or not. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - getFtpAllowedSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param callback The callback - */ - getFtpAllowedSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - getFtpAllowedSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getFtpAllowedSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getFtpAllowedSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates whether FTP is allowed on the site or not. - * @summary Updates whether FTP is allowed on the site or not. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - updateFtpAllowedSlot( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param slot - * @param callback The callback - */ - updateFtpAllowedSlot( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - updateFtpAllowedSlot( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateFtpAllowedSlot( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - csmPublishingAccessPoliciesEntity, - slot, - options - }, - updateFtpAllowedSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Returns whether Scm basic auth is allowed on the site or not. - * @summary Returns whether Scm basic auth is allowed on the site or not. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - getScmAllowedSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param callback The callback - */ - getScmAllowedSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - getScmAllowedSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getScmAllowedSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getScmAllowedSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates whether user publishing credentials are allowed on the site or not. - * @summary Updates whether user publishing credentials are allowed on the site or not. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - updateScmAllowedSlot( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param slot - * @param callback The callback - */ - updateScmAllowedSlot( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param csmPublishingAccessPoliciesEntity - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - updateScmAllowedSlot( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateScmAllowedSlot( - resourceGroupName: string, - name: string, - csmPublishingAccessPoliciesEntity: Models.CsmPublishingCredentialsPoliciesEntity, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - csmPublishingAccessPoliciesEntity, - slot, - options - }, - updateScmAllowedSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List the configurations of an app - * @summary List the configurations of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listConfigurationsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param callback The callback - */ - listConfigurationsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listConfigurationsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConfigurationsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listConfigurationsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Replaces the application settings of an app. - * @summary Replaces the application settings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettings Application settings of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * application settings for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateApplicationSettingsSlot( - resourceGroupName: string, - name: string, - appSettings: Models.StringDictionary, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettings Application settings of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * application settings for the production slot. - * @param callback The callback - */ - updateApplicationSettingsSlot( - resourceGroupName: string, - name: string, - appSettings: Models.StringDictionary, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettings Application settings of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * application settings for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateApplicationSettingsSlot( - resourceGroupName: string, - name: string, - appSettings: Models.StringDictionary, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateApplicationSettingsSlot( - resourceGroupName: string, - name: string, - appSettings: Models.StringDictionary, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - appSettings, - slot, - options - }, - updateApplicationSettingsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the application settings of an app. - * @summary Gets the application settings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * application settings for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listApplicationSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * application settings for the production slot. - * @param callback The callback - */ - listApplicationSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * application settings for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listApplicationSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listApplicationSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listApplicationSettingsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the Authentication / Authorization settings associated with web app. - * @summary Updates the Authentication / Authorization settings associated with web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettings Auth settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateAuthSettingsSlot( - resourceGroupName: string, - name: string, - siteAuthSettings: Models.SiteAuthSettings, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettings Auth settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - updateAuthSettingsSlot( - resourceGroupName: string, - name: string, - siteAuthSettings: Models.SiteAuthSettings, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettings Auth settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateAuthSettingsSlot( - resourceGroupName: string, - name: string, - siteAuthSettings: Models.SiteAuthSettings, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateAuthSettingsSlot( - resourceGroupName: string, - name: string, - siteAuthSettings: Models.SiteAuthSettings, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteAuthSettings, - slot, - options - }, - updateAuthSettingsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the Authentication/Authorization settings of an app. - * @summary Gets the Authentication/Authorization settings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * settings for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * settings for the production slot. - * @param callback The callback - */ - getAuthSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * settings for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getAuthSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAuthSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getAuthSettingsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates site's Authentication / Authorization settings for apps via the V2 - * format - * @summary Updates site's Authentication / Authorization settings for apps via the V2 format - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettingsV2 Auth settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateAuthSettingsV2Slot( - resourceGroupName: string, - name: string, - siteAuthSettingsV2: Models.SiteAuthSettingsV2, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettingsV2 Auth settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - updateAuthSettingsV2Slot( - resourceGroupName: string, - name: string, - siteAuthSettingsV2: Models.SiteAuthSettingsV2, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param siteAuthSettingsV2 Auth settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateAuthSettingsV2Slot( - resourceGroupName: string, - name: string, - siteAuthSettingsV2: Models.SiteAuthSettingsV2, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateAuthSettingsV2Slot( - resourceGroupName: string, - name: string, - siteAuthSettingsV2: Models.SiteAuthSettingsV2, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteAuthSettingsV2, - slot, - options - }, - updateAuthSettingsV2SlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets site's Authentication / Authorization settings for apps via the V2 format - * @summary Gets site's Authentication / Authorization settings for apps via the V2 format - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * settings for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthSettingsV2Slot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * settings for the production slot. - * @param callback The callback - */ - getAuthSettingsV2Slot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * settings for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getAuthSettingsV2Slot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAuthSettingsV2Slot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getAuthSettingsV2SlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the Azure storage account configurations of an app. - * @summary Updates the Azure storage account configurations of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param azureStorageAccounts Azure storage accounts of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * Azure storage account configurations for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateAzureStorageAccountsSlot( - resourceGroupName: string, - name: string, - azureStorageAccounts: Models.AzureStoragePropertyDictionaryResource, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param azureStorageAccounts Azure storage accounts of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * Azure storage account configurations for the production slot. - * @param callback The callback - */ - updateAzureStorageAccountsSlot( - resourceGroupName: string, - name: string, - azureStorageAccounts: Models.AzureStoragePropertyDictionaryResource, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param azureStorageAccounts Azure storage accounts of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * Azure storage account configurations for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateAzureStorageAccountsSlot( - resourceGroupName: string, - name: string, - azureStorageAccounts: Models.AzureStoragePropertyDictionaryResource, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateAzureStorageAccountsSlot( - resourceGroupName: string, - name: string, - azureStorageAccounts: Models.AzureStoragePropertyDictionaryResource, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - azureStorageAccounts, - slot, - options - }, - updateAzureStorageAccountsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the Azure storage account configurations of an app. - * @summary Gets the Azure storage account configurations of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * Azure storage account configurations for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listAzureStorageAccountsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * Azure storage account configurations for the production slot. - * @param callback The callback - */ - listAzureStorageAccountsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * Azure storage account configurations for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listAzureStorageAccountsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listAzureStorageAccountsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listAzureStorageAccountsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the backup configuration of an app. - * @summary Updates the backup configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Edited backup configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * backup configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateBackupConfigurationSlot( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Edited backup configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * backup configuration for the production slot. - * @param callback The callback - */ - updateBackupConfigurationSlot( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Edited backup configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * backup configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateBackupConfigurationSlot( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateBackupConfigurationSlot( - resourceGroupName: string, - name: string, - request: Models.BackupRequest, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - request, - slot, - options - }, - updateBackupConfigurationSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Deletes the backup configuration of an app. - * @summary Deletes the backup configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * backup configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteBackupConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * backup configuration for the production slot. - * @param callback The callback - */ - deleteBackupConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * backup configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - deleteBackupConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteBackupConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - deleteBackupConfigurationSlotOperationSpec, - callback - ); - } - - /** - * Description for Gets the backup configuration of an app. - * @summary Gets the backup configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the backup - * configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getBackupConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the backup - * configuration for the production slot. - * @param callback The callback - */ - getBackupConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the backup - * configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getBackupConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getBackupConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getBackupConfigurationSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the config reference app settings and status of an app - * @summary Gets the config reference app settings and status of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - getAppSettingsKeyVaultReferencesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param callback The callback - */ - getAppSettingsKeyVaultReferencesSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - getAppSettingsKeyVaultReferencesSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAppSettingsKeyVaultReferencesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getAppSettingsKeyVaultReferencesSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the config reference and status of an app - * @summary Gets the config reference and status of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettingKey App Setting key name. - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - getAppSettingKeyVaultReferenceSlot( - resourceGroupName: string, - name: string, - appSettingKey: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettingKey App Setting key name. - * @param slot - * @param callback The callback - */ - getAppSettingKeyVaultReferenceSlot( - resourceGroupName: string, - name: string, - appSettingKey: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param appSettingKey App Setting key name. - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - getAppSettingKeyVaultReferenceSlot( - resourceGroupName: string, - name: string, - appSettingKey: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAppSettingKeyVaultReferenceSlot( - resourceGroupName: string, - name: string, - appSettingKey: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - appSettingKey, - slot, - options - }, - getAppSettingKeyVaultReferenceSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the config reference app settings and status of an app - * @summary Gets the config reference app settings and status of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - getSiteConnectionStringKeyVaultReferencesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferencesSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferencesSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSiteConnectionStringKeyVaultReferencesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getSiteConnectionStringKeyVaultReferencesSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the config reference and status of an app - * @summary Gets the config reference and status of an app - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStringKey - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - getSiteConnectionStringKeyVaultReferenceSlot( - resourceGroupName: string, - name: string, - connectionStringKey: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStringKey - * @param slot - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferenceSlot( - resourceGroupName: string, - name: string, - connectionStringKey: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStringKey - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferenceSlot( - resourceGroupName: string, - name: string, - connectionStringKey: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSiteConnectionStringKeyVaultReferenceSlot( - resourceGroupName: string, - name: string, - connectionStringKey: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - connectionStringKey, - slot, - options - }, - getSiteConnectionStringKeyVaultReferenceSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Replaces the connection strings of an app. - * @summary Replaces the connection strings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStrings Connection strings of the app or deployment slot. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * connection settings for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateConnectionStringsSlot( - resourceGroupName: string, - name: string, - connectionStrings: Models.ConnectionStringDictionary, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStrings Connection strings of the app or deployment slot. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * connection settings for the production slot. - * @param callback The callback - */ - updateConnectionStringsSlot( - resourceGroupName: string, - name: string, - connectionStrings: Models.ConnectionStringDictionary, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param connectionStrings Connection strings of the app or deployment slot. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * connection settings for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateConnectionStringsSlot( - resourceGroupName: string, - name: string, - connectionStrings: Models.ConnectionStringDictionary, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateConnectionStringsSlot( - resourceGroupName: string, - name: string, - connectionStrings: Models.ConnectionStringDictionary, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - connectionStrings, - slot, - options - }, - updateConnectionStringsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the connection strings of an app. - * @summary Gets the connection strings of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * connection settings for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listConnectionStringsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * connection settings for the production slot. - * @param callback The callback - */ - listConnectionStringsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * connection settings for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listConnectionStringsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConnectionStringsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listConnectionStringsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the logging configuration of an app. - * @summary Gets the logging configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * logging configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getDiagnosticLogsConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * logging configuration for the production slot. - * @param callback The callback - */ - getDiagnosticLogsConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * logging configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getDiagnosticLogsConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDiagnosticLogsConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getDiagnosticLogsConfigurationSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the logging configuration of an app. - * @summary Updates the logging configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to - * change in the "properties" property. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * logging configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateDiagnosticLogsConfigSlot( - resourceGroupName: string, - name: string, - siteLogsConfig: Models.SiteLogsConfig, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to - * change in the "properties" property. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * logging configuration for the production slot. - * @param callback The callback - */ - updateDiagnosticLogsConfigSlot( - resourceGroupName: string, - name: string, - siteLogsConfig: Models.SiteLogsConfig, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to - * change in the "properties" property. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * logging configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateDiagnosticLogsConfigSlot( - resourceGroupName: string, - name: string, - siteLogsConfig: Models.SiteLogsConfig, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateDiagnosticLogsConfigSlot( - resourceGroupName: string, - name: string, - siteLogsConfig: Models.SiteLogsConfig, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteLogsConfig, - slot, - options - }, - updateDiagnosticLogsConfigSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Replaces the metadata of an app. - * @summary Replaces the metadata of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param metadata Edited metadata of the app or deployment slot. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * metadata for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateMetadataSlot( - resourceGroupName: string, - name: string, - metadata: Models.StringDictionary, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param metadata Edited metadata of the app or deployment slot. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * metadata for the production slot. - * @param callback The callback - */ - updateMetadataSlot( - resourceGroupName: string, - name: string, - metadata: Models.StringDictionary, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param metadata Edited metadata of the app or deployment slot. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * metadata for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateMetadataSlot( - resourceGroupName: string, - name: string, - metadata: Models.StringDictionary, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateMetadataSlot( - resourceGroupName: string, - name: string, - metadata: Models.StringDictionary, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - metadata, - slot, - options - }, - updateMetadataSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the metadata of an app. - * @summary Gets the metadata of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * metadata for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listMetadataSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * metadata for the production slot. - * @param callback The callback - */ - listMetadataSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * metadata for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listMetadataSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listMetadataSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listMetadataSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the Git/FTP publishing credentials of an app. - * @summary Gets the Git/FTP publishing credentials of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * publishing credentials for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listPublishingCredentialsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginListPublishingCredentialsSlot( - resourceGroupName, - name, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsListPublishingCredentialsSlotResponse - >; - } - - /** - * Description for Updates the Push settings associated with web app. - * @summary Updates the Push settings associated with web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param pushSettings Push settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateSitePushSettingsSlot( - resourceGroupName: string, - name: string, - pushSettings: Models.PushSettings, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param pushSettings Push settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - updateSitePushSettingsSlot( - resourceGroupName: string, - name: string, - pushSettings: Models.PushSettings, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param pushSettings Push settings associated with web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateSitePushSettingsSlot( - resourceGroupName: string, - name: string, - pushSettings: Models.PushSettings, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateSitePushSettingsSlot( - resourceGroupName: string, - name: string, - pushSettings: Models.PushSettings, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - pushSettings, - slot, - options - }, - updateSitePushSettingsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the Push settings associated with web app. - * @summary Gets the Push settings associated with web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listSitePushSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - listSitePushSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - listSitePushSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSitePushSettingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listSitePushSettingsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the configuration of an app, such as platform version and bitness, default - * documents, virtual applications, Always On, etc. - * @summary Gets the configuration of an app, such as platform version and bitness, default - * documents, virtual applications, Always On, etc. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param callback The callback - */ - getConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getConfigurationSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the configuration of an app. - * @summary Updates the configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update - * configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateConfigurationSlot( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update - * configuration for the production slot. - * @param callback The callback - */ - createOrUpdateConfigurationSlot( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update - * configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateConfigurationSlot( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateConfigurationSlot( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteConfig, - slot, - options - }, - createOrUpdateConfigurationSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Updates the configuration of an app. - * @summary Updates the configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update - * configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateConfigurationSlot( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update - * configuration for the production slot. - * @param callback The callback - */ - updateConfigurationSlot( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteConfig JSON representation of a SiteConfig object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update - * configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - updateConfigurationSlot( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateConfigurationSlot( - resourceGroupName: string, - name: string, - siteConfig: Models.SiteConfigResource, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteConfig, - slot, - options - }, - updateConfigurationSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a list of web app configuration snapshots identifiers. Each element of the - * list contains a timestamp and the ID of the snapshot. - * @summary Gets a list of web app configuration snapshots identifiers. Each element of the list - * contains a timestamp and the ID of the snapshot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listConfigurationSnapshotInfoSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param callback The callback - */ - listConfigurationSnapshotInfoSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listConfigurationSnapshotInfoSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConfigurationSnapshotInfoSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listConfigurationSnapshotInfoSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a snapshot of the configuration of an app at a previous point in time. - * @summary Gets a snapshot of the configuration of an app at a previous point in time. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getConfigurationSnapshotSlot( - resourceGroupName: string, - name: string, - snapshotId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param callback The callback - */ - getConfigurationSnapshotSlot( - resourceGroupName: string, - name: string, - snapshotId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getConfigurationSnapshotSlot( - resourceGroupName: string, - name: string, - snapshotId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getConfigurationSnapshotSlot( - resourceGroupName: string, - name: string, - snapshotId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - snapshotId, - slot, - options - }, - getConfigurationSnapshotSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Reverts the configuration of an app to a previous snapshot. - * @summary Reverts the configuration of an app to a previous snapshot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - recoverSiteConfigurationSnapshotSlot( - resourceGroupName: string, - name: string, - snapshotId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param callback The callback - */ - recoverSiteConfigurationSnapshotSlot( - resourceGroupName: string, - name: string, - snapshotId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param snapshotId The ID of the snapshot to read. - * @param slot Name of the deployment slot. If a slot is not specified, the API will return - * configuration for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - recoverSiteConfigurationSnapshotSlot( - resourceGroupName: string, - name: string, - snapshotId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - recoverSiteConfigurationSnapshotSlot( - resourceGroupName: string, - name: string, - snapshotId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - snapshotId, - slot, - options - }, - recoverSiteConfigurationSnapshotSlotOperationSpec, - callback - ); - } - - /** - * Description for Gets the last lines of docker logs for the given site - * @summary Gets the last lines of docker logs for the given site - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getWebSiteContainerLogsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - getWebSiteContainerLogsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - getWebSiteContainerLogsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getWebSiteContainerLogsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getWebSiteContainerLogsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets the ZIP archived docker log files for the given site - * @summary Gets the ZIP archived docker log files for the given site - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getContainerLogsZipSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - getContainerLogsZipSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback - */ - getContainerLogsZipSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getContainerLogsZipSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getContainerLogsZipSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List continuous web jobs for an app, or a deployment slot. - * @summary List continuous web jobs for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listContinuousWebJobsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param callback The callback - */ - listContinuousWebJobsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listContinuousWebJobsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listContinuousWebJobsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listContinuousWebJobsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Gets a continuous web job by its ID for an app, or a deployment slot. - * @summary Gets a continuous web job by its ID for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param callback The callback - */ - getContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - slot, - options - }, - getContinuousWebJobSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Delete a continuous web job by its ID for an app, or a deployment slot. - * @summary Delete a continuous web job by its ID for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param callback The callback - */ - deleteContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - deleteContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - slot, - options - }, - deleteContinuousWebJobSlotOperationSpec, - callback - ); - } - - /** - * Description for Start a continuous web job for an app, or a deployment slot. - * @summary Start a continuous web job for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - startContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param callback The callback - */ - startContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - startContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - startContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - slot, - options - }, - startContinuousWebJobSlotOperationSpec, - callback - ); - } - - /** - * Description for Stop a continuous web job for an app, or a deployment slot. - * @summary Stop a continuous web job for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - stopContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param callback The callback - */ - stopContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - stopContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - stopContinuousWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - slot, - options - }, - stopContinuousWebJobSlotOperationSpec, - callback - ); - } - - /** - * Description for List deployments for an app, or a deployment slot. - * @summary List deployments for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listDeploymentsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback - */ - listDeploymentsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - listDeploymentsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDeploymentsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listDeploymentsSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Get a deployment by its ID for an app, or a deployment slot. - * @summary Get a deployment by its ID for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets a deployment - * for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets a deployment - * for the production slot. - * @param callback The callback - */ - getDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets a deployment - * for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - getDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - id, - slot, - options - }, - getDeploymentSlotOperationSpec, - callback - ) as Promise; - } - - /** - * Description for Create a deployment for an app, or a deployment slot. - * @summary Create a deployment for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id ID of an existing deployment. - * @param slot Name of the deployment slot. If a slot is not specified, the API creates a - * deployment for the production slot. - * @param deployment Deployment details. - * @param [options] The optional parameters - * @returns Promise - */ - createDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - deployment: Models.Deployment, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id ID of an existing deployment. - * @param slot Name of the deployment slot. If a slot is not specified, the API creates a - * deployment for the production slot. - * @param deployment Deployment details. - * @param callback The callback - */ - createDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - deployment: Models.Deployment, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id ID of an existing deployment. - * @param slot Name of the deployment slot. If a slot is not specified, the API creates a - * deployment for the production slot. - * @param deployment Deployment details. - * @param options The optional parameters - * @param callback The callback - */ - createDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - deployment: Models.Deployment, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, slot: string, - deployment: Models.Deployment, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListInstanceIdentifiersSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceIdentifiersSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceIdentifiersSlotNext( resourceGroupName, name, - id, slot, - deployment, + continuationToken, options - }, - createDeploymentSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Delete a deployment by its ID for an app, or a deployment slot. - * @summary Delete a deployment by its ID for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteDeploymentSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param callback The callback - */ - deleteDeploymentSlot( + private async *listInstanceIdentifiersSlotPagingAll( resourceGroupName: string, name: string, - id: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListInstanceIdentifiersSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceIdentifiersSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id Deployment ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - deleteDeploymentSlot( + public listInstanceProcessesSlot( resourceGroupName: string, name: string, - id: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteDeploymentSlot( + instanceId: string, + options?: WebAppsListInstanceProcessesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceProcessesSlotPagingAll( + resourceGroupName, + name, + slot, + instanceId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceProcessesSlotPagingPage( + resourceGroupName, + name, + slot, + instanceId, + options + ); + } + }; + } + + private async *listInstanceProcessesSlotPagingPage( resourceGroupName: string, name: string, - id: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + instanceId: string, + options?: WebAppsListInstanceProcessesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceProcessesSlot( + resourceGroupName, + name, + slot, + instanceId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceProcessesSlotNext( resourceGroupName, name, - id, slot, + instanceId, + continuationToken, options - }, - deleteDeploymentSlotOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for List deployment log for specific deployment for an app, or a deployment slot. - * @summary List deployment log for specific deployment for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id The ID of a specific deployment. This is the value of the name property in the JSON - * response from "GET /api/sites/{siteName}/deployments". - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listDeploymentLogSlot( - resourceGroupName: string, - name: string, - id: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id The ID of a specific deployment. This is the value of the name property in the JSON - * response from "GET /api/sites/{siteName}/deployments". - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback - */ - listDeploymentLogSlot( + private async *listInstanceProcessesSlotPagingAll( resourceGroupName: string, name: string, - id: string, slot: string, - callback: msRest.ServiceCallback - ): void; + instanceId: string, + options?: WebAppsListInstanceProcessesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceProcessesSlotPagingPage( + resourceGroupName, + name, + slot, + instanceId, + options + )) { + yield* page; + } + } + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param id The ID of a specific deployment. This is the value of the name property in the JSON - * response from "GET /api/sites/{siteName}/deployments". - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - listDeploymentLogSlot( + public listInstanceProcessModulesSlot( resourceGroupName: string, name: string, - id: string, + processId: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDeploymentLogSlot( + instanceId: string, + options?: WebAppsListInstanceProcessModulesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceProcessModulesSlotPagingAll( + resourceGroupName, + name, + processId, + slot, + instanceId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceProcessModulesSlotPagingPage( + resourceGroupName, + name, + processId, + slot, + instanceId, + options + ); + } + }; + } + + private async *listInstanceProcessModulesSlotPagingPage( resourceGroupName: string, name: string, - id: string, + processId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + instanceId: string, + options?: WebAppsListInstanceProcessModulesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceProcessModulesSlot( + resourceGroupName, + name, + processId, + slot, + instanceId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceProcessModulesSlotNext( resourceGroupName, name, - id, + processId, slot, + instanceId, + continuationToken, options - }, - listDeploymentLogSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Discovers an existing app backup that can be restored from a blob in Azure - * storage. Use this to get information about the databases stored in a backup. - * @summary Discovers an existing app backup that can be restored from a blob in Azure storage. Use - * this to get information about the databases stored in a backup. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request A RestoreRequest object that includes Azure storage URL and blog name for - * discovery of backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will perform - * discovery for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - discoverBackupSlot( - resourceGroupName: string, - name: string, - request: Models.RestoreRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request A RestoreRequest object that includes Azure storage URL and blog name for - * discovery of backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will perform - * discovery for the production slot. - * @param callback The callback - */ - discoverBackupSlot( + private async *listInstanceProcessModulesSlotPagingAll( resourceGroupName: string, name: string, - request: Models.RestoreRequest, + processId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + instanceId: string, + options?: WebAppsListInstanceProcessModulesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceProcessModulesSlotPagingPage( + resourceGroupName, + name, + processId, + slot, + instanceId, + options + )) { + yield* page; + } + } + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request A RestoreRequest object that includes Azure storage URL and blog name for - * discovery of backup. - * @param slot Name of the deployment slot. If a slot is not specified, the API will perform - * discovery for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - discoverBackupSlot( + public listInstanceProcessThreadsSlot( resourceGroupName: string, name: string, - request: Models.RestoreRequest, + processId: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - discoverBackupSlot( + instanceId: string, + options?: WebAppsListInstanceProcessThreadsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInstanceProcessThreadsSlotPagingAll( + resourceGroupName, + name, + processId, + slot, + instanceId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInstanceProcessThreadsSlotPagingPage( + resourceGroupName, + name, + processId, + slot, + instanceId, + options + ); + } + }; + } + + private async *listInstanceProcessThreadsSlotPagingPage( resourceGroupName: string, name: string, - request: Models.RestoreRequest, + processId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + instanceId: string, + options?: WebAppsListInstanceProcessThreadsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listInstanceProcessThreadsSlot( + resourceGroupName, + name, + processId, + slot, + instanceId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInstanceProcessThreadsSlotNext( resourceGroupName, name, - request, + processId, slot, + instanceId, + continuationToken, options - }, - discoverBackupSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Lists ownership identifiers for domain associated with web app. - * @summary Lists ownership identifiers for domain associated with web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listDomainOwnershipIdentifiersSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param callback The callback - */ - listDomainOwnershipIdentifiersSlot( + private async *listInstanceProcessThreadsSlotPagingAll( resourceGroupName: string, name: string, + processId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + instanceId: string, + options?: WebAppsListInstanceProcessThreadsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInstanceProcessThreadsSlotPagingPage( + resourceGroupName, + name, + processId, + slot, + instanceId, + options + )) { + yield* page; + } + } + /** + * Description for Gets existing backups of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of the + * production slot. + * @param options The options parameters. */ - listDomainOwnershipIdentifiersSlot( + public listSiteBackupsSlot( resourceGroupName: string, name: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDomainOwnershipIdentifiersSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listDomainOwnershipIdentifiersSlotOperationSpec, - callback - ) as Promise; + options?: WebAppsListSiteBackupsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteBackupsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteBackupsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; } - /** - * Description for Get domain ownership identifier for web app. - * @summary Get domain ownership identifier for web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getDomainOwnershipIdentifierSlot( + private async *listSiteBackupsSlotPagingPage( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param callback The callback - */ - getDomainOwnershipIdentifierSlot( + options?: WebAppsListSiteBackupsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteBackupsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteBackupsSlotNext( + resourceGroupName, + name, + slot, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteBackupsSlotPagingAll( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSiteBackupsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteBackupsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Gets perfmon counters for web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - getDomainOwnershipIdentifierSlot( + public listPerfMonCountersSlot( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getDomainOwnershipIdentifierSlot( + options?: WebAppsListPerfMonCountersSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPerfMonCountersSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPerfMonCountersSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listPerfMonCountersSlotPagingPage( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListPerfMonCountersSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listPerfMonCountersSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listPerfMonCountersSlotNext( resourceGroupName, name, - domainOwnershipIdentifierName, slot, + continuationToken, options - }, - getDomainOwnershipIdentifierSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Creates a domain ownership identifier for web app, or updates an existing - * ownership identifier. - * @summary Creates a domain ownership identifier for web app, or updates an existing ownership - * identifier. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateDomainOwnershipIdentifierSlot( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param callback The callback - */ - createOrUpdateDomainOwnershipIdentifierSlot( + private async *listPerfMonCountersSlotPagingAll( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListPerfMonCountersSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPerfMonCountersSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Gets the list of private endpoint connections associated with a site * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the site. + * @param slot Name of the site deployment slot. + * @param options The options parameters. */ - createOrUpdateDomainOwnershipIdentifierSlot( + public listPrivateEndpointConnectionListSlot( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateDomainOwnershipIdentifierSlot( + options?: WebAppsGetPrivateEndpointConnectionListSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getPrivateEndpointConnectionListSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getPrivateEndpointConnectionListSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *getPrivateEndpointConnectionListSlotPagingPage( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsGetPrivateEndpointConnectionListSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._getPrivateEndpointConnectionListSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getPrivateEndpointConnectionListSlotNext( resourceGroupName, name, - domainOwnershipIdentifierName, - domainOwnershipIdentifier, slot, + continuationToken, options - }, - createOrUpdateDomainOwnershipIdentifierSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Deletes a domain ownership identifier for a web app. - * @summary Deletes a domain ownership identifier for a web app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteDomainOwnershipIdentifierSlot( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param callback The callback - */ - deleteDomainOwnershipIdentifierSlot( + private async *getPrivateEndpointConnectionListSlotPagingAll( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetPrivateEndpointConnectionListSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getPrivateEndpointConnectionListSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - deleteDomainOwnershipIdentifierSlot( + public listProcessesSlot( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteDomainOwnershipIdentifierSlot( + options?: WebAppsListProcessesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listProcessesSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listProcessesSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listProcessesSlotPagingPage( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListProcessesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listProcessesSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listProcessesSlotNext( resourceGroupName, name, - domainOwnershipIdentifierName, slot, + continuationToken, options - }, - deleteDomainOwnershipIdentifierSlotOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Creates a domain ownership identifier for web app, or updates an existing - * ownership identifier. - * @summary Creates a domain ownership identifier for web app, or updates an existing ownership - * identifier. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - updateDomainOwnershipIdentifierSlot( - resourceGroupName: string, - name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param callback The callback - */ - updateDomainOwnershipIdentifierSlot( + private async *listProcessesSlotPagingAll( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListProcessesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listProcessesSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param domainOwnershipIdentifierName Name of domain ownership identifier. - * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - updateDomainOwnershipIdentifierSlot( + public listProcessModulesSlot( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, + processId: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateDomainOwnershipIdentifierSlot( + options?: WebAppsListProcessModulesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listProcessModulesSlotPagingAll( + resourceGroupName, + name, + processId, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listProcessModulesSlotPagingPage( + resourceGroupName, + name, + processId, + slot, + options + ); + } + }; + } + + private async *listProcessModulesSlotPagingPage( resourceGroupName: string, name: string, - domainOwnershipIdentifierName: string, - domainOwnershipIdentifier: Models.Identifier, + processId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListProcessModulesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listProcessModulesSlot( + resourceGroupName, + name, + processId, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listProcessModulesSlotNext( resourceGroupName, name, - domainOwnershipIdentifierName, - domainOwnershipIdentifier, + processId, slot, + continuationToken, options - }, - updateDomainOwnershipIdentifierSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get the status of the last MSDeploy operation. - * @summary Get the status of the last MSDeploy operation. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getMSDeployStatusSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - getMSDeployStatusSlot( + private async *listProcessModulesSlotPagingAll( resourceGroupName: string, name: string, + processId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListProcessModulesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listProcessModulesSlotPagingPage( + resourceGroupName, + name, + processId, + slot, + options + )) { + yield* page; + } + } + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - getMSDeployStatusSlot( + public listProcessThreadsSlot( resourceGroupName: string, name: string, + processId: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getMSDeployStatusSlot( + options?: WebAppsListProcessThreadsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listProcessThreadsSlotPagingAll( + resourceGroupName, + name, + processId, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listProcessThreadsSlotPagingPage( + resourceGroupName, + name, + processId, + slot, + options + ); + } + }; + } + + private async *listProcessThreadsSlotPagingPage( resourceGroupName: string, name: string, + processId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListProcessThreadsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listProcessThreadsSlot( + resourceGroupName, + name, + processId, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listProcessThreadsSlotNext( resourceGroupName, name, + processId, slot, + continuationToken, options - }, - getMSDeployStatusSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Invoke the MSDeploy web app extension. - * @summary Invoke the MSDeploy web app extension. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param mSDeploy Details of MSDeploy operation - * @param [options] The optional parameters - * @returns Promise - */ - createMSDeployOperationSlot( + private async *listProcessThreadsSlotPagingAll( resourceGroupName: string, name: string, + processId: string, slot: string, - mSDeploy: Models.MSDeploy, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateMSDeployOperationSlot( + options?: WebAppsListProcessThreadsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listProcessThreadsSlotPagingPage( resourceGroupName, name, + processId, slot, - mSDeploy, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateMSDeployOperationSlotResponse - >; + )) { + yield* page; + } } /** - * Description for Get the MSDeploy Log for the last MSDeploy operation. - * @summary Get the MSDeploy Log for the last MSDeploy operation. + * Description for Get public certificates for an app or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname bindings + * for the production slot. + * @param options The options parameters. */ - getMSDeployLogSlot( + public listPublicCertificatesSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - getMSDeployLogSlot( + options?: WebAppsListPublicCertificatesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPublicCertificatesSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPublicCertificatesSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listPublicCertificatesSlotPagingPage( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListPublicCertificatesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listPublicCertificatesSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listPublicCertificatesSlotNext( + resourceGroupName, + name, + slot, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPublicCertificatesSlotPagingAll( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListPublicCertificatesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPublicCertificatesSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Get list of siteextensions for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - getMSDeployLogSlot( + public listSiteExtensionsSlot( resourceGroupName: string, name: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getMSDeployLogSlot( + options?: WebAppsListSiteExtensionsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteExtensionsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteExtensionsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listSiteExtensionsSlotPagingPage( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListSiteExtensionsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteExtensionsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteExtensionsSlotNext( resourceGroupName, name, slot, + continuationToken, options - }, - getMSDeployLogSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for List the functions for a web site, or a deployment slot. - * @summary List the functions for a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceFunctionsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. - * @param callback The callback - */ - listInstanceFunctionsSlot( + private async *listSiteExtensionsSlotPagingAll( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSiteExtensionsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteExtensionsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Get the difference in configuration settings between two web app slots. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. */ - listInstanceFunctionsSlot( + public listSlotDifferencesSlot( resourceGroupName: string, name: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceFunctionsSlot( + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSlotDifferencesSlotPagingAll( + resourceGroupName, + name, + slot, + slotSwapEntity, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSlotDifferencesSlotPagingPage( + resourceGroupName, + name, + slot, + slotSwapEntity, + options + ); + } + }; + } + + private async *listSlotDifferencesSlotPagingPage( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSlotDifferencesSlot( + resourceGroupName, + name, + slot, + slotSwapEntity, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSlotDifferencesSlotNext( resourceGroupName, name, slot, + slotSwapEntity, + continuationToken, options - }, - listInstanceFunctionsSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Fetch a short lived token that can be exchanged for a master key. - * @summary Fetch a short lived token that can be exchanged for a master key. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise - */ - getFunctionsAdminTokenSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback - */ - getFunctionsAdminTokenSlot( + private async *listSlotDifferencesSlotPagingAll( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSlotDifferencesSlotPagingPage( + resourceGroupName, + name, + slot, + slotSwapEntity, + options + )) { + yield* page; + } + } + /** + * Description for Returns all Snapshots to the user. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Website Name. + * @param slot Website Slot. + * @param options The options parameters. */ - getFunctionsAdminTokenSlot( + public listSnapshotsSlot( resourceGroupName: string, name: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getFunctionsAdminTokenSlot( + options?: WebAppsListSnapshotsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSnapshotsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSnapshotsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listSnapshotsSlotPagingPage( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListSnapshotsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSnapshotsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSnapshotsSlotNext( resourceGroupName, name, slot, + continuationToken, options - }, - getFunctionsAdminTokenSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get function information by its ID for web site, or a deployment slot. - * @summary Get function information by its ID for web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - getInstanceFunctionSlot( - resourceGroupName: string, - name: string, - functionName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param callback The callback - */ - getInstanceFunctionSlot( + private async *listSnapshotsSlotPagingAll( resourceGroupName: string, name: string, - functionName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSnapshotsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSnapshotsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Returns all Snapshots to the user from DRSecondary endpoint. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param name Website Name. + * @param slot Website Slot. + * @param options The options parameters. */ - getInstanceFunctionSlot( + public listSnapshotsFromDRSecondarySlot( resourceGroupName: string, name: string, - functionName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceFunctionSlot( + options?: WebAppsListSnapshotsFromDRSecondarySlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSnapshotsFromDRSecondarySlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSnapshotsFromDRSecondarySlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listSnapshotsFromDRSecondarySlotPagingPage( resourceGroupName: string, name: string, - functionName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListSnapshotsFromDRSecondarySlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listSnapshotsFromDRSecondarySlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSnapshotsFromDRSecondarySlotNext( resourceGroupName, name, - functionName, slot, + continuationToken, options - }, - getInstanceFunctionSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSnapshotsFromDRSecondarySlotPagingAll( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListSnapshotsFromDRSecondarySlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSnapshotsFromDRSecondarySlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } } /** - * Description for Create function for web site, or a deployment slot. - * @summary Create function for web site, or a deployment slot. + * Description for List triggered web jobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param functionEnvelope Function details. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - createInstanceFunctionSlot( + public listTriggeredWebJobsSlot( resourceGroupName: string, name: string, - functionName: string, slot: string, - functionEnvelope: Models.FunctionEnvelope, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateInstanceFunctionSlot( + options?: WebAppsListTriggeredWebJobsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listTriggeredWebJobsSlotPagingAll( resourceGroupName, name, - functionName, slot, - functionEnvelope, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateInstanceFunctionSlotResponse - >; + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listTriggeredWebJobsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; } - /** - * Description for Delete a function for web site, or a deployment slot. - * @summary Delete a function for web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteInstanceFunctionSlot( + private async *listTriggeredWebJobsSlotPagingPage( resourceGroupName: string, name: string, - functionName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param callback The callback - */ - deleteInstanceFunctionSlot( + options?: WebAppsListTriggeredWebJobsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listTriggeredWebJobsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listTriggeredWebJobsSlotNext( + resourceGroupName, + name, + slot, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listTriggeredWebJobsSlotPagingAll( resourceGroupName: string, name: string, - functionName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListTriggeredWebJobsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listTriggeredWebJobsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for List a triggered web job's history for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - deleteInstanceFunctionSlot( + public listTriggeredWebJobHistorySlot( resourceGroupName: string, name: string, - functionName: string, + webJobName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteInstanceFunctionSlot( + options?: WebAppsListTriggeredWebJobHistorySlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listTriggeredWebJobHistorySlotPagingAll( + resourceGroupName, + name, + webJobName, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listTriggeredWebJobHistorySlotPagingPage( + resourceGroupName, + name, + webJobName, + slot, + options + ); + } + }; + } + + private async *listTriggeredWebJobHistorySlotPagingPage( resourceGroupName: string, name: string, - functionName: string, + webJobName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListTriggeredWebJobHistorySlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listTriggeredWebJobHistorySlot( + resourceGroupName, + name, + webJobName, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listTriggeredWebJobHistorySlotNext( resourceGroupName, name, - functionName, + webJobName, slot, + continuationToken, options - }, - deleteInstanceFunctionSlotOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Add or update a function secret. - * @summary Add or update a function secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param key The key to create or update - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateFunctionSecretSlot( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - slot: string, - key: Models.KeyInfo, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param key The key to create or update - * @param callback The callback - */ - createOrUpdateFunctionSecretSlot( + private async *listTriggeredWebJobHistorySlotPagingAll( resourceGroupName: string, name: string, - functionName: string, - keyName: string, + webJobName: string, slot: string, - key: Models.KeyInfo, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListTriggeredWebJobHistorySlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listTriggeredWebJobHistorySlotPagingPage( + resourceGroupName, + name, + webJobName, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Gets the quota usage information of an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param key The key to create or update - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get quota + * information of the production slot. + * @param options The options parameters. */ - createOrUpdateFunctionSecretSlot( + public listUsagesSlot( resourceGroupName: string, name: string, - functionName: string, - keyName: string, slot: string, - key: Models.KeyInfo, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateFunctionSecretSlot( + options?: WebAppsListUsagesSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listUsagesSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listUsagesSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listUsagesSlotPagingPage( resourceGroupName: string, name: string, - functionName: string, - keyName: string, slot: string, - key: Models.KeyInfo, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListUsagesSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listUsagesSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listUsagesSlotNext( resourceGroupName, name, - functionName, - keyName, slot, - key, + continuationToken, options - }, - createOrUpdateFunctionSecretSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Delete a function secret. - * @summary Delete a function secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteFunctionSecretSlot( - resourceGroupName: string, - name: string, - functionName: string, - keyName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param callback The callback - */ - deleteFunctionSecretSlot( + private async *listUsagesSlotPagingAll( resourceGroupName: string, name: string, - functionName: string, - keyName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListUsagesSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listUsagesSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for List webjobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param functionName The name of the function. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - deleteFunctionSecretSlot( + public listWebJobsSlot( resourceGroupName: string, name: string, - functionName: string, - keyName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteFunctionSecretSlot( + options?: WebAppsListWebJobsSlotOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWebJobsSlotPagingAll( + resourceGroupName, + name, + slot, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWebJobsSlotPagingPage( + resourceGroupName, + name, + slot, + options + ); + } + }; + } + + private async *listWebJobsSlotPagingPage( resourceGroupName: string, name: string, - functionName: string, - keyName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListWebJobsSlotOptionalParams + ): AsyncIterableIterator { + let result = await this._listWebJobsSlot( + resourceGroupName, + name, + slot, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWebJobsSlotNext( resourceGroupName, name, - functionName, - keyName, slot, + continuationToken, options - }, - deleteFunctionSecretSlotOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get function keys for a function in a web site, or a deployment slot. - * @summary Get function keys for a function in a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - listFunctionKeysSlot( + private async *listWebJobsSlotPagingAll( resourceGroupName: string, name: string, - functionName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListWebJobsSlotOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWebJobsSlotPagingPage( + resourceGroupName, + name, + slot, + options + )) { + yield* page; + } + } + /** + * Description for Get the difference in configuration settings between two web app slots. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param callback The callback + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. */ - listFunctionKeysSlot( + public listSlotDifferencesFromProduction( resourceGroupName: string, name: string, - functionName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesFromProductionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSlotDifferencesFromProductionPagingAll( + resourceGroupName, + name, + slotSwapEntity, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSlotDifferencesFromProductionPagingPage( + resourceGroupName, + name, + slotSwapEntity, + options + ); + } + }; + } + + private async *listSlotDifferencesFromProductionPagingPage( + resourceGroupName: string, + name: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesFromProductionOptionalParams + ): AsyncIterableIterator { + let result = await this._listSlotDifferencesFromProduction( + resourceGroupName, + name, + slotSwapEntity, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSlotDifferencesFromProductionNext( + resourceGroupName, + name, + slotSwapEntity, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSlotDifferencesFromProductionPagingAll( + resourceGroupName: string, + name: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesFromProductionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSlotDifferencesFromProductionPagingPage( + resourceGroupName, + name, + slotSwapEntity, + options + )) { + yield* page; + } + } + /** + * Description for Returns all Snapshots to the user. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param name Website Name. + * @param options The options parameters. */ - listFunctionKeysSlot( + public listSnapshots( resourceGroupName: string, name: string, - functionName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listFunctionKeysSlot( + options?: WebAppsListSnapshotsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSnapshotsPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSnapshotsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listSnapshotsPagingPage( resourceGroupName: string, name: string, - functionName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListSnapshotsOptionalParams + ): AsyncIterableIterator { + let result = await this._listSnapshots(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSnapshotsNext( resourceGroupName, name, - functionName, - slot, + continuationToken, options - }, - listFunctionKeysSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get function secrets for a function in a web site, or a deployment slot. - * @summary Get function secrets for a function in a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - listFunctionSecretsSlot( - resourceGroupName: string, - name: string, - functionName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param callback The callback - */ - listFunctionSecretsSlot( + private async *listSnapshotsPagingAll( resourceGroupName: string, name: string, - functionName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSnapshotsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSnapshotsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for Returns all Snapshots to the user from DRSecondary endpoint. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param name Website Name. + * @param options The options parameters. */ - listFunctionSecretsSlot( + public listSnapshotsFromDRSecondary( resourceGroupName: string, name: string, - functionName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listFunctionSecretsSlot( + options?: WebAppsListSnapshotsFromDRSecondaryOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSnapshotsFromDRSecondaryPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSnapshotsFromDRSecondaryPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listSnapshotsFromDRSecondaryPagingPage( resourceGroupName: string, name: string, - functionName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListSnapshotsFromDRSecondaryOptionalParams + ): AsyncIterableIterator { + let result = await this._listSnapshotsFromDRSecondary( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSnapshotsFromDRSecondaryNext( resourceGroupName, name, - functionName, - slot, + continuationToken, options - }, - listFunctionSecretsSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Get host secrets for a function app. - * @summary Get host secrets for a function app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - listHostKeysSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. - * @param callback The callback - */ - listHostKeysSlot( + private async *listSnapshotsFromDRSecondaryPagingAll( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSnapshotsFromDRSecondaryOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSnapshotsFromDRSecondaryPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for List triggered web jobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listHostKeysSlot( + public listTriggeredWebJobs( resourceGroupName: string, name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHostKeysSlot( + options?: WebAppsListTriggeredWebJobsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listTriggeredWebJobsPagingAll( + resourceGroupName, + name, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listTriggeredWebJobsPagingPage( + resourceGroupName, + name, + options + ); + } + }; + } + + private async *listTriggeredWebJobsPagingPage( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListTriggeredWebJobsOptionalParams + ): AsyncIterableIterator { + let result = await this._listTriggeredWebJobs( + resourceGroupName, + name, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listTriggeredWebJobsNext( resourceGroupName, name, - slot, + continuationToken, options - }, - listHostKeysSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for This is to allow calling via powershell and ARM template. - * @summary This is to allow calling via powershell and ARM template. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - listSyncStatusSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param callback The callback - */ - listSyncStatusSlot( + private async *listTriggeredWebJobsPagingAll( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListTriggeredWebJobsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listTriggeredWebJobsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** + * Description for List a triggered web job's history for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - listSyncStatusSlot( + public listTriggeredWebJobHistory( resourceGroupName: string, name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSyncStatusSlot( + webJobName: string, + options?: WebAppsListTriggeredWebJobHistoryOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listTriggeredWebJobHistoryPagingAll( + resourceGroupName, + name, + webJobName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listTriggeredWebJobHistoryPagingPage( + resourceGroupName, + name, + webJobName, + options + ); + } + }; + } + + private async *listTriggeredWebJobHistoryPagingPage( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + webJobName: string, + options?: WebAppsListTriggeredWebJobHistoryOptionalParams + ): AsyncIterableIterator { + let result = await this._listTriggeredWebJobHistory( + resourceGroupName, + name, + webJobName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listTriggeredWebJobHistoryNext( resourceGroupName, name, - slot, + webJobName, + continuationToken, options - }, - listSyncStatusSlotOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Syncs function trigger metadata to the management database - * @summary Syncs function trigger metadata to the management database - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - syncFunctionsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param callback The callback - */ - syncFunctionsSlot( + private async *listTriggeredWebJobHistoryPagingAll( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + webJobName: string, + options?: WebAppsListTriggeredWebJobHistoryOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listTriggeredWebJobHistoryPagingPage( + resourceGroupName, + name, + webJobName, + options + )) { + yield* page; + } + } + /** + * Description for Gets the quota usage information of an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - syncFunctionsSlot( + public listUsages( resourceGroupName: string, name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - syncFunctionsSlot( + options?: WebAppsListUsagesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listUsagesPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listUsagesPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listUsagesPagingPage( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListUsagesOptionalParams + ): AsyncIterableIterator { + let result = await this._listUsages(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listUsagesNext( resourceGroupName, name, - slot, + continuationToken, options - }, - syncFunctionsSlotOperationSpec, - callback - ); + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Add or update a host level secret. - * @summary Add or update a host level secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param key The key to create or update - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateHostSecretSlot( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - slot: string, - key: Models.KeyInfo, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param key The key to create or update - * @param callback The callback - */ - createOrUpdateHostSecretSlot( + private async *listUsagesPagingAll( resourceGroupName: string, name: string, - keyType: string, - keyName: string, - slot: string, - key: Models.KeyInfo, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListUsagesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listUsagesPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param key The key to create or update - * @param options The optional parameters - * @param callback The callback + * Description for List webjobs for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. */ - createOrUpdateHostSecretSlot( + public listWebJobs( resourceGroupName: string, name: string, - keyType: string, - keyName: string, - slot: string, - key: Models.KeyInfo, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateHostSecretSlot( + options?: WebAppsListWebJobsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listWebJobsPagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listWebJobsPagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listWebJobsPagingPage( resourceGroupName: string, name: string, - keyType: string, - keyName: string, - slot: string, - key: Models.KeyInfo, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { + options?: WebAppsListWebJobsOptionalParams + ): AsyncIterableIterator { + let result = await this._listWebJobs(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listWebJobsNext( resourceGroupName, name, - keyType, - keyName, - slot, - key, + continuationToken, options - }, - createOrUpdateHostSecretSlotOperationSpec, - callback - ) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Description for Delete a host level secret. - * @summary Delete a host level secret. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteHostSecretSlot( + private async *listWebJobsPagingAll( resourceGroupName: string, name: string, - keyType: string, - keyName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListWebJobsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listWebJobsPagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param callback The callback + * Description for Get all apps for a subscription. + * @param options The options parameters. */ - deleteHostSecretSlot( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + private _list( + options?: WebAppsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Description for Gets all web, mobile, and API apps in the specified resource group. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param keyType The type of host key. - * @param keyName The name of the key. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteHostSecretSlot( - resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteHostSecretSlot( + private _listByResourceGroup( resourceGroupName: string, - name: string, - keyType: string, - keyName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - keyType, - keyName, - slot, - options - }, - deleteHostSecretSlotOperationSpec, - callback + { resourceGroupName, options }, + listByResourceGroupOperationSpec ); } /** - * Description for Get hostname bindings for an app or a deployment slot. - * @summary Get hostname bindings for an app or a deployment slot. + * Description for Gets the details of a web, mobile, or API app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname - * bindings for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listHostNameBindingsSlot( + get( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getOperationSpec + ); + } + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname - * bindings for the production slot. - * @param callback The callback - */ - listHostNameBindingsSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + name: string, + siteEnvelope: Site, + options?: WebAppsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateOrUpdateResponse + > + > { + 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, name, siteEnvelope, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname - * bindings for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. */ - listHostNameBindingsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHostNameBindingsSlot( + async beginCreateOrUpdateAndWait( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listHostNameBindingsSlotOperationSpec, - callback - ) as Promise; + siteEnvelope: Site, + options?: WebAppsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + name, + siteEnvelope, + options + ); + return poller.pollUntilDone(); } /** - * Description for Get the named hostname binding for an app (or deployment slot, if specified). - * @summary Get the named hostname binding for an app (or deployment slot, if specified). + * Description for Deletes a web, mobile, or API app, or one of the deployment slots. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding - * for the production slot. - * @param hostName Hostname in the hostname binding. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app to delete. + * @param options The options parameters. */ - getHostNameBindingSlot( + delete( resourceGroupName: string, name: string, - slot: string, - hostName: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + deleteOperationSpec + ); + } + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding - * for the production slot. - * @param hostName Hostname in the hostname binding. - * @param callback The callback + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. */ - getHostNameBindingSlot( + update( resourceGroupName: string, name: string, - slot: string, - hostName: string, - callback: msRest.ServiceCallback - ): void; + siteEnvelope: SitePatchResource, + options?: WebAppsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, siteEnvelope, options }, + updateOperationSpec + ); + } + /** + * Description for Analyze a custom hostname. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding - * for the production slot. - * @param hostName Hostname in the hostname binding. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param options The options parameters. */ - getHostNameBindingSlot( - resourceGroupName: string, - name: string, - slot: string, - hostName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getHostNameBindingSlot( + analyzeCustomHostname( resourceGroupName: string, name: string, - slot: string, - hostName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsAnalyzeCustomHostnameOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - hostName, - options - }, - getHostNameBindingSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + analyzeCustomHostnameOperationSpec + ); } /** - * Description for Creates a hostname binding for an app. - * @summary Creates a hostname binding for an app. + * Description for Applies the configuration settings from the target slot onto the current slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding - * object. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * binding for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. */ - createOrUpdateHostNameBindingSlot( + applySlotConfigToProduction( resourceGroupName: string, name: string, - hostName: string, - hostNameBinding: Models.HostNameBinding, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + slotSwapEntity: CsmSlotEntity, + options?: WebAppsApplySlotConfigToProductionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slotSwapEntity, options }, + applySlotConfigToProductionOperationSpec + ); + } + /** + * Description for Creates a backup of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding - * object. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * binding for the production slot. - * @param callback The callback + * @param request Backup configuration. You can use the JSON response from the POST action as input + * here. + * @param options The options parameters. */ - createOrUpdateHostNameBindingSlot( + backup( resourceGroupName: string, name: string, - hostName: string, - hostNameBinding: Models.HostNameBinding, - slot: string, - callback: msRest.ServiceCallback - ): void; + request: BackupRequest, + options?: WebAppsBackupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, request, options }, + backupOperationSpec + ); + } + /** + * Description for Gets existing backups of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param hostName Hostname in the hostname binding. - * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding - * object. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * binding for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdateHostNameBindingSlot( + private _listBackups( resourceGroupName: string, name: string, - hostName: string, - hostNameBinding: Models.HostNameBinding, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateHostNameBindingSlot( - resourceGroupName: string, - name: string, - hostName: string, - hostNameBinding: Models.HostNameBinding, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListBackupsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - hostName, - hostNameBinding, - slot, - options - }, - createOrUpdateHostNameBindingSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listBackupsOperationSpec + ); } /** - * Description for Deletes a hostname binding for an app. - * @summary Deletes a hostname binding for an app. + * Description for Gets a backup of an app by its ID. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param hostName Hostname in the hostname binding. - * @param [options] The optional parameters - * @returns Promise + * @param backupId ID of the backup. + * @param options The options parameters. */ - deleteHostNameBindingSlot( + getBackupStatus( resourceGroupName: string, name: string, - slot: string, - hostName: string, - options?: msRest.RequestOptionsBase - ): Promise; + backupId: string, + options?: WebAppsGetBackupStatusOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, backupId, options }, + getBackupStatusOperationSpec + ); + } + /** + * Description for Deletes a backup of an app by its ID. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param hostName Hostname in the hostname binding. - * @param callback The callback + * @param backupId ID of the backup. + * @param options The options parameters. */ - deleteHostNameBindingSlot( + deleteBackup( resourceGroupName: string, name: string, - slot: string, - hostName: string, - callback: msRest.ServiceCallback - ): void; + backupId: string, + options?: WebAppsDeleteBackupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, backupId, options }, + deleteBackupOperationSpec + ); + } + /** + * Description for Gets status of a web app backup that may be in progress, including secrets + * associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS + * URL for the backup if a new URL is passed in the request body. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param hostName Hostname in the hostname binding. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param backupId ID of backup. + * @param request Information on backup request. + * @param options The options parameters. */ - deleteHostNameBindingSlot( - resourceGroupName: string, - name: string, - slot: string, - hostName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteHostNameBindingSlot( + listBackupStatusSecrets( resourceGroupName: string, name: string, - slot: string, - hostName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + backupId: string, + request: BackupRequest, + options?: WebAppsListBackupStatusSecretsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - hostName, - options - }, - deleteHostNameBindingSlotOperationSpec, - callback + { resourceGroupName, name, backupId, request, options }, + listBackupStatusSecretsOperationSpec ); } /** - * Description for Retrieves a specific Service Bus Hybrid Connection used by this Web App. - * @summary Retrieves a specific Service Bus Hybrid Connection used by this Web App. + * Description for Restores a specific backup to another app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param slot The name of the slot for the web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param backupId ID of the backup. + * @param request Information on restore request . + * @param options The options parameters. */ - getHybridConnectionSlot( + async beginRestore( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + backupId: string, + request: RestoreRequest, + options?: WebAppsRestoreOptionalParams + ): 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, name, backupId, request, options }, + restoreOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Restores a specific backup to another app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param slot The name of the slot for the web app. - * @param callback The callback + * @param name Name of the app. + * @param backupId ID of the backup. + * @param request Information on restore request . + * @param options The options parameters. */ - getHybridConnectionSlot( + async beginRestoreAndWait( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + backupId: string, + request: RestoreRequest, + options?: WebAppsRestoreOptionalParams + ): Promise { + const poller = await this.beginRestore( + resourceGroupName, + name, + backupId, + request, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param slot The name of the slot for the web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - getHybridConnectionSlot( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getHybridConnectionSlot( + private _listBasicPublishingCredentialsPolicies( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListBasicPublishingCredentialsPoliciesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - slot, - options - }, - getHybridConnectionSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listBasicPublishingCredentialsPoliciesOperationSpec + ); } /** - * Description for Creates a new Hybrid Connection using a Service Bus relay. - * @summary Creates a new Hybrid Connection using a Service Bus relay. + * Description for Returns whether FTP is allowed on the site or not. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param slot The name of the slot for the web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - createOrUpdateHybridConnectionSlot( + getFtpAllowed( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetFtpAllowedOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getFtpAllowedOperationSpec + ); + } + /** + * Description for Updates whether FTP is allowed on the site or not. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param slot The name of the slot for the web app. - * @param callback The callback + * @param name Name of the app. + * @param csmPublishingAccessPoliciesEntity Publishing Credentials Policies parameters. + * @param options The options parameters. */ - createOrUpdateHybridConnectionSlot( + updateFtpAllowed( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - slot: string, - callback: msRest.ServiceCallback - ): void; + csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, + options?: WebAppsUpdateFtpAllowedOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, csmPublishingAccessPoliciesEntity, options }, + updateFtpAllowedOperationSpec + ); + } + /** + * Description for Returns whether Scm basic auth is allowed on the site or not. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param slot The name of the slot for the web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - createOrUpdateHybridConnectionSlot( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateHybridConnectionSlot( + getScmAllowed( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetScmAllowedOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - connectionEnvelope, - slot, - options - }, - createOrUpdateHybridConnectionSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getScmAllowedOperationSpec + ); } /** - * Description for Removes a Hybrid Connection from this site. - * @summary Removes a Hybrid Connection from this site. + * Description for Updates whether user publishing credentials are allowed on the site or not. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param slot The name of the slot for the web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param csmPublishingAccessPoliciesEntity Publishing Credentials Policies parameters. + * @param options The options parameters. */ - deleteHybridConnectionSlot( + updateScmAllowed( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, + options?: WebAppsUpdateScmAllowedOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, csmPublishingAccessPoliciesEntity, options }, + updateScmAllowedOperationSpec + ); + } + /** + * Description for List the configurations of an app * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param slot The name of the slot for the web app. - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - deleteHybridConnectionSlot( + private _listConfigurations( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListConfigurationsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listConfigurationsOperationSpec + ); + } + /** + * Description for Replaces the application settings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param slot The name of the slot for the web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param appSettings Application settings of the app. + * @param options The options parameters. */ - deleteHybridConnectionSlot( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteHybridConnectionSlot( + updateApplicationSettings( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + appSettings: StringDictionary, + options?: WebAppsUpdateApplicationSettingsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - slot, - options - }, - deleteHybridConnectionSlotOperationSpec, - callback + { resourceGroupName, name, appSettings, options }, + updateApplicationSettingsOperationSpec ); } /** - * Description for Creates a new Hybrid Connection using a Service Bus relay. - * @summary Creates a new Hybrid Connection using a Service Bus relay. + * Description for Gets the application settings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param slot The name of the slot for the web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - updateHybridConnectionSlot( + listApplicationSettings( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListApplicationSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listApplicationSettingsOperationSpec + ); + } + /** + * Description for Updates the Authentication / Authorization settings associated with web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param slot The name of the slot for the web app. - * @param callback The callback + * @param name Name of web app. + * @param siteAuthSettings Auth settings associated with web app. + * @param options The options parameters. */ - updateHybridConnectionSlot( + updateAuthSettings( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - slot: string, - callback: msRest.ServiceCallback - ): void; + siteAuthSettings: SiteAuthSettings, + options?: WebAppsUpdateAuthSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, siteAuthSettings, options }, + updateAuthSettingsOperationSpec + ); + } + /** + * Description for Gets the Authentication/Authorization settings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param namespaceName The namespace for this hybrid connection. - * @param relayName The relay name for this hybrid connection. - * @param connectionEnvelope The details of the hybrid connection. - * @param slot The name of the slot for the web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - updateHybridConnectionSlot( - resourceGroupName: string, - name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateHybridConnectionSlot( + getAuthSettings( resourceGroupName: string, name: string, - namespaceName: string, - relayName: string, - connectionEnvelope: Models.HybridConnection, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetAuthSettingsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - namespaceName, - relayName, - connectionEnvelope, - slot, - options - }, - updateHybridConnectionSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getAuthSettingsOperationSpec + ); } /** - * Description for Retrieves all Service Bus Hybrid Connections used by this Web App. - * @summary Retrieves all Service Bus Hybrid Connections used by this Web App. + * Description for Updates site's Authentication / Authorization settings for apps via the V2 format * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for the web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param siteAuthSettingsV2 Auth settings associated with web app. + * @param options The options parameters. */ - listHybridConnectionsSlot( + updateAuthSettingsV2( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + siteAuthSettingsV2: SiteAuthSettingsV2, + options?: WebAppsUpdateAuthSettingsV2OptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, siteAuthSettingsV2, options }, + updateAuthSettingsV2OperationSpec + ); + } + /** + * Description for Gets site's Authentication / Authorization settings for apps via the V2 format * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for the web app. - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - listHybridConnectionsSlot( + getAuthSettingsV2( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetAuthSettingsV2OptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getAuthSettingsV2OperationSpec + ); + } + /** + * Description for Updates the Azure storage account configurations of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for the web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param azureStorageAccounts Azure storage accounts of the app. + * @param options The options parameters. */ - listHybridConnectionsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHybridConnectionsSlot( + updateAzureStorageAccounts( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + azureStorageAccounts: AzureStoragePropertyDictionaryResource, + options?: WebAppsUpdateAzureStorageAccountsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listHybridConnectionsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, azureStorageAccounts, options }, + updateAzureStorageAccountsOperationSpec + ); } /** - * Description for Gets hybrid connections configured for an app (or deployment slot, if - * specified). - * @summary Gets hybrid connections configured for an app (or deployment slot, if specified). + * Description for Gets the Azure storage account configurations of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get hybrid - * connections for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listRelayServiceConnectionsSlot( + listAzureStorageAccounts( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListAzureStorageAccountsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listAzureStorageAccountsOperationSpec + ); + } + /** + * Description for Updates the backup configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get hybrid - * connections for the production slot. - * @param callback The callback + * @param request Edited backup configuration. + * @param options The options parameters. */ - listRelayServiceConnectionsSlot( + updateBackupConfiguration( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + request: BackupRequest, + options?: WebAppsUpdateBackupConfigurationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, request, options }, + updateBackupConfigurationOperationSpec + ); + } + /** + * Description for Deletes the backup configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get hybrid - * connections for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listRelayServiceConnectionsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listRelayServiceConnectionsSlot( + deleteBackupConfiguration( resourceGroupName: string, name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsDeleteBackupConfigurationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listRelayServiceConnectionsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + deleteBackupConfigurationOperationSpec + ); } /** - * Description for Gets a hybrid connection configuration by its name. - * @summary Gets a hybrid connection configuration by its name. + * Description for Gets the backup configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a hybrid - * connection for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getRelayServiceConnectionSlot( + getBackupConfiguration( resourceGroupName: string, name: string, - entityName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetBackupConfigurationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getBackupConfigurationOperationSpec + ); + } + /** + * Description for Gets the config reference app settings and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a hybrid - * connection for the production slot. - * @param callback The callback + * @param options The options parameters. */ - getRelayServiceConnectionSlot( + private _getAppSettingsKeyVaultReferences( resourceGroupName: string, name: string, - entityName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetAppSettingsKeyVaultReferencesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getAppSettingsKeyVaultReferencesOperationSpec + ); + } + /** + * Description for Gets the config reference and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a hybrid - * connection for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param appSettingKey App Setting key name. + * @param options The options parameters. */ - getRelayServiceConnectionSlot( - resourceGroupName: string, - name: string, - entityName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getRelayServiceConnectionSlot( + getAppSettingKeyVaultReference( resourceGroupName: string, name: string, - entityName: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + appSettingKey: string, + options?: WebAppsGetAppSettingKeyVaultReferenceOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - entityName, - slot, - options - }, - getRelayServiceConnectionSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, appSettingKey, options }, + getAppSettingKeyVaultReferenceOperationSpec + ); } /** - * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one - * (PATCH). - * @summary Creates a new hybrid connection configuration (PUT), or updates an existing one - * (PATCH). + * Description for Gets the config reference app settings and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create or - * update a hybrid connection for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdateRelayServiceConnectionSlot( + private _getSiteConnectionStringKeyVaultReferences( resourceGroupName: string, name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getSiteConnectionStringKeyVaultReferencesOperationSpec + ); + } + /** + * Description for Gets the config reference and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create or - * update a hybrid connection for the production slot. - * @param callback The callback + * @param connectionStringKey + * @param options The options parameters. */ - createOrUpdateRelayServiceConnectionSlot( + getSiteConnectionStringKeyVaultReference( resourceGroupName: string, name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - slot: string, - callback: msRest.ServiceCallback - ): void; + connectionStringKey: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferenceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, connectionStringKey, options }, + getSiteConnectionStringKeyVaultReferenceOperationSpec + ); + } + /** + * Description for Replaces the connection strings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create or - * update a hybrid connection for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param connectionStrings Connection strings of the app or deployment slot. See example. + * @param options The options parameters. */ - createOrUpdateRelayServiceConnectionSlot( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateRelayServiceConnectionSlot( + updateConnectionStrings( resourceGroupName: string, name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + connectionStrings: ConnectionStringDictionary, + options?: WebAppsUpdateConnectionStringsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - entityName, - connectionEnvelope, - slot, - options - }, - createOrUpdateRelayServiceConnectionSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, connectionStrings, options }, + updateConnectionStringsOperationSpec + ); } /** - * Description for Deletes a relay service connection by its name. - * @summary Deletes a relay service connection by its name. + * Description for Gets the connection strings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a - * hybrid connection for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteRelayServiceConnectionSlot( + listConnectionStrings( resourceGroupName: string, name: string, - entityName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListConnectionStringsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listConnectionStringsOperationSpec + ); + } + /** + * Description for Gets the logging configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a - * hybrid connection for the production slot. - * @param callback The callback + * @param options The options parameters. */ - deleteRelayServiceConnectionSlot( + getDiagnosticLogsConfiguration( resourceGroupName: string, name: string, - entityName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetDiagnosticLogsConfigurationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getDiagnosticLogsConfigurationOperationSpec + ); + } + /** + * Description for Updates the logging configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a - * hybrid connection for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to change + * in the "properties" property. + * @param options The options parameters. */ - deleteRelayServiceConnectionSlot( - resourceGroupName: string, - name: string, - entityName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteRelayServiceConnectionSlot( + updateDiagnosticLogsConfig( resourceGroupName: string, name: string, - entityName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + siteLogsConfig: SiteLogsConfig, + options?: WebAppsUpdateDiagnosticLogsConfigOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - entityName, - slot, - options - }, - deleteRelayServiceConnectionSlotOperationSpec, - callback + { resourceGroupName, name, siteLogsConfig, options }, + updateDiagnosticLogsConfigOperationSpec ); } /** - * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one - * (PATCH). - * @summary Creates a new hybrid connection configuration (PUT), or updates an existing one - * (PATCH). + * Description for Replaces the metadata of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create or - * update a hybrid connection for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param metadata Edited metadata of the app or deployment slot. See example. + * @param options The options parameters. */ - updateRelayServiceConnectionSlot( + updateMetadata( resourceGroupName: string, name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + metadata: StringDictionary, + options?: WebAppsUpdateMetadataOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, metadata, options }, + updateMetadataOperationSpec + ); + } + /** + * Description for Gets the metadata of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create or - * update a hybrid connection for the production slot. - * @param callback The callback + * @param options The options parameters. */ - updateRelayServiceConnectionSlot( + listMetadata( resourceGroupName: string, name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListMetadataOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listMetadataOperationSpec + ); + } + /** + * Description for Gets the Git/FTP publishing credentials of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param entityName Name of the hybrid connection configuration. - * @param connectionEnvelope Details of the hybrid connection configuration. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create or - * update a hybrid connection for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. + */ + async beginListPublishingCredentials( + resourceGroupName: string, + name: string, + options?: WebAppsListPublishingCredentialsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsListPublishingCredentialsResponse + > + > { + 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, name, options }, + listPublishingCredentialsOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Gets the Git/FTP publishing credentials of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. */ - updateRelayServiceConnectionSlot( - resourceGroupName: string, - name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateRelayServiceConnectionSlot( + async beginListPublishingCredentialsAndWait( resourceGroupName: string, name: string, - entityName: string, - connectionEnvelope: Models.RelayServiceConnectionEntity, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - entityName, - connectionEnvelope, - slot, - options - }, - updateRelayServiceConnectionSlotOperationSpec, - callback - ) as Promise; + options?: WebAppsListPublishingCredentialsOptionalParams + ): Promise { + const poller = await this.beginListPublishingCredentials( + resourceGroupName, + name, + options + ); + return poller.pollUntilDone(); + } + + /** + * Description for Updates the Push settings associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param pushSettings Push settings associated with web app. + * @param options The options parameters. + */ + updateSitePushSettings( + resourceGroupName: string, + name: string, + pushSettings: PushSettings, + options?: WebAppsUpdateSitePushSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, pushSettings, options }, + updateSitePushSettingsOperationSpec + ); } /** - * Description for Gets all scale-out instances of an app. - * @summary Gets all scale-out instances of an app. + * Description for Gets the Push settings associated with web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production - * slot instances. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param options The options parameters. */ - listInstanceIdentifiersSlot( + listSitePushSettings( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListSitePushSettingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listSitePushSettingsOperationSpec + ); + } + /** + * Description for Gets the names of app settings and connection strings that stick to the slot (not + * swapped). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production - * slot instances. - * @param callback The callback + * @param options The options parameters. */ - listInstanceIdentifiersSlot( + listSlotConfigurationNames( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSlotConfigurationNamesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listSlotConfigurationNamesOperationSpec + ); + } + /** + * Description for Updates the names of application settings and connection string that remain with the + * slot during swap operation. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production - * slot instances. - * @param options The optional parameters - * @param callback The callback + * @param slotConfigNames Names of application settings and connection strings. See example. + * @param options The options parameters. */ - listInstanceIdentifiersSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceIdentifiersSlot( + updateSlotConfigurationNames( resourceGroupName: string, name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slotConfigNames: SlotConfigNamesResource, + options?: WebAppsUpdateSlotConfigurationNamesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listInstanceIdentifiersSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slotConfigNames, options }, + updateSlotConfigurationNamesOperationSpec + ); } /** - * Description for Gets all scale-out instances of an app. - * @summary Gets all scale-out instances of an app. + * Description for Gets the configuration of an app, such as platform version and bitness, default + * documents, virtual applications, Always On, etc. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param instanceId - * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production - * slot instances. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getInstanceInfoSlot( + getConfiguration( resourceGroupName: string, name: string, - instanceId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetConfigurationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getConfigurationOperationSpec + ); + } + /** + * Description for Updates the configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param instanceId - * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production - * slot instances. - * @param callback The callback + * @param siteConfig JSON representation of a SiteConfig object. See example. + * @param options The options parameters. */ - getInstanceInfoSlot( + createOrUpdateConfiguration( resourceGroupName: string, name: string, - instanceId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + siteConfig: SiteConfigResource, + options?: WebAppsCreateOrUpdateConfigurationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, siteConfig, options }, + createOrUpdateConfigurationOperationSpec + ); + } + /** + * Description for Updates the configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param instanceId - * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production - * slot instances. - * @param options The optional parameters - * @param callback The callback + * @param siteConfig JSON representation of a SiteConfig object. See example. + * @param options The options parameters. */ - getInstanceInfoSlot( - resourceGroupName: string, - name: string, - instanceId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceInfoSlot( + updateConfiguration( resourceGroupName: string, name: string, - instanceId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + siteConfig: SiteConfigResource, + options?: WebAppsUpdateConfigurationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - instanceId, - slot, - options - }, - getInstanceInfoSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, siteConfig, options }, + updateConfigurationOperationSpec + ); } /** - * Description for Get the status of the last MSDeploy operation. - * @summary Get the status of the last MSDeploy operation. + * Description for Gets a list of web app configuration snapshots identifiers. Each element of the list + * contains a timestamp and the ID of the snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param instanceId ID of web app instance. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - getInstanceMsDeployStatusSlot( + private _listConfigurationSnapshotInfo( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListConfigurationSnapshotInfoOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listConfigurationSnapshotInfoOperationSpec + ); + } + /** + * Description for Gets a snapshot of the configuration of an app at a previous point in time. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param instanceId ID of web app instance. - * @param callback The callback + * @param name Name of the app. + * @param snapshotId The ID of the snapshot to read. + * @param options The options parameters. */ - getInstanceMsDeployStatusSlot( + getConfigurationSnapshot( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + snapshotId: string, + options?: WebAppsGetConfigurationSnapshotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, snapshotId, options }, + getConfigurationSnapshotOperationSpec + ); + } + /** + * Description for Reverts the configuration of an app to a previous snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param instanceId ID of web app instance. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param snapshotId The ID of the snapshot to read. + * @param options The options parameters. */ - getInstanceMsDeployStatusSlot( - resourceGroupName: string, - name: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceMsDeployStatusSlot( + recoverSiteConfigurationSnapshot( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + snapshotId: string, + options?: WebAppsRecoverSiteConfigurationSnapshotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - instanceId, - options - }, - getInstanceMsDeployStatusSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, snapshotId, options }, + recoverSiteConfigurationSnapshotOperationSpec + ); } /** - * Description for Invoke the MSDeploy web app extension. - * @summary Invoke the MSDeploy web app extension. + * Description for Gets the last lines of docker logs for the given site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param instanceId ID of web app instance. - * @param mSDeploy Details of MSDeploy operation - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createInstanceMSDeployOperationSlot( + getWebSiteContainerLogs( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - mSDeploy: Models.MSDeploy, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateInstanceMSDeployOperationSlot( - resourceGroupName, - name, - slot, - instanceId, - mSDeploy, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateInstanceMSDeployOperationSlotResponse - >; + options?: WebAppsGetWebSiteContainerLogsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getWebSiteContainerLogsOperationSpec + ); } /** - * Description for Get the MSDeploy Log for the last MSDeploy operation. - * @summary Get the MSDeploy Log for the last MSDeploy operation. + * Description for Gets the ZIP archived docker log files for the given site * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param instanceId ID of web app instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getInstanceMSDeployLogSlot( + getContainerLogsZip( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetContainerLogsZipOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getContainerLogsZipOperationSpec + ); + } + /** + * Description for List continuous web jobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param instanceId ID of web app instance. - * @param callback The callback + * @param name Site name. + * @param options The options parameters. */ - getInstanceMSDeployLogSlot( + private _listContinuousWebJobs( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListContinuousWebJobsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listContinuousWebJobsOperationSpec + ); + } + /** + * Description for Gets a continuous web job by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param instanceId ID of web app instance. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - getInstanceMSDeployLogSlot( - resourceGroupName: string, - name: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceMSDeployLogSlot( + getContinuousWebJob( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + webJobName: string, + options?: WebAppsGetContinuousWebJobOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - instanceId, - options - }, - getInstanceMSDeployLogSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, webJobName, options }, + getContinuousWebJobOperationSpec + ); } /** - * Description for Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @summary Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. + * Description for Delete a continuous web job by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - listInstanceProcessesSlot( + deleteContinuousWebJob( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; + webJobName: string, + options?: WebAppsDeleteContinuousWebJobOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, options }, + deleteContinuousWebJobOperationSpec + ); + } + /** + * Description for Start a continuous web job for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - listInstanceProcessesSlot( + startContinuousWebJob( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + webJobName: string, + options?: WebAppsStartContinuousWebJobOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, options }, + startContinuousWebJobOperationSpec + ); + } + /** + * Description for Stop a continuous web job for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - listInstanceProcessesSlot( - resourceGroupName: string, - name: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessesSlot( + stopContinuousWebJob( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + webJobName: string, + options?: WebAppsStopContinuousWebJobOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - instanceId, - options - }, - listInstanceProcessesSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, webJobName, options }, + stopContinuousWebJobOperationSpec + ); } /** - * Description for Get process information by its ID for a specific scaled-out instance in a web - * site. - * @summary Get process information by its ID for a specific scaled-out instance in a web site. + * Description for List deployments for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - getInstanceProcessSlot( + private _listDeployments( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListDeploymentsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listDeploymentsOperationSpec + ); + } + /** + * Description for Get a deployment by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback + * @param name Name of the app. + * @param id Deployment ID. + * @param options The options parameters. */ - getInstanceProcessSlot( + getDeployment( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + id: string, + options?: WebAppsGetDeploymentOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, id, options }, + getDeploymentOperationSpec + ); + } + /** + * Description for Create a deployment for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param id ID of an existing deployment. + * @param deployment Deployment details. + * @param options The options parameters. */ - getInstanceProcessSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceProcessSlot( + createDeployment( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + id: string, + deployment: Deployment, + options?: WebAppsCreateDeploymentOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - slot, - instanceId, - options - }, - getInstanceProcessSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, id, deployment, options }, + createDeploymentOperationSpec + ); } /** - * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific - * scaled-out instance in a web site. - * @summary Terminate a process by its ID for a web site, or a deployment slot, or specific - * scaled-out instance in a web site. + * Description for Delete a deployment by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param id Deployment ID. + * @param options The options parameters. */ - deleteInstanceProcessSlot( + deleteDeployment( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; + id: string, + options?: WebAppsDeleteDeploymentOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, id, options }, + deleteDeploymentOperationSpec + ); + } + /** + * Description for List deployment log for specific deployment for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback + * @param name Name of the app. + * @param id The ID of a specific deployment. This is the value of the name property in the JSON + * response from "GET /api/sites/{siteName}/deployments". + * @param options The options parameters. */ - deleteInstanceProcessSlot( + listDeploymentLog( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + id: string, + options?: WebAppsListDeploymentLogOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, id, options }, + listDeploymentLogOperationSpec + ); + } + /** + * Description for Discovers an existing app backup that can be restored from a blob in Azure storage. + * Use this to get information about the databases stored in a backup. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param request A RestoreRequest object that includes Azure storage URL and blog name for discovery + * of backup. + * @param options The options parameters. */ - deleteInstanceProcessSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteInstanceProcessSlot( + discoverBackup( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + request: RestoreRequest, + options?: WebAppsDiscoverBackupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - slot, - instanceId, - options - }, - deleteInstanceProcessSlotOperationSpec, - callback + { resourceGroupName, name, request, options }, + discoverBackupOperationSpec ); } /** - * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a - * web site. - * @summary Get a memory dump of a process by its ID for a specific scaled-out instance in a web - * site. + * Description for Lists ownership identifiers for domain associated with web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - getInstanceProcessDumpSlot( + private _listDomainOwnershipIdentifiers( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListDomainOwnershipIdentifiersOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listDomainOwnershipIdentifiersOperationSpec + ); + } + /** + * Description for Get domain ownership identifier for web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param options The options parameters. */ - getInstanceProcessDumpSlot( + getDomainOwnershipIdentifier( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + domainOwnershipIdentifierName: string, + options?: WebAppsGetDomainOwnershipIdentifierOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, domainOwnershipIdentifierName, options }, + getDomainOwnershipIdentifierOperationSpec + ); + } + /** + * Description for Creates a domain ownership identifier for web app, or updates an existing ownership + * identifier. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. */ - getInstanceProcessDumpSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceProcessDumpSlot( + createOrUpdateDomainOwnershipIdentifier( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + domainOwnershipIdentifierName: string, + domainOwnershipIdentifier: Identifier, + options?: WebAppsCreateOrUpdateDomainOwnershipIdentifierOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, - processId, - slot, - instanceId, + domainOwnershipIdentifierName, + domainOwnershipIdentifier, options }, - getInstanceProcessDumpSlotOperationSpec, - callback - ) as Promise; + createOrUpdateDomainOwnershipIdentifierOperationSpec + ); } /** - * Description for List module information for a process by its ID for a specific scaled-out - * instance in a web site. - * @summary List module information for a process by its ID for a specific scaled-out instance in a - * web site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessModulesSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Deletes a domain ownership identifier for a web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param options The options parameters. */ - listInstanceProcessModulesSlot( + deleteDomainOwnershipIdentifier( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + domainOwnershipIdentifierName: string, + options?: WebAppsDeleteDomainOwnershipIdentifierOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, domainOwnershipIdentifierName, options }, + deleteDomainOwnershipIdentifierOperationSpec + ); + } + /** + * Description for Creates a domain ownership identifier for web app, or updates an existing ownership + * identifier. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. */ - listInstanceProcessModulesSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessModulesSlot( + updateDomainOwnershipIdentifier( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + domainOwnershipIdentifierName: string, + domainOwnershipIdentifier: Identifier, + options?: WebAppsUpdateDomainOwnershipIdentifierOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, - processId, - slot, - instanceId, + domainOwnershipIdentifierName, + domainOwnershipIdentifier, options }, - listInstanceProcessModulesSlotOperationSpec, - callback - ) as Promise; + updateDomainOwnershipIdentifierOperationSpec + ); } /** - * Description for Get process information by its ID for a specific scaled-out instance in a web - * site. - * @summary Get process information by its ID for a specific scaled-out instance in a web site. + * Description for Get the status of the last MSDeploy operation. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param options The options parameters. */ - getInstanceProcessModuleSlot( + getMSDeployStatus( resourceGroupName: string, name: string, - processId: string, - baseAddress: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetMSDeployStatusOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getMSDeployStatusOperationSpec + ); + } + /** + * Description for Invoke the MSDeploy web app extension. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback + * @param name Name of web app. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + async beginCreateMSDeployOperation( + resourceGroupName: string, + name: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateMSDeployOperationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateMSDeployOperationResponse + > + > { + 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, name, mSDeploy, options }, + createMSDeployOperationOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. */ - getInstanceProcessModuleSlot( + async beginCreateMSDeployOperationAndWait( resourceGroupName: string, name: string, - processId: string, - baseAddress: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + mSDeploy: MSDeploy, + options?: WebAppsCreateMSDeployOperationOptionalParams + ): Promise { + const poller = await this.beginCreateMSDeployOperation( + resourceGroupName, + name, + mSDeploy, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Get the MSDeploy Log for the last MSDeploy operation. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param options The options parameters. */ - getInstanceProcessModuleSlot( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getInstanceProcessModuleSlot( + getMSDeployLog( resourceGroupName: string, name: string, - processId: string, - baseAddress: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetMSDeployLogOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - baseAddress, - slot, - instanceId, - options - }, - getInstanceProcessModuleSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getMSDeployLogOperationSpec + ); } /** - * Description for List the threads in a process by its ID for a specific scaled-out instance in a - * web site. - * @summary List the threads in a process by its ID for a specific scaled-out instance in a web - * site. + * Description for List the functions for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listInstanceProcessThreadsSlot( + private _listFunctions( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListFunctionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listFunctionsOperationSpec + ); + } + /** + * Description for Fetch a short lived token that can be exchanged for a master key. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param callback The callback + * @param name Name of web app. + * @param options The options parameters. */ - listInstanceProcessThreadsSlot( + getFunctionsAdminToken( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetFunctionsAdminTokenOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getFunctionsAdminTokenOperationSpec + ); + } + /** + * Description for Get function information by its ID for web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param instanceId ID of a specific scaled-out instance. This is the value of the name property - * in the JSON response from "GET api/sites/{siteName}/instances". - * @param options The optional parameters - * @param callback The callback + * @param functionName Function name. + * @param options The options parameters. */ - listInstanceProcessThreadsSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - instanceId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessThreadsSlot( + getFunction( resourceGroupName: string, name: string, - processId: string, - slot: string, - instanceId: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + functionName: string, + options?: WebAppsGetFunctionOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - slot, - instanceId, - options - }, - listInstanceProcessThreadsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, functionName, options }, + getFunctionOperationSpec + ); } /** - * Description for Shows whether an app can be cloned to another resource group or subscription. - * @summary Shows whether an app can be cloned to another resource group or subscription. + * Description for Create function for web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. By default, this API returns information on the - * production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param functionName Function name. + * @param functionEnvelope Function details. + * @param options The options parameters. */ - isCloneableSlot( + async beginCreateFunction( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + functionName: string, + functionEnvelope: FunctionEnvelope, + options?: WebAppsCreateFunctionOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateFunctionResponse + > + > { + 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, name, functionName, functionEnvelope, options }, + createFunctionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Create function for web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. By default, this API returns information on the - * production slot. - * @param callback The callback + * @param name Site name. + * @param functionName Function name. + * @param functionEnvelope Function details. + * @param options The options parameters. */ - isCloneableSlot( + async beginCreateFunctionAndWait( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + functionName: string, + functionEnvelope: FunctionEnvelope, + options?: WebAppsCreateFunctionOptionalParams + ): Promise { + const poller = await this.beginCreateFunction( + resourceGroupName, + name, + functionName, + functionEnvelope, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Delete a function for web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. By default, this API returns information on the - * production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param functionName Function name. + * @param options The options parameters. */ - isCloneableSlot( + deleteFunction( resourceGroupName: string, name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - isCloneableSlot( + functionName: string, + options?: WebAppsDeleteFunctionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, options }, + deleteFunctionOperationSpec + ); + } + + /** + * Description for Add or update a function secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName The name of the function. + * @param keyName The name of the key. + * @param key The key to create or update + * @param options The options parameters. + */ + createOrUpdateFunctionSecret( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + functionName: string, + keyName: string, + key: KeyInfo, + options?: WebAppsCreateOrUpdateFunctionSecretOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - isCloneableSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, functionName, keyName, key, options }, + createOrUpdateFunctionSecretOperationSpec + ); } /** - * Description for Gets existing backups of an app. - * @summary Gets existing backups of an app. + * Description for Delete a function secret. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of - * the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param functionName The name of the function. + * @param keyName The name of the key. + * @param options The options parameters. */ - listSiteBackupsSlot( + deleteFunctionSecret( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + functionName: string, + keyName: string, + options?: WebAppsDeleteFunctionSecretOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, keyName, options }, + deleteFunctionSecretOperationSpec + ); + } + /** + * Description for Get function keys for a function in a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of - * the production slot. - * @param callback The callback + * @param name Site name. + * @param functionName Function name. + * @param options The options parameters. */ - listSiteBackupsSlot( + listFunctionKeys( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + functionName: string, + options?: WebAppsListFunctionKeysOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, options }, + listFunctionKeysOperationSpec + ); + } + /** + * Description for Get function secrets for a function in a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of - * the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param functionName Function name. + * @param options The options parameters. */ - listSiteBackupsSlot( + listFunctionSecrets( resourceGroupName: string, name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteBackupsSlot( + functionName: string, + options?: WebAppsListFunctionSecretsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, options }, + listFunctionSecretsOperationSpec + ); + } + + /** + * Description for Get host secrets for a function app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. + */ + listHostKeys( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListHostKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listSiteBackupsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listHostKeysOperationSpec + ); } /** * Description for This is to allow calling via powershell and ARM template. - * @summary This is to allow calling via powershell and ARM template. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listSyncFunctionTriggersSlot( + listSyncStatus( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListSyncStatusOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listSyncStatusOperationSpec + ); + } + /** + * Description for Syncs function trigger metadata to the management database * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param callback The callback + * @param options The options parameters. */ - listSyncFunctionTriggersSlot( + syncFunctions( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsSyncFunctionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + syncFunctionsOperationSpec + ); + } + /** + * Description for Add or update a host level secret. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param keyType The type of host key. + * @param keyName The name of the key. + * @param key The key to create or update + * @param options The options parameters. */ - listSyncFunctionTriggersSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSyncFunctionTriggersSlot( + createOrUpdateHostSecret( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + keyType: string, + keyName: string, + key: KeyInfo, + options?: WebAppsCreateOrUpdateHostSecretOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listSyncFunctionTriggersSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, keyType, keyName, key, options }, + createOrUpdateHostSecretOperationSpec + ); } /** - * Description for Returns the status of MySql in app migration, if one is active, and whether or - * not MySql in app is enabled - * @summary Returns the status of MySql in app migration, if one is active, and whether or not - * MySql in app is enabled + * Description for Delete a host level secret. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param keyType The type of host key. + * @param keyName The name of the key. + * @param options The options parameters. */ - getMigrateMySqlStatusSlot( + deleteHostSecret( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + keyType: string, + keyName: string, + options?: WebAppsDeleteHostSecretOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, keyType, keyName, options }, + deleteHostSecretOperationSpec + ); + } + /** + * Description for Get hostname bindings for an app or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of the deployment slot. - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - getMigrateMySqlStatusSlot( + private _listHostNameBindings( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListHostNameBindingsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listHostNameBindingsOperationSpec + ); + } + /** + * Description for Get the named hostname binding for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param hostName Hostname in the hostname binding. + * @param options The options parameters. */ - getMigrateMySqlStatusSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getMigrateMySqlStatusSlot( + getHostNameBinding( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getMigrateMySqlStatusSlotOperationSpec, - callback - ) as Promise; + hostName: string, + options?: WebAppsGetHostNameBindingOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, hostName, options }, + getHostNameBindingOperationSpec + ); } /** - * Description for Gets a Swift Virtual Network connection. - * @summary Gets a Swift Virtual Network connection. + * Description for Creates a hostname binding for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway - * for the production slot's Virtual Network. - * @param [options] The optional parameters - * @returns Promise + * @param hostName Hostname in the hostname binding. + * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding object. + * @param options The options parameters. */ - getSwiftVirtualNetworkConnectionSlot( + createOrUpdateHostNameBinding( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + hostName: string, + hostNameBinding: HostNameBinding, + options?: WebAppsCreateOrUpdateHostNameBindingOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, hostName, hostNameBinding, options }, + createOrUpdateHostNameBindingOperationSpec + ); + } + /** + * Description for Deletes a hostname binding for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway - * for the production slot's Virtual Network. - * @param callback The callback + * @param hostName Hostname in the hostname binding. + * @param options The options parameters. */ - getSwiftVirtualNetworkConnectionSlot( + deleteHostNameBinding( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + hostName: string, + options?: WebAppsDeleteHostNameBindingOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, hostName, options }, + deleteHostNameBindingOperationSpec + ); + } + /** + * Description for Retrieves a specific Service Bus Hybrid Connection used by this Web App. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway - * for the production slot's Virtual Network. - * @param options The optional parameters - * @param callback The callback + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param options The options parameters. */ - getSwiftVirtualNetworkConnectionSlot( + getHybridConnection( resourceGroupName: string, name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSwiftVirtualNetworkConnectionSlot( + namespaceName: string, + relayName: string, + options?: WebAppsGetHybridConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, namespaceName, relayName, options }, + getHybridConnectionOperationSpec + ); + } + + /** + * Description for Creates a new Hybrid Connection using a Service Bus relay. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param connectionEnvelope The details of the hybrid connection. + * @param options The options parameters. + */ + createOrUpdateHybridConnection( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + namespaceName: string, + relayName: string, + connectionEnvelope: HybridConnection, + options?: WebAppsCreateOrUpdateHybridConnectionOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, - slot, + namespaceName, + relayName, + connectionEnvelope, options }, - getSwiftVirtualNetworkConnectionSlotOperationSpec, - callback - ) as Promise; + createOrUpdateHybridConnectionOperationSpec + ); } /** - * Description for Deletes a Swift Virtual Network connection from an app (or deployment slot). - * @summary Deletes a Swift Virtual Network connection from an app (or deployment slot). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * connection for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - deleteSwiftVirtualNetworkSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Removes a Hybrid Connection from this site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * connection for the production slot. - * @param callback The callback + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param options The options parameters. */ - deleteSwiftVirtualNetworkSlot( + deleteHybridConnection( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + namespaceName: string, + relayName: string, + options?: WebAppsDeleteHybridConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, namespaceName, relayName, options }, + deleteHybridConnectionOperationSpec + ); + } + /** + * Description for Creates a new Hybrid Connection using a Service Bus relay. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * connection for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param connectionEnvelope The details of the hybrid connection. + * @param options The options parameters. */ - deleteSwiftVirtualNetworkSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteSwiftVirtualNetworkSlot( + updateHybridConnection( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + namespaceName: string, + relayName: string, + connectionEnvelope: HybridConnection, + options?: WebAppsUpdateHybridConnectionOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, - slot, + namespaceName, + relayName, + connectionEnvelope, options }, - deleteSwiftVirtualNetworkSlotOperationSpec, - callback + updateHybridConnectionOperationSpec ); } /** - * Description for Gets all network features used by the app (or deployment slot, if specified). - * @summary Gets all network features used by the app (or deployment slot, if specified). + * Description for Retrieves all Service Bus Hybrid Connections used by this Web App. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param view The type of view. Only "summary" is supported at this time. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get network - * features for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name The name of the web app. + * @param options The options parameters. */ - listNetworkFeaturesSlot( + listHybridConnections( resourceGroupName: string, name: string, - view: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListHybridConnectionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listHybridConnectionsOperationSpec + ); + } + /** + * Description for Gets hybrid connections configured for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param view The type of view. Only "summary" is supported at this time. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get network - * features for the production slot. - * @param callback The callback + * @param options The options parameters. */ - listNetworkFeaturesSlot( + listRelayServiceConnections( resourceGroupName: string, name: string, - view: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListRelayServiceConnectionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listRelayServiceConnectionsOperationSpec + ); + } + /** + * Description for Gets a hybrid connection configuration by its name. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param view The type of view. Only "summary" is supported at this time. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get network - * features for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param entityName Name of the hybrid connection. + * @param options The options parameters. */ - listNetworkFeaturesSlot( - resourceGroupName: string, - name: string, - view: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listNetworkFeaturesSlot( + getRelayServiceConnection( resourceGroupName: string, name: string, - view: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + entityName: string, + options?: WebAppsGetRelayServiceConnectionOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - view, - slot, - options - }, - listNetworkFeaturesSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, entityName, options }, + getRelayServiceConnectionOperationSpec + ); } /** - * Description for Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @summary Gets a named operation for a network trace capturing (or deployment slot, if - * specified). + * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one + * (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param entityName Name of the hybrid connection configuration. + * @param connectionEnvelope Details of the hybrid connection configuration. + * @param options The options parameters. */ - getNetworkTraceOperationSlot( + createOrUpdateRelayServiceConnection( resourceGroupName: string, name: string, - operationId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + entityName: string, + connectionEnvelope: RelayServiceConnectionEntity, + options?: WebAppsCreateOrUpdateRelayServiceConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, entityName, connectionEnvelope, options }, + createOrUpdateRelayServiceConnectionOperationSpec + ); + } + /** + * Description for Deletes a relay service connection by its name. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param callback The callback + * @param entityName Name of the hybrid connection configuration. + * @param options The options parameters. */ - getNetworkTraceOperationSlot( + deleteRelayServiceConnection( resourceGroupName: string, name: string, - operationId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + entityName: string, + options?: WebAppsDeleteRelayServiceConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, entityName, options }, + deleteRelayServiceConnectionOperationSpec + ); + } + /** + * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one + * (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param entityName Name of the hybrid connection configuration. + * @param connectionEnvelope Details of the hybrid connection configuration. + * @param options The options parameters. */ - getNetworkTraceOperationSlot( - resourceGroupName: string, - name: string, - operationId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getNetworkTraceOperationSlot( + updateRelayServiceConnection( resourceGroupName: string, name: string, - operationId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + entityName: string, + connectionEnvelope: RelayServiceConnectionEntity, + options?: WebAppsUpdateRelayServiceConnectionOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - operationId, - slot, - options - }, - getNetworkTraceOperationSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, entityName, connectionEnvelope, options }, + updateRelayServiceConnectionOperationSpec + ); } /** - * Description for Start capturing network packets for the site (To be deprecated). - * @summary Start capturing network packets for the site (To be deprecated). + * Description for Gets all scale-out instances of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - startWebSiteNetworkTraceSlot( + private _listInstanceIdentifiers( resourceGroupName: string, name: string, - slot: string, - options?: Models.WebAppsStartWebSiteNetworkTraceSlotOptionalParams - ): Promise; + options?: WebAppsListInstanceIdentifiersOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listInstanceIdentifiersOperationSpec + ); + } + /** + * Description for Gets all scale-out instances of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param callback The callback + * @param name Name of the app. + * @param instanceId + * @param options The options parameters. */ - startWebSiteNetworkTraceSlot( + getInstanceInfo( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + instanceId: string, + options?: WebAppsGetInstanceInfoOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, instanceId, options }, + getInstanceInfoOperationSpec + ); + } + /** + * Description for Get the status of the last MSDeploy operation. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param instanceId ID of web app instance. + * @param options The options parameters. */ - startWebSiteNetworkTraceSlot( + getInstanceMsDeployStatus( resourceGroupName: string, name: string, - slot: string, - options: Models.WebAppsStartWebSiteNetworkTraceSlotOptionalParams, - callback: msRest.ServiceCallback - ): void; - startWebSiteNetworkTraceSlot( + instanceId: string, + options?: WebAppsGetInstanceMsDeployStatusOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, instanceId, options }, + getInstanceMsDeployStatusOperationSpec + ); + } + + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param instanceId ID of web app instance. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + async beginCreateInstanceMSDeployOperation( resourceGroupName: string, name: string, - slot: string, - options?: - | Models.WebAppsStartWebSiteNetworkTraceSlotOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - startWebSiteNetworkTraceSlotOperationSpec, - callback - ) as Promise; + instanceId: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateInstanceMSDeployOperationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateInstanceMSDeployOperationResponse + > + > { + 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, name, instanceId, mSDeploy, options }, + createInstanceMSDeployOperationOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Start capturing network packets for the site. - * @summary Start capturing network packets for the site. + * Description for Invoke the MSDeploy web app extension. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param instanceId ID of web app instance. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. */ - startWebSiteNetworkTraceOperationSlot( + async beginCreateInstanceMSDeployOperationAndWait( resourceGroupName: string, name: string, - slot: string, - options?: Models.WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams - ): Promise { - return this.beginStartWebSiteNetworkTraceOperationSlot( + instanceId: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateInstanceMSDeployOperationOptionalParams + ): Promise { + const poller = await this.beginCreateInstanceMSDeployOperation( resourceGroupName, name, - slot, + instanceId, + mSDeploy, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsStartWebSiteNetworkTraceOperationSlotResponse - >; + ); + return poller.pollUntilDone(); } /** - * Description for Stop ongoing capturing network packets for the site. - * @summary Stop ongoing capturing network packets for the site. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param [options] The optional parameters - * @returns Promise - */ - stopWebSiteNetworkTraceSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Get the MSDeploy Log for the last MSDeploy operation. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param callback The callback + * @param name Name of web app. + * @param instanceId ID of web app instance. + * @param options The options parameters. */ - stopWebSiteNetworkTraceSlot( + getInstanceMSDeployLog( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + instanceId: string, + options?: WebAppsGetInstanceMSDeployLogOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, instanceId, options }, + getInstanceMSDeployLogOperationSpec + ); + } + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - stopWebSiteNetworkTraceSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - stopWebSiteNetworkTraceSlot( + private _listInstanceProcesses( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + instanceId: string, + options?: WebAppsListInstanceProcessesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - stopWebSiteNetworkTraceSlotOperationSpec, - callback + { resourceGroupName, name, instanceId, options }, + listInstanceProcessesOperationSpec ); } /** - * Description for Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @summary Gets a named operation for a network trace capturing (or deployment slot, if - * specified). + * Description for Get process information by its ID for a specific scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getNetworkTracesSlot( + getInstanceProcess( resourceGroupName: string, name: string, - operationId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + processId: string, + instanceId: string, + options?: WebAppsGetInstanceProcessOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, instanceId, options }, + getInstanceProcessOperationSpec + ); + } + /** + * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getNetworkTracesSlot( + deleteInstanceProcess( resourceGroupName: string, name: string, - operationId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + processId: string, + instanceId: string, + options?: WebAppsDeleteInstanceProcessOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, instanceId, options }, + deleteInstanceProcessOperationSpec + ); + } + /** + * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getNetworkTracesSlot( - resourceGroupName: string, - name: string, - operationId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getNetworkTracesSlot( + getInstanceProcessDump( resourceGroupName: string, name: string, - operationId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + processId: string, + instanceId: string, + options?: WebAppsGetInstanceProcessDumpOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - operationId, - slot, - options - }, - getNetworkTracesSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, instanceId, options }, + getInstanceProcessDumpOperationSpec + ); } /** - * Description for Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @summary Gets a named operation for a network trace capturing (or deployment slot, if - * specified). + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getNetworkTraceOperationSlotV2( + private _listInstanceProcessModules( resourceGroupName: string, name: string, - operationId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessModulesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, instanceId, options }, + listInstanceProcessModulesOperationSpec + ); + } + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param baseAddress Module base address. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getNetworkTraceOperationSlotV2( + getInstanceProcessModule( resourceGroupName: string, name: string, - operationId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + processId: string, + baseAddress: string, + instanceId: string, + options?: WebAppsGetInstanceProcessModuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, baseAddress, instanceId, options }, + getInstanceProcessModuleOperationSpec + ); + } + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getNetworkTraceOperationSlotV2( - resourceGroupName: string, - name: string, - operationId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getNetworkTraceOperationSlotV2( + private _listInstanceProcessThreads( resourceGroupName: string, name: string, - operationId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessThreadsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - operationId, - slot, - options - }, - getNetworkTraceOperationSlotV2OperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, instanceId, options }, + listInstanceProcessThreadsOperationSpec + ); } /** - * Description for Gets a named operation for a network trace capturing (or deployment slot, if - * specified). - * @summary Gets a named operation for a network trace capturing (or deployment slot, if - * specified). + * Description for Shows whether an app can be cloned to another resource group or subscription. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getNetworkTracesSlotV2( + isCloneable( resourceGroupName: string, name: string, - operationId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsIsCloneableOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + isCloneableOperationSpec + ); + } + /** + * Description for Gets existing backups of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param callback The callback + * @param options The options parameters. */ - getNetworkTracesSlotV2( + private _listSiteBackups( resourceGroupName: string, name: string, - operationId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSiteBackupsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listSiteBackupsOperationSpec + ); + } + /** + * Description for This is to allow calling via powershell and ARM template. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param operationId GUID of the operation. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get an - * operation for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getNetworkTracesSlotV2( - resourceGroupName: string, - name: string, - operationId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getNetworkTracesSlotV2( + listSyncFunctionTriggers( resourceGroupName: string, name: string, - operationId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListSyncFunctionTriggersOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - operationId, - slot, - options - }, - getNetworkTracesSlotV2OperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listSyncFunctionTriggersOperationSpec + ); } /** - * Description for Generates a new publishing password for an app (or deployment slot, if - * specified). - * @summary Generates a new publishing password for an app (or deployment slot, if specified). + * Description for Restores a web app. + * @param subscriptionName Azure subscription. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API generate a new - * publishing password for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param migrationOptions Migration migrationOptions. + * @param options The options parameters. */ - generateNewSitePublishingPasswordSlot( + async beginMigrateStorage( + subscriptionName: string, resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + migrationOptions: StorageMigrationOptions, + options?: WebAppsMigrateStorageOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsMigrateStorageResponse + > + > { + 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, + { subscriptionName, resourceGroupName, name, migrationOptions, options }, + migrateStorageOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Restores a web app. + * @param subscriptionName Azure subscription. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API generate a new - * publishing password for the production slot. - * @param callback The callback + * @param name Name of web app. + * @param migrationOptions Migration migrationOptions. + * @param options The options parameters. */ - generateNewSitePublishingPasswordSlot( + async beginMigrateStorageAndWait( + subscriptionName: string, resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + migrationOptions: StorageMigrationOptions, + options?: WebAppsMigrateStorageOptionalParams + ): Promise { + const poller = await this.beginMigrateStorage( + subscriptionName, + resourceGroupName, + name, + migrationOptions, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API generate a new - * publishing password for the production slot. - * @param options The optional parameters - * @param callback The callback - */ - generateNewSitePublishingPasswordSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - generateNewSitePublishingPasswordSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - generateNewSitePublishingPasswordSlotOperationSpec, - callback + * Description for Migrates a local (in-app) MySql database to a remote MySql database. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param migrationRequestEnvelope MySql migration options. + * @param options The options parameters. + */ + async beginMigrateMySql( + resourceGroupName: string, + name: string, + migrationRequestEnvelope: MigrateMySqlRequest, + options?: WebAppsMigrateMySqlOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsMigrateMySqlResponse + > + > { + 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, name, migrationRequestEnvelope, options }, + migrateMySqlOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Gets perfmon counters for web app. - * @summary Gets perfmon counters for web app. + * Description for Migrates a local (in-app) MySql database to a remote MySql database. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param migrationRequestEnvelope MySql migration options. + * @param options The options parameters. */ - listPerfMonCountersSlot( + async beginMigrateMySqlAndWait( resourceGroupName: string, name: string, - slot: string, - options?: Models.WebAppsListPerfMonCountersSlotOptionalParams - ): Promise; + migrationRequestEnvelope: MigrateMySqlRequest, + options?: WebAppsMigrateMySqlOptionalParams + ): Promise { + const poller = await this.beginMigrateMySql( + resourceGroupName, + name, + migrationRequestEnvelope, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Returns the status of MySql in app migration, if one is active, and whether or not + * MySql in app is enabled * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback + * @param options The options parameters. */ - listPerfMonCountersSlot( + getMigrateMySqlStatus( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetMigrateMySqlStatusOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getMigrateMySqlStatusOperationSpec + ); + } + /** + * Description for Gets a Swift Virtual Network connection. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - listPerfMonCountersSlot( - resourceGroupName: string, - name: string, - slot: string, - options: Models.WebAppsListPerfMonCountersSlotOptionalParams, - callback: msRest.ServiceCallback - ): void; - listPerfMonCountersSlot( + getSwiftVirtualNetworkConnection( resourceGroupName: string, name: string, - slot: string, - options?: - | Models.WebAppsListPerfMonCountersSlotOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetSwiftVirtualNetworkConnectionOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listPerfMonCountersSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getSwiftVirtualNetworkConnectionOperationSpec + ); } /** - * Description for Gets web app's event logs. - * @summary Gets web app's event logs. + * Description for Integrates this Web App with a Virtual Network. This requires that 1) + * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has + * already been delegated, and is not + * in use by another App Service Plan other than the one this App is in. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. */ - getSitePhpErrorLogFlagSlot( + createOrUpdateSwiftVirtualNetworkConnectionWithCheck( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + connectionEnvelope: SwiftVirtualNetwork, + options?: WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams + ): Promise< + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, name, connectionEnvelope, options }, + createOrUpdateSwiftVirtualNetworkConnectionWithCheckOperationSpec + ); + } + /** + * Description for Deletes a Swift Virtual Network connection from an app (or deployment slot). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - getSitePhpErrorLogFlagSlot( + deleteSwiftVirtualNetwork( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsDeleteSwiftVirtualNetworkOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + deleteSwiftVirtualNetworkOperationSpec + ); + } + /** + * Description for Integrates this Web App with a Virtual Network. This requires that 1) + * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has + * already been delegated, and is not + * in use by another App Service Plan other than the one this App is in. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. */ - getSitePhpErrorLogFlagSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSitePhpErrorLogFlagSlot( + updateSwiftVirtualNetworkConnectionWithCheck( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + connectionEnvelope: SwiftVirtualNetwork, + options?: WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getSitePhpErrorLogFlagSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, connectionEnvelope, options }, + updateSwiftVirtualNetworkConnectionWithCheckOperationSpec + ); } /** - * Description for Gets the premier add-ons of an app. - * @summary Gets the premier add-ons of an app. + * Description for Gets all network features used by the app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * premier add-ons for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param view The type of view. Only "summary" is supported at this time. + * @param options The options parameters. */ - listPremierAddOnsSlot( + listNetworkFeatures( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + view: string, + options?: WebAppsListNetworkFeaturesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, view, options }, + listNetworkFeaturesOperationSpec + ); + } + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * premier add-ons for the production slot. - * @param callback The callback + * @param operationId GUID of the operation. + * @param options The options parameters. */ - listPremierAddOnsSlot( + getNetworkTraceOperation( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + operationId: string, + options?: WebAppsGetNetworkTraceOperationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, operationId, options }, + getNetworkTraceOperationOperationSpec + ); + } + /** + * Description for Start capturing network packets for the site (To be deprecated). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * premier add-ons for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name The name of the web app. + * @param options The options parameters. */ - listPremierAddOnsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPremierAddOnsSlot( + startWebSiteNetworkTrace( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsStartWebSiteNetworkTraceOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listPremierAddOnsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + startWebSiteNetworkTraceOperationSpec + ); } /** - * Description for Gets a named add-on of an app. - * @summary Gets a named add-on of an app. + * Description for Start capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named - * add-on for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name The name of the web app. + * @param options The options parameters. + */ + async beginStartWebSiteNetworkTraceOperation( + resourceGroupName: string, + name: string, + options?: WebAppsStartWebSiteNetworkTraceOperationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsStartWebSiteNetworkTraceOperationResponse + > + > { + 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, name, options }, + startWebSiteNetworkTraceOperationOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. */ - getPremierAddOnSlot( + async beginStartWebSiteNetworkTraceOperationAndWait( resourceGroupName: string, name: string, - premierAddOnName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsStartWebSiteNetworkTraceOperationOptionalParams + ): Promise { + const poller = await this.beginStartWebSiteNetworkTraceOperation( + resourceGroupName, + name, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Stop ongoing capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named - * add-on for the production slot. - * @param callback The callback + * @param name The name of the web app. + * @param options The options parameters. */ - getPremierAddOnSlot( + stopWebSiteNetworkTrace( resourceGroupName: string, name: string, - premierAddOnName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsStopWebSiteNetworkTraceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + stopWebSiteNetworkTraceOperationSpec + ); + } + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named - * add-on for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param operationId GUID of the operation. + * @param options The options parameters. */ - getPremierAddOnSlot( - resourceGroupName: string, - name: string, - premierAddOnName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPremierAddOnSlot( + getNetworkTraces( resourceGroupName: string, name: string, - premierAddOnName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + operationId: string, + options?: WebAppsGetNetworkTracesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - premierAddOnName, - slot, - options - }, - getPremierAddOnSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, operationId, options }, + getNetworkTracesOperationSpec + ); } /** - * Description for Updates a named add-on of an app. - * @summary Updates a named add-on of an app. + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * named add-on for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param operationId GUID of the operation. + * @param options The options parameters. */ - addPremierAddOnSlot( + getNetworkTraceOperationV2( resourceGroupName: string, name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOn, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + operationId: string, + options?: WebAppsGetNetworkTraceOperationV2OptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, operationId, options }, + getNetworkTraceOperationV2OperationSpec + ); + } + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * named add-on for the production slot. - * @param callback The callback + * @param operationId GUID of the operation. + * @param options The options parameters. */ - addPremierAddOnSlot( + getNetworkTracesV2( resourceGroupName: string, name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOn, - slot: string, - callback: msRest.ServiceCallback - ): void; + operationId: string, + options?: WebAppsGetNetworkTracesV2OptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, operationId, options }, + getNetworkTracesV2OperationSpec + ); + } + /** + * Description for Generates a new publishing password for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * named add-on for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - addPremierAddOnSlot( + generateNewSitePublishingPassword( resourceGroupName: string, name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOn, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - addPremierAddOnSlot( + options?: WebAppsGenerateNewSitePublishingPasswordOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + generateNewSitePublishingPasswordOperationSpec + ); + } + + /** + * Description for Gets perfmon counters for web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + private _listPerfMonCounters( resourceGroupName: string, name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOn, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListPerfMonCountersOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - premierAddOnName, - premierAddOn, - slot, - options - }, - addPremierAddOnSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listPerfMonCountersOperationSpec + ); } /** - * Description for Delete a premier add-on from an app. - * @summary Delete a premier add-on from an app. + * Description for Gets web app's event logs. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * named add-on for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param options The options parameters. */ - deletePremierAddOnSlot( + getSitePhpErrorLogFlag( resourceGroupName: string, name: string, - premierAddOnName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetSitePhpErrorLogFlagOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getSitePhpErrorLogFlagOperationSpec + ); + } + /** + * Description for Gets the premier add-ons of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param premierAddOnName Add-on name. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * named add-on for the production slot. - * @param callback The callback + * @param options The options parameters. */ - deletePremierAddOnSlot( + listPremierAddOns( resourceGroupName: string, name: string, - premierAddOnName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListPremierAddOnsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listPremierAddOnsOperationSpec + ); + } + /** + * Description for Gets a named add-on of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. * @param premierAddOnName Add-on name. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * named add-on for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deletePremierAddOnSlot( - resourceGroupName: string, - name: string, - premierAddOnName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deletePremierAddOnSlot( + getPremierAddOn( resourceGroupName: string, name: string, premierAddOnName: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetPremierAddOnOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - premierAddOnName, - slot, - options - }, - deletePremierAddOnSlotOperationSpec, - callback + { resourceGroupName, name, premierAddOnName, options }, + getPremierAddOnOperationSpec ); } /** * Description for Updates a named add-on of an app. - * @summary Updates a named add-on of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. * @param premierAddOnName Add-on name. * @param premierAddOn A JSON representation of the edited premier add-on. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * named add-on for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - updatePremierAddOnSlot( + addPremierAddOn( resourceGroupName: string, name: string, premierAddOnName: string, - premierAddOn: Models.PremierAddOnPatchResource, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + premierAddOn: PremierAddOn, + options?: WebAppsAddPremierAddOnOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, premierAddOnName, premierAddOn, options }, + addPremierAddOnOperationSpec + ); + } + /** + * Description for Delete a premier add-on from an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. * @param premierAddOnName Add-on name. - * @param premierAddOn A JSON representation of the edited premier add-on. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * named add-on for the production slot. - * @param callback The callback + * @param options The options parameters. */ - updatePremierAddOnSlot( + deletePremierAddOn( resourceGroupName: string, name: string, premierAddOnName: string, - premierAddOn: Models.PremierAddOnPatchResource, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsDeletePremierAddOnOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, premierAddOnName, options }, + deletePremierAddOnOperationSpec + ); + } + /** + * Description for Updates a named add-on of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. * @param premierAddOnName Add-on name. * @param premierAddOn A JSON representation of the edited premier add-on. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * named add-on for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - updatePremierAddOnSlot( - resourceGroupName: string, - name: string, - premierAddOnName: string, - premierAddOn: Models.PremierAddOnPatchResource, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updatePremierAddOnSlot( + updatePremierAddOn( resourceGroupName: string, name: string, premierAddOnName: string, - premierAddOn: Models.PremierAddOnPatchResource, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + premierAddOn: PremierAddOnPatchResource, + options?: WebAppsUpdatePremierAddOnOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - premierAddOnName, - premierAddOn, - slot, - options - }, - updatePremierAddOnSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, premierAddOnName, premierAddOn, options }, + updatePremierAddOnOperationSpec + ); } /** - * Description for Gets data around private site access enablement and authorized Virtual Networks - * that can access the site. - * @summary Gets data around private site access enablement and authorized Virtual Networks that + * Description for Gets data around private site access enablement and authorized Virtual Networks that * can access the site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name The name of the web app. - * @param slot The name of the slot for the web app. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateAccessSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for the web app. - * @param callback The callback - */ - getPrivateAccessSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for the web app. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getPrivateAccessSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateAccessSlot( + getPrivateAccess( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetPrivateAccessOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getPrivateAccessSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getPrivateAccessOperationSpec + ); } /** - * Description for Sets data around private site access enablement and authorized Virtual Networks - * that can access the site. - * @summary Sets data around private site access enablement and authorized Virtual Networks that + * Description for Sets data around private site access enablement and authorized Virtual Networks that * can access the site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name The name of the web app. * @param access The information for the private access - * @param slot The name of the slot for the web app. - * @param [options] The optional parameters - * @returns Promise - */ - putPrivateAccessVnetSlot( - resourceGroupName: string, - name: string, - access: Models.PrivateAccess, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param access The information for the private access - * @param slot The name of the slot for the web app. - * @param callback The callback - */ - putPrivateAccessVnetSlot( - resourceGroupName: string, - name: string, - access: Models.PrivateAccess, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param access The information for the private access - * @param slot The name of the slot for the web app. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - putPrivateAccessVnetSlot( - resourceGroupName: string, - name: string, - access: Models.PrivateAccess, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - putPrivateAccessVnetSlot( + putPrivateAccessVnet( resourceGroupName: string, name: string, - access: Models.PrivateAccess, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + access: PrivateAccess, + options?: WebAppsPutPrivateAccessVnetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - access, - slot, - options - }, - putPrivateAccessVnetSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, access, options }, + putPrivateAccessVnetOperationSpec + ); } /** * Description for Gets the list of private endpoint connections associated with a site - * @summary Gets the list of private endpoint connections associated with a site - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param slot Name of the site deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnectionListSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param slot Name of the site deployment slot. - * @param callback The callback - */ - getPrivateEndpointConnectionListSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the site. - * @param slot Name of the site deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getPrivateEndpointConnectionListSlot( + private _getPrivateEndpointConnectionList( resourceGroupName: string, name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionListSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetPrivateEndpointConnectionListOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getPrivateEndpointConnectionListSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + getPrivateEndpointConnectionListOperationSpec + ); } /** * Description for Gets a private endpoint connection - * @summary Gets a private endpoint connection - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param slot Name of the site deployment slot. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnectionSlot( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the site. * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param slot Name of the site deployment slot. - * @param callback The callback + * @param options The options parameters. */ - getPrivateEndpointConnectionSlot( + getPrivateEndpointConnection( resourceGroupName: string, name: string, privateEndpointConnectionName: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetPrivateEndpointConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, privateEndpointConnectionName, options }, + getPrivateEndpointConnectionOperationSpec + ); + } + /** + * Description for Approves or rejects a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the site. - * @param privateEndpointConnectionName Name of the private endpoint connection. - * @param slot Name of the site deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param privateEndpointConnectionName + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. */ - getPrivateEndpointConnectionSlot( - resourceGroupName: string, - name: string, - privateEndpointConnectionName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionSlot( + async beginApproveOrRejectPrivateEndpointConnection( resourceGroupName: string, name: string, privateEndpointConnectionName: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + WebAppsApproveOrRejectPrivateEndpointConnectionResponse + >, + WebAppsApproveOrRejectPrivateEndpointConnectionResponse + > + > { + 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, name, privateEndpointConnectionName, - slot, + privateEndpointWrapper, options }, - getPrivateEndpointConnectionSlotOperationSpec, - callback - ) as Promise; + approveOrRejectPrivateEndpointConnectionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Description for Approves or rejects a private endpoint connection - * @summary Approves or rejects a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the site. * @param privateEndpointConnectionName - * @param privateEndpointWrapper - * @param slot - * @param [options] The optional parameters - * @returns Promise + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. */ - approveOrRejectPrivateEndpointConnectionSlot( + async beginApproveOrRejectPrivateEndpointConnectionAndWait( resourceGroupName: string, name: string, privateEndpointConnectionName: string, - privateEndpointWrapper: Models.PrivateLinkConnectionApprovalRequestResource, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginApproveOrRejectPrivateEndpointConnectionSlot( + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise { + const poller = await this.beginApproveOrRejectPrivateEndpointConnection( resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, - slot, options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse - >; + ); + return poller.pollUntilDone(); } /** * Description for Deletes a private endpoint connection - * @summary Deletes a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the site. * @param privateEndpointConnectionName - * @param slot - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deletePrivateEndpointConnectionSlot( + async beginDeletePrivateEndpointConnection( resourceGroupName: string, name: string, privateEndpointConnectionName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginDeletePrivateEndpointConnectionSlot( - resourceGroupName, - name, - privateEndpointConnectionName, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsDeletePrivateEndpointConnectionSlotResponse - >; - } - - /** - * Description for Gets the private link resources - * @summary Gets the private link resources - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param slot - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateLinkResourcesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param slot - * @param callback The callback - */ - getPrivateLinkResourcesSlot( - resourceGroupName: string, - name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param slot - * @param options The optional parameters - * @param callback The callback - */ - getPrivateLinkResourcesSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateLinkResourcesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getPrivateLinkResourcesSlotOperationSpec, - callback - ) as Promise; + options?: WebAppsDeletePrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsDeletePrivateEndpointConnectionResponse + > + > { + 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, name, privateEndpointConnectionName, options }, + deletePrivateEndpointConnectionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @summary Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. + * Description for Deletes a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param options The options parameters. */ - listProcessesSlot( + async beginDeletePrivateEndpointConnectionAndWait( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + privateEndpointConnectionName: string, + options?: WebAppsDeletePrivateEndpointConnectionOptionalParams + ): Promise { + const poller = await this.beginDeletePrivateEndpointConnection( + resourceGroupName, + name, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Gets the private link resources * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param name Name of the site. + * @param options The options parameters. */ - listProcessesSlot( + getPrivateLinkResources( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetPrivateLinkResourcesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getPrivateLinkResourcesOperationSpec + ); + } + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listProcessesSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessesSlot( + private _listProcesses( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListProcessesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listProcessesSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listProcessesOperationSpec + ); } /** - * Description for Get process information by its ID for a specific scaled-out instance in a web - * site. - * @summary Get process information by its ID for a specific scaled-out instance in a web site. + * Description for Get process information by its ID for a specific scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getProcessSlot( + getProcess( resourceGroupName: string, name: string, processId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetProcessOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, options }, + getProcessOperationSpec + ); + } + /** + * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param options The options parameters. */ - getProcessSlot( + deleteProcess( resourceGroupName: string, name: string, processId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsDeleteProcessOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, options }, + deleteProcessOperationSpec + ); + } + /** + * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getProcessSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getProcessSlot( + getProcessDump( resourceGroupName: string, name: string, processId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetProcessDumpOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - slot, - options - }, - getProcessSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, options }, + getProcessDumpOperationSpec + ); } /** - * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific - * scaled-out instance in a web site. - * @summary Terminate a process by its ID for a web site, or a deployment slot, or specific - * scaled-out instance in a web site. + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteProcessSlot( + private _listProcessModules( resourceGroupName: string, name: string, processId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListProcessModulesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, options }, + listProcessModulesOperationSpec + ); + } + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param baseAddress Module base address. + * @param options The options parameters. */ - deleteProcessSlot( + getProcessModule( resourceGroupName: string, name: string, processId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + baseAddress: string, + options?: WebAppsGetProcessModuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, baseAddress, options }, + getProcessModuleOperationSpec + ); + } + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteProcessSlot( + private _listProcessThreads( resourceGroupName: string, name: string, processId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteProcessSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListProcessThreadsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - slot, - options - }, - deleteProcessSlotOperationSpec, - callback + { resourceGroupName, name, processId, options }, + listProcessThreadsOperationSpec ); } /** - * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a - * web site. - * @summary Get a memory dump of a process by its ID for a specific scaled-out instance in a web - * site. + * Description for Get public certificates for an app or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - getProcessDumpSlot( + private _listPublicCertificates( resourceGroupName: string, name: string, - processId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListPublicCertificatesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listPublicCertificatesOperationSpec + ); + } + /** + * Description for Get the named public certificate for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param name Name of the app. + * @param publicCertificateName Public certificate name. + * @param options The options parameters. */ - getProcessDumpSlot( + getPublicCertificate( resourceGroupName: string, name: string, - processId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + publicCertificateName: string, + options?: WebAppsGetPublicCertificateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, publicCertificateName, options }, + getPublicCertificateOperationSpec + ); + } + /** + * Description for Creates a hostname binding for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param publicCertificateName Public certificate name. + * @param publicCertificate Public certificate details. This is the JSON representation of a + * PublicCertificate object. + * @param options The options parameters. */ - getProcessDumpSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getProcessDumpSlot( + createOrUpdatePublicCertificate( resourceGroupName: string, name: string, - processId: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + publicCertificateName: string, + publicCertificate: PublicCertificate, + options?: WebAppsCreateOrUpdatePublicCertificateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, - processId, - slot, + publicCertificateName, + publicCertificate, options }, - getProcessDumpSlotOperationSpec, - callback - ) as Promise; + createOrUpdatePublicCertificateOperationSpec + ); } /** - * Description for List module information for a process by its ID for a specific scaled-out - * instance in a web site. - * @summary List module information for a process by its ID for a specific scaled-out instance in a - * web site. + * Description for Deletes a hostname binding for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param publicCertificateName Public certificate name. + * @param options The options parameters. */ - listProcessModulesSlot( + deletePublicCertificate( resourceGroupName: string, name: string, - processId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + publicCertificateName: string, + options?: WebAppsDeletePublicCertificateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, publicCertificateName, options }, + deletePublicCertificateOperationSpec + ); + } + /** + * Description for Gets the publishing profile for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param name Name of the app. + * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For + * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. + * @param options The options parameters. */ - listProcessModulesSlot( + listPublishingProfileXmlWithSecrets( resourceGroupName: string, name: string, - processId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + publishingProfileOptions: CsmPublishingProfileOptions, + options?: WebAppsListPublishingProfileXmlWithSecretsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, publishingProfileOptions, options }, + listPublishingProfileXmlWithSecretsOperationSpec + ); + } + /** + * Description for Resets the configuration settings of the current slot if they were previously + * modified by calling the API with POST. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param options The options parameters. */ - listProcessModulesSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessModulesSlot( + resetProductionSlotConfig( resourceGroupName: string, name: string, - processId: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsResetProductionSlotConfigOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - slot, - options - }, - listProcessModulesSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + resetProductionSlotConfigOperationSpec + ); } /** - * Description for Get process information by its ID for a specific scaled-out instance in a web - * site. - * @summary Get process information by its ID for a specific scaled-out instance in a web site. + * Description for Restarts an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - getProcessModuleSlot( + restart( resourceGroupName: string, name: string, - processId: string, - baseAddress: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsRestartOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + restartOperationSpec + ); + } + /** + * Description for Restores an app from a backup blob in Azure Storage. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param name Name of the app. + * @param request Information on restore request . + * @param options The options parameters. + */ + async beginRestoreFromBackupBlob( + resourceGroupName: string, + name: string, + request: RestoreRequest, + options?: WebAppsRestoreFromBackupBlobOptionalParams + ): 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, name, request, options }, + restoreFromBackupBlobOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Restores an app from a backup blob in Azure Storage. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param request Information on restore request . + * @param options The options parameters. */ - getProcessModuleSlot( + async beginRestoreFromBackupBlobAndWait( resourceGroupName: string, name: string, - processId: string, - baseAddress: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + request: RestoreRequest, + options?: WebAppsRestoreFromBackupBlobOptionalParams + ): Promise { + const poller = await this.beginRestoreFromBackupBlob( + resourceGroupName, + name, + request, + options + ); + return poller.pollUntilDone(); + } + + /** + * Description for Restores a deleted web app to this web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param restoreRequest Deleted web app restore information. + * @param options The options parameters. + */ + async beginRestoreFromDeletedApp( + resourceGroupName: string, + name: string, + restoreRequest: DeletedAppRestoreRequest, + options?: WebAppsRestoreFromDeletedAppOptionalParams + ): 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, name, restoreRequest, options }, + restoreFromDeletedAppOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Restores a deleted web app to this web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param baseAddress Module base address. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param restoreRequest Deleted web app restore information. + * @param options The options parameters. */ - getProcessModuleSlot( - resourceGroupName: string, - name: string, - processId: string, - baseAddress: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getProcessModuleSlot( + async beginRestoreFromDeletedAppAndWait( resourceGroupName: string, name: string, - processId: string, - baseAddress: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - baseAddress, - slot, - options - }, - getProcessModuleSlotOperationSpec, - callback - ) as Promise; + restoreRequest: DeletedAppRestoreRequest, + options?: WebAppsRestoreFromDeletedAppOptionalParams + ): Promise { + const poller = await this.beginRestoreFromDeletedApp( + resourceGroupName, + name, + restoreRequest, + options + ); + return poller.pollUntilDone(); } /** - * Description for List the threads in a process by its ID for a specific scaled-out instance in a - * web site. - * @summary List the threads in a process by its ID for a specific scaled-out instance in a web - * site. + * Description for Restores a web app from a snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessThreadsSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + * @param name Name of web app. + * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling + * GetDeletedSites or GetSiteSnapshots API. + * @param options The options parameters. + */ + async beginRestoreSnapshot( + resourceGroupName: string, + name: string, + restoreRequest: SnapshotRestoreRequest, + options?: WebAppsRestoreSnapshotOptionalParams + ): 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, name, restoreRequest, options }, + restoreSnapshotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Restores a web app from a snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param name Name of web app. + * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling + * GetDeletedSites or GetSiteSnapshots API. + * @param options The options parameters. */ - listProcessThreadsSlot( + async beginRestoreSnapshotAndWait( resourceGroupName: string, name: string, - processId: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + restoreRequest: SnapshotRestoreRequest, + options?: WebAppsRestoreSnapshotOptionalParams + ): Promise { + const poller = await this.beginRestoreSnapshot( + resourceGroupName, + name, + restoreRequest, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Get list of siteextensions for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param processId PID. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listProcessThreadsSlot( - resourceGroupName: string, - name: string, - processId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessThreadsSlot( + private _listSiteExtensions( resourceGroupName: string, name: string, - processId: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListSiteExtensionsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - processId, - slot, - options - }, - listProcessThreadsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listSiteExtensionsOperationSpec + ); } /** - * Description for Get public certificates for an app or a deployment slot. - * @summary Get public certificates for an app or a deployment slot. + * Description for Get site extension information by its ID for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname - * bindings for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param options The options parameters. */ - listPublicCertificatesSlot( + getSiteExtension( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + siteExtensionId: string, + options?: WebAppsGetSiteExtensionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, siteExtensionId, options }, + getSiteExtensionOperationSpec + ); + } + /** + * Description for Install site extension on a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname - * bindings for the production slot. - * @param callback The callback + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param options The options parameters. */ - listPublicCertificatesSlot( + async beginInstallSiteExtension( resourceGroupName: string, name: string, - slot: string, - callback: msRest.ServiceCallback - ): void; + siteExtensionId: string, + options?: WebAppsInstallSiteExtensionOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsInstallSiteExtensionResponse + > + > { + 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, name, siteExtensionId, options }, + installSiteExtensionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Install site extension on a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname - * bindings for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param options The options parameters. */ - listPublicCertificatesSlot( + async beginInstallSiteExtensionAndWait( resourceGroupName: string, name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPublicCertificatesSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listPublicCertificatesSlotOperationSpec, - callback - ) as Promise; + siteExtensionId: string, + options?: WebAppsInstallSiteExtensionOptionalParams + ): Promise { + const poller = await this.beginInstallSiteExtension( + resourceGroupName, + name, + siteExtensionId, + options + ); + return poller.pollUntilDone(); } /** - * Description for Get the named public certificate for an app (or deployment slot, if specified). - * @summary Get the named public certificate for an app (or deployment slot, if specified). + * Description for Remove a site extension from a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding - * for the production slot. - * @param publicCertificateName Public certificate name. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param options The options parameters. */ - getPublicCertificateSlot( + deleteSiteExtension( resourceGroupName: string, name: string, - slot: string, - publicCertificateName: string, - options?: msRest.RequestOptionsBase - ): Promise; + siteExtensionId: string, + options?: WebAppsDeleteSiteExtensionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, siteExtensionId, options }, + deleteSiteExtensionOperationSpec + ); + } + /** + * Description for Gets an app's deployment slots. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding - * for the production slot. - * @param publicCertificateName Public certificate name. - * @param callback The callback + * @param options The options parameters. */ - getPublicCertificateSlot( + private _listSlots( resourceGroupName: string, name: string, - slot: string, - publicCertificateName: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListSlotsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listSlotsOperationSpec + ); + } + /** + * Description for Gets the details of a web, mobile, or API app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding - * for the production slot. - * @param publicCertificateName Public certificate name. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. By default, this API returns the production slot. + * @param options The options parameters. */ - getPublicCertificateSlot( - resourceGroupName: string, - name: string, - slot: string, - publicCertificateName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPublicCertificateSlot( + getSlot( resourceGroupName: string, name: string, slot: string, - publicCertificateName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - publicCertificateName, - options - }, - getPublicCertificateSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + getSlotOperationSpec + ); } /** - * Description for Creates a hostname binding for an app. - * @summary Creates a hostname binding for an app. + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param publicCertificate Public certificate details. This is the JSON representation of a - * PublicCertificate object. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * binding for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdatePublicCertificateSlot( - resourceGroupName: string, - name: string, - publicCertificateName: string, - publicCertificate: Models.PublicCertificate, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param slot Name of the deployment slot to create or update. By default, this API attempts to create + * or modify the production slot. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. + */ + async beginCreateOrUpdateSlot( + resourceGroupName: string, + name: string, + slot: string, + siteEnvelope: Site, + options?: WebAppsCreateOrUpdateSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateOrUpdateSlotResponse + > + > { + 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, name, slot, siteEnvelope, options }, + createOrUpdateSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param publicCertificate Public certificate details. This is the JSON representation of a - * PublicCertificate object. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * binding for the production slot. - * @param callback The callback + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param slot Name of the deployment slot to create or update. By default, this API attempts to create + * or modify the production slot. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. */ - createOrUpdatePublicCertificateSlot( + async beginCreateOrUpdateSlotAndWait( resourceGroupName: string, name: string, - publicCertificateName: string, - publicCertificate: Models.PublicCertificate, slot: string, - callback: msRest.ServiceCallback - ): void; + siteEnvelope: Site, + options?: WebAppsCreateOrUpdateSlotOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateSlot( + resourceGroupName, + name, + slot, + siteEnvelope, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Deletes a web, mobile, or API app, or one of the deployment slots. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param publicCertificateName Public certificate name. - * @param publicCertificate Public certificate details. This is the JSON representation of a - * PublicCertificate object. - * @param slot Name of the deployment slot. If a slot is not specified, the API will create a - * binding for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app to delete. + * @param slot Name of the deployment slot to delete. By default, the API deletes the production slot. + * @param options The options parameters. */ - createOrUpdatePublicCertificateSlot( - resourceGroupName: string, - name: string, - publicCertificateName: string, - publicCertificate: Models.PublicCertificate, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdatePublicCertificateSlot( + deleteSlot( resourceGroupName: string, name: string, - publicCertificateName: string, - publicCertificate: Models.PublicCertificate, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsDeleteSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - publicCertificateName, - publicCertificate, - slot, - options - }, - createOrUpdatePublicCertificateSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + deleteSlotOperationSpec + ); } /** - * Description for Deletes a hostname binding for an app. - * @summary Deletes a hostname binding for an app. + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param publicCertificateName Public certificate name. - * @param [options] The optional parameters - * @returns Promise + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param slot Name of the deployment slot to create or update. By default, this API attempts to create + * or modify the production slot. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. */ - deletePublicCertificateSlot( + updateSlot( resourceGroupName: string, name: string, slot: string, - publicCertificateName: string, - options?: msRest.RequestOptionsBase - ): Promise; + siteEnvelope: SitePatchResource, + options?: WebAppsUpdateSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, siteEnvelope, options }, + updateSlotOperationSpec + ); + } + /** + * Description for Analyze a custom hostname. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param publicCertificateName Public certificate name. - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - deletePublicCertificateSlot( + analyzeCustomHostnameSlot( resourceGroupName: string, name: string, slot: string, - publicCertificateName: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsAnalyzeCustomHostnameSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + analyzeCustomHostnameSlotOperationSpec + ); + } + /** + * Description for Applies the configuration settings from the target slot onto the current slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * binding for the production slot. - * @param publicCertificateName Public certificate name. - * @param options The optional parameters - * @param callback The callback - */ - deletePublicCertificateSlot( - resourceGroupName: string, - name: string, - slot: string, - publicCertificateName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deletePublicCertificateSlot( + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + applySlotConfigurationSlot( resourceGroupName: string, name: string, slot: string, - publicCertificateName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slotSwapEntity: CsmSlotEntity, + options?: WebAppsApplySlotConfigurationSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - publicCertificateName, - options - }, - deletePublicCertificateSlotOperationSpec, - callback + { resourceGroupName, name, slot, slotSwapEntity, options }, + applySlotConfigurationSlotOperationSpec ); } /** - * Description for Gets the publishing profile for an app (or deployment slot, if specified). - * @summary Gets the publishing profile for an app (or deployment slot, if specified). + * Description for Creates a backup of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For - * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * publishing profile for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will create a backup + * for the production slot. + * @param request Backup configuration. You can use the JSON response from the POST action as input + * here. + * @param options The options parameters. */ - listPublishingProfileXmlWithSecretsSlot( + backupSlot( resourceGroupName: string, name: string, - publishingProfileOptions: Models.CsmPublishingProfileOptions, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + request: BackupRequest, + options?: WebAppsBackupSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, request, options }, + backupSlotOperationSpec + ); + } + /** + * Description for Gets existing backups of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For - * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * publishing profile for the production slot. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of the + * production slot. + * @param options The options parameters. */ - listPublishingProfileXmlWithSecretsSlot( + private _listBackupsSlot( resourceGroupName: string, name: string, - publishingProfileOptions: Models.CsmPublishingProfileOptions, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListBackupsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listBackupsSlotOperationSpec + ); + } + /** + * Description for Gets a backup of an app by its ID. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For - * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * publishing profile for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param backupId ID of the backup. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get a backup of + * the production slot. + * @param options The options parameters. */ - listPublishingProfileXmlWithSecretsSlot( - resourceGroupName: string, - name: string, - publishingProfileOptions: Models.CsmPublishingProfileOptions, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPublishingProfileXmlWithSecretsSlot( + getBackupStatusSlot( resourceGroupName: string, name: string, - publishingProfileOptions: Models.CsmPublishingProfileOptions, + backupId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetBackupStatusSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - publishingProfileOptions, - slot, - options - }, - listPublishingProfileXmlWithSecretsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, backupId, slot, options }, + getBackupStatusSlotOperationSpec + ); } /** - * Description for Resets the configuration settings of the current slot if they were previously - * modified by calling the API with POST. - * @summary Resets the configuration settings of the current slot if they were previously modified - * by calling the API with POST. + * Description for Deletes a backup of an app by its ID. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API resets - * configuration settings for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param backupId ID of the backup. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a backup of + * the production slot. + * @param options The options parameters. */ - resetSlotConfigurationSlot( + deleteBackupSlot( resourceGroupName: string, name: string, + backupId: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsDeleteBackupSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, backupId, slot, options }, + deleteBackupSlotOperationSpec + ); + } + /** + * Description for Gets status of a web app backup that may be in progress, including secrets + * associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS + * URL for the backup if a new URL is passed in the request body. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API resets - * configuration settings for the production slot. - * @param callback The callback + * @param name Name of web app. + * @param backupId ID of backup. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param request Information on backup request. + * @param options The options parameters. */ - resetSlotConfigurationSlot( + listBackupStatusSecretsSlot( resourceGroupName: string, name: string, + backupId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + request: BackupRequest, + options?: WebAppsListBackupStatusSecretsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, backupId, slot, request, options }, + listBackupStatusSecretsSlotOperationSpec + ); + } + /** + * Description for Restores a specific backup to another app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API resets - * configuration settings for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param backupId ID of the backup. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a backup + * of the production slot. + * @param request Information on restore request . + * @param options The options parameters. */ - resetSlotConfigurationSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - resetSlotConfigurationSlot( + async beginRestoreSlot( resourceGroupName: string, name: string, + backupId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - resetSlotConfigurationSlotOperationSpec, - callback + request: RestoreRequest, + options?: WebAppsRestoreSlotOptionalParams + ): 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, name, backupId, slot, request, options }, + restoreSlotOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Restarts an app (or deployment slot, if specified). - * @summary Restarts an app (or deployment slot, if specified). + * Description for Restores a specific backup to another app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will restart the - * production slot. - * @param [options] The optional parameters - * @returns Promise + * @param backupId ID of the backup. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a backup + * of the production slot. + * @param request Information on restore request . + * @param options The options parameters. */ - restartSlot( + async beginRestoreSlotAndWait( resourceGroupName: string, name: string, + backupId: string, slot: string, - options?: Models.WebAppsRestartSlotOptionalParams - ): Promise; + request: RestoreRequest, + options?: WebAppsRestoreSlotOptionalParams + ): Promise { + const poller = await this.beginRestoreSlot( + resourceGroupName, + name, + backupId, + slot, + request, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will restart the - * production slot. - * @param callback The callback + * @param slot + * @param options The options parameters. */ - restartSlot( + private _listBasicPublishingCredentialsPoliciesSlot( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listBasicPublishingCredentialsPoliciesSlotOperationSpec + ); + } + /** + * Description for Returns whether FTP is allowed on the site or not. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will restart the - * production slot. - * @param options The optional parameters - * @param callback The callback + * @param slot + * @param options The options parameters. */ - restartSlot( + getFtpAllowedSlot( resourceGroupName: string, name: string, slot: string, - options: Models.WebAppsRestartSlotOptionalParams, - callback: msRest.ServiceCallback - ): void; - restartSlot( + options?: WebAppsGetFtpAllowedSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getFtpAllowedSlotOperationSpec + ); + } + + /** + * Description for Updates whether FTP is allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param csmPublishingAccessPoliciesEntity Publishing Credentials Policies parameters. + * @param options The options parameters. + */ + updateFtpAllowedSlot( resourceGroupName: string, name: string, slot: string, - options?: Models.WebAppsRestartSlotOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, + options?: WebAppsUpdateFtpAllowedSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, slot, + csmPublishingAccessPoliciesEntity, options }, - restartSlotOperationSpec, - callback + updateFtpAllowedSlotOperationSpec ); } /** - * Description for Restores an app from a backup blob in Azure Storage. - * @summary Restores an app from a backup blob in Azure Storage. + * Description for Returns whether Scm basic auth is allowed on the site or not. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param request Information on restore request . - * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a - * backup of the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot + * @param options The options parameters. */ - restoreFromBackupBlobSlot( + getScmAllowedSlot( resourceGroupName: string, name: string, - request: Models.RestoreRequest, slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginRestoreFromBackupBlobSlot( - resourceGroupName, - name, - request, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + options?: WebAppsGetScmAllowedSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getScmAllowedSlotOperationSpec + ); } /** - * Description for Restores a deleted web app to this web app. - * @summary Restores a deleted web app to this web app. + * Description for Updates whether user publishing credentials are allowed on the site or not. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param restoreRequest Deleted web app restore information. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot + * @param csmPublishingAccessPoliciesEntity Publishing Credentials Policies parameters. + * @param options The options parameters. */ - restoreFromDeletedAppSlot( + updateScmAllowedSlot( resourceGroupName: string, name: string, - restoreRequest: Models.DeletedAppRestoreRequest, slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginRestoreFromDeletedAppSlot( - resourceGroupName, - name, - restoreRequest, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, + options?: WebAppsUpdateScmAllowedSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + name, + slot, + csmPublishingAccessPoliciesEntity, + options + }, + updateScmAllowedSlotOperationSpec + ); } /** - * Description for Restores a web app from a snapshot. - * @summary Restores a web app from a snapshot. + * Description for List the configurations of an app * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling - * GetDeletedSites or GetSiteSnapshots API. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. */ - restoreSnapshotSlot( + private _listConfigurationsSlot( resourceGroupName: string, name: string, - restoreRequest: Models.SnapshotRestoreRequest, slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginRestoreSnapshotSlot( - resourceGroupName, - name, - restoreRequest, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + options?: WebAppsListConfigurationsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listConfigurationsSlotOperationSpec + ); } /** - * Description for Get list of siteextensions for a web site, or a deployment slot. - * @summary Get list of siteextensions for a web site, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteExtensionsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Replaces the application settings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the + * application settings for the production slot. + * @param appSettings Application settings of the app. + * @param options The options parameters. */ - listSiteExtensionsSlot( + updateApplicationSettingsSlot( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + appSettings: StringDictionary, + options?: WebAppsUpdateApplicationSettingsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, appSettings, options }, + updateApplicationSettingsSlotOperationSpec + ); + } + /** + * Description for Gets the application settings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the + * application settings for the production slot. + * @param options The options parameters. */ - listSiteExtensionsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteExtensionsSlot( + listApplicationSettingsSlot( resourceGroupName: string, name: string, slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListApplicationSettingsSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listSiteExtensionsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + listApplicationSettingsSlotOperationSpec + ); } /** - * Description for Get site extension information by its ID for a web site, or a deployment slot. - * @summary Get site extension information by its ID for a web site, or a deployment slot. + * Description for Updates the Authentication / Authorization settings associated with web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param siteAuthSettings Auth settings associated with web app. + * @param options The options parameters. */ - getSiteExtensionSlot( + updateAuthSettingsSlot( resourceGroupName: string, name: string, - siteExtensionId: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + siteAuthSettings: SiteAuthSettings, + options?: WebAppsUpdateAuthSettingsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, siteAuthSettings, options }, + updateAuthSettingsSlotOperationSpec + ); + } + /** + * Description for Gets the Authentication/Authorization settings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the settings + * for the production slot. + * @param options The options parameters. */ - getSiteExtensionSlot( + getAuthSettingsSlot( resourceGroupName: string, name: string, - siteExtensionId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetAuthSettingsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getAuthSettingsSlotOperationSpec + ); + } + /** + * Description for Updates site's Authentication / Authorization settings for apps via the V2 format * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param options The optional parameters - * @param callback The callback - */ - getSiteExtensionSlot( - resourceGroupName: string, - name: string, - siteExtensionId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSiteExtensionSlot( + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param siteAuthSettingsV2 Auth settings associated with web app. + * @param options The options parameters. + */ + updateAuthSettingsV2Slot( resourceGroupName: string, name: string, - siteExtensionId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + siteAuthSettingsV2: SiteAuthSettingsV2, + options?: WebAppsUpdateAuthSettingsV2SlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteExtensionId, - slot, - options - }, - getSiteExtensionSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, siteAuthSettingsV2, options }, + updateAuthSettingsV2SlotOperationSpec + ); } /** - * Description for Install site extension on a web site, or a deployment slot. - * @summary Install site extension on a web site, or a deployment slot. + * Description for Gets site's Authentication / Authorization settings for apps via the V2 format * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the settings + * for the production slot. + * @param options The options parameters. */ - installSiteExtensionSlot( + getAuthSettingsV2Slot( resourceGroupName: string, name: string, - siteExtensionId: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginInstallSiteExtensionSlot( - resourceGroupName, - name, - siteExtensionId, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsInstallSiteExtensionSlotResponse - >; + options?: WebAppsGetAuthSettingsV2SlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getAuthSettingsV2SlotOperationSpec + ); } /** - * Description for Remove a site extension from a web site, or a deployment slot. - * @summary Remove a site extension from a web site, or a deployment slot. + * Description for Updates the Azure storage account configurations of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the Azure + * storage account configurations for the production slot. + * @param azureStorageAccounts Azure storage accounts of the app. + * @param options The options parameters. */ - deleteSiteExtensionSlot( + updateAzureStorageAccountsSlot( resourceGroupName: string, name: string, - siteExtensionId: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + azureStorageAccounts: AzureStoragePropertyDictionaryResource, + options?: WebAppsUpdateAzureStorageAccountsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, azureStorageAccounts, options }, + updateAzureStorageAccountsSlotOperationSpec + ); + } + /** + * Description for Gets the Azure storage account configurations of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the Azure + * storage account configurations for the production slot. + * @param options The options parameters. */ - deleteSiteExtensionSlot( + listAzureStorageAccountsSlot( resourceGroupName: string, name: string, - siteExtensionId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListAzureStorageAccountsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listAzureStorageAccountsSlotOperationSpec + ); + } + /** + * Description for Updates the backup configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param siteExtensionId Site extension name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the backup + * configuration for the production slot. + * @param request Edited backup configuration. + * @param options The options parameters. */ - deleteSiteExtensionSlot( - resourceGroupName: string, - name: string, - siteExtensionId: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteSiteExtensionSlot( + updateBackupConfigurationSlot( resourceGroupName: string, name: string, - siteExtensionId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + request: BackupRequest, + options?: WebAppsUpdateBackupConfigurationSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteExtensionId, - slot, - options - }, - deleteSiteExtensionSlotOperationSpec, - callback + { resourceGroupName, name, slot, request, options }, + updateBackupConfigurationSlotOperationSpec ); } /** - * Description for Get the difference in configuration settings between two web app slots. - * @summary Get the difference in configuration settings between two web app slots. + * Description for Deletes the backup configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param slot Name of the source slot. If a slot is not specified, the production slot is used as - * the source slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the backup + * configuration for the production slot. + * @param options The options parameters. */ - listSlotDifferencesSlot( + deleteBackupConfigurationSlot( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsDeleteBackupConfigurationSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + deleteBackupConfigurationSlotOperationSpec + ); + } + /** + * Description for Gets the backup configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param slot Name of the source slot. If a slot is not specified, the production slot is used as - * the source slot. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the backup + * configuration for the production slot. + * @param options The options parameters. */ - listSlotDifferencesSlot( + getBackupConfigurationSlot( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetBackupConfigurationSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getBackupConfigurationSlotOperationSpec + ); + } + /** + * Description for Gets the config reference app settings and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param slot Name of the source slot. If a slot is not specified, the production slot is used as - * the source slot. - * @param options The optional parameters - * @param callback The callback + * @param slot + * @param options The options parameters. */ - listSlotDifferencesSlot( + private _getAppSettingsKeyVaultReferencesSlot( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSlotDifferencesSlot( - resourceGroupName: string, - name: string, - slotSwapEntity: Models.CsmSlotEntity, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slotSwapEntity, - slot, - options - }, - listSlotDifferencesSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + getAppSettingsKeyVaultReferencesSlotOperationSpec + ); } /** - * Description for Swaps two deployment slots of an app. - * @summary Swaps two deployment slots of an app. + * Description for Gets the config reference and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param slot Name of the source slot. If a slot is not specified, the production slot is used as - * the source slot. - * @param [options] The optional parameters - * @returns Promise + * @param appSettingKey App Setting key name. + * @param slot + * @param options The options parameters. */ - swapSlotSlot( + getAppSettingKeyVaultReferenceSlot( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, + appSettingKey: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginSwapSlotSlot( - resourceGroupName, - name, - slotSwapEntity, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + options?: WebAppsGetAppSettingKeyVaultReferenceSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, appSettingKey, slot, options }, + getAppSettingKeyVaultReferenceSlotOperationSpec + ); } /** - * Description for Returns all Snapshots to the user. - * @summary Returns all Snapshots to the user. + * Description for Gets the config reference app settings and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param slot Website Slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot + * @param options The options parameters. */ - listSnapshotsSlot( + private _getSiteConnectionStringKeyVaultReferencesSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getSiteConnectionStringKeyVaultReferencesSlotOperationSpec + ); + } + /** + * Description for Gets the config reference and status of an app * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param slot Website Slot. - * @param callback The callback + * @param name Name of the app. + * @param connectionStringKey + * @param slot + * @param options The options parameters. */ - listSnapshotsSlot( + getSiteConnectionStringKeyVaultReferenceSlot( resourceGroupName: string, name: string, + connectionStringKey: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetSiteConnectionStringKeyVaultReferenceSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, connectionStringKey, slot, options }, + getSiteConnectionStringKeyVaultReferenceSlotOperationSpec + ); + } + /** + * Description for Replaces the connection strings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param slot Website Slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the + * connection settings for the production slot. + * @param connectionStrings Connection strings of the app or deployment slot. See example. + * @param options The options parameters. */ - listSnapshotsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSnapshotsSlot( + updateConnectionStringsSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + connectionStrings: ConnectionStringDictionary, + options?: WebAppsUpdateConnectionStringsSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listSnapshotsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, connectionStrings, options }, + updateConnectionStringsSlotOperationSpec + ); } /** - * Description for Returns all Snapshots to the user from DRSecondary endpoint. - * @summary Returns all Snapshots to the user from DRSecondary endpoint. + * Description for Gets the connection strings of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param slot Website Slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the connection + * settings for the production slot. + * @param options The options parameters. */ - listSnapshotsFromDRSecondarySlot( + listConnectionStringsSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListConnectionStringsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listConnectionStringsSlotOperationSpec + ); + } + /** + * Description for Gets the logging configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param slot Website Slot. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the logging + * configuration for the production slot. + * @param options The options parameters. */ - listSnapshotsFromDRSecondarySlot( + getDiagnosticLogsConfigurationSlot( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetDiagnosticLogsConfigurationSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getDiagnosticLogsConfigurationSlotOperationSpec + ); + } + /** + * Description for Updates the logging configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param slot Website Slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the logging + * configuration for the production slot. + * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to change + * in the "properties" property. + * @param options The options parameters. */ - listSnapshotsFromDRSecondarySlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSnapshotsFromDRSecondarySlot( + updateDiagnosticLogsConfigSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + siteLogsConfig: SiteLogsConfig, + options?: WebAppsUpdateDiagnosticLogsConfigSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listSnapshotsFromDRSecondarySlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, siteLogsConfig, options }, + updateDiagnosticLogsConfigSlotOperationSpec + ); } /** - * Description for Gets the source control configuration of an app. - * @summary Gets the source control configuration of an app. + * Description for Replaces the metadata of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the source - * control configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the + * metadata for the production slot. + * @param metadata Edited metadata of the app or deployment slot. See example. + * @param options The options parameters. */ - getSourceControlSlot( + updateMetadataSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + metadata: StringDictionary, + options?: WebAppsUpdateMetadataSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, metadata, options }, + updateMetadataSlotOperationSpec + ); + } + /** + * Description for Gets the metadata of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the source - * control configuration for the production slot. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the metadata + * for the production slot. + * @param options The options parameters. */ - getSourceControlSlot( + listMetadataSlot( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListMetadataSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listMetadataSlotOperationSpec + ); + } + /** + * Description for Gets the Git/FTP publishing credentials of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the source - * control configuration for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the publishing + * credentials for the production slot. + * @param options The options parameters. + */ + async beginListPublishingCredentialsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListPublishingCredentialsSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsListPublishingCredentialsSlotResponse + > + > { + 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, name, slot, options }, + listPublishingCredentialsSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Gets the Git/FTP publishing credentials of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the publishing + * credentials for the production slot. + * @param options The options parameters. */ - getSourceControlSlot( + async beginListPublishingCredentialsSlotAndWait( resourceGroupName: string, name: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSourceControlSlot( + options?: WebAppsListPublishingCredentialsSlotOptionalParams + ): Promise { + const poller = await this.beginListPublishingCredentialsSlot( + resourceGroupName, + name, + slot, + options + ); + return poller.pollUntilDone(); + } + + /** + * Description for Updates the Push settings associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param pushSettings Push settings associated with web app. + * @param options The options parameters. + */ + updateSitePushSettingsSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + pushSettings: PushSettings, + options?: WebAppsUpdateSitePushSettingsSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - getSourceControlSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, pushSettings, options }, + updateSitePushSettingsSlotOperationSpec + ); } /** - * Description for Updates the source control configuration of an app. - * @summary Updates the source control configuration of an app. + * Description for Gets the Push settings associated with web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * source control configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - createOrUpdateSourceControlSlot( + listSitePushSettingsSlot( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdateSourceControlSlot( - resourceGroupName, - name, - siteSourceControl, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateOrUpdateSourceControlSlotResponse - >; + options?: WebAppsListSitePushSettingsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listSitePushSettingsSlotOperationSpec + ); } /** - * Description for Deletes the source control configuration of an app. - * @summary Deletes the source control configuration of an app. + * Description for Gets the configuration of an app, such as platform version and bitness, default + * documents, virtual applications, Always On, etc. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * source control configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. */ - deleteSourceControlSlot( + getConfigurationSlot( resourceGroupName: string, name: string, slot: string, - options?: Models.WebAppsDeleteSourceControlSlotOptionalParams - ): Promise; + options?: WebAppsGetConfigurationSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getConfigurationSlotOperationSpec + ); + } + /** + * Description for Updates the configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * source control configuration for the production slot. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will update + * configuration for the production slot. + * @param siteConfig JSON representation of a SiteConfig object. See example. + * @param options The options parameters. */ - deleteSourceControlSlot( + createOrUpdateConfigurationSlot( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + siteConfig: SiteConfigResource, + options?: WebAppsCreateOrUpdateConfigurationSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, siteConfig, options }, + createOrUpdateConfigurationSlotOperationSpec + ); + } + /** + * Description for Updates the configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * source control configuration for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will update + * configuration for the production slot. + * @param siteConfig JSON representation of a SiteConfig object. See example. + * @param options The options parameters. */ - deleteSourceControlSlot( - resourceGroupName: string, - name: string, - slot: string, - options: Models.WebAppsDeleteSourceControlSlotOptionalParams, - callback: msRest.ServiceCallback - ): void; - deleteSourceControlSlot( + updateConfigurationSlot( resourceGroupName: string, name: string, slot: string, - options?: Models.WebAppsDeleteSourceControlSlotOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + siteConfig: SiteConfigResource, + options?: WebAppsUpdateConfigurationSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - deleteSourceControlSlotOperationSpec, - callback + { resourceGroupName, name, slot, siteConfig, options }, + updateConfigurationSlotOperationSpec ); } /** - * Description for Updates the source control configuration of an app. - * @summary Updates the source control configuration of an app. + * Description for Gets a list of web app configuration snapshots identifiers. Each element of the list + * contains a timestamp and the ID of the snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * source control configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. */ - updateSourceControlSlot( + private _listConfigurationSnapshotInfoSlot( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListConfigurationSnapshotInfoSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listConfigurationSnapshotInfoSlotOperationSpec + ); + } + /** + * Description for Gets a snapshot of the configuration of an app at a previous point in time. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * source control configuration for the production slot. - * @param callback The callback + * @param snapshotId The ID of the snapshot to read. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. */ - updateSourceControlSlot( + getConfigurationSnapshotSlot( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, + snapshotId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetConfigurationSnapshotSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, snapshotId, slot, options }, + getConfigurationSnapshotSlotOperationSpec + ); + } + /** + * Description for Reverts the configuration of an app to a previous snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * source control configuration for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param snapshotId The ID of the snapshot to read. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. */ - updateSourceControlSlot( - resourceGroupName: string, - name: string, - siteSourceControl: Models.SiteSourceControl, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateSourceControlSlot( + recoverSiteConfigurationSnapshotSlot( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, + snapshotId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsRecoverSiteConfigurationSnapshotSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteSourceControl, - slot, - options - }, - updateSourceControlSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, snapshotId, slot, options }, + recoverSiteConfigurationSnapshotSlotOperationSpec + ); } /** - * Description for Starts an app (or deployment slot, if specified). - * @summary Starts an app (or deployment slot, if specified). + * Description for Gets the last lines of docker logs for the given site * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will start the - * production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - startSlot( + getWebSiteContainerLogsSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetWebSiteContainerLogsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getWebSiteContainerLogsSlotOperationSpec + ); + } + /** + * Description for Gets the ZIP archived docker log files for the given site * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will start the - * production slot. - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - startSlot( + getContainerLogsZipSlot( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetContainerLogsZipSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getContainerLogsZipSlotOperationSpec + ); + } + /** + * Description for List continuous web jobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will start the - * production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - startSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - startSlot( + private _listContinuousWebJobsSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListContinuousWebJobsSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - startSlotOperationSpec, - callback + { resourceGroupName, name, slot, options }, + listContinuousWebJobsSlotOperationSpec ); } /** - * Description for Start capturing network packets for the site. - * @summary Start capturing network packets for the site. + * Description for Gets a continuous web job by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - startNetworkTraceSlot( + getContinuousWebJobSlot( resourceGroupName: string, name: string, + webJobName: string, slot: string, - options?: Models.WebAppsStartNetworkTraceSlotOptionalParams - ): Promise { - return this.beginStartNetworkTraceSlot( - resourceGroupName, - name, - slot, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsStartNetworkTraceSlotResponse - >; + options?: WebAppsGetContinuousWebJobSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, slot, options }, + getContinuousWebJobSlotOperationSpec + ); } /** - * Description for Stops an app (or deployment slot, if specified). - * @summary Stops an app (or deployment slot, if specified). + * Description for Delete a continuous web job by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will stop the - * production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - stopSlot( + deleteContinuousWebJobSlot( resourceGroupName: string, name: string, + webJobName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsDeleteContinuousWebJobSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, slot, options }, + deleteContinuousWebJobSlotOperationSpec + ); + } + /** + * Description for Start a continuous web job for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will stop the - * production slot. - * @param callback The callback + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - stopSlot( + startContinuousWebJobSlot( resourceGroupName: string, name: string, + webJobName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsStartContinuousWebJobSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, slot, options }, + startContinuousWebJobSlotOperationSpec + ); + } + /** + * Description for Stop a continuous web job for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will stop the - * production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - stopSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - stopSlot( + stopContinuousWebJobSlot( resourceGroupName: string, name: string, + webJobName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsStopContinuousWebJobSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - stopSlotOperationSpec, - callback + { resourceGroupName, name, webJobName, slot, options }, + stopContinuousWebJobSlotOperationSpec ); } /** - * Description for Stop ongoing capturing network packets for the site. - * @summary Stop ongoing capturing network packets for the site. + * Description for List deployments for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - stopNetworkTraceSlot( + private _listDeploymentsSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListDeploymentsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listDeploymentsSlotOperationSpec + ); + } + /** + * Description for Get a deployment by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param callback The callback + * @param name Name of the app. + * @param id Deployment ID. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets a deployment for + * the production slot. + * @param options The options parameters. */ - stopNetworkTraceSlot( + getDeploymentSlot( resourceGroupName: string, name: string, + id: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetDeploymentSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, id, slot, options }, + getDeploymentSlotOperationSpec + ); + } + /** + * Description for Create a deployment for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param id ID of an existing deployment. + * @param slot Name of the deployment slot. If a slot is not specified, the API creates a deployment + * for the production slot. + * @param deployment Deployment details. + * @param options The options parameters. */ - stopNetworkTraceSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - stopNetworkTraceSlot( + createDeploymentSlot( resourceGroupName: string, name: string, + id: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + deployment: Deployment, + options?: WebAppsCreateDeploymentSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - stopNetworkTraceSlotOperationSpec, - callback + { resourceGroupName, name, id, slot, deployment, options }, + createDeploymentSlotOperationSpec ); } /** - * Description for Sync web app repository. - * @summary Sync web app repository. + * Description for Delete a deployment by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param id Deployment ID. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - syncRepositorySlot( + deleteDeploymentSlot( resourceGroupName: string, name: string, + id: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsDeleteDeploymentSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, id, slot, options }, + deleteDeploymentSlotOperationSpec + ); + } + /** + * Description for List deployment log for specific deployment for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param callback The callback + * @param name Name of the app. + * @param id The ID of a specific deployment. This is the value of the name property in the JSON + * response from "GET /api/sites/{siteName}/deployments". + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - syncRepositorySlot( + listDeploymentLogSlot( resourceGroupName: string, name: string, + id: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListDeploymentLogSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, id, slot, options }, + listDeploymentLogSlotOperationSpec + ); + } + /** + * Description for Discovers an existing app backup that can be restored from a blob in Azure storage. + * Use this to get information about the databases stored in a backup. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will perform discovery + * for the production slot. + * @param request A RestoreRequest object that includes Azure storage URL and blog name for discovery + * of backup. + * @param options The options parameters. */ - syncRepositorySlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - syncRepositorySlot( + discoverBackupSlot( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - syncRepositorySlotOperationSpec, - callback + slot: string, + request: RestoreRequest, + options?: WebAppsDiscoverBackupSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, request, options }, + discoverBackupSlotOperationSpec ); } /** - * Description for Syncs function trigger metadata to the management database - * @summary Syncs function trigger metadata to the management database + * Description for Lists ownership identifiers for domain associated with web app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param options The options parameters. */ - syncFunctionTriggersSlot( + private _listDomainOwnershipIdentifiersSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListDomainOwnershipIdentifiersSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listDomainOwnershipIdentifiersSlotOperationSpec + ); + } + /** + * Description for Get domain ownership identifier for web app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param callback The callback + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param options The options parameters. */ - syncFunctionTriggersSlot( + getDomainOwnershipIdentifierSlot( resourceGroupName: string, name: string, + domainOwnershipIdentifierName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetDomainOwnershipIdentifierSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, domainOwnershipIdentifierName, slot, options }, + getDomainOwnershipIdentifierSlotOperationSpec + ); + } + /** + * Description for Creates a domain ownership identifier for web app, or updates an existing ownership + * identifier. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. - * @param options The optional parameters - * @param callback The callback + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. */ - syncFunctionTriggersSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - syncFunctionTriggersSlot( + createOrUpdateDomainOwnershipIdentifierSlot( resourceGroupName: string, name: string, + domainOwnershipIdentifierName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + domainOwnershipIdentifier: Identifier, + options?: WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + domainOwnershipIdentifierName, slot, + domainOwnershipIdentifier, options }, - syncFunctionTriggersSlotOperationSpec, - callback + createOrUpdateDomainOwnershipIdentifierSlotOperationSpec ); } /** - * Description for List triggered web jobs for an app, or a deployment slot. - * @summary List triggered web jobs for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listTriggeredWebJobsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Deletes a domain ownership identifier for a web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param callback The callback + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param options The options parameters. */ - listTriggeredWebJobsSlot( + deleteDomainOwnershipIdentifierSlot( resourceGroupName: string, name: string, + domainOwnershipIdentifierName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsDeleteDomainOwnershipIdentifierSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, domainOwnershipIdentifierName, slot, options }, + deleteDomainOwnershipIdentifierSlotOperationSpec + ); + } + /** + * Description for Creates a domain ownership identifier for web app, or updates an existing ownership + * identifier. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a - * deployment for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. */ - listTriggeredWebJobsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listTriggeredWebJobsSlot( + updateDomainOwnershipIdentifierSlot( resourceGroupName: string, name: string, + domainOwnershipIdentifierName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + domainOwnershipIdentifier: Identifier, + options?: WebAppsUpdateDomainOwnershipIdentifierSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + domainOwnershipIdentifierName, slot, + domainOwnershipIdentifier, options }, - listTriggeredWebJobsSlotOperationSpec, - callback - ) as Promise; + updateDomainOwnershipIdentifierSlotOperationSpec + ); } /** - * Description for Gets a triggered web job by its ID for an app, or a deployment slot. - * @summary Gets a triggered web job by its ID for an app, or a deployment slot. + * Description for Get the status of the last MSDeploy operation. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - getTriggeredWebJobSlot( + getMSDeployStatusSlot( resourceGroupName: string, name: string, - webJobName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetMSDeployStatusSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getMSDeployStatusSlotOperationSpec + ); + } + /** + * Description for Invoke the MSDeploy web app extension. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + async beginCreateMSDeployOperationSlot( + resourceGroupName: string, + name: string, + slot: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateMSDeployOperationSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateMSDeployOperationSlotResponse + > + > { + 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, name, slot, mSDeploy, options }, + createMSDeployOperationSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. */ - getTriggeredWebJobSlot( + async beginCreateMSDeployOperationSlotAndWait( resourceGroupName: string, name: string, - webJobName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + mSDeploy: MSDeploy, + options?: WebAppsCreateMSDeployOperationSlotOptionalParams + ): Promise { + const poller = await this.beginCreateMSDeployOperationSlot( + resourceGroupName, + name, + slot, + mSDeploy, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Get the MSDeploy Log for the last MSDeploy operation. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - getTriggeredWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getTriggeredWebJobSlot( + getMSDeployLogSlot( resourceGroupName: string, name: string, - webJobName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsGetMSDeployLogSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - slot, - options - }, - getTriggeredWebJobSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + getMSDeployLogSlotOperationSpec + ); } /** - * Description for Delete a triggered web job by its ID for an app, or a deployment slot. - * @summary Delete a triggered web job by its ID for an app, or a deployment slot. + * Description for List the functions for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes web job for - * the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - deleteTriggeredWebJobSlot( + private _listInstanceFunctionsSlot( resourceGroupName: string, name: string, - webJobName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListInstanceFunctionsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listInstanceFunctionsSlotOperationSpec + ); + } + /** + * Description for Fetch a short lived token that can be exchanged for a master key. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes web job for - * the production slot. - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - deleteTriggeredWebJobSlot( + getFunctionsAdminTokenSlot( resourceGroupName: string, name: string, - webJobName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetFunctionsAdminTokenSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getFunctionsAdminTokenSlotOperationSpec + ); + } + /** + * Description for Get function information by its ID for web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API deletes web job for - * the production slot. - * @param options The optional parameters - * @param callback The callback + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - deleteTriggeredWebJobSlot( + getInstanceFunctionSlot( resourceGroupName: string, name: string, - webJobName: string, + functionName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteTriggeredWebJobSlot( + options?: WebAppsGetInstanceFunctionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, slot, options }, + getInstanceFunctionSlotOperationSpec + ); + } + + /** + * Description for Create function for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param functionEnvelope Function details. + * @param options The options parameters. + */ + async beginCreateInstanceFunctionSlot( resourceGroupName: string, name: string, - webJobName: string, + functionName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( + functionEnvelope: FunctionEnvelope, + options?: WebAppsCreateInstanceFunctionSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateInstanceFunctionSlotResponse + > + > { + 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, name, - webJobName, + functionName, slot, + functionEnvelope, options }, - deleteTriggeredWebJobSlotOperationSpec, - callback + createInstanceFunctionSlotOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for List a triggered web job's history for an app, or a deployment slot. - * @summary List a triggered web job's history for an app, or a deployment slot. + * Description for Create function for web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param [options] The optional parameters - * @returns Promise + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param functionEnvelope Function details. + * @param options The options parameters. */ - listTriggeredWebJobHistorySlot( + async beginCreateInstanceFunctionSlotAndWait( resourceGroupName: string, name: string, - webJobName: string, + functionName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + functionEnvelope: FunctionEnvelope, + options?: WebAppsCreateInstanceFunctionSlotOptionalParams + ): Promise { + const poller = await this.beginCreateInstanceFunctionSlot( + resourceGroupName, + name, + functionName, + slot, + functionEnvelope, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Delete a function for web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param callback The callback + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - listTriggeredWebJobHistorySlot( + deleteInstanceFunctionSlot( resourceGroupName: string, name: string, - webJobName: string, + functionName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsDeleteInstanceFunctionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, slot, options }, + deleteInstanceFunctionSlotOperationSpec + ); + } + /** + * Description for Add or update a function secret. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param options The optional parameters - * @param callback The callback + * @param functionName The name of the function. + * @param keyName The name of the key. + * @param slot Name of the deployment slot. + * @param key The key to create or update + * @param options The options parameters. */ - listTriggeredWebJobHistorySlot( + createOrUpdateFunctionSecretSlot( resourceGroupName: string, name: string, - webJobName: string, + functionName: string, + keyName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listTriggeredWebJobHistorySlot( + key: KeyInfo, + options?: WebAppsCreateOrUpdateFunctionSecretSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, keyName, slot, key, options }, + createOrUpdateFunctionSecretSlotOperationSpec + ); + } + + /** + * Description for Delete a function secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName The name of the function. + * @param keyName The name of the key. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + deleteFunctionSecretSlot( resourceGroupName: string, name: string, - webJobName: string, + functionName: string, + keyName: string, slot: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsDeleteFunctionSecretSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - slot, - options - }, - listTriggeredWebJobHistorySlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, functionName, keyName, slot, options }, + deleteFunctionSecretSlotOperationSpec + ); + } + + /** + * Description for Get function keys for a function in a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + listFunctionKeysSlot( + resourceGroupName: string, + name: string, + functionName: string, + slot: string, + options?: WebAppsListFunctionKeysSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, slot, options }, + listFunctionKeysSlotOperationSpec + ); } /** - * Description for Gets a triggered web job's history by its ID for an app, , or a deployment slot. - * @summary Gets a triggered web job's history by its ID for an app, , or a deployment slot. + * Description for Get function secrets for a function in a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param id History ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param [options] The optional parameters - * @returns Promise + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - getTriggeredWebJobHistorySlot( + listFunctionSecretsSlot( resourceGroupName: string, name: string, - webJobName: string, - id: string, + functionName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListFunctionSecretsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, functionName, slot, options }, + listFunctionSecretsSlotOperationSpec + ); + } + /** + * Description for Get host secrets for a function app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param id History ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param callback The callback + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - getTriggeredWebJobHistorySlot( + listHostKeysSlot( resourceGroupName: string, name: string, - webJobName: string, - id: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsListHostKeysSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listHostKeysSlotOperationSpec + ); + } + /** + * Description for This is to allow calling via powershell and ARM template. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param id History ID. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - getTriggeredWebJobHistorySlot( + listSyncStatusSlot( resourceGroupName: string, name: string, - webJobName: string, - id: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getTriggeredWebJobHistorySlot( + options?: WebAppsListSyncStatusSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listSyncStatusSlotOperationSpec + ); + } + + /** + * Description for Syncs function trigger metadata to the management database + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + syncFunctionsSlot( resourceGroupName: string, name: string, - webJobName: string, - id: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsSyncFunctionsSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - id, - slot, - options - }, - getTriggeredWebJobHistorySlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + syncFunctionsSlotOperationSpec + ); } /** - * Description for Run a triggered web job for an app, or a deployment slot. - * @summary Run a triggered web job for an app, or a deployment slot. + * Description for Add or update a host level secret. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param [options] The optional parameters - * @returns Promise + * @param keyType The type of host key. + * @param keyName The name of the key. + * @param slot Name of the deployment slot. + * @param key The key to create or update + * @param options The options parameters. */ - runTriggeredWebJobSlot( + createOrUpdateHostSecretSlot( resourceGroupName: string, name: string, - webJobName: string, + keyType: string, + keyName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + key: KeyInfo, + options?: WebAppsCreateOrUpdateHostSecretSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, keyType, keyName, slot, key, options }, + createOrUpdateHostSecretSlotOperationSpec + ); + } + /** + * Description for Delete a host level secret. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param callback The callback + * @param keyType The type of host key. + * @param keyName The name of the key. + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - runTriggeredWebJobSlot( + deleteHostSecretSlot( resourceGroupName: string, name: string, - webJobName: string, + keyType: string, + keyName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsDeleteHostSecretSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, keyType, keyName, slot, options }, + deleteHostSecretSlotOperationSpec + ); + } + /** + * Description for Get hostname bindings for an app or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname bindings + * for the production slot. + * @param options The options parameters. */ - runTriggeredWebJobSlot( + private _listHostNameBindingsSlot( resourceGroupName: string, name: string, - webJobName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - runTriggeredWebJobSlot( + options?: WebAppsListHostNameBindingsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listHostNameBindingsSlotOperationSpec + ); + } + + /** + * Description for Get the named hostname binding for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding for + * the production slot. + * @param hostName Hostname in the hostname binding. + * @param options The options parameters. + */ + getHostNameBindingSlot( resourceGroupName: string, name: string, - webJobName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + hostName: string, + options?: WebAppsGetHostNameBindingSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - slot, - options - }, - runTriggeredWebJobSlotOperationSpec, - callback + { resourceGroupName, name, slot, hostName, options }, + getHostNameBindingSlotOperationSpec ); } /** - * Description for Gets the quota usage information of an app (or deployment slot, if specified). - * @summary Gets the quota usage information of an app (or deployment slot, if specified). + * Description for Creates a hostname binding for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get quota - * information of the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param hostName Hostname in the hostname binding. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create a binding + * for the production slot. + * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding object. + * @param options The options parameters. */ - listUsagesSlot( + createOrUpdateHostNameBindingSlot( resourceGroupName: string, name: string, + hostName: string, slot: string, - options?: Models.WebAppsListUsagesSlotOptionalParams - ): Promise; + hostNameBinding: HostNameBinding, + options?: WebAppsCreateOrUpdateHostNameBindingSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, hostName, slot, hostNameBinding, options }, + createOrUpdateHostNameBindingSlotOperationSpec + ); + } + /** + * Description for Deletes a hostname binding for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get quota - * information of the production slot. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param hostName Hostname in the hostname binding. + * @param options The options parameters. */ - listUsagesSlot( + deleteHostNameBindingSlot( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + hostName: string, + options?: WebAppsDeleteHostNameBindingSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, hostName, options }, + deleteHostNameBindingSlotOperationSpec + ); + } + /** + * Description for Retrieves a specific Service Bus Hybrid Connection used by this Web App. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get quota - * information of the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param slot The name of the slot for the web app. + * @param options The options parameters. */ - listUsagesSlot( + getHybridConnectionSlot( resourceGroupName: string, name: string, + namespaceName: string, + relayName: string, slot: string, - options: Models.WebAppsListUsagesSlotOptionalParams, - callback: msRest.ServiceCallback - ): void; - listUsagesSlot( + options?: WebAppsGetHybridConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, namespaceName, relayName, slot, options }, + getHybridConnectionSlotOperationSpec + ); + } + + /** + * Description for Creates a new Hybrid Connection using a Service Bus relay. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param slot The name of the slot for the web app. + * @param connectionEnvelope The details of the hybrid connection. + * @param options The options parameters. + */ + createOrUpdateHybridConnectionSlot( resourceGroupName: string, name: string, + namespaceName: string, + relayName: string, slot: string, - options?: - | Models.WebAppsListUsagesSlotOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + connectionEnvelope: HybridConnection, + options?: WebAppsCreateOrUpdateHybridConnectionSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + namespaceName, + relayName, slot, + connectionEnvelope, options }, - listUsagesSlotOperationSpec, - callback - ) as Promise; + createOrUpdateHybridConnectionSlotOperationSpec + ); } /** - * Description for Gets the virtual networks the app (or deployment slot) is connected to. - * @summary Gets the virtual networks the app (or deployment slot) is connected to. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get virtual - * network connections for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - listVnetConnectionsSlot( - resourceGroupName: string, - name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Removes a Hybrid Connection from this site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get virtual - * network connections for the production slot. - * @param callback The callback + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param slot The name of the slot for the web app. + * @param options The options parameters. */ - listVnetConnectionsSlot( + deleteHybridConnectionSlot( resourceGroupName: string, name: string, + namespaceName: string, + relayName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsDeleteHybridConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, namespaceName, relayName, slot, options }, + deleteHybridConnectionSlotOperationSpec + ); + } + /** + * Description for Creates a new Hybrid Connection using a Service Bus relay. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get virtual - * network connections for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param slot The name of the slot for the web app. + * @param connectionEnvelope The details of the hybrid connection. + * @param options The options parameters. */ - listVnetConnectionsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listVnetConnectionsSlot( + updateHybridConnectionSlot( resourceGroupName: string, name: string, + namespaceName: string, + relayName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + connectionEnvelope: HybridConnection, + options?: WebAppsUpdateHybridConnectionSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + namespaceName, + relayName, slot, + connectionEnvelope, options }, - listVnetConnectionsSlotOperationSpec, - callback - ) as Promise; + updateHybridConnectionSlotOperationSpec + ); } /** - * Description for Gets a virtual network the app (or deployment slot) is connected to by name. - * @summary Gets a virtual network the app (or deployment slot) is connected to by name. + * Description for Retrieves all Service Bus Hybrid Connections used by this Web App. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for the web app. + * @param options The options parameters. + */ + listHybridConnectionsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListHybridConnectionsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listHybridConnectionsSlotOperationSpec + ); + } + + /** + * Description for Gets hybrid connections configured for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named - * virtual network for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will get hybrid + * connections for the production slot. + * @param options The options parameters. */ - getVnetConnectionSlot( + listRelayServiceConnectionsSlot( resourceGroupName: string, name: string, - vnetName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListRelayServiceConnectionsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listRelayServiceConnectionsSlotOperationSpec + ); + } + /** + * Description for Gets a hybrid connection configuration by its name. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named - * virtual network for the production slot. - * @param callback The callback + * @param entityName Name of the hybrid connection. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get a hybrid + * connection for the production slot. + * @param options The options parameters. */ - getVnetConnectionSlot( + getRelayServiceConnectionSlot( resourceGroupName: string, name: string, - vnetName: string, + entityName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetRelayServiceConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, entityName, slot, options }, + getRelayServiceConnectionSlotOperationSpec + ); + } + /** + * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one + * (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named - * virtual network for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param entityName Name of the hybrid connection configuration. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create or update a + * hybrid connection for the production slot. + * @param connectionEnvelope Details of the hybrid connection configuration. + * @param options The options parameters. */ - getVnetConnectionSlot( - resourceGroupName: string, - name: string, - vnetName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getVnetConnectionSlot( + createOrUpdateRelayServiceConnectionSlot( resourceGroupName: string, name: string, - vnetName: string, + entityName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + connectionEnvelope: RelayServiceConnectionEntity, + options?: WebAppsCreateOrUpdateRelayServiceConnectionSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, - vnetName, + entityName, slot, + connectionEnvelope, options }, - getVnetConnectionSlotOperationSpec, - callback - ) as Promise; + createOrUpdateRelayServiceConnectionSlotOperationSpec + ); } /** - * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the - * connection properties (PATCH). - * @summary Adds a Virtual Network connection to an app or slot (PUT) or updates the connection - * properties (PATCH). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * connections for the production slot. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateVnetConnectionSlot( - resourceGroupName: string, - name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Deletes a relay service connection by its name. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * connections for the production slot. - * @param callback The callback + * @param entityName Name of the hybrid connection configuration. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a hybrid + * connection for the production slot. + * @param options The options parameters. */ - createOrUpdateVnetConnectionSlot( + deleteRelayServiceConnectionSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, + entityName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsDeleteRelayServiceConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, entityName, slot, options }, + deleteRelayServiceConnectionSlotOperationSpec + ); + } + /** + * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one + * (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * connections for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param entityName Name of the hybrid connection configuration. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create or update a + * hybrid connection for the production slot. + * @param connectionEnvelope Details of the hybrid connection configuration. + * @param options The options parameters. */ - createOrUpdateVnetConnectionSlot( - resourceGroupName: string, - name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateVnetConnectionSlot( + updateRelayServiceConnectionSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, + entityName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + connectionEnvelope: RelayServiceConnectionEntity, + options?: WebAppsUpdateRelayServiceConnectionSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, - vnetName, - connectionEnvelope, + entityName, slot, + connectionEnvelope, options }, - createOrUpdateVnetConnectionSlotOperationSpec, - callback - ) as Promise; + updateRelayServiceConnectionSlotOperationSpec + ); } /** - * Description for Deletes a connection from an app (or deployment slot to a named virtual network. - * @summary Deletes a connection from an app (or deployment slot to a named virtual network. + * Description for Gets all scale-out instances of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * connection for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production + * slot instances. + * @param options The options parameters. */ - deleteVnetConnectionSlot( + private _listInstanceIdentifiersSlot( resourceGroupName: string, name: string, - vnetName: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsListInstanceIdentifiersSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listInstanceIdentifiersSlotOperationSpec + ); + } + /** + * Description for Gets all scale-out instances of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * connection for the production slot. - * @param callback The callback + * @param instanceId + * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production + * slot instances. + * @param options The options parameters. */ - deleteVnetConnectionSlot( + getInstanceInfoSlot( resourceGroupName: string, name: string, - vnetName: string, + instanceId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetInstanceInfoSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, instanceId, slot, options }, + getInstanceInfoSlotOperationSpec + ); + } + /** + * Description for Get the status of the last MSDeploy operation. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the - * connection for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param instanceId ID of web app instance. + * @param options The options parameters. */ - deleteVnetConnectionSlot( + getInstanceMsDeployStatusSlot( resourceGroupName: string, name: string, - vnetName: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteVnetConnectionSlot( + instanceId: string, + options?: WebAppsGetInstanceMsDeployStatusSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, instanceId, options }, + getInstanceMsDeployStatusSlotOperationSpec + ); + } + + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param instanceId ID of web app instance. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + async beginCreateInstanceMSDeployOperationSlot( resourceGroupName: string, name: string, - vnetName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - slot, - options - }, - deleteVnetConnectionSlotOperationSpec, - callback + instanceId: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateInstanceMSDeployOperationSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateInstanceMSDeployOperationSlotResponse + > + > { + 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, name, slot, instanceId, mSDeploy, options }, + createInstanceMSDeployOperationSlotOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the - * connection properties (PATCH). - * @summary Adds a Virtual Network connection to an app or slot (PUT) or updates the connection - * properties (PATCH). + * Description for Invoke the MSDeploy web app extension. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * connections for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param instanceId ID of web app instance. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. */ - updateVnetConnectionSlot( + async beginCreateInstanceMSDeployOperationSlotAndWait( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + instanceId: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateInstanceMSDeployOperationSlotOptionalParams + ): Promise { + const poller = await this.beginCreateInstanceMSDeployOperationSlot( + resourceGroupName, + name, + slot, + instanceId, + mSDeploy, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Get the MSDeploy Log for the last MSDeploy operation. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * connections for the production slot. - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param instanceId ID of web app instance. + * @param options The options parameters. */ - updateVnetConnectionSlot( + getInstanceMSDeployLogSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, slot: string, - callback: msRest.ServiceCallback - ): void; + instanceId: string, + options?: WebAppsGetInstanceMSDeployLogSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, instanceId, options }, + getInstanceMSDeployLogSlotOperationSpec + ); + } + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * connections for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - updateVnetConnectionSlot( + private _listInstanceProcessesSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateVnetConnectionSlot( + instanceId: string, + options?: WebAppsListInstanceProcessesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, instanceId, options }, + listInstanceProcessesSlotOperationSpec + ); + } + + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + getInstanceProcessSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, + processId: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + instanceId: string, + options?: WebAppsGetInstanceProcessSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - connectionEnvelope, - slot, - options - }, - updateVnetConnectionSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, slot, instanceId, options }, + getInstanceProcessSlotOperationSpec + ); } /** - * Description for Gets an app's Virtual Network gateway. - * @summary Gets an app's Virtual Network gateway. + * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway - * for the production slot's Virtual Network. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getVnetConnectionGatewaySlot( + deleteInstanceProcessSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, + processId: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + instanceId: string, + options?: WebAppsDeleteInstanceProcessSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, slot, instanceId, options }, + deleteInstanceProcessSlotOperationSpec + ); + } + /** + * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway - * for the production slot's Virtual Network. - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getVnetConnectionGatewaySlot( + getInstanceProcessDumpSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, + processId: string, slot: string, - callback: msRest.ServiceCallback - ): void; + instanceId: string, + options?: WebAppsGetInstanceProcessDumpSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, slot, instanceId, options }, + getInstanceProcessDumpSlotOperationSpec + ); + } + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway - * for the production slot's Virtual Network. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - getVnetConnectionGatewaySlot( + private _listInstanceProcessModulesSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, + processId: string, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getVnetConnectionGatewaySlot( + instanceId: string, + options?: WebAppsListInstanceProcessModulesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, slot, instanceId, options }, + listInstanceProcessModulesSlotOperationSpec + ); + } + + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param baseAddress Module base address. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + getInstanceProcessModuleSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, + processId: string, + baseAddress: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + instanceId: string, + options?: WebAppsGetInstanceProcessModuleSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, - vnetName, - gatewayName, + processId, + baseAddress, slot, + instanceId, options }, - getVnetConnectionGatewaySlotOperationSpec, - callback - ) as Promise; + getInstanceProcessModuleSlotOperationSpec + ); } /** - * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). - * @summary Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * a gateway for the production slot's Virtual Network. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. */ - createOrUpdateVnetConnectionGatewaySlot( + private _listInstanceProcessThreadsSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, + processId: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + instanceId: string, + options?: WebAppsListInstanceProcessThreadsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, slot, instanceId, options }, + listInstanceProcessThreadsSlotOperationSpec + ); + } + /** + * Description for Shows whether an app can be cloned to another resource group or subscription. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * a gateway for the production slot's Virtual Network. - * @param callback The callback + * @param slot Name of the deployment slot. By default, this API returns information on the production + * slot. + * @param options The options parameters. */ - createOrUpdateVnetConnectionGatewaySlot( + isCloneableSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsIsCloneableSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + isCloneableSlotOperationSpec + ); + } + /** + * Description for Gets existing backups of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * a gateway for the production slot's Virtual Network. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of the + * production slot. + * @param options The options parameters. */ - createOrUpdateVnetConnectionGatewaySlot( + private _listSiteBackupsSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateVnetConnectionGatewaySlot( + options?: WebAppsListSiteBackupsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listSiteBackupsSlotOperationSpec + ); + } + + /** + * Description for This is to allow calling via powershell and ARM template. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + listSyncFunctionTriggersSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListSyncFunctionTriggersSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - gatewayName, - connectionEnvelope, - slot, - options - }, - createOrUpdateVnetConnectionGatewaySlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + listSyncFunctionTriggersSlotOperationSpec + ); } /** - * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). - * @summary Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + * Description for Returns the status of MySql in app migration, if one is active, and whether or not + * MySql in app is enabled * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * a gateway for the production slot's Virtual Network. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - updateVnetConnectionGatewaySlot( + getMigrateMySqlStatusSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetMigrateMySqlStatusSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getMigrateMySqlStatusSlotOperationSpec + ); + } + /** + * Description for Gets a Swift Virtual Network connection. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * a gateway for the production slot's Virtual Network. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway for + * the production slot's Virtual Network. + * @param options The options parameters. */ - updateVnetConnectionGatewaySlot( + getSwiftVirtualNetworkConnectionSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsGetSwiftVirtualNetworkConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getSwiftVirtualNetworkConnectionSlotOperationSpec + ); + } + /** + * Description for Integrates this Web App with a Virtual Network. This requires that 1) + * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has + * already been delegated, and is not + * in use by another App Service Plan other than the one this App is in. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update - * a gateway for the production slot's Virtual Network. - * @param options The optional parameters - * @param callback The callback + * connections for the production slot. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. */ - updateVnetConnectionGatewaySlot( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateVnetConnectionGatewaySlot( + createOrUpdateSwiftVirtualNetworkConnectionWithCheckSlot( resourceGroupName: string, name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + connectionEnvelope: SwiftVirtualNetwork, + options?: WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams + ): Promise< + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse + > { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - gatewayName, - connectionEnvelope, - slot, - options - }, - updateVnetConnectionGatewaySlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, connectionEnvelope, options }, + createOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOperationSpec + ); } /** - * Description for List webjobs for an app, or a deployment slot. - * @summary List webjobs for an app, or a deployment slot. + * Description for Deletes a Swift Virtual Network connection from an app (or deployment slot). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the + * connection for the production slot. + * @param options The options parameters. */ - listWebJobsSlot( + deleteSwiftVirtualNetworkSlot( resourceGroupName: string, name: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsDeleteSwiftVirtualNetworkSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + deleteSwiftVirtualNetworkSlotOperationSpec + ); + } + /** + * Description for Integrates this Web App with a Virtual Network. This requires that 1) + * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has + * already been delegated, and is not + * in use by another App Service Plan other than the one this App is in. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update + * connections for the production slot. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. */ - listWebJobsSlot( + updateSwiftVirtualNetworkConnectionWithCheckSlot( resourceGroupName: string, name: string, slot: string, - callback: msRest.ServiceCallback - ): void; + connectionEnvelope: SwiftVirtualNetwork, + options?: WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, connectionEnvelope, options }, + updateSwiftVirtualNetworkConnectionWithCheckSlotOperationSpec + ); + } + /** + * Description for Gets all network features used by the app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param view The type of view. Only "summary" is supported at this time. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get network + * features for the production slot. + * @param options The options parameters. */ - listWebJobsSlot( - resourceGroupName: string, - name: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebJobsSlot( + listNetworkFeaturesSlot( resourceGroupName: string, name: string, + view: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListNetworkFeaturesSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slot, - options - }, - listWebJobsSlotOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, view, slot, options }, + listNetworkFeaturesSlotOperationSpec + ); } /** - * Description for Get webjob information for an app, or a deployment slot. - * @summary Get webjob information for an app, or a deployment slot. + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of the web job. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get an operation + * for the production slot. + * @param options The options parameters. */ - getWebJobSlot( + getNetworkTraceOperationSlot( resourceGroupName: string, name: string, - webJobName: string, + operationId: string, slot: string, - options?: msRest.RequestOptionsBase - ): Promise; + options?: WebAppsGetNetworkTraceOperationSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, operationId, slot, options }, + getNetworkTraceOperationSlotOperationSpec + ); + } + /** + * Description for Start capturing network packets for the site (To be deprecated). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of the web job. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param callback The callback + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. */ - getWebJobSlot( + startWebSiteNetworkTraceSlot( resourceGroupName: string, name: string, - webJobName: string, slot: string, - callback: msRest.ServiceCallback - ): void; + options?: WebAppsStartWebSiteNetworkTraceSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + startWebSiteNetworkTraceSlotOperationSpec + ); + } + /** + * Description for Start capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of the web job. - * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments - * for the production slot. - * @param options The optional parameters - * @param callback The callback + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + async beginStartWebSiteNetworkTraceOperationSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsStartWebSiteNetworkTraceOperationSlotResponse + > + > { + 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, name, slot, options }, + startWebSiteNetworkTraceOperationSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. */ - getWebJobSlot( - resourceGroupName: string, - name: string, - webJobName: string, - slot: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getWebJobSlot( + async beginStartWebSiteNetworkTraceOperationSlotAndWait( resourceGroupName: string, name: string, - webJobName: string, slot: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - slot, - options - }, - getWebJobSlotOperationSpec, - callback - ) as Promise; + options?: WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams + ): Promise { + const poller = await this.beginStartWebSiteNetworkTraceOperationSlot( + resourceGroupName, + name, + slot, + options + ); + return poller.pollUntilDone(); } /** - * Description for Get the difference in configuration settings between two web app slots. - * @summary Get the difference in configuration settings between two web app slots. + * Description for Stop ongoing capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param [options] The optional parameters - * @returns Promise + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. */ - listSlotDifferencesFromProduction( + stopWebSiteNetworkTraceSlot( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsStopWebSiteNetworkTraceSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + stopWebSiteNetworkTraceSlotOperationSpec + ); + } + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param callback The callback + * @param operationId GUID of the operation. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get an operation + * for the production slot. + * @param options The options parameters. */ - listSlotDifferencesFromProduction( + getNetworkTracesSlot( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, - callback: msRest.ServiceCallback - ): void; + operationId: string, + slot: string, + options?: WebAppsGetNetworkTracesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, operationId, slot, options }, + getNetworkTracesSlotOperationSpec + ); + } + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param options The optional parameters - * @param callback The callback + * @param operationId GUID of the operation. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get an operation + * for the production slot. + * @param options The options parameters. */ - listSlotDifferencesFromProduction( - resourceGroupName: string, - name: string, - slotSwapEntity: Models.CsmSlotEntity, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSlotDifferencesFromProduction( + getNetworkTraceOperationSlotV2( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + operationId: string, + slot: string, + options?: WebAppsGetNetworkTraceOperationSlotV2OptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - slotSwapEntity, - options - }, - listSlotDifferencesFromProductionOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, operationId, slot, options }, + getNetworkTraceOperationSlotV2OperationSpec + ); } /** - * Description for Swaps two deployment slots of an app. - * @summary Swaps two deployment slots of an app. + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param [options] The optional parameters - * @returns Promise + * @param operationId GUID of the operation. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get an operation + * for the production slot. + * @param options The options parameters. */ - swapSlotWithProduction( + getNetworkTracesSlotV2( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginSwapSlotWithProduction( - resourceGroupName, - name, - slotSwapEntity, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()); + operationId: string, + slot: string, + options?: WebAppsGetNetworkTracesSlotV2OptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, operationId, slot, options }, + getNetworkTracesSlotV2OperationSpec + ); } /** - * Description for Returns all Snapshots to the user. - * @summary Returns all Snapshots to the user. + * Description for Generates a new publishing password for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API generate a new + * publishing password for the production slot. + * @param options The options parameters. */ - listSnapshots( + generateNewSitePublishingPasswordSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsGenerateNewSitePublishingPasswordSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + generateNewSitePublishingPasswordSlotOperationSpec + ); + } + /** + * Description for Gets perfmon counters for web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - listSnapshots( + private _listPerfMonCountersSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListPerfMonCountersSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listPerfMonCountersSlotOperationSpec + ); + } + /** + * Description for Gets web app's event logs. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - listSnapshots( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSnapshots( + getSitePhpErrorLogFlagSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + options?: WebAppsGetSitePhpErrorLogFlagSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listSnapshotsOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + getSitePhpErrorLogFlagSlotOperationSpec + ); } /** - * Description for Returns all Snapshots to the user from DRSecondary endpoint. - * @summary Returns all Snapshots to the user from DRSecondary endpoint. + * Description for Gets the premier add-ons of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the premier + * add-ons for the production slot. + * @param options The options parameters. */ - listSnapshotsFromDRSecondary( + listPremierAddOnsSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsListPremierAddOnsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listPremierAddOnsSlotOperationSpec + ); + } + /** + * Description for Gets a named add-on of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param callback The callback + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named + * add-on for the production slot. + * @param options The options parameters. */ - listSnapshotsFromDRSecondary( + getPremierAddOnSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + premierAddOnName: string, + slot: string, + options?: WebAppsGetPremierAddOnSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, premierAddOnName, slot, options }, + getPremierAddOnSlotOperationSpec + ); + } + /** + * Description for Updates a named add-on of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Website Name. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the named + * add-on for the production slot. + * @param premierAddOn A JSON representation of the edited premier add-on. + * @param options The options parameters. */ - listSnapshotsFromDRSecondary( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSnapshotsFromDRSecondary( + addPremierAddOnSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + premierAddOnName: string, + slot: string, + premierAddOn: PremierAddOn, + options?: WebAppsAddPremierAddOnSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + premierAddOnName, + slot, + premierAddOn, options }, - listSnapshotsFromDRSecondaryOperationSpec, - callback - ) as Promise; + addPremierAddOnSlotOperationSpec + ); } /** - * Description for Gets the source control configuration of an app. - * @summary Gets the source control configuration of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise - */ - getSourceControl( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** + * Description for Delete a premier add-on from an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param callback The callback + * @param premierAddOnName Add-on name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the named + * add-on for the production slot. + * @param options The options parameters. */ - getSourceControl( + deletePremierAddOnSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + premierAddOnName: string, + slot: string, + options?: WebAppsDeletePremierAddOnSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, premierAddOnName, slot, options }, + deletePremierAddOnSlotOperationSpec + ); + } + /** + * Description for Updates a named add-on of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param premierAddOnName Add-on name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the named + * add-on for the production slot. + * @param premierAddOn A JSON representation of the edited premier add-on. + * @param options The options parameters. */ - getSourceControl( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSourceControl( + updatePremierAddOnSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + premierAddOnName: string, + slot: string, + premierAddOn: PremierAddOnPatchResource, + options?: WebAppsUpdatePremierAddOnSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + premierAddOnName, + slot, + premierAddOn, options }, - getSourceControlOperationSpec, - callback - ) as Promise; + updatePremierAddOnSlotOperationSpec + ); } /** - * Description for Updates the source control configuration of an app. - * @summary Updates the source control configuration of an app. + * Description for Gets data around private site access enablement and authorized Virtual Networks that + * can access the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param [options] The optional parameters - * @returns Promise + * @param name The name of the web app. + * @param slot The name of the slot for the web app. + * @param options The options parameters. */ - createOrUpdateSourceControl( + getPrivateAccessSlot( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, - options?: msRest.RequestOptionsBase - ): Promise { - return this.beginCreateOrUpdateSourceControl( - resourceGroupName, - name, - siteSourceControl, - options - ).then((lroPoller) => lroPoller.pollUntilFinished()) as Promise< - Models.WebAppsCreateOrUpdateSourceControlResponse - >; + slot: string, + options?: WebAppsGetPrivateAccessSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getPrivateAccessSlotOperationSpec + ); } /** - * Description for Deletes the source control configuration of an app. - * @summary Deletes the source control configuration of an app. + * Description for Sets data around private site access enablement and authorized Virtual Networks that + * can access the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise + * @param name The name of the web app. + * @param slot The name of the slot for the web app. + * @param access The information for the private access + * @param options The options parameters. */ - deleteSourceControl( + putPrivateAccessVnetSlot( resourceGroupName: string, name: string, - options?: Models.WebAppsDeleteSourceControlOptionalParams - ): Promise; + slot: string, + access: PrivateAccess, + options?: WebAppsPutPrivateAccessVnetSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, access, options }, + putPrivateAccessVnetSlotOperationSpec + ); + } + /** + * Description for Gets the list of private endpoint connections associated with a site * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback + * @param name Name of the site. + * @param slot Name of the site deployment slot. + * @param options The options parameters. */ - deleteSourceControl( + private _getPrivateEndpointConnectionListSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsGetPrivateEndpointConnectionListSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getPrivateEndpointConnectionListSlotOperationSpec + ); + } + /** + * Description for Gets a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param slot Name of the site deployment slot. + * @param options The options parameters. */ - deleteSourceControl( + getPrivateEndpointConnectionSlot( resourceGroupName: string, name: string, - options: Models.WebAppsDeleteSourceControlOptionalParams, - callback: msRest.ServiceCallback - ): void; - deleteSourceControl( + privateEndpointConnectionName: string, + slot: string, + options?: WebAppsGetPrivateEndpointConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, privateEndpointConnectionName, slot, options }, + getPrivateEndpointConnectionSlotOperationSpec + ); + } + + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param slot + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. + */ + async beginApproveOrRejectPrivateEndpointConnectionSlot( resourceGroupName: string, name: string, - options?: Models.WebAppsDeleteSourceControlOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( + privateEndpointConnectionName: string, + slot: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState< + WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse + >, + WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse + > + > { + 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, name, + privateEndpointConnectionName, + slot, + privateEndpointWrapper, options }, - deleteSourceControlOperationSpec, - callback + approveOrRejectPrivateEndpointConnectionSlotOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Updates the source control configuration of an app. - * @summary Updates the source control configuration of an app. + * Description for Approves or rejects a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param slot + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. */ - updateSourceControl( + async beginApproveOrRejectPrivateEndpointConnectionSlotAndWait( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, - options?: msRest.RequestOptionsBase - ): Promise; + privateEndpointConnectionName: string, + slot: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams + ): Promise { + const poller = await this.beginApproveOrRejectPrivateEndpointConnectionSlot( + resourceGroupName, + name, + privateEndpointConnectionName, + slot, + privateEndpointWrapper, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Deletes a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param callback The callback + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param slot + * @param options The options parameters. */ - updateSourceControl( + async beginDeletePrivateEndpointConnectionSlot( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, - callback: msRest.ServiceCallback - ): void; + privateEndpointConnectionName: string, + slot: string, + options?: WebAppsDeletePrivateEndpointConnectionSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsDeletePrivateEndpointConnectionSlotResponse + > + > { + 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, name, privateEndpointConnectionName, slot, options }, + deletePrivateEndpointConnectionSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Deletes a private endpoint connection * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param slot + * @param options The options parameters. */ - updateSourceControl( - resourceGroupName: string, - name: string, - siteSourceControl: Models.SiteSourceControl, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateSourceControl( + async beginDeletePrivateEndpointConnectionSlotAndWait( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - siteSourceControl, - options - }, - updateSourceControlOperationSpec, - callback - ) as Promise; + privateEndpointConnectionName: string, + slot: string, + options?: WebAppsDeletePrivateEndpointConnectionSlotOptionalParams + ): Promise { + const poller = await this.beginDeletePrivateEndpointConnectionSlot( + resourceGroupName, + name, + privateEndpointConnectionName, + slot, + options + ); + return poller.pollUntilDone(); } /** - * Description for Starts an app (or deployment slot, if specified). - * @summary Starts an app (or deployment slot, if specified). + * Description for Gets the private link resources * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the site. + * @param slot + * @param options The options parameters. */ - start( + getPrivateLinkResourcesSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - start(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; + slot: string, + options?: WebAppsGetPrivateLinkResourcesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getPrivateLinkResourcesSlotOperationSpec + ); + } + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - start( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - start( + private _listProcessesSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + options?: WebAppsListProcessesSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - startOperationSpec, - callback + { resourceGroupName, name, slot, options }, + listProcessesSlotOperationSpec ); } /** - * Description for Start capturing network packets for the site. - * @summary Start capturing network packets for the site. + * Description for Get process information by its ID for a specific scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - startNetworkTrace( + getProcessSlot( resourceGroupName: string, name: string, - options?: Models.WebAppsStartNetworkTraceOptionalParams - ): Promise { - return this.beginStartNetworkTrace(resourceGroupName, name, options).then((lroPoller) => - lroPoller.pollUntilFinished() - ) as Promise; + processId: string, + slot: string, + options?: WebAppsGetProcessSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, slot, options }, + getProcessSlotOperationSpec + ); } /** - * Description for Stops an app (or deployment slot, if specified). - * @summary Stops an app (or deployment slot, if specified). + * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific + * scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - stop( + deleteProcessSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - stop(resourceGroupName: string, name: string, callback: msRest.ServiceCallback): void; + processId: string, + slot: string, + options?: WebAppsDeleteProcessSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, slot, options }, + deleteProcessSlotOperationSpec + ); + } + /** + * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - stop( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - stop( + getProcessDumpSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + processId: string, + slot: string, + options?: WebAppsGetProcessDumpSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - stopOperationSpec, - callback + { resourceGroupName, name, processId, slot, options }, + getProcessDumpSlotOperationSpec ); } /** - * Description for Stop ongoing capturing network packets for the site. - * @summary Stop ongoing capturing network packets for the site. + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - stopNetworkTrace( + private _listProcessModulesSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + processId: string, + slot: string, + options?: WebAppsListProcessModulesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, slot, options }, + listProcessModulesSlotOperationSpec + ); + } + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param baseAddress Module base address. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - stopNetworkTrace( + getProcessModuleSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + processId: string, + baseAddress: string, + slot: string, + options?: WebAppsGetProcessModuleSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, processId, baseAddress, slot, options }, + getProcessModuleSlotOperationSpec + ); + } + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - stopNetworkTrace( + private _listProcessThreadsSlot( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - stopNetworkTrace( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + processId: string, + slot: string, + options?: WebAppsListProcessThreadsSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - stopNetworkTraceOperationSpec, - callback + { resourceGroupName, name, processId, slot, options }, + listProcessThreadsSlotOperationSpec ); } /** - * Description for Sync web app repository. - * @summary Sync web app repository. + * Description for Get public certificates for an app or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname bindings + * for the production slot. + * @param options The options parameters. */ - syncRepository( + private _listPublicCertificatesSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsListPublicCertificatesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listPublicCertificatesSlotOperationSpec + ); + } + /** + * Description for Get the named public certificate for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding for + * the production slot. + * @param publicCertificateName Public certificate name. + * @param options The options parameters. */ - syncRepository( + getPublicCertificateSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + publicCertificateName: string, + options?: WebAppsGetPublicCertificateSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, publicCertificateName, options }, + getPublicCertificateSlotOperationSpec + ); + } + /** + * Description for Creates a hostname binding for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param publicCertificateName Public certificate name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create a binding + * for the production slot. + * @param publicCertificate Public certificate details. This is the JSON representation of a + * PublicCertificate object. + * @param options The options parameters. */ - syncRepository( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - syncRepository( + createOrUpdatePublicCertificateSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + publicCertificateName: string, + slot: string, + publicCertificate: PublicCertificate, + options?: WebAppsCreateOrUpdatePublicCertificateSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, + publicCertificateName, + slot, + publicCertificate, options }, - syncRepositoryOperationSpec, - callback + createOrUpdatePublicCertificateSlotOperationSpec ); } /** - * Description for Syncs function trigger metadata to the management database - * @summary Syncs function trigger metadata to the management database + * Description for Deletes a hostname binding for an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param publicCertificateName Public certificate name. + * @param options The options parameters. */ - syncFunctionTriggers( + deletePublicCertificateSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + publicCertificateName: string, + options?: WebAppsDeletePublicCertificateSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, publicCertificateName, options }, + deletePublicCertificateSlotOperationSpec + ); + } + /** + * Description for Gets the publishing profile for an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the publishing + * profile for the production slot. + * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For + * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. + * @param options The options parameters. */ - syncFunctionTriggers( + listPublishingProfileXmlWithSecretsSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + publishingProfileOptions: CsmPublishingProfileOptions, + options?: WebAppsListPublishingProfileXmlWithSecretsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, publishingProfileOptions, options }, + listPublishingProfileXmlWithSecretsSlotOperationSpec + ); + } + /** + * Description for Resets the configuration settings of the current slot if they were previously + * modified by calling the API with POST. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API resets configuration + * settings for the production slot. + * @param options The options parameters. */ - syncFunctionTriggers( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - syncFunctionTriggers( + resetSlotConfigurationSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + options?: WebAppsResetSlotConfigurationSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - syncFunctionTriggersOperationSpec, - callback + { resourceGroupName, name, slot, options }, + resetSlotConfigurationSlotOperationSpec ); } /** - * Description for List triggered web jobs for an app, or a deployment slot. - * @summary List triggered web jobs for an app, or a deployment slot. + * Description for Restarts an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restart the + * production slot. + * @param options The options parameters. */ - listTriggeredWebJobs( + restartSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsRestartSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + restartSlotOperationSpec + ); + } + + /** + * Description for Restores an app from a backup blob in Azure Storage. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a backup + * of the production slot. + * @param request Information on restore request . + * @param options The options parameters. + */ + async beginRestoreFromBackupBlobSlot( + resourceGroupName: string, + name: string, + slot: string, + request: RestoreRequest, + options?: WebAppsRestoreFromBackupBlobSlotOptionalParams + ): 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, name, slot, request, options }, + restoreFromBackupBlobSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Restores an app from a backup blob in Azure Storage. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a backup + * of the production slot. + * @param request Information on restore request . + * @param options The options parameters. */ - listTriggeredWebJobs( + async beginRestoreFromBackupBlobSlotAndWait( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + request: RestoreRequest, + options?: WebAppsRestoreFromBackupBlobSlotOptionalParams + ): Promise { + const poller = await this.beginRestoreFromBackupBlobSlot( + resourceGroupName, + name, + slot, + request, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Restores a deleted web app to this web app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param restoreRequest Deleted web app restore information. + * @param options The options parameters. + */ + async beginRestoreFromDeletedAppSlot( + resourceGroupName: string, + name: string, + slot: string, + restoreRequest: DeletedAppRestoreRequest, + options?: WebAppsRestoreFromDeletedAppSlotOptionalParams + ): 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, name, slot, restoreRequest, options }, + restoreFromDeletedAppSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Restores a deleted web app to this web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param restoreRequest Deleted web app restore information. + * @param options The options parameters. */ - listTriggeredWebJobs( + async beginRestoreFromDeletedAppSlotAndWait( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listTriggeredWebJobs( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listTriggeredWebJobsOperationSpec, - callback - ) as Promise; + slot: string, + restoreRequest: DeletedAppRestoreRequest, + options?: WebAppsRestoreFromDeletedAppSlotOptionalParams + ): Promise { + const poller = await this.beginRestoreFromDeletedAppSlot( + resourceGroupName, + name, + slot, + restoreRequest, + options + ); + return poller.pollUntilDone(); + } + + /** + * Description for Restores a web app from a snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling + * GetDeletedSites or GetSiteSnapshots API. + * @param options The options parameters. + */ + async beginRestoreSnapshotSlot( + resourceGroupName: string, + name: string, + slot: string, + restoreRequest: SnapshotRestoreRequest, + options?: WebAppsRestoreSnapshotSlotOptionalParams + ): 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, name, slot, restoreRequest, options }, + restoreSnapshotSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Gets a triggered web job by its ID for an app, or a deployment slot. - * @summary Gets a triggered web job by its ID for an app, or a deployment slot. + * Description for Restores a web app from a snapshot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling + * GetDeletedSites or GetSiteSnapshots API. + * @param options The options parameters. */ - getTriggeredWebJob( + async beginRestoreSnapshotSlotAndWait( resourceGroupName: string, name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + restoreRequest: SnapshotRestoreRequest, + options?: WebAppsRestoreSnapshotSlotOptionalParams + ): Promise { + const poller = await this.beginRestoreSnapshotSlot( + resourceGroupName, + name, + slot, + restoreRequest, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Get list of siteextensions for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - getTriggeredWebJob( + private _listSiteExtensionsSlot( resourceGroupName: string, name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListSiteExtensionsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listSiteExtensionsSlotOperationSpec + ); + } + /** + * Description for Get site extension information by its ID for a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param options The optional parameters - * @param callback The callback + * @param siteExtensionId Site extension name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - getTriggeredWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getTriggeredWebJob( + getSiteExtensionSlot( resourceGroupName: string, name: string, - webJobName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + siteExtensionId: string, + slot: string, + options?: WebAppsGetSiteExtensionSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - getTriggeredWebJobOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, siteExtensionId, slot, options }, + getSiteExtensionSlotOperationSpec + ); } /** - * Description for Delete a triggered web job by its ID for an app, or a deployment slot. - * @summary Delete a triggered web job by its ID for an app, or a deployment slot. + * Description for Install site extension on a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param [options] The optional parameters - * @returns Promise + * @param siteExtensionId Site extension name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - deleteTriggeredWebJob( + async beginInstallSiteExtensionSlot( resourceGroupName: string, name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; + siteExtensionId: string, + slot: string, + options?: WebAppsInstallSiteExtensionSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsInstallSiteExtensionSlotResponse + > + > { + 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, name, siteExtensionId, slot, options }, + installSiteExtensionSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Install site extension on a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param callback The callback + * @param siteExtensionId Site extension name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - deleteTriggeredWebJob( + async beginInstallSiteExtensionSlotAndWait( resourceGroupName: string, name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; + siteExtensionId: string, + slot: string, + options?: WebAppsInstallSiteExtensionSlotOptionalParams + ): Promise { + const poller = await this.beginInstallSiteExtensionSlot( + resourceGroupName, + name, + siteExtensionId, + slot, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Remove a site extension from a web site, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param webJobName Name of Web Job. - * @param options The optional parameters - * @param callback The callback + * @param siteExtensionId Site extension name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - deleteTriggeredWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteTriggeredWebJob( + deleteSiteExtensionSlot( resourceGroupName: string, name: string, - webJobName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + siteExtensionId: string, + slot: string, + options?: WebAppsDeleteSiteExtensionSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - deleteTriggeredWebJobOperationSpec, - callback + { resourceGroupName, name, siteExtensionId, slot, options }, + deleteSiteExtensionSlotOperationSpec ); } /** - * Description for List a triggered web job's history for an app, or a deployment slot. - * @summary List a triggered web job's history for an app, or a deployment slot. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param [options] The optional parameters - * @returns Promise - */ - listTriggeredWebJobHistory( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param callback The callback - */ - listTriggeredWebJobHistory( - resourceGroupName: string, - name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; - /** + * Description for Get the difference in configuration settings between two web app slots. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. */ - listTriggeredWebJobHistory( - resourceGroupName: string, - name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listTriggeredWebJobHistory( + private _listSlotDifferencesSlot( resourceGroupName: string, name: string, - webJobName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - listTriggeredWebJobHistoryOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, slotSwapEntity, options }, + listSlotDifferencesSlotOperationSpec + ); } /** - * Description for Gets a triggered web job's history by its ID for an app, , or a deployment slot. - * @summary Gets a triggered web job's history by its ID for an app, , or a deployment slot. + * Description for Swaps two deployment slots of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param id History ID. - * @param [options] The optional parameters - * @returns Promise - */ - getTriggeredWebJobHistory( - resourceGroupName: string, - name: string, - webJobName: string, - id: string, - options?: msRest.RequestOptionsBase - ): Promise; + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + async beginSwapSlot( + resourceGroupName: string, + name: string, + slot: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsSwapSlotOptionalParams + ): 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, name, slot, slotSwapEntity, options }, + swapSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Swaps two deployment slots of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param id History ID. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. */ - getTriggeredWebJobHistory( + async beginSwapSlotAndWait( resourceGroupName: string, name: string, - webJobName: string, - id: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsSwapSlotOptionalParams + ): Promise { + const poller = await this.beginSwapSlot( + resourceGroupName, + name, + slot, + slotSwapEntity, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Returns all Snapshots to the user. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param id History ID. - * @param options The optional parameters - * @param callback The callback + * @param name Website Name. + * @param slot Website Slot. + * @param options The options parameters. */ - getTriggeredWebJobHistory( - resourceGroupName: string, - name: string, - webJobName: string, - id: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getTriggeredWebJobHistory( + private _listSnapshotsSlot( resourceGroupName: string, name: string, - webJobName: string, - id: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + options?: WebAppsListSnapshotsSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - id, - options - }, - getTriggeredWebJobHistoryOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + listSnapshotsSlotOperationSpec + ); } /** - * Description for Run a triggered web job for an app, or a deployment slot. - * @summary Run a triggered web job for an app, or a deployment slot. + * Description for Returns all Snapshots to the user from DRSecondary endpoint. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param [options] The optional parameters - * @returns Promise + * @param name Website Name. + * @param slot Website Slot. + * @param options The options parameters. */ - runTriggeredWebJob( + private _listSnapshotsFromDRSecondarySlot( resourceGroupName: string, name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsListSnapshotsFromDRSecondarySlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listSnapshotsFromDRSecondarySlotOperationSpec + ); + } + /** + * Description for Gets the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param callback The callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the source + * control configuration for the production slot. + * @param options The options parameters. */ - runTriggeredWebJob( + getSourceControlSlot( resourceGroupName: string, name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsGetSourceControlSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + getSourceControlSlotOperationSpec + ); + } + /** + * Description for Updates the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of Web Job. - * @param options The optional parameters - * @param callback The callback - */ - runTriggeredWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - runTriggeredWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - runTriggeredWebJobOperationSpec, - callback + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the source + * control configuration for the production slot. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. + */ + async beginCreateOrUpdateSourceControlSlot( + resourceGroupName: string, + name: string, + slot: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsCreateOrUpdateSourceControlSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateOrUpdateSourceControlSlotResponse + > + > { + 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, name, slot, siteSourceControl, options }, + createOrUpdateSourceControlSlotOperationSpec ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Description for Gets the quota usage information of an app (or deployment slot, if specified). - * @summary Gets the quota usage information of an app (or deployment slot, if specified). + * Description for Updates the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the source + * control configuration for the production slot. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. */ - listUsages( + async beginCreateOrUpdateSourceControlSlotAndWait( resourceGroupName: string, name: string, - options?: Models.WebAppsListUsagesOptionalParams - ): Promise; + slot: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsCreateOrUpdateSourceControlSlotOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateSourceControlSlot( + resourceGroupName, + name, + slot, + siteSourceControl, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Deletes the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the source + * control configuration for the production slot. + * @param options The options parameters. */ - listUsages( + deleteSourceControlSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsDeleteSourceControlSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + deleteSourceControlSlotOperationSpec + ); + } + /** + * Description for Updates the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the source + * control configuration for the production slot. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. */ - listUsages( - resourceGroupName: string, - name: string, - options: Models.WebAppsListUsagesOptionalParams, - callback: msRest.ServiceCallback - ): void; - listUsages( + updateSourceControlSlot( resourceGroupName: string, name: string, - options?: - | Models.WebAppsListUsagesOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsUpdateSourceControlSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listUsagesOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, siteSourceControl, options }, + updateSourceControlSlotOperationSpec + ); } /** - * Description for Gets the virtual networks the app (or deployment slot) is connected to. - * @summary Gets the virtual networks the app (or deployment slot) is connected to. + * Description for Starts an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will start the + * production slot. + * @param options The options parameters. */ - listVnetConnections( + startSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsStartSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + startSlotOperationSpec + ); + } + /** + * Description for Start capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param callback The callback - */ - listVnetConnections( - resourceGroupName: string, - name: string, - callback: msRest.ServiceCallback - ): void; + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + async beginStartNetworkTraceSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStartNetworkTraceSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsStartNetworkTraceSlotResponse + > + > { + 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, name, slot, options }, + startNetworkTraceSlotOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Start capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param options The optional parameters - * @param callback The callback + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. */ - listVnetConnections( - resourceGroupName: string, - name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listVnetConnections( + async beginStartNetworkTraceSlotAndWait( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listVnetConnectionsOperationSpec, - callback - ) as Promise; + slot: string, + options?: WebAppsStartNetworkTraceSlotOptionalParams + ): Promise { + const poller = await this.beginStartNetworkTraceSlot( + resourceGroupName, + name, + slot, + options + ); + return poller.pollUntilDone(); } /** - * Description for Gets a virtual network the app (or deployment slot) is connected to by name. - * @summary Gets a virtual network the app (or deployment slot) is connected to by name. + * Description for Stops an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API will stop the + * production slot. + * @param options The options parameters. */ - getVnetConnection( + stopSlot( resourceGroupName: string, name: string, - vnetName: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsStopSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + stopSlotOperationSpec + ); + } + /** + * Description for Stop ongoing capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param callback The callback + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. */ - getVnetConnection( + stopNetworkTraceSlot( resourceGroupName: string, name: string, - vnetName: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsStopNetworkTraceSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + stopNetworkTraceSlotOperationSpec + ); + } + /** + * Description for Sync web app repository. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param options The optional parameters - * @param callback The callback + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. */ - getVnetConnection( - resourceGroupName: string, - name: string, - vnetName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getVnetConnection( + syncRepositorySlot( resourceGroupName: string, name: string, - vnetName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + options?: WebAppsSyncRepositorySlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - options - }, - getVnetConnectionOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, options }, + syncRepositorySlotOperationSpec + ); } /** - * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the - * connection properties (PATCH). - * @summary Adds a Virtual Network connection to an app or slot (PUT) or updates the connection - * properties (PATCH). + * Description for Syncs function trigger metadata to the management database * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. + * @param options The options parameters. */ - createOrUpdateVnetConnection( + syncFunctionTriggersSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsSyncFunctionTriggersSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + syncFunctionTriggersSlotOperationSpec + ); + } + /** + * Description for List triggered web jobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param callback The callback + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. */ - createOrUpdateVnetConnection( + private _listTriggeredWebJobsSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListTriggeredWebJobsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listTriggeredWebJobsSlotOperationSpec + ); + } + /** + * Description for Gets a triggered web job by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - createOrUpdateVnetConnection( - resourceGroupName: string, - name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateVnetConnection( + getTriggeredWebJobSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + webJobName: string, + slot: string, + options?: WebAppsGetTriggeredWebJobSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - connectionEnvelope, - options - }, - createOrUpdateVnetConnectionOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, webJobName, slot, options }, + getTriggeredWebJobSlotOperationSpec + ); } /** - * Description for Deletes a connection from an app (or deployment slot to a named virtual network. - * @summary Deletes a connection from an app (or deployment slot to a named virtual network. + * Description for Delete a triggered web job by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes web job for the + * production slot. + * @param options The options parameters. */ - deleteVnetConnection( + deleteTriggeredWebJobSlot( resourceGroupName: string, name: string, - vnetName: string, - options?: msRest.RequestOptionsBase - ): Promise; + webJobName: string, + slot: string, + options?: WebAppsDeleteTriggeredWebJobSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, slot, options }, + deleteTriggeredWebJobSlotOperationSpec + ); + } + /** + * Description for List a triggered web job's history for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param callback The callback + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - deleteVnetConnection( + private _listTriggeredWebJobHistorySlot( resourceGroupName: string, name: string, - vnetName: string, - callback: msRest.ServiceCallback - ): void; + webJobName: string, + slot: string, + options?: WebAppsListTriggeredWebJobHistorySlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, slot, options }, + listTriggeredWebJobHistorySlotOperationSpec + ); + } + /** + * Description for Gets a triggered web job's history by its ID for an app, , or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the virtual network. - * @param options The optional parameters - * @param callback The callback + * @param name Site name. + * @param webJobName Name of Web Job. + * @param id History ID. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - deleteVnetConnection( - resourceGroupName: string, - name: string, - vnetName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteVnetConnection( + getTriggeredWebJobHistorySlot( resourceGroupName: string, name: string, - vnetName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + webJobName: string, + id: string, + slot: string, + options?: WebAppsGetTriggeredWebJobHistorySlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - options - }, - deleteVnetConnectionOperationSpec, - callback + { resourceGroupName, name, webJobName, id, slot, options }, + getTriggeredWebJobHistorySlotOperationSpec ); } /** - * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the - * connection properties (PATCH). - * @summary Adds a Virtual Network connection to an app or slot (PUT) or updates the connection - * properties (PATCH). + * Description for Run a triggered web job for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. */ - updateVnetConnection( + runTriggeredWebJobSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - options?: msRest.RequestOptionsBase - ): Promise; + webJobName: string, + slot: string, + options?: WebAppsRunTriggeredWebJobSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, slot, options }, + runTriggeredWebJobSlotOperationSpec + ); + } + /** + * Description for Gets the quota usage information of an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get quota + * information of the production slot. + * @param options The options parameters. */ - updateVnetConnection( + private _listUsagesSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsListUsagesSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listUsagesSlotOperationSpec + ); + } + /** + * Description for Gets the virtual networks the app (or deployment slot) is connected to. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of an existing Virtual Network. - * @param connectionEnvelope Properties of the Virtual Network connection. See example. - * @param options The optional parameters - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get virtual + * network connections for the production slot. + * @param options The options parameters. */ - updateVnetConnection( - resourceGroupName: string, - name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateVnetConnection( + listVnetConnectionsSlot( resourceGroupName: string, name: string, - vnetName: string, - connectionEnvelope: Models.VnetInfo, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - connectionEnvelope, - options - }, - updateVnetConnectionOperationSpec, - callback - ) as Promise; + slot: string, + options?: WebAppsListVnetConnectionsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listVnetConnectionsSlotOperationSpec + ); } /** - * Description for Gets an app's Virtual Network gateway. - * @summary Gets an app's Virtual Network gateway. + * Description for Gets a virtual network the app (or deployment slot) is connected to by name. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param [options] The optional parameters - * @returns Promise + * @param vnetName Name of the virtual network. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named + * virtual network for the production slot. + * @param options The options parameters. */ - getVnetConnectionGateway( + getVnetConnectionSlot( resourceGroupName: string, name: string, vnetName: string, - gatewayName: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsGetVnetConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, slot, options }, + getVnetConnectionSlotOperationSpec + ); + } + /** + * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection + * properties (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param callback The callback + * @param vnetName Name of an existing Virtual Network. + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update + * connections for the production slot. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. */ - getVnetConnectionGateway( + createOrUpdateVnetConnectionSlot( resourceGroupName: string, name: string, vnetName: string, - gatewayName: string, - callback: msRest.ServiceCallback - ): void; + slot: string, + connectionEnvelope: VnetInfoResource, + options?: WebAppsCreateOrUpdateVnetConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, slot, connectionEnvelope, options }, + createOrUpdateVnetConnectionSlotOperationSpec + ); + } + /** + * Description for Deletes a connection from an app (or deployment slot to a named virtual network. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param options The optional parameters - * @param callback The callback + * @param vnetName Name of the virtual network. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the + * connection for the production slot. + * @param options The options parameters. */ - getVnetConnectionGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getVnetConnectionGateway( + deleteVnetConnectionSlot( resourceGroupName: string, name: string, vnetName: string, - gatewayName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + options?: WebAppsDeleteVnetConnectionSlotOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - vnetName, - gatewayName, - options - }, - getVnetConnectionGatewayOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, vnetName, slot, options }, + deleteVnetConnectionSlotOperationSpec + ); } /** - * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). - * @summary Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection + * properties (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param [options] The optional parameters - * @returns Promise + * @param vnetName Name of an existing Virtual Network. + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update + * connections for the production slot. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. */ - createOrUpdateVnetConnectionGateway( + updateVnetConnectionSlot( resourceGroupName: string, name: string, vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + connectionEnvelope: VnetInfoResource, + options?: WebAppsUpdateVnetConnectionSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, slot, connectionEnvelope, options }, + updateVnetConnectionSlotOperationSpec + ); + } + /** + * Description for Gets an app's Virtual Network gateway. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. * @param vnetName Name of the Virtual Network. * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param callback The callback + * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway for + * the production slot's Virtual Network. + * @param options The options parameters. */ - createOrUpdateVnetConnectionGateway( + getVnetConnectionGatewaySlot( resourceGroupName: string, name: string, vnetName: string, gatewayName: string, - connectionEnvelope: Models.VnetGateway, - callback: msRest.ServiceCallback - ): void; + slot: string, + options?: WebAppsGetVnetConnectionGatewaySlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, gatewayName, slot, options }, + getVnetConnectionGatewaySlotOperationSpec + ); + } + /** + * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. * @param vnetName Name of the Virtual Network. * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update a + * gateway for the production slot's Virtual Network. * @param connectionEnvelope The properties to update this gateway with. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdateVnetConnectionGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateVnetConnectionGateway( + createOrUpdateVnetConnectionGatewaySlot( resourceGroupName: string, name: string, vnetName: string, gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + connectionEnvelope: VnetGateway, + options?: WebAppsCreateOrUpdateVnetConnectionGatewaySlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, vnetName, gatewayName, + slot, connectionEnvelope, options }, - createOrUpdateVnetConnectionGatewayOperationSpec, - callback - ) as Promise; + createOrUpdateVnetConnectionGatewaySlotOperationSpec + ); } /** * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). - * @summary Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param [options] The optional parameters - * @returns Promise - */ - updateVnetConnectionGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param vnetName Name of the Virtual Network. - * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". - * @param connectionEnvelope The properties to update this gateway with. - * @param callback The callback - */ - updateVnetConnectionGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. * @param vnetName Name of the Virtual Network. * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update a + * gateway for the production slot's Virtual Network. * @param connectionEnvelope The properties to update this gateway with. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - updateVnetConnectionGateway( - resourceGroupName: string, - name: string, - vnetName: string, - gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateVnetConnectionGateway( + updateVnetConnectionGatewaySlot( resourceGroupName: string, name: string, vnetName: string, gatewayName: string, - connectionEnvelope: Models.VnetGateway, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slot: string, + connectionEnvelope: VnetGateway, + options?: WebAppsUpdateVnetConnectionGatewaySlotOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, name, vnetName, gatewayName, + slot, connectionEnvelope, options }, - updateVnetConnectionGatewayOperationSpec, - callback - ) as Promise; + updateVnetConnectionGatewaySlotOperationSpec + ); } /** * Description for List webjobs for an app, or a deployment slot. - * @summary List webjobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param [options] The optional parameters - * @returns Promise + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - listWebJobs( + private _listWebJobsSlot( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise; + slot: string, + options?: WebAppsListWebJobsSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, slot, options }, + listWebJobsSlotOperationSpec + ); + } + /** + * Description for Get webjob information for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param callback The callback + * @param webJobName Name of the web job. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. */ - listWebJobs( + getWebJobSlot( resourceGroupName: string, name: string, - callback: msRest.ServiceCallback - ): void; + webJobName: string, + slot: string, + options?: WebAppsGetWebJobSlotOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, slot, options }, + getWebJobSlotOperationSpec + ); + } + /** + * Description for Get the difference in configuration settings between two web app slots. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param options The optional parameters - * @param callback The callback + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. */ - listWebJobs( + private _listSlotDifferencesFromProduction( resourceGroupName: string, name: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebJobs( - resourceGroupName: string, - name: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesFromProductionOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - options - }, - listWebJobsOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slotSwapEntity, options }, + listSlotDifferencesFromProductionOperationSpec + ); } /** - * Description for Get webjob information for an app, or a deployment slot. - * @summary Get webjob information for an app, or a deployment slot. + * Description for Swaps two deployment slots of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of the web job. - * @param [options] The optional parameters - * @returns Promise - */ - getWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase - ): Promise; + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + async beginSwapSlotWithProduction( + resourceGroupName: string, + name: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsSwapSlotWithProductionOptionalParams + ): 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, name, slotSwapEntity, options }, + swapSlotWithProductionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Description for Swaps two deployment slots of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of the web job. - * @param callback The callback + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. */ - getWebJob( + async beginSwapSlotWithProductionAndWait( resourceGroupName: string, name: string, - webJobName: string, - callback: msRest.ServiceCallback - ): void; + slotSwapEntity: CsmSlotEntity, + options?: WebAppsSwapSlotWithProductionOptionalParams + ): Promise { + const poller = await this.beginSwapSlotWithProduction( + resourceGroupName, + name, + slotSwapEntity, + options + ); + return poller.pollUntilDone(); + } + /** + * Description for Returns all Snapshots to the user. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param webJobName Name of the web job. - * @param options The optional parameters - * @param callback The callback + * @param name Website Name. + * @param options The options parameters. */ - getWebJob( + private _listSnapshots( resourceGroupName: string, name: string, - webJobName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getWebJob( - resourceGroupName: string, - name: string, - webJobName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebAppsListSnapshotsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - name, - webJobName, - options - }, - getWebJobOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, options }, + listSnapshotsOperationSpec + ); } /** - * Description for Creates a new web, mobile, or API app in an existing resource group, or updates - * an existing app. - * @summary Creates a new web, mobile, or API app in an existing resource group, or updates an - * existing app. + * Description for Returns all Snapshots to the user from DRSecondary endpoint. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param [options] The optional parameters - * @returns Promise + * @param name Website Name. + * @param options The options parameters. */ - beginCreateOrUpdate( + private _listSnapshotsFromDRSecondary( resourceGroupName: string, name: string, - siteEnvelope: Models.Site, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - siteEnvelope, - options - }, - beginCreateOrUpdateOperationSpec, - options + options?: WebAppsListSnapshotsFromDRSecondaryOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listSnapshotsFromDRSecondaryOperationSpec ); } /** - * Description for Restores a specific backup to another app (or deployment slot, if specified). - * @summary Restores a specific backup to another app (or deployment slot, if specified). + * Description for Gets the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param backupId ID of the backup. - * @param request Information on restore request . - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginRestore( + getSourceControl( resourceGroupName: string, name: string, - backupId: string, - request: Models.RestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - backupId, - request, - options - }, - beginRestoreOperationSpec, - options + options?: WebAppsGetSourceControlOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getSourceControlOperationSpec ); } /** - * Description for Gets the Git/FTP publishing credentials of an app. - * @summary Gets the Git/FTP publishing credentials of an app. + * Description for Updates the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. + */ + async beginCreateOrUpdateSourceControl( + resourceGroupName: string, + name: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsCreateOrUpdateSourceControlOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateOrUpdateSourceControlResponse + > + > { + 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, name, siteSourceControl, options }, + createOrUpdateSourceControlOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Updates the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param [options] The optional parameters - * @returns Promise + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. */ - beginListPublishingCredentials( + async beginCreateOrUpdateSourceControlAndWait( resourceGroupName: string, name: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - options - }, - beginListPublishingCredentialsOperationSpec, + siteSourceControl: SiteSourceControl, + options?: WebAppsCreateOrUpdateSourceControlOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateSourceControl( + resourceGroupName, + name, + siteSourceControl, options ); + return poller.pollUntilDone(); } /** - * Description for Invoke the MSDeploy web app extension. - * @summary Invoke the MSDeploy web app extension. + * Description for Deletes the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param mSDeploy Details of MSDeploy operation - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - beginCreateMSDeployOperation( - resourceGroupName: string, - name: string, - mSDeploy: Models.MSDeploy, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - mSDeploy, - options - }, - beginCreateMSDeployOperationOperationSpec, - options + deleteSourceControl( + resourceGroupName: string, + name: string, + options?: WebAppsDeleteSourceControlOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + deleteSourceControlOperationSpec ); } /** - * Description for Create function for web site, or a deployment slot. - * @summary Create function for web site, or a deployment slot. + * Description for Updates the source control configuration of an app. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param functionEnvelope Function details. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. */ - beginCreateFunction( + updateSourceControl( resourceGroupName: string, name: string, - functionName: string, - functionEnvelope: Models.FunctionEnvelope, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - functionName, - functionEnvelope, - options - }, - beginCreateFunctionOperationSpec, - options + siteSourceControl: SiteSourceControl, + options?: WebAppsUpdateSourceControlOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, siteSourceControl, options }, + updateSourceControlOperationSpec ); } /** - * Description for Invoke the MSDeploy web app extension. - * @summary Invoke the MSDeploy web app extension. + * Description for Starts an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param instanceId ID of web app instance. - * @param mSDeploy Details of MSDeploy operation - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - beginCreateInstanceMSDeployOperation( + start( resourceGroupName: string, name: string, - instanceId: string, - mSDeploy: Models.MSDeploy, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - instanceId, - mSDeploy, - options - }, - beginCreateInstanceMSDeployOperationOperationSpec, - options + options?: WebAppsStartOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + startOperationSpec ); } /** - * Description for Restores a web app. - * @summary Restores a web app. - * @param subscriptionName Azure subscription. + * Description for Start capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param migrationOptions Migration migrationOptions. - * @param [options] The optional parameters - * @returns Promise + * @param name The name of the web app. + * @param options The options parameters. + */ + async beginStartNetworkTrace( + resourceGroupName: string, + name: string, + options?: WebAppsStartNetworkTraceOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsStartNetworkTraceResponse + > + > { + 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, name, options }, + startNetworkTraceOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. */ - beginMigrateStorage( - subscriptionName: string, + async beginStartNetworkTraceAndWait( resourceGroupName: string, name: string, - migrationOptions: Models.StorageMigrationOptions, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - subscriptionName, - resourceGroupName, - name, - migrationOptions, - options - }, - beginMigrateStorageOperationSpec, + options?: WebAppsStartNetworkTraceOptionalParams + ): Promise { + const poller = await this.beginStartNetworkTrace( + resourceGroupName, + name, options ); + return poller.pollUntilDone(); } /** - * Description for Migrates a local (in-app) MySql database to a remote MySql database. - * @summary Migrates a local (in-app) MySql database to a remote MySql database. + * Description for Stops an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param migrationRequestEnvelope MySql migration options. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - beginMigrateMySql( + stop( resourceGroupName: string, name: string, - migrationRequestEnvelope: Models.MigrateMySqlRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - migrationRequestEnvelope, - options - }, - beginMigrateMySqlOperationSpec, - options + options?: WebAppsStopOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + stopOperationSpec ); } /** - * Description for Start capturing network packets for the site. - * @summary Start capturing network packets for the site. + * Description for Stop ongoing capturing network packets for the site. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginStartWebSiteNetworkTraceOperation( + stopNetworkTrace( resourceGroupName: string, name: string, - options?: Models.WebAppsBeginStartWebSiteNetworkTraceOperationOptionalParams - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - options - }, - beginStartWebSiteNetworkTraceOperationOperationSpec, - options + options?: WebAppsStopNetworkTraceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + stopNetworkTraceOperationSpec ); } /** - * Description for Approves or rejects a private endpoint connection - * @summary Approves or rejects a private endpoint connection + * Description for Sync web app repository. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName - * @param privateEndpointWrapper - * @param [options] The optional parameters - * @returns Promise + * @param name Name of web app. + * @param options The options parameters. */ - beginApproveOrRejectPrivateEndpointConnection( + syncRepository( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - privateEndpointWrapper: Models.PrivateLinkConnectionApprovalRequestResource, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - privateEndpointConnectionName, - privateEndpointWrapper, - options - }, - beginApproveOrRejectPrivateEndpointConnectionOperationSpec, - options + options?: WebAppsSyncRepositoryOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + syncRepositoryOperationSpec ); } /** - * Description for Deletes a private endpoint connection - * @summary Deletes a private endpoint connection + * Description for Syncs function trigger metadata to the management database * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - beginDeletePrivateEndpointConnection( + syncFunctionTriggers( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - privateEndpointConnectionName, - options - }, - beginDeletePrivateEndpointConnectionOperationSpec, - options + options?: WebAppsSyncFunctionTriggersOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + syncFunctionTriggersOperationSpec ); } /** - * Description for Restores an app from a backup blob in Azure Storage. - * @summary Restores an app from a backup blob in Azure Storage. + * Description for List triggered web jobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param request Information on restore request . - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param options The options parameters. */ - beginRestoreFromBackupBlob( + private _listTriggeredWebJobs( resourceGroupName: string, name: string, - request: Models.RestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - request, - options - }, - beginRestoreFromBackupBlobOperationSpec, - options + options?: WebAppsListTriggeredWebJobsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listTriggeredWebJobsOperationSpec ); } /** - * Description for Restores a deleted web app to this web app. - * @summary Restores a deleted web app to this web app. + * Description for Gets a triggered web job by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param restoreRequest Deleted web app restore information. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - beginRestoreFromDeletedApp( + getTriggeredWebJob( resourceGroupName: string, name: string, - restoreRequest: Models.DeletedAppRestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - restoreRequest, - options - }, - beginRestoreFromDeletedAppOperationSpec, - options + webJobName: string, + options?: WebAppsGetTriggeredWebJobOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, options }, + getTriggeredWebJobOperationSpec ); } /** - * Description for Restores a web app from a snapshot. - * @summary Restores a web app from a snapshot. + * Description for Delete a triggered web job by its ID for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling - * GetDeletedSites or GetSiteSnapshots API. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - beginRestoreSnapshot( + deleteTriggeredWebJob( resourceGroupName: string, name: string, - restoreRequest: Models.SnapshotRestoreRequest, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - restoreRequest, - options - }, - beginRestoreSnapshotOperationSpec, - options + webJobName: string, + options?: WebAppsDeleteTriggeredWebJobOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, options }, + deleteTriggeredWebJobOperationSpec ); } /** - * Description for Install site extension on a web site, or a deployment slot. - * @summary Install site extension on a web site, or a deployment slot. + * Description for List a triggered web job's history for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param siteExtensionId Site extension name. - * @param [options] The optional parameters - * @returns Promise + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - beginInstallSiteExtension( + private _listTriggeredWebJobHistory( resourceGroupName: string, name: string, - siteExtensionId: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - siteExtensionId, - options - }, - beginInstallSiteExtensionOperationSpec, - options + webJobName: string, + options?: WebAppsListTriggeredWebJobHistoryOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, options }, + listTriggeredWebJobHistoryOperationSpec ); } /** - * Description for Creates a new web, mobile, or API app in an existing resource group, or updates - * an existing app. - * @summary Creates a new web, mobile, or API app in an existing resource group, or updates an - * existing app. + * Description for Gets a triggered web job's history by its ID for an app, , or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Unique name of the app to create or update. To create or update a deployment slot, - * use the {slot} parameter. - * @param siteEnvelope A JSON representation of the app properties. See example. - * @param slot Name of the deployment slot to create or update. By default, this API attempts to - * create or modify the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param webJobName Name of Web Job. + * @param id History ID. + * @param options The options parameters. */ - beginCreateOrUpdateSlot( + getTriggeredWebJobHistory( resourceGroupName: string, name: string, - siteEnvelope: Models.Site, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - siteEnvelope, - slot, - options - }, - beginCreateOrUpdateSlotOperationSpec, - options + webJobName: string, + id: string, + options?: WebAppsGetTriggeredWebJobHistoryOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, id, options }, + getTriggeredWebJobHistoryOperationSpec ); } /** - * Description for Restores a specific backup to another app (or deployment slot, if specified). - * @summary Restores a specific backup to another app (or deployment slot, if specified). + * Description for Run a triggered web job for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param backupId ID of the backup. - * @param request Information on restore request . - * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a - * backup of the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. */ - beginRestoreSlot( + runTriggeredWebJob( resourceGroupName: string, name: string, - backupId: string, - request: Models.RestoreRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - backupId, - request, - slot, - options - }, - beginRestoreSlotOperationSpec, - options + webJobName: string, + options?: WebAppsRunTriggeredWebJobOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, options }, + runTriggeredWebJobOperationSpec ); } /** - * Description for Gets the Git/FTP publishing credentials of an app. - * @summary Gets the Git/FTP publishing credentials of an app. + * Description for Gets the quota usage information of an app (or deployment slot, if specified). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slot Name of the deployment slot. If a slot is not specified, the API will get the - * publishing credentials for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginListPublishingCredentialsSlot( + private _listUsages( resourceGroupName: string, name: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - slot, - options - }, - beginListPublishingCredentialsSlotOperationSpec, - options + options?: WebAppsListUsagesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listUsagesOperationSpec ); } /** - * Description for Invoke the MSDeploy web app extension. - * @summary Invoke the MSDeploy web app extension. + * Description for Gets the virtual networks the app (or deployment slot) is connected to. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param mSDeploy Details of MSDeploy operation - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param options The options parameters. */ - beginCreateMSDeployOperationSlot( + listVnetConnections( resourceGroupName: string, name: string, - slot: string, - mSDeploy: Models.MSDeploy, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - slot, - mSDeploy, - options - }, - beginCreateMSDeployOperationSlotOperationSpec, - options + options?: WebAppsListVnetConnectionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listVnetConnectionsOperationSpec ); } /** - * Description for Create function for web site, or a deployment slot. - * @summary Create function for web site, or a deployment slot. + * Description for Gets a virtual network the app (or deployment slot) is connected to by name. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Site name. - * @param functionName Function name. - * @param slot Name of the deployment slot. - * @param functionEnvelope Function details. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param vnetName Name of the virtual network. + * @param options The options parameters. */ - beginCreateInstanceFunctionSlot( + getVnetConnection( resourceGroupName: string, name: string, - functionName: string, - slot: string, - functionEnvelope: Models.FunctionEnvelope, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - functionName, - slot, - functionEnvelope, - options - }, - beginCreateInstanceFunctionSlotOperationSpec, - options + vnetName: string, + options?: WebAppsGetVnetConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, options }, + getVnetConnectionOperationSpec ); } /** - * Description for Invoke the MSDeploy web app extension. - * @summary Invoke the MSDeploy web app extension. + * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection + * properties (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param instanceId ID of web app instance. - * @param mSDeploy Details of MSDeploy operation - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param vnetName Name of an existing Virtual Network. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. */ - beginCreateInstanceMSDeployOperationSlot( + createOrUpdateVnetConnection( resourceGroupName: string, name: string, - slot: string, - instanceId: string, - mSDeploy: Models.MSDeploy, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - slot, - instanceId, - mSDeploy, - options - }, - beginCreateInstanceMSDeployOperationSlotOperationSpec, - options + vnetName: string, + connectionEnvelope: VnetInfoResource, + options?: WebAppsCreateOrUpdateVnetConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, connectionEnvelope, options }, + createOrUpdateVnetConnectionOperationSpec ); } /** - * Description for Start capturing network packets for the site. - * @summary Start capturing network packets for the site. + * Description for Deletes a connection from an app (or deployment slot to a named virtual network. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param vnetName Name of the virtual network. + * @param options The options parameters. */ - beginStartWebSiteNetworkTraceOperationSlot( + deleteVnetConnection( resourceGroupName: string, name: string, - slot: string, - options?: Models.WebAppsBeginStartWebSiteNetworkTraceOperationSlotOptionalParams - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - slot, - options - }, - beginStartWebSiteNetworkTraceOperationSlotOperationSpec, - options + vnetName: string, + options?: WebAppsDeleteVnetConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, options }, + deleteVnetConnectionOperationSpec ); } /** - * Description for Approves or rejects a private endpoint connection - * @summary Approves or rejects a private endpoint connection + * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection + * properties (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName - * @param privateEndpointWrapper - * @param slot - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param vnetName Name of an existing Virtual Network. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. */ - beginApproveOrRejectPrivateEndpointConnectionSlot( + updateVnetConnection( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - privateEndpointWrapper: Models.PrivateLinkConnectionApprovalRequestResource, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - privateEndpointConnectionName, - privateEndpointWrapper, - slot, - options - }, - beginApproveOrRejectPrivateEndpointConnectionSlotOperationSpec, - options + vnetName: string, + connectionEnvelope: VnetInfoResource, + options?: WebAppsUpdateVnetConnectionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, connectionEnvelope, options }, + updateVnetConnectionOperationSpec ); } /** - * Description for Deletes a private endpoint connection - * @summary Deletes a private endpoint connection + * Description for Gets an app's Virtual Network gateway. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the site. - * @param privateEndpointConnectionName - * @param slot - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param options The options parameters. */ - beginDeletePrivateEndpointConnectionSlot( + getVnetConnectionGateway( resourceGroupName: string, name: string, - privateEndpointConnectionName: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - privateEndpointConnectionName, - slot, - options - }, - beginDeletePrivateEndpointConnectionSlotOperationSpec, - options + vnetName: string, + gatewayName: string, + options?: WebAppsGetVnetConnectionGatewayOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, vnetName, gatewayName, options }, + getVnetConnectionGatewayOperationSpec ); } /** - * Description for Restores an app from a backup blob in Azure Storage. - * @summary Restores an app from a backup blob in Azure Storage. + * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param request Information on restore request . - * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a - * backup of the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param connectionEnvelope The properties to update this gateway with. + * @param options The options parameters. */ - beginRestoreFromBackupBlobSlot( + createOrUpdateVnetConnectionGateway( resourceGroupName: string, name: string, - request: Models.RestoreRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( + vnetName: string, + gatewayName: string, + connectionEnvelope: VnetGateway, + options?: WebAppsCreateOrUpdateVnetConnectionGatewayOptionalParams + ): Promise { + return this.client.sendOperationRequest( { resourceGroupName, name, - request, - slot, + vnetName, + gatewayName, + connectionEnvelope, options }, - beginRestoreFromBackupBlobSlotOperationSpec, - options + createOrUpdateVnetConnectionGatewayOperationSpec ); } /** - * Description for Restores a deleted web app to this web app. - * @summary Restores a deleted web app to this web app. + * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param restoreRequest Deleted web app restore information. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param connectionEnvelope The properties to update this gateway with. + * @param options The options parameters. */ - beginRestoreFromDeletedAppSlot( + updateVnetConnectionGateway( resourceGroupName: string, name: string, - restoreRequest: Models.DeletedAppRestoreRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( + vnetName: string, + gatewayName: string, + connectionEnvelope: VnetGateway, + options?: WebAppsUpdateVnetConnectionGatewayOptionalParams + ): Promise { + return this.client.sendOperationRequest( { resourceGroupName, name, - restoreRequest, - slot, + vnetName, + gatewayName, + connectionEnvelope, options }, - beginRestoreFromDeletedAppSlotOperationSpec, - options + updateVnetConnectionGatewayOperationSpec ); } /** - * Description for Restores a web app from a snapshot. - * @summary Restores a web app from a snapshot. + * Description for List webjobs for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of web app. - * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling - * GetDeletedSites or GetSiteSnapshots API. - * @param slot Name of web app slot. If not specified then will default to production slot. - * @param [options] The optional parameters - * @returns Promise + * @param name Site name. + * @param options The options parameters. */ - beginRestoreSnapshotSlot( + private _listWebJobs( resourceGroupName: string, name: string, - restoreRequest: Models.SnapshotRestoreRequest, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - restoreRequest, - slot, - options - }, - beginRestoreSnapshotSlotOperationSpec, - options + options?: WebAppsListWebJobsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listWebJobsOperationSpec ); } /** - * Description for Install site extension on a web site, or a deployment slot. - * @summary Install site extension on a web site, or a deployment slot. + * Description for Get webjob information for an app, or a deployment slot. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Site name. - * @param siteExtensionId Site extension name. - * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production - * slot. - * @param [options] The optional parameters - * @returns Promise + * @param webJobName Name of the web job. + * @param options The options parameters. */ - beginInstallSiteExtensionSlot( + getWebJob( resourceGroupName: string, name: string, - siteExtensionId: string, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - siteExtensionId, - slot, - options - }, - beginInstallSiteExtensionSlotOperationSpec, - options + webJobName: string, + options?: WebAppsGetWebJobOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, webJobName, options }, + getWebJobOperationSpec ); } /** - * Description for Swaps two deployment slots of an app. - * @summary Swaps two deployment slots of an app. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param slot Name of the source slot. If a slot is not specified, the production slot is used as - * the source slot. - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - beginSwapSlotSlot( - resourceGroupName: string, - name: string, - slotSwapEntity: Models.CsmSlotEntity, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - slotSwapEntity, - slot, - options - }, - beginSwapSlotSlotOperationSpec, - options + private _listNext( + nextLink: string, + options?: WebAppsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec ); } /** - * Description for Updates the source control configuration of an app. - * @summary Updates the source control configuration of an app. + * ListByResourceGroupNext * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param slot Name of the deployment slot. If a slot is not specified, the API will update the - * source control configuration for the production slot. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - beginCreateOrUpdateSourceControlSlot( + private _listByResourceGroupNext( resourceGroupName: string, - name: string, - siteSourceControl: Models.SiteSourceControl, - slot: string, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - siteSourceControl, - slot, - options - }, - beginCreateOrUpdateSourceControlSlotOperationSpec, - options + nextLink: string, + options?: WebAppsListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec ); } /** - * Description for Start capturing network packets for the site. - * @summary Start capturing network packets for the site. + * ListBackupsNext * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param slot The name of the slot for this web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListBackups method. + * @param options The options parameters. */ - beginStartNetworkTraceSlot( + private _listBackupsNext( resourceGroupName: string, name: string, - slot: string, - options?: Models.WebAppsBeginStartNetworkTraceSlotOptionalParams - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - slot, - options - }, - beginStartNetworkTraceSlotOperationSpec, - options + nextLink: string, + options?: WebAppsListBackupsNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, nextLink, options }, + listBackupsNextOperationSpec ); } /** - * Description for Swaps two deployment slots of an app. - * @summary Swaps two deployment slots of an app. + * ListBasicPublishingCredentialsPoliciesNext * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param slotSwapEntity JSON object that contains the target slot name. See example. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the + * ListBasicPublishingCredentialsPolicies method. + * @param options The options parameters. */ - beginSwapSlotWithProduction( + private _listBasicPublishingCredentialsPoliciesNext( resourceGroupName: string, name: string, - slotSwapEntity: Models.CsmSlotEntity, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - slotSwapEntity, - options - }, - beginSwapSlotWithProductionOperationSpec, - options + nextLink: string, + options?: WebAppsListBasicPublishingCredentialsPoliciesNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, nextLink, options }, + listBasicPublishingCredentialsPoliciesNextOperationSpec ); } /** - * Description for Updates the source control configuration of an app. - * @summary Updates the source control configuration of an app. + * ListConfigurationsNext * @param resourceGroupName Name of the resource group to which the resource belongs. * @param name Name of the app. - * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the ListConfigurations method. + * @param options The options parameters. */ - beginCreateOrUpdateSourceControl( + private _listConfigurationsNext( resourceGroupName: string, name: string, - siteSourceControl: Models.SiteSourceControl, - options?: msRest.RequestOptionsBase - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - siteSourceControl, - options - }, - beginCreateOrUpdateSourceControlOperationSpec, - options + nextLink: string, + options?: WebAppsListConfigurationsNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, nextLink, options }, + listConfigurationsNextOperationSpec ); } /** - * Description for Start capturing network packets for the site. - * @summary Start capturing network packets for the site. + * GetAppSettingsKeyVaultReferencesNext * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param name The name of the web app. - * @param [options] The optional parameters - * @returns Promise + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the + * GetAppSettingsKeyVaultReferences method. + * @param options The options parameters. */ - beginStartNetworkTrace( + private _getAppSettingsKeyVaultReferencesNext( resourceGroupName: string, name: string, - options?: Models.WebAppsBeginStartNetworkTraceOptionalParams - ): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - name, - options - }, - beginStartNetworkTraceOperationSpec, - options - ); - } - - /** - * Description for Get all apps for a subscription. - * @summary Get all apps for a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + nextLink: string, + options?: WebAppsGetAppSettingsKeyVaultReferencesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getAppSettingsKeyVaultReferencesNextOperationSpec + ); } /** - * Description for Gets all web, mobile, and API apps in the specified resource group. - * @summary Gets all web, mobile, and API apps in the specified resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext( - nextPageLink: string, - options?: Models.WebAppsListByResourceGroupNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroupNext( - nextPageLink: string, - options: Models.WebAppsListByResourceGroupNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByResourceGroupNext( - nextPageLink: string, - options?: - | Models.WebAppsListByResourceGroupNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * GetSiteConnectionStringKeyVaultReferencesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the + * GetSiteConnectionStringKeyVaultReferences method. + * @param options The options parameters. + */ + private _getSiteConnectionStringKeyVaultReferencesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getSiteConnectionStringKeyVaultReferencesNextOperationSpec + ); } /** - * Description for Gets existing backups of an app. - * @summary Gets existing backups of an app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBackupsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listBackupsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listBackupsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listBackupsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListConfigurationSnapshotInfoNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListConfigurationSnapshotInfo + * method. + * @param options The options parameters. + */ + private _listConfigurationSnapshotInfoNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListConfigurationSnapshotInfoNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listBackupsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listConfigurationSnapshotInfoNextOperationSpec + ); } /** - * Description for List the configurations of an app - * @summary List the configurations of an app - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listConfigurationsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listConfigurationsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listConfigurationsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConfigurationsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListContinuousWebJobsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param nextLink The nextLink from the previous successful call to the ListContinuousWebJobs method. + * @param options The options parameters. + */ + private _listContinuousWebJobsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListContinuousWebJobsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listConfigurationsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listContinuousWebJobsNextOperationSpec + ); } /** - * Description for Gets the config reference app settings and status of an app - * @summary Gets the config reference app settings and status of an app - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getAppSettingsKeyVaultReferencesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getAppSettingsKeyVaultReferencesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - getAppSettingsKeyVaultReferencesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAppSettingsKeyVaultReferencesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListDeploymentsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListDeployments method. + * @param options The options parameters. + */ + private _listDeploymentsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListDeploymentsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getAppSettingsKeyVaultReferencesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listDeploymentsNextOperationSpec + ); } /** - * Description for Gets the config reference app settings and status of an app - * @summary Gets the config reference app settings and status of an app - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getSiteConnectionStringKeyVaultReferencesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferencesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferencesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSiteConnectionStringKeyVaultReferencesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListDomainOwnershipIdentifiersNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListDomainOwnershipIdentifiers + * method. + * @param options The options parameters. + */ + private _listDomainOwnershipIdentifiersNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListDomainOwnershipIdentifiersNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getSiteConnectionStringKeyVaultReferencesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listDomainOwnershipIdentifiersNextOperationSpec + ); } /** - * Description for Gets a list of web app configuration snapshots identifiers. Each element of the - * list contains a timestamp and the ID of the snapshot. - * @summary Gets a list of web app configuration snapshots identifiers. Each element of the list - * contains a timestamp and the ID of the snapshot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listConfigurationSnapshotInfoNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listConfigurationSnapshotInfoNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listConfigurationSnapshotInfoNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConfigurationSnapshotInfoNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListFunctionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param nextLink The nextLink from the previous successful call to the ListFunctions method. + * @param options The options parameters. + */ + private _listFunctionsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListFunctionsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listConfigurationSnapshotInfoNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listFunctionsNextOperationSpec + ); } /** - * Description for List continuous web jobs for an app, or a deployment slot. - * @summary List continuous web jobs for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listContinuousWebJobsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listContinuousWebJobsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listContinuousWebJobsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listContinuousWebJobsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListHostNameBindingsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListHostNameBindings method. + * @param options The options parameters. + */ + private _listHostNameBindingsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListHostNameBindingsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listContinuousWebJobsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listHostNameBindingsNextOperationSpec + ); } /** - * Description for List deployments for an app, or a deployment slot. - * @summary List deployments for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listDeploymentsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listDeploymentsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listDeploymentsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDeploymentsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceIdentifiersNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListInstanceIdentifiers + * method. + * @param options The options parameters. + */ + private _listInstanceIdentifiersNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListInstanceIdentifiersNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listDeploymentsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listInstanceIdentifiersNextOperationSpec + ); } /** - * Description for Lists ownership identifiers for domain associated with web app. - * @summary Lists ownership identifiers for domain associated with web app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listDomainOwnershipIdentifiersNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listDomainOwnershipIdentifiersNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listDomainOwnershipIdentifiersNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDomainOwnershipIdentifiersNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceProcessesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param nextLink The nextLink from the previous successful call to the ListInstanceProcesses method. + * @param options The options parameters. + */ + private _listInstanceProcessesNext( + resourceGroupName: string, + name: string, + instanceId: string, + nextLink: string, + options?: WebAppsListInstanceProcessesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listDomainOwnershipIdentifiersNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, instanceId, nextLink, options }, + listInstanceProcessesNextOperationSpec + ); } /** - * Description for List the functions for a web site, or a deployment slot. - * @summary List the functions for a web site, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listFunctionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listFunctionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listFunctionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listFunctionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceProcessModulesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param nextLink The nextLink from the previous successful call to the ListInstanceProcessModules + * method. + * @param options The options parameters. + */ + private _listInstanceProcessModulesNext( + resourceGroupName: string, + name: string, + processId: string, + instanceId: string, + nextLink: string, + options?: WebAppsListInstanceProcessModulesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listFunctionsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, instanceId, nextLink, options }, + listInstanceProcessModulesNextOperationSpec + ); } /** - * Description for Get hostname bindings for an app or a deployment slot. - * @summary Get hostname bindings for an app or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listHostNameBindingsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listHostNameBindingsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listHostNameBindingsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHostNameBindingsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceProcessThreadsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param nextLink The nextLink from the previous successful call to the ListInstanceProcessThreads + * method. + * @param options The options parameters. + */ + private _listInstanceProcessThreadsNext( + resourceGroupName: string, + name: string, + processId: string, + instanceId: string, + nextLink: string, + options?: WebAppsListInstanceProcessThreadsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listHostNameBindingsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, instanceId, nextLink, options }, + listInstanceProcessThreadsNextOperationSpec + ); } /** - * Description for Gets all scale-out instances of an app. - * @summary Gets all scale-out instances of an app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceIdentifiersNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceIdentifiersNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceIdentifiersNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceIdentifiersNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSiteBackupsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListSiteBackups method. + * @param options The options parameters. + */ + private _listSiteBackupsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListSiteBackupsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listInstanceIdentifiersNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listSiteBackupsNextOperationSpec + ); } /** - * Description for Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @summary Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceProcessesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcessesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listInstanceProcessesNextOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List module information for a process by its ID for a specific scaled-out - * instance in a web site. - * @summary List module information for a process by its ID for a specific scaled-out instance in a - * web site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessModulesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceProcessModulesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcessModulesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessModulesNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListPerfMonCountersNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param nextLink The nextLink from the previous successful call to the ListPerfMonCounters method. + * @param options The options parameters. + */ + private _listPerfMonCountersNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListPerfMonCountersNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listInstanceProcessModulesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listPerfMonCountersNextOperationSpec + ); } /** - * Description for List the threads in a process by its ID for a specific scaled-out instance in a - * web site. - * @summary List the threads in a process by its ID for a specific scaled-out instance in a web - * site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessThreadsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceProcessThreadsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcessThreadsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessThreadsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * GetPrivateEndpointConnectionListNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param nextLink The nextLink from the previous successful call to the + * GetPrivateEndpointConnectionList method. + * @param options The options parameters. + */ + private _getPrivateEndpointConnectionListNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsGetPrivateEndpointConnectionListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listInstanceProcessThreadsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + getPrivateEndpointConnectionListNextOperationSpec + ); } /** - * Description for Gets existing backups of an app. - * @summary Gets existing backups of an app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteBackupsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteBackupsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteBackupsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteBackupsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListProcessesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param nextLink The nextLink from the previous successful call to the ListProcesses method. + * @param options The options parameters. + */ + private _listProcessesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListProcessesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteBackupsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listProcessesNextOperationSpec + ); } /** - * Description for Gets perfmon counters for web app. - * @summary Gets perfmon counters for web app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listPerfMonCountersNext( - nextPageLink: string, - options?: Models.WebAppsListPerfMonCountersNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listPerfMonCountersNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listPerfMonCountersNext( - nextPageLink: string, - options: Models.WebAppsListPerfMonCountersNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listPerfMonCountersNext( - nextPageLink: string, - options?: - | Models.WebAppsListPerfMonCountersNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListProcessModulesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param nextLink The nextLink from the previous successful call to the ListProcessModules method. + * @param options The options parameters. + */ + private _listProcessModulesNext( + resourceGroupName: string, + name: string, + processId: string, + nextLink: string, + options?: WebAppsListProcessModulesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listPerfMonCountersNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, nextLink, options }, + listProcessModulesNextOperationSpec + ); } /** - * Description for Gets the list of private endpoint connections associated with a site - * @summary Gets the list of private endpoint connections associated with a site - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionListNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListProcessThreadsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param nextLink The nextLink from the previous successful call to the ListProcessThreads method. + * @param options The options parameters. + */ + private _listProcessThreadsNext( + resourceGroupName: string, + name: string, + processId: string, + nextLink: string, + options?: WebAppsListProcessThreadsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getPrivateEndpointConnectionListNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, nextLink, options }, + listProcessThreadsNextOperationSpec + ); } /** - * Description for Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @summary Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listProcessesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listProcessesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listProcessesNextOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List module information for a process by its ID for a specific scaled-out - * instance in a web site. - * @summary List module information for a process by its ID for a specific scaled-out instance in a - * web site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessModulesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listProcessModulesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listProcessModulesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessModulesNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListPublicCertificatesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListPublicCertificates method. + * @param options The options parameters. + */ + private _listPublicCertificatesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListPublicCertificatesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listProcessModulesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listPublicCertificatesNextOperationSpec + ); } /** - * Description for List the threads in a process by its ID for a specific scaled-out instance in a - * web site. - * @summary List the threads in a process by its ID for a specific scaled-out instance in a web - * site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessThreadsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listProcessThreadsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listProcessThreadsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessThreadsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSiteExtensionsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param nextLink The nextLink from the previous successful call to the ListSiteExtensions method. + * @param options The options parameters. + */ + private _listSiteExtensionsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListSiteExtensionsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listProcessThreadsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listSiteExtensionsNextOperationSpec + ); } /** - * Description for Get public certificates for an app or a deployment slot. - * @summary Get public certificates for an app or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listPublicCertificatesNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listPublicCertificatesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listPublicCertificatesNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPublicCertificatesNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSlotsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListSlots method. + * @param options The options parameters. + */ + private _listSlotsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListSlotsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listPublicCertificatesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listSlotsNextOperationSpec + ); } /** - * Description for Get list of siteextensions for a web site, or a deployment slot. - * @summary Get list of siteextensions for a web site, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteExtensionsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteExtensionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteExtensionsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteExtensionsNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListBackupsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of the + * production slot. + * @param nextLink The nextLink from the previous successful call to the ListBackupsSlot method. + * @param options The options parameters. + */ + private _listBackupsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListBackupsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteExtensionsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listBackupsSlotNextOperationSpec + ); } /** - * Description for Gets an app's deployment slots. - * @summary Gets an app's deployment slots. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSlotsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSlotsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSlotsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSlotsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListBasicPublishingCredentialsPoliciesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param nextLink The nextLink from the previous successful call to the + * ListBasicPublishingCredentialsPoliciesSlot method. + * @param options The options parameters. + */ + private _listBasicPublishingCredentialsPoliciesSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListBasicPublishingCredentialsPoliciesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSlotsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listBasicPublishingCredentialsPoliciesSlotNextOperationSpec + ); } /** - * Description for Gets existing backups of an app. - * @summary Gets existing backups of an app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBackupsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listBackupsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listBackupsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listBackupsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListConfigurationsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param nextLink The nextLink from the previous successful call to the ListConfigurationsSlot method. + * @param options The options parameters. + */ + private _listConfigurationsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListConfigurationsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listBackupsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listConfigurationsSlotNextOperationSpec + ); } /** - * Description for List the configurations of an app - * @summary List the configurations of an app - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listConfigurationsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listConfigurationsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listConfigurationsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConfigurationsSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * GetAppSettingsKeyVaultReferencesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param nextLink The nextLink from the previous successful call to the + * GetAppSettingsKeyVaultReferencesSlot method. + * @param options The options parameters. + */ + private _getAppSettingsKeyVaultReferencesSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsGetAppSettingsKeyVaultReferencesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listConfigurationsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + getAppSettingsKeyVaultReferencesSlotNextOperationSpec + ); } /** - * Description for Gets the config reference app settings and status of an app - * @summary Gets the config reference app settings and status of an app - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getAppSettingsKeyVaultReferencesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getAppSettingsKeyVaultReferencesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - getAppSettingsKeyVaultReferencesSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getAppSettingsKeyVaultReferencesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * GetSiteConnectionStringKeyVaultReferencesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param nextLink The nextLink from the previous successful call to the + * GetSiteConnectionStringKeyVaultReferencesSlot method. + * @param options The options parameters. + */ + private _getSiteConnectionStringKeyVaultReferencesSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getAppSettingsKeyVaultReferencesSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + getSiteConnectionStringKeyVaultReferencesSlotNextOperationSpec + ); } /** - * Description for Gets the config reference app settings and status of an app - * @summary Gets the config reference app settings and status of an app - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getSiteConnectionStringKeyVaultReferencesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferencesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - getSiteConnectionStringKeyVaultReferencesSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSiteConnectionStringKeyVaultReferencesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListConfigurationSnapshotInfoSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param nextLink The nextLink from the previous successful call to the + * ListConfigurationSnapshotInfoSlot method. + * @param options The options parameters. + */ + private _listConfigurationSnapshotInfoSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListConfigurationSnapshotInfoSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getSiteConnectionStringKeyVaultReferencesSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listConfigurationSnapshotInfoSlotNextOperationSpec + ); } /** - * Description for Gets a list of web app configuration snapshots identifiers. Each element of the - * list contains a timestamp and the ID of the snapshot. - * @summary Gets a list of web app configuration snapshots identifiers. Each element of the list - * contains a timestamp and the ID of the snapshot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listConfigurationSnapshotInfoSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listConfigurationSnapshotInfoSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listConfigurationSnapshotInfoSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listConfigurationSnapshotInfoSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListContinuousWebJobsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param nextLink The nextLink from the previous successful call to the ListContinuousWebJobsSlot + * method. + * @param options The options parameters. + */ + private _listContinuousWebJobsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListContinuousWebJobsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listConfigurationSnapshotInfoSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listContinuousWebJobsSlotNextOperationSpec + ); } /** - * Description for List continuous web jobs for an app, or a deployment slot. - * @summary List continuous web jobs for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listContinuousWebJobsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listContinuousWebJobsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listContinuousWebJobsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listContinuousWebJobsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListDeploymentsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param nextLink The nextLink from the previous successful call to the ListDeploymentsSlot method. + * @param options The options parameters. + */ + private _listDeploymentsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListDeploymentsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listContinuousWebJobsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listDeploymentsSlotNextOperationSpec + ); } /** - * Description for List deployments for an app, or a deployment slot. - * @summary List deployments for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listDeploymentsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listDeploymentsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listDeploymentsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDeploymentsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListDomainOwnershipIdentifiersSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param nextLink The nextLink from the previous successful call to the + * ListDomainOwnershipIdentifiersSlot method. + * @param options The options parameters. + */ + private _listDomainOwnershipIdentifiersSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListDomainOwnershipIdentifiersSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listDeploymentsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listDomainOwnershipIdentifiersSlotNextOperationSpec + ); } /** - * Description for Lists ownership identifiers for domain associated with web app. - * @summary Lists ownership identifiers for domain associated with web app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listDomainOwnershipIdentifiersSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listDomainOwnershipIdentifiersSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listDomainOwnershipIdentifiersSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listDomainOwnershipIdentifiersSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceFunctionsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. + * @param nextLink The nextLink from the previous successful call to the ListInstanceFunctionsSlot + * method. + * @param options The options parameters. + */ + private _listInstanceFunctionsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListInstanceFunctionsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listDomainOwnershipIdentifiersSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listInstanceFunctionsSlotNextOperationSpec + ); } /** - * Description for List the functions for a web site, or a deployment slot. - * @summary List the functions for a web site, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceFunctionsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceFunctionsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceFunctionsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceFunctionsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListHostNameBindingsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname bindings + * for the production slot. + * @param nextLink The nextLink from the previous successful call to the ListHostNameBindingsSlot + * method. + * @param options The options parameters. + */ + private _listHostNameBindingsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListHostNameBindingsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listInstanceFunctionsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listHostNameBindingsSlotNextOperationSpec + ); } /** - * Description for Get hostname bindings for an app or a deployment slot. - * @summary Get hostname bindings for an app or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listHostNameBindingsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listHostNameBindingsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listHostNameBindingsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listHostNameBindingsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceIdentifiersSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production + * slot instances. + * @param nextLink The nextLink from the previous successful call to the ListInstanceIdentifiersSlot + * method. + * @param options The options parameters. + */ + private _listInstanceIdentifiersSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListInstanceIdentifiersSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listHostNameBindingsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listInstanceIdentifiersSlotNextOperationSpec + ); } /** - * Description for Gets all scale-out instances of an app. - * @summary Gets all scale-out instances of an app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceIdentifiersSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceIdentifiersSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceIdentifiersSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceIdentifiersSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceProcessesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param nextLink The nextLink from the previous successful call to the ListInstanceProcessesSlot + * method. + * @param options The options parameters. + */ + private _listInstanceProcessesSlotNext( + resourceGroupName: string, + name: string, + slot: string, + instanceId: string, + nextLink: string, + options?: WebAppsListInstanceProcessesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listInstanceIdentifiersSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, instanceId, nextLink, options }, + listInstanceProcessesSlotNextOperationSpec + ); } /** - * Description for Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @summary Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceProcessesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcessesSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listInstanceProcessesSlotNextOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List module information for a process by its ID for a specific scaled-out - * instance in a web site. - * @summary List module information for a process by its ID for a specific scaled-out instance in a - * web site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessModulesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceProcessModulesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcessModulesSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessModulesSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceProcessModulesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param nextLink The nextLink from the previous successful call to the ListInstanceProcessModulesSlot + * method. + * @param options The options parameters. + */ + private _listInstanceProcessModulesSlotNext( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + instanceId: string, + nextLink: string, + options?: WebAppsListInstanceProcessModulesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + name, + processId, + slot, + instanceId, + nextLink, options }, - listInstanceProcessModulesSlotNextOperationSpec, - callback - ) as Promise; + listInstanceProcessModulesSlotNextOperationSpec + ); } /** - * Description for List the threads in a process by its ID for a specific scaled-out instance in a - * web site. - * @summary List the threads in a process by its ID for a specific scaled-out instance in a web - * site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listInstanceProcessThreadsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listInstanceProcessThreadsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listInstanceProcessThreadsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listInstanceProcessThreadsSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListInstanceProcessThreadsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param nextLink The nextLink from the previous successful call to the ListInstanceProcessThreadsSlot + * method. + * @param options The options parameters. + */ + private _listInstanceProcessThreadsSlotNext( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + instanceId: string, + nextLink: string, + options?: WebAppsListInstanceProcessThreadsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + name, + processId, + slot, + instanceId, + nextLink, options }, - listInstanceProcessThreadsSlotNextOperationSpec, - callback - ) as Promise; + listInstanceProcessThreadsSlotNextOperationSpec + ); } /** - * Description for Gets existing backups of an app. - * @summary Gets existing backups of an app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteBackupsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteBackupsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteBackupsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteBackupsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSiteBackupsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of the + * production slot. + * @param nextLink The nextLink from the previous successful call to the ListSiteBackupsSlot method. + * @param options The options parameters. + */ + private _listSiteBackupsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListSiteBackupsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteBackupsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listSiteBackupsSlotNextOperationSpec + ); } /** - * Description for Gets perfmon counters for web app. - * @summary Gets perfmon counters for web app. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listPerfMonCountersSlotNext( - nextPageLink: string, - options?: Models.WebAppsListPerfMonCountersSlotNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listPerfMonCountersSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listPerfMonCountersSlotNext( - nextPageLink: string, - options: Models.WebAppsListPerfMonCountersSlotNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listPerfMonCountersSlotNext( - nextPageLink: string, - options?: - | Models.WebAppsListPerfMonCountersSlotNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListPerfMonCountersSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param nextLink The nextLink from the previous successful call to the ListPerfMonCountersSlot + * method. + * @param options The options parameters. + */ + private _listPerfMonCountersSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListPerfMonCountersSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listPerfMonCountersSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listPerfMonCountersSlotNextOperationSpec + ); } /** - * Description for Gets the list of private endpoint connections associated with a site - * @summary Gets the list of private endpoint connections associated with a site - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - getPrivateEndpointConnectionListSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - getPrivateEndpointConnectionListSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - getPrivateEndpointConnectionListSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPrivateEndpointConnectionListSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * GetPrivateEndpointConnectionListSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param slot Name of the site deployment slot. + * @param nextLink The nextLink from the previous successful call to the + * GetPrivateEndpointConnectionListSlot method. + * @param options The options parameters. + */ + private _getPrivateEndpointConnectionListSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsGetPrivateEndpointConnectionListSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - getPrivateEndpointConnectionListSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + getPrivateEndpointConnectionListSlotNextOperationSpec + ); } /** - * Description for Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @summary Get list of processes for a web site, or a deployment slot, or for a specific - * scaled-out instance in a web site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listProcessesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listProcessesSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListProcessesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param nextLink The nextLink from the previous successful call to the ListProcessesSlot method. + * @param options The options parameters. + */ + private _listProcessesSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListProcessesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listProcessesSlotNextOperationSpec, - callback - ) as Promise; - } - - /** - * Description for List module information for a process by its ID for a specific scaled-out - * instance in a web site. - * @summary List module information for a process by its ID for a specific scaled-out instance in a - * web site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessModulesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listProcessModulesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listProcessModulesSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessModulesSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + { resourceGroupName, name, slot, nextLink, options }, + listProcessesSlotNextOperationSpec + ); + } + + /** + * ListProcessModulesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param nextLink The nextLink from the previous successful call to the ListProcessModulesSlot method. + * @param options The options parameters. + */ + private _listProcessModulesSlotNext( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + nextLink: string, + options?: WebAppsListProcessModulesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listProcessModulesSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, slot, nextLink, options }, + listProcessModulesSlotNextOperationSpec + ); } /** - * Description for List the threads in a process by its ID for a specific scaled-out instance in a - * web site. - * @summary List the threads in a process by its ID for a specific scaled-out instance in a web - * site. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listProcessThreadsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listProcessThreadsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listProcessThreadsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listProcessThreadsSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListProcessThreadsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param nextLink The nextLink from the previous successful call to the ListProcessThreadsSlot method. + * @param options The options parameters. + */ + private _listProcessThreadsSlotNext( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + nextLink: string, + options?: WebAppsListProcessThreadsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listProcessThreadsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, processId, slot, nextLink, options }, + listProcessThreadsSlotNextOperationSpec + ); } /** - * Description for Get public certificates for an app or a deployment slot. - * @summary Get public certificates for an app or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listPublicCertificatesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listPublicCertificatesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listPublicCertificatesSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPublicCertificatesSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListPublicCertificatesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname bindings + * for the production slot. + * @param nextLink The nextLink from the previous successful call to the ListPublicCertificatesSlot + * method. + * @param options The options parameters. + */ + private _listPublicCertificatesSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListPublicCertificatesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listPublicCertificatesSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listPublicCertificatesSlotNextOperationSpec + ); } /** - * Description for Get list of siteextensions for a web site, or a deployment slot. - * @summary Get list of siteextensions for a web site, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteExtensionsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteExtensionsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteExtensionsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteExtensionsSlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSiteExtensionsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param nextLink The nextLink from the previous successful call to the ListSiteExtensionsSlot method. + * @param options The options parameters. + */ + private _listSiteExtensionsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListSiteExtensionsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteExtensionsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listSiteExtensionsSlotNextOperationSpec + ); } /** - * Description for Get the difference in configuration settings between two web app slots. - * @summary Get the difference in configuration settings between two web app slots. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSlotDifferencesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSlotDifferencesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSlotDifferencesSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSlotDifferencesSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSlotDifferencesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param nextLink The nextLink from the previous successful call to the ListSlotDifferencesSlot + * method. + * @param options The options parameters. + */ + private _listSlotDifferencesSlotNext( + resourceGroupName: string, + name: string, + slot: string, + slotSwapEntity: CsmSlotEntity, + nextLink: string, + options?: WebAppsListSlotDifferencesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSlotDifferencesSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, slotSwapEntity, nextLink, options }, + listSlotDifferencesSlotNextOperationSpec + ); } /** - * Description for Returns all Snapshots to the user. - * @summary Returns all Snapshots to the user. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSnapshotsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSnapshotsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSnapshotsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSnapshotsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSnapshotsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Website Name. + * @param slot Website Slot. + * @param nextLink The nextLink from the previous successful call to the ListSnapshotsSlot method. + * @param options The options parameters. + */ + private _listSnapshotsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListSnapshotsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSnapshotsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listSnapshotsSlotNextOperationSpec + ); } /** - * Description for Returns all Snapshots to the user from DRSecondary endpoint. - * @summary Returns all Snapshots to the user from DRSecondary endpoint. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSnapshotsFromDRSecondarySlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSnapshotsFromDRSecondarySlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSnapshotsFromDRSecondarySlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSnapshotsFromDRSecondarySlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSnapshotsFromDRSecondarySlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Website Name. + * @param slot Website Slot. + * @param nextLink The nextLink from the previous successful call to the + * ListSnapshotsFromDRSecondarySlot method. + * @param options The options parameters. + */ + private _listSnapshotsFromDRSecondarySlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListSnapshotsFromDRSecondarySlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSnapshotsFromDRSecondarySlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listSnapshotsFromDRSecondarySlotNextOperationSpec + ); } /** - * Description for List triggered web jobs for an app, or a deployment slot. - * @summary List triggered web jobs for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listTriggeredWebJobsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listTriggeredWebJobsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listTriggeredWebJobsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listTriggeredWebJobsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListTriggeredWebJobsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param nextLink The nextLink from the previous successful call to the ListTriggeredWebJobsSlot + * method. + * @param options The options parameters. + */ + private _listTriggeredWebJobsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListTriggeredWebJobsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listTriggeredWebJobsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listTriggeredWebJobsSlotNextOperationSpec + ); } /** - * Description for List a triggered web job's history for an app, or a deployment slot. - * @summary List a triggered web job's history for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listTriggeredWebJobHistorySlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listTriggeredWebJobHistorySlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listTriggeredWebJobHistorySlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listTriggeredWebJobHistorySlotNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListTriggeredWebJobHistorySlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param nextLink The nextLink from the previous successful call to the ListTriggeredWebJobHistorySlot + * method. + * @param options The options parameters. + */ + private _listTriggeredWebJobHistorySlotNext( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + nextLink: string, + options?: WebAppsListTriggeredWebJobHistorySlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listTriggeredWebJobHistorySlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, webJobName, slot, nextLink, options }, + listTriggeredWebJobHistorySlotNextOperationSpec + ); } /** - * Description for Gets the quota usage information of an app (or deployment slot, if specified). - * @summary Gets the quota usage information of an app (or deployment slot, if specified). - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listUsagesSlotNext( - nextPageLink: string, - options?: Models.WebAppsListUsagesSlotNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listUsagesSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listUsagesSlotNext( - nextPageLink: string, - options: Models.WebAppsListUsagesSlotNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listUsagesSlotNext( - nextPageLink: string, - options?: - | Models.WebAppsListUsagesSlotNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListUsagesSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get quota + * information of the production slot. + * @param nextLink The nextLink from the previous successful call to the ListUsagesSlot method. + * @param options The options parameters. + */ + private _listUsagesSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListUsagesSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listUsagesSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listUsagesSlotNextOperationSpec + ); } /** - * Description for List webjobs for an app, or a deployment slot. - * @summary List webjobs for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWebJobsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWebJobsSlotNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listWebJobsSlotNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebJobsSlotNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListWebJobsSlotNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param nextLink The nextLink from the previous successful call to the ListWebJobsSlot method. + * @param options The options parameters. + */ + private _listWebJobsSlotNext( + resourceGroupName: string, + name: string, + slot: string, + nextLink: string, + options?: WebAppsListWebJobsSlotNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWebJobsSlotNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slot, nextLink, options }, + listWebJobsSlotNextOperationSpec + ); } /** - * Description for Get the difference in configuration settings between two web app slots. - * @summary Get the difference in configuration settings between two web app slots. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSlotDifferencesFromProductionNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSlotDifferencesFromProductionNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSlotDifferencesFromProductionNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSlotDifferencesFromProductionNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSlotDifferencesFromProductionNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param nextLink The nextLink from the previous successful call to the + * ListSlotDifferencesFromProduction method. + * @param options The options parameters. + */ + private _listSlotDifferencesFromProductionNext( + resourceGroupName: string, + name: string, + slotSwapEntity: CsmSlotEntity, + nextLink: string, + options?: WebAppsListSlotDifferencesFromProductionNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSlotDifferencesFromProductionNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, slotSwapEntity, nextLink, options }, + listSlotDifferencesFromProductionNextOperationSpec + ); } /** - * Description for Returns all Snapshots to the user. - * @summary Returns all Snapshots to the user. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSnapshotsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSnapshotsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSnapshotsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSnapshotsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSnapshotsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Website Name. + * @param nextLink The nextLink from the previous successful call to the ListSnapshots method. + * @param options The options parameters. + */ + private _listSnapshotsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListSnapshotsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSnapshotsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listSnapshotsNextOperationSpec + ); } /** - * Description for Returns all Snapshots to the user from DRSecondary endpoint. - * @summary Returns all Snapshots to the user from DRSecondary endpoint. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSnapshotsFromDRSecondaryNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSnapshotsFromDRSecondaryNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSnapshotsFromDRSecondaryNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSnapshotsFromDRSecondaryNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSnapshotsFromDRSecondaryNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Website Name. + * @param nextLink The nextLink from the previous successful call to the ListSnapshotsFromDRSecondary + * method. + * @param options The options parameters. + */ + private _listSnapshotsFromDRSecondaryNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListSnapshotsFromDRSecondaryNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSnapshotsFromDRSecondaryNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listSnapshotsFromDRSecondaryNextOperationSpec + ); } /** - * Description for List triggered web jobs for an app, or a deployment slot. - * @summary List triggered web jobs for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listTriggeredWebJobsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listTriggeredWebJobsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listTriggeredWebJobsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listTriggeredWebJobsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListTriggeredWebJobsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param nextLink The nextLink from the previous successful call to the ListTriggeredWebJobs method. + * @param options The options parameters. + */ + private _listTriggeredWebJobsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListTriggeredWebJobsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listTriggeredWebJobsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listTriggeredWebJobsNextOperationSpec + ); } /** - * Description for List a triggered web job's history for an app, or a deployment slot. - * @summary List a triggered web job's history for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listTriggeredWebJobHistoryNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listTriggeredWebJobHistoryNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listTriggeredWebJobHistoryNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listTriggeredWebJobHistoryNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListTriggeredWebJobHistoryNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param nextLink The nextLink from the previous successful call to the ListTriggeredWebJobHistory + * method. + * @param options The options parameters. + */ + private _listTriggeredWebJobHistoryNext( + resourceGroupName: string, + name: string, + webJobName: string, + nextLink: string, + options?: WebAppsListTriggeredWebJobHistoryNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listTriggeredWebJobHistoryNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, webJobName, nextLink, options }, + listTriggeredWebJobHistoryNextOperationSpec + ); } /** - * Description for Gets the quota usage information of an app (or deployment slot, if specified). - * @summary Gets the quota usage information of an app (or deployment slot, if specified). - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listUsagesNext( - nextPageLink: string, - options?: Models.WebAppsListUsagesNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listUsagesNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listUsagesNext( - nextPageLink: string, - options: Models.WebAppsListUsagesNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listUsagesNext( - nextPageLink: string, - options?: - | Models.WebAppsListUsagesNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListUsagesNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param nextLink The nextLink from the previous successful call to the ListUsages method. + * @param options The options parameters. + */ + private _listUsagesNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListUsagesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listUsagesNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listUsagesNextOperationSpec + ); } /** - * Description for List webjobs for an app, or a deployment slot. - * @summary List webjobs for an app, or a deployment slot. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listWebJobsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listWebJobsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listWebJobsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listWebJobsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListWebJobsNext + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param nextLink The nextLink from the previous successful call to the ListWebJobs method. + * @param options The options parameters. + */ + private _listWebJobsNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: WebAppsListWebJobsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listWebJobsNextOperationSpec, - callback - ) as Promise; + { resourceGroupName, name, nextLink, options }, + listWebJobsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/sites", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.WebAppCollection @@ -27420,16 +17602,15 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.includeSlots, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppCollection @@ -27438,64 +17619,105 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.includeSlots], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Site }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const createOrUpdateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [ - Parameters.deleteMetrics, - Parameters.deleteEmptyServerFarm, - Parameters.apiVersion + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Site + }, + 201: { + bodyMapper: Mappers.Site + }, + 202: { + bodyMapper: Mappers.Site + }, + 204: { + bodyMapper: Mappers.Site + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.siteEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name ], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.deleteMetrics, + Parameters.deleteEmptyServerFarm + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const updateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteEnvelope", - mapper: { - ...Mappers.SitePatchResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.Site @@ -27507,16 +17729,22 @@ const updateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.siteEnvelope1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const analyzeCustomHostnameOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const analyzeCustomHostnameOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.hostName0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CustomHostnameAnalysisResult @@ -27525,46 +17753,42 @@ const analyzeCustomHostnameOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.hostName], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const applySlotConfigToProductionOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const applySlotConfigToProductionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "slotSwapEntity", - mapper: { - ...Mappers.CsmSlotEntity, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig", + httpMethod: "POST", responses: { 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.slotSwapEntity, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const backupOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const backupOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.BackupRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.BackupItem @@ -27573,16 +17797,22 @@ const backupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.request2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listBackupsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listBackupsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.BackupItemCollection @@ -27591,21 +17821,67 @@ const listBackupsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getBackupStatusOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getBackupStatusOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.BackupItem + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.backupId, - Parameters.subscriptionId + Parameters.backupId ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteBackupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", + httpMethod: "DELETE", + responses: { + 200: {}, + 404: { + isError: true + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.backupId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBackupStatusSecretsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.BackupItem @@ -27614,86 +17890,71 @@ const getBackupStatusOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteBackupOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", + requestBody: Parameters.request2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.backupId, - Parameters.subscriptionId + Parameters.backupId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const restoreOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore", + httpMethod: "POST", responses: { 200: {}, - 404: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listBackupStatusSecretsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list", + requestBody: Parameters.request3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.backupId, - Parameters.subscriptionId + Parameters.backupId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.BackupRequest, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.BackupItem - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getBasicPublishingCredentialsPoliciesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listBasicPublishingCredentialsPoliciesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.CsmPublishingCredentialsPoliciesCollection + bodyMapper: Mappers.PublishingCredentialsPoliciesCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getFtpAllowedOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getFtpAllowedOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/ftp", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/ftp", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity @@ -27702,23 +17963,20 @@ const getFtpAllowedOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateFtpAllowedOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateFtpAllowedOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/ftp", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "csmPublishingAccessPoliciesEntity", - mapper: { - ...Mappers.CsmPublishingCredentialsPoliciesEntity, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/ftp", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity @@ -27727,16 +17985,22 @@ const updateFtpAllowedOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.csmPublishingAccessPoliciesEntity, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getScmAllowedOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getScmAllowedOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/scm", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/scm", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity @@ -27745,23 +18009,20 @@ const getScmAllowedOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateScmAllowedOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateScmAllowedOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/scm", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "csmPublishingAccessPoliciesEntity", - mapper: { - ...Mappers.CsmPublishingCredentialsPoliciesEntity, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/scm", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity @@ -27770,16 +18031,22 @@ const updateScmAllowedOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.csmPublishingAccessPoliciesEntity, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listConfigurationsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listConfigurationsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SiteConfigResourceCollection @@ -27788,23 +18055,20 @@ const listConfigurationsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateApplicationSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateApplicationSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "appSettings", - mapper: { - ...Mappers.StringDictionary, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.StringDictionary @@ -27813,16 +18077,22 @@ const updateApplicationSettingsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.appSettings, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listApplicationSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listApplicationSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.StringDictionary @@ -27831,23 +18101,20 @@ const listApplicationSettingsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateAuthSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateAuthSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteAuthSettings", - mapper: { - ...Mappers.SiteAuthSettings, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.SiteAuthSettings @@ -27856,16 +18123,22 @@ const updateAuthSettingsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.siteAuthSettings, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getAuthSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getAuthSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.SiteAuthSettings @@ -27874,23 +18147,20 @@ const getAuthSettingsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateAuthSettingsV2OperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateAuthSettingsV2OperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteAuthSettingsV2", - mapper: { - ...Mappers.SiteAuthSettingsV2, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.SiteAuthSettingsV2 @@ -27899,16 +18169,22 @@ const updateAuthSettingsV2OperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.siteAuthSettingsV2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getAuthSettingsV2OperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getAuthSettingsV2OperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2/list", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SiteAuthSettingsV2 @@ -27917,23 +18193,20 @@ const getAuthSettingsV2OperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateAzureStorageAccountsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateAzureStorageAccountsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/azurestorageaccounts", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "azureStorageAccounts", - mapper: { - ...Mappers.AzureStoragePropertyDictionaryResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/azurestorageaccounts", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.AzureStoragePropertyDictionaryResource @@ -27942,16 +18215,22 @@ const updateAzureStorageAccountsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.azureStorageAccounts, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listAzureStorageAccountsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listAzureStorageAccountsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/azurestorageaccounts/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/azurestorageaccounts/list", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.AzureStoragePropertyDictionaryResource @@ -27960,23 +18239,20 @@ const listAzureStorageAccountsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateBackupConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateBackupConfigurationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.BackupRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.BackupRequest @@ -27985,32 +18261,42 @@ const updateBackupConfigurationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.request2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteBackupConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const deleteBackupConfigurationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", + httpMethod: "DELETE", responses: { 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getBackupConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getBackupConfigurationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.BackupRequest @@ -28019,57 +18305,20 @@ const getBackupConfigurationOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getAppSettingsKeyVaultReferencesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/appsettings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.ApiKVReferenceCollection - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const getAppSettingKeyVaultReferenceOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/appsettings/{appSettingKey}", urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.appSettingKey, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.ApiKVReference - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const getSiteConnectionStringKeyVaultReferencesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getAppSettingsKeyVaultReferencesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/connectionstrings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/appsettings", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ApiKVReferenceCollection @@ -28078,616 +18327,575 @@ const getSiteConnectionStringKeyVaultReferencesOperationSpec: msRest.OperationSp bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteConnectionStringKeyVaultReferenceOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/connectionstrings/{connectionStringKey}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.connectionStringKey, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.ApiKVReference - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const updateConnectionStringsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const getAppSettingKeyVaultReferenceOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionStrings", - mapper: { - ...Mappers.ConnectionStringDictionary, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/appsettings/{appSettingKey}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ConnectionStringDictionary + bodyMapper: Mappers.ApiKVReference }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listConnectionStringsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.ConnectionStringDictionary - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.appSettingKey + ], + headerParameters: [Parameters.accept], serializer -}; - -const getDiagnosticLogsConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +}; +const getSiteConnectionStringKeyVaultReferencesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/connectionstrings", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteLogsConfig + bodyMapper: Mappers.ApiKVReferenceCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateDiagnosticLogsConfigOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const getSiteConnectionStringKeyVaultReferenceOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteLogsConfig", - mapper: { - ...Mappers.SiteLogsConfig, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/connectionstrings/{connectionStringKey}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteLogsConfig + bodyMapper: Mappers.ApiKVReference }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.connectionStringKey + ], + headerParameters: [Parameters.accept], serializer }; - -const updateMetadataOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateConnectionStringsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "metadata", - mapper: { - ...Mappers.StringDictionary, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.ConnectionStringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.connectionStrings, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listMetadataOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listConnectionStringsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.ConnectionStringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updateSitePushSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const getDiagnosticLogsConfigurationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "pushSettings", - mapper: { - ...Mappers.PushSettings, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PushSettings + bodyMapper: Mappers.SiteLogsConfig }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listSitePushSettingsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const updateDiagnosticLogsConfigOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.PushSettings + bodyMapper: Mappers.SiteLogsConfig }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.siteLogsConfig, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listSlotConfigurationNamesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const updateMetadataOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SlotConfigNamesResource + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.metadata, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const updateSlotConfigurationNamesOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const listMetadataOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "slotConfigNames", - mapper: { - ...Mappers.SlotConfigNamesResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SlotConfigNamesResource + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listPublishingCredentialsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SiteConfigResource + bodyMapper: Mappers.User + }, + 201: { + bodyMapper: Mappers.User + }, + 202: { + bodyMapper: Mappers.User + }, + 204: { + bodyMapper: Mappers.User }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const createOrUpdateConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const updateSitePushSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteConfig", - mapper: { - ...Mappers.SiteConfigResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SiteConfigResource + bodyMapper: Mappers.PushSettings }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.pushSettings, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const updateConfigurationOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const listSitePushSettingsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteConfig", - mapper: { - ...Mappers.SiteConfigResource, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SiteConfigResource + bodyMapper: Mappers.PushSettings }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listConfigurationSnapshotInfoOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listSlotConfigurationNamesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteConfigurationSnapshotInfoCollection + bodyMapper: Mappers.SlotConfigNamesResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getConfigurationSnapshotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.snapshotId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateSlotConfigurationNamesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SiteConfigResource + bodyMapper: Mappers.SlotConfigNamesResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const recoverSiteConfigurationSnapshotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover", + requestBody: Parameters.slotConfigNames, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.snapshotId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 204: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getWebSiteContainerLogsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getConfigurationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + bodyMapper: Mappers.SiteConfigResource }, - 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getContainerLogsZipOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const createOrUpdateConfigurationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", + httpMethod: "PUT", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + bodyMapper: Mappers.SiteConfigResource }, - 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.siteConfig, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listContinuousWebJobsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const updateConfigurationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.ContinuousWebJobCollection + bodyMapper: Mappers.SiteConfigResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getContinuousWebJobOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", + requestBody: Parameters.siteConfig, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.webJobName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listConfigurationSnapshotInfoOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ContinuousWebJob + bodyMapper: Mappers.SiteConfigurationSnapshotInfoCollection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteContinuousWebJobOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.webJobName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const startContinuousWebJobOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getConfigurationSnapshotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.webJobName, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}", + httpMethod: "GET", responses: { - 200: {}, - 404: {}, + 200: { + bodyMapper: Mappers.SiteConfigResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const stopContinuousWebJobOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.subscriptionId + Parameters.snapshotId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const recoverSiteConfigurationSnapshotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover", + httpMethod: "POST", responses: { - 200: {}, - 404: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.snapshotId + ], + headerParameters: [Parameters.accept], serializer }; - -const listDeploymentsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getWebSiteContainerLogsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.DeploymentCollection + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } + 204: {}, + default: {} }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept1], serializer }; - -const getDeploymentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getContainerLogsZipOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } + }, + 204: {}, + default: {} + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.id, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept2], + serializer +}; +const listContinuousWebJobsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Deployment + bodyMapper: Mappers.ContinuousWebJobCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createDeploymentOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.id, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "deployment", - mapper: { - ...Mappers.Deployment, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getContinuousWebJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Deployment + bodyMapper: Mappers.ContinuousWebJob + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteDeploymentOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.id, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteContinuousWebJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -28695,140 +18903,139 @@ const deleteDeploymentOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listDeploymentLogOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.id, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const startContinuousWebJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.Deployment + 200: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.webJobName + ], + headerParameters: [Parameters.accept], serializer }; - -const discoverBackupOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const stopContinuousWebJobOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/discoverbackup", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.RestoreRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.RestoreRequest + 200: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.webJobName + ], + headerParameters: [Parameters.accept], serializer }; - -const listDomainOwnershipIdentifiersOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listDeploymentsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.IdentifierCollection + bodyMapper: Mappers.DeploymentCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getDomainOwnershipIdentifierOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.domainOwnershipIdentifierName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getDeploymentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Identifier + bodyMapper: Mappers.Deployment }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateDomainOwnershipIdentifierOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.domainOwnershipIdentifierName, - Parameters.subscriptionId + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "domainOwnershipIdentifier", - mapper: { - ...Mappers.Identifier, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createDeploymentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.Identifier + bodyMapper: Mappers.Deployment }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteDomainOwnershipIdentifierOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + requestBody: Parameters.deployment, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.domainOwnershipIdentifierName, - Parameters.subscriptionId + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteDeploymentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -28836,337 +19043,399 @@ const deleteDomainOwnershipIdentifierOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateDomainOwnershipIdentifierOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.domainOwnershipIdentifierName, - Parameters.subscriptionId + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "domainOwnershipIdentifier", - mapper: { - ...Mappers.Identifier, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listDeploymentLogOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Identifier + bodyMapper: Mappers.Deployment }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.id + ], + headerParameters: [Parameters.accept], serializer }; - -const getMSDeployStatusOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const discoverBackupOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/discoverbackup", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.MSDeployStatus + bodyMapper: Mappers.RestoreRequest }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.request3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getMSDeployLogOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listDomainOwnershipIdentifiersOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.MSDeployLog + bodyMapper: Mappers.IdentifierCollection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listFunctionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getDomainOwnershipIdentifierOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.FunctionEnvelopeCollection + bodyMapper: Mappers.Identifier }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.domainOwnershipIdentifierName + ], + headerParameters: [Parameters.accept], serializer }; - -const getFunctionsAdminTokenOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const createOrUpdateDomainOwnershipIdentifierOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "String" - } - } + bodyMapper: Mappers.Identifier }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getFunctionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", + requestBody: Parameters.domainOwnershipIdentifier1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, - Parameters.subscriptionId + Parameters.domainOwnershipIdentifierName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteDomainOwnershipIdentifierOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.FunctionEnvelope - }, - 404: {}, + 200: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteFunctionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, - Parameters.subscriptionId + Parameters.domainOwnershipIdentifierName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateDomainOwnershipIdentifierOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + httpMethod: "PATCH", responses: { - 204: {}, - 404: {}, + 200: { + bodyMapper: Mappers.Identifier + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateFunctionSecretOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/keys/{keyName}", + requestBody: Parameters.domainOwnershipIdentifier1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, - Parameters.keyName, - Parameters.subscriptionId + Parameters.domainOwnershipIdentifierName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "key", - mapper: { - ...Mappers.KeyInfo, - required: true + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getMSDeployStatusOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MSDeployStatus + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const createMSDeployOperationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.KeyInfo + bodyMapper: Mappers.MSDeployStatus }, 201: { - bodyMapper: Mappers.KeyInfo + bodyMapper: Mappers.MSDeployStatus + }, + 202: { + bodyMapper: Mappers.MSDeployStatus + }, + 204: { + bodyMapper: Mappers.MSDeployStatus + }, + 409: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteFunctionSecretOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/keys/{keyName}", + requestBody: Parameters.mSDeploy, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.functionName, - Parameters.keyName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getMSDeployLogOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log", + httpMethod: "GET", responses: { - 204: {}, - 404: {}, + 200: { + bodyMapper: Mappers.MSDeployLog + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listFunctionKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listkeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.functionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listFunctionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.FunctionEnvelopeCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listFunctionSecretsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.functionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getFunctionsAdminTokenOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.FunctionSecrets + bodyMapper: { type: { name: "String" } } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listHostKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getFunctionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/listkeys", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.HostKeys + bodyMapper: Mappers.FunctionEnvelope + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.functionName + ], + headerParameters: [Parameters.accept], serializer }; - -const listSyncStatusOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const createFunctionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/listsyncstatus", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", + httpMethod: "PUT", responses: { - 204: {}, + 200: { + bodyMapper: Mappers.FunctionEnvelope + }, + 201: { + bodyMapper: Mappers.FunctionEnvelope + }, + 202: { + bodyMapper: Mappers.FunctionEnvelope + }, + 204: { + bodyMapper: Mappers.FunctionEnvelope + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.functionEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.functionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const syncFunctionsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const deleteFunctionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/sync", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", + httpMethod: "DELETE", responses: { 204: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateHostSecretOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/{keyType}/{keyName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.keyType, - Parameters.keyName, - Parameters.subscriptionId + Parameters.functionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "key", - mapper: { - ...Mappers.KeyInfo, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateFunctionSecretOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/keys/{keyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.KeyInfo @@ -29178,3271 +19447,3553 @@ const createOrUpdateHostSecretOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteHostSecretOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/{keyType}/{keyName}", + requestBody: Parameters.key, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.keyType, - Parameters.keyName, - Parameters.subscriptionId + Parameters.functionName, + Parameters.keyName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteFunctionSecretOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/keys/{keyName}", + httpMethod: "DELETE", responses: { 204: {}, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.functionName, + Parameters.keyName + ], + headerParameters: [Parameters.accept], serializer }; - -const listHostNameBindingsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listFunctionKeysOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listkeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.HostNameBindingCollection + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getHostNameBindingOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.hostName1, - Parameters.subscriptionId + Parameters.functionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listFunctionSecretsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.HostNameBinding + bodyMapper: Mappers.FunctionSecrets }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateHostNameBindingOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.hostName1, - Parameters.subscriptionId + Parameters.functionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "hostNameBinding", - mapper: { - ...Mappers.HostNameBinding, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listHostKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/listkeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.HostNameBinding + bodyMapper: Mappers.HostKeys }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteHostNameBindingOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.hostName1, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listSyncStatusOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/listsyncstatus", + httpMethod: "POST", responses: { - 200: {}, 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getHybridConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.namespaceName, - Parameters.relayName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const syncFunctionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/sync", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.HybridConnection - }, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateHybridConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.namespaceName, - Parameters.relayName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.HybridConnection, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateHostSecretOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/{keyType}/{keyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.HybridConnection + bodyMapper: Mappers.KeyInfo + }, + 201: { + bodyMapper: Mappers.KeyInfo }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteHybridConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + requestBody: Parameters.key, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.namespaceName, - Parameters.relayName, - Parameters.subscriptionId + Parameters.keyName, + Parameters.keyType ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: {}, - 404: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const updateHybridConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const deleteHostSecretOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/{keyType}/{keyName}", + httpMethod: "DELETE", + responses: { + 204: {}, + 404: { + isError: true + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.namespaceName, - Parameters.relayName, - Parameters.subscriptionId + Parameters.keyName, + Parameters.keyType ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.HybridConnection, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listHostNameBindingsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.HybridConnection + bodyMapper: Mappers.HostNameBindingCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listHybridConnectionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getHostNameBindingOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.HybridConnection + bodyMapper: Mappers.HostNameBinding }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.hostName1 + ], + headerParameters: [Parameters.accept], serializer }; - -const listRelayServiceConnectionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const createOrUpdateHostNameBindingOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.RelayServiceConnectionEntity + bodyMapper: Mappers.HostNameBinding }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.hostNameBinding, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.hostName1 + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getRelayServiceConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const deleteHostNameBindingOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.entityName, - Parameters.subscriptionId + Parameters.hostName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getHybridConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RelayServiceConnectionEntity + bodyMapper: Mappers.HybridConnection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateRelayServiceConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.entityName, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.relayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.RelayServiceConnectionEntity, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateHybridConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.RelayServiceConnectionEntity + bodyMapper: Mappers.HybridConnection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteRelayServiceConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", + requestBody: Parameters.connectionEnvelope1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.entityName, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.relayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteHybridConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "DELETE", responses: { 200: {}, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateRelayServiceConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.entityName, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.relayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.RelayServiceConnectionEntity, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateHybridConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.RelayServiceConnectionEntity + bodyMapper: Mappers.HybridConnection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.connectionEnvelope1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.namespaceName, + Parameters.relayName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listInstanceIdentifiersOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listHybridConnectionsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppInstanceStatusCollection + bodyMapper: Mappers.HybridConnection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceInfoOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listRelayServiceConnectionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebSiteInstanceStatus + bodyMapper: Mappers.RelayServiceConnectionEntity }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceMsDeployStatusOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getRelayServiceConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.MSDeployStatus + bodyMapper: Mappers.RelayServiceConnectionEntity }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceMSDeployLogOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.entityName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateRelayServiceConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.MSDeployLog + bodyMapper: Mappers.RelayServiceConnectionEntity }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listInstanceProcessesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes", + requestBody: Parameters.connectionEnvelope2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.entityName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteRelayServiceConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.ProcessInfoCollection + 200: {}, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceProcessOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.entityName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateRelayServiceConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.ProcessInfo + bodyMapper: Mappers.RelayServiceConnectionEntity }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteInstanceProcessOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", + requestBody: Parameters.connectionEnvelope2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.entityName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listInstanceIdentifiersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances", + httpMethod: "GET", responses: { - 204: {}, - 404: {}, + 200: { + bodyMapper: Mappers.WebAppInstanceStatusCollection + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceProcessDumpOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.processId, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getInstanceInfoOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + bodyMapper: Mappers.WebSiteInstanceStatus }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listInstanceProcessModulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.instanceId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getInstanceMsDeployStatusOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessModuleInfoCollection + bodyMapper: Mappers.MSDeployStatus }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceProcessModuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.baseAddress, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.instanceId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createInstanceMSDeployOperationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ProcessModuleInfo + bodyMapper: Mappers.MSDeployStatus + }, + 201: { + bodyMapper: Mappers.MSDeployStatus + }, + 202: { + bodyMapper: Mappers.MSDeployStatus + }, + 204: { + bodyMapper: Mappers.MSDeployStatus + }, + 409: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listInstanceProcessThreadsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads", + requestBody: Parameters.mSDeploy, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.instanceId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getInstanceMSDeployLogOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessThreadInfoCollection + bodyMapper: Mappers.MSDeployLog + }, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instanceId + ], + headerParameters: [Parameters.accept], serializer }; - -const isCloneableOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listInstanceProcessesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteCloneability + bodyMapper: Mappers.ProcessInfoCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instanceId + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteBackupsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getInstanceProcessOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listbackups", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.BackupItemCollection + bodyMapper: Mappers.ProcessInfo + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instanceId, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listSyncFunctionTriggersOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const deleteInstanceProcessOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.FunctionSecrets + 204: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instanceId, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const getMigrateMySqlStatusOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getInstanceProcessDumpOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.MigrateMySqlStatus + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instanceId, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const getSwiftVirtualNetworkConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listInstanceProcessModulesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SwiftVirtualNetwork + bodyMapper: Mappers.ProcessModuleInfoCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instanceId, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const createOrUpdateSwiftVirtualNetworkConnectionWithCheckOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const getInstanceProcessModuleOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.SwiftVirtualNetwork, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SwiftVirtualNetwork + bodyMapper: Mappers.ProcessModuleInfo + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.instanceId, + Parameters.processId, + Parameters.baseAddress + ], + headerParameters: [Parameters.accept], serializer }; - -const deleteSwiftVirtualNetworkOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const listInstanceProcessThreadsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads", + httpMethod: "GET", responses: { - 200: {}, - 404: {}, + 200: { + bodyMapper: Mappers.ProcessThreadInfoCollection + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listNetworkFeaturesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.view, - Parameters.subscriptionId + Parameters.instanceId, + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const isCloneableOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.NetworkFeatures + bodyMapper: Mappers.SiteCloneability }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getNetworkTraceOperationOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/operationresults/{operationId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.operationId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteBackupsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listbackups", + httpMethod: "POST", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } - }, - 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.BackupItemCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const startWebSiteNetworkTraceOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listSyncFunctionTriggersOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [ - Parameters.durationInSeconds, - Parameters.maxFrameLength, - Parameters.sasUrl, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus", + httpMethod: "POST", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "String" - } - } + bodyMapper: Mappers.FunctionSecrets }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const stopWebSiteNetworkTraceOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const migrateStorageOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate", + httpMethod: "PUT", responses: { - 200: {}, - 204: {}, + 200: { + bodyMapper: Mappers.StorageMigrationResponse + }, + 201: { + bodyMapper: Mappers.StorageMigrationResponse + }, + 202: { + bodyMapper: Mappers.StorageMigrationResponse + }, + 204: { + bodyMapper: Mappers.StorageMigrationResponse + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getNetworkTracesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/{operationId}", + requestBody: Parameters.migrationOptions, + queryParameters: [Parameters.apiVersion, Parameters.subscriptionName], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.operationId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const migrateMySqlOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql", + httpMethod: "POST", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.Operation + }, + 201: { + bodyMapper: Mappers.Operation + }, + 202: { + bodyMapper: Mappers.Operation + }, + 204: { + bodyMapper: Mappers.Operation }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getNetworkTraceOperationV2OperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTraces/current/operationresults/{operationId}", + requestBody: Parameters.migrationRequestEnvelope, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.operationId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } - }, - 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getMigrateMySqlStatusOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrateMySqlStatus }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getNetworkTracesV2OperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getSwiftVirtualNetworkConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTraces/{operationId}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SwiftVirtualNetwork + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.operationId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateSwiftVirtualNetworkConnectionWithCheckOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", + httpMethod: "PUT", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.SwiftVirtualNetwork }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.connectionEnvelope3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const generateNewSitePublishingPasswordOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const deleteSwiftVirtualNetworkOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", + httpMethod: "DELETE", responses: { 200: {}, - 204: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listPerfMonCountersOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const updateSwiftVirtualNetworkConnectionWithCheckOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.PerfMonCounterCollection + bodyMapper: Mappers.SwiftVirtualNetwork }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.connectionEnvelope3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getSitePhpErrorLogFlagOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listNetworkFeaturesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SitePhpErrorLogFlag + bodyMapper: Mappers.NetworkFeatures + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.view + ], + headerParameters: [Parameters.accept], serializer }; - -const listPremierAddOnsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getNetworkTraceOperationOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/operationresults/{operationId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PremierAddOn + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 202: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPremierAddOnOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.premierAddOnName, - Parameters.subscriptionId + Parameters.operationId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const startWebSiteNetworkTraceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.PremierAddOn + bodyMapper: { type: { name: "String" } } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const addPremierAddOnOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", + queryParameters: [ + Parameters.apiVersion, + Parameters.durationInSeconds, + Parameters.maxFrameLength, + Parameters.sasUrl + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.premierAddOnName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "premierAddOn", - mapper: { - ...Mappers.PremierAddOn, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const startWebSiteNetworkTraceOperationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/startOperation", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.PremierAddOn + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 201: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 202: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 204: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deletePremierAddOnOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", + queryParameters: [ + Parameters.apiVersion, + Parameters.durationInSeconds, + Parameters.maxFrameLength, + Parameters.sasUrl + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.premierAddOnName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const stopWebSiteNetworkTraceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop", + httpMethod: "POST", responses: { 200: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const updatePremierAddOnOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const getNetworkTracesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.premierAddOnName, - Parameters.subscriptionId + Parameters.operationId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "premierAddOn", - mapper: { - ...Mappers.PremierAddOnPatchResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getNetworkTraceOperationV2OperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTraces/current/operationresults/{operationId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PremierAddOn + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 202: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.operationId + ], + headerParameters: [Parameters.accept], serializer }; - -const getPrivateAccessOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getNetworkTracesV2OperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTraces/{operationId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PrivateAccess + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.operationId + ], + headerParameters: [Parameters.accept], serializer }; - -const putPrivateAccessVnetOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const generateNewSitePublishingPasswordOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "access", - mapper: { - ...Mappers.PrivateAccess, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.PrivateAccess - }, + 200: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getPrivateEndpointConnectionListOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listPerfMonCountersOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PrivateEndpointConnectionCollection + bodyMapper: Mappers.PerfMonCounterCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getSitePhpErrorLogFlagOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + bodyMapper: Mappers.SitePhpErrorLogFlag }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const getPrivateLinkResourcesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listPremierAddOnsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateLinkResources", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PrivateLinkResourcesWrapper + bodyMapper: Mappers.PremierAddOn }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listProcessesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getPremierAddOnOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessInfoCollection + bodyMapper: Mappers.PremierAddOn }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getProcessOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.subscriptionId + Parameters.premierAddOnName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const addPremierAddOnOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ProcessInfo + bodyMapper: Mappers.PremierAddOn }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteProcessOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", + requestBody: Parameters.premierAddOn, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.subscriptionId + Parameters.premierAddOnName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deletePremierAddOnOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", + httpMethod: "DELETE", responses: { - 204: {}, - 404: {}, + 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getProcessDumpOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.subscriptionId + Parameters.premierAddOnName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updatePremierAddOnOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + bodyMapper: Mappers.PremierAddOn }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listProcessModulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules", + requestBody: Parameters.premierAddOn1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.subscriptionId + Parameters.premierAddOnName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getPrivateAccessOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessModuleInfoCollection + bodyMapper: Mappers.PrivateAccess }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getProcessModuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.processId, - Parameters.baseAddress, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const putPrivateAccessVnetOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ProcessModuleInfo + bodyMapper: Mappers.PrivateAccess }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listProcessThreadsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads", + requestBody: Parameters.access, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.processId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getPrivateEndpointConnectionListOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessThreadInfoCollection + bodyMapper: Mappers.PrivateEndpointConnectionCollection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listPublicCertificatesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PublicCertificateCollection + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPublicCertificateOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.publicCertificateName, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const approveOrRejectPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.PublicCertificate + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 201: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 202: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 204: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.privateEndpointWrapper, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const createOrUpdatePublicCertificateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const deletePrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 201: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 202: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 204: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.publicCertificateName, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "publicCertificate", - mapper: { - ...Mappers.PublicCertificate, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getPrivateLinkResourcesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateLinkResources", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PublicCertificate + bodyMapper: Mappers.PrivateLinkResourcesWrapper }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const deletePublicCertificateOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const listProcessesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ProcessInfoCollection + }, + 404: { + isError: true + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.publicCertificateName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getProcessOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", + httpMethod: "GET", responses: { - 200: {}, - 204: {}, + 200: { + bodyMapper: Mappers.ProcessInfo + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listPublishingProfileXmlWithSecretsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const deleteProcessOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "publishingProfileOptions", - mapper: { - ...Mappers.CsmPublishingProfileOptions, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + 204: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const resetProductionSlotConfigOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getProcessDumpOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump", + httpMethod: "GET", responses: { - 200: {}, + 200: { + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const restartOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listProcessModulesOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.softRestart, Parameters.synchronous, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules", + httpMethod: "GET", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.ProcessModuleInfoCollection + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteExtensionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getProcessModuleOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteExtensionInfoCollection + bodyMapper: Mappers.ProcessModuleInfo + }, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteExtensionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.siteExtensionId, - Parameters.subscriptionId + Parameters.processId, + Parameters.baseAddress ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listProcessThreadsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteExtensionInfo + bodyMapper: Mappers.ProcessThreadInfoCollection + }, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteSiteExtensionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.siteExtensionId, - Parameters.subscriptionId + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listPublicCertificatesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates", + httpMethod: "GET", responses: { - 204: {}, - 404: {}, + 200: { + bodyMapper: Mappers.PublicCertificateCollection + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const listSlotsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getPublicCertificateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppCollection + bodyMapper: Mappers.PublicCertificate }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.publicCertificateName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdatePublicCertificateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.Site + bodyMapper: Mappers.PublicCertificate }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", + requestBody: Parameters.publicCertificate, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.deleteMetrics, - Parameters.deleteEmptyServerFarm, - Parameters.apiVersion + Parameters.publicCertificateName ], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deletePublicCertificateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.publicCertificateName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteEnvelope", - mapper: { - ...Mappers.SitePatchResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listPublishingProfileXmlWithSecretsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.Site - }, - 202: { - bodyMapper: Mappers.Site + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.publishingProfileOptions, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.contentType, Parameters.accept3], + mediaType: "json", serializer }; - -const analyzeCustomHostnameSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const resetProductionSlotConfigOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig", + httpMethod: "POST", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.hostName0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const restartOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.CustomHostnameAnalysisResult - }, + 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.softRestart, + Parameters.synchronous + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const applySlotConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const restoreFromBackupBlobOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.request3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "slotSwapEntity", - mapper: { - ...Mappers.CsmSlotEntity, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const restoreFromDeletedAppOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp", + httpMethod: "POST", responses: { 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.restoreRequest, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const backupSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const restoreSnapshotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.restoreRequest1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.BackupRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listSiteExtensionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.BackupItem + bodyMapper: Mappers.SiteExtensionInfoCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listBackupsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteExtensionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.BackupItemCollection + bodyMapper: Mappers.SiteExtensionInfo + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getBackupStatusSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.backupId, - Parameters.slot, - Parameters.subscriptionId + Parameters.siteExtensionId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const installSiteExtensionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.BackupItem + bodyMapper: Mappers.SiteExtensionInfo + }, + 201: { + bodyMapper: Mappers.SiteExtensionInfo + }, + 202: { + bodyMapper: Mappers.SiteExtensionInfo + }, + 204: { + bodyMapper: Mappers.SiteExtensionInfo + }, + 429: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteBackupSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.backupId, - Parameters.slot, - Parameters.subscriptionId + Parameters.siteExtensionId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteSiteExtensionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", + httpMethod: "DELETE", responses: { - 200: {}, - 404: {}, + 204: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listBackupStatusSecretsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.backupId, - Parameters.slot, - Parameters.subscriptionId + Parameters.siteExtensionId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.BackupRequest, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listSlotsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.BackupItem + bodyMapper: Mappers.WebAppCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getBasicPublishingCredentialsPoliciesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.CsmPublishingCredentialsPoliciesCollection + bodyMapper: Mappers.Site + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getFtpAllowedSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies/ftp", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity + bodyMapper: Mappers.Site + }, + 201: { + bodyMapper: Mappers.Site + }, + 202: { + bodyMapper: Mappers.Site + }, + 204: { + bodyMapper: Mappers.Site }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateFtpAllowedSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies/ftp", + requestBody: Parameters.siteEnvelope, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "csmPublishingAccessPoliciesEntity", - mapper: { - ...Mappers.CsmPublishingCredentialsPoliciesEntity, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity + 200: {}, + 204: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getScmAllowedSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies/scm", + queryParameters: [ + Parameters.apiVersion, + Parameters.deleteMetrics, + Parameters.deleteEmptyServerFarm + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity + bodyMapper: Mappers.Site + }, + 202: { + bodyMapper: Mappers.Site }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateScmAllowedSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies/scm", + requestBody: Parameters.siteEnvelope1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "csmPublishingAccessPoliciesEntity", - mapper: { - ...Mappers.CsmPublishingCredentialsPoliciesEntity, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const analyzeCustomHostnameSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity + bodyMapper: Mappers.CustomHostnameAnalysisResult }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listConfigurationsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config", + queryParameters: [Parameters.apiVersion, Parameters.hostName], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const applySlotConfigurationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.SiteConfigResourceCollection - }, + 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateApplicationSettingsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings", + requestBody: Parameters.slotSwapEntity, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "appSettings", - mapper: { - ...Mappers.StringDictionary, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const backupSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.BackupItem }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listApplicationSettingsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list", + requestBody: Parameters.request2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listBackupsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.BackupItemCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateAuthSettingsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteAuthSettings", - mapper: { - ...Mappers.SiteAuthSettings, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getBackupStatusSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteAuthSettings + bodyMapper: Mappers.BackupItem }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getAuthSettingsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.backupId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteBackupSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.SiteAuthSettings + 200: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateAuthSettingsV2SlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.backupId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteAuthSettingsV2", - mapper: { - ...Mappers.SiteAuthSettingsV2, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listBackupStatusSecretsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SiteAuthSettingsV2 + bodyMapper: Mappers.BackupItem }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getAuthSettingsV2SlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2/list", + requestBody: Parameters.request2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.backupId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const restoreSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.SiteAuthSettingsV2 - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateAzureStorageAccountsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/azurestorageaccounts", + requestBody: Parameters.request3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.backupId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "azureStorageAccounts", - mapper: { - ...Mappers.AzureStoragePropertyDictionaryResource, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listBasicPublishingCredentialsPoliciesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AzureStoragePropertyDictionaryResource + bodyMapper: Mappers.PublishingCredentialsPoliciesCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listAzureStorageAccountsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/azurestorageaccounts/list", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getFtpAllowedSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies/ftp", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AzureStoragePropertyDictionaryResource + bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateBackupConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.BackupRequest, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateFtpAllowedSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies/ftp", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.BackupRequest + bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteBackupConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", + requestBody: Parameters.csmPublishingAccessPoliciesEntity, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getScmAllowedSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies/scm", + httpMethod: "GET", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getBackupConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateScmAllowedSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/basicPublishingCredentialsPolicies/scm", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.BackupRequest + bodyMapper: Mappers.CsmPublishingCredentialsPoliciesEntity }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getAppSettingsKeyVaultReferencesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/appsettings", + requestBody: Parameters.csmPublishingAccessPoliciesEntity, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listConfigurationsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ApiKVReferenceCollection + bodyMapper: Mappers.SiteConfigResourceCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getAppSettingKeyVaultReferenceSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/appsettings/{appSettingKey}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.appSettingKey, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateApplicationSettingsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ApiKVReference + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteConnectionStringKeyVaultReferencesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/connectionstrings", + requestBody: Parameters.appSettings, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listApplicationSettingsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.ApiKVReferenceCollection + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteConnectionStringKeyVaultReferenceSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/connectionstrings/{connectionStringKey}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.connectionStringKey, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateAuthSettingsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ApiKVReference + bodyMapper: Mappers.SiteAuthSettings }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateConnectionStringsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings", + requestBody: Parameters.siteAuthSettings, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionStrings", - mapper: { - ...Mappers.ConnectionStringDictionary, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getAuthSettingsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.ConnectionStringDictionary + bodyMapper: Mappers.SiteAuthSettings }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listConnectionStringsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateAuthSettingsV2SlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ConnectionStringDictionary + bodyMapper: Mappers.SiteAuthSettingsV2 }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getDiagnosticLogsConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", + requestBody: Parameters.siteAuthSettingsV2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getAuthSettingsV2SlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2/list", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteLogsConfig + bodyMapper: Mappers.SiteAuthSettingsV2 }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateDiagnosticLogsConfigSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteLogsConfig", - mapper: { - ...Mappers.SiteLogsConfig, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateAzureStorageAccountsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/azurestorageaccounts", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SiteLogsConfig + bodyMapper: Mappers.AzureStoragePropertyDictionaryResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateMetadataSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata", + requestBody: Parameters.azureStorageAccounts, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "metadata", - mapper: { - ...Mappers.StringDictionary, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listAzureStorageAccountsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/azurestorageaccounts/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.AzureStoragePropertyDictionaryResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listMetadataSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateBackupConfigurationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.BackupRequest }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.request2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const updateSitePushSettingsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const deleteBackupConfigurationSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", + httpMethod: "DELETE", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "pushSettings", - mapper: { - ...Mappers.PushSettings, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getBackupConfigurationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.PushSettings + bodyMapper: Mappers.BackupRequest }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSitePushSettingsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getAppSettingsKeyVaultReferencesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/appsettings", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PushSettings + bodyMapper: Mappers.ApiKVReferenceCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getAppSettingKeyVaultReferenceSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/appsettings/{appSettingKey}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteConfigResource + bodyMapper: Mappers.ApiKVReference }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.appSettingKey ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteConfig", - mapper: { - ...Mappers.SiteConfigResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getSiteConnectionStringKeyVaultReferencesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/connectionstrings", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteConfigResource + bodyMapper: Mappers.ApiKVReferenceCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteConfig", - mapper: { - ...Mappers.SiteConfigResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getSiteConnectionStringKeyVaultReferenceSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/connectionstrings/{connectionStringKey}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteConfigResource + bodyMapper: Mappers.ApiKVReference }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listConfigurationSnapshotInfoSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.connectionStringKey ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateConnectionStringsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SiteConfigurationSnapshotInfoCollection + bodyMapper: Mappers.ConnectionStringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getConfigurationSnapshotSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}", + requestBody: Parameters.connectionStrings, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.snapshotId, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listConnectionStringsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SiteConfigResource + bodyMapper: Mappers.ConnectionStringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const recoverSiteConfigurationSnapshotSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.snapshotId, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getDiagnosticLogsConfigurationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", + httpMethod: "GET", responses: { - 204: {}, + 200: { + bodyMapper: Mappers.SiteLogsConfig + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getWebSiteContainerLogsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateDiagnosticLogsConfigSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", + httpMethod: "PUT", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + bodyMapper: Mappers.SiteLogsConfig }, - 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getContainerLogsZipSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download", + requestBody: Parameters.siteLogsConfig, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateMetadataSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata", + httpMethod: "PUT", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + bodyMapper: Mappers.StringDictionary }, - 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listContinuousWebJobsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs", + requestBody: Parameters.metadata, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listMetadataSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.ContinuousWebJobCollection + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getContinuousWebJobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listPublishingCredentialsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.ContinuousWebJob + bodyMapper: Mappers.User + }, + 201: { + bodyMapper: Mappers.User + }, + 202: { + bodyMapper: Mappers.User + }, + 204: { + bodyMapper: Mappers.User }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteContinuousWebJobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateSitePushSettingsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings", + httpMethod: "PUT", responses: { - 200: {}, - 204: {}, + 200: { + bodyMapper: Mappers.PushSettings + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const startContinuousWebJobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start", + requestBody: Parameters.pushSettings, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listSitePushSettingsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list", + httpMethod: "POST", responses: { - 200: {}, - 404: {}, + 200: { + bodyMapper: Mappers.PushSettings + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const stopContinuousWebJobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getConfigurationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", + httpMethod: "GET", responses: { - 200: {}, - 404: {}, + 200: { + bodyMapper: Mappers.SiteConfigResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listDeploymentsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateConfigurationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.DeploymentCollection + bodyMapper: Mappers.SiteConfigResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getDeploymentSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", + requestBody: Parameters.siteConfig, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.id, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateConfigurationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.Deployment + bodyMapper: Mappers.SiteConfigResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createDeploymentSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", + requestBody: Parameters.siteConfig, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.id, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "deployment", - mapper: { - ...Mappers.Deployment, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listConfigurationSnapshotInfoSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Deployment + bodyMapper: Mappers.SiteConfigurationSnapshotInfoCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteDeploymentSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.id, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getConfigurationSnapshotSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}", + httpMethod: "GET", responses: { - 200: {}, - 204: {}, + 200: { + bodyMapper: Mappers.SiteConfigResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listDeploymentLogSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.id, Parameters.slot, - Parameters.subscriptionId + Parameters.snapshotId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const recoverSiteConfigurationSnapshotSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.Deployment - }, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const discoverBackupSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/discoverbackup", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.snapshotId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.RestoreRequest, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getWebSiteContainerLogsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.RestoreRequest + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } + 204: {}, + default: {} }, - serializer -}; - -const listDomainOwnershipIdentifiersSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept1], + serializer +}; +const getContainerLogsZipSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.IdentifierCollection + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } + 204: {}, + default: {} }, - serializer -}; - -const getDomainOwnershipIdentifierSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.domainOwnershipIdentifierName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept2], + serializer +}; +const listContinuousWebJobsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Identifier + bodyMapper: Mappers.ContinuousWebJobCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateDomainOwnershipIdentifierSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.domainOwnershipIdentifierName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "domainOwnershipIdentifier", - mapper: { - ...Mappers.Identifier, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getContinuousWebJobSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Identifier + bodyMapper: Mappers.ContinuousWebJob + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteDomainOwnershipIdentifierSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.domainOwnershipIdentifierName, Parameters.slot, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteContinuousWebJobSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -32450,2534 +23001,2562 @@ const deleteDomainOwnershipIdentifierSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateDomainOwnershipIdentifierSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.domainOwnershipIdentifierName, Parameters.slot, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "domainOwnershipIdentifier", - mapper: { - ...Mappers.Identifier, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.Identifier - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const getMSDeployStatusSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const startContinuousWebJobSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.MSDeployStatus + 200: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getMSDeployLogSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const stopContinuousWebJobSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.MSDeployLog + 200: {}, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listInstanceFunctionsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listDeploymentsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.FunctionEnvelopeCollection + bodyMapper: Mappers.DeploymentCollection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getFunctionsAdminTokenSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getDeploymentSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "String" - } - } + bodyMapper: Mappers.Deployment }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceFunctionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, Parameters.slot, - Parameters.subscriptionId + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createDeploymentSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.FunctionEnvelope + bodyMapper: Mappers.Deployment }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteInstanceFunctionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", + requestBody: Parameters.deployment, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, Parameters.slot, - Parameters.subscriptionId + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteDeploymentSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", + httpMethod: "DELETE", responses: { + 200: {}, 204: {}, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateFunctionSecretSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/keys/{keyName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, - Parameters.keyName, Parameters.slot, - Parameters.subscriptionId + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "key", - mapper: { - ...Mappers.KeyInfo, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listDeploymentLogSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.KeyInfo - }, - 201: { - bodyMapper: Mappers.KeyInfo + bodyMapper: Mappers.Deployment }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteFunctionSecretSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/keys/{keyName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, - Parameters.keyName, Parameters.slot, - Parameters.subscriptionId + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const discoverBackupSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/discoverbackup", + httpMethod: "POST", responses: { - 204: {}, - 404: {}, + 200: { + bodyMapper: Mappers.RestoreRequest + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listFunctionKeysSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listkeys", + requestBody: Parameters.request3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listDomainOwnershipIdentifiersSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.StringDictionary + bodyMapper: Mappers.IdentifierCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listFunctionSecretsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getDomainOwnershipIdentifierSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.FunctionSecrets + bodyMapper: Mappers.Identifier }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listHostKeysSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/listkeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.domainOwnershipIdentifierName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateDomainOwnershipIdentifierSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.HostKeys + bodyMapper: Mappers.Identifier }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSyncStatusSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/listsyncstatus", + requestBody: Parameters.domainOwnershipIdentifier1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.domainOwnershipIdentifierName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteDomainOwnershipIdentifierSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + httpMethod: "DELETE", responses: { + 200: {}, 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot, + Parameters.domainOwnershipIdentifierName + ], + headerParameters: [Parameters.accept], serializer }; - -const syncFunctionsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const updateDomainOwnershipIdentifierSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/sync", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.Identifier + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + requestBody: Parameters.domainOwnershipIdentifier1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.domainOwnershipIdentifierName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getMSDeployStatusSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", + httpMethod: "GET", responses: { - 204: {}, + 200: { + bodyMapper: Mappers.MSDeployStatus + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateHostSecretSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/{keyType}/{keyName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.keyType, - Parameters.keyName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "key", - mapper: { - ...Mappers.KeyInfo, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createMSDeployOperationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.KeyInfo + bodyMapper: Mappers.MSDeployStatus }, 201: { - bodyMapper: Mappers.KeyInfo + bodyMapper: Mappers.MSDeployStatus + }, + 202: { + bodyMapper: Mappers.MSDeployStatus + }, + 204: { + bodyMapper: Mappers.MSDeployStatus + }, + 409: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteHostSecretSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/{keyType}/{keyName}", + requestBody: Parameters.mSDeploy, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.keyType, - Parameters.keyName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getMSDeployLogSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log", + httpMethod: "GET", responses: { - 204: {}, - 404: {}, + 200: { + bodyMapper: Mappers.MSDeployLog + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listHostNameBindingsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listInstanceFunctionsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.HostNameBindingCollection + bodyMapper: Mappers.FunctionEnvelopeCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getHostNameBindingSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.hostName1, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getFunctionsAdminTokenSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.HostNameBinding + bodyMapper: { type: { name: "String" } } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateHostNameBindingSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.hostName1, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "hostNameBinding", - mapper: { - ...Mappers.HostNameBinding, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getInstanceFunctionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.HostNameBinding + bodyMapper: Mappers.FunctionEnvelope + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteHostNameBindingSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.hostName1, - Parameters.subscriptionId + Parameters.functionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createInstanceFunctionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", + httpMethod: "PUT", responses: { - 200: {}, - 204: {}, + 200: { + bodyMapper: Mappers.FunctionEnvelope + }, + 201: { + bodyMapper: Mappers.FunctionEnvelope + }, + 202: { + bodyMapper: Mappers.FunctionEnvelope + }, + 204: { + bodyMapper: Mappers.FunctionEnvelope + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getHybridConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + requestBody: Parameters.functionEnvelope, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.namespaceName, - Parameters.relayName, Parameters.slot, - Parameters.subscriptionId + Parameters.functionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteInstanceFunctionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.HybridConnection + 204: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateHybridConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.namespaceName, - Parameters.relayName, Parameters.slot, - Parameters.subscriptionId + Parameters.functionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.HybridConnection, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateFunctionSecretSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/keys/{keyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.HybridConnection + bodyMapper: Mappers.KeyInfo + }, + 201: { + bodyMapper: Mappers.KeyInfo }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteHybridConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + requestBody: Parameters.key, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.namespaceName, - Parameters.relayName, Parameters.slot, - Parameters.subscriptionId + Parameters.functionName, + Parameters.keyName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteFunctionSecretSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/keys/{keyName}", + httpMethod: "DELETE", responses: { - 200: {}, - 404: {}, + 204: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateHybridConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.namespaceName, - Parameters.relayName, Parameters.slot, - Parameters.subscriptionId + Parameters.functionName, + Parameters.keyName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.HybridConnection, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listFunctionKeysSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listkeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.HybridConnection + bodyMapper: Mappers.StringDictionary }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listHybridConnectionsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.functionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listFunctionSecretsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.HybridConnection + bodyMapper: Mappers.FunctionSecrets }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listRelayServiceConnectionsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.functionName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listHostKeysSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/listkeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.RelayServiceConnectionEntity + bodyMapper: Mappers.HostKeys }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getRelayServiceConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.entityName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listSyncStatusSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/listsyncstatus", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.RelayServiceConnectionEntity - }, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const createOrUpdateRelayServiceConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const syncFunctionsSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/sync", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.entityName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.RelayServiceConnectionEntity, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateHostSecretSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/{keyType}/{keyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.RelayServiceConnectionEntity + bodyMapper: Mappers.KeyInfo + }, + 201: { + bodyMapper: Mappers.KeyInfo }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteRelayServiceConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", + requestBody: Parameters.key, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.entityName, Parameters.slot, - Parameters.subscriptionId + Parameters.keyName, + Parameters.keyType ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteHostSecretSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/{keyType}/{keyName}", + httpMethod: "DELETE", responses: { - 200: {}, - 404: {}, + 204: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateRelayServiceConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.entityName, Parameters.slot, - Parameters.subscriptionId + Parameters.keyName, + Parameters.keyType ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.RelayServiceConnectionEntity, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listHostNameBindingsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RelayServiceConnectionEntity + bodyMapper: Mappers.HostNameBindingCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listInstanceIdentifiersSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getHostNameBindingSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppInstanceStatusCollection + bodyMapper: Mappers.HostNameBinding }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceInfoSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.instanceId, Parameters.slot, - Parameters.subscriptionId + Parameters.hostName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateHostNameBindingSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.WebSiteInstanceStatus + bodyMapper: Mappers.HostNameBinding }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceMsDeployStatusSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", + requestBody: Parameters.hostNameBinding, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.hostName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteHostNameBindingSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.MSDeployStatus - }, + 200: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceMSDeployLogSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.hostName1 ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getHybridConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.MSDeployLog + bodyMapper: Mappers.HybridConnection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listInstanceProcessesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.relayName, + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateHybridConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ProcessInfoCollection + bodyMapper: Mappers.HybridConnection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceProcessSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", + requestBody: Parameters.connectionEnvelope1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.relayName, + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteHybridConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.ProcessInfo + 200: {}, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteInstanceProcessSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.relayName, + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateHybridConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", + httpMethod: "PATCH", responses: { - 204: {}, - 404: {}, + 200: { + bodyMapper: Mappers.HybridConnection + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceProcessDumpSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump", + requestBody: Parameters.connectionEnvelope1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.relayName, + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listHybridConnectionsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + bodyMapper: Mappers.HybridConnection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listInstanceProcessModulesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listRelayServiceConnectionsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessModuleInfoCollection + bodyMapper: Mappers.RelayServiceConnectionEntity }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getInstanceProcessModuleSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.baseAddress, - Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getRelayServiceConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessModuleInfo + bodyMapper: Mappers.RelayServiceConnectionEntity }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listInstanceProcessThreadsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.entityName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateRelayServiceConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ProcessThreadInfoCollection + bodyMapper: Mappers.RelayServiceConnectionEntity }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const isCloneableSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable", + requestBody: Parameters.connectionEnvelope2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.entityName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteRelayServiceConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.SiteCloneability + 200: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteBackupsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listbackups", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.entityName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateRelayServiceConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.BackupItemCollection + bodyMapper: Mappers.RelayServiceConnectionEntity }, default: { bodyMapper: Mappers.DefaultErrorResponse } - }, - serializer -}; - -const listSyncFunctionTriggersSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus", + }, + requestBody: Parameters.connectionEnvelope2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.entityName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listInstanceIdentifiersSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.FunctionSecrets + bodyMapper: Mappers.WebAppInstanceStatusCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getMigrateMySqlStatusSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getInstanceInfoSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.MigrateMySqlStatus + bodyMapper: Mappers.WebSiteInstanceStatus }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSwiftVirtualNetworkConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getInstanceMsDeployStatusSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SwiftVirtualNetwork + bodyMapper: Mappers.MSDeployStatus }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteSwiftVirtualNetworkSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createInstanceMSDeployOperationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", + httpMethod: "PUT", responses: { - 200: {}, - 404: {}, + 200: { + bodyMapper: Mappers.MSDeployStatus + }, + 201: { + bodyMapper: Mappers.MSDeployStatus + }, + 202: { + bodyMapper: Mappers.MSDeployStatus + }, + 204: { + bodyMapper: Mappers.MSDeployStatus + }, + 409: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listNetworkFeaturesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}", + requestBody: Parameters.mSDeploy, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.view, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getInstanceMSDeployLogSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.NetworkFeatures + bodyMapper: Mappers.MSDeployLog + }, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getNetworkTraceOperationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/operationresults/{operationId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.operationId, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listInstanceProcessesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.ProcessInfoCollection }, - 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const startWebSiteNetworkTraceSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.durationInSeconds, - Parameters.maxFrameLength, - Parameters.sasUrl, - Parameters.apiVersion + Parameters.instanceId ], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getInstanceProcessSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "String" - } - } + bodyMapper: Mappers.ProcessInfo + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const stopWebSiteNetworkTraceSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId, + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteInstanceProcessSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", + httpMethod: "DELETE", responses: { - 200: {}, 204: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getNetworkTracesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/{operationId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.operationId, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId, + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getInstanceProcessDumpSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getNetworkTraceOperationSlotV2OperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTraces/current/operationresults/{operationId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.operationId, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId, + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listInstanceProcessModulesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.ProcessModuleInfoCollection }, - 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getNetworkTracesSlotV2OperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTraces/{operationId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.operationId, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId, + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getInstanceProcessModuleSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.ProcessModuleInfo + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const generateNewSitePublishingPasswordSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId, + Parameters.processId, + Parameters.baseAddress ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listPerfMonCountersSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listInstanceProcessThreadsSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PerfMonCounterCollection + bodyMapper: Mappers.ProcessThreadInfoCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSitePhpErrorLogFlagSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.instanceId, + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const isCloneableSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SitePhpErrorLogFlag + bodyMapper: Mappers.SiteCloneability }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listPremierAddOnsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listSiteBackupsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listbackups", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.PremierAddOn + bodyMapper: Mappers.BackupItemCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPremierAddOnSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.premierAddOnName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listSyncFunctionTriggersSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.PremierAddOn + bodyMapper: Mappers.FunctionSecrets }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const addPremierAddOnSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.premierAddOnName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "premierAddOn", - mapper: { - ...Mappers.PremierAddOn, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getMigrateMySqlStatusSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PremierAddOn + bodyMapper: Mappers.MigrateMySqlStatus }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deletePremierAddOnSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.premierAddOnName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getSwiftVirtualNetworkConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", + httpMethod: "GET", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.SwiftVirtualNetwork + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updatePremierAddOnSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.premierAddOnName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "premierAddOn", - mapper: { - ...Mappers.PremierAddOnPatchResource, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.PremierAddOn + bodyMapper: Mappers.SwiftVirtualNetwork }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPrivateAccessSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", + requestBody: Parameters.connectionEnvelope3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteSwiftVirtualNetworkSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.PrivateAccess + 200: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const putPrivateAccessVnetSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "access", - mapper: { - ...Mappers.PrivateAccess, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateSwiftVirtualNetworkConnectionWithCheckSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.PrivateAccess + bodyMapper: Mappers.SwiftVirtualNetwork }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPrivateEndpointConnectionListSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateEndpointConnections", + requestBody: Parameters.connectionEnvelope3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNetworkFeaturesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PrivateEndpointConnectionCollection + bodyMapper: Mappers.NetworkFeatures + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPrivateEndpointConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateEndpointConnections/{privateEndpointConnectionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.privateEndpointConnectionName, Parameters.slot, - Parameters.subscriptionId + Parameters.view ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getNetworkTraceOperationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/operationresults/{operationId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 202: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPrivateLinkResourcesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateLinkResources", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.operationId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const startWebSiteNetworkTraceSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.PrivateLinkResourcesWrapper + bodyMapper: { type: { name: "String" } } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listProcessesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes", + queryParameters: [ + Parameters.apiVersion, + Parameters.durationInSeconds, + Parameters.maxFrameLength, + Parameters.sasUrl + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const startWebSiteNetworkTraceOperationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/startOperation", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.ProcessInfoCollection + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 201: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 202: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 204: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.durationInSeconds, + Parameters.maxFrameLength, + Parameters.sasUrl + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const getProcessSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const stopWebSiteNetworkTraceSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop", + httpMethod: "POST", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getNetworkTracesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/{operationId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessInfo + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteProcessSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, Parameters.slot, - Parameters.subscriptionId + Parameters.operationId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 204: {}, - 404: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const getProcessDumpSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const getNetworkTraceOperationSlotV2OperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTraces/current/operationresults/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 202: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, Parameters.slot, - Parameters.subscriptionId + Parameters.operationId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getNetworkTracesSlotV2OperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTraces/{operationId}", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { - name: "Stream" + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } } } }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listProcessModulesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, Parameters.slot, - Parameters.subscriptionId + Parameters.operationId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const generateNewSitePublishingPasswordSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.ProcessModuleInfoCollection - }, - 404: {}, + 200: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getProcessModuleSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.baseAddress, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listPerfMonCountersSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessModuleInfo + bodyMapper: Mappers.PerfMonCounterCollection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listProcessThreadsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads", + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.processId, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getSitePhpErrorLogFlagSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProcessThreadInfoCollection + bodyMapper: Mappers.SitePhpErrorLogFlag }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listPublicCertificatesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listPremierAddOnsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PublicCertificateCollection + bodyMapper: Mappers.PremierAddOn }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getPublicCertificateSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.publicCertificateName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getPremierAddOnSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.PublicCertificate + bodyMapper: Mappers.PremierAddOn }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdatePublicCertificateSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.publicCertificateName, Parameters.slot, - Parameters.subscriptionId + Parameters.premierAddOnName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "publicCertificate", - mapper: { - ...Mappers.PublicCertificate, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const addPremierAddOnSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.PublicCertificate + bodyMapper: Mappers.PremierAddOn }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deletePublicCertificateSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", + requestBody: Parameters.premierAddOn, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.publicCertificateName, - Parameters.subscriptionId + Parameters.premierAddOnName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deletePremierAddOnSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", + httpMethod: "DELETE", responses: { 200: {}, - 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listPublishingProfileXmlWithSecretsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.premierAddOnName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "publishingProfileOptions", - mapper: { - ...Mappers.CsmPublishingProfileOptions, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updatePremierAddOnSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Stream" - } - } + bodyMapper: Mappers.PremierAddOn }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const resetSlotConfigurationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig", + requestBody: Parameters.premierAddOn1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.premierAddOnName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getPrivateAccessSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", + httpMethod: "GET", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.PrivateAccess + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const restartSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.softRestart, Parameters.synchronous, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const putPrivateAccessVnetSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", + httpMethod: "PUT", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.PrivateAccess + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSiteExtensionsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions", + requestBody: Parameters.access, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getPrivateEndpointConnectionListSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateEndpointConnections", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteExtensionInfoCollection + bodyMapper: Mappers.PrivateEndpointConnectionCollection }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSiteExtensionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.siteExtensionId, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getPrivateEndpointConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteExtensionInfo + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteSiteExtensionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.siteExtensionId, - Parameters.slot, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName, + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const approveOrRejectPrivateEndpointConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", responses: { - 204: {}, - 404: {}, + 200: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 201: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 202: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, + 204: { + bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSlotDifferencesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs", + requestBody: Parameters.privateEndpointWrapper, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName, + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "slotSwapEntity", - mapper: { - ...Mappers.CsmSlotEntity, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deletePrivateEndpointConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", responses: { 200: { - bodyMapper: Mappers.SlotDifferenceCollection + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 201: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 202: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + }, + 204: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSnapshotsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.privateEndpointConnectionName, + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getPrivateLinkResourcesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateLinkResources", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SnapshotCollection + bodyMapper: Mappers.PrivateLinkResourcesWrapper }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listSnapshotsFromDRSecondarySlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshotsdr", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listProcessesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SnapshotCollection + bodyMapper: Mappers.ProcessInfoCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getSourceControlSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getProcessSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteSourceControl - }, - 201: { - bodyMapper: Mappers.SiteSourceControl + bodyMapper: Mappers.ProcessInfo }, - 202: { - bodyMapper: Mappers.SiteSourceControl + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteSourceControlSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.processId ], - queryParameters: [Parameters.additionalFlags, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteProcessSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", + httpMethod: "DELETE", responses: { - 200: {}, - 202: {}, - 404: {}, + 204: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateSourceControlSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteSourceControl", - mapper: { - ...Mappers.SiteSourceControl, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getProcessDumpSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteSourceControl - }, - 201: { - bodyMapper: Mappers.SiteSourceControl + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } }, - 202: { - bodyMapper: Mappers.SiteSourceControl + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const startSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const stopSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listProcessModulesSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules", + httpMethod: "GET", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.ProcessModuleInfoCollection + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const stopNetworkTraceSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stopNetworkTrace", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getProcessModuleSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}", + httpMethod: "GET", responses: { - 200: {}, - 204: {}, + 200: { + bodyMapper: Mappers.ProcessModuleInfo + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const syncRepositorySlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.processId, + Parameters.baseAddress ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listProcessThreadsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads", + httpMethod: "GET", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.ProcessThreadInfoCollection + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const syncFunctionTriggersSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.slot, - Parameters.subscriptionId + Parameters.processId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listPublicCertificatesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates", + httpMethod: "GET", responses: { - 204: {}, + 200: { + bodyMapper: Mappers.PublicCertificateCollection + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listTriggeredWebJobsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getPublicCertificateSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.TriggeredWebJobCollection + bodyMapper: Mappers.PublicCertificate }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getTriggeredWebJobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, Parameters.slot, - Parameters.subscriptionId + Parameters.publicCertificateName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdatePublicCertificateSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.TriggeredWebJob + bodyMapper: Mappers.PublicCertificate }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteTriggeredWebJobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", + requestBody: Parameters.publicCertificate, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, Parameters.slot, - Parameters.subscriptionId + Parameters.publicCertificateName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deletePublicCertificateSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -34985,454 +25564,470 @@ const deleteTriggeredWebJobSlotOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listTriggeredWebJobHistorySlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, Parameters.slot, - Parameters.subscriptionId + Parameters.publicCertificateName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listPublishingProfileXmlWithSecretsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.TriggeredJobHistoryCollection + bodyMapper: { type: { name: "Stream" }, serializedName: "parsedResponse" } }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getTriggeredWebJobHistorySlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}", + requestBody: Parameters.publishingProfileOptions, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.id, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.contentType, Parameters.accept3], + mediaType: "json", + serializer +}; +const resetSlotConfigurationSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.TriggeredJobHistory - }, - 404: {}, + 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const runTriggeredWebJobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const restartSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart", + httpMethod: "POST", responses: { 200: {}, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listUsagesSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages", + queryParameters: [ + Parameters.apiVersion, + Parameters.softRestart, + Parameters.synchronous + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const restoreFromBackupBlobSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.CsmUsageQuotaCollection - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } - }, - serializer -}; - -const listVnetConnectionsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections", + }, + requestBody: Parameters.request3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const restoreFromDeletedAppSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp", + httpMethod: "POST", responses: { - 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VnetInfo" - } - } - } - } - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getVnetConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", + requestBody: Parameters.restoreRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const restoreSnapshotSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.VnetInfo - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateVnetConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", + requestBody: Parameters.restoreRequest1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetInfo, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listSiteExtensionsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.VnetInfo + bodyMapper: Mappers.SiteExtensionInfoCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteVnetConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getSiteExtensionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", + httpMethod: "GET", responses: { - 200: {}, - 404: {}, + 200: { + bodyMapper: Mappers.SiteExtensionInfo + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateVnetConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, Parameters.slot, - Parameters.subscriptionId + Parameters.siteExtensionId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetInfo, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const installSiteExtensionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.VnetInfo + bodyMapper: Mappers.SiteExtensionInfo + }, + 201: { + bodyMapper: Mappers.SiteExtensionInfo + }, + 202: { + bodyMapper: Mappers.SiteExtensionInfo + }, + 204: { + bodyMapper: Mappers.SiteExtensionInfo + }, + 429: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getVnetConnectionGatewaySlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.gatewayName, Parameters.slot, - Parameters.subscriptionId + Parameters.siteExtensionId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteSiteExtensionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.VnetGateway + 204: {}, + 404: { + isError: true }, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateVnetConnectionGatewaySlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.gatewayName, Parameters.slot, - Parameters.subscriptionId + Parameters.siteExtensionId ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetGateway, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listSlotDifferencesSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.VnetGateway + bodyMapper: Mappers.SlotDifferenceCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateVnetConnectionGatewaySlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + requestBody: Parameters.slotSwapEntity, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.gatewayName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetGateway, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const swapSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.VnetGateway - }, + 200: {}, + 201: {}, + 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listWebJobsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs", + requestBody: Parameters.slotSwapEntity, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listSnapshotsSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebJobCollection + bodyMapper: Mappers.SnapshotCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getWebJobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.slot, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listSnapshotsFromDRSecondarySlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshotsdr", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebJob + bodyMapper: Mappers.SnapshotCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSlotDifferencesFromProductionOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const getSourceControlSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "slotSwapEntity", - mapper: { - ...Mappers.CsmSlotEntity, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SlotDifferenceCollection + bodyMapper: Mappers.SiteSourceControl + }, + 201: { + bodyMapper: Mappers.SiteSourceControl + }, + 202: { + bodyMapper: Mappers.SiteSourceControl }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSnapshotsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const createOrUpdateSourceControlSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SnapshotCollection + bodyMapper: Mappers.SiteSourceControl + }, + 201: { + bodyMapper: Mappers.SiteSourceControl + }, + 202: { + bodyMapper: Mappers.SiteSourceControl + }, + 204: { + bodyMapper: Mappers.SiteSourceControl }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.siteSourceControl, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listSnapshotsFromDRSecondaryOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const deleteSourceControlSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshotsdr", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.SnapshotCollection + 200: {}, + 202: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.additionalFlags], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const getSourceControlOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const updateSourceControlSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.SiteSourceControl @@ -35447,97 +26042,122 @@ const getSourceControlOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.siteSourceControl, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteSourceControlOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const startSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.additionalFlags, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start", + httpMethod: "POST", responses: { 200: {}, - 202: {}, - 404: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const updateSourceControlOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", +const startNetworkTraceSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteSourceControl", - mapper: { - ...Mappers.SiteSourceControl, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/startNetworkTrace", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SiteSourceControl + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, 201: { - bodyMapper: Mappers.SiteSourceControl + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, 202: { - bodyMapper: Mappers.SiteSourceControl + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 204: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.durationInSeconds, + Parameters.maxFrameLength, + Parameters.sasUrl + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const startOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const stopSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, - serializer -}; - -const stopOperationSpec: msRest.OperationSpec = { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop", httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const stopNetworkTraceOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const stopNetworkTraceSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stopNetworkTrace", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stopNetworkTrace", + httpMethod: "POST", responses: { 200: {}, 204: {}, @@ -35545,48 +26165,63 @@ const stopNetworkTraceOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const syncRepositoryOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const syncRepositorySlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync", + httpMethod: "POST", responses: { 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const syncFunctionTriggersOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const syncFunctionTriggersSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers", + httpMethod: "POST", responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listTriggeredWebJobsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listTriggeredWebJobsSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TriggeredWebJobCollection @@ -35595,45 +26230,48 @@ const listTriggeredWebJobsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getTriggeredWebJobOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getTriggeredWebJobSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TriggeredWebJob }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteTriggeredWebJobOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.subscriptionId + Parameters.slot, + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const deleteTriggeredWebJobSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -35641,87 +26279,102 @@ const deleteTriggeredWebJobOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const listTriggeredWebJobHistoryOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.subscriptionId + Parameters.slot, + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listTriggeredWebJobHistorySlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TriggeredJobHistoryCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getTriggeredWebJobHistoryOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.id, - Parameters.subscriptionId + Parameters.slot, + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getTriggeredWebJobHistorySlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TriggeredJobHistory }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const runTriggeredWebJobOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, + Parameters.slot, Parameters.webJobName, - Parameters.subscriptionId + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const runTriggeredWebJobSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run", + httpMethod: "POST", responses: { 200: {}, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot, + Parameters.webJobName + ], + headerParameters: [Parameters.accept], serializer }; - -const listUsagesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listUsagesSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmUsageQuotaCollection @@ -35730,27 +26383,28 @@ const listUsagesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listVnetConnectionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listVnetConnectionsSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", element: { - type: { - name: "Composite", - className: "VnetInfo" - } + type: { name: "Composite", className: "VnetInfoResource" } } } } @@ -35759,159 +26413,150 @@ const listVnetConnectionsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getVnetConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.vnetName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getVnetConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.VnetInfo + bodyMapper: Mappers.VnetInfoResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateVnetConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetInfo, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateVnetConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.VnetInfo + bodyMapper: Mappers.VnetInfoResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const deleteVnetConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", + requestBody: Parameters.connectionEnvelope4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteVnetConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", + httpMethod: "DELETE", responses: { 200: {}, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateVnetConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetInfo, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateVnetConnectionSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.VnetInfo + bodyMapper: Mappers.VnetInfoResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getVnetConnectionGatewayOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + requestBody: Parameters.connectionEnvelope4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, - Parameters.gatewayName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getVnetConnectionGatewaySlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VnetGateway }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const createOrUpdateVnetConnectionGatewayOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, Parameters.gatewayName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetGateway, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateVnetConnectionGatewaySlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.VnetGateway @@ -35920,29 +26565,25 @@ const createOrUpdateVnetConnectionGatewayOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const updateVnetConnectionGatewayOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + requestBody: Parameters.connectionEnvelope, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, Parameters.vnetName, Parameters.gatewayName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "connectionEnvelope", - mapper: { - ...Mappers.VnetGateway, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateVnetConnectionGatewaySlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.VnetGateway @@ -35951,16 +26592,25 @@ const updateVnetConnectionGatewayOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.connectionEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.vnetName, + Parameters.gatewayName, + Parameters.slot + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listWebJobsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", +const listWebJobsSlotOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebJobCollection @@ -35969,21 +26619,21 @@ const listWebJobsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const getWebJobOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.webJobName, - Parameters.subscriptionId + Parameters.slot ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const getWebJobSlotOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebJob @@ -35992,336 +26642,280 @@ const getWebJobOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.slot, + Parameters.webJobName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const listSlotDifferencesFromProductionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteEnvelope", - mapper: { - ...Mappers.Site, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.Site - }, - 202: { - bodyMapper: Mappers.Site + bodyMapper: Mappers.SlotDifferenceCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginRestoreOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore", + requestBody: Parameters.slotSwapEntity, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.backupId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.RestoreRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const swapSlotWithProductionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap", + httpMethod: "POST", responses: { 200: {}, + 201: {}, 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.slotSwapEntity, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginListPublishingCredentialsOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listSnapshotsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.User + bodyMapper: Mappers.SnapshotCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginCreateMSDeployOperationOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const listSnapshotsFromDRSecondaryOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "mSDeploy", - mapper: { - ...Mappers.MSDeploy, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshotsdr", + httpMethod: "GET", responses: { - 201: { - bodyMapper: Mappers.MSDeployStatus + 200: { + bodyMapper: Mappers.SnapshotCollection }, - 409: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateFunctionOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.functionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "functionEnvelope", - mapper: { - ...Mappers.FunctionEnvelope, - required: true - } - }, - responses: { - 201: { - bodyMapper: Mappers.FunctionEnvelope - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateInstanceMSDeployOperationOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const getSourceControlOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.instanceId, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "mSDeploy", - mapper: { - ...Mappers.MSDeploy, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", + httpMethod: "GET", responses: { + 200: { + bodyMapper: Mappers.SiteSourceControl + }, 201: { - bodyMapper: Mappers.MSDeployStatus + bodyMapper: Mappers.SiteSourceControl + }, + 202: { + bodyMapper: Mappers.SiteSourceControl }, - 409: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginMigrateStorageOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const createOrUpdateSourceControlOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.subscriptionName, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "migrationOptions", - mapper: { - ...Mappers.StorageMigrationOptions, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.StorageMigrationResponse + bodyMapper: Mappers.SiteSourceControl + }, + 201: { + bodyMapper: Mappers.SiteSourceControl + }, + 202: { + bodyMapper: Mappers.SiteSourceControl + }, + 204: { + bodyMapper: Mappers.SiteSourceControl }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.siteSourceControl, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginMigrateMySqlOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const deleteSourceControlOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "migrationRequestEnvelope", - mapper: { - ...Mappers.MigrateMySqlRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.Operation + 200: {}, + 202: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.additionalFlags], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginStartWebSiteNetworkTraceOperationOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const updateSourceControlOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/startOperation", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [ - Parameters.durationInSeconds, - Parameters.maxFrameLength, - Parameters.sasUrl, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.SiteSourceControl + }, + 201: { + bodyMapper: Mappers.SiteSourceControl }, 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.SiteSourceControl }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginApproveOrRejectPrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + requestBody: Parameters.siteSourceControl, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "privateEndpointWrapper", - mapper: { - ...Mappers.PrivateLinkConnectionApprovalRequestResource, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const startOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource - }, - 202: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource - }, + 200: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginDeletePrivateEndpointConnectionOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const startNetworkTraceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/startNetworkTrace", + httpMethod: "POST", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", type: { - name: "Object" + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } + } + } + }, + 201: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } } } }, 202: { bodyMapper: { - serializedName: "parsedResponse", type: { - name: "Object" + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } } } }, 204: { bodyMapper: { - serializedName: "parsedResponse", type: { - name: "Object" + name: "Sequence", + element: { type: { name: "Composite", className: "NetworkTrace" } } } } }, @@ -36329,330 +26923,282 @@ const beginDeletePrivateEndpointConnectionOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.durationInSeconds, + Parameters.maxFrameLength, + Parameters.sasUrl + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginRestoreFromBackupBlobOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const stopOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.RestoreRequest, - required: true + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop", + httpMethod: "POST", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const stopNetworkTraceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stopNetworkTrace", + httpMethod: "POST", responses: { 200: {}, - 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginRestoreFromDeletedAppOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const syncRepositoryOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "restoreRequest", - mapper: { - ...Mappers.DeletedAppRestoreRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync", + httpMethod: "POST", responses: { 200: {}, - 202: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginRestoreSnapshotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const syncFunctionTriggersOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "restoreRequest", - mapper: { - ...Mappers.SnapshotRestoreRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers", + httpMethod: "POST", responses: { - 200: {}, - 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginInstallSiteExtensionOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.siteExtensionId, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listTriggeredWebJobsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteExtensionInfo - }, - 201: { - bodyMapper: Mappers.SiteExtensionInfo + bodyMapper: Mappers.TriggeredWebJobCollection }, - 429: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateOrUpdateSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteEnvelope", - mapper: { - ...Mappers.Site, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getTriggeredWebJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Site + bodyMapper: Mappers.TriggeredWebJob }, - 202: { - bodyMapper: Mappers.Site + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginRestoreSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.backupId, - Parameters.slot, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.RestoreRequest, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const deleteTriggeredWebJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", + httpMethod: "DELETE", responses: { 200: {}, - 202: {}, + 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginListPublishingCredentialsSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listTriggeredWebJobHistoryOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.User + bodyMapper: Mappers.TriggeredJobHistoryCollection + }, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateMSDeployOperationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "mSDeploy", - mapper: { - ...Mappers.MSDeploy, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getTriggeredWebJobHistoryOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}", + httpMethod: "GET", responses: { - 201: { - bodyMapper: Mappers.MSDeployStatus + 200: { + bodyMapper: Mappers.TriggeredJobHistory + }, + 404: { + isError: true }, - 409: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateInstanceFunctionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.functionName, - Parameters.slot, - Parameters.subscriptionId + Parameters.webJobName, + Parameters.id ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "functionEnvelope", - mapper: { - ...Mappers.FunctionEnvelope, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const runTriggeredWebJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run", + httpMethod: "POST", responses: { - 201: { - bodyMapper: Mappers.FunctionEnvelope + 200: {}, + 404: { + isError: true }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateInstanceMSDeployOperationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.instanceId, - Parameters.subscriptionId + Parameters.webJobName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "mSDeploy", - mapper: { - ...Mappers.MSDeploy, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listUsagesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages", + httpMethod: "GET", responses: { - 201: { - bodyMapper: Mappers.MSDeployStatus + 200: { + bodyMapper: Mappers.CsmUsageQuotaCollection }, - 409: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginStartWebSiteNetworkTraceOperationSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/startOperation", + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.durationInSeconds, - Parameters.maxFrameLength, - Parameters.sasUrl, - Parameters.apiVersion + Parameters.name ], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const listVnetConnectionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections", + httpMethod: "GET", responses: { 200: { bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } - }, - 202: { - bodyMapper: { - serializedName: "parsedResponse", type: { name: "Sequence", element: { - type: { - name: "Composite", - className: "NetworkTrace" - } + type: { name: "Composite", className: "VnetInfoResource" } } } } @@ -36661,431 +27207,260 @@ const beginStartWebSiteNetworkTraceOperationSlotOperationSpec: msRest.OperationS bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginApproveOrRejectPrivateEndpointConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateEndpointConnections/{privateEndpointConnectionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.slot, - Parameters.subscriptionId + Parameters.name ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "privateEndpointWrapper", - mapper: { - ...Mappers.PrivateLinkConnectionApprovalRequestResource, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource - }, - 202: { - bodyMapper: Mappers.RemotePrivateEndpointConnectionARMResource - }, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginDeletePrivateEndpointConnectionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", +const getVnetConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateEndpointConnections/{privateEndpointConnectionName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.privateEndpointConnectionName, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } - }, - 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } - }, - 204: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Object" - } - } + bodyMapper: Mappers.VnetInfoResource }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginRestoreFromBackupBlobSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.vnetName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.RestoreRequest, - required: true - } - }, - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.DefaultErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginRestoreFromDeletedAppSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const createOrUpdateVnetConnectionOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "restoreRequest", - mapper: { - ...Mappers.DeletedAppRestoreRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", + httpMethod: "PUT", responses: { - 200: {}, - 202: {}, + 200: { + bodyMapper: Mappers.VnetInfoResource + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginRestoreSnapshotSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot", + requestBody: Parameters.connectionEnvelope4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.vnetName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "restoreRequest", - mapper: { - ...Mappers.SnapshotRestoreRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteVnetConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", + httpMethod: "DELETE", responses: { 200: {}, - 202: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginInstallSiteExtensionSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.siteExtensionId, - Parameters.slot, - Parameters.subscriptionId + Parameters.vnetName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept], + serializer +}; +const updateVnetConnectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.SiteExtensionInfo - }, - 201: { - bodyMapper: Mappers.SiteExtensionInfo + bodyMapper: Mappers.VnetInfoResource }, - 429: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginSwapSlotSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap", + requestBody: Parameters.connectionEnvelope4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.vnetName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "slotSwapEntity", - mapper: { - ...Mappers.CsmSlotEntity, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getVnetConnectionGatewayOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, + 200: { + bodyMapper: Mappers.VnetGateway + }, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginCreateOrUpdateSourceControlSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId + Parameters.vnetName, + Parameters.gatewayName ], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteSourceControl", - mapper: { - ...Mappers.SiteSourceControl, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateVnetConnectionGatewayOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SiteSourceControl - }, - 201: { - bodyMapper: Mappers.SiteSourceControl - }, - 202: { - bodyMapper: Mappers.SiteSourceControl + bodyMapper: Mappers.VnetGateway }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, - serializer -}; - -const beginStartNetworkTraceSlotOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/startNetworkTrace", + requestBody: Parameters.connectionEnvelope, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.name, - Parameters.slot, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.durationInSeconds, - Parameters.maxFrameLength, - Parameters.sasUrl, - Parameters.apiVersion + Parameters.vnetName, + Parameters.gatewayName ], - headerParameters: [Parameters.acceptLanguage], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateVnetConnectionGatewayOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } - }, - 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.VnetGateway }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.connectionEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.vnetName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginSwapSlotWithProductionOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const listWebJobsOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "slotSwapEntity", - mapper: { - ...Mappers.CsmSlotEntity, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, + 200: { + bodyMapper: Mappers.WebJobCollection + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateSourceControlOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", +const getWebJobOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "siteSourceControl", - mapper: { - ...Mappers.SiteSourceControl, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SiteSourceControl - }, - 201: { - bodyMapper: Mappers.SiteSourceControl - }, - 202: { - bodyMapper: Mappers.SiteSourceControl + bodyMapper: Mappers.WebJob }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.webJobName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginStartNetworkTraceOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/startNetworkTrace", - urlParameters: [Parameters.resourceGroupName, Parameters.name, Parameters.subscriptionId], - queryParameters: [ - Parameters.durationInSeconds, - Parameters.maxFrameLength, - Parameters.sasUrl, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } - }, - 202: { - bodyMapper: { - serializedName: "parsedResponse", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkTrace" - } - } - } - } + bodyMapper: Mappers.WebAppCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppCollection @@ -37094,52 +27469,63 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.includeSlots], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBackupsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.includeSlots, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.WebAppCollection + bodyMapper: Mappers.BackupItemCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listBackupsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBasicPublishingCredentialsPoliciesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.BackupItemCollection + bodyMapper: Mappers.PublishingCredentialsPoliciesCollection }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listConfigurationsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listConfigurationsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SiteConfigResourceCollection @@ -37148,16 +27534,20 @@ const listConfigurationsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getAppSettingsKeyVaultReferencesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getAppSettingsKeyVaultReferencesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ApiKVReferenceCollection @@ -37166,16 +27556,20 @@ const getAppSettingsKeyVaultReferencesNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getSiteConnectionStringKeyVaultReferencesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getSiteConnectionStringKeyVaultReferencesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ApiKVReferenceCollection @@ -37184,16 +27578,20 @@ const getSiteConnectionStringKeyVaultReferencesNextOperationSpec: msRest.Operati bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listConfigurationSnapshotInfoNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listConfigurationSnapshotInfoNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SiteConfigurationSnapshotInfoCollection @@ -37202,16 +27600,20 @@ const listConfigurationSnapshotInfoNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listContinuousWebJobsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listContinuousWebJobsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ContinuousWebJobCollection @@ -37220,16 +27622,20 @@ const listContinuousWebJobsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listDeploymentsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listDeploymentsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DeploymentCollection @@ -37238,16 +27644,20 @@ const listDeploymentsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listDomainOwnershipIdentifiersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listDomainOwnershipIdentifiersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.IdentifierCollection @@ -37256,35 +27666,45 @@ const listDomainOwnershipIdentifiersNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listFunctionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listFunctionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.FunctionEnvelopeCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listHostNameBindingsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listHostNameBindingsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.HostNameBindingCollection @@ -37293,16 +27713,20 @@ const listHostNameBindingsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceIdentifiersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceIdentifiersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppInstanceStatusCollection @@ -37311,73 +27735,100 @@ const listInstanceIdentifiersNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceProcessesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceProcessesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.instanceId + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceProcessModulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceProcessModulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessModuleInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.instanceId, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceProcessThreadsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceProcessThreadsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessThreadInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.instanceId, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteBackupsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listSiteBackupsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.BackupItemCollection @@ -37386,16 +27837,20 @@ const listSiteBackupsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listPerfMonCountersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listPerfMonCountersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PerfMonCounterCollection @@ -37404,16 +27859,20 @@ const listPerfMonCountersNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const getPrivateEndpointConnectionListNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getPrivateEndpointConnectionListNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PrivateEndpointConnectionCollection @@ -37422,73 +27881,97 @@ const getPrivateEndpointConnectionListNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listProcessesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listProcessesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listProcessModulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listProcessModulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessModuleInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listProcessThreadsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listProcessThreadsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessThreadInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listPublicCertificatesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listPublicCertificatesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PublicCertificateCollection @@ -37497,35 +27980,45 @@ const listPublicCertificatesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteExtensionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteExtensionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SiteExtensionInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listSlotsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSlotsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppCollection @@ -37534,16 +28027,20 @@ const listSlotsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listBackupsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBackupsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.BackupItemCollection @@ -37552,16 +28049,44 @@ const listBackupsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listConfigurationsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBasicPublishingCredentialsPoliciesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PublishingCredentialsPoliciesCollection + }, + default: { + bodyMapper: Mappers.DefaultErrorResponse + } + }, queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], + serializer +}; +const listConfigurationsSlotNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SiteConfigResourceCollection @@ -37570,16 +28095,21 @@ const listConfigurationsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const getAppSettingsKeyVaultReferencesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getAppSettingsKeyVaultReferencesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ApiKVReferenceCollection @@ -37588,16 +28118,21 @@ const getAppSettingsKeyVaultReferencesSlotNextOperationSpec: msRest.OperationSpe bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const getSiteConnectionStringKeyVaultReferencesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getSiteConnectionStringKeyVaultReferencesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ApiKVReferenceCollection @@ -37606,16 +28141,21 @@ const getSiteConnectionStringKeyVaultReferencesSlotNextOperationSpec: msRest.Ope bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listConfigurationSnapshotInfoSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listConfigurationSnapshotInfoSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SiteConfigurationSnapshotInfoCollection @@ -37624,16 +28164,21 @@ const listConfigurationSnapshotInfoSlotNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listContinuousWebJobsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listContinuousWebJobsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ContinuousWebJobCollection @@ -37642,16 +28187,21 @@ const listContinuousWebJobsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listDeploymentsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listDeploymentsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DeploymentCollection @@ -37660,16 +28210,21 @@ const listDeploymentsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listDomainOwnershipIdentifiersSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listDomainOwnershipIdentifiersSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.IdentifierCollection @@ -37678,35 +28233,47 @@ const listDomainOwnershipIdentifiersSlotNextOperationSpec: msRest.OperationSpec bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceFunctionsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceFunctionsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.FunctionEnvelopeCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listHostNameBindingsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listHostNameBindingsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.HostNameBindingCollection @@ -37715,16 +28282,21 @@ const listHostNameBindingsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceIdentifiersSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceIdentifiersSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebAppInstanceStatusCollection @@ -37733,73 +28305,104 @@ const listInstanceIdentifiersSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceProcessesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceProcessesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot, + Parameters.instanceId + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceProcessModulesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceProcessModulesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessModuleInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot, + Parameters.instanceId, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listInstanceProcessThreadsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listInstanceProcessThreadsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessThreadInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot, + Parameters.instanceId, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteBackupsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listSiteBackupsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.BackupItemCollection @@ -37808,16 +28411,21 @@ const listSiteBackupsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listPerfMonCountersSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listPerfMonCountersSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PerfMonCounterCollection @@ -37826,16 +28434,21 @@ const listPerfMonCountersSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const getPrivateEndpointConnectionListSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const getPrivateEndpointConnectionListSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PrivateEndpointConnectionCollection @@ -37844,73 +28457,101 @@ const getPrivateEndpointConnectionListSlotNextOperationSpec: msRest.OperationSpe bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listProcessesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listProcessesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listProcessModulesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listProcessModulesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessModuleInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listProcessThreadsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listProcessThreadsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProcessThreadInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot, + Parameters.processId + ], + headerParameters: [Parameters.accept], serializer }; - -const listPublicCertificatesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listPublicCertificatesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PublicCertificateCollection @@ -37919,35 +28560,47 @@ const listPublicCertificatesSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteExtensionsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSiteExtensionsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SiteExtensionInfoCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSlotDifferencesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listSlotDifferencesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SlotDifferenceCollection @@ -37956,16 +28609,22 @@ const listSlotDifferencesSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listSnapshotsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSnapshotsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SnapshotCollection @@ -37974,16 +28633,21 @@ const listSnapshotsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSnapshotsFromDRSecondarySlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSnapshotsFromDRSecondarySlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SnapshotCollection @@ -37992,16 +28656,21 @@ const listSnapshotsFromDRSecondarySlotNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listTriggeredWebJobsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listTriggeredWebJobsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TriggeredWebJobCollection @@ -38010,35 +28679,48 @@ const listTriggeredWebJobsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listTriggeredWebJobHistorySlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listTriggeredWebJobHistorySlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TriggeredJobHistoryCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot, + Parameters.webJobName + ], + headerParameters: [Parameters.accept], serializer }; - -const listUsagesSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listUsagesSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmUsageQuotaCollection @@ -38047,16 +28729,21 @@ const listUsagesSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebJobsSlotNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listWebJobsSlotNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebJobCollection @@ -38065,16 +28752,21 @@ const listWebJobsSlotNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.slot + ], + headerParameters: [Parameters.accept], serializer }; - -const listSlotDifferencesFromProductionNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listSlotDifferencesFromProductionNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SlotDifferenceCollection @@ -38083,16 +28775,21 @@ const listSlotDifferencesFromProductionNextOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listSnapshotsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSnapshotsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SnapshotCollection @@ -38101,16 +28798,20 @@ const listSnapshotsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listSnapshotsFromDRSecondaryNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSnapshotsFromDRSecondaryNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SnapshotCollection @@ -38119,16 +28820,20 @@ const listSnapshotsFromDRSecondaryNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listTriggeredWebJobsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listTriggeredWebJobsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TriggeredWebJobCollection @@ -38137,35 +28842,46 @@ const listTriggeredWebJobsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listTriggeredWebJobHistoryNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listTriggeredWebJobHistoryNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TriggeredJobHistoryCollection }, - 404: {}, + 404: { + isError: true + }, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink, + Parameters.webJobName + ], + headerParameters: [Parameters.accept], serializer }; - -const listUsagesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listUsagesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion, Parameters.filter], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.CsmUsageQuotaCollection @@ -38174,16 +28890,20 @@ const listUsagesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listWebJobsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listWebJobsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.WebJobCollection @@ -38192,5 +28912,14 @@ const listWebJobsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/appServiceCertificateOrders.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/appServiceCertificateOrders.ts new file mode 100644 index 000000000000..63cba838e660 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/appServiceCertificateOrders.ts @@ -0,0 +1,340 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + AppServiceCertificateOrder, + AppServiceCertificateOrdersListOptionalParams, + AppServiceCertificateOrdersListByResourceGroupOptionalParams, + AppServiceCertificateResource, + AppServiceCertificateOrdersListCertificatesOptionalParams, + AppServiceCertificateOrdersValidatePurchaseInformationOptionalParams, + AppServiceCertificateOrdersGetOptionalParams, + AppServiceCertificateOrdersGetResponse, + AppServiceCertificateOrdersCreateOrUpdateOptionalParams, + AppServiceCertificateOrdersCreateOrUpdateResponse, + AppServiceCertificateOrdersDeleteOptionalParams, + AppServiceCertificateOrderPatchResource, + AppServiceCertificateOrdersUpdateOptionalParams, + AppServiceCertificateOrdersUpdateResponse, + AppServiceCertificateOrdersGetCertificateOptionalParams, + AppServiceCertificateOrdersGetCertificateResponse, + AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams, + AppServiceCertificateOrdersCreateOrUpdateCertificateResponse, + AppServiceCertificateOrdersDeleteCertificateOptionalParams, + AppServiceCertificatePatchResource, + AppServiceCertificateOrdersUpdateCertificateOptionalParams, + AppServiceCertificateOrdersUpdateCertificateResponse, + ReissueCertificateOrderRequest, + AppServiceCertificateOrdersReissueOptionalParams, + RenewCertificateOrderRequest, + AppServiceCertificateOrdersRenewOptionalParams, + AppServiceCertificateOrdersResendEmailOptionalParams, + NameIdentifier, + AppServiceCertificateOrdersResendRequestEmailsOptionalParams, + SiteSealRequest, + AppServiceCertificateOrdersRetrieveSiteSealOptionalParams, + AppServiceCertificateOrdersRetrieveSiteSealResponse, + AppServiceCertificateOrdersVerifyDomainOwnershipOptionalParams, + AppServiceCertificateOrdersRetrieveCertificateActionsOptionalParams, + AppServiceCertificateOrdersRetrieveCertificateActionsResponse, + AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptionalParams, + AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse +} from "../models"; + +/// +/** Interface representing a AppServiceCertificateOrders. */ +export interface AppServiceCertificateOrders { + /** + * Description for List all certificate orders in a subscription. + * @param options The options parameters. + */ + list( + options?: AppServiceCertificateOrdersListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get certificate orders in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: AppServiceCertificateOrdersListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List all certificates associated with a certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param options The options parameters. + */ + listCertificates( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersListCertificatesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Validate information for a certificate order. + * @param appServiceCertificateOrder Information for a certificate order. + * @param options The options parameters. + */ + validatePurchaseInformation( + appServiceCertificateOrder: AppServiceCertificateOrder, + options?: AppServiceCertificateOrdersValidatePurchaseInformationOptionalParams + ): Promise; + /** + * Description for Get a certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order.. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersGetOptionalParams + ): Promise; + /** + * Description for Create or update a certificate purchase order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param certificateDistinguishedName Distinguished name to use for the certificate order. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + certificateOrderName: string, + certificateDistinguishedName: AppServiceCertificateOrder, + options?: AppServiceCertificateOrdersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServiceCertificateOrdersCreateOrUpdateResponse + > + >; + /** + * Description for Create or update a certificate purchase order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param certificateDistinguishedName Distinguished name to use for the certificate order. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + certificateOrderName: string, + certificateDistinguishedName: AppServiceCertificateOrder, + options?: AppServiceCertificateOrdersCreateOrUpdateOptionalParams + ): Promise; + /** + * Description for Delete an existing certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersDeleteOptionalParams + ): Promise; + /** + * Description for Create or update a certificate purchase order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param certificateDistinguishedName Distinguished name to use for the certificate order. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + certificateOrderName: string, + certificateDistinguishedName: AppServiceCertificateOrderPatchResource, + options?: AppServiceCertificateOrdersUpdateOptionalParams + ): Promise; + /** + * Description for Get the certificate associated with a certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param name Name of the certificate. + * @param options The options parameters. + */ + getCertificate( + resourceGroupName: string, + certificateOrderName: string, + name: string, + options?: AppServiceCertificateOrdersGetCertificateOptionalParams + ): Promise; + /** + * Description for Creates or updates a certificate and associates with key vault secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param name Name of the certificate. + * @param keyVaultCertificate Key vault certificate resource Id. + * @param options The options parameters. + */ + beginCreateOrUpdateCertificate( + resourceGroupName: string, + certificateOrderName: string, + name: string, + keyVaultCertificate: AppServiceCertificateResource, + options?: AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceCertificateOrdersCreateOrUpdateCertificateResponse + >, + AppServiceCertificateOrdersCreateOrUpdateCertificateResponse + > + >; + /** + * Description for Creates or updates a certificate and associates with key vault secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param name Name of the certificate. + * @param keyVaultCertificate Key vault certificate resource Id. + * @param options The options parameters. + */ + beginCreateOrUpdateCertificateAndWait( + resourceGroupName: string, + certificateOrderName: string, + name: string, + keyVaultCertificate: AppServiceCertificateResource, + options?: AppServiceCertificateOrdersCreateOrUpdateCertificateOptionalParams + ): Promise; + /** + * Description for Delete the certificate associated with a certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param name Name of the certificate. + * @param options The options parameters. + */ + deleteCertificate( + resourceGroupName: string, + certificateOrderName: string, + name: string, + options?: AppServiceCertificateOrdersDeleteCertificateOptionalParams + ): Promise; + /** + * Description for Creates or updates a certificate and associates with key vault secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param name Name of the certificate. + * @param keyVaultCertificate Key vault certificate resource Id. + * @param options The options parameters. + */ + updateCertificate( + resourceGroupName: string, + certificateOrderName: string, + name: string, + keyVaultCertificate: AppServiceCertificatePatchResource, + options?: AppServiceCertificateOrdersUpdateCertificateOptionalParams + ): Promise; + /** + * Description for Reissue an existing certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param reissueCertificateOrderRequest Parameters for the reissue. + * @param options The options parameters. + */ + reissue( + resourceGroupName: string, + certificateOrderName: string, + reissueCertificateOrderRequest: ReissueCertificateOrderRequest, + options?: AppServiceCertificateOrdersReissueOptionalParams + ): Promise; + /** + * Description for Renew an existing certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param renewCertificateOrderRequest Renew parameters + * @param options The options parameters. + */ + renew( + resourceGroupName: string, + certificateOrderName: string, + renewCertificateOrderRequest: RenewCertificateOrderRequest, + options?: AppServiceCertificateOrdersRenewOptionalParams + ): Promise; + /** + * Description for Resend certificate email. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param options The options parameters. + */ + resendEmail( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersResendEmailOptionalParams + ): Promise; + /** + * Resend domain verification ownership email containing steps on how to verify a domain for a given + * certificate order + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param nameIdentifier Email address + * @param options The options parameters. + */ + resendRequestEmails( + resourceGroupName: string, + certificateOrderName: string, + nameIdentifier: NameIdentifier, + options?: AppServiceCertificateOrdersResendRequestEmailsOptionalParams + ): Promise; + /** + * This method is used to obtain the site seal information for an issued certificate. A site seal is a + * graphic that the certificate purchaser can embed on their web site to show their visitors + * information about their SSL certificate. If a web site visitor clicks on the site seal image, a + * pop-up page is displayed that contains detailed information about the SSL certificate. The site seal + * token is used to link the site seal graphic image to the appropriate certificate details pop-up page + * display when a user clicks on the site seal. The site seal images are expected to be static images + * and hosted by the reseller, to minimize delays for customer page load times. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param siteSealRequest Site seal request. + * @param options The options parameters. + */ + retrieveSiteSeal( + resourceGroupName: string, + certificateOrderName: string, + siteSealRequest: SiteSealRequest, + options?: AppServiceCertificateOrdersRetrieveSiteSealOptionalParams + ): Promise; + /** + * Description for Verify domain ownership for this certificate order. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName Name of the certificate order. + * @param options The options parameters. + */ + verifyDomainOwnership( + resourceGroupName: string, + certificateOrderName: string, + options?: AppServiceCertificateOrdersVerifyDomainOwnershipOptionalParams + ): Promise; + /** + * Description for Retrieve the list of certificate actions. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the certificate order. + * @param options The options parameters. + */ + retrieveCertificateActions( + resourceGroupName: string, + name: string, + options?: AppServiceCertificateOrdersRetrieveCertificateActionsOptionalParams + ): Promise; + /** + * Description for Retrieve email history. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the certificate order. + * @param options The options parameters. + */ + retrieveCertificateEmailHistory( + resourceGroupName: string, + name: string, + options?: AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptionalParams + ): Promise< + AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse + >; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/appServiceEnvironments.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/appServiceEnvironments.ts new file mode 100644 index 000000000000..753a5be77717 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/appServiceEnvironments.ts @@ -0,0 +1,725 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + AppServiceEnvironmentResource, + AppServiceEnvironmentsListOptionalParams, + AppServiceEnvironmentsListByResourceGroupOptionalParams, + StampCapacity, + AppServiceEnvironmentsListCapacitiesOptionalParams, + Site, + VirtualNetworkProfile, + AppServiceEnvironmentsChangeVnetOptionalParams, + InboundEnvironmentEndpoint, + AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams, + WorkerPoolResource, + AppServiceEnvironmentsListMultiRolePoolsOptionalParams, + ResourceMetricDefinition, + AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams, + AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams, + SkuInfo, + AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams, + Usage, + AppServiceEnvironmentsListMultiRoleUsagesOptionalParams, + OutboundEnvironmentEndpoint, + AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams, + RemotePrivateEndpointConnectionARMResource, + AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams, + AppServiceEnvironmentsResumeOptionalParams, + AppServicePlan, + AppServiceEnvironmentsListAppServicePlansOptionalParams, + AppServiceEnvironmentsListWebAppsOptionalParams, + AppServiceEnvironmentsSuspendOptionalParams, + CsmUsageQuota, + AppServiceEnvironmentsListUsagesOptionalParams, + AppServiceEnvironmentsListWorkerPoolsOptionalParams, + AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams, + AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams, + AppServiceEnvironmentsListWorkerPoolSkusOptionalParams, + AppServiceEnvironmentsListWebWorkerUsagesOptionalParams, + AppServiceEnvironmentsGetOptionalParams, + AppServiceEnvironmentsGetResponse, + AppServiceEnvironmentsCreateOrUpdateOptionalParams, + AppServiceEnvironmentsCreateOrUpdateResponse, + AppServiceEnvironmentsDeleteOptionalParams, + AppServiceEnvironmentPatchResource, + AppServiceEnvironmentsUpdateOptionalParams, + AppServiceEnvironmentsUpdateResponse, + AppServiceEnvironmentsGetVipInfoOptionalParams, + AppServiceEnvironmentsGetVipInfoResponse, + AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptionalParams, + AppServiceEnvironmentsGetAseV3NetworkingConfigurationResponse, + AseV3NetworkingConfiguration, + AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptionalParams, + AppServiceEnvironmentsUpdateAseNetworkingConfigurationResponse, + AppServiceEnvironmentsListDiagnosticsOptionalParams, + AppServiceEnvironmentsListDiagnosticsResponse, + AppServiceEnvironmentsGetDiagnosticsItemOptionalParams, + AppServiceEnvironmentsGetDiagnosticsItemResponse, + AppServiceEnvironmentsGetMultiRolePoolOptionalParams, + AppServiceEnvironmentsGetMultiRolePoolResponse, + AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams, + AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse, + AppServiceEnvironmentsUpdateMultiRolePoolOptionalParams, + AppServiceEnvironmentsUpdateMultiRolePoolResponse, + AppServiceEnvironmentsListOperationsOptionalParams, + AppServiceEnvironmentsListOperationsResponse, + AppServiceEnvironmentsGetPrivateEndpointConnectionOptionalParams, + AppServiceEnvironmentsGetPrivateEndpointConnectionResponse, + PrivateLinkConnectionApprovalRequestResource, + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams, + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse, + AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams, + AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse, + AppServiceEnvironmentsGetPrivateLinkResourcesOptionalParams, + AppServiceEnvironmentsGetPrivateLinkResourcesResponse, + AppServiceEnvironmentsRebootOptionalParams, + AppServiceEnvironmentsGetWorkerPoolOptionalParams, + AppServiceEnvironmentsGetWorkerPoolResponse, + AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams, + AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse, + AppServiceEnvironmentsUpdateWorkerPoolOptionalParams, + AppServiceEnvironmentsUpdateWorkerPoolResponse +} from "../models"; + +/// +/** Interface representing a AppServiceEnvironments. */ +export interface AppServiceEnvironments { + /** + * Description for Get all App Service Environments for a subscription. + * @param options The options parameters. + */ + list( + options?: AppServiceEnvironmentsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all App Service Environments in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: AppServiceEnvironmentsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get the used, available, and total worker capacity an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listCapacities( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListCapacitiesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Move an App Service Environment to a different VNET. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param vnetInfo Details for the new virtual network. + * @param options The options parameters. + */ + beginListChangeVnetAndWait( + resourceGroupName: string, + name: string, + vnetInfo: VirtualNetworkProfile, + options?: AppServiceEnvironmentsChangeVnetOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get the network endpoints of all inbound dependencies of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listInboundNetworkDependenciesEndpoints( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsGetInboundNetworkDependenciesEndpointsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all multi-role pools. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listMultiRolePools( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListMultiRolePoolsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get metric definitions for a specific instance of a multi-role pool of an App + * Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param instance Name of the instance in the multi-role pool. + * @param options The options parameters. + */ + listMultiRolePoolInstanceMetricDefinitions( + resourceGroupName: string, + name: string, + instance: string, + options?: AppServiceEnvironmentsListMultiRolePoolInstanceMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get metric definitions for a multi-role pool of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listMultiRoleMetricDefinitions( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListMultiRoleMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get available SKUs for scaling a multi-role pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listMultiRolePoolSkus( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListMultiRolePoolSkusOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get usage metrics for a multi-role pool of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listMultiRoleUsages( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListMultiRoleUsagesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get the network endpoints of all outbound dependencies of an App Service + * Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listOutboundNetworkDependenciesEndpoints( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsGetOutboundNetworkDependenciesEndpointsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the list of private endpoints associated with a hosting environment + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listPrivateEndpointConnectionList( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsGetPrivateEndpointConnectionListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Resume an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + beginListResumeAndWait( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsResumeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all App Service plans in an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listAppServicePlans( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListAppServicePlansOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all apps in an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listWebApps( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListWebAppsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Suspend an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + beginListSuspendAndWait( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsSuspendOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get global usage metrics of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listUsages( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListUsagesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all worker pools of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listWorkerPools( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListWorkerPoolsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get metric definitions for a specific instance of a worker pool of an App Service + * Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param instance Name of the instance in the worker pool. + * @param options The options parameters. + */ + listWorkerPoolInstanceMetricDefinitions( + resourceGroupName: string, + name: string, + workerPoolName: string, + instance: string, + options?: AppServiceEnvironmentsListWorkerPoolInstanceMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get metric definitions for a worker pool of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. + */ + listWebWorkerMetricDefinitions( + resourceGroupName: string, + name: string, + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get available SKUs for scaling a worker pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. + */ + listWorkerPoolSkus( + resourceGroupName: string, + name: string, + workerPoolName: string, + options?: AppServiceEnvironmentsListWorkerPoolSkusOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get usage metrics for a worker pool of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. + */ + listWebWorkerUsages( + resourceGroupName: string, + name: string, + workerPoolName: string, + options?: AppServiceEnvironmentsListWebWorkerUsagesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get the properties of an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsGetOptionalParams + ): Promise; + /** + * Description for Create or update an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + name: string, + hostingEnvironmentEnvelope: AppServiceEnvironmentResource, + options?: AppServiceEnvironmentsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServiceEnvironmentsCreateOrUpdateResponse + > + >; + /** + * Description for Create or update an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + name: string, + hostingEnvironmentEnvelope: AppServiceEnvironmentResource, + options?: AppServiceEnvironmentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Description for Delete an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsDeleteOptionalParams + ): Promise, void>>; + /** + * Description for Delete an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsDeleteOptionalParams + ): Promise; + /** + * Description for Create or update an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param hostingEnvironmentEnvelope Configuration details of the App Service Environment. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + name: string, + hostingEnvironmentEnvelope: AppServiceEnvironmentPatchResource, + options?: AppServiceEnvironmentsUpdateOptionalParams + ): Promise; + /** + * Description for Get IP addresses assigned to an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + getVipInfo( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsGetVipInfoOptionalParams + ): Promise; + /** + * Description for Get networking configuration of an App Service Environment + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + getAseV3NetworkingConfiguration( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsGetAseV3NetworkingConfigurationOptionalParams + ): Promise; + /** + * Description for Update networking configuration of an App Service Environment + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param aseNetworkingConfiguration Full view of networking configuration for an ASE. + * @param options The options parameters. + */ + updateAseNetworkingConfiguration( + resourceGroupName: string, + name: string, + aseNetworkingConfiguration: AseV3NetworkingConfiguration, + options?: AppServiceEnvironmentsUpdateAseNetworkingConfigurationOptionalParams + ): Promise; + /** + * Description for Get diagnostic information for an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listDiagnostics( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListDiagnosticsOptionalParams + ): Promise; + /** + * Description for Get a diagnostics item for an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param diagnosticsName Name of the diagnostics item. + * @param options The options parameters. + */ + getDiagnosticsItem( + resourceGroupName: string, + name: string, + diagnosticsName: string, + options?: AppServiceEnvironmentsGetDiagnosticsItemOptionalParams + ): Promise; + /** + * Description for Get properties of a multi-role pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + getMultiRolePool( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsGetMultiRolePoolOptionalParams + ): Promise; + /** + * Description for Create or update a multi-role pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param multiRolePoolEnvelope Properties of the multi-role pool. + * @param options The options parameters. + */ + beginCreateOrUpdateMultiRolePool( + resourceGroupName: string, + name: string, + multiRolePoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse + >, + AppServiceEnvironmentsCreateOrUpdateMultiRolePoolResponse + > + >; + /** + * Description for Create or update a multi-role pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param multiRolePoolEnvelope Properties of the multi-role pool. + * @param options The options parameters. + */ + beginCreateOrUpdateMultiRolePoolAndWait( + resourceGroupName: string, + name: string, + multiRolePoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsCreateOrUpdateMultiRolePoolOptionalParams + ): Promise; + /** + * Description for Create or update a multi-role pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param multiRolePoolEnvelope Properties of the multi-role pool. + * @param options The options parameters. + */ + updateMultiRolePool( + resourceGroupName: string, + name: string, + multiRolePoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsUpdateMultiRolePoolOptionalParams + ): Promise; + /** + * Description for List all currently running operations on the App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + listOperations( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsListOperationsOptionalParams + ): Promise; + /** + * Description for Gets a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + getPrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: AppServiceEnvironmentsGetPrivateEndpointConnectionOptionalParams + ): Promise; + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param privateEndpointConnectionName + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. + */ + beginApproveOrRejectPrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse + >, + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse + > + >; + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param privateEndpointConnectionName + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. + */ + beginApproveOrRejectPrivateEndpointConnectionAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise< + AppServiceEnvironmentsApproveOrRejectPrivateEndpointConnectionResponse + >; + /** + * Description for Deletes a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDeletePrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse + >, + AppServiceEnvironmentsDeletePrivateEndpointConnectionResponse + > + >; + /** + * Description for Deletes a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDeletePrivateEndpointConnectionAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: AppServiceEnvironmentsDeletePrivateEndpointConnectionOptionalParams + ): Promise; + /** + * Description for Gets the private link resources + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + getPrivateLinkResources( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsGetPrivateLinkResourcesOptionalParams + ): Promise; + /** + * Description for Reboot all machines in an App Service Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param options The options parameters. + */ + reboot( + resourceGroupName: string, + name: string, + options?: AppServiceEnvironmentsRebootOptionalParams + ): Promise; + /** + * Description for Get properties of a worker pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param options The options parameters. + */ + getWorkerPool( + resourceGroupName: string, + name: string, + workerPoolName: string, + options?: AppServiceEnvironmentsGetWorkerPoolOptionalParams + ): Promise; + /** + * Description for Create or update a worker pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param workerPoolEnvelope Properties of the worker pool. + * @param options The options parameters. + */ + beginCreateOrUpdateWorkerPool( + resourceGroupName: string, + name: string, + workerPoolName: string, + workerPoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams + ): Promise< + PollerLike< + PollOperationState< + AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse + >, + AppServiceEnvironmentsCreateOrUpdateWorkerPoolResponse + > + >; + /** + * Description for Create or update a worker pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param workerPoolEnvelope Properties of the worker pool. + * @param options The options parameters. + */ + beginCreateOrUpdateWorkerPoolAndWait( + resourceGroupName: string, + name: string, + workerPoolName: string, + workerPoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsCreateOrUpdateWorkerPoolOptionalParams + ): Promise; + /** + * Description for Create or update a worker pool. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service Environment. + * @param workerPoolName Name of the worker pool. + * @param workerPoolEnvelope Properties of the worker pool. + * @param options The options parameters. + */ + updateWorkerPool( + resourceGroupName: string, + name: string, + workerPoolName: string, + workerPoolEnvelope: WorkerPoolResource, + options?: AppServiceEnvironmentsUpdateWorkerPoolOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/appServicePlans.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/appServicePlans.ts new file mode 100644 index 000000000000..bcf0b39e08e2 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/appServicePlans.ts @@ -0,0 +1,433 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + AppServicePlan, + AppServicePlansListOptionalParams, + AppServicePlansListByResourceGroupOptionalParams, + AppServicePlansListWebAppsByHybridConnectionOptionalParams, + HybridConnection, + AppServicePlansListHybridConnectionsOptionalParams, + Site, + AppServicePlansListWebAppsOptionalParams, + CsmUsageQuota, + AppServicePlansListUsagesOptionalParams, + AppServicePlansGetOptionalParams, + AppServicePlansGetResponse, + AppServicePlansCreateOrUpdateOptionalParams, + AppServicePlansCreateOrUpdateResponse, + AppServicePlansDeleteOptionalParams, + AppServicePlanPatchResource, + AppServicePlansUpdateOptionalParams, + AppServicePlansUpdateResponse, + AppServicePlansListCapabilitiesOptionalParams, + AppServicePlansListCapabilitiesResponse, + AppServicePlansGetHybridConnectionOptionalParams, + AppServicePlansGetHybridConnectionResponse, + AppServicePlansDeleteHybridConnectionOptionalParams, + AppServicePlansListHybridConnectionKeysOptionalParams, + AppServicePlansListHybridConnectionKeysResponse, + AppServicePlansGetHybridConnectionPlanLimitOptionalParams, + AppServicePlansGetHybridConnectionPlanLimitResponse, + AppServicePlansRestartWebAppsOptionalParams, + AppServicePlansGetServerFarmSkusOptionalParams, + AppServicePlansGetServerFarmSkusResponse, + AppServicePlansListVnetsOptionalParams, + AppServicePlansListVnetsResponse, + AppServicePlansGetVnetFromServerFarmOptionalParams, + AppServicePlansGetVnetFromServerFarmResponse, + AppServicePlansGetVnetGatewayOptionalParams, + AppServicePlansGetVnetGatewayResponse, + VnetGateway, + AppServicePlansUpdateVnetGatewayOptionalParams, + AppServicePlansUpdateVnetGatewayResponse, + AppServicePlansListRoutesForVnetOptionalParams, + AppServicePlansListRoutesForVnetResponse, + AppServicePlansGetRouteForVnetOptionalParams, + AppServicePlansGetRouteForVnetResponse, + VnetRoute, + AppServicePlansCreateOrUpdateVnetRouteOptionalParams, + AppServicePlansCreateOrUpdateVnetRouteResponse, + AppServicePlansDeleteVnetRouteOptionalParams, + AppServicePlansUpdateVnetRouteOptionalParams, + AppServicePlansUpdateVnetRouteResponse, + AppServicePlansRebootWorkerOptionalParams +} from "../models"; + +/// +/** Interface representing a AppServicePlans. */ +export interface AppServicePlans { + /** + * Description for Get all App Service plans for a subscription. + * @param options The options parameters. + */ + list( + options?: AppServicePlansListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all App Service plans in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: AppServicePlansListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all apps that use a Hybrid Connection in an App Service Plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param namespaceName Name of the Hybrid Connection namespace. + * @param relayName Name of the Hybrid Connection relay. + * @param options The options parameters. + */ + listWebAppsByHybridConnection( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + options?: AppServicePlansListWebAppsByHybridConnectionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Retrieve all Hybrid Connections in use in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param options The options parameters. + */ + listHybridConnections( + resourceGroupName: string, + name: string, + options?: AppServicePlansListHybridConnectionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all apps associated with an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param options The options parameters. + */ + listWebApps( + resourceGroupName: string, + name: string, + options?: AppServicePlansListWebAppsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets server farm usage information + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of App Service Plan + * @param options The options parameters. + */ + listUsages( + resourceGroupName: string, + name: string, + options?: AppServicePlansListUsagesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + options?: AppServicePlansGetOptionalParams + ): Promise; + /** + * Description for Creates or updates an App Service Plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param appServicePlan Details of the App Service plan. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + name: string, + appServicePlan: AppServicePlan, + options?: AppServicePlansCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AppServicePlansCreateOrUpdateResponse + > + >; + /** + * Description for Creates or updates an App Service Plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param appServicePlan Details of the App Service plan. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + name: string, + appServicePlan: AppServicePlan, + options?: AppServicePlansCreateOrUpdateOptionalParams + ): Promise; + /** + * Description for Delete an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + name: string, + options?: AppServicePlansDeleteOptionalParams + ): Promise; + /** + * Description for Creates or updates an App Service Plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param appServicePlan Details of the App Service plan. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + name: string, + appServicePlan: AppServicePlanPatchResource, + options?: AppServicePlansUpdateOptionalParams + ): Promise; + /** + * Description for List all capabilities of an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param options The options parameters. + */ + listCapabilities( + resourceGroupName: string, + name: string, + options?: AppServicePlansListCapabilitiesOptionalParams + ): Promise; + /** + * Description for Retrieve a Hybrid Connection in use in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param namespaceName Name of the Service Bus namespace. + * @param relayName Name of the Service Bus relay. + * @param options The options parameters. + */ + getHybridConnection( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + options?: AppServicePlansGetHybridConnectionOptionalParams + ): Promise; + /** + * Description for Delete a Hybrid Connection in use in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param namespaceName Name of the Service Bus namespace. + * @param relayName Name of the Service Bus relay. + * @param options The options parameters. + */ + deleteHybridConnection( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + options?: AppServicePlansDeleteHybridConnectionOptionalParams + ): Promise; + /** + * Description for Get the send key name and value of a Hybrid Connection. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param namespaceName The name of the Service Bus namespace. + * @param relayName The name of the Service Bus relay. + * @param options The options parameters. + */ + listHybridConnectionKeys( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + options?: AppServicePlansListHybridConnectionKeysOptionalParams + ): Promise; + /** + * Description for Get the maximum number of Hybrid Connections allowed in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param options The options parameters. + */ + getHybridConnectionPlanLimit( + resourceGroupName: string, + name: string, + options?: AppServicePlansGetHybridConnectionPlanLimitOptionalParams + ): Promise; + /** + * Description for Restart all apps in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param options The options parameters. + */ + restartWebApps( + resourceGroupName: string, + name: string, + options?: AppServicePlansRestartWebAppsOptionalParams + ): Promise; + /** + * Description for Gets all selectable SKUs for a given App Service Plan + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of App Service Plan + * @param options The options parameters. + */ + getServerFarmSkus( + resourceGroupName: string, + name: string, + options?: AppServicePlansGetServerFarmSkusOptionalParams + ): Promise; + /** + * Description for Get all Virtual Networks associated with an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param options The options parameters. + */ + listVnets( + resourceGroupName: string, + name: string, + options?: AppServicePlansListVnetsOptionalParams + ): Promise; + /** + * Description for Get a Virtual Network associated with an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param vnetName Name of the Virtual Network. + * @param options The options parameters. + */ + getVnetFromServerFarm( + resourceGroupName: string, + name: string, + vnetName: string, + options?: AppServicePlansGetVnetFromServerFarmOptionalParams + ): Promise; + /** + * Description for Get a Virtual Network gateway. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. + * @param options The options parameters. + */ + getVnetGateway( + resourceGroupName: string, + name: string, + vnetName: string, + gatewayName: string, + options?: AppServicePlansGetVnetGatewayOptionalParams + ): Promise; + /** + * Description for Update a Virtual Network gateway. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Only the 'primary' gateway is supported. + * @param connectionEnvelope Definition of the gateway. + * @param options The options parameters. + */ + updateVnetGateway( + resourceGroupName: string, + name: string, + vnetName: string, + gatewayName: string, + connectionEnvelope: VnetGateway, + options?: AppServicePlansUpdateVnetGatewayOptionalParams + ): Promise; + /** + * Description for Get all routes that are associated with a Virtual Network in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param vnetName Name of the Virtual Network. + * @param options The options parameters. + */ + listRoutesForVnet( + resourceGroupName: string, + name: string, + vnetName: string, + options?: AppServicePlansListRoutesForVnetOptionalParams + ): Promise; + /** + * Description for Get a Virtual Network route in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param vnetName Name of the Virtual Network. + * @param routeName Name of the Virtual Network route. + * @param options The options parameters. + */ + getRouteForVnet( + resourceGroupName: string, + name: string, + vnetName: string, + routeName: string, + options?: AppServicePlansGetRouteForVnetOptionalParams + ): Promise; + /** + * Description for Create or update a Virtual Network route in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param vnetName Name of the Virtual Network. + * @param routeName Name of the Virtual Network route. + * @param route Definition of the Virtual Network route. + * @param options The options parameters. + */ + createOrUpdateVnetRoute( + resourceGroupName: string, + name: string, + vnetName: string, + routeName: string, + route: VnetRoute, + options?: AppServicePlansCreateOrUpdateVnetRouteOptionalParams + ): Promise; + /** + * Description for Delete a Virtual Network route in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param vnetName Name of the Virtual Network. + * @param routeName Name of the Virtual Network route. + * @param options The options parameters. + */ + deleteVnetRoute( + resourceGroupName: string, + name: string, + vnetName: string, + routeName: string, + options?: AppServicePlansDeleteVnetRouteOptionalParams + ): Promise; + /** + * Description for Create or update a Virtual Network route in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param vnetName Name of the Virtual Network. + * @param routeName Name of the Virtual Network route. + * @param route Definition of the Virtual Network route. + * @param options The options parameters. + */ + updateVnetRoute( + resourceGroupName: string, + name: string, + vnetName: string, + routeName: string, + route: VnetRoute, + options?: AppServicePlansUpdateVnetRouteOptionalParams + ): Promise; + /** + * Description for Reboot a worker machine in an App Service plan. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the App Service plan. + * @param workerName Name of worker machine, which typically starts with RD. + * @param options The options parameters. + */ + rebootWorker( + resourceGroupName: string, + name: string, + workerName: string, + options?: AppServicePlansRebootWorkerOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/certificateOrdersDiagnostics.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/certificateOrdersDiagnostics.ts new file mode 100644 index 000000000000..80e05240db10 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/certificateOrdersDiagnostics.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DetectorResponse, + CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams, + CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams, + CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse +} from "../models"; + +/// +/** Interface representing a CertificateOrdersDiagnostics. */ +export interface CertificateOrdersDiagnostics { + /** + * Description for Microsoft.CertificateRegistration to get the list of detectors for this RP. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName The certificate order name for which the response is needed. + * @param options The options parameters. + */ + listAppServiceCertificateOrderDetectorResponse( + resourceGroupName: string, + certificateOrderName: string, + options?: CertificateOrdersDiagnosticsListAppServiceCertificateOrderDetectorResponseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Microsoft.CertificateRegistration call to get a detector response from App Lens. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param certificateOrderName The certificate order name for which the response is needed. + * @param detectorName The detector name which needs to be run. + * @param options The options parameters. + */ + getAppServiceCertificateOrderDetectorResponse( + resourceGroupName: string, + certificateOrderName: string, + detectorName: string, + options?: CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseOptionalParams + ): Promise< + CertificateOrdersDiagnosticsGetAppServiceCertificateOrderDetectorResponseResponse + >; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/certificateRegistrationProvider.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/certificateRegistrationProvider.ts new file mode 100644 index 000000000000..4a42e4d8b5fe --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/certificateRegistrationProvider.ts @@ -0,0 +1,27 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + CsmOperationDescription, + CertificateRegistrationProviderListOperationsOptionalParams +} from "../models"; + +/// +/** Interface representing a CertificateRegistrationProvider. */ +export interface CertificateRegistrationProvider { + /** + * Description for Implements Csm operations Api to exposes the list of available Csm Apis under the + * resource provider + * @param options The options parameters. + */ + listOperations( + options?: CertificateRegistrationProviderListOperationsOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/certificates.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/certificates.ts new file mode 100644 index 000000000000..8ad2008f8fef --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/certificates.ts @@ -0,0 +1,92 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Certificate, + CertificatesListOptionalParams, + CertificatesListByResourceGroupOptionalParams, + CertificatesGetOptionalParams, + CertificatesGetResponse, + CertificatesCreateOrUpdateOptionalParams, + CertificatesCreateOrUpdateResponse, + CertificatesDeleteOptionalParams, + CertificatePatchResource, + CertificatesUpdateOptionalParams, + CertificatesUpdateResponse +} from "../models"; + +/// +/** Interface representing a Certificates. */ +export interface Certificates { + /** + * Description for Get all certificates for a subscription. + * @param options The options parameters. + */ + list( + options?: CertificatesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all certificates in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: CertificatesListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get a certificate. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the certificate. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + options?: CertificatesGetOptionalParams + ): Promise; + /** + * Description for Create or update a certificate. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the certificate. + * @param certificateEnvelope Details of certificate, if it exists already. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + name: string, + certificateEnvelope: Certificate, + options?: CertificatesCreateOrUpdateOptionalParams + ): Promise; + /** + * Description for Delete a certificate. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the certificate. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + name: string, + options?: CertificatesDeleteOptionalParams + ): Promise; + /** + * Description for Create or update a certificate. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the certificate. + * @param certificateEnvelope Details of certificate, if it exists already. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + name: string, + certificateEnvelope: CertificatePatchResource, + options?: CertificatesUpdateOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/deletedWebApps.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/deletedWebApps.ts new file mode 100644 index 000000000000..d32688400675 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/deletedWebApps.ts @@ -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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DeletedSite, + DeletedWebAppsListOptionalParams, + DeletedWebAppsListByLocationOptionalParams, + DeletedWebAppsGetDeletedWebAppByLocationOptionalParams, + DeletedWebAppsGetDeletedWebAppByLocationResponse +} from "../models"; + +/// +/** Interface representing a DeletedWebApps. */ +export interface DeletedWebApps { + /** + * Description for Get all deleted apps for a subscription. + * @param options The options parameters. + */ + list( + options?: DeletedWebAppsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all deleted apps for a subscription at location + * @param location + * @param options The options parameters. + */ + listByLocation( + location: string, + options?: DeletedWebAppsListByLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get deleted app for a subscription at location. + * @param location + * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 + * @param options The options parameters. + */ + getDeletedWebAppByLocation( + location: string, + deletedSiteId: string, + options?: DeletedWebAppsGetDeletedWebAppByLocationOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/diagnostics.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/diagnostics.ts new file mode 100644 index 000000000000..87168913182b --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/diagnostics.ts @@ -0,0 +1,368 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DetectorResponse, + DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams, + DiagnosticsListSiteDetectorResponsesOptionalParams, + DiagnosticCategory, + DiagnosticsListSiteDiagnosticCategoriesOptionalParams, + AnalysisDefinition, + DiagnosticsListSiteAnalysesOptionalParams, + DetectorDefinitionResource, + DiagnosticsListSiteDetectorsOptionalParams, + DiagnosticsListSiteDetectorResponsesSlotOptionalParams, + DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams, + DiagnosticsListSiteAnalysesSlotOptionalParams, + DiagnosticsListSiteDetectorsSlotOptionalParams, + DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams, + DiagnosticsGetHostingEnvironmentDetectorResponseResponse, + DiagnosticsGetSiteDetectorResponseOptionalParams, + DiagnosticsGetSiteDetectorResponseResponse, + DiagnosticsGetSiteDiagnosticCategoryOptionalParams, + DiagnosticsGetSiteDiagnosticCategoryResponse, + DiagnosticsGetSiteAnalysisOptionalParams, + DiagnosticsGetSiteAnalysisResponse, + DiagnosticsExecuteSiteAnalysisOptionalParams, + DiagnosticsExecuteSiteAnalysisResponse, + DiagnosticsGetSiteDetectorOptionalParams, + DiagnosticsGetSiteDetectorResponse, + DiagnosticsExecuteSiteDetectorOptionalParams, + DiagnosticsExecuteSiteDetectorResponse, + DiagnosticsGetSiteDetectorResponseSlotOptionalParams, + DiagnosticsGetSiteDetectorResponseSlotResponse, + DiagnosticsGetSiteDiagnosticCategorySlotOptionalParams, + DiagnosticsGetSiteDiagnosticCategorySlotResponse, + DiagnosticsGetSiteAnalysisSlotOptionalParams, + DiagnosticsGetSiteAnalysisSlotResponse, + DiagnosticsExecuteSiteAnalysisSlotOptionalParams, + DiagnosticsExecuteSiteAnalysisSlotResponse, + DiagnosticsGetSiteDetectorSlotOptionalParams, + DiagnosticsGetSiteDetectorSlotResponse, + DiagnosticsExecuteSiteDetectorSlotOptionalParams, + DiagnosticsExecuteSiteDetectorSlotResponse +} from "../models"; + +/// +/** Interface representing a Diagnostics. */ +export interface Diagnostics { + /** + * Description for List Hosting Environment Detector Responses + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site Name + * @param options The options parameters. + */ + listHostingEnvironmentDetectorResponses( + resourceGroupName: string, + name: string, + options?: DiagnosticsListHostingEnvironmentDetectorResponsesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List Site Detector Responses + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param options The options parameters. + */ + listSiteDetectorResponses( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDetectorResponsesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get Diagnostics Categories + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param options The options parameters. + */ + listSiteDiagnosticCategories( + resourceGroupName: string, + siteName: string, + options?: DiagnosticsListSiteDiagnosticCategoriesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get Site Analyses + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param options The options parameters. + */ + listSiteAnalyses( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteAnalysesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get Detectors + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param options The options parameters. + */ + listSiteDetectors( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsListSiteDetectorsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List Site Detector Responses + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param slot Slot Name + * @param options The options parameters. + */ + listSiteDetectorResponsesSlot( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDetectorResponsesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get Diagnostics Categories + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param slot Slot Name + * @param options The options parameters. + */ + listSiteDiagnosticCategoriesSlot( + resourceGroupName: string, + siteName: string, + slot: string, + options?: DiagnosticsListSiteDiagnosticCategoriesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get Site Analyses + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param slot Slot Name + * @param options The options parameters. + */ + listSiteAnalysesSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteAnalysesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get Detectors + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param slot Slot Name + * @param options The options parameters. + */ + listSiteDetectorsSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsListSiteDetectorsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get Hosting Environment Detector Response + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name App Service Environment Name + * @param detectorName Detector Resource Name + * @param options The options parameters. + */ + getHostingEnvironmentDetectorResponse( + resourceGroupName: string, + name: string, + detectorName: string, + options?: DiagnosticsGetHostingEnvironmentDetectorResponseOptionalParams + ): Promise; + /** + * Description for Get site detector response + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param detectorName Detector Resource Name + * @param options The options parameters. + */ + getSiteDetectorResponse( + resourceGroupName: string, + siteName: string, + detectorName: string, + options?: DiagnosticsGetSiteDetectorResponseOptionalParams + ): Promise; + /** + * Description for Get Diagnostics Category + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param options The options parameters. + */ + getSiteDiagnosticCategory( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + options?: DiagnosticsGetSiteDiagnosticCategoryOptionalParams + ): Promise; + /** + * Description for Get Site Analysis + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param analysisName Analysis Name + * @param options The options parameters. + */ + getSiteAnalysis( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + analysisName: string, + options?: DiagnosticsGetSiteAnalysisOptionalParams + ): Promise; + /** + * Description for Execute Analysis + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Category Name + * @param analysisName Analysis Resource Name + * @param options The options parameters. + */ + executeSiteAnalysis( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + analysisName: string, + options?: DiagnosticsExecuteSiteAnalysisOptionalParams + ): Promise; + /** + * Description for Get Detector + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param detectorName Detector Name + * @param options The options parameters. + */ + getSiteDetector( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + detectorName: string, + options?: DiagnosticsGetSiteDetectorOptionalParams + ): Promise; + /** + * Description for Execute Detector + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param detectorName Detector Resource Name + * @param diagnosticCategory Category Name + * @param options The options parameters. + */ + executeSiteDetector( + resourceGroupName: string, + siteName: string, + detectorName: string, + diagnosticCategory: string, + options?: DiagnosticsExecuteSiteDetectorOptionalParams + ): Promise; + /** + * Description for Get site detector response + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param detectorName Detector Resource Name + * @param slot Slot Name + * @param options The options parameters. + */ + getSiteDetectorResponseSlot( + resourceGroupName: string, + siteName: string, + detectorName: string, + slot: string, + options?: DiagnosticsGetSiteDetectorResponseSlotOptionalParams + ): Promise; + /** + * Description for Get Diagnostics Category + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param slot Slot Name + * @param options The options parameters. + */ + getSiteDiagnosticCategorySlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsGetSiteDiagnosticCategorySlotOptionalParams + ): Promise; + /** + * Description for Get Site Analysis + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param analysisName Analysis Name + * @param slot Slot - optional + * @param options The options parameters. + */ + getSiteAnalysisSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + analysisName: string, + slot: string, + options?: DiagnosticsGetSiteAnalysisSlotOptionalParams + ): Promise; + /** + * Description for Execute Analysis + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Category Name + * @param analysisName Analysis Resource Name + * @param slot Slot Name + * @param options The options parameters. + */ + executeSiteAnalysisSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + analysisName: string, + slot: string, + options?: DiagnosticsExecuteSiteAnalysisSlotOptionalParams + ): Promise; + /** + * Description for Get Detector + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param diagnosticCategory Diagnostic Category + * @param detectorName Detector Name + * @param slot Slot Name + * @param options The options parameters. + */ + getSiteDetectorSlot( + resourceGroupName: string, + siteName: string, + diagnosticCategory: string, + detectorName: string, + slot: string, + options?: DiagnosticsGetSiteDetectorSlotOptionalParams + ): Promise; + /** + * Description for Execute Detector + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site Name + * @param detectorName Detector Resource Name + * @param diagnosticCategory Category Name + * @param slot Slot Name + * @param options The options parameters. + */ + executeSiteDetectorSlot( + resourceGroupName: string, + siteName: string, + detectorName: string, + diagnosticCategory: string, + slot: string, + options?: DiagnosticsExecuteSiteDetectorSlotOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/domainRegistrationProvider.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/domainRegistrationProvider.ts new file mode 100644 index 000000000000..68bcfa04d66e --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/domainRegistrationProvider.ts @@ -0,0 +1,27 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + CsmOperationDescription, + DomainRegistrationProviderListOperationsOptionalParams +} from "../models"; + +/// +/** Interface representing a DomainRegistrationProvider. */ +export interface DomainRegistrationProvider { + /** + * Description for Implements Csm operations Api to exposes the list of available Csm Apis under the + * resource provider + * @param options The options parameters. + */ + listOperations( + options?: DomainRegistrationProviderListOperationsOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/domains.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/domains.ts new file mode 100644 index 000000000000..6e1b8688476a --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/domains.ts @@ -0,0 +1,231 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Domain, + DomainsListOptionalParams, + NameIdentifier, + DomainRecommendationSearchParameters, + DomainsListRecommendationsOptionalParams, + DomainsListByResourceGroupOptionalParams, + DomainOwnershipIdentifier, + DomainsListOwnershipIdentifiersOptionalParams, + DomainsCheckAvailabilityOptionalParams, + DomainsCheckAvailabilityResponse, + DomainsGetControlCenterSsoRequestOptionalParams, + DomainsGetControlCenterSsoRequestResponse, + DomainsGetOptionalParams, + DomainsGetResponse, + DomainsCreateOrUpdateOptionalParams, + DomainsCreateOrUpdateResponse, + DomainsDeleteOptionalParams, + DomainPatchResource, + DomainsUpdateOptionalParams, + DomainsUpdateResponse, + DomainsGetOwnershipIdentifierOptionalParams, + DomainsGetOwnershipIdentifierResponse, + DomainsCreateOrUpdateOwnershipIdentifierOptionalParams, + DomainsCreateOrUpdateOwnershipIdentifierResponse, + DomainsDeleteOwnershipIdentifierOptionalParams, + DomainsUpdateOwnershipIdentifierOptionalParams, + DomainsUpdateOwnershipIdentifierResponse, + DomainsRenewOptionalParams +} from "../models"; + +/// +/** Interface representing a Domains. */ +export interface Domains { + /** + * Description for Get all domains in a subscription. + * @param options The options parameters. + */ + list(options?: DomainsListOptionalParams): PagedAsyncIterableIterator; + /** + * Description for Get domain name recommendations based on keywords. + * @param parameters Search parameters for domain name recommendations. + * @param options The options parameters. + */ + listRecommendations( + parameters: DomainRecommendationSearchParameters, + options?: DomainsListRecommendationsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all domains in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: DomainsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Lists domain ownership identifiers. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of domain. + * @param options The options parameters. + */ + listOwnershipIdentifiers( + resourceGroupName: string, + domainName: string, + options?: DomainsListOwnershipIdentifiersOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Check if a domain is available for registration. + * @param identifier Name of the domain. + * @param options The options parameters. + */ + checkAvailability( + identifier: NameIdentifier, + options?: DomainsCheckAvailabilityOptionalParams + ): Promise; + /** + * Description for Generate a single sign-on request for the domain management portal. + * @param options The options parameters. + */ + getControlCenterSsoRequest( + options?: DomainsGetControlCenterSsoRequestOptionalParams + ): Promise; + /** + * Description for Get a domain. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of the domain. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + domainName: string, + options?: DomainsGetOptionalParams + ): Promise; + /** + * Description for Creates or updates a domain. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of the domain. + * @param domain Domain registration information. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + domainName: string, + domain: Domain, + options?: DomainsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DomainsCreateOrUpdateResponse + > + >; + /** + * Description for Creates or updates a domain. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of the domain. + * @param domain Domain registration information. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + domainName: string, + domain: Domain, + options?: DomainsCreateOrUpdateOptionalParams + ): Promise; + /** + * Description for Delete a domain. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of the domain. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + domainName: string, + options?: DomainsDeleteOptionalParams + ): Promise; + /** + * Description for Creates or updates a domain. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of the domain. + * @param domain Domain registration information. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + domainName: string, + domain: DomainPatchResource, + options?: DomainsUpdateOptionalParams + ): Promise; + /** + * Description for Get ownership identifier for domain + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of domain. + * @param name Name of identifier. + * @param options The options parameters. + */ + getOwnershipIdentifier( + resourceGroupName: string, + domainName: string, + name: string, + options?: DomainsGetOwnershipIdentifierOptionalParams + ): Promise; + /** + * Description for Creates an ownership identifier for a domain or updates identifier details for an + * existing identifier + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of domain. + * @param name Name of identifier. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. + */ + createOrUpdateOwnershipIdentifier( + resourceGroupName: string, + domainName: string, + name: string, + domainOwnershipIdentifier: DomainOwnershipIdentifier, + options?: DomainsCreateOrUpdateOwnershipIdentifierOptionalParams + ): Promise; + /** + * Description for Delete ownership identifier for domain + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of domain. + * @param name Name of identifier. + * @param options The options parameters. + */ + deleteOwnershipIdentifier( + resourceGroupName: string, + domainName: string, + name: string, + options?: DomainsDeleteOwnershipIdentifierOptionalParams + ): Promise; + /** + * Description for Creates an ownership identifier for a domain or updates identifier details for an + * existing identifier + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of domain. + * @param name Name of identifier. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. + */ + updateOwnershipIdentifier( + resourceGroupName: string, + domainName: string, + name: string, + domainOwnershipIdentifier: DomainOwnershipIdentifier, + options?: DomainsUpdateOwnershipIdentifierOptionalParams + ): Promise; + /** + * Description for Renew a domain. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param domainName Name of the domain. + * @param options The options parameters. + */ + renew( + resourceGroupName: string, + domainName: string, + options?: DomainsRenewOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/global.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/global.ts new file mode 100644 index 000000000000..f7e29b8572b1 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/global.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 { + GlobalGetDeletedWebAppOptionalParams, + GlobalGetDeletedWebAppResponse, + GlobalGetDeletedWebAppSnapshotsOptionalParams, + GlobalGetDeletedWebAppSnapshotsResponse, + GlobalGetSubscriptionOperationWithAsyncResponseOptionalParams +} from "../models"; + +/** Interface representing a Global. */ +export interface Global { + /** + * Description for Get deleted app for a subscription. + * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 + * @param options The options parameters. + */ + getDeletedWebApp( + deletedSiteId: string, + options?: GlobalGetDeletedWebAppOptionalParams + ): Promise; + /** + * Description for Get all deleted apps for a subscription. + * @param deletedSiteId The numeric ID of the deleted app, e.g. 12345 + * @param options The options parameters. + */ + getDeletedWebAppSnapshots( + deletedSiteId: string, + options?: GlobalGetDeletedWebAppSnapshotsOptionalParams + ): Promise; + /** + * Description for Gets an operation in a subscription and given region + * @param location Location name + * @param operationId Operation Id + * @param options The options parameters. + */ + getSubscriptionOperationWithAsyncResponse( + location: string, + operationId: string, + options?: GlobalGetSubscriptionOperationWithAsyncResponseOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/index.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..9898e6bd474c --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/index.ts @@ -0,0 +1,26 @@ +/* + * 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 "./appServiceCertificateOrders"; +export * from "./certificateOrdersDiagnostics"; +export * from "./certificateRegistrationProvider"; +export * from "./domains"; +export * from "./topLevelDomains"; +export * from "./domainRegistrationProvider"; +export * from "./appServiceEnvironments"; +export * from "./appServicePlans"; +export * from "./certificates"; +export * from "./deletedWebApps"; +export * from "./diagnostics"; +export * from "./global"; +export * from "./kubeEnvironments"; +export * from "./provider"; +export * from "./recommendations"; +export * from "./resourceHealthMetadataOperations"; +export * from "./staticSites"; +export * from "./webApps"; diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/kubeEnvironments.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/kubeEnvironments.ts new file mode 100644 index 000000000000..01783d13247c --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/kubeEnvironments.ts @@ -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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + KubeEnvironment, + KubeEnvironmentsListBySubscriptionOptionalParams, + KubeEnvironmentsListByResourceGroupOptionalParams, + KubeEnvironmentsGetOptionalParams, + KubeEnvironmentsGetResponse, + KubeEnvironmentsCreateOrUpdateOptionalParams, + KubeEnvironmentsCreateOrUpdateResponse, + KubeEnvironmentsDeleteOptionalParams, + KubeEnvironmentPatchResource, + KubeEnvironmentsUpdateOptionalParams, + KubeEnvironmentsUpdateResponse +} from "../models"; + +/// +/** Interface representing a KubeEnvironments. */ +export interface KubeEnvironments { + /** + * Description for Get all Kubernetes Environments for a subscription. + * @param options The options parameters. + */ + listBySubscription( + options?: KubeEnvironmentsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all the Kubernetes Environments in a resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: KubeEnvironmentsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get the properties of a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + options?: KubeEnvironmentsGetOptionalParams + ): Promise; + /** + * Description for Creates or updates a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param kubeEnvironmentEnvelope Configuration details of the Kubernetes Environment. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + name: string, + kubeEnvironmentEnvelope: KubeEnvironment, + options?: KubeEnvironmentsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + KubeEnvironmentsCreateOrUpdateResponse + > + >; + /** + * Description for Creates or updates a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param kubeEnvironmentEnvelope Configuration details of the Kubernetes Environment. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + name: string, + kubeEnvironmentEnvelope: KubeEnvironment, + options?: KubeEnvironmentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Description for Delete a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + name: string, + options?: KubeEnvironmentsDeleteOptionalParams + ): Promise, void>>; + /** + * Description for Delete a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + name: string, + options?: KubeEnvironmentsDeleteOptionalParams + ): Promise; + /** + * Description for Creates or updates a Kubernetes Environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the Kubernetes Environment. + * @param kubeEnvironmentEnvelope Configuration details of the Kubernetes Environment. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + name: string, + kubeEnvironmentEnvelope: KubeEnvironmentPatchResource, + options?: KubeEnvironmentsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/provider.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/provider.ts new file mode 100644 index 000000000000..6b93c4350472 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/provider.ts @@ -0,0 +1,82 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ApplicationStackResource, + ProviderGetAvailableStacksOptionalParams, + FunctionAppStack, + ProviderGetFunctionAppStacksOptionalParams, + ProviderGetFunctionAppStacksForLocationOptionalParams, + WebAppStack, + ProviderGetWebAppStacksForLocationOptionalParams, + CsmOperationDescription, + ProviderListOperationsOptionalParams, + ProviderGetWebAppStacksOptionalParams, + ProviderGetAvailableStacksOnPremOptionalParams +} from "../models"; + +/// +/** Interface representing a Provider. */ +export interface Provider { + /** + * Description for Get available application frameworks and their versions + * @param options The options parameters. + */ + listAvailableStacks( + options?: ProviderGetAvailableStacksOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get available Function app frameworks and their versions + * @param options The options parameters. + */ + listFunctionAppStacks( + options?: ProviderGetFunctionAppStacksOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get available Function app frameworks and their versions for location + * @param location Function App stack location. + * @param options The options parameters. + */ + listFunctionAppStacksForLocation( + location: string, + options?: ProviderGetFunctionAppStacksForLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get available Web app frameworks and their versions for location + * @param location Web App stack location. + * @param options The options parameters. + */ + listWebAppStacksForLocation( + location: string, + options?: ProviderGetWebAppStacksForLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets all available operations for the Microsoft.Web resource provider. Also exposes + * resource metric definitions + * @param options The options parameters. + */ + listOperations( + options?: ProviderListOperationsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get available Web app frameworks and their versions + * @param options The options parameters. + */ + listWebAppStacks( + options?: ProviderGetWebAppStacksOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get available application frameworks and their versions + * @param options The options parameters. + */ + listAvailableStacksOnPrem( + options?: ProviderGetAvailableStacksOnPremOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/recommendations.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/recommendations.ts new file mode 100644 index 000000000000..f0c3536d5467 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/recommendations.ts @@ -0,0 +1,204 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Recommendation, + RecommendationsListOptionalParams, + RecommendationsListHistoryForHostingEnvironmentOptionalParams, + RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams, + RecommendationsListHistoryForWebAppOptionalParams, + RecommendationsListRecommendedRulesForWebAppOptionalParams, + RecommendationsResetAllFiltersOptionalParams, + RecommendationsDisableRecommendationForSubscriptionOptionalParams, + RecommendationsDisableAllForHostingEnvironmentOptionalParams, + RecommendationsResetAllFiltersForHostingEnvironmentOptionalParams, + RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams, + RecommendationsGetRuleDetailsByHostingEnvironmentResponse, + RecommendationsDisableRecommendationForHostingEnvironmentOptionalParams, + RecommendationsDisableAllForWebAppOptionalParams, + RecommendationsResetAllFiltersForWebAppOptionalParams, + RecommendationsGetRuleDetailsByWebAppOptionalParams, + RecommendationsGetRuleDetailsByWebAppResponse, + RecommendationsDisableRecommendationForSiteOptionalParams +} from "../models"; + +/// +/** Interface representing a Recommendations. */ +export interface Recommendations { + /** + * Description for List all recommendations for a subscription. + * @param options The options parameters. + */ + list( + options?: RecommendationsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get past recommendations for an app, optionally specified by the time range. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param hostingEnvironmentName Name of the hosting environment. + * @param options The options parameters. + */ + listHistoryForHostingEnvironment( + resourceGroupName: string, + hostingEnvironmentName: string, + options?: RecommendationsListHistoryForHostingEnvironmentOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all recommendations for a hosting environment. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param hostingEnvironmentName Name of the app. + * @param options The options parameters. + */ + listRecommendedRulesForHostingEnvironment( + resourceGroupName: string, + hostingEnvironmentName: string, + options?: RecommendationsListRecommendedRulesForHostingEnvironmentOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get past recommendations for an app, optionally specified by the time range. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Name of the app. + * @param options The options parameters. + */ + listHistoryForWebApp( + resourceGroupName: string, + siteName: string, + options?: RecommendationsListHistoryForWebAppOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get all recommendations for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Name of the app. + * @param options The options parameters. + */ + listRecommendedRulesForWebApp( + resourceGroupName: string, + siteName: string, + options?: RecommendationsListRecommendedRulesForWebAppOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Reset all recommendation opt-out settings for a subscription. + * @param options The options parameters. + */ + resetAllFilters( + options?: RecommendationsResetAllFiltersOptionalParams + ): Promise; + /** + * Description for Disables the specified rule so it will not apply to a subscription in the future. + * @param name Rule name + * @param options The options parameters. + */ + disableRecommendationForSubscription( + name: string, + options?: RecommendationsDisableRecommendationForSubscriptionOptionalParams + ): Promise; + /** + * Description for Disable all recommendations for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param environmentName Name of the app. + * @param hostingEnvironmentName + * @param options The options parameters. + */ + disableAllForHostingEnvironment( + resourceGroupName: string, + environmentName: string, + hostingEnvironmentName: string, + options?: RecommendationsDisableAllForHostingEnvironmentOptionalParams + ): Promise; + /** + * Description for Reset all recommendation opt-out settings for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param environmentName Name of the app. + * @param hostingEnvironmentName + * @param options The options parameters. + */ + resetAllFiltersForHostingEnvironment( + resourceGroupName: string, + environmentName: string, + hostingEnvironmentName: string, + options?: RecommendationsResetAllFiltersForHostingEnvironmentOptionalParams + ): Promise; + /** + * Description for Get a recommendation rule for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param hostingEnvironmentName Name of the hosting environment. + * @param name Name of the recommendation. + * @param options The options parameters. + */ + getRuleDetailsByHostingEnvironment( + resourceGroupName: string, + hostingEnvironmentName: string, + name: string, + options?: RecommendationsGetRuleDetailsByHostingEnvironmentOptionalParams + ): Promise; + /** + * Description for Disables the specific rule for a web site permanently. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param environmentName Site name + * @param name Rule name + * @param hostingEnvironmentName + * @param options The options parameters. + */ + disableRecommendationForHostingEnvironment( + resourceGroupName: string, + environmentName: string, + name: string, + hostingEnvironmentName: string, + options?: RecommendationsDisableRecommendationForHostingEnvironmentOptionalParams + ): Promise; + /** + * Description for Disable all recommendations for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Name of the app. + * @param options The options parameters. + */ + disableAllForWebApp( + resourceGroupName: string, + siteName: string, + options?: RecommendationsDisableAllForWebAppOptionalParams + ): Promise; + /** + * Description for Reset all recommendation opt-out settings for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Name of the app. + * @param options The options parameters. + */ + resetAllFiltersForWebApp( + resourceGroupName: string, + siteName: string, + options?: RecommendationsResetAllFiltersForWebAppOptionalParams + ): Promise; + /** + * Description for Get a recommendation rule for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Name of the app. + * @param name Name of the recommendation. + * @param options The options parameters. + */ + getRuleDetailsByWebApp( + resourceGroupName: string, + siteName: string, + name: string, + options?: RecommendationsGetRuleDetailsByWebAppOptionalParams + ): Promise; + /** + * Description for Disables the specific rule for a web site permanently. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param siteName Site name + * @param name Rule name + * @param options The options parameters. + */ + disableRecommendationForSite( + resourceGroupName: string, + siteName: string, + name: string, + options?: RecommendationsDisableRecommendationForSiteOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/resourceHealthMetadataOperations.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/resourceHealthMetadataOperations.ts new file mode 100644 index 000000000000..062c04cb0a50 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/resourceHealthMetadataOperations.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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ResourceHealthMetadata, + ResourceHealthMetadataOperationsListOptionalParams, + ResourceHealthMetadataOperationsListByResourceGroupOptionalParams, + ResourceHealthMetadataOperationsListBySiteOptionalParams, + ResourceHealthMetadataOperationsListBySiteSlotOptionalParams, + ResourceHealthMetadataOperationsGetBySiteOptionalParams, + ResourceHealthMetadataOperationsGetBySiteResponse, + ResourceHealthMetadataOperationsGetBySiteSlotOptionalParams, + ResourceHealthMetadataOperationsGetBySiteSlotResponse +} from "../models"; + +/// +/** Interface representing a ResourceHealthMetadataOperations. */ +export interface ResourceHealthMetadataOperations { + /** + * Description for List all ResourceHealthMetadata for all sites in the subscription. + * @param options The options parameters. + */ + list( + options?: ResourceHealthMetadataOperationsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List all ResourceHealthMetadata for all sites in the resource group in the + * subscription. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: ResourceHealthMetadataOperationsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the category of ResourceHealthMetadata to use for the given site as a + * collection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + listBySite( + resourceGroupName: string, + name: string, + options?: ResourceHealthMetadataOperationsListBySiteOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the category of ResourceHealthMetadata to use for the given site as a + * collection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + listBySiteSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: ResourceHealthMetadataOperationsListBySiteSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the category of ResourceHealthMetadata to use for the given site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app + * @param options The options parameters. + */ + getBySite( + resourceGroupName: string, + name: string, + options?: ResourceHealthMetadataOperationsGetBySiteOptionalParams + ): Promise; + /** + * Description for Gets the category of ResourceHealthMetadata to use for the given site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + getBySiteSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: ResourceHealthMetadataOperationsGetBySiteSlotOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/staticSites.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/staticSites.ts new file mode 100644 index 000000000000..d405d9d64f55 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/staticSites.ts @@ -0,0 +1,963 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + StaticSiteARMResource, + StaticSitesListOptionalParams, + StaticSitesGetStaticSitesByResourceGroupOptionalParams, + StaticSiteUserARMResource, + StaticSitesListStaticSiteUsersOptionalParams, + StaticSiteBuildARMResource, + StaticSitesGetStaticSiteBuildsOptionalParams, + StaticSiteFunctionOverviewARMResource, + StaticSitesListStaticSiteBuildFunctionsOptionalParams, + StaticSiteUserProvidedFunctionAppARMResource, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams, + StaticSiteCustomDomainOverviewARMResource, + StaticSitesListStaticSiteCustomDomainsOptionalParams, + StaticSitesListStaticSiteFunctionsOptionalParams, + RemotePrivateEndpointConnectionARMResource, + StaticSitesGetPrivateEndpointConnectionListOptionalParams, + StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams, + StaticSitesWorkflowPreviewRequest, + StaticSitesPreviewWorkflowOptionalParams, + StaticSitesPreviewWorkflowResponse, + StaticSitesGetStaticSiteOptionalParams, + StaticSitesGetStaticSiteResponse, + StaticSitesCreateOrUpdateStaticSiteOptionalParams, + StaticSitesCreateOrUpdateStaticSiteResponse, + StaticSitesDeleteStaticSiteOptionalParams, + StaticSitePatchResource, + StaticSitesUpdateStaticSiteOptionalParams, + StaticSitesUpdateStaticSiteResponse, + StaticSitesDeleteStaticSiteUserOptionalParams, + StaticSitesUpdateStaticSiteUserOptionalParams, + StaticSitesUpdateStaticSiteUserResponse, + StaticSitesGetStaticSiteBuildOptionalParams, + StaticSitesGetStaticSiteBuildResponse, + StaticSitesDeleteStaticSiteBuildOptionalParams, + StringDictionary, + StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsOptionalParams, + StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsResponse, + StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsOptionalParams, + StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsResponse, + StaticSitesListStaticSiteBuildAppSettingsOptionalParams, + StaticSitesListStaticSiteBuildAppSettingsResponse, + StaticSitesListStaticSiteBuildFunctionAppSettingsOptionalParams, + StaticSitesListStaticSiteBuildFunctionAppSettingsResponse, + StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildOptionalParams, + StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildResponse, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse, + StaticSitesDetachUserProvidedFunctionAppFromStaticSiteBuildOptionalParams, + StaticSiteZipDeploymentARMResource, + StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams, + StaticSitesCreateOrUpdateStaticSiteAppSettingsOptionalParams, + StaticSitesCreateOrUpdateStaticSiteAppSettingsResponse, + StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsOptionalParams, + StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsResponse, + StaticSiteUserInvitationRequestResource, + StaticSitesCreateUserRolesInvitationLinkOptionalParams, + StaticSitesCreateUserRolesInvitationLinkResponse, + StaticSitesGetStaticSiteCustomDomainOptionalParams, + StaticSitesGetStaticSiteCustomDomainResponse, + StaticSiteCustomDomainRequestPropertiesARMResource, + StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams, + StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse, + StaticSitesDeleteStaticSiteCustomDomainOptionalParams, + StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams, + StaticSitesDetachStaticSiteOptionalParams, + StaticSitesListStaticSiteAppSettingsOptionalParams, + StaticSitesListStaticSiteAppSettingsResponse, + StaticSitesListStaticSiteConfiguredRolesOptionalParams, + StaticSitesListStaticSiteConfiguredRolesResponse, + StaticSitesListStaticSiteFunctionAppSettingsOptionalParams, + StaticSitesListStaticSiteFunctionAppSettingsResponse, + StaticSitesListStaticSiteSecretsOptionalParams, + StaticSitesListStaticSiteSecretsResponse, + StaticSitesGetPrivateEndpointConnectionOptionalParams, + StaticSitesGetPrivateEndpointConnectionResponse, + PrivateLinkConnectionApprovalRequestResource, + StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams, + StaticSitesApproveOrRejectPrivateEndpointConnectionResponse, + StaticSitesDeletePrivateEndpointConnectionOptionalParams, + StaticSitesDeletePrivateEndpointConnectionResponse, + StaticSitesGetPrivateLinkResourcesOptionalParams, + StaticSitesGetPrivateLinkResourcesResponse, + StaticSiteResetPropertiesARMResource, + StaticSitesResetStaticSiteApiKeyOptionalParams, + StaticSitesGetUserProvidedFunctionAppForStaticSiteOptionalParams, + StaticSitesGetUserProvidedFunctionAppForStaticSiteResponse, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse, + StaticSitesDetachUserProvidedFunctionAppFromStaticSiteOptionalParams, + StaticSitesCreateZipDeploymentForStaticSiteOptionalParams +} from "../models"; + +/// +/** Interface representing a StaticSites. */ +export interface StaticSites { + /** + * Description for Get all Static Sites for a subscription. + * @param options The options parameters. + */ + list( + options?: StaticSitesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets all static sites in the specified resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listStaticSitesByResourceGroup( + resourceGroupName: string, + options?: StaticSitesGetStaticSitesByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the list of users of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param authprovider The auth provider for the users. + * @param options The options parameters. + */ + listStaticSiteUsers( + resourceGroupName: string, + name: string, + authprovider: string, + options?: StaticSitesListStaticSiteUsersOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets all static site builds for a particular static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + listStaticSiteBuilds( + resourceGroupName: string, + name: string, + options?: StaticSitesGetStaticSiteBuildsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the functions of a particular static site build. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param options The options parameters. + */ + listStaticSiteBuildFunctions( + resourceGroupName: string, + name: string, + environmentName: string, + options?: StaticSitesListStaticSiteBuildFunctionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the details of the user provided function apps registered with a static site + * build + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param options The options parameters. + */ + listUserProvidedFunctionAppsForStaticSiteBuild( + resourceGroupName: string, + name: string, + environmentName: string, + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteBuildOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets all static site custom domains for a particular static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site resource to search in. + * @param options The options parameters. + */ + listStaticSiteCustomDomains( + resourceGroupName: string, + name: string, + options?: StaticSitesListStaticSiteCustomDomainsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the functions of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + listStaticSiteFunctions( + resourceGroupName: string, + name: string, + options?: StaticSitesListStaticSiteFunctionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the list of private endpoint connections associated with a static site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + listPrivateEndpointConnectionList( + resourceGroupName: string, + name: string, + options?: StaticSitesGetPrivateEndpointConnectionListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the details of the user provided function apps registered with a static site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + listUserProvidedFunctionAppsForStaticSite( + resourceGroupName: string, + name: string, + options?: StaticSitesGetUserProvidedFunctionAppsForStaticSiteOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Generates a preview workflow file for the static site + * @param location Location where you plan to create the static site. + * @param staticSitesWorkflowPreviewRequest A JSON representation of the + * StaticSitesWorkflowPreviewRequest properties. See example. + * @param options The options parameters. + */ + previewWorkflow( + location: string, + staticSitesWorkflowPreviewRequest: StaticSitesWorkflowPreviewRequest, + options?: StaticSitesPreviewWorkflowOptionalParams + ): Promise; + /** + * Description for Gets the details of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + getStaticSite( + resourceGroupName: string, + name: string, + options?: StaticSitesGetStaticSiteOptionalParams + ): Promise; + /** + * Description for Creates a new static site in an existing resource group, or updates an existing + * static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site to create or update. + * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateStaticSite( + resourceGroupName: string, + name: string, + staticSiteEnvelope: StaticSiteARMResource, + options?: StaticSitesCreateOrUpdateStaticSiteOptionalParams + ): Promise< + PollerLike< + PollOperationState, + StaticSitesCreateOrUpdateStaticSiteResponse + > + >; + /** + * Description for Creates a new static site in an existing resource group, or updates an existing + * static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site to create or update. + * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateStaticSiteAndWait( + resourceGroupName: string, + name: string, + staticSiteEnvelope: StaticSiteARMResource, + options?: StaticSitesCreateOrUpdateStaticSiteOptionalParams + ): Promise; + /** + * Description for Deletes a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site to delete. + * @param options The options parameters. + */ + beginDeleteStaticSite( + resourceGroupName: string, + name: string, + options?: StaticSitesDeleteStaticSiteOptionalParams + ): Promise, void>>; + /** + * Description for Deletes a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site to delete. + * @param options The options parameters. + */ + beginDeleteStaticSiteAndWait( + resourceGroupName: string, + name: string, + options?: StaticSitesDeleteStaticSiteOptionalParams + ): Promise; + /** + * Description for Creates a new static site in an existing resource group, or updates an existing + * static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site to create or update. + * @param staticSiteEnvelope A JSON representation of the staticsite properties. See example. + * @param options The options parameters. + */ + updateStaticSite( + resourceGroupName: string, + name: string, + staticSiteEnvelope: StaticSitePatchResource, + options?: StaticSitesUpdateStaticSiteOptionalParams + ): Promise; + /** + * Description for Deletes the user entry from the static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the staticsite. + * @param authprovider The auth provider for this user. + * @param userid The user id of the user. + * @param options The options parameters. + */ + deleteStaticSiteUser( + resourceGroupName: string, + name: string, + authprovider: string, + userid: string, + options?: StaticSitesDeleteStaticSiteUserOptionalParams + ): Promise; + /** + * Description for Updates a user entry with the listed roles + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param authprovider The auth provider for this user. + * @param userid The user id of the user. + * @param staticSiteUserEnvelope A JSON representation of the StaticSiteUser properties. See example. + * @param options The options parameters. + */ + updateStaticSiteUser( + resourceGroupName: string, + name: string, + authprovider: string, + userid: string, + staticSiteUserEnvelope: StaticSiteUserARMResource, + options?: StaticSitesUpdateStaticSiteUserOptionalParams + ): Promise; + /** + * Description for Gets the details of a static site build. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param options The options parameters. + */ + getStaticSiteBuild( + resourceGroupName: string, + name: string, + environmentName: string, + options?: StaticSitesGetStaticSiteBuildOptionalParams + ): Promise; + /** + * Description for Deletes a static site build. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param options The options parameters. + */ + beginDeleteStaticSiteBuild( + resourceGroupName: string, + name: string, + environmentName: string, + options?: StaticSitesDeleteStaticSiteBuildOptionalParams + ): Promise, void>>; + /** + * Description for Deletes a static site build. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param options The options parameters. + */ + beginDeleteStaticSiteBuildAndWait( + resourceGroupName: string, + name: string, + environmentName: string, + options?: StaticSitesDeleteStaticSiteBuildOptionalParams + ): Promise; + /** + * Description for Creates or updates the app settings of a static site build. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param appSettings The dictionary containing the static site app settings to update. + * @param options The options parameters. + */ + createOrUpdateStaticSiteBuildAppSettings( + resourceGroupName: string, + name: string, + environmentName: string, + appSettings: StringDictionary, + options?: StaticSitesCreateOrUpdateStaticSiteBuildAppSettingsOptionalParams + ): Promise; + /** + * Description for Creates or updates the function app settings of a static site build. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param appSettings The dictionary containing the static site function app settings to update. + * @param options The options parameters. + */ + createOrUpdateStaticSiteBuildFunctionAppSettings( + resourceGroupName: string, + name: string, + environmentName: string, + appSettings: StringDictionary, + options?: StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsOptionalParams + ): Promise< + StaticSitesCreateOrUpdateStaticSiteBuildFunctionAppSettingsResponse + >; + /** + * Description for Gets the application settings of a static site build. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param options The options parameters. + */ + listStaticSiteBuildAppSettings( + resourceGroupName: string, + name: string, + environmentName: string, + options?: StaticSitesListStaticSiteBuildAppSettingsOptionalParams + ): Promise; + /** + * Description for Gets the application settings of a static site build. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param options The options parameters. + */ + listStaticSiteBuildFunctionAppSettings( + resourceGroupName: string, + name: string, + environmentName: string, + options?: StaticSitesListStaticSiteBuildFunctionAppSettingsOptionalParams + ): Promise; + /** + * Description for Gets the details of the user provided function app registered with a static site + * build + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param functionAppName Name of the function app registered with the static site build. + * @param options The options parameters. + */ + getUserProvidedFunctionAppForStaticSiteBuild( + resourceGroupName: string, + name: string, + environmentName: string, + functionAppName: string, + options?: StaticSitesGetUserProvidedFunctionAppForStaticSiteBuildOptionalParams + ): Promise; + /** + * Description for Register a user provided function app with a static site build + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param functionAppName Name of the function app to register with the static site build. + * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided function + * app properties. See example. + * @param options The options parameters. + */ + beginRegisterUserProvidedFunctionAppWithStaticSiteBuild( + resourceGroupName: string, + name: string, + environmentName: string, + functionAppName: string, + staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, + options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams + ): Promise< + PollerLike< + PollOperationState< + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse + >, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse + > + >; + /** + * Description for Register a user provided function app with a static site build + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param functionAppName Name of the function app to register with the static site build. + * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided function + * app properties. See example. + * @param options The options parameters. + */ + beginRegisterUserProvidedFunctionAppWithStaticSiteBuildAndWait( + resourceGroupName: string, + name: string, + environmentName: string, + functionAppName: string, + staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, + options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildOptionalParams + ): Promise< + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteBuildResponse + >; + /** + * Description for Detach the user provided function app from the static site build + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName The stage site identifier. + * @param functionAppName Name of the function app registered with the static site build. + * @param options The options parameters. + */ + detachUserProvidedFunctionAppFromStaticSiteBuild( + resourceGroupName: string, + name: string, + environmentName: string, + functionAppName: string, + options?: StaticSitesDetachUserProvidedFunctionAppFromStaticSiteBuildOptionalParams + ): Promise; + /** + * Description for Deploys zipped content to a specific environment of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName Name of the environment. + * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment + * properties. See example. + * @param options The options parameters. + */ + beginCreateZipDeploymentForStaticSiteBuild( + resourceGroupName: string, + name: string, + environmentName: string, + staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, + options?: StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams + ): Promise, void>>; + /** + * Description for Deploys zipped content to a specific environment of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param environmentName Name of the environment. + * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment + * properties. See example. + * @param options The options parameters. + */ + beginCreateZipDeploymentForStaticSiteBuildAndWait( + resourceGroupName: string, + name: string, + environmentName: string, + staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, + options?: StaticSitesCreateZipDeploymentForStaticSiteBuildOptionalParams + ): Promise; + /** + * Description for Creates or updates the app settings of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param appSettings The dictionary containing the static site app settings to update. + * @param options The options parameters. + */ + createOrUpdateStaticSiteAppSettings( + resourceGroupName: string, + name: string, + appSettings: StringDictionary, + options?: StaticSitesCreateOrUpdateStaticSiteAppSettingsOptionalParams + ): Promise; + /** + * Description for Creates or updates the function app settings of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param appSettings The dictionary containing the static site function app settings to update. + * @param options The options parameters. + */ + createOrUpdateStaticSiteFunctionAppSettings( + resourceGroupName: string, + name: string, + appSettings: StringDictionary, + options?: StaticSitesCreateOrUpdateStaticSiteFunctionAppSettingsOptionalParams + ): Promise; + /** + * Description for Creates an invitation link for a user with the role + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param staticSiteUserRolesInvitationEnvelope Static sites user roles invitation resource. + * @param options The options parameters. + */ + createUserRolesInvitationLink( + resourceGroupName: string, + name: string, + staticSiteUserRolesInvitationEnvelope: StaticSiteUserInvitationRequestResource, + options?: StaticSitesCreateUserRolesInvitationLinkOptionalParams + ): Promise; + /** + * Description for Gets an existing custom domain for a particular static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site resource to search in. + * @param domainName The custom domain name. + * @param options The options parameters. + */ + getStaticSiteCustomDomain( + resourceGroupName: string, + name: string, + domainName: string, + options?: StaticSitesGetStaticSiteCustomDomainOptionalParams + ): Promise; + /** + * Description for Creates a new static site custom domain in an existing resource group and static + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param domainName The custom domain to create. + * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site + * custom domain request properties. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateStaticSiteCustomDomain( + resourceGroupName: string, + name: string, + domainName: string, + staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, + options?: StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams + ): Promise< + PollerLike< + PollOperationState< + StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse + >, + StaticSitesCreateOrUpdateStaticSiteCustomDomainResponse + > + >; + /** + * Description for Creates a new static site custom domain in an existing resource group and static + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param domainName The custom domain to create. + * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site + * custom domain request properties. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateStaticSiteCustomDomainAndWait( + resourceGroupName: string, + name: string, + domainName: string, + staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, + options?: StaticSitesCreateOrUpdateStaticSiteCustomDomainOptionalParams + ): Promise; + /** + * Description for Deletes a custom domain. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param domainName The custom domain to delete. + * @param options The options parameters. + */ + beginDeleteStaticSiteCustomDomain( + resourceGroupName: string, + name: string, + domainName: string, + options?: StaticSitesDeleteStaticSiteCustomDomainOptionalParams + ): Promise, void>>; + /** + * Description for Deletes a custom domain. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param domainName The custom domain to delete. + * @param options The options parameters. + */ + beginDeleteStaticSiteCustomDomainAndWait( + resourceGroupName: string, + name: string, + domainName: string, + options?: StaticSitesDeleteStaticSiteCustomDomainOptionalParams + ): Promise; + /** + * Description for Validates a particular custom domain can be added to a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param domainName The custom domain to validate. + * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site + * custom domain request properties. See example. + * @param options The options parameters. + */ + beginValidateCustomDomainCanBeAddedToStaticSite( + resourceGroupName: string, + name: string, + domainName: string, + staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, + options?: StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams + ): Promise, void>>; + /** + * Description for Validates a particular custom domain can be added to a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param domainName The custom domain to validate. + * @param staticSiteCustomDomainRequestPropertiesEnvelope A JSON representation of the static site + * custom domain request properties. See example. + * @param options The options parameters. + */ + beginValidateCustomDomainCanBeAddedToStaticSiteAndWait( + resourceGroupName: string, + name: string, + domainName: string, + staticSiteCustomDomainRequestPropertiesEnvelope: StaticSiteCustomDomainRequestPropertiesARMResource, + options?: StaticSitesValidateCustomDomainCanBeAddedToStaticSiteOptionalParams + ): Promise; + /** + * Description for Detaches a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site to detach. + * @param options The options parameters. + */ + beginDetachStaticSite( + resourceGroupName: string, + name: string, + options?: StaticSitesDetachStaticSiteOptionalParams + ): Promise, void>>; + /** + * Description for Detaches a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site to detach. + * @param options The options parameters. + */ + beginDetachStaticSiteAndWait( + resourceGroupName: string, + name: string, + options?: StaticSitesDetachStaticSiteOptionalParams + ): Promise; + /** + * Description for Gets the application settings of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + listStaticSiteAppSettings( + resourceGroupName: string, + name: string, + options?: StaticSitesListStaticSiteAppSettingsOptionalParams + ): Promise; + /** + * Description for Lists the roles configured for the static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + listStaticSiteConfiguredRoles( + resourceGroupName: string, + name: string, + options?: StaticSitesListStaticSiteConfiguredRolesOptionalParams + ): Promise; + /** + * Description for Gets the application settings of a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + listStaticSiteFunctionAppSettings( + resourceGroupName: string, + name: string, + options?: StaticSitesListStaticSiteFunctionAppSettingsOptionalParams + ): Promise; + /** + * Description for Lists the secrets for an existing static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param options The options parameters. + */ + listStaticSiteSecrets( + resourceGroupName: string, + name: string, + options?: StaticSitesListStaticSiteSecretsOptionalParams + ): Promise; + /** + * Description for Gets a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + getPrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: StaticSitesGetPrivateEndpointConnectionOptionalParams + ): Promise; + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param privateEndpointWrapper Request body. + * @param options The options parameters. + */ + beginApproveOrRejectPrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + StaticSitesApproveOrRejectPrivateEndpointConnectionResponse + >, + StaticSitesApproveOrRejectPrivateEndpointConnectionResponse + > + >; + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param privateEndpointWrapper Request body. + * @param options The options parameters. + */ + beginApproveOrRejectPrivateEndpointConnectionAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: StaticSitesApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise; + /** + * Description for Deletes a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + beginDeletePrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: StaticSitesDeletePrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState, + StaticSitesDeletePrivateEndpointConnectionResponse + > + >; + /** + * Description for Deletes a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + beginDeletePrivateEndpointConnectionAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: StaticSitesDeletePrivateEndpointConnectionOptionalParams + ): Promise; + /** + * Description for Gets the private link resources + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param options The options parameters. + */ + getPrivateLinkResources( + resourceGroupName: string, + name: string, + options?: StaticSitesGetPrivateLinkResourcesOptionalParams + ): Promise; + /** + * Description for Resets the api key for an existing static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param resetPropertiesEnvelope Static Site Reset Properties ARM resource. + * @param options The options parameters. + */ + resetStaticSiteApiKey( + resourceGroupName: string, + name: string, + resetPropertiesEnvelope: StaticSiteResetPropertiesARMResource, + options?: StaticSitesResetStaticSiteApiKeyOptionalParams + ): Promise; + /** + * Description for Gets the details of the user provided function app registered with a static site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param functionAppName Name of the function app registered with the static site. + * @param options The options parameters. + */ + getUserProvidedFunctionAppForStaticSite( + resourceGroupName: string, + name: string, + functionAppName: string, + options?: StaticSitesGetUserProvidedFunctionAppForStaticSiteOptionalParams + ): Promise; + /** + * Description for Register a user provided function app with a static site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param functionAppName Name of the function app to register with the static site. + * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided function + * app properties. See example. + * @param options The options parameters. + */ + beginRegisterUserProvidedFunctionAppWithStaticSite( + resourceGroupName: string, + name: string, + functionAppName: string, + staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, + options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams + ): Promise< + PollerLike< + PollOperationState< + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse + >, + StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteResponse + > + >; + /** + * Description for Register a user provided function app with a static site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param functionAppName Name of the function app to register with the static site. + * @param staticSiteUserProvidedFunctionEnvelope A JSON representation of the user provided function + * app properties. See example. + * @param options The options parameters. + */ + beginRegisterUserProvidedFunctionAppWithStaticSiteAndWait( + resourceGroupName: string, + name: string, + functionAppName: string, + staticSiteUserProvidedFunctionEnvelope: StaticSiteUserProvidedFunctionAppARMResource, + options?: StaticSitesRegisterUserProvidedFunctionAppWithStaticSiteOptionalParams + ): Promise; + /** + * Description for Detach the user provided function app from the static site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param functionAppName Name of the function app registered with the static site. + * @param options The options parameters. + */ + detachUserProvidedFunctionAppFromStaticSite( + resourceGroupName: string, + name: string, + functionAppName: string, + options?: StaticSitesDetachUserProvidedFunctionAppFromStaticSiteOptionalParams + ): Promise; + /** + * Description for Deploys zipped content to a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment + * properties. See example. + * @param options The options parameters. + */ + beginCreateZipDeploymentForStaticSite( + resourceGroupName: string, + name: string, + staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, + options?: StaticSitesCreateZipDeploymentForStaticSiteOptionalParams + ): Promise, void>>; + /** + * Description for Deploys zipped content to a static site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the static site. + * @param staticSiteZipDeploymentEnvelope A JSON representation of the StaticSiteZipDeployment + * properties. See example. + * @param options The options parameters. + */ + beginCreateZipDeploymentForStaticSiteAndWait( + resourceGroupName: string, + name: string, + staticSiteZipDeploymentEnvelope: StaticSiteZipDeploymentARMResource, + options?: StaticSitesCreateZipDeploymentForStaticSiteOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/topLevelDomains.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/topLevelDomains.ts new file mode 100644 index 000000000000..b195f6dee2ab --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/topLevelDomains.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + TopLevelDomain, + TopLevelDomainsListOptionalParams, + TldLegalAgreement, + TopLevelDomainAgreementOption, + TopLevelDomainsListAgreementsOptionalParams, + TopLevelDomainsGetOptionalParams, + TopLevelDomainsGetResponse +} from "../models"; + +/// +/** Interface representing a TopLevelDomains. */ +export interface TopLevelDomains { + /** + * Description for Get all top-level domains supported for registration. + * @param options The options parameters. + */ + list( + options?: TopLevelDomainsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets all legal agreements that user needs to accept before purchasing a domain. + * @param name Name of the top-level domain. + * @param agreementOption Domain agreement options. + * @param options The options parameters. + */ + listAgreements( + name: string, + agreementOption: TopLevelDomainAgreementOption, + options?: TopLevelDomainsListAgreementsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get details of a top-level domain. + * @param name Name of the top-level domain. + * @param options The options parameters. + */ + get( + name: string, + options?: TopLevelDomainsGetOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/operationsInterfaces/webApps.ts b/sdk/appservice/arm-appservice/src/operationsInterfaces/webApps.ts new file mode 100644 index 000000000000..82452a10f5a2 --- /dev/null +++ b/sdk/appservice/arm-appservice/src/operationsInterfaces/webApps.ts @@ -0,0 +1,6889 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Site, + WebAppsListOptionalParams, + WebAppsListByResourceGroupOptionalParams, + BackupItem, + WebAppsListBackupsOptionalParams, + CsmPublishingCredentialsPoliciesEntity, + WebAppsListBasicPublishingCredentialsPoliciesOptionalParams, + SiteConfigResource, + WebAppsListConfigurationsOptionalParams, + ApiKVReference, + WebAppsGetAppSettingsKeyVaultReferencesOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams, + SiteConfigurationSnapshotInfo, + WebAppsListConfigurationSnapshotInfoOptionalParams, + ContinuousWebJob, + WebAppsListContinuousWebJobsOptionalParams, + Deployment, + WebAppsListDeploymentsOptionalParams, + Identifier, + WebAppsListDomainOwnershipIdentifiersOptionalParams, + FunctionEnvelope, + WebAppsListFunctionsOptionalParams, + HostNameBinding, + WebAppsListHostNameBindingsOptionalParams, + WebSiteInstanceStatus, + WebAppsListInstanceIdentifiersOptionalParams, + ProcessInfo, + WebAppsListInstanceProcessesOptionalParams, + ProcessModuleInfo, + WebAppsListInstanceProcessModulesOptionalParams, + ProcessThreadInfo, + WebAppsListInstanceProcessThreadsOptionalParams, + WebAppsListSiteBackupsOptionalParams, + PerfMonResponse, + WebAppsListPerfMonCountersOptionalParams, + RemotePrivateEndpointConnectionARMResource, + WebAppsGetPrivateEndpointConnectionListOptionalParams, + WebAppsListProcessesOptionalParams, + WebAppsListProcessModulesOptionalParams, + WebAppsListProcessThreadsOptionalParams, + PublicCertificate, + WebAppsListPublicCertificatesOptionalParams, + SiteExtensionInfo, + WebAppsListSiteExtensionsOptionalParams, + WebAppsListSlotsOptionalParams, + WebAppsListBackupsSlotOptionalParams, + WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams, + WebAppsListConfigurationsSlotOptionalParams, + WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams, + WebAppsListConfigurationSnapshotInfoSlotOptionalParams, + WebAppsListContinuousWebJobsSlotOptionalParams, + WebAppsListDeploymentsSlotOptionalParams, + WebAppsListDomainOwnershipIdentifiersSlotOptionalParams, + WebAppsListInstanceFunctionsSlotOptionalParams, + WebAppsListHostNameBindingsSlotOptionalParams, + WebAppsListInstanceIdentifiersSlotOptionalParams, + WebAppsListInstanceProcessesSlotOptionalParams, + WebAppsListInstanceProcessModulesSlotOptionalParams, + WebAppsListInstanceProcessThreadsSlotOptionalParams, + WebAppsListSiteBackupsSlotOptionalParams, + WebAppsListPerfMonCountersSlotOptionalParams, + WebAppsGetPrivateEndpointConnectionListSlotOptionalParams, + WebAppsListProcessesSlotOptionalParams, + WebAppsListProcessModulesSlotOptionalParams, + WebAppsListProcessThreadsSlotOptionalParams, + WebAppsListPublicCertificatesSlotOptionalParams, + WebAppsListSiteExtensionsSlotOptionalParams, + SlotDifference, + CsmSlotEntity, + WebAppsListSlotDifferencesSlotOptionalParams, + Snapshot, + WebAppsListSnapshotsSlotOptionalParams, + WebAppsListSnapshotsFromDRSecondarySlotOptionalParams, + TriggeredWebJob, + WebAppsListTriggeredWebJobsSlotOptionalParams, + TriggeredJobHistory, + WebAppsListTriggeredWebJobHistorySlotOptionalParams, + CsmUsageQuota, + WebAppsListUsagesSlotOptionalParams, + WebJob, + WebAppsListWebJobsSlotOptionalParams, + WebAppsListSlotDifferencesFromProductionOptionalParams, + WebAppsListSnapshotsOptionalParams, + WebAppsListSnapshotsFromDRSecondaryOptionalParams, + WebAppsListTriggeredWebJobsOptionalParams, + WebAppsListTriggeredWebJobHistoryOptionalParams, + WebAppsListUsagesOptionalParams, + WebAppsListWebJobsOptionalParams, + WebAppsGetOptionalParams, + WebAppsGetResponse, + WebAppsCreateOrUpdateOptionalParams, + WebAppsCreateOrUpdateResponse, + WebAppsDeleteOptionalParams, + SitePatchResource, + WebAppsUpdateOptionalParams, + WebAppsUpdateResponse, + WebAppsAnalyzeCustomHostnameOptionalParams, + WebAppsAnalyzeCustomHostnameResponse, + WebAppsApplySlotConfigToProductionOptionalParams, + BackupRequest, + WebAppsBackupOptionalParams, + WebAppsBackupResponse, + WebAppsGetBackupStatusOptionalParams, + WebAppsGetBackupStatusResponse, + WebAppsDeleteBackupOptionalParams, + WebAppsListBackupStatusSecretsOptionalParams, + WebAppsListBackupStatusSecretsResponse, + RestoreRequest, + WebAppsRestoreOptionalParams, + WebAppsGetFtpAllowedOptionalParams, + WebAppsGetFtpAllowedResponse, + WebAppsUpdateFtpAllowedOptionalParams, + WebAppsUpdateFtpAllowedResponse, + WebAppsGetScmAllowedOptionalParams, + WebAppsGetScmAllowedResponse, + WebAppsUpdateScmAllowedOptionalParams, + WebAppsUpdateScmAllowedResponse, + StringDictionary, + WebAppsUpdateApplicationSettingsOptionalParams, + WebAppsUpdateApplicationSettingsResponse, + WebAppsListApplicationSettingsOptionalParams, + WebAppsListApplicationSettingsResponse, + SiteAuthSettings, + WebAppsUpdateAuthSettingsOptionalParams, + WebAppsUpdateAuthSettingsResponse, + WebAppsGetAuthSettingsOptionalParams, + WebAppsGetAuthSettingsResponse, + SiteAuthSettingsV2, + WebAppsUpdateAuthSettingsV2OptionalParams, + WebAppsUpdateAuthSettingsV2Response, + WebAppsGetAuthSettingsV2OptionalParams, + WebAppsGetAuthSettingsV2Response, + AzureStoragePropertyDictionaryResource, + WebAppsUpdateAzureStorageAccountsOptionalParams, + WebAppsUpdateAzureStorageAccountsResponse, + WebAppsListAzureStorageAccountsOptionalParams, + WebAppsListAzureStorageAccountsResponse, + WebAppsUpdateBackupConfigurationOptionalParams, + WebAppsUpdateBackupConfigurationResponse, + WebAppsDeleteBackupConfigurationOptionalParams, + WebAppsGetBackupConfigurationOptionalParams, + WebAppsGetBackupConfigurationResponse, + WebAppsGetAppSettingKeyVaultReferenceOptionalParams, + WebAppsGetAppSettingKeyVaultReferenceResponse, + WebAppsGetSiteConnectionStringKeyVaultReferenceOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferenceResponse, + ConnectionStringDictionary, + WebAppsUpdateConnectionStringsOptionalParams, + WebAppsUpdateConnectionStringsResponse, + WebAppsListConnectionStringsOptionalParams, + WebAppsListConnectionStringsResponse, + WebAppsGetDiagnosticLogsConfigurationOptionalParams, + WebAppsGetDiagnosticLogsConfigurationResponse, + SiteLogsConfig, + WebAppsUpdateDiagnosticLogsConfigOptionalParams, + WebAppsUpdateDiagnosticLogsConfigResponse, + WebAppsUpdateMetadataOptionalParams, + WebAppsUpdateMetadataResponse, + WebAppsListMetadataOptionalParams, + WebAppsListMetadataResponse, + WebAppsListPublishingCredentialsOptionalParams, + WebAppsListPublishingCredentialsResponse, + PushSettings, + WebAppsUpdateSitePushSettingsOptionalParams, + WebAppsUpdateSitePushSettingsResponse, + WebAppsListSitePushSettingsOptionalParams, + WebAppsListSitePushSettingsResponse, + WebAppsListSlotConfigurationNamesOptionalParams, + WebAppsListSlotConfigurationNamesResponse, + SlotConfigNamesResource, + WebAppsUpdateSlotConfigurationNamesOptionalParams, + WebAppsUpdateSlotConfigurationNamesResponse, + WebAppsGetConfigurationOptionalParams, + WebAppsGetConfigurationResponse, + WebAppsCreateOrUpdateConfigurationOptionalParams, + WebAppsCreateOrUpdateConfigurationResponse, + WebAppsUpdateConfigurationOptionalParams, + WebAppsUpdateConfigurationResponse, + WebAppsGetConfigurationSnapshotOptionalParams, + WebAppsGetConfigurationSnapshotResponse, + WebAppsRecoverSiteConfigurationSnapshotOptionalParams, + WebAppsGetWebSiteContainerLogsOptionalParams, + WebAppsGetWebSiteContainerLogsResponse, + WebAppsGetContainerLogsZipOptionalParams, + WebAppsGetContainerLogsZipResponse, + WebAppsGetContinuousWebJobOptionalParams, + WebAppsGetContinuousWebJobResponse, + WebAppsDeleteContinuousWebJobOptionalParams, + WebAppsStartContinuousWebJobOptionalParams, + WebAppsStopContinuousWebJobOptionalParams, + WebAppsGetDeploymentOptionalParams, + WebAppsGetDeploymentResponse, + WebAppsCreateDeploymentOptionalParams, + WebAppsCreateDeploymentResponse, + WebAppsDeleteDeploymentOptionalParams, + WebAppsListDeploymentLogOptionalParams, + WebAppsListDeploymentLogResponse, + WebAppsDiscoverBackupOptionalParams, + WebAppsDiscoverBackupResponse, + WebAppsGetDomainOwnershipIdentifierOptionalParams, + WebAppsGetDomainOwnershipIdentifierResponse, + WebAppsCreateOrUpdateDomainOwnershipIdentifierOptionalParams, + WebAppsCreateOrUpdateDomainOwnershipIdentifierResponse, + WebAppsDeleteDomainOwnershipIdentifierOptionalParams, + WebAppsUpdateDomainOwnershipIdentifierOptionalParams, + WebAppsUpdateDomainOwnershipIdentifierResponse, + WebAppsGetMSDeployStatusOptionalParams, + WebAppsGetMSDeployStatusResponse, + MSDeploy, + WebAppsCreateMSDeployOperationOptionalParams, + WebAppsCreateMSDeployOperationResponse, + WebAppsGetMSDeployLogOptionalParams, + WebAppsGetMSDeployLogResponse, + WebAppsGetFunctionsAdminTokenOptionalParams, + WebAppsGetFunctionsAdminTokenResponse, + WebAppsGetFunctionOptionalParams, + WebAppsGetFunctionResponse, + WebAppsCreateFunctionOptionalParams, + WebAppsCreateFunctionResponse, + WebAppsDeleteFunctionOptionalParams, + KeyInfo, + WebAppsCreateOrUpdateFunctionSecretOptionalParams, + WebAppsCreateOrUpdateFunctionSecretResponse, + WebAppsDeleteFunctionSecretOptionalParams, + WebAppsListFunctionKeysOptionalParams, + WebAppsListFunctionKeysResponse, + WebAppsListFunctionSecretsOptionalParams, + WebAppsListFunctionSecretsResponse, + WebAppsListHostKeysOptionalParams, + WebAppsListHostKeysResponse, + WebAppsListSyncStatusOptionalParams, + WebAppsSyncFunctionsOptionalParams, + WebAppsCreateOrUpdateHostSecretOptionalParams, + WebAppsCreateOrUpdateHostSecretResponse, + WebAppsDeleteHostSecretOptionalParams, + WebAppsGetHostNameBindingOptionalParams, + WebAppsGetHostNameBindingResponse, + WebAppsCreateOrUpdateHostNameBindingOptionalParams, + WebAppsCreateOrUpdateHostNameBindingResponse, + WebAppsDeleteHostNameBindingOptionalParams, + WebAppsGetHybridConnectionOptionalParams, + WebAppsGetHybridConnectionResponse, + HybridConnection, + WebAppsCreateOrUpdateHybridConnectionOptionalParams, + WebAppsCreateOrUpdateHybridConnectionResponse, + WebAppsDeleteHybridConnectionOptionalParams, + WebAppsUpdateHybridConnectionOptionalParams, + WebAppsUpdateHybridConnectionResponse, + WebAppsListHybridConnectionsOptionalParams, + WebAppsListHybridConnectionsResponse, + WebAppsListRelayServiceConnectionsOptionalParams, + WebAppsListRelayServiceConnectionsResponse, + WebAppsGetRelayServiceConnectionOptionalParams, + WebAppsGetRelayServiceConnectionResponse, + RelayServiceConnectionEntity, + WebAppsCreateOrUpdateRelayServiceConnectionOptionalParams, + WebAppsCreateOrUpdateRelayServiceConnectionResponse, + WebAppsDeleteRelayServiceConnectionOptionalParams, + WebAppsUpdateRelayServiceConnectionOptionalParams, + WebAppsUpdateRelayServiceConnectionResponse, + WebAppsGetInstanceInfoOptionalParams, + WebAppsGetInstanceInfoResponse, + WebAppsGetInstanceMsDeployStatusOptionalParams, + WebAppsGetInstanceMsDeployStatusResponse, + WebAppsCreateInstanceMSDeployOperationOptionalParams, + WebAppsCreateInstanceMSDeployOperationResponse, + WebAppsGetInstanceMSDeployLogOptionalParams, + WebAppsGetInstanceMSDeployLogResponse, + WebAppsGetInstanceProcessOptionalParams, + WebAppsGetInstanceProcessResponse, + WebAppsDeleteInstanceProcessOptionalParams, + WebAppsGetInstanceProcessDumpOptionalParams, + WebAppsGetInstanceProcessDumpResponse, + WebAppsGetInstanceProcessModuleOptionalParams, + WebAppsGetInstanceProcessModuleResponse, + WebAppsIsCloneableOptionalParams, + WebAppsIsCloneableResponse, + WebAppsListSyncFunctionTriggersOptionalParams, + WebAppsListSyncFunctionTriggersResponse, + StorageMigrationOptions, + WebAppsMigrateStorageOptionalParams, + WebAppsMigrateStorageResponse, + MigrateMySqlRequest, + WebAppsMigrateMySqlOptionalParams, + WebAppsMigrateMySqlResponse, + WebAppsGetMigrateMySqlStatusOptionalParams, + WebAppsGetMigrateMySqlStatusResponse, + WebAppsGetSwiftVirtualNetworkConnectionOptionalParams, + WebAppsGetSwiftVirtualNetworkConnectionResponse, + SwiftVirtualNetwork, + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams, + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckResponse, + WebAppsDeleteSwiftVirtualNetworkOptionalParams, + WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams, + WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckResponse, + WebAppsListNetworkFeaturesOptionalParams, + WebAppsListNetworkFeaturesResponse, + WebAppsGetNetworkTraceOperationOptionalParams, + WebAppsGetNetworkTraceOperationResponse, + WebAppsStartWebSiteNetworkTraceOptionalParams, + WebAppsStartWebSiteNetworkTraceResponse, + WebAppsStartWebSiteNetworkTraceOperationOptionalParams, + WebAppsStartWebSiteNetworkTraceOperationResponse, + WebAppsStopWebSiteNetworkTraceOptionalParams, + WebAppsGetNetworkTracesOptionalParams, + WebAppsGetNetworkTracesResponse, + WebAppsGetNetworkTraceOperationV2OptionalParams, + WebAppsGetNetworkTraceOperationV2Response, + WebAppsGetNetworkTracesV2OptionalParams, + WebAppsGetNetworkTracesV2Response, + WebAppsGenerateNewSitePublishingPasswordOptionalParams, + WebAppsGetSitePhpErrorLogFlagOptionalParams, + WebAppsGetSitePhpErrorLogFlagResponse, + WebAppsListPremierAddOnsOptionalParams, + WebAppsListPremierAddOnsResponse, + WebAppsGetPremierAddOnOptionalParams, + WebAppsGetPremierAddOnResponse, + PremierAddOn, + WebAppsAddPremierAddOnOptionalParams, + WebAppsAddPremierAddOnResponse, + WebAppsDeletePremierAddOnOptionalParams, + PremierAddOnPatchResource, + WebAppsUpdatePremierAddOnOptionalParams, + WebAppsUpdatePremierAddOnResponse, + WebAppsGetPrivateAccessOptionalParams, + WebAppsGetPrivateAccessResponse, + PrivateAccess, + WebAppsPutPrivateAccessVnetOptionalParams, + WebAppsPutPrivateAccessVnetResponse, + WebAppsGetPrivateEndpointConnectionOptionalParams, + WebAppsGetPrivateEndpointConnectionResponse, + PrivateLinkConnectionApprovalRequestResource, + WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams, + WebAppsApproveOrRejectPrivateEndpointConnectionResponse, + WebAppsDeletePrivateEndpointConnectionOptionalParams, + WebAppsDeletePrivateEndpointConnectionResponse, + WebAppsGetPrivateLinkResourcesOptionalParams, + WebAppsGetPrivateLinkResourcesResponse, + WebAppsGetProcessOptionalParams, + WebAppsGetProcessResponse, + WebAppsDeleteProcessOptionalParams, + WebAppsGetProcessDumpOptionalParams, + WebAppsGetProcessDumpResponse, + WebAppsGetProcessModuleOptionalParams, + WebAppsGetProcessModuleResponse, + WebAppsGetPublicCertificateOptionalParams, + WebAppsGetPublicCertificateResponse, + WebAppsCreateOrUpdatePublicCertificateOptionalParams, + WebAppsCreateOrUpdatePublicCertificateResponse, + WebAppsDeletePublicCertificateOptionalParams, + CsmPublishingProfileOptions, + WebAppsListPublishingProfileXmlWithSecretsOptionalParams, + WebAppsListPublishingProfileXmlWithSecretsResponse, + WebAppsResetProductionSlotConfigOptionalParams, + WebAppsRestartOptionalParams, + WebAppsRestoreFromBackupBlobOptionalParams, + DeletedAppRestoreRequest, + WebAppsRestoreFromDeletedAppOptionalParams, + SnapshotRestoreRequest, + WebAppsRestoreSnapshotOptionalParams, + WebAppsGetSiteExtensionOptionalParams, + WebAppsGetSiteExtensionResponse, + WebAppsInstallSiteExtensionOptionalParams, + WebAppsInstallSiteExtensionResponse, + WebAppsDeleteSiteExtensionOptionalParams, + WebAppsGetSlotOptionalParams, + WebAppsGetSlotResponse, + WebAppsCreateOrUpdateSlotOptionalParams, + WebAppsCreateOrUpdateSlotResponse, + WebAppsDeleteSlotOptionalParams, + WebAppsUpdateSlotOptionalParams, + WebAppsUpdateSlotResponse, + WebAppsAnalyzeCustomHostnameSlotOptionalParams, + WebAppsAnalyzeCustomHostnameSlotResponse, + WebAppsApplySlotConfigurationSlotOptionalParams, + WebAppsBackupSlotOptionalParams, + WebAppsBackupSlotResponse, + WebAppsGetBackupStatusSlotOptionalParams, + WebAppsGetBackupStatusSlotResponse, + WebAppsDeleteBackupSlotOptionalParams, + WebAppsListBackupStatusSecretsSlotOptionalParams, + WebAppsListBackupStatusSecretsSlotResponse, + WebAppsRestoreSlotOptionalParams, + WebAppsGetFtpAllowedSlotOptionalParams, + WebAppsGetFtpAllowedSlotResponse, + WebAppsUpdateFtpAllowedSlotOptionalParams, + WebAppsUpdateFtpAllowedSlotResponse, + WebAppsGetScmAllowedSlotOptionalParams, + WebAppsGetScmAllowedSlotResponse, + WebAppsUpdateScmAllowedSlotOptionalParams, + WebAppsUpdateScmAllowedSlotResponse, + WebAppsUpdateApplicationSettingsSlotOptionalParams, + WebAppsUpdateApplicationSettingsSlotResponse, + WebAppsListApplicationSettingsSlotOptionalParams, + WebAppsListApplicationSettingsSlotResponse, + WebAppsUpdateAuthSettingsSlotOptionalParams, + WebAppsUpdateAuthSettingsSlotResponse, + WebAppsGetAuthSettingsSlotOptionalParams, + WebAppsGetAuthSettingsSlotResponse, + WebAppsUpdateAuthSettingsV2SlotOptionalParams, + WebAppsUpdateAuthSettingsV2SlotResponse, + WebAppsGetAuthSettingsV2SlotOptionalParams, + WebAppsGetAuthSettingsV2SlotResponse, + WebAppsUpdateAzureStorageAccountsSlotOptionalParams, + WebAppsUpdateAzureStorageAccountsSlotResponse, + WebAppsListAzureStorageAccountsSlotOptionalParams, + WebAppsListAzureStorageAccountsSlotResponse, + WebAppsUpdateBackupConfigurationSlotOptionalParams, + WebAppsUpdateBackupConfigurationSlotResponse, + WebAppsDeleteBackupConfigurationSlotOptionalParams, + WebAppsGetBackupConfigurationSlotOptionalParams, + WebAppsGetBackupConfigurationSlotResponse, + WebAppsGetAppSettingKeyVaultReferenceSlotOptionalParams, + WebAppsGetAppSettingKeyVaultReferenceSlotResponse, + WebAppsGetSiteConnectionStringKeyVaultReferenceSlotOptionalParams, + WebAppsGetSiteConnectionStringKeyVaultReferenceSlotResponse, + WebAppsUpdateConnectionStringsSlotOptionalParams, + WebAppsUpdateConnectionStringsSlotResponse, + WebAppsListConnectionStringsSlotOptionalParams, + WebAppsListConnectionStringsSlotResponse, + WebAppsGetDiagnosticLogsConfigurationSlotOptionalParams, + WebAppsGetDiagnosticLogsConfigurationSlotResponse, + WebAppsUpdateDiagnosticLogsConfigSlotOptionalParams, + WebAppsUpdateDiagnosticLogsConfigSlotResponse, + WebAppsUpdateMetadataSlotOptionalParams, + WebAppsUpdateMetadataSlotResponse, + WebAppsListMetadataSlotOptionalParams, + WebAppsListMetadataSlotResponse, + WebAppsListPublishingCredentialsSlotOptionalParams, + WebAppsListPublishingCredentialsSlotResponse, + WebAppsUpdateSitePushSettingsSlotOptionalParams, + WebAppsUpdateSitePushSettingsSlotResponse, + WebAppsListSitePushSettingsSlotOptionalParams, + WebAppsListSitePushSettingsSlotResponse, + WebAppsGetConfigurationSlotOptionalParams, + WebAppsGetConfigurationSlotResponse, + WebAppsCreateOrUpdateConfigurationSlotOptionalParams, + WebAppsCreateOrUpdateConfigurationSlotResponse, + WebAppsUpdateConfigurationSlotOptionalParams, + WebAppsUpdateConfigurationSlotResponse, + WebAppsGetConfigurationSnapshotSlotOptionalParams, + WebAppsGetConfigurationSnapshotSlotResponse, + WebAppsRecoverSiteConfigurationSnapshotSlotOptionalParams, + WebAppsGetWebSiteContainerLogsSlotOptionalParams, + WebAppsGetWebSiteContainerLogsSlotResponse, + WebAppsGetContainerLogsZipSlotOptionalParams, + WebAppsGetContainerLogsZipSlotResponse, + WebAppsGetContinuousWebJobSlotOptionalParams, + WebAppsGetContinuousWebJobSlotResponse, + WebAppsDeleteContinuousWebJobSlotOptionalParams, + WebAppsStartContinuousWebJobSlotOptionalParams, + WebAppsStopContinuousWebJobSlotOptionalParams, + WebAppsGetDeploymentSlotOptionalParams, + WebAppsGetDeploymentSlotResponse, + WebAppsCreateDeploymentSlotOptionalParams, + WebAppsCreateDeploymentSlotResponse, + WebAppsDeleteDeploymentSlotOptionalParams, + WebAppsListDeploymentLogSlotOptionalParams, + WebAppsListDeploymentLogSlotResponse, + WebAppsDiscoverBackupSlotOptionalParams, + WebAppsDiscoverBackupSlotResponse, + WebAppsGetDomainOwnershipIdentifierSlotOptionalParams, + WebAppsGetDomainOwnershipIdentifierSlotResponse, + WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotOptionalParams, + WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotResponse, + WebAppsDeleteDomainOwnershipIdentifierSlotOptionalParams, + WebAppsUpdateDomainOwnershipIdentifierSlotOptionalParams, + WebAppsUpdateDomainOwnershipIdentifierSlotResponse, + WebAppsGetMSDeployStatusSlotOptionalParams, + WebAppsGetMSDeployStatusSlotResponse, + WebAppsCreateMSDeployOperationSlotOptionalParams, + WebAppsCreateMSDeployOperationSlotResponse, + WebAppsGetMSDeployLogSlotOptionalParams, + WebAppsGetMSDeployLogSlotResponse, + WebAppsGetFunctionsAdminTokenSlotOptionalParams, + WebAppsGetFunctionsAdminTokenSlotResponse, + WebAppsGetInstanceFunctionSlotOptionalParams, + WebAppsGetInstanceFunctionSlotResponse, + WebAppsCreateInstanceFunctionSlotOptionalParams, + WebAppsCreateInstanceFunctionSlotResponse, + WebAppsDeleteInstanceFunctionSlotOptionalParams, + WebAppsCreateOrUpdateFunctionSecretSlotOptionalParams, + WebAppsCreateOrUpdateFunctionSecretSlotResponse, + WebAppsDeleteFunctionSecretSlotOptionalParams, + WebAppsListFunctionKeysSlotOptionalParams, + WebAppsListFunctionKeysSlotResponse, + WebAppsListFunctionSecretsSlotOptionalParams, + WebAppsListFunctionSecretsSlotResponse, + WebAppsListHostKeysSlotOptionalParams, + WebAppsListHostKeysSlotResponse, + WebAppsListSyncStatusSlotOptionalParams, + WebAppsSyncFunctionsSlotOptionalParams, + WebAppsCreateOrUpdateHostSecretSlotOptionalParams, + WebAppsCreateOrUpdateHostSecretSlotResponse, + WebAppsDeleteHostSecretSlotOptionalParams, + WebAppsGetHostNameBindingSlotOptionalParams, + WebAppsGetHostNameBindingSlotResponse, + WebAppsCreateOrUpdateHostNameBindingSlotOptionalParams, + WebAppsCreateOrUpdateHostNameBindingSlotResponse, + WebAppsDeleteHostNameBindingSlotOptionalParams, + WebAppsGetHybridConnectionSlotOptionalParams, + WebAppsGetHybridConnectionSlotResponse, + WebAppsCreateOrUpdateHybridConnectionSlotOptionalParams, + WebAppsCreateOrUpdateHybridConnectionSlotResponse, + WebAppsDeleteHybridConnectionSlotOptionalParams, + WebAppsUpdateHybridConnectionSlotOptionalParams, + WebAppsUpdateHybridConnectionSlotResponse, + WebAppsListHybridConnectionsSlotOptionalParams, + WebAppsListHybridConnectionsSlotResponse, + WebAppsListRelayServiceConnectionsSlotOptionalParams, + WebAppsListRelayServiceConnectionsSlotResponse, + WebAppsGetRelayServiceConnectionSlotOptionalParams, + WebAppsGetRelayServiceConnectionSlotResponse, + WebAppsCreateOrUpdateRelayServiceConnectionSlotOptionalParams, + WebAppsCreateOrUpdateRelayServiceConnectionSlotResponse, + WebAppsDeleteRelayServiceConnectionSlotOptionalParams, + WebAppsUpdateRelayServiceConnectionSlotOptionalParams, + WebAppsUpdateRelayServiceConnectionSlotResponse, + WebAppsGetInstanceInfoSlotOptionalParams, + WebAppsGetInstanceInfoSlotResponse, + WebAppsGetInstanceMsDeployStatusSlotOptionalParams, + WebAppsGetInstanceMsDeployStatusSlotResponse, + WebAppsCreateInstanceMSDeployOperationSlotOptionalParams, + WebAppsCreateInstanceMSDeployOperationSlotResponse, + WebAppsGetInstanceMSDeployLogSlotOptionalParams, + WebAppsGetInstanceMSDeployLogSlotResponse, + WebAppsGetInstanceProcessSlotOptionalParams, + WebAppsGetInstanceProcessSlotResponse, + WebAppsDeleteInstanceProcessSlotOptionalParams, + WebAppsGetInstanceProcessDumpSlotOptionalParams, + WebAppsGetInstanceProcessDumpSlotResponse, + WebAppsGetInstanceProcessModuleSlotOptionalParams, + WebAppsGetInstanceProcessModuleSlotResponse, + WebAppsIsCloneableSlotOptionalParams, + WebAppsIsCloneableSlotResponse, + WebAppsListSyncFunctionTriggersSlotOptionalParams, + WebAppsListSyncFunctionTriggersSlotResponse, + WebAppsGetMigrateMySqlStatusSlotOptionalParams, + WebAppsGetMigrateMySqlStatusSlotResponse, + WebAppsGetSwiftVirtualNetworkConnectionSlotOptionalParams, + WebAppsGetSwiftVirtualNetworkConnectionSlotResponse, + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams, + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse, + WebAppsDeleteSwiftVirtualNetworkSlotOptionalParams, + WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams, + WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse, + WebAppsListNetworkFeaturesSlotOptionalParams, + WebAppsListNetworkFeaturesSlotResponse, + WebAppsGetNetworkTraceOperationSlotOptionalParams, + WebAppsGetNetworkTraceOperationSlotResponse, + WebAppsStartWebSiteNetworkTraceSlotOptionalParams, + WebAppsStartWebSiteNetworkTraceSlotResponse, + WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams, + WebAppsStartWebSiteNetworkTraceOperationSlotResponse, + WebAppsStopWebSiteNetworkTraceSlotOptionalParams, + WebAppsGetNetworkTracesSlotOptionalParams, + WebAppsGetNetworkTracesSlotResponse, + WebAppsGetNetworkTraceOperationSlotV2OptionalParams, + WebAppsGetNetworkTraceOperationSlotV2Response, + WebAppsGetNetworkTracesSlotV2OptionalParams, + WebAppsGetNetworkTracesSlotV2Response, + WebAppsGenerateNewSitePublishingPasswordSlotOptionalParams, + WebAppsGetSitePhpErrorLogFlagSlotOptionalParams, + WebAppsGetSitePhpErrorLogFlagSlotResponse, + WebAppsListPremierAddOnsSlotOptionalParams, + WebAppsListPremierAddOnsSlotResponse, + WebAppsGetPremierAddOnSlotOptionalParams, + WebAppsGetPremierAddOnSlotResponse, + WebAppsAddPremierAddOnSlotOptionalParams, + WebAppsAddPremierAddOnSlotResponse, + WebAppsDeletePremierAddOnSlotOptionalParams, + WebAppsUpdatePremierAddOnSlotOptionalParams, + WebAppsUpdatePremierAddOnSlotResponse, + WebAppsGetPrivateAccessSlotOptionalParams, + WebAppsGetPrivateAccessSlotResponse, + WebAppsPutPrivateAccessVnetSlotOptionalParams, + WebAppsPutPrivateAccessVnetSlotResponse, + WebAppsGetPrivateEndpointConnectionSlotOptionalParams, + WebAppsGetPrivateEndpointConnectionSlotResponse, + WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams, + WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse, + WebAppsDeletePrivateEndpointConnectionSlotOptionalParams, + WebAppsDeletePrivateEndpointConnectionSlotResponse, + WebAppsGetPrivateLinkResourcesSlotOptionalParams, + WebAppsGetPrivateLinkResourcesSlotResponse, + WebAppsGetProcessSlotOptionalParams, + WebAppsGetProcessSlotResponse, + WebAppsDeleteProcessSlotOptionalParams, + WebAppsGetProcessDumpSlotOptionalParams, + WebAppsGetProcessDumpSlotResponse, + WebAppsGetProcessModuleSlotOptionalParams, + WebAppsGetProcessModuleSlotResponse, + WebAppsGetPublicCertificateSlotOptionalParams, + WebAppsGetPublicCertificateSlotResponse, + WebAppsCreateOrUpdatePublicCertificateSlotOptionalParams, + WebAppsCreateOrUpdatePublicCertificateSlotResponse, + WebAppsDeletePublicCertificateSlotOptionalParams, + WebAppsListPublishingProfileXmlWithSecretsSlotOptionalParams, + WebAppsListPublishingProfileXmlWithSecretsSlotResponse, + WebAppsResetSlotConfigurationSlotOptionalParams, + WebAppsRestartSlotOptionalParams, + WebAppsRestoreFromBackupBlobSlotOptionalParams, + WebAppsRestoreFromDeletedAppSlotOptionalParams, + WebAppsRestoreSnapshotSlotOptionalParams, + WebAppsGetSiteExtensionSlotOptionalParams, + WebAppsGetSiteExtensionSlotResponse, + WebAppsInstallSiteExtensionSlotOptionalParams, + WebAppsInstallSiteExtensionSlotResponse, + WebAppsDeleteSiteExtensionSlotOptionalParams, + WebAppsSwapSlotOptionalParams, + WebAppsGetSourceControlSlotOptionalParams, + WebAppsGetSourceControlSlotResponse, + SiteSourceControl, + WebAppsCreateOrUpdateSourceControlSlotOptionalParams, + WebAppsCreateOrUpdateSourceControlSlotResponse, + WebAppsDeleteSourceControlSlotOptionalParams, + WebAppsUpdateSourceControlSlotOptionalParams, + WebAppsUpdateSourceControlSlotResponse, + WebAppsStartSlotOptionalParams, + WebAppsStartNetworkTraceSlotOptionalParams, + WebAppsStartNetworkTraceSlotResponse, + WebAppsStopSlotOptionalParams, + WebAppsStopNetworkTraceSlotOptionalParams, + WebAppsSyncRepositorySlotOptionalParams, + WebAppsSyncFunctionTriggersSlotOptionalParams, + WebAppsGetTriggeredWebJobSlotOptionalParams, + WebAppsGetTriggeredWebJobSlotResponse, + WebAppsDeleteTriggeredWebJobSlotOptionalParams, + WebAppsGetTriggeredWebJobHistorySlotOptionalParams, + WebAppsGetTriggeredWebJobHistorySlotResponse, + WebAppsRunTriggeredWebJobSlotOptionalParams, + WebAppsListVnetConnectionsSlotOptionalParams, + WebAppsListVnetConnectionsSlotResponse, + WebAppsGetVnetConnectionSlotOptionalParams, + WebAppsGetVnetConnectionSlotResponse, + VnetInfoResource, + WebAppsCreateOrUpdateVnetConnectionSlotOptionalParams, + WebAppsCreateOrUpdateVnetConnectionSlotResponse, + WebAppsDeleteVnetConnectionSlotOptionalParams, + WebAppsUpdateVnetConnectionSlotOptionalParams, + WebAppsUpdateVnetConnectionSlotResponse, + WebAppsGetVnetConnectionGatewaySlotOptionalParams, + WebAppsGetVnetConnectionGatewaySlotResponse, + VnetGateway, + WebAppsCreateOrUpdateVnetConnectionGatewaySlotOptionalParams, + WebAppsCreateOrUpdateVnetConnectionGatewaySlotResponse, + WebAppsUpdateVnetConnectionGatewaySlotOptionalParams, + WebAppsUpdateVnetConnectionGatewaySlotResponse, + WebAppsGetWebJobSlotOptionalParams, + WebAppsGetWebJobSlotResponse, + WebAppsSwapSlotWithProductionOptionalParams, + WebAppsGetSourceControlOptionalParams, + WebAppsGetSourceControlResponse, + WebAppsCreateOrUpdateSourceControlOptionalParams, + WebAppsCreateOrUpdateSourceControlResponse, + WebAppsDeleteSourceControlOptionalParams, + WebAppsUpdateSourceControlOptionalParams, + WebAppsUpdateSourceControlResponse, + WebAppsStartOptionalParams, + WebAppsStartNetworkTraceOptionalParams, + WebAppsStartNetworkTraceResponse, + WebAppsStopOptionalParams, + WebAppsStopNetworkTraceOptionalParams, + WebAppsSyncRepositoryOptionalParams, + WebAppsSyncFunctionTriggersOptionalParams, + WebAppsGetTriggeredWebJobOptionalParams, + WebAppsGetTriggeredWebJobResponse, + WebAppsDeleteTriggeredWebJobOptionalParams, + WebAppsGetTriggeredWebJobHistoryOptionalParams, + WebAppsGetTriggeredWebJobHistoryResponse, + WebAppsRunTriggeredWebJobOptionalParams, + WebAppsListVnetConnectionsOptionalParams, + WebAppsListVnetConnectionsResponse, + WebAppsGetVnetConnectionOptionalParams, + WebAppsGetVnetConnectionResponse, + WebAppsCreateOrUpdateVnetConnectionOptionalParams, + WebAppsCreateOrUpdateVnetConnectionResponse, + WebAppsDeleteVnetConnectionOptionalParams, + WebAppsUpdateVnetConnectionOptionalParams, + WebAppsUpdateVnetConnectionResponse, + WebAppsGetVnetConnectionGatewayOptionalParams, + WebAppsGetVnetConnectionGatewayResponse, + WebAppsCreateOrUpdateVnetConnectionGatewayOptionalParams, + WebAppsCreateOrUpdateVnetConnectionGatewayResponse, + WebAppsUpdateVnetConnectionGatewayOptionalParams, + WebAppsUpdateVnetConnectionGatewayResponse, + WebAppsGetWebJobOptionalParams, + WebAppsGetWebJobResponse +} from "../models"; + +/// +/** Interface representing a WebApps. */ +export interface WebApps { + /** + * Description for Get all apps for a subscription. + * @param options The options parameters. + */ + list(options?: WebAppsListOptionalParams): PagedAsyncIterableIterator; + /** + * Description for Gets all web, mobile, and API apps in the specified resource group. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: WebAppsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets existing backups of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listBackups( + resourceGroupName: string, + name: string, + options?: WebAppsListBackupsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listBasicPublishingCredentialsPolicies( + resourceGroupName: string, + name: string, + options?: WebAppsListBasicPublishingCredentialsPoliciesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List the configurations of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listConfigurations( + resourceGroupName: string, + name: string, + options?: WebAppsListConfigurationsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the config reference app settings and status of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listAppSettingsKeyVaultReferences( + resourceGroupName: string, + name: string, + options?: WebAppsGetAppSettingsKeyVaultReferencesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the config reference app settings and status of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listSiteConnectionStringKeyVaultReferences( + resourceGroupName: string, + name: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets a list of web app configuration snapshots identifiers. Each element of the list + * contains a timestamp and the ID of the snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listConfigurationSnapshotInfo( + resourceGroupName: string, + name: string, + options?: WebAppsListConfigurationSnapshotInfoOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List continuous web jobs for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. + */ + listContinuousWebJobs( + resourceGroupName: string, + name: string, + options?: WebAppsListContinuousWebJobsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List deployments for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listDeployments( + resourceGroupName: string, + name: string, + options?: WebAppsListDeploymentsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Lists ownership identifiers for domain associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listDomainOwnershipIdentifiers( + resourceGroupName: string, + name: string, + options?: WebAppsListDomainOwnershipIdentifiersOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List the functions for a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. + */ + listFunctions( + resourceGroupName: string, + name: string, + options?: WebAppsListFunctionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get hostname bindings for an app or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listHostNameBindings( + resourceGroupName: string, + name: string, + options?: WebAppsListHostNameBindingsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets all scale-out instances of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listInstanceIdentifiers( + resourceGroupName: string, + name: string, + options?: WebAppsListInstanceIdentifiersOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + listInstanceProcesses( + resourceGroupName: string, + name: string, + instanceId: string, + options?: WebAppsListInstanceProcessesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + listInstanceProcessModules( + resourceGroupName: string, + name: string, + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessModulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + listInstanceProcessThreads( + resourceGroupName: string, + name: string, + processId: string, + instanceId: string, + options?: WebAppsListInstanceProcessThreadsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets existing backups of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listSiteBackups( + resourceGroupName: string, + name: string, + options?: WebAppsListSiteBackupsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets perfmon counters for web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + listPerfMonCounters( + resourceGroupName: string, + name: string, + options?: WebAppsListPerfMonCountersOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the list of private endpoint connections associated with a site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param options The options parameters. + */ + listPrivateEndpointConnectionList( + resourceGroupName: string, + name: string, + options?: WebAppsGetPrivateEndpointConnectionListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. + */ + listProcesses( + resourceGroupName: string, + name: string, + options?: WebAppsListProcessesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param options The options parameters. + */ + listProcessModules( + resourceGroupName: string, + name: string, + processId: string, + options?: WebAppsListProcessModulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param options The options parameters. + */ + listProcessThreads( + resourceGroupName: string, + name: string, + processId: string, + options?: WebAppsListProcessThreadsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get public certificates for an app or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listPublicCertificates( + resourceGroupName: string, + name: string, + options?: WebAppsListPublicCertificatesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get list of siteextensions for a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. + */ + listSiteExtensions( + resourceGroupName: string, + name: string, + options?: WebAppsListSiteExtensionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets an app's deployment slots. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listSlots( + resourceGroupName: string, + name: string, + options?: WebAppsListSlotsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets existing backups of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of the + * production slot. + * @param options The options parameters. + */ + listBackupsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListBackupsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param options The options parameters. + */ + listBasicPublishingCredentialsPoliciesSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListBasicPublishingCredentialsPoliciesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List the configurations of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. + */ + listConfigurationsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListConfigurationsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the config reference app settings and status of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param options The options parameters. + */ + listAppSettingsKeyVaultReferencesSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetAppSettingsKeyVaultReferencesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the config reference app settings and status of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param options The options parameters. + */ + listSiteConnectionStringKeyVaultReferencesSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferencesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets a list of web app configuration snapshots identifiers. Each element of the list + * contains a timestamp and the ID of the snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. + */ + listConfigurationSnapshotInfoSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListConfigurationSnapshotInfoSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List continuous web jobs for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. + */ + listContinuousWebJobsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListContinuousWebJobsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List deployments for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + listDeploymentsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListDeploymentsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Lists ownership identifiers for domain associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param options The options parameters. + */ + listDomainOwnershipIdentifiersSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListDomainOwnershipIdentifiersSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List the functions for a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + listInstanceFunctionsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListInstanceFunctionsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get hostname bindings for an app or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname bindings + * for the production slot. + * @param options The options parameters. + */ + listHostNameBindingsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListHostNameBindingsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets all scale-out instances of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production + * slot instances. + * @param options The options parameters. + */ + listInstanceIdentifiersSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListInstanceIdentifiersSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + listInstanceProcessesSlot( + resourceGroupName: string, + name: string, + slot: string, + instanceId: string, + options?: WebAppsListInstanceProcessesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + listInstanceProcessModulesSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + instanceId: string, + options?: WebAppsListInstanceProcessModulesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + listInstanceProcessThreadsSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + instanceId: string, + options?: WebAppsListInstanceProcessThreadsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets existing backups of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get backups of the + * production slot. + * @param options The options parameters. + */ + listSiteBackupsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListSiteBackupsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets perfmon counters for web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + listPerfMonCountersSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListPerfMonCountersSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the list of private endpoint connections associated with a site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param slot Name of the site deployment slot. + * @param options The options parameters. + */ + listPrivateEndpointConnectionListSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetPrivateEndpointConnectionListSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get list of processes for a web site, or a deployment slot, or for a specific + * scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + listProcessesSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListProcessesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List module information for a process by its ID for a specific scaled-out instance + * in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + listProcessModulesSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + options?: WebAppsListProcessModulesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List the threads in a process by its ID for a specific scaled-out instance in a web + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + listProcessThreadsSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + options?: WebAppsListProcessThreadsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get public certificates for an app or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets hostname bindings + * for the production slot. + * @param options The options parameters. + */ + listPublicCertificatesSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListPublicCertificatesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get list of siteextensions for a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. + */ + listSiteExtensionsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListSiteExtensionsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get the difference in configuration settings between two web app slots. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + listSlotDifferencesSlot( + resourceGroupName: string, + name: string, + slot: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Returns all Snapshots to the user. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Website Name. + * @param slot Website Slot. + * @param options The options parameters. + */ + listSnapshotsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListSnapshotsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Returns all Snapshots to the user from DRSecondary endpoint. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Website Name. + * @param slot Website Slot. + * @param options The options parameters. + */ + listSnapshotsFromDRSecondarySlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListSnapshotsFromDRSecondarySlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List triggered web jobs for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. + */ + listTriggeredWebJobsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListTriggeredWebJobsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List a triggered web job's history for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. + */ + listTriggeredWebJobHistorySlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsListTriggeredWebJobHistorySlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the quota usage information of an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get quota + * information of the production slot. + * @param options The options parameters. + */ + listUsagesSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListUsagesSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List webjobs for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + listWebJobsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListWebJobsSlotOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Get the difference in configuration settings between two web app slots. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + listSlotDifferencesFromProduction( + resourceGroupName: string, + name: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsListSlotDifferencesFromProductionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Returns all Snapshots to the user. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Website Name. + * @param options The options parameters. + */ + listSnapshots( + resourceGroupName: string, + name: string, + options?: WebAppsListSnapshotsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Returns all Snapshots to the user from DRSecondary endpoint. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Website Name. + * @param options The options parameters. + */ + listSnapshotsFromDRSecondary( + resourceGroupName: string, + name: string, + options?: WebAppsListSnapshotsFromDRSecondaryOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List triggered web jobs for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. + */ + listTriggeredWebJobs( + resourceGroupName: string, + name: string, + options?: WebAppsListTriggeredWebJobsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List a triggered web job's history for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. + */ + listTriggeredWebJobHistory( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsListTriggeredWebJobHistoryOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the quota usage information of an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listUsages( + resourceGroupName: string, + name: string, + options?: WebAppsListUsagesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for List webjobs for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. + */ + listWebJobs( + resourceGroupName: string, + name: string, + options?: WebAppsListWebJobsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Description for Gets the details of a web, mobile, or API app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + options?: WebAppsGetOptionalParams + ): Promise; + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + name: string, + siteEnvelope: Site, + options?: WebAppsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateOrUpdateResponse + > + >; + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + name: string, + siteEnvelope: Site, + options?: WebAppsCreateOrUpdateOptionalParams + ): Promise; + /** + * Description for Deletes a web, mobile, or API app, or one of the deployment slots. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app to delete. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + name: string, + options?: WebAppsDeleteOptionalParams + ): Promise; + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + name: string, + siteEnvelope: SitePatchResource, + options?: WebAppsUpdateOptionalParams + ): Promise; + /** + * Description for Analyze a custom hostname. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + analyzeCustomHostname( + resourceGroupName: string, + name: string, + options?: WebAppsAnalyzeCustomHostnameOptionalParams + ): Promise; + /** + * Description for Applies the configuration settings from the target slot onto the current slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + applySlotConfigToProduction( + resourceGroupName: string, + name: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsApplySlotConfigToProductionOptionalParams + ): Promise; + /** + * Description for Creates a backup of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param request Backup configuration. You can use the JSON response from the POST action as input + * here. + * @param options The options parameters. + */ + backup( + resourceGroupName: string, + name: string, + request: BackupRequest, + options?: WebAppsBackupOptionalParams + ): Promise; + /** + * Description for Gets a backup of an app by its ID. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param backupId ID of the backup. + * @param options The options parameters. + */ + getBackupStatus( + resourceGroupName: string, + name: string, + backupId: string, + options?: WebAppsGetBackupStatusOptionalParams + ): Promise; + /** + * Description for Deletes a backup of an app by its ID. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param backupId ID of the backup. + * @param options The options parameters. + */ + deleteBackup( + resourceGroupName: string, + name: string, + backupId: string, + options?: WebAppsDeleteBackupOptionalParams + ): Promise; + /** + * Description for Gets status of a web app backup that may be in progress, including secrets + * associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS + * URL for the backup if a new URL is passed in the request body. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param backupId ID of backup. + * @param request Information on backup request. + * @param options The options parameters. + */ + listBackupStatusSecrets( + resourceGroupName: string, + name: string, + backupId: string, + request: BackupRequest, + options?: WebAppsListBackupStatusSecretsOptionalParams + ): Promise; + /** + * Description for Restores a specific backup to another app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param backupId ID of the backup. + * @param request Information on restore request . + * @param options The options parameters. + */ + beginRestore( + resourceGroupName: string, + name: string, + backupId: string, + request: RestoreRequest, + options?: WebAppsRestoreOptionalParams + ): Promise, void>>; + /** + * Description for Restores a specific backup to another app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param backupId ID of the backup. + * @param request Information on restore request . + * @param options The options parameters. + */ + beginRestoreAndWait( + resourceGroupName: string, + name: string, + backupId: string, + request: RestoreRequest, + options?: WebAppsRestoreOptionalParams + ): Promise; + /** + * Description for Returns whether FTP is allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getFtpAllowed( + resourceGroupName: string, + name: string, + options?: WebAppsGetFtpAllowedOptionalParams + ): Promise; + /** + * Description for Updates whether FTP is allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param csmPublishingAccessPoliciesEntity Publishing Credentials Policies parameters. + * @param options The options parameters. + */ + updateFtpAllowed( + resourceGroupName: string, + name: string, + csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, + options?: WebAppsUpdateFtpAllowedOptionalParams + ): Promise; + /** + * Description for Returns whether Scm basic auth is allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getScmAllowed( + resourceGroupName: string, + name: string, + options?: WebAppsGetScmAllowedOptionalParams + ): Promise; + /** + * Description for Updates whether user publishing credentials are allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param csmPublishingAccessPoliciesEntity Publishing Credentials Policies parameters. + * @param options The options parameters. + */ + updateScmAllowed( + resourceGroupName: string, + name: string, + csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, + options?: WebAppsUpdateScmAllowedOptionalParams + ): Promise; + /** + * Description for Replaces the application settings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param appSettings Application settings of the app. + * @param options The options parameters. + */ + updateApplicationSettings( + resourceGroupName: string, + name: string, + appSettings: StringDictionary, + options?: WebAppsUpdateApplicationSettingsOptionalParams + ): Promise; + /** + * Description for Gets the application settings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listApplicationSettings( + resourceGroupName: string, + name: string, + options?: WebAppsListApplicationSettingsOptionalParams + ): Promise; + /** + * Description for Updates the Authentication / Authorization settings associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param siteAuthSettings Auth settings associated with web app. + * @param options The options parameters. + */ + updateAuthSettings( + resourceGroupName: string, + name: string, + siteAuthSettings: SiteAuthSettings, + options?: WebAppsUpdateAuthSettingsOptionalParams + ): Promise; + /** + * Description for Gets the Authentication/Authorization settings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getAuthSettings( + resourceGroupName: string, + name: string, + options?: WebAppsGetAuthSettingsOptionalParams + ): Promise; + /** + * Description for Updates site's Authentication / Authorization settings for apps via the V2 format + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param siteAuthSettingsV2 Auth settings associated with web app. + * @param options The options parameters. + */ + updateAuthSettingsV2( + resourceGroupName: string, + name: string, + siteAuthSettingsV2: SiteAuthSettingsV2, + options?: WebAppsUpdateAuthSettingsV2OptionalParams + ): Promise; + /** + * Description for Gets site's Authentication / Authorization settings for apps via the V2 format + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getAuthSettingsV2( + resourceGroupName: string, + name: string, + options?: WebAppsGetAuthSettingsV2OptionalParams + ): Promise; + /** + * Description for Updates the Azure storage account configurations of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param azureStorageAccounts Azure storage accounts of the app. + * @param options The options parameters. + */ + updateAzureStorageAccounts( + resourceGroupName: string, + name: string, + azureStorageAccounts: AzureStoragePropertyDictionaryResource, + options?: WebAppsUpdateAzureStorageAccountsOptionalParams + ): Promise; + /** + * Description for Gets the Azure storage account configurations of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listAzureStorageAccounts( + resourceGroupName: string, + name: string, + options?: WebAppsListAzureStorageAccountsOptionalParams + ): Promise; + /** + * Description for Updates the backup configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param request Edited backup configuration. + * @param options The options parameters. + */ + updateBackupConfiguration( + resourceGroupName: string, + name: string, + request: BackupRequest, + options?: WebAppsUpdateBackupConfigurationOptionalParams + ): Promise; + /** + * Description for Deletes the backup configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + deleteBackupConfiguration( + resourceGroupName: string, + name: string, + options?: WebAppsDeleteBackupConfigurationOptionalParams + ): Promise; + /** + * Description for Gets the backup configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getBackupConfiguration( + resourceGroupName: string, + name: string, + options?: WebAppsGetBackupConfigurationOptionalParams + ): Promise; + /** + * Description for Gets the config reference and status of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param appSettingKey App Setting key name. + * @param options The options parameters. + */ + getAppSettingKeyVaultReference( + resourceGroupName: string, + name: string, + appSettingKey: string, + options?: WebAppsGetAppSettingKeyVaultReferenceOptionalParams + ): Promise; + /** + * Description for Gets the config reference and status of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param connectionStringKey + * @param options The options parameters. + */ + getSiteConnectionStringKeyVaultReference( + resourceGroupName: string, + name: string, + connectionStringKey: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferenceOptionalParams + ): Promise; + /** + * Description for Replaces the connection strings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param connectionStrings Connection strings of the app or deployment slot. See example. + * @param options The options parameters. + */ + updateConnectionStrings( + resourceGroupName: string, + name: string, + connectionStrings: ConnectionStringDictionary, + options?: WebAppsUpdateConnectionStringsOptionalParams + ): Promise; + /** + * Description for Gets the connection strings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listConnectionStrings( + resourceGroupName: string, + name: string, + options?: WebAppsListConnectionStringsOptionalParams + ): Promise; + /** + * Description for Gets the logging configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getDiagnosticLogsConfiguration( + resourceGroupName: string, + name: string, + options?: WebAppsGetDiagnosticLogsConfigurationOptionalParams + ): Promise; + /** + * Description for Updates the logging configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to change + * in the "properties" property. + * @param options The options parameters. + */ + updateDiagnosticLogsConfig( + resourceGroupName: string, + name: string, + siteLogsConfig: SiteLogsConfig, + options?: WebAppsUpdateDiagnosticLogsConfigOptionalParams + ): Promise; + /** + * Description for Replaces the metadata of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param metadata Edited metadata of the app or deployment slot. See example. + * @param options The options parameters. + */ + updateMetadata( + resourceGroupName: string, + name: string, + metadata: StringDictionary, + options?: WebAppsUpdateMetadataOptionalParams + ): Promise; + /** + * Description for Gets the metadata of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listMetadata( + resourceGroupName: string, + name: string, + options?: WebAppsListMetadataOptionalParams + ): Promise; + /** + * Description for Gets the Git/FTP publishing credentials of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + beginListPublishingCredentials( + resourceGroupName: string, + name: string, + options?: WebAppsListPublishingCredentialsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsListPublishingCredentialsResponse + > + >; + /** + * Description for Gets the Git/FTP publishing credentials of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + beginListPublishingCredentialsAndWait( + resourceGroupName: string, + name: string, + options?: WebAppsListPublishingCredentialsOptionalParams + ): Promise; + /** + * Description for Updates the Push settings associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param pushSettings Push settings associated with web app. + * @param options The options parameters. + */ + updateSitePushSettings( + resourceGroupName: string, + name: string, + pushSettings: PushSettings, + options?: WebAppsUpdateSitePushSettingsOptionalParams + ): Promise; + /** + * Description for Gets the Push settings associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + listSitePushSettings( + resourceGroupName: string, + name: string, + options?: WebAppsListSitePushSettingsOptionalParams + ): Promise; + /** + * Description for Gets the names of app settings and connection strings that stick to the slot (not + * swapped). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listSlotConfigurationNames( + resourceGroupName: string, + name: string, + options?: WebAppsListSlotConfigurationNamesOptionalParams + ): Promise; + /** + * Description for Updates the names of application settings and connection string that remain with the + * slot during swap operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slotConfigNames Names of application settings and connection strings. See example. + * @param options The options parameters. + */ + updateSlotConfigurationNames( + resourceGroupName: string, + name: string, + slotConfigNames: SlotConfigNamesResource, + options?: WebAppsUpdateSlotConfigurationNamesOptionalParams + ): Promise; + /** + * Description for Gets the configuration of an app, such as platform version and bitness, default + * documents, virtual applications, Always On, etc. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getConfiguration( + resourceGroupName: string, + name: string, + options?: WebAppsGetConfigurationOptionalParams + ): Promise; + /** + * Description for Updates the configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param siteConfig JSON representation of a SiteConfig object. See example. + * @param options The options parameters. + */ + createOrUpdateConfiguration( + resourceGroupName: string, + name: string, + siteConfig: SiteConfigResource, + options?: WebAppsCreateOrUpdateConfigurationOptionalParams + ): Promise; + /** + * Description for Updates the configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param siteConfig JSON representation of a SiteConfig object. See example. + * @param options The options parameters. + */ + updateConfiguration( + resourceGroupName: string, + name: string, + siteConfig: SiteConfigResource, + options?: WebAppsUpdateConfigurationOptionalParams + ): Promise; + /** + * Description for Gets a snapshot of the configuration of an app at a previous point in time. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param snapshotId The ID of the snapshot to read. + * @param options The options parameters. + */ + getConfigurationSnapshot( + resourceGroupName: string, + name: string, + snapshotId: string, + options?: WebAppsGetConfigurationSnapshotOptionalParams + ): Promise; + /** + * Description for Reverts the configuration of an app to a previous snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param snapshotId The ID of the snapshot to read. + * @param options The options parameters. + */ + recoverSiteConfigurationSnapshot( + resourceGroupName: string, + name: string, + snapshotId: string, + options?: WebAppsRecoverSiteConfigurationSnapshotOptionalParams + ): Promise; + /** + * Description for Gets the last lines of docker logs for the given site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + getWebSiteContainerLogs( + resourceGroupName: string, + name: string, + options?: WebAppsGetWebSiteContainerLogsOptionalParams + ): Promise; + /** + * Description for Gets the ZIP archived docker log files for the given site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + getContainerLogsZip( + resourceGroupName: string, + name: string, + options?: WebAppsGetContainerLogsZipOptionalParams + ): Promise; + /** + * Description for Gets a continuous web job by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. + */ + getContinuousWebJob( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsGetContinuousWebJobOptionalParams + ): Promise; + /** + * Description for Delete a continuous web job by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. + */ + deleteContinuousWebJob( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsDeleteContinuousWebJobOptionalParams + ): Promise; + /** + * Description for Start a continuous web job for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. + */ + startContinuousWebJob( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsStartContinuousWebJobOptionalParams + ): Promise; + /** + * Description for Stop a continuous web job for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. + */ + stopContinuousWebJob( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsStopContinuousWebJobOptionalParams + ): Promise; + /** + * Description for Get a deployment by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param id Deployment ID. + * @param options The options parameters. + */ + getDeployment( + resourceGroupName: string, + name: string, + id: string, + options?: WebAppsGetDeploymentOptionalParams + ): Promise; + /** + * Description for Create a deployment for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param id ID of an existing deployment. + * @param deployment Deployment details. + * @param options The options parameters. + */ + createDeployment( + resourceGroupName: string, + name: string, + id: string, + deployment: Deployment, + options?: WebAppsCreateDeploymentOptionalParams + ): Promise; + /** + * Description for Delete a deployment by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param id Deployment ID. + * @param options The options parameters. + */ + deleteDeployment( + resourceGroupName: string, + name: string, + id: string, + options?: WebAppsDeleteDeploymentOptionalParams + ): Promise; + /** + * Description for List deployment log for specific deployment for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param id The ID of a specific deployment. This is the value of the name property in the JSON + * response from "GET /api/sites/{siteName}/deployments". + * @param options The options parameters. + */ + listDeploymentLog( + resourceGroupName: string, + name: string, + id: string, + options?: WebAppsListDeploymentLogOptionalParams + ): Promise; + /** + * Description for Discovers an existing app backup that can be restored from a blob in Azure storage. + * Use this to get information about the databases stored in a backup. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param request A RestoreRequest object that includes Azure storage URL and blog name for discovery + * of backup. + * @param options The options parameters. + */ + discoverBackup( + resourceGroupName: string, + name: string, + request: RestoreRequest, + options?: WebAppsDiscoverBackupOptionalParams + ): Promise; + /** + * Description for Get domain ownership identifier for web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param options The options parameters. + */ + getDomainOwnershipIdentifier( + resourceGroupName: string, + name: string, + domainOwnershipIdentifierName: string, + options?: WebAppsGetDomainOwnershipIdentifierOptionalParams + ): Promise; + /** + * Description for Creates a domain ownership identifier for web app, or updates an existing ownership + * identifier. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. + */ + createOrUpdateDomainOwnershipIdentifier( + resourceGroupName: string, + name: string, + domainOwnershipIdentifierName: string, + domainOwnershipIdentifier: Identifier, + options?: WebAppsCreateOrUpdateDomainOwnershipIdentifierOptionalParams + ): Promise; + /** + * Description for Deletes a domain ownership identifier for a web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param options The options parameters. + */ + deleteDomainOwnershipIdentifier( + resourceGroupName: string, + name: string, + domainOwnershipIdentifierName: string, + options?: WebAppsDeleteDomainOwnershipIdentifierOptionalParams + ): Promise; + /** + * Description for Creates a domain ownership identifier for web app, or updates an existing ownership + * identifier. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. + */ + updateDomainOwnershipIdentifier( + resourceGroupName: string, + name: string, + domainOwnershipIdentifierName: string, + domainOwnershipIdentifier: Identifier, + options?: WebAppsUpdateDomainOwnershipIdentifierOptionalParams + ): Promise; + /** + * Description for Get the status of the last MSDeploy operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + getMSDeployStatus( + resourceGroupName: string, + name: string, + options?: WebAppsGetMSDeployStatusOptionalParams + ): Promise; + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + beginCreateMSDeployOperation( + resourceGroupName: string, + name: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateMSDeployOperationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateMSDeployOperationResponse + > + >; + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + beginCreateMSDeployOperationAndWait( + resourceGroupName: string, + name: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateMSDeployOperationOptionalParams + ): Promise; + /** + * Description for Get the MSDeploy Log for the last MSDeploy operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + getMSDeployLog( + resourceGroupName: string, + name: string, + options?: WebAppsGetMSDeployLogOptionalParams + ): Promise; + /** + * Description for Fetch a short lived token that can be exchanged for a master key. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + getFunctionsAdminToken( + resourceGroupName: string, + name: string, + options?: WebAppsGetFunctionsAdminTokenOptionalParams + ): Promise; + /** + * Description for Get function information by its ID for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param options The options parameters. + */ + getFunction( + resourceGroupName: string, + name: string, + functionName: string, + options?: WebAppsGetFunctionOptionalParams + ): Promise; + /** + * Description for Create function for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param functionEnvelope Function details. + * @param options The options parameters. + */ + beginCreateFunction( + resourceGroupName: string, + name: string, + functionName: string, + functionEnvelope: FunctionEnvelope, + options?: WebAppsCreateFunctionOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateFunctionResponse + > + >; + /** + * Description for Create function for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param functionEnvelope Function details. + * @param options The options parameters. + */ + beginCreateFunctionAndWait( + resourceGroupName: string, + name: string, + functionName: string, + functionEnvelope: FunctionEnvelope, + options?: WebAppsCreateFunctionOptionalParams + ): Promise; + /** + * Description for Delete a function for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param options The options parameters. + */ + deleteFunction( + resourceGroupName: string, + name: string, + functionName: string, + options?: WebAppsDeleteFunctionOptionalParams + ): Promise; + /** + * Description for Add or update a function secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName The name of the function. + * @param keyName The name of the key. + * @param key The key to create or update + * @param options The options parameters. + */ + createOrUpdateFunctionSecret( + resourceGroupName: string, + name: string, + functionName: string, + keyName: string, + key: KeyInfo, + options?: WebAppsCreateOrUpdateFunctionSecretOptionalParams + ): Promise; + /** + * Description for Delete a function secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName The name of the function. + * @param keyName The name of the key. + * @param options The options parameters. + */ + deleteFunctionSecret( + resourceGroupName: string, + name: string, + functionName: string, + keyName: string, + options?: WebAppsDeleteFunctionSecretOptionalParams + ): Promise; + /** + * Description for Get function keys for a function in a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param options The options parameters. + */ + listFunctionKeys( + resourceGroupName: string, + name: string, + functionName: string, + options?: WebAppsListFunctionKeysOptionalParams + ): Promise; + /** + * Description for Get function secrets for a function in a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param options The options parameters. + */ + listFunctionSecrets( + resourceGroupName: string, + name: string, + functionName: string, + options?: WebAppsListFunctionSecretsOptionalParams + ): Promise; + /** + * Description for Get host secrets for a function app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param options The options parameters. + */ + listHostKeys( + resourceGroupName: string, + name: string, + options?: WebAppsListHostKeysOptionalParams + ): Promise; + /** + * Description for This is to allow calling via powershell and ARM template. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listSyncStatus( + resourceGroupName: string, + name: string, + options?: WebAppsListSyncStatusOptionalParams + ): Promise; + /** + * Description for Syncs function trigger metadata to the management database + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + syncFunctions( + resourceGroupName: string, + name: string, + options?: WebAppsSyncFunctionsOptionalParams + ): Promise; + /** + * Description for Add or update a host level secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param keyType The type of host key. + * @param keyName The name of the key. + * @param key The key to create or update + * @param options The options parameters. + */ + createOrUpdateHostSecret( + resourceGroupName: string, + name: string, + keyType: string, + keyName: string, + key: KeyInfo, + options?: WebAppsCreateOrUpdateHostSecretOptionalParams + ): Promise; + /** + * Description for Delete a host level secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param keyType The type of host key. + * @param keyName The name of the key. + * @param options The options parameters. + */ + deleteHostSecret( + resourceGroupName: string, + name: string, + keyType: string, + keyName: string, + options?: WebAppsDeleteHostSecretOptionalParams + ): Promise; + /** + * Description for Get the named hostname binding for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param hostName Hostname in the hostname binding. + * @param options The options parameters. + */ + getHostNameBinding( + resourceGroupName: string, + name: string, + hostName: string, + options?: WebAppsGetHostNameBindingOptionalParams + ): Promise; + /** + * Description for Creates a hostname binding for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param hostName Hostname in the hostname binding. + * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding object. + * @param options The options parameters. + */ + createOrUpdateHostNameBinding( + resourceGroupName: string, + name: string, + hostName: string, + hostNameBinding: HostNameBinding, + options?: WebAppsCreateOrUpdateHostNameBindingOptionalParams + ): Promise; + /** + * Description for Deletes a hostname binding for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param hostName Hostname in the hostname binding. + * @param options The options parameters. + */ + deleteHostNameBinding( + resourceGroupName: string, + name: string, + hostName: string, + options?: WebAppsDeleteHostNameBindingOptionalParams + ): Promise; + /** + * Description for Retrieves a specific Service Bus Hybrid Connection used by this Web App. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param options The options parameters. + */ + getHybridConnection( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + options?: WebAppsGetHybridConnectionOptionalParams + ): Promise; + /** + * Description for Creates a new Hybrid Connection using a Service Bus relay. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param connectionEnvelope The details of the hybrid connection. + * @param options The options parameters. + */ + createOrUpdateHybridConnection( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + connectionEnvelope: HybridConnection, + options?: WebAppsCreateOrUpdateHybridConnectionOptionalParams + ): Promise; + /** + * Description for Removes a Hybrid Connection from this site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param options The options parameters. + */ + deleteHybridConnection( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + options?: WebAppsDeleteHybridConnectionOptionalParams + ): Promise; + /** + * Description for Creates a new Hybrid Connection using a Service Bus relay. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param connectionEnvelope The details of the hybrid connection. + * @param options The options parameters. + */ + updateHybridConnection( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + connectionEnvelope: HybridConnection, + options?: WebAppsUpdateHybridConnectionOptionalParams + ): Promise; + /** + * Description for Retrieves all Service Bus Hybrid Connections used by this Web App. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + listHybridConnections( + resourceGroupName: string, + name: string, + options?: WebAppsListHybridConnectionsOptionalParams + ): Promise; + /** + * Description for Gets hybrid connections configured for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listRelayServiceConnections( + resourceGroupName: string, + name: string, + options?: WebAppsListRelayServiceConnectionsOptionalParams + ): Promise; + /** + * Description for Gets a hybrid connection configuration by its name. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param entityName Name of the hybrid connection. + * @param options The options parameters. + */ + getRelayServiceConnection( + resourceGroupName: string, + name: string, + entityName: string, + options?: WebAppsGetRelayServiceConnectionOptionalParams + ): Promise; + /** + * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one + * (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param entityName Name of the hybrid connection configuration. + * @param connectionEnvelope Details of the hybrid connection configuration. + * @param options The options parameters. + */ + createOrUpdateRelayServiceConnection( + resourceGroupName: string, + name: string, + entityName: string, + connectionEnvelope: RelayServiceConnectionEntity, + options?: WebAppsCreateOrUpdateRelayServiceConnectionOptionalParams + ): Promise; + /** + * Description for Deletes a relay service connection by its name. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param entityName Name of the hybrid connection configuration. + * @param options The options parameters. + */ + deleteRelayServiceConnection( + resourceGroupName: string, + name: string, + entityName: string, + options?: WebAppsDeleteRelayServiceConnectionOptionalParams + ): Promise; + /** + * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one + * (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param entityName Name of the hybrid connection configuration. + * @param connectionEnvelope Details of the hybrid connection configuration. + * @param options The options parameters. + */ + updateRelayServiceConnection( + resourceGroupName: string, + name: string, + entityName: string, + connectionEnvelope: RelayServiceConnectionEntity, + options?: WebAppsUpdateRelayServiceConnectionOptionalParams + ): Promise; + /** + * Description for Gets all scale-out instances of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param instanceId + * @param options The options parameters. + */ + getInstanceInfo( + resourceGroupName: string, + name: string, + instanceId: string, + options?: WebAppsGetInstanceInfoOptionalParams + ): Promise; + /** + * Description for Get the status of the last MSDeploy operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param instanceId ID of web app instance. + * @param options The options parameters. + */ + getInstanceMsDeployStatus( + resourceGroupName: string, + name: string, + instanceId: string, + options?: WebAppsGetInstanceMsDeployStatusOptionalParams + ): Promise; + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param instanceId ID of web app instance. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + beginCreateInstanceMSDeployOperation( + resourceGroupName: string, + name: string, + instanceId: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateInstanceMSDeployOperationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateInstanceMSDeployOperationResponse + > + >; + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param instanceId ID of web app instance. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + beginCreateInstanceMSDeployOperationAndWait( + resourceGroupName: string, + name: string, + instanceId: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateInstanceMSDeployOperationOptionalParams + ): Promise; + /** + * Description for Get the MSDeploy Log for the last MSDeploy operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param instanceId ID of web app instance. + * @param options The options parameters. + */ + getInstanceMSDeployLog( + resourceGroupName: string, + name: string, + instanceId: string, + options?: WebAppsGetInstanceMSDeployLogOptionalParams + ): Promise; + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + getInstanceProcess( + resourceGroupName: string, + name: string, + processId: string, + instanceId: string, + options?: WebAppsGetInstanceProcessOptionalParams + ): Promise; + /** + * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific + * scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + deleteInstanceProcess( + resourceGroupName: string, + name: string, + processId: string, + instanceId: string, + options?: WebAppsDeleteInstanceProcessOptionalParams + ): Promise; + /** + * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + getInstanceProcessDump( + resourceGroupName: string, + name: string, + processId: string, + instanceId: string, + options?: WebAppsGetInstanceProcessDumpOptionalParams + ): Promise; + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param baseAddress Module base address. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + getInstanceProcessModule( + resourceGroupName: string, + name: string, + processId: string, + baseAddress: string, + instanceId: string, + options?: WebAppsGetInstanceProcessModuleOptionalParams + ): Promise; + /** + * Description for Shows whether an app can be cloned to another resource group or subscription. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + isCloneable( + resourceGroupName: string, + name: string, + options?: WebAppsIsCloneableOptionalParams + ): Promise; + /** + * Description for This is to allow calling via powershell and ARM template. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listSyncFunctionTriggers( + resourceGroupName: string, + name: string, + options?: WebAppsListSyncFunctionTriggersOptionalParams + ): Promise; + /** + * Description for Restores a web app. + * @param subscriptionName Azure subscription. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param migrationOptions Migration migrationOptions. + * @param options The options parameters. + */ + beginMigrateStorage( + subscriptionName: string, + resourceGroupName: string, + name: string, + migrationOptions: StorageMigrationOptions, + options?: WebAppsMigrateStorageOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsMigrateStorageResponse + > + >; + /** + * Description for Restores a web app. + * @param subscriptionName Azure subscription. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param migrationOptions Migration migrationOptions. + * @param options The options parameters. + */ + beginMigrateStorageAndWait( + subscriptionName: string, + resourceGroupName: string, + name: string, + migrationOptions: StorageMigrationOptions, + options?: WebAppsMigrateStorageOptionalParams + ): Promise; + /** + * Description for Migrates a local (in-app) MySql database to a remote MySql database. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param migrationRequestEnvelope MySql migration options. + * @param options The options parameters. + */ + beginMigrateMySql( + resourceGroupName: string, + name: string, + migrationRequestEnvelope: MigrateMySqlRequest, + options?: WebAppsMigrateMySqlOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsMigrateMySqlResponse + > + >; + /** + * Description for Migrates a local (in-app) MySql database to a remote MySql database. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param migrationRequestEnvelope MySql migration options. + * @param options The options parameters. + */ + beginMigrateMySqlAndWait( + resourceGroupName: string, + name: string, + migrationRequestEnvelope: MigrateMySqlRequest, + options?: WebAppsMigrateMySqlOptionalParams + ): Promise; + /** + * Description for Returns the status of MySql in app migration, if one is active, and whether or not + * MySql in app is enabled + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + getMigrateMySqlStatus( + resourceGroupName: string, + name: string, + options?: WebAppsGetMigrateMySqlStatusOptionalParams + ): Promise; + /** + * Description for Gets a Swift Virtual Network connection. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getSwiftVirtualNetworkConnection( + resourceGroupName: string, + name: string, + options?: WebAppsGetSwiftVirtualNetworkConnectionOptionalParams + ): Promise; + /** + * Description for Integrates this Web App with a Virtual Network. This requires that 1) + * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has + * already been delegated, and is not + * in use by another App Service Plan other than the one this App is in. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. + */ + createOrUpdateSwiftVirtualNetworkConnectionWithCheck( + resourceGroupName: string, + name: string, + connectionEnvelope: SwiftVirtualNetwork, + options?: WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams + ): Promise< + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckResponse + >; + /** + * Description for Deletes a Swift Virtual Network connection from an app (or deployment slot). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + deleteSwiftVirtualNetwork( + resourceGroupName: string, + name: string, + options?: WebAppsDeleteSwiftVirtualNetworkOptionalParams + ): Promise; + /** + * Description for Integrates this Web App with a Virtual Network. This requires that 1) + * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has + * already been delegated, and is not + * in use by another App Service Plan other than the one this App is in. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. + */ + updateSwiftVirtualNetworkConnectionWithCheck( + resourceGroupName: string, + name: string, + connectionEnvelope: SwiftVirtualNetwork, + options?: WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckOptionalParams + ): Promise; + /** + * Description for Gets all network features used by the app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param view The type of view. Only "summary" is supported at this time. + * @param options The options parameters. + */ + listNetworkFeatures( + resourceGroupName: string, + name: string, + view: string, + options?: WebAppsListNetworkFeaturesOptionalParams + ): Promise; + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param options The options parameters. + */ + getNetworkTraceOperation( + resourceGroupName: string, + name: string, + operationId: string, + options?: WebAppsGetNetworkTraceOperationOptionalParams + ): Promise; + /** + * Description for Start capturing network packets for the site (To be deprecated). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + startWebSiteNetworkTrace( + resourceGroupName: string, + name: string, + options?: WebAppsStartWebSiteNetworkTraceOptionalParams + ): Promise; + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + beginStartWebSiteNetworkTraceOperation( + resourceGroupName: string, + name: string, + options?: WebAppsStartWebSiteNetworkTraceOperationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsStartWebSiteNetworkTraceOperationResponse + > + >; + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + beginStartWebSiteNetworkTraceOperationAndWait( + resourceGroupName: string, + name: string, + options?: WebAppsStartWebSiteNetworkTraceOperationOptionalParams + ): Promise; + /** + * Description for Stop ongoing capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + stopWebSiteNetworkTrace( + resourceGroupName: string, + name: string, + options?: WebAppsStopWebSiteNetworkTraceOptionalParams + ): Promise; + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param options The options parameters. + */ + getNetworkTraces( + resourceGroupName: string, + name: string, + operationId: string, + options?: WebAppsGetNetworkTracesOptionalParams + ): Promise; + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param options The options parameters. + */ + getNetworkTraceOperationV2( + resourceGroupName: string, + name: string, + operationId: string, + options?: WebAppsGetNetworkTraceOperationV2OptionalParams + ): Promise; + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param options The options parameters. + */ + getNetworkTracesV2( + resourceGroupName: string, + name: string, + operationId: string, + options?: WebAppsGetNetworkTracesV2OptionalParams + ): Promise; + /** + * Description for Generates a new publishing password for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + generateNewSitePublishingPassword( + resourceGroupName: string, + name: string, + options?: WebAppsGenerateNewSitePublishingPasswordOptionalParams + ): Promise; + /** + * Description for Gets web app's event logs. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + getSitePhpErrorLogFlag( + resourceGroupName: string, + name: string, + options?: WebAppsGetSitePhpErrorLogFlagOptionalParams + ): Promise; + /** + * Description for Gets the premier add-ons of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listPremierAddOns( + resourceGroupName: string, + name: string, + options?: WebAppsListPremierAddOnsOptionalParams + ): Promise; + /** + * Description for Gets a named add-on of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param options The options parameters. + */ + getPremierAddOn( + resourceGroupName: string, + name: string, + premierAddOnName: string, + options?: WebAppsGetPremierAddOnOptionalParams + ): Promise; + /** + * Description for Updates a named add-on of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param premierAddOn A JSON representation of the edited premier add-on. + * @param options The options parameters. + */ + addPremierAddOn( + resourceGroupName: string, + name: string, + premierAddOnName: string, + premierAddOn: PremierAddOn, + options?: WebAppsAddPremierAddOnOptionalParams + ): Promise; + /** + * Description for Delete a premier add-on from an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param options The options parameters. + */ + deletePremierAddOn( + resourceGroupName: string, + name: string, + premierAddOnName: string, + options?: WebAppsDeletePremierAddOnOptionalParams + ): Promise; + /** + * Description for Updates a named add-on of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param premierAddOn A JSON representation of the edited premier add-on. + * @param options The options parameters. + */ + updatePremierAddOn( + resourceGroupName: string, + name: string, + premierAddOnName: string, + premierAddOn: PremierAddOnPatchResource, + options?: WebAppsUpdatePremierAddOnOptionalParams + ): Promise; + /** + * Description for Gets data around private site access enablement and authorized Virtual Networks that + * can access the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + getPrivateAccess( + resourceGroupName: string, + name: string, + options?: WebAppsGetPrivateAccessOptionalParams + ): Promise; + /** + * Description for Sets data around private site access enablement and authorized Virtual Networks that + * can access the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param access The information for the private access + * @param options The options parameters. + */ + putPrivateAccessVnet( + resourceGroupName: string, + name: string, + access: PrivateAccess, + options?: WebAppsPutPrivateAccessVnetOptionalParams + ): Promise; + /** + * Description for Gets a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + getPrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: WebAppsGetPrivateEndpointConnectionOptionalParams + ): Promise; + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. + */ + beginApproveOrRejectPrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + WebAppsApproveOrRejectPrivateEndpointConnectionResponse + >, + WebAppsApproveOrRejectPrivateEndpointConnectionResponse + > + >; + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. + */ + beginApproveOrRejectPrivateEndpointConnectionAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: WebAppsApproveOrRejectPrivateEndpointConnectionOptionalParams + ): Promise; + /** + * Description for Deletes a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDeletePrivateEndpointConnection( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: WebAppsDeletePrivateEndpointConnectionOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsDeletePrivateEndpointConnectionResponse + > + >; + /** + * Description for Deletes a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDeletePrivateEndpointConnectionAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: WebAppsDeletePrivateEndpointConnectionOptionalParams + ): Promise; + /** + * Description for Gets the private link resources + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param options The options parameters. + */ + getPrivateLinkResources( + resourceGroupName: string, + name: string, + options?: WebAppsGetPrivateLinkResourcesOptionalParams + ): Promise; + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param options The options parameters. + */ + getProcess( + resourceGroupName: string, + name: string, + processId: string, + options?: WebAppsGetProcessOptionalParams + ): Promise; + /** + * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific + * scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param options The options parameters. + */ + deleteProcess( + resourceGroupName: string, + name: string, + processId: string, + options?: WebAppsDeleteProcessOptionalParams + ): Promise; + /** + * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param options The options parameters. + */ + getProcessDump( + resourceGroupName: string, + name: string, + processId: string, + options?: WebAppsGetProcessDumpOptionalParams + ): Promise; + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param baseAddress Module base address. + * @param options The options parameters. + */ + getProcessModule( + resourceGroupName: string, + name: string, + processId: string, + baseAddress: string, + options?: WebAppsGetProcessModuleOptionalParams + ): Promise; + /** + * Description for Get the named public certificate for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param publicCertificateName Public certificate name. + * @param options The options parameters. + */ + getPublicCertificate( + resourceGroupName: string, + name: string, + publicCertificateName: string, + options?: WebAppsGetPublicCertificateOptionalParams + ): Promise; + /** + * Description for Creates a hostname binding for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param publicCertificateName Public certificate name. + * @param publicCertificate Public certificate details. This is the JSON representation of a + * PublicCertificate object. + * @param options The options parameters. + */ + createOrUpdatePublicCertificate( + resourceGroupName: string, + name: string, + publicCertificateName: string, + publicCertificate: PublicCertificate, + options?: WebAppsCreateOrUpdatePublicCertificateOptionalParams + ): Promise; + /** + * Description for Deletes a hostname binding for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param publicCertificateName Public certificate name. + * @param options The options parameters. + */ + deletePublicCertificate( + resourceGroupName: string, + name: string, + publicCertificateName: string, + options?: WebAppsDeletePublicCertificateOptionalParams + ): Promise; + /** + * Description for Gets the publishing profile for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For + * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. + * @param options The options parameters. + */ + listPublishingProfileXmlWithSecrets( + resourceGroupName: string, + name: string, + publishingProfileOptions: CsmPublishingProfileOptions, + options?: WebAppsListPublishingProfileXmlWithSecretsOptionalParams + ): Promise; + /** + * Description for Resets the configuration settings of the current slot if they were previously + * modified by calling the API with POST. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + resetProductionSlotConfig( + resourceGroupName: string, + name: string, + options?: WebAppsResetProductionSlotConfigOptionalParams + ): Promise; + /** + * Description for Restarts an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + restart( + resourceGroupName: string, + name: string, + options?: WebAppsRestartOptionalParams + ): Promise; + /** + * Description for Restores an app from a backup blob in Azure Storage. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param request Information on restore request . + * @param options The options parameters. + */ + beginRestoreFromBackupBlob( + resourceGroupName: string, + name: string, + request: RestoreRequest, + options?: WebAppsRestoreFromBackupBlobOptionalParams + ): Promise, void>>; + /** + * Description for Restores an app from a backup blob in Azure Storage. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param request Information on restore request . + * @param options The options parameters. + */ + beginRestoreFromBackupBlobAndWait( + resourceGroupName: string, + name: string, + request: RestoreRequest, + options?: WebAppsRestoreFromBackupBlobOptionalParams + ): Promise; + /** + * Description for Restores a deleted web app to this web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param restoreRequest Deleted web app restore information. + * @param options The options parameters. + */ + beginRestoreFromDeletedApp( + resourceGroupName: string, + name: string, + restoreRequest: DeletedAppRestoreRequest, + options?: WebAppsRestoreFromDeletedAppOptionalParams + ): Promise, void>>; + /** + * Description for Restores a deleted web app to this web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param restoreRequest Deleted web app restore information. + * @param options The options parameters. + */ + beginRestoreFromDeletedAppAndWait( + resourceGroupName: string, + name: string, + restoreRequest: DeletedAppRestoreRequest, + options?: WebAppsRestoreFromDeletedAppOptionalParams + ): Promise; + /** + * Description for Restores a web app from a snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling + * GetDeletedSites or GetSiteSnapshots API. + * @param options The options parameters. + */ + beginRestoreSnapshot( + resourceGroupName: string, + name: string, + restoreRequest: SnapshotRestoreRequest, + options?: WebAppsRestoreSnapshotOptionalParams + ): Promise, void>>; + /** + * Description for Restores a web app from a snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling + * GetDeletedSites or GetSiteSnapshots API. + * @param options The options parameters. + */ + beginRestoreSnapshotAndWait( + resourceGroupName: string, + name: string, + restoreRequest: SnapshotRestoreRequest, + options?: WebAppsRestoreSnapshotOptionalParams + ): Promise; + /** + * Description for Get site extension information by its ID for a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param options The options parameters. + */ + getSiteExtension( + resourceGroupName: string, + name: string, + siteExtensionId: string, + options?: WebAppsGetSiteExtensionOptionalParams + ): Promise; + /** + * Description for Install site extension on a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param options The options parameters. + */ + beginInstallSiteExtension( + resourceGroupName: string, + name: string, + siteExtensionId: string, + options?: WebAppsInstallSiteExtensionOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsInstallSiteExtensionResponse + > + >; + /** + * Description for Install site extension on a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param options The options parameters. + */ + beginInstallSiteExtensionAndWait( + resourceGroupName: string, + name: string, + siteExtensionId: string, + options?: WebAppsInstallSiteExtensionOptionalParams + ): Promise; + /** + * Description for Remove a site extension from a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param options The options parameters. + */ + deleteSiteExtension( + resourceGroupName: string, + name: string, + siteExtensionId: string, + options?: WebAppsDeleteSiteExtensionOptionalParams + ): Promise; + /** + * Description for Gets the details of a web, mobile, or API app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. By default, this API returns the production slot. + * @param options The options parameters. + */ + getSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetSlotOptionalParams + ): Promise; + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param slot Name of the deployment slot to create or update. By default, this API attempts to create + * or modify the production slot. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateSlot( + resourceGroupName: string, + name: string, + slot: string, + siteEnvelope: Site, + options?: WebAppsCreateOrUpdateSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateOrUpdateSlotResponse + > + >; + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param slot Name of the deployment slot to create or update. By default, this API attempts to create + * or modify the production slot. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + siteEnvelope: Site, + options?: WebAppsCreateOrUpdateSlotOptionalParams + ): Promise; + /** + * Description for Deletes a web, mobile, or API app, or one of the deployment slots. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app to delete. + * @param slot Name of the deployment slot to delete. By default, the API deletes the production slot. + * @param options The options parameters. + */ + deleteSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsDeleteSlotOptionalParams + ): Promise; + /** + * Description for Creates a new web, mobile, or API app in an existing resource group, or updates an + * existing app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Unique name of the app to create or update. To create or update a deployment slot, use + * the {slot} parameter. + * @param slot Name of the deployment slot to create or update. By default, this API attempts to create + * or modify the production slot. + * @param siteEnvelope A JSON representation of the app properties. See example. + * @param options The options parameters. + */ + updateSlot( + resourceGroupName: string, + name: string, + slot: string, + siteEnvelope: SitePatchResource, + options?: WebAppsUpdateSlotOptionalParams + ): Promise; + /** + * Description for Analyze a custom hostname. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + analyzeCustomHostnameSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsAnalyzeCustomHostnameSlotOptionalParams + ): Promise; + /** + * Description for Applies the configuration settings from the target slot onto the current slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + applySlotConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsApplySlotConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Creates a backup of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create a backup + * for the production slot. + * @param request Backup configuration. You can use the JSON response from the POST action as input + * here. + * @param options The options parameters. + */ + backupSlot( + resourceGroupName: string, + name: string, + slot: string, + request: BackupRequest, + options?: WebAppsBackupSlotOptionalParams + ): Promise; + /** + * Description for Gets a backup of an app by its ID. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param backupId ID of the backup. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get a backup of + * the production slot. + * @param options The options parameters. + */ + getBackupStatusSlot( + resourceGroupName: string, + name: string, + backupId: string, + slot: string, + options?: WebAppsGetBackupStatusSlotOptionalParams + ): Promise; + /** + * Description for Deletes a backup of an app by its ID. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param backupId ID of the backup. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a backup of + * the production slot. + * @param options The options parameters. + */ + deleteBackupSlot( + resourceGroupName: string, + name: string, + backupId: string, + slot: string, + options?: WebAppsDeleteBackupSlotOptionalParams + ): Promise; + /** + * Description for Gets status of a web app backup that may be in progress, including secrets + * associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS + * URL for the backup if a new URL is passed in the request body. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param backupId ID of backup. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param request Information on backup request. + * @param options The options parameters. + */ + listBackupStatusSecretsSlot( + resourceGroupName: string, + name: string, + backupId: string, + slot: string, + request: BackupRequest, + options?: WebAppsListBackupStatusSecretsSlotOptionalParams + ): Promise; + /** + * Description for Restores a specific backup to another app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param backupId ID of the backup. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a backup + * of the production slot. + * @param request Information on restore request . + * @param options The options parameters. + */ + beginRestoreSlot( + resourceGroupName: string, + name: string, + backupId: string, + slot: string, + request: RestoreRequest, + options?: WebAppsRestoreSlotOptionalParams + ): Promise, void>>; + /** + * Description for Restores a specific backup to another app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param backupId ID of the backup. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a backup + * of the production slot. + * @param request Information on restore request . + * @param options The options parameters. + */ + beginRestoreSlotAndWait( + resourceGroupName: string, + name: string, + backupId: string, + slot: string, + request: RestoreRequest, + options?: WebAppsRestoreSlotOptionalParams + ): Promise; + /** + * Description for Returns whether FTP is allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param options The options parameters. + */ + getFtpAllowedSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetFtpAllowedSlotOptionalParams + ): Promise; + /** + * Description for Updates whether FTP is allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param csmPublishingAccessPoliciesEntity Publishing Credentials Policies parameters. + * @param options The options parameters. + */ + updateFtpAllowedSlot( + resourceGroupName: string, + name: string, + slot: string, + csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, + options?: WebAppsUpdateFtpAllowedSlotOptionalParams + ): Promise; + /** + * Description for Returns whether Scm basic auth is allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param options The options parameters. + */ + getScmAllowedSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetScmAllowedSlotOptionalParams + ): Promise; + /** + * Description for Updates whether user publishing credentials are allowed on the site or not. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot + * @param csmPublishingAccessPoliciesEntity Publishing Credentials Policies parameters. + * @param options The options parameters. + */ + updateScmAllowedSlot( + resourceGroupName: string, + name: string, + slot: string, + csmPublishingAccessPoliciesEntity: CsmPublishingCredentialsPoliciesEntity, + options?: WebAppsUpdateScmAllowedSlotOptionalParams + ): Promise; + /** + * Description for Replaces the application settings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the + * application settings for the production slot. + * @param appSettings Application settings of the app. + * @param options The options parameters. + */ + updateApplicationSettingsSlot( + resourceGroupName: string, + name: string, + slot: string, + appSettings: StringDictionary, + options?: WebAppsUpdateApplicationSettingsSlotOptionalParams + ): Promise; + /** + * Description for Gets the application settings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the + * application settings for the production slot. + * @param options The options parameters. + */ + listApplicationSettingsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListApplicationSettingsSlotOptionalParams + ): Promise; + /** + * Description for Updates the Authentication / Authorization settings associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param siteAuthSettings Auth settings associated with web app. + * @param options The options parameters. + */ + updateAuthSettingsSlot( + resourceGroupName: string, + name: string, + slot: string, + siteAuthSettings: SiteAuthSettings, + options?: WebAppsUpdateAuthSettingsSlotOptionalParams + ): Promise; + /** + * Description for Gets the Authentication/Authorization settings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the settings + * for the production slot. + * @param options The options parameters. + */ + getAuthSettingsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetAuthSettingsSlotOptionalParams + ): Promise; + /** + * Description for Updates site's Authentication / Authorization settings for apps via the V2 format + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param siteAuthSettingsV2 Auth settings associated with web app. + * @param options The options parameters. + */ + updateAuthSettingsV2Slot( + resourceGroupName: string, + name: string, + slot: string, + siteAuthSettingsV2: SiteAuthSettingsV2, + options?: WebAppsUpdateAuthSettingsV2SlotOptionalParams + ): Promise; + /** + * Description for Gets site's Authentication / Authorization settings for apps via the V2 format + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the settings + * for the production slot. + * @param options The options parameters. + */ + getAuthSettingsV2Slot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetAuthSettingsV2SlotOptionalParams + ): Promise; + /** + * Description for Updates the Azure storage account configurations of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the Azure + * storage account configurations for the production slot. + * @param azureStorageAccounts Azure storage accounts of the app. + * @param options The options parameters. + */ + updateAzureStorageAccountsSlot( + resourceGroupName: string, + name: string, + slot: string, + azureStorageAccounts: AzureStoragePropertyDictionaryResource, + options?: WebAppsUpdateAzureStorageAccountsSlotOptionalParams + ): Promise; + /** + * Description for Gets the Azure storage account configurations of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the Azure + * storage account configurations for the production slot. + * @param options The options parameters. + */ + listAzureStorageAccountsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListAzureStorageAccountsSlotOptionalParams + ): Promise; + /** + * Description for Updates the backup configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the backup + * configuration for the production slot. + * @param request Edited backup configuration. + * @param options The options parameters. + */ + updateBackupConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + request: BackupRequest, + options?: WebAppsUpdateBackupConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Deletes the backup configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the backup + * configuration for the production slot. + * @param options The options parameters. + */ + deleteBackupConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsDeleteBackupConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Gets the backup configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the backup + * configuration for the production slot. + * @param options The options parameters. + */ + getBackupConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetBackupConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Gets the config reference and status of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param appSettingKey App Setting key name. + * @param slot + * @param options The options parameters. + */ + getAppSettingKeyVaultReferenceSlot( + resourceGroupName: string, + name: string, + appSettingKey: string, + slot: string, + options?: WebAppsGetAppSettingKeyVaultReferenceSlotOptionalParams + ): Promise; + /** + * Description for Gets the config reference and status of an app + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param connectionStringKey + * @param slot + * @param options The options parameters. + */ + getSiteConnectionStringKeyVaultReferenceSlot( + resourceGroupName: string, + name: string, + connectionStringKey: string, + slot: string, + options?: WebAppsGetSiteConnectionStringKeyVaultReferenceSlotOptionalParams + ): Promise; + /** + * Description for Replaces the connection strings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the + * connection settings for the production slot. + * @param connectionStrings Connection strings of the app or deployment slot. See example. + * @param options The options parameters. + */ + updateConnectionStringsSlot( + resourceGroupName: string, + name: string, + slot: string, + connectionStrings: ConnectionStringDictionary, + options?: WebAppsUpdateConnectionStringsSlotOptionalParams + ): Promise; + /** + * Description for Gets the connection strings of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the connection + * settings for the production slot. + * @param options The options parameters. + */ + listConnectionStringsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListConnectionStringsSlotOptionalParams + ): Promise; + /** + * Description for Gets the logging configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the logging + * configuration for the production slot. + * @param options The options parameters. + */ + getDiagnosticLogsConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetDiagnosticLogsConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Updates the logging configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the logging + * configuration for the production slot. + * @param siteLogsConfig A SiteLogsConfig JSON object that contains the logging configuration to change + * in the "properties" property. + * @param options The options parameters. + */ + updateDiagnosticLogsConfigSlot( + resourceGroupName: string, + name: string, + slot: string, + siteLogsConfig: SiteLogsConfig, + options?: WebAppsUpdateDiagnosticLogsConfigSlotOptionalParams + ): Promise; + /** + * Description for Replaces the metadata of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the + * metadata for the production slot. + * @param metadata Edited metadata of the app or deployment slot. See example. + * @param options The options parameters. + */ + updateMetadataSlot( + resourceGroupName: string, + name: string, + slot: string, + metadata: StringDictionary, + options?: WebAppsUpdateMetadataSlotOptionalParams + ): Promise; + /** + * Description for Gets the metadata of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the metadata + * for the production slot. + * @param options The options parameters. + */ + listMetadataSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListMetadataSlotOptionalParams + ): Promise; + /** + * Description for Gets the Git/FTP publishing credentials of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the publishing + * credentials for the production slot. + * @param options The options parameters. + */ + beginListPublishingCredentialsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListPublishingCredentialsSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsListPublishingCredentialsSlotResponse + > + >; + /** + * Description for Gets the Git/FTP publishing credentials of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the publishing + * credentials for the production slot. + * @param options The options parameters. + */ + beginListPublishingCredentialsSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListPublishingCredentialsSlotOptionalParams + ): Promise; + /** + * Description for Updates the Push settings associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param pushSettings Push settings associated with web app. + * @param options The options parameters. + */ + updateSitePushSettingsSlot( + resourceGroupName: string, + name: string, + slot: string, + pushSettings: PushSettings, + options?: WebAppsUpdateSitePushSettingsSlotOptionalParams + ): Promise; + /** + * Description for Gets the Push settings associated with web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + listSitePushSettingsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListSitePushSettingsSlotOptionalParams + ): Promise; + /** + * Description for Gets the configuration of an app, such as platform version and bitness, default + * documents, virtual applications, Always On, etc. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. + */ + getConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Updates the configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update + * configuration for the production slot. + * @param siteConfig JSON representation of a SiteConfig object. See example. + * @param options The options parameters. + */ + createOrUpdateConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + siteConfig: SiteConfigResource, + options?: WebAppsCreateOrUpdateConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Updates the configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update + * configuration for the production slot. + * @param siteConfig JSON representation of a SiteConfig object. See example. + * @param options The options parameters. + */ + updateConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + siteConfig: SiteConfigResource, + options?: WebAppsUpdateConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Gets a snapshot of the configuration of an app at a previous point in time. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param snapshotId The ID of the snapshot to read. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. + */ + getConfigurationSnapshotSlot( + resourceGroupName: string, + name: string, + snapshotId: string, + slot: string, + options?: WebAppsGetConfigurationSnapshotSlotOptionalParams + ): Promise; + /** + * Description for Reverts the configuration of an app to a previous snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param snapshotId The ID of the snapshot to read. + * @param slot Name of the deployment slot. If a slot is not specified, the API will return + * configuration for the production slot. + * @param options The options parameters. + */ + recoverSiteConfigurationSnapshotSlot( + resourceGroupName: string, + name: string, + snapshotId: string, + slot: string, + options?: WebAppsRecoverSiteConfigurationSnapshotSlotOptionalParams + ): Promise; + /** + * Description for Gets the last lines of docker logs for the given site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + getWebSiteContainerLogsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetWebSiteContainerLogsSlotOptionalParams + ): Promise; + /** + * Description for Gets the ZIP archived docker log files for the given site + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + getContainerLogsZipSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetContainerLogsZipSlotOptionalParams + ): Promise; + /** + * Description for Gets a continuous web job by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. + */ + getContinuousWebJobSlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsGetContinuousWebJobSlotOptionalParams + ): Promise; + /** + * Description for Delete a continuous web job by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. + */ + deleteContinuousWebJobSlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsDeleteContinuousWebJobSlotOptionalParams + ): Promise; + /** + * Description for Start a continuous web job for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. + */ + startContinuousWebJobSlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsStartContinuousWebJobSlotOptionalParams + ): Promise; + /** + * Description for Stop a continuous web job for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. + */ + stopContinuousWebJobSlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsStopContinuousWebJobSlotOptionalParams + ): Promise; + /** + * Description for Get a deployment by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param id Deployment ID. + * @param slot Name of the deployment slot. If a slot is not specified, the API gets a deployment for + * the production slot. + * @param options The options parameters. + */ + getDeploymentSlot( + resourceGroupName: string, + name: string, + id: string, + slot: string, + options?: WebAppsGetDeploymentSlotOptionalParams + ): Promise; + /** + * Description for Create a deployment for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param id ID of an existing deployment. + * @param slot Name of the deployment slot. If a slot is not specified, the API creates a deployment + * for the production slot. + * @param deployment Deployment details. + * @param options The options parameters. + */ + createDeploymentSlot( + resourceGroupName: string, + name: string, + id: string, + slot: string, + deployment: Deployment, + options?: WebAppsCreateDeploymentSlotOptionalParams + ): Promise; + /** + * Description for Delete a deployment by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param id Deployment ID. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. + */ + deleteDeploymentSlot( + resourceGroupName: string, + name: string, + id: string, + slot: string, + options?: WebAppsDeleteDeploymentSlotOptionalParams + ): Promise; + /** + * Description for List deployment log for specific deployment for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param id The ID of a specific deployment. This is the value of the name property in the JSON + * response from "GET /api/sites/{siteName}/deployments". + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + listDeploymentLogSlot( + resourceGroupName: string, + name: string, + id: string, + slot: string, + options?: WebAppsListDeploymentLogSlotOptionalParams + ): Promise; + /** + * Description for Discovers an existing app backup that can be restored from a blob in Azure storage. + * Use this to get information about the databases stored in a backup. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will perform discovery + * for the production slot. + * @param request A RestoreRequest object that includes Azure storage URL and blog name for discovery + * of backup. + * @param options The options parameters. + */ + discoverBackupSlot( + resourceGroupName: string, + name: string, + slot: string, + request: RestoreRequest, + options?: WebAppsDiscoverBackupSlotOptionalParams + ): Promise; + /** + * Description for Get domain ownership identifier for web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param options The options parameters. + */ + getDomainOwnershipIdentifierSlot( + resourceGroupName: string, + name: string, + domainOwnershipIdentifierName: string, + slot: string, + options?: WebAppsGetDomainOwnershipIdentifierSlotOptionalParams + ): Promise; + /** + * Description for Creates a domain ownership identifier for web app, or updates an existing ownership + * identifier. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. + */ + createOrUpdateDomainOwnershipIdentifierSlot( + resourceGroupName: string, + name: string, + domainOwnershipIdentifierName: string, + slot: string, + domainOwnershipIdentifier: Identifier, + options?: WebAppsCreateOrUpdateDomainOwnershipIdentifierSlotOptionalParams + ): Promise; + /** + * Description for Deletes a domain ownership identifier for a web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param options The options parameters. + */ + deleteDomainOwnershipIdentifierSlot( + resourceGroupName: string, + name: string, + domainOwnershipIdentifierName: string, + slot: string, + options?: WebAppsDeleteDomainOwnershipIdentifierSlotOptionalParams + ): Promise; + /** + * Description for Creates a domain ownership identifier for web app, or updates an existing ownership + * identifier. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param domainOwnershipIdentifierName Name of domain ownership identifier. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param domainOwnershipIdentifier A JSON representation of the domain ownership properties. + * @param options The options parameters. + */ + updateDomainOwnershipIdentifierSlot( + resourceGroupName: string, + name: string, + domainOwnershipIdentifierName: string, + slot: string, + domainOwnershipIdentifier: Identifier, + options?: WebAppsUpdateDomainOwnershipIdentifierSlotOptionalParams + ): Promise; + /** + * Description for Get the status of the last MSDeploy operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + getMSDeployStatusSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetMSDeployStatusSlotOptionalParams + ): Promise; + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + beginCreateMSDeployOperationSlot( + resourceGroupName: string, + name: string, + slot: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateMSDeployOperationSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateMSDeployOperationSlotResponse + > + >; + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + beginCreateMSDeployOperationSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateMSDeployOperationSlotOptionalParams + ): Promise; + /** + * Description for Get the MSDeploy Log for the last MSDeploy operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + getMSDeployLogSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetMSDeployLogSlotOptionalParams + ): Promise; + /** + * Description for Fetch a short lived token that can be exchanged for a master key. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + getFunctionsAdminTokenSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetFunctionsAdminTokenSlotOptionalParams + ): Promise; + /** + * Description for Get function information by its ID for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + getInstanceFunctionSlot( + resourceGroupName: string, + name: string, + functionName: string, + slot: string, + options?: WebAppsGetInstanceFunctionSlotOptionalParams + ): Promise; + /** + * Description for Create function for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param functionEnvelope Function details. + * @param options The options parameters. + */ + beginCreateInstanceFunctionSlot( + resourceGroupName: string, + name: string, + functionName: string, + slot: string, + functionEnvelope: FunctionEnvelope, + options?: WebAppsCreateInstanceFunctionSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateInstanceFunctionSlotResponse + > + >; + /** + * Description for Create function for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param functionEnvelope Function details. + * @param options The options parameters. + */ + beginCreateInstanceFunctionSlotAndWait( + resourceGroupName: string, + name: string, + functionName: string, + slot: string, + functionEnvelope: FunctionEnvelope, + options?: WebAppsCreateInstanceFunctionSlotOptionalParams + ): Promise; + /** + * Description for Delete a function for web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + deleteInstanceFunctionSlot( + resourceGroupName: string, + name: string, + functionName: string, + slot: string, + options?: WebAppsDeleteInstanceFunctionSlotOptionalParams + ): Promise; + /** + * Description for Add or update a function secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName The name of the function. + * @param keyName The name of the key. + * @param slot Name of the deployment slot. + * @param key The key to create or update + * @param options The options parameters. + */ + createOrUpdateFunctionSecretSlot( + resourceGroupName: string, + name: string, + functionName: string, + keyName: string, + slot: string, + key: KeyInfo, + options?: WebAppsCreateOrUpdateFunctionSecretSlotOptionalParams + ): Promise; + /** + * Description for Delete a function secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName The name of the function. + * @param keyName The name of the key. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + deleteFunctionSecretSlot( + resourceGroupName: string, + name: string, + functionName: string, + keyName: string, + slot: string, + options?: WebAppsDeleteFunctionSecretSlotOptionalParams + ): Promise; + /** + * Description for Get function keys for a function in a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + listFunctionKeysSlot( + resourceGroupName: string, + name: string, + functionName: string, + slot: string, + options?: WebAppsListFunctionKeysSlotOptionalParams + ): Promise; + /** + * Description for Get function secrets for a function in a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param functionName Function name. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + listFunctionSecretsSlot( + resourceGroupName: string, + name: string, + functionName: string, + slot: string, + options?: WebAppsListFunctionSecretsSlotOptionalParams + ): Promise; + /** + * Description for Get host secrets for a function app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + listHostKeysSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListHostKeysSlotOptionalParams + ): Promise; + /** + * Description for This is to allow calling via powershell and ARM template. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + listSyncStatusSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListSyncStatusSlotOptionalParams + ): Promise; + /** + * Description for Syncs function trigger metadata to the management database + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + syncFunctionsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsSyncFunctionsSlotOptionalParams + ): Promise; + /** + * Description for Add or update a host level secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param keyType The type of host key. + * @param keyName The name of the key. + * @param slot Name of the deployment slot. + * @param key The key to create or update + * @param options The options parameters. + */ + createOrUpdateHostSecretSlot( + resourceGroupName: string, + name: string, + keyType: string, + keyName: string, + slot: string, + key: KeyInfo, + options?: WebAppsCreateOrUpdateHostSecretSlotOptionalParams + ): Promise; + /** + * Description for Delete a host level secret. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param keyType The type of host key. + * @param keyName The name of the key. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + deleteHostSecretSlot( + resourceGroupName: string, + name: string, + keyType: string, + keyName: string, + slot: string, + options?: WebAppsDeleteHostSecretSlotOptionalParams + ): Promise; + /** + * Description for Get the named hostname binding for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding for + * the production slot. + * @param hostName Hostname in the hostname binding. + * @param options The options parameters. + */ + getHostNameBindingSlot( + resourceGroupName: string, + name: string, + slot: string, + hostName: string, + options?: WebAppsGetHostNameBindingSlotOptionalParams + ): Promise; + /** + * Description for Creates a hostname binding for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param hostName Hostname in the hostname binding. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create a binding + * for the production slot. + * @param hostNameBinding Binding details. This is the JSON representation of a HostNameBinding object. + * @param options The options parameters. + */ + createOrUpdateHostNameBindingSlot( + resourceGroupName: string, + name: string, + hostName: string, + slot: string, + hostNameBinding: HostNameBinding, + options?: WebAppsCreateOrUpdateHostNameBindingSlotOptionalParams + ): Promise; + /** + * Description for Deletes a hostname binding for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param hostName Hostname in the hostname binding. + * @param options The options parameters. + */ + deleteHostNameBindingSlot( + resourceGroupName: string, + name: string, + slot: string, + hostName: string, + options?: WebAppsDeleteHostNameBindingSlotOptionalParams + ): Promise; + /** + * Description for Retrieves a specific Service Bus Hybrid Connection used by this Web App. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param slot The name of the slot for the web app. + * @param options The options parameters. + */ + getHybridConnectionSlot( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + slot: string, + options?: WebAppsGetHybridConnectionSlotOptionalParams + ): Promise; + /** + * Description for Creates a new Hybrid Connection using a Service Bus relay. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param slot The name of the slot for the web app. + * @param connectionEnvelope The details of the hybrid connection. + * @param options The options parameters. + */ + createOrUpdateHybridConnectionSlot( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + slot: string, + connectionEnvelope: HybridConnection, + options?: WebAppsCreateOrUpdateHybridConnectionSlotOptionalParams + ): Promise; + /** + * Description for Removes a Hybrid Connection from this site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param slot The name of the slot for the web app. + * @param options The options parameters. + */ + deleteHybridConnectionSlot( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + slot: string, + options?: WebAppsDeleteHybridConnectionSlotOptionalParams + ): Promise; + /** + * Description for Creates a new Hybrid Connection using a Service Bus relay. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param namespaceName The namespace for this hybrid connection. + * @param relayName The relay name for this hybrid connection. + * @param slot The name of the slot for the web app. + * @param connectionEnvelope The details of the hybrid connection. + * @param options The options parameters. + */ + updateHybridConnectionSlot( + resourceGroupName: string, + name: string, + namespaceName: string, + relayName: string, + slot: string, + connectionEnvelope: HybridConnection, + options?: WebAppsUpdateHybridConnectionSlotOptionalParams + ): Promise; + /** + * Description for Retrieves all Service Bus Hybrid Connections used by this Web App. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for the web app. + * @param options The options parameters. + */ + listHybridConnectionsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListHybridConnectionsSlotOptionalParams + ): Promise; + /** + * Description for Gets hybrid connections configured for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get hybrid + * connections for the production slot. + * @param options The options parameters. + */ + listRelayServiceConnectionsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListRelayServiceConnectionsSlotOptionalParams + ): Promise; + /** + * Description for Gets a hybrid connection configuration by its name. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param entityName Name of the hybrid connection. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get a hybrid + * connection for the production slot. + * @param options The options parameters. + */ + getRelayServiceConnectionSlot( + resourceGroupName: string, + name: string, + entityName: string, + slot: string, + options?: WebAppsGetRelayServiceConnectionSlotOptionalParams + ): Promise; + /** + * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one + * (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param entityName Name of the hybrid connection configuration. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create or update a + * hybrid connection for the production slot. + * @param connectionEnvelope Details of the hybrid connection configuration. + * @param options The options parameters. + */ + createOrUpdateRelayServiceConnectionSlot( + resourceGroupName: string, + name: string, + entityName: string, + slot: string, + connectionEnvelope: RelayServiceConnectionEntity, + options?: WebAppsCreateOrUpdateRelayServiceConnectionSlotOptionalParams + ): Promise; + /** + * Description for Deletes a relay service connection by its name. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param entityName Name of the hybrid connection configuration. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete a hybrid + * connection for the production slot. + * @param options The options parameters. + */ + deleteRelayServiceConnectionSlot( + resourceGroupName: string, + name: string, + entityName: string, + slot: string, + options?: WebAppsDeleteRelayServiceConnectionSlotOptionalParams + ): Promise; + /** + * Description for Creates a new hybrid connection configuration (PUT), or updates an existing one + * (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param entityName Name of the hybrid connection configuration. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create or update a + * hybrid connection for the production slot. + * @param connectionEnvelope Details of the hybrid connection configuration. + * @param options The options parameters. + */ + updateRelayServiceConnectionSlot( + resourceGroupName: string, + name: string, + entityName: string, + slot: string, + connectionEnvelope: RelayServiceConnectionEntity, + options?: WebAppsUpdateRelayServiceConnectionSlotOptionalParams + ): Promise; + /** + * Description for Gets all scale-out instances of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param instanceId + * @param slot Name of the deployment slot. If a slot is not specified, the API gets the production + * slot instances. + * @param options The options parameters. + */ + getInstanceInfoSlot( + resourceGroupName: string, + name: string, + instanceId: string, + slot: string, + options?: WebAppsGetInstanceInfoSlotOptionalParams + ): Promise; + /** + * Description for Get the status of the last MSDeploy operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param instanceId ID of web app instance. + * @param options The options parameters. + */ + getInstanceMsDeployStatusSlot( + resourceGroupName: string, + name: string, + slot: string, + instanceId: string, + options?: WebAppsGetInstanceMsDeployStatusSlotOptionalParams + ): Promise; + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param instanceId ID of web app instance. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + beginCreateInstanceMSDeployOperationSlot( + resourceGroupName: string, + name: string, + slot: string, + instanceId: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateInstanceMSDeployOperationSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateInstanceMSDeployOperationSlotResponse + > + >; + /** + * Description for Invoke the MSDeploy web app extension. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param instanceId ID of web app instance. + * @param mSDeploy Details of MSDeploy operation + * @param options The options parameters. + */ + beginCreateInstanceMSDeployOperationSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + instanceId: string, + mSDeploy: MSDeploy, + options?: WebAppsCreateInstanceMSDeployOperationSlotOptionalParams + ): Promise; + /** + * Description for Get the MSDeploy Log for the last MSDeploy operation. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param instanceId ID of web app instance. + * @param options The options parameters. + */ + getInstanceMSDeployLogSlot( + resourceGroupName: string, + name: string, + slot: string, + instanceId: string, + options?: WebAppsGetInstanceMSDeployLogSlotOptionalParams + ): Promise; + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + getInstanceProcessSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + instanceId: string, + options?: WebAppsGetInstanceProcessSlotOptionalParams + ): Promise; + /** + * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific + * scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + deleteInstanceProcessSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + instanceId: string, + options?: WebAppsDeleteInstanceProcessSlotOptionalParams + ): Promise; + /** + * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + getInstanceProcessDumpSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + instanceId: string, + options?: WebAppsGetInstanceProcessDumpSlotOptionalParams + ): Promise; + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param baseAddress Module base address. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param instanceId ID of a specific scaled-out instance. This is the value of the name property in + * the JSON response from "GET api/sites/{siteName}/instances". + * @param options The options parameters. + */ + getInstanceProcessModuleSlot( + resourceGroupName: string, + name: string, + processId: string, + baseAddress: string, + slot: string, + instanceId: string, + options?: WebAppsGetInstanceProcessModuleSlotOptionalParams + ): Promise; + /** + * Description for Shows whether an app can be cloned to another resource group or subscription. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. By default, this API returns information on the production + * slot. + * @param options The options parameters. + */ + isCloneableSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsIsCloneableSlotOptionalParams + ): Promise; + /** + * Description for This is to allow calling via powershell and ARM template. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + listSyncFunctionTriggersSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListSyncFunctionTriggersSlotOptionalParams + ): Promise; + /** + * Description for Returns the status of MySql in app migration, if one is active, and whether or not + * MySql in app is enabled + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + getMigrateMySqlStatusSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetMigrateMySqlStatusSlotOptionalParams + ): Promise; + /** + * Description for Gets a Swift Virtual Network connection. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway for + * the production slot's Virtual Network. + * @param options The options parameters. + */ + getSwiftVirtualNetworkConnectionSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetSwiftVirtualNetworkConnectionSlotOptionalParams + ): Promise; + /** + * Description for Integrates this Web App with a Virtual Network. This requires that 1) + * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has + * already been delegated, and is not + * in use by another App Service Plan other than the one this App is in. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update + * connections for the production slot. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. + */ + createOrUpdateSwiftVirtualNetworkConnectionWithCheckSlot( + resourceGroupName: string, + name: string, + slot: string, + connectionEnvelope: SwiftVirtualNetwork, + options?: WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams + ): Promise< + WebAppsCreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotResponse + >; + /** + * Description for Deletes a Swift Virtual Network connection from an app (or deployment slot). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the + * connection for the production slot. + * @param options The options parameters. + */ + deleteSwiftVirtualNetworkSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsDeleteSwiftVirtualNetworkSlotOptionalParams + ): Promise; + /** + * Description for Integrates this Web App with a Virtual Network. This requires that 1) + * "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has + * already been delegated, and is not + * in use by another App Service Plan other than the one this App is in. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update + * connections for the production slot. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. + */ + updateSwiftVirtualNetworkConnectionWithCheckSlot( + resourceGroupName: string, + name: string, + slot: string, + connectionEnvelope: SwiftVirtualNetwork, + options?: WebAppsUpdateSwiftVirtualNetworkConnectionWithCheckSlotOptionalParams + ): Promise; + /** + * Description for Gets all network features used by the app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param view The type of view. Only "summary" is supported at this time. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get network + * features for the production slot. + * @param options The options parameters. + */ + listNetworkFeaturesSlot( + resourceGroupName: string, + name: string, + view: string, + slot: string, + options?: WebAppsListNetworkFeaturesSlotOptionalParams + ): Promise; + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get an operation + * for the production slot. + * @param options The options parameters. + */ + getNetworkTraceOperationSlot( + resourceGroupName: string, + name: string, + operationId: string, + slot: string, + options?: WebAppsGetNetworkTraceOperationSlotOptionalParams + ): Promise; + /** + * Description for Start capturing network packets for the site (To be deprecated). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + startWebSiteNetworkTraceSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStartWebSiteNetworkTraceSlotOptionalParams + ): Promise; + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + beginStartWebSiteNetworkTraceOperationSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsStartWebSiteNetworkTraceOperationSlotResponse + > + >; + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + beginStartWebSiteNetworkTraceOperationSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStartWebSiteNetworkTraceOperationSlotOptionalParams + ): Promise; + /** + * Description for Stop ongoing capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + stopWebSiteNetworkTraceSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStopWebSiteNetworkTraceSlotOptionalParams + ): Promise; + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get an operation + * for the production slot. + * @param options The options parameters. + */ + getNetworkTracesSlot( + resourceGroupName: string, + name: string, + operationId: string, + slot: string, + options?: WebAppsGetNetworkTracesSlotOptionalParams + ): Promise; + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get an operation + * for the production slot. + * @param options The options parameters. + */ + getNetworkTraceOperationSlotV2( + resourceGroupName: string, + name: string, + operationId: string, + slot: string, + options?: WebAppsGetNetworkTraceOperationSlotV2OptionalParams + ): Promise; + /** + * Description for Gets a named operation for a network trace capturing (or deployment slot, if + * specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param operationId GUID of the operation. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get an operation + * for the production slot. + * @param options The options parameters. + */ + getNetworkTracesSlotV2( + resourceGroupName: string, + name: string, + operationId: string, + slot: string, + options?: WebAppsGetNetworkTracesSlotV2OptionalParams + ): Promise; + /** + * Description for Generates a new publishing password for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API generate a new + * publishing password for the production slot. + * @param options The options parameters. + */ + generateNewSitePublishingPasswordSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGenerateNewSitePublishingPasswordSlotOptionalParams + ): Promise; + /** + * Description for Gets web app's event logs. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + getSitePhpErrorLogFlagSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetSitePhpErrorLogFlagSlotOptionalParams + ): Promise; + /** + * Description for Gets the premier add-ons of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the premier + * add-ons for the production slot. + * @param options The options parameters. + */ + listPremierAddOnsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListPremierAddOnsSlotOptionalParams + ): Promise; + /** + * Description for Gets a named add-on of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named + * add-on for the production slot. + * @param options The options parameters. + */ + getPremierAddOnSlot( + resourceGroupName: string, + name: string, + premierAddOnName: string, + slot: string, + options?: WebAppsGetPremierAddOnSlotOptionalParams + ): Promise; + /** + * Description for Updates a named add-on of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the named + * add-on for the production slot. + * @param premierAddOn A JSON representation of the edited premier add-on. + * @param options The options parameters. + */ + addPremierAddOnSlot( + resourceGroupName: string, + name: string, + premierAddOnName: string, + slot: string, + premierAddOn: PremierAddOn, + options?: WebAppsAddPremierAddOnSlotOptionalParams + ): Promise; + /** + * Description for Delete a premier add-on from an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the named + * add-on for the production slot. + * @param options The options parameters. + */ + deletePremierAddOnSlot( + resourceGroupName: string, + name: string, + premierAddOnName: string, + slot: string, + options?: WebAppsDeletePremierAddOnSlotOptionalParams + ): Promise; + /** + * Description for Updates a named add-on of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param premierAddOnName Add-on name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the named + * add-on for the production slot. + * @param premierAddOn A JSON representation of the edited premier add-on. + * @param options The options parameters. + */ + updatePremierAddOnSlot( + resourceGroupName: string, + name: string, + premierAddOnName: string, + slot: string, + premierAddOn: PremierAddOnPatchResource, + options?: WebAppsUpdatePremierAddOnSlotOptionalParams + ): Promise; + /** + * Description for Gets data around private site access enablement and authorized Virtual Networks that + * can access the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for the web app. + * @param options The options parameters. + */ + getPrivateAccessSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetPrivateAccessSlotOptionalParams + ): Promise; + /** + * Description for Sets data around private site access enablement and authorized Virtual Networks that + * can access the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for the web app. + * @param access The information for the private access + * @param options The options parameters. + */ + putPrivateAccessVnetSlot( + resourceGroupName: string, + name: string, + slot: string, + access: PrivateAccess, + options?: WebAppsPutPrivateAccessVnetSlotOptionalParams + ): Promise; + /** + * Description for Gets a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param slot Name of the site deployment slot. + * @param options The options parameters. + */ + getPrivateEndpointConnectionSlot( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + slot: string, + options?: WebAppsGetPrivateEndpointConnectionSlotOptionalParams + ): Promise; + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param slot + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. + */ + beginApproveOrRejectPrivateEndpointConnectionSlot( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + slot: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState< + WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse + >, + WebAppsApproveOrRejectPrivateEndpointConnectionSlotResponse + > + >; + /** + * Description for Approves or rejects a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param slot + * @param privateEndpointWrapper Private Endpoint Connection Approval ARM resource. + * @param options The options parameters. + */ + beginApproveOrRejectPrivateEndpointConnectionSlotAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + slot: string, + privateEndpointWrapper: PrivateLinkConnectionApprovalRequestResource, + options?: WebAppsApproveOrRejectPrivateEndpointConnectionSlotOptionalParams + ): Promise; + /** + * Description for Deletes a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param slot + * @param options The options parameters. + */ + beginDeletePrivateEndpointConnectionSlot( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + slot: string, + options?: WebAppsDeletePrivateEndpointConnectionSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsDeletePrivateEndpointConnectionSlotResponse + > + >; + /** + * Description for Deletes a private endpoint connection + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param privateEndpointConnectionName + * @param slot + * @param options The options parameters. + */ + beginDeletePrivateEndpointConnectionSlotAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + slot: string, + options?: WebAppsDeletePrivateEndpointConnectionSlotOptionalParams + ): Promise; + /** + * Description for Gets the private link resources + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the site. + * @param slot + * @param options The options parameters. + */ + getPrivateLinkResourcesSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetPrivateLinkResourcesSlotOptionalParams + ): Promise; + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + getProcessSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + options?: WebAppsGetProcessSlotOptionalParams + ): Promise; + /** + * Description for Terminate a process by its ID for a web site, or a deployment slot, or specific + * scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + deleteProcessSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + options?: WebAppsDeleteProcessSlotOptionalParams + ): Promise; + /** + * Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web + * site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + getProcessDumpSlot( + resourceGroupName: string, + name: string, + processId: string, + slot: string, + options?: WebAppsGetProcessDumpSlotOptionalParams + ): Promise; + /** + * Description for Get process information by its ID for a specific scaled-out instance in a web site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param processId PID. + * @param baseAddress Module base address. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + getProcessModuleSlot( + resourceGroupName: string, + name: string, + processId: string, + baseAddress: string, + slot: string, + options?: WebAppsGetProcessModuleSlotOptionalParams + ): Promise; + /** + * Description for Get the named public certificate for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API the named binding for + * the production slot. + * @param publicCertificateName Public certificate name. + * @param options The options parameters. + */ + getPublicCertificateSlot( + resourceGroupName: string, + name: string, + slot: string, + publicCertificateName: string, + options?: WebAppsGetPublicCertificateSlotOptionalParams + ): Promise; + /** + * Description for Creates a hostname binding for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param publicCertificateName Public certificate name. + * @param slot Name of the deployment slot. If a slot is not specified, the API will create a binding + * for the production slot. + * @param publicCertificate Public certificate details. This is the JSON representation of a + * PublicCertificate object. + * @param options The options parameters. + */ + createOrUpdatePublicCertificateSlot( + resourceGroupName: string, + name: string, + publicCertificateName: string, + slot: string, + publicCertificate: PublicCertificate, + options?: WebAppsCreateOrUpdatePublicCertificateSlotOptionalParams + ): Promise; + /** + * Description for Deletes a hostname binding for an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the binding + * for the production slot. + * @param publicCertificateName Public certificate name. + * @param options The options parameters. + */ + deletePublicCertificateSlot( + resourceGroupName: string, + name: string, + slot: string, + publicCertificateName: string, + options?: WebAppsDeletePublicCertificateSlotOptionalParams + ): Promise; + /** + * Description for Gets the publishing profile for an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the publishing + * profile for the production slot. + * @param publishingProfileOptions Specifies publishingProfileOptions for publishing profile. For + * example, use {"format": "FileZilla3"} to get a FileZilla publishing profile. + * @param options The options parameters. + */ + listPublishingProfileXmlWithSecretsSlot( + resourceGroupName: string, + name: string, + slot: string, + publishingProfileOptions: CsmPublishingProfileOptions, + options?: WebAppsListPublishingProfileXmlWithSecretsSlotOptionalParams + ): Promise; + /** + * Description for Resets the configuration settings of the current slot if they were previously + * modified by calling the API with POST. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API resets configuration + * settings for the production slot. + * @param options The options parameters. + */ + resetSlotConfigurationSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsResetSlotConfigurationSlotOptionalParams + ): Promise; + /** + * Description for Restarts an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restart the + * production slot. + * @param options The options parameters. + */ + restartSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsRestartSlotOptionalParams + ): Promise; + /** + * Description for Restores an app from a backup blob in Azure Storage. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a backup + * of the production slot. + * @param request Information on restore request . + * @param options The options parameters. + */ + beginRestoreFromBackupBlobSlot( + resourceGroupName: string, + name: string, + slot: string, + request: RestoreRequest, + options?: WebAppsRestoreFromBackupBlobSlotOptionalParams + ): Promise, void>>; + /** + * Description for Restores an app from a backup blob in Azure Storage. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will restore a backup + * of the production slot. + * @param request Information on restore request . + * @param options The options parameters. + */ + beginRestoreFromBackupBlobSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + request: RestoreRequest, + options?: WebAppsRestoreFromBackupBlobSlotOptionalParams + ): Promise; + /** + * Description for Restores a deleted web app to this web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param restoreRequest Deleted web app restore information. + * @param options The options parameters. + */ + beginRestoreFromDeletedAppSlot( + resourceGroupName: string, + name: string, + slot: string, + restoreRequest: DeletedAppRestoreRequest, + options?: WebAppsRestoreFromDeletedAppSlotOptionalParams + ): Promise, void>>; + /** + * Description for Restores a deleted web app to this web app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param restoreRequest Deleted web app restore information. + * @param options The options parameters. + */ + beginRestoreFromDeletedAppSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + restoreRequest: DeletedAppRestoreRequest, + options?: WebAppsRestoreFromDeletedAppSlotOptionalParams + ): Promise; + /** + * Description for Restores a web app from a snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling + * GetDeletedSites or GetSiteSnapshots API. + * @param options The options parameters. + */ + beginRestoreSnapshotSlot( + resourceGroupName: string, + name: string, + slot: string, + restoreRequest: SnapshotRestoreRequest, + options?: WebAppsRestoreSnapshotSlotOptionalParams + ): Promise, void>>; + /** + * Description for Restores a web app from a snapshot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param restoreRequest Snapshot restore settings. Snapshot information can be obtained by calling + * GetDeletedSites or GetSiteSnapshots API. + * @param options The options parameters. + */ + beginRestoreSnapshotSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + restoreRequest: SnapshotRestoreRequest, + options?: WebAppsRestoreSnapshotSlotOptionalParams + ): Promise; + /** + * Description for Get site extension information by its ID for a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. + */ + getSiteExtensionSlot( + resourceGroupName: string, + name: string, + siteExtensionId: string, + slot: string, + options?: WebAppsGetSiteExtensionSlotOptionalParams + ): Promise; + /** + * Description for Install site extension on a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. + */ + beginInstallSiteExtensionSlot( + resourceGroupName: string, + name: string, + siteExtensionId: string, + slot: string, + options?: WebAppsInstallSiteExtensionSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsInstallSiteExtensionSlotResponse + > + >; + /** + * Description for Install site extension on a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. + */ + beginInstallSiteExtensionSlotAndWait( + resourceGroupName: string, + name: string, + siteExtensionId: string, + slot: string, + options?: WebAppsInstallSiteExtensionSlotOptionalParams + ): Promise; + /** + * Description for Remove a site extension from a web site, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param siteExtensionId Site extension name. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes a deployment + * for the production slot. + * @param options The options parameters. + */ + deleteSiteExtensionSlot( + resourceGroupName: string, + name: string, + siteExtensionId: string, + slot: string, + options?: WebAppsDeleteSiteExtensionSlotOptionalParams + ): Promise; + /** + * Description for Swaps two deployment slots of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + beginSwapSlot( + resourceGroupName: string, + name: string, + slot: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsSwapSlotOptionalParams + ): Promise, void>>; + /** + * Description for Swaps two deployment slots of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the source slot. If a slot is not specified, the production slot is used as the + * source slot. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + beginSwapSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsSwapSlotOptionalParams + ): Promise; + /** + * Description for Gets the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the source + * control configuration for the production slot. + * @param options The options parameters. + */ + getSourceControlSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsGetSourceControlSlotOptionalParams + ): Promise; + /** + * Description for Updates the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the source + * control configuration for the production slot. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateSourceControlSlot( + resourceGroupName: string, + name: string, + slot: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsCreateOrUpdateSourceControlSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateOrUpdateSourceControlSlotResponse + > + >; + /** + * Description for Updates the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the source + * control configuration for the production slot. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateSourceControlSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsCreateOrUpdateSourceControlSlotOptionalParams + ): Promise; + /** + * Description for Deletes the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the source + * control configuration for the production slot. + * @param options The options parameters. + */ + deleteSourceControlSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsDeleteSourceControlSlotOptionalParams + ): Promise; + /** + * Description for Updates the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will update the source + * control configuration for the production slot. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. + */ + updateSourceControlSlot( + resourceGroupName: string, + name: string, + slot: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsUpdateSourceControlSlotOptionalParams + ): Promise; + /** + * Description for Starts an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will start the + * production slot. + * @param options The options parameters. + */ + startSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStartSlotOptionalParams + ): Promise; + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + beginStartNetworkTraceSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStartNetworkTraceSlotOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsStartNetworkTraceSlotResponse + > + >; + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + beginStartNetworkTraceSlotAndWait( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStartNetworkTraceSlotOptionalParams + ): Promise; + /** + * Description for Stops an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will stop the + * production slot. + * @param options The options parameters. + */ + stopSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStopSlotOptionalParams + ): Promise; + /** + * Description for Stop ongoing capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param slot The name of the slot for this web app. + * @param options The options parameters. + */ + stopNetworkTraceSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsStopNetworkTraceSlotOptionalParams + ): Promise; + /** + * Description for Sync web app repository. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param slot Name of web app slot. If not specified then will default to production slot. + * @param options The options parameters. + */ + syncRepositorySlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsSyncRepositorySlotOptionalParams + ): Promise; + /** + * Description for Syncs function trigger metadata to the management database + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. + * @param options The options parameters. + */ + syncFunctionTriggersSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsSyncFunctionTriggersSlotOptionalParams + ): Promise; + /** + * Description for Gets a triggered web job by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. + */ + getTriggeredWebJobSlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsGetTriggeredWebJobSlotOptionalParams + ): Promise; + /** + * Description for Delete a triggered web job by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API deletes web job for the + * production slot. + * @param options The options parameters. + */ + deleteTriggeredWebJobSlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsDeleteTriggeredWebJobSlotOptionalParams + ): Promise; + /** + * Description for Gets a triggered web job's history by its ID for an app, , or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param id History ID. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. + */ + getTriggeredWebJobHistorySlot( + resourceGroupName: string, + name: string, + webJobName: string, + id: string, + slot: string, + options?: WebAppsGetTriggeredWebJobHistorySlotOptionalParams + ): Promise; + /** + * Description for Run a triggered web job for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param slot Name of the deployment slot. If a slot is not specified, the API uses the production + * slot. + * @param options The options parameters. + */ + runTriggeredWebJobSlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsRunTriggeredWebJobSlotOptionalParams + ): Promise; + /** + * Description for Gets the virtual networks the app (or deployment slot) is connected to. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get virtual + * network connections for the production slot. + * @param options The options parameters. + */ + listVnetConnectionsSlot( + resourceGroupName: string, + name: string, + slot: string, + options?: WebAppsListVnetConnectionsSlotOptionalParams + ): Promise; + /** + * Description for Gets a virtual network the app (or deployment slot) is connected to by name. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the virtual network. + * @param slot Name of the deployment slot. If a slot is not specified, the API will get the named + * virtual network for the production slot. + * @param options The options parameters. + */ + getVnetConnectionSlot( + resourceGroupName: string, + name: string, + vnetName: string, + slot: string, + options?: WebAppsGetVnetConnectionSlotOptionalParams + ): Promise; + /** + * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection + * properties (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of an existing Virtual Network. + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update + * connections for the production slot. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. + */ + createOrUpdateVnetConnectionSlot( + resourceGroupName: string, + name: string, + vnetName: string, + slot: string, + connectionEnvelope: VnetInfoResource, + options?: WebAppsCreateOrUpdateVnetConnectionSlotOptionalParams + ): Promise; + /** + * Description for Deletes a connection from an app (or deployment slot to a named virtual network. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the virtual network. + * @param slot Name of the deployment slot. If a slot is not specified, the API will delete the + * connection for the production slot. + * @param options The options parameters. + */ + deleteVnetConnectionSlot( + resourceGroupName: string, + name: string, + vnetName: string, + slot: string, + options?: WebAppsDeleteVnetConnectionSlotOptionalParams + ): Promise; + /** + * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection + * properties (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of an existing Virtual Network. + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update + * connections for the production slot. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. + */ + updateVnetConnectionSlot( + resourceGroupName: string, + name: string, + vnetName: string, + slot: string, + connectionEnvelope: VnetInfoResource, + options?: WebAppsUpdateVnetConnectionSlotOptionalParams + ): Promise; + /** + * Description for Gets an app's Virtual Network gateway. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param slot Name of the deployment slot. If a slot is not specified, the API will get a gateway for + * the production slot's Virtual Network. + * @param options The options parameters. + */ + getVnetConnectionGatewaySlot( + resourceGroupName: string, + name: string, + vnetName: string, + gatewayName: string, + slot: string, + options?: WebAppsGetVnetConnectionGatewaySlotOptionalParams + ): Promise; + /** + * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update a + * gateway for the production slot's Virtual Network. + * @param connectionEnvelope The properties to update this gateway with. + * @param options The options parameters. + */ + createOrUpdateVnetConnectionGatewaySlot( + resourceGroupName: string, + name: string, + vnetName: string, + gatewayName: string, + slot: string, + connectionEnvelope: VnetGateway, + options?: WebAppsCreateOrUpdateVnetConnectionGatewaySlotOptionalParams + ): Promise; + /** + * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param slot Name of the deployment slot. If a slot is not specified, the API will add or update a + * gateway for the production slot's Virtual Network. + * @param connectionEnvelope The properties to update this gateway with. + * @param options The options parameters. + */ + updateVnetConnectionGatewaySlot( + resourceGroupName: string, + name: string, + vnetName: string, + gatewayName: string, + slot: string, + connectionEnvelope: VnetGateway, + options?: WebAppsUpdateVnetConnectionGatewaySlotOptionalParams + ): Promise; + /** + * Description for Get webjob information for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of the web job. + * @param slot Name of the deployment slot. If a slot is not specified, the API returns deployments for + * the production slot. + * @param options The options parameters. + */ + getWebJobSlot( + resourceGroupName: string, + name: string, + webJobName: string, + slot: string, + options?: WebAppsGetWebJobSlotOptionalParams + ): Promise; + /** + * Description for Swaps two deployment slots of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + beginSwapSlotWithProduction( + resourceGroupName: string, + name: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsSwapSlotWithProductionOptionalParams + ): Promise, void>>; + /** + * Description for Swaps two deployment slots of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param slotSwapEntity JSON object that contains the target slot name. See example. + * @param options The options parameters. + */ + beginSwapSlotWithProductionAndWait( + resourceGroupName: string, + name: string, + slotSwapEntity: CsmSlotEntity, + options?: WebAppsSwapSlotWithProductionOptionalParams + ): Promise; + /** + * Description for Gets the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + getSourceControl( + resourceGroupName: string, + name: string, + options?: WebAppsGetSourceControlOptionalParams + ): Promise; + /** + * Description for Updates the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateSourceControl( + resourceGroupName: string, + name: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsCreateOrUpdateSourceControlOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsCreateOrUpdateSourceControlResponse + > + >; + /** + * Description for Updates the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. + */ + beginCreateOrUpdateSourceControlAndWait( + resourceGroupName: string, + name: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsCreateOrUpdateSourceControlOptionalParams + ): Promise; + /** + * Description for Deletes the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + deleteSourceControl( + resourceGroupName: string, + name: string, + options?: WebAppsDeleteSourceControlOptionalParams + ): Promise; + /** + * Description for Updates the source control configuration of an app. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param siteSourceControl JSON representation of a SiteSourceControl object. See example. + * @param options The options parameters. + */ + updateSourceControl( + resourceGroupName: string, + name: string, + siteSourceControl: SiteSourceControl, + options?: WebAppsUpdateSourceControlOptionalParams + ): Promise; + /** + * Description for Starts an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + start( + resourceGroupName: string, + name: string, + options?: WebAppsStartOptionalParams + ): Promise; + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + beginStartNetworkTrace( + resourceGroupName: string, + name: string, + options?: WebAppsStartNetworkTraceOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WebAppsStartNetworkTraceResponse + > + >; + /** + * Description for Start capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + beginStartNetworkTraceAndWait( + resourceGroupName: string, + name: string, + options?: WebAppsStartNetworkTraceOptionalParams + ): Promise; + /** + * Description for Stops an app (or deployment slot, if specified). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + stop( + resourceGroupName: string, + name: string, + options?: WebAppsStopOptionalParams + ): Promise; + /** + * Description for Stop ongoing capturing network packets for the site. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name The name of the web app. + * @param options The options parameters. + */ + stopNetworkTrace( + resourceGroupName: string, + name: string, + options?: WebAppsStopNetworkTraceOptionalParams + ): Promise; + /** + * Description for Sync web app repository. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of web app. + * @param options The options parameters. + */ + syncRepository( + resourceGroupName: string, + name: string, + options?: WebAppsSyncRepositoryOptionalParams + ): Promise; + /** + * Description for Syncs function trigger metadata to the management database + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + syncFunctionTriggers( + resourceGroupName: string, + name: string, + options?: WebAppsSyncFunctionTriggersOptionalParams + ): Promise; + /** + * Description for Gets a triggered web job by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. + */ + getTriggeredWebJob( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsGetTriggeredWebJobOptionalParams + ): Promise; + /** + * Description for Delete a triggered web job by its ID for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. + */ + deleteTriggeredWebJob( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsDeleteTriggeredWebJobOptionalParams + ): Promise; + /** + * Description for Gets a triggered web job's history by its ID for an app, , or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param id History ID. + * @param options The options parameters. + */ + getTriggeredWebJobHistory( + resourceGroupName: string, + name: string, + webJobName: string, + id: string, + options?: WebAppsGetTriggeredWebJobHistoryOptionalParams + ): Promise; + /** + * Description for Run a triggered web job for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of Web Job. + * @param options The options parameters. + */ + runTriggeredWebJob( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsRunTriggeredWebJobOptionalParams + ): Promise; + /** + * Description for Gets the virtual networks the app (or deployment slot) is connected to. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param options The options parameters. + */ + listVnetConnections( + resourceGroupName: string, + name: string, + options?: WebAppsListVnetConnectionsOptionalParams + ): Promise; + /** + * Description for Gets a virtual network the app (or deployment slot) is connected to by name. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the virtual network. + * @param options The options parameters. + */ + getVnetConnection( + resourceGroupName: string, + name: string, + vnetName: string, + options?: WebAppsGetVnetConnectionOptionalParams + ): Promise; + /** + * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection + * properties (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of an existing Virtual Network. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. + */ + createOrUpdateVnetConnection( + resourceGroupName: string, + name: string, + vnetName: string, + connectionEnvelope: VnetInfoResource, + options?: WebAppsCreateOrUpdateVnetConnectionOptionalParams + ): Promise; + /** + * Description for Deletes a connection from an app (or deployment slot to a named virtual network. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the virtual network. + * @param options The options parameters. + */ + deleteVnetConnection( + resourceGroupName: string, + name: string, + vnetName: string, + options?: WebAppsDeleteVnetConnectionOptionalParams + ): Promise; + /** + * Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection + * properties (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of an existing Virtual Network. + * @param connectionEnvelope Properties of the Virtual Network connection. See example. + * @param options The options parameters. + */ + updateVnetConnection( + resourceGroupName: string, + name: string, + vnetName: string, + connectionEnvelope: VnetInfoResource, + options?: WebAppsUpdateVnetConnectionOptionalParams + ): Promise; + /** + * Description for Gets an app's Virtual Network gateway. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param options The options parameters. + */ + getVnetConnectionGateway( + resourceGroupName: string, + name: string, + vnetName: string, + gatewayName: string, + options?: WebAppsGetVnetConnectionGatewayOptionalParams + ): Promise; + /** + * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param connectionEnvelope The properties to update this gateway with. + * @param options The options parameters. + */ + createOrUpdateVnetConnectionGateway( + resourceGroupName: string, + name: string, + vnetName: string, + gatewayName: string, + connectionEnvelope: VnetGateway, + options?: WebAppsCreateOrUpdateVnetConnectionGatewayOptionalParams + ): Promise; + /** + * Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Name of the app. + * @param vnetName Name of the Virtual Network. + * @param gatewayName Name of the gateway. Currently, the only supported string is "primary". + * @param connectionEnvelope The properties to update this gateway with. + * @param options The options parameters. + */ + updateVnetConnectionGateway( + resourceGroupName: string, + name: string, + vnetName: string, + gatewayName: string, + connectionEnvelope: VnetGateway, + options?: WebAppsUpdateVnetConnectionGatewayOptionalParams + ): Promise; + /** + * Description for Get webjob information for an app, or a deployment slot. + * @param resourceGroupName Name of the resource group to which the resource belongs. + * @param name Site name. + * @param webJobName Name of the web job. + * @param options The options parameters. + */ + getWebJob( + resourceGroupName: string, + name: string, + webJobName: string, + options?: WebAppsGetWebJobOptionalParams + ): Promise; +} diff --git a/sdk/appservice/arm-appservice/src/webSiteManagementClient.ts b/sdk/appservice/arm-appservice/src/webSiteManagementClient.ts index 4fe25445becf..c08d402a3ddb 100644 --- a/sdk/appservice/arm-appservice/src/webSiteManagementClient.ts +++ b/sdk/appservice/arm-appservice/src/webSiteManagementClient.ts @@ -3,1057 +3,748 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as Models from "./models"; -import * as Mappers from "./models/mappers"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AppServiceCertificateOrdersImpl, + CertificateOrdersDiagnosticsImpl, + CertificateRegistrationProviderImpl, + DomainsImpl, + TopLevelDomainsImpl, + DomainRegistrationProviderImpl, + AppServiceEnvironmentsImpl, + AppServicePlansImpl, + CertificatesImpl, + DeletedWebAppsImpl, + DiagnosticsImpl, + GlobalImpl, + KubeEnvironmentsImpl, + ProviderImpl, + RecommendationsImpl, + ResourceHealthMetadataOperationsImpl, + StaticSitesImpl, + WebAppsImpl +} from "./operations"; +import { + AppServiceCertificateOrders, + CertificateOrdersDiagnostics, + CertificateRegistrationProvider, + Domains, + TopLevelDomains, + DomainRegistrationProvider, + AppServiceEnvironments, + AppServicePlans, + Certificates, + DeletedWebApps, + Diagnostics, + Global, + KubeEnvironments, + Provider, + Recommendations, + ResourceHealthMetadataOperations, + StaticSites, + WebApps +} from "./operationsInterfaces"; import * as Parameters from "./models/parameters"; -import * as operations from "./operations"; +import * as Mappers from "./models/mappers"; import { WebSiteManagementClientContext } from "./webSiteManagementClientContext"; +import { + WebSiteManagementClientOptionalParams, + SourceControl, + WebSiteManagementClientListSourceControlsNextOptionalParams, + WebSiteManagementClientListSourceControlsOptionalParams, + BillingMeter, + WebSiteManagementClientListBillingMetersNextOptionalParams, + WebSiteManagementClientListBillingMetersOptionalParams, + GeoRegion, + WebSiteManagementClientListGeoRegionsNextOptionalParams, + WebSiteManagementClientListGeoRegionsOptionalParams, + Identifier, + NameIdentifier, + WebSiteManagementClientListSiteIdentifiersAssignedToHostNameNextOptionalParams, + WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams, + PremierAddOnOffer, + WebSiteManagementClientListPremierAddOnOffersNextOptionalParams, + WebSiteManagementClientListPremierAddOnOffersOptionalParams, + WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncOptionalParams, + WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncResponse, + WebSiteManagementClientGetPublishingUserOptionalParams, + WebSiteManagementClientGetPublishingUserResponse, + User, + WebSiteManagementClientUpdatePublishingUserOptionalParams, + WebSiteManagementClientUpdatePublishingUserResponse, + WebSiteManagementClientListSourceControlsResponse, + WebSiteManagementClientGetSourceControlOptionalParams, + WebSiteManagementClientGetSourceControlResponse, + WebSiteManagementClientUpdateSourceControlOptionalParams, + WebSiteManagementClientUpdateSourceControlResponse, + WebSiteManagementClientListBillingMetersResponse, + CheckNameResourceTypes, + WebSiteManagementClientCheckNameAvailabilityOptionalParams, + WebSiteManagementClientCheckNameAvailabilityResponse, + WebSiteManagementClientGetSubscriptionDeploymentLocationsOptionalParams, + WebSiteManagementClientGetSubscriptionDeploymentLocationsResponse, + WebSiteManagementClientListGeoRegionsResponse, + WebSiteManagementClientListSiteIdentifiersAssignedToHostNameResponse, + WebSiteManagementClientListPremierAddOnOffersResponse, + WebSiteManagementClientListSkusOptionalParams, + WebSiteManagementClientListSkusResponse, + VnetParameters, + WebSiteManagementClientVerifyHostingEnvironmentVnetOptionalParams, + WebSiteManagementClientVerifyHostingEnvironmentVnetResponse, + CsmMoveResourceEnvelope, + WebSiteManagementClientMoveOptionalParams, + ValidateRequest, + WebSiteManagementClientValidateOptionalParams, + WebSiteManagementClientValidateResponse, + WebSiteManagementClientValidateMoveOptionalParams, + WebSiteManagementClientListSourceControlsNextResponse, + WebSiteManagementClientListBillingMetersNextResponse, + WebSiteManagementClientListGeoRegionsNextResponse, + WebSiteManagementClientListSiteIdentifiersAssignedToHostNameNextResponse, + WebSiteManagementClientListPremierAddOnOffersNextResponse +} from "./models"; -class WebSiteManagementClient extends WebSiteManagementClientContext { - // Operation groups - appServiceCertificateOrders: operations.AppServiceCertificateOrders; - certificateOrdersDiagnostics: operations.CertificateOrdersDiagnostics; - certificateRegistrationProvider: operations.CertificateRegistrationProvider; - domains: operations.Domains; - topLevelDomains: operations.TopLevelDomains; - domainRegistrationProvider: operations.DomainRegistrationProvider; - certificates: operations.Certificates; - deletedWebApps: operations.DeletedWebApps; - diagnostics: operations.Diagnostics; - global: operations.Global; - provider: operations.Provider; - recommendations: operations.Recommendations; - webApps: operations.WebApps; - staticSites: operations.StaticSites; - appServiceEnvironments: operations.AppServiceEnvironments; - appServicePlans: operations.AppServicePlans; - resourceHealthMetadata: operations.ResourceHealthMetadataOperations; - +/// +export class WebSiteManagementClient extends WebSiteManagementClientContext { /** * Initializes a new instance of the WebSiteManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId Your Azure subscription ID. This is a GUID-formatted string (e.g. - * 00000000-0000-0000-0000-000000000000). - * @param [options] The parameter options + * 00000000-0000-0000-0000-000000000000). + * @param options The parameter options */ constructor( - credentials: msRest.ServiceClientCredentials | TokenCredential, + credentials: coreAuth.TokenCredential, subscriptionId: string, - options?: Models.WebSiteManagementClientOptions + options?: WebSiteManagementClientOptionalParams ) { super(credentials, subscriptionId, options); - this.appServiceCertificateOrders = new operations.AppServiceCertificateOrders(this); - this.certificateOrdersDiagnostics = new operations.CertificateOrdersDiagnostics(this); - this.certificateRegistrationProvider = new operations.CertificateRegistrationProvider(this); - this.domains = new operations.Domains(this); - this.topLevelDomains = new operations.TopLevelDomains(this); - this.domainRegistrationProvider = new operations.DomainRegistrationProvider(this); - this.certificates = new operations.Certificates(this); - this.deletedWebApps = new operations.DeletedWebApps(this); - this.diagnostics = new operations.Diagnostics(this); - this.global = new operations.Global(this); - this.provider = new operations.Provider(this); - this.recommendations = new operations.Recommendations(this); - this.webApps = new operations.WebApps(this); - this.staticSites = new operations.StaticSites(this); - this.appServiceEnvironments = new operations.AppServiceEnvironments(this); - this.appServicePlans = new operations.AppServicePlans(this); - this.resourceHealthMetadata = new operations.ResourceHealthMetadataOperations(this); + this.appServiceCertificateOrders = new AppServiceCertificateOrdersImpl( + this + ); + this.certificateOrdersDiagnostics = new CertificateOrdersDiagnosticsImpl( + this + ); + this.certificateRegistrationProvider = new CertificateRegistrationProviderImpl( + this + ); + this.domains = new DomainsImpl(this); + this.topLevelDomains = new TopLevelDomainsImpl(this); + this.domainRegistrationProvider = new DomainRegistrationProviderImpl(this); + this.appServiceEnvironments = new AppServiceEnvironmentsImpl(this); + this.appServicePlans = new AppServicePlansImpl(this); + this.certificates = new CertificatesImpl(this); + this.deletedWebApps = new DeletedWebAppsImpl(this); + this.diagnostics = new DiagnosticsImpl(this); + this.global = new GlobalImpl(this); + this.kubeEnvironments = new KubeEnvironmentsImpl(this); + this.provider = new ProviderImpl(this); + this.recommendations = new RecommendationsImpl(this); + this.resourceHealthMetadataOperations = new ResourceHealthMetadataOperationsImpl( + this + ); + this.staticSites = new StaticSitesImpl(this); + this.webApps = new WebAppsImpl(this); } /** - * Description for Exchange code for GitHub access token for AppService CLI - * @summary Exchange code for GitHub access token for AppService CLI - * @param code Code string to exchange for Github Access token - * @param state State string used for verification. - * @param [options] The optional parameters - * @returns Promise - */ - generateGithubAccessTokenForAppserviceCLIAsync( - code: string, - state: string, - options?: msRest.RequestOptionsBase - ): Promise; + * Description for Gets the source controls available for Azure websites. + * @param options The options parameters. + */ + public listSourceControls( + options?: WebSiteManagementClientListSourceControlsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSourceControlsPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSourceControlsPagingPage(options); + } + }; + } + + private async *listSourceControlsPagingPage( + options?: WebSiteManagementClientListSourceControlsOptionalParams + ): AsyncIterableIterator { + let result = await this._listSourceControls(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSourceControlsNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSourceControlsPagingAll( + options?: WebSiteManagementClientListSourceControlsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSourceControlsPagingPage(options)) { + yield* page; + } + } + /** - * @param code Code string to exchange for Github Access token - * @param state State string used for verification. - * @param callback The callback - */ - generateGithubAccessTokenForAppserviceCLIAsync( - code: string, - state: string, - callback: msRest.ServiceCallback - ): void; + * Description for Gets a list of meters for a given location. + * @param options The options parameters. + */ + public listBillingMeters( + options?: WebSiteManagementClientListBillingMetersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBillingMetersPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBillingMetersPagingPage(options); + } + }; + } + + private async *listBillingMetersPagingPage( + options?: WebSiteManagementClientListBillingMetersOptionalParams + ): AsyncIterableIterator { + let result = await this._listBillingMeters(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBillingMetersNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBillingMetersPagingAll( + options?: WebSiteManagementClientListBillingMetersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBillingMetersPagingPage(options)) { + yield* page; + } + } + /** + * Description for Get a list of available geographical regions. + * @param options The options parameters. + */ + public listGeoRegions( + options?: WebSiteManagementClientListGeoRegionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listGeoRegionsPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listGeoRegionsPagingPage(options); + } + }; + } + + private async *listGeoRegionsPagingPage( + options?: WebSiteManagementClientListGeoRegionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listGeoRegions(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listGeoRegionsNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listGeoRegionsPagingAll( + options?: WebSiteManagementClientListGeoRegionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listGeoRegionsPagingPage(options)) { + yield* page; + } + } + + /** + * Description for List all apps that are assigned to a hostname. + * @param nameIdentifier Hostname information. + * @param options The options parameters. + */ + public listSiteIdentifiersAssignedToHostName( + nameIdentifier: NameIdentifier, + options?: WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSiteIdentifiersAssignedToHostNamePagingAll( + nameIdentifier, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSiteIdentifiersAssignedToHostNamePagingPage( + nameIdentifier, + options + ); + } + }; + } + + private async *listSiteIdentifiersAssignedToHostNamePagingPage( + nameIdentifier: NameIdentifier, + options?: WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams + ): AsyncIterableIterator { + let result = await this._listSiteIdentifiersAssignedToHostName( + nameIdentifier, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSiteIdentifiersAssignedToHostNameNext( + nameIdentifier, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listSiteIdentifiersAssignedToHostNamePagingAll( + nameIdentifier: NameIdentifier, + options?: WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSiteIdentifiersAssignedToHostNamePagingPage( + nameIdentifier, + options + )) { + yield* page; + } + } + + /** + * Description for List all premier add-on offers. + * @param options The options parameters. + */ + public listPremierAddOnOffers( + options?: WebSiteManagementClientListPremierAddOnOffersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPremierAddOnOffersPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPremierAddOnOffersPagingPage(options); + } + }; + } + + private async *listPremierAddOnOffersPagingPage( + options?: WebSiteManagementClientListPremierAddOnOffersOptionalParams + ): AsyncIterableIterator { + let result = await this._listPremierAddOnOffers(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listPremierAddOnOffersNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPremierAddOnOffersPagingAll( + options?: WebSiteManagementClientListPremierAddOnOffersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPremierAddOnOffersPagingPage(options)) { + yield* page; + } + } + + /** + * Description for Exchange code for GitHub access token for AppService CLI * @param code Code string to exchange for Github Access token * @param state State string used for verification. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ generateGithubAccessTokenForAppserviceCLIAsync( code: string, state: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - generateGithubAccessTokenForAppserviceCLIAsync( - code: string, - state: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncOptionalParams + ): Promise< + WebSiteManagementClientGenerateGithubAccessTokenForAppserviceCLIAsyncResponse + > { return this.sendOperationRequest( - { - code, - state, - options - }, - generateGithubAccessTokenForAppserviceCLIAsyncOperationSpec, - callback - ) as Promise; + { code, state, options }, + generateGithubAccessTokenForAppserviceCLIAsyncOperationSpec + ); } /** * Description for Gets publishing user - * @summary Gets publishing user - * @param [options] The optional parameters - * @returns Promise - */ - getPublishingUser(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - getPublishingUser(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ getPublishingUser( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getPublishingUser( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebSiteManagementClientGetPublishingUserOptionalParams + ): Promise { return this.sendOperationRequest( - { - options - }, - getPublishingUserOperationSpec, - callback - ) as Promise; + { options }, + getPublishingUserOperationSpec + ); } /** * Description for Updates publishing user - * @summary Updates publishing user * @param userDetails Details of publishing user - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ updatePublishingUser( - userDetails: Models.User, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param userDetails Details of publishing user - * @param callback The callback - */ - updatePublishingUser( - userDetails: Models.User, - callback: msRest.ServiceCallback - ): void; - /** - * @param userDetails Details of publishing user - * @param options The optional parameters - * @param callback The callback - */ - updatePublishingUser( - userDetails: Models.User, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updatePublishingUser( - userDetails: Models.User, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + userDetails: User, + options?: WebSiteManagementClientUpdatePublishingUserOptionalParams + ): Promise { return this.sendOperationRequest( - { - userDetails, - options - }, - updatePublishingUserOperationSpec, - callback - ) as Promise; + { userDetails, options }, + updatePublishingUserOperationSpec + ); } /** * Description for Gets the source controls available for Azure websites. - * @summary Gets the source controls available for Azure websites. - * @param [options] The optional parameters - * @returns Promise - */ - listSourceControls( - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param callback The callback - */ - listSourceControls(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listSourceControls( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSourceControls( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listSourceControls( + options?: WebSiteManagementClientListSourceControlsOptionalParams + ): Promise { return this.sendOperationRequest( - { - options - }, - listSourceControlsOperationSpec, - callback - ) as Promise; + { options }, + listSourceControlsOperationSpec + ); } /** * Description for Gets source control token - * @summary Gets source control token * @param sourceControlType Type of source control - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ getSourceControl( sourceControlType: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param sourceControlType Type of source control - * @param callback The callback - */ - getSourceControl( - sourceControlType: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param sourceControlType Type of source control - * @param options The optional parameters - * @param callback The callback - */ - getSourceControl( - sourceControlType: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSourceControl( - sourceControlType: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebSiteManagementClientGetSourceControlOptionalParams + ): Promise { return this.sendOperationRequest( - { - sourceControlType, - options - }, - getSourceControlOperationSpec, - callback - ) as Promise; + { sourceControlType, options }, + getSourceControlOperationSpec + ); } /** * Description for Updates source control token - * @summary Updates source control token * @param sourceControlType Type of source control * @param requestMessage Source control token information - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ updateSourceControl( sourceControlType: string, - requestMessage: Models.SourceControl, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param sourceControlType Type of source control - * @param requestMessage Source control token information - * @param callback The callback - */ - updateSourceControl( - sourceControlType: string, - requestMessage: Models.SourceControl, - callback: msRest.ServiceCallback - ): void; - /** - * @param sourceControlType Type of source control - * @param requestMessage Source control token information - * @param options The optional parameters - * @param callback The callback - */ - updateSourceControl( - sourceControlType: string, - requestMessage: Models.SourceControl, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - updateSourceControl( - sourceControlType: string, - requestMessage: Models.SourceControl, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + requestMessage: SourceControl, + options?: WebSiteManagementClientUpdateSourceControlOptionalParams + ): Promise { return this.sendOperationRequest( - { - sourceControlType, - requestMessage, - options - }, - updateSourceControlOperationSpec, - callback - ) as Promise; + { sourceControlType, requestMessage, options }, + updateSourceControlOperationSpec + ); } /** * Description for Gets a list of meters for a given location. - * @summary Gets a list of meters for a given location. - * @param [options] The optional parameters - * @returns Promise - */ - listBillingMeters( - options?: Models.WebSiteManagementClientListBillingMetersOptionalParams - ): Promise; - /** - * @param callback The callback + * @param options The options parameters. */ - listBillingMeters(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listBillingMeters( - options: Models.WebSiteManagementClientListBillingMetersOptionalParams, - callback: msRest.ServiceCallback - ): void; - listBillingMeters( - options?: - | Models.WebSiteManagementClientListBillingMetersOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listBillingMeters( + options?: WebSiteManagementClientListBillingMetersOptionalParams + ): Promise { return this.sendOperationRequest( - { - options - }, - listBillingMetersOperationSpec, - callback - ) as Promise; + { options }, + listBillingMetersOperationSpec + ); } /** * Description for Check if a resource name is available. - * @summary Check if a resource name is available. * @param name Resource name to verify. - * @param type Resource type used for verification. Possible values include: 'Site', 'Slot', - * 'HostingEnvironment', 'PublishingUser', 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', - * 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' - * @param [options] The optional parameters - * @returns Promise + * @param typeParam Resource type used for verification. + * @param options The options parameters. */ checkNameAvailability( name: string, - type: Models.CheckNameResourceTypes, - options?: Models.WebSiteManagementClientCheckNameAvailabilityOptionalParams - ): Promise; - /** - * @param name Resource name to verify. - * @param type Resource type used for verification. Possible values include: 'Site', 'Slot', - * 'HostingEnvironment', 'PublishingUser', 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', - * 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' - * @param callback The callback - */ - checkNameAvailability( - name: string, - type: Models.CheckNameResourceTypes, - callback: msRest.ServiceCallback - ): void; - /** - * @param name Resource name to verify. - * @param type Resource type used for verification. Possible values include: 'Site', 'Slot', - * 'HostingEnvironment', 'PublishingUser', 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', - * 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' - * @param options The optional parameters - * @param callback The callback - */ - checkNameAvailability( - name: string, - type: Models.CheckNameResourceTypes, - options: Models.WebSiteManagementClientCheckNameAvailabilityOptionalParams, - callback: msRest.ServiceCallback - ): void; - checkNameAvailability( - name: string, - type: Models.CheckNameResourceTypes, - options?: - | Models.WebSiteManagementClientCheckNameAvailabilityOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + typeParam: CheckNameResourceTypes, + options?: WebSiteManagementClientCheckNameAvailabilityOptionalParams + ): Promise { return this.sendOperationRequest( - { - name, - type, - options - }, - checkNameAvailabilityOperationSpec, - callback - ) as Promise; + { name, typeParam, options }, + checkNameAvailabilityOperationSpec + ); } /** * Description for Gets list of available geo regions plus ministamps - * @summary Gets list of available geo regions plus ministamps - * @param [options] The optional parameters - * @returns Promise - */ - getSubscriptionDeploymentLocations( - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param callback The callback - */ - getSubscriptionDeploymentLocations( - callback: msRest.ServiceCallback - ): void; - /** - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ getSubscriptionDeploymentLocations( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getSubscriptionDeploymentLocations( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + options?: WebSiteManagementClientGetSubscriptionDeploymentLocationsOptionalParams + ): Promise< + WebSiteManagementClientGetSubscriptionDeploymentLocationsResponse + > { return this.sendOperationRequest( - { - options - }, - getSubscriptionDeploymentLocationsOperationSpec, - callback - ) as Promise; + { options }, + getSubscriptionDeploymentLocationsOperationSpec + ); } /** * Description for Get a list of available geographical regions. - * @summary Get a list of available geographical regions. - * @param [options] The optional parameters - * @returns Promise - */ - listGeoRegions( - options?: Models.WebSiteManagementClientListGeoRegionsOptionalParams - ): Promise; - /** - * @param callback The callback + * @param options The options parameters. */ - listGeoRegions(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listGeoRegions( - options: Models.WebSiteManagementClientListGeoRegionsOptionalParams, - callback: msRest.ServiceCallback - ): void; - listGeoRegions( - options?: - | Models.WebSiteManagementClientListGeoRegionsOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.sendOperationRequest( - { - options - }, - listGeoRegionsOperationSpec, - callback - ) as Promise; + private _listGeoRegions( + options?: WebSiteManagementClientListGeoRegionsOptionalParams + ): Promise { + return this.sendOperationRequest({ options }, listGeoRegionsOperationSpec); } /** * Description for List all apps that are assigned to a hostname. - * @summary List all apps that are assigned to a hostname. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteIdentifiersAssignedToHostName( - options?: Models.WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams - ): Promise; - /** - * @param callback The callback - */ - listSiteIdentifiersAssignedToHostName( - callback: msRest.ServiceCallback - ): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listSiteIdentifiersAssignedToHostName( - options: Models.WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams, - callback: msRest.ServiceCallback - ): void; - listSiteIdentifiersAssignedToHostName( - options?: - | Models.WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * @param nameIdentifier Hostname information. + * @param options The options parameters. + */ + private _listSiteIdentifiersAssignedToHostName( + nameIdentifier: NameIdentifier, + options?: WebSiteManagementClientListSiteIdentifiersAssignedToHostNameOptionalParams + ): Promise< + WebSiteManagementClientListSiteIdentifiersAssignedToHostNameResponse + > { return this.sendOperationRequest( - { - options - }, - listSiteIdentifiersAssignedToHostNameOperationSpec, - callback - ) as Promise; + { nameIdentifier, options }, + listSiteIdentifiersAssignedToHostNameOperationSpec + ); } /** * Description for List all premier add-on offers. - * @summary List all premier add-on offers. - * @param [options] The optional parameters - * @returns Promise - */ - listPremierAddOnOffers( - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param callback The callback + * @param options The options parameters. */ - listPremierAddOnOffers( - callback: msRest.ServiceCallback - ): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listPremierAddOnOffers( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPremierAddOnOffers( - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listPremierAddOnOffers( + options?: WebSiteManagementClientListPremierAddOnOffersOptionalParams + ): Promise { return this.sendOperationRequest( - { - options - }, - listPremierAddOnOffersOperationSpec, - callback - ) as Promise; + { options }, + listPremierAddOnOffersOperationSpec + ); } /** * Description for List all SKUs. - * @summary List all SKUs. - * @param [options] The optional parameters - * @returns Promise - */ - listSkus(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - listSkus(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ listSkus( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSkus( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.sendOperationRequest( - { - options - }, - listSkusOperationSpec, - callback - ) as Promise; + options?: WebSiteManagementClientListSkusOptionalParams + ): Promise { + return this.sendOperationRequest({ options }, listSkusOperationSpec); } /** - * Description for Verifies if this VNET is compatible with an App Service Environment by analyzing - * the Network Security Group rules. - * @summary Verifies if this VNET is compatible with an App Service Environment by analyzing the + * Description for Verifies if this VNET is compatible with an App Service Environment by analyzing the * Network Security Group rules. * @param parameters VNET information - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ verifyHostingEnvironmentVnet( - parameters: Models.VnetParameters, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param parameters VNET information - * @param callback The callback - */ - verifyHostingEnvironmentVnet( - parameters: Models.VnetParameters, - callback: msRest.ServiceCallback - ): void; - /** - * @param parameters VNET information - * @param options The optional parameters - * @param callback The callback - */ - verifyHostingEnvironmentVnet( - parameters: Models.VnetParameters, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - verifyHostingEnvironmentVnet( - parameters: Models.VnetParameters, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + parameters: VnetParameters, + options?: WebSiteManagementClientVerifyHostingEnvironmentVnetOptionalParams + ): Promise { return this.sendOperationRequest( - { - parameters, - options - }, - verifyHostingEnvironmentVnetOperationSpec, - callback - ) as Promise; + { parameters, options }, + verifyHostingEnvironmentVnetOperationSpec + ); } /** * Description for Move resources between resource groups. - * @summary Move resources between resource groups. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param moveResourceEnvelope Object that represents the resource to move. - * @param [options] The optional parameters - * @returns Promise - */ - move( - resourceGroupName: string, - moveResourceEnvelope: Models.CsmMoveResourceEnvelope, - options?: msRest.RequestOptionsBase - ): Promise; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param moveResourceEnvelope Object that represents the resource to move. - * @param callback The callback + * @param options The options parameters. */ move( resourceGroupName: string, - moveResourceEnvelope: Models.CsmMoveResourceEnvelope, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param moveResourceEnvelope Object that represents the resource to move. - * @param options The optional parameters - * @param callback The callback - */ - move( - resourceGroupName: string, - moveResourceEnvelope: Models.CsmMoveResourceEnvelope, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - move( - resourceGroupName: string, - moveResourceEnvelope: Models.CsmMoveResourceEnvelope, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + moveResourceEnvelope: CsmMoveResourceEnvelope, + options?: WebSiteManagementClientMoveOptionalParams + ): Promise { return this.sendOperationRequest( - { - resourceGroupName, - moveResourceEnvelope, - options - }, - moveOperationSpec, - callback + { resourceGroupName, moveResourceEnvelope, options }, + moveOperationSpec ); } /** * Description for Validate if a resource can be created. - * @summary Validate if a resource can be created. * @param resourceGroupName Name of the resource group to which the resource belongs. * @param validateRequest Request with the resources to validate. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ validate( resourceGroupName: string, - validateRequest: Models.ValidateRequest, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param validateRequest Request with the resources to validate. - * @param callback The callback - */ - validate( - resourceGroupName: string, - validateRequest: Models.ValidateRequest, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param validateRequest Request with the resources to validate. - * @param options The optional parameters - * @param callback The callback - */ - validate( - resourceGroupName: string, - validateRequest: Models.ValidateRequest, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - validate( - resourceGroupName: string, - validateRequest: Models.ValidateRequest, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + validateRequest: ValidateRequest, + options?: WebSiteManagementClientValidateOptionalParams + ): Promise { return this.sendOperationRequest( - { - resourceGroupName, - validateRequest, - options - }, - validateOperationSpec, - callback - ) as Promise; + { resourceGroupName, validateRequest, options }, + validateOperationSpec + ); } /** * Description for Validate whether a resource can be moved. - * @summary Validate whether a resource can be moved. - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param moveResourceEnvelope Object that represents the resource to move. - * @param [options] The optional parameters - * @returns Promise - */ - validateMove( - resourceGroupName: string, - moveResourceEnvelope: Models.CsmMoveResourceEnvelope, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Name of the resource group to which the resource belongs. - * @param moveResourceEnvelope Object that represents the resource to move. - * @param callback The callback - */ - validateMove( - resourceGroupName: string, - moveResourceEnvelope: Models.CsmMoveResourceEnvelope, - callback: msRest.ServiceCallback - ): void; - /** * @param resourceGroupName Name of the resource group to which the resource belongs. * @param moveResourceEnvelope Object that represents the resource to move. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ validateMove( resourceGroupName: string, - moveResourceEnvelope: Models.CsmMoveResourceEnvelope, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - validateMove( - resourceGroupName: string, - moveResourceEnvelope: Models.CsmMoveResourceEnvelope, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + moveResourceEnvelope: CsmMoveResourceEnvelope, + options?: WebSiteManagementClientValidateMoveOptionalParams + ): Promise { return this.sendOperationRequest( - { - resourceGroupName, - moveResourceEnvelope, - options - }, - validateMoveOperationSpec, - callback + { resourceGroupName, moveResourceEnvelope, options }, + validateMoveOperationSpec ); } /** - * Description for Gets the source controls available for Azure websites. - * @summary Gets the source controls available for Azure websites. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSourceControlsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListSourceControlsNext + * @param nextLink The nextLink from the previous successful call to the ListSourceControls method. + * @param options The options parameters. */ - listSourceControlsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSourceControlsNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSourceControlsNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listSourceControlsNext( + nextLink: string, + options?: WebSiteManagementClientListSourceControlsNextOptionalParams + ): Promise { return this.sendOperationRequest( - { - nextPageLink, - options - }, - listSourceControlsNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listSourceControlsNextOperationSpec + ); } /** - * Description for Gets a list of meters for a given location. - * @summary Gets a list of meters for a given location. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBillingMetersNext( - nextPageLink: string, - options?: Models.WebSiteManagementClientListBillingMetersNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listBillingMetersNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListBillingMetersNext + * @param nextLink The nextLink from the previous successful call to the ListBillingMeters method. + * @param options The options parameters. */ - listBillingMetersNext( - nextPageLink: string, - options: Models.WebSiteManagementClientListBillingMetersNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listBillingMetersNext( - nextPageLink: string, - options?: - | Models.WebSiteManagementClientListBillingMetersNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listBillingMetersNext( + nextLink: string, + options?: WebSiteManagementClientListBillingMetersNextOptionalParams + ): Promise { return this.sendOperationRequest( - { - nextPageLink, - options - }, - listBillingMetersNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listBillingMetersNextOperationSpec + ); } /** - * Description for Get a list of available geographical regions. - * @summary Get a list of available geographical regions. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listGeoRegionsNext( - nextPageLink: string, - options?: Models.WebSiteManagementClientListGeoRegionsNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listGeoRegionsNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListGeoRegionsNext + * @param nextLink The nextLink from the previous successful call to the ListGeoRegions method. + * @param options The options parameters. */ - listGeoRegionsNext( - nextPageLink: string, - options: Models.WebSiteManagementClientListGeoRegionsNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listGeoRegionsNext( - nextPageLink: string, - options?: - | Models.WebSiteManagementClientListGeoRegionsNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listGeoRegionsNext( + nextLink: string, + options?: WebSiteManagementClientListGeoRegionsNextOptionalParams + ): Promise { return this.sendOperationRequest( - { - nextPageLink, - options - }, - listGeoRegionsNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listGeoRegionsNextOperationSpec + ); } /** - * Description for List all apps that are assigned to a hostname. - * @summary List all apps that are assigned to a hostname. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSiteIdentifiersAssignedToHostNameNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listSiteIdentifiersAssignedToHostNameNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listSiteIdentifiersAssignedToHostNameNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listSiteIdentifiersAssignedToHostNameNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + * ListSiteIdentifiersAssignedToHostNameNext + * @param nameIdentifier Hostname information. + * @param nextLink The nextLink from the previous successful call to the + * ListSiteIdentifiersAssignedToHostName method. + * @param options The options parameters. + */ + private _listSiteIdentifiersAssignedToHostNameNext( + nameIdentifier: NameIdentifier, + nextLink: string, + options?: WebSiteManagementClientListSiteIdentifiersAssignedToHostNameNextOptionalParams + ): Promise< + WebSiteManagementClientListSiteIdentifiersAssignedToHostNameNextResponse + > { return this.sendOperationRequest( - { - nextPageLink, - options - }, - listSiteIdentifiersAssignedToHostNameNextOperationSpec, - callback - ) as Promise; + { nameIdentifier, nextLink, options }, + listSiteIdentifiersAssignedToHostNameNextOperationSpec + ); } /** - * Description for List all premier add-on offers. - * @summary List all premier add-on offers. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListPremierAddOnOffersNext + * @param nextLink The nextLink from the previous successful call to the ListPremierAddOnOffers method. + * @param options The options parameters. */ - listPremierAddOnOffersNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listPremierAddOnOffersNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listPremierAddOnOffersNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listPremierAddOnOffersNext( - nextPageLink: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + private _listPremierAddOnOffersNext( + nextLink: string, + options?: WebSiteManagementClientListPremierAddOnOffersNextOptionalParams + ): Promise { return this.sendOperationRequest( - { - nextPageLink, - options - }, - listPremierAddOnOffersNextOperationSpec, - callback - ) as Promise; + { nextLink, options }, + listPremierAddOnOffersNextOperationSpec + ); } -} + appServiceCertificateOrders: AppServiceCertificateOrders; + certificateOrdersDiagnostics: CertificateOrdersDiagnostics; + certificateRegistrationProvider: CertificateRegistrationProvider; + domains: Domains; + topLevelDomains: TopLevelDomains; + domainRegistrationProvider: DomainRegistrationProvider; + appServiceEnvironments: AppServiceEnvironments; + appServicePlans: AppServicePlans; + certificates: Certificates; + deletedWebApps: DeletedWebApps; + diagnostics: Diagnostics; + global: Global; + kubeEnvironments: KubeEnvironments; + provider: Provider; + recommendations: Recommendations; + resourceHealthMetadataOperations: ResourceHealthMetadataOperations; + staticSites: StaticSites; + webApps: WebApps; +} // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const generateGithubAccessTokenForAppserviceCLIAsyncOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const generateGithubAccessTokenForAppserviceCLIAsyncOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/generateGithubAccessTokenForAppserviceCLI", httpMethod: "POST", - path: "providers/Microsoft.Web/generateGithubAccessTokenForAppserviceCLI", - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: { - code: "code", - state: "state" - }, - mapper: { - ...Mappers.AppserviceGithubTokenRequest, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.AppserviceGithubToken @@ -1062,14 +753,19 @@ const generateGithubAccessTokenForAppserviceCLIAsyncOperationSpec: msRest.Operat bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: { + parameterPath: { code: ["code"], state: ["state"] }, + mapper: { ...Mappers.AppserviceGithubTokenRequest, required: true } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getPublishingUserOperationSpec: msRest.OperationSpec = { +const getPublishingUserOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/publishingUsers/web", httpMethod: "GET", - path: "providers/Microsoft.Web/publishingUsers/web", - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.User @@ -1078,21 +774,14 @@ const getPublishingUserOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const updatePublishingUserOperationSpec: msRest.OperationSpec = { +const updatePublishingUserOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/publishingUsers/web", httpMethod: "PUT", - path: "providers/Microsoft.Web/publishingUsers/web", - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "userDetails", - mapper: { - ...Mappers.User, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.User @@ -1101,14 +790,16 @@ const updatePublishingUserOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.userDetails, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listSourceControlsOperationSpec: msRest.OperationSpec = { +const listSourceControlsOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/sourcecontrols", httpMethod: "GET", - path: "providers/Microsoft.Web/sourcecontrols", - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.SourceControlCollection @@ -1117,15 +808,14 @@ const listSourceControlsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const getSourceControlOperationSpec: msRest.OperationSpec = { +const getSourceControlOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/sourcecontrols/{sourceControlType}", httpMethod: "GET", - path: "providers/Microsoft.Web/sourcecontrols/{sourceControlType}", - urlParameters: [Parameters.sourceControlType], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.SourceControl @@ -1134,22 +824,14 @@ const getSourceControlOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.sourceControlType], + headerParameters: [Parameters.accept], serializer }; - -const updateSourceControlOperationSpec: msRest.OperationSpec = { +const updateSourceControlOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Web/sourcecontrols/{sourceControlType}", httpMethod: "PUT", - path: "providers/Microsoft.Web/sourcecontrols/{sourceControlType}", - urlParameters: [Parameters.sourceControlType], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "requestMessage", - mapper: { - ...Mappers.SourceControl, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.SourceControl @@ -1158,15 +840,16 @@ const updateSourceControlOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.requestMessage, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.sourceControlType], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listBillingMetersOperationSpec: msRest.OperationSpec = { +const listBillingMetersOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.billingLocation, Parameters.osType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.BillingMeterCollection @@ -1175,26 +858,19 @@ const listBillingMetersOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.billingLocation, + Parameters.osType + ], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { +const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: { - name: "name", - type: "type", - isFqdn: ["options", "isFqdn"] - }, - mapper: { - ...Mappers.ResourceNameAvailabilityRequest, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.ResourceNameAvailability @@ -1203,15 +879,24 @@ const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: { + parameterPath: { + name: ["name"], + typeParam: ["typeParam"], + isFqdn: ["options", "isFqdn"] + }, + mapper: { ...Mappers.ResourceNameAvailabilityRequest, required: true } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getSubscriptionDeploymentLocationsOperationSpec: msRest.OperationSpec = { +const getSubscriptionDeploymentLocationsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.DeploymentLocations @@ -1220,21 +905,14 @@ const getSubscriptionDeploymentLocationsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listGeoRegionsOperationSpec: msRest.OperationSpec = { +const listGeoRegionsOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions", - urlParameters: [Parameters.subscriptionId], - queryParameters: [ - Parameters.sku, - Parameters.linuxWorkersEnabled, - Parameters.xenonWorkersEnabled, - Parameters.linuxDynamicWorkersEnabled, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.GeoRegionCollection @@ -1243,24 +921,21 @@ const listGeoRegionsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.sku, + Parameters.linuxWorkersEnabled, + Parameters.xenonWorkersEnabled, + Parameters.linuxDynamicWorkersEnabled + ], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listSiteIdentifiersAssignedToHostNameOperationSpec: msRest.OperationSpec = { +const listSiteIdentifiersAssignedToHostNameOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: { - name: ["options", "name"] - }, - mapper: { - ...Mappers.NameIdentifier, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.IdentifierCollection @@ -1269,15 +944,17 @@ const listSiteIdentifiersAssignedToHostNameOperationSpec: msRest.OperationSpec = bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.nameIdentifier, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listPremierAddOnOffersOperationSpec: msRest.OperationSpec = { +const listPremierAddOnOffersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.PremierAddOnOfferCollection @@ -1286,15 +963,14 @@ const listPremierAddOnOffersOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listSkusOperationSpec: msRest.OperationSpec = { +const listSkusOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/skus", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.SkuInfos @@ -1303,22 +979,15 @@ const listSkusOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const verifyHostingEnvironmentVnetOperationSpec: msRest.OperationSpec = { +const verifyHostingEnvironmentVnetOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.VnetParameters, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.VnetValidationFailureDetails @@ -1327,45 +996,38 @@ const verifyHostingEnvironmentVnetOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const moveOperationSpec: msRest.OperationSpec = { +const moveOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "moveResourceEnvelope", - mapper: { - ...Mappers.CsmMoveResourceEnvelope, - required: true - } - }, responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.moveResourceEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const validateOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", +const validateOperationSpec: coreClient.OperationSpec = { path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "validateRequest", - mapper: { - ...Mappers.ValidateRequest, - required: true - } - }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ValidateResponse @@ -1374,38 +1036,41 @@ const validateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.validateRequest, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const validateMoveOperationSpec: msRest.OperationSpec = { +const validateMoveOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources", - urlParameters: [Parameters.resourceGroupName, Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "moveResourceEnvelope", - mapper: { - ...Mappers.CsmMoveResourceEnvelope, - required: true - } - }, responses: { 204: {}, default: { bodyMapper: Mappers.DefaultErrorResponse } }, + requestBody: Parameters.moveResourceEnvelope, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listSourceControlsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSourceControlsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SourceControlCollection @@ -1414,16 +1079,14 @@ const listSourceControlsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; - -const listBillingMetersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBillingMetersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.billingLocation, Parameters.osType, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.BillingMeterCollection @@ -1432,22 +1095,22 @@ const listBillingMetersNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.billingLocation, + Parameters.osType + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listGeoRegionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listGeoRegionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.sku, - Parameters.linuxWorkersEnabled, - Parameters.xenonWorkersEnabled, - Parameters.linuxDynamicWorkersEnabled, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.GeoRegionCollection @@ -1456,16 +1119,24 @@ const listGeoRegionsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.sku, + Parameters.linuxWorkersEnabled, + Parameters.xenonWorkersEnabled, + Parameters.linuxDynamicWorkersEnabled + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listSiteIdentifiersAssignedToHostNameNextOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - baseUrl: "https://management.azure.com", +const listSiteIdentifiersAssignedToHostNameNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.IdentifierCollection @@ -1474,16 +1145,19 @@ const listSiteIdentifiersAssignedToHostNameNextOperationSpec: msRest.OperationSp bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listPremierAddOnOffersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listPremierAddOnOffersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PremierAddOnOfferCollection @@ -1492,13 +1166,12 @@ const listPremierAddOnOffersNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.DefaultErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -export { - WebSiteManagementClient, - WebSiteManagementClientContext, - Models as WebSiteManagementModels, - Mappers as WebSiteManagementMappers -}; -export * from "./operations"; diff --git a/sdk/appservice/arm-appservice/src/webSiteManagementClientContext.ts b/sdk/appservice/arm-appservice/src/webSiteManagementClientContext.ts index 7abeccec2dfb..0b18a2a643f3 100644 --- a/sdk/appservice/arm-appservice/src/webSiteManagementClientContext.ts +++ b/sdk/appservice/arm-appservice/src/webSiteManagementClientContext.ts @@ -3,73 +3,69 @@ * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { WebSiteManagementClientOptionalParams } from "./models"; -const packageName = "@azure/arm-appservice"; -const packageVersion = "8.1.0"; - -export class WebSiteManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials | TokenCredential; +export class WebSiteManagementClientContext extends coreClient.ServiceClient { + $host: string; subscriptionId: string; - apiVersion?: string; + apiVersion: string; /** - * Initializes a new instance of the WebSiteManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * Initializes a new instance of the WebSiteManagementClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId Your Azure subscription ID. This is a GUID-formatted string (e.g. - * 00000000-0000-0000-0000-000000000000). - * @param [options] The parameter options + * 00000000-0000-0000-0000-000000000000). + * @param options The parameter options */ constructor( - credentials: msRest.ServiceClientCredentials | TokenCredential, + credentials: coreAuth.TokenCredential, subscriptionId: string, - options?: Models.WebSiteManagementClientOptions + options?: WebSiteManagementClientOptionalParams ) { - if (credentials == undefined) { - throw new Error("'credentials' cannot be null."); + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); } - if (subscriptionId == undefined) { - throw new Error("'subscriptionId' cannot be null."); + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); } + // Initializing default values for options if (!options) { options = {}; } - if (!options.userAgent) { - const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const defaults: WebSiteManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - super(credentials, options); + const packageDetails = `azsdk-js-arm-appservice/30.0.0-beta.2`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; - this.apiVersion = "2020-12-01"; - this.acceptLanguage = "en-US"; - this.longRunningOperationRetryTimeout = 30; - this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; - this.requestContentType = "application/json; charset=utf-8"; - this.credentials = credentials; + 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; - if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { - this.acceptLanguage = options.acceptLanguage; - } - if ( - options.longRunningOperationRetryTimeout !== null && - options.longRunningOperationRetryTimeout !== undefined - ) { - this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; - } + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.apiVersion = options.apiVersion || "2021-02-01"; } } diff --git a/sdk/appservice/arm-appservice/tsconfig.json b/sdk/appservice/arm-appservice/tsconfig.json index 422b584abd5e..603440b3a359 100644 --- a/sdk/appservice/arm-appservice/tsconfig.json +++ b/sdk/appservice/arm-appservice/tsconfig.json @@ -3,7 +3,7 @@ "module": "es6", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, @@ -11,7 +11,7 @@ "forceConsistentCasingInFileNames": true, "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, "include": ["./src/**/*.ts"], diff --git a/sdk/appservice/ci.yml b/sdk/appservice/ci.yml new file mode 100644 index 000000000000..c6f51fa95cc1 --- /dev/null +++ b/sdk/appservice/ci.yml @@ -0,0 +1,29 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. +trigger: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/appservice/ + +pr: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/appservice/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: appservice + Artifacts: + - name: azure-arm-appservice + safeName: azurearmappservice + \ No newline at end of file diff --git a/sdk/attestation/attestation/CHANGELOG.md b/sdk/attestation/attestation/CHANGELOG.md index 576a417f3235..c6a2fe11867e 100644 --- a/sdk/attestation/attestation/CHANGELOG.md +++ b/sdk/attestation/attestation/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 1.0.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 1.0.0 (2021-08-10) ### Features Added diff --git a/sdk/attestation/attestation/karma.conf.js b/sdk/attestation/attestation/karma.conf.js index 65e5ce434fd2..b3a22fe1658e 100644 --- a/sdk/attestation/attestation/karma.conf.js +++ b/sdk/attestation/attestation/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/attestation/attestation/package.json b/sdk/attestation/attestation/package.json index c86267a4e474..27bbc9d67664 100644 --- a/sdk/attestation/attestation/package.json +++ b/sdk/attestation/attestation/package.json @@ -1,6 +1,6 @@ { "name": "@azure/attestation", - "version": "1.0.0", + "version": "1.0.1", "description": "Javascript/Typescript client implementation for the Microsoft Azure Attestation service.", "sdk-type": "client", "main": "dist/index.js", @@ -42,7 +42,7 @@ "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest types/3.1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -56,7 +56,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -104,14 +103,14 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", - "@azure/test-utils-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/chai": "^4.1.6", "@types/chai-as-promised": "^7.1.0", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", - "buffer": "^5.2.1", + "buffer": "^6.0.0", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "cross-env": "^7.0.2", @@ -140,11 +139,9 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "rollup": "^1.16.3", - "rollup-plugin-node-resolve": "^3.4.0", - "rollup-plugin-sourcemaps": "^0.4.2", "safe-buffer": "^5.2.1", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "0.15.2", "typescript": "~4.2.0", "util": "^0.12.1" diff --git a/sdk/attestation/attestation/src/generated/generatedClientContext.ts b/sdk/attestation/attestation/src/generated/generatedClientContext.ts index d6f89afd9584..1ea0940e25eb 100644 --- a/sdk/attestation/attestation/src/generated/generatedClientContext.ts +++ b/sdk/attestation/attestation/src/generated/generatedClientContext.ts @@ -31,7 +31,7 @@ export class GeneratedClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-attestation/1.0.0`; + const packageDetails = `azsdk-js-attestation/1.0.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/attestation/attestation/swagger/readme.md b/sdk/attestation/attestation/swagger/README.md similarity index 99% rename from sdk/attestation/attestation/swagger/readme.md rename to sdk/attestation/attestation/swagger/README.md index cc901c7e92ec..437ae3b31247 100644 --- a/sdk/attestation/attestation/swagger/readme.md +++ b/sdk/attestation/attestation/swagger/README.md @@ -17,7 +17,7 @@ autorest README.md ```yaml package-name: "@azure/attestation" -package-version: 1.0.0 +package-version: 1.0.1 tag: package-2020-10-01 generate-metadata: false license-header: MICROSOFT_MIT_NO_VERSION diff --git a/sdk/attestation/attestation/test/browser/attestationTests.browser.spec.ts b/sdk/attestation/attestation/test/browser/attestationTests.browser.spec.ts index 04547dec0b92..6f49de27b5e0 100644 --- a/sdk/attestation/attestation/test/browser/attestationTests.browser.spec.ts +++ b/sdk/attestation/attestation/test/browser/attestationTests.browser.spec.ts @@ -6,7 +6,7 @@ import { Context } from "mocha"; import chaiPromises from "chai-as-promised"; chaiUse(chaiPromises); -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { createRecordedAdminClient, diff --git a/sdk/attestation/attestation/test/public/attestationTests.spec.ts b/sdk/attestation/attestation/test/public/attestationTests.spec.ts index 0cb7f92a00f0..0898a9691b10 100644 --- a/sdk/attestation/attestation/test/public/attestationTests.spec.ts +++ b/sdk/attestation/attestation/test/public/attestationTests.spec.ts @@ -6,7 +6,7 @@ import { Context } from "mocha"; import chaiPromises from "chai-as-promised"; chaiUse(chaiPromises); -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { createRecordedAdminClient, diff --git a/sdk/attestation/attestation/test/public/attestationTokenTests.spec.ts b/sdk/attestation/attestation/test/public/attestationTokenTests.spec.ts index f7a4e0c2b24c..d54964dd8677 100644 --- a/sdk/attestation/attestation/test/public/attestationTokenTests.spec.ts +++ b/sdk/attestation/attestation/test/public/attestationTokenTests.spec.ts @@ -10,7 +10,7 @@ import { Context } from "mocha"; import chaiPromises from "chai-as-promised"; chaiUse(chaiPromises); -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { createRecorder } from "../utils/recordedClient"; diff --git a/sdk/attestation/attestation/test/public/policyGetSetTests.spec.ts b/sdk/attestation/attestation/test/public/policyGetSetTests.spec.ts index 05479c6f6c20..3af2d96e1a84 100644 --- a/sdk/attestation/attestation/test/public/policyGetSetTests.spec.ts +++ b/sdk/attestation/attestation/test/public/policyGetSetTests.spec.ts @@ -11,7 +11,7 @@ import chaiAsPromised from "chai-as-promised"; chaiUse(chaiAsPromised); -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { createRecordedAdminClient, diff --git a/sdk/attestation/attestation/test/public/policyManagementGetSetTests.spec.ts b/sdk/attestation/attestation/test/public/policyManagementGetSetTests.spec.ts index efb04ddeba35..4239be91c1e5 100644 --- a/sdk/attestation/attestation/test/public/policyManagementGetSetTests.spec.ts +++ b/sdk/attestation/attestation/test/public/policyManagementGetSetTests.spec.ts @@ -6,7 +6,7 @@ import { Context } from "mocha"; import chaiAsPromised from "chai-as-promised"; chaiUse(chaiAsPromised); -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { createRecordedAdminClient, diff --git a/sdk/attestation/attestation/test/public/tokenCertTests.spec.ts b/sdk/attestation/attestation/test/public/tokenCertTests.spec.ts index 5e8cab9593d3..cdba82a670a6 100644 --- a/sdk/attestation/attestation/test/public/tokenCertTests.spec.ts +++ b/sdk/attestation/attestation/test/public/tokenCertTests.spec.ts @@ -10,7 +10,7 @@ import { Context } from "mocha"; import chaiPromises from "chai-as-promised"; chaiUse(chaiPromises); -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { createRecordedClient, createRecorder, getAttestationUri } from "../utils/recordedClient"; import { AttestationClient } from "../../src"; diff --git a/sdk/attestation/attestation/test/utils/recordedClient.ts b/sdk/attestation/attestation/test/utils/recordedClient.ts index 5417e5a6dc8b..87060f1ade57 100644 --- a/sdk/attestation/attestation/test/utils/recordedClient.ts +++ b/sdk/attestation/attestation/test/utils/recordedClient.ts @@ -10,7 +10,7 @@ import { record, RecorderEnvironmentSetup, isPlaybackMode -} from "@azure/test-utils-recorder"; +} from "@azure-tools/test-recorder"; import { AttestationClient, diff --git a/sdk/authorization/arm-authorization/CHANGELOG.md b/sdk/authorization/arm-authorization/CHANGELOG.md new file mode 100644 index 000000000000..34287994aefc --- /dev/null +++ b/sdk/authorization/arm-authorization/CHANGELOG.md @@ -0,0 +1,26 @@ +# Release History + +## 30.0.0-beta.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.1 (2021-08-31) + +This is the first preview for the new version of the `@azure/arm-authorization` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/servicebus/arm-servicebus/LICENSE.txt b/sdk/authorization/arm-authorization/LICENSE similarity index 96% rename from sdk/servicebus/arm-servicebus/LICENSE.txt rename to sdk/authorization/arm-authorization/LICENSE index ea8fb1516028..ccb63b166732 100644 --- a/sdk/servicebus/arm-servicebus/LICENSE.txt +++ b/sdk/authorization/arm-authorization/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2020 Microsoft +Copyright (c) 2021 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 @@ -18,4 +18,4 @@ 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. +SOFTWARE. \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/README.md b/sdk/authorization/arm-authorization/README.md index 97a2b1e7248b..87527b6e05b8 100644 --- a/sdk/authorization/arm-authorization/README.md +++ b/sdk/authorization/arm-authorization/README.md @@ -1,109 +1,93 @@ -## Azure AuthorizationManagementClient SDK for JavaScript +# Azure AuthorizationManagement client library for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for AuthorizationManagementClient. +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure AuthorizationManagement client. + +Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role assignments. A role assignment grants access to Azure Active Directory users. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-authorization) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-authorization) | +[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. +- Latest versions of Safari, Chrome, Edge and Firefox. ### Prerequisites -You must have an [Azure subscription](https://azure.microsoft.com/free/). +- An [Azure subscription][azure_sub]. -### How to install +### Install the `@azure/arm-authorization` package -To use this SDK in your project, you will need to install two packages. -- `@azure/arm-authorization` that contains the client. -- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. +Install the Azure AuthorizationManagement client library for JavaScript with `npm`: -Install both packages using the below command: ```bash -npm install --save @azure/arm-authorization @azure/identity +npm install @azure/arm-authorization ``` -> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. -If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. +### Create and authenticate a `AuthorizationManagementClient` -### How to use +To create a client object to access the Azure AuthorizationManagement API, you will need the `endpoint` of your Azure AuthorizationManagement resource and a `credential`. The Azure AuthorizationManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure AuthorizationManagement resource in the [Azure Portal][azure_portal]. -- If you are writing a client side browser application, - - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. - - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. -- If you are writing a server side application, - - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) - - Complete the set up steps required by the credential if any. - - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. +#### Using an Azure Active Directory Credential -In the below samples, we pass the credential and the Azure subscription id to instantiate the client. -Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: -#### nodejs - Authentication, client creation, and list classicAdministrators as an example written in JavaScript. +```bash +npm install @azure/identity +``` -##### Sample code +You will also need to **register a new AAD application and grant access to Azure AuthorizationManagement** 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 { DefaultAzureCredential } = require("@azure/identity"); const { AuthorizationManagementClient } = require("@azure/arm-authorization"); -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples -// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. -const creds = new DefaultAzureCredential(); -const client = new AuthorizationManagementClient(creds, subscriptionId); - -client.classicAdministrators.list().then((result) => { - console.log("The result is:"); - console.log(result); -}).catch((err) => { - console.log("An error occurred:"); - console.error(err); -}); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new AuthorizationManagementClient(new DefaultAzureCredential(), subscriptionId); ``` -#### browser - Authentication, client creation, and list classicAdministrators as an example written in JavaScript. - -In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. - - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. - - Note down the client Id from the previous step and use it in the browser sample below. - -##### Sample code - -- index.html - -```html - - - - @azure/arm-authorization sample - - - - - - - +## Key concepts + +### AuthorizationManagementClient + +`AuthorizationManagementClient` is the primary interface for developers using the Azure AuthorizationManagement client library. Explore the methods on this client object to understand the different features of the Azure AuthorizationManagement 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) +- [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%2Fauthorization%2Farm-authorization%2FREADME.png) -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/authorization/arm-authorization/README.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/authorization/arm-authorization/_meta.json b/sdk/authorization/arm-authorization/_meta.json new file mode 100644 index 000000000000..d11bfb4ce957 --- /dev/null +++ b/sdk/authorization/arm-authorization/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "f9e4843e2ed3494e8bd66a92c3e7f65655f58f46", + "readme": "specification/authorization/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/authorization/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.12", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-beta.12" +} \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/api-extractor.json b/sdk/authorization/arm-authorization/api-extractor.json new file mode 100644 index 000000000000..721910fd40b8 --- /dev/null +++ b/sdk/authorization/arm-authorization/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-authorization.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/authorization/arm-authorization/package.json b/sdk/authorization/arm-authorization/package.json index 13554cbdc890..0f49a0d0233f 100644 --- a/sdk/authorization/arm-authorization/package.json +++ b/sdk/authorization/arm-authorization/package.json @@ -1,13 +1,18 @@ { "name": "@azure/arm-authorization", + "sdk-type": "mgmt", "author": "Microsoft Corporation", - "description": "AuthorizationManagementClient Library with typescript type definitions for node.js and browser.", - "version": "8.4.0", + "description": "A generated SDK for AuthorizationManagementClient.", + "version": "30.0.0-beta.2", + "engines": { + "node": ">=12.0.0" + }, "dependencies": { - "@azure/ms-rest-azure-js": "^2.1.0", - "@azure/ms-rest-js": "^2.2.0", - "@azure/core-auth": "^1.1.4", - "tslib": "^1.9.3" + "@azure/core-paging": "^1.1.1", + "@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", @@ -17,14 +22,19 @@ "isomorphic" ], "license": "MIT", - "main": "./dist/arm-authorization.js", - "module": "./esm/authorizationManagementClient.js", - "types": "./esm/authorizationManagementClient.d.ts", + "main": "./dist/index.js", + "module": "./dist-esm/index.js", + "types": "./types/arm-authorization.d.ts", "devDependencies": { - "typescript": "^3.6.0", - "rollup": "^0.66.2", - "rollup-plugin-node-resolve": "^3.4.0", + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", + "typescript": "~4.2.0", "uglify-js": "^3.4.9" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization", @@ -40,19 +50,46 @@ "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.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" + "tsconfig.json", + "review/*", + "CHANGELOG.md", + "types/*" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify", - "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-authorization.js.map'\" -o ./dist/arm-authorization.min.js ./dist/arm-authorization.js", - "prepack": "npm install && npm run build" + "build": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" }, "sideEffects": false, "autoPublish": true diff --git a/sdk/authorization/arm-authorization/review/arm-authorization.api.md b/sdk/authorization/arm-authorization/review/arm-authorization.api.md new file mode 100644 index 000000000000..c3712ab2a018 --- /dev/null +++ b/sdk/authorization/arm-authorization/review/arm-authorization.api.md @@ -0,0 +1,1297 @@ +## API Report File for "@azure/arm-authorization" + +> 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'; + +// @public +export type ApprovalMode = string; + +// @public +export interface ApprovalSettings { + approvalMode?: ApprovalMode; + approvalStages?: ApprovalStage[]; + isApprovalRequired?: boolean; + isApprovalRequiredForExtension?: boolean; + isRequestorJustificationRequired?: boolean; +} + +// @public +export interface ApprovalStage { + approvalStageTimeOutInDays?: number; + escalationApprovers?: UserSet[]; + escalationTimeInMinutes?: number; + isApproverJustificationRequired?: boolean; + isEscalationEnabled?: boolean; + primaryApprovers?: UserSet[]; +} + +// @public +export type AssignmentType = string; + +// @public (undocumented) +export class AuthorizationManagementClient extends AuthorizationManagementClientContext { + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams); + // (undocumented) + eligibleChildResources: EligibleChildResources; + // (undocumented) + roleAssignments: RoleAssignments; + // (undocumented) + roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; + // (undocumented) + roleAssignmentScheduleRequests: RoleAssignmentScheduleRequests; + // (undocumented) + roleAssignmentSchedules: RoleAssignmentSchedules; + // (undocumented) + roleEligibilityScheduleInstances: RoleEligibilityScheduleInstances; + // (undocumented) + roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; + // (undocumented) + roleEligibilitySchedules: RoleEligibilitySchedules; + // (undocumented) + roleManagementPolicies: RoleManagementPolicies; + // (undocumented) + roleManagementPolicyAssignments: RoleManagementPolicyAssignments; +} + +// @public (undocumented) +export class AuthorizationManagementClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams); + // (undocumented) + apiVersion: string; + // (undocumented) + subscriptionId: string; +} + +// @public +export interface AuthorizationManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export interface CloudError { + error?: CloudErrorBody; +} + +// @public +export interface CloudErrorBody { + code?: string; + message?: string; +} + +// @public +export interface EligibleChildResource { + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export interface EligibleChildResources { + list(scope: string, options?: EligibleChildResourcesGetOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface EligibleChildResourcesGetNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type EligibleChildResourcesGetNextResponse = EligibleChildResourcesListResult; + +// @public +export interface EligibleChildResourcesGetOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type EligibleChildResourcesGetResponse = EligibleChildResourcesListResult; + +// @public +export interface EligibleChildResourcesListResult { + nextLink?: string; + value?: EligibleChildResource[]; +} + +// @public +export type EnablementRules = string; + +// @public +export interface ErrorAdditionalInfo { + readonly info?: Record; + readonly type?: string; +} + +// @public +export interface ErrorDetail { + readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly code?: string; + readonly details?: ErrorDetail[]; + readonly message?: string; + readonly target?: string; +} + +// @public +export interface ErrorResponse { + error?: ErrorDetail; +} + +// @public (undocumented) +export interface ExpandedProperties { + principal?: ExpandedPropertiesPrincipal; + roleDefinition?: ExpandedPropertiesRoleDefinition; + scope?: ExpandedPropertiesScope; +} + +// @public +export interface ExpandedPropertiesPrincipal { + displayName?: string; + email?: string; + id?: string; + type?: string; +} + +// @public +export interface ExpandedPropertiesRoleDefinition { + displayName?: string; + id?: string; + type?: string; +} + +// @public +export interface ExpandedPropertiesScope { + displayName?: string; + id?: string; + type?: string; +} + +// @public +export enum KnownApprovalMode { + // (undocumented) + NoApproval = "NoApproval", + // (undocumented) + Parallel = "Parallel", + // (undocumented) + Serial = "Serial", + // (undocumented) + SingleStage = "SingleStage" +} + +// @public +export enum KnownAssignmentType { + // (undocumented) + Activated = "Activated", + // (undocumented) + Assigned = "Assigned" +} + +// @public +export enum KnownEnablementRules { + // (undocumented) + Justification = "Justification", + // (undocumented) + MultiFactorAuthentication = "MultiFactorAuthentication", + // (undocumented) + Ticketing = "Ticketing" +} + +// @public +export enum KnownMemberType { + // (undocumented) + Direct = "Direct", + // (undocumented) + Group = "Group", + // (undocumented) + Inherited = "Inherited" +} + +// @public +export enum KnownNotificationDeliveryMechanism { + // (undocumented) + Email = "Email" +} + +// @public +export enum KnownNotificationLevel { + // (undocumented) + All = "All", + // (undocumented) + Critical = "Critical", + // (undocumented) + None = "None" +} + +// @public +export enum KnownPrincipalType { + // (undocumented) + Application = "Application", + // (undocumented) + Device = "Device", + // (undocumented) + DirectoryObjectOrGroup = "DirectoryObjectOrGroup", + // (undocumented) + DirectoryRoleTemplate = "DirectoryRoleTemplate", + // (undocumented) + Everyone = "Everyone", + // (undocumented) + ForeignGroup = "ForeignGroup", + // (undocumented) + Group = "Group", + // (undocumented) + MSI = "MSI", + // (undocumented) + ServicePrincipal = "ServicePrincipal", + // (undocumented) + Unknown = "Unknown", + // (undocumented) + User = "User" +} + +// @public +export enum KnownRecipientType { + // (undocumented) + Admin = "Admin", + // (undocumented) + Approver = "Approver", + // (undocumented) + Requestor = "Requestor" +} + +// @public +export enum KnownRequestType { + // (undocumented) + AdminAssign = "AdminAssign", + // (undocumented) + AdminExtend = "AdminExtend", + // (undocumented) + AdminRemove = "AdminRemove", + // (undocumented) + AdminRenew = "AdminRenew", + // (undocumented) + AdminUpdate = "AdminUpdate", + // (undocumented) + SelfActivate = "SelfActivate", + // (undocumented) + SelfDeactivate = "SelfDeactivate", + // (undocumented) + SelfExtend = "SelfExtend", + // (undocumented) + SelfRenew = "SelfRenew" +} + +// @public +export enum KnownRoleManagementPolicyRuleType { + // (undocumented) + RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", + // (undocumented) + RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", + // (undocumented) + RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", + // (undocumented) + RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", + // (undocumented) + RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" +} + +// @public +export enum KnownStatus { + // (undocumented) + Accepted = "Accepted", + // (undocumented) + AdminApproved = "AdminApproved", + // (undocumented) + AdminDenied = "AdminDenied", + // (undocumented) + Canceled = "Canceled", + // (undocumented) + Denied = "Denied", + // (undocumented) + Failed = "Failed", + // (undocumented) + FailedAsResourceIsLocked = "FailedAsResourceIsLocked", + // (undocumented) + Granted = "Granted", + // (undocumented) + Invalid = "Invalid", + // (undocumented) + PendingAdminDecision = "PendingAdminDecision", + // (undocumented) + PendingApproval = "PendingApproval", + // (undocumented) + PendingApprovalProvisioning = "PendingApprovalProvisioning", + // (undocumented) + PendingEvaluation = "PendingEvaluation", + // (undocumented) + PendingExternalProvisioning = "PendingExternalProvisioning", + // (undocumented) + PendingProvisioning = "PendingProvisioning", + // (undocumented) + PendingRevocation = "PendingRevocation", + // (undocumented) + PendingScheduleCreation = "PendingScheduleCreation", + // (undocumented) + Provisioned = "Provisioned", + // (undocumented) + ProvisioningStarted = "ProvisioningStarted", + // (undocumented) + Revoked = "Revoked", + // (undocumented) + ScheduleCreated = "ScheduleCreated", + // (undocumented) + TimedOut = "TimedOut" +} + +// @public +export enum KnownType { + // (undocumented) + AfterDateTime = "AfterDateTime", + // (undocumented) + AfterDuration = "AfterDuration", + // (undocumented) + NoExpiration = "NoExpiration" +} + +// @public +export enum KnownUserType { + // (undocumented) + Group = "Group", + // (undocumented) + User = "User" +} + +// @public +export type MemberType = string; + +// @public +export type NotificationDeliveryMechanism = string; + +// @public +export type NotificationLevel = string; + +// @public (undocumented) +export interface PolicyAssignmentProperties { + policy?: PolicyAssignmentPropertiesPolicy; + roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; + scope?: PolicyAssignmentPropertiesScope; +} + +// @public +export interface PolicyAssignmentPropertiesPolicy { + id?: string; + readonly lastModifiedBy?: Principal; + lastModifiedDateTime?: Date; +} + +// @public +export interface PolicyAssignmentPropertiesRoleDefinition { + displayName?: string; + id?: string; + type?: string; +} + +// @public +export interface PolicyAssignmentPropertiesScope { + displayName?: string; + id?: string; + type?: string; +} + +// @public (undocumented) +export interface PolicyProperties { + readonly scope?: PolicyPropertiesScope; +} + +// @public +export interface PolicyPropertiesScope { + displayName?: string; + id?: string; + type?: string; +} + +// @public +export interface Principal { + displayName?: string; + email?: string; + id?: string; + type?: string; +} + +// @public +export type PrincipalType = string; + +// @public +export type RecipientType = string; + +// @public +export type RequestType = string; + +// @public +export interface RoleAssignment { + condition?: string; + conditionVersion?: string; + readonly createdBy?: string; + readonly createdOn?: Date; + delegatedManagedIdentityResourceId?: string; + description?: string; + readonly id?: string; + readonly name?: string; + principalId?: string; + principalType?: PrincipalType; + roleDefinitionId?: string; + readonly scope?: string; + readonly type?: string; + readonly updatedBy?: string; + readonly updatedOn?: Date; +} + +// @public +export interface RoleAssignmentCreateParameters { + condition?: string; + conditionVersion?: string; + readonly createdBy?: string; + readonly createdOn?: Date; + delegatedManagedIdentityResourceId?: string; + description?: string; + principalId: string; + principalType?: PrincipalType; + roleDefinitionId: string; + readonly scope?: string; + readonly updatedBy?: string; + readonly updatedOn?: Date; +} + +// @public +export interface RoleAssignmentFilter { + principalId?: string; +} + +// @public +export interface RoleAssignmentListResult { + readonly nextLink?: string; + value?: RoleAssignment[]; +} + +// @public +export interface RoleAssignments { + create(scope: string, roleAssignmentName: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsCreateOptionalParams): Promise; + createById(roleAssignmentId: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsCreateByIdOptionalParams): Promise; + delete(scope: string, roleAssignmentName: string, options?: RoleAssignmentsDeleteOptionalParams): Promise; + deleteById(roleAssignmentId: string, options?: RoleAssignmentsDeleteByIdOptionalParams): Promise; + get(scope: string, roleAssignmentName: string, options?: RoleAssignmentsGetOptionalParams): Promise; + getById(roleAssignmentId: string, options?: RoleAssignmentsGetByIdOptionalParams): Promise; + listForResource(resourceGroupName: string, resourceProviderNamespace: string, resourceType: string, resourceName: string, options?: RoleAssignmentsListForResourceOptionalParams): PagedAsyncIterableIterator; + listForResourceGroup(resourceGroupName: string, options?: RoleAssignmentsListForResourceGroupOptionalParams): PagedAsyncIterableIterator; + listForScope(scope: string, options?: RoleAssignmentsListForScopeOptionalParams): PagedAsyncIterableIterator; + listForSubscription(options?: RoleAssignmentsListForSubscriptionOptionalParams): PagedAsyncIterableIterator; + validate(scope: string, roleAssignmentName: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsValidateOptionalParams): Promise; + validateById(roleAssignmentId: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsValidateByIdOptionalParams): Promise; +} + +// @public +export interface RoleAssignmentSchedule { + assignmentType?: AssignmentType; + condition?: string; + conditionVersion?: string; + createdOn?: Date; + endDateTime?: Date; + expandedProperties?: ExpandedProperties; + readonly id?: string; + linkedRoleEligibilityScheduleId?: string; + memberType?: MemberType; + readonly name?: string; + principalId?: string; + principalType?: PrincipalType; + roleAssignmentScheduleRequestId?: string; + roleDefinitionId?: string; + scope?: string; + startDateTime?: Date; + status?: Status; + readonly type?: string; + updatedOn?: Date; +} + +// @public +export interface RoleAssignmentScheduleFilter { + principalId?: string; + roleDefinitionId?: string; + status?: string; +} + +// @public +export interface RoleAssignmentScheduleInstance { + assignmentType?: AssignmentType; + condition?: string; + conditionVersion?: string; + createdOn?: Date; + endDateTime?: Date; + expandedProperties?: ExpandedProperties; + readonly id?: string; + linkedRoleEligibilityScheduleId?: string; + linkedRoleEligibilityScheduleInstanceId?: string; + memberType?: MemberType; + readonly name?: string; + originRoleAssignmentId?: string; + principalId?: string; + principalType?: PrincipalType; + roleAssignmentScheduleId?: string; + roleDefinitionId?: string; + scope?: string; + startDateTime?: Date; + status?: Status; + readonly type?: string; +} + +// @public +export interface RoleAssignmentScheduleInstanceFilter { + principalId?: string; + roleAssignmentScheduleId?: string; + roleDefinitionId?: string; + status?: string; +} + +// @public +export interface RoleAssignmentScheduleInstanceListResult { + nextLink?: string; + value?: RoleAssignmentScheduleInstance[]; +} + +// @public +export interface RoleAssignmentScheduleInstances { + get(scope: string, roleAssignmentScheduleInstanceName: string, options?: RoleAssignmentScheduleInstancesGetOptionalParams): Promise; + listForScope(scope: string, options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RoleAssignmentScheduleInstancesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleAssignmentScheduleInstancesGetResponse = RoleAssignmentScheduleInstance; + +// @public +export interface RoleAssignmentScheduleInstancesListForScopeNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleAssignmentScheduleInstancesListForScopeNextResponse = RoleAssignmentScheduleInstanceListResult; + +// @public +export interface RoleAssignmentScheduleInstancesListForScopeOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleAssignmentScheduleInstancesListForScopeResponse = RoleAssignmentScheduleInstanceListResult; + +// @public +export interface RoleAssignmentScheduleListResult { + nextLink?: string; + value?: RoleAssignmentSchedule[]; +} + +// @public +export interface RoleAssignmentScheduleRequest { + readonly approvalId?: string; + condition?: string; + conditionVersion?: string; + readonly createdOn?: Date; + readonly expandedProperties?: ExpandedProperties; + readonly id?: string; + justification?: string; + linkedRoleEligibilityScheduleId?: string; + readonly name?: string; + principalId?: string; + readonly principalType?: PrincipalType; + readonly requestorId?: string; + requestType?: RequestType; + roleDefinitionId?: string; + scheduleInfo?: RoleAssignmentScheduleRequestPropertiesScheduleInfo; + readonly scope?: string; + readonly status?: Status; + targetRoleAssignmentScheduleId?: string; + targetRoleAssignmentScheduleInstanceId?: string; + ticketInfo?: RoleAssignmentScheduleRequestPropertiesTicketInfo; + readonly type?: string; +} + +// @public +export interface RoleAssignmentScheduleRequestFilter { + principalId?: string; + requestorId?: string; + roleDefinitionId?: string; + status?: string; +} + +// @public +export interface RoleAssignmentScheduleRequestListResult { + nextLink?: string; + value?: RoleAssignmentScheduleRequest[]; +} + +// @public +export interface RoleAssignmentScheduleRequestPropertiesScheduleInfo { + expiration?: RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration; + startDateTime?: Date; +} + +// @public +export interface RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration { + duration?: string; + endDateTime?: Date; + type?: Type; +} + +// @public +export interface RoleAssignmentScheduleRequestPropertiesTicketInfo { + ticketNumber?: string; + ticketSystem?: string; +} + +// @public +export interface RoleAssignmentScheduleRequests { + cancel(scope: string, roleAssignmentScheduleRequestName: string, options?: RoleAssignmentScheduleRequestsCancelOptionalParams): Promise; + create(scope: string, roleAssignmentScheduleRequestName: string, parameters: RoleAssignmentScheduleRequest, options?: RoleAssignmentScheduleRequestsCreateOptionalParams): Promise; + get(scope: string, roleAssignmentScheduleRequestName: string, options?: RoleAssignmentScheduleRequestsGetOptionalParams): Promise; + listForScope(scope: string, options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RoleAssignmentScheduleRequestsCancelOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RoleAssignmentScheduleRequestsCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleAssignmentScheduleRequestsCreateResponse = RoleAssignmentScheduleRequest; + +// @public +export interface RoleAssignmentScheduleRequestsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleAssignmentScheduleRequestsGetResponse = RoleAssignmentScheduleRequest; + +// @public +export interface RoleAssignmentScheduleRequestsListForScopeNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleAssignmentScheduleRequestsListForScopeNextResponse = RoleAssignmentScheduleRequestListResult; + +// @public +export interface RoleAssignmentScheduleRequestsListForScopeOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleAssignmentScheduleRequestsListForScopeResponse = RoleAssignmentScheduleRequestListResult; + +// @public +export interface RoleAssignmentSchedules { + get(scope: string, roleAssignmentScheduleName: string, options?: RoleAssignmentSchedulesGetOptionalParams): Promise; + listForScope(scope: string, options?: RoleAssignmentSchedulesListForScopeOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RoleAssignmentSchedulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleAssignmentSchedulesGetResponse = RoleAssignmentSchedule; + +// @public +export interface RoleAssignmentSchedulesListForScopeNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleAssignmentSchedulesListForScopeNextResponse = RoleAssignmentScheduleListResult; + +// @public +export interface RoleAssignmentSchedulesListForScopeOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleAssignmentSchedulesListForScopeResponse = RoleAssignmentScheduleListResult; + +// @public +export interface RoleAssignmentsCreateByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleAssignmentsCreateByIdResponse = RoleAssignment; + +// @public +export interface RoleAssignmentsCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleAssignmentsCreateResponse = RoleAssignment; + +// @public +export interface RoleAssignmentsDeleteByIdOptionalParams extends coreClient.OperationOptions { + tenantId?: string; +} + +// @public +export type RoleAssignmentsDeleteByIdResponse = RoleAssignment; + +// @public +export interface RoleAssignmentsDeleteOptionalParams extends coreClient.OperationOptions { + tenantId?: string; +} + +// @public +export type RoleAssignmentsDeleteResponse = RoleAssignment; + +// @public +export interface RoleAssignmentsGetByIdOptionalParams extends coreClient.OperationOptions { + tenantId?: string; +} + +// @public +export type RoleAssignmentsGetByIdResponse = RoleAssignment; + +// @public +export interface RoleAssignmentsGetOptionalParams extends coreClient.OperationOptions { + tenantId?: string; +} + +// @public +export type RoleAssignmentsGetResponse = RoleAssignment; + +// @public +export interface RoleAssignmentsListForResourceGroupNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + tenantId?: string; +} + +// @public +export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; + +// @public +export interface RoleAssignmentsListForResourceGroupOptionalParams extends coreClient.OperationOptions { + filter?: string; + tenantId?: string; +} + +// @public +export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; + +// @public +export interface RoleAssignmentsListForResourceNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + tenantId?: string; +} + +// @public +export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; + +// @public +export interface RoleAssignmentsListForResourceOptionalParams extends coreClient.OperationOptions { + filter?: string; + tenantId?: string; +} + +// @public +export type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult; + +// @public +export interface RoleAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + tenantId?: string; +} + +// @public +export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; + +// @public +export interface RoleAssignmentsListForScopeOptionalParams extends coreClient.OperationOptions { + filter?: string; + tenantId?: string; +} + +// @public +export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; + +// @public +export interface RoleAssignmentsListForSubscriptionNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + tenantId?: string; +} + +// @public +export type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; + +// @public +export interface RoleAssignmentsListForSubscriptionOptionalParams extends coreClient.OperationOptions { + filter?: string; + tenantId?: string; +} + +// @public +export type RoleAssignmentsListForSubscriptionResponse = RoleAssignmentListResult; + +// @public +export interface RoleAssignmentsValidateByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleAssignmentsValidateByIdResponse = ValidationResponse; + +// @public +export interface RoleAssignmentsValidateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleAssignmentsValidateResponse = ValidationResponse; + +// @public +export interface RoleEligibilitySchedule { + condition?: string; + conditionVersion?: string; + createdOn?: Date; + endDateTime?: Date; + expandedProperties?: ExpandedProperties; + readonly id?: string; + memberType?: MemberType; + readonly name?: string; + principalId?: string; + principalType?: PrincipalType; + roleDefinitionId?: string; + roleEligibilityScheduleRequestId?: string; + scope?: string; + startDateTime?: Date; + status?: Status; + readonly type?: string; + updatedOn?: Date; +} + +// @public +export interface RoleEligibilityScheduleFilter { + principalId?: string; + roleDefinitionId?: string; + status?: string; +} + +// @public +export interface RoleEligibilityScheduleInstance { + condition?: string; + conditionVersion?: string; + createdOn?: Date; + endDateTime?: Date; + expandedProperties?: ExpandedProperties; + readonly id?: string; + memberType?: MemberType; + readonly name?: string; + principalId?: string; + principalType?: PrincipalType; + roleDefinitionId?: string; + roleEligibilityScheduleId?: string; + scope?: string; + startDateTime?: Date; + status?: Status; + readonly type?: string; +} + +// @public +export interface RoleEligibilityScheduleInstanceFilter { + principalId?: string; + roleDefinitionId?: string; + roleEligibilityScheduleId?: string; + status?: string; +} + +// @public +export interface RoleEligibilityScheduleInstanceListResult { + nextLink?: string; + value?: RoleEligibilityScheduleInstance[]; +} + +// @public +export interface RoleEligibilityScheduleInstances { + get(scope: string, roleEligibilityScheduleInstanceName: string, options?: RoleEligibilityScheduleInstancesGetOptionalParams): Promise; + listForScope(scope: string, options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RoleEligibilityScheduleInstancesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleEligibilityScheduleInstancesGetResponse = RoleEligibilityScheduleInstance; + +// @public +export interface RoleEligibilityScheduleInstancesListForScopeNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleEligibilityScheduleInstancesListForScopeNextResponse = RoleEligibilityScheduleInstanceListResult; + +// @public +export interface RoleEligibilityScheduleInstancesListForScopeOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleEligibilityScheduleInstancesListForScopeResponse = RoleEligibilityScheduleInstanceListResult; + +// @public +export interface RoleEligibilityScheduleListResult { + nextLink?: string; + value?: RoleEligibilitySchedule[]; +} + +// @public +export interface RoleEligibilityScheduleRequest { + readonly approvalId?: string; + condition?: string; + conditionVersion?: string; + readonly createdOn?: Date; + readonly expandedProperties?: ExpandedProperties; + readonly id?: string; + justification?: string; + readonly name?: string; + principalId?: string; + readonly principalType?: PrincipalType; + readonly requestorId?: string; + requestType?: RequestType; + roleDefinitionId?: string; + scheduleInfo?: RoleEligibilityScheduleRequestPropertiesScheduleInfo; + readonly scope?: string; + readonly status?: Status; + targetRoleEligibilityScheduleId?: string; + targetRoleEligibilityScheduleInstanceId?: string; + ticketInfo?: RoleEligibilityScheduleRequestPropertiesTicketInfo; + readonly type?: string; +} + +// @public +export interface RoleEligibilityScheduleRequestFilter { + principalId?: string; + requestorId?: string; + roleDefinitionId?: string; + status?: string; +} + +// @public +export interface RoleEligibilityScheduleRequestListResult { + nextLink?: string; + value?: RoleEligibilityScheduleRequest[]; +} + +// @public +export interface RoleEligibilityScheduleRequestPropertiesScheduleInfo { + expiration?: RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration; + startDateTime?: Date; +} + +// @public +export interface RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration { + duration?: string; + endDateTime?: Date; + type?: Type; +} + +// @public +export interface RoleEligibilityScheduleRequestPropertiesTicketInfo { + ticketNumber?: string; + ticketSystem?: string; +} + +// @public +export interface RoleEligibilityScheduleRequests { + cancel(scope: string, roleEligibilityScheduleRequestName: string, options?: RoleEligibilityScheduleRequestsCancelOptionalParams): Promise; + create(scope: string, roleEligibilityScheduleRequestName: string, parameters: RoleEligibilityScheduleRequest, options?: RoleEligibilityScheduleRequestsCreateOptionalParams): Promise; + get(scope: string, roleEligibilityScheduleRequestName: string, options?: RoleEligibilityScheduleRequestsGetOptionalParams): Promise; + listForScope(scope: string, options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RoleEligibilityScheduleRequestsCancelOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RoleEligibilityScheduleRequestsCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleEligibilityScheduleRequestsCreateResponse = RoleEligibilityScheduleRequest; + +// @public +export interface RoleEligibilityScheduleRequestsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleEligibilityScheduleRequestsGetResponse = RoleEligibilityScheduleRequest; + +// @public +export interface RoleEligibilityScheduleRequestsListForScopeNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleEligibilityScheduleRequestsListForScopeNextResponse = RoleEligibilityScheduleRequestListResult; + +// @public +export interface RoleEligibilityScheduleRequestsListForScopeOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleEligibilityScheduleRequestsListForScopeResponse = RoleEligibilityScheduleRequestListResult; + +// @public +export interface RoleEligibilitySchedules { + get(scope: string, roleEligibilityScheduleName: string, options?: RoleEligibilitySchedulesGetOptionalParams): Promise; + listForScope(scope: string, options?: RoleEligibilitySchedulesListForScopeOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RoleEligibilitySchedulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleEligibilitySchedulesGetResponse = RoleEligibilitySchedule; + +// @public +export interface RoleEligibilitySchedulesListForScopeNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleEligibilitySchedulesListForScopeNextResponse = RoleEligibilityScheduleListResult; + +// @public +export interface RoleEligibilitySchedulesListForScopeOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type RoleEligibilitySchedulesListForScopeResponse = RoleEligibilityScheduleListResult; + +// @public +export interface RoleManagementPolicies { + delete(scope: string, roleManagementPolicyName: string, options?: RoleManagementPoliciesDeleteOptionalParams): Promise; + get(scope: string, roleManagementPolicyName: string, options?: RoleManagementPoliciesGetOptionalParams): Promise; + listForScope(scope: string, options?: RoleManagementPoliciesListForScopeOptionalParams): PagedAsyncIterableIterator; + update(scope: string, roleManagementPolicyName: string, parameters: RoleManagementPolicy, options?: RoleManagementPoliciesUpdateOptionalParams): Promise; +} + +// @public +export interface RoleManagementPoliciesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RoleManagementPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleManagementPoliciesGetResponse = RoleManagementPolicy; + +// @public +export interface RoleManagementPoliciesListForScopeNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleManagementPoliciesListForScopeNextResponse = RoleManagementPolicyListResult; + +// @public +export interface RoleManagementPoliciesListForScopeOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleManagementPoliciesListForScopeResponse = RoleManagementPolicyListResult; + +// @public +export interface RoleManagementPoliciesUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleManagementPoliciesUpdateResponse = RoleManagementPolicy; + +// @public +export interface RoleManagementPolicy { + description?: string; + displayName?: string; + readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; + readonly id?: string; + isOrganizationDefault?: boolean; + readonly lastModifiedBy?: Principal; + readonly lastModifiedDateTime?: Date; + readonly name?: string; + readonly policyProperties?: PolicyProperties; + rules?: RoleManagementPolicyRuleUnion[]; + scope?: string; + readonly type?: string; +} + +// @public +export type RoleManagementPolicyApprovalRule = RoleManagementPolicyRule & { + ruleType: "RoleManagementPolicyApprovalRule"; + setting?: ApprovalSettings; +}; + +// @public +export interface RoleManagementPolicyAssignment { + readonly id?: string; + readonly name?: string; + readonly policyAssignmentProperties?: PolicyAssignmentProperties; + policyId?: string; + roleDefinitionId?: string; + scope?: string; + readonly type?: string; +} + +// @public +export interface RoleManagementPolicyAssignmentListResult { + nextLink?: string; + value?: RoleManagementPolicyAssignment[]; +} + +// @public +export interface RoleManagementPolicyAssignments { + create(scope: string, roleManagementPolicyAssignmentName: string, parameters: RoleManagementPolicyAssignment, options?: RoleManagementPolicyAssignmentsCreateOptionalParams): Promise; + delete(scope: string, roleManagementPolicyAssignmentName: string, options?: RoleManagementPolicyAssignmentsDeleteOptionalParams): Promise; + get(scope: string, roleManagementPolicyAssignmentName: string, options?: RoleManagementPolicyAssignmentsGetOptionalParams): Promise; + listForScope(scope: string, options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RoleManagementPolicyAssignmentsCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleManagementPolicyAssignmentsCreateResponse = RoleManagementPolicyAssignment; + +// @public +export interface RoleManagementPolicyAssignmentsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RoleManagementPolicyAssignmentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleManagementPolicyAssignmentsGetResponse = RoleManagementPolicyAssignment; + +// @public +export interface RoleManagementPolicyAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleManagementPolicyAssignmentsListForScopeNextResponse = RoleManagementPolicyAssignmentListResult; + +// @public +export interface RoleManagementPolicyAssignmentsListForScopeOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleManagementPolicyAssignmentsListForScopeResponse = RoleManagementPolicyAssignmentListResult; + +// @public +export type RoleManagementPolicyAuthenticationContextRule = RoleManagementPolicyRule & { + ruleType: "RoleManagementPolicyAuthenticationContextRule"; + isEnabled?: boolean; + claimValue?: string; +}; + +// @public +export type RoleManagementPolicyEnablementRule = RoleManagementPolicyRule & { + ruleType: "RoleManagementPolicyEnablementRule"; + enabledRules?: EnablementRules[]; +}; + +// @public +export type RoleManagementPolicyExpirationRule = RoleManagementPolicyRule & { + ruleType: "RoleManagementPolicyExpirationRule"; + isExpirationRequired?: boolean; + maximumDuration?: string; +}; + +// @public +export interface RoleManagementPolicyListResult { + nextLink?: string; + value?: RoleManagementPolicy[]; +} + +// @public +export type RoleManagementPolicyNotificationRule = RoleManagementPolicyRule & { + ruleType: "RoleManagementPolicyNotificationRule"; + notificationType?: NotificationDeliveryMechanism; + notificationLevel?: NotificationLevel; + recipientType?: RecipientType; + notificationRecipients?: string[]; + isDefaultRecipientsEnabled?: boolean; +}; + +// @public +export interface RoleManagementPolicyRule { + id?: string; + ruleType: "RoleManagementPolicyApprovalRule" | "RoleManagementPolicyAuthenticationContextRule" | "RoleManagementPolicyEnablementRule" | "RoleManagementPolicyExpirationRule" | "RoleManagementPolicyNotificationRule"; + target?: RoleManagementPolicyRuleTarget; +} + +// @public +export interface RoleManagementPolicyRuleTarget { + caller?: string; + enforcedSettings?: string[]; + inheritableSettings?: string[]; + level?: string; + operations?: string[]; + targetObjects?: string[]; +} + +// @public +export type RoleManagementPolicyRuleType = string; + +// @public (undocumented) +export type RoleManagementPolicyRuleUnion = RoleManagementPolicyRule | RoleManagementPolicyApprovalRule | RoleManagementPolicyAuthenticationContextRule | RoleManagementPolicyEnablementRule | RoleManagementPolicyExpirationRule | RoleManagementPolicyNotificationRule; + +// @public +export type Status = string; + +// @public +export type Type = string; + +// @public +export interface UserSet { + description?: string; + id?: string; + isBackup?: boolean; + userType?: UserType; +} + +// @public +export type UserType = string; + +// @public +export interface ValidationResponse { + errorInfo?: ValidationResponseErrorInfo; + readonly isValid?: boolean; +} + +// @public +export interface ValidationResponseErrorInfo { + readonly code?: string; + readonly message?: string; +} + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/authorization/arm-authorization/rollup.config.js b/sdk/authorization/arm-authorization/rollup.config.js index 72dc3f8ec5c7..9be1955eb7f1 100644 --- a/sdk/authorization/arm-authorization/rollup.config.js +++ b/sdk/authorization/arm-authorization/rollup.config.js @@ -1,37 +1,188 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; +/* + * 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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler /** - * @type {rollup.RollupFileOptions} + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. */ -const config = { - input: "./esm/authorizationManagementClient.js", - external: [ - "@azure/ms-rest-js", - "@azure/ms-rest-azure-js" - ], - output: { - file: "./dist/arm-authorization.js", - format: "umd", - name: "Azure.ArmAuthorization", - sourcemap: true, - globals: { - "@azure/ms-rest-js": "msRest", - "@azure/ms-rest-azure-js": "msRestAzure" + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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/**"] }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */` - }, - plugins: [ - nodeResolve({ module: true }), - sourcemaps() - ] + output: { + file: `dist-test/index.browser.js`, + format: "umd", + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + multiEntry({ exports: false }), + nodeResolve({ + mainFields: ["module", "browser"] + }), + cjs({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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 default config; +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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts b/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts index b970948c40cb..23ac722e0ca1 100644 --- a/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts +++ b/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts @@ -1,60 +1,82 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as Models from "./models"; -import * as Mappers from "./models/mappers"; -import * as operations from "./operations"; +import * as coreAuth from "@azure/core-auth"; +import { + RoleAssignmentSchedulesImpl, + RoleAssignmentScheduleInstancesImpl, + RoleAssignmentScheduleRequestsImpl, + RoleEligibilitySchedulesImpl, + RoleEligibilityScheduleInstancesImpl, + RoleEligibilityScheduleRequestsImpl, + RoleManagementPoliciesImpl, + RoleManagementPolicyAssignmentsImpl, + EligibleChildResourcesImpl, + RoleAssignmentsImpl +} from "./operations"; +import { + RoleAssignmentSchedules, + RoleAssignmentScheduleInstances, + RoleAssignmentScheduleRequests, + RoleEligibilitySchedules, + RoleEligibilityScheduleInstances, + RoleEligibilityScheduleRequests, + RoleManagementPolicies, + RoleManagementPolicyAssignments, + EligibleChildResources, + RoleAssignments +} from "./operationsInterfaces"; import { AuthorizationManagementClientContext } from "./authorizationManagementClientContext"; +import { AuthorizationManagementClientOptionalParams } from "./models"; - -class AuthorizationManagementClient extends AuthorizationManagementClientContext { - // Operation groups - classicAdministrators: operations.ClassicAdministrators; - globalAdministrator: operations.GlobalAdministrator; - providerOperationsMetadata: operations.ProviderOperationsMetadataOperations; - roleAssignments: operations.RoleAssignments; - permissions: operations.Permissions; - roleDefinitions: operations.RoleDefinitions; - denyAssignments: operations.DenyAssignments; - +export class AuthorizationManagementClient extends AuthorizationManagementClientContext { /** * Initializes a new instance of the AuthorizationManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId The ID of the target subscription. - * @param [options] The parameter options + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.AuthorizationManagementClientOptions) { + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: AuthorizationManagementClientOptionalParams + ) { super(credentials, subscriptionId, options); - this.classicAdministrators = new operations.ClassicAdministrators(this); - this.globalAdministrator = new operations.GlobalAdministrator(this); - this.providerOperationsMetadata = new operations.ProviderOperationsMetadataOperations(this); - this.roleAssignments = new operations.RoleAssignments(this); - this.permissions = new operations.Permissions(this); - this.roleDefinitions = new operations.RoleDefinitions(this); - this.denyAssignments = new operations.DenyAssignments(this); + this.roleAssignmentSchedules = new RoleAssignmentSchedulesImpl(this); + this.roleAssignmentScheduleInstances = new RoleAssignmentScheduleInstancesImpl( + this + ); + this.roleAssignmentScheduleRequests = new RoleAssignmentScheduleRequestsImpl( + this + ); + this.roleEligibilitySchedules = new RoleEligibilitySchedulesImpl(this); + this.roleEligibilityScheduleInstances = new RoleEligibilityScheduleInstancesImpl( + this + ); + this.roleEligibilityScheduleRequests = new RoleEligibilityScheduleRequestsImpl( + this + ); + this.roleManagementPolicies = new RoleManagementPoliciesImpl(this); + this.roleManagementPolicyAssignments = new RoleManagementPolicyAssignmentsImpl( + this + ); + this.eligibleChildResources = new EligibleChildResourcesImpl(this); + this.roleAssignments = new RoleAssignmentsImpl(this); } -} -// Operation Specifications - -export { - AuthorizationManagementClient, - AuthorizationManagementClientContext, - Models as AuthorizationManagementModels, - Mappers as AuthorizationManagementMappers -}; -export * from "./operations"; + roleAssignmentSchedules: RoleAssignmentSchedules; + roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; + roleAssignmentScheduleRequests: RoleAssignmentScheduleRequests; + roleEligibilitySchedules: RoleEligibilitySchedules; + roleEligibilityScheduleInstances: RoleEligibilityScheduleInstances; + roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; + roleManagementPolicies: RoleManagementPolicies; + roleManagementPolicyAssignments: RoleManagementPolicyAssignments; + eligibleChildResources: EligibleChildResources; + roleAssignments: RoleAssignments; +} diff --git a/sdk/authorization/arm-authorization/src/authorizationManagementClientContext.ts b/sdk/authorization/arm-authorization/src/authorizationManagementClientContext.ts index d81273824f92..cc79390f7a77 100644 --- a/sdk/authorization/arm-authorization/src/authorizationManagementClientContext.ts +++ b/sdk/authorization/arm-authorization/src/authorizationManagementClientContext.ts @@ -1,66 +1,70 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { AuthorizationManagementClientOptionalParams } from "./models"; -const packageName = "@azure/arm-authorization"; -const packageVersion = "8.4.0"; - -export class AuthorizationManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials | TokenCredential; +export class AuthorizationManagementClientContext extends coreClient.ServiceClient { + $host: string; + apiVersion: string; subscriptionId: string; /** - * Initializes a new instance of the AuthorizationManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * Initializes a new instance of the AuthorizationManagementClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId The ID of the target subscription. - * @param [options] The parameter options + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.AuthorizationManagementClientOptions) { - if (credentials == undefined) { - throw new Error('\'credentials\' cannot be null.'); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: AuthorizationManagementClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); } - if (subscriptionId == undefined) { - throw new Error('\'subscriptionId\' cannot be null.'); + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); } + // Initializing default values for options if (!options) { options = {}; } - if(!options.userAgent) { - const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const defaults: AuthorizationManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - super(credentials, options); + const packageDetails = `azsdk-js-arm-authorization/30.0.0-beta.1`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; - this.acceptLanguage = 'en-US'; - this.longRunningOperationRetryTimeout = 30; - this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; - this.requestContentType = "application/json; charset=utf-8"; - this.credentials = credentials; + 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; - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { - this.acceptLanguage = options.acceptLanguage; - } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { - this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; - } + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.apiVersion = options.apiVersion || "2020-10-01-preview"; } } diff --git a/sdk/authorization/arm-authorization/src/index.ts b/sdk/authorization/arm-authorization/src/index.ts new file mode 100644 index 000000000000..4902352993d2 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { AuthorizationManagementClient } from "./authorizationManagementClient"; +export { AuthorizationManagementClientContext } from "./authorizationManagementClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/authorization/arm-authorization/src/models/classicAdministratorsMappers.ts b/sdk/authorization/arm-authorization/src/models/classicAdministratorsMappers.ts deleted file mode 100644 index 327162fe1492..000000000000 --- a/sdk/authorization/arm-authorization/src/models/classicAdministratorsMappers.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - ClassicAdministrator, - ClassicAdministratorListResult, - CloudError -} from "../models/mappers"; diff --git a/sdk/authorization/arm-authorization/src/models/denyAssignmentsMappers.ts b/sdk/authorization/arm-authorization/src/models/denyAssignmentsMappers.ts deleted file mode 100644 index 9754178e9a9e..000000000000 --- a/sdk/authorization/arm-authorization/src/models/denyAssignmentsMappers.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - DenyAssignment, - DenyAssignmentListResult, - DenyAssignmentPermission, - Principal -} from "../models/mappers"; diff --git a/sdk/authorization/arm-authorization/src/models/globalAdministratorMappers.ts b/sdk/authorization/arm-authorization/src/models/globalAdministratorMappers.ts deleted file mode 100644 index 67c5a45e0449..000000000000 --- a/sdk/authorization/arm-authorization/src/models/globalAdministratorMappers.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError -} from "../models/mappers"; diff --git a/sdk/authorization/arm-authorization/src/models/index.ts b/sdk/authorization/arm-authorization/src/models/index.ts index 36ef6945f8f9..2e4c005cd3fc 100644 --- a/sdk/authorization/arm-authorization/src/models/index.ts +++ b/sdk/authorization/arm-authorization/src/models/index.ts @@ -1,1414 +1,1838 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export { BaseResource, CloudError }; +export type RoleManagementPolicyRuleUnion = + | RoleManagementPolicyRule + | RoleManagementPolicyApprovalRule + | RoleManagementPolicyAuthenticationContextRule + | RoleManagementPolicyEnablementRule + | RoleManagementPolicyExpirationRule + | RoleManagementPolicyNotificationRule; -/** - * Classic Administrators - */ -export interface ClassicAdministrator { +/** Role Assignment schedule */ +export interface RoleAssignmentSchedule { /** - * The ID of the administrator. + * The role assignment schedule Id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - id?: string; + readonly id?: string; /** - * The name of the administrator. + * The role assignment schedule name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly name?: string; /** - * The type of the administrator. + * The role assignment schedule type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly type?: string; + /** The role assignment schedule scope. */ + scope?: string; + /** The role definition ID. */ + roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; + /** The principal type of the assigned principal ID. */ + principalType?: PrincipalType; + /** The id of roleAssignmentScheduleRequest used to create this roleAssignmentSchedule */ + roleAssignmentScheduleRequestId?: string; + /** The id of roleEligibilitySchedule used to activated this roleAssignmentSchedule */ + linkedRoleEligibilityScheduleId?: string; + /** Assignment type of the role assignment schedule */ + assignmentType?: AssignmentType; + /** Membership type of the role assignment schedule */ + memberType?: MemberType; + /** The status of the role assignment schedule. */ + status?: Status; + /** Start DateTime when role assignment schedule */ + startDateTime?: Date; + /** End DateTime when role assignment schedule */ + endDateTime?: Date; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; + /** DateTime when role assignment schedule was created */ + createdOn?: Date; + /** DateTime when role assignment schedule was modified */ + updatedOn?: Date; + /** Additional properties of principal, scope and role definition */ + expandedProperties?: ExpandedProperties; +} + +export interface ExpandedProperties { + /** Details of the resource scope */ + scope?: ExpandedPropertiesScope; + /** Details of role definition */ + roleDefinition?: ExpandedPropertiesRoleDefinition; + /** Details of the principal */ + principal?: ExpandedPropertiesPrincipal; +} + +/** Details of the resource scope */ +export interface ExpandedPropertiesScope { + /** Scope id of the resource */ + id?: string; + /** Display name of the resource */ + displayName?: string; + /** Type of the resource */ type?: string; - /** - * The email address of the administrator. - */ - emailAddress?: string; - /** - * The role of the administrator. - */ - role?: string; } -/** - * Operation - */ -export interface ProviderOperation { - /** - * The operation name. - */ - name?: string; - /** - * The operation display name. - */ +/** Details of role definition */ +export interface ExpandedPropertiesRoleDefinition { + /** Id of the role definition */ + id?: string; + /** Display name of the role definition */ displayName?: string; + /** Type of the role definition */ + type?: string; +} + +/** Details of the principal */ +export interface ExpandedPropertiesPrincipal { + /** Id of the principal */ + id?: string; + /** Display name of the principal */ + displayName?: string; + /** Email id of the principal */ + email?: string; + /** Type of the principal */ + type?: string; +} + +/** An error response from the service. */ +export interface CloudError { + /** An error response from the service. */ + error?: CloudErrorBody; +} + +/** An error response from the service. */ +export interface CloudErrorBody { + /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ + code?: string; + /** A message describing the error, intended to be suitable for display in a user interface. */ + message?: string; +} + +/** Role assignment schedule list operation result. */ +export interface RoleAssignmentScheduleListResult { + /** Role assignment schedule list. */ + value?: RoleAssignmentSchedule[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Role assignment schedule instance list operation result. */ +export interface RoleAssignmentScheduleInstanceListResult { + /** Role assignment schedule instance list. */ + value?: RoleAssignmentScheduleInstance[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Information about current or upcoming role assignment schedule instance */ +export interface RoleAssignmentScheduleInstance { /** - * The operation description. - */ - description?: string; - /** - * The operation origin. + * The role assignment schedule instance ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - origin?: string; + readonly id?: string; /** - * The operation properties. + * The role assignment schedule instance name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - properties?: any; + readonly name?: string; /** - * The dataAction flag to specify the operation type. + * The role assignment schedule instance type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isDataAction?: boolean; + readonly type?: string; + /** The role assignment schedule scope. */ + scope?: string; + /** The role definition ID. */ + roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; + /** The principal type of the assigned principal ID. */ + principalType?: PrincipalType; + /** Id of the master role assignment schedule */ + roleAssignmentScheduleId?: string; + /** Role Assignment Id in external system */ + originRoleAssignmentId?: string; + /** The status of the role assignment schedule instance. */ + status?: Status; + /** The startDateTime of the role assignment schedule instance */ + startDateTime?: Date; + /** The endDateTime of the role assignment schedule instance */ + endDateTime?: Date; + /** roleEligibilityScheduleId used to activate */ + linkedRoleEligibilityScheduleId?: string; + /** roleEligibilityScheduleInstanceId linked to this roleAssignmentScheduleInstance */ + linkedRoleEligibilityScheduleInstanceId?: string; + /** Assignment type of the role assignment schedule */ + assignmentType?: AssignmentType; + /** Membership type of the role assignment schedule */ + memberType?: MemberType; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; + /** DateTime when role assignment schedule was created */ + createdOn?: Date; + /** Additional properties of principal, scope and role definition */ + expandedProperties?: ExpandedProperties; } -/** - * Resource Type - */ -export interface ResourceType { - /** - * The resource type name. - */ - name?: string; +/** Role Assignment schedule request */ +export interface RoleAssignmentScheduleRequest { /** - * The resource type display name. + * The role assignment schedule request ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - displayName?: string; + readonly id?: string; /** - * The resource type operations. + * The role assignment schedule request name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - operations?: ProviderOperation[]; -} - -/** - * Provider Operations metadata - */ -export interface ProviderOperationsMetadata { + readonly name?: string; /** - * The provider id. + * The role assignment schedule request type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - id?: string; + readonly type?: string; /** - * The provider name. + * The role assignment schedule request scope. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly scope?: string; + /** The role definition ID. */ + roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; /** - * The provider type. + * The principal type of the assigned principal ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: string; + readonly principalType?: PrincipalType; + /** The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc */ + requestType?: RequestType; /** - * The provider display name. + * The status of the role assignment schedule request. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - displayName?: string; + readonly status?: Status; /** - * The provider resource types + * The approvalId of the role assignment schedule request. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - resourceTypes?: ResourceType[]; + readonly approvalId?: string; + /** The resultant role assignment schedule id or the role assignment schedule id being updated */ + targetRoleAssignmentScheduleId?: string; + /** The role assignment schedule instance id being updated */ + targetRoleAssignmentScheduleInstanceId?: string; + /** Schedule info of the role assignment schedule */ + scheduleInfo?: RoleAssignmentScheduleRequestPropertiesScheduleInfo; + /** The linked role eligibility schedule id - to activate an eligibility. */ + linkedRoleEligibilityScheduleId?: string; + /** Justification for the role assignment */ + justification?: string; + /** Ticket Info of the role assignment */ + ticketInfo?: RoleAssignmentScheduleRequestPropertiesTicketInfo; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; /** - * The provider operations. + * DateTime when role assignment schedule request was created + * NOTE: This property will not be serialized. It can only be populated by the server. */ - operations?: ProviderOperation[]; -} - -/** - * Role Assignments filter - */ -export interface RoleAssignmentFilter { + readonly createdOn?: Date; /** - * Returns role assignment of the specific principal. + * Id of the user who created this request + * NOTE: This property will not be serialized. It can only be populated by the server. */ - principalId?: string; + readonly requestorId?: string; /** - * The Delegation flag for the role assignment + * Additional properties of principal, scope and role definition + * NOTE: This property will not be serialized. It can only be populated by the server. */ - canDelegate?: boolean; + readonly expandedProperties?: ExpandedProperties; } -/** - * Role Assignments - */ -export interface RoleAssignment { +/** Schedule info of the role assignment schedule */ +export interface RoleAssignmentScheduleRequestPropertiesScheduleInfo { + /** Start DateTime of the role assignment schedule. */ + startDateTime?: Date; + /** Expiration of the role assignment schedule */ + expiration?: RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration; +} + +/** Expiration of the role assignment schedule */ +export interface RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration { + /** Type of the role assignment schedule expiration */ + type?: Type; + /** End DateTime of the role assignment schedule. */ + endDateTime?: Date; + /** Duration of the role assignment schedule in TimeSpan. */ + duration?: string; +} + +/** Ticket Info of the role assignment */ +export interface RoleAssignmentScheduleRequestPropertiesTicketInfo { + /** Ticket number for the role assignment */ + ticketNumber?: string; + /** Ticket system name for the role assignment */ + ticketSystem?: string; +} + +/** Role assignment schedule request list operation result. */ +export interface RoleAssignmentScheduleRequestListResult { + /** Role assignment schedule request list. */ + value?: RoleAssignmentScheduleRequest[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Role eligibility schedule */ +export interface RoleEligibilitySchedule { /** - * The role assignment ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role eligibility schedule Id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role assignment name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role eligibility schedule name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role assignment type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role eligibility schedule type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** - * The role assignment scope. - */ + /** The role eligibility schedule scope. */ scope?: string; - /** - * The role definition ID. - */ + /** The role definition ID. */ roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; + /** The principal type of the assigned principal ID. */ + principalType?: PrincipalType; + /** The id of roleEligibilityScheduleRequest used to create this roleAssignmentSchedule */ + roleEligibilityScheduleRequestId?: string; + /** Membership type of the role eligibility schedule */ + memberType?: MemberType; + /** The status of the role eligibility schedule. */ + status?: Status; + /** Start DateTime when role eligibility schedule */ + startDateTime?: Date; + /** End DateTime when role eligibility schedule */ + endDateTime?: Date; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; + /** DateTime when role eligibility schedule was created */ + createdOn?: Date; + /** DateTime when role eligibility schedule was modified */ + updatedOn?: Date; + /** Additional properties of principal, scope and role definition */ + expandedProperties?: ExpandedProperties; +} + +/** role eligibility schedule list operation result. */ +export interface RoleEligibilityScheduleListResult { + /** role eligibility schedule list. */ + value?: RoleEligibilitySchedule[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Role eligibility schedule instance list operation result. */ +export interface RoleEligibilityScheduleInstanceListResult { + /** Role eligibility schedule instance list. */ + value?: RoleEligibilityScheduleInstance[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Information about current or upcoming role eligibility schedule instance */ +export interface RoleEligibilityScheduleInstance { /** - * The principal ID. + * The role eligibility schedule instance ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - principalId?: string; + readonly id?: string; /** - * The principal type of the assigned principal ID. Possible values include: 'User', 'Group', - * 'ServicePrincipal', 'Unknown', 'DirectoryRoleTemplate', 'ForeignGroup', 'Application', 'MSI', - * 'DirectoryObjectOrGroup', 'Everyone' + * The role eligibility schedule instance name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - principalType?: PrincipalType; + readonly name?: string; /** - * The Delegation flag for the role assignment + * The role eligibility schedule instance type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - canDelegate?: boolean; + readonly type?: string; + /** The role eligibility schedule scope. */ + scope?: string; + /** The role definition ID. */ + roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; + /** The principal type of the assigned principal ID. */ + principalType?: PrincipalType; + /** Id of the master role eligibility schedule */ + roleEligibilityScheduleId?: string; + /** The status of the role eligibility schedule instance */ + status?: Status; + /** The startDateTime of the role eligibility schedule instance */ + startDateTime?: Date; + /** The endDateTime of the role eligibility schedule instance */ + endDateTime?: Date; + /** Membership type of the role eligibility schedule */ + memberType?: MemberType; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; + /** DateTime when role eligibility schedule was created */ + createdOn?: Date; + /** Additional properties of principal, scope and role definition */ + expandedProperties?: ExpandedProperties; } -/** - * Role assignment create parameters. - */ -export interface RoleAssignmentCreateParameters { +/** Role Eligibility schedule request */ +export interface RoleEligibilityScheduleRequest { /** - * The role definition ID used in the role assignment. + * The role eligibility schedule request ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - roleDefinitionId: string; + readonly id?: string; /** - * The principal ID assigned to the role. This maps to the ID inside the Active Directory. It can - * point to a user, service principal, or security group. + * The role eligibility schedule request name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - principalId: string; + readonly name?: string; /** - * The principal type of the assigned principal ID. Possible values include: 'User', 'Group', - * 'ServicePrincipal', 'Unknown', 'DirectoryRoleTemplate', 'ForeignGroup', 'Application', 'MSI', - * 'DirectoryObjectOrGroup', 'Everyone' + * The role eligibility schedule request type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - principalType?: PrincipalType; + readonly type?: string; /** - * The delegation flag used for creating a role assignment + * The role eligibility schedule request scope. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - canDelegate?: boolean; -} - -/** - * Role Definitions filter - */ -export interface RoleDefinitionFilter { + readonly scope?: string; + /** The role definition ID. */ + roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; /** - * Returns role definition with the specific name. + * The principal type of the assigned principal ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - roleName?: string; + readonly principalType?: PrincipalType; + /** The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc */ + requestType?: RequestType; /** - * Returns role definition with the specific type. + * The status of the role eligibility schedule request. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: string; -} - -/** - * Role definition permissions. - */ -export interface Permission { + readonly status?: Status; /** - * Allowed actions. + * The approvalId of the role eligibility schedule request. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - actions?: string[]; + readonly approvalId?: string; + /** Schedule info of the role eligibility schedule */ + scheduleInfo?: RoleEligibilityScheduleRequestPropertiesScheduleInfo; + /** The resultant role eligibility schedule id or the role eligibility schedule id being updated */ + targetRoleEligibilityScheduleId?: string; + /** The role eligibility schedule instance id being updated */ + targetRoleEligibilityScheduleInstanceId?: string; + /** Justification for the role eligibility */ + justification?: string; + /** Ticket Info of the role eligibility */ + ticketInfo?: RoleEligibilityScheduleRequestPropertiesTicketInfo; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; /** - * Denied actions. + * DateTime when role eligibility schedule request was created + * NOTE: This property will not be serialized. It can only be populated by the server. */ - notActions?: string[]; + readonly createdOn?: Date; /** - * Allowed Data actions. + * Id of the user who created this request + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataActions?: string[]; + readonly requestorId?: string; /** - * Denied Data actions. + * Additional properties of principal, scope and role definition + * NOTE: This property will not be serialized. It can only be populated by the server. */ - notDataActions?: string[]; + readonly expandedProperties?: ExpandedProperties; } -/** - * Role definition. - */ -export interface RoleDefinition { +/** Schedule info of the role eligibility schedule */ +export interface RoleEligibilityScheduleRequestPropertiesScheduleInfo { + /** Start DateTime of the role eligibility schedule. */ + startDateTime?: Date; + /** Expiration of the role eligibility schedule */ + expiration?: RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration; +} + +/** Expiration of the role eligibility schedule */ +export interface RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration { + /** Type of the role eligibility schedule expiration */ + type?: Type; + /** End DateTime of the role eligibility schedule. */ + endDateTime?: Date; + /** Duration of the role eligibility schedule in TimeSpan. */ + duration?: string; +} + +/** Ticket Info of the role eligibility */ +export interface RoleEligibilityScheduleRequestPropertiesTicketInfo { + /** Ticket number for the role eligibility */ + ticketNumber?: string; + /** Ticket system name for the role eligibility */ + ticketSystem?: string; +} + +/** Role eligibility schedule request list operation result. */ +export interface RoleEligibilityScheduleRequestListResult { + /** Role eligibility schedule request list. */ + value?: RoleEligibilityScheduleRequest[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Role management policy */ +export interface RoleManagementPolicy { /** - * The role definition ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role management policy Id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role definition name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role management policy name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role definition type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role management policy type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; + /** The role management policy scope. */ + scope?: string; + /** The role management policy display name. */ + displayName?: string; + /** The role management policy description. */ + description?: string; + /** The role management policy is default policy. */ + isOrganizationDefault?: boolean; /** - * The role name. + * The name of the entity last modified it + * NOTE: This property will not be serialized. It can only be populated by the server. */ - roleName?: string; + readonly lastModifiedBy?: Principal; /** - * The role definition description. + * The last modified date time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - description?: string; + readonly lastModifiedDateTime?: Date; + /** The rule applied to the policy. */ + rules?: RoleManagementPolicyRuleUnion[]; /** - * The role type. + * The readonly computed rule applied to the policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - roleType?: string; + readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; /** - * Role definition permissions. + * Additional properties of scope + * NOTE: This property will not be serialized. It can only be populated by the server. */ - permissions?: Permission[]; + readonly policyProperties?: PolicyProperties; +} + +/** The name of the entity last modified it */ +export interface Principal { + /** The id of the principal made changes */ + id?: string; + /** The name of the principal made changes */ + displayName?: string; + /** Type of principal such as user , group etc */ + type?: string; + /** Email of principal */ + email?: string; +} + +/** The role management policy rule. */ +export interface RoleManagementPolicyRule { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: + | "RoleManagementPolicyApprovalRule" + | "RoleManagementPolicyAuthenticationContextRule" + | "RoleManagementPolicyEnablementRule" + | "RoleManagementPolicyExpirationRule" + | "RoleManagementPolicyNotificationRule"; + /** The id of the rule. */ + id?: string; + /** The target of the current rule. */ + target?: RoleManagementPolicyRuleTarget; +} + +/** The role management policy rule target. */ +export interface RoleManagementPolicyRuleTarget { + /** The caller of the setting. */ + caller?: string; + /** The type of operation. */ + operations?: string[]; + /** The assignment level to which it is applied. */ + level?: string; + /** The list of target objects. */ + targetObjects?: string[]; + /** The list of inheritable settings. */ + inheritableSettings?: string[]; + /** The list of enforced settings. */ + enforcedSettings?: string[]; +} + +export interface PolicyProperties { /** - * Role definition assignable scopes. + * Details of the resource scope + * NOTE: This property will not be serialized. It can only be populated by the server. */ - assignableScopes?: string[]; + readonly scope?: PolicyPropertiesScope; } -/** - * Deny Assignments filter - */ -export interface DenyAssignmentFilter { +/** Details of the resource scope */ +export interface PolicyPropertiesScope { + /** Scope id of the resource */ + id?: string; + /** Display name of the resource */ + displayName?: string; + /** Type of the resource */ + type?: string; +} + +/** Role management policy list operation result. */ +export interface RoleManagementPolicyListResult { + /** Role management policy list. */ + value?: RoleManagementPolicy[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Role management policy */ +export interface RoleManagementPolicyAssignment { + /** + * The role management policy Id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; /** - * Return deny assignment with specified name. + * The role management policy name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - denyAssignmentName?: string; + readonly name?: string; /** - * Return all deny assignments where the specified principal is listed in the principals list of - * deny assignments. + * The role management policy type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - principalId?: string; + readonly type?: string; + /** The role management policy scope. */ + scope?: string; + /** The role definition of management policy assignment. */ + roleDefinitionId?: string; + /** The policy id role management policy assignment. */ + policyId?: string; /** - * Return all deny assignments where the specified principal is listed either in the principals - * list or exclude principals list of deny assignments. + * Additional properties of scope, role definition and policy + * NOTE: This property will not be serialized. It can only be populated by the server. */ - gdprExportPrincipalId?: string; + readonly policyAssignmentProperties?: PolicyAssignmentProperties; } -/** - * Deny assignment permissions. - */ -export interface DenyAssignmentPermission { +export interface PolicyAssignmentProperties { + /** Details of the resource scope */ + scope?: PolicyAssignmentPropertiesScope; + /** Details of role definition */ + roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; + /** Details of the policy */ + policy?: PolicyAssignmentPropertiesPolicy; +} + +/** Details of the resource scope */ +export interface PolicyAssignmentPropertiesScope { + /** Scope id of the resource */ + id?: string; + /** Display name of the resource */ + displayName?: string; + /** Type of the resource */ + type?: string; +} + +/** Details of role definition */ +export interface PolicyAssignmentPropertiesRoleDefinition { + /** Id of the role definition */ + id?: string; + /** Display name of the role definition */ + displayName?: string; + /** Type of the role definition */ + type?: string; +} + +/** Details of the policy */ +export interface PolicyAssignmentPropertiesPolicy { + /** Id of the policy */ + id?: string; /** - * Actions to which the deny assignment does not grant access. + * The name of the entity last modified it + * NOTE: This property will not be serialized. It can only be populated by the server. */ - actions?: string[]; + readonly lastModifiedBy?: Principal; + /** The last modified date time. */ + lastModifiedDateTime?: Date; +} + +/** Role management policy assignment list operation result. */ +export interface RoleManagementPolicyAssignmentListResult { + /** Role management policy assignment list. */ + value?: RoleManagementPolicyAssignment[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Eligible child resources list operation result. */ +export interface EligibleChildResourcesListResult { + /** Eligible child resource list. */ + value?: EligibleChildResource[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Eligible child resource */ +export interface EligibleChildResource { /** - * Actions to exclude from that the deny assignment does not grant access. + * The resource scope Id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - notActions?: string[]; + readonly id?: string; /** - * Data actions to which the deny assignment does not grant access. + * The resource name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataActions?: string[]; + readonly name?: string; /** - * Data actions to exclude from that the deny assignment does not grant access. + * The resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - notDataActions?: string[]; + readonly type?: string; } -/** - * Deny assignment principal. - */ -export interface Principal { +/** Role assignment list operation result. */ +export interface RoleAssignmentListResult { + /** Role assignment list. */ + value?: RoleAssignment[]; /** - * Object ID of the Azure AD principal (user, group, or service principal) to which the deny - * assignment applies. An empty guid '00000000-0000-0000-0000-000000000000' as principal id and - * principal type as 'Everyone' represents all users, groups and service principals. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly id?: string; - /** - * Type of object represented by principal id (user, group, or service principal). An empty guid - * '00000000-0000-0000-0000-000000000000' as principal id and principal type as 'Everyone' - * represents all users, groups and service principals. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The URL to use for getting the next set of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly nextLink?: string; } -/** - * Deny Assignment - */ -export interface DenyAssignment { +/** Role Assignments */ +export interface RoleAssignment { /** - * The deny assignment ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role assignment ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The deny assignment name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role assignment name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The deny assignment type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The role assignment type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** - * The display name of the deny assignment. + * The role assignment scope. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - denyAssignmentName?: string; + readonly scope?: string; + /** The role definition ID. */ + roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; + /** The principal type of the assigned principal ID. */ + principalType?: PrincipalType; + /** Description of role assignment */ + description?: string; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; /** - * The description of the deny assignment. + * Time it was created + * NOTE: This property will not be serialized. It can only be populated by the server. */ - description?: string; + readonly createdOn?: Date; /** - * An array of permissions that are denied by the deny assignment. + * Time it was updated + * NOTE: This property will not be serialized. It can only be populated by the server. */ - permissions?: DenyAssignmentPermission[]; + readonly updatedOn?: Date; /** - * The deny assignment scope. + * Id of the user who created the assignment + * NOTE: This property will not be serialized. It can only be populated by the server. */ - scope?: string; + readonly createdBy?: string; /** - * Determines if the deny assignment applies to child scopes. Default value is false. + * Id of the user who updated the assignment + * NOTE: This property will not be serialized. It can only be populated by the server. */ - doNotApplyToChildScopes?: boolean; + readonly updatedBy?: string; + /** Id of the delegated managed identity resource */ + delegatedManagedIdentityResourceId?: string; +} + +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ +export interface ErrorResponse { + /** The error object. */ + error?: ErrorDetail; +} + +/** The error detail. */ +export interface ErrorDetail { /** - * Array of principals to which the deny assignment applies. + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - principals?: Principal[]; + readonly code?: string; /** - * Array of principals to which the deny assignment does not apply. + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - excludePrincipals?: Principal[]; + readonly message?: string; /** - * Specifies whether this deny assignment was created by Azure and cannot be edited or deleted. + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isSystemProtected?: boolean; -} - -/** - * Optional Parameters. - */ -export interface ProviderOperationsMetadataGetOptionalParams extends msRest.RequestOptionsBase { + readonly target?: string; /** - * Specifies whether to expand the values. Default value: 'resourceTypes'. + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - expand?: string; -} - -/** - * Optional Parameters. - */ -export interface ProviderOperationsMetadataListOptionalParams extends msRest.RequestOptionsBase { + readonly details?: ErrorDetail[]; /** - * Specifies whether to expand the values. Default value: 'resourceTypes'. + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - expand?: string; + readonly additionalInfo?: ErrorAdditionalInfo[]; } -/** - * Optional Parameters. - */ -export interface RoleAssignmentsListForResourceOptionalParams extends msRest.RequestOptionsBase { +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { /** - * The filter to apply on the operation. Use $filter=atScope() to return all role assignments at - * or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above - * or below the scope for the specified principal. + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - filter?: string; -} - -/** - * Optional Parameters. - */ -export interface RoleAssignmentsListForResourceGroupOptionalParams extends msRest.RequestOptionsBase { + readonly type?: string; /** - * The filter to apply on the operation. Use $filter=atScope() to return all role assignments at - * or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above - * or below the scope for the specified principal. + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - filter?: string; + readonly info?: Record; } -/** - * Optional Parameters. - */ -export interface RoleAssignmentsListOptionalParams extends msRest.RequestOptionsBase { +/** Role assignment create parameters. */ +export interface RoleAssignmentCreateParameters { /** - * The filter to apply on the operation. Use $filter=atScope() to return all role assignments at - * or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above - * or below the scope for the specified principal. + * The role assignment scope. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - filter?: string; + readonly scope?: string; + /** The role definition ID. */ + roleDefinitionId: string; + /** The principal ID. */ + principalId: string; + /** The principal type of the assigned principal ID. */ + principalType?: PrincipalType; + /** Description of role assignment */ + description?: string; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; + /** + * Time it was created + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdOn?: Date; + /** + * Time it was updated + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly updatedOn?: Date; + /** + * Id of the user who created the assignment + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdBy?: string; + /** + * Id of the user who updated the assignment + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly updatedBy?: string; + /** Id of the delegated managed identity resource */ + delegatedManagedIdentityResourceId?: string; } -/** - * Optional Parameters. - */ -export interface RoleAssignmentsListForScopeOptionalParams extends msRest.RequestOptionsBase { +/** Validation response */ +export interface ValidationResponse { /** - * The filter to apply on the operation. Use $filter=atScope() to return all role assignments at - * or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above - * or below the scope for the specified principal. + * Whether or not validation succeeded + * NOTE: This property will not be serialized. It can only be populated by the server. */ - filter?: string; + readonly isValid?: boolean; + /** Failed validation result details */ + errorInfo?: ValidationResponseErrorInfo; } -/** - * Optional Parameters. - */ -export interface RoleDefinitionsListOptionalParams extends msRest.RequestOptionsBase { +/** Failed validation result details */ +export interface ValidationResponseErrorInfo { /** - * The filter to apply on the operation. Use atScopeAndBelow filter to search below the given - * scope as well. + * Error code indicating why validation failed + * NOTE: This property will not be serialized. It can only be populated by the server. */ - filter?: string; + readonly code?: string; + /** + * Message indicating why validation failed + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; } -/** - * Optional Parameters. - */ -export interface DenyAssignmentsListForResourceOptionalParams extends msRest.RequestOptionsBase { - /** - * The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at - * or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by - * name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, - * above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq - * '{id}' to return all deny assignments at, above and below the scope for the specified - * principal. This filter is different from the principalId filter as it returns not only those - * deny assignments that contain the specified principal is the Principals list but also those - * deny assignments that contain the specified principal is the ExcludePrincipals list. - * Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and - * description properties are returned. - */ - filter?: string; +/** Role assignment schedule filter */ +export interface RoleAssignmentScheduleFilter { + /** Returns role assignment schedule of the specific principal. */ + principalId?: string; + /** Returns role assignment schedule of the specific role definition. */ + roleDefinitionId?: string; + /** Returns role assignment schedule instances of the specific status. */ + status?: string; } -/** - * Optional Parameters. - */ -export interface DenyAssignmentsListForResourceGroupOptionalParams extends msRest.RequestOptionsBase { - /** - * The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at - * or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by - * name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, - * above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq - * '{id}' to return all deny assignments at, above and below the scope for the specified - * principal. This filter is different from the principalId filter as it returns not only those - * deny assignments that contain the specified principal is the Principals list but also those - * deny assignments that contain the specified principal is the ExcludePrincipals list. - * Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and - * description properties are returned. - */ - filter?: string; +/** Role assignment schedule instance filter */ +export interface RoleAssignmentScheduleInstanceFilter { + /** Returns role assignment schedule instances of the specific principal. */ + principalId?: string; + /** Returns role assignment schedule instances of the specific role definition. */ + roleDefinitionId?: string; + /** Returns role assignment schedule instances of the specific status. */ + status?: string; + /** Returns role assignment schedule instances belonging to a specific role assignment schedule. */ + roleAssignmentScheduleId?: string; } -/** - * Optional Parameters. - */ -export interface DenyAssignmentsListOptionalParams extends msRest.RequestOptionsBase { - /** - * The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at - * or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by - * name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, - * above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq - * '{id}' to return all deny assignments at, above and below the scope for the specified - * principal. This filter is different from the principalId filter as it returns not only those - * deny assignments that contain the specified principal is the Principals list but also those - * deny assignments that contain the specified principal is the ExcludePrincipals list. - * Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and - * description properties are returned. - */ - filter?: string; +/** Role assignment schedule request filter */ +export interface RoleAssignmentScheduleRequestFilter { + /** Returns role assignment requests of the specific principal. */ + principalId?: string; + /** Returns role assignment requests of the specific role definition. */ + roleDefinitionId?: string; + /** Returns role assignment requests created by specific principal. */ + requestorId?: string; + /** Returns role assignment requests of specific status. */ + status?: string; } -/** - * Optional Parameters. - */ -export interface DenyAssignmentsListForScopeOptionalParams extends msRest.RequestOptionsBase { - /** - * The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at - * or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by - * name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, - * above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq - * '{id}' to return all deny assignments at, above and below the scope for the specified - * principal. This filter is different from the principalId filter as it returns not only those - * deny assignments that contain the specified principal is the Principals list but also those - * deny assignments that contain the specified principal is the ExcludePrincipals list. - * Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and - * description properties are returned. - */ - filter?: string; +/** Role eligibility schedule filter */ +export interface RoleEligibilityScheduleFilter { + /** Returns role eligibility schedule of the specific principal. */ + principalId?: string; + /** Returns role eligibility schedule of the specific role definition. */ + roleDefinitionId?: string; + /** Returns role eligibility schedule of the specific status. */ + status?: string; } -/** - * An interface representing AuthorizationManagementClientOptions. - */ -export interface AuthorizationManagementClientOptions extends AzureServiceClientOptions { - baseUri?: string; +/** Role eligibility schedule instance filter */ +export interface RoleEligibilityScheduleInstanceFilter { + /** Returns role eligibility schedule instances of the specific principal. */ + principalId?: string; + /** Returns role eligibility schedule instances of the specific role definition. */ + roleDefinitionId?: string; + /** Returns role eligibility schedule instances of the specific status. */ + status?: string; + /** Returns role eligibility schedule instances belonging to a specific role eligibility schedule. */ + roleEligibilityScheduleId?: string; +} + +/** Role eligibility schedule request filter */ +export interface RoleEligibilityScheduleRequestFilter { + /** Returns role eligibility requests of the specific principal. */ + principalId?: string; + /** Returns role eligibility requests of the specific role definition. */ + roleDefinitionId?: string; + /** Returns role eligibility requests created by specific principal. */ + requestorId?: string; + /** Returns role eligibility requests of specific status. */ + status?: string; +} + +/** The approval settings. */ +export interface ApprovalSettings { + /** Determine whether approval is required or not. */ + isApprovalRequired?: boolean; + /** Determine whether approval is required for assignment extension. */ + isApprovalRequiredForExtension?: boolean; + /** Determine whether requestor justification required. */ + isRequestorJustificationRequired?: boolean; + /** The type of rule */ + approvalMode?: ApprovalMode; + /** The approval stages of the request. */ + approvalStages?: ApprovalStage[]; +} + +/** The approval stage. */ +export interface ApprovalStage { + /** The time in days when approval request would be timed out. */ + approvalStageTimeOutInDays?: number; + /** Determine whether approver need to provide justification for his decision. */ + isApproverJustificationRequired?: boolean; + /** The time in minutes when the approval request would be escalated if the primary approver does not approves. */ + escalationTimeInMinutes?: number; + /** The primary approver of the request. */ + primaryApprovers?: UserSet[]; + /** The value determine whether escalation feature is enabled. */ + isEscalationEnabled?: boolean; + /** The escalation approver of the request. */ + escalationApprovers?: UserSet[]; +} + +/** The detail of a user. */ +export interface UserSet { + /** The type of user. */ + userType?: UserType; + /** The value indicating whether the user is a backup fallback approver */ + isBackup?: boolean; + /** The object id of the user. */ + id?: string; + /** The description of the user. */ + description?: string; +} + +/** Role Assignments filter */ +export interface RoleAssignmentFilter { + /** Returns role assignment of the specific principal. */ + principalId?: string; +} + +/** The role management policy rule. */ +export type RoleManagementPolicyApprovalRule = RoleManagementPolicyRule & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyApprovalRule"; + /** The approval setting */ + setting?: ApprovalSettings; +}; + +/** The role management policy rule. */ +export type RoleManagementPolicyAuthenticationContextRule = RoleManagementPolicyRule & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyAuthenticationContextRule"; + /** The value indicating if rule is enabled. */ + isEnabled?: boolean; + /** The claim value. */ + claimValue?: string; +}; + +/** The role management policy rule. */ +export type RoleManagementPolicyEnablementRule = RoleManagementPolicyRule & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyEnablementRule"; + /** The list of enabled rules. */ + enabledRules?: EnablementRules[]; +}; + +/** The role management policy rule. */ +export type RoleManagementPolicyExpirationRule = RoleManagementPolicyRule & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyExpirationRule"; + /** The value indicating whether expiration is required. */ + isExpirationRequired?: boolean; + /** The maximum duration of expiration in timespan. */ + maximumDuration?: string; +}; + +/** The role management policy rule. */ +export type RoleManagementPolicyNotificationRule = RoleManagementPolicyRule & { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyNotificationRule"; + /** The type of notification. */ + notificationType?: NotificationDeliveryMechanism; + /** The notification level. */ + notificationLevel?: NotificationLevel; + /** The recipient type. */ + recipientType?: RecipientType; + /** The list notification recipients. */ + notificationRecipients?: string[]; + /** Its value determine if the notification need to be sent to the recipient type specified in policy rule. */ + isDefaultRecipientsEnabled?: boolean; +}; + +/** Known values of {@link PrincipalType} that the service accepts. */ +export enum KnownPrincipalType { + User = "User", + Group = "Group", + ServicePrincipal = "ServicePrincipal", + Unknown = "Unknown", + DirectoryRoleTemplate = "DirectoryRoleTemplate", + ForeignGroup = "ForeignGroup", + Application = "Application", + MSI = "MSI", + DirectoryObjectOrGroup = "DirectoryObjectOrGroup", + Everyone = "Everyone", + Device = "Device" } /** - * @interface - * ClassicAdministrator list result information. - * @extends Array - */ -export interface ClassicAdministratorListResult extends Array { - /** - * The URL to use for getting the next set of results. - */ - nextLink?: string; + * Defines values for PrincipalType. \ + * {@link KnownPrincipalType} can be used interchangeably with PrincipalType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Group** \ + * **ServicePrincipal** \ + * **Unknown** \ + * **DirectoryRoleTemplate** \ + * **ForeignGroup** \ + * **Application** \ + * **MSI** \ + * **DirectoryObjectOrGroup** \ + * **Everyone** \ + * **Device** + */ +export type PrincipalType = string; + +/** Known values of {@link AssignmentType} that the service accepts. */ +export enum KnownAssignmentType { + Activated = "Activated", + Assigned = "Assigned" } /** - * @interface - * Provider operations metadata list - * @extends Array + * Defines values for AssignmentType. \ + * {@link KnownAssignmentType} can be used interchangeably with AssignmentType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Activated** \ + * **Assigned** */ -export interface ProviderOperationsMetadataListResult extends Array { - /** - * The URL to use for getting the next set of results. - */ - nextLink?: string; +export type AssignmentType = string; + +/** Known values of {@link MemberType} that the service accepts. */ +export enum KnownMemberType { + Inherited = "Inherited", + Direct = "Direct", + Group = "Group" } /** - * @interface - * Role assignment list operation result. - * @extends Array - */ -export interface RoleAssignmentListResult extends Array { - /** - * The URL to use for getting the next set of results. - */ - nextLink?: string; + * Defines values for MemberType. \ + * {@link KnownMemberType} can be used interchangeably with MemberType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Inherited** \ + * **Direct** \ + * **Group** + */ +export type MemberType = string; + +/** Known values of {@link Status} that the service accepts. */ +export enum KnownStatus { + Accepted = "Accepted", + PendingEvaluation = "PendingEvaluation", + Granted = "Granted", + Denied = "Denied", + PendingProvisioning = "PendingProvisioning", + Provisioned = "Provisioned", + PendingRevocation = "PendingRevocation", + Revoked = "Revoked", + Canceled = "Canceled", + Failed = "Failed", + PendingApprovalProvisioning = "PendingApprovalProvisioning", + PendingApproval = "PendingApproval", + FailedAsResourceIsLocked = "FailedAsResourceIsLocked", + PendingAdminDecision = "PendingAdminDecision", + AdminApproved = "AdminApproved", + AdminDenied = "AdminDenied", + TimedOut = "TimedOut", + ProvisioningStarted = "ProvisioningStarted", + Invalid = "Invalid", + PendingScheduleCreation = "PendingScheduleCreation", + ScheduleCreated = "ScheduleCreated", + PendingExternalProvisioning = "PendingExternalProvisioning" } /** - * @interface - * Permissions information. - * @extends Array - */ -export interface PermissionGetResult extends Array { - /** - * The URL to use for getting the next set of results. - */ - nextLink?: string; + * Defines values for Status. \ + * {@link KnownStatus} can be used interchangeably with Status, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Accepted** \ + * **PendingEvaluation** \ + * **Granted** \ + * **Denied** \ + * **PendingProvisioning** \ + * **Provisioned** \ + * **PendingRevocation** \ + * **Revoked** \ + * **Canceled** \ + * **Failed** \ + * **PendingApprovalProvisioning** \ + * **PendingApproval** \ + * **FailedAsResourceIsLocked** \ + * **PendingAdminDecision** \ + * **AdminApproved** \ + * **AdminDenied** \ + * **TimedOut** \ + * **ProvisioningStarted** \ + * **Invalid** \ + * **PendingScheduleCreation** \ + * **ScheduleCreated** \ + * **PendingExternalProvisioning** + */ +export type Status = string; + +/** Known values of {@link RequestType} that the service accepts. */ +export enum KnownRequestType { + AdminAssign = "AdminAssign", + AdminRemove = "AdminRemove", + AdminUpdate = "AdminUpdate", + AdminExtend = "AdminExtend", + AdminRenew = "AdminRenew", + SelfActivate = "SelfActivate", + SelfDeactivate = "SelfDeactivate", + SelfExtend = "SelfExtend", + SelfRenew = "SelfRenew" } /** - * @interface - * Role definition list operation result. - * @extends Array - */ -export interface RoleDefinitionListResult extends Array { - /** - * The URL to use for getting the next set of results. - */ - nextLink?: string; + * Defines values for RequestType. \ + * {@link KnownRequestType} can be used interchangeably with RequestType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AdminAssign** \ + * **AdminRemove** \ + * **AdminUpdate** \ + * **AdminExtend** \ + * **AdminRenew** \ + * **SelfActivate** \ + * **SelfDeactivate** \ + * **SelfExtend** \ + * **SelfRenew** + */ +export type RequestType = string; + +/** Known values of {@link Type} that the service accepts. */ +export enum KnownType { + AfterDuration = "AfterDuration", + AfterDateTime = "AfterDateTime", + NoExpiration = "NoExpiration" } /** - * @interface - * Deny assignment list operation result. - * @extends Array + * Defines values for Type. \ + * {@link KnownType} can be used interchangeably with Type, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AfterDuration** \ + * **AfterDateTime** \ + * **NoExpiration** */ -export interface DenyAssignmentListResult extends Array { - /** - * The URL to use for getting the next set of results. - */ - nextLink?: string; +export type Type = string; + +/** Known values of {@link RoleManagementPolicyRuleType} that the service accepts. */ +export enum KnownRoleManagementPolicyRuleType { + RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", + RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", + RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", + RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", + RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" } /** - * Defines values for PrincipalType. - * Possible values include: 'User', 'Group', 'ServicePrincipal', 'Unknown', - * 'DirectoryRoleTemplate', 'ForeignGroup', 'Application', 'MSI', 'DirectoryObjectOrGroup', - * 'Everyone' - * @readonly - * @enum {string} - */ -export type PrincipalType = 'User' | 'Group' | 'ServicePrincipal' | 'Unknown' | 'DirectoryRoleTemplate' | 'ForeignGroup' | 'Application' | 'MSI' | 'DirectoryObjectOrGroup' | 'Everyone'; + * Defines values for RoleManagementPolicyRuleType. \ + * {@link KnownRoleManagementPolicyRuleType} can be used interchangeably with RoleManagementPolicyRuleType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RoleManagementPolicyApprovalRule** \ + * **RoleManagementPolicyAuthenticationContextRule** \ + * **RoleManagementPolicyEnablementRule** \ + * **RoleManagementPolicyExpirationRule** \ + * **RoleManagementPolicyNotificationRule** + */ +export type RoleManagementPolicyRuleType = string; + +/** Known values of {@link ApprovalMode} that the service accepts. */ +export enum KnownApprovalMode { + SingleStage = "SingleStage", + Serial = "Serial", + Parallel = "Parallel", + NoApproval = "NoApproval" +} /** - * Contains response data for the list operation. + * Defines values for ApprovalMode. \ + * {@link KnownApprovalMode} can be used interchangeably with ApprovalMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **SingleStage** \ + * **Serial** \ + * **Parallel** \ + * **NoApproval** */ -export type ClassicAdministratorsListResponse = ClassicAdministratorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type ApprovalMode = string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ClassicAdministratorListResult; - }; -}; +/** Known values of {@link UserType} that the service accepts. */ +export enum KnownUserType { + User = "User", + Group = "Group" +} /** - * Contains response data for the listNext operation. + * Defines values for UserType. \ + * {@link KnownUserType} can be used interchangeably with UserType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Group** */ -export type ClassicAdministratorsListNextResponse = ClassicAdministratorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type UserType = string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ClassicAdministratorListResult; - }; -}; +/** Known values of {@link EnablementRules} that the service accepts. */ +export enum KnownEnablementRules { + MultiFactorAuthentication = "MultiFactorAuthentication", + Justification = "Justification", + Ticketing = "Ticketing" +} /** - * Contains response data for the get operation. + * Defines values for EnablementRules. \ + * {@link KnownEnablementRules} can be used interchangeably with EnablementRules, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **MultiFactorAuthentication** \ + * **Justification** \ + * **Ticketing** */ -export type ProviderOperationsMetadataGetResponse = ProviderOperationsMetadata & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type EnablementRules = string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProviderOperationsMetadata; - }; -}; +/** Known values of {@link NotificationDeliveryMechanism} that the service accepts. */ +export enum KnownNotificationDeliveryMechanism { + Email = "Email" +} /** - * Contains response data for the list operation. + * Defines values for NotificationDeliveryMechanism. \ + * {@link KnownNotificationDeliveryMechanism} can be used interchangeably with NotificationDeliveryMechanism, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Email** */ -export type ProviderOperationsMetadataListResponse = ProviderOperationsMetadataListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type NotificationDeliveryMechanism = string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProviderOperationsMetadataListResult; - }; -}; +/** Known values of {@link NotificationLevel} that the service accepts. */ +export enum KnownNotificationLevel { + None = "None", + Critical = "Critical", + All = "All" +} /** - * Contains response data for the listNext operation. + * Defines values for NotificationLevel. \ + * {@link KnownNotificationLevel} can be used interchangeably with NotificationLevel, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Critical** \ + * **All** */ -export type ProviderOperationsMetadataListNextResponse = ProviderOperationsMetadataListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type NotificationLevel = string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProviderOperationsMetadataListResult; - }; -}; +/** Known values of {@link RecipientType} that the service accepts. */ +export enum KnownRecipientType { + Requestor = "Requestor", + Approver = "Approver", + Admin = "Admin" +} /** - * Contains response data for the listForResource operation. + * Defines values for RecipientType. \ + * {@link KnownRecipientType} can be used interchangeably with RecipientType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Requestor** \ + * **Approver** \ + * **Admin** */ -export type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type RecipientType = string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentSchedulesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listForResourceGroup operation. - */ -export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RoleAssignmentSchedulesGetResponse = RoleAssignmentSchedule; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentSchedulesListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for the current user. */ + filter?: string; +} -/** - * Contains response data for the deleteMethod operation. - */ -export type RoleAssignmentsDeleteMethodResponse = RoleAssignment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForScope operation. */ +export type RoleAssignmentSchedulesListForScopeResponse = RoleAssignmentScheduleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignment; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentSchedulesListForScopeNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for the current user. */ + filter?: string; +} -/** - * Contains response data for the create operation. - */ -export type RoleAssignmentsCreateResponse = RoleAssignment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForScopeNext operation. */ +export type RoleAssignmentSchedulesListForScopeNextResponse = RoleAssignmentScheduleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignment; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentScheduleInstancesListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances created for the current user. */ + filter?: string; +} -/** - * Contains response data for the get operation. - */ -export type RoleAssignmentsGetResponse = RoleAssignment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForScope operation. */ +export type RoleAssignmentScheduleInstancesListForScopeResponse = RoleAssignmentScheduleInstanceListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignment; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentScheduleInstancesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the deleteById operation. - */ -export type RoleAssignmentsDeleteByIdResponse = RoleAssignment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RoleAssignmentScheduleInstancesGetResponse = RoleAssignmentScheduleInstance; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignment; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentScheduleInstancesListForScopeNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances created for the current user. */ + filter?: string; +} -/** - * Contains response data for the createById operation. - */ -export type RoleAssignmentsCreateByIdResponse = RoleAssignment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForScopeNext operation. */ +export type RoleAssignmentScheduleInstancesListForScopeNextResponse = RoleAssignmentScheduleInstanceListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignment; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentScheduleRequestsCreateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getById operation. - */ -export type RoleAssignmentsGetByIdResponse = RoleAssignment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the create operation. */ +export type RoleAssignmentScheduleRequestsCreateResponse = RoleAssignmentScheduleRequest; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignment; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentScheduleRequestsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type RoleAssignmentsListResponse = RoleAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RoleAssignmentScheduleRequestsGetResponse = RoleAssignmentScheduleRequest; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentScheduleRequestsListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role assignment schedule requests created for the current user. Use $filter=asApprover() to return all role assignment schedule requests where the current user is an approver. */ + filter?: string; +} -/** - * Contains response data for the listForScope operation. - */ -export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForScope operation. */ +export type RoleAssignmentScheduleRequestsListForScopeResponse = RoleAssignmentScheduleRequestListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentScheduleRequestsCancelOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listForResourceNext operation. - */ -export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleAssignmentScheduleRequestsListForScopeNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role assignment schedule requests created for the current user. Use $filter=asApprover() to return all role assignment schedule requests where the current user is an approver. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignmentListResult; - }; -}; +/** Contains response data for the listForScopeNext operation. */ +export type RoleAssignmentScheduleRequestsListForScopeNextResponse = RoleAssignmentScheduleRequestListResult; -/** - * Contains response data for the listForResourceGroupNext operation. - */ -export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilitySchedulesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignmentListResult; - }; -}; +/** Contains response data for the get operation. */ +export type RoleEligibilitySchedulesGetResponse = RoleEligibilitySchedule; -/** - * Contains response data for the listNext operation. - */ -export type RoleAssignmentsListNextResponse = RoleAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilitySchedulesListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created for the current user. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignmentListResult; - }; -}; +/** Contains response data for the listForScope operation. */ +export type RoleEligibilitySchedulesListForScopeResponse = RoleEligibilityScheduleListResult; -/** - * Contains response data for the listForScopeNext operation. - */ -export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilitySchedulesListForScopeNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created for the current user. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleAssignmentListResult; - }; -}; +/** Contains response data for the listForScopeNext operation. */ +export type RoleEligibilitySchedulesListForScopeNextResponse = RoleEligibilityScheduleListResult; -/** - * Contains response data for the listForResourceGroup operation. - */ -export type PermissionsListForResourceGroupResponse = PermissionGetResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilityScheduleInstancesListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created for the current user. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PermissionGetResult; - }; -}; +/** Contains response data for the listForScope operation. */ +export type RoleEligibilityScheduleInstancesListForScopeResponse = RoleEligibilityScheduleInstanceListResult; -/** - * Contains response data for the listForResource operation. - */ -export type PermissionsListForResourceResponse = PermissionGetResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilityScheduleInstancesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PermissionGetResult; - }; -}; +/** Contains response data for the get operation. */ +export type RoleEligibilityScheduleInstancesGetResponse = RoleEligibilityScheduleInstance; -/** - * Contains response data for the listForResourceGroupNext operation. - */ -export type PermissionsListForResourceGroupNextResponse = PermissionGetResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilityScheduleInstancesListForScopeNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created for the current user. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PermissionGetResult; - }; -}; +/** Contains response data for the listForScopeNext operation. */ +export type RoleEligibilityScheduleInstancesListForScopeNextResponse = RoleEligibilityScheduleInstanceListResult; -/** - * Contains response data for the listForResourceNext operation. - */ -export type PermissionsListForResourceNextResponse = PermissionGetResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilityScheduleRequestsCreateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PermissionGetResult; - }; -}; +/** Contains response data for the create operation. */ +export type RoleEligibilityScheduleRequestsCreateResponse = RoleEligibilityScheduleRequest; -/** - * Contains response data for the deleteMethod operation. - */ -export type RoleDefinitionsDeleteMethodResponse = RoleDefinition & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilityScheduleRequestsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleDefinition; - }; -}; +/** Contains response data for the get operation. */ +export type RoleEligibilityScheduleRequestsGetResponse = RoleEligibilityScheduleRequest; -/** - * Contains response data for the get operation. - */ -export type RoleDefinitionsGetResponse = RoleDefinition & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilityScheduleRequestsListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role eligibility schedule requests where the current user is an approver. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleDefinition; - }; -}; +/** Contains response data for the listForScope operation. */ +export type RoleEligibilityScheduleRequestsListForScopeResponse = RoleEligibilityScheduleRequestListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type RoleDefinitionsCreateOrUpdateResponse = RoleDefinition & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleEligibilityScheduleRequestsCancelOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleDefinition; - }; -}; +/** Optional parameters. */ +export interface RoleEligibilityScheduleRequestsListForScopeNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role eligibility schedule requests where the current user is an approver. */ + filter?: string; +} -/** - * Contains response data for the list operation. - */ -export type RoleDefinitionsListResponse = RoleDefinitionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForScopeNext operation. */ +export type RoleEligibilityScheduleRequestsListForScopeNextResponse = RoleEligibilityScheduleRequestListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleDefinitionListResult; - }; -}; +/** Optional parameters. */ +export interface RoleManagementPoliciesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getById operation. - */ -export type RoleDefinitionsGetByIdResponse = RoleDefinition & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RoleManagementPoliciesGetResponse = RoleManagementPolicy; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleDefinition; - }; -}; +/** Optional parameters. */ +export interface RoleManagementPoliciesUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type RoleDefinitionsListNextResponse = RoleDefinitionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type RoleManagementPoliciesUpdateResponse = RoleManagementPolicy; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RoleDefinitionListResult; - }; -}; +/** Optional parameters. */ +export interface RoleManagementPoliciesDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listForResource operation. - */ -export type DenyAssignmentsListForResourceResponse = DenyAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleManagementPoliciesListForScopeOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignmentListResult; - }; -}; +/** Contains response data for the listForScope operation. */ +export type RoleManagementPoliciesListForScopeResponse = RoleManagementPolicyListResult; -/** - * Contains response data for the listForResourceGroup operation. - */ -export type DenyAssignmentsListForResourceGroupResponse = DenyAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleManagementPoliciesListForScopeNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignmentListResult; - }; -}; +/** Contains response data for the listForScopeNext operation. */ +export type RoleManagementPoliciesListForScopeNextResponse = RoleManagementPolicyListResult; -/** - * Contains response data for the list operation. - */ -export type DenyAssignmentsListResponse = DenyAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleManagementPolicyAssignmentsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignmentListResult; - }; -}; +/** Contains response data for the get operation. */ +export type RoleManagementPolicyAssignmentsGetResponse = RoleManagementPolicyAssignment; -/** - * Contains response data for the get operation. - */ -export type DenyAssignmentsGetResponse = DenyAssignment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleManagementPolicyAssignmentsCreateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignment; - }; -}; +/** Contains response data for the create operation. */ +export type RoleManagementPolicyAssignmentsCreateResponse = RoleManagementPolicyAssignment; -/** - * Contains response data for the getById operation. - */ -export type DenyAssignmentsGetByIdResponse = DenyAssignment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleManagementPolicyAssignmentsDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignment; - }; -}; +/** Optional parameters. */ +export interface RoleManagementPolicyAssignmentsListForScopeOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listForScope operation. - */ -export type DenyAssignmentsListForScopeResponse = DenyAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForScope operation. */ +export type RoleManagementPolicyAssignmentsListForScopeResponse = RoleManagementPolicyAssignmentListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface RoleManagementPolicyAssignmentsListForScopeNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listForResourceNext operation. - */ -export type DenyAssignmentsListForResourceNextResponse = DenyAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForScopeNext operation. */ +export type RoleManagementPolicyAssignmentsListForScopeNextResponse = RoleManagementPolicyAssignmentListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface EligibleChildResourcesGetOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only resource of type = 'Subscription'. Use $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = 'Subscription' or 'ResourceGroup' */ + filter?: string; +} -/** - * Contains response data for the listForResourceGroupNext operation. - */ -export type DenyAssignmentsListForResourceGroupNextResponse = DenyAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type EligibleChildResourcesGetResponse = EligibleChildResourcesListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface EligibleChildResourcesGetNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only resource of type = 'Subscription'. Use $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = 'Subscription' or 'ResourceGroup' */ + filter?: string; +} -/** - * Contains response data for the listNext operation. - */ -export type DenyAssignmentsListNextResponse = DenyAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getNext operation. */ +export type EligibleChildResourcesGetNextResponse = EligibleChildResourcesListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentsListForSubscriptionOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} -/** - * Contains response data for the listForScopeNext operation. - */ -export type DenyAssignmentsListForScopeNextResponse = DenyAssignmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listForSubscription operation. */ +export type RoleAssignmentsListForSubscriptionResponse = RoleAssignmentListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DenyAssignmentListResult; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentsListForResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForResourceGroup operation. */ +export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForResourceOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForResource operation. */ +export type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsGetOptionalParams + extends coreClient.OperationOptions { + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the get operation. */ +export type RoleAssignmentsGetResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type RoleAssignmentsCreateResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the delete operation. */ +export type RoleAssignmentsDeleteResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsValidateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the validate operation. */ +export type RoleAssignmentsValidateResponse = ValidationResponse; + +/** Optional parameters. */ +export interface RoleAssignmentsListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForScope operation. */ +export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsGetByIdOptionalParams + extends coreClient.OperationOptions { + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the getById operation. */ +export type RoleAssignmentsGetByIdResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsCreateByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createById operation. */ +export type RoleAssignmentsCreateByIdResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsDeleteByIdOptionalParams + extends coreClient.OperationOptions { + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the deleteById operation. */ +export type RoleAssignmentsDeleteByIdResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsValidateByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the validateById operation. */ +export type RoleAssignmentsValidateByIdResponse = ValidationResponse; + +/** Optional parameters. */ +export interface RoleAssignmentsListForSubscriptionNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForSubscriptionNext operation. */ +export type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForResourceGroupNext operation. */ +export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForResourceNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForResourceNext operation. */ +export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForScopeNextOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForScopeNext operation. */ +export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface AuthorizationManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/authorization/arm-authorization/src/models/mappers.ts b/sdk/authorization/arm-authorization/src/models/mappers.ts index ee2cfdc282cc..9c89e14d75ea 100644 --- a/sdk/authorization/arm-authorization/src/models/mappers.ts +++ b/sdk/authorization/arm-authorization/src/models/mappers.ts @@ -1,328 +1,286 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export const CloudError = CloudErrorMapper; -export const BaseResource = BaseResourceMapper; - -export const ClassicAdministrator: msRest.CompositeMapper = { - serializedName: "ClassicAdministrator", +export const RoleAssignmentSchedule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ClassicAdministrator", + className: "RoleAssignmentSchedule", 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" } }, - emailAddress: { - serializedName: "properties.emailAddress", + scope: { + serializedName: "properties.scope", type: { name: "String" } }, - role: { - serializedName: "properties.role", + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", type: { name: "String" } - } - } - } -}; - -export const ProviderOperation: msRest.CompositeMapper = { - serializedName: "ProviderOperation", - type: { - name: "Composite", - className: "ProviderOperation", - modelProperties: { - name: { - serializedName: "name", + }, + principalId: { + serializedName: "properties.principalId", type: { name: "String" } }, - displayName: { - serializedName: "displayName", + principalType: { + serializedName: "properties.principalType", type: { name: "String" } }, - description: { - serializedName: "description", + roleAssignmentScheduleRequestId: { + serializedName: "properties.roleAssignmentScheduleRequestId", type: { name: "String" } }, - origin: { - serializedName: "origin", + linkedRoleEligibilityScheduleId: { + serializedName: "properties.linkedRoleEligibilityScheduleId", type: { name: "String" } }, - properties: { - serializedName: "properties", + assignmentType: { + serializedName: "properties.assignmentType", type: { - name: "Object" + name: "String" } }, - isDataAction: { - serializedName: "isDataAction", - type: { - name: "Boolean" - } - } - } - } -}; - -export const ResourceType: msRest.CompositeMapper = { - serializedName: "ResourceType", - type: { - name: "Composite", - className: "ResourceType", - modelProperties: { - name: { - serializedName: "name", + memberType: { + serializedName: "properties.memberType", type: { name: "String" } }, - displayName: { - serializedName: "displayName", + status: { + serializedName: "properties.status", type: { name: "String" } }, - operations: { - serializedName: "operations", + startDateTime: { + serializedName: "properties.startDateTime", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProviderOperation" - } - } + name: "DateTime" } - } - } - } -}; - -export const ProviderOperationsMetadata: msRest.CompositeMapper = { - serializedName: "ProviderOperationsMetadata", - type: { - name: "Composite", - className: "ProviderOperationsMetadata", - modelProperties: { - id: { - serializedName: "id", + }, + endDateTime: { + serializedName: "properties.endDateTime", type: { - name: "String" + name: "DateTime" } }, - name: { - serializedName: "name", + condition: { + serializedName: "properties.condition", type: { name: "String" } }, - type: { - serializedName: "type", + conditionVersion: { + serializedName: "properties.conditionVersion", type: { name: "String" } }, - displayName: { - serializedName: "displayName", + createdOn: { + serializedName: "properties.createdOn", type: { - name: "String" + name: "DateTime" } }, - resourceTypes: { - serializedName: "resourceTypes", + updatedOn: { + serializedName: "properties.updatedOn", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ResourceType" - } - } + name: "DateTime" } }, - operations: { - serializedName: "operations", + expandedProperties: { + serializedName: "properties.expandedProperties", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProviderOperation" - } - } + name: "Composite", + className: "ExpandedProperties" } } } } }; -export const RoleAssignmentFilter: msRest.CompositeMapper = { - serializedName: "RoleAssignmentFilter", +export const ExpandedProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentFilter", + className: "ExpandedProperties", modelProperties: { - principalId: { - serializedName: "principalId", + scope: { + serializedName: "scope", type: { - name: "String" + name: "Composite", + className: "ExpandedPropertiesScope" } }, - canDelegate: { - serializedName: "canDelegate", + roleDefinition: { + serializedName: "roleDefinition", type: { - name: "Boolean" + name: "Composite", + className: "ExpandedPropertiesRoleDefinition" + } + }, + principal: { + serializedName: "principal", + type: { + name: "Composite", + className: "ExpandedPropertiesPrincipal" } } } } }; -export const RoleAssignment: msRest.CompositeMapper = { - serializedName: "RoleAssignment", +export const ExpandedPropertiesScope: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignment", + className: "ExpandedPropertiesScope", modelProperties: { id: { - readOnly: true, serializedName: "id", type: { name: "String" } }, - name: { - readOnly: true, - serializedName: "name", + displayName: { + serializedName: "displayName", type: { name: "String" } }, type: { - readOnly: true, serializedName: "type", type: { name: "String" } - }, - scope: { - serializedName: "properties.scope", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + } + } + } +}; + +export const ExpandedPropertiesRoleDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpandedPropertiesRoleDefinition", + modelProperties: { + id: { + serializedName: "id", type: { name: "String" } }, - principalId: { - serializedName: "properties.principalId", + displayName: { + serializedName: "displayName", type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + type: { + serializedName: "type", type: { name: "String" } - }, - canDelegate: { - serializedName: "properties.canDelegate", - type: { - name: "Boolean" - } } } } }; -export const RoleAssignmentCreateParameters: msRest.CompositeMapper = { - serializedName: "RoleAssignmentCreateParameters", +export const ExpandedPropertiesPrincipal: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentCreateParameters", + className: "ExpandedPropertiesPrincipal", modelProperties: { - roleDefinitionId: { - required: true, - serializedName: "properties.roleDefinitionId", + id: { + serializedName: "id", type: { name: "String" } }, - principalId: { - required: true, - serializedName: "properties.principalId", + displayName: { + serializedName: "displayName", type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + email: { + serializedName: "email", type: { name: "String" } }, - canDelegate: { - serializedName: "properties.canDelegate", + type: { + serializedName: "type", type: { - name: "Boolean" + name: "String" + } + } + } + } +}; + +export const CloudError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "CloudErrorBody" } } } } }; -export const RoleDefinitionFilter: msRest.CompositeMapper = { - serializedName: "RoleDefinitionFilter", +export const CloudErrorBody: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleDefinitionFilter", + className: "CloudErrorBody", modelProperties: { - roleName: { - serializedName: "roleName", + code: { + serializedName: "code", type: { name: "String" } }, - type: { - serializedName: "type", + message: { + serializedName: "message", type: { name: "String" } @@ -331,355 +289,382 @@ export const RoleDefinitionFilter: msRest.CompositeMapper = { } }; -export const Permission: msRest.CompositeMapper = { - serializedName: "Permission", +export const RoleAssignmentScheduleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Permission", + className: "RoleAssignmentScheduleListResult", modelProperties: { - actions: { - serializedName: "actions", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "RoleAssignmentSchedule" } } } }, - notActions: { - serializedName: "notActions", + nextLink: { + serializedName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } - }, - dataActions: { - serializedName: "dataActions", + } + } + } +}; + +export const RoleAssignmentScheduleInstanceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleInstanceListResult", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "RoleAssignmentScheduleInstance" } } } }, - notDataActions: { - serializedName: "notDataActions", + nextLink: { + serializedName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } } } } }; -export const RoleDefinition: msRest.CompositeMapper = { - serializedName: "RoleDefinition", +export const RoleAssignmentScheduleInstance: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleDefinition", + className: "RoleAssignmentScheduleInstance", modelProperties: { id: { - readOnly: true, serializedName: "id", + readOnly: true, type: { name: "String" } }, name: { - readOnly: true, serializedName: "name", + readOnly: true, type: { name: "String" } }, type: { - readOnly: true, serializedName: "type", + readOnly: true, type: { name: "String" } }, - roleName: { - serializedName: "properties.roleName", + scope: { + serializedName: "properties.scope", type: { name: "String" } }, - description: { - serializedName: "properties.description", + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", type: { name: "String" } }, - roleType: { - serializedName: "properties.type", + principalId: { + serializedName: "properties.principalId", type: { name: "String" } }, - permissions: { - serializedName: "properties.permissions", + principalType: { + serializedName: "properties.principalType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Permission" - } - } + name: "String" } }, - assignableScopes: { - serializedName: "properties.assignableScopes", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - } - } - } -}; - -export const DenyAssignmentFilter: msRest.CompositeMapper = { - serializedName: "DenyAssignmentFilter", - type: { - name: "Composite", - className: "DenyAssignmentFilter", - modelProperties: { - denyAssignmentName: { - serializedName: "denyAssignmentName", + roleAssignmentScheduleId: { + serializedName: "properties.roleAssignmentScheduleId", type: { name: "String" } }, - principalId: { - serializedName: "principalId", + originRoleAssignmentId: { + serializedName: "properties.originRoleAssignmentId", type: { name: "String" } }, - gdprExportPrincipalId: { - serializedName: "gdprExportPrincipalId", + status: { + serializedName: "properties.status", type: { name: "String" } - } - } - } -}; - -export const DenyAssignmentPermission: msRest.CompositeMapper = { - serializedName: "DenyAssignmentPermission", - type: { - name: "Composite", - className: "DenyAssignmentPermission", - modelProperties: { - actions: { - serializedName: "actions", + }, + startDateTime: { + serializedName: "properties.startDateTime", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "DateTime" } }, - notActions: { - serializedName: "notActions", + endDateTime: { + serializedName: "properties.endDateTime", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "DateTime" } }, - dataActions: { - serializedName: "dataActions", + linkedRoleEligibilityScheduleId: { + serializedName: "properties.linkedRoleEligibilityScheduleId", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - notDataActions: { - serializedName: "notDataActions", + linkedRoleEligibilityScheduleInstanceId: { + serializedName: "properties.linkedRoleEligibilityScheduleInstanceId", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" + } + }, + assignmentType: { + serializedName: "properties.assignmentType", + type: { + name: "String" + } + }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + type: { + name: "DateTime" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" } } } } }; -export const Principal: msRest.CompositeMapper = { - serializedName: "Principal", +export const RoleAssignmentScheduleRequest: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Principal", + className: "RoleAssignmentScheduleRequest", modelProperties: { id: { - readOnly: true, serializedName: "id", + readOnly: true, type: { name: "String" } }, - type: { + name: { + serializedName: "name", readOnly: true, + type: { + name: "String" + } + }, + type: { serializedName: "type", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const DenyAssignment: msRest.CompositeMapper = { - serializedName: "DenyAssignment", - type: { - name: "Composite", - className: "DenyAssignment", - modelProperties: { - id: { + }, + scope: { + serializedName: "properties.scope", readOnly: true, - serializedName: "id", type: { name: "String" } }, - name: { + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", readOnly: true, - serializedName: "name", type: { name: "String" } }, - type: { + requestType: { + serializedName: "properties.requestType", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", readOnly: true, - serializedName: "type", type: { name: "String" } }, - denyAssignmentName: { - serializedName: "properties.denyAssignmentName", + approvalId: { + serializedName: "properties.approvalId", + readOnly: true, type: { name: "String" } }, - description: { - serializedName: "properties.description", + targetRoleAssignmentScheduleId: { + serializedName: "properties.targetRoleAssignmentScheduleId", type: { name: "String" } }, - permissions: { - serializedName: "properties.permissions", + targetRoleAssignmentScheduleInstanceId: { + serializedName: "properties.targetRoleAssignmentScheduleInstanceId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DenyAssignmentPermission" - } - } + name: "String" } }, - scope: { - serializedName: "properties.scope", + scheduleInfo: { + serializedName: "properties.scheduleInfo", + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo" + } + }, + linkedRoleEligibilityScheduleId: { + serializedName: "properties.linkedRoleEligibilityScheduleId", type: { name: "String" } }, - doNotApplyToChildScopes: { - serializedName: "properties.doNotApplyToChildScopes", + justification: { + serializedName: "properties.justification", type: { - name: "Boolean" + name: "String" } }, - principals: { - serializedName: "properties.principals", + ticketInfo: { + serializedName: "properties.ticketInfo", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Principal" - } - } + name: "Composite", + className: "RoleAssignmentScheduleRequestPropertiesTicketInfo" } }, - excludePrincipals: { - serializedName: "properties.excludePrincipals", + condition: { + serializedName: "properties.condition", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Principal" - } - } + name: "String" } }, - isSystemProtected: { - serializedName: "properties.isSystemProtected", + conditionVersion: { + serializedName: "properties.conditionVersion", type: { - name: "Boolean" + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + readOnly: true, + type: { + name: "DateTime" + } + }, + requestorId: { + serializedName: "properties.requestorId", + readOnly: true, + type: { + name: "String" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" } } } } }; -export const ClassicAdministratorListResult: msRest.CompositeMapper = { - serializedName: "ClassicAdministratorListResult", +export const RoleAssignmentScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ClassicAdministratorListResult", + className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo", modelProperties: { - value: { - serializedName: "", + startDateTime: { + serializedName: "startDateTime", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ClassicAdministrator" - } - } + name: "DateTime" } }, - nextLink: { - serializedName: "nextLink", + expiration: { + serializedName: "expiration", + type: { + name: "Composite", + className: + "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration" + } + } + } + } +}; + +export const RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + endDateTime: { + serializedName: "endDateTime", + type: { + name: "DateTime" + } + }, + duration: { + serializedName: "duration", type: { name: "String" } @@ -688,26 +673,19 @@ export const ClassicAdministratorListResult: msRest.CompositeMapper = { } }; -export const ProviderOperationsMetadataListResult: msRest.CompositeMapper = { - serializedName: "ProviderOperationsMetadataListResult", +export const RoleAssignmentScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProviderOperationsMetadataListResult", + className: "RoleAssignmentScheduleRequestPropertiesTicketInfo", modelProperties: { - value: { - serializedName: "", + ticketNumber: { + serializedName: "ticketNumber", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProviderOperationsMetadata" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + ticketSystem: { + serializedName: "ticketSystem", type: { name: "String" } @@ -716,20 +694,19 @@ export const ProviderOperationsMetadataListResult: msRest.CompositeMapper = { } }; -export const RoleAssignmentListResult: msRest.CompositeMapper = { - serializedName: "RoleAssignmentListResult", +export const RoleAssignmentScheduleRequestListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentListResult", + className: "RoleAssignmentScheduleRequestListResult", modelProperties: { value: { - serializedName: "", + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleAssignment" + className: "RoleAssignmentScheduleRequest" } } } @@ -744,48 +721,134 @@ export const RoleAssignmentListResult: msRest.CompositeMapper = { } }; -export const PermissionGetResult: msRest.CompositeMapper = { - serializedName: "PermissionGetResult", +export const RoleEligibilitySchedule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PermissionGetResult", + className: "RoleEligibilitySchedule", modelProperties: { - value: { - serializedName: "", + id: { + serializedName: "id", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Permission" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + scope: { + serializedName: "properties.scope", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + type: { + name: "String" + } + }, + roleEligibilityScheduleRequestId: { + serializedName: "properties.roleEligibilityScheduleRequestId", + type: { + name: "String" + } + }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + startDateTime: { + serializedName: "properties.startDateTime", + type: { + name: "DateTime" + } + }, + endDateTime: { + serializedName: "properties.endDateTime", + type: { + name: "DateTime" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", type: { name: "String" } + }, + createdOn: { + serializedName: "properties.createdOn", + type: { + name: "DateTime" + } + }, + updatedOn: { + serializedName: "properties.updatedOn", + type: { + name: "DateTime" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } } } } }; -export const RoleDefinitionListResult: msRest.CompositeMapper = { - serializedName: "RoleDefinitionListResult", +export const RoleEligibilityScheduleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleDefinitionListResult", + className: "RoleEligibilityScheduleListResult", modelProperties: { value: { - serializedName: "", + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleDefinition" + className: "RoleEligibilitySchedule" } } } @@ -800,20 +863,19 @@ export const RoleDefinitionListResult: msRest.CompositeMapper = { } }; -export const DenyAssignmentListResult: msRest.CompositeMapper = { - serializedName: "DenyAssignmentListResult", +export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DenyAssignmentListResult", + className: "RoleEligibilityScheduleInstanceListResult", modelProperties: { value: { - serializedName: "", + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DenyAssignment" + className: "RoleEligibilityScheduleInstance" } } } @@ -827,3 +889,1761 @@ export const DenyAssignmentListResult: msRest.CompositeMapper = { } } }; + +export const RoleEligibilityScheduleInstance: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleInstance", + 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" + } + }, + scope: { + serializedName: "properties.scope", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + type: { + name: "String" + } + }, + roleEligibilityScheduleId: { + serializedName: "properties.roleEligibilityScheduleId", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + startDateTime: { + serializedName: "properties.startDateTime", + type: { + name: "DateTime" + } + }, + endDateTime: { + serializedName: "properties.endDateTime", + type: { + name: "DateTime" + } + }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + type: { + name: "DateTime" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequest", + 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" + } + }, + scope: { + serializedName: "properties.scope", + readOnly: true, + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + readOnly: true, + type: { + name: "String" + } + }, + requestType: { + serializedName: "properties.requestType", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + approvalId: { + serializedName: "properties.approvalId", + readOnly: true, + type: { + name: "String" + } + }, + scheduleInfo: { + serializedName: "properties.scheduleInfo", + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo" + } + }, + targetRoleEligibilityScheduleId: { + serializedName: "properties.targetRoleEligibilityScheduleId", + type: { + name: "String" + } + }, + targetRoleEligibilityScheduleInstanceId: { + serializedName: "properties.targetRoleEligibilityScheduleInstanceId", + type: { + name: "String" + } + }, + justification: { + serializedName: "properties.justification", + type: { + name: "String" + } + }, + ticketInfo: { + serializedName: "properties.ticketInfo", + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesTicketInfo" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + readOnly: true, + type: { + name: "DateTime" + } + }, + requestorId: { + serializedName: "properties.requestorId", + readOnly: true, + type: { + name: "String" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo", + modelProperties: { + startDateTime: { + serializedName: "startDateTime", + type: { + name: "DateTime" + } + }, + expiration: { + serializedName: "expiration", + type: { + name: "Composite", + className: + "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + endDateTime: { + serializedName: "endDateTime", + type: { + name: "DateTime" + } + }, + duration: { + serializedName: "duration", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesTicketInfo", + modelProperties: { + ticketNumber: { + serializedName: "ticketNumber", + type: { + name: "String" + } + }, + ticketSystem: { + serializedName: "ticketSystem", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequestListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequest" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const RoleManagementPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicy", + 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" + } + }, + scope: { + serializedName: "properties.scope", + type: { + name: "String" + } + }, + displayName: { + serializedName: "properties.displayName", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + isOrganizationDefault: { + serializedName: "properties.isOrganizationDefault", + type: { + name: "Boolean" + } + }, + lastModifiedBy: { + serializedName: "properties.lastModifiedBy", + type: { + name: "Composite", + className: "Principal" + } + }, + lastModifiedDateTime: { + serializedName: "properties.lastModifiedDateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + rules: { + serializedName: "properties.rules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleManagementPolicyRule" + } + } + } + }, + effectiveRules: { + serializedName: "properties.effectiveRules", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleManagementPolicyRule" + } + } + } + }, + policyProperties: { + serializedName: "properties.policyProperties", + type: { + name: "Composite", + className: "PolicyProperties" + } + } + } + } +}; + +export const Principal: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Principal", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + }, + email: { + serializedName: "email", + type: { + name: "String" + } + } + } + } +}; + +export const RoleManagementPolicyRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicyRule", + uberParent: "RoleManagementPolicyRule", + polymorphicDiscriminator: { + serializedName: "ruleType", + clientName: "ruleType" + }, + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + ruleType: { + serializedName: "ruleType", + required: true, + type: { + name: "String" + } + }, + target: { + serializedName: "target", + type: { + name: "Composite", + className: "RoleManagementPolicyRuleTarget" + } + } + } + } +}; + +export const RoleManagementPolicyRuleTarget: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicyRuleTarget", + modelProperties: { + caller: { + serializedName: "caller", + type: { + name: "String" + } + }, + operations: { + serializedName: "operations", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + level: { + serializedName: "level", + type: { + name: "String" + } + }, + targetObjects: { + serializedName: "targetObjects", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + inheritableSettings: { + serializedName: "inheritableSettings", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + enforcedSettings: { + serializedName: "enforcedSettings", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const PolicyProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyProperties", + modelProperties: { + scope: { + serializedName: "scope", + type: { + name: "Composite", + className: "PolicyPropertiesScope" + } + } + } + } +}; + +export const PolicyPropertiesScope: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyPropertiesScope", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicyListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleManagementPolicy" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const RoleManagementPolicyAssignment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicyAssignment", + 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" + } + }, + scope: { + serializedName: "properties.scope", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + policyId: { + serializedName: "properties.policyId", + type: { + name: "String" + } + }, + policyAssignmentProperties: { + serializedName: "properties.policyAssignmentProperties", + type: { + name: "Composite", + className: "PolicyAssignmentProperties" + } + } + } + } +}; + +export const PolicyAssignmentProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyAssignmentProperties", + modelProperties: { + scope: { + serializedName: "scope", + type: { + name: "Composite", + className: "PolicyAssignmentPropertiesScope" + } + }, + roleDefinition: { + serializedName: "roleDefinition", + type: { + name: "Composite", + className: "PolicyAssignmentPropertiesRoleDefinition" + } + }, + policy: { + serializedName: "policy", + type: { + name: "Composite", + className: "PolicyAssignmentPropertiesPolicy" + } + } + } + } +}; + +export const PolicyAssignmentPropertiesScope: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyAssignmentPropertiesScope", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const PolicyAssignmentPropertiesRoleDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyAssignmentPropertiesRoleDefinition", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const PolicyAssignmentPropertiesPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyAssignmentPropertiesPolicy", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + lastModifiedBy: { + serializedName: "lastModifiedBy", + type: { + name: "Composite", + className: "Principal" + } + }, + lastModifiedDateTime: { + serializedName: "lastModifiedDateTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const RoleManagementPolicyAssignmentListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicyAssignmentListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleManagementPolicyAssignment" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const EligibleChildResourcesListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EligibleChildResourcesListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EligibleChildResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const EligibleChildResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EligibleChildResource", + 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 RoleAssignmentListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleAssignment" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignment", + 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" + } + }, + scope: { + serializedName: "properties.scope", + readOnly: true, + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + readOnly: true, + type: { + name: "DateTime" + } + }, + updatedOn: { + serializedName: "properties.updatedOn", + readOnly: true, + type: { + name: "DateTime" + } + }, + createdBy: { + serializedName: "properties.createdBy", + readOnly: true, + type: { + name: "String" + } + }, + updatedBy: { + serializedName: "properties.updatedBy", + readOnly: true, + type: { + name: "String" + } + }, + delegatedManagedIdentityResourceId: { + serializedName: "properties.delegatedManagedIdentityResourceId", + type: { + name: "String" + } + } + } + } +}; + +export const ErrorResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDetail" + } + } + } + } +}; + +export const ErrorDetail: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorDetail", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + }, + target: { + serializedName: "target", + readOnly: true, + type: { + name: "String" + } + }, + details: { + serializedName: "details", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorDetail" + } + } + } + }, + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo" + } + } + } + } + } + } +}; + +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + modelProperties: { + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + info: { + serializedName: "info", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const RoleAssignmentCreateParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentCreateParameters", + modelProperties: { + scope: { + serializedName: "properties.scope", + readOnly: true, + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + required: true, + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + required: true, + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + readOnly: true, + type: { + name: "DateTime" + } + }, + updatedOn: { + serializedName: "properties.updatedOn", + readOnly: true, + type: { + name: "DateTime" + } + }, + createdBy: { + serializedName: "properties.createdBy", + readOnly: true, + type: { + name: "String" + } + }, + updatedBy: { + serializedName: "properties.updatedBy", + readOnly: true, + type: { + name: "String" + } + }, + delegatedManagedIdentityResourceId: { + serializedName: "properties.delegatedManagedIdentityResourceId", + type: { + name: "String" + } + } + } + } +}; + +export const ValidationResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ValidationResponse", + modelProperties: { + isValid: { + serializedName: "isValid", + readOnly: true, + type: { + name: "Boolean" + } + }, + errorInfo: { + serializedName: "errorInfo", + type: { + name: "Composite", + className: "ValidationResponseErrorInfo" + } + } + } + } +}; + +export const ValidationResponseErrorInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ValidationResponseErrorInfo", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentScheduleFilter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleFilter", + modelProperties: { + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentScheduleInstanceFilter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleInstanceFilter", + modelProperties: { + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + }, + roleAssignmentScheduleId: { + serializedName: "roleAssignmentScheduleId", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentScheduleRequestFilter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestFilter", + modelProperties: { + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + type: { + name: "String" + } + }, + requestorId: { + serializedName: "requestorId", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilityScheduleFilter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleFilter", + modelProperties: { + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilityScheduleInstanceFilter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleInstanceFilter", + modelProperties: { + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + }, + roleEligibilityScheduleId: { + serializedName: "roleEligibilityScheduleId", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequestFilter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestFilter", + modelProperties: { + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + type: { + name: "String" + } + }, + requestorId: { + serializedName: "requestorId", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const ApprovalSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApprovalSettings", + modelProperties: { + isApprovalRequired: { + serializedName: "isApprovalRequired", + type: { + name: "Boolean" + } + }, + isApprovalRequiredForExtension: { + serializedName: "isApprovalRequiredForExtension", + type: { + name: "Boolean" + } + }, + isRequestorJustificationRequired: { + serializedName: "isRequestorJustificationRequired", + type: { + name: "Boolean" + } + }, + approvalMode: { + serializedName: "approvalMode", + type: { + name: "String" + } + }, + approvalStages: { + serializedName: "approvalStages", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApprovalStage" + } + } + } + } + } + } +}; + +export const ApprovalStage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApprovalStage", + modelProperties: { + approvalStageTimeOutInDays: { + serializedName: "approvalStageTimeOutInDays", + type: { + name: "Number" + } + }, + isApproverJustificationRequired: { + serializedName: "isApproverJustificationRequired", + type: { + name: "Boolean" + } + }, + escalationTimeInMinutes: { + serializedName: "escalationTimeInMinutes", + type: { + name: "Number" + } + }, + primaryApprovers: { + serializedName: "primaryApprovers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UserSet" + } + } + } + }, + isEscalationEnabled: { + serializedName: "isEscalationEnabled", + type: { + name: "Boolean" + } + }, + escalationApprovers: { + serializedName: "escalationApprovers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UserSet" + } + } + } + } + } + } +}; + +export const UserSet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UserSet", + modelProperties: { + userType: { + serializedName: "userType", + type: { + name: "String" + } + }, + isBackup: { + serializedName: "isBackup", + type: { + name: "Boolean" + } + }, + id: { + serializedName: "id", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentFilter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentFilter", + modelProperties: { + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + } + } + } +}; + +export const RoleManagementPolicyApprovalRule: coreClient.CompositeMapper = { + serializedName: "RoleManagementPolicyApprovalRule", + type: { + name: "Composite", + className: "RoleManagementPolicyApprovalRule", + uberParent: "RoleManagementPolicyRule", + polymorphicDiscriminator: + RoleManagementPolicyRule.type.polymorphicDiscriminator, + modelProperties: { + ...RoleManagementPolicyRule.type.modelProperties, + setting: { + serializedName: "setting", + type: { + name: "Composite", + className: "ApprovalSettings" + } + } + } + } +}; + +export const RoleManagementPolicyAuthenticationContextRule: coreClient.CompositeMapper = { + serializedName: "RoleManagementPolicyAuthenticationContextRule", + type: { + name: "Composite", + className: "RoleManagementPolicyAuthenticationContextRule", + uberParent: "RoleManagementPolicyRule", + polymorphicDiscriminator: + RoleManagementPolicyRule.type.polymorphicDiscriminator, + modelProperties: { + ...RoleManagementPolicyRule.type.modelProperties, + isEnabled: { + serializedName: "isEnabled", + type: { + name: "Boolean" + } + }, + claimValue: { + serializedName: "claimValue", + type: { + name: "String" + } + } + } + } +}; + +export const RoleManagementPolicyEnablementRule: coreClient.CompositeMapper = { + serializedName: "RoleManagementPolicyEnablementRule", + type: { + name: "Composite", + className: "RoleManagementPolicyEnablementRule", + uberParent: "RoleManagementPolicyRule", + polymorphicDiscriminator: + RoleManagementPolicyRule.type.polymorphicDiscriminator, + modelProperties: { + ...RoleManagementPolicyRule.type.modelProperties, + enabledRules: { + serializedName: "enabledRules", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const RoleManagementPolicyExpirationRule: coreClient.CompositeMapper = { + serializedName: "RoleManagementPolicyExpirationRule", + type: { + name: "Composite", + className: "RoleManagementPolicyExpirationRule", + uberParent: "RoleManagementPolicyRule", + polymorphicDiscriminator: + RoleManagementPolicyRule.type.polymorphicDiscriminator, + modelProperties: { + ...RoleManagementPolicyRule.type.modelProperties, + isExpirationRequired: { + serializedName: "isExpirationRequired", + type: { + name: "Boolean" + } + }, + maximumDuration: { + serializedName: "maximumDuration", + type: { + name: "String" + } + } + } + } +}; + +export const RoleManagementPolicyNotificationRule: coreClient.CompositeMapper = { + serializedName: "RoleManagementPolicyNotificationRule", + type: { + name: "Composite", + className: "RoleManagementPolicyNotificationRule", + uberParent: "RoleManagementPolicyRule", + polymorphicDiscriminator: + RoleManagementPolicyRule.type.polymorphicDiscriminator, + modelProperties: { + ...RoleManagementPolicyRule.type.modelProperties, + notificationType: { + serializedName: "notificationType", + type: { + name: "String" + } + }, + notificationLevel: { + serializedName: "notificationLevel", + type: { + name: "String" + } + }, + recipientType: { + serializedName: "recipientType", + type: { + name: "String" + } + }, + notificationRecipients: { + serializedName: "notificationRecipients", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + isDefaultRecipientsEnabled: { + serializedName: "isDefaultRecipientsEnabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export let discriminators = { + RoleManagementPolicyRule: RoleManagementPolicyRule, + "RoleManagementPolicyRule.RoleManagementPolicyApprovalRule": RoleManagementPolicyApprovalRule, + "RoleManagementPolicyRule.RoleManagementPolicyAuthenticationContextRule": RoleManagementPolicyAuthenticationContextRule, + "RoleManagementPolicyRule.RoleManagementPolicyEnablementRule": RoleManagementPolicyEnablementRule, + "RoleManagementPolicyRule.RoleManagementPolicyExpirationRule": RoleManagementPolicyExpirationRule, + "RoleManagementPolicyRule.RoleManagementPolicyNotificationRule": RoleManagementPolicyNotificationRule +}; diff --git a/sdk/authorization/arm-authorization/src/models/parameters.ts b/sdk/authorization/arm-authorization/src/models/parameters.ts index f6016339a51d..e11ce4a859be 100644 --- a/sdk/authorization/arm-authorization/src/models/parameters.ts +++ b/sdk/authorization/arm-authorization/src/models/parameters.ts @@ -1,243 +1,325 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + RoleAssignmentScheduleRequest as RoleAssignmentScheduleRequestMapper, + RoleEligibilityScheduleRequest as RoleEligibilityScheduleRequestMapper, + RoleManagementPolicy as RoleManagementPolicyMapper, + RoleManagementPolicyAssignment as RoleManagementPolicyAssignmentMapper, + RoleAssignmentCreateParameters as RoleAssignmentCreateParametersMapper +} from "../models/mappers"; -export const acceptLanguage: msRest.OperationParameter = { - parameterPath: "acceptLanguage", +export const accept: OperationParameter = { + parameterPath: "accept", mapper: { - serializedName: "accept-language", - defaultValue: 'en-US', + defaultValue: "application/json", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const apiVersion0: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const $host: OperationURLParameter = { + parameterPath: "$host", mapper: { + serializedName: "$host", required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2015-06-01', type: { name: "String" } - } + }, + skipEncoding: true }; -export const apiVersion1: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const scope: OperationURLParameter = { + parameterPath: "scope", mapper: { + serializedName: "scope", required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2015-07-01', type: { name: "String" } - } + }, + skipEncoding: true }; -export const apiVersion2: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const roleAssignmentScheduleName: OperationURLParameter = { + parameterPath: "roleAssignmentScheduleName", mapper: { + serializedName: "roleAssignmentScheduleName", required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2018-01-01-preview', type: { name: "String" } } }; -export const apiVersion3: msRest.OperationQueryParameter = { + +export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - required: true, + defaultValue: "2020-10-01-preview", isConstant: true, serializedName: "api-version", - defaultValue: '2018-09-01-preview', type: { name: "String" } } }; -export const apiVersion4: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const filter: OperationQueryParameter = { + parameterPath: ["options", "filter"], mapper: { - required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2018-07-01-preview', + serializedName: "$filter", type: { name: "String" } } }; -export const denyAssignmentId0: msRest.OperationURLParameter = { - parameterPath: "denyAssignmentId", + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", mapper: { + serializedName: "nextLink", required: true, - serializedName: "denyAssignmentId", type: { name: "String" } - } + }, + skipEncoding: true }; -export const denyAssignmentId1: msRest.OperationURLParameter = { - parameterPath: "denyAssignmentId", + +export const roleAssignmentScheduleInstanceName: OperationURLParameter = { + parameterPath: "roleAssignmentScheduleInstanceName", mapper: { + serializedName: "roleAssignmentScheduleInstanceName", required: true, - serializedName: "denyAssignmentId", type: { name: "String" } - }, - skipEncoding: true + } }; -export const expand: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "expand" - ], + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], mapper: { - serializedName: "$expand", - defaultValue: 'resourceTypes', + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", type: { name: "String" } } }; -export const filter: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "filter" - ], + +export const parameters: OperationParameter = { + parameterPath: "parameters", + mapper: RoleAssignmentScheduleRequestMapper +}; + +export const roleAssignmentScheduleRequestName: OperationURLParameter = { + parameterPath: "roleAssignmentScheduleRequestName", mapper: { - serializedName: "$filter", + serializedName: "roleAssignmentScheduleRequestName", + required: true, type: { name: "String" } } }; -export const nextPageLink: msRest.OperationURLParameter = { - parameterPath: "nextPageLink", + +export const roleEligibilityScheduleName: OperationURLParameter = { + parameterPath: "roleEligibilityScheduleName", mapper: { + serializedName: "roleEligibilityScheduleName", required: true, - serializedName: "nextLink", type: { name: "String" } - }, - skipEncoding: true + } }; -export const parentResourcePath: msRest.OperationURLParameter = { - parameterPath: "parentResourcePath", + +export const roleEligibilityScheduleInstanceName: OperationURLParameter = { + parameterPath: "roleEligibilityScheduleInstanceName", mapper: { + serializedName: "roleEligibilityScheduleInstanceName", required: true, - serializedName: "parentResourcePath", type: { name: "String" } - }, - skipEncoding: true + } }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", + +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: RoleEligibilityScheduleRequestMapper +}; + +export const roleEligibilityScheduleRequestName: OperationURLParameter = { + parameterPath: "roleEligibilityScheduleRequestName", mapper: { + serializedName: "roleEligibilityScheduleRequestName", required: true, - serializedName: "resourceGroupName", type: { name: "String" } } }; -export const resourceName: msRest.OperationURLParameter = { - parameterPath: "resourceName", + +export const roleManagementPolicyName: OperationURLParameter = { + parameterPath: "roleManagementPolicyName", mapper: { + serializedName: "roleManagementPolicyName", required: true, - serializedName: "resourceName", type: { name: "String" } } }; -export const resourceProviderNamespace: msRest.OperationURLParameter = { - parameterPath: "resourceProviderNamespace", + +export const parameters2: OperationParameter = { + parameterPath: "parameters", + mapper: RoleManagementPolicyMapper +}; + +export const roleManagementPolicyAssignmentName: OperationURLParameter = { + parameterPath: "roleManagementPolicyAssignmentName", mapper: { + serializedName: "roleManagementPolicyAssignmentName", required: true, - serializedName: "resourceProviderNamespace", type: { name: "String" } } }; -export const resourceType: msRest.OperationURLParameter = { - parameterPath: "resourceType", + +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: RoleManagementPolicyAssignmentMapper +}; + +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", mapper: { + constraints: { + MinLength: 1 + }, + serializedName: "subscriptionId", required: true, - serializedName: "resourceType", + type: { + name: "String" + } + } +}; + +export const filter1: OperationQueryParameter = { + parameterPath: ["options", "filter"], + mapper: { + serializedName: "$filter", type: { name: "String" } }, skipEncoding: true }; -export const roleAssignmentName: msRest.OperationURLParameter = { - parameterPath: "roleAssignmentName", + +export const tenantId: OperationQueryParameter = { + parameterPath: ["options", "tenantId"], mapper: { - required: true, - serializedName: "roleAssignmentName", + serializedName: "tenantId", type: { name: "String" } } }; -export const roleDefinitionId: msRest.OperationURLParameter = { - parameterPath: "roleDefinitionId", + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", mapper: { + constraints: { + MaxLength: 90, + MinLength: 1 + }, + serializedName: "resourceGroupName", required: true, - serializedName: "roleDefinitionId", type: { name: "String" } } }; -export const roleId: msRest.OperationURLParameter = { - parameterPath: "roleId", + +export const resourceProviderNamespace: OperationURLParameter = { + parameterPath: "resourceProviderNamespace", mapper: { + serializedName: "resourceProviderNamespace", required: true, - serializedName: "roleId", type: { name: "String" } }, skipEncoding: true }; -export const scope: msRest.OperationURLParameter = { - parameterPath: "scope", + +export const resourceType: OperationURLParameter = { + parameterPath: "resourceType", mapper: { + serializedName: "resourceType", required: true, - serializedName: "scope", type: { name: "String" } }, skipEncoding: true }; -export const subscriptionId: msRest.OperationURLParameter = { - parameterPath: "subscriptionId", + +export const resourceName: OperationURLParameter = { + parameterPath: "resourceName", mapper: { + serializedName: "resourceName", required: true, - serializedName: "subscriptionId", type: { name: "String" } - } + }, + skipEncoding: true +}; + +export const roleAssignmentName: OperationURLParameter = { + parameterPath: "roleAssignmentName", + mapper: { + serializedName: "roleAssignmentName", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const parameters4: OperationParameter = { + parameterPath: "parameters", + mapper: RoleAssignmentCreateParametersMapper +}; + +export const roleAssignmentId: OperationURLParameter = { + parameterPath: "roleAssignmentId", + mapper: { + serializedName: "roleAssignmentId", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true }; diff --git a/sdk/authorization/arm-authorization/src/models/permissionsMappers.ts b/sdk/authorization/arm-authorization/src/models/permissionsMappers.ts deleted file mode 100644 index 2ca29685b7d7..000000000000 --- a/sdk/authorization/arm-authorization/src/models/permissionsMappers.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - Permission, - PermissionGetResult -} from "../models/mappers"; diff --git a/sdk/authorization/arm-authorization/src/models/providerOperationsMetadataOperationsMappers.ts b/sdk/authorization/arm-authorization/src/models/providerOperationsMetadataOperationsMappers.ts deleted file mode 100644 index 7bfe52496e1d..000000000000 --- a/sdk/authorization/arm-authorization/src/models/providerOperationsMetadataOperationsMappers.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - ProviderOperation, - ProviderOperationsMetadata, - ProviderOperationsMetadataListResult, - ResourceType -} from "../models/mappers"; diff --git a/sdk/authorization/arm-authorization/src/models/roleAssignmentsMappers.ts b/sdk/authorization/arm-authorization/src/models/roleAssignmentsMappers.ts deleted file mode 100644 index 9a3e7d0c7a2c..000000000000 --- a/sdk/authorization/arm-authorization/src/models/roleAssignmentsMappers.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - RoleAssignment, - RoleAssignmentCreateParameters, - RoleAssignmentListResult -} from "../models/mappers"; diff --git a/sdk/authorization/arm-authorization/src/models/roleDefinitionsMappers.ts b/sdk/authorization/arm-authorization/src/models/roleDefinitionsMappers.ts deleted file mode 100644 index c64320ffca61..000000000000 --- a/sdk/authorization/arm-authorization/src/models/roleDefinitionsMappers.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - Permission, - RoleDefinition, - RoleDefinitionListResult -} from "../models/mappers"; diff --git a/sdk/authorization/arm-authorization/src/operations/classicAdministrators.ts b/sdk/authorization/arm-authorization/src/operations/classicAdministrators.ts deleted file mode 100644 index d9d06e7c6bfe..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/classicAdministrators.ts +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/classicAdministratorsMappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; - -/** Class representing a ClassicAdministrators. */ -export class ClassicAdministrators { - private readonly client: AuthorizationManagementClientContext; - - /** - * Create a ClassicAdministrators. - * @param {AuthorizationManagementClientContext} client Reference to the service client. - */ - constructor(client: AuthorizationManagementClientContext) { - this.client = client; - } - - /** - * Gets service administrator, account administrator, and co-administrators for the subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; - } - - /** - * Gets service administrator, account administrator, and co-administrators for the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ClassicAdministratorListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ClassicAdministratorListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/denyAssignments.ts b/sdk/authorization/arm-authorization/src/operations/denyAssignments.ts deleted file mode 100644 index e864b8780f9c..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/denyAssignments.ts +++ /dev/null @@ -1,571 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/denyAssignmentsMappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; - -/** Class representing a DenyAssignments. */ -export class DenyAssignments { - private readonly client: AuthorizationManagementClientContext; - - /** - * Create a DenyAssignments. - * @param {AuthorizationManagementClientContext} client Reference to the service client. - */ - constructor(client: AuthorizationManagementClientContext) { - this.client = client; - } - - /** - * Gets deny assignments for a resource. - * @param resourceGroupName The name of the resource group. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get deny assignments for. - * @param [options] The optional parameters - * @returns Promise - */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: Models.DenyAssignmentsListForResourceOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get deny assignments for. - * @param callback The callback - */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get deny assignments for. - * @param options The optional parameters - * @param callback The callback - */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options: Models.DenyAssignmentsListForResourceOptionalParams, callback: msRest.ServiceCallback): void; - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: Models.DenyAssignmentsListForResourceOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - }, - listForResourceOperationSpec, - callback) as Promise; - } - - /** - * Gets deny assignments for a resource group. - * @param resourceGroupName The name of the resource group. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceGroup(resourceGroupName: string, options?: Models.DenyAssignmentsListForResourceGroupOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group. - * @param callback The callback - */ - listForResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group. - * @param options The optional parameters - * @param callback The callback - */ - listForResourceGroup(resourceGroupName: string, options: Models.DenyAssignmentsListForResourceGroupOptionalParams, callback: msRest.ServiceCallback): void; - listForResourceGroup(resourceGroupName: string, options?: Models.DenyAssignmentsListForResourceGroupOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listForResourceGroupOperationSpec, - callback) as Promise; - } - - /** - * Gets all deny assignments for the subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: Models.DenyAssignmentsListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: Models.DenyAssignmentsListOptionalParams, callback: msRest.ServiceCallback): void; - list(options?: Models.DenyAssignmentsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; - } - - /** - * Get the specified deny assignment. - * @param scope The scope of the deny assignment. - * @param denyAssignmentId The ID of the deny assignment to get. - * @param [options] The optional parameters - * @returns Promise - */ - get(scope: string, denyAssignmentId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param scope The scope of the deny assignment. - * @param denyAssignmentId The ID of the deny assignment to get. - * @param callback The callback - */ - get(scope: string, denyAssignmentId: string, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the deny assignment. - * @param denyAssignmentId The ID of the deny assignment to get. - * @param options The optional parameters - * @param callback The callback - */ - get(scope: string, denyAssignmentId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(scope: string, denyAssignmentId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - scope, - denyAssignmentId, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Gets a deny assignment by ID. - * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, - * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for - * subscription level deny assignments, or - * /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant level deny - * assignments. - * @param [options] The optional parameters - * @returns Promise - */ - getById(denyAssignmentId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, - * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for - * subscription level deny assignments, or - * /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant level deny - * assignments. - * @param callback The callback - */ - getById(denyAssignmentId: string, callback: msRest.ServiceCallback): void; - /** - * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, - * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for - * subscription level deny assignments, or - * /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant level deny - * assignments. - * @param options The optional parameters - * @param callback The callback - */ - getById(denyAssignmentId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getById(denyAssignmentId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - denyAssignmentId, - options - }, - getByIdOperationSpec, - callback) as Promise; - } - - /** - * Gets deny assignments for a scope. - * @param scope The scope of the deny assignments. - * @param [options] The optional parameters - * @returns Promise - */ - listForScope(scope: string, options?: Models.DenyAssignmentsListForScopeOptionalParams): Promise; - /** - * @param scope The scope of the deny assignments. - * @param callback The callback - */ - listForScope(scope: string, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the deny assignments. - * @param options The optional parameters - * @param callback The callback - */ - listForScope(scope: string, options: Models.DenyAssignmentsListForScopeOptionalParams, callback: msRest.ServiceCallback): void; - listForScope(scope: string, options?: Models.DenyAssignmentsListForScopeOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - scope, - options - }, - listForScopeOperationSpec, - callback) as Promise; - } - - /** - * Gets deny assignments for a resource. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForResourceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForResourceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForResourceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForResourceNextOperationSpec, - callback) as Promise; - } - - /** - * Gets deny assignments for a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForResourceGroupNextOperationSpec, - callback) as Promise; - } - - /** - * Gets all deny assignments for the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; - } - - /** - * Gets deny assignments for a scope. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForScopeNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForScopeNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForScopeNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForScopeNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForScopeNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listForResourceOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/denyAssignments", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.parentResourcePath, - Parameters.resourceType, - Parameters.resourceName - ], - queryParameters: [ - Parameters.apiVersion4, - Parameters.filter - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listForResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/denyAssignments", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName - ], - queryParameters: [ - Parameters.apiVersion4, - Parameters.filter - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Authorization/denyAssignments", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4, - Parameters.filter - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{scope}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId}", - urlParameters: [ - Parameters.scope, - Parameters.denyAssignmentId0 - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignment - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const getByIdOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{denyAssignmentId}", - urlParameters: [ - Parameters.denyAssignmentId1 - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignment - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listForScopeOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{scope}/providers/Microsoft.Authorization/denyAssignments", - urlParameters: [ - Parameters.scope - ], - queryParameters: [ - Parameters.apiVersion4, - Parameters.filter - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listForResourceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listForResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listForScopeNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts b/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts new file mode 100644 index 000000000000..1e98e4feaa3e --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { EligibleChildResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + EligibleChildResource, + EligibleChildResourcesGetNextOptionalParams, + EligibleChildResourcesGetOptionalParams, + EligibleChildResourcesGetResponse, + EligibleChildResourcesGetNextResponse +} from "../models"; + +/// +/** Class containing EligibleChildResources operations. */ +export class EligibleChildResourcesImpl implements EligibleChildResources { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class EligibleChildResources class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Get the child resources of a resource on which user has eligible access + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + public list( + scope: string, + options?: EligibleChildResourcesGetOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getPagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getPagingPage(scope, options); + } + }; + } + + private async *getPagingPage( + scope: string, + options?: EligibleChildResourcesGetOptionalParams + ): AsyncIterableIterator { + let result = await this._get(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getPagingAll( + scope: string, + options?: EligibleChildResourcesGetOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getPagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the child resources of a resource on which user has eligible access + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + private _get( + scope: string, + options?: EligibleChildResourcesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + getOperationSpec + ); + } + + /** + * GetNext + * @param scope The scope of the role management policy. + * @param nextLink The nextLink from the previous successful call to the Get method. + * @param options The options parameters. + */ + private _getNext( + scope: string, + nextLink: string, + options?: EligibleChildResourcesGetNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + getNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/{scope}/providers/Microsoft.Authorization/eligibleChildResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.EligibleChildResourcesListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const getNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.EligibleChildResourcesListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/globalAdministrator.ts b/sdk/authorization/arm-authorization/src/operations/globalAdministrator.ts deleted file mode 100644 index 0023d794b235..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/globalAdministrator.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Mappers from "../models/globalAdministratorMappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; - -/** Class representing a GlobalAdministrator. */ -export class GlobalAdministrator { - private readonly client: AuthorizationManagementClientContext; - - /** - * Create a GlobalAdministrator. - * @param {AuthorizationManagementClientContext} client Reference to the service client. - */ - constructor(client: AuthorizationManagementClientContext) { - this.client = client; - } - - /** - * Elevates access for a Global Administrator. - * @param [options] The optional parameters - * @returns Promise - */ - elevateAccess(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - elevateAccess(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - elevateAccess(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - elevateAccess(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - elevateAccessOperationSpec, - callback); - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const elevateAccessOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "providers/Microsoft.Authorization/elevateAccess", - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/index.ts b/sdk/authorization/arm-authorization/src/operations/index.ts index 666b593b53b8..e547e894ea9f 100644 --- a/sdk/authorization/arm-authorization/src/operations/index.ts +++ b/sdk/authorization/arm-authorization/src/operations/index.ts @@ -1,17 +1,18 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./classicAdministrators"; -export * from "./globalAdministrator"; -export * from "./providerOperationsMetadataOperations"; +export * from "./roleAssignmentSchedules"; +export * from "./roleAssignmentScheduleInstances"; +export * from "./roleAssignmentScheduleRequests"; +export * from "./roleEligibilitySchedules"; +export * from "./roleEligibilityScheduleInstances"; +export * from "./roleEligibilityScheduleRequests"; +export * from "./roleManagementPolicies"; +export * from "./roleManagementPolicyAssignments"; +export * from "./eligibleChildResources"; export * from "./roleAssignments"; -export * from "./permissions"; -export * from "./roleDefinitions"; -export * from "./denyAssignments"; diff --git a/sdk/authorization/arm-authorization/src/operations/permissions.ts b/sdk/authorization/arm-authorization/src/operations/permissions.ts deleted file mode 100644 index 95de3b3b1a05..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/permissions.ts +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/permissionsMappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; - -/** Class representing a Permissions. */ -export class Permissions { - private readonly client: AuthorizationManagementClientContext; - - /** - * Create a Permissions. - * @param {AuthorizationManagementClientContext} client Reference to the service client. - */ - constructor(client: AuthorizationManagementClientContext) { - this.client = client; - } - - /** - * Gets all permissions the caller has for a resource group. - * @param resourceGroupName The name of the resource group. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group. - * @param callback The callback - */ - listForResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group. - * @param options The optional parameters - * @param callback The callback - */ - listForResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listForResourceGroupOperationSpec, - callback) as Promise; - } - - /** - * Gets all permissions the caller has for a resource. - * @param resourceGroupName The name of the resource group. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get the permissions for. - * @param [options] The optional parameters - * @returns Promise - */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get the permissions for. - * @param callback The callback - */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get the permissions for. - * @param options The optional parameters - * @param callback The callback - */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - }, - listForResourceOperationSpec, - callback) as Promise; - } - - /** - * Gets all permissions the caller has for a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForResourceGroupNextOperationSpec, - callback) as Promise; - } - - /** - * Gets all permissions the caller has for a resource. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForResourceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForResourceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForResourceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForResourceNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listForResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.PermissionGetResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listForResourceOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.parentResourcePath, - Parameters.resourceType, - Parameters.resourceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.PermissionGetResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listForResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.PermissionGetResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listForResourceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.PermissionGetResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/providerOperationsMetadataOperations.ts b/sdk/authorization/arm-authorization/src/operations/providerOperationsMetadataOperations.ts deleted file mode 100644 index 7643d6706222..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/providerOperationsMetadataOperations.ts +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/providerOperationsMetadataOperationsMappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; - -/** Class representing a ProviderOperationsMetadataOperations. */ -export class ProviderOperationsMetadataOperations { - private readonly client: AuthorizationManagementClientContext; - - /** - * Create a ProviderOperationsMetadataOperations. - * @param {AuthorizationManagementClientContext} client Reference to the service client. - */ - constructor(client: AuthorizationManagementClientContext) { - this.client = client; - } - - /** - * Gets provider operations metadata for the specified resource provider. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceProviderNamespace: string, options?: Models.ProviderOperationsMetadataGetOptionalParams): Promise; - /** - * @param resourceProviderNamespace The namespace of the resource provider. - * @param callback The callback - */ - get(resourceProviderNamespace: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceProviderNamespace The namespace of the resource provider. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceProviderNamespace: string, options: Models.ProviderOperationsMetadataGetOptionalParams, callback: msRest.ServiceCallback): void; - get(resourceProviderNamespace: string, options?: Models.ProviderOperationsMetadataGetOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceProviderNamespace, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Gets provider operations metadata for all resource providers. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: Models.ProviderOperationsMetadataListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: Models.ProviderOperationsMetadataListOptionalParams, callback: msRest.ServiceCallback): void; - list(options?: Models.ProviderOperationsMetadataListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; - } - - /** - * Gets provider operations metadata for all resource providers. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}", - urlParameters: [ - Parameters.resourceProviderNamespace - ], - queryParameters: [ - Parameters.apiVersion2, - Parameters.expand - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ProviderOperationsMetadata - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "providers/Microsoft.Authorization/providerOperations", - queryParameters: [ - Parameters.apiVersion2, - Parameters.expand - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ProviderOperationsMetadataListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ProviderOperationsMetadataListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts new file mode 100644 index 000000000000..68ee23d55f0c --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts @@ -0,0 +1,192 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleAssignmentScheduleInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleAssignmentScheduleInstance, + RoleAssignmentScheduleInstancesListForScopeNextOptionalParams, + RoleAssignmentScheduleInstancesListForScopeOptionalParams, + RoleAssignmentScheduleInstancesListForScopeResponse, + RoleAssignmentScheduleInstancesGetOptionalParams, + RoleAssignmentScheduleInstancesGetResponse, + RoleAssignmentScheduleInstancesListForScopeNextResponse +} from "../models"; + +/// +/** Class containing RoleAssignmentScheduleInstances operations. */ +export class RoleAssignmentScheduleInstancesImpl + implements RoleAssignmentScheduleInstances { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class RoleAssignmentScheduleInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * @param scope The scope of the role assignment schedule. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * @param scope The scope of the role assignment schedule. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * Gets the specified role assignment schedule instance. + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role + * assignment schedule to get. + * @param options The options parameters. + */ + get( + scope: string, + roleAssignmentScheduleInstanceName: string, + options?: RoleAssignmentScheduleInstancesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleAssignmentScheduleInstanceName, options }, + getOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the role assignment schedule. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleAssignmentScheduleInstancesListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleInstances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentScheduleInstanceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleInstances/{roleAssignmentScheduleInstanceName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentScheduleInstance + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleAssignmentScheduleInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentScheduleInstanceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts new file mode 100644 index 000000000000..6443fee67f96 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts @@ -0,0 +1,280 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleAssignmentScheduleRequests } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleAssignmentScheduleRequest, + RoleAssignmentScheduleRequestsListForScopeNextOptionalParams, + RoleAssignmentScheduleRequestsListForScopeOptionalParams, + RoleAssignmentScheduleRequestsCreateOptionalParams, + RoleAssignmentScheduleRequestsCreateResponse, + RoleAssignmentScheduleRequestsGetOptionalParams, + RoleAssignmentScheduleRequestsGetResponse, + RoleAssignmentScheduleRequestsListForScopeResponse, + RoleAssignmentScheduleRequestsCancelOptionalParams, + RoleAssignmentScheduleRequestsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing RoleAssignmentScheduleRequests operations. */ +export class RoleAssignmentScheduleRequestsImpl + implements RoleAssignmentScheduleRequests { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class RoleAssignmentScheduleRequests class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Gets role assignment schedule requests for a scope. + * @param scope The scope of the role assignments schedule requests. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Creates a role assignment schedule request. + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST + * resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName The name of the role assignment to create. It can be any + * valid GUID. + * @param parameters Parameters for the role assignment schedule request. + * @param options The options parameters. + */ + create( + scope: string, + roleAssignmentScheduleRequestName: string, + parameters: RoleAssignmentScheduleRequest, + options?: RoleAssignmentScheduleRequestsCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleAssignmentScheduleRequestName, parameters, options }, + createOperationSpec + ); + } + + /** + * Get the specified role assignment schedule request. + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to + * get. + * @param options The options parameters. + */ + get( + scope: string, + roleAssignmentScheduleRequestName: string, + options?: RoleAssignmentScheduleRequestsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleAssignmentScheduleRequestName, options }, + getOperationSpec + ); + } + + /** + * Gets role assignment schedule requests for a scope. + * @param scope The scope of the role assignments schedule requests. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * Cancels a pending role assignment schedule request. + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @param options The options parameters. + */ + cancel( + scope: string, + roleAssignmentScheduleRequestName: string, + options?: RoleAssignmentScheduleRequestsCancelOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleAssignmentScheduleRequestName, options }, + cancelOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the role assignments schedule requests. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleAssignmentScheduleRequestsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}", + httpMethod: "PUT", + responses: { + 201: { + bodyMapper: Mappers.RoleAssignmentScheduleRequest + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleAssignmentScheduleRequestName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentScheduleRequest + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleAssignmentScheduleRequestName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentScheduleRequestListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const cancelOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}/cancel", + httpMethod: "POST", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleAssignmentScheduleRequestName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentScheduleRequestListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts new file mode 100644 index 000000000000..f625ac6f3ab2 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts @@ -0,0 +1,189 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleAssignmentSchedules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleAssignmentSchedule, + RoleAssignmentSchedulesListForScopeNextOptionalParams, + RoleAssignmentSchedulesListForScopeOptionalParams, + RoleAssignmentSchedulesGetOptionalParams, + RoleAssignmentSchedulesGetResponse, + RoleAssignmentSchedulesListForScopeResponse, + RoleAssignmentSchedulesListForScopeNextResponse +} from "../models"; + +/// +/** Class containing RoleAssignmentSchedules operations. */ +export class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class RoleAssignmentSchedules class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Gets role assignment schedules for a resource scope. + * @param scope The scope of the role assignments schedules. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleAssignmentSchedulesListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleAssignmentSchedulesListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleAssignmentSchedulesListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the specified role assignment schedule for a resource scope + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @param options The options parameters. + */ + get( + scope: string, + roleAssignmentScheduleName: string, + options?: RoleAssignmentSchedulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleAssignmentScheduleName, options }, + getOperationSpec + ); + } + + /** + * Gets role assignment schedules for a resource scope. + * @param scope The scope of the role assignments schedules. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleAssignmentSchedulesListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the role assignments schedules. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleAssignmentSchedulesListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules/{roleAssignmentScheduleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentSchedule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleAssignmentScheduleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: "/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentScheduleListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentScheduleListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignments.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignments.ts index f6d695fcba05..5fbb7b8825d2 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignments.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleAssignments.ts @@ -1,810 +1,974 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/roleAssignmentsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleAssignments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleAssignment, + RoleAssignmentsListForSubscriptionNextOptionalParams, + RoleAssignmentsListForSubscriptionOptionalParams, + RoleAssignmentsListForResourceGroupNextOptionalParams, + RoleAssignmentsListForResourceGroupOptionalParams, + RoleAssignmentsListForResourceNextOptionalParams, + RoleAssignmentsListForResourceOptionalParams, + RoleAssignmentsListForScopeNextOptionalParams, + RoleAssignmentsListForScopeOptionalParams, + RoleAssignmentsListForSubscriptionResponse, + RoleAssignmentsListForResourceGroupResponse, + RoleAssignmentsListForResourceResponse, + RoleAssignmentsGetOptionalParams, + RoleAssignmentsGetResponse, + RoleAssignmentCreateParameters, + RoleAssignmentsCreateOptionalParams, + RoleAssignmentsCreateResponse, + RoleAssignmentsDeleteOptionalParams, + RoleAssignmentsDeleteResponse, + RoleAssignmentsValidateOptionalParams, + RoleAssignmentsValidateResponse, + RoleAssignmentsListForScopeResponse, + RoleAssignmentsGetByIdOptionalParams, + RoleAssignmentsGetByIdResponse, + RoleAssignmentsCreateByIdOptionalParams, + RoleAssignmentsCreateByIdResponse, + RoleAssignmentsDeleteByIdOptionalParams, + RoleAssignmentsDeleteByIdResponse, + RoleAssignmentsValidateByIdOptionalParams, + RoleAssignmentsValidateByIdResponse, + RoleAssignmentsListForSubscriptionNextResponse, + RoleAssignmentsListForResourceGroupNextResponse, + RoleAssignmentsListForResourceNextResponse, + RoleAssignmentsListForScopeNextResponse +} from "../models"; -/** Class representing a RoleAssignments. */ -export class RoleAssignments { +/// +/** Class containing RoleAssignments operations. */ +export class RoleAssignmentsImpl implements RoleAssignments { private readonly client: AuthorizationManagementClientContext; /** - * Create a RoleAssignments. - * @param {AuthorizationManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class RoleAssignments class. + * @param client Reference to the service client */ constructor(client: AuthorizationManagementClientContext) { this.client = client; } /** - * Gets role assignments for a resource. - * @param resourceGroupName The name of the resource group. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get role assignments for. - * @param [options] The optional parameters - * @returns Promise + * List all role assignments that apply to a subscription. + * @param options The options parameters. */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: Models.RoleAssignmentsListForResourceOptionalParams): Promise; + public listForSubscription( + options?: RoleAssignmentsListForSubscriptionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForSubscriptionPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForSubscriptionPagingPage(options); + } + }; + } + + private async *listForSubscriptionPagingPage( + options?: RoleAssignmentsListForSubscriptionOptionalParams + ): AsyncIterableIterator { + let result = await this._listForSubscription(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForSubscriptionNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForSubscriptionPagingAll( + options?: RoleAssignmentsListForSubscriptionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForSubscriptionPagingPage(options)) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get role assignments for. - * @param callback The callback - */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, callback: msRest.ServiceCallback): void; + * List all role assignments that apply to a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + public listForResourceGroup( + resourceGroupName: string, + options?: RoleAssignmentsListForResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForResourceGroupPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForResourceGroupPagingPage(resourceGroupName, options); + } + }; + } + + private async *listForResourceGroupPagingPage( + resourceGroupName: string, + options?: RoleAssignmentsListForResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listForResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForResourceGroupNext( + resourceGroupName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForResourceGroupPagingAll( + resourceGroupName: string, + options?: RoleAssignmentsListForResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group. + * List all role assignments that apply to a resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceProviderNamespace The namespace of the resource provider. - * @param parentResourcePath The parent resource identity. - * @param resourceType The resource type of the resource. - * @param resourceName The name of the resource to get role assignments for. - * @param options The optional parameters - * @param callback The callback - */ - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options: Models.RoleAssignmentsListForResourceOptionalParams, callback: msRest.ServiceCallback): void; - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: Models.RoleAssignmentsListForResourceOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param options The options parameters. + */ + public listForResource( + resourceGroupName: string, + resourceProviderNamespace: string, + resourceType: string, + resourceName: string, + options?: RoleAssignmentsListForResourceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForResourcePagingAll( + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForResourcePagingPage( + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + options + ); + } + }; + } + + private async *listForResourcePagingPage( + resourceGroupName: string, + resourceProviderNamespace: string, + resourceType: string, + resourceName: string, + options?: RoleAssignmentsListForResourceOptionalParams + ): AsyncIterableIterator { + let result = await this._listForResource( + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForResourceNext( resourceGroupName, resourceProviderNamespace, - parentResourcePath, resourceType, resourceName, + continuationToken, options - }, - listForResourceOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForResourcePagingAll( + resourceGroupName: string, + resourceProviderNamespace: string, + resourceType: string, + resourceName: string, + options?: RoleAssignmentsListForResourceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForResourcePagingPage( + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + options + )) { + yield* page; + } } /** - * Gets role assignments for a resource group. - * @param resourceGroupName The name of the resource group. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceGroup(resourceGroupName: string, options?: Models.RoleAssignmentsListForResourceGroupOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group. - * @param callback The callback - */ - listForResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group. - * @param options The optional parameters - * @param callback The callback - */ - listForResourceGroup(resourceGroupName: string, options: Models.RoleAssignmentsListForResourceGroupOptionalParams, callback: msRest.ServiceCallback): void; - listForResourceGroup(resourceGroupName: string, options?: Models.RoleAssignmentsListForResourceGroupOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - options + * List all role assignments that apply to a scope. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleAssignmentsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); }, - listForResourceGroupOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleAssignmentsListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleAssignmentsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } } /** - * Deletes a role assignment. - * @param scope The scope of the role assignment to delete. - * @param roleAssignmentName The name of the role assignment to delete. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(scope: string, roleAssignmentName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param scope The scope of the role assignment to delete. - * @param roleAssignmentName The name of the role assignment to delete. - * @param callback The callback - */ - deleteMethod(scope: string, roleAssignmentName: string, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the role assignment to delete. - * @param roleAssignmentName The name of the role assignment to delete. - * @param options The optional parameters - * @param callback The callback + * List all role assignments that apply to a subscription. + * @param options The options parameters. */ - deleteMethod(scope: string, roleAssignmentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(scope: string, roleAssignmentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listForSubscription( + options?: RoleAssignmentsListForSubscriptionOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - scope, - roleAssignmentName, - options - }, - deleteMethodOperationSpec, - callback) as Promise; + { options }, + listForSubscriptionOperationSpec + ); } /** - * Creates a role assignment. - * @param scope The scope of the role assignment to create. The scope can be any REST resource - * instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, - * and - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' - * for a resource. - * @param roleAssignmentName The name of the role assignment to create. It can be any valid GUID. - * @param parameters Parameters for the role assignment. - * @param [options] The optional parameters - * @returns Promise - */ - create(scope: string, roleAssignmentName: string, parameters: Models.RoleAssignmentCreateParameters, options?: msRest.RequestOptionsBase): Promise; - /** - * @param scope The scope of the role assignment to create. The scope can be any REST resource - * instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, - * and - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' - * for a resource. - * @param roleAssignmentName The name of the role assignment to create. It can be any valid GUID. - * @param parameters Parameters for the role assignment. - * @param callback The callback - */ - create(scope: string, roleAssignmentName: string, parameters: Models.RoleAssignmentCreateParameters, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the role assignment to create. The scope can be any REST resource - * instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, - * and - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' - * for a resource. - * @param roleAssignmentName The name of the role assignment to create. It can be any valid GUID. - * @param parameters Parameters for the role assignment. - * @param options The optional parameters - * @param callback The callback + * List all role assignments that apply to a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. */ - create(scope: string, roleAssignmentName: string, parameters: Models.RoleAssignmentCreateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - create(scope: string, roleAssignmentName: string, parameters: Models.RoleAssignmentCreateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listForResourceGroup( + resourceGroupName: string, + options?: RoleAssignmentsListForResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - scope, - roleAssignmentName, - parameters, - options - }, - createOperationSpec, - callback) as Promise; + { resourceGroupName, options }, + listForResourceGroupOperationSpec + ); } /** - * Get the specified role assignment. - * @param scope The scope of the role assignment. - * @param roleAssignmentName The name of the role assignment to get. - * @param [options] The optional parameters - * @returns Promise - */ - get(scope: string, roleAssignmentName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param scope The scope of the role assignment. - * @param roleAssignmentName The name of the role assignment to get. - * @param callback The callback - */ - get(scope: string, roleAssignmentName: string, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the role assignment. - * @param roleAssignmentName The name of the role assignment to get. - * @param options The optional parameters - * @param callback The callback - */ - get(scope: string, roleAssignmentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(scope: string, roleAssignmentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * List all role assignments that apply to a resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param options The options parameters. + */ + private _listForResource( + resourceGroupName: string, + resourceProviderNamespace: string, + resourceType: string, + resourceName: string, + options?: RoleAssignmentsListForResourceOptionalParams + ): Promise { return this.client.sendOperationRequest( { - scope, - roleAssignmentName, + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, options }, - getOperationSpec, - callback) as Promise; + listForResourceOperationSpec + ); } /** - * Deletes a role assignment. - * @param roleId The ID of the role assignment to delete. - * @param [options] The optional parameters - * @returns Promise - */ - deleteById(roleId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param roleId The ID of the role assignment to delete. - * @param callback The callback - */ - deleteById(roleId: string, callback: msRest.ServiceCallback): void; - /** - * @param roleId The ID of the role assignment to delete. - * @param options The optional parameters - * @param callback The callback - */ - deleteById(roleId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteById(roleId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * Get a role assignment by scope and name. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param options The options parameters. + */ + get( + scope: string, + roleAssignmentName: string, + options?: RoleAssignmentsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - roleId, - options - }, - deleteByIdOperationSpec, - callback) as Promise; + { scope, roleAssignmentName, options }, + getOperationSpec + ); } /** - * Creates a role assignment by ID. - * @param roleId The ID of the role assignment to create. + * Create or update a role assignment by scope and name. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. * @param parameters Parameters for the role assignment. - * @param [options] The optional parameters - * @returns Promise - */ - createById(roleId: string, parameters: Models.RoleAssignmentCreateParameters, options?: msRest.RequestOptionsBase): Promise; + * @param options The options parameters. + */ + create( + scope: string, + roleAssignmentName: string, + parameters: RoleAssignmentCreateParameters, + options?: RoleAssignmentsCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleAssignmentName, parameters, options }, + createOperationSpec + ); + } + /** - * @param roleId The ID of the role assignment to create. - * @param parameters Parameters for the role assignment. - * @param callback The callback - */ - createById(roleId: string, parameters: Models.RoleAssignmentCreateParameters, callback: msRest.ServiceCallback): void; + * Delete a role assignment by scope and name. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param options The options parameters. + */ + delete( + scope: string, + roleAssignmentName: string, + options?: RoleAssignmentsDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleAssignmentName, options }, + deleteOperationSpec + ); + } + /** - * @param roleId The ID of the role assignment to create. + * Validate a role assignment create or update operation by scope and name. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. * @param parameters Parameters for the role assignment. - * @param options The optional parameters - * @param callback The callback - */ - createById(roleId: string, parameters: Models.RoleAssignmentCreateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createById(roleId: string, parameters: Models.RoleAssignmentCreateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + validate( + scope: string, + roleAssignmentName: string, + parameters: RoleAssignmentCreateParameters, + options?: RoleAssignmentsValidateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - roleId, - parameters, - options - }, - createByIdOperationSpec, - callback) as Promise; + { scope, roleAssignmentName, parameters, options }, + validateOperationSpec + ); } /** - * Gets a role assignment by ID. - * @param roleId The ID of the role assignment to get. - * @param [options] The optional parameters - * @returns Promise - */ - getById(roleId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param roleId The ID of the role assignment to get. - * @param callback The callback - */ - getById(roleId: string, callback: msRest.ServiceCallback): void; - /** - * @param roleId The ID of the role assignment to get. - * @param options The optional parameters - * @param callback The callback - */ - getById(roleId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getById(roleId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * List all role assignments that apply to a scope. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleAssignmentsListForScopeOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - roleId, - options - }, - getByIdOperationSpec, - callback) as Promise; + { scope, options }, + listForScopeOperationSpec + ); } /** - * Gets all role assignments for the subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: Models.RoleAssignmentsListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: Models.RoleAssignmentsListOptionalParams, callback: msRest.ServiceCallback): void; - list(options?: Models.RoleAssignmentsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * Get a role assignment by ID. + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource + * name, and resource type. Format: + * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: + * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ + * @param options The options parameters. + */ + getById( + roleAssignmentId: string, + options?: RoleAssignmentsGetByIdOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + { roleAssignmentId, options }, + getByIdOperationSpec + ); } /** - * Gets role assignments for a scope. - * @param scope The scope of the role assignments. - * @param [options] The optional parameters - * @returns Promise - */ - listForScope(scope: string, options?: Models.RoleAssignmentsListForScopeOptionalParams): Promise; - /** - * @param scope The scope of the role assignments. - * @param callback The callback - */ - listForScope(scope: string, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the role assignments. - * @param options The optional parameters - * @param callback The callback + * Create or update a role assignment by ID. + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource + * name, and resource type. Format: + * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: + * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ + * @param parameters Parameters for the role assignment. + * @param options The options parameters. */ - listForScope(scope: string, options: Models.RoleAssignmentsListForScopeOptionalParams, callback: msRest.ServiceCallback): void; - listForScope(scope: string, options?: Models.RoleAssignmentsListForScopeOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createById( + roleAssignmentId: string, + parameters: RoleAssignmentCreateParameters, + options?: RoleAssignmentsCreateByIdOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - scope, - options - }, - listForScopeOperationSpec, - callback) as Promise; + { roleAssignmentId, parameters, options }, + createByIdOperationSpec + ); } /** - * Gets role assignments for a resource. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForResourceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForResourceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForResourceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * Delete a role assignment by ID. + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource + * name, and resource type. Format: + * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: + * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ + * @param options The options parameters. + */ + deleteById( + roleAssignmentId: string, + options?: RoleAssignmentsDeleteByIdOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForResourceNextOperationSpec, - callback) as Promise; + { roleAssignmentId, options }, + deleteByIdOperationSpec + ); } /** - * Gets role assignments for a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Validate a role assignment create or update operation by ID. + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource + * name, and resource type. Format: + * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: + * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ + * @param parameters Parameters for the role assignment. + * @param options The options parameters. */ - listForResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + validateById( + roleAssignmentId: string, + parameters: RoleAssignmentCreateParameters, + options?: RoleAssignmentsValidateByIdOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForResourceGroupNextOperationSpec, - callback) as Promise; + { roleAssignmentId, parameters, options }, + validateByIdOperationSpec + ); } /** - * Gets all role assignments for the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListForSubscriptionNext + * @param nextLink The nextLink from the previous successful call to the ListForSubscription method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _listForSubscriptionNext( + nextLink: string, + options?: RoleAssignmentsListForSubscriptionNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listForSubscriptionNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListForResourceGroupNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param nextLink The nextLink from the previous successful call to the ListForResourceGroup method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listForResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: RoleAssignmentsListForResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listForResourceGroupNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListForResourceNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param nextLink The nextLink from the previous successful call to the ListForResource method. + * @param options The options parameters. + */ + private _listForResourceNext( + resourceGroupName: string, + resourceProviderNamespace: string, + resourceType: string, + resourceName: string, + nextLink: string, + options?: RoleAssignmentsListForResourceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + nextLink, options }, - listNextOperationSpec, - callback) as Promise; + listForResourceNextOperationSpec + ); } /** - * Gets role assignments for a scope. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForScopeNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForScopeNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForScopeNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listForScopeNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListForScopeNext + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleAssignmentsListForScopeNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForScopeNextOperationSpec, - callback) as Promise; + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listForResourceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listForSubscriptionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.parentResourcePath, - Parameters.resourceType, - Parameters.resourceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.filter, - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.RoleAssignmentListResult }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter1, + Parameters.tenantId + ], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listForResourceGroupOperationSpec: msRest.OperationSpec = { +const listForResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.subscriptionId - ], + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, queryParameters: [ - Parameters.filter, - Parameters.apiVersion3 + Parameters.apiVersion, + Parameters.filter1, + Parameters.tenantId ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName ], + headerParameters: [Parameters.accept], + serializer +}; +const listForResourceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RoleAssignmentListResult }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", - urlParameters: [ - Parameters.scope, - Parameters.roleAssignmentName - ], queryParameters: [ - Parameters.apiVersion3 + Parameters.apiVersion, + Parameters.filter1, + Parameters.tenantId ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceProviderNamespace, + Parameters.resourceType, + Parameters.resourceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RoleAssignment }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", + queryParameters: [Parameters.apiVersion, Parameters.tenantId], urlParameters: [ + Parameters.$host, Parameters.scope, Parameters.roleAssignmentName ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.RoleAssignmentCreateParameters, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", + httpMethod: "PUT", responses: { + 200: { + bodyMapper: Mappers.RoleAssignment + }, 201: { bodyMapper: Mappers.RoleAssignment }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.scope, Parameters.roleAssignmentName ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", + httpMethod: "DELETE", responses: { 200: { bodyMapper: Mappers.RoleAssignment }, + 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteByIdOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "{roleId}", + queryParameters: [Parameters.apiVersion, Parameters.tenantId], urlParameters: [ - Parameters.roleId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.scope, + Parameters.roleAssignmentName ], + headerParameters: [Parameters.accept], + serializer +}; +const validateOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}/validate", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.RoleAssignment + bodyMapper: Mappers.ValidationResponse }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createByIdOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "{roleId}", + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.roleId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.scope, + Parameters.roleAssignmentName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.RoleAssignmentCreateParameters, - required: true + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: "/{scope}/providers/Microsoft.Authorization/roleAssignments", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter1, + Parameters.tenantId + ], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: "/{roleAssignmentId}", + httpMethod: "GET", responses: { - 201: { + 200: { bodyMapper: Mappers.RoleAssignment }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.tenantId], + urlParameters: [Parameters.$host, Parameters.roleAssignmentId], + headerParameters: [Parameters.accept], serializer }; - -const getByIdOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{roleId}", - urlParameters: [ - Parameters.roleId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const createByIdOperationSpec: coreClient.OperationSpec = { + path: "/{roleAssignmentId}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.RoleAssignment }, + 201: { + bodyMapper: Mappers.RoleAssignment + }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.roleAssignmentId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.filter, - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const deleteByIdOperationSpec: coreClient.OperationSpec = { + path: "/{roleAssignmentId}", + httpMethod: "DELETE", responses: { 200: { - bodyMapper: Mappers.RoleAssignmentListResult + bodyMapper: Mappers.RoleAssignment }, + 204: {}, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.tenantId], + urlParameters: [Parameters.$host, Parameters.roleAssignmentId], + headerParameters: [Parameters.accept], serializer }; - -const listForScopeOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{scope}/providers/Microsoft.Authorization/roleAssignments", - urlParameters: [ - Parameters.scope - ], - queryParameters: [ - Parameters.filter, - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const validateByIdOperationSpec: coreClient.OperationSpec = { + path: "/{roleAssignmentId}/validate", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.RoleAssignmentListResult + bodyMapper: Mappers.ValidationResponse }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.roleAssignmentId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listForResourceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listForSubscriptionNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RoleAssignmentListResult }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter1, + Parameters.tenantId + ], + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], serializer }; - -const listForResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listForResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RoleAssignmentListResult }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter1, + Parameters.tenantId + ], + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listForResourceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RoleAssignmentListResult }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter1, + Parameters.tenantId + ], + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceProviderNamespace, + Parameters.resourceType, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listForScopeNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listForScopeNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RoleAssignmentListResult }, default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter1, + Parameters.tenantId + ], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts deleted file mode 100644 index de7a923fffb2..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts +++ /dev/null @@ -1,373 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/roleDefinitionsMappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; - -/** Class representing a RoleDefinitions. */ -export class RoleDefinitions { - private readonly client: AuthorizationManagementClientContext; - - /** - * Create a RoleDefinitions. - * @param {AuthorizationManagementClientContext} client Reference to the service client. - */ - constructor(client: AuthorizationManagementClientContext) { - this.client = client; - } - - /** - * Deletes a role definition. - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition to delete. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(scope: string, roleDefinitionId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition to delete. - * @param callback The callback - */ - deleteMethod(scope: string, roleDefinitionId: string, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition to delete. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(scope: string, roleDefinitionId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(scope: string, roleDefinitionId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - scope, - roleDefinitionId, - options - }, - deleteMethodOperationSpec, - callback) as Promise; - } - - /** - * Get role definition by name (GUID). - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition. - * @param [options] The optional parameters - * @returns Promise - */ - get(scope: string, roleDefinitionId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition. - * @param callback The callback - */ - get(scope: string, roleDefinitionId: string, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition. - * @param options The optional parameters - * @param callback The callback - */ - get(scope: string, roleDefinitionId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(scope: string, roleDefinitionId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - scope, - roleDefinitionId, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Creates or updates a role definition. - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition. - * @param roleDefinition The values for the role definition. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(scope: string, roleDefinitionId: string, roleDefinition: Models.RoleDefinition, options?: msRest.RequestOptionsBase): Promise; - /** - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition. - * @param roleDefinition The values for the role definition. - * @param callback The callback - */ - createOrUpdate(scope: string, roleDefinitionId: string, roleDefinition: Models.RoleDefinition, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition. - * @param roleDefinition The values for the role definition. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(scope: string, roleDefinitionId: string, roleDefinition: Models.RoleDefinition, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(scope: string, roleDefinitionId: string, roleDefinition: Models.RoleDefinition, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - scope, - roleDefinitionId, - roleDefinition, - options - }, - createOrUpdateOperationSpec, - callback) as Promise; - } - - /** - * Get all role definitions that are applicable at scope and above. - * @param scope The scope of the role definition. - * @param [options] The optional parameters - * @returns Promise - */ - list(scope: string, options?: Models.RoleDefinitionsListOptionalParams): Promise; - /** - * @param scope The scope of the role definition. - * @param callback The callback - */ - list(scope: string, callback: msRest.ServiceCallback): void; - /** - * @param scope The scope of the role definition. - * @param options The optional parameters - * @param callback The callback - */ - list(scope: string, options: Models.RoleDefinitionsListOptionalParams, callback: msRest.ServiceCallback): void; - list(scope: string, options?: Models.RoleDefinitionsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - scope, - options - }, - listOperationSpec, - callback) as Promise; - } - - /** - * Gets a role definition by ID. - * @param roleId The fully qualified role definition ID. Use the format, - * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for - * subscription level role definitions, or - * /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant level role - * definitions. - * @param [options] The optional parameters - * @returns Promise - */ - getById(roleId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param roleId The fully qualified role definition ID. Use the format, - * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for - * subscription level role definitions, or - * /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant level role - * definitions. - * @param callback The callback - */ - getById(roleId: string, callback: msRest.ServiceCallback): void; - /** - * @param roleId The fully qualified role definition ID. Use the format, - * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for - * subscription level role definitions, or - * /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant level role - * definitions. - * @param options The optional parameters - * @param callback The callback - */ - getById(roleId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getById(roleId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - roleId, - options - }, - getByIdOperationSpec, - callback) as Promise; - } - - /** - * Get all role definitions that are applicable at scope and above. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", - urlParameters: [ - Parameters.scope, - Parameters.roleDefinitionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RoleDefinition - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", - urlParameters: [ - Parameters.scope, - Parameters.roleDefinitionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RoleDefinition - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", - urlParameters: [ - Parameters.scope, - Parameters.roleDefinitionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "roleDefinition", - mapper: { - ...Mappers.RoleDefinition, - required: true - } - }, - responses: { - 201: { - bodyMapper: Mappers.RoleDefinition - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{scope}/providers/Microsoft.Authorization/roleDefinitions", - urlParameters: [ - Parameters.scope - ], - queryParameters: [ - Parameters.filter, - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RoleDefinitionListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const getByIdOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "{roleId}", - urlParameters: [ - Parameters.roleId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RoleDefinition - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RoleDefinitionListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts new file mode 100644 index 000000000000..29ca5e2f75b4 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts @@ -0,0 +1,192 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleEligibilityScheduleInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleEligibilityScheduleInstance, + RoleEligibilityScheduleInstancesListForScopeNextOptionalParams, + RoleEligibilityScheduleInstancesListForScopeOptionalParams, + RoleEligibilityScheduleInstancesListForScopeResponse, + RoleEligibilityScheduleInstancesGetOptionalParams, + RoleEligibilityScheduleInstancesGetResponse, + RoleEligibilityScheduleInstancesListForScopeNextResponse +} from "../models"; + +/// +/** Class containing RoleEligibilityScheduleInstances operations. */ +export class RoleEligibilityScheduleInstancesImpl + implements RoleEligibilityScheduleInstances { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class RoleEligibilityScheduleInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * @param scope The scope of the role eligibility schedule. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * @param scope The scope of the role eligibility schedule. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * Gets the specified role eligibility schedule instance. + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role + * eligibility schedule to get. + * @param options The options parameters. + */ + get( + scope: string, + roleEligibilityScheduleInstanceName: string, + options?: RoleEligibilityScheduleInstancesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleEligibilityScheduleInstanceName, options }, + getOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the role eligibility schedule. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleEligibilityScheduleInstancesListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleInstances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilityScheduleInstanceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleInstances/{roleEligibilityScheduleInstanceName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilityScheduleInstance + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleEligibilityScheduleInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilityScheduleInstanceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts new file mode 100644 index 000000000000..5c13e3ab412d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts @@ -0,0 +1,280 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleEligibilityScheduleRequests } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleEligibilityScheduleRequest, + RoleEligibilityScheduleRequestsListForScopeNextOptionalParams, + RoleEligibilityScheduleRequestsListForScopeOptionalParams, + RoleEligibilityScheduleRequestsCreateOptionalParams, + RoleEligibilityScheduleRequestsCreateResponse, + RoleEligibilityScheduleRequestsGetOptionalParams, + RoleEligibilityScheduleRequestsGetResponse, + RoleEligibilityScheduleRequestsListForScopeResponse, + RoleEligibilityScheduleRequestsCancelOptionalParams, + RoleEligibilityScheduleRequestsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing RoleEligibilityScheduleRequests operations. */ +export class RoleEligibilityScheduleRequestsImpl + implements RoleEligibilityScheduleRequests { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class RoleEligibilityScheduleRequests class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Gets role eligibility schedule requests for a scope. + * @param scope The scope of the role eligibility schedule requests. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Creates a role eligibility schedule request. + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST + * resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any + * valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @param options The options parameters. + */ + create( + scope: string, + roleEligibilityScheduleRequestName: string, + parameters: RoleEligibilityScheduleRequest, + options?: RoleEligibilityScheduleRequestsCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleEligibilityScheduleRequestName, parameters, options }, + createOperationSpec + ); + } + + /** + * Get the specified role eligibility schedule request. + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request + * to get. + * @param options The options parameters. + */ + get( + scope: string, + roleEligibilityScheduleRequestName: string, + options?: RoleEligibilityScheduleRequestsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleEligibilityScheduleRequestName, options }, + getOperationSpec + ); + } + + /** + * Gets role eligibility schedule requests for a scope. + * @param scope The scope of the role eligibility schedule requests. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * Cancels a pending role eligibility schedule request. + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @param options The options parameters. + */ + cancel( + scope: string, + roleEligibilityScheduleRequestName: string, + options?: RoleEligibilityScheduleRequestsCancelOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleEligibilityScheduleRequestName, options }, + cancelOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the role eligibility schedule requests. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleEligibilityScheduleRequestsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}", + httpMethod: "PUT", + responses: { + 201: { + bodyMapper: Mappers.RoleEligibilityScheduleRequest + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleEligibilityScheduleRequestName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilityScheduleRequest + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleEligibilityScheduleRequestName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilityScheduleRequestListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const cancelOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}/cancel", + httpMethod: "POST", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleEligibilityScheduleRequestName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilityScheduleRequestListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts new file mode 100644 index 000000000000..3ab81c1dc5ba --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts @@ -0,0 +1,189 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleEligibilitySchedules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleEligibilitySchedule, + RoleEligibilitySchedulesListForScopeNextOptionalParams, + RoleEligibilitySchedulesListForScopeOptionalParams, + RoleEligibilitySchedulesGetOptionalParams, + RoleEligibilitySchedulesGetResponse, + RoleEligibilitySchedulesListForScopeResponse, + RoleEligibilitySchedulesListForScopeNextResponse +} from "../models"; + +/// +/** Class containing RoleEligibilitySchedules operations. */ +export class RoleEligibilitySchedulesImpl implements RoleEligibilitySchedules { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class RoleEligibilitySchedules class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Gets role eligibility schedules for a resource scope. + * @param scope The scope of the role eligibility schedules. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleEligibilitySchedulesListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleEligibilitySchedulesListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleEligibilitySchedulesListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the specified role eligibility schedule for a resource scope + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @param options The options parameters. + */ + get( + scope: string, + roleEligibilityScheduleName: string, + options?: RoleEligibilitySchedulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleEligibilityScheduleName, options }, + getOperationSpec + ); + } + + /** + * Gets role eligibility schedules for a resource scope. + * @param scope The scope of the role eligibility schedules. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleEligibilitySchedulesListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the role eligibility schedules. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleEligibilitySchedulesListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleEligibilitySchedules/{roleEligibilityScheduleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilitySchedule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleEligibilityScheduleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: "/{scope}/providers/Microsoft.Authorization/roleEligibilitySchedules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilityScheduleListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleEligibilityScheduleListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts new file mode 100644 index 000000000000..69f6ca49cf7f --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts @@ -0,0 +1,271 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleManagementPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleManagementPolicy, + RoleManagementPoliciesListForScopeNextOptionalParams, + RoleManagementPoliciesListForScopeOptionalParams, + RoleManagementPoliciesGetOptionalParams, + RoleManagementPoliciesGetResponse, + RoleManagementPoliciesUpdateOptionalParams, + RoleManagementPoliciesUpdateResponse, + RoleManagementPoliciesDeleteOptionalParams, + RoleManagementPoliciesListForScopeResponse, + RoleManagementPoliciesListForScopeNextResponse +} from "../models"; + +/// +/** Class containing RoleManagementPolicies operations. */ +export class RoleManagementPoliciesImpl implements RoleManagementPolicies { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class RoleManagementPolicies class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Gets role management policies for a resource scope. + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleManagementPoliciesListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleManagementPoliciesListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleManagementPoliciesListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the specified role management policy for a resource scope + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @param options The options parameters. + */ + get( + scope: string, + roleManagementPolicyName: string, + options?: RoleManagementPoliciesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleManagementPolicyName, options }, + getOperationSpec + ); + } + + /** + * Update a role management policy + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @param options The options parameters. + */ + update( + scope: string, + roleManagementPolicyName: string, + parameters: RoleManagementPolicy, + options?: RoleManagementPoliciesUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleManagementPolicyName, parameters, options }, + updateOperationSpec + ); + } + + /** + * Delete a role management policy + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param options The options parameters. + */ + delete( + scope: string, + roleManagementPolicyName: string, + options?: RoleManagementPoliciesDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleManagementPolicyName, options }, + deleteOperationSpec + ); + } + + /** + * Gets role management policies for a resource scope. + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleManagementPoliciesListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the role management policy. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleManagementPoliciesListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleManagementPolicy + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleManagementPolicyName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.RoleManagementPolicy + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleManagementPolicyName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleManagementPolicyName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: "/{scope}/providers/Microsoft.Authorization/roleManagementPolicies", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleManagementPolicyListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleManagementPolicyListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts new file mode 100644 index 000000000000..e8a8efe0fa3e --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts @@ -0,0 +1,276 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RoleManagementPolicyAssignments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { + RoleManagementPolicyAssignment, + RoleManagementPolicyAssignmentsListForScopeNextOptionalParams, + RoleManagementPolicyAssignmentsListForScopeOptionalParams, + RoleManagementPolicyAssignmentsGetOptionalParams, + RoleManagementPolicyAssignmentsGetResponse, + RoleManagementPolicyAssignmentsCreateOptionalParams, + RoleManagementPolicyAssignmentsCreateResponse, + RoleManagementPolicyAssignmentsDeleteOptionalParams, + RoleManagementPolicyAssignmentsListForScopeResponse, + RoleManagementPolicyAssignmentsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing RoleManagementPolicyAssignments operations. */ +export class RoleManagementPolicyAssignmentsImpl + implements RoleManagementPolicyAssignments { + private readonly client: AuthorizationManagementClientContext; + + /** + * Initialize a new instance of the class RoleManagementPolicyAssignments class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClientContext) { + this.client = client; + } + + /** + * Gets role management assignment policies for a resource scope. + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the specified role management policy assignment for a resource scope + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy + * assignment to get. + * @param options The options parameters. + */ + get( + scope: string, + roleManagementPolicyAssignmentName: string, + options?: RoleManagementPolicyAssignmentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleManagementPolicyAssignmentName, options }, + getOperationSpec + ); + } + + /** + * Create a role management policy assignment + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy + * assignment to upsert. + * @param parameters Parameters for the role management policy assignment. + * @param options The options parameters. + */ + create( + scope: string, + roleManagementPolicyAssignmentName: string, + parameters: RoleManagementPolicyAssignment, + options?: RoleManagementPolicyAssignmentsCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleManagementPolicyAssignmentName, parameters, options }, + createOperationSpec + ); + } + + /** + * Delete a role management policy assignment + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy + * assignment to delete. + * @param options The options parameters. + */ + delete( + scope: string, + roleManagementPolicyAssignmentName: string, + options?: RoleManagementPolicyAssignmentsDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, roleManagementPolicyAssignmentName, options }, + deleteOperationSpec + ); + } + + /** + * Gets role management assignment policies for a resource scope. + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the role management policy. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: RoleManagementPolicyAssignmentsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments/{roleManagementPolicyAssignmentName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleManagementPolicyAssignment + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleManagementPolicyAssignmentName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments/{roleManagementPolicyAssignmentName}", + httpMethod: "PUT", + responses: { + 201: { + bodyMapper: Mappers.RoleManagementPolicyAssignment + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleManagementPolicyAssignmentName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments/{roleManagementPolicyAssignmentName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.roleManagementPolicyAssignmentName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleManagementPolicyAssignmentListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleManagementPolicyAssignmentListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts new file mode 100644 index 000000000000..0138496ee322 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts @@ -0,0 +1,28 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + EligibleChildResource, + EligibleChildResourcesGetOptionalParams +} from "../models"; + +/// +/** Interface representing a EligibleChildResources. */ +export interface EligibleChildResources { + /** + * Get the child resources of a resource on which user has eligible access + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + list( + scope: string, + options?: EligibleChildResourcesGetOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..e547e894ea9f --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts @@ -0,0 +1,18 @@ +/* + * 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 "./roleAssignmentSchedules"; +export * from "./roleAssignmentScheduleInstances"; +export * from "./roleAssignmentScheduleRequests"; +export * from "./roleEligibilitySchedules"; +export * from "./roleEligibilityScheduleInstances"; +export * from "./roleEligibilityScheduleRequests"; +export * from "./roleManagementPolicies"; +export * from "./roleManagementPolicyAssignments"; +export * from "./eligibleChildResources"; +export * from "./roleAssignments"; diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.ts new file mode 100644 index 000000000000..7ee590cfbb23 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleAssignmentScheduleInstance, + RoleAssignmentScheduleInstancesListForScopeOptionalParams, + RoleAssignmentScheduleInstancesGetOptionalParams, + RoleAssignmentScheduleInstancesGetResponse +} from "../models"; + +/// +/** Interface representing a RoleAssignmentScheduleInstances. */ +export interface RoleAssignmentScheduleInstances { + /** + * Gets role assignment schedule instances of a role assignment schedule. + * @param scope The scope of the role assignment schedule. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the specified role assignment schedule instance. + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role + * assignment schedule to get. + * @param options The options parameters. + */ + get( + scope: string, + roleAssignmentScheduleInstanceName: string, + options?: RoleAssignmentScheduleInstancesGetOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts new file mode 100644 index 000000000000..c46f3b993eb6 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts @@ -0,0 +1,76 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleAssignmentScheduleRequest, + RoleAssignmentScheduleRequestsListForScopeOptionalParams, + RoleAssignmentScheduleRequestsCreateOptionalParams, + RoleAssignmentScheduleRequestsCreateResponse, + RoleAssignmentScheduleRequestsGetOptionalParams, + RoleAssignmentScheduleRequestsGetResponse, + RoleAssignmentScheduleRequestsCancelOptionalParams +} from "../models"; + +/// +/** Interface representing a RoleAssignmentScheduleRequests. */ +export interface RoleAssignmentScheduleRequests { + /** + * Gets role assignment schedule requests for a scope. + * @param scope The scope of the role assignments schedule requests. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates a role assignment schedule request. + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST + * resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName The name of the role assignment to create. It can be any + * valid GUID. + * @param parameters Parameters for the role assignment schedule request. + * @param options The options parameters. + */ + create( + scope: string, + roleAssignmentScheduleRequestName: string, + parameters: RoleAssignmentScheduleRequest, + options?: RoleAssignmentScheduleRequestsCreateOptionalParams + ): Promise; + /** + * Get the specified role assignment schedule request. + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to + * get. + * @param options The options parameters. + */ + get( + scope: string, + roleAssignmentScheduleRequestName: string, + options?: RoleAssignmentScheduleRequestsGetOptionalParams + ): Promise; + /** + * Cancels a pending role assignment schedule request. + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @param options The options parameters. + */ + cancel( + scope: string, + roleAssignmentScheduleRequestName: string, + options?: RoleAssignmentScheduleRequestsCancelOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.ts new file mode 100644 index 000000000000..c0e5a062a1a6 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.ts @@ -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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleAssignmentSchedule, + RoleAssignmentSchedulesListForScopeOptionalParams, + RoleAssignmentSchedulesGetOptionalParams, + RoleAssignmentSchedulesGetResponse +} from "../models"; + +/// +/** Interface representing a RoleAssignmentSchedules. */ +export interface RoleAssignmentSchedules { + /** + * Gets role assignment schedules for a resource scope. + * @param scope The scope of the role assignments schedules. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleAssignmentSchedulesListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified role assignment schedule for a resource scope + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @param options The options parameters. + */ + get( + scope: string, + roleAssignmentScheduleName: string, + options?: RoleAssignmentSchedulesGetOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts new file mode 100644 index 000000000000..718ee54a19bd --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts @@ -0,0 +1,195 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleAssignment, + RoleAssignmentsListForSubscriptionOptionalParams, + RoleAssignmentsListForResourceGroupOptionalParams, + RoleAssignmentsListForResourceOptionalParams, + RoleAssignmentsListForScopeOptionalParams, + RoleAssignmentsGetOptionalParams, + RoleAssignmentsGetResponse, + RoleAssignmentCreateParameters, + RoleAssignmentsCreateOptionalParams, + RoleAssignmentsCreateResponse, + RoleAssignmentsDeleteOptionalParams, + RoleAssignmentsDeleteResponse, + RoleAssignmentsValidateOptionalParams, + RoleAssignmentsValidateResponse, + RoleAssignmentsGetByIdOptionalParams, + RoleAssignmentsGetByIdResponse, + RoleAssignmentsCreateByIdOptionalParams, + RoleAssignmentsCreateByIdResponse, + RoleAssignmentsDeleteByIdOptionalParams, + RoleAssignmentsDeleteByIdResponse, + RoleAssignmentsValidateByIdOptionalParams, + RoleAssignmentsValidateByIdResponse +} from "../models"; + +/// +/** Interface representing a RoleAssignments. */ +export interface RoleAssignments { + /** + * List all role assignments that apply to a subscription. + * @param options The options parameters. + */ + listForSubscription( + options?: RoleAssignmentsListForSubscriptionOptionalParams + ): PagedAsyncIterableIterator; + /** + * List all role assignments that apply to a resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + listForResourceGroup( + resourceGroupName: string, + options?: RoleAssignmentsListForResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * List all role assignments that apply to a resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param options The options parameters. + */ + listForResource( + resourceGroupName: string, + resourceProviderNamespace: string, + resourceType: string, + resourceName: string, + options?: RoleAssignmentsListForResourceOptionalParams + ): PagedAsyncIterableIterator; + /** + * List all role assignments that apply to a scope. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleAssignmentsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a role assignment by scope and name. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param options The options parameters. + */ + get( + scope: string, + roleAssignmentName: string, + options?: RoleAssignmentsGetOptionalParams + ): Promise; + /** + * Create or update a role assignment by scope and name. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param options The options parameters. + */ + create( + scope: string, + roleAssignmentName: string, + parameters: RoleAssignmentCreateParameters, + options?: RoleAssignmentsCreateOptionalParams + ): Promise; + /** + * Delete a role assignment by scope and name. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param options The options parameters. + */ + delete( + scope: string, + roleAssignmentName: string, + options?: RoleAssignmentsDeleteOptionalParams + ): Promise; + /** + * Validate a role assignment create or update operation by scope and name. + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param options The options parameters. + */ + validate( + scope: string, + roleAssignmentName: string, + parameters: RoleAssignmentCreateParameters, + options?: RoleAssignmentsValidateOptionalParams + ): Promise; + /** + * Get a role assignment by ID. + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource + * name, and resource type. Format: + * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: + * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ + * @param options The options parameters. + */ + getById( + roleAssignmentId: string, + options?: RoleAssignmentsGetByIdOptionalParams + ): Promise; + /** + * Create or update a role assignment by ID. + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource + * name, and resource type. Format: + * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: + * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ + * @param parameters Parameters for the role assignment. + * @param options The options parameters. + */ + createById( + roleAssignmentId: string, + parameters: RoleAssignmentCreateParameters, + options?: RoleAssignmentsCreateByIdOptionalParams + ): Promise; + /** + * Delete a role assignment by ID. + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource + * name, and resource type. Format: + * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: + * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ + * @param options The options parameters. + */ + deleteById( + roleAssignmentId: string, + options?: RoleAssignmentsDeleteByIdOptionalParams + ): Promise; + /** + * Validate a role assignment create or update operation by ID. + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource + * name, and resource type. Format: + * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: + * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ + * @param parameters Parameters for the role assignment. + * @param options The options parameters. + */ + validateById( + roleAssignmentId: string, + parameters: RoleAssignmentCreateParameters, + options?: RoleAssignmentsValidateByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.ts new file mode 100644 index 000000000000..d59284393a78 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleEligibilityScheduleInstance, + RoleEligibilityScheduleInstancesListForScopeOptionalParams, + RoleEligibilityScheduleInstancesGetOptionalParams, + RoleEligibilityScheduleInstancesGetResponse +} from "../models"; + +/// +/** Interface representing a RoleEligibilityScheduleInstances. */ +export interface RoleEligibilityScheduleInstances { + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * @param scope The scope of the role eligibility schedule. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the specified role eligibility schedule instance. + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role + * eligibility schedule to get. + * @param options The options parameters. + */ + get( + scope: string, + roleEligibilityScheduleInstanceName: string, + options?: RoleEligibilityScheduleInstancesGetOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts new file mode 100644 index 000000000000..70c01dd4e630 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts @@ -0,0 +1,76 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleEligibilityScheduleRequest, + RoleEligibilityScheduleRequestsListForScopeOptionalParams, + RoleEligibilityScheduleRequestsCreateOptionalParams, + RoleEligibilityScheduleRequestsCreateResponse, + RoleEligibilityScheduleRequestsGetOptionalParams, + RoleEligibilityScheduleRequestsGetResponse, + RoleEligibilityScheduleRequestsCancelOptionalParams +} from "../models"; + +/// +/** Interface representing a RoleEligibilityScheduleRequests. */ +export interface RoleEligibilityScheduleRequests { + /** + * Gets role eligibility schedule requests for a scope. + * @param scope The scope of the role eligibility schedule requests. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates a role eligibility schedule request. + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST + * resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any + * valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @param options The options parameters. + */ + create( + scope: string, + roleEligibilityScheduleRequestName: string, + parameters: RoleEligibilityScheduleRequest, + options?: RoleEligibilityScheduleRequestsCreateOptionalParams + ): Promise; + /** + * Get the specified role eligibility schedule request. + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request + * to get. + * @param options The options parameters. + */ + get( + scope: string, + roleEligibilityScheduleRequestName: string, + options?: RoleEligibilityScheduleRequestsGetOptionalParams + ): Promise; + /** + * Cancels a pending role eligibility schedule request. + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @param options The options parameters. + */ + cancel( + scope: string, + roleEligibilityScheduleRequestName: string, + options?: RoleEligibilityScheduleRequestsCancelOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.ts new file mode 100644 index 000000000000..8722a0e08226 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.ts @@ -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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleEligibilitySchedule, + RoleEligibilitySchedulesListForScopeOptionalParams, + RoleEligibilitySchedulesGetOptionalParams, + RoleEligibilitySchedulesGetResponse +} from "../models"; + +/// +/** Interface representing a RoleEligibilitySchedules. */ +export interface RoleEligibilitySchedules { + /** + * Gets role eligibility schedules for a resource scope. + * @param scope The scope of the role eligibility schedules. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleEligibilitySchedulesListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified role eligibility schedule for a resource scope + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @param options The options parameters. + */ + get( + scope: string, + roleEligibilityScheduleName: string, + options?: RoleEligibilitySchedulesGetOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts new file mode 100644 index 000000000000..43edadbd4354 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts @@ -0,0 +1,68 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleManagementPolicy, + RoleManagementPoliciesListForScopeOptionalParams, + RoleManagementPoliciesGetOptionalParams, + RoleManagementPoliciesGetResponse, + RoleManagementPoliciesUpdateOptionalParams, + RoleManagementPoliciesUpdateResponse, + RoleManagementPoliciesDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a RoleManagementPolicies. */ +export interface RoleManagementPolicies { + /** + * Gets role management policies for a resource scope. + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleManagementPoliciesListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified role management policy for a resource scope + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @param options The options parameters. + */ + get( + scope: string, + roleManagementPolicyName: string, + options?: RoleManagementPoliciesGetOptionalParams + ): Promise; + /** + * Update a role management policy + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @param options The options parameters. + */ + update( + scope: string, + roleManagementPolicyName: string, + parameters: RoleManagementPolicy, + options?: RoleManagementPoliciesUpdateOptionalParams + ): Promise; + /** + * Delete a role management policy + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param options The options parameters. + */ + delete( + scope: string, + roleManagementPolicyName: string, + options?: RoleManagementPoliciesDeleteOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts new file mode 100644 index 000000000000..4c06af309a19 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts @@ -0,0 +1,71 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RoleManagementPolicyAssignment, + RoleManagementPolicyAssignmentsListForScopeOptionalParams, + RoleManagementPolicyAssignmentsGetOptionalParams, + RoleManagementPolicyAssignmentsGetResponse, + RoleManagementPolicyAssignmentsCreateOptionalParams, + RoleManagementPolicyAssignmentsCreateResponse, + RoleManagementPolicyAssignmentsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a RoleManagementPolicyAssignments. */ +export interface RoleManagementPolicyAssignments { + /** + * Gets role management assignment policies for a resource scope. + * @param scope The scope of the role management policy. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified role management policy assignment for a resource scope + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy + * assignment to get. + * @param options The options parameters. + */ + get( + scope: string, + roleManagementPolicyAssignmentName: string, + options?: RoleManagementPolicyAssignmentsGetOptionalParams + ): Promise; + /** + * Create a role management policy assignment + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy + * assignment to upsert. + * @param parameters Parameters for the role management policy assignment. + * @param options The options parameters. + */ + create( + scope: string, + roleManagementPolicyAssignmentName: string, + parameters: RoleManagementPolicyAssignment, + options?: RoleManagementPolicyAssignmentsCreateOptionalParams + ): Promise; + /** + * Delete a role management policy assignment + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy + * assignment to delete. + * @param options The options parameters. + */ + delete( + scope: string, + roleManagementPolicyAssignmentName: string, + options?: RoleManagementPolicyAssignmentsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/tsconfig.json b/sdk/authorization/arm-authorization/tsconfig.json index 58429b90531b..603440b3a359 100644 --- a/sdk/authorization/arm-authorization/tsconfig.json +++ b/sdk/authorization/arm-authorization/tsconfig.json @@ -3,15 +3,15 @@ "module": "es6", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6","dom"], + "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, "include": ["./src/**/*.ts"], diff --git a/sdk/authorization/ci.yml b/sdk/authorization/ci.yml new file mode 100644 index 000000000000..5751bbf06988 --- /dev/null +++ b/sdk/authorization/ci.yml @@ -0,0 +1,29 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. +trigger: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/authorization/ + +pr: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/authorization/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: authorization + Artifacts: + - name: azure-arm-authorization + safeName: azurearmauthorization + \ No newline at end of file diff --git a/sdk/batch/batch/README.md b/sdk/batch/batch/README.md index 39687b96ee96..b1ca61c0b848 100644 --- a/sdk/batch/batch/README.md +++ b/sdk/batch/batch/README.md @@ -1,121 +1,111 @@ ## Azure BatchServiceClient SDK for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for BatchServiceClient. +This package contains an isomorphic SDK for BatchServiceClient. ### Currently supported environments - [LTS versions of Node.js](https://nodejs.org/about/releases/) -- Latest versions of Safari, Chrome, Edge and Firefox. +- Latest versions of Safari, Chrome, Edge, and Firefox. -### Prerequisites +See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. -You must have an [Azure subscription](https://azure.microsoft.com/free/). +### How to Install -### How to install +```bash +npm install @azure/batch +``` -To use this SDK in your project, you will need to install two packages. +### How to use -- `@azure/batch` that contains the client. -- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. +#### nodejs - Authentication, client creation and list application as an example written in TypeScript. -Install both packages using the below command: +##### Install @azure/ms-rest-nodeauth ```bash -npm install --save @azure/batch @azure/identity +npm install @azure/ms-rest-nodeauth ``` -> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. -> If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. - -### How to use +##### Authentication -- If you are writing a client side browser application, - - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. - - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. -- If you are writing a server side application, - - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) - - Complete the set up steps required by the credential if any. - - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. +1. Use the `BatchSharedKeyCredentials` exported from `@azure/batch`. -In the below samples, we pass the credential and the Azure subscription id to instantiate the client. -Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. +```typescript +import { BatchServiceClient, BatchSharedKeyCredentials } from "@azure/batch"; -#### nodejs - Authentication, client creation, and list application as an example written in JavaScript. +const batchAccountName = process.env["AZURE_BATCH_ACCOUNT_NAME"] || ""; +const batchAccountKey = process.env["AZURE_BATCH_ACCOUNT_KEY"] || ""; +const batchEndpoint = process.env["AZURE_BATCH_ENDPOINT"] || ""; -##### Sample code - -```javascript -const { DefaultAzureCredential } = require("@azure/identity"); -const { BatchServiceClient } = require("@azure/batch"); -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples -// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. -const creds = new DefaultAzureCredential(); -const client = new BatchServiceClient(creds, subscriptionId); -const maxResults = 1; -const timeout = 1; -const clientRequestId = ec7b1657-199d-4d8a-bbb2-89a11a42e02a; -const returnClientRequestId = true; -const ocpDate = new Date().toUTCString(); -client.application.list(maxResults, timeout, clientRequestId, returnClientRequestId, ocpDate).then((result) => { - console.log("The result is:"); - console.log(result); -}).catch((err) => { - console.log("An error occurred:"); - console.error(err); -}); +async function main(): Promise { + try { + const creds = new BatchSharedKeyCredentials(batchAccountName, batchAccountKey); + const client = new BatchServiceClient(creds, batchEndpoint); + } catch (err) { + console.log(err); + } +} ``` -#### browser - Authentication, client creation, and list application as an example written in JavaScript. +2. Use the `MSIVmTokenCredentials` exported from `@azure/ms-rest-nodeauth`. -In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. +```typescript +import { BatchServiceClient } from "@azure/batch"; +import { loginWithVmMSI } from "@azure/ms-rest-nodeauth"; -- See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. -- Note down the client Id from the previous step and use it in the browser sample below. +const batchEndpoint = process.env["AZURE_BATCH_ENDPOINT"] || ""; + +async function main(): Promise { + try { + const creds = await loginWithVmMSI({ + resource: "https://batch.core.windows.net/" + }); + const client = new BatchServiceClient(creds, batchEndpoint); + } catch (err) { + console.log(err); + } +} +``` ##### Sample code -- index.html - -```html - - - - @azure/batch sample - - - - - - - +```typescript +import { BatchServiceClient, BatchServiceModels, BatchSharedKeyCredentials } from "@azure/batch"; + +const batchAccountName = process.env["AZURE_BATCH_ACCOUNT_NAME"] || ""; +const batchAccountKey = process.env["AZURE_BATCH_ACCOUNT_KEY"] || ""; +const batchEndpoint = process.env["AZURE_BATCH_ENDPOINT"] || ""; + +const creds = new BatchSharedKeyCredentials(batchAccountName, batchAccountKey); +const client = new BatchServiceClient(creds, batchEndpoint); + +const options: BatchServiceModels.JobListOptionalParams = { + jobListOptions: { maxResults: 10 } +}; + +async function loop(res: BatchServiceModels.JobListResponse, nextLink?: string): Promise { + if (nextLink !== undefined) { + const res1 = await client.job.listNext(nextLink); + if (res1.length) { + for (const item of res1) { + res.push(item); + } + } + return loop(res, res1.odatanextLink); + } + return Promise.resolve(); +} + +async function main(): Promise { + const result = await client.job.list(options); + await loop(result, result.odatanextLink); + console.dir(result, { depth: null, colors: true }); +} + +main().catch((err) => console.log("An error occurred: ", err)); ``` ## 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/sdk/batch/batch/README.png) +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fbatch%2Fbatch%2FREADME.png) diff --git a/sdk/batch/batch/karma.conf.js b/sdk/batch/batch/karma.conf.js index 44bdcc0d6096..8b641fb0bdc1 100644 --- a/sdk/batch/batch/karma.conf.js +++ b/sdk/batch/batch/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/batch/batch/package.json b/sdk/batch/batch/package.json index dbc4c9a5863d..ce78d2e04dcc 100644 --- a/sdk/batch/batch/package.json +++ b/sdk/batch/batch/package.json @@ -2,9 +2,8 @@ "name": "@azure/batch", "author": "Microsoft Corporation", "description": "BatchServiceClient Library with typescript type definitions for node.js and browser.", - "version": "9.0.0", + "version": "10.0.1", "dependencies": { - "@azure/core-auth": "^1.1.4", "@azure/ms-rest-azure-js": "^2.1.0", "@azure/ms-rest-js": "^2.2.0", "jssha": "^3.2.0", @@ -21,11 +20,8 @@ "license": "MIT", "main": "./dist/batch.js", "module": "./esm/batchServiceClient.js", - "types": "./esm/batchServiceClient.d.ts", + "types": "./types/src/batchServiceClient.d.ts", "devDependencies": { - "@azure/dev-tool": "^1.0.0", - "@azure/eslint-plugin-azure-sdk": "^2.0.1", - "@azure/test-utils-recorder": "^1.0.0", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-multi-entry": "^4.1.0", @@ -54,6 +50,7 @@ "karma-junit-reporter": "^2.0.1", "karma-mocha": "^2.0.1", "karma-mocha-reporter": "^2.2.5", + "@azure/identity": "2.0.0-beta.5", "mocha": "^8.3.0", "mocha-junit-reporter": "^2.0.0", "moment": "^2.29.1", @@ -78,18 +75,11 @@ "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ - "dist/**/*.js", - "dist/**/*.js.map", - "dist/**/*.d.ts", - "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.d.ts.map", - "src/**/*.ts", + "dist/", + "dist-esm/src/", + "types/src/", "README.md", - "rollup.config.js", - "tsconfig.json" + "LICENSE" ], "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", @@ -99,7 +89,7 @@ "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest types/3.1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -113,7 +103,7 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", + "prepack": "npm install && npm run build", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", diff --git a/sdk/batch/batch/rollup.config.js b/sdk/batch/batch/rollup.config.js index 2c3221a5ec76..751e4fba645f 100644 --- a/sdk/batch/batch/rollup.config.js +++ b/sdk/batch/batch/rollup.config.js @@ -5,7 +5,7 @@ import sourcemaps from "rollup-plugin-sourcemaps"; * @type {rollup.RollupFileOptions} */ const config = { - input: "./esm/batchServiceClient.js", + input: "./dist-esm/src/batchServiceClient.js", external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], output: { file: "./dist/batch.js", diff --git a/sdk/batch/batch/src/batchServiceClient.ts b/sdk/batch/batch/src/batchServiceClient.ts index f50b3f34ffff..1dd10ce9395d 100644 --- a/sdk/batch/batch/src/batchServiceClient.ts +++ b/sdk/batch/batch/src/batchServiceClient.ts @@ -8,7 +8,6 @@ */ import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as Models from "./models"; import * as Mappers from "./models/mappers"; @@ -30,17 +29,12 @@ class BatchServiceClient extends BatchServiceClientContext { /** * Initializes a new instance of the BatchServiceClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * @param credentials Credentials needed for the client to connect to Azure. * @param batchUrl The base URL for all Azure Batch service requests. * @param [options] The parameter options */ constructor( - credentials: msRest.ServiceClientCredentials | TokenCredential, + credentials: msRest.ServiceClientCredentials, batchUrl: string, options?: msRestAzure.AzureServiceClientOptions ) { diff --git a/sdk/batch/batch/src/batchServiceClientContext.ts b/sdk/batch/batch/src/batchServiceClientContext.ts index 4f7755b0b200..f332d67eeffd 100644 --- a/sdk/batch/batch/src/batchServiceClientContext.ts +++ b/sdk/batch/batch/src/batchServiceClientContext.ts @@ -9,29 +9,23 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; -import { TokenCredential } from "@azure/core-auth"; const packageName = "@azure/batch"; -const packageVersion = "9.0.0"; +const packageVersion = "10.0.1"; export class BatchServiceClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials | TokenCredential; + credentials: msRest.ServiceClientCredentials; apiVersion?: string; batchUrl: string; /** * Initializes a new instance of the BatchServiceClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * @param credentials Credentials needed for the client to connect to Azure. * @param batchUrl The base URL for all Azure Batch service requests. * @param [options] The parameter options */ constructor( - credentials: msRest.ServiceClientCredentials | TokenCredential, + credentials: msRest.ServiceClientCredentials, batchUrl: string, options?: msRestAzure.AzureServiceClientOptions ) { diff --git a/sdk/batch/batch/test/batchClient.spec.ts b/sdk/batch/batch/test/batchClient.spec.ts index c5c950bdc426..2effe6c49774 100644 --- a/sdk/batch/batch/test/batchClient.spec.ts +++ b/sdk/batch/batch/test/batchClient.spec.ts @@ -5,9 +5,9 @@ import { duration } from "moment"; import { AccountListPoolNodeCountsResponse, TaskGetResponse } from "../src/models"; import { assert } from "chai"; import { BatchServiceClient, BatchServiceModels } from "../src/batchServiceClient"; -import { BatchSharedKeyCredentials } from "../src/batchSharedKeyCredentials"; import { TokenCredentials } from "@azure/ms-rest-js"; import moment from "moment"; +import { createClient } from "./utils/recordedClient"; dotenv.config(); const wait = (timeout = 1000) => new Promise((resolve) => setTimeout(() => resolve(null), timeout)); @@ -41,8 +41,6 @@ function getPoolName(type: string) { describe("Batch Service", () => { let client: BatchServiceClient; - let batchAccountName: string; - let batchAccountKey: string; let batchEndpoint: string; // let clientId: string; // let secret: string; @@ -64,18 +62,13 @@ describe("Batch Service", () => { }; beforeEach(async () => { - batchAccountName = process.env["AZURE_BATCH_ACCOUNT"]!; - batchAccountKey = process.env["AZURE_BATCH_ACCESS_KEY"]!; batchEndpoint = process.env["AZURE_BATCH_ENDPOINT"]!; - // clientId = process.env["AZURE_CLIENT_ID"]!; - // secret = process.env["AZURE_CLIENT_SECRET"]!; // dummy thumb certThumb = "cff2ab63c8c955aaf71989efa641b906558d9fb7"; nonAdminPoolUser = "nonAdminUser"; - const creds = new BatchSharedKeyCredentials(batchAccountName, batchAccountKey); - client = new BatchServiceClient(creds, batchEndpoint); + client = createClient("APIKey"); }); describe("certificate operations", () => { diff --git a/sdk/core/core-client/src/url.ts b/sdk/batch/batch/test/utils/env.browser.ts similarity index 62% rename from sdk/core/core-client/src/url.ts rename to sdk/batch/batch/test/utils/env.browser.ts index 993e69798f9e..fd2aca680c7b 100644 --- a/sdk/core/core-client/src/url.ts +++ b/sdk/batch/batch/test/utils/env.browser.ts @@ -1,4 +1,2 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. - -export { URL, URLSearchParams } from "url"; diff --git a/sdk/communication/communication-chat/src/constants.ts b/sdk/batch/batch/test/utils/env.ts similarity index 59% rename from sdk/communication/communication-chat/src/constants.ts rename to sdk/batch/batch/test/utils/env.ts index 188a3cc82149..0e06855b73ae 100644 --- a/sdk/communication/communication-chat/src/constants.ts +++ b/sdk/batch/batch/test/utils/env.ts @@ -1,4 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "1.1.0-beta.1"; +import * as dotenv from "dotenv"; + +dotenv.config(); diff --git a/sdk/batch/batch/test/utils/recordedClient.ts b/sdk/batch/batch/test/utils/recordedClient.ts new file mode 100644 index 000000000000..57442617ffee --- /dev/null +++ b/sdk/batch/batch/test/utils/recordedClient.ts @@ -0,0 +1,88 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +// Commented code in this file can be uncommented once batch is managed by rush and starts using the recorder + +// import { Context } from "mocha"; + +// import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; +// import { TokenCredential, ClientSecretCredential } from "@azure/identity"; + +import "./env"; +import { BatchServiceClient } from "../../src/batchServiceClient"; +import { AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; +import { BatchSharedKeyCredentials } from "../../src/batchSharedKeyCredentials"; + +// const replaceableVariables: { [k: string]: string } = { +// AZURE_CLIENT_ID: "azure_client_id", +// AZURE_CLIENT_SECRET: "azure_client_secret", +// AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", +// AZURE_BATCH_ACCESS_KEY: "api_key", +// AZURE_BATCH_ACCOUNT:"batch_account", +// AZURE_BATCH_ENDPOINT: "https://endpoint" +// }; + +// export const environmentSetup: RecorderEnvironmentSetup = { +// replaceableVariables, +// customizationsOnRecordings: [ +// (recording: string): string => +// recording.replace(/"access_token"\s?:\s?"[^"]*"/g, `"access_token":"access_token"`), +// // If we put ENDPOINT in replaceableVariables above, it will not capture +// // the endpoint string used with nock, which will be expanded to +// // https://:443/ and therefore will not match, so we have to do +// // this instead. +// (recording: string): string => { +// const replaced = recording.replace("endpoint:443", "endpoint"); +// return replaced; +// } +// ], +// queryParametersToSkip: [] +// }; + +export type AuthMethod = "APIKey" | "AAD" | "DummyAPIKey"; + +export function createClient( + authMethod: AuthMethod, + options?: AzureServiceClientOptions +): BatchServiceClient { + let credential: BatchSharedKeyCredentials; + switch (authMethod) { + case "APIKey": { + credential = new BatchSharedKeyCredentials( + process.env.AZURE_BATCH_ACCOUNT!, + process.env.AZURE_BATCH_ACCESS_KEY! + ); + break; + } + case "AAD": { + throw new Error("AAD is not supported"); + // credential = new ClientSecretCredential( + // process.env.AZURE_TENANT_ID!, + // process.env.AZURE_CLIENT_ID!, + // process.env.AZURE_CLIENT_SECRET! + // ); + // break; + } + case "DummyAPIKey": { + credential = new BatchSharedKeyCredentials("whatever", "whatever"); + break; + } + default: { + throw Error(`Unsupported authentication method: ${authMethod}`); + } + } + return new BatchServiceClient( + credential, + process.env.AZURE_BATCH_ENDPOINT || "https://dummy.eastus.batch.azure.com", + options + ); +} + +// /** +// * creates the recorder and reads the environment variables from the `.env` file. +// * Should be called first in the test suite to make sure environment variables are +// * read before they are being used. +// */ +// export function createRecorder(context: Context): Recorder { +// return record(context, environmentSetup); +// } diff --git a/sdk/cognitiveservices/arm-cognitiveservices/README.md b/sdk/cognitiveservices/arm-cognitiveservices/README.md index 4f9966388d76..129f8b734035 100644 --- a/sdk/cognitiveservices/arm-cognitiveservices/README.md +++ b/sdk/cognitiveservices/arm-cognitiveservices/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK (runs both in node.js and in browsers) f ### Currently supported environments -- Node.js version 8.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### Prerequisites diff --git a/sdk/cognitiveservices/cognitiveservices-anomalydetector/README.md b/sdk/cognitiveservices/cognitiveservices-anomalydetector/README.md index 324f5088e7b0..08b1f2af8d6d 100644 --- a/sdk/cognitiveservices/cognitiveservices-anomalydetector/README.md +++ b/sdk/cognitiveservices/cognitiveservices-anomalydetector/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AnomalyDetectorClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-autosuggest/README.md b/sdk/cognitiveservices/cognitiveservices-autosuggest/README.md index a89833079014..9cd5ff4ac6e3 100644 --- a/sdk/cognitiveservices/cognitiveservices-autosuggest/README.md +++ b/sdk/cognitiveservices/cognitiveservices-autosuggest/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AutoSuggestClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-computervision/README.md b/sdk/cognitiveservices/cognitiveservices-computervision/README.md index e4067518d8f2..e7e6bba9423b 100644 --- a/sdk/cognitiveservices/cognitiveservices-computervision/README.md +++ b/sdk/cognitiveservices/cognitiveservices-computervision/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ComputerVisionClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-contentmoderator/README.md b/sdk/cognitiveservices/cognitiveservices-contentmoderator/README.md index 675c7e9e6cbc..ad13f49591e9 100644 --- a/sdk/cognitiveservices/cognitiveservices-contentmoderator/README.md +++ b/sdk/cognitiveservices/cognitiveservices-contentmoderator/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ContentModeratorClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-customimagesearch/README.md b/sdk/cognitiveservices/cognitiveservices-customimagesearch/README.md index fa09f23ffd87..6aca029368d5 100644 --- a/sdk/cognitiveservices/cognitiveservices-customimagesearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-customimagesearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for CustomImageSearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-customsearch/README.md b/sdk/cognitiveservices/cognitiveservices-customsearch/README.md index b0279049acc4..340f89ac27c3 100644 --- a/sdk/cognitiveservices/cognitiveservices-customsearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-customsearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for CustomSearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-customvision-prediction/README.md b/sdk/cognitiveservices/cognitiveservices-customvision-prediction/README.md index c77450f79c73..a7359126942e 100644 --- a/sdk/cognitiveservices/cognitiveservices-customvision-prediction/README.md +++ b/sdk/cognitiveservices/cognitiveservices-customvision-prediction/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PredictionAPIClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-customvision-training/README.md b/sdk/cognitiveservices/cognitiveservices-customvision-training/README.md index b80ad980a2c9..2f93376cb140 100644 --- a/sdk/cognitiveservices/cognitiveservices-customvision-training/README.md +++ b/sdk/cognitiveservices/cognitiveservices-customvision-training/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for TrainingAPIClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-entitysearch/README.md b/sdk/cognitiveservices/cognitiveservices-entitysearch/README.md index 0ff80a675085..b15727f04e96 100644 --- a/sdk/cognitiveservices/cognitiveservices-entitysearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-entitysearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for EntitySearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-face/README.md b/sdk/cognitiveservices/cognitiveservices-face/README.md index 343c6a481fcb..db696bd9a1ee 100644 --- a/sdk/cognitiveservices/cognitiveservices-face/README.md +++ b/sdk/cognitiveservices/cognitiveservices-face/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for FaceClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-formrecognizer/README.md b/sdk/cognitiveservices/cognitiveservices-formrecognizer/README.md index 34713e316ae2..8b7ff7ca4b9d 100644 --- a/sdk/cognitiveservices/cognitiveservices-formrecognizer/README.md +++ b/sdk/cognitiveservices/cognitiveservices-formrecognizer/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for FormRecognizerClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-imagesearch/README.md b/sdk/cognitiveservices/cognitiveservices-imagesearch/README.md index 4cca4e181aa7..d9dff4c2a61b 100644 --- a/sdk/cognitiveservices/cognitiveservices-imagesearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-imagesearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ImageSearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-localsearch/README.md b/sdk/cognitiveservices/cognitiveservices-localsearch/README.md index 1807e8d9e6d3..627aaae3d2d1 100644 --- a/sdk/cognitiveservices/cognitiveservices-localsearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-localsearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for LocalSearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-luis-authoring/README.md b/sdk/cognitiveservices/cognitiveservices-luis-authoring/README.md index 7c5bfb93e503..3f30294d5b97 100644 --- a/sdk/cognitiveservices/cognitiveservices-luis-authoring/README.md +++ b/sdk/cognitiveservices/cognitiveservices-luis-authoring/README.md @@ -9,8 +9,8 @@ Package version | LUIS Authoring API version ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-luis-runtime/README.md b/sdk/cognitiveservices/cognitiveservices-luis-runtime/README.md index 9e49103ae3a1..a706fbf30568 100644 --- a/sdk/cognitiveservices/cognitiveservices-luis-runtime/README.md +++ b/sdk/cognitiveservices/cognitiveservices-luis-runtime/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for LUISRuntimeClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-newssearch/README.md b/sdk/cognitiveservices/cognitiveservices-newssearch/README.md index 4fdb76150b9f..05dfd6238b83 100644 --- a/sdk/cognitiveservices/cognitiveservices-newssearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-newssearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for NewsSearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-personalizer/README.md b/sdk/cognitiveservices/cognitiveservices-personalizer/README.md index f96361cdb7d1..11f7fcab4798 100644 --- a/sdk/cognitiveservices/cognitiveservices-personalizer/README.md +++ b/sdk/cognitiveservices/cognitiveservices-personalizer/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PersonalizerClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-qnamaker-runtime/README.md b/sdk/cognitiveservices/cognitiveservices-qnamaker-runtime/README.md index 5c15027ad62c..3adb60c9eaa9 100644 --- a/sdk/cognitiveservices/cognitiveservices-qnamaker-runtime/README.md +++ b/sdk/cognitiveservices/cognitiveservices-qnamaker-runtime/README.md @@ -5,8 +5,8 @@ For editing and creating Knowledge Bases see @azure/cognitiveservices-qnamaker. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-qnamaker/README.md b/sdk/cognitiveservices/cognitiveservices-qnamaker/README.md index 824eba6f559d..29488953d81e 100644 --- a/sdk/cognitiveservices/cognitiveservices-qnamaker/README.md +++ b/sdk/cognitiveservices/cognitiveservices-qnamaker/README.md @@ -5,8 +5,8 @@ For interacting with QnAMaker such as training and asking questions please see @ ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-spellcheck/README.md b/sdk/cognitiveservices/cognitiveservices-spellcheck/README.md index 5d27845f565a..ae49ffba2c76 100644 --- a/sdk/cognitiveservices/cognitiveservices-spellcheck/README.md +++ b/sdk/cognitiveservices/cognitiveservices-spellcheck/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SpellCheckClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-textanalytics/README.md b/sdk/cognitiveservices/cognitiveservices-textanalytics/README.md index 905442972f0d..5ee60f3d74dc 100644 --- a/sdk/cognitiveservices/cognitiveservices-textanalytics/README.md +++ b/sdk/cognitiveservices/cognitiveservices-textanalytics/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for TextAnalyticsClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-translatortext/README.md b/sdk/cognitiveservices/cognitiveservices-translatortext/README.md index ca96ca922c45..b8f02bdc0828 100644 --- a/sdk/cognitiveservices/cognitiveservices-translatortext/README.md +++ b/sdk/cognitiveservices/cognitiveservices-translatortext/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for TranslatorTextClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-videosearch/README.md b/sdk/cognitiveservices/cognitiveservices-videosearch/README.md index 443f4626ce92..171670555ff8 100644 --- a/sdk/cognitiveservices/cognitiveservices-videosearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-videosearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for VideoSearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-visualsearch/README.md b/sdk/cognitiveservices/cognitiveservices-visualsearch/README.md index a19902674acc..368e9d6d3f6e 100644 --- a/sdk/cognitiveservices/cognitiveservices-visualsearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-visualsearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for VisualSearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/cognitiveservices/cognitiveservices-websearch/README.md b/sdk/cognitiveservices/cognitiveservices-websearch/README.md index dcca110c07d1..ba9f17632f04 100644 --- a/sdk/cognitiveservices/cognitiveservices-websearch/README.md +++ b/sdk/cognitiveservices/cognitiveservices-websearch/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for WebSearchClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/communication/communication-chat/CHANGELOG.md b/sdk/communication/communication-chat/CHANGELOG.md index 0f68881b94cc..f5dccbe6dbbd 100644 --- a/sdk/communication/communication-chat/CHANGELOG.md +++ b/sdk/communication/communication-chat/CHANGELOG.md @@ -1,5 +1,12 @@ # Release History +## 1.1.0 ((2021-09-15) + +### Features Added + +- Migrated from using `@azure/core-http` to `@azure/core-rest-pipeline` for the handling of HTTP requests. See [Azure Core v1 vs v2](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-rest-pipeline/documentation/core2.md) for more on the difference and benefits of the move. +- Updated to @azure/communication-signaling@1.0.0-beta.10. + ## 1.1.0-beta.1 (2021-08-10) ### Features Added diff --git a/sdk/communication/communication-chat/karma.conf.js b/sdk/communication/communication-chat/karma.conf.js index 4c9c122abc4c..4d42ef0da99e 100644 --- a/sdk/communication/communication-chat/karma.conf.js +++ b/sdk/communication/communication-chat/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/communication/communication-chat/package.json b/sdk/communication/communication-chat/package.json index 934af49c5d9c..ad045aaea9f5 100644 --- a/sdk/communication/communication-chat/package.json +++ b/sdk/communication/communication-chat/package.json @@ -1,6 +1,6 @@ { "name": "@azure/communication-chat", - "version": "1.1.0-beta.1", + "version": "1.1.0", "description": "Azure client library for Azure Communication Chat services", "sdk-type": "client", "main": "dist/index.js", @@ -8,12 +8,12 @@ "types": "types/communication-chat.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build:autorest": "autorest ./swagger/README.md --typescript --version=3.0.6267 --v3 && rushx format", + "build:autorest": "autorest ./swagger/README.md --typescript --v3 && rushx format", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -25,7 +25,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -66,20 +65,23 @@ "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/communication-common": "^1.1.0", - "@azure/communication-signaling": "1.0.0-beta.7", + "@azure/communication-signaling": "1.0.0-beta.10", "@azure/core-auth": "^1.3.0", - "@azure/core-http": "^2.0.0", + "@azure/core-client": "^1.0.0", + "@azure/core-rest-pipeline": "^1.1.0", "@azure/core-tracing": "1.0.0-preview.13", "@azure/logger": "^1.0.0", "events": "^3.0.0", "tslib": "^2.2.0", - "@azure/core-paging": "^1.1.1" + "@azure/core-paging": "^1.1.1", + "uuid": "^8.3.0" }, "devDependencies": { + "@azure/core-util": "^1.0.0-beta.1", "@azure/communication-identity": "^1.0.0", "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", @@ -90,6 +92,7 @@ "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", "@types/sinon": "^9.0.4", + "@types/uuid": "^8.0.0", "assert": "^1.4.1", "chai": "^4.2.0", "cross-env": "^7.0.2", @@ -128,11 +131,7 @@ "constantPaths": [ { "path": "src/generated/src/chatApiClientContext.ts", - "prefix": "packageVersion" - }, - { - "path": "src/constants.ts", - "prefix": "SDK_VERSION" + "prefix": "packageDetails" }, { "path": "swagger/README.md", diff --git a/sdk/communication/communication-chat/recordings/browsers/chatclient_chat_operations/recording_successfully_creates_a_thread.json b/sdk/communication/communication-chat/recordings/browsers/chatclient_chat_operations/recording_successfully_creates_a_thread.json index 6d71868387cf..4301e404cffd 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatclient_chat_operations/recording_successfully_creates_a_thread.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatclient_chat_operations/recording_successfully_creates_a_thread.json @@ -8,7 +8,7 @@ }, "requestBody": "{\"createTokenWithScopes\":[\"chat\"]}", "status": 201, - "response": "{\"identity\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-d37b-a175-5b3a0d00095e\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-06-15T21:15:32.740112+00:00\"}}", + "response": "{\"identity\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-ef3e-9508-45482200108d\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-09-04T19:27:25.8157438+00:00\"}}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } @@ -21,7 +21,7 @@ }, "requestBody": "{\"createTokenWithScopes\":[\"chat\"]}", "status": 201, - "response": "{\"identity\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-d4d2-a175-5b3a0d00095f\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-06-15T21:15:32.2007476+00:00\"}}", + "response": "{\"identity\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f0d5-9508-45482200108e\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-09-04T19:27:25.0653231+00:00\"}}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } @@ -30,14 +30,14 @@ "method": "POST", "url": "https://endpoint/chat/threads", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, - "requestBody": "{\"topic\":\"test topic\",\"participants\":[{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-d37b-a175-5b3a0d00095e\"}}},{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-d4d2-a175-5b3a0d00095f\"}}}]}", + "requestBody": "{\"topic\":\"test topic\",\"participants\":[{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-ef3e-9508-45482200108d\"}}},{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f0d5-9508-45482200108e\"}}}]}", "status": 201, - "response": "{\"chatThread\":{\"id\":\"19:iRzzqpzkmJXzcaLJkgL2aAN1h4_lky7dstdUyqpd8781@thread.v2\",\"topic\":\"test topic\",\"createdOn\":\"2021-06-14T21:15:34Z\",\"createdByCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-d37b-a175-5b3a0d00095e\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-d37b-a175-5b3a0d00095e\"}}}}", + "response": "{\"chatThread\":{\"id\":\"19:DTm4_3zKgZIkPz5-9uSKD4_lntZxdxYcTy3bRXVTzug1@thread.v2\",\"topic\":\"test topic\",\"createdOn\":\"2021-09-03T19:27:26Z\",\"createdByCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-ef3e-9508-45482200108d\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-ef3e-9508-45482200108d\"}}}}", "responseHeaders": { "content-type": "application/json; charset=utf-8", - "location": "https://endpoint/chat/threads/19%3AiRzzqpzkmJXzcaLJkgL2aAN1h4_lky7dstdUyqpd8781@thread.v2" + "location": "https://endpoint/chat/threads/19%3ADTm4_3zKgZIkPz5-9uSKD4_lntZxdxYcTy3bRXVTzug1@thread.v2" } } ], diff --git a/sdk/communication/communication-chat/recordings/browsers/chatclient_chat_operations/recording_successfully_deletes_a_thread.json b/sdk/communication/communication-chat/recordings/browsers/chatclient_chat_operations/recording_successfully_deletes_a_thread.json index 5b2fda185dca..033c05b4eeff 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatclient_chat_operations/recording_successfully_deletes_a_thread.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatclient_chat_operations/recording_successfully_deletes_a_thread.json @@ -2,9 +2,9 @@ "recordings": [ { "method": "DELETE", - "url": "https://endpoint/chat/threads/19%3AiRzzqpzkmJXzcaLJkgL2aAN1h4_lky7dstdUyqpd8781%40thread.v2", + "url": "https://endpoint/chat/threads/19%3ADTm4_3zKgZIkPz5-9uSKD4_lntZxdxYcTy3bRXVTzug1%40thread.v2", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": null, "status": 204, diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_adds_participants.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_adds_participants.json index 392eb14c6e0f..d7c15933a5d1 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_adds_participants.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_adds_participants.json @@ -8,18 +8,18 @@ }, "requestBody": "{\"createTokenWithScopes\":[\"chat\"]}", "status": 201, - "response": "{\"identity\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-f300-a175-5b3a0d000962\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-06-15T21:15:40.7781366+00:00\"}}", + "response": "{\"identity\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d03-05c0-9508-454822001091\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-09-04T19:27:31.4921921+00:00\"}}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } }, { "method": "POST", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/participants/:add", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/participants/:add", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, - "requestBody": "{\"participants\":[{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-f300-a175-5b3a0d000962\"}}}]}", + "requestBody": "{\"participants\":[{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d03-05c0-9508-454822001091\"}}}]}", "status": 201, "response": "{}", "responseHeaders": { diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_deletes_a_message.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_deletes_a_message.json index 33f3cc434e7c..0a2000d91741 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_deletes_a_message.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_deletes_a_message.json @@ -2,9 +2,9 @@ "recordings": [ { "method": "DELETE", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/messages/1623705338819", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/messages/1630697249791", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": null, "status": 204, diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_gets_the_thread_properties.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_gets_the_thread_properties.json index 20273379bb67..8ef77fac8600 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_gets_the_thread_properties.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_gets_the_thread_properties.json @@ -2,13 +2,13 @@ "recordings": [ { "method": "GET", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": null, "status": 200, - "response": "{\"id\":\"19:3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1@thread.v2\",\"topic\":\"test topic\",\"createdOn\":\"2021-06-14T21:15:36Z\",\"createdByCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}}}", + "response": "{\"id\":\"19:g0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1@thread.v2\",\"topic\":\"test topic\",\"createdOn\":\"2021-09-03T19:27:28Z\",\"createdByCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}}}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_intializes_chatthreadclient.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_intializes_chatthreadclient.json index 85327b4ba07d..3e087bb4978b 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_intializes_chatthreadclient.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_intializes_chatthreadclient.json @@ -8,7 +8,7 @@ }, "requestBody": "{\"createTokenWithScopes\":[\"chat\"]}", "status": 201, - "response": "{\"identity\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-06-15T21:15:35.028116+00:00\"}}", + "response": "{\"identity\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-09-04T19:27:27.5842611+00:00\"}}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } @@ -21,7 +21,7 @@ }, "requestBody": "{\"createTokenWithScopes\":[\"chat\"]}", "status": 201, - "response": "{\"identity\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dd19-a175-5b3a0d000961\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-06-15T21:15:35.3191043+00:00\"}}", + "response": "{\"identity\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f7b6-9508-454822001090\"},\"accessToken\":{\"token\":\"token\",\"expiresOn\":\"2021-09-04T19:27:27.8253968+00:00\"}}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } @@ -30,14 +30,14 @@ "method": "POST", "url": "https://endpoint/chat/threads", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, - "requestBody": "{\"topic\":\"test topic\",\"participants\":[{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}}},{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dd19-a175-5b3a0d000961\"}}}]}", + "requestBody": "{\"topic\":\"test topic\",\"participants\":[{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}}},{\"communicationIdentifier\":{\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f7b6-9508-454822001090\"}}}]}", "status": 201, - "response": "{\"chatThread\":{\"id\":\"19:3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1@thread.v2\",\"topic\":\"test topic\",\"createdOn\":\"2021-06-14T21:15:36Z\",\"createdByCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}}}}", + "response": "{\"chatThread\":{\"id\":\"19:g0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1@thread.v2\",\"topic\":\"test topic\",\"createdOn\":\"2021-09-03T19:27:28Z\",\"createdByCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}}}}", "responseHeaders": { "content-type": "application/json; charset=utf-8", - "location": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1@thread.v2" + "location": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1@thread.v2" } } ], diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_messages.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_messages.json index ee0b8fc0035e..5c0ade2b241d 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_messages.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_messages.json @@ -2,13 +2,13 @@ "recordings": [ { "method": "GET", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/messages", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/messages", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"id\":\"1623705338819\",\"type\":\"text\",\"sequenceId\":\"4\",\"version\":\"1623705338819\",\"content\":{\"message\":\"content\"},\"senderDisplayName\":\"\",\"createdOn\":\"2021-06-14T21:15:38Z\",\"senderCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}},\"metadata\":{\"tags\":\"sometag\"}},{\"id\":\"1623705338037\",\"type\":\"topicUpdated\",\"sequenceId\":\"3\",\"version\":\"1623705338037\",\"content\":{\"topic\":\"new topic\",\"initiatorCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}}},\"createdOn\":\"2021-06-14T21:15:38Z\"},{\"id\":\"1623705336897\",\"type\":\"topicUpdated\",\"sequenceId\":\"2\",\"version\":\"1623705336897\",\"content\":{\"topic\":\"test topic\",\"initiatorCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}}},\"createdOn\":\"2021-06-14T21:15:36Z\"},{\"id\":\"1623705336834\",\"type\":\"participantAdded\",\"sequenceId\":\"1\",\"version\":\"1623705336834\",\"content\":{\"participants\":[{\"communicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"},{\"communicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dd19-a175-5b3a0d000961\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dd19-a175-5b3a0d000961\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"}],\"initiatorCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}}},\"createdOn\":\"2021-06-14T21:15:36Z\"}]}", + "response": "{\"value\":[{\"id\":\"1630697249791\",\"type\":\"text\",\"sequenceId\":\"4\",\"version\":\"1630697249791\",\"content\":{\"message\":\"content\"},\"senderDisplayName\":\"\",\"createdOn\":\"2021-09-03T19:27:29Z\",\"senderCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}},\"metadata\":{\"tags\":\"sometag\"}},{\"id\":\"1630697249324\",\"type\":\"topicUpdated\",\"sequenceId\":\"3\",\"version\":\"1630697249324\",\"content\":{\"topic\":\"new topic\",\"initiatorCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}}},\"createdOn\":\"2021-09-03T19:27:29Z\"},{\"id\":\"1630697248680\",\"type\":\"topicUpdated\",\"sequenceId\":\"2\",\"version\":\"1630697248680\",\"content\":{\"topic\":\"test topic\",\"initiatorCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}}},\"createdOn\":\"2021-09-03T19:27:28Z\"},{\"id\":\"1630697248594\",\"type\":\"participantAdded\",\"sequenceId\":\"1\",\"version\":\"1630697248594\",\"content\":{\"participants\":[{\"communicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"},{\"communicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f7b6-9508-454822001090\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f7b6-9508-454822001090\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"}],\"initiatorCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}}},\"createdOn\":\"2021-09-03T19:27:28Z\"}]}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_participants.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_participants.json index 674d4f1ee98d..0c819d85fff2 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_participants.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_participants.json @@ -2,13 +2,13 @@ "recordings": [ { "method": "GET", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/participants", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/participants", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"communicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"},{\"communicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dd19-a175-5b3a0d000961\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dd19-a175-5b3a0d000961\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"},{\"communicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-f300-a175-5b3a0d000962\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-f300-a175-5b3a0d000962\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"}]}", + "response": "{\"value\":[{\"communicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"},{\"communicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f7b6-9508-454822001090\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f7b6-9508-454822001090\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"},{\"communicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d03-05c0-9508-454822001091\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d03-05c0-9508-454822001091\"}},\"shareHistoryTime\":\"1970-01-01T00:00:00Z\"}]}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_read_receipts.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_read_receipts.json index 21f690b38fff..e6f743b1b052 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_read_receipts.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_lists_read_receipts.json @@ -2,13 +2,13 @@ "recordings": [ { "method": "GET", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/readReceipts", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/readReceipts", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"senderCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}},\"chatMessageId\":\"1623705338819\",\"readOn\":\"2021-06-14T21:15:39Z\"}]}", + "response": "{\"value\":[{\"senderCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}},\"chatMessageId\":\"1630697249791\",\"readOn\":\"2021-09-03T19:27:30Z\"}]}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_remove_a_participant.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_remove_a_participant.json index 5de1c35cd7c3..6df235f1b6a0 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_remove_a_participant.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_remove_a_participant.json @@ -2,11 +2,11 @@ "recordings": [ { "method": "POST", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/participants/:remove", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/participants/:remove", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, - "requestBody": "{\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dd19-a175-5b3a0d000961\"}}", + "requestBody": "{\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f7b6-9508-454822001090\"}}", "status": 204, "response": "", "responseHeaders": {} diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_retrieves_a_message.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_retrieves_a_message.json index 2e6528150eb8..7cb09cf89502 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_retrieves_a_message.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_retrieves_a_message.json @@ -2,13 +2,13 @@ "recordings": [ { "method": "GET", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/messages/1623705338819", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/messages/1630697249791", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": null, "status": 200, - "response": "{\"id\":\"1623705338819\",\"type\":\"text\",\"sequenceId\":\"4\",\"version\":\"1623705338819\",\"content\":{\"message\":\"content\"},\"senderDisplayName\":\"\",\"createdOn\":\"2021-06-14T21:15:38Z\",\"senderCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}},\"metadata\":{\"tags\":\"sometag\"}}", + "response": "{\"id\":\"1630697249791\",\"type\":\"text\",\"sequenceId\":\"4\",\"version\":\"1630697249791\",\"content\":{\"message\":\"content\"},\"senderDisplayName\":\"\",\"createdOn\":\"2021-09-03T19:27:29Z\",\"senderCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}},\"metadata\":{\"tags\":\"sometag\"}}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_a_message.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_a_message.json index 0bb19a1f9c72..303fcd63b199 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_a_message.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_a_message.json @@ -2,16 +2,16 @@ "recordings": [ { "method": "POST", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/messages", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/messages", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": "{\"content\":\"content\",\"metadata\":{\"tags\":\"sometag\"}}", "status": 201, - "response": "{\"id\":\"1623705338819\"}", + "response": "{\"id\":\"1630697249791\"}", "responseHeaders": { "content-type": "application/json; charset=utf-8", - "location": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1@thread.v2/messages/1623705338819" + "location": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1@thread.v2/messages/1630697249791" } } ], diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_read_receipt.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_read_receipt.json index 57252a06a4bb..c2e421c8b188 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_read_receipt.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_read_receipt.json @@ -2,11 +2,11 @@ "recordings": [ { "method": "POST", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/readReceipts", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/readReceipts", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, - "requestBody": "{\"chatMessageId\":\"1623705338819\"}", + "requestBody": "{\"chatMessageId\":\"1630697249791\"}", "status": 200, "response": "", "responseHeaders": { diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_typing_notification.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_typing_notification.json index 68e6469b1eb6..aac77ca7eae0 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_typing_notification.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_sends_typing_notification.json @@ -2,9 +2,9 @@ "recordings": [ { "method": "POST", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2/typing", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2/typing", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": "{}", "status": 200, diff --git a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_updates_the_thread_topic.json b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_updates_the_thread_topic.json index 0e0990f03477..a678b55bce06 100644 --- a/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_updates_the_thread_topic.json +++ b/sdk/communication/communication-chat/recordings/browsers/chatthreadclient/recording_successfully_updates_the_thread_topic.json @@ -2,9 +2,9 @@ "recordings": [ { "method": "PATCH", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": "{\"topic\":\"new topic\"}", "status": 204, @@ -13,13 +13,13 @@ }, { "method": "GET", - "url": "https://endpoint/chat/threads/19%3A3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1%40thread.v2", + "url": "https://endpoint/chat/threads/19%3Ag0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1%40thread.v2", "query": { - "api-version": "2021-04-05-preview6" + "api-version": "2021-09-07" }, "requestBody": null, "status": 200, - "response": "{\"id\":\"19:3UhaYJAgmFT9pQAXBl_Zu_rxT_KhqrS08VzfQ39UqUI1@thread.v2\",\"topic\":\"new topic\",\"createdOn\":\"2021-06-14T21:15:36Z\",\"createdByCommunicationIdentifier\":{\"rawId\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\",\"communicationUser\":{\"id\":\"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-dc82-a175-5b3a0d000960\"}}}", + "response": "{\"id\":\"19:g0x1r-Au6W3oC_P19M8Tg8l7xbEou6NTDjR2gplU33A1@thread.v2\",\"topic\":\"new topic\",\"createdOn\":\"2021-09-03T19:27:28Z\",\"createdByCommunicationIdentifier\":{\"rawId\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\",\"communicationUser\":{\"id\":\"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-f6a5-9508-45482200108f\"}}}", "responseHeaders": { "content-type": "application/json; charset=utf-8" } diff --git a/sdk/communication/communication-chat/recordings/node/chatclient_chat_operations/recording_successfully_creates_a_thread.js b/sdk/communication/communication-chat/recordings/node/chatclient_chat_operations/recording_successfully_creates_a_thread.js index 06bab30b1729..caf085e90024 100644 --- a/sdk/communication/communication-chat/recordings/node/chatclient_chat_operations/recording_successfully_creates_a_thread.js +++ b/sdk/communication/communication-chat/recordings/node/chatclient_chat_operations/recording_successfully_creates_a_thread.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) .post('/identities', {"createTokenWithScopes":["chat"]}) .query(true) - .reply(201, {"identity":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-787b-7679-5b3a0d000824"},"accessToken":{"token":"token","expiresOn":"2021-06-15T21:15:09.4156339+00:00"}}, [ + .reply(201, {"identity":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-c951-8e0e-454822000d93"},"accessToken":{"token":"token","expiresOn":"2021-09-04T19:27:15.9600921+00:00"}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', @@ -15,25 +15,27 @@ nock('https://endpoint', {"encodedQueryParams":true}) 'Request-Context', 'appId=', 'MS-CV', - '4lsn//dUfEmEOQxg48JdVw.0', + '+VsasNMuRkaU4roSFED9YA.0', + 'Strict-Transport-Security', + 'max-age=2592000', 'x-ms-client-request-id', - 'f6bbc4ca-b87a-485e-aef9-643b3c399767', + '626eb2de-baee-4d5b-aa45-813923620f9e', 'api-supported-versions', - '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1', + '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1, 2021-10-31-preview', 'X-Processing-Time', - '428ms', + '183ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '03cbHYAAAAAB3+VFAuJH2QZwyeguJQE7SUERYMzFFREdFMDIwOQA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0E3cyYQAAAAD/lv48v3FUQLaVVhyV/uTsUERYMzFFREdFMDIwNwA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:10 GMT' + 'Fri, 03 Sep 2021 19:27:15 GMT' ]); nock('https://endpoint', {"encodedQueryParams":true}) .post('/identities', {"createTokenWithScopes":["chat"]}) .query(true) - .reply(201, {"identity":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-79ef-7679-5b3a0d000825"},"accessToken":{"token":"token","expiresOn":"2021-06-15T21:15:09.8692238+00:00"}}, [ + .reply(201, {"identity":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-ca58-8e0e-454822000d94"},"accessToken":{"token":"token","expiresOn":"2021-09-04T19:27:16.2172875+00:00"}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', @@ -41,43 +43,45 @@ nock('https://endpoint', {"encodedQueryParams":true}) 'Request-Context', 'appId=', 'MS-CV', - '5j/+ZO0E4EWEB2rnLRd6nw.0', + '0Ygh+FDaS0OiMTmvhXfycQ.0', + 'Strict-Transport-Security', + 'max-age=2592000', 'x-ms-client-request-id', - '15bbf9b4-0707-4ef3-8698-209db95e0e7b', + 'b0687b5e-222e-4cb7-9c48-c7e4a525ab92', 'api-supported-versions', - '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1', + '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1, 2021-10-31-preview', 'X-Processing-Time', - '250ms', + '178ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '03sbHYAAAAADaaPM/8KnDRq4iAm7YwQQeUERYMzFFREdFMDIwOQA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FHcyYQAAAACCNOvwr/o6R4TJyXVEUH/EUERYMzFFREdFMDIwNwA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:10 GMT' + 'Fri, 03 Sep 2021 19:27:16 GMT' ]); nock('https://endpoint', {"encodedQueryParams":true}) - .post('/chat/threads', {"topic":"test topic","participants":[{"communicationIdentifier":{"communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-787b-7679-5b3a0d000824"}}},{"communicationIdentifier":{"communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-79ef-7679-5b3a0d000825"}}}]}) + .post('/chat/threads', {"topic":"test topic","participants":[{"communicationIdentifier":{"communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-c951-8e0e-454822000d93"}}},{"communicationIdentifier":{"communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-ca58-8e0e-454822000d94"}}}]}) .query(true) - .reply(201, {"chatThread":{"id":"19:S6rsC6flduxpFtSV2TaFwiS99mKWwhg5608zV5bO0-o1@thread.v2","topic":"test topic","createdOn":"2021-06-14T21:15:11Z","createdByCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-787b-7679-5b3a0d000824","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-787b-7679-5b3a0d000824"}}}}, [ + .reply(201, {"chatThread":{"id":"19:jC1S7FSI-7F0_JKoOXovspHWhvcWzLCBZ0kgoN4YnVM1@thread.v2","topic":"test topic","createdOn":"2021-09-03T19:27:16Z","createdByCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-c951-8e0e-454822000d93","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-c951-8e0e-454822000d93"}}}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'Location', - 'https://chat-sdktester-e2e.dev.communication.azure.net/chat/threads/19%3AS6rsC6flduxpFtSV2TaFwiS99mKWwhg5608zV5bO0-o1@thread.v2', + 'https://chat-prod-e2e.communication.azure.com/chat/threads/19%3AjC1S7FSI-7F0_JKoOXovspHWhvcWzLCBZ0kgoN4YnVM1@thread.v2', 'MS-CV', - '3/jfTJ4q7ECdh7LoxK8ezg.0', + 'ntQSXIJbtE2c6ufHN6Agyw.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '979ms', + '467ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '03sbHYAAAAACAfBo3xtkORbqu9ZtGDJLvUERYMzFFREdFMDIyMAA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FHcyYQAAAADvoqKvXmo9T7IzE1KH1slAUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:11 GMT' + 'Fri, 03 Sep 2021 19:27:16 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatclient_chat_operations/recording_successfully_deletes_a_thread.js b/sdk/communication/communication-chat/recordings/node/chatclient_chat_operations/recording_successfully_deletes_a_thread.js index cd44ae870525..cfed8c2bd36f 100644 --- a/sdk/communication/communication-chat/recordings/node/chatclient_chat_operations/recording_successfully_deletes_a_thread.js +++ b/sdk/communication/communication-chat/recordings/node/chatclient_chat_operations/recording_successfully_deletes_a_thread.js @@ -5,21 +5,21 @@ module.exports.hash = "5f24872081379cf3a7425479e8f94dde"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .delete('/chat/threads/19%3AS6rsC6flduxpFtSV2TaFwiS99mKWwhg5608zV5bO0-o1%40thread.v2') + .delete('/chat/threads/19%3AjC1S7FSI-7F0_JKoOXovspHWhvcWzLCBZ0kgoN4YnVM1%40thread.v2') .query(true) .reply(204, "", [ 'MS-CV', - '6Z1zjleAN0+B0QN0TxKSLA.0', + 't/Ewo/DiFkyov3diO/kdtw.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '335ms', + '138ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '04MbHYAAAAAC3tznKaCjMTbSJYs5TKRX7UERYMzFFREdFMDIyMAA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FHcyYQAAAAAtQmOTvxS7Q5P2Q4Im4NlPUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:11 GMT' + 'Fri, 03 Sep 2021 19:27:16 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_adds_participants.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_adds_participants.js index 9e8cd03de44a..426dcf75f068 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_adds_participants.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_adds_participants.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) .post('/identities', {"createTokenWithScopes":["chat"]}) .query(true) - .reply(201, {"identity":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-9bbd-7679-5b3a0d000828"},"accessToken":{"token":"token","expiresOn":"2021-06-15T21:15:18.4458709+00:00"}}, [ + .reply(201, {"identity":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-da15-8e0e-454822000d97"},"accessToken":{"token":"token","expiresOn":"2021-09-04T19:27:20.2467959+00:00"}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', @@ -15,23 +15,25 @@ nock('https://endpoint', {"encodedQueryParams":true}) 'Request-Context', 'appId=', 'MS-CV', - 'XAlB3ZS7nE6NfSDezouE/Q.0', + 'dg+WxjcG80yQUG9tEM3YzQ.0', + 'Strict-Transport-Security', + 'max-age=2592000', 'x-ms-client-request-id', - 'e3730f66-b10e-4fa5-894b-7181192df5a6', + '850b63d7-30ac-4af4-a208-82d8202c2c3c', 'api-supported-versions', - '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1', + '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1, 2021-10-31-preview', 'X-Processing-Time', - '170ms', + '179ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '058bHYAAAAABjIUhHYqt4S6cxCxD6QET1UERYMzFFREdFMDIwOQA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0GHcyYQAAAACI1op124Q0TJm151ysI1bgUERYMzFFREdFMDIwNwA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:19 GMT' + 'Fri, 03 Sep 2021 19:27:20 GMT' ]); nock('https://endpoint', {"encodedQueryParams":true}) - .post('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/participants/:add', {"participants":[{"communicationIdentifier":{"communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-9bbd-7679-5b3a0d000828"}}}]}) + .post('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/participants/:add', {"participants":[{"communicationIdentifier":{"communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-da15-8e0e-454822000d97"}}}]}) .query(true) .reply(201, {}, [ 'Transfer-Encoding', @@ -39,17 +41,17 @@ nock('https://endpoint', {"encodedQueryParams":true}) 'Content-Type', 'application/json; charset=utf-8', 'MS-CV', - '2WnPhc87c0eJR4b6S8wpvQ.0', + 'S2JlHiRHuUiiEUx+cy8mGw.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '446ms', + '339ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '058bHYAAAAABH6CU36KQDTJTqShF3Pk4qUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0GHcyYQAAAAATIoe2nVfUSJwxHN9ridJgUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:19 GMT' + 'Fri, 03 Sep 2021 19:27:20 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_deletes_a_message.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_deletes_a_message.js index 34ec820d1771..3affe05d73cd 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_deletes_a_message.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_deletes_a_message.js @@ -5,21 +5,21 @@ module.exports.hash = "1a814ddcbc4190c3adefc3fc8633ba57"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .delete('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/messages/1623705316364') + .delete('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/messages/1630697238761') .query(true) .reply(204, "", [ 'MS-CV', - 'IsmezrBOm0aR7XWAEYO3hw.0', + '1Hv53vx/PU+S2vGXSd6hRw.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '458ms', + '148ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '05sbHYAAAAACyeSEmq3qzQJlSTIdK+Y3xUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0F3cyYQAAAACvOiNZ/lX3S5HXeHVyz8M6UERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:18 GMT' + 'Fri, 03 Sep 2021 19:27:19 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_gets_the_thread_properties.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_gets_the_thread_properties.js index ea70cd7ece92..9dcaa2e6759d 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_gets_the_thread_properties.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_gets_the_thread_properties.js @@ -5,25 +5,25 @@ module.exports.hash = "83c28f4ed758d8c7b92b56697f30ed8a"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .get('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2') + .get('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2') .query(true) - .reply(200, {"id":"19:oXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1@thread.v2","topic":"test topic","createdOn":"2021-06-14T21:15:13Z","createdByCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}}}, [ + .reply(200, {"id":"19:GJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1@thread.v2","topic":"test topic","createdOn":"2021-09-03T19:27:17Z","createdByCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'MS-CV', - 'XRdx7dUhEE6IUutFLXPemA.0', + 'V1+nZyH4/0eC1L1/smE8Ng.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '262ms', + '97ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '04sbHYAAAAACM40SCEl8aR7nqx/bVNqS3UERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FncyYQAAAAAZFvXMegUHTo/YaWqre9IyUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:14 GMT' + 'Fri, 03 Sep 2021 19:27:17 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_intializes_chatthreadclient.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_intializes_chatthreadclient.js index b4ee7c0b0233..546c710cf3b5 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_intializes_chatthreadclient.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_intializes_chatthreadclient.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) .post('/identities', {"createTokenWithScopes":["chat"]}) .query(true) - .reply(201, {"identity":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"},"accessToken":{"token":"token","expiresOn":"2021-06-15T21:15:11.6627392+00:00"}}, [ + .reply(201, {"identity":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"},"accessToken":{"token":"token","expiresOn":"2021-09-04T19:27:17.3688903+00:00"}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', @@ -15,25 +15,27 @@ nock('https://endpoint', {"encodedQueryParams":true}) 'Request-Context', 'appId=', 'MS-CV', - '9iiQ2TgLGk6J0iWF5k54ag.0', + 'QA2eM+0pcEK8etJZYucycA.0', + 'Strict-Transport-Security', + 'max-age=2592000', 'x-ms-client-request-id', - '85dcfae4-5b7b-46f2-9067-000edfa734cd', + '49400690-f678-42c8-8141-2c1e95af7180', 'api-supported-versions', - '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1', + '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1, 2021-10-31-preview', 'X-Processing-Time', - '166ms', + '197ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '04MbHYAAAAAD+DyxeKk+HTq9OeaPd3N+UUERYMzFFREdFMDIwOQA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FXcyYQAAAABhxgbqJAn0Sru0WdtnJxSAUERYMzFFREdFMDIwNwA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:12 GMT' + 'Fri, 03 Sep 2021 19:27:17 GMT' ]); nock('https://endpoint', {"encodedQueryParams":true}) .post('/identities', {"createTokenWithScopes":["chat"]}) .query(true) - .reply(201, {"identity":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-820c-7679-5b3a0d000827"},"accessToken":{"token":"token","expiresOn":"2021-06-15T21:15:11.8626066+00:00"}}, [ + .reply(201, {"identity":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cfd1-8e0e-454822000d96"},"accessToken":{"token":"token","expiresOn":"2021-09-04T19:27:17.6214649+00:00"}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', @@ -41,43 +43,45 @@ nock('https://endpoint', {"encodedQueryParams":true}) 'Request-Context', 'appId=', 'MS-CV', - '34iLh6L7EkuVg/olxHn+Dg.0', + '0VxYqju2lUufw4PDs0umQg.0', + 'Strict-Transport-Security', + 'max-age=2592000', 'x-ms-client-request-id', - 'b0e33386-ff54-44d9-90ec-97faeb84b839', + '104a0413-7d03-4e27-aa16-83c34f3aaea3', 'api-supported-versions', - '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1', + '2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1, 2021-10-31-preview', 'X-Processing-Time', - '162ms', + '187ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '04MbHYAAAAABbIm5PJmpvTI+XFNecp4zyUERYMzFFREdFMDIwOQA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FXcyYQAAAAA0RJ2HY+LlSbzz7zLRNnb2UERYMzFFREdFMDIwNwA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:12 GMT' + 'Fri, 03 Sep 2021 19:27:17 GMT' ]); nock('https://endpoint', {"encodedQueryParams":true}) - .post('/chat/threads', {"topic":"test topic","participants":[{"communicationIdentifier":{"communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}}},{"communicationIdentifier":{"communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-820c-7679-5b3a0d000827"}}}]}) + .post('/chat/threads', {"topic":"test topic","participants":[{"communicationIdentifier":{"communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}}},{"communicationIdentifier":{"communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cfd1-8e0e-454822000d96"}}}]}) .query(true) - .reply(201, {"chatThread":{"id":"19:oXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1@thread.v2","topic":"test topic","createdOn":"2021-06-14T21:15:13Z","createdByCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}}}}, [ + .reply(201, {"chatThread":{"id":"19:GJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1@thread.v2","topic":"test topic","createdOn":"2021-09-03T19:27:17Z","createdByCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}}}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'Location', - 'https://chat-sdktester-e2e.dev.communication.azure.net/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1@thread.v2', + 'https://chat-prod-e2e.communication.azure.com/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1@thread.v2', 'MS-CV', - 'Jwp+ONjCskKl4P/Y3RMZqA.0', + 'Iq/1UcehnE+ughCFDbH2Kg.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '1797ms', + '365ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '04MbHYAAAAADOWtc18Nn6RJcudXb+q203UERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FXcyYQAAAAB5kCR3MKXJSp9MWmO0B7j8UERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:14 GMT' + 'Fri, 03 Sep 2021 19:27:17 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_messages.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_messages.js index acbb8745bf10..641f1f0c69e5 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_messages.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_messages.js @@ -5,25 +5,25 @@ module.exports.hash = "1f8534fbb5a951a66d210f9e8991c150"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .get('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/messages') + .get('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/messages') .query(true) - .reply(200, {"value":[{"id":"1623705316364","type":"text","sequenceId":"4","version":"1623705316364","content":{"message":"content"},"senderDisplayName":"","createdOn":"2021-06-14T21:15:16Z","senderCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}},"metadata":{"tags":"sometag"}},{"id":"1623705315442","type":"topicUpdated","sequenceId":"3","version":"1623705315442","content":{"topic":"new topic","initiatorCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}}},"createdOn":"2021-06-14T21:15:15Z"},{"id":"1623705313786","type":"topicUpdated","sequenceId":"2","version":"1623705313786","content":{"topic":"test topic","initiatorCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}}},"createdOn":"2021-06-14T21:15:13Z"},{"id":"1623705313598","type":"participantAdded","sequenceId":"1","version":"1623705313598","content":{"participants":[{"communicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}},"shareHistoryTime":"1970-01-01T00:00:00Z"},{"communicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-820c-7679-5b3a0d000827","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-820c-7679-5b3a0d000827"}},"shareHistoryTime":"1970-01-01T00:00:00Z"}],"initiatorCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}}},"createdOn":"2021-06-14T21:15:13Z"}]}, [ + .reply(200, {"value":[{"id":"1630697238761","type":"text","sequenceId":"4","version":"1630697238761","content":{"message":"content"},"senderDisplayName":"","createdOn":"2021-09-03T19:27:18Z","senderCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}},"metadata":{"tags":"sometag"}},{"id":"1630697238279","type":"topicUpdated","sequenceId":"3","version":"1630697238279","content":{"topic":"new topic","initiatorCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}}},"createdOn":"2021-09-03T19:27:18Z"},{"id":"1630697237859","type":"topicUpdated","sequenceId":"2","version":"1630697237859","content":{"topic":"test topic","initiatorCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}}},"createdOn":"2021-09-03T19:27:17Z"},{"id":"1630697237834","type":"participantAdded","sequenceId":"1","version":"1630697237834","content":{"participants":[{"communicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}},"shareHistoryTime":"1970-01-01T00:00:00Z"},{"communicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cfd1-8e0e-454822000d96","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cfd1-8e0e-454822000d96"}},"shareHistoryTime":"1970-01-01T00:00:00Z"}],"initiatorCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}}},"createdOn":"2021-09-03T19:27:17Z"}]}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'MS-CV', - 'Vub52Ljv+0awkzXFioPOzQ.0', + 'QpODZwBvL0CEpMH2BwbPbQ.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '281ms', + '128ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '05sbHYAAAAACp1pjW7kElSJs/Te8DoQCeUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0F3cyYQAAAABtqbKjydgzRojUEkmBMTFHUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:18 GMT' + 'Fri, 03 Sep 2021 19:27:19 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_participants.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_participants.js index 3d99632a7951..ed3ee510f257 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_participants.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_participants.js @@ -5,25 +5,25 @@ module.exports.hash = "95dcb31f768c13ecb44ca6ed39d58046"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .get('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/participants') + .get('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/participants') .query(true) - .reply(200, {"value":[{"communicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}},"shareHistoryTime":"1970-01-01T00:00:00Z"},{"communicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-820c-7679-5b3a0d000827","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-820c-7679-5b3a0d000827"}},"shareHistoryTime":"1970-01-01T00:00:00Z"},{"communicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-9bbd-7679-5b3a0d000828","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-9bbd-7679-5b3a0d000828"}},"shareHistoryTime":"1970-01-01T00:00:00Z"}]}, [ + .reply(200, {"value":[{"communicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}},"shareHistoryTime":"1970-01-01T00:00:00Z"},{"communicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cfd1-8e0e-454822000d96","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cfd1-8e0e-454822000d96"}},"shareHistoryTime":"1970-01-01T00:00:00Z"},{"communicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-da15-8e0e-454822000d97","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-da15-8e0e-454822000d97"}},"shareHistoryTime":"1970-01-01T00:00:00Z"}]}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'MS-CV', - 'PYclnk3AREaOhcBZhdurFw.0', + 'L6GrbuOT+0OyIeFsjv3d4Q.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '267ms', + '123ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '058bHYAAAAAB4UnwSKij5S6Dxm+kWHJX0UERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0GHcyYQAAAADIvHBkhvm/QYF4T46egjiPUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:19 GMT' + 'Fri, 03 Sep 2021 19:27:20 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_read_receipts.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_read_receipts.js index 6425cd1154bc..2dc00a906b43 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_read_receipts.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_lists_read_receipts.js @@ -5,25 +5,25 @@ module.exports.hash = "9efaea99e71681e119e42483f0f46e96"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .get('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/readReceipts') + .get('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/readReceipts') .query(true) - .reply(200, {"value":[{"senderCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}},"chatMessageId":"1623705316364","readOn":"2021-06-14T21:15:17Z"}]}, [ + .reply(200, {"value":[{"senderCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}},"chatMessageId":"1630697238761","readOn":"2021-09-03T19:27:19Z"}]}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'MS-CV', - 'DIgH5Lkrmkeysj3ixFhAlw.0', + 'C9Q6pmfyaUehUvkZphfpiA.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '254ms', + '115ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '06MbHYAAAAACr7sUtac1+RbD53WNAmBmcUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0GXcyYQAAAACDEkLGntSWSbGHTIR1PzNmUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:20 GMT' + 'Fri, 03 Sep 2021 19:27:20 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_remove_a_participant.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_remove_a_participant.js index 281f86735f90..c9a6cae742ac 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_remove_a_participant.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_remove_a_participant.js @@ -5,21 +5,21 @@ module.exports.hash = "3f3e581d127d4ee7534cf66acf4944a1"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .post('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/participants/:remove', {"communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-820c-7679-5b3a0d000827"}}) + .post('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/participants/:remove', {"communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cfd1-8e0e-454822000d96"}}) .query(true) .reply(204, "", [ 'MS-CV', - 'qFO+14I8ZUqaoGOVHSuw/w.0', + 'tIHXBD0bxEi0OIEj11c6hw.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '514ms', + '211ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '06MbHYAAAAADOHuUDKsoARoYH96bjACYyUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0GHcyYQAAAADFnPaj6s4NTIzeyUOKZRhqUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:20 GMT' + 'Fri, 03 Sep 2021 19:27:20 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_retrieves_a_message.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_retrieves_a_message.js index 39c787fcf772..b9e1d0d6198c 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_retrieves_a_message.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_retrieves_a_message.js @@ -5,25 +5,25 @@ module.exports.hash = "3834d1c4cc3814113d869d38eaba2554"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .get('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/messages/1623705316364') + .get('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/messages/1630697238761') .query(true) - .reply(200, {"id":"1623705316364","type":"text","sequenceId":"4","version":"1623705316364","content":{"message":"content"},"senderDisplayName":"","createdOn":"2021-06-14T21:15:16Z","senderCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}},"metadata":{"tags":"sometag"}}, [ + .reply(200, {"id":"1630697238761","type":"text","sequenceId":"4","version":"1630697238761","content":{"message":"content"},"senderDisplayName":"","createdOn":"2021-09-03T19:27:18Z","senderCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}},"metadata":{"tags":"sometag"}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'MS-CV', - 'vqqXFiklyE+QlC4FYP8scg.0', + 'KhFpHnBKi0Ofu1WwRgVKMQ.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '264ms', + '114ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '05sbHYAAAAAAher0cdOu+QKWgXoeN3Q0aUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0F3cyYQAAAADrXK0IkUHOSpLFSJmtkicsUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:17 GMT' + 'Fri, 03 Sep 2021 19:27:19 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_a_message.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_a_message.js index ece01d631f62..732b4f83ec61 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_a_message.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_a_message.js @@ -5,27 +5,27 @@ module.exports.hash = "28a39068dc1d56a110f18d8ca5465626"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .post('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/messages', {"content":"content","metadata":{"tags":"sometag"}}) + .post('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/messages', {"content":"content","metadata":{"tags":"sometag"}}) .query(true) - .reply(201, {"id":"1623705316364"}, [ + .reply(201, {"id":"1630697238761"}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'Location', - 'https://chat-sdktester-e2e.dev.communication.azure.net/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1@thread.v2/messages/1623705316364', + 'https://chat-prod-e2e.communication.azure.com/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1@thread.v2/messages/1630697238761', 'MS-CV', - '5QJd3ekax0yelfHqjOQ9kw.0', + 'o1NNvxHkgk+LtjX+wMfLrA.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '508ms', + '389ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '05MbHYAAAAAD3RhG5KhINTaymXg13uOkGUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FncyYQAAAACcypUyD/FqQaS+TKkhyGHMUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:16 GMT' + 'Fri, 03 Sep 2021 19:27:18 GMT' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_read_receipt.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_read_receipt.js index c594baad6c07..5b4ded7cbb59 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_read_receipt.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_read_receipt.js @@ -5,23 +5,23 @@ module.exports.hash = "1b4d74b8fdcbd80f10e063f085f851c9"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .post('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/readReceipts', {"chatMessageId":"1623705316364"}) + .post('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/readReceipts', {"chatMessageId":"1630697238761"}) .query(true) .reply(200, "", [ 'MS-CV', - 'SKdUyTx1Wk2t0f0uUM3svQ.0', + 'BEdU0vKpf0aVK832Ees06w.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '910ms', + '344ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '05cbHYAAAAACI1UBuFdQMQKxdT8v7o/+lUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0F3cyYQAAAABS+yyvHKCZRKsJpYnxBwAaUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:17 GMT', + 'Fri, 03 Sep 2021 19:27:19 GMT', 'Content-Length', '0' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_typing_notification.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_typing_notification.js index b618213a3861..3b5729076f3c 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_typing_notification.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_sends_typing_notification.js @@ -5,23 +5,23 @@ module.exports.hash = "10dd04e171c2258c64ce665e70a9383f"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .post('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2/typing', {}) + .post('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2/typing', {}) .query(true) .reply(200, "", [ 'MS-CV', - 'xbhvxzM+f0efV/8yQfkzWw.0', + 'NxwGLZsuKEOL1Ypyg4TsgA.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2021-04-05-preview6', + '2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '386ms', + '169ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '05MbHYAAAAADW9RnSEWHCT6qCuDGfSuKcUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FncyYQAAAADj0RaIZBUQRqLu3JULiZNLUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:16 GMT', + 'Fri, 03 Sep 2021 19:27:18 GMT', 'Content-Length', '0' ]); diff --git a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_updates_the_thread_topic.js b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_updates_the_thread_topic.js index 3e6090213a0e..6871746ef3a7 100644 --- a/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_updates_the_thread_topic.js +++ b/sdk/communication/communication-chat/recordings/node/chatthreadclient/recording_successfully_updates_the_thread_topic.js @@ -5,45 +5,45 @@ module.exports.hash = "583421fca0c161e20873222c40e6e511"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint', {"encodedQueryParams":true}) - .patch('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2', {"topic":"new topic"}) + .patch('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2', {"topic":"new topic"}) .query(true) .reply(204, "", [ 'MS-CV', - '2XwxNXHGkUK3sN+g9Bttyw.0', + 'P0VeNJmcQES+k/dde3A8jg.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '451ms', + '141ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '048bHYAAAAADmk2DXG6t2RovGNIpa8cL6UERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FncyYQAAAABvICdV7HZoTrenpyXTQ7JYUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:15 GMT' + 'Fri, 03 Sep 2021 19:27:17 GMT' ]); nock('https://endpoint', {"encodedQueryParams":true}) - .get('/chat/threads/19%3AoXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1%40thread.v2') + .get('/chat/threads/19%3AGJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1%40thread.v2') .query(true) - .reply(200, {"id":"19:oXeDm2YWQ-rjbfG0ilcCtPs5GBwZEeVt5ssFsYc0Ehc1@thread.v2","topic":"new topic","createdOn":"2021-06-14T21:15:13Z","createdByCommunicationIdentifier":{"rawId":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826","communicationUser":{"id":"8:acs:1b5cc06b-f352-4571-b1e6-d9b259b7c776_0000000a-ac42-8140-7679-5b3a0d000826"}}}, [ + .reply(200, {"id":"19:GJhzTT5V5GxxOF-a6Z84_zITnb7xu-IRf-8431aqf8w1@thread.v2","topic":"new topic","createdOn":"2021-09-03T19:27:17Z","createdByCommunicationIdentifier":{"rawId":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95","communicationUser":{"id":"8:acs:fa5c4fc3-a269-43e2-9eb6-0ca17b388993_0000000c-4d02-cec5-8e0e-454822000d95"}}}, [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/json; charset=utf-8', 'MS-CV', - 'kNPyN1XI90GRGwDGhESvWg.0', + '7TH/hzqq+USZVVMhdif/QQ.0', 'Strict-Transport-Security', 'max-age=2592000', 'api-supported-versions', - '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6', + '2020-09-21-preview2, 2020-11-01-preview3, 2021-01-27-preview4, 2021-03-01-preview5, 2021-03-07, 2021-04-05-preview6, 2021-09-07', 'X-Processing-Time', - '429ms', + '91ms', 'X-Cache', 'CONFIG_NOCACHE', 'X-Azure-Ref', - '048bHYAAAAABb0PlQOowIQ7lFJ0/nvJxSUERYMzFFREdFMDIxNgA3MDU0Mzk1ZS1jZTFkLTQ1NWUtYWU1ZC0yMzNjYTgzOTA1NTQ=', + '0FncyYQAAAAAMJG0el5sPTKWEQMaZH4NGUERYMzFFREdFMDIxOQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE=', 'Date', - 'Mon, 14 Jun 2021 21:15:15 GMT' + 'Fri, 03 Sep 2021 19:27:18 GMT' ]); diff --git a/sdk/communication/communication-chat/review/communication-chat.api.md b/sdk/communication/communication-chat/review/communication-chat.api.md index 7c28cb354527..cc49698cabde 100644 --- a/sdk/communication/communication-chat/review/communication-chat.api.md +++ b/sdk/communication/communication-chat/review/communication-chat.api.md @@ -10,15 +10,15 @@ import { ChatMessageReceivedEvent } from '@azure/communication-signaling'; import { ChatThreadCreatedEvent } from '@azure/communication-signaling'; import { ChatThreadDeletedEvent } from '@azure/communication-signaling'; import { ChatThreadPropertiesUpdatedEvent } from '@azure/communication-signaling'; +import { CommonClientOptions } from '@azure/core-client'; import { CommunicationIdentifier } from '@azure/communication-common'; import { CommunicationIdentifierKind } from '@azure/communication-common'; import { CommunicationTokenCredential } from '@azure/communication-common'; -import * as coreHttp from '@azure/core-http'; -import { OperationOptions } from '@azure/core-http'; +import * as coreClient from '@azure/core-client'; +import { OperationOptions } from '@azure/core-client'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; import { ParticipantsAddedEvent } from '@azure/communication-signaling'; import { ParticipantsRemovedEvent } from '@azure/communication-signaling'; -import { PipelineOptions } from '@azure/core-http'; import { ReadReceiptReceivedEvent } from '@azure/communication-signaling'; import { TypingIndicatorReceivedEvent } from '@azure/communication-signaling'; @@ -67,7 +67,7 @@ export class ChatClient { } // @public -export interface ChatClientOptions extends PipelineOptions { +export interface ChatClientOptions extends CommonClientOptions { } // @public @@ -209,25 +209,25 @@ export type ListReadReceiptsOptions = RestListReadReceiptsOptions; export type RemoveParticipantOptions = OperationOptions; // @public -export interface RestListChatThreadsOptions extends coreHttp.OperationOptions { +export interface RestListChatThreadsOptions extends coreClient.OperationOptions { maxPageSize?: number; startTime?: Date; } // @public -export interface RestListMessagesOptions extends coreHttp.OperationOptions { +export interface RestListMessagesOptions extends coreClient.OperationOptions { maxPageSize?: number; startTime?: Date; } // @public -export interface RestListParticipantsOptions extends coreHttp.OperationOptions { +export interface RestListParticipantsOptions extends coreClient.OperationOptions { maxPageSize?: number; skip?: number; } // @public -export interface RestListReadReceiptsOptions extends coreHttp.OperationOptions { +export interface RestListReadReceiptsOptions extends coreClient.OperationOptions { maxPageSize?: number; skip?: number; } diff --git a/sdk/communication/communication-chat/src/chatClient.ts b/sdk/communication/communication-chat/src/chatClient.ts index 0cf6c4e6eb69..93984cb4c3a5 100644 --- a/sdk/communication/communication-chat/src/chatClient.ts +++ b/sdk/communication/communication-chat/src/chatClient.ts @@ -4,7 +4,6 @@ import { logger } from "./models/logger"; import { EventEmitter } from "events"; -import { SDK_VERSION } from "./constants"; import { CommunicationTokenCredential } from "@azure/communication-common"; import { SignalingClient, @@ -21,13 +20,6 @@ import { ParticipantsRemovedEvent } from "@azure/communication-signaling"; import { getSignalingClient } from "./signaling/signalingClient"; -import { - InternalPipelineOptions, - createPipelineFromOptions, - operationOptionsToRequestOptionsBase, - generateUuid -} from "@azure/core-http"; -import "@azure/core-paging"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "./tracing"; @@ -44,9 +36,11 @@ import { mapToCreateChatThreadResultSdkModel } from "./models/mappers"; import { ChatThreadItem, CreateChatThreadResult, ListPageSettings } from "./models/models"; -import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy"; +import { InternalPipelineOptions } from "@azure/core-rest-pipeline"; import { ChatApiClient } from "./generated/src"; import { CreateChatThreadRequest } from "./models/requests"; +import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy"; +import { generateUuid } from "./models/uuid"; /** * The client to do chat operations @@ -54,7 +48,6 @@ import { CreateChatThreadRequest } from "./models/requests"; export class ChatClient { private readonly tokenCredential: CommunicationTokenCredential; private readonly clientOptions: ChatClientOptions; - // private readonly api: Chat; private readonly client: ChatApiClient; private readonly signalingClient: SignalingClient | undefined = undefined; private readonly emitter = new EventEmitter(); @@ -75,21 +68,8 @@ export class ChatClient { this.tokenCredential = credential; this.clientOptions = { ...options }; - const libInfo = `azsdk-js-communication-chat/${SDK_VERSION}`; - - if (!options.userAgentOptions) { - options.userAgentOptions = {}; - } - - const userAgentOptions = { ...options.userAgentOptions }; - if (options.userAgentOptions.userAgentPrefix) { - userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`; - } else { - userAgentOptions.userAgentPrefix = libInfo; - } - const internalPipelineOptions: InternalPipelineOptions = { - ...{ ...options, userAgentOptions }, + ...options, ...{ loggingOptions: { logger: logger.info @@ -97,10 +77,13 @@ export class ChatClient { } }; - const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential); - const pipeline = createPipelineFromOptions(internalPipelineOptions, authPolicy); + this.client = new ChatApiClient(this.endpoint, { + endpoint: this.endpoint, + ...internalPipelineOptions + }); - this.client = new ChatApiClient(this.endpoint, pipeline); + const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential); + this.client.pipeline.addPolicy(authPolicy); this.signalingClient = getSignalingClient(credential, logger); } @@ -130,14 +113,14 @@ export class ChatClient { updatedOptions.idempotencyToken = updatedOptions.idempotencyToken ?? generateUuid(); const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions); - const { _response, ...result } = await this.client.chat.createChatThread( + const result = await this.client.chat.createChatThread( { topic: request.topic, participants: options.participants?.map((participant) => mapToChatParticipantRestModel(participant) ) }, - operationOptionsToRequestOptionsBase(updatedRestModelOptions) + updatedRestModelOptions ); return mapToCreateChatThreadResultSdkModel(result); } catch (e) { @@ -155,9 +138,8 @@ export class ChatClient { continuationState: ListPageSettings, options: ListChatThreadsOptions = {} ): AsyncIterableIterator { - const requestOptions = operationOptionsToRequestOptionsBase(options); if (!continuationState.continuationToken) { - const currentSetResponse = await this.client.chat.listChatThreads(requestOptions); + const currentSetResponse = await this.client.chat.listChatThreads(options); continuationState.continuationToken = currentSetResponse.nextLink; if (currentSetResponse.value) { yield currentSetResponse.value; @@ -167,7 +149,7 @@ export class ChatClient { while (continuationState.continuationToken) { const currentSetResponse = await this.client.chat.listChatThreadsNext( continuationState.continuationToken, - requestOptions + options ); continuationState.continuationToken = currentSetResponse.nextLink; if (currentSetResponse.value) { @@ -230,10 +212,7 @@ export class ChatClient { const { span, updatedOptions } = createSpan("ChatClient-DeleteChatThread", options); try { - await this.client.chat.deleteChatThread( - threadId, - operationOptionsToRequestOptionsBase(updatedOptions) - ); + await this.client.chat.deleteChatThread(threadId, updatedOptions); } catch (e) { span.setStatus({ code: SpanStatusCode.ERROR, diff --git a/sdk/communication/communication-chat/src/chatThreadClient.ts b/sdk/communication/communication-chat/src/chatThreadClient.ts index cb9876351261..d5715a872814 100644 --- a/sdk/communication/communication-chat/src/chatThreadClient.ts +++ b/sdk/communication/communication-chat/src/chatThreadClient.ts @@ -2,17 +2,11 @@ // Licensed under the MIT license. import { logger } from "./models/logger"; -import { SDK_VERSION } from "./constants"; import { CommunicationIdentifier, CommunicationTokenCredential, serializeCommunicationIdentifier } from "@azure/communication-common"; -import { - InternalPipelineOptions, - createPipelineFromOptions, - operationOptionsToRequestOptionsBase -} from "@azure/core-http"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "./tracing"; @@ -56,6 +50,7 @@ import { } from "./models/options"; import { ChatApiClient } from "./generated/src"; import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy"; +import { InternalPipelineOptions } from "@azure/core-rest-pipeline"; const minimumTypingIntervalInMilliSeconds: number = 8000; /** @@ -81,21 +76,8 @@ export class ChatThreadClient { this.threadId = threadId; this.tokenCredential = credential; - const libInfo = `azsdk-js-communication-chat/${SDK_VERSION}`; - - if (!options.userAgentOptions) { - options.userAgentOptions = {}; - } - - const userAgentOptions = { ...options.userAgentOptions }; - if (options.userAgentOptions.userAgentPrefix) { - userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`; - } else { - userAgentOptions.userAgentPrefix = libInfo; - } - const internalPipelineOptions: InternalPipelineOptions = { - ...{ ...options, userAgentOptions }, + ...options, ...{ loggingOptions: { logger: logger.info @@ -103,10 +85,13 @@ export class ChatThreadClient { } }; - const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential); - const pipeline = createPipelineFromOptions(internalPipelineOptions, authPolicy); + this.client = new ChatApiClient(this.endpoint, { + endpoint: this.endpoint, + ...internalPipelineOptions + }); - this.client = new ChatApiClient(this.endpoint, pipeline); + const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential); + this.client.pipeline.addPolicy(authPolicy); } /** @@ -118,9 +103,9 @@ export class ChatThreadClient { const { span, updatedOptions } = createSpan("ChatClient-GetProperties", options); try { - const { _response, ...result } = await this.client.chatThread.getChatThreadProperties( + const result = await this.client.chatThread.getChatThreadProperties( this.threadId, - operationOptionsToRequestOptionsBase(updatedOptions) + updatedOptions ); return mapToChatThreadPropertiesSdkModel(result); } catch (e) { @@ -146,7 +131,7 @@ export class ChatThreadClient { await this.client.chatThread.updateChatThreadProperties( this.threadId, { topic: topic }, - operationOptionsToRequestOptionsBase(updatedOptions) + updatedOptions ); } catch (e) { span.setStatus({ @@ -175,10 +160,10 @@ export class ChatThreadClient { // reset typing notification clock this.timeOfLastTypingRequest = undefined; - const { _response, ...result } = await this.client.chatThread.sendChatMessage( + const result = await this.client.chatThread.sendChatMessage( this.threadId, { ...request, ...options }, - operationOptionsToRequestOptionsBase(updatedOptions) + updatedOptions ); return result; } catch (e) { @@ -205,10 +190,10 @@ export class ChatThreadClient { const { span, updatedOptions } = createSpan("ChatThreadClient-GetMessage", options); try { - const { _response, ...result } = await this.client.chatThread.getChatMessage( + const result = await this.client.chatThread.getChatMessage( this.threadId, messageId, - operationOptionsToRequestOptionsBase(updatedOptions) + updatedOptions ); return mapToChatMessageSdkModel(result); } catch (e) { @@ -226,11 +211,10 @@ export class ChatThreadClient { pageSettings: ListPageSettings, options: ListMessagesOptions = {} ): AsyncIterableIterator { - const requestOptions = operationOptionsToRequestOptionsBase(options); if (!pageSettings.continuationToken) { const currentSetResponse = await this.client.chatThread.listChatMessages( this.threadId, - requestOptions + options ); pageSettings.continuationToken = currentSetResponse.nextLink; if (currentSetResponse.value) { @@ -242,7 +226,7 @@ export class ChatThreadClient { const currentSetResponse = await this.client.chatThread.listChatMessagesNext( this.threadId, pageSettings.continuationToken, - requestOptions + options ); pageSettings.continuationToken = currentSetResponse.nextLink; if (currentSetResponse.value) { @@ -300,11 +284,7 @@ export class ChatThreadClient { const { span, updatedOptions } = createSpan("ChatThreadClient-DeleteMessage", options); try { - await this.client.chatThread.deleteChatMessage( - this.threadId, - messageId, - operationOptionsToRequestOptionsBase(updatedOptions) - ); + await this.client.chatThread.deleteChatMessage(this.threadId, messageId, updatedOptions); } catch (e) { span.setStatus({ code: SpanStatusCode.ERROR, @@ -329,7 +309,7 @@ export class ChatThreadClient { this.threadId, messageId, options, - operationOptionsToRequestOptionsBase(updatedOptions) + updatedOptions ); } catch (e) { span.setStatus({ @@ -354,10 +334,10 @@ export class ChatThreadClient { const { span, updatedOptions } = createSpan("ChatThreadClient-AddParticipants", options); try { - const { _response, ...result } = await this.client.chatThread.addChatParticipants( + const result = await this.client.chatThread.addChatParticipants( this.threadId, mapToAddChatParticipantsRequestRestModel(request), - operationOptionsToRequestOptionsBase(updatedOptions) + updatedOptions ); return result; } catch (e) { @@ -375,11 +355,10 @@ export class ChatThreadClient { continuationState: ListPageSettings, options: ListParticipantsOptions = {} ): AsyncIterableIterator { - const requestOptions = operationOptionsToRequestOptionsBase(options); if (!continuationState.continuationToken) { const currentSetResponse = await this.client.chatThread.listChatParticipants( this.threadId, - requestOptions + options ); continuationState.continuationToken = currentSetResponse.nextLink; if (currentSetResponse.value) { @@ -391,7 +370,7 @@ export class ChatThreadClient { const currentSetResponse = await this.client.chatThread.listChatParticipantsNext( this.threadId, continuationState.continuationToken, - requestOptions + options ); continuationState.continuationToken = currentSetResponse.nextLink; if (currentSetResponse.value) { @@ -459,7 +438,7 @@ export class ChatThreadClient { await this.client.chatThread.removeChatParticipant( this.threadId, serializeCommunicationIdentifier(participant), - operationOptionsToRequestOptionsBase(updatedOptions) + updatedOptions ); } catch (e) { span.setStatus({ @@ -485,9 +464,7 @@ export class ChatThreadClient { try { const dateNow = new Date(); - const { senderDisplayName, ...restOptions } = operationOptionsToRequestOptionsBase( - updatedOptions - ); + const { senderDisplayName, ...restOptions } = updatedOptions; if (this.canPostTypingNotification(dateNow)) { await this.client.chatThread.sendTypingNotification(this.threadId, { sendTypingNotificationRequest: { senderDisplayName: senderDisplayName }, @@ -524,11 +501,7 @@ export class ChatThreadClient { const { span, updatedOptions } = createSpan("ChatThreadClient-SendReadReceipt", options); try { - await this.client.chatThread.sendChatReadReceipt( - this.threadId, - request, - operationOptionsToRequestOptionsBase(updatedOptions) - ); + await this.client.chatThread.sendChatReadReceipt(this.threadId, request, updatedOptions); } catch (e) { span.setStatus({ code: SpanStatusCode.ERROR, @@ -544,11 +517,10 @@ export class ChatThreadClient { continuationState: ListPageSettings, options: ListReadReceiptsOptions = {} ): AsyncIterableIterator { - const requestOptions = operationOptionsToRequestOptionsBase(options); if (!continuationState.continuationToken) { const currentSetResponse = await this.client.chatThread.listChatReadReceipts( this.threadId, - requestOptions + options ); continuationState.continuationToken = currentSetResponse.nextLink; if (currentSetResponse.value) { @@ -560,7 +532,7 @@ export class ChatThreadClient { const currentSetResponse = await this.client.chatThread.listChatReadReceiptsNext( this.threadId, continuationState.continuationToken, - requestOptions + options ); continuationState.continuationToken = currentSetResponse.nextLink; if (currentSetResponse.value) { diff --git a/sdk/communication/communication-chat/src/credential/communicationTokenCredentialPolicy.ts b/sdk/communication/communication-chat/src/credential/communicationTokenCredentialPolicy.ts index de393fb17205..92636cf9b1b6 100644 --- a/sdk/communication/communication-chat/src/credential/communicationTokenCredentialPolicy.ts +++ b/sdk/communication/communication-chat/src/credential/communicationTokenCredentialPolicy.ts @@ -2,7 +2,11 @@ // Licensed under the MIT license. import { CommunicationTokenCredential } from "@azure/communication-common"; -import { RequestPolicyFactory, bearerTokenAuthenticationPolicy } from "@azure/core-http"; +import { + bearerTokenAuthenticationPolicy, + BearerTokenAuthenticationPolicyOptions, + PipelinePolicy +} from "@azure/core-rest-pipeline"; /** * Creates a new CommunicationTokenCredentialPolicy factory. @@ -11,11 +15,13 @@ import { RequestPolicyFactory, bearerTokenAuthenticationPolicy } from "@azure/co */ export const createCommunicationTokenCredentialPolicy = ( credential: CommunicationTokenCredential -): RequestPolicyFactory => { - return bearerTokenAuthenticationPolicy( - { +): PipelinePolicy => { + const policyOptions: BearerTokenAuthenticationPolicyOptions = { + credential: { getToken: (_scopes, options) => credential.getToken({ abortSignal: options?.abortSignal }) }, - [] - ); + scopes: [] + }; + + return bearerTokenAuthenticationPolicy(policyOptions); }; diff --git a/sdk/communication/communication-chat/src/generated/src/chatApiClient.ts b/sdk/communication/communication-chat/src/generated/src/chatApiClient.ts index 9763e0db47b1..0d7c9e93a07a 100644 --- a/sdk/communication/communication-chat/src/generated/src/chatApiClient.ts +++ b/sdk/communication/communication-chat/src/generated/src/chatApiClient.ts @@ -6,7 +6,8 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { ChatThread, Chat } from "./operations"; +import { ChatThreadImpl, ChatImpl } from "./operations"; +import { ChatThread, Chat } from "./operationsInterfaces"; import { ChatApiClientContext } from "./chatApiClientContext"; import { ChatApiClientOptionalParams } from "./models"; @@ -18,8 +19,8 @@ export class ChatApiClient extends ChatApiClientContext { */ constructor(endpoint: string, options?: ChatApiClientOptionalParams) { super(endpoint, options); - this.chatThread = new ChatThread(this); - this.chat = new Chat(this); + this.chatThread = new ChatThreadImpl(this); + this.chat = new ChatImpl(this); } chatThread: ChatThread; diff --git a/sdk/communication/communication-chat/src/generated/src/chatApiClientContext.ts b/sdk/communication/communication-chat/src/generated/src/chatApiClientContext.ts index d8555851910b..ab1f27f6da63 100644 --- a/sdk/communication/communication-chat/src/generated/src/chatApiClientContext.ts +++ b/sdk/communication/communication-chat/src/generated/src/chatApiClientContext.ts @@ -6,13 +6,10 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; import { ChatApiClientOptionalParams } from "./models"; -const packageName = "azure-communication-chat"; -const packageVersion = "1.1.0-beta.1"; - -export class ChatApiClientContext extends coreHttp.ServiceClient { +export class ChatApiClientContext extends coreClient.ServiceClient { endpoint: string; apiVersion: string; @@ -30,22 +27,29 @@ export class ChatApiClientContext extends coreHttp.ServiceClient { if (!options) { options = {}; } - - if (!options.userAgent) { - const defaultUserAgent = coreHttp.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } - - super(undefined, options); - - this.requestContentType = "application/json; charset=utf-8"; - - this.baseUri = options.endpoint || "{endpoint}"; - + const defaults: ChatApiClientOptionalParams = { + requestContentType: "application/json; charset=utf-8" + }; + + const packageDetails = `azsdk-js-azure-communication-chat/1.1.0`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; + + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "{endpoint}" + }; + super(optionsWithDefaults); // Parameter assignments this.endpoint = endpoint; // Assigning values to Constant parameters - this.apiVersion = options.apiVersion || "2021-04-05-preview6"; + this.apiVersion = options.apiVersion || "2021-09-07"; } } diff --git a/sdk/communication/communication-chat/src/generated/src/index.ts b/sdk/communication/communication-chat/src/generated/src/index.ts index 89e0cfaf6b86..4d7079f3241d 100644 --- a/sdk/communication/communication-chat/src/generated/src/index.ts +++ b/sdk/communication/communication-chat/src/generated/src/index.ts @@ -9,3 +9,4 @@ export * from "./models"; export { ChatApiClient } from "./chatApiClient"; export { ChatApiClientContext } from "./chatApiClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/communication/communication-chat/src/generated/src/models/index.ts b/sdk/communication/communication-chat/src/generated/src/models/index.ts index dd22c5a1d444..5bbfa164a154 100644 --- a/sdk/communication/communication-chat/src/generated/src/models/index.ts +++ b/sdk/communication/communication-chat/src/generated/src/models/index.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; /** A paged collection of chat message read receipts. */ export interface ChatMessageReadReceiptsCollection { @@ -281,7 +281,7 @@ export interface SendTypingNotificationRequest { } /** Known values of {@link CommunicationCloudEnvironmentModel} that the service accepts. */ -export const enum KnownCommunicationCloudEnvironmentModel { +export enum KnownCommunicationCloudEnvironmentModel { Public = "public", Dod = "dod", Gcch = "gcch" @@ -291,7 +291,7 @@ export const enum KnownCommunicationCloudEnvironmentModel { * Defines values for CommunicationCloudEnvironmentModel. \ * {@link KnownCommunicationCloudEnvironmentModel} can be used interchangeably with CommunicationCloudEnvironmentModel, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **public** \ * **dod** \ * **gcch** @@ -307,7 +307,7 @@ export type ChatMessageType = /** Optional parameters. */ export interface ChatThreadListChatReadReceiptsOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** The maximum number of chat message read receipts to be returned per page. */ maxPageSize?: number; /** Skips chat message read receipts up to a specified position in response. */ @@ -315,32 +315,22 @@ export interface ChatThreadListChatReadReceiptsOptionalParams } /** Contains response data for the listChatReadReceipts operation. */ -export type ChatThreadListChatReadReceiptsResponse = ChatMessageReadReceiptsCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ChatThreadListChatReadReceiptsResponse = ChatMessageReadReceiptsCollection; - /** The response body as parsed JSON or XML */ - parsedBody: ChatMessageReadReceiptsCollection; - }; -}; +/** Optional parameters. */ +export interface ChatThreadSendChatReadReceiptOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the sendChatMessage operation. */ -export type ChatThreadSendChatMessageResponse = SendChatMessageResult & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +/** Optional parameters. */ +export interface ChatThreadSendChatMessageOptionalParams + extends coreClient.OperationOptions {} - /** The response body as parsed JSON or XML */ - parsedBody: SendChatMessageResult; - }; -}; +/** Contains response data for the sendChatMessage operation. */ +export type ChatThreadSendChatMessageResponse = SendChatMessageResult; /** Optional parameters. */ export interface ChatThreadListChatMessagesOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** The maximum number of messages to be returned per page. */ maxPageSize?: number; /** The earliest point in time to get messages up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */ @@ -348,32 +338,26 @@ export interface ChatThreadListChatMessagesOptionalParams } /** Contains response data for the listChatMessages operation. */ -export type ChatThreadListChatMessagesResponse = ChatMessagesCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ChatThreadListChatMessagesResponse = ChatMessagesCollection; - /** The response body as parsed JSON or XML */ - parsedBody: ChatMessagesCollection; - }; -}; +/** Optional parameters. */ +export interface ChatThreadGetChatMessageOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getChatMessage operation. */ -export type ChatThreadGetChatMessageResponse = ChatMessage & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ChatThreadGetChatMessageResponse = ChatMessage; - /** The response body as parsed JSON or XML */ - parsedBody: ChatMessage; - }; -}; +/** Optional parameters. */ +export interface ChatThreadUpdateChatMessageOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ChatThreadDeleteChatMessageOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface ChatThreadListChatParticipantsOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** The maximum number of participants to be returned per page. */ maxPageSize?: number; /** Skips participants up to a specified position in response. */ @@ -381,51 +365,40 @@ export interface ChatThreadListChatParticipantsOptionalParams } /** Contains response data for the listChatParticipants operation. */ -export type ChatThreadListChatParticipantsResponse = ChatParticipantsCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ChatThreadListChatParticipantsResponse = ChatParticipantsCollection; - /** The response body as parsed JSON or XML */ - parsedBody: ChatParticipantsCollection; - }; -}; +/** Optional parameters. */ +export interface ChatThreadRemoveChatParticipantOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ChatThreadAddChatParticipantsOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the addChatParticipants operation. */ -export type ChatThreadAddChatParticipantsResponse = AddChatParticipantsResult & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ChatThreadAddChatParticipantsResponse = AddChatParticipantsResult; - /** The response body as parsed JSON or XML */ - parsedBody: AddChatParticipantsResult; - }; -}; +/** Optional parameters. */ +export interface ChatThreadUpdateChatThreadPropertiesOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the getChatThreadProperties operation. */ -export type ChatThreadGetChatThreadPropertiesResponse = ChatThreadProperties & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +/** Optional parameters. */ +export interface ChatThreadGetChatThreadPropertiesOptionalParams + extends coreClient.OperationOptions {} - /** The response body as parsed JSON or XML */ - parsedBody: ChatThreadProperties; - }; -}; +/** Contains response data for the getChatThreadProperties operation. */ +export type ChatThreadGetChatThreadPropertiesResponse = ChatThreadProperties; /** Optional parameters. */ export interface ChatThreadSendTypingNotificationOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** Details of the typing notification request. */ sendTypingNotificationRequest?: SendTypingNotificationRequest; } /** Optional parameters. */ export interface ChatThreadListChatReadReceiptsNextOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** The maximum number of chat message read receipts to be returned per page. */ maxPageSize?: number; /** Skips chat message read receipts up to a specified position in response. */ @@ -433,20 +406,11 @@ export interface ChatThreadListChatReadReceiptsNextOptionalParams } /** Contains response data for the listChatReadReceiptsNext operation. */ -export type ChatThreadListChatReadReceiptsNextResponse = ChatMessageReadReceiptsCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: ChatMessageReadReceiptsCollection; - }; -}; +export type ChatThreadListChatReadReceiptsNextResponse = ChatMessageReadReceiptsCollection; /** Optional parameters. */ export interface ChatThreadListChatMessagesNextOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** The maximum number of messages to be returned per page. */ maxPageSize?: number; /** The earliest point in time to get messages up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */ @@ -454,20 +418,11 @@ export interface ChatThreadListChatMessagesNextOptionalParams } /** Contains response data for the listChatMessagesNext operation. */ -export type ChatThreadListChatMessagesNextResponse = ChatMessagesCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: ChatMessagesCollection; - }; -}; +export type ChatThreadListChatMessagesNextResponse = ChatMessagesCollection; /** Optional parameters. */ export interface ChatThreadListChatParticipantsNextOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** The maximum number of participants to be returned per page. */ maxPageSize?: number; /** Skips participants up to a specified position in response. */ @@ -475,39 +430,21 @@ export interface ChatThreadListChatParticipantsNextOptionalParams } /** Contains response data for the listChatParticipantsNext operation. */ -export type ChatThreadListChatParticipantsNextResponse = ChatParticipantsCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: ChatParticipantsCollection; - }; -}; +export type ChatThreadListChatParticipantsNextResponse = ChatParticipantsCollection; /** Optional parameters. */ export interface ChatCreateChatThreadOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs. */ repeatabilityRequestId?: string; } /** Contains response data for the createChatThread operation. */ -export type ChatCreateChatThreadResponse = CreateChatThreadResult & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: CreateChatThreadResult; - }; -}; +export type ChatCreateChatThreadResponse = CreateChatThreadResult; /** Optional parameters. */ export interface ChatListChatThreadsOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** The maximum number of chat threads returned per page. */ maxPageSize?: number; /** The earliest point in time to get chat threads up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */ @@ -515,20 +452,15 @@ export interface ChatListChatThreadsOptionalParams } /** Contains response data for the listChatThreads operation. */ -export type ChatListChatThreadsResponse = ChatThreadsItemCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ChatListChatThreadsResponse = ChatThreadsItemCollection; - /** The response body as parsed JSON or XML */ - parsedBody: ChatThreadsItemCollection; - }; -}; +/** Optional parameters. */ +export interface ChatDeleteChatThreadOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface ChatListChatThreadsNextOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** The maximum number of chat threads returned per page. */ maxPageSize?: number; /** The earliest point in time to get chat threads up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`. */ @@ -536,20 +468,11 @@ export interface ChatListChatThreadsNextOptionalParams } /** Contains response data for the listChatThreadsNext operation. */ -export type ChatListChatThreadsNextResponse = ChatThreadsItemCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: ChatThreadsItemCollection; - }; -}; +export type ChatListChatThreadsNextResponse = ChatThreadsItemCollection; /** Optional parameters. */ export interface ChatApiClientOptionalParams - extends coreHttp.ServiceClientOptions { + extends coreClient.ServiceClientOptions { /** Api Version */ apiVersion?: string; /** Overrides client endpoint. */ diff --git a/sdk/communication/communication-chat/src/generated/src/models/mappers.ts b/sdk/communication/communication-chat/src/generated/src/models/mappers.ts index bea3dcbc6a78..be9ab8bfdec5 100644 --- a/sdk/communication/communication-chat/src/generated/src/models/mappers.ts +++ b/sdk/communication/communication-chat/src/generated/src/models/mappers.ts @@ -6,9 +6,9 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; -export const ChatMessageReadReceiptsCollection: coreHttp.CompositeMapper = { +export const ChatMessageReadReceiptsCollection: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatMessageReadReceiptsCollection", @@ -37,7 +37,7 @@ export const ChatMessageReadReceiptsCollection: coreHttp.CompositeMapper = { } }; -export const ChatMessageReadReceipt: coreHttp.CompositeMapper = { +export const ChatMessageReadReceipt: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatMessageReadReceipt", @@ -67,7 +67,7 @@ export const ChatMessageReadReceipt: coreHttp.CompositeMapper = { } }; -export const CommunicationIdentifierModel: coreHttp.CompositeMapper = { +export const CommunicationIdentifierModel: coreClient.CompositeMapper = { type: { name: "Composite", className: "CommunicationIdentifierModel", @@ -103,7 +103,7 @@ export const CommunicationIdentifierModel: coreHttp.CompositeMapper = { } }; -export const CommunicationUserIdentifierModel: coreHttp.CompositeMapper = { +export const CommunicationUserIdentifierModel: coreClient.CompositeMapper = { type: { name: "Composite", className: "CommunicationUserIdentifierModel", @@ -119,7 +119,7 @@ export const CommunicationUserIdentifierModel: coreHttp.CompositeMapper = { } }; -export const PhoneNumberIdentifierModel: coreHttp.CompositeMapper = { +export const PhoneNumberIdentifierModel: coreClient.CompositeMapper = { type: { name: "Composite", className: "PhoneNumberIdentifierModel", @@ -135,7 +135,7 @@ export const PhoneNumberIdentifierModel: coreHttp.CompositeMapper = { } }; -export const MicrosoftTeamsUserIdentifierModel: coreHttp.CompositeMapper = { +export const MicrosoftTeamsUserIdentifierModel: coreClient.CompositeMapper = { type: { name: "Composite", className: "MicrosoftTeamsUserIdentifierModel", @@ -163,7 +163,7 @@ export const MicrosoftTeamsUserIdentifierModel: coreHttp.CompositeMapper = { } }; -export const CommunicationErrorResponse: coreHttp.CompositeMapper = { +export const CommunicationErrorResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "CommunicationErrorResponse", @@ -179,7 +179,7 @@ export const CommunicationErrorResponse: coreHttp.CompositeMapper = { } }; -export const ChatError: coreHttp.CompositeMapper = { +export const ChatError: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatError", @@ -229,7 +229,7 @@ export const ChatError: coreHttp.CompositeMapper = { } }; -export const SendReadReceiptRequest: coreHttp.CompositeMapper = { +export const SendReadReceiptRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "SendReadReceiptRequest", @@ -245,7 +245,7 @@ export const SendReadReceiptRequest: coreHttp.CompositeMapper = { } }; -export const SendChatMessageRequest: coreHttp.CompositeMapper = { +export const SendChatMessageRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "SendChatMessageRequest", @@ -287,7 +287,7 @@ export const SendChatMessageRequest: coreHttp.CompositeMapper = { } }; -export const SendChatMessageResult: coreHttp.CompositeMapper = { +export const SendChatMessageResult: coreClient.CompositeMapper = { type: { name: "Composite", className: "SendChatMessageResult", @@ -303,7 +303,7 @@ export const SendChatMessageResult: coreHttp.CompositeMapper = { } }; -export const ChatMessagesCollection: coreHttp.CompositeMapper = { +export const ChatMessagesCollection: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatMessagesCollection", @@ -332,7 +332,7 @@ export const ChatMessagesCollection: coreHttp.CompositeMapper = { } }; -export const ChatMessage: coreHttp.CompositeMapper = { +export const ChatMessage: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatMessage", @@ -422,7 +422,7 @@ export const ChatMessage: coreHttp.CompositeMapper = { } }; -export const ChatMessageContent: coreHttp.CompositeMapper = { +export const ChatMessageContent: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatMessageContent", @@ -462,7 +462,7 @@ export const ChatMessageContent: coreHttp.CompositeMapper = { } }; -export const ChatParticipant: coreHttp.CompositeMapper = { +export const ChatParticipant: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatParticipant", @@ -490,7 +490,7 @@ export const ChatParticipant: coreHttp.CompositeMapper = { } }; -export const UpdateChatMessageRequest: coreHttp.CompositeMapper = { +export const UpdateChatMessageRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "UpdateChatMessageRequest", @@ -512,7 +512,7 @@ export const UpdateChatMessageRequest: coreHttp.CompositeMapper = { } }; -export const ChatParticipantsCollection: coreHttp.CompositeMapper = { +export const ChatParticipantsCollection: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatParticipantsCollection", @@ -541,7 +541,7 @@ export const ChatParticipantsCollection: coreHttp.CompositeMapper = { } }; -export const AddChatParticipantsRequest: coreHttp.CompositeMapper = { +export const AddChatParticipantsRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "AddChatParticipantsRequest", @@ -563,7 +563,7 @@ export const AddChatParticipantsRequest: coreHttp.CompositeMapper = { } }; -export const AddChatParticipantsResult: coreHttp.CompositeMapper = { +export const AddChatParticipantsResult: coreClient.CompositeMapper = { type: { name: "Composite", className: "AddChatParticipantsResult", @@ -585,7 +585,7 @@ export const AddChatParticipantsResult: coreHttp.CompositeMapper = { } }; -export const CreateChatThreadRequest: coreHttp.CompositeMapper = { +export const CreateChatThreadRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "CreateChatThreadRequest", @@ -613,7 +613,7 @@ export const CreateChatThreadRequest: coreHttp.CompositeMapper = { } }; -export const CreateChatThreadResult: coreHttp.CompositeMapper = { +export const CreateChatThreadResult: coreClient.CompositeMapper = { type: { name: "Composite", className: "CreateChatThreadResult", @@ -642,7 +642,7 @@ export const CreateChatThreadResult: coreHttp.CompositeMapper = { } }; -export const ChatThreadProperties: coreHttp.CompositeMapper = { +export const ChatThreadProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatThreadProperties", @@ -685,7 +685,7 @@ export const ChatThreadProperties: coreHttp.CompositeMapper = { } }; -export const ChatThreadsItemCollection: coreHttp.CompositeMapper = { +export const ChatThreadsItemCollection: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatThreadsItemCollection", @@ -714,7 +714,7 @@ export const ChatThreadsItemCollection: coreHttp.CompositeMapper = { } }; -export const ChatThreadItem: coreHttp.CompositeMapper = { +export const ChatThreadItem: coreClient.CompositeMapper = { type: { name: "Composite", className: "ChatThreadItem", @@ -750,7 +750,7 @@ export const ChatThreadItem: coreHttp.CompositeMapper = { } }; -export const UpdateChatThreadRequest: coreHttp.CompositeMapper = { +export const UpdateChatThreadRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "UpdateChatThreadRequest", @@ -765,7 +765,7 @@ export const UpdateChatThreadRequest: coreHttp.CompositeMapper = { } }; -export const SendTypingNotificationRequest: coreHttp.CompositeMapper = { +export const SendTypingNotificationRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "SendTypingNotificationRequest", diff --git a/sdk/communication/communication-chat/src/generated/src/models/parameters.ts b/sdk/communication/communication-chat/src/generated/src/models/parameters.ts index da8ebf7e70ee..291e613d80d3 100644 --- a/sdk/communication/communication-chat/src/generated/src/models/parameters.ts +++ b/sdk/communication/communication-chat/src/generated/src/models/parameters.ts @@ -10,7 +10,7 @@ import { OperationParameter, OperationURLParameter, OperationQueryParameter -} from "@azure/core-http"; +} from "@azure/core-client"; import { SendReadReceiptRequest as SendReadReceiptRequestMapper, SendChatMessageRequest as SendChatMessageRequestMapper, @@ -80,7 +80,7 @@ export const skip: OperationQueryParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-04-05-preview6", + defaultValue: "2021-09-07", isConstant: true, serializedName: "api-version", type: { diff --git a/sdk/communication/communication-chat/src/generated/src/operations/chat.ts b/sdk/communication/communication-chat/src/generated/src/operations/chat.ts index eca8a071ce3e..bc012ce80f74 100644 --- a/sdk/communication/communication-chat/src/generated/src/operations/chat.ts +++ b/sdk/communication/communication-chat/src/generated/src/operations/chat.ts @@ -6,29 +6,31 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import { Chat } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { ChatApiClient } from "../chatApiClient"; +import { ChatApiClientContext } from "../chatApiClientContext"; import { CreateChatThreadRequest, ChatCreateChatThreadOptionalParams, ChatCreateChatThreadResponse, ChatListChatThreadsOptionalParams, ChatListChatThreadsResponse, + ChatDeleteChatThreadOptionalParams, ChatListChatThreadsNextOptionalParams, ChatListChatThreadsNextResponse } from "../models"; -/** Class representing a Chat. */ -export class Chat { - private readonly client: ChatApiClient; +/** Class containing Chat operations. */ +export class ChatImpl implements Chat { + private readonly client: ChatApiClientContext; /** * Initialize a new instance of the class Chat class. * @param client Reference to the service client */ - constructor(client: ChatApiClient) { + constructor(client: ChatApiClientContext) { this.client = client; } @@ -41,14 +43,10 @@ export class Chat { createChatThreadRequest: CreateChatThreadRequest, options?: ChatCreateChatThreadOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - createChatThreadRequest, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { createChatThreadRequest, options }, createChatThreadOperationSpec - ) as Promise; + ); } /** @@ -58,13 +56,10 @@ export class Chat { listChatThreads( options?: ChatListChatThreadsOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { options }, listChatThreadsOperationSpec - ) as Promise; + ); } /** @@ -74,16 +69,12 @@ export class Chat { */ deleteChatThread( chatThreadId: string, - options?: coreHttp.OperationOptions - ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; + options?: ChatDeleteChatThreadOptionalParams + ): Promise { return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, options }, deleteChatThreadOperationSpec - ) as Promise; + ); } /** @@ -95,20 +86,16 @@ export class Chat { nextLink: string, options?: ChatListChatThreadsNextOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { nextLink, options }, listChatThreadsNextOperationSpec - ) as Promise; + ); } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const createChatThreadOperationSpec: coreHttp.OperationSpec = { +const createChatThreadOperationSpec: coreClient.OperationSpec = { path: "/chat/threads", httpMethod: "POST", responses: { @@ -143,7 +130,7 @@ const createChatThreadOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const listChatThreadsOperationSpec: coreHttp.OperationSpec = { +const listChatThreadsOperationSpec: coreClient.OperationSpec = { path: "/chat/threads", httpMethod: "GET", responses: { @@ -176,7 +163,7 @@ const listChatThreadsOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const deleteChatThreadOperationSpec: coreHttp.OperationSpec = { +const deleteChatThreadOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}", httpMethod: "DELETE", responses: { @@ -203,7 +190,7 @@ const deleteChatThreadOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const listChatThreadsNextOperationSpec: coreHttp.OperationSpec = { +const listChatThreadsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { diff --git a/sdk/communication/communication-chat/src/generated/src/operations/chatThread.ts b/sdk/communication/communication-chat/src/generated/src/operations/chatThread.ts index e548b19102ac..f15ac568725e 100644 --- a/sdk/communication/communication-chat/src/generated/src/operations/chatThread.ts +++ b/sdk/communication/communication-chat/src/generated/src/operations/chatThread.ts @@ -6,26 +6,36 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import { ChatThread } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { ChatApiClient } from "../chatApiClient"; +import { ChatApiClientContext } from "../chatApiClientContext"; import { ChatThreadListChatReadReceiptsOptionalParams, ChatThreadListChatReadReceiptsResponse, SendReadReceiptRequest, + ChatThreadSendChatReadReceiptOptionalParams, SendChatMessageRequest, + ChatThreadSendChatMessageOptionalParams, ChatThreadSendChatMessageResponse, ChatThreadListChatMessagesOptionalParams, ChatThreadListChatMessagesResponse, + ChatThreadGetChatMessageOptionalParams, ChatThreadGetChatMessageResponse, UpdateChatMessageRequest, + ChatThreadUpdateChatMessageOptionalParams, + ChatThreadDeleteChatMessageOptionalParams, ChatThreadListChatParticipantsOptionalParams, ChatThreadListChatParticipantsResponse, CommunicationIdentifierModel, + ChatThreadRemoveChatParticipantOptionalParams, AddChatParticipantsRequest, + ChatThreadAddChatParticipantsOptionalParams, ChatThreadAddChatParticipantsResponse, UpdateChatThreadRequest, + ChatThreadUpdateChatThreadPropertiesOptionalParams, + ChatThreadGetChatThreadPropertiesOptionalParams, ChatThreadGetChatThreadPropertiesResponse, ChatThreadSendTypingNotificationOptionalParams, ChatThreadListChatReadReceiptsNextOptionalParams, @@ -36,15 +46,15 @@ import { ChatThreadListChatParticipantsNextResponse } from "../models"; -/** Class representing a ChatThread. */ -export class ChatThread { - private readonly client: ChatApiClient; +/** Class containing ChatThread operations. */ +export class ChatThreadImpl implements ChatThread { + private readonly client: ChatApiClientContext; /** * Initialize a new instance of the class ChatThread class. * @param client Reference to the service client */ - constructor(client: ChatApiClient) { + constructor(client: ChatApiClientContext) { this.client = client; } @@ -57,14 +67,10 @@ export class ChatThread { chatThreadId: string, options?: ChatThreadListChatReadReceiptsOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, options }, listChatReadReceiptsOperationSpec - ) as Promise; + ); } /** @@ -76,17 +82,12 @@ export class ChatThread { sendChatReadReceipt( chatThreadId: string, sendReadReceiptRequest: SendReadReceiptRequest, - options?: coreHttp.OperationOptions - ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - sendReadReceiptRequest, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; + options?: ChatThreadSendChatReadReceiptOptionalParams + ): Promise { return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, sendReadReceiptRequest, options }, sendChatReadReceiptOperationSpec - ) as Promise; + ); } /** @@ -98,17 +99,12 @@ export class ChatThread { sendChatMessage( chatThreadId: string, sendChatMessageRequest: SendChatMessageRequest, - options?: coreHttp.OperationOptions + options?: ChatThreadSendChatMessageOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - sendChatMessageRequest, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, sendChatMessageRequest, options }, sendChatMessageOperationSpec - ) as Promise; + ); } /** @@ -120,14 +116,10 @@ export class ChatThread { chatThreadId: string, options?: ChatThreadListChatMessagesOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, options }, listChatMessagesOperationSpec - ) as Promise; + ); } /** @@ -139,17 +131,12 @@ export class ChatThread { getChatMessage( chatThreadId: string, chatMessageId: string, - options?: coreHttp.OperationOptions + options?: ChatThreadGetChatMessageOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - chatMessageId, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, chatMessageId, options }, getChatMessageOperationSpec - ) as Promise; + ); } /** @@ -163,18 +150,12 @@ export class ChatThread { chatThreadId: string, chatMessageId: string, updateChatMessageRequest: UpdateChatMessageRequest, - options?: coreHttp.OperationOptions - ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - chatMessageId, - updateChatMessageRequest, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; + options?: ChatThreadUpdateChatMessageOptionalParams + ): Promise { return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, chatMessageId, updateChatMessageRequest, options }, updateChatMessageOperationSpec - ) as Promise; + ); } /** @@ -186,17 +167,12 @@ export class ChatThread { deleteChatMessage( chatThreadId: string, chatMessageId: string, - options?: coreHttp.OperationOptions - ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - chatMessageId, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; + options?: ChatThreadDeleteChatMessageOptionalParams + ): Promise { return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, chatMessageId, options }, deleteChatMessageOperationSpec - ) as Promise; + ); } /** @@ -208,14 +184,10 @@ export class ChatThread { chatThreadId: string, options?: ChatThreadListChatParticipantsOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, options }, listChatParticipantsOperationSpec - ) as Promise; + ); } /** @@ -227,17 +199,12 @@ export class ChatThread { removeChatParticipant( chatThreadId: string, participantCommunicationIdentifier: CommunicationIdentifierModel, - options?: coreHttp.OperationOptions - ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - participantCommunicationIdentifier, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; + options?: ChatThreadRemoveChatParticipantOptionalParams + ): Promise { return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, participantCommunicationIdentifier, options }, removeChatParticipantOperationSpec - ) as Promise; + ); } /** @@ -249,17 +216,12 @@ export class ChatThread { addChatParticipants( chatThreadId: string, addChatParticipantsRequest: AddChatParticipantsRequest, - options?: coreHttp.OperationOptions + options?: ChatThreadAddChatParticipantsOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - addChatParticipantsRequest, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, addChatParticipantsRequest, options }, addChatParticipantsOperationSpec - ) as Promise; + ); } /** @@ -271,17 +233,12 @@ export class ChatThread { updateChatThreadProperties( chatThreadId: string, updateChatThreadRequest: UpdateChatThreadRequest, - options?: coreHttp.OperationOptions - ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - updateChatThreadRequest, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; + options?: ChatThreadUpdateChatThreadPropertiesOptionalParams + ): Promise { return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, updateChatThreadRequest, options }, updateChatThreadPropertiesOperationSpec - ) as Promise; + ); } /** @@ -291,16 +248,12 @@ export class ChatThread { */ getChatThreadProperties( chatThreadId: string, - options?: coreHttp.OperationOptions + options?: ChatThreadGetChatThreadPropertiesOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, options }, getChatThreadPropertiesOperationSpec - ) as Promise; + ); } /** @@ -311,15 +264,11 @@ export class ChatThread { sendTypingNotification( chatThreadId: string, options?: ChatThreadSendTypingNotificationOptionalParams - ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; + ): Promise { return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, options }, sendTypingNotificationOperationSpec - ) as Promise; + ); } /** @@ -333,15 +282,10 @@ export class ChatThread { nextLink: string, options?: ChatThreadListChatReadReceiptsNextOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, nextLink, options }, listChatReadReceiptsNextOperationSpec - ) as Promise; + ); } /** @@ -355,15 +299,10 @@ export class ChatThread { nextLink: string, options?: ChatThreadListChatMessagesNextOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, nextLink, options }, listChatMessagesNextOperationSpec - ) as Promise; + ); } /** @@ -377,21 +316,16 @@ export class ChatThread { nextLink: string, options?: ChatThreadListChatParticipantsNextOptionalParams ): Promise { - const operationArguments: coreHttp.OperationArguments = { - chatThreadId, - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(options || {}) - }; return this.client.sendOperationRequest( - operationArguments, + { chatThreadId, nextLink, options }, listChatParticipantsNextOperationSpec - ) as Promise; + ); } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const listChatReadReceiptsOperationSpec: coreHttp.OperationSpec = { +const listChatReadReceiptsOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/readReceipts", httpMethod: "GET", responses: { @@ -424,7 +358,7 @@ const listChatReadReceiptsOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const sendChatReadReceiptOperationSpec: coreHttp.OperationSpec = { +const sendChatReadReceiptOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/readReceipts", httpMethod: "POST", responses: { @@ -453,7 +387,7 @@ const sendChatReadReceiptOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const sendChatMessageOperationSpec: coreHttp.OperationSpec = { +const sendChatMessageOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/messages", httpMethod: "POST", responses: { @@ -484,7 +418,7 @@ const sendChatMessageOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const listChatMessagesOperationSpec: coreHttp.OperationSpec = { +const listChatMessagesOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/messages", httpMethod: "GET", responses: { @@ -517,7 +451,7 @@ const listChatMessagesOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const getChatMessageOperationSpec: coreHttp.OperationSpec = { +const getChatMessageOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/messages/{chatMessageId}", httpMethod: "GET", responses: { @@ -550,7 +484,7 @@ const getChatMessageOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const updateChatMessageOperationSpec: coreHttp.OperationSpec = { +const updateChatMessageOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/messages/{chatMessageId}", httpMethod: "PATCH", responses: { @@ -583,7 +517,7 @@ const updateChatMessageOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const deleteChatMessageOperationSpec: coreHttp.OperationSpec = { +const deleteChatMessageOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/messages/{chatMessageId}", httpMethod: "DELETE", responses: { @@ -614,7 +548,7 @@ const deleteChatMessageOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const listChatParticipantsOperationSpec: coreHttp.OperationSpec = { +const listChatParticipantsOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/participants", httpMethod: "GET", responses: { @@ -647,7 +581,7 @@ const listChatParticipantsOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const removeChatParticipantOperationSpec: coreHttp.OperationSpec = { +const removeChatParticipantOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/participants/:remove", httpMethod: "POST", responses: { @@ -676,7 +610,7 @@ const removeChatParticipantOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const addChatParticipantsOperationSpec: coreHttp.OperationSpec = { +const addChatParticipantsOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/participants/:add", httpMethod: "POST", responses: { @@ -707,7 +641,7 @@ const addChatParticipantsOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const updateChatThreadPropertiesOperationSpec: coreHttp.OperationSpec = { +const updateChatThreadPropertiesOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}", httpMethod: "PATCH", responses: { @@ -736,7 +670,7 @@ const updateChatThreadPropertiesOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const getChatThreadPropertiesOperationSpec: coreHttp.OperationSpec = { +const getChatThreadPropertiesOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}", httpMethod: "GET", responses: { @@ -765,7 +699,7 @@ const getChatThreadPropertiesOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const sendTypingNotificationOperationSpec: coreHttp.OperationSpec = { +const sendTypingNotificationOperationSpec: coreClient.OperationSpec = { path: "/chat/threads/{chatThreadId}/typing", httpMethod: "POST", responses: { @@ -794,7 +728,7 @@ const sendTypingNotificationOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const listChatReadReceiptsNextOperationSpec: coreHttp.OperationSpec = { +const listChatReadReceiptsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { @@ -831,7 +765,7 @@ const listChatReadReceiptsNextOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const listChatMessagesNextOperationSpec: coreHttp.OperationSpec = { +const listChatMessagesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { @@ -868,7 +802,7 @@ const listChatMessagesNextOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const listChatParticipantsNextOperationSpec: coreHttp.OperationSpec = { +const listChatParticipantsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { diff --git a/sdk/communication/communication-chat/src/generated/src/operationsInterfaces/chat.ts b/sdk/communication/communication-chat/src/generated/src/operationsInterfaces/chat.ts new file mode 100644 index 000000000000..9e8bdddf68da --- /dev/null +++ b/sdk/communication/communication-chat/src/generated/src/operationsInterfaces/chat.ts @@ -0,0 +1,56 @@ +/* + * 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 { + CreateChatThreadRequest, + ChatCreateChatThreadOptionalParams, + ChatCreateChatThreadResponse, + ChatListChatThreadsOptionalParams, + ChatListChatThreadsResponse, + ChatDeleteChatThreadOptionalParams, + ChatListChatThreadsNextOptionalParams, + ChatListChatThreadsNextResponse +} from "../models"; + +/** Interface representing a Chat. */ +export interface Chat { + /** + * Creates a chat thread. + * @param createChatThreadRequest Request payload for creating a chat thread. + * @param options The options parameters. + */ + createChatThread( + createChatThreadRequest: CreateChatThreadRequest, + options?: ChatCreateChatThreadOptionalParams + ): Promise; + /** + * Gets the list of chat threads of a user. + * @param options The options parameters. + */ + listChatThreads( + options?: ChatListChatThreadsOptionalParams + ): Promise; + /** + * Deletes a thread. + * @param chatThreadId Id of the thread to be deleted. + * @param options The options parameters. + */ + deleteChatThread( + chatThreadId: string, + options?: ChatDeleteChatThreadOptionalParams + ): Promise; + /** + * ListChatThreadsNext + * @param nextLink The nextLink from the previous successful call to the ListChatThreads method. + * @param options The options parameters. + */ + listChatThreadsNext( + nextLink: string, + options?: ChatListChatThreadsNextOptionalParams + ): Promise; +} diff --git a/sdk/communication/communication-chat/src/generated/src/operationsInterfaces/chatThread.ts b/sdk/communication/communication-chat/src/generated/src/operationsInterfaces/chatThread.ts new file mode 100644 index 000000000000..2b92996889ac --- /dev/null +++ b/sdk/communication/communication-chat/src/generated/src/operationsInterfaces/chatThread.ts @@ -0,0 +1,214 @@ +/* + * 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 { + ChatThreadListChatReadReceiptsOptionalParams, + ChatThreadListChatReadReceiptsResponse, + SendReadReceiptRequest, + ChatThreadSendChatReadReceiptOptionalParams, + SendChatMessageRequest, + ChatThreadSendChatMessageOptionalParams, + ChatThreadSendChatMessageResponse, + ChatThreadListChatMessagesOptionalParams, + ChatThreadListChatMessagesResponse, + ChatThreadGetChatMessageOptionalParams, + ChatThreadGetChatMessageResponse, + UpdateChatMessageRequest, + ChatThreadUpdateChatMessageOptionalParams, + ChatThreadDeleteChatMessageOptionalParams, + ChatThreadListChatParticipantsOptionalParams, + ChatThreadListChatParticipantsResponse, + CommunicationIdentifierModel, + ChatThreadRemoveChatParticipantOptionalParams, + AddChatParticipantsRequest, + ChatThreadAddChatParticipantsOptionalParams, + ChatThreadAddChatParticipantsResponse, + UpdateChatThreadRequest, + ChatThreadUpdateChatThreadPropertiesOptionalParams, + ChatThreadGetChatThreadPropertiesOptionalParams, + ChatThreadGetChatThreadPropertiesResponse, + ChatThreadSendTypingNotificationOptionalParams, + ChatThreadListChatReadReceiptsNextOptionalParams, + ChatThreadListChatReadReceiptsNextResponse, + ChatThreadListChatMessagesNextOptionalParams, + ChatThreadListChatMessagesNextResponse, + ChatThreadListChatParticipantsNextOptionalParams, + ChatThreadListChatParticipantsNextResponse +} from "../models"; + +/** Interface representing a ChatThread. */ +export interface ChatThread { + /** + * Gets chat message read receipts for a thread. + * @param chatThreadId Thread id to get the chat message read receipts for. + * @param options The options parameters. + */ + listChatReadReceipts( + chatThreadId: string, + options?: ChatThreadListChatReadReceiptsOptionalParams + ): Promise; + /** + * Sends a read receipt event to a thread, on behalf of a user. + * @param chatThreadId Thread id to send the read receipt event to. + * @param sendReadReceiptRequest Read receipt details. + * @param options The options parameters. + */ + sendChatReadReceipt( + chatThreadId: string, + sendReadReceiptRequest: SendReadReceiptRequest, + options?: ChatThreadSendChatReadReceiptOptionalParams + ): Promise; + /** + * Sends a message to a thread. + * @param chatThreadId The thread id to send the message to. + * @param sendChatMessageRequest Details of the message to send. + * @param options The options parameters. + */ + sendChatMessage( + chatThreadId: string, + sendChatMessageRequest: SendChatMessageRequest, + options?: ChatThreadSendChatMessageOptionalParams + ): Promise; + /** + * Gets a list of messages from a thread. + * @param chatThreadId The thread id of the message. + * @param options The options parameters. + */ + listChatMessages( + chatThreadId: string, + options?: ChatThreadListChatMessagesOptionalParams + ): Promise; + /** + * Gets a message by id. + * @param chatThreadId The thread id to which the message was sent. + * @param chatMessageId The message id. + * @param options The options parameters. + */ + getChatMessage( + chatThreadId: string, + chatMessageId: string, + options?: ChatThreadGetChatMessageOptionalParams + ): Promise; + /** + * Updates a message. + * @param chatThreadId The thread id to which the message was sent. + * @param chatMessageId The message id. + * @param updateChatMessageRequest Details of the request to update the message. + * @param options The options parameters. + */ + updateChatMessage( + chatThreadId: string, + chatMessageId: string, + updateChatMessageRequest: UpdateChatMessageRequest, + options?: ChatThreadUpdateChatMessageOptionalParams + ): Promise; + /** + * Deletes a message. + * @param chatThreadId The thread id to which the message was sent. + * @param chatMessageId The message id. + * @param options The options parameters. + */ + deleteChatMessage( + chatThreadId: string, + chatMessageId: string, + options?: ChatThreadDeleteChatMessageOptionalParams + ): Promise; + /** + * Gets the participants of a thread. + * @param chatThreadId Thread id to get participants for. + * @param options The options parameters. + */ + listChatParticipants( + chatThreadId: string, + options?: ChatThreadListChatParticipantsOptionalParams + ): Promise; + /** + * Remove a participant from a thread. + * @param chatThreadId Thread id to remove the participant from. + * @param participantCommunicationIdentifier Id of the thread participant to remove from the thread. + * @param options The options parameters. + */ + removeChatParticipant( + chatThreadId: string, + participantCommunicationIdentifier: CommunicationIdentifierModel, + options?: ChatThreadRemoveChatParticipantOptionalParams + ): Promise; + /** + * Adds thread participants to a thread. If participants already exist, no change occurs. + * @param chatThreadId Id of the thread to add participants to. + * @param addChatParticipantsRequest Thread participants to be added to the thread. + * @param options The options parameters. + */ + addChatParticipants( + chatThreadId: string, + addChatParticipantsRequest: AddChatParticipantsRequest, + options?: ChatThreadAddChatParticipantsOptionalParams + ): Promise; + /** + * Updates a thread's properties. + * @param chatThreadId The id of the thread to update. + * @param updateChatThreadRequest Request payload for updating a chat thread. + * @param options The options parameters. + */ + updateChatThreadProperties( + chatThreadId: string, + updateChatThreadRequest: UpdateChatThreadRequest, + options?: ChatThreadUpdateChatThreadPropertiesOptionalParams + ): Promise; + /** + * Gets a chat thread's properties. + * @param chatThreadId Id of the thread. + * @param options The options parameters. + */ + getChatThreadProperties( + chatThreadId: string, + options?: ChatThreadGetChatThreadPropertiesOptionalParams + ): Promise; + /** + * Posts a typing event to a thread, on behalf of a user. + * @param chatThreadId Id of the thread. + * @param options The options parameters. + */ + sendTypingNotification( + chatThreadId: string, + options?: ChatThreadSendTypingNotificationOptionalParams + ): Promise; + /** + * ListChatReadReceiptsNext + * @param chatThreadId Thread id to get the chat message read receipts for. + * @param nextLink The nextLink from the previous successful call to the ListChatReadReceipts method. + * @param options The options parameters. + */ + listChatReadReceiptsNext( + chatThreadId: string, + nextLink: string, + options?: ChatThreadListChatReadReceiptsNextOptionalParams + ): Promise; + /** + * ListChatMessagesNext + * @param chatThreadId The thread id of the message. + * @param nextLink The nextLink from the previous successful call to the ListChatMessages method. + * @param options The options parameters. + */ + listChatMessagesNext( + chatThreadId: string, + nextLink: string, + options?: ChatThreadListChatMessagesNextOptionalParams + ): Promise; + /** + * ListChatParticipantsNext + * @param chatThreadId Thread id to get participants for. + * @param nextLink The nextLink from the previous successful call to the ListChatParticipants method. + * @param options The options parameters. + */ + listChatParticipantsNext( + chatThreadId: string, + nextLink: string, + options?: ChatThreadListChatParticipantsNextOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/lro/constants.ts b/sdk/communication/communication-chat/src/generated/src/operationsInterfaces/index.ts similarity index 74% rename from sdk/synapse/synapse-artifacts/src/lro/constants.ts rename to sdk/communication/communication-chat/src/generated/src/operationsInterfaces/index.ts index fa0ee2d9942c..504f4a5f4ea3 100644 --- a/sdk/synapse/synapse-artifacts/src/lro/constants.ts +++ b/sdk/communication/communication-chat/src/generated/src/operationsInterfaces/index.ts @@ -6,4 +6,5 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export const terminalStates = ["succeeded", "failed", "canceled", "cancelled"]; +export * from "./chatThread"; +export * from "./chat"; diff --git a/sdk/communication/communication-chat/src/models/options.ts b/sdk/communication/communication-chat/src/models/options.ts index 09a711a703fd..e61e19583448 100644 --- a/sdk/communication/communication-chat/src/models/options.ts +++ b/sdk/communication/communication-chat/src/models/options.ts @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { PipelineOptions, OperationOptions } from "@azure/core-http"; +import { CommonClientOptions, OperationOptions } from "@azure/core-client"; import { ChatThreadListChatMessagesOptionalParams as RestListMessagesOptions, ChatListChatThreadsOptionalParams as RestListChatThreadsOptions, @@ -20,7 +20,7 @@ export { /** * Options to create chat client. */ -export interface ChatClientOptions extends PipelineOptions {} +export interface ChatClientOptions extends CommonClientOptions {} /** * Options to create chat thread client. diff --git a/sdk/communication/communication-chat/src/models/uuid.ts b/sdk/communication/communication-chat/src/models/uuid.ts new file mode 100644 index 000000000000..1ea3af6f248d --- /dev/null +++ b/sdk/communication/communication-chat/src/models/uuid.ts @@ -0,0 +1,14 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { v4 as uuidv4 } from "uuid"; + +/** + * Generated Universally Unique Identifier + * + * @returns RFC4122 v4 UUID. + * @internal + */ +export function generateUuid(): string { + return uuidv4(); +} diff --git a/sdk/communication/communication-chat/swagger/README.md b/sdk/communication/communication-chat/swagger/README.md index 12cf1bbd1f11..b178c8f7e57e 100644 --- a/sdk/communication/communication-chat/swagger/README.md +++ b/sdk/communication/communication-chat/swagger/README.md @@ -11,17 +11,15 @@ description: Chat Client generate-metadata: false license-header: MICROSOFT_MIT_NO_VERSION output-folder: ../src/generated -tag: package-chat-2021-04-05-preview6 -require: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/29e0c9624a8e60138127457f2e863bb4a9ba1419/specification/communication/data-plane/Chat/readme.md +tag: package-chat-2021-09-07 +require: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/communication/data-plane/Chat/readme.md model-date-time-as-string: false optional-response-headers: true -use-extension: - "@autorest/typescript": "6.0.0-dev.20210114.1" - "@autorest/modelerfour": "4.15.442" +typescript: true azure-arm: false add-credentials: false disable-async-iterators: true -package-version: 1.1.0-beta.1 +package-version: 1.1.0 ``` ### Rename CommunicationError to ChatError diff --git a/sdk/communication/communication-chat/test/internal/chatClient.mocked.spec.ts b/sdk/communication/communication-chat/test/internal/chatClient.mocked.spec.ts index 939880cb0603..852906938a7d 100644 --- a/sdk/communication/communication-chat/test/internal/chatClient.mocked.spec.ts +++ b/sdk/communication/communication-chat/test/internal/chatClient.mocked.spec.ts @@ -59,7 +59,7 @@ describe("[Mocked] ChatClient", async () => { assert.equal(request.url, `${baseUri}/chat/threads?api-version=${API_VERSION}`); assert.equal(request.method, "POST"); - assert.deepEqual(JSON.parse(request.body), sendRequest); + assert.deepEqual(JSON.parse(request.body as string), sendRequest); assert.isNotEmpty(request.headers.get("repeatability-request-id")); }); diff --git a/sdk/communication/communication-chat/test/internal/chatThreadClient.mocked.spec.ts b/sdk/communication/communication-chat/test/internal/chatThreadClient.mocked.spec.ts index f69555a61893..780aaf12da1e 100644 --- a/sdk/communication/communication-chat/test/internal/chatThreadClient.mocked.spec.ts +++ b/sdk/communication/communication-chat/test/internal/chatThreadClient.mocked.spec.ts @@ -82,7 +82,7 @@ describe("[Mocked] ChatThreadClient", async () => { const request = spy.getCall(0).args[0]; assert.equal(request.url, `${baseUri}/chat/threads/${threadId}?api-version=${API_VERSION}`); assert.equal(request.method, "PATCH"); - assert.deepEqual(JSON.parse(request.body), { topic: topic }); + assert.deepEqual(JSON.parse(request.body as string), { topic: topic }); }); it("makes successful send message request", async () => { @@ -113,7 +113,7 @@ describe("[Mocked] ChatThreadClient", async () => { `${baseUri}/chat/threads/${threadId}/messages?api-version=${API_VERSION}` ); assert.equal(request.method, "POST"); - assert.deepEqual(JSON.parse(request.body), { + assert.deepEqual(JSON.parse(request.body as string), { ...sendRequest, ...sendOptions }); @@ -224,7 +224,7 @@ describe("[Mocked] ChatThreadClient", async () => { `${baseUri}/chat/threads/${threadId}/messages/${mockMessage.id}?api-version=${API_VERSION}` ); assert.equal(request.method, "PATCH"); - assert.deepEqual(JSON.parse(request.body), { + assert.deepEqual(JSON.parse(request.body as string), { content: mockMessage.content?.message, metadata: mockMessage.metadata }); @@ -265,7 +265,7 @@ describe("[Mocked] ChatThreadClient", async () => { `${baseUri}/chat/threads/${threadId}/participants/:add?api-version=${API_VERSION}` ); assert.equal(request.method, "POST"); - const requestJson = JSON.parse(request.body); + const requestJson = JSON.parse(request.body as string); assert.equal( (sendRequest.participants[0].id as CommunicationUserIdentifier).communicationUserId, requestJson.participants[0].communicationIdentifier.communicationUser.id @@ -323,7 +323,7 @@ describe("[Mocked] ChatThreadClient", async () => { `${baseUri}/chat/threads/${threadId}/participants/:remove?api-version=${API_VERSION}` ); assert.equal(request.method, "POST"); - const requestJson = JSON.parse(request.body); + const requestJson = JSON.parse(request.body as string); assert.deepEqual(mockParticipant.communicationIdentifier, requestJson); }); @@ -360,7 +360,7 @@ describe("[Mocked] ChatThreadClient", async () => { `${baseUri}/chat/threads/${threadId}/typing?api-version=${API_VERSION}` ); assert.equal(request.method, "POST"); - assert.deepEqual(JSON.parse(request.body), options); + assert.deepEqual(JSON.parse(request.body as string), options); }); it("makes successful sent read receipt request", async () => { diff --git a/sdk/communication/communication-chat/test/internal/utils/mockClient.ts b/sdk/communication/communication-chat/test/internal/utils/mockClient.ts index 7bb25152a443..56b6e93fa1ef 100644 --- a/sdk/communication/communication-chat/test/internal/utils/mockClient.ts +++ b/sdk/communication/communication-chat/test/internal/utils/mockClient.ts @@ -2,7 +2,12 @@ // Licensed under the MIT license. import { AzureCommunicationTokenCredential } from "@azure/communication-common"; -import { HttpClient, HttpHeaders, WebResourceLike, HttpOperationResponse } from "@azure/core-http"; +import { + createHttpHeaders, + HttpClient, + PipelineRequest, + PipelineResponse +} from "@azure/core-rest-pipeline"; import * as RestModel from "../../../src/generated/src/models"; import { ChatClient, ChatParticipant, ChatThreadClient } from "../../../src"; import { CommunicationIdentifierModel } from "../../../src/generated/src"; @@ -68,12 +73,12 @@ export const mockChatMessageReadReceipt: RestModel.ChatMessageReadReceipt = { export const generateHttpClient = (status: number, parsedBody?: unknown): HttpClient => { const mockHttpClient: HttpClient = { - async sendRequest(httpRequest: WebResourceLike): Promise { + async sendRequest(httpRequest: PipelineRequest): Promise { return { status: status, - headers: new HttpHeaders(), + headers: createHttpHeaders(), request: httpRequest, - parsedBody: parsedBody + bodyAsText: JSON.stringify(parsedBody) }; } }; diff --git a/sdk/communication/communication-chat/test/public/chatClient.spec.ts b/sdk/communication/communication-chat/test/public/chatClient.spec.ts index 45c4b9957665..fdeaa18b4398 100644 --- a/sdk/communication/communication-chat/test/public/chatClient.spec.ts +++ b/sdk/communication/communication-chat/test/public/chatClient.spec.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { isLiveMode, Recorder } from "@azure/test-utils-recorder"; +import { isLiveMode, Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { ChatClient, ChatThreadClient } from "../../src"; import { createTestUser, createRecorder, createChatClient } from "./utils/recordedClient"; -import { isNode } from "@azure/core-http"; +import { isNode } from "@azure/core-util"; import sinon from "sinon"; import { CommunicationIdentifier } from "@azure/communication-common"; import { Context } from "mocha"; diff --git a/sdk/communication/communication-chat/test/public/chatThreadClient.spec.ts b/sdk/communication/communication-chat/test/public/chatThreadClient.spec.ts index a3351a950583..0799c8074cae 100644 --- a/sdk/communication/communication-chat/test/public/chatThreadClient.spec.ts +++ b/sdk/communication/communication-chat/test/public/chatThreadClient.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { ChatClient, ChatThreadClient } from "../../src"; import { createTestUser, createRecorder, createChatClient } from "./utils/recordedClient"; diff --git a/sdk/communication/communication-chat/test/public/utils/connectionUtils.ts b/sdk/communication/communication-chat/test/public/utils/connectionUtils.ts index bbe8a18247b6..829a6230cfdb 100644 --- a/sdk/communication/communication-chat/test/public/utils/connectionUtils.ts +++ b/sdk/communication/communication-chat/test/public/utils/connectionUtils.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { isNode } from "@azure/core-http"; +import { isNode } from "@azure/core-util"; -export const baseUri = "https://contoso.api.fake:443"; +export const baseUri = "https://contoso.api.fake"; declare function btoa(stringToEncode: string): string; diff --git a/sdk/communication/communication-chat/test/public/utils/recordedClient.ts b/sdk/communication/communication-chat/test/public/utils/recordedClient.ts index 60dbf6ba4e1b..d9a87678f4f8 100644 --- a/sdk/communication/communication-chat/test/public/utils/recordedClient.ts +++ b/sdk/communication/communication-chat/test/public/utils/recordedClient.ts @@ -4,14 +4,8 @@ import { Context } from "mocha"; import * as dotenv from "dotenv"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; -import { - DefaultHttpClient, - HttpClient, - HttpOperationResponse, - isNode, - WebResourceLike -} from "@azure/core-http"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; +import { isNode } from "@azure/core-util"; import { ChatClient } from "../../../src"; import { CommunicationUserIdentifier, @@ -71,28 +65,5 @@ export function createChatClient(userToken: string): ChatClient { } const { url } = parseClientArguments(env.COMMUNICATION_LIVETEST_DYNAMIC_CONNECTION_STRING); - return new ChatClient(url, new AzureCommunicationTokenCredential(userToken), { - httpClient: createTestHttpClient() - }); -} - -function createTestHttpClient(): HttpClient { - const customHttpClient = new DefaultHttpClient(); - - const originalSendRequest = customHttpClient.sendRequest; - customHttpClient.sendRequest = async function( - httpRequest: WebResourceLike - ): Promise { - const requestResponse = await originalSendRequest.apply(this, [httpRequest]); - - console.log( - `MS-CV header for request: ${httpRequest.url} (${ - requestResponse.status - } - ${requestResponse.headers.get("ms-cv")})` - ); - - return requestResponse; - }; - - return customHttpClient; + return new ChatClient(url, new AzureCommunicationTokenCredential(userToken)); } diff --git a/sdk/communication/communication-common/CHANGELOG.md b/sdk/communication/communication-common/CHANGELOG.md index 759fa3581db1..6225d3619b33 100644 --- a/sdk/communication/communication-common/CHANGELOG.md +++ b/sdk/communication/communication-common/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 1.1.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 1.1.0 (2021-07-22) ### Features Added diff --git a/sdk/communication/communication-common/package.json b/sdk/communication/communication-common/package.json index 6e20ac70f2fb..59d9040fb470 100644 --- a/sdk/communication/communication-common/package.json +++ b/sdk/communication/communication-common/package.json @@ -1,6 +1,6 @@ { "name": "@azure/communication-common", - "version": "1.1.0", + "version": "1.1.1", "description": "Common package for Azure Communication services.", "sdk-type": "client", "main": "dist/index.js", @@ -15,7 +15,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Skipped.", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "execute:samples": "echo skipped", @@ -27,7 +27,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", diff --git a/sdk/communication/communication-identity/karma.conf.js b/sdk/communication/communication-identity/karma.conf.js index d2b72eff3ab0..8da8be214231 100644 --- a/sdk/communication/communication-identity/karma.conf.js +++ b/sdk/communication/communication-identity/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/communication/communication-identity/package.json b/sdk/communication/communication-identity/package.json index 93b62edcb10a..efa5323d1cb8 100644 --- a/sdk/communication/communication-identity/package.json +++ b/sdk/communication/communication-identity/package.json @@ -8,7 +8,7 @@ "types": "types/communication-identity.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:autorest": "autorest --typescript --version=3.0.6267 --v3 ./swagger/README.md && rushx format", "build:clean": "rush update --recheck && rush rebuild && npm run build", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", @@ -28,7 +28,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test": "npm run build:test && npm run unit-test && npm run integration-test", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", @@ -88,8 +87,8 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure-tools/test-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", diff --git a/sdk/communication/communication-identity/test/public/communicationIdentityClient.spec.ts b/sdk/communication/communication-identity/test/public/communicationIdentityClient.spec.ts index 7c61fe992509..9301f16d1e89 100644 --- a/sdk/communication/communication-identity/test/public/communicationIdentityClient.spec.ts +++ b/sdk/communication/communication-identity/test/public/communicationIdentityClient.spec.ts @@ -7,7 +7,7 @@ import { } from "@azure/communication-common"; import { assert } from "chai"; import { matrix } from "@azure/test-utils"; -import { isPlaybackMode, Recorder } from "@azure/test-utils-recorder"; +import { isPlaybackMode, Recorder } from "@azure-tools/test-recorder"; import { CommunicationIdentityClient } from "../../src"; import { createRecordedCommunicationIdentityClient, diff --git a/sdk/communication/communication-identity/test/public/node/exchangeTeamsToken.node.spec.ts b/sdk/communication/communication-identity/test/public/node/exchangeTeamsToken.node.spec.ts index 4f61e008f099..4f92794f76c5 100644 --- a/sdk/communication/communication-identity/test/public/node/exchangeTeamsToken.node.spec.ts +++ b/sdk/communication/communication-identity/test/public/node/exchangeTeamsToken.node.spec.ts @@ -3,7 +3,7 @@ import { assert } from "chai"; import { matrix } from "@azure/test-utils"; -import { env, isPlaybackMode, Recorder } from "@azure/test-utils-recorder"; +import { env, isPlaybackMode, Recorder } from "@azure-tools/test-recorder"; import { UsernamePasswordCredential } from "@azure/identity"; import { CommunicationAccessToken, CommunicationIdentityClient } from "../../../src"; import { diff --git a/sdk/communication/communication-identity/test/public/utils/recordedClient.ts b/sdk/communication/communication-identity/test/public/utils/recordedClient.ts index f3a853d82ce6..03506cbf513c 100644 --- a/sdk/communication/communication-identity/test/public/utils/recordedClient.ts +++ b/sdk/communication/communication-identity/test/public/utils/recordedClient.ts @@ -10,7 +10,7 @@ import { record, RecorderEnvironmentSetup, isPlaybackMode -} from "@azure/test-utils-recorder"; +} from "@azure-tools/test-recorder"; import { DefaultHttpClient, HttpClient, diff --git a/sdk/communication/communication-network-traversal/CHANGELOG.md b/sdk/communication/communication-network-traversal/CHANGELOG.md index a94d2a719f5d..6b1abf9520ce 100644 --- a/sdk/communication/communication-network-traversal/CHANGELOG.md +++ b/sdk/communication/communication-network-traversal/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 1.0.0-beta.3 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 1.0.0-beta.2 (2021-07-22) ### Features Added diff --git a/sdk/communication/communication-network-traversal/karma.conf.js b/sdk/communication/communication-network-traversal/karma.conf.js index c11d9990e5e6..4cc8b056cb62 100644 --- a/sdk/communication/communication-network-traversal/karma.conf.js +++ b/sdk/communication/communication-network-traversal/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/communication/communication-network-traversal/package.json b/sdk/communication/communication-network-traversal/package.json index ad583aacc13d..3b90d44f3d3a 100644 --- a/sdk/communication/communication-network-traversal/package.json +++ b/sdk/communication/communication-network-traversal/package.json @@ -1,6 +1,6 @@ { "name": "@azure/communication-network-traversal", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "description": "SDK for Azure Communication service which facilitates user token administration.", "sdk-type": "client", "main": "dist/index.js", @@ -8,7 +8,7 @@ "types": "types/communication-network-traversal.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:autorest": "autorest --typescript --version=3.0.6267 --v3 ./swagger/README.md && rushx format", "build:clean": "rush update --recheck && rush rebuild && npm run build", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", @@ -28,7 +28,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test": "npm run build:test && npm run unit-test && npm run integration-test", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", @@ -86,9 +85,9 @@ "@azure/communication-identity": "^1.0.0", "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", diff --git a/sdk/communication/communication-network-traversal/test/public/communicationNetworkTraversalClient.spec.ts b/sdk/communication/communication-network-traversal/test/public/communicationNetworkTraversalClient.spec.ts index 8bc6ce45007d..956fb444fa06 100644 --- a/sdk/communication/communication-network-traversal/test/public/communicationNetworkTraversalClient.spec.ts +++ b/sdk/communication/communication-network-traversal/test/public/communicationNetworkTraversalClient.spec.ts @@ -3,7 +3,7 @@ import { CommunicationUserIdentifier } from "@azure/communication-common"; import { assert } from "chai"; -import { Recorder, env } from "@azure/test-utils-recorder"; +import { Recorder, env } from "@azure-tools/test-recorder"; import { CommunicationRelayClient } from "../../src"; import { CommunicationIdentityClient } from "@azure/communication-identity"; import { diff --git a/sdk/communication/communication-network-traversal/test/public/utils/recordedClient.ts b/sdk/communication/communication-network-traversal/test/public/utils/recordedClient.ts index a1f17d9ba0e2..b022246c342d 100644 --- a/sdk/communication/communication-network-traversal/test/public/utils/recordedClient.ts +++ b/sdk/communication/communication-network-traversal/test/public/utils/recordedClient.ts @@ -10,7 +10,7 @@ import { record, RecorderEnvironmentSetup, isPlaybackMode -} from "@azure/test-utils-recorder"; +} from "@azure-tools/test-recorder"; import { DefaultHttpClient, HttpClient, diff --git a/sdk/communication/communication-phone-numbers/karma.conf.js b/sdk/communication/communication-phone-numbers/karma.conf.js index cd4163f88149..325acb48b85a 100644 --- a/sdk/communication/communication-phone-numbers/karma.conf.js +++ b/sdk/communication/communication-phone-numbers/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/communication/communication-phone-numbers/package.json b/sdk/communication/communication-phone-numbers/package.json index 1e1816b8eca9..80e45292562b 100644 --- a/sdk/communication/communication-phone-numbers/package.json +++ b/sdk/communication/communication-phone-numbers/package.json @@ -8,7 +8,7 @@ "types": "types/communication-phone-numbers.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:autorest": "autorest --typescript --version=3.0.6267 --v3 ./swagger/README.md && rushx format", "build:clean": "rush update --recheck && rush rebuild && npm run build", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", @@ -26,7 +26,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test": "rimraf dist-test && npm run build:test && npm run unit-test && npm run integration-test", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", @@ -76,8 +75,8 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure-tools/test-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", diff --git a/sdk/communication/communication-phone-numbers/test/public/get.spec.ts b/sdk/communication/communication-phone-numbers/test/public/get.spec.ts index d1e770135138..1cda8daf7b25 100644 --- a/sdk/communication/communication-phone-numbers/test/public/get.spec.ts +++ b/sdk/communication/communication-phone-numbers/test/public/get.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { matrix } from "@azure/test-utils"; -import { Recorder, env, isPlaybackMode } from "@azure/test-utils-recorder"; +import { Recorder, env, isPlaybackMode } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { Context } from "mocha"; import { PhoneNumbersClient } from "../../src"; diff --git a/sdk/communication/communication-phone-numbers/test/public/list.spec.ts b/sdk/communication/communication-phone-numbers/test/public/list.spec.ts index 486258887b17..0de6ded54f44 100644 --- a/sdk/communication/communication-phone-numbers/test/public/list.spec.ts +++ b/sdk/communication/communication-phone-numbers/test/public/list.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { matrix } from "@azure/test-utils"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { Context } from "mocha"; import { PhoneNumbersClient } from "../../src"; diff --git a/sdk/communication/communication-phone-numbers/test/public/lro.purchaseAndRelease.spec.ts b/sdk/communication/communication-phone-numbers/test/public/lro.purchaseAndRelease.spec.ts index 3dcb9a410d92..8220ca0534cd 100644 --- a/sdk/communication/communication-phone-numbers/test/public/lro.purchaseAndRelease.spec.ts +++ b/sdk/communication/communication-phone-numbers/test/public/lro.purchaseAndRelease.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { matrix } from "@azure/test-utils"; -import { isPlaybackMode, Recorder, env } from "@azure/test-utils-recorder"; +import { isPlaybackMode, Recorder, env } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { Context } from "mocha"; import { PhoneNumbersClient, SearchAvailablePhoneNumbersRequest } from "../../src"; diff --git a/sdk/communication/communication-phone-numbers/test/public/lro.search.spec.ts b/sdk/communication/communication-phone-numbers/test/public/lro.search.spec.ts index 16bf01c7350c..f3f32357dc18 100644 --- a/sdk/communication/communication-phone-numbers/test/public/lro.search.spec.ts +++ b/sdk/communication/communication-phone-numbers/test/public/lro.search.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { matrix } from "@azure/test-utils"; -import { Recorder, env } from "@azure/test-utils-recorder"; +import { Recorder, env } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { Context } from "mocha"; import { PhoneNumbersClient, SearchAvailablePhoneNumbersRequest } from "../../src"; diff --git a/sdk/communication/communication-phone-numbers/test/public/lro.update.spec.ts b/sdk/communication/communication-phone-numbers/test/public/lro.update.spec.ts index 1ed933d7b68d..f6768d54b92f 100644 --- a/sdk/communication/communication-phone-numbers/test/public/lro.update.spec.ts +++ b/sdk/communication/communication-phone-numbers/test/public/lro.update.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { matrix } from "@azure/test-utils"; -import { Recorder, env, isPlaybackMode } from "@azure/test-utils-recorder"; +import { Recorder, env, isPlaybackMode } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { Context } from "mocha"; import { PhoneNumbersClient, PhoneNumberCapabilitiesRequest } from "../../src"; diff --git a/sdk/communication/communication-phone-numbers/test/public/utils/recordedClient.ts b/sdk/communication/communication-phone-numbers/test/public/utils/recordedClient.ts index c62f14db26fa..092c7299ca5f 100644 --- a/sdk/communication/communication-phone-numbers/test/public/utils/recordedClient.ts +++ b/sdk/communication/communication-phone-numbers/test/public/utils/recordedClient.ts @@ -10,7 +10,7 @@ import { record, RecorderEnvironmentSetup, isPlaybackMode -} from "@azure/test-utils-recorder"; +} from "@azure-tools/test-recorder"; import { DefaultHttpClient, HttpClient, diff --git a/sdk/communication/communication-sms/karma.conf.js b/sdk/communication/communication-sms/karma.conf.js index 90ae86149d08..44cc8e19c6b9 100644 --- a/sdk/communication/communication-sms/karma.conf.js +++ b/sdk/communication/communication-sms/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/communication/communication-sms/package.json b/sdk/communication/communication-sms/package.json index 737fea190a6d..7b974b47e4bb 100644 --- a/sdk/communication/communication-sms/package.json +++ b/sdk/communication/communication-sms/package.json @@ -17,7 +17,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "dev-tool samples publish --force", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -29,7 +29,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -77,9 +76,9 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", diff --git a/sdk/communication/communication-sms/test/internal/smsClient.internal.spec.ts b/sdk/communication/communication-sms/test/internal/smsClient.internal.spec.ts index c2d766121611..377dbb1ef3ab 100644 --- a/sdk/communication/communication-sms/test/internal/smsClient.internal.spec.ts +++ b/sdk/communication/communication-sms/test/internal/smsClient.internal.spec.ts @@ -9,7 +9,7 @@ */ import { matrix } from "@azure/test-utils"; -import { isLiveMode, isPlaybackMode, record, Recorder } from "@azure/test-utils-recorder"; +import { isLiveMode, isPlaybackMode, record, Recorder } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import * as dotenv from "dotenv"; import * as sinon from "sinon"; diff --git a/sdk/communication/communication-sms/test/public/smsClient.spec.ts b/sdk/communication/communication-sms/test/public/smsClient.spec.ts index 44ae87ca49a1..679f543a5d90 100644 --- a/sdk/communication/communication-sms/test/public/smsClient.spec.ts +++ b/sdk/communication/communication-sms/test/public/smsClient.spec.ts @@ -7,7 +7,7 @@ */ import { matrix } from "@azure/test-utils"; -import { record, Recorder, env } from "@azure/test-utils-recorder"; +import { record, Recorder, env } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import * as dotenv from "dotenv"; import { diff --git a/sdk/communication/communication-sms/test/public/suites/smsClient.send.ts b/sdk/communication/communication-sms/test/public/suites/smsClient.send.ts index b513fbff5dff..e9377db06e2f 100644 --- a/sdk/communication/communication-sms/test/public/suites/smsClient.send.ts +++ b/sdk/communication/communication-sms/test/public/suites/smsClient.send.ts @@ -3,7 +3,7 @@ import { assert } from "chai"; import { SmsSendRequest, SmsSendOptions } from "../../../src"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; import { Context } from "mocha"; import { assertIsFailureResult, assertIsSuccessResult } from "../utils/assertHelpers"; diff --git a/sdk/communication/communication-sms/test/public/utils/recordedClient.ts b/sdk/communication/communication-sms/test/public/utils/recordedClient.ts index 262896045f61..9c7fd5f81dab 100644 --- a/sdk/communication/communication-sms/test/public/utils/recordedClient.ts +++ b/sdk/communication/communication-sms/test/public/utils/recordedClient.ts @@ -10,7 +10,7 @@ import { WebResourceLike } from "@azure/core-http"; import { ClientSecretCredential, DefaultAzureCredential, TokenCredential } from "@azure/identity"; -import { env, isPlaybackMode, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, isPlaybackMode, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { SmsClient, SmsClientOptions } from "../../../src"; export const recorderConfiguration: RecorderEnvironmentSetup = { diff --git a/sdk/compute/arm-compute/CHANGELOG.md b/sdk/compute/arm-compute/CHANGELOG.md index 35b8999b56cc..c2922dca4f0f 100644 --- a/sdk/compute/arm-compute/CHANGELOG.md +++ b/sdk/compute/arm-compute/CHANGELOG.md @@ -1,3 +1,49 @@ +# Release History + +## 30.0.0-beta.4 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.3 (2021-08-31) + +**Features** + + - Added Interface ApplicationProfile + - Added Interface SoftDeletePolicy + - Added Interface VMGalleryApplication + - Added Interface VMSizeProperties + - Added Type Alias ExtendedLocationType + - Added Type Alias ReplicationMode + - Interface AdditionalCapabilities has a new optional parameter hibernationEnabled + - Interface GalleryArtifactPublishingProfileBase has a new optional parameter replicationMode + - Interface HardwareProfile has a new optional parameter vmSizeProperties + - Interface ResourceSkuLocationInfo has a new optional parameter extendedLocations + - Interface ResourceSkuLocationInfo has a new optional parameter type + - Interface ResourceSkusListNextOptionalParams has a new optional parameter includeExtendedLocations + - Interface ResourceSkusListOptionalParams has a new optional parameter includeExtendedLocations + - Interface ScaleInPolicy has a new optional parameter forceDeletion + - Interface VirtualMachineScaleSetVMProfile has a new optional parameter applicationProfile + - Interface VirtualMachinesDeallocateOptionalParams has a new optional parameter hibernate + - Type Alias Gallery has a new parameter softDeletePolicy + - Type Alias GalleryUpdate has a new parameter softDeletePolicy + - Type Alias ImageReference has a new parameter sharedGalleryImageId + - Type Alias VirtualMachine has a new parameter applicationProfile + - Type Alias VirtualMachineExtension has a new parameter suppressFailures + - Type Alias VirtualMachineExtensionUpdate has a new parameter suppressFailures + - Type Alias VirtualMachineScaleSetExtension has a new parameter suppressFailures + - Type Alias VirtualMachineScaleSetExtensionUpdate has a new parameter suppressFailures + - Type Alias VirtualMachineScaleSetVMExtension has a new parameter suppressFailures + - Type Alias VirtualMachineScaleSetVMExtensionUpdate has a new parameter suppressFailures + - Type Alias VirtualMachineUpdate has a new parameter applicationProfile + - Added Enum KnownExtendedLocationType + - Added Enum KnownReplicationMode + ## 30.0.0-beta.2 (2021-07-27) **Features** diff --git a/sdk/compute/arm-compute/README.md b/sdk/compute/arm-compute/README.md index 1b2146ed5bb2..690088fbb57c 100644 --- a/sdk/compute/arm-compute/README.md +++ b/sdk/compute/arm-compute/README.md @@ -4,7 +4,7 @@ This package contains an isomorphic SDK (runs both in Node.js and in browsers) f Compute Client -[Source code](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/compute/arm-compute) | +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/compute/arm-compute) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-compute) | [API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-compute) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) @@ -41,13 +41,15 @@ You can authenticate with Azure Active Directory using the [Azure Identity libra npm install @azure/identity ``` -You will also need to register a new AAD application and grant access to Azure ComputeManagement by assigning the suitable role to your service principal (note: roles such as `"Owner"` will not grant the necessary permissions). +You will also need to **register a new AAD application and grant access to Azure ComputeManagement** 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 { ComputeManagementClient } = require("@azure/arm-compute"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new ComputeManagementClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new ComputeManagementClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts @@ -63,11 +65,11 @@ const client = new ComputeManagementClient("", new DefaultAzureCredent 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 -import { setLogLevel } from "@azure/logger"; +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/master/sdk/core/logger). +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 @@ -75,7 +77,7 @@ Please take a look at the [samples](https://github.com/Azure-Samples/azure-sampl ## Contributing -If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/master/CONTRIBUTING.md) to learn more about how to build and test the code. +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 @@ -87,5 +89,5 @@ If you'd like to contribute to this library, please read the [contributing guide [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/master/sdk/identity/identity -[defaultazurecredential]: https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/identity/identity#defaultazurecredential +[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/compute/arm-compute/_meta.json b/sdk/compute/arm-compute/_meta.json index ede5049a2bf7..300320683f0a 100644 --- a/sdk/compute/arm-compute/_meta.json +++ b/sdk/compute/arm-compute/_meta.json @@ -1,7 +1,7 @@ { - "commit": "bea659d448f0195819a326dfefa5a2364ac0171b", + "commit": "f9e4843e2ed3494e8bd66a92c3e7f65655f58f46", "readme": "specification/compute/resource-manager/readme.md", - "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/compute/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.8.20210726.1", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/compute/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.12", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "use": "@autorest/typescript@6.0.0-alpha.8.20210726.1" + "use": "@autorest/typescript@6.0.0-beta.12" } \ No newline at end of file diff --git a/sdk/compute/arm-compute/api-extractor.json b/sdk/compute/arm-compute/api-extractor.json index 5fb5b21b56f2..adef38c365ae 100644 --- a/sdk/compute/arm-compute/api-extractor.json +++ b/sdk/compute/arm-compute/api-extractor.json @@ -1,12 +1,12 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "./esm/index.d.ts", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", "docModel": { "enabled": true }, "apiReport": { "enabled": true, "reportFolder": "./review" }, "dtsRollup": { "enabled": true, "untrimmedFilePath": "", - "publicTrimmedFilePath": "./esm/index.d.ts" + "publicTrimmedFilePath": "./types/arm-compute.d.ts" }, "messages": { "tsdocMessageReporting": { "default": { "logLevel": "none" } }, diff --git a/sdk/compute/arm-compute/package.json b/sdk/compute/arm-compute/package.json index 08e6de781444..041bccb729bc 100644 --- a/sdk/compute/arm-compute/package.json +++ b/sdk/compute/arm-compute/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for ComputeManagementClient.", - "version": "30.0.0-beta.2", + "version": "30.0.0-beta.4", "engines": { "node": ">=12.0.0" }, @@ -25,8 +25,8 @@ ], "license": "MIT", "main": "./dist/index.js", - "module": "./esm/index.js", - "types": "./esm/index.d.ts", + "module": "./dist-esm/index.js", + "types": "./types/arm-compute.d.ts", "devDependencies": { "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", @@ -36,7 +36,6 @@ "mkdirp": "^1.0.4", "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", - "rollup-plugin-node-resolve": "^3.4.0", "typescript": "~4.2.0", "uglify-js": "^3.4.9" }, @@ -53,20 +52,21 @@ "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.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" + "CHANGELOG.md", + "types/*" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify && mkdirp ./review && npm run extract-api", + "build": "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", diff --git a/sdk/compute/arm-compute/review/arm-compute.api.md b/sdk/compute/arm-compute/review/arm-compute.api.md index 280cc35bdcb0..d469e7992321 100644 --- a/sdk/compute/arm-compute/review/arm-compute.api.md +++ b/sdk/compute/arm-compute/review/arm-compute.api.md @@ -20,6 +20,7 @@ export interface AccessUri { // @public export interface AdditionalCapabilities { + hibernationEnabled?: boolean; ultraSSDEnabled?: boolean; } @@ -55,6 +56,11 @@ export interface ApiErrorBase { target?: string; } +// @public +export interface ApplicationProfile { + galleryApplications?: VMGalleryApplication[]; +} + // @public export interface AutomaticOSUpgradePolicy { disableAutomaticRollback?: boolean; @@ -1888,6 +1894,9 @@ export interface ExtendedLocation { type?: ExtendedLocationTypes; } +// @public +export type ExtendedLocationType = string; + // @public export type ExtendedLocationTypes = string; @@ -1976,6 +1985,7 @@ export type Gallery = Resource & { identifier?: GalleryIdentifier; readonly provisioningState?: GalleryPropertiesProvisioningState; sharingProfile?: SharingProfile; + softDeletePolicy?: SoftDeletePolicy; }; // @public @@ -2155,6 +2165,7 @@ export interface GalleryArtifactPublishingProfileBase { excludeFromLatest?: boolean; readonly publishedDate?: Date; replicaCount?: number; + replicationMode?: ReplicationMode; storageAccountType?: StorageAccountType; targetRegions?: TargetRegion[]; } @@ -2431,6 +2442,7 @@ export type GalleryUpdate = UpdateResourceDefinition & { identifier?: GalleryIdentifier; readonly provisioningState?: GalleryPropertiesProvisioningState; sharingProfile?: SharingProfile; + softDeletePolicy?: SoftDeletePolicy; }; // @public @@ -2443,6 +2455,7 @@ export interface GrantAccessData { // @public export interface HardwareProfile { vmSize?: VirtualMachineSizeTypes; + vmSizeProperties?: VMSizeProperties; } // @public @@ -2514,6 +2527,7 @@ export type ImageReference = SubResource & { sku?: string; version?: string; readonly exactVersion?: string; + sharedGalleryImageId?: string; }; // @public @@ -2869,6 +2883,12 @@ export enum KnownExpandTypesForGetVMScaleSets { UserData = "userData" } +// @public +export enum KnownExtendedLocationType { + // (undocumented) + EdgeZone = "EdgeZone" +} + // @public export enum KnownExtendedLocationTypes { // (undocumented) @@ -3150,6 +3170,14 @@ export enum KnownPublicIPAllocationMethod { Static = "Static" } +// @public +export enum KnownReplicationMode { + // (undocumented) + Full = "Full", + // (undocumented) + Shallow = "Shallow" +} + // @public export enum KnownReplicationState { // (undocumented) @@ -4259,6 +4287,9 @@ export interface RegionalReplicationStatus { readonly state?: ReplicationState; } +// @public +export type ReplicationMode = string; + // @public export type ReplicationState = string; @@ -4346,14 +4377,16 @@ export interface ResourceSkuCosts { readonly quantity?: number; } -// @public (undocumented) +// @public export interface ResourceSkuLocationInfo { + readonly extendedLocations?: string[]; readonly location?: string; + readonly type?: ExtendedLocationType; readonly zoneDetails?: ResourceSkuZoneDetails[]; readonly zones?: string[]; } -// @public (undocumented) +// @public export interface ResourceSkuRestrictionInfo { readonly locations?: string[]; readonly zones?: string[]; @@ -4381,6 +4414,7 @@ export interface ResourceSkus { // @public export interface ResourceSkusListNextOptionalParams extends coreClient.OperationOptions { filter?: string; + includeExtendedLocations?: string; } // @public @@ -4389,6 +4423,7 @@ export type ResourceSkusListNextResponse = ResourceSkusResult; // @public export interface ResourceSkusListOptionalParams extends coreClient.OperationOptions { filter?: string; + includeExtendedLocations?: string; } // @public @@ -4746,6 +4781,7 @@ export interface RunCommandResult { // @public export interface ScaleInPolicy { + forceDeletion?: boolean; rules?: VirtualMachineScaleSetScaleInRules[]; } @@ -5080,6 +5116,11 @@ export interface SnapshotUpdate { }; } +// @public +export interface SoftDeletePolicy { + isSoftDeleteEnabled?: boolean; +} + // @public export interface SourceVault { id?: string; @@ -5427,6 +5468,7 @@ export type VirtualMachine = Resource & { scheduledEventsProfile?: ScheduledEventsProfile; userData?: string; capacityReservation?: CapacityReservationProfile; + applicationProfile?: ApplicationProfile; }; // @public @@ -5478,6 +5520,7 @@ export type VirtualMachineExtension = Resource & { protectedSettings?: Record; readonly provisioningState?: string; instanceView?: VirtualMachineExtensionInstanceView; + suppressFailures?: boolean; }; // @public @@ -5605,6 +5648,7 @@ export type VirtualMachineExtensionUpdate = UpdateResource & { enableAutomaticUpgrade?: boolean; settings?: Record; protectedSettings?: Record; + suppressFailures?: boolean; }; // @public @@ -5748,7 +5792,7 @@ export type VirtualMachineImagesListSkusResponse = VirtualMachineImageResource[] // @public export interface VirtualMachineInstallPatchesParameters { linuxParameters?: LinuxParameters; - maximumDuration: string; + maximumDuration?: string; rebootSetting: VMGuestPatchRebootSetting; windowsParameters?: WindowsParameters; } @@ -6110,6 +6154,7 @@ export type VirtualMachineScaleSetExtension = SubResourceReadOnly & { protectedSettings?: Record; readonly provisioningState?: string; provisionAfterExtensions?: string[]; + suppressFailures?: boolean; }; // @public @@ -6196,6 +6241,7 @@ export type VirtualMachineScaleSetExtensionUpdate = SubResourceReadOnly & { protectedSettings?: Record; readonly provisioningState?: string; provisionAfterExtensions?: string[]; + suppressFailures?: boolean; }; // @public @@ -6786,6 +6832,7 @@ export type VirtualMachineScaleSetVMExtension = SubResourceReadOnly & { protectedSettings?: Record; readonly provisioningState?: string; instanceView?: VirtualMachineExtensionInstanceView; + suppressFailures?: boolean; }; // @public @@ -6863,6 +6910,7 @@ export type VirtualMachineScaleSetVMExtensionUpdate = SubResourceReadOnly & { enableAutomaticUpgrade?: boolean; settings?: Record; protectedSettings?: Record; + suppressFailures?: boolean; }; // @public @@ -6904,6 +6952,7 @@ export interface VirtualMachineScaleSetVMNetworkProfileConfiguration { // @public export interface VirtualMachineScaleSetVMProfile { + applicationProfile?: ApplicationProfile; billingProfile?: BillingProfile; capacityReservation?: CapacityReservationProfile; diagnosticsProfile?: DiagnosticsProfile; @@ -7167,6 +7216,7 @@ export type VirtualMachinesCreateOrUpdateResponse = VirtualMachine; // @public export interface VirtualMachinesDeallocateOptionalParams extends coreClient.OperationOptions { + hibernate?: boolean; resumeFrom?: string; updateIntervalInMs?: number; } @@ -7410,11 +7460,20 @@ export type VirtualMachineUpdate = UpdateResource & { scheduledEventsProfile?: ScheduledEventsProfile; userData?: string; capacityReservation?: CapacityReservationProfile; + applicationProfile?: ApplicationProfile; }; // @public export type VmDiskTypes = string; +// @public +export interface VMGalleryApplication { + configurationReference?: string; + order?: number; + packageReferenceId: string; + tags?: string; +} + // @public export type VMGuestPatchClassificationLinux = string; @@ -7435,6 +7494,12 @@ export interface VMScaleSetConvertToSinglePlacementGroupInput { activePlacementGroupId?: string; } +// @public +export interface VMSizeProperties { + vCPUsAvailable?: number; + vCPUsPerCore?: number; +} + // @public export interface WindowsConfiguration { additionalUnattendContent?: AdditionalUnattendContent[]; diff --git a/sdk/compute/arm-compute/src/computeManagementClientContext.ts b/sdk/compute/arm-compute/src/computeManagementClientContext.ts index 8a5bc67056b1..b53eb2f338a2 100644 --- a/sdk/compute/arm-compute/src/computeManagementClientContext.ts +++ b/sdk/compute/arm-compute/src/computeManagementClientContext.ts @@ -42,7 +42,7 @@ export class ComputeManagementClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-compute/30.0.0-beta.2`; + const packageDetails = `azsdk-js-arm-compute/30.0.0-beta.3`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/compute/arm-compute/src/models/index.ts b/sdk/compute/arm-compute/src/models/index.ts index e463593def37..bb1c97fa5682 100644 --- a/sdk/compute/arm-compute/src/models/index.ts +++ b/sdk/compute/arm-compute/src/models/index.ts @@ -384,6 +384,16 @@ export interface Plan { export interface HardwareProfile { /** Specifies the size of the virtual machine.

The enum data type is currently deprecated and will be removed by December 23rd 2023.

Recommended way to get the list of available sizes is using these APIs:

[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

[List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list)

[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes).

The available VM sizes depend on region and availability set. */ vmSize?: VirtualMachineSizeTypes; + /** Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01.

This feature is still in preview mode and is not supported for VirtualMachineScaleSet.

Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. */ + vmSizeProperties?: VMSizeProperties; +} + +/** Specifies VM Size Property settings on the virtual machine. */ +export interface VMSizeProperties { + /** Specifies the number of vCPUs available for the VM.

When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) . */ + vCPUsAvailable?: number; + /** Specifies the vCPU to physical core ratio.

When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list)

Setting this property to 1 also means that hyper-threading is disabled. */ + vCPUsPerCore?: number; } /** Specifies the storage settings for the virtual machine disks. */ @@ -506,6 +516,8 @@ export interface DataDisk { export interface AdditionalCapabilities { /** The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. */ ultraSSDEnabled?: boolean; + /** The flag that enables or disables hibernation capability on the VM. */ + hibernationEnabled?: boolean; } /** Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. */ @@ -522,7 +534,7 @@ export interface OSProfile { windowsConfiguration?: WindowsConfiguration; /** Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */ linuxConfiguration?: LinuxConfiguration; - /** Specifies set of certificates that should be installed onto the virtual machine. */ + /** Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ secrets?: VaultSecretGroup[]; /** Specifies whether extension operations should be allowed on the virtual machine.

This may only be set to False when no extensions are present on the virtual machine. */ allowExtensionOperations?: boolean; @@ -578,7 +590,7 @@ export interface WinRMConfiguration { export interface WinRMListener { /** Specifies the protocol of WinRM listener.

Possible values are:
**http**

**https** */ protocol?: ProtocolTypes; - /** This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
} */ + /** This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ certificateUrl?: string; } @@ -626,7 +638,7 @@ export interface VaultSecretGroup { /** Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. */ export interface VaultCertificate { - /** This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
} */ + /** This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ certificateUrl?: string; /** For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted. */ certificateStore?: string; @@ -1025,6 +1037,24 @@ export interface CapacityReservationProfile { capacityReservationGroup?: SubResource; } +/** Contains the list of gallery applications that should be made available to the VM/VMSS */ +export interface ApplicationProfile { + /** Specifies the gallery applications that should be made available to the VM/VMSS */ + galleryApplications?: VMGalleryApplication[]; +} + +/** Specifies the required information to reference a compute gallery application version */ +export interface VMGalleryApplication { + /** Optional, Specifies a passthrough value for more generic context. */ + tags?: string; + /** Optional, Specifies the order in which the packages have to be installed */ + order?: number; + /** Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} */ + packageReferenceId: string; + /** Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided */ + configurationReference?: string; +} + /** Identity for the virtual machine. */ export interface VirtualMachineIdentity { /** @@ -1136,6 +1166,8 @@ export interface VirtualMachineScaleSetVMProfile { userData?: string; /** Specifies the capacity reservation related details of a scale set.

Minimum api-version: 2021-04-01. */ capacityReservation?: CapacityReservationProfile; + /** Specifies the gallery applications that should be made available to the VM/VMSS */ + applicationProfile?: ApplicationProfile; } /** Describes a virtual machine scale set OS profile. */ @@ -1152,7 +1184,7 @@ export interface VirtualMachineScaleSetOSProfile { windowsConfiguration?: WindowsConfiguration; /** Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */ linuxConfiguration?: LinuxConfiguration; - /** Specifies set of certificates that should be installed onto the virtual machines in the scale set. */ + /** Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ secrets?: VaultSecretGroup[]; } @@ -1288,6 +1320,8 @@ export interface VirtualMachineScaleSetExtensionProfile { export interface ScaleInPolicy { /** The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

*/ rules?: VirtualMachineScaleSetScaleInRules[]; + /** This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) */ + forceDeletion?: boolean; } /** Specifies the Spot-Try-Restore properties for the virtual machine scale set.

With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. */ @@ -1651,7 +1685,7 @@ export interface VirtualMachineSoftwarePatchProperties { /** Input for InstallPatches as directly received by the API */ export interface VirtualMachineInstallPatchesParameters { /** Specifies the maximum amount of time that the operation will run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours) */ - maximumDuration: string; + maximumDuration?: string; /** Defines when it is acceptable to reboot a VM during a software update operation. */ rebootSetting: VMGuestPatchRebootSetting; /** Input for InstallPatches on a Windows VM, as directly received by the API */ @@ -2489,6 +2523,7 @@ export interface ResourceSkuCapacity { readonly scaleType?: ResourceSkuCapacityScaleType; } +/** Describes an available Compute SKU Location Information. */ export interface ResourceSkuLocationInfo { /** * Location of the SKU @@ -2505,6 +2540,16 @@ export interface ResourceSkuLocationInfo { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly zoneDetails?: ResourceSkuZoneDetails[]; + /** + * The names of extended locations. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly extendedLocations?: string[]; + /** + * The type of the extended location. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: ExtendedLocationType; } /** Describes The zonal capabilities of a SKU. */ @@ -2578,6 +2623,7 @@ export interface ResourceSkuRestrictions { readonly reasonCode?: ResourceSkuRestrictionsReasonCode; } +/** Describes an available Compute SKU Restriction Information. */ export interface ResourceSkuRestrictionInfo { /** * Locations where the SKU is restricted @@ -3041,6 +3087,12 @@ export interface SharingProfileGroup { ids?: string[]; } +/** Contains information about the soft deletion policy of the gallery. */ +export interface SoftDeletePolicy { + /** Enables soft-deletion for resources in this gallery, allowing them to be recovered within retention time. */ + isSoftDeleteEnabled?: boolean; +} + /** The Update Resource model definition. */ export interface UpdateResourceDefinition { /** @@ -3129,6 +3181,8 @@ export interface GalleryArtifactPublishingProfileBase { endOfLifeDate?: Date; /** Specifies the storage account type to be used to store the image. This property is not updatable. */ storageAccountType?: StorageAccountType; + /** Optional parameter which specifies the mode to be used for replication. This property is not updatable. */ + replicationMode?: ReplicationMode; } /** Describes the target region information. */ @@ -4057,6 +4111,8 @@ export type VirtualMachineExtension = Resource & { readonly provisioningState?: string; /** The virtual machine extension instance view. */ instanceView?: VirtualMachineExtensionInstanceView; + /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */ + suppressFailures?: boolean; }; /** Describes a Virtual Machine. */ @@ -4131,6 +4187,8 @@ export type VirtualMachine = Resource & { userData?: string; /** Specifies information about the capacity reservation that is used to allocate virtual machine.

Minimum api-version: 2021-04-01. */ capacityReservation?: CapacityReservationProfile; + /** Specifies the gallery applications that should be made available to the VM/VMSS */ + applicationProfile?: ApplicationProfile; }; /** Describes a Virtual Machine Scale Set. */ @@ -4177,7 +4235,7 @@ export type VirtualMachineScaleSet = Resource & { hostGroup?: SubResource; /** Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. */ additionalCapabilities?: AdditionalCapabilities; - /** Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. */ + /** Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. */ scaleInPolicy?: ScaleInPolicy; /** Specifies the orchestration mode for the virtual machine scale set. */ orchestrationMode?: OrchestrationMode; @@ -4618,6 +4676,8 @@ export type Gallery = Resource & { readonly provisioningState?: GalleryPropertiesProvisioningState; /** Profile for gallery sharing to subscription or tenant */ sharingProfile?: SharingProfile; + /** Contains information about the soft deletion policy of the gallery. */ + softDeletePolicy?: SoftDeletePolicy; }; /** Specifies information about the gallery image definition that you want to create or update. */ @@ -4737,6 +4797,8 @@ export type ImageReference = SubResource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly exactVersion?: string; + /** Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. */ + sharedGalleryImageId?: string; }; /** Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. */ @@ -4971,6 +5033,8 @@ export type VirtualMachineExtensionUpdate = UpdateResource & { settings?: Record; /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */ protectedSettings?: Record; + /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */ + suppressFailures?: boolean; }; /** The source user image virtual hard disk. Only tags may be updated. */ @@ -5053,6 +5117,8 @@ export type VirtualMachineUpdate = UpdateResource & { userData?: string; /** Specifies information about the capacity reservation that is used to allocate virtual machine.

Minimum api-version: 2021-04-01. */ capacityReservation?: CapacityReservationProfile; + /** Specifies the gallery applications that should be made available to the VM/VMSS */ + applicationProfile?: ApplicationProfile; }; /** Update Restore Point collection parameters. */ @@ -5148,7 +5214,7 @@ export type VirtualMachineScaleSetUpdate = UpdateResource & { singlePlacementGroup?: boolean; /** Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. */ additionalCapabilities?: AdditionalCapabilities; - /** Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. */ + /** Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. */ scaleInPolicy?: ScaleInPolicy; /** Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.

Minimum api-version: 2018-04-01. */ proximityPlacementGroup?: SubResource; @@ -5218,6 +5284,8 @@ export type VirtualMachineScaleSetExtension = SubResourceReadOnly & { readonly provisioningState?: string; /** Collection of extension names after which this extension needs to be provisioned. */ provisionAfterExtensions?: string[]; + /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */ + suppressFailures?: boolean; }; /** Describes a Virtual Machine Scale Set Extension. */ @@ -5255,6 +5323,8 @@ export type VirtualMachineScaleSetExtensionUpdate = SubResourceReadOnly & { readonly provisioningState?: string; /** Collection of extension names after which this extension needs to be provisioned. */ provisionAfterExtensions?: string[]; + /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */ + suppressFailures?: boolean; }; /** Describes a VMSS VM Extension. */ @@ -5292,6 +5362,8 @@ export type VirtualMachineScaleSetVMExtension = SubResourceReadOnly & { readonly provisioningState?: string; /** The virtual machine extension instance view. */ instanceView?: VirtualMachineExtensionInstanceView; + /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */ + suppressFailures?: boolean; }; /** Describes a VMSS VM Extension. */ @@ -5322,6 +5394,8 @@ export type VirtualMachineScaleSetVMExtensionUpdate = SubResourceReadOnly & { settings?: Record; /** The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */ protectedSettings?: Record; + /** Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */ + suppressFailures?: boolean; }; /** The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group. */ @@ -5455,6 +5529,8 @@ export type GalleryUpdate = UpdateResourceDefinition & { readonly provisioningState?: GalleryPropertiesProvisioningState; /** Profile for gallery sharing to subscription or tenant */ sharingProfile?: SharingProfile; + /** Contains information about the soft deletion policy of the gallery. */ + softDeletePolicy?: SoftDeletePolicy; }; /** Specifies information about the gallery image definition that you want to update. */ @@ -6767,6 +6843,20 @@ export enum KnownExecutionState { */ export type ExecutionState = string; +/** Known values of {@link ExtendedLocationType} that the service accepts. */ +export enum KnownExtendedLocationType { + EdgeZone = "EdgeZone" +} + +/** + * Defines values for ExtendedLocationType. \ + * {@link KnownExtendedLocationType} can be used interchangeably with ExtendedLocationType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **EdgeZone** + */ +export type ExtendedLocationType = string; + /** Known values of {@link DiskStorageAccountTypes} that the service accepts. */ export enum KnownDiskStorageAccountTypes { /** Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access. */ @@ -7156,6 +7246,22 @@ export enum KnownStorageAccountType { */ export type StorageAccountType = string; +/** Known values of {@link ReplicationMode} that the service accepts. */ +export enum KnownReplicationMode { + Full = "Full", + Shallow = "Shallow" +} + +/** + * Defines values for ReplicationMode. \ + * {@link KnownReplicationMode} can be used interchangeably with ReplicationMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Full** \ + * **Shallow** + */ +export type ReplicationMode = string; + /** Known values of {@link GalleryImageVersionPropertiesProvisioningState} that the service accepts. */ export enum KnownGalleryImageVersionPropertiesProvisioningState { Creating = "Creating", @@ -7951,6 +8057,8 @@ export interface VirtualMachinesConvertToManagedDisksOptionalParams /** Optional parameters. */ export interface VirtualMachinesDeallocateOptionalParams extends coreClient.OperationOptions { + /** Optional parameter to hibernate a virtual machine. (Feature in Preview) */ + hibernate?: boolean; /** 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. */ @@ -9158,6 +9266,8 @@ export interface ResourceSkusListOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Only **location** filter is supported currently. */ filter?: string; + /** To Include Extended Locations information or not in the response. */ + includeExtendedLocations?: string; } /** Contains response data for the list operation. */ @@ -9168,6 +9278,8 @@ export interface ResourceSkusListNextOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Only **location** filter is supported currently. */ filter?: string; + /** To Include Extended Locations information or not in the response. */ + includeExtendedLocations?: string; } /** Contains response data for the listNext operation. */ diff --git a/sdk/compute/arm-compute/src/models/mappers.ts b/sdk/compute/arm-compute/src/models/mappers.ts index 24b783433e65..b1ae0cf5b58d 100644 --- a/sdk/compute/arm-compute/src/models/mappers.ts +++ b/sdk/compute/arm-compute/src/models/mappers.ts @@ -1049,6 +1049,34 @@ export const HardwareProfile: coreClient.CompositeMapper = { type: { name: "String" } + }, + vmSizeProperties: { + serializedName: "vmSizeProperties", + type: { + name: "Composite", + className: "VMSizeProperties" + } + } + } + } +}; + +export const VMSizeProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VMSizeProperties", + modelProperties: { + vCPUsAvailable: { + serializedName: "vCPUsAvailable", + type: { + name: "Number" + } + }, + vCPUsPerCore: { + serializedName: "vCPUsPerCore", + type: { + name: "Number" + } } } } @@ -1400,6 +1428,12 @@ export const AdditionalCapabilities: coreClient.CompositeMapper = { type: { name: "Boolean" } + }, + hibernationEnabled: { + serializedName: "hibernationEnabled", + type: { + name: "Boolean" + } } } } @@ -2810,6 +2844,61 @@ export const CapacityReservationProfile: coreClient.CompositeMapper = { } }; +export const ApplicationProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationProfile", + modelProperties: { + galleryApplications: { + serializedName: "galleryApplications", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMGalleryApplication" + } + } + } + } + } + } +}; + +export const VMGalleryApplication: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VMGalleryApplication", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "String" + } + }, + order: { + serializedName: "order", + type: { + name: "Number" + } + }, + packageReferenceId: { + serializedName: "packageReferenceId", + required: true, + type: { + name: "String" + } + }, + configurationReference: { + serializedName: "configurationReference", + type: { + name: "String" + } + } + } + } +}; + export const VirtualMachineIdentity: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3128,6 +3217,13 @@ export const VirtualMachineScaleSetVMProfile: coreClient.CompositeMapper = { name: "Composite", className: "CapacityReservationProfile" } + }, + applicationProfile: { + serializedName: "applicationProfile", + type: { + name: "Composite", + className: "ApplicationProfile" + } } } } @@ -3612,6 +3708,12 @@ export const ScaleInPolicy: coreClient.CompositeMapper = { } } } + }, + forceDeletion: { + serializedName: "forceDeletion", + type: { + name: "Boolean" + } } } } @@ -4489,7 +4591,6 @@ export const VirtualMachineInstallPatchesParameters: coreClient.CompositeMapper modelProperties: { maximumDuration: { serializedName: "maximumDuration", - required: true, type: { name: "String" } @@ -6089,6 +6190,7 @@ export const RunCommandParameterDefinition: coreClient.CompositeMapper = { } }, required: { + defaultValue: false, serializedName: "required", type: { name: "Boolean" @@ -6535,6 +6637,25 @@ export const ResourceSkuLocationInfo: coreClient.CompositeMapper = { } } } + }, + extendedLocations: { + serializedName: "extendedLocations", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } } } } @@ -7868,6 +7989,21 @@ export const SharingProfileGroup: coreClient.CompositeMapper = { } }; +export const SoftDeletePolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SoftDeletePolicy", + modelProperties: { + isSoftDeleteEnabled: { + serializedName: "isSoftDeleteEnabled", + type: { + name: "Boolean" + } + } + } + } +}; + export const UpdateResourceDefinition: coreClient.CompositeMapper = { type: { name: "Composite", @@ -8094,6 +8230,12 @@ export const GalleryArtifactPublishingProfileBase: coreClient.CompositeMapper = type: { name: "String" } + }, + replicationMode: { + serializedName: "replicationMode", + type: { + name: "String" + } } } } @@ -10433,6 +10575,12 @@ export const VirtualMachineExtension: coreClient.CompositeMapper = { name: "Composite", className: "VirtualMachineExtensionInstanceView" } + }, + suppressFailures: { + serializedName: "properties.suppressFailures", + type: { + name: "Boolean" + } } } } @@ -10650,6 +10798,13 @@ export const VirtualMachine: coreClient.CompositeMapper = { name: "Composite", className: "CapacityReservationProfile" } + }, + applicationProfile: { + serializedName: "properties.applicationProfile", + type: { + name: "Composite", + className: "ApplicationProfile" + } } } } @@ -11270,6 +11425,7 @@ export const VirtualMachineRunCommand: coreClient.CompositeMapper = { } }, asyncExecution: { + defaultValue: false, serializedName: "properties.asyncExecution", type: { name: "Boolean" @@ -11815,6 +11971,13 @@ export const Gallery: coreClient.CompositeMapper = { name: "Composite", className: "SharingProfile" } + }, + softDeletePolicy: { + serializedName: "properties.softDeletePolicy", + type: { + name: "Composite", + className: "SoftDeletePolicy" + } } } } @@ -12134,6 +12297,12 @@ export const ImageReference: coreClient.CompositeMapper = { type: { name: "String" } + }, + sharedGalleryImageId: { + serializedName: "sharedGalleryImageId", + type: { + name: "String" + } } } } @@ -12840,6 +13009,12 @@ export const VirtualMachineExtensionUpdate: coreClient.CompositeMapper = { name: "Dictionary", value: { type: { name: "any" } } } + }, + suppressFailures: { + serializedName: "properties.suppressFailures", + type: { + name: "Boolean" + } } } } @@ -13074,6 +13249,13 @@ export const VirtualMachineUpdate: coreClient.CompositeMapper = { name: "Composite", className: "CapacityReservationProfile" } + }, + applicationProfile: { + serializedName: "properties.applicationProfile", + type: { + name: "Composite", + className: "ApplicationProfile" + } } } } @@ -13353,6 +13535,7 @@ export const VirtualMachineRunCommandUpdate: coreClient.CompositeMapper = { } }, asyncExecution: { + defaultValue: false, serializedName: "properties.asyncExecution", type: { name: "Boolean" @@ -13492,6 +13675,12 @@ export const VirtualMachineScaleSetExtension: coreClient.CompositeMapper = { } } } + }, + suppressFailures: { + serializedName: "properties.suppressFailures", + type: { + name: "Boolean" + } } } } @@ -13584,6 +13773,12 @@ export const VirtualMachineScaleSetExtensionUpdate: coreClient.CompositeMapper = } } } + }, + suppressFailures: { + serializedName: "properties.suppressFailures", + type: { + name: "Boolean" + } } } } @@ -13672,6 +13867,12 @@ export const VirtualMachineScaleSetVMExtension: coreClient.CompositeMapper = { name: "Composite", className: "VirtualMachineExtensionInstanceView" } + }, + suppressFailures: { + serializedName: "properties.suppressFailures", + type: { + name: "Boolean" + } } } } @@ -13746,6 +13947,12 @@ export const VirtualMachineScaleSetVMExtensionUpdate: coreClient.CompositeMapper name: "Dictionary", value: { type: { name: "any" } } } + }, + suppressFailures: { + serializedName: "properties.suppressFailures", + type: { + name: "Boolean" + } } } } @@ -14054,6 +14261,13 @@ export const GalleryUpdate: coreClient.CompositeMapper = { name: "Composite", className: "SharingProfile" } + }, + softDeletePolicy: { + serializedName: "properties.softDeletePolicy", + type: { + name: "Composite", + className: "SoftDeletePolicy" + } } } } diff --git a/sdk/compute/arm-compute/src/models/parameters.ts b/sdk/compute/arm-compute/src/models/parameters.ts index 84337bff75b3..9a661149ab51 100644 --- a/sdk/compute/arm-compute/src/models/parameters.ts +++ b/sdk/compute/arm-compute/src/models/parameters.ts @@ -110,7 +110,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-04-01", + defaultValue: "2021-07-01", isConstant: true, serializedName: "api-version", type: { @@ -479,6 +479,16 @@ export const forceDeletion: OperationQueryParameter = { } }; +export const hibernate: OperationQueryParameter = { + parameterPath: ["options", "hibernate"], + mapper: { + serializedName: "hibernate", + type: { + name: "Boolean" + } + } +}; + export const statusOnly: OperationQueryParameter = { parameterPath: ["options", "statusOnly"], mapper: { @@ -492,6 +502,7 @@ export const statusOnly: OperationQueryParameter = { export const skipShutdown: OperationQueryParameter = { parameterPath: ["options", "skipShutdown"], mapper: { + defaultValue: false, serializedName: "skipShutdown", type: { name: "Boolean" @@ -858,12 +869,10 @@ export const runCommand1: OperationParameter = { mapper: VirtualMachineRunCommandUpdateMapper }; -export const apiVersion1: OperationQueryParameter = { - parameterPath: "apiVersion", +export const includeExtendedLocations: OperationQueryParameter = { + parameterPath: ["options", "includeExtendedLocations"], mapper: { - defaultValue: "2019-04-01", - isConstant: true, - serializedName: "api-version", + serializedName: "includeExtendedLocations", type: { name: "String" } @@ -886,7 +895,7 @@ export const diskName: OperationURLParameter = { } }; -export const apiVersion2: OperationQueryParameter = { +export const apiVersion1: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { defaultValue: "2020-12-01", @@ -1025,18 +1034,6 @@ export const galleryName: OperationURLParameter = { } }; -export const apiVersion3: OperationQueryParameter = { - parameterPath: "apiVersion", - mapper: { - defaultValue: "2020-09-30", - isConstant: true, - serializedName: "api-version", - type: { - name: "String" - } - } -}; - export const gallery1: OperationParameter = { parameterPath: "gallery", mapper: GalleryUpdateMapper @@ -1194,7 +1191,7 @@ export const cloudServiceName: OperationURLParameter = { } }; -export const apiVersion4: OperationQueryParameter = { +export const apiVersion2: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { defaultValue: "2021-03-01", diff --git a/sdk/compute/arm-compute/src/operations/availabilitySets.ts b/sdk/compute/arm-compute/src/operations/availabilitySets.ts index bee7def60b68..eaba7a91b182 100644 --- a/sdk/compute/arm-compute/src/operations/availabilitySets.ts +++ b/sdk/compute/arm-compute/src/operations/availabilitySets.ts @@ -37,7 +37,7 @@ import { } from "../models"; /// -/** Class representing a AvailabilitySets. */ +/** Class containing AvailabilitySets operations. */ export class AvailabilitySetsImpl implements AvailabilitySets { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/capacityReservationGroups.ts b/sdk/compute/arm-compute/src/operations/capacityReservationGroups.ts index 72d58802717e..c89716f9e324 100644 --- a/sdk/compute/arm-compute/src/operations/capacityReservationGroups.ts +++ b/sdk/compute/arm-compute/src/operations/capacityReservationGroups.ts @@ -34,7 +34,7 @@ import { } from "../models"; /// -/** Class representing a CapacityReservationGroups. */ +/** Class containing CapacityReservationGroups operations. */ export class CapacityReservationGroupsImpl implements CapacityReservationGroups { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/capacityReservations.ts b/sdk/compute/arm-compute/src/operations/capacityReservations.ts index af1e57f96fda..d693834e0d8f 100644 --- a/sdk/compute/arm-compute/src/operations/capacityReservations.ts +++ b/sdk/compute/arm-compute/src/operations/capacityReservations.ts @@ -32,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a CapacityReservations. */ +/** Class containing CapacityReservations operations. */ export class CapacityReservationsImpl implements CapacityReservations { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/cloudServiceOperatingSystems.ts b/sdk/compute/arm-compute/src/operations/cloudServiceOperatingSystems.ts index a2c0156c24c4..095048a610de 100644 --- a/sdk/compute/arm-compute/src/operations/cloudServiceOperatingSystems.ts +++ b/sdk/compute/arm-compute/src/operations/cloudServiceOperatingSystems.ts @@ -31,7 +31,7 @@ import { } from "../models"; /// -/** Class representing a CloudServiceOperatingSystems. */ +/** Class containing CloudServiceOperatingSystems operations. */ export class CloudServiceOperatingSystemsImpl implements CloudServiceOperatingSystems { private readonly client: ComputeManagementClientContext; @@ -267,7 +267,7 @@ const getOSVersionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -289,7 +289,7 @@ const listOSVersionsOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -310,7 +310,7 @@ const getOSFamilyOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -332,7 +332,7 @@ const listOSFamiliesOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -352,7 +352,7 @@ const listOSVersionsNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -373,7 +373,7 @@ const listOSFamiliesNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/compute/arm-compute/src/operations/cloudServiceRoleInstances.ts b/sdk/compute/arm-compute/src/operations/cloudServiceRoleInstances.ts index 44407b4fcc8c..19aa04060b90 100644 --- a/sdk/compute/arm-compute/src/operations/cloudServiceRoleInstances.ts +++ b/sdk/compute/arm-compute/src/operations/cloudServiceRoleInstances.ts @@ -34,7 +34,7 @@ import { } from "../models"; /// -/** Class representing a CloudServiceRoleInstances. */ +/** Class containing CloudServiceRoleInstances operations. */ export class CloudServiceRoleInstancesImpl implements CloudServiceRoleInstances { private readonly client: ComputeManagementClientContext; @@ -573,7 +573,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -596,7 +596,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.expand1, Parameters.apiVersion4], + queryParameters: [Parameters.expand1, Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -619,7 +619,7 @@ const getInstanceViewOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -642,7 +642,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.expand1, Parameters.apiVersion4], + queryParameters: [Parameters.expand1, Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -665,7 +665,7 @@ const restartOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -689,7 +689,7 @@ const reimageOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -713,7 +713,7 @@ const rebuildOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -734,7 +734,7 @@ const getRemoteDesktopFileOperationSpec: coreClient.OperationSpec = { }, default: {} }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -756,7 +756,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.expand1, Parameters.apiVersion4], + queryParameters: [Parameters.expand1, Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/cloudServiceRoles.ts b/sdk/compute/arm-compute/src/operations/cloudServiceRoles.ts index 488f54e03ff7..5ebe9f39ce02 100644 --- a/sdk/compute/arm-compute/src/operations/cloudServiceRoles.ts +++ b/sdk/compute/arm-compute/src/operations/cloudServiceRoles.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a CloudServiceRoles. */ +/** Class containing CloudServiceRoles operations. */ export class CloudServiceRolesImpl implements CloudServiceRoles { private readonly client: ComputeManagementClientContext; @@ -175,7 +175,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -198,7 +198,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -219,7 +219,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/cloudServices.ts b/sdk/compute/arm-compute/src/operations/cloudServices.ts index ca36ab496dca..69eada98b205 100644 --- a/sdk/compute/arm-compute/src/operations/cloudServices.ts +++ b/sdk/compute/arm-compute/src/operations/cloudServices.ts @@ -43,7 +43,7 @@ import { } from "../models"; /// -/** Class representing a CloudServices. */ +/** Class containing CloudServices operations. */ export class CloudServicesImpl implements CloudServices { private readonly client: ComputeManagementClientContext; @@ -1009,7 +1009,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters31, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1042,7 +1042,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters32, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1066,7 +1066,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1088,7 +1088,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1110,7 +1110,7 @@ const getInstanceViewOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1132,7 +1132,7 @@ const listAllOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -1149,7 +1149,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1171,7 +1171,7 @@ const startOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1194,7 +1194,7 @@ const powerOffOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1218,7 +1218,7 @@ const restartOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters33, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1243,7 +1243,7 @@ const reimageOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters33, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1268,7 +1268,7 @@ const rebuildOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters33, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1293,7 +1293,7 @@ const deleteInstancesOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters33, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1315,7 +1315,7 @@ const listAllNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -1335,7 +1335,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/cloudServicesUpdateDomain.ts b/sdk/compute/arm-compute/src/operations/cloudServicesUpdateDomain.ts index 6edb201429d9..f4a6419915ea 100644 --- a/sdk/compute/arm-compute/src/operations/cloudServicesUpdateDomain.ts +++ b/sdk/compute/arm-compute/src/operations/cloudServicesUpdateDomain.ts @@ -27,7 +27,7 @@ import { } from "../models"; /// -/** Class representing a CloudServicesUpdateDomain. */ +/** Class containing CloudServicesUpdateDomain operations. */ export class CloudServicesUpdateDomainImpl implements CloudServicesUpdateDomain { private readonly client: ComputeManagementClientContext; @@ -275,7 +275,7 @@ const walkUpdateDomainOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters34, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -299,7 +299,7 @@ const getUpdateDomainOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -322,7 +322,7 @@ const listUpdateDomainsOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -343,7 +343,7 @@ const listUpdateDomainsNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion4], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/dedicatedHostGroups.ts b/sdk/compute/arm-compute/src/operations/dedicatedHostGroups.ts index c57c2d5edab8..ce2aaf3d1dbb 100644 --- a/sdk/compute/arm-compute/src/operations/dedicatedHostGroups.ts +++ b/sdk/compute/arm-compute/src/operations/dedicatedHostGroups.ts @@ -34,7 +34,7 @@ import { } from "../models"; /// -/** Class representing a DedicatedHostGroups. */ +/** Class containing DedicatedHostGroups operations. */ export class DedicatedHostGroupsImpl implements DedicatedHostGroups { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/dedicatedHosts.ts b/sdk/compute/arm-compute/src/operations/dedicatedHosts.ts index 85b0e02b073f..2a6f2a721b1b 100644 --- a/sdk/compute/arm-compute/src/operations/dedicatedHosts.ts +++ b/sdk/compute/arm-compute/src/operations/dedicatedHosts.ts @@ -32,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a DedicatedHosts. */ +/** Class containing DedicatedHosts operations. */ export class DedicatedHostsImpl implements DedicatedHosts { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/diskAccesses.ts b/sdk/compute/arm-compute/src/operations/diskAccesses.ts index 24919a8aee8b..cc5190d2b193 100644 --- a/sdk/compute/arm-compute/src/operations/diskAccesses.ts +++ b/sdk/compute/arm-compute/src/operations/diskAccesses.ts @@ -48,7 +48,7 @@ import { } from "../models"; /// -/** Class representing a DiskAccesses. */ +/** Class containing DiskAccesses operations. */ export class DiskAccessesImpl implements DiskAccesses { private readonly client: ComputeManagementClientContext; @@ -890,7 +890,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.diskAccess, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -923,7 +923,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.diskAccess1, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -946,7 +946,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -969,7 +969,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -991,7 +991,7 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1012,7 +1012,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -1026,7 +1026,7 @@ const getPrivateLinkResourcesOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.PrivateLinkResourceListResult } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1058,7 +1058,7 @@ const updateAPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = } }, requestBody: Parameters.privateEndpointConnection, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1082,7 +1082,7 @@ const getAPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1106,7 +1106,7 @@ const deleteAPrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1129,7 +1129,7 @@ const listPrivateEndpointConnectionsOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1150,7 +1150,7 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1171,7 +1171,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -1191,7 +1191,7 @@ const listPrivateEndpointConnectionsNextOperationSpec: coreClient.OperationSpec bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/diskEncryptionSets.ts b/sdk/compute/arm-compute/src/operations/diskEncryptionSets.ts index 2cf26050683f..caa751ea0525 100644 --- a/sdk/compute/arm-compute/src/operations/diskEncryptionSets.ts +++ b/sdk/compute/arm-compute/src/operations/diskEncryptionSets.ts @@ -40,7 +40,7 @@ import { } from "../models"; /// -/** Class representing a DiskEncryptionSets. */ +/** Class containing DiskEncryptionSets operations. */ export class DiskEncryptionSetsImpl implements DiskEncryptionSets { private readonly client: ComputeManagementClientContext; @@ -638,7 +638,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.diskEncryptionSet, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -671,7 +671,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.diskEncryptionSet1, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -694,7 +694,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -717,7 +717,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -739,7 +739,7 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -760,7 +760,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -777,7 +777,7 @@ const listAssociatedResourcesOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -798,7 +798,7 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -819,7 +819,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -839,7 +839,7 @@ const listAssociatedResourcesNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/diskRestorePointOperations.ts b/sdk/compute/arm-compute/src/operations/diskRestorePointOperations.ts index ae2e7900d461..156dbf225f0a 100644 --- a/sdk/compute/arm-compute/src/operations/diskRestorePointOperations.ts +++ b/sdk/compute/arm-compute/src/operations/diskRestorePointOperations.ts @@ -30,7 +30,7 @@ import { } from "../models"; /// -/** Class representing a DiskRestorePointOperations. */ +/** Class containing DiskRestorePointOperations operations. */ export class DiskRestorePointOperationsImpl implements DiskRestorePointOperations { private readonly client: ComputeManagementClientContext; @@ -450,7 +450,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -474,7 +474,7 @@ const listByRestorePointOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -507,7 +507,7 @@ const grantAccessOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.grantAccessData, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -533,7 +533,7 @@ const revokeAccessOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -556,7 +556,7 @@ const listByRestorePointNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/disks.ts b/sdk/compute/arm-compute/src/operations/disks.ts index b77387c9fdf4..6e50e5ee6b96 100644 --- a/sdk/compute/arm-compute/src/operations/disks.ts +++ b/sdk/compute/arm-compute/src/operations/disks.ts @@ -40,7 +40,7 @@ import { } from "../models"; /// -/** Class representing a Disks. */ +/** Class containing Disks operations. */ export class DisksImpl implements Disks { private readonly client: ComputeManagementClientContext; @@ -688,7 +688,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.disk, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -718,7 +718,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.disk1, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -738,7 +738,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.Disk } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -753,7 +753,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", httpMethod: "DELETE", responses: { 200: {}, 201: {}, 202: {}, 204: {} }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -771,7 +771,7 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.DiskList } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -788,7 +788,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.DiskList } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -812,7 +812,7 @@ const grantAccessOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.grantAccessData, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -828,7 +828,7 @@ const revokeAccessOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess", httpMethod: "POST", responses: { 200: {}, 201: {}, 202: {}, 204: {} }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -845,7 +845,7 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.DiskList } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -863,7 +863,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.DiskList } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/compute/arm-compute/src/operations/galleries.ts b/sdk/compute/arm-compute/src/operations/galleries.ts index 88041d330266..47b2e276f277 100644 --- a/sdk/compute/arm-compute/src/operations/galleries.ts +++ b/sdk/compute/arm-compute/src/operations/galleries.ts @@ -36,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a Galleries. */ +/** Class containing Galleries operations. */ export class GalleriesImpl implements Galleries { private readonly client: ComputeManagementClientContext; @@ -506,7 +506,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.gallery, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -539,7 +539,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.gallery1, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -562,7 +562,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.select1], + queryParameters: [Parameters.apiVersion, Parameters.select1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -585,7 +585,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -607,7 +607,7 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -627,7 +627,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -643,7 +643,7 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -664,7 +664,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/compute/arm-compute/src/operations/galleryApplicationVersions.ts b/sdk/compute/arm-compute/src/operations/galleryApplicationVersions.ts index fddc5cd3b083..09fffe4f28d1 100644 --- a/sdk/compute/arm-compute/src/operations/galleryApplicationVersions.ts +++ b/sdk/compute/arm-compute/src/operations/galleryApplicationVersions.ts @@ -32,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a GalleryApplicationVersions. */ +/** Class containing GalleryApplicationVersions operations. */ export class GalleryApplicationVersionsImpl implements GalleryApplicationVersions { private readonly client: ComputeManagementClientContext; @@ -566,7 +566,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.galleryApplicationVersion, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -601,7 +601,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.galleryApplicationVersion1, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -626,7 +626,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.expand7], + queryParameters: [Parameters.apiVersion, Parameters.expand7], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -651,7 +651,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -675,7 +675,7 @@ const listByGalleryApplicationOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -697,7 +697,7 @@ const listByGalleryApplicationNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/galleryApplications.ts b/sdk/compute/arm-compute/src/operations/galleryApplications.ts index a3bfee134983..26272e7e1b03 100644 --- a/sdk/compute/arm-compute/src/operations/galleryApplications.ts +++ b/sdk/compute/arm-compute/src/operations/galleryApplications.ts @@ -32,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a GalleryApplications. */ +/** Class containing GalleryApplications operations. */ export class GalleryApplicationsImpl implements GalleryApplications { private readonly client: ComputeManagementClientContext; @@ -500,7 +500,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.galleryApplication, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -534,7 +534,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.galleryApplication1, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -558,7 +558,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -582,7 +582,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -605,7 +605,7 @@ const listByGalleryOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -626,7 +626,7 @@ const listByGalleryNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/galleryImageVersions.ts b/sdk/compute/arm-compute/src/operations/galleryImageVersions.ts index 4ed5df4aeae4..6b58a63bcc10 100644 --- a/sdk/compute/arm-compute/src/operations/galleryImageVersions.ts +++ b/sdk/compute/arm-compute/src/operations/galleryImageVersions.ts @@ -32,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a GalleryImageVersions. */ +/** Class containing GalleryImageVersions operations. */ export class GalleryImageVersionsImpl implements GalleryImageVersions { private readonly client: ComputeManagementClientContext; @@ -543,7 +543,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.galleryImageVersion, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -578,7 +578,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.galleryImageVersion1, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -603,7 +603,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.expand7], + queryParameters: [Parameters.apiVersion, Parameters.expand7], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -628,7 +628,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -652,7 +652,7 @@ const listByGalleryImageOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -674,7 +674,7 @@ const listByGalleryImageNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/galleryImages.ts b/sdk/compute/arm-compute/src/operations/galleryImages.ts index b248edee3472..db4be652db95 100644 --- a/sdk/compute/arm-compute/src/operations/galleryImages.ts +++ b/sdk/compute/arm-compute/src/operations/galleryImages.ts @@ -32,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a GalleryImages. */ +/** Class containing GalleryImages operations. */ export class GalleryImagesImpl implements GalleryImages { private readonly client: ComputeManagementClientContext; @@ -500,7 +500,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.galleryImage, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -534,7 +534,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.galleryImage1, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -558,7 +558,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -582,7 +582,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -605,7 +605,7 @@ const listByGalleryOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -626,7 +626,7 @@ const listByGalleryNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/gallerySharingProfile.ts b/sdk/compute/arm-compute/src/operations/gallerySharingProfile.ts index 259394295f0c..ab622c070a17 100644 --- a/sdk/compute/arm-compute/src/operations/gallerySharingProfile.ts +++ b/sdk/compute/arm-compute/src/operations/gallerySharingProfile.ts @@ -19,7 +19,7 @@ import { GallerySharingProfileUpdateResponse } from "../models"; -/** Class representing a GallerySharingProfile. */ +/** Class containing GallerySharingProfile operations. */ export class GallerySharingProfileImpl implements GallerySharingProfile { private readonly client: ComputeManagementClientContext; @@ -146,7 +146,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.sharingUpdate, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/src/operations/images.ts b/sdk/compute/arm-compute/src/operations/images.ts index f46f9d3cc883..f4cd8fc54025 100644 --- a/sdk/compute/arm-compute/src/operations/images.ts +++ b/sdk/compute/arm-compute/src/operations/images.ts @@ -36,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a Images. */ +/** Class containing Images operations. */ export class ImagesImpl implements Images { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/logAnalytics.ts b/sdk/compute/arm-compute/src/operations/logAnalytics.ts index 7a814bd818bd..a77505950ad0 100644 --- a/sdk/compute/arm-compute/src/operations/logAnalytics.ts +++ b/sdk/compute/arm-compute/src/operations/logAnalytics.ts @@ -22,7 +22,7 @@ import { LogAnalyticsExportThrottledRequestsResponse } from "../models"; -/** Class representing a LogAnalytics. */ +/** Class containing LogAnalytics operations. */ export class LogAnalyticsImpl implements LogAnalytics { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/operations.ts b/sdk/compute/arm-compute/src/operations/operations.ts index b05d76ea4497..10d2139ea915 100644 --- a/sdk/compute/arm-compute/src/operations/operations.ts +++ b/sdk/compute/arm-compute/src/operations/operations.ts @@ -20,7 +20,7 @@ import { } from "../models"; /// -/** Class representing a Operations. */ +/** Class containing Operations operations. */ export class OperationsImpl implements Operations { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/proximityPlacementGroups.ts b/sdk/compute/arm-compute/src/operations/proximityPlacementGroups.ts index 352a76103563..27f5297f594b 100644 --- a/sdk/compute/arm-compute/src/operations/proximityPlacementGroups.ts +++ b/sdk/compute/arm-compute/src/operations/proximityPlacementGroups.ts @@ -34,7 +34,7 @@ import { } from "../models"; /// -/** Class representing a ProximityPlacementGroups. */ +/** Class containing ProximityPlacementGroups operations. */ export class ProximityPlacementGroupsImpl implements ProximityPlacementGroups { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/resourceSkus.ts b/sdk/compute/arm-compute/src/operations/resourceSkus.ts index 6cfeabbb4a73..3485caa1c137 100644 --- a/sdk/compute/arm-compute/src/operations/resourceSkus.ts +++ b/sdk/compute/arm-compute/src/operations/resourceSkus.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a ResourceSkus. */ +/** Class containing ResourceSkus operations. */ export class ResourceSkusImpl implements ResourceSkus { private readonly client: ComputeManagementClientContext; @@ -112,7 +112,11 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ResourceSkusResult } }, - queryParameters: [Parameters.filter, Parameters.apiVersion1], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.includeExtendedLocations + ], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -125,7 +129,11 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ResourceSkusResult } }, - queryParameters: [Parameters.filter, Parameters.apiVersion1], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.includeExtendedLocations + ], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/compute/arm-compute/src/operations/restorePointCollections.ts b/sdk/compute/arm-compute/src/operations/restorePointCollections.ts index 8f8f4155ef8f..b66ffe0c665c 100644 --- a/sdk/compute/arm-compute/src/operations/restorePointCollections.ts +++ b/sdk/compute/arm-compute/src/operations/restorePointCollections.ts @@ -36,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a RestorePointCollections. */ +/** Class containing RestorePointCollections operations. */ export class RestorePointCollectionsImpl implements RestorePointCollections { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/restorePoints.ts b/sdk/compute/arm-compute/src/operations/restorePoints.ts index 9cb022b057e0..416543cf21b0 100644 --- a/sdk/compute/arm-compute/src/operations/restorePoints.ts +++ b/sdk/compute/arm-compute/src/operations/restorePoints.ts @@ -22,7 +22,7 @@ import { RestorePointsGetResponse } from "../models"; -/** Class representing a RestorePoints. */ +/** Class containing RestorePoints operations. */ export class RestorePointsImpl implements RestorePoints { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/sharedGalleries.ts b/sdk/compute/arm-compute/src/operations/sharedGalleries.ts index 70d1a8a4dde2..5ab539dbdacf 100644 --- a/sdk/compute/arm-compute/src/operations/sharedGalleries.ts +++ b/sdk/compute/arm-compute/src/operations/sharedGalleries.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a SharedGalleries. */ +/** Class containing SharedGalleries operations. */ export class SharedGalleriesImpl implements SharedGalleries { private readonly client: ComputeManagementClientContext; @@ -146,7 +146,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.sharedTo], + queryParameters: [Parameters.apiVersion, Parameters.sharedTo], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -167,7 +167,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -188,7 +188,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.sharedTo], + queryParameters: [Parameters.apiVersion, Parameters.sharedTo], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/compute/arm-compute/src/operations/sharedGalleryImageVersions.ts b/sdk/compute/arm-compute/src/operations/sharedGalleryImageVersions.ts index 16aa219c28eb..fddb3afec751 100644 --- a/sdk/compute/arm-compute/src/operations/sharedGalleryImageVersions.ts +++ b/sdk/compute/arm-compute/src/operations/sharedGalleryImageVersions.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a SharedGalleryImageVersions. */ +/** Class containing SharedGalleryImageVersions operations. */ export class SharedGalleryImageVersionsImpl implements SharedGalleryImageVersions { private readonly client: ComputeManagementClientContext; @@ -205,7 +205,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.sharedTo], + queryParameters: [Parameters.apiVersion, Parameters.sharedTo], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -228,7 +228,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -251,7 +251,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.sharedTo], + queryParameters: [Parameters.apiVersion, Parameters.sharedTo], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/compute/arm-compute/src/operations/sharedGalleryImages.ts b/sdk/compute/arm-compute/src/operations/sharedGalleryImages.ts index 2a7ccd32ec5a..f3decf1cde24 100644 --- a/sdk/compute/arm-compute/src/operations/sharedGalleryImages.ts +++ b/sdk/compute/arm-compute/src/operations/sharedGalleryImages.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a SharedGalleryImages. */ +/** Class containing SharedGalleryImages operations. */ export class SharedGalleryImagesImpl implements SharedGalleryImages { private readonly client: ComputeManagementClientContext; @@ -166,7 +166,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.sharedTo], + queryParameters: [Parameters.apiVersion, Parameters.sharedTo], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -188,7 +188,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3], + queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -210,7 +210,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion3, Parameters.sharedTo], + queryParameters: [Parameters.apiVersion, Parameters.sharedTo], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/compute/arm-compute/src/operations/snapshots.ts b/sdk/compute/arm-compute/src/operations/snapshots.ts index be2c98b6ec1b..7ba99555f54b 100644 --- a/sdk/compute/arm-compute/src/operations/snapshots.ts +++ b/sdk/compute/arm-compute/src/operations/snapshots.ts @@ -40,7 +40,7 @@ import { } from "../models"; /// -/** Class representing a Snapshots. */ +/** Class containing Snapshots operations. */ export class SnapshotsImpl implements Snapshots { private readonly client: ComputeManagementClientContext; @@ -697,7 +697,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.snapshot, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -727,7 +727,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.snapshot1, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -747,7 +747,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.Snapshot } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -762,7 +762,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", httpMethod: "DELETE", responses: { 200: {}, 201: {}, 202: {}, 204: {} }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -780,7 +780,7 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.SnapshotList } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -797,7 +797,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.SnapshotList } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], serializer @@ -821,7 +821,7 @@ const grantAccessOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.grantAccessData, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -837,7 +837,7 @@ const revokeAccessOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess", httpMethod: "POST", responses: { 200: {}, 201: {}, 202: {}, 204: {} }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -854,7 +854,7 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.SnapshotList } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -872,7 +872,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.SnapshotList } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/compute/arm-compute/src/operations/sshPublicKeys.ts b/sdk/compute/arm-compute/src/operations/sshPublicKeys.ts index 62a95aeab513..ba5f8f33c8eb 100644 --- a/sdk/compute/arm-compute/src/operations/sshPublicKeys.ts +++ b/sdk/compute/arm-compute/src/operations/sshPublicKeys.ts @@ -36,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a SshPublicKeys. */ +/** Class containing SshPublicKeys operations. */ export class SshPublicKeysImpl implements SshPublicKeys { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/usageOperations.ts b/sdk/compute/arm-compute/src/operations/usageOperations.ts index de2355eec314..6b9b070c3d60 100644 --- a/sdk/compute/arm-compute/src/operations/usageOperations.ts +++ b/sdk/compute/arm-compute/src/operations/usageOperations.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a UsageOperations. */ +/** Class containing UsageOperations operations. */ export class UsageOperationsImpl implements UsageOperations { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineExtensionImages.ts b/sdk/compute/arm-compute/src/operations/virtualMachineExtensionImages.ts index 2f0c090e6472..0d85d34f9ac1 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineExtensionImages.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineExtensionImages.ts @@ -20,7 +20,7 @@ import { VirtualMachineExtensionImagesListVersionsResponse } from "../models"; -/** Class representing a VirtualMachineExtensionImages. */ +/** Class containing VirtualMachineExtensionImages operations. */ export class VirtualMachineExtensionImagesImpl implements VirtualMachineExtensionImages { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineExtensions.ts b/sdk/compute/arm-compute/src/operations/virtualMachineExtensions.ts index a05ea72cfde3..7f913a6945d0 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineExtensions.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineExtensions.ts @@ -27,7 +27,7 @@ import { VirtualMachineExtensionsListResponse } from "../models"; -/** Class representing a VirtualMachineExtensions. */ +/** Class containing VirtualMachineExtensions operations. */ export class VirtualMachineExtensionsImpl implements VirtualMachineExtensions { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineImages.ts b/sdk/compute/arm-compute/src/operations/virtualMachineImages.ts index 8fddd13801b0..bce4a7d79c02 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineImages.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineImages.ts @@ -24,7 +24,7 @@ import { VirtualMachineImagesListSkusResponse } from "../models"; -/** Class representing a VirtualMachineImages. */ +/** Class containing VirtualMachineImages operations. */ export class VirtualMachineImagesImpl implements VirtualMachineImages { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineImagesEdgeZone.ts b/sdk/compute/arm-compute/src/operations/virtualMachineImagesEdgeZone.ts index 82ea168f59d5..24af47951de0 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineImagesEdgeZone.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineImagesEdgeZone.ts @@ -24,7 +24,7 @@ import { VirtualMachineImagesEdgeZoneListSkusResponse } from "../models"; -/** Class representing a VirtualMachineImagesEdgeZone. */ +/** Class containing VirtualMachineImagesEdgeZone operations. */ export class VirtualMachineImagesEdgeZoneImpl implements VirtualMachineImagesEdgeZone { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineRunCommands.ts b/sdk/compute/arm-compute/src/operations/virtualMachineRunCommands.ts index 92a5715997e3..1e4f9a0284a2 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineRunCommands.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineRunCommands.ts @@ -39,7 +39,7 @@ import { } from "../models"; /// -/** Class representing a VirtualMachineRunCommands. */ +/** Class containing VirtualMachineRunCommands operations. */ export class VirtualMachineRunCommandsImpl implements VirtualMachineRunCommands { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetExtensions.ts b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetExtensions.ts index c38ed5aa5d29..700bf58a7d36 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetExtensions.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetExtensions.ts @@ -32,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a VirtualMachineScaleSetExtensions. */ +/** Class containing VirtualMachineScaleSetExtensions operations. */ export class VirtualMachineScaleSetExtensionsImpl implements VirtualMachineScaleSetExtensions { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetRollingUpgrades.ts b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetRollingUpgrades.ts index a97f6c39c8f8..7ce65359c957 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetRollingUpgrades.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetRollingUpgrades.ts @@ -21,7 +21,7 @@ import { VirtualMachineScaleSetRollingUpgradesGetLatestResponse } from "../models"; -/** Class representing a VirtualMachineScaleSetRollingUpgrades. */ +/** Class containing VirtualMachineScaleSetRollingUpgrades operations. */ export class VirtualMachineScaleSetRollingUpgradesImpl implements VirtualMachineScaleSetRollingUpgrades { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMExtensions.ts b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMExtensions.ts index 3c8fcc165020..205cac6fc056 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMExtensions.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMExtensions.ts @@ -27,7 +27,7 @@ import { VirtualMachineScaleSetVMExtensionsListResponse } from "../models"; -/** Class representing a VirtualMachineScaleSetVMExtensions. */ +/** Class containing VirtualMachineScaleSetVMExtensions operations. */ export class VirtualMachineScaleSetVMExtensionsImpl implements VirtualMachineScaleSetVMExtensions { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMRunCommands.ts b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMRunCommands.ts index abdcff3a6677..e311c0673959 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMRunCommands.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMRunCommands.ts @@ -32,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a VirtualMachineScaleSetVMRunCommands. */ +/** Class containing VirtualMachineScaleSetVMRunCommands operations. */ export class VirtualMachineScaleSetVMRunCommandsImpl implements VirtualMachineScaleSetVMRunCommands { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMs.ts b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMs.ts index 74c253d7eb26..5c6c1ba797f1 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMs.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSetVMs.ts @@ -45,7 +45,7 @@ import { } from "../models"; /// -/** Class representing a VirtualMachineScaleSetVMs. */ +/** Class containing VirtualMachineScaleSetVMs operations. */ export class VirtualMachineScaleSetVMsImpl implements VirtualMachineScaleSetVMs { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSets.ts b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSets.ts index df1825ba82af..e72fbf047f5f 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineScaleSets.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineScaleSets.ts @@ -69,7 +69,7 @@ import { } from "../models"; /// -/** Class representing a VirtualMachineScaleSets. */ +/** Class containing VirtualMachineScaleSets operations. */ export class VirtualMachineScaleSetsImpl implements VirtualMachineScaleSets { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachineSizes.ts b/sdk/compute/arm-compute/src/operations/virtualMachineSizes.ts index a83a1e0cfa7c..edc5552a3c2a 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachineSizes.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachineSizes.ts @@ -20,7 +20,7 @@ import { } from "../models"; /// -/** Class representing a VirtualMachineSizes. */ +/** Class containing VirtualMachineSizes operations. */ export class VirtualMachineSizesImpl implements VirtualMachineSizes { private readonly client: ComputeManagementClientContext; diff --git a/sdk/compute/arm-compute/src/operations/virtualMachines.ts b/sdk/compute/arm-compute/src/operations/virtualMachines.ts index 0b2318ab3fe1..da667704f5ca 100644 --- a/sdk/compute/arm-compute/src/operations/virtualMachines.ts +++ b/sdk/compute/arm-compute/src/operations/virtualMachines.ts @@ -69,7 +69,7 @@ import { } from "../models"; /// -/** Class representing a VirtualMachines. */ +/** Class containing VirtualMachines operations. */ export class VirtualMachinesImpl implements VirtualMachines { private readonly client: ComputeManagementClientContext; @@ -1986,7 +1986,7 @@ const deallocateOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate", httpMethod: "POST", responses: { 200: {}, 201: {}, 202: {}, 204: {} }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion, Parameters.hibernate], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/compute/arm-compute/tsconfig.json b/sdk/compute/arm-compute/tsconfig.json index 1755ff4179ec..603440b3a359 100644 --- a/sdk/compute/arm-compute/tsconfig.json +++ b/sdk/compute/arm-compute/tsconfig.json @@ -11,7 +11,7 @@ "forceConsistentCasingInFileNames": true, "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, "include": ["./src/**/*.ts"], diff --git a/sdk/confidentialledger/confidential-ledger-rest/karma.conf.js b/sdk/confidentialledger/confidential-ledger-rest/karma.conf.js index d052f2f1f8b2..16a65a67ec21 100644 --- a/sdk/confidentialledger/confidential-ledger-rest/karma.conf.js +++ b/sdk/confidentialledger/confidential-ledger-rest/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode, -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function (config) { config.set({ diff --git a/sdk/confidentialledger/confidential-ledger-rest/package.json b/sdk/confidentialledger/confidential-ledger-rest/package.json index f4ed459b6345..acdd9f26c8f9 100644 --- a/sdk/confidentialledger/confidential-ledger-rest/package.json +++ b/sdk/confidentialledger/confidential-ledger-rest/package.json @@ -59,7 +59,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:debug": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", @@ -72,7 +72,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -85,7 +84,7 @@ "autoPublish": false, "dependencies": { "@azure/core-auth": "^1.3.0", - "@azure-rest/core-client": "1.0.0-beta.6", + "@azure-rest/core-client": "1.0.0-beta.7", "@azure/core-rest-pipeline": "^1.1.0", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" @@ -94,7 +93,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/identity": "^1.1.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.13.2", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", diff --git a/sdk/confidentialledger/confidential-ledger-rest/test/public/listEnclaveQuotes.spec.ts b/sdk/confidentialledger/confidential-ledger-rest/test/public/listEnclaveQuotes.spec.ts index 8d6fec6918bd..56ad768b87cc 100644 --- a/sdk/confidentialledger/confidential-ledger-rest/test/public/listEnclaveQuotes.spec.ts +++ b/sdk/confidentialledger/confidential-ledger-rest/test/public/listEnclaveQuotes.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { ConfidentialLedgerRestClient } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; diff --git a/sdk/confidentialledger/confidential-ledger-rest/test/public/utils/recordedClient.ts b/sdk/confidentialledger/confidential-ledger-rest/test/public/utils/recordedClient.ts index 5b792e013323..32120bcd496e 100644 --- a/sdk/confidentialledger/confidential-ledger-rest/test/public/utils/recordedClient.ts +++ b/sdk/confidentialledger/confidential-ledger-rest/test/public/utils/recordedClient.ts @@ -5,7 +5,7 @@ import { Context } from "mocha"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import ConfidentialLedger, { ConfidentialLedgerRestClient } from "../../../src"; import { ClientSecretCredential } from "@azure/identity"; diff --git a/sdk/containerregistry/container-registry/CHANGELOG.md b/sdk/containerregistry/container-registry/CHANGELOG.md index 3dd4ee6dfc78..3b4194d98418 100644 --- a/sdk/containerregistry/container-registry/CHANGELOG.md +++ b/sdk/containerregistry/container-registry/CHANGELOG.md @@ -1,7 +1,30 @@ # Release History -## 1.0.0-beta.4 (Unreleased) +## 1.0.0-beta.6 (Unreleased) +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.5 (2021-09-08) + +### Breaking Changes + +- Replace `authenticationScope` with `audience` in `ContainerRegistryClientOptions`. An extensible enum `KnownContainerRegistryAudience` is introduced which has known audience values. + +## 1.0.0-beta.4 (2021-08-17) + +### Breaking Changes + +- `UpdateManifestPropertiesOptions` is no longer optional. + +### Bug Fixes + +- Fixed issue of thrown `TypeError: _a.spanContext is not a function` [Issue 16842](https://github.com/Azure/azure-sdk-for-js/issues/16842). ## 1.0.0-beta.3 (2021-06-08) diff --git a/sdk/containerregistry/container-registry/README.md b/sdk/containerregistry/container-registry/README.md index b73c383faa70..a38c15010bb6 100644 --- a/sdk/containerregistry/container-registry/README.md +++ b/sdk/containerregistry/container-registry/README.md @@ -10,6 +10,7 @@ Use the client library for Azure Container Registry to: - Delete images and artifacts, repositories and tags Key links: + - [Source code][source] - [Package (NPM)][package] - [API reference documentation][api_docs] @@ -58,12 +59,17 @@ To use this client library in the browser, first you need to use a bundler. For The [Azure Identity library][identity] provides easy Azure Active Directory support for authentication. ```javascript -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential } = require("@azure/identity"); const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT; // Create a ContainerRegistryClient that will authenticate through Active Directory -const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); +const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud +}); ``` Note that these samples assume you have a `CONTAINER_REGISTRY_ENDPOINT` environment variable set, which is the URL including the name of the login server and the `https://` prefix. @@ -73,10 +79,13 @@ Note that these samples assume you have a `CONTAINER_REGISTRY_ENDPOINT` environm To authenticate with a registry in a [National Cloud](https://docs.microsoft.com/azure/active-directory/develop/authentication-national-cloud), you will need to make the following additions to your configuration: - Set the `authorityHost` in the credential options or via the `AZURE_AUTHORITY_HOST` environment variable -- Set the `authenticationScope` in `ContainerRegistryClientOptions` +- Set the `audience` in `ContainerRegistryClientOptions` ```javascript -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential, AzureAuthorityHosts } = require("@azure/identity"); const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT; @@ -85,7 +94,7 @@ const client = new ContainerRegistryClient( endpoint, new DefaultAzureCredential({ authorityHost: AzureAuthorityHosts.AzureChina }), { - authenticationScope: "https://management.chinacloudapi.cn/.default" + audience: KnownContainerRegistryAudience.AzureResourceManagerChina } ); ``` @@ -105,14 +114,19 @@ For more information please see [Container Registry Concepts](https://docs.micro Iterate through the collection of repositories in the registry. ```javascript -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential } = require("@azure/identity"); async function main() { // endpoint should be in the form of "https://myregistryname.azurecr.io" // where "myregistryname" is the actual name of your registry const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); console.log("Listing repositories"); const iterator = client.listRepositoryNames(); @@ -129,14 +143,19 @@ main().catch((err) => { ### List tags with anonymous access ```javascript -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); async function main() { // Get the service endpoint from the environment const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient for anonymous access - const client = new ContainerRegistryClient(endpoint); + const client = new ContainerRegistryClient(endpoint, { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); // Obtain a RegistryArtifact object to get access to image operations const image = client.getArtifact("library/hello-world", "latest"); @@ -159,7 +178,10 @@ main().catch((err) => { ### Set artifact properties ```javascript -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential } = require("@azure/identity"); async function main() { @@ -167,11 +189,13 @@ async function main() { const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient and RegistryArtifact to access image operations - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); const image = client.getArtifact("library/hello-world", "v1"); // Set permissions on the image's "latest" tag - await image.setTagProperties("latest", { canWrite: false, canDelete: false }); + await image.updateTagProperties("latest", { canWrite: false, canDelete: false }); } main().catch((err) => { @@ -182,20 +206,25 @@ main().catch((err) => { ### Delete images ```javascript -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential } = require("@azure/identity"); async function main() { // Get the service endpoint from the environment const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); // Iterate through repositories const repositoryNames = client.listRepositoryNames(); for await (const repositoryName of repositoryNames) { const repository = client.getRepository(repositoryName); - // Obtain the images ordered from newest to oldest + // Obtain the images ordered from newest to oldest by passing the `orderBy` option const imageManifests = repository.listManifestProperties({ orderBy: "LastUpdatedOnDescending" }); @@ -203,7 +232,8 @@ async function main() { let imageCount = 0; // Delete images older than the first three. for await (const manifest of imageManifests) { - if (imageCount++ > imagesToKeep) { + imageCount++; + if (imageCount > imagesToKeep) { const image = repository.getArtifact(manifest.digest); console.log(`Deleting image with digest ${manifest.digest}`); console.log(` Deleting the following tags from the image:`); diff --git a/sdk/containerregistry/container-registry/karma.conf.js b/sdk/containerregistry/container-registry/karma.conf.js index ed0a112a3216..a32d29b6ae15 100644 --- a/sdk/containerregistry/container-registry/karma.conf.js +++ b/sdk/containerregistry/container-registry/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/containerregistry/container-registry/package.json b/sdk/containerregistry/container-registry/package.json index 6a4fb2e32953..e7848610bf69 100644 --- a/sdk/containerregistry/container-registry/package.json +++ b/sdk/containerregistry/container-registry/package.json @@ -1,6 +1,6 @@ { "name": "@azure/container-registry", - "version": "1.0.0-beta.4", + "version": "1.0.0-beta.6", "description": "An isomorphic client library for the Azure Container Registry service.", "sdk-type": "client", "main": "dist/index.js", @@ -29,7 +29,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -43,7 +43,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -87,9 +86,8 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", - "@azure/ms-rest-nodeauth": "^3.0.8", - "@azure/test-utils-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/chai": "^4.1.6", "@types/chai-as-promised": "^7.1.0", diff --git a/sdk/containerregistry/container-registry/review/container-registry.api.md b/sdk/containerregistry/container-registry/review/container-registry.api.md index 7510e634f024..742d081912be 100644 --- a/sdk/containerregistry/container-registry/review/container-registry.api.md +++ b/sdk/containerregistry/container-registry/review/container-registry.api.md @@ -61,7 +61,7 @@ export class ContainerRegistryClient { // @public export interface ContainerRegistryClientOptions extends PipelineOptions { - authenticationScope?: string; + audience?: string; } // @public @@ -116,66 +116,47 @@ export interface GetTagPropertiesOptions extends OperationOptions { // @public export enum KnownArtifactArchitecture { - // (undocumented) Amd64 = "amd64", - // (undocumented) Arm = "arm", - // (undocumented) Arm64 = "arm64", - // (undocumented) I386 = "386", - // (undocumented) Mips = "mips", - // (undocumented) Mips64 = "mips64", - // (undocumented) Mips64Le = "mips64le", - // (undocumented) MipsLe = "mipsle", - // (undocumented) Ppc64 = "ppc64", - // (undocumented) Ppc64Le = "ppc64le", - // (undocumented) RiscV64 = "riscv64", - // (undocumented) S390X = "s390x", - // (undocumented) Wasm = "wasm" } // @public export enum KnownArtifactOperatingSystem { - // (undocumented) Aix = "aix", - // (undocumented) Android = "android", - // (undocumented) Darwin = "darwin", - // (undocumented) Dragonfly = "dragonfly", - // (undocumented) FreeBsd = "freebsd", - // (undocumented) Illumos = "illumos", - // (undocumented) iOS = "ios", - // (undocumented) JS = "js", - // (undocumented) Linux = "linux", - // (undocumented) NetBsd = "netbsd", - // (undocumented) OpenBsd = "openbsd", - // (undocumented) Plan9 = "plan9", - // (undocumented) Solaris = "solaris", - // (undocumented) Windows = "windows" } +// @public +export enum KnownContainerRegistryAudience { + AzureResourceManagerChina = "https://management.chinacloudapi.cn", + AzureResourceManagerGermany = "https://management.microsoftazure.de", + AzureResourceManagerGovernment = "https://management.usgovcloudapi.net", + AzureResourceManagerPublicCloud = "https://management.azure.com" +} + // @public export interface ListManifestPropertiesOptions extends OperationOptions { orderBy?: ManifestOrderBy; diff --git a/sdk/containerregistry/container-registry/samples-dev/anonymousListTags.ts b/sdk/containerregistry/container-registry/samples-dev/anonymousListTags.ts index 6edeff60e9d4..9a31bd1b1788 100644 --- a/sdk/containerregistry/container-registry/samples-dev/anonymousListTags.ts +++ b/sdk/containerregistry/container-registry/samples-dev/anonymousListTags.ts @@ -11,7 +11,7 @@ // in a public registry that belongs to someone else. In this case, the user would need to access // the registry anonymously. Anonymous access allows a user to list all the collections there, but // they wouldn't have permissions to modify or delete any of the images in the registry. -import { ContainerRegistryClient } from "@azure/container-registry"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "@azure/container-registry"; import * as dotenv from "dotenv"; dotenv.config(); @@ -20,7 +20,9 @@ async function main() { const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient for anonymous access - const client = new ContainerRegistryClient(endpoint); + const client = new ContainerRegistryClient(endpoint, { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); // Obtain a RegistryArtifact object to get access to image operations const image = client.getArtifact("library/hello-world", "latest"); diff --git a/sdk/containerregistry/container-registry/samples-dev/containerRegistryClient.ts b/sdk/containerregistry/container-registry/samples-dev/containerRegistryClient.ts index 27891c9a2a5e..70453919ce56 100644 --- a/sdk/containerregistry/container-registry/samples-dev/containerRegistryClient.ts +++ b/sdk/containerregistry/container-registry/samples-dev/containerRegistryClient.ts @@ -6,7 +6,7 @@ * @azsdk-weight 10 */ -import { ContainerRegistryClient } from "@azure/container-registry"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "@azure/container-registry"; import { DefaultAzureCredential } from "@azure/identity"; import * as dotenv from "dotenv"; dotenv.config(); @@ -15,7 +15,9 @@ export async function main() { // endpoint should be in the form of "https://myregistryname.azurecr.io" // where "myregistryname" is the actual name of your registry const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); await listRepositoryNames(client); // Advanced: listing by pages diff --git a/sdk/containerregistry/container-registry/samples-dev/deleteImages.ts b/sdk/containerregistry/container-registry/samples-dev/deleteImages.ts index c0b1947341c2..25b12e8bd2c0 100644 --- a/sdk/containerregistry/container-registry/samples-dev/deleteImages.ts +++ b/sdk/containerregistry/container-registry/samples-dev/deleteImages.ts @@ -9,7 +9,7 @@ // A common use case for Azure Container Registries is to scan the repositories // in a registry and delete all but the most recent n images, or all images // older than a certain date. -import { ContainerRegistryClient } from "@azure/container-registry"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "@azure/container-registry"; import { DefaultAzureCredential } from "@azure/identity"; import * as dotenv from "dotenv"; dotenv.config(); @@ -18,7 +18,9 @@ async function main() { // Get the service endpoint from the environment const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); // Iterate through repositories const repositoryNames = client.listRepositoryNames(); @@ -32,7 +34,8 @@ async function main() { let imageCount = 0; // Delete images older than the first three. for await (const manifest of imageManifests) { - if (imageCount++ > imagesToKeep) { + imageCount++; + if (imageCount > imagesToKeep) { const image = repository.getArtifact(manifest.digest); console.log(`Deleting image with digest ${manifest.digest}`); console.log(` Deleting the following tags from the image:`); diff --git a/sdk/containerregistry/container-registry/samples-dev/repositoryAndArtifact.ts b/sdk/containerregistry/container-registry/samples-dev/repositoryAndArtifact.ts index 46a295358e85..4235d2597f56 100644 --- a/sdk/containerregistry/container-registry/samples-dev/repositoryAndArtifact.ts +++ b/sdk/containerregistry/container-registry/samples-dev/repositoryAndArtifact.ts @@ -10,7 +10,8 @@ import { ContainerRepository, ArtifactManifestProperties, ContainerRegistryClient, - RegistryArtifact + RegistryArtifact, + KnownContainerRegistryAudience } from "@azure/container-registry"; import { DefaultAzureCredential } from "@azure/identity"; import * as dotenv from "dotenv"; @@ -23,7 +24,9 @@ export async function main() { const repositoryName = process.env.REPOSITORY_NAME || ""; const pageSize = 1; - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); const repository = client.getRepository(repositoryName); await getProperties(repository); @@ -61,6 +64,7 @@ export async function main() { async function listTagProperties(artifact: RegistryArtifact): Promise { const tags: string[] = []; + // Obtain the tags ordered from newest to oldest by passing the `orderBy` option const iterator = artifact.listTagProperties({ orderBy: "LastUpdatedOnAscending" }); for await (const tag of iterator) { tags.push(tag.name); diff --git a/sdk/containerregistry/container-registry/samples-dev/setImageProperties.ts b/sdk/containerregistry/container-registry/samples-dev/setImageProperties.ts index a070bbbe0cb6..98ece68736ae 100644 --- a/sdk/containerregistry/container-registry/samples-dev/setImageProperties.ts +++ b/sdk/containerregistry/container-registry/samples-dev/setImageProperties.ts @@ -8,7 +8,7 @@ // This sample assumes the registry has a repository `hello-world` with image tagged `v1`. -import { ContainerRegistryClient } from "@azure/container-registry"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "@azure/container-registry"; import { DefaultAzureCredential } from "@azure/identity"; import * as dotenv from "dotenv"; dotenv.config(); @@ -17,9 +17,13 @@ async function main() { // Get the service endpoint from the environment const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); - const image = client.getArtifact("library/hello-world", "latest"); - await image.updateTagProperties("v1", { + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); + const image = client.getArtifact("library/hello-world", "v1"); + + // Set permissions on the image's "latest" tag + await image.updateTagProperties("latest", { canWrite: false, canDelete: false }); diff --git a/sdk/containerregistry/container-registry/samples/v1/javascript/README.md b/sdk/containerregistry/container-registry/samples/v1/javascript/README.md index d4b62d3881ef..78343df98ad7 100644 --- a/sdk/containerregistry/container-registry/samples/v1/javascript/README.md +++ b/sdk/containerregistry/container-registry/samples/v1/javascript/README.md @@ -22,7 +22,7 @@ These sample programs show how to use the JavaScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). You need [an Azure subscription][freesub] and the following Azure resources to run these sample programs: diff --git a/sdk/containerregistry/container-registry/samples/v1/javascript/anonymousListTags.js b/sdk/containerregistry/container-registry/samples/v1/javascript/anonymousListTags.js index 318849a0ccb4..97811eeb2a59 100644 --- a/sdk/containerregistry/container-registry/samples/v1/javascript/anonymousListTags.js +++ b/sdk/containerregistry/container-registry/samples/v1/javascript/anonymousListTags.js @@ -9,7 +9,10 @@ // in a public registry that belongs to someone else. In this case, the user would need to access // the registry anonymously. Anonymous access allows a user to list all the collections there, but // they wouldn't have permissions to modify or delete any of the images in the registry. -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const dotenv = require("dotenv"); dotenv.config(); @@ -18,7 +21,9 @@ async function main() { const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient for anonymous access - const client = new ContainerRegistryClient(endpoint); + const client = new ContainerRegistryClient(endpoint, { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); // Obtain a RegistryArtifact object to get access to image operations const image = client.getArtifact("library/hello-world", "latest"); diff --git a/sdk/containerregistry/container-registry/samples/v1/javascript/containerRegistryClient.js b/sdk/containerregistry/container-registry/samples/v1/javascript/containerRegistryClient.js index 1722300726aa..502ce4f7e648 100644 --- a/sdk/containerregistry/container-registry/samples/v1/javascript/containerRegistryClient.js +++ b/sdk/containerregistry/container-registry/samples/v1/javascript/containerRegistryClient.js @@ -5,7 +5,10 @@ * @summary Lists repository names and deletes a repository. */ -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential } = require("@azure/identity"); const dotenv = require("dotenv"); dotenv.config(); @@ -14,7 +17,9 @@ async function main() { // endpoint should be in the form of "https://myregistryname.azurecr.io" // where "myregistryname" is the actual name of your registry const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); await listRepositoryNames(client); // Advanced: listing by pages diff --git a/sdk/containerregistry/container-registry/samples/v1/javascript/deleteImages.js b/sdk/containerregistry/container-registry/samples/v1/javascript/deleteImages.js index 29573681a926..77475b3d418c 100644 --- a/sdk/containerregistry/container-registry/samples/v1/javascript/deleteImages.js +++ b/sdk/containerregistry/container-registry/samples/v1/javascript/deleteImages.js @@ -8,7 +8,10 @@ // A common use case for Azure Container Registries is to scan the repositories // in a registry and delete all but the most recent n images, or all images // older than a certain date. -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential } = require("@azure/identity"); const dotenv = require("dotenv"); dotenv.config(); @@ -17,7 +20,9 @@ async function main() { // Get the service endpoint from the environment const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); // Iterate through repositories const repositoryNames = client.listRepositoryNames(); @@ -31,7 +36,8 @@ async function main() { let imageCount = 0; // Delete images older than the first three. for await (const manifest of imageManifests) { - if (imageCount++ > imagesToKeep) { + imageCount++; + if (imageCount > imagesToKeep) { const image = repository.getArtifact(manifest.digest); console.log(`Deleting image with digest ${manifest.digest}`); console.log(` Deleting the following tags from the image:`); diff --git a/sdk/containerregistry/container-registry/samples/v1/javascript/repositoryAndArtifact.js b/sdk/containerregistry/container-registry/samples/v1/javascript/repositoryAndArtifact.js index c966cddfd827..a31d6282bb44 100644 --- a/sdk/containerregistry/container-registry/samples/v1/javascript/repositoryAndArtifact.js +++ b/sdk/containerregistry/container-registry/samples/v1/javascript/repositoryAndArtifact.js @@ -5,7 +5,10 @@ * @summary Uses ContainerRepository and RegistryArtifact to work with manifests, tags, and artifacts. */ -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential } = require("@azure/identity"); const dotenv = require("dotenv"); dotenv.config(); @@ -17,7 +20,9 @@ async function main() { const repositoryName = process.env.REPOSITORY_NAME || ""; const pageSize = 1; - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); const repository = client.getRepository(repositoryName); await getProperties(repository); @@ -55,6 +60,7 @@ async function main() { async function listTagProperties(artifact) { const tags = []; + // Obtain the tags ordered from newest to oldest by passing the `orderBy` option const iterator = artifact.listTagProperties({ orderBy: "LastUpdatedOnAscending" }); for await (const tag of iterator) { tags.push(tag.name); diff --git a/sdk/containerregistry/container-registry/samples/v1/javascript/setImageProperties.js b/sdk/containerregistry/container-registry/samples/v1/javascript/setImageProperties.js index f4b709ad9d6e..4e7c3b8f97d8 100644 --- a/sdk/containerregistry/container-registry/samples/v1/javascript/setImageProperties.js +++ b/sdk/containerregistry/container-registry/samples/v1/javascript/setImageProperties.js @@ -7,7 +7,10 @@ // This sample assumes the registry has a repository `hello-world` with image tagged `v1`. -const { ContainerRegistryClient } = require("@azure/container-registry"); +const { + ContainerRegistryClient, + KnownContainerRegistryAudience +} = require("@azure/container-registry"); const { DefaultAzureCredential } = require("@azure/identity"); const dotenv = require("dotenv"); dotenv.config(); @@ -16,9 +19,13 @@ async function main() { // Get the service endpoint from the environment const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); - const image = client.getArtifact("library/hello-world", "latest"); - await image.updateTagProperties("v1", { + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); + const image = client.getArtifact("library/hello-world", "v1"); + + // Set permissions on the image's "latest" tag + await image.updateTagProperties("latest", { canWrite: false, canDelete: false }); diff --git a/sdk/containerregistry/container-registry/samples/v1/typescript/README.md b/sdk/containerregistry/container-registry/samples/v1/typescript/README.md index e0327fe19335..ae2147c9a66d 100644 --- a/sdk/containerregistry/container-registry/samples/v1/typescript/README.md +++ b/sdk/containerregistry/container-registry/samples/v1/typescript/README.md @@ -22,7 +22,7 @@ These sample programs show how to use the TypeScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +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: diff --git a/sdk/containerregistry/container-registry/samples/v1/typescript/src/anonymousListTags.ts b/sdk/containerregistry/container-registry/samples/v1/typescript/src/anonymousListTags.ts index ba1f6857822b..9f312c0c4239 100644 --- a/sdk/containerregistry/container-registry/samples/v1/typescript/src/anonymousListTags.ts +++ b/sdk/containerregistry/container-registry/samples/v1/typescript/src/anonymousListTags.ts @@ -9,7 +9,7 @@ // in a public registry that belongs to someone else. In this case, the user would need to access // the registry anonymously. Anonymous access allows a user to list all the collections there, but // they wouldn't have permissions to modify or delete any of the images in the registry. -import { ContainerRegistryClient } from "@azure/container-registry"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "@azure/container-registry"; import * as dotenv from "dotenv"; dotenv.config(); @@ -18,7 +18,9 @@ async function main() { const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient for anonymous access - const client = new ContainerRegistryClient(endpoint); + const client = new ContainerRegistryClient(endpoint, { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); // Obtain a RegistryArtifact object to get access to image operations const image = client.getArtifact("library/hello-world", "latest"); diff --git a/sdk/containerregistry/container-registry/samples/v1/typescript/src/containerRegistryClient.ts b/sdk/containerregistry/container-registry/samples/v1/typescript/src/containerRegistryClient.ts index 04b413ad19ba..bb4da3cff64b 100644 --- a/sdk/containerregistry/container-registry/samples/v1/typescript/src/containerRegistryClient.ts +++ b/sdk/containerregistry/container-registry/samples/v1/typescript/src/containerRegistryClient.ts @@ -5,7 +5,7 @@ * @summary Lists repository names and deletes a repository. */ -import { ContainerRegistryClient } from "@azure/container-registry"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "@azure/container-registry"; import { DefaultAzureCredential } from "@azure/identity"; import * as dotenv from "dotenv"; dotenv.config(); @@ -14,7 +14,9 @@ export async function main() { // endpoint should be in the form of "https://myregistryname.azurecr.io" // where "myregistryname" is the actual name of your registry const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); await listRepositoryNames(client); // Advanced: listing by pages diff --git a/sdk/containerregistry/container-registry/samples/v1/typescript/src/deleteImages.ts b/sdk/containerregistry/container-registry/samples/v1/typescript/src/deleteImages.ts index 43945bc01b7b..912f8609106c 100644 --- a/sdk/containerregistry/container-registry/samples/v1/typescript/src/deleteImages.ts +++ b/sdk/containerregistry/container-registry/samples/v1/typescript/src/deleteImages.ts @@ -8,7 +8,7 @@ // A common use case for Azure Container Registries is to scan the repositories // in a registry and delete all but the most recent n images, or all images // older than a certain date. -import { ContainerRegistryClient } from "@azure/container-registry"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "@azure/container-registry"; import { DefaultAzureCredential } from "@azure/identity"; import * as dotenv from "dotenv"; dotenv.config(); @@ -17,7 +17,9 @@ async function main() { // Get the service endpoint from the environment const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); // Iterate through repositories const repositoryNames = client.listRepositoryNames(); @@ -31,7 +33,8 @@ async function main() { let imageCount = 0; // Delete images older than the first three. for await (const manifest of imageManifests) { - if (imageCount++ > imagesToKeep) { + imageCount++; + if (imageCount > imagesToKeep) { const image = repository.getArtifact(manifest.digest); console.log(`Deleting image with digest ${manifest.digest}`); console.log(` Deleting the following tags from the image:`); diff --git a/sdk/containerregistry/container-registry/samples/v1/typescript/src/repositoryAndArtifact.ts b/sdk/containerregistry/container-registry/samples/v1/typescript/src/repositoryAndArtifact.ts index 4698f27114a5..0988bb43c1bc 100644 --- a/sdk/containerregistry/container-registry/samples/v1/typescript/src/repositoryAndArtifact.ts +++ b/sdk/containerregistry/container-registry/samples/v1/typescript/src/repositoryAndArtifact.ts @@ -9,7 +9,8 @@ import { ContainerRepository, ArtifactManifestProperties, ContainerRegistryClient, - RegistryArtifact + RegistryArtifact, + KnownContainerRegistryAudience } from "@azure/container-registry"; import { DefaultAzureCredential } from "@azure/identity"; import * as dotenv from "dotenv"; @@ -22,7 +23,9 @@ export async function main() { const repositoryName = process.env.REPOSITORY_NAME || ""; const pageSize = 1; - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); const repository = client.getRepository(repositoryName); await getProperties(repository); @@ -60,6 +63,7 @@ export async function main() { async function listTagProperties(artifact: RegistryArtifact): Promise { const tags: string[] = []; + // Obtain the tags ordered from newest to oldest by passing the `orderBy` option const iterator = artifact.listTagProperties({ orderBy: "LastUpdatedOnAscending" }); for await (const tag of iterator) { tags.push(tag.name); diff --git a/sdk/containerregistry/container-registry/samples/v1/typescript/src/setImageProperties.ts b/sdk/containerregistry/container-registry/samples/v1/typescript/src/setImageProperties.ts index 7c07d48d8271..aabb13d665d5 100644 --- a/sdk/containerregistry/container-registry/samples/v1/typescript/src/setImageProperties.ts +++ b/sdk/containerregistry/container-registry/samples/v1/typescript/src/setImageProperties.ts @@ -7,7 +7,7 @@ // This sample assumes the registry has a repository `hello-world` with image tagged `v1`. -import { ContainerRegistryClient } from "@azure/container-registry"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "@azure/container-registry"; import { DefaultAzureCredential } from "@azure/identity"; import * as dotenv from "dotenv"; dotenv.config(); @@ -16,9 +16,13 @@ async function main() { // Get the service endpoint from the environment const endpoint = process.env.CONTAINER_REGISTRY_ENDPOINT || ""; // Create a new ContainerRegistryClient - const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential()); - const image = client.getArtifact("library/hello-world", "latest"); - await image.updateTagProperties("v1", { + const client = new ContainerRegistryClient(endpoint, new DefaultAzureCredential(), { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); + const image = client.getArtifact("library/hello-world", "v1"); + + // Set permissions on the image's "latest" tag + await image.updateTagProperties("latest", { canWrite: false, canDelete: false }); diff --git a/sdk/containerregistry/container-registry/src/containerRegistryClient.ts b/sdk/containerregistry/container-registry/src/containerRegistryClient.ts index d2a3f9a80eca..f7ffcab48f7b 100644 --- a/sdk/containerregistry/container-registry/src/containerRegistryClient.ts +++ b/sdk/containerregistry/container-registry/src/containerRegistryClient.ts @@ -34,15 +34,11 @@ import { ContainerRegistryRefreshTokenCredential } from "./containerRegistryToke */ export interface ContainerRegistryClientOptions extends PipelineOptions { /** - * Gets or sets the authentication scope to use for authentication with AAD. - * This defaults to the Azure Resource Manager "Azure Global" scope. To - * connect to a different cloud, set this value to "<resource-id>/.default", - * where <resource-id> is one of the Resource IDs listed at - * https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/services-support-managed-identities#azure-resource-manager. - * For example, to connect to the Azure Germany cloud, create a client with - * this set to "https://management.microsoftazure.de/.default". + * Gets or sets the audience to use for authentication with Azure Active Directory. + * The authentication scope will be set from this audience. + * See {@link KnownContainerRegistryAudience} for known audience values. */ - authenticationScope?: string; + audience?: string; } /** @@ -74,7 +70,7 @@ export class ContainerRegistryClient { * new DefaultAzureCredential() * ); * ``` - * @param endpoint - the URL to the Container Registry endpoint + * @param endpoint - the URL endpoint of the container registry * @param credential - used to authenticate requests to the service * @param options - optional configuration used to send requests to the service */ @@ -87,6 +83,8 @@ export class ContainerRegistryClient { /** * Creates an instance of a ContainerRegistryClient to interact with * an Azure Container Registry that has anonymous pull access enabled. + * Only operations that support anonymous access are enabled. Other service + * methods will throw errors. * * Example usage: * ```ts @@ -96,7 +94,7 @@ export class ContainerRegistryClient { * "", * ); * ``` - * @param endpoint - the URL to the Container Registry endpoint + * @param endpoint - the URL endpoint of the container registry * @param options - optional configuration used to send requests to the service */ constructor(endpoint: string, options?: ContainerRegistryClientOptions); @@ -130,22 +128,28 @@ export class ContainerRegistryClient { additionalAllowedQueryParameters: ["last", "n", "orderby", "digest"] } }; - const authScope = options.authenticationScope ?? "https://management.azure.com/.default"; + // Require audience now until we have a default ACR audience from the service. + if (!options.audience) { + throw new Error( + "ContainerRegistryClientOptions.audience must be set to initialize ContainerRegistryClient." + ); + } + const defaultScope = `${options.audience}/.default`; const authClient = new GeneratedClient(endpoint, internalPipelineOptions); this.client = new GeneratedClient(endpoint, internalPipelineOptions); this.client.pipeline.addPolicy( bearerTokenAuthenticationPolicy({ credential, - scopes: [authScope], + scopes: [defaultScope], challengeCallbacks: new ChallengeHandler( - new ContainerRegistryRefreshTokenCredential(authClient, authScope, credential) + new ContainerRegistryRefreshTokenCredential(authClient, defaultScope, credential) ) }) ); } /** - * Deletes the repository identified by the given name. + * Deletes the repository identified by the given name and all associated artifacts. * * @param repositoryName - the name of repository to delete * @param options - optional configuration for the operation @@ -174,7 +178,7 @@ export class ContainerRegistryClient { } /** - * Returns an artifact for given repository name, and a tag or digest. + * Returns an instance of {@link RegistryArtifact} for calling service methods related to the artifact specified by `repositoryName` and `tagOrDigest`. * * @param repositoryName - the name of repository * @param tagOrDigest - tag or digest of the artifact to retrieve @@ -193,7 +197,7 @@ export class ContainerRegistryClient { } /** - * Returns an instance of {@link ContainerRepository} that interacts with a container registry repository. + * Returns an instance of {@link ContainerRepository} for calling service methods related to the repository specified by `repositoryName`. * * @param repositoryName - the name of repository */ @@ -206,7 +210,7 @@ export class ContainerRegistryClient { } /** - * Returns an async iterable iterator to list repository names. + * Returns an async iterable iterator to list names of repositories in this registry. * * Example usage: * ```javascript diff --git a/sdk/containerregistry/container-registry/src/containerRepository.ts b/sdk/containerregistry/container-registry/src/containerRepository.ts index 7173475e75b8..b8c48c40ef26 100644 --- a/sdk/containerregistry/container-registry/src/containerRepository.ts +++ b/sdk/containerregistry/container-registry/src/containerRepository.ts @@ -39,20 +39,24 @@ export interface GetRepositoryPropertiesOptions extends OperationOptions {} * Options for the `setProperties` method of `ContainerRepository`. */ export interface UpdateRepositoryPropertiesOptions extends OperationOptions { - /** Delete enabled */ + /** Whether or not this repository can be deleted */ canDelete?: boolean; - /** Write enabled */ + /** Whether or not this repository can be written to */ canWrite?: boolean; - /** List enabled */ + /** Whether or not include this repository when listing repositories */ canList?: boolean; - /** Read enabled */ + /** Whether or not this repository can be read */ canRead?: boolean; /** Enables Teleport functionality on new images in the repository improving Container startup performance */ teleportEnabled?: boolean; } /** - * The helper used to interact with the Container Registry service. + * A `repository` in a container registry is a logical grouping of images or artifacts that share the same name. For example, + * different versions of a `hello-world` application could have tags `v1` and `v2`, and be grouped by the repository `hello-world`. + * + * The {@link ContainerRepository} interface is a helper that groups information and operations about a repository in this + * container registry. */ export interface ContainerRepository { /** @@ -64,23 +68,36 @@ export interface ContainerRepository { */ readonly name: string; /** - * Deletes this repository. + * Deletes this repository and all artifacts that are part of its logical group. * * @param options - optional configuration for the operation */ delete(options?: DeleteRepositoryOptions): Promise; /** - * Returns an instance of RegistryArtifact. + * Returns an helper instance of {@link RegistryArtifact} for the given tag or digest. * @param tagOrDigest - the tag or digest of the artifact */ getArtifact(tagOrDigest: string): RegistryArtifact; /** - * Retrieves properties of this repository. + * Retrieves the properties of this repository. * @param options - */ getProperties(options?: GetRepositoryPropertiesOptions): Promise; /** - * Updates repository attributes. + * Updates the properties of this repository. + * + * Example usage: + * + * ```javascript + * const client = new ContainerRegistryClient(url, credential); + * const repository = client.getRepository(repositoryName) + * const updated = await repository.updateProperties({ + * canDelete: false, + * canList: false, + * canRead: false, + * canWrite: false + * }); + * ``` * @param options - */ updateProperties( @@ -88,6 +105,8 @@ export interface ContainerRepository { ): Promise; /** * Returns an async iterable iterator to list manifest properties. + * This is useful for determining the collection of artifacts associated with + * this repository, as each artifact is uniquely identified by its manifest. * * Example using `for-await-of` syntax: * @@ -162,7 +181,7 @@ export class ContainerRepositoryImpl { } /** - * Deletes this repository. + * Deletes this repository and all artifacts that are part of its logical group. * * @param options - optional configuration for the operation */ @@ -180,7 +199,7 @@ export class ContainerRepositoryImpl { } /** - * Returns an instance of {@link RegistryArtifact} that interacts with a container registry artifact. + * Returns an helper instance of {@link RegistryArtifact} for the given tag or digest. * @param tagOrDigest - the tag or digest of the artifact */ public getArtifact(tagOrDigest: string): RegistryArtifact { @@ -191,7 +210,7 @@ export class ContainerRepositoryImpl { } /** - * Retrieves properties of this repository. + * Retrieves the properties of this repository. * @param options - */ public async getProperties( @@ -210,7 +229,20 @@ export class ContainerRepositoryImpl { } /** - * Updates repository attributes. + * Updates the properties of this repository. + * + * Example usage: + * + * ```javascript + * const client = new ContainerRegistryClient(url, credential); + * const repository = client.getRepository(repositoryName) + * const updated = await repository.updateProperties({ + * canDelete: false, + * canList: false, + * canRead: false, + * canWrite: false + * }); + * ``` * @param options - */ public async updateProperties( @@ -240,6 +272,8 @@ export class ContainerRepositoryImpl { /** * Returns an async iterable iterator to list manifest properties. + * This is useful for determining the collection of artifacts associated with + * this repository, as each artifact is uniquely identified by its manifest. * * Example using `for-await-of` syntax: * diff --git a/sdk/containerregistry/container-registry/src/generated/generatedClientContext.ts b/sdk/containerregistry/container-registry/src/generated/generatedClientContext.ts index d6a7b973d414..78f622c60ed5 100644 --- a/sdk/containerregistry/container-registry/src/generated/generatedClientContext.ts +++ b/sdk/containerregistry/container-registry/src/generated/generatedClientContext.ts @@ -31,7 +31,7 @@ export class GeneratedClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-container-registry/1.0.0-beta.4`; + const packageDetails = `azsdk-js-container-registry/1.0.0-beta.6`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/containerregistry/container-registry/src/models.ts b/sdk/containerregistry/container-registry/src/models.ts index f883e633e117..2d2ace40fb0b 100644 --- a/sdk/containerregistry/container-registry/src/models.ts +++ b/sdk/containerregistry/container-registry/src/models.ts @@ -6,41 +6,82 @@ export { ContainerRepositoryProperties, ArtifactTagProperties } from "./generate import { ArtifactTagProperties } from "./generated"; /** - * Defines known {@link ArtifactArchitecture} that the service supports. + * Defines known cloud audiences for Azure Container Registry. + */ +export enum KnownContainerRegistryAudience { + /** Azure China */ + AzureResourceManagerChina = "https://management.chinacloudapi.cn", + /** Azure Gemany */ + AzureResourceManagerGermany = "https://management.microsoftazure.de", + /** Azure Government */ + AzureResourceManagerGovernment = "https://management.usgovcloudapi.net", + /** Azure Public Cloud */ + AzureResourceManagerPublicCloud = "https://management.azure.com" +} + +/** + * Defines known artifact architectures that the service supports. */ export enum KnownArtifactArchitecture { + /** i386 */ I386 = "386", + /** AMD64 */ Amd64 = "amd64", + /** ARM */ Arm = "arm", + /** ARM64 */ Arm64 = "arm64", + /** MIPS */ Mips = "mips", + /** MIPSLE */ MipsLe = "mipsle", + /** MIPS64 */ Mips64 = "mips64", + /** MIPS64LE */ Mips64Le = "mips64le", + /** PPC64 */ Ppc64 = "ppc64", + /** PPC64LE */ Ppc64Le = "ppc64le", + /** RISCv64 */ RiscV64 = "riscv64", + /** s390x */ S390X = "s390x", + /** Wasm */ Wasm = "wasm" } /** - * Defines known {@link ArtifactOperatingSystem} values that the service supports. + * Defines known artifact platform's operating systems that the service supports. */ export enum KnownArtifactOperatingSystem { + /** Aix */ Aix = "aix", + /** Android */ Android = "android", + /** Darwin */ Darwin = "darwin", + /** Dragonfly */ Dragonfly = "dragonfly", + /** FreeBSD */ FreeBsd = "freebsd", + /** Illumos */ Illumos = "illumos", + /** iOS */ iOS = "ios", + /** JS */ JS = "js", + /** Linux */ Linux = "linux", + /** NetBSD */ NetBsd = "netbsd", + /** OpenBSD */ OpenBsd = "openbsd", + /** Plan9 */ Plan9 = "plan9", + /** Solaris */ Solaris = "solaris", + /** Windows */ Windows = "windows" } diff --git a/sdk/containerregistry/container-registry/src/registryArtifact.ts b/sdk/containerregistry/container-registry/src/registryArtifact.ts index e425df59a2e8..d5e1d1dc9243 100644 --- a/sdk/containerregistry/container-registry/src/registryArtifact.ts +++ b/sdk/containerregistry/container-registry/src/registryArtifact.ts @@ -41,13 +41,13 @@ export interface GetTagPropertiesOptions extends OperationOptions {} * Options for the `updateTagProperties` method of `RegistryArtifact`. */ export interface UpdateTagPropertiesOptions extends OperationOptions { - /** Delete enabled */ + /** Whether or not this tag can be deleted */ canDelete?: boolean; - /** Write enabled */ + /** Whether or not this tag can be written to */ canWrite?: boolean; - /** List enabled */ + /** Whether or not to include this tag when listing tags */ canList?: boolean; - /** Read enabled */ + /** Whether or not this tag can be read */ canRead?: boolean; } @@ -55,13 +55,13 @@ export interface UpdateTagPropertiesOptions extends OperationOptions { * Options for the `updateManifestProperties` method of `RegistryArtifact`. */ export interface UpdateManifestPropertiesOptions extends OperationOptions { - /** Delete enabled */ + /** Whether or not this manifest can be deleted */ canDelete?: boolean; - /** Write enabled */ + /** Whether or not this manifest can be written to */ canWrite?: boolean; - /** List enabled */ + /** Whether or not to include this manifest when listing manifest properties */ canList?: boolean; - /** Read enabled */ + /** Whether or not this manifest can be read */ canRead?: boolean; } @@ -74,7 +74,12 @@ export interface ListTagPropertiesOptions extends OperationOptions { } /** - * The helper used to interact with the Container Registry artifact. + * `Artifact` is the general term for items stored in a container registry, + * and can include Docker images or other Open Container Initiative (OCI) artifact types. + * + * The {@link RegistryArtifact} interface is a helper that groups information and operations about an image + * or artifact in a container registry. + * */ export interface RegistryArtifact { /** @@ -90,39 +95,65 @@ export interface RegistryArtifact { */ readonly fullyQualifiedReference: string; /** - * Deletes this artifact. + * Deletes this registry artifact by deleting its manifest. * @param options - */ delete(options?: DeleteArtifactOptions): Promise; /** - * Deletes a tag. - * @param tag - the name of the tag to be deleted. + * Deletes a tag. This removes the tag from the artifact and its manifest. + * @param tag - the name of the tag to delete. * @param options - */ deleteTag(tag: string, options?: DeleteTagOptions): Promise; /** - * Retrieves properties of this registry artifact. + * Retrieves the properties of the manifest that uniquely identifies this artifact. * @param options - */ getManifestProperties( options?: GetManifestPropertiesOptions ): Promise; /** - * Updates manifest artifact attributes. + * Updates the properties of the artifact's manifest. + * + * Example usage: + * + * ```javascript + * const client = new ContainerRegistryClient(url, credential); + * const artifact = client.getArtifact(repositoryName, artifactTagOrDigest) + * const updated = await artifact.updateManifestProperties({ + * canDelete: false, + * canList: false, + * canRead: false, + * canWrite: false + * }); + * ``` * @param options - */ updateManifestProperties( options: UpdateManifestPropertiesOptions ): Promise; /** - * Retrieves properties of a tag. + * Retrieves the properties of the specified tag. * @param tag - the tag to retrieve properties. * @param options - */ getTagProperties(tag: string, options?: GetTagPropertiesOptions): Promise; /** - * Updates tag properties. - * @param tag - name of the tag + * Updates the properties of a given tag. + * + * Example usage: + * + * ```javascript + * const client = new ContainerRegistryClient(url, credential); + * const artifact = client.getArtifact(repositoryName, artifactTagOrDigest) + * const updated = await artifact.updateTagProperties(tag, { + * canDelete: false, + * canList: false, + * canRead: false, + * canWrite: false + * }); + * ``` + * @param tag - name of the tag to update properties on * @param options - */ updateTagProperties( @@ -130,7 +161,7 @@ export interface RegistryArtifact { options: UpdateTagPropertiesOptions ): Promise; /** - * Returns an async iterable iterator to list tag properties. + * Returns an async iterable iterator to list the tags that uniquely identify this artifact and the properties of each. * * Example using `for-await-of` syntax: * @@ -244,7 +275,7 @@ export class RegistryArtifactImpl { } /** - * Deletes this artifact. + * Deletes this registry artifact by deleting its manifest. * @param options - */ public async delete(options: DeleteArtifactOptions = {}): Promise { @@ -265,8 +296,8 @@ export class RegistryArtifactImpl { } /** - * Deletes a tag. - * @param tag - the name of the tag to be deleted. + * Deletes a tag. This removes the tag from the artifact and its manifest. + * @param tag - the name of the tag to delete. * @param options - */ public async deleteTag(tag: string, options: DeleteTagOptions = {}): Promise { @@ -287,7 +318,7 @@ export class RegistryArtifactImpl { } /** - * Retrieves properties of this registry artifact. + * Retrieves the properties of the manifest that uniquely identifies this artifact. * @param options - */ public async getManifestProperties( @@ -311,7 +342,20 @@ export class RegistryArtifactImpl { } /** - * Updates manifest artifact attributes. + * Updates the properties of the artifact's manifest. + * + * Example usage: + * + * ```javascript + * const client = new ContainerRegistryClient(url, credential); + * const artifact = client.getArtifact(repositoryName, artifactTagOrDigest) + * const updated = await artifact.updateManifestProperties({ + * canDelete: false, + * canList: false, + * canRead: false, + * canWrite: false + * }); + * ``` * @param options - */ public async updateManifestProperties( @@ -343,7 +387,7 @@ export class RegistryArtifactImpl { } /** - * Retrieves properties of a tag. + * Retrieves the properties of the specified tag. * @param tag - the tag to retrieve properties. * @param options - */ @@ -371,8 +415,21 @@ export class RegistryArtifactImpl { } /** - * Updates tag properties. - * @param tag - name of the tag + * Updates the properties of a given tag. + * + * Example usage: + * + * ```javascript + * const client = new ContainerRegistryClient(url, credential); + * const artifact = client.getArtifact(repositoryName, artifactTagOrDigest) + * const updated = await artifact.updateTagProperties(tag, { + * canDelete: false, + * canList: false, + * canRead: false, + * canWrite: false + * }); + * ``` + * @param tag - name of the tag to update properties on * @param options - */ public async updateTagProperties( @@ -408,7 +465,7 @@ export class RegistryArtifactImpl { } /** - * Returns an async iterable iterator to list tag properties. + * Returns an async iterable iterator to list the tags that uniquely identify this artifact and the properties of each. * * Example using `for-await-of` syntax: * diff --git a/sdk/containerregistry/container-registry/swagger/README.md b/sdk/containerregistry/container-registry/swagger/README.md index a3f9c0acad9d..e465d1a91c57 100644 --- a/sdk/containerregistry/container-registry/swagger/README.md +++ b/sdk/containerregistry/container-registry/swagger/README.md @@ -21,5 +21,5 @@ disable-async-iterators: true hide-clients: true use-extension: "@autorest/typescript": "6.0.0-beta.4" -package-version: 1.0.0-beta.4 +package-version: 1.0.0-beta.6 ``` diff --git a/sdk/containerregistry/container-registry/test/internal/basic.spec.ts b/sdk/containerregistry/container-registry/test/internal/basic.spec.ts index fa5c611918d4..5b0a2c6e6916 100644 --- a/sdk/containerregistry/container-registry/test/internal/basic.spec.ts +++ b/sdk/containerregistry/container-registry/test/internal/basic.spec.ts @@ -3,7 +3,7 @@ // Chai is the Azure SDK Team's preferred assertion library, and it is included // as part of our template project. -import { ContainerRegistryClient } from "../../src"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "../../src"; import { assert } from "chai"; describe("ContainerRegistryClient functional test", async function() { @@ -17,7 +17,9 @@ describe("ContainerRegistryClient functional test", async function() { ["", null, undefined].forEach((value) => { it("deleteRepository should throw for invalid repository name", async function() { - const client = new ContainerRegistryClient("https://endpoint"); + const client = new ContainerRegistryClient("https://endpoint", { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); try { await client.deleteRepository(value as any); assert.fail("should have thrown already"); @@ -29,7 +31,9 @@ describe("ContainerRegistryClient functional test", async function() { ["", null, undefined].forEach((value) => { it("getRepository should throw for invalid endpoint", () => { - const client = new ContainerRegistryClient("https://endpoint"); + const client = new ContainerRegistryClient("https://endpoint", { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); assert.throws(() => { client.getRepository(value as any); }, "invalid repositoryName"); @@ -38,14 +42,18 @@ describe("ContainerRegistryClient functional test", async function() { ["", null, undefined].forEach((value) => { it("getArtifact should throw for invalid repository name", () => { - const client = new ContainerRegistryClient("https://endpoint"); + const client = new ContainerRegistryClient("https://endpoint", { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); assert.throws(() => { client.getArtifact(value as any, "digest"); }, "invalid repositoryName"); }); - it("getArtifact should throw for invalid tagORDigest", () => { - const client = new ContainerRegistryClient("https://endpoint"); + it("getArtifact should throw for invalid tagOrDigest", () => { + const client = new ContainerRegistryClient("https://endpoint", { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); assert.throws(() => { client.getArtifact("repositoryName", value as any); }, "invalid tagOrDigest"); @@ -54,7 +62,9 @@ describe("ContainerRegistryClient functional test", async function() { }); describe("ContainerRepository functional test", async function() { - const client = new ContainerRegistryClient("https://endpoint"); + const client = new ContainerRegistryClient("https://endpoint", { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); const repository = client.getRepository("repositoryName"); ["", null, undefined].forEach((value) => { it("getArtifact should throw for invalid tagOrDigest", () => { @@ -66,7 +76,9 @@ describe("ContainerRepository functional test", async function() { }); describe("RegistryArtifact functional test", async function() { - const client = new ContainerRegistryClient("https://endpoint"); + const client = new ContainerRegistryClient("https://endpoint", { + audience: KnownContainerRegistryAudience.AzureResourceManagerPublicCloud + }); const artifact = client.getArtifact("repositoryName", "digest"); ["", null, undefined].forEach((value) => { it("deleteTag should throw for invalid tag", async function() { diff --git a/sdk/containerregistry/container-registry/test/public/anonymousAccess.spec.ts b/sdk/containerregistry/container-registry/test/public/anonymousAccess.spec.ts index ed56ad7ece50..026e0b33b099 100644 --- a/sdk/containerregistry/container-registry/test/public/anonymousAccess.spec.ts +++ b/sdk/containerregistry/container-registry/test/public/anonymousAccess.spec.ts @@ -7,7 +7,7 @@ import * as dotenv from "dotenv"; import { ContainerRegistryClient } from "../../src"; -import { env, record, Recorder } from "@azure/test-utils-recorder"; +import { env, record, Recorder } from "@azure-tools/test-recorder"; import { isNode } from "../utils/isNode"; import { createRegistryClient, recorderEnvSetup } from "../utils/utils"; diff --git a/sdk/containerregistry/container-registry/test/public/containerRegistryClient.spec.ts b/sdk/containerregistry/container-registry/test/public/containerRegistryClient.spec.ts index 473ef1123d32..9b0bdaeecc7a 100644 --- a/sdk/containerregistry/container-registry/test/public/containerRegistryClient.spec.ts +++ b/sdk/containerregistry/container-registry/test/public/containerRegistryClient.spec.ts @@ -7,7 +7,7 @@ import * as dotenv from "dotenv"; import { ContainerRegistryClient } from "../../src"; -import { env, record, Recorder } from "@azure/test-utils-recorder"; +import { env, record, Recorder } from "@azure-tools/test-recorder"; import { isNode } from "../utils/isNode"; import { createRegistryClient, recorderEnvSetup } from "../utils/utils"; diff --git a/sdk/containerregistry/container-registry/test/public/repositoryAndArtifact.spec.ts b/sdk/containerregistry/container-registry/test/public/repositoryAndArtifact.spec.ts index deede63988fb..a305a03b8174 100644 --- a/sdk/containerregistry/container-registry/test/public/repositoryAndArtifact.spec.ts +++ b/sdk/containerregistry/container-registry/test/public/repositoryAndArtifact.spec.ts @@ -5,7 +5,7 @@ import { assert } from "chai"; import { Context } from "mocha"; import * as dotenv from "dotenv"; import { ContainerRegistryClient, ContainerRepository } from "../../src"; -import { env, record, Recorder } from "@azure/test-utils-recorder"; +import { env, record, Recorder } from "@azure-tools/test-recorder"; import { RestError } from "@azure/core-rest-pipeline"; import { isNode } from "../utils/isNode"; import { createRegistryClient, recorderEnvSetup } from "../utils/utils"; diff --git a/sdk/containerregistry/container-registry/test/utils/utils.ts b/sdk/containerregistry/container-registry/test/utils/utils.ts index 3474017db81a..ed6cf59051f3 100644 --- a/sdk/containerregistry/container-registry/test/utils/utils.ts +++ b/sdk/containerregistry/container-registry/test/utils/utils.ts @@ -6,8 +6,8 @@ import { env, RecorderEnvironmentSetup, pluginForClientSecretCredentialTests -} from "@azure/test-utils-recorder"; -import { ContainerRegistryClient } from "../../src"; +} from "@azure-tools/test-recorder"; +import { ContainerRegistryClient, KnownContainerRegistryAudience } from "../../src"; // When the recorder observes the values of these environment variables in any // recorded HTTP request or response, it will replace them with the values they @@ -70,30 +70,16 @@ function getAuthority(endpoint: string): AzureAuthorityHosts | undefined { return undefined; } -/** - * Defines known authentication scopes that the service supports for national clouds. - */ -export enum KnownAuthScope { - /** Audience for Azure Public Cloud. */ - AzurePublicCloud = "https://management.azure.com/", - /** Audience for Azure China Cloud. */ - AzureChina = "https://management.chinacloudapi.cn/", - /** Audience for US Government Cloud. */ - AzureGovernment = "https://management.usgovcloudapi.net/", - /** Audience for Azure Germany Cloud. */ - AzureGermany = "https://management.microsoftazure.de/" -} - -function getAuthScope(authority?: AzureAuthorityHosts): KnownAuthScope { +function getAudience(authority?: AzureAuthorityHosts): KnownContainerRegistryAudience { switch (authority) { case AzureAuthorityHosts.AzureChina: - return KnownAuthScope.AzureChina; + return KnownContainerRegistryAudience.AzureResourceManagerChina; case AzureAuthorityHosts.AzureGermany: - return KnownAuthScope.AzureGermany; + return KnownContainerRegistryAudience.AzureResourceManagerGermany; case AzureAuthorityHosts.AzureGovernment: - return KnownAuthScope.AzureGovernment; + return KnownContainerRegistryAudience.AzureResourceManagerGovernment; default: - return KnownAuthScope.AzurePublicCloud; + return KnownContainerRegistryAudience.AzureResourceManagerPublicCloud; } } @@ -102,9 +88,9 @@ export function createRegistryClient( options: { anonymous: boolean } = { anonymous: false } ): ContainerRegistryClient { const authorityHost = getAuthority(endpoint); - const authenticationScope = getAuthScope(authorityHost); + const audience = getAudience(authorityHost); const tokenCredentialOptions = authorityHost ? { authorityHost } : undefined; - const clientOptions = { authenticationScope: `${authenticationScope}.default` }; + const clientOptions = { audience }; if (options.anonymous) { return new ContainerRegistryClient(endpoint, clientOptions); diff --git a/sdk/containerregistry/container-registry/tests.yml b/sdk/containerregistry/container-registry/tests.yml index 65d8e7ea2caf..f5a9c8dac61d 100644 --- a/sdk/containerregistry/container-registry/tests.yml +++ b/sdk/containerregistry/container-registry/tests.yml @@ -7,7 +7,8 @@ stages: ServiceDirectory: containerregistry MatrixFilters: - DependencyVersion=^$ - - Pool=.*mms-ubuntu-2004.* + - ${{ if contains(variables['Build.DefinitionName'], 'tests-weekly') }}: + - Pool=.*mms-ubuntu-2004.* SupportedClouds: 'Public,UsGov,China' EnvVars: AZURE_CLIENT_ID: $(aad-azure-sdk-test-client-id) diff --git a/sdk/core/README.md b/sdk/core/README.md index 43bde696f6b1..3a61c9578b9e 100644 --- a/sdk/core/README.md +++ b/sdk/core/README.md @@ -118,6 +118,16 @@ const rehydratedPoller = await client.beginDeleteKey(keyName, { resumeFrom: seri ### Tracing +#### Azure Application Insights + +Azure Application Insights, a feature of Azure Monitor, is an extensible Application Performance Management (APM) service for developers and DevOps professionals. Use it to monitor your live applications. It will automatically detect performance anomalies, and includes powerful analytics tools to help you diagnose issues and to understand what users actually do with your application. + +> If your application already uses ApplicationInsights, automatic collection of Azure SDK traces is supported in versions 1.8.0 and later. + +To setup Application Insights tracking for your application follow the [Start Monitoring your Node.js Application](https://docs.microsoft.com/azure/azure-monitor/app/nodejs-quick-start) quickstart guide. + +#### Open Telemetry + Client libraries have preliminary support for [OpenTelemetry](https://opentelemetry.io/). This functionality is mostly managed by [@azure/core-tracing](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-tracing) Each client library internally does the work to create a new OpenTelemetry `Span` for each service operation, making sure to end the `Span` after the result is returned back to the consumer. Many clients use a helper method called [createSpan](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/textanalytics/ai-text-analytics/src/tracing.ts) to create the new `Span`. diff --git a/sdk/core/abort-controller/package.json b/sdk/core/abort-controller/package.json index adec4b1dfcef..cc2e662d4a04 100644 --- a/sdk/core/abort-controller/package.json +++ b/sdk/core/abort-controller/package.json @@ -10,7 +10,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/src types/3.1", - "build": "tsc -p . && rollup -c 2>&1 && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -23,7 +23,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -82,7 +81,6 @@ "@types/node": "^12.0.0", "chai": "^4.2.0", "cross-env": "^7.0.2", - "delay": "^4.2.0", "downlevel-dts": "~0.4.0", "eslint": "^7.15.0", "karma": "^6.2.0", @@ -102,7 +100,7 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "rollup": "^1.16.3", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "typedoc": "0.15.2" } diff --git a/sdk/core/core-amqp/package.json b/sdk/core/core-amqp/package.json index e1960e9e16c8..855b933b49a4 100644 --- a/sdk/core/core-amqp/package.json +++ b/sdk/core/core-amqp/package.json @@ -38,7 +38,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types coverage coverage-browser .nyc_output *.tgz *.log test*.xml", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -51,7 +51,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c rollup.test.config.js 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -72,7 +71,7 @@ "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.3.0", "@azure/logger": "^1.0.0", - "buffer": "^5.2.1", + "buffer": "^6.0.0", "events": "^3.0.0", "jssha": "^3.1.0", "process": "^0.11.10", @@ -110,14 +109,14 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-terser": "^5.1.1", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "ws": "^7.1.1", "typedoc": "0.15.2" diff --git a/sdk/core/core-asynciterator-polyfill/package.json b/sdk/core/core-asynciterator-polyfill/package.json index 6ec0c58441ab..b87769d92352 100644 --- a/sdk/core/core-asynciterator-polyfill/package.json +++ b/sdk/core/core-asynciterator-polyfill/package.json @@ -34,7 +34,7 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", "build:test": "echo skipped", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"*.{js,json}\"", "clean": "echo skipped", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -46,7 +46,6 @@ "lint": "eslint package.json src --ext .ts", "lint:fix": "eslint package.json src --ext .ts --fix --fix-type [problem,suggestion]", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build && npm run unit-test:node && npm run integration-test:node", "test": "npm run build && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", diff --git a/sdk/core/core-auth/package.json b/sdk/core/core-auth/package.json index 46477413e954..3e68b1ebf854 100644 --- a/sdk/core/core-auth/package.json +++ b/sdk/core/core-auth/package.json @@ -18,7 +18,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -31,7 +31,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", diff --git a/sdk/core/core-auth/review/core-auth.api.md b/sdk/core/core-auth/review/core-auth.api.md index 1512a1301a94..d477c52a7114 100644 --- a/sdk/core/core-auth/review/core-auth.api.md +++ b/sdk/core/core-auth/review/core-auth.api.md @@ -49,7 +49,6 @@ export interface GetTokenOptions { }; tenantId?: string; tracingOptions?: { - spanOptions?: SpanOptions; tracingContext?: Context; }; } @@ -79,26 +78,6 @@ export interface SASCredential { readonly signature: string; } -// @public -export interface SpanAttributes { - [attributeKey: string]: SpanAttributeValue | undefined; -} - -// @public -export type SpanAttributeValue = string | number | boolean | Array | Array | Array; - -// @public -export interface SpanContext { - spanId: string; - traceFlags: number; - traceId: string; -} - -// @public -export interface SpanOptions { - attributes?: SpanAttributes; -} - // @public export interface TokenCredential { getToken(scopes: string | string[], options?: GetTokenOptions): Promise; diff --git a/sdk/core/core-auth/src/index.ts b/sdk/core/core-auth/src/index.ts index 5d3989d48d28..2d85822ffac5 100644 --- a/sdk/core/core-auth/src/index.ts +++ b/sdk/core/core-auth/src/index.ts @@ -16,4 +16,4 @@ export { isTokenCredential } from "./tokenCredential"; -export { SpanContext, SpanOptions, SpanAttributes, Context, SpanAttributeValue } from "./tracing"; +export { Context } from "./tracing"; diff --git a/sdk/core/core-auth/src/tokenCredential.ts b/sdk/core/core-auth/src/tokenCredential.ts index 08ffdfc69be5..ef8f0e04a3e6 100644 --- a/sdk/core/core-auth/src/tokenCredential.ts +++ b/sdk/core/core-auth/src/tokenCredential.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { AbortSignalLike } from "@azure/abort-controller"; -import { Context, SpanOptions } from "./tracing"; +import { Context } from "./tracing"; /** * Represents a credential capable of providing an authentication token. @@ -42,11 +42,6 @@ export interface GetTokenOptions { * Options used when tracing is enabled. */ tracingOptions?: { - /** - * OpenTelemetry SpanOptions used to create a span when tracing is enabled. - */ - spanOptions?: SpanOptions; - /** * OpenTelemetry context */ diff --git a/sdk/core/core-auth/src/tracing.ts b/sdk/core/core-auth/src/tracing.ts index b0a878144536..3d8958fa8817 100644 --- a/sdk/core/core-auth/src/tracing.ts +++ b/sdk/core/core-auth/src/tracing.ts @@ -4,56 +4,6 @@ // The interfaces in this file should be kept in sync with those // found in the `@azure/core-tracing` package. -/** - * Attributes for a Span. - */ -export interface SpanAttributes { - /** - * Span attributes. - */ - [attributeKey: string]: SpanAttributeValue | undefined; -} -/** - * Attribute values may be any non-nullish primitive value except an object. - * - * null or undefined attribute values are invalid and will result in undefined behavior. - */ -export declare type SpanAttributeValue = - | string - | number - | boolean - | Array - | Array - | Array; - -/** - * An interface that enables manual propagation of Spans. - */ -export interface SpanOptions { - /** - * Attributes to set on the Span - */ - attributes?: SpanAttributes; -} - -/** - * A light interface that tries to be structurally compatible with OpenTelemetry. - */ -export declare interface SpanContext { - /** - * UUID of a trace. - */ - traceId: string; - /** - * UUID of a Span. - */ - spanId: string; - /** - * https://www.w3.org/TR/trace-context/#trace-flags - */ - traceFlags: number; -} - /** * An interface structurally compatible with OpenTelemetry. */ diff --git a/sdk/core/core-client-lro-rest/CHANGELOG.md b/sdk/core/core-client-lro-rest/CHANGELOG.md index 8351bc6748e2..d693a6aaba0b 100644 --- a/sdk/core/core-client-lro-rest/CHANGELOG.md +++ b/sdk/core/core-client-lro-rest/CHANGELOG.md @@ -1,5 +1,5 @@ # Release History -## 1.0.0-beta.1 (2021-08-06) +## 1.0.0-beta.1 (2021-08-10) - First release of package, see README.md for details. diff --git a/sdk/core/core-client-lro-rest/package.json b/sdk/core/core-client-lro-rest/package.json index ab7e52fbd8e7..5da3bd9363fb 100644 --- a/sdk/core/core-client-lro-rest/package.json +++ b/sdk/core/core-client-lro-rest/package.json @@ -2,7 +2,7 @@ "name": "@azure-rest/core-client-lro", "version": "1.0.0-beta.1", "description": "A helper library which implements Autorest x-ms-long-running-operation spec to handle long running operations.", - "sdk-type": "core", + "sdk-type": "client", "main": "dist/index.js", "module": "dist-esm/src/index.js", "types": "types/latest/core-client-lro-rest.d.ts", @@ -13,7 +13,7 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -26,7 +26,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -59,7 +58,7 @@ "prettier": "@azure/eslint-plugin-azure-sdk/prettier.json", "dependencies": { "@azure/core-lro": "^2.2.0", - "@azure-rest/core-client": "1.0.0-beta.6", + "@azure-rest/core-client": "1.0.0-beta.7", "tslib": "^2.2.0" }, "devDependencies": { diff --git a/sdk/core/core-client-paging-rest/package.json b/sdk/core/core-client-paging-rest/package.json index 0ccae26e8203..1ed916031ac8 100644 --- a/sdk/core/core-client-paging-rest/package.json +++ b/sdk/core/core-client-paging-rest/package.json @@ -13,20 +13,19 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", "execute:samples": "echo skipped", "extract-api": "tsc -p . && api-extractor run --local", - "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", + "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -58,9 +57,9 @@ "sideEffects": false, "prettier": "@azure/eslint-plugin-azure-sdk/prettier.json", "dependencies": { - "@azure/core-paging": "^1.1.1", + "@azure/core-paging": "^1.2.0", "@azure/core-rest-pipeline": "^1.1.0", - "@azure-rest/core-client": "1.0.0-beta.6", + "@azure-rest/core-client": "1.0.0-beta.7", "tslib": "^2.2.0" }, "devDependencies": { diff --git a/sdk/core/core-client-paging-rest/review/core-client-paging.api.md b/sdk/core/core-client-paging-rest/review/core-client-paging.api.md index e3a6c7305a9c..515585b9a04d 100644 --- a/sdk/core/core-client-paging-rest/review/core-client-paging.api.md +++ b/sdk/core/core-client-paging-rest/review/core-client-paging.api.md @@ -12,12 +12,12 @@ export { PagedAsyncIterableIterator } // @public export interface PaginateOptions { - itemName?: string; - nextLinkName?: string | null; + itemNames?: string[]; + nextLinkNames?: string[] | null; } // @public -export function paginateResponse(client: Client, initialResponse: HttpResponse, options?: PaginateOptions): PagedAsyncIterableIterator; +export function paginateResponse(client: Client, initialResponse: HttpResponse, options?: PaginateOptions): PagedAsyncIterableIterator; ``` diff --git a/sdk/core/core-client-paging-rest/src/paginate.ts b/sdk/core/core-client-paging-rest/src/paginate.ts index 9aa5796ddabe..447b888149ce 100644 --- a/sdk/core/core-client-paging-rest/src/paginate.ts +++ b/sdk/core/core-client-paging-rest/src/paginate.ts @@ -9,7 +9,7 @@ import { HttpResponse, PathUncheckedResponse, } from "@azure-rest/core-client"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { getPagedAsyncIterator, PagedAsyncIterableIterator, PagedResult } from "@azure/core-paging"; const Http2xxStatusCodes = ["200", "201", "202", "203", "204", "205", "206", "207", "208", "226"]; @@ -28,11 +28,11 @@ export interface PaginateOptions { * Note: if nextLinkName is set to `null` only the first page is returned, no additional * requests are made. */ - nextLinkName?: string | null; + nextLinkNames?: string[] | null; /** * Indicates the name of the property in which the set of values is found. Default: `value` */ - itemName?: string; + itemNames?: string[]; } /** @@ -42,67 +42,37 @@ export interface PaginateOptions { * @param options - Options to use custom property names for pagination * @returns - return a PagedAsyncIterableIterator that can be used to iterate the elements */ -export function paginateResponse( +export function paginateResponse( client: Client, initialResponse: HttpResponse, options: PaginateOptions = {} -): PagedAsyncIterableIterator { - const iter = listAll(client, initialResponse, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return listPage(client, initialResponse, options); +): PagedAsyncIterableIterator { + let firstRun = true; + const { itemName, nextLinkName } = getPaginationProperties(initialResponse, options); + const pagedResult: PagedResult = { + firstPageLink: "", + async getPage(pageLink: string) { + const result = firstRun ? initialResponse : await client.pathUnchecked(pageLink).get(); + firstRun = false; + checkPagingRequest(result); + const nextLink = getNextLink(result.body, nextLinkName); + const values = getElements(result.body, itemName); + return { + page: values, + // According to x-ms-pageable is the nextLinkNames is set to null we should only + // return the first page and skip any additional queries even if the initial response + // contains a nextLink. + nextPageLink: options.nextLinkNames === null ? undefined : nextLink, + }; }, }; -} - -async function* listAll( - client: Client, - initialResponse: PathUncheckedResponse, - paginateOptions: PaginateOptions -): AsyncIterableIterator { - for await (const page of listPage(client, initialResponse, paginateOptions)) { - yield* page; - } -} - -async function* listPage[]>( - client: Client, - initialResponse: PathUncheckedResponse, - options: PaginateOptions -): AsyncIterableIterator { - let result = initialResponse; - checkPagingRequest(result); - let nextLink = getNextLink(result.body, options); - let values = getElements(result.body, options); - - yield values; - - // According to x-ms-pageable is the nextLinkName is set to null we should only - // return the first page and skip any additional queries even if the initial response - // contains a nextLink. - if (options.nextLinkName === null) { - return; - } - - while (nextLink) { - result = await client.pathUnchecked(nextLink).get(); - checkPagingRequest(result); - nextLink = getNextLink(result.body, options); - values = getElements(result.body, options); - yield values; - } + return getPagedAsyncIterator(pagedResult); } /** * Checks if a request failed */ -function checkPagingRequest(response: PathUncheckedResponse) { +function checkPagingRequest(response: PathUncheckedResponse): void { if (!Http2xxStatusCodes.includes(response.status)) { throw createRestError( `Pagination failed with unexpected statusCode ${response.status}`, @@ -112,32 +82,73 @@ function checkPagingRequest(response: PathUncheckedResponse) { } /** - * Gets for the value of nextLink in the body. If a custom nextLinkName was provided, it will be used instead of default + * Extracts the itemName and nextLinkName from the initial response to use them for pagination */ -function getNextLink(body: Record, paginateOptions: PaginateOptions = {}) { - const nextLinkName = paginateOptions.nextLinkName ?? DEFAULT_NEXTLINK; - const nextLink = body[nextLinkName]; +function getPaginationProperties(initialResponse: HttpResponse, options: PaginateOptions = {}) { + // Build a set with the passed custom nextLinkNames + const nextLinkNames = new Set(options.nextLinkNames ?? DEFAULT_NEXTLINK); + // Add the default nextLinkName if it doesn't exist yet + nextLinkNames.add(DEFAULT_NEXTLINK); + + // Build a set with the passed custom set of itemNames + const itemNames = new Set(options.itemNames ?? DEFAULT_VALUES); + // Add the default itemName if it doesn't exist yet + itemNames.add(DEFAULT_VALUES); + + let nextLinkName: string | undefined; + let itemName: string | undefined; + + for (const name of nextLinkNames) { + const nextLink = (initialResponse.body as Record)[name] as string; + if (nextLink) { + nextLinkName = name; + break; + } + } + + for (const name of itemNames) { + const item = (initialResponse.body as Record)[name] as string; + if (item) { + itemName = name; + break; + } + } - if (typeof nextLink !== "string" && typeof nextLink !== "undefined") { - throw new Error(`Body Property ${nextLinkName} should be a string or undefined`); + if (!itemName) { + throw new Error( + `Couldn't paginate response\n Body doesn't contain an array property with name: ${[ + ...itemNames, + ].join(" OR ")}` + ); } + return { itemName, nextLinkName }; +} + +/** + * Gets for the value of nextLink in the body. If a custom nextLinkNames was provided, it will be used instead of default + */ +function getNextLink(body: unknown, nextLinkName?: string): string | undefined { + // It is possible to get an undefined for nextLinkName, in the scenario where the initial response contains the last page. + const nextLink = + nextLinkName === undefined + ? undefined + : ((body as Record)[nextLinkName] as string); + return nextLink; } /** * Gets the elements of the current request in the body. By default it will look in the `value` property unless - * a different value for itemName has been provided as part of the options. + * a different value for itemNames has been provided as part of the options. */ -function getElements( - body: Record, - paginateOptions: PaginateOptions = {} -): T[] { - const valueName = paginateOptions?.itemName ?? DEFAULT_VALUES; - const value = body[valueName]; +function getElements(body: unknown, itemName: string): T[] { + const value = (body as Record)[itemName]; if (!Array.isArray(value)) { - throw new Error(`Body Property ${valueName} is not an array`); + throw new Error( + `Couldn't paginate response\n Body doesn't contain an array property with name: ${itemName}` + ); } return (value as T[]) ?? []; diff --git a/sdk/core/core-client-paging-rest/test/paginate.spec.ts b/sdk/core/core-client-paging-rest/test/paginate.spec.ts index 28404e7975cc..0a3e8ead2819 100644 --- a/sdk/core/core-client-paging-rest/test/paginate.spec.ts +++ b/sdk/core/core-client-paging-rest/test/paginate.spec.ts @@ -59,19 +59,10 @@ export function paginate( client: Client, initialResponse: TReturn ): PagedAsyncIterableIterator, PaginateReturn[]> { - return paginateResponse>(client, initialResponse); -} - -/** - * Paginate helper function defining a custom property to find the paged elements. - */ -export function paginateCustom( - client: Client, - initialResponse: TReturn -): PagedAsyncIterableIterator, PaginateReturn[]> { - // The generator would generate this based on the swagger so that our users don't need to specify the itemName - // when it can be taken from the swagger - return paginateResponse>(client, initialResponse, { itemName: "values" }); + return paginateResponse>(client, initialResponse, { + itemNames: ["value", "values"], + nextLinkNames: ["nextLink", "continuationLink"], + }); } describe("Paginate heleper", () => { @@ -120,7 +111,7 @@ describe("Paginate heleper", () => { ]); const response: TestResponse = await client.pathUnchecked("/paging/nullnextlink").get(); - const items = paginateResponse(client, response, { nextLinkName: null }); + const items = paginateResponse(client, response, { nextLinkNames: null }); const result = []; for await (const item of items) { @@ -141,7 +132,7 @@ describe("Paginate heleper", () => { ]); const response: TestResponseValues = await client.pathUnchecked("/paging/single").get(); - const items = paginateCustom(client, response); + const items = paginate(client, response); const result = []; for await (const item of items) { // We get a strong type for item :) @@ -157,7 +148,10 @@ describe("Paginate heleper", () => { mockResponse(client, [ { path: "/paging/firstResponseEmpty/1", - response: { status: 200, body: { value: [], nextLink: "/paging/firstResponseEmpty/2" } }, + response: { + status: 200, + body: { value: [], continuationLink: "/paging/firstResponseEmpty/2" }, + }, }, { path: "/paging/firstResponseEmpty/2", @@ -229,7 +223,7 @@ interface MockResponse { * @param response - Responses to return, the actual request url is matched to one of the paths in the responses and the defined object is returned. * if no path matches a 404 error is returned */ -function mockResponse(client: Client, responses: MockResponse[]) { +function mockResponse(client: Client, responses: MockResponse[]): void { let count = 0; client.pipeline.addPolicy({ diff --git a/sdk/core/core-client-rest/CHANGELOG.md b/sdk/core/core-client-rest/CHANGELOG.md index 6ad01c52e93c..58724bfd955e 100644 --- a/sdk/core/core-client-rest/CHANGELOG.md +++ b/sdk/core/core-client-rest/CHANGELOG.md @@ -1,18 +1,16 @@ # Release History -## 1.0.0-beta.7 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed +## 1.0.0-beta.7 (2021-09-02) ### Other Changes +- Create pipeline from scratch excluding tracingPolicy to decrease bundle size. [#17015](https://github.com/Azure/azure-sdk-for-js/pull/17015) +- Allow number and boolean as input headers. [#17358](https://github.com/Azure/azure-sdk-for-js/pull/17358) + ## 1.0.0-beta.6 (2021-08-05) ### Fixes + - Fixed exported types [#15898](https://github.com/Azure/azure-sdk-for-js/pull/15898) ## 1.0.0-beta.5 (2021-06-24) diff --git a/sdk/core/core-client-rest/package.json b/sdk/core/core-client-rest/package.json index 397c63c17524..b79e25f0e7da 100644 --- a/sdk/core/core-client-rest/package.json +++ b/sdk/core/core-client-rest/package.json @@ -13,20 +13,19 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", "execute:samples": "echo skipped", "extract-api": "tsc -p . && api-extractor run --local", - "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", + "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -60,6 +59,7 @@ "dependencies": { "@azure/core-auth": "^1.3.0", "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-util": "^1.0.0-beta.1", "tslib": "^2.2.0" }, "devDependencies": { diff --git a/sdk/core/core-client-rest/review/core-client.api.md b/sdk/core/core-client-rest/review/core-client.api.md index a853c4d6ef32..6826ceb5906e 100644 --- a/sdk/core/core-client-rest/review/core-client.api.md +++ b/sdk/core/core-client-rest/review/core-client.api.md @@ -9,6 +9,7 @@ import { Pipeline } from '@azure/core-rest-pipeline'; import { PipelineOptions } from '@azure/core-rest-pipeline'; import { PipelineRequest } from '@azure/core-rest-pipeline'; import { RawHttpHeaders } from '@azure/core-rest-pipeline'; +import { RawHttpHeadersInput } from '@azure/core-rest-pipeline'; import { RestError } from '@azure/core-rest-pipeline'; import { TokenCredential } from '@azure/core-auth'; @@ -75,7 +76,7 @@ export type PathUncheckedResponse = HttpResponse & { // @public export type RequestParameters = { - headers?: RawHttpHeaders; + headers?: RawHttpHeadersInput; accept?: string; body?: unknown; queryParameters?: Record; diff --git a/sdk/core/core-client-rest/src/clientHelpers.ts b/sdk/core/core-client-rest/src/clientHelpers.ts index aa3c030f246f..b6962a7defa1 100644 --- a/sdk/core/core-client-rest/src/clientHelpers.ts +++ b/sdk/core/core-client-rest/src/clientHelpers.ts @@ -2,12 +2,23 @@ // Licensed under the MIT license. import { - createPipelineFromOptions, + createEmptyPipeline, bearerTokenAuthenticationPolicy, Pipeline, createDefaultHttpClient, HttpClient, + proxyPolicy, + decompressResponsePolicy, + formDataPolicy, + userAgentPolicy, + setClientRequestIdPolicy, + throttlingRetryPolicy, + systemErrorRetryPolicy, + exponentialRetryPolicy, + redirectPolicy, + logPolicy, } from "@azure/core-rest-pipeline"; +import { isNode } from "@azure/core-util"; import { TokenCredential, KeyCredential, isTokenCredential } from "@azure/core-auth"; import { ClientOptions } from "./common"; import { keyCredentialAuthenticationPolicy } from "./keyCredentialAuthenticationPolicy"; @@ -22,8 +33,21 @@ export function createDefaultPipeline( credential?: TokenCredential | KeyCredential, options: ClientOptions = {} ): Pipeline { - const pipeline = createPipelineFromOptions(options); - pipeline.removePolicy({ name: "exponentialRetryPolicy" }); + const pipeline = createEmptyPipeline(); + + if (isNode) { + pipeline.addPolicy(proxyPolicy(options.proxyOptions)); + pipeline.addPolicy(decompressResponsePolicy()); + } + + pipeline.addPolicy(formDataPolicy()); + pipeline.addPolicy(userAgentPolicy(options.userAgentOptions)); + pipeline.addPolicy(setClientRequestIdPolicy()); + pipeline.addPolicy(throttlingRetryPolicy(), { phase: "Retry" }); + pipeline.addPolicy(systemErrorRetryPolicy(options.retryOptions), { phase: "Retry" }); + pipeline.addPolicy(exponentialRetryPolicy(options.retryOptions), { phase: "Retry" }); + pipeline.addPolicy(redirectPolicy(options.redirectOptions), { afterPhase: "Retry" }); + pipeline.addPolicy(logPolicy(), { afterPhase: "Retry" }); if (credential) { if (isTokenCredential(credential)) { diff --git a/sdk/core/core-client-rest/src/common.ts b/sdk/core/core-client-rest/src/common.ts index c51d5e5e0653..313bd0d1cc94 100644 --- a/sdk/core/core-client-rest/src/common.ts +++ b/sdk/core/core-client-rest/src/common.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { PipelineOptions, RawHttpHeaders, PipelineRequest } from "@azure/core-rest-pipeline"; +import { PipelineOptions, PipelineRequest, RawHttpHeaders } from "@azure/core-rest-pipeline"; /** * General options that a Rest Level Client can take diff --git a/sdk/core/core-client-rest/src/pathClientTypes.ts b/sdk/core/core-client-rest/src/pathClientTypes.ts index 03cb7ff8d47f..cefd4ecfb0bc 100644 --- a/sdk/core/core-client-rest/src/pathClientTypes.ts +++ b/sdk/core/core-client-rest/src/pathClientTypes.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { RawHttpHeaders } from "@azure/core-rest-pipeline"; +import { RawHttpHeadersInput } from "@azure/core-rest-pipeline"; /** * Shape of the default request parameters, this may be overriden by the specific @@ -11,7 +11,7 @@ export type RequestParameters = { /** * Headers to send along with the request */ - headers?: RawHttpHeaders; + headers?: RawHttpHeadersInput; /** * Sets the accept header to send to the service * defaults to 'application/json' diff --git a/sdk/core/core-client-rest/test/clientHelpers.spec.ts b/sdk/core/core-client-rest/test/clientHelpers.spec.ts index 699f33469005..9fbfa21b6010 100644 --- a/sdk/core/core-client-rest/test/clientHelpers.spec.ts +++ b/sdk/core/core-client-rest/test/clientHelpers.spec.ts @@ -14,10 +14,6 @@ describe("clientHelpers", () => { const policies = pipeline.getOrderedPolicies(); assert.isDefined(policies, "default pipeline should contain policies"); - assert.isUndefined( - policies.find((p) => p.name === "exponentialRetryPolicy"), - "pipeline shouldn't have exponentialRetryPolicy" - ); assert.isUndefined( policies.find((p) => p.name === bearerTokenAuthenticationPolicyName), @@ -48,10 +44,6 @@ describe("clientHelpers", () => { const policies = pipeline.getOrderedPolicies(); assert.isDefined(policies, "default pipeline should contain policies"); - assert.isUndefined( - policies.find((p) => p.name === "exponentialRetryPolicy"), - "pipeline shouldn't have exponentialRetryPolicy" - ); assert.isUndefined( policies.find((p) => p.name === bearerTokenAuthenticationPolicyName), @@ -72,10 +64,6 @@ describe("clientHelpers", () => { const policies = pipeline.getOrderedPolicies(); assert.isDefined(policies, "default pipeline should contain policies"); - assert.isUndefined( - policies.find((p) => p.name === "exponentialRetryPolicy"), - "pipeline shouldn't have exponentialRetryPolicy" - ); assert.isDefined( policies.find((p) => p.name === bearerTokenAuthenticationPolicyName), diff --git a/sdk/core/core-client-rest/test/sendRequest.spec.ts b/sdk/core/core-client-rest/test/sendRequest.spec.ts index 643e368fbcef..0a34fda5bbd9 100644 --- a/sdk/core/core-client-rest/test/sendRequest.spec.ts +++ b/sdk/core/core-client-rest/test/sendRequest.spec.ts @@ -73,6 +73,26 @@ describe("sendRequest", () => { await sendRequest("POST", mockBaseUrl, mockPipeline, { headers: { foo: "foo" } }); }); + it("should set a boolean header", async () => { + const mockPipeline: Pipeline = createEmptyPipeline(); + mockPipeline.sendRequest = async (_client, request) => { + assert.equal(request.headers.get("foo"), "true"); + return { headers: createHttpHeaders() } as PipelineResponse; + }; + + await sendRequest("POST", mockBaseUrl, mockPipeline, { headers: { foo: true } }); + }); + + it("should set a number header", async () => { + const mockPipeline: Pipeline = createEmptyPipeline(); + mockPipeline.sendRequest = async (_client, request) => { + assert.equal(request.headers.get("foo"), "123"); + return { headers: createHttpHeaders() } as PipelineResponse; + }; + + await sendRequest("POST", mockBaseUrl, mockPipeline, { headers: { foo: 123 } }); + }); + it("should set octet-stream when binary body", async () => { const mockPipeline: Pipeline = createEmptyPipeline(); mockPipeline.sendRequest = async (_client, request) => { diff --git a/sdk/core/core-client/package.json b/sdk/core/core-client/package.json index 6ce85fe464da..f270079c66c6 100644 --- a/sdk/core/core-client/package.json +++ b/sdk/core/core-client/package.json @@ -6,8 +6,7 @@ "main": "dist/index.js", "module": "dist-esm/src/index.js", "browser": { - "./dist-esm/src/base64.js": "./dist-esm/src/base64.browser.js", - "./dist-esm/src/url.js": "./dist-esm/src/url.browser.js" + "./dist-esm/src/base64.js": "./dist-esm/src/base64.browser.js" }, "types": "types/latest/core-client.d.ts", "typesVersions": { @@ -22,7 +21,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -35,7 +34,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -76,7 +74,7 @@ "tslib": "^2.2.0" }, "devDependencies": { - "@azure/core-xml": "1.0.0-beta.1", + "@azure/core-xml": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", @@ -106,6 +104,7 @@ "rimraf": "^3.0.0", "rollup": "^1.16.3", "sinon": "^9.0.2", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "util": "^0.12.1", "typedoc": "0.15.2" diff --git a/sdk/core/core-client/src/serviceClient.ts b/sdk/core/core-client/src/serviceClient.ts index c9c1611e91d7..b9bebb892810 100644 --- a/sdk/core/core-client/src/serviceClient.ts +++ b/sdk/core/core-client/src/serviceClient.ts @@ -18,7 +18,6 @@ import { import { getStreamingResponseStatusCodes } from "./interfaceHelpers"; import { getRequestUrl } from "./urlHelpers"; import { flattenResponse } from "./utils"; -import { URL } from "./url"; import { getCachedDefaultHttpClient } from "./httpClientCache"; import { getOperationRequestInfo } from "./operationHelpers"; import { createClientPipeline } from "./pipeline"; diff --git a/sdk/core/core-client/src/url.browser.ts b/sdk/core/core-client/src/url.browser.ts deleted file mode 100644 index 085c11b25cf4..000000000000 --- a/sdk/core/core-client/src/url.browser.ts +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const url = URL; -const urlSearchParams = URLSearchParams; - -export { url as URL, urlSearchParams as URLSearchParams }; diff --git a/sdk/core/core-client/src/urlHelpers.ts b/sdk/core/core-client/src/urlHelpers.ts index 41a1be2c731e..5023ae997c3a 100644 --- a/sdk/core/core-client/src/urlHelpers.ts +++ b/sdk/core/core-client/src/urlHelpers.ts @@ -1,6 +1,5 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { URL } from "./url"; import { OperationSpec, OperationArguments, QueryCollectionFormat } from "./interfaces"; import { getOperationArgumentValueFromParameter } from "./operationHelpers"; import { getPathStringFromParameter } from "./interfaceHelpers"; diff --git a/sdk/core/core-crypto/package.json b/sdk/core/core-crypto/package.json index 04d29d96875a..b7f01ffffc47 100644 --- a/sdk/core/core-crypto/package.json +++ b/sdk/core/core-crypto/package.json @@ -21,7 +21,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -34,7 +34,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c rollup.test.config.js 2>&1 && npm run unit-test:browser && npm run integration-test", diff --git a/sdk/core/core-http/CHANGELOG.md b/sdk/core/core-http/CHANGELOG.md index c66752530a77..1b4fdca2d824 100644 --- a/sdk/core/core-http/CHANGELOG.md +++ b/sdk/core/core-http/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 2.1.1 (Unreleased) +## 2.2.1 (Unreleased) ### Features Added @@ -10,6 +10,12 @@ ### Other Changes +## 2.2.0 (2021-09-02) + +### Bugs Fixed + +- `tracingPolicy` will no longer propagate tracing errors to the caller, and such errors will be logged instead and the operation does not get interrupted. [PR #16916](https://github.com/Azure/azure-sdk-for-js/pull/16916) + ## 2.1.0 (2021-07-22) ### Features Added diff --git a/sdk/core/core-http/package.json b/sdk/core/core-http/package.json index 37b52db7e334..834eab5575a9 100644 --- a/sdk/core/core-http/package.json +++ b/sdk/core/core-http/package.json @@ -2,7 +2,7 @@ "name": "@azure/core-http", "sdk-type": "client", "author": "Microsoft Corporation", - "version": "2.1.1", + "version": "2.2.1", "description": "Isomorphic client Runtime for Typescript/node.js/browser javascript client libraries generated using AutoRest", "tags": [ "isomorphic", @@ -67,7 +67,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p tsconfig.es.json && rollup -c 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p tsconfig.es.json && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p tsconfig.es.json && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "execute:samples": "echo skipped", @@ -79,7 +79,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -120,8 +119,8 @@ "@azure/core-tracing": "1.0.0-preview.13", "@azure/logger": "^1.0.0", "@types/node-fetch": "^2.5.0", - "@types/tunnel": "^0.0.1", - "form-data": "^3.0.0", + "@types/tunnel": "^0.0.3", + "form-data": "^4.0.0", "node-fetch": "^2.6.0", "process": "^0.11.10", "tough-cookie": "^4.0.0", @@ -166,13 +165,13 @@ "npm-run-all": "^4.1.5", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "regenerator-runtime": "^0.13.3", "rimraf": "^3.0.0", "rollup": "^1.16.3", "shx": "^0.3.2", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "uglify-js": "^3.4.9", "xhr-mock": "^2.4.1", diff --git a/sdk/core/core-http/review/core-http.api.md b/sdk/core/core-http/review/core-http.api.md index 252b55527f93..83dcf1fd5d14 100644 --- a/sdk/core/core-http/review/core-http.api.md +++ b/sdk/core/core-http/review/core-http.api.md @@ -613,7 +613,6 @@ export interface RequestOptionsBase { onUploadProgress?: (progress: TransferProgressEvent) => void; serializerOptions?: SerializerOptions; shouldDeserialize?: boolean | ((response: HttpOperationResponse) => boolean); - spanOptions?: SpanOptions; timeout?: number; tracingContext?: Context; } @@ -975,7 +974,6 @@ export interface WebResourceLike { }; requestId: string; shouldDeserialize?: boolean | ((response: HttpOperationResponse) => boolean); - spanOptions?: SpanOptions; // @deprecated (undocumented) streamResponseBody?: boolean; streamResponseStatusCodes?: Set; diff --git a/sdk/core/core-http/src/nodeFetchHttpClient.ts b/sdk/core/core-http/src/nodeFetchHttpClient.ts index abfd66d1c715..a8ae2ff6efaa 100644 --- a/sdk/core/core-http/src/nodeFetchHttpClient.ts +++ b/sdk/core/core-http/src/nodeFetchHttpClient.ts @@ -29,7 +29,8 @@ function getCachedAgent( } export class NodeFetchHttpClient extends FetchHttpClient { - private proxyAgents: AgentCache = {}; + // a mapping of proxy settings string `${host}:${port}:${username}:${password}` to agent + private proxyAgentMap: Map = new Map(); private keepAliveAgents: AgentCache = {}; private readonly cookieJar = new tough.CookieJar(undefined, { looseMode: true }); @@ -41,7 +42,11 @@ export class NodeFetchHttpClient extends FetchHttpClient { // exclusive because the 'tunnel' library currently lacks the // ability to create a proxy with keepAlive turned on. if (httpRequest.proxySettings) { - let agent = getCachedAgent(isHttps, this.proxyAgents); + const { host, port, username, password } = httpRequest.proxySettings; + const key = `${host}:${port}:${username}:${password}`; + const proxyAgents = this.proxyAgentMap.get(key) ?? {}; + + let agent = getCachedAgent(isHttps, proxyAgents); if (agent) { return agent; } @@ -54,10 +59,11 @@ export class NodeFetchHttpClient extends FetchHttpClient { agent = tunnel.agent; if (tunnel.isHttps) { - this.proxyAgents.httpsAgent = tunnel.agent as https.Agent; + proxyAgents.httpsAgent = tunnel.agent as https.Agent; } else { - this.proxyAgents.httpAgent = tunnel.agent; + proxyAgents.httpAgent = tunnel.agent; } + this.proxyAgentMap.set(key, proxyAgents); return agent; } else if (httpRequest.keepAlive) { diff --git a/sdk/core/core-http/src/operationOptions.ts b/sdk/core/core-http/src/operationOptions.ts index 07b559c3856b..34e130001776 100644 --- a/sdk/core/core-http/src/operationOptions.ts +++ b/sdk/core/core-http/src/operationOptions.ts @@ -67,8 +67,9 @@ export function operationOptionsToRequestOptionsBase } if (tracingOptions) { - result.spanOptions = tracingOptions.spanOptions; result.tracingContext = tracingOptions.tracingContext; + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + result.spanOptions = (tracingOptions as any)?.spanOptions; } return result; diff --git a/sdk/core/core-http/src/policies/bearerTokenAuthenticationPolicy.ts b/sdk/core/core-http/src/policies/bearerTokenAuthenticationPolicy.ts index 5cb9bb3ab86f..adf9137f04fb 100644 --- a/sdk/core/core-http/src/policies/bearerTokenAuthenticationPolicy.ts +++ b/sdk/core/core-http/src/policies/bearerTokenAuthenticationPolicy.ts @@ -249,7 +249,6 @@ export function bearerTokenAuthenticationPolicy( const { token } = await getToken({ abortSignal: webResource.abortSignal, tracingOptions: { - spanOptions: webResource.spanOptions, tracingContext: webResource.tracingContext } }); diff --git a/sdk/core/core-http/src/policies/tracingPolicy.ts b/sdk/core/core-http/src/policies/tracingPolicy.ts index a72927592087..dbb4a4645189 100644 --- a/sdk/core/core-http/src/policies/tracingPolicy.ts +++ b/sdk/core/core-http/src/policies/tracingPolicy.ts @@ -6,7 +6,8 @@ import { createSpanFunction, SpanKind, SpanStatusCode, - isSpanContextValid + isSpanContextValid, + Span } from "@azure/core-tracing"; import { RequestPolicyFactory, @@ -17,6 +18,7 @@ import { import { WebResourceLike } from "../webResource"; import { HttpOperationResponse } from "../httpOperationResponse"; import { URLBuilder } from "../url"; +import { logger } from "../log"; const createSpan = createSpanFunction({ packagePrefix: "", @@ -52,30 +54,60 @@ export class TracingPolicy extends BaseRequestPolicy { return this._nextPolicy.sendRequest(request); } - // create a new span - const path = URLBuilder.parse(request.url).getPath() || "/"; + const span = this.tryCreateSpan(request); - const { span } = createSpan(path, { - tracingOptions: { - spanOptions: { - ...request.spanOptions, - kind: SpanKind.CLIENT - }, - tracingContext: request.tracingContext - } - }); - - span.setAttributes({ - "http.method": request.method, - "http.url": request.url, - requestId: request.requestId - }); + if (!span) { + return this._nextPolicy.sendRequest(request); + } - if (this.userAgent) { - span.setAttribute("http.user_agent", this.userAgent); + try { + const response = await this._nextPolicy.sendRequest(request); + this.tryProcessResponse(span, response); + return response; + } catch (err) { + this.tryProcessError(span, err); + throw err; } + } + tryCreateSpan(request: WebResourceLike): Span | undefined { try { + const path = URLBuilder.parse(request.url).getPath() || "/"; + + // Passing spanOptions as part of tracingOptions to maintain compatibility @azure/core-tracing@preview.13 and earlier. + // We can pass this as a separate parameter once we upgrade to the latest core-tracing. + const { span } = createSpan(path, { + tracingOptions: { + spanOptions: { + ...(request as any).spanOptions, + kind: SpanKind.CLIENT + }, + tracingContext: request.tracingContext + } + }); + + // If the span is not recording, don't do any more work. + if (!span.isRecording()) { + span.end(); + return undefined; + } + + const namespaceFromContext = request.tracingContext?.getValue(Symbol.for("az.namespace")); + + if (typeof namespaceFromContext === "string") { + span.setAttribute("az.namespace", namespaceFromContext); + } + + span.setAttributes({ + "http.method": request.method, + "http.url": request.url, + requestId: request.requestId + }); + + if (this.userAgent) { + span.setAttribute("http.user_agent", this.userAgent); + } + // set headers const spanContext = span.spanContext(); const traceParentHeader = getTraceParentHeader(spanContext); @@ -87,8 +119,31 @@ export class TracingPolicy extends BaseRequestPolicy { request.headers.set("tracestate", traceState); } } + return span; + } catch (error) { + logger.warning(`Skipping creating a tracing span due to an error: ${error.message}`); + return undefined; + } + } - const response = await this._nextPolicy.sendRequest(request); + private tryProcessError(span: Span, err: any): void { + try { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: err.message + }); + + if (err.statusCode) { + span.setAttribute("http.status_code", err.statusCode); + } + span.end(); + } catch (error) { + logger.warning(`Skipping tracing span processing due to an error: ${error.message}`); + } + } + + private tryProcessResponse(span: Span, response: HttpOperationResponse): void { + try { span.setAttribute("http.status_code", response.status); const serviceRequestId = response.headers.get("x-ms-request-id"); if (serviceRequestId) { @@ -97,16 +152,9 @@ export class TracingPolicy extends BaseRequestPolicy { span.setStatus({ code: SpanStatusCode.OK }); - return response; - } catch (err) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: err.message - }); - span.setAttribute("http.status_code", err.statusCode); - throw err; - } finally { span.end(); + } catch (error) { + logger.warning(`Skipping tracing span processing due to an error: ${error.message}`); } } } diff --git a/sdk/core/core-http/src/serviceClient.ts b/sdk/core/core-http/src/serviceClient.ts index 3bf397a715b2..11fa214b554d 100644 --- a/sdk/core/core-http/src/serviceClient.ts +++ b/sdk/core/core-http/src/serviceClient.ts @@ -492,7 +492,8 @@ export class ServiceClient { } if (options.spanOptions) { - httpRequest.spanOptions = options.spanOptions; + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + (httpRequest as any).spanOptions = options.spanOptions; } if (options.tracingContext) { diff --git a/sdk/core/core-http/src/util/constants.ts b/sdk/core/core-http/src/util/constants.ts index 277b50c0dad7..2fdbf2032adc 100644 --- a/sdk/core/core-http/src/util/constants.ts +++ b/sdk/core/core-http/src/util/constants.ts @@ -5,7 +5,7 @@ export const Constants = { /** * The core-http version */ - coreHttpVersion: "2.1.1", + coreHttpVersion: "2.2.1", /** * Specifies HTTP. diff --git a/sdk/core/core-http/src/webResource.ts b/sdk/core/core-http/src/webResource.ts index 93d30a1cf9b4..01216b97774a 100644 --- a/sdk/core/core-http/src/webResource.ts +++ b/sdk/core/core-http/src/webResource.ts @@ -126,11 +126,6 @@ export interface WebResourceLike { /** Callback which fires upon download progress. */ onDownloadProgress?: (progress: TransferProgressEvent) => void; - /** - * Tracing: Options used to create a span when tracing is enabled. - */ - spanOptions?: SpanOptions; - /** * Tracing: Context used when creating spans. */ @@ -700,11 +695,6 @@ export interface RequestOptionsBase { */ shouldDeserialize?: boolean | ((response: HttpOperationResponse) => boolean); - /** - * Tracing: Options used to create a span when tracing is enabled. - */ - spanOptions?: SpanOptions; - /** * Tracing: Context used when creating spans. */ diff --git a/sdk/core/core-http/test/defaultHttpClientTests.node.ts b/sdk/core/core-http/test/defaultHttpClientTests.node.ts index 08c2d2a1d236..f312e53e808d 100644 --- a/sdk/core/core-http/test/defaultHttpClientTests.node.ts +++ b/sdk/core/core-http/test/defaultHttpClientTests.node.ts @@ -353,6 +353,80 @@ describe("defaultHttpClient (node)", function() { download.notified.should.be.true; }); }); + + it("should use cached agent for requests with the same proxy settings", async function() { + const proxySettings = { + host: "host1", + port: 8001, + username: "user1", + password: "SecretPlaceholder" + }; + const request1 = new WebResource("/url"); + request1.proxySettings = proxySettings; + const request2 = new WebResource("/url"); + request2.proxySettings = proxySettings; + const client = new DefaultHttpClient(); + + const requestInit1: Partial = await client.prepareRequest( + request1 + ); + const requestInit2: Partial = await client.prepareRequest( + request2 + ); + assert.deepStrictEqual(requestInit1.agent, requestInit2.agent); + }); + + it("should use different agents for requests with different proxy settings", async function() { + const request1 = new WebResource("/url"); + request1.proxySettings = { + host: "host1", + port: 8001, + username: "user1", + password: "SecretPlaceholder" + }; + const request2 = new WebResource("/url"); + request2.proxySettings = { host: "host2", port: 8002, username: "user2", password: "p@55wOrd" }; + const client = new DefaultHttpClient(); + + const requestInit1: Partial = await client.prepareRequest( + request1 + ); + const requestInit2: Partial = await client.prepareRequest( + request2 + ); + assert.notStrictEqual(requestInit1.agent, requestInit2.agent); + assert.notEqual(requestInit1.agent.proxyOptions.host, requestInit2.agent.proxyOptions.host); + assert.notEqual(requestInit1.agent.proxyOptions.port, requestInit2.agent.proxyOptions.port); + assert.notEqual( + requestInit1.agent.proxyOptions.proxyAuth, + requestInit2.agent.proxyOptions.proxyAuth + ); + }); + + it("should use different agents for requests with different proxy settings of same url but different credentials", async function() { + const request1 = new WebResource("/url"); + request1.proxySettings = { + host: "host1", + port: 8001, + username: "user1", + password: "SecretPlaceholder" + }; + const request2 = new WebResource("/url"); + request2.proxySettings = { host: "host1", port: 8001 }; + const client = new DefaultHttpClient(); + + const requestInit1: Partial = await client.prepareRequest( + request1 + ); + const requestInit2: Partial = await client.prepareRequest( + request2 + ); + assert.notStrictEqual(requestInit1.agent, requestInit2.agent); + assert.notEqual( + requestInit1.agent.proxyOptions.proxyAuth, + requestInit2.agent.proxyOptions.proxyAuth + ); + }); }); describe("ReportTransform", function() { diff --git a/sdk/core/core-http/test/logFilterTests.ts b/sdk/core/core-http/test/logFilterTests.ts index 4f8ea22497fc..eec1f1af8039 100644 --- a/sdk/core/core-http/test/logFilterTests.ts +++ b/sdk/core/core-http/test/logFilterTests.ts @@ -181,7 +181,10 @@ Headers: { "https://foo.com", "PUT", { a: 1 }, - { "api-version": "1.0", secret: "goose" } + { + "api-version": "1.0", + secret: "SecretPlaceholder" + } ); delete (request as any).requestId; assertLog(request, expected, done); diff --git a/sdk/core/core-http/test/policies/proxyPolicyTests.browser.ts b/sdk/core/core-http/test/policies/proxyPolicyTests.browser.ts index 471a77e9a494..0f5f4884fbc4 100644 --- a/sdk/core/core-http/test/policies/proxyPolicyTests.browser.ts +++ b/sdk/core/core-http/test/policies/proxyPolicyTests.browser.ts @@ -14,7 +14,7 @@ describe("ProxyPolicy (browser)", function() { host: "https://example.com", port: 3030, username: "admin", - password: "_password" + password: "SecretPlaceholder" }; const emptyRequestPolicy = { diff --git a/sdk/core/core-http/test/policies/proxyPolicyTests.node.ts b/sdk/core/core-http/test/policies/proxyPolicyTests.node.ts index 3331548d4dcd..1db4f630fb19 100644 --- a/sdk/core/core-http/test/policies/proxyPolicyTests.node.ts +++ b/sdk/core/core-http/test/policies/proxyPolicyTests.node.ts @@ -21,7 +21,7 @@ describe("ProxyPolicy (node)", function() { host: "https://example.com", port: 3030, username: "admin", - password: "_password" + password: "SecretPlaceholder" }; const emptyRequestPolicy = { diff --git a/sdk/core/core-http/test/policies/tracingPolicyTests.ts b/sdk/core/core-http/test/policies/tracingPolicyTests.ts index fe5428a51f90..ee9b43769f5e 100644 --- a/sdk/core/core-http/test/policies/tracingPolicyTests.ts +++ b/sdk/core/core-http/test/policies/tracingPolicyTests.ts @@ -22,6 +22,7 @@ import { } from "@azure/core-tracing"; import { tracingPolicy } from "../../src/policies/tracingPolicy"; import { TracerProvider, Tracer, Span, SpanOptions, trace } from "@opentelemetry/api"; +import sinon from "sinon"; class MockSpan implements Span { private _endCalled = false; @@ -34,11 +35,14 @@ class MockSpan implements Span { private traceId: string, private spanId: string, private flags: TraceFlags, - private state: string - ) {} + private state: string, + options?: SpanOptions + ) { + this._attributes = options?.attributes || {}; + } addEvent(): this { - throw new Error("Not implemented."); + throw new Error("Method not implemented."); } isRecording(): boolean { @@ -46,11 +50,11 @@ class MockSpan implements Span { } recordException(): void { - throw new Error("Not implemented."); + throw new Error("Method not implemented."); } updateName(): this { - throw new Error("Not implemented."); + throw new Error("Method not implemented."); } didEnd(): boolean { @@ -71,7 +75,9 @@ class MockSpan implements Span { } setAttributes(attributes: SpanAttributes): this { - this._attributes = attributes; + for (const key in attributes) { + this.setAttribute(key, attributes[key]!); + } return this; } @@ -88,15 +94,15 @@ class MockSpan implements Span { const state = this.state; const traceState = { - set(_key: string, _value: string): TraceState { - // Nothing to do here. + set(): TraceState { + /* empty */ return traceState; }, - unset(_key: string): TraceState { - // Nothing to do here. + unset(): TraceState { + /* empty */ return traceState; }, - get(_key: string): string | undefined { + get(): string | undefined { return; }, serialize() { @@ -136,9 +142,9 @@ class MockTracer implements Tracer { return this._startSpanCalled; } - startSpan(_name: string, _options?: SpanOptions): MockSpan { + startSpan(_name: string, options?: SpanOptions): MockSpan { this._startSpanCalled = true; - const span = new MockSpan(this.traceId, this.spanId, this.flags, this.state); + const span = new MockSpan(this.traceId, this.spanId, this.flags, this.state, options); this.spans.push(span); return span; } @@ -188,7 +194,7 @@ describe("tracingPolicy", function() { mockTracerProvider.disable(); }); - it("will not create a span if spanOptions are missing", async () => { + it("will not create a span if tracingContext is missing", async () => { const mockTracer = new MockTracer(); const request = new WebResource(); const policy = tracingPolicy().create(mockPolicy, new RequestPolicyOptions()); @@ -197,7 +203,7 @@ describe("tracingPolicy", function() { assert.isFalse(mockTracer.startSpanCalled()); }); - it("will create a span and correctly set trace headers if spanOptions are available", async () => { + it("will create a span and correctly set trace headers if tracingContext is available", async () => { const mockTraceId = "11111111111111111111111111111111"; const mockSpanId = "2222222222222222"; const mockTracer = new MockTracer(mockTraceId, mockSpanId, TraceFlags.SAMPLED); @@ -223,7 +229,7 @@ describe("tracingPolicy", function() { assert.notExists(request.headers.get("tracestate")); }); - it("will create a span and correctly set trace headers if spanOptions are available (no TraceOptions)", async () => { + it("will create a span and correctly set trace headers if tracingContext is available (no TraceOptions)", async () => { const mockTraceId = "11111111111111111111111111111111"; const mockSpanId = "2222222222222222"; // leave out the TraceOptions @@ -252,7 +258,7 @@ describe("tracingPolicy", function() { assert.notExists(request.headers.get("tracestate")); }); - it("will create a span and correctly set trace headers if spanOptions are available (TraceState)", async () => { + it("will create a span and correctly set trace headers if tracingContext is available (TraceState)", async () => { const mockTraceId = "11111111111111111111111111111111"; const mockSpanId = "2222222222222222"; const mockTraceState = "foo=bar"; @@ -330,6 +336,7 @@ describe("tracingPolicy", function() { it("will not set headers if span is a NoOpSpan", async () => { mockTracerProvider.disable(); const request = new WebResource(); + request.tracingContext = setSpan(context.active(), ROOT_SPAN); const policy = tracingPolicy().create(mockPolicy, new RequestPolicyOptions()); await policy.sendRequest(request); @@ -352,4 +359,75 @@ describe("tracingPolicy", function() { assert.notExists(request.headers.get("traceparent")); assert.notExists(request.headers.get("tracestate")); }); + + it("will not fail the request if span setup fails", async () => { + const errorTracer = new MockTracer("", "", TraceFlags.SAMPLED, ""); + sinon.stub(errorTracer, "startSpan").throws(new Error("Test Error")); + mockTracerProvider.setTracer(errorTracer); + + const request = new WebResource(); + request.tracingContext = setSpan(context.active(), ROOT_SPAN); + + const policy = tracingPolicy().create(mockPolicy, new RequestPolicyOptions()); + + const response = await policy.sendRequest(request); + assert.equal(response.status, 200); + }); + + it("will not fail the request if response processing fails", async () => { + const errorTracer = new MockTracer("", "", TraceFlags.SAMPLED, ""); + mockTracerProvider.setTracer(errorTracer); + const errorSpan = new MockSpan("", "", TraceFlags.SAMPLED, ""); + sinon.stub(errorSpan, "end").throws(new Error("Test Error")); + sinon.stub(errorTracer, "startSpan").returns(errorSpan); + + const request = new WebResource(); + request.tracingContext = setSpan(context.active(), ROOT_SPAN); + + const policy = tracingPolicy().create(mockPolicy, new RequestPolicyOptions()); + + const response = await policy.sendRequest(request); + assert.equal(response.status, 200); + }); + + it("will give priority to context's az.namespace over spanOptions", async () => { + const mockTracer = new MockTracer(); + mockTracerProvider.setTracer(mockTracer); + + const request = new WebResource(); + request.spanOptions = { + attributes: { "az.namespace": "value_from_span_options" } + }; + request.tracingContext = setSpan(context.active(), ROOT_SPAN).setValue( + Symbol.for("az.namespace"), + "value_from_context" + ); + + const policy = tracingPolicy().create(mockPolicy, new RequestPolicyOptions()); + await policy.sendRequest(request); + + assert.isTrue(mockTracer.startSpanCalled()); + assert.lengthOf(mockTracer.getStartedSpans(), 1); + const span = mockTracer.getStartedSpans()[0]; + assert.equal(span.getAttribute("az.namespace"), "value_from_context"); + }); + + it("will use spanOptions if context does not have az.namespace", async () => { + const mockTracer = new MockTracer(); + mockTracerProvider.setTracer(mockTracer); + + const request = new WebResource(); + request.spanOptions = { + attributes: { "az.namespace": "value_from_span_options" } + }; + request.tracingContext = setSpan(context.active(), ROOT_SPAN); + + const policy = tracingPolicy().create(mockPolicy, new RequestPolicyOptions()); + await policy.sendRequest(request); + + assert.isTrue(mockTracer.startSpanCalled()); + assert.lengthOf(mockTracer.getStartedSpans(), 1); + const span = mockTracer.getStartedSpans()[0]; + assert.equal(span.getAttribute("az.namespace"), "value_from_span_options"); + }); }); diff --git a/sdk/core/core-http/test/proxyAgent.node.ts b/sdk/core/core-http/test/proxyAgent.node.ts index e8954887c3a5..df90b504a365 100644 --- a/sdk/core/core-http/test/proxyAgent.node.ts +++ b/sdk/core/core-http/test/proxyAgent.node.ts @@ -69,14 +69,14 @@ describe("proxyAgent", () => { host: "http://proxy.microsoft.com", port: 8080, username: "username", - password: "pass123" + password: "SecretPlaceholder" }; const proxyAgent = createProxyAgent("http://example.com", proxySettings); const agent = proxyAgent.agent as HttpsAgent; should().exist(agent.options.proxy.proxyAuth); - agent.options.proxy.proxyAuth!.should.equal("username:pass123"); + agent.options.proxy.proxyAuth!.should.equal("username:SecretPlaceholder"); done(); }); diff --git a/sdk/core/core-lro/CHANGELOG.md b/sdk/core/core-lro/CHANGELOG.md index beed422557dc..be150c94ef51 100644 --- a/sdk/core/core-lro/CHANGELOG.md +++ b/sdk/core/core-lro/CHANGELOG.md @@ -8,6 +8,8 @@ ### Bugs Fixed +- Check for string type before calling toLowerCase(). [PR #17573](https://github.com/Azure/azure-sdk-for-js/pull/17573) + ### Other Changes ## 2.2.0 (2021-08-05) diff --git a/sdk/core/core-lro/package.json b/sdk/core/core-lro/package.json index 512ea39b29b8..15bb28d8ea21 100644 --- a/sdk/core/core-lro/package.json +++ b/sdk/core/core-lro/package.json @@ -67,7 +67,7 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* types *.log browser statistics.html coverage src/**/*.js test/**/*.js", @@ -80,7 +80,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test", @@ -125,7 +124,7 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "rollup": "^1.16.3", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "uglify-js": "^3.4.9", "typedoc": "0.15.2" diff --git a/sdk/core/core-lro/samples/typescript/samplesClient.ts b/sdk/core/core-lro/samples/typescript/samplesClient.ts index c41d44eef31b..0b440eef5f15 100644 --- a/sdk/core/core-lro/samples/typescript/samplesClient.ts +++ b/sdk/core/core-lro/samples/typescript/samplesClient.ts @@ -25,7 +25,7 @@ export interface SamplePollOperationState extends PollOperationState { const state = this.state; - state.result = await state.client.cancel(); + state.result = await client.cancel(); state.previousResponses.push(state.result); - return makeSamplePollOperation({ - ...state, - isCancelled: true - }); + return makeSamplePollOperation( + { ...state, isCancelled: true }, + client + ); }, /** @@ -116,15 +116,17 @@ class SamplePoller extends Poller { constructor({ client, + requestCount, intervalInMs = 2000, resumeFrom }: { client: Client; + requestCount:number; intervalInMs?: number; resumeFrom?: string; }) { let state: SamplePollOperationState = { - client, + requestCount, previousResponses: [] }; @@ -134,7 +136,7 @@ class SamplePoller extends Poller { } // Making a new instance of the SamplePollOperation - const operation = makeSamplePollOperation(state); + const operation = makeSamplePollOperation(state, client); super(operation); this.intervalInMs = intervalInMs; @@ -169,7 +171,7 @@ class Client { * We'll keep track of the number of requests through this private property. * This is just to demonstrate the poller's behavior. */ - private requestCount: number = 0; + private requestCount: number = 1; /** * isDone is here to represent a way to determine if the response from the service indicates that the long running operation has finished. @@ -193,11 +195,11 @@ class Client { /** * makeRequest simulates a method that reaches out to a remote resource that responds differently each time */ - public async makeRequest(): Promise { + public async makeRequest(state: SamplePollOperationState): Promise { // Let's assume the HTTP request happens here. await delay(1000); return { - value: this.requestCount++ + value: state.requestCount++ }; } @@ -206,6 +208,7 @@ class Client { }): Promise, ReturnValue>> { const poller = new SamplePoller({ client: this, + requestCount: this.requestCount, ...options }); await poller.poll(); @@ -216,13 +219,14 @@ class Client { // Now let's see how the client is used. export async function main(): Promise { - const client = new Client(); + let client = new Client(); let poller = await client.beginLongOperation(); console.log(poller.getResult()); // Should show: { value: 1 } let result = await poller.pollUntilDone(); console.log(result); // Should show: { value: 3 } // We can start again and do each call individually + client = new Client(); poller = await client.beginLongOperation(); console.log(poller.getResult()); // Should show: { value: 1 } await poller.poll(); @@ -232,6 +236,7 @@ export async function main(): Promise { console.log(poller.isDone()); // Should be: true // We can also start it, then serialize it, then resume it with a different poller + client = new Client(); poller = await client.beginLongOperation(); console.log(poller.getResult()); // Should show: { value: 1 } const serialized = poller.toString(); diff --git a/sdk/core/core-lro/src/lroEngine/azureAsyncPolling.ts b/sdk/core/core-lro/src/lroEngine/azureAsyncPolling.ts index 5ed03ddcdf01..937fb665970d 100644 --- a/sdk/core/core-lro/src/lroEngine/azureAsyncPolling.ts +++ b/sdk/core/core-lro/src/lroEngine/azureAsyncPolling.ts @@ -15,7 +15,7 @@ import { isUnexpectedPollingResponse } from "./requestUtils"; function getResponseStatus(rawResponse: RawResponse): string { const { status } = (rawResponse.body as LroBody) ?? {}; - return status?.toLowerCase() ?? "succeeded"; + return typeof status === "string" ? status.toLowerCase() : "succeeded"; } function isAzureAsyncPollingDone(rawResponse: RawResponse): boolean { diff --git a/sdk/core/core-lro/src/lroEngine/bodyPolling.ts b/sdk/core/core-lro/src/lroEngine/bodyPolling.ts index 7653e6563208..90efb04b127d 100644 --- a/sdk/core/core-lro/src/lroEngine/bodyPolling.ts +++ b/sdk/core/core-lro/src/lroEngine/bodyPolling.ts @@ -14,7 +14,7 @@ import { isUnexpectedPollingResponse } from "./requestUtils"; function getProvisioningState(rawResponse: RawResponse): string { const { properties, provisioningState } = (rawResponse.body as LroBody) ?? {}; const state: string | undefined = properties?.provisioningState ?? provisioningState; - return state?.toLowerCase() ?? "succeeded"; + return typeof state === "string" ? state.toLowerCase() : "succeeded"; } export function isBodyPollingDone(rawResponse: RawResponse): boolean { diff --git a/sdk/core/core-lro/test/utils/router/routesProcesses.ts b/sdk/core/core-lro/test/utils/router/routesProcesses.ts index 0115f4fb6ed2..18412f9c1ad1 100644 --- a/sdk/core/core-lro/test/utils/router/routesProcesses.ts +++ b/sdk/core/core-lro/test/utils/router/routesProcesses.ts @@ -389,7 +389,11 @@ export function nonretryerrorDeleteasyncRetry400(request: PipelineRequest): Pipe export function nonretryerrorDeleteasyncRetryFailedOperationResults400( request: PipelineRequest ): PipelineResponse { - return buildResponse(request, 400, `{ "message" : "Expected bad request message" }`); + return buildResponse( + request, + 400, + `{ "message" : "Expected bad request message", "status": 200 }` + ); } export function nonretryerrorPost400(request: PipelineRequest): PipelineResponse { diff --git a/sdk/core/core-paging/CHANGELOG.md b/sdk/core/core-paging/CHANGELOG.md index 894630468706..6767e2309a93 100644 --- a/sdk/core/core-paging/CHANGELOG.md +++ b/sdk/core/core-paging/CHANGELOG.md @@ -1,7 +1,10 @@ # Release History -## 1.1.4 (Unreleased) +## 1.2.0 (2021-08-30) +### Features Added + +- Add `getPagedAsyncIterator` that does the heavy lifting to build a paged async iterator. ## 1.1.3 (2020-09-30) diff --git a/sdk/core/core-paging/karma.conf.js b/sdk/core/core-paging/karma.conf.js new file mode 100644 index 000000000000..b6e3b25c9051 --- /dev/null +++ b/sdk/core/core-paging/karma.conf.js @@ -0,0 +1,110 @@ +// https://github.com/karma-runner/karma-chrome-launcher +process.env.CHROME_BIN = require("puppeteer").executablePath(); + +module.exports = function(config) { + config.set({ + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: "./", + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ["mocha"], + + plugins: [ + "karma-mocha", + "karma-mocha-reporter", + "karma-chrome-launcher", + "karma-edge-launcher", + "karma-firefox-launcher", + "karma-ie-launcher", + "karma-env-preprocessor", + "karma-coverage", + "karma-sourcemap-loader", + "karma-junit-reporter" + ], + + // list of files / patterns to load in the browser + files: ["dist-test/index.browser.js"], + + // list of files / patterns to exclude + exclude: [], + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + "**/*.js": ["sourcemap", "env"] + // IMPORTANT: COMMENT following line if you want to debug in your browsers!! + // Preprocess source file to calculate code coverage, however this will make source file unreadable + //"dist-test/index.browser.js": ["coverage"] + }, + + // inject following environment values into browser testing with window.__env__ + // environment values MUST be exported or set with same console running "karma start" + // https://www.npmjs.com/package/karma-env-preprocessor + // EXAMPLE: envPreprocessor: ["ACCOUNT_NAME", "ACCOUNT_SAS"], + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ["mocha", "coverage", "junit"], + + coverageReporter: { + // specify a common output directory + dir: "coverage-browser/", + reporters: [ + { type: "json", subdir: ".", file: "coverage.json" }, + { type: "lcovonly", subdir: ".", file: "lcov.info" }, + { type: "html", subdir: "html" }, + { type: "cobertura", subdir: ".", file: "cobertura-coverage.xml" } + ] + }, + + junitReporter: { + outputDir: "", // results will be saved as $outputDir/$browserName.xml + outputFile: "test-results.browser.xml", // if included, results will be saved as $outputDir/$browserName/$outputFile + suite: "", // suite will become the package name attribute in xml testsuite element + useBrowserName: false, // add browser name to report and classes names + nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element + classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element + properties: {} // key value pair of properties to add to the section of the report + }, + + // web server port + port: 9876, + + // enable / disable colors in the output (reporters and logs) + colors: true, + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + // 'ChromeHeadless', 'Chrome', 'Firefox', 'Edge', 'IE' + browsers: ["ChromeHeadless"], + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: true, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: 1, + + browserNoActivityTimeout: 600000, + browserDisconnectTimeout: 10000, + browserDisconnectTolerance: 3, + + client: { + mocha: { + // change Karma's debug.html to the mocha web reporter + reporter: "html", + timeout: "600000" + } + } + }); +}; diff --git a/sdk/core/core-paging/package.json b/sdk/core/core-paging/package.json index b87d38c82f28..62d7704aba0b 100644 --- a/sdk/core/core-paging/package.json +++ b/sdk/core/core-paging/package.json @@ -2,7 +2,7 @@ "name": "@azure/core-paging", "author": "Microsoft Corporation", "sdk-type": "client", - "version": "1.1.4", + "version": "1.2.0", "description": "Core types for paging async iterable iterators", "tags": [ "microsoft", @@ -27,8 +27,8 @@ "files": [ "types/latest/core-paging.d.ts", "types/3.1", - "dist/index.js", - "dist-esm/src/index.js", + "dist/", + "dist-esm/src/", "LICENSE", "README.md" ], @@ -46,7 +46,7 @@ "build:samples": "echo Obsolete", "build:test": "echo skipped", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp *.tgz types *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -59,26 +59,42 @@ "lint": "eslint package.json src --ext .ts", "lint:fix": "eslint package.json src --ext .ts --fix --fix-type [problem,suggestion]", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", - "unit-test:browser": "echo skipped", - "unit-test:node": "echo skipped", + "unit-test:browser": "karma start --single-run", + "unit-test:node": "mocha -r esm -r ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 50000 --full-trace --exclude \"test/**/browser/*.spec.ts\" \"test/**/*.spec.ts\"", "unit-test": "npm run unit-test:node && npm run unit-test:browser" }, "sideEffects": true, "private": false, "dependencies": { - "@azure/core-asynciterator-polyfill": "^1.0.0" + "@azure/core-asynciterator-polyfill": "^1.0.0", + "tslib": "^2.2.0" }, "devDependencies": { "@azure/dev-tool": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@azure/eslint-plugin-azure-sdk": "^3.0.0", + "@types/chai": "^4.1.6", + "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", + "chai": "^4.2.0", "downlevel-dts": "~0.4.0", "eslint": "^7.15.0", + "karma": "^6.2.0", + "karma-chrome-launcher": "^3.0.0", + "karma-coverage": "^2.0.0", + "karma-edge-launcher": "^0.4.2", + "karma-env-preprocessor": "^0.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-junit-reporter": "^2.0.1", + "karma-mocha": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-sourcemap-loader": "^0.3.8", + "mocha": "^7.1.1", + "mocha-junit-reporter": "^1.18.0", "prettier": "^1.16.4", "rimraf": "^3.0.0", "rollup": "^1.16.3", diff --git a/sdk/core/core-paging/review/core-paging.api.md b/sdk/core/core-paging/review/core-paging.api.md index 0334205ae6bd..b347aff8d187 100644 --- a/sdk/core/core-paging/review/core-paging.api.md +++ b/sdk/core/core-paging/review/core-paging.api.md @@ -4,6 +4,9 @@ ```ts +// @public +export function getPagedAsyncIterator(pagedResult: PagedResult): PagedAsyncIterableIterator; + // @public export interface PagedAsyncIterableIterator { [Symbol.asyncIterator](): PagedAsyncIterableIterator; @@ -11,6 +14,16 @@ export interface PagedAsyncIterableIterator>; } +// @public +export interface PagedResult { + byPage?: (settings?: TPageSettings) => AsyncIterableIterator; + firstPageLink: TLink; + getPage: (pageLink: TLink, maxPageSize?: number) => Promise<{ + page: TPage; + nextPageLink?: TLink; + }>; +} + // @public export interface PageSettings { continuationToken?: string; diff --git a/sdk/core/core-paging/src/getPagedAsyncIterator.ts b/sdk/core/core-paging/src/getPagedAsyncIterator.ts new file mode 100644 index 000000000000..ec0be173ceca --- /dev/null +++ b/sdk/core/core-paging/src/getPagedAsyncIterator.ts @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { PagedAsyncIterableIterator, PageSettings, PagedResult } from "./models"; + +/** + * returns an async iterator that iterates over results. It also has a `byPage` + * method that returns pages of items at once. + * + * @param pagedResult - an object that specifies how to get pages. + * @returns a paged async iterator that iterates over results. + */ +export function getPagedAsyncIterator< + TElement, + TPage = TElement[], + TPageSettings = PageSettings, + TLink = string +>( + pagedResult: PagedResult +): PagedAsyncIterableIterator { + const iter = getItemAsyncIterator(pagedResult); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: + pagedResult?.byPage ?? + ((settings?: PageSettings) => { + return getPageAsyncIterator( + pagedResult as PagedResult, + settings?.maxPageSize + ); + }) + }; +} + +async function* getItemAsyncIterator( + pagedResult: PagedResult, + maxPageSize?: number +): AsyncIterableIterator { + const pages = getPageAsyncIterator(pagedResult, maxPageSize); + const firstVal = await pages.next(); + // if the result does not have an array shape, i.e. TPage = TElement, then we return it as is + if (!Array.isArray(firstVal.value)) { + yield firstVal.value; + // `pages` is of type `AsyncIterableIterator` but TPage = TElement in this case + yield* (pages as unknown) as AsyncIterableIterator; + } else { + yield* firstVal.value; + for await (const page of pages) { + // pages is of type `AsyncIterableIterator` so `page` is of type `TPage`. In this branch, + // it must be the case that `TPage = TElement[]` + yield* (page as unknown) as TElement[]; + } + } +} + +async function* getPageAsyncIterator( + pagedResult: PagedResult, + maxPageSize?: number +): AsyncIterableIterator { + let response = await pagedResult.getPage(pagedResult.firstPageLink, maxPageSize); + yield response.page; + while (response.nextPageLink) { + response = await pagedResult.getPage(response.nextPageLink, maxPageSize); + yield response.page; + } +} diff --git a/sdk/core/core-paging/src/index.ts b/sdk/core/core-paging/src/index.ts index ac65120240a7..0ccb7f7c35bf 100644 --- a/sdk/core/core-paging/src/index.ts +++ b/sdk/core/core-paging/src/index.ts @@ -4,3 +4,4 @@ import "@azure/core-asynciterator-polyfill"; export * from "./models"; +export * from "./getPagedAsyncIterator"; diff --git a/sdk/core/core-paging/src/models.ts b/sdk/core/core-paging/src/models.ts index a4102b26d8ac..e5b69360d2f5 100644 --- a/sdk/core/core-paging/src/models.ts +++ b/sdk/core/core-paging/src/models.ts @@ -31,3 +31,25 @@ export interface PagedAsyncIterableIterator AsyncIterableIterator; } + +/** + * An interface that describes how to communicate with the service. + */ +export interface PagedResult { + /** + * Link to the first page of results. + */ + firstPageLink: TLink; + /** + * A method that returns a page of results. + */ + getPage: ( + pageLink: TLink, + maxPageSize?: number + ) => Promise<{ page: TPage; nextPageLink?: TLink }>; + /** + * a function to implement the `byPage` method on the paged async iterator. The default is + * one that sets the `maxPageSizeParam` from `settings.maxPageSize`. + */ + byPage?: (settings?: TPageSettings) => AsyncIterableIterator; +} diff --git a/sdk/core/core-paging/test/getPagedAsyncIterator.spec.ts b/sdk/core/core-paging/test/getPagedAsyncIterator.spec.ts new file mode 100644 index 000000000000..e5ffb91a169f --- /dev/null +++ b/sdk/core/core-paging/test/getPagedAsyncIterator.spec.ts @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { assert } from "chai"; +import { getPagedAsyncIterator, PagedResult, PageSettings } from "../src"; + +function buildIterator(input: T) { + return getPagedAsyncIterator({ + firstPageLink: 0, + async getPage() { + return Promise.resolve({ page: input }); + } + }); +} + +describe("getPagedAsyncIterator", function() { + it("should return an iterator over an empty collection", async function() { + const iterator = buildIterator([]); + for await (const val of iterator) { + assert.fail(`should not get here but got: ${val}`); + } + }); + + it("should return an iterator over an non-empty collection", async function() { + const collection = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + const iterator = buildIterator(collection); + const expected = []; + for await (const val of iterator) { + expected.push(val); + } + assert.deepEqual(expected, collection); + }); + + it("should return an iterator over an non-collection", async function() { + const iterator = buildIterator({}); + for await (const val of iterator) { + assert.deepEqual(val, {}); + } + }); + + it("should return an iterator over no pages", async function() { + const iterator = buildIterator([]); + for await (const val of iterator.byPage({ maxPageSize: 5 })) { + assert.deepEqual(val, []); + } + }); + + it("should return an iterator over multiple pages (collections)", async function() { + const collection = Array.from(Array(10), (_, i) => i + 1); + const pagedResult: PagedResult = { + firstPageLink: 0, + async getPage(pageLink, maxPageSize) { + const top = maxPageSize || 5; + if (pageLink < collection.length) { + return Promise.resolve({ + page: collection.slice(pageLink, Math.min(pageLink + top, collection.length)), + nextPageLink: top < collection.length - pageLink ? pageLink + top : undefined + }); + } else { + throw new Error("should not get here"); + } + } + }; + const iterator = getPagedAsyncIterator(pagedResult); + let receivedItems = []; + for await (const val of iterator) { + receivedItems.push(val); + } + assert.deepEqual(receivedItems, collection); + let pagesCount = 0; + const maxPageSize = 5; + const receivedPages: any[] = []; + for await (const val of iterator.byPage({ maxPageSize: maxPageSize })) { + ++pagesCount; + assert.isAtMost(val.length, maxPageSize); + receivedPages.push(val); + } + assert.equal(pagesCount, Math.ceil(collection.length / maxPageSize)); + assert.deepEqual([].concat(...receivedPages), collection); + }); + + it("should return an iterator over multiple pages (non-collections)", async function() { + const maxPageSize = 5; + const collection = Array.from(Array(10), (_, i) => i + 1); + const pagedResult: PagedResult, PageSettings, number> = { + firstPageLink: 0, + async getPage(pageLink, maxPageSize) { + const top = maxPageSize || 5; + if (pageLink < collection.length) { + return Promise.resolve({ + page: { + res: collection.slice(pageLink, Math.min(pageLink + top, collection.length)) + }, + nextPageLink: top < collection.length - pageLink ? pageLink + top : undefined + }); + } else { + throw new Error("should not get here"); + } + } + }; + const iterator = getPagedAsyncIterator< + Record, + Record, + PageSettings, + number + >(pagedResult); + let receivedItems = []; // they're pages too + let pagesCount = 0; + for await (const val of iterator) { + ++pagesCount; + receivedItems.push((val as any).res); + } + assert.equal(pagesCount, Math.ceil(collection.length / maxPageSize)); + assert.deepEqual([].concat(...receivedItems), collection); + pagesCount = 0; + const receivedPages = []; + for await (const val of iterator.byPage({ maxPageSize: maxPageSize })) { + ++pagesCount; + assert.isAtMost(val.res.length, maxPageSize); + receivedPages.push(val.res); + } + assert.equal(pagesCount, Math.ceil(collection.length / maxPageSize)); + assert.deepEqual([].concat(...receivedPages), collection); + }); +}); diff --git a/sdk/core/core-paging/tsconfig.json b/sdk/core/core-paging/tsconfig.json index d0e32eadd0e7..82e643af7e8c 100644 --- a/sdk/core/core-paging/tsconfig.json +++ b/sdk/core/core-paging/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "../../../tsconfig.package", "compilerOptions": { - "outDir": "./dist-esm/src", - "declarationDir": "./types/latest/src" + "outDir": "./dist-esm", + "declarationDir": "./types/latest" }, "include": ["src/**/*.ts", "test/**/*.ts"] } diff --git a/sdk/core/core-rest-pipeline/CHANGELOG.md b/sdk/core/core-rest-pipeline/CHANGELOG.md index 9cd0b651bcd6..076f0b89217f 100644 --- a/sdk/core/core-rest-pipeline/CHANGELOG.md +++ b/sdk/core/core-rest-pipeline/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 1.2.1 (Unreleased) +## 1.3.1 (Unreleased) ### Features Added @@ -10,6 +10,17 @@ ### Other Changes +## 1.3.0 (2021-09-02) + +### Bugs Fixed + +- `tracingPolicy` will no longer propagate tracing errors to the caller, and such errors will be logged instead and the operation does not get interrupted. [PR #16916](https://github.com/Azure/azure-sdk-for-js/pull/16916) + +### Other Changes + +- Allow `number`, `boolean` and `string` for input raw http headers. [PR #17358](https://github.com/Azure/azure-sdk-for-js/pull/17358) +- Refactor `createPipelineFromOptions` to its own file to help tree shaking. [PR #17015](https://github.com/Azure/azure-sdk-for-js/pull/17015) + ## 1.2.0 (2021-08-04) ### Features Added diff --git a/sdk/core/core-rest-pipeline/package.json b/sdk/core/core-rest-pipeline/package.json index 82a328392ebb..769a30e6eb61 100644 --- a/sdk/core/core-rest-pipeline/package.json +++ b/sdk/core/core-rest-pipeline/package.json @@ -1,6 +1,6 @@ { "name": "@azure/core-rest-pipeline", - "version": "1.2.1", + "version": "1.3.1", "description": "Isomorphic client library for making HTTP requests in node.js and browser.", "sdk-type": "client", "main": "dist/index.js", @@ -27,7 +27,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -40,7 +40,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -87,7 +86,7 @@ "@azure/core-auth": "^1.3.0", "@azure/core-tracing": "1.0.0-preview.13", "@azure/logger": "^1.0.0", - "form-data": "^3.0.0", + "form-data": "^4.0.0", "tslib": "^2.2.0", "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", diff --git a/sdk/core/core-rest-pipeline/review/core-rest-pipeline.api.md b/sdk/core/core-rest-pipeline/review/core-rest-pipeline.api.md index a8b6b112aecc..7eddf836b9dc 100644 --- a/sdk/core/core-rest-pipeline/review/core-rest-pipeline.api.md +++ b/sdk/core/core-rest-pipeline/review/core-rest-pipeline.api.md @@ -69,7 +69,7 @@ export function createDefaultHttpClient(): HttpClient; export function createEmptyPipeline(): Pipeline; // @public -export function createHttpHeaders(rawHeaders?: RawHttpHeaders): HttpHeaders; +export function createHttpHeaders(rawHeaders?: RawHttpHeadersInput): HttpHeaders; // @public export function createPipelineFromOptions(options: InternalPipelineOptions): Pipeline; @@ -123,7 +123,7 @@ export interface HttpHeaders extends Iterable<[string, string]> { delete(name: string): void; get(name: string): string | undefined; has(name: string): boolean; - set(name: string, value: string | number): void; + set(name: string, value: string | number | boolean): void; toJSON(): RawHttpHeaders; } @@ -255,6 +255,9 @@ export type RawHttpHeaders = { [headerName: string]: string; }; +// @public +export type RawHttpHeadersInput = Record; + // @public export function redirectPolicy(options?: RedirectPolicyOptions): PipelinePolicy; diff --git a/sdk/core/core-rest-pipeline/src/constants.ts b/sdk/core/core-rest-pipeline/src/constants.ts index b1d0ca8789ca..771dba52fb37 100644 --- a/sdk/core/core-rest-pipeline/src/constants.ts +++ b/sdk/core/core-rest-pipeline/src/constants.ts @@ -1,4 +1,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "1.2.1"; +export const SDK_VERSION: string = "1.3.1"; diff --git a/sdk/core/core-rest-pipeline/src/createPipelineFromOptions.ts b/sdk/core/core-rest-pipeline/src/createPipelineFromOptions.ts new file mode 100644 index 000000000000..c75b83d51d69 --- /dev/null +++ b/sdk/core/core-rest-pipeline/src/createPipelineFromOptions.ts @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { ProxySettings } from "."; +import { Pipeline, createEmptyPipeline } from "./pipeline"; +import { decompressResponsePolicy } from "./policies/decompressResponsePolicy"; +import { + exponentialRetryPolicy, + ExponentialRetryPolicyOptions +} from "./policies/exponentialRetryPolicy"; +import { formDataPolicy } from "./policies/formDataPolicy"; +import { logPolicy, LogPolicyOptions } from "./policies/logPolicy"; +import { proxyPolicy } from "./policies/proxyPolicy"; +import { redirectPolicy, RedirectPolicyOptions } from "./policies/redirectPolicy"; +import { setClientRequestIdPolicy } from "./policies/setClientRequestIdPolicy"; +import { systemErrorRetryPolicy } from "./policies/systemErrorRetryPolicy"; +import { throttlingRetryPolicy } from "./policies/throttlingRetryPolicy"; +import { tracingPolicy } from "./policies/tracingPolicy"; +import { userAgentPolicy, UserAgentPolicyOptions } from "./policies/userAgentPolicy"; +import { isNode } from "./util/helpers"; + +/** + * Defines options that are used to configure the HTTP pipeline for + * an SDK client. + */ +export interface PipelineOptions { + /** + * Options that control how to retry failed requests. + */ + retryOptions?: ExponentialRetryPolicyOptions; + + /** + * Options to configure a proxy for outgoing requests. + */ + proxyOptions?: ProxySettings; + + /** + * Options for how redirect responses are handled. + */ + redirectOptions?: RedirectPolicyOptions; + + /** + * Options for adding user agent details to outgoing requests. + */ + userAgentOptions?: UserAgentPolicyOptions; +} + +/** + * Defines options that are used to configure internal options of + * the HTTP pipeline for an SDK client. + */ +export interface InternalPipelineOptions extends PipelineOptions { + /** + * Options to configure request/response logging. + */ + loggingOptions?: LogPolicyOptions; +} + +/** + * Create a new pipeline with a default set of customizable policies. + * @param options - Options to configure a custom pipeline. + */ +export function createPipelineFromOptions(options: InternalPipelineOptions): Pipeline { + const pipeline = createEmptyPipeline(); + + if (isNode) { + pipeline.addPolicy(proxyPolicy(options.proxyOptions)); + pipeline.addPolicy(decompressResponsePolicy()); + } + + pipeline.addPolicy(formDataPolicy()); + pipeline.addPolicy(tracingPolicy(options.userAgentOptions)); + pipeline.addPolicy(userAgentPolicy(options.userAgentOptions)); + pipeline.addPolicy(setClientRequestIdPolicy()); + pipeline.addPolicy(throttlingRetryPolicy(), { phase: "Retry" }); + pipeline.addPolicy(systemErrorRetryPolicy(options.retryOptions), { phase: "Retry" }); + pipeline.addPolicy(exponentialRetryPolicy(options.retryOptions), { phase: "Retry" }); + pipeline.addPolicy(redirectPolicy(options.redirectOptions), { afterPhase: "Retry" }); + pipeline.addPolicy(logPolicy(options.loggingOptions), { afterPhase: "Retry" }); + + return pipeline; +} diff --git a/sdk/core/core-rest-pipeline/src/httpHeaders.ts b/sdk/core/core-rest-pipeline/src/httpHeaders.ts index 201437ad550e..afc6ddee5877 100644 --- a/sdk/core/core-rest-pipeline/src/httpHeaders.ts +++ b/sdk/core/core-rest-pipeline/src/httpHeaders.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { HttpHeaders, RawHttpHeaders } from "./interfaces"; +import { HttpHeaders, RawHttpHeaders, RawHttpHeadersInput } from "./interfaces"; function normalizeName(name: string): string { return name.toLowerCase(); @@ -10,7 +10,7 @@ function normalizeName(name: string): string { class HttpHeadersImpl implements HttpHeaders { private readonly _headersMap: Map; - constructor(rawHeaders?: RawHttpHeaders) { + constructor(rawHeaders?: RawHttpHeaders | RawHttpHeadersInput) { this._headersMap = new Map(); if (rawHeaders) { for (const headerName of Object.keys(rawHeaders)) { @@ -25,7 +25,7 @@ class HttpHeadersImpl implements HttpHeaders { * @param name - The name of the header to set. This value is case-insensitive. * @param value - The value of the header to set. */ - public set(name: string, value: string | number): void { + public set(name: string, value: string | number | boolean): void { this._headersMap.set(normalizeName(name), String(value)); } @@ -84,6 +84,6 @@ class HttpHeadersImpl implements HttpHeaders { * Creates an object that satisfies the `HttpHeaders` interface. * @param rawHeaders - A simple object representing initial headers */ -export function createHttpHeaders(rawHeaders?: RawHttpHeaders): HttpHeaders { +export function createHttpHeaders(rawHeaders?: RawHttpHeadersInput): HttpHeaders { return new HttpHeadersImpl(rawHeaders); } diff --git a/sdk/core/core-rest-pipeline/src/index.ts b/sdk/core/core-rest-pipeline/src/index.ts index e09acca87f9e..c60de8cf2d3a 100644 --- a/sdk/core/core-rest-pipeline/src/index.ts +++ b/sdk/core/core-rest-pipeline/src/index.ts @@ -13,6 +13,7 @@ export { HttpMethods, ProxySettings, RawHttpHeaders, + RawHttpHeadersInput, TransferProgressEvent, RequestBodyType } from "./interfaces"; @@ -21,11 +22,13 @@ export { PipelinePhase, PipelinePolicy, Pipeline, - createEmptyPipeline, - InternalPipelineOptions, - PipelineOptions, - createPipelineFromOptions + createEmptyPipeline } from "./pipeline"; +export { + createPipelineFromOptions, + InternalPipelineOptions, + PipelineOptions +} from "./createPipelineFromOptions"; export { createDefaultHttpClient } from "./defaultHttpClient"; export { createHttpHeaders } from "./httpHeaders"; export { createPipelineRequest, PipelineRequestOptions } from "./pipelineRequest"; diff --git a/sdk/core/core-rest-pipeline/src/interfaces.ts b/sdk/core/core-rest-pipeline/src/interfaces.ts index 741a4e3d3531..93e8a469a5df 100644 --- a/sdk/core/core-rest-pipeline/src/interfaces.ts +++ b/sdk/core/core-rest-pipeline/src/interfaces.ts @@ -9,6 +9,11 @@ import { OperationTracingOptions } from "@azure/core-tracing"; */ export type RawHttpHeaders = { [headerName: string]: string }; +/** + * A HttpHeaders collection for input, represented as a simple JSON object. + */ +export type RawHttpHeadersInput = Record; + /** * Represents a set of HTTP headers on a request/response. * Header names are treated as case insensitive. @@ -29,7 +34,7 @@ export interface HttpHeaders extends Iterable<[string, string]> { * @param name - The name of the header to set. * @param value - The value to use for the header. */ - set(name: string, value: string | number): void; + set(name: string, value: string | number | boolean): void; /** * Removes a specific header from the collection. * @param name - The name of the header to delete. diff --git a/sdk/core/core-rest-pipeline/src/nodeHttpClient.ts b/sdk/core/core-rest-pipeline/src/nodeHttpClient.ts index d30c1e11ba0f..6a18f89f942a 100644 --- a/sdk/core/core-rest-pipeline/src/nodeHttpClient.ts +++ b/sdk/core/core-rest-pipeline/src/nodeHttpClient.ts @@ -210,9 +210,12 @@ class NodeHttpClient implements HttpClient { return new Promise((resolve, reject) => { const req = isInsecure ? http.request(options, resolve) : https.request(options, resolve); - req.once("error", (err) => { - reject(new RestError(err.message, { code: RestError.REQUEST_SEND_ERROR, request })); + req.once("error", (err: Error & { code?: string }) => { + reject( + new RestError(err.message, { code: err.code ?? RestError.REQUEST_SEND_ERROR, request }) + ); }); + abortController.signal.addEventListener("abort", () => { req.abort(); reject(new AbortError("The operation was aborted.")); diff --git a/sdk/core/core-rest-pipeline/src/pipeline.ts b/sdk/core/core-rest-pipeline/src/pipeline.ts index 8c3d21085f94..29a7e976965d 100644 --- a/sdk/core/core-rest-pipeline/src/pipeline.ts +++ b/sdk/core/core-rest-pipeline/src/pipeline.ts @@ -1,28 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { - PipelineRequest, - PipelineResponse, - HttpClient, - SendRequest, - ProxySettings -} from "./interfaces"; -import { LogPolicyOptions, logPolicy } from "./policies/logPolicy"; -import { UserAgentPolicyOptions, userAgentPolicy } from "./policies/userAgentPolicy"; -import { RedirectPolicyOptions, redirectPolicy } from "./policies/redirectPolicy"; -import { - ExponentialRetryPolicyOptions, - exponentialRetryPolicy -} from "./policies/exponentialRetryPolicy"; -import { tracingPolicy } from "./policies/tracingPolicy"; -import { setClientRequestIdPolicy } from "./policies/setClientRequestIdPolicy"; -import { throttlingRetryPolicy } from "./policies/throttlingRetryPolicy"; -import { systemErrorRetryPolicy } from "./policies/systemErrorRetryPolicy"; -import { decompressResponsePolicy } from "./policies/decompressResponsePolicy"; -import { proxyPolicy } from "./policies/proxyPolicy"; -import { isNode } from "./util/helpers"; -import { formDataPolicy } from "./policies/formDataPolicy"; +import { PipelineRequest, PipelineResponse, HttpClient, SendRequest } from "./interfaces"; /** * Policies are executed in phases. @@ -388,65 +367,3 @@ class HttpPipeline implements Pipeline { export function createEmptyPipeline(): Pipeline { return HttpPipeline.create(); } - -/** - * Defines options that are used to configure the HTTP pipeline for - * an SDK client. - */ -export interface PipelineOptions { - /** - * Options that control how to retry failed requests. - */ - retryOptions?: ExponentialRetryPolicyOptions; - - /** - * Options to configure a proxy for outgoing requests. - */ - proxyOptions?: ProxySettings; - - /** - * Options for how redirect responses are handled. - */ - redirectOptions?: RedirectPolicyOptions; - - /** - * Options for adding user agent details to outgoing requests. - */ - userAgentOptions?: UserAgentPolicyOptions; -} - -/** - * Defines options that are used to configure internal options of - * the HTTP pipeline for an SDK client. - */ -export interface InternalPipelineOptions extends PipelineOptions { - /** - * Options to configure request/response logging. - */ - loggingOptions?: LogPolicyOptions; -} - -/** - * Create a new pipeline with a default set of customizable policies. - * @param options - Options to configure a custom pipeline. - */ -export function createPipelineFromOptions(options: InternalPipelineOptions): Pipeline { - const pipeline = HttpPipeline.create(); - - if (isNode) { - pipeline.addPolicy(proxyPolicy(options.proxyOptions)); - pipeline.addPolicy(decompressResponsePolicy()); - } - - pipeline.addPolicy(formDataPolicy()); - pipeline.addPolicy(tracingPolicy(options.userAgentOptions)); - pipeline.addPolicy(userAgentPolicy(options.userAgentOptions)); - pipeline.addPolicy(setClientRequestIdPolicy()); - pipeline.addPolicy(throttlingRetryPolicy(), { phase: "Retry" }); - pipeline.addPolicy(systemErrorRetryPolicy(options.retryOptions), { phase: "Retry" }); - pipeline.addPolicy(exponentialRetryPolicy(options.retryOptions), { phase: "Retry" }); - pipeline.addPolicy(redirectPolicy(options.redirectOptions), { afterPhase: "Retry" }); - pipeline.addPolicy(logPolicy(options.loggingOptions), { afterPhase: "Retry" }); - - return pipeline; -} diff --git a/sdk/core/core-rest-pipeline/src/policies/tracingPolicy.ts b/sdk/core/core-rest-pipeline/src/policies/tracingPolicy.ts index c5223bb5cee3..0d3e136ac4ee 100644 --- a/sdk/core/core-rest-pipeline/src/policies/tracingPolicy.ts +++ b/sdk/core/core-rest-pipeline/src/policies/tracingPolicy.ts @@ -3,16 +3,18 @@ import { getTraceParentHeader, - OperationTracingOptions, createSpanFunction, SpanStatusCode, - isSpanContextValid + isSpanContextValid, + Span, + SpanOptions } from "@azure/core-tracing"; import { SpanKind } from "@azure/core-tracing"; import { PipelineResponse, PipelineRequest, SendRequest } from "../interfaces"; import { PipelinePolicy } from "../pipeline"; import { URL } from "../util/url"; import { getUserAgentValue } from "../util/userAgent"; +import { logger } from "../log"; const createSpan = createSpanFunction({ packagePrefix: "", @@ -52,63 +54,109 @@ export function tracingPolicy(options: TracingPolicyOptions = {}): PipelinePolic return next(request); } - // create a new span - const tracingOptions: OperationTracingOptions = { - ...request.tracingOptions, - spanOptions: { - ...request.tracingOptions.spanOptions, - kind: SpanKind.CLIENT - } - }; + const span = tryCreateSpan(request, userAgent); - const url = new URL(request.url); - const path = url.pathname || "/"; - - const { span } = createSpan(path, { tracingOptions }); - - span.setAttributes({ - "http.method": request.method, - "http.url": request.url, - requestId: request.requestId - }); - - if (userAgent) { - span.setAttribute("http.user_agent", userAgent); + if (!span) { + return next(request); } try { - // set headers - const spanContext = span.spanContext(); - const traceParentHeader = getTraceParentHeader(spanContext); - if (traceParentHeader && isSpanContextValid(spanContext)) { - request.headers.set("traceparent", traceParentHeader); - const traceState = spanContext.traceState && spanContext.traceState.serialize(); - // if tracestate is set, traceparent MUST be set, so only set tracestate after traceparent - if (traceState) { - request.headers.set("tracestate", traceState); - } - } - const response = await next(request); - span.setAttribute("http.status_code", response.status); - const serviceRequestId = response.headers.get("x-ms-request-id"); - if (serviceRequestId) { - span.setAttribute("serviceRequestId", serviceRequestId); - } - span.setStatus({ - code: SpanStatusCode.OK - }); + tryProcessResponse(span, response); return response; } catch (err) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: err.message - }); - span.setAttribute("http.status_code", err.statusCode); + tryProcessError(span, err); throw err; - } finally { - span.end(); } } }; } + +function tryCreateSpan(request: PipelineRequest, userAgent?: string): Span | undefined { + try { + const createSpanOptions: SpanOptions = { + ...(request.tracingOptions as any)?.spanOptions, + kind: SpanKind.CLIENT + }; + + const url = new URL(request.url); + const path = url.pathname || "/"; + + // Passing spanOptions as part of tracingOptions to maintain compatibility @azure/core-tracing@preview.13 and earlier. + // We can pass this as a separate parameter once we upgrade to the latest core-tracing. + const { span } = createSpan(path, { + tracingOptions: { ...request.tracingOptions, spanOptions: createSpanOptions } + }); + + // If the span is not recording, don't do any more work. + if (!span.isRecording()) { + span.end(); + return undefined; + } + + const namespaceFromContext = request.tracingOptions?.tracingContext?.getValue( + Symbol.for("az.namespace") + ); + + if (typeof namespaceFromContext === "string") { + span.setAttribute("az.namespace", namespaceFromContext); + } + + span.setAttributes({ + "http.method": request.method, + "http.url": request.url, + requestId: request.requestId + }); + + if (userAgent) { + span.setAttribute("http.user_agent", userAgent); + } + + // set headers + const spanContext = span.spanContext(); + const traceParentHeader = getTraceParentHeader(spanContext); + if (traceParentHeader && isSpanContextValid(spanContext)) { + request.headers.set("traceparent", traceParentHeader); + const traceState = spanContext.traceState && spanContext.traceState.serialize(); + // if tracestate is set, traceparent MUST be set, so only set tracestate after traceparent + if (traceState) { + request.headers.set("tracestate", traceState); + } + } + return span; + } catch (error) { + logger.warning(`Skipping creating a tracing span due to an error: ${error.message}`); + return undefined; + } +} + +function tryProcessError(span: Span, err: any): void { + try { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: err.message + }); + if (err.statusCode) { + span.setAttribute("http.status_code", err.statusCode); + } + span.end(); + } catch (error) { + logger.warning(`Skipping tracing span processing due to an error: ${error.message}`); + } +} + +function tryProcessResponse(span: Span, response: PipelineResponse): void { + try { + span.setAttribute("http.status_code", response.status); + const serviceRequestId = response.headers.get("x-ms-request-id"); + if (serviceRequestId) { + span.setAttribute("serviceRequestId", serviceRequestId); + } + span.setStatus({ + code: SpanStatusCode.OK + }); + span.end(); + } catch (error) { + logger.warning(`Skipping tracing span processing due to an error: ${error.message}`); + } +} diff --git a/sdk/core/core-rest-pipeline/test/tracingPolicy.spec.ts b/sdk/core/core-rest-pipeline/test/tracingPolicy.spec.ts index d62fba4b66d0..e6c8ccea2a47 100644 --- a/sdk/core/core-rest-pipeline/test/tracingPolicy.spec.ts +++ b/sdk/core/core-rest-pipeline/test/tracingPolicy.spec.ts @@ -20,7 +20,8 @@ import { SpanStatus, SpanStatusCode, SpanAttributes, - SpanAttributeValue + SpanAttributeValue, + SpanOptions } from "@azure/core-tracing"; import { TracerProvider, Tracer, Span, trace } from "@opentelemetry/api"; @@ -35,8 +36,11 @@ class MockSpan implements Span { private traceId: string, private spanId: string, private flags: TraceFlags, - private state: string - ) {} + private state: string, + options?: SpanOptions + ) { + this._attributes = options?.attributes || {}; + } addEvent(): this { throw new Error("Method not implemented."); @@ -72,7 +76,9 @@ class MockSpan implements Span { } setAttributes(attributes: SpanAttributes): this { - this._attributes = attributes; + for (const key in attributes) { + this.setAttribute(key, attributes[key]!); + } return this; } @@ -137,9 +143,9 @@ class MockTracer implements Tracer { return this._startSpanCalled; } - startSpan(): MockSpan { + startSpan(_name: string, options?: SpanOptions): MockSpan { this._startSpanCalled = true; - const span = new MockSpan(this.traceId, this.spanId, this.flags, this.state); + const span = new MockSpan(this.traceId, this.spanId, this.flags, this.state, options); this.spans.push(span); return span; } @@ -179,7 +185,7 @@ describe("tracingPolicy", function() { mockTracerProvider.disable(); }); - it("will not create a span if spanOptions are missing", async () => { + it("will not create a span if tracingContext is missing", async () => { const mockTracer = new MockTracer(); const request = createPipelineRequest({ url: "https://bing.com" @@ -197,7 +203,7 @@ describe("tracingPolicy", function() { assert.isFalse(mockTracer.startSpanCalled()); }); - it("will create a span and correctly set trace headers if spanOptions are available", async () => { + it("will create a span and correctly set trace headers if tracingContext is available", async () => { const mockTraceId = "11111111111111111111111111111111"; const mockSpanId = "2222222222222222"; const mockTracer = new MockTracer(mockTraceId, mockSpanId, TraceFlags.SAMPLED); @@ -235,7 +241,7 @@ describe("tracingPolicy", function() { assert.notExists(request.headers.get("tracestate")); }); - it("will create a span and correctly set trace headers if spanOptions are available (no TraceOptions)", async () => { + it("will create a span and correctly set trace headers if tracingContext is available (no TraceOptions)", async () => { const mockTraceId = "11111111111111111111111111111111"; const mockSpanId = "2222222222222222"; // leave out the TraceOptions @@ -274,7 +280,7 @@ describe("tracingPolicy", function() { assert.notExists(request.headers.get("tracestate")); }); - it("will create a span and correctly set trace headers if spanOptions are available (TraceState)", async () => { + it("will create a span and correctly set trace headers tracingContext is available (TraceState)", async () => { const mockTraceId = "11111111111111111111111111111111"; const mockSpanId = "2222222222222222"; const mockTraceState = "foo=bar"; @@ -401,4 +407,149 @@ describe("tracingPolicy", function() { assert.notExists(request.headers.get("traceparent")); assert.notExists(request.headers.get("tracestate")); }); + + it("will not fail the request if span setup fails", async () => { + const errorTracer = new MockTracer("", "", TraceFlags.SAMPLED, ""); + sinon.stub(errorTracer, "startSpan").throws(new Error("Test Error")); + mockTracerProvider.setTracer(errorTracer); + + const request = createPipelineRequest({ + url: "https://bing.com", + tracingOptions: { + tracingContext: setSpan(context.active(), ROOT_SPAN) + } + }); + const response: PipelineResponse = { + headers: createHttpHeaders(), + request: request, + status: 200 + }; + const policy = tracingPolicy(); + const next = sinon.stub, ReturnType>(); + next.resolves(response); + + // Does not throw + const result = await policy.sendRequest(request, next); + assert.equal(result, response); + }); + + it("will not fail the request if response processing fails", async () => { + const errorTracer = new MockTracer("", "", TraceFlags.SAMPLED, ""); + mockTracerProvider.setTracer(errorTracer); + const errorSpan = new MockSpan("", "", TraceFlags.SAMPLED, ""); + sinon.stub(errorSpan, "end").throws(new Error("Test Error")); + sinon.stub(errorTracer, "startSpan").returns(errorSpan); + + const request = createPipelineRequest({ + url: "https://bing.com", + tracingOptions: { + tracingContext: setSpan(context.active(), ROOT_SPAN) + } + }); + const response: PipelineResponse = { + headers: createHttpHeaders(), + request: request, + status: 200 + }; + const policy = tracingPolicy(); + const next = sinon.stub, ReturnType>(); + next.resolves(response); + + // Does not throw + const result = await policy.sendRequest(request, next); + assert.equal(result, response); + }); + + it("will give priority to context's az.namespace over spanOptions", async () => { + const mockTraceId = "11111111111111111111111111111111"; + const mockSpanId = "2222222222222222"; + const mockTracer = new MockTracer(mockTraceId, mockSpanId, TraceFlags.SAMPLED); + mockTracerProvider.setTracer(mockTracer); + + const request = createPipelineRequest({ + url: "https://bing.com", + tracingOptions: { + tracingContext: setSpan(context.active(), ROOT_SPAN).setValue( + Symbol.for("az.namespace"), + "value_from_context" + ) + } + }); + Object.assign(request.tracingOptions, { + spanOptions: { attributes: { "az.namespace": "value_from_span_options" } } + }); + const response: PipelineResponse = { + headers: createHttpHeaders(), + request: request, + status: 200 + }; + const policy = tracingPolicy(); + const next = sinon.stub, ReturnType>(); + next.resolves(response); + await policy.sendRequest(request, next); + + assert.isTrue(mockTracer.startSpanCalled()); + assert.lengthOf(mockTracer.getStartedSpans(), 1); + const span = mockTracer.getStartedSpans()[0]; + assert.equal(span.getAttribute("az.namespace"), "value_from_context"); + }); + + it("will use spanOptions if context does not have namespace", async () => { + const mockTraceId = "11111111111111111111111111111111"; + const mockSpanId = "2222222222222222"; + const mockTracer = new MockTracer(mockTraceId, mockSpanId, TraceFlags.SAMPLED); + mockTracerProvider.setTracer(mockTracer); + + const request = createPipelineRequest({ + url: "https://bing.com", + tracingOptions: { + tracingContext: setSpan(context.active(), ROOT_SPAN) + } + }); + Object.assign(request.tracingOptions, { + spanOptions: { attributes: { "az.namespace": "value_from_span_options" } } + }); + const response: PipelineResponse = { + headers: createHttpHeaders(), + request: request, + status: 200 + }; + const policy = tracingPolicy(); + const next = sinon.stub, ReturnType>(); + next.resolves(response); + await policy.sendRequest(request, next); + + assert.isTrue(mockTracer.startSpanCalled()); + assert.lengthOf(mockTracer.getStartedSpans(), 1); + const span = mockTracer.getStartedSpans()[0]; + assert.equal(span.getAttribute("az.namespace"), "value_from_span_options"); + }); + + it("is robust when spanOptions is undefined", async () => { + const mockTraceId = "11111111111111111111111111111111"; + const mockSpanId = "2222222222222222"; + const mockTracer = new MockTracer(mockTraceId, mockSpanId, TraceFlags.SAMPLED); + mockTracerProvider.setTracer(mockTracer); + + const request = createPipelineRequest({ + url: "https://bing.com", + tracingOptions: { + tracingContext: setSpan(context.active(), ROOT_SPAN) + } + }); + const response: PipelineResponse = { + headers: createHttpHeaders(), + request: request, + status: 200 + }; + const policy = tracingPolicy(); + const next = sinon.stub, ReturnType>(); + next.resolves(response); + await policy.sendRequest(request, next); + + assert.isTrue(mockTracer.startSpanCalled()); + assert.lengthOf(mockTracer.getStartedSpans(), 1); + const span = mockTracer.getStartedSpans()[0]; + assert.notExists(span.getAttribute("az.namespace")); + }); }); diff --git a/sdk/core/core-tracing/CHANGELOG.md b/sdk/core/core-tracing/CHANGELOG.md index 58b253f4330c..763648882303 100644 --- a/sdk/core/core-tracing/CHANGELOG.md +++ b/sdk/core/core-tracing/CHANGELOG.md @@ -6,6 +6,9 @@ ### Breaking Changes +- SpanOptions has been removed from OperationTracingOptions as it is internal and should not be exposed by client libraries. + - Customizing a newly created Span is only supported via passing `SpanOptions` to `createSpanFunction` + ### Bugs Fixed ### Other Changes diff --git a/sdk/core/core-tracing/README.md b/sdk/core/core-tracing/README.md index dc088cba6512..888e8ede97a3 100644 --- a/sdk/core/core-tracing/README.md +++ b/sdk/core/core-tracing/README.md @@ -16,43 +16,64 @@ npm install @azure/core-tracing The `@azure/core-tracing` package supports enabling tracing for Azure SDK packages, using an [OpenTelemetry](https://opentelemetry.io/) `Tracer`. -By default, all libraries log with a `NoOpTracer` that takes no action. -To change this, you have to use `setTracer` to set a new default `Tracer`. +By default, all libraries log with a `NoOpTracer` that takes no action. To enable tracing, you will need to set a global tracer provider following the instructions in the [OpenTelemetry getting started guide](https://opentelemetry.io/docs/js/getting_started/nodejs) or the [Enabling Tracing using OpenTelemetry example](#enabling-tracing-using-opentelemetry) below. -## Examples +### Span Propagation -### Example 1 - Setting an OpenTelemetry Tracer +Core Tracing supports both automatic and manual span propagation. Automatic propagation is handled using OpenTelemetry's API and will work well in most scenarios when run in `Node.js`. -```js -const opentelemetry = require("@opentelemetry/api"); -const { BasicTracer, SimpleSpanProcessor } = require("@opentelemetry/tracing"); -const { ZipkinExporter } = require("@opentelemetry/exporter-zipkin"); -const { setTracer } = require("@azure/core-tracing"); +For customers who require manual propagation, or to provide context propagation in the browser, all client library operations accept an optional options collection where a tracingContext can be passed in and used as the currently active context. Please see the [Manual Span Propagation example](#manual-span-propagation-using-opentelemetry) below for more details. -const exporter = new ZipkinExporter({ - serviceName: "azure-tracing-sample" -}); -const tracer = new BasicTracer(); -tracer.addSpanProcessor(new SimpleSpanProcessor(exporter)); +### OpenTelemetry Compatibility + +Most Azure SDKs and Microsoft's [Application Insights](https://www.npmjs.com/package/applicationinsights) use [OpenTelemetry](https://opentelemetry.io/) to support tracing. Specifically, we depend on the [@opentelemetry/api](https://www.npmjs.com/package/@opentelemetry/api) npm package. + +As OpenTelemetry iterated on their API towards their 1.0 GA release, our libraries were updated to match. + +Some incompatibility between the libraries is due to mismatches between the OpenTelemetry versions used in either `@azure/core-tracing` or `applicationinsights` when the two are used side-by-side. For folks who are using both an Azure Client Library (and transitively, `@azure/core-tracing`) and Application Insights in the same application, we recommend using the same version of OpenTelemetry for both libraries by upgrading to their latest versions. + +> Please note that we do not foresee any future compatibility concerns now that OpenTelemetry 1.0.0 has been released and the API considered stable. + +#### Compatibility Matrix + +| Core Tracing | Application Insights | @opentelemetry/api | +| ---------------- | -------------------- | ------------------ | +| 1.0.0-preview.10 | | 0.10.2 | +| 1.0.0-preview.11 | 2.1.0-2.1.3 | 1.0.0-rc.0 | +| 1.0.0-preview.12 | ^2.1.4 | ^1.0.0 | +| 1.0.0-preview.13 | ^2.1.4 | ^1.0.0 | + +Please see the [troubleshooting](#troubleshooting) section for additional information about handling compatibility errors. -setTracer(tracer); +## Examples + +### Enabling tracing using OpenTelemetry -const rootSpan = tracer.startSpan("root"); -const context = opentelemetry.setSpan(opentelemetry.context.active(), rootSpan); +```ts +const opentelemetry = require("@opentelemetry/api"); +const { SimpleSpanProcessor, ConsoleSpanExporter } = require("@opentelemetry/tracing"); -// Call some client library methods and pass rootSpan via tracingOptions. +const provider = new NodeTracerProvider(); +provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter())); +provider.register(); -rootSpan.end(); -exporter.shutdown(); +// Call some client library methods using automatic span propagation. ``` -### Example 2 - Passing current Context to library operations +### Manual Span Propagation using OpenTelemetry -```js -// Given a BlobClient from @azure/storage-blob -const result = await blobClient.download(undefined, undefined, { +```ts +const opentelemetry = require("@opentelemetry/api"); +// Get a tracer from a registered provider, create a span, and get the current context +const tracer = opentelemetry.trace.getTracer("my-tracer"); +const span = tracer.startSpan("main"); +const ctx = opentelemetry.trace.setSpan(opentelemetry.context.active(), span); + +// Assuming we have an existing BlobClient, let's see if the blob exists. +// The context is passed to the client library as a tracingContext option and will be propagated downstream to any child spans. +const result = await blobClient.exists({ tracingOptions: { - tracingContext: context + tracingContext: ctx } }); ``` @@ -65,6 +86,19 @@ You can build and run the tests locally by executing `rushx test`. Explore the ` If you run into issues while using this library, please feel free to [file an issue](https://github.com/Azure/azure-sdk-for-js/issues/new). +### OpenTelemetry Compatibility Errors + +Errors such as `span.spanContext is not a function` or `span.context is not a function` are likely due to a mismatch of OpenTelemetry versions between two libraries. + +To resolve this, please ensure that all Azure client libraries are using a compatible version of OpenTelemetry as per the [compatibility matrix](#compatibility-matrix). If you are using `applicationinsights` please ensure that you are using the same version of OpenTelemetry as the Azure client libraries. + +> Ideally you'd want to use OpenTelemetry 1.0.0 or higher. + +- If you are using `npm` you may run `npm ls @opentelemetry/api` to see the version of OpenTelemetry you are using and which client libraries are using it. +- For `yarn` users, `yarn why @opentelemetry/api` will show you the version of OpenTelemetry you are using and which client libraries are using it. + +You may then upgrade client libraries as needed to ensure compatibility. Things should work as expected when the above command returns a version of OpenTelemetry that is >= 1.0.0. + ## 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. diff --git a/sdk/core/core-tracing/package.json b/sdk/core/core-tracing/package.json index e7427e4c6e63..da6f929ce675 100644 --- a/sdk/core/core-tracing/package.json +++ b/sdk/core/core-tracing/package.json @@ -13,7 +13,7 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -26,7 +26,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", diff --git a/sdk/core/core-tracing/review/core-tracing.api.md b/sdk/core/core-tracing/review/core-tracing.api.md index 8f228b4e3576..b3f6de52d44d 100644 --- a/sdk/core/core-tracing/review/core-tracing.api.md +++ b/sdk/core/core-tracing/review/core-tracing.api.md @@ -22,7 +22,7 @@ export interface ContextAPI { // @public export function createSpanFunction(args: CreateSpanFunctionArgs): (operationName: string, operationOptions: T | undefined) => { +}>(operationName: string, operationOptions?: T | undefined, startSpanOptions?: SpanOptions | undefined) => { span: Span; updatedOptions: T; }; @@ -92,7 +92,6 @@ export interface Link { // @public export interface OperationTracingOptions { - spanOptions?: SpanOptions; tracingContext?: Context; } diff --git a/sdk/core/core-tracing/src/createSpan.ts b/sdk/core/core-tracing/src/createSpan.ts index c994df838a94..77f3e56d7d47 100644 --- a/sdk/core/core-tracing/src/createSpan.ts +++ b/sdk/core/core-tracing/src/createSpan.ts @@ -5,10 +5,11 @@ import { OperationTracingOptions, Span, SpanOptions, - SpanKind, setSpan, context as otContext, - getTracer + getTracer, + Context, + SpanKind } from "./interfaces"; import { trace, INVALID_SPAN_CONTEXT } from "@opentelemetry/api"; @@ -33,6 +34,21 @@ export interface CreateSpanFunctionArgs { namespace: string; } +/** + * @internal + * A set of known span attributes that will exist on a context + */ +export const knownSpanAttributes = { + AZ_NAMESPACE: { contextKey: Symbol.for("az.namespace"), spanAttributeName: "az.namespace" } +}; + +/** + * Checks whether tracing is disabled by checking the `AZURE_TRACING_DISABLED` environment variable. + * + * @returns - `true` if tracing is disabled, `false` otherwise. + * + * @internal + */ export function isTracingDisabled(): boolean { if (typeof process === "undefined") { // not supported in browser for now without polyfills @@ -48,6 +64,78 @@ export function isTracingDisabled(): boolean { return Boolean(azureTracingDisabledValue); } +/** + * Maintains backwards compatibility with the previous `OperationTracingOptions` in core-tracing preview.13 and earlier + * which passed `spanOptions` as part of `tracingOptions`. + */ +function disambiguateParameters( + operationOptions: T, + startSpanOptions?: SpanOptions +): [OperationTracingOptions, SpanOptions] { + const { tracingOptions } = operationOptions; + + // If startSpanOptions is provided, then we are using the new signature, + // otherwise try to pluck it out of the tracingOptions. + const spanOptions: SpanOptions = startSpanOptions || (tracingOptions as any)?.spanOptions || {}; + spanOptions.kind = spanOptions.kind || SpanKind.INTERNAL; + + return [tracingOptions || {}, spanOptions]; +} + +/** + * Creates a new span using the given parameters. + * + * @param spanName - The name of the span to created. + * @param spanOptions - Initialization options that can be used to customize the created span. + * @param tracingContext - The tracing context to use for the created span. + * + * @returns - A new span. + */ +function startSpan(spanName: string, spanOptions: SpanOptions, tracingContext: Context) { + if (isTracingDisabled()) { + return trace.wrapSpanContext(INVALID_SPAN_CONTEXT); + } + + const tracer = getTracer(); + return tracer.startSpan(spanName, spanOptions, tracingContext); +} + +/** + * Adds the `az.namespace` attribute on a span, the tracingContext, and the spanOptions + * + * @param span - The span to add the attribute to in place. + * @param tracingContext - The context bag to add the attribute to by creating a new context with the attribute. + * @param namespace - The value of the attribute. + * @param spanOptions - The spanOptions to add the attribute to (for backwards compatibility). + * + * @internal + * + * @returns The updated span options and context. + */ +function setNamespaceOnSpan( + span: Span, + tracingContext: Context, + namespace: string, + spanOptions: SpanOptions +) { + span.setAttribute(knownSpanAttributes.AZ_NAMESPACE.spanAttributeName, namespace); + const updatedContext = tracingContext.setValue( + knownSpanAttributes.AZ_NAMESPACE.contextKey, + namespace + ); + + // Here for backwards compatibility, but can be removed once we no longer use `spanOptions` (every client and core library depends on a version higher than preview.13) + const updatedSpanOptions = { + ...spanOptions, + attributes: { + ...spanOptions?.attributes, + [knownSpanAttributes.AZ_NAMESPACE.spanAttributeName]: namespace + } + }; + + return { updatedSpanOptions, updatedContext }; +} + /** * Creates a function that can be used to create spans using the global tracer. * @@ -58,61 +146,66 @@ export function isTracingDisabled(): boolean { * const createSpan = createSpanFunction({ packagePrefix: "Azure.Data.AppConfiguration", namespace: "Microsoft.AppConfiguration" }); * * // in each operation - * const span = createSpan("deleteConfigurationSetting", operationOptions); + * const span = createSpan("deleteConfigurationSetting", operationOptions, startSpanOptions ); * // code... * span.end(); * ``` * - * @hidden * @param args - allows configuration of the prefix for each span as well as the az.namespace field. */ export function createSpanFunction(args: CreateSpanFunctionArgs) { + /** + * Creates a span using the global tracer provider. + * + * @param operationName - The name of the operation to create a span for. + * @param operationOptions - The operation options containing the currently active tracing context when using manual span propagation. + * @param startSpanOptions - The options to use when creating the span, and will be passed to the tracer.startSpan method. + * + * @returns - A span from the global tracer provider, and an updatedOptions bag containing the new tracing context. + * + * Example usage: + * ```ts + * const { span, updatedOptions } = createSpan("deleteConfigurationSetting", operationOptions, startSpanOptions); + * ``` + */ return function( operationName: string, - operationOptions: T | undefined + operationOptions?: T, + startSpanOptions?: SpanOptions ): { span: Span; updatedOptions: T } { - const tracer = getTracer(); - const tracingOptions = operationOptions?.tracingOptions || {}; - const spanOptions: SpanOptions = { - kind: SpanKind.INTERNAL, - ...tracingOptions.spanOptions - }; + const [tracingOptions, spanOptions] = disambiguateParameters( + operationOptions || ({} as T), + startSpanOptions + ); - const spanName = args.packagePrefix ? `${args.packagePrefix}.${operationName}` : operationName; + let tracingContext = tracingOptions?.tracingContext || otContext.active(); - let span: Span; - if (isTracingDisabled()) { - span = trace.wrapSpanContext(INVALID_SPAN_CONTEXT); - } else { - span = tracer.startSpan(spanName, spanOptions, tracingOptions.tracingContext); - } + const spanName = args.packagePrefix ? `${args.packagePrefix}.${operationName}` : operationName; + const span = startSpan(spanName, spanOptions, tracingContext); + let newSpanOptions = spanOptions; if (args.namespace) { - span.setAttribute("az.namespace", args.namespace); - } + const { updatedSpanOptions, updatedContext } = setNamespaceOnSpan( + span, + tracingContext, + args.namespace, + spanOptions + ); - let newSpanOptions = tracingOptions.spanOptions || {}; - - if (span.isRecording() && args.namespace) { - newSpanOptions = { - ...tracingOptions.spanOptions, - attributes: { - ...spanOptions.attributes, - "az.namespace": args.namespace - } - }; + tracingContext = updatedContext; + newSpanOptions = updatedSpanOptions; } - const newTracingOptions: Required = { + const newTracingOptions = { ...tracingOptions, spanOptions: newSpanOptions, - tracingContext: setSpan(tracingOptions.tracingContext || otContext.active(), span) + tracingContext: setSpan(tracingContext, span) }; const newOperationOptions = { - ...operationOptions, + ...(operationOptions as T), tracingOptions: newTracingOptions - } as T & { tracingOptions: Required }; + }; return { span, diff --git a/sdk/core/core-tracing/src/interfaces.ts b/sdk/core/core-tracing/src/interfaces.ts index dc7bd47994f0..4672755e2d3a 100644 --- a/sdk/core/core-tracing/src/interfaces.ts +++ b/sdk/core/core-tracing/src/interfaces.ts @@ -466,11 +466,6 @@ export interface SpanOptions { * Tracing options to set on an operation. */ export interface OperationTracingOptions { - /** - * OpenTelemetry SpanOptions used to create a span when tracing is enabled. - */ - spanOptions?: SpanOptions; - /** * OpenTelemetry context to use for created Spans. */ diff --git a/sdk/core/core-tracing/test/createSpan.spec.ts b/sdk/core/core-tracing/test/createSpan.spec.ts index 7a90eb0e52ee..62476592d227 100644 --- a/sdk/core/core-tracing/test/createSpan.spec.ts +++ b/sdk/core/core-tracing/test/createSpan.spec.ts @@ -11,7 +11,7 @@ import { } from "../src/interfaces"; import { TestSpan } from "./util/testSpan"; -import { createSpanFunction, isTracingDisabled } from "../src/createSpan"; +import { createSpanFunction, isTracingDisabled, knownSpanAttributes } from "../src/createSpan"; import { OperationTracingOptions } from "../src/interfaces"; import { TestTracerProvider } from "./util/testTracerProvider"; @@ -29,86 +29,104 @@ describe("createSpan", () => { tracerProvider.disable(); }); + it("is backwards compatible at runtime with versions prior to preview.13", () => { + const testSpan = tracerProvider.getTracer("test").startSpan("test"); + const someContext = setSpan(otContext.active(), testSpan); + + // Ensure we are backwards compatible with { tracingOptions: { spanOptions } } shape which was + // used prior to preview.13 for setting span options. + const options = { + tracingOptions: { + tracingContext: someContext, + spanOptions: { + kind: SpanKind.CLIENT, + attributes: { + foo: "bar" + } + } + } + }; + + const expectedSpanOptions = { + kind: SpanKind.CLIENT, + attributes: { + foo: "bar", + "az.namespace": "Microsoft.Test" + } + }; + + const { span, updatedOptions } = <{ span: TestSpan; updatedOptions: any }>( + createSpan("testMethod", options) + ); + assert.deepEqual(updatedOptions.tracingOptions.spanOptions, expectedSpanOptions); + assert.equal(span.kind, SpanKind.CLIENT); + assert.equal(span.attributes.foo, "bar"); + + assert.equal( + updatedOptions.tracingOptions.tracingContext.getValue( + knownSpanAttributes.AZ_NAMESPACE.contextKey + ), + "Microsoft.Test" + ); + }); + it("returns a created span with the right metadata", () => { const testSpan = tracerProvider.getTracer("test").startSpan("testing"); const someContext = setSpan(otContext.active(), testSpan); - const { span, updatedOptions } = <{ span: TestSpan; updatedOptions: any }>( - createSpan("testMethod", { - tracingOptions: ({ + const { span, updatedOptions } = <{ span: TestSpan; updatedOptions: any }>createSpan( + "testMethod", + { + // validate that we dumbly just copy any fields (this makes future upgrades easier) + someOtherField: "someOtherFieldValue", + tracingOptions: { // validate that we dumbly just copy any fields (this makes future upgrades easier) someOtherField: "someOtherFieldValue", - tracingContext: someContext, - spanOptions: { - kind: SpanKind.SERVER - } - } as OperationTracingOptions) as any - }) + tracingContext: someContext + } + }, + { kind: SpanKind.SERVER } ); assert.strictEqual(span.name, "Azure.Test.testMethod"); - assert.equal(updatedOptions.tracingOptions.spanOptions.kind, SpanKind.SERVER); assert.equal(span.attributes["az.namespace"], "Microsoft.Test"); - assert.deepEqual(updatedOptions.tracingOptions, { - someOtherField: "someOtherFieldValue", - tracingContext: updatedOptions.tracingOptions.tracingContext, - spanOptions: { - attributes: { - "az.namespace": "Microsoft.Test" - }, - kind: SpanKind.SERVER - } - }); - }); + assert.equal(updatedOptions.someOtherField, "someOtherFieldValue"); + assert.equal(updatedOptions.tracingOptions.someOtherField, "someOtherFieldValue"); - it("returns updated SpanOptions", () => { - const options: { tracingOptions?: OperationTracingOptions } = {}; - const { span, updatedOptions } = createSpan("testMethod", options); - assert.ok(span); - - assert.deepStrictEqual(options, {}, "original options should not be modified"); - assert.notStrictEqual(updatedOptions, options, "should return new object"); - - const expected: { tracingOptions?: OperationTracingOptions } = { - tracingOptions: { - spanOptions: { - attributes: { - "az.namespace": "Microsoft.Test" - } - }, - tracingContext: updatedOptions.tracingOptions?.tracingContext - } - }; - assert.deepEqual(updatedOptions, expected); + assert.equal(span.kind, SpanKind.SERVER); + assert.equal( + updatedOptions.tracingOptions.tracingContext.getValue(Symbol.for("az.namespace")), + "Microsoft.Test" + ); }); it("preserves existing attributes", () => { - const options: { tracingOptions?: OperationTracingOptions } = { - tracingOptions: { - spanOptions: { - attributes: { - foo: "bar" - } + const testSpan = tracerProvider.getTracer("test").startSpan("testing"); + + const someContext = setSpan(otContext.active(), testSpan).setValue( + Symbol.for("someOtherKey"), + "someOtherValue" + ); + + const { span, updatedOptions } = <{ span: TestSpan; updatedOptions: any }>( + createSpan("testMethod", { + someTopLevelField: "someTopLevelFieldValue", + tracingOptions: { + someOtherTracingField: "someOtherTracingValue", + tracingContext: someContext } - } - }; - const { span, updatedOptions } = createSpan("testMethod", options); - assert.ok(span); - assert.notStrictEqual(updatedOptions, options, "should return new object"); + }) + ); + assert.strictEqual(span.name, "Azure.Test.testMethod"); + assert.equal(span.attributes["az.namespace"], "Microsoft.Test"); - const expected: { tracingOptions?: OperationTracingOptions } = { - tracingOptions: { - spanOptions: { - attributes: { - "az.namespace": "Microsoft.Test", - foo: "bar" - } - }, - tracingContext: updatedOptions.tracingOptions!.tracingContext - } - }; - assert.deepEqual(updatedOptions, expected); + assert.equal( + updatedOptions.tracingOptions.tracingContext.getValue(Symbol.for("someOtherKey")), + "someOtherValue" + ); + assert.equal(updatedOptions.someTopLevelField, "someTopLevelFieldValue"); + assert.equal(updatedOptions.tracingOptions.someOtherTracingField, "someOtherTracingValue"); }); it("namespace and packagePrefix can be empty (and thus ignored)", () => { @@ -117,14 +135,10 @@ describe("createSpan", () => { packagePrefix: "" }); - const { span, updatedOptions } = cf("myVerbatimOperationName", { - tracingOptions: { - spanOptions: { - attributes: { - testAttribute: "testValue" - } - } - } as OperationTracingOptions + const { span, updatedOptions } = cf("myVerbatimOperationName", {} as any, { + attributes: { + testAttribute: "testValue" + } }); assert.equal( @@ -137,16 +151,9 @@ describe("createSpan", () => { "Expected az.namespace not to be set because there is no namespace" ); - assert.deepEqual(updatedOptions, { - tracingOptions: { - spanOptions: { - attributes: { - testAttribute: "testValue" - } - }, - tracingContext: updatedOptions.tracingOptions.tracingContext - } - }); + assert.notExists( + updatedOptions.tracingOptions.tracingContext?.getValue(Symbol.for("az.namespace")) + ); }); it("createSpans, testing parent/child relationship", () => { @@ -191,6 +198,14 @@ describe("createSpan", () => { ); }); + it("is robust when no options are passed in", () => { + const { span, updatedOptions } = <{ span: TestSpan; updatedOptions: any }>createSpan("foo"); + assert.exists(span); + assert.exists(updatedOptions); + assert.exists(updatedOptions.tracingOptions.spanOptions); + assert.exists(updatedOptions.tracingOptions.tracingContext); + }); + it("returns a no-op tracer if AZURE_TRACING_DISABLED is set", function(this: Mocha.Context) { if (typeof process === "undefined") { this.skip(); diff --git a/sdk/core/core-tracing/test/interfaces.spec.ts b/sdk/core/core-tracing/test/interfaces.spec.ts index fb9c53a07805..b9ef18ed3f33 100644 --- a/sdk/core/core-tracing/test/interfaces.spec.ts +++ b/sdk/core/core-tracing/test/interfaces.spec.ts @@ -47,36 +47,18 @@ describe("interface compatibility", () => { it("core-auth", () => { const coreTracingOptions: Required = { - spanOptions: { - attributes: { - hello: "world" - }, - kind: coreTracing.SpanKind.PRODUCER, - links: [ - { - context: { - spanId: "spanId", - traceId: "traceId", - traceFlags: coreTracing.TraceFlags.NONE - }, - attributes: { - hello2: "world2" - } - } - ] - }, tracingContext: coreTracing.context.active() }; const t: Required + keyof Required | "spanOptions" >> = {}; assert.ok(t, "core-tracing and core-auth should have the same properties"); const t2: Required + keyof Required | "spanOptions" >> = {}; assert.ok(t2, "core-tracing and core-auth should have the same properties"); diff --git a/sdk/core/core-tracing/test/util/testSpan.ts b/sdk/core/core-tracing/test/util/testSpan.ts index ad2520928113..5a9abca70535 100644 --- a/sdk/core/core-tracing/test/util/testSpan.ts +++ b/sdk/core/core-tracing/test/util/testSpan.ts @@ -10,7 +10,8 @@ import { SpanAttributes, SpanStatusCode, SpanAttributeValue, - Span + Span, + SpanOptions } from "../../src/interfaces"; /** @@ -68,21 +69,20 @@ export class TestSpan implements Span { parentTracer: Tracer, name: string, context: SpanContext, - kind: SpanKind, parentSpanId?: string, - startTime: TimeInput = Date.now() + options?: SpanOptions ) { this._tracer = parentTracer; this.name = name; - this.kind = kind; - this.startTime = startTime; + this.kind = options?.kind || SpanKind.INTERNAL; + this.startTime = options?.startTime || Date.now(); this.parentSpanId = parentSpanId; + this.attributes = options?.attributes || {}; this.status = { code: SpanStatusCode.OK }; this.endCalled = false; this._context = context; - this.attributes = {}; } /** diff --git a/sdk/core/core-tracing/test/util/testTracer.ts b/sdk/core/core-tracing/test/util/testTracer.ts index 1fa63fcf95a6..6e1b855c6f68 100644 --- a/sdk/core/core-tracing/test/util/testTracer.ts +++ b/sdk/core/core-tracing/test/util/testTracer.ts @@ -4,7 +4,6 @@ import { TestSpan } from "./testSpan"; import { SpanContext, - SpanKind, SpanOptions, TraceFlags, Context as OTContext, @@ -143,14 +142,7 @@ export class TestTracer implements Tracer { spanId: this.getNextSpanId(), traceFlags: TraceFlags.NONE }; - const span = new TestSpan( - this, - name, - spanContext, - options?.kind || SpanKind.INTERNAL, - parentContext ? parentContext.spanId : undefined, - options?.startTime - ); + const span = new TestSpan(this, name, spanContext, parentContext?.spanId, options); this.knownSpans.push(span); if (isRootSpan) { this.rootSpans.push(span); diff --git a/sdk/core/core-util/package.json b/sdk/core/core-util/package.json index 660d5bdbde39..f86c881c4eb0 100644 --- a/sdk/core/core-util/package.json +++ b/sdk/core/core-util/package.json @@ -21,7 +21,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -34,7 +34,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", diff --git a/sdk/core/core-xml/package.json b/sdk/core/core-xml/package.json index 0965e1a89eed..bd8ac06030ee 100644 --- a/sdk/core/core-xml/package.json +++ b/sdk/core/core-xml/package.json @@ -21,7 +21,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -34,7 +34,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", diff --git a/sdk/core/logger/package.json b/sdk/core/logger/package.json index cff74cdbc8e4..843fe6aa62c7 100644 --- a/sdk/core/logger/package.json +++ b/sdk/core/logger/package.json @@ -16,7 +16,7 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -29,7 +29,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "pretest": "npm run build:test", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", @@ -96,11 +95,11 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "typedoc": "0.15.2" } diff --git a/sdk/core/perf-tests/core-rest-pipeline/package.json b/sdk/core/perf-tests/core-rest-pipeline/package.json index 6fb37d2331f5..42c07e3f5e70 100644 --- a/sdk/core/perf-tests/core-rest-pipeline/package.json +++ b/sdk/core/perf-tests/core-rest-pipeline/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-core-rest-pipeline", + "sdk-type": "perf-test", "version": "1.0.0-beta.1", "description": "", "main": "", @@ -13,11 +14,12 @@ "dotenv": "^8.2.0" }, "devDependencies": { + "@types/node": "^12.0.0", "@types/uuid": "^8.0.0", "eslint": "^7.15.0", "prettier": "^1.16.4", "rimraf": "^3.0.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "tslib": "^2.2.0", "typescript": "~4.2.0" }, @@ -26,10 +28,10 @@ "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-esm test-dist typings *.tgz *.log", + "clean": "rimraf dist dist-esm test-dist types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -37,7 +39,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/cosmosdb/cosmos/CHANGELOG.md b/sdk/cosmosdb/cosmos/CHANGELOG.md index 0d7eea1c234d..9757110cd21c 100644 --- a/sdk/cosmosdb/cosmos/CHANGELOG.md +++ b/sdk/cosmosdb/cosmos/CHANGELOG.md @@ -1,5 +1,50 @@ # Release History +## 3.14.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 3.14.1 (2021-09-02) + +### Bugs Fixed + +- Fix @azure/core-rest-pipeline version for AAD auth. + +## 3.14.0 (2021-09-01) + +### Features Added + +- _PREVIEW_ Adds `container.item(itemId).patch()`. `patch()` is an alternative to `replace()` for item updates. https://github.com/Azure/azure-sdk-for-js/pull/16264/files#diff-7caca690c469e2025576523c0377ac71815f001024fde7c48b20cd24adaa6977R561 +- _PREVIEW_ Adds support for Bulk operation PATCH. +- _PREVIEW_ Adds support for Batch operation PATCH. + +### Bugs Fixed + +- Fixes bug where Batch was passing the wrong header for batch requests with partition keys +- Fixes 401s when using AAD auth. AAD credentials should now work and no longer cause 429s from @azure/identity at high throughput. + +## 3.13.1 (2021-08-23) + +### Bugs Fixed + +- Fixed bugs in session token clearing logic. Session Not found (404, substatus 1002) was not being handled correctly by the session retry policy and would mistakenly retry the request with the same session token. + +## 3.13.0 (2021-08-10) + +### Features Added + +- Adds TransactionalBatch to items `container.items.batch(operations)` + +### Bugs Fixed + +- Fixed bulk requests which had operations without partitionKey specified. + ## 3.12.3 (2021-07-23) ### Bugs Fixed @@ -21,8 +66,10 @@ ## 3.12.0 (2021-07-06) ### Features Added + - With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. - Added background refresher for endpoints, and new `ConnectionPolicy` options. Refreshing defaults to true, and the default refresh rate is every 5 minutes. + ```js const client = new CosmosClient({ endpoint, @@ -32,13 +79,14 @@ const client = new CosmosClient({ endpointRefreshRateInMs: 700, enableBackgroundEndpointRefreshing: true } -}) +}); ``` - Added `client.dispose()` for closing the endpoint refresher verbosely. Necessary when destroying the CosmosClient inside existing processes like an express web server, or when you want to destroy the client and create a new one in the same process. + ```js -const client = new CosmosClient() -client.dispose() // cancels background endpoint refreshing +const client = new CosmosClient(); +client.dispose(); // cancels background endpoint refreshing ``` ## 3.11.5 (2021-06-10) diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/ConflictWorker.ts b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/ConflictWorker.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/ConflictWorker.ts rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/ConflictWorker.ts diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/MultiRegionWriteScenario.ts b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/MultiRegionWriteScenario.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/MultiRegionWriteScenario.ts rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/MultiRegionWriteScenario.ts diff --git a/sdk/cosmosdb/cosmos/MultiRegionWriteSample/README.md b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/README.md new file mode 100644 index 000000000000..aec7ba356491 --- /dev/null +++ b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/README.md @@ -0,0 +1 @@ +MultiRegionWrite scenarios sample \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/Worker.ts b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/Worker.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/Worker.ts rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/Worker.ts diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/app.ts b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/app.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/app.ts rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/app.ts diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/config.ts b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/config.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/config.ts rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/config.ts diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/logger.ts b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/logger.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/logger.ts rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/logger.ts diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/lwwSprocDef.ts b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/lwwSprocDef.ts similarity index 96% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/lwwSprocDef.ts rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/lwwSprocDef.ts index 2be83ed3d971..c923ebec90a4 100644 --- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/lwwSprocDef.ts +++ b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/lwwSprocDef.ts @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { StoredProcedureDefinition } from "../../dist-esm"; +import { StoredProcedureDefinition } from "../../../../dist-esm"; const lwwSprocDef: StoredProcedureDefinition = { id: "resolver", diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/package.json b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/package.json similarity index 100% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/package.json rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/package.json diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/types.d.ts b/sdk/cosmosdb/cosmos/MultiRegionWriteSample/types.d.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/MultiRegionWrite/types.d.ts rename to sdk/cosmosdb/cosmos/MultiRegionWriteSample/types.d.ts diff --git a/sdk/cosmosdb/cosmos/package.json b/sdk/cosmosdb/cosmos/package.json index 44ded72d089c..4e375108f49b 100644 --- a/sdk/cosmosdb/cosmos/package.json +++ b/sdk/cosmosdb/cosmos/package.json @@ -1,6 +1,6 @@ { "name": "@azure/cosmos", - "version": "3.12.3", + "version": "3.14.2", "description": "Microsoft Azure Cosmos DB Service Node.js SDK for SQL API", "sdk-type": "client", "keywords": [ @@ -47,7 +47,7 @@ }, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build:samples": "node prep-samples.js && tsc -b samples", + "build:samples": "echo Obsolete.", "check:src:strict": "tsc --pretty --project src/tsconfig.strict.json", "build:src": "echo Using TypeScript && tsc --version && tsc -b --pretty", "build:test": "tsc", @@ -55,19 +55,18 @@ "build": "npm run clean && npm run extract-api && npm run build:types && node writeSDKVersion.js && npm run bundle", "bundle": "rollup -c", "bundle-types": "node bundle-types.js", - "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"samples-dev/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-esm temp types *.tgz *.html *.log *.tsbuildinfo test/**/*.{js,js.map,d.ts}", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", - "execute:samples": " cd samples && npm run all-samples", + "execute:samples": "dev-tool samples run samples-dev", "extract-api": "npm run check:src:strict && npm run build:src && api-extractor run --local", - "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"samples-dev/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", - "integration-test:node": "mocha -r test/mocha.env.ts -r ts-node/register -r esm -r dotenv/config -r ./test/public/common/setup.ts \"./test/internal/**/*.spec.ts\" \"./test/public/**/*.spec.ts\" --timeout 100000", + "integration-test:node": "mocha -r test/mocha.env.ts -r ts-node/register -r esm -r dotenv/config -r ./test/public/common/setup.ts --reporter ../../../common/tools/mocha-multi-reporter.js \"./test/internal/**/*.spec.ts\" \"./test/public/**/*.spec.ts\" --timeout 100000", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "lint:fix": "eslint package.json api-extractor.json src test samples --ext .ts --fix --fix-type [problem,suggestion]", - "lint": "eslint package.json api-extractor.json src test samples --ext .ts", + "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test-consumer": "rimraf consumer-test/node_modules consumer-test/package-lock.json && node consumer-test.js 2>&1", @@ -87,9 +86,9 @@ }, "dependencies": { "@azure/core-auth": "^1.3.0", - "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-rest-pipeline": "^1.2.0", "debug": "^4.1.1", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "jsbi": "^3.1.3", "node-abort-controller": "^1.2.0", "priorityqueuejs": "^1.0.0", @@ -106,13 +105,11 @@ "@rollup/plugin-json": "^4.0.0", "@rollup/plugin-multi-entry": "^3.0.0", "@types/debug": "^4.1.4", - "@types/fast-json-stable-stringify": "^2.0.0", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", "@types/priorityqueuejs": "^1.0.1", "@types/semaphore": "^1.1.0", "@types/sinon": "^9.0.4", - "@types/tunnel": "^0.0.1", "@types/underscore": "^1.8.8", "@types/uuid": "^8.0.0", "cross-env": "^7.0.2", @@ -120,11 +117,10 @@ "downlevel-dts": "~0.4.0", "eslint": "^7.15.0", "esm": "^3.2.18", - "execa": "^3.3.0", + "execa": "^5.0.0", "mocha": "^7.1.1", "mocha-junit-reporter": "^1.18.0", "prettier": "^1.16.4", - "proxy-agent": "^4.0.1", "requirejs": "^2.3.5", "rimraf": "^3.0.0", "rollup": "^1.16.3", @@ -132,8 +128,32 @@ "sinon": "^9.0.2", "snap-shot-it": "^7.9.1", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "0.15.2", "typescript": "~4.2.0" + }, + "//sampleConfiguration": { + "skip": [ + "AADAuth.ts", + "AlterQueryThroughput.ts", + "Bulk.ts", + "BulkUpdateWithSproc.ts", + "ChangeFeed.ts", + "ContainerManagement.ts", + "ItemManagement.ts", + "IndexManagement.ts", + "DatabaseManagement.ts", + "QueryThroughput.ts", + "SasTokenAuth.ts", + "ServerSideScripts.ts", + "Shared/handleError.ts" + ], + "productName": "Azure Cosmos DB", + "productSlugs": [ + "azure-cosmos-db" + ], + "requiredResources": { + "Azure Cosmos DB account": "https://docs.microsoft.com/azure/cosmos-db/how-to-manage-database-account#create-an-account" + } } } diff --git a/sdk/cosmosdb/cosmos/review/cosmos.api.md b/sdk/cosmosdb/cosmos/review/cosmos.api.md index c1341bf9dc26..715562c79478 100644 --- a/sdk/cosmosdb/cosmos/review/cosmos.api.md +++ b/sdk/cosmosdb/cosmos/review/cosmos.api.md @@ -5,6 +5,7 @@ ```ts import { AbortSignal } from 'node-abort-controller'; +import { Pipeline } from '@azure/core-rest-pipeline'; import { TokenCredential } from '@azure/core-auth'; // @public (undocumented) @@ -31,6 +32,7 @@ export const BulkOperationType: { readonly Read: "Read"; readonly Delete: "Delete"; readonly Replace: "Replace"; + readonly Patch: "Patch"; }; // @public @@ -39,6 +41,12 @@ export interface BulkOptions { continueOnError?: boolean; } +// @public (undocumented) +export type BulkPatchOperation = OperationBase & { + operationType: typeof BulkOperationType.Patch; + id: string; +}; + // @public export class ChangeFeedIterator { fetchNext(): Promise>>; @@ -72,6 +80,14 @@ export class ChangeFeedResponse { export class ClientContext { constructor(cosmosClientOptions: CosmosClientOptions, globalEndpointManager: GlobalEndpointManager); // (undocumented) + batch({ body, path, partitionKey, resourceId, options }: { + body: T; + path: string; + partitionKey: string; + resourceId: string; + options?: RequestOptions; + }): Promise>; + // (undocumented) bulk({ body, path, partitionKeyRangeId, resourceId, bulkOptions, options }: { body: T; path: string; @@ -122,6 +138,15 @@ export class ClientContext { [containerUrl: string]: any; }; // (undocumented) + patch({ body, path, resourceType, resourceId, options, partitionKey }: { + body: any; + path: string; + resourceType: ResourceType; + resourceId: string; + options?: RequestOptions; + partitionKey?: PartitionKey; + }): Promise>; + // (undocumented) queryFeed({ path, resourceType, resourceId, resultFn, query, options, partitionKeyRangeId, partitionKey }: { path: string; resourceType: ResourceType; @@ -689,6 +714,13 @@ export interface ErrorResponse extends Error { substatus?: number; } +// @public (undocumented) +export type ExistingKeyOperation = { + op: keyof typeof PatchOperationType; + value: any; + path: string; +}; + // @public (undocumented) export function extractPartitionKey(document: unknown, partitionKeyDefinition: PartitionKeyDefinition): PartitionKey[]; @@ -774,6 +806,8 @@ export enum HTTPMethod { // (undocumented) get = "GET", // (undocumented) + patch = "PATCH", + // (undocumented) post = "POST", // (undocumented) put = "PUT" @@ -829,6 +863,7 @@ export class Item { delete(options?: RequestOptions): Promise>; // (undocumented) readonly id: string; + patch(body: PatchRequestBody, options?: RequestOptions): Promise>; read(options?: RequestOptions): Promise>; replace(body: ItemDefinition, options?: RequestOptions): Promise>; replace(body: T, options?: RequestOptions): Promise>; @@ -852,6 +887,7 @@ export class ItemResponse extends ResourceResponse>; bulk(operations: OperationInput[], bulkOptions?: BulkOptions, options?: RequestOptions): Promise; changeFeed(partitionKey: string | number | boolean, changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator; changeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator; @@ -960,7 +996,7 @@ export class Offers { } // @public (undocumented) -export type Operation = CreateOperation | UpsertOperation | ReadOperation | DeleteOperation | ReplaceOperation; +export type Operation = CreateOperation | UpsertOperation | ReadOperation | DeleteOperation | ReplaceOperation | BulkPatchOperation; // @public (undocumented) export interface OperationBase { @@ -973,7 +1009,7 @@ export interface OperationBase { } // @public (undocumented) -export type OperationInput = CreateOperationInput | UpsertOperationInput | ReadOperationInput | DeleteOperationInput | ReplaceOperationInput; +export type OperationInput = CreateOperationInput | UpsertOperationInput | ReadOperationInput | DeleteOperationInput | ReplaceOperationInput | PatchOperationInput; // @public (undocumented) export interface OperationResponse { @@ -998,6 +1034,8 @@ export enum OperationType { // (undocumented) Execute = "execute", // (undocumented) + Patch = "patch", + // (undocumented) Query = "query", // (undocumented) Read = "read", @@ -1061,6 +1099,40 @@ export interface PartitionKeyRangePropertiesNames { MinInclusive: "minInclusive"; } +// @public (undocumented) +export type PatchOperation = ExistingKeyOperation | RemoveOperation; + +// @public (undocumented) +export interface PatchOperationInput { + // (undocumented) + id: string; + // (undocumented) + ifMatch?: string; + // (undocumented) + ifNoneMatch?: string; + // (undocumented) + operationType: typeof BulkOperationType.Patch; + // (undocumented) + partitionKey?: string | number | null | Record | undefined; + // (undocumented) + resourceBody: PatchRequestBody; +} + +// @public (undocumented) +export const PatchOperationType: { + readonly add: "add"; + readonly replace: "replace"; + readonly remove: "remove"; + readonly set: "set"; + readonly incr: "incr"; +}; + +// @public (undocumented) +export type PatchRequestBody = { + operations: PatchOperation[]; + condition?: string; +} | PatchOperation[]; + // @public export class Permission { constructor(user: User, id: string, clientContext: ClientContext); @@ -1296,6 +1368,12 @@ export interface ReadOperationInput { partitionKey?: string | number | boolean | null | Record | undefined; } +// @public (undocumented) +export type RemoveOperation = { + op: "remove"; + path: string; +}; + // @public (undocumented) export type ReplaceOperation = OperationWithItem & { operationType: typeof BulkOperationType.Replace; @@ -1304,6 +1382,8 @@ export type ReplaceOperation = OperationWithItem & { // @public (undocumented) export interface ReplaceOperationInput { + // (undocumented) + id: string; // (undocumented) ifMatch?: string; // (undocumented) @@ -1343,6 +1423,8 @@ export interface RequestContext { // (undocumented) path?: string; // (undocumented) + pipeline?: Pipeline; + // (undocumented) plugins: PluginConfig[]; // (undocumented) requestAgent: Agent; diff --git a/sdk/cosmosdb/cosmos/sample.env b/sdk/cosmosdb/cosmos/sample.env new file mode 100644 index 000000000000..2df55cdc9779 --- /dev/null +++ b/sdk/cosmosdb/cosmos/sample.env @@ -0,0 +1,5 @@ +COSMOS_KEY=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== +COSMOS_ENDPOINT=https://localhost:8081/ +COSMOS_DATABASE=NodeSamples +COSMOS_CONTAINER=Data +NODE_TLS_REJECT_UNAUTHORIZED=0 \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples-dev/AADAuth.ts b/sdk/cosmosdb/cosmos/samples-dev/AADAuth.ts new file mode 100644 index 000000000000..5c4ca5b2b6a6 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/AADAuth.ts @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Uses AAD credentials to authenticate with the CosmosClient. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { UsernamePasswordCredential } from "@azure/identity"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { CosmosClient } from "../dist"; +import { handleError, finish, logStep } from "./Shared/handleError"; + +const endpoint = "your-endpoint"; +const masterKey = "your-master-key"; +const existingContainerId = "your-container-id"; + +async function run() { + logStep("Create credential object from @azure/identity"); + const credentials = new UsernamePasswordCredential( + "fake-tenant-id", + "fake-client-id", + "fakeUsername", + "fakePassword" + ); + logStep("Pass credentials to client object with key aadCredentials"); + const aadClient = new CosmosClient({ + endpoint, + aadCredentials: credentials + }); + + const genericClient = new CosmosClient({ + endpoint, + key: masterKey + }); + + logStep( + "Only certain operations are authorized. Reading databases/containers will throw errors, but reading items will work" + ); + + // fails + await aadClient.databases.readAll({}).fetchAll(); + // succeeds + await genericClient.databases.readAll({}).fetchAll(); + + // succeeds + await aadClient + .database("example") + .container(existingContainerId) + .items.readAll(); + // succeeds + await genericClient + .database("example") + .container(existingContainerId) + .items.readAll(); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples-dev/AlterQueryThroughput.ts b/sdk/cosmosdb/cosmos/samples-dev/AlterQueryThroughput.ts new file mode 100644 index 000000000000..46a19a5f8b7d --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/AlterQueryThroughput.ts @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Updates a container offer to change query throughput. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { finish, handleError, logStep, logSampleHeader } from "./Shared/handleError"; +import { + CosmosClient, + OfferDefinition, + Resource, + ContainerDefinition, + DatabaseDefinition, + FeedResponse +} from "../dist-esm"; +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Alter Query Throughput"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// ensuring a database exists for us to work with +async function run(): Promise { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + logStep(`Create container with id : ${containerId}`); + await database.containers.createIfNotExists({ id: containerId }); + + logStep("Read all offers issued"); + const { resources: offers } = await client.offers.readAll().fetchAll(); + + const newRups = 700; + await asyncForEach(offers, async (offerDefinition: OfferDefinition) => { + await updateOfferForCollection(newRups, databaseId, containerId, offerDefinition); + }); + + logStep("Read all containers in database"); + const iterator = database.containers.readAll(); + const { resources: containersList } = await iterator.fetchAll(); + console.log(" --- Priting via iterator.fetchAll()"); + console.log(containersList); + + logStep("Read container definition"); + const container = database.container(containerId); + const { resource: containerDef } = await container.read(); + console.log(`Container with url "${container.url}" was found its id is "${containerDef.id}`); + + logStep(`Delete container ${containerDef.id}`); + await container.delete(); + await finish(); +} + +run().catch(handleError); + +async function updateOfferForCollection( + newRups: number, + dbName: string, + collectionName: string, + oldOfferDefinition: OfferDefinition +): Promise { + if (!oldOfferDefinition || !oldOfferDefinition.content) throw "found invalid offer"; + const newOfferDefinition: OfferDefinition = { + ...oldOfferDefinition, + content: { + offerThroughput: newRups, + offerIsRUPerMinuteThroughputEnabled: + oldOfferDefinition.content.offerIsRUPerMinuteThroughputEnabled + }, + offerVersion: "V2" + }; + + logStep("Read all databases"); + const { resources: databases } = await client.databases.readAll().fetchAll(); + + logStep("Read corresponding containers"); + const containerResponses: FeedResponse[] = await Promise.all( + databases + .filter((database: DatabaseDefinition & Resource) => database.id === dbName) + .map((database: DatabaseDefinition & Resource) => { + return client + .database(database.id) + .containers.readAll() + .fetchAll(); + }) + ); + + const flat = (nestedArrays: T[][]): T[] => [].concat(...nestedArrays); + + const containers: (ContainerDefinition & Resource)[] = flat( + containerResponses.map( + (response: FeedResponse) => response.resources + ) + ); + + logStep("Finding container to offerDefinition"); + const container = containers.find( + (containerParam: ContainerDefinition & Resource) => + containerParam._rid === oldOfferDefinition.offerResourceId && + containerParam.id === collectionName + ); + + if (container) { + const offer = client.offer(oldOfferDefinition.id); + logStep("replace old offer with new offer"); + await offer.replace(newOfferDefinition); + } +} + +async function asyncForEach( + array: Array, + callback: (element: T, index?: number, array?: T[]) => Promise +): Promise { + for (let index = 0; index < array.length; index++) { + await callback(array[index]); + } +} diff --git a/sdk/cosmosdb/cosmos/samples-dev/Bulk.ts b/sdk/cosmosdb/cosmos/samples-dev/Bulk.ts new file mode 100644 index 000000000000..be1deee7dbac --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/Bulk.ts @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Shows a simple bulk call with each BulkOperation type. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { handleError, finish, logStep } from "./Shared/handleError"; +import { BulkOperationType } from "../src"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { CosmosClient } from "../dist"; + +const endpoint = process.env.COSMOS_ENDPOINT; +const masterKey = process.env.COSMOS_KEY; + +function addEntropy(name: string): string { + return name + getEntropy(); +} + +function getEntropy(): string { + return `${Math.floor(Math.random() * 10000)}`; +} + +async function run() { + const containerId = "bulkContainerV2"; + const client = new CosmosClient({ + key: masterKey, + endpoint: endpoint + }); + const { database } = await client.databases.create({ id: addEntropy("bulk db") }); + logStep(`Create multi-partition container '${containerId}' with partition key /key`); + const { container: v2Container } = await database.containers.create({ + id: containerId, + partitionKey: { + paths: ["/key"], + version: 2 + }, + throughput: 25100 + }); + + const readItemId = addEntropy("item1"); + const deleteItemId = addEntropy("item2"); + const replaceItemId = addEntropy("item3"); + logStep( + `Create items ${readItemId}, ${deleteItemId}, ${replaceItemId} for reading, deleting and replacing` + ); + await v2Container.items.create({ + id: readItemId, + key: true, + class: "2010" + }); + await v2Container.items.create({ + id: deleteItemId, + key: {}, + class: "2011" + }); + await v2Container.items.create({ + id: replaceItemId, + key: 5, + class: "2012" + }); + + const operations = [ + { + operationType: BulkOperationType.Create, + partitionKey: "A", + resourceBody: { id: addEntropy("doc1"), name: "sample", key: "A" } + }, + { + operationType: BulkOperationType.Upsert, + partitionKey: "U", + resourceBody: { name: "other", key: "U" } + }, + { + operationType: BulkOperationType.Read, + id: readItemId, + partitionKey: true + }, + { + operationType: BulkOperationType.Delete, + id: deleteItemId, + partitionKey: {} + }, + { + operationType: BulkOperationType.Replace, + partitionKey: 5, + id: replaceItemId, + resourceBody: { id: replaceItemId, name: "nice", key: 5 } + } + ]; + logStep(`Execute a simple bulk request with 5 operations: Create, Upsert, Read, Delete, Replace`); + logStep("Bulk Operations Input to 'container.items.bulk(operations):'"); + console.log(operations); + const response = await v2Container.items.bulk(operations); + logStep("Bulk response:"); + console.log(response); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples-dev/BulkUpdateWithSproc.ts b/sdk/cosmosdb/cosmos/samples-dev/BulkUpdateWithSproc.ts new file mode 100644 index 000000000000..e98010ca8d6a --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/BulkUpdateWithSproc.ts @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Bulk Updates documents with a Stored Procedure. Prefer `container.items().bulk()` to this behavior. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { logSampleHeader, handleError, finish, logStep } from "./Shared/handleError"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { CosmosClient } from "../dist"; +import { v4 } from "uuid"; +const uuid = v4; + +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Bulk Update Using Stored Procedures"); +// Only to make TypeScript happy +let getContext: any; + +function body(continuation: string): void { + const collection = getContext().getCollection(); + const response = getContext().getResponse(); + const responseBody: any = { updatedDocumentIds: [] }; // Setup Initial Response + + // Find all documents that need to be updated + collection.queryDocuments( + collection.getSelfLink(), + "SELECT * FROM root r", + { pageSize: 2, continuation }, // Setting this low to show how continuation tokens work + function(err: any, feed: any, options: any) { + if (err) throw err; + // Set continuation token on response if we get one + responseBody.continuation = options.continuation; + // Update this batch of documents + updateDocs(feed, responseBody); + } + ); + + function updateDocs(documents: any, responseBodyParam: any): void { + if (documents.length === 0) { + // If no documents are left to update, we are done + response.setBody(responseBodyParam); + } else { + // Grab the next document to update + const document = documents.pop(); + document.state = "open"; + collection.replaceDocument(document._self, document, {}, function(err: any) { + if (err) throw err; + // If we have successfully updated the document, include it in the returned document ids + responseBodyParam.updatedDocumentIds.push(document.id); + // Call update with remaining documents + updateDocs(documents, responseBodyParam); + }); + } + } +} + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run(): Promise { + // ensuring a database & container exists for us to work with + logStep("Create database '" + databaseId + "' and container '" + containerId + "'"); + const { database } = await client.databases.createIfNotExists({ id: databaseId }, {}); + const { container } = await database.containers.createIfNotExists({ id: containerId }); + + logStep("Insert 20 items"); + + // Create 20 items with state set to "closed" + for (let index = 0; index < 20; index++) { + await container.items.create({ id: uuid(), state: "closed" }); + } + + logStep("Created stored procedure"); + const { storedProcedure } = await container.scripts.storedProcedures.create({ + id: "queryAndBulkUpdate", + body + }); + + logStep("Execute stored procedure and follow continuation tokens"); + let continuation: string = undefined; + let totalUpdatedDocuments = 0; + for (;;) { + const response = await storedProcedure.execute(undefined, [continuation]); + const result: any = response.resource; + totalUpdatedDocuments = totalUpdatedDocuments + result.updatedDocumentIds.length; + console.log(`Updated Documents: ${result.updatedDocumentIds}`); + continuation = result.continuation; + if (!result.continuation) { + console.log("No continuation token! Updates complete"); + console.log(`Total Updated Document Count:`, totalUpdatedDocuments); + break; + } + } + await finish(); +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/ChangeFeed.ts b/sdk/cosmosdb/cosmos/samples-dev/ChangeFeed.ts similarity index 93% rename from sdk/cosmosdb/cosmos/samples/ChangeFeed.ts rename to sdk/cosmosdb/cosmos/samples-dev/ChangeFeed.ts index 749971e3a1fb..1878429dd577 100644 --- a/sdk/cosmosdb/cosmos/samples/ChangeFeed.ts +++ b/sdk/cosmosdb/cosmos/samples-dev/ChangeFeed.ts @@ -1,9 +1,22 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. +/** + * @summary Demonstrates using a ChangeFeed. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + import { finish, handleError, logSampleHeader } from "./Shared/handleError"; -import { CosmosClient } from "../dist"; -import { database as databaseId, container as containerId, endpoint, key } from "./Shared/config"; +import { CosmosClient } from "../dist-esm"; +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; logSampleHeader("Change Feed"); // Establish a new instance of the CosmosClient to be used throughout this demo diff --git a/sdk/cosmosdb/cosmos/samples-dev/ContainerManagement.ts b/sdk/cosmosdb/cosmos/samples-dev/ContainerManagement.ts new file mode 100644 index 000000000000..e71d2c52d2b5 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/ContainerManagement.ts @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates container create, read, delete and reading all containers belonging to a database. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { finish, handleError, logStep, logSampleHeader } from "./Shared/handleError"; +import { CosmosClient } from "../dist-esm"; +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Container Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// ensuring a database exists for us to work with +async function run(): Promise { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + logStep(`Create container with id : ${containerId}`); + await database.containers.createIfNotExists({ id: containerId }); + + logStep("Read all containers in database"); + const iterator = database.containers.readAll(); + const { resources: containersList } = await iterator.fetchAll(); + console.log(" --- Priting via iterator.fetchAll()"); + console.log(containersList); + + logStep("Read container definition"); + const container = database.container(containerId); + const { resource: containerDef } = await container.read(); + console.log(`Container with url "${container.url}" was found its id is "${containerDef.id}`); + + logStep(`Delete container ${containerDef.id}`); + await container.delete(); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples-dev/DatabaseManagement.ts b/sdk/cosmosdb/cosmos/samples-dev/DatabaseManagement.ts new file mode 100644 index 000000000000..86316d3cf64f --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/DatabaseManagement.ts @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates database create, read, delete and reading all databases. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { handleError, logStep, logSampleHeader, finish } from "./Shared/handleError"; +import { CosmosClient } from "../dist-esm"; +import assert from "assert"; + +const { COSMOS_DATABASE: databaseId, COSMOS_ENDPOINT: endpoint, COSMOS_KEY: key } = process.env; + +logSampleHeader("Database Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run(): Promise { + logStep("Create database, if it doesn't already exist"); + await client.databases.createIfNotExists({ id: databaseId }); + console.log("Database with id " + databaseId + " created."); + + logStep("Read all databases"); + const { resources: dbDefList } = await client.databases.readAll().fetchAll(); + console.log(dbDefList); + + logStep("ReadDatabase with id '" + databaseId + "'"); + const { resource: dbDef } = await client.database(databaseId).read(); + // This uses Object deconstruction to just grab the body of the response, + // but you can also grab the whole response object to use + const databaseResponse = await client.database(databaseId).read(); + const alsoDbDef = databaseResponse.resource; + assert.equal(dbDef.id, alsoDbDef.id); // The bodies will also almost be equal, _ts will defer based on the read time + // This applies for all response types, not just DatabaseResponse. + + console.log("Database with id of " + dbDef.id + "' was found"); + + logStep("delete database with id '" + databaseId + "'"); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples-dev/IndexManagement.ts b/sdk/cosmosdb/cosmos/samples-dev/IndexManagement.ts new file mode 100644 index 000000000000..db16ecc28711 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/IndexManagement.ts @@ -0,0 +1,232 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Shows various ways to manage indexing items or changing container index policies. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { logSampleHeader, handleError, finish, logStep } from "./Shared/handleError"; +import { CosmosClient, IndexKind, DataType } from "../dist-esm"; + +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Index Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run(): Promise { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + // We're using the default indexing policy because by default indexingMode == consistent & automatic == true + // which means that by default all items added to a container are indexed as the item is written + const { container, resource: containerDef } = await database.containers.createIfNotExists({ + id: containerId + }); + + logStep("Manually exclude an item from being indexed"); + console.log("create container with default index policy"); + + // We're using the default indexing policy because by default indexingMode == consistent & automatic == true + // which means that by default all items added to a container are indexed as the item is written + // One of items.create() options is indexingDirectives which can be include, or exclude + // We're using exclude this time to manually exclude this item from being indexed + console.log("Create item, but exclude from index"); + const { resource: itemDef, item } = await container.items.create( + { id: "item1", foo: "bar" }, + { indexingDirective: "exclude" } + ); + console.log("Item with id '" + itemDef.id + "' created"); + + const querySpec = { + query: "SELECT * FROM root r WHERE r.foo=@foo", + parameters: [ + { + name: "@foo", + value: "bar" + } + ] + }; + + console.log("Querying all items for the given item should not find any results"); + const { resources: results } = await container.items.query(querySpec).fetchAll(); + if (results.length !== 0) { + throw new Error("there were not meant to be results"); + } + console.log("No results found"); + + console.log("item.read() should still find the item"); + await item.read(); + console.log("item.read() found item"); + + logStep("Switch auto indexing off, and manually index item"); + console.log("Update container indexingPolicy.automatic : false"); + + const indexingPolicySpec = { automatic: false }; + + // Index transform is an async operation that is performed on a Container + // You can contiue to use the container while this is happening, but depending + // on the transform and your queries you may get inconsistent results as the index is updated + // In this case it will be almost instant because we only have one item + // but this can take some time on larger containers + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: indexingPolicySpec + }); + + // items.create() takes RequestOptions as 2nd parameter. + // One of these options is indexingDirectives which can be include, or exclude + // we're using include this time to manually index this particular item + console.log("Create item, and explicitly include in index"); + const { resource: itemDef2 } = await container.items.create( + { id: "item2", foo: "bar" }, + { indexingDirective: "include" } + ); + console.log("Item with id '" + itemDef2.id + "' created"); + + console.log("Querying all items for a given item should find a result as it was indexed"); + const { resources: results2 } = await container.items.query(querySpec).fetchAll(); + if (results2.length === 0) { + throw new Error("There were meant to be results"); + } else { + const fetchedItemDef = results2[0]; + console.log("Item with id '" + fetchedItemDef.id + "' found"); + } + + logStep("Create a range index on string path"); + // Azure Cosmos DB index knows about 3 datatypes - numbers, strings and geojson + // Next we are going to create a custom index policy which enables range index on a string path + + console.log("update container with range index on string paths"); + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: { + includedPaths: [ + { + path: "/*", + indexes: [ + { + kind: IndexKind.Range, + dataType: DataType.String + }, + { + kind: IndexKind.Range, + dataType: DataType.Number + } + ] + } + ] + } + }); + + console.log("Container '" + containerDef.id + "' updated with new index policy"); + + // create an item + console.log("Creating item"); + await container.items.create({ id: "item3", stringField: "a string value" }); + console.log("Item created"); + + console.log("Querying for item where stringField > 'a', should return results"); + // notice how we're switching to queryIterator.executeNext instead of calling .fetchAll() as before + // reason being, fetchAll will issue multiple requests to the server until it has fetched all results + // here we can control this using executeNext. + // now we can get the headers for each request which includes the charge, continuation tokens etc. + const queryIterator = container.items.query( + { + query: "SELECT * FROM root r WHERE r.stringField > @value", + parameters: [ + { + name: "@value", + value: "a" + } + ] + }, + { enableScanInQuery: true } + ); + const { resources: items, requestCharge } = await queryIterator.fetchNext(); + const itemDef3 = items[0]; + console.log("Item '" + itemDef3.id + "' found, request charge: " + requestCharge); + + logStep("Update index to exclude paths from indexing"); + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: { + // the special "/" must always be included somewhere. in this case we're including root + // and then excluding specific paths + includedPaths: [ + { + path: "/", + indexes: [ + { + kind: IndexKind.Range, + dataType: DataType.Number, + precision: 2 + } + ] + } + ], + excludedPaths: [ + { + path: "/metaData/*" + } + ] + } + }); + + console.log("Container '" + containerDef.id + "' updated with excludedPaths"); + // create an item + console.log("Creating item"); + const { item: item4 } = await container.items.create({ + id: "item4", + metaData: "meta", + subDoc: { + searchable: "searchable", + subSubDoc: { someProperty: "value" } + } + }); + + console.log("Item created"); + try { + // expecting an exception on this query due to the fact that it includes paths that + // have been excluded. If you want to force a scan, then enableScanInQuery + console.log("Querying for item where metaData = 'meta', should throw an exception"); + const result = await container.items + .query({ + query: "SELECT * FROM root r WHERE r.metaData = @value", + parameters: [ + { + name: "@value", + value: "meta" + } + ] + }) + .fetchAll(); + console.log(result.resources); + throw new Error("Should've produced an error"); + } catch (err) { + if (err.code !== undefined) { + console.log("Threw, as expected"); + } else { + throw err; + } + } + + // You can still read the item by its id + console.log("Can still item.read() using '" + item4.id + "'"); + await item.read(); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples-dev/ItemManagement.ts b/sdk/cosmosdb/cosmos/samples-dev/ItemManagement.ts new file mode 100644 index 000000000000..d2f8429aad2a --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/ItemManagement.ts @@ -0,0 +1,165 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates item creation, read, delete and reading all items belonging to a container. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { logSampleHeader, handleError, finish, logStep } from "./Shared/handleError"; +import { readFileSync } from "fs"; +import { CosmosClient } from "../dist-esm"; +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Item Management"); + +const itemDefs = JSON.parse( + readFileSync(path.resolve(__dirname, "./Shared/Data/Families.json"), "utf8") +).Families; + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run(): Promise { + // ensuring a database & container exists for us to work with + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + const { container } = await database.containers.createIfNotExists({ id: containerId }); + + logStep("Insert items in to database '" + databaseId + "' and container '" + containerId + "'"); + + await Promise.all(itemDefs.map((itemDef: any) => container.items.create(itemDef))); + console.log(itemDefs.length + " items created"); + + logStep("List items in container '" + container.id + "'"); + const { resources: itemDefList } = await container.items.readAll().fetchAll(); + + for (const itemDef of itemDefList) { + console.log(itemDef.id); + } + + const item = container.item(itemDefList[0].id, undefined); + logStep("Read item '" + item.id + "'"); + const { resource: readDoc } = await item.read(); + console.log("item with id '" + item.id + "' found"); + + logStep("Read item with AccessCondition and no change to _etag"); + const { resource: item2, headers } = await item.read({ + accessCondition: { type: "IfNoneMatch", condition: readDoc._etag } + }); + if (!item2 && headers["content-length"] === 0) { + console.log( + "As expected, no item returned. This is because the etag sent matched the etag on the server. i.e. you have the latest version of the item already" + ); + } + + // if we someone else updates this item, its etag on the server would change. + // repeating the above read with the old etag would then get a item in the response + readDoc.foo = "bar"; + await item.replace(readDoc); + const { resource: item3, headers: headers3 } = await item.read({ + accessCondition: { type: "IfNoneMatch", condition: readDoc._etag } + }); + if (!item3 && headers3["content-length"] === 0) { + throw "Expected item this time. Something is wrong!"; + } else { + console.log( + "This time the read request returned the item because the etag values did not match" + ); + } + + const querySpec = { + query: "SELECT * FROM Families f WHERE f.lastName = @lastName", + parameters: [ + { + name: "@lastName", + value: "Andersen" + } + ] + }; + + logStep("Query items in container '" + container.id + "'"); + const { resources: results } = await container.items.query(querySpec).fetchAll(); + + if (results.length === 0) { + throw "No items found matching"; + } else if (results.length > 1) { + throw "More than 1 item found matching"; + } + + const person = results[0]; + console.log("The '" + person.id + "' family has lastName '" + person.lastName + "'"); + console.log("The '" + person.id + "' family has " + person.children.length + " children '"); + + // add a new child to this family, and change the family's lastName + const childDef = { + firstName: "Newborn", + gender: "unknown", + fingers: 10, + toes: 10 + }; + + person.children.push(childDef); + person.lastName = "Updated Family"; + + logStep("Replace item with id '" + item.id + "'"); + const { resource: updatedPerson } = await container.items.upsert(person); + + console.log("The '" + person.id + "' family has lastName '" + updatedPerson.lastName + "'"); + console.log( + "The '" + person.id + "' family has " + updatedPerson.children.length + " children '" + ); + + logStep("Trying to replace item when item has changed in the database"); + // The replace item above will work even if there's a new version of item on the server from what you originally read + // If you want to prevent this from happening you can opt-in to a conditional update + // Using accessCondition and etag you can specify that the replace only occurs if the etag you are sending matches the etag on the server + // i.e. Only replace if the item hasn't changed + + // let's go update item + person.foo = "bar"; + await item.replace(person); + + // now let's try another update to item with accessCondition and etag set + person.foo = "should never get set"; + try { + await item.replace(person, { accessCondition: { type: "IfMatch", condition: person._etag } }); + throw new Error("This should have failed!"); + } catch (err) { + if (err.code === 412) { + console.log("As expected, the replace item failed with a pre-condition failure"); + } else { + throw err; + } + } + + const upsertSource = itemDefList[1]; + logStep(`Upserting person ${upsertSource.id} with id ${upsertSource.id}...`); + + // a non-identity change will cause an update on upsert + upsertSource.foo = "baz"; + const { resource: upsertedPerson1 } = await container.items.upsert(upsertSource); + console.log(`Upserted ${upsertedPerson1.id} to id ${upsertedPerson1.id}.`); + + // an identity change will cause an insert on upsert + upsertSource.id = "HazzardFamily"; + const { resource: upsertedPerson2 } = await container.items.upsert(upsertSource); + console.log(`Upserted ${upsertedPerson2.id} to id ${upsertedPerson2.id}.`); + + if (upsertedPerson1.id === upsertedPerson2.id) { + throw new Error("These two upserted records should have different resource IDs."); + } + + logStep("Delete item '" + item.id + "'"); + await item.delete(); + + await finish(); +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples-dev/QueryThroughput.ts b/sdk/cosmosdb/cosmos/samples-dev/QueryThroughput.ts new file mode 100644 index 000000000000..85cb88ab9dcf --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/QueryThroughput.ts @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates query throughput scenarios. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { Container, FeedOptions, SqlQuerySpec, CosmosClient } from "../dist-esm"; + +const { + COSMOS_DATABASE: dbId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +async function run() { + const client = new CosmosClient({ + endpoint, + key + }); + + const query1 = "Select * from c order by c._ts"; + const query2 = "Select * from c"; + const query3 = "Select value count(c.id) from c"; + + const container = client.database(dbId).container(containerId); + const options = { + maxItemCount: 10000, + maxDegreeOfParallelism: 1000, + bufferItems: true + }; + + const scenarios = []; + scenarios.push({ container, query: query1, options }); + scenarios.push({ container, query: query2, options }); + scenarios.push({ container, query: query3, options }); + + for (const scenario of scenarios) { + try { + console.log("Scenario starting: " + scenario.query); + const start = Date.now(); + await runScenario(scenario.container, scenario.query, scenario.options); + console.log( + 'Scenario complete: "' + scenario.query + '" - took ' + (Date.now() - start) / 1000 + "s" + ); + } catch (e) { + console.log("Scenario failed: " + scenario.query + " - " + JSON.stringify(scenario.options)); + } + } +} + +async function runScenario( + container: Container, + query: string | SqlQuerySpec, + options: FeedOptions +) { + const queryIterator = container.items.query(query, options); + let count = 0; + while (queryIterator.hasMoreResults() && count <= 100000) { + const { resources: results } = await queryIterator.fetchNext(); + if (results !== undefined) { + count = count + results.length; + } + } +} + +run().catch(console.error); diff --git a/sdk/cosmosdb/cosmos/samples-dev/SasTokenAuth.ts b/sdk/cosmosdb/cosmos/samples-dev/SasTokenAuth.ts new file mode 100644 index 000000000000..b041ee18e89b --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/SasTokenAuth.ts @@ -0,0 +1,86 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates using SasTokens for granting scoped access to Cosmos resources. *Private feature* + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { SasTokenProperties } from "../dist-esm/client/SasToken/SasTokenProperties"; +import { SasTokenPermissionKind } from "../dist-esm/common/constants"; +import { createAuthorizationSasToken } from "../dist-esm/utils/SasToken"; +import { handleError, finish, logStep } from "./Shared/handleError"; +import { CosmosClient } from "../dist-esm/CosmosClient"; + +const { COSMOS_ENDPOINT: endpoint, COSMOS_KEY: masterKey } = process.env; +const sasToken = "your-sas-token"; + +async function run() { + logStep("Create a SasToken object"); + + const sasTokenProperties = { + user: "your-user", + userTag: "your-userTag", + databaseName: "your-databaseName", + containerName: "your-containerName", + resourcePath: "your-resource-path", + partitionKeyValueRanges: [], + startTime: new Date(), + expiryTime: new Date(), + keyType: 0, + controlPlaneReaderScope: SasTokenPermissionKind.ContainerFullAccess, + controlPlaneWriterScope: 0, + dataPlaneReaderScope: SasTokenPermissionKind.ContainerFullAccess, + dataPlaneWriterScope: 0 + }; + + const key = await createAuthorizationSasToken(masterKey, sasTokenProperties); + + // If connecting to the Cosmos DB Emulator, disable TLS verification for your node process: + process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; + const client = new CosmosClient({ + endpoint, + key: key + }); + + const database = client.database(sasTokenProperties.databaseName); + const container = database.container(sasTokenProperties.containerName); + const newItem = { + id: "your-itemId", + category: "your-category", + name: "your-name", + description: "your-description", + isComplete: false + }; + + const querySpec = { + query: "SELECT * from c" + }; + + await container.items.create(newItem); + + // read all items in the Items container + const { resources: items } = await container.items.query(querySpec).fetchAll(); + + items.forEach((item: { id: any; description: any }) => { + console.log(`${item.id} - ${item.description}`); + }); + + await client.databases.readAll().fetchAll(); + + logStep("Fetch all databases using existing user token"); + const sasTokenClient = new CosmosClient({ + endpoint, + key: sasToken + }); + + logStep("Fetch all databases"); + await sasTokenClient.databases.readAll().fetchAll(); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples-dev/ServerSideScripts.ts b/sdk/cosmosdb/cosmos/samples-dev/ServerSideScripts.ts new file mode 100644 index 000000000000..349c361057fc --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/ServerSideScripts.ts @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates using stored procedures for server side run functions + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { logSampleHeader, logStep, finish, handleError } from "./Shared/handleError"; +import { CosmosClient, ErrorResponse } from "../dist-esm"; +import { FeedOptions, Item, Resource } from "../dist-esm"; + +logSampleHeader("Server Side Scripts"); +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +// Establish a new instance of the DocumentDBClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// Execute the stored procedure with the following parameters. +const sprocParams = [ + { + id: "myDocument", + foo: "bar" + } +]; + +/** + * An Azure Cosmos DB stored procedure that upserts a given document (insert new or update if present) using its id property.
+ * This implementation tries to create, and if the create fails then query for the document with the specified document's id, then replace it. + * Use this sproc if creates are more common than replaces, otherwise use "upsertOptimizedForReplace" + * + * @function + * @param {Object} document - A document that should be upserted into this collection. + * @returns {Object.} Returns an object with the property:
+ * op - created (or) replaced. + */ +let getContext: any; +const sprocDefinition = { + id: "upsert", + body: function(document: Item) { + const context = getContext(); + const collection = context.getCollection(); + const collectionLink = collection.getSelfLink(); + const response = context.getResponse(); + const errorCodes = { CONFLICT: 409 }; + + // Not checking for existence of document.id for compatibility with createDocument. + if (!document) throw new Error("The document is undefined or null."); + + tryCreate(document, callback); + + function tryCreate(doc: Item, cback: any) { + const isAccepted = collection.createDocument(collectionLink, doc, cback); + if (!isAccepted) throw new Error("Unable to schedule create document"); + response.setBody({ op: "created" }); + } + + // To replace the document, first issue a query to find it and then call replace. + function tryReplace(doc: Item, cback: any) { + retrieveDoc(doc, null, function(retrievedDocs: Resource[]) { + const isAccepted = collection.replaceDocument(retrievedDocs[0]._self, doc, cback); + if (!isAccepted) throw new Error("Unable to schedule replace document"); + response.setBody({ op: "replaced" }); + }); + } + + function retrieveDoc(doc: Item, continuation: string, cback: any) { + const query = { + query: "select * from root r where r.id = @id", + parameters: [{ name: "@id", value: doc.id }] + }; + const requestOptions = { continuation: continuation }; + const isAccepted = collection.queryDocuments(collectionLink, query, requestOptions, function( + err: Error, + retrievedDocs: Resource[], + responseOptions: FeedOptions + ) { + if (err) throw err; + + if (retrievedDocs.length > 0) { + cback(retrievedDocs); + } else if (responseOptions.continuation) { + // Conservative check for continuation. Not expected to hit in practice for the "id query" + retrieveDoc(doc, responseOptions.continuation, cback); + } else { + throw new Error("Error in retrieving document: " + doc.id); + } + }); + if (!isAccepted) throw new Error("Unable to query documents"); + } + + // This is called when collection.createDocument is done in order to + // process the result. + function callback(err: ErrorResponse) { + if (err) { + // Replace the document if status code is 409 and upsert is enabled + if (err.status === errorCodes.CONFLICT) { + return tryReplace(document, callback); + } else { + throw err; + } + } + } + } +}; + +async function run(): Promise { + const { database } = await client.databases.create({ id: databaseId }); + const { container } = await database.containers.create({ id: containerId }); + + logStep("Creating the sproc: '" + sprocDefinition.id + "'"); + + // Query for the stored procedure. + const { sproc } = await container.scripts.storedProcedures.create(sprocDefinition); + + logStep("Executing the sproc: '" + sproc.id + "'"); + console.log("Sproc parameters: " + JSON.stringify(sprocParams)); + + const { resource: results, headers } = await sproc.execute(undefined, sprocParams); + + console.log("//////////////////////////////////"); + if (headers) { + console.log("// responseHeaders"); + console.log(headers); + } + if (results) { + console.log("// results"); + console.log(results); + } + console.log("//////////////////////////////////"); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/Shared/Data/Families.json b/sdk/cosmosdb/cosmos/samples-dev/Shared/Data/Families.json similarity index 100% rename from sdk/cosmosdb/cosmos/samples/Shared/Data/Families.json rename to sdk/cosmosdb/cosmos/samples-dev/Shared/Data/Families.json diff --git a/sdk/cosmosdb/cosmos/samples-dev/Shared/handleError.ts b/sdk/cosmosdb/cosmos/samples-dev/Shared/handleError.ts new file mode 100644 index 000000000000..f58be138dcaa --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples-dev/Shared/handleError.ts @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @azsdk-util true + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../../sample.env") }); + +import { CosmosClient } from "../../dist-esm"; + +const { COSMOS_DATABASE: database, COSMOS_KEY: key, COSMOS_ENDPOINT: endpoint } = process.env; +const client = new CosmosClient({ endpoint, key }); + +export async function handleError(error: { code: string }): Promise { + console.log("\nAn error with code '" + error.code + "' has occurred:"); + console.log(error); + await finish(); + process.exitCode = 1; +} + +export async function finish(): Promise { + try { + await client.database(database).delete(); + console.log("\nEnd of demo."); + } catch (err) { + console.log( + `Database: "${database}" might not have deleted properly. You might need to delete it manually.` + ); + process.exitCode = 1; + } +} + +let currentStep = 0; +export function logStep(message: string): void { + currentStep++; + console.log(`\n${currentStep}: ${message}`); +} + +export function logSampleHeader(sampleName: string): void { + console.log("Azure Cosmos DB Node.js Samples"); + console.log("================================"); + console.log(sampleName); + console.log("================================"); +} diff --git a/sdk/cosmosdb/cosmos/samples/AADAuth.ts b/sdk/cosmosdb/cosmos/samples/src/AADAuth.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/AADAuth.ts rename to sdk/cosmosdb/cosmos/samples/src/AADAuth.ts diff --git a/sdk/cosmosdb/cosmos/samples/Bulk.ts b/sdk/cosmosdb/cosmos/samples/src/Bulk.ts similarity index 90% rename from sdk/cosmosdb/cosmos/samples/Bulk.ts rename to sdk/cosmosdb/cosmos/samples/src/Bulk.ts index a6ce34adb97f..de58f440cf7b 100644 --- a/sdk/cosmosdb/cosmos/samples/Bulk.ts +++ b/sdk/cosmosdb/cosmos/samples/src/Bulk.ts @@ -2,12 +2,13 @@ // Licensed under the MIT license. import { handleError, finish, logStep } from "./Shared/handleError"; -import { addEntropy } from "../test/public/common/TestHelpers"; -import { BulkOperationType } from "../src"; +import { addEntropy } from "../../test/public/common/TestHelpers"; +import { BulkOperationType } from "../../src"; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { CosmosClient } from "../dist"; -import { endpoint, masterKey } from "../test/public/common/_testConfig"; +import { endpoint } from "../../test/public/common/_testConfig"; +import { masterKey } from "../../test/public/common/_fakeTestSecrets"; async function run() { const containerId = "bulkContainerV2"; diff --git a/sdk/cosmosdb/cosmos/samples/BulkUpdateWithSproc.ts b/sdk/cosmosdb/cosmos/samples/src/BulkUpdateWithSproc.ts similarity index 95% rename from sdk/cosmosdb/cosmos/samples/BulkUpdateWithSproc.ts rename to sdk/cosmosdb/cosmos/samples/src/BulkUpdateWithSproc.ts index e41a55dcfea1..c3ce101d8276 100644 --- a/sdk/cosmosdb/cosmos/samples/BulkUpdateWithSproc.ts +++ b/sdk/cosmosdb/cosmos/samples/src/BulkUpdateWithSproc.ts @@ -4,8 +4,10 @@ import { logSampleHeader, handleError, finish, logStep } from "./Shared/handleEr // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { CosmosClient } from "../dist"; -import { endpoint, key, database as databaseId, container as containerId } from "./Shared/config"; -import { v4 as uuid } from "uuid"; +import { v4 } from "uuid"; +const uuid = v4 + +const { database: databaseId, container: containerId, COSMOS_ENDPOINT: endpoint, COSMOS_KEY: key } = process.env logSampleHeader("Bulk Update Using Stored Procedures"); // Only to make TypeScript happy diff --git a/sdk/cosmosdb/cosmos/samples/src/ChangeFeed.ts b/sdk/cosmosdb/cosmos/samples/src/ChangeFeed.ts new file mode 100644 index 000000000000..9532ca41d66d --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/src/ChangeFeed.ts @@ -0,0 +1,158 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { finish, handleError, logSampleHeader } from "./Shared/handleError"; +import { CosmosClient } from "../../dist-esm"; + +const { database: databaseId, container: containerId, COSMOS_ENDPOINT: endpoint, COSMOS_KEY: key } = process.env + +logSampleHeader("Change Feed"); +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// We'll use the same pk value for all these samples +const pk = "0"; + +function doesMatch(actual: any[], expected: any[]): string { + for (let i = 0; i < actual.length; i++) { + if (actual[i] !== expected[i]) { + return "❌"; + } + } + return "✅"; +} + +function logResult(scenario: string, actual: any[], expected: any[]): void { + const status = doesMatch(actual, expected); + console.log( + ` ${status} ${scenario} - expected: [${expected.join(", ")}] - actual: [${actual.join(", ")}]` + ); +} + +async function run(): Promise { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + const { container } = await database.containers.createIfNotExists({ + id: containerId, + partitionKey: { paths: ["/pk"] } + }); + + try { + console.log(` +✨✨✨ Change Feed Samples ✨✨✨ + + There are 4 scenarios for change feed: + 1. Start from a specific continuation + 2. Start from a specific point in time + 3. Start from the beginning + 4. Start from now + + All 4 scenarios will eventually catch up to each other if read for long enough + + In this sample, we expect the scenario to see the following items, by id: + 1. [3] + 2. [2, 3] + 3. [1, 2, 3] + 4. [] + + After we've read to this point, if we insert a new item id 4, we expect all of them to see it, since they will all be caught up. +`); + + console.log("📢 Phase 1: All scenarios see different results "); + + await container.items.create({ id: "1", pk }); + console.log(" 👉 Inserted id=1"); + + const now = new Date(); + console.log(" 👉 Saved timestamp for the specific point in time scenario"); + const { headers } = await container.items.create({ id: "2", pk }); + const lsn = headers["lsn"]; + console.log(` 👉 Inserted id=2 after timestamp with LSN of ${lsn}`); + + await container.items.create({ id: "3", pk }); + + console.log(` 👉 Inserted id=3`); + + const specificContinuationIterator = container.items.changeFeed(pk, { + continuation: lsn.toString() + }); + const specificPointInTimeIterator = container.items.changeFeed(pk, { startTime: now }); + const fromBeginningIterator = container.items.changeFeed(pk, { startFromBeginning: true }); + const fromNowIterator = container.items.changeFeed(pk, {}); + + const { result: specificContinuationResult } = await specificContinuationIterator.fetchNext(); + + logResult( + "initial specific Continuation scenario", + [3], + specificContinuationResult.map((v: any) => parseInt(v.id)) + ); + + // First page is empty. It is catching up to a valid continuation. + const { result: shouldBeEmpty } = await specificPointInTimeIterator.fetchNext(); + logResult( + "initial specific point in time scenario should be empty while it finds the right continuation", + [], + shouldBeEmpty.map((v: any) => parseInt(v.id)) + ); + // Second page should have results + const { result: specificPointInTimeResults } = await specificPointInTimeIterator.fetchNext(); + logResult( + "second specific point in time scenario should have caught up now", + [2, 3], + specificPointInTimeResults.map((v: any) => parseInt(v.id)) + ); + + const { result: fromBeginningResults } = await fromBeginningIterator.fetchNext(); + logResult( + "initial from beginning scenario", + [1, 2, 3], + fromBeginningResults.map((v: any) => parseInt(v.id)) + ); + + const { result: fromNowResultsShouldBeEmpty } = await fromNowIterator.fetchNext(); + logResult( + "initial from now scenario should be empty", + [], + fromNowResultsShouldBeEmpty.map((v: any) => parseInt(v.id)) + ); + + // Now they should all be caught up to the point after id=3, so if we insert a id=4, they should all get it. + console.log("📢 Phase 2: All scenarios are caught up and should see the same results"); + + await container.items.create({ id: "4", pk }); + console.log(" 👉 Inserting id=4 - all scenarios should see this"); + + const { result: specificContinuationResult2 } = await specificContinuationIterator.fetchNext(); + logResult( + "after insert, Specific Continuation scenario", + [4], + specificContinuationResult2.map((v: any) => parseInt(v.id)) + ); + + const { result: specificPointInTimeResults2 } = await specificPointInTimeIterator.fetchNext(); + logResult( + "after insert, specific point in time scenario", + [4], + specificPointInTimeResults2.map((v: any) => parseInt(v.id)) + ); + + const { result: fromBeginningResults2 } = await fromBeginningIterator.fetchNext(); + logResult( + "after insert, from beginning scenario", + [4], + fromBeginningResults2.map((v: any) => parseInt(v.id)) + ); + + const { result: fromNowResults2 } = await fromNowIterator.fetchNext(); + logResult( + "after insert, from now scenario", + [4], + fromNowResults2.map((v: any) => parseInt(v.id)) + ); + } catch (err) { + handleError(err); + } finally { + await finish(); + } +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/ContainerManagement.ts b/sdk/cosmosdb/cosmos/samples/src/ContainerManagement.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/ContainerManagement.ts rename to sdk/cosmosdb/cosmos/samples/src/ContainerManagement.ts diff --git a/sdk/cosmosdb/cosmos/samples/DatabaseManagement.ts b/sdk/cosmosdb/cosmos/samples/src/DatabaseManagement.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/DatabaseManagement.ts rename to sdk/cosmosdb/cosmos/samples/src/DatabaseManagement.ts diff --git a/sdk/cosmosdb/cosmos/samples/IndexManagement.ts b/sdk/cosmosdb/cosmos/samples/src/IndexManagement.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/IndexManagement.ts rename to sdk/cosmosdb/cosmos/samples/src/IndexManagement.ts diff --git a/sdk/cosmosdb/cosmos/samples/ItemManagement.ts b/sdk/cosmosdb/cosmos/samples/src/ItemManagement.ts similarity index 97% rename from sdk/cosmosdb/cosmos/samples/ItemManagement.ts rename to sdk/cosmosdb/cosmos/samples/src/ItemManagement.ts index de87dc6b22f0..817b03aedca3 100644 --- a/sdk/cosmosdb/cosmos/samples/ItemManagement.ts +++ b/sdk/cosmosdb/cosmos/samples/src/ItemManagement.ts @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { logSampleHeader, handleError, finish, logStep } from "./Shared/handleError"; -import { CosmosClient } from "../dist"; +import { CosmosClient } from "../../dist-esm"; import { endpoint, key, database as databaseId, container as containerId } from "./Shared/config"; import { readFileSync } from "fs"; logSampleHeader("Item Management"); -const itemDefs = JSON.parse(readFileSync("./Shared/Data/Families.json", "utf8")).Families; +const itemDefs = JSON.parse(readFileSync("../Shared/Data/Families.json", "utf8")).Families; // Establish a new instance of the CosmosClient to be used throughout this demo const client = new CosmosClient({ endpoint, key }); diff --git a/sdk/cosmosdb/cosmos/samples/QueryThroughput/alterQueryThroughput.ts b/sdk/cosmosdb/cosmos/samples/src/QueryThroughput/alterQueryThroughput.ts similarity index 99% rename from sdk/cosmosdb/cosmos/samples/QueryThroughput/alterQueryThroughput.ts rename to sdk/cosmosdb/cosmos/samples/src/QueryThroughput/alterQueryThroughput.ts index 14c438316c2c..7372379382b2 100644 --- a/sdk/cosmosdb/cosmos/samples/QueryThroughput/alterQueryThroughput.ts +++ b/sdk/cosmosdb/cosmos/samples/src/QueryThroughput/alterQueryThroughput.ts @@ -8,7 +8,7 @@ import { ContainerDefinition, DatabaseDefinition, FeedResponse -} from "../../dist"; +} from "../../../dist-esm"; import { database as databaseId, container as containerId, endpoint, key } from "../Shared/config"; logSampleHeader("Alter Query Throughput"); diff --git a/sdk/cosmosdb/cosmos/samples/QueryThroughput/queryThroughput.js b/sdk/cosmosdb/cosmos/samples/src/QueryThroughput/queryThroughput.js similarity index 97% rename from sdk/cosmosdb/cosmos/samples/QueryThroughput/queryThroughput.js rename to sdk/cosmosdb/cosmos/samples/src/QueryThroughput/queryThroughput.js index 3545c6f25aef..f123d1cce945 100644 --- a/sdk/cosmosdb/cosmos/samples/QueryThroughput/queryThroughput.js +++ b/sdk/cosmosdb/cosmos/samples/src/QueryThroughput/queryThroughput.js @@ -1,6 +1,6 @@ //@ts-check -const { CosmosClient } = require("../.."); +const { CosmosClient } = require("../../../dist"); const endpoint = process.env.QUERY_SCENARIO_COSMOS_ENDPOINT || process.env.COSMOS_ENDPOINT; const key = process.env.QUERY_SCENARIO_COSMOS_KEY || process.env.COSMOS_KEY; diff --git a/sdk/cosmosdb/cosmos/samples/SasToken/SasTokenAuth.ts b/sdk/cosmosdb/cosmos/samples/src/SasTokenAuth.ts similarity index 97% rename from sdk/cosmosdb/cosmos/samples/SasToken/SasTokenAuth.ts rename to sdk/cosmosdb/cosmos/samples/src/SasTokenAuth.ts index 2b133f9f5092..1a9d1f914bd5 100644 --- a/sdk/cosmosdb/cosmos/samples/SasToken/SasTokenAuth.ts +++ b/sdk/cosmosdb/cosmos/samples/src/SasTokenAuth.ts @@ -4,7 +4,7 @@ import { SasTokenProperties } from "../../dist-esm/client/SasToken/SasTokenProperties"; import { SasTokenPermissionKind } from "../../dist-esm/common/constants"; import { createAuthorizationSasToken } from "../../dist-esm/utils/SasToken" -import { handleError, finish, logStep } from "../Shared/handleError"; +import { handleError, finish, logStep } from "./Shared/handleError"; import { CosmosClient } from "../../dist-esm/CosmosClient"; const endpoint = "your-endpoint"; diff --git a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/index.ts b/sdk/cosmosdb/cosmos/samples/src/ServerSideScripts/index.ts similarity index 97% rename from sdk/cosmosdb/cosmos/samples/ServerSideScripts/index.ts rename to sdk/cosmosdb/cosmos/samples/src/ServerSideScripts/index.ts index c92e651150fd..38638bf00641 100644 --- a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/index.ts +++ b/sdk/cosmosdb/cosmos/samples/src/ServerSideScripts/index.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { logSampleHeader, logStep, finish, handleError } from "../Shared/handleError"; import { endpoint, key, database as databaseId, container as containerId } from "../Shared/config"; -import { CosmosClient } from "../../dist"; +import { CosmosClient } from "../../../dist-esm"; logSampleHeader("Server Side Scripts"); diff --git a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/upsert.js b/sdk/cosmosdb/cosmos/samples/src/ServerSideScripts/upsert.js similarity index 100% rename from sdk/cosmosdb/cosmos/samples/ServerSideScripts/upsert.js rename to sdk/cosmosdb/cosmos/samples/src/ServerSideScripts/upsert.js diff --git a/sdk/cosmosdb/cosmos/samples/src/Shared/Data/Families.json b/sdk/cosmosdb/cosmos/samples/src/Shared/Data/Families.json new file mode 100644 index 000000000000..73a534f6b771 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/src/Shared/Data/Families.json @@ -0,0 +1,188 @@ +{ + "Families": [ + { + "id": "AndersenFamily", + "lastName": "Andersen", + "parents": [ + { + "firstName": "Thomas" + }, + { + "firstName": "Mary Kay" + } + ], + "children": [ + { + "firstName": "Henriette Thaulow", + "gender": "female", + "grade": 5, + "pets": [ + { + "givenName": "Fluffy" + } + ] + } + ], + "address": { + "state": "CA", + "county": "Orange", + "city": "Los Angeles", + "zip" : 90210 + }, + "isRegistered": true + }, + { + "id": "KinDocument", + "familyName": "Kin", + "parents": [ + { + "givenName": "Tatsunari" + } + ], + "address": { + "state": "WA", + "county": "King", + "city": "Redmond", + "zip": 98052 + } + }, + { + "id": "MeyerAndFamily", + "lastName": "Meyer", + "parents": [ + { + "firstName": "April", + "pets": [ + { + "givenName": "Wheeler" + } + ] + } + ], + "children": [ + { + "firstName": "Chris", + "gender": "male" + } + ], + "address": { + "state": "WA", + "county": "King", + "city": "Kirkland", + "zip": 98033 + } + }, + { + "id": "TheAlexanders", + "familyName": "Alexander", + "parents": [ + { + "givenName": "David" + } + ], + "children": [ + { + "givenName": "Michael", + "gender": "male", + "grade": 6 + } + ], + "address": { + "state": "WA", + "county": "King", + "city": "Kirkland", + "zip": 98033 + } + }, + { + "id": "TheSmiths", + "familyName": "Smith", + "parents": [ + { + "givenName": "Tony" + }, + { + "givenName": "Denise", + "pets": [ + { + "givenName": "Chewy" + } + ] + } + ], + "children": [ + { + "givenName": "Jeff", + "gender": "male", + "grade": 2 + }, + { + "givenName": "Ben", + "gender": "male", + "grade": 5 + }, + { + "givenName": "Samantha", + "gender": "female", + "grade": 9 + } + ], + "address": { + "state": "NY", + "county": "Bronx", + "city": "The Bronx", + "zip": 10453 + } + }, + { + "id": "WakefieldFamily", + "parents": [ + { + "familyName": "Wakefield", + "givenName": "Robin" + }, + { + "familyName": "Miller", + "givenName": "Ben" + } + ], + "children": [ + { + "familyName": "Merriam", + "givenName": "Jesse", + "gender": "female", + "grade": 1, + "pets": [ + { + "givenName": "Goofy" + }, + { + "givenName": "Shadow" + } + ] + }, + { + "familyName": "Miller", + "givenName": "Lisa", + "gender": "female", + "grade": 8 + } + ], + "address": { + "state": "FL", + "city": "Miami", + "zip": 33011 + }, + "isRegistered": false + }, + { + "id": "AdamsFamily", + "address": { + "state": "FL", + "city": "Miami", + "zip": 33002 + } + } + ] +} + diff --git a/sdk/cosmosdb/cosmos/samples/Shared/config.ts b/sdk/cosmosdb/cosmos/samples/src/Shared/config.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/Shared/config.ts rename to sdk/cosmosdb/cosmos/samples/src/Shared/config.ts diff --git a/sdk/cosmosdb/cosmos/samples/Shared/handleError.ts b/sdk/cosmosdb/cosmos/samples/src/Shared/handleError.ts similarity index 100% rename from sdk/cosmosdb/cosmos/samples/Shared/handleError.ts rename to sdk/cosmosdb/cosmos/samples/src/Shared/handleError.ts diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/AADAuth.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/AADAuth.js new file mode 100644 index 000000000000..5f76a2b6fe95 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/AADAuth.js @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Uses AAD credentials to authenticate with the CosmosClient. + */ + +const path = require("path"); +require("dotenv").config(); + +const { UsernamePasswordCredential } = require("@azure/identity"); +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +const { CosmosClient } = require("../dist"); +const { handleError, finish, logStep } = require("./Shared/handleError"); + +const endpoint = "your-endpoint"; +const masterKey = "your-master-key"; +const existingContainerId = "your-container-id"; + +async function run() { + logStep("Create credential object from @azure/identity"); + const credentials = new UsernamePasswordCredential( + "fake-tenant-id", + "fake-client-id", + "fakeUsername", + "fakePassword" + ); + logStep("Pass credentials to client object with key aadCredentials"); + const aadClient = new CosmosClient({ + endpoint, + aadCredentials: credentials + }); + + const genericClient = new CosmosClient({ + endpoint, + key: masterKey + }); + + logStep( + "Only certain operations are authorized. Reading databases/containers will throw errors, but reading items will work" + ); + + // fails + await aadClient.databases.readAll({}).fetchAll(); + // succeeds + await genericClient.databases.readAll({}).fetchAll(); + + // succeeds + await aadClient + .database("example") + .container(existingContainerId) + .items.readAll(); + // succeeds + await genericClient + .database("example") + .container(existingContainerId) + .items.readAll(); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/AlterQueryThroughput.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/AlterQueryThroughput.js new file mode 100644 index 000000000000..9e5a19d99e36 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/AlterQueryThroughput.js @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Updates a container offer to change query throughput. + */ + +const path = require("path"); +require("dotenv").config(); + +const { finish, handleError, logStep, logSampleHeader } = require("./Shared/handleError"); +const { CosmosClient } = require("../dist-esm"); +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Alter Query Throughput"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// ensuring a database exists for us to work with +async function run() { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + logStep(`Create container with id : ${containerId}`); + await database.containers.createIfNotExists({ id: containerId }); + + logStep("Read all offers issued"); + const { resources: offers } = await client.offers.readAll().fetchAll(); + + const newRups = 700; + await asyncForEach(offers, async (offerDefinition) => { + await updateOfferForCollection(newRups, databaseId, containerId, offerDefinition); + }); + + logStep("Read all containers in database"); + const iterator = database.containers.readAll(); + const { resources: containersList } = await iterator.fetchAll(); + console.log(" --- Priting via iterator.fetchAll()"); + console.log(containersList); + + logStep("Read container definition"); + const container = database.container(containerId); + const { resource: containerDef } = await container.read(); + console.log(`Container with url "${container.url}" was found its id is "${containerDef.id}`); + + logStep(`Delete container ${containerDef.id}`); + await container.delete(); + await finish(); +} + +run().catch(handleError); + +async function updateOfferForCollection(newRups, dbName, collectionName, oldOfferDefinition) { + if (!oldOfferDefinition || !oldOfferDefinition.content) throw "found invalid offer"; + const newOfferDefinition = { + ...oldOfferDefinition, + content: { + offerThroughput: newRups, + offerIsRUPerMinuteThroughputEnabled: + oldOfferDefinition.content.offerIsRUPerMinuteThroughputEnabled + }, + offerVersion: "V2" + }; + + logStep("Read all databases"); + const { resources: databases } = await client.databases.readAll().fetchAll(); + + logStep("Read corresponding containers"); + const containerResponses = await Promise.all( + databases + .filter((database) => database.id === dbName) + .map((database) => { + return client + .database(database.id) + .containers.readAll() + .fetchAll(); + }) + ); + + const flat = (nestedArrays) => [].concat(...nestedArrays); + + const containers = flat(containerResponses.map((response) => response.resources)); + + logStep("Finding container to offerDefinition"); + const container = containers.find( + (containerParam) => + containerParam._rid === oldOfferDefinition.offerResourceId && + containerParam.id === collectionName + ); + + if (container) { + const offer = client.offer(oldOfferDefinition.id); + logStep("replace old offer with new offer"); + await offer.replace(newOfferDefinition); + } +} + +async function asyncForEach(array, callback) { + for (let index = 0; index < array.length; index++) { + await callback(array[index]); + } +} diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/Bulk.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/Bulk.js new file mode 100644 index 000000000000..642c9e5a2ad6 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/Bulk.js @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Shows a simple bulk call with each BulkOperation type. + */ + +const path = require("path"); +require("dotenv").config(); + +const { handleError, finish, logStep } = require("./Shared/handleError"); +const { BulkOperationType } = require("../src"); +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +const { CosmosClient } = require("../dist"); + +const endpoint = process.env.COSMOS_ENDPOINT; +const masterKey = process.env.COSMOS_KEY; + +function addEntropy(name) { + return name + getEntropy(); +} + +function getEntropy() { + return `${Math.floor(Math.random() * 10000)}`; +} + +async function run() { + const containerId = "bulkContainerV2"; + const client = new CosmosClient({ + key: masterKey, + endpoint: endpoint + }); + const { database } = await client.databases.create({ id: addEntropy("bulk db") }); + logStep(`Create multi-partition container '${containerId}' with partition key /key`); + const { container: v2Container } = await database.containers.create({ + id: containerId, + partitionKey: { + paths: ["/key"], + version: 2 + }, + throughput: 25100 + }); + + const readItemId = addEntropy("item1"); + const deleteItemId = addEntropy("item2"); + const replaceItemId = addEntropy("item3"); + logStep( + `Create items ${readItemId}, ${deleteItemId}, ${replaceItemId} for reading, deleting and replacing` + ); + await v2Container.items.create({ + id: readItemId, + key: true, + class: "2010" + }); + await v2Container.items.create({ + id: deleteItemId, + key: {}, + class: "2011" + }); + await v2Container.items.create({ + id: replaceItemId, + key: 5, + class: "2012" + }); + + const operations = [ + { + operationType: BulkOperationType.Create, + partitionKey: "A", + resourceBody: { id: addEntropy("doc1"), name: "sample", key: "A" } + }, + { + operationType: BulkOperationType.Upsert, + partitionKey: "U", + resourceBody: { name: "other", key: "U" } + }, + { + operationType: BulkOperationType.Read, + id: readItemId, + partitionKey: true + }, + { + operationType: BulkOperationType.Delete, + id: deleteItemId, + partitionKey: {} + }, + { + operationType: BulkOperationType.Replace, + partitionKey: 5, + id: replaceItemId, + resourceBody: { id: replaceItemId, name: "nice", key: 5 } + } + ]; + logStep(`Execute a simple bulk request with 5 operations: Create, Upsert, Read, Delete, Replace`); + logStep("Bulk Operations Input to 'container.items.bulk(operations):'"); + console.log(operations); + const response = await v2Container.items.bulk(operations); + logStep("Bulk response:"); + console.log(response); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/BulkUpdateWithSproc.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/BulkUpdateWithSproc.js new file mode 100644 index 000000000000..abab8b28f6a5 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/BulkUpdateWithSproc.js @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Bulk Updates documents with a Stored Procedure. Prefer `container.items().bulk()` to this behavior. + */ + +const path = require("path"); +require("dotenv").config(); + +const { logSampleHeader, handleError, finish, logStep } = require("./Shared/handleError"); +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +const { CosmosClient } = require("../dist"); +const { v4 } = require("uuid"); +const uuid = v4; + +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Bulk Update Using Stored Procedures"); +// Only to make TypeScript happy +let getContext; + +function body(continuation) { + const collection = getContext().getCollection(); + const response = getContext().getResponse(); + const responseBody = { updatedDocumentIds: [] }; // Setup Initial Response + + // Find all documents that need to be updated + collection.queryDocuments( + collection.getSelfLink(), + "SELECT * FROM root r", + { pageSize: 2, continuation }, // Setting this low to show how continuation tokens work + function(err, feed, options) { + if (err) throw err; + // Set continuation token on response if we get one + responseBody.continuation = options.continuation; + // Update this batch of documents + updateDocs(feed, responseBody); + } + ); + + function updateDocs(documents, responseBodyParam) { + if (documents.length === 0) { + // If no documents are left to update, we are done + response.setBody(responseBodyParam); + } else { + // Grab the next document to update + const document = documents.pop(); + document.state = "open"; + collection.replaceDocument(document._self, document, {}, function(err) { + if (err) throw err; + // If we have successfully updated the document, include it in the returned document ids + responseBodyParam.updatedDocumentIds.push(document.id); + // Call update with remaining documents + updateDocs(documents, responseBodyParam); + }); + } + } +} + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run() { + // ensuring a database & container exists for us to work with + logStep("Create database '" + databaseId + "' and container '" + containerId + "'"); + const { database } = await client.databases.createIfNotExists({ id: databaseId }, {}); + const { container } = await database.containers.createIfNotExists({ id: containerId }); + + logStep("Insert 20 items"); + + // Create 20 items with state set to "closed" + for (let index = 0; index < 20; index++) { + await container.items.create({ id: uuid(), state: "closed" }); + } + + logStep("Created stored procedure"); + const { storedProcedure } = await container.scripts.storedProcedures.create({ + id: "queryAndBulkUpdate", + body + }); + + logStep("Execute stored procedure and follow continuation tokens"); + let continuation = undefined; + let totalUpdatedDocuments = 0; + for (;;) { + const response = await storedProcedure.execute(undefined, [continuation]); + const result = response.resource; + totalUpdatedDocuments = totalUpdatedDocuments + result.updatedDocumentIds.length; + console.log(`Updated Documents: ${result.updatedDocumentIds}`); + continuation = result.continuation; + if (!result.continuation) { + console.log("No continuation token! Updates complete"); + console.log(`Total Updated Document Count:`, totalUpdatedDocuments); + break; + } + } + await finish(); +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/ChangeFeed.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/ChangeFeed.js new file mode 100644 index 000000000000..763c94418e5f --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/ChangeFeed.js @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates using a ChangeFeed. + */ + +const path = require("path"); +require("dotenv").config(); + +const { finish, handleError, logSampleHeader } = require("./Shared/handleError"); +const { CosmosClient } = require("../dist-esm"); +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Change Feed"); +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// We'll use the same pk value for all these samples +const pk = "0"; + +function doesMatch(actual, expected) { + for (let i = 0; i < actual.length; i++) { + if (actual[i] !== expected[i]) { + return "❌"; + } + } + return "✅"; +} + +function logResult(scenario, actual, expected) { + const status = doesMatch(actual, expected); + console.log( + ` ${status} ${scenario} - expected: [${expected.join(", ")}] - actual: [${actual.join(", ")}]` + ); +} + +async function run() { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + const { container } = await database.containers.createIfNotExists({ + id: containerId, + partitionKey: { paths: ["/pk"] } + }); + + try { + console.log(` +✨✨✨ Change Feed Samples ✨✨✨ + + There are 4 scenarios for change feed: + 1. Start from a specific continuation + 2. Start from a specific point in time + 3. Start from the beginning + 4. Start from now + + All 4 scenarios will eventually catch up to each other if read for long enough + + In this sample, we expect the scenario to see the following items, by id: + 1. [3] + 2. [2, 3] + 3. [1, 2, 3] + 4. [] + + After we've read to this point, if we insert a new item id 4, we expect all of them to see it, since they will all be caught up. +`); + + console.log("📢 Phase 1: All scenarios see different results "); + + await container.items.create({ id: "1", pk }); + console.log(" 👉 Inserted id=1"); + + const now = new Date(); + console.log(" 👉 Saved timestamp for the specific point in time scenario"); + const { headers } = await container.items.create({ id: "2", pk }); + const lsn = headers["lsn"]; + console.log(` 👉 Inserted id=2 after timestamp with LSN of ${lsn}`); + + await container.items.create({ id: "3", pk }); + + console.log(` 👉 Inserted id=3`); + + const specificContinuationIterator = container.items.changeFeed(pk, { + continuation: lsn.toString() + }); + const specificPointInTimeIterator = container.items.changeFeed(pk, { startTime: now }); + const fromBeginningIterator = container.items.changeFeed(pk, { startFromBeginning: true }); + const fromNowIterator = container.items.changeFeed(pk, {}); + + const { result: specificContinuationResult } = await specificContinuationIterator.fetchNext(); + + logResult( + "initial specific Continuation scenario", + [3], + specificContinuationResult.map((v) => parseInt(v.id)) + ); + + // First page is empty. It is catching up to a valid continuation. + const { result: shouldBeEmpty } = await specificPointInTimeIterator.fetchNext(); + logResult( + "initial specific point in time scenario should be empty while it finds the right continuation", + [], + shouldBeEmpty.map((v) => parseInt(v.id)) + ); + // Second page should have results + const { result: specificPointInTimeResults } = await specificPointInTimeIterator.fetchNext(); + logResult( + "second specific point in time scenario should have caught up now", + [2, 3], + specificPointInTimeResults.map((v) => parseInt(v.id)) + ); + + const { result: fromBeginningResults } = await fromBeginningIterator.fetchNext(); + logResult( + "initial from beginning scenario", + [1, 2, 3], + fromBeginningResults.map((v) => parseInt(v.id)) + ); + + const { result: fromNowResultsShouldBeEmpty } = await fromNowIterator.fetchNext(); + logResult( + "initial from now scenario should be empty", + [], + fromNowResultsShouldBeEmpty.map((v) => parseInt(v.id)) + ); + + // Now they should all be caught up to the point after id=3, so if we insert a id=4, they should all get it. + console.log("📢 Phase 2: All scenarios are caught up and should see the same results"); + + await container.items.create({ id: "4", pk }); + console.log(" 👉 Inserting id=4 - all scenarios should see this"); + + const { result: specificContinuationResult2 } = await specificContinuationIterator.fetchNext(); + logResult( + "after insert, Specific Continuation scenario", + [4], + specificContinuationResult2.map((v) => parseInt(v.id)) + ); + + const { result: specificPointInTimeResults2 } = await specificPointInTimeIterator.fetchNext(); + logResult( + "after insert, specific point in time scenario", + [4], + specificPointInTimeResults2.map((v) => parseInt(v.id)) + ); + + const { result: fromBeginningResults2 } = await fromBeginningIterator.fetchNext(); + logResult( + "after insert, from beginning scenario", + [4], + fromBeginningResults2.map((v) => parseInt(v.id)) + ); + + const { result: fromNowResults2 } = await fromNowIterator.fetchNext(); + logResult( + "after insert, from now scenario", + [4], + fromNowResults2.map((v) => parseInt(v.id)) + ); + } catch (err) { + handleError(err); + } finally { + await finish(); + } +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/ContainerManagement.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/ContainerManagement.js new file mode 100644 index 000000000000..13e88a2b9c77 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/ContainerManagement.js @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates container create, read, delete and reading all containers belonging to a database. + */ + +const path = require("path"); +require("dotenv").config(); + +const { finish, handleError, logStep, logSampleHeader } = require("./Shared/handleError"); +const { CosmosClient } = require("../dist-esm"); +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Container Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// ensuring a database exists for us to work with +async function run() { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + logStep(`Create container with id : ${containerId}`); + await database.containers.createIfNotExists({ id: containerId }); + + logStep("Read all containers in database"); + const iterator = database.containers.readAll(); + const { resources: containersList } = await iterator.fetchAll(); + console.log(" --- Priting via iterator.fetchAll()"); + console.log(containersList); + + logStep("Read container definition"); + const container = database.container(containerId); + const { resource: containerDef } = await container.read(); + console.log(`Container with url "${container.url}" was found its id is "${containerDef.id}`); + + logStep(`Delete container ${containerDef.id}`); + await container.delete(); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/DatabaseManagement.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/DatabaseManagement.js new file mode 100644 index 000000000000..bb53ba87b4a3 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/DatabaseManagement.js @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates database create, read, delete and reading all databases. + */ + +const path = require("path"); +require("dotenv").config(); + +const { handleError, logStep, logSampleHeader, finish } = require("./Shared/handleError"); +const { CosmosClient } = require("../dist-esm"); +const assert = require("assert"); + +const { COSMOS_DATABASE: databaseId, COSMOS_ENDPOINT: endpoint, COSMOS_KEY: key } = process.env; + +logSampleHeader("Database Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run() { + logStep("Create database, if it doesn't already exist"); + await client.databases.createIfNotExists({ id: databaseId }); + console.log("Database with id " + databaseId + " created."); + + logStep("Read all databases"); + const { resources: dbDefList } = await client.databases.readAll().fetchAll(); + console.log(dbDefList); + + logStep("ReadDatabase with id '" + databaseId + "'"); + const { resource: dbDef } = await client.database(databaseId).read(); + // This uses Object deconstruction to just grab the body of the response, + // but you can also grab the whole response object to use + const databaseResponse = await client.database(databaseId).read(); + const alsoDbDef = databaseResponse.resource; + assert.equal(dbDef.id, alsoDbDef.id); // The bodies will also almost be equal, _ts will defer based on the read time + // This applies for all response types, not just DatabaseResponse. + + console.log("Database with id of " + dbDef.id + "' was found"); + + logStep("delete database with id '" + databaseId + "'"); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/IndexManagement.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/IndexManagement.js new file mode 100644 index 000000000000..a7d0585e1c7d --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/IndexManagement.js @@ -0,0 +1,231 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Shows various ways to manage indexing items or changing container index policies. + */ + +const path = require("path"); +require("dotenv").config(); + +const { logSampleHeader, handleError, finish, logStep } = require("./Shared/handleError"); +const { CosmosClient, IndexKind, DataType } = require("../dist-esm"); + +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Index Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run() { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + // We're using the default indexing policy because by default indexingMode == consistent & automatic == true + // which means that by default all items added to a container are indexed as the item is written + const { container, resource: containerDef } = await database.containers.createIfNotExists({ + id: containerId + }); + + logStep("Manually exclude an item from being indexed"); + console.log("create container with default index policy"); + + // We're using the default indexing policy because by default indexingMode == consistent & automatic == true + // which means that by default all items added to a container are indexed as the item is written + // One of items.create() options is indexingDirectives which can be include, or exclude + // We're using exclude this time to manually exclude this item from being indexed + console.log("Create item, but exclude from index"); + const { resource: itemDef, item } = await container.items.create( + { id: "item1", foo: "bar" }, + { indexingDirective: "exclude" } + ); + console.log("Item with id '" + itemDef.id + "' created"); + + const querySpec = { + query: "SELECT * FROM root r WHERE r.foo=@foo", + parameters: [ + { + name: "@foo", + value: "bar" + } + ] + }; + + console.log("Querying all items for the given item should not find any results"); + const { resources: results } = await container.items.query(querySpec).fetchAll(); + if (results.length !== 0) { + throw new Error("there were not meant to be results"); + } + console.log("No results found"); + + console.log("item.read() should still find the item"); + await item.read(); + console.log("item.read() found item"); + + logStep("Switch auto indexing off, and manually index item"); + console.log("Update container indexingPolicy.automatic : false"); + + const indexingPolicySpec = { automatic: false }; + + // Index transform is an async operation that is performed on a Container + // You can contiue to use the container while this is happening, but depending + // on the transform and your queries you may get inconsistent results as the index is updated + // In this case it will be almost instant because we only have one item + // but this can take some time on larger containers + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: indexingPolicySpec + }); + + // items.create() takes RequestOptions as 2nd parameter. + // One of these options is indexingDirectives which can be include, or exclude + // we're using include this time to manually index this particular item + console.log("Create item, and explicitly include in index"); + const { resource: itemDef2 } = await container.items.create( + { id: "item2", foo: "bar" }, + { indexingDirective: "include" } + ); + console.log("Item with id '" + itemDef2.id + "' created"); + + console.log("Querying all items for a given item should find a result as it was indexed"); + const { resources: results2 } = await container.items.query(querySpec).fetchAll(); + if (results2.length === 0) { + throw new Error("There were meant to be results"); + } else { + const fetchedItemDef = results2[0]; + console.log("Item with id '" + fetchedItemDef.id + "' found"); + } + + logStep("Create a range index on string path"); + // Azure Cosmos DB index knows about 3 datatypes - numbers, strings and geojson + // Next we are going to create a custom index policy which enables range index on a string path + + console.log("update container with range index on string paths"); + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: { + includedPaths: [ + { + path: "/*", + indexes: [ + { + kind: IndexKind.Range, + dataType: DataType.String + }, + { + kind: IndexKind.Range, + dataType: DataType.Number + } + ] + } + ] + } + }); + + console.log("Container '" + containerDef.id + "' updated with new index policy"); + + // create an item + console.log("Creating item"); + await container.items.create({ id: "item3", stringField: "a string value" }); + console.log("Item created"); + + console.log("Querying for item where stringField > 'a', should return results"); + // notice how we're switching to queryIterator.executeNext instead of calling .fetchAll() as before + // reason being, fetchAll will issue multiple requests to the server until it has fetched all results + // here we can control this using executeNext. + // now we can get the headers for each request which includes the charge, continuation tokens etc. + const queryIterator = container.items.query( + { + query: "SELECT * FROM root r WHERE r.stringField > @value", + parameters: [ + { + name: "@value", + value: "a" + } + ] + }, + { enableScanInQuery: true } + ); + const { resources: items, requestCharge } = await queryIterator.fetchNext(); + const itemDef3 = items[0]; + console.log("Item '" + itemDef3.id + "' found, request charge: " + requestCharge); + + logStep("Update index to exclude paths from indexing"); + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: { + // the special "/" must always be included somewhere. in this case we're including root + // and then excluding specific paths + includedPaths: [ + { + path: "/", + indexes: [ + { + kind: IndexKind.Range, + dataType: DataType.Number, + precision: 2 + } + ] + } + ], + excludedPaths: [ + { + path: "/metaData/*" + } + ] + } + }); + + console.log("Container '" + containerDef.id + "' updated with excludedPaths"); + // create an item + console.log("Creating item"); + const { item: item4 } = await container.items.create({ + id: "item4", + metaData: "meta", + subDoc: { + searchable: "searchable", + subSubDoc: { someProperty: "value" } + } + }); + + console.log("Item created"); + try { + // expecting an exception on this query due to the fact that it includes paths that + // have been excluded. If you want to force a scan, then enableScanInQuery + console.log("Querying for item where metaData = 'meta', should throw an exception"); + const result = await container.items + .query({ + query: "SELECT * FROM root r WHERE r.metaData = @value", + parameters: [ + { + name: "@value", + value: "meta" + } + ] + }) + .fetchAll(); + console.log(result.resources); + throw new Error("Should've produced an error"); + } catch (err) { + if (err.code !== undefined) { + console.log("Threw, as expected"); + } else { + throw err; + } + } + + // You can still read the item by its id + console.log("Can still item.read() using '" + item4.id + "'"); + await item.read(); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/ItemManagement.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/ItemManagement.js new file mode 100644 index 000000000000..e62125cb2979 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/ItemManagement.js @@ -0,0 +1,164 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates item creation, read, delete and reading all items belonging to a container. + */ + +const path = require("path"); +require("dotenv").config(); + +const { logSampleHeader, handleError, finish, logStep } = require("./Shared/handleError"); +const { readFileSync } = require("fs"); +const { CosmosClient } = require("../dist-esm"); +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Item Management"); + +const itemDefs = JSON.parse( + readFileSync(path.resolve(__dirname, "./Shared/Data/Families.json"), "utf8") +).Families; + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run() { + // ensuring a database & container exists for us to work with + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + const { container } = await database.containers.createIfNotExists({ id: containerId }); + + logStep("Insert items in to database '" + databaseId + "' and container '" + containerId + "'"); + + await Promise.all(itemDefs.map((itemDef) => container.items.create(itemDef))); + console.log(itemDefs.length + " items created"); + + logStep("List items in container '" + container.id + "'"); + const { resources: itemDefList } = await container.items.readAll().fetchAll(); + + for (const itemDef of itemDefList) { + console.log(itemDef.id); + } + + const item = container.item(itemDefList[0].id, undefined); + logStep("Read item '" + item.id + "'"); + const { resource: readDoc } = await item.read(); + console.log("item with id '" + item.id + "' found"); + + logStep("Read item with AccessCondition and no change to _etag"); + const { resource: item2, headers } = await item.read({ + accessCondition: { type: "IfNoneMatch", condition: readDoc._etag } + }); + if (!item2 && headers["content-length"] === 0) { + console.log( + "As expected, no item returned. This is because the etag sent matched the etag on the server. i.e. you have the latest version of the item already" + ); + } + + // if we someone else updates this item, its etag on the server would change. + // repeating the above read with the old etag would then get a item in the response + readDoc.foo = "bar"; + await item.replace(readDoc); + const { resource: item3, headers: headers3 } = await item.read({ + accessCondition: { type: "IfNoneMatch", condition: readDoc._etag } + }); + if (!item3 && headers3["content-length"] === 0) { + throw "Expected item this time. Something is wrong!"; + } else { + console.log( + "This time the read request returned the item because the etag values did not match" + ); + } + + const querySpec = { + query: "SELECT * FROM Families f WHERE f.lastName = @lastName", + parameters: [ + { + name: "@lastName", + value: "Andersen" + } + ] + }; + + logStep("Query items in container '" + container.id + "'"); + const { resources: results } = await container.items.query(querySpec).fetchAll(); + + if (results.length === 0) { + throw "No items found matching"; + } else if (results.length > 1) { + throw "More than 1 item found matching"; + } + + const person = results[0]; + console.log("The '" + person.id + "' family has lastName '" + person.lastName + "'"); + console.log("The '" + person.id + "' family has " + person.children.length + " children '"); + + // add a new child to this family, and change the family's lastName + const childDef = { + firstName: "Newborn", + gender: "unknown", + fingers: 10, + toes: 10 + }; + + person.children.push(childDef); + person.lastName = "Updated Family"; + + logStep("Replace item with id '" + item.id + "'"); + const { resource: updatedPerson } = await container.items.upsert(person); + + console.log("The '" + person.id + "' family has lastName '" + updatedPerson.lastName + "'"); + console.log( + "The '" + person.id + "' family has " + updatedPerson.children.length + " children '" + ); + + logStep("Trying to replace item when item has changed in the database"); + // The replace item above will work even if there's a new version of item on the server from what you originally read + // If you want to prevent this from happening you can opt-in to a conditional update + // Using accessCondition and etag you can specify that the replace only occurs if the etag you are sending matches the etag on the server + // i.e. Only replace if the item hasn't changed + + // let's go update item + person.foo = "bar"; + await item.replace(person); + + // now let's try another update to item with accessCondition and etag set + person.foo = "should never get set"; + try { + await item.replace(person, { accessCondition: { type: "IfMatch", condition: person._etag } }); + throw new Error("This should have failed!"); + } catch (err) { + if (err.code === 412) { + console.log("As expected, the replace item failed with a pre-condition failure"); + } else { + throw err; + } + } + + const upsertSource = itemDefList[1]; + logStep(`Upserting person ${upsertSource.id} with id ${upsertSource.id}...`); + + // a non-identity change will cause an update on upsert + upsertSource.foo = "baz"; + const { resource: upsertedPerson1 } = await container.items.upsert(upsertSource); + console.log(`Upserted ${upsertedPerson1.id} to id ${upsertedPerson1.id}.`); + + // an identity change will cause an insert on upsert + upsertSource.id = "HazzardFamily"; + const { resource: upsertedPerson2 } = await container.items.upsert(upsertSource); + console.log(`Upserted ${upsertedPerson2.id} to id ${upsertedPerson2.id}.`); + + if (upsertedPerson1.id === upsertedPerson2.id) { + throw new Error("These two upserted records should have different resource IDs."); + } + + logStep("Delete item '" + item.id + "'"); + await item.delete(); + + await finish(); +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/QueryThroughput.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/QueryThroughput.js new file mode 100644 index 000000000000..3bbdecdfff19 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/QueryThroughput.js @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates query throughput scenarios. + */ + +const path = require("path"); +require("dotenv").config(); + +const { CosmosClient } = require("../dist-esm"); + +const { + COSMOS_DATABASE: dbId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +async function run() { + const client = new CosmosClient({ + endpoint, + key + }); + + const query1 = "Select * from c order by c._ts"; + const query2 = "Select * from c"; + const query3 = "Select value count(c.id) from c"; + + const container = client.database(dbId).container(containerId); + const options = { + maxItemCount: 10000, + maxDegreeOfParallelism: 1000, + bufferItems: true + }; + + const scenarios = []; + scenarios.push({ container, query: query1, options }); + scenarios.push({ container, query: query2, options }); + scenarios.push({ container, query: query3, options }); + + for (const scenario of scenarios) { + try { + console.log("Scenario starting: " + scenario.query); + const start = Date.now(); + await runScenario(scenario.container, scenario.query, scenario.options); + console.log( + 'Scenario complete: "' + scenario.query + '" - took ' + (Date.now() - start) / 1000 + "s" + ); + } catch (e) { + console.log("Scenario failed: " + scenario.query + " - " + JSON.stringify(scenario.options)); + } + } +} + +async function runScenario(container, query, options) { + const queryIterator = container.items.query(query, options); + let count = 0; + while (queryIterator.hasMoreResults() && count <= 100000) { + const { resources: results } = await queryIterator.fetchNext(); + if (results !== undefined) { + count = count + results.length; + } + } +} + +run().catch(console.error); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/README.md b/sdk/cosmosdb/cosmos/samples/v3/javascript/README.md new file mode 100644 index 000000000000..cabc1f2acfa4 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/README.md @@ -0,0 +1,84 @@ +--- +page_type: sample +languages: + - javascript +products: + - azure-cosmos-db +urlFragment: cosmos-javascript +--- + +# Azure Cosmos DB client library samples for JavaScript + +These sample programs show how to use the JavaScript client libraries for Azure Cosmos DB in some common scenarios. + +| **File Name** | **Description** | +| ----------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| [AADAuth.js][aadauth] | Uses AAD credentials to authenticate with the CosmosClient. | +| [AlterQueryThroughput.js][alterquerythroughput] | Updates a container offer to change query throughput. | +| [Bulk.js][bulk] | Shows a simple bulk call with each BulkOperation type. | +| [BulkUpdateWithSproc.js][bulkupdatewithsproc] | Bulk Updates documents with a Stored Procedure. Prefer `container.items().bulk()` to this behavior. | +| [ChangeFeed.js][changefeed] | Demonstrates using a ChangeFeed. | +| [ContainerManagement.js][containermanagement] | Demonstrates container create, read, delete and reading all containers belonging to a database. | +| [DatabaseManagement.js][databasemanagement] | Demonstrates database create, read, delete and reading all databases. | +| [IndexManagement.js][indexmanagement] | Shows various ways to manage indexing items or changing container index policies. | +| [ItemManagement.js][itemmanagement] | Demonstrates item creation, read, delete and reading all items belonging to a container. | +| [QueryThroughput.js][querythroughput] | Demonstrates query throughput scenarios. | +| [SasTokenAuth.js][sastokenauth] | Demonstrates using SasTokens for granting scoped access to Cosmos resources. _Private feature_ | +| [ServerSideScripts.js][serversidescripts] | Demonstrates using stored procedures for server side run functions | + +## Prerequisites + +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). + +You need [an Azure subscription][freesub] and the following Azure resources to run these sample programs: + +- [Azure Cosmos DB account][createinstance_azurecosmosdbaccount] + +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 AADAuth.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 AADAuth.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[aadauth]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/AADAuth.js +[alterquerythroughput]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/AlterQueryThroughput.js +[bulk]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/Bulk.js +[bulkupdatewithsproc]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/BulkUpdateWithSproc.js +[changefeed]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/ChangeFeed.js +[containermanagement]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/ContainerManagement.js +[databasemanagement]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/DatabaseManagement.js +[indexmanagement]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/IndexManagement.js +[itemmanagement]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/ItemManagement.js +[querythroughput]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/QueryThroughput.js +[sastokenauth]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/SasTokenAuth.js +[serversidescripts]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/javascript/ServerSideScripts.js +[apiref]: https://docs.microsoft.com/javascript/api/@azure/cosmos +[freesub]: https://azure.microsoft.com/free/ +[createinstance_azurecosmosdbaccount]: https://docs.microsoft.com/azure/cosmos-db/how-to-manage-database-account#create-an-account +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/cosmosdb/cosmos/README.md diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/SasTokenAuth.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/SasTokenAuth.js new file mode 100644 index 000000000000..aaeabda70be7 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/SasTokenAuth.js @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates using SasTokens for granting scoped access to Cosmos resources. *Private feature* + */ + +const path = require("path"); +require("dotenv").config(); + +const { SasTokenPermissionKind } = require("../dist-esm/common/constants"); +const { createAuthorizationSasToken } = require("../dist-esm/utils/SasToken"); +const { handleError, finish, logStep } = require("./Shared/handleError"); +const { CosmosClient } = require("../dist-esm/CosmosClient"); + +const { COSMOS_ENDPOINT: endpoint, COSMOS_KEY: masterKey } = process.env; +const sasToken = "your-sas-token"; + +async function run() { + logStep("Create a SasToken object"); + + const sasTokenProperties = { + user: "your-user", + userTag: "your-userTag", + databaseName: "your-databaseName", + containerName: "your-containerName", + resourcePath: "your-resource-path", + partitionKeyValueRanges: [], + startTime: new Date(), + expiryTime: new Date(), + keyType: 0, + controlPlaneReaderScope: SasTokenPermissionKind.ContainerFullAccess, + controlPlaneWriterScope: 0, + dataPlaneReaderScope: SasTokenPermissionKind.ContainerFullAccess, + dataPlaneWriterScope: 0 + }; + + const key = await createAuthorizationSasToken(masterKey, sasTokenProperties); + + // If connecting to the Cosmos DB Emulator, disable TLS verification for your node process: + process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; + const client = new CosmosClient({ + endpoint, + key: key + }); + + const database = client.database(sasTokenProperties.databaseName); + const container = database.container(sasTokenProperties.containerName); + const newItem = { + id: "your-itemId", + category: "your-category", + name: "your-name", + description: "your-description", + isComplete: false + }; + + const querySpec = { + query: "SELECT * from c" + }; + + await container.items.create(newItem); + + // read all items in the Items container + const { resources: items } = await container.items.query(querySpec).fetchAll(); + + items.forEach((item) => { + console.log(`${item.id} - ${item.description}`); + }); + + await client.databases.readAll().fetchAll(); + + logStep("Fetch all databases using existing user token"); + const sasTokenClient = new CosmosClient({ + endpoint, + key: sasToken + }); + + logStep("Fetch all databases"); + await sasTokenClient.databases.readAll().fetchAll(); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/ServerSideScripts.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/ServerSideScripts.js new file mode 100644 index 000000000000..9619f745ec38 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/ServerSideScripts.js @@ -0,0 +1,141 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates using stored procedures for server side run functions + */ + +const path = require("path"); +require("dotenv").config(); + +const { logSampleHeader, logStep, finish, handleError } = require("./Shared/handleError"); +const { CosmosClient } = require("../dist-esm"); + +logSampleHeader("Server Side Scripts"); +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +// Establish a new instance of the DocumentDBClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// Execute the stored procedure with the following parameters. +const sprocParams = [ + { + id: "myDocument", + foo: "bar" + } +]; + +/** + * An Azure Cosmos DB stored procedure that upserts a given document (insert new or update if present) using its id property.
+ * This implementation tries to create, and if the create fails then query for the document with the specified document's id, then replace it. + * Use this sproc if creates are more common than replaces, otherwise use "upsertOptimizedForReplace" + * + * @function + * @param {Object} document - A document that should be upserted into this collection. + * @returns {Object.} Returns an object with the property:
+ * op - created (or) replaced. + */ +let getContext; +const sprocDefinition = { + id: "upsert", + body: function(document) { + const context = getContext(); + const collection = context.getCollection(); + const collectionLink = collection.getSelfLink(); + const response = context.getResponse(); + const errorCodes = { CONFLICT: 409 }; + + // Not checking for existence of document.id for compatibility with createDocument. + if (!document) throw new Error("The document is undefined or null."); + + tryCreate(document, callback); + + function tryCreate(doc, cback) { + const isAccepted = collection.createDocument(collectionLink, doc, cback); + if (!isAccepted) throw new Error("Unable to schedule create document"); + response.setBody({ op: "created" }); + } + + // To replace the document, first issue a query to find it and then call replace. + function tryReplace(doc, cback) { + retrieveDoc(doc, null, function(retrievedDocs) { + const isAccepted = collection.replaceDocument(retrievedDocs[0]._self, doc, cback); + if (!isAccepted) throw new Error("Unable to schedule replace document"); + response.setBody({ op: "replaced" }); + }); + } + + function retrieveDoc(doc, continuation, cback) { + const query = { + query: "select * from root r where r.id = @id", + parameters: [{ name: "@id", value: doc.id }] + }; + const requestOptions = { continuation: continuation }; + const isAccepted = collection.queryDocuments(collectionLink, query, requestOptions, function( + err, + retrievedDocs, + responseOptions + ) { + if (err) throw err; + + if (retrievedDocs.length > 0) { + cback(retrievedDocs); + } else if (responseOptions.continuation) { + // Conservative check for continuation. Not expected to hit in practice for the "id query" + retrieveDoc(doc, responseOptions.continuation, cback); + } else { + throw new Error("Error in retrieving document: " + doc.id); + } + }); + if (!isAccepted) throw new Error("Unable to query documents"); + } + + // This is called when collection.createDocument is done in order to + // process the result. + function callback(err) { + if (err) { + // Replace the document if status code is 409 and upsert is enabled + if (err.status === errorCodes.CONFLICT) { + return tryReplace(document, callback); + } else { + throw err; + } + } + } + } +}; + +async function run() { + const { database } = await client.databases.create({ id: databaseId }); + const { container } = await database.containers.create({ id: containerId }); + + logStep("Creating the sproc: '" + sprocDefinition.id + "'"); + + // Query for the stored procedure. + const { sproc } = await container.scripts.storedProcedures.create(sprocDefinition); + + logStep("Executing the sproc: '" + sproc.id + "'"); + console.log("Sproc parameters: " + JSON.stringify(sprocParams)); + + const { resource: results, headers } = await sproc.execute(undefined, sprocParams); + + console.log("//////////////////////////////////"); + if (headers) { + console.log("// responseHeaders"); + console.log(headers); + } + if (results) { + console.log("// results"); + console.log(results); + } + console.log("//////////////////////////////////"); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/Shared/handleError.js b/sdk/cosmosdb/cosmos/samples/v3/javascript/Shared/handleError.js new file mode 100644 index 000000000000..630386ec3324 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/Shared/handleError.js @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +const path = require("path"); +require("dotenv").config(); + +const { CosmosClient } = require("../../dist-esm"); + +const { COSMOS_DATABASE: database, COSMOS_KEY: key, COSMOS_ENDPOINT: endpoint } = process.env; +const client = new CosmosClient({ endpoint, key }); + +export async function handleError(error) { + console.log("\nAn error with code '" + error.code + "' has occurred:"); + console.log(error); + await finish(); + process.exitCode = 1; +} + +export async function finish() { + try { + await client.database(database).delete(); + console.log("\nEnd of demo."); + } catch (err) { + console.log( + `Database: "${database}" might not have deleted properly. You might need to delete it manually.` + ); + process.exitCode = 1; + } +} + +let currentStep = 0; +export function logStep(message) { + currentStep++; + console.log(`\n${currentStep}: ${message}`); +} + +export function logSampleHeader(sampleName) { + console.log("Azure Cosmos DB Node.js Samples"); + console.log("================================"); + console.log(sampleName); + console.log("================================"); +} diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/package.json b/sdk/cosmosdb/cosmos/samples/v3/javascript/package.json new file mode 100644 index 000000000000..ba8488c3f782 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/package.json @@ -0,0 +1,37 @@ +{ + "name": "azure-cosmos-samples-js", + "private": true, + "version": "1.0.0", + "description": "Azure Cosmos DB client library samples for JavaScript", + "engines": { + "node": ">=12.0.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Azure/azure-sdk-for-js.git", + "directory": "sdk/cosmosdb/cosmos" + }, + "keywords": [ + "cosmosdb", + "cosmos db", + "documentdb", + "document database", + "azure", + "nosql", + "database", + "cloud", + "azure" + ], + "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/cosmosdb/cosmos", + "dependencies": { + "@azure/cosmos": "latest", + "dotenv": "latest", + "@azure/identity": "^1.1.0", + "uuid": "^8.3.0" + } +} diff --git a/sdk/cosmosdb/cosmos/samples/v3/javascript/sample.env b/sdk/cosmosdb/cosmos/samples/v3/javascript/sample.env new file mode 100644 index 000000000000..2df55cdc9779 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/javascript/sample.env @@ -0,0 +1,5 @@ +COSMOS_KEY=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== +COSMOS_ENDPOINT=https://localhost:8081/ +COSMOS_DATABASE=NodeSamples +COSMOS_CONTAINER=Data +NODE_TLS_REJECT_UNAUTHORIZED=0 \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/README.md b/sdk/cosmosdb/cosmos/samples/v3/typescript/README.md new file mode 100644 index 000000000000..173f9b305e4d --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/README.md @@ -0,0 +1,97 @@ +--- +page_type: sample +languages: + - typescript +products: + - azure-cosmos-db +urlFragment: cosmos-typescript +--- + +# Azure Cosmos DB client library samples for TypeScript + +These sample programs show how to use the TypeScript client libraries for Azure Cosmos DB in some common scenarios. + +| **File Name** | **Description** | +| ----------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| [AADAuth.ts][aadauth] | Uses AAD credentials to authenticate with the CosmosClient. | +| [AlterQueryThroughput.ts][alterquerythroughput] | Updates a container offer to change query throughput. | +| [Bulk.ts][bulk] | Shows a simple bulk call with each BulkOperation type. | +| [BulkUpdateWithSproc.ts][bulkupdatewithsproc] | Bulk Updates documents with a Stored Procedure. Prefer `container.items().bulk()` to this behavior. | +| [ChangeFeed.ts][changefeed] | Demonstrates using a ChangeFeed. | +| [ContainerManagement.ts][containermanagement] | Demonstrates container create, read, delete and reading all containers belonging to a database. | +| [DatabaseManagement.ts][databasemanagement] | Demonstrates database create, read, delete and reading all databases. | +| [IndexManagement.ts][indexmanagement] | Shows various ways to manage indexing items or changing container index policies. | +| [ItemManagement.ts][itemmanagement] | Demonstrates item creation, read, delete and reading all items belonging to a container. | +| [QueryThroughput.ts][querythroughput] | Demonstrates query throughput scenarios. | +| [SasTokenAuth.ts][sastokenauth] | Demonstrates using SasTokens for granting scoped access to Cosmos resources. _Private feature_ | +| [ServerSideScripts.ts][serversidescripts] | Demonstrates using stored procedures for server side run functions | + +## 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] and the following Azure resources to run these sample programs: + +- [Azure Cosmos DB account][createinstance_azurecosmosdbaccount] + +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/AADAuth.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/AADAuth.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[aadauth]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/AADAuth.ts +[alterquerythroughput]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/AlterQueryThroughput.ts +[bulk]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/Bulk.ts +[bulkupdatewithsproc]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/BulkUpdateWithSproc.ts +[changefeed]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ChangeFeed.ts +[containermanagement]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ContainerManagement.ts +[databasemanagement]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/DatabaseManagement.ts +[indexmanagement]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/IndexManagement.ts +[itemmanagement]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ItemManagement.ts +[querythroughput]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/QueryThroughput.ts +[sastokenauth]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/SasTokenAuth.ts +[serversidescripts]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ServerSideScripts.ts +[apiref]: https://docs.microsoft.com/javascript/api/@azure/cosmos +[freesub]: https://azure.microsoft.com/free/ +[createinstance_azurecosmosdbaccount]: https://docs.microsoft.com/azure/cosmos-db/how-to-manage-database-account#create-an-account +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/cosmosdb/cosmos/README.md +[typescript]: https://www.typescriptlang.org/docs/home.html diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/package.json b/sdk/cosmosdb/cosmos/samples/v3/typescript/package.json new file mode 100644 index 000000000000..51e95e835409 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/package.json @@ -0,0 +1,46 @@ +{ + "name": "azure-cosmos-samples-ts", + "private": true, + "version": "1.0.0", + "description": "Azure Cosmos DB client library samples for TypeScript", + "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/cosmosdb/cosmos" + }, + "keywords": [ + "cosmosdb", + "cosmos db", + "documentdb", + "document database", + "azure", + "nosql", + "database", + "cloud", + "azure" + ], + "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/cosmosdb/cosmos", + "dependencies": { + "@azure/cosmos": "latest", + "dotenv": "latest", + "@azure/identity": "^1.1.0", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@types/uuid": "^8.0.0", + "typescript": "~4.2.0", + "rimraf": "latest" + } +} diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/sample.env b/sdk/cosmosdb/cosmos/samples/v3/typescript/sample.env new file mode 100644 index 000000000000..2df55cdc9779 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/sample.env @@ -0,0 +1,5 @@ +COSMOS_KEY=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== +COSMOS_ENDPOINT=https://localhost:8081/ +COSMOS_DATABASE=NodeSamples +COSMOS_CONTAINER=Data +NODE_TLS_REJECT_UNAUTHORIZED=0 \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/AADAuth.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/AADAuth.ts new file mode 100644 index 000000000000..5c4ca5b2b6a6 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/AADAuth.ts @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Uses AAD credentials to authenticate with the CosmosClient. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { UsernamePasswordCredential } from "@azure/identity"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { CosmosClient } from "../dist"; +import { handleError, finish, logStep } from "./Shared/handleError"; + +const endpoint = "your-endpoint"; +const masterKey = "your-master-key"; +const existingContainerId = "your-container-id"; + +async function run() { + logStep("Create credential object from @azure/identity"); + const credentials = new UsernamePasswordCredential( + "fake-tenant-id", + "fake-client-id", + "fakeUsername", + "fakePassword" + ); + logStep("Pass credentials to client object with key aadCredentials"); + const aadClient = new CosmosClient({ + endpoint, + aadCredentials: credentials + }); + + const genericClient = new CosmosClient({ + endpoint, + key: masterKey + }); + + logStep( + "Only certain operations are authorized. Reading databases/containers will throw errors, but reading items will work" + ); + + // fails + await aadClient.databases.readAll({}).fetchAll(); + // succeeds + await genericClient.databases.readAll({}).fetchAll(); + + // succeeds + await aadClient + .database("example") + .container(existingContainerId) + .items.readAll(); + // succeeds + await genericClient + .database("example") + .container(existingContainerId) + .items.readAll(); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/AlterQueryThroughput.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/AlterQueryThroughput.ts new file mode 100644 index 000000000000..46a19a5f8b7d --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/AlterQueryThroughput.ts @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Updates a container offer to change query throughput. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { finish, handleError, logStep, logSampleHeader } from "./Shared/handleError"; +import { + CosmosClient, + OfferDefinition, + Resource, + ContainerDefinition, + DatabaseDefinition, + FeedResponse +} from "../dist-esm"; +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Alter Query Throughput"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// ensuring a database exists for us to work with +async function run(): Promise { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + logStep(`Create container with id : ${containerId}`); + await database.containers.createIfNotExists({ id: containerId }); + + logStep("Read all offers issued"); + const { resources: offers } = await client.offers.readAll().fetchAll(); + + const newRups = 700; + await asyncForEach(offers, async (offerDefinition: OfferDefinition) => { + await updateOfferForCollection(newRups, databaseId, containerId, offerDefinition); + }); + + logStep("Read all containers in database"); + const iterator = database.containers.readAll(); + const { resources: containersList } = await iterator.fetchAll(); + console.log(" --- Priting via iterator.fetchAll()"); + console.log(containersList); + + logStep("Read container definition"); + const container = database.container(containerId); + const { resource: containerDef } = await container.read(); + console.log(`Container with url "${container.url}" was found its id is "${containerDef.id}`); + + logStep(`Delete container ${containerDef.id}`); + await container.delete(); + await finish(); +} + +run().catch(handleError); + +async function updateOfferForCollection( + newRups: number, + dbName: string, + collectionName: string, + oldOfferDefinition: OfferDefinition +): Promise { + if (!oldOfferDefinition || !oldOfferDefinition.content) throw "found invalid offer"; + const newOfferDefinition: OfferDefinition = { + ...oldOfferDefinition, + content: { + offerThroughput: newRups, + offerIsRUPerMinuteThroughputEnabled: + oldOfferDefinition.content.offerIsRUPerMinuteThroughputEnabled + }, + offerVersion: "V2" + }; + + logStep("Read all databases"); + const { resources: databases } = await client.databases.readAll().fetchAll(); + + logStep("Read corresponding containers"); + const containerResponses: FeedResponse[] = await Promise.all( + databases + .filter((database: DatabaseDefinition & Resource) => database.id === dbName) + .map((database: DatabaseDefinition & Resource) => { + return client + .database(database.id) + .containers.readAll() + .fetchAll(); + }) + ); + + const flat = (nestedArrays: T[][]): T[] => [].concat(...nestedArrays); + + const containers: (ContainerDefinition & Resource)[] = flat( + containerResponses.map( + (response: FeedResponse) => response.resources + ) + ); + + logStep("Finding container to offerDefinition"); + const container = containers.find( + (containerParam: ContainerDefinition & Resource) => + containerParam._rid === oldOfferDefinition.offerResourceId && + containerParam.id === collectionName + ); + + if (container) { + const offer = client.offer(oldOfferDefinition.id); + logStep("replace old offer with new offer"); + await offer.replace(newOfferDefinition); + } +} + +async function asyncForEach( + array: Array, + callback: (element: T, index?: number, array?: T[]) => Promise +): Promise { + for (let index = 0; index < array.length; index++) { + await callback(array[index]); + } +} diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/Bulk.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/Bulk.ts new file mode 100644 index 000000000000..be1deee7dbac --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/Bulk.ts @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Shows a simple bulk call with each BulkOperation type. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { handleError, finish, logStep } from "./Shared/handleError"; +import { BulkOperationType } from "../src"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { CosmosClient } from "../dist"; + +const endpoint = process.env.COSMOS_ENDPOINT; +const masterKey = process.env.COSMOS_KEY; + +function addEntropy(name: string): string { + return name + getEntropy(); +} + +function getEntropy(): string { + return `${Math.floor(Math.random() * 10000)}`; +} + +async function run() { + const containerId = "bulkContainerV2"; + const client = new CosmosClient({ + key: masterKey, + endpoint: endpoint + }); + const { database } = await client.databases.create({ id: addEntropy("bulk db") }); + logStep(`Create multi-partition container '${containerId}' with partition key /key`); + const { container: v2Container } = await database.containers.create({ + id: containerId, + partitionKey: { + paths: ["/key"], + version: 2 + }, + throughput: 25100 + }); + + const readItemId = addEntropy("item1"); + const deleteItemId = addEntropy("item2"); + const replaceItemId = addEntropy("item3"); + logStep( + `Create items ${readItemId}, ${deleteItemId}, ${replaceItemId} for reading, deleting and replacing` + ); + await v2Container.items.create({ + id: readItemId, + key: true, + class: "2010" + }); + await v2Container.items.create({ + id: deleteItemId, + key: {}, + class: "2011" + }); + await v2Container.items.create({ + id: replaceItemId, + key: 5, + class: "2012" + }); + + const operations = [ + { + operationType: BulkOperationType.Create, + partitionKey: "A", + resourceBody: { id: addEntropy("doc1"), name: "sample", key: "A" } + }, + { + operationType: BulkOperationType.Upsert, + partitionKey: "U", + resourceBody: { name: "other", key: "U" } + }, + { + operationType: BulkOperationType.Read, + id: readItemId, + partitionKey: true + }, + { + operationType: BulkOperationType.Delete, + id: deleteItemId, + partitionKey: {} + }, + { + operationType: BulkOperationType.Replace, + partitionKey: 5, + id: replaceItemId, + resourceBody: { id: replaceItemId, name: "nice", key: 5 } + } + ]; + logStep(`Execute a simple bulk request with 5 operations: Create, Upsert, Read, Delete, Replace`); + logStep("Bulk Operations Input to 'container.items.bulk(operations):'"); + console.log(operations); + const response = await v2Container.items.bulk(operations); + logStep("Bulk response:"); + console.log(response); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/BulkUpdateWithSproc.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/BulkUpdateWithSproc.ts new file mode 100644 index 000000000000..e98010ca8d6a --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/BulkUpdateWithSproc.ts @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Bulk Updates documents with a Stored Procedure. Prefer `container.items().bulk()` to this behavior. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { logSampleHeader, handleError, finish, logStep } from "./Shared/handleError"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { CosmosClient } from "../dist"; +import { v4 } from "uuid"; +const uuid = v4; + +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Bulk Update Using Stored Procedures"); +// Only to make TypeScript happy +let getContext: any; + +function body(continuation: string): void { + const collection = getContext().getCollection(); + const response = getContext().getResponse(); + const responseBody: any = { updatedDocumentIds: [] }; // Setup Initial Response + + // Find all documents that need to be updated + collection.queryDocuments( + collection.getSelfLink(), + "SELECT * FROM root r", + { pageSize: 2, continuation }, // Setting this low to show how continuation tokens work + function(err: any, feed: any, options: any) { + if (err) throw err; + // Set continuation token on response if we get one + responseBody.continuation = options.continuation; + // Update this batch of documents + updateDocs(feed, responseBody); + } + ); + + function updateDocs(documents: any, responseBodyParam: any): void { + if (documents.length === 0) { + // If no documents are left to update, we are done + response.setBody(responseBodyParam); + } else { + // Grab the next document to update + const document = documents.pop(); + document.state = "open"; + collection.replaceDocument(document._self, document, {}, function(err: any) { + if (err) throw err; + // If we have successfully updated the document, include it in the returned document ids + responseBodyParam.updatedDocumentIds.push(document.id); + // Call update with remaining documents + updateDocs(documents, responseBodyParam); + }); + } + } +} + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run(): Promise { + // ensuring a database & container exists for us to work with + logStep("Create database '" + databaseId + "' and container '" + containerId + "'"); + const { database } = await client.databases.createIfNotExists({ id: databaseId }, {}); + const { container } = await database.containers.createIfNotExists({ id: containerId }); + + logStep("Insert 20 items"); + + // Create 20 items with state set to "closed" + for (let index = 0; index < 20; index++) { + await container.items.create({ id: uuid(), state: "closed" }); + } + + logStep("Created stored procedure"); + const { storedProcedure } = await container.scripts.storedProcedures.create({ + id: "queryAndBulkUpdate", + body + }); + + logStep("Execute stored procedure and follow continuation tokens"); + let continuation: string = undefined; + let totalUpdatedDocuments = 0; + for (;;) { + const response = await storedProcedure.execute(undefined, [continuation]); + const result: any = response.resource; + totalUpdatedDocuments = totalUpdatedDocuments + result.updatedDocumentIds.length; + console.log(`Updated Documents: ${result.updatedDocumentIds}`); + continuation = result.continuation; + if (!result.continuation) { + console.log("No continuation token! Updates complete"); + console.log(`Total Updated Document Count:`, totalUpdatedDocuments); + break; + } + } + await finish(); +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ChangeFeed.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ChangeFeed.ts new file mode 100644 index 000000000000..1878429dd577 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ChangeFeed.ts @@ -0,0 +1,170 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates using a ChangeFeed. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { finish, handleError, logSampleHeader } from "./Shared/handleError"; +import { CosmosClient } from "../dist-esm"; +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Change Feed"); +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// We'll use the same pk value for all these samples +const pk = "0"; + +function doesMatch(actual: any[], expected: any[]): string { + for (let i = 0; i < actual.length; i++) { + if (actual[i] !== expected[i]) { + return "❌"; + } + } + return "✅"; +} + +function logResult(scenario: string, actual: any[], expected: any[]): void { + const status = doesMatch(actual, expected); + console.log( + ` ${status} ${scenario} - expected: [${expected.join(", ")}] - actual: [${actual.join(", ")}]` + ); +} + +async function run(): Promise { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + const { container } = await database.containers.createIfNotExists({ + id: containerId, + partitionKey: { paths: ["/pk"] } + }); + + try { + console.log(` +✨✨✨ Change Feed Samples ✨✨✨ + + There are 4 scenarios for change feed: + 1. Start from a specific continuation + 2. Start from a specific point in time + 3. Start from the beginning + 4. Start from now + + All 4 scenarios will eventually catch up to each other if read for long enough + + In this sample, we expect the scenario to see the following items, by id: + 1. [3] + 2. [2, 3] + 3. [1, 2, 3] + 4. [] + + After we've read to this point, if we insert a new item id 4, we expect all of them to see it, since they will all be caught up. +`); + + console.log("📢 Phase 1: All scenarios see different results "); + + await container.items.create({ id: "1", pk }); + console.log(" 👉 Inserted id=1"); + + const now = new Date(); + console.log(" 👉 Saved timestamp for the specific point in time scenario"); + const { headers } = await container.items.create({ id: "2", pk }); + const lsn = headers["lsn"]; + console.log(` 👉 Inserted id=2 after timestamp with LSN of ${lsn}`); + + await container.items.create({ id: "3", pk }); + + console.log(` 👉 Inserted id=3`); + + const specificContinuationIterator = container.items.changeFeed(pk, { + continuation: lsn.toString() + }); + const specificPointInTimeIterator = container.items.changeFeed(pk, { startTime: now }); + const fromBeginningIterator = container.items.changeFeed(pk, { startFromBeginning: true }); + const fromNowIterator = container.items.changeFeed(pk, {}); + + const { result: specificContinuationResult } = await specificContinuationIterator.fetchNext(); + + logResult( + "initial specific Continuation scenario", + [3], + specificContinuationResult.map((v) => parseInt(v.id)) + ); + + // First page is empty. It is catching up to a valid continuation. + const { result: shouldBeEmpty } = await specificPointInTimeIterator.fetchNext(); + logResult( + "initial specific point in time scenario should be empty while it finds the right continuation", + [], + shouldBeEmpty.map((v) => parseInt(v.id)) + ); + // Second page should have results + const { result: specificPointInTimeResults } = await specificPointInTimeIterator.fetchNext(); + logResult( + "second specific point in time scenario should have caught up now", + [2, 3], + specificPointInTimeResults.map((v) => parseInt(v.id)) + ); + + const { result: fromBeginningResults } = await fromBeginningIterator.fetchNext(); + logResult( + "initial from beginning scenario", + [1, 2, 3], + fromBeginningResults.map((v) => parseInt(v.id)) + ); + + const { result: fromNowResultsShouldBeEmpty } = await fromNowIterator.fetchNext(); + logResult( + "initial from now scenario should be empty", + [], + fromNowResultsShouldBeEmpty.map((v) => parseInt(v.id)) + ); + + // Now they should all be caught up to the point after id=3, so if we insert a id=4, they should all get it. + console.log("📢 Phase 2: All scenarios are caught up and should see the same results"); + + await container.items.create({ id: "4", pk }); + console.log(" 👉 Inserting id=4 - all scenarios should see this"); + + const { result: specificContinuationResult2 } = await specificContinuationIterator.fetchNext(); + logResult( + "after insert, Specific Continuation scenario", + [4], + specificContinuationResult2.map((v) => parseInt(v.id)) + ); + + const { result: specificPointInTimeResults2 } = await specificPointInTimeIterator.fetchNext(); + logResult( + "after insert, specific point in time scenario", + [4], + specificPointInTimeResults2.map((v) => parseInt(v.id)) + ); + + const { result: fromBeginningResults2 } = await fromBeginningIterator.fetchNext(); + logResult( + "after insert, from beginning scenario", + [4], + fromBeginningResults2.map((v) => parseInt(v.id)) + ); + + const { result: fromNowResults2 } = await fromNowIterator.fetchNext(); + logResult( + "after insert, from now scenario", + [4], + fromNowResults2.map((v) => parseInt(v.id)) + ); + } catch (err) { + handleError(err); + } finally { + await finish(); + } +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ContainerManagement.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ContainerManagement.ts new file mode 100644 index 000000000000..e71d2c52d2b5 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ContainerManagement.ts @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates container create, read, delete and reading all containers belonging to a database. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { finish, handleError, logStep, logSampleHeader } from "./Shared/handleError"; +import { CosmosClient } from "../dist-esm"; +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Container Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// ensuring a database exists for us to work with +async function run(): Promise { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + logStep(`Create container with id : ${containerId}`); + await database.containers.createIfNotExists({ id: containerId }); + + logStep("Read all containers in database"); + const iterator = database.containers.readAll(); + const { resources: containersList } = await iterator.fetchAll(); + console.log(" --- Priting via iterator.fetchAll()"); + console.log(containersList); + + logStep("Read container definition"); + const container = database.container(containerId); + const { resource: containerDef } = await container.read(); + console.log(`Container with url "${container.url}" was found its id is "${containerDef.id}`); + + logStep(`Delete container ${containerDef.id}`); + await container.delete(); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/DatabaseManagement.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/DatabaseManagement.ts new file mode 100644 index 000000000000..86316d3cf64f --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/DatabaseManagement.ts @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates database create, read, delete and reading all databases. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { handleError, logStep, logSampleHeader, finish } from "./Shared/handleError"; +import { CosmosClient } from "../dist-esm"; +import assert from "assert"; + +const { COSMOS_DATABASE: databaseId, COSMOS_ENDPOINT: endpoint, COSMOS_KEY: key } = process.env; + +logSampleHeader("Database Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run(): Promise { + logStep("Create database, if it doesn't already exist"); + await client.databases.createIfNotExists({ id: databaseId }); + console.log("Database with id " + databaseId + " created."); + + logStep("Read all databases"); + const { resources: dbDefList } = await client.databases.readAll().fetchAll(); + console.log(dbDefList); + + logStep("ReadDatabase with id '" + databaseId + "'"); + const { resource: dbDef } = await client.database(databaseId).read(); + // This uses Object deconstruction to just grab the body of the response, + // but you can also grab the whole response object to use + const databaseResponse = await client.database(databaseId).read(); + const alsoDbDef = databaseResponse.resource; + assert.equal(dbDef.id, alsoDbDef.id); // The bodies will also almost be equal, _ts will defer based on the read time + // This applies for all response types, not just DatabaseResponse. + + console.log("Database with id of " + dbDef.id + "' was found"); + + logStep("delete database with id '" + databaseId + "'"); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/IndexManagement.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/IndexManagement.ts new file mode 100644 index 000000000000..db16ecc28711 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/IndexManagement.ts @@ -0,0 +1,232 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Shows various ways to manage indexing items or changing container index policies. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { logSampleHeader, handleError, finish, logStep } from "./Shared/handleError"; +import { CosmosClient, IndexKind, DataType } from "../dist-esm"; + +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Index Management"); + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run(): Promise { + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + + // We're using the default indexing policy because by default indexingMode == consistent & automatic == true + // which means that by default all items added to a container are indexed as the item is written + const { container, resource: containerDef } = await database.containers.createIfNotExists({ + id: containerId + }); + + logStep("Manually exclude an item from being indexed"); + console.log("create container with default index policy"); + + // We're using the default indexing policy because by default indexingMode == consistent & automatic == true + // which means that by default all items added to a container are indexed as the item is written + // One of items.create() options is indexingDirectives which can be include, or exclude + // We're using exclude this time to manually exclude this item from being indexed + console.log("Create item, but exclude from index"); + const { resource: itemDef, item } = await container.items.create( + { id: "item1", foo: "bar" }, + { indexingDirective: "exclude" } + ); + console.log("Item with id '" + itemDef.id + "' created"); + + const querySpec = { + query: "SELECT * FROM root r WHERE r.foo=@foo", + parameters: [ + { + name: "@foo", + value: "bar" + } + ] + }; + + console.log("Querying all items for the given item should not find any results"); + const { resources: results } = await container.items.query(querySpec).fetchAll(); + if (results.length !== 0) { + throw new Error("there were not meant to be results"); + } + console.log("No results found"); + + console.log("item.read() should still find the item"); + await item.read(); + console.log("item.read() found item"); + + logStep("Switch auto indexing off, and manually index item"); + console.log("Update container indexingPolicy.automatic : false"); + + const indexingPolicySpec = { automatic: false }; + + // Index transform is an async operation that is performed on a Container + // You can contiue to use the container while this is happening, but depending + // on the transform and your queries you may get inconsistent results as the index is updated + // In this case it will be almost instant because we only have one item + // but this can take some time on larger containers + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: indexingPolicySpec + }); + + // items.create() takes RequestOptions as 2nd parameter. + // One of these options is indexingDirectives which can be include, or exclude + // we're using include this time to manually index this particular item + console.log("Create item, and explicitly include in index"); + const { resource: itemDef2 } = await container.items.create( + { id: "item2", foo: "bar" }, + { indexingDirective: "include" } + ); + console.log("Item with id '" + itemDef2.id + "' created"); + + console.log("Querying all items for a given item should find a result as it was indexed"); + const { resources: results2 } = await container.items.query(querySpec).fetchAll(); + if (results2.length === 0) { + throw new Error("There were meant to be results"); + } else { + const fetchedItemDef = results2[0]; + console.log("Item with id '" + fetchedItemDef.id + "' found"); + } + + logStep("Create a range index on string path"); + // Azure Cosmos DB index knows about 3 datatypes - numbers, strings and geojson + // Next we are going to create a custom index policy which enables range index on a string path + + console.log("update container with range index on string paths"); + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: { + includedPaths: [ + { + path: "/*", + indexes: [ + { + kind: IndexKind.Range, + dataType: DataType.String + }, + { + kind: IndexKind.Range, + dataType: DataType.Number + } + ] + } + ] + } + }); + + console.log("Container '" + containerDef.id + "' updated with new index policy"); + + // create an item + console.log("Creating item"); + await container.items.create({ id: "item3", stringField: "a string value" }); + console.log("Item created"); + + console.log("Querying for item where stringField > 'a', should return results"); + // notice how we're switching to queryIterator.executeNext instead of calling .fetchAll() as before + // reason being, fetchAll will issue multiple requests to the server until it has fetched all results + // here we can control this using executeNext. + // now we can get the headers for each request which includes the charge, continuation tokens etc. + const queryIterator = container.items.query( + { + query: "SELECT * FROM root r WHERE r.stringField > @value", + parameters: [ + { + name: "@value", + value: "a" + } + ] + }, + { enableScanInQuery: true } + ); + const { resources: items, requestCharge } = await queryIterator.fetchNext(); + const itemDef3 = items[0]; + console.log("Item '" + itemDef3.id + "' found, request charge: " + requestCharge); + + logStep("Update index to exclude paths from indexing"); + await container.replace({ + id: containerId, + partitionKey: containerDef.partitionKey, + indexingPolicy: { + // the special "/" must always be included somewhere. in this case we're including root + // and then excluding specific paths + includedPaths: [ + { + path: "/", + indexes: [ + { + kind: IndexKind.Range, + dataType: DataType.Number, + precision: 2 + } + ] + } + ], + excludedPaths: [ + { + path: "/metaData/*" + } + ] + } + }); + + console.log("Container '" + containerDef.id + "' updated with excludedPaths"); + // create an item + console.log("Creating item"); + const { item: item4 } = await container.items.create({ + id: "item4", + metaData: "meta", + subDoc: { + searchable: "searchable", + subSubDoc: { someProperty: "value" } + } + }); + + console.log("Item created"); + try { + // expecting an exception on this query due to the fact that it includes paths that + // have been excluded. If you want to force a scan, then enableScanInQuery + console.log("Querying for item where metaData = 'meta', should throw an exception"); + const result = await container.items + .query({ + query: "SELECT * FROM root r WHERE r.metaData = @value", + parameters: [ + { + name: "@value", + value: "meta" + } + ] + }) + .fetchAll(); + console.log(result.resources); + throw new Error("Should've produced an error"); + } catch (err) { + if (err.code !== undefined) { + console.log("Threw, as expected"); + } else { + throw err; + } + } + + // You can still read the item by its id + console.log("Can still item.read() using '" + item4.id + "'"); + await item.read(); + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ItemManagement.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ItemManagement.ts new file mode 100644 index 000000000000..d2f8429aad2a --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ItemManagement.ts @@ -0,0 +1,165 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates item creation, read, delete and reading all items belonging to a container. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { logSampleHeader, handleError, finish, logStep } from "./Shared/handleError"; +import { readFileSync } from "fs"; +import { CosmosClient } from "../dist-esm"; +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +logSampleHeader("Item Management"); + +const itemDefs = JSON.parse( + readFileSync(path.resolve(__dirname, "./Shared/Data/Families.json"), "utf8") +).Families; + +// Establish a new instance of the CosmosClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +async function run(): Promise { + // ensuring a database & container exists for us to work with + const { database } = await client.databases.createIfNotExists({ id: databaseId }); + const { container } = await database.containers.createIfNotExists({ id: containerId }); + + logStep("Insert items in to database '" + databaseId + "' and container '" + containerId + "'"); + + await Promise.all(itemDefs.map((itemDef: any) => container.items.create(itemDef))); + console.log(itemDefs.length + " items created"); + + logStep("List items in container '" + container.id + "'"); + const { resources: itemDefList } = await container.items.readAll().fetchAll(); + + for (const itemDef of itemDefList) { + console.log(itemDef.id); + } + + const item = container.item(itemDefList[0].id, undefined); + logStep("Read item '" + item.id + "'"); + const { resource: readDoc } = await item.read(); + console.log("item with id '" + item.id + "' found"); + + logStep("Read item with AccessCondition and no change to _etag"); + const { resource: item2, headers } = await item.read({ + accessCondition: { type: "IfNoneMatch", condition: readDoc._etag } + }); + if (!item2 && headers["content-length"] === 0) { + console.log( + "As expected, no item returned. This is because the etag sent matched the etag on the server. i.e. you have the latest version of the item already" + ); + } + + // if we someone else updates this item, its etag on the server would change. + // repeating the above read with the old etag would then get a item in the response + readDoc.foo = "bar"; + await item.replace(readDoc); + const { resource: item3, headers: headers3 } = await item.read({ + accessCondition: { type: "IfNoneMatch", condition: readDoc._etag } + }); + if (!item3 && headers3["content-length"] === 0) { + throw "Expected item this time. Something is wrong!"; + } else { + console.log( + "This time the read request returned the item because the etag values did not match" + ); + } + + const querySpec = { + query: "SELECT * FROM Families f WHERE f.lastName = @lastName", + parameters: [ + { + name: "@lastName", + value: "Andersen" + } + ] + }; + + logStep("Query items in container '" + container.id + "'"); + const { resources: results } = await container.items.query(querySpec).fetchAll(); + + if (results.length === 0) { + throw "No items found matching"; + } else if (results.length > 1) { + throw "More than 1 item found matching"; + } + + const person = results[0]; + console.log("The '" + person.id + "' family has lastName '" + person.lastName + "'"); + console.log("The '" + person.id + "' family has " + person.children.length + " children '"); + + // add a new child to this family, and change the family's lastName + const childDef = { + firstName: "Newborn", + gender: "unknown", + fingers: 10, + toes: 10 + }; + + person.children.push(childDef); + person.lastName = "Updated Family"; + + logStep("Replace item with id '" + item.id + "'"); + const { resource: updatedPerson } = await container.items.upsert(person); + + console.log("The '" + person.id + "' family has lastName '" + updatedPerson.lastName + "'"); + console.log( + "The '" + person.id + "' family has " + updatedPerson.children.length + " children '" + ); + + logStep("Trying to replace item when item has changed in the database"); + // The replace item above will work even if there's a new version of item on the server from what you originally read + // If you want to prevent this from happening you can opt-in to a conditional update + // Using accessCondition and etag you can specify that the replace only occurs if the etag you are sending matches the etag on the server + // i.e. Only replace if the item hasn't changed + + // let's go update item + person.foo = "bar"; + await item.replace(person); + + // now let's try another update to item with accessCondition and etag set + person.foo = "should never get set"; + try { + await item.replace(person, { accessCondition: { type: "IfMatch", condition: person._etag } }); + throw new Error("This should have failed!"); + } catch (err) { + if (err.code === 412) { + console.log("As expected, the replace item failed with a pre-condition failure"); + } else { + throw err; + } + } + + const upsertSource = itemDefList[1]; + logStep(`Upserting person ${upsertSource.id} with id ${upsertSource.id}...`); + + // a non-identity change will cause an update on upsert + upsertSource.foo = "baz"; + const { resource: upsertedPerson1 } = await container.items.upsert(upsertSource); + console.log(`Upserted ${upsertedPerson1.id} to id ${upsertedPerson1.id}.`); + + // an identity change will cause an insert on upsert + upsertSource.id = "HazzardFamily"; + const { resource: upsertedPerson2 } = await container.items.upsert(upsertSource); + console.log(`Upserted ${upsertedPerson2.id} to id ${upsertedPerson2.id}.`); + + if (upsertedPerson1.id === upsertedPerson2.id) { + throw new Error("These two upserted records should have different resource IDs."); + } + + logStep("Delete item '" + item.id + "'"); + await item.delete(); + + await finish(); +} +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/QueryThroughput.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/QueryThroughput.ts new file mode 100644 index 000000000000..85cb88ab9dcf --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/QueryThroughput.ts @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates query throughput scenarios. + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { Container, FeedOptions, SqlQuerySpec, CosmosClient } from "../dist-esm"; + +const { + COSMOS_DATABASE: dbId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +async function run() { + const client = new CosmosClient({ + endpoint, + key + }); + + const query1 = "Select * from c order by c._ts"; + const query2 = "Select * from c"; + const query3 = "Select value count(c.id) from c"; + + const container = client.database(dbId).container(containerId); + const options = { + maxItemCount: 10000, + maxDegreeOfParallelism: 1000, + bufferItems: true + }; + + const scenarios = []; + scenarios.push({ container, query: query1, options }); + scenarios.push({ container, query: query2, options }); + scenarios.push({ container, query: query3, options }); + + for (const scenario of scenarios) { + try { + console.log("Scenario starting: " + scenario.query); + const start = Date.now(); + await runScenario(scenario.container, scenario.query, scenario.options); + console.log( + 'Scenario complete: "' + scenario.query + '" - took ' + (Date.now() - start) / 1000 + "s" + ); + } catch (e) { + console.log("Scenario failed: " + scenario.query + " - " + JSON.stringify(scenario.options)); + } + } +} + +async function runScenario( + container: Container, + query: string | SqlQuerySpec, + options: FeedOptions +) { + const queryIterator = container.items.query(query, options); + let count = 0; + while (queryIterator.hasMoreResults() && count <= 100000) { + const { resources: results } = await queryIterator.fetchNext(); + if (results !== undefined) { + count = count + results.length; + } + } +} + +run().catch(console.error); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/SasTokenAuth.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/SasTokenAuth.ts new file mode 100644 index 000000000000..b041ee18e89b --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/SasTokenAuth.ts @@ -0,0 +1,86 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates using SasTokens for granting scoped access to Cosmos resources. *Private feature* + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { SasTokenProperties } from "../dist-esm/client/SasToken/SasTokenProperties"; +import { SasTokenPermissionKind } from "../dist-esm/common/constants"; +import { createAuthorizationSasToken } from "../dist-esm/utils/SasToken"; +import { handleError, finish, logStep } from "./Shared/handleError"; +import { CosmosClient } from "../dist-esm/CosmosClient"; + +const { COSMOS_ENDPOINT: endpoint, COSMOS_KEY: masterKey } = process.env; +const sasToken = "your-sas-token"; + +async function run() { + logStep("Create a SasToken object"); + + const sasTokenProperties = { + user: "your-user", + userTag: "your-userTag", + databaseName: "your-databaseName", + containerName: "your-containerName", + resourcePath: "your-resource-path", + partitionKeyValueRanges: [], + startTime: new Date(), + expiryTime: new Date(), + keyType: 0, + controlPlaneReaderScope: SasTokenPermissionKind.ContainerFullAccess, + controlPlaneWriterScope: 0, + dataPlaneReaderScope: SasTokenPermissionKind.ContainerFullAccess, + dataPlaneWriterScope: 0 + }; + + const key = await createAuthorizationSasToken(masterKey, sasTokenProperties); + + // If connecting to the Cosmos DB Emulator, disable TLS verification for your node process: + process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; + const client = new CosmosClient({ + endpoint, + key: key + }); + + const database = client.database(sasTokenProperties.databaseName); + const container = database.container(sasTokenProperties.containerName); + const newItem = { + id: "your-itemId", + category: "your-category", + name: "your-name", + description: "your-description", + isComplete: false + }; + + const querySpec = { + query: "SELECT * from c" + }; + + await container.items.create(newItem); + + // read all items in the Items container + const { resources: items } = await container.items.query(querySpec).fetchAll(); + + items.forEach((item: { id: any; description: any }) => { + console.log(`${item.id} - ${item.description}`); + }); + + await client.databases.readAll().fetchAll(); + + logStep("Fetch all databases using existing user token"); + const sasTokenClient = new CosmosClient({ + endpoint, + key: sasToken + }); + + logStep("Fetch all databases"); + await sasTokenClient.databases.readAll().fetchAll(); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ServerSideScripts.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ServerSideScripts.ts new file mode 100644 index 000000000000..349c361057fc --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/ServerSideScripts.ts @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates using stored procedures for server side run functions + */ + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../sample.env") }); + +import { logSampleHeader, logStep, finish, handleError } from "./Shared/handleError"; +import { CosmosClient, ErrorResponse } from "../dist-esm"; +import { FeedOptions, Item, Resource } from "../dist-esm"; + +logSampleHeader("Server Side Scripts"); +const { + COSMOS_DATABASE: databaseId, + COSMOS_CONTAINER: containerId, + COSMOS_ENDPOINT: endpoint, + COSMOS_KEY: key +} = process.env; + +// Establish a new instance of the DocumentDBClient to be used throughout this demo +const client = new CosmosClient({ endpoint, key }); + +// Execute the stored procedure with the following parameters. +const sprocParams = [ + { + id: "myDocument", + foo: "bar" + } +]; + +/** + * An Azure Cosmos DB stored procedure that upserts a given document (insert new or update if present) using its id property.
+ * This implementation tries to create, and if the create fails then query for the document with the specified document's id, then replace it. + * Use this sproc if creates are more common than replaces, otherwise use "upsertOptimizedForReplace" + * + * @function + * @param {Object} document - A document that should be upserted into this collection. + * @returns {Object.} Returns an object with the property:
+ * op - created (or) replaced. + */ +let getContext: any; +const sprocDefinition = { + id: "upsert", + body: function(document: Item) { + const context = getContext(); + const collection = context.getCollection(); + const collectionLink = collection.getSelfLink(); + const response = context.getResponse(); + const errorCodes = { CONFLICT: 409 }; + + // Not checking for existence of document.id for compatibility with createDocument. + if (!document) throw new Error("The document is undefined or null."); + + tryCreate(document, callback); + + function tryCreate(doc: Item, cback: any) { + const isAccepted = collection.createDocument(collectionLink, doc, cback); + if (!isAccepted) throw new Error("Unable to schedule create document"); + response.setBody({ op: "created" }); + } + + // To replace the document, first issue a query to find it and then call replace. + function tryReplace(doc: Item, cback: any) { + retrieveDoc(doc, null, function(retrievedDocs: Resource[]) { + const isAccepted = collection.replaceDocument(retrievedDocs[0]._self, doc, cback); + if (!isAccepted) throw new Error("Unable to schedule replace document"); + response.setBody({ op: "replaced" }); + }); + } + + function retrieveDoc(doc: Item, continuation: string, cback: any) { + const query = { + query: "select * from root r where r.id = @id", + parameters: [{ name: "@id", value: doc.id }] + }; + const requestOptions = { continuation: continuation }; + const isAccepted = collection.queryDocuments(collectionLink, query, requestOptions, function( + err: Error, + retrievedDocs: Resource[], + responseOptions: FeedOptions + ) { + if (err) throw err; + + if (retrievedDocs.length > 0) { + cback(retrievedDocs); + } else if (responseOptions.continuation) { + // Conservative check for continuation. Not expected to hit in practice for the "id query" + retrieveDoc(doc, responseOptions.continuation, cback); + } else { + throw new Error("Error in retrieving document: " + doc.id); + } + }); + if (!isAccepted) throw new Error("Unable to query documents"); + } + + // This is called when collection.createDocument is done in order to + // process the result. + function callback(err: ErrorResponse) { + if (err) { + // Replace the document if status code is 409 and upsert is enabled + if (err.status === errorCodes.CONFLICT) { + return tryReplace(document, callback); + } else { + throw err; + } + } + } + } +}; + +async function run(): Promise { + const { database } = await client.databases.create({ id: databaseId }); + const { container } = await database.containers.create({ id: containerId }); + + logStep("Creating the sproc: '" + sprocDefinition.id + "'"); + + // Query for the stored procedure. + const { sproc } = await container.scripts.storedProcedures.create(sprocDefinition); + + logStep("Executing the sproc: '" + sproc.id + "'"); + console.log("Sproc parameters: " + JSON.stringify(sprocParams)); + + const { resource: results, headers } = await sproc.execute(undefined, sprocParams); + + console.log("//////////////////////////////////"); + if (headers) { + console.log("// responseHeaders"); + console.log(headers); + } + if (results) { + console.log("// results"); + console.log(results); + } + console.log("//////////////////////////////////"); + + await finish(); +} + +run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/v3/typescript/src/Shared/handleError.ts b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/Shared/handleError.ts new file mode 100644 index 000000000000..ae9584a7be64 --- /dev/null +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/src/Shared/handleError.ts @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import path from "path"; +import * as dotenv from "dotenv"; +dotenv.config({ path: path.resolve(__dirname, "../../sample.env") }); + +import { CosmosClient } from "../../dist-esm"; + +const { COSMOS_DATABASE: database, COSMOS_KEY: key, COSMOS_ENDPOINT: endpoint } = process.env; +const client = new CosmosClient({ endpoint, key }); + +export async function handleError(error: { code: string }): Promise { + console.log("\nAn error with code '" + error.code + "' has occurred:"); + console.log(error); + await finish(); + process.exitCode = 1; +} + +export async function finish(): Promise { + try { + await client.database(database).delete(); + console.log("\nEnd of demo."); + } catch (err) { + console.log( + `Database: "${database}" might not have deleted properly. You might need to delete it manually.` + ); + process.exitCode = 1; + } +} + +let currentStep = 0; +export function logStep(message: string): void { + currentStep++; + console.log(`\n${currentStep}: ${message}`); +} + +export function logSampleHeader(sampleName: string): void { + console.log("Azure Cosmos DB Node.js Samples"); + console.log("================================"); + console.log(sampleName); + console.log("================================"); +} diff --git a/sdk/search/search-documents/samples/typescript/tsconfig.json b/sdk/cosmosdb/cosmos/samples/v3/typescript/tsconfig.json similarity index 69% rename from sdk/search/search-documents/samples/typescript/tsconfig.json rename to sdk/cosmosdb/cosmos/samples/v3/typescript/tsconfig.json index 4b0b2a6d1e84..416c2dd82e00 100644 --- a/sdk/search/search-documents/samples/typescript/tsconfig.json +++ b/sdk/cosmosdb/cosmos/samples/v3/typescript/tsconfig.json @@ -1,7 +1,10 @@ { "compilerOptions": { + "target": "ES2018", "module": "commonjs", "moduleResolution": "node", + "resolveJsonModule": true, + "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "alwaysStrict": true, @@ -9,8 +12,6 @@ "rootDir": "src" }, "include": [ - "src/**.ts", - "src/**/**.ts" - ], - "exclude": ["node_modules"] + "src/**.ts" + ] } diff --git a/sdk/cosmosdb/cosmos/src/ClientContext.ts b/sdk/cosmosdb/cosmos/src/ClientContext.ts index 4123ec8e9a99..ddd8aeadd5d8 100644 --- a/sdk/cosmosdb/cosmos/src/ClientContext.ts +++ b/sdk/cosmosdb/cosmos/src/ClientContext.ts @@ -1,6 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { v4 as uuid } from "uuid"; +import { v4 } from "uuid"; +const uuid = v4; +import { + bearerTokenAuthenticationPolicy, + createEmptyPipeline, + Pipeline +} from "@azure/core-rest-pipeline"; import { PartitionKeyRange } from "./client/Container/PartitionKeyRange"; import { Resource } from "./client/Resource"; import { Constants, HTTPMethod, OperationType, ResourceType } from "./common/constants"; @@ -23,6 +29,7 @@ import { request as executeRequest } from "./request/RequestHandler"; import { SessionContainer } from "./session/sessionContainer"; import { SessionContext } from "./session/SessionContext"; import { BulkOptions } from "./utils/batch"; +import { sanitizeEndpoint } from "./utils/checkURL"; /** @hidden */ const log = logger("ClientContext"); @@ -36,7 +43,7 @@ const QueryJsonContentType = "application/query+json"; export class ClientContext { private readonly sessionContainer: SessionContainer; private connectionPolicy: ConnectionPolicy; - + private pipeline: Pipeline; public partitionKeyDefinitionCache: { [containerUrl: string]: any }; // TODO: PartitionKeyDefinitionCache public constructor( private cosmosClientOptions: CosmosClientOptions, @@ -45,6 +52,26 @@ export class ClientContext { this.connectionPolicy = cosmosClientOptions.connectionPolicy; this.sessionContainer = new SessionContainer(); this.partitionKeyDefinitionCache = {}; + this.pipeline = null; + if (cosmosClientOptions.aadCredentials) { + this.pipeline = createEmptyPipeline(); + const hrefEndpoint = sanitizeEndpoint(cosmosClientOptions.endpoint); + const scope = `${hrefEndpoint}/.default`; + this.pipeline.addPolicy( + bearerTokenAuthenticationPolicy({ + credential: cosmosClientOptions.aadCredentials, + scopes: scope, + challengeCallbacks: { + async authorizeRequest({ request, getAccessToken }) { + const tokenResponse = await getAccessToken([scope], {}); + const AUTH_PREFIX = `type=aad&ver=1.0&sig=`; + const authorizationToken = `${AUTH_PREFIX}${tokenResponse.token}`; + request.headers.set("Authorization", authorizationToken); + } + } + }) + ); + } } /** @hidden */ public async read({ @@ -73,7 +100,8 @@ export class ClientContext { options, resourceType, plugins: this.cosmosClientOptions.plugins, - partitionKey + partitionKey, + pipeline: this.pipeline }; request.headers = await this.buildHeaders(request); @@ -129,7 +157,8 @@ export class ClientContext { options, body: query, plugins: this.cosmosClientOptions.plugins, - partitionKey + partitionKey, + pipeline: this.pipeline }; const requestId = uuid(); if (query !== undefined) { @@ -181,7 +210,8 @@ export class ClientContext { resourceType, options, body: query, - plugins: this.cosmosClientOptions.plugins + plugins: this.cosmosClientOptions.plugins, + pipeline: this.pipeline }; request.endpoint = await this.globalEndpointManager.resolveServiceEndpoint( @@ -250,7 +280,8 @@ export class ClientContext { options, resourceId, plugins: this.cosmosClientOptions.plugins, - partitionKey + partitionKey, + pipeline: this.pipeline }; request.headers = await this.buildHeaders(request); @@ -273,6 +304,55 @@ export class ClientContext { } } + public async patch({ + body, + path, + resourceType, + resourceId, + options = {}, + partitionKey + }: { + body: any; + path: string; + resourceType: ResourceType; + resourceId: string; + options?: RequestOptions; + partitionKey?: PartitionKey; + }): Promise> { + try { + const request: RequestContext = { + globalEndpointManager: this.globalEndpointManager, + requestAgent: this.cosmosClientOptions.agent, + connectionPolicy: this.connectionPolicy, + method: HTTPMethod.patch, + client: this, + operationType: OperationType.Patch, + path, + resourceType, + body, + resourceId, + options, + plugins: this.cosmosClientOptions.plugins, + partitionKey + }; + + request.headers = await this.buildHeaders(request); + this.applySessionToken(request); + + // patch will use WriteEndpoint + request.endpoint = await this.globalEndpointManager.resolveServiceEndpoint( + request.resourceType, + request.operationType + ); + const response = await executePlugins(request, executeRequest, PluginOn.operation); + this.captureSessionToken(undefined, path, OperationType.Patch, response.headers); + return response; + } catch (err) { + this.captureSessionToken(err, path, OperationType.Upsert, (err as ErrorResponse).headers); + throw err; + } + } + public async create({ body, path, @@ -302,7 +382,8 @@ export class ClientContext { body, options, plugins: this.cosmosClientOptions.plugins, - partitionKey + partitionKey, + pipeline: this.pipeline }; request.headers = await this.buildHeaders(request); @@ -390,7 +471,8 @@ export class ClientContext { resourceId, options, plugins: this.cosmosClientOptions.plugins, - partitionKey + partitionKey, + pipeline: this.pipeline }; request.headers = await this.buildHeaders(request); @@ -439,7 +521,8 @@ export class ClientContext { resourceId, options, plugins: this.cosmosClientOptions.plugins, - partitionKey + partitionKey, + pipeline: this.pipeline }; request.headers = await this.buildHeaders(request); @@ -492,7 +575,8 @@ export class ClientContext { resourceId: id, body: params, plugins: this.cosmosClientOptions.plugins, - partitionKey + partitionKey, + pipeline: this.pipeline }; request.headers = await this.buildHeaders(request); @@ -524,7 +608,8 @@ export class ClientContext { path: "", resourceType: ResourceType.none, options, - plugins: this.cosmosClientOptions.plugins + plugins: this.cosmosClientOptions.plugins, + pipeline: this.pipeline }; request.headers = await this.buildHeaders(request); @@ -552,6 +637,56 @@ export class ClientContext { return this.globalEndpointManager.getReadEndpoints(); } + public async batch({ + body, + path, + partitionKey, + resourceId, + options = {} + }: { + body: T; + path: string; + partitionKey: string; + resourceId: string; + options?: RequestOptions; + }): Promise> { + try { + const request: RequestContext = { + globalEndpointManager: this.globalEndpointManager, + requestAgent: this.cosmosClientOptions.agent, + connectionPolicy: this.connectionPolicy, + method: HTTPMethod.post, + client: this, + operationType: OperationType.Batch, + path, + body, + resourceType: ResourceType.item, + resourceId, + plugins: this.cosmosClientOptions.plugins, + options, + pipeline: this.pipeline, + partitionKey + }; + + request.headers = await this.buildHeaders(request); + request.headers[Constants.HttpHeaders.IsBatchRequest] = true; + request.headers[Constants.HttpHeaders.IsBatchAtomic] = true; + + this.applySessionToken(request); + + request.endpoint = await this.globalEndpointManager.resolveServiceEndpoint( + request.resourceType, + request.operationType + ); + const response = await executePlugins(request, executeRequest, PluginOn.operation); + this.captureSessionToken(undefined, path, OperationType.Batch, response.headers); + return response; + } catch (err) { + this.captureSessionToken(err, path, OperationType.Upsert, (err as ErrorResponse).headers); + throw err; + } + } + public async bulk({ body, path, @@ -580,7 +715,8 @@ export class ClientContext { resourceType: ResourceType.item, resourceId, plugins: this.cosmosClientOptions.plugins, - options + options, + pipeline: this.pipeline }; request.headers = await this.buildHeaders(request); diff --git a/sdk/cosmosdb/cosmos/src/auth.ts b/sdk/cosmosdb/cosmos/src/auth.ts index fc9d9559af40..fa39563e4279 100644 --- a/sdk/cosmosdb/cosmos/src/auth.ts +++ b/sdk/cosmosdb/cosmos/src/auth.ts @@ -10,7 +10,6 @@ import { } from "./common"; import { CosmosClientOptions } from "./CosmosClientOptions"; import { CosmosHeaders } from "./queryExecutionContext"; -import { sanitizeEndpoint } from "./utils/checkURL"; /** @hidden */ export interface RequestInfo { @@ -63,15 +62,6 @@ export async function setAuthorizationHeader( headers[Constants.HttpHeaders.Authorization] = encodeURIComponent( await clientOptions.tokenProvider({ verb, path, resourceId, resourceType, headers }) ); - } else if (clientOptions.aadCredentials) { - if (typeof clientOptions.aadCredentials?.getToken !== "function") { - throw new Error("Cannot use AAD Credentials without `getToken`. See @azure/identity docs"); - } - const hrefEndpoint = sanitizeEndpoint(clientOptions.endpoint); - const token = await clientOptions.aadCredentials.getToken(`${hrefEndpoint}/.default`); - const AUTH_PREFIX = `type=aad&ver=1.0&sig=`; - const authorizationToken = `${AUTH_PREFIX}${token.token}`; - headers[Constants.HttpHeaders.Authorization] = encodeURIComponent(authorizationToken); } } diff --git a/sdk/cosmosdb/cosmos/src/client/Item/Item.ts b/sdk/cosmosdb/cosmos/src/client/Item/Item.ts index c9758004651a..e11e5f6ab414 100644 --- a/sdk/cosmosdb/cosmos/src/client/Item/Item.ts +++ b/sdk/cosmosdb/cosmos/src/client/Item/Item.ts @@ -12,6 +12,7 @@ import { import { PartitionKey } from "../../documents"; import { extractPartitionKey, undefinedPartitionKey } from "../../extractPartitionKey"; import { RequestOptions, Response } from "../../request"; +import { PatchRequestBody } from "../../utils/patch"; import { Container } from "../Container"; import { Resource } from "../Resource"; import { ItemDefinition } from "./ItemDefinition"; @@ -205,4 +206,43 @@ export class Item { this ); } + + /** + * Perform a JSONPatch on the item. + * + * Any provided type, T, is not necessarily enforced by the SDK. + * You may get more or less properties and it's up to your logic to enforce it. + * + * @param options - Additional options for the request + */ + public async patch( + body: PatchRequestBody, + options: RequestOptions = {} + ): Promise> { + if (this.partitionKey === undefined) { + const { + resource: partitionKeyDefinition + } = await this.container.readPartitionKeyDefinition(); + this.partitionKey = extractPartitionKey(body, partitionKeyDefinition); + } + + const path = getPathFromLink(this.url); + const id = getIdFromLink(this.url); + + const response = await this.clientContext.patch({ + body, + path, + resourceType: ResourceType.item, + resourceId: id, + options, + partitionKey: this.partitionKey + }); + return new ItemResponse( + response.result, + response.headers, + response.code, + response.substatus, + this + ); + } } diff --git a/sdk/cosmosdb/cosmos/src/client/Item/Items.ts b/sdk/cosmosdb/cosmos/src/client/Item/Items.ts index c7f2798823f9..63e14293d447 100644 --- a/sdk/cosmosdb/cosmos/src/client/Item/Items.ts +++ b/sdk/cosmosdb/cosmos/src/client/Item/Items.ts @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { v4 as uuid } from "uuid"; +import { v4 } from "uuid"; +const uuid = v4; import { ChangeFeedIterator } from "../../ChangeFeedIterator"; import { ChangeFeedOptions } from "../../ChangeFeedOptions"; import { ClientContext } from "../../ClientContext"; @@ -8,7 +9,7 @@ import { getIdFromLink, getPathFromLink, isResourceValid, ResourceType } from ". import { extractPartitionKey } from "../../extractPartitionKey"; import { FetchFunctionCallback, SqlQuerySpec } from "../../queryExecutionContext"; import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; +import { FeedOptions, RequestOptions, Response } from "../../request"; import { Container, PartitionKeyRange } from "../Container"; import { Item } from "./Item"; import { ItemDefinition } from "./ItemDefinition"; @@ -21,7 +22,8 @@ import { decorateOperation, OperationResponse, OperationInput, - BulkOptions + BulkOptions, + decorateBatchOperation } from "../../utils/batch"; import { hashV1PartitionKey } from "../../utils/hashing/v1"; import { hashV2PartitionKey } from "../../utils/hashing/v2"; @@ -417,7 +419,7 @@ export class Items { }; }); operations - .map((operation) => decorateOperation(operation, definition)) + .map((operation) => decorateOperation(operation, definition, options)) .forEach((operation: Operation, index: number) => { const partitionProp = definition.paths[0].replace("/", ""); const isV2 = definition.version && definition.version === 2; @@ -467,4 +469,57 @@ export class Items { ); return orderedResponses; } + + /** + * Execute transactional batch operations on items. + * + * Batch takes an array of Operations which are typed based on what the operation does. Batch is transactional and will rollback all operations if one fails. + * The choices are: Create, Upsert, Read, Replace, and Delete + * + * Usage example: + * ```typescript + * // partitionKey is required as a second argument to batch, but defaults to the default partition key + * const operations: OperationInput[] = [ + * { + * operationType: "Create", + * resourceBody: { id: "doc1", name: "sample", key: "A" } + * }, + * { + * operationType: "Upsert", + * partitionKey: 'A', + * resourceBody: { id: "doc2", name: "other", key: "A" } + * } + * ] + * + * await database.container.items.batch(operations) + * ``` + * + * @param operations - List of operations. Limit 100 + * @param options - Used for modifying the request + */ + public async batch( + operations: OperationInput[], + partitionKey: string = "[{}]", + options?: RequestOptions + ): Promise> { + operations.map((operation) => decorateBatchOperation(operation, options)); + + const path = getPathFromLink(this.container.url, ResourceType.item); + + if (operations.length > 100) { + throw new Error("Cannot run batch request with more than 100 operations per partition"); + } + try { + const response = await this.clientContext.batch({ + body: operations, + partitionKey, + path, + resourceId: this.container.url, + options + }); + return response; + } catch (err) { + throw new Error(`Batch request error: ${err.message}`); + } + } } diff --git a/sdk/cosmosdb/cosmos/src/common/constants.ts b/sdk/cosmosdb/cosmos/src/common/constants.ts index 5486169c3787..7ba2fa8ebcf7 100644 --- a/sdk/cosmosdb/cosmos/src/common/constants.ts +++ b/sdk/cosmosdb/cosmos/src/common/constants.ts @@ -255,6 +255,7 @@ export enum ResourceType { */ export enum HTTPMethod { get = "GET", + patch = "PATCH", post = "POST", put = "PUT", delete = "DELETE" @@ -271,7 +272,8 @@ export enum OperationType { Read = "read", Query = "query", Execute = "execute", - Batch = "batch" + Batch = "batch", + Patch = "patch" } /** diff --git a/sdk/cosmosdb/cosmos/src/documents/ConnectionMode.ts b/sdk/cosmosdb/cosmos/src/documents/ConnectionMode.ts index ef55fd47a0c3..f75a76dd7652 100644 --- a/sdk/cosmosdb/cosmos/src/documents/ConnectionMode.ts +++ b/sdk/cosmosdb/cosmos/src/documents/ConnectionMode.ts @@ -2,6 +2,6 @@ // Licensed under the MIT license. /** Determines the connection behavior of the CosmosClient. Note, we currently only support Gateway Mode. */ export enum ConnectionMode { - /** Gateway mode talks to a intermediate gateway which handles the direct communicationi with your individual partitions. */ + /** Gateway mode talks to an intermediate gateway which handles the direct communication with your individual partitions. */ Gateway = 0 } diff --git a/sdk/cosmosdb/cosmos/src/index.ts b/sdk/cosmosdb/cosmos/src/index.ts index abab2f966212..847ae287174a 100644 --- a/sdk/cosmosdb/cosmos/src/index.ts +++ b/sdk/cosmosdb/cosmos/src/index.ts @@ -21,8 +21,17 @@ export { UpsertOperationInput, ReplaceOperationInput, ReadOperationInput, - DeleteOperationInput + DeleteOperationInput, + PatchOperationInput, + BulkPatchOperation } from "./utils/batch"; +export { + PatchOperation, + PatchOperationType, + ExistingKeyOperation, + RemoveOperation, + PatchRequestBody +} from "./utils/patch"; export { ConnectionMode, ConsistencyLevel, diff --git a/sdk/cosmosdb/cosmos/src/request/RequestContext.ts b/sdk/cosmosdb/cosmos/src/request/RequestContext.ts index fa84f07ce359..48c5ce341316 100644 --- a/sdk/cosmosdb/cosmos/src/request/RequestContext.ts +++ b/sdk/cosmosdb/cosmos/src/request/RequestContext.ts @@ -9,6 +9,7 @@ import { PluginConfig } from "../plugins/Plugin"; import { CosmosHeaders } from "../queryExecutionContext/CosmosHeaders"; import { FeedOptions } from "./FeedOptions"; import { RequestOptions } from "./RequestOptions"; +import { Pipeline } from "@azure/core-rest-pipeline"; /** * @hidden @@ -31,4 +32,5 @@ export interface RequestContext { options: FeedOptions | RequestOptions; plugins: PluginConfig[]; partitionKey?: PartitionKey; + pipeline?: Pipeline; } diff --git a/sdk/cosmosdb/cosmos/src/request/RequestHandler.ts b/sdk/cosmosdb/cosmos/src/request/RequestHandler.ts index 068fc6b4a7c1..6303533e0e16 100644 --- a/sdk/cosmosdb/cosmos/src/request/RequestHandler.ts +++ b/sdk/cosmosdb/cosmos/src/request/RequestHandler.ts @@ -81,7 +81,11 @@ async function httpRequest( } try { - response = await httpsClient.sendRequest(pipelineRequest); + if (requestContext.pipeline) { + response = await requestContext.pipeline.sendRequest(httpsClient, pipelineRequest); + } else { + response = await httpsClient.sendRequest(pipelineRequest); + } } catch (error) { if (error.name === "AbortError") { // If the user passed signal caused the abort, cancel the timeout and rethrow the error diff --git a/sdk/cosmosdb/cosmos/src/request/request.ts b/sdk/cosmosdb/cosmos/src/request/request.ts index 305be4a5cbcf..b91a6c4a3f2f 100644 --- a/sdk/cosmosdb/cosmos/src/request/request.ts +++ b/sdk/cosmosdb/cosmos/src/request/request.ts @@ -191,8 +191,7 @@ export async function getHeaders({ clientOptions.key || clientOptions.resourceTokens || clientOptions.tokenProvider || - clientOptions.permissionFeed || - clientOptions.aadCredentials + clientOptions.permissionFeed ) { await setAuthorizationHeader(clientOptions, verb, path, resourceId, resourceType, headers); } diff --git a/sdk/cosmosdb/cosmos/src/retry/RetryContext.ts b/sdk/cosmosdb/cosmos/src/retry/RetryContext.ts index 9b5a067cb3cc..f8a225afad3c 100644 --- a/sdk/cosmosdb/cosmos/src/retry/RetryContext.ts +++ b/sdk/cosmosdb/cosmos/src/retry/RetryContext.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. export interface RetryContext { - retryCount?: number; + retryCount: number; retryRequestOnPreferredLocations?: boolean; clearSessionTokenNotAvailable?: boolean; } diff --git a/sdk/cosmosdb/cosmos/src/retry/retryUtility.ts b/sdk/cosmosdb/cosmos/src/retry/retryUtility.ts index 883d7deaf3fc..87ee429c5de7 100644 --- a/sdk/cosmosdb/cosmos/src/retry/retryUtility.ts +++ b/sdk/cosmosdb/cosmos/src/retry/retryUtility.ts @@ -36,7 +36,7 @@ interface RetryPolicies { * @hidden */ export async function execute({ - retryContext = {}, + retryContext = { retryCount: 0 }, retryPolicies, requestContext, executeRequest @@ -64,6 +64,7 @@ export async function execute({ } if (retryContext && retryContext.clearSessionTokenNotAvailable) { requestContext.client.clearSessionToken(requestContext.path); + delete requestContext.headers["x-ms-session-token"]; } requestContext.endpoint = await requestContext.globalEndpointManager.resolveServiceEndpoint( requestContext.resourceType, diff --git a/sdk/cosmosdb/cosmos/src/retry/sessionRetryPolicy.ts b/sdk/cosmosdb/cosmos/src/retry/sessionRetryPolicy.ts index 3a0ad5a09bfe..6358b5af23cc 100644 --- a/sdk/cosmosdb/cosmos/src/retry/sessionRetryPolicy.ts +++ b/sdk/cosmosdb/cosmos/src/retry/sessionRetryPolicy.ts @@ -56,7 +56,8 @@ export class SessionRetryPolicy implements RetryPolicy { if (this.currentRetryAttemptCount > endpoints.length) { return false; } else { - retryContext.retryCount = ++this.currentRetryAttemptCount - 1; + this.currentRetryAttemptCount++; + retryContext.retryCount++; retryContext.retryRequestOnPreferredLocations = this.currentRetryAttemptCount > 1; retryContext.clearSessionTokenNotAvailable = this.currentRetryAttemptCount === endpoints.length; @@ -66,7 +67,8 @@ export class SessionRetryPolicy implements RetryPolicy { if (this.currentRetryAttemptCount > 1) { return false; } else { - retryContext.retryCount = ++this.currentRetryAttemptCount - 1; + this.currentRetryAttemptCount++; + retryContext.retryCount++; retryContext.retryRequestOnPreferredLocations = false; // Forces all operations to primary write endpoint retryContext.clearSessionTokenNotAvailable = true; return true; diff --git a/sdk/cosmosdb/cosmos/src/utils/batch.ts b/sdk/cosmosdb/cosmos/src/utils/batch.ts index f8b707892d50..c396d1619bda 100644 --- a/sdk/cosmosdb/cosmos/src/utils/batch.ts +++ b/sdk/cosmosdb/cosmos/src/utils/batch.ts @@ -5,14 +5,17 @@ import { JSONObject } from "../queryExecutionContext"; import { extractPartitionKey } from "../extractPartitionKey"; import { PartitionKeyDefinition } from "../documents"; import { RequestOptions } from ".."; -import { v4 as uuid } from "uuid"; +import { PatchRequestBody } from "./patch"; +import { v4 } from "uuid"; +const uuid = v4; export type Operation = | CreateOperation | UpsertOperation | ReadOperation | DeleteOperation - | ReplaceOperation; + | ReplaceOperation + | BulkPatchOperation; export interface Batch { min: string; @@ -54,7 +57,8 @@ export const BulkOperationType = { Upsert: "Upsert", Read: "Read", Delete: "Delete", - Replace: "Replace" + Replace: "Replace", + Patch: "Patch" } as const; export type OperationInput = @@ -62,7 +66,8 @@ export type OperationInput = | UpsertOperationInput | ReadOperationInput | DeleteOperationInput - | ReplaceOperationInput; + | ReplaceOperationInput + | PatchOperationInput; export interface CreateOperationInput { partitionKey?: string | number | null | Record | undefined; @@ -98,6 +103,16 @@ export interface ReplaceOperationInput { ifNoneMatch?: string; operationType: typeof BulkOperationType.Replace; resourceBody: JSONObject; + id: string; +} + +export interface PatchOperationInput { + partitionKey?: string | number | null | Record | undefined; + ifMatch?: string; + ifNoneMatch?: string; + operationType: typeof BulkOperationType.Patch; + resourceBody: PatchRequestBody; + id: string; } export type OperationWithItem = OperationBase & { @@ -127,10 +142,18 @@ export type ReplaceOperation = OperationWithItem & { id: string; }; +export type BulkPatchOperation = OperationBase & { + operationType: typeof BulkOperationType.Patch; + id: string; +}; + export function hasResource( operation: Operation ): operation is CreateOperation | UpsertOperation | ReplaceOperation { - return (operation as OperationWithItem).resourceBody !== undefined; + return ( + operation.operationType !== "Patch" && + (operation as OperationWithItem).resourceBody !== undefined + ); } export function getPartitionKeyToHash(operation: Operation, partitionProperty: string): any { @@ -187,16 +210,36 @@ export function decorateOperation( return operation as Operation; } +export function decorateBatchOperation( + operation: OperationInput, + options: RequestOptions = {} +): Operation { + if ( + operation.operationType === BulkOperationType.Create || + operation.operationType === BulkOperationType.Upsert + ) { + if ( + (operation.resourceBody.id === undefined || operation.resourceBody.id === "") && + !options.disableAutomaticIdGeneration + ) { + operation.resourceBody.id = uuid(); + } + } + return operation as Operation; +} /** * Util function for finding partition key values nested in objects at slash (/) separated paths * @hidden */ -export function deepFind(document: T, path: P): JSONObject { +export function deepFind(document: T, path: P): string | JSONObject { const apath = path.split("/"); let h: any = document; for (const p of apath) { if (p in h) h = h[p]; - else throw new Error(`Invalid path: ${path} at ${p}`); + else { + console.warn(`Partition key not found, using undefined: ${path} at ${p}`); + return "{}"; + } } return h; } diff --git a/sdk/cosmosdb/cosmos/src/utils/patch.ts b/sdk/cosmosdb/cosmos/src/utils/patch.ts new file mode 100644 index 000000000000..92c7a1294cfd --- /dev/null +++ b/sdk/cosmosdb/cosmos/src/utils/patch.ts @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +export type PatchOperation = ExistingKeyOperation | RemoveOperation; + +export const PatchOperationType = { + add: "add", + replace: "replace", + remove: "remove", + set: "set", + incr: "incr" +} as const; + +export type ExistingKeyOperation = { + op: keyof typeof PatchOperationType; + value: any; + path: string; +}; + +export type RemoveOperation = { + op: "remove"; + path: string; +}; + +export type PatchRequestBody = + | { + operations: PatchOperation[]; + condition?: string; + } + | PatchOperation[]; diff --git a/sdk/cosmosdb/cosmos/test/internal/session.spec.ts b/sdk/cosmosdb/cosmos/test/internal/session.spec.ts index ff6885fc4c2d..1c2890c9ad26 100644 --- a/sdk/cosmosdb/cosmos/test/internal/session.spec.ts +++ b/sdk/cosmosdb/cosmos/test/internal/session.spec.ts @@ -1,37 +1,19 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. + import assert from "assert"; -import { Context } from "mocha"; import { Suite } from "mocha"; -import * as sinon from "sinon"; -import { ClientContext, PluginConfig, PluginOn } from "../../src"; -import { OperationType, ResourceType, trimSlashes } from "../../src/common"; +import { ClientContext, Container, PluginConfig, PluginOn } from "../../src"; +import { OperationType, ResourceType } from "../../src/common"; import { ConsistencyLevel } from "../../src"; -import { Constants, CosmosClient } from "../../src"; +import { CosmosClient } from "../../src"; import { SessionContainer } from "../../src/session/sessionContainer"; -import { VectorSessionToken } from "../../src/session/VectorSessionToken"; -import { endpoint, masterKey } from "../public/common/_testConfig"; -import { getTestDatabase, removeAllDatabases } from "../public/common/TestHelpers"; -import * as RequestHandler from "../../src/request/RequestHandler"; +import { endpoint } from "../public/common/_testConfig"; +import { masterKey } from "../public/common/_fakeTestSecrets"; +import { addEntropy, getTestDatabase, removeAllDatabases } from "../public/common/TestHelpers"; import { RequestContext } from "../../src"; import { Response } from "../../src/request/Response"; -// TODO: there is alot of "any" types for tokens here -// TODO: there is alot of leaky document client stuff here that will make removing document client hard - -const client = new CosmosClient({ - endpoint, - key: masterKey, - consistencyLevel: ConsistencyLevel.Session, - connectionPolicy: { enableBackgroundEndpointRefreshing: false } -}); - -function getCollection2TokenMap( - sessionContainer: SessionContainer -): Map> { - return (sessionContainer as any).collectionResourceIdToSessionTokens; -} - describe("New session token", function() { it("preserves tokens", async function() { let response: Response; @@ -88,348 +70,70 @@ describe("New session token", function() { }); }); +// For some reason this test does not pass against the emulator. Skipping it for now describe.skip("Session Token", function(this: Suite) { - this.timeout(process.env.MOCHA_TIMEOUT || 20000); - - const containerId = "sessionTestColl"; - - const containerDefinition = { - id: containerId, - partitionKey: { paths: ["/id"] } - }; - const containerOptions = { offerThroughput: 25100 }; - - const clientContext: ClientContext = (client as any).clientContext; - const sessionContainer: SessionContainer = (clientContext as any).sessionContainer; - - const spy = sinon.spy(RequestHandler, "request"); - beforeEach(async function() { await removeAllDatabases(); }); - it("validate session tokens for sequence of operations", async function() { - const database = await getTestDatabase("session test", client); - - const { resource: createdContainerDef } = await database.containers.create( - containerDefinition, - containerOptions - ); - const container = database.container(createdContainerDef.id); - assert.equal(spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], undefined); - // TODO: testing implementation detail by looking at containerResourceIdToSesssionTokens - let collRid2SessionToken: Map< - string, - Map - > = (sessionContainer as any).collectionResourceIdToSessionTokens; - assert.equal(collRid2SessionToken.size, 0, "Should have no tokens in container"); - - const { resource: document1 } = await container.items.create({ id: "1" }); - assert.equal( - spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], - undefined, - "Initial create token should be qual" - ); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal( - collRid2SessionToken.size, - 1, - "Should only have one container in the sessioncontainer" - ); - const containerRid = collRid2SessionToken.keys().next().value; - let containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 1, "Should only have one partition in container"); - const firstPartition = containerTokens.keys().next().value; - let firstPartitionToken = containerTokens.get(firstPartition); - assert.notEqual(firstPartitionToken, "Should have a token for first partition"); - - const token = sessionContainer.get({ - isNameBased: true, - operationType: OperationType.Create, - resourceAddress: container.url, - resourceType: ResourceType.item, - resourceId: "2" - }); - const { resource: document2 } = await container.items.create({ id: "2" }); - assert.equal( - spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], - token, - "create token should be equal" - ); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal( - collRid2SessionToken.size, - 1, - "Should only have one container in the sessioncontainer" - ); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - const keysIterator = containerTokens.keys(); - keysIterator.next(); // partition 1 - const secondPartition = keysIterator.next().value; - assert.equal( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should still match after create" - ); - let secondPartitionToken = containerTokens.get(secondPartition); - assert(secondPartitionToken, "Should have a LSN for second partition"); - - const readToken = sessionContainer.get({ - isNameBased: true, - operationType: OperationType.Read, - resourceAddress: container.url, - resourceType: ResourceType.item, - resourceId: "1" - }); - await container.item(document1.id, "1").read(); - assert.equal( - spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], - readToken, - "read token should be equal" - ); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal( - collRid2SessionToken.size, - 1, - "Should only have one container in the sessioncontainer" - ); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - assert.equal( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should still match after read" - ); - assert.equal( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should still match after read" - ); - - const upsertToken = sessionContainer.get({ - isNameBased: true, - operationType: OperationType.Upsert, - resourceAddress: container.url, - resourceType: ResourceType.item, - resourceId: "1" - }); - const { resource: document13 } = await container.items.upsert({ id: "1", operation: "upsert" }); - assert.equal( - spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], - upsertToken, - "upsert token should be equal" - ); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal( - collRid2SessionToken.size, - 1, - "Should only have one container in the sessioncontainer" - ); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - // TODO: should validate the LSN only increased by 1... - assert.notEqual( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should no longer match after upsert" - ); - assert.equal( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should still match after upsert" - ); - firstPartitionToken = containerTokens.get(firstPartition); - - const deleteToken = sessionContainer.get({ - isNameBased: true, - operationType: OperationType.Delete, - resourceAddress: container.url, - resourceType: ResourceType.item, - resourceId: "2" - }); - await container.item(document2.id, "2").delete(); - assert.equal( - spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], - deleteToken, - "delete token should be equal" - ); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal( - collRid2SessionToken.size, - 1, - "Should only have one container in the sessioncontainer" - ); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - assert.equal( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should still match delete" - ); - // TODO: should validate the LSN only increased by 1... - assert.notEqual( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should not match after delete" - ); - secondPartitionToken = containerTokens.get(secondPartition); - - const replaceToken = sessionContainer.get({ - isNameBased: true, - operationType: OperationType.Replace, - resourceAddress: container.url, - resourceType: ResourceType.item, - resourceId: "1" - }); - await container.item(document13.id, "1").replace({ id: "1", operation: "replace" }); - assert.equal( - spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], - replaceToken, - "replace token should be equal" - ); - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal( - collRid2SessionToken.size, - 1, - "Should only have one container in the sessioncontainer" - ); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - // TODO: should validate the LSN only increased by 1... - assert.notEqual( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should no longer match after replace" - ); - assert.equal( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should still match after replace" - ); - firstPartitionToken = containerTokens.get(firstPartition); - - const query = `SELECT * from c WHERE c.id = "1"`; - const queryIterator = container.items.query(query); - - const queryToken = sessionContainer.get({ - isNameBased: true, - operationType: OperationType.Query, - resourceAddress: container.url, - resourceType: ResourceType.item - }); - await queryIterator.fetchAll(); - assert.equal(spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], queryToken); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal( - collRid2SessionToken.size, - 1, - "Should only have one container in the sessioncontainer" - ); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - assert.equal( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should still match after query" - ); - assert.equal( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should still match after query" - ); - - const deleteContainerToken = sessionContainer.get({ - isNameBased: true, - operationType: OperationType.Delete, - resourceAddress: container.url, - resourceType: ResourceType.container, - resourceId: container.id - }); - await container.delete(); - assert.equal( - spy.lastCall.args[0].headers[Constants.HttpHeaders.SessionToken], - deleteContainerToken, - "delete container token should match" - ); - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 0, "collRid map should be empty on container delete"); - - spy.restore(); - }); - - it("validate 'lsn not caught up' error for higher lsn and clearing session token", async function(this: Context) { - this.retries(2); - const database = await getTestDatabase("session test", client); - - const containerLink = "dbs/" + database.id + "/colls/" + containerId; - const increaseLSN = function(oldTokens: Map>): string { - for (const [, tokens] of oldTokens.entries()) { - for (const [pk, token] of tokens.entries()) { - (token as any).globalLsn = (token as any).globalLsn + 200; - const newToken = token.merge(token); - return `${pk}:${newToken.toString()}`; - } - } - throw new Error("No valid token found to increase"); - }; - - await database.containers.create(containerDefinition, containerOptions); - const container = database.container(containerDefinition.id); - await container.items.create({ id: "1" }); - const callbackSpy = sinon.spy(function(requestContext: RequestContext) { - const oldTokens = getCollection2TokenMap(sessionContainer); - requestContext.headers[Constants.HttpHeaders.SessionToken] = increaseLSN(oldTokens); - }); - const applySessionTokenStub = sinon - .stub(clientContext as any, "applySessionToken") - .callsFake(callbackSpy as any); - const resp = await container.item("1", "1").read(); - assert.equal(resp.resource, undefined); - assert.equal(resp.substatus, 1002, "Substatus should indicate the LSN didn't catchup."); - assert.equal(callbackSpy.callCount, 1); - assert.equal(trimSlashes(callbackSpy.lastCall.args[0].path), containerLink + "/docs/1"); - applySessionTokenStub.restore(); - await container.item("1", "1").read(); - }); - - it("validate session container update on 'Not found' with 'undefined' status code for non master resource", async function() { - const client2 = new CosmosClient({ + it("retries session not found successfully", async function() { + const clientA = new CosmosClient({ endpoint, key: masterKey, consistencyLevel: ConsistencyLevel.Session, connectionPolicy: { enableBackgroundEndpointRefreshing: false } }); + // Create a second client with a plugin that simulates "Session Not Found" error + const clientB = new CosmosClient({ + endpoint, + key: masterKey, + consistencyLevel: ConsistencyLevel.Session, + connectionPolicy: { enableBackgroundEndpointRefreshing: false }, + plugins: [ + { + on: "request", + plugin: async (context, next) => { + // Simulate a "Session Not Found" error by manually making the client session token *way* ahead of any available session on the server + // This is just a way to simulate the error. Getting this to happen in practice is difficult and only usually occurs cross region where there is significant replication lag + if (context.headers["x-ms-session-token"]) { + context.headers["x-ms-session-token"] = "0:0#900000#3=8600000#10=-1"; + } + const response = await next(context); + return response; + } + } + ] + }); - const db = await getTestDatabase("session test", client); - - const { resource: createdContainerDef } = await db.containers.create( - containerDefinition, - containerOptions - ); - const createdContainer = db.container(createdContainerDef.id); + const dbId = addEntropy("sessionTestDB"); + const containerId = addEntropy("sessionTestContainer"); - const { resource: createdDocument } = await createdContainer.items.create({ - id: "1" + // Create Database and Container + const { database } = await clientA.databases.createIfNotExists({ + id: dbId }); - await client2 - .database(db.id) - .container(createdContainerDef.id) - .item(createdDocument.id, "1") - .delete(); - const setSessionTokenSpy = sinon.spy(sessionContainer, "set"); + const { container } = await database.containers.createIfNotExists({ + id: containerId + }); + + // Create items using both clients so they each establish a session with the backend + const container2 = clientB.database(dbId).container(containerId); + await Promise.all([createItem(container), createItem(container2)]); - const resp = await createdContainer.item(createdDocument.id, "1").read(); - assert.equal(resp.resource, undefined); - assert.equal(resp.statusCode, 404, "expecting 404 (Not found)"); - assert.equal(resp.substatus, undefined, "expecting substatus code to be undefined"); - assert.equal(setSessionTokenSpy.callCount, 1, "unexpected number of calls to sesSessionToken"); - setSessionTokenSpy.restore(); + // Create an item using client + const id = await createItem(container); + const { resource, statusCode } = await container2.item(id).read(); + console.log(statusCode, resource); + assert.ok(resource); + assert.strictEqual(statusCode, 200); }); }); + +async function createItem(container: Container) { + const { + resource: { id } + } = await container.items.create({ + id: (Math.random() + 1).toString(36).substring(7) + }); + return id; +} diff --git a/sdk/cosmosdb/cosmos/test/internal/unit/sasToken.spec.ts b/sdk/cosmosdb/cosmos/test/internal/unit/sasToken.spec.ts index 0fd371f30ec9..ec7c12b913c9 100644 --- a/sdk/cosmosdb/cosmos/test/internal/unit/sasToken.spec.ts +++ b/sdk/cosmosdb/cosmos/test/internal/unit/sasToken.spec.ts @@ -2,7 +2,8 @@ // Licensed under the MIT license. import assert from "assert"; import { CosmosClient } from "../../../dist-esm/"; -import { endpoint, masterKey } from "../../public/common/_testConfig"; +import { endpoint } from "../../public/common/_testConfig"; +import { masterKey, userSasTokenKey } from "../../public/common/_fakeTestSecrets"; import { SasTokenPermissionKind } from "../../../dist-esm/common"; import { createAuthorizationSasToken } from "../../../dist-esm/utils/SasToken"; import { SasTokenProperties } from "../../../dist-esm/client/SasToken/SasTokenProperties"; @@ -53,8 +54,6 @@ describe.skip("SAS Token Authorization", function() { }); it("should connect when a user set sas token", async function() { - const userSasTokenKey = - "type=sas&ver=1.0&sig=pCgZFxV9JQN1i3vzYNTfQldW1No7I+MSgN628TZcJAI=;dXNlcjEKCi9kYnMvZGIxL2NvbGxzL2NvbGwxLwoKNUZFRTY2MDEKNjIxM0I3MDEKMAo2MAowCkZGRkZGRkZGCjAK"; const sasTokenClient = new CosmosClient({ endpoint, key: userSasTokenKey, diff --git a/sdk/cosmosdb/cosmos/test/public/common/TestHelpers.ts b/sdk/cosmosdb/cosmos/test/public/common/TestHelpers.ts index 0d77b1ea13e9..93fac26d074f 100644 --- a/sdk/cosmosdb/cosmos/test/public/common/TestHelpers.ts +++ b/sdk/cosmosdb/cosmos/test/public/common/TestHelpers.ts @@ -13,7 +13,8 @@ import { } from "../../../src"; import { ItemDefinition, ItemResponse, PermissionResponse, Resource, User } from "../../../src"; import { UserResponse } from "../../../src"; -import { endpoint, masterKey } from "./_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { DatabaseRequest } from "../../../src"; import { ContainerRequest } from "../../../src"; diff --git a/sdk/cosmosdb/cosmos/test/public/common/_fakeTestSecrets.ts b/sdk/cosmosdb/cosmos/test/public/common/_fakeTestSecrets.ts new file mode 100644 index 000000000000..45601d3f472f --- /dev/null +++ b/sdk/cosmosdb/cosmos/test/public/common/_fakeTestSecrets.ts @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +// [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine")] +export const masterKey = + process.env.ACCOUNT_KEY || + "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="; +export const userSasTokenKey = + "type=sas&ver=1.0&sig=pCgZFxV9JQN1i3vzYNTfQldW1No7I+MSgN628TZcJAI=;dXNlcjEKCi9kYnMvZGIxL2NvbGxzL2NvbGwxLwoKNUZFRTY2MDEKNjIxM0I3MDEKMAo2MAowCkZGRkZGRkZGCjAK"; diff --git a/sdk/cosmosdb/cosmos/test/public/common/_testConfig.ts b/sdk/cosmosdb/cosmos/test/public/common/_testConfig.ts index 6751a6ea62df..136318956d47 100644 --- a/sdk/cosmosdb/cosmos/test/public/common/_testConfig.ts +++ b/sdk/cosmosdb/cosmos/test/public/common/_testConfig.ts @@ -1,14 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -// [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine")] -const masterKey = - process.env.ACCOUNT_KEY || - "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="; -const endpoint = process.env.ACCOUNT_HOST || "https://localhost:8081"; +export const endpoint = process.env.ACCOUNT_HOST || "https://localhost:8081"; // This is needed to disable SSL verification for the tests running against emulator. if (endpoint.includes("https://localhost")) { process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; } - -export { masterKey, endpoint }; diff --git a/sdk/cosmosdb/cosmos/test/public/functional/authorization.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/authorization.spec.ts index 85759ab8b11e..ea9482ba4c0b 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/authorization.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/authorization.spec.ts @@ -4,7 +4,8 @@ import assert from "assert"; import { Suite } from "mocha"; import { CosmosClient, PermissionMode } from "../../../src"; import { PermissionDefinition } from "../../../src/"; -import { endpoint, masterKey } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { createOrUpsertPermission, getTestContainer, diff --git a/sdk/cosmosdb/cosmos/test/public/functional/client.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/client.spec.ts index 9500a70cb931..6dfb07d7e2c8 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/client.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/client.spec.ts @@ -4,7 +4,8 @@ import assert from "assert"; import { Suite } from "mocha"; import { Agent } from "http"; import { CosmosClient } from "../../../src"; -import { endpoint, masterKey } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { getTestDatabase, getTestContainer, diff --git a/sdk/cosmosdb/cosmos/test/public/functional/database.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/database.spec.ts index 757ef1ee6171..c569c4dace21 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/database.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/database.spec.ts @@ -3,7 +3,8 @@ import assert from "assert"; import { Suite } from "mocha"; import { CosmosClient, DatabaseDefinition, Database } from "../../../src"; -import { endpoint, masterKey } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { addEntropy, removeAllDatabases, diff --git a/sdk/cosmosdb/cosmos/test/public/functional/databaseaccount.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/databaseaccount.spec.ts index 7d34cc0abc46..d0af0942d7c5 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/databaseaccount.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/databaseaccount.spec.ts @@ -4,7 +4,8 @@ import assert from "assert"; import { Context } from "mocha"; import { Suite } from "mocha"; import { CosmosClient } from "../../../src"; -import { endpoint, masterKey } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; const client = new CosmosClient({ endpoint, diff --git a/sdk/cosmosdb/cosmos/test/public/functional/globalEndpointManager.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/globalEndpointManager.spec.ts index e8dad1ccac56..c8e2564dc242 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/globalEndpointManager.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/globalEndpointManager.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { DatabaseAccount, ResourceResponse } from "../../../src"; -import { masterKey } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { GlobalEndpointManager } from "../../../src"; import { OperationType, ResourceType } from "../../../src"; diff --git a/sdk/cosmosdb/cosmos/test/public/functional/item.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/item.spec.ts index dfc14cdb8393..8efcd24b27cc 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/item.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/item.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import assert from "assert"; import { Suite } from "mocha"; -import { Container, CosmosClient } from "../../../src"; +import { Container, CosmosClient, PatchOperation, PatchOperationType } from "../../../src"; import { ItemDefinition } from "../../../src"; import { bulkDeleteItems, @@ -18,7 +18,8 @@ import { getTestContainer } from "../common/TestHelpers"; import { BulkOperationType, OperationInput } from "../../../src"; -import { endpoint, masterKey } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; interface TestItem { id?: string; @@ -221,7 +222,7 @@ describe("Item CRUD", function(this: Suite) { }); }); -describe("bulk item operations", function() { +describe("bulk/batch item operations", function() { describe("with v1 container", function() { let container: Container; let readItemId: string; @@ -306,15 +307,21 @@ describe("bulk item operations", function() { let v2Container: Container; let readItemId: string; let replaceItemId: string; + let patchItemId: string; let deleteItemId: string; before(async function() { - v2Container = await getTestContainer("bulk container v2", undefined, { + const client = new CosmosClient({ key: masterKey, endpoint }); + const db = await client.databases.createIfNotExists({ id: "patchDb" }); + const database = db.database; + const response = await database.containers.createIfNotExists({ + id: "patchContainer", partitionKey: { paths: ["/key"], version: 2 }, throughput: 25100 }); + v2Container = response.container; readItemId = addEntropy("item1"); await v2Container.items.create({ id: readItemId, @@ -333,11 +340,14 @@ describe("bulk item operations", function() { key: 5, class: "2012" }); + patchItemId = addEntropy("item4"); + await v2Container.items.create({ + id: patchItemId, + key: 5, + class: "2019" + }); }); - after(async () => { - await v2Container.database.delete(); - }); - it("handles create, upsert, replace, delete", async function() { + it("handles create, upsert, patch, replace, delete", async function() { const operations = [ { operationType: BulkOperationType.Create, @@ -361,26 +371,45 @@ describe("bulk item operations", function() { }, { operationType: BulkOperationType.Replace, - partitionKey: 5, id: replaceItemId, resourceBody: { id: replaceItemId, name: "nice", key: 5 } + }, + { + operationType: BulkOperationType.Patch, + partitionKey: 5, + id: patchItemId, + resourceBody: { + operations: [{ op: PatchOperationType.add, path: "/great", value: "goodValue" }] + } + }, + { + operationType: BulkOperationType.Patch, + partitionKey: 5, + id: patchItemId, + resourceBody: { + operations: [{ op: PatchOperationType.add, path: "/good", value: "greatValue" }], + condition: "from c where NOT IS_DEFINED(c.newImproved)" + } } ]; const response = await v2Container.items.bulk(operations); // Create - assert.equal(response[0].resourceBody.name, "sample"); - assert.equal(response[0].statusCode, 201); + assert.strictEqual(response[0].resourceBody.name, "sample"); + assert.strictEqual(response[0].statusCode, 201); // Upsert - assert.equal(response[1].resourceBody.name, "other"); - assert.equal(response[1].statusCode, 201); + assert.strictEqual(response[1].resourceBody.name, "other"); + assert.strictEqual(response[1].statusCode, 201); // Read - assert.equal(response[2].resourceBody.class, "2010"); - assert.equal(response[2].statusCode, 200); + assert.strictEqual(response[2].resourceBody.class, "2010"); + assert.strictEqual(response[2].statusCode, 200); // Delete - assert.equal(response[3].statusCode, 204); + assert.strictEqual(response[3].statusCode, 204); // Replace - assert.equal(response[4].resourceBody.name, "nice"); - assert.equal(response[4].statusCode, 200); + assert.strictEqual(response[4].resourceBody.name, "nice"); + assert.strictEqual(response[4].statusCode, 200); + // Patch + assert.strictEqual(response[5].resourceBody.great, "goodValue"); + assert.strictEqual(response[5].statusCode, 200); }); it("respects order", async function() { readItemId = addEntropy("item1"); @@ -441,12 +470,12 @@ describe("bulk item operations", function() { resourceBody: { key: "A", licenseType: "B", - id: "o239uroihndsf" + id: addEntropy("sifjsiof") } } ]; const response = await v2Container.items.bulk(operations, { continueOnError: true }); - assert.equal(response[1].statusCode, 201); + assert.strictEqual(response[1].statusCode, 201); }); it("autogenerates IDs for Create operations", async function() { const operations = [ @@ -586,4 +615,192 @@ describe("bulk item operations", function() { assert.equal(resp[0].statusCode, 200); }); }); + + describe("v2 single partition container", async function() { + let container: Container; + let createItemId: string; + let otherItemId: string; + let upsertItemId: string; + let replaceItemId: string; + let deleteItemId: string; + let patchItemId: string; + before(async function() { + const client = new CosmosClient({ key: masterKey, endpoint }); + const db = await client.databases.createIfNotExists({ id: "patchDb" }); + const contResponse = await db.database.containers.createIfNotExists({ + id: "patchContainer", + partitionKey: { + paths: ["/key"], + version: 2 + }, + throughput: 25100 + }); + container = contResponse.container; + deleteItemId = addEntropy("item1"); + createItemId = addEntropy("item2"); + otherItemId = addEntropy("item2"); + upsertItemId = addEntropy("item4"); + replaceItemId = addEntropy("item3"); + patchItemId = addEntropy("item5"); + await container.items.create({ + id: deleteItemId, + key: "A", + class: "2010" + }); + await container.items.create({ + id: replaceItemId, + key: "A", + class: "2010" + }); + await container.items.create({ + id: patchItemId, + key: "A", + class: "2010" + }); + }); + it("can batch all operation types", async function() { + const operations: OperationInput[] = [ + { + operationType: BulkOperationType.Create, + resourceBody: { id: createItemId, key: "A", school: "high" } + }, + { + operationType: BulkOperationType.Upsert, + resourceBody: { id: upsertItemId, key: "A", school: "elementary" } + }, + { + operationType: BulkOperationType.Replace, + id: replaceItemId, + resourceBody: { id: replaceItemId, key: "A", school: "junior high" } + }, + { + operationType: BulkOperationType.Delete, + id: deleteItemId + }, + { + operationType: BulkOperationType.Patch, + id: patchItemId, + resourceBody: { + operations: [{ op: PatchOperationType.add, path: "/good", value: "greatValue" }], + condition: "from c where NOT IS_DEFINED(c.newImproved)" + } + } + ]; + + const response = await container.items.batch(operations, "A"); + assert.strictEqual(response.result[0].statusCode, 201); + assert.strictEqual(response.result[1].statusCode, 201); + assert.strictEqual(response.result[2].statusCode, 200); + assert.strictEqual(response.result[3].statusCode, 204); + assert.strictEqual(response.result[4].statusCode, 200); + }); + it("rolls back prior operations when one fails", async function() { + const operations: OperationInput[] = [ + { + operationType: BulkOperationType.Upsert, + resourceBody: { id: otherItemId, key: "A", school: "elementary" } + }, + { + operationType: BulkOperationType.Delete, + id: deleteItemId + addEntropy("make this 404") + } + ]; + + const deleteResponse = await container.items.batch(operations, "A"); + assert.strictEqual(deleteResponse.result[0].statusCode, 424); + assert.strictEqual(deleteResponse.result[1].statusCode, 404); + const { resource: readItem } = await container.item(otherItemId).read(); + assert.strictEqual(readItem, undefined); + }); + }); +}); +describe("patch operations", function() { + describe("various mixed operations", function() { + let container: Container; + let addItemId: string; + let conditionItemId: string; + before(async function() { + addItemId = addEntropy("addItemId"); + conditionItemId = addEntropy("conditionItemId"); + const client = new CosmosClient({ key: masterKey, endpoint }); + const db = await client.databases.createIfNotExists({ id: "patchDb" }); + const contResponse = await db.database.containers.createIfNotExists({ + id: "patchContainer", + partitionKey: { + paths: ["/key"], + version: 2 + }, + throughput: 25100 + }); + container = contResponse.container; + await container.items.upsert({ + id: addItemId, + first: 1, + last: "a", + removable: "yes", + existingObj: { + key: "val" + }, + num: 0 + }); + await container.items.upsert({ + id: conditionItemId, + first: 1, + last: "a", + removable: "no", + existingObj: { + key: "val" + }, + num: 0 + }); + }); + it("handles add, remove, replace, set, incr", async function() { + const operations: PatchOperation[] = [ + { + op: "add", + path: "/laster", + value: "c" + }, + { + op: "replace", + path: "/last", + value: "b" + }, + { + op: "remove", + path: "/removable" + }, + { + op: "set", + path: "/existingObj/newKey", + value: "newVal" + }, + { + op: "incr", + path: "/num", + value: 5 + } + ]; + const { resource: addItem } = await container.item(addItemId).patch(operations); + assert.strictEqual(addItem.num, 5); + assert.strictEqual(addItem.existingObj.newKey, "newVal"); + assert.strictEqual(addItem.laster, "c"); + assert.strictEqual(addItem.last, "b"); + assert.strictEqual(addItem.removable, undefined); + }); + it("conditionally patches", async function() { + const operations: PatchOperation[] = [ + { + op: "add", + path: "/newImproved", + value: "it works" + } + ]; + const condition = "from c where NOT IS_DEFINED(c.newImproved)"; + const { resource: conditionItem } = await container + .item(conditionItemId) + .patch({ condition, operations }); + assert.strictEqual(conditionItem.newImproved, "it works"); + }); + }); }); diff --git a/sdk/cosmosdb/cosmos/test/public/functional/npcontainer.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/npcontainer.spec.ts index 29279bdc5bab..2db96bdbed47 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/npcontainer.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/npcontainer.spec.ts @@ -9,7 +9,8 @@ import { CosmosClientOptions } from "../../../src"; import { removeAllDatabases, getTestContainer } from "../common/TestHelpers"; -import { endpoint, masterKey } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { ResourceType, HTTPMethod, StatusCodes } from "../../../src"; const plugins: PluginConfig[] = [ diff --git a/sdk/cosmosdb/cosmos/test/public/functional/offer.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/offer.spec.ts index 403302d22f07..ccc6afac7fe3 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/offer.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/offer.spec.ts @@ -4,7 +4,8 @@ import assert from "assert"; import { Context } from "mocha"; import { Suite } from "mocha"; import { Constants, CosmosClient } from "../../../src"; -import { endpoint, masterKey } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { getTestContainer, removeAllDatabases } from "../common/TestHelpers"; const client = new CosmosClient({ diff --git a/sdk/cosmosdb/cosmos/test/public/functional/query.spec.ts b/sdk/cosmosdb/cosmos/test/public/functional/query.spec.ts index 08f5089502ba..9d987b3839b1 100644 --- a/sdk/cosmosdb/cosmos/test/public/functional/query.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/functional/query.spec.ts @@ -4,7 +4,8 @@ import assert from "assert"; import { Suite } from "mocha"; import { CosmosClient } from "../../../src"; import { Container } from "../../../src/"; -import { endpoint, masterKey } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { getTestContainer, getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; const client = new CosmosClient({ diff --git a/sdk/cosmosdb/cosmos/test/public/integration/failover.spec.ts b/sdk/cosmosdb/cosmos/test/public/integration/failover.spec.ts index 67b25e4d6fcb..ff2b87d4a62b 100644 --- a/sdk/cosmosdb/cosmos/test/public/integration/failover.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/integration/failover.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { CosmosClient, PluginOn, CosmosClientOptions, PluginConfig } from "../../../src"; -import { masterKey } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import assert from "assert"; const endpoint = "https://failovertest.documents.azure.com/"; diff --git a/sdk/cosmosdb/cosmos/test/public/integration/multiregion.spec.ts b/sdk/cosmosdb/cosmos/test/public/integration/multiregion.spec.ts index 1aa883d59465..58631d70466a 100644 --- a/sdk/cosmosdb/cosmos/test/public/integration/multiregion.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/integration/multiregion.spec.ts @@ -4,7 +4,7 @@ import assert from "assert"; import { Suite } from "mocha"; import { CosmosClient } from "../../../src"; -import { masterKey } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { PluginOn, PluginConfig, CosmosClientOptions } from "../../../src"; const endpoint = "https://failovertest.documents.azure.com/"; diff --git a/sdk/cosmosdb/cosmos/test/public/integration/proxy.spec.ts b/sdk/cosmosdb/cosmos/test/public/integration/proxy.spec.ts index 8931c80e7e30..a14657a134ae 100644 --- a/sdk/cosmosdb/cosmos/test/public/integration/proxy.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/integration/proxy.spec.ts @@ -6,7 +6,8 @@ // import { URL } from "url"; // import ProxyAgent from "proxy-agent"; // import { CosmosClient } from "../../../src"; -// import { endpoint, masterKey } from "../common/_testConfig"; +// import { endpoint } from "../common/_testConfig"; +// import { masterKey } from "../common/_fakeTestSecrets"; // import { addEntropy } from "../common/TestHelpers"; // const isBrowser = new Function("try {return this===window;}catch(e){ return false;}"); diff --git a/sdk/cosmosdb/cosmos/test/public/integration/split.spec.ts b/sdk/cosmosdb/cosmos/test/public/integration/split.spec.ts index e001e3ff3159..d464ee7181a8 100644 --- a/sdk/cosmosdb/cosmos/test/public/integration/split.spec.ts +++ b/sdk/cosmosdb/cosmos/test/public/integration/split.spec.ts @@ -3,7 +3,8 @@ import { Container } from "../../../src"; import { bulkInsertItems, getTestContainer, removeAllDatabases } from "../common/TestHelpers"; import { Constants, CosmosClient, PluginOn, CosmosClientOptions, PluginConfig } from "../../../src"; -import { masterKey, endpoint } from "../common/_testConfig"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; import { SubStatusCodes } from "../../../src/common"; import assert from "assert"; diff --git a/sdk/cosmosdb/cosmos/test/public/integration/timeout.spec.ts b/sdk/cosmosdb/cosmos/test/public/integration/timeout.spec.ts new file mode 100644 index 000000000000..ee8fe717ed20 --- /dev/null +++ b/sdk/cosmosdb/cosmos/test/public/integration/timeout.spec.ts @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import assert from "assert"; +import { Container, CosmosClient } from "../../../src"; +import { addEntropy, removeAllDatabases } from "../common/TestHelpers"; +import { endpoint } from "../common/_testConfig"; +import { masterKey } from "../common/_fakeTestSecrets"; + +describe("Timeout", function() { + beforeEach(async function() { + await removeAllDatabases(); + }); + + it("successfully exits queries after a timeout duration", async function() { + const clientA = new CosmosClient({ + endpoint, + key: masterKey, + connectionPolicy: { + enableBackgroundEndpointRefreshing: false, + requestTimeout: 500, + retryOptions: { + maxRetryAttemptCount: 2, + maxWaitTimeInSeconds: 5, + fixedRetryIntervalInMilliseconds: 0 + } + }, + plugins: [ + { + on: "request", + plugin: async (context, next) => { + // Simulate a request longer than our timeout duration + await new Promise((resolve) => { + setTimeout(() => { + resolve(); + }, 1500); + }); + const response = await next(context); + return response; + } + } + ] + }); + + const dbId = addEntropy("timeouttest"); + const containerId = addEntropy("timeouttest"); + + // Create Database and Container + try { + const { database } = await clientA.databases.createIfNotExists({ + id: dbId + }); + const { container } = await database.containers.createIfNotExists({ + id: containerId + }); + + // Create an item using client + await createItem(container); + } catch (e) { + assert.equal(e.code, "TimeoutError"); + } + }); +}); + +async function createItem(container: Container) { + const { + resource: { id } + } = await container.items.create({ + id: (Math.random() + 1).toString(36).substring(7) + }); + return id; +} diff --git a/sdk/databricks/arm-databricks/README.md b/sdk/databricks/arm-databricks/README.md index a98459c8bb4d..85f2c9270f71 100644 --- a/sdk/databricks/arm-databricks/README.md +++ b/sdk/databricks/arm-databricks/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for DatabricksClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/deviceupdate/iot-device-update/package.json b/sdk/deviceupdate/iot-device-update/package.json index 6952c9d5f062..5e1b568f8eeb 100644 --- a/sdk/deviceupdate/iot-device-update/package.json +++ b/sdk/deviceupdate/iot-device-update/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@microsoft/api-extractor": "7.7.11", "@types/node": "^12.0.0", "@types/uuid": "^8.0.0", @@ -35,8 +35,6 @@ "mkdirp": "^1.0.4", "prettier": "^1.16.4", "rimraf": "^3.0.0", - "rollup-plugin-node-resolve": "^3.4.0", - "rollup-plugin-sourcemaps": "^0.4.2", "rollup": "^1.16.3", "source-map-support": "^0.5.9", "typedoc": "0.15.2", @@ -84,7 +82,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "echo skip", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -97,7 +95,6 @@ "lint:fix": "echo skip", "lint": "echo skip", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "echo skip", "test:node": "echo skip", "test": "echo skip", diff --git a/sdk/digitaltwins/digital-twins-core/karma.conf.js b/sdk/digitaltwins/digital-twins-core/karma.conf.js index 4997eb8dd142..9b102020d3d7 100644 --- a/sdk/digitaltwins/digital-twins-core/karma.conf.js +++ b/sdk/digitaltwins/digital-twins-core/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/digitaltwins/digital-twins-core/package.json b/sdk/digitaltwins/digital-twins-core/package.json index fc22fa152f58..a46d4b2c4c1d 100644 --- a/sdk/digitaltwins/digital-twins-core/package.json +++ b/sdk/digitaltwins/digital-twins-core/package.json @@ -15,7 +15,7 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1 && npm run extract-api", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:test:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c rollup.test.config.js 2>&1", "build:test:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c rollup.test.config.js 2>&1", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", @@ -33,7 +33,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:node": "npm run clean && npm run build:test:node && npm run unit-test:node", "test:browser": "npm run clean && npm run build:test:browser && npm run unit-test:browser", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -75,8 +74,8 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", - "@azure/test-utils-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", diff --git a/sdk/digitaltwins/digital-twins-core/test/public/testComponents.spec.ts b/sdk/digitaltwins/digital-twins-core/test/public/testComponents.spec.ts index 3b52a70c1217..e38b809d5610 100644 --- a/sdk/digitaltwins/digital-twins-core/test/public/testComponents.spec.ts +++ b/sdk/digitaltwins/digital-twins-core/test/public/testComponents.spec.ts @@ -3,7 +3,7 @@ import { DigitalTwinsClient, DigitalTwinsUpdateComponentOptionalParams } from "../../src"; import { authenticate } from "../utils/testAuthentication"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import chai from "chai"; const assert = chai.assert; diff --git a/sdk/digitaltwins/digital-twins-core/test/public/testDigitalTwins.spec.ts b/sdk/digitaltwins/digital-twins-core/test/public/testDigitalTwins.spec.ts index 1d304bd6d591..51bfc2b42946 100644 --- a/sdk/digitaltwins/digital-twins-core/test/public/testDigitalTwins.spec.ts +++ b/sdk/digitaltwins/digital-twins-core/test/public/testDigitalTwins.spec.ts @@ -8,7 +8,7 @@ import { DigitalTwinsUpdateOptionalParams } from "../../src"; import { authenticate } from "../utils/testAuthentication"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { delay } from "@azure/core-http"; import chai from "chai"; diff --git a/sdk/digitaltwins/digital-twins-core/test/public/testEventRoutes.spec.ts b/sdk/digitaltwins/digital-twins-core/test/public/testEventRoutes.spec.ts index 57c69aeb16c1..312fd6667aaf 100644 --- a/sdk/digitaltwins/digital-twins-core/test/public/testEventRoutes.spec.ts +++ b/sdk/digitaltwins/digital-twins-core/test/public/testEventRoutes.spec.ts @@ -3,7 +3,7 @@ import { DigitalTwinsClient } from "../../src"; import { authenticate } from "../utils/testAuthentication"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import chai from "chai"; const assert = chai.assert; diff --git a/sdk/digitaltwins/digital-twins-core/test/public/testModels.spec.ts b/sdk/digitaltwins/digital-twins-core/test/public/testModels.spec.ts index a66a181fde2c..cf467707d511 100644 --- a/sdk/digitaltwins/digital-twins-core/test/public/testModels.spec.ts +++ b/sdk/digitaltwins/digital-twins-core/test/public/testModels.spec.ts @@ -3,7 +3,7 @@ import { DigitalTwinsClient } from "../../src"; import { authenticate } from "../utils/testAuthentication"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import chai from "chai"; import { delay } from "@azure/core-http"; diff --git a/sdk/digitaltwins/digital-twins-core/test/public/testRelationships.spec.ts b/sdk/digitaltwins/digital-twins-core/test/public/testRelationships.spec.ts index 77cf0164f7ef..cb5d67347986 100644 --- a/sdk/digitaltwins/digital-twins-core/test/public/testRelationships.spec.ts +++ b/sdk/digitaltwins/digital-twins-core/test/public/testRelationships.spec.ts @@ -3,7 +3,7 @@ import { DigitalTwinsClient, DigitalTwinsAddRelationshipOptionalParams } from "../../src"; import { authenticate } from "../utils/testAuthentication"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import chai from "chai"; const assert = chai.assert; diff --git a/sdk/digitaltwins/digital-twins-core/test/utils/recorderUtils.ts b/sdk/digitaltwins/digital-twins-core/test/utils/recorderUtils.ts index dce9de46df48..fff15a84fadb 100644 --- a/sdk/digitaltwins/digital-twins-core/test/utils/recorderUtils.ts +++ b/sdk/digitaltwins/digital-twins-core/test/utils/recorderUtils.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { isPlaybackMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import * as dotenv from "dotenv"; diff --git a/sdk/digitaltwins/digital-twins-core/test/utils/testAuthentication.ts b/sdk/digitaltwins/digital-twins-core/test/utils/testAuthentication.ts index 7fb8e921f828..cd5ad156c9f2 100644 --- a/sdk/digitaltwins/digital-twins-core/test/utils/testAuthentication.ts +++ b/sdk/digitaltwins/digital-twins-core/test/utils/testAuthentication.ts @@ -3,7 +3,7 @@ import { ClientSecretCredential } from "@azure/identity"; import { DigitalTwinsClient } from "../../src"; -import { env, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { uniqueString } from "./recorderUtils"; import TestClient from "./testClient"; diff --git a/sdk/documenttranslator/ai-document-translator-rest/karma.conf.js b/sdk/documenttranslator/ai-document-translator-rest/karma.conf.js index 00d005abbcaa..42e2e625fb4c 100644 --- a/sdk/documenttranslator/ai-document-translator-rest/karma.conf.js +++ b/sdk/documenttranslator/ai-document-translator-rest/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode, -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function (config) { config.set({ diff --git a/sdk/documenttranslator/ai-document-translator-rest/package.json b/sdk/documenttranslator/ai-document-translator-rest/package.json index b4c41f6d463e..4366b9840967 100644 --- a/sdk/documenttranslator/ai-document-translator-rest/package.json +++ b/sdk/documenttranslator/ai-document-translator-rest/package.json @@ -64,7 +64,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:debug": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", @@ -77,7 +77,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -90,7 +89,7 @@ "autoPublish": false, "dependencies": { "@azure/core-auth": "^1.3.0", - "@azure-rest/core-client": "1.0.0-beta.6", + "@azure-rest/core-client": "1.0.0-beta.7", "@azure/core-rest-pipeline": "^1.1.0", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" @@ -99,7 +98,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/identity": "^1.1.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.13.2", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", diff --git a/sdk/documenttranslator/ai-document-translator-rest/test/public/listFormats.spec.ts b/sdk/documenttranslator/ai-document-translator-rest/test/public/listFormats.spec.ts index d3e4fa25e527..13c768e85e08 100644 --- a/sdk/documenttranslator/ai-document-translator-rest/test/public/listFormats.spec.ts +++ b/sdk/documenttranslator/ai-document-translator-rest/test/public/listFormats.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { DocumentTranslatorClient } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; diff --git a/sdk/documenttranslator/ai-document-translator-rest/test/public/utils/recordedClient.ts b/sdk/documenttranslator/ai-document-translator-rest/test/public/utils/recordedClient.ts index f80cc877e771..5681742d6b2b 100644 --- a/sdk/documenttranslator/ai-document-translator-rest/test/public/utils/recordedClient.ts +++ b/sdk/documenttranslator/ai-document-translator-rest/test/public/utils/recordedClient.ts @@ -5,7 +5,7 @@ import { Context } from "mocha"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import DocumentTranslator, { DocumentTranslatorClient } from "../../../src"; import "./env"; diff --git a/sdk/eventgrid/eventgrid/CHANGELOG.md b/sdk/eventgrid/eventgrid/CHANGELOG.md index 7b65a135cc6a..d2a9c27f8eaa 100644 --- a/sdk/eventgrid/eventgrid/CHANGELOG.md +++ b/sdk/eventgrid/eventgrid/CHANGELOG.md @@ -1,14 +1,10 @@ # Release History -## 4.4.1 (Unreleased) +## 4.5.0 (Unreleased) ### Features Added -### Breaking Changes - -### Bugs Fixed - -### Other Changes +- Added new System Event: `Microsoft.ContainerService.NewKubernetesVersionAvailable` ## 4.4.0 (2021-07-19) diff --git a/sdk/eventgrid/eventgrid/README.md b/sdk/eventgrid/eventgrid/README.md index 13df9dbffa9e..a38d43f74f86 100644 --- a/sdk/eventgrid/eventgrid/README.md +++ b/sdk/eventgrid/eventgrid/README.md @@ -20,8 +20,6 @@ Key links: ### Currently supported environments -### Currently supported environments - - [LTS versions of Node.js](https://nodejs.org/about/releases/) - Latest versions of Safari, Chrome, Edge, and Firefox. diff --git a/sdk/eventgrid/eventgrid/karma.conf.js b/sdk/eventgrid/eventgrid/karma.conf.js index 35472f6af2cf..a686c0d621f1 100644 --- a/sdk/eventgrid/eventgrid/karma.conf.js +++ b/sdk/eventgrid/eventgrid/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/eventgrid/eventgrid/package.json b/sdk/eventgrid/eventgrid/package.json index dbcc50cf2a5d..123014206420 100644 --- a/sdk/eventgrid/eventgrid/package.json +++ b/sdk/eventgrid/eventgrid/package.json @@ -3,7 +3,7 @@ "sdk-type": "client", "author": "Microsoft Corporation", "description": "An isomorphic client library for the Azure Event Grid service.", - "version": "4.4.1", + "version": "4.5.0", "keywords": [ "node", "azure", @@ -65,7 +65,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-browser dist-esm dist-test temp types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -77,7 +77,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -102,7 +101,7 @@ "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/service-bus": "^7.0.0", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", @@ -145,7 +144,7 @@ "rollup-plugin-visualizer": "^4.0.4", "sinon": "^9.0.2", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "typedoc": "0.15.2" } diff --git a/sdk/eventgrid/eventgrid/review/eventgrid.api.md b/sdk/eventgrid/eventgrid/review/eventgrid.api.md index 76bc8990f9ab..c20f7bb7d5d0 100644 --- a/sdk/eventgrid/eventgrid/review/eventgrid.api.md +++ b/sdk/eventgrid/eventgrid/review/eventgrid.api.md @@ -349,6 +349,14 @@ export type ContainerRegistryImageDeletedEventData = ContainerRegistryEventData // @public export type ContainerRegistryImagePushedEventData = ContainerRegistryEventData & {}; +// @public +export interface ContainerServiceNewKubernetesVersionAvailableEventData { + latestPreviewKubernetesVersion: string; + latestStableKubernetesVersion: string; + latestSupportedKubernetesVersion: string; + lowestMinorKubernetesVersion: string; +} + // @public export interface DeviceConnectionStateEvent { deviceConnectionStateEventInfo: DeviceConnectionStateEventInfo; @@ -1324,6 +1332,7 @@ export interface SystemEventNameToEventData { "Microsoft.ContainerRegistry.ChartPushed": ContainerRegistryChartPushedEventData; "Microsoft.ContainerRegistry.ImageDeleted": ContainerRegistryImageDeletedEventData; "Microsoft.ContainerRegistry.ImagePushed": ContainerRegistryImagePushedEventData; + "Microsoft.ContainerService.NewKubernetesVersionAvailable": ContainerServiceNewKubernetesVersionAvailableEventData; "Microsoft.Devices.DeviceConnected": IotHubDeviceConnectedEventData; "Microsoft.Devices.DeviceCreated": IotHubDeviceCreatedEventData; "Microsoft.Devices.DeviceDeleted": IotHubDeviceDeletedEventData; diff --git a/sdk/eventgrid/eventgrid/src/generated/generatedClientContext.ts b/sdk/eventgrid/eventgrid/src/generated/generatedClientContext.ts index acd18996ef76..5cbf23188e84 100644 --- a/sdk/eventgrid/eventgrid/src/generated/generatedClientContext.ts +++ b/sdk/eventgrid/eventgrid/src/generated/generatedClientContext.ts @@ -26,7 +26,7 @@ export class GeneratedClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-eventgrid/4.4.0`; + const packageDetails = `azsdk-js-eventgrid/4.5.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/eventgrid/eventgrid/src/generated/models/index.ts b/sdk/eventgrid/eventgrid/src/generated/models/index.ts index 211d6973376f..a6a9bce86740 100644 --- a/sdk/eventgrid/eventgrid/src/generated/models/index.ts +++ b/sdk/eventgrid/eventgrid/src/generated/models/index.ts @@ -2051,6 +2051,18 @@ export interface PolicyInsightsPolicyStateDeletedEventData { complianceReasonCode: string; } +/** Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.NewKubernetesVersionAvailable event */ +export interface ContainerServiceNewKubernetesVersionAvailableEventData { + /** The highest PATCH Kubernetes version for the highest MINOR version supported by ManagedCluster resource */ + latestSupportedKubernetesVersion: string; + /** The highest PATCH Kubernetes version for the MINOR version considered stable for the ManagedCluster resource */ + latestStableKubernetesVersion: string; + /** The highest PATCH Kubernetes version for the lowest applicable MINOR version available for the ManagedCluster resource */ + lowestMinorKubernetesVersion: string; + /** The highest PATCH Kubernetes version considered preview for the ManagedCluster resource. There might not be any version in preview at the time of publishing the event */ + latestPreviewKubernetesVersion: string; +} + /** Event data for Microsoft.Devices.DeviceCreated event. */ export type IotHubDeviceCreatedEventData = DeviceLifeCycleEvent & {}; diff --git a/sdk/eventgrid/eventgrid/src/generated/models/mappers.ts b/sdk/eventgrid/eventgrid/src/generated/models/mappers.ts index ad82900db123..9fc904c491b8 100644 --- a/sdk/eventgrid/eventgrid/src/generated/models/mappers.ts +++ b/sdk/eventgrid/eventgrid/src/generated/models/mappers.ts @@ -5945,6 +5945,43 @@ export const PolicyInsightsPolicyStateDeletedEventData: coreClient.CompositeMapp } }; +export const ContainerServiceNewKubernetesVersionAvailableEventData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ContainerServiceNewKubernetesVersionAvailableEventData", + modelProperties: { + latestSupportedKubernetesVersion: { + serializedName: "latestSupportedKubernetesVersion", + required: true, + type: { + name: "String" + } + }, + latestStableKubernetesVersion: { + serializedName: "latestStableKubernetesVersion", + required: true, + type: { + name: "String" + } + }, + lowestMinorKubernetesVersion: { + serializedName: "lowestMinorKubernetesVersion", + required: true, + type: { + name: "String" + } + }, + latestPreviewKubernetesVersion: { + serializedName: "latestPreviewKubernetesVersion", + required: true, + type: { + name: "String" + } + } + } + } +}; + export const IotHubDeviceCreatedEventData: coreClient.CompositeMapper = { type: { name: "Composite", diff --git a/sdk/eventgrid/eventgrid/src/index.ts b/sdk/eventgrid/eventgrid/src/index.ts index 7fffdef16fda..bbdc9d708729 100644 --- a/sdk/eventgrid/eventgrid/src/index.ts +++ b/sdk/eventgrid/eventgrid/src/index.ts @@ -64,6 +64,7 @@ export { ContainerRegistryImageDeletedEventData, ContainerRegistryChartDeletedEventData, ContainerRegistryChartPushedEventData, + ContainerServiceNewKubernetesVersionAvailableEventData, DeviceConnectionStateEventInfo, DeviceTwinInfo, DeviceTwinInfoProperties, diff --git a/sdk/eventgrid/eventgrid/src/predicates.ts b/sdk/eventgrid/eventgrid/src/predicates.ts index 2f06809ae874..b2e4ded77ef8 100644 --- a/sdk/eventgrid/eventgrid/src/predicates.ts +++ b/sdk/eventgrid/eventgrid/src/predicates.ts @@ -24,6 +24,7 @@ import { ContainerRegistryChartPushedEventData, ContainerRegistryImageDeletedEventData, ContainerRegistryImagePushedEventData, + ContainerServiceNewKubernetesVersionAvailableEventData, EventHubCaptureFileCreatedEventData, IotHubDeviceConnectedEventData, IotHubDeviceCreatedEventData, @@ -157,6 +158,8 @@ export interface SystemEventNameToEventData { "Microsoft.Communication.SMSDeliveryReportReceived": AcsSmsDeliveryReportReceivedEventData; /** An interface for the event data of a "Microsoft.Communication.SMSReceived" event. */ "Microsoft.Communication.SMSReceived": AcsSmsReceivedEventData; + /** An interface for the event data of a "Microsoft.ContainerService.NewKubernetesVersionAvailable" event. */ + "Microsoft.ContainerService.NewKubernetesVersionAvailable": ContainerServiceNewKubernetesVersionAvailableEventData; /** An interface for the event data of a "Microsoft.AppConfiguration.KeyValueDeleted" event. */ "Microsoft.AppConfiguration.KeyValueDeleted": AppConfigurationKeyValueDeletedEventData; /** An interface for the event data of a "Microsoft.AppConfiguration.KeyValueModified" event. */ diff --git a/sdk/eventgrid/eventgrid/swagger/README.md b/sdk/eventgrid/eventgrid/swagger/README.md index d7e3ae8da694..3a648bce666c 100644 --- a/sdk/eventgrid/eventgrid/swagger/README.md +++ b/sdk/eventgrid/eventgrid/swagger/README.md @@ -5,9 +5,9 @@ ## Configuration ```yaml -require: "https://github.com/Azure/azure-rest-api-specs/blob/e793a8cd4b8d8b6b21cc7a26e364ad56d23a4861/specification/eventgrid/data-plane/readme.md" +require: "https://github.com/Azure/azure-rest-api-specs/blob/7026463801584950d4ccbaa6b05b15d29555dd3a/specification/eventgrid/data-plane/readme.md" package-name: "@azure/eventgrid" -package-version: "4.4.1" +package-version: "4.5.0" title: GeneratedClient description: EventGrid Client generate-metadata: false @@ -18,6 +18,8 @@ save-inputs: true source-code-folder-path: ./src/generated typescript: true hide-clients: true +use-extension: + "@autorest/typescript": "6.0.0-beta.4" ``` ## Customizations diff --git a/sdk/eventgrid/eventgrid/test/public/eventGridClient.spec.ts b/sdk/eventgrid/eventgrid/test/public/eventGridClient.spec.ts index 689671de4386..96d39e1de156 100644 --- a/sdk/eventgrid/eventgrid/test/public/eventGridClient.spec.ts +++ b/sdk/eventgrid/eventgrid/test/public/eventGridClient.spec.ts @@ -4,7 +4,7 @@ import { assert } from "chai"; import { Suite, Context } from "mocha"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { createRecordedClient, testEnv } from "./utils/recordedClient"; diff --git a/sdk/eventgrid/eventgrid/test/public/utils/recordedClient.ts b/sdk/eventgrid/eventgrid/test/public/utils/recordedClient.ts index 4b34dddb1abe..d162b76d29ce 100644 --- a/sdk/eventgrid/eventgrid/test/public/utils/recordedClient.ts +++ b/sdk/eventgrid/eventgrid/test/public/utils/recordedClient.ts @@ -4,7 +4,7 @@ import { Context } from "mocha"; import * as dotenv from "dotenv"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { isNode } from "./testUtils"; import { EventGridPublisherClient, InputSchema } from "../../../src"; diff --git a/sdk/eventgrid/perf-tests/eventgrid/package.json b/sdk/eventgrid/perf-tests/eventgrid/package.json index 92ddc55c0088..b4c70b8122d3 100644 --- a/sdk/eventgrid/perf-tests/eventgrid/package.json +++ b/sdk/eventgrid/perf-tests/eventgrid/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-eventgrid", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -17,18 +18,18 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "private": true, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -36,7 +37,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/eventhub/arm-eventhub/CHANGELOG.md b/sdk/eventhub/arm-eventhub/CHANGELOG.md new file mode 100644 index 000000000000..f2d8d305bf25 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/CHANGELOG.md @@ -0,0 +1,26 @@ +# Release History + +## 30.0.0-beta.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.1 (2021-09-07) + +This is the first preview for the new version of the `@azure/arm-eventhub` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/eventhub/arm-eventhub/LICENSE.txt b/sdk/eventhub/arm-eventhub/LICENSE similarity index 96% rename from sdk/eventhub/arm-eventhub/LICENSE.txt rename to sdk/eventhub/arm-eventhub/LICENSE index b73b4a1293c3..ccb63b166732 100644 --- a/sdk/eventhub/arm-eventhub/LICENSE.txt +++ b/sdk/eventhub/arm-eventhub/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2019 Microsoft +Copyright (c) 2021 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 @@ -18,4 +18,4 @@ 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. +SOFTWARE. \ No newline at end of file diff --git a/sdk/eventhub/arm-eventhub/README.md b/sdk/eventhub/arm-eventhub/README.md index 1bebe8ce0919..c168d241a910 100644 --- a/sdk/eventhub/arm-eventhub/README.md +++ b/sdk/eventhub/arm-eventhub/README.md @@ -1,109 +1,93 @@ -## Azure EventHubManagementClient SDK for JavaScript +# Azure EventHubManagement client library for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for EventHubManagementClient. +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure EventHubManagement client. + +Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/eventhub/arm-eventhub) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-eventhub) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-eventhub) | +[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. +- Latest versions of Safari, Chrome, Edge and Firefox. ### Prerequisites -You must have an [Azure subscription](https://azure.microsoft.com/free/). +- An [Azure subscription][azure_sub]. -### How to install +### Install the `@azure/arm-eventhub` package -To use this SDK in your project, you will need to install two packages. -- `@azure/arm-eventhub` that contains the client. -- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. +Install the Azure EventHubManagement client library for JavaScript with `npm`: -Install both packages using the below command: ```bash -npm install --save @azure/arm-eventhub @azure/identity +npm install @azure/arm-eventhub ``` -> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. -If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. +### Create and authenticate a `EventHubManagementClient` -### How to use +To create a client object to access the Azure EventHubManagement API, you will need the `endpoint` of your Azure EventHubManagement resource and a `credential`. The Azure EventHubManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure EventHubManagement resource in the [Azure Portal][azure_portal]. -- If you are writing a client side browser application, - - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. - - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. -- If you are writing a server side application, - - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) - - Complete the set up steps required by the credential if any. - - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. +#### Using an Azure Active Directory Credential -In the below samples, we pass the credential and the Azure subscription id to instantiate the client. -Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: -#### nodejs - Authentication, client creation, and list operations as an example written in JavaScript. +```bash +npm install @azure/identity +``` -##### Sample code +You will also need to **register a new AAD application and grant access to Azure EventHubManagement** 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 { DefaultAzureCredential } = require("@azure/identity"); const { EventHubManagementClient } = require("@azure/arm-eventhub"); -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples -// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. -const creds = new DefaultAzureCredential(); -const client = new EventHubManagementClient(creds, subscriptionId); - -client.operations.list().then((result) => { - console.log("The result is:"); - console.log(result); -}).catch((err) => { - console.log("An error occurred:"); - console.error(err); -}); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new EventHubManagementClient(new DefaultAzureCredential(), subscriptionId); ``` -#### browser - Authentication, client creation, and list operations as an example written in JavaScript. - -In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. - - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. - - Note down the client Id from the previous step and use it in the browser sample below. - -##### Sample code - -- index.html - -```html - - - - @azure/arm-eventhub sample - - - - - - - +## Key concepts + +### EventHubManagementClient + +`EventHubManagementClient` is the primary interface for developers using the Azure EventHubManagement client library. Explore the methods on this client object to understand the different features of the Azure EventHubManagement 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) +- [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%2Feventhub%2Farm-eventhub%2FREADME.png) -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/.\sdk\eventhub\arm-eventhub\/README.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/eventhub/arm-eventhub/_meta.json b/sdk/eventhub/arm-eventhub/_meta.json new file mode 100644 index 000000000000..445c171dc130 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "5d09c12c024fa7efbaca6a95b9741a46a886fe6f", + "readme": "specification/eventhub/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/eventhub/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.12", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-beta.12" +} \ No newline at end of file diff --git a/sdk/eventhub/arm-eventhub/api-extractor.json b/sdk/eventhub/arm-eventhub/api-extractor.json new file mode 100644 index 000000000000..3c9d4b6efa33 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-eventhub.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/eventhub/arm-eventhub/package.json b/sdk/eventhub/arm-eventhub/package.json index 74625440a88b..f6140aa72ee6 100644 --- a/sdk/eventhub/arm-eventhub/package.json +++ b/sdk/eventhub/arm-eventhub/package.json @@ -1,13 +1,20 @@ { "name": "@azure/arm-eventhub", + "sdk-type": "mgmt", "author": "Microsoft Corporation", - "description": "EventHubManagementClient Library with typescript type definitions for node.js and browser.", - "version": "3.3.0", + "description": "A generated SDK for EventHubManagementClient.", + "version": "30.0.0-beta.2", + "engines": { + "node": ">=12.0.0" + }, "dependencies": { - "@azure/ms-rest-azure-js": "^1.4.0", - "@azure/ms-rest-js": "^1.11.0", - "@azure/core-auth": "^1.1.4", - "tslib": "^1.9.3" + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", + "@azure/core-paging": "^1.1.1", + "@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", @@ -17,42 +24,74 @@ "isomorphic" ], "license": "MIT", - "main": "./dist/arm-eventhub.js", - "module": "./esm/eventHubManagementClient.js", - "types": "./esm/eventHubManagementClient.d.ts", + "main": "./dist/index.js", + "module": "./dist-esm/index.js", + "types": "./types/arm-eventhub.d.ts", "devDependencies": { - "typescript": "^3.6.0", - "rollup": "^0.66.2", - "rollup-plugin-node-resolve": "^3.4.0", + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", + "typescript": "~4.2.0", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js/tree/main/sdk/eventhub/arm-eventhub", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/eventhub/arm-eventhub", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.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" + "tsconfig.json", + "review/*", + "CHANGELOG.md", + "types/*" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify", - "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-eventhub.js.map'\" -o ./dist/arm-eventhub.min.js ./dist/arm-eventhub.js", - "prepack": "npm install && npm run build" + "build": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" }, "sideEffects": false, "autoPublish": true diff --git a/sdk/eventhub/arm-eventhub/review/arm-eventhub.api.md b/sdk/eventhub/arm-eventhub/review/arm-eventhub.api.md new file mode 100644 index 000000000000..4f3f0f964e5a --- /dev/null +++ b/sdk/eventhub/arm-eventhub/review/arm-eventhub.api.md @@ -0,0 +1,1166 @@ +## API Report File for "@azure/arm-eventhub" + +> 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 AccessKeys { + readonly aliasPrimaryConnectionString?: string; + readonly aliasSecondaryConnectionString?: string; + readonly keyName?: string; + readonly primaryConnectionString?: string; + readonly primaryKey?: string; + readonly secondaryConnectionString?: string; + readonly secondaryKey?: string; +} + +// @public +export type AccessRights = string; + +// @public +export type ArmDisasterRecovery = Resource & { + readonly provisioningState?: ProvisioningStateDR; + partnerNamespace?: string; + alternateName?: string; + readonly role?: RoleDisasterRecovery; + readonly pendingReplicationOperationsCount?: number; +}; + +// @public +export interface ArmDisasterRecoveryListResult { + readonly nextLink?: string; + value?: ArmDisasterRecovery[]; +} + +// @public +export type AuthorizationRule = Resource & { + rights?: AccessRights[]; +}; + +// @public +export interface AuthorizationRuleListResult { + nextLink?: string; + value?: AuthorizationRule[]; +} + +// @public +export interface AvailableCluster { + location?: string; +} + +// @public +export interface AvailableClustersList { + value?: AvailableCluster[]; +} + +// @public +export interface CaptureDescription { + destination?: Destination; + enabled?: boolean; + encoding?: EncodingCaptureDescription; + intervalInSeconds?: number; + sizeLimitInBytes?: number; + skipEmptyArchives?: boolean; +} + +// @public +export interface CheckNameAvailabilityParameter { + name: string; +} + +// @public +export interface CheckNameAvailabilityResult { + readonly message?: string; + nameAvailable?: boolean; + reason?: UnavailableReason; +} + +// @public +export type Cluster = TrackedResource & { + sku?: ClusterSku; + readonly createdAt?: string; + readonly updatedAt?: string; + readonly metricId?: string; + readonly status?: string; +}; + +// @public +export interface ClusterListResult { + nextLink?: string; + value?: Cluster[]; +} + +// @public +export interface ClusterQuotaConfigurationProperties { + settings?: { + [propertyName: string]: string; + }; +} + +// @public +export interface Clusters { + beginCreateOrUpdate(resourceGroupName: string, clusterName: string, parameters: Cluster, options?: ClustersCreateOrUpdateOptionalParams): Promise, ClustersCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, clusterName: string, parameters: Cluster, options?: ClustersCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, clusterName: string, options?: ClustersDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, clusterName: string, options?: ClustersDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, clusterName: string, parameters: Cluster, options?: ClustersUpdateOptionalParams): Promise, ClustersUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, clusterName: string, parameters: Cluster, options?: ClustersUpdateOptionalParams): Promise; + get(resourceGroupName: string, clusterName: string, options?: ClustersGetOptionalParams): Promise; + listAvailableClusterRegion(options?: ClustersListAvailableClusterRegionOptionalParams): Promise; + listByResourceGroup(resourceGroupName: string, options?: ClustersListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listNamespaces(resourceGroupName: string, clusterName: string, options?: ClustersListNamespacesOptionalParams): Promise; +} + +// @public +export interface ClustersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ClustersCreateOrUpdateResponse = Cluster; + +// @public +export interface ClustersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ClustersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ClustersGetResponse = Cluster; + +// @public +export interface ClusterSku { + capacity?: number; + name: ClusterSkuName; +} + +// @public +export type ClusterSkuName = string; + +// @public +export interface ClustersListAvailableClusterRegionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ClustersListAvailableClusterRegionResponse = AvailableClustersList; + +// @public +export interface ClustersListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ClustersListByResourceGroupNextResponse = ClusterListResult; + +// @public +export interface ClustersListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ClustersListByResourceGroupResponse = ClusterListResult; + +// @public +export interface ClustersListNamespacesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ClustersListNamespacesResponse = EHNamespaceIdListResult; + +// @public +export interface ClustersUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ClustersUpdateResponse = Cluster; + +// @public +export interface Configuration { + get(resourceGroupName: string, clusterName: string, options?: ConfigurationGetOptionalParams): Promise; + patch(resourceGroupName: string, clusterName: string, parameters: ClusterQuotaConfigurationProperties, options?: ConfigurationPatchOptionalParams): Promise; +} + +// @public +export interface ConfigurationGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ConfigurationGetResponse = ClusterQuotaConfigurationProperties; + +// @public +export interface ConfigurationPatchOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ConfigurationPatchResponse = ClusterQuotaConfigurationProperties; + +// @public +export interface ConnectionState { + description?: string; + status?: PrivateLinkConnectionStatus; +} + +// @public +export type ConsumerGroup = Resource & { + readonly createdAt?: Date; + readonly updatedAt?: Date; + userMetadata?: string; +}; + +// @public +export interface ConsumerGroupListResult { + nextLink?: string; + value?: ConsumerGroup[]; +} + +// @public +export interface ConsumerGroups { + createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, parameters: ConsumerGroup, options?: ConsumerGroupsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, options?: ConsumerGroupsDeleteOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, options?: ConsumerGroupsGetOptionalParams): Promise; + listByEventHub(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: ConsumerGroupsListByEventHubOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ConsumerGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ConsumerGroupsCreateOrUpdateResponse = ConsumerGroup; + +// @public +export interface ConsumerGroupsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ConsumerGroupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ConsumerGroupsGetResponse = ConsumerGroup; + +// @public +export interface ConsumerGroupsListByEventHubNextOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type ConsumerGroupsListByEventHubNextResponse = ConsumerGroupListResult; + +// @public +export interface ConsumerGroupsListByEventHubOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type ConsumerGroupsListByEventHubResponse = ConsumerGroupListResult; + +// @public +export type DefaultAction = string; + +// @public +export interface Destination { + archiveNameFormat?: string; + blobContainer?: string; + name?: string; + storageAccountResourceId?: string; +} + +// @public +export interface DisasterRecoveryConfigs { + breakPairing(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsBreakPairingOptionalParams): Promise; + checkNameAvailability(resourceGroupName: string, namespaceName: string, parameters: CheckNameAvailabilityParameter, options?: DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams): Promise; + createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: ArmDisasterRecovery, options?: DisasterRecoveryConfigsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsDeleteOptionalParams): Promise; + failOver(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsFailOverOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsGetOptionalParams): Promise; + getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams): Promise; + list(resourceGroupName: string, namespaceName: string, options?: DisasterRecoveryConfigsListOptionalParams): PagedAsyncIterableIterator; + listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams): PagedAsyncIterableIterator; + listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: DisasterRecoveryConfigsListKeysOptionalParams): Promise; +} + +// @public +export interface DisasterRecoveryConfigsBreakPairingOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsCheckNameAvailabilityResponse = CheckNameAvailabilityResult; + +// @public +export interface DisasterRecoveryConfigsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsCreateOrUpdateResponse = ArmDisasterRecovery; + +// @public +export interface DisasterRecoveryConfigsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DisasterRecoveryConfigsFailOverOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsGetAuthorizationRuleResponse = AuthorizationRule; + +// @public +export interface DisasterRecoveryConfigsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsGetResponse = ArmDisasterRecovery; + +// @public +export interface DisasterRecoveryConfigsListAuthorizationRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListAuthorizationRulesNextResponse = AuthorizationRuleListResult; + +// @public +export interface DisasterRecoveryConfigsListAuthorizationRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListAuthorizationRulesResponse = AuthorizationRuleListResult; + +// @public +export interface DisasterRecoveryConfigsListKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListKeysResponse = AccessKeys; + +// @public +export interface DisasterRecoveryConfigsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListNextResponse = ArmDisasterRecoveryListResult; + +// @public +export interface DisasterRecoveryConfigsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListResponse = ArmDisasterRecoveryListResult; + +// @public +export type EHNamespace = TrackedResource & { + sku?: Sku; + identity?: Identity; + readonly provisioningState?: string; + readonly status?: string; + readonly createdAt?: Date; + readonly updatedAt?: Date; + readonly serviceBusEndpoint?: string; + clusterArmId?: string; + readonly metricId?: string; + isAutoInflateEnabled?: boolean; + maximumThroughputUnits?: number; + kafkaEnabled?: boolean; + zoneRedundant?: boolean; + encryption?: Encryption; +}; + +// @public +export interface EHNamespaceIdContainer { + id?: string; +} + +// @public +export interface EHNamespaceIdListResult { + value?: EHNamespaceIdContainer[]; +} + +// @public +export interface EHNamespaceListResult { + nextLink?: string; + value?: EHNamespace[]; +} + +// @public +export type EncodingCaptureDescription = "Avro" | "AvroDeflate"; + +// @public +export interface Encryption { + keySource?: "Microsoft.KeyVault"; + keyVaultProperties?: KeyVaultProperties[]; +} + +// @public +export type EndPointProvisioningState = string; + +// @public +export type EntityStatus = "Active" | "Disabled" | "Restoring" | "SendDisabled" | "ReceiveDisabled" | "Creating" | "Deleting" | "Renaming" | "Unknown"; + +// @public +export interface ErrorResponse { + code?: string; + message?: string; +} + +// @public +export type Eventhub = Resource & { + readonly partitionIds?: string[]; + readonly createdAt?: Date; + readonly updatedAt?: Date; + messageRetentionInDays?: number; + partitionCount?: number; + status?: EntityStatus; + captureDescription?: CaptureDescription; +}; + +// @public +export interface EventHubListResult { + nextLink?: string; + value?: Eventhub[]; +} + +// @public (undocumented) +export class EventHubManagementClient extends EventHubManagementClientContext { + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: EventHubManagementClientOptionalParams); + // (undocumented) + clusters: Clusters; + // (undocumented) + configuration: Configuration; + // (undocumented) + consumerGroups: ConsumerGroups; + // (undocumented) + disasterRecoveryConfigs: DisasterRecoveryConfigs; + // (undocumented) + eventHubs: EventHubs; + // (undocumented) + namespaces: Namespaces; + // (undocumented) + operations: Operations; + // (undocumented) + privateEndpointConnections: PrivateEndpointConnections; + // (undocumented) + privateLinkResources: PrivateLinkResources; + // (undocumented) + regions: Regions; +} + +// @public (undocumented) +export class EventHubManagementClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: EventHubManagementClientOptionalParams); + // (undocumented) + apiVersion: string; + // (undocumented) + subscriptionId: string; +} + +// @public +export interface EventHubManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export interface EventHubs { + createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, parameters: Eventhub, options?: EventHubsCreateOrUpdateOptionalParams): Promise; + createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: AuthorizationRule, options?: EventHubsCreateOrUpdateAuthorizationRuleOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: EventHubsDeleteOptionalParams): Promise; + deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: EventHubsDeleteAuthorizationRuleOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: EventHubsGetOptionalParams): Promise; + getAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: EventHubsGetAuthorizationRuleOptionalParams): Promise; + listAuthorizationRules(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: EventHubsListAuthorizationRulesOptionalParams): PagedAsyncIterableIterator; + listByNamespace(resourceGroupName: string, namespaceName: string, options?: EventHubsListByNamespaceOptionalParams): PagedAsyncIterableIterator; + listKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: EventHubsListKeysOptionalParams): Promise; + regenerateKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: RegenerateAccessKeyParameters, options?: EventHubsRegenerateKeysOptionalParams): Promise; +} + +// @public +export interface EventHubsCreateOrUpdateAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsCreateOrUpdateAuthorizationRuleResponse = AuthorizationRule; + +// @public +export interface EventHubsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsCreateOrUpdateResponse = Eventhub; + +// @public +export interface EventHubsDeleteAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface EventHubsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface EventHubsGetAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsGetAuthorizationRuleResponse = AuthorizationRule; + +// @public +export interface EventHubsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsGetResponse = Eventhub; + +// @public +export interface EventHubsListAuthorizationRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsListAuthorizationRulesNextResponse = AuthorizationRuleListResult; + +// @public +export interface EventHubsListAuthorizationRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsListAuthorizationRulesResponse = AuthorizationRuleListResult; + +// @public +export interface EventHubsListByNamespaceNextOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type EventHubsListByNamespaceNextResponse = EventHubListResult; + +// @public +export interface EventHubsListByNamespaceOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type EventHubsListByNamespaceResponse = EventHubListResult; + +// @public +export interface EventHubsListKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsListKeysResponse = AccessKeys; + +// @public +export interface EventHubsRegenerateKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsRegenerateKeysResponse = AccessKeys; + +// @public +export interface Identity { + principalId?: string; + tenantId?: string; + type?: "SystemAssigned"; +} + +// @public +export type IPAction = string; + +// @public +export type IpFilterRule = Resource & { + ipMask?: string; + action?: IPAction; + filterName?: string; +}; + +// @public +export interface IpFilterRuleListResult { + nextLink?: string; + value?: IpFilterRule[]; +} + +// @public +export type KeyType = "PrimaryKey" | "SecondaryKey"; + +// @public +export interface KeyVaultProperties { + keyName?: string; + keyVaultUri?: string; + keyVersion?: string; +} + +// @public +export enum KnownAccessRights { + // (undocumented) + Listen = "Listen", + // (undocumented) + Manage = "Manage", + // (undocumented) + Send = "Send" +} + +// @public +export enum KnownClusterSkuName { + // (undocumented) + Dedicated = "Dedicated" +} + +// @public +export enum KnownDefaultAction { + // (undocumented) + Allow = "Allow", + // (undocumented) + Deny = "Deny" +} + +// @public +export enum KnownEndPointProvisioningState { + // (undocumented) + Canceled = "Canceled", + // (undocumented) + Creating = "Creating", + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Failed = "Failed", + // (undocumented) + Succeeded = "Succeeded", + // (undocumented) + Updating = "Updating" +} + +// @public +export enum KnownIPAction { + // (undocumented) + Accept = "Accept", + // (undocumented) + Reject = "Reject" +} + +// @public +export enum KnownNetworkRuleIPAction { + // (undocumented) + Allow = "Allow" +} + +// @public +export enum KnownPrivateLinkConnectionStatus { + // (undocumented) + Approved = "Approved", + // (undocumented) + Disconnected = "Disconnected", + // (undocumented) + Pending = "Pending", + // (undocumented) + Rejected = "Rejected" +} + +// @public +export enum KnownSkuName { + // (undocumented) + Basic = "Basic", + // (undocumented) + Standard = "Standard" +} + +// @public +export enum KnownSkuTier { + // (undocumented) + Basic = "Basic", + // (undocumented) + Standard = "Standard" +} + +// @public +export type MessagingRegions = TrackedResource & { + properties?: MessagingRegionsProperties; +}; + +// @public +export interface MessagingRegionsListResult { + readonly nextLink?: string; + value?: MessagingRegions[]; +} + +// @public +export interface MessagingRegionsProperties { + readonly code?: string; + readonly fullName?: string; +} + +// @public +export interface Namespaces { + beginCreateOrUpdate(resourceGroupName: string, namespaceName: string, parameters: EHNamespace, options?: NamespacesCreateOrUpdateOptionalParams): Promise, NamespacesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, namespaceName: string, parameters: EHNamespace, options?: NamespacesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, namespaceName: string, options?: NamespacesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, namespaceName: string, options?: NamespacesDeleteOptionalParams): Promise; + checkNameAvailability(parameters: CheckNameAvailabilityParameter, options?: NamespacesCheckNameAvailabilityOptionalParams): Promise; + createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: AuthorizationRule, options?: NamespacesCreateOrUpdateAuthorizationRuleOptionalParams): Promise; + createOrUpdateIpFilterRule(resourceGroupName: string, namespaceName: string, ipFilterRuleName: string, parameters: IpFilterRule, options?: NamespacesCreateOrUpdateIpFilterRuleOptionalParams): Promise; + createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: NetworkRuleSet, options?: NamespacesCreateOrUpdateNetworkRuleSetOptionalParams): Promise; + createOrUpdateVirtualNetworkRule(resourceGroupName: string, namespaceName: string, virtualNetworkRuleName: string, parameters: VirtualNetworkRule, options?: NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams): Promise; + deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: NamespacesDeleteAuthorizationRuleOptionalParams): Promise; + deleteIpFilterRule(resourceGroupName: string, namespaceName: string, ipFilterRuleName: string, options?: NamespacesDeleteIpFilterRuleOptionalParams): Promise; + deleteVirtualNetworkRule(resourceGroupName: string, namespaceName: string, virtualNetworkRuleName: string, options?: NamespacesDeleteVirtualNetworkRuleOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, options?: NamespacesGetOptionalParams): Promise; + getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: NamespacesGetAuthorizationRuleOptionalParams): Promise; + getIpFilterRule(resourceGroupName: string, namespaceName: string, ipFilterRuleName: string, options?: NamespacesGetIpFilterRuleOptionalParams): Promise; + getNetworkRuleSet(resourceGroupName: string, namespaceName: string, options?: NamespacesGetNetworkRuleSetOptionalParams): Promise; + getVirtualNetworkRule(resourceGroupName: string, namespaceName: string, virtualNetworkRuleName: string, options?: NamespacesGetVirtualNetworkRuleOptionalParams): Promise; + list(options?: NamespacesListOptionalParams): PagedAsyncIterableIterator; + listAuthorizationRules(resourceGroupName: string, namespaceName: string, options?: NamespacesListAuthorizationRulesOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: NamespacesListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listIPFilterRules(resourceGroupName: string, namespaceName: string, options?: NamespacesListIPFilterRulesOptionalParams): PagedAsyncIterableIterator; + listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: NamespacesListKeysOptionalParams): Promise; + listVirtualNetworkRules(resourceGroupName: string, namespaceName: string, options?: NamespacesListVirtualNetworkRulesOptionalParams): PagedAsyncIterableIterator; + regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: RegenerateAccessKeyParameters, options?: NamespacesRegenerateKeysOptionalParams): Promise; + update(resourceGroupName: string, namespaceName: string, parameters: EHNamespace, options?: NamespacesUpdateOptionalParams): Promise; +} + +// @public +export interface NamespacesCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCheckNameAvailabilityResponse = CheckNameAvailabilityResult; + +// @public +export interface NamespacesCreateOrUpdateAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCreateOrUpdateAuthorizationRuleResponse = AuthorizationRule; + +// @public +export interface NamespacesCreateOrUpdateIpFilterRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCreateOrUpdateIpFilterRuleResponse = IpFilterRule; + +// @public +export interface NamespacesCreateOrUpdateNetworkRuleSetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCreateOrUpdateNetworkRuleSetResponse = NetworkRuleSet; + +// @public +export interface NamespacesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type NamespacesCreateOrUpdateResponse = EHNamespace; + +// @public +export interface NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCreateOrUpdateVirtualNetworkRuleResponse = VirtualNetworkRule; + +// @public +export interface NamespacesDeleteAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NamespacesDeleteIpFilterRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NamespacesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface NamespacesDeleteVirtualNetworkRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NamespacesGetAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetAuthorizationRuleResponse = AuthorizationRule; + +// @public +export interface NamespacesGetIpFilterRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetIpFilterRuleResponse = IpFilterRule; + +// @public +export interface NamespacesGetNetworkRuleSetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetNetworkRuleSetResponse = NetworkRuleSet; + +// @public +export interface NamespacesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetResponse = EHNamespace; + +// @public +export interface NamespacesGetVirtualNetworkRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetVirtualNetworkRuleResponse = VirtualNetworkRule; + +// @public +export interface NamespacesListAuthorizationRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListAuthorizationRulesNextResponse = AuthorizationRuleListResult; + +// @public +export interface NamespacesListAuthorizationRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListAuthorizationRulesResponse = AuthorizationRuleListResult; + +// @public +export interface NamespacesListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListByResourceGroupNextResponse = EHNamespaceListResult; + +// @public +export interface NamespacesListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListByResourceGroupResponse = EHNamespaceListResult; + +// @public +export interface NamespacesListIPFilterRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListIPFilterRulesNextResponse = IpFilterRuleListResult; + +// @public +export interface NamespacesListIPFilterRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListIPFilterRulesResponse = IpFilterRuleListResult; + +// @public +export interface NamespacesListKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListKeysResponse = AccessKeys; + +// @public +export interface NamespacesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListNextResponse = EHNamespaceListResult; + +// @public +export interface NamespacesListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListResponse = EHNamespaceListResult; + +// @public +export interface NamespacesListVirtualNetworkRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListVirtualNetworkRulesNextResponse = VirtualNetworkRuleListResult; + +// @public +export interface NamespacesListVirtualNetworkRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListVirtualNetworkRulesResponse = VirtualNetworkRuleListResult; + +// @public +export interface NamespacesRegenerateKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesRegenerateKeysResponse = AccessKeys; + +// @public +export interface NamespacesUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesUpdateResponse = EHNamespace; + +// @public +export type NetworkRuleIPAction = string; + +// @public +export type NetworkRuleSet = Resource & { + trustedServiceAccessEnabled?: boolean; + defaultAction?: DefaultAction; + virtualNetworkRules?: NWRuleSetVirtualNetworkRules[]; + ipRules?: NWRuleSetIpRules[]; +}; + +// @public +export interface NWRuleSetIpRules { + action?: NetworkRuleIPAction; + ipMask?: string; +} + +// @public +export interface NWRuleSetVirtualNetworkRules { + ignoreMissingVnetServiceEndpoint?: boolean; + subnet?: Subnet; +} + +// @public +export interface Operation { + display?: OperationDisplay; + readonly name?: string; +} + +// @public +export interface OperationDisplay { + readonly operation?: string; + readonly provider?: string; + readonly resource?: string; +} + +// @public +export interface OperationListResult { + readonly nextLink?: string; + readonly value?: Operation[]; +} + +// @public +export interface Operations { + list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface OperationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListNextResponse = OperationListResult; + +// @public +export interface OperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListResponse = OperationListResult; + +// @public +export interface PrivateEndpoint { + id?: string; +} + +// @public +export type PrivateEndpointConnection = Resource & { + privateEndpoint?: PrivateEndpoint; + privateLinkServiceConnectionState?: ConnectionState; + provisioningState?: EndPointProvisioningState; +}; + +// @public +export interface PrivateEndpointConnectionListResult { + nextLink?: string; + value?: PrivateEndpointConnection[]; +} + +// @public +export interface PrivateEndpointConnections { + beginDelete(resourceGroupName: string, namespaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, namespaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise; + createOrUpdate(resourceGroupName: string, namespaceName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise; + list(resourceGroupName: string, namespaceName: string, options?: PrivateEndpointConnectionsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListNextResponse = PrivateEndpointConnectionListResult; + +// @public +export interface PrivateEndpointConnectionsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListResponse = PrivateEndpointConnectionListResult; + +// @public +export type PrivateLinkConnectionStatus = string; + +// @public +export interface PrivateLinkResource { + groupId?: string; + id?: string; + name?: string; + requiredMembers?: string[]; + requiredZoneNames?: string[]; + type?: string; +} + +// @public +export interface PrivateLinkResources { + get(resourceGroupName: string, namespaceName: string, options?: PrivateLinkResourcesGetOptionalParams): Promise; +} + +// @public +export interface PrivateLinkResourcesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesGetResponse = PrivateLinkResourcesListResult; + +// @public +export interface PrivateLinkResourcesListResult { + nextLink?: string; + value?: PrivateLinkResource[]; +} + +// @public +export type ProvisioningStateDR = "Accepted" | "Succeeded" | "Failed"; + +// @public +export interface RegenerateAccessKeyParameters { + key?: string; + keyType: KeyType; +} + +// @public +export interface Regions { + listBySku(sku: string, options?: RegionsListBySkuOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RegionsListBySkuNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RegionsListBySkuNextResponse = MessagingRegionsListResult; + +// @public +export interface RegionsListBySkuOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RegionsListBySkuResponse = MessagingRegionsListResult; + +// @public +export interface Resource { + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export type RoleDisasterRecovery = "Primary" | "PrimaryNotReplicating" | "Secondary"; + +// @public +export interface Sku { + capacity?: number; + name: SkuName; + tier?: SkuTier; +} + +// @public +export type SkuName = string; + +// @public +export type SkuTier = string; + +// @public +export interface Subnet { + id?: string; +} + +// @public +export type TrackedResource = Resource & { + location?: string; + tags?: { + [propertyName: string]: string; + }; +}; + +// @public +export type UnavailableReason = "None" | "InvalidName" | "SubscriptionIsDisabled" | "NameInUse" | "NameInLockdown" | "TooManyNamespaceInCurrentSubscription"; + +// @public +export type VirtualNetworkRule = Resource & { + virtualNetworkSubnetId?: string; +}; + +// @public +export interface VirtualNetworkRuleListResult { + nextLink?: string; + value?: VirtualNetworkRule[]; +} + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/eventhub/arm-eventhub/rollup.config.js b/sdk/eventhub/arm-eventhub/rollup.config.js index bede107e529e..9be1955eb7f1 100644 --- a/sdk/eventhub/arm-eventhub/rollup.config.js +++ b/sdk/eventhub/arm-eventhub/rollup.config.js @@ -1,37 +1,188 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; +/* + * 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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler /** - * @type {rollup.RollupFileOptions} + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. */ -const config = { - input: "./esm/eventHubManagementClient.js", - external: [ - "@azure/ms-rest-js", - "@azure/ms-rest-azure-js" - ], - output: { - file: "./dist/arm-eventhub.js", - format: "umd", - name: "Azure.ArmEventhub", - sourcemap: true, - globals: { - "@azure/ms-rest-js": "msRest", - "@azure/ms-rest-azure-js": "msRestAzure" + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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/**"] }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */` - }, - plugins: [ - nodeResolve({ module: true }), - sourcemaps() - ] + output: { + file: `dist-test/index.browser.js`, + format: "umd", + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + multiEntry({ exports: false }), + nodeResolve({ + mainFields: ["module", "browser"] + }), + cjs({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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 default config; +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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/eventhub/arm-eventhub/src/eventHubManagementClient.ts b/sdk/eventhub/arm-eventhub/src/eventHubManagementClient.ts index 60c29f68416d..f9f3fcb01f1b 100644 --- a/sdk/eventhub/arm-eventhub/src/eventHubManagementClient.ts +++ b/sdk/eventhub/arm-eventhub/src/eventHubManagementClient.ts @@ -1,59 +1,73 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as Models from "./models"; -import * as Mappers from "./models/mappers"; -import * as operations from "./operations"; +import * as coreAuth from "@azure/core-auth"; +import { + ClustersImpl, + NamespacesImpl, + PrivateEndpointConnectionsImpl, + PrivateLinkResourcesImpl, + ConfigurationImpl, + DisasterRecoveryConfigsImpl, + EventHubsImpl, + ConsumerGroupsImpl, + OperationsImpl, + RegionsImpl +} from "./operations"; +import { + Clusters, + Namespaces, + PrivateEndpointConnections, + PrivateLinkResources, + Configuration, + DisasterRecoveryConfigs, + EventHubs, + ConsumerGroups, + Operations, + Regions +} from "./operationsInterfaces"; import { EventHubManagementClientContext } from "./eventHubManagementClientContext"; +import { EventHubManagementClientOptionalParams } from "./models"; - -class EventHubManagementClient extends EventHubManagementClientContext { - // Operation groups - operations: operations.Operations; - namespaces: operations.Namespaces; - disasterRecoveryConfigs: operations.DisasterRecoveryConfigs; - eventHubs: operations.EventHubs; - consumerGroups: operations.ConsumerGroups; - regions: operations.Regions; - +export class EventHubManagementClient extends EventHubManagementClientContext { /** * Initializes a new instance of the EventHubManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId Subscription credentials that uniquely identify a Microsoft Azure - * subscription. The subscription ID forms part of the URI for every service call. - * @param [options] The parameter options + * subscription. The subscription ID forms part of the URI for every service call. + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.EventHubManagementClientOptions) { + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: EventHubManagementClientOptionalParams + ) { super(credentials, subscriptionId, options); - this.operations = new operations.Operations(this); - this.namespaces = new operations.Namespaces(this); - this.disasterRecoveryConfigs = new operations.DisasterRecoveryConfigs(this); - this.eventHubs = new operations.EventHubs(this); - this.consumerGroups = new operations.ConsumerGroups(this); - this.regions = new operations.Regions(this); + this.clusters = new ClustersImpl(this); + this.namespaces = new NamespacesImpl(this); + this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); + this.privateLinkResources = new PrivateLinkResourcesImpl(this); + this.configuration = new ConfigurationImpl(this); + this.disasterRecoveryConfigs = new DisasterRecoveryConfigsImpl(this); + this.eventHubs = new EventHubsImpl(this); + this.consumerGroups = new ConsumerGroupsImpl(this); + this.operations = new OperationsImpl(this); + this.regions = new RegionsImpl(this); } -} -// Operation Specifications - -export { - EventHubManagementClient, - EventHubManagementClientContext, - Models as EventHubManagementModels, - Mappers as EventHubManagementMappers -}; -export * from "./operations"; + clusters: Clusters; + namespaces: Namespaces; + privateEndpointConnections: PrivateEndpointConnections; + privateLinkResources: PrivateLinkResources; + configuration: Configuration; + disasterRecoveryConfigs: DisasterRecoveryConfigs; + eventHubs: EventHubs; + consumerGroups: ConsumerGroups; + operations: Operations; + regions: Regions; +} diff --git a/sdk/eventhub/arm-eventhub/src/eventHubManagementClientContext.ts b/sdk/eventhub/arm-eventhub/src/eventHubManagementClientContext.ts index 725ecd04dcfa..60a0193d6bc2 100644 --- a/sdk/eventhub/arm-eventhub/src/eventHubManagementClientContext.ts +++ b/sdk/eventhub/arm-eventhub/src/eventHubManagementClientContext.ts @@ -1,69 +1,71 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { EventHubManagementClientOptionalParams } from "./models"; -const packageName = "@azure/arm-eventhub"; -const packageVersion = "3.3.0"; - -export class EventHubManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials | TokenCredential; +export class EventHubManagementClientContext extends coreClient.ServiceClient { + $host: string; subscriptionId: string; - apiVersion?: string; + apiVersion: string; /** - * Initializes a new instance of the EventHubManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * Initializes a new instance of the EventHubManagementClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId Subscription credentials that uniquely identify a Microsoft Azure - * subscription. The subscription ID forms part of the URI for every service call. - * @param [options] The parameter options + * subscription. The subscription ID forms part of the URI for every service call. + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.EventHubManagementClientOptions) { - if (credentials == undefined) { - throw new Error('\'credentials\' cannot be null.'); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: EventHubManagementClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); } - if (subscriptionId == undefined) { - throw new Error('\'subscriptionId\' cannot be null.'); + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); } + // Initializing default values for options if (!options) { options = {}; } - if(!options.userAgent) { - const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const defaults: EventHubManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - super(credentials, options); + const packageDetails = `azsdk-js-arm-eventhub/30.0.0-beta.1`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; - this.apiVersion = '2017-04-01'; - this.acceptLanguage = 'en-US'; - this.longRunningOperationRetryTimeout = 30; - this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; - this.requestContentType = "application/json; charset=utf-8"; - this.credentials = credentials; + 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; - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { - this.acceptLanguage = options.acceptLanguage; - } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { - this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; - } + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.apiVersion = options.apiVersion || "2018-01-01-preview"; } } diff --git a/sdk/eventhub/arm-eventhub/src/index.ts b/sdk/eventhub/arm-eventhub/src/index.ts new file mode 100644 index 000000000000..be04947cb611 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { EventHubManagementClient } from "./eventHubManagementClient"; +export { EventHubManagementClientContext } from "./eventHubManagementClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/eventhub/arm-eventhub/src/lroImpl.ts b/sdk/eventhub/arm-eventhub/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/eventhub/arm-eventhub/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/eventhub/arm-eventhub/src/models/consumerGroupsMappers.ts b/sdk/eventhub/arm-eventhub/src/models/consumerGroupsMappers.ts deleted file mode 100644 index 09b82cfb47dc..000000000000 --- a/sdk/eventhub/arm-eventhub/src/models/consumerGroupsMappers.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - ArmDisasterRecovery, - AuthorizationRule, - BaseResource, - CaptureDescription, - ConsumerGroup, - ConsumerGroupListResult, - Destination, - EHNamespace, - ErrorResponse, - Eventhub, - MessagingPlan, - MessagingRegions, - MessagingRegionsProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - Resource, - Sku, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/eventhub/arm-eventhub/src/models/disasterRecoveryConfigsMappers.ts b/sdk/eventhub/arm-eventhub/src/models/disasterRecoveryConfigsMappers.ts deleted file mode 100644 index 789b8d96c703..000000000000 --- a/sdk/eventhub/arm-eventhub/src/models/disasterRecoveryConfigsMappers.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AccessKeys, - ArmDisasterRecovery, - ArmDisasterRecoveryListResult, - AuthorizationRule, - AuthorizationRuleListResult, - BaseResource, - CaptureDescription, - CheckNameAvailabilityParameter, - CheckNameAvailabilityResult, - ConsumerGroup, - Destination, - EHNamespace, - ErrorResponse, - Eventhub, - MessagingPlan, - MessagingRegions, - MessagingRegionsProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - Resource, - Sku, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/eventhub/arm-eventhub/src/models/eventHubsMappers.ts b/sdk/eventhub/arm-eventhub/src/models/eventHubsMappers.ts deleted file mode 100644 index 253f160c7742..000000000000 --- a/sdk/eventhub/arm-eventhub/src/models/eventHubsMappers.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AccessKeys, - ArmDisasterRecovery, - AuthorizationRule, - AuthorizationRuleListResult, - BaseResource, - CaptureDescription, - ConsumerGroup, - Destination, - EHNamespace, - ErrorResponse, - Eventhub, - EventHubListResult, - MessagingPlan, - MessagingRegions, - MessagingRegionsProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - RegenerateAccessKeyParameters, - Resource, - Sku, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/eventhub/arm-eventhub/src/models/index.ts b/sdk/eventhub/arm-eventhub/src/models/index.ts index c8d10779d2b4..fcace8754478 100644 --- a/sdk/eventhub/arm-eventhub/src/models/index.ts +++ b/sdk/eventhub/arm-eventhub/src/models/index.ts @@ -1,1638 +1,1358 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export { BaseResource, CloudError }; +/** The response of the List Available Clusters operation. */ +export interface AvailableClustersList { + /** The count of readily available and pre-provisioned Event Hubs Clusters per region. */ + value?: AvailableCluster[]; +} -/** - * The Resource definition - */ -export interface Resource extends BaseResource { +/** Pre-provisioned and readily available Event Hubs Cluster count per region. */ +export interface AvailableCluster { + /** Location fo the Available Cluster */ + location?: string; +} + +/** Error response indicates Event Hub service is not able to process the incoming request. The reason is provided in the error message. */ +export interface ErrorResponse { + /** Error code. */ + code?: string; + /** Error message indicating why the operation failed. */ + message?: string; +} + +/** The response of the List Event Hubs Clusters operation. */ +export interface ClusterListResult { + /** The Event Hubs Clusters present in the List Event Hubs operation results. */ + value?: Cluster[]; + /** Link to the next set of results. Empty unless the value parameter contains an incomplete list of Event Hubs Clusters. */ + nextLink?: string; +} + +/** The resource definition. */ +export interface Resource { /** - * Resource Id - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * Resource name - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * Resource type - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; } -/** - * Definition of Resource - */ -export interface TrackedResource extends Resource { - /** - * Resource location - */ - location?: string; - /** - * Resource tags - */ - tags?: { [propertyName: string]: string }; +/** SKU parameters particular to a cluster instance. */ +export interface ClusterSku { + /** Name of this SKU. */ + name: ClusterSkuName; + /** The quantity of Event Hubs Cluster Capacity Units contained in this cluster. */ + capacity?: number; } -/** - * SKU parameters supplied to the create namespace operation - */ +/** The response of the List Namespace IDs operation */ +export interface EHNamespaceIdListResult { + /** Result of the List Namespace IDs operation */ + value?: EHNamespaceIdContainer[]; +} + +/** The full ARM ID of an Event Hubs Namespace */ +export interface EHNamespaceIdContainer { + /** id parameter */ + id?: string; +} + +/** The response from the List namespace operation. */ +export interface IpFilterRuleListResult { + /** Result of the List IpFilter Rules operation. */ + value?: IpFilterRule[]; + /** Link to the next set of results. Not empty if Value contains an incomplete list of IpFilter Rules */ + nextLink?: string; +} + +/** The response of the List Namespace operation */ +export interface EHNamespaceListResult { + /** Result of the List Namespace operation */ + value?: EHNamespace[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of namespaces. */ + nextLink?: string; +} + +/** SKU parameters supplied to the create namespace operation */ export interface Sku { - /** - * Name of this SKU. Possible values include: 'Basic', 'Standard' - */ + /** Name of this SKU. */ name: SkuName; - /** - * The billing tier of this particular SKU. Possible values include: 'Basic', 'Standard' - */ + /** The billing tier of this particular SKU. */ tier?: SkuTier; - /** - * The Event Hubs throughput units, value should be 0 to 20 throughput units. - */ + /** The Event Hubs throughput units, value should be 0 to 20 throughput units. */ capacity?: number; } -/** - * Single Namespace item in List or Get Operation - */ -export interface EHNamespace extends TrackedResource { - /** - * Properties of sku resource - */ - sku?: Sku; - /** - * Provisioning state of the Namespace. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: string; - /** - * The time the Namespace was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly createdAt?: Date; - /** - * The time the Namespace was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly updatedAt?: Date; - /** - * Endpoint you can use to perform Service Bus operations. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly serviceBusEndpoint?: string; - /** - * Identifier for Azure Insights metrics. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly metricId?: string; - /** - * Value that indicates whether AutoInflate is enabled for eventhub namespace. - */ - isAutoInflateEnabled?: boolean; - /** - * Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 - * throughput units. ( '0' if AutoInflateEnabled = true) - */ - maximumThroughputUnits?: number; - /** - * Value that indicates whether Kafka is enabled for eventhub namespace. - */ - kafkaEnabled?: boolean; +/** Properties to configure Identity for Bring your Own Keys */ +export interface Identity { + /** ObjectId from the KeyVault */ + principalId?: string; + /** TenantId from the KeyVault */ + tenantId?: string; + /** Enumerates the possible value Identity type, which currently supports only 'SystemAssigned' */ + type?: "SystemAssigned"; } -/** - * Single item in a List or Get AuthorizationRule operation - */ -export interface AuthorizationRule extends Resource { - /** - * The rights associated with the rule. - */ - rights: AccessRights[]; +/** Properties to configure Encryption */ +export interface Encryption { + /** Properties of KeyVault */ + keyVaultProperties?: KeyVaultProperties[]; + /** Enumerates the possible value of keySource for Encryption */ + keySource?: "Microsoft.KeyVault"; } -/** - * Namespace/EventHub Connection String - */ +/** Properties to configure keyVault Properties */ +export interface KeyVaultProperties { + /** Name of the Key from KeyVault */ + keyName?: string; + /** Uri of KeyVault */ + keyVaultUri?: string; + /** Key Version */ + keyVersion?: string; +} + +/** Result of the list of all private endpoint connections operation. */ +export interface PrivateEndpointConnectionListResult { + /** A collection of private endpoint connection resources. */ + value?: PrivateEndpointConnection[]; + /** A link for the next page of private endpoint connection resources. */ + nextLink?: string; +} + +/** PrivateEndpoint information. */ +export interface PrivateEndpoint { + /** The ARM identifier for Private Endpoint. */ + id?: string; +} + +/** ConnectionState information. */ +export interface ConnectionState { + /** Status of the connection. */ + status?: PrivateLinkConnectionStatus; + /** Description of the connection state. */ + description?: string; +} + +/** Result of the List private link resources operation. */ +export interface PrivateLinkResourcesListResult { + /** A collection of private link resources */ + value?: PrivateLinkResource[]; + /** A link for the next page of private link resources. */ + nextLink?: string; +} + +/** Information of the private link resource. */ +export interface PrivateLinkResource { + /** Fully qualified identifier of the resource. */ + id?: string; + /** Name of the resource */ + name?: string; + /** Type of the resource */ + type?: string; + /** The private link resource group id. */ + groupId?: string; + /** The private link resource required member names. */ + requiredMembers?: string[]; + /** The private link resource Private link DNS zone name. */ + requiredZoneNames?: string[]; +} + +/** Contains all settings for the cluster. */ +export interface ClusterQuotaConfigurationProperties { + /** All possible Cluster settings - a collection of key/value paired settings which apply to quotas and configurations imposed on the cluster. */ + settings?: { [propertyName: string]: string }; +} + +/** The response from the List namespace operation. */ +export interface VirtualNetworkRuleListResult { + /** Result of the List VirtualNetwork Rules operation. */ + value?: VirtualNetworkRule[]; + /** Link to the next set of results. Not empty if Value contains an incomplete list of VirtualNetwork Rules */ + nextLink?: string; +} + +/** The response from the List namespace operation. */ +export interface NWRuleSetVirtualNetworkRules { + /** Subnet properties */ + subnet?: Subnet; + /** Value that indicates whether to ignore missing Vnet Service Endpoint */ + ignoreMissingVnetServiceEndpoint?: boolean; +} + +/** Properties supplied for Subnet */ +export interface Subnet { + /** Resource ID of Virtual Network Subnet */ + id?: string; +} + +/** The response from the List namespace operation. */ +export interface NWRuleSetIpRules { + /** IP Mask */ + ipMask?: string; + /** The IP Filter Action */ + action?: NetworkRuleIPAction; +} + +/** The response from the List namespace operation. */ +export interface AuthorizationRuleListResult { + /** Result of the List Authorization Rules operation. */ + value?: AuthorizationRule[]; + /** Link to the next set of results. Not empty if Value contains an incomplete list of Authorization Rules */ + nextLink?: string; +} + +/** Namespace/EventHub Connection String */ export interface AccessKeys { /** * Primary connection string of the created namespace AuthorizationRule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly primaryConnectionString?: string; /** * Secondary connection string of the created namespace AuthorizationRule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly secondaryConnectionString?: string; /** * Primary connection string of the alias if GEO DR is enabled - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly aliasPrimaryConnectionString?: string; /** * Secondary connection string of the alias if GEO DR is enabled - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly aliasSecondaryConnectionString?: string; /** * A base64-encoded 256-bit primary key for signing and validating the SAS token. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly primaryKey?: string; /** * A base64-encoded 256-bit primary key for signing and validating the SAS token. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly secondaryKey?: string; /** * A string that describes the AuthorizationRule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly keyName?: string; } -/** - * Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to - * be reset. - */ +/** Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset. */ export interface RegenerateAccessKeyParameters { - /** - * The access key to regenerate. Possible values include: 'PrimaryKey', 'SecondaryKey' - */ + /** The access key to regenerate. */ keyType: KeyType; - /** - * Optional, if the key value provided, is set for KeyType or autogenerated Key value set for - * keyType - */ + /** Optional, if the key value provided, is set for KeyType or autogenerated Key value set for keyType */ key?: string; } -/** - * Capture storage details for capture description - */ -export interface Destination { +/** Parameter supplied to check Namespace name availability operation */ +export interface CheckNameAvailabilityParameter { + /** Name to check the namespace name availability */ + name: string; +} + +/** The Result of the CheckNameAvailability operation */ +export interface CheckNameAvailabilityResult { /** - * Name for capture destination + * The detailed info regarding the reason associated with the Namespace. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly message?: string; + /** Value indicating Namespace is availability, true if the Namespace is available; otherwise, false. */ + nameAvailable?: boolean; + /** The reason for unavailability of a Namespace. */ + reason?: UnavailableReason; +} + +/** The result to the List Consumer Group operation. */ +export interface ConsumerGroupListResult { + /** Result of the List Consumer Group operation. */ + value?: ConsumerGroup[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of Consumer Group */ + nextLink?: string; +} + +/** The result of the List Alias(Disaster Recovery configuration) operation. */ +export interface ArmDisasterRecoveryListResult { + /** List of Alias(Disaster Recovery configurations) */ + value?: ArmDisasterRecovery[]; /** - * Resource id of the storage account to be used to create the blobs + * Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration) + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountResourceId?: string; + readonly nextLink?: string; +} + +/** Result of the request to list Event Hub operations. It contains a list of operations and a URL link to get the next set of results. */ +export interface OperationListResult { /** - * Blob container Name + * List of Event Hub operations supported by the Microsoft.EventHub resource provider. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - blobContainer?: string; + readonly value?: Operation[]; /** - * Blob naming convention for archive, e.g. - * {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all - * the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order + * URL to get the next set of operation list results if there are any. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - archiveNameFormat?: string; + readonly nextLink?: string; } -/** - * Properties to configure capture description for eventhub - */ -export interface CaptureDescription { +/** A Event Hub REST API operation */ +export interface Operation { /** - * A value that indicates whether capture description is enabled. + * Operation name: {provider}/{resource}/{operation} + * NOTE: This property will not be serialized. It can only be populated by the server. */ - enabled?: boolean; + readonly name?: string; + /** The object that represents the operation. */ + display?: OperationDisplay; +} + +/** The object that represents the operation. */ +export interface OperationDisplay { /** - * Enumerates the possible values for the encoding format of capture description. Note: - * 'AvroDeflate' will be deprecated in New API Version. Possible values include: 'Avro', - * 'AvroDeflate' + * Service provider: Microsoft.EventHub + * NOTE: This property will not be serialized. It can only be populated by the server. */ - encoding?: EncodingCaptureDescription; + readonly provider?: string; /** - * The time window allows you to set the frequency with which the capture to Azure Blobs will - * happen, value should between 60 to 900 seconds + * Resource on which the operation is performed: Invoice, etc. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - intervalInSeconds?: number; + readonly resource?: string; /** - * The size window defines the amount of data built up in your Event Hub before an capture - * operation, value should be between 10485760 to 524288000 bytes + * Operation type: Read, write, delete, etc. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly operation?: string; +} + +/** The result of the List EventHubs operation. */ +export interface EventHubListResult { + /** Result of the List EventHubs operation. */ + value?: Eventhub[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of EventHubs. */ + nextLink?: string; +} + +/** Properties to configure capture description for eventhub */ +export interface CaptureDescription { + /** A value that indicates whether capture description is enabled. */ + enabled?: boolean; + /** Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be deprecated in New API Version */ + encoding?: EncodingCaptureDescription; + /** The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds */ + intervalInSeconds?: number; + /** The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 to 524288000 bytes */ sizeLimitInBytes?: number; - /** - * Properties of Destination where capture will be stored. (Storage Account, Blob Names) - */ + /** Properties of Destination where capture will be stored. (Storage Account, Blob Names) */ destination?: Destination; + /** A value that indicates whether to Skip Empty Archives */ + skipEmptyArchives?: boolean; +} + +/** Capture storage details for capture description */ +export interface Destination { + /** Name for capture destination */ + name?: string; + /** Resource id of the storage account to be used to create the blobs */ + storageAccountResourceId?: string; + /** Blob container Name */ + blobContainer?: string; + /** Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order */ + archiveNameFormat?: string; +} + +/** The response of the List MessagingRegions operation. */ +export interface MessagingRegionsListResult { + /** Result of the List MessagingRegions type. */ + value?: MessagingRegions[]; /** - * A value that indicates whether to Skip Empty Archives + * Link to the next set of results. Not empty if Value contains incomplete list of MessagingRegions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - skipEmptyArchives?: boolean; + readonly nextLink?: string; } -/** - * Single item in List or Get Event Hub operation - */ -export interface Eventhub extends Resource { +/** Properties of Messaging Region */ +export interface MessagingRegionsProperties { /** - * Current number of shards on the Event Hub. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Region code + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly partitionIds?: string[]; + readonly code?: string; /** - * Exact time the Event Hub was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Full name of the region + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly fullName?: string; +} + +/** Definition of resource. */ +export type TrackedResource = Resource & { + /** Resource location. */ + location?: string; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; +}; + +/** Single item in a List or Get IpFilterRules operation */ +export type IpFilterRule = Resource & { + /** IP Mask */ + ipMask?: string; + /** The IP Filter Action */ + action?: IPAction; + /** IP Filter name */ + filterName?: string; +}; + +/** Properties of the PrivateEndpointConnection. */ +export type PrivateEndpointConnection = Resource & { + /** The Private Endpoint resource for this Connection. */ + privateEndpoint?: PrivateEndpoint; + /** Details about the state of the connection. */ + privateLinkServiceConnectionState?: ConnectionState; + /** Provisioning state of the Private Endpoint Connection. */ + provisioningState?: EndPointProvisioningState; +}; + +/** Single item in a List or Get VirtualNetworkRules operation */ +export type VirtualNetworkRule = Resource & { + /** ARM ID of Virtual Network Subnet */ + virtualNetworkSubnetId?: string; +}; + +/** Description of topic resource. */ +export type NetworkRuleSet = Resource & { + /** Value that indicates whether Trusted Service Access is Enabled or not. */ + trustedServiceAccessEnabled?: boolean; + /** Default Action for Network Rule Set */ + defaultAction?: DefaultAction; + /** List VirtualNetwork Rules */ + virtualNetworkRules?: NWRuleSetVirtualNetworkRules[]; + /** List of IpRules */ + ipRules?: NWRuleSetIpRules[]; +}; + +/** Single item in a List or Get AuthorizationRule operation */ +export type AuthorizationRule = Resource & { + /** The rights associated with the rule. */ + rights?: AccessRights[]; +}; + +/** Single item in List or Get Consumer group operation */ +export type ConsumerGroup = Resource & { + /** + * Exact time the message was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdAt?: Date; /** * The exact time the message was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedAt?: Date; + /** User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored. */ + userMetadata?: string; +}; + +/** Single item in List or Get Alias(Disaster Recovery configuration) operation */ +export type ArmDisasterRecovery = Resource & { /** - * Number of days to retain the events for this Event Hub, value should be 1 to 7 days + * Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed' + * NOTE: This property will not be serialized. It can only be populated by the server. */ - messageRetentionInDays?: number; + readonly provisioningState?: ProvisioningStateDR; + /** ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing */ + partnerNamespace?: string; + /** Alternate name specified when alias and namespace names are same. */ + alternateName?: string; /** - * Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions. + * role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary' + * NOTE: This property will not be serialized. It can only be populated by the server. */ - partitionCount?: number; + readonly role?: RoleDisasterRecovery; /** - * Enumerates the possible values for the status of the Event Hub. Possible values include: - * 'Active', 'Disabled', 'Restoring', 'SendDisabled', 'ReceiveDisabled', 'Creating', 'Deleting', - * 'Renaming', 'Unknown' + * Number of entities pending to be replicated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - status?: EntityStatus; + readonly pendingReplicationOperationsCount?: number; +}; + +/** Single item in List or Get Event Hub operation */ +export type Eventhub = Resource & { /** - * Properties of capture description + * Current number of shards on the Event Hub. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - captureDescription?: CaptureDescription; -} - -/** - * Single item in List or Get Consumer group operation - */ -export interface ConsumerGroup extends Resource { + readonly partitionIds?: string[]; /** - * Exact time the message was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Exact time the Event Hub was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdAt?: Date; /** * The exact time the message was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedAt?: Date; + /** Number of days to retain the events for this Event Hub, value should be 1 to 7 days */ + messageRetentionInDays?: number; + /** Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions. */ + partitionCount?: number; + /** Enumerates the possible values for the status of the Event Hub. */ + status?: EntityStatus; + /** Properties of capture description */ + captureDescription?: CaptureDescription; +}; + +/** Single Event Hubs Cluster resource in List or Get operations. */ +export type Cluster = TrackedResource & { + /** Properties of the cluster SKU. */ + sku?: ClusterSku; /** - * User Metadata is a placeholder to store user-defined string data with maximum length 1024. - * e.g. it can be used to store descriptive data, such as list of teams and their contact - * information also user-defined configuration settings can be stored. + * The UTC time when the Event Hubs Cluster was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - userMetadata?: string; -} - -/** - * Parameter supplied to check Namespace name availability operation - */ -export interface CheckNameAvailabilityParameter { - /** - * Name to check the namespace name availability - */ - name: string; -} - -/** - * The Result of the CheckNameAvailability operation - */ -export interface CheckNameAvailabilityResult { + readonly createdAt?: string; /** - * The detailed info regarding the reason associated with the Namespace. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The UTC time when the Event Hubs Cluster was last updated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly updatedAt?: string; /** - * Value indicating Namespace is availability, true if the Namespace is available; otherwise, - * false. + * The metric ID of the cluster resource. Provided by the service and not modifiable by the user. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - nameAvailable?: boolean; + readonly metricId?: string; /** - * The reason for unavailability of a Namespace. Possible values include: 'None', 'InvalidName', - * 'SubscriptionIsDisabled', 'NameInUse', 'NameInLockdown', - * 'TooManyNamespaceInCurrentSubscription' + * Status of the Cluster resource + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: UnavailableReason; -} + readonly status?: string; +}; -/** - * The object that represents the operation. - */ -export interface OperationDisplay { - /** - * Service provider: Microsoft.EventHub - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provider?: string; +/** Single Namespace item in List or Get Operation */ +export type EHNamespace = TrackedResource & { + /** Properties of sku resource */ + sku?: Sku; + /** Properties of BYOK Identity description */ + identity?: Identity; /** - * Resource on which the operation is performed: Invoice, etc. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Provisioning state of the Namespace. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resource?: string; + readonly provisioningState?: string; /** - * Operation type: Read, write, delete, etc. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of the Namespace. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operation?: string; -} - -/** - * A Event Hub REST API operation - */ -export interface Operation { + readonly status?: string; /** - * Operation name: {provider}/{resource}/{operation} - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the Namespace was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly createdAt?: Date; /** - * The object that represents the operation. + * The time the Namespace was updated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - display?: OperationDisplay; -} - -/** - * Error response indicates EventHub service is not able to process the incoming request. The - * reason is provided in the error message. - */ -export interface ErrorResponse { + readonly updatedAt?: Date; /** - * Error code. + * Endpoint you can use to perform Service Bus operations. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - code?: string; + readonly serviceBusEndpoint?: string; + /** Cluster ARM ID of the Namespace. */ + clusterArmId?: string; /** - * Error message indicating why the operation failed. + * Identifier for Azure Insights metrics. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - message?: string; -} + readonly metricId?: string; + /** Value that indicates whether AutoInflate is enabled for eventhub namespace. */ + isAutoInflateEnabled?: boolean; + /** Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true) */ + maximumThroughputUnits?: number; + /** Value that indicates whether Kafka is enabled for eventhub namespace. */ + kafkaEnabled?: boolean; + /** Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones. */ + zoneRedundant?: boolean; + /** Properties of BYOK Encryption description */ + encryption?: Encryption; +}; -/** - * Single item in List or Get Alias(Disaster Recovery configuration) operation - */ -export interface ArmDisasterRecovery extends Resource { - /** - * Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' - * or 'Succeeded' or 'Failed'. Possible values include: 'Accepted', 'Succeeded', 'Failed' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: ProvisioningStateDR; - /** - * ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing - */ - partnerNamespace?: string; - /** - * Alternate name specified when alias and namespace names are same. - */ - alternateName?: string; - /** - * role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or - * 'Secondary'. Possible values include: 'Primary', 'PrimaryNotReplicating', 'Secondary' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly role?: RoleDisasterRecovery; - /** - * Number of entities pending to be replicated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly pendingReplicationOperationsCount?: number; -} +/** Messaging Region */ +export type MessagingRegions = TrackedResource & { + /** Properties of Messaging Region */ + properties?: MessagingRegionsProperties; +}; -/** - * An interface representing MessagingRegionsProperties. - */ -export interface MessagingRegionsProperties { - /** - * Region code - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly code?: string; - /** - * Full name of the region - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly fullName?: string; +/** Known values of {@link ClusterSkuName} that the service accepts. */ +export enum KnownClusterSkuName { + Dedicated = "Dedicated" } /** - * Messaging Region + * Defines values for ClusterSkuName. \ + * {@link KnownClusterSkuName} can be used interchangeably with ClusterSkuName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Dedicated** */ -export interface MessagingRegions extends TrackedResource { - properties?: MessagingRegionsProperties; -} +export type ClusterSkuName = string; -/** - * Messaging Plan for the namespace - */ -export interface MessagingPlan extends TrackedResource { - /** - * Sku type - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly sku?: number; - /** - * Selected event hub unit - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly selectedEventHubUnit?: number; - /** - * The exact time the messaging plan was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly updatedAt?: Date; - /** - * revision number - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly revision?: number; +/** Known values of {@link IPAction} that the service accepts. */ +export enum KnownIPAction { + Accept = "Accept", + Reject = "Reject" } /** - * Properties supplied for Subnet + * Defines values for IPAction. \ + * {@link KnownIPAction} can be used interchangeably with IPAction, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Accept** \ + * **Reject** */ -export interface Subnet { - /** - * Resource ID of Virtual Network Subnet - */ - id: string; -} +export type IPAction = string; -/** - * Description of NetWorkRuleSet - IpRules resource. - */ -export interface NWRuleSetIpRules { - /** - * IP Mask - */ - ipMask?: string; - /** - * The IP Filter Action. Possible values include: 'Allow'. Default value: 'Allow'. - */ - action?: NetworkRuleIPAction; +/** Known values of {@link SkuName} that the service accepts. */ +export enum KnownSkuName { + Basic = "Basic", + Standard = "Standard" } /** - * Description of VirtualNetworkRules - NetworkRules resource. + * Defines values for SkuName. \ + * {@link KnownSkuName} can be used interchangeably with SkuName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Basic** \ + * **Standard** */ -export interface NWRuleSetVirtualNetworkRules { - /** - * Subnet properties - */ - subnet?: Subnet; - /** - * Value that indicates whether to ignore missing VNet Service Endpoint - */ - ignoreMissingVnetServiceEndpoint?: boolean; -} +export type SkuName = string; -/** - * Description of NetworkRuleSet resource. - */ -export interface NetworkRuleSet extends Resource { - /** - * Default Action for Network Rule Set. Possible values include: 'Allow', 'Deny' - */ - defaultAction?: DefaultAction; - /** - * List VirtualNetwork Rules - */ - virtualNetworkRules?: NWRuleSetVirtualNetworkRules[]; - /** - * List of IpRules - */ - ipRules?: NWRuleSetIpRules[]; +/** Known values of {@link SkuTier} that the service accepts. */ +export enum KnownSkuTier { + Basic = "Basic", + Standard = "Standard" } /** - * Optional Parameters. + * Defines values for SkuTier. \ + * {@link KnownSkuTier} can be used interchangeably with SkuTier, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Basic** \ + * **Standard** */ -export interface EventHubsListByNamespaceOptionalParams extends msRest.RequestOptionsBase { - /** - * Skip is only used if a previous operation returned a partial result. If a previous response - * contains a nextLink element, the value of the nextLink element will include a skip parameter - * that specifies a starting point to use for subsequent calls. - */ - skip?: number; - /** - * May be used to limit the number of results to the most recent N usageDetails. - */ - top?: number; -} +export type SkuTier = string; -/** - * Optional Parameters. - */ -export interface ConsumerGroupsListByEventHubOptionalParams extends msRest.RequestOptionsBase { - /** - * Skip is only used if a previous operation returned a partial result. If a previous response - * contains a nextLink element, the value of the nextLink element will include a skip parameter - * that specifies a starting point to use for subsequent calls. - */ - skip?: number; - /** - * May be used to limit the number of results to the most recent N usageDetails. - */ - top?: number; +/** Known values of {@link PrivateLinkConnectionStatus} that the service accepts. */ +export enum KnownPrivateLinkConnectionStatus { + Pending = "Pending", + Approved = "Approved", + Rejected = "Rejected", + Disconnected = "Disconnected" } /** - * An interface representing EventHubManagementClientOptions. - */ -export interface EventHubManagementClientOptions extends AzureServiceClientOptions { - baseUri?: string; + * Defines values for PrivateLinkConnectionStatus. \ + * {@link KnownPrivateLinkConnectionStatus} can be used interchangeably with PrivateLinkConnectionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pending** \ + * **Approved** \ + * **Rejected** \ + * **Disconnected** + */ +export type PrivateLinkConnectionStatus = string; + +/** Known values of {@link EndPointProvisioningState} that the service accepts. */ +export enum KnownEndPointProvisioningState { + Creating = "Creating", + Updating = "Updating", + Deleting = "Deleting", + Succeeded = "Succeeded", + Canceled = "Canceled", + Failed = "Failed" } /** - * @interface - * Result of the request to list Event Hub operations. It contains a list of operations and a URL - * link to get the next set of results. - * @extends Array + * Defines values for EndPointProvisioningState. \ + * {@link KnownEndPointProvisioningState} can be used interchangeably with EndPointProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Updating** \ + * **Deleting** \ + * **Succeeded** \ + * **Canceled** \ + * **Failed** */ -export interface OperationListResult extends Array { - /** - * URL to get the next set of operation list results if there are any. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +export type EndPointProvisioningState = string; -/** - * @interface - * The response of the List Namespace operation - * @extends Array - */ -export interface EHNamespaceListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of namespaces. - */ - nextLink?: string; +/** Known values of {@link DefaultAction} that the service accepts. */ +export enum KnownDefaultAction { + Allow = "Allow", + Deny = "Deny" } /** - * @interface - * The response from the List namespace operation. - * @extends Array + * Defines values for DefaultAction. \ + * {@link KnownDefaultAction} can be used interchangeably with DefaultAction, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Allow** \ + * **Deny** */ -export interface AuthorizationRuleListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains an incomplete list of - * Authorization Rules - */ - nextLink?: string; +export type DefaultAction = string; + +/** Known values of {@link NetworkRuleIPAction} that the service accepts. */ +export enum KnownNetworkRuleIPAction { + Allow = "Allow" } /** - * @interface - * The result of the List Alias(Disaster Recovery configuration) operation. - * @extends Array + * Defines values for NetworkRuleIPAction. \ + * {@link KnownNetworkRuleIPAction} can be used interchangeably with NetworkRuleIPAction, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Allow** */ -export interface ArmDisasterRecoveryListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster - * Recovery configuration) - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type NetworkRuleIPAction = string; + +/** Known values of {@link AccessRights} that the service accepts. */ +export enum KnownAccessRights { + Manage = "Manage", + Send = "Send", + Listen = "Listen" } /** - * @interface - * The result of the List EventHubs operation. - * @extends Array - */ -export interface EventHubListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of EventHubs. - */ - nextLink?: string; + * Defines values for AccessRights. \ + * {@link KnownAccessRights} can be used interchangeably with AccessRights, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Manage** \ + * **Send** \ + * **Listen** + */ +export type AccessRights = string; +/** Defines values for KeyType. */ +export type KeyType = "PrimaryKey" | "SecondaryKey"; +/** Defines values for UnavailableReason. */ +export type UnavailableReason = + | "None" + | "InvalidName" + | "SubscriptionIsDisabled" + | "NameInUse" + | "NameInLockdown" + | "TooManyNamespaceInCurrentSubscription"; +/** Defines values for ProvisioningStateDR. */ +export type ProvisioningStateDR = "Accepted" | "Succeeded" | "Failed"; +/** Defines values for RoleDisasterRecovery. */ +export type RoleDisasterRecovery = + | "Primary" + | "PrimaryNotReplicating" + | "Secondary"; +/** Defines values for EntityStatus. */ +export type EntityStatus = + | "Active" + | "Disabled" + | "Restoring" + | "SendDisabled" + | "ReceiveDisabled" + | "Creating" + | "Deleting" + | "Renaming" + | "Unknown"; +/** Defines values for EncodingCaptureDescription. */ +export type EncodingCaptureDescription = "Avro" | "AvroDeflate"; + +/** Optional parameters. */ +export interface ClustersListAvailableClusterRegionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listAvailableClusterRegion operation. */ +export type ClustersListAvailableClusterRegionResponse = AvailableClustersList; + +/** Optional parameters. */ +export interface ClustersListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceGroup operation. */ +export type ClustersListByResourceGroupResponse = ClusterListResult; + +/** Optional parameters. */ +export interface ClustersGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ClustersGetResponse = Cluster; + +/** Optional parameters. */ +export interface ClustersCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; } -/** - * @interface - * The result to the List Consumer Group operation. - * @extends Array - */ -export interface ConsumerGroupListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of Consumer Group - */ - nextLink?: string; +/** Contains response data for the createOrUpdate operation. */ +export type ClustersCreateOrUpdateResponse = Cluster; + +/** Optional parameters. */ +export interface ClustersUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; } -/** - * @interface - * The response of the List MessagingRegions operation. - * @extends Array - */ -export interface MessagingRegionsListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of - * MessagingRegions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +/** Contains response data for the update operation. */ +export type ClustersUpdateResponse = Cluster; + +/** Optional parameters. */ +export interface ClustersDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; } -/** - * Defines values for SkuName. - * Possible values include: 'Basic', 'Standard' - * @readonly - * @enum {string} - */ -export type SkuName = 'Basic' | 'Standard'; +/** Optional parameters. */ +export interface ClustersListNamespacesOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for SkuTier. - * Possible values include: 'Basic', 'Standard' - * @readonly - * @enum {string} - */ -export type SkuTier = 'Basic' | 'Standard'; +/** Contains response data for the listNamespaces operation. */ +export type ClustersListNamespacesResponse = EHNamespaceIdListResult; -/** - * Defines values for AccessRights. - * Possible values include: 'Manage', 'Send', 'Listen' - * @readonly - * @enum {string} - */ -export type AccessRights = 'Manage' | 'Send' | 'Listen'; +/** Optional parameters. */ +export interface ClustersListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for KeyType. - * Possible values include: 'PrimaryKey', 'SecondaryKey' - * @readonly - * @enum {string} - */ -export type KeyType = 'PrimaryKey' | 'SecondaryKey'; +/** Contains response data for the listByResourceGroupNext operation. */ +export type ClustersListByResourceGroupNextResponse = ClusterListResult; -/** - * Defines values for EntityStatus. - * Possible values include: 'Active', 'Disabled', 'Restoring', 'SendDisabled', 'ReceiveDisabled', - * 'Creating', 'Deleting', 'Renaming', 'Unknown' - * @readonly - * @enum {string} - */ -export type EntityStatus = 'Active' | 'Disabled' | 'Restoring' | 'SendDisabled' | 'ReceiveDisabled' | 'Creating' | 'Deleting' | 'Renaming' | 'Unknown'; +/** Optional parameters. */ +export interface NamespacesListIPFilterRulesOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for EncodingCaptureDescription. - * Possible values include: 'Avro', 'AvroDeflate' - * @readonly - * @enum {string} - */ -export type EncodingCaptureDescription = 'Avro' | 'AvroDeflate'; +/** Contains response data for the listIPFilterRules operation. */ +export type NamespacesListIPFilterRulesResponse = IpFilterRuleListResult; -/** - * Defines values for UnavailableReason. - * Possible values include: 'None', 'InvalidName', 'SubscriptionIsDisabled', 'NameInUse', - * 'NameInLockdown', 'TooManyNamespaceInCurrentSubscription' - * @readonly - * @enum {string} - */ -export type UnavailableReason = 'None' | 'InvalidName' | 'SubscriptionIsDisabled' | 'NameInUse' | 'NameInLockdown' | 'TooManyNamespaceInCurrentSubscription'; +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateIpFilterRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ProvisioningStateDR. - * Possible values include: 'Accepted', 'Succeeded', 'Failed' - * @readonly - * @enum {string} - */ -export type ProvisioningStateDR = 'Accepted' | 'Succeeded' | 'Failed'; +/** Contains response data for the createOrUpdateIpFilterRule operation. */ +export type NamespacesCreateOrUpdateIpFilterRuleResponse = IpFilterRule; -/** - * Defines values for RoleDisasterRecovery. - * Possible values include: 'Primary', 'PrimaryNotReplicating', 'Secondary' - * @readonly - * @enum {string} - */ -export type RoleDisasterRecovery = 'Primary' | 'PrimaryNotReplicating' | 'Secondary'; +/** Optional parameters. */ +export interface NamespacesDeleteIpFilterRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for NetworkRuleIPAction. - * Possible values include: 'Allow' - * @readonly - * @enum {string} - */ -export type NetworkRuleIPAction = 'Allow'; +/** Optional parameters. */ +export interface NamespacesGetIpFilterRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for DefaultAction. - * Possible values include: 'Allow', 'Deny' - * @readonly - * @enum {string} - */ -export type DefaultAction = 'Allow' | 'Deny'; +/** Contains response data for the getIpFilterRule operation. */ +export type NamespacesGetIpFilterRuleResponse = IpFilterRule; -/** - * Contains response data for the list operation. - */ -export type OperationsListResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type OperationsListNextResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; +/** Contains response data for the list operation. */ +export type NamespacesListResponse = EHNamespaceListResult; -/** - * Contains response data for the checkNameAvailability operation. - */ -export type NamespacesCheckNameAvailabilityResponse = CheckNameAvailabilityResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: CheckNameAvailabilityResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type NamespacesListResponse = EHNamespaceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EHNamespaceListResult; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type NamespacesListByResourceGroupResponse = EHNamespaceListResult; -/** - * Contains response data for the listByResourceGroup operation. - */ -export type NamespacesListByResourceGroupResponse = EHNamespaceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EHNamespaceListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 NamespacesCreateOrUpdateResponse = EHNamespace & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EHNamespace; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type NamespacesCreateOrUpdateResponse = EHNamespace; -/** - * Contains response data for the get operation. - */ -export type NamespacesGetResponse = EHNamespace & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EHNamespace; - }; -}; +/** Optional parameters. */ +export interface NamespacesDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 NamespacesUpdateResponse = EHNamespace & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EHNamespace; - }; -}; +/** Optional parameters. */ +export interface NamespacesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getMessagingPlan operation. - */ -export type NamespacesGetMessagingPlanResponse = MessagingPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MessagingPlan; - }; -}; +/** Contains response data for the get operation. */ +export type NamespacesGetResponse = EHNamespace; -/** - * Contains response data for the listAuthorizationRules operation. - */ -export type NamespacesListAuthorizationRulesResponse = AuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRuleListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateAuthorizationRule operation. - */ -export type NamespacesCreateOrUpdateAuthorizationRuleResponse = AuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRule; - }; -}; +/** Contains response data for the update operation. */ +export type NamespacesUpdateResponse = EHNamespace; -/** - * Contains response data for the getAuthorizationRule operation. - */ -export type NamespacesGetAuthorizationRuleResponse = AuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRule; - }; -}; +/** Optional parameters. */ +export interface NamespacesListVirtualNetworkRulesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listKeys operation. - */ -export type NamespacesListKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Contains response data for the listVirtualNetworkRules operation. */ +export type NamespacesListVirtualNetworkRulesResponse = VirtualNetworkRuleListResult; -/** - * Contains response data for the regenerateKeys operation. - */ -export type NamespacesRegenerateKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateNetworkRuleSet operation. - */ -export type NamespacesCreateOrUpdateNetworkRuleSetResponse = NetworkRuleSet & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkRuleSet; - }; -}; +/** Contains response data for the createOrUpdateVirtualNetworkRule operation. */ +export type NamespacesCreateOrUpdateVirtualNetworkRuleResponse = VirtualNetworkRule; -/** - * Contains response data for the getNetworkRuleSet operation. - */ -export type NamespacesGetNetworkRuleSetResponse = NetworkRuleSet & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkRuleSet; - }; -}; +/** Optional parameters. */ +export interface NamespacesDeleteVirtualNetworkRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type NamespacesBeginCreateOrUpdateResponse = EHNamespace & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EHNamespace; - }; -}; +/** Optional parameters. */ +export interface NamespacesGetVirtualNetworkRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type NamespacesListNextResponse = EHNamespaceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EHNamespaceListResult; - }; -}; +/** Contains response data for the getVirtualNetworkRule operation. */ +export type NamespacesGetVirtualNetworkRuleResponse = VirtualNetworkRule; -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type NamespacesListByResourceGroupNextResponse = EHNamespaceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EHNamespaceListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateNetworkRuleSetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAuthorizationRulesNext operation. - */ -export type NamespacesListAuthorizationRulesNextResponse = AuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRuleListResult; - }; -}; +/** Contains response data for the createOrUpdateNetworkRuleSet operation. */ +export type NamespacesCreateOrUpdateNetworkRuleSetResponse = NetworkRuleSet; -/** - * Contains response data for the checkNameAvailability operation. - */ -export type DisasterRecoveryConfigsCheckNameAvailabilityResponse = CheckNameAvailabilityResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: CheckNameAvailabilityResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesGetNetworkRuleSetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type DisasterRecoveryConfigsListResponse = ArmDisasterRecoveryListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ArmDisasterRecoveryListResult; - }; -}; +/** Contains response data for the getNetworkRuleSet operation. */ +export type NamespacesGetNetworkRuleSetResponse = NetworkRuleSet; -/** - * Contains response data for the createOrUpdate operation. - */ -export type DisasterRecoveryConfigsCreateOrUpdateResponse = ArmDisasterRecovery & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ArmDisasterRecovery; - }; -}; +/** Optional parameters. */ +export interface NamespacesListAuthorizationRulesOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type DisasterRecoveryConfigsGetResponse = ArmDisasterRecovery & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ArmDisasterRecovery; - }; -}; +/** Contains response data for the listAuthorizationRules operation. */ +export type NamespacesListAuthorizationRulesResponse = AuthorizationRuleListResult; -/** - * Contains response data for the listAuthorizationRules operation. - */ -export type DisasterRecoveryConfigsListAuthorizationRulesResponse = AuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRuleListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getAuthorizationRule operation. - */ -export type DisasterRecoveryConfigsGetAuthorizationRuleResponse = AuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRule; - }; -}; +/** Contains response data for the createOrUpdateAuthorizationRule operation. */ +export type NamespacesCreateOrUpdateAuthorizationRuleResponse = AuthorizationRule; -/** - * Contains response data for the listKeys operation. - */ -export type DisasterRecoveryConfigsListKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface NamespacesDeleteAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type DisasterRecoveryConfigsListNextResponse = ArmDisasterRecoveryListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ArmDisasterRecoveryListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesGetAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAuthorizationRulesNext operation. - */ -export type DisasterRecoveryConfigsListAuthorizationRulesNextResponse = AuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRuleListResult; - }; -}; +/** Contains response data for the getAuthorizationRule operation. */ +export type NamespacesGetAuthorizationRuleResponse = AuthorizationRule; -/** - * Contains response data for the listByNamespace operation. - */ -export type EventHubsListByNamespaceResponse = EventHubListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EventHubListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesListKeysOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type EventHubsCreateOrUpdateResponse = Eventhub & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Eventhub; - }; -}; +/** Contains response data for the listKeys operation. */ +export type NamespacesListKeysResponse = AccessKeys; -/** - * Contains response data for the get operation. - */ -export type EventHubsGetResponse = Eventhub & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Eventhub; - }; -}; +/** Optional parameters. */ +export interface NamespacesRegenerateKeysOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAuthorizationRules operation. - */ -export type EventHubsListAuthorizationRulesResponse = AuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRuleListResult; - }; -}; +/** Contains response data for the regenerateKeys operation. */ +export type NamespacesRegenerateKeysResponse = AccessKeys; -/** - * Contains response data for the createOrUpdateAuthorizationRule operation. - */ -export type EventHubsCreateOrUpdateAuthorizationRuleResponse = AuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRule; - }; -}; +/** Optional parameters. */ +export interface NamespacesCheckNameAvailabilityOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getAuthorizationRule operation. - */ -export type EventHubsGetAuthorizationRuleResponse = AuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRule; - }; -}; +/** Contains response data for the checkNameAvailability operation. */ +export type NamespacesCheckNameAvailabilityResponse = CheckNameAvailabilityResult; -/** - * Contains response data for the listKeys operation. - */ -export type EventHubsListKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface NamespacesListIPFilterRulesNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the regenerateKeys operation. - */ -export type EventHubsRegenerateKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Contains response data for the listIPFilterRulesNext operation. */ +export type NamespacesListIPFilterRulesNextResponse = IpFilterRuleListResult; -/** - * Contains response data for the listByNamespaceNext operation. - */ -export type EventHubsListByNamespaceNextResponse = EventHubListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: EventHubListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAuthorizationRulesNext operation. - */ -export type EventHubsListAuthorizationRulesNextResponse = AuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: AuthorizationRuleListResult; - }; -}; +/** Contains response data for the listNext operation. */ +export type NamespacesListNextResponse = EHNamespaceListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ConsumerGroupsCreateOrUpdateResponse = ConsumerGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConsumerGroup; - }; -}; +/** Optional parameters. */ +export interface NamespacesListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ConsumerGroupsGetResponse = ConsumerGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConsumerGroup; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type NamespacesListByResourceGroupNextResponse = EHNamespaceListResult; -/** - * Contains response data for the listByEventHub operation. - */ -export type ConsumerGroupsListByEventHubResponse = ConsumerGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConsumerGroupListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesListVirtualNetworkRulesNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByEventHubNext operation. - */ -export type ConsumerGroupsListByEventHubNextResponse = ConsumerGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ConsumerGroupListResult; - }; -}; +/** Contains response data for the listVirtualNetworkRulesNext operation. */ +export type NamespacesListVirtualNetworkRulesNextResponse = VirtualNetworkRuleListResult; -/** - * Contains response data for the listBySku operation. - */ -export type RegionsListBySkuResponse = MessagingRegionsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MessagingRegionsListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesListAuthorizationRulesNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBySkuNext operation. - */ -export type RegionsListBySkuNextResponse = MessagingRegionsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MessagingRegionsListResult; - }; -}; +/** Contains response data for the listAuthorizationRulesNext operation. */ +export type NamespacesListAuthorizationRulesNextResponse = AuthorizationRuleListResult; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type PrivateEndpointConnectionsListResponse = PrivateEndpointConnectionListResult; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 PrivateEndpointConnectionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type PrivateEndpointConnectionsListNextResponse = PrivateEndpointConnectionListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type PrivateLinkResourcesGetResponse = PrivateLinkResourcesListResult; + +/** Optional parameters. */ +export interface ConfigurationPatchOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the patch operation. */ +export type ConfigurationPatchResponse = ClusterQuotaConfigurationProperties; + +/** Optional parameters. */ +export interface ConfigurationGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ConfigurationGetResponse = ClusterQuotaConfigurationProperties; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listAuthorizationRules operation. */ +export type DisasterRecoveryConfigsListAuthorizationRulesResponse = AuthorizationRuleListResult; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getAuthorizationRule operation. */ +export type DisasterRecoveryConfigsGetAuthorizationRuleResponse = AuthorizationRule; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListKeysOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listKeys operation. */ +export type DisasterRecoveryConfigsListKeysResponse = AccessKeys; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the checkNameAvailability operation. */ +export type DisasterRecoveryConfigsCheckNameAvailabilityResponse = CheckNameAvailabilityResult; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type DisasterRecoveryConfigsListResponse = ArmDisasterRecoveryListResult; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type DisasterRecoveryConfigsCreateOrUpdateResponse = ArmDisasterRecovery; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DisasterRecoveryConfigsGetResponse = ArmDisasterRecovery; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsBreakPairingOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsFailOverOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListAuthorizationRulesNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listAuthorizationRulesNext operation. */ +export type DisasterRecoveryConfigsListAuthorizationRulesNextResponse = AuthorizationRuleListResult; + +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type DisasterRecoveryConfigsListNextResponse = ArmDisasterRecoveryListResult; + +/** Optional parameters. */ +export interface EventHubsListAuthorizationRulesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listAuthorizationRules operation. */ +export type EventHubsListAuthorizationRulesResponse = AuthorizationRuleListResult; + +/** Optional parameters. */ +export interface EventHubsCreateOrUpdateAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdateAuthorizationRule operation. */ +export type EventHubsCreateOrUpdateAuthorizationRuleResponse = AuthorizationRule; + +/** Optional parameters. */ +export interface EventHubsGetAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getAuthorizationRule operation. */ +export type EventHubsGetAuthorizationRuleResponse = AuthorizationRule; + +/** Optional parameters. */ +export interface EventHubsDeleteAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface EventHubsListKeysOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listKeys operation. */ +export type EventHubsListKeysResponse = AccessKeys; + +/** Optional parameters. */ +export interface EventHubsRegenerateKeysOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the regenerateKeys operation. */ +export type EventHubsRegenerateKeysResponse = AccessKeys; + +/** Optional parameters. */ +export interface EventHubsListByNamespaceOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} + +/** Contains response data for the listByNamespace operation. */ +export type EventHubsListByNamespaceResponse = EventHubListResult; + +/** Optional parameters. */ +export interface EventHubsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type EventHubsCreateOrUpdateResponse = Eventhub; + +/** Optional parameters. */ +export interface EventHubsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface EventHubsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type EventHubsGetResponse = Eventhub; + +/** Optional parameters. */ +export interface EventHubsListAuthorizationRulesNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listAuthorizationRulesNext operation. */ +export type EventHubsListAuthorizationRulesNextResponse = AuthorizationRuleListResult; + +/** Optional parameters. */ +export interface EventHubsListByNamespaceNextOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} + +/** Contains response data for the listByNamespaceNext operation. */ +export type EventHubsListByNamespaceNextResponse = EventHubListResult; + +/** Optional parameters. */ +export interface ConsumerGroupsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type ConsumerGroupsCreateOrUpdateResponse = ConsumerGroup; + +/** Optional parameters. */ +export interface ConsumerGroupsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ConsumerGroupsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ConsumerGroupsGetResponse = ConsumerGroup; + +/** Optional parameters. */ +export interface ConsumerGroupsListByEventHubOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} + +/** Contains response data for the listByEventHub operation. */ +export type ConsumerGroupsListByEventHubResponse = ConsumerGroupListResult; + +/** Optional parameters. */ +export interface ConsumerGroupsListByEventHubNextOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} + +/** Contains response data for the listByEventHubNext operation. */ +export type ConsumerGroupsListByEventHubNextResponse = ConsumerGroupListResult; + +/** Optional parameters. */ +export interface OperationsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type OperationsListResponse = OperationListResult; + +/** Optional parameters. */ +export interface OperationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type OperationsListNextResponse = OperationListResult; + +/** Optional parameters. */ +export interface RegionsListBySkuOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listBySku operation. */ +export type RegionsListBySkuResponse = MessagingRegionsListResult; + +/** Optional parameters. */ +export interface RegionsListBySkuNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listBySkuNext operation. */ +export type RegionsListBySkuNextResponse = MessagingRegionsListResult; + +/** Optional parameters. */ +export interface EventHubManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/eventhub/arm-eventhub/src/models/mappers.ts b/sdk/eventhub/arm-eventhub/src/models/mappers.ts index 8b1ee80373e4..67a187ffcb90 100644 --- a/sdk/eventhub/arm-eventhub/src/models/mappers.ts +++ b/sdk/eventhub/arm-eventhub/src/models/mappers.ts @@ -1,199 +1,165 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export const CloudError = CloudErrorMapper; -export const BaseResource = BaseResourceMapper; - -export const Resource: msRest.CompositeMapper = { - serializedName: "Resource", +export const AvailableClustersList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Resource", + className: "AvailableClustersList", modelProperties: { - id: { - readOnly: true, - serializedName: "id", - type: { - name: "String" - } - }, - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" - } - }, - type: { - readOnly: true, - serializedName: "type", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AvailableCluster" + } + } } } } } }; -export const TrackedResource: msRest.CompositeMapper = { - serializedName: "TrackedResource", +export const AvailableCluster: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TrackedResource", + className: "AvailableCluster", modelProperties: { - ...Resource.type.modelProperties, location: { serializedName: "location", type: { name: "String" } - }, - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } - } } } } }; -export const Sku: msRest.CompositeMapper = { - serializedName: "Sku", +export const ErrorResponse: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Sku", + className: "ErrorResponse", modelProperties: { - name: { - required: true, - serializedName: "name", + code: { + serializedName: "code", type: { name: "String" } }, - tier: { - serializedName: "tier", + message: { + serializedName: "message", type: { name: "String" } - }, - capacity: { - serializedName: "capacity", - constraints: { - InclusiveMaximum: 20, - InclusiveMinimum: 0 - }, - type: { - name: "Number" - } } } } }; -export const EHNamespace: msRest.CompositeMapper = { - serializedName: "EHNamespace", +export const ClusterListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EHNamespace", + className: "ClusterListResult", modelProperties: { - ...TrackedResource.type.modelProperties, - sku: { - serializedName: "sku", + value: { + serializedName: "value", type: { - name: "Composite", - className: "Sku" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Cluster" + } + } } }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", - type: { - name: "DateTime" - } - }, - updatedAt: { + } + } + } +}; + +export const Resource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + serializedName: "id", readOnly: true, - serializedName: "properties.updatedAt", type: { - name: "DateTime" + name: "String" } }, - serviceBusEndpoint: { + name: { + serializedName: "name", readOnly: true, - serializedName: "properties.serviceBusEndpoint", type: { name: "String" } }, - metricId: { + type: { + serializedName: "type", readOnly: true, - serializedName: "properties.metricId", type: { name: "String" } - }, - isAutoInflateEnabled: { - serializedName: "properties.isAutoInflateEnabled", + } + } + } +}; + +export const ClusterSku: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ClusterSku", + modelProperties: { + name: { + serializedName: "name", + required: true, type: { - name: "Boolean" + name: "String" } }, - maximumThroughputUnits: { - serializedName: "properties.maximumThroughputUnits", + capacity: { constraints: { - InclusiveMaximum: 20, - InclusiveMinimum: 0 + InclusiveMinimum: 1 }, + serializedName: "capacity", type: { name: "Number" } - }, - kafkaEnabled: { - serializedName: "properties.kafkaEnabled", - type: { - name: "Boolean" - } } } } }; -export const AuthorizationRule: msRest.CompositeMapper = { - serializedName: "AuthorizationRule", +export const EHNamespaceIdListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AuthorizationRule", + className: "EHNamespaceIdListResult", modelProperties: { - ...Resource.type.modelProperties, - rights: { - required: true, - serializedName: "properties.rights", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "EHNamespaceIdContainer" } } } @@ -202,57 +168,67 @@ export const AuthorizationRule: msRest.CompositeMapper = { } }; -export const AccessKeys: msRest.CompositeMapper = { - serializedName: "AccessKeys", +export const EHNamespaceIdContainer: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AccessKeys", + className: "EHNamespaceIdContainer", modelProperties: { - primaryConnectionString: { - readOnly: true, - serializedName: "primaryConnectionString", - type: { - name: "String" - } - }, - secondaryConnectionString: { - readOnly: true, - serializedName: "secondaryConnectionString", - type: { - name: "String" - } - }, - aliasPrimaryConnectionString: { - readOnly: true, - serializedName: "aliasPrimaryConnectionString", + id: { + serializedName: "id", type: { name: "String" } - }, - aliasSecondaryConnectionString: { - readOnly: true, - serializedName: "aliasSecondaryConnectionString", + } + } + } +}; + +export const IpFilterRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpFilterRuleListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IpFilterRule" + } + } } }, - primaryKey: { - readOnly: true, - serializedName: "primaryKey", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - secondaryKey: { - readOnly: true, - serializedName: "secondaryKey", + } + } + } +}; + +export const EHNamespaceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EHNamespaceListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EHNamespace" + } + } } }, - keyName: { - readOnly: true, - serializedName: "keyName", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -261,59 +237,58 @@ export const AccessKeys: msRest.CompositeMapper = { } }; -export const RegenerateAccessKeyParameters: msRest.CompositeMapper = { - serializedName: "RegenerateAccessKeyParameters", +export const Sku: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RegenerateAccessKeyParameters", + className: "Sku", modelProperties: { - keyType: { + name: { + serializedName: "name", required: true, - serializedName: "keyType", type: { - name: "Enum", - allowedValues: [ - "PrimaryKey", - "SecondaryKey" - ] + name: "String" } }, - key: { - serializedName: "key", + tier: { + serializedName: "tier", type: { name: "String" } + }, + capacity: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "capacity", + type: { + name: "Number" + } } } } }; -export const Destination: msRest.CompositeMapper = { - serializedName: "Destination", +export const Identity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Destination", + className: "Identity", modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, - storageAccountResourceId: { - serializedName: "properties.storageAccountResourceId", + principalId: { + serializedName: "principalId", type: { name: "String" } }, - blobContainer: { - serializedName: "properties.blobContainer", + tenantId: { + serializedName: "tenantId", type: { name: "String" } }, - archiveNameFormat: { - serializedName: "properties.archiveNameFormat", + type: { + defaultValue: "SystemAssigned", + isConstant: true, + serializedName: "type", type: { name: "String" } @@ -322,167 +297,96 @@ export const Destination: msRest.CompositeMapper = { } }; -export const CaptureDescription: msRest.CompositeMapper = { - serializedName: "CaptureDescription", +export const Encryption: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CaptureDescription", + className: "Encryption", modelProperties: { - enabled: { - serializedName: "enabled", - type: { - name: "Boolean" - } - }, - encoding: { - serializedName: "encoding", + keyVaultProperties: { + serializedName: "keyVaultProperties", type: { - name: "Enum", - allowedValues: [ - "Avro", - "AvroDeflate" - ] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "KeyVaultProperties" + } + } } }, - intervalInSeconds: { - serializedName: "intervalInSeconds", - constraints: { - InclusiveMaximum: 900, - InclusiveMinimum: 60 - }, + keySource: { + defaultValue: "Microsoft.KeyVault", + isConstant: true, + serializedName: "keySource", type: { - name: "Number" + name: "String" } - }, - sizeLimitInBytes: { - serializedName: "sizeLimitInBytes", - constraints: { - InclusiveMaximum: 524288000, - InclusiveMinimum: 10485760 - }, + } + } + } +}; + +export const KeyVaultProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "KeyVaultProperties", + modelProperties: { + keyName: { + serializedName: "keyName", type: { - name: "Number" + name: "String" } }, - destination: { - serializedName: "destination", + keyVaultUri: { + serializedName: "keyVaultUri", type: { - name: "Composite", - className: "Destination" + name: "String" } }, - skipEmptyArchives: { - serializedName: "skipEmptyArchives", + keyVersion: { + serializedName: "keyVersion", type: { - name: "Boolean" + name: "String" } } } } }; -export const Eventhub: msRest.CompositeMapper = { - serializedName: "Eventhub", +export const PrivateEndpointConnectionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Eventhub", + className: "PrivateEndpointConnectionListResult", modelProperties: { - ...Resource.type.modelProperties, - partitionIds: { - readOnly: true, - serializedName: "properties.partitionIds", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "PrivateEndpointConnection" } } } }, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", - type: { - name: "DateTime" - } - }, - updatedAt: { - readOnly: true, - serializedName: "properties.updatedAt", - type: { - name: "DateTime" - } - }, - messageRetentionInDays: { - serializedName: "properties.messageRetentionInDays", - constraints: { - InclusiveMinimum: 1 - }, - type: { - name: "Number" - } - }, - partitionCount: { - serializedName: "properties.partitionCount", - constraints: { - InclusiveMinimum: 1 - }, - type: { - name: "Number" - } - }, - status: { - serializedName: "properties.status", - type: { - name: "Enum", - allowedValues: [ - "Active", - "Disabled", - "Restoring", - "SendDisabled", - "ReceiveDisabled", - "Creating", - "Deleting", - "Renaming", - "Unknown" - ] - } - }, - captureDescription: { - serializedName: "properties.captureDescription", + nextLink: { + serializedName: "nextLink", type: { - name: "Composite", - className: "CaptureDescription" + name: "String" } } } } }; -export const ConsumerGroup: msRest.CompositeMapper = { - serializedName: "ConsumerGroup", +export const PrivateEndpoint: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ConsumerGroup", + className: "PrivateEndpoint", modelProperties: { - ...Resource.type.modelProperties, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", - type: { - name: "DateTime" - } - }, - updatedAt: { - readOnly: true, - serializedName: "properties.updatedAt", - type: { - name: "DateTime" - } - }, - userMetadata: { - serializedName: "properties.userMetadata", + id: { + serializedName: "id", type: { name: "String" } @@ -491,15 +395,19 @@ export const ConsumerGroup: msRest.CompositeMapper = { } }; -export const CheckNameAvailabilityParameter: msRest.CompositeMapper = { - serializedName: "CheckNameAvailabilityParameter", +export const ConnectionState: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CheckNameAvailabilityParameter", + className: "ConnectionState", modelProperties: { - name: { - required: true, - serializedName: "name", + status: { + serializedName: "status", + type: { + name: "String" + } + }, + description: { + serializedName: "description", type: { name: "String" } @@ -508,112 +416,123 @@ export const CheckNameAvailabilityParameter: msRest.CompositeMapper = { } }; -export const CheckNameAvailabilityResult: msRest.CompositeMapper = { - serializedName: "CheckNameAvailabilityResult", +export const PrivateLinkResourcesListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CheckNameAvailabilityResult", + className: "PrivateLinkResourcesListResult", modelProperties: { - message: { - readOnly: true, - serializedName: "message", - type: { - name: "String" - } - }, - nameAvailable: { - serializedName: "nameAvailable", + value: { + serializedName: "value", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } } }, - reason: { - serializedName: "reason", + nextLink: { + serializedName: "nextLink", type: { - name: "Enum", - allowedValues: [ - "None", - "InvalidName", - "SubscriptionIsDisabled", - "NameInUse", - "NameInLockdown", - "TooManyNamespaceInCurrentSubscription" - ] + name: "String" } } } } }; -export const OperationDisplay: msRest.CompositeMapper = { - serializedName: "Operation_display", +export const PrivateLinkResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationDisplay", + className: "PrivateLinkResource", modelProperties: { - provider: { - readOnly: true, - serializedName: "provider", + id: { + serializedName: "id", type: { name: "String" } }, - resource: { - readOnly: true, - serializedName: "resource", + name: { + serializedName: "name", type: { name: "String" } }, - operation: { - readOnly: true, - serializedName: "operation", + type: { + serializedName: "type", + type: { + name: "String" + } + }, + groupId: { + serializedName: "properties.groupId", type: { name: "String" } + }, + requiredMembers: { + serializedName: "properties.requiredMembers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } } } } }; -export const Operation: msRest.CompositeMapper = { - serializedName: "Operation", +export const ClusterQuotaConfigurationProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Operation", + className: "ClusterQuotaConfigurationProperties", modelProperties: { - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" - } - }, - display: { - serializedName: "display", + settings: { + serializedName: "settings", type: { - name: "Composite", - className: "OperationDisplay" + name: "Dictionary", + value: { type: { name: "String" } } } } } } }; -export const ErrorResponse: msRest.CompositeMapper = { - serializedName: "ErrorResponse", +export const VirtualNetworkRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorResponse", + className: "VirtualNetworkRuleListResult", modelProperties: { - code: { - serializedName: "code", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetworkRule" + } + } } }, - message: { - serializedName: "message", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -622,76 +541,56 @@ export const ErrorResponse: msRest.CompositeMapper = { } }; -export const ArmDisasterRecovery: msRest.CompositeMapper = { - serializedName: "ArmDisasterRecovery", +export const NWRuleSetVirtualNetworkRules: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ArmDisasterRecovery", + className: "NWRuleSetVirtualNetworkRules", modelProperties: { - ...Resource.type.modelProperties, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + subnet: { + serializedName: "subnet", type: { - name: "Enum", - allowedValues: [ - "Accepted", - "Succeeded", - "Failed" - ] + name: "Composite", + className: "Subnet" } }, - partnerNamespace: { - serializedName: "properties.partnerNamespace", + ignoreMissingVnetServiceEndpoint: { + serializedName: "ignoreMissingVnetServiceEndpoint", type: { - name: "String" + name: "Boolean" } - }, - alternateName: { - serializedName: "properties.alternateName", + } + } + } +}; + +export const Subnet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Subnet", + modelProperties: { + id: { + serializedName: "id", type: { name: "String" } - }, - role: { - readOnly: true, - serializedName: "properties.role", - type: { - name: "Enum", - allowedValues: [ - "Primary", - "PrimaryNotReplicating", - "Secondary" - ] - } - }, - pendingReplicationOperationsCount: { - readOnly: true, - serializedName: "properties.pendingReplicationOperationsCount", - type: { - name: "Number" - } } } } }; -export const MessagingRegionsProperties: msRest.CompositeMapper = { - serializedName: "MessagingRegions_properties", +export const NWRuleSetIpRules: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MessagingRegionsProperties", + className: "NWRuleSetIpRules", modelProperties: { - code: { - readOnly: true, - serializedName: "code", + ipMask: { + serializedName: "ipMask", type: { name: "String" } }, - fullName: { - readOnly: true, - serializedName: "fullName", + action: { + serializedName: "action", type: { name: "String" } @@ -700,72 +599,106 @@ export const MessagingRegionsProperties: msRest.CompositeMapper = { } }; -export const MessagingRegions: msRest.CompositeMapper = { - serializedName: "MessagingRegions", +export const AuthorizationRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MessagingRegions", + className: "AuthorizationRuleListResult", modelProperties: { - ...TrackedResource.type.modelProperties, - properties: { - serializedName: "properties", + value: { + serializedName: "value", type: { - name: "Composite", - className: "MessagingRegionsProperties" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AuthorizationRule" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" } } } } }; -export const MessagingPlan: msRest.CompositeMapper = { - serializedName: "MessagingPlan", +export const AccessKeys: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MessagingPlan", + className: "AccessKeys", modelProperties: { - ...TrackedResource.type.modelProperties, - sku: { + primaryConnectionString: { + serializedName: "primaryConnectionString", readOnly: true, - serializedName: "properties.sku", type: { - name: "Number" + name: "String" } }, - selectedEventHubUnit: { + secondaryConnectionString: { + serializedName: "secondaryConnectionString", readOnly: true, - serializedName: "properties.selectedEventHubUnit", type: { - name: "Number" + name: "String" } }, - updatedAt: { + aliasPrimaryConnectionString: { + serializedName: "aliasPrimaryConnectionString", readOnly: true, - serializedName: "properties.updatedAt", type: { - name: "DateTime" + name: "String" } }, - revision: { + aliasSecondaryConnectionString: { + serializedName: "aliasSecondaryConnectionString", readOnly: true, - serializedName: "properties.revision", type: { - name: "Number" + name: "String" + } + }, + primaryKey: { + serializedName: "primaryKey", + readOnly: true, + type: { + name: "String" + } + }, + secondaryKey: { + serializedName: "secondaryKey", + readOnly: true, + type: { + name: "String" + } + }, + keyName: { + serializedName: "keyName", + readOnly: true, + type: { + name: "String" } } } } }; -export const Subnet: msRest.CompositeMapper = { - serializedName: "Subnet", +export const RegenerateAccessKeyParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Subnet", + className: "RegenerateAccessKeyParameters", modelProperties: { - id: { + keyType: { + serializedName: "keyType", required: true, - serializedName: "id", + type: { + name: "Enum", + allowedValues: ["PrimaryKey", "SecondaryKey"] + } + }, + key: { + serializedName: "key", type: { name: "String" } @@ -774,21 +707,14 @@ export const Subnet: msRest.CompositeMapper = { } }; -export const NWRuleSetIpRules: msRest.CompositeMapper = { - serializedName: "NWRuleSetIpRules", +export const CheckNameAvailabilityParameter: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NWRuleSetIpRules", + className: "CheckNameAvailabilityParameter", modelProperties: { - ipMask: { - serializedName: "ipMask", - type: { - name: "String" - } - }, - action: { - serializedName: "action", - defaultValue: 'Allow', + name: { + serializedName: "name", + required: true, type: { name: "String" } @@ -797,92 +723,89 @@ export const NWRuleSetIpRules: msRest.CompositeMapper = { } }; -export const NWRuleSetVirtualNetworkRules: msRest.CompositeMapper = { - serializedName: "NWRuleSetVirtualNetworkRules", +export const CheckNameAvailabilityResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NWRuleSetVirtualNetworkRules", + className: "CheckNameAvailabilityResult", modelProperties: { - subnet: { - serializedName: "subnet", + message: { + serializedName: "message", + readOnly: true, type: { - name: "Composite", - className: "Subnet" + name: "String" } }, - ignoreMissingVnetServiceEndpoint: { - serializedName: "ignoreMissingVnetServiceEndpoint", + nameAvailable: { + serializedName: "nameAvailable", type: { name: "Boolean" } + }, + reason: { + serializedName: "reason", + type: { + name: "Enum", + allowedValues: [ + "None", + "InvalidName", + "SubscriptionIsDisabled", + "NameInUse", + "NameInLockdown", + "TooManyNamespaceInCurrentSubscription" + ] + } } } } }; -export const NetworkRuleSet: msRest.CompositeMapper = { - serializedName: "NetworkRuleSet", +export const ConsumerGroupListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkRuleSet", + className: "ConsumerGroupListResult", modelProperties: { - ...Resource.type.modelProperties, - defaultAction: { - serializedName: "properties.defaultAction", - type: { - name: "String" - } - }, - virtualNetworkRules: { - serializedName: "properties.virtualNetworkRules", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "NWRuleSetVirtualNetworkRules" + className: "ConsumerGroup" } } } }, - ipRules: { - serializedName: "properties.ipRules", + nextLink: { + serializedName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NWRuleSetIpRules" - } - } + name: "String" } } } } }; -export const OperationListResult: msRest.CompositeMapper = { - serializedName: "OperationListResult", +export const ArmDisasterRecoveryListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationListResult", + className: "ArmDisasterRecoveryListResult", modelProperties: { value: { - readOnly: true, - serializedName: "", + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Operation" + className: "ArmDisasterRecovery" } } } }, nextLink: { - readOnly: true, serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -891,26 +814,27 @@ export const OperationListResult: msRest.CompositeMapper = { } }; -export const EHNamespaceListResult: msRest.CompositeMapper = { - serializedName: "EHNamespaceListResult", +export const OperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EHNamespaceListResult", + className: "OperationListResult", modelProperties: { value: { - serializedName: "", + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "EHNamespace" + className: "Operation" } } } }, nextLink: { serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -919,55 +843,51 @@ export const EHNamespaceListResult: msRest.CompositeMapper = { } }; -export const AuthorizationRuleListResult: msRest.CompositeMapper = { - serializedName: "AuthorizationRuleListResult", +export const Operation: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AuthorizationRuleListResult", + className: "Operation", modelProperties: { - value: { - serializedName: "", + name: { + serializedName: "name", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AuthorizationRule" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + display: { + serializedName: "display", type: { - name: "String" + name: "Composite", + className: "OperationDisplay" } } } } }; -export const ArmDisasterRecoveryListResult: msRest.CompositeMapper = { - serializedName: "ArmDisasterRecoveryListResult", +export const OperationDisplay: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ArmDisasterRecoveryListResult", + className: "OperationDisplay", modelProperties: { - value: { - serializedName: "", + provider: { + serializedName: "provider", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ArmDisasterRecovery" - } - } + name: "String" } }, - nextLink: { + resource: { + serializedName: "resource", + readOnly: true, + type: { + name: "String" + } + }, + operation: { + serializedName: "operation", readOnly: true, - serializedName: "nextLink", type: { name: "String" } @@ -976,14 +896,13 @@ export const ArmDisasterRecoveryListResult: msRest.CompositeMapper = { } }; -export const EventHubListResult: msRest.CompositeMapper = { - serializedName: "EventHubListResult", +export const EventHubListResult: coreClient.CompositeMapper = { type: { name: "Composite", className: "EventHubListResult", modelProperties: { value: { - serializedName: "", + serializedName: "value", type: { name: "Sequence", element: { @@ -1004,26 +923,114 @@ export const EventHubListResult: msRest.CompositeMapper = { } }; -export const ConsumerGroupListResult: msRest.CompositeMapper = { - serializedName: "ConsumerGroupListResult", +export const CaptureDescription: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ConsumerGroupListResult", + className: "CaptureDescription", modelProperties: { - value: { - serializedName: "", + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + encoding: { + serializedName: "encoding", + type: { + name: "Enum", + allowedValues: ["Avro", "AvroDeflate"] + } + }, + intervalInSeconds: { + constraints: { + InclusiveMaximum: 900, + InclusiveMinimum: 60 + }, + serializedName: "intervalInSeconds", + type: { + name: "Number" + } + }, + sizeLimitInBytes: { + constraints: { + InclusiveMaximum: 524288000, + InclusiveMinimum: 10485760 + }, + serializedName: "sizeLimitInBytes", + type: { + name: "Number" + } + }, + destination: { + serializedName: "destination", + type: { + name: "Composite", + className: "Destination" + } + }, + skipEmptyArchives: { + serializedName: "skipEmptyArchives", + type: { + name: "Boolean" + } + } + } + } +}; + +export const Destination: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Destination", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + storageAccountResourceId: { + serializedName: "properties.storageAccountResourceId", + type: { + name: "String" + } + }, + blobContainer: { + serializedName: "properties.blobContainer", + type: { + name: "String" + } + }, + archiveNameFormat: { + serializedName: "properties.archiveNameFormat", + type: { + name: "String" + } + } + } + } +}; + +export const MessagingRegionsListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MessagingRegionsListResult", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ConsumerGroup" + className: "MessagingRegions" } } } }, nextLink: { serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -1032,29 +1039,509 @@ export const ConsumerGroupListResult: msRest.CompositeMapper = { } }; -export const MessagingRegionsListResult: msRest.CompositeMapper = { - serializedName: "MessagingRegionsListResult", +export const MessagingRegionsProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MessagingRegionsListResult", + className: "MessagingRegionsProperties", modelProperties: { - value: { - serializedName: "", + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" + } + }, + fullName: { + serializedName: "fullName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const TrackedResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const IpFilterRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpFilterRule", + modelProperties: { + ...Resource.type.modelProperties, + ipMask: { + serializedName: "properties.ipMask", + type: { + name: "String" + } + }, + action: { + serializedName: "properties.action", + type: { + name: "String" + } + }, + filterName: { + serializedName: "properties.filterName", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnection", + modelProperties: { + ...Resource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpoint" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "ConnectionState" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkRule", + modelProperties: { + ...Resource.type.modelProperties, + virtualNetworkSubnetId: { + serializedName: "properties.virtualNetworkSubnetId", + type: { + name: "String" + } + } + } + } +}; + +export const NetworkRuleSet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkRuleSet", + modelProperties: { + ...Resource.type.modelProperties, + trustedServiceAccessEnabled: { + serializedName: "properties.trustedServiceAccessEnabled", + type: { + name: "Boolean" + } + }, + defaultAction: { + serializedName: "properties.defaultAction", + type: { + name: "String" + } + }, + virtualNetworkRules: { + serializedName: "properties.virtualNetworkRules", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MessagingRegions" + className: "NWRuleSetVirtualNetworkRules" } } } }, - nextLink: { + ipRules: { + serializedName: "properties.ipRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NWRuleSetIpRules" + } + } + } + } + } + } +}; + +export const AuthorizationRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AuthorizationRule", + modelProperties: { + ...Resource.type.modelProperties, + rights: { + serializedName: "properties.rights", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ConsumerGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConsumerGroup", + modelProperties: { + ...Resource.type.modelProperties, + createdAt: { + serializedName: "properties.createdAt", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "DateTime" + } + }, + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + userMetadata: { + serializedName: "properties.userMetadata", + type: { + name: "String" + } + } + } + } +}; + +export const ArmDisasterRecovery: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ArmDisasterRecovery", + modelProperties: { + ...Resource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Accepted", "Succeeded", "Failed"] + } + }, + partnerNamespace: { + serializedName: "properties.partnerNamespace", + type: { + name: "String" + } + }, + alternateName: { + serializedName: "properties.alternateName", + type: { + name: "String" + } + }, + role: { + serializedName: "properties.role", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Primary", "PrimaryNotReplicating", "Secondary"] + } + }, + pendingReplicationOperationsCount: { + serializedName: "properties.pendingReplicationOperationsCount", + readOnly: true, + type: { + name: "Number" + } + } + } + } +}; + +export const Eventhub: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Eventhub", + modelProperties: { + ...Resource.type.modelProperties, + partitionIds: { + serializedName: "properties.partitionIds", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + messageRetentionInDays: { + constraints: { + InclusiveMinimum: 1 + }, + serializedName: "properties.messageRetentionInDays", + type: { + name: "Number" + } + }, + partitionCount: { + constraints: { + InclusiveMinimum: 1 + }, + serializedName: "properties.partitionCount", + type: { + name: "Number" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "Enum", + allowedValues: [ + "Active", + "Disabled", + "Restoring", + "SendDisabled", + "ReceiveDisabled", + "Creating", + "Deleting", + "Renaming", + "Unknown" + ] + } + }, + captureDescription: { + serializedName: "properties.captureDescription", + type: { + name: "Composite", + className: "CaptureDescription" + } + } + } + } +}; + +export const Cluster: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Cluster", + modelProperties: { + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "ClusterSku" + } + }, + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, + type: { + name: "String" + } + }, + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, + type: { + name: "String" + } + }, + metricId: { + serializedName: "properties.metricId", + readOnly: true, + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const EHNamespace: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EHNamespace", + modelProperties: { + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "Identity" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + serviceBusEndpoint: { + serializedName: "properties.serviceBusEndpoint", + readOnly: true, + type: { + name: "String" + } + }, + clusterArmId: { + serializedName: "properties.clusterArmId", + type: { + name: "String" + } + }, + metricId: { + serializedName: "properties.metricId", + readOnly: true, + type: { + name: "String" + } + }, + isAutoInflateEnabled: { + serializedName: "properties.isAutoInflateEnabled", + type: { + name: "Boolean" + } + }, + maximumThroughputUnits: { + constraints: { + InclusiveMaximum: 20, + InclusiveMinimum: 0 + }, + serializedName: "properties.maximumThroughputUnits", + type: { + name: "Number" + } + }, + kafkaEnabled: { + serializedName: "properties.kafkaEnabled", + type: { + name: "Boolean" + } + }, + zoneRedundant: { + serializedName: "properties.zoneRedundant", + type: { + name: "Boolean" + } + }, + encryption: { + serializedName: "properties.encryption", + type: { + name: "Composite", + className: "Encryption" + } + } + } + } +}; + +export const MessagingRegions: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MessagingRegions", + modelProperties: { + ...TrackedResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "MessagingRegionsProperties" } } } diff --git a/sdk/eventhub/arm-eventhub/src/models/namespacesMappers.ts b/sdk/eventhub/arm-eventhub/src/models/namespacesMappers.ts deleted file mode 100644 index 9d58d74dc72c..000000000000 --- a/sdk/eventhub/arm-eventhub/src/models/namespacesMappers.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AccessKeys, - ArmDisasterRecovery, - AuthorizationRule, - AuthorizationRuleListResult, - BaseResource, - CaptureDescription, - CheckNameAvailabilityParameter, - CheckNameAvailabilityResult, - ConsumerGroup, - Destination, - EHNamespace, - EHNamespaceListResult, - ErrorResponse, - Eventhub, - MessagingPlan, - MessagingRegions, - MessagingRegionsProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - RegenerateAccessKeyParameters, - Resource, - Sku, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/eventhub/arm-eventhub/src/models/operationsMappers.ts b/sdk/eventhub/arm-eventhub/src/models/operationsMappers.ts deleted file mode 100644 index b8de8606cf9d..000000000000 --- a/sdk/eventhub/arm-eventhub/src/models/operationsMappers.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - ErrorResponse, - Operation, - OperationDisplay, - OperationListResult -} from "../models/mappers"; diff --git a/sdk/eventhub/arm-eventhub/src/models/parameters.ts b/sdk/eventhub/arm-eventhub/src/models/parameters.ts index f3cc023b3e66..82ec35645187 100644 --- a/sdk/eventhub/arm-eventhub/src/models/parameters.ts +++ b/sdk/eventhub/arm-eventhub/src/models/parameters.ts @@ -1,181 +1,350 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + Cluster as ClusterMapper, + IpFilterRule as IpFilterRuleMapper, + EHNamespace as EHNamespaceMapper, + VirtualNetworkRule as VirtualNetworkRuleMapper, + NetworkRuleSet as NetworkRuleSetMapper, + AuthorizationRule as AuthorizationRuleMapper, + RegenerateAccessKeyParameters as RegenerateAccessKeyParametersMapper, + CheckNameAvailabilityParameter as CheckNameAvailabilityParameterMapper, + PrivateEndpointConnection as PrivateEndpointConnectionMapper, + ClusterQuotaConfigurationProperties as ClusterQuotaConfigurationPropertiesMapper, + ArmDisasterRecovery as ArmDisasterRecoveryMapper, + Eventhub as EventhubMapper, + ConsumerGroup as ConsumerGroupMapper +} from "../models/mappers"; -export const acceptLanguage: msRest.OperationParameter = { - parameterPath: "acceptLanguage", +export const accept: OperationParameter = { + parameterPath: "accept", mapper: { - serializedName: "accept-language", - defaultValue: 'en-US', + defaultValue: "application/json", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const alias: msRest.OperationURLParameter = { - parameterPath: "alias", + +export const $host: OperationURLParameter = { + parameterPath: "$host", mapper: { + serializedName: "$host", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", + mapper: { + serializedName: "subscriptionId", required: true, - serializedName: "alias", - constraints: { - MaxLength: 50, - MinLength: 1 - }, type: { name: "String" } } }; -export const apiVersion: msRest.OperationQueryParameter = { + +export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - required: true, + defaultValue: "2018-01-01-preview", + isConstant: true, serializedName: "api-version", type: { name: "String" } } }; -export const authorizationRuleName: msRest.OperationURLParameter = { - parameterPath: "authorizationRuleName", + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", mapper: { - required: true, - serializedName: "authorizationRuleName", constraints: { + MaxLength: 90, MinLength: 1 }, + serializedName: "resourceGroupName", + required: true, type: { name: "String" } } }; -export const consumerGroupName: msRest.OperationURLParameter = { - parameterPath: "consumerGroupName", + +export const clusterName: OperationURLParameter = { + parameterPath: "clusterName", mapper: { - required: true, - serializedName: "consumerGroupName", constraints: { MaxLength: 50, - MinLength: 1 + MinLength: 6 }, + serializedName: "clusterName", + required: true, type: { name: "String" } } }; -export const eventHubName: msRest.OperationURLParameter = { - parameterPath: "eventHubName", + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], mapper: { - required: true, - serializedName: "eventHubName", - constraints: { - MinLength: 1 - }, + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", type: { name: "String" } } }; -export const namespaceName: msRest.OperationURLParameter = { - parameterPath: "namespaceName", + +export const parameters: OperationParameter = { + parameterPath: "parameters", + mapper: ClusterMapper +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", mapper: { + serializedName: "nextLink", required: true, - serializedName: "namespaceName", + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const namespaceName: OperationURLParameter = { + parameterPath: "namespaceName", + mapper: { constraints: { MaxLength: 50, MinLength: 6 }, + serializedName: "namespaceName", + required: true, type: { name: "String" } } }; -export const nextPageLink: msRest.OperationURLParameter = { - parameterPath: "nextPageLink", + +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: IpFilterRuleMapper +}; + +export const ipFilterRuleName: OperationURLParameter = { + parameterPath: "ipFilterRuleName", mapper: { + constraints: { + MinLength: 1 + }, + serializedName: "ipFilterRuleName", required: true, - serializedName: "nextLink", type: { name: "String" } - }, - skipEncoding: true + } }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", + +export const parameters2: OperationParameter = { + parameterPath: "parameters", + mapper: EHNamespaceMapper +}; + +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: VirtualNetworkRuleMapper +}; + +export const virtualNetworkRuleName: OperationURLParameter = { + parameterPath: "virtualNetworkRuleName", mapper: { - required: true, - serializedName: "resourceGroupName", constraints: { - MaxLength: 90, MinLength: 1 }, + serializedName: "virtualNetworkRuleName", + required: true, type: { name: "String" } } }; -export const skip: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "skip" - ], + +export const parameters4: OperationParameter = { + parameterPath: "parameters", + mapper: NetworkRuleSetMapper +}; + +export const parameters5: OperationParameter = { + parameterPath: "parameters", + mapper: AuthorizationRuleMapper +}; + +export const authorizationRuleName: OperationURLParameter = { + parameterPath: "authorizationRuleName", mapper: { - serializedName: "$skip", constraints: { - InclusiveMaximum: 1000, - InclusiveMinimum: 0 + MinLength: 1 }, + serializedName: "authorizationRuleName", + required: true, type: { - name: "Number" + name: "String" } } }; -export const sku: msRest.OperationURLParameter = { - parameterPath: "sku", + +export const parameters6: OperationParameter = { + parameterPath: "parameters", + mapper: RegenerateAccessKeyParametersMapper +}; + +export const parameters7: OperationParameter = { + parameterPath: "parameters", + mapper: CheckNameAvailabilityParameterMapper +}; + +export const parameters8: OperationParameter = { + parameterPath: "parameters", + mapper: PrivateEndpointConnectionMapper +}; + +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", mapper: { + serializedName: "privateEndpointConnectionName", required: true, - serializedName: "sku", + type: { + name: "String" + } + } +}; + +export const parameters9: OperationParameter = { + parameterPath: "parameters", + mapper: ClusterQuotaConfigurationPropertiesMapper +}; + +export const alias: OperationURLParameter = { + parameterPath: "alias", + mapper: { constraints: { MaxLength: 50, MinLength: 1 }, + serializedName: "alias", + required: true, type: { name: "String" } } }; -export const subscriptionId: msRest.OperationURLParameter = { - parameterPath: "subscriptionId", + +export const parameters10: OperationParameter = { + parameterPath: "parameters", + mapper: ArmDisasterRecoveryMapper +}; + +export const eventHubName: OperationURLParameter = { + parameterPath: "eventHubName", mapper: { + constraints: { + MaxLength: 256, + MinLength: 1 + }, + serializedName: "eventHubName", required: true, - serializedName: "subscriptionId", type: { name: "String" } } }; -export const top: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "top" - ], + +export const skip: OperationQueryParameter = { + parameterPath: ["options", "skip"], + mapper: { + constraints: { + InclusiveMaximum: 1000, + InclusiveMinimum: 0 + }, + serializedName: "$skip", + type: { + name: "Number" + } + } +}; + +export const top: OperationQueryParameter = { + parameterPath: ["options", "top"], mapper: { - serializedName: "$top", constraints: { InclusiveMaximum: 1000, InclusiveMinimum: 1 }, + serializedName: "$top", type: { name: "Number" } } }; + +export const parameters11: OperationParameter = { + parameterPath: "parameters", + mapper: EventhubMapper +}; + +export const parameters12: OperationParameter = { + parameterPath: "parameters", + mapper: ConsumerGroupMapper +}; + +export const consumerGroupName: OperationURLParameter = { + parameterPath: "consumerGroupName", + mapper: { + constraints: { + MaxLength: 50, + MinLength: 1 + }, + serializedName: "consumerGroupName", + required: true, + type: { + name: "String" + } + } +}; + +export const sku: OperationURLParameter = { + parameterPath: "sku", + mapper: { + constraints: { + MaxLength: 50, + MinLength: 1 + }, + serializedName: "sku", + required: true, + type: { + name: "String" + } + } +}; diff --git a/sdk/eventhub/arm-eventhub/src/models/regionsMappers.ts b/sdk/eventhub/arm-eventhub/src/models/regionsMappers.ts deleted file mode 100644 index c1fafeae471f..000000000000 --- a/sdk/eventhub/arm-eventhub/src/models/regionsMappers.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - ArmDisasterRecovery, - AuthorizationRule, - BaseResource, - CaptureDescription, - ConsumerGroup, - Destination, - EHNamespace, - ErrorResponse, - Eventhub, - MessagingPlan, - MessagingRegions, - MessagingRegionsListResult, - MessagingRegionsProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - Resource, - Sku, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/eventhub/arm-eventhub/src/operations/clusters.ts b/sdk/eventhub/arm-eventhub/src/operations/clusters.ts new file mode 100644 index 000000000000..e67062a55a41 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operations/clusters.ts @@ -0,0 +1,636 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Clusters } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Cluster, + ClustersListByResourceGroupNextOptionalParams, + ClustersListByResourceGroupOptionalParams, + ClustersListAvailableClusterRegionOptionalParams, + ClustersListAvailableClusterRegionResponse, + ClustersListByResourceGroupResponse, + ClustersGetOptionalParams, + ClustersGetResponse, + ClustersCreateOrUpdateOptionalParams, + ClustersCreateOrUpdateResponse, + ClustersUpdateOptionalParams, + ClustersUpdateResponse, + ClustersDeleteOptionalParams, + ClustersListNamespacesOptionalParams, + ClustersListNamespacesResponse, + ClustersListByResourceGroupNextResponse +} from "../models"; + +/// +/** Class containing Clusters operations. */ +export class ClustersImpl implements Clusters { + private readonly client: EventHubManagementClientContext; + + /** + * Initialize a new instance of the class Clusters class. + * @param client Reference to the service client + */ + constructor(client: EventHubManagementClientContext) { + this.client = client; + } + + /** + * Lists the available Event Hubs Clusters within an ARM resource group + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: ClustersListByResourceGroupOptionalParams + ): 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?: ClustersListByResourceGroupOptionalParams + ): 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?: ClustersListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region. + * @param options The options parameters. + */ + listAvailableClusterRegion( + options?: ClustersListAvailableClusterRegionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listAvailableClusterRegionOperationSpec + ); + } + + /** + * Lists the available Event Hubs Clusters within an ARM resource group + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: ClustersListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * Gets the resource description of the specified Event Hubs Cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + clusterName: string, + options?: ClustersGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, clusterName, options }, + getOperationSpec + ); + } + + /** + * Creates or updates an instance of an Event Hubs Cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters Parameters for creating a eventhub cluster resource. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + clusterName: string, + parameters: Cluster, + options?: ClustersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ClustersCreateOrUpdateResponse + > + > { + 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, clusterName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates an instance of an Event Hubs Cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters Parameters for creating a eventhub cluster resource. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + clusterName: string, + parameters: Cluster, + options?: ClustersCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + clusterName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters The properties of the Event Hubs Cluster which should be updated. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + clusterName: string, + parameters: Cluster, + options?: ClustersUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ClustersUpdateResponse + > + > { + 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, clusterName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters The properties of the Event Hubs Cluster which should be updated. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + clusterName: string, + parameters: Cluster, + options?: ClustersUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + clusterName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes an existing Event Hubs Cluster. This operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + clusterName: string, + options?: ClustersDeleteOptionalParams + ): 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, clusterName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an existing Event Hubs Cluster. This operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + clusterName: string, + options?: ClustersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + clusterName, + options + ); + return poller.pollUntilDone(); + } + + /** + * List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + listNamespaces( + resourceGroupName: string, + clusterName: string, + options?: ClustersListNamespacesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, clusterName, options }, + listNamespacesOperationSpec + ); + } + + /** + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group within the azure subscription. + * @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?: ClustersListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listAvailableClusterRegionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/availableClusterRegions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AvailableClustersList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ClusterListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Cluster + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.clusterName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Cluster + }, + 201: { + bodyMapper: Mappers.Cluster + }, + 202: { + bodyMapper: Mappers.Cluster + }, + 204: { + bodyMapper: Mappers.Cluster + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.clusterName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.Cluster + }, + 201: { + bodyMapper: Mappers.Cluster + }, + 202: { + bodyMapper: Mappers.Cluster + }, + 204: { + bodyMapper: Mappers.Cluster + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.clusterName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.clusterName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNamespacesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/namespaces", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.EHNamespaceIdListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.clusterName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ClusterListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/eventhub/arm-eventhub/src/operations/configuration.ts b/sdk/eventhub/arm-eventhub/src/operations/configuration.ts new file mode 100644 index 000000000000..be644583296c --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operations/configuration.ts @@ -0,0 +1,124 @@ +/* + * 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 { Configuration } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { + ClusterQuotaConfigurationProperties, + ConfigurationPatchOptionalParams, + ConfigurationPatchResponse, + ConfigurationGetOptionalParams, + ConfigurationGetResponse +} from "../models"; + +/** Class containing Configuration operations. */ +export class ConfigurationImpl implements Configuration { + private readonly client: EventHubManagementClientContext; + + /** + * Initialize a new instance of the class Configuration class. + * @param client Reference to the service client + */ + constructor(client: EventHubManagementClientContext) { + this.client = client; + } + + /** + * Replace all specified Event Hubs Cluster settings with those contained in the request body. Leaves + * the settings not specified in the request body unmodified. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters Parameters for creating an Event Hubs Cluster resource. + * @param options The options parameters. + */ + patch( + resourceGroupName: string, + clusterName: string, + parameters: ClusterQuotaConfigurationProperties, + options?: ConfigurationPatchOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, clusterName, parameters, options }, + patchOperationSpec + ); + } + + /** + * Get all Event Hubs Cluster settings - a collection of key/value pairs which represent the quotas and + * settings imposed on the cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + clusterName: string, + options?: ConfigurationGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, clusterName, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const patchOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.ClusterQuotaConfigurationProperties + }, + 201: { + bodyMapper: Mappers.ClusterQuotaConfigurationProperties + }, + 202: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters9, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.clusterName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ClusterQuotaConfigurationProperties + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.clusterName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/eventhub/arm-eventhub/src/operations/consumerGroups.ts b/sdk/eventhub/arm-eventhub/src/operations/consumerGroups.ts index fe20df49c3b8..36d5549d3fb1 100644 --- a/sdk/eventhub/arm-eventhub/src/operations/consumerGroups.ts +++ b/sdk/eventhub/arm-eventhub/src/operations/consumerGroups.ts @@ -1,62 +1,142 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/consumerGroupsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ConsumerGroups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { + ConsumerGroup, + ConsumerGroupsListByEventHubNextOptionalParams, + ConsumerGroupsListByEventHubOptionalParams, + ConsumerGroupsCreateOrUpdateOptionalParams, + ConsumerGroupsCreateOrUpdateResponse, + ConsumerGroupsDeleteOptionalParams, + ConsumerGroupsGetOptionalParams, + ConsumerGroupsGetResponse, + ConsumerGroupsListByEventHubResponse, + ConsumerGroupsListByEventHubNextResponse +} from "../models"; -/** Class representing a ConsumerGroups. */ -export class ConsumerGroups { +/// +/** Class containing ConsumerGroups operations. */ +export class ConsumerGroupsImpl implements ConsumerGroups { private readonly client: EventHubManagementClientContext; /** - * Create a ConsumerGroups. - * @param {EventHubManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ConsumerGroups class. + * @param client Reference to the service client */ constructor(client: EventHubManagementClientContext) { this.client = client; } /** - * Creates or updates an Event Hubs consumer group as a nested resource within a Namespace. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param consumerGroupName The consumer group name - * @param parameters Parameters supplied to create or update a consumer group resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, parameters: Models.ConsumerGroup, options?: msRest.RequestOptionsBase): Promise; - /** + * Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists + * in the Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param eventHubName The Event Hub name - * @param consumerGroupName The consumer group name - * @param parameters Parameters supplied to create or update a consumer group resource. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, parameters: Models.ConsumerGroup, callback: msRest.ServiceCallback): void; + public listByEventHub( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: ConsumerGroupsListByEventHubOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByEventHubPagingAll( + resourceGroupName, + namespaceName, + eventHubName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByEventHubPagingPage( + resourceGroupName, + namespaceName, + eventHubName, + options + ); + } + }; + } + + private async *listByEventHubPagingPage( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: ConsumerGroupsListByEventHubOptionalParams + ): AsyncIterableIterator { + let result = await this._listByEventHub( + resourceGroupName, + namespaceName, + eventHubName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByEventHubNext( + resourceGroupName, + namespaceName, + eventHubName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByEventHubPagingAll( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: ConsumerGroupsListByEventHubOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByEventHubPagingPage( + resourceGroupName, + namespaceName, + eventHubName, + options + )) { + yield* page; + } + } + /** + * Creates or updates an Event Hubs consumer group as a nested resource within a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param eventHubName The Event Hub name * @param consumerGroupName The consumer group name * @param parameters Parameters supplied to create or update a consumer group resource. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, parameters: Models.ConsumerGroup, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, parameters: Models.ConsumerGroup, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + consumerGroupName: string, + parameters: ConsumerGroup, + options?: ConsumerGroupsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -66,8 +146,8 @@ export class ConsumerGroups { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** @@ -76,28 +156,15 @@ export class ConsumerGroups { * @param namespaceName The Namespace name * @param eventHubName The Event Hub name * @param consumerGroupName The consumer group name - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param consumerGroupName The consumer group name - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param consumerGroupName The consumer group name - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + consumerGroupName: string, + options?: ConsumerGroupsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -106,8 +173,8 @@ export class ConsumerGroups { consumerGroupName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** @@ -116,28 +183,15 @@ export class ConsumerGroups { * @param namespaceName The Namespace name * @param eventHubName The Event Hub name * @param consumerGroupName The consumer group name - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param consumerGroupName The consumer group name - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param consumerGroupName The consumer group name - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, eventHubName: string, consumerGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + consumerGroupName: string, + options?: ConsumerGroupsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -146,102 +200,58 @@ export class ConsumerGroups { consumerGroupName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group - * exists in the Namespace. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param [options] The optional parameters - * @returns Promise - */ - listByEventHub(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: Models.ConsumerGroupsListByEventHubOptionalParams): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param callback The callback - */ - listByEventHub(resourceGroupName: string, namespaceName: string, eventHubName: string, callback: msRest.ServiceCallback): void; - /** + * Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists + * in the Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param eventHubName The Event Hub name - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByEventHub(resourceGroupName: string, namespaceName: string, eventHubName: string, options: Models.ConsumerGroupsListByEventHubOptionalParams, callback: msRest.ServiceCallback): void; - listByEventHub(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: Models.ConsumerGroupsListByEventHubOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByEventHub( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: ConsumerGroupsListByEventHubOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - eventHubName, - options - }, - listByEventHubOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, eventHubName, options }, + listByEventHubOperationSpec + ); } /** - * Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group - * exists in the Namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByEventHubNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByEventHubNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByEventHubNext + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param nextLink The nextLink from the previous successful call to the ListByEventHub method. + * @param options The options parameters. */ - listByEventHubNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByEventHubNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByEventHubNext( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + nextLink: string, + options?: ConsumerGroupsListByEventHubNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByEventHubNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, eventHubName, nextLink, options }, + listByEventHubNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const createOrUpdateOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.eventHubName, - Parameters.consumerGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ConsumerGroup, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.ConsumerGroup @@ -250,25 +260,24 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", + requestBody: Parameters.parameters12, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.eventHubName, - Parameters.consumerGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.consumerGroupName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -276,25 +285,22 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.eventHubName, - Parameters.consumerGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.consumerGroupName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ConsumerGroup @@ -303,26 +309,22 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listByEventHubOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.eventHubName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.skip, - Parameters.top - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.consumerGroupName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByEventHubOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ConsumerGroupListResult @@ -331,19 +333,20 @@ const listByEventHubOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.eventHubName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByEventHubNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByEventHubNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ConsumerGroupListResult @@ -352,5 +355,15 @@ const listByEventHubNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName, + Parameters.eventHubName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/eventhub/arm-eventhub/src/operations/disasterRecoveryConfigs.ts b/sdk/eventhub/arm-eventhub/src/operations/disasterRecoveryConfigs.ts index 1e51ac33ae15..e5c1cb6747fd 100644 --- a/sdk/eventhub/arm-eventhub/src/operations/disasterRecoveryConfigs.ts +++ b/sdk/eventhub/arm-eventhub/src/operations/disasterRecoveryConfigs.ts @@ -1,766 +1,718 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/disasterRecoveryConfigsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DisasterRecoveryConfigs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { + AuthorizationRule, + DisasterRecoveryConfigsListAuthorizationRulesNextOptionalParams, + DisasterRecoveryConfigsListAuthorizationRulesOptionalParams, + ArmDisasterRecovery, + DisasterRecoveryConfigsListNextOptionalParams, + DisasterRecoveryConfigsListOptionalParams, + DisasterRecoveryConfigsListAuthorizationRulesResponse, + DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams, + DisasterRecoveryConfigsGetAuthorizationRuleResponse, + DisasterRecoveryConfigsListKeysOptionalParams, + DisasterRecoveryConfigsListKeysResponse, + CheckNameAvailabilityParameter, + DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams, + DisasterRecoveryConfigsCheckNameAvailabilityResponse, + DisasterRecoveryConfigsListResponse, + DisasterRecoveryConfigsCreateOrUpdateOptionalParams, + DisasterRecoveryConfigsCreateOrUpdateResponse, + DisasterRecoveryConfigsDeleteOptionalParams, + DisasterRecoveryConfigsGetOptionalParams, + DisasterRecoveryConfigsGetResponse, + DisasterRecoveryConfigsBreakPairingOptionalParams, + DisasterRecoveryConfigsFailOverOptionalParams, + DisasterRecoveryConfigsListAuthorizationRulesNextResponse, + DisasterRecoveryConfigsListNextResponse +} from "../models"; -/** Class representing a DisasterRecoveryConfigs. */ -export class DisasterRecoveryConfigs { +/// +/** Class containing DisasterRecoveryConfigs operations. */ +export class DisasterRecoveryConfigsImpl implements DisasterRecoveryConfigs { private readonly client: EventHubManagementClientContext; /** - * Create a DisasterRecoveryConfigs. - * @param {EventHubManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DisasterRecoveryConfigs class. + * @param client Reference to the service client */ constructor(client: EventHubManagementClientContext) { this.client = client; } /** - * Check the give Namespace name availability. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param parameters Parameters to check availability of the given Alias name - * @param [options] The optional parameters - * @returns Promise - */ - checkNameAvailability(resourceGroupName: string, namespaceName: string, parameters: Models.CheckNameAvailabilityParameter, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param parameters Parameters to check availability of the given Alias name - * @param callback The callback - */ - checkNameAvailability(resourceGroupName: string, namespaceName: string, parameters: Models.CheckNameAvailabilityParameter, callback: msRest.ServiceCallback): void; - /** + * Gets a list of authorization rules for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param parameters Parameters to check availability of the given Alias name - * @param options The optional parameters - * @param callback The callback - */ - checkNameAvailability(resourceGroupName: string, namespaceName: string, parameters: Models.CheckNameAvailabilityParameter, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - checkNameAvailability(resourceGroupName: string, namespaceName: string, parameters: Models.CheckNameAvailabilityParameter, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + public listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAuthorizationRulesPagingAll( + resourceGroupName, + namespaceName, + alias, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + alias, + options + ); + } + }; + } + + private async *listAuthorizationRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listAuthorizationRules( + resourceGroupName, + namespaceName, + alias, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAuthorizationRulesNext( resourceGroupName, namespaceName, - parameters, + alias, + continuationToken, options - }, - checkNameAvailabilityOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listAuthorizationRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + alias, + options + )) { + yield* page; + } } /** * Gets all Alias(Disaster Recovery configurations) * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param [options] The optional parameters - * @returns Promise - */ - list(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param callback The callback - */ - list(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param options The optional parameters - * @param callback The callback - */ - list(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, namespaceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(resourceGroupName, namespaceName, options); + } + }; } - /** - * Creates or updates a new Alias(Disaster Recovery configuration) - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: Models.ArmDisasterRecovery, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: Models.ArmDisasterRecovery, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: Models.ArmDisasterRecovery, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: Models.ArmDisasterRecovery, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, namespaceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( resourceGroupName, namespaceName, - alias, - parameters, + continuationToken, options - }, - createOrUpdateOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** - * Deletes an Alias(Disaster Recovery configuration) - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** + * Gets a list of authorization rules for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, namespaceName, alias, options }, + listAuthorizationRulesOperationSpec + ); } /** - * Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** + * Gets an AuthorizationRule for a Namespace by rule name. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + alias: string, + authorizationRuleName: string, + options?: DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, alias, + authorizationRuleName, options }, - getOperationSpec, - callback) as Promise; + getAuthorizationRuleOperationSpec + ); } /** - * This operation disables the Disaster Recovery and stops replicating changes from primary to - * secondary namespaces - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - breakPairing(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - breakPairing(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** + * Gets the primary and secondary connection strings for the Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - breakPairing(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - breakPairing(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + alias: string, + authorizationRuleName: string, + options?: DisasterRecoveryConfigsListKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, alias, + authorizationRuleName, options }, - breakPairingOperationSpec, - callback); + listKeysOperationSpec + ); } /** - * Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - failOver(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - failOver(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** + * Check the give Namespace name availability. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - failOver(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - failOver(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param parameters Parameters to check availability of the given Alias name + * @param options The options parameters. + */ + checkNameAvailability( + resourceGroupName: string, + namespaceName: string, + parameters: CheckNameAvailabilityParameter, + options?: DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - options - }, - failOverOperationSpec, - callback); + { resourceGroupName, namespaceName, parameters, options }, + checkNameAvailabilityOperationSpec + ); } /** - * Gets a list of authorization rules for a Namespace. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** + * Gets all Alias(Disaster Recovery configurations) * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _list( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - options - }, - listAuthorizationRulesOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, options }, + listOperationSpec + ); } /** - * Gets an AuthorizationRule for a Namespace by rule name. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** + * Creates or updates a new Alias(Disaster Recovery configuration) * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; + * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + alias: string, + parameters: ArmDisasterRecovery, + options?: DisasterRecoveryConfigsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, alias, parameters, options }, + createOrUpdateOperationSpec + ); + } + /** + * Deletes an Alias(Disaster Recovery configuration) * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - authorizationRuleName, - options - }, - getAuthorizationRuleOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, alias, options }, + deleteOperationSpec + ); } /** - * Gets the primary and secondary connection strings for the Namespace. + * Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, alias, options }, + getOperationSpec + ); + } + /** + * This operation disables the Disaster Recovery and stops replicating changes from primary to + * secondary namespaces * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; + * @param options The options parameters. + */ + breakPairing( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsBreakPairingOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, alias, options }, + breakPairingOperationSpec + ); + } + /** + * Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + failOver( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsFailOverOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - authorizationRuleName, - options - }, - listKeysOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, alias, options }, + failOverOperationSpec + ); } /** - * Gets all Alias(Disaster Recovery configurations) - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListAuthorizationRulesNext + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param nextLink The nextLink from the previous successful call to the ListAuthorizationRules method. + * @param options The options parameters. + */ + private _listAuthorizationRulesNext( + resourceGroupName: string, + namespaceName: string, + alias: string, + nextLink: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, alias, nextLink, options }, + listAuthorizationRulesNextOperationSpec + ); } /** - * Gets a list of authorization rules for a Namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListNext + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: DisasterRecoveryConfigsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAuthorizationRulesNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.namespaceName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.CheckNameAvailabilityParameter, - required: true - } - }, +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listAuthorizationRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.CheckNameAvailabilityResult + bodyMapper: Mappers.AuthorizationRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const getAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ArmDisasterRecoveryListResult + bodyMapper: Mappers.AuthorizationRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName, + Parameters.alias ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ArmDisasterRecovery, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}/listKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.ArmDisasterRecovery + bodyMapper: Mappers.AccessKeys }, - 201: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName, + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/checkNameAvailability", + httpMethod: "POST", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.CheckNameAvailabilityResult + }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + requestBody: Parameters.parameters7, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ArmDisasterRecovery + bodyMapper: Mappers.ArmDisasterRecoveryListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const breakPairingOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + httpMethod: "PUT", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.ArmDisasterRecovery + }, + 201: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const failOverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", + requestBody: Parameters.parameters10, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.alias ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + httpMethod: "DELETE", responses: { 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AuthorizationRuleListResult + bodyMapper: Mappers.ArmDisasterRecovery }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.alias, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const breakPairingOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.AuthorizationRule - }, + 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.alias, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const failOverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.AccessKeys - }, + 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.alias + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listAuthorizationRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ArmDisasterRecoveryListResult + bodyMapper: Mappers.AuthorizationRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName, + Parameters.alias + ], + headerParameters: [Parameters.accept], serializer }; - -const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AuthorizationRuleListResult + bodyMapper: Mappers.ArmDisasterRecoveryListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/eventhub/arm-eventhub/src/operations/eventHubs.ts b/sdk/eventhub/arm-eventhub/src/operations/eventHubs.ts index ffd4672511f1..6a6b1320fe8c 100644 --- a/sdk/eventhub/arm-eventhub/src/operations/eventHubs.ts +++ b/sdk/eventhub/arm-eventhub/src/operations/eventHubs.ts @@ -1,173 +1,208 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/eventHubsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { EventHubs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { + AuthorizationRule, + EventHubsListAuthorizationRulesNextOptionalParams, + EventHubsListAuthorizationRulesOptionalParams, + Eventhub, + EventHubsListByNamespaceNextOptionalParams, + EventHubsListByNamespaceOptionalParams, + EventHubsListAuthorizationRulesResponse, + EventHubsCreateOrUpdateAuthorizationRuleOptionalParams, + EventHubsCreateOrUpdateAuthorizationRuleResponse, + EventHubsGetAuthorizationRuleOptionalParams, + EventHubsGetAuthorizationRuleResponse, + EventHubsDeleteAuthorizationRuleOptionalParams, + EventHubsListKeysOptionalParams, + EventHubsListKeysResponse, + RegenerateAccessKeyParameters, + EventHubsRegenerateKeysOptionalParams, + EventHubsRegenerateKeysResponse, + EventHubsListByNamespaceResponse, + EventHubsCreateOrUpdateOptionalParams, + EventHubsCreateOrUpdateResponse, + EventHubsDeleteOptionalParams, + EventHubsGetOptionalParams, + EventHubsGetResponse, + EventHubsListAuthorizationRulesNextResponse, + EventHubsListByNamespaceNextResponse +} from "../models"; -/** Class representing a EventHubs. */ -export class EventHubs { +/// +/** Class containing EventHubs operations. */ +export class EventHubsImpl implements EventHubs { private readonly client: EventHubManagementClientContext; /** - * Create a EventHubs. - * @param {EventHubManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class EventHubs class. + * @param client Reference to the service client */ constructor(client: EventHubManagementClientContext) { this.client = client; } /** - * Gets all the Event Hubs in a Namespace. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param [options] The optional parameters - * @returns Promise - */ - listByNamespace(resourceGroupName: string, namespaceName: string, options?: Models.EventHubsListByNamespaceOptionalParams): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param callback The callback - */ - listByNamespace(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** + * Gets the authorization rules for an Event Hub. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param options The optional parameters - * @param callback The callback - */ - listByNamespace(resourceGroupName: string, namespaceName: string, options: Models.EventHubsListByNamespaceOptionalParams, callback: msRest.ServiceCallback): void; - listByNamespace(resourceGroupName: string, namespaceName: string, options?: Models.EventHubsListByNamespaceOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options + * @param eventHubName The Event Hub name + * @param options The options parameters. + */ + public listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAuthorizationRulesPagingAll( + resourceGroupName, + namespaceName, + eventHubName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listByNamespaceOperationSpec, - callback) as Promise; + byPage: () => { + return this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + eventHubName, + options + ); + } + }; } - /** - * Creates or updates a new Event Hub as a nested resource within a Namespace. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param parameters Parameters supplied to create an Event Hub resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, parameters: Models.Eventhub, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param parameters Parameters supplied to create an Event Hub resource. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, parameters: Models.Eventhub, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param parameters Parameters supplied to create an Event Hub resource. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, parameters: Models.Eventhub, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, namespaceName: string, eventHubName: string, parameters: Models.Eventhub, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listAuthorizationRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listAuthorizationRules( + resourceGroupName, + namespaceName, + eventHubName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAuthorizationRulesNext( resourceGroupName, namespaceName, eventHubName, - parameters, + continuationToken, options - }, - createOrUpdateOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listAuthorizationRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + eventHubName, + options + )) { + yield* page; + } } /** - * Deletes an Event Hub from the specified Namespace and resource group. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, eventHubName: string, callback: msRest.ServiceCallback): void; - /** + * Gets all the Event Hubs in a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, eventHubName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - eventHubName, - options + * @param options The options parameters. + */ + public listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByNamespacePagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); }, - deleteMethodOperationSpec, - callback); + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByNamespacePagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; } - /** - * Gets an Event Hubs description for the specified Event Hub. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, eventHubName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, eventHubName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listByNamespacePagingPage( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByNamespace( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByNamespaceNext( resourceGroupName, namespaceName, - eventHubName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByNamespacePagingAll( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByNamespacePagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** @@ -175,68 +210,38 @@ export class EventHubs { * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param eventHubName The Event Hub name - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, eventHubName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, eventHubName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRules(resourceGroupName: string, namespaceName: string, eventHubName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsListAuthorizationRulesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - eventHubName, - options - }, - listAuthorizationRulesOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, eventHubName, options }, + listAuthorizationRulesOperationSpec + ); } /** - * Creates or updates an AuthorizationRule for the specified Event Hub. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access AuthorizationRule. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: Models.AuthorizationRule, options?: msRest.RequestOptionsBase): Promise; - /** + * Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the + * AuthorizationRule will take a few seconds to take effect. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param eventHubName The Event Hub name * @param authorizationRuleName The authorization rule name. * @param parameters The shared access AuthorizationRule. - * @param callback The callback - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: Models.AuthorizationRule, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access AuthorizationRule. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: Models.AuthorizationRule, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: Models.AuthorizationRule, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + parameters: AuthorizationRule, + options?: EventHubsCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -246,8 +251,8 @@ export class EventHubs { parameters, options }, - createOrUpdateAuthorizationRuleOperationSpec, - callback) as Promise; + createOrUpdateAuthorizationRuleOperationSpec + ); } /** @@ -256,28 +261,15 @@ export class EventHubs { * @param namespaceName The Namespace name * @param eventHubName The Event Hub name * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + options?: EventHubsGetAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -286,8 +278,8 @@ export class EventHubs { authorizationRuleName, options }, - getAuthorizationRuleOperationSpec, - callback) as Promise; + getAuthorizationRuleOperationSpec + ); } /** @@ -296,28 +288,15 @@ export class EventHubs { * @param namespaceName The Namespace name * @param eventHubName The Event Hub name * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + options?: EventHubsDeleteAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -326,8 +305,8 @@ export class EventHubs { authorizationRuleName, options }, - deleteAuthorizationRuleOperationSpec, - callback); + deleteAuthorizationRuleOperationSpec + ); } /** @@ -336,28 +315,15 @@ export class EventHubs { * @param namespaceName The Namespace name * @param eventHubName The Event Hub name * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - listKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + options?: EventHubsListKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -366,8 +332,8 @@ export class EventHubs { authorizationRuleName, options }, - listKeysOperationSpec, - callback) as Promise; + listKeysOperationSpec + ); } /** @@ -377,33 +343,17 @@ export class EventHubs { * @param eventHubName The Event Hub name * @param authorizationRuleName The authorization rule name. * @param parameters Parameters supplied to regenerate the AuthorizationRule Keys - * (PrimaryKey/SecondaryKey). - * @param [options] The optional parameters - * @returns Promise - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters supplied to regenerate the AuthorizationRule Keys - * (PrimaryKey/SecondaryKey). - * @param callback The callback - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param eventHubName The Event Hub name - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters supplied to regenerate the AuthorizationRule Keys - * (PrimaryKey/SecondaryKey). - * @param options The optional parameters - * @param callback The callback - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - regenerateKeys(resourceGroupName: string, namespaceName: string, eventHubName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * (PrimaryKey/SecondaryKey). + * @param options The options parameters. + */ + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: EventHubsRegenerateKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -413,144 +363,206 @@ export class EventHubs { parameters, options }, - regenerateKeysOperationSpec, - callback) as Promise; + regenerateKeysOperationSpec + ); } /** * Gets all the Event Hubs in a Namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. */ - listByNamespaceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listByNamespaceOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByNamespaceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + * Creates or updates a new Event Hub as a nested resource within a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param parameters Parameters supplied to create an Event Hub resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + parameters: Eventhub, + options?: EventHubsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, eventHubName, parameters, options }, + createOrUpdateOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByNamespaceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByNamespaceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * Deletes an Event Hub from the specified Namespace and resource group. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByNamespaceNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, eventHubName, options }, + deleteOperationSpec + ); } /** - * Gets the authorization rules for an Event Hub. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + * Gets an Event Hubs description for the specified Event Hub. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, eventHubName, options }, + getOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + * ListAuthorizationRulesNext + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param nextLink The nextLink from the previous successful call to the ListAuthorizationRules method. + * @param options The options parameters. + */ + private _listAuthorizationRulesNext( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + nextLink: string, + options?: EventHubsListAuthorizationRulesNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, eventHubName, nextLink, options }, + listAuthorizationRulesNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListByNamespaceNext + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param nextLink The nextLink from the previous successful call to the ListByNamespace method. + * @param options The options parameters. + */ + private _listByNamespaceNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: EventHubsListByNamespaceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAuthorizationRulesNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listByNamespaceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByNamespaceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listAuthorizationRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs", + responses: { + 200: { + bodyMapper: Mappers.AuthorizationRuleListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.skip, - Parameters.top - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.eventHubName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.EventHubListResult + bodyMapper: Mappers.AuthorizationRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.eventHubName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName, + Parameters.eventHubName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.Eventhub, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Eventhub + bodyMapper: Mappers.AuthorizationRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.eventHubName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName, + Parameters.eventHubName ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -558,138 +570,119 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.eventHubName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName, + Parameters.eventHubName ], + headerParameters: [Parameters.accept], + serializer +}; +const listKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/listKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.Eventhub + bodyMapper: Mappers.AccessKeys }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.eventHubName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName, + Parameters.eventHubName ], + headerParameters: [Parameters.accept], + serializer +}; +const regenerateKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.AuthorizationRuleListResult + bodyMapper: Mappers.AccessKeys }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", + requestBody: Parameters.parameters6, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.eventHubName, Parameters.authorizationRuleName, - Parameters.subscriptionId + Parameters.eventHubName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.AuthorizationRule, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByNamespaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AuthorizationRule + bodyMapper: Mappers.EventHubListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.eventHubName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.AuthorizationRule + bodyMapper: Mappers.Eventhub }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", + requestBody: Parameters.parameters11, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.eventHubName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.eventHubName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -697,108 +690,82 @@ const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/ListKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.eventHubName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.eventHubName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AccessKeys + bodyMapper: Mappers.Eventhub }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const regenerateKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.eventHubName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.eventHubName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.RegenerateAccessKeyParameters, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.AccessKeys - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByNamespaceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listAuthorizationRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.EventHubListResult + bodyMapper: Mappers.AuthorizationRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName, + Parameters.eventHubName + ], + headerParameters: [Parameters.accept], serializer }; - -const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByNamespaceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AuthorizationRuleListResult + bodyMapper: Mappers.EventHubListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/eventhub/arm-eventhub/src/operations/index.ts b/sdk/eventhub/arm-eventhub/src/operations/index.ts index 8c9523f44191..81bf8f142252 100644 --- a/sdk/eventhub/arm-eventhub/src/operations/index.ts +++ b/sdk/eventhub/arm-eventhub/src/operations/index.ts @@ -1,16 +1,18 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./operations"; +export * from "./clusters"; export * from "./namespaces"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; +export * from "./configuration"; export * from "./disasterRecoveryConfigs"; export * from "./eventHubs"; export * from "./consumerGroups"; +export * from "./operations"; export * from "./regions"; diff --git a/sdk/eventhub/arm-eventhub/src/operations/namespaces.ts b/sdk/eventhub/arm-eventhub/src/operations/namespaces.ts index 99a8372ff15f..a69c62122db0 100644 --- a/sdk/eventhub/arm-eventhub/src/operations/namespaces.ts +++ b/sdk/eventhub/arm-eventhub/src/operations/namespaces.ts @@ -1,418 +1,938 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/namespacesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Namespaces } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + IpFilterRule, + NamespacesListIPFilterRulesNextOptionalParams, + NamespacesListIPFilterRulesOptionalParams, + EHNamespace, + NamespacesListNextOptionalParams, + NamespacesListOptionalParams, + NamespacesListByResourceGroupNextOptionalParams, + NamespacesListByResourceGroupOptionalParams, + VirtualNetworkRule, + NamespacesListVirtualNetworkRulesNextOptionalParams, + NamespacesListVirtualNetworkRulesOptionalParams, + AuthorizationRule, + NamespacesListAuthorizationRulesNextOptionalParams, + NamespacesListAuthorizationRulesOptionalParams, + NamespacesListIPFilterRulesResponse, + NamespacesCreateOrUpdateIpFilterRuleOptionalParams, + NamespacesCreateOrUpdateIpFilterRuleResponse, + NamespacesDeleteIpFilterRuleOptionalParams, + NamespacesGetIpFilterRuleOptionalParams, + NamespacesGetIpFilterRuleResponse, + NamespacesListResponse, + NamespacesListByResourceGroupResponse, + NamespacesCreateOrUpdateOptionalParams, + NamespacesCreateOrUpdateResponse, + NamespacesDeleteOptionalParams, + NamespacesGetOptionalParams, + NamespacesGetResponse, + NamespacesUpdateOptionalParams, + NamespacesUpdateResponse, + NamespacesListVirtualNetworkRulesResponse, + NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams, + NamespacesCreateOrUpdateVirtualNetworkRuleResponse, + NamespacesDeleteVirtualNetworkRuleOptionalParams, + NamespacesGetVirtualNetworkRuleOptionalParams, + NamespacesGetVirtualNetworkRuleResponse, + NetworkRuleSet, + NamespacesCreateOrUpdateNetworkRuleSetOptionalParams, + NamespacesCreateOrUpdateNetworkRuleSetResponse, + NamespacesGetNetworkRuleSetOptionalParams, + NamespacesGetNetworkRuleSetResponse, + NamespacesListAuthorizationRulesResponse, + NamespacesCreateOrUpdateAuthorizationRuleOptionalParams, + NamespacesCreateOrUpdateAuthorizationRuleResponse, + NamespacesDeleteAuthorizationRuleOptionalParams, + NamespacesGetAuthorizationRuleOptionalParams, + NamespacesGetAuthorizationRuleResponse, + NamespacesListKeysOptionalParams, + NamespacesListKeysResponse, + RegenerateAccessKeyParameters, + NamespacesRegenerateKeysOptionalParams, + NamespacesRegenerateKeysResponse, + CheckNameAvailabilityParameter, + NamespacesCheckNameAvailabilityOptionalParams, + NamespacesCheckNameAvailabilityResponse, + NamespacesListIPFilterRulesNextResponse, + NamespacesListNextResponse, + NamespacesListByResourceGroupNextResponse, + NamespacesListVirtualNetworkRulesNextResponse, + NamespacesListAuthorizationRulesNextResponse +} from "../models"; -/** Class representing a Namespaces. */ -export class Namespaces { +/// +/** Class containing Namespaces operations. */ +export class NamespacesImpl implements Namespaces { private readonly client: EventHubManagementClientContext; /** - * Create a Namespaces. - * @param {EventHubManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Namespaces class. + * @param client Reference to the service client */ constructor(client: EventHubManagementClientContext) { this.client = client; } /** - * Check the give Namespace name availability. - * @param parameters Parameters to check availability of the given Namespace name - * @param [options] The optional parameters - * @returns Promise - */ - checkNameAvailability(parameters: Models.CheckNameAvailabilityParameter, options?: msRest.RequestOptionsBase): Promise; - /** - * @param parameters Parameters to check availability of the given Namespace name - * @param callback The callback - */ - checkNameAvailability(parameters: Models.CheckNameAvailabilityParameter, callback: msRest.ServiceCallback): void; - /** - * @param parameters Parameters to check availability of the given Namespace name - * @param options The optional parameters - * @param callback The callback + * Gets a list of IP Filter rules for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. */ - checkNameAvailability(parameters: Models.CheckNameAvailabilityParameter, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - checkNameAvailability(parameters: Models.CheckNameAvailabilityParameter, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - parameters, - options + public listIPFilterRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIPFilterRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listIPFilterRulesPagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); }, - checkNameAvailabilityOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listIPFilterRulesPagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; + } + + private async *listIPFilterRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIPFilterRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listIPFilterRules( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listIPFilterRulesNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listIPFilterRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIPFilterRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listIPFilterRulesPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** * Lists all the available Namespaces within a subscription, irrespective of the resource groups. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: NamespacesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: NamespacesListOptionalParams + ): 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?: NamespacesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Lists the available Namespaces within a resource group. * @param resourceGroupName Name of the resource group within the azure subscription. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByResourceGroup( + resourceGroupName: string, + options?: NamespacesListByResourceGroupOptionalParams + ): 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?: NamespacesListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. - * This operation is idempotent. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param parameters Parameters for creating a namespace resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, parameters: Models.EHNamespace, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,namespaceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: NamespacesListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** - * Deletes an existing namespace. This operation also removes all associated resources under the - * namespace. + * Gets a list of VirtualNetwork rules for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,namespaceName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + public listVirtualNetworkRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listVirtualNetworkRulesPagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listVirtualNetworkRulesPagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; + } + + private async *listVirtualNetworkRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listVirtualNetworkRules( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listVirtualNetworkRulesNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listVirtualNetworkRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listVirtualNetworkRulesPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** - * Gets the description of the specified namespace. + * Gets a list of authorization rules for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; + public listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAuthorizationRulesPagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; + } + + private async *listAuthorizationRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listAuthorizationRules( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAuthorizationRulesNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listAuthorizationRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } + } + /** + * Gets a list of IP Filter rules for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; + private _listIPFilterRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIPFilterRulesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listIPFilterRulesOperationSpec + ); + } + /** + * Creates or updates an IpFilterRule for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param options The optional parameters - * @param callback The callback + * @param ipFilterRuleName The IP Filter Rule name. + * @param parameters The Namespace IpFilterRule. + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdateIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + parameters: IpFilterRule, + options?: NamespacesCreateOrUpdateIpFilterRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, + ipFilterRuleName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateIpFilterRuleOperationSpec + ); } /** - * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. - * This operation is idempotent. + * Deletes an IpFilterRule for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param parameters Parameters for updating a namespace resource. - * @param [options] The optional parameters - * @returns Promise + * @param ipFilterRuleName The IP Filter Rule name. + * @param options The options parameters. */ - update(resourceGroupName: string, namespaceName: string, parameters: Models.EHNamespace, options?: msRest.RequestOptionsBase): Promise; + deleteIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + options?: NamespacesDeleteIpFilterRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, ipFilterRuleName, options }, + deleteIpFilterRuleOperationSpec + ); + } + /** + * Gets an IpFilterRule for a Namespace by rule name. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param parameters Parameters for updating a namespace resource. - * @param callback The callback + * @param ipFilterRuleName The IP Filter Rule name. + * @param options The options parameters. */ - update(resourceGroupName: string, namespaceName: string, parameters: Models.EHNamespace, callback: msRest.ServiceCallback): void; + getIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + options?: NamespacesGetIpFilterRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, ipFilterRuleName, options }, + getIpFilterRuleOperationSpec + ); + } + /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param parameters Parameters for updating a namespace resource. - * @param options The optional parameters - * @param callback The callback + * Lists all the available Namespaces within a subscription, irrespective of the resource groups. + * @param options The options parameters. */ - update(resourceGroupName: string, namespaceName: string, parameters: Models.EHNamespace, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - update(resourceGroupName: string, namespaceName: string, parameters: Models.EHNamespace, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - parameters, - options - }, - updateOperationSpec, - callback) as Promise; + private _list( + options?: NamespacesListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); } /** - * Gets messaging plan for specified namespace. + * Lists the available Namespaces within a resource group. * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getMessagingPlan(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; + private _listByResourceGroup( + resourceGroupName: string, + options?: NamespacesListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + /** + * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This + * operation is idempotent. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param callback The callback + * @param parameters Parameters for creating a namespace resource. + * @param options The options parameters. */ - getMessagingPlan(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; + async beginCreateOrUpdate( + resourceGroupName: string, + namespaceName: string, + parameters: EHNamespace, + options?: NamespacesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + NamespacesCreateOrUpdateResponse + > + > { + 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, namespaceName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This + * operation is idempotent. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param options The optional parameters - * @param callback The callback + * @param parameters Parameters for creating a namespace resource. + * @param options The options parameters. */ - getMessagingPlan(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getMessagingPlan(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - getMessagingPlanOperationSpec, - callback) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + namespaceName: string, + parameters: EHNamespace, + options?: NamespacesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + namespaceName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Gets a list of authorization rules for a Namespace. + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; + async beginDelete( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesDeleteOptionalParams + ): 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, namespaceName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param callback The callback + * @param options The options parameters. */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; + async beginDeleteAndWait( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + namespaceName, + options + ); + return poller.pollUntilDone(); + } + /** + * Gets the description of the specified namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRules(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - listAuthorizationRulesOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, options }, + getOperationSpec + ); } /** - * Creates or updates an AuthorizationRule for a Namespace. + * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This + * operation is idempotent. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access AuthorizationRule. - * @param [options] The optional parameters - * @returns Promise + * @param parameters Parameters for updating a namespace resource. + * @param options The options parameters. */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.AuthorizationRule, options?: msRest.RequestOptionsBase): Promise; + update( + resourceGroupName: string, + namespaceName: string, + parameters: EHNamespace, + options?: NamespacesUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, parameters, options }, + updateOperationSpec + ); + } + /** + * Gets a list of VirtualNetwork rules for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access AuthorizationRule. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.AuthorizationRule, callback: msRest.ServiceCallback): void; + private _listVirtualNetworkRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listVirtualNetworkRulesOperationSpec + ); + } + /** + * Creates or updates an VirtualNetworkRule for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access AuthorizationRule. - * @param options The optional parameters - * @param callback The callback + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param parameters The Namespace VirtualNetworkRule. + * @param options The options parameters. */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.AuthorizationRule, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.AuthorizationRule, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdateVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, - authorizationRuleName, + virtualNetworkRuleName, parameters, options }, - createOrUpdateAuthorizationRuleOperationSpec, - callback) as Promise; + createOrUpdateVirtualNetworkRuleOperationSpec + ); } /** - * Deletes an AuthorizationRule for a Namespace. + * Deletes an VirtualNetworkRule for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param options The options parameters. */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; + deleteVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + options?: NamespacesDeleteVirtualNetworkRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, virtualNetworkRuleName, options }, + deleteVirtualNetworkRuleOperationSpec + ); + } + /** + * Gets an VirtualNetworkRule for a Namespace by rule name. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param options The options parameters. */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; + getVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + options?: NamespacesGetVirtualNetworkRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, virtualNetworkRuleName, options }, + getVirtualNetworkRuleOperationSpec + ); + } + /** + * Create or update NetworkRuleSet for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback + * @param parameters The Namespace IpFilterRule. + * @param options The options parameters. */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdateNetworkRuleSet( + resourceGroupName: string, + namespaceName: string, + parameters: NetworkRuleSet, + options?: NamespacesCreateOrUpdateNetworkRuleSetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - authorizationRuleName, - options - }, - deleteAuthorizationRuleOperationSpec, - callback); + { resourceGroupName, namespaceName, parameters, options }, + createOrUpdateNetworkRuleSetOperationSpec + ); } /** - * Gets an AuthorizationRule for a Namespace by rule name. + * Gets NetworkRuleSet for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; + getNetworkRuleSet( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesGetNetworkRuleSetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + getNetworkRuleSetOperationSpec + ); + } + /** + * Gets a list of authorization rules for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback + * @param options The options parameters. */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; + private _listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listAuthorizationRulesOperationSpec + ); + } + /** + * Creates or updates an AuthorizationRule for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback + * @param parameters The shared access AuthorizationRule. + * @param options The options parameters. */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + parameters: AuthorizationRule, + options?: NamespacesCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, authorizationRuleName, + parameters, options }, - getAuthorizationRuleOperationSpec, - callback) as Promise; + createOrUpdateAuthorizationRuleOperationSpec + ); } /** - * Gets the primary and secondary connection strings for the Namespace. + * Deletes an AuthorizationRule for a Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesDeleteAuthorizationRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, authorizationRuleName, options }, + deleteAuthorizationRuleOperationSpec + ); + } + /** + * Gets an AuthorizationRule for a Namespace by rule name. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param authorizationRuleName The authorization rule name. - * @param callback The callback + * @param options The options parameters. */ - listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesGetAuthorizationRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, authorizationRuleName, options }, + getAuthorizationRuleOperationSpec + ); + } + /** + * Gets the primary and secondary connection strings for the Namespace. * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listKeys( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesListKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - authorizationRuleName, - options - }, - listKeysOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, authorizationRuleName, options }, + listKeysOperationSpec + ); } /** @@ -421,28 +941,15 @@ export class Namespaces { * @param namespaceName The Namespace name * @param authorizationRuleName The authorization rule name. * @param parameters Parameters required to regenerate the connection string. - * @param [options] The optional parameters - * @returns Promise - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters required to regenerate the connection string. - * @param callback The callback - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters required to regenerate the connection string. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: NamespacesRegenerateKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -451,271 +958,214 @@ export class Namespaces { parameters, options }, - regenerateKeysOperationSpec, - callback) as Promise; + regenerateKeysOperationSpec + ); } /** - * Create or update NetworkRuleSet for a Namespace. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param parameters The Namespace IpFilterRule. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: Models.NetworkRuleSet, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param parameters The Namespace IpFilterRule. - * @param callback The callback + * Check the give Namespace name availability. + * @param parameters Parameters to check availability of the given Namespace name + * @param options The options parameters. */ - createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: Models.NetworkRuleSet, callback: msRest.ServiceCallback): void; + checkNameAvailability( + parameters: CheckNameAvailabilityParameter, + options?: NamespacesCheckNameAvailabilityOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { parameters, options }, + checkNameAvailabilityOperationSpec + ); + } + /** + * ListIPFilterRulesNext * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param parameters The Namespace IpFilterRule. - * @param options The optional parameters - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListIPFilterRules method. + * @param options The options parameters. */ - createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: Models.NetworkRuleSet, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: Models.NetworkRuleSet, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listIPFilterRulesNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: NamespacesListIPFilterRulesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - parameters, - options - }, - createOrUpdateNetworkRuleSetOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listIPFilterRulesNextOperationSpec + ); } /** - * Gets NetworkRuleSet for a Namespace. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - getNetworkRuleSet(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; + private _listNext( + nextLink: string, + options?: NamespacesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } + /** + * ListByResourceGroupNext * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - getNetworkRuleSet(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: NamespacesListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + /** + * ListVirtualNetworkRulesNext * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param options The optional parameters - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListVirtualNetworkRules + * method. + * @param options The options parameters. */ - getNetworkRuleSet(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getNetworkRuleSet(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listVirtualNetworkRulesNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: NamespacesListVirtualNetworkRulesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - getNetworkRuleSetOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listVirtualNetworkRulesNextOperationSpec + ); } /** - * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. - * This operation is idempotent. + * ListAuthorizationRulesNext * @param resourceGroupName Name of the resource group within the azure subscription. * @param namespaceName The Namespace name - * @param parameters Parameters for creating a namespace resource. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the ListAuthorizationRules method. + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, namespaceName: string, parameters: Models.EHNamespace, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - namespaceName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); - } - - /** - * Deletes an existing namespace. This operation also removes all associated resources under the - * namespace. - * @param resourceGroupName Name of the resource group within the azure subscription. - * @param namespaceName The Namespace name - * @param [options] The optional parameters - * @returns Promise - */ - beginDeleteMethod(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - namespaceName, - options - }, - beginDeleteMethodOperationSpec, - options); - } - - /** - * Lists all the available Namespaces within a subscription, irrespective of the resource groups. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listAuthorizationRulesNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: NamespacesListAuthorizationRulesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; - } - - /** - * Lists the available Namespaces within a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; - } - - /** - * Gets a list of authorization rules for a Namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAuthorizationRulesNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listAuthorizationRulesNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNameAvailability", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.CheckNameAvailabilityParameter, - required: true +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listIPFilterRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/ipfilterrules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.IpFilterRuleListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateIpFilterRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.CheckNameAvailabilityResult + bodyMapper: Mappers.IpFilterRule }, default: { bodyMapper: Mappers.ErrorResponse } }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.ipFilterRuleName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces", +const deleteIpFilterRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.ipFilterRuleName ], + headerParameters: [Parameters.accept], + serializer +}; +const getIpFilterRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.EHNamespaceListResult + bodyMapper: Mappers.IpFilterRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.ipFilterRuleName ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.EHNamespaceListResult @@ -724,23 +1174,36 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", + responses: { + 200: { + bodyMapper: Mappers.EHNamespaceListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.EHNamespace @@ -748,34 +1211,55 @@ const getOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.EHNamespace }, + 202: { + bodyMapper: Mappers.EHNamespace + }, + 204: { + bodyMapper: Mappers.EHNamespace + }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.subscriptionId + Parameters.namespaceName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.EHNamespace, - required: true + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.EHNamespace @@ -783,112 +1267,99 @@ const updateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.EHNamespace }, - 202: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getMessagingPlanOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.MessagingPlan + bodyMapper: Mappers.EHNamespace + }, + 201: { + bodyMapper: Mappers.EHNamespace }, + 202: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules", + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listVirtualNetworkRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/virtualnetworkrules", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AuthorizationRuleListResult + bodyMapper: Mappers.VirtualNetworkRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.namespaceName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.AuthorizationRule, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateVirtualNetworkRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.AuthorizationRule + bodyMapper: Mappers.VirtualNetworkRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + requestBody: Parameters.parameters3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.virtualNetworkRuleName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteVirtualNetworkRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -896,222 +1367,270 @@ const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.virtualNetworkRuleName ], + headerParameters: [Parameters.accept], + serializer +}; +const getVirtualNetworkRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AuthorizationRule + bodyMapper: Mappers.VirtualNetworkRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.virtualNetworkRuleName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateNetworkRuleSetOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets/default", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.AccessKeys + bodyMapper: Mappers.NetworkRuleSet }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const regenerateKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.namespaceName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.RegenerateAccessKeyParameters, - required: true + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getNetworkRuleSetOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkRuleSet + }, + default: { + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listAuthorizationRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AccessKeys + bodyMapper: Mappers.AuthorizationRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], serializer }; - -const createOrUpdateNetworkRuleSetOperationSpec: msRest.OperationSpec = { +const createOrUpdateAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets/default", + responses: { + 200: { + bodyMapper: Mappers.AuthorizationRule + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.NetworkRuleSet, - required: true + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.authorizationRuleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.NetworkRuleSet + bodyMapper: Mappers.AuthorizationRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getNetworkRuleSetOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets/default", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName ], + headerParameters: [Parameters.accept], + serializer +}; +const listKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.NetworkRuleSet + bodyMapper: Mappers.AccessKeys }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.EHNamespace, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const regenerateKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.EHNamespace - }, - 201: { - bodyMapper: Mappers.EHNamespace + bodyMapper: Mappers.AccessKeys }, - 202: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", + requestBody: Parameters.parameters6, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.authorizationRuleName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/checkNameAvailability", + httpMethod: "POST", responses: { - 200: {}, - 202: {}, - 204: {}, + 200: { + bodyMapper: Mappers.CheckNameAvailabilityResult + }, default: { bodyMapper: Mappers.ErrorResponse } }, + requestBody: Parameters.parameters7, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listIPFilterRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.IpFilterRuleListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.EHNamespaceListResult @@ -1120,19 +1639,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.EHNamespaceListResult @@ -1141,19 +1659,41 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listVirtualNetworkRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkRuleListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName ], + headerParameters: [Parameters.accept], + serializer +}; +const listAuthorizationRulesNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AuthorizationRuleListResult @@ -1162,5 +1702,14 @@ const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/eventhub/arm-eventhub/src/operations/operations.ts b/sdk/eventhub/arm-eventhub/src/operations/operations.ts index 6597c772dd23..9d148737170d 100644 --- a/sdk/eventhub/arm-eventhub/src/operations/operations.ts +++ b/sdk/eventhub/arm-eventhub/src/operations/operations.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/operationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { + Operation, + OperationsListNextOptionalParams, + OperationsListOptionalParams, + OperationsListResponse, + OperationsListNextResponse +} from "../models"; -/** Class representing a Operations. */ -export class Operations { +/// +/** Class containing Operations operations. */ +export class OperationsImpl implements Operations { private readonly client: EventHubManagementClientContext; /** - * Create a Operations. - * @param {EventHubManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Operations class. + * @param client Reference to the service client */ constructor(client: EventHubManagementClientContext) { this.client = client; @@ -28,68 +36,77 @@ export class Operations { /** * Lists all of the available Event Hub REST API operations. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: OperationsListOptionalParams + ): 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?: OperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Lists all of the available Event Hub REST API operations. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: OperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: OperationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.EventHub/operations", httpMethod: "GET", - path: "providers/Microsoft.EventHub/operations", - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.OperationListResult @@ -98,19 +115,14 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.OperationListResult @@ -119,5 +131,8 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/eventhub/arm-eventhub/src/operations/privateEndpointConnections.ts b/sdk/eventhub/arm-eventhub/src/operations/privateEndpointConnections.ts new file mode 100644 index 000000000000..3cfb78374e85 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operations/privateEndpointConnections.ts @@ -0,0 +1,405 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListNextOptionalParams, + PrivateEndpointConnectionsListOptionalParams, + PrivateEndpointConnectionsListResponse, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsListNextResponse +} from "../models"; + +/// +/** Class containing PrivateEndpointConnections operations. */ +export class PrivateEndpointConnectionsImpl + implements PrivateEndpointConnections { + private readonly client: EventHubManagementClientContext; + + /** + * Initialize a new instance of the class PrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: EventHubManagementClientContext) { + this.client = client; + } + + /** + * Gets the available PrivateEndpointConnections within a namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, namespaceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, namespaceName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, namespaceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } + } + + /** + * Gets the available PrivateEndpointConnections within a namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listOperationSpec + ); + } + + /** + * Creates or updates PrivateEndpointConnections of service namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param parameters Parameters supplied to update Status of PrivateEndPoint Connection to namespace + * resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + namespaceName, + privateEndpointConnectionName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): 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, + namespaceName, + privateEndpointConnectionName, + options + }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + namespaceName, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a description for the specified Private Endpoint Connection name. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + namespaceName, + privateEndpointConnectionName, + options + }, + getOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters8, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/eventhub/arm-eventhub/src/operations/privateLinkResources.ts b/sdk/eventhub/arm-eventhub/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..aee952f2856c --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operations/privateLinkResources.ts @@ -0,0 +1,72 @@ +/* + * 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 { PrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { + PrivateLinkResourcesGetOptionalParams, + PrivateLinkResourcesGetResponse +} from "../models"; + +/** Class containing PrivateLinkResources operations. */ +export class PrivateLinkResourcesImpl implements PrivateLinkResources { + private readonly client: EventHubManagementClientContext; + + /** + * Initialize a new instance of the class PrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: EventHubManagementClientContext) { + this.client = client; + } + + /** + * Gets lists of resources that supports Privatelinks. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + options?: PrivateLinkResourcesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourcesListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/eventhub/arm-eventhub/src/operations/regions.ts b/sdk/eventhub/arm-eventhub/src/operations/regions.ts index ef0fb7026bd9..91caf392b4b9 100644 --- a/sdk/eventhub/arm-eventhub/src/operations/regions.ts +++ b/sdk/eventhub/arm-eventhub/src/operations/regions.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/regionsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Regions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { EventHubManagementClientContext } from "../eventHubManagementClientContext"; +import { + MessagingRegions, + RegionsListBySkuNextOptionalParams, + RegionsListBySkuOptionalParams, + RegionsListBySkuResponse, + RegionsListBySkuNextResponse +} from "../models"; -/** Class representing a Regions. */ -export class Regions { +/// +/** Class containing Regions operations. */ +export class RegionsImpl implements Regions { private readonly client: EventHubManagementClientContext; /** - * Create a Regions. - * @param {EventHubManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Regions class. + * @param client Reference to the service client */ constructor(client: EventHubManagementClientContext) { this.client = client; @@ -29,75 +37,88 @@ export class Regions { /** * Gets the available Regions for a given sku * @param sku The sku type. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listBySku(sku: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param sku The sku type. - * @param callback The callback - */ - listBySku(sku: string, callback: msRest.ServiceCallback): void; - /** - * @param sku The sku type. - * @param options The optional parameters - * @param callback The callback - */ - listBySku(sku: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySku(sku: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - sku, - options + public listBySku( + sku: string, + options?: RegionsListBySkuOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySkuPagingAll(sku, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listBySkuOperationSpec, - callback) as Promise; + byPage: () => { + return this.listBySkuPagingPage(sku, options); + } + }; + } + + private async *listBySkuPagingPage( + sku: string, + options?: RegionsListBySkuOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySku(sku, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySkuNext(sku, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySkuPagingAll( + sku: string, + options?: RegionsListBySkuOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySkuPagingPage(sku, options)) { + yield* page; + } } /** * Gets the available Regions for a given sku - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBySkuNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param sku The sku type. + * @param options The options parameters. */ - listBySkuNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listBySku( + sku: string, + options?: RegionsListBySkuOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { sku, options }, + listBySkuOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListBySkuNext + * @param sku The sku type. + * @param nextLink The nextLink from the previous successful call to the ListBySku method. + * @param options The options parameters. */ - listBySkuNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySkuNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySkuNext( + sku: string, + nextLink: string, + options?: RegionsListBySkuNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listBySkuNextOperationSpec, - callback) as Promise; + { sku, nextLink, options }, + listBySkuNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listBySkuOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listBySkuOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions", - urlParameters: [ - Parameters.subscriptionId, - Parameters.sku - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.MessagingRegionsListResult @@ -106,19 +127,14 @@ const listBySkuOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId, Parameters.sku], + headerParameters: [Parameters.accept], serializer }; - -const listBySkuNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBySkuNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.MessagingRegionsListResult @@ -127,5 +143,13 @@ const listBySkuNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.sku + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/clusters.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/clusters.ts new file mode 100644 index 000000000000..b4ac499a9e7c --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/clusters.ts @@ -0,0 +1,153 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Cluster, + ClustersListByResourceGroupOptionalParams, + ClustersListAvailableClusterRegionOptionalParams, + ClustersListAvailableClusterRegionResponse, + ClustersGetOptionalParams, + ClustersGetResponse, + ClustersCreateOrUpdateOptionalParams, + ClustersCreateOrUpdateResponse, + ClustersUpdateOptionalParams, + ClustersUpdateResponse, + ClustersDeleteOptionalParams, + ClustersListNamespacesOptionalParams, + ClustersListNamespacesResponse +} from "../models"; + +/// +/** Interface representing a Clusters. */ +export interface Clusters { + /** + * Lists the available Event Hubs Clusters within an ARM resource group + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: ClustersListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region. + * @param options The options parameters. + */ + listAvailableClusterRegion( + options?: ClustersListAvailableClusterRegionOptionalParams + ): Promise; + /** + * Gets the resource description of the specified Event Hubs Cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + clusterName: string, + options?: ClustersGetOptionalParams + ): Promise; + /** + * Creates or updates an instance of an Event Hubs Cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters Parameters for creating a eventhub cluster resource. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + clusterName: string, + parameters: Cluster, + options?: ClustersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ClustersCreateOrUpdateResponse + > + >; + /** + * Creates or updates an instance of an Event Hubs Cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters Parameters for creating a eventhub cluster resource. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + clusterName: string, + parameters: Cluster, + options?: ClustersCreateOrUpdateOptionalParams + ): Promise; + /** + * Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters The properties of the Event Hubs Cluster which should be updated. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + clusterName: string, + parameters: Cluster, + options?: ClustersUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ClustersUpdateResponse + > + >; + /** + * Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters The properties of the Event Hubs Cluster which should be updated. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + clusterName: string, + parameters: Cluster, + options?: ClustersUpdateOptionalParams + ): Promise; + /** + * Deletes an existing Event Hubs Cluster. This operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + clusterName: string, + options?: ClustersDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an existing Event Hubs Cluster. This operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + clusterName: string, + options?: ClustersDeleteOptionalParams + ): Promise; + /** + * List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + listNamespaces( + resourceGroupName: string, + clusterName: string, + options?: ClustersListNamespacesOptionalParams + ): Promise; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/configuration.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/configuration.ts new file mode 100644 index 000000000000..024da8b7a85d --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/configuration.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. + */ + +import { + ClusterQuotaConfigurationProperties, + ConfigurationPatchOptionalParams, + ConfigurationPatchResponse, + ConfigurationGetOptionalParams, + ConfigurationGetResponse +} from "../models"; + +/** Interface representing a Configuration. */ +export interface Configuration { + /** + * Replace all specified Event Hubs Cluster settings with those contained in the request body. Leaves + * the settings not specified in the request body unmodified. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param parameters Parameters for creating an Event Hubs Cluster resource. + * @param options The options parameters. + */ + patch( + resourceGroupName: string, + clusterName: string, + parameters: ClusterQuotaConfigurationProperties, + options?: ConfigurationPatchOptionalParams + ): Promise; + /** + * Get all Event Hubs Cluster settings - a collection of key/value pairs which represent the quotas and + * settings imposed on the cluster. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param clusterName The name of the Event Hubs Cluster. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + clusterName: string, + options?: ConfigurationGetOptionalParams + ): Promise; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/consumerGroups.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/consumerGroups.ts new file mode 100644 index 000000000000..82b70a2043ff --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/consumerGroups.ts @@ -0,0 +1,85 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ConsumerGroup, + ConsumerGroupsListByEventHubOptionalParams, + ConsumerGroupsCreateOrUpdateOptionalParams, + ConsumerGroupsCreateOrUpdateResponse, + ConsumerGroupsDeleteOptionalParams, + ConsumerGroupsGetOptionalParams, + ConsumerGroupsGetResponse +} from "../models"; + +/// +/** Interface representing a ConsumerGroups. */ +export interface ConsumerGroups { + /** + * Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists + * in the Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param options The options parameters. + */ + listByEventHub( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: ConsumerGroupsListByEventHubOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates an Event Hubs consumer group as a nested resource within a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param consumerGroupName The consumer group name + * @param parameters Parameters supplied to create or update a consumer group resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + consumerGroupName: string, + parameters: ConsumerGroup, + options?: ConsumerGroupsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a consumer group from the specified Event Hub and resource group. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param consumerGroupName The consumer group name + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + consumerGroupName: string, + options?: ConsumerGroupsDeleteOptionalParams + ): Promise; + /** + * Gets a description for the specified consumer group. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param consumerGroupName The consumer group name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + consumerGroupName: string, + options?: ConsumerGroupsGetOptionalParams + ): Promise; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/disasterRecoveryConfigs.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/disasterRecoveryConfigs.ts new file mode 100644 index 000000000000..4c770fd1e4c6 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/disasterRecoveryConfigs.ts @@ -0,0 +1,170 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AuthorizationRule, + DisasterRecoveryConfigsListAuthorizationRulesOptionalParams, + ArmDisasterRecovery, + DisasterRecoveryConfigsListOptionalParams, + DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams, + DisasterRecoveryConfigsGetAuthorizationRuleResponse, + DisasterRecoveryConfigsListKeysOptionalParams, + DisasterRecoveryConfigsListKeysResponse, + CheckNameAvailabilityParameter, + DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams, + DisasterRecoveryConfigsCheckNameAvailabilityResponse, + DisasterRecoveryConfigsCreateOrUpdateOptionalParams, + DisasterRecoveryConfigsCreateOrUpdateResponse, + DisasterRecoveryConfigsDeleteOptionalParams, + DisasterRecoveryConfigsGetOptionalParams, + DisasterRecoveryConfigsGetResponse, + DisasterRecoveryConfigsBreakPairingOptionalParams, + DisasterRecoveryConfigsFailOverOptionalParams +} from "../models"; + +/// +/** Interface representing a DisasterRecoveryConfigs. */ +export interface DisasterRecoveryConfigs { + /** + * Gets a list of authorization rules for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets all Alias(Disaster Recovery configurations) + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + list( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets an AuthorizationRule for a Namespace by rule name. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + alias: string, + authorizationRuleName: string, + options?: DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets the primary and secondary connection strings for the Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + alias: string, + authorizationRuleName: string, + options?: DisasterRecoveryConfigsListKeysOptionalParams + ): Promise; + /** + * Check the give Namespace name availability. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param parameters Parameters to check availability of the given Alias name + * @param options The options parameters. + */ + checkNameAvailability( + resourceGroupName: string, + namespaceName: string, + parameters: CheckNameAvailabilityParameter, + options?: DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams + ): Promise; + /** + * Creates or updates a new Alias(Disaster Recovery configuration) + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + alias: string, + parameters: ArmDisasterRecovery, + options?: DisasterRecoveryConfigsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an Alias(Disaster Recovery configuration) + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsDeleteOptionalParams + ): Promise; + /** + * Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsGetOptionalParams + ): Promise; + /** + * This operation disables the Disaster Recovery and stops replicating changes from primary to + * secondary namespaces + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + breakPairing( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsBreakPairingOptionalParams + ): Promise; + /** + * Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + failOver( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsFailOverOptionalParams + ): Promise; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/eventHubs.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/eventHubs.ts new file mode 100644 index 000000000000..03347dd71ae4 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/eventHubs.ts @@ -0,0 +1,182 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AuthorizationRule, + EventHubsListAuthorizationRulesOptionalParams, + Eventhub, + EventHubsListByNamespaceOptionalParams, + EventHubsCreateOrUpdateAuthorizationRuleOptionalParams, + EventHubsCreateOrUpdateAuthorizationRuleResponse, + EventHubsGetAuthorizationRuleOptionalParams, + EventHubsGetAuthorizationRuleResponse, + EventHubsDeleteAuthorizationRuleOptionalParams, + EventHubsListKeysOptionalParams, + EventHubsListKeysResponse, + RegenerateAccessKeyParameters, + EventHubsRegenerateKeysOptionalParams, + EventHubsRegenerateKeysResponse, + EventHubsCreateOrUpdateOptionalParams, + EventHubsCreateOrUpdateResponse, + EventHubsDeleteOptionalParams, + EventHubsGetOptionalParams, + EventHubsGetResponse +} from "../models"; + +/// +/** Interface representing a EventHubs. */ +export interface EventHubs { + /** + * Gets the authorization rules for an Event Hub. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param options The options parameters. + */ + listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets all the Event Hubs in a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the + * AuthorizationRule will take a few seconds to take effect. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param authorizationRuleName The authorization rule name. + * @param parameters The shared access AuthorizationRule. + * @param options The options parameters. + */ + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + parameters: AuthorizationRule, + options?: EventHubsCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets an AuthorizationRule for an Event Hub by rule name. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + options?: EventHubsGetAuthorizationRuleOptionalParams + ): Promise; + /** + * Deletes an Event Hub AuthorizationRule. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + options?: EventHubsDeleteAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets the ACS and SAS connection strings for the Event Hub. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + options?: EventHubsListKeysOptionalParams + ): Promise; + /** + * Regenerates the ACS and SAS connection strings for the Event Hub. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param authorizationRuleName The authorization rule name. + * @param parameters Parameters supplied to regenerate the AuthorizationRule Keys + * (PrimaryKey/SecondaryKey). + * @param options The options parameters. + */ + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: EventHubsRegenerateKeysOptionalParams + ): Promise; + /** + * Creates or updates a new Event Hub as a nested resource within a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param parameters Parameters supplied to create an Event Hub resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + parameters: Eventhub, + options?: EventHubsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an Event Hub from the specified Namespace and resource group. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsDeleteOptionalParams + ): Promise; + /** + * Gets an Event Hubs description for the specified Event Hub. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param eventHubName The Event Hub name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + eventHubName: string, + options?: EventHubsGetOptionalParams + ): Promise; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/index.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..81bf8f142252 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/index.ts @@ -0,0 +1,18 @@ +/* + * 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 "./clusters"; +export * from "./namespaces"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; +export * from "./configuration"; +export * from "./disasterRecoveryConfigs"; +export * from "./eventHubs"; +export * from "./consumerGroups"; +export * from "./operations"; +export * from "./regions"; diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/namespaces.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/namespaces.ts new file mode 100644 index 000000000000..d235b46eadb6 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/namespaces.ts @@ -0,0 +1,377 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + IpFilterRule, + NamespacesListIPFilterRulesOptionalParams, + EHNamespace, + NamespacesListOptionalParams, + NamespacesListByResourceGroupOptionalParams, + VirtualNetworkRule, + NamespacesListVirtualNetworkRulesOptionalParams, + AuthorizationRule, + NamespacesListAuthorizationRulesOptionalParams, + NamespacesCreateOrUpdateIpFilterRuleOptionalParams, + NamespacesCreateOrUpdateIpFilterRuleResponse, + NamespacesDeleteIpFilterRuleOptionalParams, + NamespacesGetIpFilterRuleOptionalParams, + NamespacesGetIpFilterRuleResponse, + NamespacesCreateOrUpdateOptionalParams, + NamespacesCreateOrUpdateResponse, + NamespacesDeleteOptionalParams, + NamespacesGetOptionalParams, + NamespacesGetResponse, + NamespacesUpdateOptionalParams, + NamespacesUpdateResponse, + NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams, + NamespacesCreateOrUpdateVirtualNetworkRuleResponse, + NamespacesDeleteVirtualNetworkRuleOptionalParams, + NamespacesGetVirtualNetworkRuleOptionalParams, + NamespacesGetVirtualNetworkRuleResponse, + NetworkRuleSet, + NamespacesCreateOrUpdateNetworkRuleSetOptionalParams, + NamespacesCreateOrUpdateNetworkRuleSetResponse, + NamespacesGetNetworkRuleSetOptionalParams, + NamespacesGetNetworkRuleSetResponse, + NamespacesCreateOrUpdateAuthorizationRuleOptionalParams, + NamespacesCreateOrUpdateAuthorizationRuleResponse, + NamespacesDeleteAuthorizationRuleOptionalParams, + NamespacesGetAuthorizationRuleOptionalParams, + NamespacesGetAuthorizationRuleResponse, + NamespacesListKeysOptionalParams, + NamespacesListKeysResponse, + RegenerateAccessKeyParameters, + NamespacesRegenerateKeysOptionalParams, + NamespacesRegenerateKeysResponse, + CheckNameAvailabilityParameter, + NamespacesCheckNameAvailabilityOptionalParams, + NamespacesCheckNameAvailabilityResponse +} from "../models"; + +/// +/** Interface representing a Namespaces. */ +export interface Namespaces { + /** + * Gets a list of IP Filter rules for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + listIPFilterRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIPFilterRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists all the available Namespaces within a subscription, irrespective of the resource groups. + * @param options The options parameters. + */ + list( + options?: NamespacesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the available Namespaces within a resource group. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: NamespacesListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of VirtualNetwork rules for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + listVirtualNetworkRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of authorization rules for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates an IpFilterRule for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param ipFilterRuleName The IP Filter Rule name. + * @param parameters The Namespace IpFilterRule. + * @param options The options parameters. + */ + createOrUpdateIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + parameters: IpFilterRule, + options?: NamespacesCreateOrUpdateIpFilterRuleOptionalParams + ): Promise; + /** + * Deletes an IpFilterRule for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param ipFilterRuleName The IP Filter Rule name. + * @param options The options parameters. + */ + deleteIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + options?: NamespacesDeleteIpFilterRuleOptionalParams + ): Promise; + /** + * Gets an IpFilterRule for a Namespace by rule name. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param ipFilterRuleName The IP Filter Rule name. + * @param options The options parameters. + */ + getIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + options?: NamespacesGetIpFilterRuleOptionalParams + ): Promise; + /** + * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This + * operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param parameters Parameters for creating a namespace resource. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + namespaceName: string, + parameters: EHNamespace, + options?: NamespacesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + NamespacesCreateOrUpdateResponse + > + >; + /** + * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This + * operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param parameters Parameters for creating a namespace resource. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + namespaceName: string, + parameters: EHNamespace, + options?: NamespacesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesDeleteOptionalParams + ): Promise; + /** + * Gets the description of the specified namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesGetOptionalParams + ): Promise; + /** + * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This + * operation is idempotent. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param parameters Parameters for updating a namespace resource. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + namespaceName: string, + parameters: EHNamespace, + options?: NamespacesUpdateOptionalParams + ): Promise; + /** + * Creates or updates an VirtualNetworkRule for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param parameters The Namespace VirtualNetworkRule. + * @param options The options parameters. + */ + createOrUpdateVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams + ): Promise; + /** + * Deletes an VirtualNetworkRule for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param options The options parameters. + */ + deleteVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + options?: NamespacesDeleteVirtualNetworkRuleOptionalParams + ): Promise; + /** + * Gets an VirtualNetworkRule for a Namespace by rule name. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param options The options parameters. + */ + getVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + options?: NamespacesGetVirtualNetworkRuleOptionalParams + ): Promise; + /** + * Create or update NetworkRuleSet for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param parameters The Namespace IpFilterRule. + * @param options The options parameters. + */ + createOrUpdateNetworkRuleSet( + resourceGroupName: string, + namespaceName: string, + parameters: NetworkRuleSet, + options?: NamespacesCreateOrUpdateNetworkRuleSetOptionalParams + ): Promise; + /** + * Gets NetworkRuleSet for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + getNetworkRuleSet( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesGetNetworkRuleSetOptionalParams + ): Promise; + /** + * Creates or updates an AuthorizationRule for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param authorizationRuleName The authorization rule name. + * @param parameters The shared access AuthorizationRule. + * @param options The options parameters. + */ + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + parameters: AuthorizationRule, + options?: NamespacesCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise; + /** + * Deletes an AuthorizationRule for a Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesDeleteAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets an AuthorizationRule for a Namespace by rule name. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesGetAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets the primary and secondary connection strings for the Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesListKeysOptionalParams + ): Promise; + /** + * Regenerates the primary or secondary connection strings for the specified Namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param authorizationRuleName The authorization rule name. + * @param parameters Parameters required to regenerate the connection string. + * @param options The options parameters. + */ + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: NamespacesRegenerateKeysOptionalParams + ): Promise; + /** + * Check the give Namespace name availability. + * @param parameters Parameters to check availability of the given Namespace name + * @param options The options parameters. + */ + checkNameAvailability( + parameters: CheckNameAvailabilityParameter, + options?: NamespacesCheckNameAvailabilityOptionalParams + ): Promise; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/operations.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/operations.ts new file mode 100644 index 000000000000..4fe027d7d2f3 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/operations.ts @@ -0,0 +1,23 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operation, OperationsListOptionalParams } from "../models"; + +/// +/** Interface representing a Operations. */ +export interface Operations { + /** + * Lists all of the available Event Hub REST API operations. + * @param options The options parameters. + */ + list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/privateEndpointConnections.ts new file mode 100644 index 000000000000..163221fbccde --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/privateEndpointConnections.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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse +} from "../models"; + +/// +/** Interface representing a PrivateEndpointConnections. */ +export interface PrivateEndpointConnections { + /** + * Gets the available PrivateEndpointConnections within a namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + list( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates PrivateEndpointConnections of service namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param parameters Parameters supplied to update Status of PrivateEndPoint Connection to namespace + * resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise; + /** + * Gets a description for the specified Private Endpoint Connection name. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/privateLinkResources.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/privateLinkResources.ts new file mode 100644 index 000000000000..b1092fad65fb --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/privateLinkResources.ts @@ -0,0 +1,27 @@ +/* + * 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 { + PrivateLinkResourcesGetOptionalParams, + PrivateLinkResourcesGetResponse +} from "../models"; + +/** Interface representing a PrivateLinkResources. */ +export interface PrivateLinkResources { + /** + * Gets lists of resources that supports Privatelinks. + * @param resourceGroupName Name of the resource group within the azure subscription. + * @param namespaceName The Namespace name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + options?: PrivateLinkResourcesGetOptionalParams + ): Promise; +} diff --git a/sdk/eventhub/arm-eventhub/src/operationsInterfaces/regions.ts b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/regions.ts new file mode 100644 index 000000000000..760020bd1d62 --- /dev/null +++ b/sdk/eventhub/arm-eventhub/src/operationsInterfaces/regions.ts @@ -0,0 +1,25 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { MessagingRegions, RegionsListBySkuOptionalParams } from "../models"; + +/// +/** Interface representing a Regions. */ +export interface Regions { + /** + * Gets the available Regions for a given sku + * @param sku The sku type. + * @param options The options parameters. + */ + listBySku( + sku: string, + options?: RegionsListBySkuOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/eventhub/arm-eventhub/tsconfig.json b/sdk/eventhub/arm-eventhub/tsconfig.json index 87bbf5b5fa49..603440b3a359 100644 --- a/sdk/eventhub/arm-eventhub/tsconfig.json +++ b/sdk/eventhub/arm-eventhub/tsconfig.json @@ -3,15 +3,15 @@ "module": "es6", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, "include": ["./src/**/*.ts"], diff --git a/sdk/eventhub/ci.yml b/sdk/eventhub/ci.yml index a69b21231e96..125e815f1d98 100644 --- a/sdk/eventhub/ci.yml +++ b/sdk/eventhub/ci.yml @@ -1,5 +1,4 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - trigger: branches: include: @@ -9,7 +8,6 @@ trigger: paths: include: - sdk/eventhub/ - pr: branches: include: @@ -17,15 +15,16 @@ pr: - feature/* - release/* - hotfix/* + exclude: + - feature/v4 paths: include: - sdk/eventhub/ - extends: template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml parameters: ServiceDirectory: eventhub - RunUnitTests: false + RunUnitTests: true Artifacts: - name: azure-event-hubs safeName: azureeventhubs @@ -35,4 +34,5 @@ extends: safename: azureeventprocessorhost - name: azure-eventhubs-checkpointstore-table safeName: azureeventhubscheckpointstoretable - + - name: azure-arm-eventhub + safeName: azurearmeventhub diff --git a/sdk/eventhub/event-hubs/karma.conf.js b/sdk/eventhub/event-hubs/karma.conf.js index df89a6b4727d..187c45ebc353 100644 --- a/sdk/eventhub/event-hubs/karma.conf.js +++ b/sdk/eventhub/event-hubs/karma.conf.js @@ -48,7 +48,8 @@ module.exports = function(config) { envPreprocessor: [ "EVENTHUB_CONNECTION_STRING", "EVENTHUB_NAME", - "IOTHUB_EH_COMPATIBLE_CONNECTION_STRING" + "IOTHUB_EH_COMPATIBLE_CONNECTION_STRING", + "TEST_TARGET" ], // test results reporter to use diff --git a/sdk/eventhub/event-hubs/package.json b/sdk/eventhub/event-hubs/package.json index 84977ab0c021..cd3b8d030932 100644 --- a/sdk/eventhub/event-hubs/package.json +++ b/sdk/eventhub/event-hubs/package.json @@ -32,7 +32,8 @@ } }, "browser": { - "./dist-esm/src/util/runtimeInfo.js": "./dist-esm/src/util/runtimeInfo.browser.js" + "./dist-esm/src/util/runtimeInfo.js": "./dist-esm/src/util/runtimeInfo.browser.js", + "./dist-esm/test/public/utils/mockService.js": "./dist-esm/test/public/utils/mockService.browser.js" }, "files": [ "dist/", @@ -49,27 +50,27 @@ "build:samples": "echo Obsolete.", "build:test:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c rollup.test.config.js 2>&1", "build:test:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c rollup.test.config.js 2>&1", - "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", + "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1 && npm run generate-certs", "build:types": "downlevel-dts types/latest types/3.1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", - "integration-test:browser": "karma start --single-run", - "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"dist-esm/test/internal/*.spec.js\" \"dist-esm/test/public/*.spec.js\" \"dist-esm/test/public/**/*.spec.js\" \"dist-esm/test/internal/**/*.spec.js\"", + "generate-certs": "node ./scripts/generateCerts.js", + "integration-test:browser": "cross-env TEST_TARGET=live DISABLE_MULTI_VERSION_TESTING=true karma start --single-run", + "integration-test:node": "cross-env TEST_TARGET=live DISABLE_MULTI_VERSION_TESTING=true nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"dist-esm/test/internal/*.spec.js\" \"dist-esm/test/public/*.spec.js\" \"dist-esm/test/public/**/*.spec.js\" \"dist-esm/test/internal/**/*.spec.js\"", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", "perf-test:node": "tsc -p . --module \"commonjs\" && node dist-esm/test/perf/track-2/index.spec.js", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", "unit-test:browser": "echo skipped", - "unit-test:node": "echo skipped", + "unit-test:node": "cross-env NODE_EXTRA_CA_CERTS=\"./certs/my-private-root-ca.crt.pem\" TEST_TARGET=mock DISABLE_MULTI_VERSION_TESTING=true nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"dist-esm/test/internal/*.spec.js\" \"dist-esm/test/public/*.spec.js\" \"dist-esm/test/public/**/*.spec.js\" \"dist-esm/test/internal/**/*.spec.js\"", "unit-test": "npm run unit-test:node && npm run unit-test:browser", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src" }, @@ -82,6 +83,9 @@ ] }, "//sampleConfiguration": { + "dependencyOverrides": { + "@azure/identity": "^1.5.1" + }, "extraFiles": { "./samples-browser": [ "browser" @@ -92,6 +96,7 @@ }, "skip": [ "iothubConnectionString.js", + "iothubConnectionStringWebsockets.js", "useWithIotHub.js", "usingAadAuth.js" ], @@ -111,7 +116,7 @@ "@azure/core-auth": "^1.3.0", "@azure/core-tracing": "1.0.0-preview.13", "@azure/logger": "^1.0.0", - "buffer": "^5.2.1", + "buffer": "^6.0.0", "is-buffer": "^2.0.3", "jssha": "^3.1.0", "process": "^0.11.10", @@ -122,10 +127,11 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.6", + "@azure/mock-hub": "^1.0.0", "@azure/test-utils": "^1.0.0", "@azure/test-utils-perfstress": "^1.0.0", - "@microsoft/api-extractor": "7.7.11", + "@microsoft/api-extractor": "^7.18.7", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-inject": "^4.0.0", "@rollup/plugin-json": "^4.0.0", @@ -171,14 +177,14 @@ "moment": "^2.24.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-terser": "^5.1.1", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "ws": "^7.1.1", "typedoc": "0.15.2" diff --git a/sdk/eventhub/event-hubs/review/event-hubs.api.md b/sdk/eventhub/event-hubs/review/event-hubs.api.md index 45d801b43ce8..9a2d13787a1d 100644 --- a/sdk/eventhub/event-hubs/review/event-hubs.api.md +++ b/sdk/eventhub/event-hubs/review/event-hubs.api.md @@ -4,8 +4,11 @@ ```ts +/// + import { AbortSignalLike } from '@azure/abort-controller'; import { AmqpAnnotatedMessage } from '@azure/core-amqp'; +import { AzureLogger } from '@azure/logger'; import { MessagingError } from '@azure/core-amqp'; import { NamedKeyCredential } from '@azure/core-auth'; import { OperationTracingOptions } from '@azure/core-tracing'; @@ -114,7 +117,7 @@ export class EventHubConsumerClient { getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise; subscribe(handlers: SubscriptionEventHandlers, options?: SubscribeOptions): Subscription; subscribe(partitionId: string, handlers: SubscriptionEventHandlers, options?: SubscribeOptions): Subscription; - } +} // @public export interface EventHubConsumerClientOptions extends EventHubClientOptions { @@ -135,7 +138,7 @@ export class EventHubProducerClient { getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise; sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise; sendBatch(batch: EventDataBatch, options?: OperationOptions): Promise; - } +} // @public export interface EventHubProperties { @@ -183,7 +186,7 @@ export interface LoadBalancingOptions { } // @public -export const logger: import("@azure/logger").AzureLogger; +export const logger: AzureLogger; export { MessagingError } @@ -308,7 +311,6 @@ export { WebSocketImpl } export { WebSocketOptions } - // (No @packageDocumentation comment for this package) ``` diff --git a/sdk/eventhub/event-hubs/samples-dev/iothubConnectionString.ts b/sdk/eventhub/event-hubs/samples-dev/iothubConnectionString.ts index 65de46db56df..c444d2caecac 100644 --- a/sdk/eventhub/event-hubs/samples-dev/iothubConnectionString.ts +++ b/sdk/eventhub/event-hubs/samples-dev/iothubConnectionString.ts @@ -15,7 +15,7 @@ import * as crypto from "crypto"; import { Buffer } from "buffer"; import { AmqpError, Connection, ReceiverEvents, parseConnectionString } from "rhea-promise"; -import rheaPromise from "rhea-promise"; +import * as rheaPromise from "rhea-promise"; import { EventHubConsumerClient, earliestEventPosition } from "@azure/event-hubs"; // Load the .env file if it exists diff --git a/sdk/eventhub/event-hubs/samples-dev/iothubConnectionStringWebsockets.ts b/sdk/eventhub/event-hubs/samples-dev/iothubConnectionStringWebsockets.ts new file mode 100644 index 000000000000..2af2dd8ac011 --- /dev/null +++ b/sdk/eventhub/event-hubs/samples-dev/iothubConnectionStringWebsockets.ts @@ -0,0 +1,171 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT Licence. + +/** + * @summary Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint using WebSockets. + */ + +/* + * The Event Hubs connection string is then used with the EventHubConsumerClient to receive events. + * + * More information about the built-in messaging endpoint can be found at: + * https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin + */ + +import * as crypto from "crypto"; +import { Buffer } from "buffer"; +import { AmqpError, Connection, ReceiverEvents, parseConnectionString } from "rhea-promise"; +import rheaPromise from "rhea-promise"; +import { EventHubConsumerClient, earliestEventPosition } from "@azure/event-hubs"; +import WebSocket from "ws"; + +// Load the .env file if it exists +import * as dotenv from "dotenv"; +dotenv.config(); + +/** + * Type guard for AmqpError. + * @param err - An unknown error. + */ +function isAmqpError(err: any): err is AmqpError { + return rheaPromise.isAmqpError(err); +} + +const consumerGroup = process.env["CONSUMER_GROUP_NAME"] || ""; + +// This code is modified from https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#security-tokens. +function generateSasToken( + resourceUri: string, + signingKey: string, + policyName: string, + expiresInMins: number +): string { + resourceUri = encodeURIComponent(resourceUri); + + const expiresInSeconds = Math.ceil(Date.now() / 1000 + expiresInMins * 60); + const toSign = resourceUri + "\n" + expiresInSeconds; + + // Use the crypto module to create the hmac. + const hmac = crypto.createHmac("sha256", Buffer.from(signingKey, "base64")); + hmac.update(toSign); + const base64UriEncoded = encodeURIComponent(hmac.digest("base64")); + + // Construct authorization string. + return `SharedAccessSignature sr=${resourceUri}&sig=${base64UriEncoded}&se=${expiresInSeconds}&skn=${policyName}`; +} + +/** + * Converts an IotHub Connection string into an Event Hubs-compatible connection string. + * @param connectionString - An IotHub connection string in the format: + * `"HostName=.azure-devices.net;SharedAccessKeyName=;SharedAccessKey="` + * @returns An Event Hubs-compatible connection string in the format: + * `"Endpoint=sb://;EntityPath=;SharedAccessKeyName=;SharedAccessKey="` + */ +async function convertIotHubToEventHubsConnectionString(connectionString: string): Promise { + const { HostName, SharedAccessKeyName, SharedAccessKey } = parseConnectionString<{ + HostName: string; + SharedAccessKeyName: string; + SharedAccessKey: string; + }>(connectionString); + + // Verify that the required info is in the connection string. + if (!HostName || !SharedAccessKey || !SharedAccessKeyName) { + throw new Error(`Invalid IotHub connection string.`); + } + + //Extract the IotHub name from the hostname. + const [iotHubName] = HostName.split("."); + + if (!iotHubName) { + throw new Error(`Unable to extract the IotHub name from the connection string.`); + } + + // Generate a token to authenticate to the service. + // The code for generateSasToken can be found at https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#security-tokens + const token = generateSasToken( + `${HostName}/messages/events`, + SharedAccessKey, + SharedAccessKeyName, + 5 // token expires in 5 minutes + ); + + const connection = new Connection({ + transport: "tls", + host: HostName, + hostname: HostName, + username: `${SharedAccessKeyName}@sas.root.${iotHubName}`, + port: 443, + reconnect: false, + password: token, + webSocketOptions: { + webSocket: WebSocket, + protocol: ["AMQPWSB10"], + url: `wss://${HostName}:${443}/$servicebus/websocket` + } + }); + await connection.open(); + + // Create the receiver that will trigger a redirect error. + const receiver = await connection.createReceiver({ + source: { address: `amqps://${HostName}/messages/events/$management` } + }); + + return new Promise((resolve, reject) => { + receiver.on(ReceiverEvents.receiverError, (context) => { + const error = context.receiver && context.receiver.error; + if (isAmqpError(error) && error.condition === "amqp:link:redirect") { + const hostname = error.info && error.info.hostname; + if (!hostname) { + reject(error); + } else { + resolve( + `Endpoint=sb://${hostname}/;EntityPath=${iotHubName};SharedAccessKeyName=${SharedAccessKeyName};SharedAccessKey=${SharedAccessKey}` + ); + } + } else { + reject(error); + } + connection.close().catch(() => { + /* ignore error */ + }); + }); + }); +} + +export async function main() { + console.log(`Running iothubConnectionString sample`); + + const eventHubsConnectionString = await convertIotHubToEventHubsConnectionString( + "HostName=.azure-devices.net;SharedAccessKeyName=;SharedAccessKey=" + ); + + const consumerClient = new EventHubConsumerClient(consumerGroup, eventHubsConnectionString); + + const subscription = consumerClient.subscribe( + { + // The callback where you add your code to process incoming events + processEvents: async (events, context) => { + for (const event of events) { + console.log( + `Received event: '${event.body}' from partition: '${context.partitionId}' and consumer group: '${context.consumerGroup}'` + ); + } + }, + processError: async (err, context) => { + console.log(`Error on partition "${context.partitionId}" : ${err}`); + } + }, + { startPosition: earliestEventPosition } + ); + + // Wait for a bit before cleaning up the sample + setTimeout(async () => { + await subscription.close(); + await consumerClient.close(); + console.log(`Exiting iothubConnectionString sample`); + }, 30 * 1000); +} + +main().catch((error) => { + console.error("Error running sample:", error); +}); diff --git a/sdk/eventhub/event-hubs/samples/v5/javascript/README.md b/sdk/eventhub/event-hubs/samples/v5/javascript/README.md index 3a168874e742..e9722f4cc1a2 100644 --- a/sdk/eventhub/event-hubs/samples/v5/javascript/README.md +++ b/sdk/eventhub/event-hubs/samples/v5/javascript/README.md @@ -12,14 +12,15 @@ urlFragment: event-hubs-javascript These sample programs show how to use the JavaScript client libraries for Azure Event Hubs in some common scenarios. -| **File Name** | **Description** | -| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -| [sendEvents.js][sendevents] | Demonstrates how to send events to an Event Hub. | -| [receiveEvents.js][receiveevents] | Demonstrates how to use the EventHubConsumerClient to process events from all partitions of a consumer group in an Event Hub. | -| [usingAadAuth.js][usingaadauth] | Demonstrates how to instantiate EventHubsClient using AAD token credentials obtained from using service principal secrets. | -| [iothubConnectionString.js][iothubconnectionstring] | Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint. | -| [useWithIotHub.js][usewithiothub] | Demonstrates how to use the EventHubConsumerClient to receive messages from an IoT Hub. | -| [websockets.js][websockets] | Demonstrates how to connect to Azure Event Hubs over websockets to work over an HTTP proxy. | +| **File Name** | **Description** | +| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [sendEvents.js][sendevents] | Demonstrates how to send events to an Event Hub. | +| [receiveEvents.js][receiveevents] | Demonstrates how to use the EventHubConsumerClient to process events from all partitions of a consumer group in an Event Hub. | +| [usingAadAuth.js][usingaadauth] | Demonstrates how to instantiate EventHubsClient using AAD token credentials obtained from using service principal secrets. | +| [iothubConnectionString.js][iothubconnectionstring] | Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint. | +| [iothubConnectionStringWebsockets.js][iothubconnectionstringwebsockets] | Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint using WbeSockets. | +| [useWithIotHub.js][usewithiothub] | Demonstrates how to use the EventHubConsumerClient to receive messages from an IoT Hub. | +| [websockets.js][websockets] | Demonstrates how to connect to Azure Event Hubs over websockets to work over an HTTP proxy. | ## Prerequisites @@ -65,6 +66,7 @@ Take a look at our [API Documentation][apiref] for more information about the AP [receiveevents]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/javascript/receiveEvents.js [usingaadauth]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/javascript/usingAadAuth.js [iothubconnectionstring]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/javascript/iothubConnectionString.js +[iothubconnectionstringwebsockets]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/javascript/iothubConnectionStringWebsockets.js [usewithiothub]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/javascript/useWithIotHub.js [websockets]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/javascript/websockets.js [apiref]: https://docs.microsoft.com/javascript/api/@azure/event-hubs diff --git a/sdk/eventhub/event-hubs/samples/v5/javascript/iothubConnectionStringWebsockets.js b/sdk/eventhub/event-hubs/samples/v5/javascript/iothubConnectionStringWebsockets.js new file mode 100644 index 000000000000..062b99f4c1af --- /dev/null +++ b/sdk/eventhub/event-hubs/samples/v5/javascript/iothubConnectionStringWebsockets.js @@ -0,0 +1,164 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT Licence. + +/** + * @summary Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint using WebSockets. + */ + +/* + * The Event Hubs connection string is then used with the EventHubConsumerClient to receive events. + * + * More information about the built-in messaging endpoint can be found at: + * https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin + */ + +const crypto = require("crypto"); +const { Buffer } = require("buffer"); +const { Connection, ReceiverEvents, parseConnectionString } = require("rhea-promise"); +const rheaPromise = require("rhea-promise"); +const { EventHubConsumerClient, earliestEventPosition } = require("@azure/event-hubs"); +const WebSocket = require("ws"); + +// Load the .env file if it exists +const dotenv = require("dotenv"); +dotenv.config(); + +/** + * Type guard for AmqpError. + * @param err - An unknown error. + */ +function isAmqpError(err) { + return rheaPromise.isAmqpError(err); +} + +const consumerGroup = process.env["CONSUMER_GROUP_NAME"] || ""; + +// This code is modified from https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#security-tokens. +function generateSasToken(resourceUri, signingKey, policyName, expiresInMins) { + resourceUri = encodeURIComponent(resourceUri); + + const expiresInSeconds = Math.ceil(Date.now() / 1000 + expiresInMins * 60); + const toSign = resourceUri + "\n" + expiresInSeconds; + + // Use the crypto module to create the hmac. + const hmac = crypto.createHmac("sha256", Buffer.from(signingKey, "base64")); + hmac.update(toSign); + const base64UriEncoded = encodeURIComponent(hmac.digest("base64")); + + // Construct authorization string. + return `SharedAccessSignature sr=${resourceUri}&sig=${base64UriEncoded}&se=${expiresInSeconds}&skn=${policyName}`; +} + +/** + * Converts an IotHub Connection string into an Event Hubs-compatible connection string. + * @param connectionString - An IotHub connection string in the format: + * `"HostName=.azure-devices.net;SharedAccessKeyName=;SharedAccessKey="` + * @returns An Event Hubs-compatible connection string in the format: + * `"Endpoint=sb://;EntityPath=;SharedAccessKeyName=;SharedAccessKey="` + */ +async function convertIotHubToEventHubsConnectionString(connectionString) { + const { HostName, SharedAccessKeyName, SharedAccessKey } = parseConnectionString( + connectionString + ); + + // Verify that the required info is in the connection string. + if (!HostName || !SharedAccessKey || !SharedAccessKeyName) { + throw new Error(`Invalid IotHub connection string.`); + } + + //Extract the IotHub name from the hostname. + const [iotHubName] = HostName.split("."); + + if (!iotHubName) { + throw new Error(`Unable to extract the IotHub name from the connection string.`); + } + + // Generate a token to authenticate to the service. + // The code for generateSasToken can be found at https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#security-tokens + const token = generateSasToken( + `${HostName}/messages/events`, + SharedAccessKey, + SharedAccessKeyName, + 5 // token expires in 5 minutes + ); + + const connection = new Connection({ + transport: "tls", + host: HostName, + hostname: HostName, + username: `${SharedAccessKeyName}@sas.root.${iotHubName}`, + port: 443, + reconnect: false, + password: token, + webSocketOptions: { + webSocket: WebSocket, + protocol: ["AMQPWSB10"], + url: `wss://${HostName}:${443}/$servicebus/websocket` + } + }); + await connection.open(); + + // Create the receiver that will trigger a redirect error. + const receiver = await connection.createReceiver({ + source: { address: `amqps://${HostName}/messages/events/$management` } + }); + + return new Promise((resolve, reject) => { + receiver.on(ReceiverEvents.receiverError, (context) => { + const error = context.receiver && context.receiver.error; + if (isAmqpError(error) && error.condition === "amqp:link:redirect") { + const hostname = error.info && error.info.hostname; + if (!hostname) { + reject(error); + } else { + resolve( + `Endpoint=sb://${hostname}/;EntityPath=${iotHubName};SharedAccessKeyName=${SharedAccessKeyName};SharedAccessKey=${SharedAccessKey}` + ); + } + } else { + reject(error); + } + connection.close().catch(() => { + /* ignore error */ + }); + }); + }); +} + +async function main() { + console.log(`Running iothubConnectionString sample`); + + const eventHubsConnectionString = await convertIotHubToEventHubsConnectionString( + "HostName=.azure-devices.net;SharedAccessKeyName=;SharedAccessKey=" + ); + + const consumerClient = new EventHubConsumerClient(consumerGroup, eventHubsConnectionString); + + const subscription = consumerClient.subscribe( + { + // The callback where you add your code to process incoming events + processEvents: async (events, context) => { + for (const event of events) { + console.log( + `Received event: '${event.body}' from partition: '${context.partitionId}' and consumer group: '${context.consumerGroup}'` + ); + } + }, + processError: async (err, context) => { + console.log(`Error on partition "${context.partitionId}" : ${err}`); + } + }, + { startPosition: earliestEventPosition } + ); + + // Wait for a bit before cleaning up the sample + setTimeout(async () => { + await subscription.close(); + await consumerClient.close(); + console.log(`Exiting iothubConnectionString sample`); + }, 30 * 1000); +} + +main().catch((error) => { + console.error("Error running sample:", error); +}); diff --git a/sdk/eventhub/event-hubs/samples/v5/javascript/package.json b/sdk/eventhub/event-hubs/samples/v5/javascript/package.json index dcc07913380a..e40c8ea41c41 100644 --- a/sdk/eventhub/event-hubs/samples/v5/javascript/package.json +++ b/sdk/eventhub/event-hubs/samples/v5/javascript/package.json @@ -27,8 +27,8 @@ "dependencies": { "@azure/event-hubs": "latest", "dotenv": "latest", - "rhea-promise": "^2.0.0", - "@azure/identity": "2.0.0-beta.5", + "rhea-promise": "^2.1.0", + "@azure/identity": "^1.5.1", "ws": "^7.1.1", "https-proxy-agent": "^5.0.0" } diff --git a/sdk/eventhub/event-hubs/samples/v5/typescript/README.md b/sdk/eventhub/event-hubs/samples/v5/typescript/README.md index 37d3c5a10373..e48b6cf4f5b5 100644 --- a/sdk/eventhub/event-hubs/samples/v5/typescript/README.md +++ b/sdk/eventhub/event-hubs/samples/v5/typescript/README.md @@ -12,14 +12,15 @@ urlFragment: event-hubs-typescript These sample programs show how to use the TypeScript client libraries for Azure Event Hubs in some common scenarios. -| **File Name** | **Description** | -| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -| [sendEvents.ts][sendevents] | Demonstrates how to send events to an Event Hub. | -| [receiveEvents.ts][receiveevents] | Demonstrates how to use the EventHubConsumerClient to process events from all partitions of a consumer group in an Event Hub. | -| [usingAadAuth.ts][usingaadauth] | Demonstrates how to instantiate EventHubsClient using AAD token credentials obtained from using service principal secrets. | -| [iothubConnectionString.ts][iothubconnectionstring] | Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint. | -| [useWithIotHub.ts][usewithiothub] | Demonstrates how to use the EventHubConsumerClient to receive messages from an IoT Hub. | -| [websockets.ts][websockets] | Demonstrates how to connect to Azure Event Hubs over websockets to work over an HTTP proxy. | +| **File Name** | **Description** | +| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [sendEvents.ts][sendevents] | Demonstrates how to send events to an Event Hub. | +| [receiveEvents.ts][receiveevents] | Demonstrates how to use the EventHubConsumerClient to process events from all partitions of a consumer group in an Event Hub. | +| [usingAadAuth.ts][usingaadauth] | Demonstrates how to instantiate EventHubsClient using AAD token credentials obtained from using service principal secrets. | +| [iothubConnectionString.ts][iothubconnectionstring] | Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint. | +| [iothubConnectionStringWebsockets.ts][iothubconnectionstringwebsockets] | Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint using WbeSockets. | +| [useWithIotHub.ts][usewithiothub] | Demonstrates how to use the EventHubConsumerClient to receive messages from an IoT Hub. | +| [websockets.ts][websockets] | Demonstrates how to connect to Azure Event Hubs over websockets to work over an HTTP proxy. | ## Prerequisites @@ -77,6 +78,7 @@ Take a look at our [API Documentation][apiref] for more information about the AP [receiveevents]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/typescript/src/receiveEvents.ts [usingaadauth]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/typescript/src/usingAadAuth.ts [iothubconnectionstring]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionString.ts +[iothubconnectionstringwebsockets]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionStringWebsockets.ts [usewithiothub]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/typescript/src/useWithIotHub.ts [websockets]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/samples/v5/typescript/src/websockets.ts [apiref]: https://docs.microsoft.com/javascript/api/@azure/event-hubs diff --git a/sdk/eventhub/event-hubs/samples/v5/typescript/package.json b/sdk/eventhub/event-hubs/samples/v5/typescript/package.json index a8dd00775b43..62214facc802 100644 --- a/sdk/eventhub/event-hubs/samples/v5/typescript/package.json +++ b/sdk/eventhub/event-hubs/samples/v5/typescript/package.json @@ -31,12 +31,13 @@ "dependencies": { "@azure/event-hubs": "latest", "dotenv": "latest", - "rhea-promise": "^2.0.0", - "@azure/identity": "2.0.0-beta.5", + "rhea-promise": "^2.1.0", + "@azure/identity": "^1.5.1", "ws": "^7.1.1", "https-proxy-agent": "^5.0.0" }, "devDependencies": { + "@types/ws": "^7.2.4", "typescript": "~4.2.0", "rimraf": "latest" } diff --git a/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionString.ts b/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionString.ts index 65de46db56df..c444d2caecac 100644 --- a/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionString.ts +++ b/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionString.ts @@ -15,7 +15,7 @@ import * as crypto from "crypto"; import { Buffer } from "buffer"; import { AmqpError, Connection, ReceiverEvents, parseConnectionString } from "rhea-promise"; -import rheaPromise from "rhea-promise"; +import * as rheaPromise from "rhea-promise"; import { EventHubConsumerClient, earliestEventPosition } from "@azure/event-hubs"; // Load the .env file if it exists diff --git a/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionStringWebsockets.ts b/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionStringWebsockets.ts new file mode 100644 index 000000000000..2af2dd8ac011 --- /dev/null +++ b/sdk/eventhub/event-hubs/samples/v5/typescript/src/iothubConnectionStringWebsockets.ts @@ -0,0 +1,171 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT Licence. + +/** + * @summary Demonstrates how to convert an IoT Hub connection string to an Event Hubs connection string that points to the built-in messaging endpoint using WebSockets. + */ + +/* + * The Event Hubs connection string is then used with the EventHubConsumerClient to receive events. + * + * More information about the built-in messaging endpoint can be found at: + * https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin + */ + +import * as crypto from "crypto"; +import { Buffer } from "buffer"; +import { AmqpError, Connection, ReceiverEvents, parseConnectionString } from "rhea-promise"; +import rheaPromise from "rhea-promise"; +import { EventHubConsumerClient, earliestEventPosition } from "@azure/event-hubs"; +import WebSocket from "ws"; + +// Load the .env file if it exists +import * as dotenv from "dotenv"; +dotenv.config(); + +/** + * Type guard for AmqpError. + * @param err - An unknown error. + */ +function isAmqpError(err: any): err is AmqpError { + return rheaPromise.isAmqpError(err); +} + +const consumerGroup = process.env["CONSUMER_GROUP_NAME"] || ""; + +// This code is modified from https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#security-tokens. +function generateSasToken( + resourceUri: string, + signingKey: string, + policyName: string, + expiresInMins: number +): string { + resourceUri = encodeURIComponent(resourceUri); + + const expiresInSeconds = Math.ceil(Date.now() / 1000 + expiresInMins * 60); + const toSign = resourceUri + "\n" + expiresInSeconds; + + // Use the crypto module to create the hmac. + const hmac = crypto.createHmac("sha256", Buffer.from(signingKey, "base64")); + hmac.update(toSign); + const base64UriEncoded = encodeURIComponent(hmac.digest("base64")); + + // Construct authorization string. + return `SharedAccessSignature sr=${resourceUri}&sig=${base64UriEncoded}&se=${expiresInSeconds}&skn=${policyName}`; +} + +/** + * Converts an IotHub Connection string into an Event Hubs-compatible connection string. + * @param connectionString - An IotHub connection string in the format: + * `"HostName=.azure-devices.net;SharedAccessKeyName=;SharedAccessKey="` + * @returns An Event Hubs-compatible connection string in the format: + * `"Endpoint=sb://;EntityPath=;SharedAccessKeyName=;SharedAccessKey="` + */ +async function convertIotHubToEventHubsConnectionString(connectionString: string): Promise { + const { HostName, SharedAccessKeyName, SharedAccessKey } = parseConnectionString<{ + HostName: string; + SharedAccessKeyName: string; + SharedAccessKey: string; + }>(connectionString); + + // Verify that the required info is in the connection string. + if (!HostName || !SharedAccessKey || !SharedAccessKeyName) { + throw new Error(`Invalid IotHub connection string.`); + } + + //Extract the IotHub name from the hostname. + const [iotHubName] = HostName.split("."); + + if (!iotHubName) { + throw new Error(`Unable to extract the IotHub name from the connection string.`); + } + + // Generate a token to authenticate to the service. + // The code for generateSasToken can be found at https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#security-tokens + const token = generateSasToken( + `${HostName}/messages/events`, + SharedAccessKey, + SharedAccessKeyName, + 5 // token expires in 5 minutes + ); + + const connection = new Connection({ + transport: "tls", + host: HostName, + hostname: HostName, + username: `${SharedAccessKeyName}@sas.root.${iotHubName}`, + port: 443, + reconnect: false, + password: token, + webSocketOptions: { + webSocket: WebSocket, + protocol: ["AMQPWSB10"], + url: `wss://${HostName}:${443}/$servicebus/websocket` + } + }); + await connection.open(); + + // Create the receiver that will trigger a redirect error. + const receiver = await connection.createReceiver({ + source: { address: `amqps://${HostName}/messages/events/$management` } + }); + + return new Promise((resolve, reject) => { + receiver.on(ReceiverEvents.receiverError, (context) => { + const error = context.receiver && context.receiver.error; + if (isAmqpError(error) && error.condition === "amqp:link:redirect") { + const hostname = error.info && error.info.hostname; + if (!hostname) { + reject(error); + } else { + resolve( + `Endpoint=sb://${hostname}/;EntityPath=${iotHubName};SharedAccessKeyName=${SharedAccessKeyName};SharedAccessKey=${SharedAccessKey}` + ); + } + } else { + reject(error); + } + connection.close().catch(() => { + /* ignore error */ + }); + }); + }); +} + +export async function main() { + console.log(`Running iothubConnectionString sample`); + + const eventHubsConnectionString = await convertIotHubToEventHubsConnectionString( + "HostName=.azure-devices.net;SharedAccessKeyName=;SharedAccessKey=" + ); + + const consumerClient = new EventHubConsumerClient(consumerGroup, eventHubsConnectionString); + + const subscription = consumerClient.subscribe( + { + // The callback where you add your code to process incoming events + processEvents: async (events, context) => { + for (const event of events) { + console.log( + `Received event: '${event.body}' from partition: '${context.partitionId}' and consumer group: '${context.consumerGroup}'` + ); + } + }, + processError: async (err, context) => { + console.log(`Error on partition "${context.partitionId}" : ${err}`); + } + }, + { startPosition: earliestEventPosition } + ); + + // Wait for a bit before cleaning up the sample + setTimeout(async () => { + await subscription.close(); + await consumerClient.close(); + console.log(`Exiting iothubConnectionString sample`); + }, 30 * 1000); +} + +main().catch((error) => { + console.error("Error running sample:", error); +}); diff --git a/sdk/eventhub/event-hubs/scripts/generateCerts.js b/sdk/eventhub/event-hubs/scripts/generateCerts.js new file mode 100644 index 000000000000..53ecb7917b18 --- /dev/null +++ b/sdk/eventhub/event-hubs/scripts/generateCerts.js @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +const { execFileSync } = require("child_process"); +const { mkdirSync } = require("fs"); +const { resolve: resolvePath } = require("path"); + +const cwd = process.cwd(); +const certsDirectory = resolvePath(cwd, "certs"); + +// Create `certs` directory. +console.log(`Creating ${certsDirectory}`); +try { + mkdirSync(certsDirectory); +} catch (err) { + if (err.code !== "EEXIST") { + throw err; + } +} + +// Create own Root Certificate Authority +execFileSync("openssl", [ + "genrsa", + "-out", + `${resolvePath(certsDirectory, "my-private-root-ca.key.pem")}`, + "2048" +]); + +// Self-sign Root Certificate Authority +execFileSync("openssl", [ + "req", + "-x509", + "-new", + "-nodes", + "-key", + `${resolvePath(certsDirectory, "my-private-root-ca.key.pem")}`, + "-days", + "5", + "-out", + `${resolvePath(certsDirectory, "my-private-root-ca.crt.pem")}`, + "-subj", + "/C=US/ST=Washington/L=Seattle/O=Fake Signing Authority/CN=fake.foo" +]); + +// Create a certificate for localhost +execFileSync("openssl", [ + "genrsa", + "-out", + `${resolvePath(certsDirectory, "my-server.key.pem")}`, + "2048" +]); + +// Create a request which the Root Certificate Authority will sign +execFileSync("openssl", [ + "req", + "-new", + "-key", + `${resolvePath(certsDirectory, "my-server.key.pem")}`, + "-out", + `${resolvePath(certsDirectory, "my-server.csr.pem")}`, + "-subj", + "/C=US/ST=Washington/L=Seattle/O=Fake Hubs/CN=localhost" +]); + +// Sign the request with the Root Certificate Authority +execFileSync("openssl", [ + "x509", + "-req", + "-in", + `${resolvePath(certsDirectory, "my-server.csr.pem")}`, + "-CA", + `${resolvePath(certsDirectory, "my-private-root-ca.crt.pem")}`, + "-CAkey", + `${resolvePath(certsDirectory, "my-private-root-ca.key.pem")}`, + "-CAcreateserial", + "-out", + `${resolvePath(certsDirectory, "my-server.crt.pem")}`, + "-days", + "5" +]); + +console.log(`Certs created.`); diff --git a/sdk/eventhub/event-hubs/src/diagnostics/instrumentEventData.ts b/sdk/eventhub/event-hubs/src/diagnostics/instrumentEventData.ts index 5e9b69ae6c90..dd3facc8e052 100644 --- a/sdk/eventhub/event-hubs/src/diagnostics/instrumentEventData.ts +++ b/sdk/eventhub/event-hubs/src/diagnostics/instrumentEventData.ts @@ -6,9 +6,11 @@ import { getTraceParentHeader, isSpanContextValid } from "@azure/core-tracing"; -import { Span, SpanContext } from "@azure/core-tracing"; +import { SpanContext } from "@azure/core-tracing"; import { AmqpAnnotatedMessage } from "@azure/core-amqp"; import { EventData, isAmqpAnnotatedMessage } from "../eventData"; +import { OperationOptions } from "../util/operationOptions"; +import { createMessageSpan } from "./tracing"; /** * @hidden @@ -24,31 +26,50 @@ export const TRACEPARENT_PROPERTY = "Diagnostic-Id"; */ export function instrumentEventData( eventData: EventData | AmqpAnnotatedMessage, - span: Span -): EventData { + options: OperationOptions, + entityPath: string, + host: string +): { event: EventData; spanContext: SpanContext | undefined } { const props = isAmqpAnnotatedMessage(eventData) ? eventData.applicationProperties : eventData.properties; - if (props && props[TRACEPARENT_PROPERTY]) { - return eventData; + // check if the event has already been instrumented + const previouslyInstrumented = Boolean(props?.[TRACEPARENT_PROPERTY]); + + if (previouslyInstrumented) { + return { event: eventData, spanContext: undefined }; } - const copiedProps = { ...props }; + const { span: messageSpan } = createMessageSpan(options, { entityPath, host }); + try { + if (!messageSpan.isRecording()) { + return { + event: eventData, + spanContext: undefined + }; + } - // create a copy so the original isn't modified - if (isAmqpAnnotatedMessage(eventData)) { - eventData = { ...eventData, applicationProperties: copiedProps }; - } else { - eventData = { ...eventData, properties: copiedProps }; - } + const traceParent = getTraceParentHeader(messageSpan.spanContext()); + if (traceParent && isSpanContextValid(messageSpan.spanContext())) { + const copiedProps = { ...props }; - const traceParent = getTraceParentHeader(span.spanContext()); - if (traceParent && isSpanContextValid(span.spanContext())) { - copiedProps[TRACEPARENT_PROPERTY] = traceParent; - } + // create a copy so the original isn't modified + if (isAmqpAnnotatedMessage(eventData)) { + eventData = { ...eventData, applicationProperties: copiedProps }; + } else { + eventData = { ...eventData, properties: copiedProps }; + } + copiedProps[TRACEPARENT_PROPERTY] = traceParent; + } - return eventData; + return { + event: eventData, + spanContext: messageSpan.spanContext() + }; + } finally { + messageSpan.end(); + } } /** diff --git a/sdk/eventhub/event-hubs/src/diagnostics/tracing.ts b/sdk/eventhub/event-hubs/src/diagnostics/tracing.ts index f81680a136f5..fce82fff3d49 100644 --- a/sdk/eventhub/event-hubs/src/diagnostics/tracing.ts +++ b/sdk/eventhub/event-hubs/src/diagnostics/tracing.ts @@ -35,7 +35,8 @@ export function createEventHubSpan( tracingOptions: { ...operationOptions?.tracingOptions, spanOptions: { - ...operationOptions?.tracingOptions?.spanOptions, + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + ...(operationOptions?.tracingOptions as any)?.spanOptions, ...additionalSpanOptions } } diff --git a/sdk/eventhub/event-hubs/src/eventDataBatch.ts b/sdk/eventhub/event-hubs/src/eventDataBatch.ts index dcd16a6c97b1..ba2f55af15e6 100644 --- a/sdk/eventhub/event-hubs/src/eventDataBatch.ts +++ b/sdk/eventhub/event-hubs/src/eventDataBatch.ts @@ -1,14 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { EventData, isAmqpAnnotatedMessage, toRheaMessage } from "./eventData"; +import { EventData, toRheaMessage } from "./eventData"; import { ConnectionContext } from "./connectionContext"; import { MessageAnnotations, message, Message as RheaMessage } from "rhea-promise"; import { throwTypeErrorIfParameterMissing } from "./util/error"; import { AmqpAnnotatedMessage } from "@azure/core-amqp"; import { Span, SpanContext } from "@azure/core-tracing"; -import { TRACEPARENT_PROPERTY, instrumentEventData } from "./diagnostics/instrumentEventData"; -import { convertTryAddOptionsForCompatibility, createMessageSpan } from "./diagnostics/tracing"; +import { instrumentEventData } from "./diagnostics/instrumentEventData"; +import { convertTryAddOptionsForCompatibility } from "./diagnostics/tracing"; import { isDefined, isObjectWithProperties } from "./util/typeGuards"; import { OperationTracingOptions } from "@azure/core-tracing"; @@ -288,22 +288,16 @@ export class EventDataBatchImpl implements EventDataBatch { throwTypeErrorIfParameterMissing(this._context.connectionId, "tryAdd", "eventData", eventData); options = convertTryAddOptionsForCompatibility(options); - // check if the event has already been instrumented - const previouslyInstrumented = Boolean( - (isAmqpAnnotatedMessage(eventData) - ? eventData.applicationProperties - : eventData.properties)?.[TRACEPARENT_PROPERTY] // Event Data maps properties to applicationProperties. + const { entityPath, host } = this._context.config; + const { event: instrumentedEvent, spanContext } = instrumentEventData( + eventData, + options, + entityPath, + host ); - let spanContext: SpanContext | undefined; - if (!previouslyInstrumented) { - const { span: messageSpan } = createMessageSpan(options, this._context.config); - eventData = instrumentEventData(eventData, messageSpan); - spanContext = messageSpan.spanContext(); - messageSpan.end(); - } // Convert EventData to RheaMessage. - const amqpMessage = toRheaMessage(eventData, this._partitionKey); + const amqpMessage = toRheaMessage(instrumentedEvent, this._partitionKey); const encodedMessage = message.encode(amqpMessage); let currentSize = this._sizeInBytes; diff --git a/sdk/eventhub/event-hubs/src/eventHubProducerClient.ts b/sdk/eventhub/event-hubs/src/eventHubProducerClient.ts index 72bd6d1c9c72..6984ed4d4708 100644 --- a/sdk/eventhub/event-hubs/src/eventHubProducerClient.ts +++ b/sdk/eventhub/event-hubs/src/eventHubProducerClient.ts @@ -5,8 +5,7 @@ import { AmqpAnnotatedMessage } from "@azure/core-amqp"; import { NamedKeyCredential, SASCredential, TokenCredential } from "@azure/core-auth"; import { SpanStatusCode, Link, Span, SpanContext, SpanKind } from "@azure/core-tracing"; import { ConnectionContext, createConnectionContext } from "./connectionContext"; -import { instrumentEventData, TRACEPARENT_PROPERTY } from "./diagnostics/instrumentEventData"; -import { createMessageSpan } from "./diagnostics/tracing"; +import { instrumentEventData } from "./diagnostics/instrumentEventData"; import { EventData } from "./eventData"; import { EventDataBatch, EventDataBatchImpl, isEventDataBatch } from "./eventDataBatch"; import { EventHubSender } from "./eventHubSender"; @@ -315,15 +314,12 @@ export class EventHubProducerClient { partitionKey = expectedOptions.partitionKey; for (let i = 0; i < batch.length; i++) { - const event = batch[i]; - if (!event.properties || !event.properties[TRACEPARENT_PROPERTY]) { - const { span: messageSpan } = createMessageSpan(options, this._context.config); - // since these message spans are created from same context as the send span, - // these message spans don't need to be linked. - // replace the original event with the instrumented one - batch[i] = instrumentEventData(batch[i], messageSpan); - messageSpan.end(); - } + batch[i] = instrumentEventData( + batch[i], + options, + this._context.config.entityPath, + this._context.config.host + ).event; } } if (isDefined(partitionId) && isDefined(partitionKey)) { diff --git a/sdk/eventhub/event-hubs/test/internal/amqp.spec.ts b/sdk/eventhub/event-hubs/test/internal/amqp.spec.ts index 24e9c33c4512..5a520a6ed02f 100644 --- a/sdk/eventhub/event-hubs/test/internal/amqp.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/amqp.spec.ts @@ -4,58 +4,61 @@ import chai from "chai"; import { Constants } from "@azure/core-amqp"; import { fromRheaMessage, isAmqpAnnotatedMessage } from "../../src/eventData"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; const assert = chai.assert; -describe("AMQP message encoding", () => { - it("isAmqpAnnotatedMessage", () => { - assert.isFalse(isAmqpAnnotatedMessage({})); - assert.isFalse(isAmqpAnnotatedMessage({ body: "hello world" })); - assert.isFalse( - isAmqpAnnotatedMessage( - fromRheaMessage({ - message_annotations: { - [Constants.enqueuedTime]: Date.now() - }, - body: undefined - }) - ) - ); +testWithServiceTypes(() => { + describe("AMQP message encoding", () => { + it("isAmqpAnnotatedMessage", () => { + assert.isFalse(isAmqpAnnotatedMessage({})); + assert.isFalse(isAmqpAnnotatedMessage({ body: "hello world" })); + assert.isFalse( + isAmqpAnnotatedMessage( + fromRheaMessage({ + message_annotations: { + [Constants.enqueuedTime]: Date.now() + }, + body: undefined + }) + ) + ); - assert.isTrue( - isAmqpAnnotatedMessage( - fromRheaMessage({ - message_annotations: { - [Constants.enqueuedTime]: Date.now() - }, - body: undefined - }).getRawAmqpMessage() - ) - ); + assert.isTrue( + isAmqpAnnotatedMessage( + fromRheaMessage({ + message_annotations: { + [Constants.enqueuedTime]: Date.now() + }, + body: undefined + }).getRawAmqpMessage() + ) + ); - assert.isTrue( - isAmqpAnnotatedMessage({ - body: "hello world", - bodyType: "sequence" - }) - ); - assert.isTrue( - isAmqpAnnotatedMessage({ - body: "hello world", - bodyType: "value" - }) - ); - assert.isTrue( - isAmqpAnnotatedMessage({ - body: "hello world", - bodyType: "data" - }) - ); + assert.isTrue( + isAmqpAnnotatedMessage({ + body: "hello world", + bodyType: "sequence" + }) + ); + assert.isTrue( + isAmqpAnnotatedMessage({ + body: "hello world", + bodyType: "value" + }) + ); + assert.isTrue( + isAmqpAnnotatedMessage({ + body: "hello world", + bodyType: "data" + }) + ); - assert.isTrue( - isAmqpAnnotatedMessage({ - body: "hello world", - bodyType: undefined // the property _must_ exist, but undefined is fine. We'll default to 'data' - }) - ); + assert.isTrue( + isAmqpAnnotatedMessage({ + body: "hello world", + bodyType: undefined // the property _must_ exist, but undefined is fine. We'll default to 'data' + }) + ); + }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/auth.spec.ts b/sdk/eventhub/event-hubs/test/internal/auth.spec.ts index a72125e1133b..115bee565f05 100644 --- a/sdk/eventhub/event-hubs/test/internal/auth.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/auth.spec.ts @@ -11,172 +11,188 @@ import { EnvVarKeys, getEnvVars } from "../public/utils/testUtils"; import chai from "chai"; import { AzureNamedKeyCredential, AzureSASCredential } from "@azure/core-auth"; import { createSasTokenProvider } from "@azure/core-amqp"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; +import { createMockServer } from "../public/utils/mockService"; const should = chai.should(); -const env = getEnvVars(); - -describe("Authentication via", () => { - const { - endpoint, - fullyQualifiedNamespace, - sharedAccessKey, - sharedAccessKeyName - } = parseEventHubConnectionString(env[EnvVarKeys.EVENTHUB_CONNECTION_STRING]); - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME], - endpoint: endpoint.replace(/\/+$/, "") - }; - - before(() => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - describe("Keys", () => { - describe("using connection string", () => { - it("EventHubConsumerClient", async () => { - const consumerClient = new EventHubConsumerClient( - "$Default", - service.connectionString, - service.path - ); - - const properties = await consumerClient.getEventHubProperties(); - should.exist(properties); - - await consumerClient.close(); - }); - it("EventHubProducerClient", async () => { - const producerClient = new EventHubProducerClient(service.connectionString, service.path); - - const properties = await producerClient.getEventHubProperties(); - should.exist(properties); - - await producerClient.close(); - }); +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); }); - describe("using NamedKeyCredential", () => { - it("EventHubConsumerClient", async () => { - const namedKeyCredential = new AzureNamedKeyCredential( - sharedAccessKeyName!, - sharedAccessKey! - ); + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("Authentication via", () => { + const { + endpoint, + fullyQualifiedNamespace, + sharedAccessKey, + sharedAccessKeyName + } = parseEventHubConnectionString(env[EnvVarKeys.EVENTHUB_CONNECTION_STRING]); + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME], + endpoint: endpoint.replace(/\/+$/, "") + }; + + before(() => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - const consumerClient = new EventHubConsumerClient( - "$Default", - fullyQualifiedNamespace, - service.path, - namedKeyCredential - ); + describe("Keys", () => { + describe("using connection string", () => { + it("EventHubConsumerClient", async () => { + const consumerClient = new EventHubConsumerClient( + "$Default", + service.connectionString, + service.path + ); - const properties = await consumerClient.getEventHubProperties(); - should.exist(properties); + const properties = await consumerClient.getEventHubProperties(); + should.exist(properties); - await consumerClient.close(); - }); + await consumerClient.close(); + }); - it("EventHubProducerClient", async () => { - const namedKeyCredential = new AzureNamedKeyCredential( - sharedAccessKeyName!, - sharedAccessKey! - ); + it("EventHubProducerClient", async () => { + const producerClient = new EventHubProducerClient(service.connectionString, service.path); - const producerClient = new EventHubProducerClient( - fullyQualifiedNamespace, - service.path, - namedKeyCredential - ); + const properties = await producerClient.getEventHubProperties(); + should.exist(properties); - const properties = await producerClient.getEventHubProperties(); - should.exist(properties); + await producerClient.close(); + }); + }); - await producerClient.close(); + describe("using NamedKeyCredential", () => { + it("EventHubConsumerClient", async () => { + const namedKeyCredential = new AzureNamedKeyCredential( + sharedAccessKeyName!, + sharedAccessKey! + ); + + const consumerClient = new EventHubConsumerClient( + "$Default", + fullyQualifiedNamespace, + service.path, + namedKeyCredential + ); + + const properties = await consumerClient.getEventHubProperties(); + should.exist(properties); + + await consumerClient.close(); + }); + + it("EventHubProducerClient", async () => { + const namedKeyCredential = new AzureNamedKeyCredential( + sharedAccessKeyName!, + sharedAccessKey! + ); + + const producerClient = new EventHubProducerClient( + fullyQualifiedNamespace, + service.path, + namedKeyCredential + ); + + const properties = await producerClient.getEventHubProperties(); + should.exist(properties); + + await producerClient.close(); + }); }); }); - }); - describe("SAS", () => { - function getSas(): string { - const parsed = parseEventHubConnectionString(service.connectionString) as Required< - | Pick - | Pick - >; - return createSasTokenProvider(parsed).getToken(`${service.endpoint}/${service.path}`).token; - } + describe("SAS", () => { + function getSas(): string { + const parsed = parseEventHubConnectionString(service.connectionString) as Required< + | Pick + | Pick + >; + return createSasTokenProvider(parsed).getToken(`${service.endpoint}/${service.path}`).token; + } - describe("using connection string", () => { - function getSasConnectionString(): string { - const sas = getSas(); + describe("using connection string", () => { + function getSasConnectionString(): string { + const sas = getSas(); - return `Endpoint=${service.endpoint}/;SharedAccessSignature=${sas}`; - } + return `Endpoint=${service.endpoint}/;SharedAccessSignature=${sas}`; + } - it("EventHubConsumerClient", async () => { - const sasConnectionString = getSasConnectionString(); + it("EventHubConsumerClient", async () => { + const sasConnectionString = getSasConnectionString(); - const consumerClient = new EventHubConsumerClient( - "$Default", - sasConnectionString, - service.path - ); + const consumerClient = new EventHubConsumerClient( + "$Default", + sasConnectionString, + service.path + ); - const properties = await consumerClient.getEventHubProperties(); - should.exist(properties); + const properties = await consumerClient.getEventHubProperties(); + should.exist(properties); - await consumerClient.close(); - }); + await consumerClient.close(); + }); - it("EventHubProducerClient", async () => { - const sasConnectionString = getSasConnectionString(); + it("EventHubProducerClient", async () => { + const sasConnectionString = getSasConnectionString(); - const producerClient = new EventHubProducerClient(sasConnectionString, service.path); + const producerClient = new EventHubProducerClient(sasConnectionString, service.path); - const properties = await producerClient.getEventHubProperties(); - should.exist(properties); + const properties = await producerClient.getEventHubProperties(); + should.exist(properties); - await producerClient.close(); + await producerClient.close(); + }); }); - }); - describe("using SASCredential", () => { - it("EventHubConsumerClient", async () => { - const sasCredential = new AzureSASCredential(getSas()); + describe("using SASCredential", () => { + it("EventHubConsumerClient", async () => { + const sasCredential = new AzureSASCredential(getSas()); - const consumerClient = new EventHubConsumerClient( - "$Default", - fullyQualifiedNamespace, - service.path, - sasCredential - ); + const consumerClient = new EventHubConsumerClient( + "$Default", + fullyQualifiedNamespace, + service.path, + sasCredential + ); - const properties = await consumerClient.getEventHubProperties(); - should.exist(properties); + const properties = await consumerClient.getEventHubProperties(); + should.exist(properties); - await consumerClient.close(); - }); + await consumerClient.close(); + }); - it("EventHubProducerClient", async () => { - const sasCredential = new AzureSASCredential(getSas()); + it("EventHubProducerClient", async () => { + const sasCredential = new AzureSASCredential(getSas()); - const producerClient = new EventHubProducerClient( - fullyQualifiedNamespace, - service.path, - sasCredential - ); + const producerClient = new EventHubProducerClient( + fullyQualifiedNamespace, + service.path, + sasCredential + ); - const properties = await producerClient.getEventHubProperties(); - should.exist(properties); + const properties = await producerClient.getEventHubProperties(); + should.exist(properties); - await producerClient.close(); + await producerClient.close(); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/cancellation.spec.ts b/sdk/eventhub/event-hubs/test/internal/cancellation.spec.ts index a7919991b9ab..c4a9c87f7145 100644 --- a/sdk/eventhub/event-hubs/test/internal/cancellation.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/cancellation.spec.ts @@ -8,157 +8,173 @@ import chaiAsPromised from "chai-as-promised"; import { createConnectionContext } from "../../src/connectionContext"; import { EventHubReceiver } from "../../src/eventHubReceiver"; import { EventHubSender } from "../../src/eventHubSender"; +import { createMockServer } from "../public/utils/mockService"; chai.use(chaiAsPromised); import { EnvVarKeys, getEnvVars } from "../public/utils/testUtils"; -const env = getEnvVars(); - -describe("Cancellation via AbortSignal", () => { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - before("validate environment", () => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - let context: ReturnType; - beforeEach("create connection context", function() { - context = createConnectionContext(service.connectionString, service.path); - }); - - afterEach("close connection context", function() { - return context.close(); - }); - - const TEST_FAILURE = "Test failure"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - const cancellationCases = [ - { - type: "pre-aborted", - getSignal() { - const controller = new AbortController(); - controller.abort(); - return controller.signal; - } - }, - { - type: "aborted after timeout", - getSignal() { - const controller = new AbortController(); - setTimeout(() => { - controller.abort(); - }, 0); - return controller.signal; - } - } - ]; - - describe("EventHubReceiver", () => { - let client: EventHubReceiver; - beforeEach("instantiate EventHubReceiver", () => { - client = new EventHubReceiver( - context, - "$default", // consumer group - "0", // partition id - { - enqueuedOn: Date.now() - } + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("Cancellation via AbortSignal", () => { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + before("validate environment", () => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." ); }); - afterEach("close EventHubReceiver", () => { - return client.close(); + let context: ReturnType; + beforeEach("create connection context", function() { + context = createConnectionContext(service.connectionString, service.path); }); - for (const { type: caseType, getSignal } of cancellationCases) { - it(`initialize supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await client.initialize({ abortSignal, timeoutInMs: 60000 }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } - }); + afterEach("close connection context", function() { + return context.close(); + }); - it(`receiveBatch supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await client.receiveBatch(10, undefined, abortSignal); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } - }); + const TEST_FAILURE = "Test failure"; - it(`receiveBatch supports cancellation when connection already exists (${caseType})`, async () => { - // Open the connection. - await client.initialize({ abortSignal: undefined, timeoutInMs: 60000 }); - try { - const abortSignal = getSignal(); - await client.receiveBatch(10, undefined, abortSignal); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); + const cancellationCases = [ + { + type: "pre-aborted", + getSignal() { + const controller = new AbortController(); + controller.abort(); + return controller.signal; + } + }, + { + type: "aborted after timeout", + getSignal() { + const controller = new AbortController(); + setTimeout(() => { + controller.abort(); + }, 0); + return controller.signal; } + } + ]; + + describe("EventHubReceiver", () => { + let client: EventHubReceiver; + beforeEach("instantiate EventHubReceiver", () => { + client = new EventHubReceiver( + context, + "$default", // consumer group + "0", // partition id + { + enqueuedOn: Date.now() + } + ); }); - } - }); - describe("EventHubSender", () => { - let client: EventHubSender; - beforeEach("instantiate EventHubSender", () => { - client = new EventHubSender(context); - }); + afterEach("close EventHubReceiver", () => { + return client.close(); + }); - afterEach("close EventHubSender", () => { - return client.close(); + for (const { type: caseType, getSignal } of cancellationCases) { + it(`initialize supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await client.initialize({ abortSignal, timeoutInMs: 60000 }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`receiveBatch supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await client.receiveBatch(10, undefined, abortSignal); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`receiveBatch supports cancellation when connection already exists (${caseType})`, async () => { + // Open the connection. + await client.initialize({ abortSignal: undefined, timeoutInMs: 60000 }); + try { + const abortSignal = getSignal(); + await client.receiveBatch(10, undefined, abortSignal); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + } }); - for (const { type: caseType, getSignal } of cancellationCases) { - it(`_getLink supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await client["_getLink"]({ abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } + describe("EventHubSender", () => { + let client: EventHubSender; + beforeEach("instantiate EventHubSender", () => { + client = new EventHubSender(context); }); - it(`getMaxMessageSize supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await client.getMaxMessageSize({ abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } + afterEach("close EventHubSender", () => { + return client.close(); }); - it(`send supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await client.send([{ body: "unsung hero" }], { abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } - }); - } + for (const { type: caseType, getSignal } of cancellationCases) { + it(`_getLink supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await client["_getLink"]({ abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`getMaxMessageSize supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await client.getMaxMessageSize({ abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`send supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await client.send([{ body: "unsung hero" }], { abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + } + }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/client.spec.ts b/sdk/eventhub/event-hubs/test/internal/client.spec.ts index 760de8f22974..e8383b49e41a 100644 --- a/sdk/eventhub/event-hubs/test/internal/client.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/client.spec.ts @@ -20,7 +20,8 @@ import { EnvVarKeys, getEnvVars, isNode } from "../public/utils/testUtils"; import { MessagingError } from "@azure/core-amqp"; import { ConnectionContext } from "../../src/connectionContext"; import { getRuntimeInfo } from "../../src/util/runtimeInfo"; -const env = getEnvVars(); +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; +import { createMockServer } from "../public/utils/mockService"; const testFailureMessage = "Test failure"; function validateConnectionError(err: E): void { @@ -31,751 +32,774 @@ function validateConnectionError(err: E): v should.not.equal(err.message, testFailureMessage); } -describe("Create EventHubConsumerClient", function(): void { - it("throws when no EntityPath in connection string", function(): void { - const connectionString = "Endpoint=sb://abc"; - const test = function(): EventHubConsumerClient { - return new EventHubConsumerClient("dummy", connectionString); - }; - test.should.throw( - Error, - `Either provide "eventHubName" or the "connectionString": "${connectionString}", ` + - `must contain "EntityPath=".` - ); - }); +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - it("throws when EntityPath in connection string doesn't match with event hub name parameter", function(): void { - const connectionString = - "Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c=;EntityPath=my-event-hub-name"; - const eventHubName = "event-hub-name"; - const test = function(): EventHubConsumerClient { - return new EventHubConsumerClient("dummy", connectionString, eventHubName); - }; - test.should.throw( - Error, - `The entity path "my-event-hub-name" in connectionString: "${connectionString}" ` + - `doesn't match with eventHubName: "${eventHubName}".` - ); - }); + after("Stopping mock service", () => { + return service?.stop(); + }); + } - it("sets eventHubName, fullyQualifiedNamespace properties when created from a connection string", function(): void { - const client = new EventHubConsumerClient( - "dummy", - "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=my-event-hub-name" - ); - client.should.be.an.instanceof(EventHubConsumerClient); - should.equal(client.eventHubName, "my-event-hub-name"); - should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); - }); + describe("Create EventHubConsumerClient", function(): void { + it("throws when no EntityPath in connection string", function(): void { + const connectionString = "Endpoint=sb://abc"; + const test = function(): EventHubConsumerClient { + return new EventHubConsumerClient("dummy", connectionString); + }; + test.should.throw( + Error, + `Either provide "eventHubName" or the "connectionString": "${connectionString}", ` + + `must contain "EntityPath=".` + ); + }); - it("sets eventHubName, fullyQualifiedNamespace properties when created from a connection string and event hub name", function(): void { - const client = new EventHubConsumerClient( - "dummy", - "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c", - "my-event-hub-name" - ); - client.should.be.an.instanceof(EventHubConsumerClient); - should.equal(client.eventHubName, "my-event-hub-name"); - should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); - }); + it("throws when EntityPath in connection string doesn't match with event hub name parameter", function(): void { + const connectionString = + "Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c=;EntityPath=my-event-hub-name"; + const eventHubName = "event-hub-name"; + const test = function(): EventHubConsumerClient { + return new EventHubConsumerClient("dummy", connectionString, eventHubName); + }; + test.should.throw( + Error, + `The entity path "my-event-hub-name" in connectionString: "${connectionString}" ` + + `doesn't match with eventHubName: "${eventHubName}".` + ); + }); - it("sets eventHubName, fullyQualifiedNamespace properties when created from a token credential", function(): void { - const dummyCredential: TokenCredential = { - getToken: async () => { - return { - token: "boo", - expiresOnTimestamp: 12324 - }; - } - }; - const client = new EventHubConsumerClient( - "dummy", - "test.servicebus.windows.net", - "my-event-hub-name", - dummyCredential - ); - client.should.be.an.instanceof(EventHubConsumerClient); - should.equal(client.eventHubName, "my-event-hub-name"); - should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); - }); + it("sets eventHubName, fullyQualifiedNamespace properties when created from a connection string", function(): void { + const client = new EventHubConsumerClient( + "dummy", + "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=my-event-hub-name" + ); + client.should.be.an.instanceof(EventHubConsumerClient); + should.equal(client.eventHubName, "my-event-hub-name"); + should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); + }); - it("respects customEndpointAddress when using connection string", () => { - const client = new EventHubConsumerClient( - "dummy", - "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=my-event-hub-name", - { customEndpointAddress: "sb://foo.private.bar:111" } - ); - client.should.be.an.instanceof(EventHubConsumerClient); - client["_context"].config.host.should.equal("foo.private.bar"); - client["_context"].config.amqpHostname!.should.equal("test.servicebus.windows.net"); - client["_context"].config.port!.should.equal(111); - }); + it("sets eventHubName, fullyQualifiedNamespace properties when created from a connection string and event hub name", function(): void { + const client = new EventHubConsumerClient( + "dummy", + "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c", + "my-event-hub-name" + ); + client.should.be.an.instanceof(EventHubConsumerClient); + should.equal(client.eventHubName, "my-event-hub-name"); + should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); + }); - it("respects customEndpointAddress when using credentials", () => { - const dummyCredential: TokenCredential = { - getToken: async () => { - return { - token: "boo", - expiresOnTimestamp: 12324 - }; - } - }; - const client = new EventHubConsumerClient( - "dummy", - "test.servicebus.windows.net", - "my-event-hub-name", - dummyCredential, - { customEndpointAddress: "sb://foo.private.bar:111" } - ); - client.should.be.an.instanceof(EventHubConsumerClient); - client["_context"].config.host.should.equal("foo.private.bar"); - client["_context"].config.amqpHostname!.should.equal("test.servicebus.windows.net"); - client["_context"].config.port!.should.equal(111); - }); -}); + it("sets eventHubName, fullyQualifiedNamespace properties when created from a token credential", function(): void { + const dummyCredential: TokenCredential = { + getToken: async () => { + return { + token: "boo", + expiresOnTimestamp: 12324 + }; + } + }; + const client = new EventHubConsumerClient( + "dummy", + "test.servicebus.windows.net", + "my-event-hub-name", + dummyCredential + ); + client.should.be.an.instanceof(EventHubConsumerClient); + should.equal(client.eventHubName, "my-event-hub-name"); + should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); + }); -describe("Create EventHubProducerClient", function(): void { - it("throws when no EntityPath in connection string ", function(): void { - const connectionString = "Endpoint=sb://abc"; - const test = function(): EventHubProducerClient { - return new EventHubProducerClient(connectionString); - }; - test.should.throw( - Error, - `Either provide "eventHubName" or the "connectionString": "${connectionString}", ` + - `must contain "EntityPath=".` - ); - }); + it("respects customEndpointAddress when using connection string", () => { + const client = new EventHubConsumerClient( + "dummy", + "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=my-event-hub-name", + { customEndpointAddress: "sb://foo.private.bar:111" } + ); + client.should.be.an.instanceof(EventHubConsumerClient); + client["_context"].config.host.should.equal("foo.private.bar"); + client["_context"].config.amqpHostname!.should.equal("test.servicebus.windows.net"); + client["_context"].config.port!.should.equal(111); + }); - it("throws when EntityPath in connection string doesn't match with event hub name parameter", function(): void { - const connectionString = - "Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c=;EntityPath=my-event-hub-name"; - const eventHubName = "event-hub-name"; - const test = function(): EventHubProducerClient { - return new EventHubProducerClient(connectionString, eventHubName); - }; - test.should.throw( - Error, - `The entity path "my-event-hub-name" in connectionString: "${connectionString}" ` + - `doesn't match with eventHubName: "${eventHubName}".` - ); + it("respects customEndpointAddress when using credentials", () => { + const dummyCredential: TokenCredential = { + getToken: async () => { + return { + token: "boo", + expiresOnTimestamp: 12324 + }; + } + }; + const client = new EventHubConsumerClient( + "dummy", + "test.servicebus.windows.net", + "my-event-hub-name", + dummyCredential, + { customEndpointAddress: "sb://foo.private.bar:111" } + ); + client.should.be.an.instanceof(EventHubConsumerClient); + client["_context"].config.host.should.equal("foo.private.bar"); + client["_context"].config.amqpHostname!.should.equal("test.servicebus.windows.net"); + client["_context"].config.port!.should.equal(111); + }); }); - it("sets eventHubName, fullyQualifiedNamespace properties when created from a connection string", function(): void { - const client = new EventHubProducerClient( - "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=my-event-hub-name" - ); - client.should.be.an.instanceof(EventHubProducerClient); - should.equal(client.eventHubName, "my-event-hub-name"); - should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); - }); + describe("Create EventHubProducerClient", function(): void { + it("throws when no EntityPath in connection string ", function(): void { + const connectionString = "Endpoint=sb://abc"; + const test = function(): EventHubProducerClient { + return new EventHubProducerClient(connectionString); + }; + test.should.throw( + Error, + `Either provide "eventHubName" or the "connectionString": "${connectionString}", ` + + `must contain "EntityPath=".` + ); + }); - it("sets eventHubName, fullyQualifiedNamespace properties when created from a connection string and event hub name", function(): void { - const client = new EventHubProducerClient( - "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c", - "my-event-hub-name" - ); - client.should.be.an.instanceof(EventHubProducerClient); - should.equal(client.eventHubName, "my-event-hub-name"); - should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); - }); + it("throws when EntityPath in connection string doesn't match with event hub name parameter", function(): void { + const connectionString = + "Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c=;EntityPath=my-event-hub-name"; + const eventHubName = "event-hub-name"; + const test = function(): EventHubProducerClient { + return new EventHubProducerClient(connectionString, eventHubName); + }; + test.should.throw( + Error, + `The entity path "my-event-hub-name" in connectionString: "${connectionString}" ` + + `doesn't match with eventHubName: "${eventHubName}".` + ); + }); - it("sets eventHubName, fullyQualifiedNamespace properties when created from a token credential", function(): void { - const dummyCredential: TokenCredential = { - getToken: async () => { - return { - token: "boo", - expiresOnTimestamp: 12324 - }; - } - }; - const client = new EventHubProducerClient( - "test.servicebus.windows.net", - "my-event-hub-name", - dummyCredential - ); - client.should.be.an.instanceof(EventHubProducerClient); - should.equal(client.eventHubName, "my-event-hub-name"); - should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); - }); + it("sets eventHubName, fullyQualifiedNamespace properties when created from a connection string", function(): void { + const client = new EventHubProducerClient( + "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=my-event-hub-name" + ); + client.should.be.an.instanceof(EventHubProducerClient); + should.equal(client.eventHubName, "my-event-hub-name"); + should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); + }); - it("respects customEndpointAddress when using connection string", () => { - const client = new EventHubProducerClient( - "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=my-event-hub-name", - { customEndpointAddress: "sb://foo.private.bar:111" } - ); - client.should.be.an.instanceof(EventHubProducerClient); - client["_context"].config.host.should.equal("foo.private.bar"); - client["_context"].config.amqpHostname!.should.equal("test.servicebus.windows.net"); - client["_context"].config.port!.should.equal(111); - }); + it("sets eventHubName, fullyQualifiedNamespace properties when created from a connection string and event hub name", function(): void { + const client = new EventHubProducerClient( + "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c", + "my-event-hub-name" + ); + client.should.be.an.instanceof(EventHubProducerClient); + should.equal(client.eventHubName, "my-event-hub-name"); + should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); + }); - it("respects customEndpointAddress when using credentials", () => { - const dummyCredential: TokenCredential = { - getToken: async () => { - return { - token: "boo", - expiresOnTimestamp: 12324 - }; - } - }; - const client = new EventHubProducerClient( - "test.servicebus.windows.net", - "my-event-hub-name", - dummyCredential, - { customEndpointAddress: "sb://foo.private.bar:111" } - ); - client.should.be.an.instanceof(EventHubProducerClient); - client["_context"].config.host.should.equal("foo.private.bar"); - client["_context"].config.amqpHostname!.should.equal("test.servicebus.windows.net"); - client["_context"].config.port!.should.equal(111); - }); -}); + it("sets eventHubName, fullyQualifiedNamespace properties when created from a token credential", function(): void { + const dummyCredential: TokenCredential = { + getToken: async () => { + return { + token: "boo", + expiresOnTimestamp: 12324 + }; + } + }; + const client = new EventHubProducerClient( + "test.servicebus.windows.net", + "my-event-hub-name", + dummyCredential + ); + client.should.be.an.instanceof(EventHubProducerClient); + should.equal(client.eventHubName, "my-event-hub-name"); + should.equal(client.fullyQualifiedNamespace, "test.servicebus.windows.net"); + }); -describe("EventHubConsumerClient with non existent namespace", function(): void { - let client: EventHubConsumerClient; - beforeEach(() => { - client = new EventHubConsumerClient( - "$Default", - "Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=d" - ); - }); + it("respects customEndpointAddress when using connection string", () => { + const client = new EventHubProducerClient( + "Endpoint=sb://test.servicebus.windows.net;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=my-event-hub-name", + { customEndpointAddress: "sb://foo.private.bar:111" } + ); + client.should.be.an.instanceof(EventHubProducerClient); + client["_context"].config.host.should.equal("foo.private.bar"); + client["_context"].config.amqpHostname!.should.equal("test.servicebus.windows.net"); + client["_context"].config.port!.should.equal(111); + }); - afterEach(() => { - return client.close(); + it("respects customEndpointAddress when using credentials", () => { + const dummyCredential: TokenCredential = { + getToken: async () => { + return { + token: "boo", + expiresOnTimestamp: 12324 + }; + } + }; + const client = new EventHubProducerClient( + "test.servicebus.windows.net", + "my-event-hub-name", + dummyCredential, + { customEndpointAddress: "sb://foo.private.bar:111" } + ); + client.should.be.an.instanceof(EventHubProducerClient); + client["_context"].config.host.should.equal("foo.private.bar"); + client["_context"].config.amqpHostname!.should.equal("test.servicebus.windows.net"); + client["_context"].config.port!.should.equal(111); + }); }); - it("should throw ServiceCommunicationError for getEventHubProperties", async function(): Promise< - void - > { - try { - await client.getEventHubProperties(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - validateConnectionError(err); - } - }); + describe("EventHubConsumerClient with non existent namespace", function(): void { + let client: EventHubConsumerClient; + beforeEach(() => { + client = new EventHubConsumerClient( + "$Default", + "Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=d" + ); + }); - it("should throw ServiceCommunicationError for getPartitionProperties", async function(): Promise< - void - > { - try { - await client.getPartitionProperties("0"); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - validateConnectionError(err); - } - }); + afterEach(() => { + return client.close(); + }); - it("should throw ServiceCommunicationError for getPartitionIds", async function(): Promise { - try { - await client.getPartitionIds(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - validateConnectionError(err); - } - }); + it("should throw ServiceCommunicationError for getEventHubProperties", async function(): Promise< + void + > { + try { + await client.getEventHubProperties(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + validateConnectionError(err); + } + }); - it("should throw ServiceCommunicationError while subscribe()", async function(): Promise { - let subscription: Subscription | undefined; - const caughtErr = await new Promise((resolve) => { - subscription = client.subscribe({ - processEvents: async () => { - /* no-op */ - }, - processError: async (err) => { - resolve(err); - } + it("should throw ServiceCommunicationError for getPartitionProperties", async function(): Promise< + void + > { + try { + await client.getPartitionProperties("0"); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + validateConnectionError(err); + } + }); + + it("should throw ServiceCommunicationError for getPartitionIds", async function(): Promise< + void + > { + try { + await client.getPartitionIds(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + validateConnectionError(err); + } + }); + + it("should throw ServiceCommunicationError while subscribe()", async function(): Promise { + let subscription: Subscription | undefined; + const caughtErr = await new Promise((resolve) => { + subscription = client.subscribe({ + processEvents: async () => { + /* no-op */ + }, + processError: async (err) => { + resolve(err); + } + }); }); + if (subscription) { + await subscription.close(); + } + debug(caughtErr); + validateConnectionError(caughtErr); + await client.close(); }); - if (subscription) { - await subscription.close(); - } - debug(caughtErr); - validateConnectionError(caughtErr); - await client.close(); }); -}); -describe("EventHubProducerClient with non existent namespace", function(): void { - let client: EventHubProducerClient; - beforeEach(() => { - client = new EventHubProducerClient( - "Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=d" - ); - }); + describe("EventHubProducerClient with non existent namespace", function(): void { + let client: EventHubProducerClient; + beforeEach(() => { + client = new EventHubProducerClient( + "Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=d" + ); + }); - afterEach(() => { - return client.close(); - }); + afterEach(() => { + return client.close(); + }); - it("should throw ServiceCommunicationError for getEventHubProperties", async function(): Promise< - void - > { - try { - await client.getEventHubProperties(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - validateConnectionError(err); - } - }); + it("should throw ServiceCommunicationError for getEventHubProperties", async function(): Promise< + void + > { + try { + await client.getEventHubProperties(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + validateConnectionError(err); + } + }); - it("should throw ServiceCommunicationError for getPartitionProperties", async function(): Promise< - void - > { - try { - await client.getPartitionProperties("0"); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - validateConnectionError(err); - } - }); + it("should throw ServiceCommunicationError for getPartitionProperties", async function(): Promise< + void + > { + try { + await client.getPartitionProperties("0"); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + validateConnectionError(err); + } + }); - it("should throw ServiceCommunicationError for getPartitionIds", async function(): Promise { - try { - await client.getPartitionIds(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - validateConnectionError(err); - } - }); + it("should throw ServiceCommunicationError for getPartitionIds", async function(): Promise< + void + > { + try { + await client.getPartitionIds(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + validateConnectionError(err); + } + }); - it("should throw ServiceCommunicationError while sending", async function(): Promise { - try { - await client.sendBatch([{ body: "Hello World" }]); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - validateConnectionError(err); - } - }); + it("should throw ServiceCommunicationError while sending", async function(): Promise { + try { + await client.sendBatch([{ body: "Hello World" }]); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + validateConnectionError(err); + } + }); - it("should throw ServiceCommunicationError while creating a batch", async function(): Promise< - void - > { - try { - await client.createBatch(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - validateConnectionError(err); - } + it("should throw ServiceCommunicationError while creating a batch", async function(): Promise< + void + > { + try { + await client.createBatch(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + validateConnectionError(err); + } + }); }); -}); -describe("EventHubConsumerClient with non existent event hub", function(): void { - let client: EventHubConsumerClient; - const expectedErrCode = "MessagingEntityNotFoundError"; + describe("EventHubConsumerClient with non existent event hub", function(): void { + let client: EventHubConsumerClient; + const expectedErrCode = "MessagingEntityNotFoundError"; - beforeEach(() => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); + beforeEach(() => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); - client = new EventHubConsumerClient("dummy", env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], "bad"); - }); + client = new EventHubConsumerClient( + "dummy", + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "bad" + ); + }); - afterEach(() => { - return client.close(); - }); + afterEach(() => { + return client.close(); + }); - it("should throw MessagingEntityNotFoundError for getEventHubProperties", async function(): Promise< - void - > { - try { - await client.getEventHubProperties(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.code, expectedErrCode); - } - }); + it("should throw MessagingEntityNotFoundError for getEventHubProperties", async function(): Promise< + void + > { + try { + await client.getEventHubProperties(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.code, expectedErrCode); + } + }); - it("should throw MessagingEntityNotFoundError for getPartitionProperties", async function(): Promise< - void - > { - try { - await client.getPartitionProperties("0"); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.code, expectedErrCode); - } - }); + it("should throw MessagingEntityNotFoundError for getPartitionProperties", async function(): Promise< + void + > { + try { + await client.getPartitionProperties("0"); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.code, expectedErrCode); + } + }); - it("should throw MessagingEntityNotFoundError for getPartitionIds", async function(): Promise< - void - > { - try { - await client.getPartitionIds(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.code, expectedErrCode); - } - }); + it("should throw MessagingEntityNotFoundError for getPartitionIds", async function(): Promise< + void + > { + try { + await client.getPartitionIds(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.code, expectedErrCode); + } + }); - it("should throw MessagingEntityNotFoundError while subscribe()", async function(): Promise< - void - > { - let subscription: Subscription | undefined; - const caughtErr = await new Promise((resolve) => { - subscription = client.subscribe({ - processEvents: async () => { - /* no-op */ - }, - processError: async (err) => { - resolve(err); - } + it("should throw MessagingEntityNotFoundError while subscribe()", async function(): Promise< + void + > { + let subscription: Subscription | undefined; + const caughtErr = await new Promise((resolve) => { + subscription = client.subscribe({ + processEvents: async () => { + /* no-op */ + }, + processError: async (err) => { + resolve(err); + } + }); }); + if (subscription) { + await subscription.close(); + } + debug(caughtErr); + should.equal(caughtErr instanceof MessagingError && caughtErr.code, expectedErrCode); + await client.close(); }); - if (subscription) { - await subscription.close(); - } - debug(caughtErr); - should.equal(caughtErr instanceof MessagingError && caughtErr.code, expectedErrCode); - await client.close(); }); -}); -describe("EventHubProducerClient with non existent event hub", function(): void { - let client: EventHubProducerClient; - const expectedErrCode = "MessagingEntityNotFoundError"; + describe("EventHubProducerClient with non existent event hub", function(): void { + let client: EventHubProducerClient; + const expectedErrCode = "MessagingEntityNotFoundError"; - beforeEach(() => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - client = new EventHubProducerClient(env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], "bad"); - }); + beforeEach(() => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + client = new EventHubProducerClient(env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], "bad"); + }); - afterEach(() => { - return client.close(); - }); + afterEach(() => { + return client.close(); + }); - it("should throw MessagingEntityNotFoundError for getEventHubProperties", async function(): Promise< - void - > { - try { - await client.getEventHubProperties(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.code, expectedErrCode); - } - }); + it("should throw MessagingEntityNotFoundError for getEventHubProperties", async function(): Promise< + void + > { + try { + await client.getEventHubProperties(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.code, expectedErrCode); + } + }); - it("should throw MessagingEntityNotFoundError for getPartitionProperties", async function(): Promise< - void - > { - try { - await client.getPartitionProperties("0"); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.code, expectedErrCode); - } - }); + it("should throw MessagingEntityNotFoundError for getPartitionProperties", async function(): Promise< + void + > { + try { + await client.getPartitionProperties("0"); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.code, expectedErrCode); + } + }); - it("should throw MessagingEntityNotFoundError for getPartitionIds", async function(): Promise< - void - > { - try { - await client.getPartitionIds(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.code, expectedErrCode); - } - }); + it("should throw MessagingEntityNotFoundError for getPartitionIds", async function(): Promise< + void + > { + try { + await client.getPartitionIds(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.code, expectedErrCode); + } + }); - it("should throw MessagingEntityNotFoundError while sending", async function(): Promise { - try { - await client.sendBatch([{ body: "Hello World" }]); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.code, expectedErrCode); - } - }); + it("should throw MessagingEntityNotFoundError while sending", async function(): Promise { + try { + await client.sendBatch([{ body: "Hello World" }]); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.code, expectedErrCode); + } + }); - it("should throw MessagingEntityNotFoundError while creating a batch", async function(): Promise< - void - > { - try { - await client.createBatch(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.code, expectedErrCode); - } + it("should throw MessagingEntityNotFoundError while creating a batch", async function(): Promise< + void + > { + try { + await client.createBatch(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.code, expectedErrCode); + } + }); }); -}); -describe("EventHubConsumerClient User Agent String", function(): void { - beforeEach(() => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); + describe("EventHubConsumerClient User Agent String", function(): void { + beforeEach(() => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - it("should correctly populate the default user agent", async function(): Promise { - const consumerClient = new EventHubConsumerClient( - "$Default", - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - env[EnvVarKeys.EVENTHUB_NAME] - ); - testUserAgentString(consumerClient["_context"]); - await consumerClient.close(); - }); + it("should correctly populate the default user agent", async function(): Promise { + const consumerClient = new EventHubConsumerClient( + "$Default", + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + env[EnvVarKeys.EVENTHUB_NAME] + ); + testUserAgentString(consumerClient["_context"]); + await consumerClient.close(); + }); - it("should correctly populate the custom user agent", async function(): Promise { - const customUserAgent = "boo"; - const consumerClient = new EventHubConsumerClient( - "$Default", - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - env[EnvVarKeys.EVENTHUB_NAME], - { userAgent: customUserAgent } - ); - testUserAgentString(consumerClient["_context"], customUserAgent); - await consumerClient.close(); + it("should correctly populate the custom user agent", async function(): Promise { + const customUserAgent = "boo"; + const consumerClient = new EventHubConsumerClient( + "$Default", + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + env[EnvVarKeys.EVENTHUB_NAME], + { userAgent: customUserAgent } + ); + testUserAgentString(consumerClient["_context"], customUserAgent); + await consumerClient.close(); + }); }); -}); -describe("EventHubProducerClient User Agent String", function(): void { - beforeEach(() => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); + describe("EventHubProducerClient User Agent String", function(): void { + beforeEach(() => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - it("should correctly populate the default user agent", async function(): Promise { - const producerClient = new EventHubProducerClient( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - env[EnvVarKeys.EVENTHUB_NAME] - ); - testUserAgentString(producerClient["_context"]); - await producerClient.close(); - }); + it("should correctly populate the default user agent", async function(): Promise { + const producerClient = new EventHubProducerClient( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + env[EnvVarKeys.EVENTHUB_NAME] + ); + testUserAgentString(producerClient["_context"]); + await producerClient.close(); + }); - it("should correctly populate the custom user agent", async function(): Promise { - const customUserAgent = "boo"; - const producerClient = new EventHubProducerClient( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - env[EnvVarKeys.EVENTHUB_NAME], - { userAgent: customUserAgent } - ); - testUserAgentString(producerClient["_context"], customUserAgent); - await producerClient.close(); + it("should correctly populate the custom user agent", async function(): Promise { + const customUserAgent = "boo"; + const producerClient = new EventHubProducerClient( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + env[EnvVarKeys.EVENTHUB_NAME], + { userAgent: customUserAgent } + ); + testUserAgentString(producerClient["_context"], customUserAgent); + await producerClient.close(); + }); }); -}); -function testUserAgentString(context: ConnectionContext, customValue?: string): void { - const packageVersion = packageJsonInfo.version; - const properties = context.connection.options.properties; - properties!["user-agent"].should.startWith( - `azsdk-js-azureeventhubs/${packageVersion} (${getRuntimeInfo()})` - ); - should.equal(properties!.product, "MSJSClient"); - should.equal(properties!.version, packageVersion); - if (isNode) { - should.equal(properties!.framework, `Node/${process.version}`); - } else { - should.equal(properties!.framework.startsWith("Browser/"), true); - } - should.exist(properties!.platform); - if (customValue) { - properties!["user-agent"].should.endWith(customValue); - } -} - -describe("EventHubConsumerClient after close()", function(): void { - let client: EventHubConsumerClient; - const expectedErrorMsg = "The underlying AMQP connection is closed."; - - async function beforeEachTest(): Promise { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - client = new EventHubConsumerClient( - "$Default", - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - env[EnvVarKeys.EVENTHUB_NAME] + function testUserAgentString(context: ConnectionContext, customValue?: string): void { + const packageVersion = packageJsonInfo.version; + const properties = context.connection.options.properties; + properties!["user-agent"].should.startWith( + `azsdk-js-azureeventhubs/${packageVersion} (${getRuntimeInfo()})` ); - - // Ensure that the connection is opened - await client.getPartitionIds(); - - // close(), so that we can then test the resulting error. - await client.close(); - } - - it("should throw connection closed error for getEventHubProperties", async function(): Promise< - void - > { - await beforeEachTest(); - try { - await client.getEventHubProperties(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.message, expectedErrorMsg); + should.equal(properties!.product, "MSJSClient"); + should.equal(properties!.version, packageVersion); + if (isNode) { + should.equal(properties!.framework, `Node/${process.version}`); + } else { + should.equal(properties!.framework.startsWith("Browser/"), true); } - }); - - it("should throw connection closed error for getPartitionProperties", async function(): Promise< - void - > { - await beforeEachTest(); - try { - await client.getPartitionProperties("0"); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.message, expectedErrorMsg); + should.exist(properties!.platform); + if (customValue) { + properties!["user-agent"].should.endWith(customValue); } - }); + } - it("should throw connection closed error for getPartitionIds", async function(): Promise { - await beforeEachTest(); - try { + describe("EventHubConsumerClient after close()", function(): void { + let client: EventHubConsumerClient; + const expectedErrorMsg = "The underlying AMQP connection is closed."; + + async function beforeEachTest(): Promise { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + client = new EventHubConsumerClient( + "$Default", + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + env[EnvVarKeys.EVENTHUB_NAME] + ); + + // Ensure that the connection is opened await client.getPartitionIds(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.message, expectedErrorMsg); + + // close(), so that we can then test the resulting error. + await client.close(); } - }); - it("should throw connection closed error while subscribe()", async function(): Promise { - await beforeEachTest(); - let subscription: Subscription | undefined; - const caughtErr = await new Promise((resolve) => { - subscription = client.subscribe({ - processEvents: async () => { - /* no-op */ - }, - processError: async (err) => { - resolve(err); - } - }); + it("should throw connection closed error for getEventHubProperties", async function(): Promise< + void + > { + await beforeEachTest(); + try { + await client.getEventHubProperties(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.message, expectedErrorMsg); + } }); - if (subscription) { - await subscription.close(); - } - debug(caughtErr); - should.equal(caughtErr.message, expectedErrorMsg); - }); -}); -describe("EventHubProducerClient after close()", function(): void { - let client: EventHubProducerClient; - const expectedErrorMsg = "The underlying AMQP connection is closed."; + it("should throw connection closed error for getPartitionProperties", async function(): Promise< + void + > { + await beforeEachTest(); + try { + await client.getPartitionProperties("0"); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.message, expectedErrorMsg); + } + }); - async function beforeEachTest(): Promise { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - client = new EventHubProducerClient( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - env[EnvVarKeys.EVENTHUB_NAME] - ); + it("should throw connection closed error for getPartitionIds", async function(): Promise { + await beforeEachTest(); + try { + await client.getPartitionIds(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.message, expectedErrorMsg); + } + }); - // Ensure that the connection is opened - await client.getPartitionIds(); + it("should throw connection closed error while subscribe()", async function(): Promise { + await beforeEachTest(); + let subscription: Subscription | undefined; + const caughtErr = await new Promise((resolve) => { + subscription = client.subscribe({ + processEvents: async () => { + /* no-op */ + }, + processError: async (err) => { + resolve(err); + } + }); + }); + if (subscription) { + await subscription.close(); + } + debug(caughtErr); + should.equal(caughtErr.message, expectedErrorMsg); + }); + }); - // close(), so that we can then test the resulting error. - await client.close(); - } + describe("EventHubProducerClient after close()", function(): void { + let client: EventHubProducerClient; + const expectedErrorMsg = "The underlying AMQP connection is closed."; + + async function beforeEachTest(): Promise { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + client = new EventHubProducerClient( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + env[EnvVarKeys.EVENTHUB_NAME] + ); + + // Ensure that the connection is opened + await client.getPartitionIds(); - it("should throw connection closed error for getEventHubProperties", async function(): Promise< - void - > { - await beforeEachTest(); - try { - await client.getEventHubProperties(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.message, expectedErrorMsg); + // close(), so that we can then test the resulting error. + await client.close(); } - }); - it("should throw connection closed error for getPartitionProperties", async function(): Promise< - void - > { - await beforeEachTest(); - try { - await client.getPartitionProperties("0"); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.message, expectedErrorMsg); - } - }); + it("should throw connection closed error for getEventHubProperties", async function(): Promise< + void + > { + await beforeEachTest(); + try { + await client.getEventHubProperties(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.message, expectedErrorMsg); + } + }); - it("should throw connection closed error for getPartitionIds", async function(): Promise { - await beforeEachTest(); - try { - await client.getPartitionIds(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.message, expectedErrorMsg); - } - }); + it("should throw connection closed error for getPartitionProperties", async function(): Promise< + void + > { + await beforeEachTest(); + try { + await client.getPartitionProperties("0"); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.message, expectedErrorMsg); + } + }); - it("should throw connection closed error while sending", async function(): Promise { - await beforeEachTest(); - try { - await client.sendBatch([{ body: "Hello World" }]); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.message, expectedErrorMsg); - } - }); + it("should throw connection closed error for getPartitionIds", async function(): Promise { + await beforeEachTest(); + try { + await client.getPartitionIds(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.message, expectedErrorMsg); + } + }); - it("should throw connection closed error while creating a batch", async function(): Promise< - void - > { - await beforeEachTest(); - try { - await client.createBatch(); - throw new Error(testFailureMessage); - } catch (err) { - debug(err); - should.equal(err.message, expectedErrorMsg); - } + it("should throw connection closed error while sending", async function(): Promise { + await beforeEachTest(); + try { + await client.sendBatch([{ body: "Hello World" }]); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.message, expectedErrorMsg); + } + }); + + it("should throw connection closed error while creating a batch", async function(): Promise< + void + > { + await beforeEachTest(); + try { + await client.createBatch(); + throw new Error(testFailureMessage); + } catch (err) { + debug(err); + should.equal(err.message, expectedErrorMsg); + } + }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/config.spec.ts b/sdk/eventhub/event-hubs/test/internal/config.spec.ts index 6404b99f9320..9c11a461d486 100644 --- a/sdk/eventhub/event-hubs/test/internal/config.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/config.spec.ts @@ -3,81 +3,25 @@ import { EventHubConnectionConfig } from "../../src/eventhubConnectionConfig"; import chai from "chai"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; const should = chai.should(); -describe("ConnectionConfig", function() { - describe("EventHub", function() { - it("should fail if connection config does not contain path and the connectionstring also does not contain EntityPath", function(done) { - const connectionString = - "Endpoint=sb://hostname.servicebus.windows.net/;SharedAccessKeyName=sakName;SharedAccessKey=sak"; - try { - EventHubConnectionConfig.create(connectionString); - done(new Error("Should not have reached here.")); - } catch (err) { - err.message.should.match(/Either provide "path" or the "connectionString".*/gi); - } - done(); - }); - - it("should correctly populate config properties from an EventHubs connection string and the helper methods should work as expected", function(done) { - const config = EventHubConnectionConfig.create( - "Endpoint=sb://hostname.servicebus.windows.net/;SharedAccessKeyName=sakName;SharedAccessKey=sak;EntityPath=ep" - ); - config.should.have.property("host").that.equals("hostname.servicebus.windows.net"); - config.should.have.property("sharedAccessKeyName").that.equals("sakName"); - config.should.have.property("sharedAccessKey").that.equals("sak"); - config.should.have.property("entityPath").that.equals("ep"); - - config.getManagementAddress().should.equal("ep/$management"); - config.getSenderAddress().should.equal("ep"); - config.getSenderAddress("0").should.equal("ep/Partitions/0"); - config.getSenderAddress(0).should.equal("ep/Partitions/0"); - config.getReceiverAddress("0").should.equal("ep/ConsumerGroups/$default/Partitions/0"); - config.getReceiverAddress(0).should.equal("ep/ConsumerGroups/$default/Partitions/0"); - config.getReceiverAddress("0", "cg").should.equal("ep/ConsumerGroups/cg/Partitions/0"); - config.getReceiverAddress(0, "cg").should.equal("ep/ConsumerGroups/cg/Partitions/0"); - - config - .getManagementAudience() - .should.equal("sb://hostname.servicebus.windows.net/ep/$management"); - config.getSenderAudience().should.equal("sb://hostname.servicebus.windows.net/ep"); - config - .getSenderAudience("0") - .should.equal("sb://hostname.servicebus.windows.net/ep/Partitions/0"); - config - .getSenderAudience(0) - .should.equal("sb://hostname.servicebus.windows.net/ep/Partitions/0"); - config - .getReceiverAudience("0") - .should.equal( - "sb://hostname.servicebus.windows.net/ep/ConsumerGroups/$default/Partitions/0" - ); - config - .getReceiverAudience(0) - .should.equal( - "sb://hostname.servicebus.windows.net/ep/ConsumerGroups/$default/Partitions/0" - ); - config - .getReceiverAudience("0", "cg") - .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); - config - .getReceiverAudience(0, "cg") - .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); - done(); - }); - - it("requires that Endpoint be present in the connection string", (done) => { - const connectionString = `Endpoint=sb://a`; - - should.throw(() => { - EventHubConnectionConfig.create(connectionString); - }, /must contain EntityPath/); - - done(); - }); +testWithServiceTypes(() => { + describe("ConnectionConfig", function() { + describe("EventHub", function() { + it("should fail if connection config does not contain path and the connectionstring also does not contain EntityPath", function(done) { + const connectionString = + "Endpoint=sb://hostname.servicebus.windows.net/;SharedAccessKeyName=sakName;SharedAccessKey=sak"; + try { + EventHubConnectionConfig.create(connectionString); + done(new Error("Should not have reached here.")); + } catch (err) { + err.message.should.match(/Either provide "path" or the "connectionString".*/gi); + } + done(); + }); - describe("setCustomEndpointAddress", () => { - it("overwrites host", () => { + it("should correctly populate config properties from an EventHubs connection string and the helper methods should work as expected", function(done) { const config = EventHubConnectionConfig.create( "Endpoint=sb://hostname.servicebus.windows.net/;SharedAccessKeyName=sakName;SharedAccessKey=sak;EntityPath=ep" ); @@ -121,65 +65,128 @@ describe("ConnectionConfig", function() { config .getReceiverAudience(0, "cg") .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); - - EventHubConnectionConfig.setCustomEndpointAddress(config, "https://foo.private.endpoint"); - config.should.have.property("amqpHostname").that.equals("hostname.servicebus.windows.net"); - config.should.have.property("host").that.equals("foo.private.endpoint"); - config.should.not.have.property("port"); + done(); }); - it("overwrites host and port", () => { - const config = EventHubConnectionConfig.create( - "Endpoint=sb://hostname.servicebus.windows.net/;SharedAccessKeyName=sakName;SharedAccessKey=sak;EntityPath=ep" - ); - config.should.have.property("host").that.equals("hostname.servicebus.windows.net"); - config.should.have.property("sharedAccessKeyName").that.equals("sakName"); - config.should.have.property("sharedAccessKey").that.equals("sak"); - config.should.have.property("entityPath").that.equals("ep"); + it("requires that Endpoint be present in the connection string", (done) => { + const connectionString = `Endpoint=sb://a`; - config.getManagementAddress().should.equal("ep/$management"); - config.getSenderAddress().should.equal("ep"); - config.getSenderAddress("0").should.equal("ep/Partitions/0"); - config.getSenderAddress(0).should.equal("ep/Partitions/0"); - config.getReceiverAddress("0").should.equal("ep/ConsumerGroups/$default/Partitions/0"); - config.getReceiverAddress(0).should.equal("ep/ConsumerGroups/$default/Partitions/0"); - config.getReceiverAddress("0", "cg").should.equal("ep/ConsumerGroups/cg/Partitions/0"); - config.getReceiverAddress(0, "cg").should.equal("ep/ConsumerGroups/cg/Partitions/0"); + should.throw(() => { + EventHubConnectionConfig.create(connectionString); + }, /must contain EntityPath/); - config - .getManagementAudience() - .should.equal("sb://hostname.servicebus.windows.net/ep/$management"); - config.getSenderAudience().should.equal("sb://hostname.servicebus.windows.net/ep"); - config - .getSenderAudience("0") - .should.equal("sb://hostname.servicebus.windows.net/ep/Partitions/0"); - config - .getSenderAudience(0) - .should.equal("sb://hostname.servicebus.windows.net/ep/Partitions/0"); - config - .getReceiverAudience("0") - .should.equal( - "sb://hostname.servicebus.windows.net/ep/ConsumerGroups/$default/Partitions/0" + done(); + }); + + describe("setCustomEndpointAddress", () => { + it("overwrites host", () => { + const config = EventHubConnectionConfig.create( + "Endpoint=sb://hostname.servicebus.windows.net/;SharedAccessKeyName=sakName;SharedAccessKey=sak;EntityPath=ep" ); - config - .getReceiverAudience(0) - .should.equal( - "sb://hostname.servicebus.windows.net/ep/ConsumerGroups/$default/Partitions/0" + config.should.have.property("host").that.equals("hostname.servicebus.windows.net"); + config.should.have.property("sharedAccessKeyName").that.equals("sakName"); + config.should.have.property("sharedAccessKey").that.equals("sak"); + config.should.have.property("entityPath").that.equals("ep"); + + config.getManagementAddress().should.equal("ep/$management"); + config.getSenderAddress().should.equal("ep"); + config.getSenderAddress("0").should.equal("ep/Partitions/0"); + config.getSenderAddress(0).should.equal("ep/Partitions/0"); + config.getReceiverAddress("0").should.equal("ep/ConsumerGroups/$default/Partitions/0"); + config.getReceiverAddress(0).should.equal("ep/ConsumerGroups/$default/Partitions/0"); + config.getReceiverAddress("0", "cg").should.equal("ep/ConsumerGroups/cg/Partitions/0"); + config.getReceiverAddress(0, "cg").should.equal("ep/ConsumerGroups/cg/Partitions/0"); + + config + .getManagementAudience() + .should.equal("sb://hostname.servicebus.windows.net/ep/$management"); + config.getSenderAudience().should.equal("sb://hostname.servicebus.windows.net/ep"); + config + .getSenderAudience("0") + .should.equal("sb://hostname.servicebus.windows.net/ep/Partitions/0"); + config + .getSenderAudience(0) + .should.equal("sb://hostname.servicebus.windows.net/ep/Partitions/0"); + config + .getReceiverAudience("0") + .should.equal( + "sb://hostname.servicebus.windows.net/ep/ConsumerGroups/$default/Partitions/0" + ); + config + .getReceiverAudience(0) + .should.equal( + "sb://hostname.servicebus.windows.net/ep/ConsumerGroups/$default/Partitions/0" + ); + config + .getReceiverAudience("0", "cg") + .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); + config + .getReceiverAudience(0, "cg") + .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); + + EventHubConnectionConfig.setCustomEndpointAddress(config, "https://foo.private.endpoint"); + config.should.have + .property("amqpHostname") + .that.equals("hostname.servicebus.windows.net"); + config.should.have.property("host").that.equals("foo.private.endpoint"); + config.should.not.have.property("port"); + }); + + it("overwrites host and port", () => { + const config = EventHubConnectionConfig.create( + "Endpoint=sb://hostname.servicebus.windows.net/;SharedAccessKeyName=sakName;SharedAccessKey=sak;EntityPath=ep" ); - config - .getReceiverAudience("0", "cg") - .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); - config - .getReceiverAudience(0, "cg") - .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); - - EventHubConnectionConfig.setCustomEndpointAddress( - config, - "https://foo.private.endpoint:1111" - ); - config.should.have.property("amqpHostname").that.equals("hostname.servicebus.windows.net"); - config.should.have.property("host").that.equals("foo.private.endpoint"); - config.should.have.property("port").that.equals(1111); + config.should.have.property("host").that.equals("hostname.servicebus.windows.net"); + config.should.have.property("sharedAccessKeyName").that.equals("sakName"); + config.should.have.property("sharedAccessKey").that.equals("sak"); + config.should.have.property("entityPath").that.equals("ep"); + + config.getManagementAddress().should.equal("ep/$management"); + config.getSenderAddress().should.equal("ep"); + config.getSenderAddress("0").should.equal("ep/Partitions/0"); + config.getSenderAddress(0).should.equal("ep/Partitions/0"); + config.getReceiverAddress("0").should.equal("ep/ConsumerGroups/$default/Partitions/0"); + config.getReceiverAddress(0).should.equal("ep/ConsumerGroups/$default/Partitions/0"); + config.getReceiverAddress("0", "cg").should.equal("ep/ConsumerGroups/cg/Partitions/0"); + config.getReceiverAddress(0, "cg").should.equal("ep/ConsumerGroups/cg/Partitions/0"); + + config + .getManagementAudience() + .should.equal("sb://hostname.servicebus.windows.net/ep/$management"); + config.getSenderAudience().should.equal("sb://hostname.servicebus.windows.net/ep"); + config + .getSenderAudience("0") + .should.equal("sb://hostname.servicebus.windows.net/ep/Partitions/0"); + config + .getSenderAudience(0) + .should.equal("sb://hostname.servicebus.windows.net/ep/Partitions/0"); + config + .getReceiverAudience("0") + .should.equal( + "sb://hostname.servicebus.windows.net/ep/ConsumerGroups/$default/Partitions/0" + ); + config + .getReceiverAudience(0) + .should.equal( + "sb://hostname.servicebus.windows.net/ep/ConsumerGroups/$default/Partitions/0" + ); + config + .getReceiverAudience("0", "cg") + .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); + config + .getReceiverAudience(0, "cg") + .should.equal("sb://hostname.servicebus.windows.net/ep/ConsumerGroups/cg/Partitions/0"); + + EventHubConnectionConfig.setCustomEndpointAddress( + config, + "https://foo.private.endpoint:1111" + ); + config.should.have + .property("amqpHostname") + .that.equals("hostname.servicebus.windows.net"); + config.should.have.property("host").that.equals("foo.private.endpoint"); + config.should.have.property("port").that.equals(1111); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/dataTransformer.spec.ts b/sdk/eventhub/event-hubs/test/internal/dataTransformer.spec.ts index 14257983e175..ea02aa53f38b 100644 --- a/sdk/eventhub/event-hubs/test/internal/dataTransformer.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/dataTransformer.spec.ts @@ -7,353 +7,356 @@ const should = chai.should(); import * as assert from "assert"; import isBuffer from "is-buffer"; import { defaultDataTransformer } from "../../src/dataTransformer"; - -describe("DataTransformer", function() { - const objectBody: any = { - id: "123-456-789", - weight: 10, - isBlue: true, - siblings: [ +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; + +testWithServiceTypes(() => { + describe("DataTransformer", function() { + const objectBody: any = { + id: "123-456-789", + weight: 10, + isBlue: true, + siblings: [ + { + id: "098-789-564", + weight: 20, + isBlue: false + } + ] + }; + const arrayBody = [ { id: "098-789-564", weight: 20, isBlue: false - } - ] - }; - const arrayBody = [ - { - id: "098-789-564", - weight: 20, - isBlue: false - }, - 10, - 20, - "some string" - ]; - const stringBody: string = "some string"; - const booleanBody: boolean = true; - const numberBody: number = 10.2; - const nullBody: null = null; - const undefinedBody: undefined = undefined; - const emptyStringBody: string = ""; - const bufferBody: Buffer = Buffer.from("zzz", "utf8"); - const hexBufferBody: Buffer = Buffer.from("7468697320697320612074c3a97374", "hex"); - const transformer = defaultDataTransformer; - - describe(`encoded bodyType: "data"`, () => { - const bodyType = "data"; - - it("should correctly encode/decode a string message body", function(done) { - const encoded: any = transformer.encode(stringBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - (decoded as any).should.equal(stringBody); - done(); - }); - - it("should correctly encode/decode a number message body", function(done) { - const encoded: any = transformer.encode(numberBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - (decoded as any).should.equal(numberBody); - done(); - }); - - it("should correctly encode/decode a boolean message body", function(done) { - const encoded: any = transformer.encode(booleanBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - (decoded as any).should.equal(booleanBody); - done(); - }); - - it("should correctly encode/decode a null message body", function(done) { - const encoded: any = transformer.encode(nullBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(false); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - should.equal(decoded, nullBody); - done(); - }); - - it("should correctly encode/decode an undefined message body", function(done) { - const encoded: any = transformer.encode(undefinedBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(false); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - should.equal(decoded, nullBody); - done(); - }); - - it("should correctly encode/decode an empty string message body", function(done) { - const encoded: any = transformer.encode(emptyStringBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - (decoded as any).should.equal(emptyStringBody); - done(); - }); - - it("should correctly encode/decode an array message body", function(done) { - const encoded: any = transformer.encode(arrayBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, arrayBody); - done(); - }); - - it("should correctly encode/decode an object message body", function(done) { - const encoded: any = transformer.encode(objectBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, objectBody); - done(); - }); - - it("should correctly encode/decode a buffer message body", function(done) { - const encoded: any = transformer.encode(bufferBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, bufferBody); - done(); - }); - - it("should correctly encode/decode a hex buffer message body", function(done) { - const encoded: any = transformer.encode(hexBufferBody, "data"); - encoded.typecode.should.equal(117); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, hexBufferBody); - done(); - }); - }); - - describe(`encoded bodyType: "value"`, () => { - const expectedTypeCode = 0x77; - const bodyType = "value"; - - it("should correctly encode/decode a string message body", function(done) { - const encoded: any = transformer.encode(stringBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - (decoded as any).should.equal(stringBody); - done(); - }); - - it("should correctly encode/decode a number message body", function(done) { - const encoded: any = transformer.encode(numberBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - (decoded as any).should.equal(numberBody); - done(); - }); - - it("should correctly encode/decode a boolean message body", function(done) { - const encoded: any = transformer.encode(booleanBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - (decoded as any).should.equal(booleanBody); - done(); - }); - - it("should correctly encode/decode a null message body", function(done) { - const encoded: any = transformer.encode(nullBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - should.equal(decoded, nullBody); - done(); - }); - - it("should correctly encode/decode an undefined message body", function(done) { - const encoded: any = transformer.encode(undefinedBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - should.equal(decoded, nullBody); - done(); - }); - - it("should correctly encode/decode an empty string message body", function(done) { - const encoded: any = transformer.encode(emptyStringBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - (decoded as any).should.equal(emptyStringBody); - done(); - }); - - it("should correctly encode/decode an array message body", function(done) { - const encoded: any = transformer.encode(arrayBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, arrayBody); - done(); - }); - - it("should correctly encode/decode an object message body", function(done) { - const encoded: any = transformer.encode(objectBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, objectBody); - done(); - }); - - it("should correctly encode/decode a buffer message body", function(done) { - const encoded: any = transformer.encode(bufferBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, bufferBody); - done(); - }); - - it("should correctly encode/decode a hex buffer message body", function(done) { - const encoded: any = transformer.encode(hexBufferBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - isBuffer(encoded.content).should.equal(true); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, hexBufferBody); - done(); - }); - }); - - describe(`encoded bodyType: "sequence"`, () => { - const expectedTypeCode = 0x76; - const bodyType = "sequence"; - - it("should correctly encode/decode a null message body", function(done) { - const encoded: any = transformer.encode(nullBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - should.equal(decoded, nullBody); - done(); - }); - - it("should correctly encode/decode an undefined message body", function(done) { - const encoded: any = transformer.encode(undefinedBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - should.equal(decoded, nullBody); - done(); - }); - - it("should correctly encode/decode an array message body", function(done) { - const encoded: any = transformer.encode(arrayBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, arrayBody); - done(); - }); - - it("should correctly encode/decode an object message body", function(done) { - const encoded: any = transformer.encode(objectBody, bodyType); - encoded.typecode.should.equal(expectedTypeCode); - const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); - should.equal(decodedType, bodyType); - assert.deepEqual(decoded, objectBody); - done(); - }); - }); - - describe("decode", function() { - // It is possible that we receive an AMQP value type from the messages that were sent with - // previously shipped version of the sdk. If so then we should be able to handle those scenarios. - it("should correctly decode a string message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(stringBody); - should.equal(decodedType, "value"); - (decoded as any).should.equal(stringBody); - done(); - }); - - it("should correctly decode a number message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(numberBody); - should.equal(decodedType, "value"); - (decoded as any).should.equal(numberBody); - done(); - }); - - it("should correctly decode a boolean message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(booleanBody); - should.equal(decodedType, "value"); - (decoded as any).should.equal(booleanBody); - done(); - }); - - it("should correctly decode a null message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(nullBody); - should.equal(decodedType, "value"); - should.equal(decoded, nullBody); - done(); - }); - - it("should correctly decode an undefined message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(undefinedBody); - should.equal(decodedType, "value"); - should.equal(decoded, undefined); - done(); - }); - - it("should correctly decode an empty string message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(emptyStringBody); - should.equal(decodedType, "value"); - (decoded as any).should.equal(emptyStringBody); - done(); - }); - - it("should correctly decode an array message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(arrayBody); - should.equal(decodedType, "value"); - assert.deepEqual(decoded, arrayBody); - done(); - }); - - it("should correctly decode an object message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(objectBody); - should.equal(decodedType, "value"); - assert.deepEqual(decoded, objectBody); - done(); - }); - - it("should correctly decode a buffer message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(bufferBody); - should.equal(decodedType, "data"); - assert.deepEqual(decoded, bufferBody); - done(); - }); - - it("should correctly decode a hex buffer message body", function(done) { - const { body: decoded, bodyType: decodedType } = transformer.decode(hexBufferBody); - should.equal(decodedType, "data"); - assert.deepEqual(decoded, hexBufferBody); - done(); + }, + 10, + 20, + "some string" + ]; + const stringBody: string = "some string"; + const booleanBody: boolean = true; + const numberBody: number = 10.2; + const nullBody: null = null; + const undefinedBody: undefined = undefined; + const emptyStringBody: string = ""; + const bufferBody: Buffer = Buffer.from("zzz", "utf8"); + const hexBufferBody: Buffer = Buffer.from("7468697320697320612074c3a97374", "hex"); + const transformer = defaultDataTransformer; + + describe(`encoded bodyType: "data"`, () => { + const bodyType = "data"; + + it("should correctly encode/decode a string message body", function(done) { + const encoded: any = transformer.encode(stringBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + (decoded as any).should.equal(stringBody); + done(); + }); + + it("should correctly encode/decode a number message body", function(done) { + const encoded: any = transformer.encode(numberBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + (decoded as any).should.equal(numberBody); + done(); + }); + + it("should correctly encode/decode a boolean message body", function(done) { + const encoded: any = transformer.encode(booleanBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + (decoded as any).should.equal(booleanBody); + done(); + }); + + it("should correctly encode/decode a null message body", function(done) { + const encoded: any = transformer.encode(nullBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(false); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + should.equal(decoded, nullBody); + done(); + }); + + it("should correctly encode/decode an undefined message body", function(done) { + const encoded: any = transformer.encode(undefinedBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(false); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + should.equal(decoded, nullBody); + done(); + }); + + it("should correctly encode/decode an empty string message body", function(done) { + const encoded: any = transformer.encode(emptyStringBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + (decoded as any).should.equal(emptyStringBody); + done(); + }); + + it("should correctly encode/decode an array message body", function(done) { + const encoded: any = transformer.encode(arrayBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, arrayBody); + done(); + }); + + it("should correctly encode/decode an object message body", function(done) { + const encoded: any = transformer.encode(objectBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, objectBody); + done(); + }); + + it("should correctly encode/decode a buffer message body", function(done) { + const encoded: any = transformer.encode(bufferBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, bufferBody); + done(); + }); + + it("should correctly encode/decode a hex buffer message body", function(done) { + const encoded: any = transformer.encode(hexBufferBody, "data"); + encoded.typecode.should.equal(117); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, hexBufferBody); + done(); + }); + }); + + describe(`encoded bodyType: "value"`, () => { + const expectedTypeCode = 0x77; + const bodyType = "value"; + + it("should correctly encode/decode a string message body", function(done) { + const encoded: any = transformer.encode(stringBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + (decoded as any).should.equal(stringBody); + done(); + }); + + it("should correctly encode/decode a number message body", function(done) { + const encoded: any = transformer.encode(numberBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + (decoded as any).should.equal(numberBody); + done(); + }); + + it("should correctly encode/decode a boolean message body", function(done) { + const encoded: any = transformer.encode(booleanBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + (decoded as any).should.equal(booleanBody); + done(); + }); + + it("should correctly encode/decode a null message body", function(done) { + const encoded: any = transformer.encode(nullBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + should.equal(decoded, nullBody); + done(); + }); + + it("should correctly encode/decode an undefined message body", function(done) { + const encoded: any = transformer.encode(undefinedBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + should.equal(decoded, nullBody); + done(); + }); + + it("should correctly encode/decode an empty string message body", function(done) { + const encoded: any = transformer.encode(emptyStringBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + (decoded as any).should.equal(emptyStringBody); + done(); + }); + + it("should correctly encode/decode an array message body", function(done) { + const encoded: any = transformer.encode(arrayBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, arrayBody); + done(); + }); + + it("should correctly encode/decode an object message body", function(done) { + const encoded: any = transformer.encode(objectBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, objectBody); + done(); + }); + + it("should correctly encode/decode a buffer message body", function(done) { + const encoded: any = transformer.encode(bufferBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, bufferBody); + done(); + }); + + it("should correctly encode/decode a hex buffer message body", function(done) { + const encoded: any = transformer.encode(hexBufferBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + isBuffer(encoded.content).should.equal(true); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, hexBufferBody); + done(); + }); + }); + + describe(`encoded bodyType: "sequence"`, () => { + const expectedTypeCode = 0x76; + const bodyType = "sequence"; + + it("should correctly encode/decode a null message body", function(done) { + const encoded: any = transformer.encode(nullBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + should.equal(decoded, nullBody); + done(); + }); + + it("should correctly encode/decode an undefined message body", function(done) { + const encoded: any = transformer.encode(undefinedBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + should.equal(decoded, nullBody); + done(); + }); + + it("should correctly encode/decode an array message body", function(done) { + const encoded: any = transformer.encode(arrayBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, arrayBody); + done(); + }); + + it("should correctly encode/decode an object message body", function(done) { + const encoded: any = transformer.encode(objectBody, bodyType); + encoded.typecode.should.equal(expectedTypeCode); + const { body: decoded, bodyType: decodedType } = transformer.decode(encoded); + should.equal(decodedType, bodyType); + assert.deepEqual(decoded, objectBody); + done(); + }); + }); + + describe("decode", function() { + // It is possible that we receive an AMQP value type from the messages that were sent with + // previously shipped version of the sdk. If so then we should be able to handle those scenarios. + it("should correctly decode a string message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(stringBody); + should.equal(decodedType, "value"); + (decoded as any).should.equal(stringBody); + done(); + }); + + it("should correctly decode a number message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(numberBody); + should.equal(decodedType, "value"); + (decoded as any).should.equal(numberBody); + done(); + }); + + it("should correctly decode a boolean message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(booleanBody); + should.equal(decodedType, "value"); + (decoded as any).should.equal(booleanBody); + done(); + }); + + it("should correctly decode a null message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(nullBody); + should.equal(decodedType, "value"); + should.equal(decoded, nullBody); + done(); + }); + + it("should correctly decode an undefined message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(undefinedBody); + should.equal(decodedType, "value"); + should.equal(decoded, undefined); + done(); + }); + + it("should correctly decode an empty string message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(emptyStringBody); + should.equal(decodedType, "value"); + (decoded as any).should.equal(emptyStringBody); + done(); + }); + + it("should correctly decode an array message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(arrayBody); + should.equal(decodedType, "value"); + assert.deepEqual(decoded, arrayBody); + done(); + }); + + it("should correctly decode an object message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(objectBody); + should.equal(decodedType, "value"); + assert.deepEqual(decoded, objectBody); + done(); + }); + + it("should correctly decode a buffer message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(bufferBody); + should.equal(decodedType, "data"); + assert.deepEqual(decoded, bufferBody); + done(); + }); + + it("should correctly decode a hex buffer message body", function(done) { + const { body: decoded, bodyType: decodedType } = transformer.decode(hexBufferBody); + should.equal(decodedType, "data"); + assert.deepEqual(decoded, hexBufferBody); + done(); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/diagnostics/messageSpan.spec.ts b/sdk/eventhub/event-hubs/test/internal/diagnostics/messageSpan.spec.ts index f6ff14bb4804..53ce21e00f5d 100644 --- a/sdk/eventhub/event-hubs/test/internal/diagnostics/messageSpan.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/diagnostics/messageSpan.spec.ts @@ -4,39 +4,42 @@ import chai from "chai"; import { createMessageSpan } from "../../../src/diagnostics/tracing"; import { setTracer, resetTracer } from "@azure/test-utils"; +import { testWithServiceTypes } from "../../public/utils/testWithServiceTypes"; const should = chai.should(); const assert = chai.assert; -describe("#createMessageSpan()", () => { - before(() => { - setTracer(); - }); - - after(() => { - resetTracer(); - }); +testWithServiceTypes(() => { + describe("#createMessageSpan()", () => { + before(() => { + setTracer(); + }); - it("should create a span without a parent", () => { - const { span } = createMessageSpan( - {}, - { - entityPath: "entity path", - host: "host" - } - ); - - should.exist(span); - should.exist(span.spanContext().spanId); - should.exist(span.spanContext().traceId); - - should.equal((span as any).name, "Azure.EventHubs.message"); - assert.deepStrictEqual((span as any).attributes, { - "az.namespace": "Microsoft.EventHub", - "message_bus.destination": "entity path", - "peer.address": "host" + after(() => { + resetTracer(); }); - span.end(); + it("should create a span without a parent", () => { + const { span } = createMessageSpan( + {}, + { + entityPath: "entity path", + host: "host" + } + ); + + should.exist(span); + should.exist(span.spanContext().spanId); + should.exist(span.spanContext().traceId); + + should.equal((span as any).name, "Azure.EventHubs.message"); + assert.deepStrictEqual((span as any).attributes, { + "az.namespace": "Microsoft.EventHub", + "message_bus.destination": "entity path", + "peer.address": "host" + }); + + span.end(); + }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/eventHubConsumerClientUnitTests.spec.ts b/sdk/eventhub/event-hubs/test/internal/eventHubConsumerClientUnitTests.spec.ts index 382d16c8bc6f..8f5a2b61a8e1 100644 --- a/sdk/eventhub/event-hubs/test/internal/eventHubConsumerClientUnitTests.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/eventHubConsumerClientUnitTests.spec.ts @@ -10,461 +10,489 @@ import { BalancedLoadBalancingStrategy } from "../../src/loadBalancerStrategies/ import { GreedyLoadBalancingStrategy } from "../../src/loadBalancerStrategies/greedyStrategy"; import chai from "chai"; import { EnvVarKeys, getEnvVars } from "../public/utils/testUtils"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; +import { createMockServer } from "../public/utils/mockService"; const should = chai.should(); -const env = getEnvVars(); - -describe("EventHubConsumerClient", () => { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME]! - }; - - before(() => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - describe("unit tests", () => { - it("isCheckpointStore", () => { - isCheckpointStore({ - processEvents: async () => { - /* no-op */ - }, - processClose: async () => { - /* no-op */ - } - }).should.not.equal(true); - isCheckpointStore("hello").should.not.equal(true); +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - isCheckpointStore(new InMemoryCheckpointStore()).should.equal(true); + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("EventHubConsumerClient", () => { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME]! + }; + + before(() => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); }); - describe("subscribe() overloads route properly", () => { - let client: EventHubConsumerClient; - let clientWithCheckpointStore: EventHubConsumerClient; - let subscriptionHandlers: SubscriptionEventHandlers; - let fakeEventProcessor: SinonStubbedInstance; - let validateOptions: (options: FullEventProcessorOptions) => void; - const fakeEventProcessorConstructor = ( - connectionContext: ConnectionContext, - subscriptionEventHandlers: SubscriptionEventHandlers, - checkpointStore: CheckpointStore, - options: FullEventProcessorOptions - ): SinonStubbedInstance => { - subscriptionEventHandlers.should.equal(subscriptionHandlers); - should.exist(connectionContext.managementSession); - isCheckpointStore(checkpointStore).should.equal(true); - - validateOptions(options); - - return fakeEventProcessor; - }; - - beforeEach(() => { - fakeEventProcessor = createStubInstance(EventProcessor); - - client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path - ); - - clientWithCheckpointStore = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // it doesn't actually matter _what_ checkpoint store gets passed in - new InMemoryCheckpointStore() - ); - - subscriptionHandlers = { + describe("unit tests", () => { + it("isCheckpointStore", () => { + isCheckpointStore({ processEvents: async () => { /* no-op */ }, - processError: async () => { + processClose: async () => { /* no-op */ } - }; + }).should.not.equal(true); - (client as any)["_createEventProcessor"] = fakeEventProcessorConstructor; - (clientWithCheckpointStore as any)["_createEventProcessor"] = fakeEventProcessorConstructor; - }); - - it("conflicting subscribes", () => { - validateOptions = () => { - /* no-op */ - }; + isCheckpointStore("hello").should.not.equal(true); - client.subscribe(subscriptionHandlers); - // invalid - we're already subscribed to a conflicting partition - should.throw( - () => client.subscribe("0", subscriptionHandlers), - /Partition already has a subscriber/ - ); - - clientWithCheckpointStore.subscribe("0", subscriptionHandlers); - // invalid - we're already subscribed to a conflicting partition - should.throw( - () => clientWithCheckpointStore.subscribe(subscriptionHandlers), - /Partition already has a subscriber/ - ); + isCheckpointStore(new InMemoryCheckpointStore()).should.equal(true); }); - it("subscribe to single partition, no checkpoint store, no loadBalancingOptions", () => { - validateOptions = (options) => { - // when the user doesn't pass a checkpoint store we give them a really simple set of - // defaults: - // - InMemoryCheckpointStore - // - UnbalancedLoadBalancingStrategy - // - loopIntervalInMs: 10000 - - // So we don't set an ownerlevel here - it's all in-memory and you can have as many - // as you want (the user still has the option to pass their own via SubscribeOptions). - should.not.exist(options.ownerLevel); - - // and if you don't specify a CheckpointStore we also assume you just want to read all partitions - // immediately so we use the UnbalancedLoadBalancingStrategy. - options.loadBalancingStrategy.constructor.name.should.equal( - "UnbalancedLoadBalancingStrategy" - ); - - options.loopIntervalInMs.should.equal(10000); - options.processingTarget!.should.equal("0"); + describe("subscribe() overloads route properly", () => { + let client: EventHubConsumerClient; + let clientWithCheckpointStore: EventHubConsumerClient; + let subscriptionHandlers: SubscriptionEventHandlers; + let fakeEventProcessor: SinonStubbedInstance; + let validateOptions: (options: FullEventProcessorOptions) => void; + const fakeEventProcessorConstructor = ( + connectionContext: ConnectionContext, + subscriptionEventHandlers: SubscriptionEventHandlers, + checkpointStore: CheckpointStore, + options: FullEventProcessorOptions + ): SinonStubbedInstance => { + subscriptionEventHandlers.should.equal(subscriptionHandlers); + should.exist(connectionContext.managementSession); + isCheckpointStore(checkpointStore).should.equal(true); + + validateOptions(options); + + return fakeEventProcessor; }; - const subscription = client.subscribe("0", subscriptionHandlers); - - subscription.close(); - fakeEventProcessor.stop.callCount.should.equal(1); - }); + beforeEach(() => { + fakeEventProcessor = createStubInstance(EventProcessor); - it("subscribe to single partition, no checkpoint store, WITH loadBalancingOptions", () => { - validateOptions = (options) => { - // When the user subscribes to a single partition, we always use the UnbalancedLoadBalancingStrategy. - // The loadBalancingOptions `strategy` and `partitionOwnershipExpirationIntervalInMs` fields are ignored. - // - InMemoryCheckpointStore - // - UnbalancedLoadBalancingStrategy - // - loopIntervalInMs: 10000 - - // So we don't set an ownerlevel here - it's all in-memory and you can have as many - // as you want (the user still has the option to pass their own via SubscribeOptions). - should.not.exist(options.ownerLevel); - - // and if you don't specify a CheckpointStore we also assume you just want to read all partitions - // immediately so we use the UnbalancedLoadBalancingStrategy. - options.loadBalancingStrategy.constructor.name.should.equal( - "UnbalancedLoadBalancingStrategy" + client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path ); - options.loopIntervalInMs.should.equal(20); - options.processingTarget!.should.equal("0"); - }; + clientWithCheckpointStore = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // it doesn't actually matter _what_ checkpoint store gets passed in + new InMemoryCheckpointStore() + ); - client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - { - loadBalancingOptions: { - strategy: "greedy", // ignored - partitionOwnershipExpirationIntervalInMs: 100, // ignored - updateIntervalInMs: 20 + subscriptionHandlers = { + processEvents: async () => { + /* no-op */ + }, + processError: async () => { + /* no-op */ } - } - ); - (client as any)["_createEventProcessor"] = fakeEventProcessorConstructor; - - const subscription = client.subscribe("0", subscriptionHandlers); - - subscription.close(); - fakeEventProcessor.stop.callCount.should.equal(1); - }); + }; - it("subscribe to single partition, WITH checkpoint store, no loadBalancingOptions", () => { - validateOptions = (options) => { - // when the user gives us a checkpoint store but subscribes to a single partition, - // - they use their checkpoint store and the following defaults: - // - UnbalancedLoadBalancingStrategy - // - loopIntervalInMs: 10000 + (client as any)["_createEventProcessor"] = fakeEventProcessorConstructor; + (clientWithCheckpointStore as any)[ + "_createEventProcessor" + ] = fakeEventProcessorConstructor; + }); - // To coordinate properly we set an owner level - this lets us - // cooperate properly with other consumers within this group. - options.ownerLevel!.should.equal(0); + it("conflicting subscribes", () => { + validateOptions = () => { + /* no-op */ + }; - options.processingTarget!.should.equal("0"); - options.loadBalancingStrategy.constructor.name.should.equal( - "UnbalancedLoadBalancingStrategy" + client.subscribe(subscriptionHandlers); + // invalid - we're already subscribed to a conflicting partition + should.throw( + () => client.subscribe("0", subscriptionHandlers), + /Partition already has a subscriber/ ); - options.loopIntervalInMs.should.equal(10000); - }; - - clientWithCheckpointStore.subscribe("0", subscriptionHandlers); - }); - - it("subscribe to single partition, WITH checkpoint store, WITH loadBalancingOptions", () => { - validateOptions = (options) => { - // When the user subscribes to a single partition, we always use the UnbalancedLoadBalancingStrategy. - // The loadBalancingOptions `strategy` and `partitionOwnershipExpirationIntervalInMs` fields are ignored. - // - UnbalancedLoadBalancingStrategy - // - loopIntervalInMs: 10000 - // To coordinate properly we set an owner level - this lets us - // cooperate properly with other consumers within this group. - options.ownerLevel!.should.equal(0); - - options.processingTarget!.should.equal("0"); - options.loadBalancingStrategy.constructor.name.should.equal( - "UnbalancedLoadBalancingStrategy" + clientWithCheckpointStore.subscribe("0", subscriptionHandlers); + // invalid - we're already subscribed to a conflicting partition + should.throw( + () => clientWithCheckpointStore.subscribe(subscriptionHandlers), + /Partition already has a subscriber/ ); - options.loopIntervalInMs.should.equal(20); - }; - - clientWithCheckpointStore = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // it doesn't actually matter _what_ checkpoint store gets passed in - new InMemoryCheckpointStore(), - { - loadBalancingOptions: { - strategy: "greedy", // ignored - partitionOwnershipExpirationIntervalInMs: 100, // ignored - updateIntervalInMs: 20 + }); + + it("subscribe to single partition, no checkpoint store, no loadBalancingOptions", () => { + validateOptions = (options) => { + // when the user doesn't pass a checkpoint store we give them a really simple set of + // defaults: + // - InMemoryCheckpointStore + // - UnbalancedLoadBalancingStrategy + // - loopIntervalInMs: 10000 + + // So we don't set an ownerlevel here - it's all in-memory and you can have as many + // as you want (the user still has the option to pass their own via SubscribeOptions). + should.not.exist(options.ownerLevel); + + // and if you don't specify a CheckpointStore we also assume you just want to read all partitions + // immediately so we use the UnbalancedLoadBalancingStrategy. + options.loadBalancingStrategy.constructor.name.should.equal( + "UnbalancedLoadBalancingStrategy" + ); + + options.loopIntervalInMs.should.equal(10000); + options.processingTarget!.should.equal("0"); + }; + + const subscription = client.subscribe("0", subscriptionHandlers); + + subscription.close(); + fakeEventProcessor.stop.callCount.should.equal(1); + }); + + it("subscribe to single partition, no checkpoint store, WITH loadBalancingOptions", () => { + validateOptions = (options) => { + // When the user subscribes to a single partition, we always use the UnbalancedLoadBalancingStrategy. + // The loadBalancingOptions `strategy` and `partitionOwnershipExpirationIntervalInMs` fields are ignored. + // - InMemoryCheckpointStore + // - UnbalancedLoadBalancingStrategy + // - loopIntervalInMs: 10000 + + // So we don't set an ownerlevel here - it's all in-memory and you can have as many + // as you want (the user still has the option to pass their own via SubscribeOptions). + should.not.exist(options.ownerLevel); + + // and if you don't specify a CheckpointStore we also assume you just want to read all partitions + // immediately so we use the UnbalancedLoadBalancingStrategy. + options.loadBalancingStrategy.constructor.name.should.equal( + "UnbalancedLoadBalancingStrategy" + ); + + options.loopIntervalInMs.should.equal(20); + options.processingTarget!.should.equal("0"); + }; + + client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + { + loadBalancingOptions: { + strategy: "greedy", // ignored + partitionOwnershipExpirationIntervalInMs: 100, // ignored + updateIntervalInMs: 20 + } } - } - ); - (clientWithCheckpointStore as any)["_createEventProcessor"] = fakeEventProcessorConstructor; - - clientWithCheckpointStore.subscribe("0", subscriptionHandlers); - }); - - it("subscribe to all partitions, no checkpoint store, no loadBalancingOptions", () => { - validateOptions = (options) => { - // when the user doesn't pass a checkpoint store we give them a really simple set of - // defaults: - // - InMemoryCheckpointStore - // - UnbalancedLoadBalancingStrategy - // - loopIntervalInMs: 10000 - should.not.exist(options.ownerLevel); - options.loadBalancingStrategy.constructor.name.should.equal( - "UnbalancedLoadBalancingStrategy" ); - options.loopIntervalInMs.should.equal(10000); - }; - - client.subscribe(subscriptionHandlers); - }); - - it("subscribe to all partitions, no checkpoint store, WITH loadBalancingOptions", () => { - validateOptions = (options) => { - // When the user doesn't provide a checkpoint store, we always use the UnbalancedLoadBalancingStrategy. - // The loadBalancingOptions `strategy` and `partitionOwnershipExpirationIntervalInMs` fields are ignored. - // - InMemoryCheckpointStore - // - UnbalancedLoadBalancingStrategy - should.not.exist(options.ownerLevel); - options.loadBalancingStrategy.constructor.name.should.equal( - "UnbalancedLoadBalancingStrategy" - ); - options.loopIntervalInMs.should.equal(20); - }; - - client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - { - loadBalancingOptions: { - strategy: "greedy", // ignored - partitionOwnershipExpirationIntervalInMs: 100, // ignored - updateIntervalInMs: 20 + (client as any)["_createEventProcessor"] = fakeEventProcessorConstructor; + + const subscription = client.subscribe("0", subscriptionHandlers); + + subscription.close(); + fakeEventProcessor.stop.callCount.should.equal(1); + }); + + it("subscribe to single partition, WITH checkpoint store, no loadBalancingOptions", () => { + validateOptions = (options) => { + // when the user gives us a checkpoint store but subscribes to a single partition, + // - they use their checkpoint store and the following defaults: + // - UnbalancedLoadBalancingStrategy + // - loopIntervalInMs: 10000 + + // To coordinate properly we set an owner level - this lets us + // cooperate properly with other consumers within this group. + options.ownerLevel!.should.equal(0); + + options.processingTarget!.should.equal("0"); + options.loadBalancingStrategy.constructor.name.should.equal( + "UnbalancedLoadBalancingStrategy" + ); + options.loopIntervalInMs.should.equal(10000); + }; + + clientWithCheckpointStore.subscribe("0", subscriptionHandlers); + }); + + it("subscribe to single partition, WITH checkpoint store, WITH loadBalancingOptions", () => { + validateOptions = (options) => { + // When the user subscribes to a single partition, we always use the UnbalancedLoadBalancingStrategy. + // The loadBalancingOptions `strategy` and `partitionOwnershipExpirationIntervalInMs` fields are ignored. + // - UnbalancedLoadBalancingStrategy + // - loopIntervalInMs: 10000 + + // To coordinate properly we set an owner level - this lets us + // cooperate properly with other consumers within this group. + options.ownerLevel!.should.equal(0); + + options.processingTarget!.should.equal("0"); + options.loadBalancingStrategy.constructor.name.should.equal( + "UnbalancedLoadBalancingStrategy" + ); + options.loopIntervalInMs.should.equal(20); + }; + + clientWithCheckpointStore = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // it doesn't actually matter _what_ checkpoint store gets passed in + new InMemoryCheckpointStore(), + { + loadBalancingOptions: { + strategy: "greedy", // ignored + partitionOwnershipExpirationIntervalInMs: 100, // ignored + updateIntervalInMs: 20 + } } - } - ); - (client as any)["_createEventProcessor"] = fakeEventProcessorConstructor; - - client.subscribe(subscriptionHandlers); - }); - - it("subscribe to all partitions, WITH checkpoint store, no loadBalancingOptions", () => { - validateOptions = (options) => { - // when the user gives us a checkpoint store we treat their consumer client as - // a "production" ready client - they use their checkpoint store and the following - // defaults: - // - BalancedLoadBalancingStrategy - // - loopIntervalInMs: 10000 - // - partitionOwnershipExpirationIntervalInMs: 60000 - options.ownerLevel!.should.equal(0); - should.not.exist(options.processingTarget); - options.loadBalancingStrategy.constructor.name.should.equal( - "BalancedLoadBalancingStrategy" ); - (options.loadBalancingStrategy as BalancedLoadBalancingStrategy)[ - "_partitionOwnershipExpirationIntervalInMs" - ].should.equal(60000); - options.loopIntervalInMs.should.equal(10000); - }; - - clientWithCheckpointStore.subscribe(subscriptionHandlers); - }); - - it("subscribe to all partitions, WITH checkpoint store, WITH loadBalancingOptions (greedy, updateInterval, expirationInterval)", () => { - validateOptions = (options) => { - // when the user gives us a checkpoint store and subscribes to all partitions, - // we use their loadBalancingOptions when provided. - options.ownerLevel!.should.equal(0); - should.not.exist(options.processingTarget); - options.loadBalancingStrategy.constructor.name.should.equal( - "GreedyLoadBalancingStrategy" + (clientWithCheckpointStore as any)[ + "_createEventProcessor" + ] = fakeEventProcessorConstructor; + + clientWithCheckpointStore.subscribe("0", subscriptionHandlers); + }); + + it("subscribe to all partitions, no checkpoint store, no loadBalancingOptions", () => { + validateOptions = (options) => { + // when the user doesn't pass a checkpoint store we give them a really simple set of + // defaults: + // - InMemoryCheckpointStore + // - UnbalancedLoadBalancingStrategy + // - loopIntervalInMs: 10000 + should.not.exist(options.ownerLevel); + options.loadBalancingStrategy.constructor.name.should.equal( + "UnbalancedLoadBalancingStrategy" + ); + options.loopIntervalInMs.should.equal(10000); + }; + + client.subscribe(subscriptionHandlers); + }); + + it("subscribe to all partitions, no checkpoint store, WITH loadBalancingOptions", () => { + validateOptions = (options) => { + // When the user doesn't provide a checkpoint store, we always use the UnbalancedLoadBalancingStrategy. + // The loadBalancingOptions `strategy` and `partitionOwnershipExpirationIntervalInMs` fields are ignored. + // - InMemoryCheckpointStore + // - UnbalancedLoadBalancingStrategy + should.not.exist(options.ownerLevel); + options.loadBalancingStrategy.constructor.name.should.equal( + "UnbalancedLoadBalancingStrategy" + ); + options.loopIntervalInMs.should.equal(20); + }; + + client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + { + loadBalancingOptions: { + strategy: "greedy", // ignored + partitionOwnershipExpirationIntervalInMs: 100, // ignored + updateIntervalInMs: 20 + } + } ); - (options.loadBalancingStrategy as GreedyLoadBalancingStrategy)[ - "_partitionOwnershipExpirationIntervalInMs" - ].should.equal(100); - options.loopIntervalInMs.should.equal(20); - }; - - clientWithCheckpointStore = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // it doesn't actually matter _what_ checkpoint store gets passed in - new InMemoryCheckpointStore(), - { - loadBalancingOptions: { - strategy: "greedy", - partitionOwnershipExpirationIntervalInMs: 100, - updateIntervalInMs: 20 + (client as any)["_createEventProcessor"] = fakeEventProcessorConstructor; + + client.subscribe(subscriptionHandlers); + }); + + it("subscribe to all partitions, WITH checkpoint store, no loadBalancingOptions", () => { + validateOptions = (options) => { + // when the user gives us a checkpoint store we treat their consumer client as + // a "production" ready client - they use their checkpoint store and the following + // defaults: + // - BalancedLoadBalancingStrategy + // - loopIntervalInMs: 10000 + // - partitionOwnershipExpirationIntervalInMs: 60000 + options.ownerLevel!.should.equal(0); + should.not.exist(options.processingTarget); + options.loadBalancingStrategy.constructor.name.should.equal( + "BalancedLoadBalancingStrategy" + ); + (options.loadBalancingStrategy as BalancedLoadBalancingStrategy)[ + "_partitionOwnershipExpirationIntervalInMs" + ].should.equal(60000); + options.loopIntervalInMs.should.equal(10000); + }; + + clientWithCheckpointStore.subscribe(subscriptionHandlers); + }); + + it("subscribe to all partitions, WITH checkpoint store, WITH loadBalancingOptions (greedy, updateInterval, expirationInterval)", () => { + validateOptions = (options) => { + // when the user gives us a checkpoint store and subscribes to all partitions, + // we use their loadBalancingOptions when provided. + options.ownerLevel!.should.equal(0); + should.not.exist(options.processingTarget); + options.loadBalancingStrategy.constructor.name.should.equal( + "GreedyLoadBalancingStrategy" + ); + (options.loadBalancingStrategy as GreedyLoadBalancingStrategy)[ + "_partitionOwnershipExpirationIntervalInMs" + ].should.equal(100); + options.loopIntervalInMs.should.equal(20); + }; + + clientWithCheckpointStore = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // it doesn't actually matter _what_ checkpoint store gets passed in + new InMemoryCheckpointStore(), + { + loadBalancingOptions: { + strategy: "greedy", + partitionOwnershipExpirationIntervalInMs: 100, + updateIntervalInMs: 20 + } } - } - ); - (clientWithCheckpointStore as any)["_createEventProcessor"] = fakeEventProcessorConstructor; - - clientWithCheckpointStore.subscribe(subscriptionHandlers); - }); - - it("subscribe to all partitions, WITH checkpoint store, WITH loadBalancingOptions (balanced, updateInterval, expirationInterval)", () => { - validateOptions = (options) => { - // when the user gives us a checkpoint store and subscribes to all partitions, - // we use their loadBalancingOptions when provided. - options.ownerLevel!.should.equal(0); - should.not.exist(options.processingTarget); - options.loadBalancingStrategy.constructor.name.should.equal( - "BalancedLoadBalancingStrategy" ); - (options.loadBalancingStrategy as BalancedLoadBalancingStrategy)[ - "_partitionOwnershipExpirationIntervalInMs" - ].should.equal(100); - options.loopIntervalInMs.should.equal(20); - }; - - clientWithCheckpointStore = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // it doesn't actually matter _what_ checkpoint store gets passed in - new InMemoryCheckpointStore(), - { - loadBalancingOptions: { - strategy: "balanced", - partitionOwnershipExpirationIntervalInMs: 100, - updateIntervalInMs: 20 + (clientWithCheckpointStore as any)[ + "_createEventProcessor" + ] = fakeEventProcessorConstructor; + + clientWithCheckpointStore.subscribe(subscriptionHandlers); + }); + + it("subscribe to all partitions, WITH checkpoint store, WITH loadBalancingOptions (balanced, updateInterval, expirationInterval)", () => { + validateOptions = (options) => { + // when the user gives us a checkpoint store and subscribes to all partitions, + // we use their loadBalancingOptions when provided. + options.ownerLevel!.should.equal(0); + should.not.exist(options.processingTarget); + options.loadBalancingStrategy.constructor.name.should.equal( + "BalancedLoadBalancingStrategy" + ); + (options.loadBalancingStrategy as BalancedLoadBalancingStrategy)[ + "_partitionOwnershipExpirationIntervalInMs" + ].should.equal(100); + options.loopIntervalInMs.should.equal(20); + }; + + clientWithCheckpointStore = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // it doesn't actually matter _what_ checkpoint store gets passed in + new InMemoryCheckpointStore(), + { + loadBalancingOptions: { + strategy: "balanced", + partitionOwnershipExpirationIntervalInMs: 100, + updateIntervalInMs: 20 + } } - } - ); - (clientWithCheckpointStore as any)["_createEventProcessor"] = fakeEventProcessorConstructor; - - clientWithCheckpointStore.subscribe(subscriptionHandlers); - }); - - it("subscribe to all partitions, WITH checkpoint store, WITH loadBalancingOptions (updateInterval, expirationInterval)", () => { - validateOptions = (options) => { - // when the user gives us a checkpoint store and subscribes to all partitions, - // we use their loadBalancingOptions when provided. - options.ownerLevel!.should.equal(0); - should.not.exist(options.processingTarget); - options.loadBalancingStrategy.constructor.name.should.equal( - "BalancedLoadBalancingStrategy" ); - (options.loadBalancingStrategy as BalancedLoadBalancingStrategy)[ - "_partitionOwnershipExpirationIntervalInMs" - ].should.equal(100); - options.loopIntervalInMs.should.equal(20); - }; - - clientWithCheckpointStore = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // it doesn't actually matter _what_ checkpoint store gets passed in - new InMemoryCheckpointStore(), - { - loadBalancingOptions: { - // default 'strategy' is 'balanced' - partitionOwnershipExpirationIntervalInMs: 100, - updateIntervalInMs: 20 + (clientWithCheckpointStore as any)[ + "_createEventProcessor" + ] = fakeEventProcessorConstructor; + + clientWithCheckpointStore.subscribe(subscriptionHandlers); + }); + + it("subscribe to all partitions, WITH checkpoint store, WITH loadBalancingOptions (updateInterval, expirationInterval)", () => { + validateOptions = (options) => { + // when the user gives us a checkpoint store and subscribes to all partitions, + // we use their loadBalancingOptions when provided. + options.ownerLevel!.should.equal(0); + should.not.exist(options.processingTarget); + options.loadBalancingStrategy.constructor.name.should.equal( + "BalancedLoadBalancingStrategy" + ); + (options.loadBalancingStrategy as BalancedLoadBalancingStrategy)[ + "_partitionOwnershipExpirationIntervalInMs" + ].should.equal(100); + options.loopIntervalInMs.should.equal(20); + }; + + clientWithCheckpointStore = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // it doesn't actually matter _what_ checkpoint store gets passed in + new InMemoryCheckpointStore(), + { + loadBalancingOptions: { + // default 'strategy' is 'balanced' + partitionOwnershipExpirationIntervalInMs: 100, + updateIntervalInMs: 20 + } } - } - ); - (clientWithCheckpointStore as any)["_createEventProcessor"] = fakeEventProcessorConstructor; - - clientWithCheckpointStore.subscribe(subscriptionHandlers); - }); - - it("subscribe to all partitions, WITH checkpoint store, WITH loadBalancingOptions (strategy)", () => { - validateOptions = (options) => { - // when the user gives us a checkpoint store and subscribes to all partitions, - // we use their loadBalancingOptions when provided. - options.ownerLevel!.should.equal(0); - should.not.exist(options.processingTarget); - options.loadBalancingStrategy.constructor.name.should.equal( - "GreedyLoadBalancingStrategy" ); - (options.loadBalancingStrategy as GreedyLoadBalancingStrategy)[ - "_partitionOwnershipExpirationIntervalInMs" - ].should.equal(60000); - options.loopIntervalInMs.should.equal(10000); - }; - - clientWithCheckpointStore = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // it doesn't actually matter _what_ checkpoint store gets passed in - new InMemoryCheckpointStore(), - { - loadBalancingOptions: { - strategy: "greedy" - // defaults are used for the rest of the parameters. + (clientWithCheckpointStore as any)[ + "_createEventProcessor" + ] = fakeEventProcessorConstructor; + + clientWithCheckpointStore.subscribe(subscriptionHandlers); + }); + + it("subscribe to all partitions, WITH checkpoint store, WITH loadBalancingOptions (strategy)", () => { + validateOptions = (options) => { + // when the user gives us a checkpoint store and subscribes to all partitions, + // we use their loadBalancingOptions when provided. + options.ownerLevel!.should.equal(0); + should.not.exist(options.processingTarget); + options.loadBalancingStrategy.constructor.name.should.equal( + "GreedyLoadBalancingStrategy" + ); + (options.loadBalancingStrategy as GreedyLoadBalancingStrategy)[ + "_partitionOwnershipExpirationIntervalInMs" + ].should.equal(60000); + options.loopIntervalInMs.should.equal(10000); + }; + + clientWithCheckpointStore = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // it doesn't actually matter _what_ checkpoint store gets passed in + new InMemoryCheckpointStore(), + { + loadBalancingOptions: { + strategy: "greedy" + // defaults are used for the rest of the parameters. + } } - } - ); - (clientWithCheckpointStore as any)["_createEventProcessor"] = fakeEventProcessorConstructor; + ); + (clientWithCheckpointStore as any)[ + "_createEventProcessor" + ] = fakeEventProcessorConstructor; - clientWithCheckpointStore.subscribe(subscriptionHandlers); - }); + clientWithCheckpointStore.subscribe(subscriptionHandlers); + }); - it("multiple subscribe calls from the same eventhubconsumerclient use the same owner ID", async () => { - let ownerId: string | undefined = undefined; + it("multiple subscribe calls from the same eventhubconsumerclient use the same owner ID", async () => { + let ownerId: string | undefined = undefined; - validateOptions = (options) => { - should.exist(options.ownerId); + validateOptions = (options) => { + should.exist(options.ownerId); - if (ownerId) { - options.ownerId!.should.equal(ownerId); - ownerId = options.ownerId; - } else { - ownerId = options.ownerId; - } - }; + if (ownerId) { + options.ownerId!.should.equal(ownerId); + ownerId = options.ownerId; + } else { + ownerId = options.ownerId; + } + }; - clientWithCheckpointStore.subscribe(subscriptionHandlers); + clientWithCheckpointStore.subscribe(subscriptionHandlers); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/eventPosition.spec.ts b/sdk/eventhub/event-hubs/test/internal/eventPosition.spec.ts index a03fee4a9cc9..f55d36b2a033 100644 --- a/sdk/eventhub/event-hubs/test/internal/eventPosition.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/eventPosition.spec.ts @@ -6,143 +6,149 @@ chai.should(); import { earliestEventPosition, latestEventPosition } from "../../src"; import { getEventPositionFilter, validateEventPositions } from "../../src/eventPosition"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; -describe("EventPosition", function(): void { - describe("happy", function(): void { - it("should create from an offset with inclusive false", function(done: Mocha.Done): void { - const result = "amqp.annotation.x-opt-offset > '1234'"; - const pos = { offset: 1234 }; - result.should.equal(getEventPositionFilter(pos)); - done(); - }); +testWithServiceTypes(() => { + describe("EventPosition", function(): void { + describe("happy", function(): void { + it("should create from an offset with inclusive false", function(done: Mocha.Done): void { + const result = "amqp.annotation.x-opt-offset > '1234'"; + const pos = { offset: 1234 }; + result.should.equal(getEventPositionFilter(pos)); + done(); + }); - it("should create from a sequence with inclusive false", function(done: Mocha.Done): void { - const result = "amqp.annotation.x-opt-sequence-number > '0'"; - const pos = { sequenceNumber: 0 }; - result.should.equal(getEventPositionFilter(pos)); - done(); - }); + it("should create from a sequence with inclusive false", function(done: Mocha.Done): void { + const result = "amqp.annotation.x-opt-sequence-number > '0'"; + const pos = { sequenceNumber: 0 }; + result.should.equal(getEventPositionFilter(pos)); + done(); + }); - it("should create from a sequence with inclusive true", function(done: Mocha.Done): void { - const result = "amqp.annotation.x-opt-sequence-number >= '0'"; - const pos = { sequenceNumber: 0, isInclusive: true }; - result.should.equal(getEventPositionFilter(pos)); - done(); - }); + it("should create from a sequence with inclusive true", function(done: Mocha.Done): void { + const result = "amqp.annotation.x-opt-sequence-number >= '0'"; + const pos = { sequenceNumber: 0, isInclusive: true }; + result.should.equal(getEventPositionFilter(pos)); + done(); + }); - it("should create from enqueuedTime with Date as Date", function(done: Mocha.Done): void { - const result = "amqp.annotation.x-opt-enqueued-time > '1537406052971'"; - const d = new Date("2018-09-20T01:14:12.971Z"); - const pos = { enqueuedOn: d }; - result.should.equal(getEventPositionFilter(pos)); - done(); - }); + it("should create from enqueuedTime with Date as Date", function(done: Mocha.Done): void { + const result = "amqp.annotation.x-opt-enqueued-time > '1537406052971'"; + const d = new Date("2018-09-20T01:14:12.971Z"); + const pos = { enqueuedOn: d }; + result.should.equal(getEventPositionFilter(pos)); + done(); + }); - it("should create from enqueuedTime with Date as number", function(done: Mocha.Done): void { - const result = "amqp.annotation.x-opt-enqueued-time > '1537406052971'"; - const d = new Date("2018-09-20T01:14:12.971Z").getTime(); - const pos = { enqueuedOn: d }; - result.should.equal(getEventPositionFilter(pos)); - done(); - }); + it("should create from enqueuedTime with Date as number", function(done: Mocha.Done): void { + const result = "amqp.annotation.x-opt-enqueued-time > '1537406052971'"; + const d = new Date("2018-09-20T01:14:12.971Z").getTime(); + const pos = { enqueuedOn: d }; + result.should.equal(getEventPositionFilter(pos)); + done(); + }); - // it("should create custom filter", function(done: Mocha.Done): void { - // const custom = "amqp.annotation.x-opt-custom > 'foo-bar'"; - // const pos = EventPosition.withCustomFilter(custom); - // custom.should.equal(getEventPositionFilter(pos)); - // done(); - // }); + // it("should create custom filter", function(done: Mocha.Done): void { + // const custom = "amqp.annotation.x-opt-custom > 'foo-bar'"; + // const pos = EventPosition.withCustomFilter(custom); + // custom.should.equal(getEventPositionFilter(pos)); + // done(); + // }); - it("should create from an offset from start", function(done: Mocha.Done): void { - const result = "amqp.annotation.x-opt-offset > '-1'"; - const pos = earliestEventPosition; - result.should.equal(getEventPositionFilter(pos)); - done(); - }); + it("should create from an offset from start", function(done: Mocha.Done): void { + const result = "amqp.annotation.x-opt-offset > '-1'"; + const pos = earliestEventPosition; + result.should.equal(getEventPositionFilter(pos)); + done(); + }); - it("should create from an offset from end", function(done: Mocha.Done): void { - const result = "amqp.annotation.x-opt-offset > '@latest'"; - const pos = latestEventPosition; - result.should.equal(getEventPositionFilter(pos)); - done(); + it("should create from an offset from end", function(done: Mocha.Done): void { + const result = "amqp.annotation.x-opt-offset > '@latest'"; + const pos = latestEventPosition; + result.should.equal(getEventPositionFilter(pos)); + done(); + }); }); - }); - describe("sad", function(): void { - it("throws error when empty object is passed for event position", () => { - const test = function(): void { - validateEventPositions({}); - }; - test.should.throw( - TypeError, - "Invalid value for EventPosition found. Pass an object with either of offset, sequenceNumber or enqueuedOn properties set." - ); - }); - it("throws error when event position is passed with both offset and sequence number set", () => { - const test = function(): void { - validateEventPositions({ offset: 123, sequenceNumber: 456 }); - }; - test.should.throw( - TypeError, - "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." - ); - }); - it("throws error when event position is passed with both offset and enqueuedOn set", () => { - const test = function(): void { - validateEventPositions({ offset: 123, enqueuedOn: 456 }); - }; - test.should.throw( - TypeError, - "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." - ); - }); - it("throws error when event position is passed with both sequence number and enqueuedOn set", () => { - const test = function(): void { - validateEventPositions({ sequenceNumber: 123, enqueuedOn: 456 }); - }; - test.should.throw( - TypeError, - "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." - ); - }); - it("throws error when empty object is passed in event position map", () => { - const test = function(): void { - validateEventPositions({ "1": {}, "2": { offset: 123 } }); - }; - test.should.throw( - TypeError, - "Invalid value for EventPosition found. Pass an object with either of offset, sequenceNumber or enqueuedOn properties set." - ); - }); - it("throws error when event position map is passed with both offset and sequence number set", () => { - const test = function(): void { - validateEventPositions({ "1": { offset: 123, sequenceNumber: 456 }, "2": { offset: 123 } }); - }; - test.should.throw( - TypeError, - "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." - ); - }); - it("throws error when event position map is passed with both offset and enqueuedOn set", () => { - const test = function(): void { - validateEventPositions({ "1": { offset: 123, enqueuedOn: 456 }, "2": { offset: 123 } }); - }; - test.should.throw( - TypeError, - "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." - ); - }); - it("throws error when event position map is passed with both sequence number and enqueuedOn set", () => { - const test = function(): void { - validateEventPositions({ - "1": { sequenceNumber: 123, enqueuedOn: 456 }, - "2": { offset: 123 } - }); - }; - test.should.throw( - TypeError, - "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." - ); + describe("sad", function(): void { + it("throws error when empty object is passed for event position", () => { + const test = function(): void { + validateEventPositions({}); + }; + test.should.throw( + TypeError, + "Invalid value for EventPosition found. Pass an object with either of offset, sequenceNumber or enqueuedOn properties set." + ); + }); + it("throws error when event position is passed with both offset and sequence number set", () => { + const test = function(): void { + validateEventPositions({ offset: 123, sequenceNumber: 456 }); + }; + test.should.throw( + TypeError, + "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." + ); + }); + it("throws error when event position is passed with both offset and enqueuedOn set", () => { + const test = function(): void { + validateEventPositions({ offset: 123, enqueuedOn: 456 }); + }; + test.should.throw( + TypeError, + "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." + ); + }); + it("throws error when event position is passed with both sequence number and enqueuedOn set", () => { + const test = function(): void { + validateEventPositions({ sequenceNumber: 123, enqueuedOn: 456 }); + }; + test.should.throw( + TypeError, + "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." + ); + }); + it("throws error when empty object is passed in event position map", () => { + const test = function(): void { + validateEventPositions({ "1": {}, "2": { offset: 123 } }); + }; + test.should.throw( + TypeError, + "Invalid value for EventPosition found. Pass an object with either of offset, sequenceNumber or enqueuedOn properties set." + ); + }); + it("throws error when event position map is passed with both offset and sequence number set", () => { + const test = function(): void { + validateEventPositions({ + "1": { offset: 123, sequenceNumber: 456 }, + "2": { offset: 123 } + }); + }; + test.should.throw( + TypeError, + "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." + ); + }); + it("throws error when event position map is passed with both offset and enqueuedOn set", () => { + const test = function(): void { + validateEventPositions({ "1": { offset: 123, enqueuedOn: 456 }, "2": { offset: 123 } }); + }; + test.should.throw( + TypeError, + "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." + ); + }); + it("throws error when event position map is passed with both sequence number and enqueuedOn set", () => { + const test = function(): void { + validateEventPositions({ + "1": { sequenceNumber: 123, enqueuedOn: 456 }, + "2": { offset: 123 } + }); + }; + test.should.throw( + TypeError, + "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." + ); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/eventProcessor.spec.ts b/sdk/eventhub/event-hubs/test/internal/eventProcessor.spec.ts index 14898c908233..9cface634c82 100644 --- a/sdk/eventhub/event-hubs/test/internal/eventProcessor.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/eventProcessor.spec.ts @@ -38,286 +38,512 @@ import { AbortController } from "@azure/abort-controller"; import { UnbalancedLoadBalancingStrategy } from "../../src/loadBalancerStrategies/unbalancedStrategy"; import { BalancedLoadBalancingStrategy } from "../../src/loadBalancerStrategies/balancedStrategy"; import { GreedyLoadBalancingStrategy } from "../../src/loadBalancerStrategies/greedyStrategy"; -const env = getEnvVars(); - -describe("Event Processor", function(): void { - const defaultOptions: FullEventProcessorOptions = { - maxBatchSize: 1, - maxWaitTimeInSeconds: 1, - ownerLevel: 0, - loopIntervalInMs: 10000, - loadBalancingStrategy: new UnbalancedLoadBalancingStrategy() - }; - - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - let producerClient: EventHubProducerClient; - let consumerClient: EventHubConsumerClient; - - before("validate environment", async function(): Promise { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - beforeEach("create the client", function() { - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - }); - - afterEach("close the connection", async function(): Promise { - await producerClient.close(); - await consumerClient.close(); - }); - - describe("unit tests", () => { - describe("_getStartingPosition", () => { - function createEventProcessor( - checkpointStore: CheckpointStore, - startPosition?: FullEventProcessorOptions["startPosition"] - ): EventProcessor { - return new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - { - processEvents: async () => { - /* no-op */ +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; +import { createMockServer } from "../public/utils/mockService"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); + + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("Event Processor", function(): void { + const defaultOptions: FullEventProcessorOptions = { + maxBatchSize: 1, + maxWaitTimeInSeconds: 1, + ownerLevel: 0, + loopIntervalInMs: 10000, + loadBalancingStrategy: new UnbalancedLoadBalancingStrategy() + }; + + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + let producerClient: EventHubProducerClient; + let consumerClient: EventHubConsumerClient; + + before("validate environment", async function(): Promise { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); + + beforeEach("create the client", function() { + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); + }); + + afterEach("close the connection", async function(): Promise { + await producerClient.close(); + await consumerClient.close(); + }); + + describe("unit tests", () => { + describe("_getStartingPosition", () => { + function createEventProcessor( + checkpointStore: CheckpointStore, + startPosition?: FullEventProcessorOptions["startPosition"] + ): EventProcessor { + return new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + { + processEvents: async () => { + /* no-op */ + }, + processError: async () => { + /* no-op */ + } }, - processError: async () => { - /* no-op */ + checkpointStore, + { + startPosition, + maxBatchSize: 1, + maxWaitTimeInSeconds: 1, + loadBalancingStrategy: defaultOptions.loadBalancingStrategy, + loopIntervalInMs: defaultOptions.loopIntervalInMs } - }, - checkpointStore, - { - startPosition, - maxBatchSize: 1, - maxWaitTimeInSeconds: 1, - loadBalancingStrategy: defaultOptions.loadBalancingStrategy, - loopIntervalInMs: defaultOptions.loopIntervalInMs - } - ); - } + ); + } - const emptyCheckpointStore = createCheckpointStore([]); + const emptyCheckpointStore = createCheckpointStore([]); - function createCheckpointStore( - checkpointsForTest: Pick[] - ): CheckpointStore { - return { - claimOwnership: async () => { - return []; - }, - listCheckpoints: async () => { - return checkpointsForTest.map((cp) => { - return { - fullyQualifiedNamespace: "not-used-for-this-test", - consumerGroup: "not-used-for-this-test", - eventHubName: "not-used-for-this-test", - offset: cp.offset, - sequenceNumber: cp.sequenceNumber, - partitionId: cp.partitionId - }; + function createCheckpointStore( + checkpointsForTest: Pick[] + ): CheckpointStore { + return { + claimOwnership: async () => { + return []; + }, + listCheckpoints: async () => { + return checkpointsForTest.map((cp) => { + return { + fullyQualifiedNamespace: "not-used-for-this-test", + consumerGroup: "not-used-for-this-test", + eventHubName: "not-used-for-this-test", + offset: cp.offset, + sequenceNumber: cp.sequenceNumber, + partitionId: cp.partitionId + }; + }); + }, + listOwnership: async () => { + return []; + }, + updateCheckpoint: async () => { + /* no-op */ + } + }; + } + + before(() => { + consumerClient["_context"].managementSession!.getEventHubProperties = async () => { + return Promise.resolve({ + name: "boo", + createdOn: new Date(), + partitionIds: ["0", "1"] }); - }, - listOwnership: async () => { - return []; - }, - updateCheckpoint: async () => { - /* no-op */ - } - }; - } + }; + }); - before(() => { - consumerClient["_context"].managementSession!.getEventHubProperties = async () => { - return Promise.resolve({ - name: "boo", - createdOn: new Date(), - partitionIds: ["0", "1"] - }); - }; - }); + it("no checkpoint or user specified default", async () => { + const processor = createEventProcessor(emptyCheckpointStore); - it("no checkpoint or user specified default", async () => { - const processor = createEventProcessor(emptyCheckpointStore); + const eventPosition = await processor["_getStartingPosition"]("0"); + should.equal(isLatestPosition(eventPosition), true); + }); - const eventPosition = await processor["_getStartingPosition"]("0"); - should.equal(isLatestPosition(eventPosition), true); - }); + it("has a checkpoint", async () => { + const checkpointStore = createCheckpointStore([ + { + offset: 1009, + sequenceNumber: 1010, + partitionId: "0" + } + ]); - it("has a checkpoint", async () => { - const checkpointStore = createCheckpointStore([ - { - offset: 1009, - sequenceNumber: 1010, - partitionId: "0" - } - ]); + const processor = createEventProcessor( + checkpointStore, + // checkpoints always win over the user's specified position + latestEventPosition + ); - const processor = createEventProcessor( - checkpointStore, - // checkpoints always win over the user's specified position - latestEventPosition - ); + const eventPosition = await processor["_getStartingPosition"]("0"); + eventPosition!.offset!.should.equal(1009); + should.not.exist(eventPosition!.sequenceNumber); + }); - const eventPosition = await processor["_getStartingPosition"]("0"); - eventPosition!.offset!.should.equal(1009); - should.not.exist(eventPosition!.sequenceNumber); - }); + it("checkpoint with falsy values", async () => { + // this caused a bug for us before - it's a perfectly valid offset + // but we were thrown off by its falsy-ness. (actually it was + // sequence number before but the concept is the same) + const checkpointStore = createCheckpointStore([ + { + offset: 0, + sequenceNumber: 0, + partitionId: "0" + } + ]); - it("checkpoint with falsy values", async () => { - // this caused a bug for us before - it's a perfectly valid offset - // but we were thrown off by its falsy-ness. (actually it was - // sequence number before but the concept is the same) - const checkpointStore = createCheckpointStore([ - { - offset: 0, - sequenceNumber: 0, - partitionId: "0" - } - ]); + const processor = createEventProcessor(checkpointStore); + + const eventPosition = await processor["_getStartingPosition"]("0"); + eventPosition!.offset!.should.equal(0); + should.not.exist(eventPosition!.sequenceNumber); + }); - const processor = createEventProcessor(checkpointStore); + it("using a single default event position for any partition", async () => { + const processor = createEventProcessor(emptyCheckpointStore, { offset: 1009 }); - const eventPosition = await processor["_getStartingPosition"]("0"); - eventPosition!.offset!.should.equal(0); - should.not.exist(eventPosition!.sequenceNumber); - }); + const eventPosition = await processor["_getStartingPosition"]("0"); + eventPosition!.offset!.should.equal(1009); + should.not.exist(eventPosition!.sequenceNumber); + }); - it("using a single default event position for any partition", async () => { - const processor = createEventProcessor(emptyCheckpointStore, { offset: 1009 }); + it("using a fallback map", async () => { + const fallbackPositions = { "0": { offset: 2001 } }; + // we'll purposefully omit "1" which should act as "fallback to the fallback" which is earliest() - const eventPosition = await processor["_getStartingPosition"]("0"); - eventPosition!.offset!.should.equal(1009); - should.not.exist(eventPosition!.sequenceNumber); + const processor = createEventProcessor(emptyCheckpointStore, fallbackPositions); + + const eventPositionForPartitionZero = await processor["_getStartingPosition"]("0"); + eventPositionForPartitionZero!.offset!.should.equal(2001); + should.not.exist(eventPositionForPartitionZero!.sequenceNumber); + + const eventPositionForPartitionOne = await processor["_getStartingPosition"]("1"); + should.equal(isLatestPosition(eventPositionForPartitionOne), true); + }); }); - it("using a fallback map", async () => { - const fallbackPositions = { "0": { offset: 2001 } }; - // we'll purposefully omit "1" which should act as "fallback to the fallback" which is earliest() + describe("_handleSubscriptionError", () => { + let eventProcessor: EventProcessor; + let userCallback: (() => void) | undefined; + let errorFromCallback: Error | undefined; + let contextFromCallback: PartitionContext | undefined; + + beforeEach(() => { + userCallback = undefined; + errorFromCallback = undefined; + contextFromCallback = undefined; + + // note: we're not starting this event processor so there's nothing to stop() + // it's only here so we can call a few private methods on it. + eventProcessor = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + { + processEvents: async () => { + /* no-op */ + }, + processError: async (err, context) => { + // simulate the user messing up and accidentally throwing an error + // we should just log it and not kill anything. + errorFromCallback = err; + contextFromCallback = context; + + if (userCallback) { + userCallback(); + } + } + }, + new InMemoryCheckpointStore(), + defaultOptions + ); + }); - const processor = createEventProcessor(emptyCheckpointStore, fallbackPositions); + it("error thrown from user's processError handler", async () => { + // the user's error handler will throw an error - won't escape from this function + userCallback = () => { + throw new Error("Error thrown from the user's error handler"); + }; - const eventPositionForPartitionZero = await processor["_getStartingPosition"]("0"); - eventPositionForPartitionZero!.offset!.should.equal(2001); - should.not.exist(eventPositionForPartitionZero!.sequenceNumber); + await eventProcessor["_handleSubscriptionError"](new Error("test error")); - const eventPositionForPartitionOne = await processor["_getStartingPosition"]("1"); - should.equal(isLatestPosition(eventPositionForPartitionOne), true); + errorFromCallback!.message.should.equal("test error"); + contextFromCallback!.partitionId.should.equal(""); + }); + + it("non-useful errors are filtered out", async () => { + // the user's error handler will throw an error - won't escape from this function + + await eventProcessor["_handleSubscriptionError"](new AbortError("test error")); + + // we don't call the user's handler for abort errors + should.not.exist(errorFromCallback); + should.not.exist(contextFromCallback); + }); }); - }); - describe("_handleSubscriptionError", () => { - let eventProcessor: EventProcessor; - let userCallback: (() => void) | undefined; - let errorFromCallback: Error | undefined; - let contextFromCallback: PartitionContext | undefined; + it("if we fail to claim partitions we don't start up new processors", async () => { + const checkpointStore = { + claimOwnershipCalled: false, - beforeEach(() => { - userCallback = undefined; - errorFromCallback = undefined; - contextFromCallback = undefined; + // the important thing is that the EventProcessor won't be able to claim + // any partitions, causing it to go down the "I tried but failed" path. + async claimOwnership(_: PartitionOwnership[]): Promise { + checkpointStore.claimOwnershipCalled = true; + return []; + }, - // note: we're not starting this event processor so there's nothing to stop() - // it's only here so we can call a few private methods on it. - eventProcessor = new EventProcessor( + // (these aren't used for this test) + async listOwnership(): Promise { + return []; + }, + async updateCheckpoint(): Promise { + /* no-op */ + }, + async listCheckpoints(): Promise { + return []; + } + }; + + const pumpManager = { + createPumpCalled: false, + + async createPump() { + pumpManager.createPumpCalled = true; + }, + + async removeAllPumps() { + /* no-op */ + }, + + isReceivingFromPartition() { + return false; + }, + + receivingFromPartitions() { + return []; + } + }; + + const eventProcessor = new EventProcessor( EventHubConsumerClient.defaultConsumerGroupName, consumerClient["_context"], { processEvents: async () => { /* no-op */ }, - processError: async (err, context) => { - // simulate the user messing up and accidentally throwing an error - // we should just log it and not kill anything. - errorFromCallback = err; - contextFromCallback = context; - - if (userCallback) { - userCallback(); - } + processError: async () => { + /* no-op */ } }, - new InMemoryCheckpointStore(), - defaultOptions + checkpointStore, + { + ...defaultOptions, + pumpManager: pumpManager + } ); + + await eventProcessor["_claimOwnership"]( + { + consumerGroup: "cgname", + eventHubName: "ehname", + fullyQualifiedNamespace: "fqdn", + ownerId: "owner", + partitionId: "0" + }, + new AbortController().signal + ); + + // when we fail to claim a partition we should _definitely_ + // not attempt to start a pump. + should.equal(pumpManager.createPumpCalled, false); + + // we'll attempt to claim a partition (but won't succeed) + should.equal(checkpointStore.claimOwnershipCalled, true); }); - it("error thrown from user's processError handler", async () => { - // the user's error handler will throw an error - won't escape from this function - userCallback = () => { - throw new Error("Error thrown from the user's error handler"); + it("abandoned claims are treated as unowned claims", async () => { + const commonFields = { + fullyQualifiedNamespace: "irrelevant namespace", + eventHubName: "irrelevant eventhub name", + consumerGroup: "irrelevant consumer group" }; - await eventProcessor["_handleSubscriptionError"](new Error("test error")); + const handlers = new FakeSubscriptionEventHandlers(); + const checkpointStore = new InMemoryCheckpointStore(); - errorFromCallback!.message.should.equal("test error"); - contextFromCallback!.partitionId.should.equal(""); - }); + const originalClaimedPartitions = await checkpointStore.claimOwnership([ + // abandoned claim + { ...commonFields, partitionId: "1001", ownerId: "", etag: "abandoned etag" }, + // normally owned claim + { ...commonFields, partitionId: "1002", ownerId: "owned partition", etag: "owned etag" } + // 1003 - completely unowned + ]); - it("non-useful errors are filtered out", async () => { - // the user's error handler will throw an error - won't escape from this function + originalClaimedPartitions.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); - await eventProcessor["_handleSubscriptionError"](new AbortError("test error")); + const partitionIds = ["1001", "1002", "1003"]; - // we don't call the user's handler for abort errors - should.not.exist(errorFromCallback); - should.not.exist(contextFromCallback); - }); - }); + const fakeConnectionContext = { + managementSession: { + getEventHubProperties: async () => { + return { + partitionIds + }; + } + }, + config: { + entityPath: commonFields.eventHubName, + host: commonFields.fullyQualifiedNamespace + } + }; - it("if we fail to claim partitions we don't start up new processors", async () => { - const checkpointStore = { - claimOwnershipCalled: false, + const ep = new EventProcessor( + commonFields.consumerGroup, + fakeConnectionContext as any, + handlers, + checkpointStore, + { + maxBatchSize: 1, + loopIntervalInMs: 1, + maxWaitTimeInSeconds: 1, + pumpManager: { + async createPump() { + /* no-op */ + }, + async removeAllPumps(): Promise { + /* no-op */ + }, + isReceivingFromPartition() { + return false; + } + }, + loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) + } + ); - // the important thing is that the EventProcessor won't be able to claim - // any partitions, causing it to go down the "I tried but failed" path. - async claimOwnership(_: PartitionOwnership[]): Promise { - checkpointStore.claimOwnershipCalled = true; - return []; - }, + // allow three iterations through the loop - one for each partition that + // we expect to be claimed + // + // we'll let one more go through just to make sure we're not going to + // pick up an extra surprise partition + // + // There are 6 places where the abort signal is checked during the loop: + // - while condition + // - getEventHubProperties + // - _performLoadBalancing (start) + // - _performLoadBalancing (after listOwnership) + // - _performLoadBalancing (passed to _claimOwnership) + // - delay + const numTimesAbortedIsCheckedInLoop = 6; + await ep["_runLoopWithLoadBalancing"]( + ep["_loadBalancingStrategy"], + triggerAbortedSignalAfterNumCalls(partitionIds.length * numTimesAbortedIsCheckedInLoop) + ); - // (these aren't used for this test) - async listOwnership(): Promise { - return []; - }, - async updateCheckpoint(): Promise { - /* no-op */ - }, - async listCheckpoints(): Promise { - return []; - } - }; + handlers.errors.should.deep.equal([]); - const pumpManager = { - createPumpCalled: false, + const currentOwnerships = await checkpointStore.listOwnership( + commonFields.fullyQualifiedNamespace, + commonFields.eventHubName, + commonFields.consumerGroup + ); + currentOwnerships.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); - async createPump() { - pumpManager.createPumpCalled = true; - }, + currentOwnerships.should.deep.equal([ + { + ...commonFields, + partitionId: "1001", + ownerId: ep.id, + etag: currentOwnerships[0].etag, + lastModifiedTimeInMs: currentOwnerships[0].lastModifiedTimeInMs + }, + // 1002 is not going to be claimed since it's already owned so it should be untouched + originalClaimedPartitions[1], + { + ...commonFields, + partitionId: "1003", + ownerId: ep.id, + etag: currentOwnerships[2].etag, + lastModifiedTimeInMs: currentOwnerships[2].lastModifiedTimeInMs + } + ]); - async removeAllPumps() { - /* no-op */ - }, + // now let's "unclaim" everything by stopping our event processor + await ep.stop(); - isReceivingFromPartition() { - return false; - }, + // sanity check - we were previously modifying the original instances + // in place which...isn't right. + currentOwnerships.should.deep.equal([ + { + ...commonFields, + partitionId: "1001", + ownerId: ep.id, + etag: currentOwnerships[0].etag, + lastModifiedTimeInMs: currentOwnerships[0].lastModifiedTimeInMs + }, + // 1002 is not going to be claimed since it's already owned so it should be untouched + originalClaimedPartitions[1], + { + ...commonFields, + partitionId: "1003", + ownerId: ep.id, + etag: currentOwnerships[2].etag, + lastModifiedTimeInMs: currentOwnerships[2].lastModifiedTimeInMs + } + ]); - receivingFromPartitions() { - return []; - } + const ownershipsAfterStop = await checkpointStore.listOwnership( + commonFields.fullyQualifiedNamespace, + commonFields.eventHubName, + commonFields.consumerGroup + ); + ownershipsAfterStop.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); + + ownershipsAfterStop.should.deep.equal([ + { + ...commonFields, + partitionId: "1001", + ownerId: "", + etag: ownershipsAfterStop[0].etag, + lastModifiedTimeInMs: ownershipsAfterStop[0].lastModifiedTimeInMs + }, + // 1002 is not going to be claimed since it's already owned so it should be untouched + originalClaimedPartitions[1], + { + ...commonFields, + partitionId: "1003", + ownerId: "", + etag: ownershipsAfterStop[2].etag, + lastModifiedTimeInMs: ownershipsAfterStop[2].lastModifiedTimeInMs + } + ]); + }); + }); + + it("claimOwnership throws and is reported to the user", async () => { + const errors = []; + const partitionIds = await consumerClient.getPartitionIds(); + + const faultyCheckpointStore: CheckpointStore = { + listOwnership: async () => [], + claimOwnership: async () => { + throw new Error("Some random failure!"); + }, + updateCheckpoint: async () => { + /* no-op */ + }, + listCheckpoints: async () => [] }; const eventProcessor = new EventProcessor( @@ -327,482 +553,219 @@ describe("Event Processor", function(): void { processEvents: async () => { /* no-op */ }, - processError: async () => { - /* no-op */ + processError: async (err, _) => { + errors.push(err); } }, - checkpointStore, + faultyCheckpointStore, { - ...defaultOptions, - pumpManager: pumpManager + ...defaultOptions } ); - await eventProcessor["_claimOwnership"]( - { - consumerGroup: "cgname", - eventHubName: "ehname", - fullyQualifiedNamespace: "fqdn", - ownerId: "owner", - partitionId: "0" - }, - new AbortController().signal - ); + // claimOwnership() calls that fail in the runloop of eventProcessor + // will get directed to the user's processError handler. + eventProcessor.start(); - // when we fail to claim a partition we should _definitely_ - // not attempt to start a pump. - should.equal(pumpManager.createPumpCalled, false); + try { + await loopUntil({ + name: "waiting for checkpoint store errors to show up", + timeBetweenRunsMs: 1000, + maxTimes: 30, + until: async () => errors.length !== 0 + }); - // we'll attempt to claim a partition (but won't succeed) - should.equal(checkpointStore.claimOwnershipCalled, true); + errors.length.should.equal(partitionIds.length); + } finally { + // this will also fail - we "abandon" all claimed partitions at + // when a processor is stopped (which requires us to claim them + // with an empty owner ID). + // + // Note that this one gets thrown directly from stop(), rather + // than reporting to processError() since we have a direct + // point of contact with the user. + await eventProcessor.stop().should.be.rejectedWith(/Some random failure!/); + } }); - it("abandoned claims are treated as unowned claims", async () => { - const commonFields = { - fullyQualifiedNamespace: "irrelevant namespace", - eventHubName: "irrelevant eventhub name", - consumerGroup: "irrelevant consumer group" - }; - - const handlers = new FakeSubscriptionEventHandlers(); - const checkpointStore = new InMemoryCheckpointStore(); - - const originalClaimedPartitions = await checkpointStore.claimOwnership([ - // abandoned claim - { ...commonFields, partitionId: "1001", ownerId: "", etag: "abandoned etag" }, - // normally owned claim - { ...commonFields, partitionId: "1002", ownerId: "owned partition", etag: "owned etag" } - // 1003 - completely unowned - ]); - - originalClaimedPartitions.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); - - const partitionIds = ["1001", "1002", "1003"]; - - const fakeConnectionContext = { - managementSession: { - getEventHubProperties: async () => { - return { - partitionIds - }; - } - }, - config: { - entityPath: commonFields.eventHubName, - host: commonFields.fullyQualifiedNamespace - } - }; + it("errors thrown from the user's handlers are reported to processError()", async () => { + const errors = new Set(); + const partitionIds = await consumerClient.getPartitionIds(); + + const processCloseErrorMessage = "processClose() error"; + const processEventsErrorMessage = "processEvents() error"; + const processInitializeErrorMessage = "processInitialize() error"; + const expectedErrorMessages: string[] = []; + for (let i = 0; i < partitionIds.length; i++) { + expectedErrorMessages.push( + processCloseErrorMessage, + processEventsErrorMessage, + processInitializeErrorMessage + ); + } + expectedErrorMessages.sort(); - const ep = new EventProcessor( - commonFields.consumerGroup, - fakeConnectionContext as any, - handlers, - checkpointStore, + const eventProcessor = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], { - maxBatchSize: 1, - loopIntervalInMs: 1, - maxWaitTimeInSeconds: 1, - pumpManager: { - async createPump() { - /* no-op */ - }, - async removeAllPumps(): Promise { - /* no-op */ - }, - isReceivingFromPartition() { - return false; - } + processClose: async () => { + throw new Error(processCloseErrorMessage); }, - loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) - } - ); - - // allow three iterations through the loop - one for each partition that - // we expect to be claimed - // - // we'll let one more go through just to make sure we're not going to - // pick up an extra surprise partition - // - // There are 6 places where the abort signal is checked during the loop: - // - while condition - // - getEventHubProperties - // - _performLoadBalancing (start) - // - _performLoadBalancing (after listOwnership) - // - _performLoadBalancing (passed to _claimOwnership) - // - delay - const numTimesAbortedIsCheckedInLoop = 6; - await ep["_runLoopWithLoadBalancing"]( - ep["_loadBalancingStrategy"], - triggerAbortedSignalAfterNumCalls(partitionIds.length * numTimesAbortedIsCheckedInLoop) - ); - - handlers.errors.should.deep.equal([]); - - const currentOwnerships = await checkpointStore.listOwnership( - commonFields.fullyQualifiedNamespace, - commonFields.eventHubName, - commonFields.consumerGroup - ); - currentOwnerships.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); - - currentOwnerships.should.deep.equal([ - { - ...commonFields, - partitionId: "1001", - ownerId: ep.id, - etag: currentOwnerships[0].etag, - lastModifiedTimeInMs: currentOwnerships[0].lastModifiedTimeInMs + processEvents: async () => { + throw new Error(processEventsErrorMessage); + }, + processInitialize: async () => { + throw new Error(processInitializeErrorMessage); + }, + processError: async (err, _) => { + errors.add(err); + throw new Error("These are logged but ignored"); + } }, - // 1002 is not going to be claimed since it's already owned so it should be untouched - originalClaimedPartitions[1], + new InMemoryCheckpointStore(), { - ...commonFields, - partitionId: "1003", - ownerId: ep.id, - etag: currentOwnerships[2].etag, - lastModifiedTimeInMs: currentOwnerships[2].lastModifiedTimeInMs + ...defaultOptions, + startPosition: earliestEventPosition } - ]); + ); - // now let's "unclaim" everything by stopping our event processor - await ep.stop(); + // errors that occur within the user's own event handlers will get + // routed to their processError() handler + eventProcessor.start(); + try { + await loopUntil({ + name: "waiting for errors thrown from user's handlers", + timeBetweenRunsMs: 1000, + maxTimes: 30, + until: async () => { + return errors.size >= partitionIds.length * 3; + } + }); + const messages = [...errors].map((e) => e.message); + messages.sort(); + messages.should.deep.equal(expectedErrorMessages); + } finally { + await eventProcessor.stop(); + } + }); - // sanity check - we were previously modifying the original instances - // in place which...isn't right. - currentOwnerships.should.deep.equal([ + it("should expose an id", async function(): Promise { + const processor = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], { - ...commonFields, - partitionId: "1001", - ownerId: ep.id, - etag: currentOwnerships[0].etag, - lastModifiedTimeInMs: currentOwnerships[0].lastModifiedTimeInMs + processEvents: async () => { + /* no-op */ + }, + processError: async () => { + /* no-op */ + } }, - // 1002 is not going to be claimed since it's already owned so it should be untouched - originalClaimedPartitions[1], + new InMemoryCheckpointStore(), { - ...commonFields, - partitionId: "1003", - ownerId: ep.id, - etag: currentOwnerships[2].etag, - lastModifiedTimeInMs: currentOwnerships[2].lastModifiedTimeInMs + ...defaultOptions, + startPosition: latestEventPosition } - ]); - - const ownershipsAfterStop = await checkpointStore.listOwnership( - commonFields.fullyQualifiedNamespace, - commonFields.eventHubName, - commonFields.consumerGroup ); - ownershipsAfterStop.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); - ownershipsAfterStop.should.deep.equal([ - { - ...commonFields, - partitionId: "1001", - ownerId: "", - etag: ownershipsAfterStop[0].etag, - lastModifiedTimeInMs: ownershipsAfterStop[0].lastModifiedTimeInMs - }, - // 1002 is not going to be claimed since it's already owned so it should be untouched - originalClaimedPartitions[1], - { - ...commonFields, - partitionId: "1003", - ownerId: "", - etag: ownershipsAfterStop[2].etag, - lastModifiedTimeInMs: ownershipsAfterStop[2].lastModifiedTimeInMs - } - ]); + const id = processor.id; + id.length.should.be.gt(1); }); - }); - - it("claimOwnership throws and is reported to the user", async () => { - const errors = []; - const partitionIds = await consumerClient.getPartitionIds(); - - const faultyCheckpointStore: CheckpointStore = { - listOwnership: async () => [], - claimOwnership: async () => { - throw new Error("Some random failure!"); - }, - updateCheckpoint: async () => { - /* no-op */ - }, - listCheckpoints: async () => [] - }; - const eventProcessor = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - { - processEvents: async () => { - /* no-op */ + it("id can be forced to be a specific value", async function(): Promise { + const processor = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + { + processEvents: async () => { + /* no-op */ + }, + processError: async () => { + /* no-op */ + } }, - processError: async (err, _) => { - errors.push(err); - } - }, - faultyCheckpointStore, - { - ...defaultOptions - } - ); - - // claimOwnership() calls that fail in the runloop of eventProcessor - // will get directed to the user's processError handler. - eventProcessor.start(); - - try { - await loopUntil({ - name: "waiting for checkpoint store errors to show up", - timeBetweenRunsMs: 1000, - maxTimes: 30, - until: async () => errors.length !== 0 - }); - - errors.length.should.equal(partitionIds.length); - } finally { - // this will also fail - we "abandon" all claimed partitions at - // when a processor is stopped (which requires us to claim them - // with an empty owner ID). - // - // Note that this one gets thrown directly from stop(), rather - // than reporting to processError() since we have a direct - // point of contact with the user. - await eventProcessor.stop().should.be.rejectedWith(/Some random failure!/); - } - }); - - it("errors thrown from the user's handlers are reported to processError()", async () => { - const errors = new Set(); - const partitionIds = await consumerClient.getPartitionIds(); - - const processCloseErrorMessage = "processClose() error"; - const processEventsErrorMessage = "processEvents() error"; - const processInitializeErrorMessage = "processInitialize() error"; - const expectedErrorMessages: string[] = []; - for (let i = 0; i < partitionIds.length; i++) { - expectedErrorMessages.push( - processCloseErrorMessage, - processEventsErrorMessage, - processInitializeErrorMessage + new InMemoryCheckpointStore(), + { ...defaultOptions, ownerId: "hello", startPosition: latestEventPosition } ); - } - expectedErrorMessages.sort(); - - const eventProcessor = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - { - processClose: async () => { - throw new Error(processCloseErrorMessage); - }, - processEvents: async () => { - throw new Error(processEventsErrorMessage); - }, - processInitialize: async () => { - throw new Error(processInitializeErrorMessage); - }, - processError: async (err, _) => { - errors.add(err); - throw new Error("These are logged but ignored"); - } - }, - new InMemoryCheckpointStore(), - { - ...defaultOptions, - startPosition: earliestEventPosition - } - ); - - // errors that occur within the user's own event handlers will get - // routed to their processError() handler - eventProcessor.start(); - try { - await loopUntil({ - name: "waiting for errors thrown from user's handlers", - timeBetweenRunsMs: 1000, - maxTimes: 30, - until: async () => { - return errors.size >= partitionIds.length * 3; - } - }); - const messages = [...errors].map((e) => e.message); - messages.sort(); - messages.should.deep.equal(expectedErrorMessages); - } finally { - await eventProcessor.stop(); - } - }); - - it("should expose an id", async function(): Promise { - const processor = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - { - processEvents: async () => { - /* no-op */ - }, - processError: async () => { - /* no-op */ - } - }, - new InMemoryCheckpointStore(), - { - ...defaultOptions, - startPosition: latestEventPosition - } - ); - - const id = processor.id; - id.length.should.be.gt(1); - }); - - it("id can be forced to be a specific value", async function(): Promise { - const processor = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - { - processEvents: async () => { - /* no-op */ - }, - processError: async () => { - /* no-op */ - } - }, - new InMemoryCheckpointStore(), - { ...defaultOptions, ownerId: "hello", startPosition: latestEventPosition } - ); - - processor.id.should.equal("hello"); - }); - - it("should treat consecutive start invocations as idempotent", async function(): Promise { - const partitionIds = await producerClient.getPartitionIds(); - - // ensure we have at least 2 partitions - partitionIds.length.should.gte(2); - - const { - subscriptionEventHandler, - startPosition - } = await SubscriptionHandlerForTests.startingFromHere(producerClient); - - const processor = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - subscriptionEventHandler, - new InMemoryCheckpointStore(), - { - ...defaultOptions, - startPosition: startPosition - } - ); - processor.start(); - processor.start(); - processor.start(); - - const expectedMessages = await sendOneMessagePerPartition(partitionIds, producerClient); - const receivedEvents = await subscriptionEventHandler.waitForEvents(partitionIds); - - // shutdown the processor - await processor.stop(); + processor.id.should.equal("hello"); + }); - receivedEvents.should.deep.equal(expectedMessages); + it("should treat consecutive start invocations as idempotent", async function(): Promise { + const partitionIds = await producerClient.getPartitionIds(); - subscriptionEventHandler.hasErrors(partitionIds).should.equal(false); - subscriptionEventHandler.allShutdown(partitionIds).should.equal(true); - }); + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); - it("should not throw if stop is called without start", async function(): Promise { - let didPartitionProcessorStart = false; + const { + subscriptionEventHandler, + startPosition + } = await SubscriptionHandlerForTests.startingFromHere(producerClient); - const processor = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - { - processInitialize: async () => { - didPartitionProcessorStart = true; - }, - processEvents: async () => { - /* no-op */ - }, - processError: async () => { - /* no-op */ + const processor = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + subscriptionEventHandler, + new InMemoryCheckpointStore(), + { + ...defaultOptions, + startPosition: startPosition } - }, - new InMemoryCheckpointStore(), - { - ...defaultOptions, - startPosition: latestEventPosition - } - ); - - // shutdown the processor - await processor.stop(); - - didPartitionProcessorStart.should.equal(false); - }); - - it("should support start after stopping", async function(): Promise { - const partitionIds = await producerClient.getPartitionIds(); - - // ensure we have at least 2 partitions - partitionIds.length.should.gte(2); - - const { - subscriptionEventHandler, - startPosition - } = await SubscriptionHandlerForTests.startingFromHere(producerClient); - - const processor = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - subscriptionEventHandler, - new InMemoryCheckpointStore(), - { - ...defaultOptions, - startPosition: startPosition - } - ); + ); - loggerForTest(`Starting processor for the first time`); - processor.start(); + processor.start(); + processor.start(); + processor.start(); - const expectedMessages = await sendOneMessagePerPartition(partitionIds, producerClient); - const receivedEvents = await subscriptionEventHandler.waitForEvents(partitionIds); + const expectedMessages = await sendOneMessagePerPartition(partitionIds, producerClient); + const receivedEvents = await subscriptionEventHandler.waitForEvents(partitionIds); - loggerForTest(`Stopping processor for the first time`); - await processor.stop(); + // shutdown the processor + await processor.stop(); - receivedEvents.should.deep.equal(expectedMessages); + receivedEvents.should.deep.equal(expectedMessages); - subscriptionEventHandler.hasErrors(partitionIds).should.equal(false); - subscriptionEventHandler.allShutdown(partitionIds).should.equal(true); + subscriptionEventHandler.hasErrors(partitionIds).should.equal(false); + subscriptionEventHandler.allShutdown(partitionIds).should.equal(true); + }); - // validate correct events captured for each partition + it("should not throw if stop is called without start", async function(): Promise { + let didPartitionProcessorStart = false; - // start it again - loggerForTest(`Starting processor again`); - subscriptionEventHandler.clear(); + const processor = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + { + processInitialize: async () => { + didPartitionProcessorStart = true; + }, + processEvents: async () => { + /* no-op */ + }, + processError: async () => { + /* no-op */ + } + }, + new InMemoryCheckpointStore(), + { + ...defaultOptions, + startPosition: latestEventPosition + } + ); - processor.start(); + // shutdown the processor + await processor.stop(); - await subscriptionEventHandler.waitUntilInitialized(partitionIds); + didPartitionProcessorStart.should.equal(false); + }); - loggerForTest(`Stopping processor again`); - await processor.stop(); + it("should support start after stopping", async function(): Promise { + const partitionIds = await producerClient.getPartitionIds(); - subscriptionEventHandler.hasErrors(partitionIds).should.equal(false); - subscriptionEventHandler.allShutdown(partitionIds).should.equal(true); - }); + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); - describe("Partition processor", function(): void { - it("should support processing events across multiple partitions", async function(): Promise< - void - > { - const partitionIds = await producerClient.getPartitionIds(); const { subscriptionEventHandler, startPosition @@ -819,652 +782,588 @@ describe("Event Processor", function(): void { } ); + loggerForTest(`Starting processor for the first time`); processor.start(); const expectedMessages = await sendOneMessagePerPartition(partitionIds, producerClient); const receivedEvents = await subscriptionEventHandler.waitForEvents(partitionIds); - // shutdown the processor + loggerForTest(`Stopping processor for the first time`); await processor.stop(); - subscriptionEventHandler.hasErrors(partitionIds).should.equal(false); - subscriptionEventHandler.allShutdown(partitionIds).should.equal(true); - receivedEvents.should.deep.equal(expectedMessages); - }); - }); - - describe("InMemory Partition Manager", function(): void { - it("should claim ownership, get a list of ownership and update checkpoint", async function(): Promise< - void - > { - const inMemoryCheckpointStore = new InMemoryCheckpointStore(); - const partitionOwnership1: PartitionOwnership = { - fullyQualifiedNamespace: "myNamespace.servicebus.windows.net", - eventHubName: "myEventHub", - consumerGroup: EventHubConsumerClient.defaultConsumerGroupName, - ownerId: generate_uuid(), - partitionId: "0" - }; - const partitionOwnership2: PartitionOwnership = { - fullyQualifiedNamespace: "myNamespace.servicebus.windows.net", - eventHubName: "myEventHub", - consumerGroup: EventHubConsumerClient.defaultConsumerGroupName, - ownerId: generate_uuid(), - partitionId: "1" - }; - const partitionOwnership = await inMemoryCheckpointStore.claimOwnership([ - partitionOwnership1, - partitionOwnership2 - ]); - partitionOwnership.length.should.equals(2); - const ownershiplist = await inMemoryCheckpointStore.listOwnership( - "myNamespace.servicebus.windows.net", - "myEventHub", - EventHubConsumerClient.defaultConsumerGroupName - ); - ownershiplist.length.should.equals(2); - - const checkpoint: Checkpoint = { - fullyQualifiedNamespace: "myNamespace.servicebus.windows.net", - eventHubName: "myEventHub", - consumerGroup: EventHubConsumerClient.defaultConsumerGroupName, - partitionId: "0", - sequenceNumber: 10, - offset: 50 - }; - - await inMemoryCheckpointStore.updateCheckpoint(checkpoint); - const partitionOwnershipList = await inMemoryCheckpointStore.listOwnership( - "myNamespace.servicebus.windows.net", - "myEventHub", - EventHubConsumerClient.defaultConsumerGroupName - ); - partitionOwnershipList[0].partitionId.should.equals(checkpoint.partitionId); - partitionOwnershipList[0].fullyQualifiedNamespace!.should.equals( - "myNamespace.servicebus.windows.net" - ); - partitionOwnershipList[0].eventHubName!.should.equals("myEventHub"); - partitionOwnershipList[0].consumerGroup!.should.equals( - EventHubConsumerClient.defaultConsumerGroupName - ); - }); - it("should receive events from the checkpoint", async function(): Promise { - const partitionIds = await producerClient.getPartitionIds(); - - // ensure we have at least 2 partitions - partitionIds.length.should.gte(2); - - let checkpointMap = new Map(); - partitionIds.forEach((id) => checkpointMap.set(id, [])); + subscriptionEventHandler.hasErrors(partitionIds).should.equal(false); + subscriptionEventHandler.allShutdown(partitionIds).should.equal(true); - let didError = false; - let processedAtLeastOneEvent = new Set(); - const checkpointSequenceNumbers: Map = new Map(); + // validate correct events captured for each partition - let partionCount: { [x: string]: number } = {}; + // start it again + loggerForTest(`Starting processor again`); + subscriptionEventHandler.clear(); - class FooPartitionProcessor { - async processEvents(events: ReceivedEventData[], context: PartitionContext): Promise { - processedAtLeastOneEvent.add(context.partitionId); + processor.start(); - if (!partionCount[context.partitionId]) { - partionCount[context.partitionId] = 0; - } - partionCount[context.partitionId]++; + await subscriptionEventHandler.waitUntilInitialized(partitionIds); - const existingEvents = checkpointMap.get(context.partitionId)!; + loggerForTest(`Stopping processor again`); + await processor.stop(); - for (const event of events) { - debug("Received event: '%s' from partition: '%s'", event.body, context.partitionId); + subscriptionEventHandler.hasErrors(partitionIds).should.equal(false); + subscriptionEventHandler.allShutdown(partitionIds).should.equal(true); + }); - if (partionCount[context.partitionId] <= 50) { - checkpointSequenceNumbers.set(context.partitionId, event.sequenceNumber); - await context.updateCheckpoint(event); - existingEvents.push(event); - } + describe("Partition processor", function(): void { + it("should support processing events across multiple partitions", async function(): Promise< + void + > { + const partitionIds = await producerClient.getPartitionIds(); + const { + subscriptionEventHandler, + startPosition + } = await SubscriptionHandlerForTests.startingFromHere(producerClient); + + const processor = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + subscriptionEventHandler, + new InMemoryCheckpointStore(), + { + ...defaultOptions, + startPosition: startPosition } - } - async processError(): Promise { - didError = true; - } - } - - const inMemoryCheckpointStore = new InMemoryCheckpointStore(); - const processor1 = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - new FooPartitionProcessor(), - inMemoryCheckpointStore, - { - ...defaultOptions, - startPosition: earliestEventPosition - } - ); + ); - // start first processor - processor1.start(); + processor.start(); - // create messages - const expectedMessagePrefix = "EventProcessor test - checkpoint - "; - const events: EventData[] = []; + const expectedMessages = await sendOneMessagePerPartition(partitionIds, producerClient); + const receivedEvents = await subscriptionEventHandler.waitForEvents(partitionIds); - for (const partitionId of partitionIds) { - for (let index = 1; index <= 100; index++) { - events.push({ body: `${expectedMessagePrefix} ${index} ${partitionId}` }); - } - await producerClient.sendBatch(events, { partitionId }); - } + // shutdown the processor + await processor.stop(); - // set a delay to give a consumers a chance to receive a message - while (checkpointSequenceNumbers.size !== partitionIds.length) { - await delay(5000); - } + subscriptionEventHandler.hasErrors(partitionIds).should.equal(false); + subscriptionEventHandler.allShutdown(partitionIds).should.equal(true); - // shutdown the first processor - await processor1.stop(); + receivedEvents.should.deep.equal(expectedMessages); + }); + }); - const lastEventsReceivedFromProcessor1: ReceivedEventData[] = []; - let index = 0; + describe("InMemory Partition Manager", function(): void { + it("should claim ownership, get a list of ownership and update checkpoint", async function(): Promise< + void + > { + const inMemoryCheckpointStore = new InMemoryCheckpointStore(); + const partitionOwnership1: PartitionOwnership = { + fullyQualifiedNamespace: "myNamespace.servicebus.windows.net", + eventHubName: "myEventHub", + consumerGroup: EventHubConsumerClient.defaultConsumerGroupName, + ownerId: generate_uuid(), + partitionId: "0" + }; + const partitionOwnership2: PartitionOwnership = { + fullyQualifiedNamespace: "myNamespace.servicebus.windows.net", + eventHubName: "myEventHub", + consumerGroup: EventHubConsumerClient.defaultConsumerGroupName, + ownerId: generate_uuid(), + partitionId: "1" + }; + const partitionOwnership = await inMemoryCheckpointStore.claimOwnership([ + partitionOwnership1, + partitionOwnership2 + ]); + partitionOwnership.length.should.equals(2); + const ownershiplist = await inMemoryCheckpointStore.listOwnership( + "myNamespace.servicebus.windows.net", + "myEventHub", + EventHubConsumerClient.defaultConsumerGroupName + ); + ownershiplist.length.should.equals(2); + + const checkpoint: Checkpoint = { + fullyQualifiedNamespace: "myNamespace.servicebus.windows.net", + eventHubName: "myEventHub", + consumerGroup: EventHubConsumerClient.defaultConsumerGroupName, + partitionId: "0", + sequenceNumber: 10, + offset: 50 + }; - for (const partitionId of partitionIds) { - const receivedEvents = checkpointMap.get(partitionId)!; - lastEventsReceivedFromProcessor1[index++] = receivedEvents[receivedEvents.length - 1]; - } + await inMemoryCheckpointStore.updateCheckpoint(checkpoint); + const partitionOwnershipList = await inMemoryCheckpointStore.listOwnership( + "myNamespace.servicebus.windows.net", + "myEventHub", + EventHubConsumerClient.defaultConsumerGroupName + ); + partitionOwnershipList[0].partitionId.should.equals(checkpoint.partitionId); + partitionOwnershipList[0].fullyQualifiedNamespace!.should.equals( + "myNamespace.servicebus.windows.net" + ); + partitionOwnershipList[0].eventHubName!.should.equals("myEventHub"); + partitionOwnershipList[0].consumerGroup!.should.equals( + EventHubConsumerClient.defaultConsumerGroupName + ); + }); - checkpointMap = new Map(); - partitionIds.forEach((id) => checkpointMap.set(id, [])); - partionCount = {}; - processedAtLeastOneEvent = new Set(); + it("should receive events from the checkpoint", async function(): Promise { + const partitionIds = await producerClient.getPartitionIds(); - const processor2 = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - new FooPartitionProcessor(), - inMemoryCheckpointStore, - { ...defaultOptions, startPosition: earliestEventPosition } - ); + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); - const checkpoints = await inMemoryCheckpointStore.listCheckpoints( - consumerClient.fullyQualifiedNamespace, - consumerClient.eventHubName, - EventHubConsumerClient.defaultConsumerGroupName - ); + let checkpointMap = new Map(); + partitionIds.forEach((id) => checkpointMap.set(id, [])); - checkpoints.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); + let didError = false; + let processedAtLeastOneEvent = new Set(); + const checkpointSequenceNumbers: Map = new Map(); - for (const checkpoint of checkpoints) { - const expectedSequenceNumber = checkpointSequenceNumbers.get(checkpoint.partitionId); - should.exist(expectedSequenceNumber); + let partionCount: { [x: string]: number } = {}; - expectedSequenceNumber!.should.equal(checkpoint.sequenceNumber); - } + class FooPartitionProcessor { + async processEvents( + events: ReceivedEventData[], + context: PartitionContext + ): Promise { + processedAtLeastOneEvent.add(context.partitionId); - // start second processor - processor2.start(); + if (!partionCount[context.partitionId]) { + partionCount[context.partitionId] = 0; + } + partionCount[context.partitionId]++; - // set a delay to give a consumers a chance to receive a message - while (processedAtLeastOneEvent.size !== partitionIds.length) { - await delay(5000); - } + const existingEvents = checkpointMap.get(context.partitionId)!; - // shutdown the second processor - await processor2.stop(); + for (const event of events) { + debug("Received event: '%s' from partition: '%s'", event.body, context.partitionId); - index = 0; - const firstEventsReceivedFromProcessor2: ReceivedEventData[] = []; - for (const partitionId of partitionIds) { - const receivedEvents = checkpointMap.get(partitionId)!; - firstEventsReceivedFromProcessor2[index++] = receivedEvents[0]; - } + if (partionCount[context.partitionId] <= 50) { + checkpointSequenceNumbers.set(context.partitionId, event.sequenceNumber); + await context.updateCheckpoint(event); + existingEvents.push(event); + } + } + } + async processError(): Promise { + didError = true; + } + } - didError.should.equal(false); - index = 0; - // validate correct events captured for each partition using checkpoint - for (const partitionId of partitionIds) { - debug(`Validate events for partition: ${partitionId}`); - lastEventsReceivedFromProcessor1[index].sequenceNumber.should.equal( - firstEventsReceivedFromProcessor2[index].sequenceNumber - 1 + const inMemoryCheckpointStore = new InMemoryCheckpointStore(); + const processor1 = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + new FooPartitionProcessor(), + inMemoryCheckpointStore, + { + ...defaultOptions, + startPosition: earliestEventPosition + } ); - index++; - } - }); - it("makes copies and never returns internal instances directly", async () => { - const checkpointStore = new InMemoryCheckpointStore(); - const allObjects = new Set(); + // start first processor + processor1.start(); - const assertUnique = (...objects: any[]): void => { - const size = allObjects.size; + // create messages + const expectedMessagePrefix = "EventProcessor test - checkpoint - "; + const events: EventData[] = []; - for (const obj of objects) { - allObjects.add(obj); - size.should.be.lessThan(allObjects.size); + for (const partitionId of partitionIds) { + for (let index = 1; index <= 100; index++) { + events.push({ body: `${expectedMessagePrefix} ${index} ${partitionId}` }); + } + await producerClient.sendBatch(events, { partitionId }); } - }; - - const basicProperties = { - consumerGroup: "initial consumer group", - eventHubName: "initial event hub name", - fullyQualifiedNamespace: "initial fully qualified namespace" - }; - const originalPartitionOwnership = { - ...basicProperties, - ownerId: "initial owner ID", - partitionId: "1001" - }; - - const copyOfPartitionOwnership = { - ...originalPartitionOwnership - }; + // set a delay to give a consumers a chance to receive a message + while (checkpointSequenceNumbers.size !== partitionIds.length) { + await delay(5000); + } - assertUnique(originalPartitionOwnership); + // shutdown the first processor + await processor1.stop(); - for (let i = 0; i < 2; ++i) { - const ownerships = await checkpointStore.claimOwnership([originalPartitionOwnership]); + const lastEventsReceivedFromProcessor1: ReceivedEventData[] = []; + let index = 0; - // second sanity check - we were also modifying the input parameter - // (which was also bad) - copyOfPartitionOwnership.should.deep.equal(originalPartitionOwnership); + for (const partitionId of partitionIds) { + const receivedEvents = checkpointMap.get(partitionId)!; + lastEventsReceivedFromProcessor1[index++] = receivedEvents[receivedEvents.length - 1]; + } - assertUnique(...ownerships); - } + checkpointMap = new Map(); + partitionIds.forEach((id) => checkpointMap.set(id, [])); + partionCount = {}; + processedAtLeastOneEvent = new Set(); - for (let i = 0; i < 2; ++i) { - const ownerships = await checkpointStore.listOwnership( - basicProperties.fullyQualifiedNamespace, - basicProperties.eventHubName, - basicProperties.consumerGroup + const processor2 = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + new FooPartitionProcessor(), + inMemoryCheckpointStore, + { ...defaultOptions, startPosition: earliestEventPosition } ); - assertUnique(...ownerships); - } - const originalCheckpoint: Checkpoint = { - ...basicProperties, - sequenceNumber: 1, - partitionId: "1", - offset: 101 - }; + const checkpoints = await inMemoryCheckpointStore.listCheckpoints( + consumerClient.fullyQualifiedNamespace, + consumerClient.eventHubName, + EventHubConsumerClient.defaultConsumerGroupName + ); - const copyOfOriginalCheckpoint = { - ...originalCheckpoint - }; + checkpoints.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); - await checkpointStore.updateCheckpoint(originalCheckpoint); + for (const checkpoint of checkpoints) { + const expectedSequenceNumber = checkpointSequenceNumbers.get(checkpoint.partitionId); + should.exist(expectedSequenceNumber); - // checking that we don't modify input parameters - copyOfOriginalCheckpoint.should.deep.equal(originalCheckpoint); + expectedSequenceNumber!.should.equal(checkpoint.sequenceNumber); + } - for (let i = 0; i < 2; ++i) { - const checkpoints = await checkpointStore.listCheckpoints( - basicProperties.fullyQualifiedNamespace, - basicProperties.eventHubName, - basicProperties.consumerGroup - ); - assertUnique(...checkpoints); - } - }); - }); + // start second processor + processor2.start(); - describe("Load balancing", function(): void { - beforeEach("validate partitions", async function(): Promise { - const partitionIds = await producerClient.getPartitionIds(); - // ensure we have at least 3 partitions - partitionIds.length.should.gte( - 3, - "The load balancing tests must be ran on an Event Hub with at least 3 partitions" - ); - }); + // set a delay to give a consumers a chance to receive a message + while (processedAtLeastOneEvent.size !== partitionIds.length) { + await delay(5000); + } - it("should 'steal' partitions until all the processors have reached a steady-state (BalancedLoadBalancingStrategy)", async function(): Promise< - void - > { - loggerForTest("starting up the stealing test"); + // shutdown the second processor + await processor2.stop(); - const processorByName: Dictionary = {}; - const checkpointStore = new InMemoryCheckpointStore(); - const partitionIds = await producerClient.getPartitionIds(); - const partitionOwnershipArr = new Set(); - - const partitionResultsMap = new Map< - string, - { events: string[]; initialized: boolean; closeReason?: CloseReason } - >(); - partitionIds.forEach((id) => partitionResultsMap.set(id, { events: [], initialized: false })); - let didGetReceiverDisconnectedError = false; - - // The partitionProcess will need to add events to the partitionResultsMap as they are received - class FooPartitionProcessor implements Required { - async processInitialize(context: PartitionContext): Promise { - loggerForTest(`processInitialize(${context.partitionId})`); - partitionResultsMap.get(context.partitionId)!.initialized = true; + index = 0; + const firstEventsReceivedFromProcessor2: ReceivedEventData[] = []; + for (const partitionId of partitionIds) { + const receivedEvents = checkpointMap.get(partitionId)!; + firstEventsReceivedFromProcessor2[index++] = receivedEvents[0]; } - async processClose(reason: CloseReason, context: PartitionContext): Promise { - loggerForTest(`processClose(${context.partitionId})`); - partitionResultsMap.get(context.partitionId)!.closeReason = reason; - } - async processEvents(events: ReceivedEventData[], context: PartitionContext): Promise { - partitionOwnershipArr.add(context.partitionId); - const existingEvents = partitionResultsMap.get(context.partitionId)!.events; - existingEvents.push(...events.map((event) => event.body)); + + didError.should.equal(false); + index = 0; + // validate correct events captured for each partition using checkpoint + for (const partitionId of partitionIds) { + debug(`Validate events for partition: ${partitionId}`); + lastEventsReceivedFromProcessor1[index].sequenceNumber.should.equal( + firstEventsReceivedFromProcessor2[index].sequenceNumber - 1 + ); + index++; } - async processError(err: Error, context: PartitionContext): Promise { - loggerForTest(`processError(${context.partitionId})`); - const errorName = (err as any).code; - if (errorName === "ReceiverDisconnectedError") { - didGetReceiverDisconnectedError = true; + }); + + it("makes copies and never returns internal instances directly", async () => { + const checkpointStore = new InMemoryCheckpointStore(); + const allObjects = new Set(); + + const assertUnique = (...objects: any[]): void => { + const size = allObjects.size; + + for (const obj of objects) { + allObjects.add(obj); + size.should.be.lessThan(allObjects.size); } - } - } + }; - // create messages - const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; - for (const partitionId of partitionIds) { - await producerClient.sendBatch([{ body: expectedMessagePrefix + partitionId }], { - partitionId - }); - } + const basicProperties = { + consumerGroup: "initial consumer group", + eventHubName: "initial event hub name", + fullyQualifiedNamespace: "initial fully qualified namespace" + }; - const processor1LoadBalancingInterval = { - loopIntervalInMs: 1000 - }; + const originalPartitionOwnership = { + ...basicProperties, + ownerId: "initial owner ID", + partitionId: "1001" + }; - // working around a potential deadlock - this allows `processor-2` to more - // aggressively pursue getting its required partitions and avoid being in - // lockstep with `processor-1` - const processor2LoadBalancingInterval = { - loopIntervalInMs: processor1LoadBalancingInterval.loopIntervalInMs / 2 - }; + const copyOfPartitionOwnership = { + ...originalPartitionOwnership + }; - processorByName[`processor-1`] = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - new FooPartitionProcessor(), - checkpointStore, - { - ...defaultOptions, - startPosition: earliestEventPosition, - ...processor1LoadBalancingInterval, - loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) - } - ); + assertUnique(originalPartitionOwnership); - processorByName[`processor-1`].start(); + for (let i = 0; i < 2; ++i) { + const ownerships = await checkpointStore.claimOwnership([originalPartitionOwnership]); - await loopUntil({ - name: "All partitions are owned", - maxTimes: 60, - timeBetweenRunsMs: 1000, - until: async () => partitionOwnershipArr.size === partitionIds.length, - errorMessageFn: () => `${partitionOwnershipArr.size}/${partitionIds.length}` - }); + // second sanity check - we were also modifying the input parameter + // (which was also bad) + copyOfPartitionOwnership.should.deep.equal(originalPartitionOwnership); - processorByName[`processor-2`] = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - new FooPartitionProcessor(), - checkpointStore, - { - ...defaultOptions, - startPosition: earliestEventPosition, - ...processor2LoadBalancingInterval, - loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) + assertUnique(...ownerships); } - ); - - partitionOwnershipArr.size.should.equal(partitionIds.length); - processorByName[`processor-2`].start(); - - await loopUntil({ - name: "Processors are balanced", - maxTimes: 60, - timeBetweenRunsMs: 1000, - until: async () => { - // it should be impossible for 'processor-2' to have obtained the number of - // partitions it needed without having stolen some from 'processor-1' - // so if we haven't see any `ReceiverDisconnectedError`'s then that stealing - // hasn't occurred yet. - if (!didGetReceiverDisconnectedError) { - return false; - } - const partitionOwnership = await checkpointStore.listOwnership( - consumerClient.fullyQualifiedNamespace, - consumerClient.eventHubName, - EventHubConsumerClient.defaultConsumerGroupName + for (let i = 0; i < 2; ++i) { + const ownerships = await checkpointStore.listOwnership( + basicProperties.fullyQualifiedNamespace, + basicProperties.eventHubName, + basicProperties.consumerGroup ); + assertUnique(...ownerships); + } - // map of ownerId as a key and partitionIds as a value - const partitionOwnershipMap: Map = ownershipListToMap( - partitionOwnership - ); + const originalCheckpoint: Checkpoint = { + ...basicProperties, + sequenceNumber: 1, + partitionId: "1", + offset: 101 + }; - // if stealing has occurred we just want to make sure that _all_ - // the stealing has completed. - const isBalanced = (friendlyName: string): boolean => { - const n = Math.floor(partitionIds.length / 2); - const numPartitions = partitionOwnershipMap.get(processorByName[friendlyName].id)! - .length; - return numPartitions === n || numPartitions === n + 1; - }; + const copyOfOriginalCheckpoint = { + ...originalCheckpoint + }; - if (!isBalanced(`processor-1`) || !isBalanced(`processor-2`)) { - return false; - } + await checkpointStore.updateCheckpoint(originalCheckpoint); - return true; + // checking that we don't modify input parameters + copyOfOriginalCheckpoint.should.deep.equal(originalCheckpoint); + + for (let i = 0; i < 2; ++i) { + const checkpoints = await checkpointStore.listCheckpoints( + basicProperties.fullyQualifiedNamespace, + basicProperties.eventHubName, + basicProperties.consumerGroup + ); + assertUnique(...checkpoints); } }); - - for (const processor in processorByName) { - await processorByName[processor].stop(); - } - - // now that all the dust has settled let's make sure that - // a. we received some events from each partition (doesn't matter which processor) - // did the work - // b. each partition was initialized - // c. each partition should have received at least one shutdown event - for (const partitionId of partitionIds) { - const results = partitionResultsMap.get(partitionId)!; - results.events.length.should.be.gte(1); - results.initialized.should.equal(true); - (results.closeReason === CloseReason.Shutdown).should.equal(true); - } }); - it("should 'steal' partitions until all the processors have reached a steady-state (GreedyLoadBalancingStrategy)", async function(): Promise< - void - > { - loggerForTest("starting up the stealing test"); + describe("Load balancing", function(): void { + beforeEach("validate partitions", async function(): Promise { + const partitionIds = await producerClient.getPartitionIds(); + // ensure we have at least 3 partitions + partitionIds.length.should.gte( + 3, + "The load balancing tests must be ran on an Event Hub with at least 3 partitions" + ); + }); + + it("should 'steal' partitions until all the processors have reached a steady-state (BalancedLoadBalancingStrategy)", async function(): Promise< + void + > { + loggerForTest("starting up the stealing test"); + + const processorByName: Dictionary = {}; + const checkpointStore = new InMemoryCheckpointStore(); + const partitionIds = await producerClient.getPartitionIds(); + const partitionOwnershipArr = new Set(); + + const partitionResultsMap = new Map< + string, + { events: string[]; initialized: boolean; closeReason?: CloseReason } + >(); + partitionIds.forEach((id) => + partitionResultsMap.set(id, { events: [], initialized: false }) + ); + let didGetReceiverDisconnectedError = false; - const processorByName: Dictionary = {}; - const checkpointStore = new InMemoryCheckpointStore(); - const partitionIds = await producerClient.getPartitionIds(); - const partitionOwnershipArr = new Set(); - - const partitionResultsMap = new Map< - string, - { events: string[]; initialized: boolean; closeReason?: CloseReason } - >(); - partitionIds.forEach((id) => partitionResultsMap.set(id, { events: [], initialized: false })); - let didGetReceiverDisconnectedError = false; - - // The partitionProcess will need to add events to the partitionResultsMap as they are received - class FooPartitionProcessor implements Required { - async processInitialize(context: PartitionContext): Promise { - loggerForTest(`processInitialize(${context.partitionId})`); - partitionResultsMap.get(context.partitionId)!.initialized = true; - } - async processClose(reason: CloseReason, context: PartitionContext): Promise { - loggerForTest(`processClose(${context.partitionId})`); - partitionResultsMap.get(context.partitionId)!.closeReason = reason; - } - async processEvents(events: ReceivedEventData[], context: PartitionContext): Promise { - partitionOwnershipArr.add(context.partitionId); - const existingEvents = partitionResultsMap.get(context.partitionId)!.events; - existingEvents.push(...events.map((event) => event.body)); - } - async processError(err: Error, context: PartitionContext): Promise { - loggerForTest(`processError(${context.partitionId})`); - const errorName = (err as any).code; - if (errorName === "ReceiverDisconnectedError") { - didGetReceiverDisconnectedError = true; + // The partitionProcess will need to add events to the partitionResultsMap as they are received + class FooPartitionProcessor implements Required { + async processInitialize(context: PartitionContext): Promise { + loggerForTest(`processInitialize(${context.partitionId})`); + partitionResultsMap.get(context.partitionId)!.initialized = true; + } + async processClose(reason: CloseReason, context: PartitionContext): Promise { + loggerForTest(`processClose(${context.partitionId})`); + partitionResultsMap.get(context.partitionId)!.closeReason = reason; + } + async processEvents( + events: ReceivedEventData[], + context: PartitionContext + ): Promise { + partitionOwnershipArr.add(context.partitionId); + const existingEvents = partitionResultsMap.get(context.partitionId)!.events; + existingEvents.push(...events.map((event) => event.body)); + } + async processError(err: Error, context: PartitionContext): Promise { + loggerForTest(`processError(${context.partitionId})`); + const errorName = (err as any).code; + if (errorName === "ReceiverDisconnectedError") { + didGetReceiverDisconnectedError = true; + } } } - } - - // create messages - const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; - for (const partitionId of partitionIds) { - await producerClient.sendBatch([{ body: expectedMessagePrefix + partitionId }], { - partitionId - }); - } - const processor1LoadBalancingInterval = { - loopIntervalInMs: 1000 - }; + // create messages + const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; + for (const partitionId of partitionIds) { + await producerClient.sendBatch([{ body: expectedMessagePrefix + partitionId }], { + partitionId + }); + } - // working around a potential deadlock - this allows `processor-2` to more - // aggressively pursue getting its required partitions and avoid being in - // lockstep with `processor-1` - const processor2LoadBalancingInterval = { - loopIntervalInMs: processor1LoadBalancingInterval.loopIntervalInMs / 2 - }; + const processor1LoadBalancingInterval = { + loopIntervalInMs: 1000 + }; - processorByName[`processor-1`] = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - new FooPartitionProcessor(), - checkpointStore, - { - ...defaultOptions, - startPosition: earliestEventPosition, - ...processor1LoadBalancingInterval, - loadBalancingStrategy: new GreedyLoadBalancingStrategy(60000) - } - ); + // working around a potential deadlock - this allows `processor-2` to more + // aggressively pursue getting its required partitions and avoid being in + // lockstep with `processor-1` + const processor2LoadBalancingInterval = { + loopIntervalInMs: processor1LoadBalancingInterval.loopIntervalInMs / 2 + }; - processorByName[`processor-1`].start(); + processorByName[`processor-1`] = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + new FooPartitionProcessor(), + checkpointStore, + { + ...defaultOptions, + startPosition: earliestEventPosition, + ...processor1LoadBalancingInterval, + loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) + } + ); - await loopUntil({ - name: "All partitions are owned", - maxTimes: 60, - timeBetweenRunsMs: 1000, - until: async () => partitionOwnershipArr.size === partitionIds.length, - errorMessageFn: () => `${partitionOwnershipArr.size}/${partitionIds.length}` - }); + processorByName[`processor-1`].start(); - processorByName[`processor-2`] = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - new FooPartitionProcessor(), - checkpointStore, - { - ...defaultOptions, - startPosition: earliestEventPosition, - ...processor2LoadBalancingInterval, - loadBalancingStrategy: new GreedyLoadBalancingStrategy(60000) - } - ); + await loopUntil({ + name: "All partitions are owned", + maxTimes: 60, + timeBetweenRunsMs: 1000, + until: async () => partitionOwnershipArr.size === partitionIds.length, + errorMessageFn: () => `${partitionOwnershipArr.size}/${partitionIds.length}` + }); - partitionOwnershipArr.size.should.equal(partitionIds.length); - processorByName[`processor-2`].start(); - - await loopUntil({ - name: "Processors are balanced", - maxTimes: 60, - timeBetweenRunsMs: 1000, - until: async () => { - // it should be impossible for 'processor-2' to have obtained the number of - // partitions it needed without having stolen some from 'processor-1' - // so if we haven't see any `ReceiverDisconnectedError`'s then that stealing - // hasn't occurred yet. - if (!didGetReceiverDisconnectedError) { - return false; + processorByName[`processor-2`] = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + new FooPartitionProcessor(), + checkpointStore, + { + ...defaultOptions, + startPosition: earliestEventPosition, + ...processor2LoadBalancingInterval, + loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) } + ); - const partitionOwnership = await checkpointStore.listOwnership( - consumerClient.fullyQualifiedNamespace, - consumerClient.eventHubName, - EventHubConsumerClient.defaultConsumerGroupName - ); + partitionOwnershipArr.size.should.equal(partitionIds.length); + processorByName[`processor-2`].start(); - // map of ownerId as a key and partitionIds as a value - const partitionOwnershipMap: Map = ownershipListToMap( - partitionOwnership - ); + await loopUntil({ + name: "Processors are balanced", + maxTimes: 60, + timeBetweenRunsMs: 1000, + until: async () => { + // it should be impossible for 'processor-2' to have obtained the number of + // partitions it needed without having stolen some from 'processor-1' + // so if we haven't see any `ReceiverDisconnectedError`'s then that stealing + // hasn't occurred yet. + if (!didGetReceiverDisconnectedError) { + return false; + } - // if stealing has occurred we just want to make sure that _all_ - // the stealing has completed. - const isBalanced = (friendlyName: string): boolean => { - const n = Math.floor(partitionIds.length / 2); - const numPartitions = partitionOwnershipMap.get(processorByName[friendlyName].id)! - .length; - return numPartitions === n || numPartitions === n + 1; - }; + const partitionOwnership = await checkpointStore.listOwnership( + consumerClient.fullyQualifiedNamespace, + consumerClient.eventHubName, + EventHubConsumerClient.defaultConsumerGroupName + ); + + // map of ownerId as a key and partitionIds as a value + const partitionOwnershipMap: Map = ownershipListToMap( + partitionOwnership + ); + + // if stealing has occurred we just want to make sure that _all_ + // the stealing has completed. + const isBalanced = (friendlyName: string): boolean => { + const n = Math.floor(partitionIds.length / 2); + const numPartitions = partitionOwnershipMap.get(processorByName[friendlyName].id)! + .length; + return numPartitions === n || numPartitions === n + 1; + }; + + if (!isBalanced(`processor-1`) || !isBalanced(`processor-2`)) { + return false; + } - if (!isBalanced(`processor-1`) || !isBalanced(`processor-2`)) { - return false; + return true; } + }); - return true; + for (const processor in processorByName) { + await processorByName[processor].stop(); } - }); - for (const processor in processorByName) { - await processorByName[processor].stop(); - } + // now that all the dust has settled let's make sure that + // a. we received some events from each partition (doesn't matter which processor) + // did the work + // b. each partition was initialized + // c. each partition should have received at least one shutdown event + for (const partitionId of partitionIds) { + const results = partitionResultsMap.get(partitionId)!; + results.events.length.should.be.gte(1); + results.initialized.should.equal(true); + (results.closeReason === CloseReason.Shutdown).should.equal(true); + } + }); - // now that all the dust has settled let's make sure that - // a. we received some events from each partition (doesn't matter which processor) - // did the work - // b. each partition was initialized - // c. each partition should have received at least one shutdown event - for (const partitionId of partitionIds) { - const results = partitionResultsMap.get(partitionId)!; - results.events.length.should.be.gte(1); - results.initialized.should.equal(true); - (results.closeReason === CloseReason.Shutdown).should.equal(true); - } - }); + it("should 'steal' partitions until all the processors have reached a steady-state (GreedyLoadBalancingStrategy)", async function(): Promise< + void + > { + loggerForTest("starting up the stealing test"); + + const processorByName: Dictionary = {}; + const checkpointStore = new InMemoryCheckpointStore(); + const partitionIds = await producerClient.getPartitionIds(); + const partitionOwnershipArr = new Set(); + + const partitionResultsMap = new Map< + string, + { events: string[]; initialized: boolean; closeReason?: CloseReason } + >(); + partitionIds.forEach((id) => + partitionResultsMap.set(id, { events: [], initialized: false }) + ); + let didGetReceiverDisconnectedError = false; - it("should ensure that all the processors reach a steady-state where all partitions are being processed (BalancedLoadBalancingStrategy)", async function(): Promise< - void - > { - const processorByName: Dictionary = {}; - const partitionIds = await producerClient.getPartitionIds(); - const checkpointStore = new InMemoryCheckpointStore(); - const partitionOwnershipArr = new Set(); - let didError = false; - - // The partitionProcess will need to add events to the partitionResultsMap as they are received - class FooPartitionProcessor { - async processEvents( - _events: ReceivedEventData[], - context: PartitionContext - ): Promise { - partitionOwnershipArr.add(context.partitionId); + // The partitionProcess will need to add events to the partitionResultsMap as they are received + class FooPartitionProcessor implements Required { + async processInitialize(context: PartitionContext): Promise { + loggerForTest(`processInitialize(${context.partitionId})`); + partitionResultsMap.get(context.partitionId)!.initialized = true; + } + async processClose(reason: CloseReason, context: PartitionContext): Promise { + loggerForTest(`processClose(${context.partitionId})`); + partitionResultsMap.get(context.partitionId)!.closeReason = reason; + } + async processEvents( + events: ReceivedEventData[], + context: PartitionContext + ): Promise { + partitionOwnershipArr.add(context.partitionId); + const existingEvents = partitionResultsMap.get(context.partitionId)!.events; + existingEvents.push(...events.map((event) => event.body)); + } + async processError(err: Error, context: PartitionContext): Promise { + loggerForTest(`processError(${context.partitionId})`); + const errorName = (err as any).code; + if (errorName === "ReceiverDisconnectedError") { + didGetReceiverDisconnectedError = true; + } + } } - async processError(): Promise { - didError = true; + + // create messages + const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; + for (const partitionId of partitionIds) { + await producerClient.sendBatch([{ body: expectedMessagePrefix + partitionId }], { + partitionId + }); } - } - // create messages - const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; - for (const partitionId of partitionIds) { - await producerClient.sendBatch([{ body: expectedMessagePrefix + partitionId }], { - partitionId - }); - } + const processor1LoadBalancingInterval = { + loopIntervalInMs: 1000 + }; - for (let i = 0; i < 2; i++) { - const processorName = `processor-${i}`; - processorByName[processorName] = new EventProcessor( + // working around a potential deadlock - this allows `processor-2` to more + // aggressively pursue getting its required partitions and avoid being in + // lockstep with `processor-1` + const processor2LoadBalancingInterval = { + loopIntervalInMs: processor1LoadBalancingInterval.loopIntervalInMs / 2 + }; + + processorByName[`processor-1`] = new EventProcessor( EventHubConsumerClient.defaultConsumerGroupName, consumerClient["_context"], new FooPartitionProcessor(), @@ -1472,82 +1371,22 @@ describe("Event Processor", function(): void { { ...defaultOptions, startPosition: earliestEventPosition, - loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) + ...processor1LoadBalancingInterval, + loadBalancingStrategy: new GreedyLoadBalancingStrategy(60000) } ); - processorByName[processorName].start(); - await delay(12000); - } - - await loopUntil({ - name: "partitionownership", - timeBetweenRunsMs: 5000, - maxTimes: 10, - until: async () => partitionOwnershipArr.size === partitionIds.length - }); - - // map of ownerId as a key and partitionIds as a value - const partitionOwnershipMap: Map = new Map(); - const partitionOwnership = await checkpointStore.listOwnership( - consumerClient.fullyQualifiedNamespace, - consumerClient.eventHubName, - EventHubConsumerClient.defaultConsumerGroupName - ); - - partitionOwnershipArr.size.should.equal(partitionIds.length); - for (const processor in processorByName) { - await processorByName[processor].stop(); - } - - for (const ownership of partitionOwnership) { - if (!partitionOwnershipMap.has(ownership.ownerId)) { - partitionOwnershipMap.set(ownership.ownerId, [ownership.partitionId]); - } else { - const arr = partitionOwnershipMap.get(ownership.ownerId); - arr!.push(ownership.partitionId); - partitionOwnershipMap.set(ownership.ownerId, arr!); - } - } - - didError.should.equal(false); - const n = Math.floor(partitionIds.length / 2); - partitionOwnershipMap.get(processorByName[`processor-0`].id)!.length.should.oneOf([n, n + 1]); - partitionOwnershipMap.get(processorByName[`processor-1`].id)!.length.should.oneOf([n, n + 1]); - }); + processorByName[`processor-1`].start(); - it("should ensure that all the processors reach a steady-state where all partitions are being processed (GreedyLoadBalancingStrategy)", async function(): Promise< - void - > { - const processorByName: Dictionary = {}; - const partitionIds = await producerClient.getPartitionIds(); - const checkpointStore = new InMemoryCheckpointStore(); - const partitionOwnershipArr = new Set(); - - // The partitionProcess will need to add events to the partitionResultsMap as they are received - class FooPartitionProcessor { - async processEvents( - _events: ReceivedEventData[], - context: PartitionContext - ): Promise { - partitionOwnershipArr.add(context.partitionId); - } - async processError(): Promise { - /* no-op */ - } - } - - // create messages - const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; - for (const partitionId of partitionIds) { - await producerClient.sendBatch([{ body: expectedMessagePrefix + partitionId }], { - partitionId + await loopUntil({ + name: "All partitions are owned", + maxTimes: 60, + timeBetweenRunsMs: 1000, + until: async () => partitionOwnershipArr.size === partitionIds.length, + errorMessageFn: () => `${partitionOwnershipArr.size}/${partitionIds.length}` }); - } - for (let i = 0; i < 2; i++) { - const processorName = `processor-${i}`; - processorByName[processorName] = new EventProcessor( + processorByName[`processor-2`] = new EventProcessor( EventHubConsumerClient.defaultConsumerGroupName, consumerClient["_context"], new FooPartitionProcessor(), @@ -1555,425 +1394,623 @@ describe("Event Processor", function(): void { { ...defaultOptions, startPosition: earliestEventPosition, + ...processor2LoadBalancingInterval, loadBalancingStrategy: new GreedyLoadBalancingStrategy(60000) } ); - processorByName[processorName].start(); - await delay(12000); - } - - await loopUntil({ - name: "partitionownership", - timeBetweenRunsMs: 5000, - maxTimes: 10, - until: async () => partitionOwnershipArr.size === partitionIds.length - }); - // map of ownerId as a key and partitionIds as a value - const partitionOwnershipMap: Map = new Map(); + partitionOwnershipArr.size.should.equal(partitionIds.length); + processorByName[`processor-2`].start(); - const partitionOwnership = await checkpointStore.listOwnership( - consumerClient.fullyQualifiedNamespace, - consumerClient.eventHubName, - EventHubConsumerClient.defaultConsumerGroupName - ); + await loopUntil({ + name: "Processors are balanced", + maxTimes: 60, + timeBetweenRunsMs: 1000, + until: async () => { + // it should be impossible for 'processor-2' to have obtained the number of + // partitions it needed without having stolen some from 'processor-1' + // so if we haven't see any `ReceiverDisconnectedError`'s then that stealing + // hasn't occurred yet. + if (!didGetReceiverDisconnectedError) { + return false; + } - partitionOwnershipArr.size.should.equal(partitionIds.length); - for (const processor in processorByName) { - await processorByName[processor].stop(); - } + const partitionOwnership = await checkpointStore.listOwnership( + consumerClient.fullyQualifiedNamespace, + consumerClient.eventHubName, + EventHubConsumerClient.defaultConsumerGroupName + ); - for (const ownership of partitionOwnership) { - if (!partitionOwnershipMap.has(ownership.ownerId)) { - partitionOwnershipMap.set(ownership.ownerId, [ownership.partitionId]); - } else { - const arr = partitionOwnershipMap.get(ownership.ownerId); - arr!.push(ownership.partitionId); - partitionOwnershipMap.set(ownership.ownerId, arr!); - } - } + // map of ownerId as a key and partitionIds as a value + const partitionOwnershipMap: Map = ownershipListToMap( + partitionOwnership + ); - const n = Math.floor(partitionIds.length / 2); - partitionOwnershipMap.get(processorByName[`processor-0`].id)!.length.should.oneOf([n, n + 1]); - partitionOwnershipMap.get(processorByName[`processor-1`].id)!.length.should.oneOf([n, n + 1]); - }); + // if stealing has occurred we just want to make sure that _all_ + // the stealing has completed. + const isBalanced = (friendlyName: string): boolean => { + const n = Math.floor(partitionIds.length / 2); + const numPartitions = partitionOwnershipMap.get(processorByName[friendlyName].id)! + .length; + return numPartitions === n || numPartitions === n + 1; + }; - it("should ensure that all the processors maintain a steady-state when all partitions are being processed (BalancedLoadBalancingStrategy)", async function(): Promise< - void - > { - const partitionIds = await producerClient.getPartitionIds(); - const checkpointStore = new InMemoryCheckpointStore(); - const claimedPartitionsMap = {} as { [eventProcessorId: string]: Set }; + if (!isBalanced(`processor-1`) || !isBalanced(`processor-2`)) { + return false; + } - const partitionOwnershipHistory: string[] = []; + return true; + } + }); - let allPartitionsClaimed = false; - let thrashAfterSettling = false; - const handlers: SubscriptionEventHandlers = { - async processInitialize(context) { - const eventProcessorId: string = (context as any).eventProcessorId; - const partitionId = context.partitionId; + for (const processor in processorByName) { + await processorByName[processor].stop(); + } - partitionOwnershipHistory.push(`${eventProcessorId}: init ${partitionId}`); + // now that all the dust has settled let's make sure that + // a. we received some events from each partition (doesn't matter which processor) + // did the work + // b. each partition was initialized + // c. each partition should have received at least one shutdown event + for (const partitionId of partitionIds) { + const results = partitionResultsMap.get(partitionId)!; + results.events.length.should.be.gte(1); + results.initialized.should.equal(true); + (results.closeReason === CloseReason.Shutdown).should.equal(true); + } + }); - loggerForTest(`[${eventProcessorId}] Claimed partition ${partitionId}`); - if (allPartitionsClaimed) { - thrashAfterSettling = true; - return; + it("should ensure that all the processors reach a steady-state where all partitions are being processed (BalancedLoadBalancingStrategy)", async function(): Promise< + void + > { + const processorByName: Dictionary = {}; + const partitionIds = await producerClient.getPartitionIds(); + const checkpointStore = new InMemoryCheckpointStore(); + const partitionOwnershipArr = new Set(); + let didError = false; + + // The partitionProcess will need to add events to the partitionResultsMap as they are received + class FooPartitionProcessor { + async processEvents( + _events: ReceivedEventData[], + context: PartitionContext + ): Promise { + partitionOwnershipArr.add(context.partitionId); } - - const claimedPartitions = claimedPartitionsMap[eventProcessorId] || new Set(); - claimedPartitions.add(partitionId); - claimedPartitionsMap[eventProcessorId] = claimedPartitions; - }, - async processEvents() { - /* no-op */ - }, - async processError() { - /* no-op */ - }, - async processClose(reason, context) { - const eventProcessorId: string = (context as any).eventProcessorId; - const partitionId = context.partitionId; - const claimedPartitions = claimedPartitionsMap[eventProcessorId]; - claimedPartitions.delete(partitionId); - loggerForTest( - `[${(context as any).eventProcessorId}] processClose(${reason}) on partition ${ - context.partitionId - }` - ); - if (reason === CloseReason.OwnershipLost && allPartitionsClaimed) { - loggerForTest( - `[${(context as any).eventProcessorId}] Lost partition ${context.partitionId}` - ); - thrashAfterSettling = true; + async processError(): Promise { + didError = true; } } - }; - const eventProcessorOptions: FullEventProcessorOptions = { - maxBatchSize: 1, - maxWaitTimeInSeconds: 5, - loopIntervalInMs: 1000, - inactiveTimeLimitInMs: 3000, - ownerLevel: 0, - // For this test we don't want to actually checkpoint, just test ownership. - startPosition: latestEventPosition, - loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) - }; + // create messages + const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; + for (const partitionId of partitionIds) { + await producerClient.sendBatch([{ body: expectedMessagePrefix + partitionId }], { + partitionId + }); + } - const processor1 = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - handlers, - checkpointStore, - eventProcessorOptions - ); + for (let i = 0; i < 2; i++) { + const processorName = `processor-${i}`; + processorByName[processorName] = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + new FooPartitionProcessor(), + checkpointStore, + { + ...defaultOptions, + startPosition: earliestEventPosition, + loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) + } + ); + processorByName[processorName].start(); + await delay(12000); + } - const processor2 = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - handlers, - checkpointStore, - eventProcessorOptions - ); + await loopUntil({ + name: "partitionownership", + timeBetweenRunsMs: 5000, + maxTimes: 10, + until: async () => partitionOwnershipArr.size === partitionIds.length + }); - processor1.start(); - processor2.start(); + // map of ownerId as a key and partitionIds as a value + const partitionOwnershipMap: Map = new Map(); - // loop until all partitions are claimed - try { - let lastLoopError: Record = {}; + const partitionOwnership = await checkpointStore.listOwnership( + consumerClient.fullyQualifiedNamespace, + consumerClient.eventHubName, + EventHubConsumerClient.defaultConsumerGroupName + ); - await loopUntil({ - name: "partitionOwnership", - maxTimes: 30, - timeBetweenRunsMs: 10000, + partitionOwnershipArr.size.should.equal(partitionIds.length); + for (const processor in processorByName) { + await processorByName[processor].stop(); + } - errorMessageFn: () => JSON.stringify(lastLoopError, undefined, " "), - until: async () => { - // Ensure the partition ownerships are balanced. - const eventProcessorIds = Object.keys(claimedPartitionsMap); - - // There are 2 processors, so we should see 2 entries. - if (eventProcessorIds.length !== 2) { - lastLoopError = { - reason: "Not all event processors have shown up", - eventProcessorIds, - partitionOwnershipHistory - }; - return false; - } + for (const ownership of partitionOwnership) { + if (!partitionOwnershipMap.has(ownership.ownerId)) { + partitionOwnershipMap.set(ownership.ownerId, [ownership.partitionId]); + } else { + const arr = partitionOwnershipMap.get(ownership.ownerId); + arr!.push(ownership.partitionId); + partitionOwnershipMap.set(ownership.ownerId, arr!); + } + } - const aProcessorPartitions = claimedPartitionsMap[eventProcessorIds[0]]; - const bProcessorPartitions = claimedPartitionsMap[eventProcessorIds[1]]; + didError.should.equal(false); + const n = Math.floor(partitionIds.length / 2); + partitionOwnershipMap + .get(processorByName[`processor-0`].id)! + .length.should.oneOf([n, n + 1]); + partitionOwnershipMap + .get(processorByName[`processor-1`].id)! + .length.should.oneOf([n, n + 1]); + }); - // The delta between number of partitions each processor owns can't be more than 1. - if (Math.abs(aProcessorPartitions.size - bProcessorPartitions.size) > 1) { - lastLoopError = { - reason: "Delta between partitions is greater than 1", - a: Array.from(aProcessorPartitions), - b: Array.from(bProcessorPartitions), - partitionOwnershipHistory - }; - return false; - } + it("should ensure that all the processors reach a steady-state where all partitions are being processed (GreedyLoadBalancingStrategy)", async function(): Promise< + void + > { + const processorByName: Dictionary = {}; + const partitionIds = await producerClient.getPartitionIds(); + const checkpointStore = new InMemoryCheckpointStore(); + const partitionOwnershipArr = new Set(); + + // The partitionProcess will need to add events to the partitionResultsMap as they are received + class FooPartitionProcessor { + async processEvents( + _events: ReceivedEventData[], + context: PartitionContext + ): Promise { + partitionOwnershipArr.add(context.partitionId); + } + async processError(): Promise { + /* no-op */ + } + } - // All partitions must be claimed. - const innerAllPartitionsClaimed = - aProcessorPartitions.size + bProcessorPartitions.size === partitionIds.length; - - if (!innerAllPartitionsClaimed) { - lastLoopError = { - reason: "All partitions not claimed", - partitionIds, - a: Array.from(aProcessorPartitions), - b: Array.from(bProcessorPartitions), - partitionOwnershipHistory - }; + // create messages + const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; + for (const partitionId of partitionIds) { + await producerClient.sendBatch([{ body: expectedMessagePrefix + partitionId }], { + partitionId + }); + } + + for (let i = 0; i < 2; i++) { + const processorName = `processor-${i}`; + processorByName[processorName] = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + new FooPartitionProcessor(), + checkpointStore, + { + ...defaultOptions, + startPosition: earliestEventPosition, + loadBalancingStrategy: new GreedyLoadBalancingStrategy(60000) } + ); + processorByName[processorName].start(); + await delay(12000); + } - return innerAllPartitionsClaimed; - } + await loopUntil({ + name: "partitionownership", + timeBetweenRunsMs: 5000, + maxTimes: 10, + until: async () => partitionOwnershipArr.size === partitionIds.length }); - } catch (err) { - // close processors - await Promise.all([processor1.stop(), processor2.stop()]); - throw err; - } - loggerForTest(`All partitions have been claimed.`); - allPartitionsClaimed = true; + // map of ownerId as a key and partitionIds as a value + const partitionOwnershipMap: Map = new Map(); - try { - // loop for some time to see if thrashing occurs - await loopUntil({ - name: "partitionThrash", - maxTimes: 4, - timeBetweenRunsMs: 1000, - until: async () => thrashAfterSettling - }); - } catch (err) { - // swallow error, check trashAfterSettling for the condition in finally - } finally { - await Promise.all([processor1.stop(), processor2.stop()]); - should.equal( - thrashAfterSettling, - false, - "Detected PartitionOwnership thrashing after load-balancing has settled." + const partitionOwnership = await checkpointStore.listOwnership( + consumerClient.fullyQualifiedNamespace, + consumerClient.eventHubName, + EventHubConsumerClient.defaultConsumerGroupName ); - } - }); - it("should ensure that all the processors maintain a steady-state when all partitions are being processed (GreedyLoadBalancingStrategy)", async function(): Promise< - void - > { - const partitionIds = await producerClient.getPartitionIds(); - const checkpointStore = new InMemoryCheckpointStore(); - const claimedPartitionsMap = {} as { [eventProcessorId: string]: Set }; + partitionOwnershipArr.size.should.equal(partitionIds.length); + for (const processor in processorByName) { + await processorByName[processor].stop(); + } - const partitionOwnershipHistory: string[] = []; + for (const ownership of partitionOwnership) { + if (!partitionOwnershipMap.has(ownership.ownerId)) { + partitionOwnershipMap.set(ownership.ownerId, [ownership.partitionId]); + } else { + const arr = partitionOwnershipMap.get(ownership.ownerId); + arr!.push(ownership.partitionId); + partitionOwnershipMap.set(ownership.ownerId, arr!); + } + } - let allPartitionsClaimed = false; - let thrashAfterSettling = false; - const handlers: SubscriptionEventHandlers = { - async processInitialize(context) { - const eventProcessorId: string = (context as any).eventProcessorId; - const partitionId = context.partitionId; + const n = Math.floor(partitionIds.length / 2); + partitionOwnershipMap + .get(processorByName[`processor-0`].id)! + .length.should.oneOf([n, n + 1]); + partitionOwnershipMap + .get(processorByName[`processor-1`].id)! + .length.should.oneOf([n, n + 1]); + }); - partitionOwnershipHistory.push(`${eventProcessorId}: init ${partitionId}`); + it("should ensure that all the processors maintain a steady-state when all partitions are being processed (BalancedLoadBalancingStrategy)", async function(): Promise< + void + > { + const partitionIds = await producerClient.getPartitionIds(); + const checkpointStore = new InMemoryCheckpointStore(); + const claimedPartitionsMap = {} as { [eventProcessorId: string]: Set }; - loggerForTest(`[${eventProcessorId}] Claimed partition ${partitionId}`); - if (allPartitionsClaimed) { - thrashAfterSettling = true; - return; - } + const partitionOwnershipHistory: string[] = []; - const claimedPartitions = claimedPartitionsMap[eventProcessorId] || new Set(); - claimedPartitions.add(partitionId); - claimedPartitionsMap[eventProcessorId] = claimedPartitions; - }, - async processEvents() { - /* no-op */ - }, - async processError() { - /* no-op */ - }, - async processClose(reason, context) { - const eventProcessorId: string = (context as any).eventProcessorId; - const partitionId = context.partitionId; - const claimedPartitions = claimedPartitionsMap[eventProcessorId]; - claimedPartitions.delete(partitionId); - loggerForTest( - `[${(context as any).eventProcessorId}] processClose(${reason}) on partition ${ - context.partitionId - }` - ); - if (reason === CloseReason.OwnershipLost && allPartitionsClaimed) { + let allPartitionsClaimed = false; + let thrashAfterSettling = false; + const handlers: SubscriptionEventHandlers = { + async processInitialize(context) { + const eventProcessorId: string = (context as any).eventProcessorId; + const partitionId = context.partitionId; + + partitionOwnershipHistory.push(`${eventProcessorId}: init ${partitionId}`); + + loggerForTest(`[${eventProcessorId}] Claimed partition ${partitionId}`); + if (allPartitionsClaimed) { + thrashAfterSettling = true; + return; + } + + const claimedPartitions = claimedPartitionsMap[eventProcessorId] || new Set(); + claimedPartitions.add(partitionId); + claimedPartitionsMap[eventProcessorId] = claimedPartitions; + }, + async processEvents() { + /* no-op */ + }, + async processError() { + /* no-op */ + }, + async processClose(reason, context) { + const eventProcessorId: string = (context as any).eventProcessorId; + const partitionId = context.partitionId; + const claimedPartitions = claimedPartitionsMap[eventProcessorId]; + claimedPartitions.delete(partitionId); loggerForTest( - `[${(context as any).eventProcessorId}] Lost partition ${context.partitionId}` + `[${(context as any).eventProcessorId}] processClose(${reason}) on partition ${ + context.partitionId + }` ); - thrashAfterSettling = true; + if (reason === CloseReason.OwnershipLost && allPartitionsClaimed) { + loggerForTest( + `[${(context as any).eventProcessorId}] Lost partition ${context.partitionId}` + ); + thrashAfterSettling = true; + } } - } - }; + }; - const eventProcessorOptions: FullEventProcessorOptions = { - maxBatchSize: 1, - maxWaitTimeInSeconds: 5, - loopIntervalInMs: 1000, - inactiveTimeLimitInMs: 3000, - ownerLevel: 0, - // For this test we don't want to actually checkpoint, just test ownership. - startPosition: latestEventPosition, - loadBalancingStrategy: new GreedyLoadBalancingStrategy(60000) - }; + const eventProcessorOptions: FullEventProcessorOptions = { + maxBatchSize: 1, + maxWaitTimeInSeconds: 5, + loopIntervalInMs: 1000, + inactiveTimeLimitInMs: 3000, + ownerLevel: 0, + // For this test we don't want to actually checkpoint, just test ownership. + startPosition: latestEventPosition, + loadBalancingStrategy: new BalancedLoadBalancingStrategy(60000) + }; - const processor1 = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - handlers, - checkpointStore, - eventProcessorOptions - ); + const processor1 = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + handlers, + checkpointStore, + eventProcessorOptions + ); - const processor2 = new EventProcessor( - EventHubConsumerClient.defaultConsumerGroupName, - consumerClient["_context"], - handlers, - checkpointStore, - eventProcessorOptions - ); + const processor2 = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + handlers, + checkpointStore, + eventProcessorOptions + ); - processor1.start(); - processor2.start(); + processor1.start(); + processor2.start(); + + // loop until all partitions are claimed + try { + let lastLoopError: Record = {}; + + await loopUntil({ + name: "partitionOwnership", + maxTimes: 30, + timeBetweenRunsMs: 10000, + + errorMessageFn: () => JSON.stringify(lastLoopError, undefined, " "), + until: async () => { + // Ensure the partition ownerships are balanced. + const eventProcessorIds = Object.keys(claimedPartitionsMap); + + // There are 2 processors, so we should see 2 entries. + if (eventProcessorIds.length !== 2) { + lastLoopError = { + reason: "Not all event processors have shown up", + eventProcessorIds, + partitionOwnershipHistory + }; + return false; + } - // loop until all partitions are claimed - try { - let lastLoopError: Record = {}; + const aProcessorPartitions = claimedPartitionsMap[eventProcessorIds[0]]; + const bProcessorPartitions = claimedPartitionsMap[eventProcessorIds[1]]; + + // The delta between number of partitions each processor owns can't be more than 1. + if (Math.abs(aProcessorPartitions.size - bProcessorPartitions.size) > 1) { + lastLoopError = { + reason: "Delta between partitions is greater than 1", + a: Array.from(aProcessorPartitions), + b: Array.from(bProcessorPartitions), + partitionOwnershipHistory + }; + return false; + } - await loopUntil({ - name: "partitionOwnership", - maxTimes: 30, - timeBetweenRunsMs: 10000, + // All partitions must be claimed. + const innerAllPartitionsClaimed = + aProcessorPartitions.size + bProcessorPartitions.size === partitionIds.length; + + if (!innerAllPartitionsClaimed) { + lastLoopError = { + reason: "All partitions not claimed", + partitionIds, + a: Array.from(aProcessorPartitions), + b: Array.from(bProcessorPartitions), + partitionOwnershipHistory + }; + } - errorMessageFn: () => JSON.stringify(lastLoopError, undefined, " "), - until: async () => { - // Ensure the partition ownerships are balanced. - const eventProcessorIds = Object.keys(claimedPartitionsMap); - - // There are 2 processors, so we should see 2 entries. - if (eventProcessorIds.length !== 2) { - lastLoopError = { - reason: "Not all event processors have shown up", - eventProcessorIds, - partitionOwnershipHistory - }; - return false; + return innerAllPartitionsClaimed; } + }); + } catch (err) { + // close processors + await Promise.all([processor1.stop(), processor2.stop()]); + throw err; + } - const aProcessorPartitions = claimedPartitionsMap[eventProcessorIds[0]]; - const bProcessorPartitions = claimedPartitionsMap[eventProcessorIds[1]]; + loggerForTest(`All partitions have been claimed.`); + allPartitionsClaimed = true; - // The delta between number of partitions each processor owns can't be more than 1. - if (Math.abs(aProcessorPartitions.size - bProcessorPartitions.size) > 1) { - lastLoopError = { - reason: "Delta between partitions is greater than 1", - a: Array.from(aProcessorPartitions), - b: Array.from(bProcessorPartitions), - partitionOwnershipHistory - }; - return false; - } + try { + // loop for some time to see if thrashing occurs + await loopUntil({ + name: "partitionThrash", + maxTimes: 4, + timeBetweenRunsMs: 1000, + until: async () => thrashAfterSettling + }); + } catch (err) { + // swallow error, check trashAfterSettling for the condition in finally + } finally { + await Promise.all([processor1.stop(), processor2.stop()]); + should.equal( + thrashAfterSettling, + false, + "Detected PartitionOwnership thrashing after load-balancing has settled." + ); + } + }); - // All partitions must be claimed. - const innerAllPartitionsClaimed = - aProcessorPartitions.size + bProcessorPartitions.size === partitionIds.length; - - if (!innerAllPartitionsClaimed) { - lastLoopError = { - reason: "All partitions not claimed", - partitionIds, - a: Array.from(aProcessorPartitions), - b: Array.from(bProcessorPartitions), - partitionOwnershipHistory - }; + it("should ensure that all the processors maintain a steady-state when all partitions are being processed (GreedyLoadBalancingStrategy)", async function(): Promise< + void + > { + const partitionIds = await producerClient.getPartitionIds(); + const checkpointStore = new InMemoryCheckpointStore(); + const claimedPartitionsMap = {} as { [eventProcessorId: string]: Set }; + + const partitionOwnershipHistory: string[] = []; + + let allPartitionsClaimed = false; + let thrashAfterSettling = false; + const handlers: SubscriptionEventHandlers = { + async processInitialize(context) { + const eventProcessorId: string = (context as any).eventProcessorId; + const partitionId = context.partitionId; + + partitionOwnershipHistory.push(`${eventProcessorId}: init ${partitionId}`); + + loggerForTest(`[${eventProcessorId}] Claimed partition ${partitionId}`); + if (allPartitionsClaimed) { + thrashAfterSettling = true; + return; } - return innerAllPartitionsClaimed; + const claimedPartitions = claimedPartitionsMap[eventProcessorId] || new Set(); + claimedPartitions.add(partitionId); + claimedPartitionsMap[eventProcessorId] = claimedPartitions; + }, + async processEvents() { + /* no-op */ + }, + async processError() { + /* no-op */ + }, + async processClose(reason, context) { + const eventProcessorId: string = (context as any).eventProcessorId; + const partitionId = context.partitionId; + const claimedPartitions = claimedPartitionsMap[eventProcessorId]; + claimedPartitions.delete(partitionId); + loggerForTest( + `[${(context as any).eventProcessorId}] processClose(${reason}) on partition ${ + context.partitionId + }` + ); + if (reason === CloseReason.OwnershipLost && allPartitionsClaimed) { + loggerForTest( + `[${(context as any).eventProcessorId}] Lost partition ${context.partitionId}` + ); + thrashAfterSettling = true; + } } - }); - } catch (err) { - // close processors - await Promise.all([processor1.stop(), processor2.stop()]); - throw err; - } + }; - loggerForTest(`All partitions have been claimed.`); - allPartitionsClaimed = true; + const eventProcessorOptions: FullEventProcessorOptions = { + maxBatchSize: 1, + maxWaitTimeInSeconds: 5, + loopIntervalInMs: 1000, + inactiveTimeLimitInMs: 3000, + ownerLevel: 0, + // For this test we don't want to actually checkpoint, just test ownership. + startPosition: latestEventPosition, + loadBalancingStrategy: new GreedyLoadBalancingStrategy(60000) + }; - try { - // loop for some time to see if thrashing occurs - await loopUntil({ - name: "partitionThrash", - maxTimes: 4, - timeBetweenRunsMs: 1000, - until: async () => thrashAfterSettling - }); - } catch (err) { - // swallow error, check trashAfterSettling for the condition in finally - } finally { - await Promise.all([processor1.stop(), processor2.stop()]); - should.equal( - thrashAfterSettling, - false, - "Detected PartitionOwnership thrashing after load-balancing has settled." + const processor1 = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + handlers, + checkpointStore, + eventProcessorOptions ); - } + + const processor2 = new EventProcessor( + EventHubConsumerClient.defaultConsumerGroupName, + consumerClient["_context"], + handlers, + checkpointStore, + eventProcessorOptions + ); + + processor1.start(); + processor2.start(); + + // loop until all partitions are claimed + try { + let lastLoopError: Record = {}; + + await loopUntil({ + name: "partitionOwnership", + maxTimes: 30, + timeBetweenRunsMs: 10000, + + errorMessageFn: () => JSON.stringify(lastLoopError, undefined, " "), + until: async () => { + // Ensure the partition ownerships are balanced. + const eventProcessorIds = Object.keys(claimedPartitionsMap); + + // There are 2 processors, so we should see 2 entries. + if (eventProcessorIds.length !== 2) { + lastLoopError = { + reason: "Not all event processors have shown up", + eventProcessorIds, + partitionOwnershipHistory + }; + return false; + } + + const aProcessorPartitions = claimedPartitionsMap[eventProcessorIds[0]]; + const bProcessorPartitions = claimedPartitionsMap[eventProcessorIds[1]]; + + // The delta between number of partitions each processor owns can't be more than 1. + if (Math.abs(aProcessorPartitions.size - bProcessorPartitions.size) > 1) { + lastLoopError = { + reason: "Delta between partitions is greater than 1", + a: Array.from(aProcessorPartitions), + b: Array.from(bProcessorPartitions), + partitionOwnershipHistory + }; + return false; + } + + // All partitions must be claimed. + const innerAllPartitionsClaimed = + aProcessorPartitions.size + bProcessorPartitions.size === partitionIds.length; + + if (!innerAllPartitionsClaimed) { + lastLoopError = { + reason: "All partitions not claimed", + partitionIds, + a: Array.from(aProcessorPartitions), + b: Array.from(bProcessorPartitions), + partitionOwnershipHistory + }; + } + + return innerAllPartitionsClaimed; + } + }); + } catch (err) { + // close processors + await Promise.all([processor1.stop(), processor2.stop()]); + throw err; + } + + loggerForTest(`All partitions have been claimed.`); + allPartitionsClaimed = true; + + try { + // loop for some time to see if thrashing occurs + await loopUntil({ + name: "partitionThrash", + maxTimes: 4, + timeBetweenRunsMs: 1000, + until: async () => thrashAfterSettling + }); + } catch (err) { + // swallow error, check trashAfterSettling for the condition in finally + } finally { + await Promise.all([processor1.stop(), processor2.stop()]); + should.equal( + thrashAfterSettling, + false, + "Detected PartitionOwnership thrashing after load-balancing has settled." + ); + } + }); }); - }); -}).timeout(100000); - -function ownershipListToMap(partitionOwnership: PartitionOwnership[]): Map { - const partitionOwnershipMap: Map = new Map(); - - for (const ownership of partitionOwnership) { - if (!partitionOwnershipMap.has(ownership.ownerId)) { - partitionOwnershipMap.set(ownership.ownerId, [ownership.partitionId]); - } else { - const arr = partitionOwnershipMap.get(ownership.ownerId); - arr!.push(ownership.partitionId); - partitionOwnershipMap.set(ownership.ownerId, arr!); + }).timeout(100000); + + function ownershipListToMap(partitionOwnership: PartitionOwnership[]): Map { + const partitionOwnershipMap: Map = new Map(); + + for (const ownership of partitionOwnership) { + if (!partitionOwnershipMap.has(ownership.ownerId)) { + partitionOwnershipMap.set(ownership.ownerId, [ownership.partitionId]); + } else { + const arr = partitionOwnershipMap.get(ownership.ownerId); + arr!.push(ownership.partitionId); + partitionOwnershipMap.set(ownership.ownerId, arr!); + } } + + return partitionOwnershipMap; } - return partitionOwnershipMap; -} + function triggerAbortedSignalAfterNumCalls(maxCalls: number): AbortSignal { + let count = 0; -function triggerAbortedSignalAfterNumCalls(maxCalls: number): AbortSignal { - let count = 0; + const abortSignal: AbortSignal = { + get aborted(): boolean { + ++count; - const abortSignal: AbortSignal = { - get aborted(): boolean { - ++count; + if (count >= maxCalls) { + return true; + } - if (count >= maxCalls) { - return true; - } + return false; + }, + addEventListener: () => { + /* no-op */ + }, + removeEventListener: () => { + /* no-op */ + }, + onabort: () => { + /* no-op */ + }, + dispatchEvent: () => true + }; - return false; - }, - addEventListener: () => { - /* no-op */ - }, - removeEventListener: () => { - /* no-op */ - }, - onabort: () => { - /* no-op */ - }, - dispatchEvent: () => true - }; - - return abortSignal; -} + return abortSignal; + } +}); diff --git a/sdk/eventhub/event-hubs/test/internal/eventdata.spec.ts b/sdk/eventhub/event-hubs/test/internal/eventdata.spec.ts index a8b1bd7a76b8..a32841c70e3b 100644 --- a/sdk/eventhub/event-hubs/test/internal/eventdata.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/eventdata.spec.ts @@ -12,6 +12,7 @@ import { valueSectionTypeCode } from "../../src/dataTransformer"; import { AmqpAnnotatedMessage } from "@azure/core-amqp"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; const testAnnotations = { "x-opt-enqueued-time": Date.now(), @@ -43,58 +44,135 @@ const testSourceEventData: EventData = { const messageFromED = toRheaMessage(testSourceEventData); -describe("EventData", function(): void { - describe("fromRheaMessage", function(): void { - it("populates body with the message body", function(): void { - const testEventData = fromRheaMessage(testMessage); - testEventData.body.should.equal(testBody); - }); - - it("populates top-level fields", () => { - const testEventData = fromRheaMessage({ - ...testMessage, - ...{ content_type: "application/json", correlation_id: "cid", message_id: 1 } - }); - should().equal(testEventData.messageId, 1, "Unexpected messageId found."); - should().equal( - testEventData.contentType, - "application/json", - "Unexpected contentType found." - ); - should().equal(testEventData.correlationId, "cid", "Unexpected correlationId found."); - }); - - describe("properties", function(): void { - it("enqueuedTimeUtc gets the enqueued time from system properties", function(): void { +testWithServiceTypes(() => { + describe("EventData", function(): void { + describe("fromRheaMessage", function(): void { + it("populates body with the message body", function(): void { const testEventData = fromRheaMessage(testMessage); - testEventData - .enqueuedTimeUtc!.getTime() - .should.equal(testAnnotations["x-opt-enqueued-time"]); + testEventData.body.should.equal(testBody); }); - it("offset gets the offset from system properties", function(): void { - const testEventData = fromRheaMessage(testMessage); - testEventData.offset!.should.equal(testAnnotations["x-opt-offset"]); + it("populates top-level fields", () => { + const testEventData = fromRheaMessage({ + ...testMessage, + ...{ content_type: "application/json", correlation_id: "cid", message_id: 1 } + }); + should().equal(testEventData.messageId, 1, "Unexpected messageId found."); + should().equal( + testEventData.contentType, + "application/json", + "Unexpected contentType found." + ); + should().equal(testEventData.correlationId, "cid", "Unexpected correlationId found."); }); - it("sequenceNumber gets the sequence number from system properties", function(): void { - const testEventData = fromRheaMessage(testMessage); - testEventData.sequenceNumber!.should.equal(testAnnotations["x-opt-sequence-number"]); - }); + describe("properties", function(): void { + it("enqueuedTimeUtc gets the enqueued time from system properties", function(): void { + const testEventData = fromRheaMessage(testMessage); + testEventData + .enqueuedTimeUtc!.getTime() + .should.equal(testAnnotations["x-opt-enqueued-time"]); + }); - it("partitionKey gets the sequence number from system properties", function(): void { - const testEventData = fromRheaMessage(testMessage); - testEventData.partitionKey!.should.equal(testAnnotations["x-opt-partition-key"]); + it("offset gets the offset from system properties", function(): void { + const testEventData = fromRheaMessage(testMessage); + testEventData.offset!.should.equal(testAnnotations["x-opt-offset"]); + }); + + it("sequenceNumber gets the sequence number from system properties", function(): void { + const testEventData = fromRheaMessage(testMessage); + testEventData.sequenceNumber!.should.equal(testAnnotations["x-opt-sequence-number"]); + }); + + it("partitionKey gets the sequence number from system properties", function(): void { + const testEventData = fromRheaMessage(testMessage); + testEventData.partitionKey!.should.equal(testAnnotations["x-opt-partition-key"]); + }); + + it("returns systemProperties for unknown message annotations", function(): void { + const extraAnnotations = { + "x-iot-foo-prop": "just-a-foo", + "x-iot-bar-prop": "bar-above-the-rest" + }; + const testEventData = fromRheaMessage({ + body: testBody, + application_properties: applicationProperties, + message_annotations: { + ...testAnnotations, + ...extraAnnotations + } + }); + testEventData + .enqueuedTimeUtc!.getTime() + .should.equal(testAnnotations["x-opt-enqueued-time"]); + testEventData.offset!.should.equal(testAnnotations["x-opt-offset"]); + testEventData.sequenceNumber!.should.equal(testAnnotations["x-opt-sequence-number"]); + testEventData.partitionKey!.should.equal(testAnnotations["x-opt-partition-key"]); + testEventData.systemProperties!["x-iot-foo-prop"].should.eql( + extraAnnotations["x-iot-foo-prop"] + ); + testEventData.systemProperties!["x-iot-bar-prop"].should.eql( + extraAnnotations["x-iot-bar-prop"] + ); + }); + + it("returns systemProperties for special known properties", function(): void { + const testEventData = fromRheaMessage({ + body: testBody, + application_properties: applicationProperties, + message_annotations: testAnnotations, + message_id: "messageId", + user_id: "userId", + to: "to", + subject: "subject", + reply_to: "replyTo", + reply_to_group_id: "replyToGroupId", + content_encoding: "utf-8", + content_type: "application/json", + correlation_id: "id2", + absolute_expiry_time: new Date(0), + creation_time: new Date(0), + group_id: "groupId", + group_sequence: 1 + }); + + testEventData + .enqueuedTimeUtc!.getTime() + .should.equal(testAnnotations["x-opt-enqueued-time"]); + testEventData.offset!.should.equal(testAnnotations["x-opt-offset"]); + testEventData.sequenceNumber!.should.equal(testAnnotations["x-opt-sequence-number"]); + testEventData.partitionKey!.should.equal(testAnnotations["x-opt-partition-key"]); + testEventData.systemProperties!["messageId"].should.equal("messageId"); + testEventData.systemProperties!["userId"].should.equal("userId"); + testEventData.systemProperties!["to"].should.equal("to"); + testEventData.systemProperties!["subject"].should.equal("subject"); + testEventData.systemProperties!["replyTo"].should.equal("replyTo"); + testEventData.systemProperties!["replyToGroupId"].should.equal("replyToGroupId"); + testEventData.systemProperties!["contentEncoding"].should.equal("utf-8"); + testEventData.systemProperties!["contentType"].should.equal("application/json"); + testEventData.systemProperties!["correlationId"].should.equal("id2"); + testEventData.systemProperties!["absoluteExpiryTime"].should.equal(0); + testEventData.systemProperties!["creationTime"].should.equal(0); + testEventData.systemProperties!["groupId"].should.equal("groupId"); + testEventData.systemProperties!["groupSequence"].should.equal(1); + }); }); - it("returns systemProperties for unknown message annotations", function(): void { + it("deserializes Dates to numbers in properties and annotations", () => { + const timestamp = new Date(); const extraAnnotations = { - "x-iot-foo-prop": "just-a-foo", - "x-iot-bar-prop": "bar-above-the-rest" + "x-date": timestamp, + "x-number": timestamp.getTime() }; const testEventData = fromRheaMessage({ body: testBody, - application_properties: applicationProperties, + application_properties: { + topLevelDate: timestamp, + child: { + nestedDate: timestamp, + children: [timestamp, { deepDate: timestamp }] + } + }, message_annotations: { ...testAnnotations, ...extraAnnotations @@ -106,210 +184,137 @@ describe("EventData", function(): void { testEventData.offset!.should.equal(testAnnotations["x-opt-offset"]); testEventData.sequenceNumber!.should.equal(testAnnotations["x-opt-sequence-number"]); testEventData.partitionKey!.should.equal(testAnnotations["x-opt-partition-key"]); - testEventData.systemProperties!["x-iot-foo-prop"].should.eql( - extraAnnotations["x-iot-foo-prop"] + testEventData.systemProperties!["x-date"].should.eql(extraAnnotations["x-date"].getTime()); + testEventData.systemProperties!["x-number"].should.eql(extraAnnotations["x-number"]); + testEventData.properties!.should.eql({ + topLevelDate: timestamp.getTime(), + child: { + nestedDate: timestamp.getTime(), + children: [timestamp.getTime(), { deepDate: timestamp.getTime() }] + } + }); + }); + }); + describe("toAmqpMessage", function(): void { + it("populates body with the message body encoded", function(): void { + const expectedTestBodyContents = Buffer.from(JSON.stringify(testBody)); + should().equal( + expectedTestBodyContents.equals(messageFromED.body.content), + true, + "Encoded body does not match expected result." ); - testEventData.systemProperties!["x-iot-bar-prop"].should.eql( - extraAnnotations["x-iot-bar-prop"] + should().equal( + messageFromED.body.typecode, + dataSectionTypeCode, + "Unexpected typecode encountered on body." ); }); - it("returns systemProperties for special known properties", function(): void { - const testEventData = fromRheaMessage({ - body: testBody, - application_properties: applicationProperties, - message_annotations: testAnnotations, - message_id: "messageId", - user_id: "userId", - to: "to", - subject: "subject", - reply_to: "replyTo", - reply_to_group_id: "replyToGroupId", - content_encoding: "utf-8", - content_type: "application/json", - correlation_id: "id2", - absolute_expiry_time: new Date(0), - creation_time: new Date(0), - group_id: "groupId", - group_sequence: 1 + it("populates top-level fields", () => { + const message = toRheaMessage({ + ...testSourceEventData, + ...{ contentType: "application/json", correlationId: "cid", messageId: 1 } }); - - testEventData - .enqueuedTimeUtc!.getTime() - .should.equal(testAnnotations["x-opt-enqueued-time"]); - testEventData.offset!.should.equal(testAnnotations["x-opt-offset"]); - testEventData.sequenceNumber!.should.equal(testAnnotations["x-opt-sequence-number"]); - testEventData.partitionKey!.should.equal(testAnnotations["x-opt-partition-key"]); - testEventData.systemProperties!["messageId"].should.equal("messageId"); - testEventData.systemProperties!["userId"].should.equal("userId"); - testEventData.systemProperties!["to"].should.equal("to"); - testEventData.systemProperties!["subject"].should.equal("subject"); - testEventData.systemProperties!["replyTo"].should.equal("replyTo"); - testEventData.systemProperties!["replyToGroupId"].should.equal("replyToGroupId"); - testEventData.systemProperties!["contentEncoding"].should.equal("utf-8"); - testEventData.systemProperties!["contentType"].should.equal("application/json"); - testEventData.systemProperties!["correlationId"].should.equal("id2"); - testEventData.systemProperties!["absoluteExpiryTime"].should.equal(0); - testEventData.systemProperties!["creationTime"].should.equal(0); - testEventData.systemProperties!["groupId"].should.equal("groupId"); - testEventData.systemProperties!["groupSequence"].should.equal(1); - }); - }); - - it("deserializes Dates to numbers in properties and annotations", () => { - const timestamp = new Date(); - const extraAnnotations = { - "x-date": timestamp, - "x-number": timestamp.getTime() - }; - const testEventData = fromRheaMessage({ - body: testBody, - application_properties: { - topLevelDate: timestamp, - child: { - nestedDate: timestamp, - children: [timestamp, { deepDate: timestamp }] - } - }, - message_annotations: { - ...testAnnotations, - ...extraAnnotations - } - }); - testEventData.enqueuedTimeUtc!.getTime().should.equal(testAnnotations["x-opt-enqueued-time"]); - testEventData.offset!.should.equal(testAnnotations["x-opt-offset"]); - testEventData.sequenceNumber!.should.equal(testAnnotations["x-opt-sequence-number"]); - testEventData.partitionKey!.should.equal(testAnnotations["x-opt-partition-key"]); - testEventData.systemProperties!["x-date"].should.eql(extraAnnotations["x-date"].getTime()); - testEventData.systemProperties!["x-number"].should.eql(extraAnnotations["x-number"]); - testEventData.properties!.should.eql({ - topLevelDate: timestamp.getTime(), - child: { - nestedDate: timestamp.getTime(), - children: [timestamp.getTime(), { deepDate: timestamp.getTime() }] - } + should().equal(message.message_id, 1, "Unexpected message_id found."); + should().equal(message.content_type, "application/json", "Unexpected content_type found."); + should().equal(message.correlation_id, "cid", "Unexpected correlation_id found."); }); - }); - }); - describe("toAmqpMessage", function(): void { - it("populates body with the message body encoded", function(): void { - const expectedTestBodyContents = Buffer.from(JSON.stringify(testBody)); - should().equal( - expectedTestBodyContents.equals(messageFromED.body.content), - true, - "Encoded body does not match expected result." - ); - should().equal( - messageFromED.body.typecode, - dataSectionTypeCode, - "Unexpected typecode encountered on body." - ); - }); - it("populates top-level fields", () => { - const message = toRheaMessage({ - ...testSourceEventData, - ...{ contentType: "application/json", correlationId: "cid", messageId: 1 } + it("populates application_properties of the message", function(): void { + messageFromED.application_properties!.should.equal(properties); }); - should().equal(message.message_id, 1, "Unexpected message_id found."); - should().equal(message.content_type, "application/json", "Unexpected content_type found."); - should().equal(message.correlation_id, "cid", "Unexpected correlation_id found."); - }); - - it("populates application_properties of the message", function(): void { - messageFromED.application_properties!.should.equal(properties); - }); - it("AmqpAnnotatedMessage (explicit type)", () => { - const amqpAnnotatedMessage: AmqpAnnotatedMessage = { - body: "hello", - bodyType: "value" - }; + it("AmqpAnnotatedMessage (explicit type)", () => { + const amqpAnnotatedMessage: AmqpAnnotatedMessage = { + body: "hello", + bodyType: "value" + }; - const rheaMessage = toRheaMessage(amqpAnnotatedMessage); + const rheaMessage = toRheaMessage(amqpAnnotatedMessage); - assert.equal(rheaMessage.body.typecode, valueSectionTypeCode); - }); + assert.equal(rheaMessage.body.typecode, valueSectionTypeCode); + }); - it("AmqpAnnotatedMessage (implicit type)", () => { - const amqpAnnotatedMessage: AmqpAnnotatedMessage = { - body: "hello", - bodyType: undefined - }; + it("AmqpAnnotatedMessage (implicit type)", () => { + const amqpAnnotatedMessage: AmqpAnnotatedMessage = { + body: "hello", + bodyType: undefined + }; - const rheaMessage = toRheaMessage(amqpAnnotatedMessage); + const rheaMessage = toRheaMessage(amqpAnnotatedMessage); - assert.equal(rheaMessage.body.typecode, dataSectionTypeCode); - }); + assert.equal(rheaMessage.body.typecode, dataSectionTypeCode); + }); - it("EventData", () => { - const event: EventData = { - body: "hello" - }; + it("EventData", () => { + const event: EventData = { + body: "hello" + }; - const rheaMessage = toRheaMessage(event); + const rheaMessage = toRheaMessage(event); - assert.equal(rheaMessage.body.typecode, dataSectionTypeCode); - }); + assert.equal(rheaMessage.body.typecode, dataSectionTypeCode); + }); - it("ReceivedEventData (sequence)", () => { - const event: ReceivedEventData = { - enqueuedTimeUtc: new Date(), - offset: 100, - partitionKey: null, - sequenceNumber: 1, - body: ["foo", "bar"], - getRawAmqpMessage() { - return { - body: this.body, - bodyType: "sequence" - }; - } - }; + it("ReceivedEventData (sequence)", () => { + const event: ReceivedEventData = { + enqueuedTimeUtc: new Date(), + offset: 100, + partitionKey: null, + sequenceNumber: 1, + body: ["foo", "bar"], + getRawAmqpMessage() { + return { + body: this.body, + bodyType: "sequence" + }; + } + }; - const rheaMessage = toRheaMessage(event); + const rheaMessage = toRheaMessage(event); - assert.equal(rheaMessage.body.typecode, sequenceSectionTypeCode); - }); + assert.equal(rheaMessage.body.typecode, sequenceSectionTypeCode); + }); - it("ReceivedEventData (data)", () => { - const event: ReceivedEventData = { - enqueuedTimeUtc: new Date(), - offset: 100, - partitionKey: null, - sequenceNumber: 1, - body: ["foo", "bar"], - getRawAmqpMessage() { - return { - body: this.body, - bodyType: "data" - }; - } - }; + it("ReceivedEventData (data)", () => { + const event: ReceivedEventData = { + enqueuedTimeUtc: new Date(), + offset: 100, + partitionKey: null, + sequenceNumber: 1, + body: ["foo", "bar"], + getRawAmqpMessage() { + return { + body: this.body, + bodyType: "data" + }; + } + }; - const rheaMessage = toRheaMessage(event); + const rheaMessage = toRheaMessage(event); - assert.equal(rheaMessage.body.typecode, dataSectionTypeCode); - }); + assert.equal(rheaMessage.body.typecode, dataSectionTypeCode); + }); - it("ReceivedEventData (value)", () => { - const event: ReceivedEventData = { - enqueuedTimeUtc: new Date(), - offset: 100, - partitionKey: null, - sequenceNumber: 1, - body: ["foo", "bar"], - getRawAmqpMessage() { - return { - body: this.body, - bodyType: "value" - }; - } - }; + it("ReceivedEventData (value)", () => { + const event: ReceivedEventData = { + enqueuedTimeUtc: new Date(), + offset: 100, + partitionKey: null, + sequenceNumber: 1, + body: ["foo", "bar"], + getRawAmqpMessage() { + return { + body: this.body, + bodyType: "value" + }; + } + }; - const rheaMessage = toRheaMessage(event); + const rheaMessage = toRheaMessage(event); - assert.equal(rheaMessage.body.typecode, valueSectionTypeCode); + assert.equal(rheaMessage.body.typecode, valueSectionTypeCode); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/impl/partitionGate.spec.ts b/sdk/eventhub/event-hubs/test/internal/impl/partitionGate.spec.ts index 9ed7e1efb4c7..8893db9cabad 100644 --- a/sdk/eventhub/event-hubs/test/internal/impl/partitionGate.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/impl/partitionGate.spec.ts @@ -3,24 +3,27 @@ import { PartitionGate } from "../../../src/impl/partitionGate"; import chai from "chai"; +import { testWithServiceTypes } from "../../public/utils/testWithServiceTypes"; const should = chai.should(); -describe("PartitionGate", () => { - it("add", () => { - const gate = new PartitionGate(); +testWithServiceTypes(() => { + describe("PartitionGate", () => { + it("add", () => { + const gate = new PartitionGate(); - gate.add("all"); + gate.add("all"); - // all supercedes everything else - should.throw(() => gate.add("all"), /Partition already has a subscriber/); - should.throw(() => gate.add("0"), /Partition already has a subscriber/); + // all supercedes everything else + should.throw(() => gate.add("all"), /Partition already has a subscriber/); + should.throw(() => gate.add("0"), /Partition already has a subscriber/); - gate.remove("all"); + gate.remove("all"); - gate.add("0"); - gate.add("1"); // and it's okay to add non-conflicting partitions + gate.add("0"); + gate.add("1"); // and it's okay to add non-conflicting partitions - should.throw(() => gate.add("all"), /Partition already has a subscriber/); - should.throw(() => gate.add("0"), /Partition already has a subscriber/); + should.throw(() => gate.add("all"), /Partition already has a subscriber/); + should.throw(() => gate.add("0"), /Partition already has a subscriber/); + }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/loadBalancingStrategy.spec.ts b/sdk/eventhub/event-hubs/test/internal/loadBalancingStrategy.spec.ts index 016e62cfc33a..205081f7c060 100644 --- a/sdk/eventhub/event-hubs/test/internal/loadBalancingStrategy.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/loadBalancingStrategy.spec.ts @@ -6,600 +6,603 @@ import { PartitionOwnership } from "../../src"; import { BalancedLoadBalancingStrategy } from "../../src/loadBalancerStrategies/balancedStrategy"; import { GreedyLoadBalancingStrategy } from "../../src/loadBalancerStrategies/greedyStrategy"; import { UnbalancedLoadBalancingStrategy } from "../../src/loadBalancerStrategies/unbalancedStrategy"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; const should = chai.should(); -describe("LoadBalancingStrategy", () => { - function createOwnershipMap( - partitionToOwner: Record - ): Map { - const ownershipMap = new Map(); - - for (const partitionId in partitionToOwner) { - ownershipMap.set(partitionId, { - consumerGroup: "$Default", - eventHubName: "eventhubname1", - fullyQualifiedNamespace: "fqdn", - ownerId: partitionToOwner[partitionId], - partitionId: partitionId, - etag: "etag", - lastModifiedTimeInMs: Date.now() - }); - } +testWithServiceTypes(() => { + describe("LoadBalancingStrategy", () => { + function createOwnershipMap( + partitionToOwner: Record + ): Map { + const ownershipMap = new Map(); + + for (const partitionId in partitionToOwner) { + ownershipMap.set(partitionId, { + consumerGroup: "$Default", + eventHubName: "eventhubname1", + fullyQualifiedNamespace: "fqdn", + ownerId: partitionToOwner[partitionId], + partitionId: partitionId, + etag: "etag", + lastModifiedTimeInMs: Date.now() + }); + } - return ownershipMap; - } + return ownershipMap; + } - describe("UnbalancedLoadBalancingStrategy", () => { - it("all", () => { - const m = new Map(); - const lb = new UnbalancedLoadBalancingStrategy(); + describe("UnbalancedLoadBalancingStrategy", () => { + it("all", () => { + const m = new Map(); + const lb = new UnbalancedLoadBalancingStrategy(); - lb.getPartitionsToCliam("ownerId", m, ["1", "2", "3"]).should.deep.eq(["1", "2", "3"]); - should.equal(m.size, 0); - }); - - it("claim partitions we already own", () => { - const m = new Map(); - - m.set("1", { - consumerGroup: "", - fullyQualifiedNamespace: "", - eventHubName: "", - // we already own this so we won't - // try to reclaim it. - ownerId: "ownerId", - partitionId: "" + lb.getPartitionsToCliam("ownerId", m, ["1", "2", "3"]).should.deep.eq(["1", "2", "3"]); + should.equal(m.size, 0); }); - m.set("2", { - consumerGroup: "", - fullyQualifiedNamespace: "", - eventHubName: "", - // owned by someone else - we'll steal this - // partition - ownerId: "someOtherOwnerId", - partitionId: "" + it("claim partitions we already own", () => { + const m = new Map(); + + m.set("1", { + consumerGroup: "", + fullyQualifiedNamespace: "", + eventHubName: "", + // we already own this so we won't + // try to reclaim it. + ownerId: "ownerId", + partitionId: "" + }); + + m.set("2", { + consumerGroup: "", + fullyQualifiedNamespace: "", + eventHubName: "", + // owned by someone else - we'll steal this + // partition + ownerId: "someOtherOwnerId", + partitionId: "" + }); + + const lb = new UnbalancedLoadBalancingStrategy(); + + lb.getPartitionsToCliam("ownerId", m, ["1", "2", "3"]).should.deep.eq(["1", "2", "3"]); }); - - const lb = new UnbalancedLoadBalancingStrategy(); - - lb.getPartitionsToCliam("ownerId", m, ["1", "2", "3"]).should.deep.eq(["1", "2", "3"]); }); - }); - describe("BalancedLoadBalancingStrategy", () => { - const lb = new BalancedLoadBalancingStrategy(1000 * 60); - - it("odd number of partitions per processor", () => { - const allPartitions = ["0", "1", "2"]; - - // at this point 'a' has it's fair share of partitions (there are 3 total) - // and it's okay to have 1 extra. - let partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "1": "b", - "2": "a", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal( - [], - "we've gotten our fair share, shouldn't claim anything new" - ); - - // now the other side of this is when we're fighting for the ownership of an - // extra partition - partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "1": "b", - "2": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal( - ["0"], - "we had our minimum fair share (1) but there's still one extra (uneven number of partitions per processor) and we should snag it" - ); - }); + describe("BalancedLoadBalancingStrategy", () => { + const lb = new BalancedLoadBalancingStrategy(1000 * 60); + + it("odd number of partitions per processor", () => { + const allPartitions = ["0", "1", "2"]; + + // at this point 'a' has it's fair share of partitions (there are 3 total) + // and it's okay to have 1 extra. + let partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "1": "b", + "2": "a", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal( + [], + "we've gotten our fair share, shouldn't claim anything new" + ); + + // now the other side of this is when we're fighting for the ownership of an + // extra partition + partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "1": "b", + "2": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal( + ["0"], + "we had our minimum fair share (1) but there's still one extra (uneven number of partitions per processor) and we should snag it" + ); + }); - it("even number of partitions per processor", () => { - const allPartitions = ["0", "1", "2", "3"]; + it("even number of partitions per processor", () => { + const allPartitions = ["0", "1", "2", "3"]; + + // at this point 'a' has it's fair share of partitions (there are 4 total) + // so it'll stop claiming additional partitions. + let partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "1": "b", + "2": "a", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal( + [], + "we've gotten our fair share, shouldn't claim anything new" + ); + + partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "0": "b", + "1": "b", + "2": "a", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal([], "load is balanced, won't grab any more."); + }); - // at this point 'a' has it's fair share of partitions (there are 4 total) - // so it'll stop claiming additional partitions. - let partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "1": "b", - "2": "a", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal( - [], - "we've gotten our fair share, shouldn't claim anything new" - ); - - partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "0": "b", - "1": "b", - "2": "a", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal([], "load is balanced, won't grab any more."); - }); + // when there are no freely available partitions (partitions that have either expired or are literally unowned) + // we'll need to steal from an existing processor. + // This can happen in a few ways: + // 1. we were simply racing against other processors + // 2. we're coming in later after all partitions have been allocated (ie, scaling out) + // 3. timing issues, death of a processor, etc... + it("stealing", () => { + // something like this could happen if 'a' were just the only processor + // and now we're spinning up 'b' + let partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "0": "a", + "1": "a", + "2": "a" + }), + ["0", "1", "2"] + ); + partitionsToOwn.sort(); + // we'll attempt to steal a partition from 'a'. + partitionsToOwn.length.should.equal( + 1, + "stealing with an odd number of partitions per processor" + ); + + // and now the same case as above, but with an even number of partitions per processor. + partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "0": "a", + "1": "a", + "2": "a", + "3": "a" + }), + ["0", "1", "2", "3"] + ); + partitionsToOwn.sort(); + // we'll attempt to steal a partition from 'a'. + partitionsToOwn.length.should.equal( + 1, + "stealing with an even number of partitions per processor" + ); + }); - // when there are no freely available partitions (partitions that have either expired or are literally unowned) - // we'll need to steal from an existing processor. - // This can happen in a few ways: - // 1. we were simply racing against other processors - // 2. we're coming in later after all partitions have been allocated (ie, scaling out) - // 3. timing issues, death of a processor, etc... - it("stealing", () => { - // something like this could happen if 'a' were just the only processor - // and now we're spinning up 'b' - let partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ - "0": "a", - "1": "a", - "2": "a" - }), - ["0", "1", "2"] - ); - partitionsToOwn.sort(); - // we'll attempt to steal a partition from 'a'. - partitionsToOwn.length.should.equal( - 1, - "stealing with an odd number of partitions per processor" - ); - - // and now the same case as above, but with an even number of partitions per processor. - partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ + it("don't steal when you can just wait", () => { + // @chradek's case: let's say we have this partition layout: + // AAAABBBCCD + // + // Before, we'd let 'C' steal from 'A' - we see that we don't have enough + // +1 processors(exact match) and so 'C' attempts to become one. This can + // lead to some unnecessary thrash as 'A' loses partitions to a processor + // that has technically already met it's quota. + // + // Instead, we treat 'A' is a +1-ish specifically for when we ('C') + // are checking if we want to grab more partitions. + // + // This allows 'A' to just naturally decline as _actual_ processors grab + // their minimum required partitions rather than forcing it and possibly + // having a partition have to juggle between partitions as they try to + // meet the minimum. + const partitions = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; + + const lbs = new BalancedLoadBalancingStrategy(1000 * 60); + + // we'll do 4 consumers + const initialOwnershipMap = createOwnershipMap({ "0": "a", "1": "a", "2": "a", - "3": "a" - }), - ["0", "1", "2", "3"] - ); - partitionsToOwn.sort(); - // we'll attempt to steal a partition from 'a'. - partitionsToOwn.length.should.equal( - 1, - "stealing with an even number of partitions per processor" - ); - }); + "3": "a", - it("don't steal when you can just wait", () => { - // @chradek's case: let's say we have this partition layout: - // AAAABBBCCD - // - // Before, we'd let 'C' steal from 'A' - we see that we don't have enough - // +1 processors(exact match) and so 'C' attempts to become one. This can - // lead to some unnecessary thrash as 'A' loses partitions to a processor - // that has technically already met it's quota. - // - // Instead, we treat 'A' is a +1-ish specifically for when we ('C') - // are checking if we want to grab more partitions. - // - // This allows 'A' to just naturally decline as _actual_ processors grab - // their minimum required partitions rather than forcing it and possibly - // having a partition have to juggle between partitions as they try to - // meet the minimum. - const partitions = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; - - const lbs = new BalancedLoadBalancingStrategy(1000 * 60); - - // we'll do 4 consumers - const initialOwnershipMap = createOwnershipMap({ - "0": "a", - "1": "a", - "2": "a", - "3": "a", - - "4": "b", - "5": "b", - "6": "b", - - "7": "c", - "8": "c", - - "9": "d" - }); - - const requestedPartitions = lbs.getPartitionsToCliam("c", initialOwnershipMap, partitions); - requestedPartitions.sort(); + "4": "b", + "5": "b", + "6": "b", - requestedPartitions.should.deep.equal( - [], - "c will not steal one partition since it sees that, eventually, 'a' will lose its partitions and become a +1 processor on it's own" - ); - }); + "7": "c", + "8": "c", - it("avoid thrash", () => { - // this is a case where we shouldn't steal - we have - // the minimum number of partitions and stealing at this - // point will just keep thrashing both processors. - const partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ - "0": "a", - "1": "b", - "2": "a" - }), - ["0", "1", "2"] - ); - - partitionsToOwn.sort(); - partitionsToOwn.should.deep.equal([], "should not re-steal when things are balanced"); - }); + "9": "d" + }); - it("general cases", () => { - const allPartitions = ["0", "1", "2", "3"]; - - // in the presence of no owners we claim a random partition - let partitionsToOwn = lb.getPartitionsToCliam("a", createOwnershipMap({}), allPartitions); - partitionsToOwn.length.should.be.equal(1, "nothing is owned, claim one"); - - // if there are other owners we should claim up to #partitions/#owners - partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "1": "b", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.length.should.be.equal(1, "1 and 1 with another owner, should claim one"); - // better not try to claim 'b's partition when there are unowned partitions - partitionsToOwn.filter((p) => p === "1").length.should.equal(0); - - // 'b' should claim the last unowned partition - partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ - "1": "b", - "2": "a", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal(["0"], "b grabbed the last available partition"); - - // we're balanced - processors now only grab the partitions that they own - partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ - "0": "b", - "1": "a", - "2": "b", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal([], "balanced: b should not grab anymore partitions"); - }); + const requestedPartitions = lbs.getPartitionsToCliam("c", initialOwnershipMap, partitions); + requestedPartitions.sort(); - it("honors the partitionOwnershipExpirationIntervalInMs", () => { - const intervalInMs = 1000; - const lbs = new BalancedLoadBalancingStrategy(intervalInMs); - const allPartitions = ["0", "1"]; - const ownershipMap = createOwnershipMap({ - "0": "b", - "1": "a" + requestedPartitions.should.deep.equal( + [], + "c will not steal one partition since it sees that, eventually, 'a' will lose its partitions and become a +1 processor on it's own" + ); }); - // At this point, 'a' has its fair share of partitions, and none should be returned. - let partitionsToOwn = lbs.getPartitionsToCliam("a", ownershipMap, allPartitions); - partitionsToOwn.length.should.equal(0, "Expected to not claim any new partitions."); + it("avoid thrash", () => { + // this is a case where we shouldn't steal - we have + // the minimum number of partitions and stealing at this + // point will just keep thrashing both processors. + const partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "0": "a", + "1": "b", + "2": "a" + }), + ["0", "1", "2"] + ); + + partitionsToOwn.sort(); + partitionsToOwn.should.deep.equal([], "should not re-steal when things are balanced"); + }); - // Change the ownership of partition "0" so it is older than the interval. - const ownership = ownershipMap.get("0")!; - ownership.lastModifiedTimeInMs = Date.now() - (intervalInMs + 1); // Add 1 to the interval to ensure it has just expired. + it("general cases", () => { + const allPartitions = ["0", "1", "2", "3"]; + + // in the presence of no owners we claim a random partition + let partitionsToOwn = lb.getPartitionsToCliam("a", createOwnershipMap({}), allPartitions); + partitionsToOwn.length.should.be.equal(1, "nothing is owned, claim one"); + + // if there are other owners we should claim up to #partitions/#owners + partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "1": "b", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.length.should.be.equal(1, "1 and 1 with another owner, should claim one"); + // better not try to claim 'b's partition when there are unowned partitions + partitionsToOwn.filter((p) => p === "1").length.should.equal(0); + + // 'b' should claim the last unowned partition + partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "1": "b", + "2": "a", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal(["0"], "b grabbed the last available partition"); + + // we're balanced - processors now only grab the partitions that they own + partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "0": "b", + "1": "a", + "2": "b", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal([], "balanced: b should not grab anymore partitions"); + }); - partitionsToOwn = lbs.getPartitionsToCliam("a", ownershipMap, allPartitions); - partitionsToOwn.should.deep.equal(["0"]); - }); - }); + it("honors the partitionOwnershipExpirationIntervalInMs", () => { + const intervalInMs = 1000; + const lbs = new BalancedLoadBalancingStrategy(intervalInMs); + const allPartitions = ["0", "1"]; + const ownershipMap = createOwnershipMap({ + "0": "b", + "1": "a" + }); - describe("GreedyLoadBalancingStrategy", () => { - const lb = new GreedyLoadBalancingStrategy(1000 * 60); + // At this point, 'a' has its fair share of partitions, and none should be returned. + let partitionsToOwn = lbs.getPartitionsToCliam("a", ownershipMap, allPartitions); + partitionsToOwn.length.should.equal(0, "Expected to not claim any new partitions."); - it("odd number of partitions per processor", () => { - const allPartitions = ["0", "1", "2"]; + // Change the ownership of partition "0" so it is older than the interval. + const ownership = ownershipMap.get("0")!; + ownership.lastModifiedTimeInMs = Date.now() - (intervalInMs + 1); // Add 1 to the interval to ensure it has just expired. - // at this point 'a' has it's fair share of partitions (there are 3 total) - // and it's okay to have 1 extra. - let partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "1": "b", - "2": "a", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal( - [], - "we've gotten our fair share, shouldn't claim anything new" - ); - - // now the other side of this is when we're fighting for the ownership of an - // extra partition - partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "1": "b", - "2": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal( - ["0"], - "we had our minimum fair share (1) but there's still one extra (uneven number of partitions per processor) and we should snag it" - ); + partitionsToOwn = lbs.getPartitionsToCliam("a", ownershipMap, allPartitions); + partitionsToOwn.should.deep.equal(["0"]); + }); }); - it("even number of partitions per processor", () => { - const allPartitions = ["0", "1", "2", "3"]; + describe("GreedyLoadBalancingStrategy", () => { + const lb = new GreedyLoadBalancingStrategy(1000 * 60); + + it("odd number of partitions per processor", () => { + const allPartitions = ["0", "1", "2"]; + + // at this point 'a' has it's fair share of partitions (there are 3 total) + // and it's okay to have 1 extra. + let partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "1": "b", + "2": "a", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal( + [], + "we've gotten our fair share, shouldn't claim anything new" + ); + + // now the other side of this is when we're fighting for the ownership of an + // extra partition + partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "1": "b", + "2": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal( + ["0"], + "we had our minimum fair share (1) but there's still one extra (uneven number of partitions per processor) and we should snag it" + ); + }); - // at this point 'a' has it's fair share of partitions (there are 4 total) - // so it'll stop claiming additional partitions. - let partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "1": "b", - "2": "a", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal( - [], - "we've gotten our fair share, shouldn't claim anything new" - ); - - partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "0": "b", - "1": "b", - "2": "a", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal([], "load is balanced, won't grab any more."); - }); + it("even number of partitions per processor", () => { + const allPartitions = ["0", "1", "2", "3"]; + + // at this point 'a' has it's fair share of partitions (there are 4 total) + // so it'll stop claiming additional partitions. + let partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "1": "b", + "2": "a", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal( + [], + "we've gotten our fair share, shouldn't claim anything new" + ); + + partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "0": "b", + "1": "b", + "2": "a", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal([], "load is balanced, won't grab any more."); + }); - // when there are no freely available partitions (partitions that have either expired or are literally unowned) - // we'll need to steal from an existing processor. - // This can happen in a few ways: - // 1. we were simply racing against other processors - // 2. we're coming in later after all partitions have been allocated (ie, scaling out) - // 3. timing issues, death of a processor, etc... - it("stealing", () => { - // something like this could happen if 'a' were just the only processor - // and now we're spinning up 'b' - let partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ - "0": "a", - "1": "a", - "2": "a" - }), - ["0", "1", "2"] - ); - partitionsToOwn.sort(); - // we'll attempt to steal a partition from 'a'. - partitionsToOwn.length.should.equal( - 1, - "stealing with an odd number of partitions per processor" - ); - - // and now the same case as above, but with an even number of partitions per processor. - partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ + // when there are no freely available partitions (partitions that have either expired or are literally unowned) + // we'll need to steal from an existing processor. + // This can happen in a few ways: + // 1. we were simply racing against other processors + // 2. we're coming in later after all partitions have been allocated (ie, scaling out) + // 3. timing issues, death of a processor, etc... + it("stealing", () => { + // something like this could happen if 'a' were just the only processor + // and now we're spinning up 'b' + let partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "0": "a", + "1": "a", + "2": "a" + }), + ["0", "1", "2"] + ); + partitionsToOwn.sort(); + // we'll attempt to steal a partition from 'a'. + partitionsToOwn.length.should.equal( + 1, + "stealing with an odd number of partitions per processor" + ); + + // and now the same case as above, but with an even number of partitions per processor. + partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "0": "a", + "1": "a", + "2": "a", + "3": "a" + }), + ["0", "1", "2", "3"] + ); + partitionsToOwn.sort(); + // we'll attempt to steal a partition from 'a'. + partitionsToOwn.length.should.equal( + 2, + "stealing with an even number of partitions per processor" + ); + }); + + it("claims unowned then steals", () => { + const allPartitions = []; + for (let i = 0; i < 8; i++) { + allPartitions.push(`${i}`); + } + + const partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "0": "", + // skip 1, 2 + "3": "b", + "4": "b", + "5": "b", + "6": "b", + "7": "b" + }), + allPartitions + ); + partitionsToOwn.sort(); + // "a" should have 4 partitions in order to be balanced. + // Partitions "0", "1", "2" should be chosen before any are stolen. + partitionsToOwn.length.should.equal(4, "should have claimed half of the partitions."); + partitionsToOwn + .slice(0, 3) + .should.deep.equal(["0", "1", "2"], "should have claimed unclaimed partitions first."); + }); + + it("don't steal when you can just wait", () => { + // @chradek's case: let's say we have this partition layout: + // AAAABBBCCD + // + // Before, we'd let 'C' steal from 'A' - we see that we don't have enough + // +1 processors(exact match) and so 'C' attempts to become one. This can + // lead to some unnecessary thrash as 'A' loses partitions to a processor + // that has technically already met it's quota. + // + // Instead, we treat 'A' is a +1-ish specifically for when we ('C') + // are checking if we want to grab more partitions. + // + // This allows 'A' to just naturally decline as _actual_ processors grab + // their minimum required partitions rather than forcing it and possibly + // having a partition have to juggle between partitions as they try to + // meet the minimum. + const partitions = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; + + const lbs = new BalancedLoadBalancingStrategy(1000 * 60); + + // we'll do 4 consumers + const initialOwnershipMap = createOwnershipMap({ "0": "a", "1": "a", "2": "a", - "3": "a" - }), - ["0", "1", "2", "3"] - ); - partitionsToOwn.sort(); - // we'll attempt to steal a partition from 'a'. - partitionsToOwn.length.should.equal( - 2, - "stealing with an even number of partitions per processor" - ); - }); - - it("claims unowned then steals", () => { - const allPartitions = []; - for (let i = 0; i < 8; i++) { - allPartitions.push(`${i}`); - } + "3": "a", - const partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "0": "", - // skip 1, 2 - "3": "b", "4": "b", "5": "b", "6": "b", - "7": "b" - }), - allPartitions - ); - partitionsToOwn.sort(); - // "a" should have 4 partitions in order to be balanced. - // Partitions "0", "1", "2" should be chosen before any are stolen. - partitionsToOwn.length.should.equal(4, "should have claimed half of the partitions."); - partitionsToOwn - .slice(0, 3) - .should.deep.equal(["0", "1", "2"], "should have claimed unclaimed partitions first."); - }); - it("don't steal when you can just wait", () => { - // @chradek's case: let's say we have this partition layout: - // AAAABBBCCD - // - // Before, we'd let 'C' steal from 'A' - we see that we don't have enough - // +1 processors(exact match) and so 'C' attempts to become one. This can - // lead to some unnecessary thrash as 'A' loses partitions to a processor - // that has technically already met it's quota. - // - // Instead, we treat 'A' is a +1-ish specifically for when we ('C') - // are checking if we want to grab more partitions. - // - // This allows 'A' to just naturally decline as _actual_ processors grab - // their minimum required partitions rather than forcing it and possibly - // having a partition have to juggle between partitions as they try to - // meet the minimum. - const partitions = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; - - const lbs = new BalancedLoadBalancingStrategy(1000 * 60); - - // we'll do 4 consumers - const initialOwnershipMap = createOwnershipMap({ - "0": "a", - "1": "a", - "2": "a", - "3": "a", - - "4": "b", - "5": "b", - "6": "b", - - "7": "c", - "8": "c", - - "9": "d" - }); + "7": "c", + "8": "c", - const requestedPartitions = lbs.getPartitionsToCliam("c", initialOwnershipMap, partitions); - requestedPartitions.sort(); - - requestedPartitions.should.deep.equal( - [], - "c will not steal one partition since it sees that, eventually, 'a' will lose its partitions and become a +1 processor on it's own" - ); - }); - - it("avoid thrash", () => { - // this is a case where we shouldn't steal - we have - // the minimum number of partitions and stealing at this - // point will just keep thrashing both processors. - const partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ - "0": "a", - "1": "b", - "2": "a" - }), - ["0", "1", "2"] - ); - - partitionsToOwn.sort(); - partitionsToOwn.should.deep.equal([], "should not re-steal when things are balanced"); - }); + "9": "d" + }); - it("general cases", () => { - const allPartitions = ["0", "1", "2", "3"]; - - // in the presence of no owners we claim a random partition - let partitionsToOwn = lb.getPartitionsToCliam("a", createOwnershipMap({}), allPartitions); - partitionsToOwn.length.should.be.equal(4, "nothing is owned, claim all"); - - // if there are other owners we should claim up to #partitions/#owners - partitionsToOwn = lb.getPartitionsToCliam( - "a", - createOwnershipMap({ - "1": "b", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.length.should.be.equal(1, "1 and 1 with another owner, should claim one"); - // better not try to claim 'b's partition when there are unowned partitions - partitionsToOwn.filter((p) => p === "1").length.should.equal(0); - - // 'b' should claim the last unowned partition - partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ - "1": "b", - "2": "a", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal(["0"], "b grabbed the last available partition"); - - // we're balanced - processors now only grab the partitions that they own - partitionsToOwn = lb.getPartitionsToCliam( - "b", - createOwnershipMap({ - "0": "b", - "1": "a", - "2": "b", - "3": "a" - }), - allPartitions - ); - partitionsToOwn.sort(); - partitionsToOwn.should.be.deep.equal([], "balanced: b should not grab anymore partitions"); - }); + const requestedPartitions = lbs.getPartitionsToCliam("c", initialOwnershipMap, partitions); + requestedPartitions.sort(); - it("honors the partitionOwnershipExpirationIntervalInMs", () => { - const intervalInMs = 1000; - const lbs = new GreedyLoadBalancingStrategy(intervalInMs); - const allPartitions = ["0", "1", "2", "3"]; - const ownershipMap = createOwnershipMap({ - "0": "b", - "1": "a" + requestedPartitions.should.deep.equal( + [], + "c will not steal one partition since it sees that, eventually, 'a' will lose its partitions and become a +1 processor on it's own" + ); }); - // At this point, "a" should only grab 1 partition since both "a" and "b" should end up with 2 partitions each. - let partitionsToOwn = lbs.getPartitionsToCliam("a", ownershipMap, allPartitions); - partitionsToOwn.length.should.equal(1, "Expected to claim 1 new partitions."); + it("avoid thrash", () => { + // this is a case where we shouldn't steal - we have + // the minimum number of partitions and stealing at this + // point will just keep thrashing both processors. + const partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "0": "a", + "1": "b", + "2": "a" + }), + ["0", "1", "2"] + ); + + partitionsToOwn.sort(); + partitionsToOwn.should.deep.equal([], "should not re-steal when things are balanced"); + }); - // Change the ownership of partition "0" so it is older than the interval. - const ownership = ownershipMap.get("0")!; - ownership.lastModifiedTimeInMs = Date.now() - (intervalInMs + 1); // Add 1 to the interval to ensure it has just expired. + it("general cases", () => { + const allPartitions = ["0", "1", "2", "3"]; + + // in the presence of no owners we claim a random partition + let partitionsToOwn = lb.getPartitionsToCliam("a", createOwnershipMap({}), allPartitions); + partitionsToOwn.length.should.be.equal(4, "nothing is owned, claim all"); + + // if there are other owners we should claim up to #partitions/#owners + partitionsToOwn = lb.getPartitionsToCliam( + "a", + createOwnershipMap({ + "1": "b", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.length.should.be.equal(1, "1 and 1 with another owner, should claim one"); + // better not try to claim 'b's partition when there are unowned partitions + partitionsToOwn.filter((p) => p === "1").length.should.equal(0); + + // 'b' should claim the last unowned partition + partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "1": "b", + "2": "a", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal(["0"], "b grabbed the last available partition"); + + // we're balanced - processors now only grab the partitions that they own + partitionsToOwn = lb.getPartitionsToCliam( + "b", + createOwnershipMap({ + "0": "b", + "1": "a", + "2": "b", + "3": "a" + }), + allPartitions + ); + partitionsToOwn.sort(); + partitionsToOwn.should.be.deep.equal([], "balanced: b should not grab anymore partitions"); + }); - // At this point, "a" should grab partitions 0, 2, and 3. - // This is because "b" only owned 1 partition and that claim is expired, - // so "a" as treated as if it is the only owner. - partitionsToOwn = lbs.getPartitionsToCliam("a", ownershipMap, allPartitions); - partitionsToOwn.sort(); - partitionsToOwn.should.deep.equal(["0", "2", "3"]); + it("honors the partitionOwnershipExpirationIntervalInMs", () => { + const intervalInMs = 1000; + const lbs = new GreedyLoadBalancingStrategy(intervalInMs); + const allPartitions = ["0", "1", "2", "3"]; + const ownershipMap = createOwnershipMap({ + "0": "b", + "1": "a" + }); + + // At this point, "a" should only grab 1 partition since both "a" and "b" should end up with 2 partitions each. + let partitionsToOwn = lbs.getPartitionsToCliam("a", ownershipMap, allPartitions); + partitionsToOwn.length.should.equal(1, "Expected to claim 1 new partitions."); + + // Change the ownership of partition "0" so it is older than the interval. + const ownership = ownershipMap.get("0")!; + ownership.lastModifiedTimeInMs = Date.now() - (intervalInMs + 1); // Add 1 to the interval to ensure it has just expired. + + // At this point, "a" should grab partitions 0, 2, and 3. + // This is because "b" only owned 1 partition and that claim is expired, + // so "a" as treated as if it is the only owner. + partitionsToOwn = lbs.getPartitionsToCliam("a", ownershipMap, allPartitions); + partitionsToOwn.sort(); + partitionsToOwn.should.deep.equal(["0", "2", "3"]); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/misc.spec.ts b/sdk/eventhub/event-hubs/test/internal/misc.spec.ts index 4b82855c07c6..ca6d5617dace 100644 --- a/sdk/eventhub/event-hubs/test/internal/misc.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/misc.spec.ts @@ -24,453 +24,469 @@ import { } from "../../src/diagnostics/instrumentEventData"; import { TraceFlags } from "@azure/core-tracing"; import { SubscriptionHandlerForTests } from "../public/utils/subscriptionHandlerForTests"; -const env = getEnvVars(); - -describe("Misc tests", function(): void { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - let consumerClient: EventHubConsumerClient; - let producerClient: EventHubProducerClient; - let hubInfo: EventHubProperties; - let partitionId: string; - let lastEnqueuedOffset: number; - - before("validate environment", async function(): Promise { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; +import { createMockServer } from "../public/utils/mockService"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - beforeEach(async () => { - debug("Creating the clients.."); - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - hubInfo = await consumerClient.getEventHubProperties(); - partitionId = hubInfo.partitionIds[0]; - lastEnqueuedOffset = (await consumerClient.getPartitionProperties(partitionId)) - .lastEnqueuedOffset; - }); + after("Stopping mock service", () => { + return service?.stop(); + }); + } - afterEach(async () => { - debug("Closing the clients.."); - await producerClient.close(); - await consumerClient.close(); - }); + describe("Misc tests", function(): void { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + let consumerClient: EventHubConsumerClient; + let producerClient: EventHubProducerClient; + let hubInfo: EventHubProperties; + let partitionId: string; + let lastEnqueuedOffset: number; + + before("validate environment", async function(): Promise { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - it("should be able to send and receive a large message correctly", async function(): Promise< - void - > { - const bodysize = 220 * 1024; - const msgString = "A".repeat(220 * 1024); - const msgBody = Buffer.from(msgString); - const obj: EventData = { body: msgBody }; - debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); - debug("Sending one message with %d bytes.", bodysize); - await producerClient.sendBatch([obj], { partitionId }); - debug("Successfully sent the large message."); - - let subscription: Subscription | undefined; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - debug("received message: ", data.length); - should.exist(data); - should.equal(data.length, 1); - should.equal(data[0].body.toString(), msgString); - should.not.exist((data[0].properties || {}).message_id); - resolve(); - }, - processError: async (err) => { - reject(err); - } - }, - { - startPosition: { offset: lastEnqueuedOffset } - } + beforeEach(async () => { + debug("Creating the clients.."); + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path ); + hubInfo = await consumerClient.getEventHubProperties(); + partitionId = hubInfo.partitionIds[0]; + lastEnqueuedOffset = (await consumerClient.getPartitionProperties(partitionId)) + .lastEnqueuedOffset; }); - await subscription!.close(); - }); - it("should be able to send and receive a JSON object as a message correctly", async function(): Promise< - void - > { - const msgBody = { - id: "123-456-789", - weight: 10, - isBlue: true, - siblings: [ - { - id: "098-789-564", - weight: 20, - isBlue: false - } - ] - }; - const obj: EventData = { body: msgBody }; - debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); - debug("Sending one message %O", obj); - await producerClient.sendBatch([obj], { partitionId }); - debug("Successfully sent the large message."); - - let subscription: Subscription | undefined; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - debug("received message: ", data.length); - should.exist(data); - should.equal(data.length, 1); - assert.deepEqual(data[0].body, msgBody); - should.not.exist((data[0].properties || {}).message_id); - resolve(); + afterEach(async () => { + debug("Closing the clients.."); + await producerClient.close(); + await consumerClient.close(); + }); + + it("should be able to send and receive a large message correctly", async function(): Promise< + void + > { + const bodysize = 220 * 1024; + const msgString = "A".repeat(220 * 1024); + const msgBody = Buffer.from(msgString); + const obj: EventData = { body: msgBody }; + debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); + debug("Sending one message with %d bytes.", bodysize); + await producerClient.sendBatch([obj], { partitionId }); + debug("Successfully sent the large message."); + + let subscription: Subscription | undefined; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + debug("received message: ", data.length); + should.exist(data); + should.equal(data.length, 1); + should.equal(data[0].body.toString(), msgString); + should.not.exist((data[0].properties || {}).message_id); + resolve(); + }, + processError: async (err) => { + reject(err); + } }, - processError: async (err) => { - reject(err); + { + startPosition: { offset: lastEnqueuedOffset } } - }, - { - startPosition: { offset: lastEnqueuedOffset } - } - ); + ); + }); + await subscription!.close(); }); - await subscription!.close(); - }); - it("should be able to send and receive an array as a message correctly", async function(): Promise< - void - > { - const msgBody = [ - { - id: "098-789-564", - weight: 20, - isBlue: false - }, - 10, - 20, - "some string" - ]; - const obj: EventData = { body: msgBody, properties: { message_id: uuid() } }; - debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); - debug("Sending one message %O", obj); - await producerClient.sendBatch([obj], { partitionId }); - debug("Successfully sent the large message."); - - let subscription: Subscription | undefined; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - debug("received message: ", data.length); - should.exist(data); - should.equal(data.length, 1); - assert.deepEqual(data[0].body, msgBody); - assert.strictEqual(data[0].properties!.message_id, obj.properties!.message_id); - resolve(); + it("should be able to send and receive a JSON object as a message correctly", async function(): Promise< + void + > { + const msgBody = { + id: "123-456-789", + weight: 10, + isBlue: true, + siblings: [ + { + id: "098-789-564", + weight: 20, + isBlue: false + } + ] + }; + const obj: EventData = { body: msgBody }; + debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); + debug("Sending one message %O", obj); + await producerClient.sendBatch([obj], { partitionId }); + debug("Successfully sent the large message."); + + let subscription: Subscription | undefined; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + debug("received message: ", data.length); + should.exist(data); + should.equal(data.length, 1); + assert.deepEqual(data[0].body, msgBody); + should.not.exist((data[0].properties || {}).message_id); + resolve(); + }, + processError: async (err) => { + reject(err); + } }, - processError: async (err) => { - reject(err); + { + startPosition: { offset: lastEnqueuedOffset } } - }, - { - startPosition: { offset: lastEnqueuedOffset } - } - ); + ); + }); + await subscription!.close(); }); - await subscription!.close(); - }); - it("should be able to send a boolean as a message correctly", async function(): Promise { - const msgBody = true; - const obj: EventData = { body: msgBody }; - debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); - debug("Sending one message %O", obj); - await producerClient.sendBatch([obj], { partitionId }); - debug("Successfully sent the large message."); - - let subscription: Subscription | undefined; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, + it("should be able to send and receive an array as a message correctly", async function(): Promise< + void + > { + const msgBody = [ { - processEvents: async (data) => { - debug("received message: ", data.length); - should.exist(data); - should.equal(data.length, 1); - assert.deepEqual(data[0].body, msgBody); - should.not.exist((data[0].properties || {}).message_id); - resolve(); + id: "098-789-564", + weight: 20, + isBlue: false + }, + 10, + 20, + "some string" + ]; + const obj: EventData = { body: msgBody, properties: { message_id: uuid() } }; + debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); + debug("Sending one message %O", obj); + await producerClient.sendBatch([obj], { partitionId }); + debug("Successfully sent the large message."); + + let subscription: Subscription | undefined; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + debug("received message: ", data.length); + should.exist(data); + should.equal(data.length, 1); + assert.deepEqual(data[0].body, msgBody); + assert.strictEqual(data[0].properties!.message_id, obj.properties!.message_id); + resolve(); + }, + processError: async (err) => { + reject(err); + } }, - processError: async (err) => { - reject(err); + { + startPosition: { offset: lastEnqueuedOffset } } - }, - { - startPosition: { offset: lastEnqueuedOffset } - } - ); + ); + }); + await subscription!.close(); }); - await subscription!.close(); - }); - it("should be able to send and receive batched messages correctly ", async function(): Promise< - void - > { - debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); - const messageCount = 5; - const d: EventData[] = []; - for (let i = 0; i < messageCount; i++) { - const obj: EventData = { body: `Hello EH ${i}` }; - d.push(obj); - } - - await producerClient.sendBatch(d, { partitionId }); - debug("Successfully sent 5 messages batched together."); - - let subscription: Subscription | undefined; - const receivedMsgs: ReceivedEventData[] = []; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - debug("received message: ", data.length); - receivedMsgs.push(...data); - if (receivedMsgs.length === 5) { + it("should be able to send a boolean as a message correctly", async function(): Promise { + const msgBody = true; + const obj: EventData = { body: msgBody }; + debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); + debug("Sending one message %O", obj); + await producerClient.sendBatch([obj], { partitionId }); + debug("Successfully sent the large message."); + + let subscription: Subscription | undefined; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + debug("received message: ", data.length); + should.exist(data); + should.equal(data.length, 1); + assert.deepEqual(data[0].body, msgBody); + should.not.exist((data[0].properties || {}).message_id); resolve(); + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: { offset: lastEnqueuedOffset } } - }, - { - startPosition: { offset: lastEnqueuedOffset } - } - ); + ); + }); + await subscription!.close(); }); - await subscription!.close(); - receivedMsgs.length.should.equal(5); - for (const message of receivedMsgs) { - should.not.exist((message.properties || {}).message_id); - } - }); - it("should be able to send and receive batched messages as JSON objects correctly ", async function(): Promise< - void - > { - debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); - const messageCount = 5; - const d: EventData[] = []; - for (let i = 0; i < messageCount; i++) { - const obj: EventData = { - body: { - id: "123-456-789", - count: i, - weight: 10, - isBlue: true, - siblings: [ - { - id: "098-789-564", - weight: 20, - isBlue: false + it("should be able to send and receive batched messages correctly ", async function(): Promise< + void + > { + debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); + const messageCount = 5; + const d: EventData[] = []; + for (let i = 0; i < messageCount; i++) { + const obj: EventData = { body: `Hello EH ${i}` }; + d.push(obj); + } + + await producerClient.sendBatch(d, { partitionId }); + debug("Successfully sent 5 messages batched together."); + + let subscription: Subscription | undefined; + const receivedMsgs: ReceivedEventData[] = []; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + debug("received message: ", data.length); + receivedMsgs.push(...data); + if (receivedMsgs.length === 5) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } - ] - }, - properties: { - message_id: uuid() - } - }; - d.push(obj); - } + }, + { + startPosition: { offset: lastEnqueuedOffset } + } + ); + }); + await subscription!.close(); + receivedMsgs.length.should.equal(5); + for (const message of receivedMsgs) { + should.not.exist((message.properties || {}).message_id); + } + }); - await producerClient.sendBatch(d, { partitionId }); - debug("Successfully sent 5 messages batched together."); + it("should be able to send and receive batched messages as JSON objects correctly ", async function(): Promise< + void + > { + debug(`Partition ${partitionId} has last message with offset ${lastEnqueuedOffset}.`); + const messageCount = 5; + const d: EventData[] = []; + for (let i = 0; i < messageCount; i++) { + const obj: EventData = { + body: { + id: "123-456-789", + count: i, + weight: 10, + isBlue: true, + siblings: [ + { + id: "098-789-564", + weight: 20, + isBlue: false + } + ] + }, + properties: { + message_id: uuid() + } + }; + d.push(obj); + } - let subscription: Subscription | undefined; - const receivedMsgs: ReceivedEventData[] = []; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - debug("received message: ", data.length); - receivedMsgs.push(...data); - if (receivedMsgs.length === 5) { - resolve(); + await producerClient.sendBatch(d, { partitionId }); + debug("Successfully sent 5 messages batched together."); + + let subscription: Subscription | undefined; + const receivedMsgs: ReceivedEventData[] = []; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + debug("received message: ", data.length); + receivedMsgs.push(...data); + if (receivedMsgs.length === 5) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: { offset: lastEnqueuedOffset } } - }, - { - startPosition: { offset: lastEnqueuedOffset } - } - ); + ); + }); + await subscription!.close(); + should.equal(receivedMsgs[0].body.count, 0); + should.equal(receivedMsgs.length, 5); + for (const [index, message] of receivedMsgs.entries()) { + assert.strictEqual(message.properties!.message_id, d[index].properties!.message_id); + } }); - await subscription!.close(); - should.equal(receivedMsgs[0].body.count, 0); - should.equal(receivedMsgs.length, 5); - for (const [index, message] of receivedMsgs.entries()) { - assert.strictEqual(message.properties!.message_id, d[index].properties!.message_id); - } - }); - it("should consistently send messages with partitionkey to a partitionId", async function(): Promise< - void - > { - const { - subscriptionEventHandler, - startPosition - } = await SubscriptionHandlerForTests.startingFromHere(consumerClient); - - const msgToSendCount = 50; - debug("Sending %d messages.", msgToSendCount); - - function getRandomInt(max: number): number { - return Math.floor(Math.random() * Math.floor(max)); - } - - const senderPromises = []; - - for (let i = 0; i < msgToSendCount; i++) { - const partitionKey = getRandomInt(10); - senderPromises.push( - producerClient.sendBatch([{ body: "Hello EventHub " + i }], { - partitionKey: partitionKey.toString() - }) - ); - } + it("should consistently send messages with partitionkey to a partitionId", async function(): Promise< + void + > { + const { + subscriptionEventHandler, + startPosition + } = await SubscriptionHandlerForTests.startingFromHere(consumerClient); - await Promise.all(senderPromises); + const msgToSendCount = 50; + debug("Sending %d messages.", msgToSendCount); - debug("Starting to receive all messages from each partition."); - const partitionMap: any = {}; + function getRandomInt(max: number): number { + return Math.floor(Math.random() * Math.floor(max)); + } - let subscription: Subscription | undefined = undefined; + const senderPromises = []; - try { - subscription = consumerClient.subscribe(subscriptionEventHandler, { - startPosition - }); - const receivedEvents = await subscriptionEventHandler.waitForFullEvents( - hubInfo.partitionIds, - msgToSendCount - ); + for (let i = 0; i < msgToSendCount; i++) { + const partitionKey = getRandomInt(10); + senderPromises.push( + producerClient.sendBatch([{ body: "Hello EventHub " + i }], { + partitionKey: partitionKey.toString() + }) + ); + } + + await Promise.all(senderPromises); + + debug("Starting to receive all messages from each partition."); + const partitionMap: any = {}; - for (const d of receivedEvents) { - debug(">>>> _raw_amqp_mesage: ", (d as any)._raw_amqp_mesage); - const pk = d.event.partitionKey as string; - debug("pk: ", pk); + let subscription: Subscription | undefined = undefined; - if (partitionMap[pk] && partitionMap[pk] !== d.partitionId) { - debug( - `#### Error: Received a message from partition ${d.partitionId} with partition key ${pk}, whereas the same key was observed on partition ${partitionMap[pk]} before.` - ); - assert(partitionMap[pk] === d.partitionId); + try { + subscription = consumerClient.subscribe(subscriptionEventHandler, { + startPosition + }); + const receivedEvents = await subscriptionEventHandler.waitForFullEvents( + hubInfo.partitionIds, + msgToSendCount + ); + + for (const d of receivedEvents) { + debug(">>>> _raw_amqp_mesage: ", (d as any)._raw_amqp_mesage); + const pk = d.event.partitionKey as string; + debug("pk: ", pk); + + if (partitionMap[pk] && partitionMap[pk] !== d.partitionId) { + debug( + `#### Error: Received a message from partition ${d.partitionId} with partition key ${pk}, whereas the same key was observed on partition ${partitionMap[pk]} before.` + ); + assert(partitionMap[pk] === d.partitionId); + } + partitionMap[pk] = d.partitionId; + debug("partitionMap ", partitionMap); } - partitionMap[pk] = d.partitionId; - debug("partitionMap ", partitionMap); - } - } finally { - if (subscription) { - await subscription.close(); - } - await consumerClient.close(); - } - }); -}).timeout(60000); - -describe("extractSpanContextFromEventData", function() { - it("should extract a SpanContext from a properly instrumented EventData", function() { - const traceId = "11111111111111111111111111111111"; - const spanId = "2222222222222222"; - const flags = "00"; - const eventData: ReceivedEventData = { - body: "This is a test.", - enqueuedTimeUtc: new Date(), - offset: 0, - sequenceNumber: 0, - partitionKey: null, - properties: { - [TRACEPARENT_PROPERTY]: `00-${traceId}-${spanId}-${flags}` - }, - getRawAmqpMessage() { - return {} as any; + } finally { + if (subscription) { + await subscription.close(); + } + await consumerClient.close(); } - }; + }); + }).timeout(60000); + + describe("extractSpanContextFromEventData", function() { + it("should extract a SpanContext from a properly instrumented EventData", function() { + const traceId = "11111111111111111111111111111111"; + const spanId = "2222222222222222"; + const flags = "00"; + const eventData: ReceivedEventData = { + body: "This is a test.", + enqueuedTimeUtc: new Date(), + offset: 0, + sequenceNumber: 0, + partitionKey: null, + properties: { + [TRACEPARENT_PROPERTY]: `00-${traceId}-${spanId}-${flags}` + }, + getRawAmqpMessage() { + return {} as any; + } + }; - const spanContext = extractSpanContextFromEventData(eventData); + const spanContext = extractSpanContextFromEventData(eventData); - should.exist(spanContext, "Extracted spanContext should be defined."); - should.equal(spanContext!.traceId, traceId, "Extracted traceId does not match expectation."); - should.equal(spanContext!.spanId, spanId, "Extracted spanId does not match expectation."); - should.equal( - spanContext!.traceFlags, - TraceFlags.NONE, - "Extracted traceFlags do not match expectations." - ); - }); + should.exist(spanContext, "Extracted spanContext should be defined."); + should.equal(spanContext!.traceId, traceId, "Extracted traceId does not match expectation."); + should.equal(spanContext!.spanId, spanId, "Extracted spanId does not match expectation."); + should.equal( + spanContext!.traceFlags, + TraceFlags.NONE, + "Extracted traceFlags do not match expectations." + ); + }); - it("should return undefined when EventData is not properly instrumented", function() { - const traceId = "11111111111111111111111111111111"; - const spanId = "2222222222222222"; - const flags = "00"; - const eventData: ReceivedEventData = { - body: "This is a test.", - enqueuedTimeUtc: new Date(), - offset: 0, - sequenceNumber: 0, - partitionKey: null, - properties: { - [TRACEPARENT_PROPERTY]: `99-${traceId}-${spanId}-${flags}` - }, - getRawAmqpMessage() { - return {} as any; - } - }; + it("should return undefined when EventData is not properly instrumented", function() { + const traceId = "11111111111111111111111111111111"; + const spanId = "2222222222222222"; + const flags = "00"; + const eventData: ReceivedEventData = { + body: "This is a test.", + enqueuedTimeUtc: new Date(), + offset: 0, + sequenceNumber: 0, + partitionKey: null, + properties: { + [TRACEPARENT_PROPERTY]: `99-${traceId}-${spanId}-${flags}` + }, + getRawAmqpMessage() { + return {} as any; + } + }; - const spanContext = extractSpanContextFromEventData(eventData); + const spanContext = extractSpanContextFromEventData(eventData); - should.not.exist( - spanContext, - "Invalid diagnosticId version should return undefined spanContext." - ); - }); + should.not.exist( + spanContext, + "Invalid diagnosticId version should return undefined spanContext." + ); + }); - it("should return undefined when EventData is not instrumented", function() { - const eventData: ReceivedEventData = { - body: "This is a test.", - enqueuedTimeUtc: new Date(), - offset: 0, - sequenceNumber: 0, - partitionKey: null, - getRawAmqpMessage() { - return {} as any; - } - }; + it("should return undefined when EventData is not instrumented", function() { + const eventData: ReceivedEventData = { + body: "This is a test.", + enqueuedTimeUtc: new Date(), + offset: 0, + sequenceNumber: 0, + partitionKey: null, + getRawAmqpMessage() { + return {} as any; + } + }; - const spanContext = extractSpanContextFromEventData(eventData); + const spanContext = extractSpanContextFromEventData(eventData); - should.not.exist( - spanContext, - `Missing property "${TRACEPARENT_PROPERTY}" should return undefined spanContext.` - ); + should.not.exist( + spanContext, + `Missing property "${TRACEPARENT_PROPERTY}" should return undefined spanContext.` + ); + }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/node/disconnect.spec.ts b/sdk/eventhub/event-hubs/test/internal/node/disconnect.spec.ts index 1d711ec0dbd0..78d3ff99f37a 100644 --- a/sdk/eventhub/event-hubs/test/internal/node/disconnect.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/node/disconnect.spec.ts @@ -12,185 +12,201 @@ import { stub } from "sinon"; import { MessagingError } from "@azure/core-amqp"; import { EventHubReceiver } from "../../../src/eventHubReceiver"; import { EventHubConsumerClient, latestEventPosition } from "../../../src"; -const env = getEnvVars(); - -describe("disconnected", function() { - let partitionIds: string[] = []; - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - before("validate environment", function(): void { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - before("get partition ids", async function() { - const client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - partitionIds = await client.getPartitionIds(); - return client.close(); - }); - - describe("EventHubSender", function() { - /** - * Test added for issue https://github.com/Azure/azure-sdk-for-js/issues/15002 - * Prior to fixing this issue, a TypeError would be thrown when this test was ran. - */ - it("send works after disconnect", async () => { - const context = createConnectionContext(service.connectionString, service.path); - const sender = EventHubSender.create(context); - - // Create the sender link via getMaxMessageSize() so we can check when 'send' is about to be called on it. - await sender.getMaxMessageSize(); - should.equal(sender.isOpen(), true, "Expected sender to be open."); - - // Here we stub out the 'send' call on the AwaitableSender. - // We do 2 things: - // 1. Call `idle()` on the underlying rhea connection so that a disconnect is triggered. - // 2. Reject with a MessagingError. - // The MessagingError is thrown so that the send operation will be retried. - // The disconnect that's triggered will cause the existing AwaitableSender to be closed. - - // If everything works as expected, then a new AwaitableSender should be created on the next - // retry attempt and the event should be successfully sent. - const senderLink = sender["_sender"]!; - const sendStub = stub(senderLink, "send"); - sendStub.callsFake(async () => { - context.connection["_connection"].idle(); - throw new MessagingError("Fake rejection!"); - }); +import { createMockServer } from "../../public/utils/mockService"; +import { testWithServiceTypes } from "../../public/utils/testWithServiceTypes"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - await sender.send([{ body: "foo" }]); + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("disconnected", function() { + let partitionIds: string[] = []; + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + before("validate environment", function(): void { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - await context.close(); + before("get partition ids", async function() { + const client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); + partitionIds = await client.getPartitionIds(); + return client.close(); }); - }); - describe("ConnectionContext", function() { - describe("onDisconnected", function() { - it("does not fail when entities are closed concurrently", async () => { + describe("EventHubSender", function() { + /** + * Test added for issue https://github.com/Azure/azure-sdk-for-js/issues/15002 + * Prior to fixing this issue, a TypeError would be thrown when this test was ran. + */ + it("send works after disconnect", async () => { const context = createConnectionContext(service.connectionString, service.path); - - // Add 2 receivers. - const receiver1 = new EventHubReceiver( - context, - EventHubConsumerClient.defaultConsumerGroupName, - partitionIds[0], - latestEventPosition - ); - const receiver2 = new EventHubReceiver( - context, - EventHubConsumerClient.defaultConsumerGroupName, - partitionIds[1], - latestEventPosition - ); - - // Add 2 senders. - const sender1 = new EventHubSender(context); - const sender2 = new EventHubSender(context); - - // Initialize sender links - await sender1["_getLink"](); - await sender2["_getLink"](); - - // Initialize receiver links - await receiver1.initialize({ - abortSignal: undefined, - timeoutInMs: 60000 - }); - await receiver2.initialize({ - abortSignal: undefined, - timeoutInMs: 60000 + const sender = EventHubSender.create(context); + + // Create the sender link via getMaxMessageSize() so we can check when 'send' is about to be called on it. + await sender.getMaxMessageSize(); + should.equal(sender.isOpen(), true, "Expected sender to be open."); + + // Here we stub out the 'send' call on the AwaitableSender. + // We do 2 things: + // 1. Call `idle()` on the underlying rhea connection so that a disconnect is triggered. + // 2. Reject with a MessagingError. + // The MessagingError is thrown so that the send operation will be retried. + // The disconnect that's triggered will cause the existing AwaitableSender to be closed. + + // If everything works as expected, then a new AwaitableSender should be created on the next + // retry attempt and the event should be successfully sent. + const senderLink = sender["_sender"]!; + const sendStub = stub(senderLink, "send"); + sendStub.callsFake(async () => { + context.connection["_connection"].idle(); + throw new MessagingError("Fake rejection!"); }); - // We are going to override sender1's close method so that it also invokes receiver2's close method. - const sender1Close = sender1.close.bind(sender1); - sender1.close = async function() { - sender2.close().catch(() => { - /* no-op */ - }); - return sender1Close(); - }; - - // We are going to override receiver1's close method so that it also invokes receiver2's close method. - const receiver1Close = receiver1.close.bind(receiver1); - receiver1.close = async function() { - receiver2.close().catch(() => { - /* no-op */ - }); - return receiver1Close(); - }; + await sender.send([{ body: "foo" }]); - context.connection["_connection"].idle(); - await context.readyToOpenLink(); await context.close(); }); }); - describe("close", function() { - it("does not fail when entities are closed concurrently", async () => { - const context = createConnectionContext(service.connectionString, service.path); + describe("ConnectionContext", function() { + describe("onDisconnected", function() { + it("does not fail when entities are closed concurrently", async () => { + const context = createConnectionContext(service.connectionString, service.path); + + // Add 2 receivers. + const receiver1 = new EventHubReceiver( + context, + EventHubConsumerClient.defaultConsumerGroupName, + partitionIds[0], + latestEventPosition + ); + const receiver2 = new EventHubReceiver( + context, + EventHubConsumerClient.defaultConsumerGroupName, + partitionIds[1], + latestEventPosition + ); + + // Add 2 senders. + const sender1 = new EventHubSender(context); + const sender2 = new EventHubSender(context); + + // Initialize sender links + await sender1["_getLink"](); + await sender2["_getLink"](); + + // Initialize receiver links + await receiver1.initialize({ + abortSignal: undefined, + timeoutInMs: 60000 + }); + await receiver2.initialize({ + abortSignal: undefined, + timeoutInMs: 60000 + }); - // Add 2 receivers. - const receiver1 = new EventHubReceiver( - context, - EventHubConsumerClient.defaultConsumerGroupName, - partitionIds[0], - latestEventPosition - ); - const receiver2 = new EventHubReceiver( - context, - EventHubConsumerClient.defaultConsumerGroupName, - partitionIds[1], - latestEventPosition - ); - - // Add 2 senders. - const sender1 = new EventHubSender(context); - const sender2 = new EventHubSender(context); - - // Initialize sender links - await sender1["_getLink"](); - await sender2["_getLink"](); - - // Initialize receiver links - await receiver1.initialize({ - abortSignal: undefined, - timeoutInMs: 60000 - }); - await receiver2.initialize({ - abortSignal: undefined, - timeoutInMs: 60000 + // We are going to override sender1's close method so that it also invokes receiver2's close method. + const sender1Close = sender1.close.bind(sender1); + sender1.close = async function() { + sender2.close().catch(() => { + /* no-op */ + }); + return sender1Close(); + }; + + // We are going to override receiver1's close method so that it also invokes receiver2's close method. + const receiver1Close = receiver1.close.bind(receiver1); + receiver1.close = async function() { + receiver2.close().catch(() => { + /* no-op */ + }); + return receiver1Close(); + }; + + context.connection["_connection"].idle(); + await context.readyToOpenLink(); + await context.close(); }); + }); - // We are going to override sender1's close method so that it also invokes receiver2's close method. - const sender1Close = sender1.close.bind(sender1); - sender1.close = async function() { - sender2.close().catch(() => { - /* no-op */ + describe("close", function() { + it("does not fail when entities are closed concurrently", async () => { + const context = createConnectionContext(service.connectionString, service.path); + + // Add 2 receivers. + const receiver1 = new EventHubReceiver( + context, + EventHubConsumerClient.defaultConsumerGroupName, + partitionIds[0], + latestEventPosition + ); + const receiver2 = new EventHubReceiver( + context, + EventHubConsumerClient.defaultConsumerGroupName, + partitionIds[1], + latestEventPosition + ); + + // Add 2 senders. + const sender1 = new EventHubSender(context); + const sender2 = new EventHubSender(context); + + // Initialize sender links + await sender1["_getLink"](); + await sender2["_getLink"](); + + // Initialize receiver links + await receiver1.initialize({ + abortSignal: undefined, + timeoutInMs: 60000 }); - return sender1Close(); - }; - - // We are going to override receiver1's close method so that it also invokes receiver2's close method. - const originalClose = receiver1.close.bind(receiver1); - receiver1.close = async function() { - receiver2.close().catch(() => { - /* no-op */ + await receiver2.initialize({ + abortSignal: undefined, + timeoutInMs: 60000 }); - return originalClose(); - }; - await context.close(); + + // We are going to override sender1's close method so that it also invokes receiver2's close method. + const sender1Close = sender1.close.bind(sender1); + sender1.close = async function() { + sender2.close().catch(() => { + /* no-op */ + }); + return sender1Close(); + }; + + // We are going to override receiver1's close method so that it also invokes receiver2's close method. + const originalClose = receiver1.close.bind(receiver1); + receiver1.close = async function() { + receiver2.close().catch(() => { + /* no-op */ + }); + return originalClose(); + }; + await context.close(); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/node/packageInfo.spec.ts b/sdk/eventhub/event-hubs/test/internal/node/packageInfo.spec.ts index 6355ca5d7335..c26cf4938c71 100644 --- a/sdk/eventhub/event-hubs/test/internal/node/packageInfo.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/node/packageInfo.spec.ts @@ -6,27 +6,31 @@ const should = chai.should(); import fs from "fs"; import path from "path"; import { packageJsonInfo } from "../../../src/util/constants"; +import { testWithServiceTypes } from "../../public/utils/testWithServiceTypes"; // Since we currently hardcode package name and version in `constants.ts` file, // following test is in place to ensure the values in package.json and in this file are consistent -describe("Ensure package name and version are consistent in SDK and package.json", function(): void { - it("Ensure constants.ts file is consistent with package.json", () => { - const packageJsonFilePath = path.join(__dirname, "..", "..", "..", "..", "package.json"); - const rawFileContents = fs.readFileSync(packageJsonFilePath, { encoding: "utf-8" }); - const packageJsonContents = JSON.parse(rawFileContents); - const name = packageJsonContents.name; - const version = packageJsonContents.version; +testWithServiceTypes(() => { + describe("Ensure package name and version are consistent in SDK and package.json", function(): void { + it("Ensure constants.ts file is consistent with package.json", () => { + const packageJsonFilePath = path.join(__dirname, "..", "..", "..", "..", "package.json"); + const rawFileContents = fs.readFileSync(packageJsonFilePath, { encoding: "utf-8" }); + const packageJsonContents = JSON.parse(rawFileContents); - should.equal( - packageJsonInfo.name, - name, - `${name} from package.json is not same as 'name' used in constants.ts` - ); - should.equal( - packageJsonInfo.version, - version, - `${version} from package.json is not same as 'version' used in constants.ts` - ); + const name = packageJsonContents.name; + const version = packageJsonContents.version; + + should.equal( + packageJsonInfo.name, + name, + `${name} from package.json is not same as 'name' used in constants.ts` + ); + should.equal( + packageJsonInfo.version, + version, + `${version} from package.json is not same as 'version' used in constants.ts` + ); + }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/partitionPump.spec.ts b/sdk/eventhub/event-hubs/test/internal/partitionPump.spec.ts index 10c67a20d29c..19cca3013964 100644 --- a/sdk/eventhub/event-hubs/test/internal/partitionPump.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/partitionPump.spec.ts @@ -15,125 +15,150 @@ import chai from "chai"; import { ReceivedEventData } from "../../src/eventData"; import { instrumentEventData } from "../../src/diagnostics/instrumentEventData"; import { setTracerForTest } from "../public/utils/testUtils"; +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; const should = chai.should(); -describe("PartitionPump", () => { - describe("telemetry", () => { - const eventHubProperties = { - host: "thehost", - entityPath: "theeventhubname" - }; - - class TestTracer2 extends TestTracer { - public spanOptions: SpanOptions | undefined; - public spanName: string | undefined; - public context: Context | undefined; - - startSpan(nameArg: string, optionsArg?: SpanOptions, contextArg?: Context): TestSpan { - this.spanName = nameArg; - this.spanOptions = optionsArg; - this.context = contextArg; - return super.startSpan(nameArg, optionsArg); - } - } - - it("basic span properties are set", async () => { - const { tracer, resetTracer } = setTracerForTest(new TestTracer2()); - const fakeParentSpanContext = setSpanContext( - context.active(), - tracer.startSpan("test").spanContext() - ); - - await createProcessingSpan([], eventHubProperties, { - tracingOptions: { - tracingContext: fakeParentSpanContext +testWithServiceTypes(() => { + describe("PartitionPump", () => { + describe("telemetry", () => { + const eventHubProperties = { + host: "thehost", + entityPath: "theeventhubname" + }; + + class TestTracer2 extends TestTracer { + public spanOptions: SpanOptions | undefined; + public spanName: string | undefined; + public context: Context | undefined; + + startSpan(nameArg: string, optionsArg?: SpanOptions, contextArg?: Context): TestSpan { + this.spanName = nameArg; + this.spanOptions = optionsArg; + this.context = contextArg; + return super.startSpan(nameArg, optionsArg, this.context); } - }); + } - should.equal(tracer.spanName, "Azure.EventHubs.process"); + it("basic span properties are set", async () => { + const { tracer, resetTracer } = setTracerForTest(new TestTracer2()); + const fakeParentSpanContext = setSpanContext( + context.active(), + tracer.startSpan("test").spanContext() + ); - should.exist(tracer.spanOptions); - tracer.spanOptions!.kind!.should.equal(SpanKind.CONSUMER); - tracer.context!.should.equal(fakeParentSpanContext); + await createProcessingSpan([], eventHubProperties, { + tracingOptions: { + tracingContext: fakeParentSpanContext + } + }); - const attributes = tracer.getActiveSpans().find((s) => s.name === "Azure.EventHubs.process") - ?.attributes; + should.equal(tracer.spanName, "Azure.EventHubs.process"); - attributes!.should.deep.equal({ - "az.namespace": "Microsoft.EventHub", - "message_bus.destination": eventHubProperties.entityPath, - "peer.address": eventHubProperties.host - }); + should.exist(tracer.spanOptions); + tracer.spanOptions!.kind!.should.equal(SpanKind.CONSUMER); + tracer.context!.should.equal(fakeParentSpanContext); - resetTracer(); - }); + const attributes = tracer.getActiveSpans().find((s) => s.name === "Azure.EventHubs.process") + ?.attributes; - it("received events are linked to this span using Diagnostic-Id", async () => { - const requiredEventProperties = { - body: "", - enqueuedTimeUtc: new Date(), - offset: 0, - partitionKey: null, - sequenceNumber: 0, - getRawAmqpMessage() { - return {} as any; - } - }; + attributes!.should.deep.equal({ + "az.namespace": "Microsoft.EventHub", + "message_bus.destination": eventHubProperties.entityPath, + "peer.address": eventHubProperties.host + }); - const { tracer, resetTracer } = setTracerForTest(new TestTracer2()); - - const firstEvent = tracer.startSpan("a"); - const thirdEvent = tracer.startSpan("c"); - - const receivedEvents: ReceivedEventData[] = [ - instrumentEventData({ ...requiredEventProperties }, firstEvent) as ReceivedEventData, - { properties: {}, ...requiredEventProperties }, // no diagnostic ID means it gets skipped - instrumentEventData({ ...requiredEventProperties }, thirdEvent) as ReceivedEventData - ]; - - await createProcessingSpan(receivedEvents, eventHubProperties, {}); - - // middle event, since it has no trace information, doesn't get included - // in the telemetry - tracer.spanOptions!.links!.length.should.equal(3 - 1); - // the test tracer just hands out a string integer that just gets - // incremented - tracer.spanOptions!.links![0]!.context.traceId.should.equal(firstEvent.spanContext().traceId); - (tracer.spanOptions!.links![0]!.attributes!.enqueuedTime as number).should.equal( - requiredEventProperties.enqueuedTimeUtc.getTime() - ); - tracer.spanOptions!.links![1]!.context.traceId.should.equal(thirdEvent.spanContext().traceId); - (tracer.spanOptions!.links![1]!.attributes!.enqueuedTime as number).should.equal( - requiredEventProperties.enqueuedTimeUtc.getTime() - ); - - resetTracer(); - }); + resetTracer(); + }); + + it("received events are linked to this span using Diagnostic-Id", async () => { + const requiredEventProperties = { + body: "", + enqueuedTimeUtc: new Date(), + offset: 0, + partitionKey: null, + sequenceNumber: 0, + getRawAmqpMessage() { + return {} as any; + } + }; + + const { tracer, resetTracer } = setTracerForTest(new TestTracer2()); + + const firstEvent = tracer.startSpan("a"); + const thirdEvent = tracer.startSpan("c"); + + const receivedEvents: ReceivedEventData[] = [ + instrumentEventData( + { ...requiredEventProperties }, + { + tracingOptions: { + tracingContext: setSpanContext(context.active(), firstEvent.spanContext()) + } + }, + "entityPath", + "host" + ).event as ReceivedEventData, + { properties: {}, ...requiredEventProperties }, // no diagnostic ID means it gets skipped + instrumentEventData( + { ...requiredEventProperties }, + { + tracingOptions: { + tracingContext: setSpanContext(context.active(), thirdEvent.spanContext()) + } + }, + "entityPath", + "host" + ).event as ReceivedEventData + ]; + + await createProcessingSpan(receivedEvents, eventHubProperties, {}); + + // middle event, since it has no trace information, doesn't get included + // in the telemetry + tracer.spanOptions!.links!.length.should.equal(3 - 1); + // the test tracer just hands out a string integer that just gets + // incremented + tracer.spanOptions!.links![0]!.context.traceId.should.equal( + firstEvent.spanContext().traceId + ); + (tracer.spanOptions!.links![0]!.attributes!.enqueuedTime as number).should.equal( + requiredEventProperties.enqueuedTimeUtc.getTime() + ); + tracer.spanOptions!.links![1]!.context.traceId.should.equal( + thirdEvent.spanContext().traceId + ); + (tracer.spanOptions!.links![1]!.attributes!.enqueuedTime as number).should.equal( + requiredEventProperties.enqueuedTimeUtc.getTime() + ); + + resetTracer(); + }); - it("trace - normal", async () => { - const tracer = new TestTracer(); - const span = tracer.startSpan("whatever"); + it("trace - normal", async () => { + const tracer = new TestTracer(); + const span = tracer.startSpan("whatever"); - await trace(async () => { - /* no-op */ - }, span); + await trace(async () => { + /* no-op */ + }, span); - span.status!.code.should.equal(SpanStatusCode.OK); - should.equal(span.endCalled, true); - }); + span.status!.code.should.equal(SpanStatusCode.OK); + should.equal(span.endCalled, true); + }); - it("trace - throws", async () => { - const tracer = new TestTracer(); - const span = tracer.startSpan("whatever"); + it("trace - throws", async () => { + const tracer = new TestTracer(); + const span = tracer.startSpan("whatever"); - await trace(async () => { - throw new Error("error thrown from fn"); - }, span).should.be.rejectedWith(/error thrown from fn/); + await trace(async () => { + throw new Error("error thrown from fn"); + }, span).should.be.rejectedWith(/error thrown from fn/); - span.status!.code.should.equal(SpanStatusCode.ERROR); - span.status!.message!.should.equal("error thrown from fn"); - should.equal(span.endCalled, true); + span.status!.code.should.equal(SpanStatusCode.ERROR); + span.status!.message!.should.equal("error thrown from fn"); + should.equal(span.endCalled, true); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/internal/receiveBatch.spec.ts b/sdk/eventhub/event-hubs/test/internal/receiveBatch.spec.ts index 7778db857ea2..4e104229a31c 100644 --- a/sdk/eventhub/event-hubs/test/internal/receiveBatch.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/receiveBatch.spec.ts @@ -16,142 +16,158 @@ import { import { EnvVarKeys, getEnvVars } from "../public/utils/testUtils"; import { EventHubReceiver } from "../../src/eventHubReceiver"; import { translate } from "@azure/core-amqp"; -const env = getEnvVars(); - -describe("EventHubConsumerClient", function(): void { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - let producerClient: EventHubProducerClient; - let consumerClient: EventHubConsumerClient; - let partitionIds: string[]; - before("validate environment", async function(): Promise { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - beforeEach("Creating the clients", async () => { - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - partitionIds = await producerClient.getPartitionIds({}); - }); - - afterEach("Closing the clients", async () => { - await producerClient.close(); - await consumerClient.close(); - }); - - describe("EventHubConsumer receiveBatch", function(): void { - it("should not lose messages on error", async () => { - const partitionId = partitionIds[0]; - const { lastEnqueuedSequenceNumber } = await producerClient.getPartitionProperties( - partitionId - ); - - // Ensure the receiver only looks at new messages. - const startPosition: EventPosition = { - sequenceNumber: lastEnqueuedSequenceNumber, - isInclusive: false - }; - - // Send a message we expect to receive. - const message: EventData = { body: "remember me!" }; - await producerClient.sendBatch([message], { partitionId }); +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; +import { createMockServer } from "../public/utils/mockService"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - // Disable retries to make it easier to test scenario. - const receiver = new EventHubReceiver( - consumerClient["_context"], - EventHubConsumerClient.defaultConsumerGroupName, - partitionId, - startPosition, - { - retryOptions: { - maxRetries: 0 - } - } + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("EventHubConsumerClient", function(): void { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + let producerClient: EventHubProducerClient; + let consumerClient: EventHubConsumerClient; + let partitionIds: string[]; + before("validate environment", async function(): Promise { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." ); - - // Periodically check that the receiver's checkpoint has been updated. - const checkpointInterval = setInterval(() => { - if (receiver.checkpoint > -1) { - clearInterval(checkpointInterval); - const error = translate(new Error("I break receivers for fun.")); - receiver["_onError"]!(error); - } - }, 50); - - try { - // There is only 1 message. - // We expect to see an error. - await receiver.receiveBatch(2, 60); - throw new Error(`Test failure`); - } catch (err) { - err.message.should.not.equal("Test failure"); - receiver.checkpoint.should.be.greaterThan(-1, "Did not see a message come through."); - } finally { - clearInterval(checkpointInterval); - } - - const events = await receiver.receiveBatch(1); - events.length.should.equal(1, "Unexpected number of events received."); - events[0].body.should.equal(message.body, "Unexpected message received."); }); - it("should not lose messages between retries", async () => { - const partitionId = partitionIds[0]; - const { lastEnqueuedSequenceNumber } = await producerClient.getPartitionProperties( - partitionId + beforeEach("Creating the clients", async () => { + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path ); + partitionIds = await producerClient.getPartitionIds({}); + }); - // Ensure the receiver only looks at new messages. - const startPosition: EventPosition = { - sequenceNumber: lastEnqueuedSequenceNumber, - isInclusive: false - }; - - // Send a message we expect to receive. - const message: EventData = { body: "remember me!" }; - await producerClient.sendBatch([message], { partitionId }); + afterEach("Closing the clients", async () => { + await producerClient.close(); + await consumerClient.close(); + }); - // Disable retries to make it easier to test scenario. - const receiver = new EventHubReceiver( - consumerClient["_context"], - EventHubConsumerClient.defaultConsumerGroupName, - partitionId, - startPosition, - { - retryOptions: { - maxRetries: 1 + describe("EventHubConsumer receiveBatch", function(): void { + it("should not lose messages on error", async () => { + const partitionId = partitionIds[0]; + const { lastEnqueuedSequenceNumber } = await producerClient.getPartitionProperties( + partitionId + ); + + // Ensure the receiver only looks at new messages. + const startPosition: EventPosition = { + sequenceNumber: lastEnqueuedSequenceNumber, + isInclusive: false + }; + + // Send a message we expect to receive. + const message: EventData = { body: "remember me!" }; + await producerClient.sendBatch([message], { partitionId }); + + // Disable retries to make it easier to test scenario. + const receiver = new EventHubReceiver( + consumerClient["_context"], + EventHubConsumerClient.defaultConsumerGroupName, + partitionId, + startPosition, + { + retryOptions: { + maxRetries: 0 + } } - } - ); - - // Periodically check that the receiver's checkpoint has been updated. - const checkpointInterval = setInterval(() => { - if (receiver.checkpoint > -1) { + ); + + // Periodically check that the receiver's checkpoint has been updated. + const checkpointInterval = setInterval(() => { + if (receiver.checkpoint > -1) { + clearInterval(checkpointInterval); + const error = translate(new Error("I break receivers for fun.")); + receiver["_onError"]!(error); + } + }, 50); + + try { + // There is only 1 message. + // We expect to see an error. + await receiver.receiveBatch(2, 60); + throw new Error(`Test failure`); + } catch (err) { + err.message.should.not.equal("Test failure"); + receiver.checkpoint.should.be.greaterThan(-1, "Did not see a message come through."); + } finally { clearInterval(checkpointInterval); - const error = translate(new Error("I break receivers for fun.")) as MessagingError; - error.retryable = true; - receiver["_onError"]!(error); } - }, 50); - // There is only 1 message. - const events = await receiver.receiveBatch(2, 20); + const events = await receiver.receiveBatch(1); + events.length.should.equal(1, "Unexpected number of events received."); + events[0].body.should.equal(message.body, "Unexpected message received."); + }); + + it("should not lose messages between retries", async () => { + const partitionId = partitionIds[0]; + const { lastEnqueuedSequenceNumber } = await producerClient.getPartitionProperties( + partitionId + ); + + // Ensure the receiver only looks at new messages. + const startPosition: EventPosition = { + sequenceNumber: lastEnqueuedSequenceNumber, + isInclusive: false + }; + + // Send a message we expect to receive. + const message: EventData = { body: "remember me!" }; + await producerClient.sendBatch([message], { partitionId }); + + // Disable retries to make it easier to test scenario. + const receiver = new EventHubReceiver( + consumerClient["_context"], + EventHubConsumerClient.defaultConsumerGroupName, + partitionId, + startPosition, + { + retryOptions: { + maxRetries: 1 + } + } + ); + + // Periodically check that the receiver's checkpoint has been updated. + const checkpointInterval = setInterval(() => { + if (receiver.checkpoint > -1) { + clearInterval(checkpointInterval); + const error = translate(new Error("I break receivers for fun.")) as MessagingError; + error.retryable = true; + receiver["_onError"]!(error); + } + }, 50); + + // There is only 1 message. + const events = await receiver.receiveBatch(2, 20); - events.length.should.equal(1, "Unexpected number of events received."); - events[0].body.should.equal(message.body, "Unexpected message received."); + events.length.should.equal(1, "Unexpected number of events received."); + events[0].body.should.equal(message.body, "Unexpected message received."); + }); }); - }); -}).timeout(90000); + }).timeout(90000); +}); diff --git a/sdk/eventhub/event-hubs/test/internal/sender.spec.ts b/sdk/eventhub/event-hubs/test/internal/sender.spec.ts index 68374c96646a..8fd70aad66cf 100644 --- a/sdk/eventhub/event-hubs/test/internal/sender.spec.ts +++ b/sdk/eventhub/event-hubs/test/internal/sender.spec.ts @@ -27,1211 +27,1256 @@ import { SpanGraph, TestSpan } from "@azure/test-utils"; import { TRACEPARENT_PROPERTY } from "../../src/diagnostics/instrumentEventData"; import { SubscriptionHandlerForTests } from "../public/utils/subscriptionHandlerForTests"; import { setSpan, context } from "@azure/core-tracing"; -const env = getEnvVars(); - -describe("EventHub Sender", function(): void { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - let producerClient: EventHubProducerClient; - let consumerClient: EventHubConsumerClient; - let startPosition: { [partitionId: string]: EventPosition }; - - before("validate environment", function(): void { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - beforeEach(async () => { - debug("Creating the clients.."); - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - startPosition = await getStartingPositionsForTests(consumerClient); - }); - - afterEach(async () => { - debug("Closing the clients.."); - await producerClient.close(); - await consumerClient.close(); - }); - - describe("Create batch", function(): void { - describe("tryAdd", function() { - it("doesn't grow if invalid events are added", async () => { - const batch = await producerClient.createBatch({ maxSizeInBytes: 20 }); - const event = { body: Buffer.alloc(30).toString() }; - - const numToAdd = 5; - let failures = 0; - for (let i = 0; i < numToAdd; i++) { - if (!batch.tryAdd(event)) { - failures++; - } - } +import { testWithServiceTypes } from "../public/utils/testWithServiceTypes"; +import { createMockServer } from "../public/utils/mockService"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - failures.should.equal(5); - batch.sizeInBytes.should.equal(0); - }); + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("EventHub Sender", function(): void { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + let producerClient: EventHubProducerClient; + let consumerClient: EventHubConsumerClient; + let startPosition: { [partitionId: string]: EventPosition }; + + before("validate environment", function(): void { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); }); - it("partitionId is set as expected", async () => { - const batch = await producerClient.createBatch({ - partitionId: "0" - }); - should.equal(batch.partitionId, "0"); + beforeEach(async () => { + debug("Creating the clients.."); + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); + startPosition = await getStartingPositionsForTests(consumerClient); }); - it("partitionId is set as expected when it is 0 i.e. falsy", async () => { - const batch = await producerClient.createBatch({ - // @ts-expect-error Testing the value 0 is not ignored. - partitionId: 0 - }); - should.equal(batch.partitionId, "0"); + afterEach(async () => { + debug("Closing the clients.."); + await producerClient.close(); + await consumerClient.close(); }); - it("partitionKey is set as expected", async () => { - const batch = await producerClient.createBatch({ - partitionKey: "boo" + describe("Create batch", function(): void { + describe("tryAdd", function() { + it("doesn't grow if invalid events are added", async () => { + const batch = await producerClient.createBatch({ maxSizeInBytes: 20 }); + const event = { body: Buffer.alloc(30).toString() }; + + const numToAdd = 5; + let failures = 0; + for (let i = 0; i < numToAdd; i++) { + if (!batch.tryAdd(event)) { + failures++; + } + } + + failures.should.equal(5); + batch.sizeInBytes.should.equal(0); + }); }); - should.equal(batch.partitionKey, "boo"); - }); - it("partitionKey is set as expected when it is 0 i.e. falsy", async () => { - const batch = await producerClient.createBatch({ - // @ts-expect-error Testing the value 0 is not ignored. - partitionKey: 0 + it("partitionId is set as expected", async () => { + const batch = await producerClient.createBatch({ + partitionId: "0" + }); + should.equal(batch.partitionId, "0"); }); - should.equal(batch.partitionKey, "0"); - }); - it("maxSizeInBytes is set as expected", async () => { - const batch = await producerClient.createBatch({ maxSizeInBytes: 30 }); - should.equal(batch.maxSizeInBytes, 30); - }); + it("partitionId is set as expected when it is 0 i.e. falsy", async () => { + const batch = await producerClient.createBatch({ + // @ts-expect-error Testing the value 0 is not ignored. + partitionId: 0 + }); + should.equal(batch.partitionId, "0"); + }); - it("should be sent successfully", async function(): Promise { - const list = ["Albert", `${Buffer.from("Mike".repeat(1300000))}`, "Marie"]; + it("partitionKey is set as expected", async () => { + const batch = await producerClient.createBatch({ + partitionKey: "boo" + }); + should.equal(batch.partitionKey, "boo"); + }); - const batch = await producerClient.createBatch({ - partitionId: "0" + it("partitionKey is set as expected when it is 0 i.e. falsy", async () => { + const batch = await producerClient.createBatch({ + // @ts-expect-error Testing the value 0 is not ignored. + partitionKey: 0 + }); + should.equal(batch.partitionKey, "0"); }); - batch.partitionId!.should.equal("0"); - should.not.exist(batch.partitionKey); - batch.maxSizeInBytes.should.be.gt(0); + it("maxSizeInBytes is set as expected", async () => { + const batch = await producerClient.createBatch({ maxSizeInBytes: 30 }); + should.equal(batch.maxSizeInBytes, 30); + }); - should.equal(batch.tryAdd({ body: list[0] }), true); - should.equal(batch.tryAdd({ body: list[1] }), false); // The Mike message will be rejected - it's over the limit. - should.equal(batch.tryAdd({ body: list[2] }), true); // Marie should get added"; + it("should be sent successfully", async function(): Promise { + const list = ["Albert", `${Buffer.from("Mike".repeat(1300000))}`, "Marie"]; - const { subscriptionEventHandler } = await SubscriptionHandlerForTests.startingFromHere( - producerClient - ); + const batch = await producerClient.createBatch({ + partitionId: "0" + }); - const subscriber = consumerClient.subscribe("0", subscriptionEventHandler, { startPosition }); - await producerClient.sendBatch(batch); + batch.partitionId!.should.equal("0"); + should.not.exist(batch.partitionKey); + batch.maxSizeInBytes.should.be.gt(0); - let receivedEvents; + should.equal(batch.tryAdd({ body: list[0] }), true); + should.equal(batch.tryAdd({ body: list[1] }), false); // The Mike message will be rejected - it's over the limit. + should.equal(batch.tryAdd({ body: list[2] }), true); // Marie should get added"; - try { - receivedEvents = await subscriptionEventHandler.waitForEvents(["0"], 2); - } finally { - await subscriber.close(); - } + const { subscriptionEventHandler } = await SubscriptionHandlerForTests.startingFromHere( + producerClient + ); - // Mike didn't make it - the message was too big for the batch - // and was rejected above. - [list[0], list[2]].should.be.deep.eq( - receivedEvents.map((event) => event.body), - "Received messages should be equal to our sent messages" - ); - }); + const subscriber = consumerClient.subscribe("0", subscriptionEventHandler, { + startPosition + }); + await producerClient.sendBatch(batch); + + let receivedEvents; - it("should be sent successfully when partitionId is 0 i.e. falsy", async function(): Promise< - void - > { - const list = ["Albert", "Marie"]; + try { + receivedEvents = await subscriptionEventHandler.waitForEvents(["0"], 2); + } finally { + await subscriber.close(); + } - const batch = await producerClient.createBatch({ - // @ts-expect-error Testing the value 0 is not ignored. - partitionId: 0 + // Mike didn't make it - the message was too big for the batch + // and was rejected above. + [list[0], list[2]].should.be.deep.eq( + receivedEvents.map((event) => event.body), + "Received messages should be equal to our sent messages" + ); }); - batch.partitionId!.should.equal("0"); - should.not.exist(batch.partitionKey); - batch.maxSizeInBytes.should.be.gt(0); + it("should be sent successfully when partitionId is 0 i.e. falsy", async function(): Promise< + void + > { + const list = ["Albert", "Marie"]; - should.equal(batch.tryAdd({ body: list[0] }), true); - should.equal(batch.tryAdd({ body: list[1] }), true); + const batch = await producerClient.createBatch({ + // @ts-expect-error Testing the value 0 is not ignored. + partitionId: 0 + }); - const { subscriptionEventHandler } = await SubscriptionHandlerForTests.startingFromHere( - producerClient - ); + batch.partitionId!.should.equal("0"); + should.not.exist(batch.partitionKey); + batch.maxSizeInBytes.should.be.gt(0); - const subscriber = consumerClient.subscribe("0", subscriptionEventHandler, { startPosition }); - await producerClient.sendBatch(batch); + should.equal(batch.tryAdd({ body: list[0] }), true); + should.equal(batch.tryAdd({ body: list[1] }), true); - let receivedEvents; + const { subscriptionEventHandler } = await SubscriptionHandlerForTests.startingFromHere( + producerClient + ); - try { - receivedEvents = await subscriptionEventHandler.waitForEvents(["0"], 2); - } finally { - await subscriber.close(); - } + const subscriber = consumerClient.subscribe("0", subscriptionEventHandler, { + startPosition + }); + await producerClient.sendBatch(batch); - list.should.be.deep.eq( - receivedEvents.map((event) => event.body), - "Received messages should be equal to our sent messages" - ); - }); + let receivedEvents; - it("should be sent successfully when partitionKey is 0 i.e. falsy", async function(): Promise< - void - > { - const list = ["Albert", "Marie"]; + try { + receivedEvents = await subscriptionEventHandler.waitForEvents(["0"], 2); + } finally { + await subscriber.close(); + } - const batch = await producerClient.createBatch({ - // @ts-expect-error Testing the value 0 is not ignored. - partitionKey: 0 + list.should.be.deep.eq( + receivedEvents.map((event) => event.body), + "Received messages should be equal to our sent messages" + ); }); - batch.partitionKey!.should.equal("0"); - should.not.exist(batch.partitionId); - batch.maxSizeInBytes.should.be.gt(0); + it("should be sent successfully when partitionKey is 0 i.e. falsy", async function(): Promise< + void + > { + const list = ["Albert", "Marie"]; - should.equal(batch.tryAdd({ body: list[0] }), true); - should.equal(batch.tryAdd({ body: list[1] }), true); + const batch = await producerClient.createBatch({ + // @ts-expect-error Testing the value 0 is not ignored. + partitionKey: 0 + }); - const { subscriptionEventHandler } = await SubscriptionHandlerForTests.startingFromHere( - producerClient - ); + batch.partitionKey!.should.equal("0"); + should.not.exist(batch.partitionId); + batch.maxSizeInBytes.should.be.gt(0); - const subscriber = consumerClient.subscribe(subscriptionEventHandler, { - startPosition - }); - await producerClient.sendBatch(batch); + should.equal(batch.tryAdd({ body: list[0] }), true); + should.equal(batch.tryAdd({ body: list[1] }), true); - let receivedEvents; - const allPartitionIds = await producerClient.getPartitionIds(); - try { - receivedEvents = await subscriptionEventHandler.waitForEvents(allPartitionIds, 2); - } finally { - await subscriber.close(); - } + const { subscriptionEventHandler } = await SubscriptionHandlerForTests.startingFromHere( + producerClient + ); - list.should.be.deep.eq( - receivedEvents.map((event) => event.body), - "Received messages should be equal to our sent messages" - ); - }); + const subscriber = consumerClient.subscribe(subscriptionEventHandler, { + startPosition + }); + await producerClient.sendBatch(batch); - it("should be sent successfully with properties", async function(): Promise { - const properties = { test: "super" }; - const list = [ - { body: "Albert-With-Properties", properties }, - { body: "Mike-With-Properties", properties }, - { body: "Marie-With-Properties", properties } - ]; + let receivedEvents; + const allPartitionIds = await producerClient.getPartitionIds(); + try { + receivedEvents = await subscriptionEventHandler.waitForEvents(allPartitionIds, 2); + } finally { + await subscriber.close(); + } - const batch = await producerClient.createBatch({ - partitionId: "0" + list.should.be.deep.eq( + receivedEvents.map((event) => event.body), + "Received messages should be equal to our sent messages" + ); }); - batch.maxSizeInBytes.should.be.gt(0); + it("should be sent successfully with properties", async function(): Promise { + const properties = { test: "super" }; + const list = [ + { body: "Albert-With-Properties", properties }, + { body: "Mike-With-Properties", properties }, + { body: "Marie-With-Properties", properties } + ]; + + const batch = await producerClient.createBatch({ + partitionId: "0" + }); - should.equal(batch.tryAdd(list[0]), true); - should.equal(batch.tryAdd(list[1]), true); - should.equal(batch.tryAdd(list[2]), true); + batch.maxSizeInBytes.should.be.gt(0); - const receivedEvents: ReceivedEventData[] = []; - let waitUntilEventsReceivedResolver: (value?: any) => void; - const waitUntilEventsReceived = new Promise( - (resolve) => (waitUntilEventsReceivedResolver = resolve) - ); + should.equal(batch.tryAdd(list[0]), true); + should.equal(batch.tryAdd(list[1]), true); + should.equal(batch.tryAdd(list[2]), true); - const sequenceNumber = (await consumerClient.getPartitionProperties("0")) - .lastEnqueuedSequenceNumber; + const receivedEvents: ReceivedEventData[] = []; + let waitUntilEventsReceivedResolver: (value?: any) => void; + const waitUntilEventsReceived = new Promise( + (resolve) => (waitUntilEventsReceivedResolver = resolve) + ); - const subscriber = consumerClient.subscribe( - "0", - { - async processError() { - /* no-op */ - }, - async processEvents(events) { - receivedEvents.push(...events); - if (receivedEvents.length >= 3) { - waitUntilEventsReceivedResolver(); + const sequenceNumber = (await consumerClient.getPartitionProperties("0")) + .lastEnqueuedSequenceNumber; + + const subscriber = consumerClient.subscribe( + "0", + { + async processError() { + /* no-op */ + }, + async processEvents(events) { + receivedEvents.push(...events); + if (receivedEvents.length >= 3) { + waitUntilEventsReceivedResolver(); + } } - } - }, - { - startPosition: { - sequenceNumber }, - maxBatchSize: 3 - } - ); + { + startPosition: { + sequenceNumber + }, + maxBatchSize: 3 + } + ); - await producerClient.sendBatch(batch); - await waitUntilEventsReceived; - await subscriber.close(); + await producerClient.sendBatch(batch); + await waitUntilEventsReceived; + await subscriber.close(); - sequenceNumber.should.be.lessThan(receivedEvents[0].sequenceNumber); - sequenceNumber.should.be.lessThan(receivedEvents[1].sequenceNumber); - sequenceNumber.should.be.lessThan(receivedEvents[2].sequenceNumber); + sequenceNumber.should.be.lessThan(receivedEvents[0].sequenceNumber); + sequenceNumber.should.be.lessThan(receivedEvents[1].sequenceNumber); + sequenceNumber.should.be.lessThan(receivedEvents[2].sequenceNumber); + + [list[0], list[1], list[2]].should.be.deep.eq( + receivedEvents.map((event) => { + return { + body: event.body, + properties: event.properties + }; + }), + "Received messages should be equal to our sent messages" + ); + }); - [list[0], list[1], list[2]].should.be.deep.eq( - receivedEvents.map((event) => { - return { - body: event.body, - properties: event.properties - }; - }), - "Received messages should be equal to our sent messages" - ); - }); + it("can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - it("can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + const rootSpan = tracer.startSpan("root"); - const rootSpan = tracer.startSpan("root"); + const list = [{ name: "Albert" }, { name: "Marie" }]; - const list = [{ name: "Albert" }, { name: "Marie" }]; + const eventDataBatch = await producerClient.createBatch({ + partitionId: "0" + }); - const eventDataBatch = await producerClient.createBatch({ - partitionId: "0" - }); + for (let i = 0; i < 2; i++) { + eventDataBatch.tryAdd( + { body: `${list[i].name}` }, + { + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) + } + } + ); + } + await producerClient.sendBatch(eventDataBatch); + rootSpan.end(); - for (let i = 0; i < 2; i++) { - eventDataBatch.tryAdd( - { body: `${list[i].name}` }, - { - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(2, "Should only have two root spans."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + } + ] } - } - ); - } - await producerClient.sendBatch(eventDataBatch); - rootSpan.end(); + ] + }; - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(2, "Should only have two root spans."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - } - ] - } - ] - }; + it("doesn't create empty spans when tracing is disabled", async () => { + const events: EventData[] = [{ body: "foo" }, { body: "bar" }]; - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); - }); + const eventDataBatch = await producerClient.createBatch(); - function legacyOptionsUsingSpanContext(rootSpan: TestSpan): Pick { - return { - parentSpan: rootSpan.spanContext() - }; - } - - function legacyOptionsUsingSpan(rootSpan: TestSpan): Pick { - return { - parentSpan: rootSpan - }; - } - - function modernOptions(rootSpan: TestSpan): OperationOptions { - return { - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) + for (const event of events) { + eventDataBatch.tryAdd(event); } - }; - } - - [legacyOptionsUsingSpan, legacyOptionsUsingSpanContext, modernOptions].forEach((optionsFn) => { - describe(`tracing (${optionsFn.name})`, () => { - it("will not instrument already instrumented events", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); - const rootSpan = tracer.startSpan("test"); + should.equal(eventDataBatch.count, 2, "Unexpected number of events in batch."); + should.equal( + eventDataBatch["_messageSpanContexts"].length, + 0, + "Unexpected number of span contexts in batch." + ); + }); - const list = [ - { name: "Albert" }, - { - name: "Marie", - properties: { - [TRACEPARENT_PROPERTY]: "foo" - } - } - ]; + function legacyOptionsUsingSpanContext( + rootSpan: TestSpan + ): Pick { + return { + parentSpan: rootSpan.spanContext() + }; + } - const eventDataBatch = await producerClient.createBatch({ - partitionId: "0" - }); + function legacyOptionsUsingSpan(rootSpan: TestSpan): Pick { + return { + parentSpan: rootSpan + }; + } - for (let i = 0; i < 2; i++) { - eventDataBatch.tryAdd( - { body: `${list[i].name}`, properties: list[i].properties }, - optionsFn(rootSpan) - ); + function modernOptions(rootSpan: TestSpan): OperationOptions { + return { + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) } - await producerClient.sendBatch(eventDataBatch); - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(2, "Should only have two root spans."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.message", - children: [] + }; + } + + [legacyOptionsUsingSpan, legacyOptionsUsingSpanContext, modernOptions].forEach( + (optionsFn) => { + describe(`tracing (${optionsFn.name})`, () => { + it("will not instrument already instrumented events", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); + + const rootSpan = tracer.startSpan("test"); + + const list = [ + { name: "Albert" }, + { + name: "Marie", + properties: { + [TRACEPARENT_PROPERTY]: "foo" } - ] + } + ]; + + const eventDataBatch = await producerClient.createBatch({ + partitionId: "0" + }); + + for (let i = 0; i < 2; i++) { + eventDataBatch.tryAdd( + { body: `${list[i].name}`, properties: list[i].properties }, + optionsFn(rootSpan) + ); } - ] - }; + await producerClient.sendBatch(eventDataBatch); + rootSpan.end(); - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); - }); + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(2, "Should only have two root spans."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - it("will support tracing batch and send", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.message", + children: [] + } + ] + } + ] + }; - const rootSpan = tracer.startSpan("root"); + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer + .getActiveSpans() + .length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); - const list = [{ name: "Albert" }, { name: "Marie" }]; + it("will support tracing batch and send", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - const eventDataBatch = await producerClient.createBatch({ - partitionId: "0" - }); - for (let i = 0; i < 2; i++) { - eventDataBatch.tryAdd({ body: `${list[i].name}` }, optionsFn(rootSpan)); - } - await producerClient.sendBatch(eventDataBatch, { - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) - } - }); - rootSpan.end(); + const rootSpan = tracer.startSpan("root"); - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root span."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + const list = [{ name: "Albert" }, { name: "Marie" }]; - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, + const eventDataBatch = await producerClient.createBatch({ + partitionId: "0" + }); + for (let i = 0; i < 2; i++) { + eventDataBatch.tryAdd({ body: `${list[i].name}` }, optionsFn(rootSpan)); + } + await producerClient.sendBatch(eventDataBatch, { + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) + } + }); + rootSpan.end(); + + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root span."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ { - name: "Azure.EventHubs.send", - children: [] + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.send", + children: [] + } + ] } ] - } - ] - }; - - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); - }); - }); - }); - - it("with partition key should be sent successfully.", async function(): Promise { - const eventDataBatch = await producerClient.createBatch({ partitionKey: "1" }); - for (let i = 0; i < 5; i++) { - eventDataBatch.tryAdd({ body: `Hello World ${i}` }); - } - await producerClient.sendBatch(eventDataBatch); - }); + }; - it("with max message size should be sent successfully.", async function(): Promise { - const eventDataBatch = await producerClient.createBatch({ - maxSizeInBytes: 5000, - partitionId: "0" - }); - const message = { body: `${Buffer.from("Z".repeat(4096))}` }; - for (let i = 1; i <= 3; i++) { - const isAdded = eventDataBatch.tryAdd(message); - if (!isAdded) { - debug(`Unable to add ${i} event to the batch`); - break; + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer + .getActiveSpans() + .length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); + }); } - } - await producerClient.sendBatch(eventDataBatch); - eventDataBatch.count.should.equal(1); - }); - }); - - describe("Multiple sendBatch calls", function(): void { - it("should be sent successfully in parallel", async function(): Promise { - const { subscriptionEventHandler } = await SubscriptionHandlerForTests.startingFromHere( - consumerClient ); - const promises = []; - for (let i = 0; i < 5; i++) { - promises.push(producerClient.sendBatch([{ body: `Hello World ${i}` }])); - } - await Promise.all(promises); + it("with partition key should be sent successfully.", async function(): Promise { + const eventDataBatch = await producerClient.createBatch({ partitionKey: "1" }); + for (let i = 0; i < 5; i++) { + eventDataBatch.tryAdd({ body: `Hello World ${i}` }); + } + await producerClient.sendBatch(eventDataBatch); + }); - const subscription = await consumerClient.subscribe(subscriptionEventHandler, { - startPosition + it("with max message size should be sent successfully.", async function(): Promise { + const eventDataBatch = await producerClient.createBatch({ + maxSizeInBytes: 5000, + partitionId: "0" + }); + const message = { body: `${Buffer.from("Z".repeat(4096))}` }; + for (let i = 1; i <= 3; i++) { + const isAdded = eventDataBatch.tryAdd(message); + if (!isAdded) { + debug(`Unable to add ${i} event to the batch`); + break; + } + } + await producerClient.sendBatch(eventDataBatch); + eventDataBatch.count.should.equal(1); }); + }); - try { - const events = await subscriptionEventHandler.waitForEvents( - await consumerClient.getPartitionIds({}), - 5 + describe("Multiple sendBatch calls", function(): void { + it("should be sent successfully in parallel", async function(): Promise { + const { subscriptionEventHandler } = await SubscriptionHandlerForTests.startingFromHere( + consumerClient ); - // we've allowed the server to choose which partition the messages are distributed to - // so our expectation here is just that all the bodies have arrived - const bodiesOnly = events.map((evt) => evt.body); - bodiesOnly.sort(); - - bodiesOnly.should.deep.equal([ - "Hello World 0", - "Hello World 1", - "Hello World 2", - "Hello World 3", - "Hello World 4" - ]); - } finally { - subscription.close(); - } - }); - - it("should be sent successfully in parallel, even when exceeding max event listener count of 1000", async function(): Promise< - void - > { - const senderCount = 1200; - try { const promises = []; - for (let i = 0; i < senderCount; i++) { + for (let i = 0; i < 5; i++) { promises.push(producerClient.sendBatch([{ body: `Hello World ${i}` }])); } await Promise.all(promises); - } catch (err) { - debug("An error occurred while running the test: ", err); - throw err; - } - }); - it("should be sent successfully in parallel by multiple clients", async function(): Promise< - void - > { - const senderCount = 3; - try { - const promises = []; - for (let i = 0; i < senderCount; i++) { - if (i === 0) { - debug(">>>>> Sending a message to partition %d", i); - promises.push( - await producerClient.sendBatch([{ body: `Hello World ${i}` }], { partitionId: "0" }) - ); - } else if (i === 1) { - debug(">>>>> Sending a message to partition %d", i); - promises.push( - await producerClient.sendBatch([{ body: `Hello World ${i}` }], { partitionId: "1" }) - ); - } else { - debug(">>>>> Sending a message to the hub when i == %d", i); - promises.push(await producerClient.sendBatch([{ body: `Hello World ${i}` }])); - } - } - await Promise.all(promises); - } catch (err) { - debug("An error occurred while running the test: ", err); - throw err; - } - }); + const subscription = await consumerClient.subscribe(subscriptionEventHandler, { + startPosition + }); - it("should fail when a message greater than 1 MB is sent and succeed when a normal message is sent after that on the same link.", async function(): Promise< - void - > { - const data: EventData = { - body: Buffer.from("Z".repeat(1300000)) - }; - try { - debug("Sending a message of 300KB..."); - await producerClient.sendBatch([data], { partitionId: "0" }); - throw new Error("Test failure"); - } catch (err) { - debug(err); - should.exist(err); - should.equal(err.code, "MessageTooLargeError"); - err.message.should.match( - /.*The received message \(delivery-id:(\d+), size:(\d+) bytes\) exceeds the limit \((\d+) bytes\) currently allowed on the link\..*/gi - ); - } - await producerClient.sendBatch([{ body: "Hello World EventHub!!" }], { partitionId: "0" }); - debug("Sent the message successfully on the same link.."); - }); + try { + const events = await subscriptionEventHandler.waitForEvents( + await consumerClient.getPartitionIds({}), + 5 + ); + + // we've allowed the server to choose which partition the messages are distributed to + // so our expectation here is just that all the bodies have arrived + const bodiesOnly = events.map((evt) => evt.body); + bodiesOnly.sort(); + + bodiesOnly.should.deep.equal([ + "Hello World 0", + "Hello World 1", + "Hello World 2", + "Hello World 3", + "Hello World 4" + ]); + } finally { + subscription.close(); + } + }); - it("can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + it("should be sent successfully in parallel, even when exceeding max event listener count of 1000", async function(): Promise< + void + > { + const senderCount = 1200; + try { + const promises = []; + for (let i = 0; i < senderCount; i++) { + promises.push(producerClient.sendBatch([{ body: `Hello World ${i}` }])); + } + await Promise.all(promises); + } catch (err) { + debug("An error occurred while running the test: ", err); + throw err; + } + }); - const rootSpan = tracer.startSpan("root"); + it("should be sent successfully in parallel by multiple clients", async function(): Promise< + void + > { + const senderCount = 3; + try { + const promises = []; + for (let i = 0; i < senderCount; i++) { + if (i === 0) { + debug(">>>>> Sending a message to partition %d", i); + promises.push( + await producerClient.sendBatch([{ body: `Hello World ${i}` }], { partitionId: "0" }) + ); + } else if (i === 1) { + debug(">>>>> Sending a message to partition %d", i); + promises.push( + await producerClient.sendBatch([{ body: `Hello World ${i}` }], { partitionId: "1" }) + ); + } else { + debug(">>>>> Sending a message to the hub when i == %d", i); + promises.push(await producerClient.sendBatch([{ body: `Hello World ${i}` }])); + } + } + await Promise.all(promises); + } catch (err) { + debug("An error occurred while running the test: ", err); + throw err; + } + }); - const events = []; - for (let i = 0; i < 5; i++) { - events.push({ body: `multiple messages - manual trace propgation: ${i}` }); - } - await producerClient.sendBatch(events, { - partitionId: "0", - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) + it("should fail when a message greater than 1 MB is sent and succeed when a normal message is sent after that on the same link.", async function(): Promise< + void + > { + const data: EventData = { + body: Buffer.from("Z".repeat(1300000)) + }; + try { + debug("Sending a message of 300KB..."); + await producerClient.sendBatch([data], { partitionId: "0" }); + throw new Error("Test failure"); + } catch (err) { + debug(err); + should.exist(err); + should.equal(err.code, "MessageTooLargeError"); + err.message.should.match( + /.*The received message \(delivery-id:(\d+), size:(\d+) bytes\) exceeds the limit \((\d+) bytes\) currently allowed on the link\..*/gi + ); } + await producerClient.sendBatch([{ body: "Hello World EventHub!!" }], { partitionId: "0" }); + debug("Sent the message successfully on the same link.."); }); - rootSpan.end(); - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root spans."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + it("can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.send", - children: [] - } - ] - } - ] - }; + const rootSpan = tracer.startSpan("root"); - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + const events = []; + for (let i = 0; i < 5; i++) { + events.push({ body: `multiple messages - manual trace propgation: ${i}` }); + } + await producerClient.sendBatch(events, { + partitionId: "0", + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) + } + }); + rootSpan.end(); - resetTracer(); - }); + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root spans."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - it("skips already instrumented events when manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.send", + children: [] + } + ] + } + ] + }; - const rootSpan = tracer.startSpan("root"); + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - const events: EventData[] = []; - for (let i = 0; i < 5; i++) { - events.push({ body: `multiple messages - manual trace propgation: ${i}` }); - } - events[0].properties = { [TRACEPARENT_PROPERTY]: "foo" }; - await producerClient.sendBatch(events, { - partitionId: "0", - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) - } + resetTracer(); }); - rootSpan.end(); - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root spans."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + it("skips already instrumented events when manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.send", - children: [] - } - ] + const rootSpan = tracer.startSpan("root"); + + const events: EventData[] = []; + for (let i = 0; i < 5; i++) { + events.push({ body: `multiple messages - manual trace propgation: ${i}` }); + } + events[0].properties = { [TRACEPARENT_PROPERTY]: "foo" }; + await producerClient.sendBatch(events, { + partitionId: "0", + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) } - ] - }; + }); + rootSpan.end(); + + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root spans."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.send", + children: [] + } + ] + } + ] + }; - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); + resetTracer(); + }); }); - }); - - describe("Array of events", function() { - it("should be sent successfully", async () => { - const data: EventData[] = [{ body: "Hello World 1" }, { body: "Hello World 2" }]; - const receivedEvents: ReceivedEventData[] = []; - let receivingResolver: (value?: unknown) => void; - - const receivingPromise = new Promise((resolve) => (receivingResolver = resolve)); - const subscription = consumerClient.subscribe( - { - async processError() { - /* no-op */ + + describe("Array of events", function() { + it("should be sent successfully", async () => { + const data: EventData[] = [{ body: "Hello World 1" }, { body: "Hello World 2" }]; + const receivedEvents: ReceivedEventData[] = []; + let receivingResolver: (value?: unknown) => void; + + const receivingPromise = new Promise((resolve) => (receivingResolver = resolve)); + const subscription = consumerClient.subscribe( + { + async processError() { + /* no-op */ + }, + async processEvents(events) { + receivedEvents.push(...events); + receivingResolver(); + } }, - async processEvents(events) { - receivedEvents.push(...events); - receivingResolver(); + { + startPosition, + maxBatchSize: data.length } - }, - { - startPosition, - maxBatchSize: data.length - } - ); + ); - await producerClient.sendBatch(data); + await producerClient.sendBatch(data); - await receivingPromise; - await subscription.close(); + await receivingPromise; + await subscription.close(); - receivedEvents.length.should.equal(data.length); - receivedEvents.map((e) => e.body).should.eql(data.map((d) => d.body)); - }); + receivedEvents.length.should.equal(data.length); + receivedEvents.map((e) => e.body).should.eql(data.map((d) => d.body)); + }); - it("should be sent successfully with partitionKey", async () => { - const data: EventData[] = [{ body: "Hello World 1" }, { body: "Hello World 2" }]; - const receivedEvents: ReceivedEventData[] = []; - let receivingResolver: (value?: unknown) => void; - const receivingPromise = new Promise((resolve) => (receivingResolver = resolve)); - const subscription = consumerClient.subscribe( - { - async processError() { - /* no-op */ + it("should be sent successfully with partitionKey", async () => { + const data: EventData[] = [{ body: "Hello World 1" }, { body: "Hello World 2" }]; + const receivedEvents: ReceivedEventData[] = []; + let receivingResolver: (value?: unknown) => void; + const receivingPromise = new Promise((resolve) => (receivingResolver = resolve)); + const subscription = consumerClient.subscribe( + { + async processError() { + /* no-op */ + }, + async processEvents(events) { + receivedEvents.push(...events); + receivingResolver(); + } }, - async processEvents(events) { - receivedEvents.push(...events); - receivingResolver(); + { + startPosition, + maxBatchSize: data.length } - }, - { - startPosition, - maxBatchSize: data.length - } - ); + ); - await producerClient.sendBatch(data, { partitionKey: "foo" }); + await producerClient.sendBatch(data, { partitionKey: "foo" }); - await receivingPromise; - await subscription.close(); + await receivingPromise; + await subscription.close(); - receivedEvents.length.should.equal(data.length); - receivedEvents.map((e) => e.body).should.eql(data.map((d) => d.body)); - for (let i = 0; i < receivedEvents.length; i++) { - receivedEvents[i].body.should.equal(data[i].body); - } - }); + receivedEvents.length.should.equal(data.length); + receivedEvents.map((e) => e.body).should.eql(data.map((d) => d.body)); + for (let i = 0; i < receivedEvents.length; i++) { + receivedEvents[i].body.should.equal(data[i].body); + } + }); - it("should be sent successfully with partitionId", async () => { - const partitionId = "0"; - const data: EventData[] = [{ body: "Hello World 1" }, { body: "Hello World 2" }]; - const receivedEvents: ReceivedEventData[] = []; - let receivingResolver: (value?: unknown) => void; - const receivingPromise = new Promise((resolve) => (receivingResolver = resolve)); - const subscription = consumerClient.subscribe( - partitionId, - { - async processError() { - /* no-op */ + it("should be sent successfully with partitionId", async () => { + const partitionId = "0"; + const data: EventData[] = [{ body: "Hello World 1" }, { body: "Hello World 2" }]; + const receivedEvents: ReceivedEventData[] = []; + let receivingResolver: (value?: unknown) => void; + const receivingPromise = new Promise((resolve) => (receivingResolver = resolve)); + const subscription = consumerClient.subscribe( + partitionId, + { + async processError() { + /* no-op */ + }, + async processEvents(events) { + receivedEvents.push(...events); + receivingResolver(); + } }, - async processEvents(events) { - receivedEvents.push(...events); - receivingResolver(); + { + startPosition, + maxBatchSize: data.length } - }, - { - startPosition, - maxBatchSize: data.length - } - ); - - await producerClient.sendBatch(data, { partitionId }); - - await receivingPromise; - await subscription.close(); - - receivedEvents.length.should.equal(data.length); - receivedEvents.map((e) => e.body).should.eql(data.map((d) => d.body)); - for (let i = 0; i < receivedEvents.length; i++) { - receivedEvents[i].body.should.equal(data[i].body); - } - }); + ); - it("can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + await producerClient.sendBatch(data, { partitionId }); - const rootSpan = tracer.startSpan("root"); + await receivingPromise; + await subscription.close(); - const events = []; - for (let i = 0; i < 5; i++) { - events.push({ body: `multiple messages - manual trace propgation: ${i}` }); - } - await producerClient.sendBatch(events, { - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) + receivedEvents.length.should.equal(data.length); + receivedEvents.map((e) => e.body).should.eql(data.map((d) => d.body)); + for (let i = 0; i < receivedEvents.length; i++) { + receivedEvents[i].body.should.equal(data[i].body); } }); - rootSpan.end(); - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root spans."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + it("can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.send", - children: [] - } - ] + const rootSpan = tracer.startSpan("root"); + + const events = []; + for (let i = 0; i < 5; i++) { + events.push({ body: `multiple messages - manual trace propgation: ${i}` }); + } + await producerClient.sendBatch(events, { + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) } - ] - }; - - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - - const knownSendSpans = tracer - .getKnownSpans() - .filter((span: TestSpan) => span.name === "Azure.EventHubs.send"); - knownSendSpans.length.should.equal(1, "There should have been one send span."); - knownSendSpans[0].attributes.should.deep.equal({ - "az.namespace": "Microsoft.EventHub", - "message_bus.destination": producerClient.eventHubName, - "peer.address": producerClient.fullyQualifiedNamespace - }); - resetTracer(); - }); + }); + rootSpan.end(); - it("skips already instrumented events when manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root spans."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - const rootSpan = tracer.startSpan("root"); + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.send", + children: [] + } + ] + } + ] + }; - const events: EventData[] = []; - for (let i = 0; i < 5; i++) { - events.push({ body: `multiple messages - manual trace propgation: ${i}` }); - } - events[0].properties = { [TRACEPARENT_PROPERTY]: "foo" }; - await producerClient.sendBatch(events, { - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) - } + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + + const knownSendSpans = tracer + .getKnownSpans() + .filter((span: TestSpan) => span.name === "Azure.EventHubs.send"); + knownSendSpans.length.should.equal(1, "There should have been one send span."); + knownSendSpans[0].attributes.should.deep.equal({ + "az.namespace": "Microsoft.EventHub", + "message_bus.destination": producerClient.eventHubName, + "peer.address": producerClient.fullyQualifiedNamespace + }); + resetTracer(); }); - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root spans."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.message", - children: [] - }, - { - name: "Azure.EventHubs.send", - children: [] - } - ] - } - ] - }; + it("skips already instrumented events when manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); - }); + const rootSpan = tracer.startSpan("root"); - it("should throw when partitionId and partitionKey are provided", async function(): Promise< - void - > { - try { - const data: EventData[] = [ - { - body: "Sender paritition id and partition key" + const events: EventData[] = []; + for (let i = 0; i < 5; i++) { + events.push({ body: `multiple messages - manual trace propgation: ${i}` }); + } + events[0].properties = { [TRACEPARENT_PROPERTY]: "foo" }; + await producerClient.sendBatch(events, { + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) } - ]; - await producerClient.sendBatch(data, { partitionKey: "1", partitionId: "0" }); - throw new Error("Test Failure"); - } catch (err) { - err.message.should.equal( - "The partitionId (0) and partitionKey (1) cannot both be specified." - ); - } - }); - }); + }); + rootSpan.end(); - describe("Validation", function() { - describe("createBatch", function() { - it("throws an error if partitionId and partitionKey are set", async () => { - try { - await producerClient.createBatch({ partitionId: "0", partitionKey: "boo" }); - throw new Error("Test failure"); - } catch (error) { - error.message.should.equal( - "partitionId and partitionKey cannot both be set when creating a batch" - ); - } - }); + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root spans."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - it("throws an error if partitionId and partitionKey are set and partitionId is 0 i.e. falsy", async () => { - try { - await producerClient.createBatch({ - // @ts-expect-error Testing the value 0 is not ignored. - partitionId: 0, - partitionKey: "boo" - }); - throw new Error("Test failure"); - } catch (error) { - error.message.should.equal( - "partitionId and partitionKey cannot both be set when creating a batch" - ); - } - }); + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.message", + children: [] + }, + { + name: "Azure.EventHubs.send", + children: [] + } + ] + } + ] + }; - it("throws an error if partitionId and partitionKey are set and partitionKey is 0 i.e. falsy", async () => { - try { - await producerClient.createBatch({ - partitionId: "1", - // @ts-expect-error Testing the value 0 is not ignored. - partitionKey: 0 - }); - throw new Error("Test failure"); - } catch (error) { - error.message.should.equal( - "partitionId and partitionKey cannot both be set when creating a batch" - ); - } + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + resetTracer(); }); - it("should throw when maxMessageSize is greater than maximum message size on the AMQP sender link", async function(): Promise< + it("should throw when partitionId and partitionKey are provided", async function(): Promise< void > { try { - await producerClient.createBatch({ maxSizeInBytes: 2046528 }); + const data: EventData[] = [ + { + body: "Sender paritition id and partition key" + } + ]; + await producerClient.sendBatch(data, { partitionKey: "1", partitionId: "0" }); throw new Error("Test Failure"); - } catch (err) { - err.message.should.match( - /.*Max message size \((\d+) bytes\) is greater than maximum message size \((\d+) bytes\) on the AMQP sender link.*/gi - ); - } - }); - }); - describe("sendBatch with EventDataBatch", function() { - it("works if partitionKeys match", async () => { - const misconfiguredOptions: SendBatchOptions = { - partitionKey: "foo" - }; - const batch = await producerClient.createBatch({ partitionKey: "foo" }); - await producerClient.sendBatch(batch, misconfiguredOptions); - }); - it("works if partitionIds match", async () => { - const misconfiguredOptions: SendBatchOptions = { - partitionId: "0" - }; - const batch = await producerClient.createBatch({ partitionId: "0" }); - await producerClient.sendBatch(batch, misconfiguredOptions); - }); - it("throws an error if partitionKeys don't match", async () => { - const badOptions: SendBatchOptions = { - partitionKey: "bar" - }; - const batch = await producerClient.createBatch({ partitionKey: "foo" }); - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); - } catch (err) { - err.message.should.equal( - "The partitionKey (bar) set on sendBatch does not match the partitionKey (foo) set when creating the batch." - ); - } - }); - it("throws an error if partitionKeys don't match (undefined)", async () => { - const badOptions: SendBatchOptions = { - partitionKey: "bar" - }; - const batch = await producerClient.createBatch(); - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); } catch (err) { err.message.should.equal( - "The partitionKey (bar) set on sendBatch does not match the partitionKey (undefined) set when creating the batch." + "The partitionId (0) and partitionKey (1) cannot both be specified." ); } }); - it("throws an error if partitionIds don't match", async () => { - const badOptions: SendBatchOptions = { - partitionId: "0" - }; - const batch = await producerClient.createBatch({ partitionId: "1" }); - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); - } catch (err) { - err.message.should.equal( - "The partitionId (0) set on sendBatch does not match the partitionId (1) set when creating the batch." - ); - } - }); - it("throws an error if partitionIds don't match (undefined)", async () => { - const badOptions: SendBatchOptions = { - partitionId: "0" - }; - const batch = await producerClient.createBatch(); - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); - } catch (err) { - err.message.should.equal( - "The partitionId (0) set on sendBatch does not match the partitionId (undefined) set when creating the batch." - ); - } - }); - it("throws an error if partitionId and partitionKey are set (create, send)", async () => { - const badOptions: SendBatchOptions = { - partitionKey: "foo" - }; - const batch = await producerClient.createBatch({ partitionId: "0" }); - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); - } catch (err) { - err.message.should.not.equal("Test failure"); - } + }); + + describe("Validation", function() { + describe("createBatch", function() { + it("throws an error if partitionId and partitionKey are set", async () => { + try { + await producerClient.createBatch({ partitionId: "0", partitionKey: "boo" }); + throw new Error("Test failure"); + } catch (error) { + error.message.should.equal( + "partitionId and partitionKey cannot both be set when creating a batch" + ); + } + }); + + it("throws an error if partitionId and partitionKey are set and partitionId is 0 i.e. falsy", async () => { + try { + await producerClient.createBatch({ + // @ts-expect-error Testing the value 0 is not ignored. + partitionId: 0, + partitionKey: "boo" + }); + throw new Error("Test failure"); + } catch (error) { + error.message.should.equal( + "partitionId and partitionKey cannot both be set when creating a batch" + ); + } + }); + + it("throws an error if partitionId and partitionKey are set and partitionKey is 0 i.e. falsy", async () => { + try { + await producerClient.createBatch({ + partitionId: "1", + // @ts-expect-error Testing the value 0 is not ignored. + partitionKey: 0 + }); + throw new Error("Test failure"); + } catch (error) { + error.message.should.equal( + "partitionId and partitionKey cannot both be set when creating a batch" + ); + } + }); + + it("should throw when maxMessageSize is greater than maximum message size on the AMQP sender link", async function(): Promise< + void + > { + try { + await producerClient.createBatch({ maxSizeInBytes: 2046528 }); + throw new Error("Test Failure"); + } catch (err) { + err.message.should.match( + /.*Max message size \((\d+) bytes\) is greater than maximum message size \((\d+) bytes\) on the AMQP sender link.*/gi + ); + } + }); }); - it("throws an error if partitionId and partitionKey are set (send, create)", async () => { - const badOptions: SendBatchOptions = { - partitionId: "0" - }; - const batch = await producerClient.createBatch({ partitionKey: "foo" }); - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); - } catch (err) { - err.message.should.not.equal("Test failure"); - } + describe("sendBatch with EventDataBatch", function() { + it("works if partitionKeys match", async () => { + const misconfiguredOptions: SendBatchOptions = { + partitionKey: "foo" + }; + const batch = await producerClient.createBatch({ partitionKey: "foo" }); + await producerClient.sendBatch(batch, misconfiguredOptions); + }); + it("works if partitionIds match", async () => { + const misconfiguredOptions: SendBatchOptions = { + partitionId: "0" + }; + const batch = await producerClient.createBatch({ partitionId: "0" }); + await producerClient.sendBatch(batch, misconfiguredOptions); + }); + it("throws an error if partitionKeys don't match", async () => { + const badOptions: SendBatchOptions = { + partitionKey: "bar" + }; + const batch = await producerClient.createBatch({ partitionKey: "foo" }); + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.equal( + "The partitionKey (bar) set on sendBatch does not match the partitionKey (foo) set when creating the batch." + ); + } + }); + it("throws an error if partitionKeys don't match (undefined)", async () => { + const badOptions: SendBatchOptions = { + partitionKey: "bar" + }; + const batch = await producerClient.createBatch(); + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.equal( + "The partitionKey (bar) set on sendBatch does not match the partitionKey (undefined) set when creating the batch." + ); + } + }); + it("throws an error if partitionIds don't match", async () => { + const badOptions: SendBatchOptions = { + partitionId: "0" + }; + const batch = await producerClient.createBatch({ partitionId: "1" }); + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.equal( + "The partitionId (0) set on sendBatch does not match the partitionId (1) set when creating the batch." + ); + } + }); + it("throws an error if partitionIds don't match (undefined)", async () => { + const badOptions: SendBatchOptions = { + partitionId: "0" + }; + const batch = await producerClient.createBatch(); + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.equal( + "The partitionId (0) set on sendBatch does not match the partitionId (undefined) set when creating the batch." + ); + } + }); + it("throws an error if partitionId and partitionKey are set (create, send)", async () => { + const badOptions: SendBatchOptions = { + partitionKey: "foo" + }; + const batch = await producerClient.createBatch({ partitionId: "0" }); + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.not.equal("Test failure"); + } + }); + it("throws an error if partitionId and partitionKey are set (send, create)", async () => { + const badOptions: SendBatchOptions = { + partitionId: "0" + }; + const batch = await producerClient.createBatch({ partitionKey: "foo" }); + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.not.equal("Test failure"); + } + }); + it("throws an error if partitionId and partitionKey are set (send, send)", async () => { + const badOptions: SendBatchOptions = { + partitionKey: "foo", + partitionId: "0" + }; + const batch = await producerClient.createBatch(); + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.not.equal("Test failure"); + } + }); }); - it("throws an error if partitionId and partitionKey are set (send, send)", async () => { - const badOptions: SendBatchOptions = { - partitionKey: "foo", - partitionId: "0" - }; - const batch = await producerClient.createBatch(); - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); - } catch (err) { - err.message.should.not.equal("Test failure"); - } + + describe("sendBatch with EventDataBatch with events array", function() { + it("throws an error if partitionId and partitionKey are set", async () => { + const badOptions: SendBatchOptions = { + partitionKey: "foo", + partitionId: "0" + }; + const batch = [{ body: "Hello 1" }, { body: "Hello 2" }]; + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.equal( + "The partitionId (0) and partitionKey (foo) cannot both be specified." + ); + } + }); + it("throws an error if partitionId and partitionKey are set with partitionId set to 0 i.e. falsy", async () => { + const badOptions: SendBatchOptions = { + partitionKey: "foo", + // @ts-expect-error Testing the value 0 is not ignored. + partitionId: 0 + }; + const batch = [{ body: "Hello 1" }, { body: "Hello 2" }]; + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.equal( + "The partitionId (0) and partitionKey (foo) cannot both be specified." + ); + } + }); + it("throws an error if partitionId and partitionKey are set with partitionKey set to 0 i.e. falsy", async () => { + const badOptions: SendBatchOptions = { + // @ts-expect-error Testing the value 0 is not ignored. + partitionKey: 0, + partitionId: "0" + }; + const batch = [{ body: "Hello 1" }, { body: "Hello 2" }]; + try { + await producerClient.sendBatch(batch, badOptions); + throw new Error("Test failure"); + } catch (err) { + err.message.should.equal( + "The partitionId (0) and partitionKey (0) cannot both be specified." + ); + } + }); }); }); - describe("sendBatch with EventDataBatch with events array", function() { - it("throws an error if partitionId and partitionKey are set", async () => { - const badOptions: SendBatchOptions = { - partitionKey: "foo", - partitionId: "0" - }; - const batch = [{ body: "Hello 1" }, { body: "Hello 2" }]; - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); - } catch (err) { - err.message.should.equal( - "The partitionId (0) and partitionKey (foo) cannot both be specified." - ); - } - }); - it("throws an error if partitionId and partitionKey are set with partitionId set to 0 i.e. falsy", async () => { - const badOptions: SendBatchOptions = { - partitionKey: "foo", - // @ts-expect-error Testing the value 0 is not ignored. - partitionId: 0 + describe("Negative scenarios", function(): void { + it("a message greater than 1 MB should fail.", async function(): Promise { + const data: EventData = { + body: Buffer.from("Z".repeat(1300000)) }; - const batch = [{ body: "Hello 1" }, { body: "Hello 2" }]; try { - await producerClient.sendBatch(batch, badOptions); + await producerClient.sendBatch([data]); throw new Error("Test failure"); } catch (err) { - err.message.should.equal( - "The partitionId (0) and partitionKey (foo) cannot both be specified." - ); - } - }); - it("throws an error if partitionId and partitionKey are set with partitionKey set to 0 i.e. falsy", async () => { - const badOptions: SendBatchOptions = { - // @ts-expect-error Testing the value 0 is not ignored. - partitionKey: 0, - partitionId: "0" - }; - const batch = [{ body: "Hello 1" }, { body: "Hello 2" }]; - try { - await producerClient.sendBatch(batch, badOptions); - throw new Error("Test failure"); - } catch (err) { - err.message.should.equal( - "The partitionId (0) and partitionKey (0) cannot both be specified." + debug(err); + should.exist(err); + should.equal(err.code, "MessageTooLargeError"); + err.message.should.match( + /.*The received message \(delivery-id:(\d+), size:(\d+) bytes\) exceeds the limit \((\d+) bytes\) currently allowed on the link\..*/gi ); } }); - }); - }); - - describe("Negative scenarios", function(): void { - it("a message greater than 1 MB should fail.", async function(): Promise { - const data: EventData = { - body: Buffer.from("Z".repeat(1300000)) - }; - try { - await producerClient.sendBatch([data]); - throw new Error("Test failure"); - } catch (err) { - debug(err); - should.exist(err); - should.equal(err.code, "MessageTooLargeError"); - err.message.should.match( - /.*The received message \(delivery-id:(\d+), size:(\d+) bytes\) exceeds the limit \((\d+) bytes\) currently allowed on the link\..*/gi - ); - } - }); - describe("on invalid partition ids like", function(): void { - // tslint:disable-next-line: no-null-keyword - const invalidIds = ["XYZ", "-1", "1000", "-"]; - invalidIds.forEach(function(id: string | null): void { - it(`"${id}" should throw an error`, async function(): Promise { - try { - debug("Created sender and will be sending a message to partition id ...", id); - await producerClient.sendBatch([{ body: "Hello world!" }], { - partitionId: id as any - }); - debug("sent the message."); - throw new Error("Test failure"); - } catch (err) { - debug(`>>>> Received error for invalid partition id "${id}" - `, err); - should.exist(err); - err.message.should.match( - /.*The specified partition is invalid for an EventHub partition sender or receiver.*/gi - ); - } + describe("on invalid partition ids like", function(): void { + // tslint:disable-next-line: no-null-keyword + const invalidIds = ["XYZ", "-1", "1000", "-"]; + invalidIds.forEach(function(id: string | null): void { + it(`"${id}" should throw an error`, async function(): Promise { + try { + debug("Created sender and will be sending a message to partition id ...", id); + await producerClient.sendBatch([{ body: "Hello world!" }], { + partitionId: id as any + }); + debug("sent the message."); + throw new Error("Test failure"); + } catch (err) { + debug(`>>>> Received error for invalid partition id "${id}" - `, err); + should.exist(err); + err.message.should.match( + /.*The specified partition is invalid for an EventHub partition sender or receiver.*/gi + ); + } + }); }); }); }); - }); -}).timeout(20000); + }).timeout(20000); +}); diff --git a/sdk/eventhub/event-hubs/test/perf/track-1/README.md b/sdk/eventhub/event-hubs/test/perf/track-1/README.md deleted file mode 100644 index f0ec9463dfc7..000000000000 --- a/sdk/eventhub/event-hubs/test/perf/track-1/README.md +++ /dev/null @@ -1,13 +0,0 @@ -### Guide - -1. Navigate to `test-utils\perfstress` folder `cd sdk\test-utils\perfstress\` -2. Build the package `rush update && rush build -t test-utils-perfstress` -3. Pack the perf package `rushx pack`. This step would create a `azure-test-utils-perfstress-1.0.0.tgz` file at `test-utils\perfstress` folder. -4. Navigate to `event-hubs\perf\track-1` folder `cd sdk\eventhub\event-hubs\perf\track-1`. -5. Run `npm install` to get `event-hubs V2` and the perf package at `test-utils\perfstress` folder. -6. Create an event-hubs namespace and populate the .env file at `eventhub\event-hubs` folder with `EVENTHUB_CONNECTION_STRING`, `EVENTHUB_NAME` and `CONSUMER_GROUP_NAME` variables. -7. Run the tests as follows from the `event-hubs` folder. - - batch send - - `npm run perf-test:node -- SendTest --warmup 2 --duration 7 --parallel 2` - - receive(Standalone test - doesn't use the framework) - - `ts-node receive.spec.ts` diff --git a/sdk/eventhub/event-hubs/test/perf/track-1/package.json b/sdk/eventhub/event-hubs/test/perf/track-1/package.json deleted file mode 100644 index 19997fa0c11a..000000000000 --- a/sdk/eventhub/event-hubs/test/perf/track-1/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "track-1", - "version": "1.0.0", - "description": "", - "main": "index.js", - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "@azure/event-hubs": "^2.1.4", - "@azure/test-utils-perfstress": "file:../../../../../test-utils/perfstress/azure-test-utils-perfstress-1.0.0.tgz" - }, - "scripts": { - "perf-test:node": "ts-node index.spec.ts" - } -} diff --git a/sdk/eventhub/event-hubs/test/perf/track-1/tsconfig.json b/sdk/eventhub/event-hubs/test/perf/track-1/tsconfig.json deleted file mode 100644 index f1506e985fa7..000000000000 --- a/sdk/eventhub/event-hubs/test/perf/track-1/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "esModuleInterop": true - } -} diff --git a/sdk/eventhub/event-hubs/test/perf/track-2/README.md b/sdk/eventhub/event-hubs/test/perf/track-2/README.md deleted file mode 100644 index 05942df4694b..000000000000 --- a/sdk/eventhub/event-hubs/test/perf/track-2/README.md +++ /dev/null @@ -1,10 +0,0 @@ -### Guide - -1. Build the event-hubs package `rush build -t event-hubs`. -2. Navigate to `event-hubs` folder `cd sdk\eventhub\event-hubs\`. -3. Create an event-hubs namespace and populate the .env file at `eventhub\event-hubs` folder with `EVENTHUB_CONNECTION_STRING`, `EVENTHUB_NAME` and `CONSUMER_GROUP_NAME` variables. -4. Run the tests as follows from the `event-hubs` folder. - - batch send - - `npm run perf-test:node -- SendTest --warmup 2 --duration 7 --parallel 2` - - receive(Standalone test - doesn't use the framework) - - `tsc -p . --module "commonjs" && node dist-esm\test\perf\track-2\receive.spec.js` diff --git a/sdk/eventhub/event-hubs/test/public/amqpAnnotatedMessage.spec.ts b/sdk/eventhub/event-hubs/test/public/amqpAnnotatedMessage.spec.ts index 72c39e50b247..79e4aac5b5fe 100644 --- a/sdk/eventhub/event-hubs/test/public/amqpAnnotatedMessage.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/amqpAnnotatedMessage.spec.ts @@ -16,279 +16,296 @@ import { Subscription } from "../../src"; import { BodyTypes } from "../../src/dataTransformer"; +import { testWithServiceTypes } from "./utils/testWithServiceTypes"; +import { createMockServer } from "./utils/mockService"; const should = chai.should(); chai.use(chaiAsPromised); chai.use(chaiExclude); const assert = chai.assert; -const env = getEnvVars(); - -describe("AmqpAnnotatedMessage", function(): void { - let producerClient: EventHubProducerClient; - let consumerClient: EventHubConsumerClient; - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - - before("validate environment", function(): void { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - beforeEach(async () => { - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - }); - - afterEach("close the connection", async function(): Promise { - await producerClient.close(); - await consumerClient.close(); - }); +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - function getSampleAmqpAnnotatedMessage(): AmqpAnnotatedMessage { - const randomTag = Math.random().toString(); - - return { - body: `message body ${randomTag}`, - bodyType: "data", - applicationProperties: { - propOne: 1, - propTwo: "two", - propThree: true, - propFour: Date() - }, - footer: { - propFooter: "foot" - }, - messageAnnotations: { propMsgAnnotate: "annotation" }, - properties: { - contentEncoding: "application/json; charset=utf-8", - correlationId: randomTag, - messageId: v4() - } - } as AmqpAnnotatedMessage; + after("Stopping mock service", () => { + return service?.stop(); + }); } + describe("AmqpAnnotatedMessage", function(): void { + let producerClient: EventHubProducerClient; + let consumerClient: EventHubConsumerClient; + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + + before("validate environment", function(): void { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - /** - * Helper function that will receive a single event that comes after the starting positions. - * - * Note: Call this after sending a single event to Event Hubs to validate - * @internal - */ - async function receiveEvent(startingPositions: { - [partitionId: string]: EventPosition; - }): Promise { - return new Promise((resolve, reject) => { - const subscription: Subscription = consumerClient.subscribe( - { - async processError(err) { - reject(err); - return subscription.close(); - }, - async processEvents(events) { - if (events.length) { - resolve(events[0]); - return subscription.close(); - } - } - }, - { - startPosition: startingPositions - } + beforeEach(async () => { + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path ); }); - } - async function sendEvents(messages: AmqpAnnotatedMessage[], { useBatch }: { useBatch: boolean }) { - if (!useBatch) { - return producerClient.sendBatch(messages); - } + afterEach("close the connection", async function(): Promise { + await producerClient.close(); + await consumerClient.close(); + }); - const batch = await producerClient.createBatch(); - for (const message of messages) { - assert.isTrue(batch.tryAdd(message)); + function getSampleAmqpAnnotatedMessage(): AmqpAnnotatedMessage { + const randomTag = Math.random().toString(); + + return { + body: `message body ${randomTag}`, + bodyType: "data", + applicationProperties: { + propOne: 1, + propTwo: "two", + propThree: true, + propFour: Date() + }, + footer: { + propFooter: "foot" + }, + messageAnnotations: { propMsgAnnotate: "annotation" }, + properties: { + contentEncoding: "application/json; charset=utf-8", + correlationId: randomTag, + messageId: v4() + } + } as AmqpAnnotatedMessage; } - return producerClient.sendBatch(batch); - } - - describe("round-tripping AMQP encoding/decoding", () => { - [{ useBatch: true }, { useBatch: false }].forEach(({ useBatch }) => { - it(`props (useBatch: ${useBatch})`, async () => { - const startingPositions = await getStartingPositionsForTests(consumerClient); - const testMessage = getSampleAmqpAnnotatedMessage(); - await sendEvents([testMessage], { useBatch }); - - const event = await receiveEvent(startingPositions); - should.equal(event.body, testMessage.body, "Unexpected body on the received event."); - should.equal( - event.getRawAmqpMessage().messageAnnotations!["propMsgAnnotate"], - testMessage.messageAnnotations!["propMsgAnnotate"], - "Unexpected messageAnnotations on the received event." - ); - assert.deepEqualExcluding( - event.getRawAmqpMessage(), - testMessage, - ["deliveryAnnotations", "body", "messageAnnotations", "header", "properties"], - "Unexpected on the AmqpAnnotatedMessage" - ); - assert.deepEqualExcluding( - event.getRawAmqpMessage().footer!, - testMessage.footer!, - ["deliveryCount"], - "Unexpected header on the AmqpAnnotatedMessage" - ); - assert.deepEqualExcluding( - event.getRawAmqpMessage().properties!, - testMessage.properties!, - ["creationTime", "absoluteExpiryTime", "groupId"], - "Unexpected properties on the AmqpAnnotatedMessage" - ); - assert.equal( - event.getRawAmqpMessage().properties!.groupId, - testMessage.properties!.groupId, - "Unexpected session-id on the AmqpAnnotatedMessage" + /** + * Helper function that will receive a single event that comes after the starting positions. + * + * Note: Call this after sending a single event to Event Hubs to validate + * @internal + */ + async function receiveEvent(startingPositions: { + [partitionId: string]: EventPosition; + }): Promise { + return new Promise((resolve, reject) => { + const subscription: Subscription = consumerClient.subscribe( + { + async processError(err) { + reject(err); + return subscription.close(); + }, + async processEvents(events) { + if (events.length) { + resolve(events[0]); + return subscription.close(); + } + } + }, + { + startPosition: startingPositions + } ); }); + } - it(`values (useBatch: ${useBatch})`, async () => { - const valueTypes = [[1, 2, 3], 1, 1.5, "hello", { hello: "world" }]; - for (const valueType of valueTypes) { - const startingPositions = await getStartingPositionsForTests(consumerClient); - await sendEvents( - [ - { - body: valueType, - bodyType: "value" - } - ], - { useBatch } - ); - - const event = await receiveEvent(startingPositions); - assert.deepEqual( - event.getRawAmqpMessage().bodyType, - "value", - `Should be identified as a value: ${valueType.toString()}` - ); + async function sendEvents( + messages: AmqpAnnotatedMessage[], + { useBatch }: { useBatch: boolean } + ) { + if (!useBatch) { + return producerClient.sendBatch(messages); + } - assert.deepEqual( - event.body, - valueType, - `Deserialized body should be equal: ${valueType.toString()}` - ); - } - }); + const batch = await producerClient.createBatch(); + for (const message of messages) { + assert.isTrue(batch.tryAdd(message)); + } - it(`sequences (useBatch: ${useBatch})`, async () => { - const sequenceTypes = [ - [[1], [2], [3]], - [1, 2, 3] - ]; + return producerClient.sendBatch(batch); + } - for (const sequenceType of sequenceTypes) { + describe("round-tripping AMQP encoding/decoding", () => { + [{ useBatch: true }, { useBatch: false }].forEach(({ useBatch }) => { + it(`props (useBatch: ${useBatch})`, async () => { const startingPositions = await getStartingPositionsForTests(consumerClient); - await sendEvents( - [ - { - body: sequenceType, - bodyType: "sequence" - } - ], - { useBatch } - ); + const testMessage = getSampleAmqpAnnotatedMessage(); + await sendEvents([testMessage], { useBatch }); const event = await receiveEvent(startingPositions); - assert.deepEqual( - event.getRawAmqpMessage().bodyType, - "sequence", - `Should be identified as a value: ${sequenceType.toString()}` + should.equal(event.body, testMessage.body, "Unexpected body on the received event."); + should.equal( + event.getRawAmqpMessage().messageAnnotations!["propMsgAnnotate"], + testMessage.messageAnnotations!["propMsgAnnotate"], + "Unexpected messageAnnotations on the received event." ); - - assert.deepEqual( - event.body, - sequenceType, - `Deserialized body should be equal: ${sequenceType.toString()}` + assert.deepEqualExcluding( + event.getRawAmqpMessage(), + testMessage, + ["deliveryAnnotations", "body", "messageAnnotations", "header", "properties"], + "Unexpected on the AmqpAnnotatedMessage" ); - } - }); - - it(`data (useBatch: ${useBatch})`, async () => { - const buff = Buffer.from("hello", "utf8"); - - const dataTypes = [1, 1.5, "hello", { hello: "world" }, buff, [1, 2, 3]]; - - for (const dataType of dataTypes) { - const startingPositions = await getStartingPositionsForTests(consumerClient); - await sendEvents( - [ - { - body: dataType, - bodyType: "data" - } - ], - { useBatch } - ); - - const event = await receiveEvent(startingPositions); - - assert.deepEqual( - event.getRawAmqpMessage().bodyType, - "data", - `Should be identified as data: ${dataType.toString()}` + assert.deepEqualExcluding( + event.getRawAmqpMessage().footer!, + testMessage.footer!, + ["deliveryCount"], + "Unexpected header on the AmqpAnnotatedMessage" ); - assert.deepEqual( - event.body, - dataType, - `Deserialized body should be equal: : ${dataType.toString()}` + assert.deepEqualExcluding( + event.getRawAmqpMessage().properties!, + testMessage.properties!, + ["creationTime", "absoluteExpiryTime", "groupId"], + "Unexpected properties on the AmqpAnnotatedMessage" ); - } - }); - - ([ - ["sequence", [1, 2, 3]], - ["value", "hello"], - ["data", "hello"] - ] as [BodyTypes, any][]).forEach(([expectedBodyType, expectedBody]) => { - it(`receive EventData and resend (useBatch: ${useBatch})`, async () => { - let startingPositions = await getStartingPositionsForTests(consumerClient); - // if we receive an event that was encoded to a non-data section - // and then re-send it (again, as an EventData) we should - // respect it. - await sendEvents( - [ - { - body: expectedBody, - bodyType: expectedBodyType - } - ], - { useBatch } + assert.equal( + event.getRawAmqpMessage().properties!.groupId, + testMessage.properties!.groupId, + "Unexpected session-id on the AmqpAnnotatedMessage" ); + }); - const event = await receiveEvent(startingPositions); - - assert.equal(event.getRawAmqpMessage().bodyType, expectedBodyType); + it(`values (useBatch: ${useBatch})`, async () => { + const valueTypes = [[1, 2, 3], 1, 1.5, "hello", { hello: "world" }]; + for (const valueType of valueTypes) { + const startingPositions = await getStartingPositionsForTests(consumerClient); + await sendEvents( + [ + { + body: valueType, + bodyType: "value" + } + ], + { useBatch } + ); + + const event = await receiveEvent(startingPositions); + assert.deepEqual( + event.getRawAmqpMessage().bodyType, + "value", + `Should be identified as a value: ${valueType.toString()}` + ); + + assert.deepEqual( + event.body, + valueType, + `Deserialized body should be equal: ${valueType.toString()}` + ); + } + }); - startingPositions = await getStartingPositionsForTests(consumerClient); - // now let's just resend it, unaltered - await sendEvents([event], { useBatch }); + it(`sequences (useBatch: ${useBatch})`, async () => { + const sequenceTypes = [ + [[1], [2], [3]], + [1, 2, 3] + ]; + + for (const sequenceType of sequenceTypes) { + const startingPositions = await getStartingPositionsForTests(consumerClient); + await sendEvents( + [ + { + body: sequenceType, + bodyType: "sequence" + } + ], + { useBatch } + ); + + const event = await receiveEvent(startingPositions); + assert.deepEqual( + event.getRawAmqpMessage().bodyType, + "sequence", + `Should be identified as a value: ${sequenceType.toString()}` + ); + + assert.deepEqual( + event.body, + sequenceType, + `Deserialized body should be equal: ${sequenceType.toString()}` + ); + } + }); - const reencodedEvent = await receiveEvent(startingPositions); + it(`data (useBatch: ${useBatch})`, async () => { + const buff = Buffer.from("hello", "utf8"); + + const dataTypes = [1, 1.5, "hello", { hello: "world" }, buff, [1, 2, 3]]; + + for (const dataType of dataTypes) { + const startingPositions = await getStartingPositionsForTests(consumerClient); + await sendEvents( + [ + { + body: dataType, + bodyType: "data" + } + ], + { useBatch } + ); + + const event = await receiveEvent(startingPositions); + + assert.deepEqual( + event.getRawAmqpMessage().bodyType, + "data", + `Should be identified as data: ${dataType.toString()}` + ); + assert.deepEqual( + event.body, + dataType, + `Deserialized body should be equal: : ${dataType.toString()}` + ); + } + }); - assert.equal(reencodedEvent.getRawAmqpMessage().bodyType, expectedBodyType); - assert.deepEqual(reencodedEvent.body, expectedBody); + ([ + ["sequence", [1, 2, 3]], + ["value", "hello"], + ["data", "hello"] + ] as [BodyTypes, any][]).forEach(([expectedBodyType, expectedBody]) => { + it(`receive ${expectedBodyType} EventData and resend (useBatch: ${useBatch})`, async () => { + let startingPositions = await getStartingPositionsForTests(consumerClient); + // if we receive an event that was encoded to a non-data section + // and then re-send it (again, as an EventData) we should + // respect it. + await sendEvents( + [ + { + body: expectedBody, + bodyType: expectedBodyType + } + ], + { useBatch } + ); + + const event = await receiveEvent(startingPositions); + + assert.equal(event.getRawAmqpMessage().bodyType, expectedBodyType); + + startingPositions = await getStartingPositionsForTests(consumerClient); + // now let's just resend it, unaltered + await sendEvents([event], { useBatch }); + + const reencodedEvent = await receiveEvent(startingPositions); + + assert.equal(reencodedEvent.getRawAmqpMessage().bodyType, expectedBodyType); + assert.deepEqual(reencodedEvent.body, expectedBody); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/public/auth.spec.ts b/sdk/eventhub/event-hubs/test/public/auth.spec.ts index dd8fce06f393..3b9ae3168c26 100644 --- a/sdk/eventhub/event-hubs/test/public/auth.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/auth.spec.ts @@ -11,369 +11,385 @@ import chai from "chai"; import { AzureNamedKeyCredential, AzureSASCredential } from "@azure/core-auth"; import { createSasTokenProvider } from "@azure/core-amqp"; import { SinonFakeTimers, useFakeTimers } from "sinon"; +import { testWithServiceTypes } from "./utils/testWithServiceTypes"; +import { createMockServer } from "./utils/mockService"; const should = chai.should(); -const env = getEnvVars(); const TEST_FAILURE = "test failure"; -describe("Authentication via", () => { - const { - endpoint, - fullyQualifiedNamespace, - sharedAccessKey, - sharedAccessKeyName - } = parseEventHubConnectionString(env[EnvVarKeys.EVENTHUB_CONNECTION_STRING]); - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME], - endpoint: endpoint.replace(/\/+$/, "") - }; - - before(() => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); +testWithServiceTypes((serviceVersion, onVersions) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - let clock: SinonFakeTimers; - beforeEach("setup new space-time continuum", () => { - clock = useFakeTimers({ - now: new Date(), - shouldAdvanceTime: true + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + onVersions(["live"]).describe("Authentication via", () => { + const { + endpoint, + fullyQualifiedNamespace, + sharedAccessKey, + sharedAccessKeyName + } = parseEventHubConnectionString(env[EnvVarKeys.EVENTHUB_CONNECTION_STRING]); + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME], + endpoint: endpoint.replace(/\/+$/, "") + }; + + before(() => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); }); - }); - afterEach("returning back to current space-time variant", () => { - clock.restore(); - }); + let clock: SinonFakeTimers; + beforeEach("setup new space-time continuum", () => { + clock = useFakeTimers({ + now: new Date(), + shouldAdvanceTime: true + }); + }); - describe("AzureNamedKeyCredential", () => { - describe("supports key rotation", () => { - it("EventHubConsumerClient $management calls", async () => { - const namedKeyCredential = new AzureNamedKeyCredential( - sharedAccessKeyName!, - sharedAccessKey! - ); - - const consumerClient = new EventHubConsumerClient( - "$Default", - fullyQualifiedNamespace, - service.path, - namedKeyCredential - ); - - const properties = await consumerClient.getEventHubProperties(); - should.exist(properties); - - // Rotate credential to invalid value. - namedKeyCredential.update("foo", "bar"); - try { - await consumerClient.getEventHubProperties(); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.code, "UnauthorizedError"); - } + afterEach("returning back to current space-time variant", () => { + clock.restore(); + }); - // Rotate credential to valid value. - namedKeyCredential.update(sharedAccessKeyName!, sharedAccessKey!); - await consumerClient.getEventHubProperties(); - should.exist(properties); + describe("AzureNamedKeyCredential", () => { + describe("supports key rotation", () => { + it("EventHubConsumerClient $management calls", async () => { + const namedKeyCredential = new AzureNamedKeyCredential( + sharedAccessKeyName!, + sharedAccessKey! + ); - return consumerClient.close(); - }); + const consumerClient = new EventHubConsumerClient( + "$Default", + fullyQualifiedNamespace, + service.path, + namedKeyCredential + ); - it("EventHubConsumerClient receive calls", async () => { - const namedKeyCredential = new AzureNamedKeyCredential( - sharedAccessKeyName!, - sharedAccessKey! - ); - - const consumerClient = new EventHubConsumerClient( - "$Default", - fullyQualifiedNamespace, - service.path, - namedKeyCredential, - { - retryOptions: { - maxRetries: 0 - } + const properties = await consumerClient.getEventHubProperties(); + should.exist(properties); + + // Rotate credential to invalid value. + namedKeyCredential.update("foo", "bar"); + try { + await consumerClient.getEventHubProperties(); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.code, "UnauthorizedError"); } - ); - - await new Promise((resolve, reject) => { - // My attempt at defining the order of operations I expect to see. - const steps: Array<(...args: any[]) => void> = [ - // 1: wait for a `processEvents` to be called, then rotate the credentials to an invalid value and fast forward the clock! - (events: []) => { - if (!Array.isArray(events)) { - reject(new Error("Step 1 failed. Expected to see a list of events.")); - } - // Rotate credentials to invalid values and fast forward past the token refresh. - namedKeyCredential.update("foo", "bar"); - clock.tick(1000 * 60 * 45); - }, - // 2: observe another `processEvents` call. We should see this because the maxWaitTimeInSeconds is set to 5 seconds, and we fast forwarded the clock 45 minutes. - (events: []) => { - if (!Array.isArray(events)) { - reject(new Error("Step 2 failed. Expected to see a list of events.")); - } - }, - // 3: Since the token renewal has occurred, we should start seeing `UnauthorizedError` being thrown from our `processError` handler. - // Rotate the credentials back to valid values. - (err: any) => { - if (err.code !== "UnauthorizedError") { - reject( - new Error(`Step 3 failed. Expected ${err.code} to equal "UnauthorizedError".`) - ); - } - // Rotate the credentials back to valid values. - namedKeyCredential.update(sharedAccessKeyName!, sharedAccessKey!); - }, - // 4: observe another `processEvents` call. - // If the credentials were still invalid, we'd expect to see `processError` thrown instead. - (events: []) => { - if (!Array.isArray(events)) { - reject(new Error("Step 4 failed. Expected to see a list of events.")); - } - resolve(); - } - ]; - consumerClient.subscribe( - "0", + // Rotate credential to valid value. + namedKeyCredential.update(sharedAccessKeyName!, sharedAccessKey!); + await consumerClient.getEventHubProperties(); + should.exist(properties); + + return consumerClient.close(); + }); + + it("EventHubConsumerClient receive calls", async () => { + const namedKeyCredential = new AzureNamedKeyCredential( + sharedAccessKeyName!, + sharedAccessKey! + ); + + const consumerClient = new EventHubConsumerClient( + "$Default", + fullyQualifiedNamespace, + service.path, + namedKeyCredential, { - async processError(err) { - const step = steps.shift(); - if (step) step(err); - }, - async processEvents(events) { - const step = steps.shift(); - if (step) step(events); + retryOptions: { + maxRetries: 0 } - }, - { - maxWaitTimeInSeconds: 5 } ); + + await new Promise((resolve, reject) => { + // My attempt at defining the order of operations I expect to see. + const steps: Array<(...args: any[]) => void> = [ + // 1: wait for a `processEvents` to be called, then rotate the credentials to an invalid value and fast forward the clock! + (events: []) => { + if (!Array.isArray(events)) { + reject(new Error("Step 1 failed. Expected to see a list of events.")); + } + // Rotate credentials to invalid values and fast forward past the token refresh. + namedKeyCredential.update("foo", "bar"); + clock.tick(1000 * 60 * 45); + }, + // 2: observe another `processEvents` call. We should see this because the maxWaitTimeInSeconds is set to 5 seconds, and we fast forwarded the clock 45 minutes. + (events: []) => { + if (!Array.isArray(events)) { + reject(new Error("Step 2 failed. Expected to see a list of events.")); + } + }, + // 3: Since the token renewal has occurred, we should start seeing `UnauthorizedError` being thrown from our `processError` handler. + // Rotate the credentials back to valid values. + (err: any) => { + if (err.code !== "UnauthorizedError") { + reject( + new Error(`Step 3 failed. Expected ${err.code} to equal "UnauthorizedError".`) + ); + } + // Rotate the credentials back to valid values. + namedKeyCredential.update(sharedAccessKeyName!, sharedAccessKey!); + }, + // 4: observe another `processEvents` call. + // If the credentials were still invalid, we'd expect to see `processError` thrown instead. + (events: []) => { + if (!Array.isArray(events)) { + reject(new Error("Step 4 failed. Expected to see a list of events.")); + } + resolve(); + } + ]; + + consumerClient.subscribe( + "0", + { + async processError(err) { + const step = steps.shift(); + if (step) step(err); + }, + async processEvents(events) { + const step = steps.shift(); + if (step) step(events); + } + }, + { + maxWaitTimeInSeconds: 5 + } + ); + }); + + return consumerClient.close(); }); - return consumerClient.close(); - }); + it("EventHubProducerClient send calls", async () => { + const namedKeyCredential = new AzureNamedKeyCredential( + sharedAccessKeyName!, + sharedAccessKey! + ); - it("EventHubProducerClient send calls", async () => { - const namedKeyCredential = new AzureNamedKeyCredential( - sharedAccessKeyName!, - sharedAccessKey! - ); - - const producerClient = new EventHubProducerClient( - fullyQualifiedNamespace, - service.path, - namedKeyCredential, - { - retryOptions: { - maxRetries: 0 + const producerClient = new EventHubProducerClient( + fullyQualifiedNamespace, + service.path, + namedKeyCredential, + { + retryOptions: { + maxRetries: 0 + } } - } - ); + ); - // The 1st sendBatch is called with valid credentials, so it should succeed. - await producerClient.sendBatch([{ body: "test" }]); + // The 1st sendBatch is called with valid credentials, so it should succeed. + await producerClient.sendBatch([{ body: "test" }]); - // Rotate credential to invalid value. - namedKeyCredential.update("foo", "bar"); - // Fast forward through time to after the token refresh. - clock.tick(1000 * 60 * 45); + // Rotate credential to invalid value. + namedKeyCredential.update("foo", "bar"); + // Fast forward through time to after the token refresh. + clock.tick(1000 * 60 * 45); - try { - // This sendBatch should fail because we've updated the credential to invalid values and allowed the cbs link to refresh. - await producerClient.sendBatch([{ body: "I don't have access." }]); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.code, "UnauthorizedError"); - } + try { + // This sendBatch should fail because we've updated the credential to invalid values and allowed the cbs link to refresh. + await producerClient.sendBatch([{ body: "I don't have access." }]); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.code, "UnauthorizedError"); + } - // Rotate credential to valid value. - namedKeyCredential.update(sharedAccessKeyName!, sharedAccessKey!); + // Rotate credential to valid value. + namedKeyCredential.update(sharedAccessKeyName!, sharedAccessKey!); - // This last sendBatch should succeed because we've updated our credentials again. - // Notice that we didn't have to fast forward through time to move past a token refresh! - await producerClient.sendBatch([{ body: "test2" }]); + // This last sendBatch should succeed because we've updated our credentials again. + // Notice that we didn't have to fast forward through time to move past a token refresh! + await producerClient.sendBatch([{ body: "test2" }]); - return producerClient.close(); + return producerClient.close(); + }); }); }); - }); - describe("AzureSASCredential", () => { - function getSas(): string { - return createSasTokenProvider({ - sharedAccessKeyName: sharedAccessKeyName!, - sharedAccessKey: sharedAccessKey! - }).getToken(`${service.endpoint}/${service.path}`).token; - } - - describe("supports key rotation", () => { - it("EventHubConsumerClient $management calls", async () => { - const sasCredential = new AzureSASCredential(getSas()); - - const consumerClient = new EventHubConsumerClient( - "$Default", - fullyQualifiedNamespace, - service.path, - sasCredential, - { - retryOptions: { - maxRetries: 0 + describe("AzureSASCredential", () => { + function getSas(): string { + return createSasTokenProvider({ + sharedAccessKeyName: sharedAccessKeyName!, + sharedAccessKey: sharedAccessKey! + }).getToken(`${service.endpoint}/${service.path}`).token; + } + + describe("supports key rotation", () => { + it("EventHubConsumerClient $management calls", async () => { + const sasCredential = new AzureSASCredential(getSas()); + + const consumerClient = new EventHubConsumerClient( + "$Default", + fullyQualifiedNamespace, + service.path, + sasCredential, + { + retryOptions: { + maxRetries: 0 + } } - } - ); + ); - const properties = await consumerClient.getEventHubProperties(); - should.exist(properties); + const properties = await consumerClient.getEventHubProperties(); + should.exist(properties); - // Rotate credential to invalid value. - sasCredential.update( - `SharedAccessSignature sr=fake&sig=foo&se=${Date.now() / 1000}&skn=FakeKey` - ); - try { + // Rotate credential to invalid value. + sasCredential.update( + `SharedAccessSignature sr=fake&sig=foo&se=${Date.now() / 1000}&skn=FakeKey` + ); + try { + await consumerClient.getEventHubProperties(); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.code, "UnauthorizedError"); + } + + // Rotate credential to valid value. + sasCredential.update(getSas()); await consumerClient.getEventHubProperties(); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.code, "UnauthorizedError"); - } + should.exist(properties); - // Rotate credential to valid value. - sasCredential.update(getSas()); - await consumerClient.getEventHubProperties(); - should.exist(properties); + return consumerClient.close(); + }); - return consumerClient.close(); - }); + it("EventHubConsumerClient receive calls", async () => { + const sasCredential = new AzureSASCredential(getSas()); - it("EventHubConsumerClient receive calls", async () => { - const sasCredential = new AzureSASCredential(getSas()); - - const consumerClient = new EventHubConsumerClient( - "$Default", - fullyQualifiedNamespace, - service.path, - sasCredential, - { - retryOptions: { - maxRetries: 0 - } - } - ); - - await new Promise((resolve, reject) => { - // My attempt at defining the order of operations I expect to see. - const steps: Array<(...args: any[]) => void> = [ - // 1: wait for a `processEvents` to be called, then rotate the credentials to an invalid value and fast forward the clock! - (events: []) => { - if (!Array.isArray(events)) { - reject(new Error("Step 1 failed. Expected to see a list of events.")); - } - // Rotate credentials to invalid values and fast forward past the token refresh. - sasCredential.update( - `SharedAccessSignature sr=fake&sig=foo&se=${Date.now() / 1000}&skn=FakeKey` - ); - clock.tick(1000 * 60 * 45); - }, - // 2: observe another `processEvents` call. We should see this because the maxWaitTimeInSeconds is set to 5 seconds, and we fast forwarded the clock 45 minutes. - (events: []) => { - if (!Array.isArray(events)) { - reject(new Error("Step 2 failed. Expected to see a list of events.")); + const consumerClient = new EventHubConsumerClient( + "$Default", + fullyQualifiedNamespace, + service.path, + sasCredential, + { + retryOptions: { + maxRetries: 0 } - }, - // 3: Since the token renewal has occurred, we should start seeing `UnauthorizedError` being thrown from our `processError` handler. - // Rotate the credentials back to valid values. - (err: any) => { - if (err.code !== "UnauthorizedError") { - reject( - new Error(`Step 3 failed. Expected ${err.code} to equal "UnauthorizedError".`) + } + ); + + await new Promise((resolve, reject) => { + // My attempt at defining the order of operations I expect to see. + const steps: Array<(...args: any[]) => void> = [ + // 1: wait for a `processEvents` to be called, then rotate the credentials to an invalid value and fast forward the clock! + (events: []) => { + if (!Array.isArray(events)) { + reject(new Error("Step 1 failed. Expected to see a list of events.")); + } + // Rotate credentials to invalid values and fast forward past the token refresh. + sasCredential.update( + `SharedAccessSignature sr=fake&sig=foo&se=${Date.now() / 1000}&skn=FakeKey` ); - } + clock.tick(1000 * 60 * 45); + }, + // 2: observe another `processEvents` call. We should see this because the maxWaitTimeInSeconds is set to 5 seconds, and we fast forwarded the clock 45 minutes. + (events: []) => { + if (!Array.isArray(events)) { + reject(new Error("Step 2 failed. Expected to see a list of events.")); + } + }, + // 3: Since the token renewal has occurred, we should start seeing `UnauthorizedError` being thrown from our `processError` handler. // Rotate the credentials back to valid values. - sasCredential.update(getSas()); - }, - // 4: observe another `processEvents` call. - // If the credentials were still invalid, we'd expect to see `processError` thrown instead. - (events: []) => { - if (!Array.isArray(events)) { - reject(new Error("Step 4 failed. Expected to see a list of events.")); + (err: any) => { + if (err.code !== "UnauthorizedError") { + reject( + new Error(`Step 3 failed. Expected ${err.code} to equal "UnauthorizedError".`) + ); + } + // Rotate the credentials back to valid values. + sasCredential.update(getSas()); + }, + // 4: observe another `processEvents` call. + // If the credentials were still invalid, we'd expect to see `processError` thrown instead. + (events: []) => { + if (!Array.isArray(events)) { + reject(new Error("Step 4 failed. Expected to see a list of events.")); + } + resolve(); } - resolve(); - } - ]; - - consumerClient.subscribe( - "0", - { - async processError(err) { - const step = steps.shift(); - if (step) step(err); + ]; + + consumerClient.subscribe( + "0", + { + async processError(err) { + const step = steps.shift(); + if (step) step(err); + }, + async processEvents(events) { + const step = steps.shift(); + if (step) step(events); + } }, - async processEvents(events) { - const step = steps.shift(); - if (step) step(events); + { + maxWaitTimeInSeconds: 5 } - }, + ); + }); + + return consumerClient.close(); + }); + + it("EventHubProducerClient send calls", async () => { + const sasCredential = new AzureSASCredential(getSas()); + + const producerClient = new EventHubProducerClient( + fullyQualifiedNamespace, + service.path, + sasCredential, { - maxWaitTimeInSeconds: 5 + retryOptions: { + maxRetries: 0 + } } ); - }); - return consumerClient.close(); - }); + // The 1st sendBatch is called with valid credentials, so it should succeed. + await producerClient.sendBatch([{ body: "test" }]); - it("EventHubProducerClient send calls", async () => { - const sasCredential = new AzureSASCredential(getSas()); - - const producerClient = new EventHubProducerClient( - fullyQualifiedNamespace, - service.path, - sasCredential, - { - retryOptions: { - maxRetries: 0 - } + // Rotate credential to invalid value. + sasCredential.update( + `SharedAccessSignature sr=fake&sig=foo&se=${Date.now() / 1000}&skn=FakeKey` + ); + // Fast forward through time to after the token refresh. + clock.tick(1000 * 60 * 45); + + try { + // This sendBatch should fail because we've updated the credential to invalid values and allowed the cbs link to refresh. + await producerClient.sendBatch([{ body: "I don't have access." }]); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.code, "UnauthorizedError"); } - ); - - // The 1st sendBatch is called with valid credentials, so it should succeed. - await producerClient.sendBatch([{ body: "test" }]); - - // Rotate credential to invalid value. - sasCredential.update( - `SharedAccessSignature sr=fake&sig=foo&se=${Date.now() / 1000}&skn=FakeKey` - ); - // Fast forward through time to after the token refresh. - clock.tick(1000 * 60 * 45); - - try { - // This sendBatch should fail because we've updated the credential to invalid values and allowed the cbs link to refresh. - await producerClient.sendBatch([{ body: "I don't have access." }]); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.code, "UnauthorizedError"); - } - - // Rotate credential to valid value. - sasCredential.update(getSas()); - - // This last sendBatch should succeed because we've updated our credentials again. - // Notice that we didn't have to fast forward through time to move past a token refresh! - await producerClient.sendBatch([{ body: "test2" }]); - - return producerClient.close(); + + // Rotate credential to valid value. + sasCredential.update(getSas()); + + // This last sendBatch should succeed because we've updated our credentials again. + // Notice that we didn't have to fast forward through time to move past a token refresh! + await producerClient.sendBatch([{ body: "test2" }]); + + return producerClient.close(); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/public/cancellation.spec.ts b/sdk/eventhub/event-hubs/test/public/cancellation.spec.ts index 38074e548b34..00d2169d6849 100644 --- a/sdk/eventhub/event-hubs/test/public/cancellation.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/cancellation.spec.ts @@ -6,165 +6,181 @@ import chai from "chai"; const should = chai.should(); import chaiAsPromised from "chai-as-promised"; import { EventHubConsumerClient, EventHubProducerClient } from "../../src"; +import { createMockServer } from "./utils/mockService"; chai.use(chaiAsPromised); import { EnvVarKeys, getEnvVars } from "./utils/testUtils"; -const env = getEnvVars(); - -describe("Cancellation via AbortSignal", () => { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - before("validate environment", () => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - const TEST_FAILURE = "Test failure"; +import { testWithServiceTypes } from "./utils/testWithServiceTypes"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - const cancellationCases = [ - { - type: "pre-aborted", - getSignal() { - const controller = new AbortController(); - controller.abort(); - return controller.signal; - } - }, - { - type: "aborted after timeout", - getSignal() { - const controller = new AbortController(); - setTimeout(() => { - controller.abort(); - }, 0); - return controller.signal; - } - } - ]; - - describe("EventHubConsumerClient", () => { - let consumerClient: EventHubConsumerClient; - beforeEach("instantiate EventHubConsumerClient", () => { - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("Cancellation via AbortSignal", () => { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + before("validate environment", () => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." ); }); - afterEach("close EventHubConsumerClient", () => { - return consumerClient.close(); - }); + const TEST_FAILURE = "Test failure"; - for (const { type: caseType, getSignal } of cancellationCases) { - it(`getEventHubProperties supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await consumerClient.getEventHubProperties({ abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); + const cancellationCases = [ + { + type: "pre-aborted", + getSignal() { + const controller = new AbortController(); + controller.abort(); + return controller.signal; } - }); - - it(`getPartitionIds supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await consumerClient.getPartitionIds({ abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); + }, + { + type: "aborted after timeout", + getSignal() { + const controller = new AbortController(); + setTimeout(() => { + controller.abort(); + }, 0); + return controller.signal; } + } + ]; + + describe("EventHubConsumerClient", () => { + let consumerClient: EventHubConsumerClient; + beforeEach("instantiate EventHubConsumerClient", () => { + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); }); - it(`getPartitionProperties supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await consumerClient.getPartitionProperties("0", { abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } + afterEach("close EventHubConsumerClient", () => { + return consumerClient.close(); }); - } - }); - describe("EventHubProducerClient", () => { - let producerClient: EventHubProducerClient; - beforeEach("instantiate EventHubProducerClient", () => { - producerClient = new EventHubProducerClient(service.connectionString, service.path); - }); - - afterEach("close EventHubProducerClient", () => { - return producerClient.close(); + for (const { type: caseType, getSignal } of cancellationCases) { + it(`getEventHubProperties supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await consumerClient.getEventHubProperties({ abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`getPartitionIds supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await consumerClient.getPartitionIds({ abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`getPartitionProperties supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await consumerClient.getPartitionProperties("0", { abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + } }); - for (const { type: caseType, getSignal } of cancellationCases) { - it(`getEventHubProperties supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await producerClient.getEventHubProperties({ abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } - }); - - it(`getPartitionIds supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await producerClient.getPartitionIds({ abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } + describe("EventHubProducerClient", () => { + let producerClient: EventHubProducerClient; + beforeEach("instantiate EventHubProducerClient", () => { + producerClient = new EventHubProducerClient(service.connectionString, service.path); }); - it(`getPartitionProperties supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await producerClient.getPartitionProperties("0", { abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } + afterEach("close EventHubProducerClient", () => { + return producerClient.close(); }); - it(`createBatch supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await producerClient.createBatch({ abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } - }); - - it(`sendBatch supports cancellation (${caseType})`, async () => { - const abortSignal = getSignal(); - try { - await producerClient.sendBatch([{ body: "unsung hero" }], { abortSignal }); - throw new Error(TEST_FAILURE); - } catch (err) { - should.equal(err.name, "AbortError"); - should.equal(err.message, "The operation was aborted."); - } - }); - } + for (const { type: caseType, getSignal } of cancellationCases) { + it(`getEventHubProperties supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await producerClient.getEventHubProperties({ abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`getPartitionIds supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await producerClient.getPartitionIds({ abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`getPartitionProperties supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await producerClient.getPartitionProperties("0", { abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`createBatch supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await producerClient.createBatch({ abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + + it(`sendBatch supports cancellation (${caseType})`, async () => { + const abortSignal = getSignal(); + try { + await producerClient.sendBatch([{ body: "unsung hero" }], { abortSignal }); + throw new Error(TEST_FAILURE); + } catch (err) { + should.equal(err.name, "AbortError"); + should.equal(err.message, "The operation was aborted."); + } + }); + } + }); }); }); diff --git a/sdk/eventhub/event-hubs/test/public/eventData.spec.ts b/sdk/eventhub/event-hubs/test/public/eventData.spec.ts index 16105d656921..5b00ebf02e7d 100644 --- a/sdk/eventhub/event-hubs/test/public/eventData.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/eventData.spec.ts @@ -14,119 +14,134 @@ import { ReceivedEventData, Subscription } from "../../src"; +import { testWithServiceTypes } from "./utils/testWithServiceTypes"; +import { createMockServer } from "./utils/mockService"; const should = chai.should(); chai.use(chaiAsPromised); chai.use(chaiExclude); -const env = getEnvVars(); +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); -describe("EventData", function(): void { - let producerClient: EventHubProducerClient; - let consumerClient: EventHubConsumerClient; - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; + after("Stopping mock service", () => { + return service?.stop(); + }); + } - before("validate environment", function(): void { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); + describe("EventData", function(): void { + let producerClient: EventHubProducerClient; + let consumerClient: EventHubConsumerClient; + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; - beforeEach(async () => { - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - }); + before("validate environment", function(): void { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - afterEach("close the connection", async function(): Promise { - await producerClient.close(); - await consumerClient.close(); - }); + beforeEach(async () => { + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); + }); - function getSampleEventData(): EventData { - const randomTag = Math.random().toString(); + afterEach("close the connection", async function(): Promise { + await producerClient.close(); + await consumerClient.close(); + }); - return { - body: `message body ${randomTag}`, - contentEncoding: "application/json; charset=utf-8", - correlationId: randomTag, - messageId: v4() - } as EventData; - } + function getSampleEventData(): EventData { + const randomTag = Math.random().toString(); - /** - * Helper function that will receive a single event that comes after the starting positions. - * - * Note: Call this after sending a single event to Event Hubs to validate - * @internal - */ - async function receiveEvent(startingPositions: { - [partitionId: string]: EventPosition; - }): Promise { - return new Promise((resolve, reject) => { - const subscription: Subscription = consumerClient.subscribe( - { - async processError(err) { - reject(err); - return subscription.close(); - }, - async processEvents(events) { - if (events.length) { - resolve(events[0]); + return { + body: `message body ${randomTag}`, + contentEncoding: "application/json; charset=utf-8", + correlationId: randomTag, + messageId: v4() + } as EventData; + } + + /** + * Helper function that will receive a single event that comes after the starting positions. + * + * Note: Call this after sending a single event to Event Hubs to validate + * @internal + */ + async function receiveEvent(startingPositions: { + [partitionId: string]: EventPosition; + }): Promise { + return new Promise((resolve, reject) => { + const subscription: Subscription = consumerClient.subscribe( + { + async processError(err) { + reject(err); return subscription.close(); + }, + async processEvents(events) { + if (events.length) { + resolve(events[0]); + return subscription.close(); + } } + }, + { + startPosition: startingPositions } - }, - { - startPosition: startingPositions - } - ); - }); - } + ); + }); + } - describe("round-tripping AMQP encoding/decoding", () => { - it(`props`, async () => { - const startingPositions = await getStartingPositionsForTests(consumerClient); - const testEvent = getSampleEventData(); - await producerClient.sendBatch([testEvent]); + describe("round-tripping AMQP encoding/decoding", () => { + it(`props`, async () => { + const startingPositions = await getStartingPositionsForTests(consumerClient); + const testEvent = getSampleEventData(); + await producerClient.sendBatch([testEvent]); - const event = await receiveEvent(startingPositions); - should.equal(event.body, testEvent.body, "Unexpected body on the received event."); - should.equal( - event.contentType, - testEvent.contentType, - "Unexpected contentType on the received event." - ); - should.equal( - event.correlationId, - testEvent.correlationId, - "Unexpected correlationId on the received event." - ); - should.equal( - event.messageId, - testEvent.messageId, - "Unexpected messageId on the received event." - ); - }); + const event = await receiveEvent(startingPositions); + should.equal(event.body, testEvent.body, "Unexpected body on the received event."); + should.equal( + event.contentType, + testEvent.contentType, + "Unexpected contentType on the received event." + ); + should.equal( + event.correlationId, + testEvent.correlationId, + "Unexpected correlationId on the received event." + ); + should.equal( + event.messageId, + testEvent.messageId, + "Unexpected messageId on the received event." + ); + }); - it(`null body`, async () => { - const startingPositions = await getStartingPositionsForTests(consumerClient); - const testEvent: EventData = { body: null }; - await producerClient.sendBatch([testEvent]); + it(`null body`, async () => { + const startingPositions = await getStartingPositionsForTests(consumerClient); + const testEvent: EventData = { body: null }; + await producerClient.sendBatch([testEvent]); - const event = await receiveEvent(startingPositions); - should.equal(event.body, testEvent.body, "Unexpected body on the received event."); + const event = await receiveEvent(startingPositions); + should.equal(event.body, testEvent.body, "Unexpected body on the received event."); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/public/eventHubConsumerClient.spec.ts b/sdk/eventhub/event-hubs/test/public/eventHubConsumerClient.spec.ts index f83bc5a436f5..d037f84e70e6 100644 --- a/sdk/eventhub/event-hubs/test/public/eventHubConsumerClient.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/eventHubConsumerClient.spec.ts @@ -16,1270 +16,1285 @@ import { } from "../../src"; import debugModule from "debug"; const debug = debugModule("azure:event-hubs:receiver-spec"); -import { EnvVarKeys, getEnvVars, loopUntil, getStartingPositionsForTests } from "./utils/testUtils"; +import { EnvVarKeys, loopUntil, getStartingPositionsForTests, getEnvVars } from "./utils/testUtils"; import chai from "chai"; import { ReceivedMessagesTester } from "./utils/receivedMessagesTester"; import { LogTester } from "./utils/logHelpers"; import { TestInMemoryCheckpointStore } from "./utils/testInMemoryCheckpointStore"; +import { testWithServiceTypes } from "./utils/testWithServiceTypes"; +import { createMockServer } from "./utils/mockService"; const should = chai.should(); -const env = getEnvVars(); - -describe("EventHubConsumerClient", () => { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - - let producerClient: EventHubProducerClient; - let consumerClient: EventHubConsumerClient; - let partitionIds: string[]; - - before(() => { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - beforeEach("Creating the clients", async () => { - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - partitionIds = await producerClient.getPartitionIds({}); - }); - - afterEach("Closing the clients", () => { - return Promise.all([producerClient.close(), consumerClient.close()]); - }); - - describe("functional tests", () => { - let clients: EventHubConsumerClient[]; - let subscriptions: Subscription[]; - - beforeEach(() => { - // ensure we have at least 2 partitions - partitionIds.length.should.gte(2); - - clients = []; - subscriptions = []; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); }); - afterEach(async () => { - for (const subscription of subscriptions) { - await subscription.close(); - } + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("EventHubConsumerClient", () => { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + + let producerClient: EventHubProducerClient; + let consumerClient: EventHubConsumerClient; + let partitionIds: string[]; + + before(() => { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - await Promise.all(clients.map((client) => client.close())); - clients = []; + beforeEach("Creating the clients", async () => { + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); + partitionIds = await producerClient.getPartitionIds({}); }); - describe("#close()", function(): void { - it("stops any actively running subscriptions", async function(): Promise { - const client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); + afterEach("Closing the clients", () => { + return Promise.all([producerClient.close(), consumerClient.close()]); + }); - // Spin up multiple subscriptions. - for (const partitionId of partitionIds) { - subscriptions.push( - client.subscribe(partitionId, { - async processError() { - /* no-op for test */ - }, - async processEvents() { - /* no-op for test */ - } - }) - ); - } + describe("functional tests", () => { + let clients: EventHubConsumerClient[]; + let subscriptions: Subscription[]; - // Assert that the subscriptions are all running. - for (const subscription of subscriptions) { - subscription.isRunning.should.equal(true, "The subscription should be running."); - } + beforeEach(() => { + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); - // Stop the client, which should stop the subscriptions. - await client.close(); + clients = []; + subscriptions = []; + }); - // Assert that the subscriptions are all not running. + afterEach(async () => { for (const subscription of subscriptions) { - subscription.isRunning.should.equal(false, "The subscription should not be running."); + await subscription.close(); } - client["_subscriptions"].size.should.equal( - 0, - "Some dangling subscriptions are still hanging around!" - ); + await Promise.all(clients.map((client) => client.close())); + clients = []; }); - it("gracefully stops running subscriptions", async function(): Promise { - const client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - - const startingPositions = await getStartingPositionsForTests(client); + describe("#close()", function(): void { + it("stops any actively running subscriptions", async function(): Promise { + const client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); - let waitForInitializeResolver: () => void; - const waitForInitialize = new Promise( - (resolve) => (waitForInitializeResolver = resolve) - ); - let waitForCloseResolver: (reason: CloseReason) => void; - const waitForClose = new Promise( - (resolve) => (waitForCloseResolver = resolve) - ); - let unexpectedError: Error | undefined; - let eventsWereReceived = false; - - const subscription = client.subscribe( - partitionIds[0], - { - async processInitialize() { - waitForInitializeResolver(); - }, - async processError(err) { - unexpectedError = err; - }, - async processEvents() { - eventsWereReceived = true; - }, - async processClose(reason) { - waitForCloseResolver(reason); - } - }, - { - startPosition: startingPositions + // Spin up multiple subscriptions. + for (const partitionId of partitionIds) { + subscriptions.push( + client.subscribe(partitionId, { + async processError() { + /* no-op for test */ + }, + async processEvents() { + /* no-op for test */ + } + }) + ); } - ); - - // Assert that the subscription is running. - subscription.isRunning.should.equal(true, "The subscription should be running."); - - // Wait until we see a `processInitialze` handler get invoked. - // This lets us know that the subscription is starting to read from a partition. - await waitForInitialize; - - // Stop the client, which should stop the subscriptions. - await client.close(); - - // Ensure that the `processClose` handler was invoked with the expected reason. - const closeReason = await waitForClose; - closeReason.should.equal( - CloseReason.Shutdown, - "Subscription closed for an unexpected reason." - ); - - // Ensure no errors were thrown. - should.not.exist(unexpectedError, "Did not expect to observe an error."); - // Ensure the event handler wasn't called. - eventsWereReceived.should.equal(false, "Should not have received events."); + // Assert that the subscriptions are all running. + for (const subscription of subscriptions) { + subscription.isRunning.should.equal(true, "The subscription should be running."); + } - // Assert that the subscription is not running. - subscription.isRunning.should.equal(false, "The subscription should not be running."); + // Stop the client, which should stop the subscriptions. + await client.close(); - client["_subscriptions"].size.should.equal( - 0, - "Some dangling subscriptions are still hanging around!" - ); - }); - }); + // Assert that the subscriptions are all not running. + for (const subscription of subscriptions) { + subscription.isRunning.should.equal(false, "The subscription should not be running."); + } - describe("Reinitialize partition processing after error", function(): void { - it("when subscribed to single partition", async function(): Promise { - const partitionId = "0"; - const consumerClient1 = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - const consumerClient2 = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); + client["_subscriptions"].size.should.equal( + 0, + "Some dangling subscriptions are still hanging around!" + ); + }); - clients.push(consumerClient1, consumerClient2); - let subscription2: Subscription | undefined; - const subscriptionHandlers2: SubscriptionEventHandlers = { - async processError() { - /* no-op */ - }, - async processEvents() { - // stop this subscription since it already should have forced the 1st subscription to have an error. - await subscription2!.close(); - } - }; + it("gracefully stops running subscriptions", async function(): Promise { + const client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); - // keep track of the handlers called on subscription 1 - const handlerCalls = { - initialize: 0, - close: 0 - }; + const startingPositions = await getStartingPositionsForTests(client); - const subscription1 = consumerClient1.subscribe( - partitionId, - { - async processError() { - /* no-op */ - }, - async processEvents() { - if (!handlerCalls.close) { - // start the 2nd subscription that will kick the 1st subscription off - subscription2 = consumerClient2.subscribe(partitionId, subscriptionHandlers2, { - ownerLevel: 1, - maxBatchSize: 1, - maxWaitTimeInSeconds: 1 - }); - } else { - // stop this subscription, we know close was called so we've restarted - await subscription1.close(); + let waitForInitializeResolver: () => void; + const waitForInitialize = new Promise( + (resolve) => (waitForInitializeResolver = resolve) + ); + let waitForCloseResolver: (reason: CloseReason) => void; + const waitForClose = new Promise( + (resolve) => (waitForCloseResolver = resolve) + ); + let unexpectedError: Error | undefined; + let eventsWereReceived = false; + + const subscription = client.subscribe( + partitionIds[0], + { + async processInitialize() { + waitForInitializeResolver(); + }, + async processError(err) { + unexpectedError = err; + }, + async processEvents() { + eventsWereReceived = true; + }, + async processClose(reason) { + waitForCloseResolver(reason); } }, - async processClose() { - handlerCalls.close++; - }, - async processInitialize() { - handlerCalls.initialize++; + { + startPosition: startingPositions } - }, - { - maxBatchSize: 1, - maxWaitTimeInSeconds: 1 - } - ); + ); - await loopUntil({ - maxTimes: 10, - name: "Wait for subscription1 to recover", - timeBetweenRunsMs: 5000, - async until() { - return !subscription1.isRunning && !subscription2!.isRunning; - } - }); + // Assert that the subscription is running. + subscription.isRunning.should.equal(true, "The subscription should be running."); - // Initialize may be called multiple times while the 2nd subscription is running. - // We want to make sure it has been called at least twice to verify that subscription1 - // attempts to recover. - handlerCalls.initialize.should.be.greaterThan(1); - handlerCalls.close.should.be.greaterThan(1); - }); + // Wait until we see a `processInitialze` handler get invoked. + // This lets us know that the subscription is starting to read from a partition. + await waitForInitialize; - it("when subscribed to multiple partitions", async function(): Promise { - const consumerClient1 = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path, - { loadBalancingOptions: { updateIntervalInMs: 1000 } } - ); - const consumerClient2 = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path, - { loadBalancingOptions: { updateIntervalInMs: 1000 } } - ); + // Stop the client, which should stop the subscriptions. + await client.close(); - clients.push(consumerClient1, consumerClient2); + // Ensure that the `processClose` handler was invoked with the expected reason. + const closeReason = await waitForClose; + closeReason.should.equal( + CloseReason.Shutdown, + "Subscription closed for an unexpected reason." + ); - const partitionHandlerCalls: { - [partitionId: string]: { - initialize: number; - processEvents: boolean; - close: number; - }; - } = {}; + // Ensure no errors were thrown. + should.not.exist(unexpectedError, "Did not expect to observe an error."); - // keep track of the handlers called on subscription 1 - for (const id of partitionIds) { - partitionHandlerCalls[id] = { initialize: 0, processEvents: false, close: 0 }; - } + // Ensure the event handler wasn't called. + eventsWereReceived.should.equal(false, "Should not have received events."); - const subscriptionHandlers1: SubscriptionEventHandlers = { - async processError() { - /* no-op */ - }, - async processEvents(_, context) { - partitionHandlerCalls[context.partitionId].processEvents = true; - }, - async processClose(_, context) { - partitionHandlerCalls[context.partitionId].close++; - // reset processEvents count - partitionHandlerCalls[context.partitionId].processEvents = false; - }, - async processInitialize(context) { - partitionHandlerCalls[context.partitionId].initialize++; - } - }; + // Assert that the subscription is not running. + subscription.isRunning.should.equal(false, "The subscription should not be running."); - const subscription1 = consumerClient1.subscribe(subscriptionHandlers1, { - maxBatchSize: 1, - maxWaitTimeInSeconds: 1 + client["_subscriptions"].size.should.equal( + 0, + "Some dangling subscriptions are still hanging around!" + ); }); + }); - await loopUntil({ - maxTimes: 10, - name: "Wait for subscription1 to read from all partitions", - timeBetweenRunsMs: 1000, - async until() { - // wait until we've seen processEvents invoked for each partition. - return ( - partitionIds.filter((id) => { - return partitionHandlerCalls[id].processEvents; - }).length === partitionIds.length - ); - } - }); + describe("Reinitialize partition processing after error", function(): void { + it("when subscribed to single partition", async function(): Promise { + const partitionId = "0"; + const consumerClient1 = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); + const consumerClient2 = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); - const partitionsReadFromSub2 = new Set(); - const subscriptionHandlers2: SubscriptionEventHandlers = { - async processError() { - /* no-op */ - }, - async processEvents(_, context) { - partitionsReadFromSub2.add(context.partitionId); - } - }; + clients.push(consumerClient1, consumerClient2); + let subscription2: Subscription | undefined; + const subscriptionHandlers2: SubscriptionEventHandlers = { + async processError() { + /* no-op */ + }, + async processEvents() { + // stop this subscription since it already should have forced the 1st subscription to have an error. + await subscription2!.close(); + } + }; - // start 2nd subscription with an ownerLevel so it triggers the close handlers on the 1st subscription. - const subscription2 = consumerClient2.subscribe(subscriptionHandlers2, { - maxBatchSize: 1, - maxWaitTimeInSeconds: 1, - ownerLevel: 1 - }); + // keep track of the handlers called on subscription 1 + const handlerCalls = { + initialize: 0, + close: 0 + }; - await loopUntil({ - maxTimes: 10, - name: - "Wait for subscription2 to read from all partitions and subscription1 to invoke close handlers", - timeBetweenRunsMs: 1000, - async until() { - const sub1CloseHandlersCalled = Boolean( - partitionIds.filter((id) => { - return partitionHandlerCalls[id].close > 0; - }).length === partitionIds.length - ); - return partitionsReadFromSub2.size === partitionIds.length && sub1CloseHandlersCalled; - } - }); + const subscription1 = consumerClient1.subscribe( + partitionId, + { + async processError() { + /* no-op */ + }, + async processEvents() { + if (!handlerCalls.close) { + // start the 2nd subscription that will kick the 1st subscription off + subscription2 = consumerClient2.subscribe(partitionId, subscriptionHandlers2, { + ownerLevel: 1, + maxBatchSize: 1, + maxWaitTimeInSeconds: 1 + }); + } else { + // stop this subscription, we know close was called so we've restarted + await subscription1.close(); + } + }, + async processClose() { + handlerCalls.close++; + }, + async processInitialize() { + handlerCalls.initialize++; + } + }, + { + maxBatchSize: 1, + maxWaitTimeInSeconds: 1 + } + ); - // close subscription2 so subscription1 can recover. - await subscription2.close(); + await loopUntil({ + maxTimes: 10, + name: "Wait for subscription1 to recover", + timeBetweenRunsMs: 5000, + async until() { + return !subscription1.isRunning && !subscription2!.isRunning; + } + }); - await loopUntil({ - maxTimes: 10, - name: "Wait for subscription1 to recover", - timeBetweenRunsMs: 1000, - async until() { - // wait until we've seen an additional processEvent for each partition. - return ( - partitionIds.filter((id) => { - return partitionHandlerCalls[id].processEvents; - }).length === partitionIds.length - ); - } + // Initialize may be called multiple times while the 2nd subscription is running. + // We want to make sure it has been called at least twice to verify that subscription1 + // attempts to recover. + handlerCalls.initialize.should.be.greaterThan(1); + handlerCalls.close.should.be.greaterThan(1); }); - await subscription1.close(); - - for (const id of partitionIds) { - partitionHandlerCalls[id].initialize.should.be.greaterThan( - 1, - `Initialize on partition ${id} was not called more than 1 time.` + it("when subscribed to multiple partitions", async function(): Promise { + const consumerClient1 = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path, + { loadBalancingOptions: { updateIntervalInMs: 1000 } } ); - partitionHandlerCalls[id].close.should.be.greaterThan( - 1, - `Close on partition ${id} was not called more than 1 time.` + const consumerClient2 = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path, + { loadBalancingOptions: { updateIntervalInMs: 1000 } } ); - } - }); - }); - it("Receive from specific partitions, no coordination", async function(): Promise { - const logTester = new LogTester( - [ - "EventHubConsumerClient subscribing to specific partition (0), no checkpoint store.", - "Single partition target: 0", - "No partitions owned, skipping abandoning." - ], - [ - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger - ] - ); + clients.push(consumerClient1, consumerClient2); - const tester = new ReceivedMessagesTester(["0"], false); + const partitionHandlerCalls: { + [partitionId: string]: { + initialize: number; + processEvents: boolean; + close: number; + }; + } = {}; - clients.push( - new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path - ) - ); + // keep track of the handlers called on subscription 1 + for (const id of partitionIds) { + partitionHandlerCalls[id] = { initialize: 0, processEvents: false, close: 0 }; + } - const subscription = clients[0].subscribe("0", tester, { - startPosition: latestEventPosition - }); + const subscriptionHandlers1: SubscriptionEventHandlers = { + async processError() { + /* no-op */ + }, + async processEvents(_, context) { + partitionHandlerCalls[context.partitionId].processEvents = true; + }, + async processClose(_, context) { + partitionHandlerCalls[context.partitionId].close++; + // reset processEvents count + partitionHandlerCalls[context.partitionId].processEvents = false; + }, + async processInitialize(context) { + partitionHandlerCalls[context.partitionId].initialize++; + } + }; - subscriptions.push(subscription); + const subscription1 = consumerClient1.subscribe(subscriptionHandlers1, { + maxBatchSize: 1, + maxWaitTimeInSeconds: 1 + }); - await tester.runTestAndPoll(producerClient); - await subscription.close(); // or else we won't see the partition abandoning messages + await loopUntil({ + maxTimes: 10, + name: "Wait for subscription1 to read from all partitions", + timeBetweenRunsMs: 1000, + async until() { + // wait until we've seen processEvents invoked for each partition. + return ( + partitionIds.filter((id) => { + return partitionHandlerCalls[id].processEvents; + }).length === partitionIds.length + ); + } + }); - logTester.assert(); - }); + const partitionsReadFromSub2 = new Set(); + const subscriptionHandlers2: SubscriptionEventHandlers = { + async processError() { + /* no-op */ + }, + async processEvents(_, context) { + partitionsReadFromSub2.add(context.partitionId); + } + }; - it("Receive from all partitions, no coordination", async function(): Promise { - const logTester = new LogTester( - ["EventHubConsumerClient subscribing to all partitions, no checkpoint store."], - [ - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger - ] - ); + // start 2nd subscription with an ownerLevel so it triggers the close handlers on the 1st subscription. + const subscription2 = consumerClient2.subscribe(subscriptionHandlers2, { + maxBatchSize: 1, + maxWaitTimeInSeconds: 1, + ownerLevel: 1 + }); - const tester = new ReceivedMessagesTester(partitionIds, false); + await loopUntil({ + maxTimes: 10, + name: + "Wait for subscription2 to read from all partitions and subscription1 to invoke close handlers", + timeBetweenRunsMs: 1000, + async until() { + const sub1CloseHandlersCalled = Boolean( + partitionIds.filter((id) => { + return partitionHandlerCalls[id].close > 0; + }).length === partitionIds.length + ); + return partitionsReadFromSub2.size === partitionIds.length && sub1CloseHandlersCalled; + } + }); - clients.push( - new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path - ) - ); + // close subscription2 so subscription1 can recover. + await subscription2.close(); + + await loopUntil({ + maxTimes: 10, + name: "Wait for subscription1 to recover", + timeBetweenRunsMs: 1000, + async until() { + // wait until we've seen an additional processEvent for each partition. + return ( + partitionIds.filter((id) => { + return partitionHandlerCalls[id].processEvents; + }).length === partitionIds.length + ); + } + }); - const subscription = clients[0].subscribe(tester, { - startPosition: latestEventPosition - }); + await subscription1.close(); - await tester.runTestAndPoll(producerClient); - subscriptions.push(subscription); + for (const id of partitionIds) { + partitionHandlerCalls[id].initialize.should.be.greaterThan( + 1, + `Initialize on partition ${id} was not called more than 1 time.` + ); + partitionHandlerCalls[id].close.should.be.greaterThan( + 1, + `Close on partition ${id} was not called more than 1 time.` + ); + } + }); + }); - logTester.assert(); - }); + it("Receive from specific partitions, no coordination", async function(): Promise { + const logTester = new LogTester( + [ + "EventHubConsumerClient subscribing to specific partition (0), no checkpoint store.", + "Single partition target: 0", + "No partitions owned, skipping abandoning." + ], + [ + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger + ] + ); - it("Receive from all partitions, no coordination but through multiple subscribe() calls", async function(): Promise< - void - > { - const logTester = new LogTester( - [ - ...partitionIds.map( - (partitionId) => - `EventHubConsumerClient subscribing to specific partition (${partitionId}), no checkpoint store.`, - `Abandoning owned partitions` - ), - ...partitionIds.map((partitionId) => `Single partition target: ${partitionId}`) - ], - [ - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger - ] - ); + const tester = new ReceivedMessagesTester(["0"], false); - const tester = new ReceivedMessagesTester(partitionIds, false); + clients.push( + new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path + ) + ); - clients.push( - new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path - ) - ); + const startPosition = await getStartingPositionsForTests(clients[0]); + const subscription = clients[0].subscribe("0", tester, { startPosition }); - for (const partitionId of await partitionIds) { - const subscription = clients[0].subscribe(partitionId, tester, { - startPosition: latestEventPosition - }); subscriptions.push(subscription); - } - - await tester.runTestAndPoll(producerClient); - logTester.assert(); - }); + await tester.runTestAndPoll(producerClient); + await subscription.close(); // or else we won't see the partition abandoning messages - it("Receive from all partitions, coordinating with the same partition manager and using the default LoadBalancingStrategy", async function(): Promise< - void - > { - // fast forward our partition manager so it starts reading from the latest offset - // instead of the beginning of time. - const logTester = new LogTester( - [ - "EventHubConsumerClient subscribing to all partitions, using a checkpoint store.", - /Starting event processor with ID /, - "Abandoning owned partitions" - ], - [ - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger - ] - ); + logTester.assert(); + }); - const checkpointStore = new TestInMemoryCheckpointStore(); + it("Receive from all partitions, no coordination", async function(): Promise { + const logTester = new LogTester( + ["EventHubConsumerClient subscribing to all partitions, no checkpoint store."], + [ + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger + ] + ); - clients.push( - new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // specifying your own checkpoint store activates the "production ready" code path that - checkpointStore - // also uses the BalancedLoadBalancingStrategy - ) - ); + const tester = new ReceivedMessagesTester(partitionIds, false); - const tester = new ReceivedMessagesTester(partitionIds, true); + clients.push( + new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path + ) + ); - const subscriber1 = clients[0].subscribe(tester, { - startPosition: latestEventPosition - }); - subscriptions.push(subscriber1); + const startPosition = await getStartingPositionsForTests(clients[0]); + const subscription = clients[0].subscribe(tester, { startPosition }); - clients.push( - new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path - // specifying your own checkpoint store activates the "production ready" code path that - // also uses the BalancedLoadBalancingStrategy - ) - ); + await tester.runTestAndPoll(producerClient); + subscriptions.push(subscription); - const subscriber2 = clients[1].subscribe(tester, { - startPosition: latestEventPosition + logTester.assert(); }); - subscriptions.push(subscriber2); - - await tester.runTestAndPoll(producerClient); - // or else we won't see the abandoning message - for (const subscription of subscriptions) { - await subscription.close(); - } - logTester.assert(); - }); - - it("Receive from all partitions, coordinating with the same partition manager and using the GreedyLoadBalancingStrategy", async function(): Promise< - void - > { - // fast forward our partition manager so it starts reading from the latest offset - // instead of the beginning of time. - const logTester = new LogTester( - [ - "EventHubConsumerClient subscribing to all partitions, using a checkpoint store.", - /Starting event processor with ID /, - "Abandoning owned partitions" - ], - [ - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger, - logger.verbose as debug.Debugger - ] - ); - - const checkpointStore = new TestInMemoryCheckpointStore(); + it("Receive from all partitions, no coordination but through multiple subscribe() calls", async function(): Promise< + void + > { + const logTester = new LogTester( + [ + ...partitionIds.map( + (partitionId) => + `EventHubConsumerClient subscribing to specific partition (${partitionId}), no checkpoint store.`, + `Abandoning owned partitions` + ), + ...partitionIds.map((partitionId) => `Single partition target: ${partitionId}`) + ], + [ + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger + ] + ); - clients.push( - new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // specifying your own checkpoint store activates the "production ready" code path that - { - loadBalancingOptions: { - strategy: "greedy" - } - } - ) - ); + const tester = new ReceivedMessagesTester(partitionIds, false); - const tester = new ReceivedMessagesTester(partitionIds, true); + clients.push( + new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path + ) + ); - const subscriber1 = clients[0].subscribe(tester, { - startPosition: latestEventPosition - }); - subscriptions.push(subscriber1); + const startPosition = await getStartingPositionsForTests(clients[0]); + for (const partitionId of await partitionIds) { + const subscription = clients[0].subscribe(partitionId, tester, { startPosition }); + subscriptions.push(subscription); + } - clients.push( - new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString!, - service.path, - // specifying your own checkpoint store activates the "production ready" code path that - checkpointStore, - { - loadBalancingOptions: { - strategy: "greedy" - } - } - ) - ); + await tester.runTestAndPoll(producerClient); - const subscriber2 = clients[1].subscribe(tester, { - startPosition: latestEventPosition + logTester.assert(); }); - subscriptions.push(subscriber2); - await tester.runTestAndPoll(producerClient); - - // or else we won't see the abandoning message - for (const subscription of subscriptions) { - await subscription.close(); - } - logTester.assert(); - }); + it("Receive from all partitions, coordinating with the same partition manager and using the default LoadBalancingStrategy", async function(): Promise< + void + > { + // fast forward our partition manager so it starts reading from the latest offset + // instead of the beginning of time. + const logTester = new LogTester( + [ + "EventHubConsumerClient subscribing to all partitions, using a checkpoint store.", + /Starting event processor with ID /, + "Abandoning owned partitions" + ], + [ + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger + ] + ); - it("Stops receiving events if close is immediately called, single partition.", async function(): Promise< - void - > { - const partitionId = "0"; - const client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); + const checkpointStore = new TestInMemoryCheckpointStore(); + + clients.push( + new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // specifying your own checkpoint store activates the "production ready" code path that + checkpointStore + // also uses the BalancedLoadBalancingStrategy + ) + ); + const startPosition = await getStartingPositionsForTests(clients[0]); - clients.push(client); - - let initializeCalled = 0; - let closeCalled = 0; - - const subscription = client.subscribe(partitionId, { - async processError() { - /* no-op */ - }, - async processEvents() { - /* no-op */ - }, - async processClose() { - closeCalled++; - }, - async processInitialize() { - initializeCalled++; - } - }); + const tester = new ReceivedMessagesTester(partitionIds, true); - await subscription.close(); + const subscriber1 = clients[0].subscribe(tester, { startPosition }); + subscriptions.push(subscriber1); - await loopUntil({ - maxTimes: 10, - name: "Wait for the subscription to stop running.", - timeBetweenRunsMs: 100, - async until() { - return !subscription.isRunning; - } - }); + clients.push( + new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path + // specifying your own checkpoint store activates the "production ready" code path that + // also uses the BalancedLoadBalancingStrategy + ) + ); - // If `processInitialize` is called, then `processClose` should be called as well. - // Otherwise, we shouldn't see either called. - initializeCalled.should.equal( - closeCalled, - "processClose was not called the same number of times as processInitialize." - ); - }); + const subscriber2 = clients[1].subscribe(tester, { startPosition }); + subscriptions.push(subscriber2); - it("Stops receiving events if close is immediately called, multiple partitions.", async function(): Promise< - void - > { - const client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); + await tester.runTestAndPoll(producerClient); - clients.push(client); - - let initializeCalled = 0; - let closeCalled = 0; - - const subscription = client.subscribe({ - async processError() { - /* no-op */ - }, - async processEvents() { - /* no-op */ - }, - async processClose() { - closeCalled++; - }, - async processInitialize() { - initializeCalled++; + // or else we won't see the abandoning message + for (const subscription of subscriptions) { + await subscription.close(); } + logTester.assert(); }); - await subscription.close(); + it("Receive from all partitions, coordinating with the same partition manager and using the GreedyLoadBalancingStrategy", async function(): Promise< + void + > { + // fast forward our partition manager so it starts reading from the latest offset + // instead of the beginning of time. + const logTester = new LogTester( + [ + "EventHubConsumerClient subscribing to all partitions, using a checkpoint store.", + /Starting event processor with ID /, + "Abandoning owned partitions" + ], + [ + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger, + logger.verbose as debug.Debugger + ] + ); + + const checkpointStore = new TestInMemoryCheckpointStore(); + + clients.push( + new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // specifying your own checkpoint store activates the "production ready" code path that + { + loadBalancingOptions: { + strategy: "greedy" + } + } + ) + ); + + const tester = new ReceivedMessagesTester(partitionIds, true); + + const startPosition = await getStartingPositionsForTests(clients[0]); + const subscriber1 = clients[0].subscribe(tester, { startPosition }); + subscriptions.push(subscriber1); + + clients.push( + new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString!, + service.path, + // specifying your own checkpoint store activates the "production ready" code path that + checkpointStore, + { + loadBalancingOptions: { + strategy: "greedy" + } + } + ) + ); + + const subscriber2 = clients[1].subscribe(tester, { startPosition }); + subscriptions.push(subscriber2); - await loopUntil({ - maxTimes: 10, - name: "Wait for the subscription to stop running.", - timeBetweenRunsMs: 100, - async until() { - return !subscription.isRunning; + await tester.runTestAndPoll(producerClient); + + // or else we won't see the abandoning message + for (const subscription of subscriptions) { + await subscription.close(); } + logTester.assert(); }); - // If `processInitialize` is called, then `processClose` should be called as well. - // Otherwise, we shouldn't see either called. - initializeCalled.should.equal( - closeCalled, - "processClose was not called the same number of times as processInitialize." - ); - }); - - describe("processError", function(): void { - it("supports awaiting subscription.close on non partition-specific errors", async function(): Promise< + it("Stops receiving events if close is immediately called, single partition.", async function(): Promise< void > { - // Use an invalid Event Hub name to trigger a non partition-specific error. + const partitionId = "0"; const client = new EventHubConsumerClient( EventHubConsumerClient.defaultConsumerGroupName, service.connectionString, - "Fake-Hub" + service.path ); - let subscription: Subscription; - const caughtErr: Error = await new Promise((resolve) => { - subscription = client.subscribe({ - processEvents: async () => { - /* no-op */ - }, - processError: async (err, context) => { - if (!context.partitionId) { - await subscription.close(); - resolve(err); - } - } - }); + clients.push(client); + + let initializeCalled = 0; + let closeCalled = 0; + + const subscription = client.subscribe(partitionId, { + async processError() { + /* no-op */ + }, + async processEvents() { + /* no-op */ + }, + async processClose() { + closeCalled++; + }, + async processInitialize() { + initializeCalled++; + } }); - should.exist(caughtErr); + await subscription.close(); + + await loopUntil({ + maxTimes: 10, + name: "Wait for the subscription to stop running.", + timeBetweenRunsMs: 100, + async until() { + return !subscription.isRunning; + } + }); - await client.close(); + // If `processInitialize` is called, then `processClose` should be called as well. + // Otherwise, we shouldn't see either called. + initializeCalled.should.equal( + closeCalled, + "processClose was not called the same number of times as processInitialize." + ); }); - it("supports awaiting subscription.close on partition-specific errors", async function(): Promise< + it("Stops receiving events if close is immediately called, multiple partitions.", async function(): Promise< void > { - // Use an invalid Event Hub name to trigger a non partition-specific error. const client = new EventHubConsumerClient( EventHubConsumerClient.defaultConsumerGroupName, service.connectionString, service.path ); - let subscription: Subscription; - const caughtErr: Error = await new Promise((resolve) => { - // Subscribe to an invalid partition id to trigger a partition-specific error. - subscription = client.subscribe("-1", { - processEvents: async () => { - /* no-op */ - }, - processError: async (err, context) => { - if (context.partitionId) { - await subscription.close(); - resolve(err); - } - } - }); - }); + clients.push(client); - should.exist(caughtErr); + let initializeCalled = 0; + let closeCalled = 0; - await client.close(); - }); - }); - }); - - describe("subscribe() with partitionId 0 as number", function(): void { - it("should not throw an error", async function(): Promise { - let subscription: Subscription | undefined; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - // @ts-expect-error number for partitionId should work even if type is string - 0, - { - processEvents: async () => { - resolve(); - }, - processError: async (err) => { - reject(err); - } + const subscription = client.subscribe({ + async processError() { + /* no-op */ }, - { - startPosition: latestEventPosition, - maxWaitTimeInSeconds: 0 // Set timeout of 0 to resolve the promise ASAP - } - ); - }); - await subscription!.close(); - }); - }); - - describe("subscribe() with EventPosition specified as", function(): void { - let partitionId: string; - let eventSentBeforeSubscribe: EventData; - let eventsSentAfterSubscribe: EventData[]; - - beforeEach(async () => { - partitionId = partitionIds[0]; - - eventSentBeforeSubscribe = { - body: "Hello awesome world " + Math.random() - }; - await producerClient.sendBatch([eventSentBeforeSubscribe], { partitionId }); - - eventsSentAfterSubscribe = []; - for (let i = 0; i < 5; i++) { - eventsSentAfterSubscribe.push({ - body: "Hello awesome world " + Math.random(), - properties: { - stamp: Math.random() + async processEvents() { + /* no-op */ + }, + async processClose() { + closeCalled++; + }, + async processInitialize() { + initializeCalled++; } }); - } - }); - it("'from end of stream' should receive messages correctly", async function(): Promise { - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 0, "Received events when none were sent yet."); - await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); - return; - } - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); - } - }, - processError: async (err) => { - reject(err); - } - }, - { - startPosition: latestEventPosition, - maxWaitTimeInSeconds: 30 + await subscription.close(); + + await loopUntil({ + maxTimes: 10, + name: "Wait for the subscription to stop running.", + timeBetweenRunsMs: 100, + async until() { + return !subscription.isRunning; } + }); + + // If `processInitialize` is called, then `processClose` should be called as well. + // Otherwise, we shouldn't see either called. + initializeCalled.should.equal( + closeCalled, + "processClose was not called the same number of times as processInitialize." ); }); - await subscription!.close(); - if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { - should.fail("Received event sent before subscribe call with latestEventPosition."); - } + describe("processError", function(): void { + it("supports awaiting subscription.close on non partition-specific errors", async function(): Promise< + void + > { + // Use an invalid Event Hub name to trigger a non partition-specific error. + const client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + "Fake-Hub" + ); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp - ); - } - }); + let subscription: Subscription; + const caughtErr: Error = await new Promise((resolve) => { + subscription = client.subscribe({ + processEvents: async () => { + /* no-op */ + }, + processError: async (err, context) => { + if (!context.partitionId) { + await subscription.close(); + resolve(err); + } + } + }); + }); + + should.exist(caughtErr); + + await client.close(); + }); + + it("supports awaiting subscription.close on partition-specific errors", async function(): Promise< + void + > { + // Use an invalid Event Hub name to trigger a non partition-specific error. + const client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); - it("'after a particular sequence number' should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 0, "Received events when none were sent yet."); - await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); - return; + let subscription: Subscription; + const caughtErr: Error = await new Promise((resolve) => { + // Subscribe to an invalid partition id to trigger a partition-specific error. + subscription = client.subscribe("-1", { + processEvents: async () => { + /* no-op */ + }, + processError: async (err, context) => { + if (context.partitionId) { + await subscription.close(); + resolve(err); + } } - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { + }); + }); + + should.exist(caughtErr); + + await client.close(); + }); + }); + }); + + describe("subscribe() with partitionId 0 as number", function(): void { + it("should not throw an error", async function(): Promise { + let subscription: Subscription | undefined; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + // @ts-expect-error number for partitionId should work even if type is string + 0, + { + processEvents: async () => { resolve(); + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: latestEventPosition, + maxWaitTimeInSeconds: 0 // Set timeout of 0 to resolve the promise ASAP } - }, - { - startPosition: { sequenceNumber: partitionInfo.lastEnqueuedSequenceNumber }, - maxWaitTimeInSeconds: 30 - } - ); + ); + }); + await subscription!.close(); }); - await subscription!.close(); - - if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { - should.fail("Received event sent before subscribe call with last sequence number."); - } - - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp - ); - } }); - it("'after a particular sequence number' with isInclusive should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 1, "Expected 1 event sent right before subscribe call."); - should.equal( - data[0].body, - eventSentBeforeSubscribe.body, - "Should have received only the 1 event sent right before subscribe call." - ); + describe("subscribe() with EventPosition specified as", function(): void { + let partitionId: string; + let eventSentBeforeSubscribe: EventData; + let eventsSentAfterSubscribe: EventData[]; - await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); - return; - } + beforeEach(async () => { + partitionId = partitionIds[0]; - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); + eventSentBeforeSubscribe = { + body: "Hello awesome world " + Math.random() + }; + await producerClient.sendBatch([eventSentBeforeSubscribe], { partitionId }); + + eventsSentAfterSubscribe = []; + for (let i = 0; i < 5; i++) { + eventsSentAfterSubscribe.push({ + body: "Hello awesome world " + Math.random(), + properties: { + stamp: Math.random() + } + }); + } + }); + + it("'from end of stream' should receive messages correctly", async function(): Promise { + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal(data.length, 0, "Received events when none were sent yet."); + await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); + return; + } + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: latestEventPosition, + maxWaitTimeInSeconds: 30 } - }, - { - startPosition: { - sequenceNumber: partitionInfo.lastEnqueuedSequenceNumber, - isInclusive: true - }, - maxWaitTimeInSeconds: 30 - } - ); - }); - await subscription!.close(); + ); + }); + await subscription!.close(); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); + if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { + should.fail("Received event sent before subscribe call with latestEventPosition."); + } - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); - } - }); + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } + }); - it("'after a particular offset' should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 0, "Received events when none were sent yet."); - await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); - return; - } - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); + it("'after a particular sequence number' should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal(data.length, 0, "Received events when none were sent yet."); + await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); + return; + } + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: { sequenceNumber: partitionInfo.lastEnqueuedSequenceNumber }, + maxWaitTimeInSeconds: 30 } - }, - { - startPosition: { offset: partitionInfo.lastEnqueuedOffset }, - maxWaitTimeInSeconds: 30 - } + ); + }); + await subscription!.close(); + + if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { + should.fail("Received event sent before subscribe call with last sequence number."); + } + + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } }); - await subscription!.close(); - if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { - should.fail("Received event sent before subscribe call with last offset."); - } + it("'after a particular sequence number' with isInclusive should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal( + data.length, + 1, + "Expected 1 event sent right before subscribe call." + ); + should.equal( + data[0].body, + eventSentBeforeSubscribe.body, + "Should have received only the 1 event sent right before subscribe call." + ); + + await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); + return; + } + + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); + } + }, + { + startPosition: { + sequenceNumber: partitionInfo.lastEnqueuedSequenceNumber, + isInclusive: true + }, + maxWaitTimeInSeconds: 30 + } + ); + }); + await subscription!.close(); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); - } - }); - it("'after a particular offset' with isInclusive should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 1, "Expected 1 event sent right before subscribe call."); - should.equal( - data[0].body, - eventSentBeforeSubscribe.body, - "Should have received only the 1 event sent right before subscribe call." - ); + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } + }); - await producerClient.sendBatch(eventsSentAfterSubscribe, { - partitionId - }); - return; + it("'after a particular offset' should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal(data.length, 0, "Received events when none were sent yet."); + await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); + return; + } + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } + }, + { + startPosition: { offset: partitionInfo.lastEnqueuedOffset }, + maxWaitTimeInSeconds: 30 + } + ); + }); + await subscription!.close(); - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); + if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { + should.fail("Received event sent before subscribe call with last offset."); + } + + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." + ); + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } + }); + + it("'after a particular offset' with isInclusive should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal( + data.length, + 1, + "Expected 1 event sent right before subscribe call." + ); + should.equal( + data[0].body, + eventSentBeforeSubscribe.body, + "Should have received only the 1 event sent right before subscribe call." + ); + + await producerClient.sendBatch(eventsSentAfterSubscribe, { + partitionId + }); + return; + } + + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: { + offset: partitionInfo.lastEnqueuedOffset, + isInclusive: true + }, + maxWaitTimeInSeconds: 30 } - }, - { - startPosition: { - offset: partitionInfo.lastEnqueuedOffset, - isInclusive: true - }, - maxWaitTimeInSeconds: 30 - } + ); + }); + await subscription!.close(); + + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); + + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } }); - await subscription!.close(); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); + it("'after a particular enqueued time' should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal(data.length, 0, "Received events when none were sent yet."); + await producerClient.sendBatch(eventsSentAfterSubscribe, { + partitionId + }); + return; + } + + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); + } + }, + { + startPosition: { enqueuedOn: partitionInfo.lastEnqueuedOnUtc }, + maxWaitTimeInSeconds: 30 + } + ); + }); + await subscription!.close(); + + if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { + should.fail("Received event sent before subscribe call with last offset."); + } - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); - } + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } + }); }); - it("'after a particular enqueued time' should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 0, "Received events when none were sent yet."); - await producerClient.sendBatch(eventsSentAfterSubscribe, { - partitionId - }); - return; - } + describe("subscribe() with trackLastEnqueuedEventProperties", function(): void { + it("should have lastEnqueuedEventProperties populated", async function(): Promise { + const partitionId = partitionIds[0]; + + const eventData = { body: "Hello awesome world " + Math.random() }; + await producerClient.sendBatch([eventData], { partitionId }); + debug("sent: ", eventData); + + const pInfo = await consumerClient.getPartitionProperties(partitionId); + debug("partition info: ", pInfo); + + let subscription: Subscription | undefined; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data, context) => { + data.length.should.equal(1); + should.exist(context.lastEnqueuedEventProperties); + context.lastEnqueuedEventProperties!.offset!.should.equal(pInfo.lastEnqueuedOffset); + context.lastEnqueuedEventProperties!.sequenceNumber!.should.equal( + pInfo.lastEnqueuedSequenceNumber + ); + context + .lastEnqueuedEventProperties!.enqueuedOn!.getTime() + .should.equal(pInfo.lastEnqueuedOnUtc.getTime()); + context + .lastEnqueuedEventProperties!.retrievedOn!.getTime() + .should.be.greaterThan(Date.now() - 60000); - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { resolve(); + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: earliestEventPosition, + maxBatchSize: 1, + trackLastEnqueuedEventProperties: true } - }, - { - startPosition: { enqueuedOn: partitionInfo.lastEnqueuedOnUtc }, - maxWaitTimeInSeconds: 30 - } - ); + ); + }); + await subscription!.close(); }); - await subscription!.close(); - - if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { - should.fail("Received event sent before subscribe call with last offset."); - } + }); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp + describe("Negative scenarios", function(): void { + it("should throw MessagingEntityNotFoundError for non existing consumer group", async function(): Promise< + void + > { + const badConsumerClient = new EventHubConsumerClient( + "boo", + service.connectionString, + service.path ); - } - }); - }); - - describe("subscribe() with trackLastEnqueuedEventProperties", function(): void { - it("should have lastEnqueuedEventProperties populated", async function(): Promise { - const partitionId = partitionIds[0]; - - const eventData = { body: "Hello awesome world " + Math.random() }; - await producerClient.sendBatch([eventData], { partitionId }); - debug("sent: ", eventData); - - const pInfo = await consumerClient.getPartitionProperties(partitionId); - debug("partition info: ", pInfo); - - let subscription: Subscription | undefined; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data, context) => { - data.length.should.equal(1); - should.exist(context.lastEnqueuedEventProperties); - context.lastEnqueuedEventProperties!.offset!.should.equal(pInfo.lastEnqueuedOffset); - context.lastEnqueuedEventProperties!.sequenceNumber!.should.equal( - pInfo.lastEnqueuedSequenceNumber - ); - context - .lastEnqueuedEventProperties!.enqueuedOn!.getTime() - .should.equal(pInfo.lastEnqueuedOnUtc.getTime()); - context - .lastEnqueuedEventProperties!.retrievedOn!.getTime() - .should.be.greaterThan(Date.now() - 60000); - - resolve(); + let subscription: Subscription | undefined; + const caughtErr = await new Promise((resolve) => { + subscription = badConsumerClient.subscribe({ + processEvents: async () => { + /** Nothing to do here */ }, processError: async (err) => { - reject(err); + resolve(err); } - }, - { - startPosition: earliestEventPosition, - maxBatchSize: 1, - trackLastEnqueuedEventProperties: true - } - ); - }); - await subscription!.close(); - }); - }); - - describe("Negative scenarios", function(): void { - it("should throw MessagingEntityNotFoundError for non existing consumer group", async function(): Promise< - void - > { - const badConsumerClient = new EventHubConsumerClient( - "boo", - service.connectionString, - service.path - ); - let subscription: Subscription | undefined; - const caughtErr = await new Promise((resolve) => { - subscription = badConsumerClient.subscribe({ - processEvents: async () => { - /** Nothing to do here */ - }, - processError: async (err) => { - resolve(err); - } + }); }); - }); - await subscription!.close(); - await badConsumerClient.close(); + await subscription!.close(); + await badConsumerClient.close(); - should.exist(caughtErr); - should.equal((caughtErr as MessagingError).code, "MessagingEntityNotFoundError"); - }); + should.exist(caughtErr); + should.equal((caughtErr as MessagingError).code, "MessagingEntityNotFoundError"); + }); - it(`should throw an invalid EventHub address error for invalid partition`, async function(): Promise< - void - > { - let subscription: Subscription | undefined; - const caughtErr = await new Promise((resolve) => { - subscription = consumerClient.subscribe("boo", { - processEvents: async () => { - /** Nothing to do here */ - }, - processError: async (err) => { - resolve(err); - } + it(`should throw an invalid EventHub address error for invalid partition`, async function(): Promise< + void + > { + let subscription: Subscription | undefined; + const caughtErr = await new Promise((resolve) => { + subscription = consumerClient.subscribe("boo", { + processEvents: async () => { + /** Nothing to do here */ + }, + processError: async (err) => { + resolve(err); + } + }); }); + await subscription!.close(); + should.exist(caughtErr); + should.equal((caughtErr as MessagingError).code, "ArgumentOutOfRangeError"); }); - await subscription!.close(); - should.exist(caughtErr); - should.equal((caughtErr as MessagingError).code, "ArgumentOutOfRangeError"); }); - }); -}).timeout(120000); + }).timeout(120000); +}); diff --git a/sdk/eventhub/event-hubs/test/public/hubruntime.spec.ts b/sdk/eventhub/event-hubs/test/public/hubruntime.spec.ts index fee9f2f05dca..2914c1567841 100644 --- a/sdk/eventhub/event-hubs/test/public/hubruntime.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/hubruntime.spec.ts @@ -9,411 +9,435 @@ import debugModule from "debug"; const debug = debugModule("azure:event-hubs:hubruntime-spec"); import { EnvVarKeys, getEnvVars, setTracerForTest } from "./utils/testUtils"; import { setSpan, context } from "@azure/core-tracing"; -const env = getEnvVars(); import { SpanGraph } from "@azure/test-utils"; import { EventHubProducerClient, EventHubConsumerClient, MessagingError } from "../../src"; +import { testWithServiceTypes } from "./utils/testWithServiceTypes"; +import { createMockServer } from "./utils/mockService"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); -describe("RuntimeInformation", function(): void { - let producerClient: EventHubProducerClient; - let consumerClient: EventHubConsumerClient; - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - before("validate environment", function(): void { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - beforeEach(async () => { - debug("Creating the clients.."); - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - }); - - afterEach("close the connection", async function(): Promise { - await producerClient.close(); - await consumerClient.close(); - }); - - function arrayOfIncreasingNumbersFromZero(length: any): Array { - const result = new Array(length); - for (let i = 0; i < length; i++) { - result[i] = `${i}`; - } - return result; + after("Stopping mock service", () => { + return service?.stop(); + }); } - describe("getPartitionIds", function(): void { - it("EventHubProducerClient returns an array of partition IDs", async function(): Promise { - const ids = await producerClient.getPartitionIds({}); - ids.should.have.members(arrayOfIncreasingNumbersFromZero(ids.length)); + describe("RuntimeInformation", function(): void { + let producerClient: EventHubProducerClient; + let consumerClient: EventHubConsumerClient; + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + before("validate environment", function(): void { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); }); - it("EventHubConsumerClient returns an array of partition IDs", async function(): Promise { - const ids = await consumerClient.getPartitionIds({}); - ids.should.have.members(arrayOfIncreasingNumbersFromZero(ids.length)); + beforeEach(async () => { + debug("Creating the clients.."); + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); }); - it("EventHubProducerClient can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); - - const rootSpan = tracer.startSpan("root"); - const ids = await producerClient.getPartitionIds({ - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) - } - }); - ids.should.have.members(arrayOfIncreasingNumbersFromZero(ids.length)); - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root span."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.getEventHubProperties", - children: [] - } - ] - } - ] - }; - - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); + afterEach("close the connection", async function(): Promise { + await producerClient.close(); + await consumerClient.close(); }); - it("EventHubConsumerClient can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + function arrayOfIncreasingNumbersFromZero(length: any): Array { + const result = new Array(length); + for (let i = 0; i < length; i++) { + result[i] = `${i}`; + } + return result; + } - const rootSpan = tracer.startSpan("root"); - const ids = await consumerClient.getPartitionIds({ - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) - } + describe("getPartitionIds", function(): void { + it("EventHubProducerClient returns an array of partition IDs", async function(): Promise< + void + > { + const ids = await producerClient.getPartitionIds({}); + ids.should.have.members(arrayOfIncreasingNumbersFromZero(ids.length)); }); - ids.should.have.members(arrayOfIncreasingNumbersFromZero(ids.length)); - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root span."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.getEventHubProperties", - children: [] - } - ] - } - ] - }; - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); - }); - }); + it("EventHubConsumerClient returns an array of partition IDs", async function(): Promise< + void + > { + const ids = await consumerClient.getPartitionIds({}); + ids.should.have.members(arrayOfIncreasingNumbersFromZero(ids.length)); + }); - describe("hub runtime information", function(): void { - it("EventHubProducerClient gets the hub runtime information", async function(): Promise { - const hubRuntimeInfo = await producerClient.getEventHubProperties(); - debug(hubRuntimeInfo); - hubRuntimeInfo.name.should.equal(service.path); + it("EventHubProducerClient can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - hubRuntimeInfo.partitionIds.should.have.members( - arrayOfIncreasingNumbersFromZero(hubRuntimeInfo.partitionIds.length) - ); - hubRuntimeInfo.createdOn.should.be.instanceof(Date); - }); + const rootSpan = tracer.startSpan("root"); + const ids = await producerClient.getPartitionIds({ + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) + } + }); + ids.should.have.members(arrayOfIncreasingNumbersFromZero(ids.length)); + rootSpan.end(); + + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root span."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.getEventHubProperties", + children: [] + } + ] + } + ] + }; + + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); - it("EventHubConsumerClient gets the hub runtime information", async function(): Promise { - const hubRuntimeInfo = await consumerClient.getEventHubProperties(); - debug(hubRuntimeInfo); - hubRuntimeInfo.name.should.equal(service.path); + it("EventHubConsumerClient can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - hubRuntimeInfo.partitionIds.should.have.members( - arrayOfIncreasingNumbersFromZero(hubRuntimeInfo.partitionIds.length) - ); - hubRuntimeInfo.createdOn.should.be.instanceof(Date); + const rootSpan = tracer.startSpan("root"); + const ids = await consumerClient.getPartitionIds({ + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) + } + }); + ids.should.have.members(arrayOfIncreasingNumbersFromZero(ids.length)); + rootSpan.end(); + + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root span."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.getEventHubProperties", + children: [] + } + ] + } + ] + }; + + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); }); - it("EventHubProducerClient can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + describe("hub runtime information", function(): void { + it("EventHubProducerClient gets the hub runtime information", async function(): Promise< + void + > { + const hubRuntimeInfo = await producerClient.getEventHubProperties(); + debug(hubRuntimeInfo); + hubRuntimeInfo.name.should.equal(service.path); - const rootSpan = tracer.startSpan("root"); - const hubRuntimeInfo = await producerClient.getEventHubProperties({ - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) - } + hubRuntimeInfo.partitionIds.should.have.members( + arrayOfIncreasingNumbersFromZero(hubRuntimeInfo.partitionIds.length) + ); + hubRuntimeInfo.createdOn.should.be.instanceof(Date); }); - hubRuntimeInfo.partitionIds.should.have.members( - arrayOfIncreasingNumbersFromZero(hubRuntimeInfo.partitionIds.length) - ); - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root span."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.getEventHubProperties", - children: [] - } - ] - } - ] - }; - - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); - }); - it("EventHubConsumerClient can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + it("EventHubConsumerClient gets the hub runtime information", async function(): Promise< + void + > { + const hubRuntimeInfo = await consumerClient.getEventHubProperties(); + debug(hubRuntimeInfo); + hubRuntimeInfo.name.should.equal(service.path); - const rootSpan = tracer.startSpan("root"); - const hubRuntimeInfo = await consumerClient.getEventHubProperties({ - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) - } + hubRuntimeInfo.partitionIds.should.have.members( + arrayOfIncreasingNumbersFromZero(hubRuntimeInfo.partitionIds.length) + ); + hubRuntimeInfo.createdOn.should.be.instanceof(Date); }); - hubRuntimeInfo.partitionIds.should.have.members( - arrayOfIncreasingNumbersFromZero(hubRuntimeInfo.partitionIds.length) - ); - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root span."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.getEventHubProperties", - children: [] - } - ] - } - ] - }; - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); - }); - }); - - describe("partition runtime information", function(): void { - it("EventHubProducerClient should throw an error if partitionId is missing", async function(): Promise< - void - > { - try { - await producerClient.getPartitionProperties(undefined as any); - throw new Error("Test failure"); - } catch (err) { - err.name.should.equal("TypeError"); - err.message.should.equal( - `getPartitionProperties called without required argument "partitionId"` - ); - } - }); + it("EventHubProducerClient can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - it("EventHubConsumerClient should throw an error if partitionId is missing", async function(): Promise< - void - > { - try { - await consumerClient.getPartitionProperties(undefined as any); - throw new Error("Test failure"); - } catch (err) { - err.name.should.equal("TypeError"); - err.message.should.equal( - `getPartitionProperties called without required argument "partitionId"` + const rootSpan = tracer.startSpan("root"); + const hubRuntimeInfo = await producerClient.getEventHubProperties({ + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) + } + }); + hubRuntimeInfo.partitionIds.should.have.members( + arrayOfIncreasingNumbersFromZero(hubRuntimeInfo.partitionIds.length) ); - } - }); - - it("EventHubProducerClient gets the partition runtime information with partitionId as a string", async function(): Promise< - void - > { - const partitionRuntimeInfo = await producerClient.getPartitionProperties("0"); - debug(partitionRuntimeInfo); - partitionRuntimeInfo.partitionId.should.equal("0"); - partitionRuntimeInfo.eventHubName.should.equal(service.path); - partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); - should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); - should.exist(partitionRuntimeInfo.lastEnqueuedOffset); - }); + rootSpan.end(); + + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root span."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.getEventHubProperties", + children: [] + } + ] + } + ] + }; + + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); - it("EventHubConsumerClient gets the partition runtime information with partitionId as a string", async function(): Promise< - void - > { - const partitionRuntimeInfo = await consumerClient.getPartitionProperties("0"); - debug(partitionRuntimeInfo); - partitionRuntimeInfo.partitionId.should.equal("0"); - partitionRuntimeInfo.eventHubName.should.equal(service.path); - partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); - should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); - should.exist(partitionRuntimeInfo.lastEnqueuedOffset); - }); + it("EventHubConsumerClient can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - it("EventHubProducerClient gets the partition runtime information with partitionId as a number", async function(): Promise< - void - > { - const partitionRuntimeInfo = await producerClient.getPartitionProperties(0 as any); - debug(partitionRuntimeInfo); - partitionRuntimeInfo.partitionId.should.equal("0"); - partitionRuntimeInfo.eventHubName.should.equal(service.path); - partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); - should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); - should.exist(partitionRuntimeInfo.lastEnqueuedOffset); + const rootSpan = tracer.startSpan("root"); + const hubRuntimeInfo = await consumerClient.getEventHubProperties({ + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) + } + }); + hubRuntimeInfo.partitionIds.should.have.members( + arrayOfIncreasingNumbersFromZero(hubRuntimeInfo.partitionIds.length) + ); + rootSpan.end(); + + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root span."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.getEventHubProperties", + children: [] + } + ] + } + ] + }; + + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); }); - it("EventHubConsumerClient gets the partition runtime information with partitionId as a number", async function(): Promise< - void - > { - const partitionRuntimeInfo = await consumerClient.getPartitionProperties(0 as any); - debug(partitionRuntimeInfo); - partitionRuntimeInfo.partitionId.should.equal("0"); - partitionRuntimeInfo.eventHubName.should.equal(service.path); - partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); - should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); - should.exist(partitionRuntimeInfo.lastEnqueuedOffset); - }); + describe("partition runtime information", function(): void { + it("EventHubProducerClient should throw an error if partitionId is missing", async function(): Promise< + void + > { + try { + await producerClient.getPartitionProperties(undefined as any); + throw new Error("Test failure"); + } catch (err) { + err.name.should.equal("TypeError"); + err.message.should.equal( + `getPartitionProperties called without required argument "partitionId"` + ); + } + }); - it("EventHubProducerClient bubbles up error from service for invalid partitionId", async function(): Promise< - void - > { - try { - await producerClient.getPartitionProperties("boo"); - throw new Error("Test failure"); - } catch (err) { - debug(`>>>> Received error - `, err); - should.exist(err); - should.equal((err as MessagingError).code, "ArgumentOutOfRangeError"); - } - }); + it("EventHubConsumerClient should throw an error if partitionId is missing", async function(): Promise< + void + > { + try { + await consumerClient.getPartitionProperties(undefined as any); + throw new Error("Test failure"); + } catch (err) { + err.name.should.equal("TypeError"); + err.message.should.equal( + `getPartitionProperties called without required argument "partitionId"` + ); + } + }); - it("EventHubConsumerClient bubbles up error from service for invalid partitionId", async function(): Promise< - void - > { - try { - await consumerClient.getPartitionProperties("boo"); - throw new Error("Test failure"); - } catch (err) { - debug(`>>>> Received error - `, err); - should.exist(err); - should.equal((err as MessagingError).code, "ArgumentOutOfRangeError"); - } - }); + it("EventHubProducerClient gets the partition runtime information with partitionId as a string", async function(): Promise< + void + > { + const partitionRuntimeInfo = await producerClient.getPartitionProperties("0"); + debug(partitionRuntimeInfo); + partitionRuntimeInfo.partitionId.should.equal("0"); + partitionRuntimeInfo.eventHubName.should.equal(service.path); + partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); + should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); + should.exist(partitionRuntimeInfo.lastEnqueuedOffset); + }); - it("EventHubProducerClient can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + it("EventHubConsumerClient gets the partition runtime information with partitionId as a string", async function(): Promise< + void + > { + const partitionRuntimeInfo = await consumerClient.getPartitionProperties("0"); + debug(partitionRuntimeInfo); + partitionRuntimeInfo.partitionId.should.equal("0"); + partitionRuntimeInfo.eventHubName.should.equal(service.path); + partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); + should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); + should.exist(partitionRuntimeInfo.lastEnqueuedOffset); + }); - const rootSpan = tracer.startSpan("root"); - const partitionRuntimeInfo = await producerClient.getPartitionProperties("0", { - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) - } + it("EventHubProducerClient gets the partition runtime information with partitionId as a number", async function(): Promise< + void + > { + const partitionRuntimeInfo = await producerClient.getPartitionProperties(0 as any); + debug(partitionRuntimeInfo); + partitionRuntimeInfo.partitionId.should.equal("0"); + partitionRuntimeInfo.eventHubName.should.equal(service.path); + partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); + should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); + should.exist(partitionRuntimeInfo.lastEnqueuedOffset); }); - partitionRuntimeInfo.partitionId.should.equal("0"); - partitionRuntimeInfo.eventHubName.should.equal(service.path); - partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); - should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); - should.exist(partitionRuntimeInfo.lastEnqueuedOffset); - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root span."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.getPartitionProperties", - children: [] - } - ] - } - ] - }; - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); - }); + it("EventHubConsumerClient gets the partition runtime information with partitionId as a number", async function(): Promise< + void + > { + const partitionRuntimeInfo = await consumerClient.getPartitionProperties(0 as any); + debug(partitionRuntimeInfo); + partitionRuntimeInfo.partitionId.should.equal("0"); + partitionRuntimeInfo.eventHubName.should.equal(service.path); + partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); + should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); + should.exist(partitionRuntimeInfo.lastEnqueuedOffset); + }); - it("EventHubConsumerClient can be manually traced", async function(): Promise { - const { tracer, resetTracer } = setTracerForTest(); + it("EventHubProducerClient bubbles up error from service for invalid partitionId", async function(): Promise< + void + > { + try { + await producerClient.getPartitionProperties("boo"); + throw new Error("Test failure"); + } catch (err) { + debug(`>>>> Received error - `, err); + should.exist(err); + should.equal((err as MessagingError).code, "ArgumentOutOfRangeError"); + } + }); - const rootSpan = tracer.startSpan("root"); - const partitionRuntimeInfo = await consumerClient.getPartitionProperties("0", { - tracingOptions: { - tracingContext: setSpan(context.active(), rootSpan) + it("EventHubConsumerClient bubbles up error from service for invalid partitionId", async function(): Promise< + void + > { + try { + await consumerClient.getPartitionProperties("boo"); + throw new Error("Test failure"); + } catch (err) { + debug(`>>>> Received error - `, err); + should.exist(err); + should.equal((err as MessagingError).code, "ArgumentOutOfRangeError"); } }); - partitionRuntimeInfo.partitionId.should.equal("0"); - partitionRuntimeInfo.eventHubName.should.equal(service.path); - partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); - should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); - should.exist(partitionRuntimeInfo.lastEnqueuedOffset); - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - rootSpans.length.should.equal(1, "Should only have one root span."); - rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); - - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.EventHubs.getPartitionProperties", - children: [] - } - ] + + it("EventHubProducerClient can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); + + const rootSpan = tracer.startSpan("root"); + const partitionRuntimeInfo = await producerClient.getPartitionProperties("0", { + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) } - ] - }; + }); + partitionRuntimeInfo.partitionId.should.equal("0"); + partitionRuntimeInfo.eventHubName.should.equal(service.path); + partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); + should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); + should.exist(partitionRuntimeInfo.lastEnqueuedOffset); + rootSpan.end(); + + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root span."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.getPartitionProperties", + children: [] + } + ] + } + ] + }; + + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); + + it("EventHubConsumerClient can be manually traced", async function(): Promise { + const { tracer, resetTracer } = setTracerForTest(); - tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); - tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); - resetTracer(); + const rootSpan = tracer.startSpan("root"); + const partitionRuntimeInfo = await consumerClient.getPartitionProperties("0", { + tracingOptions: { + tracingContext: setSpan(context.active(), rootSpan) + } + }); + partitionRuntimeInfo.partitionId.should.equal("0"); + partitionRuntimeInfo.eventHubName.should.equal(service.path); + partitionRuntimeInfo.lastEnqueuedOnUtc.should.be.instanceof(Date); + should.exist(partitionRuntimeInfo.lastEnqueuedSequenceNumber); + should.exist(partitionRuntimeInfo.lastEnqueuedOffset); + rootSpan.end(); + + const rootSpans = tracer.getRootSpans(); + rootSpans.length.should.equal(1, "Should only have one root span."); + rootSpans[0].should.equal(rootSpan, "The root span should match what was passed in."); + + const expectedGraph: SpanGraph = { + roots: [ + { + name: rootSpan.name, + children: [ + { + name: "Azure.EventHubs.getPartitionProperties", + children: [] + } + ] + } + ] + }; + + tracer.getSpanGraph(rootSpan.spanContext().traceId).should.eql(expectedGraph); + tracer.getActiveSpans().length.should.equal(0, "All spans should have had end called."); + resetTracer(); + }); }); - }); -}).timeout(60000); + }).timeout(60000); +}); diff --git a/sdk/eventhub/event-hubs/test/public/node/client.spec.ts b/sdk/eventhub/event-hubs/test/public/node/client.spec.ts index c1751eac0a4f..3414a5e9255a 100644 --- a/sdk/eventhub/event-hubs/test/public/node/client.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/node/client.spec.ts @@ -11,75 +11,73 @@ import { EnvVarKeys, getEnvVars } from "../utils/testUtils"; import { EnvironmentCredential, TokenCredential } from "@azure/identity"; import { EventHubProducerClient, EventHubConsumerClient } from "../../../src"; import { TestTracer, setTracer, resetTracer } from "@azure/test-utils"; -const env = getEnvVars(); - -describe("Create clients using Azure Identity", function(): void { - let endpoint: string; - let credential: TokenCredential; - before("validate environment", function() { - should.exist( - env[EnvVarKeys.AZURE_CLIENT_ID], - "define AZURE_CLIENT_ID in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.AZURE_TENANT_ID], - "define AZURE_TENANT_ID in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.AZURE_CLIENT_SECRET], - "define AZURE_CLIENT_SECRET in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - // This is of the form .servicebus.windows.net - endpoint = (env.EVENTHUB_CONNECTION_STRING.match("Endpoint=sb://(.*)/;") || "")[1]; - credential = new EnvironmentCredential(); - }); +import { testWithServiceTypes } from "../utils/testWithServiceTypes"; +import { createMockServer } from "../utils/mockService"; - it("creates an EventHubProducerClient from an Azure.Identity credential", async function(): Promise< - void - > { - const client = new EventHubProducerClient(endpoint, env.EVENTHUB_NAME, credential); - should.equal(client.fullyQualifiedNamespace, endpoint); +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - // Extra check involving actual call to the service to ensure this works - const hubInfo = await client.getEventHubProperties(); - should.equal(hubInfo.name, client.eventHubName); + after("Stopping mock service", () => { + return service?.stop(); + }); + } - await client.close(); - }); + describe("Create clients using Azure Identity", function(): void { + let endpoint: string; + let credential: TokenCredential; + before("validate environment", function() { + should.exist( + env[EnvVarKeys.AZURE_CLIENT_ID], + "define AZURE_CLIENT_ID in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.AZURE_TENANT_ID], + "define AZURE_TENANT_ID in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.AZURE_CLIENT_SECRET], + "define AZURE_CLIENT_SECRET in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + // This is of the form .servicebus.windows.net + endpoint = (env.EVENTHUB_CONNECTION_STRING.match("Endpoint=sb://(.*)/;") || "")[1]; + if (serviceVersion === "mock") { + // Create a mock credential that implements the TokenCredential interface. + credential = { + getToken(_args) { + return Promise.resolve({ token: "token", expiresOnTimestamp: Date.now() + 360000 }); + } + }; + } else { + credential = new EnvironmentCredential(); + } + }); - it("creates an EventHubConsumerClient from an Azure.Identity credential", async function(): Promise< - void - > { - const client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - endpoint, - env.EVENTHUB_NAME, - credential - ); - should.equal(client.fullyQualifiedNamespace, endpoint); - - // Extra check involving actual call to the service to ensure this works - const hubInfo = await client.getEventHubProperties(); - should.equal(hubInfo.name, client.eventHubName); - - await client.close(); - }); + it("creates an EventHubProducerClient from an Azure.Identity credential", async function(): Promise< + void + > { + const client = new EventHubProducerClient(endpoint, env.EVENTHUB_NAME, credential); + should.equal(client.fullyQualifiedNamespace, endpoint); - describe("tracing", () => { - let tracer: TestTracer; - before(() => { - tracer = setTracer(); - }); + // Extra check involving actual call to the service to ensure this works + const hubInfo = await client.getEventHubProperties(); + should.equal(hubInfo.name, client.eventHubName); - after(() => { - resetTracer(); + await client.close(); }); - it("getEventHubProperties() creates a span with a peer.address attribute as the FQNS", async () => { + it("creates an EventHubConsumerClient from an Azure.Identity credential", async function(): Promise< + void + > { const client = new EventHubConsumerClient( EventHubConsumerClient.defaultConsumerGroupName, endpoint, @@ -93,16 +91,43 @@ describe("Create clients using Azure Identity", function(): void { should.equal(hubInfo.name, client.eventHubName); await client.close(); + }); + + describe("tracing", () => { + let tracer: TestTracer; + before(() => { + tracer = setTracer(); + }); + + after(() => { + resetTracer(); + }); + + it("getEventHubProperties() creates a span with a peer.address attribute as the FQNS", async () => { + const client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + endpoint, + env.EVENTHUB_NAME, + credential + ); + should.equal(client.fullyQualifiedNamespace, endpoint); + + // Extra check involving actual call to the service to ensure this works + const hubInfo = await client.getEventHubProperties(); + should.equal(hubInfo.name, client.eventHubName); + + await client.close(); - const spans = tracer - .getKnownSpans() - .filter((s) => s.name === "Azure.EventHubs.getEventHubProperties"); + const spans = tracer + .getKnownSpans() + .filter((s) => s.name === "Azure.EventHubs.getEventHubProperties"); - spans.length.should.equal(1); - spans[0].attributes.should.deep.equal({ - "az.namespace": "Microsoft.EventHub", - "message_bus.destination": client.eventHubName, - "peer.address": client.fullyQualifiedNamespace + spans.length.should.equal(1); + spans[0].attributes.should.deep.equal({ + "az.namespace": "Microsoft.EventHub", + "message_bus.destination": client.eventHubName, + "peer.address": client.fullyQualifiedNamespace + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/public/node/disconnects.spec.ts b/sdk/eventhub/event-hubs/test/public/node/disconnects.spec.ts index c567857c8293..a8f84c303575 100644 --- a/sdk/eventhub/event-hubs/test/public/node/disconnects.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/node/disconnects.spec.ts @@ -7,224 +7,240 @@ import chaiAsPromised from "chai-as-promised"; chai.use(chaiAsPromised); import { EnvVarKeys, getEnvVars } from "../utils/testUtils"; import { EventHubConsumerClient, EventHubProducerClient, Subscription } from "../../../src"; -const env = getEnvVars(); - -describe("disconnected", function() { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - before("validate environment", function(): void { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); +import { testWithServiceTypes } from "../utils/testWithServiceTypes"; +import { createMockServer } from "../utils/mockService"; + +testWithServiceTypes((serviceVersion, onVersions) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); + }); - describe("EventHubConsumerClient", function() { - it("runtimeInfo work after disconnect", async () => { - const client = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path + after("Stopping mock service", () => { + return service?.stop(); + }); + } + + describe("disconnected", function() { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + before("validate environment", function(): void { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." ); - const clientConnectionContext = client["_context"]; + }); - await client.getPartitionIds({}); - const originalConnectionId = clientConnectionContext.connectionId; + describe("EventHubConsumerClient", function() { + it("runtimeInfo work after disconnect", async () => { + const client = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); + const clientConnectionContext = client["_context"]; - // Trigger a disconnect on the underlying connection. - clientConnectionContext.connection["_connection"].idle(); + await client.getPartitionIds({}); + const originalConnectionId = clientConnectionContext.connectionId; - const partitionIds = await client.getPartitionIds({}); - const newConnectionId = clientConnectionContext.connectionId; + // Trigger a disconnect on the underlying connection. + clientConnectionContext.connection["_connection"].idle(); - should.not.equal(originalConnectionId, newConnectionId); - partitionIds.length.should.greaterThan(0, "Invalid number of partition ids returned."); + const partitionIds = await client.getPartitionIds({}); + const newConnectionId = clientConnectionContext.connectionId; - await client.close(); - }); + should.not.equal(originalConnectionId, newConnectionId); + partitionIds.length.should.greaterThan(0, "Invalid number of partition ids returned."); - it("should receive after a disconnect", async () => { - /** - * This test validates that an `EventHubConsumerClient.subscribe()` call continues - * receiving events after a `disconnected` event occurs on the underlying connection. - * - * https://github.com/Azure/azure-sdk-for-js/pull/12280 describes an issue where `processEvents` - * would be invoked with 0 events and ignoring the `maxWaitTimeInSeconds` after a `disconnected` event. - * - * For a single `subscribe()` call, this test does the following: - * 1. Ensure events can be received normally before the `disconnected` event. - * 2. Ensure that the `maxWaitTimeInSeconds` is honoured after a `disconnected` event. - * 3. Ensure that events can be received normally after the `disconnected` event. - */ - const consumer = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); + await client.close(); + }); + + it("should receive after a disconnect", async () => { + /** + * This test validates that an `EventHubConsumerClient.subscribe()` call continues + * receiving events after a `disconnected` event occurs on the underlying connection. + * + * https://github.com/Azure/azure-sdk-for-js/pull/12280 describes an issue where `processEvents` + * would be invoked with 0 events and ignoring the `maxWaitTimeInSeconds` after a `disconnected` event. + * + * For a single `subscribe()` call, this test does the following: + * 1. Ensure events can be received normally before the `disconnected` event. + * 2. Ensure that the `maxWaitTimeInSeconds` is honoured after a `disconnected` event. + * 3. Ensure that events can be received normally after the `disconnected` event. + */ + const consumer = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path + ); - const producer = new EventHubProducerClient(service.connectionString, service.path); - const eventSentBeforeDisconnect = { body: "the first event" }; - const eventSentAfterDisconnect = { body: "the second event" }; - - const maxWaitTimeInSeconds = 10; - const partitionId = "0"; - const partitionProperties = await consumer.getPartitionProperties(partitionId); - const clientConnectionContext = consumer["_context"]; - - // Send the first event after getting partition properties so that we can expect to receive it. - await producer.sendBatch([eventSentBeforeDisconnect], { partitionId }); - - let subscription: Subscription | undefined; - let originalConnectionId: string; - - let processEventsInvocationCount = 0; - let firstInvocationEndTime = 0; - await new Promise((resolve, reject) => { - subscription = consumer.subscribe( - partitionId, - { - processEvents: async (data) => { - processEventsInvocationCount++; - should.exist(data); - if (processEventsInvocationCount === 1) { - // 1. Ensure events can be received normally before the `disconnected` event. - should.equal( - data.length, - 1, - "Expected to receive 1 event in first processEvents invocation." - ); - should.equal(data[0].body, eventSentBeforeDisconnect.body); - originalConnectionId = clientConnectionContext.connectionId; - // Trigger a disconnect on the underlying connection. - clientConnectionContext.connection["_connection"].idle(); - firstInvocationEndTime = Date.now(); - } else if (processEventsInvocationCount === 2) { - // 2. Ensure that the `maxWaitTimeInSeconds` is honoured after a `disconnected` event. - // No new events should have been received at this point since we received the last event in the previous invocation. - should.equal( - data.length, - 0, - "Expected to receive 0 events in second processEvents invocation." - ); - // The elapsed time since the last processEvents invocation should be >= maxWaitTimeInSeconds - should.equal( - Date.now() - firstInvocationEndTime >= maxWaitTimeInSeconds, - true, - "Expected elapsed time between first and second processEvents invocations to be >= maxWaitTimeInSeconds." - ); - const newConnectionId = clientConnectionContext.connectionId; - should.not.equal(originalConnectionId, newConnectionId); - // Send a new event that will be immediately receivable. - await producer.sendBatch([eventSentAfterDisconnect], { partitionId }); - } else if (processEventsInvocationCount === 3) { - // 3. Ensure that events can be received normally after the `disconnected` event. - should.equal( - data.length, - 1, - "Expected to receive 1 event in third processEvents invocation." - ); - should.equal(data[0].body, eventSentAfterDisconnect.body); - const newConnectionId = clientConnectionContext.connectionId; - should.not.equal(originalConnectionId, newConnectionId); - resolve(); + const producer = new EventHubProducerClient(service.connectionString, service.path); + const eventSentBeforeDisconnect = { body: "the first event" }; + const eventSentAfterDisconnect = { body: "the second event" }; + + const maxWaitTimeInSeconds = 10; + const partitionId = "0"; + const partitionProperties = await consumer.getPartitionProperties(partitionId); + const clientConnectionContext = consumer["_context"]; + + // Send the first event after getting partition properties so that we can expect to receive it. + await producer.sendBatch([eventSentBeforeDisconnect], { partitionId }); + + let subscription: Subscription | undefined; + let originalConnectionId: string; + + let processEventsInvocationCount = 0; + let firstInvocationEndTime = 0; + await new Promise((resolve, reject) => { + subscription = consumer.subscribe( + partitionId, + { + processEvents: async (data) => { + processEventsInvocationCount++; + should.exist(data); + if (processEventsInvocationCount === 1) { + // 1. Ensure events can be received normally before the `disconnected` event. + should.equal( + data.length, + 1, + "Expected to receive 1 event in first processEvents invocation." + ); + should.equal(data[0].body, eventSentBeforeDisconnect.body); + originalConnectionId = clientConnectionContext.connectionId; + // Trigger a disconnect on the underlying connection. + clientConnectionContext.connection["_connection"].idle(); + firstInvocationEndTime = Date.now(); + } else if (processEventsInvocationCount === 2) { + // 2. Ensure that the `maxWaitTimeInSeconds` is honoured after a `disconnected` event. + // No new events should have been received at this point since we received the last event in the previous invocation. + should.equal( + data.length, + 0, + "Expected to receive 0 events in second processEvents invocation." + ); + // The elapsed time since the last processEvents invocation should be >= maxWaitTimeInSeconds + should.equal( + Date.now() - firstInvocationEndTime >= maxWaitTimeInSeconds, + true, + "Expected elapsed time between first and second processEvents invocations to be >= maxWaitTimeInSeconds." + ); + const newConnectionId = clientConnectionContext.connectionId; + should.not.equal(originalConnectionId, newConnectionId); + // Send a new event that will be immediately receivable. + await producer.sendBatch([eventSentAfterDisconnect], { partitionId }); + } else if (processEventsInvocationCount === 3) { + // 3. Ensure that events can be received normally after the `disconnected` event. + should.equal( + data.length, + 1, + "Expected to receive 1 event in third processEvents invocation." + ); + should.equal(data[0].body, eventSentAfterDisconnect.body); + const newConnectionId = clientConnectionContext.connectionId; + should.not.equal(originalConnectionId, newConnectionId); + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: { + sequenceNumber: partitionProperties.lastEnqueuedSequenceNumber + }, + maxWaitTimeInSeconds } - }, - { - startPosition: { - sequenceNumber: partitionProperties.lastEnqueuedSequenceNumber - }, - maxWaitTimeInSeconds - } - ); + ); + }); + await subscription!.close(); + await consumer.close(); + await producer.close(); }); - await subscription!.close(); - await consumer.close(); - await producer.close(); - }); - }); - - describe("EventHubProducerClient", function() { - it("runtimeInfo work after disconnect", async () => { - const client = new EventHubProducerClient(service.connectionString, service.path); - const clientConnectionContext = client["_context"]; - - await client.getPartitionIds({}); - const originalConnectionId = clientConnectionContext.connectionId; - - // Trigger a disconnect on the underlying connection. - clientConnectionContext.connection["_connection"].idle(); - - const partitionIds = await client.getPartitionIds({}); - const newConnectionId = clientConnectionContext.connectionId; - - should.not.equal(originalConnectionId, newConnectionId); - partitionIds.length.should.greaterThan(0, "Invalid number of partition ids returned."); - - await client.close(); }); - it("should send after a disconnect", async () => { - const client = new EventHubProducerClient(service.connectionString, service.path); - const clientConnectionContext = client["_context"]; + describe("EventHubProducerClient", function() { + it("runtimeInfo work after disconnect", async () => { + const client = new EventHubProducerClient(service.connectionString, service.path); + const clientConnectionContext = client["_context"]; - await client.sendBatch([{ body: "test" }]); - const originalConnectionId = clientConnectionContext.connectionId; + await client.getPartitionIds({}); + const originalConnectionId = clientConnectionContext.connectionId; - // Trigger a disconnect on the underlying connection. - clientConnectionContext.connection["_connection"].idle(); - - await client.sendBatch([{ body: "test2" }]); - const newConnectionId = clientConnectionContext.connectionId; + // Trigger a disconnect on the underlying connection. + clientConnectionContext.connection["_connection"].idle(); - should.not.equal(originalConnectionId, newConnectionId); + const partitionIds = await client.getPartitionIds({}); + const newConnectionId = clientConnectionContext.connectionId; - await client.close(); - }); + should.not.equal(originalConnectionId, newConnectionId); + partitionIds.length.should.greaterThan(0, "Invalid number of partition ids returned."); - it("should not throw an uncaught exception", async () => { - const client = new EventHubProducerClient(service.connectionString, service.path, { - retryOptions: { - timeoutInMs: 0 - } + await client.close(); }); - const clientConnectionContext = client["_context"]; - // Send an event to open the connection. - await client.sendBatch([{ body: "test" }]); - const originalConnectionId = clientConnectionContext.connectionId; + it("should send after a disconnect", async () => { + const client = new EventHubProducerClient(service.connectionString, service.path); + const clientConnectionContext = client["_context"]; + + await client.sendBatch([{ body: "test" }]); + const originalConnectionId = clientConnectionContext.connectionId; - let thirdSend: Promise; - // Ensure that the connection will disconnect, and another sendBatch occurs while a sendBatch is in-flight. - setTimeout(() => { - // Trigger a disconnect on the underlying connection while the `sendBatch` is in flight. + // Trigger a disconnect on the underlying connection. clientConnectionContext.connection["_connection"].idle(); - // Triggering another sendBatch immediately after an idle - // used to cause the rhea connection remote state to be cleared. - // This caused the in-flight sendBatch to throw an uncaught error - // if it timed out. - thirdSend = client.sendBatch([{ body: "test3" }]); - }, 0); - await client.sendBatch([{ body: "test2" }]); - const newConnectionId = clientConnectionContext.connectionId; + await client.sendBatch([{ body: "test2" }]); + const newConnectionId = clientConnectionContext.connectionId; - should.not.equal(originalConnectionId, newConnectionId); + should.not.equal(originalConnectionId, newConnectionId); - // ensure the sendBatch from the setTimeout succeeded. - // Wait for the connectionContext to be ready for opening. - await thirdSend!; + await client.close(); + }); - await client.close(); + onVersions(["live"]).it("should not throw an uncaught exception", async () => { + const client = new EventHubProducerClient(service.connectionString, service.path, { + retryOptions: { + timeoutInMs: 0 + } + }); + const clientConnectionContext = client["_context"]; + + // Send an event to open the connection. + await client.sendBatch([{ body: "test" }]); + const originalConnectionId = clientConnectionContext.connectionId; + + let thirdSend: Promise; + // Ensure that the connection will disconnect, and another sendBatch occurs while a sendBatch is in-flight. + setTimeout(async () => { + // Trigger a disconnect on the underlying connection while the `sendBatch` is in flight. + clientConnectionContext.connection["_connection"].idle(); + // Triggering another sendBatch immediately after an idle + // used to cause the rhea connection remote state to be cleared. + // This caused the in-flight sendBatch to throw an uncaught error + // if it timed out. + thirdSend = client.sendBatch([{ body: "test3" }]); + }, 0); + + await client.sendBatch([{ body: "test2" }]); + const newConnectionId = clientConnectionContext.connectionId; + + should.not.equal(originalConnectionId, newConnectionId); + + // ensure the sendBatch from the setTimeout succeeded. + // Wait for the connectionContext to be ready for opening. + await thirdSend!; + + await client.close(); + }); }); }); }); diff --git a/sdk/eventhub/event-hubs/test/public/receiver.spec.ts b/sdk/eventhub/event-hubs/test/public/receiver.spec.ts index 9e8f7038958b..179ff7b233f1 100644 --- a/sdk/eventhub/event-hubs/test/public/receiver.spec.ts +++ b/sdk/eventhub/event-hubs/test/public/receiver.spec.ts @@ -16,471 +16,494 @@ import { EventHubProducerClient, Subscription } from "../../src"; +import { createMockServer } from "./utils/mockService"; import { EnvVarKeys, getEnvVars } from "./utils/testUtils"; -const env = getEnvVars(); - -describe("EventHubConsumerClient", function(): void { - const service = { - connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - path: env[EnvVarKeys.EVENTHUB_NAME] - }; - let producerClient: EventHubProducerClient; - let consumerClient: EventHubConsumerClient; - let partitionIds: string[]; - before("validate environment", async function(): Promise { - should.exist( - env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], - "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." - ); - should.exist( - env[EnvVarKeys.EVENTHUB_NAME], - "define EVENTHUB_NAME in your environment before running integration tests." - ); - }); - - beforeEach("Creating the clients", async () => { - producerClient = new EventHubProducerClient(service.connectionString, service.path); - consumerClient = new EventHubConsumerClient( - EventHubConsumerClient.defaultConsumerGroupName, - service.connectionString, - service.path - ); - partitionIds = await producerClient.getPartitionIds({}); - }); - - afterEach("Closing the clients", async () => { - await producerClient.close(); - await consumerClient.close(); - }); - - describe("subscribe() with partitionId 0 as number", function(): void { - it("should not throw an error", async function(): Promise { - let subscription: Subscription | undefined; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - // @ts-expect-error Testing the value 0 can be provided as a number for JS users. - 0, - { - processEvents: async () => { - resolve(); - }, - processError: async (err) => { - reject(err); - } - }, - { - startPosition: latestEventPosition, - maxWaitTimeInSeconds: 0 // Set timeout of 0 to resolve the promise ASAP - } - ); - }); - await subscription!.close(); - }); - }); - - describe("subscribe() with EventPosition specified as", function(): void { - let partitionId: string; - let eventSentBeforeSubscribe: EventData; - let eventsSentAfterSubscribe: EventData[]; - - beforeEach(async () => { - partitionId = partitionIds[0]; - - eventSentBeforeSubscribe = { - body: "Hello awesome world " + Math.random() - }; - await producerClient.sendBatch([eventSentBeforeSubscribe], { partitionId }); - - eventsSentAfterSubscribe = []; - for (let i = 0; i < 5; i++) { - eventsSentAfterSubscribe.push({ - body: "Hello awesome world " + Math.random(), - properties: { - stamp: Math.random() - } - }); - } +import { testWithServiceTypes } from "./utils/testWithServiceTypes"; + +testWithServiceTypes((serviceVersion) => { + const env = getEnvVars(); + if (serviceVersion === "mock") { + let service: ReturnType; + before("Starting mock service", () => { + service = createMockServer(); + return service.start(); }); - it("'from end of stream' should receive messages correctly", async function(): Promise { - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 0, "Received events when none were sent yet."); - await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); - return; - } - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); - } - }, - processError: async (err) => { - reject(err); - } - }, - { - startPosition: latestEventPosition, - maxWaitTimeInSeconds: 30 - } - ); - }); - await subscription!.close(); - - if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { - should.fail("Received event sent before subscribe call with latestEventPosition."); - } + after("Stopping mock service", () => { + return service?.stop(); + }); + } + describe("EventHubConsumerClient", function(): void { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + let producerClient: EventHubProducerClient; + let consumerClient: EventHubConsumerClient; + let partitionIds: string[]; + before("validate environment", async function(): Promise { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." + beforeEach("Creating the clients", async () => { + producerClient = new EventHubProducerClient(service.connectionString, service.path); + consumerClient = new EventHubConsumerClient( + EventHubConsumerClient.defaultConsumerGroupName, + service.connectionString, + service.path ); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp - ); - } + partitionIds = await producerClient.getPartitionIds({}); }); - it("'after a particular sequence number' should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 0, "Received events when none were sent yet."); - await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); - return; - } - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { + afterEach("Closing the clients", async () => { + await producerClient.close(); + await consumerClient.close(); + }); + + describe("subscribe() with partitionId 0 as number", function(): void { + it("should not throw an error", async function(): Promise { + let subscription: Subscription | undefined; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + // @ts-expect-error Testing the value 0 can be provided as a number for JS users. + 0, + { + processEvents: async () => { resolve(); + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: latestEventPosition, + maxWaitTimeInSeconds: 0 // Set timeout of 0 to resolve the promise ASAP } - }, - { - startPosition: { sequenceNumber: partitionInfo.lastEnqueuedSequenceNumber }, - maxWaitTimeInSeconds: 30 - } - ); + ); + }); + await subscription!.close(); }); - await subscription!.close(); - - if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { - should.fail("Received event sent before subscribe call with last sequence number."); - } - - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp - ); - } }); - it("'after a particular sequence number' with isInclusive should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 1, "Expected 1 event sent right before subscribe call."); - should.equal( - data[0].body, - eventSentBeforeSubscribe.body, - "Should have received only the 1 event sent right before subscribe call." - ); - - await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); - return; - } + describe("subscribe() with EventPosition specified as", function(): void { + let partitionId: string; + let eventSentBeforeSubscribe: EventData; + let eventsSentAfterSubscribe: EventData[]; + + beforeEach(async () => { + partitionId = partitionIds[0]; + + eventSentBeforeSubscribe = { + body: "Hello awesome world " + Math.random() + }; + await producerClient.sendBatch([eventSentBeforeSubscribe], { partitionId }); + + eventsSentAfterSubscribe = []; + for (let i = 0; i < 5; i++) { + eventsSentAfterSubscribe.push({ + body: "Hello awesome world " + Math.random(), + properties: { + stamp: Math.random() + } + }); + } + }); - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); + it("'from end of stream' should receive messages correctly", async function(): Promise { + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal(data.length, 0, "Received events when none were sent yet."); + await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); + return; + } + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: latestEventPosition, + maxWaitTimeInSeconds: 30 } - }, - { - startPosition: { - sequenceNumber: partitionInfo.lastEnqueuedSequenceNumber, - isInclusive: true - }, - maxWaitTimeInSeconds: 30 - } - ); - }); - await subscription!.close(); + ); + }); + await subscription!.close(); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); + if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { + should.fail("Received event sent before subscribe call with latestEventPosition."); + } - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); - } - }); + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } + }); - it("'after a particular offset' should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 0, "Received events when none were sent yet."); - await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); - return; - } - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); + it("'after a particular sequence number' should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal(data.length, 0, "Received events when none were sent yet."); + await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); + return; + } + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: { sequenceNumber: partitionInfo.lastEnqueuedSequenceNumber }, + maxWaitTimeInSeconds: 30 } - }, - { - startPosition: { offset: partitionInfo.lastEnqueuedOffset }, - maxWaitTimeInSeconds: 30 - } + ); + }); + await subscription!.close(); + + if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { + should.fail("Received event sent before subscribe call with last sequence number."); + } + + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } }); - await subscription!.close(); - if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { - should.fail("Received event sent before subscribe call with last offset."); - } + it("'after a particular sequence number' with isInclusive should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal( + data.length, + 1, + "Expected 1 event sent right before subscribe call." + ); + should.equal( + data[0].body, + eventSentBeforeSubscribe.body, + "Should have received only the 1 event sent right before subscribe call." + ); + + await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); + return; + } + + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); + } + }, + { + startPosition: { + sequenceNumber: partitionInfo.lastEnqueuedSequenceNumber, + isInclusive: true + }, + maxWaitTimeInSeconds: 30 + } + ); + }); + await subscription!.close(); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); - } - }); - it("'after a particular offset' with isInclusive should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 1, "Expected 1 event sent right before subscribe call."); - should.equal( - data[0].body, - eventSentBeforeSubscribe.body, - "Should have received only the 1 event sent right before subscribe call." - ); - - await producerClient.sendBatch(eventsSentAfterSubscribe, { - partitionId - }); - return; - } + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } + }); - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); + it("'after a particular offset' should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal(data.length, 0, "Received events when none were sent yet."); + await producerClient.sendBatch(eventsSentAfterSubscribe, { partitionId }); + return; + } + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: { offset: partitionInfo.lastEnqueuedOffset }, + maxWaitTimeInSeconds: 30 } - }, - { - startPosition: { - offset: partitionInfo.lastEnqueuedOffset, - isInclusive: true - }, - maxWaitTimeInSeconds: 30 - } + ); + }); + await subscription!.close(); + + if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { + should.fail("Received event sent before subscribe call with last offset."); + } + + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } }); - await subscription!.close(); - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); + it("'after a particular offset' with isInclusive should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal( + data.length, + 1, + "Expected 1 event sent right before subscribe call." + ); + should.equal( + data[0].body, + eventSentBeforeSubscribe.body, + "Should have received only the 1 event sent right before subscribe call." + ); + + await producerClient.sendBatch(eventsSentAfterSubscribe, { + partitionId + }); + return; + } + + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); + } + }, + { + startPosition: { + offset: partitionInfo.lastEnqueuedOffset, + isInclusive: true + }, + maxWaitTimeInSeconds: 30 + } + ); + }); + await subscription!.close(); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); - } - }); - it("'after a particular enqueued time' should receive messages correctly", async function(): Promise< - void - > { - const partitionInfo = await consumerClient.getPartitionProperties(partitionId); - let subscription: Subscription | undefined; - let processEventsCalled = false; - const eventsReceived: ReceivedEventData[] = []; - - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data) => { - if (!processEventsCalled) { - processEventsCalled = true; - should.equal(data.length, 0, "Received events when none were sent yet."); - await producerClient.sendBatch(eventsSentAfterSubscribe, { - partitionId - }); - return; - } + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } + }); - eventsReceived.push(...data); - if (eventsReceived.length === eventsSentAfterSubscribe.length) { - resolve(); + it("'after a particular enqueued time' should receive messages correctly", async function(): Promise< + void + > { + const partitionInfo = await consumerClient.getPartitionProperties(partitionId); + let subscription: Subscription | undefined; + let processEventsCalled = false; + const eventsReceived: ReceivedEventData[] = []; + + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data) => { + if (!processEventsCalled) { + processEventsCalled = true; + should.equal(data.length, 0, "Received events when none were sent yet."); + await producerClient.sendBatch(eventsSentAfterSubscribe, { + partitionId + }); + return; + } + + eventsReceived.push(...data); + if (eventsReceived.length === eventsSentAfterSubscribe.length) { + resolve(); + } + }, + processError: async (err) => { + reject(err); } }, - processError: async (err) => { - reject(err); + { + startPosition: { enqueuedOn: partitionInfo.lastEnqueuedOnUtc }, + maxWaitTimeInSeconds: 30 } - }, - { - startPosition: { enqueuedOn: partitionInfo.lastEnqueuedOnUtc }, - maxWaitTimeInSeconds: 30 - } - ); - }); - await subscription!.close(); + ); + }); + await subscription!.close(); - if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { - should.fail("Received event sent before subscribe call with last offset."); - } + if (eventsReceived.find((event) => event.body === eventSentBeforeSubscribe.body)) { + should.fail("Received event sent before subscribe call with last offset."); + } - should.equal( - eventsReceived.length, - eventsSentAfterSubscribe.length, - "Not received the same number of events that were sent." - ); - for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { - eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); - eventsReceived[i].properties!.stamp.should.equal( - eventsSentAfterSubscribe[i].properties!.stamp + should.equal( + eventsReceived.length, + eventsSentAfterSubscribe.length, + "Not received the same number of events that were sent." ); - } + for (let i = 0; i < eventsSentAfterSubscribe.length; i++) { + eventsReceived[i].body.should.equal(eventsSentAfterSubscribe[i].body); + eventsReceived[i].properties!.stamp.should.equal( + eventsSentAfterSubscribe[i].properties!.stamp + ); + } + }); }); - }); - - describe("subscribe() with trackLastEnqueuedEventProperties", function(): void { - it("should have lastEnqueuedEventProperties populated", async function(): Promise { - const partitionId = partitionIds[0]; - - const eventData = { body: "Hello awesome world " + Math.random() }; - await producerClient.sendBatch([eventData], { partitionId }); - debug("sent: ", eventData); - - const pInfo = await consumerClient.getPartitionProperties(partitionId); - debug("partition info: ", pInfo); - - let subscription: Subscription | undefined; - await new Promise((resolve, reject) => { - subscription = consumerClient.subscribe( - partitionId, - { - processEvents: async (data, context) => { - data.length.should.equal(1); - should.exist(context.lastEnqueuedEventProperties); - context.lastEnqueuedEventProperties!.offset!.should.equal(pInfo.lastEnqueuedOffset); - context.lastEnqueuedEventProperties!.sequenceNumber!.should.equal( - pInfo.lastEnqueuedSequenceNumber - ); - context - .lastEnqueuedEventProperties!.enqueuedOn!.getTime() - .should.equal(pInfo.lastEnqueuedOnUtc.getTime()); - context - .lastEnqueuedEventProperties!.retrievedOn!.getTime() - .should.be.greaterThan(Date.now() - 60000); - - resolve(); + + describe("subscribe() with trackLastEnqueuedEventProperties", function(): void { + it("should have lastEnqueuedEventProperties populated", async function(): Promise { + const partitionId = partitionIds[0]; + + const eventData = { body: "Hello awesome world " + Math.random() }; + await producerClient.sendBatch([eventData], { partitionId }); + debug("sent: ", eventData); + + const pInfo = await consumerClient.getPartitionProperties(partitionId); + debug("partition info: ", pInfo); + + let subscription: Subscription | undefined; + await new Promise((resolve, reject) => { + subscription = consumerClient.subscribe( + partitionId, + { + processEvents: async (data, context) => { + data.length.should.equal(1); + should.exist(context.lastEnqueuedEventProperties); + context.lastEnqueuedEventProperties!.offset!.should.equal(pInfo.lastEnqueuedOffset); + context.lastEnqueuedEventProperties!.sequenceNumber!.should.equal( + pInfo.lastEnqueuedSequenceNumber + ); + context + .lastEnqueuedEventProperties!.enqueuedOn!.getTime() + .should.equal(pInfo.lastEnqueuedOnUtc.getTime()); + context + .lastEnqueuedEventProperties!.retrievedOn!.getTime() + .should.be.greaterThan(Date.now() - 60000); + + resolve(); + }, + processError: async (err) => { + reject(err); + } }, - processError: async (err) => { - reject(err); + { + startPosition: earliestEventPosition, + maxBatchSize: 1, + trackLastEnqueuedEventProperties: true } - }, - { - startPosition: earliestEventPosition, - maxBatchSize: 1, - trackLastEnqueuedEventProperties: true - } - ); + ); + }); + await subscription!.close(); }); - await subscription!.close(); }); - }); -}).timeout(90000); + }).timeout(90000); +}); diff --git a/sdk/eventhub/event-hubs/test/public/utils/mockService.browser.ts b/sdk/eventhub/event-hubs/test/public/utils/mockService.browser.ts new file mode 100644 index 000000000000..c099a5de1b59 --- /dev/null +++ b/sdk/eventhub/event-hubs/test/public/utils/mockService.browser.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +export function createMockServer(): void { + /* no-op in browsers */ +} diff --git a/sdk/eventhub/event-hubs/test/public/utils/mockService.ts b/sdk/eventhub/event-hubs/test/public/utils/mockService.ts new file mode 100644 index 000000000000..3ec15d12a0a8 --- /dev/null +++ b/sdk/eventhub/event-hubs/test/public/utils/mockService.ts @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { readFileSync } from "fs"; +import { resolve as resolvePath } from "path"; +import { MockEventHub, MockServerOptions } from "@azure/mock-hub"; +import { getEnvVars } from "./testUtils"; + +export function createMockServer(options: MockServerOptions = {}): MockEventHub { + const { EVENTHUB_NAME } = getEnvVars(); + return new MockEventHub({ + name: EVENTHUB_NAME, + partitionCount: 4, + connectionInactivityTimeoutInMs: 300000, // 5 minutes + port: 5671, + tlsOptions: { + cert: readFileSync(resolvePath(process.cwd(), "certs", "my-server.crt.pem")), + key: readFileSync(resolvePath(process.cwd(), "certs", "my-server.key.pem")) + }, + ...options + }); +} diff --git a/sdk/eventhub/event-hubs/test/public/utils/testUtils.ts b/sdk/eventhub/event-hubs/test/public/utils/testUtils.ts index f35d305fa253..55d8f6a47bfd 100644 --- a/sdk/eventhub/event-hubs/test/public/utils/testUtils.ts +++ b/sdk/eventhub/event-hubs/test/public/utils/testUtils.ts @@ -19,10 +19,11 @@ export enum EnvVarKeys { EVENTHUB_NAME = "EVENTHUB_NAME", AZURE_TENANT_ID = "AZURE_TENANT_ID", AZURE_CLIENT_ID = "AZURE_CLIENT_ID", - AZURE_CLIENT_SECRET = "AZURE_CLIENT_SECRET" + AZURE_CLIENT_SECRET = "AZURE_CLIENT_SECRET", + TEST_TARGET = "TEST_TARGET" } -function getEnvVarValue(name: string): string | undefined { +export function getEnvVarValue(name: string): string | undefined { if (isNode) { return process.env[name]; } else { @@ -30,7 +31,29 @@ function getEnvVarValue(name: string): string | undefined { } } -export function getEnvVars(): { [key in EnvVarKeys]: any } { +function injectEnvironmentVariables( + envVars: Omit<{ [key in EnvVarKeys]: string }, EnvVarKeys.TEST_TARGET> +): void { + for (const key of Object.keys(envVars) as Exclude[]) { + if (isNode) { + process.env[key] = envVars[key]; + } else { + self.__env__[key] = envVars[key]; + } + } +} + +export function getEnvVars(): Omit<{ [key in EnvVarKeys]: any }, EnvVarKeys.TEST_TARGET> { + if (getEnvVarValue(EnvVarKeys.TEST_TARGET) === "mock") { + injectEnvironmentVariables({ + [EnvVarKeys.EVENTHUB_CONNECTION_STRING]: `Endpoint=sb://localhost/;SharedAccessKeyName=Foo;SharedAccessKey=Bar`, + [EnvVarKeys.EVENTHUB_NAME]: "mock-hub", + [EnvVarKeys.AZURE_TENANT_ID]: "AzureTenantId", + [EnvVarKeys.AZURE_CLIENT_ID]: "AzureClientId", + [EnvVarKeys.AZURE_CLIENT_SECRET]: "AzureClientSecret" + }); + } + return { [EnvVarKeys.EVENTHUB_CONNECTION_STRING]: getEnvVarValue(EnvVarKeys.EVENTHUB_CONNECTION_STRING), [EnvVarKeys.EVENTHUB_NAME]: getEnvVarValue(EnvVarKeys.EVENTHUB_NAME), diff --git a/sdk/eventhub/event-hubs/test/public/utils/testWithServiceTypes.ts b/sdk/eventhub/event-hubs/test/public/utils/testWithServiceTypes.ts new file mode 100644 index 000000000000..f143b7ba3693 --- /dev/null +++ b/sdk/eventhub/event-hubs/test/public/utils/testWithServiceTypes.ts @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { isNode, TestFunctionWrapper, versionsToTest } from "@azure/test-utils"; +import { getEnvVarValue } from "./testUtils"; + +export type SupportedTargets = "mock" | "live"; +const serviceVersions: SupportedTargets[] = ["mock", "live"]; +const testTarget = getEnvVarValue("TEST_TARGET") || "live"; +export function testWithServiceTypes( + handler: ( + serviceVersion: SupportedTargets, + onVersions: (supported: SupportedTargets[]) => TestFunctionWrapper + ) => void +): void { + // Wrap within an empty `describe` so that nested functions get the mocha + // context object for the current suite being ran. + describe("", function() { + // this.file comes from the current mocha suite context. + // eslint-disable-next-line @typescript-eslint/no-invalid-this + describe(this.file ?? "", function() { + versionsToTest(serviceVersions, { versionForRecording: testTarget }, function( + serviceVersion, + ...rest + ) { + if (serviceVersion !== testTarget) { + // The min-max tests don't currently allow us to set the environment variables + // we use to disable running all targets when TEST_MODE is live. + // This ensures we only run the tests against the target version we want. + return; + } + + if (serviceVersion === "mock" && !isNode) { + // We don't currently support running tests aginst the mock service in browsers. + // This can be revisted once the mock service supports websockets. + return; + } + + handler(serviceVersion as SupportedTargets, ...rest); + }); + }); + }); +} diff --git a/sdk/eventhub/event-processor-host/package.json b/sdk/eventhub/event-processor-host/package.json index 462dc6dc1ef5..d8a080ebbc2c 100644 --- a/sdk/eventhub/event-processor-host/package.json +++ b/sdk/eventhub/event-processor-host/package.json @@ -37,7 +37,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "dev-tool samples prep && cd dist-samples && tsc", "build:test": "tsc -p . && cross-env ONLY_NODE=true rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings *.tgz *.log", "execute:samples": "echo skipped", @@ -49,7 +49,6 @@ "lint:fix": "eslint package.json src test samples --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json src test samples --ext .ts -f html -o event-processor-host-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -118,7 +117,7 @@ "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "ws": "^7.1.1", "typedoc": "0.15.2" diff --git a/sdk/eventhub/eventhubs-checkpointstore-blob/package.json b/sdk/eventhub/eventhubs-checkpointstore-blob/package.json index edf657ade898..272ff408ef4e 100644 --- a/sdk/eventhub/eventhubs-checkpointstore-blob/package.json +++ b/sdk/eventhub/eventhubs-checkpointstore-blob/package.json @@ -38,7 +38,7 @@ "build:test:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c rollup.test.config.js 2>&1", "build:test:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c rollup.test.config.js 2>&1", "build:test": "npm run build:test:node", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -50,7 +50,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -63,7 +62,7 @@ "@azure/abort-controller": "^1.0.0", "@azure/event-hubs": "^5.6.0", "@azure/logger": "^1.0.0", - "@azure/storage-blob": "^12.6.0", + "@azure/storage-blob": "^12.8.0", "events": "^3.0.0", "tslib": "^2.2.0" }, @@ -115,7 +114,7 @@ "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "util": "^0.12.1", "typedoc": "0.15.2" diff --git a/sdk/eventhub/eventhubs-checkpointstore-table/package.json b/sdk/eventhub/eventhubs-checkpointstore-table/package.json index 8d5b1c4c45f5..9a5879206188 100644 --- a/sdk/eventhub/eventhubs-checkpointstore-table/package.json +++ b/sdk/eventhub/eventhubs-checkpointstore-table/package.json @@ -38,21 +38,20 @@ "build:test:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c rollup.test.config.js 2>&1", "build:test:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c rollup.test.config.js 2>&1", "build:test": "npm run build:test:node", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings *.tgz *.log", "execute:samples": "echo skipped", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", - "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"dist-esm/test/*.spec.js\"", + "integration-test:node": "nyc mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/{,!(browser)/**/}*.spec.ts\"", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", - "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", + "test:node": "npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", @@ -62,6 +61,7 @@ "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/event-hubs": "^5.6.0", + "@azure/data-tables": "^12.1.2", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" }, @@ -113,7 +113,7 @@ "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "util": "^0.12.1", "typedoc": "0.15.2" diff --git a/sdk/eventhub/eventhubs-checkpointstore-table/review/eventhubs-checkpointstore-table.api.md b/sdk/eventhub/eventhubs-checkpointstore-table/review/eventhubs-checkpointstore-table.api.md index 6dabe8576e58..c71a41e532e7 100644 --- a/sdk/eventhub/eventhubs-checkpointstore-table/review/eventhubs-checkpointstore-table.api.md +++ b/sdk/eventhub/eventhubs-checkpointstore-table/review/eventhubs-checkpointstore-table.api.md @@ -7,16 +7,18 @@ import { Checkpoint } from '@azure/event-hubs'; import { CheckpointStore } from '@azure/event-hubs'; import { PartitionOwnership } from '@azure/event-hubs'; +import { TableClient } from '@azure/data-tables'; // @public export const logger: import("@azure/logger").AzureLogger; // @public export class TableCheckpointStore implements CheckpointStore { - claimOwnership(): Promise; - listCheckpoints(): Promise; - listOwnership(): Promise; - updateCheckpoint(): Promise; + constructor(tableClient: TableClient); + claimOwnership(partitionOwnership: PartitionOwnership[]): Promise; + listCheckpoints(fullyQualifiedNamespace: string, eventHubName: string, consumerGroup: string): Promise; + listOwnership(fullyQualifiedNamespace: string, eventHubName: string, consumerGroup: string): Promise; + updateCheckpoint(checkpoint: Checkpoint): Promise; } diff --git a/sdk/eventhub/eventhubs-checkpointstore-table/sample.env b/sdk/eventhub/eventhubs-checkpointstore-table/sample.env new file mode 100644 index 000000000000..c8c5f848f571 --- /dev/null +++ b/sdk/eventhub/eventhubs-checkpointstore-table/sample.env @@ -0,0 +1,3 @@ +# Basic info that will be required all the time. +STORAGE_ACCOUNT_NAME= +STORAGE_ACCOUNT_KEY= diff --git a/sdk/eventhub/eventhubs-checkpointstore-table/src/tableCheckpointStore.ts b/sdk/eventhub/eventhubs-checkpointstore-table/src/tableCheckpointStore.ts index d1e17beb2318..432cdf7d8e96 100644 --- a/sdk/eventhub/eventhubs-checkpointstore-table/src/tableCheckpointStore.ts +++ b/sdk/eventhub/eventhubs-checkpointstore-table/src/tableCheckpointStore.ts @@ -2,12 +2,68 @@ // Licensed under the MIT license. import { CheckpointStore, PartitionOwnership, Checkpoint } from "@azure/event-hubs"; +import { odata, TableClient, TableInsertEntityHeaders } from "@azure/data-tables"; +import { logger, logErrorStackTrace } from "./log"; /** - * An implementation of CheckpointStore that uses Azure Table Storage to persist checkpoint data. + * + * Checks if the value contains a `Timestamp` field of type `string`. + */ +function _hasTimestamp( + value: T +): value is T & { Timestamp: string } { + return typeof (value as any).Timestamp === "string"; +} + +/** + * A checkpoint entity of type CheckpointEntity to be stored in the table + * @internal + * */ +export interface CheckpointEntity { + /** + * The partitionKey is a composite key assembled in the following format: + * `${fullyQualifiedNamespace} ${eventHubName} ${consumerGroup} Checkpoint` + */ + partitionKey: string; + /** + * The rowKey is the partitionId + * + */ + rowKey: string; + sequencenumber: string; + offset: string; +} + +/** + * An ownership entity of type PartitionOwnership to be stored in the table + * @internal + * @hidden + */ +export interface PartitionOwnershipEntity { + /** + * The partitionKey is a composite key assembled in the following format: + * `${fullyQualifiedNamespace} ${eventHubName} ${consumerGroup} Ownership` + */ + partitionKey: string; + /** + * The rowKey is the partitionId + * + */ + rowKey: string; + ownerid: string; +} +/** + * An implementation of CheckpointStore that uses Azure Table Storage to persist checkpoint data. + */ export class TableCheckpointStore implements CheckpointStore { + private _tableClient: TableClient; + + constructor(tableClient: TableClient) { + this._tableClient = tableClient; + } + /** * Get the list of all existing partition ownership from the underlying data store. May return empty * results if there are is no existing ownership information. @@ -22,14 +78,43 @@ export class TableCheckpointStore implements CheckpointStore { * - `tracingOptions`: Options for configuring tracing. * @returns Partition ownership details of all the partitions that have had an owner. */ - async listOwnership(): /* - fullyQualifiedNamespace: string, - eventHubName: string, - consumerGroup: string, - options: OperationOptions = {} - */ - Promise { - throw new Error("not implemented"); + async listOwnership( + fullyQualifiedNamespace: string, + eventHubName: string, + consumerGroup: string + ): Promise { + const partitionKey = `${fullyQualifiedNamespace} ${eventHubName} ${consumerGroup} Ownership`; + const partitionOwnershipArray: PartitionOwnership[] = []; + const entitiesIter = this._tableClient.listEntities({ + queryOptions: { filter: odata`PartitionKey eq ${partitionKey}` } + }); + try { + for await (const entity of entitiesIter) { + if (!entity.timestamp) { + throw new Error( + `Unable to retrieve timestamp from partitionKey "${partitionKey}", rowKey "${entity.rowKey}"` + ); + } + + const partitionOwnership: PartitionOwnership = { + fullyQualifiedNamespace, + eventHubName, + consumerGroup, + ownerId: entity.ownerid, + partitionId: entity.rowKey, + lastModifiedTimeInMs: new Date(entity.timestamp).getTime(), + etag: entity.etag + }; + partitionOwnershipArray.push(partitionOwnership); + } + return partitionOwnershipArray; + } catch (err) { + logger.warning(`Error occurred while fetching the list of entities`, err.message); + logErrorStackTrace(err); + if (err?.name === "AbortError") throw err; + + throw new Error(`Error occurred while fetching the list of entities. \n${err}`); + } } /** @@ -42,13 +127,80 @@ export class TableCheckpointStore implements CheckpointStore { * - `tracingOptions`: Options for configuring tracing. * @returns A list partitions this instance successfully claimed ownership. */ - async claimOwnership(): /* - partitionOwnership: PartitionOwnership[], - options: OperationOptions = {} - */ - Promise { - console.log("nothing to claim"); - throw new Error("not implemented"); + async claimOwnership(partitionOwnership: PartitionOwnership[]): Promise { + const partitionOwnershipArray: PartitionOwnership[] = []; + + for (const ownership of partitionOwnership) { + const updatedOwnership = { ...ownership }; + const partitionKey = `${ownership.fullyQualifiedNamespace} ${ownership.eventHubName} ${ownership.consumerGroup} Ownership`; + const ownershipEntity: PartitionOwnershipEntity = { + partitionKey: partitionKey, + rowKey: ownership.partitionId, + ownerid: ownership.ownerId + }; + + // When we have an etag, we know the entity existed. + // If we encounter an error we should fail. + try { + if (ownership.etag) { + const updatedMetadata = await this._tableClient.updateEntity(ownershipEntity, "Replace", { + etag: ownership.etag + }); + const entityRetrieved = await this._tableClient.getEntity( + ownershipEntity.partitionKey, + ownershipEntity.rowKey + ); + if (!entityRetrieved.timestamp) { + throw new Error( + `Unable to retrieve timestamp from partitionKey "${partitionKey}", rowKey "${entityRetrieved.rowKey}"` + ); + } + updatedOwnership.lastModifiedTimeInMs = new Date(entityRetrieved.timestamp).getTime(); + updatedOwnership.etag = updatedMetadata.etag; + partitionOwnershipArray.push(updatedOwnership); + logger.info( + `[${ownership.ownerId}] Claimed ownership successfully for partition: ${ownership.partitionId}`, + `LastModifiedTime: ${ownership.lastModifiedTimeInMs}, ETag: ${ownership.etag}` + ); + } else { + const newOwnershipMetadata = await this._tableClient.createEntity(ownershipEntity, { + requestOptions: { + customHeaders: { + Prefer: "return-content" + } + } + }); + + if (!_hasTimestamp(newOwnershipMetadata)) { + throw new Error( + `Unable to retrieve timestamp from partitionKey "${partitionKey}", rowKey "${ownershipEntity.rowKey}"` + ); + } + + updatedOwnership.lastModifiedTimeInMs = new Date( + newOwnershipMetadata.Timestamp + ).getTime(); + updatedOwnership.etag = newOwnershipMetadata.etag; + partitionOwnershipArray.push(updatedOwnership); + } + } catch (err) { + if (err.statusCode === 412) { + // etag failures (precondition not met) aren't fatal errors. They happen + // as multiple consumers attempt to claim the same partition (first one wins) + // and losers get this error. + logger.verbose( + `[${ownership.ownerId}] Did not claim partition ${ownership.partitionId}. Another processor has already claimed it.` + ); + continue; + } + logger.warning( + `Error occurred while claiming ownership for partition: ${ownership.partitionId}`, + err.message + ); + logErrorStackTrace(err); + } + } + return partitionOwnershipArray; } /** @@ -62,15 +214,27 @@ export class TableCheckpointStore implements CheckpointStore { * - `abortSignal`: A signal used to request operation cancellation. * - `tracingOptions`: Options for configuring tracing. */ - async listCheckpoints(): /* + async listCheckpoints( fullyQualifiedNamespace: string, eventHubName: string, - consumerGroup: string, - options: OperationOptions = {} - */ - Promise { - console.log("no checkpoints to list"); - throw new Error("not implemented"); + consumerGroup: string + ): Promise { + const partitionKey = `${fullyQualifiedNamespace} ${eventHubName} ${consumerGroup} Checkpoint`; + const checkpoints: Checkpoint[] = []; + const entitiesIter = this._tableClient.listEntities({ + queryOptions: { filter: odata`PartitionKey eq ${partitionKey}` } + }); + for await (const entity of entitiesIter) { + checkpoints.push({ + consumerGroup, + eventHubName, + fullyQualifiedNamespace, + partitionId: entity.rowKey, + offset: parseInt(entity.offset, 10), + sequenceNumber: parseInt(entity.sequencenumber, 10) + }); + } + return checkpoints; } /** @@ -82,8 +246,24 @@ export class TableCheckpointStore implements CheckpointStore { * - `tracingOptions`: Options for configuring tracing. * @returns A promise that resolves when the checkpoint has been updated. */ - async updateCheckpoint(/* checkpoint: Checkpoint */): Promise { - console.log("no checkpoint to update"); - throw new Error("not implemented"); + async updateCheckpoint(checkpoint: Checkpoint): Promise { + const partitionKey = `${checkpoint.fullyQualifiedNamespace} ${checkpoint.eventHubName} ${checkpoint.consumerGroup} Checkpoint`; + const checkpointEntity: CheckpointEntity = { + partitionKey: partitionKey, + rowKey: checkpoint.partitionId, + sequencenumber: checkpoint.sequenceNumber.toString(), + offset: checkpoint.offset.toString() + }; + try { + await this._tableClient.upsertEntity(checkpointEntity); + logger.verbose(`Updated checkpoint successfully for partition: ${checkpoint.partitionId}`); + return; + } catch (err) { + logger.verbose( + `Error occurred while upating the checkpoint for partition: ${checkpoint.partitionId}.`, + err.message + ); + throw err; + } } } diff --git a/sdk/eventhub/eventhubs-checkpointstore-table/test/tables-checkpointstore.spec.ts b/sdk/eventhub/eventhubs-checkpointstore-table/test/tables-checkpointstore.spec.ts new file mode 100644 index 000000000000..56f5ef080946 --- /dev/null +++ b/sdk/eventhub/eventhubs-checkpointstore-table/test/tables-checkpointstore.spec.ts @@ -0,0 +1,514 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +import chai from "chai"; +const should = chai.should(); +import { TableCheckpointStore } from "../src"; +import debugModule from "debug"; +const debug = debugModule("azure:event-hubs:tableCheckpointStore"); +import { Checkpoint, PartitionOwnership } from "@azure/event-hubs"; +import { EnvVarKeys, getEnvVars } from "./utils/testUtils"; +import { TableServiceClient, AzureNamedKeyCredential, TableClient } from "@azure/data-tables"; +import { CheckpointEntity, PartitionOwnershipEntity } from "../src/tableCheckpointStore"; + +const env = getEnvVars(); + +/* test to show that test framework is set up well */ +describe("TableCheckpointStore", () => { + it("is exported from the package", () => { + should.exist(TableCheckpointStore, "Expected TableCheckpointStore to be exported."); + }); +}); + +const service = { + storageAccountName: env[EnvVarKeys.STORAGE_ACCOUNT_NAME], + storageAccountKey: env[EnvVarKeys.STORAGE_ACCOUNT_KEY] +}; + +const credential = new AzureNamedKeyCredential( + service.storageAccountName, + service.storageAccountKey +); +const serviceClient = new TableServiceClient( + `https://${service.storageAccountName}.table.core.windows.net`, + credential +); + +describe("TableCheckpointStore", function(): void { + let client: TableClient; + let tableName: string; + beforeEach("creating table", async () => { + tableName = `table${new Date().getTime()}${Math.floor(Math.random() * 10) + 1}`; + client = new TableClient( + `https://${service.storageAccountName}.table.core.windows.net`, + tableName, + credential + ); + await serviceClient.createTable(tableName); + }); + afterEach(async () => { + await serviceClient.deleteTable(tableName); + }); + + describe("Runs tests on table with no entities", function() { + describe("listOwnership", function() { + it("listOwnership should return an empty array", async function(): Promise { + const checkpointStore = new TableCheckpointStore(client); + const listOwnership = await checkpointStore.listOwnership( + "test.servicebus.windows.net", + "testHub", + "testConsumerGroup" + ); + should.equal(listOwnership.length, 0); + }); + }); + + describe("listCheckpoints", function() { + it("listCheckpoint should return an empty array", async function(): Promise { + const checkpointStore = new TableCheckpointStore(client); + const checkpoints = await checkpointStore.listCheckpoints( + "test.servicebus.windows.net", + "testHub", + "testConsumerGroup" + ); + should.equal(checkpoints.length, 0); + }); + }); + describe("updateCheckpoint", function() { + it("creates a checkpoint where one doesn't already exist", async () => { + const checkpointStore = new TableCheckpointStore(client); + const eventHubProperties = { + fullyQualifiedNamespace: "pink.servicebus.windows.net", + eventHubName: "pinkHub", + consumerGroup: "testConsumerGroup" + }; + // Ensure that there aren't any checkpoints. + let checkpoints = await checkpointStore.listCheckpoints( + eventHubProperties.fullyQualifiedNamespace, + eventHubProperties.eventHubName, + eventHubProperties.consumerGroup + ); + checkpoints.length.should.equal(0); + // Create the checkpoint to add. + const checkpoint: Checkpoint = { + consumerGroup: eventHubProperties.consumerGroup, + eventHubName: eventHubProperties.eventHubName, + fullyQualifiedNamespace: eventHubProperties.fullyQualifiedNamespace, + offset: 0, + partitionId: "0", + sequenceNumber: 1 + }; + + await checkpointStore.updateCheckpoint(checkpoint); + // Ensure that there is a checkpoint. + checkpoints = await checkpointStore.listCheckpoints( + eventHubProperties.fullyQualifiedNamespace, + eventHubProperties.eventHubName, + eventHubProperties.consumerGroup + ); + + checkpoints.length.should.equal(1); + }); + + it("forwards errors", async () => { + const checkpointStore = new TableCheckpointStore(client); + const eventHubProperties = { + fullyQualifiedNamespace: "testNamespace.servicebus.windows.net", + eventHubName: "testEventHub", + consumerGroup: "testConsumerGroup" + }; + + // now let's induce a bad failure (removing the table) + await client.deleteTable(); + + // Create the checkpoint to add. + const checkpoint: Checkpoint = { + consumerGroup: eventHubProperties.consumerGroup, + eventHubName: eventHubProperties.eventHubName, + fullyQualifiedNamespace: eventHubProperties.fullyQualifiedNamespace, + offset: 0, + partitionId: "0", + sequenceNumber: 1 + }; + + try { + await checkpointStore.updateCheckpoint(checkpoint); + throw new Error("Test failure"); + } catch (err) { + err.message.should.not.equal("Test failure"); + } + }); + }); + + describe("claimOwnership", function() { + it("claimOwnership call should succeed, if it has been called for the first time", async function(): Promise< + void + > { + const checkpointStore = new TableCheckpointStore(client); + const listOwnership = await checkpointStore.listOwnership( + "testNamespace.servicebus.windows.net", + "testEventHub", + "testConsumerGroup" + ); + should.equal(listOwnership.length, 0); + + const partitionOwnership: PartitionOwnership = { + ownerId: "Id1", + partitionId: "0", + fullyQualifiedNamespace: "testNamespace.servicebus.windows.net", + consumerGroup: "testConsumerGroup", + eventHubName: "testEventHub" + }; + const partitionOwnershipArray = await checkpointStore.claimOwnership([partitionOwnership]); + should.equal(partitionOwnershipArray.length, 1); + + const ownershipList = await checkpointStore.listOwnership( + "testNamespace.servicebus.windows.net", + "testEventHub", + "testConsumerGroup" + ); + + should.equal(ownershipList.length, 1, "Unexpected number of ownerships in list."); + should.equal( + ownershipList[0].ownerId, + "Id1", + "The 1st ownership item has the wrong ownerId." + ); + should.equal( + ownershipList[0].consumerGroup, + "testConsumerGroup", + "The 1st ownership item has the wrong consumerGroup." + ); + should.equal( + ownershipList[0].fullyQualifiedNamespace, + "testNamespace.servicebus.windows.net", + "The 1st fullyQualifiedNamespace item has the wrong fullyQualifiedNamespace." + ); + should.equal( + ownershipList[0].eventHubName, + "testEventHub", + "The 1st ownership item has the wrong eventHubName." + ); + should.equal( + ownershipList[0].partitionId, + "0", + "The 1st ownership item has the wrong partitionId." + ); + should.exist(ownershipList[0].lastModifiedTimeInMs, "lastModifiedTimeInMs should exist."); + should.exist(ownershipList[0].etag, "etag should exist."); + debug( + `LastModifiedTime: ${ownershipList[0].lastModifiedTimeInMs!}, ETag: ${ + ownershipList[0].etag + }` + ); + }); + }); + }); + + describe("Runs tests on a populated table", function() { + const namespace = "blue.servicebus.windows.net"; + const eventHubName = "blueHub"; + const consumerGroup = "$default"; + beforeEach("creating table", async () => { + /* Checkpoint */ + const checkpoint_entity: CheckpointEntity = { + partitionKey: `${namespace} ${eventHubName} ${consumerGroup} Checkpoint`, + rowKey: "0", + sequencenumber: "100", + offset: "1023" + }; + await client.createEntity(checkpoint_entity); + + /* Ownership */ + const ownership_entity: PartitionOwnershipEntity = { + partitionKey: `${namespace} ${eventHubName} ${consumerGroup} Ownership`, + rowKey: "0", + ownerid: "Id0" + }; + await client.createEntity(ownership_entity); + }); + + describe("listOwnership", function() { + it("listOwnership should print an array of ownerships", async function() { + const checkpointStore = new TableCheckpointStore(client); + const listOwnership = await checkpointStore.listOwnership( + "blue.servicebus.windows.net", + "blueHub", + "$default" + ); + should.equal(listOwnership.length, 1); + }); + + describe("listCheckpoints", function() { + it("listCheckpoints should print out an array of checkpoints", async function() { + const checkpointStore = new TableCheckpointStore(client); + const listCheckpoint = await checkpointStore.listCheckpoints( + "blue.servicebus.windows.net", + "blueHub", + "$default" + ); + should.equal(listCheckpoint.length, 1); + }); + }); + + describe("claimOwnership", function() { + // these errors happen when we have multiple consumers starting up + // at the same time and load balancing amongst themselves. This is a + // normal thing and shouldn't be reported to the user. + + it("claimOwnership ignores errors about etags", async () => { + const checkpointStore = new TableCheckpointStore(client); + const listOwnership = await checkpointStore.listOwnership( + "blue.servicebus.windows.net", + "blueHub", + "$default" + ); + + const originalClaimedOwnerships = await checkpointStore.claimOwnership([ + listOwnership[0] + ]); + + const originalETag = originalClaimedOwnerships[0].etag; + const newClaimedOwnerships = await checkpointStore.claimOwnership( + originalClaimedOwnerships + ); + + newClaimedOwnerships.length.should.equal(1); + + newClaimedOwnerships.length.should.equal(1); + newClaimedOwnerships[0]!.etag!.should.not.equal(originalETag); + + // we've now invalidated the previous ownership's etag so using the old etag will fail + + const shouldNotThrowButNothingWillClaim = await checkpointStore.claimOwnership([ + { + partitionId: "0", + consumerGroup: "$default", + fullyQualifiedNamespace: "blue.servicebus.windows.net", + eventHubName: "blueHub", + ownerId: "Id0", + etag: originalETag + } + ]); + + shouldNotThrowButNothingWillClaim.length.should.equal(0); + }); + + it("After multiple claimOwnership calls for a single partition, listOwnership should return an array with a single PartitionOwnership for that partition.", async function(): Promise< + void + > { + const checkpointStore = new TableCheckpointStore(client); + const listOwnership = await checkpointStore.listOwnership( + "testNamespace.servicebus.windows.net", + "testEventHub", + "testConsumerGroup" + ); + should.equal(listOwnership.length, 0); + const partitionOwnershipArray: PartitionOwnership[] = []; + + for (let index = 0; index < 3; index++) { + const partitionOwnership: PartitionOwnership = { + ownerId: "Id1", + partitionId: `${index}`, + fullyQualifiedNamespace: "testNamespace.servicebus.windows.net", + consumerGroup: "testConsumerGroup", + eventHubName: "testEventHub" + }; + partitionOwnershipArray.push(partitionOwnership); + } + + await checkpointStore.claimOwnership([partitionOwnershipArray[0]]); + await checkpointStore.claimOwnership([partitionOwnershipArray[1]]); + await checkpointStore.claimOwnership([partitionOwnershipArray[2]]); + const ownershipList = await checkpointStore.listOwnership( + "testNamespace.servicebus.windows.net", + "testEventHub", + "testConsumerGroup" + ); + should.equal(ownershipList.length, 3, "Unexpected number of ownerships in list."); + should.equal( + ownershipList[0].ownerId, + "Id1", + "The 1st ownership item has the wrong ownerId." + ); + should.equal( + ownershipList[0].consumerGroup, + "testConsumerGroup", + "The 1st ownership item has the wrong consumerGroup." + ); + should.equal( + ownershipList[0].fullyQualifiedNamespace, + "testNamespace.servicebus.windows.net", + "The 1st fullyQualifiedNamespace item has the wrong fullyQualifiedNamespace." + ); + + should.equal( + ownershipList[0].eventHubName, + "testEventHub", + "The 1st ownership item has the wrong eventHubName." + ); + should.equal( + ownershipList[0].partitionId, + "0", + "The 1st ownership item has the wrong partitionId." + ); + should.exist(ownershipList[0].lastModifiedTimeInMs, "lastModifiedTimeInMs should exist."); + should.exist(ownershipList[0].etag, "etag should exist."); + debug( + `LastModifiedTime: ${ownershipList[0].lastModifiedTimeInMs!}, ETag: ${ + ownershipList[0].etag + }` + ); + }); + + it("After multiple claimOwnership calls for multiple partition, listOwnership should return an array with a single PartitionOwnership for each partition.", async function(): Promise< + void + > { + const checkpointStore = new TableCheckpointStore(client); + const listOwnership = await checkpointStore.listOwnership( + "testNamespace.servicebus.windows.net", + "testEventHub", + "testConsumerGroup" + ); + should.equal(listOwnership.length, 0); + + const partitionOwnershipArray: PartitionOwnership[] = []; + + for (let index = 0; index < 3; index++) { + const partitionOwnership: PartitionOwnership = { + ownerId: "Id1", + partitionId: `${index}`, + fullyQualifiedNamespace: "testNamespace.servicebus.windows.net", + consumerGroup: "testConsumerGroup", + eventHubName: "testEventHub" + }; + partitionOwnershipArray.push(partitionOwnership); + } + await checkpointStore.claimOwnership([partitionOwnershipArray[0]]); + await checkpointStore.claimOwnership([partitionOwnershipArray[1]]); + await checkpointStore.claimOwnership([partitionOwnershipArray[2]]); + + const ownershipList = await checkpointStore.listOwnership( + "testNamespace.servicebus.windows.net", + "testEventHub", + "testConsumerGroup" + ); + + should.equal(ownershipList.length, 3, "Unexpected number of ownerships in list."); + should.equal( + ownershipList[0].ownerId, + "Id1", + "The 1st ownership item has the wrong ownerId." + ); + should.equal( + ownershipList[0].consumerGroup, + "testConsumerGroup", + "The 1st ownership item has the wrong consumerGroup." + ); + + should.equal( + ownershipList[0].fullyQualifiedNamespace, + "testNamespace.servicebus.windows.net", + "The 1st fullyQualifiedNamespace item has the wrong fullyQualifiedNamespace." + ); + should.equal( + ownershipList[0].eventHubName, + "testEventHub", + "The 1st ownership item has the wrong eventHubName." + ); + should.equal( + ownershipList[0].eventHubName, + "testEventHub", + "The 1st ownership item has the wrong eventHubName." + ); + should.equal( + ownershipList[0].partitionId, + "0", + "The 1st ownership item has the wrong partitionId." + ); + should.exist(ownershipList[0].lastModifiedTimeInMs, "lastModifiedTimeInMs should exist."); + should.exist(ownershipList[0].etag, "etag should exist."); + + should.equal( + ownershipList[1].partitionId, + "1", + "The 2nd ownership item has the wrong partitionId." + ); + should.exist(ownershipList[1].lastModifiedTimeInMs, "lastModifiedTimeInMs should exist."); + should.exist(ownershipList[1].etag, "etag should exist."); + + should.equal( + ownershipList[2].partitionId, + "2", + "The 3rd ownership item has the wrong partitionId." + ); + should.exist(ownershipList[2].lastModifiedTimeInMs, "lastModifiedTimeInMs should exist."); + should.exist(ownershipList[2].etag, "etag should exist."); + }); + }); + }); + + describe("updateCheckpoint", function() { + it("updates checkpoints successfully", async () => { + const checkpointStore = new TableCheckpointStore(client); + const eventHubProperties = { + fullyQualifiedNamespace: "testNamespace.servicebus.windows.net", + eventHubName: "testEventHub", + consumerGroup: "testConsumerGroup" + }; + let i = 0; + while (i < 3) { + const checkpoint: Checkpoint = { + ...eventHubProperties, + partitionId: i.toString(), + sequenceNumber: 100 + i, + offset: 1023 + i + }; + await checkpointStore.updateCheckpoint(checkpoint); + i++; + } + + let checkpoints = await checkpointStore.listCheckpoints( + eventHubProperties.fullyQualifiedNamespace, + eventHubProperties.eventHubName, + eventHubProperties.consumerGroup + ); + checkpoints.length.should.equal(3); + checkpoints.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); + + for (i = 0; i < 3; ++i) { + const checkpoint = checkpoints[i]; + + checkpoint.partitionId.should.equal(i.toString()); + checkpoint.fullyQualifiedNamespace.should.equal("testNamespace.servicebus.windows.net"); + checkpoint.consumerGroup.should.equal("testConsumerGroup"); + checkpoint.eventHubName.should.equal("testEventHub"); + checkpoint.sequenceNumber!.should.equal(100 + i); + checkpoint.offset!.should.equal(1023 + i); + + // now update it + checkpoint.offset++; + checkpoint.sequenceNumber++; + + await checkpointStore.updateCheckpoint(checkpoint); + } + checkpoints = await checkpointStore.listCheckpoints( + eventHubProperties.fullyQualifiedNamespace, + eventHubProperties.eventHubName, + eventHubProperties.consumerGroup + ); + checkpoints.length.should.equal(3); + checkpoints.sort((a, b) => a.partitionId.localeCompare(b.partitionId)); + for (i = 0; i < 3; ++i) { + const checkpoint = checkpoints[i]; + + checkpoint.partitionId.should.equal(i.toString()); + checkpoint.fullyQualifiedNamespace.should.equal("testNamespace.servicebus.windows.net"); + checkpoint.consumerGroup.should.equal("testConsumerGroup"); + checkpoint.eventHubName.should.equal("testEventHub"); + checkpoint.sequenceNumber!.should.equal(100 + i + 1); + checkpoint.offset!.should.equal(1023 + i + 1); + } + }); + }); + }); +}); diff --git a/sdk/eventhub/eventhubs-checkpointstore-table/test/tables-checkpointstorespec.ts b/sdk/eventhub/eventhubs-checkpointstore-table/test/tables-checkpointstorespec.ts deleted file mode 100644 index 4dd535d709a6..000000000000 --- a/sdk/eventhub/eventhubs-checkpointstore-table/test/tables-checkpointstorespec.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import chai from "chai"; -const should = chai.should(); -import { TableCheckpointStore } from "../src"; - -/* test to show that test framework is set up well */ -describe("TableCheckpointStore", () => { - it("is exported from the package", () => { - should.exist(TableCheckpointStore, "Expected TableCheckpointStore to be exported."); - }); -}); diff --git a/sdk/eventhub/eventhubs-checkpointstore-table/test/utils/testUtils.ts b/sdk/eventhub/eventhubs-checkpointstore-table/test/utils/testUtils.ts new file mode 100644 index 000000000000..b9d38c776496 --- /dev/null +++ b/sdk/eventhub/eventhubs-checkpointstore-table/test/utils/testUtils.ts @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import * as dotenv from "dotenv"; +dotenv.config(); + +declare const self: any; + +export const isNode = + !!process && !!process.version && !!process.versions && !!process.versions.node; + +export enum EnvVarKeys { + STORAGE_ACCOUNT_NAME = "STORAGE_ACCOUNT_NAME", + STORAGE_ACCOUNT_KEY = "STORAGE_ACCOUNT_KEY" +} + +function getEnvVarValue(name: string): string | undefined { + if (isNode) { + return process.env[name]; + } else { + return self.__env__[name]; + } +} + +export function getEnvVars(): { [key in EnvVarKeys]: any } { + return { + [EnvVarKeys.STORAGE_ACCOUNT_KEY]: getEnvVarValue(EnvVarKeys.STORAGE_ACCOUNT_KEY), + [EnvVarKeys.STORAGE_ACCOUNT_NAME]: getEnvVarValue(EnvVarKeys.STORAGE_ACCOUNT_NAME) + }; +} diff --git a/sdk/eventhub/mock-hub/package.json b/sdk/eventhub/mock-hub/package.json index a4bc00a2a119..83e936df7d9d 100644 --- a/sdk/eventhub/mock-hub/package.json +++ b/sdk/eventhub/mock-hub/package.json @@ -13,7 +13,7 @@ "types": "types/index.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "dev-tool samples prep && cd dist-samples && tsc -p .", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", @@ -27,7 +27,6 @@ "lint:fix": "echo skipped", "lint": "eslint package.json src --ext .ts -f html -o mock-hub-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "prepare": "npm run build", "test": "echo \"No tests implemented\"", "unit-test:browser": "echo skipped", diff --git a/sdk/eventhub/mock-hub/samples/javascript/src/ehSample.js b/sdk/eventhub/mock-hub/samples/javascript/src/ehSample.js index a731ae25a082..a6c087f600bb 100644 --- a/sdk/eventhub/mock-hub/samples/javascript/src/ehSample.js +++ b/sdk/eventhub/mock-hub/samples/javascript/src/ehSample.js @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -const { readFileSync } = require('fs'); -const { resolve: resolvePath } = require('path'); +const { readFileSync } = require("fs"); +const { resolve: resolvePath } = require("path"); const { MockEventHub } = require("@azure/mock-hub"); // Load the .env file if it exists @@ -14,19 +14,24 @@ async function main() { name: "mock-hub", partitionCount: 4, consumerGroups: ["foo"], - connectionInactivityTimeoutInMs: 300000 // 5 minutes + connectionInactivityTimeoutInMs: 300000, // 5 minutes + port: 5671, + tlsOptions: { + pfx: readFileSync(resolvePath(__dirname, "certs", "my-cert.pfx")), + passphrase: process.env["CERT_PASSPHRASE"] + } }); await service.start({ port: 5671, tlsOptions: { - pfx: readFileSync(resolvePath(__dirname, 'certs', 'my-cert.pfx')), + pfx: readFileSync(resolvePath(__dirname, "certs", "my-cert.pfx")), passphrase: process.env["CERT_PASSPHRASE"] } }); // Wait a minute then shut the service down. - await new Promise(resolve => setTimeout(resolve, 60000)); + await new Promise((resolve) => setTimeout(resolve, 60000)); return service.stop(); } diff --git a/sdk/eventhub/mock-hub/samples/typescript/readme.md b/sdk/eventhub/mock-hub/samples/typescript/readme.md index fb742ff3ecc0..a10b4f89bde4 100644 --- a/sdk/eventhub/mock-hub/samples/typescript/readme.md +++ b/sdk/eventhub/mock-hub/samples/typescript/readme.md @@ -4,7 +4,7 @@ This sample shows how to use the Azure Mock Hub utility. ## Prerequisites -The samples are compatible with Node.js >= 8.0.0. +The samples are compatible with all [LTS versions of Node.js](https://nodejs.org/about/releases/). You'll also need to generate a pfx certificate chain that the mock service will use to enforce TLS. diff --git a/sdk/eventhub/mock-hub/samples/typescript/src/ehSample.ts b/sdk/eventhub/mock-hub/samples/typescript/src/ehSample.ts index a813ca9db326..a8ccdb1d2ee8 100644 --- a/sdk/eventhub/mock-hub/samples/typescript/src/ehSample.ts +++ b/sdk/eventhub/mock-hub/samples/typescript/src/ehSample.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { readFileSync } from 'fs'; -import { resolve as resolvePath } from 'path'; +import { readFileSync } from "fs"; +import { resolve as resolvePath } from "path"; import { MockEventHub } from "@azure/mock-hub"; // Load the .env file if it exists @@ -14,19 +14,18 @@ export async function main(): Promise { name: "mock-hub", partitionCount: 4, consumerGroups: ["foo"], - connectionInactivityTimeoutInMs: 300000 // 5 minutes - }); - - await service.start({ + connectionInactivityTimeoutInMs: 300000, // 5 minutes port: 5671, tlsOptions: { - pfx: readFileSync(resolvePath(__dirname, 'certs', 'my-cert.pfx')), + pfx: readFileSync(resolvePath(__dirname, "certs", "my-cert.pfx")), passphrase: process.env["CERT_PASSPHRASE"] } }); + await service.start(); + // Wait a minute then shut the service down. - await new Promise(resolve => setTimeout(resolve, 60000)); + await new Promise((resolve) => setTimeout(resolve, 60000)); return service.stop(); } diff --git a/sdk/eventhub/mock-hub/src/index.ts b/sdk/eventhub/mock-hub/src/index.ts index 7ff25dd9c331..975d8b0f817f 100644 --- a/sdk/eventhub/mock-hub/src/index.ts +++ b/sdk/eventhub/mock-hub/src/index.ts @@ -1,5 +1,5 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export { MockEventHub, MockEventHubOptions } from "./services/eventHubs"; -export { StartOptions } from "./server/mockServer"; +export { MockEventHub, MockEventHubOptions, IMockEventHub } from "./services/eventHubs"; +export { MockServerOptions } from "./server/mockServer"; diff --git a/sdk/eventhub/mock-hub/src/sender/streamingPartitionSender.ts b/sdk/eventhub/mock-hub/src/sender/streamingPartitionSender.ts index a83de4090389..bd09fc975fab 100644 --- a/sdk/eventhub/mock-hub/src/sender/streamingPartitionSender.ts +++ b/sdk/eventhub/mock-hub/src/sender/streamingPartitionSender.ts @@ -112,8 +112,9 @@ export class StreamingPartitionSender { // And away it goes! sender.send(outgoingMessage); } catch (err) { - console.error(`Unexpected error while streaming events: `, err); - // swallow errors + if ((err as any)?.name !== "AbortError") { + console.error(`Unexpected error while streaming events: `, err); + } } } while (!abortSignal.aborted && !nextResult?.done); } diff --git a/sdk/eventhub/mock-hub/src/server/mockServer.ts b/sdk/eventhub/mock-hub/src/server/mockServer.ts index 38ed33eadd55..a83437ab5b02 100644 --- a/sdk/eventhub/mock-hub/src/server/mockServer.ts +++ b/sdk/eventhub/mock-hub/src/server/mockServer.ts @@ -18,7 +18,7 @@ import { } from "rhea"; import { convertBufferToMessages } from "../utils/convertBufferToMessage"; -export interface StartOptions { +export interface MockServerOptions { /** * The port number the server should listen on. * If not specified, an open port will be chosen at random. @@ -121,9 +121,11 @@ export interface OnMessagesEvent { export class MockServer extends EventEmitter { private _container: Container; private _listener?: ReturnType; + private _options: MockServerOptions; - constructor() { + constructor(options: MockServerOptions = {}) { super(); + this._options = options; this._container = create_container(); } @@ -140,11 +142,11 @@ export class MockServer extends EventEmitter { } /** - * Starts the server using the specified options. - * @param options + * Starts the server. */ - public start(options: StartOptions = {}): Promise { + public start(): Promise { return new Promise((resolve, reject) => { + const options = this._options; const ONE_MB = 1024 * 1024; const listenOptions: ListenOptions & ConnectionOptions & any = { port: options.port ?? 0, @@ -254,11 +256,13 @@ export class MockServer extends EventEmitter { } return new Promise((resolve, reject) => { listener.close((err) => { - if (err) { - reject(err); - } else { - resolve(); - } + setTimeout(() => { + if (err) { + reject(err); + } else { + resolve(); + } + }, 0); }); }); } @@ -343,7 +347,10 @@ export class MockServer extends EventEmitter { : [message]; for (const m of incomingMessages) { - if (m.body?.content) { + // The multiple check detects if an AMQP message is actually a batch of messages. + // If it is, then content is an array of individual AMQP messages. + // Otherwise, it's the content of a single AMQP message (e.g. sequence body type). + if (m.body.multiple && m.body?.content) { m.body = m.body.content; } } diff --git a/sdk/eventhub/mock-hub/src/services/eventHubs.ts b/sdk/eventhub/mock-hub/src/services/eventHubs.ts index 304b903de9a0..621d67f8e5e0 100644 --- a/sdk/eventhub/mock-hub/src/services/eventHubs.ts +++ b/sdk/eventhub/mock-hub/src/services/eventHubs.ts @@ -13,7 +13,7 @@ import { } from "rhea"; import { MockServer, - StartOptions, + MockServerOptions, SenderOpenEvent, ReceiverOpenEvent, OnMessagesEvent, @@ -34,7 +34,16 @@ import { generateBadPartitionInfoResponse } from "../messages/event-hubs/partitionInfo"; -export interface MockEventHubOptions { +export interface IMockEventHub { + readonly partitionIds: string[]; + readonly consumerGroups: Set; + readonly port: number; + + start: () => Promise; + stop: () => Promise; +} + +export interface MockEventHubOptions extends MockServerOptions { /** * The number of partitions for the Event Hub. * Defaults to 2. @@ -73,7 +82,7 @@ interface PartionReceiverEntityComponents { * * It stores events in memory and does not perform any auth verification. */ -export class MockEventHub { +export class MockEventHub implements IMockEventHub { /** * When the EventHub was 'created'. */ @@ -151,7 +160,7 @@ export class MockEventHub { this._consumerGroups = options.consumerGroups ?? []; this._connectionInactivityTimeoutInMs = options.connectionInactivityTimeoutInMs ?? 0; - this._mockServer = new MockServer(); + this._mockServer = new MockServer(options); this._mockServer.on("receiverOpen", this._handleReceiverOpen); this._mockServer.on("senderOpen", this._handleSenderOpen); this._mockServer.on("senderClose", this._handleSenderClose); @@ -199,7 +208,6 @@ export class MockEventHub { * @param event */ private _handleReceiverOpen = (event: ReceiverOpenEvent) => { - console.log(`Attempting to open receiver: ${event.entityPath}`); event.receiver.set_source(event.receiver.source); event.receiver.set_target(event.receiver.target); if (this._isReceiverPartitionEntityPath(event.entityPath)) { @@ -228,7 +236,6 @@ export class MockEventHub { * @param event */ private _handleSenderOpen = (event: SenderOpenEvent) => { - console.log(`Attempting to open sender: ${event.entityPath}`); event.sender.set_source(event.sender.source); event.sender.set_target(event.sender.target); if (event.entityPath === "$cbs") { @@ -294,7 +301,7 @@ export class MockEventHub { // Probably should close the sender at this point. event.sender.close({ condition: "amqp:internal-error", - description: err?.message ?? "" + description: (err as any)?.message ?? "" }); } } @@ -363,8 +370,6 @@ export class MockEventHub { * @param event */ private _handleOnMessages = (event: OnMessagesEvent) => { - console.log(`message entityPath: "${event.entityPath}"`); - // Handle batched messages first. if (event.entityPath === this._name) { // received a message without a partition id @@ -481,7 +486,6 @@ export class MockEventHub { const maxMessageSize = event.context.receiver?.get_option("max_message_size", 1024 * 1024) ?? 1024 * 1024; if (deliverySize >= maxMessageSize) { - console.log("too large!"); delivery.reject({ condition: "amqp:link:message-size-exceeded", description: `The received message (delivery-id:${ @@ -697,11 +701,9 @@ export class MockEventHub { /** * Starts the service. - * @param options */ - start(options: StartOptions) { - // this.enableDebug(1000); - return this._mockServer.start(options); + start() { + return this._mockServer.start(); } /** diff --git a/sdk/eventhub/perf-tests/event-hubs-track-1/README.md b/sdk/eventhub/perf-tests/event-hubs-track-1/README.md new file mode 100644 index 000000000000..599dc7c6d5b1 --- /dev/null +++ b/sdk/eventhub/perf-tests/event-hubs-track-1/README.md @@ -0,0 +1,31 @@ +## Setting up the perf project + +1. Navigate to `sdk/eventhub/perf-tests/event-hubs-track-1`. +2. Do `rush update`. +3. Run `npm run setup`. + + _Note: Since this is an independent npm project as opposed to being managed by rush, steps 2 & 3 help in building the perf framework and installing it in this track-1 perf test project._ + +## Environment setup + +Create an event-hubs namespace and populate the `.env` file with the following variables. + +- `EVENTHUB_CONNECTION_STRING`, +- `EVENTHUB_NAME` and +- `CONSUMER_GROUP_NAME` + +## Running the tests + +- To test sending messages in batches + + > npm run perf-test:node -- SendTest --warmup 2 --duration 7 --parallel 2 + + _Note: For more default options, refer [Perf-Framework-Default-Options](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/perfstress/README.md#keyconcepts)._ + +- To test receiving messages (this test does not use the framework, is a standalone test) + + `ts-node test/receive.spec.ts [eventBodySize] [numberOfEvents]`, + + For example, + + > ts-node test/receive.spec.ts 1024 10000 diff --git a/sdk/eventhub/perf-tests/event-hubs-track-1/package.json b/sdk/eventhub/perf-tests/event-hubs-track-1/package.json new file mode 100644 index 000000000000..6ed0035a64fa --- /dev/null +++ b/sdk/eventhub/perf-tests/event-hubs-track-1/package.json @@ -0,0 +1,49 @@ +{ + "name": "@azure-tests/perf-event-hubs-track-1", + "version": "1.0.0", + "description": "", + "main": "", + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@azure/core-amqp": "^3.0.0", + "@azure/event-hubs": "^2.1.4", + "uuid": "^8.3.0", + "@azure/test-utils-perfstress": "file:../../../test-utils/perfstress/azure-test-utils-perfstress-1.0.0.tgz", + "dotenv": "^8.2.0", + "moment": "^2.24.0" + }, + "devDependencies": { + "@types/node": "^8.0.0", + "@types/uuid": "^8.0.0", + "ts-node": "^8.3.0", + "tslib": "^2.0.0", + "typescript": "4.1.2", + "prettier": "^1.16.4" + }, + "private": true, + "scripts": { + "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", + "build": "tsc -p .", + "build:samples": "echo skipped", + "build:test": "echo skipped", + "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-esm test-dist typings *.tgz *.log", + "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "lint:fix": "eslint --no-eslintrc -c ../../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint --no-eslintrc -c ../../../../.eslintrc.internal.json package.json test --ext .ts", + "pack": "npm pack 2>&1", + "perf-test:node": "ts-node test/index.spec.ts", + "setup": "node ../../../../common/tools/perf-tests-track-1-setup.js", + "unit-test:browser": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test": "echo skipped", + "test:browser": "echo skipped", + "test:node": "echo skipped", + "test": "echo skipped" + } +} diff --git a/sdk/eventhub/perf-tests/event-hubs-track-1/sample.env b/sdk/eventhub/perf-tests/event-hubs-track-1/sample.env new file mode 100644 index 000000000000..56199992bd80 --- /dev/null +++ b/sdk/eventhub/perf-tests/event-hubs-track-1/sample.env @@ -0,0 +1,3 @@ +EVENTHUB_CONNECTION_STRING= +EVENTHUB_NAME= +CONSUMER_GROUP_NAME= diff --git a/sdk/eventhub/event-hubs/test/perf/track-1/index.spec.ts b/sdk/eventhub/perf-tests/event-hubs-track-1/test/index.spec.ts similarity index 100% rename from sdk/eventhub/event-hubs/test/perf/track-1/index.spec.ts rename to sdk/eventhub/perf-tests/event-hubs-track-1/test/index.spec.ts diff --git a/sdk/eventhub/event-hubs/test/perf/track-1/receive.spec.ts b/sdk/eventhub/perf-tests/event-hubs-track-1/test/receive.spec.ts similarity index 96% rename from sdk/eventhub/event-hubs/test/perf/track-1/receive.spec.ts rename to sdk/eventhub/perf-tests/event-hubs-track-1/test/receive.spec.ts index d551529f1f58..7fc2d6b4de62 100644 --- a/sdk/eventhub/event-hubs/test/perf/track-1/receive.spec.ts +++ b/sdk/eventhub/perf-tests/event-hubs-track-1/test/receive.spec.ts @@ -5,7 +5,7 @@ Measures the maximum throughput of `receiver.receive()` in package `@azure/event # Instructions 1. Create an Event Hubs namespace with `Tier=Standard` and `Throughput Units=20`. 2. Create an Event Hub inside the namespace. -3. Set env vars `EVENTHUB_CONNECTION_STRING`, `EVENTHUB_NAME` and `CONSUMER_GROUP_NAME` at the .env file at `eventhub\event-hubs` folder. +3. Set env vars `EVENTHUB_CONNECTION_STRING`, `EVENTHUB_NAME` and `CONSUMER_GROUP_NAME` in the .env file. 4. This test presumes that there are no messages in the event hub. 5. `ts-node receive.ts [eventBodySize] [numberOfEvents]` 6. Example: `ts-node receive.ts 1024 1000000` @@ -16,9 +16,8 @@ import { getEnvVar } from "@azure/test-utils-perfstress"; import moment from "moment"; import { delay } from "@azure/core-amqp"; -// Load the .env file if it exists -import * as dotenv from "dotenv"; -dotenv.config({ path: "../../../.env" }); +import { config } from "dotenv"; +config(); const _start = moment(); diff --git a/sdk/eventhub/event-hubs/test/perf/track-1/send.spec.ts b/sdk/eventhub/perf-tests/event-hubs-track-1/test/send.spec.ts similarity index 91% rename from sdk/eventhub/event-hubs/test/perf/track-1/send.spec.ts rename to sdk/eventhub/perf-tests/event-hubs-track-1/test/send.spec.ts index 07bd3ec3d0d3..370186e2cab4 100644 --- a/sdk/eventhub/event-hubs/test/perf/track-1/send.spec.ts +++ b/sdk/eventhub/perf-tests/event-hubs-track-1/test/send.spec.ts @@ -8,9 +8,8 @@ import { } from "@azure/test-utils-perfstress"; import { EventHubClient, EventData } from "@azure/event-hubs"; -// Expects the .env file at the same level as the "test" folder -import * as dotenv from "dotenv"; -dotenv.config({ path: "../../../.env" }); +import { config } from "dotenv"; +config(); const connectionString = getEnvVar("EVENTHUB_CONNECTION_STRING"); const eventHubName = getEnvVar("EVENTHUB_NAME"); diff --git a/sdk/eventhub/perf-tests/event-hubs-track-1/tsconfig.json b/sdk/eventhub/perf-tests/event-hubs-track-1/tsconfig.json new file mode 100644 index 000000000000..ae1e95af25c7 --- /dev/null +++ b/sdk/eventhub/perf-tests/event-hubs-track-1/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../../tsconfig.package", + "compilerOptions": { + "module": "CommonJS", + "declarationDir": "./typings/latest", + "lib": ["ES6", "ESNext.AsyncIterable"], + "noEmit": true + }, + "compileOnSave": true, + "include": ["./test/**/*.ts"] +} diff --git a/sdk/eventhub/perf-tests/event-hubs/README.md b/sdk/eventhub/perf-tests/event-hubs/README.md new file mode 100644 index 000000000000..2224bd2147a2 --- /dev/null +++ b/sdk/eventhub/perf-tests/event-hubs/README.md @@ -0,0 +1,28 @@ +## Setting up the perf project + +1. Build the event-hubs perf test project `rush build -t perf-event-hubs`. +2. Navigate to `cd sdk/eventhub/perf-tests/event-hubs`. + +## Environment setup + +Create an event-hubs namespace and populate the `.env` file with the following variables. + +- `EVENTHUB_CONNECTION_STRING`, +- `EVENTHUB_NAME` and +- `CONSUMER_GROUP_NAME` + +## Running the tests + +- To test sending messages in batches + + > npm run perf-test:node -- SendTest --warmup 2 --duration 7 --parallel 2 + + _Note: For more default options, refer [Perf-Framework-Default-Options](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/perfstress/README.md#keyconcepts)._ + +- To test receiving messages (this test does not use the framework, is a standalone test) + + `ts-node test/receive.spec.ts [eventBodySize] [numberOfEvents]`, + + For example, + + > ts-node test/receive.spec.ts 1024 10000 diff --git a/sdk/eventhub/perf-tests/event-hubs/package.json b/sdk/eventhub/perf-tests/event-hubs/package.json new file mode 100644 index 000000000000..12b8f7f64063 --- /dev/null +++ b/sdk/eventhub/perf-tests/event-hubs/package.json @@ -0,0 +1,51 @@ +{ + "name": "@azure-tests/perf-event-hubs", + "sdk-type": "perf-test", + "version": "1.0.0", + "description": "", + "main": "", + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@azure/event-hubs": "^5.6.0", + "@azure/core-amqp": "^3.0.0", + "@azure/test-utils-perfstress": "^1.0.0", + "dotenv": "^8.2.0", + "moment": "^2.24.0", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@types/uuid": "^8.0.0", + "@types/node": "^12.0.0", + "eslint": "^7.15.0", + "prettier": "^1.16.4", + "rimraf": "^3.0.0", + "tslib": "^2.2.0", + "ts-node": "^10.0.0", + "typescript": "~4.2.0" + }, + "private": true, + "scripts": { + "perf-test:node": "ts-node test/index.spec.ts", + "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", + "build": "npm run clean && tsc -p .", + "build:samples": "echo skipped", + "build:test": "echo skipped", + "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-esm test-dist typings *.tgz *.log", + "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", + "pack": "npm pack 2>&1", + "unit-test:browser": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test": "echo skipped", + "test:browser": "echo skipped", + "test:node": "echo skipped", + "test": "echo skipped" + } +} diff --git a/sdk/eventhub/perf-tests/event-hubs/sample.env b/sdk/eventhub/perf-tests/event-hubs/sample.env new file mode 100644 index 000000000000..56199992bd80 --- /dev/null +++ b/sdk/eventhub/perf-tests/event-hubs/sample.env @@ -0,0 +1,3 @@ +EVENTHUB_CONNECTION_STRING= +EVENTHUB_NAME= +CONSUMER_GROUP_NAME= diff --git a/sdk/eventhub/event-hubs/test/perf/track-2/index.spec.ts b/sdk/eventhub/perf-tests/event-hubs/test/index.spec.ts similarity index 100% rename from sdk/eventhub/event-hubs/test/perf/track-2/index.spec.ts rename to sdk/eventhub/perf-tests/event-hubs/test/index.spec.ts diff --git a/sdk/eventhub/event-hubs/test/perf/track-2/receive.spec.ts b/sdk/eventhub/perf-tests/event-hubs/test/receive.spec.ts similarity index 93% rename from sdk/eventhub/event-hubs/test/perf/track-2/receive.spec.ts rename to sdk/eventhub/perf-tests/event-hubs/test/receive.spec.ts index 821fc4be4676..aebe9e79277f 100644 --- a/sdk/eventhub/event-hubs/test/perf/track-2/receive.spec.ts +++ b/sdk/eventhub/perf-tests/event-hubs/test/receive.spec.ts @@ -8,10 +8,10 @@ Measures the maximum throughput of `receiver.receive()` in package `@azure/event # Instructions 1. Create an Event Hubs namespace with `Tier=Standard` and `Throughput Units=20`. 2. Create an Event Hub inside the namespace. -3. Set env vars `EVENTHUB_CONNECTION_STRING`, `EVENTHUB_NAME` and `CONSUMER_GROUP_NAME` at the .env file at `eventhub\event-hubs` folder. +3. Set env vars `EVENTHUB_CONNECTION_STRING`, `EVENTHUB_NAME` and `CONSUMER_GROUP_NAME` in the .env file. 4. This test presumes that there are no messages in the event hub. -5. `tsc -p . --module "commonjs" && node dist-esm\test\perf\track-2\receive.spec.js receive.ts [eventBodySize] [numberOfEvents]` -6. Example: `tsc -p . --module "commonjs" && node dist-esm\test\perf\track-2\receive.spec.js receive.ts 1024 1000000` +5. `ts-node test/receive.spec.ts [eventBodySize] [numberOfEvents]` +6. Example: `ts-node test/receive.spec.ts 1024 10000` */ import { @@ -20,7 +20,7 @@ import { EventData, PartitionContext, EventHubProducerClient -} from "../../../src"; +} from "@azure/event-hubs"; import { getEnvVar } from "@azure/test-utils-perfstress"; import moment from "moment"; import { delay } from "@azure/core-amqp"; diff --git a/sdk/eventhub/event-hubs/test/perf/track-2/send.spec.ts b/sdk/eventhub/perf-tests/event-hubs/test/send.spec.ts similarity index 95% rename from sdk/eventhub/event-hubs/test/perf/track-2/send.spec.ts rename to sdk/eventhub/perf-tests/event-hubs/test/send.spec.ts index 565e4cde80c9..7683b1724d5a 100644 --- a/sdk/eventhub/event-hubs/test/perf/track-2/send.spec.ts +++ b/sdk/eventhub/perf-tests/event-hubs/test/send.spec.ts @@ -6,7 +6,7 @@ import { PerfStressOptionDictionary, PerfStressTest } from "@azure/test-utils-perfstress"; -import { EventHubProducerClient, EventData } from "../../../src"; +import { EventHubProducerClient, EventData } from "@azure/event-hubs"; // Expects the .env file at the same level as the "test" folder import * as dotenv from "dotenv"; diff --git a/sdk/eventhub/perf-tests/event-hubs/tsconfig.json b/sdk/eventhub/perf-tests/event-hubs/tsconfig.json new file mode 100644 index 000000000000..ae1e95af25c7 --- /dev/null +++ b/sdk/eventhub/perf-tests/event-hubs/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../../tsconfig.package", + "compilerOptions": { + "module": "CommonJS", + "declarationDir": "./typings/latest", + "lib": ["ES6", "ESNext.AsyncIterable"], + "noEmit": true + }, + "compileOnSave": true, + "include": ["./test/**/*.ts"] +} diff --git a/sdk/eventhub/test-resources.json b/sdk/eventhub/test-resources.json index 061f4fb69f40..131060808c02 100644 --- a/sdk/eventhub/test-resources.json +++ b/sdk/eventhub/test-resources.json @@ -197,6 +197,14 @@ } ], "outputs": { + "STORAGE_ACCOUNT_NAME": { + "type": "string", + "value": "[variables('storageAccountName')]" + }, + "STORAGE_ACCOUNT_KEY": { + "type": "string", + "value": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), variables('storageApiVersion')).keys[0].value]" + }, "EVENTHUB_NAME": { "type": "string", "value": "[variables('eventHubName')]" diff --git a/sdk/features/arm-features/CHANGELOG.md b/sdk/features/arm-features/CHANGELOG.md index 1cc8d7a27293..202845fbbfed 100644 --- a/sdk/features/arm-features/CHANGELOG.md +++ b/sdk/features/arm-features/CHANGELOG.md @@ -1,39 +1,57 @@ +# Release History + +## 30.0.0-beta.5 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.4 (2021-09-07) + +**Bug Fixes** + + - readme samples update + ## 30.0.0-beta.3 (2021-07-27) - + **Features** - - Added operation group SubscriptionFeatureRegistrations - - Added Interface AuthorizationProfile - - Added Interface ErrorDefinition - - Added Interface ErrorResponse - - Added Interface ProxyResource - - Added Interface SubscriptionFeatureRegistrationList - - Added Interface SubscriptionFeatureRegistrationProperties - - Added Interface SubscriptionFeatureRegistrationsCreateOrUpdateOptionalParams - - Added Interface SubscriptionFeatureRegistrationsDeleteOptionalParams - - Added Interface SubscriptionFeatureRegistrationsGetOptionalParams - - Added Interface SubscriptionFeatureRegistrationsListAllBySubscriptionNextOptionalParams - - Added Interface SubscriptionFeatureRegistrationsListAllBySubscriptionOptionalParams - - Added Interface SubscriptionFeatureRegistrationsListBySubscriptionNextOptionalParams - - Added Interface SubscriptionFeatureRegistrationsListBySubscriptionOptionalParams - - Added Type Alias SubscriptionFeatureRegistration - - Added Type Alias SubscriptionFeatureRegistrationApprovalType - - Added Type Alias SubscriptionFeatureRegistrationsCreateOrUpdateResponse - - Added Type Alias SubscriptionFeatureRegistrationsGetResponse - - Added Type Alias SubscriptionFeatureRegistrationsListAllBySubscriptionNextResponse - - Added Type Alias SubscriptionFeatureRegistrationsListAllBySubscriptionResponse - - Added Type Alias SubscriptionFeatureRegistrationsListBySubscriptionNextResponse - - Added Type Alias SubscriptionFeatureRegistrationsListBySubscriptionResponse - - Added Type Alias SubscriptionFeatureRegistrationState - - Added Enum KnownSubscriptionFeatureRegistrationApprovalType - - Added Enum KnownSubscriptionFeatureRegistrationState + - Added operation group SubscriptionFeatureRegistrations + - Added Interface AuthorizationProfile + - Added Interface ErrorDefinition + - Added Interface ErrorResponse + - Added Interface ProxyResource + - Added Interface SubscriptionFeatureRegistrationList + - Added Interface SubscriptionFeatureRegistrationProperties + - Added Interface SubscriptionFeatureRegistrationsCreateOrUpdateOptionalParams + - Added Interface SubscriptionFeatureRegistrationsDeleteOptionalParams + - Added Interface SubscriptionFeatureRegistrationsGetOptionalParams + - Added Interface SubscriptionFeatureRegistrationsListAllBySubscriptionNextOptionalParams + - Added Interface SubscriptionFeatureRegistrationsListAllBySubscriptionOptionalParams + - Added Interface SubscriptionFeatureRegistrationsListBySubscriptionNextOptionalParams + - Added Interface SubscriptionFeatureRegistrationsListBySubscriptionOptionalParams + - Added Type Alias SubscriptionFeatureRegistration + - Added Type Alias SubscriptionFeatureRegistrationApprovalType + - Added Type Alias SubscriptionFeatureRegistrationsCreateOrUpdateResponse + - Added Type Alias SubscriptionFeatureRegistrationsGetResponse + - Added Type Alias SubscriptionFeatureRegistrationsListAllBySubscriptionNextResponse + - Added Type Alias SubscriptionFeatureRegistrationsListAllBySubscriptionResponse + - Added Type Alias SubscriptionFeatureRegistrationsListBySubscriptionNextResponse + - Added Type Alias SubscriptionFeatureRegistrationsListBySubscriptionResponse + - Added Type Alias SubscriptionFeatureRegistrationState + - Added Enum KnownSubscriptionFeatureRegistrationApprovalType + - Added Enum KnownSubscriptionFeatureRegistrationState **Breaking Changes** - - Removed operation Features.listAllNext - - Removed operation Features.listNext - - Class FeatureClient has a new required parameter subscriptionFeatureRegistrations - + - Removed operation Features.listAllNext + - Removed operation Features.listNext + - Class FeatureClient has a new required parameter subscriptionFeatureRegistrations + ## 30.0.0-beta.2 (2021-07-16) This is the first preview for the new version of the `@azure/arm-features` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. diff --git a/sdk/features/arm-features/README.md b/sdk/features/arm-features/README.md index 2e32e98c21a7..0e9d31db77d2 100644 --- a/sdk/features/arm-features/README.md +++ b/sdk/features/arm-features/README.md @@ -47,7 +47,8 @@ Set the values of the client ID, tenant ID, and client secret of the AAD applica ```javascript const { FeatureClient } = require("@azure/arm-features"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new FeatureClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new FeatureClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts diff --git a/sdk/features/arm-features/package.json b/sdk/features/arm-features/package.json index c28beeab286a..0091a8ba88a4 100644 --- a/sdk/features/arm-features/package.json +++ b/sdk/features/arm-features/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for FeatureClient.", - "version": "30.0.0-beta.3", + "version": "30.0.0-beta.5", "engines": { "node": ">=12.0.0" }, @@ -93,4 +93,4 @@ }, "sideEffects": false, "autoPublish": true -} \ No newline at end of file +} diff --git a/sdk/features/arm-features/src/featureClientContext.ts b/sdk/features/arm-features/src/featureClientContext.ts index 82060b513440..feb689ce8da3 100644 --- a/sdk/features/arm-features/src/featureClientContext.ts +++ b/sdk/features/arm-features/src/featureClientContext.ts @@ -42,7 +42,7 @@ export class FeatureClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-features/30.0.0-beta.3`; + const packageDetails = `azsdk-js-arm-features/30.0.0-beta.4`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/formrecognizer/ai-form-recognizer/CHANGELOG.md b/sdk/formrecognizer/ai-form-recognizer/CHANGELOG.md index 18df251660bd..393155369006 100644 --- a/sdk/formrecognizer/ai-form-recognizer/CHANGELOG.md +++ b/sdk/formrecognizer/ai-form-recognizer/CHANGELOG.md @@ -1,6 +1,16 @@ # Release History -## 3.2.0 (2021-08-10) +## 3.2.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 3.2.0 (2021-08-11) ### Features Added @@ -9,8 +19,6 @@ - Changed TS compilation target to ES2017 in order to produce smaller bundles and use more native platform features -### Breaking Changes - ### Key Bugs Fixed - Fixed an issue in which form recognition would sometimes fail due to encountering an element reference pointing to a selection mark, causing an exception to be thrown. These references are now handled correctly. diff --git a/sdk/formrecognizer/ai-form-recognizer/karma.conf.js b/sdk/formrecognizer/ai-form-recognizer/karma.conf.js index c0e7902e1aca..32814e7c1080 100644 --- a/sdk/formrecognizer/ai-form-recognizer/karma.conf.js +++ b/sdk/formrecognizer/ai-form-recognizer/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/formrecognizer/ai-form-recognizer/package.json b/sdk/formrecognizer/ai-form-recognizer/package.json index 7ca6f47d3a1a..d8254830c273 100644 --- a/sdk/formrecognizer/ai-form-recognizer/package.json +++ b/sdk/formrecognizer/ai-form-recognizer/package.json @@ -3,7 +3,7 @@ "sdk-type": "client", "author": "Microsoft Corporation", "description": "An isomorphic client library for the Azure Form Recognizer service.", - "version": "3.2.0", + "version": "3.2.1", "keywords": [ "node", "azure", @@ -57,7 +57,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log test-results.*xml", "execute:samples": "dev-tool samples run samples-dev/", @@ -69,7 +69,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -93,9 +92,9 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", diff --git a/sdk/formrecognizer/ai-form-recognizer/samples/v3/javascript/package.json b/sdk/formrecognizer/ai-form-recognizer/samples/v3/javascript/package.json index 5464b5b823f3..06a9611f13aa 100644 --- a/sdk/formrecognizer/ai-form-recognizer/samples/v3/javascript/package.json +++ b/sdk/formrecognizer/ai-form-recognizer/samples/v3/javascript/package.json @@ -28,6 +28,6 @@ "dependencies": { "@azure/ai-form-recognizer": "latest", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.5" } } diff --git a/sdk/formrecognizer/ai-form-recognizer/samples/v3/typescript/package.json b/sdk/formrecognizer/ai-form-recognizer/samples/v3/typescript/package.json index 9eb58556ac61..8877482a484d 100644 --- a/sdk/formrecognizer/ai-form-recognizer/samples/v3/typescript/package.json +++ b/sdk/formrecognizer/ai-form-recognizer/samples/v3/typescript/package.json @@ -32,7 +32,7 @@ "dependencies": { "@azure/ai-form-recognizer": "latest", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.5" }, "devDependencies": { "typescript": "~4.2.0", diff --git a/sdk/formrecognizer/ai-form-recognizer/src/constants.ts b/sdk/formrecognizer/ai-form-recognizer/src/constants.ts index 7c4981d61cf3..3df70ba13df0 100644 --- a/sdk/formrecognizer/ai-form-recognizer/src/constants.ts +++ b/sdk/formrecognizer/ai-form-recognizer/src/constants.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "3.2.0"; +export const SDK_VERSION: string = "3.2.1"; export const DEFAULT_COGNITIVE_SCOPE = "https://cognitiveservices.azure.com/.default"; diff --git a/sdk/formrecognizer/ai-form-recognizer/src/generated/generatedClientContext.ts b/sdk/formrecognizer/ai-form-recognizer/src/generated/generatedClientContext.ts index 5077b13a4553..5cfede1f7383 100644 --- a/sdk/formrecognizer/ai-form-recognizer/src/generated/generatedClientContext.ts +++ b/sdk/formrecognizer/ai-form-recognizer/src/generated/generatedClientContext.ts @@ -10,7 +10,7 @@ import * as coreHttp from "@azure/core-http"; import { GeneratedClientOptionalParams } from "./models"; const packageName = "@azure/ai-form-recognizer"; -const packageVersion = "3.2.0"; +const packageVersion = "3.2.1"; /** @hidden */ export class GeneratedClientContext extends coreHttp.ServiceClient { diff --git a/sdk/formrecognizer/ai-form-recognizer/swagger/README.md b/sdk/formrecognizer/ai-form-recognizer/swagger/README.md index 106e60e0ee61..ff423a9ed95c 100644 --- a/sdk/formrecognizer/ai-form-recognizer/swagger/README.md +++ b/sdk/formrecognizer/ai-form-recognizer/swagger/README.md @@ -18,7 +18,7 @@ add-credentials: false override-client-name: GeneratedClient use-extension: "@autorest/typescript": "6.0.0-dev.20210121.2" -package-version: "3.2.0" +package-version: "3.2.1" disable-async-iterators: true hide-clients: true ``` diff --git a/sdk/formrecognizer/ai-form-recognizer/test/public/browser/formrecognizerclient.spec.ts b/sdk/formrecognizer/ai-form-recognizer/test/public/browser/formrecognizerclient.spec.ts index cfab99f1cef5..0f95db4ea0f4 100644 --- a/sdk/formrecognizer/ai-form-recognizer/test/public/browser/formrecognizerclient.spec.ts +++ b/sdk/formrecognizer/ai-form-recognizer/test/public/browser/formrecognizerclient.spec.ts @@ -5,7 +5,7 @@ import { assert } from "chai"; import { Context } from "mocha"; import { DefaultHttpClient, WebResource } from "@azure/core-http"; import { FormRecognizerClient, AzureKeyCredential } from "../../../src"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { createRecordedRecognizerClient, testEnv, diff --git a/sdk/formrecognizer/ai-form-recognizer/test/public/formtrainingclient.spec.ts b/sdk/formrecognizer/ai-form-recognizer/test/public/formtrainingclient.spec.ts index 4671b1db9c0c..ca2e5cb9dca5 100644 --- a/sdk/formrecognizer/ai-form-recognizer/test/public/formtrainingclient.spec.ts +++ b/sdk/formrecognizer/ai-form-recognizer/test/public/formtrainingclient.spec.ts @@ -6,7 +6,7 @@ import { Context } from "mocha"; import { matrix } from "@azure/test-utils"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { testPollingOptions, createRecorder, makeCredential } from "../utils/recordedClients"; diff --git a/sdk/formrecognizer/ai-form-recognizer/test/public/node/formrecognizerclient.spec.ts b/sdk/formrecognizer/ai-form-recognizer/test/public/node/formrecognizerclient.spec.ts index 6ccd548fb64f..a70b065ba390 100644 --- a/sdk/formrecognizer/ai-form-recognizer/test/public/node/formrecognizerclient.spec.ts +++ b/sdk/formrecognizer/ai-form-recognizer/test/public/node/formrecognizerclient.spec.ts @@ -14,7 +14,7 @@ import { KnownFormLocale } from "../../../src"; import { testPollingOptions, makeCredential, createRecorder } from "../../utils/recordedClients"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { matrix } from "@azure/test-utils"; const endpoint = (): string => env.FORM_RECOGNIZER_ENDPOINT; diff --git a/sdk/formrecognizer/ai-form-recognizer/test/utils/recordedClients.ts b/sdk/formrecognizer/ai-form-recognizer/test/utils/recordedClients.ts index a6c9fa24eb65..fa499f1d6d9f 100644 --- a/sdk/formrecognizer/ai-form-recognizer/test/utils/recordedClients.ts +++ b/sdk/formrecognizer/ai-form-recognizer/test/utils/recordedClients.ts @@ -9,7 +9,7 @@ import { record, RecorderEnvironmentSetup, isPlaybackMode -} from "@azure/test-utils-recorder"; +} from "@azure-tools/test-recorder"; import { AzureKeyCredential, FormTrainingClient, FormRecognizerClient } from "../../src"; import { ClientSecretCredential } from "@azure/identity"; diff --git a/sdk/formrecognizer/perf-tests/ai-form-recognizer/package.json b/sdk/formrecognizer/perf-tests/ai-form-recognizer/package.json index 722ffbccbc1f..bb05a686b2f9 100644 --- a/sdk/formrecognizer/perf-tests/ai-form-recognizer/package.json +++ b/sdk/formrecognizer/perf-tests/ai-form-recognizer/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-ai-form-recognizer", + "sdk-type": "perf-test", "version": "1.0.0", "private": true, "description": "Performance Tests for @azure/ai-form-recognizer", @@ -9,7 +10,7 @@ "license": "ISC", "dependencies": { "@azure/ai-form-recognizer": "3.1.0-beta.3", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "@azure/test-utils-perfstress": "^1.0.0", "dotenv": "^8.2.0", "tslib": "^2.2.0" @@ -19,17 +20,17 @@ "eslint": "^7.15.0", "prettier": "^1.16.4", "rimraf": "^3.0.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -37,7 +38,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/graphrbac/graph/README.md b/sdk/graphrbac/graph/README.md index 7e058779e73a..7572eb4fa447 100644 --- a/sdk/graphrbac/graph/README.md +++ b/sdk/graphrbac/graph/README.md @@ -10,8 +10,8 @@ Helpful links: ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/hybridkubernetes/arm-hybridkubernetes/README.md b/sdk/hybridkubernetes/arm-hybridkubernetes/README.md index a0c8d66fe7c2..72d11b5e4944 100644 --- a/sdk/hybridkubernetes/arm-hybridkubernetes/README.md +++ b/sdk/hybridkubernetes/arm-hybridkubernetes/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ConnectedKubernetesClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/identity/identity-cache-persistence/.gitignore b/sdk/identity/identity-cache-persistence/.gitignore index 3c8af5ad63ff..8b137891791f 100644 --- a/sdk/identity/identity-cache-persistence/.gitignore +++ b/sdk/identity/identity-cache-persistence/.gitignore @@ -1 +1 @@ -!test/assets/cert.pem + diff --git a/sdk/identity/identity-cache-persistence/CHANGELOG.md b/sdk/identity/identity-cache-persistence/CHANGELOG.md index eae0ea049497..79f3a14ad6be 100644 --- a/sdk/identity/identity-cache-persistence/CHANGELOG.md +++ b/sdk/identity/identity-cache-persistence/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 1.0.0-beta.2 (Unreleased) +## 1.0.0-beta.3 (Unreleased) ### Features Added @@ -10,6 +10,18 @@ ### Other Changes +## 1.0.0-beta.2 (2021-09-09) + +### Bugs Fixed + +- Updated `@azure/msal-node` and `@azure/msal-node-extensions`, which fixed an issue that caused silent authentication to fail on requests with previously cached (and valid) tokens. + +### Other Changes + +- Changed the name of the "extension" API to the "plugin" API to reduce confusion between this package and VS Code extensions. This package is now a "plugin package." +- Renamed `cachePersistenceExtension` to `cachePersistencePlugin`. +- Renamed the `allowUnencryptedStorage` property of `TokenCachePersistenceOptions` (in the main @azure/identity package) to `unsafeAllowUnencryptedStorage` to make it clear that enabling the unencrypted storage feature is not generally safe for production use. + ## 1.0.0-beta.1 (2021-07-07) ### New features diff --git a/sdk/identity/identity-cache-persistence/README.md b/sdk/identity/identity-cache-persistence/README.md index ffd728000ef3..1739aa9d7bd8 100644 --- a/sdk/identity/identity-cache-persistence/README.md +++ b/sdk/identity/identity-cache-persistence/README.md @@ -1,11 +1,22 @@ -## Azure Identity Extension for Token Cache Persistence +## Azure Identity Plugin for Token Cache Persistence -This package provides an extension to the Azure Identity library for JavaScript ([`@azure/identity`](https://npmjs.com/package/@azure/identity)) that enables persistent token caching. Token cache persistence allows the built-in token cache to persist across sessions using a secure storage system provided by the local Operating System. +This package provides a plugin to the Azure Identity library for JavaScript ([`@azure/identity`](https://npmjs.com/package/@azure/identity)) that enables persistent token caching. Token cache persistence allows the built-in token cache to persist across sessions using a secure storage system provided by the local operating system. [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity-cache-persistence) | [Samples](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity-cache-persistence/samples-dev) ## Getting started +```javascript +import { useIdentityPlugin } from "@azure/identity"; +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; + +useIdentityPlugin(cachePersistencePlugin); +``` + +### Prerequisites + +- An [Azure subscription](https://azure.microsoft.com/free/). + ### Install the package This package is designed to be used with Azure Identity for JavaScript. Install both `@azure/identity` and this package using `npm`: @@ -15,40 +26,36 @@ $ npm install --save @azure/identity $ npm install --save @azure/identity-cache-persistence ``` -### Prerequisites - -- An [Azure subscription](https://azure.microsoft.com/free/). - #### Supported Environments -Azure Identity extensions for JavaScript support stable (even numbered) versions of Node.js starting from v12. While it may run in other Node versions, no support is guaranteed. `@azure/identity-cache-persistence` **does not** support browser environments. +Azure Identity plugins for JavaScript support stable (even numbered) versions of Node.js starting from v12. While the plugins may run in other Node versions, no support is guaranteed. `@azure/identity-cache-persistence` **does not** support browser environments. ## Key concepts If this is your first time using `@azure/identity` or the Microsoft identity platform (Azure Active Directory), we recommend that you read [Using `@azure/identity` with Microsoft Identity Platform](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/using-azure-identity.md) first. This document will give you a deeper understanding of the platform and how to configure your Azure account correctly. -### Azure Identity Extensions +### Azure Identity Plugins -As of `@azure/identity` version 2.0.0, the Identity client library for JavaScript includes an extension API. This package (`@azure/identity-cache-persistence`) exports an extension object that you must pass as an argument to the top-level `useIdentityExtension` function from the `@azure/identity` package. Enable token cache persistence in your program as follows: +As of `@azure/identity` version 2.0.0, the Identity client library for JavaScript includes a plugin API. This package (`@azure/identity-cache-persistence`) exports a plugin object that you must pass as an argument to the top-level `useIdentityPlugin` function from the `@azure/identity` package. Enable token cache persistence in your program as follows: -```typescript -import { useIdentityExtension } from "@azure/identity"; -import { cachePersistenceExtension } from "@azure/identity-cache-persistence"; +```javascript +import { useIdentityPlugin } from "@azure/identity"; +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; -useIdentityExtension(cachePersistenceExtension); +useIdentityPlugin(cachePersistencePlugin); ``` -After calling `useIdentityExtension`, the persistent token cache extension is registered to the `@azure/identity` package and will be available on all credentials that support persistent token caching (those that have `tokenCachePersistenceOptions` in their constructor options). +After calling `useIdentityPlugin`, the persistent token cache plugin is registered to the `@azure/identity` package and will be available on all credentials that support persistent token caching (those that have `tokenCachePersistenceOptions` in their constructor options). ## Examples -Once the extension is registered, you can enable token cache persistence by passing `tokenCachePersistenceOptions` with an `enabled` property set to `true` to a credential constructor. In the following example, we use the `DeviceCodeCredential`, since persistent caching of its tokens allows you to skip the interactive device-code authentication flow if a cached token is available. +Once the plugin is registered, you can enable token cache persistence by passing `tokenCachePersistenceOptions` with an `enabled` property set to `true` to a credential constructor. In the following example, we use the `DeviceCodeCredential`, since persistent caching of its tokens allows you to skip the interactive device-code authentication flow if a cached token is available. -```typescript -import { useIdentityExtension, DeviceCodeCredential } from "@azure/identity"; -import { cachePersistenceExtension } from "@azure/identity-cache-persistence"; +```javascript +import { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity"; +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; -useIdentityExtension(cachePersistenceExtension); +useIdentityPlugin(cachePersistencePlugin); async function main() { const credential = new DeviceCodeCredential({ diff --git a/sdk/identity/identity-cache-persistence/package.json b/sdk/identity/identity-cache-persistence/package.json index b35e2ebc7eb0..8947b88af4e9 100644 --- a/sdk/identity/identity-cache-persistence/package.json +++ b/sdk/identity/identity-cache-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@azure/identity-cache-persistence", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "sdk-type": "client", "description": "A secure, persistent token cache for Azure Identity credentials that uses the OS secret-management API", "main": "dist/index.js", @@ -10,9 +10,9 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo skipped", "build:test": "tsc -p . && rollup -c rollup.config.js 2>&1", - "build": "npm run extract-api && tsc -p . && rollup -c 2>&1", + "build": "npm run clean && npm run extract-api && tsc -p . && rollup -c 2>&1", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\" \"samples-dev/**/*.ts\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "execute:samples": "echo skipped", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\" \"samples-dev/**/*.ts\"", @@ -22,7 +22,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && npm run build:test && npm run unit-test && npm run integration-test", @@ -62,16 +61,16 @@ "sideEffects": false, "dependencies": { "@azure/core-auth": "^1.3.0", - "@azure/identity": "^2.0.0-beta.5", - "@azure/msal-node": "^1.1.0", - "@azure/msal-node-extensions": "1.0.0-alpha.7", + "@azure/identity": "^2.0.0-beta.7", + "@azure/msal-node": "^1.3.0", + "@azure/msal-node-extensions": "1.0.0-alpha.9", "keytar": "^7.6.0", "tslib": "^2.2.0" }, "devDependencies": { "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/dev-tool": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/jws": "^3.2.2", "@types/mocha": "^7.0.2", @@ -84,14 +83,13 @@ "inherits": "^2.0.3", "mocha": "^7.1.1", "mocha-junit-reporter": "^1.18.0", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "typescript": "~4.2.0", "util": "^0.12.1", "sinon": "^9.0.2", "@types/sinon": "^9.0.4", - "mock-fs": "^4.10.4", "typedoc": "0.15.2", "prettier": "^1.16.4" } diff --git a/sdk/identity/identity-cache-persistence/recordings/node/clientsecretcredential_internal/recording_authenticates_silently_with_tokencachepersistenceoptions.js b/sdk/identity/identity-cache-persistence/recordings/node/clientsecretcredential_internal/recording_authenticates_silently_with_tokencachepersistenceoptions.js index dc5389c124fd..2a374ab2c588 100644 --- a/sdk/identity/identity-cache-persistence/recordings/node/clientsecretcredential_internal/recording_authenticates_silently_with_tokencachepersistenceoptions.js +++ b/sdk/identity/identity-cache-persistence/recordings/node/clientsecretcredential_internal/recording_authenticates_silently_with_tokencachepersistenceoptions.js @@ -109,74 +109,3 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'Date', 'Wed, 09 Jun 2021 22:05:38 GMT' ]); - -nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .get('/common/discovery/instance') - .query(true) - .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ - 'Cache-Control', - 'max-age=86400, private', - 'Content-Type', - 'application/json; charset=utf-8', - 'Strict-Transport-Security', - 'max-age=31536000; includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Access-Control-Allow-Origin', - '*', - 'Access-Control-Allow-Methods', - 'GET, OPTIONS', - 'P3P', - 'CP="DSP CUR OTPi IND OTRi ONL FIN"', - 'x-ms-request-id', - '884b75b2-1b54-49f2-a391-454a07e21400', - 'x-ms-ests-server', - '2.1.11787.14 - NCUS ProdSlices', - 'Set-Cookie', - 'fpc=fpc;; expires=Fri, 09-Jul-2021 22:05:39 GMT; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'esctx=esctx; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', - 'Set-Cookie', - 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', - 'Date', - 'Wed, 09 Jun 2021 22:05:38 GMT', - 'Content-Length', - '980' -]); - -nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') - .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"tenant_region_scope":"NA","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ - 'Cache-Control', - 'max-age=86400, private', - 'Content-Type', - 'application/json; charset=utf-8', - 'Strict-Transport-Security', - 'max-age=31536000; includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Access-Control-Allow-Origin', - '*', - 'Access-Control-Allow-Methods', - 'GET, OPTIONS', - 'P3P', - 'CP="DSP CUR OTPi IND OTRi ONL FIN"', - 'x-ms-request-id', - '9e1bae85-2215-44d4-8edc-49f21d2d1a00', - 'x-ms-ests-server', - '2.1.11787.14 - EUS ProdSlices', - 'Set-Cookie', - 'fpc=fpc;; expires=Fri, 09-Jul-2021 22:05:39 GMT; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'esctx=esctx; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', - 'Set-Cookie', - 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', - 'Date', - 'Wed, 09 Jun 2021 22:05:38 GMT', - 'Content-Length', - '1651' -]); diff --git a/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_accepts_tokencachepersistenceoptions.js b/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_accepts_tokencachepersistenceoptions.js index 20612e770d36..8643d7ec1b44 100644 --- a/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_accepts_tokencachepersistenceoptions.js +++ b/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_accepts_tokencachepersistenceoptions.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"user_code":"USER_CODE","device_code":"DEVICE_CODE","verification_uri":"https://microsoft.com/devicelogin","expires_in":900,"interval": 0,"message":"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate."}, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_allows_passing_an_authenticationrecord_to_avoid_further_manual_authentications.js b/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_allows_passing_an_authenticationrecord_to_avoid_further_manual_authentications.js index efbb014a72e9..c8e85e60b8e4 100644 --- a/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_allows_passing_an_authenticationrecord_to_avoid_further_manual_authentications.js +++ b/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_allows_passing_an_authenticationrecord_to_avoid_further_manual_authentications.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"user_code":"USER_CODE","device_code":"DEVICE_CODE","verification_uri":"https://microsoft.com/devicelogin","expires_in":900,"interval": 0,"message":"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate."}, [ 'Cache-Control', 'no-store, no-cache', @@ -217,7 +217,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"user_code":"USER_CODE","device_code":"DEVICE_CODE","verification_uri":"https://microsoft.com/devicelogin","expires_in":900,"interval": 0,"message":"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate."}, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_authenticates_silently_with_tokencachepersistenceoptions.js b/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_authenticates_silently_with_tokencachepersistenceoptions.js index 616d46331ca6..719998727642 100644 --- a/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_authenticates_silently_with_tokencachepersistenceoptions.js +++ b/sdk/identity/identity-cache-persistence/recordings/node/devicecodecredential_internal/recording_authenticates_silently_with_tokencachepersistenceoptions.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"user_code":"USER_CODE","device_code":"DEVICE_CODE","verification_uri":"https://microsoft.com/devicelogin","expires_in":900,"interval": 0,"message":"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate."}, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity-cache-persistence/review/identity-cache-persistence.api.md b/sdk/identity/identity-cache-persistence/review/identity-cache-persistence.api.md index 4d1cf8afbe53..bc816854b790 100644 --- a/sdk/identity/identity-cache-persistence/review/identity-cache-persistence.api.md +++ b/sdk/identity/identity-cache-persistence/review/identity-cache-persistence.api.md @@ -4,10 +4,10 @@ ```ts -import { IdentityExtension } from '@azure/identity'; +import { IdentityPlugin } from '@azure/identity'; // @public -export const cachePersistenceExtension: IdentityExtension; +export const cachePersistencePlugin: IdentityPlugin; // (No @packageDocumentation comment for this package) diff --git a/sdk/identity/identity-cache-persistence/samples-dev/extension.ts b/sdk/identity/identity-cache-persistence/samples-dev/extension.ts index d826b5ca6ee7..d961ab2f5ea7 100644 --- a/sdk/identity/identity-cache-persistence/samples-dev/extension.ts +++ b/sdk/identity/identity-cache-persistence/samples-dev/extension.ts @@ -3,8 +3,8 @@ /** * This sample shows how to add a persistent token cache to `@azure/identity` - * using the persistence extension. Once the persistence extension is added - * through `useIdentityExtension`, some credentials, such as + * using the persistence plugin. Once the persistence plugin is added + * through `useIdentityPlugin`, some credentials, such as * `DeviceCodeCredential`, will be able to retrieve tokens from the cache rather * than requesting new tokens from the Azure Active Directory token endpoint. * @@ -12,13 +12,13 @@ * be set to `true` within `tokenCachePersistenceOptions` in the credential's * options. * - * @summary import and use the persistence extension + * @summary import and use the persistence plugin */ -import { useIdentityExtension, DeviceCodeCredential } from "@azure/identity"; +import { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity"; -import { cachePersistenceExtension } from "@azure/identity-cache-persistence"; -useIdentityExtension(cachePersistenceExtension); +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; +useIdentityPlugin(cachePersistencePlugin); import dotenv from "dotenv"; dotenv.config(); diff --git a/sdk/identity/identity-cache-persistence/src/index.ts b/sdk/identity/identity-cache-persistence/src/index.ts index 9dc439e31e78..33616f94933c 100644 --- a/sdk/identity/identity-cache-persistence/src/index.ts +++ b/sdk/identity/identity-cache-persistence/src/index.ts @@ -1,15 +1,15 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { IdentityExtension } from "@azure/identity"; +import { IdentityPlugin } from "@azure/identity"; -import { AzureExtensionContext } from "../../identity/src/extensions/provider"; +import { AzurePluginContext } from "../../identity/src/plugins/provider"; import { createPersistenceCachePlugin } from "./provider"; /** - * An extension that provides persistent token caching for `@azure/identity` - * credentials. The extension API is compatible with `@azure/identity` versions - * 2.0.0 and later. Load this extension using the `useIdentityExtension` + * A plugin that provides persistent token caching for `@azure/identity` + * credentials. The plugin API is compatible with `@azure/identity` versions + * 2.0.0 and later. Load this plugin using the `useIdentityPlugin` * function, imported from `@azure/identity`. * * In order to enable this functionality, you must also pass @@ -18,12 +18,12 @@ import { createPersistenceCachePlugin } from "./provider"; * * Example: * - * ```typescript - * import { useIdentityExtension, DeviceCodeCredential } from "@azure/identity"; - * import { cachePersistenceExtension } from "@azure/identity-cache-persistence"; + * ```javascript + * import { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity"; + * import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; * - * // Load the extension - * useIdentityExtension(cachePersistenceExtension); + * // Load the plugin + * useIdentityPlugin(cachePersistencePlugin); * * const credential = new DeviceCodeCredential({ * tokenCachePersistenceOptions: { @@ -33,8 +33,8 @@ import { createPersistenceCachePlugin } from "./provider"; * ``` */ -export const cachePersistenceExtension: IdentityExtension = (context) => { - const { cachePluginControl } = context as AzureExtensionContext; +export const cachePersistencePlugin: IdentityPlugin = (context) => { + const { cachePluginControl } = context as AzurePluginContext; cachePluginControl.setPersistence(createPersistenceCachePlugin); }; diff --git a/sdk/identity/identity-cache-persistence/src/platforms.ts b/sdk/identity/identity-cache-persistence/src/platforms.ts index 0a1d591fd696..9259c4113b03 100644 --- a/sdk/identity/identity-cache-persistence/src/platforms.ts +++ b/sdk/identity/identity-cache-persistence/src/platforms.ts @@ -20,8 +20,7 @@ import { TokenCachePersistenceOptions } from "@azure/identity"; * Local application data folder * Expected values: * - Darwin: '/Users/user/' - * - Windows 8: 'C:\Users\user\AppData\Local' - * - Windows XP: 'C:\Documents and Settings\user\Application Data\Local' + * - Windows 8+: 'C:\Users\user\AppData\Local' * - Linux: '/home/user/.local/share' * @internal */ @@ -37,8 +36,7 @@ export const defaultMsalValues = { name: "msal.cache", // Expected values: // - Darwin: '/Users/user/.IdentityService' - // - Windows 8: 'C:\Users\user\AppData\Local\.IdentityService' - // - Windows XP: 'C:\Documents and Settings\user\Application Data\Local\.IdentityService' + // - Windows 8+: 'C:\Users\user\AppData\Local\.IdentityService' // - Linux: '/home/user/.IdentityService' directory: path.join(localApplicationDataFolder, ".IdentityService") }, @@ -74,8 +72,7 @@ type MsalPersistenceFactory = (options?: MsalPersistenceOptions) => Promise' - * - Windows 8: 'C:\Users\user\AppData\Local\.IdentityService\' - * - Windows XP: 'C:\Documents and Settings\user\Application Data\Local\.IdentityService\' + * - Windows 8+: 'C:\Users\user\AppData\Local\.IdentityService\' * - Linux: '/home/user/.IdentityService/' * @internal */ @@ -87,8 +84,8 @@ function getPersistencePath(name: string): string { * Set of the platforms we attempt to deliver persistence on. * * - On Windows we use DPAPI. - * - On OSX (Darwin), we try to use the system's Keychain, otherwise if the property `allowUnencryptedStorage` is set to true, we use an unencrypted file. - * - On Linux, we try to use the system's Keyring, otherwise if the property `allowUnencryptedStorage` is set to true, we use an unencrypted file. + * - On OSX (Darwin), we try to use the system's Keychain, otherwise if the property `unsafeAllowUnencryptedStorage` is set to true, we use an unencrypted file. + * - On Linux, we try to use the system's Keyring, otherwise if the property `unsafeAllowUnencryptedStorage` is set to true, we use an unencrypted file. * * Other platforms _are not supported_ at this time. * @@ -102,7 +99,7 @@ export const msalPersistencePlatforms: Partial => { - const { name, allowUnencryptedStorage } = options; + const { name, unsafeAllowUnencryptedStorage } = options; const { service, account } = defaultMsalValues.keyChain; const persistencePath = getPersistencePath(name || defaultMsalValues.tokenCache.name); @@ -114,7 +111,7 @@ export const msalPersistencePlatforms: Partial => { - const { name, allowUnencryptedStorage } = options; + const { name, unsafeAllowUnencryptedStorage } = options; const { service, account } = defaultMsalValues.keyRing; const persistencePath = getPersistencePath(name || defaultMsalValues.tokenCache.name); @@ -134,7 +131,7 @@ export const msalPersistencePlatforms: Partial { }); ``` -You can also use `DefaultAzureCredential`, which will attempt to authenticate using the "Azure Account" extension for Visual Studio Code if it is available: +You can also use `DefaultAzureCredential`, which will attempt to authenticate using the "Azure Account" extension for Visual Studio Code if it's available: -```typescript -import { useIdentityExtension, DefaultAzureCredential } from "@azure/identity"; -import { vsCodeExtension } from "@azure/identity-vscode"; +```javascript +import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity"; +import { vsCodePlugin } from "@azure/identity-vscode"; -useIdentityExtension(vsCodeExtension); +useIdentityPlugin(vsCodePlugin); async function main() { - // With the extension enabled above, `DefaultAzureCredential` will use + // With the plugin enabled above, `DefaultAzureCredential` will use // Visual Studio Code's "Azure Account" extension to authenticate if // it is available. const credential = new DefaultAzureCredential(); diff --git a/sdk/identity/identity-vscode/package.json b/sdk/identity/identity-vscode/package.json index 6d02359e0caa..8fbe9dee04b8 100644 --- a/sdk/identity/identity-vscode/package.json +++ b/sdk/identity/identity-vscode/package.json @@ -1,6 +1,6 @@ { "name": "@azure/identity-vscode", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "sdk-type": "client", "description": "Use the Azure Account extension for Visual Studio Code to authenticate with Azure Identity", "main": "dist/index.js", @@ -10,9 +10,9 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo skipped", "build:test": "tsc -p . && rollup -c rollup.config.js 2>&1", - "build": "npm run extract-api && tsc -p . && rollup -c 2>&1", + "build": "npm run clean && npm run extract-api && tsc -p . && rollup -c 2>&1", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\" \"samples-dev/**/*.ts\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "execute:samples": "echo skipped", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\" \"samples-dev/**/*.ts\"", @@ -22,7 +22,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && npm run build:test && npm run unit-test && npm run integration-test", @@ -61,14 +60,14 @@ "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity-vscode/README.md", "sideEffects": false, "dependencies": { - "@azure/identity": "^2.0.0-beta.5", + "@azure/identity": "^2.0.0-beta.7", "keytar": "^7.6.0", "tslib": "^2.2.0" }, "devDependencies": { "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/dev-tool": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/jws": "^3.2.2", "@types/mocha": "^7.0.2", @@ -83,9 +82,8 @@ "inherits": "^2.0.3", "mocha": "^7.1.1", "mocha-junit-reporter": "^1.18.0", - "mock-fs": "^4.10.4", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "sinon": "^9.0.2", diff --git a/sdk/identity/identity-vscode/review/identity-vscode.api.md b/sdk/identity/identity-vscode/review/identity-vscode.api.md index 938540060eaa..6aac48819298 100644 --- a/sdk/identity/identity-vscode/review/identity-vscode.api.md +++ b/sdk/identity/identity-vscode/review/identity-vscode.api.md @@ -4,10 +4,10 @@ ```ts -import { IdentityExtension } from '@azure/identity'; +import { IdentityPlugin } from '@azure/identity'; // @public -export const vsCodeExtension: IdentityExtension; +export const vsCodePlugin: IdentityPlugin; // (No @packageDocumentation comment for this package) diff --git a/sdk/identity/identity-vscode/samples-dev/extension.ts b/sdk/identity/identity-vscode/samples-dev/extension.ts index ef72c4698a13..d7ed4c1fb7c4 100644 --- a/sdk/identity/identity-vscode/samples-dev/extension.ts +++ b/sdk/identity/identity-vscode/samples-dev/extension.ts @@ -2,23 +2,23 @@ // Licensed under the MIT license. /** - * In this sample, we use the extension API to provide an implementation of + * In this sample, we use the plugin API to provide an implementation of * `VisualStudioCodeCredential` to the `@azure/identity` package, and we use it - * through the `DefaultAzureCredential` class. Without the extension, the + * through the `DefaultAzureCredential` class. Without the plugin, the * credential will simply throw a `CredentialNotFoundError`, and the * `DefaultAzureCredential` will use a different credential, if one is * available. * - * @summary loads the `VisualStudioCodeCredential` extension and uses it through + * @summary loads the `VisualStudioCodeCredential` plugin and uses it through * `DefaultAzureCredential` */ -import { useIdentityExtension, DefaultAzureCredential } from "@azure/identity"; +import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity"; -// The extension is the package's default export, so you may import and use it -// as any name you like, and simply pass it to `useIdentityExtension`. -import { vsCodeExtension } from "@azure/identity-vscode"; -useIdentityExtension(vsCodeExtension); +// The plugin is the package's default export, so you may import and use it +// as any name you like, and simply pass it to `useIdentityPlugin`. +import { vsCodePlugin } from "@azure/identity-vscode"; +useIdentityPlugin(vsCodePlugin); export async function main() { const credential = new DefaultAzureCredential(); diff --git a/sdk/identity/identity-vscode/samples-dev/nodeEnv.ts b/sdk/identity/identity-vscode/samples-dev/nodeEnv.ts index 1ee058503bb0..db1136b62ebd 100644 --- a/sdk/identity/identity-vscode/samples-dev/nodeEnv.ts +++ b/sdk/identity/identity-vscode/samples-dev/nodeEnv.ts @@ -3,8 +3,8 @@ /** * This sample shows an example of how to load the `@azure/identity-vscode` - * extension only in certain environments. As an example, we use the NODE_ENV - * environment variable to determine whether or not to load the extension. + * plugin only in certain environments. As an example, we use the NODE_ENV + * environment variable to determine whether or not to load the plugin. * * NOTE: The NODE_ENV environment variable is merely a convention, and you are * responsible for setting it as appropriate, for example, by setting the @@ -14,26 +14,26 @@ * $ NODE_ENV="production" node dist/nodeEnv.js * ``` * - * @summary uses NODE_ENV to load the extension only in development environments + * @summary uses NODE_ENV to load the plugin only in development environments * @azsdk-weight -10 */ -import { useIdentityExtension, DefaultAzureCredential } from "@azure/identity"; +import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity"; // Get the environment according to NODE_ENV. If it is not defined, we will // assume the environment is _not_ a production environment. This may not be // what you want for your use case. const isProduction = process.env.NODE_ENV === "production"; -// We'll load the VisualStudioCodeCredential extension only in non-production +// We'll load the VisualStudioCodeCredential plugin only in non-production // environments. For your use case, this could be "development" only, but you // may also have other development environments. You can customize this logic to // suit your needs. if (!isProduction) { const { - vsCodeExtension + vsCodePlugin } = require("@azure/identity-vscode") as typeof import("@azure/identity-vscode"); - useIdentityExtension(vsCodeExtension); + useIdentityPlugin(vsCodePlugin); } export async function main() { diff --git a/sdk/identity/identity-vscode/src/index.ts b/sdk/identity/identity-vscode/src/index.ts index 6131f33b0524..62213c5d0da6 100644 --- a/sdk/identity/identity-vscode/src/index.ts +++ b/sdk/identity/identity-vscode/src/index.ts @@ -1,44 +1,44 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { IdentityExtension } from "@azure/identity"; +import { IdentityPlugin } from "@azure/identity"; -import { AzureExtensionContext } from "../../identity/src/extensions/provider"; +import { AzurePluginContext } from "../../identity/src/plugins/provider"; import keytar from "keytar"; const VSCodeServiceName = "VS Code Azure"; /** - * An extension that provides the dependencies of `VisualStudioCodeCredential` - * and enables it within `@azure/identity`. The extension API is compatible with - * `@azure/identity` versions 2.0.0 and later. Load this extension using the - * `useIdentityExtension` function, imported from `@azure/identity`. + * A plugin that provides the dependencies of `VisualStudioCodeCredential` + * and enables it within `@azure/identity`. The plugin API is compatible with + * `@azure/identity` versions 2.0.0 and later. Load this plugin using the + * `useIdentityPlugin` function, imported from `@azure/identity`. * * `VisualStudioCodeCredential` uses the authentication session from the "Azure * Account" extension in VS Code. * * To use this functionality, import `VisualStudioCodeCredential` or - * `DefaultAzureCredential` from `@azure/identity`. If this extension is not + * `DefaultAzureCredential` from `@azure/identity`. If this plugin is not * enabled, then `VisualStudioCodeCredential` will throw a * `CredentialUnavailableError`, and `DefaultAzureCredential` will not be able * to use authentication through Visual Studio Code. * * Example: * - * ```typescript - * import { useIdentityExtension, VisualStudioCodeCredential } from "@azure/identity"; - * import { vsCodeExtension } from "@azure/identity-vscode"; + * ```javascript + * import { useIdentityPlugin, VisualStudioCodeCredential } from "@azure/identity"; + * import { vsCodePlugin } from "@azure/identity-vscode"; * - * // Load the extension - * useIdentityExtension(vsCodeExtension); + * // Load the plugin + * useIdentityPlugin(vsCodePlugin); * - * // Now that the extension is loaded, this credential may be used + * // Now that the plugin is loaded, this credential may be used * const credential = new VisualStudioCodeCredential(); * ``` */ -export const vsCodeExtension: IdentityExtension = (context) => { - const { vsCodeCredentialControl } = context as AzureExtensionContext; +export const vsCodePlugin: IdentityPlugin = (context) => { + const { vsCodeCredentialControl } = context as AzurePluginContext; vsCodeCredentialControl.setVsCodeCredentialFinder(() => keytar.findCredentials(VSCodeServiceName) diff --git a/sdk/identity/identity-vscode/test/public/node/setup.spec.ts b/sdk/identity/identity-vscode/test/public/node/setup.spec.ts index b45a9f5b4f07..81a480730632 100644 --- a/sdk/identity/identity-vscode/test/public/node/setup.spec.ts +++ b/sdk/identity/identity-vscode/test/public/node/setup.spec.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { vsCodeExtension as extension } from "../../../src"; +import { vsCodePlugin as plugin } from "../../../src"; -import { useIdentityExtension } from "@azure/identity"; +import { useIdentityPlugin } from "@azure/identity"; before(function() { - useIdentityExtension(extension); + useIdentityPlugin(plugin); }); diff --git a/sdk/identity/identity-vscode/test/public/node/visualStudioCodeCredential.spec.ts b/sdk/identity/identity-vscode/test/public/node/visualStudioCodeCredential.spec.ts index 5be8e7a00e2b..2376e8077985 100644 --- a/sdk/identity/identity-vscode/test/public/node/visualStudioCodeCredential.spec.ts +++ b/sdk/identity/identity-vscode/test/public/node/visualStudioCodeCredential.spec.ts @@ -9,7 +9,7 @@ import sinon from "sinon"; import { MsalTestCleanup, msalNodeTestSetup } from "../../../../identity/test/msalTestUtils"; import { VisualStudioCodeCredential } from "@azure/identity"; -import { isRecordMode } from "@azure/test-utils-recorder"; +import { isRecordMode } from "@azure-tools/test-recorder"; const mockedResponse = [ { diff --git a/sdk/identity/identity/.gitignore b/sdk/identity/identity/.gitignore index 2dbce6c26410..638c39107077 100644 --- a/sdk/identity/identity/.gitignore +++ b/sdk/identity/identity/.gitignore @@ -1,2 +1,2 @@ src/**/*.js -!assets/cert.pem +!assets/fake-cert.pem diff --git a/sdk/identity/identity/CHANGELOG.md b/sdk/identity/identity/CHANGELOG.md index f0d07915434c..7d3c29af9435 100644 --- a/sdk/identity/identity/CHANGELOG.md +++ b/sdk/identity/identity/CHANGELOG.md @@ -1,21 +1,86 @@ # Release History -## 2.0.0-beta.5 (Unreleased) +## 2.0.0-beta.7 (Unreleased) ### Features Added +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 2.0.0-beta.6 (2021-09-09) + +### Features Added + +- Added the `OnBehalfOfCredential`, which allows users to authenticate through the [On-Behalf-Of authentication flow](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow). +- `ManagedIdentityCredential` now supports token exchange authentication. + +### Breaking Changes + +- `ClientCertificateCredential` now evaluates the validity of the PEM certificate path on `getToken` and not on the constructor. + +#### Breaking Changes from 2.0.0-beta.5 + +- The property named `selectedCredential` that was added to `ChainedTokenCredential` and `DefaultAzureCredential` has been removed, since customers reported that logging was enough. +- Changed the name of the "extension" API to the "plugin" API to reduce confusion between this package and VS Code extensions. The function `useIdentityExtension` was renamed to `useIdentityPlugin`, and "extension packages" are now known as "plugin packages". +- Renamed the `allowUnencryptedStorage` property of `TokenCachePersistenceOptions` to `unsafeAllowUnencryptedStorage` to make it clear that enabling the unencrypted storage feature is not generally safe for production use. + +### Bugs Fixed + +- `ClientSecretCredential`, `ClientCertificateCredential` and `UsernamePasswordCredential` now throw if the required parameters are not provided (even in JavaScript). +- Fixed a bug introduced on 2.0.0-beta.5 that caused the `ManagedIdentityCredential` to fail authenticating in Arc environments. Since our new core disables unsafe requests by default, we had to change the security settings for the first request of the Arc MSI, which retrieves the file path where the authentication value is stored since this request generally happens through an HTTP endpoint. +- Fixed bug on the `AggregateAuthenticationError`, which caused an inconsistent error message on the `ChainedTokenCredential`, `DefaultAzureCredential` and `ApplicationCredential`. + +### Other Changes + +- The errors thrown by the `ManagedIdentityCredential` have been improved. + +## 2.0.0-beta.5 (2021-08-10) + +### Features Added + +- This release adds support by default for CP1 client capabilities, enabling all credentials to respond to claims challenges that occur due to insufficient claims. Claims challenges, for example, can occur due to requirements of [Continuous Access Enforcement (CAE)](https://docs.microsoft.com/azure/active-directory/conditional-access/concept-continuous-access-evaluation) and [Conditional Access authentication context](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/granular-conditional-access-for-sensitive-data-and-actions/ba-p/1751775). You may optionally disable this behavior by setting the environment variable `AZURE_IDENTITY_DISABLE_CP1` (to any value). You can read more about client capabilities, CAE, and Conditional Access on [the Microsoft Documentation](https://docs.microsoft.com/azure/active-directory/develop/claims-challenge). - `ChainedTokenCredential` and `DefaultAzureCredential` now expose a property named `selectedCredential`, which will store the selected credential once any of the available credentials succeeds. +- Implementation of `ApplicationCredential` for use by applications which call into Microsoft Graph APIs and which have issues using `DefaultAzureCredential`. This credential is based on `EnvironmentCredential` and `ManagedIdentityCredential`. + ### Breaking Changes +> These changes do not impact the API of stable versions such as 1.6.0. +> Only code written against a beta version such as 1.7.0b1 may be affected. + +- Renamed `AZURE_POD_IDENTITY_TOKEN_URL` to `AZURE_POD_IDENTITY_AUTHORITY_HOST`. + ### Bugs Fixed - With this release, we've migrated from using `@azure/core-http` to `@azure/core-rest-pipeline` for the handling of HTTP requests. See [Azure Core v1 vs v2](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-rest-pipeline/documentation/core2.md) for more on the difference and benefits of the move. This removes our dependency on `node-fetch` and along with it issues we have seen in using this dependency in specific environments like Kubernetes pods. -### Other Changes +## 1.5.2 (2021-09-01) + +- Fixed a bug introduced on 1.5.0 that caused the `ManagedIdentityCredential` to fail authenticating in Arc environments. Since our new core disables unsafe requests by default, we had to change the security settings for the first request of the Arc MSI, which retrieves the file path where the authentication value is stored since this request generally happens through an HTTP endpoint. + +## 1.5.1 (2021-08-12) + +- Fixed how we verify the IMDS endpoint is available. Now, besides skipping the `Metadata` header, we skip the URL query. Both will ensure that all the known IMDS endpoints return as early as possible. +- Added support for the `AZURE_POD_IDENTITY_AUTHORITY_HOST` environment variable. If present, the IMDS endpoint initial verification will be skipped. + +## 1.5.0 (2021-07-19) + +- With this release, we've migrated from using `@azure/core-http` to `@azure/core-rest-pipeline` for the handling of HTTP requests. See [Azure Core v1 vs v2](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-rest-pipeline/documentation/core2.md) for more on the difference and benefits of the move. This removes our dependency on `node-fetch` and along with it issues we have seen in using this dependency in specific environments like Kubernetes pods. + +## 1.4.0 (2021-07-09) + +- With this release, we drop support for Node.js versions that have reached the end of life, like Node.js 8. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. +- Updated the default timeout of the first request of the IMDS MSI from half a second to three seconds to compensate for the slowness caused by `node-fetch` for initial requests in specific environments, like Kubernetes pods. +- Upgraded `@azure/core-http` to version `^2.0.0`, and `@azure/core-tracing` to version `1.0.0-preview.12`. + +- Upgraded the `AuthorizationCodeCredential` to use the latest `@azure/msal-node`. ## 2.0.0-beta.4 (2021-07-07) ### Features Added + - With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. - Introduced an extension API through a top-level method `useIdentityExtension`. The function accepts an "extension" as an argument, which is a function accepting a `context`. The extension context is an internal part of the Azure Identity API, so it has an `unknown` type. Two new packages are designed to be used with this API: - `@azure/identity-vscode`, which provides the dependencies of `VisualStudioCodeCredential` and enables it (see more below). @@ -71,16 +136,6 @@ > With the plans for [third party cookies to be removed from browsers](https://docs.microsoft.com/azure/active-directory/develop/reference-third-party-cookies-spas), the **implicit grant flow is no longer a suitable authentication method**. The [silent SSO features](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-implicit-grant-flow#getting-access-tokens-silently-in-the-background) of the implicit flow do not work without third party cookies, causing applications to break when they attempt to get a new token. We strongly recommend that all new applications use the authorization code flow that now supports single page apps in place of the implicit flow, and that [existing single page apps begin migrating to the authorization code flow](https://docs.microsoft.com/azure/active-directory/develop/migrate-spa-implicit-to-auth-code) as well. -## 1.5.0 (2021-07-19) - -- With this release, we've migrated from using `@azure/core-http` to `@azure/core-rest-pipeline` for the handling of HTTP requests. See [Azure Core v1 vs v2](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-rest-pipeline/documentation/core2.md) for more on the difference and benefits of the move. This removes our dependency on `node-fetch` and along with it issues we have seen in using this dependency in specific environments like Kubernetes pods. - -## 1.4.0 (2021-07-09) - -- With this release, we drop support for Node.js versions that have reached the end of life, like Node.js 8. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. -- Updated the default timeout of the first request of the IMDS MSI from half a second to three seconds to compensate for the slowness caused by `node-fetch` for initial requests in specific environments, like Kubernetes pods. -- Upgraded `@azure/core-http` to version `^2.0.0`, and `@azure/core-tracing` to version `1.0.0-preview.12`. - ## 1.3.0 (2021-04-05) ### Tracing Changes diff --git a/sdk/identity/identity/README.md b/sdk/identity/identity/README.md index 3c9b53bc18a9..9d9bca6dd86d 100644 --- a/sdk/identity/identity/README.md +++ b/sdk/identity/identity/README.md @@ -5,6 +5,7 @@ The Azure Identity library provides [Azure Active Directory (AAD)](https://docs. You can find examples for these various credentials in the [Azure Identity Examples Page](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md) Key links: + - [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity) - [Package (npm)](https://www.npmjs.com/package/@azure/identity) - [API Reference Documentation](https://docs.microsoft.com/javascript/api/@azure/identity) @@ -13,6 +14,15 @@ Key links: ## Getting started +### Currently supported environments + +- [LTS versions of Node.js](https://nodejs.org/about/releases/) + - **Note:** If your application runs on Node.js v8 or lower and you cannot upgrade your Node.js version to latest stable version, then pin your `@azure/identity` dependency to version 1.1.0. +- Latest versions of Safari, Chrome, Edge, and Firefox. + - **Note**: Among the different credentials exported in this library, `InteractiveBrowserCredential` is the only one that is supported in the browser. + +See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. + ### Install the package Install Azure Identity with `npm`: @@ -26,12 +36,6 @@ npm install --save @azure/identity - An [Azure subscription](https://azure.microsoft.com/free/). - Optional: The [Azure CLI][azure_cli] and/or [Azure PowerShell][azure_powershell] can also be useful for authenticating in a development environment and managing account roles. -#### Supported Node.js versions - -This version of `@azure/identity` supports stable (even numbered) versions of Node.js starting from v10. While it may run in Node.js v8, no support is guaranteed. - -> **Note:** If your application runs on Node.js v8 or lower, we strongly recommend you to upgrade your Node.js version to latest stable version or pin your `@azure/identity` dependency to version 1.1.0. - ### When to use @azure/identity The credential classes exposed by `@azure/identity` are focused on providing the most straightforward way to authenticate the Azure SDK clients locally, in your development environments, and in production. We aim for simplicity and reasonable support of the authentication protocols to cover most of the authentication scenarios possible on Azure. We're actively expanding to cover more scenarios. For a full list of the credentials offered, see the [Credential Classes](#credential-classes) section. @@ -106,15 +110,16 @@ If used from Node.js, the `DefaultAzureCredential` will attempt to authenticate - Environment - The `DefaultAzureCredential` will read account information specified via [environment variables](#environment-variables) and use it to authenticate. - Managed Identity - If the application is deployed to an Azure host with Managed Identity enabled, the `DefaultAzureCredential` will authenticate with that account. +- Visual Studio Code - If the developer has authenticated with the [Visual Studio Code Azure Account extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account), the `DefaultAzureCredential` will authenticate using that account. - Azure CLI - If the developer has authenticated an account via the Azure CLI `az login` command, the `DefaultAzureCredential` will authenticate with that account. - Azure PowerShell - If the developer has authenticated using the Azure PowerShell module `Connect-AzAccount` command, the `DefaultAzureCredential` will authenticate with that account. -## Extensions +## Plugins -Azure Identity for JavaScript provides an extension API that allows us to provide certain functionality through separate _extension packages_. The `@azure/identity` package exports a top-level function (`useIdentityExtension`) that can be used to enable an extension, and we provide two extension packages: +Azure Identity for JavaScript provides a plugin API that allows us to provide certain functionality through separate _plugin packages_. The `@azure/identity` package exports a top-level function (`useIdentityPlugin`) that can be used to enable a plugin. We provide two plugin packages: -- [`@azure/identity-cache-persistence`](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity-cache-persistence), which provides persistent token caching in Node.js using a native secure storage system provided by your operating system. This extension allows cached `access_token` values to persist across sessions, meaning that an interactive login flow does not need to be repeated as long as a cached token is available. -- [`@azure/identity-vscode`](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity-vscode), which provides the dependencies of `VisualStudioCodeCredential` and enables it. Without this extension, the `VisualStudioCodeCredential` in this package will throw a `CredentialUnavailableError`. The extension provides the underlying implementation of this credential, enabling it for use both on its own and as part of the `DefaultAzureCredential` described above. +- [`@azure/identity-cache-persistence`](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity-cache-persistence), which provides persistent token caching in Node.js using a native secure storage system provided by your operating system. This plugin allows cached `access_token` values to persist across sessions, meaning that an interactive login flow does not need to be repeated as long as a cached token is available. +- [`@azure/identity-vscode`](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity-vscode), which provides the dependencies of `VisualStudioCodeCredential` and enables it. Without this plugin, the `VisualStudioCodeCredential` in this package will throw a `CredentialUnavailableError`. The plugin provides the underlying implementation of this credential, enabling it for use both on its own and as part of the `DefaultAzureCredential` described above. ## Environment Variables @@ -210,8 +215,8 @@ For examples of how to use managed identity for authentication please refer to [ ### Authenticating Azure Hosted Applications -| credential | usage | example | -| --------------------------- | ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| credential | usage | example | +| --------------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `DefaultAzureCredential` | Provides a simplified authentication experience to quickly start developing applications run in the Azure cloud. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-defaultazurecredential) | | `ChainedTokenCredential` | Allows users to define custom authentication flows composing multiple credentials. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#chaining-credentials) | | `EnvironmentCredential` | Authenticates a service principal or user via credential information specified in environment variables. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-service-principal-with-environment-credentials) | @@ -219,24 +224,24 @@ For examples of how to use managed identity for authentication please refer to [ ### Authenticating Service Principals -| credential | usage | example | reference | -| ----------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | +| credential | usage | example | reference | +| ----------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | `ClientSecretCredential` | Authenticates a service principal using a secret. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-service-principal-with-a-client-secret) | [Service principal authentication](https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals) | | `ClientCertificateCredential` | Authenticates a service principal using a certificate. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-service-principal-with-a-client-certificate) | [Service principal authentication](https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals) | ### Authenticating Users -| credential | usage | example | reference | -| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| credential | usage | example | reference | +| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | `InteractiveBrowserCredential` | Interactively authenticates a user with the default system browser. Read more about how this happens [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/interactive-browser-credential.md). | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-interactively-in-the-browser) | [OAuth2 authentication code](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) | -| `DeviceCodeCredential` | Interactively authenticates a user on devices with limited UI. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-device-code-flow) | [Device code authentication](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-device-code) | -| `UsernamePasswordCredential` | Authenticates a user with a username and password. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-username-and-password) | [Username + password authentication](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth-ropc) | -| `AuthorizationCodeCredential` | Authenticate a user with a previously obtained authorization code. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-auth-code-flow) | [OAuth2 authentication code](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) | +| `DeviceCodeCredential` | Interactively authenticates a user on devices with limited UI. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-device-code-flow) | [Device code authentication](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-device-code) | +| `UsernamePasswordCredential` | Authenticates a user with a username and password. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-username-and-password) | [Username + password authentication](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth-ropc) | +| `AuthorizationCodeCredential` | Authenticate a user with a previously obtained authorization code. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-auth-code-flow) | [OAuth2 authentication code](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) | ### Authenticating via Development Tools -| credential | usage | example | reference | -| --------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| credential | usage | example | reference | +| --------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | `AzureCliCredential` | Authenticate in a development environment with the Azure CLI. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-azure-cli) | [Azure CLI authentication](https://docs.microsoft.com/cli/azure/authenticate-azure-cli) | | `AzurePowerShellCredential` | Authenticate in a development environment using Azure PowerShell. | [example](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-user-account-with-azure-powershell) | [Azure PowerShell authentication](https://docs.microsoft.com/powershell/azure/authenticate-azureps) | diff --git a/sdk/identity/identity/assets/cert.pem b/sdk/identity/identity/assets/fake-cert.pem similarity index 100% rename from sdk/identity/identity/assets/cert.pem rename to sdk/identity/identity/assets/fake-cert.pem diff --git a/sdk/identity/identity/images/DefaultAzureCredentialAuthenticationFlow.png b/sdk/identity/identity/images/DefaultAzureCredentialAuthenticationFlow.png index 575ea8772127e71907a45a90df1d3bd47be44766..d87abfc443dfd23f18f0873f71d82780651b7dad 100644 GIT binary patch literal 152753 zcmeEucU%+Q)^2Em6p=2dLJA z>IS(vBM?SL2n7TJ!G+ksB8XrEB^K}x!6Jd+_*q6EELgVwy=>1S_t$G!5eQbH->#2x zL$Lq#dQj)j?e1T{|K%?y_`?Z~u20SJHBu4-lr_T)%cY4Z#8Zl ze#-W@G8<3EhQD6(^Cs&b%pukT2FH)1&zv>UGdQh_U;*uCmA>fZb!ELt9#{Q*&gviA zVP$QzgOdpE%ZcDah$41ebnx{$dgjdO^&0;6cfI`EM(JFa1Om~nyk1wML}Hi>wAo1W zkx)nLlt|cb*ZpaU+tJC_0i2WKZlGTG5eUXzCX@D@$z-G>5Ny2&#D}ZQ9>gu6 zD(f37_|L}5%F4#h1~zsM_VtZp1IN#8!(TVfpBvZuw(;-V&tJ2$vV;E{H*jqD`|hv3eAM>hzWUgX^6Exi9`!ZR+ZV|i5~XIn|qs+WAiHgb!K zZ4sA{*)1z4uW&$3T|@KWq2niX_4H2~oH9FSZea<;?%?R;?BeQn+1JlMATa3K_3&E} zkx|jNWA5F5keHPG@KMV1^o-0GSubC`&Mzn|dRP3uq_n!GwywV6tR=@_Ltk_UOOYp|F3eM}P0o z-}}StM)0z+fB|C@K%fvXEcZMH@oWDjga1h#V1E6jcmI>}{&lav%x`AvFTMMv3;*+L zJ+tkX-u=?M{|9>4{!8zE>D~VWz5Dhzy}Nfqw7h1>vfeX-z*#sji@tq*^hJVz_)%4u zOlBgqhV9B2B1WNZ@DBp%ELZ6EfqslKRk-!M`{psliZeqeJ#iT8n5ZHxq%X`L@d2 z6GPOquMZnb9>n&VY=Nq*2`&sli+7~l$FHZaWQ`^`7zUlB?0*ZvKiGGn6{ zL={Ie5nJ(}n-32%5w~WAL*5wp^{uG4uI@pldN2{yMI@9v2NO|=qq{G@uG}?#KhP`| z^T2ZI(W1|gR<-ez0S4QOrD9OGn23p!WlY3}k4yx$4@sgz8<~i&34u(+%>*WbTuL8j zA|l)ev8yCBZI+3s$5JgSxtIvtdffwbcN8^Re4NfeQ+c6}*yZqju>Xq60!j}>B*8*V z#Is%VOaz-06EW-u)ez~jOvEwW0eFKxsAqZ+2aDjtP~%n5d@&Otfg;*arC^L0OoPbj z@U9KlfOITjHsk{TuUdae;Fkn`N#K_Reo5f(5;*yWF!;8T{aS}V{|0oOnD6$_#sguA zN7rK3T!?tO@O_FM^>(0Ss_$zfBJGivh?-UT1G@7u5}v-XE_BByQbU!Xe!2?XF@|6m@FUkBWT}8hI>DRl>An%G-cTd$vkOF zJHq%Lim(OIXA0@?A`XOL=j3a;KocSkFg&Ovni8!*G~3*N)KQ zYD{p%XC}h`>Zv<3Ohf|ZAWFcrj)vncgA$hfg-y|ZAqZ1l;s0{C*h3gnW~(l>D;>Cv zztBGORQz7>BT>1p!3CQ+Ft2FV@b@%MMl$`7;HX~a(AL`BEhc&m#gF#ETsJ9A0ugii zixp(#P(uTv-SKcHC+dh)tk;#dzt=h|n*JDd(|$Cedh;8R17%mBxOni51JVT}e9p6hCBH3&ZbWZANgeekO+I z%|viSkZeBd;=}MZI(50}W~=O)^y!7BlT_vBJ@rWI)Hx*W)xr+gW!2J#z)Rm0v)PJm z8DJC%dX~VDUZ82eV62!U;mi1^b3=BR)OOQVWIFl}Q05Py#DBGgiQw+4LM{#xR(hC- zI3y_tBfv!H@Gub}1ZpReyjitnb&WvU0%V`OR`rmHI7CYZb^j42{h!v|%0vjTX#pIS z%|x(ZS2=%G{!`??#PX+__)9Fm#PSc$)c&05)Pux3 z8L}pB%IJ5Smg!j3%N$o~TxwO{m;DQFp-FqT89dbOpQICr*eTx+IKgrj@?rh+!9)t) zJ-d5b=t8INU6lfsMjYiN`*llCbi@z z2jezuo8aMcMF$T^4_MGQX)v5p!mQzkGGM>%204AcQt$ZKgbmF>Tj&)9Ff{BRA403=Y zw&LmBSb(RxYES@j1I5t+suZF@1uGL^y{edq#Ua8fO%@NTfx{et>Kq3cOB+Rv zC|6-3jsV(-HJOQ!4rvCA*C|p1gIfbl6EK43Ohiiz6ER=}AAo9|hWXbvVqq43_ylT5ltf^#5$N1#dcukZU0bmRxg^&I z4W5JOSFzOVmXW9l(^5c%yi>V% zdk{(4nwwrTKr(BIuxyJiKmKgWLL5G@Fm`mgN{^mI(1M6)DhkF}!fT%7H#9<|q+p4i zuF!`N2VeT*T}A1`Xt8R$FXc`nL}aU!Lcb8HcDV6nqt0cMWsgwKd6ODcx6t59-6+qX zwhvDU`TiB(ZPUv!M{*ioZo#|YN3+eTo_OkYrw;nT!>2AB{@U>15!Zy}_J(4ej+Nw@ zI$G#-DaUg0O&!g~t20*7>EC*8Kh@^MHGE0KuS8*%@!vI(lVbV;Hkw+LluX&e2!4^@M@l}U{at%g!y&@Z3HVpf{D1y-$S$M zz~^E(Nc+t^oU1W|g>BK7o;WG`53T65BqROhLpyEaofJVn(H z-}j?aYKkg1TNbPfVpU1wlZ4t9fO)t=H_M|Xr@gFAig)!o8}zgb=!w4#@y1@KHr1{Z zVG*K2TQG;8U$%)v#nInyX6&~nsEMqqWzsdt{Lxv5ilfI}V;h1CZk`R*4ilpD3gKCwD z&>AO16(+1o&3XPFFd=`Bc&IM02ov#N)SeDYsceD1o`y(V(85k8VskO@9458{v~w1q z9c&5V_izbB5dRr%P7`rdOPC*UXy7iDkLj+!^MF7wbd`*zO%gz$GPe986LAy()DNKk zk5Tkv{bB%60oL%QAro;=XYBWA6-@De#+vxZf1F0?zwgb^esUCpy@829L@^P&kYt`9 zG<qX{A-c< zA6(mUKgBMOqV~B?4v@}yvV78%D2|vPywfRv=`O6_1pAZp={qEUGf$U!uu(evkJRrN zrA^H6FE&h?^NUlf4l^#Pz`X!B>^fbpKn%#40jQ)Hw~8x3ZbEsWek=~1`;_&=UCOxp zenc_Bj7{h}C#p>LyLw3W)b~E=Bjmg1;<+Yc;0r~#TRY^FkG^kVs3x!NMYdJg4x(qB z$S#zC4k;4+((#+0?hb>j-n`uhmWzE;(`x3B#>;E^8yV8Ct211^IYflvUUmDtE)uYn zCO3!BEEgtAOJwYwD{FJ0`>mLiRa~pN$T(oMU>PcEsO#1&-EHvkGk+H^9qiUkFQ@5B zhq06PH_@G2?93IG(rsez-?22h(v?8(i>^7BZrYZ;)xfp0lUwe2Detiuxu*cF{mHI4 z$lpz%d~eg?IZQ={D5P~vtguUkOpz?fj?pE<$yJ(*Gxo{VH6kt+ZMB#gZSH8 z02FXYQ-z+Mru1(QV)0{BS808;4Xf>I66u4uXp|Vi1tpMM zK-}8!?(D#RA4&l^R?8*4p*8A~;_Q3h$(;|0FP^1-JsY)nT(8m=MSrl$yZGUXNYFti zkta^{{2yy-?xC_vi@KO}+CI2LQke0q@c7l&N@~+5HcWkdLS`bgcfm{0>oopLp}F{J zJFHf2m6{%}bqqOK;%dy?TdBW$XBy&(mBA|PhRUy|h& z7m+acQJQ%Z$@9Y}QbCoa4m!I0sKBE1@u;H03A^iBw?vK|LNtWOFb*VHJ-z+nQP?it zdqD_p*dX*k5M_lD$4D=N#O#vPyONzQn$bn?ViNGhAD{YdOQ8?fe%Y1A!}_u{Ak|3h z-t?Nvqs49JkDBlr;lCo^s%vlw+v>se3W`0B#l?03SF0)BFDAxUD8#SI{Qkh6VL%$YxXgmlPW+ zw_%QvTV`^|*IVk-L?7kx@J+Vv$+4o7H77qJNur4O#JQqzoFH8%WjxX;QB2i_UrpOf zheRhNI>~ApSY*t~O~qc8-FhxE4%rUks>tZHZB+cAw(5}Bt=ou@m)F=2tum`a*H%<& zy|J%G*5qW1g8d;Bie!Ph6L_78sN+){>;v@P^9e8I&r^qcdvBZ*fIr)UxNy1qXiy6Z zZf+Wn#?}>vpjSN?v|<sFXi_)YP*QU>qqh>kCThEZY;;*J%%gtE4>NKOe;&8O} z$Tqoc3NdS&s;k>i7aA&VsWsKx`#OEg8N0#whMuWo}ZJGYML(0exmP$#A4|CXIZ6V zrW~XX2+B9+za8<>TtY>JsGM8o;qfr8Kd&M$PKKnAB)_*KU2E zwrj$L`*a4EZTszGgKI+QZx`^BD1OZt>qz@lbiCv=1KAt;sOI3~T4Dtg5p!st>+={| z!NjpYbGBX&*mt|V^O+J`P&#uYVkCfQe$Mg!1R~pbc`(vlB=uz4h zsj!`PS{WgFLK7W>-o}ujLQ}T0NI;e-h(crf5@tvgL$iGiXFs&{d#IS8?xB>J2seCu z3KKCaPu9&TO!j{Mqa@0>c!D)v!Ufrnaa`lw)S(esu9`)4uC?jr{ixrvb6Xy8f{xmW zReSL5XdmfvMyL7at4`eMT0}Kggb|uk-gi^!rx%snD-713R5^d|M}Q5o-;dbl8I$eOgcQOzuA!N<3p|%itR2ydp56NZCb5B8V``KGxDTx9Ag=?AB2mC+p}S|JP{HB_^YgS86Q&WU*F7q;v@_l?tNf+ zfD}eBS}VZC)!AtuRDkw8WZ)cJavPT4ejABjz(1u~u4dQv8rtf7o^pN|_bv>!%1K`C z9A6>uj|k`6m8P9P9&B$?UJ3?$VSO<#Uo8B02k~G1PBE2?jPzq71b>7ik&k%8xknC~ z!IIBQ6%=HR_uJ*$h-`dcRy#s)_Kde-B4)bCMi)E!n25aG-s3NO!WU+>lp6PSsHSl$ zCQM={zBDd$nHI#rpE|9a&rD4Da3@r;2h>5TXi-1uv})}Dk(%mb2H3eYTmtM*V`C!N zSE)D+tPW=barWrS`5+&3p6|DsxK`v-vjUh6{S~FZXYZ@yB4$z9Wp%liL(dPd(Q&?H z^!6b8R68xz(tU-M;xKlJR)!2T)fHjff>a`eO^ap^d5?ixhSoiUDb=pdiULX<^=2SB zoN}kKede)xsbl!*clIAncuR$P09PpV(&tR zCoM)LNinlCj^0gs16>VruQ~H6Kj_pz#p?$dv^{r52wRg(1rG?+v%bE8*oKh*W{MUL zx$v(t+W*~i=I&*OZKs_J%VQ0;#)@1`bdE9d<9N16Ga7=zDmC)SQQ>>+`)vakl}ESd zb!sfLd+8r5Vu)Zks5R*rZ>qb)aE{_e>FoS5_mhdJdm)6|AN_ZiJ0 z%H8KBmZ_n04deYPUY}L9GKYra2px9a)# zq?QjRTc+PdU3s^r`y)2~%cTohBx%cqGSb;zlN|d2LjOsyb_}?nXv)wTbP=BZ7!?PU zSHK&Dzq%IrNrzz_f8@#~CgMjn2`MJsf0$qL34V>v|0U=X6H(Y^uipxQU+87b#J?-; z|K0D*q~l~_YllZKhA(Bc9sv&=vX6FN)!Ik9I4NVN1M|HH~1eZ4{GA#+0X(&9T;8=jYpv|U^b z3&LAv(Miw3JGOO`N+)Z`rsxKIJ$hB*KKx!~QH>EAWC-he9EK~NgETSS(ConxTw$Gl z7OvuB|7E2>L>fPU)`315e&Du|YOgSfOB@gC&w;Ue<^IeVJMKe+|p zZ9@l%XJKj3C;L{^j4)yC&?)-yNq*CYh-{e-u==0UpVr|zsw0&i8iQUl)UvGZ%yuF6 zDEh-&%oe3m`rlLt!ACj?%b!qpb56ku89D6OX$5@$MO|TwTYt7-{U?q|8j`PfpmpDs z&u=T!r*DL45{!GG3y^!VM8nLFOxxaVkHvG90b}NPst($5gsw;)80w>dX*6a9{f_}o<+lx$iP zm6wmD({S*;5EquChKH+V=_Gn9b(Iv>VP;TT2FpH>9ejSZ&Q+0hU-wacD1ehnQ-Vaqk&Tr=P+|7&#iFn} zStXK*7)@<{qdNSx_A>#jDW^!=ec>a;&~mj2gT3o5R0ZI{NbWS60@5YB!zv4Eyb8o9t1J#*0WAI}Th&I^KjR~&Et(-!LZO%NZtu2cZeJ#iXr{)miGUP^DMXjxX`a&0l;QtMGGhlT4P|%KpQ&i zPlLh-7WTY?HC9j1;z2&Ke=-#}0`wiCU>0(xCN^ol^ALES< z8#Q=%{KoJ-zQgE!`M#IE(-Mhwaiy2{8F0Nb3*kPM@#-+? z*$u6LA;LMuVzK1TXIoCaxss7v!S|Xt&i*73{}$lc+DpGT;g}+FGOP#8el8Ea8A7KC zf`oBfV<3K4!jb^`Bl5pCg;|61+`I+_Zd10%Z96qmKS@Z~b-9I&Fp{1=slt#+Lp_H+N_4>`vI`=w ztgp+`Z{|SL_n@6NiS+X(ME&IuliLx(rWQv`b+1A7gy=35CoDk44rS)v*LjaQnAP&K zC?Z>-Su5b9qknAi)_3wd0_!>4kHx+=GK-u);bM_-QS9Iq?3w2TMZ(~d0h0MZI7m1* z%`vNmB}wX05V6^?Mxduz=G{}WsuAyK7betNOKSI)fX211sklHFadlai=pZ}0gU+Q; zjjNB-qZdeV-AjAh#_n*-;Tt^ffV!**5okWb)x)Uo$7@0bIxr?fwvVTk56;bGM0h+; zn>GEeK3uk0%GnH??7pevg-OCC@?xTv^uZ_Q{f(deJ3q!Ysn=W>79VnId~9%i$p)Es zz;XoNfTt?D)TrEmfQgG@A}-GQR+pwy@`iX)_jhaSZQLo^ntJ;AGbaba#hH>eT^Z$dxZZ8)@Ra&-TP?r;^f#ysH+Zr%JQa zt(Ms$+qxu$I4uRv9&pudG;vHKc(>oKZBIAqc-VS|aSd?Dw7N340O%@PXc>Dx+Z@)$ibM{#7O1{G~V4ec_PvhACE zWmT89sO84{QMKM;1KX<)_=+5&tbke8tW!k5g16@!m>GkM1@+Xt(@`OXEJ>s#zdDjEnr!hU|M-FZd><#K?>6cmQ@lz2K^`BRpBWxh z#N8%r(>m@#tPuQ)=@RoS_I22$dDm(5?(k^5nzMEUhC@r);M=*2qN7DQIW#NUp~T5* z$u=Xo+zO@Zqauw|WW9}8Eoy_Cy%wpaur#2+jc+zP|A7PV#P*G5VLE3uXV05EX=+wl zE5}Jmx4DDCR57AlUTyIUxCzCw=pAH%f+h5EObR+kO=d5;P&boYo@I|{Y{4-q3* zbyqT&dx7v>h%!imW@#jCSd%KNTlV$M@VDLVaLe`9^2blP4V`uN2J%|I;!PG&+S>3k zbW+E5vf>@B9IIpfLQ*p^+-Ie`)ZP~9X^Or#fJ6=EK)jVKp}mqwMwCB+dn&NIA$pHr zlU30c>07pX{_48N8f$fg0-J9x;X6~V#p}mZn`K%GY%({sKYY3JXjt=J>g_M7;^(V= ztm;$&Tm0bqKO#ZSWIA9D5-y?Es3r`K?By(YBS1vE$w)?MFEnAks!Vo=b=OfQ5w#?W z@5E7MW$BM=q2=|5qMun#r6GXta}J#DC1~QF1cCKNdIXvtqCZ-x0Nzet6!}jrvSl@n zWU8{NaTvSCD2AOYr|}V}!RP3OtAWU6nkT&(BYT^PSTG)jK($iSbQEadm=N8Y-nz<1 z!os>g2-7714Ovv2{UgLI2_#8PKt2wHxE){~7LNSs3i=;FM*EjrR#^en(zOw_BxDb8 z`g*42y|NtWJMcsEoYa6w8Cd z{Hr2rDr?KhAe}<3wd&@JN)XsV_Q#ephD)0;*k)KI*a*B*o-J5c%aYQZkyGgIWZ z@qy=LgO!Zldv|$m&t7Ri_3e#+&i(I{X~8~c&k&w91?WG!D}2%Fk(ocXsLt)TfZ)W}F7lE(J~r0kC1 zFX6X?T&E{Vz!Y69Lov1`3KRN4Cebi`*eg&~uk`HEI_fQwlgGK`J^V>895u80x`cwC8zRKc zgU96-@)EI(SW)EKl~WAPn(nqNn~IZjuL#u*Ur95)E@urh&=VmL6R}~K?guD^TN(|x zeCT#xdL^lY)S)zVKT^OBsW7BwUwzPlSN}~BsiI+H4fuGLN1M=S7X@zqGMUyVyk;lx3%;o);F#is^Hzz8{F^2z0|XM zI4rLc@a9})h-u_C_NmujyA4!VeSovsPkn63$O0bI{4D~>WS--6t+)jfVYX1R&_7?s zZyS6v%@qEexQL@~^|-PglfXs4i}Bgjdg(M1QRW-7LZHedrH0U)p{iq*2SWQ{>DxHt zwz|5sct@mn?$H<#vuTbeNBIlG$~9mnIG z-FVIQxUL&><*)qj^yr~?+m^goXx(Fuh7zvaIO$X7Q~P9g%bF_4fTwT9!y9J@ku26h zP=llZBsw+3VcUFajj|w{begYjS8s{m2(*??zkr5bwz20}R%6`eg zuzpKxHSw8|ae49NR@aaMk{D&4ahKp$ahxVL2x0vyJkNAnSw*=A=VyP*DXMOeH|@Rk z0iP4O4_(Vo7g?kTk;LdizC-vMI+}2!WnhYOF5Xw`t4(?H!S;DS%I%J4iHkeqYQwo_ zMntaUv9mA|>6^&SEw%IEI>OYr>tXUmeY?M`wq92>;r@7pBK~rS_ddT~gp&OxqxRI5 zKHINPYS@f7M_g9vOP=sX0Rq7t{Ud$oOLoo#VNM&J9DpVy-x=?U+zqBX!6ePSfUaJ4yzLTdc8w0FNUAf>9{Ytv!f*5T#odrB# zYZuz1qrynmlE?Q3K{b^!->&A;4VB+%s72zuX2g(nkEG4bQM-rUe3)e=yyU@AcVOv4 z_dF4(@L9UX%bJ%DF-4t`S$>`(WUT5%D1TgQ_+!tEVsEo%pnTKR>!8>70#7x{yOuK% zCrY=!e^a(GDkaWZJJ^b0M|C0F67lt(+((D;5fZc5Xusezsj~JlgCS{uyJwmg`;56J zj^r-)NgbEIrSS5T>_^F{Wn`9l1eoTkhBQ2bbPn(=mv~FCQ|O{k&w{I!Y@(BsWM>lbvyp4PCPW zbZ`T#3V%fc&(Q_T$1h61O4h*i-MpCYpeGx~sNM0~xVP}W^9|mY@;@4jNZp&0a|n=);I2*U zSkgilnaoUU)I(I4Ak4)V#c>Okv@NG}IuiJCak%BCaV8>wpjxR0Re^3_z)RBAK+vJO zZv(_JJ-N|V+oFGAZd@?lvL$lNP4I;5`~^jaxwk`vw0Y`o(Kxbx^#I9go+n6USi5#b zN9OAue{BWwoZYA0SNwYJ_@5s?9QNjd{1R)0oyw-spi(t=qJlxNX0eO=L}8ENcE9`? zWmjWAM@C0M@v;N08jr2i4jq8<24)&wfu>-tk|~eUFP~y@mvJd6J91sD_?@-W8U17D zT#7ItbAls`QMf$toj@^p-=)Q}H@q%Q4j8+(%zC5B5oNWH+f@a5Wz+MYY~F`X93UAI zs8Z-^C?35L*oVt4Jw_^8=C6Vp0-iZ#83Z0MT@`#cQc{v6W}TVjS;_fOSds5TTAHzW z!bSKcnYyaR^FwZKAo=+HjW@DpDk=h9XL8C=ew7@6Y|&*RE_rsF*kNmsoH{!vQ<7e3 z2v{49{jh8Fexl3Q>s2-wpsR^5iYkIsQD8byccDHYc`yQ_#!I;CXuI+uu z*8_r~@)!;9rUnDLFWJ&Ak3>oEfb-{I$FLp2axPLz-U}~BmRKvLNLac^0lcwe7%Qef z7{WOe|CqA+L=Wc{GuFo1@Kj7}a|5S#<#pH_RC6;+8O&APn+57yQAObj)}*P&PwB5GhK6&2@{@L8zf>c~v9T)ytOb z%W0xywa8SyzN$-3`L|e{C*R+bQm65{;}Z8Cwp?TB>`RWlZx;DqUkdifRwmwdl32!>BryO_*AmQ8w&7*A3cU9fS5^6Bd`6mRkr8$0QpwSDjT^DWy~o@9pB zMITGO4W1ukOPa;HFFuawk`uEp8|^#-X@(LFte0vyBU_x;L> zT@)j7@4(#hU<9~~G)zeYb)MASyA#y!;Cs+J%Gx(%jp|<&_KaEU9-=_|)#JK&v!%A> zKQQNZZ?E;j@tV~)$-lDCP-rl|Cignf-ZrymQEN&|AJ@XOtv*%4=f%wGrIB&Z#_{E& zc=uBMh$Y1qL24vXS?R!pbV*6t@mn!l&Xtu(Hoo4dQ(f*b=rU_a(+X|-I;DzXBZsCA zWwi0S2l=g@NHa)2%r^XDHVb)bfnQj*?j>O`O=1ZtDHVwl*Bv}eUB(rZeiE|Zox1Du z$ENzu3nv?LLOHFOmv>Z|x%zx*eg$^=SmhO}Htk~QXH+3)44%$MvaRp7ysZ|pM^(8mC$`#Pm##;| z!vL1|_>5_40hqVGgb@Y|Eavy!5Mz%`LzL#Fcva>4VVB*hBBJ+-QhRI|eSE6D@C&i+ zx2mfZI&4iEKV5-by3=00m`L&KuFUfm$;@2$ikt-+B;-ChJAW`|d!@xq?;_9BMGfJN zk4XcT_m7dq>T>qD4IQ?c{Mt8VI-Vu?_-U#hS#ba_Gp?3WX03fv@4_uzW- zsU{Dvywm3bckWf3*%@m|0)8~dBgTzNB#4B<%5*L2GEM4y|Aa+p-RDKyZmrpa?fAm6 z$P=!+?>;(xHJ?{0c82?%E%1~I>73-{mO7KLP(kXWV2L_)Li&%(o9?vQ3<=-8IiqUr zjpM%X_Pw2sQ_?w~bPLLu;UmpS7Y`IMPSf`GKC4)xD;spU)!cfBRGVNc_!wcZpRjro zg!*tab~H3utpK+x{v6=zAbcyuM2JE&0wGL97FRayG#*_)uqsI))huWYa6=0~7`$UxVj;I>*33|2Qd$fN4r1)WLpz8^(L&lcTbxxBPhnt(Ed!ZD?XEZlbGDVN^ zNM}RPrJiaOclpNWu9SdRqgaJTAw_an+vi5d1Z+TnG;lIVW_YSh)XY516mHRx>7ZGQsr1tBf}-f?7^B-@EzQ zZrgvE>dlYKSyRNsx5Ipc?-U>;T{Dh zVq@P{l@255JQJ}=M~2Eav=Xiqx|6QbsjN23f7WDwH>J@$MO^Gzjfyz?h4`njo4N4A zp717BMjXKf{bOOc8Y!+Lm=Mm(+hq$e++?&2oQhPc5i37qC zjTob1ATfrgkWu?9#f3VXM!Out6iV>2MU}bd7V)R{V@-v1c zRHXx5QTcIaXufKm4YQT%GVGyZL)J?s-q~H&uI$Y3&Gjx!F0;4d-C+)$vC6ns6u3C5 z7AKy?NIRgi)y>jg<6V-gOl$hXtr_=vMH9KNKRtVLHU^;2jXA(9OarRJ1!ZeD=7o&4B`r(!lp;NH0w+&vMfw){F^vP(8M=1&R~}aDy5X zk#WZIGf9Kjv{}(2)5b{7>_JCPxrft4@RRenZ%r@TUY(L(G~U+*mh4DW;g>{Gas!qs zpEa|Sb|5I;gbU+Hy`MQ*TF5D6ZM$0BwK?svQ_PoxDe6pw(+ADjm{miVCysW7nhw@9 zY#J&uFz({ez}EAS<9EB-9+{#WyJ^|c*p*iG`iu*&?(QAc4fO&OT5dgK8I919qO-K2 z+|WITjY`NCCBt%&nQkwPe6=eoir!=t?my`<5^s?Ch%2F3{VUh`5_X(r6jh&PTLI1C z;48T{&!l}}c5RThAUZ3Ps+uNUuLV(@ExAfEuN}nfJFngexSFhfh-5n7T}<&~WTOTj zptfk4(X@j~YwARkI@Jv|i+pz9C}O;8Js`-Dq%=I*AFer6PJ{UX>Un^%gT6O`)%R%~ zIt5L#8lXyJ0c-7m4o``im7$55yaH5@hP`p}P%6t+=QRHOmR%1s7i9wOR?Au?rYGPw znI>-;UMl`WT`rFYy@Z1f`7~WVXqI@6G4ddNF0*kq%Q(e4eblGdet(uw^_B^_F9%ZE ziPz`KOEK8Dp&H=9^^H!!G{=eS4GkJ!_3NYO4h+BG$u1eLT>OUr9&jw5>(iIMNA|&8 zQ_7GiU`qv(92GQfJy%7`U6F|6r_$t^>Y_n%F9KTVk7jnnRaHDS}==lH0nUu?fe+~=$|IZvrb1O9w@d=-`|<3is|8(gXP3_lb& zYfkey9x{}Qu6JW(x?~#pYY8-XDqf8r8nbdVc#-5^iwilYh&Xz%!3Z?uD6kfrF&jux zA7&jWk&GCnt8`^N_1K1Q<87Bp(#CkQgLJOhi@r}7jdZ;$F6N%NGa!OlfOitCH%dx&rTmvdB{ZRovzg^Zd^q zr#DFrg%_`)QgjxjnhGn%tJCTvT#_(8gM4qM*#C2goO!LQA-L8vk%Bs1so$dd0c1_ zD?u1}f@NUP_jOi4XodC`*7?&&+#gfS`us^*bYVl-=*uun@L(by;ct;qutBdUsCXm< ziUOekEkKH(Qcyc9K@j0%nFb>ewZ`4`+A@(2TAC2xxi$waiQv!S7mN46>>>Pfrvu3u zAX_8g$<04aIsdQT%k$qqzQMkPiP&LFSR(?#xPM2j`*aJI{&*TEG<(z@l?#0oorm8W z0HLN(_^G>5^u#`QxN3lQ#FTodeK56c1s<>pjRy*$+(^qEB>v8Tj3SRfqe)?2dta zGCW!AIk;nm+2=pK?|RU5Ri84%NcRI|zXrvWOlZh1K7l*l?nvW)#}z!8$M^igvZU_| zBI9d_;?xujA{m3D!1SN%bfiMG%~Y0lzD51LsmN27;v}x_b+geiW3Q5)j4;~JjFv{9J$nCdx;lnx`@V) zUHcq_V|#dUn0z+5Fbifcv7sf-_N6bL-e5t6#KLk^A~UYZ!m_XFeoOi*Y-k)9&MI@% zV5--tugzdyU;cRN?$s#vP?0r`t{A!l(6KO9sA_NSoOCI!$})5G(q}#V%S|S-u&w1# z`9a>)Mc|wt%qh7h92!Vy>_naWGWuu_dS;Y!AZ5C(QwMOrQE%2~G-2W`)e}4s(LlA# zq)Rg@AO{Gmb0CV?RW%=7suJzr6y1Mv=FPa^sZU#)?!KRRPDlZXw;(?o%sh6Gf)jQP zvm0(Ajo-}ZfTe?CM9+&ECtH8B_Gq7b+!JAYGy3kxF5GhbUY#>Nq2L!`>`;|bQA^kw z2KBC?;iOC+c~gOF>x6`v6JO4QLFXa=>9N!A7rruTN9fJB7+aB5Pf)x`)N&5|nQ z7RoaQ4&@xIeF#L8$M5*fb05z>knp4OnOyYguMzv%m%GJ%mqjM;Qs=9>bT%M`c6__w zf%pNr-WePyq3ysnFBU_-O{)cy=%y(8b`6j@F+RA$xTS_=h`6CamE4MsUPar3o`wpf^+0N4Wsl^QkO5*WXbtOt(x? zyj6IUE9IJlEAe*ZXq@kpLALPln6>`>gR$YV{$BU+2Q7<+?paJaDQiq;7U~2>yf4uB z+@W>Cwf;cB{m!+k!z1rdCo7dOE>t6uY_(6&{IG2F(md}3dHaiL(^TbQrR%$rrF2qMz;U~7%4Umptsk=?0 z=^V1*g=qF(*W@%a=|e@inV1#tk9u0wyVFjh(*g>EgAt0jt<~b2&JrWOWS{d-F?xMj zJ%VCPqgT$xy?tWz#M!Q6;kDPf`}w{VqgOk7#+e8{8VeC89OPb~!iSG3-~Q6}a;ekO zCEMUKgR`zOais@*b}BRmZ}ztBpgTfU|BJUbkB9R8+s2h7du3lI5oIhPTVyIBBuU6R zNkY;jYZsl9yl3&fCuPHyf?7q2cA!sgyt(4Su{rSOMy@hB*dxT4%jf8K4;@p9l<>J% z!5VvjhJid5a{B*<@cw=6UwOb31v35s)YavIpoo_P(6`IdjIqwg)Mk3rV%AuxyN+mSTnEp_FLVfSB70-;75AO_ z7+5{l$3#4Pw*HJw9p*yKz%NI+-c#sZ{cBe(dZyD8CA7+*IsHAqD(p>=1?4t1#NAu|nZMW6QLe8@3(q@8rpvhE z99biq zGg2>MVf8T)FGcKj!u_I79sVk0<51mv7q>kQc(+^4fl2ZRf3_gpVGH1cDInQVa^%nrp9 zcIdI6p?IdH{%ja-%8e<%`BcZ2_>7Vb} z%jF%!<~f>q2HszmRX;zkBjZ13C;IS4_^-IzxM0L>JXI%<$%&(hGExjIB%zjXq^YWQ zW*0eAGynNWeChOh!uILI}Q`^7vF6$BK8x4gXMe=-Kl=Rj>o=~i9u}#F9X!c8{SizC_^tvKgj4yD85~Un3v8zSQW^I~Hmu3v%&W9^ zh@y%FdFm3J+$(~cT7+V^^yTAmkrsp7<6sjI(?9dK`1r3MaOzJgxC&hKCP>(tL9+Xy z4ZG6u-)KOzpRCkU#P%98cm0m;AkYHngEbZ&ug~Hblt>7Sz+YM{i)Kd;+T_%;672GK^J8c;fcUDY$d*hLnW3_C)Y$4-FR8pGS_r zVeR0ZPNnUmS<{aW{KMh_(%#Mv=zs-h=I7d7y-`meav z3FIcyXX;gl;G&@g)2WV*dk-P;q{}K}6HHM&lVh1kb28$Sw;@~CHy*=%YehAf|0?AD zo;D*ZGiW=5po>R>;WsC%Fq=W?mT!c^F30PSn2;(monj6Vt1DHHpJY+^e2ayhWgqez z-@pEL&Bo;YQf-Nj`ojgb4Hf74Mb1fk>zvu$rEv6(My?~>FB>Wfcp z$rZNy#>YE!YNDSQR_13KbYCi}5t0AMPUPc5gFGfY2IpCLs50KS{Uus|z@P1?p=9fr zXRp}lZ{2ndKZ4#s+!*cknB8(F7Z(99&g?;uZa}=D<6`r%a#*4l?T5^bD%bDV&GKcB zn0w(wOjsh$-gzi$p^Y6k-xKDIXh#SS`UwrdrYp|p;0N3-4=?yp`_%A>O&O?I- zc{Mw0G4h!TlXOEedyIU;b3?^++au$}pPNh)fVzyhPc$wr1I&+y2BLkde#q(E<=jt!>D4m@FiT-^T(Y`6M({CsK2~Fnh)t zp#<>MEpUVnjr`!s=pdmM{M9ds&SdO!R!Md9qzviHFIR)JqMR??qJPd~`+5G@eq-WJ z6LR-vC&)g&OoJljy|1ks*l{G$fCP(cN9<<~W(MSpM@K99{q8H75T6N~5zlxaV`ofy z-*bw!RKYOhs)|bMO!<`)5*Dp1vjrhr=kAR@@%OpmV)ft#iV6pBGdv1$zu_pK1U2|Z z6^T8nGLql^@e9`il~?q_FkP9Owug!eeU2bK7z&b&iPjXY?r z4CQT}+Z!5*tHLQ|6PMQ1tS>&!x_;*FLy5Y`18je~;CB&DmO(*%A95Q1*!$Tohg7Jr zDq2*VjeRuk$0zQ>u&}ZyOyNBY>3rb?4*&KRo{M?O@kF|-P!`RTEw{-C5l&3sV zrL93PhDe@id(2)}Pu^anIj zx5v(WO+(V3^Mpi`WthAwR745YfW}2}BgsFn#7f*VJvOka!4-6UN*Oli80$HocAF0_ zb`sw-*?>ESAf!KmwVU%Zxul5`u=u1N;aEcoR=K47i>KjWm9UEZ>kBdg^9$4IJft;w zj_7vlwi1VdWV5UIWFfos8+liYJ{JaK4Ys10ypNcmri%zBP=1AWQQ}eBOE~W|^@#$D zjvA0Kkt~o@MfccH4yr{v4D6U5a7o=(v8W_>pM3idrJvir*mZGM9EmVH8Y6f}{KiYw z_Rt?tGYF%%y^)l0M(P8!62Z@w>>jOrurM$0aAWYh)U*j7B6<*^{7~!j{_|b17(B@w zMOBPSq#Y090Bo-bU(+GK4pLS_emu3>Q?BZT1M{46@s|@w`L(>0sC3R7-dz(XIz~Pv zx8xjDu=+4H)Boh$gQS~h%hNcF!puAK6K@XT2w=M*Ib;W#e*LwL9hYkP^K(N!Ea=W~ zWq`@?q<~trEN($JZJGW?5Q)P~p=Nc+14)&i8)?(+eUZ5q`I%2}-0no?($UFpu9*X? z?0z{R6)da^+}^!cCvCeCq-%Us^&2WL zdL|zn#eUC4KsoT>Bn!4rg(`zx*`*oNg&0|wHmFjluIQfraq^|EK;G=nctH6h-ZCcg7{_E7aLv(CYM=#B>61LV+r`sz@#6v)iq71M6hHT&iUnNmUT z)*hR7(&_?Yw${H6xcT$Uoq3?uoD_8^`i(a1b7m)9LY2mDN7q3Kdf+AkYl#uBx76?S zna$768Q17kTlcc1jz0Tl)ucndYx(>;yj3zRQBN*yO02*4%iYnluVZ2w1pWFaa(BCE zUOa&6(CmDG*$V(Tlph~JNk=TC0|0< zWS#`9x3`v*Q(S@fySLgXrQ6mwcUVkWo*Y5qD}Bh*g1-`k;&MvEkUj|^W=Yq>mkxt` zc5`+i>|bQtd})np|Bj!t%S!D5JN$KMgpGL@hwbHnz7-chBNfQKL)byOBvTX4ocf1l zBC&vgnX%aoEieFbkhOwE>A%X%E_`)C0^NaBP7$O2AR~y3&85tpsCu3mNrx--ai_e3 zdz3UEug+a-`gH0z+~t{7++kxuI!9do7=H4T~|TozREps z8Ymc=Z{rAgAPDKDRUyk0+m-Bl46021_sr;KPY5#nT0Wtj_83OCnqGn$8Dtr zF<$^|*$cV%8}rR3-)#}Iaj+7gxhC|;d$weML?mozTVD=TgLZ#KJ?uZBN?a3bX>wIom8Y}wr;1r_v&7Y{>>ap zaA4Kf_+GT*Zr~NfIH2w}5IgB738iTLosVCMOzo{*Y%?r_+)Lwy^JFW%-F0J%LMa-J z$_DauK{%7E$DOpnx3zu%a5xSh$oT;|toAUmrV5+o>!|b9PvsTKhxmn71tx;@iLJoML_vHQQCE*mi9}tSOw%3!EhE#u~xfRD)Fl0?Z znzg_7x5+UxAEE>nz=C%J%9pAML1-<9v7R%T1-+iQz{V_C7)%(+Cc>H}bt#V-H4ZlY{_C9KZbDzY z=Ns$@aYUgxEB_V?kzMiMw=OOmqvwIGkWhjk-Gs*0Dc`AFz==1OCc9Ld9$Tq$6hEG! z;@olB`hePl%f&89mo_Y9B4K|9*}jR&v#y^`?p>Z8w#_EYIwuEE5;S+93=@xvC7gM0 zTw76E8qe%ToK@cSk>A%Faow}HbW{>;_Z@Sv@gSodN62K#F>*s;MwH^ur-ByD%pLf0Ik~hOlVMu6Ac7E2cJnLM=Ef^@H!S=RW}8+` zzq+ULZ7*&@^^<{U+FhOGImcp?t?NF^6I;8m>1{|5Lwca}T?Pp5tSc!?zZjr<5>^H^-_B!1R{lT`jGGu@ zd;(~bq1z^z@FW?Bo5os)*AtYmXZmxlpKxm-q;!Yx{=-7VM?s`Vm{qfa)}o;B4k5tT zIMZNw>1F3bikMfY_=Z}V=B9IQC#h>Qfr@>NAXMmck{4Doz&3M>)VtbTvY6~8B`~Ps z=VU*YxcBKqzf9Pv)xe~PSBDHf81H+P@ETSV03$tw==?&<&6d=h<@Vb6O4=pKil}~- z`0+;dx%JEDRcmAXt2^z1{XO#ObJ}Njl@DsaxDh|6#T$@6c7inVU_4Mq;qKv%yEij+ zN|gHIwLIF*lC*a=aof4{cBt7A;lekLpqP@d&*}qdmT1RXYWj?d;3Tp|I@7H1d9hI6 zt=q0Obua6pHqST3oUV}!hI|mED)fwnmUWt-ABG{DfQwF~!jY>6m(luQQ*8wD-M!ye^| zWJF}ex7VM3j=5A{o-f&n>GOiSk7=ObY_gwB=zI2EmQx}s=hGWa21#p4VoK_ddheu(o3&a zxe&<7`ugYODSegbF(G7zbzxY0PulxDT6M7UgWf#` zpKZK4`tJTzJsUBt2xMb1Rs|4mUM*)HjGPHkcH(QRx^_>8MWW#%@*8YIQ1?YtU$k@sz*b$O6=a zq3SFUgbIm;!KiUW)86ol;&%!^lSH;x|Dp_=oR)pL(Ky_KolH1q28!&I#) zlauuAa%cNJDP_+Nv_@>J&TV(mLT~R-(-GrmP;)IL7%GpJWt22Zhqg<})_cVZDz2^T zJ#C)}zcx@JQyuu+&r;1~GlzDxVVTLB1#$-;QZTbctdkj2fd$yx-zJF6O7nrGX!h;=3E#VnwZQiCU|LQVt5!C3XP)R7!@C-6%yj z=v&GEIzZPgoN5nI^su`nTzcuad*{^kU#neBKiPedD8*iO+r-7e*2;o9xvEFMy)2ra zhGvB6vF|(cy}{$P7-l+CVNfh>C%Q~wtx>VMd7=fZs+&6 zE%mH9;fOdK$x?(V11_e9Ae03_Rd2*DjboxUdIpLesyGcFrC$>dxj1MN7Ut3O_1Y6w z@gw2R7VLMli!@zdyS;wCF;r-Zelg+Dpftb~*$T?jZXIqSly05)aW(t0uSS2*7NX_} z6OQoadi?-F_-(;uc%;XmD9BCZ3BT(D{I?i}30aFSkwn|?iR0^ip{L{x(q^Y1U!hnE z?Dz#$3EA@U*VY$^8Ddv>W2WG{ze&pZwDVLvlZ&5(n~h$T$*T%40mgR+G1z7oc|Nwd zev#E{pLSml$+2k*1J*J)=`>K_`laXHlaBhPA9 ziNtH>xv?BLh0N-Va`DNKh2G|{nm!fiwKa5nYJx3@ z@-f~Q`;9CT?LmVhD`!z7YkFrhoE-1+Yvvj{I}aExuA`c03l!`0OBl*sDx?(^b%sKs zWO_$4)M#gd5vD6lwVwAENKm^k_37Q_Gr{v;VOwnujUdqp)SzPk>la6;kvhUiZ4{me z{f4Z5kWsie;><1A(qkpmdnW0E_+cfK(o=q;;o098W5&+!yJo922sN94{HPAY%hX59 z;23E*7hOpQ$0520ZY=$5!Pxui;~d|Ns>`e43ua0!^XgxPIonun(s8T~EpLePYhmwq zb+EmZ$EXI%#D|5^>ttcL-R;kRl->tT_xmZ{kLIo0Ks@#Z%aGO{GM)~*dFXwLB__f@n0KM`l2;9(UIj{eCODk+WkKn zsc*3NG2=00y&FFkU46&5Nk7Sba=6-L`fzk1aoEA?1=IJuB@P=oKd(9wT8dV-TFk@nL)N< zW1WR6$(=0?!B@$0u}|t&*SG3km#pR^Z=?y`aoN&fvTtu;R;FmTLkIC7sKi9afuw*B zww%L`Qxr3JKW%crYW8i-Q<$7Tc>RVO!Ka-Cs#6kVdLm0vbSYmN60Jg$k3x7`uz5oK zer+u#pO=FDLT)PS1jY*%&FjaMIwVpG_kJ^g+=wuXpq`LlEmJy!;z1ikH%rOZw#4&w zaMqgt-0YLd9xIx^9mK`cT3v0*!svTfXzw(RoH#KT_vwt<$vb}1sjs$Y z93=E!4Xl(HveQU2++1#xm>#`7RQl|9neu=`VU78SIMe3qKYU>2KTge}4QmI!UB_qMo8j&`;EZ^)_KGb~okz zCClR~89x3Gn_g8{KYz5LKk%%HROouH#o^&^mTI+Q-nJ209{upQ^wqPdTX1+A zrgDKU5kgb**gzXnyNGrg#Yac@Cm)Yr&GP5A^w;<7*EA8^*L+t7^$5Owh#O#+Z%dif`w+M5!B{mP+mm`<-=i699@cr&*)rKw0j_ zuxa0d4tv-h{WC6wy{EjQA~n4j;TkSM*0xcw=Wtb2tqU0Hr05_QbU|aP9_nhLgOytf zfJxx}x5&B$rvPegI1q@aJjdT5b*|PCye)_wZ>c64A+P{!zI$%q3u_e@spmLmFuFWkHhMXDIs!^9A;F_HKUZAWNC z6tQ&z`_5|t^?!a(FYN+@yNT$#KSGV|15_gCPxJrI*F{hTTeMXtTB&4Y9X35BW^(6| zpygq=*C|ab+yJxEgB`{*M=>NT73wKuEU05(qYIbM4mZ5L2mid}>^o*GnVK5$f-U^? zpq*0e$4k<@kD9(XbHIiz=)(MzJXpEP3eU{tGg*o9j^su?U6%@av+^s(C-TVtDJQkF z>c!|>kVj4dy#%QcamU+imQszH`-3^6(sS|qY5W+4EjI#c%2(H3u};H1B!~fOLWZ2Y z{wu3DnFR-i6L%Yt^!UUs?T$oBiMN4#TxOiDUgnfv;`Tf`iGre@Etk-PFk#DNJd;zJ zq|W5bC(U;38LvL0`FTROh6`$|D$0jf-}h}&vJ5wsTIG@_tcR?AyPv;&#eHs;Aznzp zP)}i3TKQIeX#zobqF^NsQy3EW=d97eo5(RfO+kyt=RHD`#Rekk?Qi&UqN%25i1I!1 zhaOd6vMI=131cF*qS+#a-{z4i`FiTm@c7Lw6mU66>H`r7IcC)iNmYC>-y6ojCS(kf z1XmEXwXq|=Gwh7NVD-Qr6BRlQ*cBiQV{rQ)gvwL^J=Hr?snaDv6=Wd=y3!fZoZ zkf2%n4i8g75b|-=*Fr3e(>7Pd&PDdmoVys5aQJ!e{+5w_u5suRTbR#fXvO@9<$iEx z0}C&UAblb!Uu(0lL ze98bMLP7(+6k1g$7q;T}F=0zm3gLESrRK`Y;0gH6)u9%3COLU^l>5};hsMB!NBYOV zd+Av_%0!-22{>zi7)b)Tu58jODZwj=;Hh{{@sithl7kBl@J!mNgT0D+R1^qJ}48@Jy`=VZhfEv$h4j7mk54rM3Dcl{RcNFa9F$n&|5LxYa|{ zZ%6OL2VSZLZ^p$6XOf1U^lEtv$`|62r!V6j(n0h1^R01%|gWbQmd&BjgrbVSKu;2M;9T zA~FRBfZ(M!q{7VK_n2qN3F$}q-{K7-6rb-`p4ZV}q*J|^mOgxp6aYyLn3Uuwb^Rfz zDVB2}XXEDlYBkrrb&*zC(duV|zR$v*=aFiRrj(N_8E1acL9Zy>zM}9%)~r!wIYSy_ z93J>iWkQ^ljOfO_$4ms>gONHALLI4?3aCZAWH)FTv$9+3iYsVKXUoCaQmYsMfeMoKJ7fL~dl4T(ez$`g zC0ur?0jV1KgXzpGy_-M48#fE>K~|@)ilb&dakmjM0XROn{_$^KN6bQk-A;T<`AO4- z-Z@+mwY~rJfegF0APpcKyr9etqe6W@>>$F99gstYgoZ2$BViB$kDHja9@fY{x{Rc{ z&paZ@mS!j2vkzd9^&Z`NH*LQ*ui0rMdg#wKt*{7c?f@RbaK8N}Gx5rR`rJ5l;LeA* z+B>C_>7ATzXor0{1wXVU6IqzW9d-bDA5R&Bn`~9*yzu-*Ux<9D zW3H&)de=YSv{-Y%aSh(xgQ}sgkRbZuawex4M6(XkqP(UqlM$^_3WMl##hyT&`%UQJHq6^6axP_(shV>k~fd$LB-gQ)Sn{Z z%o}MphBY%Ir>ZayT`ZIbuD&>uB+pSPHv4F}%?3-qOyj%k16tg~Ro|}aQ(~Ndd z&SytHjZtTrypBRiTxKB#-G}NBGe{z?E&(x@m>*i1&?Tj=&^-R$TLuu6u@~r|FDoV89>?+X6uC~SvB0Fb+iI2X~DLK zol+P^_`<}}OLW_0NFj>yL@wy?KP*K{^mEIzn^J;7_mr!v3*dfnB{Ywspqe+I`ol4L zPIc;dU=52TUBm7J@j+itp13YV-MoMsxlQKzK3sYt{8F*_#hAA0*S2BeakibvN)@_r zBIPb4XU)6*6p=@6r=#&iaL|X^^716<>hi||T1n@+_-J!KMP1`tazqNbZNI}vzQXh* zR1`!J1}I3Ms_hg+GRBTp6Ly*s$7GuE0=N3SAD~@k7-~GuJ2sgof?rn0$R&tOJyU(} z(OqZ7l2o(l+$gTx^AWUssIPT2$IAk6s7uL<{sXNp#K_1eG3#FU(TOB}Ca(?y!#oz$ zGSPw)M~g#*%MX6vOk*h9T2?-<-dE6OvvHhvAs$hm>-)2N%`v5gvqQ#PsY zv{3r#!BAPW-j~{b-qg@xVNKf)>T0JAlaM=i!V-#`w+{qhzb;d0U`||FwjWvfTZ$Wk zUXS^#NnC)wbaJrx?SEJldVE}KXSywOSTe`n%Y1m0_se!m1^gnMk>|=t1NuauecAg8RFG>3Nu=5$Exk%^>6SLohz_xcp?utH1khaRNC`M(> z05^UFUC^DFzUn}`;RVhwZNYQj^W|Y(P1LVg=NtX5nSAKdXI9|}xZtSj8>u&9m{|;6 z(1M6*!cHJAGGhI)+<$CqJL-HsOc+C~ElMx{T=^Usu1S|8*0C-j`Jv`IM7e7aAH{D3 z^5i>wq1uW(w-hr3QYx6NiDvUgzpMIL7QGdkaX~UrdXUrgMp<`Oe~8ud!k}$34RoBQB`js{LHM@JNoM z13sHLUI$14G}+Lf(~1}(u-H&qV@ltn-0yni_u=wNZc@<3kAdI1(1@(R)Yq8`;Ew97 zLBg)c188A$WQ%WX!K9oN8`OH;Nlts~qs`cHFS2a)_2ZWWuhmn(+1$<@RvEK%G<^v0BflXC7{ z)Z)gaU*nCxbaYwY_#MRMLIC;^2!)|NNOIX^bz(pvs@TK6=%Rx|-QCHAhC|yn*H3q! zcau4=AKr?)&o{bGSYOQ`#a;)#Yr1Atne#Vg#U8xtORTu*7n(#+k8yp>+Sfg{ZJK5aZicI%A}Jw%ncPHxZ7dOdM14LCkM4tVn* zLc~2OHzTVS5vX_Wjy4rX$$=A%!BSv{CO0jPSA*{1Dhu2P8;ID&LJa#W=W zHC9KcUKu0p^%8N--~c8&kMWQSxcIKBN`@{AtKNnyx@2_jO^Q=cJ+JMv79v^jlTNpf zy>rhG(EqX*x5<6FmX0{oS;R}$-T@WqX1$xhg(^dm(R6XE@C6dNsi-f{SP-xS_VY{5zH#z4E8x*u;QCW zv2Ihq@P_@E)5+v1tcvpmiA2#|WY0|p&ZfARJ}=>Wq2O*(>FiV=ax_Jf8l4wZU{d*d z(VlJXQ^Doi=PBh&B#kz2R#(-3SPDl2W))1gG}h;X^wQZ9_g;Pc>Wud+aiFYEuD4%n zzSb7Z&b2z?8cqEKh7rYxV+u2W)C#Y{HLK+c3#hp;n!I^=oaDv%n+apCr|V9}cA?U2 z0yqnvnjC}mtOKub22aJpgZ7IiW$u)5V8q za=F_IW*|p7QqI3N~xwcQE#UF2xhEY53g%!o^pfw9TT z^7ab0r`aj36f-;wuW0f{LWMt-cBhB+sZ?EZFmb078ml)kI~{QV%EtouqBjj)y`DT@Z6-a zYkof;!Z+EOJk4bNydq|Mj`S~-Q>KzkyRfQ5*drkw@8Wp{c2xE#c^R1ih&c5ZNFenx z0K@Dy5_&9jNME|Fl%$-bG&EH&mOU9z)jxK#yVUMxVfVMUnuHAn1|0!Y)o70(ikV3| zXWwOHEBQ@Pj0DP_)1D+@TKSe_w$4IS9aJl3T<%XRVLDGPs_ed2{O9A})CW|#jN&wP zCgzzMG&l`}L?hf?`~=RRriN+=DV0>-dbaN8bioEbD)0uyS=1x@cou!X>7lsiOoQ-M zD$rsc_LSmJY|6BV*W*XMGdNUju7A$ps)Ka|_o24q=d)BhRAZPX;B=g9GXm%XZZbLD ziG1U%6pazTF+G)!49xY0^1cVNHC5HNskylFHf5q~vc{$$-yuhD7KPaYj?`Pe%J4 zZ`Qoj=81}MAc78~PZqD!`7^x+mo%$CfD-bV;)i@g<4gjelMCwC%9^Gsnjd?9yA|drW1e{}pHx#JQqx8b1GA zJ7MsG>IH%joPKOr&q^qT>`SaFAZBYCA3`avTU}EP^JyTScF^n_Tu}_!hXu3jXeg+; z`L=q;dag4H>Q%JpvQiSIzZOPvgVof1y}1vfjq6y{6=r$jq<2aMb&I#^yn&am@f9Zr=w|b}|oSSxMLhS4wMTr3F>ntR=0lBMh;M z;6uOV!I2mE9;7m&o4vg6WhuGd94QfCL7a#8&pKWeBtGnmhikF*U|Z_!$M>>zrc9l? zGc9Qf<12OiK#jNiV)HNe@;~^OP0oVgc_%PC5nr@cQ-~q%lwz`L(A`l++4`fUoe})k zpn_)(LN=S2ZH%&N4z)eB9BQ+INCvPy#SPG^)|gRY+KiAuipb6e*r4C2w#=q}XvuMi z$`ihX?9&&W`<0t|@fs})Im-0N^jQWE})hx_5KZq%ekW6L{>6Leq&As7L`Y7ab7DWl% zW)Vb4#aG&n=^@B6PPJ6Tj1H;TYo_AnirJQ~hPK(n0oe4LCTI-1;aVtERjpOc;pr}J zrWm2{j=L0C*Giha<=g2ZLGgMpGJ9)PqcTaT(7kv`>ziy%eO&n72?%)vO|@$uV>;F+_YP}K1?bmK6x#A z!0yUx$tSj3h6ES~vwxbK+Vgo4sb3mG46)Elf}JJT?!OU2}|+m;S72rXeO~INP(85U_aT&TtD*_y$q}7#OK%V<^DvaQx)~uv5}A4?Ug$* z)K;QaOYieg5Pgt`_0;pdY6VV+ozuNm7B=6WO)nbR|JpN-H#Hyu*WWjEtnD`n=~9xI|xW%ZG8l9QkwuD7Mx;>7)8L%{uX1k=Ny?q!ZSR4>qXS_nko< zS<({Yd+sgWSXvj?ey+03OYwTgq=4T;>sJYfWCRNgb%x&*{id*M?&yoB1DuV<@}oHM zFs=o`6Y}M5-=x+{$Ij~7HQnbvA0|Un zwSapZldSV;53I1+F6TBh3pT0tt{m<6Ux53bOH?CSw4kC9?DeXTiR)ofqJ8yB+;eMe zRT*wPspXTeIAxP{-QxHouUR;~9(mFBFIY9d@zwQJ7LF({_%16(HUR9x{>;_pyS#WH>Txr-gZ{PP(L0 zNy^Zo;$_{191iOl*My>63E)O4Mp3(O!+X`|yUMzKze79r`*O2&-ns%KAS5v#Z2()5 zq)B;bK_VqvxP#QAC#5~5_J02C=zeT_U?r|4Rln2s+kxa}agDDN*p0Po| z)^cEL*PDLMO|#%*QHlP|--C{w-VYo^RDPGIB=k%iZ|njFtKyb4&85t7=b)a>T4v$x z#JZJXvV*<)Nv6=t7r3JWJ_CZZN*aRs6FP`&!>X0`2~kSMQ4}ixMATa~f5d zUAS_@Dx2Cg+LNRlJ7e~7@VJw+z0rihTWa<_wGTb(7zQ7?Rn7$Hx}_=oJED4o>@GbV3S`AGGT_7|Od-i}TLRXtT+ zWksF{2^7R_sYFVNM_+pp4w$Yk@qHqGcV0BVxV&x>h~|BH#iK7i1J_LDEwg{F5C_5va7&!6w{>-jCuHg${WmtQWF9SB^2 zO*LVM_<#(cxgSO{$l}@G-Mv1mSSWkiC;>-`4|-1c{M1G#m*uq|@+jRWr0)v@2xEiMnB z6AHhMS^FlR$8OZ;9Zde8=Rj1uKq2|gt)G@s&Q-S86(yPR3;6l#*w{D<9@~=1zX6;a z{-;D8@mHcQB5r=Pv-1a;uQi~~mL}6-I{xmjM13mVY?M@gl7Gcn|KdUT-u&Ml_6B|w zGqYF$I`2uubGF2*#d3ooMgwPmCRki-&%IRloc|}j{F}gEar(T&c@U8U7&*9m>th9! zQqmLZ4&@$s_{D69?6cYssSP;xWX=nPj`nwBp^-Fer2b2joEoOYKq(uAbKEt*C3 zwDO>4Q+>rn{c|`m``5**idS}C8Z??GnSH{Jwk5+u=Di-5|GFG>k8ZZaVQv<=>}=u% z>-83w^)svyaD)=ww^CrTI3 zrPeBG*V)Te7C0b_4w~nFzc{0H=%&KjL>$5WE%wH{s@53=%gj%vj>Z1=qC@!{oyqqW z=jqaf^+RX`X$l)&&z5hum}waHIAB=wu(7u{ClsK4+xn7JH%m!!jDozD{15q0mN7A9 zqh#!n(4P?K^XUbn$PVq(2S{t5W@5EotZv6PDE9|bbGRQXrmJ0YvywX4BI4aCf_0mZ zf!mLMt`u;+ZvJtxKHY6J#?OVTrqFTMYnFY*fF_L&9eNM63l>pK82Mm z_Nta74mDJK)ts9TpjGKWWu)nWiD2!`z%tylAkdaWZoOl@l$RAz1GBiW3P>>IwRf2L z#eSW;&!v0>MmJ>+Y;!h=?PS6ed14AL-pd!&t{n2*mDC_@{pn18Z{?KJ`2%wR;ffpc zqIlP&(Fn+=en{@A?{%`Z<&}nC?=XpP!cQS7fv)3q7&iKTDnH;$+cM8m0|~|K=SMW0 z@ZN)GRyBu*|11QfP-i_{?PMqMs*_hOG?s7J8lp!8t-GxiH0K&7h9{6;Qx(}bJ&g{V zC>5pUM4y;VWTA@BprVw~f@E={vXP45=Bi*NaDHCaW0s}bQ`WC$t0e-kiNM$9#9whr z?|JeevVI0BxOM-k!^2HQ*R*5CR}AD9qt2zo&{|@OqFCmIDO*-a37dX8PHfM!ZZ%BMgMOa(oMP#3=|zbbqF&ODwkEo` z-Ouqp$9o*_@pc>?6U}e^F6ViE&hz|y4B)5p41^za^k09Q5_MSfFi`2WI)&jwT?H%o z0iy-Mt9;21CxVhD_WoF*>*1sXE6)9>`E&S07Z#N$O(E}mkk2u!%e3GL#_=u zcBTb!#2Y<&$(Y+b^b9)0yA#U0YVy=~Gj~8s;!`GutHQ84VGDp~F|ZK9NsdNlsb zD&b(xxTH@F1q&G1xu27{DW)?oX`Xmkq?Yi<;X9C`5T^7UmOU|nKeIu%we*j}YxY|+ zu*Zl4DBIadcx;v|(IVml1!J_y=qj>Xswzh|&kJ|X-)?ZZHD+w-2`sa1b`|#Z?76;) zTZK|kbPN8k;RaX5H*zi@=WknXV}LmA>R(!@t_qQ-jsXh zHn9pHq=p{Z8|li#&yM@)*S2yhsF4qUyZBpQS1G7;{yNM z(S!AR&Oeeok^su>OqF4Lt?sm-h!c0O5`U2FqBaM>c2`Zsxt;Dw@*2bDxs~A7id;YL z13EnE%^#ENV+)Kgtsy2}tFygR-M^RufsEHrk+*-xA(CnC4ON2;d=rtg_oAk*h`(|@ z`gHCU=O33XpEEi@N0u~=s~SJu!i=AOisN(sIOJ6SI^zt19(-F?6?V}k1ioT7y#`PS zi8M3NYYK|M7Sm;E`8#)@N_oUe4x|oZ$i;>Wa|t**veC zS;**SiCUM*t=)SmO^nX{)&K6B{2zTB=nkf5;s4q*VuG-GG#yYna}eOq*?n*Zx4jss zjPQce`Dwfnv(+ur6F!Wipn!IEp;=RZMU;nxjPX(Ckl$`rF3p$%E%49pKkH71wJg31 zwp_^L%$59yNH;o((Sajca#Cb4tDFyg_*eT#hE@ZQ;vOJo3<6H$Kyz`ydGEH5de55O zQeb%kcbxWr{Pt>gni(+!2(%UZYb_gKDGHmKss?%X`WG&jCNAzy!k8?HY`~czPtp@` z_+lKgw8WCyXARmw=_}y4~8l{?0Xo*SzC_ z0`hz3YC4q@YHkCKHju0S2Er2?mztsX_}WMdf}N6WLb>jDQDc=|OuyJWw&9?iHv6~s zPuLieR7M)-tk{I%c#nOYi3E7bp{@rEI@Mb)VmCT^j;D~qS zF}~s*QOYi3wdW#VzTXx~)bt!Jq%HM~t~){xop5o#d7D1Y{|n_L4a|@5I`q(4sx+fT z^dhM-@>7KM$Q?$@z=Kl*Kc`)s(@Au1>^!- z&o+!-T=E*2=U)ffTFa~9hzrM6T7Bl5peL8Nu}#Fj(}@nRZswcelN#l}m(oS!exd?I zUEwULw_YO>?N>wXF+d|$oP`YLQuw3WG$i;CpO+Kh~?I_bM1LZ-8f=|W~Z--zw zy{Y`+8anSYl_ub;p>9Q~3z`a^XOn_DX=M(`TnD9qHVUeT1s=;7Nu$^2;)p`Jb?1e5NNj%c4(?AAlv~7Bq3|?>?cByw@gfY}9R`l&l&6z0kl<2GKKx^YCL|`Tg zz&2Sw0<|AE93_L66#Y=6kn@P%g%+yiz@Tq+N;1Om>qo%^cO87`(G28|n{-p!IEdVoJONC z7A8gmu^GrAgW{1ga8ZK7`S}tw*V{0E~}iyoab9g-1`WA z=SzH?(h2SkcIS0W!ZkLZn=;(xMcoVRd)`>dRKi;L$7f-m&t@G`KzgAEp$e5S z>IKGEh8R5?rRSiPlTUfjFF#*dbx!J;{k8aWsVxf&BB8Q-`XHo@N6h_VLUVwE*He9< zW%T*z_7U)4VEcJ-hXzc;M+w-z8Ec4I7Wb!4&KE{{HtU0K`Hm*EHSC$-*##djBKw$uR5E~})d*x9SjOT(-MP#tW|RFQ@h$w%Vg#?3Btds!B~Z5Y{j7 z?-IM~loe`#HH$C19epGwOE2uL^iwaHp7ilc%5D=>nR;aH!u=}u%$WQWp~0j+06Na_!;k#+p952yF3~Z z@ox^gZar^75Fc^2b}6p}qR-JphqpzYu=b#vY3)+s5%#}y~$a7Wr%bm8`H`zop0>2gB1UPaP^tc!*{M(6PtQw z!1nOkL*$`$1G9tXa&SBz&~4Cb<*N48DVxSr3r(iB~3yp|oX(zGXj z+oKJrS)qtRI5E%0ICG;|odmW z;e(Ui_*v|;IY!mun2}DuLoe2GZ?EZ+E2$4+g^t6B<}g^`DB~z7n_+bUxiClgk>v+^ zglSHXXB0G#@lC-`oCQDbZAgTOKtE#ighzK_1Gp$oinNp;k^oxa9?B7z?jm)_!79|ip z3)nauS=Ixwf2MHV-Pazj)PZ-OS*1UZH>)bP^WMkEPy#p}x6I^6Su7Y;4v-h?U{9dm zb+O4fKsUxy3Q|yT3xw($ia^m3^flzn=lF(EBpOwMzoimC_B`pr_BI~%mG0lZm=m<4B8xi zF)iscvT=981E_FDD^tS#@t=7Jdqxp+>_MP17Wg~gj8Mu%b_V-z|8j=@1m`x*MPVbqBT*@y z=H+FHXC3Us%^N4S4yGTXUN-parwUs{*dUg7SHAY2h{0(;fYfOYLq%bBHP{`u?_Gr* z*5LZQOa@@!{(CkL zF>@A2Ig>=^3xbFlBz{1f=t+wthRQT=W7k_LtKg0OyBy&EeAFAxokaiy$n`g$!sRR4l&sMx0Mqf8OL zz!!UFaO%k%cqL?xEOn)cx>8+ezz>Xq?rj`)hj=O~TDl6{sgFXDBJ5>t3C?FlQXC=> zQ`lL>SSGNUCXHbk$FG9hG(}HLJM~{gKINjYw^iHTa%)mBAIO_(ePWpEQkD{fKObii*4Y9E-kbotX6U-c68#}pM`Nbrh>A6|+Di_7F#pk>>X@~9VJ{raK4 zVllLFTgS)UmAy}+B>22<2fM;HlO_2Qm=~Z9HXKan<{s$y#m_VY;`4U(v`>A^L4R(J zQAY4xo)VW0{7g9iOgo;~)3Ff#eP93Ztgs1je$icTR&U#YSkKU7PuicAW<06fHbMnZ zm6kAEk7CfxBty%xk)20jZPgZhCJx;Ad|GKp+$-UQzwp5_*iu6N(pT%)`tmWMabGpD;Gj7uCO499*vJyVOL+=0d{8BePL7C?M8 zh}aWtD$j0w>U&&Eo`eN1fsazyyp?56KCBid1+}s;T5#Js4Qv27|CtW9lAV6Qh^s>X ztASJj@B5~R$L{OK`l-cTcy(LS-b?FM zAFW-uke%P}I^w~(sc~x$|C>t_@n?N~)CJ~Zb&e&*U+C@*Je_!0!?8&i2Zr7eYS!F= zb7S~_&_s!~jqrw<7Ujp)_FkhWV0m9Ge^gk?vnjVb`0RKj@`EJ*oM-H(8(1GNR@nf9 zEbW<%@h!Y`8|RU+K(@}N!{3w}*$tXY2Yt4CY%>iV3oC*y7z*i$@`qLGvWdtxCAFaW zqFZJ^5tpiBa^$MVBEwt4hiva{(vl=N;oak#s~tZYoOr*PTAA=$nBI8tI<=>?=>GO# zUF=%vJnWbj3yOmx1!rr<9CEYgI+fV^=%StasL9rspz)vd47J_0@BZsw6@BfoI=pJ} zI@im|Db4{u&CgxP7uA=Ai$5db9&50Zlv>LvmuIvRoMt%07DT;Lb9{J*>u2*8b1k%g zr(%WNaYREvKj)uPB;r4c--tT4@VabVq7;3itM1G;J2Ir-uIBuTU{qYxsiHUaQloPZ z9UpvGcFDELcy2e~Vjq|7HYGGryba^D(ROfhKh@6K*x<=yDi+Ur?GN5t#~(AXdYI}2 z6;E6EOC*

HQaIL;R2K)&KI@5YPW+ zQ`b%N3qANSm;OD=wt=fG>S*`%-$s3yeD|3 z=^^*0z=B)zreFE4Q^|XxUVp|GInMWrXngUZT#94pSGOXl?9dv9pfGw)meirQP79iO1q=Cw<63gj*TTNdW z@%HaB-jfVCx>bpSAm~L`!nr*oQR*s0L~&k{CyX@CYHA z64)isf$Yslu8NQ!EY@X-#M@RLDw{Unb?P=<>`2!OR#HyKhc$~76x>SMZxlcx-K#%; zFoIlVeldk?BLpFQBgDP~poL#dR)Qdw;LNpJ?MV$G$g>9=$T6c@#kun`6Td6X(Kx}|h47>a(h5^`8iQ0#Dv_dP$C4uf^i zJuUG5ozKyO=hX954CD9-Fw`L+ z?do*=_wbw81DEumxz2Aw{no!8GtWLhS!-G0`t{1e{_zi41=;l%P|;HcSFRj3A8zf z`_V3A^i!q16bFpd3F6`kJ)W{1+F|`qnQNC1YjT8^Q?Jt4iHJ2>P*wwDL5sEB9YAS& zc+KDKpu9ZMZzvi#%@bSFSaxX!_uMBsiyfTs9n{R%bb7@``Y}pUwap~j=G9LZs$@mA zg_1CGDVjzod3rNNTl_$dO9uYgHmzPq&FPw4Jw zT55*htGYY}3VyM% z8%#@4tp~R3iN45TQ0(UGtlyx*p|fTrJYMlUUw672It?hAqiL@#TOjJeB)WVsBfCir z>M93}jO_{9znJv1aIY~GxZdgt2?&u$ubn0K*;91z2_fw&>gbo^bu|MQCo@04^{Kk- z^$edde0=J@Z)YW>ixGI#XmX35)nJzGUNvyr{&t{0`S6-yJ zb=@@B9+AxFbCEP^>%J#W6k>1y5HQ)4q{L{c!t9?OU4zqjAjY4F85}(>0JqPI2D^E4 zBgCS0k#+)fRj`{-dI%z}Ef1%bEy`>=i>$s|RlNWBmyLqD6rS^7A}hKYJ*_23f&ok9 z2-;V&c!*IL-vW<-eb(7cF}hd9(EPvfD#Y(Nq=;?aD=4QHW;Gp;pJ zlU8L}-PUJR{JSNtz2=JbzNyL_AAZ@g7eO=wiQ@b~@c4 z_`2*ob=Lx{pz|xLTK64Us@?&+%QC26ACEU$Od8Nk(s{nsdZ{QDL-X_-A?zr;H^95wO+8Qj+SGtl~vY8n^p|0f7AATC|P@G;=9dBn~4FD z99fy;V=QbBH64z)ybSCvagLb}x3O-o+PC_Ou*rK>s(dfarE*(q8{8||%4P{kG%C-t zs!bINbuvs;brdKo&}Wul;uH;UoMjvac0gu`;>TEj3#j#XdAp(J`)GcYKBbz7iWMd!d!WTk02g)>sC}*o98f-}{00vIMPakj(2p+*gc@q9378e@Z+j_}Q z6US!al@vZnGdl zfe*k{a*9|oWWR|R;}s7L8l8*Dm84@N>2qjH^w{*~$Id69BSo4pO&5>CecWf5;P7Rz zvgkEeeBY#N>vXlx>MUUrce2&HiW_Qc8s4~D(KuLD5EmC121)6d??sDPp7TWl`X=I^ z@QGG(A<&&*n-Os(7ZAk*rEd&+&m?wwzYfW7_46jpmC;M*rn(8`AMporL>s>wJlXHC zi)tT8o`1q)UzcCiv6ljOkIJ>+u$D*~ItRoh)U_V{9nc{rjYr_wJ|!hgSLH{pX(>^p zuaF+u`>on47psiWQKep&pR~7mt3>TRUdjp{-3F%m_!yWSeo+4b3h)M>lsp5$WF;V5 zJq!x7*8`mxO+L8ocS{|KFaZl3dBdOj7~d z*c7JBWHq12&p5J$$MB+#QJe_~*5x!&wW_Mrtt&LLcy*U0 zkrjH?3*{qeqF}YkOcMF&Nh7#@pGNE!4+x?5;bcGhGoYI?G20%8hsHBM*-R(wh+S<6 z)_GOUemwZ%z`4Eq`P7?=*ha`4Dn-%+)2Plg3tI#adO{RF(8Ra&z{~w&JxATw()hbM zL4Q`6y1sF)$rJ(fBk_M-K1$~S(Leq+CB_=FLhn^q&4C%2hMHv{$LH?Fi_@Grq>UJ_tC%&6pyG1bhJAc$QJfPO zTgu()<7#^~K#AVj*)?yxJ%5QL+1PMYJW*!ooS4ifbJNF6!c1!5tudnkW3{u$T=rl) zta_oH_X!Fs6^8%3t6I{fEc^Kr8^ub`qqSsQ{S>1ba)MJNfPif#nXS4ylMGTh@7(L! zn4q>zveNtI_GkIgsqAb7u1i0rcL z;M}{s!3$C-?GTX1e24AS0JbFHEd&0IlBL4nMVO7c0f9$1%D3!)VT}3*dld5#mSVUE zLkowmLh>-AD4@d52=Bv5F=-3VN^?+o{qADwNZLbfZoY;W3NrBp4-RpP$nNhA#;BZ7 z_{Ee35W$e~ylcc74}nBas!oWlr`1OL9lLWkK0r@v0sUC`{lkYf&wB2i1rweFWlVWK zYci=fiOGW%Z1+*&*V-LcJ(s#TpuZpFqP@~euZB>p(({1ZWwf-vgJDC zq1c_S3Z2K9FYeC0Iwsn~ID#bw%y4!BBo8QDHl0PjHnAUB`g`e z{fBp1BfFrv$dlsJLlH4KBB?j|s4=NdZOITB2CIZt1E>M0Yv6%^BGPPMOHbSjif6w4 zV)C?ZM%`qGW93~{K8Qly;3jK{cak;ulsKVe*=A}zfkc=bs!1%0Zw)&s!A#xIW%56IgeAwLurQKE-amcUL9mu^?&lxrF zEoC}7(2$|yb(zr!4DvS}bRm9qy0Wb^zkVNM+N_A$Ny}eGrTp6+>3`VPexe`$U+sfT zXa%TQ2Z6`HKI#FZg2zB2C^Ldj7=vk0SyPFy5wl*jA*Z37+p5_>TvCPelp2VXH9XM8 zD=PkV>#?o^a`w6>y#vDMVKx({C)gQXSg;Pa`}~lEot+6wi zx+(qFuVL0MnTu9304NCv@J`8rG3ldc_U1ojXuUR>RedT)Y+GKx_vp=RojbWW6}H-^ z(H$zg?@U1g+ymJRKWvNAqNoyz;Vr=&FWXM}C%JMY6rr5vqYhpZX8v}AZLbF14iR0_ z*2+l%t7vI@8Okyjb#_2vVk2+DYs4?!?_3Xi@hj`4`n8k1>#y#BtOf==rx5Vf55A$t zF}g~uDXi!-l;p9qj8Rgi)cfX9N=~^;?m_cw`9I`oQZ|$w-gc27UMcO1`rA7{%!kPmqd#ILuG=P!@6O}N0D?9 zNwm;5`2S>kEamMUrX&#jx1aH#yvHJIZ60@xtDy+ znO6_(BW3_?&_nVVMdY2~EMh!hRuQ>UHTK%eLDfcL;B&*w*?}N4Gtod2{pglfJ?=$86`l+QYERc}?Q6HD#hsE!CXEtKX z*4}P4n6|N>Z_zMIQqHiL4CP$es^m2^lB`(q*Zk9+7HNk~@tA;J4Ud(12d@1OqxVnL ziU0T=OE=?!HgD&Xkt0Lu8r?-j%m;bzToF+~T7yPIB6uBRAkaQwWa(LW9hT2btX-Md$a^CNCJIf+aMoHI5}?hJE^pkT;At^-r9;g@7Cn?EUy}5Ct?AtrF!l^r(72mN9}2R}PK% z4GApO{o(uLychC|1BQ_C^Om@v4dWw_4OE~Q5G@I8pAc-ew9Aw;1TX29QylLP$RTvg zqq@iMGkuO_)#(%QeU1cX>KbnD`#NHUJiV7eEotHbuQCSes{Ia)uHm+niCNMhOt_o? z=<^=XlCZ!+GxT1XfHZ^NoN5bVkKYAA$qRr2(ProRChiHeDc}2x$*zwPUb&pY@SmUl zl=PO~mB_dVRz%6*Uw;o_et*t1Nd!_`F-MzVo)EVNQgwVA%Q<%2gZ}~KFXZ+mDG3E< zshz<+-Wa2jr73Y>BgE1_Fl1;}B-L2k7QUYQ6S*UA&L>c|Hu8MLM%2EL$IKIiUIXHl zf`o>6$OIzVy+)EFKq|yZ7w~^x3Pd1DE`_rpLzPX8*1-~=geHtvOzsv(h0pw6^5JIz zP7gL%-WK;!&UCIuVi{eS(&MjvNG#VedL-94@A(mBL))4Rp{J@dmjmzWF@GzPiG22W zV)eV_T7!7HMpCq=OU2!k;IbQ0U%R~5cDEOkx&t%ejM1+joOc}Q2^Z((2D}ziMtgje zHtQK@98C7%+z0wBKrSad73_V-H4LcCw8K@Dy|$;@_3DNO@6`SB^ZLN>Y?$I+yOx>s7isE z9Zm2W4zed5YTf@beK+~`-k@&jyP%9e@t@m13bF`gBC?$srySf|#^QS)eB}zrWq+6H zt{E)TUJo~sMI?6kR>_yxYP0mn7!(@c#$Kx!=~zeObeQd}IzsykxhTF1s^UlQJ3BB+J9o`}sjA4XhtO~J0DSFUH=`$j$sZ60+k*On z;HG(SsvyQRjA(|NfRUr)2-9G&t|FNOO)IEz5d|vIg=5SbAsRKbmGM*XOzHU!V>N6q z1sC?Pd$Ty>CwGK@eMM?dw!PuCq&h;0O!wl|RAfZ{#VY$*WC%hED4>+*foaZmf^u|u zWlnEI;~Wo$oO}?5<)yzL-4X=rWE5QAlZK-7lUQ1jRX(dJ`9=kSX|3OM4&^xCfdEvk*6gJ%q;^j0!H>la z+y-t*Ja=_DKj%B1i#)g{g)0Ua(nc5%7hwZP1PS(O>c9Y8x!8lMA0_L_epsTWHod(~ zqUe4{(dr)u@y8=3>eXT#-k(p7JXMl-9D3eX?VKG77k#8r=SBM5)5a$Gh-! z;v-#|>wg_r00l6U8$5wdS4r3?KiDBk_Bi}eug!?<<@zA4xsS$Cm$(|!j~r^^jN7sz z)Rg3@sK38;lbQj&-JvO^c2^%CY%$b3=dG1yfry@_h$qobM*pty2#=&48f|bVx!xv; zB*koV*cIhf4)}PTNm}jYd2j`uru^!w>dBSYW0J?&c=vYzM%o2-DFk>-M^Yc-7+C5c z^Zzp`4(AAp$v0?R_2kqcpo`q5Za$iXV);;NeY&dJb5JsCX2t8hjW%`O4T_pM&0pjE zy??Xxz>r&3uWsu*WdEa`FCwVey-eTxmls5f^@@q?S9{s}@qRr=owqygJmdEW(0VxNG0Tabki`w+ZUpvn5 zC$yC_(@%gpMUw1=NK|L4K(yTz$uDa-dt1qMGPuPZG;4ErDqF@aUQt)H`D89_m6vuN zJv!|MF5(W}s-G9+CSrfKn5IrtYFm*cF=npUK7t5*IZKsrlGmBp^-^Zb zSqGSKMYkpAFvzqy*Uli;d)_A%TOhv7n@K%y_s_mr$WJlvvhjG5j@y1L2OIpsJLBM>~&JB<*bDToeWGE$=%+H7HLHblU<7fz& zI*F7mswR43N|^oXCXmWrpJ$+k{fwbVEYP_0Ixq(rlA!qB z4m~+=rGP?s^+qQ|0TC??JO zp&f+<9->0H@R6@yr80tY1NE(D6PR5c1CQoNSGr~mcgr{t)sB_*jjL@9A>DrfmBK@x z2PJdU&08Ex1F0aoJda4RX244+Twvg;pf1_p2NEF7!o(l|S6})g3rZT-k?&t(pZK zxTUpOKDHuJg(j&MmGiFeZm!Lts#!^2Va%yFTP$<6+@{^!>k(z=7@7$D5^j%^2K-uV zC|DKRRoE&V{uQhWh?>;TLTi_t@Q8^mg5O4DgP>f>m$KTZ2)kx>DiM~4FMLZ~vM$s-wFq6qltHviw$^DX|D$QT zRAN&YmXn@dkzn};{j~=BTTj3VWIw*Bj#8TZ8gnOwiMh`@oOcXz@SWxvakUUlU^ zeLotohsnqDzQ3Z?vkB^NY7#&GQ{2V^2j2aEvV4Cl_5tN%(7UPAm@l+&&z$?sX!WZ~Ky7-pMRYuyU>BxzDjMEiN3D9linw?o7<6_prgHPX~p1NyIL(B|&1i-CMI01Zx z>K~eBLD3_EDXLFg8#%hdkbsS!@=1l}-}yY?vjxZ<)-8A67dZ-FwFGO?3U!1SFpe^% z2GDdHNeMF!)7rleb#=$bJ4-aYRQ|HGamrTJI25WW{q!mK4JUYs&L$M;g;i_niAAR? z^c3`|Mf+oRS+~%Pq{sz}0jG-Wu=zP7<)5a5^2y8j)A0#R_ zPqLXAB3l5QZD>V*`!|)LyF1h4qXd(L9XTdS6jgih-d`U47UcVee)$tjU;g5*3{bK4 z;GRA>IzfbkK-KG6o+kW>hbuwkgvJd9};Vg9iTY3_e8V zgzVlrxQsZ|Y(;aYdf6;bGvVCKxGB`us+LV5N{*Foj!TjFvv)BEvW?gkqsMryE}YRl zg?oF7wi2WEkUPb3KD@o~x@MJUj=kRaob^wbLaQEc6ncfG0YX>oVe)~0i`2>P0em?e zJaO|av@(j1lAecdoh~g6r1=$f`q1A(UIH2GhnhZBl~-InY&~yb36FpOXgq2zl%Jj0 zA+6G0B+55BwQ)DiaxU=I70kDu`+eL`C-0`NZR;~q|NMxZx^uR>yLJ9FU6#`M4Z=?$ zCb8tO!5PxRnjR^b-N<_nHGaAwdBdhIKI>|a?B|%8fU$KpN6*g;6?7|(Xr4q7XN2Qm zjAJOh%-h7MwDVr5M_mh^f!ZqVs&&p^9RoAZ1U#lbxTGC{g!Ecb1&t;J1SPfWC0!3H zGFNj$LZ>BA&c^Cr+*(%z;+stK>b9f?03q%(de2Q~J$uPFYz7ApBco`4c1; z5P}^IAph!fVNbqAY#nyFDR_mN|KRRgFIoU9{Nw_2o<`y?TBO1$+h_cgvPaFU}GZpjdMDm`rxO|C@snaC@2A zN=N}v<4U(7pTan`_-NkT(36~7dyk3Ion6z_-D=oa4WDvNe?7VTu>MkSXbSqo3&rp9PJJ|YwTVgV$^CD8 zv9}EcoeJ?mh)AA|sYUvsgQ71gX+UkT9Cs3ZhIaKELk^Ktxu$2UQmuX`dTm$ndyqrw z>}8D(ui8&vHCZ7uzxH;T+UBc{Jp1|HE-x>yfe_T!tW$k_&f!st3iCgg7T5McA_aLd zr1?KOWSQ+R$ipq)32fbPbx$IMwRtnSWEuj{*F23zo)VH?$Mt>bGsS}K+Z^Y zdfz}3y6H!SBBnRxKQL7Hu2B<@{$lb=1L7RNSN4d>$KO@u2o4;+0R}34V_`&#zVXRs zOnH7Q^2E{YeK19%e3g%FCkX!-UWbc+u4ij?-W# zaANc#?~?dC)hglfO=qfG`A4Q#Gi*Lz&U@|AEeMU(WcZPnkVCyZ%*`}aiY>7Zzwl&@ z#zstPt#gg6xUBH>B3*1iNY<*;Bw2uq3u3mL|KDtEe`96)H_6u(3tTcb9<~`UB@1#f zU_`-a8z2({+Zh|$G~`>7h8OJ|I=`e}hZmp$e{ZS&+sXbudB7(dDHJSYfRw$+qOgIG z7QsmEL5}+sw>Rb`i3|@G`RW`kuRl>xz%P*;2n2U8Lijq&=JRQAtua+SVC%;{_eH^@ z7toA`wLnpiT9X(h=j!wB2F&$nqxgu3>Khrd*7x0G(}Yi5B%WISY*JKuMu{5$Qqhnd?QtVwB|NRSJZ;?-P4df_)Aqt!~{G`pvZ>+AufU96kRva8j zw`7L)>+)V%WP#4fIVT3k_o1~)+$4O)qTCsCZbdi9Oq|X0#|J?mV3&>aL`+}_$W_41KEyeLIxw^8%i? zinN`3(j+9iFX89((Ua?CLFjp$cr_91L|_gS(Q$CBhBZ|%(0H_k!5!|BC>t5|x$`l4 z#cml_pQY0w^f}(CE_VDIpelwDO-;s}W)jnXBf>`=@VWK<%1VHcPblzC?EDSki>aIA z3S~7%Xr@fXgFl5?wh_%3iady4J@L^k#cTxC@JASK>!l3V7b<{B{q-$hqiS>mQGh!TxX=P|HwfmTt`Ox`gHw}= zCiMbbA0Fv8I94DifEFp-GbOUo_&aCQB2hq(wgtys5n{rlqEm?;2WM>B&im(zbgxrMu z*l5LkPjpsV|7GEt+Z^YN8$1f%1J3R0*)*DPP-wOhDY>r&H?}X9KVh8a?)0u9j!)H# z@8QLXBo+#q9=ZhpjNkoDr7M`~0m^9Zq`TIoez~TRWb3Fz_DMen;pnahy~3pm zcFO`0^{0=WKs;EXOwv=fGvTa&Nt+?@O+)k4q>W)o;Nu|EgaST&mozsKCN=?!o5HpJJ5TW%yN`dUopNOP(O7MP1Iy{{=OloiE*i9{wL*2a~y$_Yt4iz>b-jyTIf zXV<_UCw45XYh8_r#54k5T zc9d?_07_)NnfXa7j-S%-i|N38tf9R9^3-$`BOkyKl{gwtA*eiugL~B{CaosmI|kXF z_!a&*K7}{(Y+7)pc9eUi1va;e;NZOJ;7g+(*A;wYN3_S(nW4KX zK)fe>VGZZUVqESd##zsO+(grt2*?ez8D{+;)zy;42a?CnEI0IMeB2DvN|FhqK@Qrk zn|L~y8--2#`dW?JtvXn5vtJT!8hMuR-LX=ifx_Vvr@)EB-z+i?e0u~NuWp$@=MwXL zxKEG37gWOCp1pf&zqaM=lr|UrtV(GuD`o#IxJN~BL^669^f9}xg%Rvn4`n_icD8Yi zPpME9N5ur@xR5R7Y_J9ac^sU1G{XLOQR_O?6?GdLYX=74O}iaL6Ot<@pYT zQj2LnTnY1^hs7ooe}28K;~z1`kz8G2o+k^7{(uQNW+b!uqtk1n9PK=UHMU}0|I1>G z{}{zQu#NS^SrTUW<5 z7@=1VHza*cIA8pHcm0MUt$j-Qrm@y;t|!zC{1|XQ6d;de*t+lk0g+iqIh)zKdk2&0 z{PECuqp{b-1rvWjOeO+ceSi|DG1x=jp-xu-+CN}Yy9NdpLl>L+auqVR?hA9t^uJOMx~I_Nb~)zt`?7E8zo)QlgiLEX{?3<-$?ZOI03LFKGnKYS}Ot7(7Q)6#;8#=#s z+Xs1f6;S!&_{YETcbGRv|Hn!d=rkk<&3TyY<8fa`clHSIJ>H6qeKN>@UE$rwMBqBw zp-CLocbmpdyFLvcT6D_>3TyO(zrDDT@-OsK4IMq)C~SC+WJI111{$q-QD^bz>n zi%YV^>31fyWSQ+!+f^L zh4{@VrgWs)jDrr3`CtDi+xmO?)_;8R(j;hp<2mwN(D4?_mC?HiqL_m6zme8XhBE6T;TOgr?K$5xc>)vPYbJjZR zp6`73eD{9m_q*$lh;t^Hne#29JmVQ-IKu^<<3@tk;`J8#^@?=;IaP*2?0BQ2@1#jL zWgW1-_3+8W0rqYNlQvF{StzF3-(hsoe6KNg2auUKB}c__Q}clE6ER`SO})3R&T5X{ z$2&DWYrz2-LG`e2Fml#s*ib>m>ty9);rV{JjNwCSySp8Cd2WbTucYPvMBhu2d7-@P z`0bESgOVu&dTE|9-%K(1(6OCgFfm*&zCT=TkLubeO<}ca76OS=1RQQKsqY|-E)OC@ ziob5g19am3EXlN>4IoZ=Gqc^iFyHLL>mqi(KZL_&-<$s>>fwx2fPqlh5O;rsdX1mU zoDouYAaoenzf1Mu5@+VX@T_-i8Kzq-&;1)s7UVFPKnQ$fW@ku8%_! z{ma1e04bXe$G=42ZX}oapzG z_QMO`qz}VlE(UMDb^D0eh3gbXBIdp=506xq3=R%#Kq3HHK$|N^^W7U(!VdS8B*YX` znqA7ViMyld_t0D z+iH6y>uOI*B_p3IO}Fz?ZTbAz{LV}A@kgfwU#Vl7#gOYQ7z#DUpqO0%27N5dlR0)2 z*MGn(5OeWU%Rb#jZ?m28zGC5MlW-Bz1s$)um6|nV49S5Q#Ivj9nkK3G~=iIBo|mMRXgB_Y^TrZZnI1Br;fUc7Dx14 zZ&XlS+$&K_l!Alj8z@H(G}9v(M&t4VXipq3I=xPnUM@#W*V_@UF;l!>{JRF>;d8YO zvF#V%oNXM3UOwSa;KG5HU`QM&qWX(Q%ypD1Qcv8~A7V3(KFzFPSIP{V53v&ywmdm= zDMEPdK~#4YsQRu}${lMr{Ns*+$A?roT_g9^E<-}1M{#8<49`Fb`8Ruyzf9B{)@*WR zd$>_@FEVd+vWx&E&c%>Mi7;{&W#NYH3oTtk-xv0(SqEw@E|Q*PzKcRO;p>wbvS%oL zOna6SShm1o`b32%THn=!y30z#eKYom@l2dKRpR-uWXE~cG4urNHPDd&65Yx&>(Leg z)2rfoI&8aL0LwCSw*S;Z5Z{E7zQ_2?h}~`NcjIYT9bAnhn4r(_JgEhK=BbO+d6JK7 zImSNIYS3!l#8_3pP%L{&X&|MkXGeq0lS7RhyUaNw5iJkpcb=G3Q4R>$Y|xdvbD<}A z>3BK4bhT<&Va#yqTGOy(@6GE|ucPrzCs(!3kl-aC6eKcF=PC^vi=m*%&hkR&v$kP! ziK87!qFt>+XAYdb=}KD6Y6^Wz;v3o2UFZ;)e%ct3nSN8c8 z=XmRmt4VHCQmDRvXw(B1Wd*E>XD^7OZ%6iEBr_O-4V#EyR8h8Fx4BHS_vx>m&D&;d zBKS8=E_?`P5x_^C2qy_InfEd080X3JFAvt0(_bD>-K)PmxgeLSclF1G{9tmaO^0}Z zk7>`&Tcn9DTI}bYb;hZ7WhSR=C9-15&Df;fx9e|Fz0<_x4hqk=XMD_Al>bj_;6bmnQc}V4;$*yMnnRsLK_GNN!V~& z0I0Le3qNicpADT?n{~~XFUDqspLFryY{~>@KtoaG3>CCl_f|G{AYW6=Ls{%(oM z!F?58g1!L#`!0_DtKlc>&5$!xGs3)Pf}c-b=BfbNeJ^h2c-1qA2M??QFF>)#^MX2s z)~pWVzTJEZN*}Y{u2g~;;L%~_Hmn1?9#H()!tlTgzw8X+TNp!*pS8z#44B(8^w$j3 zm^1R=9fn8^#Md@eM6B@jsv^XhE?!BpEY5R?n$+3vee4?VE}6T*Q2eKN{L^^444C4( zV47aT^Jj{B9^<(6X@>RD1LjP_#;c|I++xY{h)dyL<*-X{cZI*>PgsNhR1J7HgB5L; zWx>f=Cr;1vUJ^L(;&PyFmtG~8-cPRE;!iks0$SWJjOlN$X-y#Ik9}0t0Mq2Bf;3YdTjbzl9B`XhLN8dBNQUfG36=xE=FfYb)Vb*rH9V+N zoV}U1s0gg=2MY+in4VyEa?Jtl4%o|dkKD`7meKhv{w9`L*0*PMKYEJq%v4E`HaU## zia*b4i?=OSp3fa5+1uFg4q70Tw}qcbx$$F>1iDG?)gRr0BP}f!_^4MeufSM$$XD>aU2=QL&x!(lXB*yBXahb z8l4C~N_kp-heiUO5sZE{^Z#G`pD)mKD6;_X;|UDBV#I5?`e5|eWo;6kHk0$4cao&lC!+)r^-&4Dyxgu9xxvk&HNigqTl zN%Cj7dK_(ew^UQ1g@=3P)vXC9Z(;Hu8Ydw8*2`CCh!;D46zn3&)fy_i4^7BCZ<*n| zJ$gRo{VI_qv_daur{L}bFT+Ha{Q+kilBl}a^;q<9=YhEqiknK}#Qi!=Tg!9T=CWR0 z#nd2;!9!``9J7+a3ZrXMbxAEI-=L1}Q=U#oxcWp1C7%A%_a-Pvm4gngoI)F>OfH76 zF}o5s`dkTffToQqKHjdPwfB2j>r&CTp`x~hJq=sgTn)<(JiHxrw^%zy&ENIDF z6H6|rzgcd%FS;Cq2SU#u^eHpbR)cDB`!FzS4BcDZeqd>}@3GePTng0jVj`xgx zYl&OWH~ot@*-TETtpn=D6^J~=YC9d5r|@|hUHs(DTXNW!M`382mFK6oqFa)McA&x|G6s$}OIKrW&NdQ9RyhJA_RoyPi6AfoZ7b9W%IB!(^tEbx@g>z`)b* z)9}?s29`ZZySkyaecsIIa{t9^+-$F48%9rYL&D)_@9R#pL-*zyM&5>*-y-1K1}5b+no$D&da@Yd%ne7>AYC;;-E8Ec@92v&7hit{7W;ePxLC9@PCQ;)3WeW;ardKd z*6z8|cG3M%zT#am7v~n_y4PMgh2cv!sQuT?vA-bk8cwlXfTmhd?0-pz{N;0yPf5C4IHow_xeWjXVcAz~kvq_VOIM2r-HnIuj8$;XNZ50Da&m?z1FPv$@^c^l z`Voc<>ZQtvfN6sl?D_kyH3!YE!3=k~8^cnZA14JBZ}x_UpUV{tL?gC5$%RF7@-$A249dn=Gwl zvKNWCyPpxF8@qUCn(KbxRe!x>7YZ&Onk`qo8LsYzRD6w&3P_FfbG@Ti`}*B%lS2D! zRd@eF6~C|YsKJ^$Xi=uSXYz*9&Cs;$xY-#DiKzh|e#Q-H&$>)K696e;lzIR_{d{8+{<3HwOnsvMRutEuk>Ebf zP|AZ05)d#g7+`WeLt^*N7a}sT0A}5j%hLXCcr38gwUoNTl5yklzjS>-@vGk>WL%O8 z``3mkgi{UJ+Q^r1Zq|8UZ*rof@*sljJ1c+c#_5fa!P&yh=+Ir!cBS{PcLkZPIy}65 zK0GekDApbE!AVAA)ue-ZWi+ed?T_8N&wk{M6Sw7lj6yJMHVfHLe^Cdv{?gslNSJ>) zp(+DcdrKDETV79JITDXhwhp*k^2`p?%@^6n;bXD_;394{%Q|bO5$gou%b1#ni6<## z_^b*OEWT}Muz#{aQoU4-PqIJuxaq(wat}*h%-!l(j`1+P>)Y+J0MY0RA6(ujU5Na! zM^qY807KhKk3>RkMBdNV%oT?ljYQ*$hcaEGSF~*qp&QEfJ|%BPaF2}2&AK%qh1{nZ zwSyZ@#Tr?1!}JmFRh1q<-Gg{}ndooYS>X3O8Q$!tqgrb5zLr*-8vNP|4a?EWPT?hQ z$7A2?Dkky9Esq2usb)ax=q^|@&);DQ{@U7*~;T6YLUD4|uWpju}$nUu< zaVfIp0b~$tr>5gX%18|^!*t{Q<*9)2r?tX!7YZU%-wnET7m!aaoorE7iPGd!x$LDs zupa!aXpmrKe0t0xOA%z^sf5e9et6K|5#{kYwGGx~8J=$a$uYuNI5Mlh<-qqy&gIwE zuli;~O_pg)z@n*f!)jx$F_`cLU<7abLXAUb-43)b@pBnH6X+-j`sN&Ns*Rq(O^&%= z3-`<<;|Gy2NEMAI+q3q(!rX4RcUaShU=H0`M-tRru4*`+v4s!wo;|cC`ZagD5ZVFe zn`=M&B@l=ZH_a}WMnrVWX*!R|bm>%dETn$nNxyg?c5Fq$p(#4{>vxWtjYkQ)+#kww zT~Mw91$PcQ{9Bx#`pHAzNd+FKB)NRBS1+l~e zm?s>RFiwoVccuWpQawoz8F=KJI;4x*!yI;+-5qlx^Q`=r%y9j2{2-oj9E1c)$vDbjbgMTNLdmk?M|O36?nY?|)Ef z+*HSP_3f5z61_|lgI@_a{s@3=?S2WKG$Rt(H*4R);-+n1F)b`AO57$Z6dGaZi#m9D zf3;%KiDyy4bVZD;iEg7Lu@8Fv*|Pm&eGtJLvt z8WC@^X5w(^t3-X==qz&MD3J%ZAeD)m$#P=jsa~uUyB_G94Q@7}XFP}{4t%AfF=To6 z^ECup$OV}X0d)8E6<~w)okFpd<2DBCApL|~hydJD1FZ!Z3r_=50S`rDkAX#yO

zXaEsJk@X+o-Pg2 z>N}NLtH0bO_-|eR*Ha+=={EkuRfP-)e`o||R?K>X0q$`Wfrey!|8l&U@l9{pfKX-MEk z0`bC%lR9zP1Bi|~)yVF#6yi{oW>#b3NFQtBL)?q+e6xwTp&i6wclE|R5~y)X7{K2${d#oM1A z53Fu_9`#16$Jv~P$BBdmr(KMghcUQUo&pqh41=Z;N}1Y>7`kUgnZP_G-UYj6Xn#n! zpyKwyR}xph-L8A0ZIOee=FUitrPsIazyL@yn{|suY3g^_oOE(c1YW>a74nLZp5o17#q6mZ^h30|X(R1u=PV$v#QL9@4mKeu?MS04xbNVL@s`)o zS0-fKWzvhVl1O_}d7Q?eV?)O}JA^LsS*3RiU5Xldya7`O+pkLdczk1W$*%$r zB7>l9dDrQ;a`D;)zj!2OBS6zfYKzYIi!`G)u-gE@mJIhMb1$-=qCK`!spO+ z9~d=c|A^k6835$-LOeHVkLY{ZA2gk5@CNmyAUATA`wv4crJk!vbLO!(DO>gGQ+yp_ zo{Oq^POs#4jr9A{?=!A5Eie+D1Rj=k;TbbaNaE~~+Ezg3$V%d_88~7eu5e!Z{0$wC zDKVo9;of4lQfO0I4YQG_*_ieO#imM?u$T$VH1jM52pxZ4Y}?2-)>&E<8DuBsZnK>2 zA4+(15~}VnOda2=b7+s-QP-Vn3zubDa4uS)!bBC5AG5EF(MppaU4P~pVISPxfhhf1 zl=h_}?sDVTXSLj4;}h}cL}rnZK4(~al|i}_NJNTc8 z5j#~RAAUwA|B$DsP@5x;s*^jAMK5B!u^z`WPLLYZmWrBpxfB+>UCdG4d!}LMj`zjI zyE&R0VG-*Hv)EB;el}$?yh@@6(@jCutzJ5%C8X_TK1j)C^ACUuz4i^sea!LFY5|%( z-Id{~EsplRRrOXUbCzy~E|1=IX(iKCSu)3@d3P@=O0-&twFD-X7dLr)Lx zL;6BzapG14&#;qvSifn5R$J#*%bKHlyX?BG2YLB=<2gK}(%c_@R1XuqciYrFF5a*w zKk4R+0JW|u&q^~L5E@p)O5qq%tYh3fV_}-f=}{gsb1;Tv!cSnKZX+`se&*dhm2Rb_ z^ZgyZx~B>PE4{$(DbpEh*&L~Maa}9=hQd^Y9BjBY#{1>$%eTJix9=)=Mum!*kVy;5 z;0i!>_$NW%h+-_|qeOwv+;!Q4*UyNQ>wGNy#H;b?=&k~nf@NW)Y0m|<>tD7a_U8=p zT~U=hhSu-8mSEdr-(wV!y}v!fpDt(YI6~D1!~2JtZ|r$+s`~OW822;UCqLLoF|~W4 zt()L3r5V8E$N=w}VSE^qK+(%m(=zXLEV`y{ib%9P8ZE^DGl~7wz84mPVmSW2%8w0B zc8BXnVwPEp?PFe#NS>dhBd~iPf}v{=4|t3N@X=4OLXn1pXlMru(XpT@E0MuPsWqG1 z3=2IIasEhxMSsJV8$UwwgMKJ3Ph{gjY&vV_sS(VHA-shNx9EkS?qM0e+xiGg^#_lp zcS`hirOS*^;lapWukjqd6^W4Ri*S4Zj;Empazm-SNOKCPv}hu1R<2lJGc)Cb({h)! zp98#l`QpUi;Oc)H8vmF7^G6c^-0`(Dd94QbHg|rd7P&0rII>0&f&67QI2p}=qi_S) z!v)z9b6a_EU$fJ3Jw?dP9l4z>aY$9>S5o@`K7BNK%yO% zARP5(>xN9f6x%=MZ>+&DZx~)+p=p8`LRAW`_atuB;|&AVE(PiP5XXY1uw|oOtk)iX zz)Jg2NLoc~Z~}k1=O}ccSVkU1?q8|ovfU9AGB=1J8LSgfZUznHze|7ppBVu=AxThM z3BIe+mkAnpU#(PRV$j>`^;4bKyEp62mGa}~b@Z09?^~}M)nYalkEt=!VFLkZ1O>)a zVTrRpV+H46+qKmk1?KwY-YF>u#0}eSJ4#=+QEYmu3j7ktNavu#M(biF+rvIy*i& zIGO~n5_{p3L6^~N5%p>NIdg?m~)Qk8)<-#3GItf;j zAJJu`k4WlZG=r85)zO|ECt-w&^0s1*#1zkBQ|m7%*Lu_JbjH_OppU>?i?_*KMwC@C^L65vP?TpQ;s{V9@H|t zR2H{Irl?`5nB%VP@omVlAG_SPlT_#kmRKDX25zYp1Rk_c^r|$zcP49ugh@bic1le~ zgV&0b4A}a1rBSDRBj#k*av`1uuoaUSyx`x3_MBoop9P?u?4Qf~e5QYL!s+?tvkLw7 z$`hB&xdNx`4!Pdj`gDE05%&zY8|MHE*lew74LRWMRKC5!)g^~A63#FERrkb9wUWZ* zovrF7t}^vkw(~33;OuHw75c5Z-KUJBW|s%7ND?rAx7g3befi79W}5>aT&TG#r57iG zW2H+G1pTw^>Bp%2AZHvcCso`|SsgOa#4GX6t99>h>-n@1<34@xRhEa!05m*O1OwQF zoqQjRgcR1a_K*!Aym526U$$kcsw}j@WuHx%l7f`@KH-^S);to7qyT(0Wh6hj-clDl zGu3D$M4%ycZWp}G)%8HrOiJW+xg!pfgi?iS5Q#Y$N${tS_FEuxV zLMd{|d!_|y*oJfN^zKPQLcG~J%Vk*}+)plir%LZCF?d9xct^?X<_EgEPHIHAx%H`a zQTkRi@xX?OL3cLpt~^7{{B}3?#MzEj{(a7+k-U+r^(BNu#?eEiV*GMv?_Y{24CwD; zekA7SK7nn~7JaiIArv6cuZtXqg@0JhD z-0H?8zcL%l+B`QNln~AL-$Nf1xOk%OdTn3#yNw>ZB~M~=$NSAUViC;;nt67GZrSD` zSt7%D0tRrM^1+Fep(~RNALQdKY8$S_Dpq#m`R6~ zF!%-#Vl~x7zM>rvCqrE(o){WD0b$Qzaw!kaJe5`d8t0wd_UR=oepxBxNf0Ufr_A&vjeV z@&ml$=CG7F&yb3QRUArwvg1+(QL=Sx!PPPTE+P9O_X*Q;qUiU@bi> zUvEG$j#qVOkbBL%HDQ^Kn-gE3$?*OMd2Th2ztZ4MLlz8d2djMBgXi7Tgmc! z`|JFyy#ckuc=;3hWALTEBT7j-3nF(&Mj!#s+nCEZWI_?7DvzK3jYAxOX+#0tzyp^( z@kW(paqVM$VyvG!j}Lr}*|T|c?hD6Oi_o4{YS12X{{BnLS1wET>Kn!hcF9vK9uRY) zu_JpYdV}{TC_m7GIZIfX>KbmS;O1A^)3nxwFd!UO7|x?ZH^;ccwFS}KSKC&d9p#qf z?5I#|#y&;4DH{miyPF&9PuK%y%^cf{1Ox9(ldr!HHN!YZL4RuUfP(8T7JUllk3I`(&d0cTp z72Gke6RJDO@hMKHX8KUisw{ISwwA~ZT1GtE!#c{ieb8d?%7{akifJcrJTt+@cRWA` zcFHYWz)$~_`;R1k&_pQ}d2lTl)YTP?dTwIAkjV6LaEUhDA3~~4J0+i=D!!2_bbQm) zBcGlPk}|@R)Ba~gu6~`DK+>Ecofp4x%#-1(!XO0lE44ko9=FDH`;Fth$wX;G?uM`= zNI82BYF3#M&2Xa$$;&7Kpk^r~C;*v><^%!pn|~|BF@|*;H(^CZfP;`_`{C8=Iyg@l zspd~L{m%ctDt!DRCH{Z)`dbGJu(ki*!NQjtQ&MCvR=5aktr5ZI0r_wn1HV58)kxiOqpa3d za~0^w>Um(1WqLpT$21}9@RTS}I2JYoto_r!g5r9gvzXzz)AHlfti9ayuwQwgDG9?W!2R#yvzq^umSxNW&CO*Ks+27QoGSpUU#`3?9k7E;ZfU+DJCI@mPc;D8mmK`uPUsM@6h5^NLXAkO1!5P} zDIpbnr&24!a%OWR{=l?q+ofoe_ikM=&95k<%Ub7iDa!;tu<4%QYP7Mta5WdOd!_1f zUlQyRGiJYc%xtz4WLez#UcG(e>b3}N?zaMmRJZTU+vc|(q-hk?thjimn3>T~Ydn)! zykWlB%NRcURmM*AnAjQGq0ZE~au}$8S8pa2!h+k5CGQ&2@lBuGlh#l~%|ricQt
Dtwj%*&Jc1;-}dkgn|_n0?f32_y}v z&_;>}Tp|5MpmdeQ1;*t6+6yqp~C2Tm>vi9Q?OJmGM#DtJ< zEc!e?>t;sZL_#pWvvb2*y#V z22iEJ9*=?1G)6sh-_LB8;H_2TGsKS=1>NAybF(#(vm>qhAbx@xgIX5thub1yPw=#AH z*)q<_w&A8{?fn}Jg$MoYlCJr66Qv$#t9}EUG7gNVKh#d(3@r|eE>3mo-aO^lI1rLu zs(vW}*Qz!JPj-U9=DmyR3q!H{9c!rgqA$46UCNOg zX>(Oi5|!q6{9>cpE`)%MvGwV^wKtVjjb-p{Xm8@qafOZJf^*l|YqBoTu_f%OVW74j zKpgs`@IIIYgZa6p@H!(PORr7uGOwxQq*i|5;3y#-=xd{hiuT8RxndD}qWTAQq0BMvn!Y3V z$3yoRyt);ElzKwryFT`ITDhAKh(%Y7%%Z*@sm(_1SSNXA@>;vTJd4M9Bl$Gc0^b7m zd;+eB1S&OR9xxtLW2$4~tg3AG&Ed!r9lWIDibrp3;cfjpz{H0w(@I{U%uJdS@>=8^a5&)dH~s|Kjq2b-VLn`1=rRRlvah9#6tKTMN* z4@jH>G}m?%zg5fBjsv*-iip}Gx{0EZ9a7BI7@+CvGT!4b4+);{7` zr&qsKa#)G6VAar%THUw1P8{)X|Eb0)FN)PY;nUN8v-#nk20z!2D2ysA^9DT(Cog}s zhb4lLFb!9~gUh-oSL|y>#~)cC&Mw0};2;BC6m;$avsGBmLbBg#AH)X|4tC{!yzWr` zI6Ofv?U{g9ZCZ$u`XnZg64)dVx&_$+kdU?CI8LfCe(9Jn5Z}G3U_zIqlE}$V34CZy zePE<_7=`HnEHb=bTv+_vS~6@qcbQa{;zW`WRs_f>V4HyIutl&1BPJ4b2YSkQpUv>P z-o`Sr@p5+A{zhvs=0wL3N&T&`@11KLpU(GBC%6Su3tSJ^XdZW2a%bvD=tz0CqYSJ1 zjkPR#jy6~mrL{*q=X<12xZSb95TT^i!;~VOG z+$=`wmw+9_PuR=gy~PNk8Qv&q_YjvGnyM_Tu)Wi*A{LIN!5`ncpI`d~l+KkXN3sNN zLcD@ZMI&uIQyydT^7OriNG&Ogst%zIkUSrqld%WI5ajpiD+G`BYxJ)Zoh)5{V*7C- zZ#;ZKBSha!D`zi(%?;t{2Rq%8FkSOMdw%BfyX!R%7@iI)ShiZLa39%RK<9?8n857C z2v!|k?re6rB*ZsMog{%ezp1#r1SO0{eq>z@-N$J4?ujjumKW$!MWt$^wujw0W(&$& z8E2!QtMOzQ+n*nbF2-F$=Ep4D1{HpU8E|f}%l)In^H9peBNi0riUEHG+r-WjQk*;A zaorZ(3N-O(E|O}1?B|4ba?+BkM+C6^^H_=Yg-S&mx_Ru{%f*y8Bb4pPp%7ow&YX^L zQ*TP}re-NV?+!sO-1@Bh^-znOJ`O4CYq-WR>~-R`pL+~#D)8S^XbaDpmJk%p>9g<-c-i7zmyR41t$#eVjB1r=pc zMsFpJGLF)e^8#&MniBvsCwJ~9-Hu_C%@SoNu=uFY8ur#a`h>Q>kk`KWq2$z0&61K? z!Pw?Z#S12rO&KKXc0gnskb-syjK#NxA(((oQ=`GM7I}iXurBN4@$Exgx2W8~W5bPe zeU|S{erQJH?|$3zMj@4=<{Yf>_{6vpMhAC4)98ng@VAld^3yTVknZ>CvhC7|59I7G z#1uUY4t@Wzdv*#xsFB<244TQ6MABDAm!6OVh2$0?i4LLLx9&$85jZ$kbDI&psq~*< zz@0H@cEKWHJMLp;2baTW$M;~E4SAlu|lyHUV*z)2LeXngsnffanYTL%i z$$P&Np|Yno8JSc0IE z?o%obRG}Z$sDSMrOy0vNH5*`O<+Sbyn7GZ%J1;T4{O;zDq5Awu{JF|r23d(kC}^~) zsxpH-Yr!Yf;RdPRX0n z{X`pTz3nZH%3jDGbw)bF{PU%mg zrnRjo#JVJzmd0sO(}$2{;7to^LcC>+YLJzPO#P|pgO+teua876-N$Ld{(Ynw`2tS8 z{3}pT0+AQv#PMeN(0)QdW@)fpL1Yh8*!k@RUh5O6GZf)&Mr*7prS)Pv5tY?MLnyru zX>}e`D7f)#ve4XdA6~a^f$M?Xb%Veongu2uQ?(!(+KMmyClLCFxU^Nn@6-3CPvWY` zfN%wC5xL3k5P*2Fx~r4GYuF6LCH?XnxPR;ZD^UH90QEoq{_hD?|8vUz@iTw?%K{1a z{u$5!yx3&HG@W5s4=Zf-r)Zj|&mW;{=`701Eoy%|C4qQlX!iB#ZB`>WsHN0j5t&nD z;%WXe{c@4h?I2APqcCchBu|FH8B6@6B*at4l!Ll(B_zrR+-M4{;MqHgx2W8ZLHghFGU{35jkz0A;4P%c zL~GSdN-(ql$N%XB{gw0apUV08KqFxYoQ z?b3#r9DF`Bd2?@1o61V*?~kE76JQoMl4nYsSvoUdesXWE{Ms`ATVDV5)_y&IR|?Cx z@ZtUOjYzJ_+hk|!x2U45Pc|@0kr6QdBpPrhVcT;Eq%n5YNTnv6_Ffa3q1@G5e&3dzOMBC^;!a)B^@11|7=~=RDX;|BshX1*%b8QkX z#4?Dx>hBSIP;eMS)MF--((H|$6w3r-q{|jYs7CU9gXmm(X+igs4Uc&9iXJV3?J}I6 zjWZJ30NZ(60z(!aNPsyJMb}~t5V>Dv7uI*-QfdVFP~`5T!~h*aK6qvUV% zn+3VGtqd9a8gI&4qR4pC8v%vEcO9tUaG{Q=fL3Pn8xZCQW|0~&CASM2jA6@^^yL8- z{`I(+Op;&{+;(JD+jQHW9celIKmWiCtU%zRi?um4o z0k~_*pGuYg@*0+rwCHvz;*)kUo?+$7b9T}>=k+VN7SP-;SNkd-(L9@LRpHp>ss36` zoR9G>fMmxJ^Z1my9u&>U?r{;g{E7SHcA1UOKy#v4hX|nckPc})(e!{J|E}LS(!Wn& zvfcak9QS(^16wp%twR=};W3~@%$G9xus$DohA#$RF#1{fR=OoSeFH2d5Hfi1XHy`= z=mEf~4z)fH9a0M^a87*jcfR1a>q-tBu8dE^Hkkl;7$i^DdNI^H)dQ^VbQY_SdTIzhHDMC4J#cZ+A!p zeuQ-xT{^tK;0tnNA`_cc1Kn;n31Uh0)MHUWuJPO&W37-TJli(_mkdhwrX6jiShz?S zgagdk#JcIvZvMZ1PEYT8RQ0|sKskxZ-#*=JzNK5Acf9X1JR92y)g&E=sUsE|zgXwo zi+r1dXBHR?z-ix2$X`2D7@6O5=Oo<=jCi%=>iKRBS@`@Py>oD$C^2m@(}6@nOdUXR$C@<_*l! zx1;SWfOCBS#t8E?Wc;Uw)doL(irPt#WXG+IyDA^UM|p4;=)ET%I|>P{P2Ods*OlW! zDphb~mpgVn*Zd8=&p{I*MdQ?2E2+JcaAb4VC^2a-e)zLb*>2l4O&2lbvVr`f1LTC| zx5{!{_rZC*(q|};pk}LYR=nP+bGYr=G9!$O^&E{4rhOf+D(tkMbX&MA3JUf5f98}w zwAz4si{5cH4(*fK{>(9_8~$_GgZHXg?Ovgg&Ogmgq*VL>hSfhS`TtpU|NqrchN~k>XACF&rT*bXu1wgC$+yHqSsOjIL}ARi02}IB z;r(Y*hT$Vau%2a5Ew~p))=cKr=IRA(8QsZ|d0oo-&dWPDo@~20TcYp|Z_zU=vE%+S z$?cMij_+$hR9DU|BCMK$5P76G%J95}Y%u*$B^1xfUeWEn1wu<0SR;sBT-)-;*R7?6 zvCdO=dC7}c0uIj93AqPfJ(;DL?t-5ztn-XwAjZPFpZYC-+gI36WPU}gnQiXQ!4AWB zxe`QJ=%|LxTehc)2ay-p&&MU)*zX88ANip{!6;$KWI?H<-N49kqQq7 zp(M-g-JPzmexzgT-I8iR#wjqyhpRAH@OS!05{wj<$2dFJSzLbCfo}Q1K&Y(0c#I6$ zOu&^DBJ$1lsyQB=GKMWac?WaXFe$C^K3%ANsP=9~_P*C?lcIA#UZK7$qYF<5A|vm) z-JBN@np;Ko+{b5zH6uBoKk8`}v1N-*1>oddty3Ubn# zr9w0{XH(GG*S2_wte?@iEabZHQT3=EQ9(SGgL^a?5A9>&*l!;PwX+=42Jh4moeWG` z3gdr%2zh;0Y;;fc zaq0DM9AhA+7SKgTZIB=T#(@FGw+LeXG!s9+=Rfyh-EPNq{?8Z77WSC{*tm9%TFRo9 z|HeVM`5Q+_DkNe8?joRvy`0RlgqfxfYUl5s&bw{}2ZeRBYDZRT|9*dXhUG6tLXrq_ zy$MJ2@Uu&PxLL1}RHFmZPFQleytr20T;?R4Q4S|RMw>%uOWerG-#8lD*5dr?{<_b< z#`8Z~%>R4WXD9KXrkbF_fJLFto+r4O%U>ua;}R7a0*>zncs+5iVQb;~vrnJEFWx+5 zsnU6)zDA;NELmjMYF{B!XP)yUtm1{=6#S=ex9&n8QyV=^|H8=2+lMalwbxgX`EGsq ziN{NRgkp6qKSN;jz*=tKIK(qg%Ni%7i@YRAet-`C{BSsFjNHaT$dNl^ELEJW%qj49BiUo-y`Z#6G#pA+x$$U{vg~_6O&2n`V8F zd3gq`UHjQ_@?7j&={H^P$^n1iDO)m!N(wAOaHD;iYY7KS4GsCU_xbOz5xo_*y^E77 zRG}lphV3|!CYmj<>8>vW^t^Q7pIKx=)1dkc$eFVln|@L(ACx5b+{h;5!adism**no zQzbc?7qw)5p7=c17N)2E$OK_1sCH7$B%c+Axy3N2@zbv|vfaoC!CF(3SX<6@6VK_z za@cGaVtW<54w7uIG`uJ8@r{#z3^{glM%M{?Nzj5?iTrSfTrT)C49=y(&a8V*TdL&M z_;e_9{0;o1xGpEGRf>e`eKx+nFqCDO<%P07BrA%2WY5$L#ZCM*x z!3+_>Xrrz=-6VW8ZEbmlg>No=;GeVis>d7h#sLqLmQ6%s_SL>i>Rp*XbPxVqfWN4L zHI;WVddQKf-%HE5e@esHu_kpS5u-ItwXwUt;{OTRdmG3!(%K6zE&pH|U~T_SF5>OMS3-zfvE^xsRyKgie59gDC#L63S*~()9V6_VoU;OTgx86;u#Qk1) z|3PPLwrG?8y3M~v^B+3<|LodCvz(~}wbFms89BZ;7=sO0d~~8a`qJP`>EAfQq(VNH zzZ|<;o-~j9)H`dO?f0oEul`xI>zkFT2}p)9FfJp{iI(_bSSDvHFks%OZEwSJncpL5tSpS8 zilm*U2{mz*cTQTSi;o9*FOSnFlBVCmZq{MMLs~v2mYsa;$A)LgSFb63k1kQkK5IR~ z3MbJ`*ohwUeOYANQvXvsEu8jZnb#_=)UkDsZ&><<`3cOO52I4h&^bW4$U~^ z5qU(w{Mckzzvxup`8SWX@Ec=95x4`2Aw>*f9egYw4DoEll_Y)-vwbD^Zu$cTTGM@i zVdweu&``ky-Z84$+o`w5w0&-LUo$7MWHOh{JxfNqlEl#20S(sV7`v6p3~|Xbg_iL% zY!7Vun>M880P7shDs*9iaX za{BMRBpSN?rW?i2a)Tt#aNO*B9#-iM??f(oV8Pr-ldr(x%jQpH>R5i`jES&St?foN z1XEk9SO|FcH*c+e!pdOocX0<{#I3dF&vMi_1UYc0$FjFF^Lde3$U>0??lko7sR0sF zRI}=$$%~hV3XpNbLqQivkeNCi5~4);Yo|VE$g7M=XNDtpoB7$T1|zeU%{C>c(J{fx zgTcu~jV)(a{Q(a)a>d7IL7Bdd9qX#e`w>?=LhH&8F(%+$UhmzdQpwj9>*=)$35}O= zu6ABi8;d3q85+;?%8nxua<%fFT0W&+L}Z;y1k1ERO#ekoej(|em!JBvHuKMsWjiBwFnkFH6cKLV~pBzz%$CRw|4Lt=cA6MK` z6s4OOU1>{o7I;~&Ie#>44jv9`nTBc4=NfrILDbv^bx|MQlP!rEx&FxJ308%6yh~}_ z&fBk*mie#T=y^IXj1$)8olCDHD0EC0+*jK(bhx+LD~zU;mkhcbUUUH4VVUwCZ-kowwT>M*YJU*u^+``=FV zu&8AKCJ+P-RBrwfu(eQYHY+`&&B_$muD*51mD*{Dfq>5HvSgR|005B8B*Ph#u>M={ zSa{()?&O?@Ni+^z_}^Ryph>^`CjAZn6#v5JNRv;Z&}1^Tv{L04=z&`Ttnu;JfBY^x z?c&BWrgrIaQo4?}{qKMDk6(4X2HpMZcK;gPzpbPHZi~T`QAPfY`}8lHE98?MgZMth zuD{z8b$Ms%s$DAcYS7BoX0U_iZ`YzpjdZI6r3&Ya%^P9TIIkgMZDsq?7%W87&^-M=*pG*Ns=Q50ZfRSsy%=%@U);LDf@b|5tuW=y z*4)M76@O&;nVkGEv00T0Gbw;R<2BB71be!LFM`x%xaswi*=? zq!?Ob%|vcAp^Gv+jFcPOE-J07YgI4cuUI2Wa)Q!iCP(_u(2c256yCI##V|(9yytAm zz_k~)PZlEO4|WXrYY6~eBHzuDre01SMex=iDas2ywB|YYWB7ARq~H7-h9p&{dSnacgr?$XufC%~ z&zT#z>_ignEPWvrlpHJUp-(@T5Yi2rF%$^K^advj&crO|_7GEamvvtbOEznK{zUGP z-GPxI#H{%KJQw;cdhmOKA(4e`o}P4uIoCF^Ei*=d+cii z!rSd7-Q`+0o4Bw*f@vW2r_uOV#WRLg*ZHyYy{=7FI#J<`9sz#UndRFs=v;^p*5uPK9>v@QupT)hzrBOKFX}tuL zOa-AnZ4llIJCDAFroTeKt4|_k+&uPwKA{M20~Yl+|6xAngcwZmK+KM!1wwA(xA3fP zsDy&d6G3r?UH7*%S?F1>tw6Y85hG;!dsSw?_v$wX{^!nBc@iRnFy@H$41;q*JiRe;0|g1K$dXvxdM6|JVm&ZfxPphyeMRIj25d`giGt`>UAx zK65kz-^tEHZ~qdykI_atkaD?#*9iOX^2_}1f=VEh5%cH0@WtDp=?VOe|HLC^3XZ;| zeN)51Vp#SO9I^m<4}NI-n=qgGyXd918vsysqJ+925{51b{=KT-d-Wfx@;3+miH5+@ z|5xV%f(LXFw*HuEUDqtzL{tz4Ig&81Y>)>c2A5w$O4jnFA`3}!dROU_u< zw&vFVkaqVk+^-^OJ`5JFK_`5(Nc4=M@v#RN?0s%~szoefd;*r&xqXJ16k4fC=AQI^ zi}ZImX6S?)Exz<(U3W&EhaMBjQQbd|UPuy382I`N8OILH%_g&Zh4_`m|nyPW}!Jw3%guMGS`cQgHBN1XZRV2jA-k zqwtW-^w|YoL|05Gf@|iMtu|9660K3(s(=PuseZV|P6}3B3ClferMn-6u|)ym#PjX;8{8Vs zc;N-SJDZ`1O{nwije$88U{v2M*a(G`&*MZvYak~!K#acx=c*aXKgnFs$>y)p$PfB0 zj{fA5--_k8_WTVI{$Jss-ap~q70}a|K09Z;LJb{Wc)Mbw63$o9gp9dkV^UK%%3xNAq5WMune#u5{(zPce*UJ+^ zO-1gl94G3-mArj|N94;>yYg7Bhn{-GuP@{~P>2I1!f?cbO~mw0qa=~2u+rw^_qtuo z@b6XU16;!EEh*y1fI;pFM6Q@VB2&pDX(W`@s4=eGBK=Yq?#N`3+@E8>L zUbQ=>;ESEgi(a~wP}Sv0urXw!5~R$UTaDI)>Ue)qDQyIIAx?&3FG*wElgcKl%F~GpByj&g@t-ta{O?_=e$(Vn zn*654zn>P1|GjIAe4Lx*)T^`ldJVNE~b=6;bi=)asoXPZ4!2 zue1rfrJ667{PF&Z=DqaErW-g858IoA`g>B4=&5MB(U_Enbz03Y_0;Ti)OmKO8lA5T z5=071fwvi?Yj7voGiMC?l|F|shY~M{z zgFJqK9#^>UCU|}hyAm-D=D7f0*m)-qoy`QnhEAxV2Y;C|KidUyl<}xBF$&Llil~1F z0aSc_%wI2j;N5pV#T$`c#GK(SVg~V!w10Y#%>VIO5pb^%eHQM_B4(->m4)h4IWhT* zm^sipOAJ4}!HGD)r!m78+G5agK4{5;{X>ufjdg=hzj6l2(X;{Yt64HuaxLsr>z!jKKfD&;b8m>A*$z&En_xNZO(GNwg1# z=iYLR3Fy)NHj9{|?5XLv+Ml$0F35>lr(xa7q+HOXt+?nP$rQGU2uQ<^1&LeTm(cQw zQ(tKciPL1qZ1UTbF@r9mFA;6OZudSIdt;-Yzus{JEplui~h90hk3ZLk44Zg3JRxo2(Y3 zlZ83`7Tl=9O4dWY(dxR|^u7aeuGM*@jT*;_HZOazX3S`$90S>w+0OSbVj5lW<>*c@ z&Eh+dNlbr`jHXyP#cD&;W``rKZmAHWh^6l=bHFe{H_h{&>Fa;kh(~Id;LLWk%s$4> zNM_J>LsfX@TO3+G;q+3pjRTUw*&Dyh8dS65?4(wCv%=?2Kr|FZr zbouKw0Wlx{8u}D6^HrD>;%=B`cE2L2kcl0W$9W_5Da*6-%}DBU7WU0umLX9OZwSlM z)gMzEfOuLHgUII%>mc$nhv9@=(0J_Cf_E_Xw)>VfcU=jzq5e!WZW4W9n{K% z1XAs0vY3DD(BEE(%R!CgQJU){#9JY_Q@0lFwpVC>%mri*%AYK}(DCDv^MyxkzRQXw zz9~Hr+T<>B)%HDwa{z)jCEbIVdBox`jIy?9BOND}*6Z@>T1~di&NtWPTOIF(G1fhM z!{|`W73RtRPn(l!y{prMe|~2X=~Q`yP+V#EvPM6HF%kP}?8@sduc;kR)bA@k6;<6R z+~G_eBcLllbaYuc91DKlNgcieNgIjh_~@Y0A|0!+MdvL&crlg!IbMqxu<*7u4ocsN z?T(m#)#T~V_lQZvQcXl|jJI1*0$s(*p)JHxlLGySS^U!RsN5@kP5FPg9R6<5FGv@C z7@F3w>dXjH3*+WBhQZ~Q*?#FpnAEvUpUC#Rp+oI?&HWWMl4_ZQ@wd(3ZH3GXyD@;`#15 zOWmP;?_MQDt6ZC3e&&p6A6>Ype=jcQ!6`efgqpGl?((I%g(6Q`Dd;6UGnT<2;vyi< zaUFOgwh`ac-HgNDY?E*q66+{e>G9OEe3O&n;ovWsk$3Rh^CyYtTSS7k@5Obz|J$S4 zer5cceZ9^GGW-1X_;RaZQ>B-A6e?k3D%z* z{`>d;Ra!v*mGPVZJ=D%3MwbE`VbSAUPB7Z|9w1?Y?JS!38Fj&Pd~iti2unl|o`Ofy zso#VJnq-iqxNbH~;MWAwD8#t5K5^a|K^p!FV~IUkPmo!okmb{2M!Vafp`2E7_>^7E zaff#yEvI~v&mUTLXkBf51LddAX{ft~xPU200abjP8GQs6H5%wDfMj9qxiEyt@jF&a zVSRY~aUzjxxQj&I32B*mU$`EVct$&UwYnNr_V}by6ZEV*Y_=BPSS6Wsw=7xS)ecsF z5%MwA#zJ<-eeaayu{njg7xH$f}%Dy z(6&p3IK;`+Vdpz@=_;^!=9S`xJ;QeMH+xofZIbc`dl{$e4jXwiVf-LO7N}<+@0JRH z%yU|Clhzm9{Dw5Fm0Rl=sq`3F-w+i|Vgg!dO*J#Zi5!3+ z;EnHMxJ$ZP?RR~2=?g9nv;I7|YQn|6(+x`^tuEHE#tyDdaO}BF;NkgJK!^gnf(c3# z%N6Ry8FvEK!iFq@M0mkH`CHV`o7LLt$BQn^sSOQx$>P_JIfO=4?YQqOJd?>XZ=!}0 zRZVa%kQ^%I+GVnV(^bCWMR8}@c-(NGPusq@wQEM6sNSW2v8B^0sEAw(Z<`=6V5g53 zQ-4zR`GmaMIxZZ^SJSc-EzE>=jj*599ipFJ#Q3!six_Lcd@!Qy3Ti?=4=6_l&uEKo z06$esHo9V;!R}+$pC`*YHRdhyo!>RKT`ib%s40sYeD(e7la{l?5OX$p){fXO!}RY8 z`q|`<3tjK(9hi{dsC*|xOpY$0qH^eq+5;hhc0eD4<3T}Iwed9IBwvnqqroV3gtBtn z{X(Z3S=~u>;>=sxtxfKl>3uz~YgN?~-b$Yeybu8p608ZPa^<0-)j;5{=N?9O!7GP* z%i0uQ=W~7h8h0&XdgrDywvK{dcG68gifTy|P6(~vH*GHrSON4i2@*wH@WljnEo&Um zLwFyzrAhl%vle6Jcjei%is#((=ME~{+3mcpl5fNPlJi<9UImP%X(J%2K;tbDp4ZroyXhF8fHA0?&rK%+gCzI6qHu1tD?Yl5_X5KV*1g zz_wZsgEM#$e;1nRH-$0il*^m+KpT3WQJWvxjm`Mn+m+CZGiyY~?T4Vfp ze7n+=r{qDO$pW`wd#XlB!hvHGhp2$k`iLsPpG)t+$A;}=y-_vlEOKv18*`ZGs5zXeLnX4yl4jJ^Nz>4 z!10CnjC;i)s~;Bbine3_v?#mLBR88f`JR6hSqApln=FMdBTTN}3Z_mwPd)DV`l2I0 zyUscLg_Oe%^A%f)<5In21DnjR6C2u))u89{(rYl_^`&qyNJu+@hc(Mn$%gW`*z$c9 zX<2W+m|h^8r#krOG~+uZxdv~PRRh^Qf%4RGC#Gh28DK~q9Yp%_ZlhcGAvdxGC;LP4 zt)3;jYfPUS9;g(${&Nkj;!MyY#^c^ckqKM21OGCzL{L|U87G#}*q@(UQjx)+kSSoS+f9S5Lq&=)q}Jq&Wr_hiM)L28NIu+bf>i3Nr^bZUJRA#flBlX za?7W}aMA$)`OtMuHiB8c25zlBkw?lXUwuX^J&QYs8~g{e-FnviI5$!N9mI34ff+Eg zVg+PX<*?4ZnLKK#PgqmeNd4IjQeFI`&kI)PXWdZNGD|m8&)huo7<)+o<};Vzi$Lj? ztm|+~c%4+h+mym*1rzowEASr_Z7$9-Y7D3O0(QgVG=lDmgxvU znGo}li9{tgW|B1GN|Y4T==bQ(+P>^0d2s^ToR-vlc+A{6xw7!!=vhPrh#OnbAMm_5 zZ!Oq7f=>*u7tRqXuY&`1j86IO+`8ThYY}03WzVb4uj9`>X|t%dod!aE=`%qxmBt*I zf;Tf7X?+d6@fykr4&lxb+in8`g2we4?;VzEN!bU!oosQDz4j8?l2_55e(CaK?6=Ye z2FF(fS#{zJ_qY#qyraf9tG6`7AgwFrYS(jo&G8|g>m#hQ$0V_R5yNihp9pA!Dm3d; zaZ$8V{Rp6X5mcjWHpmWVJ3- z*hjwmP@KqZ+|l-YHfhaJ^^yBScIK*$H*Oj>riLr+p$>cSmVd5s1?vHIM#15pU{us- zJoWq)yjb1ZD_&K*BfipCH9W5`b*_{Q%yoYpcd{b3bEDg*>vMa7LbmYLIFz~L(7xyQ z;(Rb-=na}H4mR)x7A}7i%$sKAAQ}cOjoP+H?>BgZE(rb)yemGw&2iQ2E8I|C`QYA- z3$dLyKlo5(z>UjkB)lT}2FD@z8!~APlBP2>Y4XL+^`A6eghw2%GJE8@;qf|0`iZrP zD^e>Hf7HSwG$w-tuc5F#I27In4rx-AZv~4SFF4^&b{wYyoV5U-hnT&8M>SCaw&u ztF(XQ$xxZRGeR39J+j(^1KXCyZC)iTeMoMc!g10^G6JU17S$7=a4V<|9Q@$N5Hl1i z)o;M}+F1)|kON+{*GKpyC#<OgY@Xa!Xl%?T#O(DrE{DnL1cxq_K{#J7s%teW_khuzkh2cZr1 zi4cjurCqf^B59S8eBH(S``5iYyfReG^)2mk3~cZn6qj(}crMHd-D;Eq8mKlE^(9h|kJX`L2ERt+u&Uf@Wo!{GqI< zVD(IiyiKd6&G%`IlKT329fBm<1!71Ea!HV94-m%jc+WtT6n zKD>@iT|Kg-Mhg|)&)savo&2sMtnsPW zm3Q*Be#Rt-$RWxTXQ6N!^D7SCtzZKax$5U%2D21yYtUT%?0m)U));3Uz3&!`+f2wM zXk0#H!jbB?SeX%s{T4KhVt-k|mVIz893ZLFQYjyBxovXyjNdWWdm{neb#_rN#?%h7 zz1rmXvwV4!0Z62S$f~od$tMJHWEZF5T7%`Mf3RZ6`iaN4y^fyv&$qF%cA37Gq_AzklB8O-ed)$Tv&;0p zEa8|Wi237tE|9d*RDbM1YEzXKwLRnII@%fU(r1|mSxG6n{`e4 zSfl^ce(-#go8yJ7m=e+=#yoL@*FdPo@x$h;UCSD4G-8C|NcS4<-r2b4KIAKk|G+7NUWfEd=Vl{@`99GD; zPV%1N0)zfj9qte0R`m@YENO&|?qy1052N6&%;(@3?vLs9Yrt{Lz^HDhG>PrXTKfbi zKGep=9xj)$@?1+R+vk4Y!q8&pRPib^Wd%(w#jzzXu&^$U_ns6(;~b4_>!meT+Pl*@ zekc8nkA1jgaGvWLxxpkNYHV+CN&QCQg_|&go5~tvPja9}nrgrnqNIL<{i=?f&w46R z*%5aAYrXm+TVFP>R7kuiD-lZ+33!d?oSNzZqY70y>Ofy8*Dbetb_EsV9N5`ZXq7we zVb}Ow_1TMb*=R=rZw>vXaHh}@4TxwaSEv67f)(7J!S`A==-bhBN*jEh#J5OOCvdLk*N)5cldNS%Db$M;U8}}7_Ply zwTQU4C&{CXCusK1z@?uAGy*RZv|_*~lXrw$Q1{X#{W)nSIibMQaLvG`^bdcO zY+kkEjI8ce)4mqDQBa%!F@amk5+8^YbqfH3k?9>g>$khWrf+oa+@~$GR{N%fNBttJ zbF&hXW8MeSPYPZ=#^6))e$D!xe8OK2(OnT8KJZ!7waN}%MI~FWyLjjI6Y@>nRLc`O z>+JKg?mm4mK)@x|-BgNdx47%BqqbLMP85P1vQJw*zv5x;=H{kixuvA&K$Ns&@0ZzxoU;mq^Ui*I=nG-@Ag<} z`%@2X$Mum_J5kAL!5x|d)SKC0%UEqB!~&5uNTxheQOEPWZKI9#6_;i2p4IgC?!QT0 zy>fr`AD7JHjySgM#TZk0z^o09#50o^9Bb_AKJrG`X}F&%4%3ePk$6@o!Ywq-xWmiR z_te+&#Ql95k6!!f$ni6YjaXzg(7#Ld1aUPgeD#S%OywN=I?E3irlte?YG;4Qc4YO$ zH8=B`?e5%potQXL+~Bb^E-O;Q6z_$*rm>0GM}_rmdGlPL(^PQWObyTjNrru ztXOF`ChzK8zkX4+$#4WcYk8IPMpJmqAsXoGst0MCT!+Cta}a9;bb}(GVx2~vP<*l5 zV0s!C*Lc>YqpZ5MKeQ}*&|THxW$fjXH{!%S)`SPDoO|}V*;#mciU*Kla4e1afKiN% zBGoCt{mtEK+T4RlYeVNOIoZ!T)BDT}&+c*8H*+poyHqzIU{+lsqi!ec2Bcs(U=nr2 zV|e#X9U0RRNTmO5za)>E*|5G!Vq}Xhzxqw_%w2BZ3nIK0LR5&HRGu|_;W_y**wh$U zq+w_eoc(-4W`%b7_T}YI$Gf(t6)R@M+7FIC9JPskP!jZfmvrv}4HY*Bbd3YwvGe)P zlYrw#tO%^R-~iQMQ;?QFdG37nN4%@!lXH^$J`9dk-u_Z~+J@!i+-P$034Hajlx!e& zh#HJn4v-D_2#Q{HDfghIMy8I#G2-9vhqFDkO-`kV#^*@Xirqi;fCU_@LW?PN~WFgjm%c-{e`~se%;ex>z7+0 ze{gf|LYFC#;CVeGn_sloXj9KHT)5j`2Tp7&N!UX8Up|`) zQ=oo#+!#bwG7AE10|vmo@jV`>Xg@c#o*@M0&^a9MK+HzOPg8Y!@@K|>jQBi#;dfG7 zWAAg^jvd?lJc!Rvp&ks5cMFnj%LB%3u{ZF|bbS4cf!t}86hzjEcLC7Oovio?H3{gv z6*8K}dQUtaW>Jy&_JiFU$#z_MVDLPJz#7{KC^m!L;+#;hYwz z&*?;62Vy*2yVdW!iKU^E`xh6rnWIlK@2<-HV`_#vyA;mh8<3X>o(8NQPhTp?sF8aD ze?L&+Oj=vioxi42JM+b%h%I??^#&qh>?eV*CCqOvV)p33dM&`EmjXFc;f-_66d|%d zM%({2l`am~$ASQBb+duXacMJHoeF}5 z`ZAlBw4LpAEBDR6scNvH_OrW#ayfIT0$2fg_Y&4v?lf0glY8}^Z4E^4R$Im)HsIiO zXAvXVBdhnDfmGzMvDk-(qeUUwlWuM-i>}>ILbp9rUKc2L5`%d~eMf-x+Rzog{7s0T zAaN3SM%wzZ4Z9f9I(q%zt92yDmFoqWmSrU!qpmLN{cPTOSZHuxV-n8lnVrvzv%&KTyvZBL-W^mtgS8cdsy&8`-j`4&2F5iPD+VlYp|M7Uvu4E z@O|@u-EieFFcZv=06j)hn}KB-m7{Mv|19>lJN5I&lSobYqFq#MbVS7S-Ae-TAiCsA z>L>8*1t9_Qt=xECJ~t{Xct)1Ab<@_~6xZavZSk%oX_uUMVZ(I?uX@}QLw$7c%%6Bz zqm~*G6UO|6_+57zy^40kn3v1H_@F=O_w_}8^z|?9Emyh34`_A{oQg^v1J8BalN7Ru zS*6$i&}600Dob8vdFB1w$cDZH~+*@I?zs;05*3Cak-W`uh{@R-F zKI+Z5(#v_?BK1Vo7AIfN9KxQ2gW>)+yDE7*_Xxk^Ys8lEzScP&lONT*j{gKaeQ!MF z=8%qEbMU1(}f@xbJB}WK+Lk3Z~#)(8hAy%JJCs z(WAT1|LhqUeE47y6JU1WSgYI;nih@O(+01LVK?!Qpsl;`0M1Rme4^P{V0rol#gg+O zsc`4H@d|^>4@Mhhu8g%N)V$6*a7OrG>~psD4Ocb<@6ke6RP#mbAo?D%1OEgf43i!s zMqFycgR;6%lH}=zY`U-O`p#V)bPv*%*m~H4+;qQXbV;Cl-=W9Y@70I6gfOxxD-}}m zxy4i6f4I8RuG%lp>CA=1<>$X^xF_4#*q@AEF;4vY3&Tr6bZgor8i?La&T-;LyxD`# z7{qUCA|2XW^encrv&(L#Fixe9?u~sdbWQ!5sc;{Sssrnmj!+`eUBJ(-3qZjTR6)I6 z{(gT$MU194Ph;i4ei?y3QU%;$kI_6v?42HnHUsgdXkv?+ac z(I-^nn@v*uciUY<$}xvynUz)1DuLaR5|^!=E*W~OGW^N|?xF7~#ZznwU*`O ztzU;_i>%UN7A#^CoSs=_zt6Q>zCC-Wvf!LQg%H7<*={P671=D594>NYWWh@ihGz!j zIaY+8Zf0}>=WCsu52?9tqVM@c)m->YwUy1nPgbXB^!MB^(v5^Aib0PRnUCUx#(_@> zfPEcArW+L_dgzBimr2T6J}G@Wx74Y9&e)~=IQ)9DdeBkLs2lo5lIsfhUc|~RTo@rJ z!*~|$&MZ!iy!W%Vu9eK8+drtJsi&5Hu0HBYzUveB<=)MFrXfUZBqFj5RI)>mSqIGZ zUz0|z0;lXcT_ zy^*hqm@#w@fNukU`uO00^)EPWq2&Y_vZmN@{pUHqR#;bMDF^I($BCu@ zK0(YozsT4_<6Yx08W@V?Egb4SNwS+@rPndWdzP zljasE6@m>Xk(d@Za^TqhgVK4a5m35-_tA93=(L)*OHR21(5moXO8k1Bu65Zm4%$WrZ>$ zFRNW>c!CjnJx*kZAS;ENlZfRMWMw=HSS)H6!Wy~X)fD|@PJ~%Uxv#4&uW$jQU$O%8 zGY(}o-oDLYN@Z-dNbq`g%CA1SX85L9W41-{4ZX{p++$8cz)zy!QC!659PKc!vyX0=eK8zOxu( zxgSO5R&qyp!NA_$M%Jal4g7sRnMXNcp*Ne}ErjM6(4}{?6ufoR9YmFvuzjova>#(s z6p95_SdbZP-l%TIK>~Jhjq8S=@~zr4EU$@hFY+e3uHL%1g>O4O2KLB~8`jhYZ#73& z3ugg_-bFSnw7S3nzbSXtsh!Ta@9Wi?vnl=@t?yv-O9$E51BYXOHm2<)_T%X!cpV8@ zMP-ueT}i>H8Z5`0v~SkBS(!e4?vu8j@jiC$sKwOQjJV4;0^Ajs;jeAPSc{zJgL;1Y z8QKLbyvaS*!-K!kXGqfSWXH%VhI7*O+Qes99!XBQZnJf!znZ?tQ1cl~St#Wt3o=c9 zd8maDOTIaB`9(@cJ-Vt~A>~d5r|hSOS(j1%A^q(GBe#iT#$Z9fZx;legXqg?Zi|>u zsFH!mlng^+u%CTR%5WF`vWt4htkyxB7o|ecyrQb0y+%2gN8TL?5hr%#AaeUhJ_Pdt z5~5ev;RTuGZFT3vq7b1RSL^0O>*aZtXDU`ZBn$?>qRR@gk3)0_VkRZxO5|cDOR4aD z8EyH*T+-QqWXaEu#-9@hdMn;!RuqXjUCY7LwJU#dcU)>amUA0oa&fQ*DYC{17gGMZ z#+8+~XSF7;B0ICb>k5`DS6cn@r8p2|J12>43`DsF9N!>V1uSb>yOBBHI-u9a!>6?# zht*s8*oV}Rs02FI}?TK8Dx`Axh@lj^?_J zf@BlzfVQ)fbczM%aInnT#@g(074j-jy$DYSQde{rR-nfaGH(|yu{sfK*@PpO~9{wQy-C!=he5< zSm)42hS0^2v#QSi>8krJKFzA$TG)XsuiO%O^$vD8PDxhErv;-1tQV16WHPSY36UkT z!r1y8m(cP&*yNM8iKWjWO+Kknrlq21C1QWP->Lm!;cn_U1r_(^;H+Uw;1^-~j4^S+ z4M&VrSp><`Zl-Zv3zwhdY@q~YImVQ9kKz$&0xCHucw(X$(Ec9C2@N3rGSIn}Jda(O z8Q*NZH$h%iAzepO(sOp`#wIuOwjWT9C?4XUKZ#{iM~L;fr2!vtA_#$FIDD$IZw4zr zo^;jKX8*Xg2Y)`)R2teiKk9zymP=B z%E9V(H(l@Az2i$|vW6~BBvQVwa>Px%=sS3Hw*YLy-5n-t7cuR_U~=41u&UNRq?iLd z+w?;avxC-e*jN>v%^XMkIs2PR^Hs=0 zMKf`G!I$)D%|MBI0KOl@`C)FHG!T4~gmJyz;7`sm7>j?Bh~ z@l_j)9EA7a(m{Te2{jY+&Jk1R?}CFHopDEtJJ!CavSBJ-{G6O6((kM{3+g1yfvols zVo+cHjk zF9Iyq;Q|p5(>70Yvg}&wW>PxrruL!jI$dT{;*FEH=CAKwP)1^ZnNZ9xgg#+ZbUV`$ z*Q0}qwQ@Wf^-VN6st;@o?2EIFHrRb%ktu%VQ)Kcgt=naot*qobk#DSCCBhE8Ko}UI z%a#F5SNzLEDoWlB>oF~<7_t<{t)p~8!SG92$r&&4yz2hiXOd0hX8j~r>9;fdx=SDf zcnL&b3A}hdL{!qNb9oI_iN=YEA+3ovjViL*kkuZGwid4T(+eO&^!tpTThNa*U)LcE@Ryw65b&ipBsGe)n8_XS(Y= z(EP#cG7@zpKs@4N0@>8e9Ow9 zo@e8C5<0P-O;Gk}>Ie;$`sHfah+Gzw*nvP^WfI%YVOJ(slfLVj%X1fb{Q5~jT4{1Y z;nfOe?O@)jUD)&ked_a>VhqKAw+xPtfI)8yEkb@p8AA|U_ZRp!>qS)5=O1_1R_Y(G z-}S7jq}Exv>%=|F@<;ApkD2yh@E2%I_LQ6t)Ii}JY?E`T`gpIcz_m{=A#plLQ$`64 zT6!C5I`jSvSe#Xj{&Q#IuV|Jqal)|vN=ikw$C9FEb>(~9>+Hj;Ov;g$0iP&J5HpL& z@nlS@vWTIyC8*i}tiY@c**ciW8+#X5-}=5MNuhGC+97oK+nUB*MNw~eCJG(5veE%TK3ZP+`DPxdzL| zkd;(a>emdHa@LDQOeuop>R1Qc)j7^zSb62@RlUxD+sUfwY#q}oe1RWu@$*``?bW)^sN;wyu-PbIDov0qf}firPbh4b6EPxUwlkW*;dE zRVn40-$kW}TT7Kry$d^1)lbSjSl2MOb33~z1p#60;G=b-$YDVRjnt+J(GSy{&rr_3 zjZS4m0w3iTjk zE#%W8#)Z-=&O^cDJ3-8h6v`x>zXo<6X~r+}4A)di-1D?V*|9UoyhHDV)Y-n%irCVD zqQ0h6p^&c}CLjuGRKiKqzHw$5i01l5%-6|tF!0eXkM!|i5hjUDTBJeJW-Vs|$2(4C-d!dI^f-_OZ*@d-w;Zh|zC1||0zb&h%CPq?%3 zfQ`OwqRUg!>$j_Z?C5wPQdGY5cJ$8JX%ey$2VyLIU~JP5K+Mc(@alwTW~OL2hdi~r zg6qF!oSt)q*Y=Fz>$fGUpzMVYdy9<2es%xh*rh|l(n7u9^PC~&Zo39XX=TJmqm-*B ze4;(Qq9=>p`91k~?Q;@a8bKUIE(X72l8pQ;(+UQ6%g?cs0rAT#e3K-DJ8>X~a96 zV{-g0Y>1(b_@SZzT`wCDJi{~Zq~nrM(GKvZ4s1ppavqXPIhJXOk)E)*ZWau5plK0eZ(`Ph-##oBf@qjArfL)BXb=@J98qLxc;<)PFEJo~qQaZ>*$$b2TBi7mxV!k0 zgU>wV?$vGSsHs+Y`Jlv(XjgUa?BV_Zw@6)Q9LZ2zXnZg3z3pTaV5+cydZ;`!CzpIl z5E`)7iZgNksBhM;ZTV-1Zja^3#Ti~JX)=DXYKfxnr{`*NvXYsckr5F@#uk-Q1^XlA zW56G&d_}rDcZKYN%^-47GJFld6YJ>6Q zx;rP*vPPUmW|F|iCBQ`reUebIcD}ql`2Za0;FjgXulJsM@;&Iy;eNulkoBQI6?=-! z5>`9vs}|;qv_>pq42iG?@N@}-Jqd~r7(jOm67{g*bF>vTrWxaN3-@1E7Plo*nP_%6`BdHXO{43?Z-79{2O#=Z6zC254(NjKO+s|BHZ`WkKNo~Pu5@jF3w-7i z7ot`Cc6rVpiEU2JqOUo`etcgD|Dh6*2Zxu4zC|} zCcCc2=%rJ%c4ebtr(%YDG9`h{z8uT^3(g|4&ws+Z1AOV?R(<-nb zPdPF4D6!#BqrF=nCtNMm?H48YyQy1EpOXA^cwS#$Yzg@jE+P4NAl?sRPHHO?fxC~c zpgkiV{=TCJrtG`@RIBpccKVI#iZ3I(KkT?pJP-a~?6oTq$2q_VK6a*A-8RN1HfYZK zvwLsM@KM*V0OuRle+DTCK_-?i&Xg?yTiX*(`3cFrmYXFZDm(Hi95Z~d*vL}539=e~ zRMT@Wu6j+XUoWGSg!9zP!kM72*OASC7?;&Z3AbCsYCSrb($^fn`vCl6aG3@RWFrd+4+|)S0$gG=JT6xLO$}e0%AW#hQFSC zOc)JO1#z518y;haAyfij=@?3%Ia&pK&rj(6)M2}B;wT_$_~Cx6nt6r4Z8N%E-b%l< z==|BC0lRIBm|NHce{TufZU*Plk>gDs{6q5*wmV?&+!n!7*G>o^Rak>CX_bX`_F)lu z5X~QXdj86g=10fkTCP-TcB5lm=+xmJ?edM<9iuPqHYuBXtP0v|)wsiujX}SPn- zfbbGu7JWmJzDW$Bl;t!Q$j}Yu?mp%pO>@mVC+=Znf8p+qQprGtWd{$vS$&iGC5DAX z)XF(IM_{6SD*q57$CV&TZ}~%d&^*J6BuF!UD_O`GC#>eZZS=2?mmN=RCcJ@)@$449 z8$@peWIS0b0%8pOGw{(7I&Qg-#+$k6oD>isjI6t8~3*C1$6FUynakR6Gst?W0o7fZtIQ6|e|6chuwNgD-Np21e z0W!iJX4toH0o4?|rmjBm7wRcH(p4W6c3U?rb$!unV9TZ;tDS)K^6RECpW{nDq&`RF zPKz|@gdHdNK55#y#Ui)=+-AX3diK?&PCwgOmkosrJIeMrq8<=4ox<_(ZlQt@S3|2# zk1Z`8M8G*O{0Ijd+xn;Fo*8|ZfFe7%bqeK zydJ0mR!ncS)sqOs2Yj{R2^QVKr3tPJmuDt_Ml^N_j8*0 z_QVHlg6Icm%#^Ci2EuI~txrvdlb+``9JP~RuLk!v813jc>v_xhFsTgUJGrKBWQCBI zXe$KrOurCeo$j!$Afb;KeH>X2JNbF)6(sePi`PnhU|sN7UEJF{t~GW}Tbhx%qj35Cpv>;8Pof;o3~6*T_*=WSD|6f4ceU<_{RGv{>384 zx36!Z8Ff`(9c!2%QRux@Xs_wzg&1B2pzqTF290wad)pJ&lZuL-;`p8BP#OxnrC~~Q z`g+gG{a5ecd)1tcTKycoj@9k{n(kuzRqPpU4bZW{xC*QY`f;s+f93v`j@D{wBE)?D zDVu_*zUS1tpr_oRS4`;DlZs;tT>Ems|0m%o0t|8Uc((<~2(hZI(ObUH{>ifZh*QbB zy@hVn-D_5Ut>Iu{g)2XRQu&VS!SWt)bN~+4fwi32&oUTS-mqThtDH%%m$}hr^CaWL zhLYM84V946H3zh#BHCF!Bm$=-T}A^H7{ zDQA-~;oURq>S!DwHJX^I)DWAq-r=aQt3gUBSM!PtOfHIB(KA*u6bJDoFjO zhE`g2suKPK$S2{~(>T_oaAJ8(J+;3Z6_d=25eLSDlBcs~dyU@LH?mbWu{r1L%-mGy z8_r78e*y?lvwH}3T7!WK1Ar7*V~Jm2;m{y0WE{`@NSi-w+d|Ad+cwLz3@Ayvwo#Itt}R6MHmk{K*`pFNw< z*KqA#$jR$P!7rX|Y<(p%I}1437kZ1+!}3*hNnfuM%^`XbHw)q%pamZe+_))U&G=}6 zH!*?6v7hQ2u@cmRdr(EuE(5jbKG^`>t}@H+4j|ylRV<)S$4`@4tL>ct%Om1F*Phx$4K*Yk=VVMa)~(0B~q~s_-+<#gN;8PqvSwfb-iO zb+MAP^&t1hV>w#YQObp2*!DXpQBe4N1|+C5)IJ|1AnKVh{98e^bzuA7DgFY@cHw#V*`hakcGdi5m7zKQ)~Ia>ja&Ol^4fO9S=4DB(IPp!u<*VT%&OubYU zWLEN`U1{(94KJuh;gdqq7TlJ~`3bzg3rFRC;45uxR zZT_VG88(96+5D(YLZz14K(M-ZOSWme;5JSerMcw_|BOT>fZ_JwyblF!dA}dv5O&_r zov73_crOqAz~JeO(-z1tsog|)=Vtv#RMdOeGxjhACg@46XhB|{u^sD1)a>}WWY3u4 zFggfZX0p(5lWZ1E9Mr*GA`Y1JcG=ys^*O(0&GIUmLtz3J9H;s2VfQiAJ2Hd0;t3&AK29atO zMjSi|Q za>gdp_-jwUc}BK^{r?+#?;Y0Ex3!A~5kac-CPW44MNx`^L`0g1V537+L^{|gYRCc< zkS_286n+>H5EL-dRgloDNR$MU)m*)g}IsYnm$50`C%lsIW#pf)v5 zC<|D2aDV9yRoW#T#qSsoNxY|Cu@LBhc{-OOYMX5A#_s9f;mekc4ntFJf{G(BQ@>Gi zkDl{UP|JZjID81$W7wyevl&J2ooaa0#Y~k&mp%DMr>4^$Nq!D7y}|kYB9j^N1{9CL zD9ZslD1a*@jVT&RS)~P1)cT!RAJ2Ahl$0O;H0|`tynp6GjbIxxgG-f*%l@jR?gWw& zgk}m2&%CV(rL@sVtaO88w@T&-{1sdn-8Ul(K`RDhfmJwzYTFE)M}m{iqWsWfr@gWSKAb?RLQ?_+8X)>XyXF0U49g{y$mS}5c~mBe+ItqM5AGQmJ*q1T-3C4t zwHGF)oUEjdNsja#KD#nO?_h!`Afkb32fn_68oYsRk@29-d^HrCU}~`btP^aK`H@=S zZGB*JG3kMU4*q`lOVb*6{(}3h?~M1jn*~kTvol1&^m=olC?)|BPk;SI@RFtHJiOKe z)*?tSr8Q#M0rIkk6I!SmBjf_Ko-uhYs_r1vAjRaIE;-=09sMwn&&hP~~7CC7A(#uyS6dPrHN$ zH%ZUP7~waHS|BbW<(3&!h=*264`y8PLR0LCbVaeO;5SS61G`@p;1@D4nfi=dvh{VF&QYYBYSdqTR8j4IGKD!?-Yj1Fg=h?g8fIW;HJ@!;Rz*0f zw5R0>YToKEpG838=->UYA#fkGx%mQ8U4(!7&=tUB9ypM$Dln${`2u0Vk@I}w@K@II z-?5*F*!(RU%D?~q_w&K|&t#ST*C;suH|n7(XnP0mpbHCQe<P4Uz6-Ct#STc+4(Lp#2k*&c z&Kh?uUaXnYsRJHd{mcF)Dq;-fhe4xLEg*5GB zo+vQM^%Q$DGFq?G#!>4d;(0=J4+s0a%4A7}PEg+{IMp`ih}`FpK<3-O*a28{cH*_E z84XDfiGl&-uh@NbYtv!>7j0=eIadP$5BM!q=9|jNl)7e^AZ+?KJ{>vzF78ZU$;*n$ zFuz0zLAM0)zRM>O57?aTT6$uqcF;vB1T?*idWOF6T$=JJek{Ep=s-GjU}%)5OEF`I zLA)TF`~l(c{!c>hQL$(~j0|Y7%6MESz%;I8_=l5Av{uaqOPY>i{qmR9ch1Xjxlc+z zku;YpY(YRmL<$JO=z49mqx5NpkPou-=Q2CF1N2wmA9wR-7rNSyx;h!T7X(-wj6d=D z(6bvK8XM(eoPE7?MfHu~2#6F;e0QRUDcl7>b0p}|bLDa|tj4fhfM7_nc~gS14fm`h zYOLy!SpaU^-PMbs1T|ElC>F#K#*7uNtta~VZqUhQl=nsBZaJRV1qEEyT1zqVZ*bFy z{=@5Z{G(kLB-qilP2u4!2zBi=mos`h1tSE`UMzeepwMr)gUQ>gy-xnb*>GPpy|7JT zjd-pqk%U8Qy9sO$7vEI&e6izwk0kRrIQ=56T@=Z(kp(_Og}2`=>Xf>e3Y2vgb6THS zo`1oM76`f1G$q`BwbwxPs^2Snr+5=TFCk-Y0h7~gmqI!G{)3d}N=RH|oj4Wy=iMYR zud0vvxq(qXM4lhnv|vN#-(PN z9Y3(_7~Wc{GBtlLVnaDF!czL@KuPAD;_LPJ2kZ3VH*Hd zyCsrZ-6Rl25L$67r6*0V9BJNToSh5`G?NGB-hO>1!OO4V`>4UftB2k@|z0o@hHe~QwluuyFemOh+B(bn|RFKB^Q&c`nlqV@^S>;M00W` ze*I*EFyTGy)cmeKM-ajN<`6;#!T#d4=YKHBtv$en5!p2j&S1Rmkv?&|TuEtVZ7kjR z(6NY_k!8Z#OCmPxatQ~F_FhpbtVdiyC~y1+Y|6x7k8>k!SgFixpGs%F=st>(%;A*_ zeJ3T3i$^lGr$b!Fn;Zk*X77!@qh74cow|4mvAbjujJ1~7Li{~7CkLm8Y9CCyAf0Nf z+EP!j5n?)KR} z4C*b)4CRpZ<_xSl74^t1%cky0mqGHROTEl^%J}|g!t!f3YlpRg$klgN0*D-ubYvm4 zW(65sreqzxm|Ac_EC8Hrl2O_joaDi*N4WvGEo2W49F|mJOg?iciSDv($K0~qDuIlE zdLnvc0Dja5jx^iRzYy}^hrhk68S_*;5yl!*0Rf>2TsT8`j!OD}aXTcH`v|nPB>*xW z$pV{ZGE6EHYKJku5Yxd6==JZKvlY;P%>>9LMc;;7aT^LrOo2hvmI6@n(p>iXg*fF2 z4qq&gD@g%AJU*WV_*L7nDCT46jo#{9(hO|&8w$)r0J%?`GNk?1vXvmLW^g$tTZ6~z zfZyWiwZm=wgk0SJ=w^TW`(C*U-{^K2jGp<0Xpf;_wTtewfq9T?fk-Jc@ZrCqS$r!n z-PQyky>gTaLmv8_S8e$VPlRkGx^&fUJ3Q+;a(MHaRd5<3ga3O<1Ig>^jUVKaS8YW1 zr*_5y+*C~?zwiHFq}%^F7yl-G z|L^DIKj-G(-~VxQ^UoxG|Mz?R$GyjYwYmLga(@4-&CS2Z`;Xfv|4ho~zF%lkvYYsSK7zmK|&l~muFL!>4d)syS!_yrBIo}5hg!8=@LX_sPyR=#05n~xck zF$0}NvL|Hl^MF?R!Cd11U2^GvfBs*akR1A__Ca0=fWCcNMAP=vzyYq4u5u54Ar7tr z6z;o7;`)8sB4~Z55Sxo&1?Xi6E+T_&1B59?ZvUU@w0mtWs4YjGY_l*9KI6S zqR!JGwX&JAC`NP4gD;gi*3??6#3TQx^?$Mb`h~y;C44)moj{sQ!5KJFxDiR01S1(P zW*!06U9jOBGz||eJqdA}CbkiG5Et##YBtJ%QFq4*#O#|xW4noM~^g@ zJH5MmHO>9l&Y)KPOBMeU0SJi@511Rt5CZHuPd>7q7-&*eO+L}H+)uO=!+T>fL^JJ| z>Djy?OH!}Z7h)O5!~W-L4*ykC_-k!JCHp%oF|>jt zo)lLqwiXJBGp0b%0Zb>d&mUz2cWb=-fBcZwGrtnf)4u#bM&F8mFOU$?A1EU74Lk3)U;?Sgzf1&kKm8Zt72FBfci@AbnYzs< zT%F9-DtMmJrmPN9cZ{AtJanO6vjh=}Gx?i3b=%zpp7v93)+|VDCk0-<8J%+U7Aqw# ztmXBd&6!Ejl9aSQm3I^5{?Rg?0L=qlYHBmOqL@%R6irn<{eh0#x$f98{eG@{tsAh; zsYp=2%3Wv<+7V{h^YX6(-iUvH|4YT|A2ko`|I`xuznCpkWp)F)1lECJP}q&YW7K*B zEY)=DcJ;4(Qx0pm{&kZ>uU$?Lw9qW1p=VP8cm;q(J6#R;KqJq9(Og)B!%%nb;^;@r z0C`7fzLTpZ86Cqm8zWO%WRZ|ocPMFdow%DL>n;;vG*a@m$YPs7;mo8rnSwP*%RGdmzGqqH@n1w(pV zv!(@_)z1;_;GWt+|NH^Bfy(}&;H7T{Q6iSAx$>ni!z<;^BKScY^&aK?wEKTv3L4%s zIo=lNA8d9Y>VkfRmMWbMj3=7lEdW$9Kto4FD^nhPb;NeShleo7Sm`uJY>`IvgA=(t zD_2v?iF5eK?eajQsiYj!B-A{GDze-IVVRM<->KS4xJa?vlmuP3=|bMvO03DjjM0^@H>xfR z)^`GZ9{8mQnM#DL*Q$iMK&3r&IXkAv5`d~-#*NfiuyTt1~7z0BlkihedJZv!T0!$ApCmF-~Zzx56lln8quc7 z6tbgTA6Uiib#h#UgqeYALs*%rnk`agBFDvBkinIR1+fkLfqnY#77H80P#9VJ8OE~s zQj5xQz0N(@G&m3{%V6#SN=VrNl$b}q6~MR-_Kq>+Y30^<+&UpyTSn0`^H`v=NBJ{j zW37>cU-PpcY2+O}|1!1uje<`L=w;U&eF*dL0Ss?F9p6N(P^|xjhzmvuVg)9NCLXu; zPTgNfI^qwNc}txh`0`FNS-R_eb?VKA9j8&s-~lYRJ>5_6VE_bp=XcgeLushN40TKV?JGT( zAp^I->O+;*(oEN(9|oub7qqvXa8MJr5C`I#j@}Qii~SZNQxQI)vC+6^CpB~`ToU}EAM zD_>S=%IV%ny1x0;bS^g=t8Fkq{#H_U1ShsTsc#mH)u| zqIK^^NQ8$8l|8LBs|cnh zp(a!Pz^L4FABWlum5x{QRBJ!~DymGMbd0>#5lzFZ9ATW>mS*y|p`t6qGbw~G;ZH;XhJ7z6tJU@RyPS7iJ@X)|$Z6d7Ny?$7w(RLk zJC<090IUj3wkxnd5yf!JnDq*uo0n`V*-0|Xf~xUM*j+tPPt<`~oPv3FzTdv=wqWCP zqZa~SySuVq#1EVqM-bK7pq10KOq&RdUH(|o~wX0g4p{H$k{lMkGz$e6$cyGB{D ze(bmbZ74W1`}1KF?aHijl_@yp7v*YsMw!G1eRGL5yEn zqF3O!x^>H(<*>H<5VrHJ!u!a#QW8U?&KFJl)^Dx<8Q|Q@xy^O{Y{F^J(r?+hk|#o5 zIa_lS3*5QAwD;EQ8#nf;6iUjc)+20o=7nj6hzgAPtyh0`W|=^LMmJmkrs)a$yjuDVWf`&# z^S-C&=Z4%55CdkVPy=t^7l3@mHdt}5_{H zOo-5=>p(EK7sH#5qAdavXR!I_sbcwLpM-bV>*2k} zY(6(0k=PwJ5ek65oY|Nw^lC~RDXD&`=Mk*@m8q%yqqO8;(}HgK=+QS%9R2vO+*K1- zL~L{;An(CP;IZ)u1X6ZpRS6yjO?iQzf@Yn@#|a$ssn)mjD^j}TMw%Ta$JIW!rC4;} zn?b|R1F~7ObtH~*rbbhkd3d-I$?t8}CUsU})$(Kd7f8J%AWrcakDT8@Q#(DJnfTk#7J1=UDSgjy&LHP2X%^5 z%G-&xPmUmhB18}<41tscOVE=T0JqyfFchThDwvTmZECL5qePYFYsM&~`_zm({Fs`Z z(l434lr|;Pkn!^k)`p$GlF1DZLX@*f@en79R4pqFmfk)3!x`JxWTdF~$Eau@@uV9O z(*alfP7NvNCcF8JDs+E*Z_?5`9ij?e%GWGfD`>$*iyrP_p5LB>vu5$+a?r)Oz%T=y zLy!RU;}ij$aj&n^6~$W!bOj*cVmH&%m=uqc2-J)p9-Ga;d-pD8{&}S7V6mC$n&Ib{ zQtK&ed>SQmI*Eg9)d|eB;4yL$y>uBxFDw6NmZsuqt73%yH1-?->w| ztB52f)F~|3_7qnBksh2G*getvP}R)mwL0r_iN2d)K!R?aR>yOcF+>^!9T>qYd<^%H zJFS4%cXh?1#5n}lOcWqh*Y#^>(bhG89Nm(9k2D)G8ka@aSrJ6ik57D&&+dBsX8^S$611&=lN!UKew&+?1vYyF?)aB3OQkyGp zKIf1bmr`BF&HR_1`%T+klCbFvK_KT%i;K0Q<;Jqnvt2U*5>SH^f%J8C%&hSi)0Emm zY!wKTReZl@EBQU$QvdPGQQFg-h*=Bd*}53%yI1Ac+-DR{N+|w}rfSYaM;ht^9>Lo4 zj8hny!T2$=$4s`uB}c1e-t)}Y8yyN!CRZckwFD$o%qkI~ZzQcJ54;rL<3IlC&O$Q! zJ8+LXpRo!dQYq-sHccg4(-nG_t!Mns4cJn#dE3Ot23~I#GcH)?%~Q-|2x)v>TV-Q8 zPrhYAMDv!*I!d>p3y>$0eiTKUpkJlTTwvv3x!}H^hC1}Dd?SS%ns`O+fWJoGV@XN% zz{Aij)pH{(K-J4T(xr}oay~)gK&>TXMU%QjDp>BL6afA*q?oti-oDzvLLZ$mR$cbt zYF&zBljpT4FJU2x=uAc~ui*On!|+7F0DB6|b|v#3tE^UTCSa7E_HOts#){k%O*IP5 zTO4lt{OQBMbvNF36Wv1&>iL(Olh(`H+0^W`=^WsFpM@H9VGV3MBzkmpOur2$0jM|u z1sYz29%lpKX!m%j4KGZuN6mDE=hwbBbtx}~FWg;~NX0d6{6b{DG%BE6Os1Y^rugoIY_x|lTvkI5{03NDm(^R}6Uj9!|^dgLy& z+|cadAJUBhVaiU>=N@sK8Olo5PU3<`>kL>qmAJ>UvQ+DEa_o4cc>2%tVKKL1b^>-aZ&fs zsCl_10jz!biME8wA6W)Sm9!x>ZHY+ChjWj;zDGfq&Eb;&c(`+AlNfFo&x z1b6_v`*-6B2#p{5`5guRi*|y(^g3iIAY%JbxLYUoAg^gvYUm^T)p~utAL7_v z3?3KYjbK%KT#~%aIrOwzZ29Kff_W1t%M8dj$^5>SK$>;HSTd}!{gA9SG8)H|GkCqU zw5-D7TiLyfvz}^4AN#9cS$n}-I4o>_{RZioq>~J4r5wbVwb&8Bp9)4IyN^|hx`rMT zzBsIb;q%ZbEgWs&>xtf!SYEOF{M^SW%V~7THij*^kBLt{$D<<>2IW@%Ki&vQ@4>Pg zv8JnN0!ywmx9nEziL0=EG1il0D7|R;%4IR}F&=U^xMpebeMIzZJ!j09zM3xn+xEk2 z(f^QbKnH=x&fOHvCXj4YW&LD|mI=fJS0B&+QBb(3*yQ)B^_}vdx_hNE4PPPFxLcR~ z`4m1#PRN!uFJ;m8==U81lC!cXaJVQpn3HO62!XgF#h_=bfCMj>@{2 zlI3WD@vSv}15q=cB-jl8@(UpY>k+~GBW4mC<5neoQbQaJEXhj4W}&9vD=5hec51Qe zXP=v2zQUdGe&=-?&h0&y0@QA?Xgr%_0y~&O5|XZV8)`U+x?yGbbGoJSZ2=Y4cA?v2 zdfbQboX4JYSyz0$l}qEvs!4(tdkz1aV%4obS$_~nkI7O z{TSbv!iD3`eO<3DPyE>_C7Ir!QKGiIKXCuc1d;4d=Z}CbSeTfo^$3}7Na$v#y#yqp zq<2J$uRtvG1Tf+P^y)iQaT05C!!}s3d+zPib)7keLQbBQ!4lgu!P=U*d%C=PxzduN{N6@RPZU0g2& z-m@#ud&?Q9j5`b>&&K{jDE5qu)7HTqil*Rkq!__%bp+RZzv{ybI4vD-X^ne@Ui=t8 ze0bhAC_`6h(%Gq`BSrPj_bZZBvqvwMo{iLjTS9&zVBVjsDoo(CQ&JqP&Uz!=j24qR za{BcA+ky~hT%phz`Kty z0)4g<38A@Wp|XkF%_YI11&hZ|*SX9-AJ%ZRIG`k%%inDFeNWylZqz5Ke`BQp82i8K z0{{Dd{-7VHzgPEe`(;7LLC6PTL ziWVtm{-WmtvrndkA^^>Qf7ai~t}@el!Q!tbQp~$Tg}&@2ctY$&d4fd(EB1Q(PqsO3 zt_6=vl&`9eA&8Yd!HP08fv4T~j+(IyO!Tfd&LL8JX!omP zDC3Qe9QEj}8}eCJW$!O8yLni*5;BrTIj22VfP3XU3^m-i!77H;Ja2muxtWIx9bFb< zjZ(gJof&BNk&%=MbGY$gZ0C5;x1(j#x8Fd$88EjS<6sBF8)`6wmEcY(C6ijJVYs}M z_lL&NkAwN$DWx;sS&!Xz()Q9`2&{t?PsCoR!3a!8G4$@|@>jBe0JZ^F&NtVB=MRZ< zO@Y_Z(MCg+g0w#(Bn&$h2HGF1SxV>&eCEM9vfcnc@e^w3$c25;7XfbEvIWJwjEMw~ zR|z#-z)FE3F#Uiv11Fso!hM{;`1#?f^|PObbO8xNu}XgS6fS5DQ8ixs$n$g7#gIVx zBl}R30c{{I8K>#9o?`i@FhQW9N%&NMt*(#nuwV~uMBb<5&6zeYslz@oXbE#Nul)v~ z9RMfA26-$O)NpRonyx1ernj22l{mW83h`AydzbF7tUmq*@h?_6niLK$`{!L5m~44G zqwDG*OUx-N91!We%C@mW9QMdg571L!{&^cl*-24aOk16~xvOMfVU%b^o2YWg)VB5()R#3DQAa+Q2vFP{Xo zpxEP3!(J3A@3|0t8u)fs3K3+XFP@*&ZNl+Sj?v%RUU3(u-xqVp!%*wUO6l&%ja~t7 z*dM&fVa-Rb8mwA~^a>{pkxFoq`_{)A*VaxPH35c~{ffZp$Pf(2d**v9MUgjm&*|x)L-8?hy^%wIR%Lhl#-t7A^x6^JL zFc7do*HHAUNczE_P57w$UvZ-bmUu_74lM9dE@eEdv%BMO3#>XdyH#(SDzR^oz?LF0 z1K!$W4zX}pS;rcM?7~IEeRc1xr|y)TkxWO5kldX^tm*60_J1a-(l}xMWmXi^?=M8t zsEvR`9G|cJ;3oRv$3M2Szt$?bS}(`V_v?>dwoCn1aY&zZOCm^*2b?}h<3zf;?s7Nd zG`7W%oApPXMhM=DQr#jDEp=T=a9~qEvg&wRLQ1hthHcr|%QxKiTz)1RR~(j-!=1vm z6+o?qc~rqF5@z0`Ymm#nsdKWwZ@fkQ!fT-KoRO3(m(T^+Qy0w(w?wK;X^G&)iSLl$n;!Woj zwmXA%KkS%dNSMcnaSW{bql6piJt5KNRMX@l=7qY-2Y`e+NRs^Fy-x?5{SSZj8NUu6 zwyjB=cO6mv+^pyv=$7|b=>~QPY?+A1*v|X-6-9=h*KygjS5w}o>y#QV$IzDe;i_H@ z4UKQ>{t5|XFY65P^yGEv)c2zGoa>wnF;EBkW~c{F{kbi~ZOdEs5GBZYfC+YgL>E(t zu1fZbzc1|RDD%uh@3BTsv9sD5ta7S!!`ge|@6*+V1kyTkq>GHA^)#;1l~$Xaj(Jp4 znt7%t{X=Z3N8*FkgA1H3;-_UT+~Z3Tsyi=W-9^|~;~{9vcYOxh1@qg^=NtTd{6x;1 z2}PQmJ}IIShCuKm@Lkq)jp{IrHWkoYNmA#Gs25HR(O`-9gK|fdu9T0IIXBwLMXk%( zzMys2iEB0d?@)l$bt4bpT_Rzg&zpMXP(M&l!ckldJ<1YVZ zVUgEqstrxM&eK=G>pl%kGwQ}K1Ojfw?qfy5J41@BsOV7LWiq*(Tl`-44Y+jhi<- zIkJ%c6aNK}SKOJNi^dp(ca}{DP$bSviIM@B69wL-4lxL|gnMt4?#Z=pncG*T@13Uh zX2LNj(hzavK^w9(m?;E~Z6E3R1>Jdov&i-}D)xu(+g+o6r1y!c4~_;dMwYxtJQdBG z-}!{=03n7zmsezpK=lNQ6^gEoimQ`nx@9dt=b+xm0qRB0wIgexvC69k^Zqnbo`Kem=EI+_ z^%!aBok1|VU;&6aRO3Y{r#+xUzRQ_G1%)9I@H8s&du42+9wZ{%@e2`Z*Fz{RV2TOA zJS&W2a3>^y<;3u@Vm4*m8Vx0SeSMFXm|)b&4t3*xyeg#=&-NeCJt8nAW>gu|P9|I- zkbV$Hd|H14L72k75T^7c%21<~^<}#LYwOpOPL28B;P$!%xld`L_Y5tK*$I11WfFIM zU8U>%gn6tON3ea!QtJqUyJp;T)d7q;)p)w~*{(--S?8wx67$`z7xCqPElw46c-ky_ z!{pl1KKa5^d0|*5rXN_fonZfiikd8zFQl9VC7`Z`+A-u>kDs8$+;^j7#OlU9pvz93 z%8HSW_@J8H(DH!Dlw4xyz@x;n9|hEb20{g~$yyA9>f5~DyLvZ=tbSnqY^={C-QCpb_xBr|&-4C;5W$y#Zbw;}sF1h* zQfnt|^|Rta#&0{;V}m`$@YP)xKSbUeW=fAT?m!JE0S7Cx?0FHx0v>lf7oG1_otZRh zpfP5PyXB_6Qo$1!_rYL1CO0JW;`f&Cd6?F3KR9l(F>{$56a^fRBR0sgFaLVz%0O)( zS^e~D8OO24mE5*|s}j21wu9YPGu(k%``{4=EqhY!;3v+*+xj+aR)Kb>64@>sGFpfY z#8fkGX*S!k;;&XmIC;SXH zLI7PcpcS`=sls}O-CNL%du(G(lerBEwD{!PZ_&Obm3O~Z)3Ufp)j!mH(>&IaZ?qjB zTd_*l3x;_H7>lp3IgM}!1N8$1_4zwK60e?M*GeRZp(z z(WVS9t1>j{5yNc))2u5YsV!3JiA#ZQ*J*tx@=FL~*CwUw{Bhl5<8JyQ+27uTK~@k2 zY(6F+{)%Qr{D3yf?!%V|q+CE*_1-!RT0TZvW$BFDZGr;xE|3-J6o5sf)uh!yeQ z;$R+unN==q50MgB9btHcY5&Pey2;it>EY^I{9I=fUzwv3`{(X4z0T~FzLSPPu_yvr zWyZ`zwpcTSH+xvR-RNd(rX=5VwmS1X!z`rEJ`FF3IpMYU5vD`Z&uBz>Sz-mu$@Tko zG#Tn0S`rI~@6`1ds%`i zNc|LbnV$p7{R;hQ&6H{Zs!N@JRb2vw4r`r1*r){NUKy$;d2)`q_o4PM2+sMeW)cD# z#Onn8*qe%W4l8V1`ly~T@;ePei%-c4*-!sSn%xgVITIA=6Pj|{*;^2G)z2Jp2my@R zeTaB@Er2OwMqwutm)(G2GNk|hdV}uus&Y2u!3*X0`wOE7iDPhj# zu47GMZZ~!1L>pcROan+=Gy@Ga+(-S^zb(fg%dJ~`M)1v<3fVv**vIzgN4rP0rW$VV zs}k+QWbe0UIVfCd3Mj~jtcVl~BnRgH?_utmbH*HHbCW4{;0;d^eEdaQ`pF9-z_((vc`%b=0|jtlScsztU&L zyXj1I=Fn8XPr`984nnHIKzrHg$P3QxMmJkdN+8&`^nbtpTHSnbYV}+d>kz60=RwE3 zN4JxI49bLU@CMDX`q1;c(e=NzX9s9WzYuR>Q0<(EgfJCs@J$@Wizx^WLKKId#O=VR zqdV{Kdiy5#1y9j9+ZH!N6Bc*`EQ%4s5E^l6Mr|uJ)*T1G?gF6K)<(-h%k0GfT0|bJ z8wLMJyc^d6vokq{W=wTxAE&B$-XWE|N|rl!Jh*N;vTeh;`2m=LtzU>#5jq(1HGcrt z%sX#K`R%K~YELUQAvWVdd!o&eY2V5AXH` zzHnT$?J07Sw)DLAUf4bwoB%AJ;6EPPWmbrv8Hahm8C>-$69ALm{R{)te}SJ6p`c*H zSw|ms9Kdp5cG5%rff`>=(KK zX_Zgy)X+fv7_x^u(!pi<<-LP5l3K?!+CCh^x8UjeaWpw8gDYuI_Bc3?J&TR`*;sgx%ToSXJL2^|WdF}*R1|@~PJ?c^I=$MG zz-|Rn1<-d^!P&1RS3i|!bq1!Rw03`;2~9ch@yEp|8?$|Oe}+_BureVJRCs2~Tx>;; z0NreQHrz}7M~+}+b>)Ei3R(JFaHNe%;&F}+J%ooS{dbj51UL+@I&mzBSITx(Qj%za z^l)E8osg0jmHoMW{@0$bTZG?m(9rbYa_ZQ1)YFYG>ISB8zcexiKmck0v$h?0r=+1C zZj2>>R#+7K)G1Nz;+M7kZfQ=(O2-B8f38-&%1h?TWsRFxl~-r##>ih*3{zrXgurz` zfOPo-rM%giVhQgiFi_sIx&zbcMn3YUCw2^ZUBA|&UKv@EKk?;lTae5CAo&yy41)?Z z@xXrL+z*eV%ZZ5_=x9RO28thxbO{N*sKyU9EzeqyHH@BZ5 zJ=9e^fGIzGNFd=M@cx#g8N$qyEZhbpys-VV1=PpX=c4caLI^CZ=eK;Vxc`U3*n^_V z`0CM_L`jLZ*(>dIE-v0n>{J5G8>aaS!3C}CNE%}p&k(ylz6IR#f4Ak{L%`-;jIct| zqWXRc=qT5oI4nbJukJ)`u)99{y|5R=Q<pG{^C~*Z3di1|JX@uPbl30 zQiebQcKsJZL75T^H&22JwE0W?wBm1&M%tInRfg1W#N4a6H*h0pOh;EM0tUpBa66I< z-V0#3snehCwAeo98!#CP_j&DPSmHaB-rI6hp_E8_%*@!2zI%l?={&lvdKp*%)#pA$ z+R>1VUkEGlOKc$i!~ga*xsI)$fgIXaO!qsys}BNnAv8hbR!d8)|MH2lV0 zN?pd)mmxmZeH-s{BgTftlwKwtGkBEl0``s!-N#Ff zRwogT(J$%Y7Gnq|et)~M6m$4bxem3`^nDyxVy!>FB;KOH*wjFiux>Ba zFqPb`XinX%j0b1%COci_fM737a*}>$>@``ZpnXsC&%So$m(U912kC(l5|R%CRz`#= z=3X!6(v!+hgeVPduFstkYBaTsLuu{Pwe5q-vXyic@Du0gMa@#t%lcI7M!VwG0eWv-b1l!GN#NCtw*hlQdET?}qXxF&74A`)e(zs+Vvr z!8&&AzEu=wGtp0($2U(6^_uNBj=J#Oe5c@V!g{9E==3Me%iuv)Fy6zOFC7jJ9Mu$* zzHK&fFEGwT?F4_X-Mkf)mks@iW=d6pXrTVD(LnI;XrK~K{Ou(OWg>$1P{Vguji_E< z2ZPJxsw?^#r5}Qr_7B@wq%!$*sormyPmQooFZ__W`El$0d3av^Cyv7FraSlSsrHaGLaQ@L55n$g@Hy_ zsfs(AqbolRQqR`!$|QSPS{^M%aD2O=hq#Lncm+74Q0$P;DqU9`I2DEuJk|$KqQx}~ zto_Iy9|rta?|#zx(W-ucwb3B;;zNYf?pIf}PQNzn7`Q(tZ9hwRpiYV%+gTMJl;H8yc?0g^42BJTcAboF zvIrzR`uHkG&gz!W^j!GHtK=^Z>7BERYqz0@-EJ}Wx!M92FMy({1<+2X9|1BZuPJw0 z#jr={9dGG4^1X8XsAq-U9Es0V`Hj+5&4;GL+9nw%jr$(*t8TxiWISSOk~Dc1;N6sS zxPZL*ZL8X#bX(ix;zLdi+>a8Ka!-m1iXh$~5Zv>Cs;mWyLQzhkM|q|JIbG2uU|(O+ z?=;J5WRb=2P~qYcduLbss>FkXGa<9Pci11Szsw)Re%oBHLwkFDW))QM$+(D35ZMY< zWLX8D94eXW2llou#-r+egi%zY`GlyuT&d`A-$`V<$BHCa%^-KvaLiCOq;sx?$bq>? z#znoGY1XfnVDO548(! zCzKDb5P;*l$jT*n5XU^4f~FKGL$6=>H^#_JxEqktGPsA}!6?4?0 zAi4w16tsl792l-(nWT!+(*4j*t4n1V3|7YUR8546T~S`?%&)`76gum(aPgATECBP9Qyd&cjLo;-XR^jy*2# zs;G~u?)YGpV;4tjO@e8Xr+eFI&q@wf$L?ujU9z3erq;~j=YhT1LerF4$%ayJBeGmE zlHiVdB%Ya`Gu^{gPoo7()jsJCS&~msUU%j4n^Dv_IW9y^R3#DVDgn$rHMHO9vU2Bn zScSeMTQI#UHgA*Vc;nI{HshSSBtr+Dw8zYetR(M@4=-tkT3~dtxR_(Vj00}KZ zIgTmpLxTWt)&QeP4T#ldDU#!bjEXGYSb2OD(D}L|v)rsx`go$1b$#9Ra!7r{GVm|y zKwk~{d&@`z$)rM7mNr4e2T95Pl(mSYq_{XtY~5)4vc^m*b8uMc`E$HFVE%9-$QsjOe9wqws=hV(HnmVqU5zza%yZ*S zjOLI(^){Yec_%x%;}@b87=m$l_svC(r*|`+7?heF zveA=u>uma<%}N9|vqzCBJOlHkgJJpr35vRXqnI20#oE@7u}Au6of7mfP|x;R$vo=l zw{)@$c@d^(P}EuW@ldDM@Tz7ro^2ka$>F_V)$ke^$@h+gBw2mz|KU3Ert{roWACx} zvX9Z+b6zSZLBCb(3UCDNJ-^xR1*2)8kQxCF42|BX8{GjdQf*AdfE(M z7Rv9g>@F(S9TGqP?O=Cai?i9jop_bb&NF3CZlOJa=l`P16b^>@Ub2$Giiav#)hib% z58Iw=4QXddJ7p>PZYmcWw)eUy**P@pc*)JMW%#tMvw;j(Ke7V!nPkw6S+7x~7gJK; zfm4`9!%P>i89a~6f^K@cW9awz`xg!4+lR>Z?(foX7u(zm_ZLSs+7i4yUvLlGrVkI5 z*%M96jkW$r(Pc|Zi{ef**kiWyF8+HitrKiPFn^>>bj4hfCRPEX{&5HvT6Bz0&~AAi z(QBDkk$C${x}9KYv?6_f+JWJZ&oLkuL?c&?kJ5IZ_xFX6n)hC z781Z$Bp9WWUfLpBVb=FKKqYbKQw0K62}BqHzsZ}KdkSb);BrUiO{zy5a8PC#Cl|YpOn7BsR*x$t>Zz&E3hbUpPJb3=cEw0ukk+#@!(hjDgM19&J#~B$vKgNw%-Me=8syeGSy+3@%h{uY0krV4WU|32W_KLQN*uYAvcCb1ce-sCig4Hg6TBlu3O;@OLa%R{RM z;QIxv4b?GN{6}8YYo1$ps&kJIa#Dn8G`(H%x;iel;zH%K*3haR_`V`*Ly6&s zV{TY8=IuNHVP`+<1z~O#?DhH>h~EA8Hys4oX%rdSMmz!iFj$#ih!-QQ&ohSO;K~!i z@V3Z*-cz+4Aj`b4z3BCyxe)0zfq5f|9+a`d@e6^vuM6+A1a90D9I7FZPu^hL2S^|2 z!SF-3pGV^Vb1dg+u(CT{a3O?)}BQU$H|p;mKTgQ=&;|Hn9Mbi&MoYK}Y*sIAq$3p^kc z-2k8!4#0yy5q6x~-yY*{VNvT8-?)~~`r!><@7EJAU-@nQk8?KgWK(-!A-ZA7{9k%j zeXdeOz54a+;k&d?#!nX}h-htO*l?(?K>L-{zgHh_Yp-uQ zQLrP%r!rka<$Cgu&wZP@EY>_0?l`>rP*7Q&qpL{x?fDv`qhz!hB^#{aT0eS{-Do8? z5EbR@Za~uA<$wPM!roCkM|OIr=gDZJX>DYuHRSlG=P6dm_Kvbgb{eGTPQ=l) YHnP(ia{SYCH43u5qwJBL2LIm#0D7)o_W%F@ literal 109024 zcmeFZg;QHy8$H?azV#-UYrTVdE-O)_XY59p$M~K}fmg%#R|W<$Dpp(2YPSr_ zpe|naP(EZ}w@Z#^m!GC%O7^yr<7LURfF}iUTM`as@Ylb0?Rz7~)e@f#P>AY+^7c5t zJMdgBWqR#B--@1bbqCQ)y!rQYUG7Z;_1vgd>MPWwe?OTa-Z=l|Db#z=DHK|*pz=h;y3zYQCSF!A5- z3V*3CJTUl@EwDQ0-v=iDH6#Z5?~{R=^wk6v0C*r2*HQg1Gb$n3Z~kBYWBKkHL}tiy zOgAKmhw0xoe@TpamOF_OOiaTL|0 zNP?<5A{Z_pJ=af1ARN8c^ELave2Anfe`Q&eKYjLh_vk4g&MQSi0#Cp(Px`XM-l)Yp z-CD*hH{IHQ3gA1zpWy9e@N;3!mHC9S1%!y4|7r`m&Let5iJ%Qom=Lw%Ydxt0X#0!N zc-?H0_|E*jTwXOlRBd&c>MyvVeXn)`NE(zKmdO=(T&{a>b}d*kPA=$`umMSFhbB@( zQLhx_5-CpE>{a8Hq_?R8?3Lu6G8P{DQp~&SityyHHW0Da=cDO-yHqKl(M7J=d&s1S zyIkOL(rEk+Rxxi?Z?+_en>3YhOx|jMEz25I(Y8EwHO+;`V zrIEZrbUyzvyS%@EK(U5RarQcadXmzCBC=2S!RvUQD+lmvR;2kciv5KGlY=u+bbuo8 zRPmfj98td4g+dUELhSYLmdjsMFGY=IYG5^@mo6cj5;xY-yWj$^r6+{oga)W@c)z-b zL+O*4t5K18!WWSM2PUPXNI5FGIEL507{9S)UQ>yW$@LY1>zTiQpvo89LPdqWod^{b z2%(~o{NSr)ZSck$8!VJN_1c;)v|9vO6)fjLu@fS@he8R(rRc|{=*B(n$32FsAM2zX zW+1w^&I{7+CHj{SuGLc%{;fpUx-wHKl&(numL8`W30vKA)e%S5NxK}V6ZheXhZ%jQ z;*TSKUiNeO9f$w+UCU0!#2ZDgwC&~n{=j_3abbHg>!^XaRKBIQ?R_19g8lKy>jWD% zkLQfeLx6f?8NR^cYl;=j>riD-vEVQQC!(TcbXTtbcPYWE<-;d z2fJfXEMZeDApLH2FO)+y5^TX5N>rTnvCRc{1`Rtfltr|GQ+~JtpxDtgQ2GdW1Sms< z{1SE!j;V+I1@5P|!8JT_5}x1hz9t5LO{CTah_noUB?KP&4IC>SnkXh5trkC&(3@z; zO;ib`y`2b0*dKW9zWGjQCg5!yrs#g3DIYh=gtR6foKH6{ zOdpi3VoW!#u9W{&1#P{qr;Uxx=$DfikL*t7=q|w0?0h9RI-IgK%Zw^0IT{$U$7Zs^ z9~NYoN|_RyT4ZE3l5}r65Q6acO|j1=RD1p0lahzt@jT}p0u{pJGs^aTLGPyEUvV%J zD6;x-_acD>Ba)X;VUQiW&=j7bZtztP(1z>xf7H=QUOZIGhbFA!?0(xZmDHrNn%yz?Re68fKy0q9VkJTOAujbf z@BAfi#)VcX7s0LK>YalzD1mNvZJLeS*+di7N_*SP(Gr)cA~#mFgEG(lJ56q|%_k95 z!T>}Np>&^OG&qHwwPE?&sqo#KNU!ze$e4@!kdGp*U+_9R-x00_zC%#s7#qOHw%Wh# zruTpP=wY9x@bZw_rC6Q_b)Mf?F^Py$Tshg zbCzOS zFo?;LVW!qk;D;AOZq7MM8mVFMu~ZO`3zi&blVI_FkOrK9Ab49Qyy?+UX4Y25U|uRp z#d8v!p_d*f=%JTk!bR#THVDu=h%+MiOYiu*I^(B#IBt{EE_Hp5d3@@pe!}oE^pNe{B7wEAB_J zxEl%CX%m$64p5cPXS{RB;4$VMz#JHrh);b@Eq+}x1YiBNNFdmEppp_m;Ut!d;uEpe zT&a1MDAocmO~$4C8^u|f0Afg=I_)>O`m|Nm>b3dgcG`_?wHACfP7zE!LKRLuLK;my2LC>GYc%9=Yl#|o*N6T>hmA( zj4RnF;kWuJ*N+*EE}kcf=A=Shx*5`kBgkJ_vixVVGP!~)0&!Nbm*n839YHKGr))w_ zvSj<4;e95{O@)A6Vg)fz3k#;(EWLyfk)@qdt*a5ukp2~5H6^s-)*skRcrdF!Qd0Xa z@~a?Lg+VM}C9OW7#P?u4BHG@pICGr079xsK0G~ zOG|@U6faxaLkj~0sCSJo2euN`di}}jMi}Mz1!Y_$DLDRWU|o*KvH$5-#@>a&yg`&| zDI33Tlr*s_L7-`QH?AK`PQ+8dKizfd(SXVvp7e!~n*}s$9fuse9Riv2j6UKDT&saH zA&fWzli#fuKw^?zq(HGQ<=mFfT)){4PrAL%61&w-yU4{ecrnfv@y~<%FumS13vAVP z2vQjsUCeJD{#-tc3IFJ1h+4T7;S!SHLV*C^4akBNxu+*@3;?KvN3`ljuMSDW=tC9J z$ke_o^<8Tv|8|L!)iPjVT|@`me4^5BEG}vnMYnXYvKyUjX{CQF$oOVQ;LEU#oUUZayylUFQX+MI?SZ16 z?Q(>EdFt6w2X=+YM^uR*2L|S)jL>?Oo`ef&E|hOq;ZFw-fy_>$QkJnTgKJaQf~I-o zRe})5%s44IlG2ZilC~NO8`s7ZfQAQ5A4vumDI>3p*S*h6ctGDYAWM8TwfL+bi9j2+ zKqKZjd&XD(-GqU}vX!U=UY31*P?&?t#=fU)(J*ebqZhsBPukig(jA+XF=lsRI{&O^ z%5Xf!<5P@JMEd08N8+#g%G);bYE6H64$x zv1%bB=wV3L-!E^CbNI2ubKKZgGkisxs}u&tV5svjiufuOn)#gsKvj|88_H8=wT9C( zR|N{w=g-d=BWHekudY1Jh&k-sROY8YbD{E~sU$8nr<$w~ZxATf}~lj<2N0#JipTQnOl(b2vpj zb{+r^6NanGp?C^QOK_sa$`#6v>~exe*oJQM_>#WGlI%#BG_D@nAWPl0|!5g9tl*7JhHYZ^_O3Iq=7X%35^jb5rTU8g z*NR!g28DsB<=qsDH+up}W2Hkm8Vi~a%udrPh}AjhyyTZ$Fv{aWa6KZZt(!;K%-4HZ zfoVPILDSmcmJL#Q@d_#nIO$(*`>5;|_Fd|-i9=JpiRLYgbz0dBc?)^#(|RA~+SUqN zrTZ<=L=qHCm{L;74WZ?#Vj;Y;jh!h*fCBfNeJhWt#V_)2b=tN1iTn+dGg32BQ z(zjjesEJcN?st!u>O75^^9%)0_ZQx11r3cv5Fx!c*>ctQRaHJh)VhGCGQJFsouQxT z$q8Q!1*qF{hv$!wB~(=d?Y$TvBs9`tKaWjI8)thoR+#RdKEk|emEz8%?eB8v6$**~P+I_!Rsj)^<3TJ%QHaFe0!J76RZfFNPzyp2 z!UzRzb>jiK(RY_0DR}#8h$FB2S7m7-GU9q66~xdEo@d<V1}A!MxAOiIIi6&agyljx!bWxT)%A2{Px7p|>aCNfsT++#uOCN3hT6W?31Le+vxL}6VswhT5d?DE72^Sga~1a8`^;KI$ySiu)q=7Z^ zmi8WRqCn9HQ8IOGZ<;vZ)!0P;@uKbyj)gR1g%a~<3-yDv5=JA)Dj;mI`nMP_r1(?u zgWr@-o3ar9_lwr;iE=VAGlLrSK-SdXu07d$fjxBbqt1Mf|I7p$yjX*3QXW}kySXo3=|q2nRD!4_omGYm zdQM@>b<(mf6IFv1)<^IhU=c?iCWX55A?(AGyaZ?_DH#JrQ}qTHcx17;|5rK~10PlXeN!CA8hkmaPvL%u<9iaEpA z1Y)f4-MtgRRax6?6-&T_m4zxFl_nZyTw$8$}lSCLLw(M@?O}OXQ6h0!OE*FhgRkn zakQWL*WEJ=V{2nA3scarlEOkD+k(22Pki1w$|SMvqhKnSyK8Y=^X{0UdKa!#{PIyM z)bEp-LRlqqpERxwptw%B?t^(#q`)+AJ$E_D2a*p6A5@Y3p9LZd2Jfm^ATvK)ulDe+ zVstvejbKIDavp;I@6hjNRkURmRy3K6#-p5lv|X=_w&%#Q@F2q#%?e4SXgdbEDsJ=I zHxW`=KSy-{H|t45Z_hC$q;H!&N^Hk&-4v}gJtX{KmFC>!`xZI^Xv?M$+w7RjG?Dyh zB7tE8aGrQ@$68tvUTc5`qt;IbNWDLzRtnzA+sR-m3IKklcc39zh-BZTIv)RwW#n^N zz_<54MW-`w46O*J$Az(?z(S3r@IA@xm6H{1|6LeKn6hsED5_g*$(y1Usk~(52YrZS z#7R_6O38DTwb@kexCDpm@C#O)*?!qmj#l#40$r_VAWois2J*H2sb;96s%!wQubQGD zL%%=}QFV?VV3nR3K_i~)K0#dMIv`43MojLy4uvE5M z`NxB?n%I{=aN@Hn@2cvA)DE69krG=I+5M1B3n@0&Gecv|`~}xNnN9YZ%~>7FwpROk z$3N&JUkM{GGWglzu`a4emefPsKZRLLn^T$CI%OYBU!E@70%tmycEDe~l z#lvU;_ITL)>n}W65>O8cy>Lz2hm$`WG1CqI>-_YKxRFdTRl`l5j z>o3P2F=*NisjgCgMgHDHctI;=+VZW1#=&@FyA~oSuivS{2vG}520;1iwTGjTdx&C4 z)OBRPQhAWEq-8j{5L_qWB^!N?T>m{6-U902NOo=9N z3Qg~0vj=iaP_@@*m(b-NSS#Md#g+(C*HSQ-ubt!GYOfK8KqXM zQ@oICj6iNTy-Yd4gYo`V^BBsz$nN!|9Xh6ZP&>#?`qn6-N&%|DNPKPu@Q~t$h#)0I zJ`(2HcZFf)W3V1=!rEd$Sd9c8w-x~2$ShKzAOu)hOeZEYPK^8Qq`bmLfdTqeFuQ2v z7!npml;KMPS=AA}GEc*MP6=Nui+<+MmMiH{`afO(h8p$@OU%eh$H55Lb|=m78N0Yw zvL>vGwBkVDSqNVt2)WfZLgl8lQSH)Sm32$~aDat|{$|skC;j=C1~q)HCFt9a4tKee0TOaxTv8{?0@eQx>RXaqK1ln7nL8cEgOEB7w? z{7Rw;kWjo5_N%Mnc6qtwLXD*F#vUw~p zL~eE~mlvRv-_b1pBH|Y{G_>y?E@egX4XcL0G!1HLpk+N@!ox3vL-}PYMZPbZ7uMmP zmy0r_<(h=XAb5d?bU z?~XmJR58)DNO{L_+y$j)tlL&7F&~b%oz?=HZv!Cg zmVZ|-EdaT!5PCcHztbu6k4J@id6EDRVY&&22CIuy^GSZUA)(t2>9DuH&lesDi6+uJ zB0qIoc-FU|K4@VCz}0-Vj!eqkV}t1|#_~2UT8QmzI=GF0G(IR#A)E4#xCcpbOSAG@Wl>(FW@06G1t5V?!nFmF>4$;VSrx|`Ja%%{j~Q?JMLvCt z64C< z^z0HARdIou#|jw+>2Gm?(21>VtB>>6H$Fk)Y9u0)=s6RlrFl==k21c)R?6xjhqXjN zZiI#G2B*1@A>7i4dxd0oEw>@uX*pkcImy0c6dEPx-vJ1YDOv?G;Y6HI4jc1p^k$!G zq^&T&S)nrfDCg1De=1guWTT)Ju7oy$r+Q?lQupBW&zSB~@ie`(fuYfYeE&8Uyy!$- zMh~(NwJ30KQy@}ENwL=l#7~C|F&^DrPLtC6{tXXi7^`$h-cxL#2N7wedB>1(Fv=Px}`cQenUcPR$uRknI?uuT9FppSnnuL!LI{>pcJmR%zr75F%162Dllb^hCkX`S0xnbHQ^FbH7go{tKFh>V z)`mkEmr55ho7!hM%Q{08n|oR59XL2}A>nD6;bvAU9zyM|im3d&ePd*T~PG>p!G1H`r$8jy}G;EUGR4IzE#M z4pCGZMwcMCe-hYyxhDG7A@hD>RUu8~?j+7=p?K}h|Djj*u zPNk3rw>Bbzd1oe52O$yq`p4|$d%0XwkL~Qq^XV547Ukk{XslO5r#Y5@Tyn`BkTNZo znJB3St%Z!Ljie>a4NYfU{j!%Z{>1Tx!l$}gvP4)Qtv#h=OlnHWC(pvLoW?2zR#ZIL zEi6kLe!CPpb1quruK;iz7z&)~`DBqC^)YvFo7AlA@bXKhm4^lg7Xy2nGA;wDd`j|m zuB>{!dSgy~#GT$vekB>;GLSaOf@O*2?#KaCqh&|TE*HUw)n=EcZ^DctKfLM1$a4@9 zeG|oRmmdaQxcn#6&K`+XhnB|{=a)h~xKJw==)gP>nXx>Y&>_utM#JhLEjdY#*}aX= zl;i&S!9m0rVMcH^KOHvkt1~+!CgiYKb^YNO>}>Sshyn}QZ{^pudz|z zP+XCqPQ$7nGqM2>JRPnQ$AcAHnDToX=^_q=l0&&n*)iG5>ty`hqwR-FD%)}ykVmC{ zIE)7vd{Yo`s{8cuykxhmKecw^rlb94z4A&!N#eo(+PYXQUvqn{yTyDx9{~wuI8pwm zy3M6J;y#y6lA(uL+mbTcUA_0&-giF{h0#W%OrDq=TgU7ZOfzNfN1Y(7;CFvla?ovUxZqyhgrIMpzHyuTo;bi0~thdbg4CylK>)B`cT4aVq9CL{P$2($8 zf5Ph)7|qc_qfhF9e-2DpNoPrW9wgA%H?(dHR$L0&GJVCydjPZu-XBa+KxgGBr;lYN z*Z817e8(4AnhC9AsAwFSavj1m=*$Fif1F?~7IWs>#3pqMoIOYema=R2GH7+MlnXL& ztfda_1_g>iV>7v|EkhL|DB%K7YY9oDZ+r+VWuc3rZr46gKO*`I-UIEWbSx$=u(O^~ zU$nG1ibbM$i?-&%!bETCcR}Q=UZ(t|7;Vj1X%XE~lNIVrp)5MrO zlHTk$9$&o^ZF%L%1YFtp<1y-ML_;ozSaJjC$3b`XB!jp6FZ_{Ht!A(-*Dm>Tgl3lt zJ=qo5Q?80AYg6K-UbweR_9AiFdnzZ`UdqiNUlcRGO9}e$QP$_#KX3!Xj+AO#DBlFnRN zC3hQjhTct)-tCbQwvA%r?}+J~-!Qm1&VU^3I`A6B)Y0^U7H#AtfOzGmPYE)z1xUazf{jPm%&oB1s4=IXS?b<b-QyQLX=ehNXtn%6UHU#EIigSvXm=IJGJMp<0 z%sWf=%R8nkUn*hvEc=rRxjgcLkTv8-*H8%yE<MAjcQqyT^$KLx59nN^$eX_Z*a416|%gh~TeRBpf^A*TL zVI^&b9P(!7ig5U|o0hex$Ml>v>8Z?ZPCZc+T8%B8V5oD;-|E!&vI{cgQsZjZ=g#sC zPT}cYim+u5FQx~x-{8oWpD;9B^_$wchS=wpvrz%NU8&V-k&SpU}TWT+IZA)vr zHq%nZ%j@e$LJm9c-fo|;!>{U#NpqKvFK>(QhuClcnmTP4 z>(v*susF)=o8;};LM${C*e4qvON`D#hRE`CXDAX_Zs|v=hI>uj;U=2viI!iTWS7%V znEi0LVWc&<6$-6eBMdRZG_SMPV)qpMr)?4LXpJaTLItu||BVq)%?tv$)e2%5shHP| z6GpsLGpjKsx0e>ND0gXF{cVuDxA<~!Op<%BO{wAKNlBh;SXZI_4Nr@Tlzz#c&x@qZ z5Eow7G))&J@H0%FXM36>hmk|7E==)#O2#oec5|$U8MNJ^ZT_7W%)l^*MDor*tTV~cD0R%cu z-4truj|^PiQdE8!zL2k|P|?$!O$lb;IM7|li;p?mDSVEn0CpsQFIMug+bw_753l8r zPVtdIF9Cju?BAM7igx2gW}1l${2i!R=ZFfeq-kso+yK*QHfR;>pdH2qN7hso)QXS5 zrn0=DyLPCg6=2X~6+i%_&Aa^}qY=)m06W3z^<+?Y-yLsWtefvr97kg$l{fls=1xgx z&DnPHOY!qby{wtFCV{7r`%(*|x-weO^*rG>!Yc*y@1I&&-x%HE zP}Itrngq~eeU#Zq;?P#$NH!9t__eQ388cS;0Wy1n1y!{U+hiIJ7@gct%Y0hKReTfE zzVuV*b&qvA9oiC^6sS=sTeXZ+g!!h5OuAOB@3W@BZOpanZ~JiWA_F|nkDpj1o92kh zn*(&r34|Oj<`-~69j$x7mi4)#ff(0Kuh)Kwgo5k0OW1i$&?LFacls(-H;5Cl9T~G9QNycIl#K~vvThh`wOK%;^;~k8O0CX31`+z!u}i`q z6B+&ko38Ee4a9L_+1Hf;J9ci9^ZFr=Y4BKC6`jVzBc~?Qf5%M|VryeZq}{kvP$;Sv zjjQ#xyhE2*-|2(Y&VZE2^P&tdzLA~*qwVU)NUY`~bLClULX9qGtAZ=*R)(3%xMjs$!7(RN>aM3Ms6YvmTv7IM+R z1z2TdxyO&KS}0}NHqcs=UMP$9`kdG6V>7(&w(?$2fot9}@fW;VETmIr8p}pSy+}LR z$|@;3J4u2zxH-`~a-Adrs`<9q|}|7n5?ER^jzGA#&)tgd52%U*z}W z+T2mp`DGE@>=m1R*J86o9!XSIT$`U+(vurll6Mu(?u#LynFYJp{?$?eciw(;YfW~~ zA6s=VlQQ-Ol;ItAg)>hv`&NIOhs%kt)AJHb2XF87%t=nv&Nr7~KDW`bT2RifctS**#QUBdH=tyJUXoSmx- zNjN-O0dns~UI%&Fzja$700y%|4*7NpnyYYNH7cK0?4~ChJsItfN{a#m#D?ZnyJIj1 zA>KSjs1-X7KFoF>dWO;rfz1~1E-RMptcq;^cTGTxDWff)vgA&L6tIc7u$|%UFu$@! zrXH=XdlkLtQNBED=E``AmbB(E)_@>$!*WSMJp+2vQCY!rIE(Icynm&CDTzl7agmi# zDG`vIshnC9jwk&?p145nz7Hxb+JZrE%?*$rse}S`^Gl5N&-(SAubWnogktmQh?Xd5 z^%*ydU^d=Rs-i;@2OBg^4O=HSkv4m-ea8gpGGU^n?5*0J$!PDj+>om8Q?;X_uMM(! zYAv;p|Fm#no$>W=N*jD^(_t#7v4pq(^a0u(tmRMiH~BKvkdcblL!<}Gx;Hr%5u&Xe zcRoCy+%Zc-zsn%TL#dv;kL}449jZy%9hAC*v=}$lnw6iw)1VruCiAA4;w7w91Ke9f zX6mKGRL$u<7w{$z^5FgSh5HFmf>(}>xAl!o`-$R!xC7Vxag_FyqncaT&j`g7FC>i+N z#)#Af$qif6fo@4#<5?_uenj2~xI=s{;UYZ~X8a7dQ3xM1@@oS0dS7Hz)d9Jd`?aoj&2?W&R~!k}iUoLl`6vHBFDuju(HlOtGzj4QfiDnN2$1X4V*%pZgrbzs zEZIMOb-tb+qyBQN{IO+BawP)ZWG^nfj91W|O^dEq>1STkjUgnz1Ui&2dLVuAw|t-G z-%2vvsTESPHYT@n!~^)FkNb~B<;p6Uwe!8~jI4%&q%(sKGi1cODt2_PdB^;q0f|KX z#*Ooo6NmeT2pCjGf=P}BSjh^$jJK(1PPeFoTi0l>w3FQjJ1?C^3cxADwFMcH46<#1 zcXGl^(x4kRaOH=gBrW>bz`N!mlvBDi{Zu3 zb$adoVoYn)=)C~r#CoDAm_Ngk^Ky&BbNQe~6*0(9mJyg5Y{G#JmE&`gbQ|=?3#ON< z>ZPi#?-g@Z>oLh<+#IhKd0x#6&4(%X1@T&Lq&M3?&*sHLLc z^l0l;;z?6~EHiBoCZvW%O55sFx<`P2n#QFlYGB)epWfHtvoM7(Fl<#xb5CnS!M&8B ze?3apgX@rcFc3_J$P@B)20kAhBKpr$B;KG8n2i=6UG!|5-kUp6@F|_J;`+UyR5UC! zUtKKzhZ5$(9^Awd)T_6S&6ZoYiQ&NUe9r>-hbgwEa^rCI%-y$`+gy}^(F`R)v88E) zzrRzVn}@yL`h+kbkHB&j0(e>`m}#f=NSab_b)ijj{4Mh^fCp?;m0WnFooU)L-SMi& z5qBVXPwCkG<5#zbDe|spO2p7vT4AXrw|3>Qm;yjA6S!IsNIW3;ITwA;FEjiS6JNc7 zhT3vmtv{pCV8)u0^~Cm@xK>O2ZsXQk}zrCw%x^1y|e!WK`^DtFI$rB zx8J8Oma^b~Eb{uSlBL_qI)(L9;5=n%eJ=e^<(N{xmL)H0u>}WQH(_mt^5!ZU-MTcI zj5Cp}*p#1`%Z?LU7;KK)iUf<=8%AV*W6&0tJCf$R%vBo7aft&kb|^Z zq3jdkxf;xSEJh@lUat7wY zN;a?+fr&`{*+jRQjw# zh8w1+y}-7h`&gwBrrL@>V2!z)=Zlc$UxlOfVYjH10iEz9bw)W_D3sNNP;u`0qugIb zF*s!eEyF3J!3xX$#*|DSDe`HueRjF|MauvR9LLKJNlsiD&HOY)+E!5KrzsM;W+F{5 zQ4qE;5ZGv|drNl??sM&g($*Zn=dK7lMVQa_E;xT$Xy5o{X--TMAPuG*Ix9%Ji;k$( zm)*|O(YRWcja<*ky~hMgn-hJ$BQk731fewRGC*e7eG>roE(04U(3ta*%@3bPtTFo5 zEY?d}i!SyaQS99YDrmPvRZIm8;i9)$822oQ>#cZYTyKCmCL%d<;RpVtfbYRm$@#^h3JJv`6?+v)LmoMtyq!w>E@shfekIgVai-tG#y6@z&cSHENSj(u|a-5`x8+X~lc%TV%56By#)9XW5sb#7*r2lp7d6I~u*l0^`d$qd>t-jOVvQV-(=``*M~#s{2^Gbz+n% zM}M~VCHbxRicRa;D3DG$flZ*oc3!1XU;c07uOIyFjNi+QP2n(Pynk3G{Bck{&Z-Cc zc%}L+NSL^(Mv1Z*qjEl}2<|?@lx>@x@w()^_$3T;tGTZXR;uQA?sq`0Ck`*T4JZ9F z&q)Y6Vwi?9bvEr5`NGx7EOCKV080h`z5<&}vo183tY?;SoQ>O{;2{g|CF`aHV#^{W zYbVC4fAeJEk!Zp4v>o6OZ5&xC*I`oN8-FGUkyWb>Tz%ANN@(*aff(qR@wL_v`EJnxGijfk+<#--*4@y6hWO~@Ax8Fe>-(#2HHmiO3^lhNk; z>Z#d=6LlM!_R9c5U{}jtf%}gFi%+Y}2;v4*VTp&(B0mrA<|X`z1I1sea+MWz*Ta{b zVJ5cgSiN6GUp${7+~`5hYQJj8E-yM_qUV2n#1c26O7J4voZN})b+pDP#)mt|P_s)M zLBg`5>~kCP-Jaz(I|<6iC0kSCDDxbB;pLSLR6AsGY^I?oIL&wj0L!ADW+7!n6-x73)_Dnr&-o!+b-un*R z+;{DmdXHy@bqVp*mW#YCpZjugC$GR9sFxq?bpkibK)++bRK3vngi~nr?0xgEIi*SK z%OXw$dC7eYvnm>PlAa1hpK1j7)Ov`#+A5M^JMy0*=}?2b_KMbThhf%_fcqP7b9F?q zip0KzUDSJrE5k~I$gJ7|7D8s`gF4n5#;+_8h&vM~QE< zCaUa%{m60C6-}XP3zphjw?NK3!+(qf$iCR#o#TE1UE^wk>7#ZTny1uKUb-Q+v&_%% zrq0##RDLupCv%!gFd$})4m&eQa*!InYaDk0Z^vqWu=6VIg^jk)~kUhna_ zX5;&#x(L3f_fMCwrpNZg?^g>JjxIV+HUlPu5+FusY@fxMwOI%BRUq((L~#~VAUjHr zCZ0IfT|6~Z)a3A`5Ai0W59iO50Q_CP6}^>QJ_+SlVzK#&jTbCv_8yi>ws-X>abvO!;cO|B-zneRr9^mtp<-)Q2Ve zq`n1Fi+diEBv8+pFfys`$2X_h>bwC0q9@9q9r?J^6M|hp!E9oFn6#;9>Qe`$?+~y> z)8Yr_lxjC&7~kL)#mWv{7^uQ9JCV@jeb1;Qa-0FCOmSrQeO&NSgh@h3$py1tGosd! zt9q9@TGd{ms{>bBmu}eG&dhjOlfmAU8kK<*CuKQUtQ+9Umdh6I&u(TRALg?%b1}fu zZca11z(-;Z@;5gsjfg17gF8(`tFZnDD?fomSkj0$lQh=wtX07- zY*6nmb z?TGUm|HliU{@_#+^}ACA^WvxQjqiv-YTRLyzRW=eo6Fpg$h6B+iu<3qy0+>J`?+$s z|87iJ4{!s@$ro1bbDH{&PUoj=-xg7WlVRdnNWUk@GSsB$>Oit!r_?G6_Z}XsfySxv)F0IPgLLRO^2egRb-0_fnLejS zW$h|ISMX8(RZspJBw$`wwP4V4_>~7)*n#CiO|1J3ihG6*zxaGa^m+Rr=n3*Q{H?O>iV_Zc!XA`al>r@M9R0e)-Gi zl}5h{V-I%E`4nJBm7_rz>*v)IlGu~)h3Dx|*ILfL?s+AQ?PZ(wHN~#4)Hc6_AG5@Ba)Ei-p%7< z^CEujwCL-z8R$mK4(`2*oT~dE`POno@oMx!4$q0ecS$;c z%(9%b=*7L9#%go_{PoBs>vl20>DwGhz#z_)qd|t;?QiyUU)rzea)9XLBy;(QN5#}7 zS_S%EjkL=R`MyL*q3;hdGpv_RqK$f2}$(y0yYIz!7=fwb}q}hKVnh+j(!xL za6>)2W_~M6V|Yp0k}E}Dfl{Eqvu?c!&)l*KE(5-Sfb>k#UZ@H;s&o`y)}`Q}bzykx zZvd{Abn0IwBH$``LzEmAKmas;SJovfxpO7EC73pr4tMZ|%F*kZ?QNIb%{g%tqXk%i zWp2cLXahf~Nq&n#E?QHC`ULGIi#8o7b+>qEO&?yj_;iDSsgaY>q4XKv%a9N4C% z=}SB?4(+iyAf;{61&CTkd3eAM68#WGp$yux%7jve3i=!>F@KWa_mClD)j8?s>W|Jh zDsx3&wDGEcz`C_s$bb7V;}MP%7FL%a!m>-vWc`x!GS7Alzr9z}ragjN(~|`R^-(MA z9Dh;>DizjUK1hK?wf^|>4H+{_E%)I5a7YPO8X#+%g*hNslQ^ue<``U@r@MVC)^Fyc zBy=MDym6F?Vsz<4;zb_COcDJsN{W*0ieKHn^wp&!@a0F!xcMycG~lNvne7}A_);sN zvie>X%XJ89Znzr%Lt}e^6JcN!x%xgNcp_wJ#!st?L)J%$O1n}`XG!-(5qDQy2-iF& zqWsZdKm|E&{D3Bwds&@3D{h?phv;8dc3(cDe!0E7GVpP$Kf#R5dMP48df>0GzAKyv zbmkb_q5@x0prBP-#pEn6?R^z1yNhv3|eV&RjOFW z>yZK(PB}qvm->5bX$62n&i=uHx~rmNY(`3#+Mm6SQxc&NMQ)GgO4VNj{TnEqQ{5=N zUpa1wo-1gns1ELFh>{eY^Rv#H2N5 z7zuLThYsAoO9V04M*}SCObsZVa{{k59XWAqNW81ht)8oB(9Zb7Do7vxn0PSfjdc)V zC-No*gcd}wCGca=8(Dt#*=Cr(pAdMS289{LYn-tVo$)Dgl>fwaFA1JM!e|$JF@A1f z)OLupp!Zlbf7d^3x!dJ1ntb1Ts60YabtJg6>L=JK%7oEX0f!#46qsEzALHgr8#7!T zCj<$ZpI?EJGyHR3lRkQVH(eL%?dFIG4ESdHSt~4ftp=mtFMe?TV*o)+4Hu_V20=!b zTu0gOa%^pe^^Q`3Mm6$?5H`$_PFQ!>ICbpZq4`CyFcx*CVox*l^5X2$T;ds1zD@rs zUFh?$9J#lH4OYro`==@|$^9MgtBo)Iy7^HK3CfkKWWlKEB)YCO!PFd-v5Cvk^HU_z z30l$KD-N!^ zMKhOL8lw7d$HNY+2yXjmDZzO>oiz=C?Ks9iPfEdf3YNq^1V@AJz*H@WJ?{qLcciqA z8t|oSdRwrsZu88xuoggpv8-BMUUJ7z>e4glpAUTD?Nh^yO-bm`;qyTZO+lT?Jm+hj zZ{gN{e1GFcPp%-o_9Oz6JjW%5cbqv0D#yB^9`ug^%XD)7h=YT8eby_NREIh)AlZ_j z$+NovwLt7YD~awOg?&5ycW$Azhknb~C+vaCc29oKX2d`|P7Xm!j=Phkz4#*6Trw~z z5XRBU?8k-wV2N9iFav5aO7tN_`aySV%e#Gcx@`cs9rd4SPfM)0wb5M=BV{vit-CL` zUk2R^GB|}?M$%cU$N9c!arZeLcz^5C{rdj^$Ury0ir4e8>^lVrn=wL*qB{*-agTvv z;RZ&88n{a2(TxV~OuP;celZ7Cua}^*tq6<1n~UU?V^l4sVZoopjll-49&6xp!3J&# zGhp1VUw2c?rI_WOg!=W9(fGz>tbC;aDa%IdLhm>0dRW6_F2QZ`np+H&AvQexYD{iO zLd9#-QQcaMs&!K^cU2y42)kTKsVl}9xGnxF+#vEuUUQv+OKvrAYvi?vm@^WKp2)?@ zmkY7@$wDOE9}Yvr)CdDthh47T~F7y%ulWs9kFv?IeMT(1mJNpK_T^EZT4RP4^rO8OR*1$*^IymtL{Cs67w%Fpa z$0brF5$}I_29mGS8D7mv*WtgG24k}$8Xv8hfaVF;ApLp+v6mP~xzfP2;RXtBG7xj6 z-qvY%8u;E)$u>&BE@v`6Sd)dv^M+&0l?K9ZH1NWld+_I`D16{bz;!$h^zIlu-s&C0>djJ~STx(~yd97LG*Zbq3;YFz}tJ8hAMID!jF9Jl<=FQo|k_Q->=NIOQ$_YZr~fU#nuV-I;rK({L~L_ppwph>=>+?Bnm^6$Qw5b4 z6Q_F*Z--oGP`x#K1lG!}HYRA!^ppy>?mZ$ttX2dm^rct;i{9!py1^;6Ai@l){?MF!9|e_P1(nDtZ_~prOyT1ZQkHnqOZgRCH~B@}+tk$I zo?pmCQu$`o$a{*EvYM7+R%hUobSCx3BS=nq+;A}nGO*B@iR9V$DA6SXDQe1HSoWPftX!XihhNM^Zha(1 zr{9RYMe&$fn}&t%96aDGK+b|F+&1QFl}!~|G73v%$lq(FSo~x@B1-O6QtRfZtC7DV z33KgPm{pgF#L`eDsjeM;6(%l7z;s6%mONR2%9o~~ur3bQgj@?_)TM}=7J`EEG|aZ; zVop;Y;!4Ki(vb$P9%CS5X&9C~U5NU1Gg0>BWWOQ5B?R*ti!h}j3vmlV zaDB*SFs{`_>hDOt6Z5~Ai;7oe*2H`@v`;dqHbe&WPyGnAWeLGGmxmQ01ef zIRsPfLr+ji{IG`eS+dGnTCqizLs3wv&WJr!WzKwU^1Zm%FjRYfQ5ybO9ixWO?RH1w zpYAlcbMH~b(KBx|@XVZWl}RI#=!3^{@$kL6*3z`GH{yGXV^j^MUpM6;+muT8XGG%h z1*v%M;fZ*5(L|I-T#hFuU5h^~8;|V`(fC_a212eeF#IwD%VMv^n-2tGt33(3nqt(j zwm-P@5q7PCJ1;d*7I8J+y6+3B;Q7BC30ReKH5LY4g65n%@$v(SXkR=5-(8rDN2W(2 z{7M6(4FjvQN8pcD@z~->#`~+&@p#VX@rBC`gx_r7*?ITi|JkDOp({pZjP10?quZH; zZd(*O9SQhwO%7h18-lFcFT*gAO`kDPmpmMAJ`juFRVL!S$8zxDqpA3?DHxru5Og?# zREF2nb3+h&gU+71FCz@kERkW5vH1RyApBQVB>vW%g(phKAoNB9t}#2%YY6=x_%GxS-Mk$&yVXnq)Exs|hnLu=Ef;;in~4 z2=+Ka)DS+;BBmP56DoS^dl{B-h(XMN#Q zQ1wIRl)EUX{3@tq2!Vjjk1T&uS4j?AmE=vzgod3gcmx$^M&$g9*)z|hPQ znBz*q!mp-c$#aER{=zh5t%$}I_v)dAwmu=k^aI6N z#_&%ksNyiME(bm6zzG~05=GK28D+_BYbjS@M~@!$T#OA#LFEjG)E*M)@w1wAq+VrU zxM5)Bq%rtSRV=nP1!4EIZ3Ln^_v85>tZ@ZGQNQUbg2Bwbr zEH=#_k3Uw#;U|^Zh`!Xo=M4i77N+3UvUL1MRU&@Vkc$5|7C*apL>G-j|1XJ(P+qEe43jCjkqqwTU@$>a!DnHoFlBk`^y2Va{UinLn|Rf9_y#olOO<;3B5X8w5m)|HNT zoT+N)TbDBgTUN*6<@8T-=&6LCVpNrmqy~Zl~MS+EdlKd$E&QSyA1>7ao3`C zQ4oH#96dq>fgiNebdWKW7a7 z-js$vHD+Q($}lyvVfF|Ej~0%_PnJgE50w%4Q%y8}+b{`F%!x(X&E_$XG7P_5nSgCg ziK?#A*>q678B}M^oH}J4l3nA9gUX=lBdGQRCv?ZrE2z93$v%S0bJBWFW53)uO-ksA)RSR)UXdh2C%rYMLec4xCX*wWv#TmWr8A@CyplS1+uSk)P!Hv^>X*rT zO4gOcN@*fOKixK8IM1h`I#X~NyvHc0{3WP7L*7imVAhf9D|ReNC9^m66;&b!L{jN2 zD#=*UkDn~3w4gEzsGBoFc{&DX-NEq65j}jb@4k3s6eZQi4!`@PQpopt*5_!k_kGOw zwk4!aUiv;~Ah$gk8RoI9XB_)DK_$N}9QR2Z7`$LM*zY74e^w{+*utJHeOrQM9BPh?{0i>X-lVg?cyj#L?0x88mQX4Oo>;;(0;?8R&}woXRH^F@f6 zI!p~I93FZN=6*E|OV($h?t7Eb&^8_QFU~^QQ`7O#Go@Jk+;l8?dJg8VDMDnfo+0n% zNCOKVortpMr()rk@*%S5vRe&Am)wd)k4!|v^E2Rh>3+;>EWoXiSL2eq3?wcXhecn{ zLiI~USn#DJj7ZV-qariMV0uL&7C$lxWna%m#WxDEWOX6prrfPW)bI&cVcw(JsCs@r zN-NVL!}zWkWgvC-7%cwQ1T24L0;*dJu>9pbEcj9;#^;YzV(a$g;dt6^FU?zJkh(BZGa?5Ayq2 zHK%-qloeB~ReAcl=d4Kj;1BVWAtHO7Vc6k_#b2CRSTyc3C8&}S&6<-ybPL^ey`FWpOv)C(FX|c6l&%*`o1LQzYJVC*xPON%(2i1pKBh8$YYdLrYBo zrjENDV=gl=Wwe2}9*V*LXYV}VqBzq({?cqHhz0Bw>97mCz|z~YEFH0ciWTX-mt9zz znqqo0CNXxUqiL61l54s9UoN@yt|rFbVoNbGiNF8ndEXsCFPFOu$tgMgWHMW3XWn^d z=4GDm{GQ+Qkv;?m8bd*V%E6pLF`8jZiWBx#C~&scohviQw}-&kMV+fK2(I(Q34H*E zUXP~vV5NLCJ{kD_eQW413{!3wLR}M>dO<2 zUN~a##KHO?Y>1i2L6e^~!(H){@lvr14%NBibfW_MbisHyX$}C*2hi5pGti3 zexn)>#7~COlEKrG;lB7Oc(quDkE=cKNtFjqG-~k2szi8Cx4{U;u-MBAJy~8jSn7>W zYBeYfc7**fhJ+amk1TS=Yi0iUQ)v)l9EQM-F|78oLHkNCyiwxG&x^Co0r=Puf)*Pbjfe34`d1T zm88b%52pH6(CZEXd6EpYie6uPMW7*p5@~)F^e_e?0$TN@Fs$n{bmnH|ww~rl)kPq4Ln2ZPp&S@lkq1?- z8?rZ%!c)V|$aRk|LQYFO;&N3Wzp7E5X0UQMgPr?unAk9wj%Jt>Y=_nNMxk&=3<|d= zK(%r@U*BX$YpiIFM(NJ^C~S*C&MplyHfj;L%2@y`hap&Ump`(02B2tn7%I0$BkvY1 z=H~lBKHmXD-OVw~WhktjM!;qg&>tf8U@y94KV7Fwjw6(yPS;H{VZ8XNYT4B7~XpC_h zixD%1^Y5+PO^{gOkNmq9AY!?UL#we)3~_mKJGHdQOFKP(_Ny()Kv+=~U2V>|-)ezm8+BG=51BGX6E7(%=$K;5&Rlb@6U^6;*#I zMZx6Vci)Y_{q1jj9O+eI_K$T35ul>r=!}kn6+e7b7mf`JTzL8yRrGsg!7RL4>x;K_ z0a&jY3wslW@adL#Jk1ktmXooz0;ie+@Zp*$q|IbJ{VmSf7SCiUd38DhETj-pS~Ctl zyoNJmD@S3|N^ktGLX8jV!||zJ#bM2xjT*>D3WZdjd^CQW>x~2TfqebsLG?yMJlt#; ztQkY5Vi=ywC66jUoT?APdvy``ZIu@57yBXIcN(H6njvHiL*Ue5m}x1XmUi|K^kmXL zswURdI`t1J%r3TgIUFa(rroa{GZ;R^e*uO zFMbt(ipC$I_>mwLhb{F!Tp@R?LB;0;NeHlzLHY%qP+AEOq@RBNT(9%?=i9CTd2|g5 zcqFQyl8Tcc5~chJ2-v5zk{}Z|O(zwV5%5XgRYJKY(){Q+@O58P0a5}~LP2#CQ2oG_ zdGn)wJ#Z6HT~|OwK?cF1kbaOVg8PPW$kR_%CDQ2xc#={8r5k(k9lkbmz9gs<`5qNb;?WOluE2>2BBVb8yAk-gJUB}?4w>^Wn4N`!2?OcFI@+`X= zOiAy59zZ3$(1c1uRGGY5K^5}@9#oX#C*AP%J(=t`9^G&+DUfVvXl^;K)&Kw?07*na zRKV!bqkDr(Y9s}m|H~@)1IW8R1kisWEEpj%+VNpvE2S!%o86vZtkn?ynAIAtd%`f%AWH(b$4R0KS z$u!12noO)1EUX!5KHbk2EAG&uV0#kMH%22U%ZbCJu``Ea*;*~Kx5gr?U5&!M@yOZ| z59Jbjuptan-K??XHh&cC3Pag;Ei!Hk#7u8v1-{7)Y#M_ZO|}e{RtzTQ43j+=mgv1v zv?(6tkEdX6ZYYLL6u^m%XRwnGgSpX&-C_>I4DCoPToZzo4{A}mV=)%gg@Kf2rj`st zMl!CxGMgeQ{h3a);NDzjQ%zwylVMtzB^K5NqUw<)h+N^$p_QGR3FejhA@4CQirdsE z>k3C%YZUVDkB76ymZw$D44jB%YlBd+OO5i55R`TWag{B<_Kj)Z1>KRLiN@>eISxwW zmh^Y**9NGhaY9P%GZ+l8wzkG=uf2BFIM*BW4k|#U;3}lk4S_h+9DzSpM#68DP)Zdj zhvT`b2>hiv5gOxXc_H?ADo4c?HAiZ^IlOqUB@WB%8Ky7>0#scqWO%2@mBXd?b%7vn ztJp~lN;AeitYoGPOXis2*@6JPrw_v6MjyPlE{=OGQPsODl^vd0EyssdDjaVJz_G>v zytOtNuGRuJmHJuXsdPu|uTbD%T{w2G@`lztg~*tJZ7 z*UJO2zc~zd#Egg2CQ#_jLiT5h~ai&&*FKXR!zSaxp48AyNR1%!5m*Z5O@RvH@ zEXUz$CtjWK&!vI5f1wP)#>$4?7F6X?I8^V2vkjiOSmT9{b>UngMd_6*6eF=G#}9|9LU7O!hvJZ# zm|@DGokIRw3cOq%fTweP5MWHxKbT53LLWt^rg6AomAU;(n#~TD|HDzJ70h^#0_>nl;D)mGDdwzDXRI z)C+@df+D2cApm)tiWeAE{JoTJMpfu|${DXxH+W6D2MVePHc?;EMC%f!>B3)%drZ|4 zfRdIGN+_|sNS~D86)huvFV?|TQN7AEQ9)4xTYcM+Qv7ZLsvo;VZ+-{d1XR}%P>G64 zqOuYxnu<8=iQvHl4h;0cJ^$76o*E(9{-zqK-&Z?2YBeLRwA&Q`gR=?|<6-p8+Zn^b){GHn?Fy ztuK~TXmJUj;ahx#uP=XzD_5wx)!+bB^hct(xfzTxj2blxZ@u*vPy6FRC+))bz}J_* z0qqgpymDm~nXG>M9rxS%8t0Hw9fBl-46zL!DD9lfk5NgtdcX?CpLX1S9wY`=VbLvWbQ!mWuYZl8-4_h~TA+mgd6TPKFlRC_EeS7K#dDAIC*;2;|fQ!57hz$x5w zi9Dq8HYX#1Jh6r|jGHwKOPbZl-5H0>&Isf`5sR#?3GiLv!~xZ0M;olXO^bp}@yNS3 z5gxH)`R^t;GI%FXLSl&$i)(_BR;q@7@EkC6hH3I)SZ2`jbi>v6B*0ZOnVYB2P};y| z4uknb2CF#?)BP>rzjQKET0F7%ZZG8Qh(u*q3gWB0F_NkZPBcY8q#KgU0+FCoA-N$0 z3z{Rauqg^Djp10>=#K@BURZvYA1XE{A!3!NOla$BisZr|o?=+up2Xo)_0BjH+#Ltc z*lE1|(|pDu_wFc^YzgLos;o1J8>Dm9ZM%4Yk>3*mng|eG&vWQs0V*2b@^@=6f2}8y zb>5g?9EwXgh41hczQ6L#pc+GH9MS1?d>k1wW(?kV0Fzy8(6Pb|?^nujqE3d>4FpSk@j{jx9*UiW<@Tmrp+%~q)h_0EDqD^Z z^}cw!B^E9t7zj}5{Os`DGFKd}QSl)3ut9;hZ;gZ8O2D2H`7r!0+Y9?@{PB(N& ztvUcl4c<6S6|NeTIHUK%ah(@VH2C5~lfRf#3SgrrE>t`63V$EzBJjuBWYj17!qrlw z@>Tgy#;e6aIMkAa9jk+RB|P%0Dvfl)pK}#BQRa>>Yp7zDHxAW@;=%Y?a33zJ3EmoS zhrg9OPM1bp{7E`Rl9?{z7x2(Esh z)_Ym@Tk3kh{HOOPG-O=4(p#v3+S!|4eCZ@MuTWyo516E%tM>w>tM+*WNh%ux4mXBL zI!`g?RpKaRPgIH%?KMJ?I&U1Uk>hNWACA#A*`UCQMkNmGWuWw8sxo?-#!G@T^xl~2 zM`^awBz-nm=XAc)zRm$FY249?N z^21SsFOE0*;Y5QUj_Z{;Yw+b`KY{qu1|NK8Q1bDQQog@1$Z)RK1?P3HTtRxi(Ti`N z+937od4qsigSB6&-8WPG{yU@IO+aE0TM((462DeV5y*?w#j!M1X&{mw=TOZ?`EZlG?| zNg9G{YinU4LmRV>slR+w9L(L&Izt)Jr^()e?ieyCP9?Z!EI)vG53-%sr?a1E+$F%}aJ9 zBj?e0_@s#xKf5`WSaC}NY>Bw)#{p|JBd!-%mAKI++6u}+QbN28GSSQJ)o)FAKC zcw|1LLFR+uDBTf_!tH8Q?n*#hkvmMNy5Dq$uw`Dz+b|Es+vlRDZ7y^><{@WYEZia{ z^8T9TI{}%usZsb?h|!}kOeiV2dPzQRdd<|%&P z->~C`G@fylr7=jP*QCT8K72SIM@W(R$}6w%@#34y-w8$Lci(V8_3d|8IE(5XWNt`6 z<%x3!Z=7%R=hgDwtq#EUW$qkCO{LVd#{lcpw;drtj0vTbRJmt@sF>Fn9!kg7f zynjm~e8vhDR)L2#exI$vCsqD9tW)CS1|R&{poY7pFmTre*x~7P8Q!k+!xNca@E9Rd z2+Jd8qdi@LmsUF9^%5nX*T*46HWK3)L$vc~bf%LBRWJ@3{BeKW7|gU_m}AATVTlLc zs8->yL5bsfH=Jt_W!DJ=QYs#Sq+=~nIIIiAu_`Zop_k*!W|5-z_vZO{AXCdz^r*iI zRknCB+ZS)wM4>e!ltVMB{8t(6gufJfbCuRtltNe~$FYWBY)qcTQyXPtOmR!nbi7pV zj>C1X9PI6{55s+NGvGCh@ifV1jUApX@x|Ls@whL^0j?uN>fe3y-0^BvFg~gG#GyJF zPBf|U$C7Z6**Sr`bT>2JPx~rE@o8fMs{L)C9LA6|jp3n%Zunb?H~v@_fY>>sIiOlD z8;t&Gq6Ln8O% z5KxwYP5*Q7hd%57{a|{1vPM)|r1PI(tpwue8aS!*z?mi$&KRrhozuzjd5s4yR=eY3 ztp}*O-|-p`9IsPw!*en{KdkfO>d*@f{y0~!!l^nHPEp#if&An=aIwxEU)H;o-X~PvTvCc%Ro;An+a4%f z`8E8$v`ct-X+Exe*{#*^Ndn<2vDW8D3Dy~gC*rL z98i7v{Y7IHKcn>MmmS-FmbH_QOkG_aEG#T~A=TKiV@0~(_rT?^h2lX{Q1P3={{aOR zjam7dW1-HKao{t;&H^iLjY7dz4XV56BKP4~1f&SCV=|gy*mx6IPc%VNMj&$Tk4Ns- zSXA{S3qUoL@$WR*ZXCRn_9PY`OTZLwJMQ!3 z=syXWcWSw6tKiXC1g)IOVbVk=OI`smdvg>@_h?bvtwF{k5eQm2oBLqRaIr>ub2!R3 zC1Y7jEQUKVm``RF9tVq{3p(qeU03RYFlMYdrcGMnR(b$1-9TT@Zg7RSxW^B;-F9L*>W^d>nELt>dX zsLceUiZ(~0p?wi*cPv2eLmCuqi9y-!IF#?4i^YxMuu~4N(v5XFrq+`l$a8vvbDA4ip)!28!P%<`4*QxKacOOsv&V>DyS$3B*oT= zDp#(AIocG0_Zqc`vk}$z!c+=O9b;uw)=a?jSswVPN<6W@*yxQDb$&RoZa$Vx6V>XL z%B;|n;fgnFyzrJzh1V(+_(JS{dbuPNgwFsLgfJ&_MXmqbq;{6IA?5|be;rOw z*dOoIMd9fZEkdmXRLhH)fv0j6*jKIOz~@Y@Cs$_eSUi&hs!5EYHhLyrs0_usRem_w zq{cIOzK9+x_StI;!#&9k_`iw(5a?@P>dv7UhhP5V@j`(L``3iy<8^BMwK@u<n1P9|MGwwO|R=E*;k_=M68)8yP#-f1X9QP3>BnBj^O`v0)<-Vd2sQz}t!I?+F>s3;&O;6TCf#U@gE zh>DBn8hvn}(i2ZEn~hD2U2%VUIPldW;F}BAj4N~@Uag?wHx-ha@n^Zi7}!dF^!^06 zNK%`ML_tN@_KmNg5|!l$r1ZflQg?~;vCs8x_)6!FvlaIEs?ifCYUkj1?Hruc zJ93rJ*UicwHR+aM&b44-Fuf<`paiERAS8h*O3^z~!~<|6R(u`1y$)Y$T={Vlv|Qc>k~igdrS zy)h{6jzUp;6bjq4DB2y3%I+j?dRw?l!#~U4twv!-lz>*tbQKe+a4Nf^QQ8)Tl3md#ZH+_8?s!yoCiB-+VTvnteh5&}b_cNSUjnua%5@S5 z>W)Rlo~5avzO?Ds3A7-gb^TR=0$q z@ZlI_+>wAOK~@}iO;B1Ps#t~8wHhSW1;IYXj(bC~5e%a}hhTm~7&13%k$HbK=7db( zu!-8i#)-BvYlh*o7;HU*WUdK8bhbSLS4={Z&JD#oVtEC`oO_cXPnr&9!!T?XLuj@eR<4gi=ADU9ESv(% zIgD5EW5XC``q^Rm+6a_wkL8e<#(n;GhW^&H$MXjv;sFSy_zgrsJMiEBV2Yn{%;J9s zJGCh7Ohkgg0}Bm7Si}LBVdK2Xc%|5d8?75+Trrz5_zq>Lk8(z5emJ^v{ZJn`5nx*B;Z zWhy3MPi`Q{-|BZoN`%@8h_lqw78{oN;kU&aY+tItGPxCInG56f*jeUya+MtWs{C+3 z?~4ubqy-J1s^`UsFT7x88p<+sMx5h)uJn?M45^t3o z&BvPp@P|@gB+NDgr95h;n&9>Yo_M|@7MoIBkv5CLbC^hLbRWTRNBm5@ROpE#^}%?f zDg>+Kqu{_8v}4J?$`Q|0grPOp8@0g`xk8EzR@DnAMrw}ZO@Zi1n}JPBJn&GC7Pxd2`0gw5x0|QJ z(I4=CR8W!lh|8$Hzy8Yae|3K%6?P#gCHdgd{R#iwAXiZFV_V-3N|LF!fy})LP`Pmh z&o_EEd|Bnffz(-p2hKFg@L7`=FJ^GAlB&pwbhjUZQ9txqe?T!9UK5Ox)Ps_miazV@ zyCx-1btG_fMz6$YI;HTrqm;ioIq$bqRrWY%An@*rlhsZfTz=8ui?3RO@L9bmba1lH z3!fR}yx*yU=~wk~@$jNviDON^IME!y|31+2eFi~sK? zpt@lIRsYI%!dSedD+&Y~2qsl@B%-1%8P%;RsMtOql{->UvwJbhwkD&Np1gObfP6^` zcWIHcBLbCs6Z#Z190<|+MHMFzunZJXX;Ik`$Di_7x6MP*wgllHvwbd#cf_N-ol47V zc^c!@3M!3JE!Ka32OjJUO29Ob6i0$WyQ8>Tt)hz{XAB3I1O{m;Zliv_8UzaXDF7%1 zhXd`is{xf%Ig*YmDFfq?Q0t0ReK3}kQ;Od?h!j7g_f%g5_KOd41Kj{AsH7A>2~yE} zn~|gO`rqHU%7cn;%lL%#*AA$PcE&D`xZc*}9uy#Vuhdd@K$nk1vEKUxr~b8UHP%(~WW#+Z;BPVFXq2vt+Q6Gb~yw z09F1&Nr+nE1CwzKBOOdIUO56|l@_q_U>N1dU`A%?V;Cj}+F*WtAPOIg=g_F|kr)K7 za)j9ou`Sav3?rv9*g7y+O=2*m%4Hr5;j5-2e`7excf_D}+X5`rhhm10HHTDe0)vG! z1Ecm%V3_DL0yF)_^Y3N^jziAT}jYXIUubi5@{8&xPTM5g3H|FZJ^inFa3K82Bm)#BsMlS!omPzI5F5WhJ;xb=vw80_nX48ZQ(S;lMy*%@U~S}<<%O{s<- z*QxM9trAV4R`4Gow(n-f5H`*PZbKNRn=?3%7QiKC7Q=HZopG?%A0O%ha9`X6xC~)X zj%Ijlkqh1^^T7#20M6Dcxsu~TjVn*(JE`}>3mFO|SuwaUQL&F;68TEeL<%L^@A&Bq z>!K&&sSGE4T904nI3po7l;qn#iJ?CiG#9f zCJYXiV!vrWyet_ODJQ{oD1*|1;ogMlc&W$(M-09=Xb8ZjKyFID_1pfwm#D zWQcMa36OWl@OcI|QtpTUPntu2m7hS4V+wFX205dM&9Kd7kYRN$qXC zZ=s9w22xN_bN<==iItTVFUTN)EaQM8W`i71kpk$XL4o5m_84fQYJTo~B1mAHS_gbp?}&@~IXGMEh|e3y$4Y@CRZEAy{!& z80veLpt3y?C9PVnY`F?TNWh}Q2#1VMtFKz--wZfNHB+)P1~u*TQM5S$Ug=}tmNpu3 z20040B%-`^F1V3$y9kOX)vq@oGJ>+3Dyjj1xehHVIuiIqin@}vSfP&Vh)4CFWDczQ z1FAka_1^+iiI`{bLaIIl^YSBc2^a7!E^}3pFc_BtuwQI!8}N!Lz@)ZH$_ENACFKLX zHe;r+8flIFA0NQwE8pYXh4XxyWRU)AH%X^+D|br-G*wQpbY+;J8p2aL^S6ehuq_5f zyArs+lRDcKBb^!Sd@T@PsYLd}TI6qwM9wZXavCDY7ytku07*naRNLZ^dS?Vix|+bo z-2$3o59B=_!^f_QT?r_@e?EeiIKx(9!K>emc4XW*-6zorK?^-F%89`(ejHZa8HUoG zb5XD*0qPPrjFU4=QVqeW;iD66tU6`e^)G$o0Uka_Crds7GL86uLSz-Hc?oTzff7i&cN6qymfRq2Z?2Zo?w3{hhk)@i2T zrEF&$taKA8RysEU6`BMrS?kMqI$FNc22ZVa=jx`vmic4%3OQEEtp(&5#^5!AVV=7! z^s%mJPxr*j#U41>;)BC=3cRn6Lfdj*6nl^7)$e3O8PrqAzsUu+r-fs&;~0dGV5m`z z!E<>Ed|Ky;qYYkow~?yy*@6^ViXjYvqZp#54n=yfJxXF75iy3L(3Rm2E9Y>}tdAQ) zu{~uvlBX~vO=f6c?t!<;eQ~1B8)W=T=|*R%njZzu_5L`}5`#wps-?a z8_wV{hCyvV3VA_OaPK@PJeTK%w=1ZuyGU6(wI&RIEb@ascp@UkF{rE=!pAWfBJH>W zi&FXa)rH{w+ZUlBaw?MN41=!?gKRj%BAFcw^W~ zvQdS7b)ndu=88;D8xE2@M=?ZBXGr%QjoX&_AveMv0izi7einExYYslvD{!DG0C&XM zB7P#nDmRABsSY?$=8a=zavZ7i$E($Wcreu&%RELPa4dt{PzL!hhKNZF*{X5au-FxU zDDcFGr81nU@xfPhs$U#Xky?aOn@F)i6Q%Z%p)&z0>f^4ZbFgK#3b&+%0NgQy!9Q2nd>6B=8nu*-o12e^v!{CRPI!i~}gd5WI|s0dOCK;?QSs8_WRS`VRn2%!wF^!Ol0FI=(8?5l8f4ga4=sKW@ zQvT>YnWvv__QyU$DE?L*jNcXc^UA2t6b9h=q5%9~MG!vF1@kJXlD`x^g!s7B5r0je zj5kZ=IJHjA!QVNmR7!qcjh;AN=f(X6&o+hOgK{6dT;_up^W}Kg5ROAF8XT+j;|eND z!#txG{#5d#{^->Usex9ux@ka;bV>QMb`dyfYGI?HZJ|#-eOnJZiV6 zA~?fdq?(Lk;wk!AQO2Fho3qg(#bk^hL-xH|RPIdX$|h1UNk-+g?%wT4mGuS?n2=(p zsx=9JAtxD@#NkZh!pcwlYuF?ek}0$pZKmr zi}Ln(l7B>bX;~ou%QY&r?#)>-vk@08<@^(d`s3Q?MkH=!!x-g{Q5r!ojIwX8G9g zW!$wk$iGL8GJ)g94D z?}|cZdl<-Xu420eMGuR-rL(jAAAjwBAK;>vxnx^5u{RNru=(Eu*! z|I$x;{a%dQlR!6(A<}pvR8%6}Z>;r55Tv?VpmAdYDhd!UtnueT%lRg6UJ;9Yg-)*x z$7|I=cyhH2olBkY$9zv5s8-^*&geU0AfsI`kU{p@W(7W|bjNRVWOzEm1Ai}&80ev|8h=d&E}Ua1nF)~fJHy&vALQsRXy7yKblj#u(L@M)zNuUd7n-Vvu8 z-EpK*j-xH!IMhU*Ri5~$#v6YvP~!P4PduA0$KF+**qJ6n$0`M$&GN>db3L)ILV;to zeL?c6dLJCE55&i{A^1~<3{R!IqAhJ2p3St!Yb9-h7SB5`S2I8;fk$5596MxBe!aJpoII5!xW=fn{6Usfc-lz=26RW6lp(CEm zaK}@t-SEc}KVEI|PX$W+an&4rL;$K
S)u)oF|f5~;lvsp6yt;83fR4Q?-))U8@ zeer2?0N$z%z#j{I@bqdgJe}!{r_vR?KcCC+z@G~|@LshXR9TVKbEj&la@xgI zPYTW{aK6~$$HCOmDmQ$wHUOXMRoI;}1CK5D!9#gTz{SHH4%4;w)i+mo(Gzjm-nf8D z8pi(F{RvqS&;zw0Lx!NYu#5DgL9U=8m?4>=RJ~?UVIfOP}q6T9{a=j2N}=EJ>{}luoAbzik;tWNIMXb25)%U zv{C=y|C%;7oHCEyPsbBvlR;zq)|){=#kgeu*=$OndNYBT2igdiTtp9(w)#wVqVj$a zgRrxs=p0i})i5+3%&`v8{GN?%MfIq{gB=Oo3+V~Cj{}S4M)9V|*okZ&t4-ocT9jSl zLtxXyw%M{e{g&Q{LTh9(Up)@=Ek+vLh=!ukW6e|n$s)mSjEpJ(X@Y8vtK zx2mSWntsi1zeSK2BDi+GnZ^7JWK4PZMxm1z19FYqXJ;{_B~SNMlq-yt)MwTCL&(m7 z$b-yzj;$ZCq?_9G z{)}I**q*)l+B!$sO#ZdvU&R&ZBymn8e9D6C^oQThrzWn%ittn=VJY>H-y#BdvB*`m z(sE0IHK7cZ=})pC1UdA;HJl#qZ86-T!}x0B8e42=pFB#R8S&r}J`f#U%FYcaEhFQ4 z!Uh5X-%n-nM43sW2%T$em6i zM<@plf`8!;*N+U|10k1K3Ue&Px2=B*E4lE>HVxCgMm@ag%CJZ-7H`vA!pAI=``9q# zy55hklf*aW!D&zuXg76pFNo;Ra8ZK*i5E7JYn-%6Ai`|`K(cCnq?Q-7L7p_Pt1Ol% zbySW3@1#<%F4(aTTEvTZU?U74d5`+?4BY5qGb09!4&Exiekm{FL)K)|jWcFO4?@8ir4o6WTBcB>U zYbiiX+^D%rEXMLIY2w|fvE&9k0cn{b*OQxw(T<%Rv(J%{H||!W@#H~N^pbLxF&!Np zUukhJhfgb}5H+d5BpKq`&s=2;0lGmb8sn{h?IeNQS9r#@s*C>&ZYx*P|e-QE}uqj<@MmM zg)a`9`eMhPegsG2hw+;#sTd^eSHEiM#NZ5*$A+K8w7Nq3g;I$~-uaJ(Ye;C0>D}2o zF)X3E4mU&QJ*@W`LLRiW3m-Ld>$4&-y>W!*4iaS&JgDq%Ms`_H)U|XZB1jW;CWIhQ zJlo{Y%7>2)gQQnq{XI`w`cy|BzRp`ec4A@lni6>xRAuh^l~ENyCT`3#&~Q!;9@{6e z3n+u!iYBp1y%QgsQo=I$aWcEiO*=@%;lCTL#RCqDjJ_(i0cT07tb!TXHBy$Ax_-}Se{6)jr~ViiA;&{Q_uI&~+Wjs9z~J6AX~*|>hS zt0mP~7oAfa+n`oB2W|2K3m^geLt4V(?DvBqw^gv4kqQA5;{mxJ1moSaHBSbjl_8uX zNkojMwSUHL*nLghQ>T0G9K+jpgYJc*{5YbLd9fyMu-sp1z5sC~?ev)dGK_d+6r*FA z4YOv~Y_gqt=nDFZpn|%Ge?R&%4Kb;~;p=KFH>0sc6aJvSLT zbqci_|Fbf61X*R25~c7MDt2QeKqyw~i`KTL2q+;*Ac+^+`>*t@_a#k1ynhGf`RDO$C& z&L}DWBiSM@leE8Prror(f!&Xtfvsow$x7PZfc3mhypg8!-OS?O>vQch-z^-=P?ZaU zA9GDxFYPbi9pOHv7z$FHaK&Av{(DswJQEJhJ@r3+AXQluo!gQ-stG#&^8IOEYcQM) zfh3Gvaai2AXcL(Hd{AiYV(TUwV((zSCyLxjGo(%4rulm{Clj0Iy=AQSw~C%hqt-(v z99t$?c&OHV*{|dSmV(!7H^nJ=9>>G^b0Yw)Z_)qGv-ZIh5k~9HQ}h`2TDSf3z#X{5 zQh4TDe0>+y`5OZcnwW(+lW7>JICv=dJ2K!p`GHrcM>sC9-}mnih(=?V@(`S{0YC)b z3j1TtP*9Y5RmweR({FH&^uYvC%-%(cuIPi4HngPz?2TTv7%G?71Ct4e<6Fez1@YP_ zmD!tBplvDQyk<}l29(+yu7mb0C_ZcLFt(S|Si`)RXQ=1LI@B1Z>*FGbq_*nJ3){$Z zfLz2VNJUc^q|@9&IAeVkioM!UnQI*&UJjabG`P3%22J7!Y`%{cb0rv7KFADxV!3Ep zhwDd0He=H1m$7o*dIapgEYQh{udQ--X3ci4@0*Mm!K=jF5KH8ikNaSC`E%zvkYj?p zzruSxW1|1;z{@3a?tx^uHXL0`l@3YrBQAUn6^DeH^R2*DI2l(x#E2+bC}WcXXCA}XPIK-%9*T1#=r^R~MM*%pD;&H`9v+(r z+7iEA*~>TU+6S*@ea=nPKM=!D`kBvT;++B`(`{xhw9q4%^cgP7Mxty%@TNu|-y)A; zIMZf-*ea6`u_eM~sDhDizt$lyHZvE)xbh!J$@dp{C+sm5Oro>(m^iK&P>lEpst-1J z0-D8SJQ_)rX|vUHfe^1K4?O9yw4c=-+}JvyznLWYW)YSu2UE=ontS2+ znlIPEF$ce`nGM!YNEp>=)aeQjt%buNVg~v}iSW?4rsehY`g4F7`@4NglOCQH79vl| zgD;LAyTqH7^A;f-QhU(*H}4lQi6eQ0btB@%Uo`pBPMqWY!6%iew!qk~(kjzV*9uf? zYJAWYaDRo2i*+8#cEN#T?5q^40!OKnBej+o{9xG#4gU~6MwhIGm}M7=IIG-RriC@) zzqVq2;X-_>PDCr?X;XmK@vqrflO_b>zX+6pq7J5ZMo&suas~yL(K)=`LG4^I8gW0C zuGQTRwhRfoYw)u!pi2**i|uSdXlaq3ZpP0QcUHPfg?^))br)A7r?wcQ=$LWl(j%I` zK1hXc%YU1CE_)CH`f)?ws(0Fu2kO5EoWXiC>mnRS@t>Z5i6rXt@MPOj?V9OVCZawI zNuQyPs>)@60ebP~KY!g&`NVYzTK3}WpqAB)UiG5(iibacMKd4M@)d2gV^5@nbpI68 zS$bBz8X%TKhL(nXLCdfr+vM(l5_VZEql3M54u9x&pQob(R^^<0cl>%v>o><2B#bc| zKfn{rjq>^5aqxMunWj^Ppc_AG=1bdw%Fx3K+3+bmp&g*;o6Fno9wtlkVV=o<6(~WO zb>oS_GvWgpXUd2oN>+BJ7aCpAJ+pohVY~Qp#fWPm7sic}i5y*d!Ej9s!+pX=X(w{i zj=9J5W@spN{^DT3PUT3nUU3LCOZiIb{Pii5+xEA@oci3G=+0rX6!KiL8pF<|W75gn z*1j8Ydi&Ea&767@^%}kZVx*B*sKWkWwkC|V)Njj5ZoTC`velQp9tIaxcvF}wyGnA; zvsCp>FQL!+)Xi+7)~CnJ_OM z^8ad7j?72VzJ|o+;e)H%Z~mMbhBL8?*MaHOk99-o;2U=0p@y)H#ER=lcb}cxj@h?S z(T`s>1pIE!)25MbzZOfQ(2~E`Pul_BmSg7HjdHkYA%5PQW%KJ0B~$R~HQw~!q8s}9 z=bcc6XMdIrH;&hcH%plCpCLrP2NTl%=Od>CT(lA7BaPad5lsN3KHAcjM5(I+W#1u>k{AZ-cy;VK=<-u zm~lhld$_+;WkZXTp&<};eW-q#E>z(=Qf4FkZZU8N0;gL9%PqaKcTxtZ3j~2*G!R}k z*LW5cgm1!8y6WdTGTx!Z5JPW#aZ8SH6r^ZHL&Qgk+TW!_DS%_E zwK@f;c8Hu}BKW)s>d6EK+{rRmj|p1eVR6 zAd97(3ehBO{>+amTi5vENi=C;MZ->UGT{fgB9F14gE_)~>e$Kw&HDfJ>7rH1lfd4+ zvJmg7LnuXt{S5sdO${sznz&JzNOzBe;o~g#6*N<-{6ZO}j?I&t-7BC}B+Z zra5SfB8ixb0^(vEd+UtZuvcfs>4+mefaE?NlFN=O&)COLak%N}Z{%^6G%&e7l=i@opp;H=_a)Qapn+QZ%F-Xt$@ab> zk72Zarh7=i<20oWD{Dh#I2Y%NrB(avavTJ?RF{?V6`k*5OqRoF7t@^eE-yaW?HKQp zKv!9bVsOrjZR33#AcI^Oe~F#8%J0=`6{PTY-UXd~8Jom*;OyYX%2;0jzv^Q&T_qmb zYsa}__ruVZK=x`!XE{xmvNZ3Hop8pQ{+I(5Jr8tdot(%AkAxZ3NE1gAipKqU2$tZj z@C+!&rsG|DrwSumRSIK&u?1fnV^@AQR0+~;vE+6A+CIU*^&k0?e8j&|4F?I7G#O4+ z*;!S*L<6(t7HX5XXQS@<8RDQHi17QXbi=0`yuNu@au?F(kY&Pu90-u~a!Sh$Ttqo! zEWU7NfGRRAP}LhPHpax$Y_UR%Xukjff*k&gpo7)-;p7Q)maY|UUsGyrCpLPg0ib%D z$dydMzg0x2z|97Zu+ ze9*-5FqEg&O?Nc;HCG02gHnIS~Y=!yAdn3oy@~>M4vzU3+VA z>5Z?vm&?~cE-5`TEm-P;vfu;*Ei|op0M>d^Y(>e*h1(J}Z`;_gGixdyO*$p`nt|~} zVx{9w>w@$wH-0v*5ci@a2|qEWnauE>)%98L+UVoEc_xI6Fal#8i<%Rb!~!fL*#btC zEcKY7gd#udPweHCyNhPz93c)OY*R@g9A!i*%Ira&sJP{RJAb`wMe{yFpRw^5dw(4y zdH!L?kwXu{)XBKk+aKLOptb5|u?y*$mgLJv7ylK`vH9R_Q15{x5`t`7o zVNy*!-b@3%`lbKMf^VWu3~c;9>P1F8ndQ2Gq21|~Puog)lqOtWgLl;zH-qf9FX9V? zGd4eNyz*J|IdylkM183$Z-)$m@zixW+?xkzXKY0FB8^$87X0rVAKSOEZGkL$1iupd z2@UG}>c)|x&l7qbm+FMHIK~R%y04uQ(QxYGhI5F;;d*n*zL`HmS9}MLinQ^TTvCti zx=|$w;zD-dT~}tl?r-N&+eZQWtE$}HS~T$*IRZkZcLPPrzBp^|-aoquko}d;b7mST z!JIzJb!(g>jQ-PmV#uuUD;=L~h-{I+b{6kqP}|*;W@E-qOzrN+K)#m80`PKN6i4X{KWv7QI9qo*nM5+|& zdz|`onA=Z%GH4;+stD1nn1Qs)X!U^vg%TfwY+@_+vip|F_pzI$xH zP% ?vEo?;aqS`c`yUS`i{hewF%ImINyw4#VDvJWk!^SZ=!>_ybpBprAa3n+Bqre z*3iwg zGTUX1plTLw$`ldZ*lZwwJ94MspB?mWicysCd;~g2BjniD;Q`A5vMp5aY>YKy)A;0= zi|?mcYXQRZZSps%cg#k|^i{*OF8GAJ9+{w37n?CN`CeUU34ZqmB1+Dl|EfF9MhlB4 zg6+i=&tg73uLK!=^#+glEWn9kKjc%171mZ2zu#d)_9mNgg52od-y~N0;{FH@x}YOr z3neuo(LI*__z;CHlQc5pmNd!9ud&f2j2#=K{DbmedMSs@E`H+mZs14y+G~Di#3>WQ zAHTRiu1YJdGYmEo1!!&Z3`#*(iycg4Z25&?taOdPNaZM7K$|pB*tGs7eMZwe1Q{_o z>$*r{cc8&pT%*ZgO_u1W{5W}#o{-t8vu5Q+Mr<*cArsk#f2b!epB8a)tZjSaMh{ZN z3Wi9&q0SlwGWd& z_hrkQqjT4t^{c+ouR=r6TjL%AbTz(oZ>GW;{_Kh}oSLi9$(twgP)i8-4}iT6k~$q7 z5*C|T;+deAh>6eEnpcX)H^^0Yf?rjMT>dD_Hi7)^Bgi?uduo_zClZ|FF>)%2kin~# zxv028gQlc8qRrb?oV-nu*mS8MvN671+sT?zAz-sj7*j~Rz_S%?4%E5KnK0v3AR84K zNsRue7lndqYUK=+otTzP_dzDpvAWsdu5P;upr4xY3ql?GSbz2`F3HT+7jh963sBG! zPFDID>I?yAWx>lxZ7tVUz@4}8>r;-2&QaU(41y{3piH&&8umkQ zm4C9+1})p{X~7u-BGuF7SrvCBNgtsU0T=f_6NGmuAD9-&n&V6R`Cwn;dj*ls&=?U) znwhfgJ~dxp2Ee=&8&s+I*)9}7$ssI~AI9l3kSpv$;JE@krC*64?_0qi8xQjAEiEH7 zOoH)qbkT}~cj0+x4$*`G%+c>{z3W7sGk+fX!{uT$6!q92X-9ZyCCx{5 zP&7^#RD8{&=PnI^EuTQ~jv4=-7GPrF&#rtZoS~T3kw_o(F@@nS&)lK}vzc=;Yex}+lwaZyc2cN_*En;_n4Vbel{s2VC!t#bE|%`AAf%d$IvIdOYK z-gdD*#o62_`zaW{+$iPYPJeK?j>cksGqIkS&9X_-IIl7^0lwDDMvm~4iB6GS8Wl@B zKYER;%304urjg$tAzPRRlZnrx?Qsj3x3ikFkZ4%a;c}5`qbiIhi)NVD+Mt?n#tgo; z+_@EsrKB z?}n6u5pV=Q7qY6LU-4p150POZ5?%*r(y8nG-MKS#&0TnQ_s$_RdLG?B4;KH&y8hON zxP+UMor3|RJF;3~XZNqh|0;IyL4bxxl!O>DZ-MubC@6P7N; zp627Ybh>YOQDHD*>>5dNkSj&gnuTTqD^5B=YL_tTZE2R-GFFMUme&e*5i!qN2s9&-+cy99*U*HBjOX+ES~EsnYj%6y>BQ zS9K=0sb;Y_;Y9TeM5VmiB|Ehl{n5Q}A4HcW+f&3`)U}=h6COCDFU0VU;5mE}!guadj0Xx|AG@p=v40x{UNv0BIg+H8Nu zhq27{z!RzKCj;+c*oGfKyb5!@$*xOq>>{b)<>bpLF2bXSc;?61oppPQZW9` zsWugQgBNz;-nNPyMP;Wkm7e?!k$4>)v!d%~NGVI%fBd~6y9KiLZiDMT+iSNju(3|Q zIKS?HWRldHB^j8Sh+8WGuMv+eB%c1t@E*QvJ{lZjOnz&iIQ4Z%Zq9v?mryF`E}Jv zD=il5R8^K9yZ}XM>42*=B_vLLu&gHX=_&e2=g8*2*5LEbx22Y^EsP93U%ZzzuHOEL zva%xUt`KjaWV(Gi{+O1fy|rL+^lvJ7dq!fg@%$;<)Lr5x=~%y0L!Rbs3cZpkGQvua z%F%u_7>x}!y7r5&*`uLtB&WU)IwSG#cX9aHm4f?Q_G}IXc+N~Zis-gq8lb90f`uId zl$`Ksj=PKNk44=XinxYzvj;I@(f>Uef2WmKr=@s_l3)Ze$nf~TNqDJWu$~NON*bVi z0HjZh_3MfnIP;VebUC1`Bq0DpPHtYm{rItxe^e57wvI>)Wz({sEL7IjoO@oVK`|s0 zYp^|)7H#yPnQo5W@yp{EKffNF7#*o;?=ZVYRGaU4x5}*K4uVEHR)-YXK7Ssdt%x5G za>hD5bEoRw-2189_aGvD?GPw*8J{>I~-Apy871A0Gb=`1{J=U#t3!|ProL9-n8@&h7DXhXl*vwSfUrBPO>y0r_dl60O` zeQ6Y?uKy6tSNL&mFTvAUJa^$ivy0YNgW4Wq)bupsfg-|f z5N|v=DHcTKdN=fpYTC+2Q~NNMa%6@IQR!j5>okZ{yYYh(a0@=~+T{>bOrWlnnq7O1 zO3J;HzFrVzhTs4$GXc(0X*WUsc28Bf=K~7o|PuJRJToz{`))RM#tb%SlB%PRwD;m&5T_WgG0mF$T?X679T+DFJVvz zYnDs|WuI3fK=stX*NTMv1%3D8h3;~v;+qto$thZx0Lwh$Air4sNaFlNwP^9)br8n z^=Cl7q*jL@%!j40ik~ntM~ml^ITu^>ZV`qG=;l~p zJ8sL^mL8p>3f4097s*vA>g5a7@Z($I8nTk$(St6FsVH#GAg=moo_JFZxS4+kOI^I(K1<+I=rTptW+0mNWg(WX6WV;pmO#CZWE!=>Dv2+ zLDsvL^WA_&wN38P14Y-@u5r%?JJT7bzw?t6=oG`;OzDELG4#}3Jos4& zRfOC}LPwhPMCLTs@jH=ZYrlKVxmx36hI78mMqbBm8=scD%VBz@O*NneJdFVuQ zhCI~b^qwMS)SM(|Xpka~k8?7u(y$(LDzWn^i7_L>;tFHKh}g>Bp=cjx|LZ&KsirLC z&t(Yv!0IbH7V^`c=%YV$`=Pvj6?f~c)M{f#C*g0n13vgy)y4TD8aq}^b-5j>0Q?^@W^ z)i(MV8&x?8D-Ib#TL(YscWB!bcJ$66bSTSIn9weQqutdtyzVXdX#yR2I=d!js?P{0 zZD_(kFDBvL6i(9L$~jR5R$V&}85A2i4Zu2SNox)_qZ-2dy6eG9Dioi?zeT*i5MQO~ zW>t5#Af(+8%6>UeWhdLGdcrA;+|@!Gfz|U`3NO+qx_(2L&9@61s44MZk3=HGPHnCt zp#_Tg1uphndrYe^uYt2csJ{@l2!rgJD$lG7BOQhY}Ym=f{HEo=!Z~&_Fe4= zZt>D$j8RF^#^tnXqyT;N=Bly%Rdy88c{&vq9TBm)vuTpE>Qkh;LwMCGq(Fgubt~t1 zwIl+6Y71khA(mN{I(*jJ$>Eg&u(ty4F9EvwfJ||~atOc&5s+ZsDesn<+0$d&R)XBQ!ljQtPx;tqTq&{lTrUbLkUCA(x>7*Yr| zX*PYeT2lDtM+mJl{LvC$E9IdO!tM)mzm!cWw^nCtWyPbv3#X6$>VxCq8Yj8mO9a`f zh_H>PZVUX0)wDjPU}J>0?1CXP@*!M5rE-HL`Wq*=%ki(jfX+e5noefGs;@oxzc3u@ z_4$U@jkMDk$5XNGs03uQq5${#&pdR=Sl1{#ErSCovLYc9xBYOgNcS1 zc;)CgZ9h!_Zvv7Ho(@JiW8iT$6jt-c15V2Z*W(?E@-3msRJPklf(;pkDQ)-f) zq;b<-llBY$PUgjY;nulr$?ok>T+i?}LRO}kEAk6vQtpz`6fczeTckgY!#Dzj=j0eK zFd>C;&~9vPgiTHkqp}PFjxuG0AuRKxG89&cylr7sG0dFQHF&*)v`T**nA-mG|KxdP zLRo6kI)Tye`c`Vc60TFDV##2@%q5w1JkrxOWR|E8V>9>)DOw*BfQE0&s-VuXQj8LU zgHHXF+sP}VkG2Hqsa%oUsFljk7Q!5fi4n1E=?|yvopc6w;~!L3U5x#T6{1sVCfAh@ zRC|i^-KI15C&P(0#4FR-(X|lcq1Q$BL|UKL-Zp|T*bU|+GsVMowED~kGbISMs|INi z**&%Sf32_Wj*yz5^uAy{z66Ulf7m-hg~%9arOSD;6?Ovs-oeV>VVkoGF(a~vOKeNv zH>A=pk92fzWnj;fgRynq77JKQJ(o2aLyt&ZqRsy!+ z0~am*;vv|fUHJrzvotYW<)6oRuBYN9&pDUg zTAa!cpq^gCKRZiX5?GEoOf8I&DFv)T7XS7C{lGn49@ry573djGeu=D#*KXTFp^^E# z|EE>|H^-N#xa39UHkPSjQ%8V%e5`QI!)W6NU#ipVArZ1?595y=i5|T(NKi}&$r{Q!)JI!Y zXA#fM`+jnoN!|+WX6%Van0CL<<~)WAZdcriwm!14pFqtD0_C*81=4;<};nZ z))Rjt^z^FHeL?0ezv?;MG5E-7pANA~ulBARDd1lhw`a~N}v=}>0esUI8T^Z zO*dRku}m@=#cRaBd#s!zE&wm*419fl2Y?LR11@y|qscdZorX}{>`k{;Z+vxcMIFd# zNaxz~j$tjl)6{(v{#Qt>05@M?RVs2x5^pF!FkvIH69%$*#_W92r&F_02jD0}e|Jf1 zws4aOM#6 zt#l$XSNQXo@bpUM2d0rB_hpu+qo6Maso2~WS(Lh4bq5}oWk%X$*_t6~rl}kr@RUId zTT%A55t%GLHLW+Hb-E?IsPO1La3d=THnQS>2(>z~+_s^Xc=Tl=etI<2&<$5}qloq@p>U+dP`KFwkp+A$dfL*_FU%g^v2{Q2 z;_UkrC$L_k+0IRq@yy>aPd2hF-NY$RY^F)?GDbHy^d3#q0Yy^?RE(Z-QV`JvqMA_@|3%48-WCy6hCZqQbh{07E@bv4^v zs>!JvA=exM^`}UHpHAa9xSCD)Kzebvji1ZHHoZJgR@gNE3!@PbOLv#ig#jT{@zSd$ zjWxx^QbN#_vtA*{y_Q^G3P}zJBDElYAp=K&z^MK&CF0PZ$Tc-n<_;`XbaoB)44h?7 z4QzmHQSQ=K)FK#vWVO1kkHU*DsFLin5?+-wD&#*J+uuq{Css=f*SYi=PM8^HB*(m( zl^?6?OP^DT)nz&$&CcZD3>@Y4e-8kdkgmEWKAL^8at^7v_R@fU`X4!u0o2zZ9>g-F z8_?xf_A8wi*|8a_mW;(Xb+?m}#%0~1qHDrYjZw#$m#pf?&EMn@g65(#$X5V+l!kHLC-$LtLm&XfS1g;TTd&IE zg7j*ch^x5Pfs}gtF!lA6YIJ2{4C`_4RiDr>??f~^u5{tU0m7C@q}2o>E$U%-e)K1q zr6(&6%JpZLoq0lJ2Otwfn(VVnRz)MNvv5B?;^AbvzmPfG2)^5@s+QV!~pYs zl=^4^ytbFFMpswlJ3I`>=xSWLDu^!#&Y#2A#R#DVVs24*DYKN6BZr8Zt$)S2dXN6! zPcQ1EU)=~bzh}+m0^eu0eTEaiAYE55qpc_2^woWON{hx9T~)zwZy{l<0$^GEV>58Z6jGKCpf`W+TdeQb|9=i0amNwCDy* z!TzxXEQlBP!j$Fl9bE}0ntW2hLM(!8tJuaPQ(V+E@+!Jx=CRkKb609 zE!#epxb1U^T|s7%y3SV`Ik?kYMTD|k8yW6Q9ZFqS#7_yojbJlYbG>kG#Hv&Ukve7( za@3#EOvpYe)1n5F>?4nAw1sT~5Jh|u(P%w?wPVCHdoMAueF--I%$T`N7}->JIPRb^ z*xmuKw8cQSowmJJaHxpgQiM>=nqQ!D{f>r3uq}{UOfCDRKUft$N%Co(5p`>@`_>yB z55d0Qs!#aHg~5V&QdO2nv1N;zBme?PbCsuG0SoY!RAzc~!0qz3wn1g7dSS*;V`lA) zE~WFLiph03$Ae69;*2d{ z#Q~%=Also$P?_4Fp5DW{{gtl}cKLO1!Jc}JMT$1N4hNj@v-`;>&UA@hZ2U;U40fhT z4T?^pGcf3bm=${PL=6xgc4gpd5r_;nr-4tdPbfrd+uB)u?is!MH&v(9|XRQC} zPRgMI&lRTp{*YSciu{Y^PkIdbc%}>n`(#InFdO_Rd&0;ZEA0r)CM59Q`9pa)`l6#Dh_|TkA-HXB=>t#<4`%OKU^`0KE;KG<%5NxRSVS!m5l% zu8gAdCKOxvuLk5^JV434Sc%W88xB6CzjJ@{FvY6V-np@0eo~Imr22@GC@m>0wPR*N z_o{oEw16FgWvdR~PKz0Vp>VRMww}nCMp(&gh0pe-^%s(B^W$#BAE;lwFkT-Ux<%w- z5I;1K;Ak(4ojK7LdG{cI7)KCg|5%PfSD%XxMQ6jQ8?2^t54b+o3azYIH%pC?lxtuN zF*%7^ss7~FI)P%Fo!3ENq9+AJD(aB#UofQWmy#4wqnkI8)Q|{JCvYqKLO_ovti8i3 z?Bdt+liYNxcr+UOGWD#M3xRbV=_bI4h{m|&=wgbObR07)Q3A5S3v%x^m>}0GAPc%N z_>L>?ct7|zfHY|FEatm2jnLL^+_s*-WkwQpeZe7{}a#o#tpbSPUKxrypS zi_G+sERoo^u-HrFMXFddo&7uYZ(|s+DskQ1Pt7iH4dL^=W)BDTna*A5OF0U_zfGao z!jU0p??^ebAEZ#)YM`&Pp3G zkuzPf%$aq!s3#g8-rFJ^=IwoMd5|r33VqKG7bUJ|LBmD(%+4)7AXk!DPKm*1C9Bm- zYv82Ev8Scr0#Wq`JIxR}D3_?W7u|UtM{&#UK zLSyD%L`^?Ytk_D~JTe5=QKv>RgjBx|lVOPX;`7k+2&eX?ZZMa6cKR}rg8_V8}cWNZ1UP2b{%cV^( zrXM2zaqBuzJk)>NeGfzs8dT3nl*)cFH|^teQQ#$Q?-Rne2xFq zCFO)6g4l%=sMt+>irEYQ6zHNZ<@`<7Dx@wniaQz*kU)UOuWWTdFn(d}?}US@PC*P} zF?^@0>JZiFy;smBWgW@&thl`T?Y(@sKtPD{vr-Rn%$Y(-yM^tNBpLftX)zEo8_r*j zx({9>O<N;g+$=$K0;!(T{hcj%!be=|)BJE2#D>J_xn!Ryj&^2h)T}9iSpB81ATg>m zso_xx160*Sw)&)aAqA^Q!>)TQ-9)2p^V^e7tA77Yp#6sK8USS-l76TCW=^T|({pUX zMlYFQ$B7dAr|93F?-25uRpMhK=I2@a64pe4!0(1T4hY294H6FCW32G^Wpp(FOTu06 zaqr#yid4Wh7THvyxeZ7rv+33jgy;>YNTQw)&=~Ymdk1= zn*L_ilv6g+{;m7)gQU+D3BppI`4xd(3y5F%aSb-wu^e_z1D@j#ZJNOT?CB!h}y{AEIHwI5^M!)gDks$l?A5XqwJ@Z zBjkPnUE4TBN)|xTeVP^e*DoI>8@a31Z#X4GFE{yNI1Tq_UobTq)0;?uQz9PTt_ zw|n_2scZA>{rhWAyl?jG$-BZdp*86JUDz(UV)y3N;hv@9E^Z?gYITpFpTxA}oFO~j zCEOtfC4(M)Rk>d?4nLxzc?RFe_gG1YFa3rtIQI& z^XnFNK5Ita!9^{4_5G1Y2-DBczJGAvE-&EShjuut&Tki9=BSZidt1Qt`{6>1P*`bU z6aKf|y|ASyWQb@t{7kk|>L#7l+SIt(f*F8^Sd66kZ1W!JlySI|9y|ZxKIOrhJ z_jKgM@I7r0u#hn&V82=(V*HtjxU{!(qaWxistmuB-7Sdk9c(}TsUAvQ)e8h!w-@gX z5G`J+DnMFsWt!2yk1=?wVP&q2GSq5D5L50odX&(}AN9HaKP^C3ZHm4HmJP?=tx<5J zLl?yenpQ(O7d|1W!JtEv&DT}X}-vz=&&CQ6qM?+34;t?K->!9fX1MjCM`LdZ*SLsr?4x>_iU|Q zp7Tf~=sDr|*FhXf-&q}`^-<@K>?^7Mi##Yl%6w=<6lNICCx#EYOoi<(VT~5=NCKlH zSEx!SePoEADUcNeB5avM@i))s)KNi9m=mFEJsXwaH4m2!oAIJhOoci^>JF zJFTn46>P>GQ)sp#=|T&2{q`k-i306ALmxDz_liWbFy-~Yz`Io&jE4-fUrSiwKyV(+ zsDE8zh2jhUg~P;_f-;OGH0T#>Z^u@tg#nR$dJtZ=Q~9huQ+qD%J#0F#!}b*Z{lsm2 z3|^Ef9FF6vU8x>P+I6cYIQ|H@4kTH zfP5c7$Uchb1&U2V2EwwkE&ofCYyv!zP-qh`Y#%OCv(&-k`&29JX@AOKB-+FW>|?{} z&ry37l7iLxxSAxw9yL*ya(My1C$_sIqX<+N;Qe4Ewlu&^^&mo&)xu8{m!zBoTiA>gWWXr58rdD8`8+k-Q z#^;?W!>Vt{Y}3GOZP0TSjzFUC=eA#W{ht2>0y}j5?B<^`dgyJkqM~Jj)MXF4Ux_%&6EuT53vsi$9A9 zXiZ+Ej+Gg?^m{D(*vMy}JxIV2Pf_=xyG|Pcdj&&82~c$AMWe*O_c$dl6e}Fo!3Qlh z8EacAjH{%mp6akuSw!n!L{@b;M?cHi>U?Hbo-7YD!Rgdrq||KT97EaAfHvSm?~P}& zZyRbxR|&X{ALsIB+3AL{+IV?$4s^a);=+UY2T959#2|JaZN5=)p9i^-Go?!@`Yae7 zBvB|gu?1TEpU`&;A|xjSw;PKt@G;S#%ee@(_rqAp!E-^t_IMzGHIDs{ zMoWZJE~~=Mx2JN$$+R=gh}uA7F%3YK)@ZtyhR(xCai?~4XPqD9YURe$XrbXRwH{sLZOj^%#!$bCRv59bqkiPLflKf%*4sI*W}=aho_T3+_;cJPaFGB^xme^w zN8^pAEhJN4qZh7NO2Ki8ZHc0PVHto5k^7WwPUj9$GW~D)V^v9qCI0MEJnQV zkS7hYa2q-1qIpbr@+i%x0I0sFW6YU=Tj1Z-hro0qOQu4EwkW>box@L{97W%8ZRKMB zvHyL{_m!am&g@PZ~5g=uqN~hxkC1g(~=;kb>^-+$#lz`JYWf2)Ad1^1c528sIbBxTq#M;gn{i)Se zXTHq*>8r%n@1!(pdLbw9j#V_Rk$I9ccpvR>F#lxoURE!kw)5`a zT-PWXZvC~4QYl(F2BNPKG*B;Kzoi_HiXV2PuE2CTuWluh^QI52{Yd&!C4^P4i?-{e z0Gbx;+Bar|I!nA1(}i*Q+);7P)tP>gSgLaO3I=h+oOEpEolas@qwFJJD*FtYIxPBy z24fi^$y5M2n+ZUAYJ>GZq_1^*!e{=n)@}(oU=3@iEE)H>MrHNKCi@FP@Szos5!V(i zxF)W*V+D@seyz;$wO_cG9{1exM8usQMk*-Ng@%IjytYGCv-E3U{b0J0t>Y6|S>0p6 z4OrgiikwA1$6zuej2UO(;HhqCt`nw>_u}^q7r(|W$}1P}ekl9DC0{5!h#y+_FcygFkR&M1hq?oaxB?YE zNmU*l8T+X)w=8_RZ`5jy_)pWP*&xYlI^#}*_^1ge6K~E(&9?~ z>;V)M-@s()Nh!1J0+dX08E`Wr>Jrk&MXJSOC%yMC|9vO>IQ1WS9H%9gaw{t|44n;W z()YB;q!o_^2ar~d-tMm+QC1t~Ij+iSuUBNICv;{nxlA5?`@GK^1v?c6f(VWnuIfN_ z4El{+B>6Y{kN-|zGxhxyfHJjFulkE#3MF-dNQWZ)cp1mj*AqdBVIRgwy>YDz|4OnL z;&Lk7^TfMDc#5B%&W${uK;>E+A0G01H9f!mF$ z=_+1YM?YV)LfOdHyAe3)+bec(OyRIn^Uv`Ktx18lDr{%%54S(Xx3n&KG4l&j97sMh2wWdj1kKpmRh`1+Qd4b*56t z`t;$P}9R#RmekWV`@C=E+jIZ&%=&RJuDW^ zB=vPZL2uv_+t1I!s-M|7DphMsvDmfX3Ch_w??YZ>U;4hjeXc1d;&e<3+uDiD-h!ml zB-dmLio;Vnr`wR&wTS2LAWM1w2P#3;zRb|Hx;qhd{qZR8)S!+mbF83}6jx-SD?KO$ zq4Rx8O3%(D6h9b)Rhv}E+Y*kd{d!dQO3Ep+-d*ke`+b0lo|BqKb*LGPk?e*&QIcA! zHx{*hI@I(&w}8f6hXotR1qV9BB*32ODE?^cEf7G-~j+ zQG=uH8XPsKaK`A5vyGnkxX~S-Ho0@9s!t7`lER=-3T3|HU+~GI)Zolv%)cyD;$XHn z-e?ZRv6cX~`CKr14;_aDs3=IC0>H__#6jRca;DD}AICLn$0(rsZq?McS^i{5Mc+>d zjN6z9IGGD{=$$aI${p{uMzGcEbi-nNzQKppf~3H?V4z@h353e|Z2Wv(WAzIGs*}wD z3{#G@sc@nr0H>Oq@m8w}%}LIzY9a;CJelSiO0nP067A$!az7JxnpnR3LP&IkqkJ!1IPE9PWt1+pS@EZM_!H z8N>1C3hF!j*?N4w#ghTr=_bn8lX9L2s1b~RvpEO@*&a|^3${NdOcmIg>4yJl(&Fh> zEnaEY;w57Qep{x(uGHD6a}hX@F&VEKRrq~X09L!(aA5l~cU$yT#Nw|_v3RpN0`Ig% z;K)Xr2jRUo73W(0EZ+?(2LWeGfyOXfJk{WbcZ}YAeCJyNak@##{o9S!@5t>PRZ#tB zfY~UZx{d)=X@3+eUCQ<*aTPjYBQVX`1_{L~ENu-%?i~@x*%Xd-n{`-odn8uh8-=EW zt9TGxy>A)3Qx>th#!+E~l^bGFyqj{A(os2(hQb|52uWYWDx#?hORQQSjpBzT+e*Ws z1Xf0^Zi{5tVqz^YZlW1m{DPOcaoBj-0S)Q~VmOq%;sHG-cuAnhCvHBnZi`0E?hKSY zkPNTHNt{hJM{R?wyF*d3Kaw-DD!L+2-W!jy11SugYzQRT3QSmNjri66C~8YVNoxx9 zYXUIGYZ4#FG_^HiY7|(tH4@a@KvC*EWZe~oqCJ$0m4L>+bQIhfh4CH& zrd%~|KGtl~pnAU^<-4^A%bN*dFJLoIVCC)6DC&#{S>ek26Hxj(J1ffr^LIpju4Lr4MPsU)fb|Tr49-T*=1>&xkL1BDCRP`-KT6-iWy4t~HqJW2P0a6>Z$Y_tknk`h7F#%OQdQ|jLRlfud z+-E>_Fal+Rq~I6=OjoRixS0VJ4Jb`Hz}VD6K$sGsGJ_CQ-A};YW*q+d+%xz)KE~2o zEfN|ONZF`BWlti?x}sT0bj<<56<>ErH6vT$WCaodx2gdGPvNYNs_53DzCRUJo#{y5 z=#R|X0@yxW+pR-gZ!}2h$dHZ{RR_aS%2T9tpY|r9czZk+C657BEOpDUMe+7HX?twP zyV`qKsx&xUHEKhySly#XZErH_ds11oN(!**fiPCXRd>fDWrH7_ zm)ap<-7MtZuiZi%s7oz=7XcNiKR#{q!AAx+ zuJ%O(i(>`_4jWZ?Z+#?=+@6HzjXM0YNQJ>Q-Z+%&hsW{)@T=k=Jl7C`!|gFR(H_Ps z3CeLHKt$>(svJh!CRL6+Sh>>qC%35ZhqX?Kw-fLe0{c>D;jKm~pqlK2vP$aXW_R8{ z!8bXu`bzit-?H8)p!(MU6Vt;O#wL42H-ChYD7#ESY%1n0Uhw$@?gAT2*!IYK{(bL z#A?d74MBJ$Wd?%m1?HIuELm)edooq%FN;BUVJP;m4aNGX8EEt~$78w9c*hvXAnJ6z zD?Vvca4ytI23Br3WAMPqmOwmP9Rx#&qom9d0)CDrsL;9MuIylJ%MHfe%L1^*b0PvP z1fm=SHYd%&Gff)&p*9@ZUXwY4Dq?{hYLa}hEk6`{3xcq}K#6^Mu6V52121%hu_EiS zJP!mrN+IqI8hbp|sKPsJB~;*aiyG%!LqLkq8?`?g1yrMe>OXJ>z6P!ppc+!P(BMw4 zR#h<=&SAV1yh{Tovb>OOuY6xJRIBE2o|G6PVB;cS>mxAMLtwnOfSrect+&9W2*Kcq z@{}rer$d>sh?PlpJ_5@(M4;?II!gLdQPh)+qFpKQPn*S`PY5u2r9b5QPvrbhQ35pJfz1&Ur9OSoiGQhHfd45 zD-D%9GT{(WreJJLQ&ooB`L4^V(%wr`~ZC5HvcSR$#U?xMaF$)ATZ_yxczaII$T2vfLW<}KEI7fza3$zoFy(JRs zc2gz4aFBIw#ceTQpf+7Vl{o`>Tcc32M+b&YcSXWAW;{%$O8d2#D`4v?U`0XcGo)!o zqy?7W5sZ@kI@I)}AgetJ_KO8f2&65YiQN0i!WW6s9xZD7Q?P17IPBa6OlJ!Ot(=S8 zEfFZ#twT{~GFEMlgMYFcx0L{&a1t07D4@uhiL%`~RCULpx<8R2Rb{VUvNIjhp!{Ii zD4-f4dH=Rw9l!5AQc97+f#8&hrGTZC4JdcY(S9OccARoSIO)8H~Jy)BfB1PEt=lvX7gx>Hf# z9nX1q3~5+B6^@caVXUH}zOSY`4aE;6!AU<3Vv4|mI2%?-7VXe-A5#019|7(VAdx4& z78l_ZL8{t=I##2SeVPLN)&MKI}f-C}&Q-Vf*32jPu+ zCEo4O;?xGZ za@yd9^Q~8xpF;472F$<6cjv+493ik(KNruI`QSu@J3ekB7$9Z45EvssM#p%(P1-NR zxof0ex*i6Vqk!uB0hJ7<=z9zWrb~Hu0^`Sz$Ggw`2D|b?(3>$6Ph?KUaf1RMw)%i7 zUD7>%s>zc90_6m8b-W=MECXQ~o?feafgtf`Mo*k=aKZ6*e|*sHj}t9Q{IS>zu0mju zsX#;MI6P70h1VL@th6FKEmi&dywM#WHT$#r=id1FYNf<0s;S7BxO;^~HNl0oa-457h)omE
LQDlTV+2AR1d=_b z!^=Uy+g#wDxM_H?HjuNao-Xl)c7pVNy}}&7FHzw2Rt;CcJ7NsLF)H@ZuEO&*erOJM zK(LK~Ggb2w0$~mUkrM>MXdk8msS^brOqh&UYkk<7OqM>nmM2<#agwfSo2PVLjedBi zDH#7#5e#GaEJREaY(JbO1ZGo?mJo0=74WnWP}>UBhtI%cC2G9VpvE6d15oHKWl+r= zTAtRUAbKYXaTfwhrV4ben1z?>{qcCNJGWC|EzlBbhriVO@ipQ;tjP~&nuA6G)qj9+ z+~~U)RZv}XKt)xcw5&Y198gh6Z+X8KrF-I$T;q?K9yV~8BVe^qz;uy-#R7qG&H`hc z1je`sObiiNbx$O#i0Zo25V_73ll%o1$6I2_dT$i&jpUN)rIhc|lY)@!X_yo!Felj# zsds8nuuqGUZmPVM!b%Ua)KCcbWM6AoEEHIfJOxWOg(3IBP|lGe;88b_isEgtSQu{u zJ5K?1wlmh;uSHpB0?1|#nFj##-R7=;JO4wH!L9vufCS9FsKL5H$^IwaP4 zz$4xP<2(e+77AE83rtsALYX!d$qhbOu{j8NkA$JDQ;XV8J@Pke;F>rFQ`7=}Yo=k% zgJE3io$PFt0|{8SH5?wP<1i)A457ImSbdikW&2W4usa5EjV`RNnjdC`6?cTAq&pcU zwBEsZ#bFLiYU{2ACC(#iDK?35B=n5STOr6MO_L zJp`si2!xi-LGca^syYccCZducRku{Bu;Ng}D4@DZIK}D*Az*1?BB`g$=nJDc9PFpy zxxc;$eEki+!B_YkXOU4Cf_Q@mQf~D^S#KPJN2+XhtpU^3?Voa^r0RC^b}j)_ebK1u z(xc`;Ix;%KSXD^yR9o(Wvh4||>r6%sRm>a$@uZ%T0aaCBJZid^An&e3xWr3J#@XT4 zY{jkGmx8)MQU!)z{rQvO)Uc9A0#wp*M1vGy<(;uy7$JFs53E%JCSC$zB`zr6mB9*7 zw$FCQp=eJ6B5U0-PAxruakYz(za<2#IpD8<{VTryzc0Bj`Ra==@%8^f%Aoq_9c<5w zytx%rLx76HfN79S17@z^$G^%;gKDzLv2ws5Wx5>M5Y2FESK2(JOppeA?p9KjFQtP( zpo4&~g+QRGK%$+%VAf*1)EI;h)(7LL(Hp1Qe0e%XkgA=k1zx#=gxY#yeFz>e4usDn zNo8?ctP`Fp^1+EF51cbN4?#BtE4K(z(O~m7aA%wY4i);K+T9e169m-u0s#&JK~y!*PC#ob zkTFrW04>BEpbJq_ZXzj70^r+P+1G;rwEiO?eS2$D;`_pj8|&Bak}0UZ= zqiUq>UaWeP)Kgan`LFgKx|;Pz6;%Hj^fd~ot~sC@si2|?PZxhlrjqKV6g1qI48ws{ zDBPHef{s)yYYV}WRuxvYhhtT1B-XUYVu>*n=^ZNMJP?V}{m~%xLc?Af_lKaOCyw)t2z*eOH|1Yd?oLI{9WhvQcQkUghoiVFhOI2+yA!eIjwpsYg?plr zzdsDs{gU;J@>@uWRdqsrcSlWNi$_x`$&?*hwYfX}ws^^{U;Qgmw2sVb!f_lR2zq)QAUBtJ?SWV zNRO;dYOK5?2st~nC_9vdk^wEN!YJ6i^5HbByDJ$vx9O3!AsowER9LwolvP}7?v22@ zUC}7%)pFIZmVuQhzF!XlRb+$Ac{rHM)0Z67@-j_>D^R#C9=Uf%W6ix9tbI6?tDY71 zt2s}sad!f$w#FgvZaQZ^$h^g$RaomDR&m}BDdGs&QDzlonlV^7NCW(0ta$hm zUofCr+NeQFn>XS+Tp4QA9E#`ab~iqhkiyO7Equ8oF;NW2(M015Nu@q4?e&^-phZP$lQ2Izb2a#9yMX?f% z)+b9Z7mVmhK}}B*zozYw5|va+Y&|6VVP70)SV_y%ItdKP>Ut6&PgLcU`bL^aIaP5$ z&&3>;vS4d|xIiJC~s5UWFq1#&h;qH>R(_bs=9+AXy`;U6k&(lOBSP_7*P zu)xPQqUxZ0{%^SXC4fq{TvBFU>~K{_%HZREglx33m6obf{Rn{hdg(`G1r@8OD09lz z9?w1h;?Ot1uNhEL{?s?ruYCC#Tm0@@9ei^Gs-Y@=m)iUY8eLQvoon*IryBxs%Amjp zZNYf=_GIi{>I}WT;4Bq?8-e_gS-5q%8k<*#VoSCL?Fr6UI!_?nL|{{h1)ePR-~i#n z&E7cP5d;chezPSI@3aTwaC;a}N7}-8`!txR{mX5j0gwbz6l~3-HXLaW0WJS-dpO?e zh(b@k3ht9lFkT24HS_Shd|#Yx59GjSs-Q*#AQ0^NkjE4IZs-7w3N?t$x!l#uq;; zal=mwobY6gFJ5lZ;urZ!bgfn4k!&UUN&>Jy#}oUr{P9?x8o$nV#p~5RIBk%iI9Z0D zGlbyxrCxY^tqTt3c;eA)Z~U$_0Dq_m#Q#L_0*_Hs#*n71m0Dms`!{dd%=*jm% z=UQ)c=Xl}qbqYLHro`I~N*t+LgbQ`f__QquuNmU-M2QCdxt{3G@x-3oAZ%Z)LT7#u z2G;uEu~klZy3iFzt9|fZjT%qYCg9-OApEJs8?V>8;&_uYF0@mY9;x$gTsTGd?)L$z zuSxCvUH|wq`pW$E2ckKQw}L82bx{tH4y67eH9%Qk)NnX94SFiNV^|?j(xpR5uMSjoiWFONE(_8l!m6kQU2*(=Np~~@H>w~v za^Of|#B|)0^+Ihb-5-PEeX%IqtwqtED5>IIXQZ_5P-%KnT~VbkstiWQS=JTH>Mtte zUN!{z$a+)R9VdaZPCd%HbdcH>3u<%Oz8IA6k41Sm9eXUpIcf*3N82r>N_z*SHc6H& z>6+8Jv|R#$^f_;nEQ>?OL4#Y$n4t`)vVD5CP8RQu0#8HNh|UG=i_QgYi>@zUV>*`J zXg&tc_@V33bMbR(D_vW38{yD-9@lpll*wJKh0*efD{L`Q?xuhZR&``|sH1AA`{GcrEgDNUs8IdL64dWo$~k_y z9l^+L3qekM2p4>)Js^QDQg~5+yXJN+qSpFyQ3UfT0?H^CB;>8KnhZ;BC$Al7F(q!JJ}$5jRH%X!x-ilKa`A;tqEA(8jPIV z<50I}xm1PoP$J6uB3WHqL#n$S@yKY_B6m{?s`sX#s+%m8^8Xz-=3MSC>E4$9Kalz- z22|9K4C+vRAORMhk^#SL`xE~=k15NS( z(!|u9|E59mc-ygf_PG~GfI0N6YgO1y7Wmb{0M_00s(t(6vs5-D{NS zFHqx`r2%-iEtD%*9XI$&SujRl>3pwO;k7zn{JJCn2Pv~9+aG-eYW$%=hrR1U;A$_y zlD4pUc&a1}?>G43qxHT#cs{mKgXfz<@T)R^bY{7syU-tdi_{n>Q{%bDP|nGsiddgC zD)5C-fe#zpxm5l6HVS#CihqH_RvH@Ae`s{)iiDJF#aUXzKQ}xv&G+tOOK0Ne%cg+#0Fexu$W zhwBwM+8||d(YZNc^uzl`KfGs9;GISVSL1u5)(7u3`SG^sy>}aZ@P4BgPBcjhB7)9j z52Wd6lQ)hvc}a>XQhgddhae6;lM0+}Rt_H*DX?Cxm)iBWT3_DRyA29_(B#YOOYr9+ z7?-Zy#b;ZBx>DbHyjh9&4N6vZz22a}-|D4_z|`ReA81RAAnbAs#D_iI$yk9=fl}tCmVfmvWbqFmRI3OlY)=$G#7dxIOQ`O;C@Z-p{uwT z|7Acm{QtQ8|GD(zwe&0Yi1$Wce(M<+1yt7(Pz}SWZy#U~pc;l$1TzRq^h=;gf=$wE zQd!X?zeivAX}yulj{Hm>?0(um|E_s8*|>(3Ddhw4tXd=GT17vpT9S}t@I*#q zFmep(xPa663SaUV>+{b)moinpwM)AG-fU`W;sK=mg-_0M7-MDyGZS-ISXttQS6=30 zrRRnsTyC^Ksb1!`>;Aj!D*~}G zaw5{F38;mDw-E5M5=fpeusMDXo~%&eR9ghjHz@IGqZd9U8&>m>jiy-wRCJyQOj5}8 z*%o&YoFdC0tIw`tkan#Hmy!x>1faSMoSbR)=BzNPVD`}l6~loK>fQ0lEo!{i9Ek4B zx!AGV58H~9feS}~uchxNpMCKS$W1H#Bc+2p4ZS5li}E7Zc>Z1APpEGp_lXB{k ze_x(qK=tU-nfS%BX~POYh6hF;h7uPQc76xvczJK2LI6a zG|=i-JVo75H~qTm^sTo~ow5m3;z=c*g!>m_-TfibK)f6jU6_z_#ZSFe$E|5`!KMcnJ4SHZXXW zfw6N3VT4yd^crqXY%nf*7}h?Wi5+`0vEijS1g;!`5dr2T5Hb-#|3`XbQs^j*3h#$m zt4AU0TQMlzzY=MALFzgCPcg8dWFFQ&mxk~>AB>M0fgzIysaR$GhxEgkz~LAjIS^A9 zJ*0x?rx*KTh@UC0&00JW>z;{2*|Bt#z7vlfZ$)AAbBUOk_@H7mF=3b*mc9Lrc|Aa& z5--q>p?y+cwD+#*MU{l@2a=UQm0mU%OY#zwKqax=TASU+MgG#IOK5FvMMXu0vLjmH z)&wdKDx1gz6Y={246#|txEJr$+J;{U0jAIheIf%2RQ+B?_4u@!3v4oT(4RsrtE)SW}Wd zsSUwzDq~O|{TTf2H!!oGf#6{V7EbJq#p4Zx4m5)V`}Z;MM8bF_Qi(UkiP|~%Lwy{c zNS>%-TS<`PsG$Zj#~6qoZeV&J1Hlve@Js5wji^L!5qVZ2Vld#FB zKZ5QxF!x>qiyt+x^fB`s-n|V3^*2x)Is`v04#!{00`Pf_53bfs!^Ns8I9oAYaS^XF z=}gH?XCK!E*n+H^F}mETL)g{5enFtJeD+fQe60-Y6E7Jb6@TY^eUJ(wEnY0A_C(@X z_GIi`KL=mQ3J01_0TS;GKvSFT^+X9#TAZ@jo4Z7yy59SV*cTbr_oqMo32kj{IDg)J zKM`Amt0&!Fpt9BptN3BvF3Z>2=UCRUy!BYUtjkE<(jtuB*H!L#4Qmv3HzTg&QYU9P+9>-}Bj`W!tWcUqv*U*pzXeYsogiFF^B zI}xBj`n+s!x%z4KYic6DCI?6xvOWg9;3@!x5;vM+a1f@?dx`d$~GfqXMrje^UG&o zY2`euC`!RqoP*41C!&q|>lnk*$spZrE8+!FRaK>C!I2j}9c)yDsv!?Ni2wfC&(YZ2 zq<(R=cPec!usvF!vJJ~p-Y&;PXo!YP@?Z*7;pQ;Eh9ngveN}yu@}Ro+Q3DAZeUbCs zL^Vrj&I_rS95+x6|LZs2z`RwySXvQ_?D7~St?|Qf??Lt%M5ly|R`KGB_Qj*%wRj}% zmSY8s1ExXgOvMd218Pk<;)pv@4jN%{^y|Dl#`!ccVTM3vN_n?{$ zwU^9b6E*;0>t|qfT_#qRXCg4wS9xn0;|$E(;)hMI&PTz)bnJL35t#*k7&zWQ|4{~l zl4fFMMH*H;nTV`!#v=RMvDo(Ag-Ff`R?j(Tnt{aa5(h2?d2cSm+9wxcX7m&lr)vLAYQpBAe6^?v}r`qi(1)+W0bhj>w$e-x;?@6edT6}1PI z4je9`j3k+XObJvweej36SS*~}Pt8;nJ>0-|7Cnxi?3j%|?+n2EwR3TDcPP%)1mSF% zbUJ54hKHRjpNi9Uek!Q&>zR`9n{3NQS!JOt-< z2jW826ntJY1y|~4K)hT;l>DUDoI&fu`T(4$HQDrpVV>6$sHBswyhLjK@NwyM#p2?g zVC6~mVf7pwTs#_k*9PM0buqw|kAaq}XtRk^tH2hGQ8y zkKU%wsq?P3>uuItmv_vqW!!c7dID9;7h7D%7S&PE-|ropx%5Q>6sYcEfl3P?-3b-f z5;|m`KF+$_)wb*H*Y}}w$8$Jt*ZZ%RJ07Q>N9T^m>+(8x-0!&F-FY0h>vf%XcOJ+6 zav#>RvfsLXz2)nbzutb$!SOz>cimgHzq3GP3vR4pP)ShdR4lBWg$1Q^v3h5QU7%`~ zP8izM>{Rk{bvGw96cMm{P}w~m`t-rz!GrP3pZ!9;#J0A#p|Q0^z0XRFhvvp6wY}#H zROS#fd(eHGKvj5DCPFYhsALvDEl~Bb2~^u(NkY;73~c;b3ho_e;GUrdX2nm$f{HM# zdo~KWFGr%_g?KE=4}!!U60fDlLx*DdE`Q`p+`VtdV{BM2CFo2KAC9%PG1&T44Dz2% zM$xmG*t&ZW#)l47V$;;rQCRnMD)Qb~jP>70#MHQl%vey<1|TlS8_S*y#g^w6Aoqn8 zSW%XMk$(Nvki2Q>k6``Facbt%g1xa=Q4@p*#v2&$sDZG>Gm%{zhixyXAaDPCY(J2S zf&)vClsi}5(~y}461Mwb(<^aG;M(}DRQM*3g>k=uvEDbvC(eh_UzeXAL6GyF^3Kv zir@V9cV;KDy#;7#RCYvlkkuI|P<7Xd5dlgi+bm-jE2pdYQ_^{mpyDTYnt{MC)CJ)W zdr~lKpn(xGyl;|$x0j8>{}lN`X7&24%2x$`mRbKKov#m2Ghv-8pRR^B{jw|?Tc-EI zD8oSf)B$*Q!BqU?7C-z~?rh~P_2cpcJij~u{)5bE*DL1s!@n1X;OBJ-sEZtm$9ox= zJG?h`B~QVTwX^W!ydeCdA_70DOu|Or{uuLsfuV+hx~NC+pF4u^*YaTeB-anIL(Hk) zbAv~sVe>rvb8ZlRoacw%)I{NUZaC&l8h{6T8OVzmjep1w#h+z{uF^?3RWShd%5^mjbb(`%DL;4)=TX&3QyL9H|a~2k7YXk5}eJI|^dJL~;`QU{u z2|(isp!Eu5woLhJZIxlQtx7Ofd3!6QNvmcpKdwoP$vgc1a=rJH|Nig)HZ4e-&1+re zSZHoGZA}jqsB|6BLX}>>UfxxCYyGhvueWz~jJ2F~xvR3W?OJ7&xN0dQ*R__{%ldxw z{;sa2%XXDJ9^X}&uD0pp^gexEo$LG2`z6==B)4vNw`B@c%CxxrKMGWLu|TC?+^?5w zp~A787F4W4hZZxe`?}ljcs|Exl_|=}ker-jrbs27 zOc}zpc-L%XmIPu&Q4+4;G%mM&Zu6jW_(js?X71)MATM;{L8aq4h)6YL$PoPGCqGd? ztTs2A!jw34NS9Px>1CnE5AjnTR3cEB-cz|UE2I{vjzoS@pnAZ72vmt1W@FpSNho|X z6U)k@VLV`<-y;SR*9If&>rrZwhr)&klpTyg?lbY28a@EMA2Ki@Xb`fV2v!qCtlSfW zUSkaOeZ+uY%wx#R3B-!(P^{S_ zyJR9ZJuQLVW3l5voSGz|=Hg9ZvC0xz^x%IgO%v~~GJ?kj%0a(5( zOiiGWcOV5jk1a&`!E|Kp4#DWKhm;UCDSj}vd@}*X-;Kw{uZLq|)FZaxeGen+$#CSn z9*1rFB6^kwmG;O}L*Gr|D(6Uyif5Nr>y3=^Iapd~3RIV_o;MrY%{S}Yex!6}D=RCN zK-ITzUzLv-F+zDb*uACNThM&vA{v`an_}K11*+~kFP#LcDlc5Bn5sk>8Cv&oZ7|N% z_~Wy336MP-|GPUG)B2i2>6T44aCFsp{BPk5oUV|-;a)gfF$1S|&VU5+Jy++iI!_mN z&cMmaApCnl1QLguv8&ccj>pl})A5@fGjOsh04M8$@u#{d{Ci~z636sb9$MKG3>@1W zfFD&RVv|=NHLNgkd|$l0WV)Ii>yJAF@ln+r{G}=a`?G!F^^k#w4Fh{(M&m!W&cesl zp?EKQ0_HqqVA2ByHqD!WZ!Y%3;Z1({-o}~u+fCE)_NGA0oBE*gyjtTo1n+H|i$B(e zfh!*XO&4t5QrbMoce(gNIJ~bY&njK!&gR#A zKat^z4&GDh{X}kA5Ao|E9#mQ^=}Hv2);_5tS~RiNbH`(JnHv#Sy1EzZH5||7cn#}* zeLwp6uJ&24XWg%lam@AgWP4ZV?`m6j=g{Y}Ue~(Ky4~>{?zm2Y>h{<@3RHKoK&1tW zu5xEY2kUWC-YQ&J_sR10_B)o>$8>j`Gxv9+WgPF}Mvr$aZ{^X|KF4ieW?kR=mpO;y zvHF}kciivl^)Cuk5{t<6su6)It#Sqy?VOA35*gxm#x}&S1?}yvXl}ZC$A5uz<`+;g z!xDs4dpyW&IBGbK?2z}?c0fF+M4K)@DuMTsT(re zUh)1#SiLJ*i8J?&7JIFyW{14-EOoj6QSd(;%w z=JZ2WMHF_vya3C~=i*`S0q8sBUIb>1$Ev61VaL8i72ivH8w43fk^lf807*naRJppH zyXyRE7E%eWZ;Qv+;SpvERBD*t(Nv^V&A{RsncXoNmvIWsxS|@LGwt_ImeE7}q*Evz zNg3kTuU|hUPKn6)XF^5Ee`gG@X z{I)(0!K3=%LBl}u7z1ywoPz%;l8)JIoUfaW^Yt4OFvQ$!udEl?LKpcZ9<4p9Xb$`2lqzss9uN~Wgy}~12Rl;T7UE0>!%nvnmrT0E)B*f^|qM=cY5P|qTzTe zYdXHOE&^!$5NN&#w6`fQDQT}=c~GgZ_B-r3WwmM7d_OVYM$8}009?FizMshP=;0nz z&ejoYIW5RI=GHRSWyf-QU6;}8-Q|wu^t$BT9V6RsrkwQ{$7Soatoy9n^>wY=tYxjs zx{P(3Ue^2c`Sf;o%PCOVjEjpi3RHKoK&4;YyUV*0Cba0{7$jS7mt4*#$6C*Oz5Uj* zj?4O3>vnw|y{)SdZKDYHe)@|11u2@<3>t$WedVRf5=emsbUaocj z`Z#BEectZM>-~;Fp z(Aa$Wi@!*^*vQ@N>D7xIfL*(GsZQm90R!-hU;ILKD%CHMwjWllF{o4kQjhVV(gKw! zD2P}k^+Cibnc=ahA+;NUDiwLJEkKkET^np*z-R+mW${@5S`s!Li$l(PG9zg;cD#@X zpQK@s8So~Dj>EDiQnBfk6b$XTmW#`X1%Q zG$nE*vYv`p$CVsdgzUOV3>x1D_e%__Wn-}J=`iH&kHLxo@e0X zK1kdefDJE(DuHVI3-JhCG+GH%qh}9Nvk`9kZY=T-ry&1e5{eEdq3Y-|q!a}};$PiA z(Ln6#02F+4A!1igQ|BDw)dv}6LD=w}NNj#R2Bq($*@wg3d>g)#vjA!lD%$=%b~=$1u7rq1$CiH0)ukqDp+~?)WK>7 zzj-4Jys~l@epwcZkIVgWvSKDq*ZJT?oew^&_Qhw_b8)sR1fQ1p;N+8W*uOadetpg1 zdu4Gm@NYT(Y6|vq6}~uI?xo^g{iZG!>->i+F-iibi$L}FdLk;+SXQ<s><+F_in%_jtWybUEuWdYk0>nY-I>EqgaFQ=qy% zW{(1u8w*tK*)h43og!ZQ*43Hr1S(UsD0C30WQd;#R5AnC7hL9VkFC4mtB43CNjx7O zc;Er$@t{wlUJh*@RPxfQhxn=evO&!Z-==0ATT&K|^co)|*LtJiXoeDp^N+_U@1tAy zdEEZGtpx?~bWxsj66jincQ(YKupt3ON9UvPtp&)ciM4xB#jN&4&MTQHcw>OJ z&xE32e+&v5Vvyeuqhd*==S9NkZ(z`b`;f9_E;hXsfx^SF$ay{|hVo6N| zw(U(t&f7^SIi8M^W2q=Un1YpG3&Y5H_ox_HK5^5qx_CY&g$!2f)00MG*{-?R{Bkr3 z4yCA}Z|?0ub$x-#tW!ylA$}rIttgGhRh&Yr&4Ws}#k)Dz-cxdqH8nLVcAW$+w*J{W zz0w(OH;4Dxw~3pk%_CEdA#QC1u6~H;*M#HkY%jdGY>bMxbh^r0#ZNj@>8%8llU3$0 zHG4qgYKcYElVAn7Z065D7te)q(DWO$9hm|h05rWklVdj|fgA{oge%;9_Kv&P}b>Y4aUnIBG; z&sLw&M|EL1ve6IIhnO*_c1Aslf5{ETZz|&OT>3;z7-V4dU;{go{qWuFxj4EZ0LRz) z;Mf{Jyt7W0XW{#6XX5{4Prx7Zd~u?5HqJ`yt?D`Wq%sg^ln`aka(JfN2d8Qz7L^}P zRR!Zz)f^RH>u&A@y7JzngZcesqm)4P!kRGP>ia;;MH!>7nx-lK$a3fRm5z34ZNYbD z`MU2X*Sf81cu>j20`3|l-IaBQ=e{$6@9#$L6sWFcTyEVy3RD!R?7v{Ub7z_Ne)|QA zPDA{}^F;|2TA)hkki7fH7)aV2h#jwHVEcFHBdaP#iA4h*F%Z4n7n@#Mh%E;) zRAB79HnRvLt1s>uY+!oWcr2}t#@3e>VC|C`xNm}i-op*}r%cD%uO_LP0k^&u zjJ$oJDBc@|9na50?kjP~*_(oGhtsh2@B(CiCk5jZhpFLzUJ(hAZTQp1F7?`mQ%o__ji{Pd?kRa>-ekrjKVmjadj zmwM+qC1$X18Qv#J0$_^>Be@(e9srVGteK4uYC`e)DnIz%Z>ZsP3w_PNgN5M1-GVy=4;I|r9YS#T;O;uO6Lf-3 z2n;s(Ai){jxs!eFsoLk9@BRU|YFDjalA7Y}x4YMRpYDFT*KOg=<Kc!jAS^tco;P2kyM)yX+e1>yE8Kk)+h@`zB+V*`DZDq@`=^#WUXc9=;m^JsQe z+u`U=#d0Ye{!wzR&F%_^SKmhAskS=ysYO~!C}YlhHN)}t<<0j1&zbvg+D#a zXy!BUDvrzedK?ccJtOAXzjh8*&U;`m`4E6E3OKC{Q#NvwrIg-V%YE8ReW@uetD)8q zgrF^gTmP-XPlhbg=p?kZzNFyr*C%-TBUB;< zHllL@v_!Xl#MCE0KiUf=hJ!&28-O8d+n>u@iMULt;P^JvL_cm6fr#G?PkXw;M2p6T z8p0Lu2n{RD$%5&mZ1^(J`%6|~cc%Xg&~%0`Mg75&G#WmUW781Us33iI^4k=HKwNs7#GgMMhj`6={H zTK5Ek?W(lkj8qSA?qgS^J)K{&?(Sp2dakD-GFHqBj_Sd@!QwtmTS&SA*7n}mEDHOx z+OSaefqvZhVa`e=3_mks0PCxZVF!0~qfmGDzM_#R?j4U}pN9n%{EgBo>_T zCJ69^8pAkf%IFXLT(WL_?h$Yd3d#Oi=q9I+#bQsgRTD$lb5ymDy` zfn)3HE9JQnKeUYczs~JfEWUkpxmMX3n1aX#3UKg~4cY%ZvORZHEG``qjYx=6m0g7d zFV^RAmx-HTU3TW7r5%NVR++mzMkWZYe&@0%RKB zBk1?cCmf>rN$IKVSGKy#BgCd0qJ{adr9^363A9B8h#_mS;;R62o(tE(wv-Q|I|$qT z7v8CiYTHN3lKmm(HNJx6W<{ujZyeW6`U2&aDI>$QBy?e#IMG<8Rn&nb(*2f7wLnZM zrz>CxPbx-VX{01Z8=mn|-!MiIc|G_y=*eBB8+x+_9UBdSn3VUi7Ds-~kn zrc<+l6o!`Ckn@;xaNo{ zb=Pk6{mUC&;XO*>Tmhte?a2|v7^}AqB?!+FI}=~=kKrVM1<9Me5fXk4vT!l&unm11 zC=Tzh-~^K|+s#kjmYHH$_OJV|+mJWn!V(H?S6`&wlih5L!EPGtdD-Ufp{BLOQ*+)M z1ILS=35^;&qWpS%_zVYSP|YLFoLb({(U`>DDT--*dbOU0cLtc*T9OY-lh^q4YL&#% zT{;EHkQrVXNV>`i!~Rp(Egbpl&j)xpwux-4GOBr)={UmR`5J->M}?e%w&^$@vP&r= z&Sv@WZFi!IZ!yTD$F`BiwC0vVmsTffE2c3!MKgvSG+YsxLBBgR*~1AcW_M5chd?z4 z0H(S0A;r(PX)ozNl9*vgIpv1L)sIj=J99=~mA$QILry@w(#Vq^8ALtKwXN9jyN=~J z{aF*@?Z4`ML2CO&NiC@6&i2LGwRFLzxZvwNRavDuC1K%VwIcQUBve!t?hob)R2RMr z;wMR{BjFbkzSHgm-9+Khp-Br5tU*eVoX(&RNL)1GCPx}33wJWeu4H&gL39+=d2zsn z1+>|o*z9YZ#{5W$V=|lf0*yEwPOMT3JB#hIb=L(Us|h3@-jROKS;e;N#V<8=px?f& z48ZojlyThZopyolKwKV+`n`9brACn7p5?Q&0ByiQ)>@l#1WdAnlm?P zM?C`#3j~r=+K><;VRj;Mu>@E+wa0P28m4)+=5&pxe|w!vcORR1Y^$#%0U;2e&r4sx zePp3A>gW=upZnsViu}hw=o3dZRK~aB+ADEIb5=iPVpTVgG#*{XQdp z=y^Q5%5vpC|LlWs(g(_ES_~yZm+H2VU;U^bQAuAOI{oNN2x*x)0V-yuoU+@!+XT^z zj@cb}rJ3Al54@+t;t6|~?}zaXgA?cXns~bb!;Om)srBk$iU}=joT8s!T^Jn>ZJ=VV z0cuoBI#I^1#;cE*HyGSF!b3lD5Kwn8KQvf>4+)nphTRt}GVRQbo>ks7o05uF=h^tm zN0n<{D&^E=#?Q29xRhDGX46#eA69tveoX_JX;-+?Js|19yoCo9ejKo6#;Ly(0Pu~) zr!!>>@_N10p`brr{*>_-jZ?hV~q1sa7;c)=vV*>lY=X}VdKOZbOSMsa&wWI`}^R%RKbK0 zQQU)HpmI7 zc=tjY-d*#PB~t4598N42>9^ovXyW7Ki>+=RYl$6=vw)Ydz#Uv(hVvoAC9Px8=5(29` zO%xU>6f{O@QXpzYi^z3$`KZ~bE7(T_=r$-f?>DQG5x>?{@gkKr$5CYz=|0i)cp+MY z+453T1J;4z!hAh^ODYyw4lYj%WV)KEuPSnOU$LK!%GkQ-eM#l`*1RI58TJTpoRdoh z3Wo>S`JXyL7@%G#2^$967&&YB@%dV%>mAZffK{jWrn01wNl;W$-HV%midd3}0KL_l z=_|dPwTC@^`c-|cC;lF0axwOVq1A0Jz_eem;JZCsB+i+&y!I$>H#hF|dkm>DYoz*j z%0KGeBu`C}uvK)XM$popZuDGU7=7k`MP`MqCi%1@YW~)@BqR(UGgTU+zil@`&81Sb zCMQOf$={`S7268lt1n;L=4F%@9;C6* zD)sQ2OvJQEHO}C6$yiP@>j-gr;|H${@ls{E@@xDaKy?mc+Dz+?WA$}+zCHu@3X9@v zO+%72{k}LjC}Dc7=_sr;LP9;NW#QW?zWqnk=}6P4#~17`d$~>>s8E1cPepjRbn#6+ zq%J|4_C%NeY%NaexX?QFaD1q&9%#0L4=)nrn%l1shvj&gH9&Lu5Bc#DasoydE=*|} z`zS*#x&{GNyvX`}lwq|XS<@M}q@RH_h<3e%5gzqZgW&<^iC!#(^e3!R)6?8rJ-N|w z>_gNCc1gOe%y{EoK-0avH-AeQbA5OT%1$F+W}bY;$jY~F{OwoBA`Z)G0h^W1H9;Jt zkn7>Xb#FMJkk{OWJlJ+;DLc)ynKf*Oeb}Okl~IvIZl#Em>Id91{kfYfhXPtfKMl`~ z`Envw_i+*5qHO}s#YuUCgh=iBaAUMU!(S%*-`n$(#&?H1&yuT3Oxk6>4`f4P?!$|q zSCx7TFHPF}ifW@MtOe?J7vrh_Zg>$hK6rXM(cA8%>x4|N46N#WyVXM(|8+1bdj86c zBasdOWlg>775rj9rgEV; z8nvkMRJy2gI!X?z*)T?SrkT(&f(n)6oUo=e%MTv7@C$Nos$OiK%un=##=f3{gdR?@ zvv=25z)jBPrNr^|*8|sWH|x*ow@}bF7d)H6sdAF@Rdw8QlU)nlY*Pg+};@-i)T}-8jUHiB^4&Y3lmuTs44ArG>h_OD}O#e)M$n zWEu1@`A)36&5cBbd0Zviql0;(^>J<5m5u_p4KRg_c7@ z;Dq3GW`(p*h-pWDD}dZAhs$G}in{wi(;gonoHXEQc-^N4B(d9X4a_5`Ajgchn`4B> zovsHeQ%8T~V5Ej#-zGN#()p!qiTbdxt6~M&S?a!r)@+(bqG{nTgF+ShkZrMF_S8)P zBK*_{$)m#Py2L$Zd7JX_Drl5L_T?}XuuIK$Au#|bJQaDOJRCphqEN8pDf}8DWo;9w z14wJ_O)4-I*zO^Zc+e?Myw>JF!;&hxkbB45M^tXgz8%Dll8p^Cxd+f4@>3>EMic?I zk94;vl%%J6HSOVLd!egxlXD1sGKK0CRYHzeO2eZ!V(U*2YzEqEIa1z}7~oYKp1L=k zR+I(=OXlr~Gx^x6yktKl>ZcDaX~+G5x;r;&2XGJoU3p2+O%_3MPpjU{hc#T!Kzjn_ z-s;ON6wa2aVHU=TDQd$nw0yfv7QqUHi{Q8MGsuckAwjC}6#P=NCoN>NjmUI{Icfps z%hcNIDC##==)LWr-7JQrPFDUgTnH<389T}@6tG98{yvoim;Sq-WRCA~4s@XBz;lo7 zs){*80sFk^wPvNqs;-&<8nXht=yI%rje200)k@N+9DcRuA#$jiQ7Y~M?TfSv+4l!4 zfjN?1>~RjAq+|(S#Qeiz3JwCX~h)aQny50?xixAY0J)Iwstb^e>&gT zabu?bB2Zr#{aGJ3cr6_?U|eMh)qwq~x*X{kvuST;enFKsrA?_G#FQD*cX%;U|Jri> zTFdRU8c*y&RqyT7XTn%jyWLImMJ0pEtKr>kuC$Ebiwpy>K#!MCZT?tKy7;kc>60TT z%&BQib%VeQ=l8HQ6HG;?Di#xJY}` z&Z`;K{fVkGXSkl}2W8?a!QDi=)3HI2_X(e)*XV?~r$|UuHTA$%YX!#Wiiz0awR;Ae zT0vv`{!(A?((v##B2l_5P3Z{n-lfrd!PM}9a5{|%0ZQz>x9y6u!Pk4M6dhgH=S?jk zDiXhy=YDHT6@1p^fSWVfMgEnh&M&4TWzwu3z)ETQbSC7?Ii%{|*9LV=NAgjs*;el3 z#s&e`qJ0IUt)3K7lms2u3tl*nq=7C<-aN*|62i91qcGbrNxD$_V>+?O5}@;3O&Z znhASH8ehYK#l`^ucUtLdZp=bz5DVok{Ng-Mek4Xhu3tb%Fzh=+7V`Fga{&FUl8h}Co5-;461B74` zM}L~r&?wl%5o7rF(v!b_e&b@|(fDJ*Z<;hPX$OQ8g=r~1o1js;V9AvqHSDD9i>xGf zYae0!faIuLoi{ml7>PICi1^1|Y+jMO30TTBP!V3pbH~tf|_m z3QKgtaPdQ~J7K+DD6;OeHimW(7pYHudEt7kIS;qm7#x?`V7a;bxhU*MQ}W7VGhI6F zHc|(|y})WWY`&8#cZ6&sum`K`#>eY^J_WhTqS&6J;%hxc=oqiPW_XEfQVsX~Fo$b4@v*M@A8ptYHr3eJ<|^IPfK<^NX_!@!{6t)!)K zE0(uES_&cTG0?XmCk-yd|?t@NBv zx1723lzz}lAp9lgaVn;?KqDQmopM_I7Ldg)U-00EmNfOOc>5jLOu&`9T;>HQXTeKe z6jayy%kJ(A-fLdbD1SZ5tLnJp+2iQr3@)xI-rKLShB(QtC(fNou>GANt?B{wPznZ&W zqXCcYJ<9jOj17Cpa_-JO3cF5^>u2C`bM71?Bd+pyDf>-UUWMe`IA)A# z0#JQrd{iv_Rz>T6Ln)2U^T*F0Zg7ixePC3ZMm-Z+|Cjl(yS{BLq5OYYzt&7G6H)7R zvv``HQg?Y#lAlttR)K>0$Mi?I^VS6jbt+qxqowV>rY9IZp0GOkZ;Llfu4eN3@wr@k z-@9b5#{E4%is0#KiXI{GV%guFqXHK3>Vs20;-$0YF=6;H`D79tk!x={_ z*|~RnHNQAwy}HIdA0Xe{ef9NKKI|$w6@DndGr2RH$dLUbhiWfcC%9j;1u=87i(|um z=c3?$ZdADHgvpa zK7UUEcwp?Sw&G54>V3cQo3AK7MWbNfwR4}BdxMuO|dC zlJ!}mkji{fVFTPf9NENgNu zSemezvj4?jn}>{3sO_ zSDjyx8oHfasC!@pxyt;guV&{-GdK}PvS#Y1jzyofXTFZlt}B_Z+jy+&=Dgm_aTCUy zqYKF`4P`_Gf4$Sw{fr+yjFQwIi*G%$yHlNi(O=Tz(T%YB&dn=^-E6*O%cFJLpVz01 zcTW>B?&t^(aX#aPO(?)Eo*i3cCcohM0Z;mbzG>3?b2dP<-d5~)_-3yzw*9?ScgNfl z+qGW33m-dGjAT5kN2I0;oNO#iqOg|ut$C#h(9Vmf7z6K!tMJd$FX`yG&#!H=vouu_ zL}v17){aR}xY90YA!+v|YIj8hS;?-;&2e|PotpT6A`4fo{_5Pxgkx2O=&UW6mDV(g zRZ=U-h?wS1Fr|IBsG)kuf10^K?OBE;hjxxOKC-#4z%JY+{IdN{v{~GvR5?(WQ@{8& znr7`}()NaRsWkU0xNk>eA!9r4gqqXAeUg=Qfd0LsA zMYL8Kf2l(hSB_rz5rAP1;qND86!}v@<7>^cz=hRtZG!p%H~Bbc;)se4?b@ymg_&l8(?w{49zYGZxy= zDo8>ML&$Pj^`D*@h`+t^%2vunXQREYU)9-0xq^>USZs}YnnPaaWcwm-g3LMA18@d$ z6OhMC!@4TrT%F%+O5U11g*{u>VgAN~FEvfMCd^S2bUt3g`0d5M2X6_oPq1f))--bG z*ooQrGIw?z;keO(zPQEP@>uZcx9Ji%x*2D`T&X?#{2Q^^2q6oEuq!qcQ*CP0?Q&&K)I!_bDNnqUOvB2-lHJRYFj}dA47Yb7L1Qnw&x#`B& zrZ7?{?`eHR*DP=77Dm`34Ef#%(ZQT#@{v(Hcf|@yR zK*G;k*9}+S{C$lQQ$zbIHv0I^7ipWEGx+ri0!P*|`Z2XSp4qWE<7{RJQdvld_K0b& z`JBq5+gC&eBLXb!Q6s;X-j--8i*FQqr}kvWKNOF)l0dBagiCu)1%x27+X$X4+5tgC zaPHQrT#bUQH56dYgVB1C%gw{hTg>^Ac?{1PjvRgm;yP?9Zyg8mCMh=_BUcf*Necru@}nR=wY6 zYI-%F4K&5@&HVI)ALU&G&W&ukuQbb<9#YZDFi3b)*r&AaJxx>>9EEFFPJJc?PheM2 zUOkZn;)>af*oX2S!C5Cdo!OYv-67v(KA4RS~=9;RKdmFbug%ZDRn(e(O z2ydn`UoZ3!|7L%iRQ|^~S%E$xS)CWE26021hY=zRd=Z$k!X0yg8MkV&YmCuG^?+-Ye-E5L&@F4K(;TPCPEhNQn30w|qETQDjbe#M>km_1guA2O6;CXMhyBHY{ z&TYf_tGJo3GK8@_@Xe~oOp|1^ksz&#{I+l`vnp4g z8P-fHRsx=Cq^C+7znZ9eVSbD;(s-s@Q}=U7&p+~=!O-vsdS~WhTw)iS`w&~YvDRdU zE^Lf|izYcusG+qW_rq?UHXnuH=(V+_ zvaCWq&o%2!G%%e?0cDX!KU&($A!Yt&WX)d+q6VcWtRZOeU+}JSEGXhL$EL z{8(e*nYm7ve~QdZkNvc5{^-~0Frm!5wN64F&q@{7rmZw!XZHZxEaP847lRX|FOwID z{B(XiYCbqmp3k_FI@O>LOdr1D?{;Td)#t%o)8~~ziP!Nog~?fn z4TZZe;LaGykpbQ<;V!AGHf6&@L&p?wv3O~p^%i90Dvq`ZS$^JCI*=(nZOFt#?$QyTy5LGjorOKu09VcAC+k?~y zzfQbf!dX(su0mJYcU5~fT-fsD zEd)V#s{bA@xya>gJ?u_Ck<3ka-!yq~r7&8a&1e^%)icps*T!}7MT$ryYgnJzYCX>5 z$=gQqO`ZV>0(XG9FGDML6%Mk)8A{zfGL0HzQWX@)&_-PG8MKkfW8&@B!hU7x2aT&C zS!gpQ#j1l1^lNdYQQ+Perr5}qL66cXqOJxlRc)Akn`{46<@v!QWbldPN)Bicg=xl6 zXYbS9xLgm80^c3p+!p)DezLoH+B*{$bpmtVI*Zb2U2XEPZF+#NQBJT0J^T>O^!VcA zl3a>8WFlXgDK(qc3g8z*sE+1pC}ct3{VW#d{jPQFc~bc^`tb-$2XF@~g_=U~Hmn6# z8_uz3<%e7_YHydCNm>XJ?Sz>*IJ{0jQu?u(?7f7wq%wz)U5n#qvXnwMY%X89DAUOF zJ244ACXF5)P{~cE8B&b*l+1b&i_pE+|&qIdLub-#f zd{*J@Z55puKi=CXfFRFU1RGS3H4LXmpXMlR++1}!3%Bw9rXJ;e z$9dW<`1WYyfH@R)iOF%ZG>5T1a4&v9FLxNSGlIn~b6G?KdpUa;KmjXn4&0`6VlrH| zfY1vAL`gt(2_tS~X0VA)IpIE0Qc!)ukejK7HVX4SHSdtEth+wPQPeJ&?D1hj_tPl`hPVTx68azY#_%_KHdmiGcNLLY&w_H08R2+XTm&F*isBnK4y1*2fvOi^NTezp7dNRmOX z@7sC%Z??hE?CIaX%~7p79WYl=i0{6NTl9MAid1CPMgPI%ZfW^wA0?veHnS@}qgSw} zF>_uFqb-0*u8*Pp(8}#|a!ff=P8Qvli(`1<5qrcRAnZoQ<*I&JSw0`}F0>8v`*Y)pJC1Jd&H=mNtt!wCd*p6hEk}$FfCE9_HjDFOfLvtbS zr-vVoA{Smy%Dx#DTf$sYQLRHV6?5klhy)ha;r|w$@H7nsj)`_XCi3pi^+-Y)~k~M2OSs`;W1>4bkuxVf1#933tNn!+fJSD>uyDn>Aqo{~TI)PScSG|nJ ziP8R<{gCDaF7fP=7)yUXA2C3y2+$&Cytvk;^W-2FLysUq$pOE)wqcj(-ek?PiD&=K zzw8#Ms@umPvK+YlZd^7*!Rvjku?+7`Swz}Pt;trbR`T0i#TW@W4)?%Z2m*>a<&?!VUd*Y3Su}7#2Yx3E0HO;)0)~-oI`2?M;xv0jC81gbBfAxy| z3baCGrwGCFTjdx6m>F<7pgNQ>%p)veXJj+HAgD;iO%J#9*#nOo1|a(8Z#~c=sJ<(J zd}Kg9`#m$9&sM#5)GtE=jA1J!&Y_}gRk&gl&Z~wHeA6iw8AGEqLvn)`EL|leQ zl{D5?8`E_)(9Ug6aheHSJ25<9bUk5s__gbadNm&fjmGHb=@AV_NczPJ^ae%lrV>@a zL9XbWrRkwpQJdoNTNMF#n@Wsp$HBfln@C1XGd!WGobJg0>Aasfa!~T2S^8W};CU_v z+y#3MaI~eT$hOwGWeN+|V*LtSrX1YuM@-Yz!!5heZ+vAyxL6s_!AUvi(7Fpa`_*;H+nSQMqH=TV`FOj3SMRp5^_@J- z2>5tx$yRe+od@xMP8?=KVS*f*z-O4C>$*}3$UVMlWAlwQv~Q#`rR;x}|6%ruzf}O( zN_~)A^D$0OW=S8O)+c8U4s--|YY5;=l`9)iBdF56RsM08d$d63eh=fmcd0%IjzHI> zVE2tDRH*ktJk~`APq7)*^qta7avJ~fPn;$eGIty7KiuG5Z}8R_+fxbB?O4 zGmwJ?k56;G#v;w7@w$48!R~-csP};iTS^QA7$N3{E}`}*_3f%jka?G5cB5AMWMk*# z9?}Z;e16;D(ZQr(+exd_pAp`J#|axnUtfxX$A)Ya9e5orIo$kybJ|$h(yD1DgdG`I2$0db*@6hK^puW&dJchNH zaB0A)z@%rLKn2fA@L^WWqV~ke=kW%=2-n{uf`T!QwqmnfnOEX@(&40g8#0~Yg~(tS0Gz)}`;KO^6NJq(a6v6p`-nTI9`;^kem1)~+-*WifVG3kTUPMPID=z)bF%%~h zJ8qQ>Noa7c&x#lyN>$$U1|U$@b#XhtvXz-BgO`qjE|;L9BxKCx_^F&^Ay2YiaEBsc z)OYX9ca#ca8HyIF5;r7yBpYGkyqFB%y;!Pq}PDOYWIjTBeJ3imvo$l!DHA-5(D(Bnt*r5|gYzq#y zHJdxJ=vk&NYdTs%oDxQPbs>e=OvQGu$*9(W!K$i+2>;nXtaS`{C1FaVIJ#G=$JYg0$h`b;{#Y>Qt; z@K!y%^R&IOlVPQ7drteD`txV|Yg*GR*J@5NdAIt(@+#gjuG55nf)wl8aKz%l{N8t8 z;BY@~GIWedEeaVt7dz)U6QdB_y2zb7t}|6!dilvJN#V`@xgq=fAY#4FvEaSFzVaFy zqb1ec{OW7m>LKRpnS8yUymac6-w?GJMBx$0|1nVryF@S|I3su$7O})b?q;2X=WzHj z{+ErU;(->uW=kQVGAmw870OZjSINioep<`7n_qb zI-Q~Y138VBp-qxWK-p=DaP>u#99uTH)8UXBg(;!_3Hg7WdGLQaAH0NnhX;$ui4x61 zg;=(DDGEi8UX%)rf;{JN2{UU3JXPHO`zcCJ(z>5svGXgD0khutm@70xPRAKO^pKOS z;FZp=k|}U(buCRE{9fl_HkBwj>5#FH5&z^Q&WeAZM*l|Sg3gm(mVg|$Qt-K@g*U5z zCM_cMMy-VrVc#DTVLkN9V3^ThcrRPdHK&A&FP9C<&9*@>wMlEBz1tCd?oghlMsK9G zd1UcCGmvfO$o>Q6|0or%<`8x`W&~#x0?izdr3#YGA5$(Zn_CUko1jr>S{i<|Y*69W zV}t1J4h~)Q)Nk9vuXK%S-1IzY(uVZLMge>&cnu}*QO6abfG@Hv+60zg9Mp-}HiSQK z^&SmkUj7n|SiY+;c=vzJiGX+W2@b;o82u>&8-_#S1X8PT8_vo|SuNTn$WV+z_;pl5 z8pc>xBp8KJR~;{En^0X>7dQGMxkFczBs{jUL)U;um390oo**`iuuZh|1VdcrmYk(N zT6%8Eoc@#Hh=75%B(_jEz3)x=1d!n$1jxXLgKgI#ksCz#=ujd!_1fHA6d+w-%XgiP z2u3j{rvIX+_dYqMCsF+*;=)!8o;(O{wlyx9zon^NB0IP1PBMaqHh-qlubZ#!;QMWB z@wjt_(q&~P(IfVI45^`kn_TgAinBbXK-2*U}90^1h&^ubfnF0?f1g3f3+U3Kz^VZspIvo!I;h5XnDBpWz)O18i7_WjK> z#1G$T{CK~2<{bG-p}yU38g-Ly1rYa(g_;@xRj)uVI8Izr-r6|_EGdo@iU3CTTv|Db z&;I89hu^b};sY<~hlLSO?ca}97oS)52(u;dinzfyJ1Yln$B*4h9`43kJ+k0ZBk*+% z`D0+;BV^{p%@NS;HPv$h&_5^yt!ZKhZKV5dsXE#~CucmUoa!R_e)yi#@-9=|43h2l z^!ZBnI9=->#3!ui-bbvp3aZKOpN^Ai_6UIE1Jgxj$r+G8zWv{8NA)dc)h(BpA5AM8 zrUt2I$~*8hsuql}&nDCspdC~HYvpp^8mc3sHbgGP??5m{oIfF|x zn!Vo-tgDyp^_CQQ*t#sgeEO5Ws!0|2u(QEh1M%#sbbQ_>+aLBVi=Qo#XyJW0y&qpI zILomDg-*!-UvWOJ3n{_{I$?QspnSAGw;V(Tk8Q%=!RzUa=Q7VQV^%r;p%ShFr&_f9 z_Da#y1&_;he7;$ollp&?Gx?yjTsdFb^0 z^J;|buXz`KM;@Vx22Gv{X|@UbN~~N(waro_EE`1Zmww)=$NrlCtQ4=?vSThJoU!%h ze~She77`;)stGyp$u(J|gcM|Ti&#V-PUn2i@w7WM%PniNNsug*Cr}=ff}j`FUB&pxx7X zq_z7$pt)SC&eHfE{JsK4$-1C@LHKqV5Fh3w0p6NEj-e;I7nR&3Y>s4A`In2Ow6_8r0A5gts& zcZXdruwK^n5Q7~OdOJM*FLne!fxxa5dEJ6MlaPmdXf7on#&RknJ$-K5&L8CB&dPQ+ z3>@8l8hc&aTij@|`VsOaPPYpT2LDd?Y143GkxZ!GHJMtwG+fhKI~Q5wIy|TH$RyJ+ zG&fuO`O_-h>8kspx*iru8F+C*l9Up01|twhzKX_Wr9W9<%Wo{SmZUkOi z#m4@-7egX`00<|pM&Xp+SIA|LMECrIWEytk2bhdYEQ$x&DLdegJ!&WSH!YWSA{m%Y zY5{-Hxyv0h{gs_&3w%#U52F37g%|xvNi`U3zqIUVIhn`pJiNUxk?=5Cx%vZcffn=4 zB`xWUdo+ait+(af0~+{nsH$gQ8^uhV-1nZ4Mf1wOZrADFBs>Ts$6{%I-^;R)3edK6 z*~zo>uYg9zD`Q=;o+`IPJ~wFmd0fYST2IXOg>I?}xv3@K8U`@xs0wX0nyg-?3GIif z-v^3r)udGxFE6v^boD_eCrR!BAOMBn$TSwk&dzY>{hnyUk*8VDadFef_*~Ac=$sVL z;zGHdLnO#*u$$y^&}bgg7xa9(C@~VisWX2r{1|IS_2^SQAHeSg0yXx+=FhF-lrwHg zei64$O`kk#`vx{7rN9=gR*(GH%-0t0K++D~cDn!-&KFok( zYv(uAZr&kj@y(xn`YofK{so69D{}YA?AvymnWKxY=}5MGWwxEIk1PSPpp6a+t6Piu zduQdT?iNY6`0Aj#NT4#5kfM$Q>2NaUapu-P0BZS6a6rtv?;((n=5rAMt%7tU#oUXcUBsSnNvP(F1O;&3`Ot~g0rEs!`qy-UJ^#be ztwci>!Kaz|UYx@CFX8_ANj0P>iYB4x`-mp{+a!JSfamL=XSIdLQ|#x{0yA~XkcH5W z@`;ZLJWtE>ZNBkDQAEK%yRf5$qm`n+1pG25H9q!$0P;G%*uf$LGY;khWI?MQK+gHQ zFPg?;@kCRG*WPaa<3F2hgphM^s_WosKB#Sc< zunEH;VfHEBIgK^9%^>Yq%6brt&vNcM^Lm817t9xL=gL84k<-!iDWZ%Cw5UiSD~5D8 zqY@xvo_FsqYHaGGy_s0-Vsq?`<#r-aRL^>rS8jJ{!J7`%!P=*RE?#~YWqACB+;Thn z+>;{NcM9FD8t*z0-4$Mm*yUmqU7lyBwQ^qZ@ST{D{5MoG<&P-)Tz|tQHgE1-hAS7k z->&-Y}Pe%Sp|Sx!q6{ z8yZP?irf7u8u+GXvFW>Jf;!gCpiKVQG{>&vZuf~vwTMdxf40Cyk?}n=?oM2`PlR$e zNoSseve6}JC7_YrZ+nI6e#|0aVm!w{D66=*b>x%kS{+G%<3x+qs@bJaTQ1MF@DOjW z3()Rxg)96(&u@fQ_3~!<_sbEZOqXBf9RrhK4}TTI>%Uqe8y6lO1&Qq5BvIWaQG=fH zS97G|S$q9QCVEl<$AYK(p!6m$!$;1la^pM(W$`DzXp!x$BXZ-r8A{`wsSc4Q-$PL6 ztl34AR1O>8G0XkWe+Nyi*l-xo3ThHOhhN*dUy>IUMu5WLB=5p#wi?4W_ecGKy3N~7 zlb9l#H9i!&7sTR!84*8B*SgvbmUiK*{vjC=VCMP!=bn%@I^Yb<;Jbn<;=XXrDJHu* z5R4gz!gd~l?@2JUWs0!{zYSc}MWCy@g)ad=Zfke(4Ghel{c7jq>X7vO4X@>3~=4F z|C16hO|R;@bG5t_FYDj`ip=SJhVLM+%SsbFUsy~G`13aB@&K;Kv#n*`5n(YWwd9!H zL=>xyov(enrvlgAFqHh`2!Z(u@(Cmg^Boh3yJE4s;saP$K1aUM&DeN1P{3VmYC1{7 z$y7JePxMl6{A-S%Kgh~J_EJQ@Ed<@}s(XZEay&q0Dl(TNQSXo}LS6r2bkOQhr!}#< zUR8$dy~qx1XW;_EMGNhClM%#hbchSF8q;f^masHB`=XlJ`sjufB&PEuBo1o&j!x_O z;a8ggfcIJh<{u?(WbolMc1L6?frpQn{1=p0Re-bVAd=F_4Dc?Vv=HW}ZC}>2cvo$B-O~dsXZR^q>>_?Y#Wh#`L}*`$DnQj;*6&+<-LvgF!ePV^@OHr z10zx9%To&jncE6gDA29L%HRLuoc21WVWaV=GdW6Vf$AsSV%G@r`dzEbO zg=D9;jFh|b{aasDnZ?AIj!vh*_??++pOKuj7~%W#d8`02Gx#Ye486$%gHS{xA!g%0 z{lO+f>>%<0v7kR2^}8XCJ%zvpc~?$P9-7@1 z>&KR+bqmdKHe#O&F+xnF|A)CRk8A4c)^6*ov_+)WmU*aB#eqRU2mwN>R;We60hu94 zgvcy}DTD+q1yqJesmu@*1!M?f3=oDyMFKKKgb?Nk!2}3%2q6=Ehx^{!t9^U_|Nh{| z&LJfG?6ddUYdz1i*2a!4g>z2$r?QJs{>fu5#|5dWy2#wjg6Dl@dipQYc-Z>W9Ae*| zcnIP{s`$8EP(~ykLmyMg7%lz*Bs~J3ewR%qnjMl%GvNDqs9F~MX$^%tvzdwrvN533 z$2i~V&~J}QhnBFDldijL^|8XU_Q0pCH$fy2=Y_N~NVq{Hq~=+*6)Y}1eX)z5BNwRt zOAFZFN-&vZh&cd?=1l9ugKzV|83Ggz+DkX@?7^AV*U_RK?e&7kPjjqG3f}ljsLa_7~jUb;Yn-dKZ62z2`@@&#Lr~>c48# zBoAHiNmq#V`VQ5(?Ayn+Zqwd892IQ-Ge1O7Il-ne_m*7S^X z^4rsLVC!y0u(AB5a38!WC|fT_cpw+EMqV-Ey&5#>8PV?Qz;oX-^M{1p95%Amuy%5g zU6PzCA3w7upIgvaK&A&&>Fk(}JJVCTGwgPLTaO;RIL2 zP35{x_aCEW`w=izN_*VO8wPt7{H|1@#;ZL9+6=xSLaiZhcOw*MJP0jBG;aXV@m2J4V)rr@^p^+V zp;dNQZHxjQ&?r0Sk9n=!jl@i!NM3$Stu>V5BWkj8k5aq6fvtb#U8oUW$DJef>p%zKT(JHL)Qn&(rywE8rL{}lo=$J zdg->d@NKq9c!+`2b(&~cKXGBUnM8V_U2qO+`MM3S-1Dy~^ek+T+#Zb^fgSB0cV2Se z(A5ItP+qCalg@gs5>=OI^I)qyL!Hg5k9K?Za&qsZcQw3c(!UgKh>X(_eS@YF8R+p4 z_nZgTEKaLqs9iXVr9hnMk-r4x$)#EmOUS@cM|-1Y_(9E$u-*!SPHYF*g#Nw3D)Q$t z$<+n!=O~trZHTb%AS|SaOs^U(W+#p{V3nR;F{?u^SY!X3HGzNZhOh6x@%+-5HCVUb zB=H6LZL!79Dt%y36Gy#%bc<87_xvz(wB*ajIoE=9Zke9HR+?%f0?t&Z+2gS7C4*Dk`1!au<3b zm8U9r$zMn-PwTCM1fg4Bk;7co-C>YJNH}|+bpcF^HW@TBnM_7kq4||dnYL65^?7p4 zj!yb;42xua?HB72VzdR`FwDH&TzTr5t$|0;N&A8nS&^gg=lJYZ|Gd1fDr zZV>3x`O_9#D&4J;&>T0K`pu$A`yk?14TJd&VTWliE@v||V>4rg`jy9s5y)^I)ERla zGyaoZe&@E!)CRXWop}y$nY6mA4*Yuh>*FcMzYdEaADQz1=6F5o;PiP~SZf z6U#|Mj@f+&LJRV-dS11r)=@3rIQHJAh7pufheV~nhQ9MgT<$68JCm-z8(8hxq9eKn zdghf1-(hmKqh`EYQOjuKZ0Xy!GT6l*LGr=i_1`>lqi6@@q&Fnepuuut{MKgVL{UOZ zZy`w`kypF*J3N80|Ins{nmqAhu6E_6?^ypzTn_`8R|d!3IoAuJZ-S?rtt|5`hdM^% zK~_3zalO`o5yO1)@oXJ5JZsvowHzAFzS>1q&O>{N`5Lrq^XGpN1eH!vp~Mh`*T~bd zR21Q3SY_c15FIWEntQ8)`im`|aId}`NIAS)|AhY6kx5#KC6bOKe`Z{cb34Iie({aA zC+pN+_xZy!M>e{5q71)7hlm}M(i+*P_Cm)I^!ro82lj!Lt%C{POquGA7B6!l@u}_0 zyTQ1WbkV~SLt5`+UU9T>c5Qd-*gbW`F|5B@^XmN?jnzfe`+mf{`w`>QILM$(SQeXk z)8ltmVRcxv4Tm%(~DBDX>W?i9XCDv%^&vT zGt9&@Y;zmteGGF+0(TGhV{KKxAV_X#gXe3PHsiF$4c9l=WWMObRP)Gc?y{;vzPc5E z@$#pk;b_7(O2!5k=DL;wfg!!^w@fJguD%+I}oSO}2mGvNheRdiV!ba(Bkmx2&OBTrjmG8Db;MMJiz)04HLe%1$v? zDpPtjG^?WvA70jo5~ zaoD{kttbhLMc#DrfDnb_Bpv>HmQ= zuYeode+h~U&xhgYW0()=8*Oru*RQj!87Dd1f8~X;7#LPo5}()wPl;;P-w!)T1LZsmy5e>_HrFIy^r0z*rmdPILr1& z6P65kVBf!OJOH!|DeBM7{QzLac2@u(DSj#>(Py9Ll3R6R?2`%MN+8b@ZBXfM9XYY= zyrzYkFO8jE0kBS8LM4EP60~BcG+SlwGnWpBOt(*D%HY26!hJQ`07iOdK6;_$X$X34 zZe*oTop)iO@`Hs-psB?0W$=fS-A5m;nS?mGcsGXb<^IygOfkCaY>?7NNiHZ&Zqqzd zva=doOQRjS6&{o^`mf`AP(LvDK#=eWe#zSpJ{poXiZXd#cq*49;iMYMjvwG2YRXhQ z`afC#5MLe78vC=$=a>0^ZM~#*5oeN-v1!B6mi&Xz@PpRb;j-D3i}Bq(c(PSv8djrE zsM_&*><$ars*7gRH7KdK6qG4()~U3&?ZpFm1R6~dh0ND!6fY@!C9Pmvmnfr)Ztca( z)J7W>_aSXztnS(jBQVh~-iw~?0yiuA3PoqcslH)YLDb1O{Q3HmEKsIZnH1yIDU1H? zywFIm6n}=_nq;Tljh^7hA!MD*mXKDWK(9k2d@I|}H;!UCm)g@lF&L-c&uj^(m~i`2 zgvzb6TX$^UyqflM*UY=r;rtC+u}O|shohE+j7yRlMb5pI0KxEBD^^+>dwr}pc6B7S z13mKeSy<$ABj1vM6m}+aFj=eV!9cuOijeNrd)vVP(0+AP3K83F?VuUIgmp^-k(8EOJ zHev=8V>!JuuIQ_?&5~;&dOnuAx+!b|E9I){53O~|G>)kj+KMCg{;|mVS`wz-2zpIs zLpM3LR0~08?+u+F#jxS+aZdf8d-evK+y#TIGmN;#bt_gxl=0F2q(j+y-EX)rW2LU9 z1|>+iI-VrexU<0Z3qpAGhGHSk9FH5()Y0SGeEzxBGjdQ4`*szJc9AtyMHZ`)@ ze7_k8+sDA68fdykX=R~n@4K9L3fjhMl-4&!rUD0pyRE;)BTB19%c9!ZN#twYYzl^x z9`4OTyvKzH%E>`9hy1%J^R)x`~Xo&jY0831-mHGkV~HJ>pJzR)5)hJF5Y&p@y?wJv0QlsXmN zwS2{r!VvW7}x=qw*mZ+-=6-wNPIkuE3;RAr=ie8#Lh7BcXYPXR0Fpwmd%9(#cv2Z7xg4L}_xrEBY=~tfRFqzOXn# zyB8=s9?&(0nSav)TO9t*o9=TTEV`%c92&6uwP!#Xr`=fTcyby-N@4jX9dNW^f= zB2u+W;+p1fC3_Y{z_0Mz3}ZQEist?)_ITprimT+DN*aTmuY*myz=)xPa> zQmw^MMs)HcC+TBWHAVy4?KUCjIIoY}*E4FwRV$D8l%R~ALp;{*w3ZvP^D+a2T`ie@ z$LPw?)#JMm1NBv|mY`69XA_IwIkB?ZZ=;<)lq%x|>S=TD7SYeD%Y0Ho$+1z_#21;( zg4$sc);Q@Sb}vZ#3;zqjctj-4FLv!1_Qa75&7()VDzZW4PP|`Q9P2Std5w`v2m4uo z20?7OO^7BJHH3}aemHq8^DbGTJS-uA$CF!uN_R2N^zUL+M?Uf@|KO%Fk>w`WiyEYs znFl*6Jc~@r-Irn{Z)p3c{;J+UL~(js&dwjj^ZOCK!Tay(WA(mn(#Q?9QAy}Cmk5`Z zrUcEm;d?d~QEIT$f_s+HxV@@q*#X^&q8ah@??qfk>L^aYc$u#8A+ZQJ35bmFo=1yw zOaqv?>ncO3^ub)U%PiVKDpn~jRpxzKFF17+?)IL?>T3{3ER<`N7~2NNHWTOt5P`;< zeiI{G>ve#S;d1M^Q@I&e;UQJyt-V8YMn`#~AA|>V`Q}>C$h9)rlURzl-Oz{@_NPg# zALr={CrPgZq`kLV(pLx7wr0;9yDaA_gcDLb&=VNUL+)v74_dAPY<+lDZ{B2SB}Y3H zhW|SZ1i0PpNDC8U!McXZA=pYF^p6R3$NqUyo`yp4sP)QVX3&M0y)7sF8^D-r7k$PVsr| z;iYU|*f~1Rz=#2_j*n;<)~S=Og<6-1MRWLz_S4>49l4V3o_bzo>tQGW*%ujeHkVSw zsh-N3%v54f-)y${Sw!_7?t32=1iGW+KG>En?;buqh(o99jx06ie#~PR3~ytYL_9sW za2zl${j{D(@W?fViplS!?>8=KKH<(ma1>IAZ2C+jzed_^6zb3yVX>}oRQ)nW15`Y8 zx{jQo?N)XYpx5hnlbaFZ@2QEggh6%3^+zhqe8+-5$p)_dK-a_01Lw#*ug}&YT%|vL zKCK)-?;rYrDc@tjS2()X^B6H9A1a-rwx5CFH^K<%2=Cwt+KnEqdeINjbmG&xo3tW9 zm5Mm(=NfLX^?d#@38#4cj!kf1X5llf%h1Bdh&i%%>xZH!^*8s_9Snv7Lamr$lRaEt z+(qb2D)=cglA$U&L!eS@OTI=EuoEYb%W&YH5w6C_=)IS_Ij<)NCmK?%_eIe{WvJL$szrTp2>M5_;)Bq&Y>|Br?h$ljI#S?(P6*)sMOz+=%y~C6 zQ!g%6s4w{~Gw^~S84*TnxcIs6O5jQ|CO#kTaeT^7wWQ6f-ga^HR|r0APs=^v7%--E zrH@;c##}I$j~yEa^&G*@=N5D;YquP^x*PR$u)g+Q8voRwVUVBbo-4D^6hy^(aRCnl z1Lf+)bKcQ!LRb3?qr^W?AW0{E^@0bOS*B=sDQAE`j})qsOszLl%Tmq92(`#wRY;kJ zpb~EYszY-a^rSuE@HGgR_Oml=u{NsLe4>4q$Og^1Mqq~#=}ZkUj+~PKr!x`nBGG#~ zKqIF^3-FYtH2!8#&arkJe^aACh>__aC-At&q7+hCpGkUbz9&5U*hfMYZ!|yz1)w1{ zCVHc9j@j^J>UkFZJ6pd}cch9hoBCfEzYzB!U9zE25r*uv8RWFX)g6@w(NUDzDCw#o z@=?)~`%}kmbny_m%@EU*P>~(BS;5S|w{Ygxg&bEG!57N8;c;t_l;^dfDOR>Zeep8l z!R>Tw&Az3^s-_y(Sd2DCDpcXT4ZbfhS;xf9W!Eklfox^wQILh<)6|-F>5vJ6*6Yb? zR~J;n_%o=ZtvE5np2c*)fxAjag;K=u{>v~}$5ZyA@$_^*@>Ei~cpQ(EHTg}yQaEkv2x)zSG%W+GlJ$}4ccfH-4N{c=Ilp(|>R++|y+ zt>S+wNFHw+)W_y@Q$%~{1%0Ml^=?=qn-`v0)2-<;;Vg`sDirW>lqVq@Ln6V%)@)}i zv&Q4nl60U=un22;J|TLNG6$iqCv9K$sGo1~j)0ka;_t4!YP`xtMM|Jeu^X|hCauP2 zi?JJ;tx2=>k6UnOXK{kSYdlj6+V8g;%XeXolw3l&(dHKdFNZjj=0wi z!Cd#b^l|1ulQyMs5wpgLeP05F+0MBGiYIb<&`@z6<;N&{t4R&xkJje@P`8|u03L+8 zU>yh#dRv@_m8I2}WjQMc1ke7$_*$W&;_>}9@#8|_ARQXvIWFh|F&DHcgvE`wkt8-8 z1oV^qU~!{EAlSrFkwZ=VR?wiPHo4Zz+6y`}E}9GtZC;p+9%#YGIFE0>O^Xzst{;So zmOV-Fx!Px;<|p2DP^sX^Ab3FdI&r;^xj)y=VGOF%~#!@igwLd_LDh$VPc zA(FI1U{%U!I#=B0ONDMh~57&a{)Ef(9vzw z^H+nY9k=$GmOCZ0irosEPqyI&?v-xki5A9jX(8mnL8l~iWTZIu`=f!jqbJ+jyWP*Z zQ}4WLdExv`zIOOj_|{MmaCe&~Z$kd#=6?Dzs0g^be1uZU-p|#+IxBspxUc)|>C^Rv zF--wY*z>)mLtPFUXaC_Je}BRG3J8NxezpIp+WPku^Th3ymw23g^dBbPw&C#RZ*w_T zM3=v*`2KoXa0+<*g{N}DzW*o${#aD^6tx``6uIjCWrzOOu-^|1p#A>thL1U5_T^uIHFo(+6T;v6_SZ|Z zZOKlLNy?dj8fM^IUmW@I-Y&+G-&LLeuTJLc0&n2twjKCCM*97C-vZ9gcdt?_KknGa z?H<4z3gCD9)cSu>d4=Rga>_*auOp3*L)*cL=W{-O=YO}&nZVfTdTKVZVl2Hq>2ys{r_lHbqe&I{N;P{dHRXe#-(RZ za@{|PHvSrsI(uM5s);F&|5cine>Nci^{(Hw(#caN-`(PSv;o@D4si~>8z}v?% zUza&JLue)0X{3@ry8r6?$BqBK56gD_;CIh!S`}a`mLtUv-<e%gR?~+u}kGc`rWx{!rpZ`fvy8kJ7yZ`CV z&zWDH%eRmT^OEYzfE&oaEPu>4-zqL8WM;LB;8bm3PqpVV=Qxm68|Ep-+@u>s>cbeh zRBfPDWL8;`+ z&!0c@80*MZG`v!+=ctLI1faI&(f&uFh3t1JSL`GeN=4OfSW3W$7mr*?H*Q?NgxbZr z|LmfvD7b2tOz%l9y8LnY^WO{W#gXj^eZ)4_0BnU#2nf5Q^u2Oye@YFbWld0#SXQB= zDv^;Y5>eyv?vc~bD+^okhroK)?xd|J6^w+|QAayFc^+(qc-9n^8L%38CjRv}-1nai zti`s0?KQ}1_8TzV{K89;5mD!qB|552z1#+)xmURj!M3D3q6fCZStNm>Rty@$xrNW4 zU=C1YZ%V3lfrBLkEA@-K*3IC=)cR7V>_fsSzF-#COuz~$ zph2pv?HEsSk^FSCN3*7qJ`sIUHaT8XL#J#B1Z1=q3{MsQCN2@;q5RFU7UeXU$#+=>r7GFfG6*fq>5(X}8fj{ei$ z|J)F_4U*C}0=DzI5%|}erD>tx_Z3)_o-{pCw$bxswx#g`X`@HH0E|a`1RW(97B)9h zq?_?Bu#puZkIvdsoU@B=F5Q$aG6(T2L7tds8Sg`r%>ln*o-j&axXD)3B9$W1<)uV# z%EZ!i{v4}$t5dA3=;0hW&AVb}=vb|RNx9pfo`1Ot`Hx1qKy7>5P)p}NQqDJPH!I&r zD?NLfX-c-ToQF zoo{R|8b^M(0VN7M^TwPRCg>Wqh_~>~;PECx)s_(MJm|bAnHA4Nlo?CXDbkhXtYSx%H0~h-iCLDd7mGA_z$LY=--oWv7r9>ULX!yvAo=Tl4Q|*F>(GnVCq(tfQ8AJ z0?jE-#J^dN8i29Z;ezhPE}lD@P>yLbtmLkHco{CXGr0JKfgf)b*a+roSby^> z)}Psy5LC&gz&3Nmg9JMseL{j~YL5#{1WnY4o@s@O56TrzxZUxXw}-}zAV(5K|GY&O ze7pU`zfI-VW!|4O6b`4l>E~TeInBS@J21DrHFHe?Qt=@a&?EO1i>ZqnO@cAqnhJz= zVKYSVuIN}2=%Lpb>f!cc|tndUy+5cVNr#vlYx=(vZAf3qA5V(5{7~hc?zUZ=J$g6 zUc0$ONN71X+VfJgswv8S?p-VvB>d3YZOB z<#E6Y@5(W`BwAit-5X~W3@z?{#%SaxG|ykNG&FnL+ckKJ9LA0mt6>8JHcm!NJgg7^ zyu$o$g^F4CDW!Gxn*Pe6l2d`|NbQ&Gzk zyX2bBR@WjQWwXe!u}oiqvQXM09+N3E%d}%g0b3%yR9(H|HT38S2Yd(@ zD|S)|P5SVUE}QwmZKv{}3O!Qyd3b~Fd3EaN+{1+r@TBLV*Dqj11ZO6UwZaw*6jkzO zA-%A$9i=~b)0QUgk2Je6;SG0v23MJCMt3moP*908lj$wz?$0(UcM zmwLg^XDNcNA)&+r?^)_8^gY+!OQ1XWv6|DW({v;(Nejzz4DQJ<@a^)7H!CJFfb|X2yL4}<9I2c!xdQoBkw_aazqZaj>nsKTOF?_JD zp$m>a0XJeAA{Wr91l(Bjbg4qD2j}+?CO!o5u}}QvEn*Td3lKde1zRTvM-R8cmh#Q) ze}NB~k5tX^+(w+K@k_pfGRsnhik46fHAnhl=~t0wA@!1nlhNfxtjNCDguB#bkn}#) zA9 z&-9)*`t|Cs839)<4E*#x^yBoetB&_ay?_SaI8t)*t^8<6iGwZ9fA^sHYDjJBCLr@y zB!Kn}sY~95#A!tiGhv}V5g4xcRUMZ$!dGEog2d!;khM-Wg>-sQJ&|*>0403VVofWt zCY^@4;^`x{v@;XE0{RFUe=x%LrHA^wWLU1Oe=B0KQ(#xrJKSnZ_r%ytkI^FN+^!MG zn%@UDHEn5gaY<`RtrGtxZh2JoX;cmOfg(E+#wkDNNrzLae7k3So2@OJ5mr$XoB?Ry z9MLu|L@7Dyqphvv*qHilu5@de9_qa1)#5A=*JC^`$xiC8s6bc(EKV@Gl+1BB= zy6dzI)g7->Iryt#V+OIV*ohUizQkI3o~|)jvsWv4&kWMz7vka>L*AmZrOgKp3)6S_ zr{pG(?jB8x6Vnd}E}S zHM}SOWyUCW%a5yG@Brr9fy`Igpi{u%$Tmt<9kerGW5X1WJWJ0->z#TOv8i3CUh5u~ zxc&kS7mjgzN?gRg)rp>X_{_WXw$^`1^R+1Ea-i6j<4jn6yKdvqgQmUO!QEGt4Cx1L zBYW;(I0V(;N&Lw1a3!H@bfLAdxwE5dEHwdwSMGg>@lQFYzJQhzK;|kkIZwK*B>w6I3^65=fTi%ldU;3Yk?&)?5>E0+re>gUS$mfp$HE2P3N?NmxuG^IfOmf z*o2ok<51*+n8Md`rgpv!>z$~=L`+u^D5PjAcT&{XXNa7h6A&X8$Eo4L-4D2huu29C^T+a{xVf;$P-aR9IvPvG?@u z)su9@t-|vPt{K#V_U0k}{OPxS@qP=L@*p&A4hetJPFE4-D(bAygzXAv&!rt%Tlq>6 zUTd>Ru6>!@IFB}3st2!F6*f8S=3)l2QN%;eQ^;I7GjUAYF)yQycTS$ceQhun9+rGnzj$z9tZQmX7IC7L6yT5ujc&A?Mckf$N zeCf2CJv#EkUN_+-P+0@5UK#ndH}X|9?p8sQ@*<(fj>@^!veR_aNo6K4PIVSy_TS9 z?M*))65hTC0*BK*w5<)}ax6<$Iub_t515A14bklCCn+wc-UsbpUJY0Z0=xExxqUTM zV1ZGnkmsyBOYIQ}oxc&GyHl>oJE@zt9KVvhS6iueToE}v<~8FkJeeR6l9In75q zo~H5b_48+>FW=fEiJsIL`W)>~MibiEE9=80eJA_R4Nkvm8{rNE68t@!IpR++cl9IF zU5^V)(lND)mJKVYYk0CUdLyGU+&0dq{k#{=XE9ey^nq#m@ByzD>@MF=VH@wJZS<%K z`f};QCg6u_#H0*(EeD+K>-DX@V*tt)Q__AngLb-jj%VF2CsJLyR)lLD z%1ba_U1sGO7vYigYdZH#Mc&EhoaWF5gAlE#Pl=HC9zOu#J9+s}hkn)IOIIjU_4_Bo zE?PM~zgcR&aOOyxN$BI{$YXh*EAM6A|7Y*Qo2APaZhE)~U95EIlljI&LYEW2HH>L1mBa;IYiK7++N|rdjRe8=op*4l z^e^@9H6apq!&+)z<&E`R#=woI>bWD4enw0uEzXmIi>m98dTU{BalfJTj~zN7ig~73 zmmlZ%p|qRxC--MU=<4yh?t2ef7s#=c-Zz!V6Gf6wC&l}qgEyWZg}6K9APddD$P{Xo zH)iRAE#1e$1LkeY;hB zBG^0T5XSgb`=K1}+oX#{r0bfndbG?=?*D%Z% z-PkkC!y(>lxQ7_z2vlUbDmdT-108iKlGjDQiLKr5Kp(<@b+bI~zqH4SZ5^y(b!Nje&3JhvMG(T2||j;37`zpCf5`RV$IdpoSBNBKh5E=gg@ z%DqqW83129ciY$I_d|LR`G4Mb4ASibyc+4wT9ew70_Ere3Uvw*)_5`F?0&nGUDXD- zo-eXbF-jDtmH=YkgbtdN)JJ@6Iz>BNfY+OBZ~Fq@bKNKaS1OoDXPUS# zteih_dJB5CW8QrHqQCWMshXoH20pc0dY2VFr*Kr>UG00bbAP%{yN$Wc3rlz5ltr5| z2@dscE+FvYxxPT11ar#8M_$oBS{-_v+`v{3%W%@$_3DRD5Y7D#-30Buc^1~&EaUvBBS`^N3*z@;>&-hpvbi>_WMFgs03 ze6l%Y3sc7kF_^!BE5wZL#lyZ_*q;jwk#tu*{fqCNHL z6`PE6d*{R`{-QQcfc4kH*Dzs7lr?FyF>ymS8$%dGi#Z5Ce zdLlCVkoYYWy=vo^;7})KrV|gFFnc>pa`90>O4-d5iqdrCEcb^)bWGgUc3=C&eN1jo zhpz$WwuUM>V2RupZLcLh71I53b{D;jH;c~d9vk9u4;s#U`%tEj=x&`4WOKiP5~udl zKc&PF+wOlarwrXlxAC0CbPuo|<(XX=xauKwl5JwL2eOyMcf>qPY;(~F00wdvkIfB_ zXETsZ22TJi$&tR$d_x7#ihT0}Iz$Tg@~p;h)I~kEmDfD zku1|I@~|2=@Nt=EHT?6~RQTg|m}_ymyie6(Cp7ZQ+_dims?bq1uYH0B`X{EaV>iOJ<6FGVY-P_v**786Evm)Vv1S2pSKbY(j1WT!Vxp>dNUHkE z%OZ@lZ-!mqMGFruSY$%36}_~g(Z7fh|My{lks30**s*Xaax?nD=*=rw8~j6iHMUCmu+ z35!IBbavQ+b+UU76%|UyOtwPG4DqBu*~7}erAmGC1w!W*{8%D!<#%xZ?EatXlQ#S3 z9@(}zI2m60MwyscVY>LZg2aeyd5}xmhyVs&c_2HwIpF#QNQ-1HHj1ep$RdDtr$>n{pYS z`1usgEm!+c&@g*ZS=5NYj?Bde!6(As*>7Re2r@Fm#J-@XAl7>31{!6<#IRb@ zdRdYF^BbY3Eb}3AfF~z*$)G}!J z9I6%vTf2{+=U)C)cX-OXX|MVERwFB9SeLb=@p<)q+MiE?j{{rQQ4Xa0cl{BaynN1-Bg5p{aFSlo?a zI%%T(MvC34A29tgE1Z(C0RNx4GjxBzt5F63Z`yWEGk-J=fh{osi_Vv{psgnORVbX2lNGG$2jq6tF z%cij2GJ?q4HuD)2wr>C2&~{$H8@=8!){Y}DTXnQS!gUQSQn6k+_!()@4o?H0DRtO* z7UUY|%`aMBR*IM(`263BK;dj7A+Zx|mA@(TARaPMMyleFqcfs4joQBSq4}_VqZ_Zo zdc1H;qNfb{J(o{%SAiM6&GPj=Oa`+`-p06DQUCjddwUn7Fl^QR_*kE%JvkrYMO=rx~<8PN7SajT{; z?xfYV1Njjq01e~2ahG*QV7NrB+a{hE37O7irJ=VKYR)NyCZEr9)a}YW_3jJiZ#iEK ze9?bVQ@TzL)AR0I;)m44tII78H^0l)q4xB{1?0N)c`}QAxL;RCbR_yUZf9NNJW2;X zq5fr68Y>rtm8oRz1!90R6UafrQog!TOKdlRw`m?7%m8v_&*LjivLy4VeYQbX`SgM2 zK7MMqLll+!yXIzh4}KOG5&{2dQ$TX5X(0TKxBQVe*~xwGE$eg&tPTCw&v-GMHO!OX63)cj1awD zR3{z=P%9(99g}5n2mud<7 zFDFc%B*5S$Ws1QAqa8Jy*DtIjsb-Vm?1MXo-wR{ng1)=XYA;Hu6;r@GZOqy|6Of_c zY2>2$`e-ntFCM3F=aVWV@x(JZnW$g@)E28Ywjf!5BFAmn$6C2>3bZwgctcvb2u(?b zV(q|eSRwl|wtJ;@Cb3$AtsCN5yjE*}uc%&Lh7rzsXwnvUY|+%Y*NVpd;x;Mme|MAg zx7{T7qUkZZ5dh?84U9~4^ESkz)3#3zg*w%8s*h4PL4PLMu_{%hw<<)Vi%Iz8vC zCzPD?Y$vdZJ~g}&I6PBI;8S%EB0gGZlGSc#`Phl80u#eAS(W$6A3{WOBZI;lxiTZGwVp z`;}bj@}5CG?(wPYxO*s3(11}^;F@_ds(h(j+m=6id&wLz|EFL~fUth%*lTXLb!~lR zR@!N>!qETUr20ywA_6pK>w^FhO{v=)Uw~T2k?8d$NvxC+%t^q`N@KCior1B&6t{f=BRL~I zu=ytMSclD6mS4Pvrz|@Pc04X^nbop%MWAchTS*_=;#54QR#zwoRA+e&7EJBd2)=$U zOuFwx`2|wWBbB;eNN=Ct^Ih;L3<3RKV21fqhyCn!kpWZg>+9@dxDg@#J4u15*ldS} zL|tz#GZ5D`(&CCut9F1J#Xex;+`C>uddEbwI1KkS!kUxNJLF|BvhJ5)EGw8<&__-$ z91VY;DqcGGHoq;}Ndul|$300H55;#eGjiHTK@MxrjY_#bV>3OqA?*b&1?@TMVl_Mq zLvszQy*zZa`aq z52#gDebQ8v!9ReqUaZss|1PNzg?luP3{{HVMV6i zp@c^^#joEtVG_Dx&v8edlxc>uBgcWlRPDrvqoPRnsV6v(e1p^JMPM?wk;_!y14(ZL zQeLGVJmP4FPcsv_Xwj>=Vp_+bhM_Y{dHCxo9410(~L6Tw1?&3HL%f~g5>ht%nJ7?H@x)@GsmrRn;3on#@L-nTHo(B)Yps)2$NyOr= zrp=QwhM}}j%+Y1J(BtPSVxzbR1yd7UfKM!+%t{gumMAm$O@`Hgyn%uxa-vJTh88gX zEl(wYj)3{WT|FA+L0_ai+?=a(X6&;BG%jRrXGPmqO~8lY3RCQtsMQJQtvuEZr*xCx zSE#j5`};p~FZXR((co}lf7XeBjlSiQP}^H@vE*DorzfC#H}%5_=@}|R=SrnqCBW-% zF6?k-W-p3scw5a&+Jnx*W-_G_(2C5JI1d0ykcyh6<|;rQ;tOfvrU?cXkMY!-YTT%< zP=Kso@M{rB@|##LTPr2mOe&SD&Bzpbx=|%|Oh?TPYBKeNOXQ6W`NRm8`7v8JXdob7 zUPC~WKP5J{DS30j_Le3%NB;_E7MzaBxQ==^kh^KUFVtQE_PK{=xf>WrpwtwPib0Ca zkFBG*4oog~(o}FCy;&)Kw@^c<8589JiUpW^e3Ybet|q#t9Zx8zd&>_96N>4Y-_HZJKGBno8_ve5b#3YJ||@2I~S%$P$08HR)Aimb`p zzT&*1m4cWd@U>6CihnD(3jDSO8GbJim6C~KwLJ6IlV#L_YnKthWGALl;OZ{MCC0m# z6(2BySvkU!E%xTIIiisAU~^`|ZccFts4y5$7YRiFC2d-{EYKAe!0;`+NWpLuJyZxt zikj$^^l@1uAP&M8O#u3*1@jtfD!W-fEnW)n_zsIrRht5dK?QU}m&qvG%8v$QDpvr3 zz{mymv6M{R8Fk0h1U-ccqM)Sk9|S~ka)5g#(7cJQ`~8t(ezC>C+C9BbHsK&}Xn6!sfvO~u(S7hskEiG8~V&EKeiAvr~2DCaA zJ6PpzmNDI6^I;=}3jZC8Lqxp3gDLk@s{Y@~4be6Lzu8SMy4`*vKw62l<8dvYcfeld zQ^KAb`>*akUnPsTl)A)firp9)HO~52%tmm9#TqCxY%=gla;b$a#Yp-AiuJ%W;NnPg zU&dY@*V!2Alri2gMSC{ODs&vK=+9SLEcZ+Ty2macP4UC^k~AF+z{{E&SgWr~YOU4= zW&Wih`M9AE2u}l2-uD7|uO|IoJ=1|VGIue4)mJ!wM9pHXyjsJpx~=t!yeT9ogDzr~RhSG-VS!hpwrcsz@_Q9-=F7i#FFkKD(WdcGWR)%sZ@c^V!)|HsPTme4A_EadyO07|v6pbPpnpz@7ZtcuvcD{{`2>AT;@ zSk5j_FMUQJ464C)c(8jaXG2}8_0pSQm&YQ2vvVikV;(Ur{dDv8Wt!WWM$k7-u1(sG zS7r@51^SQVtb&OJC&s&9ZUp=dp!)Bz_)EymqnetEw6uS^eyQ&TxRFG;9_o1Bt3?eI zLsNMCGMpCQIFY)LsT2wA)uo*%v5`Hw$}X3>$TIh+wtYORf3@lVL)kN&=0ZYNK9_Vri)Bu@usV$NBBe$90`@K2hj z?Y`tF17E;7V-fbhpZPzz2mij}w>?1)WqtW^@u`pB%h|42fy%Hi_}iWR_45DUAsAq_ zNIv`QEBUiO|GzngK%G01gJU!ZV0maX6^!U|VKgI*W(0U6ZnP{IEel3SGwH#9_G|VJ U_){jH7i9nfPgg&ebxsLQ07(QTTmS$7 diff --git a/sdk/identity/identity/karma.conf.js b/sdk/identity/identity/karma.conf.js index fac26ad33cd4..f798423cb3b9 100644 --- a/sdk/identity/identity/karma.conf.js +++ b/sdk/identity/identity/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/identity/identity/package.json b/sdk/identity/identity/package.json index b31b01eb623e..300aacb4057a 100644 --- a/sdk/identity/identity/package.json +++ b/sdk/identity/identity/package.json @@ -1,7 +1,7 @@ { "name": "@azure/identity", "sdk-type": "client", - "version": "2.0.0-beta.5", + "version": "2.0.0-beta.7", "description": "Provides credential implementations for Azure SDK libraries that can authenticate with Azure Active Directory", "main": "dist/index.js", "module": "dist-esm/src/index.js", @@ -21,18 +21,20 @@ "./dist-esm/src/credentials/visualStudioCodeCredential.js": "./dist-esm/src/credentials/visualStudioCodeCredential.browser.js", "./dist-esm/src/credentials/usernamePasswordCredential.js": "./dist-esm/src/credentials/usernamePasswordCredential.browser.js", "./dist-esm/src/credentials/azurePowerShellCredential.js": "./dist-esm/src/credentials/azurePowerShellCredential.browser.js", + "./dist-esm/src/credentials/applicationCredential.js": "./dist-esm/src/credentials/applicationCredential.browser.js", + "./dist-esm/src/credentials/onBehalfOfCredential.js": "./dist-esm/src/credentials/onBehalfOfCredential.browser.js", "./dist-esm/src/util/authHostEnv.js": "./dist-esm/src/util/authHostEnv.browser.js", "./dist-esm/src/tokenCache/TokenCachePersistence.js": "./dist-esm/src/tokenCache/TokenCachePersistence.browser.js", - "./dist-esm/src/extensions/consumer.js": "./dist-esm/src/extensions/consumer.browser.js", + "./dist-esm/src/plugins/consumer.js": "./dist-esm/src/plugins/consumer.browser.js", "./dist-esm/test/httpRequests.js": "./dist-esm/test/httpRequests.browser.js" }, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo skipped", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "npm run extract-api && tsc -p . && rollup -c 2>&1", + "build": "npm run clean && npm run extract-api && tsc -p . && rollup -c 2>&1", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\" \"samples/**/*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "execute:samples": "echo skipped", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\" \"samples/**/*.{js,json}\"", @@ -42,7 +44,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && npm run build:test && npm run unit-test && npm run integration-test", @@ -97,14 +98,13 @@ "@azure/core-rest-pipeline": "^1.1.0", "@azure/logger": "^1.0.0", "@azure/abort-controller": "^1.0.0", - "@azure/msal-common": "^4.3.0", - "@azure/msal-node": "^1.1.0", - "@azure/msal-browser": "^2.0.0", + "@azure/msal-common": "^4.5.1", + "@azure/msal-node": "^1.3.0", + "@azure/msal-browser": "^2.16.0", "@types/stoppable": "^1.1.0", "events": "^3.0.0", "jws": "^4.0.0", - "open": "^7.0.0", - "qs": "^6.7.0", + "open": "^8.0.0", "stoppable": "^1.1.0", "tslib": "^2.2.0", "uuid": "^8.3.0" @@ -113,12 +113,11 @@ "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/dev-tool": "^1.0.0", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/jws": "^3.2.2", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", - "@types/qs": "^6.5.3", "@types/uuid": "^8.0.0", "@types/chai": "^4.1.6", "chai": "^4.2.0", @@ -138,7 +137,7 @@ "mocha": "^7.1.1", "mocha-junit-reporter": "^1.18.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "typescript": "~4.2.0", diff --git a/sdk/identity/identity/recordings/node/applicationcredential/recording_authenticates_with_a_client_secret_on_the_environment_variables.js b/sdk/identity/identity/recordings/node/applicationcredential/recording_authenticates_with_a_client_secret_on_the_environment_variables.js new file mode 100644 index 000000000000..4a7df189d2dd --- /dev/null +++ b/sdk/identity/identity/recordings/node/applicationcredential/recording_authenticates_with_a_client_secret_on_the_environment_variables.js @@ -0,0 +1,111 @@ +let nock = require('nock'); + +module.exports.hash = "3a3f3ba54882469a6c079e922fe83278"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '54656735-48e1-4eb1-bfc3-42b302a05b00', + 'x-ms-ests-server', + '2.1.11935.12 - WUS2 ProdSlices', + 'Set-Cookie', + 'fpc=fpc;; expires=Sat, 04-Sep-2021 23:14:12 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=esctx; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Thu, 05 Aug 2021 23:14:12 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '30d8ef8c-f820-4adc-96c8-853b32ff3800', + 'x-ms-ests-server', + '2.1.11935.12 - WUS2 ProdSlices', + 'Set-Cookie', + 'fpc=fpc;; expires=Sat, 04-Sep-2021 23:14:12 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=esctx; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Thu, 05 Aug 2021 23:14:12 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=win32&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=client-request-id&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '5d25849e-e99b-4f2e-b3ec-7f4efa843b00', + 'x-ms-ests-server', + '2.1.11935.12 - SCUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=fpc;; expires=Sat, 04-Sep-2021 23:14:13 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Thu, 05 Aug 2021 23:14:12 GMT', + 'Content-Length', + '1315' +]); diff --git a/sdk/identity/identity/recordings/node/applicationcredential/recording_supports_tracing_with_environment_client_secret.js b/sdk/identity/identity/recordings/node/applicationcredential/recording_supports_tracing_with_environment_client_secret.js new file mode 100644 index 000000000000..f734a36f1443 --- /dev/null +++ b/sdk/identity/identity/recordings/node/applicationcredential/recording_supports_tracing_with_environment_client_secret.js @@ -0,0 +1,111 @@ +let nock = require('nock'); + +module.exports.hash = "b5a4d41bd6e386f72f5a1e905188a949"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '8e585fff-4996-4728-83e0-518e7345de01', + 'x-ms-ests-server', + '2.1.11898.12 - NCUS ProdSlices', + 'Set-Cookie', + 'fpc=fpc;; expires=Sat, 04-Sep-2021 23:14:13 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=esctx; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Thu, 05 Aug 2021 23:14:12 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '1bd469dd-c998-4c70-88ad-188983123a00', + 'x-ms-ests-server', + '2.1.11935.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=fpc;; expires=Sat, 04-Sep-2021 23:14:13 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=esctx; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Thu, 05 Aug 2021 23:14:12 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=win32&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=client-request-id&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '20a1a05c-5822-474d-b862-ec1d8c8b3c00', + 'x-ms-ests-server', + '2.1.11935.12 - EUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=fpc;; expires=Sat, 04-Sep-2021 23:14:13 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Thu, 05 Aug 2021 23:14:12 GMT', + 'Content-Length', + '1315' +]); diff --git a/sdk/identity/identity/recordings/node/applicationcredential/recording_throws_an_aggregateauthenticationerror_when_gettoken_is_called_and_no_credential_was_configured.js b/sdk/identity/identity/recordings/node/applicationcredential/recording_throws_an_aggregateauthenticationerror_when_gettoken_is_called_and_no_credential_was_configured.js new file mode 100644 index 000000000000..d5acef5667c8 --- /dev/null +++ b/sdk/identity/identity/recordings/node/applicationcredential/recording_throws_an_aggregateauthenticationerror_when_gettoken_is_called_and_no_credential_was_configured.js @@ -0,0 +1,5 @@ +let nock = require('nock'); + +module.exports.hash = "f27429ae778247301f35d4567e0e1af5"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} diff --git a/sdk/identity/identity/recordings/node/applicationcredential/recording_throws_an_authenticationerror_when_gettoken_is_called_and_applicationcredential_authentication_failed.js b/sdk/identity/identity/recordings/node/applicationcredential/recording_throws_an_authenticationerror_when_gettoken_is_called_and_applicationcredential_authentication_failed.js new file mode 100644 index 000000000000..dd0ab0f7ca5b --- /dev/null +++ b/sdk/identity/identity/recordings/node/applicationcredential/recording_throws_an_authenticationerror_when_gettoken_is_called_and_applicationcredential_authentication_failed.js @@ -0,0 +1,76 @@ +let nock = require('nock'); + +module.exports.hash = "c0899b85b1280258c71e361d391d13d1"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"12345678-1234-1234-1234-123456789012_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '87378bfa-4cc9-4279-998f-d187ff277201', + 'x-ms-ests-server', + '2.1.11898.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=fpc;; expires=Sat, 04-Sep-2021 23:14:13 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=esctx; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Thu, 05 Aug 2021 23:14:13 GMT', + 'Content-Length', + '950' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(400, {"error":"invalid_12345678-1234-1234-1234-123456789012","error_description":"AADSTS90002: Tenant '12345678-1234-1234-1234-123456789012' not found. This may happen if there are no active subscriptions for the 12345678-1234-1234-1234-123456789012. Check to make sure you have the correct 12345678-1234-1234-1234-123456789012 ID. Check with your subscription administrator.\r\nTrace ID: c95ed377-3195-434d-8cac-0f5460a11f02\r\nCorrelation ID: 5bf6f73d-9031-4e3f-b44e-7b7d1ebe9864\r\nTimestamp: 2021-08-05 23:14:13Z","error_codes":[90002],"timestamp":"2021-08-05 23:14:13Z","trace_id":"c95ed377-3195-434d-8cac-0f5460a11f02","correlation_id":"5bf6f73d-9031-4e3f-b44e-7b7d1ebe9864","error_uri":"https://login.microsoftonline.com/error?code=90002"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'c95ed377-3195-434d-8cac-0f5460a11f02', + 'x-ms-ests-server', + '2.1.11898.12 - NCUS ProdSlices', + 'Set-Cookie', + 'fpc=fpc;; expires=Sat, 04-Sep-2021 23:14:13 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=esctx; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Thu, 05 Aug 2021 23:14:13 GMT', + 'Content-Length', + '621' +]); diff --git a/sdk/identity/identity/recordings/node/clientcertificatecredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js b/sdk/identity/identity/recordings/node/clientcertificatecredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js new file mode 100644 index 000000000000..aafc9adad5f8 --- /dev/null +++ b/sdk/identity/identity/recordings/node/clientcertificatecredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js @@ -0,0 +1,5 @@ +let nock = require('nock'); + +module.exports.hash = "ef10b4a2d16bbd66f8546aa5567f1351"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} diff --git a/sdk/identity/identity/recordings/node/clientsecretcredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js b/sdk/identity/identity/recordings/node/clientsecretcredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js new file mode 100644 index 000000000000..6685483fa64f --- /dev/null +++ b/sdk/identity/identity/recordings/node/clientsecretcredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js @@ -0,0 +1,5 @@ +let nock = require('nock'); + +module.exports.hash = "1bf9de808b0430e9bdbefbfdc0539d57"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} diff --git a/sdk/identity/identity/recordings/node/devicecodecredential/recording_allows_cancelling_the_authentication.js b/sdk/identity/identity/recordings/node/devicecodecredential/recording_allows_cancelling_the_authentication.js index ae5af3d27b22..e85c53ca2c01 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential/recording_allows_cancelling_the_authentication.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential/recording_allows_cancelling_the_authentication.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"user_code":"USER_CODE","device_code":"DEVICE_CODE","verification_uri":"https://microsoft.com/devicelogin","expires_in":900,"interval": 0.1,"message":"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate."}, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential/recording_allows_setting_disableautomaticauthentication.js b/sdk/identity/identity/recordings/node/devicecodecredential/recording_allows_setting_disableautomaticauthentication.js index 7b668f59e750..56de458d0597 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential/recording_allows_setting_disableautomaticauthentication.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential/recording_allows_setting_disableautomaticauthentication.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"user_code":"USER_CODE","device_code":"DEVICE_CODE","verification_uri":"https://microsoft.com/devicelogin","expires_in":900,"interval":1,"message":"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate."}, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_and_allows_the_customization_of_the_prompt_callback.js b/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_and_allows_the_customization_of_the_prompt_callback.js index 5b8f767a0f50..46c3f0987c12 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_and_allows_the_customization_of_the_prompt_callback.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_and_allows_the_customization_of_the_prompt_callback.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) ]); nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, { "user_code": "USER_CODE", "device_code": "DEVICE_CODE", "verification_uri": "https://microsoft.com/devicelogin", "expires_in": 900, "interval": 1, "message": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate." }, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_default_values.js b/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_default_values.js index 454a29cbbf8d..bf0c903ed8f1 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_default_values.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_default_values.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) ]); nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, { "user_code": "USER_CODE", "device_code": "DEVICE_CODE", "verification_uri": "https://microsoft.com/devicelogin", "expires_in": 900, "interval": 1, "message": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate." }, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_provided_values.js b/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_provided_values.js index d721deab5e61..2ad56d13f627 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_provided_values.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_provided_values.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) ]); nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, { "user_code": "USER_CODE", "device_code": "DEVICE_CODE", "verification_uri": "https://microsoft.com/devicelogin", "expires_in": 900, "interval": 1, "message": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate." }, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_specific_permissions.js b/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_specific_permissions.js index e8d6b5d58ec8..04c28ec57fec 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_specific_permissions.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential/recording_authenticates_with_specific_permissions.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2FCalendars.Read%20openid%20profile%20offline_access&client_id=azure_client_id") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fgraph.microsoft.com%2FCalendars.Read%20openid%20profile%20offline_access&client_id=azure_client_id&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"user_code":"USER_CODE","device_code":"DEVICE_CODE","verification_uri":"https://microsoft.com/devicelogin","expires_in":900,"interval": 1,"message":"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate."}, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential/recording_supports_tracing.js b/sdk/identity/identity/recordings/node/devicecodecredential/recording_supports_tracing.js index cd566b9411b2..ce8f52cc0d11 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential/recording_supports_tracing.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential/recording_supports_tracing.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) ]); nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, { "user_code": "USER_CODE", "device_code": "DEVICE_CODE", "verification_uri": "https://microsoft.com/devicelogin", "expires_in": 900, "interval": 1, "message": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate." }, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential_internal/recording_authenticates_silently_after_the_initial_request.js b/sdk/identity/identity/recordings/node/devicecodecredential_internal/recording_authenticates_silently_after_the_initial_request.js index a99043064f41..57545ec06710 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential_internal/recording_authenticates_silently_after_the_initial_request.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential_internal/recording_authenticates_silently_after_the_initial_request.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) ]); nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=azure_client_id&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, { "user_code": "USER_CODE", "device_code": "DEVICE_CODE", "verification_uri": "https://microsoft.com/devicelogin", "expires_in": 900, "interval": 1, "message": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate." }, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_accepts_tokencachepersistenceoptions.js b/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_accepts_tokencachepersistenceoptions.js index 3f9a48c38111..11cfe20e1608 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_accepts_tokencachepersistenceoptions.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_accepts_tokencachepersistenceoptions.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) ]); nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, { "user_code": "USER_CODE", "device_code": "DEVICE_CODE", "verification_uri": "https://microsoft.com/devicelogin", "expires_in": 900, "interval": 1, "message": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate." }, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_allows_passing_an_authenticationrecord_to_avoid_further_manual_authentications.js b/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_allows_passing_an_authenticationrecord_to_avoid_further_manual_authentications.js index 58717f73e707..216fe05c7e4d 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_allows_passing_an_authenticationrecord_to_avoid_further_manual_authentications.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_allows_passing_an_authenticationrecord_to_avoid_further_manual_authentications.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"user_code":"USER_CODE","device_code":"DEVICE_CODE","verification_uri":"https://microsoft.com/devicelogin","expires_in":900,"interval": 1,"message":"To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate."}, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_authenticates_silently_with_tokencachepersistenceoptions.js b/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_authenticates_silently_with_tokencachepersistenceoptions.js index dd44a6d96066..aa121008d5fd 100644 --- a/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_authenticates_silently_with_tokencachepersistenceoptions.js +++ b/sdk/identity/identity/recordings/node/devicecodecredential_internal_persistent_tests/recording_authenticates_silently_with_tokencachepersistenceoptions.js @@ -76,7 +76,7 @@ nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) ]); nock('https://login.microsoftonline.com:443', { "encodedQueryParams": true }) - .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46") + .post('/organizations/oauth2/v2.0/devicecode', "scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, { "user_code": "USER_CODE", "device_code": "DEVICE_CODE", "verification_uri": "https://microsoft.com/devicelogin", "expires_in": 900, "interval": 1, "message": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code USER_CODE to authenticate." }, [ 'Cache-Control', 'no-store, no-cache', diff --git a/sdk/identity/identity/recordings/node/usernamepasswordcredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js b/sdk/identity/identity/recordings/node/usernamepasswordcredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js new file mode 100644 index 000000000000..0e8df50fe1a4 --- /dev/null +++ b/sdk/identity/identity/recordings/node/usernamepasswordcredential_internal/recording_should_throw_if_the_parameteres_are_not_correctly_specified.js @@ -0,0 +1,5 @@ +let nock = require('nock'); + +module.exports.hash = "1db311fd7f7308eed7f42295b4569b60"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} diff --git a/sdk/identity/identity/review/identity.api.md b/sdk/identity/identity/review/identity.api.md index 1a7a12a29596..f0a1a02344db 100644 --- a/sdk/identity/identity/review/identity.api.md +++ b/sdk/identity/identity/review/identity.api.md @@ -21,6 +21,16 @@ export class AggregateAuthenticationError extends Error { // @public export const AggregateAuthenticationErrorName = "AggregateAuthenticationError"; +// @public +export class ApplicationCredential extends ChainedTokenCredential { + constructor(options?: ApplicationCredentialOptions); +} + +// @public +export interface ApplicationCredentialOptions extends TokenCredentialOptions, CredentialPersistenceOptions { + managedIdentityClientId?: string; +} + // @public export class AuthenticationError extends Error { constructor(statusCode: number, errorBody: object | string | undefined | null); @@ -78,7 +88,7 @@ export interface AzureCliCredentialOptions extends TokenCredentialOptions { // @public export class AzurePowerShellCredential implements TokenCredential { constructor(options?: AzurePowerShellCredentialOptions); - getToken(scopes: string | string[], options?: GetTokenOptions): Promise; + getToken(scopes: string | string[], options?: GetTokenOptions): Promise; } // @public @@ -93,7 +103,6 @@ export type BrowserLoginStyle = "redirect" | "popup"; export class ChainedTokenCredential implements TokenCredential { constructor(...sources: TokenCredential[]); getToken(scopes: string | string[], options?: GetTokenOptions): Promise; - selectedCredential?: TokenCredential; protected UnavailableMessage: string; } @@ -197,7 +206,7 @@ export function getDefaultAzureCredential(): TokenCredential; export { GetTokenOptions } // @public -export type IdentityExtension = (context: unknown) => void; +export type IdentityPlugin = (context: unknown) => void; // @public export class InteractiveBrowserCredential implements TokenCredential { @@ -239,6 +248,33 @@ export class ManagedIdentityCredential implements TokenCredential { getToken(scopes: string | string[], options?: GetTokenOptions): Promise; } +// @public +export class OnBehalfOfCredential implements TokenCredential { + constructor(configuration: OnBehalfOfCredentialSecretConfiguration | OnBehalfOfCredentialCertificateConfiguration, options?: OnBehalfOfCredentialOptions); + getToken(scopes: string | string[], options?: GetTokenOptions): Promise; + } + +// @public +export interface OnBehalfOfCredentialCertificateConfiguration { + certificatePath: string; + clientId: string; + sendCertificateChain?: boolean; + tenantId: string; + userAssertionToken: string; +} + +// @public +export interface OnBehalfOfCredentialOptions extends TokenCredentialOptions, CredentialPersistenceOptions { +} + +// @public +export interface OnBehalfOfCredentialSecretConfiguration { + clientId: string; + clientSecret: string; + tenantId: string; + userAssertionToken: string; +} + // @public export enum RegionalAuthority { AsiaEast = "eastasia", @@ -301,9 +337,9 @@ export function serializeAuthenticationRecord(record: AuthenticationRecord): str // @public export interface TokenCachePersistenceOptions { - allowUnencryptedStorage?: boolean; enabled: boolean; name?: string; + unsafeAllowUnencryptedStorage?: boolean; } export { TokenCredential } @@ -315,7 +351,7 @@ export interface TokenCredentialOptions extends CommonClientOptions { } // @public -export function useIdentityExtension(extension: IdentityExtension): void; +export function useIdentityPlugin(plugin: IdentityPlugin): void; // @public export class UsernamePasswordCredential implements TokenCredential { diff --git a/sdk/identity/identity/samples/AzureIdentityExamples.md b/sdk/identity/identity/samples/AzureIdentityExamples.md index 9fde9177df7f..8c6ec6bb9d6f 100644 --- a/sdk/identity/identity/samples/AzureIdentityExamples.md +++ b/sdk/identity/identity/samples/AzureIdentityExamples.md @@ -1,7 +1,6 @@ # Table of contents - [Introduction](#introduction) -- [Requirements](#requirements) - [Authenticating client-side browser applications](#authenticating-client-side-browser-applications) - [Authenticating server-side applications](#authenticating-server-side-applications) - [Authenticating User Accounts](#authenticating-user-accounts) @@ -10,16 +9,24 @@ - [Authenticating Azure Hosted Applications](#authenticating-azure-hosted-applications) - [Chaining credentials](#chaining-credentials) - [Authenticating With Azure Stack using Azure Identity](#authenticating-with-azure-stack-using-azure-identity) -- [Authenticating With Azure Stack using Azure Identity](#authenticating-with-azure-stack-using-azure-identity) - [Advanced Examples](#advanced-examples) - [Custom Credentials](#custom-credentials) + - [Implementing the TokenCredential Interface](#implementing-the-tokencredential-interface). - [Authenticating with a pre-fetched access token](#authenticating-with-a-pre-fetched-access-token). - [Authenticating with MSAL directly](#authenticating-with-msal-directly). - - [Authenticating with the @azure/msal-node Confidential Client](#authenticating-with-the-azure-msal-node-confidential-client). - - [Authenticating with the @azure/msal-node On Behalf Flow](#authenticating-with-the-azure-msal-node-on-behalf-flow). - - [Authenticating with the @azure/msal-browser Public Client](#authenticating-with-the-azure-msal-browser-public-client). + - [Authenticating with the @azure/msal-node Confidential Client](#authenticating-with-the-@azure/msal-node-confidential-client). + - [Authenticating with the @azure/msal-node On Behalf Flow](#authenticating-with-the-@azure/msal-node-on-behalf-of-flow). + - [Authenticating with the @azure/msal-browser Public Client](#authenticating-with-the-@azure/msal-browser-public-client). - [Authenticating with Key Vault Certificates](#authenticating-with-key-vault-certificates) - [Rolling Certificates](#rolling-certificates) + - [Control user interaction](#control-user-interaction) + - [Persist user authentication data](#persist-user-authentication-data) + - [Persist the token cache](#persist-the-token-cache) + - [Use a named token cache](#use-a-named-token-cache) + - [Persist the authentication record](#persist-the-authentication-record) + - [Silent authentication with authentication record and token cache persistence options](#silent-authentication-with-authentication-record-and-token-cache-persistence-options) + - [Allow unencrypted storage](#allow-unencrypted-storage) + - [Authenticate national clouds](#authenticate-national-clouds) ## Introduction @@ -55,7 +62,7 @@ function withInteractiveBrowserCredential() { } ``` -If your project is already using MSAL to authenticate on the browser, or if you're looking for more advanced authentication scenarios in the browser, the Azure SDK makes it easy to use MSAL directly to authenticate our clients: [Authenticating with the @azure/msal-browser Public Client](#authenticating-with-the-azure-msal-browser-public-client). +If your project is already using MSAL to authenticate on the browser, or if you're looking for more advanced authentication scenarios in the browser, the Azure SDK makes it easy to use MSAL directly to authenticate our clients: [Authenticating with the @azure/msal-browser Public Client](#authenticating-with-the-@azure/msal-browser-public-client). ## Authenticating server-side applications @@ -99,11 +106,11 @@ To learn more, read [Application and service principal objects in Azure Active D - [Application registration][quickstart-register-app] - [Create a Service Principal with the Azure CLI][service_principal_azure_cli] or [Create an Azure service principal with Azure PowerShell][service_principal_azure_powershell] -| Credential with example | Usage | -| -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [ClientSecretCredential](#authenticating-a-service-principal-with-a-client-secret) | Authenticates a service principal using a secret. | -| [ClientCertificateCredential](#authenticating-a-service-principal-with-a-client-certificate) | Authenticates a service principal using a certificate. | -| [EnvironmentCredential](#authenticating-a-service-principal-with-environment-credentials) | Authenticates a service principal or user via credential information specified in environment variables. | +| Credential with example | Usage | +| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [ClientSecretCredential](#authenticating-a-service-principal-with-a-client-secret) | Authenticates a service principal using a secret. | +| [ClientCertificateCredential](#authenticating-a-service-principal-with-a-client-certificate) | Authenticates a service principal using a certificate. | +| [EnvironmentCredential](#authenticating-a-service-principal-with-environment-credentials) | Authenticates a service principal or user via credential information specified in environment variables. | | [DefaultAzureCredential](#authenticating-with-defaultazurecredential) | Tries `EnvironmentCredential`, `AzureCliCredential`, `AzurePowerShellCredential`, and other credentials sequentially until one of them succeeds. Use this to have your application authenticate using developer tools, service principals, or managed identity based on what's available in the current environment without changing your code. | ### Authenticating Azure Hosted Applications @@ -112,7 +119,7 @@ If your application is hosted in Azure, you can make use of [Managed Identity](h | Credential with example | Usage | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [ManagedIdentityCredential](#authenticating-in-azure-with-managed-identity) | Authenticate in a virtual machine, App Service, Functions app, Cloud Shell, or AKS environment on Azure, with system-assigned managed identity, user-assigned managed identity, or app registration (when working with AKS pod identity). | +| [ManagedIdentityCredential](#authenticating-in-azure-with-managed-identity) | Authenticate in a virtual machine, App Service, Functions app, Cloud Shell, or AKS environment on Azure, with system-assigned managed identity, user-assigned managed identity, or app registration (when working with AKS pod identity). | | [DefaultAzureCredential](#authenticating-with-defaultazurecredential) | Tries `EnvironmentCredential`, `ManagedIdentityCredential`, `AzureCliCredential`, `AzurePowerShellCredential`, and other credentials sequentially until one of them succeeds. Use this to have your application authenticate using developer tools, service principals or managed identity based on what is available in the current environment without changing your code. | ### Examples @@ -316,6 +323,8 @@ Next, prompt the user to login at the URL documented at [Microsoft identity plat Then create an API at the redirect URL with the following code to access the Key Vault service. +To learn more about scopes and permissions, see [Scopes and permissions](https://docs.microsoft.com/azure/active-directory/develop/v2-permissions-and-consent#scopes-and-permissions). + For a complete example using the authorization code flow in Electron, please refer to [our electron sample](https://github.com/Azure/azure-sdk-for-js/blob/main/samples/frameworks/electron/ts/src/authProvider.ts) ```ts @@ -528,9 +537,41 @@ The `@azure/identity` library covers a broad range of Azure Active Directory aut In this section, we'll examine some such scenarios. +### Implementing the TokenCredential Interface + +The [@azure/core-auth][core_auth] package exports a `TokenCredential` interface. The interface is used by the `@azure/identity` package to define a standard public API for all of the Identity credentials we offer. Here's how this type looks in `@azure/core-auth`: + +```ts +export interface TokenCredential { + getToken(scopes: string | string[], options?: GetTokenOptions): Promise; +} +``` + +To satisfy this interface, one has to provide an object with a `getToken` function. This function will always receive a `scope` parameter, and should generally receive a second parameter, an options object. This `getToken` function is expected to return an object compatible with `@azure/core-auth`'s `AccessToken` interface, which is defined as follows: + +```ts +export interface AccessToken { + expiresOnTimestamp: number; + token: string; +} +``` + +As long as a valid `AccessToken` is returned, the parameters are not required to be used by a method implementing the `TokenCredential` interface. So, the simplest possible object compatible with the `TokenCredential` interface is one that has a `getToken` method that may return either null, or an object with two properties, a numeric property called `expiresOnTimestamp`, and a string property called `token`. Example: + +```ts +const mySimpleCredential = { + getToken() { + return { + expiresOnTimestamp: Date.now() + 1000, // Expires in a second + token: "my access token" + }; + } +}; +``` + ### Authenticating with a pre-fetched access token -The [@azure/core-auth][core_auth] package exports a `TokenCredential` interface. The interface is used by the `@azure/identity` package to define a standard public API for all of the Identity credentials we offer. There are cases in which it's convenient to create custom credentials. For example, when a token is pre-fetched, a custom `TokenCredential` can return that token as an `AccessToken` to the Azure SDK clients. +There are cases in which it's convenient to create custom credentials. For example, when a token is pre-fetched, a custom `TokenCredential` can return that token as an `AccessToken` to the Azure SDK clients. In this example, `StaticTokenCredential` implements the `TokenCredential` abstraction. It takes a pre-fetched access token in its constructor as an [AccessToken](https://docs.microsoft.com/javascript/api/@azure/core-auth/accesstoken) and returns that from its implementation of `getToken()`. @@ -646,7 +687,7 @@ import * as msalNode from "@azure/msal-node"; class OnBehalfOfCredential implements TokenCredential { private confidentialApp: msalNode.ConfidentialClientApplication; - constructor ( + constructor( private clientId: string, private clientSecret: string, private userAccessToken: string @@ -696,7 +737,7 @@ For this example, you'll define a `BrowserCredential` class with the following m **Prerequisites** -Install the [@azure/msal-browser][msal_browser_npm] and [@azure/core-auth][core_auth]. +Install the [@azure/msal-browser][msal_browser_npm] and [@azure/core-auth][core_auth] packages. > For more information about MSAL for browsers, see [the README of the `@azure/msal-browser` package][msal_browser_readme]. @@ -726,7 +767,7 @@ class BrowserCredential implements TokenCredential { } await this.publicApp.handleRedirectPromise(); this.hasAuthenticated = true; - } catch(e) { + } catch (e) { console.error("BrowserCredential prepare() failed", e); } } @@ -908,6 +949,234 @@ class RotatingCertificateCredential implements TokenCredential { In this example, the custom credential type `RotatingCertificateCredential` again uses a `ClientCertificateCredential` instance to retrieve tokens. However, in this case, it will attempt to refresh the certificate before obtaining the token. The method `RefreshCertificate` will query to see if the certificate has changed. If so, it will replace `this.credential` with a new instance of the certificate credential using the same certificate path. +### Control user interaction + +In many cases, applications require tight control over user interaction. In these applications, automatically blocking on required user interaction is often undesired or impractical. For this reason, credentials in the `@azure/identity` library that interact with the user offer mechanisms to fully control user interaction. These settings are available under `InteractiveCredentialOptions` in both Node.js and the browser. + +```ts +const credential = new InteractiveBrowserCredential({ + disableAutomaticAuthentication: true +}); +await credential.authenticate("https://vault.azure.net/.default"); +const client = new SecretClient("https://key-vault-name.vault.azure.net", credential); +``` + +In the preceding sample, the application is again using the `InteractiveBrowserCredential` to authenticate a `SecretClient`. There are two major differences from our first example. In this example: + +- The application is explicitly forcing any user interaction to happen before the credential is given to the client by calling the `authenticate` method. +- The application is preventing the credential from automatically initiating user interaction. Even though the application authenticates the user before the credential is used, further interaction might still be needed. For instance, in the case that the user's refresh token expires or that a specific method requires additional consent or authentication. + +If `disableAutomaticAuthentication` is `false`, the user doesn't use `authenticate()`, and the user has never authenticated before, `getToken` will prompt the user to authenticate. + +By setting the option `disableAutomaticAuthentication` to `true`, the credential will fail to automatically authenticate calls in which user interaction is necessary. Instead, the credential will throw an `AuthenticationRequiredError`. If `disableAutomaticAuthentication` is set to `true`, the user doesn't use `authenticate()`, and the user has never authenticated before, `getToken` should fail hard. +The following example demonstrates an application handling such an exception to prompt the user to authenticate only after some application logic has completed. + +```ts +try { + await client.getSecret("secret-name"); +} catch (e) { + if (e.name === "AuthenticationRequiredError") { + await credential.authenticate(e.scopes); + console.log("Secret", await client.getSecret("secret-name")); + } else { + throw e; + } +} +``` + +### Persist user authentication data + +Quite often, applications desire the ability to be run multiple times without re-authenticating the user on each execution. This requires that data from credentials be persisted outside of the application memory to authenticate silently on subsequent executions. Applications can persist this data using `tokenCachePersistenceOptions` when constructing the credential and persisting the `authenticationRecord` returned from `authenticate`. + +Many credential implementations in the `@azure/identity` library have an underlying token cache that persists sensitive authentication data such as account information, access tokens, and refresh tokens. By default, this data exists in an in-memory cache, which is specific to the credential instance. However, there are scenarios in which an application needs to persist it across executions to share the token cache across credentials. To accomplish this, the `@azure/identity` library provides the `tokenCachePersistenceOptions`. + +> IMPORTANT! The token cache contains sensitive data and MUST be protected to prevent compromising accounts. All application decisions regarding the persistence of the token cache must consider that a breach of its content will fully compromise all the accounts it contains. + +Starting in version 2 of `@azure/identity`, the `@azure/identity-cache-persistence` package can be used. This package provides a plugin to the `@azure/identity` package to enable persistent token caching. The package `@azure/identity-cache-persistence` exports a plugin object that you must pass as an argument to the top-level `useIdentityPlugin` function from the `@azure/identity` package. + +``` +npm install --save @azure/identity-cache-persistence +``` + +Enable token cache persistence in your application as follows: + +```ts +import { useIdentityPlugin } from "@azure/identity"; +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; + +useIdentityPlugin(cachePersistencePlugin); +``` + +After calling `useIdentityPlugin`, the persistent token cache plugin is registered to the `@azure/identity` package and will be available on all credentials that support persistent token caching (those that have `tokenCachePersistenceOptions` in their constructor options). + +#### Persist the token cache + +The credential handles persisting all the data needed to silently authenticate one or many accounts. It manages sensitive data, such as refresh tokens and access tokens, which must be protected to prevent compromising the accounts related to them. The `@azure/identity` library will protect and cache sensitive token data, using available platform data protection, if `@azure/identity-cache-persistence` is configured. Otherwise, it will use only in-memory caching. + +To configure a credential, such as the `InteractiveBrowserCredential`, to persist token data, set the `tokenCachePersistenceOptions` option. The simplest way to persist the token data for a credential is to use the default `tokenCachePersistenceOptions`. This will persist and read token data from a shared persisted token cache protected to the current account. + +```ts +import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity"; +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; + +useIdentityPlugin(cachePersistencePlugin); + +const credential = new InteractiveBrowserCredential({ + tokenCachePersistenceOptions: { + enabled: true + } +}); +``` + +#### Use a named token cache + +Some applications may prefer to isolate the token cache they use and provide a unique identifier, instead of using the default. To accomplish this, specify the `tokenCachePersistenceOptions` when creating the credential and provide a `name` for the persisted cache instance. + +```ts +const credential = new InteractiveBrowserCredential({ + tokenCachePersistenceOptions: { + enabled: true, + name: "my_application_name" + } +}); +``` + +#### Persist the authentication record + +The `AuthenticationRecord` which is returned from the `authenticate`, contains data identifying an authenticated account. It's needed to identify the appropriate entry in the persisted token cache to silently authenticate on subsequent executions. There's no sensitive data in the `AuthenticationRecord`, so it can be persisted in a non-protected state. Ensure that you pass the appropriate scopes for your service to the `authenticate` method. + +The following example stores the `AuthenticationRecord` to the local file system after authenticating the user: + +```ts +import { + useIdentityPlugin, + InteractiveBrowserCredential, + AuthenticationRecord, + serializeAuthenticationRecord +} from "@azure/identity"; +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; +import { writeFileSync } from "fs"; +import path from "path"; + +useIdentityPlugin(cachePersistencePlugin); + +export async function main(): Promise { + const AUTH_RECORD_PATH = "./tokencache.bin"; + const credential = new InteractiveBrowserCredential({ + tokenCachePersistenceOptions: { + enabled: true + } + }); + const authRecord: AuthenticationRecord = await credential.authenticate( + "https://service/.default" + ); + const content = serializeAuthenticationRecord(authRecord); + writeFileSsync(path.join(process.cwd(), AUTH_RECORD_PATH), content); +} + +main().catch((err) => { + console.log("error code: ", err.code); + console.log("error message: ", err.message); + console.log("error stack: ", err.stack); + process.exit(1); +}); +``` + +#### Silent authentication with authentication record and token cache persistence options + +Once an application has configured a credential to persist token data and an `AuthenticationRecord`, it's possible to silently authenticate. The following example demonstrates setting the `tokenCachePersistenceOptions` and retrieving an `AuthenticationRecord` from the local file system to create an `InteractiveBrowserCredential` capable of silent authentication. + +```ts +import { + useIdentityPlugin, + InteractiveBrowserCredential, + AuthenticationRecord, + deserializeAuthenticationRecord +} from "@azure/identity"; +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; +import { readFileSync } from "fs"; +import path from "path"; + +useIdentityPlugin(cachePersistencePlugin); + +export async function main(): Promise { + const AUTH_RECORD_PATH = "./tokencache.bin"; + const fileContent = readFileSync(path.join(process.cwd(), AUTH_RECORD_PATH), { + encoding: "utf-8" + }); + const authRecord: AuthenticationRecord = deserializeAuthenticationRecord(fileContent); + + const credential = new InteractiveBrowserCredential({ + tokenCachePersistenceOptions: { + enabled: true + }, + authenticationRecord: authRecord + }); +} + +main().catch((err) => { + console.log("error code: ", err.code); + console.log("error message: ", err.message); + console.log("error stack: ", err.stack); + process.exit(1); +}); +``` + +The credential created in the preceding example will silently authenticate, given that a valid token corresponding to the `AuthenticationRecord` still exists in the persisted token data. There are some cases where interaction will still be required, such as on token expiry or when additional authentication is required for a particular resource. + +#### Allow unencrypted storage + +By default, the token cache will protect any data that is persisted using the user data protection APIs available on the current platform. However, there are cases where no data protection is available, and applications may choose to still persist the token cache in an unencrypted state. This is accomplished with the `unsafeAllowUnencryptedStorage` option. + +```ts +import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity"; +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; + +useIdentityPlugin(cachePersistencePlugin); + +const credential = new InteractiveBrowserCredential({ + tokenCachePersistenceOptions: { + enabled: true, + unsafeAllowUnencryptedStorage: true + } +}); +``` + +By setting `unsafeAllowUnencryptedStorage` to `true`, the credential will encrypt the contents of the token cache before persisting it, if data protection is available on the current platform. If platform data protection is unavailable, it will write and read the persisted token data to an unencrypted local file with access permissions restricted to the current user. If `unsafeAllowUnencryptedStorage` is `false` (the default), a `CredentialUnavailableError` will be thrown in the case that no data protection is available. + +### Authenticate national clouds + +National clouds are physically isolated instances of Azure. These regions of Azure are designed to make sure that data residency, sovereignty, and compliance requirements are honored within geographical boundaries. Including the global cloud, Azure Active Directory (Azure AD) is deployed in the following national clouds: + +- Azure Government +- Azure Germany +- Azure China 21Vianet + +All credentials have `authorityHost` as a setting in the constructor at some level. To authenticate for various national cloud or a private cloud, we can send the most appropriate `authorityHost`. We provide a set of common values through the `AzureAuthorityHosts` interface. So, for the US Government cloud, you could instantiate a credential this way: + +```ts +import { AzureAuthorityHosts, ClientSecretCredential } from "@azure/identity"; +const credential = new ClientSecretCredential( + "", + "", + "", + { + authorityHost: AzureAuthorityHosts.AzureGovernment + } +); +``` + +The following table shows common values provided through the `AzureAuthorityHosts`. + +| National Cloud | Azure AD authentication endpoint | AzureAuthorityHost | +| ----------------------------------- | --------------------------------- | -------------------------------------- | +| Azure AD for US Government | https://login.microsoftonline.us | `AzureAuthorityHosts.AzureGovernment` | +| Azure AD Germany | https://login.microsoftonline.de | `AzureAuthorityHosts.AzureGermany` | +| Azure AD China operated by 21Vianet | https://login.chinacloudapi.cn | `AzureAuthorityHosts.AzureChina` | +| Azure AD (global service) | https://login.microsoftonline.com | `AzureAuthorityHosts.AzurePublicCloud` | + +To learn more about Azure Authentication for National Clouds, see [National clouds](https://docs.microsoft.com/azure/active-directory/develop/authentication-national-cloud). + [azure_cli]: https://docs.microsoft.com/cli/azure diff --git a/sdk/identity/identity/samples/manual/README.md b/sdk/identity/identity/samples/manual/README.md new file mode 100644 index 000000000000..5682d4e184db --- /dev/null +++ b/sdk/identity/identity/samples/manual/README.md @@ -0,0 +1,34 @@ +# AuthorizationCodeCredential manual sample + +This is a manual sample to test the `AuthorizationCodeCredential` class. + +Steps to run this sample: + +1. Set up your environment with [these instructions](https://github.com/azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md#setting-up-your-environment). + +2. Build the Identity package with dependencies. + +```bash +cd /sdk/identity/identity +rush build -t @azure/identity +``` + +3. Make sure you have an App Registration on your Azure Active Directory. This App Registration must: + +- Have a `http://localhost:8080/authresponse` as the Web redirect endpoint. +- Have this option selected `Accounts in any organizational directory (Any Azure AD directory - Multitenant)`. + +On the Azure Portal, navigate to your app registration. On the side panel, select "Authentication". + +- Under "Supported Account Types", select `Accounts in any organizational directory (Any Azure AD directory - Multitenant)` . +- Under "Platform Configurations", add a platform and select "Web". Then add `http://localhost:8080/authresponse` as the redirect URI. Then click "Configure". + +4. Navigate to the `samples/manual` folder + +```bash +cd /sdk/identity/identity/samples/manual +``` + +5. Copy the `sample.env` into a file named `.env` in this folder and make sure to fill the values accordingly. +6. Run `npm install` inside of this folder. +7. Run the sample by entering this in your terminal `npm run test`. At the end, an `AccessToken` should be printed. diff --git a/sdk/identity/identity/samples/manual/authorizationCodeSample.ts b/sdk/identity/identity/samples/manual/authorizationCodeSample.ts index 2dd1b72249ea..7fe91eb7ff99 100644 --- a/sdk/identity/identity/samples/manual/authorizationCodeSample.ts +++ b/sdk/identity/identity/samples/manual/authorizationCodeSample.ts @@ -4,12 +4,14 @@ import { Server } from "http"; // NOTE: When using this code, you must change the module below to "@azure/identity" -import { AuthorizationCodeCredential } from "../src/credentials/authorizationCodeCredential"; +import { AuthorizationCodeCredential } from "../../src/credentials/authorizationCodeCredential"; // You will need to install these external dependencies with NPM: -import qs from "qs"; import open from "open"; import express from "express"; +import { config } from "dotenv"; + +config(); // This sample demonstrates how to use the AuthorizationCodeCredential, // including the first part of the authorization code flow. For this @@ -20,7 +22,7 @@ import express from "express"; // http://localhost:8080/authresponse (port can be overridden with PORT env var) // // The user must also be able to grant access to the app for the resource -// requested in the specified scopes, Azure KeyVault in this case. If +// requested in the specified scopes, Microsoft Graph in this case. If // the user cannot grant access to this resource due to administrator // settings in the AAD tenant, one of the following errors will be displayed on // the authorization page: @@ -33,58 +35,56 @@ const clientId = process.env.AZURE_CLIENT_ID; const clientSecret = process.env.AZURE_CLIENT_SECRET; const redirectUri = `http://localhost:${port}/authresponse`; const authorityHost = "https://login.microsoftonline.com"; -const scopes = "https://vault.azure.net/.default"; +const scopes = "https://graph.microsoft.com/.default"; if (tenantId === undefined || clientId === undefined) { console.error("AZURE_TENANT_ID and AZURE_CLIENT_ID environment variables must be set"); process.exit(1); } -function getAuthorizeUrl( - tenantId: string, - clientId: string, - scopes: string -): string { - const queryParams = qs.stringify({ +function getAuthorizeUrl(tenantId: string, clientId: string, scopes: string): string { + const params = new URLSearchParams({ client_id: clientId, response_type: "code", redirect_uri: redirectUri, scope: scopes }); - - return `${authorityHost}/${tenantId}/oauth2/v2.0/authorize?${queryParams}`; + const query = params.toString(); + return `${authorityHost}/${tenantId}/oauth2/v2.0/authorize?${query}`; } async function getCredential(): Promise { // Set up a temporary local endpoint that can wait for the // authentication redirect to be sent to the local redirect URI. - const authCodePromise = - new Promise((resolve, reject) => { - const app = express(); - let server: Server | undefined = undefined; - - app.get('/authresponse', (req, res) => { - // Close the temporary server once we've received the redirect. - res.sendStatus(200); - if (server) { - server.close(); - } - - // The redirect will either contain a "code" or an "error" - const authorizationCode = req.query["code"]; - if (authorizationCode) { - resolve(authorizationCode.toString()); - } else { - reject(new Error(`Authentication Error "${req.query["error"]}":\n\n${req.query["error_description"]}`)); - } - }); - - server = app.listen( - port, - () => console.log(`Authorization code redirect server listening on port ${port}`) - ); + const authCodePromise = new Promise((resolve, reject) => { + const app = express(); + let server: Server | undefined = undefined; + + app.get("/authresponse", (req: any, res: any) => { + // Close the temporary server once we've received the redirect. + res.sendStatus(200); + if (server) { + server.close(); + } + + // The redirect will either contain a "code" or an "error" + const authorizationCode = req.query["code"]; + if (authorizationCode) { + resolve(authorizationCode.toString()); + } else { + reject( + new Error( + `Authentication Error "${req.query["error"]}":\n\n${req.query["error_description"]}` + ) + ); + } }); + server = app.listen(port, () => + console.log(`Authorization code redirect server listening on port ${port}`) + ); + }); + // Direct the user to the authentication URI either by opening a // browser (desktop and mobile apps) or redirecting their browser // using a Location header (web apps and APIs). @@ -107,8 +107,8 @@ async function getCredential(): Promise { authorizationCode, redirectUri, // NOTE: It is not necessary to explicitly pass the authorityHost when using - // the default authority host: https://login.microsoftonline.com. It is only - // necesary when a different authority host is used in the initial authorization + // the default authority host: https://login.microsoftonline.com. It is only + // necessary when a different authority host is used in the initial authorization // URI. { authorityHost } ); @@ -122,7 +122,7 @@ async function getCredential(): Promise { redirectUri, // NOTE: It is not necessary to explicitly pass the authorityHost when using // the default authority host: https://login.microsoftonline.com. It is only - // necesary when a different authority host is used in the initial authorization + // necessary when a different authority host is used in the initial authorization // URI. { authorityHost } ); @@ -147,6 +147,6 @@ async function runExample() { } } -runExample().catch(err => { +runExample().catch((err) => { console.log("Encountered an error:\n\n", err); -}) +}); diff --git a/sdk/identity/identity/samples/manual/package.json b/sdk/identity/identity/samples/manual/package.json new file mode 100644 index 000000000000..1828f976beb8 --- /dev/null +++ b/sdk/identity/identity/samples/manual/package.json @@ -0,0 +1,19 @@ +{ + "name": "manual", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "ts-node authorizationCodeSample.ts" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "@types/express": "^4.17.12", + "dotenv": "^10.0.0", + "express": "^4.17.1", + "open": "^8.2.1", + "qs": "^6.10.1", + "ts-node": "latest" + } +} diff --git a/sdk/identity/identity/samples/manual/sample.env b/sdk/identity/identity/samples/manual/sample.env new file mode 100644 index 000000000000..a0ac55bf047d --- /dev/null +++ b/sdk/identity/identity/samples/manual/sample.env @@ -0,0 +1,3 @@ +AZURE_TENANT_ID= +AZURE_CLIENT_ID= +AZURE_CLIENT_SECRET= diff --git a/sdk/identity/identity/samples/typescript/package.json b/sdk/identity/identity/samples/typescript/package.json index 7aa8a39863d5..6569988d1c6e 100644 --- a/sdk/identity/identity/samples/typescript/package.json +++ b/sdk/identity/identity/samples/typescript/package.json @@ -29,8 +29,10 @@ "homepage": "https://github.com/Azure/azure-sdk-for-js#readme", "sideEffects": false, "dependencies": { - "@azure/identity": "latest", + "@azure/identity": "2.0.0-beta.5", "@azure/keyvault-keys": "4.1.0", + "@azure/keyvault-secrets": "4.2.0", + "@azure/keyvault-certificates": "4.2.0", "dotenv": "^8.2.0" }, "devDependencies": { diff --git a/sdk/identity/identity/src/client/errors.ts b/sdk/identity/identity/src/client/errors.ts index 11c2f6c56784..dfe225f5b2ef 100644 --- a/sdk/identity/identity/src/client/errors.ts +++ b/sdk/identity/identity/src/client/errors.ts @@ -164,7 +164,7 @@ export class AggregateAuthenticationError extends Error { constructor(errors: any[], errorMessage?: string) { const errorDetail = errors.join("\n"); - super(`${errorMessage}\n\n${errorDetail}`); + super(`${errorMessage}\n${errorDetail}`); this.errors = errors; // Ensure that this type reports the correct name diff --git a/sdk/identity/identity/src/client/identityClient.ts b/sdk/identity/identity/src/client/identityClient.ts index d2de60d1074f..0b757c2cac9e 100644 --- a/sdk/identity/identity/src/client/identityClient.ts +++ b/sdk/identity/identity/src/client/identityClient.ts @@ -64,7 +64,7 @@ export class IdentityClient extends ServiceClient implements INetworkModule { private abortControllers: Map; constructor(options?: TokenCredentialOptions) { - const packageDetails = `azsdk-js-identity/2.0.0-beta.5`; + const packageDetails = `azsdk-js-identity/2.0.0-beta.7`; const userAgentPrefix = options?.userAgentOptions?.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`; @@ -174,10 +174,7 @@ export class IdentityClient extends ServiceClient implements INetworkModule { Accept: "application/json", "Content-Type": "application/x-www-form-urlencoded" }), - tracingOptions: { - spanOptions: updatedOptions?.tracingOptions?.spanOptions, - tracingContext: updatedOptions?.tracingOptions?.tracingContext - } + tracingOptions: updatedOptions?.tracingOptions }); const response = await this.sendTokenRequest(request, expiresOnParser); diff --git a/sdk/identity/identity/src/credentials/applicationCredential.browser.ts b/sdk/identity/identity/src/credentials/applicationCredential.browser.ts new file mode 100644 index 000000000000..15ec08e380ca --- /dev/null +++ b/sdk/identity/identity/src/credentials/applicationCredential.browser.ts @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { AccessToken } from "@azure/core-auth"; + +import { TokenCredentialOptions } from "../client/identityClient"; +import { credentialLogger, formatError } from "../util/logging"; +import { ChainedTokenCredential } from "./chainedTokenCredential"; + +const BrowserNotSupportedError = new Error( + "ApplicationCredential is not supported in the browser. Use InteractiveBrowserCredential instead." +); +const logger = credentialLogger("ApplicationCredential"); + +/** + * Provides a default {@link ChainedTokenCredential} configuration for + * applications that will be deployed to Azure. + * + * Only available in NodeJS. + */ +export class ApplicationCredential extends ChainedTokenCredential { + /** + * Creates an instance of the ApplicationCredential class. + * + * @param options - Options for configuring the client which makes the authentication request. + */ + constructor(_tokenCredentialOptions?: TokenCredentialOptions) { + super(); + logger.info(formatError("", BrowserNotSupportedError)); + throw BrowserNotSupportedError; + } + + public getToken(): Promise { + logger.getToken.info(formatError("", BrowserNotSupportedError)); + throw BrowserNotSupportedError; + } +} diff --git a/sdk/identity/identity/src/credentials/applicationCredential.ts b/sdk/identity/identity/src/credentials/applicationCredential.ts new file mode 100644 index 000000000000..be7bd1506cf2 --- /dev/null +++ b/sdk/identity/identity/src/credentials/applicationCredential.ts @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { TokenCredential } from "@azure/core-auth"; +import { TokenCredentialOptions } from "../client/identityClient"; +import { ChainedTokenCredential } from "./chainedTokenCredential"; +import { EnvironmentCredential } from "./environmentCredential"; +import { CredentialPersistenceOptions } from "./credentialPersistenceOptions"; +import { DefaultManagedIdentityCredential } from "./defaultAzureCredential"; + +/** + * Provides options to configure the {@link ApplicationCredential} class. + */ +export interface ApplicationCredentialOptions + extends TokenCredentialOptions, + CredentialPersistenceOptions { + /** + * Optionally pass in a user assigned client ID to be used by the {@link ManagedIdentityCredential}. + * This client ID can also be passed through to the {@link ManagedIdentityCredential} through the environment variable: AZURE_CLIENT_ID. + */ + managedIdentityClientId?: string; +} + +/** + * The type of a class that implements TokenCredential and accepts + * `ApplicationCredentialOptions`. + */ +interface ApplicationCredentialConstructor { + new (options?: ApplicationCredentialOptions): TokenCredential; +} + +export const ApplicationCredentials: ApplicationCredentialConstructor[] = [ + EnvironmentCredential, + DefaultManagedIdentityCredential +]; + +/** + * Provides a default {@link ChainedTokenCredential} configuration that should + * work for most applications that use the Azure SDK. The following credential + * types will be tried, in order: + * + * - {@link EnvironmentCredential} + * - {@link ManagedIdentityCredential} + + * + * Consult the documentation of these credential types for more information + * on how they attempt authentication. + */ +export class ApplicationCredential extends ChainedTokenCredential { + /** + * Creates an instance of the ApplicationCredential class. + * + * @param options - Optional parameters. See {@link ApplicationCredentialOptions}. + */ + constructor(options?: ApplicationCredentialOptions) { + super(...ApplicationCredentials.map((ctor) => new ctor(options))); + this.UnavailableMessage = + "ApplicationCredential => failed to retrieve a token from the included credentials"; + } +} diff --git a/sdk/identity/identity/src/credentials/authorizationCodeCredential.ts b/sdk/identity/identity/src/credentials/authorizationCodeCredential.ts index 39453784cdf9..f87c72b3924d 100644 --- a/sdk/identity/identity/src/credentials/authorizationCodeCredential.ts +++ b/sdk/identity/identity/src/credentials/authorizationCodeCredential.ts @@ -1,16 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { createHttpHeaders, createPipelineRequest } from "@azure/core-rest-pipeline"; import { TokenCredential, GetTokenOptions, AccessToken } from "@azure/core-auth"; -import { createSpan } from "../util/tracing"; -import { CredentialUnavailableError } from "../client/errors"; -import { IdentityClient, TokenResponse, TokenCredentialOptions } from "../client/identityClient"; -import { SpanStatusCode } from "@azure/core-tracing"; -import { credentialLogger, formatSuccess, formatError } from "../util/logging"; -import { getIdentityTokenEndpointSuffix } from "../util/identityTokenEndpoint"; +import { TokenCredentialOptions } from "../client/identityClient"; +import { credentialLogger } from "../util/logging"; import { checkTenantId } from "../util/checkTenantId"; -import { processMultiTenantRequest } from "../util/validateMultiTenant"; +import { MsalAuthorizationCode } from "../msal/nodeFlows/msalAuthorizationCode"; +import { MsalFlow } from "../msal/flows"; +import { trace } from "../util/tracing"; const logger = credentialLogger("AuthorizationCodeCredential"); @@ -22,14 +19,10 @@ const logger = credentialLogger("AuthorizationCodeCredential"); * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow */ export class AuthorizationCodeCredential implements TokenCredential { - private identityClient: IdentityClient; - private tenantId: string; - private clientId: string; - private clientSecret: string | undefined; + private msalFlow: MsalFlow; + private disableAutomaticAuthentication?: boolean; private authorizationCode: string; private redirectUri: string; - private lastTokenResponse: TokenResponse | null = null; - private allowMultiTenantAuthentication?: boolean; /** * Creates an instance of CodeFlowCredential with the details needed @@ -102,26 +95,30 @@ export class AuthorizationCodeCredential implements TokenCredential { options?: TokenCredentialOptions ) { checkTenantId(logger, tenantId); - - this.clientId = clientId; - this.tenantId = tenantId; + let clientSecret: string | undefined = clientSecretOrAuthorizationCode; if (typeof redirectUriOrOptions === "string") { // the clientId+clientSecret constructor - this.clientSecret = clientSecretOrAuthorizationCode; this.authorizationCode = authorizationCodeOrRedirectUri; this.redirectUri = redirectUriOrOptions; // options okay } else { // clientId only - this.clientSecret = undefined; this.authorizationCode = clientSecretOrAuthorizationCode; this.redirectUri = authorizationCodeOrRedirectUri as string; + clientSecret = undefined; options = redirectUriOrOptions as TokenCredentialOptions; } - this.allowMultiTenantAuthentication = options?.allowMultiTenantAuthentication; - this.identityClient = new IdentityClient(options); + this.msalFlow = new MsalAuthorizationCode({ + ...options, + clientSecret, + clientId, + tokenCredentialOptions: options || {}, + logger, + redirectUri: this.redirectUri, + authorizationCode: this.authorizationCode + }); } /** @@ -132,86 +129,13 @@ export class AuthorizationCodeCredential implements TokenCredential { * @param options - The options used to configure any requests this * TokenCredential implementation might make. */ - public async getToken( - scopes: string | string[], - options?: GetTokenOptions - ): Promise { - const tenantId = - processMultiTenantRequest(this.tenantId, this.allowMultiTenantAuthentication, options) || - this.tenantId; - - const { span, updatedOptions } = createSpan("AuthorizationCodeCredential-getToken", options); - try { - let tokenResponse: TokenResponse | null = null; - let scopeString = typeof scopes === "string" ? scopes : scopes.join(" "); - if (scopeString.indexOf("offline_access") < 0) { - scopeString += " offline_access"; - } - - // Try to use the refresh token first - if (this.lastTokenResponse && this.lastTokenResponse.refreshToken) { - tokenResponse = await this.identityClient.refreshAccessToken( - tenantId, - this.clientId, - scopeString, - this.lastTokenResponse.refreshToken, - this.clientSecret, - undefined, - updatedOptions - ); - } - - const query = new URLSearchParams({ - client_id: this.clientId, - grant_type: "authorization_code", - scope: scopeString, - code: this.authorizationCode, - redirect_uri: this.redirectUri + async getToken(scopes: string | string[], options: GetTokenOptions = {}): Promise { + return trace(`${this.constructor.name}.getToken`, options, async (newOptions) => { + const arrayScopes = Array.isArray(scopes) ? scopes : [scopes]; + return this.msalFlow.getToken(arrayScopes, { + ...newOptions, + disableAutomaticAuthentication: this.disableAutomaticAuthentication }); - - if (this.clientSecret) { - query.set("client_secret", this.clientSecret); - } - - if (tokenResponse === null) { - const urlSuffix = getIdentityTokenEndpointSuffix(tenantId); - const pipelineRequest = createPipelineRequest({ - url: `${this.identityClient.authorityHost}/${tenantId}/${urlSuffix}`, - method: "POST", - body: query.toString(), - headers: createHttpHeaders({ - Accept: "application/json", - "Content-Type": "application/x-www-form-urlencoded" - }), - tracingOptions: { - spanOptions: updatedOptions?.tracingOptions?.spanOptions, - tracingContext: updatedOptions?.tracingOptions?.tracingContext - } - }); - - tokenResponse = await this.identityClient.sendTokenRequest( - pipelineRequest, - (response: any) => new Date(response?.expires_on).getTime() - ); - } - - this.lastTokenResponse = tokenResponse; - logger.getToken.info(formatSuccess(scopes)); - const token = tokenResponse && tokenResponse.accessToken; - - if (!token) { - throw new CredentialUnavailableError("Failed to retrieve a valid token"); - } - return token; - } catch (err) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: err.message - }); - logger.getToken.info(formatError(scopes, err)); - throw err; - } finally { - span.end(); - } + }); } } diff --git a/sdk/identity/identity/src/credentials/azurePowerShellCredential.ts b/sdk/identity/identity/src/credentials/azurePowerShellCredential.ts index b888e989460c..c6900a0a2a83 100644 --- a/sdk/identity/identity/src/credentials/azurePowerShellCredential.ts +++ b/sdk/identity/identity/src/credentials/azurePowerShellCredential.ts @@ -165,7 +165,7 @@ export class AzurePowerShellCredential implements TokenCredential { public async getToken( scopes: string | string[], options: GetTokenOptions = {} - ): Promise { + ): Promise { return trace(`${this.constructor.name}.getToken`, options, async () => { const tenantId = processMultiTenantRequest( this.tenantId, diff --git a/sdk/identity/identity/src/credentials/chainedTokenCredential.ts b/sdk/identity/identity/src/credentials/chainedTokenCredential.ts index af24c6912a70..40cb82058e07 100644 --- a/sdk/identity/identity/src/credentials/chainedTokenCredential.ts +++ b/sdk/identity/identity/src/credentials/chainedTokenCredential.ts @@ -26,11 +26,6 @@ export class ChainedTokenCredential implements TokenCredential { private _sources: TokenCredential[] = []; - /** - * The selected credential, in case users want to read it or use it directly. - */ - public selectedCredential?: TokenCredential; - /** * Creates an instance of ChainedTokenCredential using the given credentials. * @@ -62,14 +57,15 @@ export class ChainedTokenCredential implements TokenCredential { */ async getToken(scopes: string | string[], options?: GetTokenOptions): Promise { let token = null; - const errors: Error[] = []; + let successfulCredentialName = ""; + const errors = []; const { span, updatedOptions } = createSpan("ChainedTokenCredential-getToken", options); for (let i = 0; i < this._sources.length && token === null; i++) { try { token = await this._sources[i].getToken(scopes, updatedOptions); - this.selectedCredential = this._sources[i]; + successfulCredentialName = this._sources[i].constructor.name; } catch (err) { if ( err.name === "CredentialUnavailableError" || @@ -84,7 +80,10 @@ export class ChainedTokenCredential implements TokenCredential { } if (!token && errors.length > 0) { - const err = new AggregateAuthenticationError(errors); + const err = new AggregateAuthenticationError( + errors, + "ChainedTokenCredential authentication failed." + ); span.setStatus({ code: SpanStatusCode.ERROR, message: err.message @@ -95,9 +94,7 @@ export class ChainedTokenCredential implements TokenCredential { span.end(); - logger.getToken.info( - `Result for ${this.selectedCredential!.constructor.name}: ${formatSuccess(scopes)}` - ); + logger.getToken.info(`Result for ${successfulCredentialName}: ${formatSuccess(scopes)}`); if (token === null) { throw new CredentialUnavailableError("Failed to retrieve a valid token"); diff --git a/sdk/identity/identity/src/credentials/clientCertificateCredential.ts b/sdk/identity/identity/src/credentials/clientCertificateCredential.ts index 12e2a2ea95d5..cf484db3565c 100644 --- a/sdk/identity/identity/src/credentials/clientCertificateCredential.ts +++ b/sdk/identity/identity/src/credentials/clientCertificateCredential.ts @@ -37,6 +37,11 @@ export class ClientCertificateCredential implements TokenCredential { certificatePath: string, options: ClientCertificateCredentialOptions = {} ) { + if (!tenantId || !clientId || !certificatePath) { + throw new Error( + "ClientCertificateCredential: tenantId, clientId, and certificatePath are required parameters." + ); + } this.msalFlow = new MsalClientCertificate({ ...options, certificatePath, diff --git a/sdk/identity/identity/src/credentials/clientSecretCredential.browser.ts b/sdk/identity/identity/src/credentials/clientSecretCredential.browser.ts index 4094a2a4678a..ae69db511ce1 100644 --- a/sdk/identity/identity/src/credentials/clientSecretCredential.browser.ts +++ b/sdk/identity/identity/src/credentials/clientSecretCredential.browser.ts @@ -89,10 +89,7 @@ export class ClientSecretCredential implements TokenCredential { "Content-Type": "application/x-www-form-urlencoded" }), abortSignal: options && options.abortSignal, - tracingOptions: { - spanOptions: newOptions.tracingOptions && newOptions.tracingOptions.spanOptions, - tracingContext: newOptions.tracingOptions && newOptions.tracingOptions.tracingContext - } + tracingOptions: newOptions?.tracingOptions }); const tokenResponse = await this.identityClient.sendTokenRequest(request); diff --git a/sdk/identity/identity/src/credentials/clientSecretCredential.ts b/sdk/identity/identity/src/credentials/clientSecretCredential.ts index bd7954146907..55dd6f001a4d 100644 --- a/sdk/identity/identity/src/credentials/clientSecretCredential.ts +++ b/sdk/identity/identity/src/credentials/clientSecretCredential.ts @@ -38,6 +38,11 @@ export class ClientSecretCredential implements TokenCredential { clientSecret: string, options: ClientSecretCredentialOptions = {} ) { + if (!tenantId || !clientId || !clientSecret) { + throw new Error( + "ClientSecretCredential: tenantId, clientId, and clientSecret are required parameters." + ); + } this.msalFlow = new MsalClientSecret({ ...options, logger, diff --git a/sdk/identity/identity/src/credentials/credentialPersistenceOptions.ts b/sdk/identity/identity/src/credentials/credentialPersistenceOptions.ts index ca5e749c0870..87ac0424b268 100644 --- a/sdk/identity/identity/src/credentials/credentialPersistenceOptions.ts +++ b/sdk/identity/identity/src/credentials/credentialPersistenceOptions.ts @@ -11,32 +11,32 @@ export interface CredentialPersistenceOptions { /** * Options to provide to the persistence layer (if one is available) when * storing credentials. - * - * You must first register a persistence provider as an extension. See the + * + * You must first register a persistence provider plugin. See the * `@azure/identity-cache-persistence` package on NPM. - * + * * Example: - * - * ```typescript - * import persistence from "@azure/identity-cache-persistence"; - * import { useIdentityExtension, DeviceCodeCredential } from "@azure/identity"; - * - * useIdentityExtension(persistence); - * + * + * ```javascript + * import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; + * import { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity"; + * + * useIdentityPlugin(cachePersistencePlugin); + * * async function main() { * const credential = new DeviceCodeCredential({ * tokenCachePersistenceOptions: { - * name: "mycustomcachename" + * enabled: true * } * }); * } - * + * * main().catch((error) => { * console.error("An error occured:", error); * process.exit(1); * }); * ``` -- */ + */ tokenCachePersistenceOptions?: TokenCachePersistenceOptions; } diff --git a/sdk/identity/identity/src/credentials/defaultAzureCredential.ts b/sdk/identity/identity/src/credentials/defaultAzureCredential.ts index 1bbbda2020b5..c0ff88f82231 100644 --- a/sdk/identity/identity/src/credentials/defaultAzureCredential.ts +++ b/sdk/identity/identity/src/credentials/defaultAzureCredential.ts @@ -46,7 +46,7 @@ interface DefaultCredentialConstructor { * * @internal */ -class DefaultManagedIdentityCredential extends ManagedIdentityCredential { +export class DefaultManagedIdentityCredential extends ManagedIdentityCredential { constructor(options?: DefaultAzureCredentialOptions) { const managedIdentityClientId = options?.managedIdentityClientId ?? process.env.AZURE_CLIENT_ID; if (managedIdentityClientId !== undefined) { @@ -78,19 +78,16 @@ export const defaultCredentials: DefaultCredentialConstructor[] = [ * * Consult the documentation of these credential types for more information * on how they attempt authentication. - * - * **Note**: `VisualStudioCodeCredential` is provided by an extension package: - * `@azure/identity-vscode`. If this package is not installed and registered - * using the extension API (`useIdentityExtension`), then authentication using - * `VisualStudioCodeCredential` will not be available. - * - * Azure Identity extensions may add credential types to the default credential - * stack. */ export class DefaultAzureCredential extends ChainedTokenCredential { /** * Creates an instance of the DefaultAzureCredential class. * + * **Note**: `VisualStudioCodeCredential` is provided by a plugin package: + * `@azure/identity-vscode`. If this package is not installed and registered + * using the plugin API (`useIdentityPlugin`), then authentication using + * `VisualStudioCodeCredential` will not be available. + * * @param options - Optional parameters. See {@link DefaultAzureCredentialOptions}. */ constructor(options?: DefaultAzureCredentialOptions) { diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/appServiceMsi2017.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/appServiceMsi2017.ts index 3c08eaddfc4c..520f1fd05c62 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/appServiceMsi2017.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/appServiceMsi2017.ts @@ -3,12 +3,12 @@ import { createHttpHeaders, PipelineRequestOptions } from "@azure/core-rest-pipeline"; import { AccessToken, GetTokenOptions } from "@azure/core-auth"; -import { IdentityClient } from "../../client/identityClient"; import { credentialLogger } from "../../util/logging"; -import { MSI } from "./models"; -import { msiGenericGetToken } from "./utils"; +import { MSI, MSIConfiguration } from "./models"; +import { mapScopesToResource, msiGenericGetToken } from "./utils"; -const logger = credentialLogger("ManagedIdentityCredential - AppServiceMSI 2017"); +const msiName = "ManagedIdentityCredential - AppServiceMSI 2017"; +const logger = credentialLogger(msiName); function expiresInParser(requestBody: any): number { // Parse a date format like "06/20/2019 02:57:58 +00:00" and @@ -16,7 +16,15 @@ function expiresInParser(requestBody: any): number { return Date.parse(requestBody.expires_on); } -function prepareRequestOptions(resource: string, clientId?: string): PipelineRequestOptions { +function prepareRequestOptions( + scopes: string | string[], + clientId?: string +): PipelineRequestOptions { + const resource = mapScopesToResource(scopes); + if (!resource) { + throw new Error(`${msiName}: Multiple scopes are not supported.`); + } + const queryParameters: any = { resource, "api-version": "2017-09-01" @@ -30,10 +38,10 @@ function prepareRequestOptions(resource: string, clientId?: string): PipelineReq // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below. if (!process.env.MSI_ENDPOINT) { - throw new Error("Missing environment variable: MSI_ENDPOINT"); + throw new Error(`${msiName}: Missing environment variable: MSI_ENDPOINT`); } if (!process.env.MSI_SECRET) { - throw new Error("Missing environment variable: MSI_SECRET"); + throw new Error(`${msiName}: Missing environment variable: MSI_SECRET`); } return { @@ -47,27 +55,34 @@ function prepareRequestOptions(resource: string, clientId?: string): PipelineReq } export const appServiceMsi2017: MSI = { - async isAvailable(): Promise { + async isAvailable(scopes): Promise { + const resource = mapScopesToResource(scopes); + if (!resource) { + logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`); + return false; + } const env = process.env; const result = Boolean(env.MSI_ENDPOINT && env.MSI_SECRET); if (!result) { - logger.info("The Azure App Service MSI 2017 is unavailable."); + logger.info( + `${msiName}: Unavailable. The environment variables needed are: MSI_ENDPOINT and MSI_SECRET.` + ); } return result; }, async getToken( - identityClient: IdentityClient, - resource: string, - clientId?: string, + configuration: MSIConfiguration, getTokenOptions: GetTokenOptions = {} ): Promise { + const { identityClient, scopes, clientId } = configuration; + logger.info( - `Using the endpoint and the secret coming form the environment variables: MSI_ENDPOINT=${process.env.MSI_ENDPOINT} and MSI_SECRET=[REDACTED].` + `${msiName}: Using the endpoint and the secret coming form the environment variables: MSI_ENDPOINT=${process.env.MSI_ENDPOINT} and MSI_SECRET=[REDACTED].` ); return msiGenericGetToken( identityClient, - prepareRequestOptions(resource, clientId), + prepareRequestOptions(scopes, clientId), expiresInParser, getTokenOptions ); diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/arcMsi.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/arcMsi.ts index 389140bf7c85..589107ab4cb5 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/arcMsi.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/arcMsi.ts @@ -8,19 +8,24 @@ import { } from "@azure/core-rest-pipeline"; import { AccessToken, GetTokenOptions } from "@azure/core-auth"; import { readFile } from "fs"; -import { MSI } from "./models"; +import { MSI, MSIConfiguration } from "./models"; import { credentialLogger } from "../../util/logging"; import { IdentityClient } from "../../client/identityClient"; -import { msiGenericGetToken } from "./utils"; +import { mapScopesToResource, msiGenericGetToken } from "./utils"; import { azureArcAPIVersion } from "./constants"; import { AuthenticationError } from "../../client/errors"; -const logger = credentialLogger("ManagedIdentityCredential - ArcMSI"); +const msiName = "ManagedIdentityCredential - Azure Arc MSI"; +const logger = credentialLogger(msiName); // Azure Arc MSI doesn't have a special expiresIn parser. const expiresInParser = undefined; -function prepareRequestOptions(resource?: string): PipelineRequestOptions { +function prepareRequestOptions(scopes: string | string[]): PipelineRequestOptions { + const resource = mapScopesToResource(scopes); + if (!resource) { + throw new Error(`${msiName}: Multiple scopes are not supported.`); + } const queryParameters: any = { resource, "api-version": azureArcAPIVersion @@ -30,7 +35,7 @@ function prepareRequestOptions(resource?: string): PipelineRequestOptions { // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below. if (!process.env.IDENTITY_ENDPOINT) { - throw new Error("Missing environment variable: IDENTITY_ENDPOINT"); + throw new Error(`${msiName}: Missing environment variable: IDENTITY_ENDPOINT`); } return createPipelineRequest({ @@ -69,7 +74,7 @@ async function filePathRequest( } throw new AuthenticationError( response.status, - `To authenticate with Azure Arc MSI, status code 401 is expected on the first request.${message}` + `${msiName}: To authenticate with Azure Arc MSI, status code 401 is expected on the first request. ${message}` ); } @@ -82,24 +87,31 @@ async function filePathRequest( } export const arcMsi: MSI = { - async isAvailable(): Promise { + async isAvailable(scopes): Promise { + const resource = mapScopesToResource(scopes); + if (!resource) { + logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`); + return false; + } const result = Boolean(process.env.IMDS_ENDPOINT && process.env.IDENTITY_ENDPOINT); if (!result) { - logger.info("The Azure Arc MSI is unavailable."); + logger.info( + `${msiName}: The environment variables needed are: IMDS_ENDPOINT and IDENTITY_ENDPOINT` + ); } return result; }, async getToken( - identityClient: IdentityClient, - resource?: string, - clientId?: string, + configuration: MSIConfiguration, getTokenOptions: GetTokenOptions = {} ): Promise { - logger.info(`Using the Azure Arc MSI to authenticate.`); + const { identityClient, scopes, clientId } = configuration; + + logger.info(`${msiName}: Authenticating.`); if (clientId) { throw new Error( - "User assigned identity is not supported by the Azure Arc Managed Identity Endpoint. To authenticate with the system assigned identity omit the client id when constructing the ManagedIdentityCredential, or if authenticating with the DefaultAzureCredential ensure the AZURE_CLIENT_ID environment variable is not set." + `${msiName}: User assigned identity is not supported by the Azure Arc Managed Identity Endpoint. To authenticate with the system assigned identity, omit the client id when constructing the ManagedIdentityCredential, or if authenticating with the DefaultAzureCredential ensure the AZURE_CLIENT_ID environment variable is not set.` ); } @@ -107,14 +119,14 @@ export const arcMsi: MSI = { disableJsonStringifyOnBody: true, deserializationMapper: undefined, abortSignal: getTokenOptions.abortSignal, - spanOptions: getTokenOptions.tracingOptions && getTokenOptions.tracingOptions.spanOptions, - ...prepareRequestOptions(resource) + ...prepareRequestOptions(scopes), + allowInsecureConnection: true }; const filePath = await filePathRequest(identityClient, requestOptions); if (!filePath) { - throw new Error("Azure Arc MSI failed to find the token file."); + throw new Error(`${msiName}: Failed to find the token file.`); } const key = await readFileAsync(filePath, { encoding: "utf-8" }); diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/cloudShellMsi.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/cloudShellMsi.ts index 790d7e2327d2..be3e20ebf77d 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/cloudShellMsi.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/cloudShellMsi.ts @@ -1,21 +1,27 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import qs from "qs"; - import { createHttpHeaders, PipelineRequestOptions } from "@azure/core-rest-pipeline"; import { AccessToken, GetTokenOptions } from "@azure/core-auth"; -import { MSI } from "./models"; +import { MSI, MSIConfiguration } from "./models"; import { credentialLogger } from "../../util/logging"; -import { IdentityClient } from "../../client/identityClient"; -import { msiGenericGetToken } from "./utils"; +import { mapScopesToResource, msiGenericGetToken } from "./utils"; -const logger = credentialLogger("ManagedIdentityCredential - CloudShellMSI"); +const msiName = "ManagedIdentityCredential - CloudShellMSI"; +const logger = credentialLogger(msiName); // Cloud Shell MSI doesn't have a special expiresIn parser. const expiresInParser = undefined; -function prepareRequestOptions(resource: string, clientId?: string): PipelineRequestOptions { +function prepareRequestOptions( + scopes: string | string[], + clientId?: string +): PipelineRequestOptions { + const resource = mapScopesToResource(scopes); + if (!resource) { + throw new Error(`${msiName}: Multiple scopes are not supported.`); + } + const body: any = { resource }; @@ -26,13 +32,13 @@ function prepareRequestOptions(resource: string, clientId?: string): PipelineReq // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below. if (!process.env.MSI_ENDPOINT) { - throw new Error("Missing environment variable: MSI_ENDPOINT"); + throw new Error(`${msiName}: Missing environment variable: MSI_ENDPOINT`); } - + const params = new URLSearchParams(body); return { url: process.env.MSI_ENDPOINT, method: "POST", - body: qs.stringify(body), + body: params.toString(), headers: createHttpHeaders({ Accept: "application/json", Metadata: "true", @@ -42,26 +48,31 @@ function prepareRequestOptions(resource: string, clientId?: string): PipelineReq } export const cloudShellMsi: MSI = { - async isAvailable(): Promise { + async isAvailable(scopes): Promise { + const resource = mapScopesToResource(scopes); + if (!resource) { + logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`); + return false; + } const result = Boolean(process.env.MSI_ENDPOINT); if (!result) { - logger.info("The Azure Cloud Shell MSI is unavailable."); + logger.info(`${msiName}: Unavailable. The environment variable MSI_ENDPOINT is needed.`); } return result; }, async getToken( - identityClient: IdentityClient, - resource: string, - clientId?: string, + configuration: MSIConfiguration, getTokenOptions: GetTokenOptions = {} ): Promise { + const { identityClient, scopes, clientId } = configuration; + logger.info( - `Using the endpoint coming form the environment variable MSI_ENDPOINT=${process.env.MSI_ENDPOINT}, and using the Cloud Shell to proceed with the authentication.` + `${msiName}: Using the endpoint coming form the environment variable MSI_ENDPOINT = ${process.env.MSI_ENDPOINT}.` ); return msiGenericGetToken( identityClient, - prepareRequestOptions(resource, clientId), + prepareRequestOptions(scopes, clientId), expiresInParser, getTokenOptions ); diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/constants.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/constants.ts index 52026f204d87..430ef07482f1 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/constants.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/constants.ts @@ -3,7 +3,8 @@ export const DefaultScopeSuffix = "/.default"; -export const imdsEndpoint = "http://169.254.169.254/metadata/identity/oauth2/token"; +export const imdsHost = "http://169.254.169.254"; +export const imdsEndpointPath = "/metadata/identity/oauth2/token"; export const imdsApiVersion = "2018-02-01"; export const azureArcAPIVersion = "2019-11-01"; export const azureFabricVersion = "2019-07-01-preview"; diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/fabricMsi.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/fabricMsi.ts index 7b4c5ae3a78e..21198a222803 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/fabricMsi.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/fabricMsi.ts @@ -3,20 +3,28 @@ import { createHttpHeaders, PipelineRequestOptions } from "@azure/core-rest-pipeline"; import { AccessToken, GetTokenOptions } from "@azure/core-auth"; -import { MSI } from "./models"; +import { MSI, MSIConfiguration } from "./models"; import { credentialLogger } from "../../util/logging"; -import { IdentityClient } from "../../client/identityClient"; -import { msiGenericGetToken } from "./utils"; +import { mapScopesToResource, msiGenericGetToken } from "./utils"; import { azureFabricVersion } from "./constants"; -const logger = credentialLogger("ManagedIdentityCredential - Fabric MSI"); +const msiName = "ManagedIdentityCredential - Fabric MSI"; +const logger = credentialLogger(msiName); function expiresInParser(requestBody: any): number { // Parses a string representation of the seconds since epoch into a number value return Number(requestBody.expires_on); } -function prepareRequestOptions(resource: string, clientId?: string): PipelineRequestOptions { +function prepareRequestOptions( + scopes: string | string[], + clientId?: string +): PipelineRequestOptions { + const resource = mapScopesToResource(scopes); + if (!resource) { + throw new Error(`${msiName}: Multiple scopes are not supported.`); + } + const queryParameters: any = { resource, "api-version": azureFabricVersion @@ -58,24 +66,32 @@ function prepareRequestOptions(resource: string, clientId?: string): PipelineReq // export const fabricMsi: MSI = { - async isAvailable(): Promise { + async isAvailable(scopes): Promise { + const resource = mapScopesToResource(scopes); + if (!resource) { + logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`); + return false; + } const env = process.env; const result = Boolean( env.IDENTITY_ENDPOINT && env.IDENTITY_HEADER && env.IDENTITY_SERVER_THUMBPRINT ); if (!result) { - logger.info("The Azure App Service Fabric MSI is unavailable."); + logger.info( + `${msiName}: Unavailable. The environment variables needed are: IDENTITY_ENDPOINT, IDENTITY_HEADER and IDENTITY_SERVER_THUMBPRINT` + ); } return result; }, async getToken( - identityClient: IdentityClient, - resource: string, - clientId?: string, + configuration: MSIConfiguration, getTokenOptions: GetTokenOptions = {} ): Promise { + const { identityClient, scopes, clientId } = configuration; + logger.info( [ + `${msiName}:`, "Using the endpoint and the secret coming from the environment variables:", `IDENTITY_ENDPOINT=${process.env.IDENTITY_ENDPOINT},`, "IDENTITY_HEADER=[REDACTED] and", @@ -85,7 +101,7 @@ export const fabricMsi: MSI = { return msiGenericGetToken( identityClient, - prepareRequestOptions(resource, clientId), + prepareRequestOptions(scopes, clientId), expiresInParser, getTokenOptions ); diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/imdsMsi.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/imdsMsi.ts index c2c4e714e8dc..4d3b24d5a2ec 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/imdsMsi.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/imdsMsi.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import qs from "qs"; import { delay } from "@azure/core-util"; import { AccessToken, GetTokenOptions } from "@azure/core-auth"; import { @@ -14,28 +13,41 @@ import { SpanStatusCode } from "@azure/core-tracing"; import { IdentityClient } from "../../client/identityClient"; import { credentialLogger } from "../../util/logging"; import { createSpan } from "../../util/tracing"; -import { imdsApiVersion, imdsEndpoint } from "./constants"; -import { MSI } from "./models"; -import { msiGenericGetToken } from "./utils"; +import { imdsApiVersion, imdsEndpointPath, imdsHost } from "./constants"; +import { MSI, MSIConfiguration } from "./models"; +import { mapScopesToResource, msiGenericGetToken } from "./utils"; import { AuthenticationError } from "../../client/errors"; -const logger = credentialLogger("ManagedIdentityCredential - IMDS"); +const msiName = "ManagedIdentityCredential - IMDS"; +const logger = credentialLogger(msiName); function expiresInParser(requestBody: any): number { if (requestBody.expires_on) { // Use the expires_on timestamp if it's available const expires = +requestBody.expires_on * 1000; - logger.info(`IMDS using expires_on: ${expires} (original value: ${requestBody.expires_on})`); + logger.info( + `${msiName}: IMDS using expires_on: ${expires} (original value: ${requestBody.expires_on})` + ); return expires; } else { // If these aren't possible, use expires_in and calculate a timestamp const expires = Date.now() + requestBody.expires_in * 1000; - logger.info(`IMDS using expires_in: ${expires} (original value: ${requestBody.expires_in})`); + logger.info( + `${msiName}: IMDS using expires_in: ${expires} (original value: ${requestBody.expires_in})` + ); return expires; } } -function prepareRequestOptions(resource?: string, clientId?: string): PipelineRequestOptions { +function prepareRequestOptions( + scopes: string | string[], + clientId?: string +): PipelineRequestOptions { + const resource = mapScopesToResource(scopes); + if (!resource) { + throw new Error(`${msiName}: Multiple scopes are not supported.`); + } + const queryParameters: any = { resource, "api-version": imdsApiVersion @@ -45,10 +57,12 @@ function prepareRequestOptions(resource?: string, clientId?: string): PipelineRe queryParameters.client_id = clientId; } - const query = qs.stringify(queryParameters); + const params = new URLSearchParams(queryParameters); + const query = params.toString(); + const url = new URL(imdsEndpointPath, process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST ?? imdsHost); return { - url: process.env.AZURE_POD_IDENTITY_TOKEN_URL ?? `${imdsEndpoint}?${query}`, + url: `${url}?${query}`, method: "GET", headers: createHttpHeaders({ Accept: "application/json", @@ -66,18 +80,23 @@ export const imdsMsiRetryConfig = { export const imdsMsi: MSI = { async isAvailable( + scopes: string | string[], identityClient: IdentityClient, - resource: string, clientId?: string, getTokenOptions?: GetTokenOptions ): Promise { + const resource = mapScopesToResource(scopes); + if (!resource) { + logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`); + return false; + } const { span, updatedOptions: options } = createSpan( "ManagedIdentityCredential-pingImdsEndpoint", getTokenOptions ); // if the PodIdenityEndpoint environment variable was set no need to probe the endpoint, it can be assumed to exist - if (process.env.AZURE_POD_IDENTITY_TOKEN_URL) { + if (process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST) { return true; } @@ -90,10 +109,7 @@ export const imdsMsi: MSI = { requestOptions.headers.delete("Metadata"); } - requestOptions.tracingOptions = { - spanOptions: options.tracingOptions && options.tracingOptions.spanOptions, - tracingContext: options.tracingOptions && options.tracingOptions.tracingContext - }; + requestOptions.tracingOptions = options.tracingOptions; try { // Create a request with a timeout since we expect that @@ -107,18 +123,19 @@ export const imdsMsi: MSI = { request.allowInsecureConnection = true; try { - logger.info(`Pinging the Azure IMDS endpoint`); + logger.info(`${msiName}: Pinging the Azure IMDS endpoint`); await identityClient.sendRequest(request); } catch (err) { if ( (err.name === "RestError" && err.code === RestError.REQUEST_SEND_ERROR) || err.name === "AbortError" || + err.code === "ENETUNREACH" || // Network unreachable err.code === "ECONNREFUSED" || // connection refused err.code === "EHOSTDOWN" // host is down ) { // If the request failed, or Node.js was unable to establish a connection, // or the host was down, we'll assume the IMDS endpoint isn't available. - logger.info(`The Azure IMDS endpoint is unavailable`); + logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`); span.setStatus({ code: SpanStatusCode.ERROR, message: err.message @@ -128,13 +145,13 @@ export const imdsMsi: MSI = { } // If we received any response, the endpoint is available - logger.info(`The Azure IMDS endpoint is available`); + logger.info(`${msiName}: The Azure IMDS endpoint is available`); return true; } catch (err) { // createWebResource failed. // This error should bubble up to the user. logger.info( - `Error when creating the WebResource for the Azure IMDS endpoint: ${err.message}` + `${msiName}: Error when creating the WebResource for the Azure IMDS endpoint: ${err.message}` ); span.setStatus({ code: SpanStatusCode.ERROR, @@ -146,13 +163,13 @@ export const imdsMsi: MSI = { } }, async getToken( - identityClient: IdentityClient, - resource: string, - clientId?: string, + configuration: MSIConfiguration, getTokenOptions: GetTokenOptions = {} ): Promise { + const { identityClient, scopes, clientId } = configuration; + logger.info( - `Using the Azure IMDS endpoint coming from the environment variable MSI_ENDPOINT=${process.env.MSI_ENDPOINT}, and using the cloud shell to proceed with the authentication.` + `${msiName}: Using the Azure IMDS endpoint coming from the environment variable MSI_ENDPOINT=${process.env.MSI_ENDPOINT}, and using the cloud shell to proceed with the authentication.` ); let nextDelayInMs = imdsMsiRetryConfig.startDelayInMs; @@ -160,7 +177,7 @@ export const imdsMsi: MSI = { try { return await msiGenericGetToken( identityClient, - prepareRequestOptions(resource, clientId), + prepareRequestOptions(scopes, clientId), expiresInParser, getTokenOptions ); @@ -176,7 +193,7 @@ export const imdsMsi: MSI = { throw new AuthenticationError( 404, - `Failed to retrieve IMDS token after ${imdsMsiRetryConfig.maxRetries} retries.` + `${msiName}: Failed to retrieve IMDS token after ${imdsMsiRetryConfig.maxRetries} retries.` ); } }; diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/index.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/index.ts index 9a71db46385a..e5623df773ce 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/index.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/index.ts @@ -9,11 +9,11 @@ import { AuthenticationError, CredentialUnavailableError } from "../../client/er import { credentialLogger, formatSuccess, formatError } from "../../util/logging"; import { appServiceMsi2017 } from "./appServiceMsi2017"; import { createSpan } from "../../util/tracing"; -import { mapScopesToResource } from "./utils"; import { cloudShellMsi } from "./cloudShellMsi"; import { imdsMsi } from "./imdsMsi"; import { MSI } from "./models"; import { arcMsi } from "./arcMsi"; +import { tokenExchangeMsi } from "./tokenExchangeMsi"; const logger = credentialLogger("ManagedIdentityCredential"); @@ -66,7 +66,7 @@ export class ManagedIdentityCredential implements TokenCredential { private cachedMSI: MSI | undefined; private async cachedAvailableMSI( - resource: string, + scopes: string | string[], clientId?: string, getTokenOptions?: GetTokenOptions ): Promise { @@ -76,10 +76,10 @@ export class ManagedIdentityCredential implements TokenCredential { // "fabricMsi" can't be added yet because our HTTPs pipeline doesn't allow skipping the SSL verification step, // which is necessary since Service Fabric only provides self-signed certificates on their Identity Endpoint. - const MSIs = [appServiceMsi2017, cloudShellMsi, arcMsi, imdsMsi]; + const MSIs = [appServiceMsi2017, cloudShellMsi, arcMsi, tokenExchangeMsi(), imdsMsi]; for (const msi of MSIs) { - if (await msi.isAvailable(this.identityClient, resource, clientId, getTokenOptions)) { + if (await msi.isAvailable(scopes, this.identityClient, clientId, getTokenOptions)) { this.cachedMSI = msi; return msi; } @@ -93,7 +93,6 @@ export class ManagedIdentityCredential implements TokenCredential { clientId?: string, getTokenOptions?: GetTokenOptions ): Promise { - const resource = mapScopesToResource(scopes); const { span, updatedOptions } = createSpan( "ManagedIdentityCredential-authenticateManagedIdentity", getTokenOptions @@ -101,9 +100,16 @@ export class ManagedIdentityCredential implements TokenCredential { try { // Determining the available MSI, and avoiding checking for other MSIs while the program is running. - const availableMSI = await this.cachedAvailableMSI(resource, clientId, updatedOptions); - - return availableMSI.getToken(this.identityClient, resource, clientId, updatedOptions); + const availableMSI = await this.cachedAvailableMSI(scopes, clientId, updatedOptions); + + return availableMSI.getToken( + { + identityClient: this.identityClient, + scopes, + clientId + }, + updatedOptions + ); } catch (err) { span.setStatus({ code: SpanStatusCode.ERROR, @@ -192,7 +198,7 @@ export class ManagedIdentityCredential implements TokenCredential { // we can safely assume the credential is unavailable. if (err.code === "ENETUNREACH") { const error = new CredentialUnavailableError( - "ManagedIdentityCredential is unavailable. Network unreachable." + `ManagedIdentityCredential is unavailable. Network unreachable. Message: ${err.message}` ); logger.getToken.info(formatError(scopes, error)); @@ -203,7 +209,7 @@ export class ManagedIdentityCredential implements TokenCredential { // we can safely assume the credential is unavailable. if (err.code === "EHOSTUNREACH") { const error = new CredentialUnavailableError( - "ManagedIdentityCredential is unavailable. No managed identity endpoint found." + `ManagedIdentityCredential is unavailable. No managed identity endpoint found. Message: ${err.message}` ); logger.getToken.info(formatError(scopes, error)); @@ -214,7 +220,7 @@ export class ManagedIdentityCredential implements TokenCredential { // and it means that the endpoint is working, but that no identity is available. if (err.statusCode === 400) { throw new CredentialUnavailableError( - "The managed identity endpoint is indicating there's no available identity" + `ManagedIdentityCredential: The managed identity endpoint is indicating there's no available identity. Message: ${err.message}` ); } diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/models.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/models.ts index c62cb960ae5b..b24aef2b5a7b 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/models.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/models.ts @@ -4,19 +4,32 @@ import { AccessToken, GetTokenOptions } from "@azure/core-auth"; import { IdentityClient } from "../../client/identityClient"; +/** + * @internal + */ export type MSIExpiresInParser = (requestBody: any) => number; +/** + * @internal + */ +export interface MSIConfiguration { + identityClient: IdentityClient; + scopes: string | string[]; + clientId?: string; +} + +/** + * @internal + */ export interface MSI { isAvailable( + scopes: string | string[], identityClient?: IdentityClient, - resource?: string, clientId?: string, getTokenOptions?: GetTokenOptions ): Promise; getToken( - identityClient: IdentityClient, - resource: string, - clientId?: string, + configuration: MSIConfiguration, getTokenOptions?: GetTokenOptions ): Promise; } diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/tokenExchangeMsi.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/tokenExchangeMsi.ts new file mode 100644 index 000000000000..eba8fe301447 --- /dev/null +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/tokenExchangeMsi.ts @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import fs from "fs"; +import { createHttpHeaders, PipelineRequestOptions } from "@azure/core-rest-pipeline"; +import { AccessToken, GetTokenOptions } from "@azure/core-auth"; +import { promisify } from "util"; +import { credentialLogger } from "../../util/logging"; +import { MSI, MSIConfiguration } from "./models"; +import { msiGenericGetToken } from "./utils"; +import { DefaultAuthorityHost } from "../../constants"; + +const msiName = "ManagedIdentityCredential - Token Exchange"; +const logger = credentialLogger(msiName); + +const readFileAsync = promisify(fs.readFile); + +function expiresInParser(requestBody: any): number { + // Parses a string representation of the seconds since epoch into a number value + return Number(requestBody.expires_on); +} + +function prepareRequestOptions( + scopes: string | string[], + clientAssertion: string, + clientId?: string +): PipelineRequestOptions { + const bodyParams: any = { + scope: Array.isArray(scopes) ? scopes.join(" ") : scopes, + client_assertion: clientAssertion, + client_assertion_type: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer", + client_id: clientId, + grant_type: "client_credentials" + }; + + const urlParams = new URLSearchParams(bodyParams); + const url = new URL( + `${process.env.AZURE_TENANT_ID}/oauth2/v2.0/token`, + process.env.AZURE_AUTHORITY_HOST ?? DefaultAuthorityHost + ); + + return { + url: url.toString(), + method: "POST", + body: urlParams.toString(), + headers: createHttpHeaders({ + Accept: "application/json" + }) + }; +} + +export function tokenExchangeMsi(): MSI { + const azureFederatedTokenFilePath = process.env.AZURE_FEDERATED_TOKEN_FILE; + let azureFederatedTokenFileContent: string | undefined = undefined; + let cacheDate: number | undefined = undefined; + + // Only reads from the assertion file once every 5 minutes + async function readAssertion(): Promise { + // Cached assertions expire after 5 minutes + if (cacheDate !== undefined && Date.now() - cacheDate >= 1000 * 60 * 5) { + azureFederatedTokenFileContent = undefined; + } + if (!azureFederatedTokenFileContent) { + const file = await readFileAsync(azureFederatedTokenFilePath!, "utf8"); + const value = file.trim(); + if (!value) { + throw new Error( + `No content on the file ${azureFederatedTokenFilePath}, indicated by the environment variable AZURE_FEDERATED_TOKEN_FILE` + ); + } else { + azureFederatedTokenFileContent = value; + cacheDate = Date.now(); + } + } + return azureFederatedTokenFileContent; + } + + return { + async isAvailable(_scopes, _identityClient, clientId): Promise { + const env = process.env; + const result = Boolean( + (clientId || env.AZURE_CLIENT_ID) && env.AZURE_TENANT_ID && azureFederatedTokenFilePath + ); + if (!result) { + logger.info( + `${msiName}: Unavailable. The environment variables needed are: AZURE_CLIENT_ID (or the client ID sent through the parameters), AZURE_TENANT_ID and AZURE_FEDERATED_TOKEN_FILE` + ); + } + return result; + }, + async getToken( + configuration: MSIConfiguration, + getTokenOptions: GetTokenOptions = {} + ): Promise { + const { identityClient, scopes, clientId } = configuration; + logger.info(`${msiName}: Using the client assertion coming from environment variables.`); + + let assertion: string; + + try { + assertion = await readAssertion(); + } catch (err) { + throw new Error( + `${msiName}: Failed to read ${azureFederatedTokenFilePath}, indicated by the environment variable AZURE_FEDERATED_TOKEN_FILE` + ); + } + + return msiGenericGetToken( + identityClient, + prepareRequestOptions(scopes, assertion, clientId || process.env.AZURE_CLIENT_ID), + expiresInParser, + getTokenOptions + ); + } + }; +} diff --git a/sdk/identity/identity/src/credentials/managedIdentityCredential/utils.ts b/sdk/identity/identity/src/credentials/managedIdentityCredential/utils.ts index 8b7cb0885db5..8b430c7efb72 100644 --- a/sdk/identity/identity/src/credentials/managedIdentityCredential/utils.ts +++ b/sdk/identity/identity/src/credentials/managedIdentityCredential/utils.ts @@ -7,13 +7,19 @@ import { IdentityClient } from "../../client/identityClient"; import { DefaultScopeSuffix } from "./constants"; import { MSIExpiresInParser } from "./models"; -export function mapScopesToResource(scopes: string | string[]): string { +/** + * Most MSIs send requests to the IMDS endpoint, or a similar endpoint. These are GET requests that require sending a `resource` parameter on the query. + * This resource can be derived from the scopes received through the getToken call, as long as only one scope is received. + * Multiple scopes assume that the resulting token will have access to multiple resources, which won't be the case. + * + * For that reason, when we encounter multiple scopes, we return undefined. + * It's up to the individual MSI implementations to throw the errors (which helps us provide less generic errors). + */ +export function mapScopesToResource(scopes: string | string[]): string | undefined { let scope = ""; if (Array.isArray(scopes)) { if (scopes.length !== 1) { - throw new Error( - "To convert to a resource string the specified array must be exactly length 1" - ); + return; } scope = scopes[0]; @@ -36,11 +42,6 @@ export async function msiGenericGetToken( ): Promise { const request = createPipelineRequest({ abortSignal: getTokenOptions.abortSignal, - tracingOptions: { - spanOptions: getTokenOptions.tracingOptions && getTokenOptions.tracingOptions.spanOptions, - tracingContext: - getTokenOptions.tracingOptions && getTokenOptions.tracingOptions.tracingContext - }, ...requestOptions, allowInsecureConnection: true }); diff --git a/sdk/identity/identity/src/credentials/onBehalfOfCredential.browser.ts b/sdk/identity/identity/src/credentials/onBehalfOfCredential.browser.ts new file mode 100644 index 000000000000..85f654626b74 --- /dev/null +++ b/sdk/identity/identity/src/credentials/onBehalfOfCredential.browser.ts @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { TokenCredential, AccessToken } from "@azure/core-auth"; +import { credentialLogger, formatError } from "../util/logging"; + +const credentialName = "OnBehalfOfCredential"; +const BrowserNotSupportedError = new Error(`${credentialName}: Not supported in the browser.`); +const logger = credentialLogger(credentialName); + +export class OnBehalfOfCredential implements TokenCredential { + constructor() { + logger.info(formatError("", BrowserNotSupportedError)); + throw BrowserNotSupportedError; + } + + public getToken(): Promise { + logger.getToken.info(formatError("", BrowserNotSupportedError)); + throw BrowserNotSupportedError; + } +} diff --git a/sdk/identity/identity/src/credentials/onBehalfOfCredential.ts b/sdk/identity/identity/src/credentials/onBehalfOfCredential.ts new file mode 100644 index 000000000000..1c67df5da7bc --- /dev/null +++ b/sdk/identity/identity/src/credentials/onBehalfOfCredential.ts @@ -0,0 +1,132 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { AccessToken, GetTokenOptions, TokenCredential } from "@azure/core-auth"; + +import { MsalOnBehalfOf } from "../msal/nodeFlows/msalOnBehalfOf"; +import { credentialLogger } from "../util/logging"; +import { trace } from "../util/tracing"; +import { MsalFlow } from "../msal/flows"; +import { OnBehalfOfCredentialOptions } from "./onBehalfOfCredentialOptions"; + +const credentialName = "OnBehalfOfCredential"; +const logger = credentialLogger(credentialName); + +/** + * Defines the configuration parameters to authenticate the {@link OnBehalfOfCredential} with a secret. + */ +export interface OnBehalfOfCredentialSecretConfiguration { + /** + * The Azure Active Directory tenant (directory) ID. + */ + tenantId: string; + /** + * The client (application) ID of an App Registration in the tenant. + */ + clientId: string; + /** + * A client secret that was generated for the App Registration. + */ + clientSecret: string; + /** + * The user assertion for the On-Behalf-Of flow. + */ + userAssertionToken: string; +} + +/** + * Defines the configuration parameters to authenticate the {@link OnBehalfOfCredential} with a certificate. + */ +export interface OnBehalfOfCredentialCertificateConfiguration { + /** + * The Azure Active Directory tenant (directory) ID. + */ + tenantId: string; + /** + * The client (application) ID of an App Registration in the tenant. + */ + clientId: string; + /** + * The path to a PEM-encoded public/private key certificate on the filesystem. + */ + certificatePath: string; + /** + * Option to include x5c header for SubjectName and Issuer name authorization. + * Set this option to send base64 encoded public certificate in the client assertion header as an x5c claim + */ + sendCertificateChain?: boolean; + /** + * The user assertion for the On-Behalf-Of flow. + */ + userAssertionToken: string; +} + +/** + * Enables authentication to Azure Active Directory using the [On Behalf Of flow](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow). + */ +export class OnBehalfOfCredential implements TokenCredential { + private msalFlow: MsalFlow; + + /** + * Creates an instance of the {@link OnBehalfOfCredential} with the details + * needed to authenticate against Azure Active Directory with a client + * secret or a path to a PEM certificate, and an user assertion. + * + * Example using the `KeyClient` from [\@azure/keyvault-keys](https://www.npmjs.com/package/\@azure/keyvault-keys): + * + * ```ts + * const tokenCredential = new OnBehalfOfCredential({ + * tenantId, + * clientId, + * clientSecret, // or `certificatePath: "/path/to/certificate.pem" + * userAssertionToken: "access-token" + * }); + * const client = new KeyClient("vault-url", tokenCredential); + * + * await client.getKey("key-name"); + * ``` + * + * @param configuration - Configuration specific to this credential. + * @param options - Optional parameters, generally common across credentials. + */ + constructor( + private configuration: + | OnBehalfOfCredentialSecretConfiguration + | OnBehalfOfCredentialCertificateConfiguration, + private options: OnBehalfOfCredentialOptions = {} + ) { + const { tenantId, clientId, userAssertionToken } = configuration; + const secretConfiguration = configuration as OnBehalfOfCredentialSecretConfiguration; + const certificateConfiguration = configuration as OnBehalfOfCredentialCertificateConfiguration; + if ( + !tenantId || + !clientId || + !(secretConfiguration.clientSecret || certificateConfiguration.certificatePath) || + !userAssertionToken + ) { + throw new Error( + `${credentialName}: tenantId, clientId, clientSecret (or certificatePath) and userAssertionToken are required parameters.` + ); + } + this.msalFlow = new MsalOnBehalfOf({ + ...this.options, + ...this.configuration, + logger, + tokenCredentialOptions: this.options + }); + } + + /** + * Authenticates with Azure Active Directory and returns an access token if successful. + * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure. + * + * @param scopes - The list of scopes for which the token will have access. + * @param options - The options used to configure the underlying network requests. + */ + async getToken(scopes: string | string[], options: GetTokenOptions = {}): Promise { + return trace(`${credentialName}.getToken`, options, async (newOptions) => { + const arrayScopes = Array.isArray(scopes) ? scopes : [scopes]; + return this.msalFlow!.getToken(arrayScopes, newOptions); + }); + } +} diff --git a/sdk/identity/identity/src/credentials/onBehalfOfCredentialOptions.ts b/sdk/identity/identity/src/credentials/onBehalfOfCredentialOptions.ts new file mode 100644 index 000000000000..089b888242c5 --- /dev/null +++ b/sdk/identity/identity/src/credentials/onBehalfOfCredentialOptions.ts @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { TokenCredentialOptions } from "../client/identityClient"; +import { CredentialPersistenceOptions } from "./credentialPersistenceOptions"; + +/** + * Optional parameters for the {@link OnBehalfOfCredential} class. + */ +export interface OnBehalfOfCredentialOptions + extends TokenCredentialOptions, + CredentialPersistenceOptions {} diff --git a/sdk/identity/identity/src/credentials/usernamePasswordCredential.browser.ts b/sdk/identity/identity/src/credentials/usernamePasswordCredential.browser.ts index f412e1c79e1a..77805f7fd4f5 100644 --- a/sdk/identity/identity/src/credentials/usernamePasswordCredential.browser.ts +++ b/sdk/identity/identity/src/credentials/usernamePasswordCredential.browser.ts @@ -1,8 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import qs from "qs"; - import { TokenCredential, GetTokenOptions, AccessToken } from "@azure/core-auth"; import { createHttpHeaders, createPipelineRequest } from "@azure/core-rest-pipeline"; import { SpanStatusCode } from "@azure/core-tracing"; @@ -74,26 +72,24 @@ export class UsernamePasswordCredential implements TokenCredential { ); try { const urlSuffix = getIdentityTokenEndpointSuffix(this.tenantId); + const params = new URLSearchParams({ + response_type: "token", + grant_type: "password", + client_id: this.clientId, + username: this.username, + password: this.password, + scope: typeof scopes === "string" ? scopes : scopes.join(" ") + }); const webResource = createPipelineRequest({ url: `${this.identityClient.authorityHost}/${this.tenantId}/${urlSuffix}`, method: "POST", - body: qs.stringify({ - response_type: "token", - grant_type: "password", - client_id: this.clientId, - username: this.username, - password: this.password, - scope: typeof scopes === "string" ? scopes : scopes.join(" ") - }), + body: params.toString(), headers: createHttpHeaders({ Accept: "application/json", "Content-Type": "application/x-www-form-urlencoded" }), abortSignal: options && options.abortSignal, - tracingOptions: { - spanOptions: newOptions.tracingOptions && newOptions.tracingOptions.spanOptions, - tracingContext: newOptions.tracingOptions && newOptions.tracingOptions.tracingContext - } + tracingOptions: newOptions.tracingOptions }); const tokenResponse = await this.identityClient.sendTokenRequest(webResource); diff --git a/sdk/identity/identity/src/credentials/usernamePasswordCredential.ts b/sdk/identity/identity/src/credentials/usernamePasswordCredential.ts index 93c111767752..08061c03b9de 100644 --- a/sdk/identity/identity/src/credentials/usernamePasswordCredential.ts +++ b/sdk/identity/identity/src/credentials/usernamePasswordCredential.ts @@ -40,6 +40,11 @@ export class UsernamePasswordCredential implements TokenCredential { password: string, options: UsernamePasswordCredentialOptions = {} ) { + if (!tenantId || !clientId || !username || !password) { + throw new Error( + "UsernamePasswordCredential: tenantId, clientId, username and password are required parameters." + ); + } this.msalFlow = new MsalUsernamePassword({ ...options, logger, diff --git a/sdk/identity/identity/src/credentials/visualStudioCodeCredential.browser.ts b/sdk/identity/identity/src/credentials/visualStudioCodeCredential.browser.ts index 8255eeac4dce..2dc8ee3e51d3 100644 --- a/sdk/identity/identity/src/credentials/visualStudioCodeCredential.browser.ts +++ b/sdk/identity/identity/src/credentials/visualStudioCodeCredential.browser.ts @@ -13,7 +13,7 @@ const logger = credentialLogger("VisualStudioCodeCredential"); export const vsCodeCredentialControl = { set vsCodeCredentialFinder(_finder: never) { throw new Error( - "Attempted to register a VisualStudioCodeCredential provider extension in the browser. This environment is not supported by VisualStudioCodeCredential." + "Attempted to register a VisualStudioCodeCredential provider plugin in the browser. This environment is not supported by VisualStudioCodeCredential." ); } }; diff --git a/sdk/identity/identity/src/credentials/visualStudioCodeCredential.ts b/sdk/identity/identity/src/credentials/visualStudioCodeCredential.ts index aa479c67876f..19c075e47baa 100644 --- a/sdk/identity/identity/src/credentials/visualStudioCodeCredential.ts +++ b/sdk/identity/identity/src/credentials/visualStudioCodeCredential.ts @@ -13,7 +13,7 @@ import { AzureAuthorityHosts } from "../constants"; import { checkTenantId } from "../util/checkTenantId"; import { credentialLogger, formatError, formatSuccess } from "../util/logging"; import { processMultiTenantRequest } from "../util/validateMultiTenant"; -import { VSCodeCredentialFinder } from "./visualStudioCodeCredentialExtension"; +import { VSCodeCredentialFinder } from "./visualStudioCodeCredentialPlugin"; const CommonTenantId = "common"; const AzureAccountClientId = "aebc6443-996d-45c2-90f0-388ff96faa56"; // VSC: 'aebc6443-996d-45c2-90f0-388ff96faa56' @@ -108,6 +108,11 @@ export class VisualStudioCodeCredential implements TokenCredential { /** * Creates an instance of VisualStudioCodeCredential to use for automatically authenticating via VSCode. * + * **Note**: `VisualStudioCodeCredential` is provided by a plugin package: + * `@azure/identity-vscode`. If this package is not installed and registered + * using the plugin API (`useIdentityPlugin`), then authentication using + * `VisualStudioCodeCredential` will not be available. + * * @param options - Options for configuring the client which makes the authentication request. */ constructor(options?: VisualStudioCodeCredentialOptions) { @@ -181,7 +186,12 @@ export class VisualStudioCodeCredential implements TokenCredential { if (findCredentials === undefined) { throw new CredentialUnavailableError( - "No implementation of VisualStudioCodeCredential is available (do you need to install and use the `@azure/identity-vscode` extension package?)" + [ + "No implementation of `VisualStudioCodeCredential` is available.", + "You must install the identity-vscode plugin package (`npm install --save-dev @azure/identity-vscode`)", + "and enable it by importing `useIdentityPlugin` from `@azure/identity` and calling", + "`useIdentityPlugin(vsCodePlugin)` before creating a `VisualStudioCodeCredential`." + ].join(" ") ); } diff --git a/sdk/identity/identity/src/credentials/visualStudioCodeCredentialExtension.ts b/sdk/identity/identity/src/credentials/visualStudioCodeCredentialPlugin.ts similarity index 82% rename from sdk/identity/identity/src/credentials/visualStudioCodeCredentialExtension.ts rename to sdk/identity/identity/src/credentials/visualStudioCodeCredentialPlugin.ts index 4dd49ae1dbc2..07e2647b9a35 100644 --- a/sdk/identity/identity/src/credentials/visualStudioCodeCredentialExtension.ts +++ b/sdk/identity/identity/src/credentials/visualStudioCodeCredentialPlugin.ts @@ -1,9 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -// Copyright (c) Microsoft Corporation -// Licensed under the MIT license. - /** * A function that searches for credentials in the Visual Studio Code credential store. * diff --git a/sdk/identity/identity/src/extensions/consumer.browser.ts b/sdk/identity/identity/src/extensions/consumer.browser.ts deleted file mode 100644 index 900a924cd408..000000000000 --- a/sdk/identity/identity/src/extensions/consumer.browser.ts +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -// This module is a shim for the extension consumer in the browser - -export function useIdentityExtension(_extension: unknown): void { - throw new Error("Identity extensions are not supported in browser environments."); -} diff --git a/sdk/identity/identity/src/index.ts b/sdk/identity/identity/src/index.ts index 55ff135f90e7..f0a825f2c3c7 100644 --- a/sdk/identity/identity/src/index.ts +++ b/sdk/identity/identity/src/index.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export * from "./extensions/consumer"; +export * from "./plugins/consumer"; -export { IdentityExtension } from "./extensions/provider"; +export { IdentityPlugin } from "./plugins/provider"; import { TokenCredential } from "@azure/core-auth"; import { DefaultAzureCredential } from "./credentials/defaultAzureCredential"; @@ -49,12 +49,23 @@ export { UsernamePasswordCredentialOptions } from "./credentials/usernamePasswor export { AuthorizationCodeCredential } from "./credentials/authorizationCodeCredential"; export { AzurePowerShellCredential } from "./credentials/azurePowerShellCredential"; export { AzurePowerShellCredentialOptions } from "./credentials/azurePowerShellCredentialOptions"; +export { + ApplicationCredential, + ApplicationCredentialOptions +} from "./credentials/applicationCredential"; export { VisualStudioCodeCredential, VisualStudioCodeCredentialOptions } from "./credentials/visualStudioCodeCredential"; +export { + OnBehalfOfCredential, + OnBehalfOfCredentialSecretConfiguration, + OnBehalfOfCredentialCertificateConfiguration +} from "./credentials/onBehalfOfCredential"; +export { OnBehalfOfCredentialOptions } from "./credentials/onBehalfOfCredentialOptions"; + export { TokenCachePersistenceOptions } from "./msal/nodeFlows/tokenCachePersistenceOptions"; export { diff --git a/sdk/identity/identity/src/msal/nodeFlows/msalAuthorizationCode.ts b/sdk/identity/identity/src/msal/nodeFlows/msalAuthorizationCode.ts new file mode 100644 index 000000000000..fa19e7df2382 --- /dev/null +++ b/sdk/identity/identity/src/msal/nodeFlows/msalAuthorizationCode.ts @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { AccessToken } from "@azure/core-auth"; +import { credentialLogger } from "../../util/logging"; +import { CredentialFlowGetTokenOptions } from "../credentials"; +import { MsalNodeOptions, MsalNode } from "./nodeCommon"; + +/** + * Options that can be passed to configure MSAL to handle authentication through opening a browser window. + * @internal + */ +export interface MSALAuthorizationCodeOptions extends MsalNodeOptions { + redirectUri: string; + authorizationCode: string; + clientSecret?: string; +} + +/** + * This MSAL client sets up a web server to listen for redirect callbacks, then calls to the MSAL's public application's `acquireTokenByDeviceCode` during `doGetToken` + * to trigger the authentication flow, and then respond based on the values obtained from the redirect callback + * @internal + */ +export class MsalAuthorizationCode extends MsalNode { + private redirectUri: string; + private authorizationCode: string; + + constructor(options: MSALAuthorizationCodeOptions) { + super(options); + this.logger = credentialLogger("NodeJS MSAL Authorization Code"); + this.redirectUri = options.redirectUri; + this.authorizationCode = options.authorizationCode; + if (options.clientSecret) { + this.msalConfig.auth.clientSecret = options.clientSecret; + } + } + + async getAuthCodeUrl(options: { scopes: string[]; redirectUri: string }): Promise { + await this.init(); + return this.confidentialApp!.getAuthCodeUrl(options); + } + + protected async doGetToken( + scopes: string[], + options?: CredentialFlowGetTokenOptions + ): Promise { + try { + const result = await this.confidentialApp?.acquireTokenByCode({ + scopes, + redirectUri: this.redirectUri, + code: this.authorizationCode + }); + // The Client Credential flow does not return an account, + // so each time getToken gets called, we will have to acquire a new token through the service. + return this.handleResult(scopes, this.clientId, result || undefined); + } catch (err) { + throw this.handleError(scopes, err, options); + } + } +} diff --git a/sdk/identity/identity/src/msal/nodeFlows/msalClientCertificate.ts b/sdk/identity/identity/src/msal/nodeFlows/msalClientCertificate.ts index c8fb88139c8f..23033712df84 100644 --- a/sdk/identity/identity/src/msal/nodeFlows/msalClientCertificate.ts +++ b/sdk/identity/identity/src/msal/nodeFlows/msalClientCertificate.ts @@ -1,22 +1,24 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { readFileSync } from "fs"; +import { readFile } from "fs"; import { createHash } from "crypto"; - +import { promisify } from "util"; import { AccessToken } from "@azure/core-auth"; import { MsalNodeOptions, MsalNode } from "./nodeCommon"; import { formatError } from "../../util/logging"; import { CredentialFlowGetTokenOptions } from "../credentials"; +const readFileAsync = promisify(readFile); + /** * Options that can be passed to configure MSAL to handle client certificates. * @internal */ export interface MSALClientCertificateOptions extends MsalNodeOptions { /** - * Location of the certificate. + * Location of the PEM certificate. */ certificatePath: string; /** @@ -45,60 +47,78 @@ interface CertificateParts { x5c: string; } +/** + * Tries to asynchronously load a certificate from the given path. + * + * @param certificatePath - Path to the certificate. + * @param sendCertificateChain - Option to include x5c header for SubjectName and Issuer name authorization. + * @returns - The certificate parts, or `undefined` if the certificate could not be loaded. + * @internal + */ +export async function parseCertificate( + certificatePath: string, + sendCertificateChain?: boolean +): Promise { + const certificateParts: Partial = {}; + + certificateParts.certificateContents = await readFileAsync(certificatePath, "utf8"); + if (sendCertificateChain) { + certificateParts.x5c = certificateParts.certificateContents; + } + + const certificatePattern = /(-+BEGIN CERTIFICATE-+)(\n\r?|\r\n?)([A-Za-z0-9+/\n\r]+=*)(\n\r?|\r\n?)(-+END CERTIFICATE-+)/g; + const publicKeys: string[] = []; + + // Match all possible certificates, in the order they are in the file. These will form the chain that is used for x5c + let match; + do { + match = certificatePattern.exec(certificateParts.certificateContents); + if (match) { + publicKeys.push(match[3]); + } + } while (match); + + if (publicKeys.length === 0) { + throw new Error("The file at the specified path does not contain a PEM-encoded certificate."); + } + + certificateParts.thumbprint = createHash("sha1") + .update(Buffer.from(publicKeys[0], "base64")) + .digest("hex") + .toUpperCase(); + + return certificateParts as CertificateParts; +} + /** * MSAL client certificate client. Calls to MSAL's confidential application's `acquireTokenByClientCredential` during `doGetToken`. * @internal */ export class MsalClientCertificate extends MsalNode { + private certificatePath: string; private sendCertificateChain?: boolean; constructor(options: MSALClientCertificateOptions) { super(options); this.requiresConfidential = true; + this.certificatePath = options.certificatePath; this.sendCertificateChain = options.sendCertificateChain; - - const parts = this.parseCertificate(options.certificatePath); - this.msalConfig.auth.clientCertificate = { - thumbprint: parts.thumbprint, - privateKey: parts.certificateContents, - x5c: parts.x5c - }; } - private parseCertificate(certificatePath: string): CertificateParts { - const certificateParts: Partial = {}; - - certificateParts.certificateContents = readFileSync(certificatePath, "utf8"); - if (this.sendCertificateChain) { - certificateParts.x5c = certificateParts.certificateContents; - } - - const certificatePattern = /(-+BEGIN CERTIFICATE-+)(\n\r?|\r\n?)([A-Za-z0-9+/\n\r]+=*)(\n\r?|\r\n?)(-+END CERTIFICATE-+)/g; - const publicKeys: string[] = []; - - // Match all possible certificates, in the order they are in the file. These will form the chain that is used for x5c - let match; - do { - match = certificatePattern.exec(certificateParts.certificateContents); - if (match) { - publicKeys.push(match[3]); - } - } while (match); - - if (publicKeys.length === 0) { - const error = new Error( - "The file at the specified path does not contain a PEM-encoded certificate." - ); + // Changing the MSAL configuration asynchronously + async init(options?: CredentialFlowGetTokenOptions): Promise { + try { + const parts = await parseCertificate(this.certificatePath, this.sendCertificateChain); + this.msalConfig.auth.clientCertificate = { + thumbprint: parts.thumbprint, + privateKey: parts.certificateContents, + x5c: parts.x5c + }; + } catch (error) { this.logger.info(formatError("", error)); throw error; } - - certificateParts.thumbprint = createHash("sha1") - .update(Buffer.from(publicKeys[0], "base64")) - .digest("hex") - .toUpperCase(); - - return certificateParts as CertificateParts; + return super.init(options); } protected async doGetToken( diff --git a/sdk/identity/identity/src/msal/nodeFlows/msalClientSecret.ts b/sdk/identity/identity/src/msal/nodeFlows/msalClientSecret.ts index dbea908575b9..809583ec6654 100644 --- a/sdk/identity/identity/src/msal/nodeFlows/msalClientSecret.ts +++ b/sdk/identity/identity/src/msal/nodeFlows/msalClientSecret.ts @@ -11,6 +11,9 @@ import { MsalNodeOptions, MsalNode } from "./nodeCommon"; * @internal */ export interface MSALClientSecretOptions extends MsalNodeOptions { + /** + * A client secret that was generated for the App Registration. + */ clientSecret: string; } diff --git a/sdk/identity/identity/src/msal/nodeFlows/msalOnBehalfOf.ts b/sdk/identity/identity/src/msal/nodeFlows/msalOnBehalfOf.ts new file mode 100644 index 000000000000..89fd9d57569d --- /dev/null +++ b/sdk/identity/identity/src/msal/nodeFlows/msalOnBehalfOf.ts @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { AccessToken } from "@azure/core-auth"; +import { formatError } from "../../util/logging"; +import { CredentialFlowGetTokenOptions } from "../credentials"; +import { parseCertificate } from "./msalClientCertificate"; +import { MsalNodeOptions, MsalNode } from "./nodeCommon"; + +/** + * Options that can be passed to configure MSAL to handle On-Behalf-Of authentication requests. + * @internal + */ +export interface MSALOnBehalfOfOptions extends MsalNodeOptions { + /** + * A client secret that was generated for the App Registration. + */ + clientSecret?: string; + /** + * Location of the PEM certificate. + */ + certificatePath?: string; + /** + * Option to include x5c header for SubjectName and Issuer name authorization. + * Set this option to send base64 encoded public certificate in the client assertion header as an x5c claim + */ + sendCertificateChain?: boolean; + /** + * The user assertion for the On-Behalf-Of flow. + */ + userAssertionToken: string; +} + +/** + * MSAL on behalf of flow. Calls to MSAL's confidential application's `acquireTokenOnBehalfOf` during `doGetToken`. + * @internal + */ +export class MsalOnBehalfOf extends MsalNode { + private userAssertionToken: string; + private certificatePath?: string; + private sendCertificateChain?: boolean; + private clientSecret?: string; + + constructor(options: MSALOnBehalfOfOptions) { + super(options); + this.logger.info("Initialized MSAL's On-Behalf-Of flow"); + this.requiresConfidential = true; + this.userAssertionToken = options.userAssertionToken; + this.certificatePath = options.certificatePath; + this.sendCertificateChain = options.sendCertificateChain; + this.clientSecret = options.clientSecret; + } + + // Changing the MSAL configuration asynchronously + async init(options?: CredentialFlowGetTokenOptions): Promise { + if (this.certificatePath) { + try { + const parts = await parseCertificate(this.certificatePath, this.sendCertificateChain); + this.msalConfig.auth.clientCertificate = { + thumbprint: parts.thumbprint, + privateKey: parts.certificateContents, + x5c: parts.x5c + }; + } catch (error) { + this.logger.info(formatError("", error)); + throw error; + } + } else { + this.msalConfig.auth.clientSecret = this.clientSecret; + } + return super.init(options); + } + + protected async doGetToken( + scopes: string[], + options: CredentialFlowGetTokenOptions = {} + ): Promise { + try { + const result = await this.confidentialApp!.acquireTokenOnBehalfOf({ + scopes, + correlationId: options.correlationId, + authority: options.authority, + oboAssertion: this.userAssertionToken + }); + return this.handleResult(scopes, this.clientId, result || undefined); + } catch (err) { + throw this.handleError(scopes, err, options); + } + } +} diff --git a/sdk/identity/identity/src/msal/nodeFlows/nodeCommon.ts b/sdk/identity/identity/src/msal/nodeFlows/nodeCommon.ts index 3285ab26ad72..3e27f270beaf 100644 --- a/sdk/identity/identity/src/msal/nodeFlows/nodeCommon.ts +++ b/sdk/identity/identity/src/msal/nodeFlows/nodeCommon.ts @@ -94,7 +94,12 @@ export abstract class MsalNode extends MsalBaseUtilities implements MsalFlow { this.createCachePlugin = () => persistenceProvider!(options.tokenCachePersistenceOptions); } else if (options.tokenCachePersistenceOptions?.enabled) { throw new Error( - "Persistent token caching was requested, but no persistence provider was configured (do you need to use the `@azure/identity-cache-persistence` package?)" + [ + "Persistent token caching was requested, but no persistence provider was configured.", + "You must install the identity-cache-persistence plugin package (`npm install --save @azure/identity-cache-persistence`)", + "and enable it by importing `useIdentityPlugin` from `@azure/identity` and calling", + "`useIdentityPlugin(cachePersistencePlugin)` before using `tokenCachePersistenceOptions`." + ].join(" ") ); } @@ -119,11 +124,17 @@ export abstract class MsalNode extends MsalBaseUtilities implements MsalFlow { authorityHost: authority }); + let clientCapabilities: string[] = ["CP1"]; + if (process.env.AZURE_IDENTITY_DISABLE_CP1) { + clientCapabilities = []; + } + return { auth: { clientId, authority, - knownAuthorities: getKnownAuthorities(tenantId, authority) + knownAuthorities: getKnownAuthorities(tenantId, authority), + clientCapabilities }, // Cache is defined in this.prepare(); system: { diff --git a/sdk/identity/identity/src/msal/nodeFlows/tokenCachePersistenceOptions.ts b/sdk/identity/identity/src/msal/nodeFlows/tokenCachePersistenceOptions.ts index fb5dbe5cf31d..b4dc53fb6215 100644 --- a/sdk/identity/identity/src/msal/nodeFlows/tokenCachePersistenceOptions.ts +++ b/sdk/identity/identity/src/msal/nodeFlows/tokenCachePersistenceOptions.ts @@ -14,8 +14,7 @@ export interface TokenCachePersistenceOptions { * * Based on this identifier, the persistence file will be located in any of the following places: * - Darwin: '/Users/user/.IdentityService/' - * - Windows 8: 'C:\\Users\\user\\AppData\\Local\\.IdentityService\\' - * - Windows XP: 'C:\\Documents and Settings\\user\\Application Data\\Local\\.IdentityService\\' + * - Windows 8+: 'C:\\Users\\user\\AppData\\Local\\.IdentityService\\' * - Linux: '/home/user/.IdentityService/' */ name?: string; @@ -23,5 +22,5 @@ export interface TokenCachePersistenceOptions { * If set to true, the cache will be stored without encryption if no OS level user encryption is available. * When set to false, the PersistentTokenCache will throw an error if no OS level user encryption is available. */ - allowUnencryptedStorage?: boolean; + unsafeAllowUnencryptedStorage?: boolean; } diff --git a/sdk/identity/identity/src/plugins/consumer.browser.ts b/sdk/identity/identity/src/plugins/consumer.browser.ts new file mode 100644 index 000000000000..13bcc605cd3b --- /dev/null +++ b/sdk/identity/identity/src/plugins/consumer.browser.ts @@ -0,0 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +// This module is a shim for the plugin consumer in the browser + +export function useIdentityPlugin(_plugin: unknown): void { + throw new Error("Identity plugins are not supported in browser environments."); +} diff --git a/sdk/identity/identity/src/extensions/consumer.ts b/sdk/identity/identity/src/plugins/consumer.ts similarity index 50% rename from sdk/identity/identity/src/extensions/consumer.ts rename to sdk/identity/identity/src/plugins/consumer.ts index 9b3495a8bba2..5041c7330fea 100644 --- a/sdk/identity/identity/src/extensions/consumer.ts +++ b/sdk/identity/identity/src/plugins/consumer.ts @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { AzureExtensionContext, IdentityExtension } from "./provider"; +import { AzurePluginContext, IdentityPlugin } from "./provider"; import { msalNodeFlowCacheControl } from "../msal/nodeFlows/nodeCommon"; import { vsCodeCredentialControl } from "../credentials/visualStudioCodeCredential"; /** - * The context passed to an Identity Extension. This contains objects that - * extensions can use to set backend implementations. + * The context passed to an Identity plugin. This contains objects that + * plugins can use to set backend implementations. * @internal */ -const extensionContext: AzureExtensionContext = { +const pluginContext: AzurePluginContext = { cachePluginControl: msalNodeFlowCacheControl, vsCodeCredentialControl: vsCodeCredentialControl }; /** - * Extend Azure Identity with additional functionality. Pass an extension from - * an extension package, such as: + * Extend Azure Identity with additional functionality. Pass a plugin from + * a plugin package, such as: * * - `@azure/identity-cache-persistence`: provides persistent token caching * - `@azure/identity-vscode`: provides the dependencies of @@ -26,12 +26,12 @@ const extensionContext: AzureExtensionContext = { * Example: * * ```javascript - * import { cachePersistenceExtension } from "@azure/identity-cache-persistence"; + * import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; * - * import { useIdentityExtension, DefaultAzureCredential } from "@azure/identity"; - * useIdentityExtension(persistence); + * import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity"; + * useIdentityPlugin(cachePersistencePlugin); * - * // The extension has the capability to extend `DefaultAzureCredential` and to + * // The plugin has the capability to extend `DefaultAzureCredential` and to * // add middleware to the underlying credentials, such as persistence. * const credential = new DefaultAzureCredential({ * tokenCachePersistenceOptions: { @@ -40,8 +40,8 @@ const extensionContext: AzureExtensionContext = { * }); * ``` * - * @param extension - the extension to register + * @param plugin - the plugin to register */ -export function useIdentityExtension(extension: IdentityExtension): void { - extension(extensionContext); +export function useIdentityPlugin(plugin: IdentityPlugin): void { + plugin(pluginContext); } diff --git a/sdk/identity/identity/src/extensions/provider.ts b/sdk/identity/identity/src/plugins/provider.ts similarity index 60% rename from sdk/identity/identity/src/extensions/provider.ts rename to sdk/identity/identity/src/plugins/provider.ts index ad661a00cdb8..30679f3ebbc3 100644 --- a/sdk/identity/identity/src/extensions/provider.ts +++ b/sdk/identity/identity/src/plugins/provider.ts @@ -1,17 +1,17 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { VSCodeCredentialFinder } from "../credentials/visualStudioCodeCredentialExtension"; +import { VSCodeCredentialFinder } from "../credentials/visualStudioCodeCredentialPlugin"; import { TokenCachePersistenceOptions } from "../msal/nodeFlows/tokenCachePersistenceOptions"; /** - * The type of an Azure Identity Extension, a function accepting an extension + * The type of an Azure Identity plugin, a function accepting a plugin * context. */ -export type IdentityExtension = (context: unknown) => void; +export type IdentityPlugin = (context: unknown) => void; /** - * Extension context entries for controlling cache plugins. + * Plugin context entries for controlling cache plugins. */ export interface CachePluginControl { setPersistence( @@ -22,21 +22,21 @@ export interface CachePluginControl { } /** - * Extension context entries for controlling VisualStudioCodeCredential. + * Plugin context entries for controlling VisualStudioCodeCredential. */ export interface VisualStudioCodeCredentialControl { setVsCodeCredentialFinder(finder: VSCodeCredentialFinder): void; } /** - * Context options passed to an extension during initialization. + * Context options passed to a plugin during initialization. * - * Extension authors are responsible for casting their extension context values + * Plugin authors are responsible for casting their plugin context values * to this type. * * @internal */ -export interface AzureExtensionContext { +export interface AzurePluginContext { cachePluginControl: CachePluginControl; vsCodeCredentialControl: VisualStudioCodeCredentialControl; } diff --git a/sdk/identity/identity/test/httpRequests.ts b/sdk/identity/identity/test/httpRequests.ts index 2cc36f4450fb..cc22b88e075c 100644 --- a/sdk/identity/identity/test/httpRequests.ts +++ b/sdk/identity/identity/test/httpRequests.ts @@ -114,8 +114,8 @@ export async function prepareIdentityTests({ } if (replaceLogger) { - AzureLogger.log = (args) => { - logMessages.push(args); + AzureLogger.log = (...args) => { + logMessages.push(args.join(" ")); }; } @@ -126,9 +126,6 @@ export async function prepareIdentityTests({ sendPromise: () => Promise, { response }: { response: TestResponse } ): Promise { - if ((https.request as any).restore) { - (https.request as any).restore.restore(); - } const request = createRequest(); sandbox.replace( https, @@ -174,23 +171,29 @@ export async function prepareIdentityTests({ const providerObject = provider === "http" ? http : https; const totalOptions: http.RequestOptions[] = []; - sandbox.replace( - providerObject, - "request", - (options: string | URL | http.RequestOptions, resolve: any) => { - totalOptions.push(options as http.RequestOptions); + try { + sandbox.replace( + providerObject, + "request", + (options: string | URL | http.RequestOptions, resolve: any) => { + totalOptions.push(options as http.RequestOptions); - const { response, error } = responses.shift()!; - if (error) { - throw error; - } else { - resolve(responseToIncomingMessage(response!)); + const { response, error } = responses.shift()!; + if (error) { + throw error; + } else { + resolve(responseToIncomingMessage(response!)); + } + const request = createRequest(); + spies.push(sandbox.spy(request, "end")); + return request; } - const request = createRequest(); - spies.push(sandbox.spy(request, "end")); - return request; - } - ); + ); + } catch (e) { + console.debug( + "Failed to replace the request. This might be expected if you're running multiple sendCredentialRequests() calls." + ); + } return totalOptions; }; diff --git a/sdk/identity/identity/test/internal/node/applicationCredential.spec.ts b/sdk/identity/identity/test/internal/node/applicationCredential.spec.ts new file mode 100644 index 000000000000..9059c4d2f512 --- /dev/null +++ b/sdk/identity/identity/test/internal/node/applicationCredential.spec.ts @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { assert } from "chai"; +import { RestError } from "@azure/core-rest-pipeline"; +import { ApplicationCredential } from "../../../src"; +import { prepareIdentityTests } from "../../httpRequests"; +import { + createResponse, + IdentityTestContext, + SendCredentialRequests +} from "../../httpRequestsCommon"; + +describe("ApplicationCredential testing Managed Identity (internal)", function() { + let envCopy: string = ""; + let testContext: IdentityTestContext; + let sendCredentialRequests: SendCredentialRequests; + + beforeEach(async () => { + envCopy = JSON.stringify(process.env); + delete process.env.MSI_ENDPOINT; + delete process.env.MSI_SECRET; + delete process.env.AZURE_CLIENT_SECRET; + delete process.env.AZURE_TENANT_ID; + testContext = await prepareIdentityTests({}); + sendCredentialRequests = testContext.sendCredentialRequests; + }); + afterEach(async () => { + const env = JSON.parse(envCopy); + process.env.MSI_ENDPOINT = env.MSI_ENDPOINT; + process.env.MSI_SECRET = env.MSI_SECRET; + process.env.AZURE_CLIENT_SECRET = env.AZURE_CLIENT_SECRET; + process.env.AZURE_TENANT_ID = env.AZURE_TENANT_ID; + await testContext.restore(); + }); + + it("returns error when no MSI is available", async function() { + process.env.AZURE_CLIENT_ID = "errclient"; + + const { error } = await sendCredentialRequests({ + scopes: ["scopes"], + credential: new ApplicationCredential(), + insecureResponses: [ + { + error: new RestError("Request Timeout", { code: "REQUEST_SEND_ERROR", statusCode: 408 }) + } + ] + }); + assert.ok( + error!.message!.indexOf("No MSI credential available") > -1, + "Failed to match the expected error" + ); + }); + + it("an unexpected error bubbles all the way up", async function() { + process.env.AZURE_CLIENT_ID = "errclient"; + + const errorMessage = "ManagedIdentityCredential authentication failed."; + + const { error } = await sendCredentialRequests({ + scopes: ["scopes"], + credential: new ApplicationCredential(), + insecureResponses: [ + createResponse(200), // IMDS Endpoint ping + { error: new RestError(errorMessage, { statusCode: 500 }) } + ] + }); + assert.ok(error?.message.startsWith(errorMessage)); + }); + + it("returns expected error when the network was unreachable", async function() { + process.env.AZURE_CLIENT_ID = "errclient"; + + const netError: RestError = new RestError("Request Timeout", { + code: "ENETUNREACH", + statusCode: 408 + }); + + const { error } = await sendCredentialRequests({ + scopes: ["scopes"], + credential: new ApplicationCredential(), + insecureResponses: [ + createResponse(200), // IMDS Endpoint ping + { error: netError } + ] + }); + assert.ok(error!.message!.indexOf("Network unreachable.") > -1); + }); + + it("sends an authorization request correctly in an App Service environment", async () => { + // Trigger App Service behavior by setting environment variables + process.env.AZURE_CLIENT_ID = "client"; + process.env.MSI_ENDPOINT = "https://endpoint"; + process.env.MSI_SECRET = "secret"; + + const authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default"], + credential: new ApplicationCredential(), + secureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: "06/20/2019 02:57:58 +00:00" + }) + ] + }); + + const authRequest = authDetails.requests[0]; + const query = new URLSearchParams(authRequest.url.split("?")[1]); + + assert.equal(authRequest.method, "GET"); + assert.equal(query.get("clientid"), "client"); + assert.equal(decodeURIComponent(query.get("resource")!), "https://service"); + assert.ok( + authRequest.url.startsWith(process.env.MSI_ENDPOINT), + "URL does not start with expected host and path" + ); + assert.equal(authRequest.headers.secret, process.env.MSI_SECRET); + assert.ok( + authRequest.url.indexOf(`api-version=2017-09-01`) > -1, + "URL does not have expected version" + ); + if (authDetails.result?.token) { + assert.equal(authDetails.result.expiresOnTimestamp, 1560999478000); + } else { + assert.fail("No token was returned!"); + } + }); +}); diff --git a/sdk/identity/identity/test/internal/node/clientCertificateCredential.spec.ts b/sdk/identity/identity/test/internal/node/clientCertificateCredential.spec.ts index 9b184997b5cd..ac9eb61dd798 100644 --- a/sdk/identity/identity/test/internal/node/clientCertificateCredential.spec.ts +++ b/sdk/identity/identity/test/internal/node/clientCertificateCredential.spec.ts @@ -7,7 +7,7 @@ import Sinon from "sinon"; import { assert } from "chai"; import * as path from "path"; import { AbortController } from "@azure/abort-controller"; -import { env, isPlaybackMode, delay } from "@azure/test-utils-recorder"; +import { env, isPlaybackMode, delay } from "@azure-tools/test-recorder"; import { ConfidentialClientApplication } from "@azure/msal-node"; import { ClientCertificateCredential, RegionalAuthority } from "../../../src"; import { MsalTestCleanup, msalNodeTestSetup } from "../../msalTestUtils"; @@ -37,19 +37,63 @@ describe("ClientCertificateCredential (internal)", function() { await cleanup(); }); - const certificatePath = path.join(ASSET_PATH, "cert.pem"); + const certificatePath = path.join(ASSET_PATH, "fake-cert.pem"); const scope = "https://vault.azure.net/.default"; - it("throws when given a file that doesn't contain a PEM-formatted certificate", () => { - assert.throws(() => { + it("Should throw if the parameteres are not correctly specified", async function() { + const errors: Error[] = []; + try { + new ClientCertificateCredential( + undefined as any, + env.AZURE_CLIENT_ID, + env.AZURE_CLIENT_CERTIFICATE_PATH + ); + } catch (e) { + errors.push(e); + } + try { new ClientCertificateCredential( - "tenant", - "client", - path.resolve(__dirname, "../src/index.ts") + env.AZURE_TENANT_ID, + undefined as any, + env.AZURE_CLIENT_CERTIFICATE_PATH + ); + } catch (e) { + errors.push(e); + } + try { + new ClientCertificateCredential(env.AZURE_TENANT_ID, env.AZURE_CLIENT_ID, undefined as any); + } catch (e) { + errors.push(e); + } + try { + new ClientCertificateCredential(undefined as any, undefined as any, undefined as any); + } catch (e) { + errors.push(e); + } + assert.equal(errors.length, 4); + errors.forEach((e) => { + assert.equal( + e.message, + "ClientCertificateCredential: tenantId, clientId, and certificatePath are required parameters." ); }); }); + it("throws when given a file that doesn't contain a PEM-formatted certificate", async function(this: Context) { + const fullPath = path.resolve(__dirname, "../src/index.ts"); + const credential = new ClientCertificateCredential("tenant", "client", fullPath); + + let error: Error | undefined; + try { + await credential.getToken(scope); + } catch (_error) { + error = _error; + } + + assert.ok(error); + assert.deepEqual(error?.message, `ENOENT: no such file or directory, open '${fullPath}'`); + }); + it("Authenticates silently after the initial request", async function(this: Context) { if (isPlaybackMode()) { // MSAL creates a client assertion based on the certificate that I haven't been able to mock. diff --git a/sdk/identity/identity/test/internal/node/clientSecretCredential.spec.ts b/sdk/identity/identity/test/internal/node/clientSecretCredential.spec.ts index 8e6b7d275e69..2b56aa7cee78 100644 --- a/sdk/identity/identity/test/internal/node/clientSecretCredential.spec.ts +++ b/sdk/identity/identity/test/internal/node/clientSecretCredential.spec.ts @@ -6,7 +6,7 @@ import Sinon from "sinon"; import { assert } from "chai"; import { AbortController } from "@azure/abort-controller"; -import { env, delay } from "@azure/test-utils-recorder"; +import { env, delay } from "@azure-tools/test-recorder"; import { ConfidentialClientApplication } from "@azure/msal-node"; import { ClientSecretCredential, RegionalAuthority } from "../../../src"; import { MsalTestCleanup, msalNodeTestSetup } from "../../msalTestUtils"; @@ -36,6 +36,37 @@ describe("ClientSecretCredential (internal)", function() { const scope = "https://vault.azure.net/.default"; + it("Should throw if the parameteres are not correctly specified", async function() { + const errors: Error[] = []; + try { + new ClientSecretCredential(undefined as any, env.AZURE_CLIENT_ID, env.AZURE_CLIENT_SECRET); + } catch (e) { + errors.push(e); + } + try { + new ClientSecretCredential(env.AZURE_TENANT_ID, undefined as any, env.AZURE_CLIENT_SECRET); + } catch (e) { + errors.push(e); + } + try { + new ClientSecretCredential(env.AZURE_TENANT_ID, env.AZURE_CLIENT_ID, undefined as any); + } catch (e) { + errors.push(e); + } + try { + new ClientSecretCredential(undefined as any, undefined as any, undefined as any); + } catch (e) { + errors.push(e); + } + assert.equal(errors.length, 4); + errors.forEach((e) => { + assert.equal( + e.message, + "ClientSecretCredential: tenantId, clientId, and clientSecret are required parameters." + ); + }); + }); + it("Authenticates silently after the initial request", async function() { const credential = new ClientSecretCredential( env.AZURE_TENANT_ID, diff --git a/sdk/identity/identity/test/internal/node/deviceCodeCredential.spec.ts b/sdk/identity/identity/test/internal/node/deviceCodeCredential.spec.ts index 05b796cfed82..12170b0ac064 100644 --- a/sdk/identity/identity/test/internal/node/deviceCodeCredential.spec.ts +++ b/sdk/identity/identity/test/internal/node/deviceCodeCredential.spec.ts @@ -6,7 +6,7 @@ import Sinon from "sinon"; import { assert } from "chai"; import { PublicClientApplication } from "@azure/msal-node"; -import { env, isLiveMode } from "@azure/test-utils-recorder"; +import { env, isLiveMode } from "@azure-tools/test-recorder"; import { DeviceCodeCredential } from "../../../src"; import { MsalTestCleanup, msalNodeTestSetup } from "../../msalTestUtils"; import { MsalNode } from "../../../src/msal/nodeFlows/nodeCommon"; diff --git a/sdk/identity/identity/test/internal/node/interactiveBrowserCredential.spec.ts b/sdk/identity/identity/test/internal/node/interactiveBrowserCredential.spec.ts index 3c42d1ab09d2..3576e1cabcaf 100644 --- a/sdk/identity/identity/test/internal/node/interactiveBrowserCredential.spec.ts +++ b/sdk/identity/identity/test/internal/node/interactiveBrowserCredential.spec.ts @@ -7,7 +7,7 @@ import Sinon from "sinon"; import { assert } from "chai"; import { Context } from "mocha"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; import { InteractiveBrowserCredential } from "../../../src"; import { MsalTestCleanup, msalNodeTestSetup } from "../../msalTestUtils"; import { interactiveBrowserMockable } from "../../../src/msal/nodeFlows/msalOpenBrowser"; diff --git a/sdk/identity/identity/test/internal/node/managedIdentityCredential.spec.ts b/sdk/identity/identity/test/internal/node/managedIdentityCredential.spec.ts index 3da16f6d3b9b..1cb433517c0d 100644 --- a/sdk/identity/identity/test/internal/node/managedIdentityCredential.spec.ts +++ b/sdk/identity/identity/test/internal/node/managedIdentityCredential.spec.ts @@ -8,7 +8,7 @@ import { mkdtempSync, rmdirSync, unlinkSync, writeFileSync } from "fs"; import { RestError } from "@azure/core-rest-pipeline"; import { ManagedIdentityCredential } from "../../../src"; import { - imdsEndpoint, + imdsHost, imdsApiVersion } from "../../../src/credentials/managedIdentityCredential/constants"; import { @@ -21,34 +21,37 @@ import { SendCredentialRequests } from "../../httpRequestsCommon"; import { prepareIdentityTests } from "../../httpRequests"; +import { AzureAuthorityHosts, DefaultAuthorityHost, DefaultTenantId } from "../../../src/constants"; describe("ManagedIdentityCredential", function() { - let envCopy: string = ""; let testContext: IdentityTestContext; let sendCredentialRequests: SendCredentialRequests; + let envCopy: string = ""; beforeEach(async function() { envCopy = JSON.stringify(process.env); + delete process.env.AZURE_CLIENT_ID; + delete process.env.AZURE_TENANT_ID; + delete process.env.AZURE_CLIENT_SECRET; delete process.env.IDENTITY_ENDPOINT; delete process.env.IDENTITY_HEADER; delete process.env.MSI_ENDPOINT; delete process.env.MSI_SECRET; delete process.env.IDENTITY_SERVER_THUMBPRINT; delete process.env.IMDS_ENDPOINT; - delete process.env.AZURE_POD_IDENTITY_TOKEN_URL; + delete process.env.AZURE_AUTHORITY_HOST; + delete process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST; + delete process.env.AZURE_FEDERATED_TOKEN_FILE; testContext = await prepareIdentityTests({}); sendCredentialRequests = testContext.sendCredentialRequests; }); afterEach(async function() { const env = JSON.parse(envCopy); - process.env.IDENTITY_ENDPOINT = env.IDENTITY_ENDPOINT; - process.env.IDENTITY_HEADER = env.IDENTITY_HEADER; - process.env.MSI_ENDPOINT = env.MSI_ENDPOINT; - process.env.MSI_SECRET = env.MSI_SECRET; - process.env.IDENTITY_SERVER_THUMBPRINT = env.IDENTITY_SERVER_THUMBPRINT; - process.env.IMDS_ENDPOINT = env.IMDS_ENDPOINT; - process.env.AZURE_POD_IDENTITY_TOKEN_URL = env.AZURE_POD_IDENTITY_TOKEN_URL; + // Useful for record mode. + process.env.AZURE_CLIENT_ID = env.AZURE_CLIENT_ID; + process.env.AZURE_TENANT_ID = env.AZURE_TENANT_ID; + process.env.AZURE_CLIENT_SECRET = env.AZURE_CLIENT_SECRET; await testContext.restore(); }); @@ -74,10 +77,7 @@ describe("ManagedIdentityCredential", function() { assert.equal(authRequest.method, "GET"); assert.equal(query.get("client_id"), "client"); assert.equal(decodeURIComponent(query.get("resource")!), "https://service"); - assert.ok( - authRequest.url.startsWith(imdsEndpoint), - "URL does not start with expected host and path" - ); + assert.ok(authRequest.url.startsWith(imdsHost), "URL does not start with expected host"); assert.ok( authRequest.url.indexOf(`api-version=${imdsApiVersion}`) > -1, "URL does not have expected version" @@ -236,10 +236,55 @@ describe("ManagedIdentityCredential", function() { assert.equal(result?.token, "token"); }); - it("IMDS MSI skips verification if the AZURE_POD_IDENTITY_TOKEN_URL environment variable is available", async function() { - process.env.AZURE_POD_IDENTITY_TOKEN_URL = "token URL"; + it("IMDS MSI skips verification if the AZURE_POD_IDENTITY_AUTHORITY_HOST environment variable is available", async function() { + process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST = "token URL"; + + assert.ok(await imdsMsi.isAvailable("https://endpoint/.default")); + }); + + it("IMDS MSI works even if the AZURE_POD_IDENTITY_AUTHORITY_HOST ends with a slash", async function() { + process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST = "http://10.0.0.1/"; + + const authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default"], + credential: new ManagedIdentityCredential("client"), + insecureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: "06/20/2019 02:57:58 +00:00" + }) + ] + }); - assert.ok(await imdsMsi.isAvailable()); + // The first request is the IMDS ping. + const imdsPingRequest = authDetails.requests[0]; + assert.equal( + imdsPingRequest.url, + "http://10.0.0.1/metadata/identity/oauth2/token?resource=https%3A%2F%2Fservice&api-version=2018-02-01&client_id=client" + ); + }); + + it("IMDS MSI works even if the AZURE_POD_IDENTITY_AUTHORITY_HOST doesn't end with a slash", async function() { + process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST = "http://10.0.0.1"; + + const authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default"], + credential: new ManagedIdentityCredential("client"), + insecureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: "06/20/2019 02:57:58 +00:00" + }) + ] + }); + + // The first request is the IMDS ping. + const imdsPingRequest = authDetails.requests[0]; + + assert.equal( + imdsPingRequest.url, + "http://10.0.0.1/metadata/identity/oauth2/token?resource=https%3A%2F%2Fservice&api-version=2018-02-01&client_id=client" + ); }); it("doesn't try IMDS endpoint again once it can't be detected", async function() { @@ -327,11 +372,11 @@ describe("ManagedIdentityCredential", function() { assert.equal(authDetails.result!.token, "token"); }); - it("sends an authorization request correctly in an Azure Arc environment", async function() { + it("sends an authorization request correctly in an Azure Arc environment", async function(this: Mocha.Context) { // Trigger Azure Arc behavior by setting environment variables - process.env.IMDS_ENDPOINT = "https://endpoint"; - process.env.IDENTITY_ENDPOINT = "https://endpoint"; + process.env.IMDS_ENDPOINT = "http://endpoint"; + process.env.IDENTITY_ENDPOINT = "http://endpoint"; // eslint-disable-next-line @typescript-eslint/no-invalid-this const testTitle = this.test?.title || `test-Date.time()`; @@ -344,7 +389,7 @@ describe("ManagedIdentityCredential", function() { const authDetails = await sendCredentialRequests({ scopes: ["https://service/.default"], credential: new ManagedIdentityCredential(), - secureResponses: [ + insecureResponses: [ createResponse( 401, {}, @@ -440,4 +485,201 @@ describe("ManagedIdentityCredential", function() { assert.fail("No token was returned!"); } }); + + describe("File Exchange MSI", () => { + it("sends an authorization request correctly if token file path is available", async function(this: Mocha.Context) { + // Keep in mind that in this test we're also testing: + // - Parametrized client ID. + // - Non-default AZURE_TENANT_ID. + // - Non-default AZURE_AUTHORITY_HOST. + // - Support for single scopes. + + const testTitle = this.test?.title || Date.now().toString(); + const tempDir = mkdtempSync(join(tmpdir(), testTitle)); + const tempFile = join(tempDir, testTitle); + const expectedAssertion = "{}"; + writeFileSync(tempFile, expectedAssertion, { encoding: "utf8" }); + + // Trigger token file path by setting environment variables + process.env.AZURE_TENANT_ID = "my-tenant-id"; + process.env.AZURE_FEDERATED_TOKEN_FILE = tempFile; + process.env.AZURE_AUTHORITY_HOST = AzureAuthorityHosts.AzureGovernment; + + const parameterClientId = "client"; + + const authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default"], + credential: new ManagedIdentityCredential(parameterClientId), + secureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: 1 + }) + ] + }); + + const authRequest = authDetails.requests[0]; + + const body = new URLSearchParams(authRequest.body); + + assert.strictEqual( + authRequest.url, + `${AzureAuthorityHosts.AzureGovernment}/${"my-tenant-id"}/oauth2/v2.0/token` + ); + assert.strictEqual(authRequest.method, "POST"); + assert.strictEqual(decodeURIComponent(body.get("client_id")!), parameterClientId); + assert.strictEqual(decodeURIComponent(body.get("client_assertion")!), expectedAssertion); + assert.strictEqual( + decodeURIComponent(body.get("client_assertion_type")!), + "urn:ietf:params:oauth:client-assertion-type:jwt-bearer" + ); + assert.strictEqual(decodeURIComponent(body.get("scope")!), "https://service/.default"); + assert.strictEqual(authDetails.result!.token, "token"); + }); + + it("reads from the token file again only after 5 minutes have passed", async function(this: Mocha.Context) { + // Keep in mind that in this test we're also testing: + // - Client ID on environment variable. + // - Default AZURE_TENANT_ID. + // - Default AZURE_AUTHORITY_HOST. + // - Support for multiple scopes. + + const testTitle = this.test?.title || Date.now().toString(); + const tempDir = mkdtempSync(join(tmpdir(), testTitle)); + const tempFile = join(tempDir, testTitle); + const expectedAssertion = "{}"; + writeFileSync(tempFile, expectedAssertion, { encoding: "utf8" }); + + // Trigger token file path by setting environment variables + process.env.AZURE_CLIENT_ID = "client-id"; + process.env.AZURE_TENANT_ID = DefaultTenantId; + process.env.AZURE_FEDERATED_TOKEN_FILE = tempFile; + + const credential = new ManagedIdentityCredential(); + + let authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default", "https://service2/.default"], + credential, + secureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: 1 + }) + ] + }); + + let authRequest = authDetails.requests[0]; + let body = new URLSearchParams(authRequest.body); + + assert.strictEqual( + authRequest.url, + `${DefaultAuthorityHost}/${DefaultTenantId}/oauth2/v2.0/token` + ); + assert.strictEqual(authRequest.method, "POST"); + assert.strictEqual(decodeURIComponent(body.get("client_id")!), process.env.AZURE_CLIENT_ID); + assert.strictEqual(decodeURIComponent(body.get("client_assertion")!), expectedAssertion); + assert.strictEqual( + decodeURIComponent(body.get("client_assertion_type")!), + "urn:ietf:params:oauth:client-assertion-type:jwt-bearer" + ); + assert.strictEqual( + decodeURIComponent(body.get("scope")!), + "https://service/.default https://service2/.default" + ); + assert.strictEqual(authDetails.result!.token, "token"); + + const newExpectedAssertion = '{ "different": true }'; + writeFileSync(tempFile, newExpectedAssertion, { encoding: "utf8" }); + + // A new credential means we read the file again + testContext.sandbox.restore(); + authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default", "https://service2/.default"], + credential: new ManagedIdentityCredential("client"), + secureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: 1 + }) + ] + }); + authRequest = authDetails.requests[0]; + body = new URLSearchParams(authRequest.body); + assert.strictEqual(decodeURIComponent(body.get("client_assertion")!), newExpectedAssertion); + + // If we stick to the original credential... + + // Less than 5 minutes means we don't read the file again. + testContext.sandbox.restore(); + testContext.sandbox.useFakeTimers(); + authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default", "https://service2/.default"], + credential, + secureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: 1 + }) + ] + }); + authRequest = authDetails.requests[0]; + body = new URLSearchParams(authRequest.body); + assert.strictEqual(decodeURIComponent(body.get("client_assertion")!), expectedAssertion); + + // More than 5 minutes means we read the file again. + testContext.sandbox.restore(); + testContext.sandbox.useFakeTimers(); + testContext.sandbox.clock.tick(1000 * 60 * 5); + authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default", "https://service2/.default"], + credential, + secureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: 1 + }) + ] + }); + authRequest = authDetails.requests[0]; + body = new URLSearchParams(authRequest.body); + assert.strictEqual(decodeURIComponent(body.get("client_assertion")!), newExpectedAssertion); + }); + + it("the provided client ID overrides the AZURE_CLIENT_ID environment variable", async function(this: Mocha.Context) { + const testTitle = this.test?.title || Date.now().toString(); + const tempDir = mkdtempSync(join(tmpdir(), testTitle)); + const tempFile = join(tempDir, testTitle); + const expectedAssertion = "{}"; + writeFileSync(tempFile, expectedAssertion, { encoding: "utf8" }); + + // Trigger token file path by setting environment variables + process.env.AZURE_TENANT_ID = DefaultTenantId; + process.env.AZURE_FEDERATED_TOKEN_FILE = tempFile; + process.env.AZURE_CLIENT_ID = "client-id"; + + const parameterClientId = "client"; + + const authDetails = await sendCredentialRequests({ + scopes: ["https://service/.default"], + credential: new ManagedIdentityCredential(parameterClientId), + secureResponses: [ + createResponse(200, { + access_token: "token", + expires_on: 1 + }) + ] + }); + + const authRequest = authDetails.requests[0]; + + const body = new URLSearchParams(authRequest.body); + + assert.strictEqual( + authRequest.url, + `${DefaultAuthorityHost}/${DefaultTenantId}/oauth2/v2.0/token` + ); + assert.strictEqual(authRequest.method, "POST"); + assert.strictEqual(decodeURIComponent(body.get("client_id")!), parameterClientId); + }); + }); }); diff --git a/sdk/identity/identity/test/internal/node/onBehalfOfCredential.spec.ts b/sdk/identity/identity/test/internal/node/onBehalfOfCredential.spec.ts new file mode 100644 index 000000000000..478e311f87f4 --- /dev/null +++ b/sdk/identity/identity/test/internal/node/onBehalfOfCredential.spec.ts @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import * as path from "path"; +import { assert } from "chai"; +import { isNode } from "@azure/core-util"; +import { OnBehalfOfCredential } from "../../../src"; +import { + createResponse, + IdentityTestContext, + SendCredentialRequests +} from "../../httpRequestsCommon"; +import { prepareIdentityTests, prepareMSALResponses } from "../../httpRequests"; + +describe("OnBehalfOfCredential", function() { + let testContext: IdentityTestContext; + let sendCredentialRequests: SendCredentialRequests; + + beforeEach(async function() { + testContext = await prepareIdentityTests({ replaceLogger: true, logLevel: "verbose" }); + sendCredentialRequests = testContext.sendCredentialRequests; + }); + afterEach(async function() { + if (isNode) { + delete process.env.AZURE_AUTHORITY_HOST; + } + await testContext.restore(); + }); + + it("authenticates with a secret", async () => { + const credential = new OnBehalfOfCredential({ + tenantId: "adfs", + clientId: "client", + clientSecret: "secret", + userAssertionToken: "user-assertion" + }); + + const newMSALClientLogs = () => + testContext.logMessages.filter((message) => + message.match("Initialized MSAL's On-Behalf-Of flow") + ).length; + + const authDetails = await sendCredentialRequests({ + scopes: ["https://test/.default"], + credential, + secureResponses: [ + ...prepareMSALResponses(), + createResponse(200, { + access_token: "token", + expires_on: "06/20/2019 02:57:58 +00:00" + }) + ] + }); + + assert.isNumber(authDetails.result?.expiresOnTimestamp); + + // Just checking that a new MSAL client was created. + // This kind of testing will be important as we improve the On-Behalf-Of Credential. + assert.equal(newMSALClientLogs(), 1); + }); + + it("authenticates with a certificate path", async () => { + const certificatePath = path.join("assets", "fake-cert.pem"); + const credential = new OnBehalfOfCredential({ + tenantId: "adfs", + clientId: "client", + certificatePath, + userAssertionToken: "user-assertion" + }); + + const newMSALClientLogs = () => + testContext.logMessages.filter((message) => + message.match("Initialized MSAL's On-Behalf-Of flow") + ).length; + + const authDetails = await sendCredentialRequests({ + scopes: ["https://test/.default"], + credential, + secureResponses: [ + ...prepareMSALResponses(), + createResponse(200, { + access_token: "token", + expires_on: "06/20/2019 02:57:58 +00:00" + }) + ] + }); + + assert.isNumber(authDetails.result?.expiresOnTimestamp); + + // Just checking that a new MSAL client was created. + // This kind of testing will be important as we improve the On-Behalf-Of Credential. + assert.equal(newMSALClientLogs(), 1); + }); +}); diff --git a/sdk/identity/identity/test/internal/node/usernamePasswordCredential.spec.ts b/sdk/identity/identity/test/internal/node/usernamePasswordCredential.spec.ts index a30abfef672b..e01c78cf6259 100644 --- a/sdk/identity/identity/test/internal/node/usernamePasswordCredential.spec.ts +++ b/sdk/identity/identity/test/internal/node/usernamePasswordCredential.spec.ts @@ -6,7 +6,7 @@ import Sinon from "sinon"; import { assert } from "chai"; import { Context } from "mocha"; -import { env, isLiveMode } from "@azure/test-utils-recorder"; +import { env, isLiveMode } from "@azure-tools/test-recorder"; import { PublicClientApplication } from "@azure/msal-node"; import { UsernamePasswordCredential } from "../../../src"; import { MsalTestCleanup, msalNodeTestSetup } from "../../msalTestUtils"; @@ -36,6 +36,68 @@ describe("UsernamePasswordCredential (internal)", function() { const scope = "https://vault.azure.net/.default"; + it("Should throw if the parameteres are not correctly specified", async function() { + const errors: Error[] = []; + try { + new UsernamePasswordCredential( + undefined as any, + env.AZURE_CLIENT_ID, + env.AZURE_USERNAME, + env.AZURE_PASSWORD + ); + } catch (e) { + errors.push(e); + } + try { + new UsernamePasswordCredential( + env.AZURE_TENANT_ID, + undefined as any, + env.AZURE_USERNAME, + env.AZURE_PASSWORD + ); + } catch (e) { + errors.push(e); + } + try { + new UsernamePasswordCredential( + env.AZURE_TENANT_ID, + env.AZURE_CLIENT_ID, + undefined as any, + env.AZURE_PASSWORD + ); + } catch (e) { + errors.push(e); + } + try { + new UsernamePasswordCredential( + env.AZURE_TENANT_ID, + env.AZURE_CLIENT_ID, + env.AZURE_USERNAME, + undefined as any + ); + } catch (e) { + errors.push(e); + } + + try { + new UsernamePasswordCredential( + undefined as any, + undefined as any, + undefined as any, + undefined as any + ); + } catch (e) { + errors.push(e); + } + assert.equal(errors.length, 5); + errors.forEach((e) => { + assert.equal( + e.message, + "UsernamePasswordCredential: tenantId, clientId, username and password are required parameters." + ); + }); + }); + it("Authenticates silently after the initial request", async function(this: Context) { // These tests should not run live because this credential requires user interaction. if (isLiveMode()) { diff --git a/sdk/identity/identity/test/manual-integration/AzureArc/package.json b/sdk/identity/identity/test/manual-integration/AzureArc/package.json index fc71e36b6e28..d73334464651 100644 --- a/sdk/identity/identity/test/manual-integration/AzureArc/package.json +++ b/sdk/identity/identity/test/manual-integration/AzureArc/package.json @@ -9,7 +9,7 @@ "author": "", "license": "ISC", "dependencies": { - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/keyvault-secrets": "^4.1.0", "typescript": "^4.2.4" } diff --git a/sdk/identity/identity/test/manual-integration/AzureFunctions/IdentityTest/package.json b/sdk/identity/identity/test/manual-integration/AzureFunctions/IdentityTest/package.json index 14bca91cef68..f53a610bcebd 100644 --- a/sdk/identity/identity/test/manual-integration/AzureFunctions/IdentityTest/package.json +++ b/sdk/identity/identity/test/manual-integration/AzureFunctions/IdentityTest/package.json @@ -14,7 +14,7 @@ "description": "", "devDependencies": { "@azure/functions": "1.2.3", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "@azure/keyvault-secrets": "^4.1.0", "npm-run-all": "^4.1.5", "typescript": "^3.3.3" diff --git a/sdk/identity/identity/test/manual-integration/AzureVM/package.json b/sdk/identity/identity/test/manual-integration/AzureVM/package.json index bac1c7f12f81..09d19e18a0e0 100644 --- a/sdk/identity/identity/test/manual-integration/AzureVM/package.json +++ b/sdk/identity/identity/test/manual-integration/AzureVM/package.json @@ -9,7 +9,7 @@ "author": "", "license": "ISC", "dependencies": { - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/keyvault-secrets": "^4.0.2" } } diff --git a/sdk/identity/identity/test/manual-integration/Cloudshell/package.json b/sdk/identity/identity/test/manual-integration/Cloudshell/package.json index 71b459483572..7008aa848727 100644 --- a/sdk/identity/identity/test/manual-integration/Cloudshell/package.json +++ b/sdk/identity/identity/test/manual-integration/Cloudshell/package.json @@ -9,7 +9,7 @@ "author": "", "license": "ISC", "dependencies": { - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "@azure/keyvault-secrets": "^4.0.2" } } diff --git a/sdk/identity/identity/test/manual-integration/Kubernetes/package.json b/sdk/identity/identity/test/manual-integration/Kubernetes/package.json index e83eb9b0d772..f434226b5369 100644 --- a/sdk/identity/identity/test/manual-integration/Kubernetes/package.json +++ b/sdk/identity/identity/test/manual-integration/Kubernetes/package.json @@ -11,7 +11,7 @@ "dependencies": { "yargs": "15.1.0", "@types/yargs": "15.0.3", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/keyvault-secrets": "^4.0.2" } } diff --git a/sdk/identity/identity/test/manual-integration/webjobs/App_Data/jobs/triggered/AzureTestJob/package.json b/sdk/identity/identity/test/manual-integration/webjobs/App_Data/jobs/triggered/AzureTestJob/package.json index ce138f490bc3..c3a8a3319989 100644 --- a/sdk/identity/identity/test/manual-integration/webjobs/App_Data/jobs/triggered/AzureTestJob/package.json +++ b/sdk/identity/identity/test/manual-integration/webjobs/App_Data/jobs/triggered/AzureTestJob/package.json @@ -9,7 +9,7 @@ "author": "", "license": "ISC", "dependencies": { - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "@azure/keyvault-secrets": "^4.0.2", "tslib": "^1.10.0" } diff --git a/sdk/identity/identity/test/manual/nodeTestSilent.js b/sdk/identity/identity/test/manual/nodeTestSilent.js index f366dfd00c25..525a383b8587 100644 --- a/sdk/identity/identity/test/manual/nodeTestSilent.js +++ b/sdk/identity/identity/test/manual/nodeTestSilent.js @@ -17,7 +17,7 @@ const credential1 = new identity.InteractiveBrowserCredential({ clientId: process.env.AZURE_CLIENT_ID, tokenCachePersistenceOptions: { name: "nodeTestSilent", - allowUnencryptedStorage: true + unsafeAllowUnencryptedStorage: true } }); @@ -35,7 +35,7 @@ const credential1 = new identity.InteractiveBrowserCredential({ // TODO: Perhaps make the account parameter part of the tokenCachePersistenceOptions? tokenCachePersistenceOptions: { name: "nodeTestSilent", - allowUnencryptedStorage: true + unsafeAllowUnencryptedStorage: true } }); diff --git a/sdk/identity/identity/test/manual/package.json b/sdk/identity/identity/test/manual/package.json index bbe3322bb604..62b09f118173 100644 --- a/sdk/identity/identity/test/manual/package.json +++ b/sdk/identity/identity/test/manual/package.json @@ -11,7 +11,7 @@ "author": "Microsoft Corporation", "license": "MIT", "dependencies": { - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/service-bus": "^7.0.3", "react": "^16.8.6", "react-dom": "^16.8.6", diff --git a/sdk/identity/identity/test/msalTestUtils.ts b/sdk/identity/identity/test/msalTestUtils.ts index 2364533aca3b..666f65bc6afd 100644 --- a/sdk/identity/identity/test/msalTestUtils.ts +++ b/sdk/identity/identity/test/msalTestUtils.ts @@ -7,7 +7,7 @@ import { RecorderEnvironmentSetup, TestContextInterface, pluginForIdentitySDK -} from "@azure/test-utils-recorder"; +} from "@azure-tools/test-recorder"; import Sinon, { createSandbox } from "sinon"; import { assert } from "chai"; import { OperationTracingOptions, setSpan, context as otContext } from "@azure/core-tracing"; diff --git a/sdk/identity/identity/test/public/browser/usernamePasswordCredential.spec.ts b/sdk/identity/identity/test/public/browser/usernamePasswordCredential.spec.ts index 3fc5450a4ce2..0a5ad73ac5cb 100644 --- a/sdk/identity/identity/test/public/browser/usernamePasswordCredential.spec.ts +++ b/sdk/identity/identity/test/public/browser/usernamePasswordCredential.spec.ts @@ -24,7 +24,7 @@ describe("UsernamePasswordCredential", function() { }); it("sends an authorization request with the given username and password", async () => { - const password = "p4s$w0rd"; + const password = "p@55wOrd"; const authDetails = await sendCredentialRequests({ scopes: ["scope"], diff --git a/sdk/identity/identity/test/public/chainedTokenCredential.spec.ts b/sdk/identity/identity/test/public/chainedTokenCredential.spec.ts index f800de900fd0..f4c90a9dc390 100644 --- a/sdk/identity/identity/test/public/chainedTokenCredential.spec.ts +++ b/sdk/identity/identity/test/public/chainedTokenCredential.spec.ts @@ -39,25 +39,6 @@ describe("ChainedTokenCredential", function() { assert.strictEqual(accessToken && accessToken.token, "firstToken"); }); - it("sets the successful credential on the selectedCredential property", async () => { - class ExpectedCredential implements TokenCredential { - async getToken() { - return { token: "firstToken", expiresOnTimestamp: 0 }; - } - } - const chainedTokenCredential = new ChainedTokenCredential( - mockCredential(Promise.reject(new CredentialUnavailableError("unavailable."))), - new ExpectedCredential(), - mockCredential(Promise.resolve({ token: "secondToken", expiresOnTimestamp: 0 })) - ); - const accessToken = await chainedTokenCredential.getToken("scope"); - assert.strictEqual(accessToken && accessToken.token, "firstToken"); - assert.strictEqual( - chainedTokenCredential.selectedCredential!.constructor.name, - "ExpectedCredential" - ); - }); - it("returns an AggregateAuthenticationError when no token is returned and one credential returned an error", async () => { const chainedTokenCredential = new ChainedTokenCredential( mockCredential(Promise.reject(new CredentialUnavailableError("unavailable."))), @@ -67,6 +48,12 @@ describe("ChainedTokenCredential", function() { const error = await getError( chainedTokenCredential.getToken("scope") ); - assert.equal(error.errors.length, 2); + assert.deepEqual(error.errors.length, 2); + assert.deepEqual( + error.message, + `ChainedTokenCredential authentication failed. +CredentialUnavailableError: unavailable. +CredentialUnavailableError: unavailable.` + ); }); }); diff --git a/sdk/identity/identity/test/public/node/applicationCredential.spec.ts b/sdk/identity/identity/test/public/node/applicationCredential.spec.ts new file mode 100644 index 000000000000..bbe1e222b404 --- /dev/null +++ b/sdk/identity/identity/test/public/node/applicationCredential.spec.ts @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { assert } from "chai"; +import { ApplicationCredential } from "../../../src"; +import { MsalTestCleanup, msalNodeTestSetup, testTracing } from "../../msalTestUtils"; +import { getError } from "../../authTestUtils"; +import { Context } from "mocha"; + +describe("ApplicationCredential", function() { + let cleanup: MsalTestCleanup; + const environmentVariableNames = ["AZURE_TENANT_ID", "AZURE_CLIENT_ID", "AZURE_CLIENT_SECRET"]; + const cachedValues: Record = {}; + + beforeEach(function(this: Context) { + const setup = msalNodeTestSetup(this); + cleanup = setup.cleanup; + environmentVariableNames.forEach((name) => { + cachedValues[name] = process.env[name]; + delete process.env[name]; + }); + }); + afterEach(async function() { + await cleanup(); + environmentVariableNames.forEach((name) => { + process.env[name] = cachedValues[name]; + }); + }); + + const scope = "https://vault.azure.net/.default"; + + it("authenticates with a client secret on the environment variables", async function() { + // The following environment variables must be set for this to work. + // On TEST_MODE="playback", the recorder automatically fills them with stubbed values. + process.env.AZURE_TENANT_ID = cachedValues.AZURE_TENANT_ID; + process.env.AZURE_CLIENT_ID = cachedValues.AZURE_CLIENT_ID; + process.env.AZURE_CLIENT_SECRET = cachedValues.AZURE_CLIENT_SECRET; + + const credential = new ApplicationCredential(); + + const token = await credential.getToken(scope); + assert.ok(token?.token); + assert.ok(token?.expiresOnTimestamp > Date.now()); + }); + + it( + "supports tracing with environment client secret", + testTracing({ + test: async (tracingOptions) => { + // The following environment variables must be set for this to work. + // On TEST_MODE="playback", the recorder automatically fills them with stubbed values. + process.env.AZURE_TENANT_ID = cachedValues.AZURE_TENANT_ID; + process.env.AZURE_CLIENT_ID = cachedValues.AZURE_CLIENT_ID; + process.env.AZURE_CLIENT_SECRET = cachedValues.AZURE_CLIENT_SECRET; + + const credential = new ApplicationCredential(); + + await credential.getToken(scope, { + tracingOptions + }); + }, + children: [ + { + name: "Azure.Identity.ChainedTokenCredential-getToken", + children: [ + { + name: "Azure.Identity.EnvironmentCredential.getToken", + children: [ + { + name: "Azure.Identity.ClientSecretCredential.getToken", + children: [] + } + ] + } + ] + } + ] + }) + ); + + it("throws an AggregateAuthenticationError when getToken is called and no credential was configured", async () => { + const credential = new ApplicationCredential(); + const error = await getError(credential.getToken(scope)); + assert.equal(error.name, "AggregateAuthenticationError"); + assert.ok(error.message.indexOf(`CredentialUnavailableError: EnvironmentCredential`) > -1); + assert.ok(error.message.indexOf(`CredentialUnavailableError: ManagedIdentityCredential`) > -1); + }); + + it("throws an AuthenticationError when getToken is called and ApplicationCredential authentication failed", async () => { + process.env.AZURE_TENANT_ID = "tenant"; + process.env.AZURE_CLIENT_ID = "client"; + process.env.AZURE_CLIENT_SECRET = "secret"; + + const credential = new ApplicationCredential(); + + const error = await getError(credential.getToken(scope)); + assert.equal(error.name, "AuthenticationError"); + assert.ok(error.message.indexOf("EnvironmentCredential authentication failed.") > -1); + }); +}); diff --git a/sdk/identity/identity/test/public/node/authorizationCodeCredential.spec.ts b/sdk/identity/identity/test/public/node/authorizationCodeCredential.spec.ts deleted file mode 100644 index 0a04661acdec..000000000000 --- a/sdk/identity/identity/test/public/node/authorizationCodeCredential.spec.ts +++ /dev/null @@ -1,153 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { assert } from "chai"; -import { assertClientCredentials } from "../../authTestUtils"; -import { AuthorizationCodeCredential } from "../../../src"; -import { SpanGraph, setTracer } from "@azure/test-utils"; -import { setSpan, context as otContext } from "@azure/core-tracing"; -import { - createResponse, - IdentityTestContext, - SendCredentialRequests -} from "../../httpRequestsCommon"; -import { prepareIdentityTests } from "../../httpRequests"; - -describe("AuthorizationCodeCredential", function() { - let testContext: IdentityTestContext; - let sendCredentialRequests: SendCredentialRequests; - - beforeEach(async function() { - testContext = await prepareIdentityTests({}); - sendCredentialRequests = testContext.sendCredentialRequests; - }); - afterEach(async function() { - await testContext.restore(); - }); - - it("sends an authorization request with the given credentials and authorization code", async () => { - const redirectUri = "http://localhost:8080/authresponse"; - const authDetails = await sendCredentialRequests({ - scopes: ["scope"], - credential: new AuthorizationCodeCredential( - "tenant", - "client", - "secret", - "authCode", - redirectUri - ), - secureResponses: [ - createResponse(200, { - access_token: "token", - expires_on: "06/20/2019 02:57:58 +00:00" - }) - ] - }); - - assert.isNumber(authDetails.result?.expiresOnTimestamp); - assert.equal(authDetails.result?.token, "token"); - const authRequest = authDetails.requests[0]; - assertClientCredentials(authRequest.url, authRequest.body, "tenant", "client", "secret"); - - assert.strictEqual( - authRequest.body.indexOf(`code=authCode`) > -1, - true, - "Request body doesn't contain expected authorization code" - ); - assert.strictEqual( - authRequest.body.indexOf(`redirect_uri=${encodeURIComponent(redirectUri)}`) > -1, - true, - "Request body doesn't contain expected redirect URI" - ); - }); - - it("omits the client_secret field in authorization request if it is not provided", async () => { - const redirectUri = "http://localhost:8080/authresponse"; - const authDetails = await sendCredentialRequests({ - scopes: ["scope"], - credential: new AuthorizationCodeCredential("tenant", "client", "authCode", redirectUri), - secureResponses: [ - createResponse(200, { - access_token: "token", - expires_on: "06/20/2019 02:57:58 +00:00" - }) - ] - }); - - assert.isNumber(authDetails.result?.expiresOnTimestamp); - assert.equal(authDetails.result?.token, "token"); - - const request = authDetails.requests[0]; - assert.strictEqual( - request.body.indexOf(`client_id=client`) > -1, - true, - "Request body doesn't contain expected clientId" - ); - - assert.strictEqual( - request.body.indexOf(`client_secret=`), - -1, - "Request body contains unexpected client_secret" - ); - }); - - it("traces the authorization code request when tracing is enabled", async function() { - const tracer = setTracer(); - - const redirectUri = "http://localhost:8080/authresponse"; - const rootSpan = tracer.startSpan("root"); - - const authDetails = await sendCredentialRequests({ - scopes: ["scope"], - getTokenOptions: { - tracingOptions: { - tracingContext: setSpan(otContext.active(), rootSpan) - } - }, - credential: new AuthorizationCodeCredential( - "tenant", - "client", - "secret", - "authCode", - redirectUri - ), - secureResponses: [ - createResponse(200, { - access_token: "token", - expires_on: "06/20/2019 02:57:58 +00:00" - }) - ] - }); - - const authRequest = authDetails.requests[0]; - assertClientCredentials(authRequest.url, authRequest.body, "tenant", "client", "secret"); - - rootSpan.end(); - - const rootSpans = tracer.getRootSpans(); - assert.strictEqual(rootSpans.length, 1, "Should only have one root span."); - assert.strictEqual(rootSpan, rootSpans[0], "The root span should match what was passed in."); - - const expectedGraph: SpanGraph = { - roots: [ - { - name: rootSpan.name, - children: [ - { - name: "Azure.Identity.AuthorizationCodeCredential-getToken", - children: [ - { - children: [], - name: "/tenant/oauth2/v2.0/token" - } - ] - } - ] - } - ] - }; - - assert.deepStrictEqual(tracer.getSpanGraph(rootSpan.spanContext().traceId), expectedGraph); - assert.strictEqual(tracer.getActiveSpans().length, 0, "All spans should have had end called"); - }); -}); diff --git a/sdk/identity/identity/test/public/node/clientCertificateCredential.spec.ts b/sdk/identity/identity/test/public/node/clientCertificateCredential.spec.ts index f133babc7cde..a73b7a79ca5a 100644 --- a/sdk/identity/identity/test/public/node/clientCertificateCredential.spec.ts +++ b/sdk/identity/identity/test/public/node/clientCertificateCredential.spec.ts @@ -6,7 +6,7 @@ import * as path from "path"; import { assert } from "chai"; import { AbortController } from "@azure/abort-controller"; -import { env, isPlaybackMode, delay } from "@azure/test-utils-recorder"; +import { env, isPlaybackMode, delay } from "@azure-tools/test-recorder"; import { MsalTestCleanup, msalNodeTestSetup, testTracing } from "../../msalTestUtils"; import { ClientCertificateCredential } from "../../../src"; import { Context } from "mocha"; @@ -22,7 +22,7 @@ describe("ClientCertificateCredential", function() { await cleanup(); }); - const certificatePath = path.join(ASSET_PATH, "cert.pem"); + const certificatePath = path.join(ASSET_PATH, "fake-cert.pem"); const scope = "https://vault.azure.net/.default"; it("authenticates", async function(this: Context) { diff --git a/sdk/identity/identity/test/public/node/clientSecretCredential.spec.ts b/sdk/identity/identity/test/public/node/clientSecretCredential.spec.ts index 8dce1b1efb29..85cab8218ad5 100644 --- a/sdk/identity/identity/test/public/node/clientSecretCredential.spec.ts +++ b/sdk/identity/identity/test/public/node/clientSecretCredential.spec.ts @@ -4,7 +4,7 @@ /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */ import { assert } from "chai"; -import { env, delay, isRecordMode } from "@azure/test-utils-recorder"; +import { env, delay, isRecordMode } from "@azure-tools/test-recorder"; import { AbortController } from "@azure/abort-controller"; import { MsalTestCleanup, msalNodeTestSetup, testTracing } from "../../msalTestUtils"; import { ClientSecretCredential, RegionalAuthority } from "../../../src"; diff --git a/sdk/identity/identity/test/public/node/deviceCodeCredential.spec.ts b/sdk/identity/identity/test/public/node/deviceCodeCredential.spec.ts index c18c2e51a383..9dd7a332b89d 100644 --- a/sdk/identity/identity/test/public/node/deviceCodeCredential.spec.ts +++ b/sdk/identity/identity/test/public/node/deviceCodeCredential.spec.ts @@ -4,7 +4,7 @@ /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */ import { assert } from "chai"; -import { env, isLiveMode, delay, isPlaybackMode } from "@azure/test-utils-recorder"; +import { env, isLiveMode, delay, isPlaybackMode } from "@azure-tools/test-recorder"; import { AbortController, AbortError } from "@azure/abort-controller"; import { DeviceCodeCredential, DeviceCodePromptCallback } from "../../../src"; import { msalNodeTestSetup, MsalTestCleanup, testTracing } from "../../msalTestUtils"; diff --git a/sdk/identity/identity/test/public/node/environmentCredential.spec.ts b/sdk/identity/identity/test/public/node/environmentCredential.spec.ts index 3450bd9dddbd..d3efa0d85184 100644 --- a/sdk/identity/identity/test/public/node/environmentCredential.spec.ts +++ b/sdk/identity/identity/test/public/node/environmentCredential.spec.ts @@ -5,7 +5,7 @@ import sinon from "sinon"; import { assert } from "chai"; -import { isPlaybackMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode } from "@azure-tools/test-recorder"; import { EnvironmentCredential, UsernamePasswordCredential } from "../../../src"; import { MsalTestCleanup, msalNodeTestSetup, testTracing } from "../../msalTestUtils"; import { Context } from "mocha"; diff --git a/sdk/identity/identity/test/public/node/extensions.spec.ts b/sdk/identity/identity/test/public/node/extensions.spec.ts index dccaa8e09bd2..4f57e80bc5fd 100644 --- a/sdk/identity/identity/test/public/node/extensions.spec.ts +++ b/sdk/identity/identity/test/public/node/extensions.spec.ts @@ -22,7 +22,7 @@ async function assertRejects(p: Promise, regexp: RegExp): Promise throw new AssertionError("Expected the function body to throw."); } -describe("Extension API", function(this: Mocha.Suite) { +describe("Plugin API", function(this: Mocha.Suite) { it("Setting persistence options throws if not initialized", function() { assert.throws(() => { new DefaultAzureCredential({ @@ -36,7 +36,7 @@ describe("Extension API", function(this: Mocha.Suite) { it("Calling getToken on VisualStudioCodeCredential throws if not initialized", async function() { await assertRejects( new VisualStudioCodeCredential().getToken("https://graph.microsoft.com/.default"), - /No implementation of VisualStudioCodeCredential.*@azure\/identity-vscode/ + /No implementation of `VisualStudioCodeCredential`.*@azure\/identity-vscode/ ); }); }); diff --git a/sdk/identity/identity/test/public/node/usernamePasswordCredential.spec.ts b/sdk/identity/identity/test/public/node/usernamePasswordCredential.spec.ts index ba09ffce1982..7e8bf3f68acc 100644 --- a/sdk/identity/identity/test/public/node/usernamePasswordCredential.spec.ts +++ b/sdk/identity/identity/test/public/node/usernamePasswordCredential.spec.ts @@ -4,7 +4,7 @@ /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */ import { assert } from "chai"; -import { env, delay } from "@azure/test-utils-recorder"; +import { env, delay } from "@azure-tools/test-recorder"; import { AbortController } from "@azure/abort-controller"; import { UsernamePasswordCredential } from "../../../src"; import { MsalTestCleanup, msalNodeTestSetup, testTracing } from "../../msalTestUtils"; diff --git a/sdk/identity/perf-tests/identity/package.json b/sdk/identity/perf-tests/identity/package.json index 59876852a2ed..e44100faf668 100644 --- a/sdk/identity/perf-tests/identity/package.json +++ b/sdk/identity/perf-tests/identity/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-identity", + "sdk-type": "perf-test", "version": "1.0.0-beta.1", "description": "", "main": "", @@ -7,17 +8,18 @@ "author": "", "license": "ISC", "dependencies": { - "@azure/identity": "^2.0.0-beta.5", + "@azure/identity": "^2.0.0-beta.6", "@azure/identity-cache-persistence": "~1.0.0-beta.1", "@azure/test-utils-perfstress": "^1.0.0", "dotenv": "^8.2.0" }, "devDependencies": { + "@types/node": "^12.0.0", "@types/uuid": "^8.0.0", "eslint": "^7.15.0", "prettier": "^1.16.4", "rimraf": "^3.0.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "tslib": "^2.2.0", "typescript": "~4.2.0" }, @@ -25,11 +27,11 @@ "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -37,7 +39,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/identity/perf-tests/identity/test/ClientSecretCredential/persistence.spec.ts b/sdk/identity/perf-tests/identity/test/ClientSecretCredential/persistence.spec.ts index 14f0112f9a6f..00a71106650f 100644 --- a/sdk/identity/perf-tests/identity/test/ClientSecretCredential/persistence.spec.ts +++ b/sdk/identity/perf-tests/identity/test/ClientSecretCredential/persistence.spec.ts @@ -1,8 +1,8 @@ import { PerfStressTest, getEnvVar } from "@azure/test-utils-perfstress"; -import { useIdentityExtension, ClientSecretCredential } from "@azure/identity"; +import { useIdentityPlugin, ClientSecretCredential } from "@azure/identity"; -import { cachePersistenceExtension } from "@azure/identity-cache-persistence"; -useIdentityExtension(cachePersistenceExtension); +import { cachePersistencePlugin } from "@azure/identity-cache-persistence"; +useIdentityPlugin(cachePersistencePlugin); const scope = `https://servicebus.azure.net/.default`; @@ -24,7 +24,7 @@ export class ClientSecretCredentialPersistenceTest extends PerfStressTest { tokenCachePersistenceOptions: { enabled: true, name: "nodeTestSilent", - allowUnencryptedStorage: true + unsafeAllowUnencryptedStorage: true } }); diff --git a/sdk/iot/iot-modelsrepository/karma.conf.js b/sdk/iot/iot-modelsrepository/karma.conf.js index 11ba2e7e033c..e7a1dd99335c 100644 --- a/sdk/iot/iot-modelsrepository/karma.conf.js +++ b/sdk/iot/iot-modelsrepository/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/iot/iot-modelsrepository/package.json b/sdk/iot/iot-modelsrepository/package.json index 3faa6272fddd..e8600e1e8eac 100644 --- a/sdk/iot/iot-modelsrepository/package.json +++ b/sdk/iot/iot-modelsrepository/package.json @@ -18,7 +18,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* test-dist temp types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -30,7 +30,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -75,7 +74,7 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", @@ -112,7 +111,7 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "0.15.2", "typescript": "~4.2.0", "util": "^0.12.1" diff --git a/sdk/iotcentral/arm-iotcentral/README.md b/sdk/iotcentral/arm-iotcentral/README.md index 927c3351386c..0254dd60cb43 100644 --- a/sdk/iotcentral/arm-iotcentral/README.md +++ b/sdk/iotcentral/arm-iotcentral/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for IotCentralClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/iothub/arm-iothub-profile-2020-09-01-hybrid/README.md b/sdk/iothub/arm-iothub-profile-2020-09-01-hybrid/README.md index d5916c2d48d2..e6a7e35b57c7 100644 --- a/sdk/iothub/arm-iothub-profile-2020-09-01-hybrid/README.md +++ b/sdk/iothub/arm-iothub-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for IotHubClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/iothub/arm-iothub/README.md b/sdk/iothub/arm-iothub/README.md index ddb6fdb5c5ca..cf53b0c0aae0 100644 --- a/sdk/iothub/arm-iothub/README.md +++ b/sdk/iothub/arm-iothub/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for IotHubClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/iotspaces/arm-iotspaces/README.md b/sdk/iotspaces/arm-iotspaces/README.md index eda0747a7cb1..e9d4dde8f363 100644 --- a/sdk/iotspaces/arm-iotspaces/README.md +++ b/sdk/iotspaces/arm-iotspaces/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for IoTSpacesClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install @@ -32,17 +32,20 @@ import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; import { IoTSpacesClient, IoTSpacesModels, IoTSpacesMappers } from "@azure/arm-iotspaces"; const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; -msRestNodeAuth.interactiveLogin().then((creds) => { - const client = new IoTSpacesClient(creds, subscriptionId); - const resourceGroupName = "testresourceGroupName"; - const resourceName = "testresourceName"; - client.ioTSpaces.get(resourceGroupName, resourceName).then((result) => { - console.log("The result is:"); - console.log(result); +msRestNodeAuth + .interactiveLogin() + .then((creds) => { + const client = new IoTSpacesClient(creds, subscriptionId); + const resourceGroupName = "testresourceGroupName"; + const resourceName = "testresourceName"; + client.ioTSpaces.get(resourceGroupName, resourceName).then((result) => { + console.log("The result is:"); + console.log(result); + }); + }) + .catch((err) => { + console.error(err); }); -}).catch((err) => { - console.error(err); -}); ``` #### browser - Authentication, client creation and get ioTSpaces as an example written in JavaScript. @@ -58,6 +61,7 @@ npm install @azure/ms-rest-browserauth See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. - index.html + ```html @@ -81,13 +85,16 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to const client = new Azure.ArmIotspaces.IoTSpacesClient(res.creds, subscriptionId); const resourceGroupName = "testresourceGroupName"; const resourceName = "testresourceName"; - client.ioTSpaces.get(resourceGroupName, resourceName).then((result) => { - console.log("The result is:"); - console.log(result); - }).catch((err) => { - console.log("An error occurred:"); - console.error(err); - }); + client.ioTSpaces + .get(resourceGroupName, resourceName) + .then((result) => { + console.log("The result is:"); + console.log(result); + }) + .catch((err) => { + console.log("An error occurred:"); + console.error(err); + }); }); @@ -99,5 +106,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [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%2Fiotspaces%2Farm-iotspaces%2FREADME.png) diff --git a/sdk/keyvault/arm-keyvault-profile-2019-03-01-hybrid/README.md b/sdk/keyvault/arm-keyvault-profile-2019-03-01-hybrid/README.md index 7e8b132ef62a..cc3aefe5f019 100644 --- a/sdk/keyvault/arm-keyvault-profile-2019-03-01-hybrid/README.md +++ b/sdk/keyvault/arm-keyvault-profile-2019-03-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for KeyVaultManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/keyvault/arm-keyvault-profile-2020-09-01-hybrid/README.md b/sdk/keyvault/arm-keyvault-profile-2020-09-01-hybrid/README.md index 9edd6a93ce82..44087b9504cb 100644 --- a/sdk/keyvault/arm-keyvault-profile-2020-09-01-hybrid/README.md +++ b/sdk/keyvault/arm-keyvault-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for KeyVaultManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/keyvault/arm-keyvault/CHANGELOG.md b/sdk/keyvault/arm-keyvault/CHANGELOG.md new file mode 100644 index 000000000000..65f842c053d7 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/CHANGELOG.md @@ -0,0 +1,38 @@ +# Release History + +## 30.0.0-beta.4 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.3 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + +## 30.0.0-beta.2 (2021-08-20) + +**Bug Fixes** + + - fix package issues + +## 30.0.0-beta.1 (2021-08-12) + +This is the first preview for the new version of the `@azure/arm-keyvault` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/authorization/arm-authorization/LICENSE.txt b/sdk/keyvault/arm-keyvault/LICENSE similarity index 96% rename from sdk/authorization/arm-authorization/LICENSE.txt rename to sdk/keyvault/arm-keyvault/LICENSE index b73b4a1293c3..ccb63b166732 100644 --- a/sdk/authorization/arm-authorization/LICENSE.txt +++ b/sdk/keyvault/arm-keyvault/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2019 Microsoft +Copyright (c) 2021 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 @@ -18,4 +18,4 @@ 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. +SOFTWARE. \ No newline at end of file diff --git a/sdk/keyvault/arm-keyvault/README.md b/sdk/keyvault/arm-keyvault/README.md index cb4e1c2970d8..93223e59416b 100644 --- a/sdk/keyvault/arm-keyvault/README.md +++ b/sdk/keyvault/arm-keyvault/README.md @@ -1,112 +1,96 @@ -## Azure KeyVaultManagementClient SDK for JavaScript +# Azure KeyVaultManagement client library for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for KeyVaultManagementClient. +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure KeyVaultManagement client. + +You can also follow this [link](https://github.com/Azure/azure-sdk-for-js/tree/feature/v4/sdk/keyvault/arm-keyvault) to see the previous stable versions for this package. Note that they might not implement the guidelines(https://azure.github.io/azure-sdk/typescript_introduction.html) or have the same feature set as the new releases. + +The Azure management API provides a RESTful set of web services that interact with Azure Key Vault. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/keyvault/arm-keyvault) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-keyvault) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-keyvault) | +[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. +- Latest versions of Safari, Chrome, Edge and Firefox. ### Prerequisites -You must have an [Azure subscription](https://azure.microsoft.com/free/). +- An [Azure subscription][azure_sub]. -### How to install +### Install the `@azure/arm-keyvault` package -To use this SDK in your project, you will need to install two packages. -- `@azure/arm-keyvault` that contains the client. -- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. +Install the Azure KeyVaultManagement client library for JavaScript with `npm`: -Install both packages using the below command: ```bash -npm install --save @azure/arm-keyvault @azure/identity +npm install @azure/arm-keyvault ``` -> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. -If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. +### Create and authenticate a `KeyVaultManagementClient` -### How to use +To create a client object to access the Azure KeyVaultManagement API, you will need the `endpoint` of your Azure KeyVaultManagement resource and a `credential`. The Azure KeyVaultManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure KeyVaultManagement resource in the [Azure Portal][azure_portal]. -- If you are writing a client side browser application, - - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. - - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. -- If you are writing a server side application, - - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) - - Complete the set up steps required by the credential if any. - - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. +#### Using an Azure Active Directory Credential -In the below samples, we pass the credential and the Azure subscription id to instantiate the client. -Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: -#### nodejs - Authentication, client creation, and get vaults as an example written in JavaScript. +```bash +npm install @azure/identity +``` -##### Sample code +You will also need to **register a new AAD application and grant access to Azure KeyVaultManagement** 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 { DefaultAzureCredential } = require("@azure/identity"); const { KeyVaultManagementClient } = require("@azure/arm-keyvault"); -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples -// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. -const creds = new DefaultAzureCredential(); -const client = new KeyVaultManagementClient(creds, subscriptionId); -const resourceGroupName = "testresourceGroupName"; -const vaultName = "testvaultName"; -client.vaults.get(resourceGroupName, vaultName).then((result) => { - console.log("The result is:"); - console.log(result); -}).catch((err) => { - console.log("An error occurred:"); - console.error(err); -}); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new KeyVaultManagementClient(new DefaultAzureCredential(), subscriptionId); ``` -#### browser - Authentication, client creation, and get vaults as an example written in JavaScript. - -In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. - - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. - - Note down the client Id from the previous step and use it in the browser sample below. - -##### Sample code - -- index.html - -```html - - - - @azure/arm-keyvault sample - - - - - - - +## Key concepts + +### KeyVaultManagementClient + +`KeyVaultManagementClient` is the primary interface for developers using the Azure KeyVaultManagement client library. Explore the methods on this client object to understand the different features of the Azure KeyVaultManagement 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 +import { setLogLevel } from "@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) +- [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%2Fkeyvault%2Farm-keyvault%2FREADME.png) -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/.\sdk\keyvault\arm-keyvault\/README.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/keyvault/arm-keyvault/_meta.json b/sdk/keyvault/arm-keyvault/_meta.json new file mode 100644 index 000000000000..3f185f218540 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "bb530add3bb77c84e4e042b7e094b15cad91442a", + "readme": "specification/keyvault/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/keyvault/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.8.20210810.1", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-alpha.8.20210810.1" +} \ No newline at end of file diff --git a/sdk/keyvault/arm-keyvault/api-extractor.json b/sdk/keyvault/arm-keyvault/api-extractor.json new file mode 100644 index 000000000000..de60f665274e --- /dev/null +++ b/sdk/keyvault/arm-keyvault/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-keyvault.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/keyvault/arm-keyvault/package.json b/sdk/keyvault/arm-keyvault/package.json index 9448e740b4d1..39718e928c76 100644 --- a/sdk/keyvault/arm-keyvault/package.json +++ b/sdk/keyvault/arm-keyvault/package.json @@ -1,13 +1,20 @@ { "name": "@azure/arm-keyvault", + "sdk-type": "mgmt", "author": "Microsoft Corporation", - "description": "KeyVaultManagementClient Library with typescript type definitions for node.js and browser.", - "version": "1.3.0", + "description": "A generated SDK for KeyVaultManagementClient.", + "version": "30.0.0-beta.4", + "engines": { + "node": ">=12.0.0" + }, "dependencies": { - "@azure/ms-rest-azure-js": "^1.4.0", - "@azure/ms-rest-js": "^1.11.0", - "@azure/core-auth": "^1.1.4", - "tslib": "^1.9.3" + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", + "@azure/core-paging": "^1.1.1", + "@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", @@ -17,42 +24,75 @@ "isomorphic" ], "license": "MIT", - "main": "./dist/arm-keyvault.js", - "module": "./esm/keyVaultManagementClient.js", - "types": "./esm/keyVaultManagementClient.d.ts", + "main": "./dist/index.js", + "module": "./dist-esm/index.js", + "types": "./types/arm-keyvault.d.ts", "devDependencies": { - "typescript": "^3.6.0", - "rollup": "^0.66.2", - "rollup-plugin-node-resolve": "^3.4.0", + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", + "rollup-plugin-node-resolve": "^3.4.0", + "typescript": "~4.2.0", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/keyvault/arm-keyvault", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.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" + "tsconfig.json", + "review/*", + "CHANGELOG.md", + "types" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify", - "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-keyvault.js.map'\" -o ./dist/arm-keyvault.min.js ./dist/arm-keyvault.js", - "prepack": "npm install && npm run build" + "build": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" }, "sideEffects": false, "autoPublish": true diff --git a/sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md b/sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md new file mode 100644 index 000000000000..7bb6ec5a7fca --- /dev/null +++ b/sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md @@ -0,0 +1,1520 @@ +## API Report File for "@azure/arm-keyvault" + +> 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 AccessPolicyEntry { + applicationId?: string; + objectId: string; + permissions: Permissions; + tenantId: string; +} + +// @public +export type AccessPolicyUpdateKind = "add" | "replace" | "remove"; + +// @public (undocumented) +export interface Action { + type?: KeyRotationPolicyActionType; +} + +// @public +export type ActionsRequired = string; + +// @public +export interface Attributes { + readonly created?: Date; + enabled?: boolean; + expires?: Date; + notBefore?: Date; + readonly updated?: Date; +} + +// @public +export type CertificatePermissions = string; + +// @public +export interface CheckNameAvailabilityResult { + readonly message?: string; + readonly nameAvailable?: boolean; + readonly reason?: Reason; +} + +// @public +export interface CloudError { + error?: CloudErrorBody; +} + +// @public +export interface CloudErrorBody { + code?: string; + message?: string; +} + +// @public +export type CreateMode = "recover" | "default"; + +// @public (undocumented) +export interface DeletedManagedHsm { + readonly id?: string; + readonly name?: string; + properties?: DeletedManagedHsmProperties; + readonly type?: string; +} + +// @public +export interface DeletedManagedHsmListResult { + nextLink?: string; + value?: DeletedManagedHsm[]; +} + +// @public +export interface DeletedManagedHsmProperties { + readonly deletionDate?: Date; + readonly location?: string; + readonly mhsmId?: string; + readonly purgeProtectionEnabled?: boolean; + readonly scheduledPurgeDate?: Date; + readonly tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface DeletedVault { + readonly id?: string; + readonly name?: string; + properties?: DeletedVaultProperties; + readonly type?: string; +} + +// @public +export interface DeletedVaultListResult { + nextLink?: string; + value?: DeletedVault[]; +} + +// @public +export interface DeletedVaultProperties { + readonly deletionDate?: Date; + readonly location?: string; + readonly purgeProtectionEnabled?: boolean; + readonly scheduledPurgeDate?: Date; + readonly tags?: { + [propertyName: string]: string; + }; + readonly vaultId?: string; +} + +// @public +export type DeletionRecoveryLevel = string; + +// @public +export interface DimensionProperties { + displayName?: string; + name?: string; + toBeExportedForShoebox?: boolean; +} + +// @public +export interface ErrorModel { + readonly code?: string; + readonly innerError?: ErrorModel; + readonly message?: string; +} + +// @public +export type IdentityType = string; + +// @public +export interface IPRule { + value: string; +} + +// @public +export type JsonWebKeyCurveName = string; + +// @public +export type JsonWebKeyOperation = string; + +// @public +export type JsonWebKeyType = string; + +// @public +export type Key = Resource & { + attributes?: KeyAttributes; + kty?: JsonWebKeyType; + keyOps?: JsonWebKeyOperation[]; + keySize?: number; + curveName?: JsonWebKeyCurveName; + readonly keyUri?: string; + readonly keyUriWithVersion?: string; + rotationPolicy?: RotationPolicy; +}; + +// @public +export interface KeyAttributes { + readonly created?: number; + enabled?: boolean; + expires?: number; + notBefore?: number; + readonly recoveryLevel?: DeletionRecoveryLevel; + readonly updated?: number; +} + +// @public +export interface KeyCreateParameters { + properties: KeyProperties; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface KeyListResult { + nextLink?: string; + value?: Key[]; +} + +// @public +export type KeyPermissions = string; + +// @public +export interface KeyProperties { + attributes?: KeyAttributes; + curveName?: JsonWebKeyCurveName; + // (undocumented) + keyOps?: JsonWebKeyOperation[]; + keySize?: number; + readonly keyUri?: string; + readonly keyUriWithVersion?: string; + kty?: JsonWebKeyType; + rotationPolicy?: RotationPolicy; +} + +// @public +export type KeyRotationPolicyActionType = "rotate" | "notify"; + +// @public (undocumented) +export interface KeyRotationPolicyAttributes { + readonly created?: number; + expiryTime?: string; + readonly updated?: number; +} + +// @public +export interface Keys { + createIfNotExist(resourceGroupName: string, vaultName: string, keyName: string, parameters: KeyCreateParameters, options?: KeysCreateIfNotExistOptionalParams): Promise; + get(resourceGroupName: string, vaultName: string, keyName: string, options?: KeysGetOptionalParams): Promise; + getVersion(resourceGroupName: string, vaultName: string, keyName: string, keyVersion: string, options?: KeysGetVersionOptionalParams): Promise; + list(resourceGroupName: string, vaultName: string, options?: KeysListOptionalParams): PagedAsyncIterableIterator; + listVersions(resourceGroupName: string, vaultName: string, keyName: string, options?: KeysListVersionsOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface KeysCreateIfNotExistOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KeysCreateIfNotExistResponse = Key; + +// @public +export interface KeysGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KeysGetResponse = Key; + +// @public +export interface KeysGetVersionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KeysGetVersionResponse = Key; + +// @public +export interface KeysListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KeysListNextResponse = KeyListResult; + +// @public +export interface KeysListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KeysListResponse = KeyListResult; + +// @public +export interface KeysListVersionsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KeysListVersionsNextResponse = KeyListResult; + +// @public +export interface KeysListVersionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type KeysListVersionsResponse = KeyListResult; + +// @public (undocumented) +export class KeyVaultManagementClient extends KeyVaultManagementClientContext { + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: KeyVaultManagementClientOptionalParams); + // (undocumented) + keys: Keys; + // (undocumented) + managedHsms: ManagedHsms; + // (undocumented) + mhsmPrivateEndpointConnections: MhsmPrivateEndpointConnections; + // (undocumented) + mhsmPrivateLinkResources: MhsmPrivateLinkResources; + // (undocumented) + operations: Operations; + // (undocumented) + privateEndpointConnections: PrivateEndpointConnections; + // (undocumented) + privateLinkResources: PrivateLinkResources; + // (undocumented) + secrets: Secrets; + // (undocumented) + vaults: Vaults; +} + +// @public (undocumented) +export class KeyVaultManagementClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: KeyVaultManagementClientOptionalParams); + // (undocumented) + apiVersion: string; + // (undocumented) + subscriptionId: string; +} + +// @public +export interface KeyVaultManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export enum KnownActionsRequired { + // (undocumented) + None = "None" +} + +// @public +export enum KnownCertificatePermissions { + // (undocumented) + All = "all", + // (undocumented) + Backup = "backup", + // (undocumented) + Create = "create", + // (undocumented) + Delete = "delete", + // (undocumented) + Deleteissuers = "deleteissuers", + // (undocumented) + Get = "get", + // (undocumented) + Getissuers = "getissuers", + // (undocumented) + Import = "import", + // (undocumented) + List = "list", + // (undocumented) + Listissuers = "listissuers", + // (undocumented) + Managecontacts = "managecontacts", + // (undocumented) + Manageissuers = "manageissuers", + // (undocumented) + Purge = "purge", + // (undocumented) + Recover = "recover", + // (undocumented) + Restore = "restore", + // (undocumented) + Setissuers = "setissuers", + // (undocumented) + Update = "update" +} + +// @public +export enum KnownDeletionRecoveryLevel { + // (undocumented) + Purgeable = "Purgeable", + // (undocumented) + Recoverable = "Recoverable", + // (undocumented) + RecoverableProtectedSubscription = "Recoverable+ProtectedSubscription", + // (undocumented) + RecoverablePurgeable = "Recoverable+Purgeable" +} + +// @public +export enum KnownIdentityType { + // (undocumented) + Application = "Application", + // (undocumented) + Key = "Key", + // (undocumented) + ManagedIdentity = "ManagedIdentity", + // (undocumented) + User = "User" +} + +// @public +export enum KnownJsonWebKeyCurveName { + // (undocumented) + P256 = "P-256", + // (undocumented) + P256K = "P-256K", + // (undocumented) + P384 = "P-384", + // (undocumented) + P521 = "P-521" +} + +// @public +export enum KnownJsonWebKeyOperation { + // (undocumented) + Decrypt = "decrypt", + // (undocumented) + Encrypt = "encrypt", + // (undocumented) + Import = "import", + // (undocumented) + Sign = "sign", + // (undocumented) + UnwrapKey = "unwrapKey", + // (undocumented) + Verify = "verify", + // (undocumented) + WrapKey = "wrapKey" +} + +// @public +export enum KnownJsonWebKeyType { + // (undocumented) + EC = "EC", + // (undocumented) + ECHSM = "EC-HSM", + // (undocumented) + RSA = "RSA", + // (undocumented) + RSAHSM = "RSA-HSM" +} + +// @public +export enum KnownKeyPermissions { + // (undocumented) + All = "all", + // (undocumented) + Backup = "backup", + // (undocumented) + Create = "create", + // (undocumented) + Decrypt = "decrypt", + // (undocumented) + Delete = "delete", + // (undocumented) + Encrypt = "encrypt", + // (undocumented) + Get = "get", + // (undocumented) + Import = "import", + // (undocumented) + List = "list", + // (undocumented) + Purge = "purge", + // (undocumented) + Recover = "recover", + // (undocumented) + Release = "release", + // (undocumented) + Restore = "restore", + // (undocumented) + Rotate = "rotate", + // (undocumented) + Sign = "sign", + // (undocumented) + UnwrapKey = "unwrapKey", + // (undocumented) + Update = "update", + // (undocumented) + Verify = "verify", + // (undocumented) + WrapKey = "wrapKey" +} + +// @public +export enum KnownManagedHsmSkuFamily { + // (undocumented) + B = "B" +} + +// @public +export enum KnownNetworkRuleAction { + // (undocumented) + Allow = "Allow", + // (undocumented) + Deny = "Deny" +} + +// @public +export enum KnownNetworkRuleBypassOptions { + // (undocumented) + AzureServices = "AzureServices", + // (undocumented) + None = "None" +} + +// @public +export enum KnownPrivateEndpointConnectionProvisioningState { + // (undocumented) + Creating = "Creating", + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Disconnected = "Disconnected", + // (undocumented) + Failed = "Failed", + // (undocumented) + Succeeded = "Succeeded", + // (undocumented) + Updating = "Updating" +} + +// @public +export enum KnownPrivateEndpointServiceConnectionStatus { + // (undocumented) + Approved = "Approved", + // (undocumented) + Disconnected = "Disconnected", + // (undocumented) + Pending = "Pending", + // (undocumented) + Rejected = "Rejected" +} + +// @public +export enum KnownProvisioningState { + Activated = "Activated", + Deleting = "Deleting", + Failed = "Failed", + Provisioning = "Provisioning", + Restoring = "Restoring", + SecurityDomainRestore = "SecurityDomainRestore", + Succeeded = "Succeeded", + Updating = "Updating" +} + +// @public +export enum KnownPublicNetworkAccess { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownSecretPermissions { + // (undocumented) + All = "all", + // (undocumented) + Backup = "backup", + // (undocumented) + Delete = "delete", + // (undocumented) + Get = "get", + // (undocumented) + List = "list", + // (undocumented) + Purge = "purge", + // (undocumented) + Recover = "recover", + // (undocumented) + Restore = "restore", + // (undocumented) + Set = "set" +} + +// @public +export enum KnownSkuFamily { + // (undocumented) + A = "A" +} + +// @public +export enum KnownStoragePermissions { + // (undocumented) + All = "all", + // (undocumented) + Backup = "backup", + // (undocumented) + Delete = "delete", + // (undocumented) + Deletesas = "deletesas", + // (undocumented) + Get = "get", + // (undocumented) + Getsas = "getsas", + // (undocumented) + List = "list", + // (undocumented) + Listsas = "listsas", + // (undocumented) + Purge = "purge", + // (undocumented) + Recover = "recover", + // (undocumented) + Regeneratekey = "regeneratekey", + // (undocumented) + Restore = "restore", + // (undocumented) + Set = "set", + // (undocumented) + Setsas = "setsas", + // (undocumented) + Update = "update" +} + +// @public +export enum KnownVaultProvisioningState { + // (undocumented) + RegisteringDns = "RegisteringDns", + // (undocumented) + Succeeded = "Succeeded" +} + +// @public (undocumented) +export interface LifetimeAction { + action?: Action; + trigger?: Trigger; +} + +// @public +export interface LogSpecification { + blobDuration?: string; + displayName?: string; + name?: string; +} + +// @public +export type ManagedHsm = ManagedHsmResource & { + properties?: ManagedHsmProperties; +}; + +// @public +export interface ManagedHsmError { + readonly error?: ErrorModel; +} + +// @public +export interface ManagedHsmListResult { + nextLink?: string; + value?: ManagedHsm[]; +} + +// @public +export interface ManagedHsmProperties { + createMode?: CreateMode; + enablePurgeProtection?: boolean; + enableSoftDelete?: boolean; + readonly hsmUri?: string; + initialAdminObjectIds?: string[]; + networkAcls?: MhsmNetworkRuleSet; + readonly privateEndpointConnections?: MhsmPrivateEndpointConnectionItem[]; + readonly provisioningState?: ProvisioningState; + publicNetworkAccess?: PublicNetworkAccess; + readonly scheduledPurgeDate?: Date; + softDeleteRetentionInDays?: number; + readonly statusMessage?: string; + tenantId?: string; +} + +// @public +export interface ManagedHsmResource { + readonly id?: string; + location?: string; + readonly name?: string; + sku?: ManagedHsmSku; + readonly systemData?: SystemData; + tags?: { + [propertyName: string]: string; + }; + readonly type?: string; +} + +// @public +export interface ManagedHsms { + beginCreateOrUpdate(resourceGroupName: string, name: string, parameters: ManagedHsm, options?: ManagedHsmsCreateOrUpdateOptionalParams): Promise, ManagedHsmsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, name: string, parameters: ManagedHsm, options?: ManagedHsmsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, name: string, options?: ManagedHsmsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, name: string, options?: ManagedHsmsDeleteOptionalParams): Promise; + beginPurgeDeleted(name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams): Promise, void>>; + beginPurgeDeletedAndWait(name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams): Promise; + beginUpdate(resourceGroupName: string, name: string, parameters: ManagedHsm, options?: ManagedHsmsUpdateOptionalParams): Promise, ManagedHsmsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, name: string, parameters: ManagedHsm, options?: ManagedHsmsUpdateOptionalParams): Promise; + get(resourceGroupName: string, name: string, options?: ManagedHsmsGetOptionalParams): Promise; + getDeleted(name: string, location: string, options?: ManagedHsmsGetDeletedOptionalParams): Promise; + listByResourceGroup(resourceGroupName: string, options?: ManagedHsmsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listBySubscription(options?: ManagedHsmsListBySubscriptionOptionalParams): PagedAsyncIterableIterator; + listDeleted(options?: ManagedHsmsListDeletedOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedHsmsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedHsmsCreateOrUpdateResponse = ManagedHsm; + +// @public +export interface ManagedHsmsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedHsmsGetDeletedOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedHsmsGetDeletedResponse = DeletedManagedHsm; + +// @public +export interface ManagedHsmsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedHsmsGetResponse = ManagedHsm; + +// @public +export interface ManagedHsmSku { + family: ManagedHsmSkuFamily; + name: ManagedHsmSkuName; +} + +// @public +export type ManagedHsmSkuFamily = string; + +// @public +export type ManagedHsmSkuName = "Standard_B1" | "Custom_B32"; + +// @public +export interface ManagedHsmsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type ManagedHsmsListByResourceGroupNextResponse = ManagedHsmListResult; + +// @public +export interface ManagedHsmsListByResourceGroupOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type ManagedHsmsListByResourceGroupResponse = ManagedHsmListResult; + +// @public +export interface ManagedHsmsListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type ManagedHsmsListBySubscriptionNextResponse = ManagedHsmListResult; + +// @public +export interface ManagedHsmsListBySubscriptionOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type ManagedHsmsListBySubscriptionResponse = ManagedHsmListResult; + +// @public +export interface ManagedHsmsListDeletedNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedHsmsListDeletedNextResponse = DeletedManagedHsmListResult; + +// @public +export interface ManagedHsmsListDeletedOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedHsmsListDeletedResponse = DeletedManagedHsmListResult; + +// @public +export interface ManagedHsmsPurgeDeletedOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedHsmsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedHsmsUpdateResponse = ManagedHsm; + +// @public +export interface MetricSpecification { + aggregationType?: string; + dimensions?: DimensionProperties[]; + displayDescription?: string; + displayName?: string; + fillGapWithZero?: boolean; + internalMetricName?: string; + lockAggregationType?: string; + name?: string; + supportedAggregationTypes?: string[]; + supportedTimeGrainTypes?: string[]; + unit?: string; +} + +// @public +export interface MhsmipRule { + value: string; +} + +// @public +export interface MhsmNetworkRuleSet { + bypass?: NetworkRuleBypassOptions; + defaultAction?: NetworkRuleAction; + ipRules?: MhsmipRule[]; + virtualNetworkRules?: MhsmVirtualNetworkRule[]; +} + +// @public +export interface MhsmPrivateEndpoint { + readonly id?: string; +} + +// @public +export type MhsmPrivateEndpointConnection = ManagedHsmResource & { + etag?: string; + privateEndpoint?: MhsmPrivateEndpoint; + privateLinkServiceConnectionState?: MhsmPrivateLinkServiceConnectionState; + provisioningState?: PrivateEndpointConnectionProvisioningState; +}; + +// @public +export interface MhsmPrivateEndpointConnectionItem { + privateEndpoint?: MhsmPrivateEndpoint; + privateLinkServiceConnectionState?: MhsmPrivateLinkServiceConnectionState; + provisioningState?: PrivateEndpointConnectionProvisioningState; +} + +// @public +export interface MhsmPrivateEndpointConnections { + beginDelete(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: MhsmPrivateEndpointConnectionsDeleteOptionalParams): Promise, MhsmPrivateEndpointConnectionsDeleteResponse>>; + beginDeleteAndWait(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: MhsmPrivateEndpointConnectionsDeleteOptionalParams): Promise; + get(resourceGroupName: string, name: string, privateEndpointConnectionName: string, options?: MhsmPrivateEndpointConnectionsGetOptionalParams): Promise; + listByResource(resourceGroupName: string, name: string, options?: MhsmPrivateEndpointConnectionsListByResourceOptionalParams): PagedAsyncIterableIterator; + put(resourceGroupName: string, name: string, privateEndpointConnectionName: string, properties: MhsmPrivateEndpointConnection, options?: MhsmPrivateEndpointConnectionsPutOptionalParams): Promise; +} + +// @public +export interface MhsmPrivateEndpointConnectionsDeleteHeaders { + location?: string; + retryAfter?: number; +} + +// @public +export interface MhsmPrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type MhsmPrivateEndpointConnectionsDeleteResponse = MhsmPrivateEndpointConnection; + +// @public +export interface MhsmPrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MhsmPrivateEndpointConnectionsGetResponse = MhsmPrivateEndpointConnection; + +// @public +export interface MhsmPrivateEndpointConnectionsListByResourceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MhsmPrivateEndpointConnectionsListByResourceNextResponse = MhsmPrivateEndpointConnectionsListResult; + +// @public +export interface MhsmPrivateEndpointConnectionsListByResourceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MhsmPrivateEndpointConnectionsListByResourceResponse = MhsmPrivateEndpointConnectionsListResult; + +// @public +export interface MhsmPrivateEndpointConnectionsListResult { + nextLink?: string; + value?: MhsmPrivateEndpointConnection[]; +} + +// @public +export interface MhsmPrivateEndpointConnectionsPutHeaders { + azureAsyncOperation?: string; + retryAfter?: number; +} + +// @public +export interface MhsmPrivateEndpointConnectionsPutOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MhsmPrivateEndpointConnectionsPutResponse = MhsmPrivateEndpointConnectionsPutHeaders & MhsmPrivateEndpointConnection; + +// @public +export type MhsmPrivateLinkResource = ManagedHsmResource & { + readonly groupId?: string; + readonly requiredMembers?: string[]; + requiredZoneNames?: string[]; +}; + +// @public +export interface MhsmPrivateLinkResourceListResult { + value?: MhsmPrivateLinkResource[]; +} + +// @public +export interface MhsmPrivateLinkResources { + listByMhsmResource(resourceGroupName: string, name: string, options?: MhsmPrivateLinkResourcesListByMhsmResourceOptionalParams): Promise; +} + +// @public +export interface MhsmPrivateLinkResourcesListByMhsmResourceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MhsmPrivateLinkResourcesListByMhsmResourceResponse = MhsmPrivateLinkResourceListResult; + +// @public +export interface MhsmPrivateLinkServiceConnectionState { + actionsRequired?: ActionsRequired; + description?: string; + status?: PrivateEndpointServiceConnectionStatus; +} + +// @public +export interface MhsmVirtualNetworkRule { + id: string; +} + +// @public +export type NetworkRuleAction = string; + +// @public +export type NetworkRuleBypassOptions = string; + +// @public +export interface NetworkRuleSet { + bypass?: NetworkRuleBypassOptions; + defaultAction?: NetworkRuleAction; + ipRules?: IPRule[]; + virtualNetworkRules?: VirtualNetworkRule[]; +} + +// @public +export interface Operation { + display?: OperationDisplay; + isDataAction?: boolean; + name?: string; + origin?: string; + serviceSpecification?: ServiceSpecification; +} + +// @public +export interface OperationDisplay { + description?: string; + operation?: string; + provider?: string; + resource?: string; +} + +// @public +export interface OperationListResult { + nextLink?: string; + value?: Operation[]; +} + +// @public +export interface Operations { + list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface OperationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListNextResponse = OperationListResult; + +// @public +export interface OperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListResponse = OperationListResult; + +// @public +export interface Permissions { + certificates?: CertificatePermissions[]; + keys?: KeyPermissions[]; + secrets?: SecretPermissions[]; + storage?: StoragePermissions[]; +} + +// @public +export interface PrivateEndpoint { + readonly id?: string; +} + +// @public +export type PrivateEndpointConnection = Resource & { + etag?: string; + privateEndpoint?: PrivateEndpoint; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + provisioningState?: PrivateEndpointConnectionProvisioningState; +}; + +// @public +export interface PrivateEndpointConnectionItem { + etag?: string; + id?: string; + privateEndpoint?: PrivateEndpoint; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + provisioningState?: PrivateEndpointConnectionProvisioningState; +} + +// @public +export interface PrivateEndpointConnectionListResult { + nextLink?: string; + value?: PrivateEndpointConnection[]; +} + +// @public +export type PrivateEndpointConnectionProvisioningState = string; + +// @public +export interface PrivateEndpointConnections { + beginDelete(resourceGroupName: string, vaultName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise, PrivateEndpointConnectionsDeleteResponse>>; + beginDeleteAndWait(resourceGroupName: string, vaultName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise; + get(resourceGroupName: string, vaultName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise; + listByResource(resourceGroupName: string, vaultName: string, options?: PrivateEndpointConnectionsListByResourceOptionalParams): PagedAsyncIterableIterator; + put(resourceGroupName: string, vaultName: string, privateEndpointConnectionName: string, properties: PrivateEndpointConnection, options?: PrivateEndpointConnectionsPutOptionalParams): Promise; +} + +// @public +export interface PrivateEndpointConnectionsDeleteHeaders { + location?: string; + retryAfter?: number; +} + +// @public +export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type PrivateEndpointConnectionsDeleteResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsListByResourceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByResourceNextResponse = PrivateEndpointConnectionListResult; + +// @public +export interface PrivateEndpointConnectionsListByResourceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByResourceResponse = PrivateEndpointConnectionListResult; + +// @public +export interface PrivateEndpointConnectionsPutHeaders { + azureAsyncOperation?: string; + retryAfter?: number; +} + +// @public +export interface PrivateEndpointConnectionsPutOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsPutResponse = PrivateEndpointConnectionsPutHeaders & PrivateEndpointConnection; + +// @public +export type PrivateEndpointServiceConnectionStatus = string; + +// @public +export type PrivateLinkResource = Resource & { + readonly groupId?: string; + readonly requiredMembers?: string[]; + requiredZoneNames?: string[]; +}; + +// @public +export interface PrivateLinkResourceListResult { + value?: PrivateLinkResource[]; +} + +// @public +export interface PrivateLinkResources { + listByVault(resourceGroupName: string, vaultName: string, options?: PrivateLinkResourcesListByVaultOptionalParams): Promise; +} + +// @public +export interface PrivateLinkResourcesListByVaultOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByVaultResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkServiceConnectionState { + actionsRequired?: ActionsRequired; + description?: string; + status?: PrivateEndpointServiceConnectionStatus; +} + +// @public +export type ProvisioningState = string; + +// @public +export type PublicNetworkAccess = string; + +// @public +export type Reason = "AccountNameInvalid" | "AlreadyExists"; + +// @public +export interface Resource { + readonly id?: string; + readonly location?: string; + readonly name?: string; + readonly tags?: { + [propertyName: string]: string; + }; + readonly type?: string; +} + +// @public +export interface ResourceListResult { + nextLink?: string; + value?: Resource[]; +} + +// @public (undocumented) +export interface RotationPolicy { + attributes?: KeyRotationPolicyAttributes; + lifetimeActions?: LifetimeAction[]; +} + +// @public +export type Secret = Resource & { + properties: SecretProperties; +}; + +// @public +export type SecretAttributes = Attributes & {}; + +// @public +export interface SecretCreateOrUpdateParameters { + properties: SecretProperties; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface SecretListResult { + nextLink?: string; + value?: Secret[]; +} + +// @public +export interface SecretPatchParameters { + properties?: SecretPatchProperties; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface SecretPatchProperties { + attributes?: SecretAttributes; + contentType?: string; + value?: string; +} + +// @public +export type SecretPermissions = string; + +// @public +export interface SecretProperties { + attributes?: SecretAttributes; + contentType?: string; + readonly secretUri?: string; + readonly secretUriWithVersion?: string; + value?: string; +} + +// @public +export interface Secrets { + createOrUpdate(resourceGroupName: string, vaultName: string, secretName: string, parameters: SecretCreateOrUpdateParameters, options?: SecretsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, vaultName: string, secretName: string, options?: SecretsGetOptionalParams): Promise; + list(resourceGroupName: string, vaultName: string, options?: SecretsListOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, vaultName: string, secretName: string, parameters: SecretPatchParameters, options?: SecretsUpdateOptionalParams): Promise; +} + +// @public +export interface SecretsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecretsCreateOrUpdateResponse = Secret; + +// @public +export interface SecretsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecretsGetResponse = Secret; + +// @public +export interface SecretsListNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type SecretsListNextResponse = SecretListResult; + +// @public +export interface SecretsListOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type SecretsListResponse = SecretListResult; + +// @public +export interface SecretsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SecretsUpdateResponse = Secret; + +// @public +export interface ServiceSpecification { + logSpecifications?: LogSpecification[]; + metricSpecifications?: MetricSpecification[]; +} + +// @public +export interface Sku { + family: SkuFamily; + name: SkuName; +} + +// @public +export type SkuFamily = string; + +// @public +export type SkuName = "standard" | "premium"; + +// @public +export type StoragePermissions = string; + +// @public +export interface SystemData { + createdAt?: Date; + createdBy?: string; + createdByType?: IdentityType; + lastModifiedAt?: Date; + lastModifiedBy?: string; + lastModifiedByType?: IdentityType; +} + +// @public (undocumented) +export interface Trigger { + timeAfterCreate?: string; + timeBeforeExpiry?: string; +} + +// @public +export interface Vault { + readonly id?: string; + location?: string; + readonly name?: string; + properties: VaultProperties; + readonly systemData?: SystemData; + tags?: { + [propertyName: string]: string; + }; + readonly type?: string; +} + +// @public +export interface VaultAccessPolicyParameters { + readonly id?: string; + readonly location?: string; + readonly name?: string; + properties: VaultAccessPolicyProperties; + readonly type?: string; +} + +// @public +export interface VaultAccessPolicyProperties { + accessPolicies: AccessPolicyEntry[]; +} + +// @public +export interface VaultCheckNameAvailabilityParameters { + name: string; + type: "Microsoft.KeyVault/vaults"; +} + +// @public +export interface VaultCreateOrUpdateParameters { + location: string; + properties: VaultProperties; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface VaultListResult { + nextLink?: string; + value?: Vault[]; +} + +// @public +export interface VaultPatchParameters { + properties?: VaultPatchProperties; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface VaultPatchProperties { + accessPolicies?: AccessPolicyEntry[]; + createMode?: CreateMode; + enabledForDeployment?: boolean; + enabledForDiskEncryption?: boolean; + enabledForTemplateDeployment?: boolean; + enablePurgeProtection?: boolean; + enableRbacAuthorization?: boolean; + enableSoftDelete?: boolean; + networkAcls?: NetworkRuleSet; + publicNetworkAccess?: string; + sku?: Sku; + softDeleteRetentionInDays?: number; + tenantId?: string; +} + +// @public +export interface VaultProperties { + accessPolicies?: AccessPolicyEntry[]; + createMode?: CreateMode; + enabledForDeployment?: boolean; + enabledForDiskEncryption?: boolean; + enabledForTemplateDeployment?: boolean; + enablePurgeProtection?: boolean; + enableRbacAuthorization?: boolean; + enableSoftDelete?: boolean; + readonly hsmPoolResourceId?: string; + networkAcls?: NetworkRuleSet; + readonly privateEndpointConnections?: PrivateEndpointConnectionItem[]; + provisioningState?: VaultProvisioningState; + publicNetworkAccess?: string; + sku: Sku; + softDeleteRetentionInDays?: number; + tenantId: string; + vaultUri?: string; +} + +// @public +export type VaultProvisioningState = string; + +// @public +export interface Vaults { + beginCreateOrUpdate(resourceGroupName: string, vaultName: string, parameters: VaultCreateOrUpdateParameters, options?: VaultsCreateOrUpdateOptionalParams): Promise, VaultsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, vaultName: string, parameters: VaultCreateOrUpdateParameters, options?: VaultsCreateOrUpdateOptionalParams): Promise; + beginPurgeDeleted(vaultName: string, location: string, options?: VaultsPurgeDeletedOptionalParams): Promise, void>>; + beginPurgeDeletedAndWait(vaultName: string, location: string, options?: VaultsPurgeDeletedOptionalParams): Promise; + checkNameAvailability(vaultName: VaultCheckNameAvailabilityParameters, options?: VaultsCheckNameAvailabilityOptionalParams): Promise; + delete(resourceGroupName: string, vaultName: string, options?: VaultsDeleteOptionalParams): Promise; + get(resourceGroupName: string, vaultName: string, options?: VaultsGetOptionalParams): Promise; + getDeleted(vaultName: string, location: string, options?: VaultsGetDeletedOptionalParams): Promise; + list(options?: VaultsListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: VaultsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listBySubscription(options?: VaultsListBySubscriptionOptionalParams): PagedAsyncIterableIterator; + listDeleted(options?: VaultsListDeletedOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, vaultName: string, parameters: VaultPatchParameters, options?: VaultsUpdateOptionalParams): Promise; + updateAccessPolicy(resourceGroupName: string, vaultName: string, operationKind: AccessPolicyUpdateKind, parameters: VaultAccessPolicyParameters, options?: VaultsUpdateAccessPolicyOptionalParams): Promise; +} + +// @public +export interface VaultsCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VaultsCheckNameAvailabilityResponse = CheckNameAvailabilityResult; + +// @public +export interface VaultsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type VaultsCreateOrUpdateResponse = Vault; + +// @public +export interface VaultsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface VaultsGetDeletedOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VaultsGetDeletedResponse = DeletedVault; + +// @public +export interface VaultsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VaultsGetResponse = Vault; + +// @public +export interface VaultsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type VaultsListByResourceGroupNextResponse = VaultListResult; + +// @public +export interface VaultsListByResourceGroupOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type VaultsListByResourceGroupResponse = VaultListResult; + +// @public +export interface VaultsListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type VaultsListBySubscriptionNextResponse = VaultListResult; + +// @public +export interface VaultsListBySubscriptionOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type VaultsListBySubscriptionResponse = VaultListResult; + +// @public +export interface VaultsListDeletedNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VaultsListDeletedNextResponse = DeletedVaultListResult; + +// @public +export interface VaultsListDeletedOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VaultsListDeletedResponse = DeletedVaultListResult; + +// @public +export interface VaultsListNextOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type VaultsListNextResponse = ResourceListResult; + +// @public +export interface VaultsListOptionalParams extends coreClient.OperationOptions { + top?: number; +} + +// @public +export type VaultsListResponse = ResourceListResult; + +// @public +export interface VaultsPurgeDeletedOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VaultsUpdateAccessPolicyOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VaultsUpdateAccessPolicyResponse = VaultAccessPolicyParameters; + +// @public +export interface VaultsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VaultsUpdateResponse = Vault; + +// @public +export interface VirtualNetworkRule { + id: string; + ignoreMissingVnetServiceEndpoint?: boolean; +} + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/keyvault/arm-keyvault/rollup.config.js b/sdk/keyvault/arm-keyvault/rollup.config.js index fdc2d21a8733..9be1955eb7f1 100644 --- a/sdk/keyvault/arm-keyvault/rollup.config.js +++ b/sdk/keyvault/arm-keyvault/rollup.config.js @@ -1,37 +1,188 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; +/* + * 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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler /** - * @type {rollup.RollupFileOptions} + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. */ -const config = { - input: "./esm/keyVaultManagementClient.js", - external: [ - "@azure/ms-rest-js", - "@azure/ms-rest-azure-js" - ], - output: { - file: "./dist/arm-keyvault.js", - format: "umd", - name: "Azure.ArmKeyvault", - sourcemap: true, - globals: { - "@azure/ms-rest-js": "msRest", - "@azure/ms-rest-azure-js": "msRestAzure" + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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/**"] }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */` - }, - plugins: [ - nodeResolve({ module: true }), - sourcemaps() - ] + output: { + file: `dist-test/index.browser.js`, + format: "umd", + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + multiEntry({ exports: false }), + nodeResolve({ + mainFields: ["module", "browser"] + }), + cjs({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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 default config; +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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/keyvault/arm-keyvault/src/index.ts b/sdk/keyvault/arm-keyvault/src/index.ts new file mode 100644 index 000000000000..76a73dbc1818 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { KeyVaultManagementClient } from "./keyVaultManagementClient"; +export { KeyVaultManagementClientContext } from "./keyVaultManagementClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/keyvault/arm-keyvault/src/keyVaultManagementClient.ts b/sdk/keyvault/arm-keyvault/src/keyVaultManagementClient.ts index de68187485e8..1f33d2b72b1d 100644 --- a/sdk/keyvault/arm-keyvault/src/keyVaultManagementClient.ts +++ b/sdk/keyvault/arm-keyvault/src/keyVaultManagementClient.ts @@ -1,51 +1,71 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as Models from "./models"; -import * as Mappers from "./models/mappers"; -import * as operations from "./operations"; +import * as coreAuth from "@azure/core-auth"; +import { + KeysImpl, + VaultsImpl, + PrivateEndpointConnectionsImpl, + PrivateLinkResourcesImpl, + ManagedHsmsImpl, + MhsmPrivateEndpointConnectionsImpl, + MhsmPrivateLinkResourcesImpl, + OperationsImpl, + SecretsImpl +} from "./operations"; +import { + Keys, + Vaults, + PrivateEndpointConnections, + PrivateLinkResources, + ManagedHsms, + MhsmPrivateEndpointConnections, + MhsmPrivateLinkResources, + Operations, + Secrets +} from "./operationsInterfaces"; import { KeyVaultManagementClientContext } from "./keyVaultManagementClientContext"; +import { KeyVaultManagementClientOptionalParams } from "./models"; - -class KeyVaultManagementClient extends KeyVaultManagementClientContext { - // Operation groups - vaults: operations.Vaults; - operations: operations.Operations; - +export class KeyVaultManagementClient extends KeyVaultManagementClientContext { /** * Initializes a new instance of the KeyVaultManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. - * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure - * subscription. The subscription ID forms part of the URI for every service call. - * @param [options] The parameter options + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure subscription. + * The subscription ID forms part of the URI for every service call. + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.KeyVaultManagementClientOptions) { + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: KeyVaultManagementClientOptionalParams + ) { super(credentials, subscriptionId, options); - this.vaults = new operations.Vaults(this); - this.operations = new operations.Operations(this); + this.keys = new KeysImpl(this); + this.vaults = new VaultsImpl(this); + this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); + this.privateLinkResources = new PrivateLinkResourcesImpl(this); + this.managedHsms = new ManagedHsmsImpl(this); + this.mhsmPrivateEndpointConnections = new MhsmPrivateEndpointConnectionsImpl( + this + ); + this.mhsmPrivateLinkResources = new MhsmPrivateLinkResourcesImpl(this); + this.operations = new OperationsImpl(this); + this.secrets = new SecretsImpl(this); } -} -// Operation Specifications - -export { - KeyVaultManagementClient, - KeyVaultManagementClientContext, - Models as KeyVaultManagementModels, - Mappers as KeyVaultManagementMappers -}; -export * from "./operations"; + keys: Keys; + vaults: Vaults; + privateEndpointConnections: PrivateEndpointConnections; + privateLinkResources: PrivateLinkResources; + managedHsms: ManagedHsms; + mhsmPrivateEndpointConnections: MhsmPrivateEndpointConnections; + mhsmPrivateLinkResources: MhsmPrivateLinkResources; + operations: Operations; + secrets: Secrets; +} diff --git a/sdk/keyvault/arm-keyvault/src/keyVaultManagementClientContext.ts b/sdk/keyvault/arm-keyvault/src/keyVaultManagementClientContext.ts index dce7445b9f76..9df285dc2e76 100644 --- a/sdk/keyvault/arm-keyvault/src/keyVaultManagementClientContext.ts +++ b/sdk/keyvault/arm-keyvault/src/keyVaultManagementClientContext.ts @@ -1,69 +1,71 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { KeyVaultManagementClientOptionalParams } from "./models"; -const packageName = "@azure/arm-keyvault"; -const packageVersion = "1.3.0"; - -export class KeyVaultManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials | TokenCredential; +export class KeyVaultManagementClientContext extends coreClient.ServiceClient { + $host: string; subscriptionId: string; - apiVersion?: string; + apiVersion: string; /** - * Initializes a new instance of the KeyVaultManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. - * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure - * subscription. The subscription ID forms part of the URI for every service call. - * @param [options] The parameter options + * Initializes a new instance of the KeyVaultManagementClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param subscriptionId Subscription credentials which uniquely identify Microsoft Azure subscription. + * The subscription ID forms part of the URI for every service call. + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.KeyVaultManagementClientOptions) { - if (credentials == undefined) { - throw new Error('\'credentials\' cannot be null.'); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: KeyVaultManagementClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); } - if (subscriptionId == undefined) { - throw new Error('\'subscriptionId\' cannot be null.'); + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); } + // Initializing default values for options if (!options) { options = {}; } - if(!options.userAgent) { - const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const defaults: KeyVaultManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - super(credentials, options); + const packageDetails = `azsdk-js-arm-keyvault/30.0.0-beta.3`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; - this.apiVersion = '2018-02-14'; - this.acceptLanguage = 'en-US'; - this.longRunningOperationRetryTimeout = 30; - this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; - this.requestContentType = "application/json; charset=utf-8"; - this.credentials = credentials; + 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; - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { - this.acceptLanguage = options.acceptLanguage; - } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { - this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; - } + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.apiVersion = options.apiVersion || "2021-06-01-preview"; } } diff --git a/sdk/keyvault/arm-keyvault/src/lroImpl.ts b/sdk/keyvault/arm-keyvault/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/keyvault/arm-keyvault/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/keyvault/arm-keyvault/src/models/index.ts b/sdk/keyvault/arm-keyvault/src/models/index.ts index f6d55103853c..ad40ec862cac 100644 --- a/sdk/keyvault/arm-keyvault/src/models/index.ts +++ b/sdk/keyvault/arm-keyvault/src/models/index.ts @@ -1,1020 +1,1999 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export { BaseResource, CloudError }; +/** The parameters used to create a key. */ +export interface KeyCreateParameters { + /** The tags that will be assigned to the key. */ + tags?: { [propertyName: string]: string }; + /** The properties of the key to be created. */ + properties: KeyProperties; +} -/** - * SKU details - */ -export interface Sku { - /** - * SKU name to specify whether the key vault is a standard vault or a premium vault. Possible - * values include: 'standard', 'premium' - */ - name: SkuName; +/** The properties of the key. */ +export interface KeyProperties { + /** The attributes of the key. */ + attributes?: KeyAttributes; + /** The type of the key. For valid values, see JsonWebKeyType. */ + kty?: JsonWebKeyType; + keyOps?: JsonWebKeyOperation[]; + /** The key size in bits. For example: 2048, 3072, or 4096 for RSA. */ + keySize?: number; + /** The elliptic curve name. For valid values, see JsonWebKeyCurveName. */ + curveName?: JsonWebKeyCurveName; + /** + * The URI to retrieve the current version of the key. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly keyUri?: string; + /** + * The URI to retrieve the specific version of the key. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly keyUriWithVersion?: string; + /** Key rotation policy in response. It will be used for both output and input. Omitted if empty */ + rotationPolicy?: RotationPolicy; } -/** - * Permissions the identity has for keys, secrets, certificates and storage. - */ -export interface Permissions { - /** - * Permissions to keys - */ - keys?: KeyPermissions[]; +/** The object attributes managed by the Azure Key Vault service. */ +export interface KeyAttributes { + /** Determines whether or not the object is enabled. */ + enabled?: boolean; + /** Not before date in seconds since 1970-01-01T00:00:00Z. */ + notBefore?: number; + /** Expiry date in seconds since 1970-01-01T00:00:00Z. */ + expires?: number; /** - * Permissions to secrets + * Creation time in seconds since 1970-01-01T00:00:00Z. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - secrets?: SecretPermissions[]; + readonly created?: number; /** - * Permissions to certificates + * Last updated time in seconds since 1970-01-01T00:00:00Z. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - certificates?: CertificatePermissions[]; + readonly updated?: number; /** - * Permissions to storage accounts + * The deletion recovery level currently in effect for the object. If it contains 'Purgeable', then the object can be permanently deleted by a privileged user; otherwise, only the system can purge the object at the end of the retention interval. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storage?: StoragePermissions[]; + readonly recoveryLevel?: DeletionRecoveryLevel; } -/** - * An identity that have access to the key vault. All identities in the array must use the same - * tenant ID as the key vault's tenant ID. - */ -export interface AccessPolicyEntry { - /** - * The Azure Active Directory tenant ID that should be used for authenticating requests to the - * key vault. - */ - tenantId: string; - /** - * The object ID of a user, service principal or security group in the Azure Active Directory - * tenant for the vault. The object ID must be unique for the list of access policies. - */ - objectId: string; +export interface RotationPolicy { + /** The attributes of key rotation policy. */ + attributes?: KeyRotationPolicyAttributes; + /** The lifetimeActions for key rotation action. */ + lifetimeActions?: LifetimeAction[]; +} + +export interface KeyRotationPolicyAttributes { /** - * Application ID of the client making request on behalf of a principal + * Creation time in seconds since 1970-01-01T00:00:00Z. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - applicationId?: string; + readonly created?: number; /** - * Permissions the identity has for keys, secrets and certificates. + * Last updated time in seconds since 1970-01-01T00:00:00Z. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - permissions: Permissions; + readonly updated?: number; + /** The expiration time for the new key version. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'. */ + expiryTime?: string; } -/** - * A rule governing the accessibility of a vault from a specific ip address or ip range. - */ -export interface IPRule { - /** - * An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or - * '124.56.78.0/24' (all addresses that start with 124.56.78). - */ - value: string; +export interface LifetimeAction { + /** The trigger of key rotation policy lifetimeAction. */ + trigger?: Trigger; + /** The action of key rotation policy lifetimeAction. */ + action?: Action; } -/** - * A rule governing the accessibility of a vault from a specific virtual network. - */ -export interface VirtualNetworkRule { - /** - * Full resource id of a vnet subnet, such as - * '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. - */ - id: string; +export interface Trigger { + /** The time duration after key creation to rotate the key. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'. */ + timeAfterCreate?: string; + /** The time duration before key expiring to rotate the key. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'. */ + timeBeforeExpiry?: string; } -/** - * A set of rules governing the network accessibility of a vault. - */ -export interface NetworkRuleSet { +export interface Action { + /** The type of action. */ + type?: KeyRotationPolicyActionType; +} + +/** Key Vault resource */ +export interface Resource { /** - * Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not - * specified the default is 'AzureServices'. Possible values include: 'AzureServices', 'None' + * Fully qualified identifier of the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - bypass?: NetworkRuleBypassOptions; + readonly id?: string; /** - * The default action when no rule from ipRules and from virtualNetworkRules match. This is only - * used after the bypass property has been evaluated. Possible values include: 'Allow', 'Deny' + * Name of the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - defaultAction?: NetworkRuleAction; + readonly name?: string; /** - * The list of IP address rules. + * Resource type of the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - ipRules?: IPRule[]; + readonly type?: string; /** - * The list of virtual network rules. + * Azure location of the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - virtualNetworkRules?: VirtualNetworkRule[]; + readonly location?: string; + /** + * Tags assigned to the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tags?: { [propertyName: string]: string }; } -/** - * Properties of the vault - */ +/** An error response from Key Vault resource provider */ +export interface CloudError { + /** An error response from Key Vault resource provider */ + error?: CloudErrorBody; +} + +/** An error response from Key Vault resource provider */ +export interface CloudErrorBody { + /** Error code. This is a mnemonic that can be consumed programmatically. */ + code?: string; + /** User friendly error message. The message is typically localized and may vary with service version. */ + message?: string; +} + +/** The page of keys. */ +export interface KeyListResult { + /** The key resources. */ + value?: Key[]; + /** The URL to get the next page of keys. */ + nextLink?: string; +} + +/** Parameters for creating or updating a vault */ +export interface VaultCreateOrUpdateParameters { + /** The supported Azure location where the key vault should be created. */ + location: string; + /** The tags that will be assigned to the key vault. */ + tags?: { [propertyName: string]: string }; + /** Properties of the vault */ + properties: VaultProperties; +} + +/** Properties of the vault */ export interface VaultProperties { - /** - * The Azure Active Directory tenant ID that should be used for authenticating requests to the - * key vault. - */ + /** The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. */ tenantId: string; - /** - * SKU details - */ + /** SKU details */ sku: Sku; - /** - * An array of 0 to 16 identities that have access to the key vault. All identities in the array - * must use the same tenant ID as the key vault's tenant ID. When `createMode` is set to - * `recover`, access policies are not required. Otherwise, access policies are required. - */ + /** An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required. */ accessPolicies?: AccessPolicyEntry[]; - /** - * The URI of the vault for performing operations on keys and secrets. - */ + /** The URI of the vault for performing operations on keys and secrets. */ vaultUri?: string; /** - * Property to specify whether Azure Virtual Machines are permitted to retrieve certificates - * stored as secrets from the key vault. + * The resource id of HSM Pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly hsmPoolResourceId?: string; + /** Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault. */ enabledForDeployment?: boolean; - /** - * Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the - * vault and unwrap keys. - */ + /** Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys. */ enabledForDiskEncryption?: boolean; - /** - * Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the - * key vault. - */ + /** Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault. */ enabledForTemplateDeployment?: boolean; - /** - * Property to specify whether the 'soft delete' functionality is enabled for this key vault. It - * does not accept false value. - */ + /** Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it cannot be reverted to false. */ enableSoftDelete?: boolean; - /** - * The vault's create mode to indicate whether the vault need to be recovered or not. Possible - * values include: 'recover', 'default' - */ + /** softDelete data retention days. It accepts >=7 and <=90. */ + softDeleteRetentionInDays?: number; + /** Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored (warning: this is a preview feature). When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC. */ + enableRbacAuthorization?: boolean; + /** The vault's create mode to indicate whether the vault need to be recovered or not. */ createMode?: CreateMode; - /** - * Property specifying whether protection against purge is enabled for this vault. Setting this - * property to true activates protection against purge for this vault and its content - only the - * Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only - * if soft delete is also enabled. Enabling this functionality is irreversible - that is, the - * property does not accept false as its value. - */ + /** Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value. */ enablePurgeProtection?: boolean; + /** Rules governing the accessibility of the key vault from specific network locations. */ + networkAcls?: NetworkRuleSet; + /** Provisioning state of the vault. */ + provisioningState?: VaultProvisioningState; /** - * A collection of rules governing the accessibility of the vault from specific network - * locations. + * List of private endpoint connections associated with the key vault. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - networkAcls?: NetworkRuleSet; + readonly privateEndpointConnections?: PrivateEndpointConnectionItem[]; + /** Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules. */ + publicNetworkAccess?: string; } -/** - * Properties of the vault - */ -export interface VaultPatchProperties { +/** SKU details */ +export interface Sku { + /** SKU family name */ + family: SkuFamily; + /** SKU name to specify whether the key vault is a standard vault or a premium vault. */ + name: SkuName; +} + +/** An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. */ +export interface AccessPolicyEntry { + /** The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. */ + tenantId: string; + /** The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies. */ + objectId: string; + /** Application ID of the client making request on behalf of a principal */ + applicationId?: string; + /** Permissions the identity has for keys, secrets and certificates. */ + permissions: Permissions; +} + +/** Permissions the identity has for keys, secrets, certificates and storage. */ +export interface Permissions { + /** Permissions to keys */ + keys?: KeyPermissions[]; + /** Permissions to secrets */ + secrets?: SecretPermissions[]; + /** Permissions to certificates */ + certificates?: CertificatePermissions[]; + /** Permissions to storage accounts */ + storage?: StoragePermissions[]; +} + +/** A set of rules governing the network accessibility of a vault. */ +export interface NetworkRuleSet { + /** Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'. */ + bypass?: NetworkRuleBypassOptions; + /** The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated. */ + defaultAction?: NetworkRuleAction; + /** The list of IP address rules. */ + ipRules?: IPRule[]; + /** The list of virtual network rules. */ + virtualNetworkRules?: VirtualNetworkRule[]; +} + +/** A rule governing the accessibility of a vault from a specific ip address or ip range. */ +export interface IPRule { + /** An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78). */ + value: string; +} + +/** A rule governing the accessibility of a vault from a specific virtual network. */ +export interface VirtualNetworkRule { + /** Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. */ + id: string; + /** Property to specify whether NRP will ignore the check if parent subnet has serviceEndpoints configured. */ + ignoreMissingVnetServiceEndpoint?: boolean; +} + +/** Private endpoint connection item. */ +export interface PrivateEndpointConnectionItem { + /** Id of private endpoint connection. */ + id?: string; + /** Modified whenever there is a change in the state of private endpoint connection. */ + etag?: string; + /** Properties of the private endpoint object. */ + privateEndpoint?: PrivateEndpoint; + /** Approval state of the private link connection. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + /** Provisioning state of the private endpoint connection. */ + provisioningState?: PrivateEndpointConnectionProvisioningState; +} + +/** Private endpoint object properties. */ +export interface PrivateEndpoint { /** - * The Azure Active Directory tenant ID that should be used for authenticating requests to the - * key vault. + * Full identifier of the private endpoint resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tenantId?: string; + readonly id?: string; +} + +/** An object that represents the approval state of the private link connection. */ +export interface PrivateLinkServiceConnectionState { + /** Indicates whether the connection has been approved, rejected or removed by the key vault owner. */ + status?: PrivateEndpointServiceConnectionStatus; + /** The reason for approval or rejection. */ + description?: string; + /** A message indicating if changes on the service provider require any updates on the consumer. */ + actionsRequired?: ActionsRequired; +} + +/** Resource information with extended details. */ +export interface Vault { /** - * SKU details + * Fully qualified identifier of the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sku?: Sku; + readonly id?: string; /** - * An array of 0 to 16 identities that have access to the key vault. All identities in the array - * must use the same tenant ID as the key vault's tenant ID. + * Name of the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - accessPolicies?: AccessPolicyEntry[]; + readonly name?: string; /** - * Property to specify whether Azure Virtual Machines are permitted to retrieve certificates - * stored as secrets from the key vault. + * Resource type of the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - enabledForDeployment?: boolean; + readonly type?: string; + /** Azure location of the key vault resource. */ + location?: string; + /** Tags assigned to the key vault resource. */ + tags?: { [propertyName: string]: string }; /** - * Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the - * vault and unwrap keys. + * System metadata for the key vault. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly systemData?: SystemData; + /** Properties of the vault */ + properties: VaultProperties; +} + +/** Metadata pertaining to creation and last modification of the key vault resource. */ +export interface SystemData { + /** The identity that created the key vault resource. */ + createdBy?: string; + /** The type of identity that created the key vault resource. */ + createdByType?: IdentityType; + /** The timestamp of the key vault resource creation (UTC). */ + createdAt?: Date; + /** The identity that last modified the key vault resource. */ + lastModifiedBy?: string; + /** The type of identity that last modified the key vault resource. */ + lastModifiedByType?: IdentityType; + /** The timestamp of the key vault resource last modification (UTC). */ + lastModifiedAt?: Date; +} + +/** Parameters for creating or updating a vault */ +export interface VaultPatchParameters { + /** The tags that will be assigned to the key vault. */ + tags?: { [propertyName: string]: string }; + /** Properties of the vault */ + properties?: VaultPatchProperties; +} + +/** Properties of the vault */ +export interface VaultPatchProperties { + /** The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. */ + tenantId?: string; + /** SKU details */ + sku?: Sku; + /** An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. */ + accessPolicies?: AccessPolicyEntry[]; + /** Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault. */ + enabledForDeployment?: boolean; + /** Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys. */ enabledForDiskEncryption?: boolean; - /** - * Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the - * key vault. - */ + /** Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault. */ enabledForTemplateDeployment?: boolean; + /** Property to specify whether the 'soft delete' functionality is enabled for this key vault. Once set to true, it cannot be reverted to false. */ + enableSoftDelete?: boolean; + /** Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored (warning: this is a preview feature). When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the value of this property will not change. */ + enableRbacAuthorization?: boolean; + /** softDelete data retention days. It accepts >=7 and <=90. */ + softDeleteRetentionInDays?: number; + /** The vault's create mode to indicate whether the vault need to be recovered or not. */ + createMode?: CreateMode; + /** Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value. */ + enablePurgeProtection?: boolean; + /** A collection of rules governing the accessibility of the vault from specific network locations. */ + networkAcls?: NetworkRuleSet; + /** Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules. */ + publicNetworkAccess?: string; +} + +/** Parameters for updating the access policy in a vault */ +export interface VaultAccessPolicyParameters { /** - * Property to specify whether the 'soft delete' functionality is enabled for this key vault. It - * does not accept false value. + * The resource id of the access policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - enableSoftDelete?: boolean; + readonly id?: string; /** - * The vault's create mode to indicate whether the vault need to be recovered or not. Possible - * values include: 'recover', 'default' + * The resource name of the access policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createMode?: CreateMode; + readonly name?: string; /** - * Property specifying whether protection against purge is enabled for this vault. Setting this - * property to true activates protection against purge for this vault and its content - only the - * Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only - * if soft delete is also enabled. Enabling this functionality is irreversible - that is, the - * property does not accept false as its value. + * The resource name of the access policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - enablePurgeProtection?: boolean; + readonly type?: string; /** - * A collection of rules governing the accessibility of the vault from specific network - * locations. + * The resource type of the access policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - networkAcls?: NetworkRuleSet; + readonly location?: string; + /** Properties of the access policy */ + properties: VaultAccessPolicyProperties; } -/** - * Properties of the vault access policy - */ +/** Properties of the vault access policy */ export interface VaultAccessPolicyProperties { + /** An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. */ + accessPolicies: AccessPolicyEntry[]; +} + +/** List of vaults */ +export interface VaultListResult { + /** The list of vaults. */ + value?: Vault[]; + /** The URL to get the next set of vaults. */ + nextLink?: string; +} + +/** List of vaults */ +export interface DeletedVaultListResult { + /** The list of deleted vaults. */ + value?: DeletedVault[]; + /** The URL to get the next set of deleted vaults. */ + nextLink?: string; +} + +/** Deleted vault information with extended details. */ +export interface DeletedVault { + /** + * The resource ID for the deleted key vault. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; /** - * An array of 0 to 16 identities that have access to the key vault. All identities in the array - * must use the same tenant ID as the key vault's tenant ID. + * The name of the key vault. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - accessPolicies: AccessPolicyEntry[]; + readonly name?: string; + /** + * The resource type of the key vault. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** Properties of the vault */ + properties?: DeletedVaultProperties; } -/** - * Properties of the deleted vault. - */ +/** Properties of the deleted vault. */ export interface DeletedVaultProperties { /** * The resource id of the original vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly vaultId?: string; /** * The location of the original vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly location?: string; /** * The deleted date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly deletionDate?: Date; /** * The scheduled purged date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly scheduledPurgeDate?: Date; /** * Tags of the original vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly tags?: { [propertyName: string]: string }; + /** + * Purge protection status of the original vault. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly purgeProtectionEnabled?: boolean; } -/** - * Parameters for creating or updating a vault - */ -export interface VaultCreateOrUpdateParameters extends BaseResource { +/** List of vault resources. */ +export interface ResourceListResult { + /** The list of vault resources. */ + value?: Resource[]; + /** The URL to get the next set of vault resources. */ + nextLink?: string; +} + +/** The parameters used to check the availability of the vault name. */ +export interface VaultCheckNameAvailabilityParameters { + /** The vault name. */ + name: string; + /** The type of resource, Microsoft.KeyVault/vaults */ + type: "Microsoft.KeyVault/vaults"; +} + +/** The CheckNameAvailability operation response. */ +export interface CheckNameAvailabilityResult { /** - * The supported Azure location where the key vault should be created. + * A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location: string; + readonly nameAvailable?: boolean; /** - * The tags that will be assigned to the key vault. + * The reason that a vault name could not be used. The Reason element is only returned if NameAvailable is false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; + readonly reason?: Reason; /** - * Properties of the vault + * An error message explaining the Reason value in more detail. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - properties: VaultProperties; + readonly message?: string; } -/** - * Parameters for creating or updating a vault - */ -export interface VaultPatchParameters extends BaseResource { - /** - * The tags that will be assigned to the key vault. - */ - tags?: { [propertyName: string]: string }; - /** - * Properties of the vault - */ - properties?: VaultPatchProperties; +/** List of private endpoint connections. */ +export interface PrivateEndpointConnectionListResult { + /** The list of private endpoint connections. */ + value?: PrivateEndpointConnection[]; + /** The URL to get the next set of private endpoint connections. */ + nextLink?: string; } -/** - * Parameters for updating the access policy in a vault - */ -export interface VaultAccessPolicyParameters extends BaseResource { +/** A list of private link resources */ +export interface PrivateLinkResourceListResult { + /** Array of private link resources */ + value?: PrivateLinkResource[]; +} + +/** Managed HSM resource */ +export interface ManagedHsmResource { /** - * The resource id of the access policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Azure Resource Manager resource ID for the managed HSM Pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The resource name of the access policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the managed HSM Pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The resource name of the access policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The resource type of the managed HSM Pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; + /** The supported Azure location where the managed HSM Pool should be created. */ + location?: string; + /** SKU details */ + sku?: ManagedHsmSku; + /** Resource tags */ + tags?: { [propertyName: string]: string }; /** - * The resource type of the access policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly location?: string; - /** - * Properties of the access policy + * Metadata pertaining to creation and last modification of the key vault resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - properties: VaultAccessPolicyProperties; + readonly systemData?: SystemData; } -/** - * Key Vault resource - */ -export interface Resource extends BaseResource { +/** SKU details */ +export interface ManagedHsmSku { + /** SKU Family of the managed HSM Pool */ + family: ManagedHsmSkuFamily; + /** SKU of the managed HSM Pool */ + name: ManagedHsmSkuName; +} + +/** Properties of the managed HSM Pool */ +export interface ManagedHsmProperties { + /** The Azure Active Directory tenant ID that should be used for authenticating requests to the managed HSM pool. */ + tenantId?: string; + /** Array of initial administrators object ids for this managed hsm pool. */ + initialAdminObjectIds?: string[]; /** - * The Azure Resource Manager resource ID for the key vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The URI of the managed hsm pool for performing operations on keys. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly hsmUri?: string; + /** Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false. */ + enableSoftDelete?: boolean; + /** softDelete data retention days. It accepts >=7 and <=90. */ + softDeleteRetentionInDays?: number; + /** Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible. */ + enablePurgeProtection?: boolean; + /** The create mode to indicate whether the resource is being created or is being recovered from a deleted resource. */ + createMode?: CreateMode; /** - * The name of the key vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource Status Message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly statusMessage?: string; /** - * The resource type of the key vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Provisioning state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly provisioningState?: ProvisioningState; + /** Rules governing the accessibility of the key vault from specific network locations. */ + networkAcls?: MhsmNetworkRuleSet; /** - * The supported Azure location where the key vault should be created. + * List of private endpoint connections associated with the managed hsm pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location: string; + readonly privateEndpointConnections?: MhsmPrivateEndpointConnectionItem[]; + /** Control permission for data plane traffic coming from public networks while private endpoint is enabled. */ + publicNetworkAccess?: PublicNetworkAccess; /** - * The tags that will be assigned to the key vault. + * The scheduled purge date in UTC. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; + readonly scheduledPurgeDate?: Date; } -/** - * Resource information with extended details. - */ -export interface Vault extends Resource { +/** A set of rules governing the network accessibility of a managed hsm pool. */ +export interface MhsmNetworkRuleSet { + /** Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'. */ + bypass?: NetworkRuleBypassOptions; + /** The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated. */ + defaultAction?: NetworkRuleAction; + /** The list of IP address rules. */ + ipRules?: MhsmipRule[]; + /** The list of virtual network rules. */ + virtualNetworkRules?: MhsmVirtualNetworkRule[]; +} + +/** A rule governing the accessibility of a managed hsm pool from a specific ip address or ip range. */ +export interface MhsmipRule { + /** An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78). */ + value: string; +} + +/** A rule governing the accessibility of a managed hsm pool from a specific virtual network. */ +export interface MhsmVirtualNetworkRule { + /** Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. */ + id: string; +} + +/** Private endpoint connection item. */ +export interface MhsmPrivateEndpointConnectionItem { + /** Properties of the private endpoint object. */ + privateEndpoint?: MhsmPrivateEndpoint; + /** Approval state of the private link connection. */ + privateLinkServiceConnectionState?: MhsmPrivateLinkServiceConnectionState; + /** Provisioning state of the private endpoint connection. */ + provisioningState?: PrivateEndpointConnectionProvisioningState; +} + +/** Private endpoint object properties. */ +export interface MhsmPrivateEndpoint { /** - * Properties of the vault + * Full identifier of the private endpoint resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - properties: VaultProperties; + readonly id?: string; } -/** - * Deleted vault information with extended details. - */ -export interface DeletedVault { +/** An object that represents the approval state of the private link connection. */ +export interface MhsmPrivateLinkServiceConnectionState { + /** Indicates whether the connection has been approved, rejected or removed by the key vault owner. */ + status?: PrivateEndpointServiceConnectionStatus; + /** The reason for approval or rejection. */ + description?: string; + /** A message indicating if changes on the service provider require any updates on the consumer. */ + actionsRequired?: ActionsRequired; +} + +/** The error exception. */ +export interface ManagedHsmError { /** - * The resource ID for the deleted key vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The server error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly error?: ErrorModel; +} + +/** The server error. */ +export interface ErrorModel { /** - * The name of the key vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly code?: string; /** - * The resource type of the key vault. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly message?: string; /** - * Properties of the vault + * The inner error, contains a more specific error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - properties?: DeletedVaultProperties; + readonly innerError?: ErrorModel; } -/** - * The parameters used to check the availability of the vault name. - */ -export interface VaultCheckNameAvailabilityParameters { - /** - * The vault name. - */ - name: string; +/** List of managed HSM Pools */ +export interface ManagedHsmListResult { + /** The list of managed HSM Pools. */ + value?: ManagedHsm[]; + /** The URL to get the next set of managed HSM Pools. */ + nextLink?: string; } -/** - * The CheckNameAvailability operation response. - */ -export interface CheckNameAvailabilityResult { +/** List of private endpoint connections associated with a managed HSM Pools */ +export interface MhsmPrivateEndpointConnectionsListResult { + /** The private endpoint connection associated with a managed HSM Pools. */ + value?: MhsmPrivateEndpointConnection[]; + /** The URL to get the next set of managed HSM Pools. */ + nextLink?: string; +} + +/** List of deleted managed HSM Pools */ +export interface DeletedManagedHsmListResult { + /** The list of deleted managed HSM Pools. */ + value?: DeletedManagedHsm[]; + /** The URL to get the next set of deleted managed HSM Pools. */ + nextLink?: string; +} + +export interface DeletedManagedHsm { /** - * A boolean value that indicates whether the name is available for you to use. If true, the name - * is available. If false, the name has already been taken or is invalid and cannot be used. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Azure Resource Manager resource ID for the deleted managed HSM Pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nameAvailable?: boolean; + readonly id?: string; /** - * The reason that a vault name could not be used. The Reason element is only returned if - * NameAvailable is false. Possible values include: 'AccountNameInvalid', 'AlreadyExists' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the managed HSM Pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly reason?: Reason; + readonly name?: string; /** - * An error message explaining the Reason value in more detail. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The resource type of the managed HSM Pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly type?: string; + /** Properties of the deleted managed HSM */ + properties?: DeletedManagedHsmProperties; } -/** - * Display metadata associated with the operation. - */ -export interface OperationDisplay { +/** Properties of the deleted managed HSM. */ +export interface DeletedManagedHsmProperties { /** - * Service provider: Microsoft Key Vault. + * The resource id of the original managed HSM. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - provider?: string; + readonly mhsmId?: string; /** - * Resource on which the operation is performed etc. + * The location of the original managed HSM. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - resource?: string; + readonly location?: string; /** - * Type of operation: get, read, delete, etc. + * The deleted date. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - operation?: string; + readonly deletionDate?: Date; /** - * Description of operation. + * The scheduled purged date. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly scheduledPurgeDate?: Date; + /** + * Purge protection status of the original managed HSM. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly purgeProtectionEnabled?: boolean; + /** + * Tags of the original managed HSM. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tags?: { [propertyName: string]: string }; +} + +/** A list of private link resources */ +export interface MhsmPrivateLinkResourceListResult { + /** Array of private link resources */ + value?: MhsmPrivateLinkResource[]; +} + +/** Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results. */ +export interface OperationListResult { + /** List of Storage operations supported by the Storage resource provider. */ + value?: Operation[]; + /** The URL to get the next set of operations. */ + nextLink?: string; +} + +/** Key Vault REST API operation definition. */ +export interface Operation { + /** Operation name: {provider}/{resource}/{operation} */ + name?: string; + /** Display metadata associated with the operation. */ + display?: OperationDisplay; + /** The origin of operations. */ + origin?: string; + /** Property to specify whether the action is a data action. */ + isDataAction?: boolean; + /** One property of operation, include metric specifications. */ + serviceSpecification?: ServiceSpecification; +} + +/** Display metadata associated with the operation. */ +export interface OperationDisplay { + /** Service provider: Microsoft Key Vault. */ + provider?: string; + /** Resource on which the operation is performed etc. */ + resource?: string; + /** Type of operation: get, read, delete, etc. */ + operation?: string; + /** Description of operation. */ description?: string; } -/** - * Log specification of operation. - */ +/** One property of operation, include log specifications. */ +export interface ServiceSpecification { + /** Log specifications of operation. */ + logSpecifications?: LogSpecification[]; + /** Metric specifications of operation. */ + metricSpecifications?: MetricSpecification[]; +} + +/** Log specification of operation. */ export interface LogSpecification { - /** - * Name of log specification. - */ + /** Name of log specification. */ + name?: string; + /** Display name of log specification. */ + displayName?: string; + /** Blob duration of specification. */ + blobDuration?: string; +} + +/** Metric specification of operation. */ +export interface MetricSpecification { + /** Name of metric specification. */ + name?: string; + /** Display name of metric specification. */ + displayName?: string; + /** Display description of metric specification. */ + displayDescription?: string; + /** The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'. */ + unit?: string; + /** The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'. */ + aggregationType?: string; + /** The supported aggregation types for the metrics. */ + supportedAggregationTypes?: string[]; + /** The supported time grain types for the metrics. */ + supportedTimeGrainTypes?: string[]; + /** The metric lock aggregation type. */ + lockAggregationType?: string; + /** The dimensions of metric */ + dimensions?: DimensionProperties[]; + /** Property to specify whether to fill gap with zero. */ + fillGapWithZero?: boolean; + /** The internal metric name. */ + internalMetricName?: string; +} + +/** Type of operation: get, read, delete, etc. */ +export interface DimensionProperties { + /** Name of dimension. */ name?: string; + /** Display name of dimension. */ + displayName?: string; + /** Property to specify whether the dimension should be exported for Shoebox. */ + toBeExportedForShoebox?: boolean; +} + +/** Parameters for creating or updating a secret */ +export interface SecretCreateOrUpdateParameters { + /** The tags that will be assigned to the secret. */ + tags?: { [propertyName: string]: string }; + /** Properties of the secret */ + properties: SecretProperties; +} + +/** Properties of the secret */ +export interface SecretProperties { + /** The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets. */ + value?: string; + /** The content type of the secret. */ + contentType?: string; + /** The attributes of the secret. */ + attributes?: SecretAttributes; /** - * Display name of log specification. + * The URI to retrieve the current version of the secret. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - displayName?: string; + readonly secretUri?: string; /** - * Blob duration of specification. + * The URI to retrieve the specific version of the secret. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - blobDuration?: string; + readonly secretUriWithVersion?: string; } -/** - * One property of operation, include log specifications. - */ -export interface ServiceSpecification { +/** The object attributes managed by the KeyVault service. */ +export interface Attributes { + /** Determines whether the object is enabled. */ + enabled?: boolean; + /** Not before date in seconds since 1970-01-01T00:00:00Z. */ + notBefore?: Date; + /** Expiry date in seconds since 1970-01-01T00:00:00Z. */ + expires?: Date; /** - * Log specifications of operation. + * Creation time in seconds since 1970-01-01T00:00:00Z. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - logSpecifications?: LogSpecification[]; + readonly created?: Date; + /** + * Last updated time in seconds since 1970-01-01T00:00:00Z. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly updated?: Date; } -/** - * Key Vault REST API operation definition. - */ -export interface Operation { +/** Parameters for patching a secret */ +export interface SecretPatchParameters { + /** The tags that will be assigned to the secret. */ + tags?: { [propertyName: string]: string }; + /** Properties of the secret */ + properties?: SecretPatchProperties; +} + +/** Properties of the secret */ +export interface SecretPatchProperties { + /** The value of the secret. */ + value?: string; + /** The content type of the secret. */ + contentType?: string; + /** The attributes of the secret. */ + attributes?: SecretAttributes; +} + +/** List of secrets */ +export interface SecretListResult { + /** The list of secrets. */ + value?: Secret[]; + /** The URL to get the next set of secrets. */ + nextLink?: string; +} + +/** The key resource. */ +export type Key = Resource & { + /** The attributes of the key. */ + attributes?: KeyAttributes; + /** The type of the key. For valid values, see JsonWebKeyType. */ + kty?: JsonWebKeyType; + keyOps?: JsonWebKeyOperation[]; + /** The key size in bits. For example: 2048, 3072, or 4096 for RSA. */ + keySize?: number; + /** The elliptic curve name. For valid values, see JsonWebKeyCurveName. */ + curveName?: JsonWebKeyCurveName; + /** + * The URI to retrieve the current version of the key. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly keyUri?: string; + /** + * The URI to retrieve the specific version of the key. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly keyUriWithVersion?: string; + /** Key rotation policy in response. It will be used for both output and input. Omitted if empty */ + rotationPolicy?: RotationPolicy; +}; + +/** Private endpoint connection resource. */ +export type PrivateEndpointConnection = Resource & { + /** Modified whenever there is a change in the state of private endpoint connection. */ + etag?: string; + /** Properties of the private endpoint object. */ + privateEndpoint?: PrivateEndpoint; + /** Approval state of the private link connection. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + /** Provisioning state of the private endpoint connection. */ + provisioningState?: PrivateEndpointConnectionProvisioningState; +}; + +/** A private link resource */ +export type PrivateLinkResource = Resource & { /** - * Operation name: {provider}/{resource}/{operation} + * Group identifier of private link resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name?: string; + readonly groupId?: string; /** - * Display metadata associated with the operation. + * Required member names of private link resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - display?: OperationDisplay; + readonly requiredMembers?: string[]; + /** Required DNS zone names of the the private link resource. */ + requiredZoneNames?: string[]; +}; + +/** Resource information with extended details. */ +export type Secret = Resource & { + /** Properties of the secret */ + properties: SecretProperties; +}; + +/** Resource information with extended details. */ +export type ManagedHsm = ManagedHsmResource & { + /** Properties of the managed HSM */ + properties?: ManagedHsmProperties; +}; + +/** Private endpoint connection resource. */ +export type MhsmPrivateEndpointConnection = ManagedHsmResource & { + /** Modified whenever there is a change in the state of private endpoint connection. */ + etag?: string; + /** Properties of the private endpoint object. */ + privateEndpoint?: MhsmPrivateEndpoint; + /** Approval state of the private link connection. */ + privateLinkServiceConnectionState?: MhsmPrivateLinkServiceConnectionState; + /** Provisioning state of the private endpoint connection. */ + provisioningState?: PrivateEndpointConnectionProvisioningState; +}; + +/** A private link resource */ +export type MhsmPrivateLinkResource = ManagedHsmResource & { /** - * The origin of operations. + * Group identifier of private link resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - origin?: string; + readonly groupId?: string; /** - * One property of operation, include metric specifications. + * Required member names of private link resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serviceSpecification?: ServiceSpecification; + readonly requiredMembers?: string[]; + /** Required DNS zone names of the the private link resource. */ + requiredZoneNames?: string[]; +}; + +/** The secret management attributes. */ +export type SecretAttributes = Attributes & {}; + +/** Defines headers for PrivateEndpointConnections_put operation. */ +export interface PrivateEndpointConnectionsPutHeaders { + /** (specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation. */ + retryAfter?: number; + /** (specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous. */ + azureAsyncOperation?: string; } -/** - * Optional Parameters. - */ -export interface VaultsListByResourceGroupOptionalParams extends msRest.RequestOptionsBase { - /** - * Maximum number of results to return. - */ - top?: number; +/** Defines headers for PrivateEndpointConnections_delete operation. */ +export interface PrivateEndpointConnectionsDeleteHeaders { + /** The recommended number of seconds to wait before calling the URI specified in the location header. */ + retryAfter?: number; + /** The URI to poll for completion status. */ + location?: string; +} + +/** Defines headers for MhsmPrivateEndpointConnections_put operation. */ +export interface MhsmPrivateEndpointConnectionsPutHeaders { + /** (specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation. */ + retryAfter?: number; + /** (specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous. */ + azureAsyncOperation?: string; +} + +/** Defines headers for MhsmPrivateEndpointConnections_delete operation. */ +export interface MhsmPrivateEndpointConnectionsDeleteHeaders { + /** The recommended number of seconds to wait before calling the URI specified in the location header. */ + retryAfter?: number; + /** The URI to poll for completion status. */ + location?: string; +} + +/** Known values of {@link DeletionRecoveryLevel} that the service accepts. */ +export enum KnownDeletionRecoveryLevel { + Purgeable = "Purgeable", + RecoverablePurgeable = "Recoverable+Purgeable", + Recoverable = "Recoverable", + RecoverableProtectedSubscription = "Recoverable+ProtectedSubscription" } /** - * Optional Parameters. + * Defines values for DeletionRecoveryLevel. \ + * {@link KnownDeletionRecoveryLevel} can be used interchangeably with DeletionRecoveryLevel, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Purgeable** \ + * **Recoverable+Purgeable** \ + * **Recoverable** \ + * **Recoverable+ProtectedSubscription** */ -export interface VaultsListBySubscriptionOptionalParams extends msRest.RequestOptionsBase { - /** - * Maximum number of results to return. - */ - top?: number; +export type DeletionRecoveryLevel = string; + +/** Known values of {@link JsonWebKeyType} that the service accepts. */ +export enum KnownJsonWebKeyType { + EC = "EC", + ECHSM = "EC-HSM", + RSA = "RSA", + RSAHSM = "RSA-HSM" } /** - * Optional Parameters. + * Defines values for JsonWebKeyType. \ + * {@link KnownJsonWebKeyType} can be used interchangeably with JsonWebKeyType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **EC** \ + * **EC-HSM** \ + * **RSA** \ + * **RSA-HSM** */ -export interface VaultsListOptionalParams extends msRest.RequestOptionsBase { - /** - * Maximum number of results to return. - */ - top?: number; +export type JsonWebKeyType = string; + +/** Known values of {@link JsonWebKeyOperation} that the service accepts. */ +export enum KnownJsonWebKeyOperation { + Encrypt = "encrypt", + Decrypt = "decrypt", + Sign = "sign", + Verify = "verify", + WrapKey = "wrapKey", + UnwrapKey = "unwrapKey", + Import = "import" } /** - * An interface representing KeyVaultManagementClientOptions. + * Defines values for JsonWebKeyOperation. \ + * {@link KnownJsonWebKeyOperation} can be used interchangeably with JsonWebKeyOperation, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **encrypt** \ + * **decrypt** \ + * **sign** \ + * **verify** \ + * **wrapKey** \ + * **unwrapKey** \ + * **import** */ -export interface KeyVaultManagementClientOptions extends AzureServiceClientOptions { - baseUri?: string; +export type JsonWebKeyOperation = string; + +/** Known values of {@link JsonWebKeyCurveName} that the service accepts. */ +export enum KnownJsonWebKeyCurveName { + P256 = "P-256", + P384 = "P-384", + P521 = "P-521", + P256K = "P-256K" } /** - * @interface - * List of vaults - * @extends Array + * Defines values for JsonWebKeyCurveName. \ + * {@link KnownJsonWebKeyCurveName} can be used interchangeably with JsonWebKeyCurveName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **P-256** \ + * **P-384** \ + * **P-521** \ + * **P-256K** */ -export interface VaultListResult extends Array { - /** - * The URL to get the next set of vaults. - */ - nextLink?: string; +export type JsonWebKeyCurveName = string; + +/** Known values of {@link SkuFamily} that the service accepts. */ +export enum KnownSkuFamily { + A = "A" } /** - * @interface - * List of vaults - * @extends Array + * Defines values for SkuFamily. \ + * {@link KnownSkuFamily} can be used interchangeably with SkuFamily, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **A** */ -export interface DeletedVaultListResult extends Array { - /** - * The URL to get the next set of deleted vaults. - */ - nextLink?: string; +export type SkuFamily = string; + +/** Known values of {@link KeyPermissions} that the service accepts. */ +export enum KnownKeyPermissions { + All = "all", + Encrypt = "encrypt", + Decrypt = "decrypt", + WrapKey = "wrapKey", + UnwrapKey = "unwrapKey", + Sign = "sign", + Verify = "verify", + Get = "get", + List = "list", + Create = "create", + Update = "update", + Import = "import", + Delete = "delete", + Backup = "backup", + Restore = "restore", + Recover = "recover", + Purge = "purge", + Release = "release", + Rotate = "rotate" } /** - * @interface - * List of vault resources. - * @extends Array + * Defines values for KeyPermissions. \ + * {@link KnownKeyPermissions} can be used interchangeably with KeyPermissions, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **all** \ + * **encrypt** \ + * **decrypt** \ + * **wrapKey** \ + * **unwrapKey** \ + * **sign** \ + * **verify** \ + * **get** \ + * **list** \ + * **create** \ + * **update** \ + * **import** \ + * **delete** \ + * **backup** \ + * **restore** \ + * **recover** \ + * **purge** \ + * **release** \ + * **rotate** */ -export interface ResourceListResult extends Array { - /** - * The URL to get the next set of vault resources. - */ - nextLink?: string; +export type KeyPermissions = string; + +/** Known values of {@link SecretPermissions} that the service accepts. */ +export enum KnownSecretPermissions { + All = "all", + Get = "get", + List = "list", + Set = "set", + Delete = "delete", + Backup = "backup", + Restore = "restore", + Recover = "recover", + Purge = "purge" } /** - * @interface - * Result of the request to list Storage operations. It contains a list of operations and a URL - * link to get the next set of results. - * @extends Array + * Defines values for SecretPermissions. \ + * {@link KnownSecretPermissions} can be used interchangeably with SecretPermissions, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **all** \ + * **get** \ + * **list** \ + * **set** \ + * **delete** \ + * **backup** \ + * **restore** \ + * **recover** \ + * **purge** */ -export interface OperationListResult extends Array { - /** - * The URL to get the next set of operations. - */ - nextLink?: string; +export type SecretPermissions = string; + +/** Known values of {@link CertificatePermissions} that the service accepts. */ +export enum KnownCertificatePermissions { + All = "all", + Get = "get", + List = "list", + Delete = "delete", + Create = "create", + Import = "import", + Update = "update", + Managecontacts = "managecontacts", + Getissuers = "getissuers", + Listissuers = "listissuers", + Setissuers = "setissuers", + Deleteissuers = "deleteissuers", + Manageissuers = "manageissuers", + Recover = "recover", + Purge = "purge", + Backup = "backup", + Restore = "restore" } /** - * Defines values for SkuName. - * Possible values include: 'standard', 'premium' - * @readonly - * @enum {string} + * Defines values for CertificatePermissions. \ + * {@link KnownCertificatePermissions} can be used interchangeably with CertificatePermissions, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **all** \ + * **get** \ + * **list** \ + * **delete** \ + * **create** \ + * **import** \ + * **update** \ + * **managecontacts** \ + * **getissuers** \ + * **listissuers** \ + * **setissuers** \ + * **deleteissuers** \ + * **manageissuers** \ + * **recover** \ + * **purge** \ + * **backup** \ + * **restore** */ -export type SkuName = 'standard' | 'premium'; +export type CertificatePermissions = string; + +/** Known values of {@link StoragePermissions} that the service accepts. */ +export enum KnownStoragePermissions { + All = "all", + Get = "get", + List = "list", + Delete = "delete", + Set = "set", + Update = "update", + Regeneratekey = "regeneratekey", + Recover = "recover", + Purge = "purge", + Backup = "backup", + Restore = "restore", + Setsas = "setsas", + Listsas = "listsas", + Getsas = "getsas", + Deletesas = "deletesas" +} /** - * Defines values for KeyPermissions. - * Possible values include: 'encrypt', 'decrypt', 'wrapKey', 'unwrapKey', 'sign', 'verify', 'get', - * 'list', 'create', 'update', 'import', 'delete', 'backup', 'restore', 'recover', 'purge' - * @readonly - * @enum {string} + * Defines values for StoragePermissions. \ + * {@link KnownStoragePermissions} can be used interchangeably with StoragePermissions, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **all** \ + * **get** \ + * **list** \ + * **delete** \ + * **set** \ + * **update** \ + * **regeneratekey** \ + * **recover** \ + * **purge** \ + * **backup** \ + * **restore** \ + * **setsas** \ + * **listsas** \ + * **getsas** \ + * **deletesas** */ -export type KeyPermissions = 'encrypt' | 'decrypt' | 'wrapKey' | 'unwrapKey' | 'sign' | 'verify' | 'get' | 'list' | 'create' | 'update' | 'import' | 'delete' | 'backup' | 'restore' | 'recover' | 'purge'; +export type StoragePermissions = string; + +/** Known values of {@link NetworkRuleBypassOptions} that the service accepts. */ +export enum KnownNetworkRuleBypassOptions { + AzureServices = "AzureServices", + None = "None" +} /** - * Defines values for SecretPermissions. - * Possible values include: 'get', 'list', 'set', 'delete', 'backup', 'restore', 'recover', 'purge' - * @readonly - * @enum {string} + * Defines values for NetworkRuleBypassOptions. \ + * {@link KnownNetworkRuleBypassOptions} can be used interchangeably with NetworkRuleBypassOptions, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AzureServices** \ + * **None** */ -export type SecretPermissions = 'get' | 'list' | 'set' | 'delete' | 'backup' | 'restore' | 'recover' | 'purge'; +export type NetworkRuleBypassOptions = string; + +/** Known values of {@link NetworkRuleAction} that the service accepts. */ +export enum KnownNetworkRuleAction { + Allow = "Allow", + Deny = "Deny" +} /** - * Defines values for CertificatePermissions. - * Possible values include: 'get', 'list', 'delete', 'create', 'import', 'update', - * 'managecontacts', 'getissuers', 'listissuers', 'setissuers', 'deleteissuers', 'manageissuers', - * 'recover', 'purge', 'backup', 'restore' - * @readonly - * @enum {string} + * Defines values for NetworkRuleAction. \ + * {@link KnownNetworkRuleAction} can be used interchangeably with NetworkRuleAction, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Allow** \ + * **Deny** */ -export type CertificatePermissions = 'get' | 'list' | 'delete' | 'create' | 'import' | 'update' | 'managecontacts' | 'getissuers' | 'listissuers' | 'setissuers' | 'deleteissuers' | 'manageissuers' | 'recover' | 'purge' | 'backup' | 'restore'; +export type NetworkRuleAction = string; + +/** Known values of {@link VaultProvisioningState} that the service accepts. */ +export enum KnownVaultProvisioningState { + Succeeded = "Succeeded", + RegisteringDns = "RegisteringDns" +} /** - * Defines values for StoragePermissions. - * Possible values include: 'get', 'list', 'delete', 'set', 'update', 'regeneratekey', 'recover', - * 'purge', 'backup', 'restore', 'setsas', 'listsas', 'getsas', 'deletesas' - * @readonly - * @enum {string} + * Defines values for VaultProvisioningState. \ + * {@link KnownVaultProvisioningState} can be used interchangeably with VaultProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **RegisteringDns** */ -export type StoragePermissions = 'get' | 'list' | 'delete' | 'set' | 'update' | 'regeneratekey' | 'recover' | 'purge' | 'backup' | 'restore' | 'setsas' | 'listsas' | 'getsas' | 'deletesas'; +export type VaultProvisioningState = string; + +/** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ +export enum KnownPrivateEndpointServiceConnectionStatus { + Pending = "Pending", + Approved = "Approved", + Rejected = "Rejected", + Disconnected = "Disconnected" +} /** - * Defines values for CreateMode. - * Possible values include: 'recover', 'default' - * @readonly - * @enum {string} + * Defines values for PrivateEndpointServiceConnectionStatus. \ + * {@link KnownPrivateEndpointServiceConnectionStatus} can be used interchangeably with PrivateEndpointServiceConnectionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pending** \ + * **Approved** \ + * **Rejected** \ + * **Disconnected** */ -export type CreateMode = 'recover' | 'default'; +export type PrivateEndpointServiceConnectionStatus = string; + +/** Known values of {@link ActionsRequired} that the service accepts. */ +export enum KnownActionsRequired { + None = "None" +} /** - * Defines values for NetworkRuleBypassOptions. - * Possible values include: 'AzureServices', 'None' - * @readonly - * @enum {string} + * Defines values for ActionsRequired. \ + * {@link KnownActionsRequired} can be used interchangeably with ActionsRequired, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** */ -export type NetworkRuleBypassOptions = 'AzureServices' | 'None'; +export type ActionsRequired = string; + +/** Known values of {@link PrivateEndpointConnectionProvisioningState} that the service accepts. */ +export enum KnownPrivateEndpointConnectionProvisioningState { + Succeeded = "Succeeded", + Creating = "Creating", + Updating = "Updating", + Deleting = "Deleting", + Failed = "Failed", + Disconnected = "Disconnected" +} /** - * Defines values for NetworkRuleAction. - * Possible values include: 'Allow', 'Deny' - * @readonly - * @enum {string} + * Defines values for PrivateEndpointConnectionProvisioningState. \ + * {@link KnownPrivateEndpointConnectionProvisioningState} can be used interchangeably with PrivateEndpointConnectionProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **Creating** \ + * **Updating** \ + * **Deleting** \ + * **Failed** \ + * **Disconnected** */ -export type NetworkRuleAction = 'Allow' | 'Deny'; +export type PrivateEndpointConnectionProvisioningState = string; + +/** Known values of {@link IdentityType} that the service accepts. */ +export enum KnownIdentityType { + User = "User", + Application = "Application", + ManagedIdentity = "ManagedIdentity", + Key = "Key" +} /** - * Defines values for Reason. - * Possible values include: 'AccountNameInvalid', 'AlreadyExists' - * @readonly - * @enum {string} + * Defines values for IdentityType. \ + * {@link KnownIdentityType} can be used interchangeably with IdentityType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Application** \ + * **ManagedIdentity** \ + * **Key** */ -export type Reason = 'AccountNameInvalid' | 'AlreadyExists'; +export type IdentityType = string; + +/** Known values of {@link ManagedHsmSkuFamily} that the service accepts. */ +export enum KnownManagedHsmSkuFamily { + B = "B" +} /** - * Defines values for AccessPolicyUpdateKind. - * Possible values include: 'add', 'replace', 'remove' - * @readonly - * @enum {string} + * Defines values for ManagedHsmSkuFamily. \ + * {@link KnownManagedHsmSkuFamily} can be used interchangeably with ManagedHsmSkuFamily, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **B** */ -export type AccessPolicyUpdateKind = 'add' | 'replace' | 'remove'; +export type ManagedHsmSkuFamily = string; + +/** Known values of {@link ProvisioningState} that the service accepts. */ +export enum KnownProvisioningState { + /** The managed HSM Pool has been full provisioned. */ + Succeeded = "Succeeded", + /** The managed HSM Pool is currently being provisioned. */ + Provisioning = "Provisioning", + /** Provisioning of the managed HSM Pool has failed. */ + Failed = "Failed", + /** The managed HSM Pool is currently being updated. */ + Updating = "Updating", + /** The managed HSM Pool is currently being deleted. */ + Deleting = "Deleting", + /** The managed HSM pool is ready for normal use. */ + Activated = "Activated", + /** The managed HSM pool is waiting for a security domain restore action. */ + SecurityDomainRestore = "SecurityDomainRestore", + /** The managed HSM pool is being restored from full HSM backup. */ + Restoring = "Restoring" +} /** - * Contains response data for the createOrUpdate operation. + * 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 + * **Succeeded**: The managed HSM Pool has been full provisioned. \ + * **Provisioning**: The managed HSM Pool is currently being provisioned. \ + * **Failed**: Provisioning of the managed HSM Pool has failed. \ + * **Updating**: The managed HSM Pool is currently being updated. \ + * **Deleting**: The managed HSM Pool is currently being deleted. \ + * **Activated**: The managed HSM pool is ready for normal use. \ + * **SecurityDomainRestore**: The managed HSM pool is waiting for a security domain restore action. \ + * **Restoring**: The managed HSM pool is being restored from full HSM backup. */ -export type VaultsCreateOrUpdateResponse = Vault & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type ProvisioningState = string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Vault; - }; -}; +/** Known values of {@link PublicNetworkAccess} that the service accepts. */ +export enum KnownPublicNetworkAccess { + Enabled = "Enabled", + Disabled = "Disabled" +} /** - * Contains response data for the update operation. + * Defines values for PublicNetworkAccess. \ + * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** */ -export type VaultsUpdateResponse = Vault & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type PublicNetworkAccess = string; +/** Defines values for KeyRotationPolicyActionType. */ +export type KeyRotationPolicyActionType = "rotate" | "notify"; +/** Defines values for SkuName. */ +export type SkuName = "standard" | "premium"; +/** Defines values for CreateMode. */ +export type CreateMode = "recover" | "default"; +/** Defines values for AccessPolicyUpdateKind. */ +export type AccessPolicyUpdateKind = "add" | "replace" | "remove"; +/** Defines values for Reason. */ +export type Reason = "AccountNameInvalid" | "AlreadyExists"; +/** Defines values for ManagedHsmSkuName. */ +export type ManagedHsmSkuName = "Standard_B1" | "Custom_B32"; + +/** Optional parameters. */ +export interface KeysCreateIfNotExistOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createIfNotExist operation. */ +export type KeysCreateIfNotExistResponse = Key; + +/** Optional parameters. */ +export interface KeysGetOptionalParams extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type KeysGetResponse = Key; + +/** Optional parameters. */ +export interface KeysListOptionalParams extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type KeysListResponse = KeyListResult; + +/** Optional parameters. */ +export interface KeysGetVersionOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getVersion operation. */ +export type KeysGetVersionResponse = Key; + +/** Optional parameters. */ +export interface KeysListVersionsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listVersions operation. */ +export type KeysListVersionsResponse = KeyListResult; + +/** Optional parameters. */ +export interface KeysListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type KeysListNextResponse = KeyListResult; + +/** Optional parameters. */ +export interface KeysListVersionsNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listVersionsNext operation. */ +export type KeysListVersionsNextResponse = KeyListResult; + +/** Optional parameters. */ +export interface VaultsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Vault; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type VaultsCreateOrUpdateResponse = Vault; -/** - * Contains response data for the get operation. - */ -export type VaultsGetResponse = Vault & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VaultsUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Vault; - }; -}; +/** Contains response data for the update operation. */ +export type VaultsUpdateResponse = Vault; -/** - * Contains response data for the updateAccessPolicy operation. - */ -export type VaultsUpdateAccessPolicyResponse = VaultAccessPolicyParameters & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VaultsDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VaultAccessPolicyParameters; - }; -}; +/** Optional parameters. */ +export interface VaultsGetOptionalParams extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroup operation. - */ -export type VaultsListByResourceGroupResponse = VaultListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type VaultsGetResponse = Vault; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VaultListResult; - }; -}; +/** Optional parameters. */ +export interface VaultsUpdateAccessPolicyOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBySubscription operation. - */ -export type VaultsListBySubscriptionResponse = VaultListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateAccessPolicy operation. */ +export type VaultsUpdateAccessPolicyResponse = VaultAccessPolicyParameters; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VaultListResult; - }; -}; +/** Optional parameters. */ +export interface VaultsListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} -/** - * Contains response data for the listDeleted operation. - */ -export type VaultsListDeletedResponse = DeletedVaultListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroup operation. */ +export type VaultsListByResourceGroupResponse = VaultListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedVaultListResult; - }; -}; +/** Optional parameters. */ +export interface VaultsListBySubscriptionOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} -/** - * Contains response data for the getDeleted operation. - */ -export type VaultsGetDeletedResponse = DeletedVault & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySubscription operation. */ +export type VaultsListBySubscriptionResponse = VaultListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedVault; - }; -}; +/** Optional parameters. */ +export interface VaultsListDeletedOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type VaultsListResponse = ResourceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listDeleted operation. */ +export type VaultsListDeletedResponse = DeletedVaultListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceListResult; - }; -}; +/** Optional parameters. */ +export interface VaultsGetDeletedOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the checkNameAvailability operation. - */ -export type VaultsCheckNameAvailabilityResponse = CheckNameAvailabilityResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getDeleted operation. */ +export type VaultsGetDeletedResponse = DeletedVault; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CheckNameAvailabilityResult; - }; -}; +/** Optional parameters. */ +export interface VaultsPurgeDeletedOptionalParams + extends coreClient.OperationOptions { + /** 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 beginCreateOrUpdate operation. - */ -export type VaultsBeginCreateOrUpdateResponse = Vault & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VaultsListOptionalParams extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Vault; - }; -}; +/** Contains response data for the list operation. */ +export type VaultsListResponse = ResourceListResult; -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type VaultsListByResourceGroupNextResponse = VaultListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VaultsCheckNameAvailabilityOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VaultListResult; - }; -}; +/** Contains response data for the checkNameAvailability operation. */ +export type VaultsCheckNameAvailabilityResponse = CheckNameAvailabilityResult; -/** - * Contains response data for the listBySubscriptionNext operation. - */ -export type VaultsListBySubscriptionNextResponse = VaultListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VaultsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VaultListResult; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type VaultsListByResourceGroupNextResponse = VaultListResult; -/** - * Contains response data for the listDeletedNext operation. - */ -export type VaultsListDeletedNextResponse = DeletedVaultListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VaultsListBySubscriptionNextOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DeletedVaultListResult; - }; -}; +/** Contains response data for the listBySubscriptionNext operation. */ +export type VaultsListBySubscriptionNextResponse = VaultListResult; -/** - * Contains response data for the listNext operation. - */ -export type VaultsListNextResponse = ResourceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VaultsListDeletedNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ResourceListResult; - }; -}; +/** Contains response data for the listDeletedNext operation. */ +export type VaultsListDeletedNextResponse = DeletedVaultListResult; -/** - * Contains response data for the list operation. - */ -export type OperationsListResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VaultsListNextOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; +/** Contains response data for the listNext operation. */ +export type VaultsListNextResponse = ResourceListResult; -/** - * Contains response data for the listNext operation. - */ -export type OperationsListNextResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; +/** Contains response data for the get operation. */ +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsPutOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the put operation. */ +export type PrivateEndpointConnectionsPutResponse = PrivateEndpointConnectionsPutHeaders & + PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 delete operation. */ +export type PrivateEndpointConnectionsDeleteResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByResourceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResource operation. */ +export type PrivateEndpointConnectionsListByResourceResponse = PrivateEndpointConnectionListResult; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByResourceNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceNext operation. */ +export type PrivateEndpointConnectionsListByResourceNextResponse = PrivateEndpointConnectionListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByVaultOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByVault operation. */ +export type PrivateLinkResourcesListByVaultResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface ManagedHsmsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ManagedHsmsCreateOrUpdateResponse = ManagedHsm; + +/** Optional parameters. */ +export interface ManagedHsmsUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ManagedHsmsUpdateResponse = ManagedHsm; + +/** Optional parameters. */ +export interface ManagedHsmsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 ManagedHsmsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ManagedHsmsGetResponse = ManagedHsm; + +/** Optional parameters. */ +export interface ManagedHsmsListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} + +/** Contains response data for the listByResourceGroup operation. */ +export type ManagedHsmsListByResourceGroupResponse = ManagedHsmListResult; + +/** Optional parameters. */ +export interface ManagedHsmsListBySubscriptionOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} + +/** Contains response data for the listBySubscription operation. */ +export type ManagedHsmsListBySubscriptionResponse = ManagedHsmListResult; + +/** Optional parameters. */ +export interface ManagedHsmsListDeletedOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listDeleted operation. */ +export type ManagedHsmsListDeletedResponse = DeletedManagedHsmListResult; + +/** Optional parameters. */ +export interface ManagedHsmsGetDeletedOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getDeleted operation. */ +export type ManagedHsmsGetDeletedResponse = DeletedManagedHsm; + +/** Optional parameters. */ +export interface ManagedHsmsPurgeDeletedOptionalParams + extends coreClient.OperationOptions { + /** 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 ManagedHsmsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} + +/** Contains response data for the listByResourceGroupNext operation. */ +export type ManagedHsmsListByResourceGroupNextResponse = ManagedHsmListResult; + +/** Optional parameters. */ +export interface ManagedHsmsListBySubscriptionNextOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} + +/** Contains response data for the listBySubscriptionNext operation. */ +export type ManagedHsmsListBySubscriptionNextResponse = ManagedHsmListResult; + +/** Optional parameters. */ +export interface ManagedHsmsListDeletedNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listDeletedNext operation. */ +export type ManagedHsmsListDeletedNextResponse = DeletedManagedHsmListResult; + +/** Optional parameters. */ +export interface MhsmPrivateEndpointConnectionsListByResourceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResource operation. */ +export type MhsmPrivateEndpointConnectionsListByResourceResponse = MhsmPrivateEndpointConnectionsListResult; + +/** Optional parameters. */ +export interface MhsmPrivateEndpointConnectionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type MhsmPrivateEndpointConnectionsGetResponse = MhsmPrivateEndpointConnection; + +/** Optional parameters. */ +export interface MhsmPrivateEndpointConnectionsPutOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the put operation. */ +export type MhsmPrivateEndpointConnectionsPutResponse = MhsmPrivateEndpointConnectionsPutHeaders & + MhsmPrivateEndpointConnection; + +/** Optional parameters. */ +export interface MhsmPrivateEndpointConnectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 delete operation. */ +export type MhsmPrivateEndpointConnectionsDeleteResponse = MhsmPrivateEndpointConnection; + +/** Optional parameters. */ +export interface MhsmPrivateEndpointConnectionsListByResourceNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceNext operation. */ +export type MhsmPrivateEndpointConnectionsListByResourceNextResponse = MhsmPrivateEndpointConnectionsListResult; + +/** Optional parameters. */ +export interface MhsmPrivateLinkResourcesListByMhsmResourceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByMhsmResource operation. */ +export type MhsmPrivateLinkResourcesListByMhsmResourceResponse = MhsmPrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface OperationsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type OperationsListResponse = OperationListResult; + +/** Optional parameters. */ +export interface OperationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type OperationsListNextResponse = OperationListResult; + +/** Optional parameters. */ +export interface SecretsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type SecretsCreateOrUpdateResponse = Secret; + +/** Optional parameters. */ +export interface SecretsUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the update operation. */ +export type SecretsUpdateResponse = Secret; + +/** Optional parameters. */ +export interface SecretsGetOptionalParams extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SecretsGetResponse = Secret; + +/** Optional parameters. */ +export interface SecretsListOptionalParams extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} + +/** Contains response data for the list operation. */ +export type SecretsListResponse = SecretListResult; + +/** Optional parameters. */ +export interface SecretsListNextOptionalParams + extends coreClient.OperationOptions { + /** Maximum number of results to return. */ + top?: number; +} + +/** Contains response data for the listNext operation. */ +export type SecretsListNextResponse = SecretListResult; + +/** Optional parameters. */ +export interface KeyVaultManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/keyvault/arm-keyvault/src/models/mappers.ts b/sdk/keyvault/arm-keyvault/src/models/mappers.ts index 1442fb113e16..1ecdce030cbe 100644 --- a/sdk/keyvault/arm-keyvault/src/models/mappers.ts +++ b/sdk/keyvault/arm-keyvault/src/models/mappers.ts @@ -1,77 +1,56 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export const CloudError = CloudErrorMapper; -export const BaseResource = BaseResourceMapper; - -export const Sku: msRest.CompositeMapper = { - serializedName: "Sku", +export const KeyCreateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Sku", + className: "KeyCreateParameters", modelProperties: { - family: { - required: true, - isConstant: true, - serializedName: "family", - defaultValue: 'A', + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - name: { - required: true, - serializedName: "name", + properties: { + serializedName: "properties", type: { - name: "Enum", - allowedValues: [ - "standard", - "premium" - ] + name: "Composite", + className: "KeyProperties" } } } } }; -export const Permissions: msRest.CompositeMapper = { - serializedName: "Permissions", +export const KeyProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Permissions", + className: "KeyProperties", modelProperties: { - keys: { - serializedName: "keys", + attributes: { + serializedName: "attributes", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "KeyAttributes" } }, - secrets: { - serializedName: "secrets", + kty: { + serializedName: "kty", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - certificates: { - serializedName: "certificates", + keyOps: { + serializedName: "keyOps", type: { name: "Sequence", element: { @@ -81,13 +60,111 @@ export const Permissions: msRest.CompositeMapper = { } } }, - storage: { - serializedName: "storage", + keySize: { + serializedName: "keySize", + type: { + name: "Number" + } + }, + curveName: { + serializedName: "curveName", + type: { + name: "String" + } + }, + keyUri: { + serializedName: "keyUri", + readOnly: true, + type: { + name: "String" + } + }, + keyUriWithVersion: { + serializedName: "keyUriWithVersion", + readOnly: true, + type: { + name: "String" + } + }, + rotationPolicy: { + serializedName: "rotationPolicy", + type: { + name: "Composite", + className: "RotationPolicy" + } + } + } + } +}; + +export const KeyAttributes: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "KeyAttributes", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + notBefore: { + serializedName: "nbf", + type: { + name: "Number" + } + }, + expires: { + serializedName: "exp", + type: { + name: "Number" + } + }, + created: { + serializedName: "created", + readOnly: true, + type: { + name: "Number" + } + }, + updated: { + serializedName: "updated", + readOnly: true, + type: { + name: "Number" + } + }, + recoveryLevel: { + serializedName: "recoveryLevel", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RotationPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RotationPolicy", + modelProperties: { + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "KeyRotationPolicyAttributes" + } + }, + lifetimeActions: { + serializedName: "lifetimeActions", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "LifetimeAction" } } } @@ -96,53 +173,71 @@ export const Permissions: msRest.CompositeMapper = { } }; -export const AccessPolicyEntry: msRest.CompositeMapper = { - serializedName: "AccessPolicyEntry", +export const KeyRotationPolicyAttributes: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AccessPolicyEntry", + className: "KeyRotationPolicyAttributes", modelProperties: { - tenantId: { - required: true, - serializedName: "tenantId", + created: { + serializedName: "created", + readOnly: true, type: { - name: "Uuid" + name: "Number" } }, - objectId: { - required: true, - serializedName: "objectId", + updated: { + serializedName: "updated", + readOnly: true, type: { - name: "String" + name: "Number" } }, - applicationId: { - serializedName: "applicationId", + expiryTime: { + serializedName: "expiryTime", type: { - name: "Uuid" + name: "String" + } + } + } + } +}; + +export const LifetimeAction: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LifetimeAction", + modelProperties: { + trigger: { + serializedName: "trigger", + type: { + name: "Composite", + className: "Trigger" } }, - permissions: { - required: true, - serializedName: "permissions", + action: { + serializedName: "action", type: { name: "Composite", - className: "Permissions" + className: "Action" } } } } }; -export const IPRule: msRest.CompositeMapper = { - serializedName: "IPRule", +export const Trigger: coreClient.CompositeMapper = { type: { name: "Composite", - className: "IPRule", + className: "Trigger", modelProperties: { - value: { - required: true, - serializedName: "value", + timeAfterCreate: { + serializedName: "timeAfterCreate", + type: { + name: "String" + } + }, + timeBeforeExpiry: { + serializedName: "timeBeforeExpiry", type: { name: "String" } @@ -151,116 +246,212 @@ export const IPRule: msRest.CompositeMapper = { } }; -export const VirtualNetworkRule: msRest.CompositeMapper = { - serializedName: "VirtualNetworkRule", +export const Action: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VirtualNetworkRule", + className: "Action", modelProperties: { - id: { - required: true, - serializedName: "id", + type: { + serializedName: "type", type: { - name: "String" + name: "Enum", + allowedValues: ["rotate", "notify"] } } } } }; -export const NetworkRuleSet: msRest.CompositeMapper = { - serializedName: "NetworkRuleSet", +export const Resource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkRuleSet", + className: "Resource", modelProperties: { - bypass: { - serializedName: "bypass", + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - defaultAction: { - serializedName: "defaultAction", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - ipRules: { - serializedName: "ipRules", + type: { + serializedName: "type", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "IPRule" - } - } + name: "String" } }, - virtualNetworkRules: { - serializedName: "virtualNetworkRules", + location: { + serializedName: "location", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VirtualNetworkRule" - } - } + name: "String" + } + }, + tags: { + serializedName: "tags", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } } } } } }; -export const VaultProperties: msRest.CompositeMapper = { - serializedName: "VaultProperties", +export const CloudError: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VaultProperties", + className: "CloudError", modelProperties: { - tenantId: { - required: true, - serializedName: "tenantId", + error: { + serializedName: "error", type: { - name: "Uuid" + name: "Composite", + className: "CloudErrorBody" } - }, - sku: { - required: true, - serializedName: "sku", - defaultValue: {}, + } + } + } +}; + +export const CloudErrorBody: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudErrorBody", + modelProperties: { + code: { + serializedName: "code", type: { - name: "Composite", - className: "Sku" + name: "String" } }, - accessPolicies: { - serializedName: "accessPolicies", + message: { + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const KeyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "KeyListResult", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "AccessPolicyEntry" + className: "Key" } } } }, - vaultUri: { - serializedName: "vaultUri", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - enabledForDeployment: { - serializedName: "enabledForDeployment", + } + } + } +}; + +export const VaultCreateOrUpdateParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultCreateOrUpdateParameters", + modelProperties: { + location: { + serializedName: "location", + required: true, type: { - name: "Boolean" + name: "String" } }, - enabledForDiskEncryption: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VaultProperties" + } + } + } + } +}; + +export const VaultProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultProperties", + modelProperties: { + tenantId: { + serializedName: "tenantId", + required: true, + type: { + name: "Uuid" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + accessPolicies: { + serializedName: "accessPolicies", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessPolicyEntry" + } + } + } + }, + vaultUri: { + serializedName: "vaultUri", + type: { + name: "String" + } + }, + hsmPoolResourceId: { + serializedName: "hsmPoolResourceId", + readOnly: true, + type: { + name: "String" + } + }, + enabledForDeployment: { + serializedName: "enabledForDeployment", + type: { + name: "Boolean" + } + }, + enabledForDiskEncryption: { serializedName: "enabledForDiskEncryption", type: { name: "Boolean" @@ -273,19 +464,30 @@ export const VaultProperties: msRest.CompositeMapper = { } }, enableSoftDelete: { + defaultValue: true, serializedName: "enableSoftDelete", type: { name: "Boolean" } }, + softDeleteRetentionInDays: { + defaultValue: 90, + serializedName: "softDeleteRetentionInDays", + type: { + name: "Number" + } + }, + enableRbacAuthorization: { + serializedName: "enableRbacAuthorization", + type: { + name: "Boolean" + } + }, createMode: { serializedName: "createMode", type: { name: "Enum", - allowedValues: [ - "recover", - "default" - ] + allowedValues: ["recover", "default"] } }, enablePurgeProtection: { @@ -294,114 +496,1584 @@ export const VaultProperties: msRest.CompositeMapper = { name: "Boolean" } }, - networkAcls: { - serializedName: "networkAcls", + networkAcls: { + serializedName: "networkAcls", + type: { + name: "Composite", + className: "NetworkRuleSet" + } + }, + provisioningState: { + serializedName: "provisioningState", + type: { + name: "String" + } + }, + privateEndpointConnections: { + serializedName: "privateEndpointConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnectionItem" + } + } + } + }, + publicNetworkAccess: { + defaultValue: "enabled", + serializedName: "publicNetworkAccess", + type: { + name: "String" + } + } + } + } +}; + +export const Sku: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Sku", + modelProperties: { + family: { + serializedName: "family", + required: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + required: true, + type: { + name: "Enum", + allowedValues: ["standard", "premium"] + } + } + } + } +}; + +export const AccessPolicyEntry: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessPolicyEntry", + modelProperties: { + tenantId: { + serializedName: "tenantId", + required: true, + type: { + name: "Uuid" + } + }, + objectId: { + serializedName: "objectId", + required: true, + type: { + name: "String" + } + }, + applicationId: { + serializedName: "applicationId", + type: { + name: "Uuid" + } + }, + permissions: { + serializedName: "permissions", + type: { + name: "Composite", + className: "Permissions" + } + } + } + } +}; + +export const Permissions: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Permissions", + modelProperties: { + keys: { + serializedName: "keys", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + secrets: { + serializedName: "secrets", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + certificates: { + serializedName: "certificates", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + storage: { + serializedName: "storage", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const NetworkRuleSet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkRuleSet", + modelProperties: { + bypass: { + serializedName: "bypass", + type: { + name: "String" + } + }, + defaultAction: { + serializedName: "defaultAction", + type: { + name: "String" + } + }, + ipRules: { + serializedName: "ipRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IPRule" + } + } + } + }, + virtualNetworkRules: { + serializedName: "virtualNetworkRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetworkRule" + } + } + } + } + } + } +}; + +export const IPRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IPRule", + modelProperties: { + value: { + serializedName: "value", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkRule", + modelProperties: { + id: { + serializedName: "id", + required: true, + type: { + name: "String" + } + }, + ignoreMissingVnetServiceEndpoint: { + serializedName: "ignoreMissingVnetServiceEndpoint", + type: { + name: "Boolean" + } + } + } + } +}; + +export const PrivateEndpointConnectionItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionItem", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + etag: { + serializedName: "etag", + type: { + name: "String" + } + }, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpoint" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpoint", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + actionsRequired: { + serializedName: "actionsRequired", + type: { + name: "String" + } + } + } + } +}; + +export const Vault: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Vault", + 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" + } + }, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VaultProperties" + } + } + } + } +}; + +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 VaultPatchParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultPatchParameters", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VaultPatchProperties" + } + } + } + } +}; + +export const VaultPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultPatchProperties", + modelProperties: { + tenantId: { + serializedName: "tenantId", + type: { + name: "Uuid" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + accessPolicies: { + serializedName: "accessPolicies", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessPolicyEntry" + } + } + } + }, + enabledForDeployment: { + serializedName: "enabledForDeployment", + type: { + name: "Boolean" + } + }, + enabledForDiskEncryption: { + serializedName: "enabledForDiskEncryption", + type: { + name: "Boolean" + } + }, + enabledForTemplateDeployment: { + serializedName: "enabledForTemplateDeployment", + type: { + name: "Boolean" + } + }, + enableSoftDelete: { + serializedName: "enableSoftDelete", + type: { + name: "Boolean" + } + }, + enableRbacAuthorization: { + serializedName: "enableRbacAuthorization", + type: { + name: "Boolean" + } + }, + softDeleteRetentionInDays: { + serializedName: "softDeleteRetentionInDays", + type: { + name: "Number" + } + }, + createMode: { + serializedName: "createMode", + type: { + name: "Enum", + allowedValues: ["recover", "default"] + } + }, + enablePurgeProtection: { + serializedName: "enablePurgeProtection", + type: { + name: "Boolean" + } + }, + networkAcls: { + serializedName: "networkAcls", + type: { + name: "Composite", + className: "NetworkRuleSet" + } + }, + publicNetworkAccess: { + serializedName: "publicNetworkAccess", + type: { + name: "String" + } + } + } + } +}; + +export const VaultAccessPolicyParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultAccessPolicyParameters", + 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" + } + }, + location: { + serializedName: "location", + readOnly: true, + type: { + name: "String" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VaultAccessPolicyProperties" + } + } + } + } +}; + +export const VaultAccessPolicyProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultAccessPolicyProperties", + modelProperties: { + accessPolicies: { + serializedName: "accessPolicies", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessPolicyEntry" + } + } + } + } + } + } +}; + +export const VaultListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Vault" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedVaultListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DeletedVaultListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedVault" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedVault: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DeletedVault", + 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" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "DeletedVaultProperties" + } + } + } + } +}; + +export const DeletedVaultProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DeletedVaultProperties", + modelProperties: { + vaultId: { + serializedName: "vaultId", + readOnly: true, + type: { + name: "String" + } + }, + location: { + serializedName: "location", + readOnly: true, + type: { + name: "String" + } + }, + deletionDate: { + serializedName: "deletionDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + scheduledPurgeDate: { + serializedName: "scheduledPurgeDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + tags: { + serializedName: "tags", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + purgeProtectionEnabled: { + serializedName: "purgeProtectionEnabled", + readOnly: true, + type: { + name: "Boolean" + } + } + } + } +}; + +export const ResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Resource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VaultCheckNameAvailabilityParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultCheckNameAvailabilityParameters", + modelProperties: { + name: { + serializedName: "name", + required: true, + type: { + name: "String" + } + }, + type: { + defaultValue: "Microsoft.KeyVault/vaults", + isConstant: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const CheckNameAvailabilityResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CheckNameAvailabilityResult", + modelProperties: { + nameAvailable: { + serializedName: "nameAvailable", + readOnly: true, + type: { + name: "Boolean" + } + }, + reason: { + serializedName: "reason", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["AccountNameInvalid", "AlreadyExists"] + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnectionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } + } + } + } + } +}; + +export const ManagedHsmResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmResource", + 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" + } + }, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "ManagedHsmSku" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + } + } + } +}; + +export const ManagedHsmSku: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmSku", + modelProperties: { + family: { + serializedName: "family", + required: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + required: true, + type: { + name: "Enum", + allowedValues: ["Standard_B1", "Custom_B32"] + } + } + } + } +}; + +export const ManagedHsmProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmProperties", + modelProperties: { + tenantId: { + serializedName: "tenantId", + type: { + name: "Uuid" + } + }, + initialAdminObjectIds: { + serializedName: "initialAdminObjectIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + hsmUri: { + serializedName: "hsmUri", + readOnly: true, + type: { + name: "String" + } + }, + enableSoftDelete: { + defaultValue: true, + serializedName: "enableSoftDelete", + type: { + name: "Boolean" + } + }, + softDeleteRetentionInDays: { + defaultValue: 90, + serializedName: "softDeleteRetentionInDays", + type: { + name: "Number" + } + }, + enablePurgeProtection: { + defaultValue: true, + serializedName: "enablePurgeProtection", + type: { + name: "Boolean" + } + }, + createMode: { + serializedName: "createMode", + type: { + name: "Enum", + allowedValues: ["recover", "default"] + } + }, + statusMessage: { + serializedName: "statusMessage", + readOnly: true, + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + networkAcls: { + serializedName: "networkAcls", + type: { + name: "Composite", + className: "MhsmNetworkRuleSet" + } + }, + privateEndpointConnections: { + serializedName: "privateEndpointConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MhsmPrivateEndpointConnectionItem" + } + } + } + }, + publicNetworkAccess: { + serializedName: "publicNetworkAccess", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + serializedName: "scheduledPurgeDate", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const MhsmNetworkRuleSet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmNetworkRuleSet", + modelProperties: { + bypass: { + serializedName: "bypass", + type: { + name: "String" + } + }, + defaultAction: { + serializedName: "defaultAction", + type: { + name: "String" + } + }, + ipRules: { + serializedName: "ipRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MhsmipRule" + } + } + } + }, + virtualNetworkRules: { + serializedName: "virtualNetworkRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MhsmVirtualNetworkRule" + } + } + } + } + } + } +}; + +export const MhsmipRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmipRule", + modelProperties: { + value: { + serializedName: "value", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const MhsmVirtualNetworkRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmVirtualNetworkRule", + modelProperties: { + id: { + serializedName: "id", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const MhsmPrivateEndpointConnectionItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmPrivateEndpointConnectionItem", + modelProperties: { + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "MhsmPrivateEndpoint" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "MhsmPrivateLinkServiceConnectionState" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const MhsmPrivateEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmPrivateEndpoint", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const MhsmPrivateLinkServiceConnectionState: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmPrivateLinkServiceConnectionState", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + actionsRequired: { + serializedName: "actionsRequired", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedHsmError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorModel" + } + } + } + } +}; + +export const ErrorModel: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorModel", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + }, + innerError: { + serializedName: "innererror", + type: { + name: "Composite", + className: "ErrorModel" + } + } + } + } +}; + +export const ManagedHsmListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedHsm" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const MhsmPrivateEndpointConnectionsListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmPrivateEndpointConnectionsListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MhsmPrivateEndpointConnection" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedManagedHsmListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DeletedManagedHsmListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedManagedHsm" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedManagedHsm: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DeletedManagedHsm", + 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" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "DeletedManagedHsmProperties" + } + } + } + } +}; + +export const DeletedManagedHsmProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DeletedManagedHsmProperties", + modelProperties: { + mhsmId: { + serializedName: "mhsmId", + readOnly: true, + type: { + name: "String" + } + }, + location: { + serializedName: "location", + readOnly: true, + type: { + name: "String" + } + }, + deletionDate: { + serializedName: "deletionDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + scheduledPurgeDate: { + serializedName: "scheduledPurgeDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + purgeProtectionEnabled: { + serializedName: "purgeProtectionEnabled", + readOnly: true, + type: { + name: "Boolean" + } + }, + tags: { + serializedName: "tags", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const MhsmPrivateLinkResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmPrivateLinkResourceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MhsmPrivateLinkResource" + } + } + } + } + } + } +}; + +export const OperationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { - name: "Composite", - className: "NetworkRuleSet" + name: "String" } } } } }; -export const VaultPatchProperties: msRest.CompositeMapper = { - serializedName: "VaultPatchProperties", +export const Operation: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VaultPatchProperties", + className: "Operation", modelProperties: { - tenantId: { - serializedName: "tenantId", + name: { + serializedName: "name", type: { - name: "Uuid" + name: "String" } }, - sku: { - serializedName: "sku", + display: { + serializedName: "display", type: { name: "Composite", - className: "Sku" - } - }, - accessPolicies: { - serializedName: "accessPolicies", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AccessPolicyEntry" - } - } + className: "OperationDisplay" } }, - enabledForDeployment: { - serializedName: "enabledForDeployment", + origin: { + serializedName: "origin", type: { - name: "Boolean" + name: "String" } }, - enabledForDiskEncryption: { - serializedName: "enabledForDiskEncryption", + isDataAction: { + serializedName: "isDataAction", type: { name: "Boolean" } }, - enabledForTemplateDeployment: { - serializedName: "enabledForTemplateDeployment", + serviceSpecification: { + serializedName: "properties.serviceSpecification", type: { - name: "Boolean" + name: "Composite", + className: "ServiceSpecification" } - }, - enableSoftDelete: { - serializedName: "enableSoftDelete", + } + } + } +}; + +export const OperationDisplay: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + serializedName: "provider", type: { - name: "Boolean" + name: "String" } }, - createMode: { - serializedName: "createMode", + resource: { + serializedName: "resource", type: { - name: "Enum", - allowedValues: [ - "recover", - "default" - ] + name: "String" } }, - enablePurgeProtection: { - serializedName: "enablePurgeProtection", + operation: { + serializedName: "operation", type: { - name: "Boolean" + name: "String" } }, - networkAcls: { - serializedName: "networkAcls", + description: { + serializedName: "description", type: { - name: "Composite", - className: "NetworkRuleSet" + name: "String" } } } } }; -export const VaultAccessPolicyProperties: msRest.CompositeMapper = { - serializedName: "VaultAccessPolicyProperties", +export const ServiceSpecification: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VaultAccessPolicyProperties", + className: "ServiceSpecification", modelProperties: { - accessPolicies: { - required: true, - serializedName: "accessPolicies", + logSpecifications: { + serializedName: "logSpecifications", type: { name: "Sequence", element: { type: { name: "Composite", - className: "AccessPolicyEntry" + className: "LogSpecification" + } + } + } + }, + metricSpecifications: { + serializedName: "metricSpecifications", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MetricSpecification" } } } @@ -410,292 +2082,327 @@ export const VaultAccessPolicyProperties: msRest.CompositeMapper = { } }; -export const DeletedVaultProperties: msRest.CompositeMapper = { - serializedName: "DeletedVaultProperties", +export const LogSpecification: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DeletedVaultProperties", + className: "LogSpecification", modelProperties: { - vaultId: { - readOnly: true, - serializedName: "vaultId", + name: { + serializedName: "name", type: { name: "String" } }, - location: { - readOnly: true, - serializedName: "location", + displayName: { + serializedName: "displayName", type: { name: "String" } }, - deletionDate: { - readOnly: true, - serializedName: "deletionDate", + blobDuration: { + serializedName: "blobDuration", type: { - name: "DateTime" + name: "String" + } + } + } + } +}; + +export const MetricSpecification: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MetricSpecification", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" } }, - scheduledPurgeDate: { - readOnly: true, - serializedName: "scheduledPurgeDate", + displayName: { + serializedName: "displayName", type: { - name: "DateTime" + name: "String" } }, - tags: { - readOnly: true, - serializedName: "tags", + displayDescription: { + serializedName: "displayDescription", type: { - name: "Dictionary", - value: { + name: "String" + } + }, + unit: { + serializedName: "unit", + type: { + name: "String" + } + }, + aggregationType: { + serializedName: "aggregationType", + type: { + name: "String" + } + }, + supportedAggregationTypes: { + serializedName: "supportedAggregationTypes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + supportedTimeGrainTypes: { + serializedName: "supportedTimeGrainTypes", + type: { + name: "Sequence", + element: { type: { name: "String" } } } + }, + lockAggregationType: { + serializedName: "lockAggregationType", + type: { + name: "String" + } + }, + dimensions: { + serializedName: "dimensions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DimensionProperties" + } + } + } + }, + fillGapWithZero: { + serializedName: "fillGapWithZero", + type: { + name: "Boolean" + } + }, + internalMetricName: { + serializedName: "internalMetricName", + type: { + name: "String" + } } } } }; -export const VaultCreateOrUpdateParameters: msRest.CompositeMapper = { - serializedName: "VaultCreateOrUpdateParameters", +export const DimensionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VaultCreateOrUpdateParameters", + className: "DimensionProperties", modelProperties: { - location: { - required: true, - serializedName: "location", + name: { + serializedName: "name", type: { name: "String" } }, - tags: { - serializedName: "tags", + displayName: { + serializedName: "displayName", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" } }, - properties: { - required: true, - serializedName: "properties", - defaultValue: {}, + toBeExportedForShoebox: { + serializedName: "toBeExportedForShoebox", type: { - name: "Composite", - className: "VaultProperties" + name: "Boolean" } } } } }; -export const VaultPatchParameters: msRest.CompositeMapper = { - serializedName: "VaultPatchParameters", +export const SecretCreateOrUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VaultPatchParameters", + className: "SecretCreateOrUpdateParameters", modelProperties: { tags: { serializedName: "tags", type: { name: "Dictionary", - value: { - type: { - name: "String" - } - } + value: { type: { name: "String" } } } }, properties: { serializedName: "properties", type: { name: "Composite", - className: "VaultPatchProperties" + className: "SecretProperties" } } } } }; -export const VaultAccessPolicyParameters: msRest.CompositeMapper = { - serializedName: "VaultAccessPolicyParameters", +export const SecretProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VaultAccessPolicyParameters", + className: "SecretProperties", modelProperties: { - id: { - readOnly: true, - serializedName: "id", + value: { + serializedName: "value", type: { name: "String" } }, - name: { - readOnly: true, - serializedName: "name", + contentType: { + serializedName: "contentType", type: { name: "String" } }, - type: { - readOnly: true, - serializedName: "type", + attributes: { + serializedName: "attributes", type: { - name: "String" + name: "Composite", + className: "SecretAttributes" } }, - location: { + secretUri: { + serializedName: "secretUri", readOnly: true, - serializedName: "location", type: { name: "String" } }, - properties: { - required: true, - serializedName: "properties", + secretUriWithVersion: { + serializedName: "secretUriWithVersion", + readOnly: true, type: { - name: "Composite", - className: "VaultAccessPolicyProperties" + name: "String" } } } } }; -export const Resource: msRest.CompositeMapper = { - serializedName: "Resource", +export const Attributes: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Resource", + className: "Attributes", modelProperties: { - id: { - readOnly: true, - serializedName: "id", + enabled: { + serializedName: "enabled", type: { - name: "String" + name: "Boolean" } }, - name: { - readOnly: true, - serializedName: "name", + notBefore: { + serializedName: "nbf", type: { - name: "String" + name: "UnixTime" } - }, - type: { - readOnly: true, - serializedName: "type", + }, + expires: { + serializedName: "exp", type: { - name: "String" + name: "UnixTime" } }, - location: { - required: true, - serializedName: "location", + created: { + serializedName: "created", + readOnly: true, type: { - name: "String" + name: "UnixTime" } }, - tags: { - serializedName: "tags", + updated: { + serializedName: "updated", + readOnly: true, type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "UnixTime" } } } } }; -export const Vault: msRest.CompositeMapper = { - serializedName: "Vault", +export const SecretPatchParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Vault", + className: "SecretPatchParameters", modelProperties: { - ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, properties: { - required: true, serializedName: "properties", - defaultValue: {}, type: { name: "Composite", - className: "VaultProperties" + className: "SecretPatchProperties" } } } } }; -export const DeletedVault: msRest.CompositeMapper = { - serializedName: "DeletedVault", +export const SecretPatchProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DeletedVault", + className: "SecretPatchProperties", modelProperties: { - id: { - readOnly: true, - serializedName: "id", - type: { - name: "String" - } - }, - name: { - readOnly: true, - serializedName: "name", + value: { + serializedName: "value", type: { name: "String" } }, - type: { - readOnly: true, - serializedName: "type", + contentType: { + serializedName: "contentType", type: { name: "String" } }, - properties: { - serializedName: "properties", + attributes: { + serializedName: "attributes", type: { name: "Composite", - className: "DeletedVaultProperties" + className: "SecretAttributes" } } } } }; -export const VaultCheckNameAvailabilityParameters: msRest.CompositeMapper = { - serializedName: "VaultCheckNameAvailabilityParameters", +export const SecretListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VaultCheckNameAvailabilityParameters", + className: "SecretListResult", modelProperties: { - name: { - required: true, - serializedName: "name", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Secret" + } + } } }, - type: { - required: true, - isConstant: true, - serializedName: "type", - defaultValue: 'Microsoft.KeyVault/vaults', + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -704,67 +2411,101 @@ export const VaultCheckNameAvailabilityParameters: msRest.CompositeMapper = { } }; -export const CheckNameAvailabilityResult: msRest.CompositeMapper = { - serializedName: "CheckNameAvailabilityResult", +export const Key: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CheckNameAvailabilityResult", + className: "Key", modelProperties: { - nameAvailable: { - readOnly: true, - serializedName: "nameAvailable", + ...Resource.type.modelProperties, + attributes: { + serializedName: "properties.attributes", type: { - name: "Boolean" + name: "Composite", + className: "KeyAttributes" } }, - reason: { + kty: { + serializedName: "properties.kty", + type: { + name: "String" + } + }, + keyOps: { + serializedName: "properties.keyOps", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + keySize: { + serializedName: "properties.keySize", + type: { + name: "Number" + } + }, + curveName: { + serializedName: "properties.curveName", + type: { + name: "String" + } + }, + keyUri: { + serializedName: "properties.keyUri", readOnly: true, - serializedName: "reason", type: { - name: "Enum", - allowedValues: [ - "AccountNameInvalid", - "AlreadyExists" - ] + name: "String" } }, - message: { + keyUriWithVersion: { + serializedName: "properties.keyUriWithVersion", readOnly: true, - serializedName: "message", type: { name: "String" } + }, + rotationPolicy: { + serializedName: "properties.rotationPolicy", + type: { + name: "Composite", + className: "RotationPolicy" + } } } } }; -export const OperationDisplay: msRest.CompositeMapper = { - serializedName: "Operation_display", +export const PrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationDisplay", + className: "PrivateEndpointConnection", modelProperties: { - provider: { - serializedName: "provider", + ...Resource.type.modelProperties, + etag: { + serializedName: "etag", type: { name: "String" } }, - resource: { - serializedName: "resource", + privateEndpoint: { + serializedName: "properties.privateEndpoint", type: { - name: "String" + name: "Composite", + className: "PrivateEndpoint" } }, - operation: { - serializedName: "operation", + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", type: { - name: "String" + name: "Composite", + className: "PrivateLinkServiceConnectionState" } }, - description: { - serializedName: "description", + provisioningState: { + serializedName: "properties.provisioningState", type: { name: "String" } @@ -773,112 +2514,179 @@ export const OperationDisplay: msRest.CompositeMapper = { } }; -export const LogSpecification: msRest.CompositeMapper = { - serializedName: "LogSpecification", +export const PrivateLinkResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LogSpecification", + className: "PrivateLinkResource", modelProperties: { - name: { - serializedName: "name", + ...Resource.type.modelProperties, + groupId: { + serializedName: "properties.groupId", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + requiredMembers: { + serializedName: "properties.requiredMembers", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - blobDuration: { - serializedName: "blobDuration", + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const ServiceSpecification: msRest.CompositeMapper = { - serializedName: "ServiceSpecification", +export const Secret: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceSpecification", + className: "Secret", modelProperties: { - logSpecifications: { - serializedName: "logSpecifications", + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LogSpecification" - } - } + name: "Composite", + className: "SecretProperties" } } } } }; -export const Operation: msRest.CompositeMapper = { - serializedName: "Operation", +export const ManagedHsm: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Operation", + className: "ManagedHsm", modelProperties: { - name: { - serializedName: "name", + ...ManagedHsmResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ManagedHsmProperties" + } + } + } + } +}; + +export const MhsmPrivateEndpointConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MhsmPrivateEndpointConnection", + modelProperties: { + ...ManagedHsmResource.type.modelProperties, + etag: { + serializedName: "etag", type: { name: "String" } }, - display: { - serializedName: "display", + privateEndpoint: { + serializedName: "properties.privateEndpoint", type: { name: "Composite", - className: "OperationDisplay" + className: "MhsmPrivateEndpoint" } }, - origin: { - serializedName: "origin", + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", type: { - name: "String" + name: "Composite", + className: "MhsmPrivateLinkServiceConnectionState" } }, - serviceSpecification: { - serializedName: "properties.serviceSpecification", + provisioningState: { + serializedName: "properties.provisioningState", type: { - name: "Composite", - className: "ServiceSpecification" + name: "String" } } } } }; -export const VaultListResult: msRest.CompositeMapper = { - serializedName: "VaultListResult", +export const MhsmPrivateLinkResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VaultListResult", + className: "MhsmPrivateLinkResource", modelProperties: { - value: { - serializedName: "", + ...ManagedHsmResource.type.modelProperties, + groupId: { + serializedName: "properties.groupId", + readOnly: true, + type: { + name: "String" + } + }, + requiredMembers: { + serializedName: "properties.requiredMembers", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "Vault" + name: "String" } } } }, - nextLink: { - serializedName: "nextLink", + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const SecretAttributes: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecretAttributes", + modelProperties: { + ...Attributes.type.modelProperties + } + } +}; + +export const PrivateEndpointConnectionsPutHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionsPutHeaders", + modelProperties: { + retryAfter: { + serializedName: "retry-after", + type: { + name: "Number" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } @@ -887,26 +2695,19 @@ export const VaultListResult: msRest.CompositeMapper = { } }; -export const DeletedVaultListResult: msRest.CompositeMapper = { - serializedName: "DeletedVaultListResult", +export const PrivateEndpointConnectionsDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DeletedVaultListResult", + className: "PrivateEndpointConnectionsDeleteHeaders", modelProperties: { - value: { - serializedName: "", + retryAfter: { + serializedName: "retry-after", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DeletedVault" - } - } + name: "Number" } }, - nextLink: { - serializedName: "nextLink", + location: { + serializedName: "location", type: { name: "String" } @@ -915,26 +2716,19 @@ export const DeletedVaultListResult: msRest.CompositeMapper = { } }; -export const ResourceListResult: msRest.CompositeMapper = { - serializedName: "ResourceListResult", +export const MhsmPrivateEndpointConnectionsPutHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ResourceListResult", + className: "MhsmPrivateEndpointConnectionsPutHeaders", modelProperties: { - value: { - serializedName: "", + retryAfter: { + serializedName: "retry-after", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Resource" - } - } + name: "Number" } }, - nextLink: { - serializedName: "nextLink", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } @@ -943,26 +2737,19 @@ export const ResourceListResult: msRest.CompositeMapper = { } }; -export const OperationListResult: msRest.CompositeMapper = { - serializedName: "OperationListResult", +export const MhsmPrivateEndpointConnectionsDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationListResult", + className: "MhsmPrivateEndpointConnectionsDeleteHeaders", modelProperties: { - value: { - serializedName: "", + retryAfter: { + serializedName: "retry-after", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Operation" - } - } + name: "Number" } }, - nextLink: { - serializedName: "nextLink", + location: { + serializedName: "location", type: { name: "String" } diff --git a/sdk/keyvault/arm-keyvault/src/models/operationsMappers.ts b/sdk/keyvault/arm-keyvault/src/models/operationsMappers.ts deleted file mode 100644 index 9e480a46a87f..000000000000 --- a/sdk/keyvault/arm-keyvault/src/models/operationsMappers.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - LogSpecification, - Operation, - OperationDisplay, - OperationListResult, - ServiceSpecification -} from "../models/mappers"; diff --git a/sdk/keyvault/arm-keyvault/src/models/parameters.ts b/sdk/keyvault/arm-keyvault/src/models/parameters.ts index df134cdbf885..260f4b45c526 100644 --- a/sdk/keyvault/arm-keyvault/src/models/parameters.ts +++ b/sdk/keyvault/arm-keyvault/src/models/parameters.ts @@ -1,145 +1,312 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + KeyCreateParameters as KeyCreateParametersMapper, + VaultCreateOrUpdateParameters as VaultCreateOrUpdateParametersMapper, + VaultPatchParameters as VaultPatchParametersMapper, + VaultAccessPolicyParameters as VaultAccessPolicyParametersMapper, + VaultCheckNameAvailabilityParameters as VaultCheckNameAvailabilityParametersMapper, + PrivateEndpointConnection as PrivateEndpointConnectionMapper, + ManagedHsm as ManagedHsmMapper, + MhsmPrivateEndpointConnection as MhsmPrivateEndpointConnectionMapper, + SecretCreateOrUpdateParameters as SecretCreateOrUpdateParametersMapper, + SecretPatchParameters as SecretPatchParametersMapper +} from "../models/mappers"; -export const acceptLanguage: msRest.OperationParameter = { - parameterPath: "acceptLanguage", +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], mapper: { - serializedName: "accept-language", - defaultValue: 'en-US', + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", type: { name: "String" } } }; -export const apiVersion0: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const parameters: OperationParameter = { + parameterPath: "parameters", + mapper: KeyCreateParametersMapper +}; + +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: { + serializedName: "subscriptionId", required: true, - serializedName: "api-version", type: { name: "String" } } }; -export const apiVersion1: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", mapper: { + serializedName: "resourceGroupName", required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2015-11-01', type: { name: "String" } } }; -export const filter: msRest.OperationQueryParameter = { - parameterPath: "filter", + +export const vaultName: OperationURLParameter = { + parameterPath: "vaultName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9-]{3,24}$") + }, + serializedName: "vaultName", + required: true, + type: { + name: "String" + } + } +}; + +export const keyName: OperationURLParameter = { + parameterPath: "keyName", mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9-]{1,127}$") + }, + serializedName: "keyName", required: true, + type: { + name: "String" + } + } +}; + +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2021-06-01-preview", isConstant: true, - serializedName: "$filter", - defaultValue: 'resourceType eq \'Microsoft.KeyVault/vaults\'', + serializedName: "api-version", type: { name: "String" } } }; -export const location: msRest.OperationURLParameter = { - parameterPath: "location", + +export const keyVersion: OperationURLParameter = { + parameterPath: "keyVersion", mapper: { + constraints: { + Pattern: new RegExp("^[a-fA-F0-9]{32}$") + }, + serializedName: "keyVersion", required: true, - serializedName: "location", type: { name: "String" } } }; -export const nextPageLink: msRest.OperationURLParameter = { - parameterPath: "nextPageLink", + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", mapper: { - required: true, serializedName: "nextLink", + required: true, type: { name: "String" } }, skipEncoding: true }; -export const operationKind: msRest.OperationURLParameter = { - parameterPath: "operationKind", + +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: VaultCreateOrUpdateParametersMapper +}; + +export const parameters2: OperationParameter = { + parameterPath: "parameters", + mapper: VaultPatchParametersMapper +}; + +export const vaultName1: OperationURLParameter = { + parameterPath: "vaultName", mapper: { + serializedName: "vaultName", required: true, + type: { + name: "String" + } + } +}; + +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: VaultAccessPolicyParametersMapper +}; + +export const operationKind: OperationURLParameter = { + parameterPath: "operationKind", + mapper: { serializedName: "operationKind", + required: true, type: { name: "Enum", - allowedValues: [ - "add", - "replace", - "remove" - ] + allowedValues: ["add", "replace", "remove"] } } }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", + +export const top: OperationQueryParameter = { + parameterPath: ["options", "top"], + mapper: { + serializedName: "$top", + type: { + name: "Number" + } + } +}; + +export const location: OperationURLParameter = { + parameterPath: "location", mapper: { + serializedName: "location", required: true, - serializedName: "resourceGroupName", type: { name: "String" } } }; -export const subscriptionId: msRest.OperationURLParameter = { - parameterPath: "subscriptionId", + +export const filter: OperationQueryParameter = { + parameterPath: "filter", mapper: { - required: true, - serializedName: "subscriptionId", + defaultValue: "resourceType eq 'Microsoft.KeyVault/vaults'", + isConstant: true, + serializedName: "$filter", type: { name: "String" } } }; -export const top: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "top" - ], + +export const apiVersion1: OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { - serializedName: "$top", + defaultValue: "2015-11-01", + isConstant: true, + serializedName: "api-version", type: { - name: "Number" + name: "String" } } }; -export const vaultName0: msRest.OperationURLParameter = { + +export const vaultName2: OperationParameter = { parameterPath: "vaultName", + mapper: VaultCheckNameAvailabilityParametersMapper +}; + +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", mapper: { + serializedName: "privateEndpointConnectionName", required: true, - serializedName: "vaultName", + type: { + name: "String" + } + } +}; + +export const properties: OperationParameter = { + parameterPath: "properties", + mapper: PrivateEndpointConnectionMapper +}; + +export const parameters4: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedHsmMapper +}; + +export const name: OperationURLParameter = { + parameterPath: "name", + mapper: { + serializedName: "name", + required: true, + type: { + name: "String" + } + } +}; + +export const properties1: OperationParameter = { + parameterPath: "properties", + mapper: MhsmPrivateEndpointConnectionMapper +}; + +export const parameters5: OperationParameter = { + parameterPath: "parameters", + mapper: SecretCreateOrUpdateParametersMapper +}; + +export const secretName: OperationURLParameter = { + parameterPath: "secretName", + mapper: { constraints: { - Pattern: /^[a-zA-Z0-9-]{3,24}$/ + Pattern: new RegExp("^[a-zA-Z0-9-]{1,127}$") }, + serializedName: "secretName", + required: true, type: { name: "String" } } }; -export const vaultName1: msRest.OperationURLParameter = { - parameterPath: "vaultName", + +export const parameters6: OperationParameter = { + parameterPath: "parameters", + mapper: SecretPatchParametersMapper +}; + +export const secretName1: OperationURLParameter = { + parameterPath: "secretName", mapper: { + serializedName: "secretName", required: true, - serializedName: "vaultName", type: { name: "String" } diff --git a/sdk/keyvault/arm-keyvault/src/models/vaultsMappers.ts b/sdk/keyvault/arm-keyvault/src/models/vaultsMappers.ts deleted file mode 100644 index 2dece90eaec7..000000000000 --- a/sdk/keyvault/arm-keyvault/src/models/vaultsMappers.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AccessPolicyEntry, - BaseResource, - CheckNameAvailabilityResult, - CloudError, - DeletedVault, - DeletedVaultListResult, - DeletedVaultProperties, - IPRule, - NetworkRuleSet, - Permissions, - Resource, - ResourceListResult, - Sku, - Vault, - VaultAccessPolicyParameters, - VaultAccessPolicyProperties, - VaultCheckNameAvailabilityParameters, - VaultCreateOrUpdateParameters, - VaultListResult, - VaultPatchParameters, - VaultPatchProperties, - VaultProperties, - VirtualNetworkRule -} from "../models/mappers"; diff --git a/sdk/keyvault/arm-keyvault/src/operations/index.ts b/sdk/keyvault/arm-keyvault/src/operations/index.ts index 88c3eb19f212..7134a8453517 100644 --- a/sdk/keyvault/arm-keyvault/src/operations/index.ts +++ b/sdk/keyvault/arm-keyvault/src/operations/index.ts @@ -1,12 +1,17 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ +export * from "./keys"; export * from "./vaults"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; +export * from "./managedHsms"; +export * from "./mhsmPrivateEndpointConnections"; +export * from "./mhsmPrivateLinkResources"; export * from "./operations"; +export * from "./secrets"; diff --git a/sdk/keyvault/arm-keyvault/src/operations/keys.ts b/sdk/keyvault/arm-keyvault/src/operations/keys.ts new file mode 100644 index 000000000000..fbbaea4ccd72 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operations/keys.ts @@ -0,0 +1,490 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Keys } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; +import { + Key, + KeysListNextOptionalParams, + KeysListOptionalParams, + KeysListVersionsNextOptionalParams, + KeysListVersionsOptionalParams, + KeyCreateParameters, + KeysCreateIfNotExistOptionalParams, + KeysCreateIfNotExistResponse, + KeysGetOptionalParams, + KeysGetResponse, + KeysListResponse, + KeysGetVersionOptionalParams, + KeysGetVersionResponse, + KeysListVersionsResponse, + KeysListNextResponse, + KeysListVersionsNextResponse +} from "../models"; + +/// +/** Class representing a Keys. */ +export class KeysImpl implements Keys { + private readonly client: KeyVaultManagementClientContext; + + /** + * Initialize a new instance of the class Keys class. + * @param client Reference to the service client + */ + constructor(client: KeyVaultManagementClientContext) { + this.client = client; + } + + /** + * Lists the keys in the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the keys to be retrieved. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + vaultName: string, + options?: KeysListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, vaultName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, vaultName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + vaultName: string, + options?: KeysListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, vaultName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + vaultName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + vaultName: string, + options?: KeysListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + vaultName, + options + )) { + yield* page; + } + } + + /** + * Lists the versions of the specified key in the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the key versions to be retrieved. + * @param keyName The name of the key versions to be retrieved. + * @param options The options parameters. + */ + public listVersions( + resourceGroupName: string, + vaultName: string, + keyName: string, + options?: KeysListVersionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listVersionsPagingAll( + resourceGroupName, + vaultName, + keyName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listVersionsPagingPage( + resourceGroupName, + vaultName, + keyName, + options + ); + } + }; + } + + private async *listVersionsPagingPage( + resourceGroupName: string, + vaultName: string, + keyName: string, + options?: KeysListVersionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listVersions( + resourceGroupName, + vaultName, + keyName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listVersionsNext( + resourceGroupName, + vaultName, + keyName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listVersionsPagingAll( + resourceGroupName: string, + vaultName: string, + keyName: string, + options?: KeysListVersionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listVersionsPagingPage( + resourceGroupName, + vaultName, + keyName, + options + )) { + yield* page; + } + } + + /** + * Creates the first version of a new key if it does not exist. If it already exists, then the existing + * key is returned without any write operations being performed. This API does not create subsequent + * versions, and does not update existing keys. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the key vault which contains the key to be created. + * @param keyName The name of the key to be created. + * @param parameters The parameters used to create the specified key. + * @param options The options parameters. + */ + createIfNotExist( + resourceGroupName: string, + vaultName: string, + keyName: string, + parameters: KeyCreateParameters, + options?: KeysCreateIfNotExistOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, keyName, parameters, options }, + createIfNotExistOperationSpec + ); + } + + /** + * Gets the current version of the specified key from the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the key to be retrieved. + * @param keyName The name of the key to be retrieved. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + vaultName: string, + keyName: string, + options?: KeysGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, keyName, options }, + getOperationSpec + ); + } + + /** + * Lists the keys in the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the keys to be retrieved. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + vaultName: string, + options?: KeysListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, options }, + listOperationSpec + ); + } + + /** + * Gets the specified version of the specified key in the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the key version to be retrieved. + * @param keyName The name of the key version to be retrieved. + * @param keyVersion The version of the key to be retrieved. + * @param options The options parameters. + */ + getVersion( + resourceGroupName: string, + vaultName: string, + keyName: string, + keyVersion: string, + options?: KeysGetVersionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, keyName, keyVersion, options }, + getVersionOperationSpec + ); + } + + /** + * Lists the versions of the specified key in the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the key versions to be retrieved. + * @param keyName The name of the key versions to be retrieved. + * @param options The options parameters. + */ + private _listVersions( + resourceGroupName: string, + vaultName: string, + keyName: string, + options?: KeysListVersionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, keyName, options }, + listVersionsOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the keys to be retrieved. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + vaultName: string, + nextLink: string, + options?: KeysListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, nextLink, options }, + listNextOperationSpec + ); + } + + /** + * ListVersionsNext + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the key versions to be retrieved. + * @param keyName The name of the key versions to be retrieved. + * @param nextLink The nextLink from the previous successful call to the ListVersions method. + * @param options The options parameters. + */ + private _listVersionsNext( + resourceGroupName: string, + vaultName: string, + keyName: string, + nextLink: string, + options?: KeysListVersionsNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, keyName, nextLink, options }, + listVersionsNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createIfNotExistOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Key + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.keyName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Key + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.keyName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KeyListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getVersionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}/versions/{keyVersion}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Key + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.keyName, + Parameters.keyVersion + ], + headerParameters: [Parameters.accept], + serializer +}; +const listVersionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}/versions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KeyListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.keyName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KeyListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listVersionsNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.KeyListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.keyName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/keyvault/arm-keyvault/src/operations/managedHsms.ts b/sdk/keyvault/arm-keyvault/src/operations/managedHsms.ts new file mode 100644 index 000000000000..04eee94aad20 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operations/managedHsms.ts @@ -0,0 +1,927 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedHsms } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedHsm, + ManagedHsmsListByResourceGroupNextOptionalParams, + ManagedHsmsListByResourceGroupOptionalParams, + ManagedHsmsListBySubscriptionNextOptionalParams, + ManagedHsmsListBySubscriptionOptionalParams, + DeletedManagedHsm, + ManagedHsmsListDeletedNextOptionalParams, + ManagedHsmsListDeletedOptionalParams, + ManagedHsmsCreateOrUpdateOptionalParams, + ManagedHsmsCreateOrUpdateResponse, + ManagedHsmsUpdateOptionalParams, + ManagedHsmsUpdateResponse, + ManagedHsmsDeleteOptionalParams, + ManagedHsmsGetOptionalParams, + ManagedHsmsGetResponse, + ManagedHsmsListByResourceGroupResponse, + ManagedHsmsListBySubscriptionResponse, + ManagedHsmsListDeletedResponse, + ManagedHsmsGetDeletedOptionalParams, + ManagedHsmsGetDeletedResponse, + ManagedHsmsPurgeDeletedOptionalParams, + ManagedHsmsListByResourceGroupNextResponse, + ManagedHsmsListBySubscriptionNextResponse, + ManagedHsmsListDeletedNextResponse +} from "../models"; + +/// +/** Class representing a ManagedHsms. */ +export class ManagedHsmsImpl implements ManagedHsms { + private readonly client: KeyVaultManagementClientContext; + + /** + * Initialize a new instance of the class ManagedHsms class. + * @param client Reference to the service client + */ + constructor(client: KeyVaultManagementClientContext) { + this.client = client; + } + + /** + * The List operation gets information about the managed HSM Pools associated with the subscription and + * within the specified resource group. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: ManagedHsmsListByResourceGroupOptionalParams + ): 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?: ManagedHsmsListByResourceGroupOptionalParams + ): 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?: ManagedHsmsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * The List operation gets information about the managed HSM Pools associated with the subscription. + * @param options The options parameters. + */ + public listBySubscription( + options?: ManagedHsmsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySubscriptionPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySubscriptionPagingPage(options); + } + }; + } + + private async *listBySubscriptionPagingPage( + options?: ManagedHsmsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySubscription(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySubscriptionNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySubscriptionPagingAll( + options?: ManagedHsmsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySubscriptionPagingPage(options)) { + yield* page; + } + } + + /** + * The List operation gets information about the deleted managed HSMs associated with the subscription. + * @param options The options parameters. + */ + public listDeleted( + options?: ManagedHsmsListDeletedOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listDeletedPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listDeletedPagingPage(options); + } + }; + } + + private async *listDeletedPagingPage( + options?: ManagedHsmsListDeletedOptionalParams + ): AsyncIterableIterator { + let result = await this._listDeleted(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listDeletedNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listDeletedPagingAll( + options?: ManagedHsmsListDeletedOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listDeletedPagingPage(options)) { + yield* page; + } + } + + /** + * Create or update a managed HSM Pool in the specified subscription. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param parameters Parameters to create or update the managed HSM Pool + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + name: string, + parameters: ManagedHsm, + options?: ManagedHsmsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedHsmsCreateOrUpdateResponse + > + > { + 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, name, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Create or update a managed HSM Pool in the specified subscription. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param parameters Parameters to create or update the managed HSM Pool + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + name: string, + parameters: ManagedHsm, + options?: ManagedHsmsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + name, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Update a managed HSM Pool in the specified subscription. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param parameters Parameters to patch the managed HSM Pool + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + name: string, + parameters: ManagedHsm, + options?: ManagedHsmsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedHsmsUpdateResponse + > + > { + 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, name, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Update a managed HSM Pool in the specified subscription. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param parameters Parameters to patch the managed HSM Pool + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + name: string, + parameters: ManagedHsm, + options?: ManagedHsmsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + name, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes the specified managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name The name of the managed HSM Pool to delete + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + name: string, + options?: ManagedHsmsDeleteOptionalParams + ): 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, name, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes the specified managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name The name of the managed HSM Pool to delete + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + name: string, + options?: ManagedHsmsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(resourceGroupName, name, options); + return poller.pollUntilDone(); + } + + /** + * Gets the specified managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name The name of the managed HSM Pool. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + options?: ManagedHsmsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + getOperationSpec + ); + } + + /** + * The List operation gets information about the managed HSM Pools associated with the subscription and + * within the specified resource group. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: ManagedHsmsListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * The List operation gets information about the managed HSM Pools associated with the subscription. + * @param options The options parameters. + */ + private _listBySubscription( + options?: ManagedHsmsListBySubscriptionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listBySubscriptionOperationSpec + ); + } + + /** + * The List operation gets information about the deleted managed HSMs associated with the subscription. + * @param options The options parameters. + */ + private _listDeleted( + options?: ManagedHsmsListDeletedOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listDeletedOperationSpec + ); + } + + /** + * Gets the specified deleted managed HSM. + * @param name The name of the deleted managed HSM. + * @param location The location of the deleted managed HSM. + * @param options The options parameters. + */ + getDeleted( + name: string, + location: string, + options?: ManagedHsmsGetDeletedOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { name, location, options }, + getDeletedOperationSpec + ); + } + + /** + * Permanently deletes the specified managed HSM. + * @param name The name of the soft-deleted managed HSM. + * @param location The location of the soft-deleted managed HSM. + * @param options The options parameters. + */ + async beginPurgeDeleted( + name: string, + location: string, + options?: ManagedHsmsPurgeDeletedOptionalParams + ): 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, + { name, location, options }, + purgeDeletedOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Permanently deletes the specified managed HSM. + * @param name The name of the soft-deleted managed HSM. + * @param location The location of the soft-deleted managed HSM. + * @param options The options parameters. + */ + async beginPurgeDeletedAndWait( + name: string, + location: string, + options?: ManagedHsmsPurgeDeletedOptionalParams + ): Promise { + const poller = await this.beginPurgeDeleted(name, location, options); + return poller.pollUntilDone(); + } + + /** + * ListByResourceGroupNext + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @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?: ManagedHsmsListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + + /** + * ListBySubscriptionNext + * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. + * @param options The options parameters. + */ + private _listBySubscriptionNext( + nextLink: string, + options?: ManagedHsmsListBySubscriptionNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listBySubscriptionNextOperationSpec + ); + } + + /** + * ListDeletedNext + * @param nextLink The nextLink from the previous successful call to the ListDeleted method. + * @param options The options parameters. + */ + private _listDeletedNext( + nextLink: string, + options?: ManagedHsmsListDeletedNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listDeletedNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ManagedHsm + }, + 201: { + bodyMapper: Mappers.ManagedHsm + }, + 202: { + bodyMapper: Mappers.ManagedHsm + }, + 204: { + bodyMapper: Mappers.ManagedHsm + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.ManagedHsm + }, + 201: { + bodyMapper: Mappers.ManagedHsm + }, + 202: { + bodyMapper: Mappers.ManagedHsm + }, + 204: { + bodyMapper: Mappers.ManagedHsm + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedHsm + }, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedHsmListResult + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySubscriptionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/managedHSMs", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedHsmListResult + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listDeletedOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedManagedHSMs", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DeletedManagedHsmListResult + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const getDeletedOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DeletedManagedHsm + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const purgeDeletedOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}/purge", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedHsmListResult + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedHsmListResult + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listDeletedNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DeletedManagedHsmListResult + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/keyvault/arm-keyvault/src/operations/mhsmPrivateEndpointConnections.ts b/sdk/keyvault/arm-keyvault/src/operations/mhsmPrivateEndpointConnections.ts new file mode 100644 index 000000000000..8d3f3e8bece2 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operations/mhsmPrivateEndpointConnections.ts @@ -0,0 +1,410 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { MhsmPrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + MhsmPrivateEndpointConnection, + MhsmPrivateEndpointConnectionsListByResourceNextOptionalParams, + MhsmPrivateEndpointConnectionsListByResourceOptionalParams, + MhsmPrivateEndpointConnectionsListByResourceResponse, + MhsmPrivateEndpointConnectionsGetOptionalParams, + MhsmPrivateEndpointConnectionsGetResponse, + MhsmPrivateEndpointConnectionsPutOptionalParams, + MhsmPrivateEndpointConnectionsPutResponse, + MhsmPrivateEndpointConnectionsDeleteOptionalParams, + MhsmPrivateEndpointConnectionsDeleteResponse, + MhsmPrivateEndpointConnectionsListByResourceNextResponse +} from "../models"; + +/// +/** Class representing a MhsmPrivateEndpointConnections. */ +export class MhsmPrivateEndpointConnectionsImpl + implements MhsmPrivateEndpointConnections { + private readonly client: KeyVaultManagementClientContext; + + /** + * Initialize a new instance of the class MhsmPrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: KeyVaultManagementClientContext) { + this.client = client; + } + + /** + * The List operation gets information about the private endpoint connections associated with the + * managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param options The options parameters. + */ + public listByResource( + resourceGroupName: string, + name: string, + options?: MhsmPrivateEndpointConnectionsListByResourceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourcePagingAll(resourceGroupName, name, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourcePagingPage(resourceGroupName, name, options); + } + }; + } + + private async *listByResourcePagingPage( + resourceGroupName: string, + name: string, + options?: MhsmPrivateEndpointConnectionsListByResourceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResource(resourceGroupName, name, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceNext( + resourceGroupName, + name, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourcePagingAll( + resourceGroupName: string, + name: string, + options?: MhsmPrivateEndpointConnectionsListByResourceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourcePagingPage( + resourceGroupName, + name, + options + )) { + yield* page; + } + } + + /** + * The List operation gets information about the private endpoint connections associated with the + * managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param options The options parameters. + */ + private _listByResource( + resourceGroupName: string, + name: string, + options?: MhsmPrivateEndpointConnectionsListByResourceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listByResourceOperationSpec + ); + } + + /** + * Gets the specified private endpoint connection associated with the managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the + * managed hsm pool. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: MhsmPrivateEndpointConnectionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, privateEndpointConnectionName, options }, + getOperationSpec + ); + } + + /** + * Updates the specified private endpoint connection associated with the managed hsm pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the + * managed hsm pool. + * @param properties The intended state of private endpoint connection. + * @param options The options parameters. + */ + put( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + properties: MhsmPrivateEndpointConnection, + options?: MhsmPrivateEndpointConnectionsPutOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + name, + privateEndpointConnectionName, + properties, + options + }, + putOperationSpec + ); + } + + /** + * Deletes the specified private endpoint connection associated with the managed hsm pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the + * managed hsm pool. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: MhsmPrivateEndpointConnectionsDeleteOptionalParams + ): Promise< + PollerLike< + PollOperationState, + MhsmPrivateEndpointConnectionsDeleteResponse + > + > { + 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, name, privateEndpointConnectionName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes the specified private endpoint connection associated with the managed hsm pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the + * managed hsm pool. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: MhsmPrivateEndpointConnectionsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + name, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * ListByResourceNext + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param nextLink The nextLink from the previous successful call to the ListByResource method. + * @param options The options parameters. + */ + private _listByResourceNext( + resourceGroupName: string, + name: string, + nextLink: string, + options?: MhsmPrivateEndpointConnectionsListByResourceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, nextLink, options }, + listByResourceNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByResourceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MhsmPrivateEndpointConnectionsListResult + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MhsmPrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const putOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.MhsmPrivateEndpointConnection, + headersMapper: Mappers.MhsmPrivateEndpointConnectionsPutHeaders + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.properties1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.name + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: { + bodyMapper: Mappers.MhsmPrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.MhsmPrivateEndpointConnection + }, + 202: { + bodyMapper: Mappers.MhsmPrivateEndpointConnection + }, + 204: { + bodyMapper: Mappers.MhsmPrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MhsmPrivateEndpointConnectionsListResult + }, + default: { + bodyMapper: Mappers.ManagedHsmError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/keyvault/arm-keyvault/src/operations/mhsmPrivateLinkResources.ts b/sdk/keyvault/arm-keyvault/src/operations/mhsmPrivateLinkResources.ts new file mode 100644 index 000000000000..a736f1be190e --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operations/mhsmPrivateLinkResources.ts @@ -0,0 +1,72 @@ +/* + * 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 { MhsmPrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; +import { + MhsmPrivateLinkResourcesListByMhsmResourceOptionalParams, + MhsmPrivateLinkResourcesListByMhsmResourceResponse +} from "../models"; + +/** Class representing a MhsmPrivateLinkResources. */ +export class MhsmPrivateLinkResourcesImpl implements MhsmPrivateLinkResources { + private readonly client: KeyVaultManagementClientContext; + + /** + * Initialize a new instance of the class MhsmPrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: KeyVaultManagementClientContext) { + this.client = client; + } + + /** + * Gets the private link resources supported for the managed hsm pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param options The options parameters. + */ + listByMhsmResource( + resourceGroupName: string, + name: string, + options?: MhsmPrivateLinkResourcesListByMhsmResourceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + listByMhsmResourceOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByMhsmResourceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MhsmPrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/keyvault/arm-keyvault/src/operations/operations.ts b/sdk/keyvault/arm-keyvault/src/operations/operations.ts index 56cd43eb33ca..84a4f070d3ab 100644 --- a/sdk/keyvault/arm-keyvault/src/operations/operations.ts +++ b/sdk/keyvault/arm-keyvault/src/operations/operations.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/operationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; +import { + Operation, + OperationsListNextOptionalParams, + OperationsListOptionalParams, + OperationsListResponse, + OperationsListNextResponse +} from "../models"; +/// /** Class representing a Operations. */ -export class Operations { +export class OperationsImpl implements Operations { private readonly client: KeyVaultManagementClientContext; /** - * Create a Operations. - * @param {KeyVaultManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Operations class. + * @param client Reference to the service client */ constructor(client: KeyVaultManagementClientContext) { this.client = client; @@ -28,68 +36,77 @@ export class Operations { /** * Lists all of the available Key Vault Rest API operations. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: OperationsListOptionalParams + ): 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?: OperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Lists all of the available Key Vault Rest API operations. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: OperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: OperationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.KeyVault/operations", httpMethod: "GET", - path: "providers/Microsoft.KeyVault/operations", - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.OperationListResult @@ -98,19 +115,14 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.OperationListResult @@ -119,5 +131,8 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/keyvault/arm-keyvault/src/operations/privateEndpointConnections.ts b/sdk/keyvault/arm-keyvault/src/operations/privateEndpointConnections.ts new file mode 100644 index 000000000000..3dbf3af62d0d --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operations/privateEndpointConnections.ts @@ -0,0 +1,423 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListByResourceNextOptionalParams, + PrivateEndpointConnectionsListByResourceOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsPutOptionalParams, + PrivateEndpointConnectionsPutResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsDeleteResponse, + PrivateEndpointConnectionsListByResourceResponse, + PrivateEndpointConnectionsListByResourceNextResponse +} from "../models"; + +/// +/** Class representing a PrivateEndpointConnections. */ +export class PrivateEndpointConnectionsImpl + implements PrivateEndpointConnections { + private readonly client: KeyVaultManagementClientContext; + + /** + * Initialize a new instance of the class PrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: KeyVaultManagementClientContext) { + this.client = client; + } + + /** + * The List operation gets information about the private endpoint connections associated with the + * vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param options The options parameters. + */ + public listByResource( + resourceGroupName: string, + vaultName: string, + options?: PrivateEndpointConnectionsListByResourceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourcePagingAll( + resourceGroupName, + vaultName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourcePagingPage( + resourceGroupName, + vaultName, + options + ); + } + }; + } + + private async *listByResourcePagingPage( + resourceGroupName: string, + vaultName: string, + options?: PrivateEndpointConnectionsListByResourceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResource( + resourceGroupName, + vaultName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceNext( + resourceGroupName, + vaultName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourcePagingAll( + resourceGroupName: string, + vaultName: string, + options?: PrivateEndpointConnectionsListByResourceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourcePagingPage( + resourceGroupName, + vaultName, + options + )) { + yield* page; + } + } + + /** + * Gets the specified private endpoint connection associated with the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the key + * vault. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + vaultName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, privateEndpointConnectionName, options }, + getOperationSpec + ); + } + + /** + * Updates the specified private endpoint connection associated with the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the key + * vault. + * @param properties The intended state of private endpoint connection. + * @param options The options parameters. + */ + put( + resourceGroupName: string, + vaultName: string, + privateEndpointConnectionName: string, + properties: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsPutOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vaultName, + privateEndpointConnectionName, + properties, + options + }, + putOperationSpec + ); + } + + /** + * Deletes the specified private endpoint connection associated with the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the key + * vault. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + vaultName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsDeleteResponse + > + > { + 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, vaultName, privateEndpointConnectionName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes the specified private endpoint connection associated with the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the key + * vault. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + vaultName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + vaultName, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * The List operation gets information about the private endpoint connections associated with the + * vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param options The options parameters. + */ + private _listByResource( + resourceGroupName: string, + vaultName: string, + options?: PrivateEndpointConnectionsListByResourceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, options }, + listByResourceOperationSpec + ); + } + + /** + * ListByResourceNext + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param nextLink The nextLink from the previous successful call to the ListByResource method. + * @param options The options parameters. + */ + private _listByResourceNext( + resourceGroupName: string, + vaultName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListByResourceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, nextLink, options }, + listByResourceNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const putOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection, + headersMapper: Mappers.PrivateEndpointConnectionsPutHeaders + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.properties, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 202: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 204: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/keyvault/arm-keyvault/src/operations/privateLinkResources.ts b/sdk/keyvault/arm-keyvault/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..cc4c9289f90e --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operations/privateLinkResources.ts @@ -0,0 +1,72 @@ +/* + * 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 { PrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; +import { + PrivateLinkResourcesListByVaultOptionalParams, + PrivateLinkResourcesListByVaultResponse +} from "../models"; + +/** Class representing a PrivateLinkResources. */ +export class PrivateLinkResourcesImpl implements PrivateLinkResources { + private readonly client: KeyVaultManagementClientContext; + + /** + * Initialize a new instance of the class PrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: KeyVaultManagementClientContext) { + this.client = client; + } + + /** + * Gets the private link resources supported for the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param options The options parameters. + */ + listByVault( + resourceGroupName: string, + vaultName: string, + options?: PrivateLinkResourcesListByVaultOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, options }, + listByVaultOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByVaultOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/keyvault/arm-keyvault/src/operations/secrets.ts b/sdk/keyvault/arm-keyvault/src/operations/secrets.ts new file mode 100644 index 000000000000..8cd07ccacc05 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operations/secrets.ts @@ -0,0 +1,334 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Secrets } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; +import { + Secret, + SecretsListNextOptionalParams, + SecretsListOptionalParams, + SecretCreateOrUpdateParameters, + SecretsCreateOrUpdateOptionalParams, + SecretsCreateOrUpdateResponse, + SecretPatchParameters, + SecretsUpdateOptionalParams, + SecretsUpdateResponse, + SecretsGetOptionalParams, + SecretsGetResponse, + SecretsListResponse, + SecretsListNextResponse +} from "../models"; + +/// +/** Class representing a Secrets. */ +export class SecretsImpl implements Secrets { + private readonly client: KeyVaultManagementClientContext; + + /** + * Initialize a new instance of the class Secrets class. + * @param client Reference to the service client + */ + constructor(client: KeyVaultManagementClientContext) { + this.client = client; + } + + /** + * The List operation gets information about the secrets in a vault. NOTE: This API is intended for + * internal use in ARM deployments. Users should use the data-plane REST service for interaction with + * vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + vaultName: string, + options?: SecretsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, vaultName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, vaultName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + vaultName: string, + options?: SecretsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, vaultName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + vaultName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + vaultName: string, + options?: SecretsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + vaultName, + options + )) { + yield* page; + } + } + + /** + * Create or update a secret in a key vault in the specified subscription. NOTE: This API is intended + * for internal use in ARM deployments. Users should use the data-plane REST service for interaction + * with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to create or update the secret + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + vaultName: string, + secretName: string, + parameters: SecretCreateOrUpdateParameters, + options?: SecretsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, secretName, parameters, options }, + createOrUpdateOperationSpec + ); + } + + /** + * Update a secret in the specified subscription. NOTE: This API is intended for internal use in ARM + * deployments. Users should use the data-plane REST service for interaction with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to patch the secret + * @param options The options parameters. + */ + update( + resourceGroupName: string, + vaultName: string, + secretName: string, + parameters: SecretPatchParameters, + options?: SecretsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, secretName, parameters, options }, + updateOperationSpec + ); + } + + /** + * Gets the specified secret. NOTE: This API is intended for internal use in ARM deployments. Users + * should use the data-plane REST service for interaction with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param secretName The name of the secret. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + vaultName: string, + secretName: string, + options?: SecretsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, secretName, options }, + getOperationSpec + ); + } + + /** + * The List operation gets information about the secrets in a vault. NOTE: This API is intended for + * internal use in ARM deployments. Users should use the data-plane REST service for interaction with + * vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + vaultName: string, + options?: SecretsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + vaultName: string, + nextLink: string, + options?: SecretsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, vaultName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Secret + }, + 201: { + bodyMapper: Mappers.Secret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.secretName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.Secret + }, + 201: { + bodyMapper: Mappers.Secret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters6, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName, + Parameters.secretName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Secret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName1, + Parameters.secretName1 + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecretListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vaultName1 + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecretListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.vaultName1 + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/keyvault/arm-keyvault/src/operations/vaults.ts b/sdk/keyvault/arm-keyvault/src/operations/vaults.ts index c6ee4218f7c4..6fd29f29ee6d 100644 --- a/sdk/keyvault/arm-keyvault/src/operations/vaults.ts +++ b/sdk/keyvault/arm-keyvault/src/operations/vaults.ts @@ -1,533 +1,680 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/vaultsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Vaults } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; - +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Vault, + VaultsListByResourceGroupNextOptionalParams, + VaultsListByResourceGroupOptionalParams, + VaultsListBySubscriptionNextOptionalParams, + VaultsListBySubscriptionOptionalParams, + DeletedVault, + VaultsListDeletedNextOptionalParams, + VaultsListDeletedOptionalParams, + Resource, + VaultsListNextOptionalParams, + VaultsListOptionalParams, + VaultCreateOrUpdateParameters, + VaultsCreateOrUpdateOptionalParams, + VaultsCreateOrUpdateResponse, + VaultPatchParameters, + VaultsUpdateOptionalParams, + VaultsUpdateResponse, + VaultsDeleteOptionalParams, + VaultsGetOptionalParams, + VaultsGetResponse, + VaultAccessPolicyParameters, + AccessPolicyUpdateKind, + VaultsUpdateAccessPolicyOptionalParams, + VaultsUpdateAccessPolicyResponse, + VaultsListByResourceGroupResponse, + VaultsListBySubscriptionResponse, + VaultsListDeletedResponse, + VaultsGetDeletedOptionalParams, + VaultsGetDeletedResponse, + VaultsPurgeDeletedOptionalParams, + VaultsListResponse, + VaultCheckNameAvailabilityParameters, + VaultsCheckNameAvailabilityOptionalParams, + VaultsCheckNameAvailabilityResponse, + VaultsListByResourceGroupNextResponse, + VaultsListBySubscriptionNextResponse, + VaultsListDeletedNextResponse, + VaultsListNextResponse +} from "../models"; + +/// /** Class representing a Vaults. */ -export class Vaults { +export class VaultsImpl implements Vaults { private readonly client: KeyVaultManagementClientContext; /** - * Create a Vaults. - * @param {KeyVaultManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Vaults class. + * @param client Reference to the service client */ constructor(client: KeyVaultManagementClientContext) { this.client = client; } + /** + * The List operation gets information about the vaults associated with the subscription and within the + * specified resource group. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: VaultsListByResourceGroupOptionalParams + ): 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?: VaultsListByResourceGroupOptionalParams + ): 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?: VaultsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * The List operation gets information about the vaults associated with the subscription. + * @param options The options parameters. + */ + public listBySubscription( + options?: VaultsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySubscriptionPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySubscriptionPagingPage(options); + } + }; + } + + private async *listBySubscriptionPagingPage( + options?: VaultsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySubscription(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySubscriptionNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySubscriptionPagingAll( + options?: VaultsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySubscriptionPagingPage(options)) { + yield* page; + } + } + + /** + * Gets information about the deleted vaults in a subscription. + * @param options The options parameters. + */ + public listDeleted( + options?: VaultsListDeletedOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listDeletedPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listDeletedPagingPage(options); + } + }; + } + + private async *listDeletedPagingPage( + options?: VaultsListDeletedOptionalParams + ): AsyncIterableIterator { + let result = await this._listDeleted(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listDeletedNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listDeletedPagingAll( + options?: VaultsListDeletedOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listDeletedPagingPage(options)) { + yield* page; + } + } + + /** + * The List operation gets information about the vaults associated with the subscription. + * @param options The options parameters. + */ + public list( + options?: VaultsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: VaultsListOptionalParams + ): 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?: VaultsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** * Create or update a key vault in the specified subscription. * @param resourceGroupName The name of the Resource Group to which the server belongs. * @param vaultName Name of the vault * @param parameters Parameters to create or update the vault - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, vaultName: string, parameters: Models.VaultCreateOrUpdateParameters, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,vaultName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + vaultName: string, + parameters: VaultCreateOrUpdateParameters, + options?: VaultsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VaultsCreateOrUpdateResponse + > + > { + 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, vaultName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Update a key vault in the specified subscription. - * @param resourceGroupName The name of the Resource Group to which the server belongs. - * @param vaultName Name of the vault - * @param parameters Parameters to patch the vault - * @param [options] The optional parameters - * @returns Promise - */ - update(resourceGroupName: string, vaultName: string, parameters: Models.VaultPatchParameters, options?: msRest.RequestOptionsBase): Promise; - /** + * Create or update a key vault in the specified subscription. * @param resourceGroupName The name of the Resource Group to which the server belongs. * @param vaultName Name of the vault - * @param parameters Parameters to patch the vault - * @param callback The callback - */ - update(resourceGroupName: string, vaultName: string, parameters: Models.VaultPatchParameters, callback: msRest.ServiceCallback): void; + * @param parameters Parameters to create or update the vault + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + vaultName: string, + parameters: VaultCreateOrUpdateParameters, + options?: VaultsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + vaultName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** + * Update a key vault in the specified subscription. * @param resourceGroupName The name of the Resource Group to which the server belongs. * @param vaultName Name of the vault * @param parameters Parameters to patch the vault - * @param options The optional parameters - * @param callback The callback - */ - update(resourceGroupName: string, vaultName: string, parameters: Models.VaultPatchParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - update(resourceGroupName: string, vaultName: string, parameters: Models.VaultPatchParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + update( + resourceGroupName: string, + vaultName: string, + parameters: VaultPatchParameters, + options?: VaultsUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - vaultName, - parameters, - options - }, - updateOperationSpec, - callback) as Promise; + { resourceGroupName, vaultName, parameters, options }, + updateOperationSpec + ); } /** * Deletes the specified Azure key vault. * @param resourceGroupName The name of the Resource Group to which the vault belongs. * @param vaultName The name of the vault to delete - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, vaultName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param vaultName The name of the vault to delete - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, vaultName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param vaultName The name of the vault to delete - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, vaultName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, vaultName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + vaultName: string, + options?: VaultsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - vaultName, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, vaultName, options }, + deleteOperationSpec + ); } /** * Gets the specified Azure key vault. * @param resourceGroupName The name of the Resource Group to which the vault belongs. * @param vaultName The name of the vault. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, vaultName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param vaultName The name of the vault. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, vaultName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param vaultName The name of the vault. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, vaultName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, vaultName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + vaultName: string, + options?: VaultsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - vaultName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, vaultName, options }, + getOperationSpec + ); } /** * Update access policies in a key vault in the specified subscription. * @param resourceGroupName The name of the Resource Group to which the vault belongs. * @param vaultName Name of the vault - * @param operationKind Name of the operation. Possible values include: 'add', 'replace', 'remove' - * @param parameters Access policy to merge into the vault - * @param [options] The optional parameters - * @returns Promise - */ - updateAccessPolicy(resourceGroupName: string, vaultName: string, operationKind: Models.AccessPolicyUpdateKind, parameters: Models.VaultAccessPolicyParameters, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param vaultName Name of the vault - * @param operationKind Name of the operation. Possible values include: 'add', 'replace', 'remove' - * @param parameters Access policy to merge into the vault - * @param callback The callback - */ - updateAccessPolicy(resourceGroupName: string, vaultName: string, operationKind: Models.AccessPolicyUpdateKind, parameters: Models.VaultAccessPolicyParameters, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param vaultName Name of the vault - * @param operationKind Name of the operation. Possible values include: 'add', 'replace', 'remove' + * @param operationKind Name of the operation * @param parameters Access policy to merge into the vault - * @param options The optional parameters - * @param callback The callback - */ - updateAccessPolicy(resourceGroupName: string, vaultName: string, operationKind: Models.AccessPolicyUpdateKind, parameters: Models.VaultAccessPolicyParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - updateAccessPolicy(resourceGroupName: string, vaultName: string, operationKind: Models.AccessPolicyUpdateKind, parameters: Models.VaultAccessPolicyParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + updateAccessPolicy( + resourceGroupName: string, + vaultName: string, + operationKind: AccessPolicyUpdateKind, + parameters: VaultAccessPolicyParameters, + options?: VaultsUpdateAccessPolicyOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - vaultName, - operationKind, - parameters, - options - }, - updateAccessPolicyOperationSpec, - callback) as Promise; + { resourceGroupName, vaultName, operationKind, parameters, options }, + updateAccessPolicyOperationSpec + ); } /** - * The List operation gets information about the vaults associated with the subscription and within - * the specified resource group. - * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup(resourceGroupName: string, options?: Models.VaultsListByResourceGroupOptionalParams): Promise; - /** - * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** + * The List operation gets information about the vaults associated with the subscription and within the + * specified resource group. * @param resourceGroupName The name of the Resource Group to which the vault belongs. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, options: Models.VaultsListByResourceGroupOptionalParams, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: Models.VaultsListByResourceGroupOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroup( + resourceGroupName: string, + options?: VaultsListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); } /** * The List operation gets information about the vaults associated with the subscription. - * @param [options] The optional parameters - * @returns Promise - */ - listBySubscription(options?: Models.VaultsListBySubscriptionOptionalParams): Promise; - /** - * @param callback The callback + * @param options The options parameters. */ - listBySubscription(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listBySubscription(options: Models.VaultsListBySubscriptionOptionalParams, callback: msRest.ServiceCallback): void; - listBySubscription(options?: Models.VaultsListBySubscriptionOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySubscription( + options?: VaultsListBySubscriptionOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - options - }, - listBySubscriptionOperationSpec, - callback) as Promise; + { options }, + listBySubscriptionOperationSpec + ); } /** * Gets information about the deleted vaults in a subscription. - * @param [options] The optional parameters - * @returns Promise - */ - listDeleted(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback + * @param options The options parameters. */ - listDeleted(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listDeleted(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listDeleted(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listDeleted( + options?: VaultsListDeletedOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - options - }, - listDeletedOperationSpec, - callback) as Promise; + { options }, + listDeletedOperationSpec + ); } /** * Gets the deleted Azure key vault. * @param vaultName The name of the vault. * @param location The location of the deleted vault. - * @param [options] The optional parameters - * @returns Promise - */ - getDeleted(vaultName: string, location: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param vaultName The name of the vault. - * @param location The location of the deleted vault. - * @param callback The callback - */ - getDeleted(vaultName: string, location: string, callback: msRest.ServiceCallback): void; - /** - * @param vaultName The name of the vault. - * @param location The location of the deleted vault. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getDeleted(vaultName: string, location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getDeleted(vaultName: string, location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + getDeleted( + vaultName: string, + location: string, + options?: VaultsGetDeletedOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - vaultName, - location, - options - }, - getDeletedOperationSpec, - callback) as Promise; + { vaultName, location, options }, + getDeletedOperationSpec + ); } /** * Permanently deletes the specified vault. aka Purges the deleted Azure key vault. * @param vaultName The name of the soft-deleted vault. * @param location The location of the soft-deleted vault. - * @param [options] The optional parameters - * @returns Promise - */ - purgeDeleted(vaultName: string, location: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginPurgeDeleted(vaultName,location,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + * @param options The options parameters. + */ + async beginPurgeDeleted( + vaultName: string, + location: string, + options?: VaultsPurgeDeletedOptionalParams + ): 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, + { vaultName, location, options }, + purgeDeletedOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The List operation gets information about the vaults associated with the subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: Models.VaultsListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; + * Permanently deletes the specified vault. aka Purges the deleted Azure key vault. + * @param vaultName The name of the soft-deleted vault. + * @param location The location of the soft-deleted vault. + * @param options The options parameters. + */ + async beginPurgeDeletedAndWait( + vaultName: string, + location: string, + options?: VaultsPurgeDeletedOptionalParams + ): Promise { + const poller = await this.beginPurgeDeleted(vaultName, location, options); + return poller.pollUntilDone(); + } + /** - * @param options The optional parameters - * @param callback The callback + * The List operation gets information about the vaults associated with the subscription. + * @param options The options parameters. */ - list(options: Models.VaultsListOptionalParams, callback: msRest.ServiceCallback): void; - list(options?: Models.VaultsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + private _list( + options?: VaultsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); } /** * Checks that the vault name is valid and is not already in use. * @param vaultName The name of the vault. - * @param [options] The optional parameters - * @returns Promise - */ - checkNameAvailability(vaultName: Models.VaultCheckNameAvailabilityParameters, options?: msRest.RequestOptionsBase): Promise; - /** - * @param vaultName The name of the vault. - * @param callback The callback - */ - checkNameAvailability(vaultName: Models.VaultCheckNameAvailabilityParameters, callback: msRest.ServiceCallback): void; - /** - * @param vaultName The name of the vault. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - checkNameAvailability(vaultName: Models.VaultCheckNameAvailabilityParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - checkNameAvailability(vaultName: Models.VaultCheckNameAvailabilityParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + checkNameAvailability( + vaultName: VaultCheckNameAvailabilityParameters, + options?: VaultsCheckNameAvailabilityOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - vaultName, - options - }, - checkNameAvailabilityOperationSpec, - callback) as Promise; + { vaultName, options }, + checkNameAvailabilityOperationSpec + ); } /** - * Create or update a key vault in the specified subscription. - * @param resourceGroupName The name of the Resource Group to which the server belongs. - * @param vaultName Name of the vault - * @param parameters Parameters to create or update the vault - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, vaultName: string, parameters: Models.VaultCreateOrUpdateParameters, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - vaultName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); - } - - /** - * Permanently deletes the specified vault. aka Purges the deleted Azure key vault. - * @param vaultName The name of the soft-deleted vault. - * @param location The location of the soft-deleted vault. - * @param [options] The optional parameters - * @returns Promise - */ - beginPurgeDeleted(vaultName: string, location: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - vaultName, - location, - options - }, - beginPurgeDeletedOperationSpec, - options); - } - - /** - * The List operation gets information about the vaults associated with the subscription and within - * the specified resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListByResourceGroupNext + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @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?: VaultsListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } /** - * The List operation gets information about the vaults associated with the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBySubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listBySubscriptionNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListBySubscriptionNext + * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. + * @param options The options parameters. */ - listBySubscriptionNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySubscriptionNext( + nextLink: string, + options?: VaultsListBySubscriptionNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listBySubscriptionNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listBySubscriptionNextOperationSpec + ); } /** - * Gets information about the deleted vaults in a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listDeletedNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListDeletedNext + * @param nextLink The nextLink from the previous successful call to the ListDeleted method. + * @param options The options parameters. */ - listDeletedNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listDeletedNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listDeletedNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listDeletedNext( + nextLink: string, + options?: VaultsListDeletedNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listDeletedNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listDeletedNextOperationSpec + ); } /** - * The List operation gets information about the vaults associated with the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: VaultsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Vault + }, + 201: { + bodyMapper: Mappers.Vault + }, + 202: { + bodyMapper: Mappers.Vault + }, + 204: { + bodyMapper: Mappers.Vault + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.vaultName0, - Parameters.subscriptionId + Parameters.vaultName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.VaultPatchParameters, - required: true - } - }, + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.Vault @@ -539,46 +686,43 @@ const updateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.vaultName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vaultName ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", + httpMethod: "DELETE", responses: { 200: {}, + 204: {}, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.vaultName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vaultName1 ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Vault @@ -587,31 +731,20 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const updateAccessPolicyOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.vaultName0, - Parameters.operationKind, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vaultName1 ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.VaultAccessPolicyParameters, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateAccessPolicyOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.VaultAccessPolicyParameters @@ -619,27 +752,31 @@ const updateAccessPolicyOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.VaultAccessPolicyParameters }, + 404: { + bodyMapper: Mappers.CloudError, + isError: true + }, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults", + requestBody: Parameters.parameters3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.top, - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vaultName, + Parameters.operationKind ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VaultListResult @@ -648,22 +785,18 @@ const listByResourceGroupOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listBySubscriptionOperationSpec: msRest.OperationSpec = { +const listBySubscriptionOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.top, - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.VaultListResult @@ -672,21 +805,15 @@ const listBySubscriptionOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listDeletedOperationSpec: msRest.OperationSpec = { +const listDeletedOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DeletedVaultListResult @@ -695,23 +822,15 @@ const listDeletedOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const getDeletedOperationSpec: msRest.OperationSpec = { +const getDeletedOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}", - urlParameters: [ - Parameters.vaultName1, - Parameters.location, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DeletedVault @@ -720,133 +839,81 @@ const getDeletedOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resources", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.filter, - Parameters.top, - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.vaultName1, + Parameters.location ], - responses: { - 200: { - bodyMapper: Mappers.ResourceListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { +const purgeDeletedOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "vaultName", - mapper: { - ...Mappers.VaultCheckNameAvailabilityParameters, - required: true - } - }, responses: { - 200: { - bodyMapper: Mappers.CheckNameAvailabilityResult + 200: {}, + 201: {}, + 202: {}, + 204: {}, + 404: { + bodyMapper: Mappers.CloudError, + isError: true }, default: { bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceGroupName, - Parameters.vaultName0, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.vaultName1, + Parameters.location ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.VaultCreateOrUpdateParameters, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resources", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.Vault - }, - 201: { - bodyMapper: Mappers.Vault + bodyMapper: Mappers.ResourceListResult }, default: { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.top, Parameters.filter, Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const beginPurgeDeletedOperationSpec: msRest.OperationSpec = { +const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge", - urlParameters: [ - Parameters.vaultName1, - Parameters.location, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { - 200: {}, - 202: {}, + 200: { + bodyMapper: Mappers.CheckNameAvailabilityResult + }, default: { bodyMapper: Mappers.CloudError } }, + requestBody: Parameters.vaultName2, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VaultListResult @@ -855,19 +922,19 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listBySubscriptionNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VaultListResult @@ -876,19 +943,18 @@ const listBySubscriptionNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listDeletedNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listDeletedNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DeletedVaultListResult @@ -897,19 +963,18 @@ const listDeletedNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ResourceListResult @@ -918,5 +983,12 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.top, Parameters.filter, Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/index.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..7134a8453517 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/index.ts @@ -0,0 +1,17 @@ +/* + * 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 "./keys"; +export * from "./vaults"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; +export * from "./managedHsms"; +export * from "./mhsmPrivateEndpointConnections"; +export * from "./mhsmPrivateLinkResources"; +export * from "./operations"; +export * from "./secrets"; diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/keys.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/keys.ts new file mode 100644 index 000000000000..065a21cfd427 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/keys.ts @@ -0,0 +1,96 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Key, + KeysListOptionalParams, + KeysListVersionsOptionalParams, + KeyCreateParameters, + KeysCreateIfNotExistOptionalParams, + KeysCreateIfNotExistResponse, + KeysGetOptionalParams, + KeysGetResponse, + KeysGetVersionOptionalParams, + KeysGetVersionResponse +} from "../models"; + +/// +/** Interface representing a Keys. */ +export interface Keys { + /** + * Lists the keys in the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the keys to be retrieved. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + vaultName: string, + options?: KeysListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the versions of the specified key in the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the key versions to be retrieved. + * @param keyName The name of the key versions to be retrieved. + * @param options The options parameters. + */ + listVersions( + resourceGroupName: string, + vaultName: string, + keyName: string, + options?: KeysListVersionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates the first version of a new key if it does not exist. If it already exists, then the existing + * key is returned without any write operations being performed. This API does not create subsequent + * versions, and does not update existing keys. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the key vault which contains the key to be created. + * @param keyName The name of the key to be created. + * @param parameters The parameters used to create the specified key. + * @param options The options parameters. + */ + createIfNotExist( + resourceGroupName: string, + vaultName: string, + keyName: string, + parameters: KeyCreateParameters, + options?: KeysCreateIfNotExistOptionalParams + ): Promise; + /** + * Gets the current version of the specified key from the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the key to be retrieved. + * @param keyName The name of the key to be retrieved. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + vaultName: string, + keyName: string, + options?: KeysGetOptionalParams + ): Promise; + /** + * Gets the specified version of the specified key in the specified key vault. + * @param resourceGroupName The name of the resource group which contains the specified key vault. + * @param vaultName The name of the vault which contains the key version to be retrieved. + * @param keyName The name of the key version to be retrieved. + * @param keyVersion The version of the key to be retrieved. + * @param options The options parameters. + */ + getVersion( + resourceGroupName: string, + vaultName: string, + keyName: string, + keyVersion: string, + options?: KeysGetVersionOptionalParams + ): Promise; +} diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/managedHsms.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/managedHsms.ts new file mode 100644 index 000000000000..9a8385cc08d3 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/managedHsms.ts @@ -0,0 +1,185 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedHsm, + ManagedHsmsListByResourceGroupOptionalParams, + ManagedHsmsListBySubscriptionOptionalParams, + DeletedManagedHsm, + ManagedHsmsListDeletedOptionalParams, + ManagedHsmsCreateOrUpdateOptionalParams, + ManagedHsmsCreateOrUpdateResponse, + ManagedHsmsUpdateOptionalParams, + ManagedHsmsUpdateResponse, + ManagedHsmsDeleteOptionalParams, + ManagedHsmsGetOptionalParams, + ManagedHsmsGetResponse, + ManagedHsmsGetDeletedOptionalParams, + ManagedHsmsGetDeletedResponse, + ManagedHsmsPurgeDeletedOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedHsms. */ +export interface ManagedHsms { + /** + * The List operation gets information about the managed HSM Pools associated with the subscription and + * within the specified resource group. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: ManagedHsmsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * The List operation gets information about the managed HSM Pools associated with the subscription. + * @param options The options parameters. + */ + listBySubscription( + options?: ManagedHsmsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator; + /** + * The List operation gets information about the deleted managed HSMs associated with the subscription. + * @param options The options parameters. + */ + listDeleted( + options?: ManagedHsmsListDeletedOptionalParams + ): PagedAsyncIterableIterator; + /** + * Create or update a managed HSM Pool in the specified subscription. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param parameters Parameters to create or update the managed HSM Pool + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + name: string, + parameters: ManagedHsm, + options?: ManagedHsmsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedHsmsCreateOrUpdateResponse + > + >; + /** + * Create or update a managed HSM Pool in the specified subscription. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param parameters Parameters to create or update the managed HSM Pool + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + name: string, + parameters: ManagedHsm, + options?: ManagedHsmsCreateOrUpdateOptionalParams + ): Promise; + /** + * Update a managed HSM Pool in the specified subscription. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param parameters Parameters to patch the managed HSM Pool + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + name: string, + parameters: ManagedHsm, + options?: ManagedHsmsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedHsmsUpdateResponse + > + >; + /** + * Update a managed HSM Pool in the specified subscription. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param parameters Parameters to patch the managed HSM Pool + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + name: string, + parameters: ManagedHsm, + options?: ManagedHsmsUpdateOptionalParams + ): Promise; + /** + * Deletes the specified managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name The name of the managed HSM Pool to delete + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + name: string, + options?: ManagedHsmsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes the specified managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name The name of the managed HSM Pool to delete + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + name: string, + options?: ManagedHsmsDeleteOptionalParams + ): Promise; + /** + * Gets the specified managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name The name of the managed HSM Pool. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + options?: ManagedHsmsGetOptionalParams + ): Promise; + /** + * Gets the specified deleted managed HSM. + * @param name The name of the deleted managed HSM. + * @param location The location of the deleted managed HSM. + * @param options The options parameters. + */ + getDeleted( + name: string, + location: string, + options?: ManagedHsmsGetDeletedOptionalParams + ): Promise; + /** + * Permanently deletes the specified managed HSM. + * @param name The name of the soft-deleted managed HSM. + * @param location The location of the soft-deleted managed HSM. + * @param options The options parameters. + */ + beginPurgeDeleted( + name: string, + location: string, + options?: ManagedHsmsPurgeDeletedOptionalParams + ): Promise, void>>; + /** + * Permanently deletes the specified managed HSM. + * @param name The name of the soft-deleted managed HSM. + * @param location The location of the soft-deleted managed HSM. + * @param options The options parameters. + */ + beginPurgeDeletedAndWait( + name: string, + location: string, + options?: ManagedHsmsPurgeDeletedOptionalParams + ): Promise; +} diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/mhsmPrivateEndpointConnections.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/mhsmPrivateEndpointConnections.ts new file mode 100644 index 000000000000..ec8dad7820b9 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/mhsmPrivateEndpointConnections.ts @@ -0,0 +1,101 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + MhsmPrivateEndpointConnection, + MhsmPrivateEndpointConnectionsListByResourceOptionalParams, + MhsmPrivateEndpointConnectionsGetOptionalParams, + MhsmPrivateEndpointConnectionsGetResponse, + MhsmPrivateEndpointConnectionsPutOptionalParams, + MhsmPrivateEndpointConnectionsPutResponse, + MhsmPrivateEndpointConnectionsDeleteOptionalParams, + MhsmPrivateEndpointConnectionsDeleteResponse +} from "../models"; + +/// +/** Interface representing a MhsmPrivateEndpointConnections. */ +export interface MhsmPrivateEndpointConnections { + /** + * The List operation gets information about the private endpoint connections associated with the + * managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param options The options parameters. + */ + listByResource( + resourceGroupName: string, + name: string, + options?: MhsmPrivateEndpointConnectionsListByResourceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the specified private endpoint connection associated with the managed HSM Pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the + * managed hsm pool. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: MhsmPrivateEndpointConnectionsGetOptionalParams + ): Promise; + /** + * Updates the specified private endpoint connection associated with the managed hsm pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the + * managed hsm pool. + * @param properties The intended state of private endpoint connection. + * @param options The options parameters. + */ + put( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + properties: MhsmPrivateEndpointConnection, + options?: MhsmPrivateEndpointConnectionsPutOptionalParams + ): Promise; + /** + * Deletes the specified private endpoint connection associated with the managed hsm pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the + * managed hsm pool. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: MhsmPrivateEndpointConnectionsDeleteOptionalParams + ): Promise< + PollerLike< + PollOperationState, + MhsmPrivateEndpointConnectionsDeleteResponse + > + >; + /** + * Deletes the specified private endpoint connection associated with the managed hsm pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the + * managed hsm pool. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + name: string, + privateEndpointConnectionName: string, + options?: MhsmPrivateEndpointConnectionsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/mhsmPrivateLinkResources.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/mhsmPrivateLinkResources.ts new file mode 100644 index 000000000000..f4f9fb75871f --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/mhsmPrivateLinkResources.ts @@ -0,0 +1,27 @@ +/* + * 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 { + MhsmPrivateLinkResourcesListByMhsmResourceOptionalParams, + MhsmPrivateLinkResourcesListByMhsmResourceResponse +} from "../models"; + +/** Interface representing a MhsmPrivateLinkResources. */ +export interface MhsmPrivateLinkResources { + /** + * Gets the private link resources supported for the managed hsm pool. + * @param resourceGroupName Name of the resource group that contains the managed HSM pool. + * @param name Name of the managed HSM Pool + * @param options The options parameters. + */ + listByMhsmResource( + resourceGroupName: string, + name: string, + options?: MhsmPrivateLinkResourcesListByMhsmResourceOptionalParams + ): Promise; +} diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/operations.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/operations.ts new file mode 100644 index 000000000000..a118c488033f --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/operations.ts @@ -0,0 +1,23 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operation, OperationsListOptionalParams } from "../models"; + +/// +/** Interface representing a Operations. */ +export interface Operations { + /** + * Lists all of the available Key Vault Rest API operations. + * @param options The options parameters. + */ + list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/privateEndpointConnections.ts new file mode 100644 index 000000000000..5e7c79b7f08b --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/privateEndpointConnections.ts @@ -0,0 +1,101 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListByResourceOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsPutOptionalParams, + PrivateEndpointConnectionsPutResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsDeleteResponse +} from "../models"; + +/// +/** Interface representing a PrivateEndpointConnections. */ +export interface PrivateEndpointConnections { + /** + * The List operation gets information about the private endpoint connections associated with the + * vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param options The options parameters. + */ + listByResource( + resourceGroupName: string, + vaultName: string, + options?: PrivateEndpointConnectionsListByResourceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the specified private endpoint connection associated with the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the key + * vault. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + vaultName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise; + /** + * Updates the specified private endpoint connection associated with the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the key + * vault. + * @param properties The intended state of private endpoint connection. + * @param options The options parameters. + */ + put( + resourceGroupName: string, + vaultName: string, + privateEndpointConnectionName: string, + properties: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsPutOptionalParams + ): Promise; + /** + * Deletes the specified private endpoint connection associated with the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the key + * vault. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + vaultName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsDeleteResponse + > + >; + /** + * Deletes the specified private endpoint connection associated with the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param privateEndpointConnectionName Name of the private endpoint connection associated with the key + * vault. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + vaultName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/privateLinkResources.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/privateLinkResources.ts new file mode 100644 index 000000000000..47b07b43eab2 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/privateLinkResources.ts @@ -0,0 +1,27 @@ +/* + * 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 { + PrivateLinkResourcesListByVaultOptionalParams, + PrivateLinkResourcesListByVaultResponse +} from "../models"; + +/** Interface representing a PrivateLinkResources. */ +export interface PrivateLinkResources { + /** + * Gets the private link resources supported for the key vault. + * @param resourceGroupName Name of the resource group that contains the key vault. + * @param vaultName The name of the key vault. + * @param options The options parameters. + */ + listByVault( + resourceGroupName: string, + vaultName: string, + options?: PrivateLinkResourcesListByVaultOptionalParams + ): Promise; +} diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/secrets.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/secrets.ts new file mode 100644 index 000000000000..ca2f10a761cf --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/secrets.ts @@ -0,0 +1,87 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Secret, + SecretsListOptionalParams, + SecretCreateOrUpdateParameters, + SecretsCreateOrUpdateOptionalParams, + SecretsCreateOrUpdateResponse, + SecretPatchParameters, + SecretsUpdateOptionalParams, + SecretsUpdateResponse, + SecretsGetOptionalParams, + SecretsGetResponse +} from "../models"; + +/// +/** Interface representing a Secrets. */ +export interface Secrets { + /** + * The List operation gets information about the secrets in a vault. NOTE: This API is intended for + * internal use in ARM deployments. Users should use the data-plane REST service for interaction with + * vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + vaultName: string, + options?: SecretsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Create or update a secret in a key vault in the specified subscription. NOTE: This API is intended + * for internal use in ARM deployments. Users should use the data-plane REST service for interaction + * with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to create or update the secret + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + vaultName: string, + secretName: string, + parameters: SecretCreateOrUpdateParameters, + options?: SecretsCreateOrUpdateOptionalParams + ): Promise; + /** + * Update a secret in the specified subscription. NOTE: This API is intended for internal use in ARM + * deployments. Users should use the data-plane REST service for interaction with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to patch the secret + * @param options The options parameters. + */ + update( + resourceGroupName: string, + vaultName: string, + secretName: string, + parameters: SecretPatchParameters, + options?: SecretsUpdateOptionalParams + ): Promise; + /** + * Gets the specified secret. NOTE: This API is intended for internal use in ARM deployments. Users + * should use the data-plane REST service for interaction with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param secretName The name of the secret. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + vaultName: string, + secretName: string, + options?: SecretsGetOptionalParams + ): Promise; +} diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/vaults.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/vaults.ts new file mode 100644 index 000000000000..b6415aaec258 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/vaults.ts @@ -0,0 +1,198 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Vault, + VaultsListByResourceGroupOptionalParams, + VaultsListBySubscriptionOptionalParams, + DeletedVault, + VaultsListDeletedOptionalParams, + Resource, + VaultsListOptionalParams, + VaultCreateOrUpdateParameters, + VaultsCreateOrUpdateOptionalParams, + VaultsCreateOrUpdateResponse, + VaultPatchParameters, + VaultsUpdateOptionalParams, + VaultsUpdateResponse, + VaultsDeleteOptionalParams, + VaultsGetOptionalParams, + VaultsGetResponse, + VaultAccessPolicyParameters, + AccessPolicyUpdateKind, + VaultsUpdateAccessPolicyOptionalParams, + VaultsUpdateAccessPolicyResponse, + VaultsGetDeletedOptionalParams, + VaultsGetDeletedResponse, + VaultsPurgeDeletedOptionalParams, + VaultCheckNameAvailabilityParameters, + VaultsCheckNameAvailabilityOptionalParams, + VaultsCheckNameAvailabilityResponse +} from "../models"; + +/// +/** Interface representing a Vaults. */ +export interface Vaults { + /** + * The List operation gets information about the vaults associated with the subscription and within the + * specified resource group. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: VaultsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * The List operation gets information about the vaults associated with the subscription. + * @param options The options parameters. + */ + listBySubscription( + options?: VaultsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets information about the deleted vaults in a subscription. + * @param options The options parameters. + */ + listDeleted( + options?: VaultsListDeletedOptionalParams + ): PagedAsyncIterableIterator; + /** + * The List operation gets information about the vaults associated with the subscription. + * @param options The options parameters. + */ + list( + options?: VaultsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Create or update a key vault in the specified subscription. + * @param resourceGroupName The name of the Resource Group to which the server belongs. + * @param vaultName Name of the vault + * @param parameters Parameters to create or update the vault + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + vaultName: string, + parameters: VaultCreateOrUpdateParameters, + options?: VaultsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VaultsCreateOrUpdateResponse + > + >; + /** + * Create or update a key vault in the specified subscription. + * @param resourceGroupName The name of the Resource Group to which the server belongs. + * @param vaultName Name of the vault + * @param parameters Parameters to create or update the vault + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + vaultName: string, + parameters: VaultCreateOrUpdateParameters, + options?: VaultsCreateOrUpdateOptionalParams + ): Promise; + /** + * Update a key vault in the specified subscription. + * @param resourceGroupName The name of the Resource Group to which the server belongs. + * @param vaultName Name of the vault + * @param parameters Parameters to patch the vault + * @param options The options parameters. + */ + update( + resourceGroupName: string, + vaultName: string, + parameters: VaultPatchParameters, + options?: VaultsUpdateOptionalParams + ): Promise; + /** + * Deletes the specified Azure key vault. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault to delete + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + vaultName: string, + options?: VaultsDeleteOptionalParams + ): Promise; + /** + * Gets the specified Azure key vault. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + vaultName: string, + options?: VaultsGetOptionalParams + ): Promise; + /** + * Update access policies in a key vault in the specified subscription. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param operationKind Name of the operation + * @param parameters Access policy to merge into the vault + * @param options The options parameters. + */ + updateAccessPolicy( + resourceGroupName: string, + vaultName: string, + operationKind: AccessPolicyUpdateKind, + parameters: VaultAccessPolicyParameters, + options?: VaultsUpdateAccessPolicyOptionalParams + ): Promise; + /** + * Gets the deleted Azure key vault. + * @param vaultName The name of the vault. + * @param location The location of the deleted vault. + * @param options The options parameters. + */ + getDeleted( + vaultName: string, + location: string, + options?: VaultsGetDeletedOptionalParams + ): Promise; + /** + * Permanently deletes the specified vault. aka Purges the deleted Azure key vault. + * @param vaultName The name of the soft-deleted vault. + * @param location The location of the soft-deleted vault. + * @param options The options parameters. + */ + beginPurgeDeleted( + vaultName: string, + location: string, + options?: VaultsPurgeDeletedOptionalParams + ): Promise, void>>; + /** + * Permanently deletes the specified vault. aka Purges the deleted Azure key vault. + * @param vaultName The name of the soft-deleted vault. + * @param location The location of the soft-deleted vault. + * @param options The options parameters. + */ + beginPurgeDeletedAndWait( + vaultName: string, + location: string, + options?: VaultsPurgeDeletedOptionalParams + ): Promise; + /** + * Checks that the vault name is valid and is not already in use. + * @param vaultName The name of the vault. + * @param options The options parameters. + */ + checkNameAvailability( + vaultName: VaultCheckNameAvailabilityParameters, + options?: VaultsCheckNameAvailabilityOptionalParams + ): Promise; +} diff --git a/sdk/keyvault/arm-keyvault/tsconfig.json b/sdk/keyvault/arm-keyvault/tsconfig.json index 87bbf5b5fa49..603440b3a359 100644 --- a/sdk/keyvault/arm-keyvault/tsconfig.json +++ b/sdk/keyvault/arm-keyvault/tsconfig.json @@ -3,15 +3,15 @@ "module": "es6", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, "include": ["./src/**/*.ts"], diff --git a/sdk/keyvault/ci.yml b/sdk/keyvault/ci.yml index fd39937bfaf5..69e42ba6b516 100644 --- a/sdk/keyvault/ci.yml +++ b/sdk/keyvault/ci.yml @@ -9,7 +9,6 @@ trigger: paths: include: - sdk/keyvault/ - pr: branches: include: @@ -17,10 +16,11 @@ pr: - feature/* - release/* - hotfix/* + exclude: + - feature/v4 paths: include: - sdk/keyvault/ - extends: template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml parameters: @@ -34,3 +34,5 @@ extends: safeName: azurekeyvaultsecrets - name: azure-keyvault-admin safeName: azurekeyvaultadmin + - name: azure-arm-keyvault + safeName: azurearmkeyvault diff --git a/sdk/keyvault/keyvault-admin/CHANGELOG.md b/sdk/keyvault/keyvault-admin/CHANGELOG.md index dcfa45d993ea..a68dd74caaa6 100644 --- a/sdk/keyvault/keyvault-admin/CHANGELOG.md +++ b/sdk/keyvault/keyvault-admin/CHANGELOG.md @@ -1,5 +1,17 @@ # Release History +## 4.2.0-beta.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +- Updated the latest service version to 7.3. + ## 4.2.0-beta.1 (2021-08-10) - Move generated client to use @azure/core-rest-pipeline. For more information about Core V2, please refer to [the documentation](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core#core-v1-and-core-v2). diff --git a/sdk/keyvault/keyvault-admin/package.json b/sdk/keyvault/keyvault-admin/package.json index e7f2e0320f62..e9732927f145 100644 --- a/sdk/keyvault/keyvault-admin/package.json +++ b/sdk/keyvault/keyvault-admin/package.json @@ -2,7 +2,7 @@ "name": "@azure/keyvault-admin", "sdk-type": "client", "author": "Microsoft Corporation", - "version": "4.2.0-beta.1", + "version": "4.2.0-beta.2", "license": "MIT", "description": "Isomorphic client library for Azure KeyVault's administrative functions.", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/keyvault/keyvault-admin/README.md", @@ -48,7 +48,7 @@ "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:nodebrowser": "rollup -c 2>&1", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* types *.tgz *.log statistics.html coverage && rimraf src/**/*.js && rimraf test/**/*.js", "execute:samples": "dev-tool samples run samples-dev", @@ -61,7 +61,6 @@ "lint:fix": "eslint package.json src --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "regenerate": "npx autorest swagger/README.md --typescript", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", @@ -75,7 +74,7 @@ "constantPaths": [ { "path": "src/generated/keyVaultClientContext.ts", - "prefix": "packageDetails" + "prefix": "packageVersion" }, { "path": "src/constants.ts", @@ -121,10 +120,10 @@ "@azure/core-util": "^1.0.0-beta.1", "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.7", "@azure/keyvault-keys": "^4.2.1", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", diff --git a/sdk/keyvault/keyvault-admin/review/keyvault-admin.api.md b/sdk/keyvault/keyvault-admin/review/keyvault-admin.api.md index a73d9fbb9b96..b6bf7027c010 100644 --- a/sdk/keyvault/keyvault-admin/review/keyvault-admin.api.md +++ b/sdk/keyvault/keyvault-admin/review/keyvault-admin.api.md @@ -169,12 +169,15 @@ export enum KnownKeyVaultDataAction { DecryptHsmKey = "Microsoft.KeyVault/managedHsm/keys/decrypt/action", DeleteHsmKey = "Microsoft.KeyVault/managedHsm/keys/delete", DeleteRoleAssignment = "Microsoft.KeyVault/managedHsm/roleAssignments/delete/action", + DeleteRoleDefinition = "Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action", DownloadHsmSecurityDomain = "Microsoft.KeyVault/managedHsm/securitydomain/download/action", + DownloadHsmSecurityDomainStatus = "Microsoft.KeyVault/managedHsm/securitydomain/download/read", EncryptHsmKey = "Microsoft.KeyVault/managedHsm/keys/encrypt/action", ExportHsmKey = "Microsoft.KeyVault/managedHsm/keys/export/action", GetRoleAssignment = "Microsoft.KeyVault/managedHsm/roleAssignments/read/action", ImportHsmKey = "Microsoft.KeyVault/managedHsm/keys/import/action", PurgeDeletedHsmKey = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete", + RandomNumbersGenerate = "Microsoft.KeyVault/managedHsm/rng/action", ReadDeletedHsmKey = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action", ReadHsmBackupStatus = "Microsoft.KeyVault/managedHsm/backup/status/action", ReadHsmKey = "Microsoft.KeyVault/managedHsm/keys/read/action", @@ -183,6 +186,7 @@ export enum KnownKeyVaultDataAction { ReadHsmSecurityDomainTransferKey = "Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read", ReadRoleDefinition = "Microsoft.KeyVault/managedHsm/roleDefinitions/read/action", RecoverDeletedHsmKey = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action", + ReleaseKey = "Microsoft.KeyVault/managedHsm/keys/release/action", RestoreHsmKeys = "Microsoft.KeyVault/managedHsm/keys/restore/action", SignHsmKey = "Microsoft.KeyVault/managedHsm/keys/sign/action", StartHsmBackup = "Microsoft.KeyVault/managedHsm/backup/start/action", @@ -192,7 +196,8 @@ export enum KnownKeyVaultDataAction { VerifyHsmKey = "Microsoft.KeyVault/managedHsm/keys/verify/action", WrapHsmKey = "Microsoft.KeyVault/managedHsm/keys/wrap/action", WriteHsmKey = "Microsoft.KeyVault/managedHsm/keys/write/action", - WriteRoleAssignment = "Microsoft.KeyVault/managedHsm/roleAssignments/write/action" + WriteRoleAssignment = "Microsoft.KeyVault/managedHsm/roleAssignments/write/action", + WriteRoleDefinition = "Microsoft.KeyVault/managedHsm/roleDefinitions/write/action" } // @public @@ -202,7 +207,7 @@ export enum KnownKeyVaultRoleScope { } // @public -export const LATEST_API_VERSION = "7.2"; +export const LATEST_API_VERSION = "7.3-preview"; // @public export interface ListRoleAssignmentsOptions extends OperationOptions { @@ -235,7 +240,7 @@ export interface SetRoleDefinitionOptions extends OperationOptions { } // @public -export type SUPPORTED_API_VERSIONS = "7.2"; +export type SUPPORTED_API_VERSIONS = "7.2" | "7.3-preview"; // (No @packageDocumentation comment for this package) diff --git a/sdk/keyvault/keyvault-admin/samples/v4/javascript/package.json b/sdk/keyvault/keyvault-admin/samples/v4/javascript/package.json index dffb7c52f891..b9afa16327cd 100644 --- a/sdk/keyvault/keyvault-admin/samples/v4/javascript/package.json +++ b/sdk/keyvault/keyvault-admin/samples/v4/javascript/package.json @@ -33,7 +33,7 @@ "dependencies": { "@azure/keyvault-admin": "next", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "uuid": "^8.3.0", "@azure/keyvault-keys": "^4.2.1" } diff --git a/sdk/keyvault/keyvault-admin/samples/v4/typescript/package.json b/sdk/keyvault/keyvault-admin/samples/v4/typescript/package.json index 09168917473c..5b4d0a31f9e5 100644 --- a/sdk/keyvault/keyvault-admin/samples/v4/typescript/package.json +++ b/sdk/keyvault/keyvault-admin/samples/v4/typescript/package.json @@ -37,7 +37,7 @@ "dependencies": { "@azure/keyvault-admin": "next", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "uuid": "^8.3.0", "@azure/keyvault-keys": "^4.2.1" }, diff --git a/sdk/keyvault/keyvault-admin/src/accessControlModels.ts b/sdk/keyvault/keyvault-admin/src/accessControlModels.ts index 6445e425d978..2ad5a56b060a 100644 --- a/sdk/keyvault/keyvault-admin/src/accessControlModels.ts +++ b/sdk/keyvault/keyvault-admin/src/accessControlModels.ts @@ -5,10 +5,12 @@ import { CommonClientOptions, OperationOptions } from "@azure/core-client"; import { SUPPORTED_API_VERSIONS } from "./constants"; import { DataAction as KeyVaultDataAction, - RoleScope as KeyVaultRoleScope + RoleScope as KeyVaultRoleScope, + KnownDataAction as KnownKeyVaultDataAction, + KnownRoleScope as KnownKeyVaultRoleScope } from "./generated/index"; -export { KeyVaultDataAction, KeyVaultRoleScope }; +export { KeyVaultDataAction, KeyVaultRoleScope, KnownKeyVaultDataAction, KnownKeyVaultRoleScope }; /** * The optional parameters accepted by the Key Vault's AccessControlClient @@ -20,76 +22,6 @@ export interface AccessControlClientOptions extends CommonClientOptions { serviceVersion?: SUPPORTED_API_VERSIONS; } -/** Known values of {@link DataAction} that the service accepts. */ -export enum KnownKeyVaultDataAction { - /** Read HSM key metadata. */ - ReadHsmKey = "Microsoft.KeyVault/managedHsm/keys/read/action", - /** Update an HSM key. */ - WriteHsmKey = "Microsoft.KeyVault/managedHsm/keys/write/action", - /** Read deleted HSM key. */ - ReadDeletedHsmKey = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action", - /** Recover deleted HSM key. */ - RecoverDeletedHsmKey = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action", - /** Backup HSM keys. */ - BackupHsmKeys = "Microsoft.KeyVault/managedHsm/keys/backup/action", - /** Restore HSM keys. */ - RestoreHsmKeys = "Microsoft.KeyVault/managedHsm/keys/restore/action", - /** Delete role assignment. */ - DeleteRoleAssignment = "Microsoft.KeyVault/managedHsm/roleAssignments/delete/action", - /** Get role assignment. */ - GetRoleAssignment = "Microsoft.KeyVault/managedHsm/roleAssignments/read/action", - /** Create or update role assignment. */ - WriteRoleAssignment = "Microsoft.KeyVault/managedHsm/roleAssignments/write/action", - /** Get role definition. */ - ReadRoleDefinition = "Microsoft.KeyVault/managedHsm/roleDefinitions/read/action", - /** Encrypt using an HSM key. */ - EncryptHsmKey = "Microsoft.KeyVault/managedHsm/keys/encrypt/action", - /** Decrypt using an HSM key. */ - DecryptHsmKey = "Microsoft.KeyVault/managedHsm/keys/decrypt/action", - /** Wrap using an HSM key. */ - WrapHsmKey = "Microsoft.KeyVault/managedHsm/keys/wrap/action", - /** Unwrap using an HSM key. */ - UnwrapHsmKey = "Microsoft.KeyVault/managedHsm/keys/unwrap/action", - /** Sign using an HSM key. */ - SignHsmKey = "Microsoft.KeyVault/managedHsm/keys/sign/action", - /** Verify using an HSM key. */ - VerifyHsmKey = "Microsoft.KeyVault/managedHsm/keys/verify/action", - /** Create an HSM key. */ - CreateHsmKey = "Microsoft.KeyVault/managedHsm/keys/create", - /** Delete an HSM key. */ - DeleteHsmKey = "Microsoft.KeyVault/managedHsm/keys/delete", - /** Export an HSM key. */ - ExportHsmKey = "Microsoft.KeyVault/managedHsm/keys/export/action", - /** Import an HSM key. */ - ImportHsmKey = "Microsoft.KeyVault/managedHsm/keys/import/action", - /** Purge a deleted HSM key. */ - PurgeDeletedHsmKey = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete", - /** Download an HSM security domain. */ - DownloadHsmSecurityDomain = "Microsoft.KeyVault/managedHsm/securitydomain/download/action", - /** Upload an HSM security domain. */ - UploadHsmSecurityDomain = "Microsoft.KeyVault/managedHsm/securitydomain/upload/action", - /** Check the status of the HSM security domain exchange file. */ - ReadHsmSecurityDomainStatus = "Microsoft.KeyVault/managedHsm/securitydomain/upload/read", - /** Download an HSM security domain transfer key. */ - ReadHsmSecurityDomainTransferKey = "Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read", - /** Start an HSM backup. */ - StartHsmBackup = "Microsoft.KeyVault/managedHsm/backup/start/action", - /** Start an HSM restore. */ - StartHsmRestore = "Microsoft.KeyVault/managedHsm/restore/start/action", - /** Read an HSM backup status. */ - ReadHsmBackupStatus = "Microsoft.KeyVault/managedHsm/backup/status/action", - /** Read an HSM restore status. */ - ReadHsmRestoreStatus = "Microsoft.KeyVault/managedHsm/restore/status/action" -} - -/** Known values of {@link RoleScope} that the service accepts. */ -export enum KnownKeyVaultRoleScope { - /** Global scope */ - Global = "/", - /** Keys scope */ - Keys = "/keys" -} - /** * A Key Vault role assignment. */ diff --git a/sdk/keyvault/keyvault-admin/src/constants.ts b/sdk/keyvault/keyvault-admin/src/constants.ts index 4b953c74c074..cf080d45b55f 100644 --- a/sdk/keyvault/keyvault-admin/src/constants.ts +++ b/sdk/keyvault/keyvault-admin/src/constants.ts @@ -4,17 +4,17 @@ /** * Current version of the Key Vault Admin SDK. */ -export const SDK_VERSION: string = "4.2.0-beta.1"; +export const SDK_VERSION: string = "4.2.0-beta.2"; /** * The latest supported Key Vault service API version. */ -export const LATEST_API_VERSION = "7.2"; +export const LATEST_API_VERSION = "7.3-preview"; /** * Supported API versions */ -export type SUPPORTED_API_VERSIONS = "7.2"; +export type SUPPORTED_API_VERSIONS = "7.2" | "7.3-preview"; /** * Authentication scopes diff --git a/sdk/keyvault/keyvault-admin/src/generated/keyVaultClient.ts b/sdk/keyvault/keyvault-admin/src/generated/keyVaultClient.ts index b7843fd72d71..7f295ba4a3a7 100644 --- a/sdk/keyvault/keyvault-admin/src/generated/keyVaultClient.ts +++ b/sdk/keyvault/keyvault-admin/src/generated/keyVaultClient.ts @@ -14,7 +14,7 @@ import * as Mappers from "./models/mappers"; import { KeyVaultClientContext } from "./keyVaultClientContext"; import { KeyVaultClientOptionalParams, - ApiVersion72, + ApiVersion73Preview, KeyVaultClientFullBackupOptionalParams, KeyVaultClientFullBackupResponse, KeyVaultClientFullBackupStatusOptionalParams, @@ -34,7 +34,7 @@ export class KeyVaultClient extends KeyVaultClientContext { * @param options The parameter options */ constructor( - apiVersion: ApiVersion72, + apiVersion: ApiVersion73Preview, options?: KeyVaultClientOptionalParams ) { super(apiVersion, options); diff --git a/sdk/keyvault/keyvault-admin/src/generated/keyVaultClientContext.ts b/sdk/keyvault/keyvault-admin/src/generated/keyVaultClientContext.ts index 7e8b98a83cc1..1e41ae5ad07a 100644 --- a/sdk/keyvault/keyvault-admin/src/generated/keyVaultClientContext.ts +++ b/sdk/keyvault/keyvault-admin/src/generated/keyVaultClientContext.ts @@ -7,12 +7,12 @@ */ import * as coreClient from "@azure/core-client"; -import { ApiVersion72, KeyVaultClientOptionalParams } from "./models"; +import { ApiVersion73Preview, KeyVaultClientOptionalParams } from "./models"; -export const packageVersion = "4.2.0-beta.1"; +export const packageVersion = "4.2.0-beta.2"; export class KeyVaultClientContext extends coreClient.ServiceClient { - apiVersion: ApiVersion72; + apiVersion: ApiVersion73Preview; /** * Initializes a new instance of the KeyVaultClientContext class. @@ -20,7 +20,7 @@ export class KeyVaultClientContext extends coreClient.ServiceClient { * @param options The parameter options */ constructor( - apiVersion: ApiVersion72, + apiVersion: ApiVersion73Preview, options?: KeyVaultClientOptionalParams ) { if (apiVersion === undefined) { @@ -35,7 +35,7 @@ export class KeyVaultClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-keyvault-admin/4.2.0-beta.1`; + const packageDetails = `azsdk-js-keyvault-admin/4.2.0-beta.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/keyvault/keyvault-admin/src/generated/models/index.ts b/sdk/keyvault/keyvault-admin/src/generated/models/index.ts index aed423362463..e2756c566487 100644 --- a/sdk/keyvault/keyvault-admin/src/generated/models/index.ts +++ b/sdk/keyvault/keyvault-admin/src/generated/models/index.ts @@ -184,7 +184,6 @@ export interface FullBackupOperation { } export interface RestoreOperationParameters { - /** SAS token parameter object containing Azure storage resourceUri and token */ sasTokenParameters: SASTokenParameter; /** The Folder name of the blob where the previous successful full backup was stored */ folderToRestore: string; @@ -207,7 +206,6 @@ export interface RestoreOperation { } export interface SelectiveKeyRestoreOperationParameters { - /** SAS token parameter object containing Azure storage resourceUri and token */ sasTokenParameters: SASTokenParameter; /** The Folder name of the blob where the previous successful full backup was stored */ folder: string; @@ -265,23 +263,23 @@ export interface KeyVaultClientSelectiveKeyRestoreOperationHeaders { azureAsyncOperation?: string; } -/** Known values of {@link ApiVersion72} that the service accepts. */ -export const enum KnownApiVersion72 { - /** Api Version '7.2' */ - Seven2 = "7.2" +/** Known values of {@link ApiVersion73Preview} that the service accepts. */ +export enum KnownApiVersion73Preview { + /** Api Version '7.3-preview' */ + Seven3Preview = "7.3-preview" } /** - * Defines values for ApiVersion72. \ - * {@link KnownApiVersion72} can be used interchangeably with ApiVersion72, + * Defines values for ApiVersion73Preview. \ + * {@link KnownApiVersion73Preview} can be used interchangeably with ApiVersion73Preview, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **7.2**: Api Version '7.2' + * **7.3-preview**: Api Version '7.3-preview' */ -export type ApiVersion72 = string; +export type ApiVersion73Preview = string; /** Known values of {@link RoleType} that the service accepts. */ -export const enum KnownRoleType { +export enum KnownRoleType { /** Built in role. */ BuiltInRole = "AKVBuiltInRole", /** Custom role. */ @@ -299,7 +297,7 @@ export const enum KnownRoleType { export type RoleType = string; /** Known values of {@link DataAction} that the service accepts. */ -export const enum KnownDataAction { +export enum KnownDataAction { /** Read HSM key metadata. */ ReadHsmKey = "Microsoft.KeyVault/managedHsm/keys/read/action", /** Update an HSM key. */ @@ -320,6 +318,10 @@ export const enum KnownDataAction { WriteRoleAssignment = "Microsoft.KeyVault/managedHsm/roleAssignments/write/action", /** Get role definition. */ ReadRoleDefinition = "Microsoft.KeyVault/managedHsm/roleDefinitions/read/action", + /** Create or update role definition. */ + WriteRoleDefinition = "Microsoft.KeyVault/managedHsm/roleDefinitions/write/action", + /** Delete role definition. */ + DeleteRoleDefinition = "Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action", /** Encrypt using an HSM key. */ EncryptHsmKey = "Microsoft.KeyVault/managedHsm/keys/encrypt/action", /** Decrypt using an HSM key. */ @@ -338,12 +340,16 @@ export const enum KnownDataAction { DeleteHsmKey = "Microsoft.KeyVault/managedHsm/keys/delete", /** Export an HSM key. */ ExportHsmKey = "Microsoft.KeyVault/managedHsm/keys/export/action", + /** Release an HSM key using Secure Key Release. */ + ReleaseKey = "Microsoft.KeyVault/managedHsm/keys/release/action", /** Import an HSM key. */ ImportHsmKey = "Microsoft.KeyVault/managedHsm/keys/import/action", /** Purge a deleted HSM key. */ PurgeDeletedHsmKey = "Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete", /** Download an HSM security domain. */ DownloadHsmSecurityDomain = "Microsoft.KeyVault/managedHsm/securitydomain/download/action", + /** Check status of HSM security domain download. */ + DownloadHsmSecurityDomainStatus = "Microsoft.KeyVault/managedHsm/securitydomain/download/read", /** Upload an HSM security domain. */ UploadHsmSecurityDomain = "Microsoft.KeyVault/managedHsm/securitydomain/upload/action", /** Check the status of the HSM security domain exchange file. */ @@ -357,7 +363,9 @@ export const enum KnownDataAction { /** Read an HSM backup status. */ ReadHsmBackupStatus = "Microsoft.KeyVault/managedHsm/backup/status/action", /** Read an HSM restore status. */ - ReadHsmRestoreStatus = "Microsoft.KeyVault/managedHsm/restore/status/action" + ReadHsmRestoreStatus = "Microsoft.KeyVault/managedHsm/restore/status/action", + /** Generate random numbers. */ + RandomNumbersGenerate = "Microsoft.KeyVault/managedHsm/rng/action" } /** @@ -375,6 +383,8 @@ export const enum KnownDataAction { * **Microsoft.KeyVault\/managedHsm\/roleAssignments\/read\/action**: Get role assignment. \ * **Microsoft.KeyVault\/managedHsm\/roleAssignments\/write\/action**: Create or update role assignment. \ * **Microsoft.KeyVault\/managedHsm\/roleDefinitions\/read\/action**: Get role definition. \ + * **Microsoft.KeyVault\/managedHsm\/roleDefinitions\/write\/action**: Create or update role definition. \ + * **Microsoft.KeyVault\/managedHsm\/roleDefinitions\/delete\/action**: Delete role definition. \ * **Microsoft.KeyVault\/managedHsm\/keys\/encrypt\/action**: Encrypt using an HSM key. \ * **Microsoft.KeyVault\/managedHsm\/keys\/decrypt\/action**: Decrypt using an HSM key. \ * **Microsoft.KeyVault\/managedHsm\/keys\/wrap\/action**: Wrap using an HSM key. \ @@ -384,21 +394,24 @@ export const enum KnownDataAction { * **Microsoft.KeyVault\/managedHsm\/keys\/create**: Create an HSM key. \ * **Microsoft.KeyVault\/managedHsm\/keys\/delete**: Delete an HSM key. \ * **Microsoft.KeyVault\/managedHsm\/keys\/export\/action**: Export an HSM key. \ + * **Microsoft.KeyVault\/managedHsm\/keys\/release\/action**: Release an HSM key using Secure Key Release. \ * **Microsoft.KeyVault\/managedHsm\/keys\/import\/action**: Import an HSM key. \ * **Microsoft.KeyVault\/managedHsm\/keys\/deletedKeys\/delete**: Purge a deleted HSM key. \ * **Microsoft.KeyVault\/managedHsm\/securitydomain\/download\/action**: Download an HSM security domain. \ + * **Microsoft.KeyVault\/managedHsm\/securitydomain\/download\/read**: Check status of HSM security domain download. \ * **Microsoft.KeyVault\/managedHsm\/securitydomain\/upload\/action**: Upload an HSM security domain. \ * **Microsoft.KeyVault\/managedHsm\/securitydomain\/upload\/read**: Check the status of the HSM security domain exchange file. \ * **Microsoft.KeyVault\/managedHsm\/securitydomain\/transferkey\/read**: Download an HSM security domain transfer key. \ * **Microsoft.KeyVault\/managedHsm\/backup\/start\/action**: Start an HSM backup. \ * **Microsoft.KeyVault\/managedHsm\/restore\/start\/action**: Start an HSM restore. \ * **Microsoft.KeyVault\/managedHsm\/backup\/status\/action**: Read an HSM backup status. \ - * **Microsoft.KeyVault\/managedHsm\/restore\/status\/action**: Read an HSM restore status. + * **Microsoft.KeyVault\/managedHsm\/restore\/status\/action**: Read an HSM restore status. \ + * **Microsoft.KeyVault\/managedHsm\/rng\/action**: Generate random numbers. */ export type DataAction = string; /** Known values of {@link RoleScope} that the service accepts. */ -export const enum KnownRoleScope { +export enum KnownRoleScope { /** Global scope */ Global = "/", /** Keys scope */ @@ -416,7 +429,7 @@ export const enum KnownRoleScope { export type RoleScope = string; /** Known values of {@link RoleDefinitionType} that the service accepts. */ -export const enum KnownRoleDefinitionType { +export enum KnownRoleDefinitionType { MicrosoftAuthorizationRoleDefinitions = "Microsoft.Authorization/roleDefinitions" } diff --git a/sdk/keyvault/keyvault-admin/swagger/README.md b/sdk/keyvault/keyvault-admin/swagger/README.md index 2be3120e039b..635c1127ccc5 100644 --- a/sdk/keyvault/keyvault-admin/swagger/README.md +++ b/sdk/keyvault/keyvault-admin/swagger/README.md @@ -11,11 +11,11 @@ generate-metadata: false add-credentials: false license-header: MICROSOFT_MIT_NO_VERSION input-file: - - https://raw.githubusercontent.com/Azure/azure-rest-api-specs/1e2c9f3ec93078da8078389941531359e274f32a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/rbac.json - - https://raw.githubusercontent.com/Azure/azure-rest-api-specs/1e2c9f3ec93078da8078389941531359e274f32a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json + - https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7a42f16c75e5005c59b75fe7f0888c1103294d43/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/rbac.json + - https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7a42f16c75e5005c59b75fe7f0888c1103294d43/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json output-folder: ../ source-code-folder-path: ./src/generated -package-version: 4.2.0-beta.1 +package-version: 4.2.0-beta.2 ``` ### Hide LROs diff --git a/sdk/keyvault/keyvault-admin/test/internal/serviceVersionParameter.spec.ts b/sdk/keyvault/keyvault-admin/test/internal/serviceVersionParameter.spec.ts index 54111694573b..93fa65871a13 100644 --- a/sdk/keyvault/keyvault-admin/test/internal/serviceVersionParameter.spec.ts +++ b/sdk/keyvault/keyvault-admin/test/internal/serviceVersionParameter.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as assert from "assert"; +import { assert } from "chai"; import { createSandbox, SinonSandbox, SinonSpy } from "sinon"; import { KeyVaultAccessControlClient, KeyVaultBackupClient } from "../../src"; import { LATEST_API_VERSION } from "../../src/constants"; @@ -12,11 +12,11 @@ import { HttpClient } from "@azure/core-rest-pipeline"; import { ClientSecretCredential } from "@azure/identity"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; import { URL } from "url"; // Adding this to the source would change the public API. -type ApIVersions = "7.2"; +type ApiVersions = "7.2" | "7.3-preview"; const baseUrl = "https://managed_hsm.managedhsm.azure.net/"; @@ -45,9 +45,9 @@ describe("The keyvault-admin clients should set the serviceVersion", () => { beforeEach(async () => { credential = new ClientSecretCredential( - env.AZURE_TENANT_ID!, - env.AZURE_CLIENT_ID!, - env.AZURE_CLIENT_SECRET! + env.AZURE_TENANT_ID || "tenant", + env.AZURE_CLIENT_ID || "client", + env.AZURE_CLIENT_SECRET || "secret" ); sandbox = createSandbox(); }); @@ -77,7 +77,7 @@ describe("The keyvault-admin clients should set the serviceVersion", () => { it("it should allow us to specify an API version from a specific set of versions", async function() { const serviceVersion = "7.2"; const client = new KeyVaultAccessControlClient(baseUrl, credential, { - serviceVersion: serviceVersion as ApIVersions, + serviceVersion: serviceVersion as ApiVersions, httpClient: mockHttpClient }); await client.listRoleDefinitions("/").next(); @@ -85,7 +85,7 @@ describe("The keyvault-admin clients should set the serviceVersion", () => { assert.ok(spy.called); const calls = spy.getCalls(); const params = new URL(calls[0].args[0].url); - assert.equal(params.searchParams.get("api-version"), LATEST_API_VERSION); + assert.equal(params.searchParams.get("api-version"), serviceVersion); }); }); @@ -110,7 +110,7 @@ describe("The keyvault-admin clients should set the serviceVersion", () => { it("it should allow us to specify an API version from a specific set of versions", async function() { const serviceVersion = "7.2"; const client = new KeyVaultBackupClient(baseUrl, credential, { - serviceVersion: serviceVersion as ApIVersions, + serviceVersion: serviceVersion as ApiVersions, httpClient: mockHttpClient }); await client.beginBackup("secretName", "value"); diff --git a/sdk/keyvault/keyvault-admin/test/public/accessControlClient.aborts.spec.ts b/sdk/keyvault/keyvault-admin/test/public/accessControlClient.aborts.spec.ts index fbd5246b3be0..0feb86f8cc98 100644 --- a/sdk/keyvault/keyvault-admin/test/public/accessControlClient.aborts.spec.ts +++ b/sdk/keyvault/keyvault-admin/test/public/accessControlClient.aborts.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { AbortController } from "@azure/abort-controller"; import { KeyVaultAccessControlClient } from "../../src"; diff --git a/sdk/keyvault/keyvault-admin/test/public/accessControlClient.spec.ts b/sdk/keyvault/keyvault-admin/test/public/accessControlClient.spec.ts index 8b2d8ff8d970..507d9d95e6ee 100644 --- a/sdk/keyvault/keyvault-admin/test/public/accessControlClient.spec.ts +++ b/sdk/keyvault/keyvault-admin/test/public/accessControlClient.spec.ts @@ -4,7 +4,7 @@ import chai, { assert } from "chai"; import chaiAsPromised from "chai-as-promised"; chai.use(chaiAsPromised); -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { KeyVaultAccessControlClient, diff --git a/sdk/keyvault/keyvault-admin/test/public/backupClient.abort.spec.ts b/sdk/keyvault/keyvault-admin/test/public/backupClient.abort.spec.ts index 4a26375a3d60..707390976652 100644 --- a/sdk/keyvault/keyvault-admin/test/public/backupClient.abort.spec.ts +++ b/sdk/keyvault/keyvault-admin/test/public/backupClient.abort.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { AbortController } from "@azure/abort-controller"; import { KeyVaultBackupClient } from "../../src"; diff --git a/sdk/keyvault/keyvault-admin/test/public/backupClient.spec.ts b/sdk/keyvault/keyvault-admin/test/public/backupClient.spec.ts index 0e0c3bd55c7f..4914267b1abf 100644 --- a/sdk/keyvault/keyvault-admin/test/public/backupClient.spec.ts +++ b/sdk/keyvault/keyvault-admin/test/public/backupClient.spec.ts @@ -4,7 +4,7 @@ import * as chai from "chai"; import chaiAsPromised from "chai-as-promised"; chai.use(chaiAsPromised); -import { isPlaybackMode, Recorder } from "@azure/test-utils-recorder"; +import { isPlaybackMode, Recorder } from "@azure-tools/test-recorder"; import { KeyVaultBackupClient } from "../../src"; import { authenticate } from "../utils/authentication"; diff --git a/sdk/keyvault/keyvault-admin/test/utils/authentication.ts b/sdk/keyvault/keyvault-admin/test/utils/authentication.ts index 283769598593..e23164bb6498 100644 --- a/sdk/keyvault/keyvault-admin/test/utils/authentication.ts +++ b/sdk/keyvault/keyvault-admin/test/utils/authentication.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { ClientSecretCredential } from "@azure/identity"; -import { isPlaybackMode, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { isPlaybackMode, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { KeyClient } from "@azure/keyvault-keys"; import { v4 as uuidv4 } from "uuid"; diff --git a/sdk/keyvault/keyvault-admin/test/utils/common.ts b/sdk/keyvault/keyvault-admin/test/utils/common.ts index 418f40d73317..20084e11867c 100644 --- a/sdk/keyvault/keyvault-admin/test/utils/common.ts +++ b/sdk/keyvault/keyvault-admin/test/utils/common.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import * as assert from "assert"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; // Async iterator's polyfill for Node 8 if (!Symbol || !(Symbol as any).asyncIterator) { diff --git a/sdk/keyvault/keyvault-admin/test/utils/recorder.ts b/sdk/keyvault/keyvault-admin/test/utils/recorder.ts index 01d8abd3a2d4..b5da666dd866 100644 --- a/sdk/keyvault/keyvault-admin/test/utils/recorder.ts +++ b/sdk/keyvault/keyvault-admin/test/utils/recorder.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { isPlaybackMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-util"; import * as dotenv from "dotenv"; diff --git a/sdk/keyvault/keyvault-certificates/CHANGELOG.md b/sdk/keyvault/keyvault-certificates/CHANGELOG.md index 2eee27e67264..d232572157ec 100644 --- a/sdk/keyvault/keyvault-certificates/CHANGELOG.md +++ b/sdk/keyvault/keyvault-certificates/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 4.3.1 (Unreleased) +## 4.4.0-beta.2 (Unreleased) ### Features Added @@ -10,6 +10,12 @@ ### Other Changes +## 4.4.0-beta.1 (2021-09-07) + +### Other Changes + +- Updated the latest service version to 7.3. + ## 4.3.0 (2021-07-29) ### Features Added diff --git a/sdk/keyvault/keyvault-certificates/karma.conf.js b/sdk/keyvault/keyvault-certificates/karma.conf.js index 3a74acf703ac..9612af868200 100644 --- a/sdk/keyvault/keyvault-certificates/karma.conf.js +++ b/sdk/keyvault/keyvault-certificates/karma.conf.js @@ -1,12 +1,12 @@ // https://github.com/karma-runner/karma-chrome-launcher process.env.CHROME_BIN = require("puppeteer").executablePath(); -require("dotenv").config({ path: "../.env" }); +require("dotenv").config(); const { jsonRecordingFilterFunction, isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/keyvault/keyvault-certificates/package.json b/sdk/keyvault/keyvault-certificates/package.json index 80c986d4381f..b15d450d9fa0 100644 --- a/sdk/keyvault/keyvault-certificates/package.json +++ b/sdk/keyvault/keyvault-certificates/package.json @@ -2,7 +2,7 @@ "name": "@azure/keyvault-certificates", "sdk-type": "client", "author": "Microsoft Corporation", - "version": "4.3.1", + "version": "4.4.0-beta.2", "license": "MIT", "description": "Isomorphic client library for Azure KeyVault's certificates.", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/keyvault/keyvault-certificates/README.md", @@ -45,9 +45,9 @@ "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:nodebrowser": "rollup -c 2>&1", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist-esm dist-test typings *.tgz *.log samples/typescript/dist", + "clean": "rimraf dist-esm dist-test types *.tgz *.log samples/typescript/dist", "execute:samples": "dev-tool samples run samples-dev", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"samples/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", @@ -58,7 +58,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "regenerate": "npx autorest swagger/README.md --typescript", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", @@ -118,10 +117,10 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.7", "@azure/keyvault-secrets": "^4.2.0", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", @@ -131,7 +130,6 @@ "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", - "@types/query-string": "6.2.0", "@types/sinon": "^9.0.4", "assert": "^1.4.1", "chai": "^4.2.0", @@ -156,8 +154,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", - "query-string": "^5.0.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", diff --git a/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__create_read_update_and_delete/recording_can_read_cancel_and_delete_a_certificates_operation.json b/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__create_read_update_and_delete/recording_can_read_cancel_and_delete_a_certificates_operation.json index 6c08eee02170..173cdcb09e9e 100644 --- a/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__create_read_update_and_delete/recording_can_read_cancel_and_delete_a_certificates_operation.json +++ b/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__create_read_update_and_delete/recording_can_read_cancel_and_delete_a_certificates_operation.json @@ -2,28 +2,28 @@ "recordings": [ { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/create", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/create", "query": { "api-version": "7.2" }, "requestBody": "", "status": 401, - "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "87", + "content-length": "97", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:11 GMT", + "date": "Mon, 20 Sep 2021 22:10:31 GMT", "expires": "-1", "pragma": "no-cache", - "status": "401", "strict-transport-security": "max-age=31536000;includeSubDomains", "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "4933a8ba-f13d-49d1-88f7-be1ccd6bf36c", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "d361dde1-822d-4d37-bf04-b3cc1eb99462", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "dd63394a-c388-4521-b3e6-0ff883f030c6", "x-powered-by": "ASP.NET" } }, @@ -31,446 +31,244 @@ "method": "POST", "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", "query": {}, - "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", "status": 200, "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", "responseHeaders": { "cache-control": "no-store, no-cache", "content-length": "1315", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:10 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+wst\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11496.6 - WUS2 ProdSlices", - "x-ms-request-id": "83d649a2-1493-4ffd-9026-5cd730f63200" + "x-ms-ests-server": "2.1.12071.7 - SCUS ProdSlices", + "x-ms-request-id": "8024f362-7408-46c7-a6c9-36cd254eab00" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/create", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/create", "query": { "api-version": "7.2" }, "requestBody": "{\"policy\":{\"key_props\":{},\"secret_props\":{},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{}},\"issuer\":{\"name\":\"Self\"},\"attributes\":{}},\"attributes\":{}}", "status": 202, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp1JGLEmT0SxTGNdQaVPo23Atw0nwvvlK0aSp9Ym15BEAG7RPg4k9UTXOQIFuO/0Vs/RJ1Kjok96j/r4IYX1E69j3ipYgIXScy50P6Fe/TpmRDmXKxr5eXy0nqaM31zh7vqS8F1lQoK/bubbMw5z3H2/nI5gxUqXs5P+hlaL7raFZH7Hg3mNjd5wnMzYXavNiGyAnwndsxplQ+plnzIGrd5Q1Gj9MYyskov1FCqNyQAtO7CSv8Q6jXXeUoRKPK3KCLb+4fGx40OJJd98VtoajMO7yDjfVSOKXmNzZPZIa5yUCwnN4IeZJ+hmQXR8vx+x/95XrQRBUuHW2973fKh+s1QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAHH6ao6CBAH7a3XKp+xCouIdlMN8lVmLMwU4f+a/BEJA66dZxksBGcnOeZvRVIKjQ43vrp6mEdf6/XqTtWtda9xonZRBvev33buFhptA9I1o/fbvYCNrHNZeF9e6lJ6ixbZl+LP2F/EHiCw9bs+L4uI2wFCERJAcRAZtstWVzALIZhlIFclYdsLagEx66s4+t/5ULAD4bCz3Cdxdew3K0HkP3+5lbHHQOzJiZN3y+aJLbyKJnpl1dREAGycwFuJnNaReHFBzbVv5nj10vWwtnu+6uok9Q4Z0nJ6yT2cBLkso/8At5vS6dfqvSIuQ1nADsRpnaBfRPl1uhchN58Eox00=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"1694491266ea41c59778a75ccaa29c7d\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwPfojcWz97x2fVGJ3Xa74D2mv8aaos9ZDIKFahkG2bNmDFJMCXcqn7cjo2RTCOWut73mQU+qqPI82NwtL27VsXMqHUi4isM19wygKcC++OgWrPzWOv2FRfj0kiHUQKasbjRKD3yLLkzcSROPk/BtHUiAlwT5uhzPp8Qpo7O8m/HPzbYIZE9HQzRtTt37hf3LnMTkYdWVcjyCxyN2cBU95IMOkAvlZJPyWITw4AmLYUJYZ+NC/ftyX1pnbBha5+qS9j4kN7bvx2CNfP2cG3LpFUDzRzS3DSPfL6RZlIWvIwX+OmGE9L6W+NYzN7O8H1XFKNM22CcYAwLSYpatFat1xQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBABtx9JVqfAxOSNhU5ir7DdGa8o9m/GGoZG84HPMvqb7A/M2SLopgtbdaRSr7ylD1+QcZWBUoVgl8QrotrBvyPVD4HVUWZtx0l7e/LYf/QoIMTMV4wmbqK7Q9fgYadjMHDu93bGLkBq0EWyVR3xghL2EYd2NANVKhBOVnIAm4alSRIeeIzqsrm+5Us1Z5DxWOQPtLvxVmhY0uB/fkSf4k3tL/j7Wc/yxl+6ZC1HpHSBERr0sunXkzctsBYm2k5Ep/OMkUmRFY5TaSKkyPB4E6wmYF20R3jJIM+jVD4AT/Ph8o0FTLX9Gv6uKTxjbyB1mo5ECW647EDGL8rCSMwwEgBMk=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ae726655ba7f46a180785d54d93f6bc6\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1348", + "content-length": "1302", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:11 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", - "location": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending?api-version=7.2&request_id=1694491266ea41c59778a75ccaa29c7d", + "location": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending?api-version=7.2&request_id=ae726655ba7f46a180785d54d93f6bc6", "pragma": "no-cache", "retry-after": "10", - "status": "202", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "4933a8ba-f13d-49d1-88f7-be1ccd6bf36c", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "2de51202-7a11-4e0a-90d8-9dc0c0055328", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "108a2b6d-e4e1-4fdf-8b05-10afa0e115f5", "x-powered-by": "ASP.NET" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending", "query": { "api-version": "7.2" }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp1JGLEmT0SxTGNdQaVPo23Atw0nwvvlK0aSp9Ym15BEAG7RPg4k9UTXOQIFuO/0Vs/RJ1Kjok96j/r4IYX1E69j3ipYgIXScy50P6Fe/TpmRDmXKxr5eXy0nqaM31zh7vqS8F1lQoK/bubbMw5z3H2/nI5gxUqXs5P+hlaL7raFZH7Hg3mNjd5wnMzYXavNiGyAnwndsxplQ+plnzIGrd5Q1Gj9MYyskov1FCqNyQAtO7CSv8Q6jXXeUoRKPK3KCLb+4fGx40OJJd98VtoajMO7yDjfVSOKXmNzZPZIa5yUCwnN4IeZJ+hmQXR8vx+x/95XrQRBUuHW2973fKh+s1QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAHH6ao6CBAH7a3XKp+xCouIdlMN8lVmLMwU4f+a/BEJA66dZxksBGcnOeZvRVIKjQ43vrp6mEdf6/XqTtWtda9xonZRBvev33buFhptA9I1o/fbvYCNrHNZeF9e6lJ6ixbZl+LP2F/EHiCw9bs+L4uI2wFCERJAcRAZtstWVzALIZhlIFclYdsLagEx66s4+t/5ULAD4bCz3Cdxdew3K0HkP3+5lbHHQOzJiZN3y+aJLbyKJnpl1dREAGycwFuJnNaReHFBzbVv5nj10vWwtnu+6uok9Q4Z0nJ6yT2cBLkso/8At5vS6dfqvSIuQ1nADsRpnaBfRPl1uhchN58Eox00=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"1694491266ea41c59778a75ccaa29c7d\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwPfojcWz97x2fVGJ3Xa74D2mv8aaos9ZDIKFahkG2bNmDFJMCXcqn7cjo2RTCOWut73mQU+qqPI82NwtL27VsXMqHUi4isM19wygKcC++OgWrPzWOv2FRfj0kiHUQKasbjRKD3yLLkzcSROPk/BtHUiAlwT5uhzPp8Qpo7O8m/HPzbYIZE9HQzRtTt37hf3LnMTkYdWVcjyCxyN2cBU95IMOkAvlZJPyWITw4AmLYUJYZ+NC/ftyX1pnbBha5+qS9j4kN7bvx2CNfP2cG3LpFUDzRzS3DSPfL6RZlIWvIwX+OmGE9L6W+NYzN7O8H1XFKNM22CcYAwLSYpatFat1xQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBABtx9JVqfAxOSNhU5ir7DdGa8o9m/GGoZG84HPMvqb7A/M2SLopgtbdaRSr7ylD1+QcZWBUoVgl8QrotrBvyPVD4HVUWZtx0l7e/LYf/QoIMTMV4wmbqK7Q9fgYadjMHDu93bGLkBq0EWyVR3xghL2EYd2NANVKhBOVnIAm4alSRIeeIzqsrm+5Us1Z5DxWOQPtLvxVmhY0uB/fkSf4k3tL/j7Wc/yxl+6ZC1HpHSBERr0sunXkzctsBYm2k5Ep/OMkUmRFY5TaSKkyPB4E6wmYF20R3jJIM+jVD4AT/Ph8o0FTLX9Gv6uKTxjbyB1mo5ECW647EDGL8rCSMwwEgBMk=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ae726655ba7f46a180785d54d93f6bc6\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1348", + "content-length": "1302", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:11 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "0610339e-f78a-4cca-8c4f-fffe96c80f93", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "b020dbc4-d2b2-4ae7-ba43-a94d42ee550f", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "64d5ebec-d1e4-42ca-9209-519ef75fa057", "x-powered-by": "ASP.NET" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/", "query": { "api-version": "7.2" }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/4cf53285a5124e81a7908108f6e25f5a\",\"attributes\":{\"enabled\":false,\"nbf\":1613502551,\"exp\":1645039151,\"created\":1613503151,\"updated\":1613503151,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503152,\"updated\":1613503152}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending\"}}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/225037e718a34d11b09010b07a77fd4c\",\"attributes\":{\"enabled\":false,\"nbf\":1632175232,\"exp\":1663711832,\"created\":1632175832,\"updated\":1632175832,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1632175832,\"updated\":1632175832}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1184", + "content-length": "1046", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:11 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "adc1043c-6a0d-4d77-a817-4cd7ccf5f01f", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "67070408-eeb2-4d33-a4fb-43aebe7a8e1e", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "791076e2-ea8a-41e6-94c4-2da77a78d69d", "x-powered-by": "ASP.NET" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending", "query": { "api-version": "7.2" }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp1JGLEmT0SxTGNdQaVPo23Atw0nwvvlK0aSp9Ym15BEAG7RPg4k9UTXOQIFuO/0Vs/RJ1Kjok96j/r4IYX1E69j3ipYgIXScy50P6Fe/TpmRDmXKxr5eXy0nqaM31zh7vqS8F1lQoK/bubbMw5z3H2/nI5gxUqXs5P+hlaL7raFZH7Hg3mNjd5wnMzYXavNiGyAnwndsxplQ+plnzIGrd5Q1Gj9MYyskov1FCqNyQAtO7CSv8Q6jXXeUoRKPK3KCLb+4fGx40OJJd98VtoajMO7yDjfVSOKXmNzZPZIa5yUCwnN4IeZJ+hmQXR8vx+x/95XrQRBUuHW2973fKh+s1QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAHH6ao6CBAH7a3XKp+xCouIdlMN8lVmLMwU4f+a/BEJA66dZxksBGcnOeZvRVIKjQ43vrp6mEdf6/XqTtWtda9xonZRBvev33buFhptA9I1o/fbvYCNrHNZeF9e6lJ6ixbZl+LP2F/EHiCw9bs+L4uI2wFCERJAcRAZtstWVzALIZhlIFclYdsLagEx66s4+t/5ULAD4bCz3Cdxdew3K0HkP3+5lbHHQOzJiZN3y+aJLbyKJnpl1dREAGycwFuJnNaReHFBzbVv5nj10vWwtnu+6uok9Q4Z0nJ6yT2cBLkso/8At5vS6dfqvSIuQ1nADsRpnaBfRPl1uhchN58Eox00=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"1694491266ea41c59778a75ccaa29c7d\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwPfojcWz97x2fVGJ3Xa74D2mv8aaos9ZDIKFahkG2bNmDFJMCXcqn7cjo2RTCOWut73mQU+qqPI82NwtL27VsXMqHUi4isM19wygKcC++OgWrPzWOv2FRfj0kiHUQKasbjRKD3yLLkzcSROPk/BtHUiAlwT5uhzPp8Qpo7O8m/HPzbYIZE9HQzRtTt37hf3LnMTkYdWVcjyCxyN2cBU95IMOkAvlZJPyWITw4AmLYUJYZ+NC/ftyX1pnbBha5+qS9j4kN7bvx2CNfP2cG3LpFUDzRzS3DSPfL6RZlIWvIwX+OmGE9L6W+NYzN7O8H1XFKNM22CcYAwLSYpatFat1xQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBABtx9JVqfAxOSNhU5ir7DdGa8o9m/GGoZG84HPMvqb7A/M2SLopgtbdaRSr7ylD1+QcZWBUoVgl8QrotrBvyPVD4HVUWZtx0l7e/LYf/QoIMTMV4wmbqK7Q9fgYadjMHDu93bGLkBq0EWyVR3xghL2EYd2NANVKhBOVnIAm4alSRIeeIzqsrm+5Us1Z5DxWOQPtLvxVmhY0uB/fkSf4k3tL/j7Wc/yxl+6ZC1HpHSBERr0sunXkzctsBYm2k5Ep/OMkUmRFY5TaSKkyPB4E6wmYF20R3jJIM+jVD4AT/Ph8o0FTLX9Gv6uKTxjbyB1mo5ECW647EDGL8rCSMwwEgBMk=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ae726655ba7f46a180785d54d93f6bc6\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1348", + "content-length": "1302", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:12 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "0cc1df5f-6d10-43ac-bf06-a7609449e1b1", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "af002994-5b77-4437-8ddb-4de00110db27", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "af0fcba2-bad8-4aed-a220-195a89678321", "x-powered-by": "ASP.NET" } }, { "method": "PATCH", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending", "query": { "api-version": "7.2" }, "requestBody": "{\"cancellation_requested\":true}", "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp1JGLEmT0SxTGNdQaVPo23Atw0nwvvlK0aSp9Ym15BEAG7RPg4k9UTXOQIFuO/0Vs/RJ1Kjok96j/r4IYX1E69j3ipYgIXScy50P6Fe/TpmRDmXKxr5eXy0nqaM31zh7vqS8F1lQoK/bubbMw5z3H2/nI5gxUqXs5P+hlaL7raFZH7Hg3mNjd5wnMzYXavNiGyAnwndsxplQ+plnzIGrd5Q1Gj9MYyskov1FCqNyQAtO7CSv8Q6jXXeUoRKPK3KCLb+4fGx40OJJd98VtoajMO7yDjfVSOKXmNzZPZIa5yUCwnN4IeZJ+hmQXR8vx+x/95XrQRBUuHW2973fKh+s1QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAHH6ao6CBAH7a3XKp+xCouIdlMN8lVmLMwU4f+a/BEJA66dZxksBGcnOeZvRVIKjQ43vrp6mEdf6/XqTtWtda9xonZRBvev33buFhptA9I1o/fbvYCNrHNZeF9e6lJ6ixbZl+LP2F/EHiCw9bs+L4uI2wFCERJAcRAZtstWVzALIZhlIFclYdsLagEx66s4+t/5ULAD4bCz3Cdxdew3K0HkP3+5lbHHQOzJiZN3y+aJLbyKJnpl1dREAGycwFuJnNaReHFBzbVv5nj10vWwtnu+6uok9Q4Z0nJ6yT2cBLkso/8At5vS6dfqvSIuQ1nADsRpnaBfRPl1uhchN58Eox00=\",\"cancellation_requested\":true,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"1694491266ea41c59778a75ccaa29c7d\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwPfojcWz97x2fVGJ3Xa74D2mv8aaos9ZDIKFahkG2bNmDFJMCXcqn7cjo2RTCOWut73mQU+qqPI82NwtL27VsXMqHUi4isM19wygKcC++OgWrPzWOv2FRfj0kiHUQKasbjRKD3yLLkzcSROPk/BtHUiAlwT5uhzPp8Qpo7O8m/HPzbYIZE9HQzRtTt37hf3LnMTkYdWVcjyCxyN2cBU95IMOkAvlZJPyWITw4AmLYUJYZ+NC/ftyX1pnbBha5+qS9j4kN7bvx2CNfP2cG3LpFUDzRzS3DSPfL6RZlIWvIwX+OmGE9L6W+NYzN7O8H1XFKNM22CcYAwLSYpatFat1xQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBABtx9JVqfAxOSNhU5ir7DdGa8o9m/GGoZG84HPMvqb7A/M2SLopgtbdaRSr7ylD1+QcZWBUoVgl8QrotrBvyPVD4HVUWZtx0l7e/LYf/QoIMTMV4wmbqK7Q9fgYadjMHDu93bGLkBq0EWyVR3xghL2EYd2NANVKhBOVnIAm4alSRIeeIzqsrm+5Us1Z5DxWOQPtLvxVmhY0uB/fkSf4k3tL/j7Wc/yxl+6ZC1HpHSBERr0sunXkzctsBYm2k5Ep/OMkUmRFY5TaSKkyPB4E6wmYF20R3jJIM+jVD4AT/Ph8o0FTLX9Gv6uKTxjbyB1mo5ECW647EDGL8rCSMwwEgBMk=\",\"cancellation_requested\":true,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ae726655ba7f46a180785d54d93f6bc6\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1347", + "content-length": "1301", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:12 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "3dc746c9-e475-4f84-bb8c-736fd4e5f4a0", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "bb0c0439-141e-440e-bed4-49e972465a55", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "ed5285da-cb31-42d3-8161-45dca3353084", "x-powered-by": "ASP.NET" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending", "query": { "api-version": "7.2" }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp1JGLEmT0SxTGNdQaVPo23Atw0nwvvlK0aSp9Ym15BEAG7RPg4k9UTXOQIFuO/0Vs/RJ1Kjok96j/r4IYX1E69j3ipYgIXScy50P6Fe/TpmRDmXKxr5eXy0nqaM31zh7vqS8F1lQoK/bubbMw5z3H2/nI5gxUqXs5P+hlaL7raFZH7Hg3mNjd5wnMzYXavNiGyAnwndsxplQ+plnzIGrd5Q1Gj9MYyskov1FCqNyQAtO7CSv8Q6jXXeUoRKPK3KCLb+4fGx40OJJd98VtoajMO7yDjfVSOKXmNzZPZIa5yUCwnN4IeZJ+hmQXR8vx+x/95XrQRBUuHW2973fKh+s1QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAHH6ao6CBAH7a3XKp+xCouIdlMN8lVmLMwU4f+a/BEJA66dZxksBGcnOeZvRVIKjQ43vrp6mEdf6/XqTtWtda9xonZRBvev33buFhptA9I1o/fbvYCNrHNZeF9e6lJ6ixbZl+LP2F/EHiCw9bs+L4uI2wFCERJAcRAZtstWVzALIZhlIFclYdsLagEx66s4+t/5ULAD4bCz3Cdxdew3K0HkP3+5lbHHQOzJiZN3y+aJLbyKJnpl1dREAGycwFuJnNaReHFBzbVv5nj10vWwtnu+6uok9Q4Z0nJ6yT2cBLkso/8At5vS6dfqvSIuQ1nADsRpnaBfRPl1uhchN58Eox00=\",\"cancellation_requested\":true,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"1694491266ea41c59778a75ccaa29c7d\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwPfojcWz97x2fVGJ3Xa74D2mv8aaos9ZDIKFahkG2bNmDFJMCXcqn7cjo2RTCOWut73mQU+qqPI82NwtL27VsXMqHUi4isM19wygKcC++OgWrPzWOv2FRfj0kiHUQKasbjRKD3yLLkzcSROPk/BtHUiAlwT5uhzPp8Qpo7O8m/HPzbYIZE9HQzRtTt37hf3LnMTkYdWVcjyCxyN2cBU95IMOkAvlZJPyWITw4AmLYUJYZ+NC/ftyX1pnbBha5+qS9j4kN7bvx2CNfP2cG3LpFUDzRzS3DSPfL6RZlIWvIwX+OmGE9L6W+NYzN7O8H1XFKNM22CcYAwLSYpatFat1xQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBABtx9JVqfAxOSNhU5ir7DdGa8o9m/GGoZG84HPMvqb7A/M2SLopgtbdaRSr7ylD1+QcZWBUoVgl8QrotrBvyPVD4HVUWZtx0l7e/LYf/QoIMTMV4wmbqK7Q9fgYadjMHDu93bGLkBq0EWyVR3xghL2EYd2NANVKhBOVnIAm4alSRIeeIzqsrm+5Us1Z5DxWOQPtLvxVmhY0uB/fkSf4k3tL/j7Wc/yxl+6ZC1HpHSBERr0sunXkzctsBYm2k5Ep/OMkUmRFY5TaSKkyPB4E6wmYF20R3jJIM+jVD4AT/Ph8o0FTLX9Gv6uKTxjbyB1mo5ECW647EDGL8rCSMwwEgBMk=\",\"cancellation_requested\":true,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ae726655ba7f46a180785d54d93f6bc6\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1347", + "content-length": "1301", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:12 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f0fc1c5b-1e02-4348-96fb-bc52f7b82b06", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "0ade378c-ad6b-4b95-b6d4-249548692881", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "a3a9abbc-0f77-4fe9-8a70-804d0b74baec", "x-powered-by": "ASP.NET" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/", "query": { "api-version": "7.2" }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/4cf53285a5124e81a7908108f6e25f5a\",\"attributes\":{\"enabled\":false,\"nbf\":1613502551,\"exp\":1645039151,\"created\":1613503151,\"updated\":1613503151,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503152,\"updated\":1613503152}}}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/225037e718a34d11b09010b07a77fd4c\",\"attributes\":{\"enabled\":false,\"nbf\":1632175232,\"exp\":1663711832,\"created\":1632175832,\"updated\":1632175832,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1632175832,\"updated\":1632175832}}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1028", + "content-length": "936", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:12 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "6fb0fbc9-4ab2-4749-b2a3-03b47bda5d20", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "829cddf8-3497-4eeb-831e-bb78ab85f282", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "91df96ad-795e-4877-98b7-3d079c36da1a", "x-powered-by": "ASP.NET" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending", + "url": "https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217583204004746/pending", "query": { "api-version": "7.2" }, "requestBody": null, "status": 404, - "response": "{\"error\":{\"code\":\"PendingCertificateNotFound\",\"message\":\"Pending certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-\"}}", + "response": "{\"error\":{\"code\":\"PendingCertificateNotFound\",\"message\":\"Pending certificate not found: crudcertoperation163217583204004746\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "172", + "content-length": "126", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:12 GMT", + "date": "Mon, 20 Sep 2021 22:10:32 GMT", "expires": "-1", "pragma": "no-cache", - "status": "404", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", + "x-ms-client-request-id": "1c4c1421-d033-4278-aa31-78defee531b7", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "e2004d12-7078-4350-b79f-4ff72091bbd0", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-\",\"deletedDate\":1613503152,\"scheduledPurgeDate\":1614107952,\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/4cf53285a5124e81a7908108f6e25f5a\",\"attributes\":{\"enabled\":false,\"nbf\":1613502551,\"exp\":1645039151,\"created\":1613503151,\"updated\":1613503151,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503152,\"updated\":1613503152}}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "1236", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:12 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "28baf022-9d0e-4b4b-b7e1-a44e415b15a5", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "165", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:12 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "40a5a55c-5f37-4342-a145-fc5122644546", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "165", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:12 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "b84412d5-78b2-4d56-aade-1602aba6f159", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "165", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:14 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "6751e2eb-a46f-41a3-9e15-7e059615f9c3", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "165", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:16 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "458a405e-ea2f-4114-b1ca-ceeaa22bfe43", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "165", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:19 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "adec2b7c-7f91-450a-b30a-741ea2edbc76", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-\",\"deletedDate\":1613503152,\"scheduledPurgeDate\":1614107952,\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/4cf53285a5124e81a7908108f6e25f5a\",\"attributes\":{\"enabled\":false,\"nbf\":1613502551,\"exp\":1645039151,\"created\":1613503151,\"updated\":1613503151,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503152,\"updated\":1613503152}}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "1236", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:19:21 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "458da7b1-dd16-44c0-a978-dad1934bb60c", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 204, - "response": "", - "responseHeaders": { - "cache-control": "no-cache", - "date": "Tue, 16 Feb 2021 19:19:21 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "204", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "4c593dd8-ca77-4456-ac4e-260a5008b5ce", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "cb348250-fce7-4448-a4e6-e601f2e4f981", "x-powered-by": "ASP.NET" } } ], "uniqueTestInfo": { - "uniqueName": {}, + "uniqueName": { + "crudcertoperation": "crudcertoperation163217583204004746" + }, "newDate": {} }, - "hash": "febc97be1252a6070f86b22b0a09a172" + "hash": "2111338004d4caa1823e07fd8e932780" } \ No newline at end of file diff --git a/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.json b/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.json index 84de7dec838b..7afbd0e954d8 100644 --- a/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.json +++ b/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.json @@ -8,22 +8,22 @@ }, "requestBody": "", "status": 401, - "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "87", + "content-length": "97", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:05 GMT", + "date": "Mon, 13 Sep 2021 19:50:14 GMT", "expires": "-1", "pragma": "no-cache", - "status": "401", "strict-transport-security": "max-age=31536000;includeSubDomains", "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "fce650ec-7364-485f-96ec-fbbb25247cee", + "x-ms-client-request-id": "36010f75-34c7-44e1-86b0-42e8fb7f9fca", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "8cc86ec1-049c-46ee-a198-643c98de3d83", "x-powered-by": "ASP.NET" } }, @@ -31,22 +31,24 @@ "method": "POST", "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", "query": {}, - "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", "status": 200, "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", "responseHeaders": { "cache-control": "no-store, no-cache", "content-length": "1315", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:05 GMT", + "date": "Mon, 13 Sep 2021 19:50:15 GMT", "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+est\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11496.5 - SCUS ProdSlices", - "x-ms-request-id": "0d140c73-75f7-4449-94da-a8a023ccf500" + "x-ms-ests-server": "2.1.12025.15 - WUS2 ProdSlices", + "x-ms-request-id": "298090c7-c826-4470-bdd5-9e8be6c2e400" } }, { @@ -57,23 +59,23 @@ }, "requestBody": "{\"policy\":{\"key_props\":{},\"secret_props\":{},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{}},\"issuer\":{\"name\":\"Self\"},\"attributes\":{}},\"attributes\":{}}", "status": 202, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoR6EDePuWpjRxVF0iPAm//15FJX9J49SkkP6GEeMdMQQD5XkIC51qgTnfLQbUbDLCwQEfN46G2EqbG7bK1aFsQgSUeVvNA443fkHjQbhHivA1H5WFdMjyWgJnwGqQ97xOrxK2bIVjlDjAo3JsdF2ug8AEkJdOsUI4N+iLLbScETGZK0REHqX4Hf3/uIDApME4pRSAs4xSru3JV0YVyADeRDVycAia9G4p+0EaJW+DX+CxItgpDvSidPRD5GAgIkzZUfqkGgrd6F9vInpndb0362AdWiu01pA5yoPLs1d8UzfrjL71PsVW6djwn91ahP8G5e/trN+iWQPOn/Af6rqtQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFP7BQadEzJvQkn0u84JgD3Ni1v2OvWxAz1nVuUifWGNnDS92ts3vxWjtPEzlkHtn90tazHOLqSymP9a1nw6cP1tZZsi5jKXJaylYNy/3fHw3AKKFL37fDz9Xuz8xcQ5VUXqNe3rIrm8/s3urxztKCrgLB3BaGYPjiF9BoYG7ruJ0En54mHTw/JyBZ48fW3ro3mVAbWWTTijGIFyKfgVbROG9Y50Uwz9OrhXfx/Q7cgdv/Pq9lViJE7UJ4qXywgiDbDmCtvpPmJeMlUkiHyhJ0Hu+FVpm1s1NW0Y1HSvspmfLLD7voGtwj/9793RDcAyxVAW0Z3kEaIQZILvlvXUUXA=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"57e84187dbc94f59b321c426b803fb50\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBwQjw+x0LsS0FJV2meBbK0aA8LkDQGuKOXdTYWflRVPX0PsM0ZDGEvK5Mf3mmVWYzR6bCAftaqdP05erV7TTiCUwab6qzr+XjaW5Cn9Z5Gk4jb88+kQtnAdwTLjA5Qffql/mOWLmzlDVFxOKbqe7RPryoj4QBwdJ6W9m9tekZyxAkPTYNIOzs1a3kDLZHNqrEDQWtaU8e4KKwdFdWE5IVssGr3UrFF+vQAoP2TYvUAHsoiRk3qh4eFoevLpP6t4yA2ylppaxZxyY+Tvdqy4e+PlCi4ZPn5t9pfEOusMNHI2j2IlTibZQLpF9YB+H4+hjYcPoNXq/+HhJoqfhRFs7QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKORBBf1tXgY2ZdZjLI2kgr4hEY4TnCdq6bncxyC2UO7s/FmQzE6EsHtBLEx94Q6nx2dKWT5RVsx480vXP7vpTNYAfBovortMwoB6zJE6IvssRsTGdH18Tvv8jkonmHeOxMELRXB3kWbispsD9YNSVoCS+QRx5o74O5AR1GduYNiqml2ef1FSXOkAxG60CSGXyNGaYhd5klc0jQs+zqeSYpRXJ39fQXHeFkSBS8ZzwMaKrO7aSW21m1oMVIrmbkp7LSmf87Hrl+lmF6vGq4VVbmcKxiSLsO0FoV6frhi+KSIlNG7NgSMCZhlpz5RFEqyb0DaPGLBdadzTRTL2hua69Y=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"26cb8a623b71479d9a338d8857d3b8d8\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1362", + "content-length": "1363", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:06 GMT", + "date": "Mon, 13 Sep 2021 19:50:14 GMT", "expires": "-1", - "location": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending?api-version=7.2&request_id=57e84187dbc94f59b321c426b803fb50", + "location": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending?api-version=7.2&request_id=26cb8a623b71479d9a338d8857d3b8d8", "pragma": "no-cache", "retry-after": "10", - "status": "202", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "b10cf48e-1f31-4fe7-ac89-376ad5e5b43f", + "x-ms-client-request-id": "36010f75-34c7-44e1-86b0-42e8fb7f9fca", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "89341173-a5c8-4fa9-aa03-5cc4a7ff1e1e", "x-powered-by": "ASP.NET" } }, @@ -85,22 +87,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoR6EDePuWpjRxVF0iPAm//15FJX9J49SkkP6GEeMdMQQD5XkIC51qgTnfLQbUbDLCwQEfN46G2EqbG7bK1aFsQgSUeVvNA443fkHjQbhHivA1H5WFdMjyWgJnwGqQ97xOrxK2bIVjlDjAo3JsdF2ug8AEkJdOsUI4N+iLLbScETGZK0REHqX4Hf3/uIDApME4pRSAs4xSru3JV0YVyADeRDVycAia9G4p+0EaJW+DX+CxItgpDvSidPRD5GAgIkzZUfqkGgrd6F9vInpndb0362AdWiu01pA5yoPLs1d8UzfrjL71PsVW6djwn91ahP8G5e/trN+iWQPOn/Af6rqtQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFP7BQadEzJvQkn0u84JgD3Ni1v2OvWxAz1nVuUifWGNnDS92ts3vxWjtPEzlkHtn90tazHOLqSymP9a1nw6cP1tZZsi5jKXJaylYNy/3fHw3AKKFL37fDz9Xuz8xcQ5VUXqNe3rIrm8/s3urxztKCrgLB3BaGYPjiF9BoYG7ruJ0En54mHTw/JyBZ48fW3ro3mVAbWWTTijGIFyKfgVbROG9Y50Uwz9OrhXfx/Q7cgdv/Pq9lViJE7UJ4qXywgiDbDmCtvpPmJeMlUkiHyhJ0Hu+FVpm1s1NW0Y1HSvspmfLLD7voGtwj/9793RDcAyxVAW0Z3kEaIQZILvlvXUUXA=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"57e84187dbc94f59b321c426b803fb50\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBwQjw+x0LsS0FJV2meBbK0aA8LkDQGuKOXdTYWflRVPX0PsM0ZDGEvK5Mf3mmVWYzR6bCAftaqdP05erV7TTiCUwab6qzr+XjaW5Cn9Z5Gk4jb88+kQtnAdwTLjA5Qffql/mOWLmzlDVFxOKbqe7RPryoj4QBwdJ6W9m9tekZyxAkPTYNIOzs1a3kDLZHNqrEDQWtaU8e4KKwdFdWE5IVssGr3UrFF+vQAoP2TYvUAHsoiRk3qh4eFoevLpP6t4yA2ylppaxZxyY+Tvdqy4e+PlCi4ZPn5t9pfEOusMNHI2j2IlTibZQLpF9YB+H4+hjYcPoNXq/+HhJoqfhRFs7QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKORBBf1tXgY2ZdZjLI2kgr4hEY4TnCdq6bncxyC2UO7s/FmQzE6EsHtBLEx94Q6nx2dKWT5RVsx480vXP7vpTNYAfBovortMwoB6zJE6IvssRsTGdH18Tvv8jkonmHeOxMELRXB3kWbispsD9YNSVoCS+QRx5o74O5AR1GduYNiqml2ef1FSXOkAxG60CSGXyNGaYhd5klc0jQs+zqeSYpRXJ39fQXHeFkSBS8ZzwMaKrO7aSW21m1oMVIrmbkp7LSmf87Hrl+lmF6vGq4VVbmcKxiSLsO0FoV6frhi+KSIlNG7NgSMCZhlpz5RFEqyb0DaPGLBdadzTRTL2hua69Y=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"26cb8a623b71479d9a338d8857d3b8d8\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1362", + "content-length": "1363", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:06 GMT", + "date": "Mon, 13 Sep 2021 19:50:14 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "ddea56a1-f9ab-432d-9cfd-0beb1246914e", + "x-ms-client-request-id": "b3b53553-0ba8-41aa-b8f9-31443fce5bb1", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "f13104a2-6884-4346-83fc-e9df69f4c372", "x-powered-by": "ASP.NET" } }, @@ -112,22 +114,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoR6EDePuWpjRxVF0iPAm//15FJX9J49SkkP6GEeMdMQQD5XkIC51qgTnfLQbUbDLCwQEfN46G2EqbG7bK1aFsQgSUeVvNA443fkHjQbhHivA1H5WFdMjyWgJnwGqQ97xOrxK2bIVjlDjAo3JsdF2ug8AEkJdOsUI4N+iLLbScETGZK0REHqX4Hf3/uIDApME4pRSAs4xSru3JV0YVyADeRDVycAia9G4p+0EaJW+DX+CxItgpDvSidPRD5GAgIkzZUfqkGgrd6F9vInpndb0362AdWiu01pA5yoPLs1d8UzfrjL71PsVW6djwn91ahP8G5e/trN+iWQPOn/Af6rqtQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFP7BQadEzJvQkn0u84JgD3Ni1v2OvWxAz1nVuUifWGNnDS92ts3vxWjtPEzlkHtn90tazHOLqSymP9a1nw6cP1tZZsi5jKXJaylYNy/3fHw3AKKFL37fDz9Xuz8xcQ5VUXqNe3rIrm8/s3urxztKCrgLB3BaGYPjiF9BoYG7ruJ0En54mHTw/JyBZ48fW3ro3mVAbWWTTijGIFyKfgVbROG9Y50Uwz9OrhXfx/Q7cgdv/Pq9lViJE7UJ4qXywgiDbDmCtvpPmJeMlUkiHyhJ0Hu+FVpm1s1NW0Y1HSvspmfLLD7voGtwj/9793RDcAyxVAW0Z3kEaIQZILvlvXUUXA=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"57e84187dbc94f59b321c426b803fb50\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBwQjw+x0LsS0FJV2meBbK0aA8LkDQGuKOXdTYWflRVPX0PsM0ZDGEvK5Mf3mmVWYzR6bCAftaqdP05erV7TTiCUwab6qzr+XjaW5Cn9Z5Gk4jb88+kQtnAdwTLjA5Qffql/mOWLmzlDVFxOKbqe7RPryoj4QBwdJ6W9m9tekZyxAkPTYNIOzs1a3kDLZHNqrEDQWtaU8e4KKwdFdWE5IVssGr3UrFF+vQAoP2TYvUAHsoiRk3qh4eFoevLpP6t4yA2ylppaxZxyY+Tvdqy4e+PlCi4ZPn5t9pfEOusMNHI2j2IlTibZQLpF9YB+H4+hjYcPoNXq/+HhJoqfhRFs7QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKORBBf1tXgY2ZdZjLI2kgr4hEY4TnCdq6bncxyC2UO7s/FmQzE6EsHtBLEx94Q6nx2dKWT5RVsx480vXP7vpTNYAfBovortMwoB6zJE6IvssRsTGdH18Tvv8jkonmHeOxMELRXB3kWbispsD9YNSVoCS+QRx5o74O5AR1GduYNiqml2ef1FSXOkAxG60CSGXyNGaYhd5klc0jQs+zqeSYpRXJ39fQXHeFkSBS8ZzwMaKrO7aSW21m1oMVIrmbkp7LSmf87Hrl+lmF6vGq4VVbmcKxiSLsO0FoV6frhi+KSIlNG7NgSMCZhlpz5RFEqyb0DaPGLBdadzTRTL2hua69Y=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"26cb8a623b71479d9a338d8857d3b8d8\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1362", + "content-length": "1363", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:06 GMT", + "date": "Mon, 13 Sep 2021 19:50:15 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "9ae703a9-af03-4763-8be5-6e51bd8e0c93", + "x-ms-client-request-id": "3f0359e3-8a61-4422-9aa6-aeb3c828df5a", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "f4288dfc-8462-4a6f-8a8b-dcb155c94b05", "x-powered-by": "ASP.NET" } }, @@ -139,22 +141,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoR6EDePuWpjRxVF0iPAm//15FJX9J49SkkP6GEeMdMQQD5XkIC51qgTnfLQbUbDLCwQEfN46G2EqbG7bK1aFsQgSUeVvNA443fkHjQbhHivA1H5WFdMjyWgJnwGqQ97xOrxK2bIVjlDjAo3JsdF2ug8AEkJdOsUI4N+iLLbScETGZK0REHqX4Hf3/uIDApME4pRSAs4xSru3JV0YVyADeRDVycAia9G4p+0EaJW+DX+CxItgpDvSidPRD5GAgIkzZUfqkGgrd6F9vInpndb0362AdWiu01pA5yoPLs1d8UzfrjL71PsVW6djwn91ahP8G5e/trN+iWQPOn/Af6rqtQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFP7BQadEzJvQkn0u84JgD3Ni1v2OvWxAz1nVuUifWGNnDS92ts3vxWjtPEzlkHtn90tazHOLqSymP9a1nw6cP1tZZsi5jKXJaylYNy/3fHw3AKKFL37fDz9Xuz8xcQ5VUXqNe3rIrm8/s3urxztKCrgLB3BaGYPjiF9BoYG7ruJ0En54mHTw/JyBZ48fW3ro3mVAbWWTTijGIFyKfgVbROG9Y50Uwz9OrhXfx/Q7cgdv/Pq9lViJE7UJ4qXywgiDbDmCtvpPmJeMlUkiHyhJ0Hu+FVpm1s1NW0Y1HSvspmfLLD7voGtwj/9793RDcAyxVAW0Z3kEaIQZILvlvXUUXA=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"57e84187dbc94f59b321c426b803fb50\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBwQjw+x0LsS0FJV2meBbK0aA8LkDQGuKOXdTYWflRVPX0PsM0ZDGEvK5Mf3mmVWYzR6bCAftaqdP05erV7TTiCUwab6qzr+XjaW5Cn9Z5Gk4jb88+kQtnAdwTLjA5Qffql/mOWLmzlDVFxOKbqe7RPryoj4QBwdJ6W9m9tekZyxAkPTYNIOzs1a3kDLZHNqrEDQWtaU8e4KKwdFdWE5IVssGr3UrFF+vQAoP2TYvUAHsoiRk3qh4eFoevLpP6t4yA2ylppaxZxyY+Tvdqy4e+PlCi4ZPn5t9pfEOusMNHI2j2IlTibZQLpF9YB+H4+hjYcPoNXq/+HhJoqfhRFs7QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKORBBf1tXgY2ZdZjLI2kgr4hEY4TnCdq6bncxyC2UO7s/FmQzE6EsHtBLEx94Q6nx2dKWT5RVsx480vXP7vpTNYAfBovortMwoB6zJE6IvssRsTGdH18Tvv8jkonmHeOxMELRXB3kWbispsD9YNSVoCS+QRx5o74O5AR1GduYNiqml2ef1FSXOkAxG60CSGXyNGaYhd5klc0jQs+zqeSYpRXJ39fQXHeFkSBS8ZzwMaKrO7aSW21m1oMVIrmbkp7LSmf87Hrl+lmF6vGq4VVbmcKxiSLsO0FoV6frhi+KSIlNG7NgSMCZhlpz5RFEqyb0DaPGLBdadzTRTL2hua69Y=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"26cb8a623b71479d9a338d8857d3b8d8\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1362", + "content-length": "1363", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:08 GMT", + "date": "Mon, 13 Sep 2021 19:50:17 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "951815b8-e8b4-4a2a-9fd1-dd7134c4e9b2", + "x-ms-client-request-id": "8eec9073-2a19-4b3f-a893-39be747405bc", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "7252a6c9-563e-4ff1-8e8a-9b33dc9769ed", "x-powered-by": "ASP.NET" } }, @@ -166,22 +168,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoR6EDePuWpjRxVF0iPAm//15FJX9J49SkkP6GEeMdMQQD5XkIC51qgTnfLQbUbDLCwQEfN46G2EqbG7bK1aFsQgSUeVvNA443fkHjQbhHivA1H5WFdMjyWgJnwGqQ97xOrxK2bIVjlDjAo3JsdF2ug8AEkJdOsUI4N+iLLbScETGZK0REHqX4Hf3/uIDApME4pRSAs4xSru3JV0YVyADeRDVycAia9G4p+0EaJW+DX+CxItgpDvSidPRD5GAgIkzZUfqkGgrd6F9vInpndb0362AdWiu01pA5yoPLs1d8UzfrjL71PsVW6djwn91ahP8G5e/trN+iWQPOn/Af6rqtQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFP7BQadEzJvQkn0u84JgD3Ni1v2OvWxAz1nVuUifWGNnDS92ts3vxWjtPEzlkHtn90tazHOLqSymP9a1nw6cP1tZZsi5jKXJaylYNy/3fHw3AKKFL37fDz9Xuz8xcQ5VUXqNe3rIrm8/s3urxztKCrgLB3BaGYPjiF9BoYG7ruJ0En54mHTw/JyBZ48fW3ro3mVAbWWTTijGIFyKfgVbROG9Y50Uwz9OrhXfx/Q7cgdv/Pq9lViJE7UJ4qXywgiDbDmCtvpPmJeMlUkiHyhJ0Hu+FVpm1s1NW0Y1HSvspmfLLD7voGtwj/9793RDcAyxVAW0Z3kEaIQZILvlvXUUXA=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"57e84187dbc94f59b321c426b803fb50\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBwQjw+x0LsS0FJV2meBbK0aA8LkDQGuKOXdTYWflRVPX0PsM0ZDGEvK5Mf3mmVWYzR6bCAftaqdP05erV7TTiCUwab6qzr+XjaW5Cn9Z5Gk4jb88+kQtnAdwTLjA5Qffql/mOWLmzlDVFxOKbqe7RPryoj4QBwdJ6W9m9tekZyxAkPTYNIOzs1a3kDLZHNqrEDQWtaU8e4KKwdFdWE5IVssGr3UrFF+vQAoP2TYvUAHsoiRk3qh4eFoevLpP6t4yA2ylppaxZxyY+Tvdqy4e+PlCi4ZPn5t9pfEOusMNHI2j2IlTibZQLpF9YB+H4+hjYcPoNXq/+HhJoqfhRFs7QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKORBBf1tXgY2ZdZjLI2kgr4hEY4TnCdq6bncxyC2UO7s/FmQzE6EsHtBLEx94Q6nx2dKWT5RVsx480vXP7vpTNYAfBovortMwoB6zJE6IvssRsTGdH18Tvv8jkonmHeOxMELRXB3kWbispsD9YNSVoCS+QRx5o74O5AR1GduYNiqml2ef1FSXOkAxG60CSGXyNGaYhd5klc0jQs+zqeSYpRXJ39fQXHeFkSBS8ZzwMaKrO7aSW21m1oMVIrmbkp7LSmf87Hrl+lmF6vGq4VVbmcKxiSLsO0FoV6frhi+KSIlNG7NgSMCZhlpz5RFEqyb0DaPGLBdadzTRTL2hua69Y=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"26cb8a623b71479d9a338d8857d3b8d8\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1362", + "content-length": "1363", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:10 GMT", + "date": "Mon, 13 Sep 2021 19:50:19 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "a7bf4012-fe8a-4751-8775-fdda4dd9faf4", + "x-ms-client-request-id": "7c0437d6-44cc-46c2-a786-4db4babb4dfe", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "70a97cf8-d1c4-41c3-80a9-95762711a9ba", "x-powered-by": "ASP.NET" } }, @@ -193,22 +195,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoR6EDePuWpjRxVF0iPAm//15FJX9J49SkkP6GEeMdMQQD5XkIC51qgTnfLQbUbDLCwQEfN46G2EqbG7bK1aFsQgSUeVvNA443fkHjQbhHivA1H5WFdMjyWgJnwGqQ97xOrxK2bIVjlDjAo3JsdF2ug8AEkJdOsUI4N+iLLbScETGZK0REHqX4Hf3/uIDApME4pRSAs4xSru3JV0YVyADeRDVycAia9G4p+0EaJW+DX+CxItgpDvSidPRD5GAgIkzZUfqkGgrd6F9vInpndb0362AdWiu01pA5yoPLs1d8UzfrjL71PsVW6djwn91ahP8G5e/trN+iWQPOn/Af6rqtQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFP7BQadEzJvQkn0u84JgD3Ni1v2OvWxAz1nVuUifWGNnDS92ts3vxWjtPEzlkHtn90tazHOLqSymP9a1nw6cP1tZZsi5jKXJaylYNy/3fHw3AKKFL37fDz9Xuz8xcQ5VUXqNe3rIrm8/s3urxztKCrgLB3BaGYPjiF9BoYG7ruJ0En54mHTw/JyBZ48fW3ro3mVAbWWTTijGIFyKfgVbROG9Y50Uwz9OrhXfx/Q7cgdv/Pq9lViJE7UJ4qXywgiDbDmCtvpPmJeMlUkiHyhJ0Hu+FVpm1s1NW0Y1HSvspmfLLD7voGtwj/9793RDcAyxVAW0Z3kEaIQZILvlvXUUXA=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"57e84187dbc94f59b321c426b803fb50\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBwQjw+x0LsS0FJV2meBbK0aA8LkDQGuKOXdTYWflRVPX0PsM0ZDGEvK5Mf3mmVWYzR6bCAftaqdP05erV7TTiCUwab6qzr+XjaW5Cn9Z5Gk4jb88+kQtnAdwTLjA5Qffql/mOWLmzlDVFxOKbqe7RPryoj4QBwdJ6W9m9tekZyxAkPTYNIOzs1a3kDLZHNqrEDQWtaU8e4KKwdFdWE5IVssGr3UrFF+vQAoP2TYvUAHsoiRk3qh4eFoevLpP6t4yA2ylppaxZxyY+Tvdqy4e+PlCi4ZPn5t9pfEOusMNHI2j2IlTibZQLpF9YB+H4+hjYcPoNXq/+HhJoqfhRFs7QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKORBBf1tXgY2ZdZjLI2kgr4hEY4TnCdq6bncxyC2UO7s/FmQzE6EsHtBLEx94Q6nx2dKWT5RVsx480vXP7vpTNYAfBovortMwoB6zJE6IvssRsTGdH18Tvv8jkonmHeOxMELRXB3kWbispsD9YNSVoCS+QRx5o74O5AR1GduYNiqml2ef1FSXOkAxG60CSGXyNGaYhd5klc0jQs+zqeSYpRXJ39fQXHeFkSBS8ZzwMaKrO7aSW21m1oMVIrmbkp7LSmf87Hrl+lmF6vGq4VVbmcKxiSLsO0FoV6frhi+KSIlNG7NgSMCZhlpz5RFEqyb0DaPGLBdadzTRTL2hua69Y=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"26cb8a623b71479d9a338d8857d3b8d8\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1362", + "content-length": "1363", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:12 GMT", + "date": "Mon, 13 Sep 2021 19:50:21 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "0c98d982-d251-43dd-9648-40964c289664", + "x-ms-client-request-id": "ae3c646c-6834-47d7-85d9-7b880da82f3f", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "5f2145e9-7c87-4746-a707-682365cb3901", "x-powered-by": "ASP.NET" } }, @@ -220,21 +222,21 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoR6EDePuWpjRxVF0iPAm//15FJX9J49SkkP6GEeMdMQQD5XkIC51qgTnfLQbUbDLCwQEfN46G2EqbG7bK1aFsQgSUeVvNA443fkHjQbhHivA1H5WFdMjyWgJnwGqQ97xOrxK2bIVjlDjAo3JsdF2ug8AEkJdOsUI4N+iLLbScETGZK0REHqX4Hf3/uIDApME4pRSAs4xSru3JV0YVyADeRDVycAia9G4p+0EaJW+DX+CxItgpDvSidPRD5GAgIkzZUfqkGgrd6F9vInpndb0362AdWiu01pA5yoPLs1d8UzfrjL71PsVW6djwn91ahP8G5e/trN+iWQPOn/Af6rqtQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFP7BQadEzJvQkn0u84JgD3Ni1v2OvWxAz1nVuUifWGNnDS92ts3vxWjtPEzlkHtn90tazHOLqSymP9a1nw6cP1tZZsi5jKXJaylYNy/3fHw3AKKFL37fDz9Xuz8xcQ5VUXqNe3rIrm8/s3urxztKCrgLB3BaGYPjiF9BoYG7ruJ0En54mHTw/JyBZ48fW3ro3mVAbWWTTijGIFyKfgVbROG9Y50Uwz9OrhXfx/Q7cgdv/Pq9lViJE7UJ4qXywgiDbDmCtvpPmJeMlUkiHyhJ0Hu+FVpm1s1NW0Y1HSvspmfLLD7voGtwj/9793RDcAyxVAW0Z3kEaIQZILvlvXUUXA=\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\",\"request_id\":\"57e84187dbc94f59b321c426b803fb50\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsBwQjw+x0LsS0FJV2meBbK0aA8LkDQGuKOXdTYWflRVPX0PsM0ZDGEvK5Mf3mmVWYzR6bCAftaqdP05erV7TTiCUwab6qzr+XjaW5Cn9Z5Gk4jb88+kQtnAdwTLjA5Qffql/mOWLmzlDVFxOKbqe7RPryoj4QBwdJ6W9m9tekZyxAkPTYNIOzs1a3kDLZHNqrEDQWtaU8e4KKwdFdWE5IVssGr3UrFF+vQAoP2TYvUAHsoiRk3qh4eFoevLpP6t4yA2ylppaxZxyY+Tvdqy4e+PlCi4ZPn5t9pfEOusMNHI2j2IlTibZQLpF9YB+H4+hjYcPoNXq/+HhJoqfhRFs7QIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKORBBf1tXgY2ZdZjLI2kgr4hEY4TnCdq6bncxyC2UO7s/FmQzE6EsHtBLEx94Q6nx2dKWT5RVsx480vXP7vpTNYAfBovortMwoB6zJE6IvssRsTGdH18Tvv8jkonmHeOxMELRXB3kWbispsD9YNSVoCS+QRx5o74O5AR1GduYNiqml2ef1FSXOkAxG60CSGXyNGaYhd5klc0jQs+zqeSYpRXJ39fQXHeFkSBS8ZzwMaKrO7aSW21m1oMVIrmbkp7LSmf87Hrl+lmF6vGq4VVbmcKxiSLsO0FoV6frhi+KSIlNG7NgSMCZhlpz5RFEqyb0DaPGLBdadzTRTL2hua69Y=\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\",\"request_id\":\"26cb8a623b71479d9a338d8857d3b8d8\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1351", + "content-length": "1353", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:14 GMT", + "date": "Mon, 13 Sep 2021 19:50:23 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "1ae7c940-3ffd-4108-acde-ce7e39f87127", + "x-ms-client-request-id": "5587a661-9d75-4cf5-9a38-b867236d5695", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "70f20678-c24f-497f-b340-51b86fac06fd", "x-powered-by": "ASP.NET" } }, @@ -246,21 +248,21 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"x5t\":\"2J4UHUPedk_3YojInTUkSLYXiDg\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQFdEqXRoLQ0OPyAeibcqjvjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNzEzWhcNMjIwMjE2MTkyNzEzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChHoQN4+5amNHFUXSI8Cb//XkUlf0nj1KSQ/oYR4x0xBAPleQgLnWqBOd8tBtRsMsLBAR83jobYSpsbtsrVoWxCBJR5W80Djjd+QeNBuEeK8DUflYV0yPJaAmfAapD3vE6vErZshWOUOMCjcmx0Xa6DwASQl06xQjg36IsttJwRMZkrREQepfgd/f+4gMCkwTilFICzjFKu7clXRhXIAN5ENXJwCJr0bin7QRolb4Nf4LEi2CkO9KJ09EPkYCAiTNlR+qQaCt3oX28iemd1vTfrYB1aK7TWkDnKg8uzV3xTN+uMvvU+xVbp2PCf3VqE/wbl7+2s36JZA86f8B/quq1AgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQQYg+khHIDCFn3SnFNHgowaHm0UjAdBgNVHQ4EFgQUEGIPpIRyAwhZ90pxTR4KMGh5tFIwDQYJKoZIhvcNAQELBQADggEBAE6KljWjSGcL8hJCTVfVf6wEMLi+NxBwPTRNti283N2TF1Y93jg03U635qACpWh1Tu0OsXk9utnuj++NgihdtW9Lw3STxYAW5jMKTqZljlWCrnjsB+huS8nM0jLjl0lTVdNWn3FK3YULCOR27og851128N477a5Rd81ZQKWfF8oKgV9C5ZyT9Re9SUIv9Xu9ywAkIK9ikcajVE4CjSe/I0Nja3I0BsL8Mm3vQRnRxpwVUBcc2AAvAY8feaTZlRnbnT3r1oCEPKaIscuY2XWZ2KoiMa9TsdBYJdxyiSlrsol0016Tn+tAt+eP1B/LaWmQ0plMId4vzYS44RJl5dyUhic=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503033,\"exp\":1645039633,\"created\":1613503633,\"updated\":1613503633,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503626,\"updated\":1613503626}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\"}}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/756306df593b4ff8bd14666bcbbfa55a\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/756306df593b4ff8bd14666bcbbfa55a\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/756306df593b4ff8bd14666bcbbfa55a\",\"x5t\":\"Amc7AqCpDk2yID_7a-WwhHnFWag\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQSf8pgnyYR3ezxRGaEiXdFjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwOTEzMTk0MDIxWhcNMjIwOTEzMTk1MDIxWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwHBCPD7HQuxLQUlXaZ4FsrRoDwuQNAa4o5d1NhZ+VFU9fQ+wzRkMYS8rkx/eaZVZjNHpsIB+1qp0/Tl6tXtNOIJTBpvqrOv5eNpbkKf1nkaTiNvzz6RC2cB3BMuMDlB9+qX+Y5YubOUNUXE4pup7tE+vKiPhAHB0npb2b216RnLECQ9Ng0g7OzVreQMtkc2qsQNBa1pTx7gorB0V1YTkhWywavdSsUX69ACg/ZNi9QAeyiJGTeqHh4Wh68uk/q3jIDbKWmlrFnHJj5O92rLh74+UKLhk+fm32l8Q66ww0cjaPYiVOJtlAukX1gH4fj6GNhw+g1er/4eEmip+FEWztAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRrq9lRQbIVibPul7HGsROfnKoQZDAdBgNVHQ4EFgQUa6vZUUGyFYmz7pexxrETn5yqEGQwDQYJKoZIhvcNAQELBQADggEBAA7OTj6Do7zQU8x9ogTj5OaBlGuQHkeLvMDiB9PmPAYWNhkG1t2XpxkcfDzJ0mRT9tqlXSShaWsML9EArX0IhGitaF42XZUJ4GZIM3pYW5fdo0iZC6KrWocU80dZRMS6nT6eic1ZVJ1jrDJ2kcEJpgT/1Wn/6KVuw2yZhRC25C1bxeGPSBsWTYXRjJeU1WGoJU0Wp60YbVrNzoC/zzkZcpAAfnBefrXJZEoYa8VAXgx7h1AnvseqStQvb45bpDDe+hJha9LPJTCUpKZUeAsb9Mg0HNRJWOssSPpJ7toez1Y/VG8M+KAL/F9A7A1ib6FFpRBfhQL7cUIM5dT5P4Smz/s=\",\"attributes\":{\"enabled\":true,\"nbf\":1631562021,\"exp\":1663098621,\"created\":1631562622,\"updated\":1631562622,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1631562615,\"updated\":1631562615}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "2709", + "content-length": "2705", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:14 GMT", + "date": "Mon, 13 Sep 2021 19:50:23 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "5d8075da-c631-4f32-9381-f8b20f4e2040", + "x-ms-client-request-id": "083b389c-4186-44eb-8f14-b0e08e530646", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "5b2d9ee7-e7c2-45ce-8981-ee32aefb7d7b", "x-powered-by": "ASP.NET" } }, @@ -272,22 +274,22 @@ }, "requestBody": "", "status": 401, - "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "87", + "content-length": "97", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:14 GMT", + "date": "Mon, 13 Sep 2021 19:50:23 GMT", "expires": "-1", "pragma": "no-cache", - "status": "401", "strict-transport-security": "max-age=31536000;includeSubDomains", "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "986aecea-0154-48c1-85a8-9aa5a58bd816", + "x-ms-client-request-id": "2920872b-254d-4af2-b603-4a1799ad4e80", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "6b9f31cf-4143-4f3b-b4eb-aa10dfd57064", "x-powered-by": "ASP.NET" } }, @@ -295,22 +297,24 @@ "method": "POST", "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", "query": {}, - "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", "status": 200, "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", "responseHeaders": { "cache-control": "no-store, no-cache", "content-length": "1315", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:14 GMT", + "date": "Mon, 13 Sep 2021 19:50:24 GMT", "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+est\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11496.5 - SCUS ProdSlices", - "x-ms-request-id": "e51e0711-241f-4f2f-8be1-69c0b21fe600" + "x-ms-ests-server": "2.1.12025.15 - EUS ProdSlices", + "x-ms-request-id": "3b5a583c-1c1a-4e08-a98a-99403d92d600" } }, { @@ -321,21 +325,21 @@ }, "requestBody": null, "status": 200, - "response": "{\"value\":\"MIIKOAIBAzCCCfQGCSqGSIb3DQEHAaCCCeUEggnhMIIJ3TCCBhYGCSqGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAiwqmVIMlOwOgICB9AEggTYp5ResLchlRhlww1gZPtuluQJHk7kCcTnmuc/FO4h7KGZ4W9GFEWiXsx1fd9Q5JIUk+YxiPJclljdaJLKSyoMaPvvVXj484yaMqLRk+kzlTnaFV57zZjtpTCKdsghrNUOaplFTdz7BMDlmbZAeqhW2Ooo6SKz8I9E25VZVwrSBKKCc56E8sz9ih/RYKi7Vtde63jA7TYlOpXdoGLL9qqzFfE0qdqOPWoi2lEyBRWlmj6nMISLwHw9DhHceaY15UJ0oQJXhiTiXi58xb+8g+qfjsL60I5vpdlXgs5YjlZvQ0/I00fuuOApF25MeAZ3q6j/4yAamg37pVxJrBMqEBK5d/Sc9XF9kTK4VFk670k4cZzkBZ82lJYke3Q5kcA2Ew/VvjVpfBKg4Pj8PoHxVjxz6/nPhkkZPsnPPpOuwr/rx0sishK/mFVKPdsJH39A+O9G5JehB0BFqugXQySZ8lAaOwatCAWQjStZ27JTfu5k1glTGOIUk5ISFLSko1y/JxiIqrqtReCVBY1oKsUhLP41pnPyJ0eWs2kcaynVv+0ASM7I46Pjw8fhYzM1gk/Az2ksPIiBYQl3XVD5C7Y+fz4fEPSGe2DUEUIOYZlO+bDcOeWhKtXfk1H3Ne0CauMcCLymR6v26EBhU5g7EDTKk7f5xyQBiMWz/O7S4oAvuJ3CvraMYuNrq1uvbQM8U+J6xsAq7NXeb1lzRMbHGPLqU/7LCmRFYoQl0lyGNc9NFZ6oNM329+5m1I++CAzy9JCKrg/26aT7z8QvTSyqz6OQXDwucnCJrUkRyxnVLgyghlL6wDiXibF4fHYEhrSCovb2UKF1LQ8u0vmNLWjIY+NJ60FgQBAY0LrKqnsuwoNDUQ8a3M3m4xst9J+54e6ob+5QMp8m9CrN8ui1tf+agMvfZCno5UaMXqd/rViTRoweRafE7TYMaqoQX2QEIUj5TsviM+tjEsJh3oaeJI5rkHCgB/Syw4FhfeKmGaffhoREw4gz70r0fy26M4on4/GbwA9zHFebCaJ4YoYR0zkxxaEUwXUaK0FmD5WXVg6WngDmUX4ulW04i9Bi7mE23803XbJcKXBZvDpyLWBXa828algCUsf6QPv/K8oBUKyWMrYMjnje+IujUo1rvgdWnR/isEQ7I4Rtm4VBNADu2dvIIB1s1q99zNp66YdE5FL5SkxiM6HTQqWnLacBccMnuujXKTo9/kH0vEb4Z0L6Q3UP5/10r8Phr8fvO8bojnEFMJi51hiHURnyvU68pgeC8qgc4lM40owRSgldi2xEiJkjeEqoLhcN43dnNCBiroqWpImMGPUxPGQu5ZJizPmNKtVokB4gZDRjgTfH0HmvBLk/tG+26QUIqHIhlSCngq+tLAw6xFllnj+ND6ayCW4Fh01o48Dx4bjufWoTGZRaegtAJ1xm54bj2XIJMlPDdvJMs9HDuoGUjzPZi7j8jfT1LUYGw0hhCwQJ3kk+95E2ZlDQsuO2sU/e7NUsWSEPXWX7SlBQL4VsEwCKnrWTZQkw+vBrDw088quz3TVa2rsHwet3yBZPIUBpDHYR05U5QupD2GcrU0bDThuSmW6HtPjUIQyp1rD+09X291anssFDbRlzdfi8PO9pvQGVpAI0BrnKFfVAWM1vdfD4YBz8O2xNtDGB6TATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IADMANQBhADYANgAxADMANgAtADMAZAA0AGMALQA0AGMAMwAzAC0AOAA5ADcAMgAtADUAMwA0ADIAYwA2AGMANwA5AGYANAAzMHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIDvwYJKoZIhvcNAQcGoIIDsDCCA6wCAQAwggOlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAgdBV7wV25/ugICB9CAggN4WMm2mH0MDGpMt2VolPxa7fXMaQj3q40Tl/ZDzY4PkJYs4uphB4txvTGelfHd6rkLySqGC5h30tyy5rQIqQVszJxrsm4MFBM92pjEPYB9LVqSmuo4Y+ku01gn4JfDH2W5it4L8VCpwKkxmO99vfP0N0yuk2ZeZGnFdb5zo7IrRMJjqf5rTc6trSWH74N7ehBIVf5lOxYkNuQVKiuIdTkdSgkEHSnDZxjaqSofGuSVAYDTU6cJFV65bwHGEWL4bk1zQIuL6a2WgJnR3dX6RIUZXVXARHzzkwRlICU1N4naMPJnRRvOk6M26TET7RmgYqvdtJbeA7hFvh9z/fUHadXePPr6DIiUGRDYpCp00BzzKqd+nTOKQaKtPkEne/vJ3PyjjirMRdQaxuzEpo1N+v72VTS/5g1pTZuZhsUDtoQ1iXLQtKGOqL7eSZGYVFksGib5Z1V8WeNRl9/75OGteth03QA3xU2v7v/eE/OOfZCtI3hpdEzgQ2hUaEsT1STVciiH0UQBn1/xAivf9BLCpJ3nQBfnxqu8W0b3kH6HWos3uPUcO3ypbd8tzBCzfnDuPJzBz6yIJWBy/5fYN8GeWi0VkhfnSE94+FavjL+FB6VGCkGQrsd00QrL7khHSN0RftW0nRRZd1EGmMYTJrhw5BMYUj0YAN+I1aQcoVgtlFD8UhkpvrH0IFlkgJYOqgKmfogDSK3mwjHNqglzNYqiolNEa68Darodj2TeqnnfGRIzF/v665CB5RMKlNa79r9xU6jETdvPlrCcxFw/l2bn4BzWQbn22+MxplaJFYTKVVB8yTS9tJ7FFE3QOXkBn8zWtmLLNHHYtpTUmzb/GMqwDP4h1pbdWMJ7KcdzrUAGeMyvsOd3krIt0F2y2yjBMwr5Sno6Uwb+kHbAuXVQcE2T99PgUM45tbRI6i0kaJsTlZ4RW+bx15hhBa4U+PGRkpUrwXBGdDencuzh8l5M/Qd1IHTnoVjUjm6UEewm4XcRZz4ncYuVfiegPA6VzgJRlWv2JCHlFciirRy0K7AD74hJUz30LziodVvo336sNiDMm+SlE7FWBRLLrhl4YRxaIrCBpQcrRqi5l1D2pnCQ2GSx9W+Cbrwcxb6M5zBb8HrBH2E1mdW/E5vHL4KbBM1kh0fdnHuIluhJ4YGGsK3eTVu4oSJUz4myTlCMviE1MDswHzAHBgUrDgMCGgQUkAJrLVkG8d4sFqXDTM+aLigjEQoEFOePSVYZMq1tZl6FAgNAkIzm7OQdAgIH0A==\",\"contentType\":\"application/x-pkcs12\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"managed\":true,\"attributes\":{\"enabled\":true,\"nbf\":1613503033,\"exp\":1645039633,\"created\":1613503633,\"updated\":1613503633,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\"}", + "response": "{\"value\":\"YmFzZTY0X3BsYWNlaG9sZGVy\",\"contentType\":\"application/x-pkcs12\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/756306df593b4ff8bd14666bcbbfa55a\",\"managed\":true,\"attributes\":{\"enabled\":true,\"nbf\":1631562021,\"exp\":1663098621,\"created\":1631562622,\"updated\":1631562622,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/756306df593b4ff8bd14666bcbbfa55a\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "4090", + "content-length": "4083", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:14 GMT", + "date": "Mon, 13 Sep 2021 19:50:24 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "fdb92f8b-04fb-4270-aa00-356e992842a4", + "x-ms-client-request-id": "2920872b-254d-4af2-b603-4a1799ad4e80", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "3f627883-d19f-4823-b059-f58b059e9157", "x-powered-by": "ASP.NET" } }, @@ -345,461 +349,23 @@ "query": { "api-version": "7.2" }, - "requestBody": "{\"value\":\"MIIKOAIBAzCCCfQGCSqGSIb3DQEHAaCCCeUEggnhMIIJ3TCCBhYGCSqGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAiwqmVIMlOwOgICB9AEggTYp5ResLchlRhlww1gZPtuluQJHk7kCcTnmuc/FO4h7KGZ4W9GFEWiXsx1fd9Q5JIUk+YxiPJclljdaJLKSyoMaPvvVXj484yaMqLRk+kzlTnaFV57zZjtpTCKdsghrNUOaplFTdz7BMDlmbZAeqhW2Ooo6SKz8I9E25VZVwrSBKKCc56E8sz9ih/RYKi7Vtde63jA7TYlOpXdoGLL9qqzFfE0qdqOPWoi2lEyBRWlmj6nMISLwHw9DhHceaY15UJ0oQJXhiTiXi58xb+8g+qfjsL60I5vpdlXgs5YjlZvQ0/I00fuuOApF25MeAZ3q6j/4yAamg37pVxJrBMqEBK5d/Sc9XF9kTK4VFk670k4cZzkBZ82lJYke3Q5kcA2Ew/VvjVpfBKg4Pj8PoHxVjxz6/nPhkkZPsnPPpOuwr/rx0sishK/mFVKPdsJH39A+O9G5JehB0BFqugXQySZ8lAaOwatCAWQjStZ27JTfu5k1glTGOIUk5ISFLSko1y/JxiIqrqtReCVBY1oKsUhLP41pnPyJ0eWs2kcaynVv+0ASM7I46Pjw8fhYzM1gk/Az2ksPIiBYQl3XVD5C7Y+fz4fEPSGe2DUEUIOYZlO+bDcOeWhKtXfk1H3Ne0CauMcCLymR6v26EBhU5g7EDTKk7f5xyQBiMWz/O7S4oAvuJ3CvraMYuNrq1uvbQM8U+J6xsAq7NXeb1lzRMbHGPLqU/7LCmRFYoQl0lyGNc9NFZ6oNM329+5m1I++CAzy9JCKrg/26aT7z8QvTSyqz6OQXDwucnCJrUkRyxnVLgyghlL6wDiXibF4fHYEhrSCovb2UKF1LQ8u0vmNLWjIY+NJ60FgQBAY0LrKqnsuwoNDUQ8a3M3m4xst9J+54e6ob+5QMp8m9CrN8ui1tf+agMvfZCno5UaMXqd/rViTRoweRafE7TYMaqoQX2QEIUj5TsviM+tjEsJh3oaeJI5rkHCgB/Syw4FhfeKmGaffhoREw4gz70r0fy26M4on4/GbwA9zHFebCaJ4YoYR0zkxxaEUwXUaK0FmD5WXVg6WngDmUX4ulW04i9Bi7mE23803XbJcKXBZvDpyLWBXa828algCUsf6QPv/K8oBUKyWMrYMjnje+IujUo1rvgdWnR/isEQ7I4Rtm4VBNADu2dvIIB1s1q99zNp66YdE5FL5SkxiM6HTQqWnLacBccMnuujXKTo9/kH0vEb4Z0L6Q3UP5/10r8Phr8fvO8bojnEFMJi51hiHURnyvU68pgeC8qgc4lM40owRSgldi2xEiJkjeEqoLhcN43dnNCBiroqWpImMGPUxPGQu5ZJizPmNKtVokB4gZDRjgTfH0HmvBLk/tG+26QUIqHIhlSCngq+tLAw6xFllnj+ND6ayCW4Fh01o48Dx4bjufWoTGZRaegtAJ1xm54bj2XIJMlPDdvJMs9HDuoGUjzPZi7j8jfT1LUYGw0hhCwQJ3kk+95E2ZlDQsuO2sU/e7NUsWSEPXWX7SlBQL4VsEwCKnrWTZQkw+vBrDw088quz3TVa2rsHwet3yBZPIUBpDHYR05U5QupD2GcrU0bDThuSmW6HtPjUIQyp1rD+09X291anssFDbRlzdfi8PO9pvQGVpAI0BrnKFfVAWM1vdfD4YBz8O2xNtDGB6TATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IADMANQBhADYANgAxADMANgAtADMAZAA0AGMALQA0AGMAMwAzAC0AOAA5ADcAMgAtADUAMwA0ADIAYwA2AGMANwA5AGYANAAzMHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIDvwYJKoZIhvcNAQcGoIIDsDCCA6wCAQAwggOlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAgdBV7wV25/ugICB9CAggN4WMm2mH0MDGpMt2VolPxa7fXMaQj3q40Tl/ZDzY4PkJYs4uphB4txvTGelfHd6rkLySqGC5h30tyy5rQIqQVszJxrsm4MFBM92pjEPYB9LVqSmuo4Y+ku01gn4JfDH2W5it4L8VCpwKkxmO99vfP0N0yuk2ZeZGnFdb5zo7IrRMJjqf5rTc6trSWH74N7ehBIVf5lOxYkNuQVKiuIdTkdSgkEHSnDZxjaqSofGuSVAYDTU6cJFV65bwHGEWL4bk1zQIuL6a2WgJnR3dX6RIUZXVXARHzzkwRlICU1N4naMPJnRRvOk6M26TET7RmgYqvdtJbeA7hFvh9z/fUHadXePPr6DIiUGRDYpCp00BzzKqd+nTOKQaKtPkEne/vJ3PyjjirMRdQaxuzEpo1N+v72VTS/5g1pTZuZhsUDtoQ1iXLQtKGOqL7eSZGYVFksGib5Z1V8WeNRl9/75OGteth03QA3xU2v7v/eE/OOfZCtI3hpdEzgQ2hUaEsT1STVciiH0UQBn1/xAivf9BLCpJ3nQBfnxqu8W0b3kH6HWos3uPUcO3ypbd8tzBCzfnDuPJzBz6yIJWBy/5fYN8GeWi0VkhfnSE94+FavjL+FB6VGCkGQrsd00QrL7khHSN0RftW0nRRZd1EGmMYTJrhw5BMYUj0YAN+I1aQcoVgtlFD8UhkpvrH0IFlkgJYOqgKmfogDSK3mwjHNqglzNYqiolNEa68Darodj2TeqnnfGRIzF/v665CB5RMKlNa79r9xU6jETdvPlrCcxFw/l2bn4BzWQbn22+MxplaJFYTKVVB8yTS9tJ7FFE3QOXkBn8zWtmLLNHHYtpTUmzb/GMqwDP4h1pbdWMJ7KcdzrUAGeMyvsOd3krIt0F2y2yjBMwr5Sno6Uwb+kHbAuXVQcE2T99PgUM45tbRI6i0kaJsTlZ4RW+bx15hhBa4U+PGRkpUrwXBGdDencuzh8l5M/Qd1IHTnoVjUjm6UEewm4XcRZz4ncYuVfiegPA6VzgJRlWv2JCHlFciirRy0K7AD74hJUz30LziodVvo336sNiDMm+SlE7FWBRLLrhl4YRxaIrCBpQcrRqi5l1D2pnCQ2GSx9W+Cbrwcxb6M5zBb8HrBH2E1mdW/E5vHL4KbBM1kh0fdnHuIluhJ4YGGsK3eTVu4oSJUz4myTlCMviE1MDswHzAHBgUrDgMCGgQUkAJrLVkG8d4sFqXDTM+aLigjEQoEFOePSVYZMq1tZl6FAgNAkIzm7OQdAgIH0A==\"}", + "requestBody": "{\"value\":\"YmFzZTY0X3BsYWNlaG9sZGVy\"}", "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"x5t\":\"2J4UHUPedk_3YojInTUkSLYXiDg\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQFdEqXRoLQ0OPyAeibcqjvjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNzEzWhcNMjIwMjE2MTkyNzEzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChHoQN4+5amNHFUXSI8Cb//XkUlf0nj1KSQ/oYR4x0xBAPleQgLnWqBOd8tBtRsMsLBAR83jobYSpsbtsrVoWxCBJR5W80Djjd+QeNBuEeK8DUflYV0yPJaAmfAapD3vE6vErZshWOUOMCjcmx0Xa6DwASQl06xQjg36IsttJwRMZkrREQepfgd/f+4gMCkwTilFICzjFKu7clXRhXIAN5ENXJwCJr0bin7QRolb4Nf4LEi2CkO9KJ09EPkYCAiTNlR+qQaCt3oX28iemd1vTfrYB1aK7TWkDnKg8uzV3xTN+uMvvU+xVbp2PCf3VqE/wbl7+2s36JZA86f8B/quq1AgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQQYg+khHIDCFn3SnFNHgowaHm0UjAdBgNVHQ4EFgQUEGIPpIRyAwhZ90pxTR4KMGh5tFIwDQYJKoZIhvcNAQELBQADggEBAE6KljWjSGcL8hJCTVfVf6wEMLi+NxBwPTRNti283N2TF1Y93jg03U635qACpWh1Tu0OsXk9utnuj++NgihdtW9Lw3STxYAW5jMKTqZljlWCrnjsB+huS8nM0jLjl0lTVdNWn3FK3YULCOR27og851128N477a5Rd81ZQKWfF8oKgV9C5ZyT9Re9SUIv9Xu9ywAkIK9ikcajVE4CjSe/I0Nja3I0BsL8Mm3vQRnRxpwVUBcc2AAvAY8feaTZlRnbnT3r1oCEPKaIscuY2XWZ2KoiMa9TsdBYJdxyiSlrsol0016Tn+tAt+eP1B/LaWmQ0plMId4vzYS44RJl5dyUhic=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503033,\"exp\":1645039633,\"created\":1613503635,\"updated\":1613503635,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":13,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"EmailContacts\"}}],\"issuer\":{\"name\":\"Unknown\"},\"attributes\":{\"enabled\":true,\"created\":1613503635,\"updated\":1613503635}}}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/fe9ca918fd7d4b8d83ad1bd1dad466a1\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/fe9ca918fd7d4b8d83ad1bd1dad466a1\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/fe9ca918fd7d4b8d83ad1bd1dad466a1\",\"x5t\":\"Amc7AqCpDk2yID_7a-WwhHnFWag\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQSf8pgnyYR3ezxRGaEiXdFjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwOTEzMTk0MDIxWhcNMjIwOTEzMTk1MDIxWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwHBCPD7HQuxLQUlXaZ4FsrRoDwuQNAa4o5d1NhZ+VFU9fQ+wzRkMYS8rkx/eaZVZjNHpsIB+1qp0/Tl6tXtNOIJTBpvqrOv5eNpbkKf1nkaTiNvzz6RC2cB3BMuMDlB9+qX+Y5YubOUNUXE4pup7tE+vKiPhAHB0npb2b216RnLECQ9Ng0g7OzVreQMtkc2qsQNBa1pTx7gorB0V1YTkhWywavdSsUX69ACg/ZNi9QAeyiJGTeqHh4Wh68uk/q3jIDbKWmlrFnHJj5O92rLh74+UKLhk+fm32l8Q66ww0cjaPYiVOJtlAukX1gH4fj6GNhw+g1er/4eEmip+FEWztAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRrq9lRQbIVibPul7HGsROfnKoQZDAdBgNVHQ4EFgQUa6vZUUGyFYmz7pexxrETn5yqEGQwDQYJKoZIhvcNAQELBQADggEBAA7OTj6Do7zQU8x9ogTj5OaBlGuQHkeLvMDiB9PmPAYWNhkG1t2XpxkcfDzJ0mRT9tqlXSShaWsML9EArX0IhGitaF42XZUJ4GZIM3pYW5fdo0iZC6KrWocU80dZRMS6nT6eic1ZVJ1jrDJ2kcEJpgT/1Wn/6KVuw2yZhRC25C1bxeGPSBsWTYXRjJeU1WGoJU0Wp60YbVrNzoC/zzkZcpAAfnBefrXJZEoYa8VAXgx7h1AnvseqStQvb45bpDDe+hJha9LPJTCUpKZUeAsb9Mg0HNRJWOssSPpJ7toez1Y/VG8M+KAL/F9A7A1ib6FFpRBfhQL7cUIM5dT5P4Smz/s=\",\"attributes\":{\"enabled\":true,\"nbf\":1631562021,\"exp\":1663098621,\"created\":1631562624,\"updated\":1631562624,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":13,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"EmailContacts\"}}],\"issuer\":{\"name\":\"Unknown\"},\"attributes\":{\"enabled\":true,\"created\":1631562624,\"updated\":1631562624}}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "2536", + "content-length": "2531", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:15 GMT", + "date": "Mon, 13 Sep 2021 19:50:24 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "c2a022b6-7d70-4e37-8d1e-3df19f9f39a5", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\",\"deletedDate\":1613503635,\"scheduledPurgeDate\":1614108435,\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"x5t\":\"2J4UHUPedk_3YojInTUkSLYXiDg\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQFdEqXRoLQ0OPyAeibcqjvjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNzEzWhcNMjIwMjE2MTkyNzEzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChHoQN4+5amNHFUXSI8Cb//XkUlf0nj1KSQ/oYR4x0xBAPleQgLnWqBOd8tBtRsMsLBAR83jobYSpsbtsrVoWxCBJR5W80Djjd+QeNBuEeK8DUflYV0yPJaAmfAapD3vE6vErZshWOUOMCjcmx0Xa6DwASQl06xQjg36IsttJwRMZkrREQepfgd/f+4gMCkwTilFICzjFKu7clXRhXIAN5ENXJwCJr0bin7QRolb4Nf4LEi2CkO9KJ09EPkYCAiTNlR+qQaCt3oX28iemd1vTfrYB1aK7TWkDnKg8uzV3xTN+uMvvU+xVbp2PCf3VqE/wbl7+2s36JZA86f8B/quq1AgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQQYg+khHIDCFn3SnFNHgowaHm0UjAdBgNVHQ4EFgQUEGIPpIRyAwhZ90pxTR4KMGh5tFIwDQYJKoZIhvcNAQELBQADggEBAE6KljWjSGcL8hJCTVfVf6wEMLi+NxBwPTRNti283N2TF1Y93jg03U635qACpWh1Tu0OsXk9utnuj++NgihdtW9Lw3STxYAW5jMKTqZljlWCrnjsB+huS8nM0jLjl0lTVdNWn3FK3YULCOR27og851128N477a5Rd81ZQKWfF8oKgV9C5ZyT9Re9SUIv9Xu9ywAkIK9ikcajVE4CjSe/I0Nja3I0BsL8Mm3vQRnRxpwVUBcc2AAvAY8feaTZlRnbnT3r1oCEPKaIscuY2XWZ2KoiMa9TsdBYJdxyiSlrsol0016Tn+tAt+eP1B/LaWmQ0plMId4vzYS44RJl5dyUhic=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503033,\"exp\":1645039633,\"created\":1613503633,\"updated\":1613503633,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503626,\"updated\":1613503626}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "2931", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:15 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "838236b9-15dd-4d01-8e97-847f314b499f", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:15 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "33baa2b1-f37e-4167-8cad-7789ed08a631", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:15 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "e41e1214-d2ca-45f6-a421-bd467c107e3b", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:18 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "88825ee0-84c7-4970-b20c-5529d5f17230", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:19 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "c2f24431-1d92-4752-a94e-b78f6407d1af", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:21 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "a6da47e0-56aa-4e2a-b227-ee41ee2a4679", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0\",\"deletedDate\":1613503635,\"scheduledPurgeDate\":1614108435,\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/531a7f56456f465fa038c06874e23ddc\",\"x5t\":\"2J4UHUPedk_3YojInTUkSLYXiDg\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQFdEqXRoLQ0OPyAeibcqjvjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNzEzWhcNMjIwMjE2MTkyNzEzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChHoQN4+5amNHFUXSI8Cb//XkUlf0nj1KSQ/oYR4x0xBAPleQgLnWqBOd8tBtRsMsLBAR83jobYSpsbtsrVoWxCBJR5W80Djjd+QeNBuEeK8DUflYV0yPJaAmfAapD3vE6vErZshWOUOMCjcmx0Xa6DwASQl06xQjg36IsttJwRMZkrREQepfgd/f+4gMCkwTilFICzjFKu7clXRhXIAN5ENXJwCJr0bin7QRolb4Nf4LEi2CkO9KJ09EPkYCAiTNlR+qQaCt3oX28iemd1vTfrYB1aK7TWkDnKg8uzV3xTN+uMvvU+xVbp2PCf3VqE/wbl7+2s36JZA86f8B/quq1AgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQQYg+khHIDCFn3SnFNHgowaHm0UjAdBgNVHQ4EFgQUEGIPpIRyAwhZ90pxTR4KMGh5tFIwDQYJKoZIhvcNAQELBQADggEBAE6KljWjSGcL8hJCTVfVf6wEMLi+NxBwPTRNti283N2TF1Y93jg03U635qACpWh1Tu0OsXk9utnuj++NgihdtW9Lw3STxYAW5jMKTqZljlWCrnjsB+huS8nM0jLjl0lTVdNWn3FK3YULCOR27og851128N477a5Rd81ZQKWfF8oKgV9C5ZyT9Re9SUIv9Xu9ywAkIK9ikcajVE4CjSe/I0Nja3I0BsL8Mm3vQRnRxpwVUBcc2AAvAY8feaTZlRnbnT3r1oCEPKaIscuY2XWZ2KoiMa9TsdBYJdxyiSlrsol0016Tn+tAt+eP1B/LaWmQ0plMId4vzYS44RJl5dyUhic=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503033,\"exp\":1645039633,\"created\":1613503633,\"updated\":1613503633,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503626,\"updated\":1613503626}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "2931", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:23 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "9133c571-5456-4284-b40d-172ed64e7ca2", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 204, - "response": "", - "responseHeaders": { - "cache-control": "no-cache", - "date": "Tue, 16 Feb 2021 19:27:23 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "204", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "c30b1848-95cc-4be1-9a73-67fb8a21a53a", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1\",\"deletedDate\":1613503644,\"scheduledPurgeDate\":1614108444,\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"x5t\":\"2J4UHUPedk_3YojInTUkSLYXiDg\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQFdEqXRoLQ0OPyAeibcqjvjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNzEzWhcNMjIwMjE2MTkyNzEzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChHoQN4+5amNHFUXSI8Cb//XkUlf0nj1KSQ/oYR4x0xBAPleQgLnWqBOd8tBtRsMsLBAR83jobYSpsbtsrVoWxCBJR5W80Djjd+QeNBuEeK8DUflYV0yPJaAmfAapD3vE6vErZshWOUOMCjcmx0Xa6DwASQl06xQjg36IsttJwRMZkrREQepfgd/f+4gMCkwTilFICzjFKu7clXRhXIAN5ENXJwCJr0bin7QRolb4Nf4LEi2CkO9KJ09EPkYCAiTNlR+qQaCt3oX28iemd1vTfrYB1aK7TWkDnKg8uzV3xTN+uMvvU+xVbp2PCf3VqE/wbl7+2s36JZA86f8B/quq1AgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQQYg+khHIDCFn3SnFNHgowaHm0UjAdBgNVHQ4EFgQUEGIPpIRyAwhZ90pxTR4KMGh5tFIwDQYJKoZIhvcNAQELBQADggEBAE6KljWjSGcL8hJCTVfVf6wEMLi+NxBwPTRNti283N2TF1Y93jg03U635qACpWh1Tu0OsXk9utnuj++NgihdtW9Lw3STxYAW5jMKTqZljlWCrnjsB+huS8nM0jLjl0lTVdNWn3FK3YULCOR27og851128N477a5Rd81ZQKWfF8oKgV9C5ZyT9Re9SUIv9Xu9ywAkIK9ikcajVE4CjSe/I0Nja3I0BsL8Mm3vQRnRxpwVUBcc2AAvAY8feaTZlRnbnT3r1oCEPKaIscuY2XWZ2KoiMa9TsdBYJdxyiSlrsol0016Tn+tAt+eP1B/LaWmQ0plMId4vzYS44RJl5dyUhic=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503033,\"exp\":1645039633,\"created\":1613503635,\"updated\":1613503635,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":13,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"EmailContacts\"}}],\"issuer\":{\"name\":\"Unknown\"},\"attributes\":{\"enabled\":true,\"created\":1613503635,\"updated\":1613503635}}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "2758", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:23 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "f7140867-294d-459a-a02c-32d61784200d", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:23 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "c0be96cf-89f6-4c23-a489-f7a9c74ebcb9", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:23 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "5102f1f3-97e6-4ec1-b884-e0dee0d8492a", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:25 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "ba990a2a-dda3-4850-ab12-6e9ef48ceb17", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:28 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "179d34eb-232b-4bba-a221-a750337a0159", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:30 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "c462c597-6bef-4d36-85a7-27ecc192a13f", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "179", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:32 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "9bebef0d-f79c-4933-8822-64d393cc246e", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1\",\"deletedDate\":1613503644,\"scheduledPurgeDate\":1614108444,\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/2b89e751b31249bf938d922c9af118c4\",\"x5t\":\"2J4UHUPedk_3YojInTUkSLYXiDg\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQFdEqXRoLQ0OPyAeibcqjvjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNzEzWhcNMjIwMjE2MTkyNzEzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChHoQN4+5amNHFUXSI8Cb//XkUlf0nj1KSQ/oYR4x0xBAPleQgLnWqBOd8tBtRsMsLBAR83jobYSpsbtsrVoWxCBJR5W80Djjd+QeNBuEeK8DUflYV0yPJaAmfAapD3vE6vErZshWOUOMCjcmx0Xa6DwASQl06xQjg36IsttJwRMZkrREQepfgd/f+4gMCkwTilFICzjFKu7clXRhXIAN5ENXJwCJr0bin7QRolb4Nf4LEi2CkO9KJ09EPkYCAiTNlR+qQaCt3oX28iemd1vTfrYB1aK7TWkDnKg8uzV3xTN+uMvvU+xVbp2PCf3VqE/wbl7+2s36JZA86f8B/quq1AgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQQYg+khHIDCFn3SnFNHgowaHm0UjAdBgNVHQ4EFgQUEGIPpIRyAwhZ90pxTR4KMGh5tFIwDQYJKoZIhvcNAQELBQADggEBAE6KljWjSGcL8hJCTVfVf6wEMLi+NxBwPTRNti283N2TF1Y93jg03U635qACpWh1Tu0OsXk9utnuj++NgihdtW9Lw3STxYAW5jMKTqZljlWCrnjsB+huS8nM0jLjl0lTVdNWn3FK3YULCOR27og851128N477a5Rd81ZQKWfF8oKgV9C5ZyT9Re9SUIv9Xu9ywAkIK9ikcajVE4CjSe/I0Nja3I0BsL8Mm3vQRnRxpwVUBcc2AAvAY8feaTZlRnbnT3r1oCEPKaIscuY2XWZ2KoiMa9TsdBYJdxyiSlrsol0016Tn+tAt+eP1B/LaWmQ0plMId4vzYS44RJl5dyUhic=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503033,\"exp\":1645039633,\"created\":1613503635,\"updated\":1613503635,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":13,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"EmailContacts\"}}],\"issuer\":{\"name\":\"Unknown\"},\"attributes\":{\"enabled\":true,\"created\":1613503635,\"updated\":1613503635}}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "2758", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:34 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "1ccfad87-4e16-46df-989a-9ab53c31187a", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 204, - "response": "", - "responseHeaders": { - "cache-control": "no-cache", - "date": "Tue, 16 Feb 2021 19:27:34 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "204", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "ab5868d8-b405-4178-9e18-57e6b72940d1", + "x-ms-client-request-id": "e1b95433-d282-4da2-b94a-280b2284ecef", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "8f6770bb-8bde-4af9-8966-a308abbdc1b5", "x-powered-by": "ASP.NET" } } @@ -808,5 +374,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "89d8bf26ac5cc7540e3697067e12888d" + "hash": "5d71207f1c99728f2167c5b5948ee5f2" } \ No newline at end of file diff --git a/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.json b/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.json index e0d0e8469b7a..846a8eea4645 100644 --- a/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.json +++ b/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.json @@ -8,22 +8,22 @@ }, "requestBody": "", "status": 401, - "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "87", + "content-length": "97", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:35 GMT", + "date": "Mon, 13 Sep 2021 19:50:05 GMT", "expires": "-1", "pragma": "no-cache", - "status": "401", "strict-transport-security": "max-age=31536000;includeSubDomains", "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "e8d3e140-9632-4772-b871-3238ff0842cb", + "x-ms-client-request-id": "69bc20a1-c165-43fd-afb5-b7ea141c6933", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "ab165170-fa04-46c3-9c4b-f1c4d30abd33", "x-powered-by": "ASP.NET" } }, @@ -31,22 +31,24 @@ "method": "POST", "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", "query": {}, - "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", "status": 200, "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", "responseHeaders": { "cache-control": "no-store, no-cache", "content-length": "1315", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:34 GMT", + "date": "Mon, 13 Sep 2021 19:50:06 GMT", "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+est\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11496.6 - WUS2 ProdSlices", - "x-ms-request-id": "fd100d9c-1503-4e67-8b7e-9dd292233700" + "x-ms-ests-server": "2.1.12025.15 - SCUS ProdSlices", + "x-ms-request-id": "dc19c30d-d69e-4e42-bd1f-ec8b61032201" } }, { @@ -57,23 +59,23 @@ }, "requestBody": "{\"policy\":{\"key_props\":{},\"secret_props\":{},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{}},\"issuer\":{\"name\":\"Self\"},\"attributes\":{}},\"attributes\":{}}", "status": 202, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7kFyT86P2tg8fwGXTkhp1fiiyuwYxnZINGjWy3B8TNi5UOOwTjmSC664yCHMqaj6SqJgXSDdI3KKnsn2X0t7WD9TPsaiyUO88Q89k3vz5Df9mxTy4W3F1fQD/DH4Ykc6ZbUA+mdJogoqcOpvvqDTWjhuzrz5S39XEDaVAh4QKczk8A9N2xpRDwRagRwR5s9N4Y1WkN5UwZEe0pIhFBxfxTlUdwzGhTzuxnjG8sEs9y6ENmgG/YfQixuteMMhSm/Uz2CUirBJ5dxBtdJfTeo5tHZuMYJ0mV7MYqIxxqbP/qaPpSeJXVq+UURt3JPTa8HpkXcAozOvqYydMOSG3JZDIQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMas4EvqkT17ViiAiZs0cKeBZbQh2XCKSdmYIyaueHZbJN9UvSpiMFjRK2vp2/HeR8daWmXso/lcgWC/HdifUg9LIjcwB+xe29QZxp/fekSRyFvHcK3FPTyWhNsx4Bqqxa588grPXQRznx4KHR/QUUPMqHEZ1HOkOoxPVcqcpYLYC0yiSnzgCsZJyhPuKTXeLXHiGYxKbRLI1ZVjichkNVKxNNoeOANFQn8Y2mTmmaDJIQc7JpXQrKQIZlyWLwuXuP0wlnBF10qLBPsooXVplIFPDHJPtBj5Z/8zuIWfOOwX/7XA30OkFu18Y9lKd/a6oclZDq5mFVnZh5yty2Q4abM=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ac8af7e0d00346429d27f082ecb352c7\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYwX3gsDtK6wU2rNdujIfgaieX9azpmp/ePn0Eb1XKh+YVeXez0J6tAAE92UrC+dUMZlOotJn1cRkF0cPoNAezAWz+6qJk9xMo0bqinp8AkEmCSop1Zm72snFskrt83Fpt5iLiKieKDmeYEPyAbvpxZZ5UjLn8Rym+4QrUsEkKugN0nabTR6zFUH1X9EgJ7YiLt/PHqvUDZNPSW0wfdbkycr6ifySq0/TUtUFV2uwSWPY4tDsgAVNxRtlq53P7mF2ELEMC7urUYsfSBazIQUboTi48CYGKcgCiuio4i4fkavWCWYO3xowLJTzXpyTmpxqt3b5Aj9uXQsuxNmLO1/NQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGmxKM7n3KNB3HJQ2T5k6KW++rQ/soFUGElEVWmEU8S4KcXI740CQiuSvYLo+sSfyVaAudFToLvbi74iKmUCZjXZmmhFLNtTBT1WyQ7mDIx7/22W0RilRw1NrZgc7Ztmp9QGDgEytnWNYF0RwrYWZSARGIxj9cNSKNB53Z/ghjYYLiy4vWjW7hKoe3+82z0BJfllHLRxTYHyRqY4ZlsZeNG+c23j9axvNON1dhBRAVKupwsvCQlr9ICykVMONbRRapTjh/lGG1F75gFHuCZIZ0SirkKtcTFvnMscGrw1q61y7x3xc8w6vP4w7g+lKrbJylxWm0RuFiNf33N1RgZH31g=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"a2361282057e4bd9b5784f21979e99fc\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1365", + "content-length": "1366", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:35 GMT", + "date": "Mon, 13 Sep 2021 19:50:07 GMT", "expires": "-1", - "location": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending?api-version=7.2&request_id=ac8af7e0d00346429d27f082ecb352c7", + "location": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending?api-version=7.2&request_id=a2361282057e4bd9b5784f21979e99fc", "pragma": "no-cache", "retry-after": "10", - "status": "202", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "dac4ecc4-cd59-434d-a05c-fe3a0b4c95a7", + "x-ms-client-request-id": "69bc20a1-c165-43fd-afb5-b7ea141c6933", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "0b6838ac-a632-4e49-b4aa-281ae907557b", "x-powered-by": "ASP.NET" } }, @@ -85,22 +87,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7kFyT86P2tg8fwGXTkhp1fiiyuwYxnZINGjWy3B8TNi5UOOwTjmSC664yCHMqaj6SqJgXSDdI3KKnsn2X0t7WD9TPsaiyUO88Q89k3vz5Df9mxTy4W3F1fQD/DH4Ykc6ZbUA+mdJogoqcOpvvqDTWjhuzrz5S39XEDaVAh4QKczk8A9N2xpRDwRagRwR5s9N4Y1WkN5UwZEe0pIhFBxfxTlUdwzGhTzuxnjG8sEs9y6ENmgG/YfQixuteMMhSm/Uz2CUirBJ5dxBtdJfTeo5tHZuMYJ0mV7MYqIxxqbP/qaPpSeJXVq+UURt3JPTa8HpkXcAozOvqYydMOSG3JZDIQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMas4EvqkT17ViiAiZs0cKeBZbQh2XCKSdmYIyaueHZbJN9UvSpiMFjRK2vp2/HeR8daWmXso/lcgWC/HdifUg9LIjcwB+xe29QZxp/fekSRyFvHcK3FPTyWhNsx4Bqqxa588grPXQRznx4KHR/QUUPMqHEZ1HOkOoxPVcqcpYLYC0yiSnzgCsZJyhPuKTXeLXHiGYxKbRLI1ZVjichkNVKxNNoeOANFQn8Y2mTmmaDJIQc7JpXQrKQIZlyWLwuXuP0wlnBF10qLBPsooXVplIFPDHJPtBj5Z/8zuIWfOOwX/7XA30OkFu18Y9lKd/a6oclZDq5mFVnZh5yty2Q4abM=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ac8af7e0d00346429d27f082ecb352c7\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYwX3gsDtK6wU2rNdujIfgaieX9azpmp/ePn0Eb1XKh+YVeXez0J6tAAE92UrC+dUMZlOotJn1cRkF0cPoNAezAWz+6qJk9xMo0bqinp8AkEmCSop1Zm72snFskrt83Fpt5iLiKieKDmeYEPyAbvpxZZ5UjLn8Rym+4QrUsEkKugN0nabTR6zFUH1X9EgJ7YiLt/PHqvUDZNPSW0wfdbkycr6ifySq0/TUtUFV2uwSWPY4tDsgAVNxRtlq53P7mF2ELEMC7urUYsfSBazIQUboTi48CYGKcgCiuio4i4fkavWCWYO3xowLJTzXpyTmpxqt3b5Aj9uXQsuxNmLO1/NQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGmxKM7n3KNB3HJQ2T5k6KW++rQ/soFUGElEVWmEU8S4KcXI740CQiuSvYLo+sSfyVaAudFToLvbi74iKmUCZjXZmmhFLNtTBT1WyQ7mDIx7/22W0RilRw1NrZgc7Ztmp9QGDgEytnWNYF0RwrYWZSARGIxj9cNSKNB53Z/ghjYYLiy4vWjW7hKoe3+82z0BJfllHLRxTYHyRqY4ZlsZeNG+c23j9axvNON1dhBRAVKupwsvCQlr9ICykVMONbRRapTjh/lGG1F75gFHuCZIZ0SirkKtcTFvnMscGrw1q61y7x3xc8w6vP4w7g+lKrbJylxWm0RuFiNf33N1RgZH31g=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"a2361282057e4bd9b5784f21979e99fc\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1365", + "content-length": "1366", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:35 GMT", + "date": "Mon, 13 Sep 2021 19:50:07 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "0aada6b5-a198-4c9a-a297-f924577090f0", + "x-ms-client-request-id": "8ce63ce1-c340-4cd5-a1bb-fa522f4ac13d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "ce0ed17d-b69f-47f8-9475-a7beacce3258", "x-powered-by": "ASP.NET" } }, @@ -112,22 +114,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7kFyT86P2tg8fwGXTkhp1fiiyuwYxnZINGjWy3B8TNi5UOOwTjmSC664yCHMqaj6SqJgXSDdI3KKnsn2X0t7WD9TPsaiyUO88Q89k3vz5Df9mxTy4W3F1fQD/DH4Ykc6ZbUA+mdJogoqcOpvvqDTWjhuzrz5S39XEDaVAh4QKczk8A9N2xpRDwRagRwR5s9N4Y1WkN5UwZEe0pIhFBxfxTlUdwzGhTzuxnjG8sEs9y6ENmgG/YfQixuteMMhSm/Uz2CUirBJ5dxBtdJfTeo5tHZuMYJ0mV7MYqIxxqbP/qaPpSeJXVq+UURt3JPTa8HpkXcAozOvqYydMOSG3JZDIQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMas4EvqkT17ViiAiZs0cKeBZbQh2XCKSdmYIyaueHZbJN9UvSpiMFjRK2vp2/HeR8daWmXso/lcgWC/HdifUg9LIjcwB+xe29QZxp/fekSRyFvHcK3FPTyWhNsx4Bqqxa588grPXQRznx4KHR/QUUPMqHEZ1HOkOoxPVcqcpYLYC0yiSnzgCsZJyhPuKTXeLXHiGYxKbRLI1ZVjichkNVKxNNoeOANFQn8Y2mTmmaDJIQc7JpXQrKQIZlyWLwuXuP0wlnBF10qLBPsooXVplIFPDHJPtBj5Z/8zuIWfOOwX/7XA30OkFu18Y9lKd/a6oclZDq5mFVnZh5yty2Q4abM=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ac8af7e0d00346429d27f082ecb352c7\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYwX3gsDtK6wU2rNdujIfgaieX9azpmp/ePn0Eb1XKh+YVeXez0J6tAAE92UrC+dUMZlOotJn1cRkF0cPoNAezAWz+6qJk9xMo0bqinp8AkEmCSop1Zm72snFskrt83Fpt5iLiKieKDmeYEPyAbvpxZZ5UjLn8Rym+4QrUsEkKugN0nabTR6zFUH1X9EgJ7YiLt/PHqvUDZNPSW0wfdbkycr6ifySq0/TUtUFV2uwSWPY4tDsgAVNxRtlq53P7mF2ELEMC7urUYsfSBazIQUboTi48CYGKcgCiuio4i4fkavWCWYO3xowLJTzXpyTmpxqt3b5Aj9uXQsuxNmLO1/NQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGmxKM7n3KNB3HJQ2T5k6KW++rQ/soFUGElEVWmEU8S4KcXI740CQiuSvYLo+sSfyVaAudFToLvbi74iKmUCZjXZmmhFLNtTBT1WyQ7mDIx7/22W0RilRw1NrZgc7Ztmp9QGDgEytnWNYF0RwrYWZSARGIxj9cNSKNB53Z/ghjYYLiy4vWjW7hKoe3+82z0BJfllHLRxTYHyRqY4ZlsZeNG+c23j9axvNON1dhBRAVKupwsvCQlr9ICykVMONbRRapTjh/lGG1F75gFHuCZIZ0SirkKtcTFvnMscGrw1q61y7x3xc8w6vP4w7g+lKrbJylxWm0RuFiNf33N1RgZH31g=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"a2361282057e4bd9b5784f21979e99fc\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1365", + "content-length": "1366", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:35 GMT", + "date": "Mon, 13 Sep 2021 19:50:07 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "bda01d8a-9ea9-439c-ac79-90b0746745a1", + "x-ms-client-request-id": "511f8e68-d2f4-4e7e-af4f-282f38d86f14", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "4ebcafe5-6f8c-4d40-85f9-2412c51e90a1", "x-powered-by": "ASP.NET" } }, @@ -139,22 +141,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7kFyT86P2tg8fwGXTkhp1fiiyuwYxnZINGjWy3B8TNi5UOOwTjmSC664yCHMqaj6SqJgXSDdI3KKnsn2X0t7WD9TPsaiyUO88Q89k3vz5Df9mxTy4W3F1fQD/DH4Ykc6ZbUA+mdJogoqcOpvvqDTWjhuzrz5S39XEDaVAh4QKczk8A9N2xpRDwRagRwR5s9N4Y1WkN5UwZEe0pIhFBxfxTlUdwzGhTzuxnjG8sEs9y6ENmgG/YfQixuteMMhSm/Uz2CUirBJ5dxBtdJfTeo5tHZuMYJ0mV7MYqIxxqbP/qaPpSeJXVq+UURt3JPTa8HpkXcAozOvqYydMOSG3JZDIQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMas4EvqkT17ViiAiZs0cKeBZbQh2XCKSdmYIyaueHZbJN9UvSpiMFjRK2vp2/HeR8daWmXso/lcgWC/HdifUg9LIjcwB+xe29QZxp/fekSRyFvHcK3FPTyWhNsx4Bqqxa588grPXQRznx4KHR/QUUPMqHEZ1HOkOoxPVcqcpYLYC0yiSnzgCsZJyhPuKTXeLXHiGYxKbRLI1ZVjichkNVKxNNoeOANFQn8Y2mTmmaDJIQc7JpXQrKQIZlyWLwuXuP0wlnBF10qLBPsooXVplIFPDHJPtBj5Z/8zuIWfOOwX/7XA30OkFu18Y9lKd/a6oclZDq5mFVnZh5yty2Q4abM=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ac8af7e0d00346429d27f082ecb352c7\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYwX3gsDtK6wU2rNdujIfgaieX9azpmp/ePn0Eb1XKh+YVeXez0J6tAAE92UrC+dUMZlOotJn1cRkF0cPoNAezAWz+6qJk9xMo0bqinp8AkEmCSop1Zm72snFskrt83Fpt5iLiKieKDmeYEPyAbvpxZZ5UjLn8Rym+4QrUsEkKugN0nabTR6zFUH1X9EgJ7YiLt/PHqvUDZNPSW0wfdbkycr6ifySq0/TUtUFV2uwSWPY4tDsgAVNxRtlq53P7mF2ELEMC7urUYsfSBazIQUboTi48CYGKcgCiuio4i4fkavWCWYO3xowLJTzXpyTmpxqt3b5Aj9uXQsuxNmLO1/NQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGmxKM7n3KNB3HJQ2T5k6KW++rQ/soFUGElEVWmEU8S4KcXI740CQiuSvYLo+sSfyVaAudFToLvbi74iKmUCZjXZmmhFLNtTBT1WyQ7mDIx7/22W0RilRw1NrZgc7Ztmp9QGDgEytnWNYF0RwrYWZSARGIxj9cNSKNB53Z/ghjYYLiy4vWjW7hKoe3+82z0BJfllHLRxTYHyRqY4ZlsZeNG+c23j9axvNON1dhBRAVKupwsvCQlr9ICykVMONbRRapTjh/lGG1F75gFHuCZIZ0SirkKtcTFvnMscGrw1q61y7x3xc8w6vP4w7g+lKrbJylxWm0RuFiNf33N1RgZH31g=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"a2361282057e4bd9b5784f21979e99fc\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1365", + "content-length": "1366", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:37 GMT", + "date": "Mon, 13 Sep 2021 19:50:09 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "7fda4e28-1ce0-4b4c-9f0b-cfcfbdb73e17", + "x-ms-client-request-id": "60f7be43-0167-4457-9fc0-84b1c7fcdcbf", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "f5232eeb-8d25-4fe4-b0d5-c6a3ed4b1611", "x-powered-by": "ASP.NET" } }, @@ -166,22 +168,22 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7kFyT86P2tg8fwGXTkhp1fiiyuwYxnZINGjWy3B8TNi5UOOwTjmSC664yCHMqaj6SqJgXSDdI3KKnsn2X0t7WD9TPsaiyUO88Q89k3vz5Df9mxTy4W3F1fQD/DH4Ykc6ZbUA+mdJogoqcOpvvqDTWjhuzrz5S39XEDaVAh4QKczk8A9N2xpRDwRagRwR5s9N4Y1WkN5UwZEe0pIhFBxfxTlUdwzGhTzuxnjG8sEs9y6ENmgG/YfQixuteMMhSm/Uz2CUirBJ5dxBtdJfTeo5tHZuMYJ0mV7MYqIxxqbP/qaPpSeJXVq+UURt3JPTa8HpkXcAozOvqYydMOSG3JZDIQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMas4EvqkT17ViiAiZs0cKeBZbQh2XCKSdmYIyaueHZbJN9UvSpiMFjRK2vp2/HeR8daWmXso/lcgWC/HdifUg9LIjcwB+xe29QZxp/fekSRyFvHcK3FPTyWhNsx4Bqqxa588grPXQRznx4KHR/QUUPMqHEZ1HOkOoxPVcqcpYLYC0yiSnzgCsZJyhPuKTXeLXHiGYxKbRLI1ZVjichkNVKxNNoeOANFQn8Y2mTmmaDJIQc7JpXQrKQIZlyWLwuXuP0wlnBF10qLBPsooXVplIFPDHJPtBj5Z/8zuIWfOOwX/7XA30OkFu18Y9lKd/a6oclZDq5mFVnZh5yty2Q4abM=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ac8af7e0d00346429d27f082ecb352c7\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYwX3gsDtK6wU2rNdujIfgaieX9azpmp/ePn0Eb1XKh+YVeXez0J6tAAE92UrC+dUMZlOotJn1cRkF0cPoNAezAWz+6qJk9xMo0bqinp8AkEmCSop1Zm72snFskrt83Fpt5iLiKieKDmeYEPyAbvpxZZ5UjLn8Rym+4QrUsEkKugN0nabTR6zFUH1X9EgJ7YiLt/PHqvUDZNPSW0wfdbkycr6ifySq0/TUtUFV2uwSWPY4tDsgAVNxRtlq53P7mF2ELEMC7urUYsfSBazIQUboTi48CYGKcgCiuio4i4fkavWCWYO3xowLJTzXpyTmpxqt3b5Aj9uXQsuxNmLO1/NQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGmxKM7n3KNB3HJQ2T5k6KW++rQ/soFUGElEVWmEU8S4KcXI740CQiuSvYLo+sSfyVaAudFToLvbi74iKmUCZjXZmmhFLNtTBT1WyQ7mDIx7/22W0RilRw1NrZgc7Ztmp9QGDgEytnWNYF0RwrYWZSARGIxj9cNSKNB53Z/ghjYYLiy4vWjW7hKoe3+82z0BJfllHLRxTYHyRqY4ZlsZeNG+c23j9axvNON1dhBRAVKupwsvCQlr9ICykVMONbRRapTjh/lGG1F75gFHuCZIZ0SirkKtcTFvnMscGrw1q61y7x3xc8w6vP4w7g+lKrbJylxWm0RuFiNf33N1RgZH31g=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"a2361282057e4bd9b5784f21979e99fc\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1365", + "content-length": "1366", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:39 GMT", + "date": "Mon, 13 Sep 2021 19:50:11 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "b22f3af0-e017-43f1-a09d-c0be7da5a0e9", + "x-ms-client-request-id": "9a064a15-03ff-4359-b956-5a74100d4f6a", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "36535a41-f5f2-4e69-a45c-bd3dd2ec136f", "x-powered-by": "ASP.NET" } }, @@ -193,48 +195,21 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7kFyT86P2tg8fwGXTkhp1fiiyuwYxnZINGjWy3B8TNi5UOOwTjmSC664yCHMqaj6SqJgXSDdI3KKnsn2X0t7WD9TPsaiyUO88Q89k3vz5Df9mxTy4W3F1fQD/DH4Ykc6ZbUA+mdJogoqcOpvvqDTWjhuzrz5S39XEDaVAh4QKczk8A9N2xpRDwRagRwR5s9N4Y1WkN5UwZEe0pIhFBxfxTlUdwzGhTzuxnjG8sEs9y6ENmgG/YfQixuteMMhSm/Uz2CUirBJ5dxBtdJfTeo5tHZuMYJ0mV7MYqIxxqbP/qaPpSeJXVq+UURt3JPTa8HpkXcAozOvqYydMOSG3JZDIQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMas4EvqkT17ViiAiZs0cKeBZbQh2XCKSdmYIyaueHZbJN9UvSpiMFjRK2vp2/HeR8daWmXso/lcgWC/HdifUg9LIjcwB+xe29QZxp/fekSRyFvHcK3FPTyWhNsx4Bqqxa588grPXQRznx4KHR/QUUPMqHEZ1HOkOoxPVcqcpYLYC0yiSnzgCsZJyhPuKTXeLXHiGYxKbRLI1ZVjichkNVKxNNoeOANFQn8Y2mTmmaDJIQc7JpXQrKQIZlyWLwuXuP0wlnBF10qLBPsooXVplIFPDHJPtBj5Z/8zuIWfOOwX/7XA30OkFu18Y9lKd/a6oclZDq5mFVnZh5yty2Q4abM=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"ac8af7e0d00346429d27f082ecb352c7\"}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYwX3gsDtK6wU2rNdujIfgaieX9azpmp/ePn0Eb1XKh+YVeXez0J6tAAE92UrC+dUMZlOotJn1cRkF0cPoNAezAWz+6qJk9xMo0bqinp8AkEmCSop1Zm72snFskrt83Fpt5iLiKieKDmeYEPyAbvpxZZ5UjLn8Rym+4QrUsEkKugN0nabTR6zFUH1X9EgJ7YiLt/PHqvUDZNPSW0wfdbkycr6ifySq0/TUtUFV2uwSWPY4tDsgAVNxRtlq53P7mF2ELEMC7urUYsfSBazIQUboTi48CYGKcgCiuio4i4fkavWCWYO3xowLJTzXpyTmpxqt3b5Aj9uXQsuxNmLO1/NQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGmxKM7n3KNB3HJQ2T5k6KW++rQ/soFUGElEVWmEU8S4KcXI740CQiuSvYLo+sSfyVaAudFToLvbi74iKmUCZjXZmmhFLNtTBT1WyQ7mDIx7/22W0RilRw1NrZgc7Ztmp9QGDgEytnWNYF0RwrYWZSARGIxj9cNSKNB53Z/ghjYYLiy4vWjW7hKoe3+82z0BJfllHLRxTYHyRqY4ZlsZeNG+c23j9axvNON1dhBRAVKupwsvCQlr9ICykVMONbRRapTjh/lGG1F75gFHuCZIZ0SirkKtcTFvnMscGrw1q61y7x3xc8w6vP4w7g+lKrbJylxWm0RuFiNf33N1RgZH31g=\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\",\"request_id\":\"a2361282057e4bd9b5784f21979e99fc\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "1365", + "content-length": "1359", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:42 GMT", + "date": "Mon, 13 Sep 2021 19:50:13 GMT", "expires": "-1", "pragma": "no-cache", - "retry-after": "10", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "ddca21b4-9637-4ca6-b03d-d7bd28f6fc33", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7kFyT86P2tg8fwGXTkhp1fiiyuwYxnZINGjWy3B8TNi5UOOwTjmSC664yCHMqaj6SqJgXSDdI3KKnsn2X0t7WD9TPsaiyUO88Q89k3vz5Df9mxTy4W3F1fQD/DH4Ykc6ZbUA+mdJogoqcOpvvqDTWjhuzrz5S39XEDaVAh4QKczk8A9N2xpRDwRagRwR5s9N4Y1WkN5UwZEe0pIhFBxfxTlUdwzGhTzuxnjG8sEs9y6ENmgG/YfQixuteMMhSm/Uz2CUirBJ5dxBtdJfTeo5tHZuMYJ0mV7MYqIxxqbP/qaPpSeJXVq+UURt3JPTa8HpkXcAozOvqYydMOSG3JZDIQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMas4EvqkT17ViiAiZs0cKeBZbQh2XCKSdmYIyaueHZbJN9UvSpiMFjRK2vp2/HeR8daWmXso/lcgWC/HdifUg9LIjcwB+xe29QZxp/fekSRyFvHcK3FPTyWhNsx4Bqqxa588grPXQRznx4KHR/QUUPMqHEZ1HOkOoxPVcqcpYLYC0yiSnzgCsZJyhPuKTXeLXHiGYxKbRLI1ZVjichkNVKxNNoeOANFQn8Y2mTmmaDJIQc7JpXQrKQIZlyWLwuXuP0wlnBF10qLBPsooXVplIFPDHJPtBj5Z/8zuIWfOOwX/7XA30OkFu18Y9lKd/a6oclZDq5mFVnZh5yty2Q4abM=\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\",\"request_id\":\"ac8af7e0d00346429d27f082ecb352c7\"}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "1357", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:44 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "4585c170-df6a-4765-9d92-8d31e99726ac", + "x-ms-client-request-id": "32ecf7af-320b-456d-a1e2-a657bfad9fb9", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "9caa42fb-98d5-46b2-8841-991c8445ac0c", "x-powered-by": "ASP.NET" } }, @@ -246,21 +221,21 @@ }, "requestBody": null, "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"x5t\":\"1cM9v-0VAKzzd1KNSusS94PEjD0\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQRZlkNIOxShqQsMRkgQRZEjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNjQzWhcNMjIwMjE2MTkyNjQzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuQXJPzo/a2Dx/AZdOSGnV+KLK7BjGdkg0aNbLcHxM2LlQ47BOOZILrrjIIcypqPpKomBdIN0jcoqeyfZfS3tYP1M+xqLJQ7zxDz2Te/PkN/2bFPLhbcXV9AP8MfhiRzpltQD6Z0miCipw6m++oNNaOG7OvPlLf1cQNpUCHhApzOTwD03bGlEPBFqBHBHmz03hjVaQ3lTBkR7SkiEUHF/FOVR3DMaFPO7GeMbywSz3LoQ2aAb9h9CLG614wyFKb9TPYJSKsEnl3EG10l9N6jm0dm4xgnSZXsxiojHGps/+po+lJ4ldWr5RRG3ck9NrwemRdwCjM6+pjJ0w5IbclkMhAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRHuLwHlkrtyzjRc5QriTgCAJ18gDAdBgNVHQ4EFgQUR7i8B5ZK7cs40XOUK4k4AgCdfIAwDQYJKoZIhvcNAQELBQADggEBADSy1vB/GGsfifTDIEKNnnjaz9z+3CQvJUMf28r8ZenNNwn4g5JUKM6Up+rkk18+7zk1TiQOLP9Gy7n35YzUltzuQzKUiSwZCOSFw+M8k+n0wwNad6bhi5lhiWEMhB/t+o5ijePSxRxn+pS06a44+Y+Ivda7bYv0lC0Y8mv6wJwldvYOWlF1hbNAZVt6g2XCCeBZtmxRsLjckyTZ5V3KBoyaZOJG8W50qXLkhabmZSESt2DH2fv/SaDX7LCY7GWllqxIca34QynK9kR0mkgZDyNv9134bsWWt/u1bpgzo2YZpXsjQPZhuw5tFcuu1U0h7VNHftnxtIyxlnJmv/pH/u8=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503003,\"exp\":1645039603,\"created\":1613503603,\"updated\":1613503603,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503595,\"updated\":1613503595}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\"}}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/81a16a52911b4ddd9179801fbfc5160f\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/81a16a52911b4ddd9179801fbfc5160f\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/81a16a52911b4ddd9179801fbfc5160f\",\"x5t\":\"NV_c_duo9FrXd72Tn1epOToueWY\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQI6aw2lhhRf6bVx4cONoaTzANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwOTEzMTk0MDExWhcNMjIwOTEzMTk1MDExWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCxjBfeCwO0rrBTas126Mh+BqJ5f1rOman94+fQRvVcqH5hV5d7PQnq0AAT3ZSsL51QxmU6i0mfVxGQXRw+g0B7MBbP7qomT3EyjRuqKenwCQSYJKinVmbvaycWySu3zcWm3mIuIqJ4oOZ5gQ/IBu+nFlnlSMufxHKb7hCtSwSQq6A3SdptNHrMVQfVf0SAntiIu388eq9QNk09JbTB91uTJyvqJ/JKrT9NS1QVXa7BJY9ji0OyABU3FG2Wrnc/uYXYQsQwLu6tRix9IFrMhBRuhOLjwJgYpyAKK6KjiLh+Rq9YJZg7fGjAslPNenJOanGq3dvkCP25dCy7E2Ys7X81AgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSRlkAPwiGLVyOnO0Dp7y8V3fIhJzAdBgNVHQ4EFgQUkZZAD8Ihi1cjpztA6e8vFd3yIScwDQYJKoZIhvcNAQELBQADggEBAGbgLQHCQ39lqGgoEtgAdG7+8+aDT2nrsuSSPXSCujGtWEiBa0cSM73OEWuDzcchAElqIRq9qczGmOf0nNVVErtNbyLkVlanSjAblaPs6qyumg1IQ0xWbr8OEX8SwF92AdQLkoWJxsavITARfuVzwAJLzCCE7xKhrK+JO1CiepSijQeO6XA75xC8p4ITHsDG14rBHa3EFhWz4Et+lVUX1dSvgqVzWHyElZJ5Jrwc2Xp59SsmTGUrl/rFIyYW6cmIq8cnD3f70pEbHJGmTJ7mBPH2ZJlWVkJNaHpx2mjFJpPaU4m9eAPJj08VIaCcg/HfqtFtLd3r0eLFmatO51rN5I8=\",\"attributes\":{\"enabled\":true,\"nbf\":1631562011,\"exp\":1663098611,\"created\":1631562612,\"updated\":1631562612,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1631562607,\"updated\":1631562607}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "2724", + "content-length": "2720", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:44 GMT", + "date": "Mon, 13 Sep 2021 19:50:13 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "0f0caae1-f112-402c-b101-98035b3f3fe5", + "x-ms-client-request-id": "789d438d-21ea-4b7f-8a42-40e82dab5f6d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "2d79ee23-1deb-4f72-b163-ec45c5a697c7", "x-powered-by": "ASP.NET" } }, @@ -272,22 +247,22 @@ }, "requestBody": "", "status": 401, - "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "87", + "content-length": "97", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:44 GMT", + "date": "Mon, 13 Sep 2021 19:50:13 GMT", "expires": "-1", "pragma": "no-cache", - "status": "401", "strict-transport-security": "max-age=31536000;includeSubDomains", "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "f7f04fcc-0b95-45be-bd07-d6cf5ba8e333", + "x-ms-client-request-id": "4200c0f6-94f1-4f98-8972-a7839294e516", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "4dde36b3-ad45-4cfe-a81e-f7506f7313c8", "x-powered-by": "ASP.NET" } }, @@ -295,22 +270,24 @@ "method": "POST", "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", "query": {}, - "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", "status": 200, "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", "responseHeaders": { "cache-control": "no-store, no-cache", "content-length": "1315", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:43 GMT", + "date": "Mon, 13 Sep 2021 19:50:14 GMT", "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+est\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11496.5 - SCUS ProdSlices", - "x-ms-request-id": "273c2a7d-8391-44f8-9729-1deed647f200" + "x-ms-ests-server": "2.1.12025.15 - EUS ProdSlices", + "x-ms-request-id": "4b3e8454-dafb-462b-afef-a1d249a20301" } }, { @@ -321,21 +298,21 @@ }, "requestBody": null, "status": 200, - "response": "{\"value\":\"MIIKOAIBAzCCCfQGCSqGSIb3DQEHAaCCCeUEggnhMIIJ3TCCBhYGCSqGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAhBf3pGltVk+AICB9AEggTYskEwAW+MX28560j21Rda52j7wfBXrgHn7hcOl8YoH3W6nIOec1IMtj6VsERul+U08H1f54fcpgZjOw3KkdGZTnmArzFuNUr7I5g/MKP7JxQlclg7Bx4wcpnTDSAfyxRQpkODPjShGawx6yrjRPMha4Fw6GXTTC+FvklVm0Gg5zEgeZBZ0mX6bPYONrkZ6RX/rDHWyIwZr/aohjlItSJukuVudXJgWhVDoewd1Zdkp3Smd4xJxzOxAl7veg9iOBCiGGjVxWeHgSPthi9NBi8i+WlsZBzITOyLUoc++e7OGSiarHmyEqbw7a6ku+GJKQEeyksbGnhHeL09EJEqZRNnJLc0zqGwMoq2fQHhjFk7D2n/EzlKQghm+hvRh/zw7DREKlIfpbxOcIG4WAllSQtLw59f7P093fFmBoMgCiiRGed85RX5j1zZlUGYfiaU9T502GM1JVMNhWq9QomN4ZK7Lb0aK0d8ZNf4eDRApJpg3jWksXn44VTM/PKESXYIEA7VVPQrl9PA634mAwc2h/7gQvv+jsrkLwKihU2JDzrZ2A7FvHLkeZwkoJ/XAMUWUfiSzUdCb5HhaDYhCJoKumQyVn3E8aA7lyDcOvge4Sv96MyGFJFkgyuA5SwDXe6rerxgsZDr4pdLiu5JqJ1PT9PtAtLtmLiVw5ppSu6aHRMtEdsLtIcTVIV8CZy0PmMpXaF/dVPhMMMImACKfmtpYOFg3P16ai2OZdbM8v65lrQd+SBkOAuITmzaFsuS82N7J2UexJUfbNV/z6bzCff2vwva6a3FOMwJfhNUqnuLqKIqe6TpmJywE8HrreJhrG4cK0+cDw0nujM6gbK07T200BKtJMU3yGiQSvR7L3dPJ6+H9kG1UUkmx+pRpUNLdf5eQMQjyiLEqejHzlyIxiRpvf7PKjgWRE1g5u9xPybnPakub4+Pdwk4U2HM22L+BHG5+8FVghXo3LLS8Ew8MVHGDzlf3aOwnexAhnptFiErQS4myPNt9X4G0qSbz75IWvPn7dGWR8D+Wo9FJSbqEx9Y/PXAgQy48DLI5XKuce8Ax3bAZwsWR5A6Jrym7WftkE2VLSKatPnHUiP0j/cR5k4obwIQr+gf1+/LBVaqSta3hHVV8QwCHrZX+d4cAk1Er578rhQd3Ajp9RWV4ANXoCtkF3/pqhD7ytygluX+Cz4ptsadwfAqcxrZsSkz7m8UBQo3zHDlkw8tlJ2oYsUbmz8a2bArB0YwAUCANPPM0Xj7ISAu3XZg8ynYESNUlBV1S9kY8cAK32/KI+PilWUb+tgWLMtsPPggjJBb20gK98iNgj689LLAvodW062A3IR6r8kAi8wQhSO6lR82Bhp9Gr1Jj3Rik8OEJJ5lGKqRi4cgLaqlQ67o+jD1bs/H8pAvBeEExTBdbdfOC2ZIZeIGO8rnVe/zTCn9FuylAkAA8jaZNuwWeu02Njm7sM7dNY9QjFEf5942fIoFOCuRF1tfnsOypmSbMZmk0fnk8+XqkdpNqwVK9q7Suix6C2Amm9ipK9Q9Ht8Kq5qmProinfkNb5M/UBKEQX0vQ016Gc/PrpQKJPEbEmcPtsLPKJzj0tAjT5KPz/3Z6qaI2b1nKNHAh085EnCjAYwA8L/LXZvNRzPETk22nXnEWELtzNVo3zGB6TATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGQAYgA1ADcAMwA4AGUAYQAtAGYAYgAyADIALQA0ADcAYgAyAC0AYQBhAGIAMAAtAGQAYQBiAGEAMQA3ADYANgBlADUAMAA2MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIDvwYJKoZIhvcNAQcGoIIDsDCCA6wCAQAwggOlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAhf48wrurh0mwICB9CAggN4nvos0uN/EY9yXVg8zuam9pDyiNGh9tBXXmB5kjQoRLa8XCq9MPS+Is8bSAbKhx9w05D6Bj3k/ej4pOyofs2a1EXr99v9VEb3OUOTzDoPZW6mnqAE04W8VK74YfBPPrSxV9m8i1VSiI3dcpuQLGDlKTFjto1qJEafw38E2mzy2UWTgXWHKzA0NgEgGoqcbbFCVRRjGfhfAKfx3hjJzVUQWyz3vuuzImj+H06zblXpu6kI+g+AYgik13oCp+SRMbWyaWNAXm6NFgGYqiWUP6cxexSrk1b5bkaFvQ6knv5kAGjd+TmW+7CJGBtiuh4O2TYrEZ5H0EoGEr3Dbt8OcfSkgA6873QRynnQ+ycQLZw43tLjXxI6LgQczfsibn13cfuky+1tgFf84WrKqaBzNWMPVSNeqFL28MmZP3zgCuwmK/ectnQ6mR68YTJvh1jw8m6/dKJIEJygAxfnIdA49N6HYZpq+rH/aFByD4ciZOsAbU5qIhALFBS/p7QHbPs0ii+k7NlMdnizaPl8cGF9ty2NLSTtYq8QrfbIAJD8+fbHa2YP30msA7LZTuyfkM/xG9enahoRTX+NupoJz8QW3eSNP3/lKvYggSZcKdQT1m6d3S5/nfTyL2qDN0TYbdiaAnIXuMRbj19Yl0KKk9gS5l0g9D4WiHcITc6zas2e3Cw7RPkakl7eUumF5t9NEn8CbeO1emKTWAF+iv/Zzne1Zo1XBqHLkRBPGLNUkyBNMRoors1+KQZx28nKDvMJrv53cOvSYfuqZFUEw7spfbrlGwLzRbkEPKgV4tC1OvjOxlXDr1idGxBeU5fpyV2WOxoFexanIXQYxCuK5dWplypL3IJFG59n5Nr7JN8rR0Iee+2HdfqSgNPfSIAzC+wFADl/dmrGvPvIAhlBoniHcM7mtn59lX0I1vBTw0Zl+/UQ+EHCyk4Bt8YVN92+KM6C0lf6WAHV/o2d0o+4fICbcWVis1NcXi50OoTcli6W4kT5K/wCWzsldp2hoeCbHW1enzx7XOjxIzNL/huFOROBSCxHXxtdC9BvgrNOdbNiHa6JaZY67HcI64qOw8QFHrLRlTqxM0+5Rtcize8BbZwxY39JeFaO4PDKRoAKLn6QWGVmn5wiEjNV8nbKAXbGO6PyLK+sRLExHGp5iO3pkfFyKS6GyOMJXfmHB0KEiJbGMDswHzAHBgUrDgMCGgQUSbz1DURK/CWP7xV8YlotIAAK0vAEFF9DjZoHuK5GcmffR6p5Z/BHPLEFAgIH0A==\",\"contentType\":\"application/x-pkcs12\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"managed\":true,\"attributes\":{\"enabled\":true,\"nbf\":1613503003,\"exp\":1645039603,\"created\":1613503603,\"updated\":1613503603,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\"}", + "response": "{\"value\":\"YmFzZTY0X3BsYWNlaG9sZGVy\",\"contentType\":\"application/x-pkcs12\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/81a16a52911b4ddd9179801fbfc5160f\",\"managed\":true,\"attributes\":{\"enabled\":true,\"nbf\":1631562011,\"exp\":1663098611,\"created\":1631562612,\"updated\":1631562612,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/81a16a52911b4ddd9179801fbfc5160f\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "4096", + "content-length": "4077", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:44 GMT", + "date": "Mon, 13 Sep 2021 19:50:13 GMT", "expires": "-1", "pragma": "no-cache", - "status": "200", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "818a0122-bdc0-4bfb-8db5-3498b61b8202", + "x-ms-client-request-id": "4200c0f6-94f1-4f98-8972-a7839294e516", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "c481976c-69c5-4806-94f5-0d40cf5ba6ca", "x-powered-by": "ASP.NET" } }, @@ -345,487 +322,23 @@ "query": { "api-version": "7.2" }, - "requestBody": "{\"value\":\"MIIKOAIBAzCCCfQGCSqGSIb3DQEHAaCCCeUEggnhMIIJ3TCCBhYGCSqGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAhBf3pGltVk+AICB9AEggTYskEwAW+MX28560j21Rda52j7wfBXrgHn7hcOl8YoH3W6nIOec1IMtj6VsERul+U08H1f54fcpgZjOw3KkdGZTnmArzFuNUr7I5g/MKP7JxQlclg7Bx4wcpnTDSAfyxRQpkODPjShGawx6yrjRPMha4Fw6GXTTC+FvklVm0Gg5zEgeZBZ0mX6bPYONrkZ6RX/rDHWyIwZr/aohjlItSJukuVudXJgWhVDoewd1Zdkp3Smd4xJxzOxAl7veg9iOBCiGGjVxWeHgSPthi9NBi8i+WlsZBzITOyLUoc++e7OGSiarHmyEqbw7a6ku+GJKQEeyksbGnhHeL09EJEqZRNnJLc0zqGwMoq2fQHhjFk7D2n/EzlKQghm+hvRh/zw7DREKlIfpbxOcIG4WAllSQtLw59f7P093fFmBoMgCiiRGed85RX5j1zZlUGYfiaU9T502GM1JVMNhWq9QomN4ZK7Lb0aK0d8ZNf4eDRApJpg3jWksXn44VTM/PKESXYIEA7VVPQrl9PA634mAwc2h/7gQvv+jsrkLwKihU2JDzrZ2A7FvHLkeZwkoJ/XAMUWUfiSzUdCb5HhaDYhCJoKumQyVn3E8aA7lyDcOvge4Sv96MyGFJFkgyuA5SwDXe6rerxgsZDr4pdLiu5JqJ1PT9PtAtLtmLiVw5ppSu6aHRMtEdsLtIcTVIV8CZy0PmMpXaF/dVPhMMMImACKfmtpYOFg3P16ai2OZdbM8v65lrQd+SBkOAuITmzaFsuS82N7J2UexJUfbNV/z6bzCff2vwva6a3FOMwJfhNUqnuLqKIqe6TpmJywE8HrreJhrG4cK0+cDw0nujM6gbK07T200BKtJMU3yGiQSvR7L3dPJ6+H9kG1UUkmx+pRpUNLdf5eQMQjyiLEqejHzlyIxiRpvf7PKjgWRE1g5u9xPybnPakub4+Pdwk4U2HM22L+BHG5+8FVghXo3LLS8Ew8MVHGDzlf3aOwnexAhnptFiErQS4myPNt9X4G0qSbz75IWvPn7dGWR8D+Wo9FJSbqEx9Y/PXAgQy48DLI5XKuce8Ax3bAZwsWR5A6Jrym7WftkE2VLSKatPnHUiP0j/cR5k4obwIQr+gf1+/LBVaqSta3hHVV8QwCHrZX+d4cAk1Er578rhQd3Ajp9RWV4ANXoCtkF3/pqhD7ytygluX+Cz4ptsadwfAqcxrZsSkz7m8UBQo3zHDlkw8tlJ2oYsUbmz8a2bArB0YwAUCANPPM0Xj7ISAu3XZg8ynYESNUlBV1S9kY8cAK32/KI+PilWUb+tgWLMtsPPggjJBb20gK98iNgj689LLAvodW062A3IR6r8kAi8wQhSO6lR82Bhp9Gr1Jj3Rik8OEJJ5lGKqRi4cgLaqlQ67o+jD1bs/H8pAvBeEExTBdbdfOC2ZIZeIGO8rnVe/zTCn9FuylAkAA8jaZNuwWeu02Njm7sM7dNY9QjFEf5942fIoFOCuRF1tfnsOypmSbMZmk0fnk8+XqkdpNqwVK9q7Suix6C2Amm9ipK9Q9Ht8Kq5qmProinfkNb5M/UBKEQX0vQ016Gc/PrpQKJPEbEmcPtsLPKJzj0tAjT5KPz/3Z6qaI2b1nKNHAh085EnCjAYwA8L/LXZvNRzPETk22nXnEWELtzNVo3zGB6TATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGQAYgA1ADcAMwA4AGUAYQAtAGYAYgAyADIALQA0ADcAYgAyAC0AYQBhAGIAMAAtAGQAYQBiAGEAMQA3ADYANgBlADUAMAA2MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIDvwYJKoZIhvcNAQcGoIIDsDCCA6wCAQAwggOlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAhf48wrurh0mwICB9CAggN4nvos0uN/EY9yXVg8zuam9pDyiNGh9tBXXmB5kjQoRLa8XCq9MPS+Is8bSAbKhx9w05D6Bj3k/ej4pOyofs2a1EXr99v9VEb3OUOTzDoPZW6mnqAE04W8VK74YfBPPrSxV9m8i1VSiI3dcpuQLGDlKTFjto1qJEafw38E2mzy2UWTgXWHKzA0NgEgGoqcbbFCVRRjGfhfAKfx3hjJzVUQWyz3vuuzImj+H06zblXpu6kI+g+AYgik13oCp+SRMbWyaWNAXm6NFgGYqiWUP6cxexSrk1b5bkaFvQ6knv5kAGjd+TmW+7CJGBtiuh4O2TYrEZ5H0EoGEr3Dbt8OcfSkgA6873QRynnQ+ycQLZw43tLjXxI6LgQczfsibn13cfuky+1tgFf84WrKqaBzNWMPVSNeqFL28MmZP3zgCuwmK/ectnQ6mR68YTJvh1jw8m6/dKJIEJygAxfnIdA49N6HYZpq+rH/aFByD4ciZOsAbU5qIhALFBS/p7QHbPs0ii+k7NlMdnizaPl8cGF9ty2NLSTtYq8QrfbIAJD8+fbHa2YP30msA7LZTuyfkM/xG9enahoRTX+NupoJz8QW3eSNP3/lKvYggSZcKdQT1m6d3S5/nfTyL2qDN0TYbdiaAnIXuMRbj19Yl0KKk9gS5l0g9D4WiHcITc6zas2e3Cw7RPkakl7eUumF5t9NEn8CbeO1emKTWAF+iv/Zzne1Zo1XBqHLkRBPGLNUkyBNMRoors1+KQZx28nKDvMJrv53cOvSYfuqZFUEw7spfbrlGwLzRbkEPKgV4tC1OvjOxlXDr1idGxBeU5fpyV2WOxoFexanIXQYxCuK5dWplypL3IJFG59n5Nr7JN8rR0Iee+2HdfqSgNPfSIAzC+wFADl/dmrGvPvIAhlBoniHcM7mtn59lX0I1vBTw0Zl+/UQ+EHCyk4Bt8YVN92+KM6C0lf6WAHV/o2d0o+4fICbcWVis1NcXi50OoTcli6W4kT5K/wCWzsldp2hoeCbHW1enzx7XOjxIzNL/huFOROBSCxHXxtdC9BvgrNOdbNiHa6JaZY67HcI64qOw8QFHrLRlTqxM0+5Rtcize8BbZwxY39JeFaO4PDKRoAKLn6QWGVmn5wiEjNV8nbKAXbGO6PyLK+sRLExHGp5iO3pkfFyKS6GyOMJXfmHB0KEiJbGMDswHzAHBgUrDgMCGgQUSbz1DURK/CWP7xV8YlotIAAK0vAEFF9DjZoHuK5GcmffR6p5Z/BHPLEFAgIH0A==\"}", + "requestBody": "{\"value\":\"YmFzZTY0X3BsYWNlaG9sZGVy\"}", "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"x5t\":\"1cM9v-0VAKzzd1KNSusS94PEjD0\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQRZlkNIOxShqQsMRkgQRZEjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNjQzWhcNMjIwMjE2MTkyNjQzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuQXJPzo/a2Dx/AZdOSGnV+KLK7BjGdkg0aNbLcHxM2LlQ47BOOZILrrjIIcypqPpKomBdIN0jcoqeyfZfS3tYP1M+xqLJQ7zxDz2Te/PkN/2bFPLhbcXV9AP8MfhiRzpltQD6Z0miCipw6m++oNNaOG7OvPlLf1cQNpUCHhApzOTwD03bGlEPBFqBHBHmz03hjVaQ3lTBkR7SkiEUHF/FOVR3DMaFPO7GeMbywSz3LoQ2aAb9h9CLG614wyFKb9TPYJSKsEnl3EG10l9N6jm0dm4xgnSZXsxiojHGps/+po+lJ4ldWr5RRG3ck9NrwemRdwCjM6+pjJ0w5IbclkMhAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRHuLwHlkrtyzjRc5QriTgCAJ18gDAdBgNVHQ4EFgQUR7i8B5ZK7cs40XOUK4k4AgCdfIAwDQYJKoZIhvcNAQELBQADggEBADSy1vB/GGsfifTDIEKNnnjaz9z+3CQvJUMf28r8ZenNNwn4g5JUKM6Up+rkk18+7zk1TiQOLP9Gy7n35YzUltzuQzKUiSwZCOSFw+M8k+n0wwNad6bhi5lhiWEMhB/t+o5ijePSxRxn+pS06a44+Y+Ivda7bYv0lC0Y8mv6wJwldvYOWlF1hbNAZVt6g2XCCeBZtmxRsLjckyTZ5V3KBoyaZOJG8W50qXLkhabmZSESt2DH2fv/SaDX7LCY7GWllqxIca34QynK9kR0mkgZDyNv9134bsWWt/u1bpgzo2YZpXsjQPZhuw5tFcuu1U0h7VNHftnxtIyxlnJmv/pH/u8=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503003,\"exp\":1645039603,\"created\":1613503604,\"updated\":1613503604,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":13,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"EmailContacts\"}}],\"issuer\":{\"name\":\"Unknown\"},\"attributes\":{\"enabled\":true,\"created\":1613503604,\"updated\":1613503604}}}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/65d67a6d0e08462c9f6e8ed39d92dbda\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/65d67a6d0e08462c9f6e8ed39d92dbda\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/65d67a6d0e08462c9f6e8ed39d92dbda\",\"x5t\":\"NV_c_duo9FrXd72Tn1epOToueWY\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQI6aw2lhhRf6bVx4cONoaTzANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwOTEzMTk0MDExWhcNMjIwOTEzMTk1MDExWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCxjBfeCwO0rrBTas126Mh+BqJ5f1rOman94+fQRvVcqH5hV5d7PQnq0AAT3ZSsL51QxmU6i0mfVxGQXRw+g0B7MBbP7qomT3EyjRuqKenwCQSYJKinVmbvaycWySu3zcWm3mIuIqJ4oOZ5gQ/IBu+nFlnlSMufxHKb7hCtSwSQq6A3SdptNHrMVQfVf0SAntiIu388eq9QNk09JbTB91uTJyvqJ/JKrT9NS1QVXa7BJY9ji0OyABU3FG2Wrnc/uYXYQsQwLu6tRix9IFrMhBRuhOLjwJgYpyAKK6KjiLh+Rq9YJZg7fGjAslPNenJOanGq3dvkCP25dCy7E2Ys7X81AgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSRlkAPwiGLVyOnO0Dp7y8V3fIhJzAdBgNVHQ4EFgQUkZZAD8Ihi1cjpztA6e8vFd3yIScwDQYJKoZIhvcNAQELBQADggEBAGbgLQHCQ39lqGgoEtgAdG7+8+aDT2nrsuSSPXSCujGtWEiBa0cSM73OEWuDzcchAElqIRq9qczGmOf0nNVVErtNbyLkVlanSjAblaPs6qyumg1IQ0xWbr8OEX8SwF92AdQLkoWJxsavITARfuVzwAJLzCCE7xKhrK+JO1CiepSijQeO6XA75xC8p4ITHsDG14rBHa3EFhWz4Et+lVUX1dSvgqVzWHyElZJ5Jrwc2Xp59SsmTGUrl/rFIyYW6cmIq8cnD3f70pEbHJGmTJ7mBPH2ZJlWVkJNaHpx2mjFJpPaU4m9eAPJj08VIaCcg/HfqtFtLd3r0eLFmatO51rN5I8=\",\"attributes\":{\"enabled\":true,\"nbf\":1631562011,\"exp\":1663098611,\"created\":1631562614,\"updated\":1631562614,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":13,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"EmailContacts\"}}],\"issuer\":{\"name\":\"Unknown\"},\"attributes\":{\"enabled\":true,\"created\":1631562614,\"updated\":1631562614}}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "2548", + "content-length": "2543", "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:44 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "f9569748-35ad-4500-81cb-479bf881f228", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\",\"deletedDate\":1613503604,\"scheduledPurgeDate\":1614108404,\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"x5t\":\"1cM9v-0VAKzzd1KNSusS94PEjD0\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQRZlkNIOxShqQsMRkgQRZEjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNjQzWhcNMjIwMjE2MTkyNjQzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuQXJPzo/a2Dx/AZdOSGnV+KLK7BjGdkg0aNbLcHxM2LlQ47BOOZILrrjIIcypqPpKomBdIN0jcoqeyfZfS3tYP1M+xqLJQ7zxDz2Te/PkN/2bFPLhbcXV9AP8MfhiRzpltQD6Z0miCipw6m++oNNaOG7OvPlLf1cQNpUCHhApzOTwD03bGlEPBFqBHBHmz03hjVaQ3lTBkR7SkiEUHF/FOVR3DMaFPO7GeMbywSz3LoQ2aAb9h9CLG614wyFKb9TPYJSKsEnl3EG10l9N6jm0dm4xgnSZXsxiojHGps/+po+lJ4ldWr5RRG3ck9NrwemRdwCjM6+pjJ0w5IbclkMhAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRHuLwHlkrtyzjRc5QriTgCAJ18gDAdBgNVHQ4EFgQUR7i8B5ZK7cs40XOUK4k4AgCdfIAwDQYJKoZIhvcNAQELBQADggEBADSy1vB/GGsfifTDIEKNnnjaz9z+3CQvJUMf28r8ZenNNwn4g5JUKM6Up+rkk18+7zk1TiQOLP9Gy7n35YzUltzuQzKUiSwZCOSFw+M8k+n0wwNad6bhi5lhiWEMhB/t+o5ijePSxRxn+pS06a44+Y+Ivda7bYv0lC0Y8mv6wJwldvYOWlF1hbNAZVt6g2XCCeBZtmxRsLjckyTZ5V3KBoyaZOJG8W50qXLkhabmZSESt2DH2fv/SaDX7LCY7GWllqxIca34QynK9kR0mkgZDyNv9134bsWWt/u1bpgzo2YZpXsjQPZhuw5tFcuu1U0h7VNHftnxtIyxlnJmv/pH/u8=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503003,\"exp\":1645039603,\"created\":1613503603,\"updated\":1613503603,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503595,\"updated\":1613503595}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "2949", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:44 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "b67098d8-216f-4c4d-bfda-782e7a95d76e", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:44 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "3418147a-da85-403f-b028-361c4feab99b", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:44 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "0ec9fbbf-a6f8-4db2-870b-5c96d17b7011", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:46 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "93aa4e76-afeb-4d8c-bab9-5cef69d4fa29", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:48 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "11c072a7-7315-497e-aba8-1eeee393ce46", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:50 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "57913347-1098-457d-b2db-bc6d990a1e27", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0\",\"deletedDate\":1613503604,\"scheduledPurgeDate\":1614108404,\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/445b59314121461e84baf17a056edd94\",\"x5t\":\"1cM9v-0VAKzzd1KNSusS94PEjD0\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQRZlkNIOxShqQsMRkgQRZEjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNjQzWhcNMjIwMjE2MTkyNjQzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuQXJPzo/a2Dx/AZdOSGnV+KLK7BjGdkg0aNbLcHxM2LlQ47BOOZILrrjIIcypqPpKomBdIN0jcoqeyfZfS3tYP1M+xqLJQ7zxDz2Te/PkN/2bFPLhbcXV9AP8MfhiRzpltQD6Z0miCipw6m++oNNaOG7OvPlLf1cQNpUCHhApzOTwD03bGlEPBFqBHBHmz03hjVaQ3lTBkR7SkiEUHF/FOVR3DMaFPO7GeMbywSz3LoQ2aAb9h9CLG614wyFKb9TPYJSKsEnl3EG10l9N6jm0dm4xgnSZXsxiojHGps/+po+lJ4ldWr5RRG3ck9NrwemRdwCjM6+pjJ0w5IbclkMhAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRHuLwHlkrtyzjRc5QriTgCAJ18gDAdBgNVHQ4EFgQUR7i8B5ZK7cs40XOUK4k4AgCdfIAwDQYJKoZIhvcNAQELBQADggEBADSy1vB/GGsfifTDIEKNnnjaz9z+3CQvJUMf28r8ZenNNwn4g5JUKM6Up+rkk18+7zk1TiQOLP9Gy7n35YzUltzuQzKUiSwZCOSFw+M8k+n0wwNad6bhi5lhiWEMhB/t+o5ijePSxRxn+pS06a44+Y+Ivda7bYv0lC0Y8mv6wJwldvYOWlF1hbNAZVt6g2XCCeBZtmxRsLjckyTZ5V3KBoyaZOJG8W50qXLkhabmZSESt2DH2fv/SaDX7LCY7GWllqxIca34QynK9kR0mkgZDyNv9134bsWWt/u1bpgzo2YZpXsjQPZhuw5tFcuu1U0h7VNHftnxtIyxlnJmv/pH/u8=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503003,\"exp\":1645039603,\"created\":1613503603,\"updated\":1613503603,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"sans\":{},\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1613503595,\"updated\":1613503595}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "2949", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:52 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "9caa84ab-bc80-477b-8721-a36515d994cf", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 204, - "response": "", - "responseHeaders": { - "cache-control": "no-cache", - "date": "Tue, 16 Feb 2021 19:26:52 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "204", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "c57fa9da-7db4-492c-8a26-56a0f21b2c7b", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\",\"deletedDate\":1613503613,\"scheduledPurgeDate\":1614108413,\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"x5t\":\"1cM9v-0VAKzzd1KNSusS94PEjD0\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQRZlkNIOxShqQsMRkgQRZEjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNjQzWhcNMjIwMjE2MTkyNjQzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuQXJPzo/a2Dx/AZdOSGnV+KLK7BjGdkg0aNbLcHxM2LlQ47BOOZILrrjIIcypqPpKomBdIN0jcoqeyfZfS3tYP1M+xqLJQ7zxDz2Te/PkN/2bFPLhbcXV9AP8MfhiRzpltQD6Z0miCipw6m++oNNaOG7OvPlLf1cQNpUCHhApzOTwD03bGlEPBFqBHBHmz03hjVaQ3lTBkR7SkiEUHF/FOVR3DMaFPO7GeMbywSz3LoQ2aAb9h9CLG614wyFKb9TPYJSKsEnl3EG10l9N6jm0dm4xgnSZXsxiojHGps/+po+lJ4ldWr5RRG3ck9NrwemRdwCjM6+pjJ0w5IbclkMhAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRHuLwHlkrtyzjRc5QriTgCAJ18gDAdBgNVHQ4EFgQUR7i8B5ZK7cs40XOUK4k4AgCdfIAwDQYJKoZIhvcNAQELBQADggEBADSy1vB/GGsfifTDIEKNnnjaz9z+3CQvJUMf28r8ZenNNwn4g5JUKM6Up+rkk18+7zk1TiQOLP9Gy7n35YzUltzuQzKUiSwZCOSFw+M8k+n0wwNad6bhi5lhiWEMhB/t+o5ijePSxRxn+pS06a44+Y+Ivda7bYv0lC0Y8mv6wJwldvYOWlF1hbNAZVt6g2XCCeBZtmxRsLjckyTZ5V3KBoyaZOJG8W50qXLkhabmZSESt2DH2fv/SaDX7LCY7GWllqxIca34QynK9kR0mkgZDyNv9134bsWWt/u1bpgzo2YZpXsjQPZhuw5tFcuu1U0h7VNHftnxtIyxlnJmv/pH/u8=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503003,\"exp\":1645039603,\"created\":1613503604,\"updated\":1613503604,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":13,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"EmailContacts\"}}],\"issuer\":{\"name\":\"Unknown\"},\"attributes\":{\"enabled\":true,\"created\":1613503604,\"updated\":1613503604}}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "2773", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:53 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "a7aaf8d5-7ecf-4e02-8041-d71532c84466", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:53 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "667a6f00-a5b6-4246-a408-af7cc66ba8d1", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:53 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "7ca89293-1f76-4976-ba75-071c8a8048f0", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:55 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "5ad1a361-b5e3-4a0f-a9ed-b242ca0ce741", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:56 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "07a15948-9e41-4ec6-8dcf-ce0e908db838", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:26:58 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "c4bd0532-56a1-4442-9279-8400a668c46b", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:00 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "b02f5f44-0986-4ba6-b0ad-e69322370c75", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\"}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "182", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:03 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "404", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "ccd90f29-2c1c-4af6-9a89-043d3794247d", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1\",\"deletedDate\":1613503613,\"scheduledPurgeDate\":1614108413,\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"kid\":\"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"sid\":\"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/459e7e2c85f14c11be0da5215003c562\",\"x5t\":\"1cM9v-0VAKzzd1KNSusS94PEjD0\",\"cer\":\"MIIDKDCCAhCgAwIBAgIQRZlkNIOxShqQsMRkgQRZEjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwMjE2MTkxNjQzWhcNMjIwMjE2MTkyNjQzWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuQXJPzo/a2Dx/AZdOSGnV+KLK7BjGdkg0aNbLcHxM2LlQ47BOOZILrrjIIcypqPpKomBdIN0jcoqeyfZfS3tYP1M+xqLJQ7zxDz2Te/PkN/2bFPLhbcXV9AP8MfhiRzpltQD6Z0miCipw6m++oNNaOG7OvPlLf1cQNpUCHhApzOTwD03bGlEPBFqBHBHmz03hjVaQ3lTBkR7SkiEUHF/FOVR3DMaFPO7GeMbywSz3LoQ2aAb9h9CLG614wyFKb9TPYJSKsEnl3EG10l9N6jm0dm4xgnSZXsxiojHGps/+po+lJ4ldWr5RRG3ck9NrwemRdwCjM6+pjJ0w5IbclkMhAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRHuLwHlkrtyzjRc5QriTgCAJ18gDAdBgNVHQ4EFgQUR7i8B5ZK7cs40XOUK4k4AgCdfIAwDQYJKoZIhvcNAQELBQADggEBADSy1vB/GGsfifTDIEKNnnjaz9z+3CQvJUMf28r8ZenNNwn4g5JUKM6Up+rkk18+7zk1TiQOLP9Gy7n35YzUltzuQzKUiSwZCOSFw+M8k+n0wwNad6bhi5lhiWEMhB/t+o5ijePSxRxn+pS06a44+Y+Ivda7bYv0lC0Y8mv6wJwldvYOWlF1hbNAZVt6g2XCCeBZtmxRsLjckyTZ5V3KBoyaZOJG8W50qXLkhabmZSESt2DH2fv/SaDX7LCY7GWllqxIca34QynK9kR0mkgZDyNv9134bsWWt/u1bpgzo2YZpXsjQPZhuw5tFcuu1U0h7VNHftnxtIyxlnJmv/pH/u8=\",\"attributes\":{\"enabled\":true,\"nbf\":1613503003,\"exp\":1645039603,\"created\":1613503604,\"updated\":1613503604,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":13,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"EmailContacts\"}}],\"issuer\":{\"name\":\"Unknown\"},\"attributes\":{\"enabled\":true,\"created\":1613503604,\"updated\":1613503604}}}", - "responseHeaders": { - "cache-control": "no-cache", - "content-length": "2773", - "content-type": "application/json; charset=utf-8", - "date": "Tue, 16 Feb 2021 19:27:05 GMT", - "expires": "-1", - "pragma": "no-cache", - "status": "200", - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "1ab4a1d0-409c-4b08-8b8d-69062c8eb856", - "x-powered-by": "ASP.NET" - } - }, - { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1", - "query": { - "api-version": "7.2" - }, - "requestBody": null, - "status": 204, - "response": "", - "responseHeaders": { - "cache-control": "no-cache", - "date": "Tue, 16 Feb 2021 19:27:05 GMT", + "date": "Mon, 13 Sep 2021 19:50:14 GMT", "expires": "-1", "pragma": "no-cache", - "status": "204", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", - "x-ms-keyvault-region": "westus2", - "x-ms-keyvault-service-version": "1.2.164.2", - "x-ms-request-id": "1007d4be-b080-4d63-8594-c99fffb1333b", + "x-ms-client-request-id": "ad9fc887-7da4-4a5d-8aba-b01efdca0d10", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "13806e31-f28c-48c8-9f39-25e47b109460", "x-powered-by": "ASP.NET" } } @@ -834,5 +347,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "103faf5f3a97929cca90ec154a3c5031" + "hash": "9f2362165f6e8b57cab91e55dc7fba34" } \ No newline at end of file diff --git a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_get_a_certificates_secret_in_pkcs_12_format.js b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_get_a_certificates_secret_in_pkcs_12_format.js index 6e0b3df684ed..0b632bde83a0 100644 --- a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_get_a_certificates_secret_in_pkcs_12_format.js +++ b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_get_a_certificates_secret_in_pkcs_12_format.js @@ -1,3036 +1,5 @@ let nock = require('nock'); -module.exports.hash = "74ba7776254a2ca9a10c63f3155804bb"; +module.exports.hash = "4c366048af14c704af26e981272b9441"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/create') - .query(true) - .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '87', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'WWW-Authenticate', - 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '8078be80-f254-401d-874c-c3198a613061', - 'x-ms-request-id', - '9a2ccb64-233e-43c5-b2a8-d74a0189122e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:46 GMT' -]); - -nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .get('/common/discovery/instance') - .query(true) - .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ - 'Cache-Control', - 'max-age=86400, private', - 'Content-Type', - 'application/json; charset=utf-8', - 'Strict-Transport-Security', - 'max-age=31536000; includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Access-Control-Allow-Origin', - '*', - 'Access-Control-Allow-Methods', - 'GET, OPTIONS', - 'P3P', - 'CP="DSP CUR OTPi IND OTRi ONL FIN"', - 'x-ms-request-id', - '1ff6f29c-e18f-4c93-a187-d3a9d9a2a802', - 'x-ms-ests-server', - '2.1.11654.16 - SCUS ProdSlices', - 'Set-Cookie', - 'fpc=ApDQRp_1bOJGvyZBmEPP0xDmR1YbAwAAAIC6G9gOAAAA; expires=Fri, 28-May-2021 20:26:47 GMT; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrLwylMZO_jGsp5usfTEQ-yC0ZSL_kFPPuHMiGK7weUfQK7gf9SmDrpXTscuYEpJiYOLJ-BX_SKlgvlnAr8ViDEtZgxJl4F7-SuBbtR2_DfbVqxt6BLmZuk4lwBhpQeEFXyMO-QwnK8b811k7ojT6rOiYojp4acb5k4VLeQ5CFo80gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', - 'Set-Cookie', - 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', - 'Date', - 'Wed, 28 Apr 2021 20:26:46 GMT', - 'Content-Length', - '980' -]); - -nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') - .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"tenant_region_scope":"NA","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ - 'Cache-Control', - 'max-age=86400, private', - 'Content-Type', - 'application/json; charset=utf-8', - 'Strict-Transport-Security', - 'max-age=31536000; includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Access-Control-Allow-Origin', - '*', - 'Access-Control-Allow-Methods', - 'GET, OPTIONS', - 'P3P', - 'CP="DSP CUR OTPi IND OTRi ONL FIN"', - 'x-ms-request-id', - '4e2fcded-9726-451d-a467-654bfe572401', - 'x-ms-ests-server', - '2.1.11654.16 - WUS2 ProdSlices', - 'Set-Cookie', - 'fpc=ApDQRp_1bOJGvyZBmEPP0xDmR1YbAwAAAIC6G9gOAAAA; expires=Fri, 28-May-2021 20:26:47 GMT; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrgdxeHnSgBn5UcXOAxSMxW_825k2JAUnZdptxxTHEUuEOgELWgjl8AWcOmFUI-cus3o_1fSyFgrFbE9KXIT-shjzctmhgcPLUM5lAQvlEmBxYXjZ1lOgLen-w_lUSthQXEu4tzbVnYUn7P10VYyhpaqs2OiENAnT77nusgBsxJRkgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', - 'Set-Cookie', - 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', - 'Date', - 'Wed, 28 Apr 2021 20:26:47 GMT', - 'Content-Length', - '1651' -]); - -nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .filteringRequestBody(function (body) { - return body.replace(/client-request-id=[^&]*/g, "client-request-id=client-request-id"); - }) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&grant_type=client_credentials&client-request-id=client-request-id&client_secret=azure_client_secret") - .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ - 'Cache-Control', - 'no-store, no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Strict-Transport-Security', - 'max-age=31536000; includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'P3P', - 'CP="DSP CUR OTPi IND OTRi ONL FIN"', - 'x-ms-request-id', - '4e2fcded-9726-451d-a467-654b07582401', - 'x-ms-ests-server', - '2.1.11654.16 - WUS2 ProdSlices', - 'x-ms-clitelem', - '1,0,0,,', - 'Set-Cookie', - 'fpc=ApDQRp_1bOJGvyZBmEPP0xDmR1YbAQAAAKy7G9gOAAAA; expires=Fri, 28-May-2021 20:26:47 GMT; path=/; secure; HttpOnly; SameSite=None', - 'Set-Cookie', - 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', - 'Set-Cookie', - 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', - 'Date', - 'Wed, 28 Apr 2021 20:26:47 GMT', - 'Content-Length', - '1313' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/create', {"policy":{"key_props":{},"secret_props":{},"x509_props":{"subject":"cn=MyCert","sans":{}},"issuer":{"name":"Self"},"attributes":{}},"attributes":{}}) - .query(true) - .reply(202, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Location', - 'https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending?api-version=7.2&request_id=16c083b5db5d4bf69c8333ad88167700', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '8078be80-f254-401d-874c-c3198a613061', - 'x-ms-request-id', - '31428c13-c89e-4de0-8ff4-408291042bf8', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:47 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '27a1313a-ca53-4b83-b61e-130d18f87e2a', - 'x-ms-request-id', - '2ed799f0-8b57-4038-a794-421b7d58707f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:47 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '801edebb-f8da-40ef-aeba-89ddffd14a01', - 'x-ms-request-id', - '2da66576-fab9-4578-b89b-499e18103fd6', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:47 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a1343395-5bf7-496f-bd78-1592cf1f58cc', - 'x-ms-request-id', - 'f85a1422-5121-41cf-8ce5-c306cd46824f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:50 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0e343007-133f-4f60-b4e1-82d12faf006c', - 'x-ms-request-id', - 'db8236de-3cb2-426b-8881-c15dac53c7ae', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:51 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '8f9d3b5f-252a-49f5-b99a-54b81f877088', - 'x-ms-request-id', - '683bce9f-c23c-41af-bccc-6cba6f884e93', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:53 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ee12a70b-6f92-4dec-8040-3bb421d6fbee', - 'x-ms-request-id', - '74dd6387-8f76-48ae-8170-71f0bf2b4e8c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:56 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '9ceefc96-6efe-4c9e-aebb-9758d3f6b5ae', - 'x-ms-request-id', - 'a5559b08-4b6c-44f0-ab60-a9c25c938d9e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:26:58 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd69b7a25-6aa0-415e-a9e9-58da66888c75', - 'x-ms-request-id', - 'e66cf8d3-6b31-4fe6-8d0d-e11fd9d95671', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:00 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '19774323-322d-45ff-83fd-4b7ee3ffb08a', - 'x-ms-request-id', - '536f029f-6f47-4eda-acad-a973ae60515a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:02 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '76a72817-fbc8-47fc-b809-1bf0328a9f07', - 'x-ms-request-id', - '8b187d43-d8a1-4f94-a7ee-6a6b2acc65f9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:04 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6713a7b0-c30a-4aac-af65-4ca5d2b4dd7f', - 'x-ms-request-id', - 'e9f58999-4b06-4b40-8382-053d3700ddca', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:06 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a7662bf8-bdf1-4764-89f8-1698ec449a42', - 'x-ms-request-id', - 'e4b13279-c5fa-48d7-b8a6-c5c34b5cfcd5', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:09 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c0eb6cca-cb5b-47e1-a9d7-8f8257942e06', - 'x-ms-request-id', - '6b207d3e-c25b-43ac-9105-b628174d56ca', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:11 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'cf31820d-cc25-42b4-9802-3f0eb2223fc2', - 'x-ms-request-id', - '3544ce67-7f27-4fb4-9e51-292f22450bbf', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:13 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'de31e484-e9e6-42b9-aaa0-d782ee155001', - 'x-ms-request-id', - 'fcda49e4-dcbb-44aa-9ee2-02f06a992e4e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:14 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '39ffb98f-7d51-4327-97c6-c33f08f646b5', - 'x-ms-request-id', - '8bba3211-d06a-4a1e-8d5f-ef937d40ebdc', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:16 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '415db38b-2268-4630-a94f-f5145852a481', - 'x-ms-request-id', - '71ece659-b399-4403-94f9-501174e9b29a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:18 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '4efe509d-1136-49bd-9521-db20cd2ab0fa', - 'x-ms-request-id', - '6e5c6cd9-1805-472f-8088-7105470e763d', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:20 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '06b57afd-5445-4838-b071-e1b5e56d97d7', - 'x-ms-request-id', - '74379663-b534-456e-9dcc-2f9528dcaa1c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:22 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e19e8585-b383-4571-af87-9dcf9d113a3b', - 'x-ms-request-id', - 'ebe3e2ab-8565-4f80-a22d-8c876d7d5aff', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:25 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '12024755-35b1-460f-bf35-2fdbee2530d3', - 'x-ms-request-id', - '2e02a188-159e-4f0f-b0fb-57f159e101bd', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:27 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '69064566-c113-49ac-af96-fc78c4d59805', - 'x-ms-request-id', - 'e7d6c3c8-3b93-49e5-8bdd-7f2de3680ab1', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:30 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '68aa6c88-efda-453d-9833-9d26593d4cdd', - 'x-ms-request-id', - 'd22ecc88-f84e-4578-bcc4-416653b2cc6e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:32 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '115308ce-4b54-494c-a265-4da0f1cca5a8', - 'x-ms-request-id', - '33f3d07e-8908-4d28-8c0e-a9512638a2bd', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:33 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '37e8b27e-a931-4c3c-b5ea-b862d137dce0', - 'x-ms-request-id', - 'b16751a1-dd31-4894-a13c-64f205dd87a2', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:35 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5d75fdd0-cda0-4552-89ac-34db57956597', - 'x-ms-request-id', - 'cb4ba1b3-e793-459b-bf00-14b8b2bde178', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:37 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f7a1061a-46c4-427f-a71f-f201a5b75ba8', - 'x-ms-request-id', - 'ec453af1-5669-426e-844a-26982a6de64b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:40 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '21a29fd7-1e65-42c4-8fdf-9fe60de0860c', - 'x-ms-request-id', - 'fbcac3fc-d631-4f34-aee0-ceef9287cfd7', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:42 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1cb6ddb7-7186-498d-aeea-d2c538875aca', - 'x-ms-request-id', - 'afc24709-ef56-4ca5-8e88-0177db526115', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:44 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '90829b2e-e8d5-4574-98a0-22aced0a9944', - 'x-ms-request-id', - '84e85d3c-e273-4030-989e-1aaf6f41b872', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:46 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '11cfa416-0e3c-4ec5-ab68-05d34b2e0052', - 'x-ms-request-id', - '6036fd78-51a6-46bb-b82e-bfeab3adebac', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:48 GMT', - 'Content-Length', - '1353' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGzJhTavtVH8S+5pgovN0xqLu6IBTF5GAY3fl+8evtVsgBHBYLLy75kglIYyVymuFywJxT+7lCjWgYuqM1oTmviSfgR4tEWnAhLQYJFMQcHicJNaaDVQtiwplz4+ORwOkgmBU1isttB7c7+Ub0pSLju/P+bxUeH/tzvcC+7UBxGSKsFWZ3PVoKNHZpofn+jPQFqFZKC0LuYXyzXKsV8d4oxNOM1ZwadyaJT53lh/z8EmMcogy6mgIpTFRuvO+Dmb9Ux1I99afBm2tYwyGxyHLfkoyESl9ub+F0Uea0P/RRQio5Aq2Bv6iTSlxpB23p8PQK3VY/qUl6tf7l9UmZYYRQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACd/0g5dYMWhPXZ7bEZnfazoH9eOYxfvszTw3d+I5J/Pzg7mjIisxML2B56M0vLYOCX5Fm/lxDnkydAOUNrxf+m1/pWH1PAz7zGLCRJ+48bPgnSswlrPjVHRUW0M3dPlTx6J21Ip1PZXj9O+uBu0FADEVow3jfX81vyNmWW9yIOLAgJnVf+trNR/t86f0Rm6S0thB70x70QQFDI7IPzK2jsFUYzn9y0j0xDlk816J2BuNbRMLHmTABi8md5BwkwRJZQXq21ohMLjJhzBV4MpGYDukbuU1L13wJi56mv0SHIYEe3VMAIE2jj2UaB62nsekliziX0pMLejyi5TTgWnvgU=","cancellation_requested":false,"status":"completed","target":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-","request_id":"16c083b5db5d4bf69c8333ad88167700"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e8c151f9-17cd-4e62-a822-a6e2429a4083', - 'x-ms-request-id', - '69390fb3-c128-4d78-8aa2-6a2505144600', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:50 GMT', - 'Content-Length', - '1333' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","kid":"https://keyvault_name.vault.azure.net/keys/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","sid":"https://keyvault_name.vault.azure.net/secrets/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","x5t":"a3smTonNIUP_pLaBLH80RuxPGOc","cer":"MIIDKDCCAhCgAwIBAgIQdIpUTdV9QsWas/NjMLczojANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjAxNzQ5WhcNMjIwNDI4MjAyNzQ5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8bMmFNq+1UfxL7mmCi83TGou7ogFMXkYBjd+X7x6+1WyAEcFgsvLvmSCUhjJXKa4XLAnFP7uUKNaBi6ozWhOa+JJ+BHi0RacCEtBgkUxBweJwk1poNVC2LCmXPj45HA6SCYFTWKy20Htzv5RvSlIuO78/5vFR4f+3O9wL7tQHEZIqwVZnc9Wgo0dmmh+f6M9AWoVkoLQu5hfLNcqxXx3ijE04zVnBp3JolPneWH/PwSYxyiDLqaAilMVG6874OZv1THUj31p8Gba1jDIbHIct+SjIRKX25v4XRR5rQ/9FFCKjkCrYG/qJNKXGkHbenw9ArdVj+pSXq1/uX1SZlhhFAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBTfXA5lDfwtf3Nfw/Qejxu2l61BljAdBgNVHQ4EFgQU31wOZQ38LX9zX8P0Ho8btpetQZYwDQYJKoZIhvcNAQELBQADggEBACg8KbxqIofFz69TWd7n+zUe6BNiYl2ebyPsGJxKzplwAwShGv22Sjr9DAE2SRVaoyLYOBtsRREdHTcqhCGEo8pGgzY65x7EDSkLBuv9PgRZwlmnjwQVsK3agYZjsKdSL4Th2/5C2wmdUz7CKYhFSFUKVC1WgDh0qmjH45cfiq1Fu9Xup1aqWyzC0MTX8e6BYWzZ5/Nhaxj8XoT/Nxic0QHQVRNKf+vms7tpAv2CW+HQyK76xc181I1ul0Sve6YR0GbM02hUVFXSvWpGo9T2CqEBa4NoiCIDXtQUcwXwOZa1IHK3qrNArAHenR1/VN7pIt+W4bKR+Gx12vrzAlrbpqY=","attributes":{"enabled":true,"nbf":1619641069,"exp":1651177669,"created":1619641669,"updated":1619641669,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619641607,"updated":1619641607}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'dd743d31-13d5-42b2-9746-80bb68ce5325', - 'x-ms-request-id', - 'c462265d-e5e1-434f-abef-418084de486d', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:50 GMT', - 'Content-Length', - '2655' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","kid":"https://keyvault_name.vault.azure.net/keys/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","sid":"https://keyvault_name.vault.azure.net/secrets/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","x5t":"a3smTonNIUP_pLaBLH80RuxPGOc","cer":"MIIDKDCCAhCgAwIBAgIQdIpUTdV9QsWas/NjMLczojANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjAxNzQ5WhcNMjIwNDI4MjAyNzQ5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8bMmFNq+1UfxL7mmCi83TGou7ogFMXkYBjd+X7x6+1WyAEcFgsvLvmSCUhjJXKa4XLAnFP7uUKNaBi6ozWhOa+JJ+BHi0RacCEtBgkUxBweJwk1poNVC2LCmXPj45HA6SCYFTWKy20Htzv5RvSlIuO78/5vFR4f+3O9wL7tQHEZIqwVZnc9Wgo0dmmh+f6M9AWoVkoLQu5hfLNcqxXx3ijE04zVnBp3JolPneWH/PwSYxyiDLqaAilMVG6874OZv1THUj31p8Gba1jDIbHIct+SjIRKX25v4XRR5rQ/9FFCKjkCrYG/qJNKXGkHbenw9ArdVj+pSXq1/uX1SZlhhFAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBTfXA5lDfwtf3Nfw/Qejxu2l61BljAdBgNVHQ4EFgQU31wOZQ38LX9zX8P0Ho8btpetQZYwDQYJKoZIhvcNAQELBQADggEBACg8KbxqIofFz69TWd7n+zUe6BNiYl2ebyPsGJxKzplwAwShGv22Sjr9DAE2SRVaoyLYOBtsRREdHTcqhCGEo8pGgzY65x7EDSkLBuv9PgRZwlmnjwQVsK3agYZjsKdSL4Th2/5C2wmdUz7CKYhFSFUKVC1WgDh0qmjH45cfiq1Fu9Xup1aqWyzC0MTX8e6BYWzZ5/Nhaxj8XoT/Nxic0QHQVRNKf+vms7tpAv2CW+HQyK76xc181I1ul0Sve6YR0GbM02hUVFXSvWpGo9T2CqEBa4NoiCIDXtQUcwXwOZa1IHK3qrNArAHenR1/VN7pIt+W4bKR+Gx12vrzAlrbpqY=","attributes":{"enabled":true,"nbf":1619641069,"exp":1651177669,"created":1619641669,"updated":1619641669,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619641607,"updated":1619641607}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ead5a4c7-5cca-4139-9248-a146d44e4005', - 'x-ms-request-id', - '4bf0a03d-f862-4560-905e-1b92fb3afc8f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:50 GMT', - 'Content-Length', - '2655' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/') - .query(true) - .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '87', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'WWW-Authenticate', - 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1430c413-832e-4906-929f-2e741c4a756a', - 'x-ms-request-id', - '8bf0c23e-f27c-48d7-9f3a-7d0d8385b16b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:50 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/') - .query(true) - .reply(200, {"value":"MIIKOAIBAzCCCfQGCSqGSIb3DQEHAaCCCeUEggnhMIIJ3TCCBhYGCSqGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAj08Mt6Eeau8QICB9AEggTYQZAubWzR2BxXpKmGU0b53QJiDpymFfQmBUVJSXhat8yXoglpsox6AY+6qlTb1lL/+Oavs7Ha/HVwa1XNlFKb4IFM1GiFhHRsqcmx8wvji2VwpDHO8xH7QbkDgIjnS2PBei5EUluub6R9BSP7wYi7GpSBDBU85VzZccm77IN/D9IguLEQDPv9bfLMFxyMIBcj4AB8+rc3KKsAR7JMqIIuLsWXFXlBrOi6maaObAQLp0WvUvV8TjvTcgopNl7Umw8QAtY6HKG55kqKVYysa+KETz02DI8iBCtXDDvjPQogFLdWZImJLbuSZw8MyLufcKK1JqRff9gQyU/tMeTTcq9osSBPgmMDChmCmtbcaXzPJisMs7Ggyx2wibsRE9ty7qn8SxtvmxGiNzOKV+3kUJ3PLyh23aOcQKdmzKtZ7WQ6J43pQSsp5CTfFKRh1mNp0SwQli2t4ZlQ7SmiAEraWbe4it6ziZiy7TZrNSdVpSbIKR42AkeJUg0qqwzVRQO9fcQqCuqzqfqxeQI/B3/RmOI2NsABdmnh0JGonxryRjkdYyQwMWKSbwA/vUC8w8FiyhLR6OWHt+961L7qTWsOFHL4nraCxQmbZTHNu5oZex/WBZhqEuLG8t9tG8Z7xb+d4mbUYQIgEeT1QJg6OVhgk05Doimcs6B78OeF9fe8NWv7Ad91oG/sDMbvVFpjvx3rsdnIWUQ1lDtJoGu06cMpg7aYDohmWf+kdjjfKy0x90MXxLlBOCBA0ZLDsuQaG5UheBvNaUu+fHj0JZUKXqpSA7iNrirZT0wcgU7xQ3mFOxEo9KMTZZ56T3dnb4a1NPybtfJE3CuJHFOOWcIYLdm4akJafKnF02qpZtNNTATdY5z/SDEHFeoiTra/8VG6zveu6yeDRNLkChrCivJlzQx2twSmbs9s4B5JysPtGDWkK8zr8Oq/gW5KRrebNacsry/PcxAaG1wKF3mq6elO5C5ghnbQpFemEXkD826Y9m5QCQeZfEZ1+qiVyTJtCKXhetHoS3P1UK4nwbGr8fL51YO1TsiTmBPwbkuyQrfUQ27dWgXu1id+4rBUA8u0vengeGVJ8PxKQj6+1SF1sFSEyaPARa3LbPQwiIKcR3skw74fHp5rv2k2Xyc6afpfHnc1lJijHHaHCSqJDor7cFH1mSD1UxgguAE/7vGLJyvhasKBHIUsSW6PQEjgOSyPthJn+TaB1EU2jwOc5XAFXRREJCllBAY3zusybobeY5ysDFLeQSZVdWyTuLOT1AfVWQ+PAanUfzHPbHL9i9lZqQ1t7RNY1aFCsuORe05pawPxRl3xlQSfqtE2/RiOGVtHANilTGV+RyUuPB+W2kBc9LmE0wOxLN3rUA7+Lzaze6cTkECRufsGfAgD3bqqHHQ7lQ8b2Q17EMa9L3+uJmOQ8VVhMWLYNWeIxdPe9uCvxufxJACos/wvgcPyGxrDmwFFcuVbaKKvqzLexaoRAj7o7MvJx8eOB/0T0pOY2W1R4yNU5g78LJ+DMAq4JtXXskDWI5SOEd+YT0iLIS1+ZV+WBsv3N0Vcq+gSIAhz1FNi+cn+fC1FRCsjPNJms6nZAzSKvOOYawSrCpJ/kk8bw6urmAPmjcOHBhVivDMQSweQYGzziEk7hnldn4PQrCTpBpYBvzGB6TATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IADUANABmADAAMAA0ADEAYwAtAGEAYgBiADcALQA0ADcAYwA0AC0AOQA2ADMANQAtAGIAMgAwADkANwA1ADAAOQAxADYANwA1MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIDvwYJKoZIhvcNAQcGoIIDsDCCA6wCAQAwggOlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAgkkbw9bs0zVgICB9CAggN4cjY8lzeQqYQZlF372jID2shbHSl6xngdKhYSUHU0sM5sGISbFOotb22CDnDcq0YAsGHCB/sCoy2Z1AUeOSNgB2/K1SbdOaMu5pdNeqVBEh1+jrv/mfgg/UwgZNh4buO5CLziHqKanqDU96ReGrEHxVB5Lq96/C2oAhomMLbeyEs41Rn5VXphV84gESg34fHT8KbPa9xR6C8MWmipV8yRdynA3yXJPzL69rjcXKVjsB0E4PgBPMoV9AP71fpwrBxYdOb1ZAOIdkLlRQSCBZHnRkLkRKzTqfvV8Lj4WqUE/JoDPmXx1dUiO3phMP8dK2gE9UinSK87Z4RQhKN99za80n5yT67FxubYnCdLdila+zZPj0JQodIF9jG3in2VqJVrl5oYSOa5ghht4wnCYKctfi6XsIIoqMugwZvX4mFRTy7SYFIKSmUDksAPXHd6ssQI+lGnAtLDDb+ea9MEvaZFJbuDoSy136yosrOGJPWaf2VLssRL2asE+LyYB3EWau8A8GncE9nQljY6CHBPpm3lCQj2fSBfoaLKYy8MI/WnE1y1ikTYBZlZLflcg34AC0Qyvwjx2vU5E67jmr/gZT423uCPCtMVv8zGsCmV9gJWBdWKoQElM1F2koKT6QorkoCgjij+t+rRJS46Ae5VySqGcauq4totkNhTHo/1OsZupFKZ/F0sn/FLrEJXz/Qg77d0Fa8HOaX5PiEBV2361Z1RovxR/i5faeSVQcpLahzEhOY7HmCafArwkmavmyI9C2cEl5EhMrzuyrjDdEf4pjCX1arv1n6dDVlgbYcsaDVXzTToT6nmJxUU1i3WcVVc/ieS9RFaR4MYJQwX6nlTPaZFbmkEojnO5Th3U/mvTBsPE+tHnMp6H65S4qRqdmuG5LydjnovEVa0Snz3FQ8admIhJ7eYuxy2ISa9FSr2xlCnC5NaXAd5RJ8lp82Je1HYWyYmZj2y749T3rb+dEvDJsX0oXVx1pfFH1jPopQEO0Jkfg5MeHa0O2P4akTeqPOWhR1tlGihgwlInUj2Ql8vc5M9SX37G0KAaTokmoo2DkRO7PqDMZUJ0L3YHvmjx4igeLlYdw7egf7jxmx+BnnBu4UhkqRZFqofWh7dCL+FdhKvcShPBmCBzqndTOfHIyOQqyYiou3kHZIbvoa6ExziRmgrGv1aZ16v6GCDMDswHzAHBgUrDgMCGgQUrbg74eNR0/RPiuEX2lyVAhMx76oEFKZnT7ij4OcqcafOXt3jWAz+thU8AgIH0A==","contentType":"application/x-pkcs12","id":"https://keyvault_name.vault.azure.net/secrets/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","managed":true,"attributes":{"enabled":true,"nbf":1619641069,"exp":1651177669,"created":1619641669,"updated":1619641669,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"kid":"https://keyvault_name.vault.azure.net/keys/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1430c413-832e-4906-929f-2e741c4a756a', - 'x-ms-request-id', - 'f3062eeb-b6ab-4b50-b32a-036f08e87c77', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:50 GMT', - 'Content-Length', - '4063' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-","deletedDate":1619641671,"scheduledPurgeDate":1627417671,"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","kid":"https://keyvault_name.vault.azure.net/keys/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","sid":"https://keyvault_name.vault.azure.net/secrets/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","x5t":"a3smTonNIUP_pLaBLH80RuxPGOc","cer":"MIIDKDCCAhCgAwIBAgIQdIpUTdV9QsWas/NjMLczojANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjAxNzQ5WhcNMjIwNDI4MjAyNzQ5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8bMmFNq+1UfxL7mmCi83TGou7ogFMXkYBjd+X7x6+1WyAEcFgsvLvmSCUhjJXKa4XLAnFP7uUKNaBi6ozWhOa+JJ+BHi0RacCEtBgkUxBweJwk1poNVC2LCmXPj45HA6SCYFTWKy20Htzv5RvSlIuO78/5vFR4f+3O9wL7tQHEZIqwVZnc9Wgo0dmmh+f6M9AWoVkoLQu5hfLNcqxXx3ijE04zVnBp3JolPneWH/PwSYxyiDLqaAilMVG6874OZv1THUj31p8Gba1jDIbHIct+SjIRKX25v4XRR5rQ/9FFCKjkCrYG/qJNKXGkHbenw9ArdVj+pSXq1/uX1SZlhhFAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBTfXA5lDfwtf3Nfw/Qejxu2l61BljAdBgNVHQ4EFgQU31wOZQ38LX9zX8P0Ho8btpetQZYwDQYJKoZIhvcNAQELBQADggEBACg8KbxqIofFz69TWd7n+zUe6BNiYl2ebyPsGJxKzplwAwShGv22Sjr9DAE2SRVaoyLYOBtsRREdHTcqhCGEo8pGgzY65x7EDSkLBuv9PgRZwlmnjwQVsK3agYZjsKdSL4Th2/5C2wmdUz7CKYhFSFUKVC1WgDh0qmjH45cfiq1Fu9Xup1aqWyzC0MTX8e6BYWzZ5/Nhaxj8XoT/Nxic0QHQVRNKf+vms7tpAv2CW+HQyK76xc181I1ul0Sve6YR0GbM02hUVFXSvWpGo9T2CqEBa4NoiCIDXtQUcwXwOZa1IHK3qrNArAHenR1/VN7pIt+W4bKR+Gx12vrzAlrbpqY=","attributes":{"enabled":true,"nbf":1619641069,"exp":1651177669,"created":1619641669,"updated":1619641669,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619641607,"updated":1619641607}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '9106178b-c60b-4937-b97c-8d4b1d997ebf', - 'x-ms-request-id', - '86d2526d-f49d-414f-86e7-e5557c65b522', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:51 GMT', - 'Content-Length', - '2868' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '700eb4e6-7adc-49dc-a6f0-f4c2ce5f1f0d', - 'x-ms-request-id', - 'c84526c3-6dfc-44fc-8629-e7a6183762c9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:51 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f9828a40-53fc-4d81-91c4-26d51839d851', - 'x-ms-request-id', - '065aeee0-32ab-49fc-9268-117717c2a7f7', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:51 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7d6e5925-4071-4b81-8bb2-72987313872e', - 'x-ms-request-id', - 'c147010a-1b89-4c8e-9c70-6da9d66f7bea', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:53 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '08a1fc4d-717f-429a-b22b-752a9f464d72', - 'x-ms-request-id', - '753a8bae-2ae8-4fad-9e7f-107795e1fa1c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:55 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '8b83deac-b40f-4d30-ae87-c371d0f3026b', - 'x-ms-request-id', - '47c45b44-7344-4a09-8f99-14a011ff343f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:27:58 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6f9569c8-8829-4e2f-849d-09480c5146f9', - 'x-ms-request-id', - '1a54fd4a-547b-43b0-bd46-a44ef721f5ef', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:00 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '94b5ced9-3b8e-4a66-87c3-7279785b407c', - 'x-ms-request-id', - 'be23bab9-b554-4e39-99e0-ad191d18e630', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:02 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '367ae990-a90b-4715-9885-6dee5f77e294', - 'x-ms-request-id', - '624eb5c7-f436-4b0b-9ddd-ed7fab950bca', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:04 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd4e45847-6339-4742-946a-1a121fa9d102', - 'x-ms-request-id', - 'ddccc4a5-5132-4a9c-baa2-0b3066345dbc', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:06 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'de186100-bc7e-4b2a-8b1c-51c42b4d829c', - 'x-ms-request-id', - '11da6fb1-dd58-44d3-94d8-e1b6ead68160', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:08 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ca1a98b8-5b09-435a-bb39-c998e71f51f1', - 'x-ms-request-id', - 'd2fea575-3a8f-42d0-9292-4c96a4f6c01a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:10 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a90e0225-fceb-45a5-ad98-8bde18dae42e', - 'x-ms-request-id', - '91d1a1ce-adec-455c-ae90-db318cd3b19d', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:12 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b5b2fad2-c5c8-42f8-b1cf-8b64076b491d', - 'x-ms-request-id', - 'f3332466-749d-4ed9-a025-0f5d63acea26', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:14 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '33aa03aa-0fea-49e1-b526-47c06c613d95', - 'x-ms-request-id', - 'f6dff295-b671-4738-b2ca-64e60e3c3c3a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:17 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '3df84c14-2b9e-4b21-8983-f30f9f098c40', - 'x-ms-request-id', - '570c20e7-c24a-40b7-b901-179fe81ea396', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:19 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'bb49d1e1-57d8-46f7-8fe8-fda39775eafd', - 'x-ms-request-id', - 'a71c6020-0ad5-4702-9c04-5b667fe95cc2', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:20 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '2a7415fe-bfeb-472f-849d-ab66c22ec5ba', - 'x-ms-request-id', - '9b4f0f5d-d253-4bef-9a58-f939c4434737', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:22 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '608ad0b2-8063-49a6-a04d-e6755eec959a', - 'x-ms-request-id', - '1dd87958-a219-49ff-ad8b-c38905b2a742', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:24 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7717ce3c-919e-44ec-a24e-e9cce57fc9e4', - 'x-ms-request-id', - '1751dd24-f581-4101-b964-3c2860c77f82', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:27 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '4d3eac40-e140-4e6d-88e1-b09b1e7a629d', - 'x-ms-request-id', - '31dcb799-fa9d-438d-80b5-024f5cc6a475', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:29 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '959a28c4-bc2a-4f21-ac15-96350cb760fd', - 'x-ms-request-id', - '811b6d46-7907-49b3-87bf-d3114a3a259e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:31 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f5c1f5af-b019-423b-ad39-df3bdba9de6f', - 'x-ms-request-id', - '67643ea1-06e1-436f-a78b-597ffe12701a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:33 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '02d2c4e3-9f91-4973-8c84-9cf23ba5ba2a', - 'x-ms-request-id', - '1ac96c6c-6c02-4c1c-881e-54acf2a8eb35', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:35 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ff5bc223-8bc2-46ab-90d4-6e52e4667db9', - 'x-ms-request-id', - '4f722e4d-faf9-4418-921b-cf8a1bff3f62', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:37 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1f24f4d1-9069-4b27-bb5c-fbd1917e620e', - 'x-ms-request-id', - '308a9407-d675-4436-87f2-b32c7c124a52', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:39 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '9eb1cfaa-4370-42f3-b391-ad5c92ec1789', - 'x-ms-request-id', - 'f6b5b79a-5d95-4f8e-91ea-edf0c4fd6ab7', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:42 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c8b502ed-c226-40e1-8a82-118aaecc68b5', - 'x-ms-request-id', - '71425475-dc88-4110-874f-3679938331fe', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:44 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c79452b0-cc71-4a15-998c-4534bb3d62d1', - 'x-ms-request-id', - 'cc7b20d9-e58f-4d3c-b937-613e3fb8d210', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:46 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '4dbdd2a8-7ed5-4b6f-9f4b-873ee1fbbdd9', - 'x-ms-request-id', - '4b6a8e49-0930-4ce3-b8e8-4d852c571d9c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:47 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '3e55ef65-d12a-4d6d-a64c-47708aa256da', - 'x-ms-request-id', - '76632fd2-cc46-40f9-bc2a-03fd5b9fd2ba', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:49 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e252f856-696a-453c-b762-6f934fb31b4c', - 'x-ms-request-id', - '603adae3-be0c-4464-b3c9-3523ee2f8b94', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:52 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'bb45d072-fe65-438a-a6e7-b899826573e6', - 'x-ms-request-id', - 'f45f7b69-c8a3-464f-87ca-59224082d87e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:54 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '80a5cd91-e4eb-4675-af71-bef33016ef6c', - 'x-ms-request-id', - '7ba4f983-693d-4f31-9464-c85fe6ce3362', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:56 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '19040d5d-5d14-4e65-a003-3fc59c270fc9', - 'x-ms-request-id', - 'f0b23fff-d41d-4c83-b719-c09966bc5f3a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:28:58 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '174423bc-a3bc-4f5d-9fbe-1f3296b54597', - 'x-ms-request-id', - '8fa5e927-0b66-4a4a-98f8-7d5472b5d076', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:00 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6add2986-1106-4d8a-9215-4fd2c9fc48d2', - 'x-ms-request-id', - '4fb7f63d-3d1b-4bfb-9345-39faeb28840c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:02 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '9ac82ac6-0ba3-47a1-bb1b-31b07becdb6e', - 'x-ms-request-id', - '62742bce-db5d-40e3-bf90-43c244ebd50c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:05 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd75220e8-f268-4726-970a-ca40518978c2', - 'x-ms-request-id', - '7cb9a4bd-31de-4a8e-bf6c-839a17724898', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:06 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a5436e3e-db42-4f01-99a0-d9cbf96ebec7', - 'x-ms-request-id', - 'db24ea7c-7c86-4062-8093-0422ffae7ba0', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:09 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b8e732d0-1602-4046-a527-7a8e322457c3', - 'x-ms-request-id', - '0d6102f7-9eab-4f6b-b8bf-4ff708fe0b8d', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:11 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'fd72a0fc-1fc6-4de0-bc09-a0112031b630', - 'x-ms-request-id', - '28222f96-c304-4b8b-ad83-7cafbdd55f08', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:13 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '749b8f81-1633-4869-9fcf-4ce2a8a4ef1c', - 'x-ms-request-id', - 'b220470e-7925-4a5b-8a26-50f46f38ade3', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:15 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-cangetacertificatessecretinPKCS12format-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '160', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '28c5c771-cac6-4711-872e-27ae01fd150a', - 'x-ms-request-id', - '0cfa0932-5d16-4629-8dfa-94df0a90be00', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:17 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-","deletedDate":1619641671,"scheduledPurgeDate":1627417671,"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","kid":"https://keyvault_name.vault.azure.net/keys/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","sid":"https://keyvault_name.vault.azure.net/secrets/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/d57e8b94589849e4a7013c1b1643ff78","x5t":"a3smTonNIUP_pLaBLH80RuxPGOc","cer":"MIIDKDCCAhCgAwIBAgIQdIpUTdV9QsWas/NjMLczojANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjAxNzQ5WhcNMjIwNDI4MjAyNzQ5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8bMmFNq+1UfxL7mmCi83TGou7ogFMXkYBjd+X7x6+1WyAEcFgsvLvmSCUhjJXKa4XLAnFP7uUKNaBi6ozWhOa+JJ+BHi0RacCEtBgkUxBweJwk1poNVC2LCmXPj45HA6SCYFTWKy20Htzv5RvSlIuO78/5vFR4f+3O9wL7tQHEZIqwVZnc9Wgo0dmmh+f6M9AWoVkoLQu5hfLNcqxXx3ijE04zVnBp3JolPneWH/PwSYxyiDLqaAilMVG6874OZv1THUj31p8Gba1jDIbHIct+SjIRKX25v4XRR5rQ/9FFCKjkCrYG/qJNKXGkHbenw9ArdVj+pSXq1/uX1SZlhhFAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBTfXA5lDfwtf3Nfw/Qejxu2l61BljAdBgNVHQ4EFgQU31wOZQ38LX9zX8P0Ho8btpetQZYwDQYJKoZIhvcNAQELBQADggEBACg8KbxqIofFz69TWd7n+zUe6BNiYl2ebyPsGJxKzplwAwShGv22Sjr9DAE2SRVaoyLYOBtsRREdHTcqhCGEo8pGgzY65x7EDSkLBuv9PgRZwlmnjwQVsK3agYZjsKdSL4Th2/5C2wmdUz7CKYhFSFUKVC1WgDh0qmjH45cfiq1Fu9Xup1aqWyzC0MTX8e6BYWzZ5/Nhaxj8XoT/Nxic0QHQVRNKf+vms7tpAv2CW+HQyK76xc181I1ul0Sve6YR0GbM02hUVFXSvWpGo9T2CqEBa4NoiCIDXtQUcwXwOZa1IHK3qrNArAHenR1/VN7pIt+W4bKR+Gx12vrzAlrbpqY=","attributes":{"enabled":true,"nbf":1619641069,"exp":1651177669,"created":1619641669,"updated":1619641669,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619641607,"updated":1619641607}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '2fcea190-a4ad-4174-bc58-f6a5c6a56aee', - 'x-ms-request-id', - 'f890ac31-a5e4-4bfe-add3-6d94c181b9ce', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:18 GMT', - 'Content-Length', - '2868' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedcertificates/CRUDCertificateName-cangetacertificatessecretinPKCS12format-') - .query(true) - .reply(204, "", [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd16f98c5-834b-418c-971c-feb37cd61121', - 'x-ms-request-id', - 'daa0a1df-c3a9-48f9-89b5-a0cc9cf26485', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:29:20 GMT' -]); diff --git a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_read_cancel_and_delete_a_certificates_operation.js b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_read_cancel_and_delete_a_certificates_operation.js index aefef57cbe70..d3c071806bd8 100644 --- a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_read_cancel_and_delete_a_certificates_operation.js +++ b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete/recording_can_read_cancel_and_delete_a_certificates_operation.js @@ -1,19 +1,19 @@ let nock = require('nock'); -module.exports.hash = "27a751640ebbc0fefd0ca53954b2c0a5"; +module.exports.hash = "97931df48510b2b9037261d370f8dfef"; -module.exports.testInfo = {"uniqueName":{},"newDate":{}} +module.exports.testInfo = {"uniqueName":{"crudcertoperation":"crudcertoperation163217582585603322"},"newDate":{}} nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/create') + .post('/certificates/crudcertoperation163217582585603322/create') .query(true) - .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '87', + '97', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -21,15 +21,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'WWW-Authenticate', 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - 'e20add9a-a389-4c3d-9986-05bd0c53d492', + '3a423d9d-b2b6-490a-9660-9e5705d41939', 'x-ms-request-id', - '690d575a-4f43-4a00-87bc-0b5c0dfd3056', + '4d736683-48db-4c0a-a7e7-5c9fc8a1651a', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -37,7 +37,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:08 GMT' + 'Mon, 20 Sep 2021 22:10:26 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) @@ -59,26 +59,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '1f7f652c-fa4d-420a-b798-aea29e0bd402', + 'a2ea8086-d757-4d4f-9f8b-1c11a4f86b00', 'x-ms-ests-server', - '2.1.11654.16 - WUS2 ProdSlices', + '2.1.12025.15 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=ApDQRp_1bOJGvyZBmEPP0xDmR1YbBQAAANi8G9gOAAAA; expires=Fri, 28-May-2021 20:35:08 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AtSSgjqs29NOiHgx9X1CxH8; expires=Wed, 20-Oct-2021 22:10:26 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrrC5b5102AVpPt0HmbK8Pr0XZJG8OTPBN1E1bHRvve3DMlwQu6qu1hIYq7GO83H5zITIickCkH5hrXdkIg5Gcn9ayQWXAlrZgPh9cVGA_LPYzyohboKmQKspPsSCxlnwZCDQpeGZmLWDPXzcrGcPsV5WjeYYq5bm5v0uvFImRwRogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrDpaXJXTyljgicR53KfVn_rwQ0w2fRjvOlQPeZl8hzMPAndzo-h_vxQh9NTcoZjtkg_mna4HwFL1nAOGRPzHKKNQnfBop_SLWspzEdE4E2W0BjzKSx0UgRYmJmlU_jzJudtzDXxd2fMyK_SEnxQThJfIX0r8BhBnNgSanrkZuHSsgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 20:35:08 GMT', + 'Mon, 20 Sep 2021 22:10:26 GMT', 'Content-Length', '980' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') - .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"tenant_region_scope":"NA","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ 'Cache-Control', 'max-age=86400, private', 'Content-Type', @@ -94,29 +94,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '20a4bcc1-d3d5-44c9-a51b-a829e71ffe00', + 'abac040e-0c8a-42ae-98a1-19b8869f6b00', 'x-ms-ests-server', - '2.1.11654.16 - SCUS ProdSlices', + '2.1.12071.7 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=ApDQRp_1bOJGvyZBmEPP0xDmR1YbBQAAANi8G9gOAAAA; expires=Fri, 28-May-2021 20:35:09 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Aktt_JgaUpBDrJbPoVUK1zU; expires=Wed, 20-Oct-2021 22:10:26 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevryHcp3W85z2veNVwhM0_UeriYuvauW9vvmnCXZz7DANRPYIQiVVpBdDHTuFmMRQznT1tSQbtgvRF3zC_h0QAwdfgECgfb9l89E3SO42jSrfOs1JCv_gwKZraNbB2waiVbkjD7S4YSI8K7DjvUzWxW4yiX1KJdmRygV54nKrjJb4MgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrhxYqqKxsz_LGRlwgstv6uwvwEj6EDteKcEA2mb-9VaHQj49jY8ALFElfAfbxiUm9ehiSMrf5BcHwYxGLJeQMiM4y6hrdYHPzRfn4SwQCoHlmL6NLPdByCTlfph8yybf9IYyUw6z49Tzp6O9HJqix6dISLs381mVQOBOPtITE008gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 20:35:08 GMT', + 'Mon, 20 Sep 2021 22:10:26 GMT', 'Content-Length', - '1651' + '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .filteringRequestBody(function (body) { - return body.replace(/client-request-id=[^&]*/g, "client-request-id=client-request-id"); - }) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&grant_type=client_credentials&client-request-id=client-request-id&client_secret=azure_client_secret") - .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.1&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=b22304b3-6bc2-4180-8264-883ee03e107f&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', 'Pragma', @@ -132,27 +129,27 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '20a4bcc1-d3d5-44c9-a51b-a829ee1ffe00', + '88defdb2-8005-44b7-b27b-a3d1b70db100', 'x-ms-ests-server', - '2.1.11654.16 - SCUS ProdSlices', + '2.1.12071.7 - SCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=ApDQRp_1bOJGvyZBmEPP0xDmR1YbBgAAANi8G9gOAAAA; expires=Fri, 28-May-2021 20:35:09 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AsrSLnNu6nJLkxryK4fkByqmCNGhAQAAANH92tgOAAAA; expires=Wed, 20-Oct-2021 22:10:26 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 20:35:08 GMT', + 'Mon, 20 Sep 2021 22:10:26 GMT', 'Content-Length', - '1313' + '1315' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/create', {"policy":{"key_props":{},"secret_props":{},"x509_props":{"subject":"cn=MyCert","sans":{}},"issuer":{"name":"Self"},"attributes":{}},"attributes":{}}) + .post('/certificates/crudcertoperation163217582585603322/create', {"policy":{"key_props":{},"secret_props":{},"x509_props":{"subject":"cn=MyCert","sans":{}},"issuer":{"name":"Self"},"attributes":{}},"attributes":{}}) .query(true) - .reply(202, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Wi7Mebl61Cb7d+uAvPIPOzFsBbeLkksDtDyAoK+7xbLnZR3OBPhYk0fxQ30E4WsqRT9mis2QgRrCE6tsQeS0Jkt/stF6PUpsqr8IsyLObpgH5CnniTqjLcjY1z+o1jaJpN3jHfOl1+99MsbRhgHBSW/kY0nS/kmHXFGqMXUa0Ko57iDAYsEWv1lJRPcn81pyIzuzDjZPmbcvnn6IchtDDAoQRUKOoHrmuC+dHI2JOydy/B1UWxNm5lcKxhvHw0jq4asdQ+M+VmxZrf2saoXAhjutCF6hpssnDseNQ5yIxDbkHsfRJNCR+YFw8pdDrm2rcRTRZqBj/MFQsZ+gOsjpQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMRPAXPYq278Ns3EKqjNPO2udDGVOnNMkzUZuTd4QfZtwFteAWbIPqHj/riJpISaRBhe7xBNe5Yw+eo7SCTSZK6qJLcC/Dme5DspzQLykHYf2rzVrEmpUy4WZU/uJiXKngmfyTPIpG9ONv3RSrBPoW6dw9HawLBcCQBOVrlNtfzW2zl4gEtnwHSgDMoYJFhtRnUpZfz8v19qtoem6enNPEXAX6ODGXJMLHoCkMj4R/3EZHHf5gJFNT+PY4VSAwUhdrKu6wkUdwr0BIOIaljZlv66EuWsOir9ybp6MXVY8Ks86VeBirzTb+HMYqAsFk0fm5OZDlWzeBOSzJVsGWXdlGc=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"ecb01dd4a2c04f429a023ac66345214f"}, [ + .reply(202, {"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyKMqBkKG2iPqCcHDKn0bDTCq+oc0eRfFOa87ZJSEnoY4y4rY24SF/YfGg3xsb277bH9E6I9Ddd/hVVb1W90+AFmWTfjmO5085MZqMzvu22ZSMgs+HSmVfjF8IpBM87Jv9T+ldASoQVh1I4cLPi14IeMNx1jnTpeVresjgiOfEhr8mTG9smsrcK+EVvY4EEQ5id614BemSrY6HW6FVgbHhae76sLVjZkmUcD3hOOMX0ldUhyo4lQ5efX67v7PEGh/cwdpRYPgp9ilLsEeTz0+nVAEtKSaaHRC8Dmcqqf3ghHXTx70LXhz4eym/RDgpdeH85Q8GKttA9cb0j7uWJ1OQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFQ3a8iRtaSoNOjTPA+eH8gkfjvvVy1BvTMyJ3AgQKgAJIG1IIN+npA4qZgZ1A92xXCJsKaYFm5gxvrsGiXkVDn5MFK0eUxEVmmT3zDpcF3EipadoZOcx5GNARd0s3tQmyILoWOokwE3JstuM689Hii1aOnjAM/3nY8A83bLrPp5CmFFlW1FCafm70ZqLeHt8Z4JeOcPmFlDIAVaB5Ie9yeZOySVejyU4Y8RN9E7Es+YwmY9j2G+zgm84tnoVKsNSExkX/SP8z1O+Es5WCnz0QrUdBmD9PglM1sHw3aj0rqKBp7Kb2hNcmLs7O5r2Vfyczi6ta5o3gNVHUSjvd4HAoc=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b07519002560445299b63865c6e36c58"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -162,19 +159,19 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Expires', '-1', 'Location', - 'https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending?api-version=7.2&request_id=ecb01dd4a2c04f429a023ac66345214f', + 'https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/pending?api-version=7.2&request_id=b07519002560445299b63865c6e36c58', 'Retry-After', '10', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - 'e20add9a-a389-4c3d-9986-05bd0c53d492', + '3a423d9d-b2b6-490a-9660-9e5705d41939', 'x-ms-request-id', - '25c65da2-5391-4946-914d-83fce64ef9dc', + '0fd31cc6-b2d9-4c1d-8103-8cf2d4c7105e', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -182,15 +179,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:08 GMT', + 'Mon, 20 Sep 2021 22:10:26 GMT', 'Content-Length', - '1358' + '1302' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending') + .get('/certificates/crudcertoperation163217582585603322/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Wi7Mebl61Cb7d+uAvPIPOzFsBbeLkksDtDyAoK+7xbLnZR3OBPhYk0fxQ30E4WsqRT9mis2QgRrCE6tsQeS0Jkt/stF6PUpsqr8IsyLObpgH5CnniTqjLcjY1z+o1jaJpN3jHfOl1+99MsbRhgHBSW/kY0nS/kmHXFGqMXUa0Ko57iDAYsEWv1lJRPcn81pyIzuzDjZPmbcvnn6IchtDDAoQRUKOoHrmuC+dHI2JOydy/B1UWxNm5lcKxhvHw0jq4asdQ+M+VmxZrf2saoXAhjutCF6hpssnDseNQ5yIxDbkHsfRJNCR+YFw8pdDrm2rcRTRZqBj/MFQsZ+gOsjpQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMRPAXPYq278Ns3EKqjNPO2udDGVOnNMkzUZuTd4QfZtwFteAWbIPqHj/riJpISaRBhe7xBNe5Yw+eo7SCTSZK6qJLcC/Dme5DspzQLykHYf2rzVrEmpUy4WZU/uJiXKngmfyTPIpG9ONv3RSrBPoW6dw9HawLBcCQBOVrlNtfzW2zl4gEtnwHSgDMoYJFhtRnUpZfz8v19qtoem6enNPEXAX6ODGXJMLHoCkMj4R/3EZHHf5gJFNT+PY4VSAwUhdrKu6wkUdwr0BIOIaljZlv66EuWsOir9ybp6MXVY8Ks86VeBirzTb+HMYqAsFk0fm5OZDlWzeBOSzJVsGWXdlGc=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"ecb01dd4a2c04f429a023ac66345214f"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyKMqBkKG2iPqCcHDKn0bDTCq+oc0eRfFOa87ZJSEnoY4y4rY24SF/YfGg3xsb277bH9E6I9Ddd/hVVb1W90+AFmWTfjmO5085MZqMzvu22ZSMgs+HSmVfjF8IpBM87Jv9T+ldASoQVh1I4cLPi14IeMNx1jnTpeVresjgiOfEhr8mTG9smsrcK+EVvY4EEQ5id614BemSrY6HW6FVgbHhae76sLVjZkmUcD3hOOMX0ldUhyo4lQ5efX67v7PEGh/cwdpRYPgp9ilLsEeTz0+nVAEtKSaaHRC8Dmcqqf3ghHXTx70LXhz4eym/RDgpdeH85Q8GKttA9cb0j7uWJ1OQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFQ3a8iRtaSoNOjTPA+eH8gkfjvvVy1BvTMyJ3AgQKgAJIG1IIN+npA4qZgZ1A92xXCJsKaYFm5gxvrsGiXkVDn5MFK0eUxEVmmT3zDpcF3EipadoZOcx5GNARd0s3tQmyILoWOokwE3JstuM689Hii1aOnjAM/3nY8A83bLrPp5CmFFlW1FCafm70ZqLeHt8Z4JeOcPmFlDIAVaB5Ie9yeZOySVejyU4Y8RN9E7Es+YwmY9j2G+zgm84tnoVKsNSExkX/SP8z1O+Es5WCnz0QrUdBmD9PglM1sHw3aj0rqKBp7Kb2hNcmLs7O5r2Vfyczi6ta5o3gNVHUSjvd4HAoc=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b07519002560445299b63865c6e36c58"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -202,15 +199,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Retry-After', '10', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - 'e70bf9ae-c586-46e4-9a6b-8834833d252e', + 'fe2a47e5-ce8e-4b73-9a9f-13d0b291f50a', 'x-ms-request-id', - 'a6a92107-3654-45b9-89da-d71ecef0aebf', + 'ce7dfc86-49db-464c-8a07-3674445953bf', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -218,15 +215,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:08 GMT', + 'Mon, 20 Sep 2021 22:10:26 GMT', 'Content-Length', - '1358' + '1302' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/') + .get('/certificates/crudcertoperation163217582585603322/') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/fcc7c2267fa84d5f98defdba0bd9a23e","attributes":{"enabled":false,"nbf":1619641509,"exp":1651178109,"created":1619642109,"updated":1619642109,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619642109,"updated":1619642109}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending"}}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/7b6db81563e048a395d93aab7de5d155","attributes":{"enabled":false,"nbf":1632175226,"exp":1663711826,"created":1632175826,"updated":1632175826,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1632175827,"updated":1632175827}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/pending"}}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -236,15 +233,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Expires', '-1', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - '0b70fa5e-8912-4034-9f9c-2e756e78ceb5', + '86c12dec-d880-40b8-8464-282f4166e1fd', 'x-ms-request-id', - '13d07c55-948b-41b9-b2bf-156312873961', + '0365969d-24fb-4626-9063-c1ff45bd4f03', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -252,15 +249,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT', + 'Mon, 20 Sep 2021 22:10:26 GMT', 'Content-Length', - '1205' + '1046' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending') + .get('/certificates/crudcertoperation163217582585603322/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Wi7Mebl61Cb7d+uAvPIPOzFsBbeLkksDtDyAoK+7xbLnZR3OBPhYk0fxQ30E4WsqRT9mis2QgRrCE6tsQeS0Jkt/stF6PUpsqr8IsyLObpgH5CnniTqjLcjY1z+o1jaJpN3jHfOl1+99MsbRhgHBSW/kY0nS/kmHXFGqMXUa0Ko57iDAYsEWv1lJRPcn81pyIzuzDjZPmbcvnn6IchtDDAoQRUKOoHrmuC+dHI2JOydy/B1UWxNm5lcKxhvHw0jq4asdQ+M+VmxZrf2saoXAhjutCF6hpssnDseNQ5yIxDbkHsfRJNCR+YFw8pdDrm2rcRTRZqBj/MFQsZ+gOsjpQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMRPAXPYq278Ns3EKqjNPO2udDGVOnNMkzUZuTd4QfZtwFteAWbIPqHj/riJpISaRBhe7xBNe5Yw+eo7SCTSZK6qJLcC/Dme5DspzQLykHYf2rzVrEmpUy4WZU/uJiXKngmfyTPIpG9ONv3RSrBPoW6dw9HawLBcCQBOVrlNtfzW2zl4gEtnwHSgDMoYJFhtRnUpZfz8v19qtoem6enNPEXAX6ODGXJMLHoCkMj4R/3EZHHf5gJFNT+PY4VSAwUhdrKu6wkUdwr0BIOIaljZlv66EuWsOir9ybp6MXVY8Ks86VeBirzTb+HMYqAsFk0fm5OZDlWzeBOSzJVsGWXdlGc=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"ecb01dd4a2c04f429a023ac66345214f"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyKMqBkKG2iPqCcHDKn0bDTCq+oc0eRfFOa87ZJSEnoY4y4rY24SF/YfGg3xsb277bH9E6I9Ddd/hVVb1W90+AFmWTfjmO5085MZqMzvu22ZSMgs+HSmVfjF8IpBM87Jv9T+ldASoQVh1I4cLPi14IeMNx1jnTpeVresjgiOfEhr8mTG9smsrcK+EVvY4EEQ5id614BemSrY6HW6FVgbHhae76sLVjZkmUcD3hOOMX0ldUhyo4lQ5efX67v7PEGh/cwdpRYPgp9ilLsEeTz0+nVAEtKSaaHRC8Dmcqqf3ghHXTx70LXhz4eym/RDgpdeH85Q8GKttA9cb0j7uWJ1OQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFQ3a8iRtaSoNOjTPA+eH8gkfjvvVy1BvTMyJ3AgQKgAJIG1IIN+npA4qZgZ1A92xXCJsKaYFm5gxvrsGiXkVDn5MFK0eUxEVmmT3zDpcF3EipadoZOcx5GNARd0s3tQmyILoWOokwE3JstuM689Hii1aOnjAM/3nY8A83bLrPp5CmFFlW1FCafm70ZqLeHt8Z4JeOcPmFlDIAVaB5Ie9yeZOySVejyU4Y8RN9E7Es+YwmY9j2G+zgm84tnoVKsNSExkX/SP8z1O+Es5WCnz0QrUdBmD9PglM1sHw3aj0rqKBp7Kb2hNcmLs7O5r2Vfyczi6ta5o3gNVHUSjvd4HAoc=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b07519002560445299b63865c6e36c58"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -272,15 +269,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Retry-After', '10', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - 'cdec8fd3-b547-4f96-acce-3a4007b7a6d4', + 'f09f87e4-e31f-49c7-9347-0b3bf6c1f16c', 'x-ms-request-id', - '2b4743d1-16b3-4b16-8142-887a52c2a754', + '23af398f-1dac-4a62-a1c9-4814acb0aceb', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -288,15 +285,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT', + 'Mon, 20 Sep 2021 22:10:27 GMT', 'Content-Length', - '1358' + '1302' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .patch('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending', {"cancellation_requested":true}) + .patch('/certificates/crudcertoperation163217582585603322/pending', {"cancellation_requested":true}) .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Wi7Mebl61Cb7d+uAvPIPOzFsBbeLkksDtDyAoK+7xbLnZR3OBPhYk0fxQ30E4WsqRT9mis2QgRrCE6tsQeS0Jkt/stF6PUpsqr8IsyLObpgH5CnniTqjLcjY1z+o1jaJpN3jHfOl1+99MsbRhgHBSW/kY0nS/kmHXFGqMXUa0Ko57iDAYsEWv1lJRPcn81pyIzuzDjZPmbcvnn6IchtDDAoQRUKOoHrmuC+dHI2JOydy/B1UWxNm5lcKxhvHw0jq4asdQ+M+VmxZrf2saoXAhjutCF6hpssnDseNQ5yIxDbkHsfRJNCR+YFw8pdDrm2rcRTRZqBj/MFQsZ+gOsjpQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMRPAXPYq278Ns3EKqjNPO2udDGVOnNMkzUZuTd4QfZtwFteAWbIPqHj/riJpISaRBhe7xBNe5Yw+eo7SCTSZK6qJLcC/Dme5DspzQLykHYf2rzVrEmpUy4WZU/uJiXKngmfyTPIpG9ONv3RSrBPoW6dw9HawLBcCQBOVrlNtfzW2zl4gEtnwHSgDMoYJFhtRnUpZfz8v19qtoem6enNPEXAX6ODGXJMLHoCkMj4R/3EZHHf5gJFNT+PY4VSAwUhdrKu6wkUdwr0BIOIaljZlv66EuWsOir9ybp6MXVY8Ks86VeBirzTb+HMYqAsFk0fm5OZDlWzeBOSzJVsGWXdlGc=","cancellation_requested":true,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"ecb01dd4a2c04f429a023ac66345214f"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyKMqBkKG2iPqCcHDKn0bDTCq+oc0eRfFOa87ZJSEnoY4y4rY24SF/YfGg3xsb277bH9E6I9Ddd/hVVb1W90+AFmWTfjmO5085MZqMzvu22ZSMgs+HSmVfjF8IpBM87Jv9T+ldASoQVh1I4cLPi14IeMNx1jnTpeVresjgiOfEhr8mTG9smsrcK+EVvY4EEQ5id614BemSrY6HW6FVgbHhae76sLVjZkmUcD3hOOMX0ldUhyo4lQ5efX67v7PEGh/cwdpRYPgp9ilLsEeTz0+nVAEtKSaaHRC8Dmcqqf3ghHXTx70LXhz4eym/RDgpdeH85Q8GKttA9cb0j7uWJ1OQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFQ3a8iRtaSoNOjTPA+eH8gkfjvvVy1BvTMyJ3AgQKgAJIG1IIN+npA4qZgZ1A92xXCJsKaYFm5gxvrsGiXkVDn5MFK0eUxEVmmT3zDpcF3EipadoZOcx5GNARd0s3tQmyILoWOokwE3JstuM689Hii1aOnjAM/3nY8A83bLrPp5CmFFlW1FCafm70ZqLeHt8Z4JeOcPmFlDIAVaB5Ie9yeZOySVejyU4Y8RN9E7Es+YwmY9j2G+zgm84tnoVKsNSExkX/SP8z1O+Es5WCnz0QrUdBmD9PglM1sHw3aj0rqKBp7Kb2hNcmLs7O5r2Vfyczi6ta5o3gNVHUSjvd4HAoc=","cancellation_requested":true,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b07519002560445299b63865c6e36c58"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -306,15 +303,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Expires', '-1', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - '13b122e6-a0a4-4a41-9b5d-631a3ab600d5', + 'd9f62039-d151-46b8-9519-483491c0f789', 'x-ms-request-id', - '553f4955-343e-458e-b3e1-377a870ebed3', + '079b42c4-7850-489b-bbae-3a5ddb7384f9', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -322,15 +319,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT', + 'Mon, 20 Sep 2021 22:10:27 GMT', 'Content-Length', - '1357' + '1301' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending') + .delete('/certificates/crudcertoperation163217582585603322/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Wi7Mebl61Cb7d+uAvPIPOzFsBbeLkksDtDyAoK+7xbLnZR3OBPhYk0fxQ30E4WsqRT9mis2QgRrCE6tsQeS0Jkt/stF6PUpsqr8IsyLObpgH5CnniTqjLcjY1z+o1jaJpN3jHfOl1+99MsbRhgHBSW/kY0nS/kmHXFGqMXUa0Ko57iDAYsEWv1lJRPcn81pyIzuzDjZPmbcvnn6IchtDDAoQRUKOoHrmuC+dHI2JOydy/B1UWxNm5lcKxhvHw0jq4asdQ+M+VmxZrf2saoXAhjutCF6hpssnDseNQ5yIxDbkHsfRJNCR+YFw8pdDrm2rcRTRZqBj/MFQsZ+gOsjpQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAMRPAXPYq278Ns3EKqjNPO2udDGVOnNMkzUZuTd4QfZtwFteAWbIPqHj/riJpISaRBhe7xBNe5Yw+eo7SCTSZK6qJLcC/Dme5DspzQLykHYf2rzVrEmpUy4WZU/uJiXKngmfyTPIpG9ONv3RSrBPoW6dw9HawLBcCQBOVrlNtfzW2zl4gEtnwHSgDMoYJFhtRnUpZfz8v19qtoem6enNPEXAX6ODGXJMLHoCkMj4R/3EZHHf5gJFNT+PY4VSAwUhdrKu6wkUdwr0BIOIaljZlv66EuWsOir9ybp6MXVY8Ks86VeBirzTb+HMYqAsFk0fm5OZDlWzeBOSzJVsGWXdlGc=","cancellation_requested":true,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"ecb01dd4a2c04f429a023ac66345214f"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyKMqBkKG2iPqCcHDKn0bDTCq+oc0eRfFOa87ZJSEnoY4y4rY24SF/YfGg3xsb277bH9E6I9Ddd/hVVb1W90+AFmWTfjmO5085MZqMzvu22ZSMgs+HSmVfjF8IpBM87Jv9T+ldASoQVh1I4cLPi14IeMNx1jnTpeVresjgiOfEhr8mTG9smsrcK+EVvY4EEQ5id614BemSrY6HW6FVgbHhae76sLVjZkmUcD3hOOMX0ldUhyo4lQ5efX67v7PEGh/cwdpRYPgp9ilLsEeTz0+nVAEtKSaaHRC8Dmcqqf3ghHXTx70LXhz4eym/RDgpdeH85Q8GKttA9cb0j7uWJ1OQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAFQ3a8iRtaSoNOjTPA+eH8gkfjvvVy1BvTMyJ3AgQKgAJIG1IIN+npA4qZgZ1A92xXCJsKaYFm5gxvrsGiXkVDn5MFK0eUxEVmmT3zDpcF3EipadoZOcx5GNARd0s3tQmyILoWOokwE3JstuM689Hii1aOnjAM/3nY8A83bLrPp5CmFFlW1FCafm70ZqLeHt8Z4JeOcPmFlDIAVaB5Ie9yeZOySVejyU4Y8RN9E7Es+YwmY9j2G+zgm84tnoVKsNSExkX/SP8z1O+Es5WCnz0QrUdBmD9PglM1sHw3aj0rqKBp7Kb2hNcmLs7O5r2Vfyczi6ta5o3gNVHUSjvd4HAoc=","cancellation_requested":true,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b07519002560445299b63865c6e36c58"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -340,15 +337,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Expires', '-1', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - '84e74077-aff6-46a0-829f-0e6602418d7e', + '89cdb365-d1f9-491c-9273-28af64ea08a6', 'x-ms-request-id', - 'ca4d8396-96b1-4eaa-839d-9450bc5e9d5f', + '75db12df-9f31-4783-98f9-a8b6698a5319', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -356,15 +353,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT', + 'Mon, 20 Sep 2021 22:10:27 GMT', 'Content-Length', - '1357' + '1301' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/') + .get('/certificates/crudcertoperation163217582585603322/') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/fcc7c2267fa84d5f98defdba0bd9a23e","attributes":{"enabled":false,"nbf":1619641509,"exp":1651178109,"created":1619642109,"updated":1619642109,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619642109,"updated":1619642109}}}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/7b6db81563e048a395d93aab7de5d155","attributes":{"enabled":false,"nbf":1632175226,"exp":1663711826,"created":1632175826,"updated":1632175826,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/crudcertoperation163217582585603322/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1632175827,"updated":1632175827}}}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -374,15 +371,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Expires', '-1', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - '9cff57b0-b88c-4616-a48e-2976f68e6114', + '28a10ac5-2598-4586-90ec-4551ff1ee7a6', 'x-ms-request-id', - '81c44baf-5878-4812-8309-9c49a6326b44', + 'eca137f0-008e-4470-97da-6edd39bae983', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -390,35 +387,35 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT', + 'Mon, 20 Sep 2021 22:10:27 GMT', 'Content-Length', - '1039' + '936' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/pending') + .get('/certificates/crudcertoperation163217582585603322/pending') .query(true) - .reply(404, {"error":{"code":"PendingCertificateNotFound","message":"Pending certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ + .reply(404, {"error":{"code":"PendingCertificateNotFound","message":"Pending certificate not found: crudcertoperation163217582585603322"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '172', + '126', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'x-ms-keyvault-region', - 'eastus', + 'westus2', 'x-ms-client-request-id', - 'ca19156f-c6dd-4a66-a529-e5a0a63cccb6', + '23c0460a-3245-431b-a5af-4e5d0769464e', 'x-ms-request-id', - 'b411430c-401b-4521-9269-126935156adc', + '56e7e288-1995-435c-9dc4-f4c5aafe706a', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -426,885 +423,5 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-","deletedDate":1619642110,"scheduledPurgeDate":1627418110,"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/fcc7c2267fa84d5f98defdba0bd9a23e","attributes":{"enabled":false,"nbf":1619641509,"exp":1651178109,"created":1619642109,"updated":1619642109,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619642109,"updated":1619642109}}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f1f2b9a4-74e6-462b-bdc9-6472ce12fa5c', - 'x-ms-request-id', - 'ac71e48e-586a-40eb-826b-9593ba708d01', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT', - 'Content-Length', - '1257' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ae9e076e-a93c-4e7c-95a3-8228ff30bdc6', - 'x-ms-request-id', - '45ec8cc0-bed6-4197-81fa-cc0b3e61a7b9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '606abb7f-152e-45c9-a7b5-9054e8c22ea0', - 'x-ms-request-id', - '7e262bb7-d27d-4319-b6f6-81e7442a4d7b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:09 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7582da56-3d36-48b7-a907-7aab4a398c3a', - 'x-ms-request-id', - '17a22256-6313-4b87-a311-4ce579ab9966', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:11 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f0258383-e7f1-43ff-ae19-c552537ef600', - 'x-ms-request-id', - '6111f0f9-19ce-4876-8ab5-4bc4a71f2a0c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:14 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7537170c-92df-4f4e-a0e9-97df64dba219', - 'x-ms-request-id', - '46671eec-09ce-4383-809c-c68a97ee3bd3', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:16 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6048e164-27ab-459f-bc7f-76332364a0e1', - 'x-ms-request-id', - '918cac6c-e300-4dcb-88d5-3f4de59d8a24', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:18 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5cef4807-279f-4843-88a6-33331b2831df', - 'x-ms-request-id', - '3806c23d-bc06-4b77-898c-e7671abfa45b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:20 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a46228cb-7697-455d-8275-f1fc1096b16e', - 'x-ms-request-id', - '74f07e07-1ac6-44db-98ba-97d203dbfac0', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:22 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'aecb17c6-8251-4adf-a8db-bbdac68188bf', - 'x-ms-request-id', - '85930163-798e-41a8-a30a-703dabe3df14', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:25 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd6aad96a-3387-4448-b388-e31de48c2fe1', - 'x-ms-request-id', - '342ac934-a39c-4baf-a3a9-fd7f06cb84c3', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:27 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f1652b57-3558-4c66-b5fb-8cc461b2bb8b', - 'x-ms-request-id', - '3f9b1be3-626d-47a2-9578-dd5ce8e962b9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:28 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'af045b54-5f5d-4503-8c75-594f488408a8', - 'x-ms-request-id', - 'da2fe06f-11c6-4e8a-b87b-8b820cae9181', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:31 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6875edea-d545-46b3-ac8e-77ae2ec94d8c', - 'x-ms-request-id', - 'db0e585c-bf78-4d2f-9881-546199c41911', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:33 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c826bb88-4db5-4128-ac61-57040384dee2', - 'x-ms-request-id', - 'ccad05ff-c970-45c4-b2f9-1f2314912989', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:35 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b3d27777-1054-456a-808d-ca7456832be9', - 'x-ms-request-id', - 'd133bc40-2851-4cec-9141-67d299e04d38', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:38 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '52ffc9c7-dc1f-4930-8539-27505d677116', - 'x-ms-request-id', - 'e3610e08-e975-4ae5-b139-30bd39beff58', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:40 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '2c27bbc3-d485-40eb-b0b3-1cd9edbf29a3', - 'x-ms-request-id', - 'de618378-3a7f-42fb-861e-f8ee15378f88', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:42 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e659541c-2f06-474b-9aaf-98f4ff675dc3', - 'x-ms-request-id', - '15b02486-c1ee-494a-9c9e-b5667a8986be', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:43 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1a96f2c7-9e2d-40df-a929-1d61c734b72b', - 'x-ms-request-id', - '7de3394f-7762-495d-a94d-c77e07ea4437', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:46 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'acb7539f-4a12-4a48-be1c-bc3b0150f5cb', - 'x-ms-request-id', - 'ea3bc2e9-abcc-41dc-b54d-50e8f5cea39f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:48 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '4351ecbd-92e1-4642-a217-41bcbb351a64', - 'x-ms-request-id', - '212f60e6-90c6-4548-9111-323a406e9912', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:50 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '63990973-faf1-423b-a6c3-316e849eca59', - 'x-ms-request-id', - '01a59369-6e80-4982-bde7-7acf2125803d', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:52 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '165', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '38aeffe1-7f4f-4456-984d-b21ba68b53f1', - 'x-ms-request-id', - 'f79500b9-4ad5-4c82-b6d4-67450f828145', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:55 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-","deletedDate":1619642110,"scheduledPurgeDate":1627418110,"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/fcc7c2267fa84d5f98defdba0bd9a23e","attributes":{"enabled":false,"nbf":1619641509,"exp":1651178109,"created":1619642109,"updated":1619642109,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619642109,"updated":1619642109}}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '2e551864-ab07-466c-ac7c-c22d8adca185', - 'x-ms-request-id', - '67ae449e-4333-48eb-b73d-b45be98b0680', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:56 GMT', - 'Content-Length', - '1257' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedcertificates/CRUDCertificateName-canreadcancelanddeleteacertificatesoperation-') - .query(true) - .reply(204, "", [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '845b3556-35a8-49fa-a642-84035889a086', - 'x-ms-request-id', - '8e6ed29c-d904-4775-9ea5-b71da70296d7', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 20:35:57 GMT' + 'Mon, 20 Sep 2021 22:10:27 GMT' ]); diff --git a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.js b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.js index 1dca7357b47b..8024105fc8ae 100644 --- a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.js +++ b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_base64_secret_value.js @@ -1,19 +1,19 @@ let nock = require('nock'); -module.exports.hash = "5331b4776b9344d07d0cb5e06ccbb160"; +module.exports.hash = "8eb734b62d5efd0196adb683f8800301"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/create') .query(true) - .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '87', + '97', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -23,13 +23,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '5cad1fdc-52e0-47a6-a56a-1ecb16dd1a56', + 'b4dd5448-6e7e-4fac-a1fa-15ea7e093e2c', 'x-ms-request-id', - 'ed46f075-95fd-490b-9227-40bd6d444a8b', + '54a82c21-65af-4344-a2e9-d2583371fb79', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -37,7 +37,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:44:59 GMT' + 'Mon, 13 Sep 2021 19:24:20 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) @@ -59,26 +59,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '861ba13d-cda3-4f92-b935-9e551aece602', + '20e3062e-61ad-4fcf-8278-6a23b1010200', 'x-ms-ests-server', - '2.1.11654.16 - WUS2 ProdSlices', + '2.1.12025.15 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=ArwmQ1W5Q_pEig-aUDD0fZjmR1YbAgAAAOnMG9gOAAAA; expires=Fri, 28-May-2021 21:45:00 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AmPkxcV5kxdBn88Tks60m_0; expires=Wed, 13-Oct-2021 19:24:20 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrwtVZgS4KE8bRnOMmi5IDvIukQtD9qxHqQW8flyJjPeG5YWnMbWJTTKhuPsGcElp_qza23w88sk0mOiXoi2Jggf2MZTax4peoVCQbFaMsWRsyUS4M7cnyvW_oiZcxx7mYFSD50xrKItxmh0YQgcwR5BK6Cam-Noi32-pqL3F_M7AgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrcekiMddMqjEJh4vF00puA9s8Lq5LouqxBwt3vG8NXqLqqzwrLQml6LEyunmbq0Nf8v7tlNNQuO2uBxh502Ok5dA338zGP23kLDJxuauuHSbnQ0NknZhW44cimSnjOESdd6td5VjI5Uee20PpQpwI5W6Et6fzGdTWIlZLYeSCA5EgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 21:44:59 GMT', + 'Mon, 13 Sep 2021 19:24:20 GMT', 'Content-Length', '980' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') - .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"tenant_region_scope":"NA","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ 'Cache-Control', 'max-age=86400, private', 'Content-Type', @@ -94,29 +94,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'e83837f2-463c-4291-a76b-dd8108581d01', + 'ac4cc44b-215b-4885-81c1-46e2d3412201', 'x-ms-ests-server', - '2.1.11654.16 - WUS2 ProdSlices', + '2.1.12025.15 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=ArwmQ1W5Q_pEig-aUDD0fZjmR1YbAgAAAOnMG9gOAAAA; expires=Fri, 28-May-2021 21:45:00 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ApT_yTtK3k9Nk-QlCnbpo_U; expires=Wed, 13-Oct-2021 19:24:20 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrhDtl7ZWhu9smMSXyIgMIa6y6G-ePXEtzmGqh22qo-aVn2qSX5mn8-8GCZbN9g3EBWO5zt_qerBCVgL-oBxpD-ozQ1QEwOUjC92bcNw84XXl6XpiwqOmQmerjV-kok4haTW3ZcJXQ6-88x0xNYZXicHohZSqKLncL59fFeHOhi8kgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrej1ivdu7dLOB6O-gu9bla9luJghCecT-jBTSlH3IUlkjYUNCBVIdzW7iF1hrhyFxZfk9bW3_uDjojae4RfcVkzBHj3txlvskdf8T4H-AMV0QaTiSxbo1l0eaPfqqsxG0bI5tzQznHLLdU6KxNjlnw35XtMM1vYvm5WlYDhPQ_tkgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 21:44:59 GMT', + 'Mon, 13 Sep 2021 19:24:20 GMT', 'Content-Length', - '1651' + '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .filteringRequestBody(function (body) { - return body.replace(/client-request-id=[^&]*/g, "client-request-id=client-request-id"); - }) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&grant_type=client_credentials&client-request-id=client-request-id&client_secret=azure_client_secret") - .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=2a09e9c2-b5cd-406d-b23a-409a0fa2a1bf&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', 'Pragma', @@ -132,27 +129,27 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'e83837f2-463c-4291-a76b-dd810b581d01', + '1b071775-520b-47f3-8bb7-be4c4657e600', 'x-ms-ests-server', - '2.1.11654.16 - WUS2 ProdSlices', + '2.1.12025.15 - EUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=ArwmQ1W5Q_pEig-aUDD0fZjmR1YbAQAAABXOG9gOAAAA; expires=Fri, 28-May-2021 21:45:00 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnJ4cNni9ghFgRZTtc3UIeUbdhqxAQAAAGWc0dgOAAAA; expires=Wed, 13-Oct-2021 19:24:21 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 21:44:59 GMT', + 'Mon, 13 Sep 2021 19:24:20 GMT', 'Content-Length', - '1313' + '1315' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/create', {"policy":{"key_props":{},"secret_props":{},"x509_props":{"subject":"cn=MyCert","sans":{}},"issuer":{"name":"Self"},"attributes":{}},"attributes":{}}) .query(true) - .reply(202, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ + .reply(202, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxlh/fQb+fpOD1H2a0dV+lnIkuqBuuuFsBcLkrovr7epuMuHwEknuoxvI6QecrrkHyVk4A9EvvxrhwNoju/iZK7+exNfgAXSMAAynrsNEgH41w56QBo5kjNAk8zcmWiGkwGGUOE49maE3hSoHmCRFeLNpA17mI0Z4C/gFhRRm460LwULjYIQosHakG0zg0jp0RCQ7QjVo+279Vtfj+xDhHGPMIL7LF5vCwqv/Ia63ZcjFClHOJ8CSRnViad4MWQXmV55mvX1d9YehQ5RMa77L8EN3Je/4e1pMq/SZF3wR/vuSH7COLW3t8DClXcvg6sknnmIZHoIOSvQtj8NhBTUZnQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACjqPS8S3JHHMMtk/+8P502xlyZQVUINS8noX5/7u5hl7dM1SpiSDenxuwB5fG/V1sgqBkOQT2Ii1tg3dACZU7JZ9W+ceJpvCnnqABFPyHJ6NvEBXAPjbACCQ1dxJCN3tfI92PE87Z7fF5ofycCiVUvnzdhoGsgcCu+P6zKF6R8l78vHdxx5oJVWpyJqo0C3NYbkqFSniTYOIH6MPcd4JhE21qlm1RQgKJ1RqxAiD5p+yE1Aque/V6uBMHlZPUwpo9EXErhe46K99YT6zgQB2vX8sIGZ2573o28RQtY/6HDo2Usma24CJr6v/4koG63Spf1/bH/kmz64HLygU05C1eU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b7d0361d69754a938a3d15947e6d0ceb"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -162,19 +159,19 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Expires', '-1', 'Location', - 'https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending?api-version=7.2&request_id=54904f8d86f54b1da8c925f4b684c87a', + 'https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending?api-version=7.2&request_id=b7d0361d69754a938a3d15947e6d0ceb', 'Retry-After', '10', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '5cad1fdc-52e0-47a6-a56a-1ecb16dd1a56', + 'b4dd5448-6e7e-4fac-a1fa-15ea7e093e2c', 'x-ms-request-id', - 'a951e405-3a2c-4873-93f2-8484f9eecdf5', + 'e8c57a57-1a06-41a9-af31-3b979c4b2682', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -182,15 +179,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:45:00 GMT', + 'Mon, 13 Sep 2021 19:24:21 GMT', 'Content-Length', - '1371' + '1362' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxlh/fQb+fpOD1H2a0dV+lnIkuqBuuuFsBcLkrovr7epuMuHwEknuoxvI6QecrrkHyVk4A9EvvxrhwNoju/iZK7+exNfgAXSMAAynrsNEgH41w56QBo5kjNAk8zcmWiGkwGGUOE49maE3hSoHmCRFeLNpA17mI0Z4C/gFhRRm460LwULjYIQosHakG0zg0jp0RCQ7QjVo+279Vtfj+xDhHGPMIL7LF5vCwqv/Ia63ZcjFClHOJ8CSRnViad4MWQXmV55mvX1d9YehQ5RMa77L8EN3Je/4e1pMq/SZF3wR/vuSH7COLW3t8DClXcvg6sknnmIZHoIOSvQtj8NhBTUZnQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACjqPS8S3JHHMMtk/+8P502xlyZQVUINS8noX5/7u5hl7dM1SpiSDenxuwB5fG/V1sgqBkOQT2Ii1tg3dACZU7JZ9W+ceJpvCnnqABFPyHJ6NvEBXAPjbACCQ1dxJCN3tfI92PE87Z7fF5ofycCiVUvnzdhoGsgcCu+P6zKF6R8l78vHdxx5oJVWpyJqo0C3NYbkqFSniTYOIH6MPcd4JhE21qlm1RQgKJ1RqxAiD5p+yE1Aque/V6uBMHlZPUwpo9EXErhe46K99YT6zgQB2vX8sIGZ2573o28RQtY/6HDo2Usma24CJr6v/4koG63Spf1/bH/kmz64HLygU05C1eU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b7d0361d69754a938a3d15947e6d0ceb"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -204,13 +201,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - 'c9b85355-650b-4ad5-a201-af60c253965a', + '60da7c9f-4c05-46fb-9d78-8fab844d2a38', 'x-ms-request-id', - 'a782d6b3-f771-45ef-b1c0-9574c7bca098', + '9a9e4c95-acff-405e-a112-a06a009b8e60', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -218,15 +215,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:45:00 GMT', + 'Mon, 13 Sep 2021 19:24:21 GMT', 'Content-Length', - '1371' + '1362' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxlh/fQb+fpOD1H2a0dV+lnIkuqBuuuFsBcLkrovr7epuMuHwEknuoxvI6QecrrkHyVk4A9EvvxrhwNoju/iZK7+exNfgAXSMAAynrsNEgH41w56QBo5kjNAk8zcmWiGkwGGUOE49maE3hSoHmCRFeLNpA17mI0Z4C/gFhRRm460LwULjYIQosHakG0zg0jp0RCQ7QjVo+279Vtfj+xDhHGPMIL7LF5vCwqv/Ia63ZcjFClHOJ8CSRnViad4MWQXmV55mvX1d9YehQ5RMa77L8EN3Je/4e1pMq/SZF3wR/vuSH7COLW3t8DClXcvg6sknnmIZHoIOSvQtj8NhBTUZnQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACjqPS8S3JHHMMtk/+8P502xlyZQVUINS8noX5/7u5hl7dM1SpiSDenxuwB5fG/V1sgqBkOQT2Ii1tg3dACZU7JZ9W+ceJpvCnnqABFPyHJ6NvEBXAPjbACCQ1dxJCN3tfI92PE87Z7fF5ofycCiVUvnzdhoGsgcCu+P6zKF6R8l78vHdxx5oJVWpyJqo0C3NYbkqFSniTYOIH6MPcd4JhE21qlm1RQgKJ1RqxAiD5p+yE1Aque/V6uBMHlZPUwpo9EXErhe46K99YT6zgQB2vX8sIGZ2573o28RQtY/6HDo2Usma24CJr6v/4koG63Spf1/bH/kmz64HLygU05C1eU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b7d0361d69754a938a3d15947e6d0ceb"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -240,13 +237,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - 'beef268e-abe9-4ec1-bd21-a4e7f12c7e35', + 'c5e80bb5-295e-4094-ba99-380a02d079f7', 'x-ms-request-id', - '4efee2bb-5771-4004-aa81-d33e731a655a', + '3231ccd7-87a7-4c60-8f19-746ffbea973c', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -254,15 +251,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:45:00 GMT', + 'Mon, 13 Sep 2021 19:24:21 GMT', 'Content-Length', - '1371' + '1362' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxlh/fQb+fpOD1H2a0dV+lnIkuqBuuuFsBcLkrovr7epuMuHwEknuoxvI6QecrrkHyVk4A9EvvxrhwNoju/iZK7+exNfgAXSMAAynrsNEgH41w56QBo5kjNAk8zcmWiGkwGGUOE49maE3hSoHmCRFeLNpA17mI0Z4C/gFhRRm460LwULjYIQosHakG0zg0jp0RCQ7QjVo+279Vtfj+xDhHGPMIL7LF5vCwqv/Ia63ZcjFClHOJ8CSRnViad4MWQXmV55mvX1d9YehQ5RMa77L8EN3Je/4e1pMq/SZF3wR/vuSH7COLW3t8DClXcvg6sknnmIZHoIOSvQtj8NhBTUZnQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACjqPS8S3JHHMMtk/+8P502xlyZQVUINS8noX5/7u5hl7dM1SpiSDenxuwB5fG/V1sgqBkOQT2Ii1tg3dACZU7JZ9W+ceJpvCnnqABFPyHJ6NvEBXAPjbACCQ1dxJCN3tfI92PE87Z7fF5ofycCiVUvnzdhoGsgcCu+P6zKF6R8l78vHdxx5oJVWpyJqo0C3NYbkqFSniTYOIH6MPcd4JhE21qlm1RQgKJ1RqxAiD5p+yE1Aque/V6uBMHlZPUwpo9EXErhe46K99YT6zgQB2vX8sIGZ2573o28RQtY/6HDo2Usma24CJr6v/4koG63Spf1/bH/kmz64HLygU05C1eU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b7d0361d69754a938a3d15947e6d0ceb"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -276,13 +273,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '3521b081-e445-4ee9-943a-c4ecfb149ba5', + '7c410164-39b5-4690-ada4-342365bcd446', 'x-ms-request-id', - 'e03d719b-98cf-4c6f-82e2-520566eceba2', + 'c0d6047b-2c96-4376-a06b-6068d28b74d9', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -290,15 +287,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:45:02 GMT', + 'Mon, 13 Sep 2021 19:24:23 GMT', 'Content-Length', - '1371' + '1362' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxlh/fQb+fpOD1H2a0dV+lnIkuqBuuuFsBcLkrovr7epuMuHwEknuoxvI6QecrrkHyVk4A9EvvxrhwNoju/iZK7+exNfgAXSMAAynrsNEgH41w56QBo5kjNAk8zcmWiGkwGGUOE49maE3hSoHmCRFeLNpA17mI0Z4C/gFhRRm460LwULjYIQosHakG0zg0jp0RCQ7QjVo+279Vtfj+xDhHGPMIL7LF5vCwqv/Ia63ZcjFClHOJ8CSRnViad4MWQXmV55mvX1d9YehQ5RMa77L8EN3Je/4e1pMq/SZF3wR/vuSH7COLW3t8DClXcvg6sknnmIZHoIOSvQtj8NhBTUZnQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACjqPS8S3JHHMMtk/+8P502xlyZQVUINS8noX5/7u5hl7dM1SpiSDenxuwB5fG/V1sgqBkOQT2Ii1tg3dACZU7JZ9W+ceJpvCnnqABFPyHJ6NvEBXAPjbACCQ1dxJCN3tfI92PE87Z7fF5ofycCiVUvnzdhoGsgcCu+P6zKF6R8l78vHdxx5oJVWpyJqo0C3NYbkqFSniTYOIH6MPcd4JhE21qlm1RQgKJ1RqxAiD5p+yE1Aque/V6uBMHlZPUwpo9EXErhe46K99YT6zgQB2vX8sIGZ2573o28RQtY/6HDo2Usma24CJr6v/4koG63Spf1/bH/kmz64HLygU05C1eU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"b7d0361d69754a938a3d15947e6d0ceb"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -312,13 +309,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '0d603386-eafa-4831-92e9-8b6b5ae67be4', + '70cba48c-2d78-4a37-b17f-13a3030321ba', 'x-ms-request-id', - '0dcd3c78-8117-4736-b7ac-7a28725e612d', + '42e13d7e-c6bb-4dc2-8eaf-4f925310b820', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -326,15 +323,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:45:05 GMT', + 'Mon, 13 Sep 2021 19:24:25 GMT', 'Content-Length', - '1371' + '1362' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxlh/fQb+fpOD1H2a0dV+lnIkuqBuuuFsBcLkrovr7epuMuHwEknuoxvI6QecrrkHyVk4A9EvvxrhwNoju/iZK7+exNfgAXSMAAynrsNEgH41w56QBo5kjNAk8zcmWiGkwGGUOE49maE3hSoHmCRFeLNpA17mI0Z4C/gFhRRm460LwULjYIQosHakG0zg0jp0RCQ7QjVo+279Vtfj+xDhHGPMIL7LF5vCwqv/Ia63ZcjFClHOJ8CSRnViad4MWQXmV55mvX1d9YehQ5RMa77L8EN3Je/4e1pMq/SZF3wR/vuSH7COLW3t8DClXcvg6sknnmIZHoIOSvQtj8NhBTUZnQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACjqPS8S3JHHMMtk/+8P502xlyZQVUINS8noX5/7u5hl7dM1SpiSDenxuwB5fG/V1sgqBkOQT2Ii1tg3dACZU7JZ9W+ceJpvCnnqABFPyHJ6NvEBXAPjbACCQ1dxJCN3tfI92PE87Z7fF5ofycCiVUvnzdhoGsgcCu+P6zKF6R8l78vHdxx5oJVWpyJqo0C3NYbkqFSniTYOIH6MPcd4JhE21qlm1RQgKJ1RqxAiD5p+yE1Aque/V6uBMHlZPUwpo9EXErhe46K99YT6zgQB2vX8sIGZ2573o28RQtY/6HDo2Usma24CJr6v/4koG63Spf1/bH/kmz64HLygU05C1eU=","cancellation_requested":false,"status":"completed","target":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0","request_id":"b7d0361d69754a938a3d15947e6d0ceb"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -343,3204 +340,16 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'application/json; charset=utf-8', 'Expires', '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f49dc78a-dc68-416a-9e2e-4668ac346a6e', - 'x-ms-request-id', - '042a615f-1d0c-444b-920c-0f1d59e9ca9f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:06 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5cb3c295-6205-4f5f-baf3-d9f173a54c4b', - 'x-ms-request-id', - '562f2162-b48e-410f-8839-d50204e3802a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:09 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '63405bb5-8b38-49c2-a9c0-499307107f97', - 'x-ms-request-id', - '6822980b-10f4-422e-be04-714f359a13b5', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:11 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b9884fa2-fffa-4fb3-8227-6b6b014c173c', - 'x-ms-request-id', - '476d5b87-097c-4ad3-a6e1-d60874a1d0d3', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:13 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5211b217-879b-4bbf-9734-cc3c90f255d0', - 'x-ms-request-id', - '6fad3686-dbe3-4771-8fed-99fb16149041', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:15 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '73d9fd7f-dd9e-44af-9ffa-6b1fb66afa66', - 'x-ms-request-id', - '206f8afc-4937-4caa-8a4c-a3605910d747', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:17 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '865e2208-327c-489d-b1c1-c85f10869721', - 'x-ms-request-id', - 'b9b3d72b-7534-405b-9325-06ebb6ca5ada', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:19 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '20c2e177-ba3d-4396-9505-9cf5cc66d0c2', - 'x-ms-request-id', - '6b53b5b9-b2e8-48c3-8144-0e1fb4d9e6d0', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:21 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '2b30b150-445b-4d1a-8820-077d73b98962', - 'x-ms-request-id', - '0d449cfa-79f9-4ead-8d67-efc748650119', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:24 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '9f97ebf2-24b5-4f8e-9f10-b419be010634', - 'x-ms-request-id', - '2cf21348-9caf-44df-9f7b-9b12d9cf5e33', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:26 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '2303673a-4227-472c-964b-68d37633b350', - 'x-ms-request-id', - '9461f50c-c3a3-4b7e-850e-4372d5c7fdb0', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:27 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c6f63f50-b8b2-4b00-bed1-ca78fa5178c7', - 'x-ms-request-id', - '1906b266-6c38-4b8b-b2b1-d3286d644973', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:30 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e5fec780-2ca3-45c0-af6b-18ce3225bdd0', - 'x-ms-request-id', - '1ac1aa87-8b26-421d-8a23-a6c569c676de', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:31 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '68fb7a18-9247-4f49-8eb8-0ed528453274', - 'x-ms-request-id', - 'bf998293-d8df-4141-948d-f72d405c2605', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:33 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5cf2c3ba-b7b3-4375-b1bf-2370625065c4', - 'x-ms-request-id', - '2703e183-99ec-4eb6-a99f-aa49f18bb94a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:36 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '8d3f0d6f-d0e8-4195-b3a1-defadd20c4e6', - 'x-ms-request-id', - '9e515cfb-383e-4d89-bcf6-b5438e9ce362', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:38 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '8c10044e-c7e0-46c7-840b-2345472cb426', - 'x-ms-request-id', - '2639f93e-eac4-4de2-976e-f37fe093fd9b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:40 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '88b85a4b-b913-48bd-9d3f-9a138c124d8e', - 'x-ms-request-id', - 'adfa6977-1fd1-4daf-9a53-7c6e3b7a918b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:42 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '94650228-ddf7-47e2-aff6-1c1be5f17d43', - 'x-ms-request-id', - 'd238ebc0-e01e-4e4b-95d3-8711482d6ab2', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:44 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '53f875fa-4a76-42c0-8968-6b1442593cfd', - 'x-ms-request-id', - '9a77e8bb-e1ee-4307-813a-ba9000a109e0', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:46 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '27a91656-7df2-4b96-a3bc-3a3ee899f6c4', - 'x-ms-request-id', - 'a4db32c9-fef9-4c40-9bde-36c4ee4fb17a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:48 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1bf9131c-9eeb-4054-9b79-54a5260db829', - 'x-ms-request-id', - 'e5a44418-c4b1-44b6-b16d-cf9d7897e3d9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:51 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'bfb65166-380e-49a0-8c6c-c46f2167ad06', - 'x-ms-request-id', - '66f65ed6-63ac-4fc5-81c8-854e006e0481', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:53 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c2ed9ff0-1ae0-4a4e-8142-3db13eca7208', - 'x-ms-request-id', - '37e104a2-53dc-48b0-b113-ed14a25547d2', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:55 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '34277e34-9057-4e0d-a579-8631740561d6', - 'x-ms-request-id', - '5a71f6e7-5078-4eb0-88ff-50457088b4d9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:57 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7606b423-3569-4c8f-8c27-ec72eed6bef0', - 'x-ms-request-id', - '24f788a3-148c-48ca-bf32-3af7a30b1f74', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:45:59 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a859bdac-50cf-40ba-8691-2bbfc3f6f443', - 'x-ms-request-id', - 'd5978501-2cfc-421b-bdb4-20f20cd72d59', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:01 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c07c3b85-62df-402f-8ed1-84f8e35d71eb', - 'x-ms-request-id', - '0348f75b-dc4c-43dc-9141-bc44a2adcfe6', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:03 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0874c944-2d02-47e5-8030-1573f71acbb0', - 'x-ms-request-id', - '365789a3-efe2-4904-bdf4-987443ee5f4a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:06 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'de7a57e3-99e3-4602-81bf-f00e12bdf182', - 'x-ms-request-id', - 'eb694981-98d4-44bd-85da-f37e628c9d75', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:07 GMT', - 'Content-Length', - '1371' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzRkr5DktVJkZvgSW35Y/B+HLLw1FyiyXgbiQ3Ete0DIJPgMF1Rf5ZoUzgcfqt0qJUiLF3rjt0duOsYPGqNhWr8Sz9oRbzfrGqI+MOzOVnBgk32MJVoSo9aFxg2OTyJfD7q8VZQQ/FDbzgv5gILgi5AIWbcPmJFk9kI1i9CK7QnY22Ml2r8dnYaPNnbn8mIrd3vvAxtQEpUqNwWctLOPA/AewzC/cQOijpYDU9O2ujbqfad+zTiZUm4axsc7DEy8kr1YS2em135ERv2KZRaxnMHZ1RgQEG3fbktR8ACZVceAHq0ATsbiTCV6ErlzPT4ED4BitTwc7L3yXS/geH+uVQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAGsNJI14LRdajbwembuft/ZZeHuj8ILLubhx0yLcsTY0M79rGRuMW7kqd5YMaWsNukIM54l3oLLUu+o3onN+7O7KPdNVeQlp0enO4X9+/Vf3S34i9Af6UCSbgdAbhB4vq5KCQxepUw1cddCiE0hoQhy+cH0G2ljvSTT00Rw4gqGMzzBlRaDs9ipwUloVbBf2JAU8lIiIvv3eE8cgjBj8emJSSz3MWvkNnELd+vTDilV/jwuDzu/iWbBkXxelJfaunNhPt6///QDmiXOGKW0RuOHE4/ABuPOd/R+T7kLROmGChv3TotrCw4HYcH5RDlLV9kLzwlxYsNK+0xT3CXCJDxI=","cancellation_requested":false,"status":"completed","target":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0","request_id":"54904f8d86f54b1da8c925f4b684c87a"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e8f6558c-37d3-4b8e-b197-f3b494e81d02', - 'x-ms-request-id', - 'c0f4ae7b-ff4c-4cc2-bede-f779bcbdd103', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:10 GMT', - 'Content-Length', - '1369' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","x5t":"j9NTE7KcMDi1l6IE9L578pmEhQY","cer":"MIIDKDCCAhCgAwIBAgIQX68anSu+TKCaG5vbottnbTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzNjA5WhcNMjIwNDI4MjE0NjA5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7NGSvkOS1UmRm+BJbflj8H4csvDUXKLJeBuJDcS17QMgk+AwXVF/lmhTOBx+q3SolSIsXeuO3R246xg8ao2FavxLP2hFvN+saoj4w7M5WcGCTfYwlWhKj1oXGDY5PIl8PurxVlBD8UNvOC/mAguCLkAhZtw+YkWT2QjWL0IrtCdjbYyXavx2dho82dufyYit3e+8DG1ASlSo3BZy0s48D8B7DML9xA6KOlgNT07a6Nup9p37NOJlSbhrGxzsMTLySvVhLZ6bXfkRG/YplFrGcwdnVGBAQbd9uS1HwAJlVx4AerQBOxuJMJXoSuXM9PgQPgGK1PBzsvfJdL+B4f65VAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBThf30kcegk7Fxov+9gxquUt/WCTjAdBgNVHQ4EFgQU4X99JHHoJOxcaL/vYMarlLf1gk4wDQYJKoZIhvcNAQELBQADggEBAE9xdygTFhjQ+HWyERX31zNe5KJ2g1ktSl4On3nAB6rokwV/R+ImA721NncrDJ6B1f4r+1c/egBcDkrZS47HE+4Eu1rkAuRSnYZrFhOUXAr1IQvOe2i4hl/3UfzFGWTYc/3KPOn5vPdGtoo9sQ6uVZ7tldU464R5tRb0WOsxeeqiBn9aQ2UcOEiDpjNKlyimxmBVvWAObKmf4qvrQlcsoHdEdBrcybJmtNpdcxu0Exar7E4kq//2aF9X1QRNcBBUZfooRMFidi9EupgK0sz5ub1BU4E5pMPVP8VQejfgmR6qMtuIzGZZQZbY0J6nQ6o+RIxyFwokuYQL+K9h3ukH5hc=","attributes":{"enabled":true,"nbf":1619645769,"exp":1651182369,"created":1619646369,"updated":1619646369,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619646300,"updated":1619646300}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '01f62126-c27f-4cd9-99e0-1c18b3bfc553', - 'x-ms-request-id', - 'a6bc0074-5219-46e6-87b1-0a6d338b6915', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:09 GMT', - 'Content-Length', - '2745' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/') - .query(true) - .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '87', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'WWW-Authenticate', - 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ff5cd620-0b3a-4f1e-8efa-b3babd4b6d60', - 'x-ms-request-id', - '38763149-2716-4487-aafc-cd0a70d2fef1', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:10 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/') - .query(true) - .reply(200, {"value":"MIIKMAIBAzCCCewGCSqGSIb3DQEHAaCCCd0EggnZMIIJ1TCCBg4GCSqGSIb3DQEHAaCCBf8EggX7MIIF9zCCBfMGCyqGSIb3DQEMCgECoIIE9jCCBPIwHAYKKoZIhvcNAQwBAzAOBAhXcnxSyiRrQwICB9AEggTQMpyqXPAfOwmuKrYMZA2U/fIZoWDXVd0hwbExct5iSkjEG9TDEFOcrfamEWcDN6QnW7i1K/Q6VCokx7T9FG6ZtziwUC9MxaWfi0LnMu4IxaEHtZe6elKVo+lkCJNGiTvVQVkWK8rZPvlt2VyFBS7SKVyiOCEEifKRZjSW8eEW3pO25bMEjG+JF7c49dAQ0vTaBJL3Qn3g/PSwkRrHy0bGWcerU5g9W749DDvHZP4ep81RFrtm2ZwWgJpy77DxqCJ3tQFXJT3BGjte0sseURLdVSFTEUdt1JDPXQIQgom5S+mQRNgSMiAaLgboAlnWTbyg+Ksg6ATwjtpuD//3qzDzlOTIg4JamYPKpIPdGGVK+6NCuh2SByeNJIAkxjJ4rqLf1BV+BZHWMLNs2L7VA87pwD0grG5iFqs/LiY3vfzQb+wZ0EZIEYJxf3CWSEBXXga834TCr7BQJLrIjKRVetTVp20/+YTKL7qDsAxRStRQUx+mpPESwBQWqitqufxgcil71Z/AurRykJL+V7Ol2595xnM+TkptSnNuyhMaC0Nij63gGqwM2iQZylW0N35zuALy1He4dJO9qjdgXebVxSWPuOxYVBxqfCVGA5xHwdiyUyxcs/6D8h2I2oL4Uua2/qgY5cwlWnLzELwLMizx9iH9HZLhztf8mWMwtG+6NOihUeAUVxlHn8BFX82RZvuT/0t+lfvrgaCdFAOLWSDfw1+ce0u5uzy6bAmPgqq4bm8rT8ktNWKrJFAw3nt1oq9svVjLylLBNyI3oDutwUWV1rV/ic+TpP2HV+irF7o3gCJ+lDOoUpe/gTtUmJlZxoWtseLL+MGRTWAsh2RWDcYfhZ5JuJAz5qsOT6jwsV1w0NryQ5qHxLD1PyiqwEm2gnjY+Gdm5wCQXPEh7209VyEPg/mmdciClr9bSVvZg3XqL5A4SgBNySrcb2rPVtsZHxqT7s7wTtmfur9gJ5CdbS6jexoWJa7cGEjapLctUgZBwRhwNvKmLpDFyZ63Wr7ANdf/IEFsyAMBlSXtOTVowE+egQPC6EqegTeNP7SiWGUATovKM8qcbmg5jYKch2Pvs3piG+RxTHsuqzyvHq/wVwi8Q2Hj9MMHXcKbLuMIOEIGvhKqbjVwnRS1xPvAUboUX9V5tAWLjU+aIKMaT0VS4/2LRFYcKibvb+L5bPcQUTsC8+417oLXi6HlUXnC14QSlFKEyz7rZc2viemgM0JE9e5KDMtdZiUKun0ZqlPfyj/M15oJsfm5guxlsvLpuApqV6Fba2yghHhldPPbXTZV/UBunGgv28ukydwkzg1pFWb8FuoL7dA/aQE/V/r1zZYV7QGLkmeY833Ecc4cxltemd6QVvk3L3lB9C870rhnc/is4bken6wyXtBaKLjDW7yWTi3hXf6jrV7Bfk35VIkqc3TLymolG+VXd8CN6nOA73G3ZrsbbLSfOz78s5bqjxV84zU8Jxt1xsigLgIyHPcQWgu+csKAFy0onVFDL2omUdNh3nxv/bR53m3nryITmTB2ASuWUW457qC6ddefUaXxd8ioZM3AOaV/QxJMi9dcUskP2NifgMgXm9DUgX86He67BpVau1daIgqmWq3Chptta1V5wfdp0n2PT+TfQnTeVoC5y0mldyIxgekwEwYJKoZIhvcNAQkVMQYEBAEAAAAwVwYJKoZIhvcNAQkUMUoeSAA3ADYAMQAyAGEAOQBhADgALQAwAGUAMwBlAC0ANABmAGQAOAAtAGIAOAA4AGQALQA4AGMAYgA1ADcAZgA3ADAAYgAxADUAODB5BgkrBgEEAYI3EQExbB5qAE0AaQBjAHIAbwBzAG8AZgB0ACAARQBuAGgAYQBuAGMAZQBkACAAUgBTAEEAIABhAG4AZAAgAEEARQBTACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcjCCA78GCSqGSIb3DQEHBqCCA7AwggOsAgEAMIIDpQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIDCY6fpSxRbUCAgfQgIIDeFj7sMLvDQBVSnDCWtFkljvzbdknOAC7ohVODDniz6oaKIYP7jQjETsEHXSe0/govG5gwEqtN/N2tbhWZGtKgQRa5E0cL3+EDMTCFxvutHMrehbIVIT5INaQQKjlvSOqCgA0YT5u0D/AZcM2kb0EMp6qW/TKf0IPafjdiHqySEBi4umo7LH3gpHnfFXuf8Tl2O3hrvSQqR0SOCIbeg8bteV79tPdJZr3Rp6rIGdQUfhJvM8woHqfs+I1C+5cx/WK88zKthreXq/GiQRitvO8ke1KDAAkPci907+rl+I6QRMXlbJEHHlwNbefVRn/fl28l1MSLqm6HXNMkBPhT/0byrXqcydXSGyJDrxHsnq3SYaHCq6aR3c7E4BXAE75vmKqFHOOyBRrtjreBMnKb//x2sJUKHVq4VlStSRWB4dyUcct9gb2659l8PA2Jbj8c9ssfUGlkFdkhyXNEYrtRWC2h9gOADvQxjtK+aNBoy4yLJFMN5u2nC9Fi5hAtUbpYkvzfZ4DxAIZq7rOriCulz+pLDXIIL12QMQyG7jpb4bib+qIsCHI3flw+ff5dFrXwavLD2anB2WBajIL169RfdpeYG9ToXOANxeWobX1B1mNt9nRWHC06U8GdDVmZDEo6vjq1wyuqUInD29n1uo4FyXEWmrYSW2HG+n4b/tt4bypCjoFrpilDt3CRYhxK4CcSvWEEoJp7hTQEORVwEM/CDobv07eWg/pwiGAc9PQEpj9e3Dc9skYQEBtWwjzRQG4WEDkjT8CzRastMtDSpprl6vw9otCDjcEP/TixapLgrlJbuyZrJYtGHtMsvbGPqcS3dnLJsz6VcgotA3i7ZVabn/2otRuba9EHR24aJbJc3FSEtQi92T7JJ6RTtCECY/p3tcH0tJBBR2inTu4gfkmOXdwPE2B79CsK3lZJngivYMshPQ6yykSI5N3losVWC/PYCWzjYrgUlDIoFA6IxjckMUPg5TLtmqhkSDj8xGTqtHe074SyyQKMCNvZ29OK605QcLWbyTn/2FLM43CqjFjkUReZhtU5sLCTIWaS0d15NO1m86AFrobhinCC6pHxXTi5Img1MuF7rE8Rw+hMOvK5Yb+4QNBCG0ADdHQMeqMd5cKPrXAHh8zJsE8EASbIjB1Ximg0ED/b2/tFjlM1L4XX78fN7INcRK+fgFPvjA7MB8wBwYFKw4DAhoEFEwnCmjbDkPbz3vYON6tpw5e5eEgBBQ4j6aebBXniK9BvZMp5/Xe2rKDigICB9A=","contentType":"application/x-pkcs12","id":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","managed":true,"attributes":{"enabled":true,"nbf":1619645769,"exp":1651182369,"created":1619646369,"updated":1619646369,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ff5cd620-0b3a-4f1e-8efa-b3babd4b6d60', - 'x-ms-request-id', - '85c5ea8d-f3a8-4d75-8ccd-c852b1e79592', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:09 GMT', - 'Content-Length', - '4087' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/import', {"value":"MIIKMAIBAzCCCewGCSqGSIb3DQEHAaCCCd0EggnZMIIJ1TCCBg4GCSqGSIb3DQEHAaCCBf8EggX7MIIF9zCCBfMGCyqGSIb3DQEMCgECoIIE9jCCBPIwHAYKKoZIhvcNAQwBAzAOBAhXcnxSyiRrQwICB9AEggTQMpyqXPAfOwmuKrYMZA2U/fIZoWDXVd0hwbExct5iSkjEG9TDEFOcrfamEWcDN6QnW7i1K/Q6VCokx7T9FG6ZtziwUC9MxaWfi0LnMu4IxaEHtZe6elKVo+lkCJNGiTvVQVkWK8rZPvlt2VyFBS7SKVyiOCEEifKRZjSW8eEW3pO25bMEjG+JF7c49dAQ0vTaBJL3Qn3g/PSwkRrHy0bGWcerU5g9W749DDvHZP4ep81RFrtm2ZwWgJpy77DxqCJ3tQFXJT3BGjte0sseURLdVSFTEUdt1JDPXQIQgom5S+mQRNgSMiAaLgboAlnWTbyg+Ksg6ATwjtpuD//3qzDzlOTIg4JamYPKpIPdGGVK+6NCuh2SByeNJIAkxjJ4rqLf1BV+BZHWMLNs2L7VA87pwD0grG5iFqs/LiY3vfzQb+wZ0EZIEYJxf3CWSEBXXga834TCr7BQJLrIjKRVetTVp20/+YTKL7qDsAxRStRQUx+mpPESwBQWqitqufxgcil71Z/AurRykJL+V7Ol2595xnM+TkptSnNuyhMaC0Nij63gGqwM2iQZylW0N35zuALy1He4dJO9qjdgXebVxSWPuOxYVBxqfCVGA5xHwdiyUyxcs/6D8h2I2oL4Uua2/qgY5cwlWnLzELwLMizx9iH9HZLhztf8mWMwtG+6NOihUeAUVxlHn8BFX82RZvuT/0t+lfvrgaCdFAOLWSDfw1+ce0u5uzy6bAmPgqq4bm8rT8ktNWKrJFAw3nt1oq9svVjLylLBNyI3oDutwUWV1rV/ic+TpP2HV+irF7o3gCJ+lDOoUpe/gTtUmJlZxoWtseLL+MGRTWAsh2RWDcYfhZ5JuJAz5qsOT6jwsV1w0NryQ5qHxLD1PyiqwEm2gnjY+Gdm5wCQXPEh7209VyEPg/mmdciClr9bSVvZg3XqL5A4SgBNySrcb2rPVtsZHxqT7s7wTtmfur9gJ5CdbS6jexoWJa7cGEjapLctUgZBwRhwNvKmLpDFyZ63Wr7ANdf/IEFsyAMBlSXtOTVowE+egQPC6EqegTeNP7SiWGUATovKM8qcbmg5jYKch2Pvs3piG+RxTHsuqzyvHq/wVwi8Q2Hj9MMHXcKbLuMIOEIGvhKqbjVwnRS1xPvAUboUX9V5tAWLjU+aIKMaT0VS4/2LRFYcKibvb+L5bPcQUTsC8+417oLXi6HlUXnC14QSlFKEyz7rZc2viemgM0JE9e5KDMtdZiUKun0ZqlPfyj/M15oJsfm5guxlsvLpuApqV6Fba2yghHhldPPbXTZV/UBunGgv28ukydwkzg1pFWb8FuoL7dA/aQE/V/r1zZYV7QGLkmeY833Ecc4cxltemd6QVvk3L3lB9C870rhnc/is4bken6wyXtBaKLjDW7yWTi3hXf6jrV7Bfk35VIkqc3TLymolG+VXd8CN6nOA73G3ZrsbbLSfOz78s5bqjxV84zU8Jxt1xsigLgIyHPcQWgu+csKAFy0onVFDL2omUdNh3nxv/bR53m3nryITmTB2ASuWUW457qC6ddefUaXxd8ioZM3AOaV/QxJMi9dcUskP2NifgMgXm9DUgX86He67BpVau1daIgqmWq3Chptta1V5wfdp0n2PT+TfQnTeVoC5y0mldyIxgekwEwYJKoZIhvcNAQkVMQYEBAEAAAAwVwYJKoZIhvcNAQkUMUoeSAA3ADYAMQAyAGEAOQBhADgALQAwAGUAMwBlAC0ANABmAGQAOAAtAGIAOAA4AGQALQA4AGMAYgA1ADcAZgA3ADAAYgAxADUAODB5BgkrBgEEAYI3EQExbB5qAE0AaQBjAHIAbwBzAG8AZgB0ACAARQBuAGgAYQBuAGMAZQBkACAAUgBTAEEAIABhAG4AZAAgAEEARQBTACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcjCCA78GCSqGSIb3DQEHBqCCA7AwggOsAgEAMIIDpQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIDCY6fpSxRbUCAgfQgIIDeFj7sMLvDQBVSnDCWtFkljvzbdknOAC7ohVODDniz6oaKIYP7jQjETsEHXSe0/govG5gwEqtN/N2tbhWZGtKgQRa5E0cL3+EDMTCFxvutHMrehbIVIT5INaQQKjlvSOqCgA0YT5u0D/AZcM2kb0EMp6qW/TKf0IPafjdiHqySEBi4umo7LH3gpHnfFXuf8Tl2O3hrvSQqR0SOCIbeg8bteV79tPdJZr3Rp6rIGdQUfhJvM8woHqfs+I1C+5cx/WK88zKthreXq/GiQRitvO8ke1KDAAkPci907+rl+I6QRMXlbJEHHlwNbefVRn/fl28l1MSLqm6HXNMkBPhT/0byrXqcydXSGyJDrxHsnq3SYaHCq6aR3c7E4BXAE75vmKqFHOOyBRrtjreBMnKb//x2sJUKHVq4VlStSRWB4dyUcct9gb2659l8PA2Jbj8c9ssfUGlkFdkhyXNEYrtRWC2h9gOADvQxjtK+aNBoy4yLJFMN5u2nC9Fi5hAtUbpYkvzfZ4DxAIZq7rOriCulz+pLDXIIL12QMQyG7jpb4bib+qIsCHI3flw+ff5dFrXwavLD2anB2WBajIL169RfdpeYG9ToXOANxeWobX1B1mNt9nRWHC06U8GdDVmZDEo6vjq1wyuqUInD29n1uo4FyXEWmrYSW2HG+n4b/tt4bypCjoFrpilDt3CRYhxK4CcSvWEEoJp7hTQEORVwEM/CDobv07eWg/pwiGAc9PQEpj9e3Dc9skYQEBtWwjzRQG4WEDkjT8CzRastMtDSpprl6vw9otCDjcEP/TixapLgrlJbuyZrJYtGHtMsvbGPqcS3dnLJsz6VcgotA3i7ZVabn/2otRuba9EHR24aJbJc3FSEtQi92T7JJ6RTtCECY/p3tcH0tJBBR2inTu4gfkmOXdwPE2B79CsK3lZJngivYMshPQ6yykSI5N3losVWC/PYCWzjYrgUlDIoFA6IxjckMUPg5TLtmqhkSDj8xGTqtHe074SyyQKMCNvZ29OK605QcLWbyTn/2FLM43CqjFjkUReZhtU5sLCTIWaS0d15NO1m86AFrobhinCC6pHxXTi5Img1MuF7rE8Rw+hMOvK5Yb+4QNBCG0ADdHQMeqMd5cKPrXAHh8zJsE8EASbIjB1Ximg0ED/b2/tFjlM1L4XX78fN7INcRK+fgFPvjA7MB8wBwYFKw4DAhoEFEwnCmjbDkPbz3vYON6tpw5e5eEgBBQ4j6aebBXniK9BvZMp5/Xe2rKDigICB9A="}) - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","x5t":"j9NTE7KcMDi1l6IE9L578pmEhQY","cer":"MIIDKDCCAhCgAwIBAgIQX68anSu+TKCaG5vbottnbTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzNjA5WhcNMjIwNDI4MjE0NjA5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7NGSvkOS1UmRm+BJbflj8H4csvDUXKLJeBuJDcS17QMgk+AwXVF/lmhTOBx+q3SolSIsXeuO3R246xg8ao2FavxLP2hFvN+saoj4w7M5WcGCTfYwlWhKj1oXGDY5PIl8PurxVlBD8UNvOC/mAguCLkAhZtw+YkWT2QjWL0IrtCdjbYyXavx2dho82dufyYit3e+8DG1ASlSo3BZy0s48D8B7DML9xA6KOlgNT07a6Nup9p37NOJlSbhrGxzsMTLySvVhLZ6bXfkRG/YplFrGcwdnVGBAQbd9uS1HwAJlVx4AerQBOxuJMJXoSuXM9PgQPgGK1PBzsvfJdL+B4f65VAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBThf30kcegk7Fxov+9gxquUt/WCTjAdBgNVHQ4EFgQU4X99JHHoJOxcaL/vYMarlLf1gk4wDQYJKoZIhvcNAQELBQADggEBAE9xdygTFhjQ+HWyERX31zNe5KJ2g1ktSl4On3nAB6rokwV/R+ImA721NncrDJ6B1f4r+1c/egBcDkrZS47HE+4Eu1rkAuRSnYZrFhOUXAr1IQvOe2i4hl/3UfzFGWTYc/3KPOn5vPdGtoo9sQ6uVZ7tldU464R5tRb0WOsxeeqiBn9aQ2UcOEiDpjNKlyimxmBVvWAObKmf4qvrQlcsoHdEdBrcybJmtNpdcxu0Exar7E4kq//2aF9X1QRNcBBUZfooRMFidi9EupgK0sz5ub1BU4E5pMPVP8VQejfgmR6qMtuIzGZZQZbY0J6nQ6o+RIxyFwokuYQL+K9h3ukH5hc=","attributes":{"enabled":true,"nbf":1619645769,"exp":1651182369,"created":1619646370,"updated":1619646370,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":13,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1619646370,"updated":1619646370}}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0210c136-06a4-44d7-875a-ea3ed7a50bb0', - 'x-ms-request-id', - 'd7ff34c5-fa96-4552-9336-12f389e2ca85', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:10 GMT', - 'Content-Length', - '2563' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0","deletedDate":1619646371,"scheduledPurgeDate":1627422371,"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","x5t":"j9NTE7KcMDi1l6IE9L578pmEhQY","cer":"MIIDKDCCAhCgAwIBAgIQX68anSu+TKCaG5vbottnbTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzNjA5WhcNMjIwNDI4MjE0NjA5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7NGSvkOS1UmRm+BJbflj8H4csvDUXKLJeBuJDcS17QMgk+AwXVF/lmhTOBx+q3SolSIsXeuO3R246xg8ao2FavxLP2hFvN+saoj4w7M5WcGCTfYwlWhKj1oXGDY5PIl8PurxVlBD8UNvOC/mAguCLkAhZtw+YkWT2QjWL0IrtCdjbYyXavx2dho82dufyYit3e+8DG1ASlSo3BZy0s48D8B7DML9xA6KOlgNT07a6Nup9p37NOJlSbhrGxzsMTLySvVhLZ6bXfkRG/YplFrGcwdnVGBAQbd9uS1HwAJlVx4AerQBOxuJMJXoSuXM9PgQPgGK1PBzsvfJdL+B4f65VAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBThf30kcegk7Fxov+9gxquUt/WCTjAdBgNVHQ4EFgQU4X99JHHoJOxcaL/vYMarlLf1gk4wDQYJKoZIhvcNAQELBQADggEBAE9xdygTFhjQ+HWyERX31zNe5KJ2g1ktSl4On3nAB6rokwV/R+ImA721NncrDJ6B1f4r+1c/egBcDkrZS47HE+4Eu1rkAuRSnYZrFhOUXAr1IQvOe2i4hl/3UfzFGWTYc/3KPOn5vPdGtoo9sQ6uVZ7tldU464R5tRb0WOsxeeqiBn9aQ2UcOEiDpjNKlyimxmBVvWAObKmf4qvrQlcsoHdEdBrcybJmtNpdcxu0Exar7E4kq//2aF9X1QRNcBBUZfooRMFidi9EupgK0sz5ub1BU4E5pMPVP8VQejfgmR6qMtuIzGZZQZbY0J6nQ6o+RIxyFwokuYQL+K9h3ukH5hc=","attributes":{"enabled":true,"nbf":1619645769,"exp":1651182369,"created":1619646369,"updated":1619646369,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619646300,"updated":1619646300}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f9cb70d7-d0b4-4447-b97f-7db2d5d5f899', - 'x-ms-request-id', - 'c0ceac4a-b7a6-4f5e-b7bf-0fa8d1942f98', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:10 GMT', - 'Content-Length', - '2976' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '31e3e2fa-589d-4e55-ba19-24b8364d8564', - 'x-ms-request-id', - '49c1f154-bed0-4625-84f6-fab536eb52ea', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:11 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0e41c6a4-4415-4918-ba45-970823931ebf', - 'x-ms-request-id', - '68e947e0-fddd-4cb8-8776-9eaaff82fe35', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:10 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '08764a38-04d8-4ef7-8e93-f9606683d519', - 'x-ms-request-id', - '6ff7ebbf-41c4-4d60-8619-9761d9e84519', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:13 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'de182fe5-aa94-46a6-b468-7e9f2da13540', - 'x-ms-request-id', - '37925f69-5008-47c4-9836-fc19f0eeb060', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:15 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5630d774-90b0-40b8-b677-889e60150206', - 'x-ms-request-id', - '5385a463-0e74-4b55-9b74-969bd83657ff', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:17 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5ad5447e-cb57-4085-b4fc-bc401d7fd57c', - 'x-ms-request-id', - 'f9358f9d-7cda-4a5a-aed3-9e6cd1b5b12b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:19 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ca9b6b93-a16e-40a3-930b-f72f331846b5', - 'x-ms-request-id', - 'e1536d07-12af-4b67-b9dd-8c8f224c04e9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:21 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ecf75b15-43bf-406e-adb6-46e420d3293f', - 'x-ms-request-id', - '9ed5e492-7b19-44b8-b292-43ea7921a1a3', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:24 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '071d595c-ed64-4f87-8d3e-261ff86b27c3', - 'x-ms-request-id', - '00893d85-5678-4823-b58e-50b3a3501118', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:26 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7fb46498-e8d1-466b-9d4f-cb32e940a3a0', - 'x-ms-request-id', - '655f051d-546e-4572-8346-11c5a9c6fe6f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:27 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7adf9d21-62e8-487b-95c2-83e5b6f0b165', - 'x-ms-request-id', - 'c516c163-5221-42c4-855f-9832d7eb5503', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:30 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '502c7abe-c18c-40be-a906-0b43bd2fe5b0', - 'x-ms-request-id', - 'e40454bc-0f21-4f5f-aef3-4f5a88063125', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:32 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b27baf3e-372b-4922-a6db-b68489715308', - 'x-ms-request-id', - 'c5ccc062-ebb5-4bd4-96bc-df2ec5b5bf2e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:33 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1d248b10-7f19-4aeb-ab16-f7e528ae5f22', - 'x-ms-request-id', - 'fc3728d7-2e7d-4668-9216-bf9bec65feff', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:36 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7124fc4b-6fda-4c5f-a450-2cb703978464', - 'x-ms-request-id', - '991f7fe6-9fbe-4c18-9e7e-05c4b387763b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:38 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'eba6d943-72f8-4551-b2ee-8cbbc48327fa', - 'x-ms-request-id', - 'b1095e58-6524-4378-8c0b-8a394650521b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:40 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c0ab9d4f-aff5-4f09-be4e-b0b2369666c5', - 'x-ms-request-id', - '59654f9b-b247-447b-b591-962c1143ee27', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:42 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'fc180ebc-d02f-4ec7-b478-0dfb1425f7a4', - 'x-ms-request-id', - 'd567671c-8be5-412a-9b5e-a462c3b81165', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:44 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ec561643-dfb4-4655-88ff-5b88920db1be', - 'x-ms-request-id', - '72cc1d5f-e334-438e-b92b-8e51e2d7246a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:47 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '8a37b62f-defb-4c60-914b-83c96e2780c2', - 'x-ms-request-id', - '3f28e603-d64c-4470-80c4-cea4517e1100', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:48 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '89768717-58c0-4061-a0bd-283629a036b5', - 'x-ms-request-id', - '8849e799-6cac-4fa9-be61-b5bb8f912f53', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:50 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e9c7a64e-db26-4e0a-933d-69f8a57649e1', - 'x-ms-request-id', - 'd7737843-2479-4989-9b72-0eb7dabae99f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:53 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '001dde8c-50f1-4f87-8a71-86e9d8e2e1a2', - 'x-ms-request-id', - 'a1973c06-f654-408f-8534-8a6db27f7241', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:54 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0cdc6b70-6698-49e0-a81d-53222908114a', - 'x-ms-request-id', - 'c8162a0d-ef8f-4520-a3d8-1081adec3519', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:56 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'fe8bae04-fa3a-4164-a5a6-6e29e7c19594', - 'x-ms-request-id', - '2266df6e-28f8-4d3a-aed8-f50ac0662c9d', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:46:59 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '142ae7a0-0a38-41a6-ba9a-39cdd7f6db54', - 'x-ms-request-id', - '763e1d7c-9ed9-4e8a-83c4-6c5ce3fe2685', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:01 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '3baf17ab-28bc-45ea-a9ae-968bc57f4589', - 'x-ms-request-id', - '1449d44f-3efa-452e-a74f-f82872876e67', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:03 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'cbc55d87-9e4f-49ef-95f7-1b18ba045b05', - 'x-ms-request-id', - '25d1df0f-aa45-4886-a568-b0fa0e8fc358', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:05 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6624682d-38e8-49ee-82f5-257cc910f069', - 'x-ms-request-id', - '297edd29-1764-4c93-9599-6849812cf7ac', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:07 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '16950247-2475-4073-beb0-b5aee7c55f33', - 'x-ms-request-id', - 'd223a982-f508-4b93-a336-035c9bf1d31f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:09 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a5492c60-74e6-4b33-ad9f-a58fb237bc00', - 'x-ms-request-id', - '953ec8cd-50e8-4a68-b1d4-e7a90b91853a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:11 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0","deletedDate":1619646371,"scheduledPurgeDate":1627422371,"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/e44268f76ef546be9a2e544dccf30ed9","x5t":"j9NTE7KcMDi1l6IE9L578pmEhQY","cer":"MIIDKDCCAhCgAwIBAgIQX68anSu+TKCaG5vbottnbTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzNjA5WhcNMjIwNDI4MjE0NjA5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7NGSvkOS1UmRm+BJbflj8H4csvDUXKLJeBuJDcS17QMgk+AwXVF/lmhTOBx+q3SolSIsXeuO3R246xg8ao2FavxLP2hFvN+saoj4w7M5WcGCTfYwlWhKj1oXGDY5PIl8PurxVlBD8UNvOC/mAguCLkAhZtw+YkWT2QjWL0IrtCdjbYyXavx2dho82dufyYit3e+8DG1ASlSo3BZy0s48D8B7DML9xA6KOlgNT07a6Nup9p37NOJlSbhrGxzsMTLySvVhLZ6bXfkRG/YplFrGcwdnVGBAQbd9uS1HwAJlVx4AerQBOxuJMJXoSuXM9PgQPgGK1PBzsvfJdL+B4f65VAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBThf30kcegk7Fxov+9gxquUt/WCTjAdBgNVHQ4EFgQU4X99JHHoJOxcaL/vYMarlLf1gk4wDQYJKoZIhvcNAQELBQADggEBAE9xdygTFhjQ+HWyERX31zNe5KJ2g1ktSl4On3nAB6rokwV/R+ImA721NncrDJ6B1f4r+1c/egBcDkrZS47HE+4Eu1rkAuRSnYZrFhOUXAr1IQvOe2i4hl/3UfzFGWTYc/3KPOn5vPdGtoo9sQ6uVZ7tldU464R5tRb0WOsxeeqiBn9aQ2UcOEiDpjNKlyimxmBVvWAObKmf4qvrQlcsoHdEdBrcybJmtNpdcxu0Exar7E4kq//2aF9X1QRNcBBUZfooRMFidi9EupgK0sz5ub1BU4E5pMPVP8VQejfgmR6qMtuIzGZZQZbY0J6nQ6o+RIxyFwokuYQL+K9h3ukH5hc=","attributes":{"enabled":true,"nbf":1619645769,"exp":1651182369,"created":1619646369,"updated":1619646369,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619646300,"updated":1619646300}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f2ceafb5-dc47-4d16-8f7c-e6a663bfe901', - 'x-ms-request-id', - '8a9dec28-8a4f-4d56-8163-b57b41c4d2fc', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:13 GMT', - 'Content-Length', - '2976' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0') - .query(true) - .reply(204, "", [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a2a5ec53-9386-4622-b19a-2fdbc13a3020', - 'x-ms-request-id', - 'a6056c4e-5dfb-4852-bae1-581b6de14055', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:14 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1","deletedDate":1619646434,"scheduledPurgeDate":1627422434,"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","x5t":"j9NTE7KcMDi1l6IE9L578pmEhQY","cer":"MIIDKDCCAhCgAwIBAgIQX68anSu+TKCaG5vbottnbTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzNjA5WhcNMjIwNDI4MjE0NjA5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7NGSvkOS1UmRm+BJbflj8H4csvDUXKLJeBuJDcS17QMgk+AwXVF/lmhTOBx+q3SolSIsXeuO3R246xg8ao2FavxLP2hFvN+saoj4w7M5WcGCTfYwlWhKj1oXGDY5PIl8PurxVlBD8UNvOC/mAguCLkAhZtw+YkWT2QjWL0IrtCdjbYyXavx2dho82dufyYit3e+8DG1ASlSo3BZy0s48D8B7DML9xA6KOlgNT07a6Nup9p37NOJlSbhrGxzsMTLySvVhLZ6bXfkRG/YplFrGcwdnVGBAQbd9uS1HwAJlVx4AerQBOxuJMJXoSuXM9PgQPgGK1PBzsvfJdL+B4f65VAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBThf30kcegk7Fxov+9gxquUt/WCTjAdBgNVHQ4EFgQU4X99JHHoJOxcaL/vYMarlLf1gk4wDQYJKoZIhvcNAQELBQADggEBAE9xdygTFhjQ+HWyERX31zNe5KJ2g1ktSl4On3nAB6rokwV/R+ImA721NncrDJ6B1f4r+1c/egBcDkrZS47HE+4Eu1rkAuRSnYZrFhOUXAr1IQvOe2i4hl/3UfzFGWTYc/3KPOn5vPdGtoo9sQ6uVZ7tldU464R5tRb0WOsxeeqiBn9aQ2UcOEiDpjNKlyimxmBVvWAObKmf4qvrQlcsoHdEdBrcybJmtNpdcxu0Exar7E4kq//2aF9X1QRNcBBUZfooRMFidi9EupgK0sz5ub1BU4E5pMPVP8VQejfgmR6qMtuIzGZZQZbY0J6nQ6o+RIxyFwokuYQL+K9h3ukH5hc=","attributes":{"enabled":true,"nbf":1619645769,"exp":1651182369,"created":1619646370,"updated":1619646370,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":13,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1619646370,"updated":1619646370}}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '70c92291-6dd2-49c7-949d-2ae6bbcad95c', - 'x-ms-request-id', - '555aefe4-9352-4283-911e-2a70a93c1bf4', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:13 GMT', - 'Content-Length', - '2794' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '4b9351fc-0d6f-4d95-9a16-5ae95ea6278c', - 'x-ms-request-id', - '2856a7ac-6bbf-48a1-9559-a69e47e640db', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:14 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b6fb914e-3fdf-4531-a6af-33ffeae301fe', - 'x-ms-request-id', - '6bc5021f-6a3f-487d-bad2-1a98e9ef0885', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:14 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a6c92a0b-05b1-418a-a0bd-9e793660b185', - 'x-ms-request-id', - 'a87be597-352f-4dd4-baab-3c107682d57f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:16 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c0bb6edc-93e6-466f-857b-d8874512ba7f', - 'x-ms-request-id', - '85e1b464-947f-4be1-96e7-d7686497fe8f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:18 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6c0452b5-ec0f-4cdf-8e3d-93155e73edfd', - 'x-ms-request-id', - '8d7fd5bb-629d-4bf5-b4d0-9dc670e8e5d9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:20 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'fdf99780-e776-4ee4-8005-863f135dda7c', - 'x-ms-request-id', - 'c9631b70-b513-42a0-af71-e0fb2456d49c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:23 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '10b29de9-9e63-4a3a-9a53-ec02fa6bf52b', - 'x-ms-request-id', - 'c8abe612-3ec7-4be9-875b-0ae88836363c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:25 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'fac74ea1-4bfb-4a19-9465-f499bd740cce', - 'x-ms-request-id', - '693479a4-9612-49df-97d4-6ba2629ffc55', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:26 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f8474914-027b-447c-bb47-0e00c1d667fc', - 'x-ms-request-id', - '681d8847-caf8-43b4-bc90-c23985a43cd4', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:28 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ff1b4b30-296f-45d8-a1a9-f4bdeb19c3ad', - 'x-ms-request-id', - '5f8f1f96-4691-4e0e-8d00-92f5b1d5104e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:31 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ce92c615-9bed-4f84-86f9-0a76bb962726', - 'x-ms-request-id', - 'dc81e057-5205-48ef-887c-a9b7b4b0f03b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:32 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '42174970-f1b7-416c-b53d-aacf963d550d', - 'x-ms-request-id', - 'c9418be4-f51f-4138-ac90-ea5847519262', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:35 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '22410fdd-e4ee-4e9f-8b74-f2c95c577333', - 'x-ms-request-id', - 'b18dc419-0fad-4fef-a6df-b53b9c208b59', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:37 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6c95a56c-2d97-48e8-83de-04552e695cea', - 'x-ms-request-id', - '29b8e6d0-3156-4f16-a419-47a3c285a1bb', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:39 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd840ed0d-9a1f-46f5-ba84-67d5ce4590af', - 'x-ms-request-id', - 'd49fd370-e5bc-48d0-8dfa-d352c68a85bd', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:40 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '96e82781-ae80-463f-bdb2-b3907a862e6c', - 'x-ms-request-id', - '76a855cc-da09-4dd5-b61e-8c46cafbeea3', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:44 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c1b8a27d-adf0-443c-bc9b-7cb35ed8cc95', - 'x-ms-request-id', - '6f1e8cd0-a449-490a-bbe8-8d5f4232bcb1', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:45 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7021359d-000a-4a30-bd9d-409e62584448', - 'x-ms-request-id', - 'cb6bd502-619b-4d1f-8181-1a9de6959df2', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:48 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd45f619b-8252-4642-97e8-5109546cbad1', - 'x-ms-request-id', - '637a3a7f-19d8-443a-b35b-c27933ada717', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:50 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c022d982-c323-4fda-b2c5-560d33d37ba1', - 'x-ms-request-id', - 'f60204de-a193-45bf-bfdb-f40858d469df', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:51 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '96d42900-a3dd-463c-9fac-16337f51dd0c', - 'x-ms-request-id', - '27a035ca-248f-4ad0-aa83-c51bc9010c0e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:53 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e3bfc552-9068-4975-98fa-036cf03f811e', - 'x-ms-request-id', - '9576a770-4799-41ad-a0ba-debc1809e52b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:47:56 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '4d619ac4-4127-491e-a425-b43acaeb2dce', + '7c740dd0-03a9-4aa5-9a1b-2dcdcc8fdd0e', 'x-ms-request-id', - '0869189a-f923-4c3d-a190-3be67a37fd06', + 'd4648636-acb0-45f5-85f3-90fa3b0dc24d', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -3548,53 +357,19 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:47:57 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:27 GMT', 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '20a420d2-1435-4eb4-a0d3-12d395c7d2a1', - 'x-ms-request-id', - 'e1be31a0-22b5-479c-a5c2-372d5483cce0', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:48:00 GMT' + '1351' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') + .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/') .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/7e38eb9c8b554567aaf9966a7bbc0764","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/7e38eb9c8b554567aaf9966a7bbc0764","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/7e38eb9c8b554567aaf9966a7bbc0764","x5t":"wZ0wGHU5R1v-JiS--_xq3UvH69o","cer":"MIIDKDCCAhCgAwIBAgIQOEWzeNEKQECRONcuNomsIjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwOTEzMTkxNDI3WhcNMjIwOTEzMTkyNDI3WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGWH99Bv5+k4PUfZrR1X6WciS6oG664WwFwuSui+vt6m4y4fASSe6jG8jpB5yuuQfJWTgD0S+/GuHA2iO7+Jkrv57E1+ABdIwADKeuw0SAfjXDnpAGjmSM0CTzNyZaIaTAYZQ4Tj2ZoTeFKgeYJEV4s2kDXuYjRngL+AWFFGbjrQvBQuNghCiwdqQbTODSOnREJDtCNWj7bv1W1+P7EOEcY8wgvssXm8LCq/8hrrdlyMUKUc4nwJJGdWJp3gxZBeZXnma9fV31h6FDlExrvsvwQ3cl7/h7Wkyr9JkXfBH++5IfsI4tbe3wMKVdy+DqySeeYhkegg5K9C2Pw2EFNRmdAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSn6dbzDdWOJX5nnZUjJHIBhlFv5jAdBgNVHQ4EFgQUp+nW8w3VjiV+Z52VIyRyAYZRb+YwDQYJKoZIhvcNAQELBQADggEBAMXZovds+umepDNu7tjz9nG7XW7ZiPXsIWysDpAh+1uh/AyfqjZDeBn0ewQ4JyQIYAtxkPwJ3JD3lTK4ILgqw8VPuAV4jhAkvuIJf2i6ryPdNET+oYJ5pMLR2bdNQ61yLxGeoWGAZykhG303B+pI9Wdml32q282lRciFHxhh42o0rAOVpstoo80wl3yGGbSkazGMeNdgNLYOdImF3ArRPt9N/4+5Eq2ADB0Qo0oeHOjoa5VGxB991GHEBEfxPWKeZzHj1Mzfb8lh6nsCMRI3PsNab03TKg3IYzR0HQDPfksZeTR67oPzBGLNqGRatBkThguvbJ1vnyApe9ux6fAy4V8=","attributes":{"enabled":true,"nbf":1631560467,"exp":1663097067,"created":1631561067,"updated":1631561067,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1631561061,"updated":1631561061}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/pending"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '178', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -3602,13 +377,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - 'f6522066-0811-40b6-b2bb-1f10c6cf8c20', + '34e97bef-2eac-450c-862c-2c555d1de4dd', 'x-ms-request-id', - 'de8649cb-2da0-46ce-9f7a-499864c94aad', + '34a5ee14-7027-4c6b-a817-e97a435fcee0', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -3616,67 +391,37 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:48:02 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:27 GMT', 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '72d982bc-0d7f-458f-9e1a-1cf56f038855', - 'x-ms-request-id', - '5b2db191-e771-435d-9b44-952fe17bc811', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:48:04 GMT' + '2700' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') + .get('/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/') .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '178', + '97', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '8638d4a9-73c5-4b4e-a11d-2b2602e1ed4c', + 'c2ceee84-1b33-46fb-b11b-81cce5815c06', 'x-ms-request-id', - '8b5c92f9-a469-4486-b024-a88cabfee99c', + 'f5ff4558-2adc-49d0-8d7e-568e04868855', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -3684,19 +429,17 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:48:06 GMT' + 'Mon, 13 Sep 2021 19:24:27 GMT' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') + .get('/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/') .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ + .reply(200, {"value":"YmFzZTY0X3BsYWNlaG9sZGVy","contentType":"application/x-pkcs12","id":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/7e38eb9c8b554567aaf9966a7bbc0764","managed":true,"attributes":{"enabled":true,"nbf":1631560467,"exp":1663097067,"created":1631561067,"updated":1631561067,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-0/7e38eb9c8b554567aaf9966a7bbc0764"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '178', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -3704,13 +447,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - 'cbe02ab6-f7b0-4f9e-adf5-90379cba2423', + 'c2ceee84-1b33-46fb-b11b-81cce5815c06', 'x-ms-request-id', - '8e13eba0-236f-4cde-a2cf-b3e68d8f3e25', + '59966bc9-0d85-4275-bc13-790cdeb49d77', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -3718,47 +461,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:48:08 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:27 GMT', 'Content-Length', - '178', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b9283a39-06b7-4fa1-9954-f5cd905968f4', - 'x-ms-request-id', - 'e2ef8627-a957-47f5-a86c-939a40f7d966', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:48:11 GMT' + '4081' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') + .post('/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/import', {"value":"YmFzZTY0X3BsYWNlaG9sZGVy"}) .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1","deletedDate":1619646434,"scheduledPurgeDate":1627422434,"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/1dd4f7f8ef48442ca9a5e972eb5ba895","x5t":"j9NTE7KcMDi1l6IE9L578pmEhQY","cer":"MIIDKDCCAhCgAwIBAgIQX68anSu+TKCaG5vbottnbTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzNjA5WhcNMjIwNDI4MjE0NjA5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7NGSvkOS1UmRm+BJbflj8H4csvDUXKLJeBuJDcS17QMgk+AwXVF/lmhTOBx+q3SolSIsXeuO3R246xg8ao2FavxLP2hFvN+saoj4w7M5WcGCTfYwlWhKj1oXGDY5PIl8PurxVlBD8UNvOC/mAguCLkAhZtw+YkWT2QjWL0IrtCdjbYyXavx2dho82dufyYit3e+8DG1ASlSo3BZy0s48D8B7DML9xA6KOlgNT07a6Nup9p37NOJlSbhrGxzsMTLySvVhLZ6bXfkRG/YplFrGcwdnVGBAQbd9uS1HwAJlVx4AerQBOxuJMJXoSuXM9PgQPgGK1PBzsvfJdL+B4f65VAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBThf30kcegk7Fxov+9gxquUt/WCTjAdBgNVHQ4EFgQU4X99JHHoJOxcaL/vYMarlLf1gk4wDQYJKoZIhvcNAQELBQADggEBAE9xdygTFhjQ+HWyERX31zNe5KJ2g1ktSl4On3nAB6rokwV/R+ImA721NncrDJ6B1f4r+1c/egBcDkrZS47HE+4Eu1rkAuRSnYZrFhOUXAr1IQvOe2i4hl/3UfzFGWTYc/3KPOn5vPdGtoo9sQ6uVZ7tldU464R5tRb0WOsxeeqiBn9aQ2UcOEiDpjNKlyimxmBVvWAObKmf4qvrQlcsoHdEdBrcybJmtNpdcxu0Exar7E4kq//2aF9X1QRNcBBUZfooRMFidi9EupgK0sz5ub1BU4E5pMPVP8VQejfgmR6qMtuIzGZZQZbY0J6nQ6o+RIxyFwokuYQL+K9h3ukH5hc=","attributes":{"enabled":true,"nbf":1619645769,"exp":1651182369,"created":1619646370,"updated":1619646370,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":13,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1619646370,"updated":1619646370}}}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/b008898cd8fd41389b504334bc095326","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/b008898cd8fd41389b504334bc095326","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/b008898cd8fd41389b504334bc095326","x5t":"wZ0wGHU5R1v-JiS--_xq3UvH69o","cer":"MIIDKDCCAhCgAwIBAgIQOEWzeNEKQECRONcuNomsIjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwOTEzMTkxNDI3WhcNMjIwOTEzMTkyNDI3WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGWH99Bv5+k4PUfZrR1X6WciS6oG664WwFwuSui+vt6m4y4fASSe6jG8jpB5yuuQfJWTgD0S+/GuHA2iO7+Jkrv57E1+ABdIwADKeuw0SAfjXDnpAGjmSM0CTzNyZaIaTAYZQ4Tj2ZoTeFKgeYJEV4s2kDXuYjRngL+AWFFGbjrQvBQuNghCiwdqQbTODSOnREJDtCNWj7bv1W1+P7EOEcY8wgvssXm8LCq/8hrrdlyMUKUc4nwJJGdWJp3gxZBeZXnma9fV31h6FDlExrvsvwQ3cl7/h7Wkyr9JkXfBH++5IfsI4tbe3wMKVdy+DqySeeYhkegg5K9C2Pw2EFNRmdAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSn6dbzDdWOJX5nnZUjJHIBhlFv5jAdBgNVHQ4EFgQUp+nW8w3VjiV+Z52VIyRyAYZRb+YwDQYJKoZIhvcNAQELBQADggEBAMXZovds+umepDNu7tjz9nG7XW7ZiPXsIWysDpAh+1uh/AyfqjZDeBn0ewQ4JyQIYAtxkPwJ3JD3lTK4ILgqw8VPuAV4jhAkvuIJf2i6ryPdNET+oYJ5pMLR2bdNQ61yLxGeoWGAZykhG303B+pI9Wdml32q282lRciFHxhh42o0rAOVpstoo80wl3yGGbSkazGMeNdgNLYOdImF3ArRPt9N/4+5Eq2ADB0Qo0oeHOjoa5VGxB991GHEBEfxPWKeZzHj1Mzfb8lh6nsCMRI3PsNab03TKg3IYzR0HQDPfksZeTR67oPzBGLNqGRatBkThguvbJ1vnyApe9ux6fAy4V8=","attributes":{"enabled":true,"nbf":1631560467,"exp":1663097067,"created":1631561068,"updated":1631561068,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":13,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1631561068,"updated":1631561068}}}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -3770,13 +481,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '6e03a91c-a4e5-4fb9-8b74-e6bc4a52144a', + 'f60cacb9-5676-4259-af56-f14e350ca00e', 'x-ms-request-id', - '60897e7a-2545-4574-8324-ede59ad847b2', + 'e08004dc-babc-49de-9018-ffe315764614', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -3784,37 +495,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:48:12 GMT', + 'Mon, 13 Sep 2021 19:24:28 GMT', 'Content-Length', - '2794' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesbase64secretvalue-1') - .query(true) - .reply(204, "", [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '685df236-7867-47dc-9843-889988b1f276', - 'x-ms-request-id', - '38a29ade-4897-44b1-864b-589f4f3d1e7b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:48:13 GMT' + '2527' ]); diff --git a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.js b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.js index 2df6a5fa54da..d3d3d297a14b 100644 --- a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.js +++ b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__merge_and_import_certificates/recording_can_import_a_certificate_from_a_certificates_non_base64_secret_value.js @@ -1,19 +1,19 @@ let nock = require('nock'); -module.exports.hash = "52c4d719413e16cee69a104b93be4c77"; +module.exports.hash = "7034a5a9e147ceca3905c05a9159b4b8"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/create') .query(true) - .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '87', + '97', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -23,13 +23,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '7ead83f2-6297-4c1a-bec6-8843b69fa1c3', + '87572551-cc7c-4a6f-8dfb-bc3e6f769201', 'x-ms-request-id', - '40991503-bfa3-4c68-a69c-2ad978287998', + 'e9b8f97c-1898-4148-a01b-eb6bfd19fff7', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -37,7 +37,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:42:58 GMT' + 'Mon, 13 Sep 2021 19:24:14 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) @@ -59,28 +59,30 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '528188e0-f90a-4263-b307-ab2f06632d00', + '28db88cd-39b2-42fc-9996-b6aeeff3ab00', 'x-ms-ests-server', - '2.1.11654.16 - SCUS ProdSlices', + '2.1.12025.15 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=ArwmQ1W5Q_pEig-aUDD0fZjmR1YbAQAAAOnMG9gOAAAA; expires=Fri, 28-May-2021 21:42:59 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AplITJqbuTlLoudu1bOig-k; expires=Wed, 13-Oct-2021 19:24:14 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr4Q9IvI2BB-vmKZ9IzK4MrkrolIIjvW-SGQRYUW8eYBrM7dDmYxlDvK6BXDfYXWu0fiSoZE4OsmZI-fSwwwvcs4AOrm3wbtsEla4LwJ_aklzMO6A5-_LpWwFrpoMmpLklpI7YDNffg9ePPdjTfFiuWYWoPNWcJPAZc-ZCaQ-04qcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrspSKbrvLReD2zQus5h7EDi0I_Tv1yCukTAZINKFKz4chpd2lPUFu1uc8im5JaRgXZyc3eXdEsvLeSvA2UtMMV_agRBqSqWjBJ2TZ-S5mlB95oXKThh5VffR-5qzTbp22NCF-I3k8ElUAceG2VEsCP1kgPXRzt5matvkYwfmJasogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 21:42:59 GMT', + 'Mon, 13 Sep 2021 19:24:14 GMT', 'Content-Length', '980' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') - .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"tenant_region_scope":"NA","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ 'Cache-Control', 'max-age=86400, private', + 'Content-Length', + '1753', 'Content-Type', 'application/json; charset=utf-8', 'Strict-Transport-Security', @@ -94,35 +96,28 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '9bc96623-8741-4c72-883e-0d2e196f1d01', + '00c55a65-3566-407f-928d-27bafb1e1c01', 'x-ms-ests-server', - '2.1.11654.16 - EUS ProdSlices', + '2.1.12025.15 - EUS ProdSlices', 'Set-Cookie', - 'fpc=ArwmQ1W5Q_pEig-aUDD0fZjmR1YbAQAAAOnMG9gOAAAA; expires=Fri, 28-May-2021 21:42:59 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=As-bytXHgKBGuqxmsjJnlt4; expires=Wed, 13-Oct-2021 19:24:15 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrnmjlJOF8fWdnXTou61G_PzNqkfW0xBBgbdvLjgXkupqamwwIHTeYUH78-NKMoC_mmj_1X5ynu69N5_WGIaUYOhCMk_pf69H5D3TK3M0Vm4O3Dq3qntMEcRIyQXyhe_l6u-mkSee1DNLRegT465eZbLwnpKh3Ybs3fMTJJTqQfgUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr4ZIdG7pD-4Wv4Y2xNPCEAIug4fGVZzr0XzRHzas9foOgoFJKTqC_eACfUmO8FX_T-LskxUjzOk-JnxDfNppyaG29DYCPF3up85OslS_h0RQ_4sorn1V0_rs4jk77W14qM5JtlS9Y4DNLLKE4UEsZG3phP95zZ1c4JLlgUG-zSEAgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 21:42:59 GMT', - 'Content-Length', - '1651' + 'Mon, 13 Sep 2021 19:24:14 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .filteringRequestBody(function (body) { - return body.replace(/client-request-id=[^&]*/g, "client-request-id=client-request-id"); - }) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fvault.azure.net%2F.default%20openid%20profile%20offline_access&grant_type=client_credentials&client-request-id=client-request-id&client_secret=azure_client_secret") - .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=70965b19-4d84-4808-9ea3-7a15089aea93&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '1313', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -134,25 +129,27 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'a26f508e-f64b-4c9e-98b8-dbb7cdf31f01', + '8c5e8880-3b54-49cf-a0fa-4dc38e260101', 'x-ms-ests-server', - '2.1.11654.16 - EUS ProdSlices', + '2.1.12025.15 - EUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=ArwmQ1W5Q_pEig-aUDD0fZjmR1YbAgAAAOnMG9gOAAAA; expires=Fri, 28-May-2021 21:42:59 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AjBVoOQUvI9Ih2PR81IMhHobdhqxAQAAAF6c0dgOAAAA; expires=Wed, 13-Oct-2021 19:24:15 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Wed, 28 Apr 2021 21:42:59 GMT' + 'Mon, 13 Sep 2021 19:24:15 GMT', + 'Content-Length', + '1315' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/create', {"policy":{"key_props":{},"secret_props":{},"x509_props":{"subject":"cn=MyCert","sans":{}},"issuer":{"name":"Self"},"attributes":{}},"attributes":{}}) .query(true) - .reply(202, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ + .reply(202, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6RsyL0ER8zRVYmwsGf7WuwGC00NUq8ihlK7p9jEwsJ66hPR2d+wQaRAq5aJeXjDFMcuVH/40NAebF3UDqZtjJZ+PHx+adoFd14BnTcSip9Bwzq4ICnce7nAZXl9gUndP88amRoh0hNJsrGd0FmEC5BrO3bP5MPQUmtYqcCfUHFxzNQwxMA7tORjQu44zBW8uLfBFz2OpvhUSDr4WNvR7aNOgm9+hlrKGBDRnysXI7JpNtTZ4cF2dajz+FjyW9iqhvGBaKN8wHwCb29qqyAT4nY4wTRJKHmCdXU1hDacHzoTER30Gt9PwHLitaAP4RpRGfW0UoqleteiQ7ul7T2DbQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAB2TZP6jRL7se4d/2lc2oi2I8IXYXB0YUC0cMpLdmPus0RXtGniApZKdiX7fB26xqklRocdDfLXc3wOZdadW6CLQPNLuNwFFY4kA4ZzDSWn8Y9gSbrwQo/W1J5BRxybegbLhEy36cFLUQ7h0NGx9icVF0y7eanhKTybWN5Ngae7O2S2D2Vr1LCxC8RKNwqDSVwXgjb/H4O/C+tkr7zkJ9UvxgOB4yDz8ijtH92/0v18DHwh2iQsiiFFMYefuqo/yCTRw7UqwUpwjlI9z6mZySnU8RXZsqYaVINSeVcqIm5NJVIyumHBo58hlE/rlNqHbaNGQwH12ExBE5K4v73iuAUs=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"d28c7ea84d114f7294b8b9d4e48fe2f5"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -162,91 +159,19 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Expires', '-1', 'Location', - 'https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending?api-version=7.2&request_id=4d3d7f80e15d4b7994aeac13d2cb33e8', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7ead83f2-6297-4c1a-bec6-8843b69fa1c3', - 'x-ms-request-id', - '2aa7a7db-765d-43e1-992a-96542b6bf7fc', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:42:59 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd039e406-8813-4d8f-ab34-5c0b4c9484e7', - 'x-ms-request-id', - 'aa78f23b-23bd-4d0e-a1e6-57f5aa93b226', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:42:59 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', + 'https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending?api-version=7.2&request_id=d28c7ea84d114f7294b8b9d4e48fe2f5', 'Retry-After', '10', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '75b47196-c264-48fa-90ab-c3d07a4f1421', + '87572551-cc7c-4a6f-8dfb-bc3e6f769201', 'x-ms-request-id', - '7b94977d-81ec-4dc8-87f3-c75d89df8fe5', + '8306cb32-1160-42d9-8d07-2e682fad2428', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -254,49 +179,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:00 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:15 GMT', 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e76e1870-6854-44ea-84c0-da7147004572', - 'x-ms-request-id', - 'fdd1ecbe-7199-43f4-abfd-0a6677d14bdd', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:00 GMT' + '1366' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6RsyL0ER8zRVYmwsGf7WuwGC00NUq8ihlK7p9jEwsJ66hPR2d+wQaRAq5aJeXjDFMcuVH/40NAebF3UDqZtjJZ+PHx+adoFd14BnTcSip9Bwzq4ICnce7nAZXl9gUndP88amRoh0hNJsrGd0FmEC5BrO3bP5MPQUmtYqcCfUHFxzNQwxMA7tORjQu44zBW8uLfBFz2OpvhUSDr4WNvR7aNOgm9+hlrKGBDRnysXI7JpNtTZ4cF2dajz+FjyW9iqhvGBaKN8wHwCb29qqyAT4nY4wTRJKHmCdXU1hDacHzoTER30Gt9PwHLitaAP4RpRGfW0UoqleteiQ7ul7T2DbQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAB2TZP6jRL7se4d/2lc2oi2I8IXYXB0YUC0cMpLdmPus0RXtGniApZKdiX7fB26xqklRocdDfLXc3wOZdadW6CLQPNLuNwFFY4kA4ZzDSWn8Y9gSbrwQo/W1J5BRxybegbLhEy36cFLUQ7h0NGx9icVF0y7eanhKTybWN5Ngae7O2S2D2Vr1LCxC8RKNwqDSVwXgjb/H4O/C+tkr7zkJ9UvxgOB4yDz8ijtH92/0v18DHwh2iQsiiFFMYefuqo/yCTRw7UqwUpwjlI9z6mZySnU8RXZsqYaVINSeVcqIm5NJVIyumHBo58hlE/rlNqHbaNGQwH12ExBE5K4v73iuAUs=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"d28c7ea84d114f7294b8b9d4e48fe2f5"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -310,13 +201,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '95105994-a4d3-4897-9f1d-4c758102752b', + '7c2eee17-eb3e-4dbf-be86-35d27d1d7bbb', 'x-ms-request-id', - '3f36f723-b704-47ec-b1af-72532feb030c', + '7e932192-8c7b-4782-b208-fbc89f9d25a3', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -324,49 +215,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:02 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:15 GMT', 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7ce9a40b-0cf5-4b78-8050-7089e2f731f2', - 'x-ms-request-id', - '674d577f-5bd5-476b-a49e-eee444922f25', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:02 GMT' + '1366' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6RsyL0ER8zRVYmwsGf7WuwGC00NUq8ihlK7p9jEwsJ66hPR2d+wQaRAq5aJeXjDFMcuVH/40NAebF3UDqZtjJZ+PHx+adoFd14BnTcSip9Bwzq4ICnce7nAZXl9gUndP88amRoh0hNJsrGd0FmEC5BrO3bP5MPQUmtYqcCfUHFxzNQwxMA7tORjQu44zBW8uLfBFz2OpvhUSDr4WNvR7aNOgm9+hlrKGBDRnysXI7JpNtTZ4cF2dajz+FjyW9iqhvGBaKN8wHwCb29qqyAT4nY4wTRJKHmCdXU1hDacHzoTER30Gt9PwHLitaAP4RpRGfW0UoqleteiQ7ul7T2DbQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAB2TZP6jRL7se4d/2lc2oi2I8IXYXB0YUC0cMpLdmPus0RXtGniApZKdiX7fB26xqklRocdDfLXc3wOZdadW6CLQPNLuNwFFY4kA4ZzDSWn8Y9gSbrwQo/W1J5BRxybegbLhEy36cFLUQ7h0NGx9icVF0y7eanhKTybWN5Ngae7O2S2D2Vr1LCxC8RKNwqDSVwXgjb/H4O/C+tkr7zkJ9UvxgOB4yDz8ijtH92/0v18DHwh2iQsiiFFMYefuqo/yCTRw7UqwUpwjlI9z6mZySnU8RXZsqYaVINSeVcqIm5NJVIyumHBo58hlE/rlNqHbaNGQwH12ExBE5K4v73iuAUs=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"d28c7ea84d114f7294b8b9d4e48fe2f5"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -380,13 +237,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '51f786df-a366-4def-8cc6-17e23703b8a8', + '73c32b1f-34e8-4ecd-a106-c8cc1994bf4a', 'x-ms-request-id', - '5bf4ce62-75cc-4c79-82c4-b57ad5e8cc5f', + '3e3c0f22-5379-43e7-98ef-2e1cf5e37b10', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -394,49 +251,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:04 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:15 GMT', 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0100bf83-ab99-4ee2-a035-08a01b05b6ba', - 'x-ms-request-id', - '11a92bee-5bc4-4c21-bbdb-42db629d3853', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:05 GMT' + '1366' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6RsyL0ER8zRVYmwsGf7WuwGC00NUq8ihlK7p9jEwsJ66hPR2d+wQaRAq5aJeXjDFMcuVH/40NAebF3UDqZtjJZ+PHx+adoFd14BnTcSip9Bwzq4ICnce7nAZXl9gUndP88amRoh0hNJsrGd0FmEC5BrO3bP5MPQUmtYqcCfUHFxzNQwxMA7tORjQu44zBW8uLfBFz2OpvhUSDr4WNvR7aNOgm9+hlrKGBDRnysXI7JpNtTZ4cF2dajz+FjyW9iqhvGBaKN8wHwCb29qqyAT4nY4wTRJKHmCdXU1hDacHzoTER30Gt9PwHLitaAP4RpRGfW0UoqleteiQ7ul7T2DbQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAB2TZP6jRL7se4d/2lc2oi2I8IXYXB0YUC0cMpLdmPus0RXtGniApZKdiX7fB26xqklRocdDfLXc3wOZdadW6CLQPNLuNwFFY4kA4ZzDSWn8Y9gSbrwQo/W1J5BRxybegbLhEy36cFLUQ7h0NGx9icVF0y7eanhKTybWN5Ngae7O2S2D2Vr1LCxC8RKNwqDSVwXgjb/H4O/C+tkr7zkJ9UvxgOB4yDz8ijtH92/0v18DHwh2iQsiiFFMYefuqo/yCTRw7UqwUpwjlI9z6mZySnU8RXZsqYaVINSeVcqIm5NJVIyumHBo58hlE/rlNqHbaNGQwH12ExBE5K4v73iuAUs=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"d28c7ea84d114f7294b8b9d4e48fe2f5"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -450,13 +273,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - 'cde7b782-7867-4c2e-87a4-7471361f7331', + '4c012cad-cf05-4d40-a362-72884a57cd47', 'x-ms-request-id', - '0c9bb18e-eaa2-4862-9e12-ff893e36494e', + '02cc78d3-034e-4c2d-89e4-af629b632fe7', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -464,49 +287,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:06 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:18 GMT', 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '562b74a9-7ff1-464b-8c7d-5afc08b72603', - 'x-ms-request-id', - 'a7a7334e-3e03-48ca-b56d-219ce606f2ca', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:07 GMT' + '1366' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6RsyL0ER8zRVYmwsGf7WuwGC00NUq8ihlK7p9jEwsJ66hPR2d+wQaRAq5aJeXjDFMcuVH/40NAebF3UDqZtjJZ+PHx+adoFd14BnTcSip9Bwzq4ICnce7nAZXl9gUndP88amRoh0hNJsrGd0FmEC5BrO3bP5MPQUmtYqcCfUHFxzNQwxMA7tORjQu44zBW8uLfBFz2OpvhUSDr4WNvR7aNOgm9+hlrKGBDRnysXI7JpNtTZ4cF2dajz+FjyW9iqhvGBaKN8wHwCb29qqyAT4nY4wTRJKHmCdXU1hDacHzoTER30Gt9PwHLitaAP4RpRGfW0UoqleteiQ7ul7T2DbQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAB2TZP6jRL7se4d/2lc2oi2I8IXYXB0YUC0cMpLdmPus0RXtGniApZKdiX7fB26xqklRocdDfLXc3wOZdadW6CLQPNLuNwFFY4kA4ZzDSWn8Y9gSbrwQo/W1J5BRxybegbLhEy36cFLUQ7h0NGx9icVF0y7eanhKTybWN5Ngae7O2S2D2Vr1LCxC8RKNwqDSVwXgjb/H4O/C+tkr7zkJ9UvxgOB4yDz8ijtH92/0v18DHwh2iQsiiFFMYefuqo/yCTRw7UqwUpwjlI9z6mZySnU8RXZsqYaVINSeVcqIm5NJVIyumHBo58hlE/rlNqHbaNGQwH12ExBE5K4v73iuAUs=","cancellation_requested":false,"status":"completed","target":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0","request_id":"d28c7ea84d114f7294b8b9d4e48fe2f5"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -515,18 +304,16 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'application/json; charset=utf-8', 'Expires', '-1', - 'Retry-After', - '10', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - 'c1d28469-b066-44bf-b0b1-ef79e6b59e85', + 'e584bc54-02ce-4bd4-84a1-d90d2844ebe8', 'x-ms-request-id', - '769674c9-c34c-4947-be62-cab1d6afb652', + 'eb52143c-9f9e-4aeb-a3d7-c9562c256348', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -534,49 +321,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:08 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:20 GMT', 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '4d5787ed-d529-4284-93e1-179501ea85fe', - 'x-ms-request-id', - 'c6efdf53-4d1d-47fc-933b-dfea2bcbcc44', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:08 GMT' + '1359' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') + .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/4fb3b4001e1c4c90b8e70d9d315215c9","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/4fb3b4001e1c4c90b8e70d9d315215c9","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/4fb3b4001e1c4c90b8e70d9d315215c9","x5t":"2VbobgumulLRMBX_3Ib-lTZJNgY","cer":"MIIDKDCCAhCgAwIBAgIQA8najpAuTauo296stR/MMjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwOTEzMTkxNDE5WhcNMjIwOTEzMTkyNDE5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjpGzIvQRHzNFVibCwZ/ta7AYLTQ1SryKGUrun2MTCwnrqE9HZ37BBpECrlol5eMMUxy5Uf/jQ0B5sXdQOpm2Mln48fH5p2gV3XgGdNxKKn0HDOrggKdx7ucBleX2BSd0/zxqZGiHSE0mysZ3QWYQLkGs7ds/kw9BSa1ipwJ9QcXHM1DDEwDu05GNC7jjMFby4t8EXPY6m+FRIOvhY29Hto06Cb36GWsoYENGfKxcjsmk21NnhwXZ1qPP4WPJb2KqG8YFoo3zAfAJvb2qrIBPidjjBNEkoeYJ1dTWENpwfOhMRHfQa30/AcuK1oA/hGlEZ9bRSiqV616JDu6XtPYNtAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQIUujzC3kIIiexDLDZ7vKqEiWebjAdBgNVHQ4EFgQUCFLo8wt5CCInsQyw2e7yqhIlnm4wDQYJKoZIhvcNAQELBQADggEBADXxKxvChTGrw78I+lgjTcz4inDOiHELPx4Wc+7ex/De+x/BAsMhkLPk7YtPNoewe542Kjmd0K2ACEzNJ3I6sq3MI4D1/Fwnci5TesoD653Dlk5bzA+tRO8QizJhiJ0CD7Q8aXZ6239NCyB3ZwJAFhkObj70hKtgVx+wsFSKSBx7ET0OvvkWcfSFZbDCvix0NXXEtndvJlQRWzYue9dqxvlR02Mz8OuIeVsAgjzcopqF/60J/OTc9riJzUMf/n4XaDRDorTeYkfxJeL+IKfUykhVVwCp9dqCXuO5qydUFlReHrgeJtuhcDff1n2d/sjQl9ARoUZ94r34JwPOCShzWeA=","attributes":{"enabled":true,"nbf":1631560459,"exp":1663097059,"created":1631561059,"updated":1631561059,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1631561055,"updated":1631561055}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending"}}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -585,18 +338,16 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'application/json; charset=utf-8', 'Expires', '-1', - 'Retry-After', - '10', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '0224f365-0290-486f-bd0c-552989c25167', + '2ef32df5-b4e3-47cc-8ba3-0dc48debcdbd', 'x-ms-request-id', - '7f8747d5-66e9-4205-ac10-be871584d0c0', + '732a7629-5bc9-424b-913c-6bcd07202985', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -604,35 +355,37 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:11 GMT', + 'Mon, 13 Sep 2021 19:24:20 GMT', 'Content-Length', - '1374' + '2720' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') + .get('/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/') .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '154', + '97', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - 'f909ae6a-6afa-4604-aa9a-d3ac893fdc31', + 'f0ea0fa7-d86a-4808-af0f-b48aae7e5346', 'x-ms-request-id', - '0f20b75c-5cfa-4ad2-9d76-457d6facf787', + 'a27ef946-901f-48bc-940b-e3aeef051d07', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -640,13 +393,13 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:10 GMT' + 'Mon, 13 Sep 2021 19:24:20 GMT' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') + .get('/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ + .reply(200, {"value":"YmFzZTY0X3BsYWNlaG9sZGVy","contentType":"application/x-pkcs12","id":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/4fb3b4001e1c4c90b8e70d9d315215c9","managed":true,"attributes":{"enabled":true,"nbf":1631560459,"exp":1663097059,"created":1631561059,"updated":1631561059,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/4fb3b4001e1c4c90b8e70d9d315215c9"}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -655,18 +408,16 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'application/json; charset=utf-8', 'Expires', '-1', - 'Retry-After', - '10', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '0e73f4ec-23ef-4a96-9256-5cd75f705214', + 'f0ea0fa7-d86a-4808-af0f-b48aae7e5346', 'x-ms-request-id', - 'a28bb4da-341c-4155-8646-4961b359ec88', + '686146ee-c1df-449e-b07d-6df2d436f561', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -674,49 +425,15 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:13 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:20 GMT', 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c78742cb-67b8-41bb-8762-d2d593a4fd50', - 'x-ms-request-id', - '2916ebf0-0327-4de6-8935-e6cdcb1bae98', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:13 GMT' + '4089' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') + .post('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/import', {"value":"YmFzZTY0X3BsYWNlaG9sZGVy"}) .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ + .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f71a0eaad434a259632842267a4a87f","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f71a0eaad434a259632842267a4a87f","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f71a0eaad434a259632842267a4a87f","x5t":"2VbobgumulLRMBX_3Ib-lTZJNgY","cer":"MIIDKDCCAhCgAwIBAgIQA8najpAuTauo296stR/MMjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwOTEzMTkxNDE5WhcNMjIwOTEzMTkyNDE5WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjpGzIvQRHzNFVibCwZ/ta7AYLTQ1SryKGUrun2MTCwnrqE9HZ37BBpECrlol5eMMUxy5Uf/jQ0B5sXdQOpm2Mln48fH5p2gV3XgGdNxKKn0HDOrggKdx7ucBleX2BSd0/zxqZGiHSE0mysZ3QWYQLkGs7ds/kw9BSa1ipwJ9QcXHM1DDEwDu05GNC7jjMFby4t8EXPY6m+FRIOvhY29Hto06Cb36GWsoYENGfKxcjsmk21NnhwXZ1qPP4WPJb2KqG8YFoo3zAfAJvb2qrIBPidjjBNEkoeYJ1dTWENpwfOhMRHfQa30/AcuK1oA/hGlEZ9bRSiqV616JDu6XtPYNtAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQIUujzC3kIIiexDLDZ7vKqEiWebjAdBgNVHQ4EFgQUCFLo8wt5CCInsQyw2e7yqhIlnm4wDQYJKoZIhvcNAQELBQADggEBADXxKxvChTGrw78I+lgjTcz4inDOiHELPx4Wc+7ex/De+x/BAsMhkLPk7YtPNoewe542Kjmd0K2ACEzNJ3I6sq3MI4D1/Fwnci5TesoD653Dlk5bzA+tRO8QizJhiJ0CD7Q8aXZ6239NCyB3ZwJAFhkObj70hKtgVx+wsFSKSBx7ET0OvvkWcfSFZbDCvix0NXXEtndvJlQRWzYue9dqxvlR02Mz8OuIeVsAgjzcopqF/60J/OTc9riJzUMf/n4XaDRDorTeYkfxJeL+IKfUykhVVwCp9dqCXuO5qydUFlReHrgeJtuhcDff1n2d/sjQl9ARoUZ94r34JwPOCShzWeA=","attributes":{"enabled":true,"nbf":1631560459,"exp":1663097059,"created":1631561060,"updated":1631561060,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":13,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1631561060,"updated":1631561060}}}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -725,18 +442,16 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'application/json; charset=utf-8', 'Expires', '-1', - 'Retry-After', - '10', 'x-ms-keyvault-region', 'eastus', 'x-ms-client-request-id', - '752cd17c-5f48-45de-9d6b-dbf4bf37af53', + '66e4099c-b34f-4195-9ec3-9d95367f4e5c', 'x-ms-request-id', - 'ce46190e-fc51-4d86-9062-32604a748072', + '5a06b778-2350-4a5a-9748-4fd95cf5e625', 'x-ms-keyvault-service-version', - '1.2.265.0', + '1.9.79.2', 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', + 'conn_type=Ipv4;addr=52.250.57.79;act_addr_fam=InterNetwork;', 'X-Powered-By', 'ASP.NET', 'Strict-Transport-Security', @@ -744,2499 +459,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 28 Apr 2021 21:43:14 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', + 'Mon, 13 Sep 2021 19:24:20 GMT', 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ecd117f4-0abb-4d97-a15a-b8e07f13abcb', - 'x-ms-request-id', - '0ca6a4ae-1fcf-4550-a484-e32f96bd741d', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:15 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'bb431c65-0dfb-4bc8-bac9-5e85e3e881d5', - 'x-ms-request-id', - 'a25bfd1e-67d0-4134-85e4-f572f70e0a20', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:16 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '41659e5c-2356-4a26-b9ed-ee12ab1646ae', - 'x-ms-request-id', - '33920258-c136-4b8e-889a-a4a5524df4da', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:17 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b69b4e69-ed60-4e72-a56f-5fc18646d204', - 'x-ms-request-id', - '83413b8f-e669-4532-9339-218f3d51eb5b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:19 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '62b3ee42-9171-4498-926a-fdadf0c97037', - 'x-ms-request-id', - 'ec5d8e3c-d0a9-4358-a796-18280fbd044c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:20 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '3dc0bb55-fab5-423b-b0dc-fb6a88cfbe1e', - 'x-ms-request-id', - 'e1e63e87-d7b1-4672-8a9b-a0b191e011e8', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:21 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '82665985-d66b-4eef-b007-bc1e1fa5509c', - 'x-ms-request-id', - 'cc94981f-335a-441c-a551-2ed65dc45403', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:21 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a9075ef4-1586-4316-867b-f978e2b41cfc', - 'x-ms-request-id', - '3817a93e-4cf4-460e-9eac-5fb035d29cbe', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:23 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '80e295f8-ddb4-4956-ba6b-1fef32ca12b1', - 'x-ms-request-id', - '10cdbc2b-fc22-421a-b725-6821222eb250', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:23 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e175d609-b681-4c84-834f-ff14bf120c47', - 'x-ms-request-id', - 'a27b2959-8267-4d78-876b-36d1e1138369', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:24 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '19f245ef-995f-4f78-a1d9-222716e01b06', - 'x-ms-request-id', - '26772cbd-fb44-4fa3-a688-ea1da8115cf8', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:25 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5ac5bdef-7a13-418c-94ff-c21cc92f3226', - 'x-ms-request-id', - 'd7b99e22-59fa-4d3b-8765-d874ed46539f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:27 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1fc50655-2643-4337-80ca-859b09a5d79e', - 'x-ms-request-id', - '0d2916ec-47fd-423a-adea-ff60faf3c570', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:28 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0afd9158-41d4-4eeb-9b0d-5842309531ac', - 'x-ms-request-id', - '7b653ef5-2b0a-49f6-8a78-f8e546e827cf', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:30 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f794f6db-76c8-48b2-bc89-36996d0ccc0b', - 'x-ms-request-id', - '29418158-1008-4bbf-b21c-dfd0feccc01c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:30 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'acf58dfa-03ef-4116-b692-3e8c70dcee81', - 'x-ms-request-id', - 'adac5a5c-5ee4-4a1a-9567-c06ee5e00080', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:31 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b73d2501-aa04-4999-a751-84d7fe37963b', - 'x-ms-request-id', - 'e49c4b9e-1817-4e21-bcb7-b84989ac3ff6', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:32 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f4a9ebe4-7d34-4b8f-8b71-86f3e30dcbb9', - 'x-ms-request-id', - '4cdefb4c-0614-4ee9-9bca-045616bee57f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:34 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '154', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '1674c9d8-58be-4e49-9eef-77fa56ceafdb', - 'x-ms-request-id', - '94042902-e5a8-41d5-ac98-0e9971580ee7', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:34 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'Retry-After', - '10', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c47f7f0c-3735-4045-bfb6-939d9b4515e1', - 'x-ms-request-id', - '79195608-cf98-45b8-859e-8a40cc3afca0', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:36 GMT', - 'Content-Length', - '1374' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135","deletedDate":1619646113,"scheduledPurgeDate":1627422113,"id":"https://keyvault_name.vault.azure.net/certificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135/dbfd29f48ad54b3eaa060965e487d503","kid":"https://keyvault_name.vault.azure.net/keys/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135/dbfd29f48ad54b3eaa060965e487d503","sid":"https://keyvault_name.vault.azure.net/secrets/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135/dbfd29f48ad54b3eaa060965e487d503","x5t":"WTGsg_FDpY1m2L8p-r-Alo6QTGw","cer":"MIIDKDCCAhCgAwIBAgIQJY8DuWdmS1iDmpy/61Ek6TANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzMDIxWhcNMjIwNDI4MjE0MDIxWjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8tyiJk0zYRQIqfOw9l9niE5/f7OVAulVC0CWIIuZyL0nl1hWlqXCbTmvd2GpYIu7XZmE2D9S5hoQAw8nib5quQXklJbghl1ScqVTKjENa5VgWARPdY8j36BX0B+iv0kLcbeqIzcn5DIHeOnDCvmSu7fLAU+MiygZwtBBd979pNEVhndqGDDCOptW7lv11k7gY1j/HLh8zp6aeFzsgzj/IAwCda/82TtO65zageSqkFzF7bbhoniwYeJLAB0c0PS8sG4Y9cuU99AIOpcWDfRGK5+CqK7qkV9+OGi4NbVdSkRAZExFr4i6w0T8h0V4notDh0XZUveZuiWyUd9dajGCtAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS04Okd5dXgKcsLc+niGn1PVm5hqjAdBgNVHQ4EFgQUtODpHeXV4CnLC3Pp4hp9T1ZuYaowDQYJKoZIhvcNAQELBQADggEBABgKjkIyvBUtZiOAcLcq+/An5np8MfEPBk6u6/IjlmhNZPw2iNukRJb2+uxVdI330XXV1RF2OMasSy97JEDvyfQ6u5cmTjiIKZ8rK3k40LYIElwN3Cc23Hs0pMfAz/mh57SPI89QvTi3wfk8Eov3bJBDdwMCnfB0QSUBhum/IOQyv++kBqqTb24VN/Ws5XlOuzfPJJuIWBpMBcB63i9InkJAfOkv148ZUKk8ZTSFgGFP2BipYEnFXTjf/kB/zOZwpbyPeik8ov71FzpuU02XKulvi8V04FFGKRcBFtj9edObdre3CWXLOeTINiaHyDnmJwQB7U0ni7dspeoSdi2hDkI=","attributes":{"enabled":true,"nbf":1619645421,"exp":1651182021,"created":1619646021,"updated":1619646021,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619645930,"updated":1619645930}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c4175f24-d2a3-4ac8-9acf-b7073d858900', - 'x-ms-request-id', - 'dd955bf6-7b10-49de-bcb5-d4b109f9213e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:36 GMT', - 'Content-Length', - '2832' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedcertificates/lroRecoverCertificateName-canresumefromastoppedpoller-5397121714514135') - .query(true) - .reply(204, "", [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0da9ce10-4fcb-46ca-b157-acd8e3c6ae17', - 'x-ms-request-id', - '25dac034-a887-4bd9-b6ec-a3215b6ac1b9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:37 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApoyAjbyccefJTky58ux0ZY218vW4TFCnokzNBQw6xYGAFmVm6YCmj6w16iFFcLgbUeG6zzuz8nSms5vRI21gVnBR/jNbukeLs9Hgrd6JqAObjIvB6XepfbB3j5sJrbxASq3pkcVBHpyuOSd9tg/EZIbjw3Ygm8uEjruAe4gGgUFPtgSmgTsxXUkHZcRe5TwQUMdvMUFRwSn8rc23Gfxv6j3fDB08QmPSKhOoJjXT1kI9nA9l1kpyEmv9chCE4Cl7H27Crel3vK96Qb4A/UUnXTHMfqCc4z1GayXsUw8wzwqJamjKClkpMYegSt8kWM9M2Ptz/Tr31kWGk1EVgRfUlQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAF80JndNLkbWGQssaDao1lYjHNHCsNdlzxBJUlaUboXjrHfAyxIBOwl32w2bU8a3ekZuYY1vd8Hw5n1O02e06376cIJIxVzDLiavNZ0JhpOMXDPZKXMGxEtAplQaa6ctaRnv352Ost9gJmv0CuhkDZ8fHmGfl0wqevqCx+CbRhRDGm7o3umloAQGMJKazNbVNUzyiAi04o73cjTe821osPu7dKN29gxDzy2P4syKnwTm2kjt9kOhJb1GTrb244SmlDmUkF33pbhyJFcvfrcaftShniyLnm9A23EtiqpFPcndm8FSyO8+Ag3fyxpTwzBaqYnDrSVHtSx8fOHHpCylCbI=","cancellation_requested":false,"status":"completed","target":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0","request_id":"4d3d7f80e15d4b7994aeac13d2cb33e8"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'aa1906fd-4cbf-43f8-89b1-c910266d513d', - 'x-ms-request-id', - '4374319f-cfa3-4ddc-a642-576becc0e0cf', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:38 GMT', - 'Content-Length', - '1375' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/') - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","x5t":"1ZdlBt7u07PgctY-tmJMFgSjyCA","cer":"MIIDKDCCAhCgAwIBAgIQML1o1Mx9SlaJuFYL9gcDtjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzMzM2WhcNMjIwNDI4MjE0MzM2WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmjICNvJxx58lOTLny7HRljbXy9bhMUKeiTM0FDDrFgYAWZWbpgKaPrDXqIUVwuBtR4brPO7PydKazm9EjbWBWcFH+M1u6R4uz0eCt3omoA5uMi8Hpd6l9sHePmwmtvEBKremRxUEenK45J322D8RkhuPDdiCby4SOu4B7iAaBQU+2BKaBOzFdSQdlxF7lPBBQx28xQVHBKfytzbcZ/G/qPd8MHTxCY9IqE6gmNdPWQj2cD2XWSnISa/1yEITgKXsfbsKt6Xe8r3pBvgD9RSddMcx+oJzjPUZrJexTDzDPColqaMoKWSkxh6BK3yRYz0zY+3P9OvfWRYaTURWBF9SVAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSyotVhYcLkCbduuQ9/tTiYgYLz+DAdBgNVHQ4EFgQUsqLVYWHC5Am3brkPf7U4mIGC8/gwDQYJKoZIhvcNAQELBQADggEBADOlEsvd0ob48dX1xFA6HSeTCC5IQxFWqBz3FoYYd9cq8IzHRiNfrHIxrwPRW1OsDMmDvx/rqUWaSFmMitgBseS4w6byVaTusA4JA+8R6L9j3ZCgwK2YHxY8rarGHuIzHYoFm4pbQicgtk2kM0atS6UFOLIhnRK2APxjTDbjdNgBmhFiZrM+Y5y4tVCkILtbRVTfik5HxPsibQYyXYmYWSKL61ByhuS6B2Mmy6ouIMxme5kn4fN7VpUWK4FrOhZVtPlQxa4V+7Hi07U99D0xTtbCR3+cNBC8QEAJYw1h/zeQ1hfUw8P8hzk0t1oFU1+XrVPM3MSDAYL3Z/1X8xmKI/U=","attributes":{"enabled":true,"nbf":1619645616,"exp":1651182216,"created":1619646216,"updated":1619646216,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619646180,"updated":1619646180}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'f4f12429-a1fa-44e4-8507-ca7e97c098dd', - 'x-ms-request-id', - '572f8fd5-81c0-476e-85de-a1f01fab1684', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:38 GMT', - 'Content-Length', - '2760' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/') - .query(true) - .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '87', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'WWW-Authenticate', - 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'dbd23b1b-533c-4426-bd0e-95076686b22a', - 'x-ms-request-id', - 'da1c0032-747f-4037-946b-dd8347a64eff', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:38 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/') - .query(true) - .reply(200, {"value":"MIIKOAIBAzCCCfQGCSqGSIb3DQEHAaCCCeUEggnhMIIJ3TCCBhYGCSqGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAgvBRtWk7WWNAICB9AEggTYFIoBu9sVhG9M1eytFpQFbzZEMe9zmueDGOP+PW6XQs7Jk4lDzxD6ZZZwD+BNF5luxPZuOZF6hn6cqiz0EHN+B57MNL4NkRCfdNFd9n6C99tSUD872+BpJfjSHGOpyAViS1jvI8bG0Rth0WDQC7rbH0xqhhrA5z993MqJdvpcOo13QXi5jFgrkGjxd18MWPtlYyO1Du/8D1pEd9+TwxD5n3xOfkdHuqGwROP1KRqj4C0IKFJW60DkWwQuIJuY+MJDNz207/aAwRCDCoY7gjH+NDgMXc/gPFxjd7C2SAGXB2OFnI+/Hyh1NA6OP7NdJ0xDdU3lFJYwo1jgOdVMnesFLiog5pGKJeE1J8v2RkUSp3yD3HyJsj2V1JXnv2BLmXgZJIrNsP9n6VVRLiiBR8P6lTjGMsEet9K3CyqAo25Kytb70rMj+R0PKjVT8MwGIfWgPhM++X63z0fS1SsB057Vl/FvvxHDxETlDaJZeSWO6M+rXMOoBuaZcyqH046M9HYvjZgjpNxySeUy0iDKAGP7ehc3Achb88DbwVBN8gxUeJ3EtU+9TLftU6vGf0T2UcYOhACmcqdYlj29kdPUwKCVEdjgkzpLnUDeOH7stE1qfaHgDAGpT8B/6wAIgw9JZklY9/cuSXoXCX1QEuAGPF3F9yNP6naeLa/yUSG1RR32mGyBGpJsyIl0LYo54O21/XvIe2JZP+4ACpA63eehtMGctnmTFiXCuA5VRnKziRO0mnv4+OAyYEmxqPoqHD1Bg6hAF9F7N1KcnRS3XSutYk6HabjaGt2SO8OdXgR0It5xy4C0QQR4mgrqmT3QBMeKPGZZfUjCtxMq+x0ol7TBpsWzjh0/p9gBMYh0LOqnkN9SWJhoIxj0PE6T74FriFGwWA5wikJEcQ21w3hVCHWoiMZHB+W65UUkLpfc2had+f+DVQ/Dn7V21VktTtff9hegDB9L6sAavyF4/WeYMs5LPb1OS8nz0EaokMHr5JJfMLAUl8PKX3Qip9nP3iVkph9gJLMk+kOvNEZS8SBfc/1yhmtzIl4MCuCwP1BDrbyvhbLYG8ZD52tFc9NXSCTFWHfKKsRVvcvfioBFydw4PSfLHYx8wzxGpb9rRFTUHeQp4gA8hsFifzABgxcVFB8FU4+YBFl9bz4trndDYx43Fdo+zzW02CwR7qDUnC0FQFuwed/omyD+bB5M8ZWTrSyrxPTR/5aENxdvADCcE7c32uBnuL9IGduepcxV0We4j+GkjEdmJ4IGFX68Zi0GEWoi193vMA5UzotPuXZZcQKg3sxutPcGYG8l6kLnjgdZD/jwRbBhSCDYMmLp3PLUyCqp0ej7ofUMYvIf+EDstGfvOZ1CjthHhN0Sf5x2r+mXvkL6fo7Pv0opXf1NM2ZEQBuIXk8iTggnJVbOZn6fEepJ9if61UWDXZR/Alsiz8bFUA5XB4dTTJu/3Mo8S4K0qKv6kn/7ehn6y8UkdnsO8PdXag6H/0rSzU60QyJDnO9UH2JJLf1U3c5rvrP3mO9pOw3tec28kiyinBmUTYRbi337lV4tmR5VYQLZzkF//FxsKLxZIy517X3/GZ/evkSsUEc3dv8bLBanOMHX48nlyWGyeOsql2mK/zCv82juMZZ+vgcXq/VQYLQnCCTRBATxEzGB6TATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGQAMwAxADkAYQAzAGQAYwAtADMANQBlAGUALQA0ADMANQA4AC0AYgBiAGIANgAtADUANAA0AGEAMwAyAGEAOABiADgANAA4MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIDvwYJKoZIhvcNAQcGoIIDsDCCA6wCAQAwggOlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAgr82bNsZUr5QICB9CAggN48bbIGSLA1cpMJIQHIXYIAqCyCajKZLeh4GH5oWx4wcVCt1AjsasPuAkR0DXx98zycqxnpVHoEf9g+GgAiMS8XKR1V4XohNjMj1RPrTMKz7hHPv+YyTU1g7js5/jxQct2LjSWNfdivfarV630S80jKBFp8XliOQLt1JmxyCBIIkvWYuuJt6LsgksmHrsO6GL94DsYIc3oaz4FNfvjrov54RjSWCHh74/Y0WJgy3LDm54BxHS4Of/jZz6cDW6p58ZteiM06vjlQm8VVUXTy/LnTHV7/YetEL2gClkrWJQkr/QbeUQJUZPJySqNYWxGj8ExhDwv1SEy9ZYkoerNaHRyKwm66DJ2YSjfbVHYCM6Ug6LMh7XzUfW6KeAFpeLSzTLyQf7dPjbMEtbdU43AdKx3CSmS3G4441OsfiEfsaLlrhtDJIKEVflvrlm9qbzKtd1ODt+NaXAOjhBe/7Rduf8rBgYZa99HH7AUKcChsPTFDGIVGtvTgOsjfOgJB4yQb5xLaAB0Jbi/LaMmRI39doOAo2/olOBKJxMR8HNSIOY089c5fRpt3s62WyZY3p1bIiqig3uuBt3dfZCXXx6uc/8TYxWrSBOY59waoDwvjRRUXBSJt/fr5fSu7k3M9lE6OhZOdKP0i+AXaUFmCkhSG+NN/jN1OQGNrT+OEG9/Xe6x2rn3B3bqvLNmLE8VLsbrk9JyAjNbh93P34Tmc1TWQ6c1jKrQNvZZla1z/lNOxWnF3OnjjJ79GiCyqEcvGGWMir1y6KYcHMsvixNZlOVcdCGml+uU6o1aCeUyG1IotoeU3Hu+6GfjLtUOFlyWiUirxqyIb9YNljM+ULq8bw4jkgVsx+q+1ZXDezJIvVAWpM8oWOm7SP1WpVvR5HnZ1uakCcIXvhcS5x1KrG5vEw/dDKF9MSGHFSBpI0a9vTIlyD+k1JA9yqJECf/uM748UZXDWJIkjWlw2wwwnVbbabUeYQloDuV8c0zglkfayrYcH4CnPbo/KpagKqZHSxVqryMgjrAqNp28TD4pIl4KKxBKHKhRWH1edntOsEBhSwGek6FN6tRTk1BcBrl2CwNHtrtlc33WRXaHWh267KG4cJ9oU4Nx6J3sEfyPaRk4gSqtQis1wZFe7GphI0KZfWnGetmCjb/Nl5+84bZTyGiJz/RnLIEdwr0VA5k0s/pnMDswHzAHBgUrDgMCGgQUSmL6+pTjodRjRq6ng5vsTnmaXnAEFJ/LZuzLG7Bgr8Pt4ZBr+IT3hU1kAgIH0A==","contentType":"application/x-pkcs12","id":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","managed":true,"attributes":{"enabled":true,"nbf":1619645616,"exp":1651182216,"created":1619646216,"updated":1619646216,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34"}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'dbd23b1b-533c-4426-bd0e-95076686b22a', - 'x-ms-request-id', - 'd143b8e7-03f5-4ba3-aafc-37e27f3591ad', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:38 GMT', - 'Content-Length', - '4105' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/import', {"value":"MIIKOAIBAzCCCfQGCSqGSIb3DQEHAaCCCeUEggnhMIIJ3TCCBhYGCSqGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAgvBRtWk7WWNAICB9AEggTYFIoBu9sVhG9M1eytFpQFbzZEMe9zmueDGOP+PW6XQs7Jk4lDzxD6ZZZwD+BNF5luxPZuOZF6hn6cqiz0EHN+B57MNL4NkRCfdNFd9n6C99tSUD872+BpJfjSHGOpyAViS1jvI8bG0Rth0WDQC7rbH0xqhhrA5z993MqJdvpcOo13QXi5jFgrkGjxd18MWPtlYyO1Du/8D1pEd9+TwxD5n3xOfkdHuqGwROP1KRqj4C0IKFJW60DkWwQuIJuY+MJDNz207/aAwRCDCoY7gjH+NDgMXc/gPFxjd7C2SAGXB2OFnI+/Hyh1NA6OP7NdJ0xDdU3lFJYwo1jgOdVMnesFLiog5pGKJeE1J8v2RkUSp3yD3HyJsj2V1JXnv2BLmXgZJIrNsP9n6VVRLiiBR8P6lTjGMsEet9K3CyqAo25Kytb70rMj+R0PKjVT8MwGIfWgPhM++X63z0fS1SsB057Vl/FvvxHDxETlDaJZeSWO6M+rXMOoBuaZcyqH046M9HYvjZgjpNxySeUy0iDKAGP7ehc3Achb88DbwVBN8gxUeJ3EtU+9TLftU6vGf0T2UcYOhACmcqdYlj29kdPUwKCVEdjgkzpLnUDeOH7stE1qfaHgDAGpT8B/6wAIgw9JZklY9/cuSXoXCX1QEuAGPF3F9yNP6naeLa/yUSG1RR32mGyBGpJsyIl0LYo54O21/XvIe2JZP+4ACpA63eehtMGctnmTFiXCuA5VRnKziRO0mnv4+OAyYEmxqPoqHD1Bg6hAF9F7N1KcnRS3XSutYk6HabjaGt2SO8OdXgR0It5xy4C0QQR4mgrqmT3QBMeKPGZZfUjCtxMq+x0ol7TBpsWzjh0/p9gBMYh0LOqnkN9SWJhoIxj0PE6T74FriFGwWA5wikJEcQ21w3hVCHWoiMZHB+W65UUkLpfc2had+f+DVQ/Dn7V21VktTtff9hegDB9L6sAavyF4/WeYMs5LPb1OS8nz0EaokMHr5JJfMLAUl8PKX3Qip9nP3iVkph9gJLMk+kOvNEZS8SBfc/1yhmtzIl4MCuCwP1BDrbyvhbLYG8ZD52tFc9NXSCTFWHfKKsRVvcvfioBFydw4PSfLHYx8wzxGpb9rRFTUHeQp4gA8hsFifzABgxcVFB8FU4+YBFl9bz4trndDYx43Fdo+zzW02CwR7qDUnC0FQFuwed/omyD+bB5M8ZWTrSyrxPTR/5aENxdvADCcE7c32uBnuL9IGduepcxV0We4j+GkjEdmJ4IGFX68Zi0GEWoi193vMA5UzotPuXZZcQKg3sxutPcGYG8l6kLnjgdZD/jwRbBhSCDYMmLp3PLUyCqp0ej7ofUMYvIf+EDstGfvOZ1CjthHhN0Sf5x2r+mXvkL6fo7Pv0opXf1NM2ZEQBuIXk8iTggnJVbOZn6fEepJ9if61UWDXZR/Alsiz8bFUA5XB4dTTJu/3Mo8S4K0qKv6kn/7ehn6y8UkdnsO8PdXag6H/0rSzU60QyJDnO9UH2JJLf1U3c5rvrP3mO9pOw3tec28kiyinBmUTYRbi337lV4tmR5VYQLZzkF//FxsKLxZIy517X3/GZ/evkSsUEc3dv8bLBanOMHX48nlyWGyeOsql2mK/zCv82juMZZ+vgcXq/VQYLQnCCTRBATxEzGB6TATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGQAMwAxADkAYQAzAGQAYwAtADMANQBlAGUALQA0ADMANQA4AC0AYgBiAGIANgAtADUANAA0AGEAMwAyAGEAOABiADgANAA4MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIDvwYJKoZIhvcNAQcGoIIDsDCCA6wCAQAwggOlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAgr82bNsZUr5QICB9CAggN48bbIGSLA1cpMJIQHIXYIAqCyCajKZLeh4GH5oWx4wcVCt1AjsasPuAkR0DXx98zycqxnpVHoEf9g+GgAiMS8XKR1V4XohNjMj1RPrTMKz7hHPv+YyTU1g7js5/jxQct2LjSWNfdivfarV630S80jKBFp8XliOQLt1JmxyCBIIkvWYuuJt6LsgksmHrsO6GL94DsYIc3oaz4FNfvjrov54RjSWCHh74/Y0WJgy3LDm54BxHS4Of/jZz6cDW6p58ZteiM06vjlQm8VVUXTy/LnTHV7/YetEL2gClkrWJQkr/QbeUQJUZPJySqNYWxGj8ExhDwv1SEy9ZYkoerNaHRyKwm66DJ2YSjfbVHYCM6Ug6LMh7XzUfW6KeAFpeLSzTLyQf7dPjbMEtbdU43AdKx3CSmS3G4441OsfiEfsaLlrhtDJIKEVflvrlm9qbzKtd1ODt+NaXAOjhBe/7Rduf8rBgYZa99HH7AUKcChsPTFDGIVGtvTgOsjfOgJB4yQb5xLaAB0Jbi/LaMmRI39doOAo2/olOBKJxMR8HNSIOY089c5fRpt3s62WyZY3p1bIiqig3uuBt3dfZCXXx6uc/8TYxWrSBOY59waoDwvjRRUXBSJt/fr5fSu7k3M9lE6OhZOdKP0i+AXaUFmCkhSG+NN/jN1OQGNrT+OEG9/Xe6x2rn3B3bqvLNmLE8VLsbrk9JyAjNbh93P34Tmc1TWQ6c1jKrQNvZZla1z/lNOxWnF3OnjjJ79GiCyqEcvGGWMir1y6KYcHMsvixNZlOVcdCGml+uU6o1aCeUyG1IotoeU3Hu+6GfjLtUOFlyWiUirxqyIb9YNljM+ULq8bw4jkgVsx+q+1ZXDezJIvVAWpM8oWOm7SP1WpVvR5HnZ1uakCcIXvhcS5x1KrG5vEw/dDKF9MSGHFSBpI0a9vTIlyD+k1JA9yqJECf/uM748UZXDWJIkjWlw2wwwnVbbabUeYQloDuV8c0zglkfayrYcH4CnPbo/KpagKqZHSxVqryMgjrAqNp28TD4pIl4KKxBKHKhRWH1edntOsEBhSwGek6FN6tRTk1BcBrl2CwNHtrtlc33WRXaHWh267KG4cJ9oU4Nx6J3sEfyPaRk4gSqtQis1wZFe7GphI0KZfWnGetmCjb/Nl5+84bZTyGiJz/RnLIEdwr0VA5k0s/pnMDswHzAHBgUrDgMCGgQUSmL6+pTjodRjRq6ng5vsTnmaXnAEFJ/LZuzLG7Bgr8Pt4ZBr+IT3hU1kAgIH0A=="}) - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","x5t":"1ZdlBt7u07PgctY-tmJMFgSjyCA","cer":"MIIDKDCCAhCgAwIBAgIQML1o1Mx9SlaJuFYL9gcDtjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzMzM2WhcNMjIwNDI4MjE0MzM2WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmjICNvJxx58lOTLny7HRljbXy9bhMUKeiTM0FDDrFgYAWZWbpgKaPrDXqIUVwuBtR4brPO7PydKazm9EjbWBWcFH+M1u6R4uz0eCt3omoA5uMi8Hpd6l9sHePmwmtvEBKremRxUEenK45J322D8RkhuPDdiCby4SOu4B7iAaBQU+2BKaBOzFdSQdlxF7lPBBQx28xQVHBKfytzbcZ/G/qPd8MHTxCY9IqE6gmNdPWQj2cD2XWSnISa/1yEITgKXsfbsKt6Xe8r3pBvgD9RSddMcx+oJzjPUZrJexTDzDPColqaMoKWSkxh6BK3yRYz0zY+3P9OvfWRYaTURWBF9SVAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSyotVhYcLkCbduuQ9/tTiYgYLz+DAdBgNVHQ4EFgQUsqLVYWHC5Am3brkPf7U4mIGC8/gwDQYJKoZIhvcNAQELBQADggEBADOlEsvd0ob48dX1xFA6HSeTCC5IQxFWqBz3FoYYd9cq8IzHRiNfrHIxrwPRW1OsDMmDvx/rqUWaSFmMitgBseS4w6byVaTusA4JA+8R6L9j3ZCgwK2YHxY8rarGHuIzHYoFm4pbQicgtk2kM0atS6UFOLIhnRK2APxjTDbjdNgBmhFiZrM+Y5y4tVCkILtbRVTfik5HxPsibQYyXYmYWSKL61ByhuS6B2Mmy6ouIMxme5kn4fN7VpUWK4FrOhZVtPlQxa4V+7Hi07U99D0xTtbCR3+cNBC8QEAJYw1h/zeQ1hfUw8P8hzk0t1oFU1+XrVPM3MSDAYL3Z/1X8xmKI/U=","attributes":{"enabled":true,"nbf":1619645616,"exp":1651182216,"created":1619646219,"updated":1619646219,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":13,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1619646219,"updated":1619646219}}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b228cf29-fe7f-4456-9d44-2fb5099ccb45', - 'x-ms-request-id', - '0d3223aa-28a2-4edf-aaa9-d70b012dcf1b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:39 GMT', - 'Content-Length', - '2575' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0","deletedDate":1619646219,"scheduledPurgeDate":1627422219,"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","x5t":"1ZdlBt7u07PgctY-tmJMFgSjyCA","cer":"MIIDKDCCAhCgAwIBAgIQML1o1Mx9SlaJuFYL9gcDtjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzMzM2WhcNMjIwNDI4MjE0MzM2WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmjICNvJxx58lOTLny7HRljbXy9bhMUKeiTM0FDDrFgYAWZWbpgKaPrDXqIUVwuBtR4brPO7PydKazm9EjbWBWcFH+M1u6R4uz0eCt3omoA5uMi8Hpd6l9sHePmwmtvEBKremRxUEenK45J322D8RkhuPDdiCby4SOu4B7iAaBQU+2BKaBOzFdSQdlxF7lPBBQx28xQVHBKfytzbcZ/G/qPd8MHTxCY9IqE6gmNdPWQj2cD2XWSnISa/1yEITgKXsfbsKt6Xe8r3pBvgD9RSddMcx+oJzjPUZrJexTDzDPColqaMoKWSkxh6BK3yRYz0zY+3P9OvfWRYaTURWBF9SVAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSyotVhYcLkCbduuQ9/tTiYgYLz+DAdBgNVHQ4EFgQUsqLVYWHC5Am3brkPf7U4mIGC8/gwDQYJKoZIhvcNAQELBQADggEBADOlEsvd0ob48dX1xFA6HSeTCC5IQxFWqBz3FoYYd9cq8IzHRiNfrHIxrwPRW1OsDMmDvx/rqUWaSFmMitgBseS4w6byVaTusA4JA+8R6L9j3ZCgwK2YHxY8rarGHuIzHYoFm4pbQicgtk2kM0atS6UFOLIhnRK2APxjTDbjdNgBmhFiZrM+Y5y4tVCkILtbRVTfik5HxPsibQYyXYmYWSKL61ByhuS6B2Mmy6ouIMxme5kn4fN7VpUWK4FrOhZVtPlQxa4V+7Hi07U99D0xTtbCR3+cNBC8QEAJYw1h/zeQ1hfUw8P8hzk0t1oFU1+XrVPM3MSDAYL3Z/1X8xmKI/U=","attributes":{"enabled":true,"nbf":1619645616,"exp":1651182216,"created":1619646216,"updated":1619646216,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619646180,"updated":1619646180}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '9bf0e5ab-17d0-44f8-ad0d-83dd42d75398', - 'x-ms-request-id', - '1b5df1f8-ba6c-484f-8364-69f1664a648f', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:39 GMT', - 'Content-Length', - '2994' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '7dc1783e-634e-44a2-af90-8cec8319c7d3', - 'x-ms-request-id', - '00ba34df-ed00-40c9-980e-67c87dcabb9e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:39 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '59856634-90bf-4cbb-80c6-4e29887a9e2b', - 'x-ms-request-id', - '6d13ac61-a693-4e64-9ca9-d9587a89c52b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:39 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '61a45dfe-e939-49b1-a9e9-ba2f55a06100', - 'x-ms-request-id', - '99c9e8bf-4579-4be4-bb96-1ca2a8ed8a23', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:41 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '76aeb3ee-a50b-4ba3-be0d-342866accb4e', - 'x-ms-request-id', - 'a4d91d70-4f12-43fb-90ef-9ee3d6e2300c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:43 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '2d3124d2-348d-4b53-922e-9594b9e910f9', - 'x-ms-request-id', - '7a786b85-ac10-4ba0-a69b-0dc177854607', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:45 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '44902ce0-fdfe-4e60-acf4-e051f0101924', - 'x-ms-request-id', - '3f89e6c3-30e5-4601-952b-cacc39e12a1d', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:47 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '73d44e24-9e2a-40a9-911d-ebaf9645f089', - 'x-ms-request-id', - 'ca4c462a-9fb2-45b3-bfca-0e763012ca6c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:50 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'b1005915-e46a-42ea-be1f-b4e3aa88b886', - 'x-ms-request-id', - '9f7f993f-a076-4f20-9249-d09d09e2ff40', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:52 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'fec7f9b8-4386-4fc5-8cc9-22c9d2bbde5b', - 'x-ms-request-id', - '9f15487b-aa1c-4551-93db-7fa39061fa79', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:53 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '96180dfc-e496-400b-9da9-1a794cea658e', - 'x-ms-request-id', - '3dc7acc2-44e9-478c-91c0-685d6f164dbb', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:56 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '50522b3a-a12b-4909-982f-3986ef340c46', - 'x-ms-request-id', - 'a54ee2b1-3695-48b1-add9-4e82409086aa', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:43:57 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c23083ac-d2e8-4b57-817a-3778f41a92b7', - 'x-ms-request-id', - '376533bf-e120-42de-a80d-c7d2766816d4', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:00 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'bfce9670-f3a7-40b1-9e8f-3429495a9ef0', - 'x-ms-request-id', - '3a669189-0e1a-4b83-bcb9-7137c5356dfb', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:02 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e36c7eee-7ac1-468e-8854-a1bab9471c6a', - 'x-ms-request-id', - 'ca7653d0-170f-482b-ba33-bebec1a38431', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:04 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '38da60ad-3942-4147-90ed-b7900c2135bb', - 'x-ms-request-id', - '0f0e33b4-0702-45af-8bfa-95abf61635a7', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:05 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '70a5480e-e047-4a19-b06a-a8b7f7eda619', - 'x-ms-request-id', - '607bb0b7-fe29-44a5-88e2-d86e2796b5ea', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:08 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '38bc3727-3798-4c0c-a4b8-ba1040ac93a3', - 'x-ms-request-id', - '3cfebdb8-0b93-414c-bf1c-018c558fd987', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:10 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '5c40adca-12b2-45a3-b602-85271250f171', - 'x-ms-request-id', - '4d8de923-b7ae-43ac-a464-a33f271e8d93', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:12 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '736a8969-1a36-4593-9dd9-7a205193dfde', - 'x-ms-request-id', - '9a55728d-8397-4973-a807-9a716542b994', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:15 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '93501c5d-cad7-4eb5-bd39-29427f798c71', - 'x-ms-request-id', - '52326aa8-2f40-4680-9f84-1bbc874bc0b0', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:17 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0","deletedDate":1619646219,"scheduledPurgeDate":1627422219,"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/96951399d611454b983fbee45cb41d34","x5t":"1ZdlBt7u07PgctY-tmJMFgSjyCA","cer":"MIIDKDCCAhCgAwIBAgIQML1o1Mx9SlaJuFYL9gcDtjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzMzM2WhcNMjIwNDI4MjE0MzM2WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmjICNvJxx58lOTLny7HRljbXy9bhMUKeiTM0FDDrFgYAWZWbpgKaPrDXqIUVwuBtR4brPO7PydKazm9EjbWBWcFH+M1u6R4uz0eCt3omoA5uMi8Hpd6l9sHePmwmtvEBKremRxUEenK45J322D8RkhuPDdiCby4SOu4B7iAaBQU+2BKaBOzFdSQdlxF7lPBBQx28xQVHBKfytzbcZ/G/qPd8MHTxCY9IqE6gmNdPWQj2cD2XWSnISa/1yEITgKXsfbsKt6Xe8r3pBvgD9RSddMcx+oJzjPUZrJexTDzDPColqaMoKWSkxh6BK3yRYz0zY+3P9OvfWRYaTURWBF9SVAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSyotVhYcLkCbduuQ9/tTiYgYLz+DAdBgNVHQ4EFgQUsqLVYWHC5Am3brkPf7U4mIGC8/gwDQYJKoZIhvcNAQELBQADggEBADOlEsvd0ob48dX1xFA6HSeTCC5IQxFWqBz3FoYYd9cq8IzHRiNfrHIxrwPRW1OsDMmDvx/rqUWaSFmMitgBseS4w6byVaTusA4JA+8R6L9j3ZCgwK2YHxY8rarGHuIzHYoFm4pbQicgtk2kM0atS6UFOLIhnRK2APxjTDbjdNgBmhFiZrM+Y5y4tVCkILtbRVTfik5HxPsibQYyXYmYWSKL61ByhuS6B2Mmy6ouIMxme5kn4fN7VpUWK4FrOhZVtPlQxa4V+7Hi07U99D0xTtbCR3+cNBC8QEAJYw1h/zeQ1hfUw8P8hzk0t1oFU1+XrVPM3MSDAYL3Z/1X8xmKI/U=","attributes":{"enabled":true,"nbf":1619645616,"exp":1651182216,"created":1619646216,"updated":1619646216,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","sans":{},"ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1619646180,"updated":1619646180}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0/pending"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '9b904598-efd4-442c-bd9f-475de521ad67', - 'x-ms-request-id', - '4095c3c8-eb02-41df-aa27-1e51925cfff8', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:18 GMT', - 'Content-Length', - '2994' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-0') - .query(true) - .reply(204, "", [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '57514133-7577-4232-8c0e-f99b96b343cb', - 'x-ms-request-id', - 'a8f8472b-e7af-43f4-ba2f-72d862848530', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:19 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1","deletedDate":1619646259,"scheduledPurgeDate":1627422259,"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","x5t":"1ZdlBt7u07PgctY-tmJMFgSjyCA","cer":"MIIDKDCCAhCgAwIBAgIQML1o1Mx9SlaJuFYL9gcDtjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzMzM2WhcNMjIwNDI4MjE0MzM2WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmjICNvJxx58lOTLny7HRljbXy9bhMUKeiTM0FDDrFgYAWZWbpgKaPrDXqIUVwuBtR4brPO7PydKazm9EjbWBWcFH+M1u6R4uz0eCt3omoA5uMi8Hpd6l9sHePmwmtvEBKremRxUEenK45J322D8RkhuPDdiCby4SOu4B7iAaBQU+2BKaBOzFdSQdlxF7lPBBQx28xQVHBKfytzbcZ/G/qPd8MHTxCY9IqE6gmNdPWQj2cD2XWSnISa/1yEITgKXsfbsKt6Xe8r3pBvgD9RSddMcx+oJzjPUZrJexTDzDPColqaMoKWSkxh6BK3yRYz0zY+3P9OvfWRYaTURWBF9SVAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSyotVhYcLkCbduuQ9/tTiYgYLz+DAdBgNVHQ4EFgQUsqLVYWHC5Am3brkPf7U4mIGC8/gwDQYJKoZIhvcNAQELBQADggEBADOlEsvd0ob48dX1xFA6HSeTCC5IQxFWqBz3FoYYd9cq8IzHRiNfrHIxrwPRW1OsDMmDvx/rqUWaSFmMitgBseS4w6byVaTusA4JA+8R6L9j3ZCgwK2YHxY8rarGHuIzHYoFm4pbQicgtk2kM0atS6UFOLIhnRK2APxjTDbjdNgBmhFiZrM+Y5y4tVCkILtbRVTfik5HxPsibQYyXYmYWSKL61ByhuS6B2Mmy6ouIMxme5kn4fN7VpUWK4FrOhZVtPlQxa4V+7Hi07U99D0xTtbCR3+cNBC8QEAJYw1h/zeQ1hfUw8P8hzk0t1oFU1+XrVPM3MSDAYL3Z/1X8xmKI/U=","attributes":{"enabled":true,"nbf":1619645616,"exp":1651182216,"created":1619646219,"updated":1619646219,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":13,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1619646219,"updated":1619646219}}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '346a5a8e-a144-4b61-bc24-365b346f6953', - 'x-ms-request-id', - '6a85b720-7321-429d-abf8-8eba36162c8c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:19 GMT', - 'Content-Length', - '2809' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '9dce227f-f98e-4887-a685-b4d66f3b455b', - 'x-ms-request-id', - 'f2d6d77b-5e71-4ea5-a387-1ce5679b813e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:19 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '995c51f3-3fa4-4ecd-ae9f-229cd66bc8f2', - 'x-ms-request-id', - '8e47ec9f-043c-48ac-adf6-866d3adef910', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:19 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6a4fce93-1a16-4a35-8c0e-c0caf6b825e2', - 'x-ms-request-id', - '8d764d76-991b-4543-bf07-ad627f95a72c', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:22 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'ea37da27-03ed-4bf5-a5f8-b50a3afe6295', - 'x-ms-request-id', - 'c8571c8d-0851-418c-8dbb-d9449a08b80e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:24 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6789f207-8106-486b-bcb9-e5f5bc677992', - 'x-ms-request-id', - '2c5bf8f5-2848-43f0-95dc-c6b11f61119a', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:25 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '626b2868-fb1d-48fc-b5cd-afd939fbfa39', - 'x-ms-request-id', - 'fe5996f6-6e9a-4b63-9191-63cfdac15561', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:28 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '31f50f1d-4a9c-4399-bee0-892cb174793f', - 'x-ms-request-id', - 'da102807-6f12-4e37-b107-74dc229f4b79', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:30 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '85da76b2-4fd3-44d4-8105-a431a4df6388', - 'x-ms-request-id', - 'dd9b3d64-80d8-4bc1-8bce-70d8d759f4d5', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:32 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '20ba0a08-8231-4d7f-91ed-e93eb9abfbc2', - 'x-ms-request-id', - '693293b3-7c90-4d30-af71-77a98b6a4e6e', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:34 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'cab09bdf-2bf2-43d9-81c6-a0daedef1bea', - 'x-ms-request-id', - '061aafaf-4e7b-4510-bb5e-55c86a3d7795', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:36 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'e920e5ab-5d9d-421e-b520-c94efc715b2d', - 'x-ms-request-id', - '794a84d8-d49e-4e30-8b00-a564bb80d015', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:38 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '76f41628-8b51-469b-a2cd-f8115ec54980', - 'x-ms-request-id', - 'e6d1ac8c-3a71-4f8c-abcf-f11da0780cc7', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:40 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '6ef5f1c0-a71d-4c8c-b335-2ee7bd15792b', - 'x-ms-request-id', - 'a89a9f97-4212-49ac-9948-053fce7bdcf3', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:42 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'd60e562a-9d7c-4a75-95f9-cb9904a8137a', - 'x-ms-request-id', - 'ed705dfd-da2d-4772-81bb-545bf13a10a7', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:44 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'c6910099-2b27-49d5-8da4-57cc0f7440cc', - 'x-ms-request-id', - '7f7ca873-e50a-414c-9956-274568030ab1', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:46 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '51100d7b-e460-4723-8781-1ba054b03679', - 'x-ms-request-id', - 'ac471a9e-9f7c-4395-9910-03ff7c18768b', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:49 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '8ca8be2b-cc76-49a2-ba0b-dc27e30834c9', - 'x-ms-request-id', - '4af3d882-c865-4df2-8fd3-3155ff4358ab', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:51 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a898d942-e79f-448c-b5f9-eba5252b5cb9', - 'x-ms-request-id', - 'fcc877d3-fdb1-44aa-bd96-7647abc95f72', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:53 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '0c88ccea-70d6-4c0d-86ee-053cf1dd0aac', - 'x-ms-request-id', - '04191aa4-1fd3-43da-bd05-35924cefcbf2', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:54 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(404, {"error":{"code":"CertificateNotFound","message":"Deleted Certificate not found: mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1"}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '181', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '51801a37-eb43-4032-bdb4-9538369bb97b', - 'x-ms-request-id', - '06cac462-fb1c-41db-b3c5-a2a89f800ae9', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:57 GMT' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1","deletedDate":1619646259,"scheduledPurgeDate":1627422259,"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","kid":"https://keyvault_name.vault.azure.net/keys/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","sid":"https://keyvault_name.vault.azure.net/secrets/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/7f9eff9b646249a2865075a294cf4ce3","x5t":"1ZdlBt7u07PgctY-tmJMFgSjyCA","cer":"MIIDKDCCAhCgAwIBAgIQML1o1Mx9SlaJuFYL9gcDtjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZNeUNlcnQwHhcNMjEwNDI4MjEzMzM2WhcNMjIwNDI4MjE0MzM2WjARMQ8wDQYDVQQDEwZNeUNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmjICNvJxx58lOTLny7HRljbXy9bhMUKeiTM0FDDrFgYAWZWbpgKaPrDXqIUVwuBtR4brPO7PydKazm9EjbWBWcFH+M1u6R4uz0eCt3omoA5uMi8Hpd6l9sHePmwmtvEBKremRxUEenK45J322D8RkhuPDdiCby4SOu4B7iAaBQU+2BKaBOzFdSQdlxF7lPBBQx28xQVHBKfytzbcZ/G/qPd8MHTxCY9IqE6gmNdPWQj2cD2XWSnISa/1yEITgKXsfbsKt6Xe8r3pBvgD9RSddMcx+oJzjPUZrJexTDzDPColqaMoKWSkxh6BK3yRYz0zY+3P9OvfWRYaTURWBF9SVAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSyotVhYcLkCbduuQ9/tTiYgYLz+DAdBgNVHQ4EFgQUsqLVYWHC5Am3brkPf7U4mIGC8/gwDQYJKoZIhvcNAQELBQADggEBADOlEsvd0ob48dX1xFA6HSeTCC5IQxFWqBz3FoYYd9cq8IzHRiNfrHIxrwPRW1OsDMmDvx/rqUWaSFmMitgBseS4w6byVaTusA4JA+8R6L9j3ZCgwK2YHxY8rarGHuIzHYoFm4pbQicgtk2kM0atS6UFOLIhnRK2APxjTDbjdNgBmhFiZrM+Y5y4tVCkILtbRVTfik5HxPsibQYyXYmYWSKL61ByhuS6B2Mmy6ouIMxme5kn4fN7VpUWK4FrOhZVtPlQxa4V+7Hi07U99D0xTtbCR3+cNBC8QEAJYw1h/zeQ1hfUw8P8hzk0t1oFU1+XrVPM3MSDAYL3Z/1X8xmKI/U=","attributes":{"enabled":true,"nbf":1619645616,"exp":1651182216,"created":1619646219,"updated":1619646219,"recoveryLevel":"Recoverable+Purgeable","recoverableDays":90},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":13,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1619646219,"updated":1619646219}}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - 'a9929bfc-95a6-4919-b0dd-6b78eee0bf33', - 'x-ms-request-id', - '54b821cd-d6ac-4b36-9bde-5641743697e4', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:59 GMT', - 'Content-Length', - '2809' -]); - -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedcertificates/mergeCertificateName-canimportacertificatefromacertificatesnonbase64secretvalue-1') - .query(true) - .reply(204, "", [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Expires', - '-1', - 'x-ms-keyvault-region', - 'eastus', - 'x-ms-client-request-id', - '54d17d40-d403-43e9-b06a-821ecdbd91df', - 'x-ms-request-id', - '38dec8ac-cfe1-41f6-9707-5cb307bf9055', - 'x-ms-keyvault-service-version', - '1.2.265.0', - 'x-ms-keyvault-network-info', - 'conn_type=Ipv4;addr=IP_ADDRESS;act_addr_fam=InterNetwork;', - 'X-Powered-By', - 'ASP.NET', - 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', - 'X-Content-Type-Options', - 'nosniff', - 'Date', - 'Wed, 28 Apr 2021 21:44:59 GMT' + '2543' ]); diff --git a/sdk/keyvault/keyvault-certificates/review/keyvault-certificates.api.md b/sdk/keyvault/keyvault-certificates/review/keyvault-certificates.api.md index 7e6b9da21d50..9c687a21ffa9 100644 --- a/sdk/keyvault/keyvault-certificates/review/keyvault-certificates.api.md +++ b/sdk/keyvault/keyvault-certificates/review/keyvault-certificates.api.md @@ -351,7 +351,7 @@ export interface KeyVaultCertificateWithPolicy extends KeyVaultCertificate { } // @public -export const enum KnownCertificateKeyCurveNames { +export enum KnownCertificateKeyCurveNames { P256 = "P-256", P256K = "P-256K", P384 = "P-384", @@ -359,7 +359,7 @@ export const enum KnownCertificateKeyCurveNames { } // @public -export const enum KnownCertificateKeyTypes { +export enum KnownCertificateKeyTypes { EC = "EC", ECHSM = "EC-HSM", Oct = "oct", diff --git a/sdk/keyvault/keyvault-certificates/samples/v4/javascript/README.md b/sdk/keyvault/keyvault-certificates/samples/v4/javascript/README.md index 4d1c60cb2adb..36f1fcb193bf 100644 --- a/sdk/keyvault/keyvault-certificates/samples/v4/javascript/README.md +++ b/sdk/keyvault/keyvault-certificates/samples/v4/javascript/README.md @@ -27,7 +27,7 @@ These sample programs show how to use the JavaScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). You need [an Azure subscription][freesub] and the following Azure resources to run these sample programs: diff --git a/sdk/keyvault/keyvault-certificates/samples/v4/javascript/package.json b/sdk/keyvault/keyvault-certificates/samples/v4/javascript/package.json index ff0bee378446..abe6a30433d3 100644 --- a/sdk/keyvault/keyvault-certificates/samples/v4/javascript/package.json +++ b/sdk/keyvault/keyvault-certificates/samples/v4/javascript/package.json @@ -3,7 +3,7 @@ "private": true, "version": "1.0.0", "description": "Azure Key Vault Certificates client library samples for JavaScript", - "engine": { + "engines": { "node": ">=12.0.0" }, "repository": { @@ -29,6 +29,6 @@ "dependencies": { "@azure/keyvault-certificates": "next", "dotenv": "latest", - "@azure/identity": "^1.1.0" + "@azure/identity": "2.0.0-beta.6" } } diff --git a/sdk/keyvault/keyvault-certificates/samples/v4/typescript/README.md b/sdk/keyvault/keyvault-certificates/samples/v4/typescript/README.md index 351774568359..602cc46f6622 100644 --- a/sdk/keyvault/keyvault-certificates/samples/v4/typescript/README.md +++ b/sdk/keyvault/keyvault-certificates/samples/v4/typescript/README.md @@ -27,7 +27,7 @@ These sample programs show how to use the TypeScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +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: diff --git a/sdk/keyvault/keyvault-certificates/samples/v4/typescript/package.json b/sdk/keyvault/keyvault-certificates/samples/v4/typescript/package.json index b8a90994a436..8fcc3d08ea29 100644 --- a/sdk/keyvault/keyvault-certificates/samples/v4/typescript/package.json +++ b/sdk/keyvault/keyvault-certificates/samples/v4/typescript/package.json @@ -3,7 +3,7 @@ "private": true, "version": "1.0.0", "description": "Azure Key Vault Certificates client library samples for TypeScript", - "engine": { + "engines": { "node": ">=12.0.0" }, "scripts": { @@ -33,7 +33,7 @@ "dependencies": { "@azure/keyvault-certificates": "next", "dotenv": "latest", - "@azure/identity": "^1.1.0" + "@azure/identity": "2.0.0-beta.6" }, "devDependencies": { "typescript": "~4.2.0", diff --git a/sdk/keyvault/keyvault-certificates/src/certificatesModels.ts b/sdk/keyvault/keyvault-certificates/src/certificatesModels.ts index 5349e5e07e5c..bb9d32fd48d8 100644 --- a/sdk/keyvault/keyvault-certificates/src/certificatesModels.ts +++ b/sdk/keyvault/keyvault-certificates/src/certificatesModels.ts @@ -813,3 +813,91 @@ export type RequireAtLeastOne = { * which are: emailAddress, name or phone. */ export type CertificateContact = RequireAtLeastOne | undefined; + +/** Known values of {@link CertificateKeyCurveName} that the service accepts. */ +export enum KnownCertificateKeyCurveNames { + /** + * P-256 Key Curve. + */ + P256 = "P-256", + /** + * P-384 Key Curve. + */ + P384 = "P-384", + /** + * P-521 Key Curve. + */ + P521 = "P-521", + /** + * P-256K Key Curve. + */ + P256K = "P-256K" +} + +/** Known values of {@link CertificateKeyType} that the service accepts. */ +export enum KnownCertificateKeyTypes { + /** + * EC Key Type. + */ + EC = "EC", + /** + * EC-HSM Key Type. + */ + ECHSM = "EC-HSM", + /** + * RSA Key Type. + */ + RSA = "RSA", + /** + * RSA-HSM Key Type. + */ + RSAHSM = "RSA-HSM", + /** + * oct Key Type + */ + Oct = "oct", + /** + * oct-HSM Key Type + */ + OctHSM = "oct-HSM" +} + +/** Known values of {@link KeyUsageType} that the service accepts. */ +export const enum KnownKeyUsageTypes { + /** + * DigitalSignature Usage Type. + */ + DigitalSignature = "digitalSignature", + /** + * NonRepudiation Usage Type. + */ + NonRepudiation = "nonRepudiation", + /** + * KeyEncipherment Usage Type. + */ + KeyEncipherment = "keyEncipherment", + /** + * DataEncipherment Usage Type. + */ + DataEncipherment = "dataEncipherment", + /** + * KeyAgreement Usage Type. + */ + KeyAgreement = "keyAgreement", + /** + * KeyCertSign Usage Type. + */ + KeyCertSign = "keyCertSign", + /** + * CRLSign Usage Type. + */ + CRLSign = "cRLSign", + /** + * EncipherOnly Usage Type. + */ + EncipherOnly = "encipherOnly", + /** + * DecipherOnly Usage Type. + */ + DecipherOnly = "decipherOnly" +} diff --git a/sdk/keyvault/keyvault-certificates/src/constants.ts b/sdk/keyvault/keyvault-certificates/src/constants.ts index bd71b3ea4dbc..aed75137e275 100644 --- a/sdk/keyvault/keyvault-certificates/src/constants.ts +++ b/sdk/keyvault/keyvault-certificates/src/constants.ts @@ -1,4 +1,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "4.3.1"; +export const SDK_VERSION: string = "4.4.0-beta.2"; diff --git a/sdk/keyvault/keyvault-certificates/src/generated/keyVaultClient.ts b/sdk/keyvault/keyvault-certificates/src/generated/keyVaultClient.ts index 63734d71537b..f280f8a953b7 100644 --- a/sdk/keyvault/keyvault-certificates/src/generated/keyVaultClient.ts +++ b/sdk/keyvault/keyvault-certificates/src/generated/keyVaultClient.ts @@ -12,7 +12,7 @@ import * as Mappers from "./models/mappers"; import { KeyVaultClientContext } from "./keyVaultClientContext"; import { KeyVaultClientOptionalParams, - ApiVersion72, + ApiVersion73Preview, KeyVaultClientGetCertificatesOptionalParams, KeyVaultClientGetCertificatesResponse, KeyVaultClientDeleteCertificateResponse, @@ -69,7 +69,7 @@ export class KeyVaultClient extends KeyVaultClientContext { * @param options The parameter options */ constructor( - apiVersion: ApiVersion72, + apiVersion: ApiVersion73Preview, options?: KeyVaultClientOptionalParams ) { super(apiVersion, options); @@ -321,10 +321,10 @@ export class KeyVaultClient extends KeyVaultClientContext { } /** - * Imports an existing valid certificate, containing a private key, into Azure Key Vault. The - * certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format - * the PEM file must contain the key as well as x509 certificates. This operation requires the - * certificates/import permission. + * Imports an existing valid certificate, containing a private key, into Azure Key Vault. This + * operation requires the certificates/import permission. The certificate to be imported can be in + * either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as + * well as x509 certificates. Key Vault will only accept a key in PKCS#8 format. * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. * @param certificateName The name of the certificate. * @param base64EncodedCertificate Base64 encoded representation of the certificate object to import. diff --git a/sdk/keyvault/keyvault-certificates/src/generated/keyVaultClientContext.ts b/sdk/keyvault/keyvault-certificates/src/generated/keyVaultClientContext.ts index 9b0cb0d95595..1910349c592c 100644 --- a/sdk/keyvault/keyvault-certificates/src/generated/keyVaultClientContext.ts +++ b/sdk/keyvault/keyvault-certificates/src/generated/keyVaultClientContext.ts @@ -7,14 +7,14 @@ */ import * as coreHttp from "@azure/core-http"; -import { ApiVersion72, KeyVaultClientOptionalParams } from "./models"; +import { ApiVersion73Preview, KeyVaultClientOptionalParams } from "./models"; const packageName = "@azure/keyvault-certificates"; -export const packageVersion = "4.3.1"; +export const packageVersion = "4.4.0-beta.2"; /** @hidden */ export class KeyVaultClientContext extends coreHttp.ServiceClient { - apiVersion: ApiVersion72; + apiVersion: ApiVersion73Preview; /** * Initializes a new instance of the KeyVaultClientContext class. @@ -22,7 +22,7 @@ export class KeyVaultClientContext extends coreHttp.ServiceClient { * @param options The parameter options */ constructor( - apiVersion: ApiVersion72, + apiVersion: ApiVersion73Preview, options?: KeyVaultClientOptionalParams ) { if (apiVersion === undefined) { diff --git a/sdk/keyvault/keyvault-certificates/src/generated/models/index.ts b/sdk/keyvault/keyvault-certificates/src/generated/models/index.ts index b22928740562..bf7b715dc9e8 100644 --- a/sdk/keyvault/keyvault-certificates/src/generated/models/index.ts +++ b/sdk/keyvault/keyvault-certificates/src/generated/models/index.ts @@ -111,7 +111,7 @@ export interface CertificateBundle { readonly policy?: CertificatePolicy; /** CER contents of x509 certificate. */ cer?: Uint8Array; - /** The content type of the secret. */ + /** The content type of the secret. eg. 'application/x-pem-file' or 'application/x-pkcs12', */ contentType?: string; /** The certificate attributes. */ attributes?: CertificateAttributes; @@ -142,7 +142,7 @@ export interface CertificatePolicy { /** Properties of the key pair backing a certificate. */ export interface KeyProperties { - /** Not supported in this version. Indicates if the private key can be exported. */ + /** Indicates if the private key can be exported. */ exportable?: boolean; /** The type of key pair to be used for the certificate. */ keyType?: JsonWebKeyType; @@ -503,20 +503,20 @@ export type DeletedCertificateBundle = CertificateBundle & { readonly deletedDate?: Date; }; -/** Known values of {@link ApiVersion72} that the service accepts. */ -export const enum KnownApiVersion72 { - /** Api Version '7.2' */ - Seven2 = "7.2" +/** Known values of {@link ApiVersion73Preview} that the service accepts. */ +export const enum KnownApiVersion73Preview { + /** Api Version '7.3-preview' */ + Seven3Preview = "7.3-preview" } /** - * Defines values for ApiVersion72. \ - * {@link KnownApiVersion72} can be used interchangeably with ApiVersion72, + * Defines values for ApiVersion73Preview. \ + * {@link KnownApiVersion73Preview} can be used interchangeably with ApiVersion73Preview, * this enum contains the known values that the service supports. * ### Know values supported by the service - * **7.2**: Api Version '7.2' + * **7.3-preview**: Api Version '7.3-preview' */ -export type ApiVersion72 = string; +export type ApiVersion73Preview = string; /** Known values of {@link DeletionRecoveryLevel} that the service accepts. */ export const enum KnownDeletionRecoveryLevel { @@ -553,29 +553,11 @@ export type DeletionRecoveryLevel = string; /** Known values of {@link JsonWebKeyType} that the service accepts. */ export const enum KnownJsonWebKeyType { - /** - * EC Key Type. - */ EC = "EC", - /** - * EC-HSM Key Type. - */ ECHSM = "EC-HSM", - /** - * RSA Key Type. - */ RSA = "RSA", - /** - * RSA-HSM Key Type. - */ RSAHSM = "RSA-HSM", - /** - * oct Key Type - */ Oct = "oct", - /** - * oct-HSM Key Type - */ OctHSM = "oct-HSM" } @@ -595,21 +577,9 @@ export type JsonWebKeyType = string; /** Known values of {@link JsonWebKeyCurveName} that the service accepts. */ export const enum KnownJsonWebKeyCurveName { - /** - * P-256 Key Curve. - */ P256 = "P-256", - /** - * P-384 Key Curve. - */ P384 = "P-384", - /** - * P-521 Key Curve. - */ P521 = "P-521", - /** - * P-256K Key Curve. - */ P256K = "P-256K" } @@ -627,41 +597,14 @@ export type JsonWebKeyCurveName = string; /** Known values of {@link KeyUsageType} that the service accepts. */ export const enum KnownKeyUsageType { - /** - * DigitalSignature Usage Type. - */ DigitalSignature = "digitalSignature", - /** - * NonRepudiation Usage Type. - */ NonRepudiation = "nonRepudiation", - /** - * KeyEncipherment Usage Type. - */ KeyEncipherment = "keyEncipherment", - /** - * DataEncipherment Usage Type. - */ DataEncipherment = "dataEncipherment", - /** - * KeyAgreement Usage Type. - */ KeyAgreement = "keyAgreement", - /** - * KeyCertSign Usage Type. - */ KeyCertSign = "keyCertSign", - /** - * CRLSign Usage Type. - */ CRLSign = "cRLSign", - /** - * EncipherOnly Usage Type. - */ EncipherOnly = "encipherOnly", - /** - * DecipherOnly Usage Type. - */ DecipherOnly = "decipherOnly" } diff --git a/sdk/keyvault/keyvault-certificates/src/index.ts b/sdk/keyvault/keyvault-certificates/src/index.ts index b76a1b419f01..2ccd5d28b434 100644 --- a/sdk/keyvault/keyvault-certificates/src/index.ts +++ b/sdk/keyvault/keyvault-certificates/src/index.ts @@ -80,7 +80,10 @@ import { CertificateClientOptions, LATEST_API_VERSION, CancelCertificateOperationOptions, - ImportCertificatePolicy + ImportCertificatePolicy, + KnownCertificateKeyCurveNames, + KnownCertificateKeyTypes, + KnownKeyUsageTypes } from "./certificatesModels"; import { @@ -98,12 +101,9 @@ import { ActionType, DeletionRecoveryLevel, JsonWebKeyType as CertificateKeyType, - KnownJsonWebKeyType as KnownCertificateKeyTypes, JsonWebKeyCurveName as CertificateKeyCurveName, - KnownJsonWebKeyCurveName as KnownCertificateKeyCurveNames, KnownDeletionRecoveryLevel as KnownDeletionRecoveryLevels, - KeyUsageType, - KnownKeyUsageType as KnownKeyUsageTypes + KeyUsageType } from "./generated/models"; import { KeyVaultClient } from "./generated/keyVaultClient"; import { SDK_VERSION } from "./constants"; diff --git a/sdk/keyvault/keyvault-certificates/swagger/README.md b/sdk/keyvault/keyvault-certificates/swagger/README.md index 0da3f734d266..90dc786d5ea2 100644 --- a/sdk/keyvault/keyvault-certificates/swagger/README.md +++ b/sdk/keyvault/keyvault-certificates/swagger/README.md @@ -14,9 +14,9 @@ azure-arm: false generate-metadata: false add-credentials: false license-header: MICROSOFT_MIT_NO_VERSION -input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/1e2c9f3ec93078da8078389941531359e274f32a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/certificates.json +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7a42f16c75e5005c59b75fe7f0888c1103294d43/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/certificates.json output-folder: ../ source-code-folder-path: ./src/generated hide-clients: true -package-version: 4.3.1 +package-version: 4.4.0-beta.2 ``` diff --git a/sdk/keyvault/keyvault-certificates/test/internal/challengeBasedAuthenticationPolicy.spec.ts b/sdk/keyvault/keyvault-certificates/test/internal/challengeBasedAuthenticationPolicy.spec.ts index ff543dd51fec..adcd42e3507e 100644 --- a/sdk/keyvault/keyvault-certificates/test/internal/challengeBasedAuthenticationPolicy.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/internal/challengeBasedAuthenticationPolicy.spec.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { Context } from "mocha"; import { createSandbox } from "sinon"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { AuthenticationChallengeCache, diff --git a/sdk/keyvault/keyvault-certificates/test/internal/serviceVersionParameter.spec.ts b/sdk/keyvault/keyvault-certificates/test/internal/serviceVersionParameter.spec.ts index 797c01a193ed..4bf3476aaf57 100644 --- a/sdk/keyvault/keyvault-certificates/test/internal/serviceVersionParameter.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/internal/serviceVersionParameter.spec.ts @@ -7,7 +7,7 @@ import { CertificateClient } from "../../src"; import { LATEST_API_VERSION } from "../../src/certificatesModels"; import { HttpClient, WebResourceLike, HttpOperationResponse, HttpHeaders } from "@azure/core-http"; import { ClientSecretCredential } from "@azure/identity"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; describe("The Certificates client should set the serviceVersion", () => { const keyVaultUrl = `https://keyVaultName.vault.azure.net`; @@ -58,13 +58,13 @@ describe("The Certificates client should set the serviceVersion", () => { }); // Adding this to the source would change the public API. - type ApIVersions = "7.0" | "7.1" | "7.2"; + type ApiVersions = "7.0" | "7.1" | "7.2"; it("it should allow us to specify an API version from a specific set of versions", async function() { - const versions: ApIVersions[] = ["7.0", "7.1", "7.2"]; + const versions: ApiVersions[] = ["7.0", "7.1", "7.2"]; for (const serviceVersion in versions) { const client = new CertificateClient(keyVaultUrl, credential, { - serviceVersion: serviceVersion as ApIVersions, + serviceVersion: serviceVersion as ApiVersions, httpClient: mockHttpClient }); await client.getCertificate("certificateName"); diff --git a/sdk/keyvault/keyvault-certificates/test/public/CRUD.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/CRUD.spec.ts index 792f3011fb70..9de8a4829ff0 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/CRUD.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/CRUD.spec.ts @@ -8,7 +8,7 @@ import childProcess from "child_process"; import { assert } from "chai"; import { supportsTracing } from "../../../keyvault-common/test/utils/supportsTracing"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { AbortController } from "@azure/abort-controller"; import { SecretClient } from "@azure/keyvault-secrets"; import { ClientSecretCredential } from "@azure/identity"; @@ -220,7 +220,10 @@ describe("Certificates client - create, read, update and delete", () => { }); it("can get a certificate's secret in PKCS 12 format", async function(this: Context) { - recorder.skip("browser", "This test uses the file system."); + recorder.skip( + undefined, + "This test uses the file system and the certificate value has been sanitized in recordings." + ); // Skipping this test from the live browser test runs, because we use the file system. if (!isNode) { this.skip(); @@ -549,7 +552,10 @@ describe("Certificates client - create, read, update and delete", () => { }); it("can read, cancel and delete a certificate's operation", async function(this: Context) { - const certificateName = testClient.formatName(`${prefix}-${this!.test!.title}-${suffix}`); + // Known flaky test due to the lag between the request and when the job gets picked up by the service. + this.retries(2); + + const certificateName = recorder.getUniqueName("crudcertoperation"); await client.beginCreateCertificate( certificateName, basicCertificatePolicy, diff --git a/sdk/keyvault/keyvault-certificates/test/public/list.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/list.spec.ts index eb67289c0047..6451aeacbd9b 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/list.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/list.spec.ts @@ -4,7 +4,7 @@ import chai from "chai"; import { Context } from "mocha"; import * as assert from "assert"; -import { env, isPlaybackMode, Recorder, isRecordMode } from "@azure/test-utils-recorder"; +import { env, isPlaybackMode, Recorder, isRecordMode } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import { CertificateClient } from "../../src"; diff --git a/sdk/keyvault/keyvault-certificates/test/public/lro.create.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/lro.create.spec.ts index 5481e966bba7..8b3fa6c73309 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/lro.create.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/lro.create.spec.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { Context } from "mocha"; import { PollerStoppedError } from "@azure/core-lro"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { CertificateClient, KeyVaultCertificate, DefaultCertificatePolicy } from "../../src"; import { testPollerProperties } from "../utils/recorderUtils"; diff --git a/sdk/keyvault/keyvault-certificates/test/public/lro.delete.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/lro.delete.spec.ts index 75c2eda5e717..2eb348b52c9b 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/lro.delete.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/lro.delete.spec.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { Context } from "mocha"; import { PollerStoppedError } from "@azure/core-lro"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { CertificateClient, DeletedCertificate, DefaultCertificatePolicy } from "../../src"; import { testPollerProperties } from "../utils/recorderUtils"; diff --git a/sdk/keyvault/keyvault-certificates/test/public/lro.operation.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/lro.operation.spec.ts index 72c3547e4537..5d6fa5630287 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/lro.operation.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/lro.operation.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { CertificateClient, diff --git a/sdk/keyvault/keyvault-certificates/test/public/lro.recover.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/lro.recover.spec.ts index b2b4318bf124..c0991a27e125 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/lro.recover.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/lro.recover.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { PollerStoppedError } from "@azure/core-lro"; import { CertificateClient, DeletedCertificate, DefaultCertificatePolicy } from "../../src"; diff --git a/sdk/keyvault/keyvault-certificates/test/public/mergeAndImport.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/mergeAndImport.spec.ts index 021ff74ccfa2..8e9f035b078f 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/mergeAndImport.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/mergeAndImport.spec.ts @@ -5,7 +5,7 @@ import fs from "fs"; import { Context } from "mocha"; import childProcess from "child_process"; import { isNode } from "@azure/core-http"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { SecretClient } from "@azure/keyvault-secrets"; import { ClientSecretCredential } from "@azure/identity"; diff --git a/sdk/keyvault/keyvault-certificates/test/public/recoverBackupRestore.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/recoverBackupRestore.spec.ts index 6237a2c81f8c..a9bc4db0dd5c 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/recoverBackupRestore.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/recoverBackupRestore.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, isPlaybackMode, Recorder, isRecordMode } from "@azure/test-utils-recorder"; +import { env, isPlaybackMode, Recorder, isRecordMode } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import { CertificateClient } from "../../src"; diff --git a/sdk/keyvault/keyvault-certificates/test/utils/recorderUtils.ts b/sdk/keyvault/keyvault-certificates/test/utils/recorderUtils.ts index 36219c34dc82..5898455821c2 100644 --- a/sdk/keyvault/keyvault-certificates/test/utils/recorderUtils.ts +++ b/sdk/keyvault/keyvault-certificates/test/utils/recorderUtils.ts @@ -3,7 +3,7 @@ import { isNode } from "@azure/core-http"; import * as dotenv from "dotenv"; -import { isPlaybackMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode } from "@azure-tools/test-recorder"; if (isNode) { dotenv.config(); diff --git a/sdk/keyvault/keyvault-certificates/test/utils/testAuthentication.ts b/sdk/keyvault/keyvault-certificates/test/utils/testAuthentication.ts index f8e3b7573f2d..c19e8f09561e 100644 --- a/sdk/keyvault/keyvault-certificates/test/utils/testAuthentication.ts +++ b/sdk/keyvault/keyvault-certificates/test/utils/testAuthentication.ts @@ -4,7 +4,7 @@ import { ClientSecretCredential } from "@azure/identity"; import { CertificateClient } from "../../src"; import { uniqueString } from "./recorderUtils"; -import { env, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import TestClient from "./testClient"; import { Context } from "mocha"; @@ -19,10 +19,14 @@ export async function authenticate(that: Context): Promise { KEYVAULT_URI: "https://keyvault_name.vault.azure.net/" }, customizationsOnRecordings: [ - (recording: any): any => + (recording: string): string => recording.replace(/"access_token":"[^"]*"/g, `"access_token":"access_token"`), - (recording: any): any => - suffix === "" ? recording : recording.replace(new RegExp(suffix, "g"), "") + (recording: string): string => + suffix === "" ? recording : recording.replace(new RegExp(suffix, "g"), ""), + (recording: string): string => { + // replace pkcs12 certificate value with base64 encoding of "base64_placeholder" + return recording.replace(/"value":"MII[^"]+"/g, `"value":"YmFzZTY0X3BsYWNlaG9sZGVy"`); + } ], queryParametersToSkip: [] }; diff --git a/sdk/keyvault/keyvault-certificates/test/utils/utils.common.ts b/sdk/keyvault/keyvault-certificates/test/utils/utils.common.ts index 06acbaf0075a..f41ec3d5582e 100644 --- a/sdk/keyvault/keyvault-certificates/test/utils/utils.common.ts +++ b/sdk/keyvault/keyvault-certificates/test/utils/utils.common.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; import * as assert from "assert"; // Async iterator's polyfill for Node 8 diff --git a/sdk/keyvault/keyvault-common/package.json b/sdk/keyvault/keyvault-common/package.json index 5b33284ab088..a19e03450391 100644 --- a/sdk/keyvault/keyvault-common/package.json +++ b/sdk/keyvault/keyvault-common/package.json @@ -31,7 +31,7 @@ "build:es6": "tsc -p tsconfig.json", "build:nodebrowser": "echo skipped", "build:test": "echo skipped", - "build": "npm run extract-api && npm run build:es6 && npm run build:nodebrowser", + "build": "npm run clean && npm run extract-api && npm run build:es6 && npm run build:nodebrowser", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist-esm dist-test types *.tgz *.log samples/typescript/dist", "execute:js-samples": "echo skipped", @@ -46,7 +46,6 @@ "lint:fix": "eslint package.json src --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json src --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", diff --git a/sdk/keyvault/keyvault-keys/CHANGELOG.md b/sdk/keyvault/keyvault-keys/CHANGELOG.md index 65852a7ec1aa..b511d328a965 100644 --- a/sdk/keyvault/keyvault-keys/CHANGELOG.md +++ b/sdk/keyvault/keyvault-keys/CHANGELOG.md @@ -1,5 +1,21 @@ # Release History +## 4.4.0-beta.2 (Unreleased) + +### Features Added + +- Added support for `KeyClient.getCryptographyClient(keyName, options)` which provides a simple way to create a `CryptographyClient` for a given key (identified by its name). + - An optional `keyVersion` property may be used in the `options` parameter to create a cryptography client targeting a specific key version. The latest version is used by default. +- Added support for automated key rotation in Azure Key Vault. + - Added `KeyClient.rotateKey` to rotate a key on-demand. + - Added `KeyClient.updateKeyRotationPolicy` to update a key's automated rotation policy. + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 4.4.0-beta.1 (2021-08-10) ### Features Added diff --git a/sdk/keyvault/keyvault-keys/karma.conf.js b/sdk/keyvault/keyvault-keys/karma.conf.js index 7dec62fb5783..8c7feacdecf8 100644 --- a/sdk/keyvault/keyvault-keys/karma.conf.js +++ b/sdk/keyvault/keyvault-keys/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/keyvault/keyvault-keys/package.json b/sdk/keyvault/keyvault-keys/package.json index c4da0439371e..9ca561fa1dbf 100644 --- a/sdk/keyvault/keyvault-keys/package.json +++ b/sdk/keyvault/keyvault-keys/package.json @@ -2,7 +2,7 @@ "name": "@azure/keyvault-keys", "sdk-type": "client", "author": "Microsoft Corporation", - "version": "4.4.0-beta.1", + "version": "4.4.0-beta.2", "license": "MIT", "description": "Isomorphic client library for Azure KeyVault's keys.", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/keyvault/keyvault-keys/README.md", @@ -38,7 +38,8 @@ "process": false, "./dist-esm/keyvault-keys/src/cryptography/crypto.js": "./dist-esm/keyvault-keys/src/cryptography/crypto.browser.js", "./dist-esm/keyvault-keys/src/cryptography/rsaCryptographyProvider.js": "./dist-esm/keyvault-keys/src/cryptography/rsaCryptographyProvider.browser.js", - "./dist-esm/keyvault-keys/src/cryptography/aesCryptographyProvider.js": "./dist-esm/keyvault-keys/src/cryptography/aesCryptographyProvider.browser.js" + "./dist-esm/keyvault-keys/src/cryptography/aesCryptographyProvider.js": "./dist-esm/keyvault-keys/src/cryptography/aesCryptographyProvider.browser.js", + "./dist-esm/keyvault-keys/test/utils/base64url.js": "./dist-esm/keyvault-keys/test/utils/base64url.browser.js" }, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", @@ -48,7 +49,7 @@ "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:nodebrowser": "rollup -c 2>&1", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* types *.tgz *.log dist-browser statistics.html coverage && rimraf src/**/*.js && rimraf test/**/*.js", "execute:samples": "dev-tool samples run samples-dev", @@ -61,7 +62,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "regenerate": "npx autorest swagger/README.md --typescript", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", @@ -114,9 +114,9 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.7", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", @@ -127,11 +127,11 @@ "@types/chai-as-promised": "^7.1.0", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", - "@types/query-string": "6.2.0", "@types/sinon": "^9.0.4", "assert": "^1.4.1", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", + "chai-exclude": "^2.0.2", "cross-env": "^7.0.2", "dotenv": "^8.2.0", "eslint": "^7.15.0", @@ -153,8 +153,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", - "query-string": "^5.0.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_create_an_exportable_key_and_release_it.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_create_an_exportable_key_and_release_it.json index 9abe79cd4a6d..2193d6fc6295 100644 --- a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_create_an_exportable_key_and_release_it.json +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_create_an_exportable_key_and_release_it.json @@ -2,23 +2,22 @@ "recordings": [ { "method": "GET", - "url": "https://skrattestation.azurewebsites.net//generate-test-token", + "url": "https://skr_attestation.azure.net//generate-test-token", "query": {}, "requestBody": null, "status": 200, - "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJxOHNpZ2trZDNHVTNjdnVaY2syUTBMVmtkWHdQUktNS05GV1RYUzczQ1J0YVBxNkVSV0VHQ2ZZMkdOR3UzZGstUXpzYWcyX1gyRjdreGVnS09oNDQwQm5ONlZ4NGFJZlRLcXlEbW1HdFo4bDdqQ3QtNEJUSmhLaV9jcU9xQkpVZFZXMmthQ3lYSUhTRUxDOTE5UDJWVVBnMTZBRFNhd19oandSQ0Fvek9JNEJHR09rV2h2QV9aVGVfVG1HNXNnU3I1cEFDTU93YXo3UzR6MFVWT3pXTUQ2c2ljdW82bjBtQl9scy04VTVxa2xueGp0SUd3a0FnTWFqaHp0c1ZZTnk1X254eEF0M0pWVWppaGN4OHJDMFUxWGZxU0JIV0xUTVlHTHp3LXhidWlDNmlhbHBQODJIMUkwelZIcTRSc3pVQ3RwcERzZmNaYkwwYlRXUHFPVXVKcHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyNDUsImV4cCI6MTk0MjY2NDI0NX0.SSYB9PW_94C-EYg9ZKTI0qvUPAX-Mgzj3kymIrWMFnyULn7O9O3s8XrtjFSvJeSMayibePuajC3Lr2E4jC96mpKJPKrNn3VYjsnOsCDYZfKCU4lOssGzkfoNMgvKgQRBeguBputfSdZKz8opCLjQqN2GgEPyEN27dsf3yfmrkn-C0t0bRxFxJsyQY81-pyPX2HprxZqEXOSSv-0BJDa9EFHqlFTN7eybRSDvqNbFW95sdWwIVhZgA3jf3wAX-vkQLgbxpON0BFKkcppAcV-TOLHNdY-TDidXN2z-33APdX4Uf5xPDi0NUBKHOZinzpd0JShhcmBGdKyr2TNtDteUZA\"}", + "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJzcEVtTnZDMDIxTlFEeFhzMDRTNklKenNOaUg2R01ZYlhxdHhPbUlxMDVhUWNadVVoU1ZIaDc4cS1CMjJuaTRtQ05wVm1NSVo5aGlJOFFXcXVrNGNvVlJYeWlST3B3cDFabWhla2VJeVpHaGdMRFVoMVQ3Mnl0OHN2Q2stMk5YSTgwaUN1Ql94RW91dE9ueWdMOFJmMG5NZEpwZzNUWUNpU0FxRWFITjdqWnh6X3c2S21jWXgwOVJYejhLSXVZWk5qQ1VodWlhWG9LLW1NcTh3aFNmTjZjazlkLS1QbkhJZG5HOXJCU0F6LUFWemJORW41dFZDX3RJdWZGakhON2VEalRPcXhlUTZTRXlCTlJRdmg1LXNYaThGTHhUNjlMdEY3SVRQc2pnTklNUi05cExoME1UX014MzUtYjdZRmhDaW9ucE55M1huTGhlU0RmRDc2Rm5YNHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1OTEsImV4cCI6MTYyODk4NDM5MX0.hWKHJ7xdim2V2P3zbpye15nsO8YQRSCUWYneYV_VCOymA-titAXkf5f5aPjy01Wt-KPB9ZPioFYR6kG2OR_FvMH8s-abxehzKij-S3auwg9FJlyLuEt914JB_Y9r6okQ1Fb0W8D1bRO-5yRRdgw5D1oUktjY4mTZffbQajcLIskewoF68Ci2uVWMiSZbzPl3RaE2X_6UONeoZX-PTdDEsahEWQrY0a2ciNOhumgBBpNJ46JKU9g7nwso3EM93FCGBb-vxF2QeMZng4VMBWvoUkaHmAuJCd50tzE2T_Y4pyI8hmAUkB0DizEGTahm1pFQsaEdstTmqX6U1g30YKjcMQ\",\"attestationToken\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJzcEVtTnZDMDIxTlFEeFhzMDRTNklKenNOaUg2R01ZYlhxdHhPbUlxMDVhUWNadVVoU1ZIaDc4cS1CMjJuaTRtQ05wVm1NSVo5aGlJOFFXcXVrNGNvVlJYeWlST3B3cDFabWhla2VJeVpHaGdMRFVoMVQ3Mnl0OHN2Q2stMk5YSTgwaUN1Ql94RW91dE9ueWdMOFJmMG5NZEpwZzNUWUNpU0FxRWFITjdqWnh6X3c2S21jWXgwOVJYejhLSXVZWk5qQ1VodWlhWG9LLW1NcTh3aFNmTjZjazlkLS1QbkhJZG5HOXJCU0F6LUFWemJORW41dFZDX3RJdWZGakhON2VEalRPcXhlUTZTRXlCTlJRdmg1LXNYaThGTHhUNjlMdEY3SVRQc2pnTklNUi05cExoME1UX014MzUtYjdZRmhDaW9ucE55M1huTGhlU0RmRDc2Rm5YNHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1OTEsImV4cCI6MTYyODk4NDM5MX0.hWKHJ7xdim2V2P3zbpye15nsO8YQRSCUWYneYV_VCOymA-titAXkf5f5aPjy01Wt-KPB9ZPioFYR6kG2OR_FvMH8s-abxehzKij-S3auwg9FJlyLuEt914JB_Y9r6okQ1Fb0W8D1bRO-5yRRdgw5D1oUktjY4mTZffbQajcLIskewoF68Ci2uVWMiSZbzPl3RaE2X_6UONeoZX-PTdDEsahEWQrY0a2ciNOhumgBBpNJ46JKU9g7nwso3EM93FCGBb-vxF2QeMZng4VMBWvoUkaHmAuJCd50tzE2T_Y4pyI8hmAUkB0DizEGTahm1pFQsaEdstTmqX6U1g30YKjcMQ\"}", "responseHeaders": { - "content-length": "1305", + "content-length": "2684", "content-type": "application/json; charset=utf-8", - "date": "Sat, 24 Jul 2021 00:57:24 GMT", - "etag": "W/\"519-gQG+KMRJ8cEJ5UemMq0VcK8Qwjo\"", - "status": "200", + "date": "Sat, 07 Aug 2021 23:39:50 GMT", + "etag": "W/\"a7c-6rnuJN7xN6apbV/WwrpDVrc8s9k\"", "x-powered-by": "Express" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162708824569905873/create", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959219906554/create", "query": { "api-version": "7.3-preview" }, @@ -34,8 +33,8 @@ "www-authenticate": "Bearer authorization=\"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012\", resource=\"https://managedhsm.azure.net\"", "x-content-type-options": "nosniff", "x-frame-options": "SAMEORIGIN", - "x-ms-request-id": "1c8d380c-ec1a-11eb-b771-000d3a7a3d40", - "x-ms-server-latency": "0" + "x-ms-request-id": "c2a50a7a-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "1" } }, { @@ -49,7 +48,7 @@ "cache-control": "no-store, no-cache", "content-length": "1322", "content-type": "application/json; charset=utf-8", - "date": "Sat, 24 Jul 2021 00:57:25 GMT", + "date": "Sat, 07 Aug 2021 23:39:51 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", @@ -58,22 +57,22 @@ "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11898.8 - NCUS ProdSlices", - "x-ms-request-id": "eaa536bb-bbd6-40e9-884c-63eac7662400" + "x-ms-ests-server": "2.1.11935.12 - SCUS ProdSlices", + "x-ms-request-id": "e4b0b81e-9364-4acc-9483-1766b5e53500" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162708824569905873/create", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959219906554/create", "query": { "api-version": "7.3-preview" }, - "requestBody": "{\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\"],\"attributes\":{\"exportable\":true},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyYXR0ZXN0YXRpb24uYXp1cmV3ZWJzaXRlcy5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0\"}}", + "requestBody": "{\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\"],\"attributes\":{\"exportable\":true},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyX2F0dGVzdGF0aW9uLmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ\"}}", "status": 200, - "response": "{\"attributes\":{\"created\":1627088246,\"enabled\":true,\"exportable\":true,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1627088246},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"decrypt\",\"encrypt\"],\"kid\":\"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162708824569905873/25ae059eb8850ae8a623a72f7fe5e731\",\"kty\":\"RSA-HSM\",\"n\":\"j1zOvQBDuS8gqIdpA2Cv7g8SgmjPpEkdDrsDIn_BS8XQU06z4GUrSHQCH1avhrIbLBrYYSqp612UmCjdV3YuMyGGtnLq_33uOPP3PWi0U2B_sUvlomaaDSs5r2UDjTD6rW9bmV6rqojxcoJjYwVVn4ZFFV1TwBLnsPoYDYlDd-jCDoIYCmif7EWsL5ffX5PgBfMNeCtkeg9GtYdYnH39H2FmuUFUZU4ZzBrWqfYZ8-dh9HgcTjbY1EBO_2XuMNmflNuhssRj3yBmlAH6w0OHKN18LE-8mEvGE8dUcOOwM-omnnbKqd_eJT74U1SlwHOhkTx4QSc0IRbixEI9DkJvDQ\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}", + "response": "{\"attributes\":{\"created\":1628379591,\"enabled\":true,\"exportable\":true,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1628379591},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"decrypt\",\"encrypt\"],\"kid\":\"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959219906554/7255dc486fe30b430d6abcb5aae5e006\",\"kty\":\"RSA-HSM\",\"n\":\"jV1jPfTfix-3A8a2NdL78u4KqLl52qcFOOwkwDrtcmrvFiNgl3ZBs7IzAwIHvW6h2Cnqkl3A9hhFlnSnEr84geKftuev7Zq_NBiZeNeRk4vG1d_8XQAbwoE6so4hUwoBkBJENiawLI0s7otlXBipfWAmamrokknDQxPX0YaFd5368LXXEmTHgTGAu3rej_pTIBFWhzQ0sTp_FwsbozCLMq6yU0c00tN1TrqZgg3F6zL2LTuF9AkYxTq4Okockg6q_V2z3VYisu_u54WhKbb6ZJ-j1y0e9Q-kfV2h-vcLCM4zTxFY2rjMorfv3_HnAMqEMyc7KOY9Au7q7Y1fxVWj9w\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3Nrcl9hdHRlc3RhdGlvbi5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wLjAifQ\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "952", + "content-length": "971", "content-security-policy": "default-src 'self'", "content-type": "application/json; charset=utf-8", "strict-transport-security": "max-age=31536000; includeSubDomains", @@ -81,22 +80,22 @@ "x-frame-options": "SAMEORIGIN", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;", "x-ms-keyvault-region": "eastus2", - "x-ms-request-id": "1ccb359e-ec1a-11eb-b771-000d3a7a3d40", - "x-ms-server-latency": "688" + "x-ms-request-id": "c2de51c2-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "1107" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162708824569905873//release", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959219906554//release", "query": { "api-version": "7.3-preview" }, - "requestBody": "{\"target\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJxOHNpZ2trZDNHVTNjdnVaY2syUTBMVmtkWHdQUktNS05GV1RYUzczQ1J0YVBxNkVSV0VHQ2ZZMkdOR3UzZGstUXpzYWcyX1gyRjdreGVnS09oNDQwQm5ONlZ4NGFJZlRLcXlEbW1HdFo4bDdqQ3QtNEJUSmhLaV9jcU9xQkpVZFZXMmthQ3lYSUhTRUxDOTE5UDJWVVBnMTZBRFNhd19oandSQ0Fvek9JNEJHR09rV2h2QV9aVGVfVG1HNXNnU3I1cEFDTU93YXo3UzR6MFVWT3pXTUQ2c2ljdW82bjBtQl9scy04VTVxa2xueGp0SUd3a0FnTWFqaHp0c1ZZTnk1X254eEF0M0pWVWppaGN4OHJDMFUxWGZxU0JIV0xUTVlHTHp3LXhidWlDNmlhbHBQODJIMUkwelZIcTRSc3pVQ3RwcERzZmNaYkwwYlRXUHFPVXVKcHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyNDUsImV4cCI6MTk0MjY2NDI0NX0.SSYB9PW_94C-EYg9ZKTI0qvUPAX-Mgzj3kymIrWMFnyULn7O9O3s8XrtjFSvJeSMayibePuajC3Lr2E4jC96mpKJPKrNn3VYjsnOsCDYZfKCU4lOssGzkfoNMgvKgQRBeguBputfSdZKz8opCLjQqN2GgEPyEN27dsf3yfmrkn-C0t0bRxFxJsyQY81-pyPX2HprxZqEXOSSv-0BJDa9EFHqlFTN7eybRSDvqNbFW95sdWwIVhZgA3jf3wAX-vkQLgbxpON0BFKkcppAcV-TOLHNdY-TDidXN2z-33APdX4Uf5xPDi0NUBKHOZinzpd0JShhcmBGdKyr2TNtDteUZA\"}", + "requestBody": "{\"target\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJzcEVtTnZDMDIxTlFEeFhzMDRTNklKenNOaUg2R01ZYlhxdHhPbUlxMDVhUWNadVVoU1ZIaDc4cS1CMjJuaTRtQ05wVm1NSVo5aGlJOFFXcXVrNGNvVlJYeWlST3B3cDFabWhla2VJeVpHaGdMRFVoMVQ3Mnl0OHN2Q2stMk5YSTgwaUN1Ql94RW91dE9ueWdMOFJmMG5NZEpwZzNUWUNpU0FxRWFITjdqWnh6X3c2S21jWXgwOVJYejhLSXVZWk5qQ1VodWlhWG9LLW1NcTh3aFNmTjZjazlkLS1QbkhJZG5HOXJCU0F6LUFWemJORW41dFZDX3RJdWZGakhON2VEalRPcXhlUTZTRXlCTlJRdmg1LXNYaThGTHhUNjlMdEY3SVRQc2pnTklNUi05cExoME1UX014MzUtYjdZRmhDaW9ucE55M1huTGhlU0RmRDc2Rm5YNHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1OTEsImV4cCI6MTYyODk4NDM5MX0.hWKHJ7xdim2V2P3zbpye15nsO8YQRSCUWYneYV_VCOymA-titAXkf5f5aPjy01Wt-KPB9ZPioFYR6kG2OR_FvMH8s-abxehzKij-S3auwg9FJlyLuEt914JB_Y9r6okQ1Fb0W8D1bRO-5yRRdgw5D1oUktjY4mTZffbQajcLIskewoF68Ci2uVWMiSZbzPl3RaE2X_6UONeoZX-PTdDEsahEWQrY0a2ciNOhumgBBpNJ46JKU9g7nwso3EM93FCGBb-vxF2QeMZng4VMBWvoUkaHmAuJCd50tzE2T_Y4pyI8hmAUkB0DizEGTahm1pFQsaEdstTmqX6U1g30YKjcMQ\"}", "status": 200, - "response": "{\"value\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IlU0NXdTcDZrT2tQZUQxX2M1WURSZlVHb0JseThxSDlHMTlaZnVGVkx5WWsiLCJ4NWMiOlsiTUlJSW1UQ0NCb0dnQXdJQkFnSVRNd0FXKzlEby9manlOampiYkFBQUFCYjcwREFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd056STBNREF6T0RNNFdoY05Nakl3TnpFNU1EQXpPRE00V2pCOU1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DVjBFeEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV2TUMwR0ExVUVBd3dtS2k1dFlXeGxaMlZ6YTNKbGJqSm9jMjB1YldGdVlXZGxaR2h6YlM1aGVuVnlaUzV1WlhRd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURoSjZnSlljek5VbnBrZmgrNktXbXk5UnRXYm1RMXIxaEpoK2tnc3pCc2F0UW9zaEpWa1IzMWxFdkU4dUJtalA5TnNwSHY3SHJWVHRRcVFtcDVwNUw1UGRacys5ZVUwdHBWdGhWUGxqUE5iN1REaUZrWWlPV0JuVXFOaFQwQ1RGVHpRWWV1NUZOazV0QkhvbGloVWRwVVZWUjJXZkpQSWNIY3h6SFBIcjRMeEwza0liZFc5aXdEdlYwSlFnU2MvSmp6OWZXK092SWlKMUpNdXBsbndOc2VhTVo2U0hrdVN1enp4MnBYQWgwck9XUDZ6ZGJXUVpvZjBMN3VRK0VqTTFiQW1SMU5NbWN1V2tLeUkzaTJEblJraEpMRDlZdlcrcWkvMzBDbWVSRWQxczd1UkZkRGxsdCtOVFYxMit1OWZ2Z1ZlWHhGVHA4U3Z3dW1XWTFpVVhRZkFnTUJBQUdqZ2dRME1JSUVNRENDQVg0R0Npc0dBUVFCMW5rQ0JBSUVnZ0Z1QklJQmFnRm9BSFlBN2t1OXQzWE9ZTHJoUW1rZnErR2VacU1QZmwrd2N0aURBTVI3aVhxby9jc0FBQUY2MWZ4THFnQUFCQU1BUnpCRkFpQmNYYm9NSUk1OUdRTVZpdDJGMkkzTTF0RDhNMDJlSTFJVVRyRXkvbWlSY1FJaEFOY256QTdzUWJ3Q3lNQXdadUVxUDlLNGFGNDU2aGpESjVSOE9EamRhUkhDQUhZQVFjaktzZDhpUmtvUXhxRTZDVUtIWGs0eGl4c0Q2K3RMeDJqd2tHS1dCdllBQUFGNjFmeEwrZ0FBQkFNQVJ6QkZBaUVBalBoclZpZDYxMjh4cjV3UFI0bytCQ0FYbUpTTHY0MVhsZE9zaU9uYWVmQUNJQmp1Z242UUd5ZjA1RXU1L3lsNjVabmJvbFhodUZmT2NJRlNoTm1EZFFUSkFIWUFVYU93OWYwQmVaeFdiYmczZUk4TXBIck1HeWZMOTU2SVFwb04vdFNMQmVVQUFBRjYxZnhNSUFBQUJBTUFSekJGQWlFQW1wK2JXMXFrUWZkaWJQOEoreUh1SC92L0ExZk9MaGVQcVIwSnpJVVBhMjRDSUgzS2FZc3Z6RnNES3FsZm1YZ2E4UlhYWHM4T0d5WkhHY0U3dGx6TEJFSkFNQ2NHQ1NzR0FRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd1BBWUpLd1lCQkFHQ054VUhCQzh3TFFZbEt3WUJCQUdDTnhVSWg3M1hHNEhuNjBhQ2daMHVqdEFNaC9EYUhWMkNoT1ZwZ3ZPblBnSUJaQUlCSXpDQnJnWUlLd1lCQlFVSEFRRUVnYUV3Z1o0d2JRWUlLd1lCQlFVSE1BS0dZV2gwZEhBNkx5OTNkM2N1YldsamNtOXpiMlowTG1OdmJTOXdhMmx2Y0hNdlkyVnlkSE12VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOU1V5TUMwbE1qQjRjMmxuYmk1amNuUXdMUVlJS3dZQkJRVUhNQUdHSVdoMGRIQTZMeTl2Ym1WdlkzTndMbTFwWTNKdmMyOW1kQzVqYjIwdmIyTnpjREFkQmdOVkhRNEVGZ1FVZEJLWmN4NnRITWw4MVFqbkpqSGFkNjRqdEwwd0RnWURWUjBQQVFIL0JBUURBZ1N3TUZjR0ExVWRFUVJRTUU2Q0ppb3ViV0ZzWldkbGMydHlaVzR5YUhOdExtMWhibUZuWldSb2MyMHVZWHAxY21VdWJtVjBnaVJ0WVd4bFoyVnphM0psYmpKb2MyMHViV0Z1WVdkbFpHaHpiUzVoZW5WeVpTNXVaWFF3WkFZRFZSMGZCRjB3V3pCWm9GZWdWWVpUYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpjbXd2VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOUzVqY213d1pnWURWUjBnQkY4d1hUQlJCZ3dyQmdFRUFZSTNUSU45QVFFd1FUQS9CZ2dyQmdFRkJRY0NBUll6YUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OUViMk56TDFKbGNHOXphWFJ2Y25rdWFIUnRNQWdHQm1lQkRBRUNBakFmQmdOVkhTTUVHREFXZ0JUSHNweC9IT080V3UvcGFCcW9YWlRCSmxKcWFEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RFFZSktvWklodmNOQVFFTUJRQURnZ0lCQUtkcWp3TlEzd1NlbWpma3VmaHFPQXpZNUZzRmMvQ3NIenltOFhNTkRwTzNhUjFCRkM0VFlyQ0dQdmFBZ2FDcjZPUlpVYmpKVHliWWxzMDBVYjJwM2lyUlVOdXJMNlcrQlROZUczNFBWTFVHaFBLVG9TZ0p6Q2t0ZzNkY2dHL2ZHMmd6Zmp4SFl1UEFiN3pwRlFjY1c1d1pIeTg2eEhlRVdadkdsR014c21DSTNJbGpaVXg2bnBQWSs5ZGhqYmRrN0hmUTRFMTRZOFFXaXBsR1dUY04zVE1GY0RiRVpCdlY0SjZsblptWHJINlZMbkdBbi9Tc0ozbFZNbXdpNGNvQWJkM3VWaTZZQm9CZDVmY1lTV2JFYmRjcG1JOVdVNUhOMGtRUmFMYTdkVE1mK0hnSkp6QlFUWFNybWJ2aGVFWklkWnlLY3BNSWluQUZyZGJMRWphZEVORW90MzJ1T2Z1eVpXeXAvcGg1bWFoaC9HSkJCZ3NvRzJzL3o4YzRoMVFneC9KQ0JKS09VRWF3WXQ2UTZSL3Byaklnc2Q0RXZuWGhtbS93djJHeDFHa0NVQ2RpcW5aZ09CQ3RKYWpNUnBiczVQblYwajczTFROUHp4TmpyWjFrM2ZkL1Y4dzFIb1hYSDBZTHoxc25idzJPSlpEMzRJMk8zVVlrV3pPR1lzMUVWUWtXZWJtdlVjVjNOK291UUFXK0gxY0hmR01memt0Q0tSdkFUNHI0b3FIY0p6dVdSeVcvM2VNNEdCOUdzY01kTFBNdEJjVkplU29YTkRqWDh6cWw5RnlyUWROaWUyTS9YNEozc0ZTNG9hMGx5SmhsRU11d2dWbytSc01SQm8valFiZ3ZsSXZsWmdaem95TU9WNlB3c1E5b3lQNEl5ZjB2eVVLejkzS3RkNWxmIiwiTUlJRjh6Q0NCTnVnQXdJQkFnSVFEWHZ0NlgyQ0NaWjZVbU1iaTkwWXZUQU5CZ2txaGtpRzl3MEJBUXdGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHlNREEzTWpreE1qTXdNREJhRncweU5EQTJNamN5TXpVNU5UbGFNRmt4Q3pBSkJnTlZCQVlUQWxWVE1SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4S2pBb0JnTlZCQU1USVUxcFkzSnZjMjltZENCQmVuVnlaU0JVVEZNZ1NYTnpkV2x1WnlCRFFTQXdOVENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFLcGxEVG1ROWFmd1ZQUWVsRHV1K05reE5KMDg0Q05LbnJaMjFBQmV3RStVVTRHS0Rud3lnWmRLNmFnTlNNczVVb2NoVUVEeno5Q3BkVjV0ZFB6TDE0Ty9HZUUyZ081L2FVRlRVTUc5YzZuZXl4azV0cTFXZEtzUGtpdFB3czZWOE1XYTVkMUwveTRSRmhaSFVzZ3h4VXlTbFlsR3BOY0hoaHN5cjdFdkZlY1pHQTFNZnNpdEFXVnA2aGlXQU5rV0tJTmZSY2R0M1oyQTIzaG1NSDlNUlNHQmNjSGlQdXp3clZzU21Md3Z0M1dsUkRnT2JKa0U0MHRGWXZKNkdYQVFpYUdIQ0lXU1ZPYmdPM3pqNnhrZGJFRk1tSi96cjJXZXQ1S0VjVUR0VUJoQTRkVVVvYVBWejY5dTQ2VjU2VnNjeTNsWHUxWWxzazg0ajVsVVBMZHNBeHR1bHRQNE9QUW9PVHBuWThreFdrSDZrZ081Z1RLRTNIUnZvVklqVTR4SjBKUTc0Nnp5LzhHZFFBMzZTYU5pejRVM3UxMHpGWmcyUmt2MmRMMUx2NThFWEwwMnI1cTVCL25oVkgvTTFqb1R2cFJ2YWVFcEFKaGtJQTlOa3B2YkdFcFNkY0EwT3J0T09lR3Ryc2lPeU1CWWtqcEI1bncwY0pZMVFIT3Izbkl2SjJPblkrT0tKYkRTcmhGcVdzazgvMXE2WjFXTnZPTno3dGUxcEF0SGVyZFBpNXBDSGVpWENOcHYrZmFkd1AwazhjemFmMlZzMTluWXNnV241dUl5TFFMOEVlaGRCekNiT0tKeTlzbDg2UzRGcWU0SEd5QXRtcUdsYVdPc3EyQTZPL3BhTWkzQlNtV1REYmdQTENQQmJQdGUvYnN1QUVGNGFqa1BFRVMzR0hQOUFnTUJBQUdqZ2dHdE1JSUJxVEFkQmdOVkhRNEVGZ1FVeDdLY2Z4emp1RnJ2NldnYXFGMlV3U1pTYW1nd0h3WURWUjBqQkJnd0ZvQVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RGdZRFZSMFBBUUgvQkFRREFnR0dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1IWUdDQ3NHQVFVRkJ3RUJCR293YURBa0JnZ3JCZ0VGQlFjd0FZWVlhSFIwY0RvdkwyOWpjM0F1WkdsbmFXTmxjblF1WTI5dE1FQUdDQ3NHQVFVRkJ6QUNoalJvZEhSd09pOHZZMkZqWlhKMGN5NWthV2RwWTJWeWRDNWpiMjB2UkdsbmFVTmxjblJIYkc5aVlXeFNiMjkwUnpJdVkzSjBNSHNHQTFVZEh3UjBNSEl3TjZBMW9ET0dNV2gwZEhBNkx5OWpjbXd6TG1ScFoybGpaWEowTG1OdmJTOUVhV2RwUTJWeWRFZHNiMkpoYkZKdmIzUkhNaTVqY213d042QTFvRE9HTVdoMGRIQTZMeTlqY213MExtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dIUVlEVlIwZ0JCWXdGREFJQmdabmdRd0JBZ0V3Q0FZR1o0RU1BUUlDTUJBR0NTc0dBUVFCZ2pjVkFRUURBZ0VBTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElCQVFBZStHK0cyUkZkV3RZeExJS01SNUgvYVZORmpOUDdKZGV1K29aYUthSXU3VTNOaWR5a0ZyOTk0alN4TUJNVjc2OHVrSjUvaExTS3N1ai9TTGptQWZ3UkFaK3cwUkdxaS9rT3ZQWVVsQnIvc0tPd3IzdFZrZzljY1pCZWJuQlZHK0RMS1RwMk94MCtqWUJDUHhsYTVGTzI1MnFwazcvNnd0OFNaazNkaVNVMTJKbTdpZi9qamtoa0dCL2U4VWRmcktvTHl0RHZxVmVpd1BBNUZQenFLb1NxTjc1YnlManNJS0pFZE5pMDdTWTQ1aE4vUlVuc21Jb0FmOTNxbGFIUi9TSldWUmhyV3QzSm1lb0JKMlJESzQ5MnpGNlRHdTFtb2g0YUU2ZTAwWWt3VFBXcmV1d3ZhTEIyMjB2V210Z1pQcytEU0liMmQ5aFBCZENKZ3ZjaG8xYzciLCJNSUlEampDQ0FuYWdBd0lCQWdJUUF6cng1cWNScWFDN0tHU3hIUW42NVRBTkJna3Foa2lHOXcwQkFRc0ZBREJoTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNBd0hnWURWUVFERXhkRWFXZHBRMlZ5ZENCSGJHOWlZV3dnVW05dmRDQkhNakFlRncweE16QTRNREV4TWpBd01EQmFGdzB6T0RBeE1UVXhNakF3TURCYU1HRXhDekFKQmdOVkJBWVRBbFZUTVJVd0V3WURWUVFLRXd4RWFXZHBRMlZ5ZENCSmJtTXhHVEFYQmdOVkJBc1RFSGQzZHk1a2FXZHBZMlZ5ZEM1amIyMHhJREFlQmdOVkJBTVRGMFJwWjJsRFpYSjBJRWRzYjJKaGJDQlNiMjkwSUVjeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdXpmTk5OeDdhOG15YUpDdFNuWC9Scm9oQ2dpTjlSbFV5ZnVJMi9PdThqcUprVHg2NXFzR0dtdlByQzNvWGdra1JMcGltbjdXbzZoKzRGUjFJQVdzVUxlY1l4cHNNTnphSHhteDF4N2UvZGZneTVTRE42N3NIME5PM1hzczByMHVwUy9rcWJpdE90U1pwTFlsNlp0ckFHQ1NZUDlQSVVrWTkyZVFxMkVHbkkveXV1bTA2Wkl5YTdYelYraGRHODJNSGF1VkJKVko4elV0bHVOSmJkMTM0L3RKUzdTc1ZRZXBqNVd6dENPN1RHMUY4UGFwc3BVd3RQMU1WWXduU2xjVWZJS2R6WE9TMHhaS0JneU1VTkdQSGdtK0Y2SG1JY3I5ZytVUXZJT2xDc1JuS1BaekZCUTlSbmJEaHhTSklUUk5ydzlGREtaSm9icTduTVd4TTRNcGhRSURBUUFCbzBJd1FEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCaGpBZEJnTlZIUTRFRmdRVVRpSlVJQmlWNXVOdTVnLzYrcmtTN1FZWGp6a3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR0JuS0pSdkRraGo2ekhkNm1jWTFZbDlQTVdMU24vcHZ0c3JGOSt3WDNOM0tqSVRPWUZuUW9RajhrVm5OZXlJdi9pUHNHRU1OS1N1SUV5RXh0djROZUYyMmQrbVFydkhSQWlHZnpaMEpGcmFiQTBVV1RXOThrbmR0aC9Kc3cxSEtqMlpMN3RjdTdYVUlPR1pYMU5HRmR0b20vRHpNTlUrTWVLTmhKN2ppdHJhbGo0MUU2VmY4UGx3VUhCSFFSRlhHVTdBajY0R3hKVVRGeThiSlo5MThyR09tYUZ2RTdGQmNmNklLc2hQRUNCVjEvTVVSZVhnUlBUcWg1VXlrdzcrVTBiNkxKMy9peUs1UzlrSlJhVGVwTGlhV04wYmZWS2ZqbGxEaUlHa25pYlZiNjNkRGNZM2ZlMERraHZsZDE5MjdqeU54RjFXVzZMWlptNnpOVGZsTXJZPSJdLCJ4NXQjUzI1NiI6IlU0NXdTcDZrT2tQZUQxX2M1WURSZlVHb0JseThxSDlHMTlaZnVGVkx5WWsifQ.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJDS01fUlNBX0FFU19LRVlfV1JBUCIsImtpZCI6Imh0dHBzOi8vbWFsZWdlc2tyZW4yaHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvZXhwb3J0a2V5MTYyNzA4ODI0NTY5OTA1ODczIn0sInJlc3BvbnNlIjp7ImtleSI6eyJhdHRyaWJ1dGVzIjp7ImNyZWF0ZWQiOjE2MjcwODgyNDYsImVuYWJsZWQiOnRydWUsImV4cG9ydGFibGUiOnRydWUsInJlY292ZXJhYmxlRGF5cyI6NywicmVjb3ZlcnlMZXZlbCI6IkN1c3RvbWl6ZWRSZWNvdmVyYWJsZStQdXJnZWFibGUiLCJ1cGRhdGVkIjoxNjI3MDg4MjQ2fSwia2V5Ijp7ImUiOiJBUUFCIiwia2V5X2hzbSI6ImV5SmphWEJvWlhKMFpYaDBJam9pUzFwbVpXMWpPV1p0WVdaUVUwNW1ZakYxVjNadWVsSjJibEpqWDFodlNGZFFhSGQwUzNKdVJuZG1UMFkzY3pGRWF5MDJNMFJOV2xkR2NFUndjWEJUVFdSNmNrRnNTa2t3VVZwWmIydDJNVWxuVFhOdVJIZEljR05FVlVwb1JUZFNaSEJLZWtWTWFVcEhVMVp4TjJ0TmQxQmtSSFF4T0ZGMU9WYzNNa2xPVFhOWFZXZFFlVU5KTUhWUVJWWjZXV05xTlhaaWNIQTFPRnBDU2t3MlMxYzNkMHhuTlVwT1owaHBia2RrTlhSMVlWaFdibFZoYmpGdmNFUkZORFpyYVV4SU0ycFNOVWs0WjJkMVFtdHVjbHA1Umt3M1FYb3hlWGsyUVZoc05EWk9Tazh4U3pKb2VEWkpXRXhOY0VSUFlXcFJVVXh2TFRoa05XNUJUemhRUm1KUWFFdHVXRk5qZVZGb1gybGthbmxHVUVaNVRGRXpVMUF5UkZKUmJuSnFZUzF2TjNBNFNtcGhVbEZEWXprNFJHZFBWMDlmTFhoSGFVOXRaMnhQWVhVM01IcGtNVFUyY25SRGFXRnNjelZYYlRWaVdXRlFkM1puWDFOaVVHbE1jWGhKTUU5Q1NsWk1WemxtU0dwT1F6Wk9keTF0Tm5aWlJXeGxaMXBSTTI1MGJuVnVXRFZqUm1aa1ZXMXRSbTlxVkhnNFVUZzRNelYwYjJaSVYyOUZla2RPTVcxR2FtaEpVM3A1YTNOQ1JXaEpUMmRNTjJWc2FrTllSazVFU0RnMGVXTTRlRWcxYWs1c1RGWkRTVzAxWW5KUlNHZFljR1J5T0RsR1FqRmtOMmMwV2xwUGRubG5kVTFYTkhGRWJrZERibGxyUkZOM2FtSTVNWEZpUkc5R1F6WkpNakZxWTNWVWJXRnRTRXRTV201T2FWWTNNRzVVYkRoS2RESkdPRzlCUmxkQ2NrdGxZVU4xTVRNeldHTjJSM2xTWm5ZNGIwSnFYeTF0TlVsdE1XMUNSM0ptY0hsMGRrZGlOR3B5VW0xZmJsUjZNVzFwY1VVMVVuUjBTMlV0TVdaU1kxWklYMGxLVWpsT1dIaFZjVVoxVFdsTVVUaEVkVGRCWjBSdWVHaElSak5hY25oNU9FMTFPVGRaVTJNMlFVRkZTRTF1Y2xOSlowSk5VamxvWkhSc1ZrdDFXV1ZwV1hKaE5URkVYMVpNTTFKV1lWSmhZbWxXV1RKRFNsTkxjSFo1VFhFeVFVSnFXRTl1TlVKdFVEVjRjM1YwVGxKM1FXVlZMVVZqVG1KS0xWOWliRU5mUldoc1RWcDRlVGN0Ym1KTk1rRldkMWwxVG0xVVJEZFdjVWhsUzB4NFoxOXdSMjVtYzBWbGRHRkdXakJUYW5GT2MxZGxMVlZDYXpKNE9EQjBSblJuZWxwZmFuZHRielZOTW1Sb1QxWkhkSFpCTlRVeWJuazNWazFZTUZkNmJWUmpaa3RZTkZsQlUweHNOV2h0TTFoQkxVcFlSbDlpVGtGU01YQm1iMVpRYzFSVWQySkNZMlZGUzNGYWJEVlJkbmN6ZVVGcVZsbEdUbWxwWkRrNVQzcHpORzlxUmkxTWNrbHJXalphV2xsa1ZtNXZNR04yYlVoa1F5MWlXa1p3YkhwWGNtZEVXRlF4U1VRMFRsQmtWRVJNZG1WRGNGaFlUbkEwYlRWMFh6a3hNMUZIVVd4eGRpMUlXRnBTV1Rod1ZrSnJOR3cxTUcxV1drZGxhR1pHU1RjNE9GSndMVU5ZVlY5aGMxUXpUMkp5VGxCc1NYcDFiazlSUVhCUE1ITTFTR3MxZVVrdFNucFNReTFuVFdWaGVHRlpTekkwYWxJNGJ6bHpZVU5aVDNCWmVrMVFUalZWV1hwZlgxQXRjbUZvUW5sdGVtRnlaa1ZwU0RKSmVHUmpVSHBGVWxOME9TMTBjRFpCTjA1SllXSkhVVlYzVEZoU09IUlNXbmRSYjJ4blppMXpOVmw1WVdoV1VYWTFOM28xWjNreldHWnNNWFJuZFZnME1UVnpUMGhtVTNKM1IwOVVabW8xUzFKWFZYcGZTVTl6UVhCVWVFeEtVazB3UTE5dlZrWXphSFJrZGxjM1ptdzROM05FV2xwdWVFVXpUSEZ5ZVZwamVUSklNVWRvZDFOT1VYUjNTV2RLYm5GbVVsVlFja2x1U21zeWNFWTJOSGhWVlROd1drZ3daVzlaUWpCVVkyZzJMVkpwWmtKaVRYcGpURTR4T1dSVmQwOXZOMkl6VlZrelltbG5hMHROWVV4aVVsOHhlRmR6V2xOTVVWbDFPVWw1UXpOU04wTmpjVEJSWkU5MVltWTBNVkZYZG1wTWNtTlBOVFpZTmxwQ1l5MURVM0pUUVY5RWRFbFZZWGxHVEdWc2RuTnRVMGxXV1ZkdVZXNWxSR1oxTldOZmN6bEthR2xLUzJkRmNTMUhaRUpqTUZCNU1DMWxhM2xuZGxaUWVIRlVhV3h2TjNCUVdHUjVURFpRTTBwc1Z6TmFhRXczVERRd01sbGhXWHB0Y21aQ2QzTjVjSEpXT1hsZk5tTnJaMEowYVZOUGFVcElXVnBVTmxwYWFYTjNSREpKUTFoTVVVcHNOVmx6YkZaTlRHcEdhRzFrT1ROSGRXczVaM1UyUldoYVRFTlVNVUpDWlZaRGFrYzBkamR2TWt4d1VtZExOelI1WjBaMmRWaFZTM0J1TFVKNmJsWTVPV3hhUzFWNlNHUjBWVGRCTlhKdVFrMXRNbGRUYVZkT1ZFTlFSVEJWZEZFMmJsQmpOWHBPVFdoMFRGTktiemhIUjJVM0xYQTJUa1J4WW5GbFVUUldkMHhRYTA1U1MzQmlaRkpTTjBWYVdreEpiVGMxTkhaNWRUWnlja052ZUU5RGNXWm9iRWQ0UVV4bWIwMXhOM05rWVRsWGRWRjNiRWMzT0Mxa2JETnpaVlJpWTNkNk5XUlBUVFpGV1VaNlpFSk1jakZPVldwNU0yNXRVREphV2tGUk9IcE1TVEF5ZDBKM2RHbG5PRU16T1VwMVZGOWpOVmhNY1VWRVEybHZjVUpFZVVwQlgwUjRiVkp5WW0xR1IwaDZVV1ZLTXpKclZWTlVjWHBFVFVsc01teG9NWEphWlVwb1pHWnBkV2haZW0xcU5GWlpObWxWZUdWcWMxSjFSVXhtVVV0cVdsVjVURlpJWDBaSGEzRm5VWGh5WjBGSVdFRm1YMDkwVWpGd2RUbFFjR2t5TlhRd01FcE5WekpIVmtwdVVFWmhMWFZ4WmtNMmEwTmxka1I0TFhaeFNUaGFUR1ZyWWxrdE5UWkZVWFJCWlVKeFMwRmlMWFZ5VUhrdGRVcGFTMTlDU21Kb1JFMXNUR3d4VDE5YU1UaGFXVUpLTlROa1VVazVYMjVIZFVkbmIzWkZjM1F3TlcxNFRrRlVlRlo2UjAxM1RISmFia05hUkhOQ04zVklaV0kyT1RCVk1qSlplVzFGYTFGSlJrSlZTVm81YmtkcFNXVnVUME54WW5Oc1Z5SXNJbWhsWVdSbGNpSTZleUpoYkdjaU9pSmthWElpTENKbGJtTWlPaUpEUzAxZlVsTkJYMEZGVTE5TFJWbGZWMUpCVUNJc0ltdHBaQ0k2SW1aaGEyVXRjbVZzWldGelpTMXJaWGtpZlN3aWMyTm9aVzFoWDNabGNuTnBiMjRpT2lJeExqQWlmUSIsImtleV9vcHMiOlsiZGVjcnlwdCIsImVuY3J5cHQiXSwia2lkIjoiaHR0cHM6Ly9tYWxlZ2Vza3JlbjJoc20ubWFuYWdlZGhzbS5henVyZS5uZXQva2V5cy9leHBvcnRrZXkxNjI3MDg4MjQ1Njk5MDU4NzMvMjVhZTA1OWViODg1MGFlOGE2MjNhNzJmN2ZlNWU3MzEiLCJrdHkiOiJSU0EiLCJuIjoiajF6T3ZRQkR1UzhncUlkcEEyQ3Y3ZzhTZ21qUHBFa2REcnNESW5fQlM4WFFVMDZ6NEdVclNIUUNIMWF2aHJJYkxCcllZU3FwNjEyVW1DamRWM1l1TXlHR3RuTHFfMzN1T1BQM1BXaTBVMkJfc1V2bG9tYWFEU3M1cjJVRGpURDZyVzlibVY2cnFvanhjb0pqWXdWVm40WkZGVjFUd0JMbnNQb1lEWWxEZC1qQ0RvSVlDbWlmN0VXc0w1ZmZYNVBnQmZNTmVDdGtlZzlHdFlkWW5IMzlIMkZtdVVGVVpVNFp6QnJXcWZZWjgtZGg5SGdjVGpiWTFFQk9fMlh1TU5tZmxOdWhzc1JqM3lCbWxBSDZ3ME9IS04xOExFLThtRXZHRThkVWNPT3dNLW9tbm5iS3FkX2VKVDc0VTFTbHdIT2hrVHg0UVNjMElSYml4RUk5RGtKdkRRIn0sInJlbGVhc2VfcG9saWN5Ijp7ImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCIsImRhdGEiOiJleUpoYm5sUFppSTZXM3NpWVc1NVQyWWlPbHQ3SW1Oc1lXbHRJam9pYzJSckxYUmxjM1FpTENKbGNYVmhiSE1pT2lKMGNuVmxJbjFkTENKaGRYUm9iM0pwZEhraU9pSm9kSFJ3Y3pvdkwzTnJjbUYwZEdWemRHRjBhVzl1TG1GNmRYSmxkMlZpYzJsMFpYTXVibVYwTHlKOVhTd2lkbVZ5YzJsdmJpSTZJakV1TUM0d0luMCJ9fX19.LRRNch328LEGaA-LkrT-k94M5fkeq2OMrYLdaSlvoAH4_ty0CVqdg4MhEneGrOTeZFlODEDfP3RoKVJddBwc8_X-OBSWVczMjcqdVjKmlX0kerlasOLL_a_Ks3ojcTwHkyP0R5hB5zE2LCRAgQGicVGR5MV7eRpX61e8mq11d9jOgB5OrCbSGbkWRvjJZzOqy-p6Ve6Tb-J0449Albdnk4xo0luhySY-iC5O93j1lsgVaerw_bWnUuL1KlL6EjBRUzKlWmC_Ef6UVjJSlmPjNlrA7ZcgdbSUpYA7KUBkChM10n_oF1TTrrTMaxLDFwv_L6OWey_OLSv8l1oQypb_cg\"}", + "response": "{\"value\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IklCNTFEeWRYWFJ5VzB4THpPNGtQR0tDbGdwRC1iRGJUSUtmd2dHTE5pSlUiLCJ4NWMiOlsiTUlJSW9qQ0NCb3FnQXdJQkFnSVRNd0FZS1BTNXJ1eDc1dU5aL2dBQUFCZ285REFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd09EQTJNakV6TVRFeldoY05Nakl3T0RBeE1qRXpNVEV6V2pDQmdERUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWxkQk1SQXdEZ1lEVlFRSEV3ZFNaV1J0YjI1a01SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4TWpBd0JnTlZCQU1NS1NvdWJXRnNaV2RsWkhsdVlYUjBaWE4wYUhOdExtMWhibUZuWldSb2MyMHVZWHAxY21VdWJtVjBNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW55em54Ukl2UE5vWTNKUDBoZmpuTmxCL1Y5T2pYS2ZmZHpKNlhwWDRZVDhMYk5tRmFjSnlSblVQa1ZVdGtyNkNtWUh1WGUxYnNlaEtRTWl1cW8wT0Z3NktFZ09WQ1lQS2lnSGUvdWJoeFRIeGJheWhwYjEzMVNwVll2a0MzQU5MNzNkUjdWUW5KNkxxRGgxL1lGeThnK0FUbk9Qbkdpbk9QMEVPdTJ4Z3B6eUFnMmxLQXQ2RVhzdU5ENDZnZ0FWVUtIUktzOFR3MGI2TldzVlhKY1c3U0doNk9mVjg1Z1RWMDU0aC9ZR3RaTGFZUTNDMWtaUkxjYnByZjRHYUxxbWVwOUNwRTMyTHVmbUlWVjZIb3VqVUNVa0dqV1RjNEpTcjJsRzZ1TllTRU1KOGY4K2hRRVRnL1pSMjA0LzdHdGRFUmgrcDQ3dXpSYmttNnJvbjRXNDhlUUlEQVFBQm80SUVPVENDQkRVd2dnRjlCZ29yQmdFRUFkWjVBZ1FDQklJQmJRU0NBV2tCWndCMUFPNUx2YmQxem1DNjRVSnBINnZobm1hakQzNWZzSExZZ3dERWU0bDZxUDNMQUFBQmV4MXB2QkVBQUFRREFFWXdSQUlnZVYrN2IwVTNMVndINytPTGVidjVVQ2xrMDFmdWhZY2VjU09uVFFZY0tjTUNJQ0FlM3NXa2hNYUlkRjN0UGsvYjBiVjR0SEpPbytLa3hoYkZiOUhvdE9oTUFIY0FRY2pLc2Q4aVJrb1F4cUU2Q1VLSFhrNHhpeHNENit0THgyandrR0tXQnZZQUFBRjdIV204WkFBQUJBTUFTREJHQWlFQW1aZk5SeFdqeGQrV0hFN3E0eUJUUGlrNDZVRWcxZS9GbUlxbUNZZGs1OHdDSVFEazdNQ0cwY2E2U0pud1VvMXlWb3JsRmlEMEcvNEZUKzZqeTUrYmk4ZHRwUUIxQUZHanNQWDlBWG1jVm0yNE4zaVBES1I2ekJzbnkvZWVpRUthRGY3VWl3WGxBQUFCZXgxcHZJVUFBQVFEQUVZd1JBSWdJd3RrUzJ4V09rQ0FXYnNsMm80RnBYbmExeTJQT2wvMEp4eGUvcWxUOGlRQ0lDbU1PNHFJMWxtRWZlOW9QR0V0UUpYdmR3cm95MDUrQ3EvNXZhREozNzRyTUNjR0NTc0dBUVFCZ2pjVkNnUWFNQmd3Q2dZSUt3WUJCUVVIQXdJd0NnWUlLd1lCQlFVSEF3RXdQQVlKS3dZQkJBR0NOeFVIQkM4d0xRWWxLd1lCQkFHQ054VUloNzNYRzRIbjYwYUNnWjB1anRBTWgvRGFIVjJDaE9WcGd2T25QZ0lCWkFJQkl6Q0JyZ1lJS3dZQkJRVUhBUUVFZ2FFd2daNHdiUVlJS3dZQkJRVUhNQUtHWVdoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZZMlZ5ZEhNdlRXbGpjbTl6YjJaMEpUSXdRWHAxY21VbE1qQlVURk1sTWpCSmMzTjFhVzVuSlRJd1EwRWxNakF3TlNVeU1DMGxNakI0YzJsbmJpNWpjblF3TFFZSUt3WUJCUVVITUFHR0lXaDBkSEE2THk5dmJtVnZZM053TG0xcFkzSnZjMjltZEM1amIyMHZiMk56Y0RBZEJnTlZIUTRFRmdRVW5rbGZ0blkwY3RmVUFUVlFPcHFicE95Y2xpRXdEZ1lEVlIwUEFRSC9CQVFEQWdTd01GMEdBMVVkRVFSV01GU0NLU291YldGc1pXZGxaSGx1WVhSMFpYTjBhSE50TG0xaGJtRm5aV1JvYzIwdVlYcDFjbVV1Ym1WMGdpZHRZV3hsWjJWa2VXNWhkSFJsYzNSb2MyMHViV0Z1WVdkbFpHaHpiUzVoZW5WeVpTNXVaWFF3WkFZRFZSMGZCRjB3V3pCWm9GZWdWWVpUYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpjbXd2VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOUzVqY213d1pnWURWUjBnQkY4d1hUQlJCZ3dyQmdFRUFZSTNUSU45QVFFd1FUQS9CZ2dyQmdFRkJRY0NBUll6YUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OUViMk56TDFKbGNHOXphWFJ2Y25rdWFIUnRNQWdHQm1lQkRBRUNBakFmQmdOVkhTTUVHREFXZ0JUSHNweC9IT080V3UvcGFCcW9YWlRCSmxKcWFEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RFFZSktvWklodmNOQVFFTUJRQURnZ0lCQUlSQ0owbnluU2tOT1NrR3NFa1orVE4wNjNaZ0ZwNG84dWFPZEltc0tRYkNNUjllWTY3ZiszQm8yUjRzcVUrNjZJS3F0NkpENTZXdEx5UEw0WlZBcXk0dTlMRDlOYzUwdVB2YzA0TmJRTzF3SVZOQU5WRmVNcVlrNlkyYjI1SjdGVTRWTUNWbGZ2MlhsU09qSURnWVdKcEZRa21rRTZlTTVReSthQzNuYTg5eWo4REE5OFNJUU9FTGVqalBHVXFVWG5MTjJYM1pjc3NLQ21GeUFpR2xXYk9NMjN6WFIyUnZKUDd3SlFwcnQwNXNkTjNPTEM2VXBUallMNWYyQlkrMkJQMkNYL0s5Q2djenJBZjJHZXp6eWpmVUwya2hnRkhHS1pxbDM4a2FLdk16ZDBYMDdjOTltckpoVlZrTi9ibmRxZEllMlVYYi9kQm5jTE1LcmxrM3pKQnJma3F5eVlwdjh1OFhYVjV1dGh1ZnQ1cmhldjZvb1RzaE1MOUpFL1kvNHpHcW4xOXNoVkZzZTNjUkQwVENocWMyTlVtVWE1YnQ3RjFWTDU3S0xIVkZaSnJNaGNyTklQb0NDTm9ZL0l2TWxJM3d5SHNRZll4YVdqdFpqV0lCMlovamJ6ME4wMVhCZytobFd2RjhlR3dBNGdHaXFhcXpSRkZkTlNkQURwZnZMaXhSQUNBRFYzdnlEV2dzNnZIb2xnQnU2eWd0OW5rZmprQjNKL1BqSVcwYnhibkVHakUzMDYzck81WXR1R2xPT3dmMTBGbzRvc2FNU25kOGFKNTJobXBwZ2kreHNyTXlyanhSQVdNYlV3ZGcxSUVEV2FNUTYvWmNNQXh0RGlQakFGSFladmF5VnU2bUdDSFh6bHRNMU5CZDExaGFZaFZoUzAyTFE0MDZlUXBuIiwiTUlJRjh6Q0NCTnVnQXdJQkFnSVFEWHZ0NlgyQ0NaWjZVbU1iaTkwWXZUQU5CZ2txaGtpRzl3MEJBUXdGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHlNREEzTWpreE1qTXdNREJhRncweU5EQTJNamN5TXpVNU5UbGFNRmt4Q3pBSkJnTlZCQVlUQWxWVE1SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4S2pBb0JnTlZCQU1USVUxcFkzSnZjMjltZENCQmVuVnlaU0JVVEZNZ1NYTnpkV2x1WnlCRFFTQXdOVENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFLcGxEVG1ROWFmd1ZQUWVsRHV1K05reE5KMDg0Q05LbnJaMjFBQmV3RStVVTRHS0Rud3lnWmRLNmFnTlNNczVVb2NoVUVEeno5Q3BkVjV0ZFB6TDE0Ty9HZUUyZ081L2FVRlRVTUc5YzZuZXl4azV0cTFXZEtzUGtpdFB3czZWOE1XYTVkMUwveTRSRmhaSFVzZ3h4VXlTbFlsR3BOY0hoaHN5cjdFdkZlY1pHQTFNZnNpdEFXVnA2aGlXQU5rV0tJTmZSY2R0M1oyQTIzaG1NSDlNUlNHQmNjSGlQdXp3clZzU21Md3Z0M1dsUkRnT2JKa0U0MHRGWXZKNkdYQVFpYUdIQ0lXU1ZPYmdPM3pqNnhrZGJFRk1tSi96cjJXZXQ1S0VjVUR0VUJoQTRkVVVvYVBWejY5dTQ2VjU2VnNjeTNsWHUxWWxzazg0ajVsVVBMZHNBeHR1bHRQNE9QUW9PVHBuWThreFdrSDZrZ081Z1RLRTNIUnZvVklqVTR4SjBKUTc0Nnp5LzhHZFFBMzZTYU5pejRVM3UxMHpGWmcyUmt2MmRMMUx2NThFWEwwMnI1cTVCL25oVkgvTTFqb1R2cFJ2YWVFcEFKaGtJQTlOa3B2YkdFcFNkY0EwT3J0T09lR3Ryc2lPeU1CWWtqcEI1bncwY0pZMVFIT3Izbkl2SjJPblkrT0tKYkRTcmhGcVdzazgvMXE2WjFXTnZPTno3dGUxcEF0SGVyZFBpNXBDSGVpWENOcHYrZmFkd1AwazhjemFmMlZzMTluWXNnV241dUl5TFFMOEVlaGRCekNiT0tKeTlzbDg2UzRGcWU0SEd5QXRtcUdsYVdPc3EyQTZPL3BhTWkzQlNtV1REYmdQTENQQmJQdGUvYnN1QUVGNGFqa1BFRVMzR0hQOUFnTUJBQUdqZ2dHdE1JSUJxVEFkQmdOVkhRNEVGZ1FVeDdLY2Z4emp1RnJ2NldnYXFGMlV3U1pTYW1nd0h3WURWUjBqQkJnd0ZvQVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RGdZRFZSMFBBUUgvQkFRREFnR0dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1IWUdDQ3NHQVFVRkJ3RUJCR293YURBa0JnZ3JCZ0VGQlFjd0FZWVlhSFIwY0RvdkwyOWpjM0F1WkdsbmFXTmxjblF1WTI5dE1FQUdDQ3NHQVFVRkJ6QUNoalJvZEhSd09pOHZZMkZqWlhKMGN5NWthV2RwWTJWeWRDNWpiMjB2UkdsbmFVTmxjblJIYkc5aVlXeFNiMjkwUnpJdVkzSjBNSHNHQTFVZEh3UjBNSEl3TjZBMW9ET0dNV2gwZEhBNkx5OWpjbXd6TG1ScFoybGpaWEowTG1OdmJTOUVhV2RwUTJWeWRFZHNiMkpoYkZKdmIzUkhNaTVqY213d042QTFvRE9HTVdoMGRIQTZMeTlqY213MExtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dIUVlEVlIwZ0JCWXdGREFJQmdabmdRd0JBZ0V3Q0FZR1o0RU1BUUlDTUJBR0NTc0dBUVFCZ2pjVkFRUURBZ0VBTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElCQVFBZStHK0cyUkZkV3RZeExJS01SNUgvYVZORmpOUDdKZGV1K29aYUthSXU3VTNOaWR5a0ZyOTk0alN4TUJNVjc2OHVrSjUvaExTS3N1ai9TTGptQWZ3UkFaK3cwUkdxaS9rT3ZQWVVsQnIvc0tPd3IzdFZrZzljY1pCZWJuQlZHK0RMS1RwMk94MCtqWUJDUHhsYTVGTzI1MnFwazcvNnd0OFNaazNkaVNVMTJKbTdpZi9qamtoa0dCL2U4VWRmcktvTHl0RHZxVmVpd1BBNUZQenFLb1NxTjc1YnlManNJS0pFZE5pMDdTWTQ1aE4vUlVuc21Jb0FmOTNxbGFIUi9TSldWUmhyV3QzSm1lb0JKMlJESzQ5MnpGNlRHdTFtb2g0YUU2ZTAwWWt3VFBXcmV1d3ZhTEIyMjB2V210Z1pQcytEU0liMmQ5aFBCZENKZ3ZjaG8xYzciLCJNSUlEampDQ0FuYWdBd0lCQWdJUUF6cng1cWNScWFDN0tHU3hIUW42NVRBTkJna3Foa2lHOXcwQkFRc0ZBREJoTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNBd0hnWURWUVFERXhkRWFXZHBRMlZ5ZENCSGJHOWlZV3dnVW05dmRDQkhNakFlRncweE16QTRNREV4TWpBd01EQmFGdzB6T0RBeE1UVXhNakF3TURCYU1HRXhDekFKQmdOVkJBWVRBbFZUTVJVd0V3WURWUVFLRXd4RWFXZHBRMlZ5ZENCSmJtTXhHVEFYQmdOVkJBc1RFSGQzZHk1a2FXZHBZMlZ5ZEM1amIyMHhJREFlQmdOVkJBTVRGMFJwWjJsRFpYSjBJRWRzYjJKaGJDQlNiMjkwSUVjeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdXpmTk5OeDdhOG15YUpDdFNuWC9Scm9oQ2dpTjlSbFV5ZnVJMi9PdThqcUprVHg2NXFzR0dtdlByQzNvWGdra1JMcGltbjdXbzZoKzRGUjFJQVdzVUxlY1l4cHNNTnphSHhteDF4N2UvZGZneTVTRE42N3NIME5PM1hzczByMHVwUy9rcWJpdE90U1pwTFlsNlp0ckFHQ1NZUDlQSVVrWTkyZVFxMkVHbkkveXV1bTA2Wkl5YTdYelYraGRHODJNSGF1VkJKVko4elV0bHVOSmJkMTM0L3RKUzdTc1ZRZXBqNVd6dENPN1RHMUY4UGFwc3BVd3RQMU1WWXduU2xjVWZJS2R6WE9TMHhaS0JneU1VTkdQSGdtK0Y2SG1JY3I5ZytVUXZJT2xDc1JuS1BaekZCUTlSbmJEaHhTSklUUk5ydzlGREtaSm9icTduTVd4TTRNcGhRSURBUUFCbzBJd1FEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCaGpBZEJnTlZIUTRFRmdRVVRpSlVJQmlWNXVOdTVnLzYrcmtTN1FZWGp6a3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR0JuS0pSdkRraGo2ekhkNm1jWTFZbDlQTVdMU24vcHZ0c3JGOSt3WDNOM0tqSVRPWUZuUW9RajhrVm5OZXlJdi9pUHNHRU1OS1N1SUV5RXh0djROZUYyMmQrbVFydkhSQWlHZnpaMEpGcmFiQTBVV1RXOThrbmR0aC9Kc3cxSEtqMlpMN3RjdTdYVUlPR1pYMU5HRmR0b20vRHpNTlUrTWVLTmhKN2ppdHJhbGo0MUU2VmY4UGx3VUhCSFFSRlhHVTdBajY0R3hKVVRGeThiSlo5MThyR09tYUZ2RTdGQmNmNklLc2hQRUNCVjEvTVVSZVhnUlBUcWg1VXlrdzcrVTBiNkxKMy9peUs1UzlrSlJhVGVwTGlhV04wYmZWS2ZqbGxEaUlHa25pYlZiNjNkRGNZM2ZlMERraHZsZDE5MjdqeU54RjFXVzZMWlptNnpOVGZsTXJZPSJdLCJ4NXQjUzI1NiI6IklCNTFEeWRYWFJ5VzB4THpPNGtQR0tDbGdwRC1iRGJUSUtmd2dHTE5pSlUifQ.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJDS01fUlNBX0FFU19LRVlfV1JBUCIsImtpZCI6Imh0dHBzOi8vbWFsZWdlZHluYXR0ZXN0aHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvZXhwb3J0a2V5MTYyODM3OTU5MjE5OTA2NTU0In0sInJlc3BvbnNlIjp7ImtleSI6eyJhdHRyaWJ1dGVzIjp7ImNyZWF0ZWQiOjE2MjgzNzk1OTEsImVuYWJsZWQiOnRydWUsImV4cG9ydGFibGUiOnRydWUsInJlY292ZXJhYmxlRGF5cyI6NywicmVjb3ZlcnlMZXZlbCI6IkN1c3RvbWl6ZWRSZWNvdmVyYWJsZStQdXJnZWFibGUiLCJ1cGRhdGVkIjoxNjI4Mzc5NTkxfSwia2V5Ijp7ImUiOiJBUUFCIiwia2V5X2hzbSI6ImV5SmphWEJvWlhKMFpYaDBJam9pWnpRNWJGWm1iVlpNZUZOMVFrVkJUbnB3WkZvMFZWaGpiMjA1T1RsT2NVaFBjVFEzVTAxRmNXVnFielZ4WWtKT2VUQnVhR0l5VW5Od1lVVkpkbHBvWjNCSVpIbDBZMTlTY2taeU9VazBkblpDYUhaTmJVUktObU4wU0hsaFRWSmtla0ZXZDNWQmNuaDJXbXRHWm10WFZHbHZTWEJNWmxaNldqUnRkbHBzYnpaYVdIRkdZMjU2YWpGT2R6WnJWMEZ4VTBsSWNUSnZRVmN3UjI5a09XdDNPRXN5VHpRNVFqaHZRMHhJVGpoSFR6ZHRVa1pyVnpWV1ZpMDJPV0ZzUzNFNVZGbEhPV1JtU1ZCc2JVVnNXRU15V1hCTmIxRkpNRnAzZW1jemJWaE1WM0UzVEZsV1ZHaGtjVzF3TUhCUVlsTkxablpMYjFFMWRVTXhXbWhQVjBSZlRsOWxSbmRFUkdoT2RXcHFabUpzYjBNM2VqRTJRM2wzZEUxS2VWUlFNM1kzVXpKTGRqWTVWMWxtUVdGRmRFMHlUMkpQV2s1UVVtVlhYMUUyWWpJMFNsWnNMVXBPWlhVd2NVeEdNRTVyU1dGaVlucDVXVGhIUm5vd1FtSnFPVXhSVmxKUVFYTlBVbmw0U1RCcmFXRm5aMGRFUm5oMWVWRlNVVkE0TkhwNE5HaDBVRWhaU3pSbGRUUnlNRFZCTms5Tk0zWkNUbTFGYmpGZlZERjVObUo1VlVKbGMwd3pNMkZhT0hKdE1uSlFRMGxWYzBVMk1XWjNUVmxvUlhoSWQwdzBTVTFFWmxwRlZtNUtjbHBmVjB0TWVHWTJkWGxvWDFOV2RFcHRVWFZNVjNsSk5HTXpkV2xSTUVzMFpXaGpYMU5vVFVkRmRWSXlTbmd6WmpaMVpERkVWbEZDUm1SQk4wNDVkWGM1TVVWak5uRlFVbk0yVEdOemEwWklUVFp6WTE5TWFXWTJhRkY0WkRoNmNFZHRZemR1V1hWVU5tSTNkV0ZXTm5kalYzbFdYMDFzWlcwelZuZE1lamxzZDJrd1ozTmZUV2h6WVMxZmJsSkVURTVrUTJOUlJYRlNZblJ0UVZaTVkwNXpjM0p2VlhNdGFYSkdNRVJ6TmtWalpHbzViRWxsYUdSNmRXSlNUbFpGYkRSNE5EQTJWVk4yT1hGc1VrUTRaRFJ1TjFGQlVtOUJhMVJqZEZGME1EbHdXbVZGY0ZoNlNWRnVNazl3VmtGQ01HRmZlRnBWU2tZMFN6aE1TSE5rVUcwek5rUldlVUpNYmtSalVFRjNSWEJCU0ROWVFXUXRlREp1WjNKV2FFTXlUVFI1ZGxwbVVYSmhNVFJHTjNaQlpXMW5VVEk1V2xOVVpWbDZRVEYzWDJKV0xVNTNOR1kyUm1NMmIzZExhVlZYVlU1TlgzUlFjMlJRVW14dlMzbFZaVTh3WXpoelVFUkdUMVkxUVVwRlZHOWlPR050YkRsRWVIVnBaMmxtZG14Wk1Hb3pObGhFUVZkdVVqbElNbmhsWTBaVk1rUXhXa0kzVVVSZk5WWmxVa2M1TURoMVpqbHhUVjkxWkZaUmFqSkhiVlZwWlhsdWFYQmxTV3BHZG5ZeldtWk9NVzlYV1c5ckxUZHpUSEEzWWtOQ09Fb3lRblpEVGs5b1Ixa3lUbXBQUmxodFZuWm5NbmwxT0hGUlZFczFXSGxLWDJSZlNrWkhaa2wxTVc5MlgweHFSbGhyYkZwRFFVNVJZbWhVUkhWdVJqVTFlbFZJY0ZOWU9FZHFRMk55UjJoVlp6UXlhR1J3UWs5VlIyRmZSbTk2WlV0MVkyZzNTazlhYjFac1YzTnRjSG81VlRndE5sTXhPVmxyUWt4SmFIZFVWVWt5Y1RJM05VWlJWa2xoZWpCUFUwdE9iV0ZLV21kdlVrcHBWbmx2YUd0RFFtdE1lREY1TWpkRlYxcDJiVEJLY1hkUFoxcGFOak5wVVVrM2RFRXdja05oUjJRd1NFUTBhRzVEY1ZOUldWRjVkbnBOZVhWbU1WY3RSREZFWDNGYWRtZE1VamczYW5sZmFtVnZSWHBNVWxjeFZWWnZOblJxVDB4clUzbEthVkYxVDJScGEyaEJhMk0zTUV4MlFUaFpNRTFLWVVzeVExVkRTSFo1Ukc1RGEzRk9hbTB0VEVnMlYwYzBiR1ZSU1hZd09VWlljWHB3ZEVKVVFqbDBRVkYwVVhSWWJGbHdjR0pwYm5NemVrWjJlVWs1WlhReWJHdGlhbXQ2Um1aU2VHcE5SRnBXTlRaNWRUbGxiR1ZVTjB3NWFsUnRkMGRLVVVaVmVUZGpRVUpSZUZKdFdGbFJjV1ZPUm5oamMyTTVZalYxTmtOaExYVndNVzVFYjNoV1VrSkVSMFZpV0ZCT2FsOVRlREpDUkU5bFNWUmpWelpSWTJvNU9GTjZOMkZLWDNCdE5Vc3RjbXhxWW5oT1dtaGlNa0prY25ScE5IWm1VRWw0Y2xaQlNFc3lkMU4yUzBGa2EyTXlSVlpvUVVNMWFGaHFNVTUwYWpNeldFNXdWSEp2V214RVRHSnhjVWwzVWtWUVZuWmZja3hRVXpWZk1YbHlkRzFVV21rd01GVXRkbTVQWm01dWRtdGtaRmRCVlVGNmJHbGFlRTV2UWpoUmJXTXdka3hDWldsUFlWZzRWRVIyVG1sbFNWVjBhVEZFWTFrNVdUZG5iRE5TYmtjelQyTldVakJqVTJwWFFYTkpXUzFTUmtWSVFYTktXbk4zVWxsUlkzcGxhVUpDVDBScE5USlRUV1U0T0UxQ1VHcHZObEpyYjBsQ1ExRnlSbWxEVERCaVNtNWFUblJQVFV4aFlUQkNZMGcwWldGb1NXSnBibUpxWVVzMExVdExWRlJ0WDFkbFlXaFpiVEZoY1dwQ09VSnZZa2h2TjBsS09EUmZjSG81TTBodVMzaDZTM3BvVFU5a1pUYzNUVVV6TkdwMFlqSnVXak0wYWtwbkxYUXpibVZtYzJ4dVFsUjZabUpCV0hCcGNXOVdSRmhZUldNMVlXOHhPR2N4WTNNME1uWTRaMDVKWW1acVlqQnhTM2xHYkd4TlZtNVpXVlUwUlZoeWRXOTRkakkyY1VsMFRuSmpjbWhhTVROeFFUaExhM0pWTFVWRFYzSXdXV1JLYm5OSGNVVnFkVzh3TjNOTU4yZHBkVFY1VVcxUVRFVjFTVWxoWmxwUlZHdFNiMWwwYUd0TU5pMU1iVTUwVW1adlNVUXhURU5RTW1rMVMxcE1aMVZSVmkxSGNUSm1ZMnBCTFZGc1FtdERXR2xtTUVaelNFc3plbDlOWVZWRE15MTRNRlJ5VldOQ1RXbHVOV0ZXV2xGdWVGRnlUMm8xUldkdk1YZGZlRWx2WkdKR1IybHNZbXh0ZGpWamJ6aFhRa05XTTNWclN6VnlOM1p3U25wR2FXTlNaalIzT0ZSNk9ESkhWR3N4TUV4VFJtczFRazVtTlRWV05XSXpaalJVTFVVeFpqUndWRXMwT0c5ak5tcDNWRlprUjFWVlRDSXNJbWhsWVdSbGNpSTZleUpoYkdjaU9pSmthWElpTENKbGJtTWlPaUpEUzAxZlVsTkJYMEZGVTE5TFJWbGZWMUpCVUNJc0ltdHBaQ0k2SW1aaGEyVXRjbVZzWldGelpTMXJaWGtpZlN3aWMyTm9aVzFoWDNabGNuTnBiMjRpT2lJeExqQWlmUSIsImtleV9vcHMiOlsiZGVjcnlwdCIsImVuY3J5cHQiXSwia2lkIjoiaHR0cHM6Ly9tYWxlZ2VkeW5hdHRlc3Roc20ubWFuYWdlZGhzbS5henVyZS5uZXQva2V5cy9leHBvcnRrZXkxNjI4Mzc5NTkyMTk5MDY1NTQvNzI1NWRjNDg2ZmUzMGI0MzBkNmFiY2I1YWFlNWUwMDYiLCJrdHkiOiJSU0EiLCJuIjoialYxalBmVGZpeC0zQThhMk5kTDc4dTRLcUxsNTJxY0ZPT3drd0RydGNtcnZGaU5nbDNaQnM3SXpBd0lIdlc2aDJDbnFrbDNBOWhoRmxuU25Fcjg0Z2VLZnR1ZXY3WnFfTkJpWmVOZVJrNHZHMWRfOFhRQWJ3b0U2c280aFV3b0JrQkpFTmlhd0xJMHM3b3RsWEJpcGZXQW1hbXJva2tuRFF4UFgwWWFGZDUzNjhMWFhFbVRIZ1RHQXUzcmVqX3BUSUJGV2h6UTBzVHBfRndzYm96Q0xNcTZ5VTBjMDB0TjFUcnFaZ2czRjZ6TDJMVHVGOUFrWXhUcTRPa29ja2c2cV9WMnozVllpc3VfdTU0V2hLYmI2WkotajF5MGU5US1rZlYyaC12Y0xDTTR6VHhGWTJyak1vcmZ2M19IbkFNcUVNeWM3S09ZOUF1N3E3WTFmeFZXajl3In0sInJlbGVhc2VfcG9saWN5Ijp7ImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCIsImRhdGEiOiJleUpoYm5sUFppSTZXM3NpWVc1NVQyWWlPbHQ3SW1Oc1lXbHRJam9pYzJSckxYUmxjM1FpTENKbGNYVmhiSE1pT2lKMGNuVmxJbjFkTENKaGRYUm9iM0pwZEhraU9pSm9kSFJ3Y3pvdkwyMWhiR1ZuWldSNWJtRjBkR1Z6ZEdGMGRHVnpkR0YwYVc5dUxtRjZkWEpsZDJWaWMybDBaWE11Ym1WMEx5SjlYU3dpZG1WeWMybHZiaUk2SWpFdU1DNHdJbjAifX19fQ.nrQpeVFj48F8yA4ar9q8H8CSBBit0oN4ZllGz2cscKzAv6S8JgdJTOy2a_8hg5mti8M5cksv6YS2PhLRj9qp_0uGHLN7sqp0QrZzNN9mNcR3LDiGjzdDlU8qHWSUDPcYg_2DOgwLrTvZLGVyps28T6jdmwU7SeO3OcGjEmN9bDlp7N8Du_XdjtIP6ARMvFmn3x6pNwgsb8FPpZZqfdbfG98Ra2MssfFYl3g31ykRnU13W-eLsAkCbIxVtc5EGRb_qpTFeyn1oOF_sbvuOrd5FIWTekfONqef-Jmq4dJC2er93wjyObq0nZ6TbjtiUyKVIHeRZHrTgi7bq-bPtgR9Sw\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "14058", + "content-length": "14104", "content-security-policy": "default-src 'self'", "content-type": "application/json; charset=utf-8", "strict-transport-security": "max-age=31536000; includeSubDomains", @@ -104,16 +103,16 @@ "x-frame-options": "SAMEORIGIN", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;", "x-ms-keyvault-region": "eastus2", - "x-ms-request-id": "1d410670-ec1a-11eb-b771-000d3a7a3d40", - "x-ms-server-latency": "583" + "x-ms-request-id": "c394f6e8-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "916" } } ], "uniqueTestInfo": { "uniqueName": { - "exportkey": "exportkey162708824569905873" + "exportkey": "exportkey162837959219906554" }, "newDate": {} }, - "hash": "7b3fff06a6e71c0d0f5072b3242d166c" + "hash": "e9c31a3de43c8b9e9533d17d2add68f8" } \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_import_an_exportable_key_and_release_it.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_import_an_exportable_key_and_release_it.json index ea184d710f56..4601a784a37f 100644 --- a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_import_an_exportable_key_and_release_it.json +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_import_an_exportable_key_and_release_it.json @@ -2,23 +2,22 @@ "recordings": [ { "method": "GET", - "url": "https://skrattestation.azurewebsites.net//generate-test-token", + "url": "https://skr_attestation.azure.net//generate-test-token", "query": {}, "requestBody": null, "status": 200, - "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJzbXlYWThEVGE1Z3dyY1d2X2VvM1RETGhvYTlUR3RYcWM3aUpNak9HcTV3Q3RaMm9hMXVmeTZJLWhuQUdnVVlaZ25LX05QRGF0Um1ocy1pWGEtRGFRZ25RdzBzTS1WNWdYN0dCbUJBelJFR0k0QlhzWXJxNC1XVldDSnZlYVlEN00xYVBERHdxMmx0NTZWakkzeGFUYldZUGRjVWpONnpnVjFEOUNXZmZvLWZLTUoxMllQeEhDRnZQVGcwN25EM0w4NHIyb3hUWk54aG1aWlp2cGVsU1NoUll5NVlWVVdMV2pveENtNFFJN1pQWXRha0Z6Q0ROUTJfZDZHYmdiMTl2djk3Y2d2NF9vWHhCUWplamZvQ2dUa0dqeE16enUwZm5SSUJ2Z3BKNWZZZUJUTE5xU3o1bXdISFhxbkpkWGc4WVV5OXBnLUxXNGVlTGhOUGN3R2FiRHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyNDcsImV4cCI6MTk0MjY2NDI0N30.X-WjkI6RFNwSdlFccgGyn-1l1Ha1XGZwoidZn1Nx6pH_9XglAgW8QTkUCgi0l0sme_oSlhZszPuEulcxAZSDsSwz4dfNo7orOfP5RmqIc88hODLOSSExMw-NQkx-S7jG51OcY-UXs78jSIXPt3o_-I6acr6k72HqLn11yqjW8xjvAA3ROaJ5SqvQihmW7jIH_YxHFLzeRAfFa62bS6_EJ2vARSnSJpOMpf18vao3AbrZImVx99VjlX1DBQ0TuDlPcydMnjJFgULazft73L8-X_3BGOXtpmYcOE0ttztZ4tkZEBklJPdonqZJBOtIZaGzbE91haRN-9RaP1WbUwLKjg\"}", + "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ1d2FicmgyWElpUkVndHF1djloYzlheWpLaDUtQ01od1o2WkE2dEtieDlraDZ5QzJCdkpIRGNhdmpkbDRQZ3FNcllWWEZYSkwyN3NibVNGcmlfaUU5Mldra05nMDUyNkxDWlBCQXJxT0hQOGVNQTAyYloySkxlZVJfMTYwdHZMR1gxalA2d3lxX2lzTEEwQl9PS2tNVGpxWmdUckI2UHBTeHJSb2t2ak9mR1BVZUdoUTBENGMxak1EdGlhdzhrNFgxSUlaTVByZUk2V3djZVNOamFZR0lMMUZ6Qy1Qc3o3bGdidElvV1BxUzVlTElBSFdxRXpzeTdLSms5MEwzMnZPU08tQ1BuM1NBbXVHNTluNTRQMHZTUmVxTzRsbVltcDVXMFpMQVJEdWpwZkFTODBHbXhmWHVvd0NrUG1EZTBGTWRBaXFUWnJuMWpJUndYZ1Ffa0dEUFEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1OTQsImV4cCI6MTYyODk4NDM5NH0.KTT6NSQqmZphXd96k4l4b5_0OzdYQGVnVaxQjPWKTEdbCENQesCCNpqKP7cxGbJLpM64Eqgf8gruIYG-FhgqDibxxV0dPNhVS8-LLHgp1l7cP2_OMyrzL8PbADesMbpPhYB3cg86ERdUOPTkRFA8geXgZhiS1fr2WtHVuMEMP79nm1y-h4uxerOpYouFDZ1zbgFOnJtuvpeD3HT3CjtXWM5r6Y35JiXDrV-lCp3w42NKp2S5aSF29mI77OYnWFc6WtJKiembp8AsrtCtJA9LYyCz87cU0EXwnaq7CVUYY_23kTTdHa44hWDkpCl1DG7_NBF4ScguGeV_5dSI5_Fjfg\",\"attestationToken\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ1d2FicmgyWElpUkVndHF1djloYzlheWpLaDUtQ01od1o2WkE2dEtieDlraDZ5QzJCdkpIRGNhdmpkbDRQZ3FNcllWWEZYSkwyN3NibVNGcmlfaUU5Mldra05nMDUyNkxDWlBCQXJxT0hQOGVNQTAyYloySkxlZVJfMTYwdHZMR1gxalA2d3lxX2lzTEEwQl9PS2tNVGpxWmdUckI2UHBTeHJSb2t2ak9mR1BVZUdoUTBENGMxak1EdGlhdzhrNFgxSUlaTVByZUk2V3djZVNOamFZR0lMMUZ6Qy1Qc3o3bGdidElvV1BxUzVlTElBSFdxRXpzeTdLSms5MEwzMnZPU08tQ1BuM1NBbXVHNTluNTRQMHZTUmVxTzRsbVltcDVXMFpMQVJEdWpwZkFTODBHbXhmWHVvd0NrUG1EZTBGTWRBaXFUWnJuMWpJUndYZ1Ffa0dEUFEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1OTQsImV4cCI6MTYyODk4NDM5NH0.KTT6NSQqmZphXd96k4l4b5_0OzdYQGVnVaxQjPWKTEdbCENQesCCNpqKP7cxGbJLpM64Eqgf8gruIYG-FhgqDibxxV0dPNhVS8-LLHgp1l7cP2_OMyrzL8PbADesMbpPhYB3cg86ERdUOPTkRFA8geXgZhiS1fr2WtHVuMEMP79nm1y-h4uxerOpYouFDZ1zbgFOnJtuvpeD3HT3CjtXWM5r6Y35JiXDrV-lCp3w42NKp2S5aSF29mI77OYnWFc6WtJKiembp8AsrtCtJA9LYyCz87cU0EXwnaq7CVUYY_23kTTdHa44hWDkpCl1DG7_NBF4ScguGeV_5dSI5_Fjfg\"}", "responseHeaders": { - "content-length": "1305", + "content-length": "2684", "content-type": "application/json; charset=utf-8", - "date": "Sat, 24 Jul 2021 00:57:26 GMT", - "etag": "W/\"519-qGY15SX6c6xzCgL+zwAwW8/ezEM\"", - "status": "200", + "date": "Sat, 07 Aug 2021 23:39:54 GMT", + "etag": "W/\"a7c-W1kqIG4+yQP9B95D2kqR5xsl55c\"", "x-powered-by": "Express" } }, { "method": "PUT", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162708824834309157", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162837959605708610", "query": { "api-version": "7.3-preview" }, @@ -34,8 +33,8 @@ "www-authenticate": "Bearer authorization=\"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012\", resource=\"https://managedhsm.azure.net\"", "x-content-type-options": "nosniff", "x-frame-options": "SAMEORIGIN", - "x-ms-request-id": "1de44452-ec1a-11eb-b771-000d3a7a3d40", - "x-ms-server-latency": "1" + "x-ms-request-id": "c4b2f034-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "0" } }, { @@ -49,7 +48,7 @@ "cache-control": "no-store, no-cache", "content-length": "1322", "content-type": "application/json; charset=utf-8", - "date": "Sat, 24 Jul 2021 00:57:27 GMT", + "date": "Sat, 07 Aug 2021 23:39:54 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", @@ -58,22 +57,22 @@ "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11898.8 - NCUS ProdSlices", - "x-ms-request-id": "ede66456-16e8-4a1a-82da-f1a4da137800" + "x-ms-ests-server": "2.1.11935.12 - SCUS ProdSlices", + "x-ms-request-id": "7d1b9151-0659-416e-8740-445fbd6f3300" } }, { "method": "PUT", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162708824834309157", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162837959605708610", "query": { "api-version": "7.3-preview" }, - "requestBody": "{\"key\":{\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"AKCRTQAjSsaDshtMFdW-2Ie9yVnC5Xr1Suc06PAHINd10nXkVSB-N4TO62ClCkZV3XKnqU0nHo7o95WaZpym53W_DiO62umRtFKdl4UotL2QUh0y3SZWeWuoK2u_x2aMj17rUFN0f9GZMZ0pqEQNCPRBLVJ_-TEe2nGCWSC0exxGsRqz6R1zFkB-icfzQPe4WjQELOUXQ7J9RxhAPTTHtDivYYG-BeTRHrmF04JT1_6b9T_C8bAC0i0teT-nmlBLarQtBJKATXBx1yegbPOoiTqlQrFQP4MrKWNxtnB9Tcbjcvj-Z9je0ckI_eRc4DvAhqcUh_p15Dqg4GeaoNIO_jU\",\"e\":\"AQAB\",\"d\":\"Ynx9JGaBSP4iUsf6ZJ6opantRNdcdmzaQrKbZg6ZQE8Ohi1FYabJWvaoPSE-CiJEsDzShXZHMhUHN4X7Bn8BXaGQhK3p9HXgiwQKmix7oAJTu4ElUIyd8UC3UWHSZr40el4PaQD-HYu_eMzCXus34MnRiNbh_BUWm6T-Eidhk9d3kNIyaSi9YNDQHW6tjWrEhhq63O7JU1j9ZonFChZxpKk20jdkQKQURVAdpOdL-5j4I70ZxFuU6wHZj8DS8oRQfwGOvZKbgYDb5jgf3UNL_7eACqq92XPVX56vm7iKbqeyjCqAIx5y3hrSRIJtZlWCwjYnYQGd4unxDLi8wmJWSQ\",\"dp\":\"AMmhWb5yZcu6vJr8xJZ-t0_likxJRUMZAtEULaWZt2DgODj4y9JrZDJP6mvckzhQP0WXk2NuWbU2HR5pUeCN2wieG1B76VKoH76vfnaJDqT1NuJVBcP2SLHog3ffwZtMME5zjfygchG3kihqOSpwTQ9ETAqAJTkRC38fEhwAz_Cp\",\"dq\":\"AKC9TAo9n2RDaggjdLXK8kiLrBVoaWFTpqXkzYXRhtsx4vWPAkxhfSnze05rVMl6HiXv7FnE0f0wYawzUJzoyuXBH0zS6D9BqCZPeF543AmWB27iPf38Q9Z8Rjr6oBgMSnGDV_mm8nDVQkeaDyE4cOZh-5UKvKShTKKQVwunmDNH\",\"qi\":\"AJ_nrkLpK8BPzVeARkvSHQyKwMWZ-a8CD95qsKfn0dOZAvXY-2xhQYTEwbED-0bpTNEKbIpA-ZkaHygmnzJkNbbFAnb9pkkzU8ZQqDP3JNgMfVIroWx58Oth9nJza2j7i-MkPRCUPEq3Ao0J52z7WJIiLji8TTVYW_NaiM1oxzsH\",\"p\":\"ANHerI1o3dLB_VLVmZZVss8VZSYN5SaeQ_0qhfOSgOFwj__waCFmy2EG7l6l6f_Z-Y0L7Mn_LNov68lyWSFa2EuQUeVj4UoFHc5Di8ZUGiSsTwFM-XMtNuv8HmGgDYLL5BIJD3eTz71LdgW-Ez38OZH34b7VeG8zfeUDb8Hi30zz\",\"q\":\"AMPcZrZBqbc82DO8Q5zTT8ZXRGWrW36KktMllaIk1W2RHnRiQiW0jBWmcCgqUcQNHa1LwumjyNqwx28QBS37BTvG7ULGUoio6LrOeoiBGEMj-U19sX6m37plEhj5Mak7j3OPPY_T9rohjTW5aGGg9YSwq4jdz0RrmBX00ofYOjI3\"},\"attributes\":{\"exportable\":true},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyYXR0ZXN0YXRpb24uYXp1cmV3ZWJzaXRlcy5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0\"}}", + "requestBody": "{\"key\":{\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"AKCRTQAjSsaDshtMFdW-2Ie9yVnC5Xr1Suc06PAHINd10nXkVSB-N4TO62ClCkZV3XKnqU0nHo7o95WaZpym53W_DiO62umRtFKdl4UotL2QUh0y3SZWeWuoK2u_x2aMj17rUFN0f9GZMZ0pqEQNCPRBLVJ_-TEe2nGCWSC0exxGsRqz6R1zFkB-icfzQPe4WjQELOUXQ7J9RxhAPTTHtDivYYG-BeTRHrmF04JT1_6b9T_C8bAC0i0teT-nmlBLarQtBJKATXBx1yegbPOoiTqlQrFQP4MrKWNxtnB9Tcbjcvj-Z9je0ckI_eRc4DvAhqcUh_p15Dqg4GeaoNIO_jU\",\"e\":\"AQAB\",\"d\":\"Ynx9JGaBSP4iUsf6ZJ6opantRNdcdmzaQrKbZg6ZQE8Ohi1FYabJWvaoPSE-CiJEsDzShXZHMhUHN4X7Bn8BXaGQhK3p9HXgiwQKmix7oAJTu4ElUIyd8UC3UWHSZr40el4PaQD-HYu_eMzCXus34MnRiNbh_BUWm6T-Eidhk9d3kNIyaSi9YNDQHW6tjWrEhhq63O7JU1j9ZonFChZxpKk20jdkQKQURVAdpOdL-5j4I70ZxFuU6wHZj8DS8oRQfwGOvZKbgYDb5jgf3UNL_7eACqq92XPVX56vm7iKbqeyjCqAIx5y3hrSRIJtZlWCwjYnYQGd4unxDLi8wmJWSQ\",\"dp\":\"AMmhWb5yZcu6vJr8xJZ-t0_likxJRUMZAtEULaWZt2DgODj4y9JrZDJP6mvckzhQP0WXk2NuWbU2HR5pUeCN2wieG1B76VKoH76vfnaJDqT1NuJVBcP2SLHog3ffwZtMME5zjfygchG3kihqOSpwTQ9ETAqAJTkRC38fEhwAz_Cp\",\"dq\":\"AKC9TAo9n2RDaggjdLXK8kiLrBVoaWFTpqXkzYXRhtsx4vWPAkxhfSnze05rVMl6HiXv7FnE0f0wYawzUJzoyuXBH0zS6D9BqCZPeF543AmWB27iPf38Q9Z8Rjr6oBgMSnGDV_mm8nDVQkeaDyE4cOZh-5UKvKShTKKQVwunmDNH\",\"qi\":\"AJ_nrkLpK8BPzVeARkvSHQyKwMWZ-a8CD95qsKfn0dOZAvXY-2xhQYTEwbED-0bpTNEKbIpA-ZkaHygmnzJkNbbFAnb9pkkzU8ZQqDP3JNgMfVIroWx58Oth9nJza2j7i-MkPRCUPEq3Ao0J52z7WJIiLji8TTVYW_NaiM1oxzsH\",\"p\":\"ANHerI1o3dLB_VLVmZZVss8VZSYN5SaeQ_0qhfOSgOFwj__waCFmy2EG7l6l6f_Z-Y0L7Mn_LNov68lyWSFa2EuQUeVj4UoFHc5Di8ZUGiSsTwFM-XMtNuv8HmGgDYLL5BIJD3eTz71LdgW-Ez38OZH34b7VeG8zfeUDb8Hi30zz\",\"q\":\"AMPcZrZBqbc82DO8Q5zTT8ZXRGWrW36KktMllaIk1W2RHnRiQiW0jBWmcCgqUcQNHa1LwumjyNqwx28QBS37BTvG7ULGUoio6LrOeoiBGEMj-U19sX6m37plEhj5Mak7j3OPPY_T9rohjTW5aGGg9YSwq4jdz0RrmBX00ofYOjI3\"},\"attributes\":{\"exportable\":true},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyX2F0dGVzdGF0aW9uLmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ\"}}", "status": 200, - "response": "{\"attributes\":{\"created\":1627088248,\"enabled\":true,\"exportable\":true,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1627088248},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\",\"wrapKey\"],\"kid\":\"https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162708824834309157/db71a595b9a648472ca5b5b5fc76fe8f\",\"kty\":\"RSA-HSM\",\"n\":\"oJFNACNKxoOyG0wV1b7Yh73JWcLlevVK5zTo8Acg13XSdeRVIH43hM7rYKUKRlXdcqepTScejuj3lZpmnKbndb8OI7ra6ZG0Up2XhSi0vZBSHTLdJlZ5a6gra7_HZoyPXutQU3R_0ZkxnSmoRA0I9EEtUn_5MR7acYJZILR7HEaxGrPpHXMWQH6Jx_NA97haNAQs5RdDsn1HGEA9NMe0OK9hgb4F5NEeuYXTglPX_pv1P8LxsALSLS15P6eaUEtqtC0EkoBNcHHXJ6Bs86iJOqVCsVA_gyspY3G2cH1NxuNy-P5n2N7RyQj95FzgO8CGpxSH-nXkOqDgZ5qg0g7-NQ\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}", + "response": "{\"attributes\":{\"created\":1628379595,\"enabled\":true,\"exportable\":true,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1628379595},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\",\"wrapKey\"],\"kid\":\"https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162837959605708610/18bc3f8e4b7803ab3aeb2a8f7c7cdfa5\",\"kty\":\"RSA-HSM\",\"n\":\"oJFNACNKxoOyG0wV1b7Yh73JWcLlevVK5zTo8Acg13XSdeRVIH43hM7rYKUKRlXdcqepTScejuj3lZpmnKbndb8OI7ra6ZG0Up2XhSi0vZBSHTLdJlZ5a6gra7_HZoyPXutQU3R_0ZkxnSmoRA0I9EEtUn_5MR7acYJZILR7HEaxGrPpHXMWQH6Jx_NA97haNAQs5RdDsn1HGEA9NMe0OK9hgb4F5NEeuYXTglPX_pv1P8LxsALSLS15P6eaUEtqtC0EkoBNcHHXJ6Bs86iJOqVCsVA_gyspY3G2cH1NxuNy-P5n2N7RyQj95FzgO8CGpxSH-nXkOqDgZ5qg0g7-NQ\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3Nrcl9hdHRlc3RhdGlvbi5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wLjAifQ\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "997", + "content-length": "1016", "content-security-policy": "default-src 'self'", "content-type": "application/json; charset=utf-8", "strict-transport-security": "max-age=31536000; includeSubDomains", @@ -81,22 +80,22 @@ "x-frame-options": "SAMEORIGIN", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;", "x-ms-keyvault-region": "eastus2", - "x-ms-request-id": "1e06a18c-ec1a-11eb-b771-000d3a7a3d40", - "x-ms-server-latency": "759" + "x-ms-request-id": "c4d1a51a-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "1020" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162708824834309157/db71a595b9a648472ca5b5b5fc76fe8f/release", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162837959605708610/18bc3f8e4b7803ab3aeb2a8f7c7cdfa5/release", "query": { "api-version": "7.3-preview" }, - "requestBody": "{\"target\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJzbXlYWThEVGE1Z3dyY1d2X2VvM1RETGhvYTlUR3RYcWM3aUpNak9HcTV3Q3RaMm9hMXVmeTZJLWhuQUdnVVlaZ25LX05QRGF0Um1ocy1pWGEtRGFRZ25RdzBzTS1WNWdYN0dCbUJBelJFR0k0QlhzWXJxNC1XVldDSnZlYVlEN00xYVBERHdxMmx0NTZWakkzeGFUYldZUGRjVWpONnpnVjFEOUNXZmZvLWZLTUoxMllQeEhDRnZQVGcwN25EM0w4NHIyb3hUWk54aG1aWlp2cGVsU1NoUll5NVlWVVdMV2pveENtNFFJN1pQWXRha0Z6Q0ROUTJfZDZHYmdiMTl2djk3Y2d2NF9vWHhCUWplamZvQ2dUa0dqeE16enUwZm5SSUJ2Z3BKNWZZZUJUTE5xU3o1bXdISFhxbkpkWGc4WVV5OXBnLUxXNGVlTGhOUGN3R2FiRHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyNDcsImV4cCI6MTk0MjY2NDI0N30.X-WjkI6RFNwSdlFccgGyn-1l1Ha1XGZwoidZn1Nx6pH_9XglAgW8QTkUCgi0l0sme_oSlhZszPuEulcxAZSDsSwz4dfNo7orOfP5RmqIc88hODLOSSExMw-NQkx-S7jG51OcY-UXs78jSIXPt3o_-I6acr6k72HqLn11yqjW8xjvAA3ROaJ5SqvQihmW7jIH_YxHFLzeRAfFa62bS6_EJ2vARSnSJpOMpf18vao3AbrZImVx99VjlX1DBQ0TuDlPcydMnjJFgULazft73L8-X_3BGOXtpmYcOE0ttztZ4tkZEBklJPdonqZJBOtIZaGzbE91haRN-9RaP1WbUwLKjg\",\"nonce\":\"nonce\",\"enc\":\"RSA_AES_KEY_WRAP_256\"}", + "requestBody": "{\"target\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ1d2FicmgyWElpUkVndHF1djloYzlheWpLaDUtQ01od1o2WkE2dEtieDlraDZ5QzJCdkpIRGNhdmpkbDRQZ3FNcllWWEZYSkwyN3NibVNGcmlfaUU5Mldra05nMDUyNkxDWlBCQXJxT0hQOGVNQTAyYloySkxlZVJfMTYwdHZMR1gxalA2d3lxX2lzTEEwQl9PS2tNVGpxWmdUckI2UHBTeHJSb2t2ak9mR1BVZUdoUTBENGMxak1EdGlhdzhrNFgxSUlaTVByZUk2V3djZVNOamFZR0lMMUZ6Qy1Qc3o3bGdidElvV1BxUzVlTElBSFdxRXpzeTdLSms5MEwzMnZPU08tQ1BuM1NBbXVHNTluNTRQMHZTUmVxTzRsbVltcDVXMFpMQVJEdWpwZkFTODBHbXhmWHVvd0NrUG1EZTBGTWRBaXFUWnJuMWpJUndYZ1Ffa0dEUFEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1OTQsImV4cCI6MTYyODk4NDM5NH0.KTT6NSQqmZphXd96k4l4b5_0OzdYQGVnVaxQjPWKTEdbCENQesCCNpqKP7cxGbJLpM64Eqgf8gruIYG-FhgqDibxxV0dPNhVS8-LLHgp1l7cP2_OMyrzL8PbADesMbpPhYB3cg86ERdUOPTkRFA8geXgZhiS1fr2WtHVuMEMP79nm1y-h4uxerOpYouFDZ1zbgFOnJtuvpeD3HT3CjtXWM5r6Y35JiXDrV-lCp3w42NKp2S5aSF29mI77OYnWFc6WtJKiembp8AsrtCtJA9LYyCz87cU0EXwnaq7CVUYY_23kTTdHa44hWDkpCl1DG7_NBF4ScguGeV_5dSI5_Fjfg\",\"nonce\":\"nonce\",\"enc\":\"RSA_AES_KEY_WRAP_256\"}", "status": 200, - "response": "{\"value\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IlU0NXdTcDZrT2tQZUQxX2M1WURSZlVHb0JseThxSDlHMTlaZnVGVkx5WWsiLCJ4NWMiOlsiTUlJSW1UQ0NCb0dnQXdJQkFnSVRNd0FXKzlEby9manlOampiYkFBQUFCYjcwREFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd056STBNREF6T0RNNFdoY05Nakl3TnpFNU1EQXpPRE00V2pCOU1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DVjBFeEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV2TUMwR0ExVUVBd3dtS2k1dFlXeGxaMlZ6YTNKbGJqSm9jMjB1YldGdVlXZGxaR2h6YlM1aGVuVnlaUzV1WlhRd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURoSjZnSlljek5VbnBrZmgrNktXbXk5UnRXYm1RMXIxaEpoK2tnc3pCc2F0UW9zaEpWa1IzMWxFdkU4dUJtalA5TnNwSHY3SHJWVHRRcVFtcDVwNUw1UGRacys5ZVUwdHBWdGhWUGxqUE5iN1REaUZrWWlPV0JuVXFOaFQwQ1RGVHpRWWV1NUZOazV0QkhvbGloVWRwVVZWUjJXZkpQSWNIY3h6SFBIcjRMeEwza0liZFc5aXdEdlYwSlFnU2MvSmp6OWZXK092SWlKMUpNdXBsbndOc2VhTVo2U0hrdVN1enp4MnBYQWgwck9XUDZ6ZGJXUVpvZjBMN3VRK0VqTTFiQW1SMU5NbWN1V2tLeUkzaTJEblJraEpMRDlZdlcrcWkvMzBDbWVSRWQxczd1UkZkRGxsdCtOVFYxMit1OWZ2Z1ZlWHhGVHA4U3Z3dW1XWTFpVVhRZkFnTUJBQUdqZ2dRME1JSUVNRENDQVg0R0Npc0dBUVFCMW5rQ0JBSUVnZ0Z1QklJQmFnRm9BSFlBN2t1OXQzWE9ZTHJoUW1rZnErR2VacU1QZmwrd2N0aURBTVI3aVhxby9jc0FBQUY2MWZ4THFnQUFCQU1BUnpCRkFpQmNYYm9NSUk1OUdRTVZpdDJGMkkzTTF0RDhNMDJlSTFJVVRyRXkvbWlSY1FJaEFOY256QTdzUWJ3Q3lNQXdadUVxUDlLNGFGNDU2aGpESjVSOE9EamRhUkhDQUhZQVFjaktzZDhpUmtvUXhxRTZDVUtIWGs0eGl4c0Q2K3RMeDJqd2tHS1dCdllBQUFGNjFmeEwrZ0FBQkFNQVJ6QkZBaUVBalBoclZpZDYxMjh4cjV3UFI0bytCQ0FYbUpTTHY0MVhsZE9zaU9uYWVmQUNJQmp1Z242UUd5ZjA1RXU1L3lsNjVabmJvbFhodUZmT2NJRlNoTm1EZFFUSkFIWUFVYU93OWYwQmVaeFdiYmczZUk4TXBIck1HeWZMOTU2SVFwb04vdFNMQmVVQUFBRjYxZnhNSUFBQUJBTUFSekJGQWlFQW1wK2JXMXFrUWZkaWJQOEoreUh1SC92L0ExZk9MaGVQcVIwSnpJVVBhMjRDSUgzS2FZc3Z6RnNES3FsZm1YZ2E4UlhYWHM4T0d5WkhHY0U3dGx6TEJFSkFNQ2NHQ1NzR0FRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd1BBWUpLd1lCQkFHQ054VUhCQzh3TFFZbEt3WUJCQUdDTnhVSWg3M1hHNEhuNjBhQ2daMHVqdEFNaC9EYUhWMkNoT1ZwZ3ZPblBnSUJaQUlCSXpDQnJnWUlLd1lCQlFVSEFRRUVnYUV3Z1o0d2JRWUlLd1lCQlFVSE1BS0dZV2gwZEhBNkx5OTNkM2N1YldsamNtOXpiMlowTG1OdmJTOXdhMmx2Y0hNdlkyVnlkSE12VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOU1V5TUMwbE1qQjRjMmxuYmk1amNuUXdMUVlJS3dZQkJRVUhNQUdHSVdoMGRIQTZMeTl2Ym1WdlkzTndMbTFwWTNKdmMyOW1kQzVqYjIwdmIyTnpjREFkQmdOVkhRNEVGZ1FVZEJLWmN4NnRITWw4MVFqbkpqSGFkNjRqdEwwd0RnWURWUjBQQVFIL0JBUURBZ1N3TUZjR0ExVWRFUVJRTUU2Q0ppb3ViV0ZzWldkbGMydHlaVzR5YUhOdExtMWhibUZuWldSb2MyMHVZWHAxY21VdWJtVjBnaVJ0WVd4bFoyVnphM0psYmpKb2MyMHViV0Z1WVdkbFpHaHpiUzVoZW5WeVpTNXVaWFF3WkFZRFZSMGZCRjB3V3pCWm9GZWdWWVpUYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpjbXd2VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOUzVqY213d1pnWURWUjBnQkY4d1hUQlJCZ3dyQmdFRUFZSTNUSU45QVFFd1FUQS9CZ2dyQmdFRkJRY0NBUll6YUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OUViMk56TDFKbGNHOXphWFJ2Y25rdWFIUnRNQWdHQm1lQkRBRUNBakFmQmdOVkhTTUVHREFXZ0JUSHNweC9IT080V3UvcGFCcW9YWlRCSmxKcWFEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RFFZSktvWklodmNOQVFFTUJRQURnZ0lCQUtkcWp3TlEzd1NlbWpma3VmaHFPQXpZNUZzRmMvQ3NIenltOFhNTkRwTzNhUjFCRkM0VFlyQ0dQdmFBZ2FDcjZPUlpVYmpKVHliWWxzMDBVYjJwM2lyUlVOdXJMNlcrQlROZUczNFBWTFVHaFBLVG9TZ0p6Q2t0ZzNkY2dHL2ZHMmd6Zmp4SFl1UEFiN3pwRlFjY1c1d1pIeTg2eEhlRVdadkdsR014c21DSTNJbGpaVXg2bnBQWSs5ZGhqYmRrN0hmUTRFMTRZOFFXaXBsR1dUY04zVE1GY0RiRVpCdlY0SjZsblptWHJINlZMbkdBbi9Tc0ozbFZNbXdpNGNvQWJkM3VWaTZZQm9CZDVmY1lTV2JFYmRjcG1JOVdVNUhOMGtRUmFMYTdkVE1mK0hnSkp6QlFUWFNybWJ2aGVFWklkWnlLY3BNSWluQUZyZGJMRWphZEVORW90MzJ1T2Z1eVpXeXAvcGg1bWFoaC9HSkJCZ3NvRzJzL3o4YzRoMVFneC9KQ0JKS09VRWF3WXQ2UTZSL3Byaklnc2Q0RXZuWGhtbS93djJHeDFHa0NVQ2RpcW5aZ09CQ3RKYWpNUnBiczVQblYwajczTFROUHp4TmpyWjFrM2ZkL1Y4dzFIb1hYSDBZTHoxc25idzJPSlpEMzRJMk8zVVlrV3pPR1lzMUVWUWtXZWJtdlVjVjNOK291UUFXK0gxY0hmR01memt0Q0tSdkFUNHI0b3FIY0p6dVdSeVcvM2VNNEdCOUdzY01kTFBNdEJjVkplU29YTkRqWDh6cWw5RnlyUWROaWUyTS9YNEozc0ZTNG9hMGx5SmhsRU11d2dWbytSc01SQm8valFiZ3ZsSXZsWmdaem95TU9WNlB3c1E5b3lQNEl5ZjB2eVVLejkzS3RkNWxmIiwiTUlJRjh6Q0NCTnVnQXdJQkFnSVFEWHZ0NlgyQ0NaWjZVbU1iaTkwWXZUQU5CZ2txaGtpRzl3MEJBUXdGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHlNREEzTWpreE1qTXdNREJhRncweU5EQTJNamN5TXpVNU5UbGFNRmt4Q3pBSkJnTlZCQVlUQWxWVE1SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4S2pBb0JnTlZCQU1USVUxcFkzSnZjMjltZENCQmVuVnlaU0JVVEZNZ1NYTnpkV2x1WnlCRFFTQXdOVENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFLcGxEVG1ROWFmd1ZQUWVsRHV1K05reE5KMDg0Q05LbnJaMjFBQmV3RStVVTRHS0Rud3lnWmRLNmFnTlNNczVVb2NoVUVEeno5Q3BkVjV0ZFB6TDE0Ty9HZUUyZ081L2FVRlRVTUc5YzZuZXl4azV0cTFXZEtzUGtpdFB3czZWOE1XYTVkMUwveTRSRmhaSFVzZ3h4VXlTbFlsR3BOY0hoaHN5cjdFdkZlY1pHQTFNZnNpdEFXVnA2aGlXQU5rV0tJTmZSY2R0M1oyQTIzaG1NSDlNUlNHQmNjSGlQdXp3clZzU21Md3Z0M1dsUkRnT2JKa0U0MHRGWXZKNkdYQVFpYUdIQ0lXU1ZPYmdPM3pqNnhrZGJFRk1tSi96cjJXZXQ1S0VjVUR0VUJoQTRkVVVvYVBWejY5dTQ2VjU2VnNjeTNsWHUxWWxzazg0ajVsVVBMZHNBeHR1bHRQNE9QUW9PVHBuWThreFdrSDZrZ081Z1RLRTNIUnZvVklqVTR4SjBKUTc0Nnp5LzhHZFFBMzZTYU5pejRVM3UxMHpGWmcyUmt2MmRMMUx2NThFWEwwMnI1cTVCL25oVkgvTTFqb1R2cFJ2YWVFcEFKaGtJQTlOa3B2YkdFcFNkY0EwT3J0T09lR3Ryc2lPeU1CWWtqcEI1bncwY0pZMVFIT3Izbkl2SjJPblkrT0tKYkRTcmhGcVdzazgvMXE2WjFXTnZPTno3dGUxcEF0SGVyZFBpNXBDSGVpWENOcHYrZmFkd1AwazhjemFmMlZzMTluWXNnV241dUl5TFFMOEVlaGRCekNiT0tKeTlzbDg2UzRGcWU0SEd5QXRtcUdsYVdPc3EyQTZPL3BhTWkzQlNtV1REYmdQTENQQmJQdGUvYnN1QUVGNGFqa1BFRVMzR0hQOUFnTUJBQUdqZ2dHdE1JSUJxVEFkQmdOVkhRNEVGZ1FVeDdLY2Z4emp1RnJ2NldnYXFGMlV3U1pTYW1nd0h3WURWUjBqQkJnd0ZvQVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RGdZRFZSMFBBUUgvQkFRREFnR0dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1IWUdDQ3NHQVFVRkJ3RUJCR293YURBa0JnZ3JCZ0VGQlFjd0FZWVlhSFIwY0RvdkwyOWpjM0F1WkdsbmFXTmxjblF1WTI5dE1FQUdDQ3NHQVFVRkJ6QUNoalJvZEhSd09pOHZZMkZqWlhKMGN5NWthV2RwWTJWeWRDNWpiMjB2UkdsbmFVTmxjblJIYkc5aVlXeFNiMjkwUnpJdVkzSjBNSHNHQTFVZEh3UjBNSEl3TjZBMW9ET0dNV2gwZEhBNkx5OWpjbXd6TG1ScFoybGpaWEowTG1OdmJTOUVhV2RwUTJWeWRFZHNiMkpoYkZKdmIzUkhNaTVqY213d042QTFvRE9HTVdoMGRIQTZMeTlqY213MExtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dIUVlEVlIwZ0JCWXdGREFJQmdabmdRd0JBZ0V3Q0FZR1o0RU1BUUlDTUJBR0NTc0dBUVFCZ2pjVkFRUURBZ0VBTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElCQVFBZStHK0cyUkZkV3RZeExJS01SNUgvYVZORmpOUDdKZGV1K29aYUthSXU3VTNOaWR5a0ZyOTk0alN4TUJNVjc2OHVrSjUvaExTS3N1ai9TTGptQWZ3UkFaK3cwUkdxaS9rT3ZQWVVsQnIvc0tPd3IzdFZrZzljY1pCZWJuQlZHK0RMS1RwMk94MCtqWUJDUHhsYTVGTzI1MnFwazcvNnd0OFNaazNkaVNVMTJKbTdpZi9qamtoa0dCL2U4VWRmcktvTHl0RHZxVmVpd1BBNUZQenFLb1NxTjc1YnlManNJS0pFZE5pMDdTWTQ1aE4vUlVuc21Jb0FmOTNxbGFIUi9TSldWUmhyV3QzSm1lb0JKMlJESzQ5MnpGNlRHdTFtb2g0YUU2ZTAwWWt3VFBXcmV1d3ZhTEIyMjB2V210Z1pQcytEU0liMmQ5aFBCZENKZ3ZjaG8xYzciLCJNSUlEampDQ0FuYWdBd0lCQWdJUUF6cng1cWNScWFDN0tHU3hIUW42NVRBTkJna3Foa2lHOXcwQkFRc0ZBREJoTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNBd0hnWURWUVFERXhkRWFXZHBRMlZ5ZENCSGJHOWlZV3dnVW05dmRDQkhNakFlRncweE16QTRNREV4TWpBd01EQmFGdzB6T0RBeE1UVXhNakF3TURCYU1HRXhDekFKQmdOVkJBWVRBbFZUTVJVd0V3WURWUVFLRXd4RWFXZHBRMlZ5ZENCSmJtTXhHVEFYQmdOVkJBc1RFSGQzZHk1a2FXZHBZMlZ5ZEM1amIyMHhJREFlQmdOVkJBTVRGMFJwWjJsRFpYSjBJRWRzYjJKaGJDQlNiMjkwSUVjeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdXpmTk5OeDdhOG15YUpDdFNuWC9Scm9oQ2dpTjlSbFV5ZnVJMi9PdThqcUprVHg2NXFzR0dtdlByQzNvWGdra1JMcGltbjdXbzZoKzRGUjFJQVdzVUxlY1l4cHNNTnphSHhteDF4N2UvZGZneTVTRE42N3NIME5PM1hzczByMHVwUy9rcWJpdE90U1pwTFlsNlp0ckFHQ1NZUDlQSVVrWTkyZVFxMkVHbkkveXV1bTA2Wkl5YTdYelYraGRHODJNSGF1VkJKVko4elV0bHVOSmJkMTM0L3RKUzdTc1ZRZXBqNVd6dENPN1RHMUY4UGFwc3BVd3RQMU1WWXduU2xjVWZJS2R6WE9TMHhaS0JneU1VTkdQSGdtK0Y2SG1JY3I5ZytVUXZJT2xDc1JuS1BaekZCUTlSbmJEaHhTSklUUk5ydzlGREtaSm9icTduTVd4TTRNcGhRSURBUUFCbzBJd1FEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCaGpBZEJnTlZIUTRFRmdRVVRpSlVJQmlWNXVOdTVnLzYrcmtTN1FZWGp6a3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR0JuS0pSdkRraGo2ekhkNm1jWTFZbDlQTVdMU24vcHZ0c3JGOSt3WDNOM0tqSVRPWUZuUW9RajhrVm5OZXlJdi9pUHNHRU1OS1N1SUV5RXh0djROZUYyMmQrbVFydkhSQWlHZnpaMEpGcmFiQTBVV1RXOThrbmR0aC9Kc3cxSEtqMlpMN3RjdTdYVUlPR1pYMU5HRmR0b20vRHpNTlUrTWVLTmhKN2ppdHJhbGo0MUU2VmY4UGx3VUhCSFFSRlhHVTdBajY0R3hKVVRGeThiSlo5MThyR09tYUZ2RTdGQmNmNklLc2hQRUNCVjEvTVVSZVhnUlBUcWg1VXlrdzcrVTBiNkxKMy9peUs1UzlrSlJhVGVwTGlhV04wYmZWS2ZqbGxEaUlHa25pYlZiNjNkRGNZM2ZlMERraHZsZDE5MjdqeU54RjFXVzZMWlptNnpOVGZsTXJZPSJdLCJ4NXQjUzI1NiI6IlU0NXdTcDZrT2tQZUQxX2M1WURSZlVHb0JseThxSDlHMTlaZnVGVkx5WWsifQ.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJSU0FfQUVTX0tFWV9XUkFQXzI1NiIsImtpZCI6Imh0dHBzOi8vbWFsZWdlc2tyZW4yaHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvaW1wb3J0cmVsZWFzZWtleTE2MjcwODgyNDgzNDMwOTE1Ny9kYjcxYTU5NWI5YTY0ODQ3MmNhNWI1YjVmYzc2ZmU4ZiIsIm5vbmNlIjoibm9uY2UifSwicmVzcG9uc2UiOnsia2V5Ijp7ImF0dHJpYnV0ZXMiOnsiY3JlYXRlZCI6MTYyNzA4ODI0OCwiZW5hYmxlZCI6dHJ1ZSwiZXhwb3J0YWJsZSI6dHJ1ZSwicmVjb3ZlcmFibGVEYXlzIjo3LCJyZWNvdmVyeUxldmVsIjoiQ3VzdG9taXplZFJlY292ZXJhYmxlK1B1cmdlYWJsZSIsInVwZGF0ZWQiOjE2MjcwODgyNDh9LCJrZXkiOnsiZSI6IkFRQUIiLCJrZXlfaHNtIjoiZXlKamFYQm9aWEowWlhoMElqb2lSVFppVTFWRGNuZFFUVmg1UkZSYU1WazVSVWRIT0VoVFdHeERTRmhPUlZWRlgxRkpPRVUzYVhKTGMxTjZjM2RmYWxONmFqWllha1pzU2pJdGNrRnBPVWt0TlZSVFRVRjNYMjVZZG5sU1UyMU5hRkZTUkRaa2JXc3lRVXRxVmkxQlVuQjRibEIxUWt0NlZXSnVXVTVMVlV4MVRqQllSUzFyWDI1TVJ6ZDViMGg1UmxZeWVYRlZOV3BPWlRseldtVmhUeloyY1VOV2NVUmhRMXB2Ulc5Sk4wVkJRVWN0VFdneU5WOTZVRGgwWVY5a1RWZFlUMVJ4V0dGWlZHY3pjM2t6YzJneWNHZGZkek5YUlhsT09IZHhXREJYVGtSamQxSXlkRkZRTWtab2VqRlBhbXN0YUdWemFGWmZhbVkzVlZOaVdYbzJPRlU0VnpoTmMxbGZOM1JKV2tOeGRYUXhURnBuYVhoUGFGUkVjMEZOY0MxWWNtRTJhalJmTVRKNWJYTlJhMDlmUlRaS09VUlpVMjlpU2pGalltRlJRM05LZFU1TFQxSlROR2xIVlRkTFZUbHpiMjl3Y21ndFh6ZHNNRlpPZEVzMGJrOVJhRU5YWTFsNU56RTNjMFk0Y2kxRFQwbGljVFF3VTI4MWNHOHlTMngzUVc5aU1VVmpaVmw1VGpaMFIyOXNUVTVCVTFONWNtcHRSVWRFVWxoNFIyazRSVk55ZUhoNFVWVlZMVkJDU1c1b1NWWnhkRE4yTm1kblgybDRVa010TVc1cE1UQmZSWEI0Y0RWdGJXSmFWV2xQVm1KclIxSlRZalphUkVGWk4xSm9hR2RKTWxjd1IyZ3lSRGM1ZHpRNGNGbHFjbms0T1ZoS2NsUkJVM28zU1RBNFRsSkdTMjlWU1hsdVFUWTFVbEJRVUZwU00zaHhVMGwzZGxaTFpHRkZZelUxUkVWTmNrWXdUMVJvY0Vsd1UxVkhXWFJ3Vm1abmNrMUhUM1JGVmtNNFlYcExRVlZWUWpJM1MyaFdTbmhOZGsxRE9HZzBiRWhXVVhKWU4xOXNZell5TkVkNlJIUTVRMFZKVFdzMldEaGFSR2w2UTNkZlluWjZlblpYYTBaTlVXMVNjVm81VDBRdFNIVkRUR0Y0UjJneVZreEpkblE0TUVGdVpqaHZUMGxuZG5aT1lqTllVSEIzVFZrM2IzTnVhVVYxUlRaSU1qWkdNVlZVU1d4aFpGWnRkMEZZT1d0MUxYVkdRblJxVkhoV1YxVnpVV0paUkVoS01qaHNRWFpIZW0xa09DMUtTMWRUT1VjM2NVVnZSSFpNUldWS1ZsRTJYMEUyYlcweldUSXdZVEkyVVdkeWNIaHRSRWxUYWtoVVVXZGFYMFF6TjA1UmRWcGhjRWgyWWxGc1NYcElabDlzWHpOcFkxQk9NeTFPUjJKS1VVSXpTbUl5VW5WbVpUaDRObnA1VVhkYVFWRnpabFpZVDBvMVZXUlpjM2RhUmpOd1RsOVBRM2R0Um5wNVRFMUZXRjlOVkZFd1ptcERSRGRmVDBOWExVYzBiMmxUVG5sMVJYZHhibVV6ZVd0T1JGVkZjVUpOVnpad1MyUklVbmg1UWtkelpVVldiVkJQZEZSTE1uRmpURmMxUjBKMlkzZFpjMkl0Y25Jd1VGVnZaalJyYTBNMlJ6RlJPRlpJV2pGV2JraHlUVnBVVTNsWmJVSlFZVEIyUjJ0WFZWSmtSbnBLTUVKcVNFNDFlbE5LTWxRMFVsZEpWbVF0TWxWamFWZzVWQzF4UjJGaU9WaDBMV3hIWkhJdFpGa3pTVUZVVHpSd2JuUkRWa1J2VGpNNVRXMXJYMjlyVkVKSWEwWTNkRGc0VG1sVGEwb3pPVE5qYmw5SmVtcDFNVVZhVldwcFZYZFVTV0pSTWtsc1NXNHdXbmg1WHpNd1ZIcGFhR2hqVUhaTE9HNXNTMUZpZDNwVFVEQldhSGhvZFdNMlVWVmpXV1JTYWxKMWMxUTNUVmhWUXpkU1EyTTBVMU5qTW1GUmMydENURk55VUU4NU9GZFNibmhIVUc0eGVuUkpOVmN5TUZCUGFFbDRNMFF0TFhsb1RuSlRURVZ3ZVc4d1VYVlplbWhxVUVsNVIwTnZURFpTTUhWTldWaGtSa3RCWmpCRVRuVmtiRTQzUmtkSGNtUXRkbGxxZURSRGExOXRSbU16TVRCbWJsbDNlazQwVm5sMkxXaGFiM050TFZwRFJVMWthbVZHV1ZneWRsOUdSbGRMYTBwclVuaFVObUZYTFV0UE5GbHhiRUpDYVZnMmJXMUtUemhhTnpsVFkyMHhabE5SYlZnM0xWVTVSRlZxUjNoQlJuQlJNamhNZEhkcE5IRjZSR1JXZUZWMWFHdE9hbGhrWjNWRk9IaGliekYzWlV0eVUzYzRVa0pPV1cxRmREbFJabEpLUlVseE9EQlFXWGxWVlRFNU1rMUhhbmx5UzNSNkxYaE9RelZsT0ZWUmNUTnNNVkIxTUMweFExcFZhMFJQTWtWMU9XeEZaVk5GYVZWQ1pGVktORlZYUXpoSWJTMXJVVVowZUZaTmJVOUNObmM0UVZocWVYVnFhemh4YVZvMU1HcGhNbmhoV2pKNGFFRjRjMnhuVW5ScVVrVjJlVEpEZDFWWlNXVm1Ta3hoUkZOSU5VSldOV3RrZG5nemVHbFBSSFpmWVRkMlYwWnVlVkF5WVdVd1dFRk9SVEJ2VFRCWGJYUmhSRzlwWWt4UkxXNDRUbE0xVWpOaWRtNVFZM2RsZVRkalZVbEhSVWt3WW1OR2VGZGhWVGRVTFV4TFpDMDNZa2g1TjBwcWFGbHVUWEpLYlZScFpVSkdUa05qTm1kSk5uRXhSbkpQWlRkVU1tMXdNRmg2TTFKUlUzcFBSVFJwVWs5TU5XdHRjbmR2TkV0R2IyeFRPVVU1WVRBdFowNTFjRTl3ZG5Rd1oyYzBjVlZxVTNWV1FtRjJja3BHWmt4RVVXdFBZMFpOTjNnNVRXVmtWV2Q2V0hCTFRXa3daM0JQTTNwcGNVSnhSbTVvUVd4U1YyMWliVzAyV2tkRFJsQlplbTR4UjBodVZGSkNWWFZwYzAxTU9YRlNUM0JTUkVoSU9HWmxSMnRoU0ZWTmRHMW9Na2hPWjJsNlQyaDBka2hhZUVSVWJtcFdRekYxT0hZM01XUmFVMTl5WW5ReGRVODJXbUZUWXpSR1NHeDBOWGgzWkZWVGJUTm9lbmt6YTB0SWRuWTBWa2R1V2poMFlWaEdMVEZhYlZGQ1UzWXlaV2s0TFc5emJtVkVXbVJ6TURBeE0xZDNPRUZaWVZwWVMwUlhUMDEyZG5SallqaG9hRE5yY2xWUlZGWlVha3hLUzBKTmJXMHRSM0l5YmpScGRXWlNkbmt4Y21saWFVRTFkRTgzZFZObFVHNDFaVWhRVWt4M2QwWjNUalJHY0ZwcVFUUllRWEpKUkd4b1kxQmhjemxLVW5sNVdtNUdaRkZFT1VaSmQxUjFSRUpaU0daZlVHWllTazVDY0NJc0ltaGxZV1JsY2lJNmV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSlNVMEZmUVVWVFgwdEZXVjlYVWtGUVh6STFOaUlzSW10cFpDSTZJbVpoYTJVdGNtVnNaV0Z6WlMxclpYa2lmU3dpYzJOb1pXMWhYM1psY25OcGIyNGlPaUl4TGpBaWZRIiwia2V5X29wcyI6WyJ3cmFwS2V5IiwiZGVjcnlwdCIsImVuY3J5cHQiLCJ1bndyYXBLZXkiLCJzaWduIiwidmVyaWZ5Il0sImtpZCI6Imh0dHBzOi8vbWFsZWdlc2tyZW4yaHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvaW1wb3J0cmVsZWFzZWtleTE2MjcwODgyNDgzNDMwOTE1Ny9kYjcxYTU5NWI5YTY0ODQ3MmNhNWI1YjVmYzc2ZmU4ZiIsImt0eSI6IlJTQSIsIm4iOiJvSkZOQUNOS3hvT3lHMHdWMWI3WWg3M0pXY0xsZXZWSzV6VG84QWNnMTNYU2RlUlZJSDQzaE03cllLVUtSbFhkY3FlcFRTY2VqdWozbFpwbW5LYm5kYjhPSTdyYTZaRzBVcDJYaFNpMHZaQlNIVExkSmxaNWE2Z3JhN19IWm95UFh1dFFVM1JfMFpreG5TbW9SQTBJOUVFdFVuXzVNUjdhY1lKWklMUjdIRWF4R3JQcEhYTVdRSDZKeF9OQTk3aGFOQVFzNVJkRHNuMUhHRUE5Tk1lME9LOWhnYjRGNU5FZXVZWFRnbFBYX3B2MVA4THhzQUxTTFMxNVA2ZWFVRXRxdEMwRWtvQk5jSEhYSjZCczg2aUpPcVZDc1ZBX2d5c3BZM0cyY0gxTnh1TnktUDVuMk43UnlRajk1RnpnTzhDR3B4U0gtblhrT3FEZ1o1cWcwZzctTlEifSwicmVsZWFzZV9wb2xpY3kiOnsiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04IiwiZGF0YSI6ImV5SmhibmxQWmlJNlczc2lZVzU1VDJZaU9sdDdJbU5zWVdsdElqb2ljMlJyTFhSbGMzUWlMQ0psY1hWaGJITWlPaUowY25WbEluMWRMQ0poZFhSb2IzSnBkSGtpT2lKb2RIUndjem92TDNOcmNtRjBkR1Z6ZEdGMGFXOXVMbUY2ZFhKbGQyVmljMmwwWlhNdWJtVjBMeUo5WFN3aWRtVnljMmx2YmlJNklqRXVNQzR3SW4wIn19fX0.SlPSy17u2aC7lbWR6c3rK3TqsKfMitIBzs4JMi8ilZDhEGJKlNT19KqfKcXBkwJ2igKLvOQzBIcAuc815u7hbLNDw7LxDOhU03gH54VG-zzyFUmsBA6SEH5Ythi85iUzWcY2tfHdM6VW_gGpxikpVtUCBzq2h58Pmx3xtSrgyedB3RyfiIkWmvLs5t1dttD_FOwURZ-G2csZfuBavCW8L4Fdksux_NcBT8cO7PXUYMJIwQmCGMh-IzZUA3AU8sQtnUGjXRZTpiYKZtFJzMyfAaQkNsC21IDSezHtS8wTNzYD7CR2nHYlAZ9heUcXJR05vbtEYpAYm34If4ExRlOurQ\"}", + "response": "{\"value\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IklCNTFEeWRYWFJ5VzB4THpPNGtQR0tDbGdwRC1iRGJUSUtmd2dHTE5pSlUiLCJ4NWMiOlsiTUlJSW9qQ0NCb3FnQXdJQkFnSVRNd0FZS1BTNXJ1eDc1dU5aL2dBQUFCZ285REFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd09EQTJNakV6TVRFeldoY05Nakl3T0RBeE1qRXpNVEV6V2pDQmdERUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWxkQk1SQXdEZ1lEVlFRSEV3ZFNaV1J0YjI1a01SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4TWpBd0JnTlZCQU1NS1NvdWJXRnNaV2RsWkhsdVlYUjBaWE4wYUhOdExtMWhibUZuWldSb2MyMHVZWHAxY21VdWJtVjBNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW55em54Ukl2UE5vWTNKUDBoZmpuTmxCL1Y5T2pYS2ZmZHpKNlhwWDRZVDhMYk5tRmFjSnlSblVQa1ZVdGtyNkNtWUh1WGUxYnNlaEtRTWl1cW8wT0Z3NktFZ09WQ1lQS2lnSGUvdWJoeFRIeGJheWhwYjEzMVNwVll2a0MzQU5MNzNkUjdWUW5KNkxxRGgxL1lGeThnK0FUbk9Qbkdpbk9QMEVPdTJ4Z3B6eUFnMmxLQXQ2RVhzdU5ENDZnZ0FWVUtIUktzOFR3MGI2TldzVlhKY1c3U0doNk9mVjg1Z1RWMDU0aC9ZR3RaTGFZUTNDMWtaUkxjYnByZjRHYUxxbWVwOUNwRTMyTHVmbUlWVjZIb3VqVUNVa0dqV1RjNEpTcjJsRzZ1TllTRU1KOGY4K2hRRVRnL1pSMjA0LzdHdGRFUmgrcDQ3dXpSYmttNnJvbjRXNDhlUUlEQVFBQm80SUVPVENDQkRVd2dnRjlCZ29yQmdFRUFkWjVBZ1FDQklJQmJRU0NBV2tCWndCMUFPNUx2YmQxem1DNjRVSnBINnZobm1hakQzNWZzSExZZ3dERWU0bDZxUDNMQUFBQmV4MXB2QkVBQUFRREFFWXdSQUlnZVYrN2IwVTNMVndINytPTGVidjVVQ2xrMDFmdWhZY2VjU09uVFFZY0tjTUNJQ0FlM3NXa2hNYUlkRjN0UGsvYjBiVjR0SEpPbytLa3hoYkZiOUhvdE9oTUFIY0FRY2pLc2Q4aVJrb1F4cUU2Q1VLSFhrNHhpeHNENit0THgyandrR0tXQnZZQUFBRjdIV204WkFBQUJBTUFTREJHQWlFQW1aZk5SeFdqeGQrV0hFN3E0eUJUUGlrNDZVRWcxZS9GbUlxbUNZZGs1OHdDSVFEazdNQ0cwY2E2U0pud1VvMXlWb3JsRmlEMEcvNEZUKzZqeTUrYmk4ZHRwUUIxQUZHanNQWDlBWG1jVm0yNE4zaVBES1I2ekJzbnkvZWVpRUthRGY3VWl3WGxBQUFCZXgxcHZJVUFBQVFEQUVZd1JBSWdJd3RrUzJ4V09rQ0FXYnNsMm80RnBYbmExeTJQT2wvMEp4eGUvcWxUOGlRQ0lDbU1PNHFJMWxtRWZlOW9QR0V0UUpYdmR3cm95MDUrQ3EvNXZhREozNzRyTUNjR0NTc0dBUVFCZ2pjVkNnUWFNQmd3Q2dZSUt3WUJCUVVIQXdJd0NnWUlLd1lCQlFVSEF3RXdQQVlKS3dZQkJBR0NOeFVIQkM4d0xRWWxLd1lCQkFHQ054VUloNzNYRzRIbjYwYUNnWjB1anRBTWgvRGFIVjJDaE9WcGd2T25QZ0lCWkFJQkl6Q0JyZ1lJS3dZQkJRVUhBUUVFZ2FFd2daNHdiUVlJS3dZQkJRVUhNQUtHWVdoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZZMlZ5ZEhNdlRXbGpjbTl6YjJaMEpUSXdRWHAxY21VbE1qQlVURk1sTWpCSmMzTjFhVzVuSlRJd1EwRWxNakF3TlNVeU1DMGxNakI0YzJsbmJpNWpjblF3TFFZSUt3WUJCUVVITUFHR0lXaDBkSEE2THk5dmJtVnZZM053TG0xcFkzSnZjMjltZEM1amIyMHZiMk56Y0RBZEJnTlZIUTRFRmdRVW5rbGZ0blkwY3RmVUFUVlFPcHFicE95Y2xpRXdEZ1lEVlIwUEFRSC9CQVFEQWdTd01GMEdBMVVkRVFSV01GU0NLU291YldGc1pXZGxaSGx1WVhSMFpYTjBhSE50TG0xaGJtRm5aV1JvYzIwdVlYcDFjbVV1Ym1WMGdpZHRZV3hsWjJWa2VXNWhkSFJsYzNSb2MyMHViV0Z1WVdkbFpHaHpiUzVoZW5WeVpTNXVaWFF3WkFZRFZSMGZCRjB3V3pCWm9GZWdWWVpUYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpjbXd2VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOUzVqY213d1pnWURWUjBnQkY4d1hUQlJCZ3dyQmdFRUFZSTNUSU45QVFFd1FUQS9CZ2dyQmdFRkJRY0NBUll6YUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OUViMk56TDFKbGNHOXphWFJ2Y25rdWFIUnRNQWdHQm1lQkRBRUNBakFmQmdOVkhTTUVHREFXZ0JUSHNweC9IT080V3UvcGFCcW9YWlRCSmxKcWFEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RFFZSktvWklodmNOQVFFTUJRQURnZ0lCQUlSQ0owbnluU2tOT1NrR3NFa1orVE4wNjNaZ0ZwNG84dWFPZEltc0tRYkNNUjllWTY3ZiszQm8yUjRzcVUrNjZJS3F0NkpENTZXdEx5UEw0WlZBcXk0dTlMRDlOYzUwdVB2YzA0TmJRTzF3SVZOQU5WRmVNcVlrNlkyYjI1SjdGVTRWTUNWbGZ2MlhsU09qSURnWVdKcEZRa21rRTZlTTVReSthQzNuYTg5eWo4REE5OFNJUU9FTGVqalBHVXFVWG5MTjJYM1pjc3NLQ21GeUFpR2xXYk9NMjN6WFIyUnZKUDd3SlFwcnQwNXNkTjNPTEM2VXBUallMNWYyQlkrMkJQMkNYL0s5Q2djenJBZjJHZXp6eWpmVUwya2hnRkhHS1pxbDM4a2FLdk16ZDBYMDdjOTltckpoVlZrTi9ibmRxZEllMlVYYi9kQm5jTE1LcmxrM3pKQnJma3F5eVlwdjh1OFhYVjV1dGh1ZnQ1cmhldjZvb1RzaE1MOUpFL1kvNHpHcW4xOXNoVkZzZTNjUkQwVENocWMyTlVtVWE1YnQ3RjFWTDU3S0xIVkZaSnJNaGNyTklQb0NDTm9ZL0l2TWxJM3d5SHNRZll4YVdqdFpqV0lCMlovamJ6ME4wMVhCZytobFd2RjhlR3dBNGdHaXFhcXpSRkZkTlNkQURwZnZMaXhSQUNBRFYzdnlEV2dzNnZIb2xnQnU2eWd0OW5rZmprQjNKL1BqSVcwYnhibkVHakUzMDYzck81WXR1R2xPT3dmMTBGbzRvc2FNU25kOGFKNTJobXBwZ2kreHNyTXlyanhSQVdNYlV3ZGcxSUVEV2FNUTYvWmNNQXh0RGlQakFGSFladmF5VnU2bUdDSFh6bHRNMU5CZDExaGFZaFZoUzAyTFE0MDZlUXBuIiwiTUlJRjh6Q0NCTnVnQXdJQkFnSVFEWHZ0NlgyQ0NaWjZVbU1iaTkwWXZUQU5CZ2txaGtpRzl3MEJBUXdGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHlNREEzTWpreE1qTXdNREJhRncweU5EQTJNamN5TXpVNU5UbGFNRmt4Q3pBSkJnTlZCQVlUQWxWVE1SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4S2pBb0JnTlZCQU1USVUxcFkzSnZjMjltZENCQmVuVnlaU0JVVEZNZ1NYTnpkV2x1WnlCRFFTQXdOVENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFLcGxEVG1ROWFmd1ZQUWVsRHV1K05reE5KMDg0Q05LbnJaMjFBQmV3RStVVTRHS0Rud3lnWmRLNmFnTlNNczVVb2NoVUVEeno5Q3BkVjV0ZFB6TDE0Ty9HZUUyZ081L2FVRlRVTUc5YzZuZXl4azV0cTFXZEtzUGtpdFB3czZWOE1XYTVkMUwveTRSRmhaSFVzZ3h4VXlTbFlsR3BOY0hoaHN5cjdFdkZlY1pHQTFNZnNpdEFXVnA2aGlXQU5rV0tJTmZSY2R0M1oyQTIzaG1NSDlNUlNHQmNjSGlQdXp3clZzU21Md3Z0M1dsUkRnT2JKa0U0MHRGWXZKNkdYQVFpYUdIQ0lXU1ZPYmdPM3pqNnhrZGJFRk1tSi96cjJXZXQ1S0VjVUR0VUJoQTRkVVVvYVBWejY5dTQ2VjU2VnNjeTNsWHUxWWxzazg0ajVsVVBMZHNBeHR1bHRQNE9QUW9PVHBuWThreFdrSDZrZ081Z1RLRTNIUnZvVklqVTR4SjBKUTc0Nnp5LzhHZFFBMzZTYU5pejRVM3UxMHpGWmcyUmt2MmRMMUx2NThFWEwwMnI1cTVCL25oVkgvTTFqb1R2cFJ2YWVFcEFKaGtJQTlOa3B2YkdFcFNkY0EwT3J0T09lR3Ryc2lPeU1CWWtqcEI1bncwY0pZMVFIT3Izbkl2SjJPblkrT0tKYkRTcmhGcVdzazgvMXE2WjFXTnZPTno3dGUxcEF0SGVyZFBpNXBDSGVpWENOcHYrZmFkd1AwazhjemFmMlZzMTluWXNnV241dUl5TFFMOEVlaGRCekNiT0tKeTlzbDg2UzRGcWU0SEd5QXRtcUdsYVdPc3EyQTZPL3BhTWkzQlNtV1REYmdQTENQQmJQdGUvYnN1QUVGNGFqa1BFRVMzR0hQOUFnTUJBQUdqZ2dHdE1JSUJxVEFkQmdOVkhRNEVGZ1FVeDdLY2Z4emp1RnJ2NldnYXFGMlV3U1pTYW1nd0h3WURWUjBqQkJnd0ZvQVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RGdZRFZSMFBBUUgvQkFRREFnR0dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1IWUdDQ3NHQVFVRkJ3RUJCR293YURBa0JnZ3JCZ0VGQlFjd0FZWVlhSFIwY0RvdkwyOWpjM0F1WkdsbmFXTmxjblF1WTI5dE1FQUdDQ3NHQVFVRkJ6QUNoalJvZEhSd09pOHZZMkZqWlhKMGN5NWthV2RwWTJWeWRDNWpiMjB2UkdsbmFVTmxjblJIYkc5aVlXeFNiMjkwUnpJdVkzSjBNSHNHQTFVZEh3UjBNSEl3TjZBMW9ET0dNV2gwZEhBNkx5OWpjbXd6TG1ScFoybGpaWEowTG1OdmJTOUVhV2RwUTJWeWRFZHNiMkpoYkZKdmIzUkhNaTVqY213d042QTFvRE9HTVdoMGRIQTZMeTlqY213MExtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dIUVlEVlIwZ0JCWXdGREFJQmdabmdRd0JBZ0V3Q0FZR1o0RU1BUUlDTUJBR0NTc0dBUVFCZ2pjVkFRUURBZ0VBTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElCQVFBZStHK0cyUkZkV3RZeExJS01SNUgvYVZORmpOUDdKZGV1K29aYUthSXU3VTNOaWR5a0ZyOTk0alN4TUJNVjc2OHVrSjUvaExTS3N1ai9TTGptQWZ3UkFaK3cwUkdxaS9rT3ZQWVVsQnIvc0tPd3IzdFZrZzljY1pCZWJuQlZHK0RMS1RwMk94MCtqWUJDUHhsYTVGTzI1MnFwazcvNnd0OFNaazNkaVNVMTJKbTdpZi9qamtoa0dCL2U4VWRmcktvTHl0RHZxVmVpd1BBNUZQenFLb1NxTjc1YnlManNJS0pFZE5pMDdTWTQ1aE4vUlVuc21Jb0FmOTNxbGFIUi9TSldWUmhyV3QzSm1lb0JKMlJESzQ5MnpGNlRHdTFtb2g0YUU2ZTAwWWt3VFBXcmV1d3ZhTEIyMjB2V210Z1pQcytEU0liMmQ5aFBCZENKZ3ZjaG8xYzciLCJNSUlEampDQ0FuYWdBd0lCQWdJUUF6cng1cWNScWFDN0tHU3hIUW42NVRBTkJna3Foa2lHOXcwQkFRc0ZBREJoTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNBd0hnWURWUVFERXhkRWFXZHBRMlZ5ZENCSGJHOWlZV3dnVW05dmRDQkhNakFlRncweE16QTRNREV4TWpBd01EQmFGdzB6T0RBeE1UVXhNakF3TURCYU1HRXhDekFKQmdOVkJBWVRBbFZUTVJVd0V3WURWUVFLRXd4RWFXZHBRMlZ5ZENCSmJtTXhHVEFYQmdOVkJBc1RFSGQzZHk1a2FXZHBZMlZ5ZEM1amIyMHhJREFlQmdOVkJBTVRGMFJwWjJsRFpYSjBJRWRzYjJKaGJDQlNiMjkwSUVjeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdXpmTk5OeDdhOG15YUpDdFNuWC9Scm9oQ2dpTjlSbFV5ZnVJMi9PdThqcUprVHg2NXFzR0dtdlByQzNvWGdra1JMcGltbjdXbzZoKzRGUjFJQVdzVUxlY1l4cHNNTnphSHhteDF4N2UvZGZneTVTRE42N3NIME5PM1hzczByMHVwUy9rcWJpdE90U1pwTFlsNlp0ckFHQ1NZUDlQSVVrWTkyZVFxMkVHbkkveXV1bTA2Wkl5YTdYelYraGRHODJNSGF1VkJKVko4elV0bHVOSmJkMTM0L3RKUzdTc1ZRZXBqNVd6dENPN1RHMUY4UGFwc3BVd3RQMU1WWXduU2xjVWZJS2R6WE9TMHhaS0JneU1VTkdQSGdtK0Y2SG1JY3I5ZytVUXZJT2xDc1JuS1BaekZCUTlSbmJEaHhTSklUUk5ydzlGREtaSm9icTduTVd4TTRNcGhRSURBUUFCbzBJd1FEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCaGpBZEJnTlZIUTRFRmdRVVRpSlVJQmlWNXVOdTVnLzYrcmtTN1FZWGp6a3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR0JuS0pSdkRraGo2ekhkNm1jWTFZbDlQTVdMU24vcHZ0c3JGOSt3WDNOM0tqSVRPWUZuUW9RajhrVm5OZXlJdi9pUHNHRU1OS1N1SUV5RXh0djROZUYyMmQrbVFydkhSQWlHZnpaMEpGcmFiQTBVV1RXOThrbmR0aC9Kc3cxSEtqMlpMN3RjdTdYVUlPR1pYMU5HRmR0b20vRHpNTlUrTWVLTmhKN2ppdHJhbGo0MUU2VmY4UGx3VUhCSFFSRlhHVTdBajY0R3hKVVRGeThiSlo5MThyR09tYUZ2RTdGQmNmNklLc2hQRUNCVjEvTVVSZVhnUlBUcWg1VXlrdzcrVTBiNkxKMy9peUs1UzlrSlJhVGVwTGlhV04wYmZWS2ZqbGxEaUlHa25pYlZiNjNkRGNZM2ZlMERraHZsZDE5MjdqeU54RjFXVzZMWlptNnpOVGZsTXJZPSJdLCJ4NXQjUzI1NiI6IklCNTFEeWRYWFJ5VzB4THpPNGtQR0tDbGdwRC1iRGJUSUtmd2dHTE5pSlUifQ.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJSU0FfQUVTX0tFWV9XUkFQXzI1NiIsImtpZCI6Imh0dHBzOi8vbWFsZWdlZHluYXR0ZXN0aHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvaW1wb3J0cmVsZWFzZWtleTE2MjgzNzk1OTYwNTcwODYxMC8xOGJjM2Y4ZTRiNzgwM2FiM2FlYjJhOGY3YzdjZGZhNSIsIm5vbmNlIjoibm9uY2UifSwicmVzcG9uc2UiOnsia2V5Ijp7ImF0dHJpYnV0ZXMiOnsiY3JlYXRlZCI6MTYyODM3OTU5NSwiZW5hYmxlZCI6dHJ1ZSwiZXhwb3J0YWJsZSI6dHJ1ZSwicmVjb3ZlcmFibGVEYXlzIjo3LCJyZWNvdmVyeUxldmVsIjoiQ3VzdG9taXplZFJlY292ZXJhYmxlK1B1cmdlYWJsZSIsInVwZGF0ZWQiOjE2MjgzNzk1OTV9LCJrZXkiOnsiZSI6IkFRQUIiLCJrZXlfaHNtIjoiZXlKamFYQm9aWEowWlhoMElqb2lXa0ZXZGtNelJtaExZWEJtVFV0eWJ6aHlWMUE1TW1oRlJFSkZRMjEwVVZWZldIUnJjVkIxUW0xaVFrTlBWMVJVZWtsTFptMW9ZV2g0ZVRWU2FXY3pUVzV0WjJSc09VTjRZVVJZVFdVNVVFbDNlRk4wWlhSelpWWlVRMlZVV0RZdFNsUkhjMWRyVjIwNFNHOWpUVGxpYjBoRWFVRmhPVGxJVEMxUldIRm1MV0UzTVhaYWExcFJUWFZPVWtsTFJ6QlViemxYVWtKMWVtWm9lbVZXTUdaWVJVNDRiVTh6ZWxCSWFqWTFRVGRPZUZGb1F6Um5hVWhvZFdkSmRsUlZaSHBsWWpKS1gzRmhhbnBITUVndE1XcFNhMHMxYTJ4T1NFbHdTVE5NYzBZNWJXcElOV0YwVFVSQ2VVbzNjbXByWVVOWVMyVTJlVGRUVGpkTldYTTBRa05DYlZoTk9FazVjRzk1Y0VzeE9VeHpiSFozYlVkWUxXRlpOVjlLZUhGQlVUaGpaR0pYT0ZwSU1YbFRka3h5T1U4NGQxRnlhWFZmUzBWWFZEWmxjVE5TT0dnNVNrMTVaRFl3U0dGMFdHNVZjVk5CV0ZOdE4xUmpXVGQxTjBadVZpMDVjM0pMTUMxak9FOXpObEF6T0hnM1NUbFFZV28xYjNReFVqZzVOMGsyTlVSTFJrdHBZa1pyUTBsRVRtRk9OVmR2TVdwSmFWTlhjRzR0TTNSeU0xRkpPVEU1TkZWcFZEQTVZbTQzT1d4NWVGb3hkVzlSVTNkbFVHMXJkRTF0UTB0aE5VNXJZbkZyVVhoU1pFZGZNbEpGY1hoUE5YWk9iMDlqVlRkd1lXdEhVMUJRVDNWZk9GaHpSelJaWjFsclZGbEROWGR3YzFWVVUzRkpjVWcyWDFweWNXdE5WRlJvZWpKRGVHNVFiREozUzI5UFVWaGxVbUZhZFZsWlUzWndUamRoV2tGVFRVVXphVlpPTVRGU2R6WXlTWEZxU205ZmJYSTVNM1ozUlVKS1lVZHJlVFUwWTFwNVdDMUVUWFJ1Ykd0UGVXNU5lR3c0WjBKdFgxRk5RVWg1VEhSUFRFZ3dNemh2ZG1SeFFtdDFOV1V6TTB0SU16Z3pOblZYUjFOU1IzYzRTazh0VW5GcFRUZEZSME5YVDJOa1lqbFhNMEZFVVc1b2QwMVBiSEV4U0ROVGJ6TXRibWw1ZDJJMFpXNVRabDlwYjFoVFQwcGZhemRpU2pCT1JsVkJVakJxUmtseVlqbEdkMmx5ZDNoS1ZITXphMUJMYnpnNE0zcE5jM1ZmVUZGSVlVWmFNblJLUW5GRlVUWk5ZMDVsT0ZaNlRsVktSbU4xV1VwdVVWbExSWEZSU0ZOQlVGTnVNM05KWVRjeloyY3hRa2h1Vkd4cmRVTXdaa3h4U1RSc09XTkVPRFJWV1hFMWJHOVhaV2cxYTA0emJtZzRhMmRSUTNoSWJIZFNhemhhUkZvdE5VWmllVE5KZWxvNE4weENTMng1VTFnMFduUjZNemMxYjI5RlgyTmxjbTF2WHpkWGIyZHRPVlJvWWtOVmIwVkhRalV5TldabFVuVnpjREpaVG5keVYyUjVSVlZCV1VGeE5tSjRjRFYwUTJSbVpHMWZVVzVPY1RaVmMyOVhXbmh3WWxaa1lXYzNMV3Q1ZFdNdFlrUTRURlIzZEZodVpVZG9la28zTTJOU1dIQTRXVUUwWHpJek9FeERlblp6Ym5OdE5FaFdWM1pVYzA5c09VOWxOVTlXV21sdGRtbHJkakJ5VkZKZllXZExOVmhvTldZMFZFMURVVW93T1VGWWMxQnBkR0pXVjNOSmFDMUtaa0Z2VDJaNWNFOW9hMmQxYlVOV1ExOHdYM1ZWVXpGT1VsRjNPVUpZVFVsU2JtNVZVMEZmZEV4bVJFUkxPV3RNUlhGT2FVcDZiRW80YlZKVmRtaHNWM1YyZG05bk9HdzJWak0zYWtsbk9WUkdOVXRMWVhONVZYZDBlVmcyZW5oRVltY3llbE54U0ZRM1UyVm9abEpTTVRSSVVWTktaVVZCU1RNek9XMXhVM3BTZGsxeWRuWTJSR3hxTURFeFlqUktZa0V4T1hCdU4xRnlXbnB1ZUZCSldVRTBSVFZKZEZsclpHcDBXRGw0Y0dKeFptNXlhV1JqU1VkUlNHWkRhemxEV21ablYwbEhPV1Z1V1d3MVIwMUdVblJUVlVGS1dFVjZWa0l4VTJVMGIzRlpOMFpoVTJNeWMxTnNkRUZ6YVcxWGNuSnFZMHN6VlU1bE5uTmFiSEUxZGxOTVFuSkxhalpQTFZKcU56UmFjMDV6VEZoYVNXWjJlbWRDVEhRNE1saDRjaTAyYkVGa1FtdHFNR1UwUWxWVU56bERjWE4zY1VoV2NFTm1RVmRUWDJoNk5sbFZaV2RUVUd0NFMzRTNZamRaY2t3NFdpMTBMWEJTVFd4YVNWRkRPRGMwWnpkUVpreEtTR0ZqY1Vkc1Ftb3RjbTF6TldWT1UzcHVlbUpRYjJ4YWMxOUpRbWxXU1dwclUzbzJlRjk0U1RCeWR6VmpURFJLTlZSaU1XRkdhazFJZGt3eFVVaG9ZM0ZWZGtFNGVHMXJaa2R6TTJ4d1RYRlZVRWxPVUZKcGJuTlpRM3BhYlZsdVJEWk9WSE01UjJWVFExQm1SbFkxUVZJd09ITnZhR2xPTW5rMWVtZDVkbVZhZVdodlJXcENUM3BsYURrNWVpMVpXbUl3ZHpsWFMwOUpTbkpNTkdOc1QzZHBjbHByVmt4TGJrUmpZVzAwVlc1NmFVWlpTVFJsUjNrMlptaGFUbDh6T1ZkUGNHd3hlR3BYYW01YWQxUlVPSEJOTjIweWRVaFhkVzlGUWpKWU0zZEJjSHBuWDJkQk5ISTFXa2M0Wm1oSlMxUkRkalpVUlVSb1NIZENSa0ZtVDA5NVpYRlJWbDlQTUdJd2RVeGxkMVo0VkVObU4ycGZPRjlLUWtadFpuWTFRbEZIZWkxMFRsTk9YemRQVVdSYVFVaHpkR2RJY1d0TFMxQkZZMnd5V0RKWE9GazVOMHRqUldkR1RVMXpORFJuVWs1MldHRkVhMGMzTjNWc1ZqSkhhSEYyVURkMlZtaE1hVzlQWkZscFkxQlBYM2xvT1VORllXSk1RWFJaY1RoZmIyMUNjbFJUVURsVFdtTnRUMDFUTjFNM1VUTnpOVXQxUTJSa2QwOHlXRWR5WHpVeE1rbzRlazFuZGt0M1UwWjNkbXhEVnpGSFJXRnpiV0ZGTVRFM1VIWkNSMHRCV1VKTGRtVmpialpOZWpWdGNESkdVV05QVEdOWmNGTTFaMmt0WHpOVFpqWXdOVzVOYTJFd1NGbzBMVUpCYlcxNmRWQXpjblEzWVVKTVkwWlFNVXRCV21wQlYyRXhVSGx3VUMwdE0zVktTbWRJUzNCUFdHbE1aVmxCWlhkaVNVZHpabU5CYW5GV1dGcGlNa00wVTA1TmRFMWFjVE4xU1RaR1gwbzJRbVozTjNCR2RXMTBVak5xWVNJc0ltaGxZV1JsY2lJNmV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSlNVMEZmUVVWVFgwdEZXVjlYVWtGUVh6STFOaUlzSW10cFpDSTZJbVpoYTJVdGNtVnNaV0Z6WlMxclpYa2lmU3dpYzJOb1pXMWhYM1psY25OcGIyNGlPaUl4TGpBaWZRIiwia2V5X29wcyI6WyJ3cmFwS2V5IiwiZGVjcnlwdCIsImVuY3J5cHQiLCJ1bndyYXBLZXkiLCJzaWduIiwidmVyaWZ5Il0sImtpZCI6Imh0dHBzOi8vbWFsZWdlZHluYXR0ZXN0aHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvaW1wb3J0cmVsZWFzZWtleTE2MjgzNzk1OTYwNTcwODYxMC8xOGJjM2Y4ZTRiNzgwM2FiM2FlYjJhOGY3YzdjZGZhNSIsImt0eSI6IlJTQSIsIm4iOiJvSkZOQUNOS3hvT3lHMHdWMWI3WWg3M0pXY0xsZXZWSzV6VG84QWNnMTNYU2RlUlZJSDQzaE03cllLVUtSbFhkY3FlcFRTY2VqdWozbFpwbW5LYm5kYjhPSTdyYTZaRzBVcDJYaFNpMHZaQlNIVExkSmxaNWE2Z3JhN19IWm95UFh1dFFVM1JfMFpreG5TbW9SQTBJOUVFdFVuXzVNUjdhY1lKWklMUjdIRWF4R3JQcEhYTVdRSDZKeF9OQTk3aGFOQVFzNVJkRHNuMUhHRUE5Tk1lME9LOWhnYjRGNU5FZXVZWFRnbFBYX3B2MVA4THhzQUxTTFMxNVA2ZWFVRXRxdEMwRWtvQk5jSEhYSjZCczg2aUpPcVZDc1ZBX2d5c3BZM0cyY0gxTnh1TnktUDVuMk43UnlRajk1RnpnTzhDR3B4U0gtblhrT3FEZ1o1cWcwZzctTlEifSwicmVsZWFzZV9wb2xpY3kiOnsiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04IiwiZGF0YSI6ImV5SmhibmxQWmlJNlczc2lZVzU1VDJZaU9sdDdJbU5zWVdsdElqb2ljMlJyTFhSbGMzUWlMQ0psY1hWaGJITWlPaUowY25WbEluMWRMQ0poZFhSb2IzSnBkSGtpT2lKb2RIUndjem92TDIxaGJHVm5aV1I1Ym1GMGRHVnpkR0YwZEdWemRHRjBhVzl1TG1GNmRYSmxkMlZpYzJsMFpYTXVibVYwTHlKOVhTd2lkbVZ5YzJsdmJpSTZJakV1TUM0d0luMCJ9fX19.NrKEnFv8VZoARIao8LBpD49gJK2TLMf-AUGkfLgmBHXEqDxD35Tx371CHNtLMogiOoIfZ489lbUdJcbMYx-0k03I2o_G2KfFMuPhFcQIX4WZoPr1H5usCpkY2TqYOOC7_cQY9VnCrsmCA2ccgyDmhrXUT4CYkzSs4FYTKHEQjvn1sA8mB2Bde7JdC_pLS9NPp7V3MqwmXcluvHkqMaFCm7MXD-2SAA9TloGUnp6oIQN9-o9tR61Q5Zc5LiS_oIj28nkFQdDnmUx6nIW7K3f4TJRb3vktx8w__pETSTH27yFj2A_lTDDfLxbDB8D_SWCkjlI0u3ctmdVXHzVAfvfVpg\"}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "14193", + "content-length": "14238", "content-security-policy": "default-src 'self'", "content-type": "application/json; charset=utf-8", "strict-transport-security": "max-age=31536000; includeSubDomains", @@ -104,14 +103,14 @@ "x-frame-options": "SAMEORIGIN", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;", "x-ms-keyvault-region": "eastus2", - "x-ms-request-id": "1e86a1d4-ec1a-11eb-b771-000d3a7a3d40", - "x-ms-server-latency": "632" + "x-ms-request-id": "c57a6614-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "866" } } ], "uniqueTestInfo": { "uniqueName": { - "importreleasekey": "importreleasekey162708824834309157" + "importreleasekey": "importreleasekey162837959605708610" }, "newDate": {} }, diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_update_a_keys_release_policy.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_update_a_keys_release_policy.json index 2a44c8536c62..b81e4e914fe0 100644 --- a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_update_a_keys_release_policy.json +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_update_a_keys_release_policy.json @@ -2,23 +2,22 @@ "recordings": [ { "method": "GET", - "url": "https://skrattestation.azurewebsites.net//generate-test-token", + "url": "https://skr_attestation.azure.net//generate-test-token", "query": {}, "requestBody": null, "status": 200, - "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJxanlNQ0d6S29heWN3a2hFQTU3Z2lTLTc4R1dxQmxRT2R1ZkEyNDhjLURNYTVuSXFGUG9VLWFMZ3pMNHJCVmNDS3dNVHBtTUtQc1N4NTBsLWRnS3RNZEMzem83cWZMYlFsUUtuNmJhSU15ejh4ZGpwWEExTTI1cHhZSUJUZlBudDk3SDdfOW5xSF9abGlXOW9aa3FMdU9oNlVuSkNfTTJ3YTVEbE03MEw3alFGclBSYWNTR1V3SUNzRk9va0tQRW01OVZjX0s4M2VxcFRFb3Y5UllYVmpMNmZPU09LaURMWG44b09VUFd4STl1UnUzX0tCQnVYbVlmOHBRWXNEeWNxcGdFdnhvZmR4YjE4M0tLZDJMZVl4X0hDUzFGX2R2NHlhYVNFQkdOSWF2bFZZWmFPTFEyX0xtRlp3RmZpUVhyZ2hqUTN4aWdkRFJ6QjFGWVV1Q2QyUHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgwMTIyNDUsImV4cCI6MTk0MzU4ODI0NX0.hd3OJj2t_PNLNOUkL1qlW2s6ygBSPRuOTSqCnON4A9DxWdRxNGXk4QWdHnaHG7IscHYYvFLlk-3niDQTngnJM4a2UauIUzmciwysERdqw1sIaRXF1jUWCEL6k7Yqc4id1SU5y9rI0NTWsQKNnDzvfcLSazZO8bib6rHEug_iLEiVWYLpHWIAzuKIxrfnod_67ErpYsRRpbmWbiEw1Yft3zj6-J8qmkPgz9eiIRKTwDfC4leHuaOwxr-td4kmj-OU6NWhRD8omLBWTmXcJqtRyF_dD64vVv47zdLELRn59nN9wa5tKKa0U_NanL7xgHZduz0FFVT9tvjtxj-k7pCf6g\"}", + "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ3NS01VnBkU0ZmTTJKRk9iYnBRM0tPZEFKNU81cTZrdjM1ZjlRVXZKRVVlQlIxYTliUGdDUGd4am1UWTU3WFllQ3Q0U04xU2tTUTI0VWw0MFo3dVJxelBLaDByUmpNdWk5NjI5MzJsSlRBa3F5R1BJYjB2c18tYzBDY1VvZHFCSENlSl9oNVNzc2VHSlJkRGJhVU55ZGtrUWM2dDRFREdYLXY0aW5PbWs2VnFRSldpS2x6cFBUVEpRblhGX2NsY25TVzdFQmR2bzJ3R1FJQXFwQXF6NDZZa1o4RE5PY1JHNEhNc0g1VFhZYzZwc2FiRXJLMWx5akRubFVXZmNUNkdpb3JkZHBBbjNlUVdqNG1sZGZkSGpxRl9MeHF5cHhWWnNWVGtqdVdHYWRncE5Sek5fQmh5UU1uSi1wcERXS2tmbkFzcVdLM2NEekdEWEJwaEhrOE5FcncifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1OTcsImV4cCI6MTYyODk4NDM5N30.sbMSfAe7Mo_ya10y8BWcAu1j-lGiMv4IayvKZVb_JYGxOuoCECvIdFqwDIGw1vaVt-PUuWKbEZh-uYJpJN3lT9Qk6eEpiJmj2QLqnKbK6deMIOBuDv8_iqwnOguxVSy2F53AZAN55dJU6EvisruR-H7dsLQuCDX5gutJG3f7ELCVTeOAj2P3WdyXE7YaD3RVMG4akES2rJ3JDM7NRkdcJT8PTxipKkPSrvQp1ZgxhTaMva7O8Gwk7vPHJksKEwTLen4OJK1c1XvQeu_ShXc3-Zu2DgJUq1OBp5psSZam-iEvIFauAz3Djm-PmzL4Bbgfj4rekk0QRa3JBk_uTwof0g\",\"attestationToken\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ3NS01VnBkU0ZmTTJKRk9iYnBRM0tPZEFKNU81cTZrdjM1ZjlRVXZKRVVlQlIxYTliUGdDUGd4am1UWTU3WFllQ3Q0U04xU2tTUTI0VWw0MFo3dVJxelBLaDByUmpNdWk5NjI5MzJsSlRBa3F5R1BJYjB2c18tYzBDY1VvZHFCSENlSl9oNVNzc2VHSlJkRGJhVU55ZGtrUWM2dDRFREdYLXY0aW5PbWs2VnFRSldpS2x6cFBUVEpRblhGX2NsY25TVzdFQmR2bzJ3R1FJQXFwQXF6NDZZa1o4RE5PY1JHNEhNc0g1VFhZYzZwc2FiRXJLMWx5akRubFVXZmNUNkdpb3JkZHBBbjNlUVdqNG1sZGZkSGpxRl9MeHF5cHhWWnNWVGtqdVdHYWRncE5Sek5fQmh5UU1uSi1wcERXS2tmbkFzcVdLM2NEekdEWEJwaEhrOE5FcncifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1OTcsImV4cCI6MTYyODk4NDM5N30.sbMSfAe7Mo_ya10y8BWcAu1j-lGiMv4IayvKZVb_JYGxOuoCECvIdFqwDIGw1vaVt-PUuWKbEZh-uYJpJN3lT9Qk6eEpiJmj2QLqnKbK6deMIOBuDv8_iqwnOguxVSy2F53AZAN55dJU6EvisruR-H7dsLQuCDX5gutJG3f7ELCVTeOAj2P3WdyXE7YaD3RVMG4akES2rJ3JDM7NRkdcJT8PTxipKkPSrvQp1ZgxhTaMva7O8Gwk7vPHJksKEwTLen4OJK1c1XvQeu_ShXc3-Zu2DgJUq1OBp5psSZam-iEvIFauAz3Djm-PmzL4Bbgfj4rekk0QRa3JBk_uTwof0g\"}", "responseHeaders": { - "content-length": "1305", + "content-length": "2684", "content-type": "application/json; charset=utf-8", - "date": "Tue, 03 Aug 2021 17:37:24 GMT", - "etag": "W/\"519-TSvJ823kJMRm2vQfKobElho9c50\"", - "status": "200", + "date": "Sat, 07 Aug 2021 23:39:56 GMT", + "etag": "W/\"a7c-3iCneo4kPh8Tsdbd0v7ISxmPV4I\"", "x-powered-by": "Express" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162801224552809918/create", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959857101792/create", "query": { "api-version": "7.3-preview" }, @@ -34,7 +33,7 @@ "www-authenticate": "Bearer authorization=\"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012\", resource=\"https://managedhsm.azure.net\"", "x-content-type-options": "nosniff", "x-frame-options": "SAMEORIGIN", - "x-ms-request-id": "777417b2-f481-11eb-9e56-000d3a7da679", + "x-ms-request-id": "c6325d32-f7d8-11eb-847e-000d3a0f8fc4", "x-ms-server-latency": "1" } }, @@ -49,7 +48,7 @@ "cache-control": "no-store, no-cache", "content-length": "1322", "content-type": "application/json; charset=utf-8", - "date": "Tue, 03 Aug 2021 17:37:25 GMT", + "date": "Sat, 07 Aug 2021 23:39:57 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", @@ -58,22 +57,22 @@ "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11898.12 - SCUS ProdSlices", - "x-ms-request-id": "4def3d42-40aa-4911-ae8f-189299053601" + "x-ms-ests-server": "2.1.11935.12 - EUS ProdSlices", + "x-ms-request-id": "e5772a0e-cb95-4c76-8657-23bb03c92c00" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162801224552809918/create", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959857101792/create", "query": { "api-version": "7.3-preview" }, - "requestBody": "{\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\"],\"attributes\":{\"exportable\":true},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyYXR0ZXN0YXRpb24uYXp1cmV3ZWJzaXRlcy5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0\"}}", + "requestBody": "{\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\"],\"attributes\":{\"exportable\":true},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyX2F0dGVzdGF0aW9uLmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ\"}}", "status": 200, - "response": "{\"attributes\":{\"created\":1628012246,\"enabled\":true,\"exportable\":true,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1628012246},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"decrypt\",\"encrypt\"],\"kid\":\"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162801224552809918/9802afe320e10dc325c7372463dc313e\",\"kty\":\"RSA-HSM\",\"n\":\"wUMXCXsxzaDBkhlAmAKK-P7BANIDW_c5VZutSndAfy5hoIgMxrAqw-1T40d2VX39OGDN8XdCpLdD-78Qm2O8_kpVZdi4jP6E0lQTwPjM2Llz_0Rg-lUpGphkpmdHa3S9h4fKgHD30hynvLEmPLLoEy2r9gucU3Lun-NAr7a7P2phJ9y-LzXSld2ZE2m_sbWhkGG5GL5v93JOlQCghs4RClNtl_o1LL98lTUu-KXZ4pr0WId7g3N0vGw6lGYhmPFjtbaWYxSGdu-e3sKxlH0EQTV7TgcrdOuEWB_CfTcBqiF6BBcXvb23Ye-ckSSkAAfExmof2AaYsjWhkmO7YuEhrw\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}", + "response": "{\"attributes\":{\"created\":1628379597,\"enabled\":true,\"exportable\":true,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1628379597},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"decrypt\",\"encrypt\"],\"kid\":\"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959857101792/086580b8781608540c4d84f1722fb8d7\",\"kty\":\"RSA-HSM\",\"n\":\"m2Bn954cgJMImqwoMHkbuy5kwTWSdgqNEavVXtQY24xawrflfLYCvDyQzgY_cUJ_1fl_Q0PvSmAD06vQjzhKTf2nTwxc9kAQ6nEhVMJird_HFSngpM5SW3nK6lnyn7W4SNsq7K2VrDY9UOd6yIG7_W8IaweKWiL-8uzi6xwjCDvUAEK31l5SSXFmd8cBX2SsQSXuEdYJYKJTyDDlbLlnnBrgJRM2ReBvaH3CScUZ2aaZKrepWgWTZdk8MXsItpMGP3AqL7cbTQMRzlE8eRJyu7h_FPufjB8imez1m8mfOGOeqSSyt5KP-eh0Gl1OccWlp4I0UzFenOI6IYzjV5QfOw\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3Nrcl9hdHRlc3RhdGlvbi5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wLjAifQ\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "951", + "content-length": "971", "content-security-policy": "default-src 'self'", "content-type": "application/json; charset=utf-8", "strict-transport-security": "max-age=31536000; includeSubDomains", @@ -81,22 +80,22 @@ "x-frame-options": "SAMEORIGIN", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;", "x-ms-keyvault-region": "eastus2", - "x-ms-request-id": "77ba647e-f481-11eb-9e56-000d3a7da679", - "x-ms-server-latency": "782" + "x-ms-request-id": "c65810cc-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "1069" } }, { "method": "PATCH", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162801224552809918/", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959857101792/", "query": { "api-version": "7.3-preview" }, - "requestBody": "{\"attributes\":{},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6ImZhbHNlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NoYXJlZGV1cy5ldXMuYXR0ZXN0LmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ\"}}", + "requestBody": "{\"attributes\":{},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6ImZhbHNlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3Nrcl9hdHRlc3RhdGlvbi5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0\"}}", "status": 200, - "response": "{\"attributes\":{\"created\":1628012246,\"enabled\":true,\"exportable\":true,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1628012247},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"encrypt\",\"decrypt\"],\"kid\":\"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162801224552809918/9802afe320e10dc325c7372463dc313e\",\"kty\":\"RSA-HSM\",\"n\":\"wUMXCXsxzaDBkhlAmAKK-P7BANIDW_c5VZutSndAfy5hoIgMxrAqw-1T40d2VX39OGDN8XdCpLdD-78Qm2O8_kpVZdi4jP6E0lQTwPjM2Llz_0Rg-lUpGphkpmdHa3S9h4fKgHD30hynvLEmPLLoEy2r9gucU3Lun-NAr7a7P2phJ9y-LzXSld2ZE2m_sbWhkGG5GL5v93JOlQCghs4RClNtl_o1LL98lTUu-KXZ4pr0WId7g3N0vGw6lGYhmPFjtbaWYxSGdu-e3sKxlH0EQTV7TgcrdOuEWB_CfTcBqiF6BBcXvb23Ye-ckSSkAAfExmof2AaYsjWhkmO7YuEhrw\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJmYWxzZSJ9XSwiYXV0aG9yaXR5IjoiaHR0cHM6Ly9zaGFyZWRldXMuZXVzLmF0dGVzdC5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wLjAifQ\"}}", + "response": "{\"attributes\":{\"created\":1628379597,\"enabled\":true,\"exportable\":true,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1628379598},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"encrypt\",\"decrypt\"],\"kid\":\"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837959857101792/086580b8781608540c4d84f1722fb8d7\",\"kty\":\"RSA-HSM\",\"n\":\"m2Bn954cgJMImqwoMHkbuy5kwTWSdgqNEavVXtQY24xawrflfLYCvDyQzgY_cUJ_1fl_Q0PvSmAD06vQjzhKTf2nTwxc9kAQ6nEhVMJird_HFSngpM5SW3nK6lnyn7W4SNsq7K2VrDY9UOd6yIG7_W8IaweKWiL-8uzi6xwjCDvUAEK31l5SSXFmd8cBX2SsQSXuEdYJYKJTyDDlbLlnnBrgJRM2ReBvaH3CScUZ2aaZKrepWgWTZdk8MXsItpMGP3AqL7cbTQMRzlE8eRJyu7h_FPufjB8imez1m8mfOGOeqSSyt5KP-eh0Gl1OccWlp4I0UzFenOI6IYzjV5QfOw\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJmYWxzZSJ9XSwiYXV0aG9yaXR5IjoiaHR0cHM6Ly9za3JfYXR0ZXN0YXRpb24uYXp1cmUubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}", "responseHeaders": { "cache-control": "no-cache", - "content-length": "950", + "content-length": "972", "content-security-policy": "default-src 'self'", "content-type": "application/json; charset=utf-8", "strict-transport-security": "max-age=31536000; includeSubDomains", @@ -104,16 +103,16 @@ "x-frame-options": "SAMEORIGIN", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;", "x-ms-keyvault-region": "eastus2", - "x-ms-request-id": "783e2b56-f481-11eb-9e56-000d3a7da679", - "x-ms-server-latency": "495" + "x-ms-request-id": "c707ffbe-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "907" } } ], "uniqueTestInfo": { "uniqueName": { - "exportkey": "exportkey162801224552809918" + "exportkey": "exportkey162837959857101792" }, "newDate": {} }, - "hash": "f98d82aeb9c7060d8f33c8be98d0a7e8" + "hash": "8205870c815b9ab50674afc2aa3f2969" } \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_a_key_has_a_release_policy_but_is_not_exportable.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_a_key_has_a_release_policy_but_is_not_exportable.json index e1a9940c24b2..0e490d1c9864 100644 --- a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_a_key_has_a_release_policy_but_is_not_exportable.json +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_a_key_has_a_release_policy_but_is_not_exportable.json @@ -2,23 +2,22 @@ "recordings": [ { "method": "GET", - "url": "https://skrattestation.azurewebsites.net//generate-test-token", + "url": "https://skr_attestation.azure.net//generate-test-token", "query": {}, "requestBody": null, "status": 200, - "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJzTFQ5clY2anVJOUdVRHM2TFpBUkw0WENadXpZVGVjQmRpSDVDdmZwUXhzUFczYUEycDcyOXJVeXc3MHhkQWxlWEUydjVjZExkX1Nlcy1Ramg4NnlHc0lsZWdlSGtzSnFXNC1hejE1OWdhMWVkTnhYbndMb2k1b2Z3bnlfS1FVemt3T1IwdnhaV0Qtb0R4QWE4aXZxU0Z2OXdYdVU4aVZlRkE0VUZLYjU0N3BlWE1ZNkhkM2F0Z0JIanVEMWdhOHNBRjNOVXRBVE1IODVHWnFublpKOXRiMDVDT2tTaGVUbWJPaWdkRE1JUTFQX3YzTjFWVVBVVmNiWG5MdzYxMExuZG9Sd3MwdFh4c2UtblExaGRpU3JCVC0xNFZhcjBxX2YwU2drTzhXMm9WMVdLTmNkNVJKeWRXdS1rNWtYUkM4NHZBcVcyeGNCWU1XSWhnWWJaU21YUVEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyNTAsImV4cCI6MTk0MjY2NDI1MH0.aBReJ1rDr6SoYgMl8D9EchIG3u7MLtVNW2pReZj2mkokrKQVhpV-0dH9lIL3PcJctYIdat9ZTpZUMmuj8ezLUn6otAvLcOjAnkyOH2C7TzyqVkKEhRqj6xUd2_hyTzsEIc9QvkAXcbTm8QSXnwHI_NtzpC6Fdl0pZMfirltbzUgz_0LNkN_yOD4f7sTdu_O4BDfxicwvBRqYdqWtPCKA4rgjrS3R9ebeCuj3QgGL2pQT-9n4Sf2kgJdKtP4lV0gwNR9Zo2NoGWVPwJKyPxbNbe1iC8QikQNApd9Mc415mgLqn6OV90ajtyyhSye2xmZ2O1x-RsXJ9eM7JbUNceHEFA\"}", + "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ2ZExMXzVDOUE5ZkljSVJ6RjNvSFkzTVY4RTRINDRGX0J0WjBiWHdNdGNEb2xlT3pTS28tMkVxU0w3TDFzQW9sM1Y2SDNrNFQwRk5sTF9fTFQtcFNyUUk3WW80Yk5ZZkprY0FFOWhoVkFBZFd3NDBJYjNpMWRjMnZwTEdtMG5PTWlYb2FsV3VNLVVyLUlNRUM4OVB5Ri1BUWVQTF9Va0lJQk5XMGFWYVhBMGY1SUs3YzNobllfT0U5RzF2anR4MTFyaWdvVDVMNUQ3aWtaU3hNeHFUamU0OXhWc0pBUjNtWGZ2QU1abllkQ3VoQkFicmFsaUpQYWtTbDNFVzNqMEFxdVNUZnFDNDVkMXNjclNNZ0pxUzhvTWstSFJRbmU5cGJvbUJ6UFNlUjVYTzJmaWphTDhLVlNvUjN2Yl9HeUhtTFp6M09CNXk3U3RyYjZEOE11bnpMWHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk2MDAsImV4cCI6MTYyODk4NDQwMH0.xhrY5kIH4SHPKCpUi0iFhU7xNPPOKHcpdJaUaJWjrBjAljA9rRoLWfwB7k4OCUxQR5QJrk3rU_5yB65uDJpSNEodSICvc59IauD613F_ki_Ej027IjoMdB9b11d0CMS-LlARt0i1tbjVqhkI0FQAIJO7FTrPqmxHqv5kOiq8Aum2636S6F8JgQQi6Nuk918hAVgI3xGigoqmslCHF6ZX-0pNr8qlz65eq5Z1pZXBl6SmZKt6Fi2Fao4LrFyX22dZNCDJQ3Vd_Z9V6U9yugUt6Q0-ZiHy8c8bJAn-xjsQaiylzvTPUhHp5ndmdGKHHwYiCxQXQIBVB3K-5N8XqNTmNg\",\"attestationToken\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ2ZExMXzVDOUE5ZkljSVJ6RjNvSFkzTVY4RTRINDRGX0J0WjBiWHdNdGNEb2xlT3pTS28tMkVxU0w3TDFzQW9sM1Y2SDNrNFQwRk5sTF9fTFQtcFNyUUk3WW80Yk5ZZkprY0FFOWhoVkFBZFd3NDBJYjNpMWRjMnZwTEdtMG5PTWlYb2FsV3VNLVVyLUlNRUM4OVB5Ri1BUWVQTF9Va0lJQk5XMGFWYVhBMGY1SUs3YzNobllfT0U5RzF2anR4MTFyaWdvVDVMNUQ3aWtaU3hNeHFUamU0OXhWc0pBUjNtWGZ2QU1abllkQ3VoQkFicmFsaUpQYWtTbDNFVzNqMEFxdVNUZnFDNDVkMXNjclNNZ0pxUzhvTWstSFJRbmU5cGJvbUJ6UFNlUjVYTzJmaWphTDhLVlNvUjN2Yl9HeUhtTFp6M09CNXk3U3RyYjZEOE11bnpMWHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk2MDAsImV4cCI6MTYyODk4NDQwMH0.xhrY5kIH4SHPKCpUi0iFhU7xNPPOKHcpdJaUaJWjrBjAljA9rRoLWfwB7k4OCUxQR5QJrk3rU_5yB65uDJpSNEodSICvc59IauD613F_ki_Ej027IjoMdB9b11d0CMS-LlARt0i1tbjVqhkI0FQAIJO7FTrPqmxHqv5kOiq8Aum2636S6F8JgQQi6Nuk918hAVgI3xGigoqmslCHF6ZX-0pNr8qlz65eq5Z1pZXBl6SmZKt6Fi2Fao4LrFyX22dZNCDJQ3Vd_Z9V6U9yugUt6Q0-ZiHy8c8bJAn-xjsQaiylzvTPUhHp5ndmdGKHHwYiCxQXQIBVB3K-5N8XqNTmNg\"}", "responseHeaders": { - "content-length": "1305", + "content-length": "2684", "content-type": "application/json; charset=utf-8", - "date": "Sat, 24 Jul 2021 00:57:30 GMT", - "etag": "W/\"519-MP7NTdL/4j3iR+8Ml5JJ4t82Btk\"", - "status": "200", + "date": "Sat, 07 Aug 2021 23:39:59 GMT", + "etag": "W/\"a7c-9sWet8AcUX6Mg9OxDthea6LhfYs\"", "x-powered-by": "Express" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/policynonexportable162708825113401638/create", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/policynonexportable162837960169007748/create", "query": { "api-version": "7.3-preview" }, @@ -34,7 +33,7 @@ "www-authenticate": "Bearer authorization=\"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012\", resource=\"https://managedhsm.azure.net\"", "x-content-type-options": "nosniff", "x-frame-options": "SAMEORIGIN", - "x-ms-request-id": "1f8ce9da-ec1a-11eb-b771-000d3a7a3d40", + "x-ms-request-id": "c80e4756-f7d8-11eb-847e-000d3a0f8fc4", "x-ms-server-latency": "0" } }, @@ -49,7 +48,7 @@ "cache-control": "no-store, no-cache", "content-length": "1322", "content-type": "application/json; charset=utf-8", - "date": "Sat, 24 Jul 2021 00:57:30 GMT", + "date": "Sat, 07 Aug 2021 23:40:00 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", @@ -58,19 +57,19 @@ "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11898.8 - EUS ProdSlices", - "x-ms-request-id": "3a5661f3-94b1-49c7-b525-5cf61c8c5500" + "x-ms-ests-server": "2.1.11935.12 - WUS2 ProdSlices", + "x-ms-request-id": "a0e080dd-c12e-4f0e-aca9-4c63af763a00" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/policynonexportable162708825113401638/create", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/policynonexportable162837960169007748/create", "query": { "api-version": "7.3-preview" }, - "requestBody": "{\"kty\":\"RSA\",\"attributes\":{},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyYXR0ZXN0YXRpb24uYXp1cmV3ZWJzaXRlcy5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0\"}}", + "requestBody": "{\"kty\":\"RSA\",\"attributes\":{},\"release_policy\":{\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyX2F0dGVzdGF0aW9uLmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ\"}}", "status": 400, - "response": "{\"error\":{\"code\":\"BadParameter\",\"message\":\"Non-exportable keys must not have release policy (Activity ID: 1fafded6-ec1a-11eb-b771-000d3a7a3d40)\"}}", + "response": "{\"error\":{\"code\":\"BadParameter\",\"message\":\"Non-exportable keys must not have release policy (Activity ID: c832b9e2-f7d8-11eb-847e-000d3a0f8fc4)\"}}", "responseHeaders": { "cache-control": "no-cache", "content-length": "146", @@ -79,14 +78,14 @@ "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", "x-frame-options": "SAMEORIGIN", - "x-ms-request-id": "1fafded6-ec1a-11eb-b771-000d3a7a3d40", - "x-ms-server-latency": "15" + "x-ms-request-id": "c832b9e2-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "18" } } ], "uniqueTestInfo": { "uniqueName": { - "policynonexportable": "policynonexportable162708825113401638" + "policynonexportable": "policynonexportable162837960169007748" }, "newDate": {} }, diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_key_is_exportable_without_a_release_policy.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_key_is_exportable_without_a_release_policy.json index 005455ae5ac2..2463401411b3 100644 --- a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_key_is_exportable_without_a_release_policy.json +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_key_is_exportable_without_a_release_policy.json @@ -2,23 +2,22 @@ "recordings": [ { "method": "GET", - "url": "https://skrattestation.azurewebsites.net//generate-test-token", + "url": "https://skr_attestation.azure.net//generate-test-token", "query": {}, "requestBody": null, "status": 200, - "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ2b3JqQV92VEV5dGhrWkppSFJpSUZ4MnI0Y3VGWnlodDRmZ1JNdzEyVUtOMVB3TnBSbEpmZGdtdXJTZDdIZlM2STJ4eE9DZjlfdGcyUk9idWhNd054QUpYZXdiRFlVemdETVZ1SmQ5QWs4QzA2dU5zWjZLbnlNNkVvWUU1NDFGRFlKSW5vWDEzb1libl9sY29uU2ROTlU0NEdlSENsRnpvV081UGZXbHh6cEJ1bDk5NE9YR2VyNXZLb3RXU0hjTDZvVzdZclNFN21YcGozMkt2UjQtOElZd0I1SGtLZ1lOQkVQWW1EaTNJd2ZsWUJKQkxHbjlFZW15NGlyNTEzN3RDZUo0MnljTW1LOV9tNGZNNWVLOV84VmRjeHVxelFDc3llckFLQmRqdjE1QnhGZ3dOYXRUQjF6ZThiVDZMRENqeFRVQlBxQ2hYZkdUSktld3lpb0R3eFEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyNTAsImV4cCI6MTk0MjY2NDI1MH0.oWUUUxE6FK-_xFV0MCBIOEo3bkR2D82x4l2bcm3CPkswdOzk_JWXMIG8MUNg2XsonC8WuPAcxlSpgcOAHSh2P9RuQYiF_4ISqWLpErEre3SpyZkGisFR1zzz1MnCHtj8IOeT61IGhngCic6Z9eAP1Xk0XV5sJalMcnKwR68iFTvgMfK4XvWQipyJOIsjVEqnfxSe0DufFBtUhUB8NGJFvY0gzfbwmXzZAqeYdokCswXF42HvPIyBTxN5wB_9RTlBgkmCUnQZNCZL7DUZI_bOKuLrfWIT-vM2ggWnQ8hIthjVZ9vBgKlWRdct1frJir4zJZb4VuV-cxEYLv-3tczykw\"}", + "response": "{\"token\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ6Z3gtVUhDOVhNWDV6WnZSUmZpVFlHNmNaUERBLVdRTjRrWDJCZWptT0FkXzV0UHZaV2EtVTBIS3N2Vm1WRW5DMWdDd01nU2Rqdmdhd2dlMFVidFB6VVVuU19BRVFiU243ZXQ1QXJzUDBIN0lvWmVfR1FmSGlYQkdxSUlwOENSczE1ZFcwN204X0Z1UkthejBQYUpfMzVySDF0YXN2ejNIeGxBczJvLXVscFpGZFVQbFBDMFR1VlZRSXl6TDZRZExQMzZZdjV5UnZ1X2ZvZ0ZXLThOMTBoTWRUQUh6MVhWSmY5dy1FSFowUjJPeDFQVVlPQmIxSGFodGJ4ZXdpTS1PT0xxRl9DUkRfRVJDcEF0UWxBZ1JVbWF6S1YwQll5cVJXQk9JUW1GV1FhWXBCX1U2S1N4dGVwamh2YTM0TFpBMWlGT1VueGxDSnVBTGV6bC1tRkpES1EifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk2MDAsImV4cCI6MTYyODk4NDQwMH0.QINdgew-fWlB68w1A7SgOpLtbclByj9bZD39kUJYzAAifOFWWQjT9TbbyX3r-u0SJYBTupyWZREtLdu_9_v9mFKzq2IoZ_-KVLhjHzOamU0n0XR-uLqyoFzBlxSTkus9kYbXjvWz25T80T1w_y4a38NbmQdS_9T7ZS-aEugcAlREXjLyPJoZtASadpF7p34NBBtRpfjAhPDt__Vnuy1_C9Hl0qD7eCuI35U-VUYO15GjqYlr0iuNIuKKtsL5OGMVDuteTbBzKf1YSAeUfKpLcysbkhZvBIvXzprVl-nqkMbWhThE3nHz6uMcdXpMchdYDAlbNpeh8yJ-f2NuGcIiEg\",\"attestationToken\":\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ6Z3gtVUhDOVhNWDV6WnZSUmZpVFlHNmNaUERBLVdRTjRrWDJCZWptT0FkXzV0UHZaV2EtVTBIS3N2Vm1WRW5DMWdDd01nU2Rqdmdhd2dlMFVidFB6VVVuU19BRVFiU243ZXQ1QXJzUDBIN0lvWmVfR1FmSGlYQkdxSUlwOENSczE1ZFcwN204X0Z1UkthejBQYUpfMzVySDF0YXN2ejNIeGxBczJvLXVscFpGZFVQbFBDMFR1VlZRSXl6TDZRZExQMzZZdjV5UnZ1X2ZvZ0ZXLThOMTBoTWRUQUh6MVhWSmY5dy1FSFowUjJPeDFQVVlPQmIxSGFodGJ4ZXdpTS1PT0xxRl9DUkRfRVJDcEF0UWxBZ1JVbWF6S1YwQll5cVJXQk9JUW1GV1FhWXBCX1U2S1N4dGVwamh2YTM0TFpBMWlGT1VueGxDSnVBTGV6bC1tRkpES1EifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk2MDAsImV4cCI6MTYyODk4NDQwMH0.QINdgew-fWlB68w1A7SgOpLtbclByj9bZD39kUJYzAAifOFWWQjT9TbbyX3r-u0SJYBTupyWZREtLdu_9_v9mFKzq2IoZ_-KVLhjHzOamU0n0XR-uLqyoFzBlxSTkus9kYbXjvWz25T80T1w_y4a38NbmQdS_9T7ZS-aEugcAlREXjLyPJoZtASadpF7p34NBBtRpfjAhPDt__Vnuy1_C9Hl0qD7eCuI35U-VUYO15GjqYlr0iuNIuKKtsL5OGMVDuteTbBzKf1YSAeUfKpLcysbkhZvBIvXzprVl-nqkMbWhThE3nHz6uMcdXpMchdYDAlbNpeh8yJ-f2NuGcIiEg\"}", "responseHeaders": { - "content-length": "1305", + "content-length": "2684", "content-type": "application/json; charset=utf-8", - "date": "Sat, 24 Jul 2021 00:57:29 GMT", - "etag": "W/\"519-zFvkdRuwZM5SNhS2zf1F8dqzzr4\"", - "status": "200", + "date": "Sat, 07 Aug 2021 23:39:59 GMT", + "etag": "W/\"a7c-k9YvBMl/tCGr1zH/tRpxIzfkTxI\"", "x-powered-by": "Express" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportablenopolicy162708825049405352/create", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportablenopolicy162837960116702242/create", "query": { "api-version": "7.3-preview" }, @@ -34,7 +33,7 @@ "www-authenticate": "Bearer authorization=\"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012\", resource=\"https://managedhsm.azure.net\"", "x-content-type-options": "nosniff", "x-frame-options": "SAMEORIGIN", - "x-ms-request-id": "1f2b409a-ec1a-11eb-b771-000d3a7a3d40", + "x-ms-request-id": "c7be7604-f7d8-11eb-847e-000d3a0f8fc4", "x-ms-server-latency": "1" } }, @@ -49,7 +48,7 @@ "cache-control": "no-store, no-cache", "content-length": "1322", "content-type": "application/json; charset=utf-8", - "date": "Sat, 24 Jul 2021 00:57:30 GMT", + "date": "Sat, 07 Aug 2021 23:39:59 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", @@ -58,19 +57,19 @@ "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11898.8 - NCUS ProdSlices", - "x-ms-request-id": "1ba24af9-1080-4c93-a423-e4dd26c22100" + "x-ms-ests-server": "2.1.11935.12 - NCUS ProdSlices", + "x-ms-request-id": "52cfc077-c310-4bc0-b4ea-b873c1a82a00" } }, { "method": "POST", - "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportablenopolicy162708825049405352/create", + "url": "https://azure_managedhsm.managedhsm.azure.net/keys/exportablenopolicy162837960116702242/create", "query": { "api-version": "7.3-preview" }, "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"exportable\":true}}", "status": 400, - "response": "{\"error\":{\"code\":\"BadParameter\",\"message\":\"Exportable keys must have release policy (Activity ID: 1f4cfafa-ec1a-11eb-b771-000d3a7a3d40)\"}}", + "response": "{\"error\":{\"code\":\"BadParameter\",\"message\":\"Exportable keys must have release policy (Activity ID: c7e378fa-f7d8-11eb-847e-000d3a0f8fc4)\"}}", "responseHeaders": { "cache-control": "no-cache", "content-length": "138", @@ -79,14 +78,14 @@ "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", "x-frame-options": "SAMEORIGIN", - "x-ms-request-id": "1f4cfafa-ec1a-11eb-b771-000d3a7a3d40", - "x-ms-server-latency": "15" + "x-ms-request-id": "c7e378fa-f7d8-11eb-847e-000d3a0f8fc4", + "x-ms-server-latency": "18" } } ], "uniqueTestInfo": { "uniqueName": { - "exportablenopolicy": "exportablenopolicy162708825049405352" + "exportablenopolicy": "exportablenopolicy162837960116702242" }, "newDate": {} }, diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_getkeyrotationpolicy_supports_tracing.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_getkeyrotationpolicy_supports_tracing.json new file mode 100644 index 000000000000..a21b460fd761 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_getkeyrotationpolicy_supports_tracing.json @@ -0,0 +1,140 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206808550408505/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "97", + "content-type": "application/json; charset=utf-8", + "date": "Sun, 19 Sep 2021 16:14:45 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "eebd156f-195e-499c-b46a-53e77cdbbd57", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "61b66e8e-5748-4234-9d80-b917cbeebe37", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1315", + "content-type": "application/json; charset=utf-8", + "date": "Sun, 19 Sep 2021 16:14:45 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+est\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.12071.7 - EUS ProdSlices", + "x-ms-request-id": "ad87473d-33a5-4871-9b3a-1090e648ac00" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206808550408505/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206808550408505/83b5c0e864fa4a17b5dd57d47b68f067\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"vMAAOS6r94OEjjGY0LTY6mCNYDOyMpuO7VFGI0T_hOt45k0reCjPGf9AAr1VrvZsVNQnKuWZ4Y9IOk2jn4EgI_bv4PtbSQMQl31TLKpTM1RHezXaj6gDtRw3eJsHhX3wMHsQFZA0EqPi9Go-b_GWcTLOuN_mFy2LnwukQlRBziZJoCIa_rVkVFe_ieoTm3MTPLJjrV75-TlQDkP1Ps8MzD90RHRZ42N7hH6oX8FGq8kdWwWq6mEXsu9MMBgIpCqi-UIEVOozMN93DGRNuLcicPZGHCMP1mJBI4n2ikYFTG6K5UcZyfbUH-OUC45CRZ9ECA9aryjQn6wiBFY9eWKMCQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632068086,\"updated\":1632068086,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "713", + "content-type": "application/json; charset=utf-8", + "date": "Sun, 19 Sep 2021 16:14:45 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "eebd156f-195e-499c-b46a-53e77cdbbd57", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "0b40c501-66cf-4df2-9560-f9a34d3368cf", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206808550408505/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P2M\"},\"action\":{\"type\":\"Rotate\"}}],\"attributes\":{}}", + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206808550408505/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P2M\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"created\":1632068086,\"updated\":1632068086}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "311", + "content-type": "application/json; charset=utf-8", + "date": "Sun, 19 Sep 2021 16:14:46 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "7db4eeda-a9e8-4cde-8cd9-42b6f9cd1fb6", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "e06c7f10-c6ab-4a61-a72d-b0e20d44b56a", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206808550408505/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": null, + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206808550408505/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P2M\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"created\":1632068086,\"updated\":1632068086}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "311", + "content-type": "application/json; charset=utf-8", + "date": "Sun, 19 Sep 2021 16:14:46 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "e0ef4932-2ab3-49b2-bb63-5c758cae658c", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.2", + "x-ms-request-id": "e40a2b26-95d4-4e73-8fb1-853ca1dcd6fd", + "x-powered-by": "ASP.NET" + } + } + ], + "uniqueTestInfo": { + "uniqueName": { + "rotationpolicytracing": "rotationpolicytracing163206808550408505" + }, + "newDate": {} + }, + "hash": "dc613b4354ceddfaf7665d1d78b80391" +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_rotating_a_key.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_rotating_a_key.json new file mode 100644 index 000000000000..5bc8e05631c0 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_rotating_a_key.json @@ -0,0 +1,117 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotate162811057214302678/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "97", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:11 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "401", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "2aa2c815-1113-4488-be34-57fc2b48de45", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "22a9b7e1-8887-49fa-8ccd-d39bf23b58b9", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1315", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:12 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11898.12 - EUS ProdSlices", + "x-ms-request-id": "ea7e953e-a336-468f-980a-b760675e1600" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotate162811057214302678/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keyrotate162811057214302678/2446c2d92d3249c88aaf0ddac46e2544\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0fSoVIv4yInvYAqaDQIygkTtRNU4gMcjGYbs9P7m2gMH1Yi5xEHDudIWkkDxaEQrIjBQ3kwFaH-8qd3M7rL10v3CD9UqQfCgM48vP7sQzVoC6WbS0jSQKRtxL0dBmtsN4T2ZFVBk9bdPxykXL9DAiMife9ZkrWD8LOddbZbkH5JJuUu8Dc-rWLuw7tCob7hoYoO1XEt6g3yu1hvYgwLzzQiVOd2pL1fcwU_tJyUjacv9N7h_EyQsHHlrquJ033MfTT0g8zJfbSccVfDPZzftY1CNKpja1FysAD0udU4yw2UscBO86C42HVu3Y9-6uwsJuvWd-q2KRP2ASnsYIuy9EQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1628110572,\"updated\":1628110572,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "704", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:12 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "2aa2c815-1113-4488-be34-57fc2b48de45", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "b5b8da1b-9e97-4b48-a1f9-7b9ec9656ec9", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotate162811057214302678/rotate", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": null, + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keyrotate162811057214302678/69dc59b628874f3aab705a26095106b3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"pl5XDU1hX1XhgnESm9RsF5WGLVrR5R5p0JY42zZA9_fQ2J4rgzeLS2NQpKf13GeXoSDnb9gh887VE-90U4YOaBbGTU27ZecdFUc38Zvn6YLZTHAlfvW2D5IfFoGfJ14Mns8M2rVg5I4lSFNef7QwTvMesucpgmlBP1Mckqtuub3Ae8W7fm1sEWGWKFYEiu12wqBcuSFARc0Imx-GOcVcZKiqdnZSDhGT-YFQSnGFeQSCISeSUCHFhC6YXA_ijgVclZ53MLqHAxamm9MKkNfkV0YRrnUTGH4bgXUQeiNQzS85heMQ71AST1sIFkNRKWi67w_dx7VtJPZ5EWXHQNWqNQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1628110573,\"updated\":1628110573,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "704", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:12 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "dcd544f8-1a44-4113-87d9-7b12ea3c04d4", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "8a75bd1b-4fdb-4b22-bd38-51b28a5e0016", + "x-powered-by": "ASP.NET" + } + } + ], + "uniqueTestInfo": { + "uniqueName": { + "keyrotate": "keyrotate162811057214302678" + }, + "newDate": {} + }, + "hash": "504f52dc3166b8ad4c7f758e9751053a" +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_tracing.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_tracing.json new file mode 100644 index 000000000000..81579e8ef027 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_tracing.json @@ -0,0 +1,117 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotatetracing162811057353409141/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "97", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:12 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "401", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "3068088d-65ce-421e-9c6f-48141ca5879d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "5c7edf3b-51ec-4b60-b20a-1e2f69bbfa21", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1315", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:13 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11935.12 - NCUS ProdSlices", + "x-ms-request-id": "326948c9-3f2d-4d1f-b898-eb5e1d5a0000" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotatetracing162811057353409141/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keyrotatetracing162811057353409141/182e13d32fb942f68f423ec84854d9e7\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"ozWMuHE12a-fZCFQqhWLMSBrXOZJ0ZhUBtasDplYePirdYBWbFcRQpBhJPpJ1ZpmE3K-QTzfBp3jGATL2CuipvjNpIx8m965PV05xTUJ-KzNAwYrTFYmx1UZBoGbMGTzTZmkRYTqvsAlvJ9g3k3ZkFYRIpDpuLgf6m5Ne1nijC56K37Y9NVO3ErfuwJ6kM9EO0cmCK48wKHV_mxS4jXnNyxzRZB9iBh9pt9g-DiGmKM3gfKiDAJxas0rtpjoy89EPF7wGZtX46RBl4h-8557J2Ws72PEWl4mBsmLxhKaSX8QNBbo4P2-7AS3aRussXE3PCYIBWllpX49a2o6mtt9sQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1628110573,\"updated\":1628110573,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "711", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:13 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "3068088d-65ce-421e-9c6f-48141ca5879d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "965b10f6-13d5-4200-969c-af26d9f2d127", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotatetracing162811057353409141/rotate", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": null, + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keyrotatetracing162811057353409141/b1e6bf4bd7e845338fae6d19814edf0e\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uZvHm3wRwbl2R8WLnXXILB7o3YtheGbT67Z8-W9pWw4Pxg8nuahosbg8WhOIFFTW9uVt3hWIwj0vNJuIIzxlgjdteLQd7H8rysXK_6Lbt69c_Sn3t7-4kpgQHbUwKbDMvbnchm1johZDh3R8ZV4RrRUlnugwP7nM2C2uglDWPiyBE2qnZxqnAcpZ8S2naNObinShxXo6GMwU-B1VHmowOJCLNbxXOWd_wM4UAKD8C5wIGNyQV0QYNuCv19CzhIm1saDlcgaoXuzfeEf_37XBgMVPE9xST7mfJI4FqOtmGoKIyC1Jg4_U6udXxgx25BZlkITmTzzfU6M617vHwB93uQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1628110574,\"updated\":1628110574,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "711", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:13 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "cd55a3ca-6ca3-4ca3-b60b-81fd30cf5916", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "61ebee25-1492-4578-b213-5e1034529314", + "x-powered-by": "ASP.NET" + } + } + ], + "uniqueTestInfo": { + "uniqueName": { + "keyrotatetracing": "keyrotatetracing162811057353409141" + }, + "newDate": {} + }, + "hash": "34efe3684c35244f507b56e5e3d5c2b3" +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_throws_when_attempting_to_fetch_a_policy_of_a_nonexistent_key.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_throws_when_attempting_to_fetch_a_policy_of_a_nonexistent_key.json new file mode 100644 index 000000000000..42db358988da --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_throws_when_attempting_to_fetch_a_policy_of_a_nonexistent_key.json @@ -0,0 +1,90 @@ +{ + "recordings": [ + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/nonexistentkey162811057765601062/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "97", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:16 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "401", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "cd51f48a-e3fb-41a2-bad9-ad64b930a4b3", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "144efab8-7abe-495e-ad07-16d09d8bc335", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1315", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:17 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11935.12 - NCUS ProdSlices", + "x-ms-request-id": "7c457ddf-b784-4f47-8aa8-7397a6610000" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/nonexistentkey162811057765601062/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"A key with (name/id) nonexistentkey162811057765601062 was not found in this key vault. If you recently deleted this key you may be able to recover it using the correct recovery command. For help resolving this issue, please see https://go.microsoft.com/fwlink/?linkid=2125182\"}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "320", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:17 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "404", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "cd51f48a-e3fb-41a2-bad9-ad64b930a4b3", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "5f6069de-ccf5-4a5e-8593-a957b20ef9a8", + "x-powered-by": "ASP.NET" + } + } + ], + "uniqueTestInfo": { + "uniqueName": { + "nonexistentkey": "nonexistentkey162811057765601062" + }, + "newDate": {} + }, + "hash": "27fa09b65962143734bca9f44e4204dd" +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_creating_a_new_rotation_policy_and_fetching_it.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_creating_a_new_rotation_policy_and_fetching_it.json new file mode 100644 index 000000000000..737705e6cc87 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_creating_a_new_rotation_policy_and_fetching_it.json @@ -0,0 +1,144 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057443705192/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "97", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:13 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "401", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "2f78d218-d8e7-45df-8adf-4e1d3fc5ca17", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "8d3675dc-d890-471e-9a43-6b530794b1c2", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1315", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:14 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11898.12 - NCUS ProdSlices", + "x-ms-request-id": "96242e21-daa8-4815-9143-963038bc9600" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057443705192/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057443705192/3994932394344340a5c36fd36753d416\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wEF5YJZIedyaOZu_5YCXrxO03odJBVnihutgkM87acAl17WcSAs2_-TDKR_OTafKLKKr1RrI2tQAAgyZfcPWpywd2_jh96x2ENMBc9izj6KqdkzTsk_BTPIDBFWtpWm-9cw5e0ig05N6hhpmCkaYGVJSggRsqjVooovvPiibVMA8_TRIvR_NFeIgGvZp25ImpAYosFDgiTsV4le-k3QDWKR2tHibOQB1uJkie3_YLrjlkNbF-sJCshgtl7haPMluHcZCsE9be7bVtfnFor9Mbr4D67wiFQy1R5MLPtbUrAmZHGM6NldXuzpnQDR4gdYn15VvMsyt_T3aOQQHumXJJQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1628110574,\"updated\":1628110574,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "712", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:14 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "2f78d218-d8e7-45df-8adf-4e1d3fc5ca17", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "76d3b235-0a78-463a-aef8-8e26666428cd", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057443705192/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Rotate\"}}],\"attributes\":{\"expiryTime\":\"P90D\"}}", + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057443705192/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P90D\",\"created\":1628110575,\"updated\":1628110575}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "332", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:14 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "8438a2f7-4aa5-4b89-bdb2-0071983a8ff9", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "17709fe0-ec0b-44c2-b05b-4aab32abf165", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057443705192/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": null, + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057443705192/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P90D\",\"created\":1628110575,\"updated\":1628110575}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "332", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:14 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "dcd3d9ab-ace2-4011-90fd-30b7d7482307", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "0ad2fd18-7d2f-436b-92f8-a674f0c3afc9", + "x-powered-by": "ASP.NET" + } + } + ], + "uniqueTestInfo": { + "uniqueName": { + "keyrotationpolicy": "keyrotationpolicy162811057443705192" + }, + "newDate": {} + }, + "hash": "84b2eb109474f25026f5ff6eb8e3f60e" +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_tracing.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_tracing.json new file mode 100644 index 000000000000..2d396c305fc2 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_tracing.json @@ -0,0 +1,117 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/updaterotationpolicy162929998596004008/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "97", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 18 Aug 2021 15:19:45 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "401", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "dc768c3c-7b3f-4040-8aba-0a4f3778e386", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "2813b4f8-17e8-4f86-89ef-a6708c90ff70", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1315", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 18 Aug 2021 15:19:44 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+wst\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11961.8 - SCUS ProdSlices", + "x-ms-request-id": "d426f3e6-a313-476f-a0f8-ec58711a1601" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/updaterotationpolicy162929998596004008/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"kty\":\"EC\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/updaterotationpolicy162929998596004008/7cbe4368e0fd4ad0a6a58cbe9f436561\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"VJdir-HjjEiqKjxfzi8SAAQ677aU3yf8lIzcVhYrcw0\",\"y\":\"TVQ4i0qysXFDfaPIKag-c0AIdFOSYxPXXs6KYohEPZ0\"},\"attributes\":{\"enabled\":true,\"created\":1629299985,\"updated\":1629299985,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "426", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 18 Aug 2021 15:19:45 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "dc768c3c-7b3f-4040-8aba-0a4f3778e386", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "09ddf447-3bad-4490-81a6-c94047d4a828", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/keys/updaterotationpolicy162929998596004008/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P90D\"}}", + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/keys/updaterotationpolicy162929998596004008/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P90D\",\"created\":1629299985,\"updated\":1629299985}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "268", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 18 Aug 2021 15:19:45 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "24c554f8-2528-4699-80f7-4195600435d5", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "f677e181-e782-455a-ad5b-debc3828d21c", + "x-powered-by": "ASP.NET" + } + } + ], + "uniqueTestInfo": { + "uniqueName": { + "updaterotationpolicy": "updaterotationpolicy162929998596004008" + }, + "newDate": {} + }, + "hash": "61aa442d682ded866af0675eab54070b" +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_updating_an_existing_policy.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_updating_an_existing_policy.json new file mode 100644 index 000000000000..05deaff8c0f0 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_updating_an_existing_policy.json @@ -0,0 +1,144 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057539807738/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"AKV10000: Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "97", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:14 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "401", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/12345678-1234-1234-1234-123456789012\", resource=\"https://vault.azure.net\"", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "a463b3bd-3371-4886-8f34-9ee6e7a564a5", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "ce87950a-a2a6-4871-84cc-6d1959d1d757", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1315", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:15 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11935.12 - SCUS ProdSlices", + "x-ms-request-id": "17ea1171-a418-4a6c-8404-364aae230200" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057539807738/create", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057539807738/62b064327aaf418fa123fc6425eedd0b\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"soIoHeMYLj1mQat9QFjesu2MMabke1oksTkWUDwZuZTZcwTPUjP4ANI14iNqWpGRiCKqMxUAQfLMogkev-2xpFpPF8_dKymLuY_AZ1IzIA-PExDjY1Nb-DqvZTZ-9lQlOTZ4nlDrpsypqJZ_6DdfIAwXiC21ZNBQPZAnJmnm0IRsd2qDTuiVvW8UBp2MqPPw7JIJhMWFJg8bOnCyYsxRwABjcZta9VT4ofSgLOV5wURjtjHvOT00nmt6dLe1x09HGPWit12-f0f2KwkWIEbu2bGJ5Abt8pS5z7DZBDqq4pMyzY4T68y0d8_8D-nxfaI_-4MC7hemnH70-gSToXCIYQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1628110575,\"updated\":1628110575,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "712", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:15 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "a463b3bd-3371-4886-8f34-9ee6e7a564a5", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "c7b9efe9-f1d6-49d2-aace-55636871bc0d", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057539807738/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P2M\"},\"action\":{\"type\":\"Rotate\"}}],\"attributes\":{}}", + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057539807738/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P2M\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"created\":1628110576,\"updated\":1628110576}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "310", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:15 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "c740d9ca-5652-404a-87e3-66567248bcd4", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "6da16588-4af4-4c45-8eed-9db922c1d1e7", + "x-powered-by": "ASP.NET" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057539807738/rotationpolicy", + "query": { + "api-version": "7.3-preview" + }, + "requestBody": "{\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P90D\"}}", + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811057539807738/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P90D\",\"created\":1628110576,\"updated\":1628110576}}", + "responseHeaders": { + "cache-control": "no-cache", + "content-length": "265", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 04 Aug 2021 20:56:15 GMT", + "expires": "-1", + "pragma": "no-cache", + "status": "200", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "3ec8a0f9-36ca-4b4d-834e-e0a365ebfde7", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "eastus", + "x-ms-keyvault-service-version": "1.9.48.0", + "x-ms-request-id": "3dde7586-e39e-4b15-a40c-f0b38e8534bf", + "x-powered-by": "ASP.NET" + } + } + ], + "uniqueTestInfo": { + "uniqueName": { + "keyrotationpolicy": "keyrotationpolicy162811057539807738" + }, + "newDate": {} + }, + "hash": "48d775741c1f06d6f7a53dbd18df56c5" +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_create_an_exportable_key_and_release_it.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_create_an_exportable_key_and_release_it.js index 363decfd8c7e..ecf6d7a60f81 100644 --- a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_create_an_exportable_key_and_release_it.js +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_create_an_exportable_key_and_release_it.js @@ -1,32 +1,32 @@ let nock = require('nock'); -module.exports.hash = "1b63d4e583c999b3d791de3bc2cd5da7"; +module.exports.hash = "fa8d51cf380439f3ddf0c912c212ff27"; -module.exports.testInfo = {"uniqueName":{"exportkey":"exportkey162708823218505039"},"newDate":{}} +module.exports.testInfo = {"uniqueName":{"exportkey":"exportkey162837957622209907"},"newDate":{}} -nock('https://skrattestation.azurewebsites.net:443', {"encodedQueryParams":true}) +nock('https://skr_attestation.azure.net:443', {"encodedQueryParams":true}) .get('//generate-test-token') - .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ6ZGZTNFpsRndVTHBSa1RmN3l0Q1N4X0Q3NnRpNXNPMUhhYmFLUUhzZUNMX0t6azB1NjJSeURYZm1pbE13d1VpY09VVTZ6b1BRS1NpUU5BNWc2WjUyWmduczJDNXcwTU1STndXOU11Nk1SLVdpNVByZUJBdVB3NjA4OVNUNVZha0F5eXRHNHpMX1dsdFo2Ny1LQ2ppVFo1Y05zTkwwajF2djU5aVNfVFN4MVo5bEQzT1Vzc095aTNLSFJvZ0tZeER3UENkeG0wclZCQkFHSVdtdGZUbVh4al9wdzJlbkZBWXJFZ1VBbHV1NE5LX3kycHRBMTcwTkgycEh4UHVVUy00LWViSzJveW9XU3VhdzMweTcyWmN5M2U0dDRVaGF0UGN2ZkJJVXlLUlVnU1o1UVItYTFNVm5GRUFWamhfa2VuREFoWnlWYXRRdDVSZ3hiZGZwSDRaU1EifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyMzEsImV4cCI6MTk0MjY2NDIzMX0.SokKaotTVOLLHETDsfqYEAsLGvXUuTmako5oBGgoB1BaOsNJFxuQM8S2CMJ8VJIIfmQTgSGlEvOgNwxtUSyX7UF-dLjxEP2jqBdwb8xfQ9rfe8s5QPxIumvIdUep2sGyZuI6AYjzT1ktVij4pVYUEqNJ63YlW_DGE4mFdPQz9TPrtc2b2PyTWXjMvCccOab5l9Y9scqphGV57qMs9lvwdDQSQVlP5AbLeIJ2C5hTaOvKtpzN33ZRb6a73PJULWbNxtNg4vQrUQlnKzJ5YWMyVntZ8dtf2-PSBPMkBo3gZkEsu_5jglQ7NdNX_Ao57SsVAcm_dmmrhl56yrVyv2oz5Q"}, [ + .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiI2cHNZOTZKZGhvdThHYmlSWDA5eDFTOHRvTWZrajdHWGdqUGdWdEJGRUpxREdVTXZlWXAwMVFWUWFSY2liZnpXeHlrUWJia3JpOTdRV25Ca2E4Sm85TmNfbEVBNVhzc2JBQklYS1ppYzM5enRReVhXNXI1Z3JMc3pGSmJLVjFOOTg1ZEprV09CUG8taFhWaklNZVNYVWJjUlRjNUtEOTR0Ul85d0hrSmFlWWVMd2dTT0dDQUEybFBoSjJHVUNsby1PZXhRYTJRb2tWYnVLUUhPUGVranotOXhuWUFJcWxseVE0cGVJVV9fYktWcG9DQ05rOG84WUwzLTEtbFZDWjJpRHJZeUJqVThkbVFwQUNPUzA4WEhJWTFXZFJBQTVFYnJRU0ZxeExDa1l0VE90Q1F4YlB1UGRiY0pZWTVadmNzVjEzUUJzTkstUEtHajRUSHdheVhrZ3cifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1NzUsImV4cCI6MTYyODk4NDM3NX0.LW7JckUnu7tcrPZ99HghoETxv1rwbVOxRPPlpAiwA_yQ50dfj8QY-nzeQ8d0qlgIwQCeQ7bz930obVa7gjOECiKdD3kpqN-IwR1nk-Bo6qVYNOaO1pduWiyUqVx0t8_jdEkGoAcybSEppNKw37rHxnc6cjBY3ayLQGRgcEFICuXm3MMtCzilHhfGo8Ne4FhBXC8_WyIOHeGj8WdtrDH_Z4tRRxZ0NGNy8hGCI87WAhAmAIkvSqMGJRsxg1TChKsUq_VMdWZHb9XGoa8vVJ67cjKKu3s6C6K_ANcbpOTZ-uTzHrQTHpGeANcvz2rBXbeteExcZW5uqSNBjIOYkYGfsA","attestationToken":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiI2cHNZOTZKZGhvdThHYmlSWDA5eDFTOHRvTWZrajdHWGdqUGdWdEJGRUpxREdVTXZlWXAwMVFWUWFSY2liZnpXeHlrUWJia3JpOTdRV25Ca2E4Sm85TmNfbEVBNVhzc2JBQklYS1ppYzM5enRReVhXNXI1Z3JMc3pGSmJLVjFOOTg1ZEprV09CUG8taFhWaklNZVNYVWJjUlRjNUtEOTR0Ul85d0hrSmFlWWVMd2dTT0dDQUEybFBoSjJHVUNsby1PZXhRYTJRb2tWYnVLUUhPUGVranotOXhuWUFJcWxseVE0cGVJVV9fYktWcG9DQ05rOG84WUwzLTEtbFZDWjJpRHJZeUJqVThkbVFwQUNPUzA4WEhJWTFXZFJBQTVFYnJRU0ZxeExDa1l0VE90Q1F4YlB1UGRiY0pZWTVadmNzVjEzUUJzTkstUEtHajRUSHdheVhrZ3cifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1NzUsImV4cCI6MTYyODk4NDM3NX0.LW7JckUnu7tcrPZ99HghoETxv1rwbVOxRPPlpAiwA_yQ50dfj8QY-nzeQ8d0qlgIwQCeQ7bz930obVa7gjOECiKdD3kpqN-IwR1nk-Bo6qVYNOaO1pduWiyUqVx0t8_jdEkGoAcybSEppNKw37rHxnc6cjBY3ayLQGRgcEFICuXm3MMtCzilHhfGo8Ne4FhBXC8_WyIOHeGj8WdtrDH_Z4tRRxZ0NGNy8hGCI87WAhAmAIkvSqMGJRsxg1TChKsUq_VMdWZHb9XGoa8vVJ67cjKKu3s6C6K_ANcbpOTZ-uTzHrQTHpGeANcvz2rBXbeteExcZW5uqSNBjIOYkYGfsA"}, [ 'Content-Length', - '1305', + '2684', 'Content-Type', 'application/json; charset=utf-8', 'ETag', - 'W/"519-WTTtFmCBP6tZRTm0UNJIo28zImg"', + 'W/"a7c-gqFpboyf91AnlwBuK54x+7jcwRY"', 'X-Powered-By', 'Express', 'Set-Cookie', - 'ARRAffinity=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinity=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;Secure;Domain=skr_attestation.azure.net', 'Set-Cookie', - 'ARRAffinitySameSite=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;SameSite=None;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinitySameSite=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;SameSite=None;Secure;Domain=skr_attestation.azure.net', 'Date', - 'Sat, 24 Jul 2021 00:57:11 GMT', + 'Sat, 07 Aug 2021 23:39:35 GMT', 'Connection', 'close' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/exportkey162708823218505039/create') + .post('/keys/exportkey162837957622209907/create') .query(true) .reply(401, "", [ 'content-type', @@ -42,7 +42,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'content-length', '0', 'x-ms-request-id', - '149de2b8-ec1a-11eb-a602-000d3a7a3d40', + 'b93446ae-f7d8-11eb-ad25-0022484e2498', 'strict-transport-security', 'max-age=31536000; includeSubDomains', 'content-security-policy', @@ -57,8 +57,6 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ 'Cache-Control', 'max-age=86400, private', - 'Content-Length', - '980', 'Content-Type', 'application/json; charset=utf-8', 'Strict-Transport-Security', @@ -72,19 +70,21 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'b51ae70d-09fc-4849-8adf-fd82d4896f00', + 'e6823f73-aeb9-4a1b-a173-917cb2028301', 'x-ms-ests-server', - '2.1.11898.8 - SCUS ProdSlices', + '2.1.11898.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8; expires=Mon, 23-Aug-2021 00:57:12 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfY; expires=Mon, 06-Sep-2021 23:39:35 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrk5yoA2EhvLvHOcM2HdLcW8zko36HFU7A9g-2sovKrBiani5yRY1QFja5-r2A9UJwqMLpkYbmDFiU5Dp1eHBZUfdcfDNO4UOwHDtV4f9gOBVip8hhsPkPWzSw_WJNlpqMd4K2ED1rnXO52x3DZS-GCKYz8a0k73FXwjwtkheg60kgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrODohiCf8DPVUEKJQ_TQwJ2ASr9DWVlLr9tGnk8fnX-SpnLRo31GXA4W2ofk_Hu6EkYnrNMCs4nopozX0BMItexsa46tB-cyjou7b6Se0FwKYruOK9Recm2nRMUviW0LXyWTyMCaxkJeAr9Dpd4TZrMFUKOQ8iYSrmPDPSZXZPiMgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:12 GMT' + 'Sat, 07 Aug 2021 23:39:35 GMT', + 'Content-Length', + '980' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) @@ -105,25 +105,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'ab07601a-f85d-4ef5-8a4a-b095d96e1400', + '79f78bee-5708-438c-bc99-6affdd843300', 'x-ms-ests-server', - '2.1.11898.8 - EUS ProdSlices', + '2.1.11935.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8; expires=Mon, 23-Aug-2021 00:57:12 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfY; expires=Mon, 06-Sep-2021 23:39:36 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr8cvXhtSBD1vgANY5B_YJIyymp0ZtJ0hkcvnjt_1jShkX5O_oj_GvaNyil2s8Jt18PS8vOvkataCycZGqz1vEPgPeqQq--AMkO_qz5pkSOaTRVEkobe79c4Z0PFR1CNn1DqBNCfTadQAccyi08VMAoLJ0nmO3NUNzL5_Ju3IHuz0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr3rDm7ZR_XVZT1YFYEMjPof-fbj6prIaTR_kYJJ9ZF56Fvnr3UxVKwJhafKYAo1zyXgo17eFY_h24QNYj5YPGDwjiHVmdKErBq15mQzuBVL5eynasyV4IeN6polfmvCkPM72J4vp74b0fzJUrziQNFM4AGESLTN0s91XcOQY9EAEgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:12 GMT', + 'Sat, 07 Aug 2021 23:39:35 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=248016a0-8254-468f-a778-d7e4240f9311&client_secret=azure_client_secret") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=3ef36160-e066-46b6-a40a-f595265d1b84&client_secret=azure_client_secret") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -140,35 +140,35 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '5b7bea29-98d2-4a85-9f85-8edc9de33f00', + '30fd016d-fd4c-4237-9503-3e8d0b913900', 'x-ms-ests-server', - '2.1.11898.8 - SCUS ProdSlices', + '2.1.11935.12 - SCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8; expires=Mon, 23-Aug-2021 00:57:12 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAQAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:36 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:12 GMT', + 'Sat, 07 Aug 2021 23:39:35 GMT', 'Content-Length', '1322' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/exportkey162708823218505039/create', {"kty":"RSA","key_ops":["encrypt","decrypt"],"attributes":{"exportable":true},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyYXR0ZXN0YXRpb24uYXp1cmV3ZWJzaXRlcy5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0"}}) + .post('/keys/exportkey162837957622209907/create', {"kty":"RSA","key_ops":["encrypt","decrypt"],"attributes":{"exportable":true},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyX2F0dGVzdGF0aW9uLmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ"}}) .query(true) - .reply(200, {"attributes":{"created":1627088232,"enabled":true,"exportable":true,"recoverableDays":7,"recoveryLevel":"CustomizedRecoverable+Purgeable","updated":1627088232},"key":{"e":"AQAB","key_ops":["decrypt","encrypt"],"kid":"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162708823218505039/9fe10021ac7942c086f87cd553577a18","kty":"RSA-HSM","n":"lpeoEAaspTHAfFD2ukFsInLkGnJ8WHuPswaow4LNFKxiQxFfcAWwhxrPFQCtwdqFAj-ukLRATvRCfvrPr-vJB1tRK_5JsUO8JqzOZ7AGVvCGLVTIJfDloSy-rQUbFbR155PhthX8DUAZNfvdB84tCi_TbzEcAcFV0wrF32ZUy6VzFq64eqJnCntEWO7roY4U53Ixeh7AcnPHpV65MWJruQOso9p8AutjfloK4RcYrNHFGQT7gAmCeWPZ30C0dZRAQPs5TxU5IJKLai850I5zW3nHhNC8wWZjv7vFpKyqEOzno5oMBuRs_r5IjDzcIbqxGw3k6eTaXdlR8G8WCShmNw"},"release_policy":{"contentType":"application/json; charset=utf-8","data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0"}}, [ + .reply(200, {"attributes":{"created":1628379576,"enabled":true,"exportable":true,"recoverableDays":7,"recoveryLevel":"CustomizedRecoverable+Purgeable","updated":1628379576},"key":{"e":"AQAB","key_ops":["decrypt","encrypt"],"kid":"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837957622209907/3f6a267dc7184f03961ca095f26451e2","kty":"RSA-HSM","n":"psrcjJDVOCARMo7Zb0SK6-SOp3mAxjsPWegq3MTjuukxOu_TQBMlHn_Na0Uz-F3-o4LMDwGchAQy02YpQ1l1S0nb80icUCqV8E7J_IzvzMdXp9CllwDT7BP5MCGlCK-pRaAMNx1usEz3rLSzZBbMyfuJA8Rv3oxSgCzRHtP6WGiOZjNMRME3Zh4zSEoRFobzO4PhsLgvRwjIsMwbbneLjtYvbQnh81mp_R-20SIxhbOdYe20i94IKb6ED0b6NU7SaGiBayHQTA-D_2ss800dZwz333_KBAvc64X3TAAbRgr_-ySUCgaggAEhXSEmDFoSOXAkEgPFbXI-9ZPdqOQRTQ"},"release_policy":{"contentType":"application/json; charset=utf-8","data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3Nrcl9hdHRlc3RhdGlvbi5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wLjAifQ"}}, [ 'content-type', 'application/json; charset=utf-8', 'x-content-type-options', 'nosniff', 'content-length', - '952', + '971', 'x-ms-request-id', - '14f233e0-ec1a-11eb-a602-000d3a7a3d40', + 'b98b3c0c-f7d8-11eb-ad25-0022484e2498', 'x-ms-keyvault-region', 'eastus2', 'strict-transport-security', @@ -178,7 +178,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'x-ms-keyvault-network-info', 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;', 'x-ms-server-latency', - '750', + '1093', 'cache-control', 'no-cache', 'x-frame-options', @@ -186,17 +186,17 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/exportkey162708823218505039//release', {"target":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ6ZGZTNFpsRndVTHBSa1RmN3l0Q1N4X0Q3NnRpNXNPMUhhYmFLUUhzZUNMX0t6azB1NjJSeURYZm1pbE13d1VpY09VVTZ6b1BRS1NpUU5BNWc2WjUyWmduczJDNXcwTU1STndXOU11Nk1SLVdpNVByZUJBdVB3NjA4OVNUNVZha0F5eXRHNHpMX1dsdFo2Ny1LQ2ppVFo1Y05zTkwwajF2djU5aVNfVFN4MVo5bEQzT1Vzc095aTNLSFJvZ0tZeER3UENkeG0wclZCQkFHSVdtdGZUbVh4al9wdzJlbkZBWXJFZ1VBbHV1NE5LX3kycHRBMTcwTkgycEh4UHVVUy00LWViSzJveW9XU3VhdzMweTcyWmN5M2U0dDRVaGF0UGN2ZkJJVXlLUlVnU1o1UVItYTFNVm5GRUFWamhfa2VuREFoWnlWYXRRdDVSZ3hiZGZwSDRaU1EifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyMzEsImV4cCI6MTk0MjY2NDIzMX0.SokKaotTVOLLHETDsfqYEAsLGvXUuTmako5oBGgoB1BaOsNJFxuQM8S2CMJ8VJIIfmQTgSGlEvOgNwxtUSyX7UF-dLjxEP2jqBdwb8xfQ9rfe8s5QPxIumvIdUep2sGyZuI6AYjzT1ktVij4pVYUEqNJ63YlW_DGE4mFdPQz9TPrtc2b2PyTWXjMvCccOab5l9Y9scqphGV57qMs9lvwdDQSQVlP5AbLeIJ2C5hTaOvKtpzN33ZRb6a73PJULWbNxtNg4vQrUQlnKzJ5YWMyVntZ8dtf2-PSBPMkBo3gZkEsu_5jglQ7NdNX_Ao57SsVAcm_dmmrhl56yrVyv2oz5Q"}) + .post('/keys/exportkey162837957622209907//release', {"target":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiI2cHNZOTZKZGhvdThHYmlSWDA5eDFTOHRvTWZrajdHWGdqUGdWdEJGRUpxREdVTXZlWXAwMVFWUWFSY2liZnpXeHlrUWJia3JpOTdRV25Ca2E4Sm85TmNfbEVBNVhzc2JBQklYS1ppYzM5enRReVhXNXI1Z3JMc3pGSmJLVjFOOTg1ZEprV09CUG8taFhWaklNZVNYVWJjUlRjNUtEOTR0Ul85d0hrSmFlWWVMd2dTT0dDQUEybFBoSjJHVUNsby1PZXhRYTJRb2tWYnVLUUhPUGVranotOXhuWUFJcWxseVE0cGVJVV9fYktWcG9DQ05rOG84WUwzLTEtbFZDWjJpRHJZeUJqVThkbVFwQUNPUzA4WEhJWTFXZFJBQTVFYnJRU0ZxeExDa1l0VE90Q1F4YlB1UGRiY0pZWTVadmNzVjEzUUJzTkstUEtHajRUSHdheVhrZ3cifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1NzUsImV4cCI6MTYyODk4NDM3NX0.LW7JckUnu7tcrPZ99HghoETxv1rwbVOxRPPlpAiwA_yQ50dfj8QY-nzeQ8d0qlgIwQCeQ7bz930obVa7gjOECiKdD3kpqN-IwR1nk-Bo6qVYNOaO1pduWiyUqVx0t8_jdEkGoAcybSEppNKw37rHxnc6cjBY3ayLQGRgcEFICuXm3MMtCzilHhfGo8Ne4FhBXC8_WyIOHeGj8WdtrDH_Z4tRRxZ0NGNy8hGCI87WAhAmAIkvSqMGJRsxg1TChKsUq_VMdWZHb9XGoa8vVJ67cjKKu3s6C6K_ANcbpOTZ-uTzHrQTHpGeANcvz2rBXbeteExcZW5uqSNBjIOYkYGfsA"}) .query(true) - .reply(200, {"value":"eyJhbGciOiJSUzI1NiIsImtpZCI6IlU0NXdTcDZrT2tQZUQxX2M1WURSZlVHb0JseThxSDlHMTlaZnVGVkx5WWsiLCJ4NWMiOlsiTUlJSW1UQ0NCb0dnQXdJQkFnSVRNd0FXKzlEby9manlOampiYkFBQUFCYjcwREFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd056STBNREF6T0RNNFdoY05Nakl3TnpFNU1EQXpPRE00V2pCOU1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DVjBFeEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV2TUMwR0ExVUVBd3dtS2k1dFlXeGxaMlZ6YTNKbGJqSm9jMjB1YldGdVlXZGxaR2h6YlM1aGVuVnlaUzV1WlhRd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURoSjZnSlljek5VbnBrZmgrNktXbXk5UnRXYm1RMXIxaEpoK2tnc3pCc2F0UW9zaEpWa1IzMWxFdkU4dUJtalA5TnNwSHY3SHJWVHRRcVFtcDVwNUw1UGRacys5ZVUwdHBWdGhWUGxqUE5iN1REaUZrWWlPV0JuVXFOaFQwQ1RGVHpRWWV1NUZOazV0QkhvbGloVWRwVVZWUjJXZkpQSWNIY3h6SFBIcjRMeEwza0liZFc5aXdEdlYwSlFnU2MvSmp6OWZXK092SWlKMUpNdXBsbndOc2VhTVo2U0hrdVN1enp4MnBYQWgwck9XUDZ6ZGJXUVpvZjBMN3VRK0VqTTFiQW1SMU5NbWN1V2tLeUkzaTJEblJraEpMRDlZdlcrcWkvMzBDbWVSRWQxczd1UkZkRGxsdCtOVFYxMit1OWZ2Z1ZlWHhGVHA4U3Z3dW1XWTFpVVhRZkFnTUJBQUdqZ2dRME1JSUVNRENDQVg0R0Npc0dBUVFCMW5rQ0JBSUVnZ0Z1QklJQmFnRm9BSFlBN2t1OXQzWE9ZTHJoUW1rZnErR2VacU1QZmwrd2N0aURBTVI3aVhxby9jc0FBQUY2MWZ4THFnQUFCQU1BUnpCRkFpQmNYYm9NSUk1OUdRTVZpdDJGMkkzTTF0RDhNMDJlSTFJVVRyRXkvbWlSY1FJaEFOY256QTdzUWJ3Q3lNQXdadUVxUDlLNGFGNDU2aGpESjVSOE9EamRhUkhDQUhZQVFjaktzZDhpUmtvUXhxRTZDVUtIWGs0eGl4c0Q2K3RMeDJqd2tHS1dCdllBQUFGNjFmeEwrZ0FBQkFNQVJ6QkZBaUVBalBoclZpZDYxMjh4cjV3UFI0bytCQ0FYbUpTTHY0MVhsZE9zaU9uYWVmQUNJQmp1Z242UUd5ZjA1RXU1L3lsNjVabmJvbFhodUZmT2NJRlNoTm1EZFFUSkFIWUFVYU93OWYwQmVaeFdiYmczZUk4TXBIck1HeWZMOTU2SVFwb04vdFNMQmVVQUFBRjYxZnhNSUFBQUJBTUFSekJGQWlFQW1wK2JXMXFrUWZkaWJQOEoreUh1SC92L0ExZk9MaGVQcVIwSnpJVVBhMjRDSUgzS2FZc3Z6RnNES3FsZm1YZ2E4UlhYWHM4T0d5WkhHY0U3dGx6TEJFSkFNQ2NHQ1NzR0FRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd1BBWUpLd1lCQkFHQ054VUhCQzh3TFFZbEt3WUJCQUdDTnhVSWg3M1hHNEhuNjBhQ2daMHVqdEFNaC9EYUhWMkNoT1ZwZ3ZPblBnSUJaQUlCSXpDQnJnWUlLd1lCQlFVSEFRRUVnYUV3Z1o0d2JRWUlLd1lCQlFVSE1BS0dZV2gwZEhBNkx5OTNkM2N1YldsamNtOXpiMlowTG1OdmJTOXdhMmx2Y0hNdlkyVnlkSE12VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOU1V5TUMwbE1qQjRjMmxuYmk1amNuUXdMUVlJS3dZQkJRVUhNQUdHSVdoMGRIQTZMeTl2Ym1WdlkzTndMbTFwWTNKdmMyOW1kQzVqYjIwdmIyTnpjREFkQmdOVkhRNEVGZ1FVZEJLWmN4NnRITWw4MVFqbkpqSGFkNjRqdEwwd0RnWURWUjBQQVFIL0JBUURBZ1N3TUZjR0ExVWRFUVJRTUU2Q0ppb3ViV0ZzWldkbGMydHlaVzR5YUhOdExtMWhibUZuWldSb2MyMHVZWHAxY21VdWJtVjBnaVJ0WVd4bFoyVnphM0psYmpKb2MyMHViV0Z1WVdkbFpHaHpiUzVoZW5WeVpTNXVaWFF3WkFZRFZSMGZCRjB3V3pCWm9GZWdWWVpUYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpjbXd2VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOUzVqY213d1pnWURWUjBnQkY4d1hUQlJCZ3dyQmdFRUFZSTNUSU45QVFFd1FUQS9CZ2dyQmdFRkJRY0NBUll6YUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OUViMk56TDFKbGNHOXphWFJ2Y25rdWFIUnRNQWdHQm1lQkRBRUNBakFmQmdOVkhTTUVHREFXZ0JUSHNweC9IT080V3UvcGFCcW9YWlRCSmxKcWFEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RFFZSktvWklodmNOQVFFTUJRQURnZ0lCQUtkcWp3TlEzd1NlbWpma3VmaHFPQXpZNUZzRmMvQ3NIenltOFhNTkRwTzNhUjFCRkM0VFlyQ0dQdmFBZ2FDcjZPUlpVYmpKVHliWWxzMDBVYjJwM2lyUlVOdXJMNlcrQlROZUczNFBWTFVHaFBLVG9TZ0p6Q2t0ZzNkY2dHL2ZHMmd6Zmp4SFl1UEFiN3pwRlFjY1c1d1pIeTg2eEhlRVdadkdsR014c21DSTNJbGpaVXg2bnBQWSs5ZGhqYmRrN0hmUTRFMTRZOFFXaXBsR1dUY04zVE1GY0RiRVpCdlY0SjZsblptWHJINlZMbkdBbi9Tc0ozbFZNbXdpNGNvQWJkM3VWaTZZQm9CZDVmY1lTV2JFYmRjcG1JOVdVNUhOMGtRUmFMYTdkVE1mK0hnSkp6QlFUWFNybWJ2aGVFWklkWnlLY3BNSWluQUZyZGJMRWphZEVORW90MzJ1T2Z1eVpXeXAvcGg1bWFoaC9HSkJCZ3NvRzJzL3o4YzRoMVFneC9KQ0JKS09VRWF3WXQ2UTZSL3Byaklnc2Q0RXZuWGhtbS93djJHeDFHa0NVQ2RpcW5aZ09CQ3RKYWpNUnBiczVQblYwajczTFROUHp4TmpyWjFrM2ZkL1Y4dzFIb1hYSDBZTHoxc25idzJPSlpEMzRJMk8zVVlrV3pPR1lzMUVWUWtXZWJtdlVjVjNOK291UUFXK0gxY0hmR01memt0Q0tSdkFUNHI0b3FIY0p6dVdSeVcvM2VNNEdCOUdzY01kTFBNdEJjVkplU29YTkRqWDh6cWw5RnlyUWROaWUyTS9YNEozc0ZTNG9hMGx5SmhsRU11d2dWbytSc01SQm8valFiZ3ZsSXZsWmdaem95TU9WNlB3c1E5b3lQNEl5ZjB2eVVLejkzS3RkNWxmIiwiTUlJRjh6Q0NCTnVnQXdJQkFnSVFEWHZ0NlgyQ0NaWjZVbU1iaTkwWXZUQU5CZ2txaGtpRzl3MEJBUXdGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHlNREEzTWpreE1qTXdNREJhRncweU5EQTJNamN5TXpVNU5UbGFNRmt4Q3pBSkJnTlZCQVlUQWxWVE1SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4S2pBb0JnTlZCQU1USVUxcFkzSnZjMjltZENCQmVuVnlaU0JVVEZNZ1NYTnpkV2x1WnlCRFFTQXdOVENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFLcGxEVG1ROWFmd1ZQUWVsRHV1K05reE5KMDg0Q05LbnJaMjFBQmV3RStVVTRHS0Rud3lnWmRLNmFnTlNNczVVb2NoVUVEeno5Q3BkVjV0ZFB6TDE0Ty9HZUUyZ081L2FVRlRVTUc5YzZuZXl4azV0cTFXZEtzUGtpdFB3czZWOE1XYTVkMUwveTRSRmhaSFVzZ3h4VXlTbFlsR3BOY0hoaHN5cjdFdkZlY1pHQTFNZnNpdEFXVnA2aGlXQU5rV0tJTmZSY2R0M1oyQTIzaG1NSDlNUlNHQmNjSGlQdXp3clZzU21Md3Z0M1dsUkRnT2JKa0U0MHRGWXZKNkdYQVFpYUdIQ0lXU1ZPYmdPM3pqNnhrZGJFRk1tSi96cjJXZXQ1S0VjVUR0VUJoQTRkVVVvYVBWejY5dTQ2VjU2VnNjeTNsWHUxWWxzazg0ajVsVVBMZHNBeHR1bHRQNE9QUW9PVHBuWThreFdrSDZrZ081Z1RLRTNIUnZvVklqVTR4SjBKUTc0Nnp5LzhHZFFBMzZTYU5pejRVM3UxMHpGWmcyUmt2MmRMMUx2NThFWEwwMnI1cTVCL25oVkgvTTFqb1R2cFJ2YWVFcEFKaGtJQTlOa3B2YkdFcFNkY0EwT3J0T09lR3Ryc2lPeU1CWWtqcEI1bncwY0pZMVFIT3Izbkl2SjJPblkrT0tKYkRTcmhGcVdzazgvMXE2WjFXTnZPTno3dGUxcEF0SGVyZFBpNXBDSGVpWENOcHYrZmFkd1AwazhjemFmMlZzMTluWXNnV241dUl5TFFMOEVlaGRCekNiT0tKeTlzbDg2UzRGcWU0SEd5QXRtcUdsYVdPc3EyQTZPL3BhTWkzQlNtV1REYmdQTENQQmJQdGUvYnN1QUVGNGFqa1BFRVMzR0hQOUFnTUJBQUdqZ2dHdE1JSUJxVEFkQmdOVkhRNEVGZ1FVeDdLY2Z4emp1RnJ2NldnYXFGMlV3U1pTYW1nd0h3WURWUjBqQkJnd0ZvQVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RGdZRFZSMFBBUUgvQkFRREFnR0dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1IWUdDQ3NHQVFVRkJ3RUJCR293YURBa0JnZ3JCZ0VGQlFjd0FZWVlhSFIwY0RvdkwyOWpjM0F1WkdsbmFXTmxjblF1WTI5dE1FQUdDQ3NHQVFVRkJ6QUNoalJvZEhSd09pOHZZMkZqWlhKMGN5NWthV2RwWTJWeWRDNWpiMjB2UkdsbmFVTmxjblJIYkc5aVlXeFNiMjkwUnpJdVkzSjBNSHNHQTFVZEh3UjBNSEl3TjZBMW9ET0dNV2gwZEhBNkx5OWpjbXd6TG1ScFoybGpaWEowTG1OdmJTOUVhV2RwUTJWeWRFZHNiMkpoYkZKdmIzUkhNaTVqY213d042QTFvRE9HTVdoMGRIQTZMeTlqY213MExtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dIUVlEVlIwZ0JCWXdGREFJQmdabmdRd0JBZ0V3Q0FZR1o0RU1BUUlDTUJBR0NTc0dBUVFCZ2pjVkFRUURBZ0VBTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElCQVFBZStHK0cyUkZkV3RZeExJS01SNUgvYVZORmpOUDdKZGV1K29aYUthSXU3VTNOaWR5a0ZyOTk0alN4TUJNVjc2OHVrSjUvaExTS3N1ai9TTGptQWZ3UkFaK3cwUkdxaS9rT3ZQWVVsQnIvc0tPd3IzdFZrZzljY1pCZWJuQlZHK0RMS1RwMk94MCtqWUJDUHhsYTVGTzI1MnFwazcvNnd0OFNaazNkaVNVMTJKbTdpZi9qamtoa0dCL2U4VWRmcktvTHl0RHZxVmVpd1BBNUZQenFLb1NxTjc1YnlManNJS0pFZE5pMDdTWTQ1aE4vUlVuc21Jb0FmOTNxbGFIUi9TSldWUmhyV3QzSm1lb0JKMlJESzQ5MnpGNlRHdTFtb2g0YUU2ZTAwWWt3VFBXcmV1d3ZhTEIyMjB2V210Z1pQcytEU0liMmQ5aFBCZENKZ3ZjaG8xYzciLCJNSUlEampDQ0FuYWdBd0lCQWdJUUF6cng1cWNScWFDN0tHU3hIUW42NVRBTkJna3Foa2lHOXcwQkFRc0ZBREJoTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNBd0hnWURWUVFERXhkRWFXZHBRMlZ5ZENCSGJHOWlZV3dnVW05dmRDQkhNakFlRncweE16QTRNREV4TWpBd01EQmFGdzB6T0RBeE1UVXhNakF3TURCYU1HRXhDekFKQmdOVkJBWVRBbFZUTVJVd0V3WURWUVFLRXd4RWFXZHBRMlZ5ZENCSmJtTXhHVEFYQmdOVkJBc1RFSGQzZHk1a2FXZHBZMlZ5ZEM1amIyMHhJREFlQmdOVkJBTVRGMFJwWjJsRFpYSjBJRWRzYjJKaGJDQlNiMjkwSUVjeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdXpmTk5OeDdhOG15YUpDdFNuWC9Scm9oQ2dpTjlSbFV5ZnVJMi9PdThqcUprVHg2NXFzR0dtdlByQzNvWGdra1JMcGltbjdXbzZoKzRGUjFJQVdzVUxlY1l4cHNNTnphSHhteDF4N2UvZGZneTVTRE42N3NIME5PM1hzczByMHVwUy9rcWJpdE90U1pwTFlsNlp0ckFHQ1NZUDlQSVVrWTkyZVFxMkVHbkkveXV1bTA2Wkl5YTdYelYraGRHODJNSGF1VkJKVko4elV0bHVOSmJkMTM0L3RKUzdTc1ZRZXBqNVd6dENPN1RHMUY4UGFwc3BVd3RQMU1WWXduU2xjVWZJS2R6WE9TMHhaS0JneU1VTkdQSGdtK0Y2SG1JY3I5ZytVUXZJT2xDc1JuS1BaekZCUTlSbmJEaHhTSklUUk5ydzlGREtaSm9icTduTVd4TTRNcGhRSURBUUFCbzBJd1FEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCaGpBZEJnTlZIUTRFRmdRVVRpSlVJQmlWNXVOdTVnLzYrcmtTN1FZWGp6a3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR0JuS0pSdkRraGo2ekhkNm1jWTFZbDlQTVdMU24vcHZ0c3JGOSt3WDNOM0tqSVRPWUZuUW9RajhrVm5OZXlJdi9pUHNHRU1OS1N1SUV5RXh0djROZUYyMmQrbVFydkhSQWlHZnpaMEpGcmFiQTBVV1RXOThrbmR0aC9Kc3cxSEtqMlpMN3RjdTdYVUlPR1pYMU5HRmR0b20vRHpNTlUrTWVLTmhKN2ppdHJhbGo0MUU2VmY4UGx3VUhCSFFSRlhHVTdBajY0R3hKVVRGeThiSlo5MThyR09tYUZ2RTdGQmNmNklLc2hQRUNCVjEvTVVSZVhnUlBUcWg1VXlrdzcrVTBiNkxKMy9peUs1UzlrSlJhVGVwTGlhV04wYmZWS2ZqbGxEaUlHa25pYlZiNjNkRGNZM2ZlMERraHZsZDE5MjdqeU54RjFXVzZMWlptNnpOVGZsTXJZPSJdLCJ4NXQjUzI1NiI6IlU0NXdTcDZrT2tQZUQxX2M1WURSZlVHb0JseThxSDlHMTlaZnVGVkx5WWsifQ.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJDS01fUlNBX0FFU19LRVlfV1JBUCIsImtpZCI6Imh0dHBzOi8vbWFsZWdlc2tyZW4yaHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvZXhwb3J0a2V5MTYyNzA4ODIzMjE4NTA1MDM5In0sInJlc3BvbnNlIjp7ImtleSI6eyJhdHRyaWJ1dGVzIjp7ImNyZWF0ZWQiOjE2MjcwODgyMzIsImVuYWJsZWQiOnRydWUsImV4cG9ydGFibGUiOnRydWUsInJlY292ZXJhYmxlRGF5cyI6NywicmVjb3ZlcnlMZXZlbCI6IkN1c3RvbWl6ZWRSZWNvdmVyYWJsZStQdXJnZWFibGUiLCJ1cGRhdGVkIjoxNjI3MDg4MjMyfSwia2V5Ijp7ImUiOiJBUUFCIiwia2V5X2hzbSI6ImV5SmphWEJvWlhKMFpYaDBJam9pVEVSVVFrUlRiSGx5U0cwMWFrMHlVRkZaT1Y5dFExUXRkMFJwTFRCSWRGWm5aR2RWTjFKME5XdE1NelppTWpGUGRYTnlVUzFWYzFaa01GRXlNRWRvUm5CRVV6Tm5hVlo2V1dseFQzVnZURFk1T1dwTFpYTXhSbWhKVDNwSVpUSlBlR0p1Ym01MGFXaHViRGxNU0VSSVQxRTJXRWhUZERBMVJqTnhNRE5CVmxGbFgzUTBiWFJLTWsxcVlscFFPRVZyTkZCWVJsVXlNWFo1VUZacU1tdDVhbGRNVW1GWk5FNUtNVGM0Wm5aRFUzbG9RMkZhYUV0YWEwd3phbnBtY1VkNE1VZFVUa1JoVWxaSVl6WXRiMDVoYTFwQlpUbHZhMFozVWpCMVMzcHlkWGwxYTNCTFZXeFdUR05VYkhGcVZHZG1NWGRoU0VKMllXeFhMVXBTU210WVRqTkZhbEY2TFMxRk4ydFJWMXBTVmtOU00ybFBOMnBCWjJSblMxTjRjVXhXZVhndFZIcE5iRXhPVTE4elQyVTVNazVuYVZNdFJrWldiMWc0VjBJMWJVdEdSa2RZU2xGamRqVnBRbDlhTlRoeVpWRmZia1JOWHpScFMyd3lUVk5GYlZoR1NrbHZSMHhKWDJaVlkyVnRlVU5DYjI1alZrdDFiMk56TTNsRGVFSlBNME5mZG1FNU1YVjZSa2RPWDFsemNXOXhlazh6UldWd09YbE5hM0l5YlV4VFRVOUVObGxEWjJoT1JERTNZVGx6ZW5CRlZtZDFWazE2VTBwRVZqVnlibE5LVVdwcmFtSnhiWGw2WWpsb04xOWthbFZKUlVsaGNGTjJjbkUxVVdKU1NVSTRWRTFxWmpSclNUWjNaRWx3VVdsVlpXdFFZMkZ2YURWM1MwZE9Wbk5EVHpKRWNuQnpaakpqYzBWZmJYUnNiWGR5UVRneWJIUlhNVFpETW1GdU9VVXpaakpFVDBsaE9FTkdRMWxFUW5KRFJrVXRTRlJxYVhWTmIybEZjRkJwV2s5dlprSkhlV3BzYzBoSE5XTk9PVFJQY1hOeVJIbElUVGR5VVRsclpIY3dURWd5YUdweFdtbDVNSGRVYVVaQ1VVbG5iazlFUm1GSWQwRlJWVWhKWVRoUFQwWnJObFZWVUU5NE1WRkxiRlZCYjFCdGMzUXliemhzVVVWUk1VUjBWM1Z5YTNCTlJ6RlJYMWhYY2pSUGNsQjZNWEI0U21aRlJVSTFNRVIxUkZWVlJIcGFkM05mU0VWbGJucDVjVE5aUmpkcFp6WTFhSEpsTjJodlV6Um5kVmN6VlhrdExWVTFYMjAxZFVaVFJsOVhkVUo1YzA1TFVVeDNaak5qYjBweGFXRm9RbmRFUWtGeU5VUTBOMGhNWTJKQk5GUnZkakI2VDBkWGEydEJVRVZWV0ZkRWNWZGhWblpRUm1GaVREWktSbWRCYXpGTmIxcDFiR3BoZFdsQmVXaE9RVk5FWWpaaFVtUkthRnBmVGpGb2JFRjRZa3BvVkhSaE4wd3dTMDUzTWxKdU5FcHlOemxMVmpsU2RqSlNObk5KUTNVeGMwVnlOR3hJVlVaNmVFMXpTSEoxVW5ocU9EVjFWMEppYUdVMlRtbHZNSEpKVlZsa1YxSlNjV1ZLUkVKUFJGTjFlVmMyTUhOalEwNXRVVEZpVVRCcmQwMTVWVVJIUldoR1ZYRk1hbk0xYW5vMlYyVmpiM0pXYW1sRGRIcG9SRWRPVGpGVlRWTnJNVTFMTFdWMWMyWmpZa1F6VkdWclRsQnliRkZSVlMwMWJuQkZWa3haYzFOM2NsbFlZMmxxVkVaMk1VUkdhRWRSTlMxUFVrSkpWMjlPTTNnMFJFOW1PR1pGTkZGZmRYTnNlbXd3ZWkxZlYzWXhRMmx5VkZZemIyVmpWRUZNVkcxamFUTTJiMVJIVWxad2NISlhRMUpvWkROQlJHcG5VelpmWTB4MWVIZHlNV2hQZVRkS1IyMWtaRVV0TlZoTFNrbFRiRGh0WDA5alJrcFZkVmx5ZW1SbGVuSnFUVFptU2xaNVJVeHdaRVpwUVZNeFdtaENjVGQ1WW1wbk5VSjNTMGRKVjBoS1pXUnBVek40WVZZdFl6TlhNVkpCWlhjMU5FTlRibFJ6YTFsZlEybzVhMk5xVmpoRFlVaDZVVlpNTkRVMWFEQXphekIzTlhCTldUVmtTR2RFTTFSb00zQnBSV2d6VWpSaFJUbFNRbTVuVW5SdFlYSk5OWEZ1ZWtaNldVOVFRazB4TkRCSVdqSlRXRzlvTlY5c1EwcHZXR1I0WjJSRmF6QnBkak53UW14aFNtSk9aSGR3VkZOcWNFUjVSVEJRUkhSdFVpMW1jREp0ZEUxd2VIRmZkWGh4ZW1ScmFUZFdaMEYzWDB3MVJYSkxZazVZUjJWbGNURldNbTQxZWpCaFMzRm1OVTh4UzE5dFlsTnpURWxhWmpsZlRuUklSR3BEZDBvdGJYWjFiRUkxWlhoUVkxVnJXVEp2TVVwSFJGbFJiR1pmWm1NMk5tSTBNbVI1Y2xZNE5GYzRjVzlJTW1FdFIzaG1RMlJPVEhoM1ptbHlXRlp4TkV4a1RFRXRZVE5MVGtFNWNXc3RVRlpFTmtSVWRVZExZakpXYldGdmFsTktkSFI0VG1wdGNuTmZUVUZVZUV4b09GOUNMVkZCTW1kd1VFZHBOVlI1YkRGRFNVSmplQzFwZFc0dE1uWktOMUJOYlhZNFVWQTVNRlZVUzFWRFNITkJZM0pqUWpBd1IxcGlTRmRsZEZGcE1Ia3hjbXhLUkdOVU1YY3lObWx0WTFVNFpFRkZUVXN6WVUweWRFOHhRblozVFVwNVYxOUpObVZwT1hGTmJVUXpiMjUzYzJWQ09XVTNZbWhDVjJOeWEzQTVNVnB0TkZwZk1Vd3Rka05CV1ZSdWJIbGFabXRzYkY5b1FsVkxUMVV3T1RkUU4wNUhkRlV6VWxoMExUSkhPRXBRWDFkT1JWTjFjbE16TVZwd2FVNUJVVUpqY1Zsb01GRnlUMVppWlZGTlFUaFRiVjlZYlRaS1ZVUnJZV3BhVFZWR1FrUTJVbGxMUzJOZlVGZEZabGszTmpkcGNuVmlOMVpsYTJkelQwYzRlWE5JYzFkSVltaE1aMHhXT0ZSWFprUkVOMXBpYlhwMUxUUXlObmcxTTNOV2FVcGlVVzgzY2pWTVJIZzNXR3RvVEVsRmEzTkNTVVJrWVVFdFpWUlNiVVJ3T1RoeVRITkdlak5zTFVKS01UbFhaVVZwWmtwRGNUUXhiSEkzVmpkaE1UVmFZWGhMYkRsNWVGaHBaV3c0U0hCaU5YTkRRbloxYm5OS1pWSXdURzFmWWpZNVJTMUJjbVpaV0hOS1VFUmxRVTlWY3pkQ1MyeDFYemxZVEZoQ1gwUnRPRU5CYTI5R1FYRTNTRWhaVlVSTGFYRjFaRko0U0VWTVl6RnFZMFpRV0hkeVFYZG9aMUJDVlV0SmVrOVBabTlLWTJaNFgyTXhOM0pTYjE5WlRDSXNJbWhsWVdSbGNpSTZleUpoYkdjaU9pSmthWElpTENKbGJtTWlPaUpEUzAxZlVsTkJYMEZGVTE5TFJWbGZWMUpCVUNJc0ltdHBaQ0k2SW1aaGEyVXRjbVZzWldGelpTMXJaWGtpZlN3aWMyTm9aVzFoWDNabGNuTnBiMjRpT2lJeExqQWlmUSIsImtleV9vcHMiOlsiZGVjcnlwdCIsImVuY3J5cHQiXSwia2lkIjoiaHR0cHM6Ly9tYWxlZ2Vza3JlbjJoc20ubWFuYWdlZGhzbS5henVyZS5uZXQva2V5cy9leHBvcnRrZXkxNjI3MDg4MjMyMTg1MDUwMzkvOWZlMTAwMjFhYzc5NDJjMDg2Zjg3Y2Q1NTM1NzdhMTgiLCJrdHkiOiJSU0EiLCJuIjoibHBlb0VBYXNwVEhBZkZEMnVrRnNJbkxrR25KOFdIdVBzd2FvdzRMTkZLeGlReEZmY0FXd2h4clBGUUN0d2RxRkFqLXVrTFJBVHZSQ2Z2clByLXZKQjF0UktfNUpzVU84SnF6T1o3QUdWdkNHTFZUSUpmRGxvU3ktclFVYkZiUjE1NVBodGhYOERVQVpOZnZkQjg0dENpX1RiekVjQWNGVjB3ckYzMlpVeTZWekZxNjRlcUpuQ250RVdPN3JvWTRVNTNJeGVoN0FjblBIcFY2NU1XSnJ1UU9zbzlwOEF1dGpmbG9LNFJjWXJOSEZHUVQ3Z0FtQ2VXUFozMEMwZFpSQVFQczVUeFU1SUpLTGFpODUwSTV6VzNuSGhOQzh3V1pqdjd2RnBLeXFFT3pubzVvTUJ1UnNfcjVJakR6Y0licXhHdzNrNmVUYVhkbFI4RzhXQ1NobU53In0sInJlbGVhc2VfcG9saWN5Ijp7ImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCIsImRhdGEiOiJleUpoYm5sUFppSTZXM3NpWVc1NVQyWWlPbHQ3SW1Oc1lXbHRJam9pYzJSckxYUmxjM1FpTENKbGNYVmhiSE1pT2lKMGNuVmxJbjFkTENKaGRYUm9iM0pwZEhraU9pSm9kSFJ3Y3pvdkwzTnJjbUYwZEdWemRHRjBhVzl1TG1GNmRYSmxkMlZpYzJsMFpYTXVibVYwTHlKOVhTd2lkbVZ5YzJsdmJpSTZJakV1TUM0d0luMCJ9fX19.xfHLM_o4QG2UvyzfiylT-kC-xpVr8jM9MMM8nGjND1q_sVk7A7U0C6SAEyCqLw28-beLSnJ-Bus62DBqyiJTGJ99E-X7R_rwSEUxFOyCnMLQLd6X9ho2UVdm2PfEl3ZcN1mrisytAfh_ObOmVC3s4hx9uakWhvlDEJ0IC_Ka4X_CDT-kx6Wd-yL4atYYOuJxOWHqZfsNsj8ci5diVsTIV4en6qf1daw2Om2sXLHGZBnM0Cas0-SU5SKzDF6P-ayVDFvMy1DLkUCEv7-9fSmxbKV6IzyFYcu2v3fOLAry42sMdOkEnkanOFz2vWn93aKhbb7EEnJBunvZm8diLxPNpA"}, [ + .reply(200, {"value":"eyJhbGciOiJSUzI1NiIsImtpZCI6IkpqT1FYeFEtZTY1Y1RmazdfWlhwSkJfV2RxY094Mkh5Q29vRnpUSC1tQkEiLCJ4NWMiOlsiTUlJSW96Q0NCb3VnQXdJQkFnSVRNd0FZS1BGeVJsOFo5UEVLeGdBQUFCZ284VEFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd09EQTJNakV6TURVMFdoY05Nakl3T0RBeE1qRXpNRFUwV2pDQmdERUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWxkQk1SQXdEZ1lEVlFRSEV3ZFNaV1J0YjI1a01SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4TWpBd0JnTlZCQU1NS1NvdWJXRnNaV2RsWkhsdVlYUjBaWE4wYUhOdExtMWhibUZuWldSb2MyMHVZWHAxY21VdWJtVjBNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXBMWVFQSDI4RWVTMHNwT2xEOFNHeUI3cG1vSm1yMUduRzNSUytrdE9qRlpTYUt4dGMybmJwLzl3R1BtREpKSjdZdmtRRjNNZWNRdXRjaVlCUmZpVlJoUitiMnpzaTgyeHN5a3RuZkZ5aVREeHI0Qnl2RlRydDdKcHVPQkVDQk1tdFRTUHR0MFVOV1pXY2NnSTJ4L0UzYzNXMmMvUG00TXNiRCtYaVhBczl6T3VqU3ptazdHaXRCMDBoSmJqeFdINENrZURuMWI0NENaTjAwSEpHU3Faa0hmTmRNSUo0TmI1a3RJM1VDZEdTdmlTWDlybWhCdWJWRWNHdEp5eUpFcm9qYnNBMUt0K3B3MmdBbDc4QTdzN0xWL2prV0RxdTRZUjByL2N5TnhNSW1yMXZBdjJvZFBqeUVoNGtiL0V1S1hoS21wNzl0cFpOalU1MEI3UWNyd25ZUUlEQVFBQm80SUVPakNDQkRZd2dnRitCZ29yQmdFRUFkWjVBZ1FDQklJQmJnU0NBV29CYUFCMkFPNUx2YmQxem1DNjRVSnBINnZobm1hakQzNWZzSExZZ3dERWU0bDZxUDNMQUFBQmV4MXBjckFBQUFRREFFY3dSUUloQUxwT0gybHhIRU5BdFpXY0x1UDZ5Q1BMbGZhaFlreWZGaXgxcGQvTVNINWhBaUFwRWlLcEFQdmNVQlY4cURCbTFhaHVzSlc5SGtGd25kS2FiZnJESGhwMHR3QjJBRkdqc1BYOUFYbWNWbTI0TjNpUERLUjZ6QnNueS9lZWlFS2FEZjdVaXdYbEFBQUJleDFwY3lZQUFBUURBRWN3UlFJZ1VyWkFDWkExc1hkMGxac01kSXFoTVREcExLdmV6ODVwa3Vjc1J2UHN3eWNDSVFEc3hZcThUYnRNSHBsTklYUytJTHhXbGFsR09uYXA5V1BPZWlKN2VOQ1owQUIyQUVISXlySGZJa1pLRU1haE9nbENoMTVPTVlzYkErdnJTOGRvOEpCaWxnYjJBQUFCZXgxcGN4WUFBQVFEQUVjd1JRSWdiWUs5c2FwQzBNaldPdG9wa3FoeEY2ZWlSNi90YnhNMHZoUjBjQUNXVU8wQ0lRRHdoU3E3aXF3dUlIbTJCOFdOUUJHVGx5a1Exc0xHVzJzRmluSUdaTExSZWpBbkJna3JCZ0VFQVlJM0ZRb0VHakFZTUFvR0NDc0dBUVVGQndNQ01Bb0dDQ3NHQVFVRkJ3TUJNRHdHQ1NzR0FRUUJnamNWQndRdk1DMEdKU3NHQVFRQmdqY1ZDSWU5MXh1QjUrdEdnb0dkTG83UURJZncyaDFkZ29UbGFZTHpwejRDQVdRQ0FTTXdnYTRHQ0NzR0FRVUZCd0VCQklHaE1JR2VNRzBHQ0NzR0FRVUZCekFDaG1Gb2RIUndPaTh2ZDNkM0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cGIzQnpMMk5sY25SekwwMXBZM0p2YzI5bWRDVXlNRUY2ZFhKbEpUSXdWRXhUSlRJd1NYTnpkV2x1WnlVeU1FTkJKVEl3TURVbE1qQXRKVEl3ZUhOcFoyNHVZM0owTUMwR0NDc0dBUVVGQnpBQmhpRm9kSFJ3T2k4dmIyNWxiMk56Y0M1dGFXTnliM052Wm5RdVkyOXRMMjlqYzNBd0hRWURWUjBPQkJZRUZFc3dqd0Iyb1Q5WlNuQ3RZRnc2dmN1bitxeE5NQTRHQTFVZER3RUIvd1FFQXdJRXNEQmRCZ05WSFJFRVZqQlVnaWtxTG0xaGJHVm5aV1I1Ym1GMGRHVnpkR2h6YlM1dFlXNWhaMlZrYUhOdExtRjZkWEpsTG01bGRJSW5iV0ZzWldkbFpIbHVZWFIwWlhOMGFITnRMbTFoYm1GblpXUm9jMjB1WVhwMWNtVXVibVYwTUdRR0ExVWRId1JkTUZzd1dhQlhvRldHVTJoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZZM0pzTDAxcFkzSnZjMjltZENVeU1FRjZkWEpsSlRJd1ZFeFRKVEl3U1hOemRXbHVaeVV5TUVOQkpUSXdNRFV1WTNKc01HWUdBMVVkSUFSZk1GMHdVUVlNS3dZQkJBR0NOMHlEZlFFQk1FRXdQd1lJS3dZQkJRVUhBZ0VXTTJoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZSRzlqY3k5U1pYQnZjMmwwYjNKNUxtaDBiVEFJQmdabmdRd0JBZ0l3SHdZRFZSMGpCQmd3Rm9BVXg3S2NmeHpqdUZydjZXZ2FxRjJVd1NaU2FtZ3dIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0lHQ0NzR0FRVUZCd01CTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElDQVFBU0YvSjQ2cjFpWnJPcGl5YnZWTEhsbDJFL20vWGY4SGZJdkRNQjFRNFFLM1c2dVN0MXh6cTAydFZ0Y0IyaEkwQm1INXJUVmNaRmxqL1JCUzZGUU1FYThCbitHYzE5Tk9rWHc5amx4KzVoUThmYVJERHAyWEdSWGF0bGd6SkpMNGxZRWdyRG5RTnZpUHJBYTlENjdRMy9kZUl0TzZldVZPZ1lYSnBHVjYvYUtkR3pkSllNNm9wUjBIY0xmSDY2SmRHbXZpbVZvbDQ2UmRINFIxZXl3Tmg2ZUE5M2NYeDJkaGEwdGJVN3RoNURTRzZDOXdla0NaWFBNZ21jV1RyeXlzSHpxRmNUa1pLa0ZNUXNFc294ZnFDMkVOai83UTNSQWMxKzQwK1MwbXNrWXpHWlBXNVNxYVhYZ0podkE2UWVJVE4zSHdnbWZQSmN4SE9kZWVmWGEyQ2FTRVF3STdUM0xrblpmM0ZwYm02OFM5RnZUeFQwTDNhTGZwUjB4MWwvTzZyWXRnb1NJRlpPUUExRjV2alRBTXFsbXNweFNwSHhyL3ZiTWhsbG5LK0ZrU0NKbnJSNHFPd3dpaTBIK0FXVXlteGJBeFhxNStMaWpWZndNeTdBL1kxS3hhdm84dy93aFRsM1diMGJkSUNaU2VlWHZMcXhDa1V2eklad0VBQW9UMmwxMEo0dXE4eUNNUVlmZHJIdUJJdDRkcU9YU04yZTc4NXpYMERWWVQ5dVZBRGNRUDNaUS9yRWdOVzh6MmtZUEJVR1ZLNHhxWDJFOEl5b0tGeXZmb2I1ZHFhazMvN3JDYlR1K0VvVkRpK2xSWXhRdlZYaUNHMlpyaG5tV2hoeXNqYXp0ZVFoRFdIWUEzaklBODBuWFNkTGQ4U3Y0WncvelRhZ1FaVE9lYlNBaXc9PSIsIk1JSUY4ekNDQk51Z0F3SUJBZ0lRRFh2dDZYMkNDWlo2VW1NYmk5MFl2VEFOQmdrcWhraUc5dzBCQVF3RkFEQmhNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU0F3SGdZRFZRUURFeGRFYVdkcFEyVnlkQ0JIYkc5aVlXd2dVbTl2ZENCSE1qQWVGdzB5TURBM01qa3hNak13TURCYUZ3MHlOREEyTWpjeU16VTVOVGxhTUZreEN6QUpCZ05WQkFZVEFsVlRNUjR3SEFZRFZRUUtFeFZOYVdOeWIzTnZablFnUTI5eWNHOXlZWFJwYjI0eEtqQW9CZ05WQkFNVElVMXBZM0p2YzI5bWRDQkJlblZ5WlNCVVRGTWdTWE56ZFdsdVp5QkRRU0F3TlRDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBS3BsRFRtUTlhZndWUFFlbER1dStOa3hOSjA4NENOS25yWjIxQUJld0UrVVU0R0tEbnd5Z1pkSzZhZ05TTXM1VW9jaFVFRHp6OUNwZFY1dGRQekwxNE8vR2VFMmdPNS9hVUZUVU1HOWM2bmV5eGs1dHExV2RLc1BraXRQd3M2VjhNV2E1ZDFML3k0UkZoWkhVc2d4eFV5U2xZbEdwTmNIaGhzeXI3RXZGZWNaR0ExTWZzaXRBV1ZwNmhpV0FOa1dLSU5mUmNkdDNaMkEyM2htTUg5TVJTR0JjY0hpUHV6d3JWc1NtTHd2dDNXbFJEZ09iSmtFNDB0Rll2SjZHWEFRaWFHSENJV1NWT2JnTzN6ajZ4a2RiRUZNbUovenIyV2V0NUtFY1VEdFVCaEE0ZFVVb2FQVno2OXU0NlY1NlZzY3kzbFh1MVlsc2s4NGo1bFVQTGRzQXh0dWx0UDRPUFFvT1Rwblk4a3hXa0g2a2dPNWdUS0UzSFJ2b1ZJalU0eEowSlE3NDZ6eS84R2RRQTM2U2FOaXo0VTN1MTB6RlpnMlJrdjJkTDFMdjU4RVhMMDJyNXE1Qi9uaFZIL00xam9UdnBSdmFlRXBBSmhrSUE5TmtwdmJHRXBTZGNBME9ydE9PZUd0cnNpT3lNQllranBCNW53MGNKWTFRSE9yM25JdkoyT25ZK09LSmJEU3JoRnFXc2s4LzFxNloxV052T056N3RlMXBBdEhlcmRQaTVwQ0hlaVhDTnB2K2ZhZHdQMGs4Y3phZjJWczE5bllzZ1duNXVJeUxRTDhFZWhkQnpDYk9LSnk5c2w4NlM0RnFlNEhHeUF0bXFHbGFXT3NxMkE2Ty9wYU1pM0JTbVdURGJnUExDUEJiUHRlL2JzdUFFRjRhamtQRUVTM0dIUDlBZ01CQUFHamdnR3RNSUlCcVRBZEJnTlZIUTRFRmdRVXg3S2NmeHpqdUZydjZXZ2FxRjJVd1NaU2FtZ3dId1lEVlIwakJCZ3dGb0FVVGlKVUlCaVY1dU51NWcvNitya1M3UVlYanprd0RnWURWUjBQQVFIL0JBUURBZ0dHTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3JCZ0VGQlFjREFqQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNSFlHQ0NzR0FRVUZCd0VCQkdvd2FEQWtCZ2dyQmdFRkJRY3dBWVlZYUhSMGNEb3ZMMjlqYzNBdVpHbG5hV05sY25RdVkyOXRNRUFHQ0NzR0FRVUZCekFDaGpSb2RIUndPaTh2WTJGalpYSjBjeTVrYVdkcFkyVnlkQzVqYjIwdlJHbG5hVU5sY25SSGJHOWlZV3hTYjI5MFJ6SXVZM0owTUhzR0ExVWRId1IwTUhJd042QTFvRE9HTVdoMGRIQTZMeTlqY213ekxtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dONkExb0RPR01XaDBkSEE2THk5amNtdzBMbVJwWjJsalpYSjBMbU52YlM5RWFXZHBRMlZ5ZEVkc2IySmhiRkp2YjNSSE1pNWpjbXd3SFFZRFZSMGdCQll3RkRBSUJnWm5nUXdCQWdFd0NBWUdaNEVNQVFJQ01CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1BMEdDU3FHU0liM0RRRUJEQVVBQTRJQkFRQWUrRytHMlJGZFd0WXhMSUtNUjVIL2FWTkZqTlA3SmRldStvWmFLYUl1N1UzTmlkeWtGcjk5NGpTeE1CTVY3Njh1a0o1L2hMU0tzdWovU0xqbUFmd1JBWit3MFJHcWkva092UFlVbEJyL3NLT3dyM3RWa2c5Y2NaQmVibkJWRytETEtUcDJPeDArallCQ1B4bGE1Rk8yNTJxcGs3LzZ3dDhTWmszZGlTVTEySm03aWYvampraGtHQi9lOFVkZnJLb0x5dER2cVZlaXdQQTVGUHpxS29TcU43NWJ5TGpzSUtKRWROaTA3U1k0NWhOL1JVbnNtSW9BZjkzcWxhSFIvU0pXVlJocld0M0ptZW9CSjJSREs0OTJ6RjZUR3UxbW9oNGFFNmUwMFlrd1RQV3JldXd2YUxCMjIwdldtdGdaUHMrRFNJYjJkOWhQQmRDSmd2Y2hvMWM3IiwiTUlJRGpqQ0NBbmFnQXdJQkFnSVFBenJ4NXFjUnFhQzdLR1N4SFFuNjVUQU5CZ2txaGtpRzl3MEJBUXNGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHhNekE0TURFeE1qQXdNREJhRncwek9EQXhNVFV4TWpBd01EQmFNR0V4Q3pBSkJnTlZCQVlUQWxWVE1SVXdFd1lEVlFRS0V3eEVhV2RwUTJWeWRDQkpibU14R1RBWEJnTlZCQXNURUhkM2R5NWthV2RwWTJWeWRDNWpiMjB4SURBZUJnTlZCQU1URjBScFoybERaWEowSUVkc2IySmhiQ0JTYjI5MElFY3lNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXV6Zk5OTng3YThteWFKQ3RTblgvUnJvaENnaU45UmxVeWZ1STIvT3U4anFKa1R4NjVxc0dHbXZQckMzb1hna2tSTHBpbW43V282aCs0RlIxSUFXc1VMZWNZeHBzTU56YUh4bXgxeDdlL2RmZ3k1U0RONjdzSDBOTzNYc3MwcjB1cFMva3FiaXRPdFNacExZbDZadHJBR0NTWVA5UElVa1k5MmVRcTJFR25JL3l1dW0wNlpJeWE3WHpWK2hkRzgyTUhhdVZCSlZKOHpVdGx1TkpiZDEzNC90SlM3U3NWUWVwajVXenRDTzdURzFGOFBhcHNwVXd0UDFNVll3blNsY1VmSUtkelhPUzB4WktCZ3lNVU5HUEhnbStGNkhtSWNyOWcrVVF2SU9sQ3NSbktQWnpGQlE5Um5iRGh4U0pJVFJOcnc5RkRLWkpvYnE3bk1XeE00TXBoUUlEQVFBQm8wSXdRREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQmhqQWRCZ05WSFE0RUZnUVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUdCbktKUnZEa2hqNnpIZDZtY1kxWWw5UE1XTFNuL3B2dHNyRjkrd1gzTjNLaklUT1lGblFvUWo4a1ZuTmV5SXYvaVBzR0VNTktTdUlFeUV4dHY0TmVGMjJkK21RcnZIUkFpR2Z6WjBKRnJhYkEwVVdUVzk4a25kdGgvSnN3MUhLajJaTDd0Y3U3WFVJT0daWDFOR0ZkdG9tL0R6TU5VK01lS05oSjdqaXRyYWxqNDFFNlZmOFBsd1VIQkhRUkZYR1U3QWo2NEd4SlVURnk4YkpaOTE4ckdPbWFGdkU3RkJjZjZJS3NoUEVDQlYxL01VUmVYZ1JQVHFoNVV5a3c3K1UwYjZMSjMvaXlLNVM5a0pSYVRlcExpYVdOMGJmVktmamxsRGlJR2tuaWJWYjYzZERjWTNmZTBEa2h2bGQxOTI3anlOeEYxV1c2TFpabTZ6TlRmbE1yWT0iXSwieDV0I1MyNTYiOiJKak9RWHhRLWU2NWNUZms3X1pYcEpCX1dkcWNPeDJIeUNvb0Z6VEgtbUJBIn0.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJDS01fUlNBX0FFU19LRVlfV1JBUCIsImtpZCI6Imh0dHBzOi8vbWFsZWdlZHluYXR0ZXN0aHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvZXhwb3J0a2V5MTYyODM3OTU3NjIyMjA5OTA3In0sInJlc3BvbnNlIjp7ImtleSI6eyJhdHRyaWJ1dGVzIjp7ImNyZWF0ZWQiOjE2MjgzNzk1NzYsImVuYWJsZWQiOnRydWUsImV4cG9ydGFibGUiOnRydWUsInJlY292ZXJhYmxlRGF5cyI6NywicmVjb3ZlcnlMZXZlbCI6IkN1c3RvbWl6ZWRSZWNvdmVyYWJsZStQdXJnZWFibGUiLCJ1cGRhdGVkIjoxNjI4Mzc5NTc2fSwia2V5Ijp7ImUiOiJBUUFCIiwia2V5X2hzbSI6ImV5SmphWEJvWlhKMFpYaDBJam9pZWxoaVZFdE1RV0ZFVldjeVFsRnVXRk50VjBSSVRtdzRRMUpCWjNWWlRsSnRORE5TWW1OeWJIcGpSalkzVFU1NlgwUnZVR1pYVG1nd1p6bExMWHBDVTE5blgyUk9lVkUxY1ZaYVprVklNelZJVTBJeFFuaGZNR1pUYjJkTlNqY3RUM2hYUTBOTGNuSm5Ra3RyYVdsQldHNXNTRWxSYkhwTlZUVktlbmxsTlhZeVVYcEhkek5uWkVKa1R6Z3pZbWN0WVdSSlZESjFka0UxUlZBd2NrcFViRE13Yms5dlFYazNjMGhCT0Roa00xcHhUR3h4UzFWQ1NVNDNhWGxqWTFabFlteEhhMHRtZW1wcFVuVkpXa1ZWTWtSTWJHVlhkakJRVjJGb0xUTlJWMFZ5Y0ZwSGFrNUNRa2Q1ZVU1NGVFUTNWWGxhU1dFNExWUjVRazFoVGtwRlVETk9TRWRPWjNkVVQzVkRhRmxwZFZKemFEZHBOSEF0VFRseU1GbHNTR3RtV1VKYVp5MUVTelZ3ZVVWb2ExUjRVSEl0TTFKNlprSk5SSFF3V2xnMmN6ZzNTM1JGVkZkclNWbEdRMDB0VmtkeFJIZHpkVUZCVTFaS01WVjJkR2t0UVVwVFFrOVNXRVJaTW1sbE9VYzJRVEYwVlRoNVNUSnZVa1JCVTBsT01XTjFOV2R4VnprMVRVWTBOelJUTlRoRlUwaGFURWM0V1RkTllqWllaRU01YzFZeVZUQTNhemRIY1V4UFNFbHpTM2hhWVhBeWVEQnNSbVV3TWxoWU16QjFaamRDUlVscWVqTk5kek5tZGw5TFFrWlFkR1pzTUU5eVltTTRlRWhWY25odFlubDNMWGREVEhRM2VHZ3dlR010ZEhjeGQxRkxOMlZ1UWpoSFltcHRWVEl0UVhKT1VXcENTMDUxVlhWQlVXcHBXazlZZWkxc2NYWnNlV055U25kaWRYVXlRMm90WWxFNWQwWk9SblExY3pKcUxVeGhYMVJYU0c1a2NIUTFlSG8zYlhwU0xXc3dNM0paUTJkdGIweEpZV1pJVEd0VmJXNUVkVW8zTVdNeU9XcHpOVXRDVTFabFJHRTBSMUZhVmpoQlpsRnNlR1JhWHpaNmFEbGtVV1EzYnpWS1R6ZEhXazFtWm5kcU5FOUJNbVUyYWt4ek16WXRNMHR5U0VSRVlXRktkSGR0TlRFNFYyczJWVzAxTlRkdlRXOHdWVlJxUVhsbFRqaFFUSFozZEVnMlJTMVNMVUZOUjA5alVrSTNWMU5xVkVKbVRuWlNTbUpmZGpKM09UazVaakpNYTFGNFdFOVVVM2hUUm1VeVZHWXdOMWhOU2twTWFEaFFiemw1ZDJvM2QwWjRObVUzT1RkWWRXcFVTV0V6Tm1WSFZUWm5jVXRRWDBWMUxYUmpWMlJYVkRVelFsVjFlVk5qVldwa2VqVk5kVXd3U0VFdFIwTnpjV0pEYWxGNlRUaGtjR1ZxU0RGbVgyRjFNREppVldveFpXMUxha1kyWWpkUVNXdEZielV4U2t0UVUybGlhMHh3TWxWRldFNTJjbE00VDFsbWRHcGtRVzF2UkRKSlJrTlJWMjFUTlZORFZXWkphMGxRU0VscWVrRklXbWhJWlZaUlgzTnVRMkp5YWtjek56QnNZV2xLY25GU00xaFpVVmN3U0hsQ1FsQktVa05uTTJGRk4xRklNSGh5YWxGSGJUQjVPR3QwYTBnMU0zcE9aRVJMTkVsSlpsRmpOVGd5U0dSaWVEUm5iRlZuUm05aE5uVmxhMDFKZFZOUWIyeEVlSEppY0RWVmF5MXdkM1ZUUzJsdk9WTTRVM0JYTjBoemJEWnNXVlZRVnpaNWVEUkxNVkZQWWpSVmJuWjJSR3BqUTFCelNuRXdORUZNVmpJM1VFVjJVVzFFWWxWemJVOU5NbWxCVW1KNVlteGxhalU1ZEcwMmEzaDBXbEpFYm1OU04wNDRiRFJsU2poVFFYRkliVk5wUVd4SWFqRmtSbGR4TW0xRVJtVmhOR0ZHWDFaM1VpMTRWSEl4WTNGWGQyc3pNVkZrZWxoQmN6VjZjRGhFTVY5T1duQjFkVXRmWkdsYWVtSjVOelpJWDBkMGNraHhXRFpLTTBwcUxYZ3pZV0U1VnpoVFUwUkVlWEpaVUZNMVdrUXpObFEzWjI5NFlsbzJNek5EUTFwRlpVdFVlRVp5YlMxU2QxcFBVVVJKYms4MVUxRkJXWGwyU21wbGVubGlkVFJWVUhadlFtSk9Obk5OWHpNd2RrWlBUbGt3VW5CclMwaHdPREk0VTJsdmVXOU9ZM2h4YVdWQ1RpMUhRakY0WVhaeVZHMWtZWFptUmkxQ1RHNW5TV3hxUzJ0b1NERnhiVVpRY2xjMU5HdEtiSFJ1VEVKclJIbFVhVWROVlhVdGJreE1SMjV0TjFsMlZsQkVhRmN0VjNOd0xVNHhla1JTWlV4YU1tWnVNVzR3VG5CeWRFeDVaWG81V0VOcFpqSjNhbmhaTFdKNk0xbGpNbE5hZGtRME5qTTFhSEpMZGt0MVpVRnVVVFJKYUdzek1HdzRNbE10UkcxNE9ERllRa2w2VEVwWVMwZzRUMDlPVUhOS1kwNUpaMk5VZVU4M1JrRm1kMDVrWDI5d1dUZHVVRkIzYzNoVFgzVkplR05yYjIxMWN6UlNjM1V3WTI1b1UzTkVNbWhsV0dwa1NqUm5lSEJzZW5oQ1JuUlVOR1JDYWkxbVYwOUhXbmhGTlVRMGNEbHZiRVJEUmsxb05WSjBWVXRpTWpkaVF5MXlXVTlrY0dkVFFqZ3dWblkxY1d4NldsbEJNRFpwZFRaalpGOU9PRVJVTTNsaFprZGxSVzgzZDFRNWVGZHBRWEZaUWpSbFJ6TTNjVWh1ZFU5UVFVSlVYMDFSUzE4M1EwZFZkWE5MVDJRMVgyTnFjMmMyUTBsaE0xWjFieTF2V1RSS2VVVm5jbVY0VjNCd1JYTkVVelpwZDFjeU9FaEZhMDkwVGpCVGVGUnhWRmxPTlRrMlJUWnphMFE1V21aUE9VbEVVMVJLWkVkdGVtMTVRM0ZsWlhwME56QTFSWE4zWTNKWFNtVlVaalJSUlU1M1RqZE1hbXRLVld0QmRqWlJaV0p0U0Y5TVdVbHlaRkJSZDFWRFIwWkpUVEJKWkZCcmVXdFJhMFZyUzFkcFQxQnRhazl5YkZsb1ZqZzRSazA1TFZBNVVXSkdVWEppVXpoMlUyVkVZemw2YTNCNFpscEdNek5DTmt4SFltVnphMmhPTURVNU16ZDZVQzF6Wm1wbFRWSnNlR3RXYVVRelJHbENhamRvZDFKU1psUXRSMlUxZDB4NmRHRlpiV1I2TkVzNVdtbHZNMnM1Tmw5SWJtMU9RMU50UkcxS1gyaHRiVGRyUlZGdFJuWlNUWEJrUTNob2MySmhXRXhIUW05cU5sODJWbkJ4VUVaTlpsVkNabGxuYjFZd2VVSldZbE16YlRCalJFdGZWbmx2YlZsbk5VbGtYM3BwZWt0cFVpSXNJbWhsWVdSbGNpSTZleUpoYkdjaU9pSmthWElpTENKbGJtTWlPaUpEUzAxZlVsTkJYMEZGVTE5TFJWbGZWMUpCVUNJc0ltdHBaQ0k2SW1aaGEyVXRjbVZzWldGelpTMXJaWGtpZlN3aWMyTm9aVzFoWDNabGNuTnBiMjRpT2lJeExqQWlmUSIsImtleV9vcHMiOlsiZGVjcnlwdCIsImVuY3J5cHQiXSwia2lkIjoiaHR0cHM6Ly9tYWxlZ2VkeW5hdHRlc3Roc20ubWFuYWdlZGhzbS5henVyZS5uZXQva2V5cy9leHBvcnRrZXkxNjI4Mzc5NTc2MjIyMDk5MDcvM2Y2YTI2N2RjNzE4NGYwMzk2MWNhMDk1ZjI2NDUxZTIiLCJrdHkiOiJSU0EiLCJuIjoicHNyY2pKRFZPQ0FSTW83WmIwU0s2LVNPcDNtQXhqc1BXZWdxM01UanV1a3hPdV9UUUJNbEhuX05hMFV6LUYzLW80TE1Ed0djaEFReTAyWXBRMWwxUzBuYjgwaWNVQ3FWOEU3Sl9JenZ6TWRYcDlDbGx3RFQ3QlA1TUNHbENLLXBSYUFNTngxdXNFejNyTFN6WkJiTXlmdUpBOFJ2M294U2dDelJIdFA2V0dpT1pqTk1STUUzWmg0elNFb1JGb2J6TzRQaHNMZ3ZSd2pJc013YmJuZUxqdFl2YlFuaDgxbXBfUi0yMFNJeGhiT2RZZTIwaTk0SUtiNkVEMGI2TlU3U2FHaUJheUhRVEEtRF8yc3M4MDBkWnd6MzMzX0tCQXZjNjRYM1RBQWJSZ3JfLXlTVUNnYWdnQUVoWFNFbURGb1NPWEFrRWdQRmJYSS05WlBkcU9RUlRRIn0sInJlbGVhc2VfcG9saWN5Ijp7ImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCIsImRhdGEiOiJleUpoYm5sUFppSTZXM3NpWVc1NVQyWWlPbHQ3SW1Oc1lXbHRJam9pYzJSckxYUmxjM1FpTENKbGNYVmhiSE1pT2lKMGNuVmxJbjFkTENKaGRYUm9iM0pwZEhraU9pSm9kSFJ3Y3pvdkwyMWhiR1ZuWldSNWJtRjBkR1Z6ZEdGMGRHVnpkR0YwYVc5dUxtRjZkWEpsZDJWaWMybDBaWE11Ym1WMEx5SjlYU3dpZG1WeWMybHZiaUk2SWpFdU1DNHdJbjAifX19fQ.LA23U3mMJdQjcBaN3WtnzHXq6-HBFyJclAsPX4UOxHy-X0S7m9B-kLZ4zAUQCQSIuolobIMcXJ6uBI0ENgVIHpIQ0xhCOHOErQTzQgXolOxTPf5z8A_D0MpjveRNPGrdBpqqvBNPDk_H0F2bnSy6jpdxYqEN1L1L-P-rhrjdtvFkH2VRIBuDKfeA-0iw6GAKt8NoK2Cfgyb4twkpoGC1ri9pEJH_wuHgQtSMcqpdSo6DyQQtBF1Kw6S9Il8_tHjmL7SXEqngrafCHjA5GW15QVX71AtRmARtyvEoii-Ym31OL3EVF960sHcNnEsqdoVYEKHDw4t4DQ6plZMm-CIwFw"}, [ 'content-type', 'application/json; charset=utf-8', 'x-content-type-options', 'nosniff', 'content-length', - '14058', + '14109', 'x-ms-request-id', - '1571b192-ec1a-11eb-a602-000d3a7a3d40', + 'ba3e646c-f7d8-11eb-ad25-0022484e2498', 'x-ms-keyvault-region', 'eastus2', 'strict-transport-security', @@ -206,7 +206,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'x-ms-keyvault-network-info', 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;', 'x-ms-server-latency', - '660', + '973', 'cache-control', 'no-cache', 'x-frame-options', diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_import_an_exportable_key_and_release_it.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_import_an_exportable_key_and_release_it.js index bd70bef301fd..9ddf8f24ce35 100644 --- a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_import_an_exportable_key_and_release_it.js +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_import_an_exportable_key_and_release_it.js @@ -2,37 +2,37 @@ let nock = require('nock'); module.exports.hash = "ac346665683eea22e076525f413e4281"; -module.exports.testInfo = {"uniqueName":{"importreleasekey":"importreleasekey162708823529908267"},"newDate":{}} +module.exports.testInfo = {"uniqueName":{"importreleasekey":"importreleasekey162837958026800749"},"newDate":{}} -nock('https://skrattestation.azurewebsites.net:443', {"encodedQueryParams":true}) +nock('https://skr_attestation.azure.net:443', {"encodedQueryParams":true}) .get('//generate-test-token') - .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiI5WHVNbklYNWs4TXpFaGRJY1RIazg0ZVJWYzFCUk9fRjFMOXhYVEN1d0lBUm82bVZCb2VBQ3NGeHNjMzhfNmY1TXVYamo4OXpvUUllRlhMeHJubzAxb1IxdWJ2NHJhNnF1dkdQNkc2NUZzVEVaZHBtOTVuZzJ4M01pc2RvRVZYel84T19iUGoxV0w3YkwyN2dUMm9QZVRfWExQUThXOWRhMmVsOU1oTVhsSGtDQXJVQnRjdjBQQWM2dWtTYUU3bjM1d2lJenk3Y3F2dUo1cl84dUM0ZlFDaXFYbVQtdVU3eks0U3FNaWt5TEM1SV9ReGs5TC1IQXNMV3oxY05wQklWS004cXk1ZFpRN2sybWxsM01GckpOTnJpR1NUMHhZSnRmaFRQLWttdnd0RXJmRHVxbE5jVTQzcHdRRWNuZUsyZEtUVlJkZlZ1cFpES1p1dzAwV0oxTncifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyMzQsImV4cCI6MTk0MjY2NDIzNH0.CMMwl-59I_aqZYPCM3pMN_jkXvi1rZjeKTzcJilpA_k_X2Sf1iOzrunxWlRZL6HTA0EF5ryQUd8tDmxD1bVWR6mVkFesD-843NrERU_cF6t-VJfo5M50qzVwymfHXObKaDzmIuoechLC9o2H2CxFYIKEiJldocrY2ptUEhDLf-AEcGCY1IFJAnQWoOdu8TCbTrgG3ual-5W5lGWtfjOV6572Eg_kAREiTvWnjRy51PpTOh9CfPN3x76IAaVtJ7aDEkY8e8ebX_phm2bo0bl4QSWg8U2Bylue_7HFFNMB90WxXRxex-PAf_RDxxJs4jsV1xODqLHY4iikWRY0nc7Y2A"}, [ + .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ1LWtzM0laX0dKdlBGWVFhUmM0a0IwQUFzN3Vldm1tVzZDZEZuRkVYWDZ2bVFja2NXNUZlWlY3eDJoaUdrZHVmbnpTTXV1bzZqbm5sbHZfWHF4T0ExWno3ZmFOVEU2cnc2dHpRSmEzVktxZ2JpSUt1UUxrMlBaLUlVSUlqY1R6VmNYdGdCSV9nNllidHhYZk1aU3M1NmRwUmNYRW9EMHdQQXFtSEg3QS1LLWtFajdKdVZMMWpScklHaVYyYzBJbnlYODVRUFRqYzdrQVdQd1kxVDJmS1c4dHdPUjNhY1d6Q1I2YUlkTWtjWmRhSEJYT0cyUXNKYkZ4WGxPeVNlMGlNUFBMUXhkX0xSeXJaSDB2TmY4bGNlS3dEcmxUQklhbUlqNkZCZjZSd3ZWYVBad1p0VjNOMGhZR3ZGZlFvQVU3RFgxNWpHWHpFVmY0bF92Mm1LQ2hLblEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1NzksImV4cCI6MTYyODk4NDM3OX0.AfyMpkWlan0WLnARdpRiufEnDK9sr0QBfspsrsWm26MFon7PlvX03gifPd_lsXl0go6N9RXMyp_TSAvwZsUeSZp5Ghvuha5ug8lFhtpXcG02LXdbepKRNFHimXne7dozBVUrb53zz5eGP1udH9mT56TKYBBFWBkY0DWxpjvGHJ3prnaaobQexgFEpV6TQQF1BD5YJ2-7NA7q4H6kO-7koR5gfagnc98U5-9YugHdzJN8DFZ5H3AHiD6iyQ1sunpcz2bXc9s7dVxYFcKdA6NE8-Ft8ATodvrPnKJhcabT-CcR57DzoBIh2dnp-tePsIVjxwCDwYn4K8bwYuI8nUK5Ag","attestationToken":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ1LWtzM0laX0dKdlBGWVFhUmM0a0IwQUFzN3Vldm1tVzZDZEZuRkVYWDZ2bVFja2NXNUZlWlY3eDJoaUdrZHVmbnpTTXV1bzZqbm5sbHZfWHF4T0ExWno3ZmFOVEU2cnc2dHpRSmEzVktxZ2JpSUt1UUxrMlBaLUlVSUlqY1R6VmNYdGdCSV9nNllidHhYZk1aU3M1NmRwUmNYRW9EMHdQQXFtSEg3QS1LLWtFajdKdVZMMWpScklHaVYyYzBJbnlYODVRUFRqYzdrQVdQd1kxVDJmS1c4dHdPUjNhY1d6Q1I2YUlkTWtjWmRhSEJYT0cyUXNKYkZ4WGxPeVNlMGlNUFBMUXhkX0xSeXJaSDB2TmY4bGNlS3dEcmxUQklhbUlqNkZCZjZSd3ZWYVBad1p0VjNOMGhZR3ZGZlFvQVU3RFgxNWpHWHpFVmY0bF92Mm1LQ2hLblEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1NzksImV4cCI6MTYyODk4NDM3OX0.AfyMpkWlan0WLnARdpRiufEnDK9sr0QBfspsrsWm26MFon7PlvX03gifPd_lsXl0go6N9RXMyp_TSAvwZsUeSZp5Ghvuha5ug8lFhtpXcG02LXdbepKRNFHimXne7dozBVUrb53zz5eGP1udH9mT56TKYBBFWBkY0DWxpjvGHJ3prnaaobQexgFEpV6TQQF1BD5YJ2-7NA7q4H6kO-7koR5gfagnc98U5-9YugHdzJN8DFZ5H3AHiD6iyQ1sunpcz2bXc9s7dVxYFcKdA6NE8-Ft8ATodvrPnKJhcabT-CcR57DzoBIh2dnp-tePsIVjxwCDwYn4K8bwYuI8nUK5Ag"}, [ 'Content-Length', - '1305', + '2684', 'Content-Type', 'application/json; charset=utf-8', 'ETag', - 'W/"519-tEB3I/YpGyDvumYe2+0mecQ1+0o"', + 'W/"a7c-Yx5lQqxGdR0xCD6zni8Osy1vAHk"', 'X-Powered-By', 'Express', 'Set-Cookie', - 'ARRAffinity=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinity=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;Secure;Domain=skr_attestation.azure.net', 'Set-Cookie', - 'ARRAffinitySameSite=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;SameSite=None;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinitySameSite=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;SameSite=None;Secure;Domain=skr_attestation.azure.net', 'Date', - 'Sat, 24 Jul 2021 00:57:14 GMT', + 'Sat, 07 Aug 2021 23:39:38 GMT', 'Connection', 'close' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .put('/keys/importreleasekey162708823529908267') + .put('/keys/importreleasekey162837958026800749') .query(true) .reply(401, "", [ 'content-type', 'application/json; charset=utf-8', 'x-ms-server-latency', - '1', + '0', 'x-content-type-options', 'nosniff', 'www-authenticate', @@ -42,7 +42,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'content-length', '0', 'x-ms-request-id', - '161dcd10-ec1a-11eb-a602-000d3a7a3d40', + 'bb49e35e-f7d8-11eb-ad25-0022484e2498', 'strict-transport-security', 'max-age=31536000; includeSubDomains', 'content-security-policy', @@ -70,19 +70,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '5496fec5-db95-47d5-ad4c-9158332b7700', + '2a92f4ae-f794-4971-b46c-d6e25cf75702', 'x-ms-ests-server', - '2.1.11898.8 - WUS2 ProdSlices', + '2.1.11898.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8; expires=Mon, 23-Aug-2021 00:57:15 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAQAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:39 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevruCl-cBoEg_T9xoeRgSk640f5es6uMob7clCef0AHVCiUbEfWScS1Eo-reNcPUgFl5cvo0pRQ9BwpwlsrNJNcyz0f_eIsOqQ7x9IvvZ1GM-JfBZTF_YYYwv4OxE31WqHbTvRLPg9sEi0451ShZwXQ2Aq9-rFx1G9mkZIT5rzU6SwgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr9s35YnyhAIDG70kwB017GDWvqGsSFu3ChZcam8vA6n3RPh_ggCojUjOmpekxUIsHjZg7dk0noJed-9pi8MYfVhKU86Oh_Sbx1_ZMVxgG0SWlAKomJnf2X8-0aKy8Hq-AFOZkmhOAOf6aCcKBHo1GNwJ8LKx4SQj-wlVYnZJZdmAgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:14 GMT', + 'Sat, 07 Aug 2021 23:39:38 GMT', 'Content-Length', '980' ]); @@ -105,25 +105,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '5b7bea29-98d2-4a85-9f85-8edc05e43f00', + '8b05b404-9a05-47c8-8402-65272cdd3500', 'x-ms-ests-server', - '2.1.11898.8 - SCUS ProdSlices', + '2.1.11935.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8; expires=Mon, 23-Aug-2021 00:57:15 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAQAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:39 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrNRYbo7OAzb4XyCIpqVtHCSCL0IegnuJu3WDuKpGDnlLGL1O7oaG9KllwhOxjXInVmLyU8g_ssvjFQEqJI-YpAT_BB6-vmURiwhs5Hf5Tmj-JcrusTDQ8ZGv5pnDvI6plGEKD3nIQdkdvO2zB-KVqBc8YFvOi628ot4gjUXF0i7QgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrJZu0EJe1EkP-ya8a84yZkPhQhCjEOXQ2nU1_Bn9akOmSwUsoaLsDf5Jsg0Z2K14h2P_1iwrYoCqcDM2CAYe4dcB3cyCxEpvKilY343134in-MHkPYmsHB1swKocX6dZdwlTZptLo9EqwOa66bQB-cqPmx92N_Pz1mewvcuZKSvAgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:14 GMT', + 'Sat, 07 Aug 2021 23:39:39 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=d3614361-db2e-4f86-8c93-fc982ec8c25b&client_secret=azure_client_secret") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=1a97cfe8-80e6-44e5-bae1-88c84ce1ea3f&client_secret=azure_client_secret") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -140,35 +140,35 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '184e0853-2a5b-4bda-9b60-5bbc8d056200', + '372fd3a7-f680-4de0-9254-d2652c5b3600', 'x-ms-ests-server', - '2.1.11898.8 - NCUS ProdSlices', + '2.1.11935.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8e087aAQAAAGpcjdgOAAAA; expires=Mon, 23-Aug-2021 00:57:15 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAgAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:39 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:14 GMT', + 'Sat, 07 Aug 2021 23:39:39 GMT', 'Content-Length', '1322' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .put('/keys/importreleasekey162708823529908267', {"key":{"kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"AKCRTQAjSsaDshtMFdW-2Ie9yVnC5Xr1Suc06PAHINd10nXkVSB-N4TO62ClCkZV3XKnqU0nHo7o95WaZpym53W_DiO62umRtFKdl4UotL2QUh0y3SZWeWuoK2u_x2aMj17rUFN0f9GZMZ0pqEQNCPRBLVJ_-TEe2nGCWSC0exxGsRqz6R1zFkB-icfzQPe4WjQELOUXQ7J9RxhAPTTHtDivYYG-BeTRHrmF04JT1_6b9T_C8bAC0i0teT-nmlBLarQtBJKATXBx1yegbPOoiTqlQrFQP4MrKWNxtnB9Tcbjcvj-Z9je0ckI_eRc4DvAhqcUh_p15Dqg4GeaoNIO_jU","e":"AQAB","d":"Ynx9JGaBSP4iUsf6ZJ6opantRNdcdmzaQrKbZg6ZQE8Ohi1FYabJWvaoPSE-CiJEsDzShXZHMhUHN4X7Bn8BXaGQhK3p9HXgiwQKmix7oAJTu4ElUIyd8UC3UWHSZr40el4PaQD-HYu_eMzCXus34MnRiNbh_BUWm6T-Eidhk9d3kNIyaSi9YNDQHW6tjWrEhhq63O7JU1j9ZonFChZxpKk20jdkQKQURVAdpOdL-5j4I70ZxFuU6wHZj8DS8oRQfwGOvZKbgYDb5jgf3UNL_7eACqq92XPVX56vm7iKbqeyjCqAIx5y3hrSRIJtZlWCwjYnYQGd4unxDLi8wmJWSQ","dp":"AMmhWb5yZcu6vJr8xJZ-t0_likxJRUMZAtEULaWZt2DgODj4y9JrZDJP6mvckzhQP0WXk2NuWbU2HR5pUeCN2wieG1B76VKoH76vfnaJDqT1NuJVBcP2SLHog3ffwZtMME5zjfygchG3kihqOSpwTQ9ETAqAJTkRC38fEhwAz_Cp","dq":"AKC9TAo9n2RDaggjdLXK8kiLrBVoaWFTpqXkzYXRhtsx4vWPAkxhfSnze05rVMl6HiXv7FnE0f0wYawzUJzoyuXBH0zS6D9BqCZPeF543AmWB27iPf38Q9Z8Rjr6oBgMSnGDV_mm8nDVQkeaDyE4cOZh-5UKvKShTKKQVwunmDNH","qi":"AJ_nrkLpK8BPzVeARkvSHQyKwMWZ-a8CD95qsKfn0dOZAvXY-2xhQYTEwbED-0bpTNEKbIpA-ZkaHygmnzJkNbbFAnb9pkkzU8ZQqDP3JNgMfVIroWx58Oth9nJza2j7i-MkPRCUPEq3Ao0J52z7WJIiLji8TTVYW_NaiM1oxzsH","p":"ANHerI1o3dLB_VLVmZZVss8VZSYN5SaeQ_0qhfOSgOFwj__waCFmy2EG7l6l6f_Z-Y0L7Mn_LNov68lyWSFa2EuQUeVj4UoFHc5Di8ZUGiSsTwFM-XMtNuv8HmGgDYLL5BIJD3eTz71LdgW-Ez38OZH34b7VeG8zfeUDb8Hi30zz","q":"AMPcZrZBqbc82DO8Q5zTT8ZXRGWrW36KktMllaIk1W2RHnRiQiW0jBWmcCgqUcQNHa1LwumjyNqwx28QBS37BTvG7ULGUoio6LrOeoiBGEMj-U19sX6m37plEhj5Mak7j3OPPY_T9rohjTW5aGGg9YSwq4jdz0RrmBX00ofYOjI3"},"attributes":{"exportable":true},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyYXR0ZXN0YXRpb24uYXp1cmV3ZWJzaXRlcy5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0"}}) + .put('/keys/importreleasekey162837958026800749', {"key":{"kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"AKCRTQAjSsaDshtMFdW-2Ie9yVnC5Xr1Suc06PAHINd10nXkVSB-N4TO62ClCkZV3XKnqU0nHo7o95WaZpym53W_DiO62umRtFKdl4UotL2QUh0y3SZWeWuoK2u_x2aMj17rUFN0f9GZMZ0pqEQNCPRBLVJ_-TEe2nGCWSC0exxGsRqz6R1zFkB-icfzQPe4WjQELOUXQ7J9RxhAPTTHtDivYYG-BeTRHrmF04JT1_6b9T_C8bAC0i0teT-nmlBLarQtBJKATXBx1yegbPOoiTqlQrFQP4MrKWNxtnB9Tcbjcvj-Z9je0ckI_eRc4DvAhqcUh_p15Dqg4GeaoNIO_jU","e":"AQAB","d":"Ynx9JGaBSP4iUsf6ZJ6opantRNdcdmzaQrKbZg6ZQE8Ohi1FYabJWvaoPSE-CiJEsDzShXZHMhUHN4X7Bn8BXaGQhK3p9HXgiwQKmix7oAJTu4ElUIyd8UC3UWHSZr40el4PaQD-HYu_eMzCXus34MnRiNbh_BUWm6T-Eidhk9d3kNIyaSi9YNDQHW6tjWrEhhq63O7JU1j9ZonFChZxpKk20jdkQKQURVAdpOdL-5j4I70ZxFuU6wHZj8DS8oRQfwGOvZKbgYDb5jgf3UNL_7eACqq92XPVX56vm7iKbqeyjCqAIx5y3hrSRIJtZlWCwjYnYQGd4unxDLi8wmJWSQ","dp":"AMmhWb5yZcu6vJr8xJZ-t0_likxJRUMZAtEULaWZt2DgODj4y9JrZDJP6mvckzhQP0WXk2NuWbU2HR5pUeCN2wieG1B76VKoH76vfnaJDqT1NuJVBcP2SLHog3ffwZtMME5zjfygchG3kihqOSpwTQ9ETAqAJTkRC38fEhwAz_Cp","dq":"AKC9TAo9n2RDaggjdLXK8kiLrBVoaWFTpqXkzYXRhtsx4vWPAkxhfSnze05rVMl6HiXv7FnE0f0wYawzUJzoyuXBH0zS6D9BqCZPeF543AmWB27iPf38Q9Z8Rjr6oBgMSnGDV_mm8nDVQkeaDyE4cOZh-5UKvKShTKKQVwunmDNH","qi":"AJ_nrkLpK8BPzVeARkvSHQyKwMWZ-a8CD95qsKfn0dOZAvXY-2xhQYTEwbED-0bpTNEKbIpA-ZkaHygmnzJkNbbFAnb9pkkzU8ZQqDP3JNgMfVIroWx58Oth9nJza2j7i-MkPRCUPEq3Ao0J52z7WJIiLji8TTVYW_NaiM1oxzsH","p":"ANHerI1o3dLB_VLVmZZVss8VZSYN5SaeQ_0qhfOSgOFwj__waCFmy2EG7l6l6f_Z-Y0L7Mn_LNov68lyWSFa2EuQUeVj4UoFHc5Di8ZUGiSsTwFM-XMtNuv8HmGgDYLL5BIJD3eTz71LdgW-Ez38OZH34b7VeG8zfeUDb8Hi30zz","q":"AMPcZrZBqbc82DO8Q5zTT8ZXRGWrW36KktMllaIk1W2RHnRiQiW0jBWmcCgqUcQNHa1LwumjyNqwx28QBS37BTvG7ULGUoio6LrOeoiBGEMj-U19sX6m37plEhj5Mak7j3OPPY_T9rohjTW5aGGg9YSwq4jdz0RrmBX00ofYOjI3"},"attributes":{"exportable":true},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyX2F0dGVzdGF0aW9uLmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ"}}) .query(true) - .reply(200, {"attributes":{"created":1627088235,"enabled":true,"exportable":true,"recoverableDays":7,"recoveryLevel":"CustomizedRecoverable+Purgeable","updated":1627088235},"key":{"e":"AQAB","key_ops":["decrypt","encrypt","unwrapKey","sign","verify","wrapKey"],"kid":"https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162708823529908267/661ff719f3694023841a1217bd224946","kty":"RSA-HSM","n":"oJFNACNKxoOyG0wV1b7Yh73JWcLlevVK5zTo8Acg13XSdeRVIH43hM7rYKUKRlXdcqepTScejuj3lZpmnKbndb8OI7ra6ZG0Up2XhSi0vZBSHTLdJlZ5a6gra7_HZoyPXutQU3R_0ZkxnSmoRA0I9EEtUn_5MR7acYJZILR7HEaxGrPpHXMWQH6Jx_NA97haNAQs5RdDsn1HGEA9NMe0OK9hgb4F5NEeuYXTglPX_pv1P8LxsALSLS15P6eaUEtqtC0EkoBNcHHXJ6Bs86iJOqVCsVA_gyspY3G2cH1NxuNy-P5n2N7RyQj95FzgO8CGpxSH-nXkOqDgZ5qg0g7-NQ"},"release_policy":{"contentType":"application/json; charset=utf-8","data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0"}}, [ + .reply(200, {"attributes":{"created":1628379579,"enabled":true,"exportable":true,"recoverableDays":7,"recoveryLevel":"CustomizedRecoverable+Purgeable","updated":1628379579},"key":{"e":"AQAB","key_ops":["decrypt","encrypt","unwrapKey","sign","verify","wrapKey"],"kid":"https://azure_managedhsm.managedhsm.azure.net/keys/importreleasekey162837958026800749/dcc71732bc094cf99fe61ca630cdba45","kty":"RSA-HSM","n":"oJFNACNKxoOyG0wV1b7Yh73JWcLlevVK5zTo8Acg13XSdeRVIH43hM7rYKUKRlXdcqepTScejuj3lZpmnKbndb8OI7ra6ZG0Up2XhSi0vZBSHTLdJlZ5a6gra7_HZoyPXutQU3R_0ZkxnSmoRA0I9EEtUn_5MR7acYJZILR7HEaxGrPpHXMWQH6Jx_NA97haNAQs5RdDsn1HGEA9NMe0OK9hgb4F5NEeuYXTglPX_pv1P8LxsALSLS15P6eaUEtqtC0EkoBNcHHXJ6Bs86iJOqVCsVA_gyspY3G2cH1NxuNy-P5n2N7RyQj95FzgO8CGpxSH-nXkOqDgZ5qg0g7-NQ"},"release_policy":{"contentType":"application/json; charset=utf-8","data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3Nrcl9hdHRlc3RhdGlvbi5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wLjAifQ"}}, [ 'content-type', 'application/json; charset=utf-8', 'x-content-type-options', 'nosniff', 'content-length', - '997', + '1016', 'x-ms-request-id', - '1659c8ba-ec1a-11eb-a602-000d3a7a3d40', + 'bb88ac06-f7d8-11eb-ad25-0022484e2498', 'x-ms-keyvault-region', 'eastus2', 'strict-transport-security', @@ -178,7 +178,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'x-ms-keyvault-network-info', 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;', 'x-ms-server-latency', - '739', + '1080', 'cache-control', 'no-cache', 'x-frame-options', @@ -186,17 +186,17 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/importreleasekey162708823529908267/661ff719f3694023841a1217bd224946/release', {"target":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiI5WHVNbklYNWs4TXpFaGRJY1RIazg0ZVJWYzFCUk9fRjFMOXhYVEN1d0lBUm82bVZCb2VBQ3NGeHNjMzhfNmY1TXVYamo4OXpvUUllRlhMeHJubzAxb1IxdWJ2NHJhNnF1dkdQNkc2NUZzVEVaZHBtOTVuZzJ4M01pc2RvRVZYel84T19iUGoxV0w3YkwyN2dUMm9QZVRfWExQUThXOWRhMmVsOU1oTVhsSGtDQXJVQnRjdjBQQWM2dWtTYUU3bjM1d2lJenk3Y3F2dUo1cl84dUM0ZlFDaXFYbVQtdVU3eks0U3FNaWt5TEM1SV9ReGs5TC1IQXNMV3oxY05wQklWS004cXk1ZFpRN2sybWxsM01GckpOTnJpR1NUMHhZSnRmaFRQLWttdnd0RXJmRHVxbE5jVTQzcHdRRWNuZUsyZEtUVlJkZlZ1cFpES1p1dzAwV0oxTncifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyMzQsImV4cCI6MTk0MjY2NDIzNH0.CMMwl-59I_aqZYPCM3pMN_jkXvi1rZjeKTzcJilpA_k_X2Sf1iOzrunxWlRZL6HTA0EF5ryQUd8tDmxD1bVWR6mVkFesD-843NrERU_cF6t-VJfo5M50qzVwymfHXObKaDzmIuoechLC9o2H2CxFYIKEiJldocrY2ptUEhDLf-AEcGCY1IFJAnQWoOdu8TCbTrgG3ual-5W5lGWtfjOV6572Eg_kAREiTvWnjRy51PpTOh9CfPN3x76IAaVtJ7aDEkY8e8ebX_phm2bo0bl4QSWg8U2Bylue_7HFFNMB90WxXRxex-PAf_RDxxJs4jsV1xODqLHY4iikWRY0nc7Y2A","nonce":"nonce","enc":"RSA_AES_KEY_WRAP_256"}) + .post('/keys/importreleasekey162837958026800749/dcc71732bc094cf99fe61ca630cdba45/release', {"target":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ1LWtzM0laX0dKdlBGWVFhUmM0a0IwQUFzN3Vldm1tVzZDZEZuRkVYWDZ2bVFja2NXNUZlWlY3eDJoaUdrZHVmbnpTTXV1bzZqbm5sbHZfWHF4T0ExWno3ZmFOVEU2cnc2dHpRSmEzVktxZ2JpSUt1UUxrMlBaLUlVSUlqY1R6VmNYdGdCSV9nNllidHhYZk1aU3M1NmRwUmNYRW9EMHdQQXFtSEg3QS1LLWtFajdKdVZMMWpScklHaVYyYzBJbnlYODVRUFRqYzdrQVdQd1kxVDJmS1c4dHdPUjNhY1d6Q1I2YUlkTWtjWmRhSEJYT0cyUXNKYkZ4WGxPeVNlMGlNUFBMUXhkX0xSeXJaSDB2TmY4bGNlS3dEcmxUQklhbUlqNkZCZjZSd3ZWYVBad1p0VjNOMGhZR3ZGZlFvQVU3RFgxNWpHWHpFVmY0bF92Mm1LQ2hLblEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1NzksImV4cCI6MTYyODk4NDM3OX0.AfyMpkWlan0WLnARdpRiufEnDK9sr0QBfspsrsWm26MFon7PlvX03gifPd_lsXl0go6N9RXMyp_TSAvwZsUeSZp5Ghvuha5ug8lFhtpXcG02LXdbepKRNFHimXne7dozBVUrb53zz5eGP1udH9mT56TKYBBFWBkY0DWxpjvGHJ3prnaaobQexgFEpV6TQQF1BD5YJ2-7NA7q4H6kO-7koR5gfagnc98U5-9YugHdzJN8DFZ5H3AHiD6iyQ1sunpcz2bXc9s7dVxYFcKdA6NE8-Ft8ATodvrPnKJhcabT-CcR57DzoBIh2dnp-tePsIVjxwCDwYn4K8bwYuI8nUK5Ag","nonce":"nonce","enc":"RSA_AES_KEY_WRAP_256"}) .query(true) - .reply(200, {"value":"eyJhbGciOiJSUzI1NiIsImtpZCI6IlU0NXdTcDZrT2tQZUQxX2M1WURSZlVHb0JseThxSDlHMTlaZnVGVkx5WWsiLCJ4NWMiOlsiTUlJSW1UQ0NCb0dnQXdJQkFnSVRNd0FXKzlEby9manlOampiYkFBQUFCYjcwREFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd056STBNREF6T0RNNFdoY05Nakl3TnpFNU1EQXpPRE00V2pCOU1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DVjBFeEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV2TUMwR0ExVUVBd3dtS2k1dFlXeGxaMlZ6YTNKbGJqSm9jMjB1YldGdVlXZGxaR2h6YlM1aGVuVnlaUzV1WlhRd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURoSjZnSlljek5VbnBrZmgrNktXbXk5UnRXYm1RMXIxaEpoK2tnc3pCc2F0UW9zaEpWa1IzMWxFdkU4dUJtalA5TnNwSHY3SHJWVHRRcVFtcDVwNUw1UGRacys5ZVUwdHBWdGhWUGxqUE5iN1REaUZrWWlPV0JuVXFOaFQwQ1RGVHpRWWV1NUZOazV0QkhvbGloVWRwVVZWUjJXZkpQSWNIY3h6SFBIcjRMeEwza0liZFc5aXdEdlYwSlFnU2MvSmp6OWZXK092SWlKMUpNdXBsbndOc2VhTVo2U0hrdVN1enp4MnBYQWgwck9XUDZ6ZGJXUVpvZjBMN3VRK0VqTTFiQW1SMU5NbWN1V2tLeUkzaTJEblJraEpMRDlZdlcrcWkvMzBDbWVSRWQxczd1UkZkRGxsdCtOVFYxMit1OWZ2Z1ZlWHhGVHA4U3Z3dW1XWTFpVVhRZkFnTUJBQUdqZ2dRME1JSUVNRENDQVg0R0Npc0dBUVFCMW5rQ0JBSUVnZ0Z1QklJQmFnRm9BSFlBN2t1OXQzWE9ZTHJoUW1rZnErR2VacU1QZmwrd2N0aURBTVI3aVhxby9jc0FBQUY2MWZ4THFnQUFCQU1BUnpCRkFpQmNYYm9NSUk1OUdRTVZpdDJGMkkzTTF0RDhNMDJlSTFJVVRyRXkvbWlSY1FJaEFOY256QTdzUWJ3Q3lNQXdadUVxUDlLNGFGNDU2aGpESjVSOE9EamRhUkhDQUhZQVFjaktzZDhpUmtvUXhxRTZDVUtIWGs0eGl4c0Q2K3RMeDJqd2tHS1dCdllBQUFGNjFmeEwrZ0FBQkFNQVJ6QkZBaUVBalBoclZpZDYxMjh4cjV3UFI0bytCQ0FYbUpTTHY0MVhsZE9zaU9uYWVmQUNJQmp1Z242UUd5ZjA1RXU1L3lsNjVabmJvbFhodUZmT2NJRlNoTm1EZFFUSkFIWUFVYU93OWYwQmVaeFdiYmczZUk4TXBIck1HeWZMOTU2SVFwb04vdFNMQmVVQUFBRjYxZnhNSUFBQUJBTUFSekJGQWlFQW1wK2JXMXFrUWZkaWJQOEoreUh1SC92L0ExZk9MaGVQcVIwSnpJVVBhMjRDSUgzS2FZc3Z6RnNES3FsZm1YZ2E4UlhYWHM4T0d5WkhHY0U3dGx6TEJFSkFNQ2NHQ1NzR0FRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd1BBWUpLd1lCQkFHQ054VUhCQzh3TFFZbEt3WUJCQUdDTnhVSWg3M1hHNEhuNjBhQ2daMHVqdEFNaC9EYUhWMkNoT1ZwZ3ZPblBnSUJaQUlCSXpDQnJnWUlLd1lCQlFVSEFRRUVnYUV3Z1o0d2JRWUlLd1lCQlFVSE1BS0dZV2gwZEhBNkx5OTNkM2N1YldsamNtOXpiMlowTG1OdmJTOXdhMmx2Y0hNdlkyVnlkSE12VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOU1V5TUMwbE1qQjRjMmxuYmk1amNuUXdMUVlJS3dZQkJRVUhNQUdHSVdoMGRIQTZMeTl2Ym1WdlkzTndMbTFwWTNKdmMyOW1kQzVqYjIwdmIyTnpjREFkQmdOVkhRNEVGZ1FVZEJLWmN4NnRITWw4MVFqbkpqSGFkNjRqdEwwd0RnWURWUjBQQVFIL0JBUURBZ1N3TUZjR0ExVWRFUVJRTUU2Q0ppb3ViV0ZzWldkbGMydHlaVzR5YUhOdExtMWhibUZuWldSb2MyMHVZWHAxY21VdWJtVjBnaVJ0WVd4bFoyVnphM0psYmpKb2MyMHViV0Z1WVdkbFpHaHpiUzVoZW5WeVpTNXVaWFF3WkFZRFZSMGZCRjB3V3pCWm9GZWdWWVpUYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OWpjbXd2VFdsamNtOXpiMlowSlRJd1FYcDFjbVVsTWpCVVRGTWxNakJKYzNOMWFXNW5KVEl3UTBFbE1qQXdOUzVqY213d1pnWURWUjBnQkY4d1hUQlJCZ3dyQmdFRUFZSTNUSU45QVFFd1FUQS9CZ2dyQmdFRkJRY0NBUll6YUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVc5d2N5OUViMk56TDFKbGNHOXphWFJ2Y25rdWFIUnRNQWdHQm1lQkRBRUNBakFmQmdOVkhTTUVHREFXZ0JUSHNweC9IT080V3UvcGFCcW9YWlRCSmxKcWFEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBZ1lJS3dZQkJRVUhBd0V3RFFZSktvWklodmNOQVFFTUJRQURnZ0lCQUtkcWp3TlEzd1NlbWpma3VmaHFPQXpZNUZzRmMvQ3NIenltOFhNTkRwTzNhUjFCRkM0VFlyQ0dQdmFBZ2FDcjZPUlpVYmpKVHliWWxzMDBVYjJwM2lyUlVOdXJMNlcrQlROZUczNFBWTFVHaFBLVG9TZ0p6Q2t0ZzNkY2dHL2ZHMmd6Zmp4SFl1UEFiN3pwRlFjY1c1d1pIeTg2eEhlRVdadkdsR014c21DSTNJbGpaVXg2bnBQWSs5ZGhqYmRrN0hmUTRFMTRZOFFXaXBsR1dUY04zVE1GY0RiRVpCdlY0SjZsblptWHJINlZMbkdBbi9Tc0ozbFZNbXdpNGNvQWJkM3VWaTZZQm9CZDVmY1lTV2JFYmRjcG1JOVdVNUhOMGtRUmFMYTdkVE1mK0hnSkp6QlFUWFNybWJ2aGVFWklkWnlLY3BNSWluQUZyZGJMRWphZEVORW90MzJ1T2Z1eVpXeXAvcGg1bWFoaC9HSkJCZ3NvRzJzL3o4YzRoMVFneC9KQ0JKS09VRWF3WXQ2UTZSL3Byaklnc2Q0RXZuWGhtbS93djJHeDFHa0NVQ2RpcW5aZ09CQ3RKYWpNUnBiczVQblYwajczTFROUHp4TmpyWjFrM2ZkL1Y4dzFIb1hYSDBZTHoxc25idzJPSlpEMzRJMk8zVVlrV3pPR1lzMUVWUWtXZWJtdlVjVjNOK291UUFXK0gxY0hmR01memt0Q0tSdkFUNHI0b3FIY0p6dVdSeVcvM2VNNEdCOUdzY01kTFBNdEJjVkplU29YTkRqWDh6cWw5RnlyUWROaWUyTS9YNEozc0ZTNG9hMGx5SmhsRU11d2dWbytSc01SQm8valFiZ3ZsSXZsWmdaem95TU9WNlB3c1E5b3lQNEl5ZjB2eVVLejkzS3RkNWxmIiwiTUlJRjh6Q0NCTnVnQXdJQkFnSVFEWHZ0NlgyQ0NaWjZVbU1iaTkwWXZUQU5CZ2txaGtpRzl3MEJBUXdGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHlNREEzTWpreE1qTXdNREJhRncweU5EQTJNamN5TXpVNU5UbGFNRmt4Q3pBSkJnTlZCQVlUQWxWVE1SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4S2pBb0JnTlZCQU1USVUxcFkzSnZjMjltZENCQmVuVnlaU0JVVEZNZ1NYTnpkV2x1WnlCRFFTQXdOVENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFLcGxEVG1ROWFmd1ZQUWVsRHV1K05reE5KMDg0Q05LbnJaMjFBQmV3RStVVTRHS0Rud3lnWmRLNmFnTlNNczVVb2NoVUVEeno5Q3BkVjV0ZFB6TDE0Ty9HZUUyZ081L2FVRlRVTUc5YzZuZXl4azV0cTFXZEtzUGtpdFB3czZWOE1XYTVkMUwveTRSRmhaSFVzZ3h4VXlTbFlsR3BOY0hoaHN5cjdFdkZlY1pHQTFNZnNpdEFXVnA2aGlXQU5rV0tJTmZSY2R0M1oyQTIzaG1NSDlNUlNHQmNjSGlQdXp3clZzU21Md3Z0M1dsUkRnT2JKa0U0MHRGWXZKNkdYQVFpYUdIQ0lXU1ZPYmdPM3pqNnhrZGJFRk1tSi96cjJXZXQ1S0VjVUR0VUJoQTRkVVVvYVBWejY5dTQ2VjU2VnNjeTNsWHUxWWxzazg0ajVsVVBMZHNBeHR1bHRQNE9QUW9PVHBuWThreFdrSDZrZ081Z1RLRTNIUnZvVklqVTR4SjBKUTc0Nnp5LzhHZFFBMzZTYU5pejRVM3UxMHpGWmcyUmt2MmRMMUx2NThFWEwwMnI1cTVCL25oVkgvTTFqb1R2cFJ2YWVFcEFKaGtJQTlOa3B2YkdFcFNkY0EwT3J0T09lR3Ryc2lPeU1CWWtqcEI1bncwY0pZMVFIT3Izbkl2SjJPblkrT0tKYkRTcmhGcVdzazgvMXE2WjFXTnZPTno3dGUxcEF0SGVyZFBpNXBDSGVpWENOcHYrZmFkd1AwazhjemFmMlZzMTluWXNnV241dUl5TFFMOEVlaGRCekNiT0tKeTlzbDg2UzRGcWU0SEd5QXRtcUdsYVdPc3EyQTZPL3BhTWkzQlNtV1REYmdQTENQQmJQdGUvYnN1QUVGNGFqa1BFRVMzR0hQOUFnTUJBQUdqZ2dHdE1JSUJxVEFkQmdOVkhRNEVGZ1FVeDdLY2Z4emp1RnJ2NldnYXFGMlV3U1pTYW1nd0h3WURWUjBqQkJnd0ZvQVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RGdZRFZSMFBBUUgvQkFRREFnR0dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1IWUdDQ3NHQVFVRkJ3RUJCR293YURBa0JnZ3JCZ0VGQlFjd0FZWVlhSFIwY0RvdkwyOWpjM0F1WkdsbmFXTmxjblF1WTI5dE1FQUdDQ3NHQVFVRkJ6QUNoalJvZEhSd09pOHZZMkZqWlhKMGN5NWthV2RwWTJWeWRDNWpiMjB2UkdsbmFVTmxjblJIYkc5aVlXeFNiMjkwUnpJdVkzSjBNSHNHQTFVZEh3UjBNSEl3TjZBMW9ET0dNV2gwZEhBNkx5OWpjbXd6TG1ScFoybGpaWEowTG1OdmJTOUVhV2RwUTJWeWRFZHNiMkpoYkZKdmIzUkhNaTVqY213d042QTFvRE9HTVdoMGRIQTZMeTlqY213MExtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dIUVlEVlIwZ0JCWXdGREFJQmdabmdRd0JBZ0V3Q0FZR1o0RU1BUUlDTUJBR0NTc0dBUVFCZ2pjVkFRUURBZ0VBTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElCQVFBZStHK0cyUkZkV3RZeExJS01SNUgvYVZORmpOUDdKZGV1K29aYUthSXU3VTNOaWR5a0ZyOTk0alN4TUJNVjc2OHVrSjUvaExTS3N1ai9TTGptQWZ3UkFaK3cwUkdxaS9rT3ZQWVVsQnIvc0tPd3IzdFZrZzljY1pCZWJuQlZHK0RMS1RwMk94MCtqWUJDUHhsYTVGTzI1MnFwazcvNnd0OFNaazNkaVNVMTJKbTdpZi9qamtoa0dCL2U4VWRmcktvTHl0RHZxVmVpd1BBNUZQenFLb1NxTjc1YnlManNJS0pFZE5pMDdTWTQ1aE4vUlVuc21Jb0FmOTNxbGFIUi9TSldWUmhyV3QzSm1lb0JKMlJESzQ5MnpGNlRHdTFtb2g0YUU2ZTAwWWt3VFBXcmV1d3ZhTEIyMjB2V210Z1pQcytEU0liMmQ5aFBCZENKZ3ZjaG8xYzciLCJNSUlEampDQ0FuYWdBd0lCQWdJUUF6cng1cWNScWFDN0tHU3hIUW42NVRBTkJna3Foa2lHOXcwQkFRc0ZBREJoTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCM2QzY3VaR2xuYVdObGNuUXVZMjl0TVNBd0hnWURWUVFERXhkRWFXZHBRMlZ5ZENCSGJHOWlZV3dnVW05dmRDQkhNakFlRncweE16QTRNREV4TWpBd01EQmFGdzB6T0RBeE1UVXhNakF3TURCYU1HRXhDekFKQmdOVkJBWVRBbFZUTVJVd0V3WURWUVFLRXd4RWFXZHBRMlZ5ZENCSmJtTXhHVEFYQmdOVkJBc1RFSGQzZHk1a2FXZHBZMlZ5ZEM1amIyMHhJREFlQmdOVkJBTVRGMFJwWjJsRFpYSjBJRWRzYjJKaGJDQlNiMjkwSUVjeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdXpmTk5OeDdhOG15YUpDdFNuWC9Scm9oQ2dpTjlSbFV5ZnVJMi9PdThqcUprVHg2NXFzR0dtdlByQzNvWGdra1JMcGltbjdXbzZoKzRGUjFJQVdzVUxlY1l4cHNNTnphSHhteDF4N2UvZGZneTVTRE42N3NIME5PM1hzczByMHVwUy9rcWJpdE90U1pwTFlsNlp0ckFHQ1NZUDlQSVVrWTkyZVFxMkVHbkkveXV1bTA2Wkl5YTdYelYraGRHODJNSGF1VkJKVko4elV0bHVOSmJkMTM0L3RKUzdTc1ZRZXBqNVd6dENPN1RHMUY4UGFwc3BVd3RQMU1WWXduU2xjVWZJS2R6WE9TMHhaS0JneU1VTkdQSGdtK0Y2SG1JY3I5ZytVUXZJT2xDc1JuS1BaekZCUTlSbmJEaHhTSklUUk5ydzlGREtaSm9icTduTVd4TTRNcGhRSURBUUFCbzBJd1FEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCaGpBZEJnTlZIUTRFRmdRVVRpSlVJQmlWNXVOdTVnLzYrcmtTN1FZWGp6a3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR0JuS0pSdkRraGo2ekhkNm1jWTFZbDlQTVdMU24vcHZ0c3JGOSt3WDNOM0tqSVRPWUZuUW9RajhrVm5OZXlJdi9pUHNHRU1OS1N1SUV5RXh0djROZUYyMmQrbVFydkhSQWlHZnpaMEpGcmFiQTBVV1RXOThrbmR0aC9Kc3cxSEtqMlpMN3RjdTdYVUlPR1pYMU5HRmR0b20vRHpNTlUrTWVLTmhKN2ppdHJhbGo0MUU2VmY4UGx3VUhCSFFSRlhHVTdBajY0R3hKVVRGeThiSlo5MThyR09tYUZ2RTdGQmNmNklLc2hQRUNCVjEvTVVSZVhnUlBUcWg1VXlrdzcrVTBiNkxKMy9peUs1UzlrSlJhVGVwTGlhV04wYmZWS2ZqbGxEaUlHa25pYlZiNjNkRGNZM2ZlMERraHZsZDE5MjdqeU54RjFXVzZMWlptNnpOVGZsTXJZPSJdLCJ4NXQjUzI1NiI6IlU0NXdTcDZrT2tQZUQxX2M1WURSZlVHb0JseThxSDlHMTlaZnVGVkx5WWsifQ.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJSU0FfQUVTX0tFWV9XUkFQXzI1NiIsImtpZCI6Imh0dHBzOi8vbWFsZWdlc2tyZW4yaHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvaW1wb3J0cmVsZWFzZWtleTE2MjcwODgyMzUyOTkwODI2Ny82NjFmZjcxOWYzNjk0MDIzODQxYTEyMTdiZDIyNDk0NiIsIm5vbmNlIjoibm9uY2UifSwicmVzcG9uc2UiOnsia2V5Ijp7ImF0dHJpYnV0ZXMiOnsiY3JlYXRlZCI6MTYyNzA4ODIzNSwiZW5hYmxlZCI6dHJ1ZSwiZXhwb3J0YWJsZSI6dHJ1ZSwicmVjb3ZlcmFibGVEYXlzIjo3LCJyZWNvdmVyeUxldmVsIjoiQ3VzdG9taXplZFJlY292ZXJhYmxlK1B1cmdlYWJsZSIsInVwZGF0ZWQiOjE2MjcwODgyMzV9LCJrZXkiOnsiZSI6IkFRQUIiLCJrZXlfaHNtIjoiZXlKamFYQm9aWEowWlhoMElqb2lTMkpYTjJseFYwazRia2M1T1Rsd1oybGtTR1ZvV2pKc2IxZ3plRU5TYUVodk4wVnRSSGRFU2sxUVlVbEJYMGc1YjJFNFRWOTVYMng0ZWxoMGJFcFRYekF6TjB0RWNtcHZTMTlCZFd0V09ERmxZakExVUZaeU5sUmliVTlLTUVaSlRIaDNNa0ZHVDBwNlYydzNOWE40UWpWNVEwVmFVMjVCV2s5VWJsbzNkMnRHWHpod2RVeDFNa2xJWVRsUlp6ZHNXRmxtVGpZNFZucHdhMG80TlhOTFpYQk1ibkJhU1RoMGNrbDZObkZCYWpFdGRHUkVMWEpYV1dwemVVWlNOV295VjJRNWMwTklUWEJJYURVMFZucDBMWFIxV2tSaFlYZGpTMHRJT0ZJeFdXZzJVRUpIUm5OT2VGOHlOSGs1TldOR2EwdzBlRE13WkZNMFVHSnlNelF3YVdOWlRHdHJXR1ZIWTB0dWFEVk1iMWxrWkZaM1pISkhWR1J2TWxGR1IyZEVUR2h6V2pkbVExUmFPREIzZWxOR1VIRnhVR2RPWHpsZlRGWTVhRE5qVWxGVVNVZEdlVWRYVG1wbE5tWjRiMVJZWW5OSFlVVldNRTVyUlZGUFozWTFUVWx0YWw5UGVtTk1UM2x2Ylc5U2VrcEhObVkxTFhwWFJGWnZTMnhvWmxWclJFOVBTVEJ5YnkwMWRtbFlXbWRKWHpBMVZYVnlhMDFLUVROdVYzRXhUbVkwVkhNeU1reEdUV0pJYm5ZeExYcDVaV1JUYVdwZk5XVlljamhOVEZWWk5sTTNjalZzUWpWM1gwUXhOSEl3VTFSRFFrWXRTamxuT0RKRk5ubG1VbFpMVTNNMGJsUmtiamR1VWpCU2EweEdhR042VEdsUlVVUlFiR3czU0dKdFkzQlNTbTlaYUZSTWJHaE5WR3QwVTBOQ1kxTm1PR1k0YjJ4bWJGWmhVemRvV0ZSTGRrUkRhbVZYVWtkb2NsZDFlbVZvYnpFM2EwSm1NVmxSTnpsb1MwTnVaMWgxZFRGSGFDMXNTRVJ1ZHpObGIxOXNWbTlvU1ZGcFpqaGlUWFpTUlU0d1RHVkpjVEJSV0hRMWRXSnViSG8xZEVoVGJVbHZUbVJSYW5ONWRtWnJZVkUzTjJ0MldEUTBiM05xUzNadFUwVkhja0pQV1VGRU5VdENZemxHVVhSR1ZVUnliME5vTW1KRkxWQTBVUzE1VVRCMlYyRlZkazkxTldKelYzaGFSRWx6TURKTk5YUkxlbk5VUTJneldtODFTa2xzU0dOSGFERnRUSEJNU2prd09XRTJNR1ZMWm1sWVdXSmpWMEpDVkMxdlJ6RnlkMEo0ZGpsVFZHeFpXV2hxU3pKSFZrTlVPWEJpVDFVNE5sUmZNR3MxWkVScU5EVnRjbk54VUhsSVMxVTVkMlYxV1UxM0xWRXRWM2RRVjJoV2IycGpWVEY0VmxOZlpVaFRkbUZMZGw5bmVEZFdYMUZ0WldkTWNUVkxiMmszVkZCdFNUTnVNM0JhWHpoVVNUaExNamRRYTNZek5HVkRVWHAwZUc5WGJ6QTFNSFJoT1ZOdGJYTTNablpGVlMxc1YyVnFabUZPU25WNlZXUlJOR0YxVVdKSFZYUnRZM2ROVkhKUlpEVlRVamxvYVVsM2IyMXFPSEl5UkdsYVlVdHJaVFpaTkc4MlIwTjBhMHRGUlRWTU9FTjFSVmw2Y2xOV1JXWndla1o2WW14bWRHeHRiREpSWVhwMmFISkpURzl6U2t4SmMwUklkbkJCV0hCcFZ6SmZWazlQYVZGTmRFeGZSV1l0Ym14VVZqQk9kVlJGT0RSMFZ5MXRNM2d5UlRBeFRFNVlUV05mYzJ0bVdXZ3lRM2xFZVZRM05XNVNWRXBQTFdGR2VGSXphamxQVUhOUWRUUldVV2hXWjJGa2QyMVliblp2UkZablZVRndka1pTZW1WaE4yUlpVRGd6UW5oSFFqWmZTRlYyZDFSblVUSmhUbUZVYVdaalRGbEhOVzlMYkZnNWNuaFFaaTF3U1VVelVsSldiakl4TFZoTWFuQk9SamxLWm1KcFpuZzBOV0oxUjBJMFNXaFdaRTVWWTNSWVgwRm9ia3B5ZDBKak5uQm5Na1J3VlRNeGRYaFNjM0V0T1ZRMWJubExUWFV0TFdsUWQyc3dNSFl0Ym1aWU1uZFdjbVpSZW1sRVNtTmxaamhvZURCUmEwRXlUVk5OVUY5YVdEZ3pUaTFqTmxob2NGRTBSMHhxVVVGZmFIQnlVV3B2YUdSSGVYZEtkM05PZFdsMGFWODJRMlJpUjNoellVaDNSV3B1YzJ4Q1NqZGhTWE15T0RselkweHlXbVp4V1ZoeVRVd3djMnA1T1hKcWJWcHRNR28xZW0xdldFbGxPVXRXZHpjelkwTkhlVXhEWVRSb1pIWmtkVkZFZVZJM1ZuTjNZMjgxZEZGMWRFTnZkelprUzA1VVgyaHhWMkpmY21OR1dpMW9UM2RZYkhGZmFucExkRWxpWHpsd2IybE5lRlJFUnpBM1NEVk9MVlJRVVRkcU5IWnBTVGRpY1Y5SE9GbDNhMFpFWlVSbllWZHpVMDlEVDFaRlZqbGpRamxDUmpWcVExbFFMVTk2WmtwbVNVSmxkblpxYjFaQ1RYZHFPRkZuV0ZSdVRtNHdkakJrTlV0VUxVRlNhVXRzVjFoa1NtWkNPWGRFU1VOQlUybGhVWEJzVTFac1FtWXhPRWRvUWpsWVNuWnRjVTVFYW5GWFMyZFRRV2RSTVRKcU0zVmFOV1pMZVhkSlQxbHpZVFJwVkVOZmFrcGpXbXA2V1ROQlNFUkZOVUZLUmxCRFYyOUhOR2RVVW1Ga1pUaFBUM2xOVFU1QlYyeHZTalpEZHpOcmFWTjZNMFExY0d3eWN6ZzVTazB5TVdsQmIxUnBWVmhMWmxKdlVtZHNOM0o1VldoR09WaFFZMmwzVEc5U2FGZHROekpSWWkweU5UUlFaRmR2TUVSdFJITm9TazlaZG05UE1UWkVRVmhOVlhjMVVrOWlaMjFzUjB0R1dqaE9ka0pzWTFCeFZWVjBiRzlGVjA5bk5XOUhjbW96ZDBwTFVtNXZjMVpDVldKNFNHbGxPREl6YjIxRVlYUkZYMDVYT0ROT2REUTRlRE5zZEhScFlXWkxUbVJVY0ZWdGIxRlNSVmRTYjA5clR6WnhNV0pDTjJKTVpqRTBPRTFVVldzMmFXVTVWMlJNYURCd04ySlZjbFZLUlRCRk5qTlRRbHBsTVRsUVpIQjRVMEZEWm1kb1owNWljM0J1UzI5Q2NsOTRPVXhSYms4dE0xVndZVlJZVWpKNmRVRkViVzVHVlVVeGVGazFZemRHZFhWTFpYaERjM0J6VjNCbGFuZzBlbmh3TjFOTlpFdzRhMWhHVUVnMU1GRkVlRk5DT0RZME9HTnJja05ETTBwdmJESkRPRXRqV1dkSk5WSlZiRmhmYjNWWFozVk9SR2xKZDA5QlRXZFBjazE2ZVV4YU1ITmtRa3BrT0NJc0ltaGxZV1JsY2lJNmV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSlNVMEZmUVVWVFgwdEZXVjlYVWtGUVh6STFOaUlzSW10cFpDSTZJbVpoYTJVdGNtVnNaV0Z6WlMxclpYa2lmU3dpYzJOb1pXMWhYM1psY25OcGIyNGlPaUl4TGpBaWZRIiwia2V5X29wcyI6WyJ3cmFwS2V5IiwiZGVjcnlwdCIsImVuY3J5cHQiLCJ1bndyYXBLZXkiLCJzaWduIiwidmVyaWZ5Il0sImtpZCI6Imh0dHBzOi8vbWFsZWdlc2tyZW4yaHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvaW1wb3J0cmVsZWFzZWtleTE2MjcwODgyMzUyOTkwODI2Ny82NjFmZjcxOWYzNjk0MDIzODQxYTEyMTdiZDIyNDk0NiIsImt0eSI6IlJTQSIsIm4iOiJvSkZOQUNOS3hvT3lHMHdWMWI3WWg3M0pXY0xsZXZWSzV6VG84QWNnMTNYU2RlUlZJSDQzaE03cllLVUtSbFhkY3FlcFRTY2VqdWozbFpwbW5LYm5kYjhPSTdyYTZaRzBVcDJYaFNpMHZaQlNIVExkSmxaNWE2Z3JhN19IWm95UFh1dFFVM1JfMFpreG5TbW9SQTBJOUVFdFVuXzVNUjdhY1lKWklMUjdIRWF4R3JQcEhYTVdRSDZKeF9OQTk3aGFOQVFzNVJkRHNuMUhHRUE5Tk1lME9LOWhnYjRGNU5FZXVZWFRnbFBYX3B2MVA4THhzQUxTTFMxNVA2ZWFVRXRxdEMwRWtvQk5jSEhYSjZCczg2aUpPcVZDc1ZBX2d5c3BZM0cyY0gxTnh1TnktUDVuMk43UnlRajk1RnpnTzhDR3B4U0gtblhrT3FEZ1o1cWcwZzctTlEifSwicmVsZWFzZV9wb2xpY3kiOnsiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04IiwiZGF0YSI6ImV5SmhibmxQWmlJNlczc2lZVzU1VDJZaU9sdDdJbU5zWVdsdElqb2ljMlJyTFhSbGMzUWlMQ0psY1hWaGJITWlPaUowY25WbEluMWRMQ0poZFhSb2IzSnBkSGtpT2lKb2RIUndjem92TDNOcmNtRjBkR1Z6ZEdGMGFXOXVMbUY2ZFhKbGQyVmljMmwwWlhNdWJtVjBMeUo5WFN3aWRtVnljMmx2YmlJNklqRXVNQzR3SW4wIn19fX0.SuNlGMrbPZLVT3WsTvmu7lM4RAqDRv0zvzYgmzOAUK3v9OEt1_Vte_vU7CvuWZNwMIfm-iWrXr5yeNpHHKxRPD4XyI9-_oRiKQ3l8ag48qdEAP4BxE_ZiU6zfWrTkktrZuvFte554sVURRmKeuyaiZ5_It637F2r99vQ-XkAy0V-9D2obFXsfys1mwZqjlFm9rP0mq8HbxZPK1vvwZq4NrchyH7NYwy8FulDNl9mfmC5kYQPgn8CqcpzB9GUULvMAnAGdP6Fzq9_AURLAitwT0NPY0KZOYBTPZpjOnlSDMroEJjRjMdW-yRy8nUttRVeLT-nl239FooOOE1Y0K-RVw"}, [ + .reply(200, {"value":"eyJhbGciOiJSUzI1NiIsImtpZCI6IkpqT1FYeFEtZTY1Y1RmazdfWlhwSkJfV2RxY094Mkh5Q29vRnpUSC1tQkEiLCJ4NWMiOlsiTUlJSW96Q0NCb3VnQXdJQkFnSVRNd0FZS1BGeVJsOFo5UEVLeGdBQUFCZ284VEFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd09EQTJNakV6TURVMFdoY05Nakl3T0RBeE1qRXpNRFUwV2pDQmdERUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWxkQk1SQXdEZ1lEVlFRSEV3ZFNaV1J0YjI1a01SNHdIQVlEVlFRS0V4Vk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR4TWpBd0JnTlZCQU1NS1NvdWJXRnNaV2RsWkhsdVlYUjBaWE4wYUhOdExtMWhibUZuWldSb2MyMHVZWHAxY21VdWJtVjBNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXBMWVFQSDI4RWVTMHNwT2xEOFNHeUI3cG1vSm1yMUduRzNSUytrdE9qRlpTYUt4dGMybmJwLzl3R1BtREpKSjdZdmtRRjNNZWNRdXRjaVlCUmZpVlJoUitiMnpzaTgyeHN5a3RuZkZ5aVREeHI0Qnl2RlRydDdKcHVPQkVDQk1tdFRTUHR0MFVOV1pXY2NnSTJ4L0UzYzNXMmMvUG00TXNiRCtYaVhBczl6T3VqU3ptazdHaXRCMDBoSmJqeFdINENrZURuMWI0NENaTjAwSEpHU3Faa0hmTmRNSUo0TmI1a3RJM1VDZEdTdmlTWDlybWhCdWJWRWNHdEp5eUpFcm9qYnNBMUt0K3B3MmdBbDc4QTdzN0xWL2prV0RxdTRZUjByL2N5TnhNSW1yMXZBdjJvZFBqeUVoNGtiL0V1S1hoS21wNzl0cFpOalU1MEI3UWNyd25ZUUlEQVFBQm80SUVPakNDQkRZd2dnRitCZ29yQmdFRUFkWjVBZ1FDQklJQmJnU0NBV29CYUFCMkFPNUx2YmQxem1DNjRVSnBINnZobm1hakQzNWZzSExZZ3dERWU0bDZxUDNMQUFBQmV4MXBjckFBQUFRREFFY3dSUUloQUxwT0gybHhIRU5BdFpXY0x1UDZ5Q1BMbGZhaFlreWZGaXgxcGQvTVNINWhBaUFwRWlLcEFQdmNVQlY4cURCbTFhaHVzSlc5SGtGd25kS2FiZnJESGhwMHR3QjJBRkdqc1BYOUFYbWNWbTI0TjNpUERLUjZ6QnNueS9lZWlFS2FEZjdVaXdYbEFBQUJleDFwY3lZQUFBUURBRWN3UlFJZ1VyWkFDWkExc1hkMGxac01kSXFoTVREcExLdmV6ODVwa3Vjc1J2UHN3eWNDSVFEc3hZcThUYnRNSHBsTklYUytJTHhXbGFsR09uYXA5V1BPZWlKN2VOQ1owQUIyQUVISXlySGZJa1pLRU1haE9nbENoMTVPTVlzYkErdnJTOGRvOEpCaWxnYjJBQUFCZXgxcGN4WUFBQVFEQUVjd1JRSWdiWUs5c2FwQzBNaldPdG9wa3FoeEY2ZWlSNi90YnhNMHZoUjBjQUNXVU8wQ0lRRHdoU3E3aXF3dUlIbTJCOFdOUUJHVGx5a1Exc0xHVzJzRmluSUdaTExSZWpBbkJna3JCZ0VFQVlJM0ZRb0VHakFZTUFvR0NDc0dBUVVGQndNQ01Bb0dDQ3NHQVFVRkJ3TUJNRHdHQ1NzR0FRUUJnamNWQndRdk1DMEdKU3NHQVFRQmdqY1ZDSWU5MXh1QjUrdEdnb0dkTG83UURJZncyaDFkZ29UbGFZTHpwejRDQVdRQ0FTTXdnYTRHQ0NzR0FRVUZCd0VCQklHaE1JR2VNRzBHQ0NzR0FRVUZCekFDaG1Gb2RIUndPaTh2ZDNkM0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cGIzQnpMMk5sY25SekwwMXBZM0p2YzI5bWRDVXlNRUY2ZFhKbEpUSXdWRXhUSlRJd1NYTnpkV2x1WnlVeU1FTkJKVEl3TURVbE1qQXRKVEl3ZUhOcFoyNHVZM0owTUMwR0NDc0dBUVVGQnpBQmhpRm9kSFJ3T2k4dmIyNWxiMk56Y0M1dGFXTnliM052Wm5RdVkyOXRMMjlqYzNBd0hRWURWUjBPQkJZRUZFc3dqd0Iyb1Q5WlNuQ3RZRnc2dmN1bitxeE5NQTRHQTFVZER3RUIvd1FFQXdJRXNEQmRCZ05WSFJFRVZqQlVnaWtxTG0xaGJHVm5aV1I1Ym1GMGRHVnpkR2h6YlM1dFlXNWhaMlZrYUhOdExtRjZkWEpsTG01bGRJSW5iV0ZzWldkbFpIbHVZWFIwWlhOMGFITnRMbTFoYm1GblpXUm9jMjB1WVhwMWNtVXVibVYwTUdRR0ExVWRId1JkTUZzd1dhQlhvRldHVTJoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZZM0pzTDAxcFkzSnZjMjltZENVeU1FRjZkWEpsSlRJd1ZFeFRKVEl3U1hOemRXbHVaeVV5TUVOQkpUSXdNRFV1WTNKc01HWUdBMVVkSUFSZk1GMHdVUVlNS3dZQkJBR0NOMHlEZlFFQk1FRXdQd1lJS3dZQkJRVUhBZ0VXTTJoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZSRzlqY3k5U1pYQnZjMmwwYjNKNUxtaDBiVEFJQmdabmdRd0JBZ0l3SHdZRFZSMGpCQmd3Rm9BVXg3S2NmeHpqdUZydjZXZ2FxRjJVd1NaU2FtZ3dIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0lHQ0NzR0FRVUZCd01CTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElDQVFBU0YvSjQ2cjFpWnJPcGl5YnZWTEhsbDJFL20vWGY4SGZJdkRNQjFRNFFLM1c2dVN0MXh6cTAydFZ0Y0IyaEkwQm1INXJUVmNaRmxqL1JCUzZGUU1FYThCbitHYzE5Tk9rWHc5amx4KzVoUThmYVJERHAyWEdSWGF0bGd6SkpMNGxZRWdyRG5RTnZpUHJBYTlENjdRMy9kZUl0TzZldVZPZ1lYSnBHVjYvYUtkR3pkSllNNm9wUjBIY0xmSDY2SmRHbXZpbVZvbDQ2UmRINFIxZXl3Tmg2ZUE5M2NYeDJkaGEwdGJVN3RoNURTRzZDOXdla0NaWFBNZ21jV1RyeXlzSHpxRmNUa1pLa0ZNUXNFc294ZnFDMkVOai83UTNSQWMxKzQwK1MwbXNrWXpHWlBXNVNxYVhYZ0podkE2UWVJVE4zSHdnbWZQSmN4SE9kZWVmWGEyQ2FTRVF3STdUM0xrblpmM0ZwYm02OFM5RnZUeFQwTDNhTGZwUjB4MWwvTzZyWXRnb1NJRlpPUUExRjV2alRBTXFsbXNweFNwSHhyL3ZiTWhsbG5LK0ZrU0NKbnJSNHFPd3dpaTBIK0FXVXlteGJBeFhxNStMaWpWZndNeTdBL1kxS3hhdm84dy93aFRsM1diMGJkSUNaU2VlWHZMcXhDa1V2eklad0VBQW9UMmwxMEo0dXE4eUNNUVlmZHJIdUJJdDRkcU9YU04yZTc4NXpYMERWWVQ5dVZBRGNRUDNaUS9yRWdOVzh6MmtZUEJVR1ZLNHhxWDJFOEl5b0tGeXZmb2I1ZHFhazMvN3JDYlR1K0VvVkRpK2xSWXhRdlZYaUNHMlpyaG5tV2hoeXNqYXp0ZVFoRFdIWUEzaklBODBuWFNkTGQ4U3Y0WncvelRhZ1FaVE9lYlNBaXc9PSIsIk1JSUY4ekNDQk51Z0F3SUJBZ0lRRFh2dDZYMkNDWlo2VW1NYmk5MFl2VEFOQmdrcWhraUc5dzBCQVF3RkFEQmhNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU0F3SGdZRFZRUURFeGRFYVdkcFEyVnlkQ0JIYkc5aVlXd2dVbTl2ZENCSE1qQWVGdzB5TURBM01qa3hNak13TURCYUZ3MHlOREEyTWpjeU16VTVOVGxhTUZreEN6QUpCZ05WQkFZVEFsVlRNUjR3SEFZRFZRUUtFeFZOYVdOeWIzTnZablFnUTI5eWNHOXlZWFJwYjI0eEtqQW9CZ05WQkFNVElVMXBZM0p2YzI5bWRDQkJlblZ5WlNCVVRGTWdTWE56ZFdsdVp5QkRRU0F3TlRDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBS3BsRFRtUTlhZndWUFFlbER1dStOa3hOSjA4NENOS25yWjIxQUJld0UrVVU0R0tEbnd5Z1pkSzZhZ05TTXM1VW9jaFVFRHp6OUNwZFY1dGRQekwxNE8vR2VFMmdPNS9hVUZUVU1HOWM2bmV5eGs1dHExV2RLc1BraXRQd3M2VjhNV2E1ZDFML3k0UkZoWkhVc2d4eFV5U2xZbEdwTmNIaGhzeXI3RXZGZWNaR0ExTWZzaXRBV1ZwNmhpV0FOa1dLSU5mUmNkdDNaMkEyM2htTUg5TVJTR0JjY0hpUHV6d3JWc1NtTHd2dDNXbFJEZ09iSmtFNDB0Rll2SjZHWEFRaWFHSENJV1NWT2JnTzN6ajZ4a2RiRUZNbUovenIyV2V0NUtFY1VEdFVCaEE0ZFVVb2FQVno2OXU0NlY1NlZzY3kzbFh1MVlsc2s4NGo1bFVQTGRzQXh0dWx0UDRPUFFvT1Rwblk4a3hXa0g2a2dPNWdUS0UzSFJ2b1ZJalU0eEowSlE3NDZ6eS84R2RRQTM2U2FOaXo0VTN1MTB6RlpnMlJrdjJkTDFMdjU4RVhMMDJyNXE1Qi9uaFZIL00xam9UdnBSdmFlRXBBSmhrSUE5TmtwdmJHRXBTZGNBME9ydE9PZUd0cnNpT3lNQllranBCNW53MGNKWTFRSE9yM25JdkoyT25ZK09LSmJEU3JoRnFXc2s4LzFxNloxV052T056N3RlMXBBdEhlcmRQaTVwQ0hlaVhDTnB2K2ZhZHdQMGs4Y3phZjJWczE5bllzZ1duNXVJeUxRTDhFZWhkQnpDYk9LSnk5c2w4NlM0RnFlNEhHeUF0bXFHbGFXT3NxMkE2Ty9wYU1pM0JTbVdURGJnUExDUEJiUHRlL2JzdUFFRjRhamtQRUVTM0dIUDlBZ01CQUFHamdnR3RNSUlCcVRBZEJnTlZIUTRFRmdRVXg3S2NmeHpqdUZydjZXZ2FxRjJVd1NaU2FtZ3dId1lEVlIwakJCZ3dGb0FVVGlKVUlCaVY1dU51NWcvNitya1M3UVlYanprd0RnWURWUjBQQVFIL0JBUURBZ0dHTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3JCZ0VGQlFjREFqQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNSFlHQ0NzR0FRVUZCd0VCQkdvd2FEQWtCZ2dyQmdFRkJRY3dBWVlZYUhSMGNEb3ZMMjlqYzNBdVpHbG5hV05sY25RdVkyOXRNRUFHQ0NzR0FRVUZCekFDaGpSb2RIUndPaTh2WTJGalpYSjBjeTVrYVdkcFkyVnlkQzVqYjIwdlJHbG5hVU5sY25SSGJHOWlZV3hTYjI5MFJ6SXVZM0owTUhzR0ExVWRId1IwTUhJd042QTFvRE9HTVdoMGRIQTZMeTlqY213ekxtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dONkExb0RPR01XaDBkSEE2THk5amNtdzBMbVJwWjJsalpYSjBMbU52YlM5RWFXZHBRMlZ5ZEVkc2IySmhiRkp2YjNSSE1pNWpjbXd3SFFZRFZSMGdCQll3RkRBSUJnWm5nUXdCQWdFd0NBWUdaNEVNQVFJQ01CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1BMEdDU3FHU0liM0RRRUJEQVVBQTRJQkFRQWUrRytHMlJGZFd0WXhMSUtNUjVIL2FWTkZqTlA3SmRldStvWmFLYUl1N1UzTmlkeWtGcjk5NGpTeE1CTVY3Njh1a0o1L2hMU0tzdWovU0xqbUFmd1JBWit3MFJHcWkva092UFlVbEJyL3NLT3dyM3RWa2c5Y2NaQmVibkJWRytETEtUcDJPeDArallCQ1B4bGE1Rk8yNTJxcGs3LzZ3dDhTWmszZGlTVTEySm03aWYvampraGtHQi9lOFVkZnJLb0x5dER2cVZlaXdQQTVGUHpxS29TcU43NWJ5TGpzSUtKRWROaTA3U1k0NWhOL1JVbnNtSW9BZjkzcWxhSFIvU0pXVlJocld0M0ptZW9CSjJSREs0OTJ6RjZUR3UxbW9oNGFFNmUwMFlrd1RQV3JldXd2YUxCMjIwdldtdGdaUHMrRFNJYjJkOWhQQmRDSmd2Y2hvMWM3IiwiTUlJRGpqQ0NBbmFnQXdJQkFnSVFBenJ4NXFjUnFhQzdLR1N4SFFuNjVUQU5CZ2txaGtpRzl3MEJBUXNGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHhNekE0TURFeE1qQXdNREJhRncwek9EQXhNVFV4TWpBd01EQmFNR0V4Q3pBSkJnTlZCQVlUQWxWVE1SVXdFd1lEVlFRS0V3eEVhV2RwUTJWeWRDQkpibU14R1RBWEJnTlZCQXNURUhkM2R5NWthV2RwWTJWeWRDNWpiMjB4SURBZUJnTlZCQU1URjBScFoybERaWEowSUVkc2IySmhiQ0JTYjI5MElFY3lNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXV6Zk5OTng3YThteWFKQ3RTblgvUnJvaENnaU45UmxVeWZ1STIvT3U4anFKa1R4NjVxc0dHbXZQckMzb1hna2tSTHBpbW43V282aCs0RlIxSUFXc1VMZWNZeHBzTU56YUh4bXgxeDdlL2RmZ3k1U0RONjdzSDBOTzNYc3MwcjB1cFMva3FiaXRPdFNacExZbDZadHJBR0NTWVA5UElVa1k5MmVRcTJFR25JL3l1dW0wNlpJeWE3WHpWK2hkRzgyTUhhdVZCSlZKOHpVdGx1TkpiZDEzNC90SlM3U3NWUWVwajVXenRDTzdURzFGOFBhcHNwVXd0UDFNVll3blNsY1VmSUtkelhPUzB4WktCZ3lNVU5HUEhnbStGNkhtSWNyOWcrVVF2SU9sQ3NSbktQWnpGQlE5Um5iRGh4U0pJVFJOcnc5RkRLWkpvYnE3bk1XeE00TXBoUUlEQVFBQm8wSXdRREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQmhqQWRCZ05WSFE0RUZnUVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUdCbktKUnZEa2hqNnpIZDZtY1kxWWw5UE1XTFNuL3B2dHNyRjkrd1gzTjNLaklUT1lGblFvUWo4a1ZuTmV5SXYvaVBzR0VNTktTdUlFeUV4dHY0TmVGMjJkK21RcnZIUkFpR2Z6WjBKRnJhYkEwVVdUVzk4a25kdGgvSnN3MUhLajJaTDd0Y3U3WFVJT0daWDFOR0ZkdG9tL0R6TU5VK01lS05oSjdqaXRyYWxqNDFFNlZmOFBsd1VIQkhRUkZYR1U3QWo2NEd4SlVURnk4YkpaOTE4ckdPbWFGdkU3RkJjZjZJS3NoUEVDQlYxL01VUmVYZ1JQVHFoNVV5a3c3K1UwYjZMSjMvaXlLNVM5a0pSYVRlcExpYVdOMGJmVktmamxsRGlJR2tuaWJWYjYzZERjWTNmZTBEa2h2bGQxOTI3anlOeEYxV1c2TFpabTZ6TlRmbE1yWT0iXSwieDV0I1MyNTYiOiJKak9RWHhRLWU2NWNUZms3X1pYcEpCX1dkcWNPeDJIeUNvb0Z6VEgtbUJBIn0.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJSU0FfQUVTX0tFWV9XUkFQXzI1NiIsImtpZCI6Imh0dHBzOi8vbWFsZWdlZHluYXR0ZXN0aHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvaW1wb3J0cmVsZWFzZWtleTE2MjgzNzk1ODAyNjgwMDc0OS9kY2M3MTczMmJjMDk0Y2Y5OWZlNjFjYTYzMGNkYmE0NSIsIm5vbmNlIjoibm9uY2UifSwicmVzcG9uc2UiOnsia2V5Ijp7ImF0dHJpYnV0ZXMiOnsiY3JlYXRlZCI6MTYyODM3OTU3OSwiZW5hYmxlZCI6dHJ1ZSwiZXhwb3J0YWJsZSI6dHJ1ZSwicmVjb3ZlcmFibGVEYXlzIjo3LCJyZWNvdmVyeUxldmVsIjoiQ3VzdG9taXplZFJlY292ZXJhYmxlK1B1cmdlYWJsZSIsInVwZGF0ZWQiOjE2MjgzNzk1Nzl9LCJrZXkiOnsiZSI6IkFRQUIiLCJrZXlfaHNtIjoiZXlKamFYQm9aWEowWlhoMElqb2lWVE13ZWtOUWFsSnFRV1ZLVVVGeWJsQk5aVGRGWVZWaWMwaEhOMk5CTjJwMmExSldkVmt5WTFaNWNETkhZblIyZEdKYWJtdGtlRUV4VlV4UVpqQk1WR0ZVV0hSa056Qm9iSE0zYkc5Q05YTlRVamxuWlZsdE5YZFdiRTgzTTBGSFZUZExPR1JKYVVsbmJIWnBjVUZaY21oeFMyUnBUbE41TUVWYVFYVk5OVnA0TTJ4aVozbERXSGxCUTFaTU1IQTRlVnBFWW5NeU1tbDFNRzVKWjFSbU5FSkZPVkI2Y0RJeVZVUkpiSHBUVTFaS1RqRlhTMnA2U21aVWRuSjBaalppZGtaVFNYRmxaSGRJUW5nNVR6RnBORjlhUkRCWWVHWmZiM0ZxWW1GcGQwaHlVR1pXVW5jNFVrWkRVVGxwYTNsVGMwSlJTSEpwVjFwZlZGWlpWVGQzT0d4RmNVRlpUMVZyUTBONlQzUnJkVzVsTmtjMVIxQmtRMVZ0TVRnMWNua3hVak50WWtaNGREUnpZMDFaVFd0NFUyaFpMVkpZY0ZCaFVVVnNUelo2ZUd3eFZIZENZMWMwTFVWeVRURkNOMU52Wmt0bmVHUlhia3cwYzBoSGQzWlhObEJRTjFCZk0yNVRkbXhpWm5KVFlYUmhaMWhuV25WS2FHeDVWVXBXYmpOYVJraFlOMGd0Tm5VNFZFdzVRWFpxYm1Gb1dtbE9hbEppUTBNeUxYQlBWRWxDTWxaeVducHRhbVpqWlRaT05FdzBhRGRCY2xNMVNVNDFkbmN3TFhSSVozaDFTM1ZqVFVnM05UaEJjWGMyUW05bU0yOVJhWGhWWmpjM1UyMVJPR0ZIY0RCWVJqVk9UM001ZEZKTllreFRlV2gyWkU5WVYwaHhUazlmUldwMVUxSXRkbG8wZDNOaE5XNXlPVVZXU2xsTVNVTjNWelI2YURKZlEweFZlRTlzVTFsd2FURk1YMWQ2UjE5UFoxazNXR3g0V2pSdlFrSTFTRmgwUzNCUU1sQmhaRTlWVVhKa1IzRnRNVzFIWkdObU5XODRVbTVNT0VnNVlsaEZhMDVTVjA1VFNISm9OSFZzWW1oMlJqaEhSelJETnpoclRHdHpXak5ZT0haa2FIZE1SVWRKUzFaSWMyZDVhM2QwTkZZM2RWWXROMmhKUzNscWEwbHlPV2Q2VEdSdE5sODNValJuTFVkdVZGaHpWVzlQVlZCSmEyazBjV0phTUZnd1MyTmFTa1UxWmtkRU1rOUJaM0ZVTUVJdFpIRm9RMmxuV0ZwYWNGcDZNMDVNYVRoTFVVbERURGRrUlZCV1VDMU9TVVp5Y2xKSVEzUk9iazFmWWpRM1NXcGZkbmw2UlhFMWFsTlZUMDFzTmpKSlJ6VmpTbkZUTFVOME1XdDBOaTFKZWpSVWFsVTRWRVIyVTNOQ1pHMVJSRUZxVUU5elpuQnNOVkIxY2xWTk5XUnVNMGR2Wm10bE5FSjBUMlZRVW5aTlNGVjNlbE40T0hKNmJHVkViR0k1YmxobVVHdHRhelpsV1haSGJrOVBOMmhRYVdKdmIwUnpTMDQyVFVSVk0wRkRabFZUTlZGNVRYTjBiemRwVjBwdFpubHRiSGx1Ykhsek1ESkVXREpIYWxseFdXeFhWREpCUkZWMFdGWmljMlJtZFhvd2JEUTBUMGxxZDIxaFNGbGlUMTkwTkUwMlNIVjJhSEZOYmt4cWIxQndRVnBRV25nd1FYWm9SR2RrV2tOSmVHWm9TRkZGYjNWdWJGUklOMlZXWTJVMUxXZGlZbVJsYm13d1RIaG1UVWt6VmpaMU5FWnBNblF4VUV3eGFreEhRWHBCVUcxWlRucHBNWEZtVlZSNGFuQkxiRE5FWVZkV1NXRkhVME5IVkVoQk9VcHJVWE5hVGpnMGQzTnlSbEZzV2xwNmJFWnFVVlJFVjNod2IxOTBhbXBOZFMxRmJrTlNOelphTWxOSWFsWm5VWE5uZEhaVlpGWjZTRFpsWVdSSE9GVnpSekF6UmpoRlUyRlhNRzFmWTNSdVR6bG1NVGRVZEdWVU9VZHBlbFo0YUROM1pubGZabkp3TVVsdExYZ3dWWE5KV0RObFIwWmpkVm96VWpWb2NGWkNOVGRyZUVwc1dFRjBjbXMzVFZNNE5ucFRXWEJHZDNsNVF6WnZOVWxaZW01eU9YcDNiVmhKY1d4VlpFOXFORUpZY0doSFdFZzVUVXhYTVVsaWRVZDJUVlJxZUVKbk4yUXhXWFpzUlhsaWFHdDNXa05EWjBkWE5ERm1lSFo2VlhkeGNuUkZYMmhtTTI0MWRVUlBMV3M0Y25oRk1HbEZNVXRCWW5jeFEzQkxURlpCVEhCMlVUa3haMVF0TjFsM1ZVUkphemxvVFdwTlUzcDZPR1V5WldOSGNVOURXVEZCUmpaR1pHWkRSVkppU0RKSk5qbDRSMW8yYVc1RWJrWjJjWGxDYlhwS1JUUlRWak55VERKaE1XWlRNVzFUUkdSTFQweGtTRFJJU1hNeVFrRlRaMWRRV0ZONVgyUkZZV2xxVTFkRFZHUkpVa0pyVjB0dFlsVlVNVlZXV2xaUE0wTXhhbnBrV21sc1UyazVWbkV0UTJSUE0wVm9WM1oxUTJwb1IzSkVVRWhGZDI1SE9XZEJhVmRxY1RsUVNsbGFXRWRRU1hkaVJsQmZSR3d5ZW01a1ZWVlNjSGRTWVROb1NsOVNlVzUwUm1saFJXOUJkRmREU21KMFlUTkphWGhKYTNSbVlqWlpOWEY1TUZSQmJsOVliMkpYVTFKdGQxSlRhRGh6WVZWdFFqWTNOMHhLTjFkcGIzRklNMDFUYUdsdVVsSlVhamR5U2tkamVUVXlZbkJpY0hJNFdXb3laMWRmUmxNNE5FeEJlRkl0VFZnek5IQndWSFZvUkVnek9HUkpNRUp3TjBSWlltWm5jM1ZxWWpoNFJXTXRVbFJTWlhGSlVWcGFaaTFYVGpJNFVtdHNTM2hUVDFsaGRWZHJTSGhPUmtkTlNYWTRhSGN4WlcwMVJHVmZjMEkxTkZSTGJWbzVRVUpRVkVGV1JHRTVkRlJuY3pGWU1VcG5aakpaUTNvNFdUaHhUM3BhUkZONmRGcFNTME42Wm1oRFowbGtPWEJrYWkxTFF6bGlOV2xKWXpReFdXNVBObFIxWHpod2FrUnJWMk5KVFRkdmFtdHBaemRuWW5sVVlUSnFaVEJRVFRaWVFYUXllbkF6WTFKbFYwODVTamh0Wm1Sc1RVNVRTRWxMT1VKMkxURTVTa3BXZUhOb1pWZHlSekZGZFhObmIxSm9aMWRSTFhWclNqZE9Za1prU0d4MFQzTXdiVkYyVjNCTlpqZHVOMTlMZFhwcmJsaGhlRkEzTFd4MldXMHpNVVJaV2kxWk9FNUpSbXc1YWpWR1lYRlBNVUpUT0RWMU1tOWZOV3BmUVZaWlZqbFNOVE5PYVd4Q2JGVnVha0ZNVG5kdGFEaFRXbnA0VGxSYU5WTkpUbWh5UkdWRmNXNXJibEJ0ZHlJc0ltaGxZV1JsY2lJNmV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSlNVMEZmUVVWVFgwdEZXVjlYVWtGUVh6STFOaUlzSW10cFpDSTZJbVpoYTJVdGNtVnNaV0Z6WlMxclpYa2lmU3dpYzJOb1pXMWhYM1psY25OcGIyNGlPaUl4TGpBaWZRIiwia2V5X29wcyI6WyJ3cmFwS2V5IiwiZGVjcnlwdCIsImVuY3J5cHQiLCJ1bndyYXBLZXkiLCJzaWduIiwidmVyaWZ5Il0sImtpZCI6Imh0dHBzOi8vbWFsZWdlZHluYXR0ZXN0aHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvaW1wb3J0cmVsZWFzZWtleTE2MjgzNzk1ODAyNjgwMDc0OS9kY2M3MTczMmJjMDk0Y2Y5OWZlNjFjYTYzMGNkYmE0NSIsImt0eSI6IlJTQSIsIm4iOiJvSkZOQUNOS3hvT3lHMHdWMWI3WWg3M0pXY0xsZXZWSzV6VG84QWNnMTNYU2RlUlZJSDQzaE03cllLVUtSbFhkY3FlcFRTY2VqdWozbFpwbW5LYm5kYjhPSTdyYTZaRzBVcDJYaFNpMHZaQlNIVExkSmxaNWE2Z3JhN19IWm95UFh1dFFVM1JfMFpreG5TbW9SQTBJOUVFdFVuXzVNUjdhY1lKWklMUjdIRWF4R3JQcEhYTVdRSDZKeF9OQTk3aGFOQVFzNVJkRHNuMUhHRUE5Tk1lME9LOWhnYjRGNU5FZXVZWFRnbFBYX3B2MVA4THhzQUxTTFMxNVA2ZWFVRXRxdEMwRWtvQk5jSEhYSjZCczg2aUpPcVZDc1ZBX2d5c3BZM0cyY0gxTnh1TnktUDVuMk43UnlRajk1RnpnTzhDR3B4U0gtblhrT3FEZ1o1cWcwZzctTlEifSwicmVsZWFzZV9wb2xpY3kiOnsiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04IiwiZGF0YSI6ImV5SmhibmxQWmlJNlczc2lZVzU1VDJZaU9sdDdJbU5zWVdsdElqb2ljMlJyTFhSbGMzUWlMQ0psY1hWaGJITWlPaUowY25WbEluMWRMQ0poZFhSb2IzSnBkSGtpT2lKb2RIUndjem92TDIxaGJHVm5aV1I1Ym1GMGRHVnpkR0YwZEdWemRHRjBhVzl1TG1GNmRYSmxkMlZpYzJsMFpYTXVibVYwTHlKOVhTd2lkbVZ5YzJsdmJpSTZJakV1TUM0d0luMCJ9fX19.HjkXp-IQ91yLsvB-vNEA8Qk7ROeUcE2uam6aXY4zM_vQrhSO2DbtBU3NGrOFoxtHHRrbgWnSgEJ8Gtn_J39_uFrfhgV-OUBSItFfngq3xiBBceOa8dovkDAPQ_eifNe56TrCkVOPL1tyYNiFJFGj6cIfwPQ2amwTYjs5z06H4GnTcGD2cbkyJQ3NW7MLNQ44faR1MDs7FDw8uU_K4mJkMqgoeiEUaoRxA3WCuaJf1Ttp_cX_yXy3jrKSSIObAu22AF6R559UoccqdJPyV8zd059D00XIfes2zd0nG0i4G38s3YyyNEeBpvvFPYLgVgdQcLu50bt1euqEKtpHacN9ZQ"}, [ 'content-type', 'application/json; charset=utf-8', 'x-content-type-options', 'nosniff', 'content-length', - '14193', + '14243', 'x-ms-request-id', - '16d724a4-ec1a-11eb-a602-000d3a7a3d40', + 'bc39abc8-f7d8-11eb-ad25-0022484e2498', 'x-ms-keyvault-region', 'eastus2', 'strict-transport-security', @@ -206,7 +206,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'x-ms-keyvault-network-info', 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;', 'x-ms-server-latency', - '726', + '968', 'cache-control', 'no-cache', 'x-frame-options', diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_update_a_keys_release_policy.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_update_a_keys_release_policy.js index f12ee0d64859..75cf283c0920 100644 --- a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_update_a_keys_release_policy.js +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_can_update_a_keys_release_policy.js @@ -1,32 +1,32 @@ let nock = require('nock'); -module.exports.hash = "a740b471769292b927261167b0cfa55b"; +module.exports.hash = "2cc7eb87b845d81723bebfeb4b4ab5f0"; -module.exports.testInfo = {"uniqueName":{"exportkey":"exportkey162801223463000476"},"newDate":{}} +module.exports.testInfo = {"uniqueName":{"exportkey":"exportkey162837958323303915"},"newDate":{}} -nock('https://skrattestation.azurewebsites.net:443', {"encodedQueryParams":true}) +nock('https://skr_attestation.azure.net:443', {"encodedQueryParams":true}) .get('//generate-test-token') - .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ5UThORGZmWVd3WThxVklaV0RwbnB4STB6WWlWVjFpNUFGZVVWMnJxYWFxcmd3RW9PbHRtMUdoV09oVWdLaGVEd2R1aUxNc1hCMTFsNUJjTHAxbnYweDVNcWJjMDhZOW5iX2UzcG5FWVY0ckFaOW9iODZFQk1aYXhVVGNHcjB3djdrUWlZSzdTV1VOUkl5SVNic19OaERPU2JzU1UwazRmS0hZTzRXT3dLWHh1UWlQS0FlY0VUYTBjTEdUVVZyZW5Mc0dwcEYwNmtZQ21yTUJBcVA0X0Jvc2NtVGtRejhmamU5c1AtVlI2clhXNTdhRXU0V1c1TXk3T1NLZGlSOFBfMjlQNVNzSHNrbWh2NFMzVkJTSmpWM05XY180S1AyUFdTMWRtbEw5X0dtTGUzNkk4NHVnN2E5ZnpVdVdZYm05bXA3Y1k3VE1pMGYxS3BUMlBHcXZ2alEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgwMTIyMzQsImV4cCI6MTk0MzU4ODIzNH0.I2CJudPyAPKHyyqpeQHO5tVhkE-ojOWusJb-D6BUO7ZMZ5giZr1srNHb_pDdKGXPZ-mDjslcluSem2Gir9uZZ8XP4O0Q2NLxGKlFhbdb9GoyozeCtZd7HZGB76WftR9vixJLOSzm84-Rd0RgjK_aXT59V8LMghmXtren8Jk_SE6lmJf5d_0jjDISJ-QpoNjvasAduRi9bHocQkF6XGmXMQz-a3my3Gf_xtWNnWPj06sRRGFmAgxN7Vgohq64aZuFVO64OGNuiJuxxgxAV4a9JNalou20WL0f5pLF0XG8s55b5vR9V7hX4bNuNSrNMQCIv_-XR9Yel85R8FegezMsJg"}, [ + .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ0SmlkMEVEUWl0dWZVbGVEQUNrWUFmbFBGdDl3T0NhRUN6ajl6bEZ3WmxyQzZlZzQzVFpxXzNkS3YtR3JLaGFJX0hXaTZXWTkwNVlrNFVXQTJsMHh0MFdYTThoRFVNR21BLU9jNDZGcWFGejJyczAwcE9lQl8zWWlacXBRV0g5QURTLXhUb3RVVkxrRVFISVE0QXFGdVk5ZGZ2amZtckxXSGRrT0dmckU0eU5sQWJyY3dSYXhvYnlLeGc4VW95Vjg0a3dNN3FxQzU3VDAxVklfajlrWVpxenpjVnZEXzNURXlzNEYzZENwS2xPWGRYUmRsa3EtNEdWb1dZTGtwdXE3LTlCSkkzb1NZb0V2MmoyVGhNMG11dUpIWGRqM194VUhsZlRlVmRIZE9OWlUwZkNBVmFibVlKcjZqUlEtd3F6bW1WeWlLdmxJMllJWmNDRWpRQUhHY1EifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1ODIsImV4cCI6MTYyODk4NDM4Mn0.v1T-jAoBLolVw__Gvr-m0FLTFvFIoC2jb1FblCcaKr1eg3Tg6S6PkTkEjSGvRQ1mmwq_YlFymgLEqtu5ywtjOU5ECH2a8MrSOKkLLWaLx-lrJeX8kRc8WMqO9rLtipzLvPYOhAoaC8eRVmwz_4JT-665N0rM-02WthlmOchV8BClFQmwT6PT90QL2IwJlzRGO4oS11raVSrwORLRiLHrTWvno1CfM6x4xxCNdKTSBh3ObfBYpsOyxWNTAfgi-4Tk90y7B8HpA28QTU5p7mFD8V3f1glgnpXaaHKYVRiLPnAJRYFgWUaGCtXgaMGQbZUD2guwY8pXdGJxNiN0-N6z8w","attestationToken":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ0SmlkMEVEUWl0dWZVbGVEQUNrWUFmbFBGdDl3T0NhRUN6ajl6bEZ3WmxyQzZlZzQzVFpxXzNkS3YtR3JLaGFJX0hXaTZXWTkwNVlrNFVXQTJsMHh0MFdYTThoRFVNR21BLU9jNDZGcWFGejJyczAwcE9lQl8zWWlacXBRV0g5QURTLXhUb3RVVkxrRVFISVE0QXFGdVk5ZGZ2amZtckxXSGRrT0dmckU0eU5sQWJyY3dSYXhvYnlLeGc4VW95Vjg0a3dNN3FxQzU3VDAxVklfajlrWVpxenpjVnZEXzNURXlzNEYzZENwS2xPWGRYUmRsa3EtNEdWb1dZTGtwdXE3LTlCSkkzb1NZb0V2MmoyVGhNMG11dUpIWGRqM194VUhsZlRlVmRIZE9OWlUwZkNBVmFibVlKcjZqUlEtd3F6bW1WeWlLdmxJMllJWmNDRWpRQUhHY1EifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1ODIsImV4cCI6MTYyODk4NDM4Mn0.v1T-jAoBLolVw__Gvr-m0FLTFvFIoC2jb1FblCcaKr1eg3Tg6S6PkTkEjSGvRQ1mmwq_YlFymgLEqtu5ywtjOU5ECH2a8MrSOKkLLWaLx-lrJeX8kRc8WMqO9rLtipzLvPYOhAoaC8eRVmwz_4JT-665N0rM-02WthlmOchV8BClFQmwT6PT90QL2IwJlzRGO4oS11raVSrwORLRiLHrTWvno1CfM6x4xxCNdKTSBh3ObfBYpsOyxWNTAfgi-4Tk90y7B8HpA28QTU5p7mFD8V3f1glgnpXaaHKYVRiLPnAJRYFgWUaGCtXgaMGQbZUD2guwY8pXdGJxNiN0-N6z8w"}, [ 'Content-Length', - '1305', + '2684', 'Content-Type', 'application/json; charset=utf-8', 'ETag', - 'W/"519-UvcqlPj41sSpM2QaaWl/nftjjMo"', + 'W/"a7c-D0PaF/YQG7iDV9RifW+Hgfv0TtE"', 'X-Powered-By', 'Express', 'Set-Cookie', - 'ARRAffinity=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinity=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;Secure;Domain=skr_attestation.azure.net', 'Set-Cookie', - 'ARRAffinitySameSite=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;SameSite=None;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinitySameSite=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;SameSite=None;Secure;Domain=skr_attestation.azure.net', 'Date', - 'Tue, 03 Aug 2021 17:37:14 GMT', + 'Sat, 07 Aug 2021 23:39:42 GMT', 'Connection', 'close' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/exportkey162801223463000476/create') + .post('/keys/exportkey162837958323303915/create') .query(true) .reply(401, "", [ 'content-type', @@ -42,7 +42,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'content-length', '0', 'x-ms-request-id', - '71098696-f481-11eb-8e15-000d3a7da679', + 'bd0e2bbe-f7d8-11eb-ad25-0022484e2498', 'strict-transport-security', 'max-age=31536000; includeSubDomains', 'content-security-policy', @@ -70,19 +70,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '8c84153c-865e-4bc8-8a29-8456f366c700', + '50f8fdef-02af-4bba-8c31-c945787f1002', 'x-ms-ests-server', '2.1.11898.12 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=AkvCKwkzsSVDvWRa-zNW5dY; expires=Thu, 02-Sep-2021 17:37:15 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAgAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:42 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrBFRarW8zau4QxcVKPpYr5bPTYUTNFvx4jR_otSgHId9ZRC2mHJm5FGA9LafnZktpzFCfD32H8zqSAUBzs-kNumOEoYcct3w0hi3X4euyYDUH-s0snqwxlhoF0ceLIbZl9vjxHRG_e9VfGLXUN7d7D0xM_AKuQUXP1FpTeb0yzIAgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr3BXdQL4SPJmmGBWhKTH-QNxVtinoxxzPhOdGAtBb1nf4JbLzUhv3wRRnxb2RCXmbrBeEhT1uTXZ2kU1TMrnd3iL8fGR7c9Obu2A1c48MaW66tLZRvgpHkaswDeJRTH8w4hef4lF4y3dBpxea7isvvv2WgHWE15D5yp-sUzSyQk0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Tue, 03 Aug 2021 17:37:14 GMT', + 'Sat, 07 Aug 2021 23:39:41 GMT', 'Content-Length', '980' ]); @@ -105,25 +105,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'f5b4ff13-c47a-4925-93a8-4bc5de37f800', + '31a28bd2-73dc-4d16-a18c-1a2c27293400', 'x-ms-ests-server', - '2.1.11898.12 - WUS2 ProdSlices', + '2.1.11935.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=AkvCKwkzsSVDvWRa-zNW5dY; expires=Thu, 02-Sep-2021 17:37:15 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAgAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:42 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr-m97QBI9aCEcCPNe7u-VbvD31AkGIijVLeunmb8fU7y3UMbEl5rypZikCMBpTe0ZdNRrCuyqJZsiziew9Iaw-hts7gsPdxNTc0Ehiimm4JrNv-TYR4hvbzok1BZn2f-sti-H3qWm-R1VOrmRjmYOkj0U1dU2f0ddHZO4-9h2oy0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrh7Vyu0u86uds9vDzkH_o3JsjT7vawQ1XqRk6QYM-qzkLvXYoAuELJ3bnEgg3RfgZLPd1dM3VTqe9cUby3RW5vTCCIMyzQ8rrrc6pC7hcHj4VU-95p888NJRTzuim90FX_vFgWcPN-Dpgo7-BFLDUG-1oFMHze5Jl-9mjGogwZBggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Tue, 03 Aug 2021 17:37:14 GMT', + 'Sat, 07 Aug 2021 23:39:42 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=dcff843c-3eaf-46b5-9eb3-b46db6e717fb&client_secret=azure_client_secret") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=269602fc-d3f4-40f4-91e5-c5fb2b8ffa97&client_secret=azure_client_secret") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -140,35 +140,35 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '0ea71f5f-a92c-4ef8-a172-b23bfaa93801', + '31a28bd2-73dc-4d16-a18c-1a2c2c293400', 'x-ms-ests-server', - '2.1.11898.12 - SCUS ProdSlices', + '2.1.11935.12 - EUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=AkvCKwkzsSVDvWRa-zNW5da3GWzCAQAAAMp1m9gOAAAA; expires=Thu, 02-Sep-2021 17:37:15 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAwAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:42 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Tue, 03 Aug 2021 17:37:15 GMT', + 'Sat, 07 Aug 2021 23:39:42 GMT', 'Content-Length', '1322' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/exportkey162801223463000476/create', {"kty":"RSA","key_ops":["encrypt","decrypt"],"attributes":{"exportable":true},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyYXR0ZXN0YXRpb24uYXp1cmV3ZWJzaXRlcy5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0"}}) + .post('/keys/exportkey162837958323303915/create', {"kty":"RSA","key_ops":["encrypt","decrypt"],"attributes":{"exportable":true},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyX2F0dGVzdGF0aW9uLmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ"}}) .query(true) - .reply(200, {"attributes":{"created":1628012235,"enabled":true,"exportable":true,"recoverableDays":7,"recoveryLevel":"CustomizedRecoverable+Purgeable","updated":1628012235},"key":{"e":"AQAB","key_ops":["decrypt","encrypt"],"kid":"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162801223463000476/d690eb1db68e0ca59fbca27d35a74329","kty":"RSA-HSM","n":"zcVNNepiwlnxY17nSfM80FlpN9IOWe5DVJ_gOwp530Vl2au8gsEEzycZu5mu-XwRAT8hHW0AnRzFkCCR0OoSEBJnvrNqvFWCS1dS-zJe0F2HR5Sf4QjwwqRd43y_sYgUwmWvYOk-hbN3AFo5jpcMrV66jS5h0fO0Ab_izQggwDjgqdx8fQV9BEJ12xMGXvRnrDJnl7SQOuDdVaB83WVCqG6nyGMa_f-c1JIpDGy6IEhzhBcREab2snn-4Ha_IyE7NUgynKBBOau1Ui6oyiwBXlXETWOeisV_aR94y-jLRQKtCJwNJvyygDCLH1_rbtHwjKW1-Q0o4FhY3QbwiZ6U3w"},"release_policy":{"contentType":"application/json; charset=utf-8","data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0"}}, [ + .reply(200, {"attributes":{"created":1628379582,"enabled":true,"exportable":true,"recoverableDays":7,"recoveryLevel":"CustomizedRecoverable+Purgeable","updated":1628379582},"key":{"e":"AQAB","key_ops":["decrypt","encrypt"],"kid":"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837958323303915/8c7288d895ed0db725f14e873a9e8b46","kty":"RSA-HSM","n":"pBCvwouEuwM3rNtxpfFeFykqN_LvY6TRmhwQFcHMi7U174lVS7uATlKspYaK2I7WnwXTcXaK9lanDzpEnxkoi00ZIvCOtzxRmydPtuwkG0P0lFchH2k6RlwLZzdNbPFrE_NfK8UoDw11k7cgbEWhC6Cv3ZV-xagap8vvc1HGqP7Osv0T3k08ESkqLkS3MeGu5wEv1h_0szq2_PDVqxb2u24MnBuGLLBSTvyUTYcsWA6QxMz8bZ1CgArPvH1pSUtJLIO0topciN24P1pHzosM_IxPV8gAlcpU7_TwY5tA38Eayf-xUOgv5VmVuVFVsOLMnwom4fpoARUDGtwh-aRgAw"},"release_policy":{"contentType":"application/json; charset=utf-8","data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3Nrcl9hdHRlc3RhdGlvbi5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wLjAifQ"}}, [ 'content-type', 'application/json; charset=utf-8', 'x-content-type-options', 'nosniff', 'content-length', - '951', + '971', 'x-ms-request-id', - '715ed902-f481-11eb-8e15-000d3a7da679', + 'bd4afbd4-f7d8-11eb-ad25-0022484e2498', 'x-ms-keyvault-region', 'eastus2', 'strict-transport-security', @@ -178,7 +178,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'x-ms-keyvault-network-info', 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;', 'x-ms-server-latency', - '757', + '1057', 'cache-control', 'no-cache', 'x-frame-options', @@ -186,17 +186,17 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .patch('/keys/exportkey162801223463000476/', {"attributes":{},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6ImZhbHNlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NoYXJlZGV1cy5ldXMuYXR0ZXN0LmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ"}}) + .patch('/keys/exportkey162837958323303915/', {"attributes":{},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6ImZhbHNlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3Nrcl9hdHRlc3RhdGlvbi5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0"}}) .query(true) - .reply(200, {"attributes":{"created":1628012235,"enabled":true,"exportable":true,"recoverableDays":7,"recoveryLevel":"CustomizedRecoverable+Purgeable","updated":1628012236},"key":{"e":"AQAB","key_ops":["encrypt","decrypt"],"kid":"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162801223463000476/d690eb1db68e0ca59fbca27d35a74329","kty":"RSA-HSM","n":"zcVNNepiwlnxY17nSfM80FlpN9IOWe5DVJ_gOwp530Vl2au8gsEEzycZu5mu-XwRAT8hHW0AnRzFkCCR0OoSEBJnvrNqvFWCS1dS-zJe0F2HR5Sf4QjwwqRd43y_sYgUwmWvYOk-hbN3AFo5jpcMrV66jS5h0fO0Ab_izQggwDjgqdx8fQV9BEJ12xMGXvRnrDJnl7SQOuDdVaB83WVCqG6nyGMa_f-c1JIpDGy6IEhzhBcREab2snn-4Ha_IyE7NUgynKBBOau1Ui6oyiwBXlXETWOeisV_aR94y-jLRQKtCJwNJvyygDCLH1_rbtHwjKW1-Q0o4FhY3QbwiZ6U3w"},"release_policy":{"contentType":"application/json; charset=utf-8","data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJmYWxzZSJ9XSwiYXV0aG9yaXR5IjoiaHR0cHM6Ly9zaGFyZWRldXMuZXVzLmF0dGVzdC5henVyZS5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wLjAifQ"}}, [ + .reply(200, {"attributes":{"created":1628379582,"enabled":true,"exportable":true,"recoverableDays":7,"recoveryLevel":"CustomizedRecoverable+Purgeable","updated":1628379583},"key":{"e":"AQAB","key_ops":["encrypt","decrypt"],"kid":"https://azure_managedhsm.managedhsm.azure.net/keys/exportkey162837958323303915/8c7288d895ed0db725f14e873a9e8b46","kty":"RSA-HSM","n":"pBCvwouEuwM3rNtxpfFeFykqN_LvY6TRmhwQFcHMi7U174lVS7uATlKspYaK2I7WnwXTcXaK9lanDzpEnxkoi00ZIvCOtzxRmydPtuwkG0P0lFchH2k6RlwLZzdNbPFrE_NfK8UoDw11k7cgbEWhC6Cv3ZV-xagap8vvc1HGqP7Osv0T3k08ESkqLkS3MeGu5wEv1h_0szq2_PDVqxb2u24MnBuGLLBSTvyUTYcsWA6QxMz8bZ1CgArPvH1pSUtJLIO0topciN24P1pHzosM_IxPV8gAlcpU7_TwY5tA38Eayf-xUOgv5VmVuVFVsOLMnwom4fpoARUDGtwh-aRgAw"},"release_policy":{"contentType":"application/json; charset=utf-8","data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJmYWxzZSJ9XSwiYXV0aG9yaXR5IjoiaHR0cHM6Ly9za3JfYXR0ZXN0YXRpb24uYXp1cmUubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0"}}, [ 'content-type', 'application/json; charset=utf-8', 'x-content-type-options', 'nosniff', 'content-length', - '950', + '972', 'x-ms-request-id', - '71df9aa6-f481-11eb-8e15-000d3a7da679', + 'bdf86fbc-f7d8-11eb-ad25-0022484e2498', 'x-ms-keyvault-region', 'eastus2', 'strict-transport-security', @@ -206,7 +206,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'x-ms-keyvault-network-info', 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=Ipv4;', 'x-ms-server-latency', - '423', + '984', 'cache-control', 'no-cache', 'x-frame-options', diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_a_key_has_a_release_policy_but_is_not_exportable.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_a_key_has_a_release_policy_but_is_not_exportable.js index ac1009cfc529..c85cf32188c5 100644 --- a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_a_key_has_a_release_policy_but_is_not_exportable.js +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_a_key_has_a_release_policy_but_is_not_exportable.js @@ -2,31 +2,31 @@ let nock = require('nock'); module.exports.hash = "d73e305d84d2f50c6a0d4d43e039ab0b"; -module.exports.testInfo = {"uniqueName":{"policynonexportable":"policynonexportable162708823885709938"},"newDate":{}} +module.exports.testInfo = {"uniqueName":{"policynonexportable":"policynonexportable162837958695001139"},"newDate":{}} -nock('https://skrattestation.azurewebsites.net:443', {"encodedQueryParams":true}) +nock('https://skr_attestation.azure.net:443', {"encodedQueryParams":true}) .get('//generate-test-token') - .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiI0b0I0ZEQyTE5LZFdEYm5FQkUxbGZGUDEyanJnVnQzcXZWUGVsdVV6Y0g4bkdsVW9jTkVzTGlZaGlQSHVINU45SmhfM2pQWEFGSndQMVhlZlFMdm0yUk10Y3FpNEpsTUJCUllJci0yZ1pVeDhTcHNMcTdySGU3UGpoSnhmOEFVTE1INW9TYTdIR3JRQ19LX3Z6TW9TTHVqaFZ3akNVVnp3c2sxRmlrY1F4WHRsaGhsQlN1Y0JlZ182eW82bGdnUWozQmFzQ2hOVXFWbXJBOHNVWnpxUk9tcmo1S1VTbUpxaHpYazJ2YmRZZkd0eGRPRGdQNVdJVUd6U2lUdnBRZ2d5eVNDY2U0cjZRU3dZanBhWHVzR1I0S2R1ZzFTYlpXS3JjZThFaUp6MUFZcXBicUY4R3JteXNEajlQak41c2hfRWswQnBfdjlCX081M1U5VW5peGo2QlEifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyMzgsImV4cCI6MTk0MjY2NDIzOH0.YMujHYZPoKJf_877PWVkT-A0-FwpNOBUHKeknX8Y3jNNz6HgXMxpFTJenzosqB5qOroyUodUYeK1J-52x5CEVvaFARSr15bvmsRzk2npy3Qra87-A23MaxPk5nQ5vCwW4eWV4YHxAOHhqta1uNYDprN6bOXcLddjPHI_0hpUF7CUjQ4Y6oNC8owMUekvcS9WOwwPBcJuqKe5vmnpiS9madprtd3aFZGpLVCm7QrHCbHDVENQwFbiAo2UvfqD1cuySruqUuicFfk9NZDWxSnlIkXGWDPUGC2Y6XHLcs3HRayNsF49uzYer0XP2Lzyi1QMBsDd55RjrWBabFgWt34IXA"}, [ + .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ6RmFXR0JyWkxUcVJNdkJ5WThWQ3Vyenc1RGpTRmpaWEo0Y2RVUjhCb1BxbDYxVXhlRlRhYi1Ucm13ZGlKTnpaaUFSZlVMUFViTWY2Q293T19Yb1VJZ05PWlVkUkw4X2h2a0I0VFdaZi1uSzIzTGtXT0tGTXM1dzBGUm5VTjFCNzF5OV9jeEt4WFh6aE9lY29FUjcweXo5dDA2aXFoV01aVEQ5SmNHQ0hWV1RMd25DU2ZWbDNXd1BBV3M5NEV6NzdvRC1abEdWZllCQ25KSUl2aGV6Q01tZ2xqUTBnaHBDWG1Celg5NlNiZXR4UGlVMWxIekc3Qk0zOEpqWUNWZzhkYm5sT0JoSE92NWM1clF6SHlTUkhwVUN3Snk2V1ZUeFg3NFZqWUJyOFk2OTZ3MkVwbmRVRzJiaGFwdjllWGx6Z2NyelFDY2JIOWF1a2RLcDB4VmhmR1EifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1ODUsImV4cCI6MTYyODk4NDM4NX0.m5E41VIOQw40_eaau9sjwBk_EkdBiT2xSdTVMkbaVmQ5q8C5aOdocJLLDhpab_b_UuZQKVspqjTXXR9XfRbl18sSM5q07QFVzoj5Yx6qNKIedmg1U2cw7fO8oxNUpWmcjrLYnXxgwMKzBl08Uf65KFcCSYgxesUjog-SRw8148fmWYKj8z91JW7AHjj4gaUoPaYzmtHmRU8ygICPATUlFj2rta1fpomay1DOSJH-_NBLZ1JFIIx1kIeBTaNajMFFpdPqN3Vco187yjJizwsfWzmStgnO5hkgAPpUVEgLGuyQ0ZzjIbSBApDaEJzVZDGLDKX_zSQaGShTPwYlOPQx5w","attestationToken":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ6RmFXR0JyWkxUcVJNdkJ5WThWQ3Vyenc1RGpTRmpaWEo0Y2RVUjhCb1BxbDYxVXhlRlRhYi1Ucm13ZGlKTnpaaUFSZlVMUFViTWY2Q293T19Yb1VJZ05PWlVkUkw4X2h2a0I0VFdaZi1uSzIzTGtXT0tGTXM1dzBGUm5VTjFCNzF5OV9jeEt4WFh6aE9lY29FUjcweXo5dDA2aXFoV01aVEQ5SmNHQ0hWV1RMd25DU2ZWbDNXd1BBV3M5NEV6NzdvRC1abEdWZllCQ25KSUl2aGV6Q01tZ2xqUTBnaHBDWG1Celg5NlNiZXR4UGlVMWxIekc3Qk0zOEpqWUNWZzhkYm5sT0JoSE92NWM1clF6SHlTUkhwVUN3Snk2V1ZUeFg3NFZqWUJyOFk2OTZ3MkVwbmRVRzJiaGFwdjllWGx6Z2NyelFDY2JIOWF1a2RLcDB4VmhmR1EifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1ODUsImV4cCI6MTYyODk4NDM4NX0.m5E41VIOQw40_eaau9sjwBk_EkdBiT2xSdTVMkbaVmQ5q8C5aOdocJLLDhpab_b_UuZQKVspqjTXXR9XfRbl18sSM5q07QFVzoj5Yx6qNKIedmg1U2cw7fO8oxNUpWmcjrLYnXxgwMKzBl08Uf65KFcCSYgxesUjog-SRw8148fmWYKj8z91JW7AHjj4gaUoPaYzmtHmRU8ygICPATUlFj2rta1fpomay1DOSJH-_NBLZ1JFIIx1kIeBTaNajMFFpdPqN3Vco187yjJizwsfWzmStgnO5hkgAPpUVEgLGuyQ0ZzjIbSBApDaEJzVZDGLDKX_zSQaGShTPwYlOPQx5w"}, [ 'Content-Length', - '1305', + '2684', 'Content-Type', 'application/json; charset=utf-8', 'ETag', - 'W/"519-JSzO0F4DEg5wk9/tzVRWHJyhpLA"', + 'W/"a7c-/zzspppMOUWHqXel3wwbK0WTr4M"', 'X-Powered-By', 'Express', 'Set-Cookie', - 'ARRAffinity=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinity=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;Secure;Domain=skr_attestation.azure.net', 'Set-Cookie', - 'ARRAffinitySameSite=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;SameSite=None;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinitySameSite=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;SameSite=None;Secure;Domain=skr_attestation.azure.net', 'Date', - 'Sat, 24 Jul 2021 00:57:18 GMT', + 'Sat, 07 Aug 2021 23:39:45 GMT', 'Connection', 'close' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/policynonexportable162708823885709938/create') + .post('/keys/policynonexportable162837958695001139/create') .query(true) .reply(401, "", [ 'content-type', @@ -42,7 +42,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'content-length', '0', 'x-ms-request-id', - '183e0060-ec1a-11eb-a602-000d3a7a3d40', + 'bf452ae0-f7d8-11eb-ad25-0022484e2498', 'strict-transport-security', 'max-age=31536000; includeSubDomains', 'content-security-policy', @@ -57,6 +57,8 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ 'Cache-Control', 'max-age=86400, private', + 'Content-Length', + '980', 'Content-Type', 'application/json; charset=utf-8', 'Strict-Transport-Security', @@ -70,21 +72,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'ae0f224b-b115-4018-af2d-39da31b5e100', + '74061dcf-109c-462f-afcf-8f36d39a3c00', 'x-ms-ests-server', - '2.1.11898.8 - EUS ProdSlices', + '2.1.11935.12 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8e087aAgAAAGpcjdgOAAAA; expires=Mon, 23-Aug-2021 00:57:18 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKBAAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:45 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrSOT0qoG3RTqUjTS7A_j-95O9sZ3L7TMZSzdl0ei6ad4YzwXkW2cNyng0nRtxK8uXOv4lH3tgtqzGO64OkAdnkK2slABaO33rJ3OiuUP-GSEHYhMNW-EXmHb53zVYothkXVJzy6HhCdIOY1pfwkbSL0a58axBosBkPRmDq3kU3dQgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr4TvqgTYHwNh9ajsdq8C5-tDkPxo5YnZos0KIGUAu8Qipc4v19CtuPd093q1yakJ5VxbK2rwaGARnmVwxNvBpsgoOE78vAF60Tb0RCmLTZn-u7EsIkkOVY5n5VRS7mT_NENKDIjebw-tzKsbiJeJgcw9azfZFyLbuIAxrRCNlrKogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:18 GMT', - 'Content-Length', - '980' + 'Sat, 07 Aug 2021 23:39:45 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) @@ -105,25 +105,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'efa22bde-62ef-4529-a05a-8e0a69c16100', + '31a28bd2-73dc-4d16-a18c-1a2cc4293400', 'x-ms-ests-server', - '2.1.11898.8 - WUS2 ProdSlices', + '2.1.11935.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8e087aAgAAAGpcjdgOAAAA; expires=Mon, 23-Aug-2021 00:57:18 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKBAAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:46 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrXgRLS9_1B9Y4ulsJOiuKhpSDHL_yRiTvfbFRzOrDA3AEJFqRjSnjaHoz0-iEWtnNW9WzmqpZMSh4XkgE6SQxhbLqO2XqExjxOIk9vREje69JihR8MMGefEJAuLLJKMJUKE_8fZF4BNoWZYXptOWF7EEqdYTaTQ-1oghudjCjwJQgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrih0T1Ty37MlQzEgyAU21WMVCHK0AyP8MgnF6Xz5--3wrtOh92BQTTK6xcv3nVZZifRyo-aSS0cq_pcX7Pyj5YH2tbesTKcP44QyRffNdQ8I9dpwhiht0NLYcEGHatcRkdYog2XjdfBSFJ19gHM_yzcpfcF6f081B63OGPjHTQhcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:18 GMT', + 'Sat, 07 Aug 2021 23:39:45 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=87f52576-b9a1-42d5-a3b8-404b5a7d1c06&client_secret=azure_client_secret") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=318a387c-4100-4f0d-950c-e7048962fc37&client_secret=azure_client_secret") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -140,31 +140,31 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '10241810-b089-41a3-acab-e474e9c64900', + '372fd3a7-f680-4de0-9254-d265e25b3600', 'x-ms-ests-server', - '2.1.11898.8 - WUS2 ProdSlices', + '2.1.11935.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8e087aAwAAAGpcjdgOAAAA; expires=Mon, 23-Aug-2021 00:57:18 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKBAAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:46 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:18 GMT', + 'Sat, 07 Aug 2021 23:39:45 GMT', 'Content-Length', '1322' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/policynonexportable162708823885709938/create', {"kty":"RSA","attributes":{},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyYXR0ZXN0YXRpb24uYXp1cmV3ZWJzaXRlcy5uZXQvIn1dLCJ2ZXJzaW9uIjoiMS4wIn0"}}) + .post('/keys/policynonexportable162837958695001139/create', {"kty":"RSA","attributes":{},"release_policy":{"data":"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6InRydWUifV0sImF1dGhvcml0eSI6Imh0dHBzOi8vc2tyX2F0dGVzdGF0aW9uLmF6dXJlLm5ldC8ifV0sInZlcnNpb24iOiIxLjAifQ"}}) .query(true) - .reply(400, {"error":{"code":"BadParameter","message":"Non-exportable keys must not have release policy (Activity ID: 1884a3c6-ec1a-11eb-a602-000d3a7a3d40)"}}, [ + .reply(400, {"error":{"code":"BadParameter","message":"Non-exportable keys must not have release policy (Activity ID: bf7fb26e-f7d8-11eb-ad25-0022484e2498)"}}, [ 'content-type', 'application/json; charset=utf-8', 'x-ms-server-latency', - '16', + '60', 'cache-control', 'no-cache', 'x-content-type-options', @@ -172,7 +172,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'content-length', '146', 'x-ms-request-id', - '1884a3c6-ec1a-11eb-a602-000d3a7a3d40', + 'bf7fb26e-f7d8-11eb-ad25-0022484e2498', 'strict-transport-security', 'max-age=31536000; includeSubDomains', 'content-security-policy', diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_key_is_exportable_without_a_release_policy.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_key_is_exportable_without_a_release_policy.js index 9cc568ba8783..49f15562f1b0 100644 --- a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_key_is_exportable_without_a_release_policy.js +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_for_managed_hsm_releasekey/recording_errors_when_key_is_exportable_without_a_release_policy.js @@ -2,37 +2,37 @@ let nock = require('nock'); module.exports.hash = "ed0144555258e44db57c40caad94ff21"; -module.exports.testInfo = {"uniqueName":{"exportablenopolicy":"exportablenopolicy162708823795401483"},"newDate":{}} +module.exports.testInfo = {"uniqueName":{"exportablenopolicy":"exportablenopolicy162837958616401382"},"newDate":{}} -nock('https://skrattestation.azurewebsites.net:443', {"encodedQueryParams":true}) +nock('https://skr_attestation.azure.net:443', {"encodedQueryParams":true}) .get('//generate-test-token') - .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImpfRUZtUTVVQm9lNHJMNUltNmw1cU1rQXN0QXluaE5JQUJ6dFZLQ0RMV1UiLCJqa3UiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiIybk1uWEZDZk1OeTMtdTA5ZWlHWndNT1FPUWxoamVIby00LWxKV1p1elB4Mm5xQ2ZGbkI3S0VJQ3Z4MDRfTlI3NzRkTzAtSWUwU2ktNzNUUVhBQlJHa0U4NlpuUEVXMHhaVDBHQmNVREhjbmxtWi1HSzhobVNnMkh4dHM5YkJfelNCSUFSdUQ1Sm9Lb0N6RHliWUpucy1DMG5KQnJDNFdQN0lJd0Fhby1KSVVpWTZpcXZyMnpqT01HbmtHcFA2Z0VsbDFqRlBZSTAyZXF6eERfeVlGYld2bzRfbW5uMUs1YzYyWkNjRDRRa051ZFlfNVJhUDVnd3IzZHM2bUxYRlQyRWVKeUZCdnM3M05paTliOWZnNEI3Ym5MZ3V1QWZpdEtlQTdSZUFXNVFaT1VlM2wzUHZNVU96V3g4a3JEYS1MbGlzTE9ncEtja2JsM2lHMnhLcXJIVHcifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjcwODgyMzcsImV4cCI6MTk0MjY2NDIzN30.qfZg0c9Ooo92FnKW9QPW3OCbP5JmjodCAZbXhiEU_AsM3lpjEnSIsiiejjxk8gQ-fEicg9MurpCcI1pQaQIjz3WRFVKmnnNDqlWZ-qAgp7LqhaD9ulNgjOS8qAXEFcdYoYl_KQbetqhV0tQ5_udtqJ7YK-UmFS0hMYoxAkZUWvFOnn4gDO8bmZvcmTq2Vopsl91DwvKibDvEuDHzbg_J31a0QDEexpsMWkBK-Yai3YZcJQCRhf3XHK5crsq3sqiwih8mGTnp--3kYuwzlC-9IMsgzxebmlmZR2A4FzMrLT9G43FbfDcutXBXWTDjZkUSw7euhrwYQMBsoX2is3oSuQ"}, [ + .reply(200, {"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ4UGVybEZRYXlYSDVGcm05Xzk5aFFHYUw3LWg2UzVnSUVsYVM0WGFfTnFHTUpGbG9YXzFPbUJtYjh3Z3VOWWJhRmNnZGV2eEVBVTAtd2Q2YzhqcjZWY2Q4emVYTnNFa2JpQUtNMUtDR0pXbEgyRXhxeHBzWFR3XzRjTFUtWGFCeEFvSFJOdndrb1pMZlI2S2NPS2NaWlBqdC1vWWJ0ZEp4c3Z2YVpGRVExNXVKcERtU0MzSi15Y0NaQlkwaG9jMDVjMVBtRkpmVVRzM3d6elZfZWtRZWJYQTlOWVpEYmR0RmJsSFE2ZDljSnJHX2VlcVNZd1NBdWlSWVJpcXNya09mb3UzWk9tQmcwdHlzM3FVT2d0eGJxdV91NzBBTGlSb3JUMlJkUExxQUxpNzlMYjN4OWNCQW9IUTR4YWRvMFZ2YlJqaEhEdWQ3RmYwSGk0bzZvLWZnYncifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1ODUsImV4cCI6MTYyODk4NDM4NX0.ahvsgfScusfGc0R2P-mVEwP_64HIdGAzAmptRYNmz2G5yfIVZIsScab-dq7c6d4ucpsedzpGe7rx0pkYZihlpnsgYLL2x0aId0115GmJJtewQCkNKd0WvR6pTh5mdXRWCwfaNNF3FYiTf-iayQ798TBrYGNSk3HXYkx6ZvtGstWs0plqpy43ob6Q7jklQnUvk8WQVDt6cwGgv1zW1QlMWS5sVMcIzdE6K_bf_NdJHP90oojQB8ETdZ6Dvpw5RhlnRuNHA-hQYyT_VXiBJGPo7tc0oHnD99cZrIJ2-qkol9EPLcj1yV-qy-7YwxlyDekcz6JWpxjLD7h2ThxusngZzw","attestationToken":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA3djBzZFJmcFo0emVPQllXYkU2N21BcXhBR3RfWGRTY0V4TndscmZhc3MiLCJqa3UiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0L2tleXMifQ.eyJpc3MiOiJodHRwczovL21hbGVnZWR5bmF0dGVzdGF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyIsInNkay10ZXN0Ijp0cnVlLCJ4LW1zLWluaXR0aW1lIjp7fSwieC1tcy1ydW50aW1lIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImtpZCI6ImZha2UtcmVsZWFzZS1rZXkiLCJ1c2UiOiJlbmMiLCJlIjoiQVFBQiIsIm4iOiJ4UGVybEZRYXlYSDVGcm05Xzk5aFFHYUw3LWg2UzVnSUVsYVM0WGFfTnFHTUpGbG9YXzFPbUJtYjh3Z3VOWWJhRmNnZGV2eEVBVTAtd2Q2YzhqcjZWY2Q4emVYTnNFa2JpQUtNMUtDR0pXbEgyRXhxeHBzWFR3XzRjTFUtWGFCeEFvSFJOdndrb1pMZlI2S2NPS2NaWlBqdC1vWWJ0ZEp4c3Z2YVpGRVExNXVKcERtU0MzSi15Y0NaQlkwaG9jMDVjMVBtRkpmVVRzM3d6elZfZWtRZWJYQTlOWVpEYmR0RmJsSFE2ZDljSnJHX2VlcVNZd1NBdWlSWVJpcXNya09mb3UzWk9tQmcwdHlzM3FVT2d0eGJxdV91NzBBTGlSb3JUMlJkUExxQUxpNzlMYjN4OWNCQW9IUTR4YWRvMFZ2YlJqaEhEdWQ3RmYwSGk0bzZvLWZnYncifV19LCJtYWEtZWhkIjoic2RrLXRlc3QiLCJpYXQiOjE2MjgzNzk1ODUsImV4cCI6MTYyODk4NDM4NX0.ahvsgfScusfGc0R2P-mVEwP_64HIdGAzAmptRYNmz2G5yfIVZIsScab-dq7c6d4ucpsedzpGe7rx0pkYZihlpnsgYLL2x0aId0115GmJJtewQCkNKd0WvR6pTh5mdXRWCwfaNNF3FYiTf-iayQ798TBrYGNSk3HXYkx6ZvtGstWs0plqpy43ob6Q7jklQnUvk8WQVDt6cwGgv1zW1QlMWS5sVMcIzdE6K_bf_NdJHP90oojQB8ETdZ6Dvpw5RhlnRuNHA-hQYyT_VXiBJGPo7tc0oHnD99cZrIJ2-qkol9EPLcj1yV-qy-7YwxlyDekcz6JWpxjLD7h2ThxusngZzw"}, [ 'Content-Length', - '1305', + '2684', 'Content-Type', 'application/json; charset=utf-8', 'ETag', - 'W/"519-E9X4sMvSJPFxew6BJcIh+Akxv18"', + 'W/"a7c-x+w3pOqghtfgV61uQkQzO9sKWZE"', 'X-Powered-By', 'Express', 'Set-Cookie', - 'ARRAffinity=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinity=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;Secure;Domain=skr_attestation.azure.net', 'Set-Cookie', - 'ARRAffinitySameSite=31a267ed7b71ec86982412cc9dc4ad2f31ca2b8f51b692363aa765c405b03b84;Path=/;HttpOnly;SameSite=None;Secure;Domain=skrattestation.azurewebsites.net', + 'ARRAffinitySameSite=c567d9786f88fdaad2eff2dd60609acf1be768e501ba055d0cabd03a841da6a2;Path=/;HttpOnly;SameSite=None;Secure;Domain=skr_attestation.azure.net', 'Date', - 'Sat, 24 Jul 2021 00:57:17 GMT', + 'Sat, 07 Aug 2021 23:39:44 GMT', 'Connection', 'close' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/exportablenopolicy162708823795401483/create') + .post('/keys/exportablenopolicy162837958616401382/create') .query(true) .reply(401, "", [ 'content-type', 'application/json; charset=utf-8', 'x-ms-server-latency', - '1', + '0', 'x-content-type-options', 'nosniff', 'www-authenticate', @@ -42,7 +42,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'content-length', '0', 'x-ms-request-id', - '17b3b324-ec1a-11eb-a602-000d3a7a3d40', + 'becd6906-f7d8-11eb-ad25-0022484e2498', 'strict-transport-security', 'max-age=31536000; includeSubDomains', 'content-security-policy', @@ -70,19 +70,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '34c4bfc5-0d82-4369-9b7a-71dc1e1a7b00', + 'a5d0679a-b271-46d4-a074-d0a3b4574900', 'x-ms-ests-server', - '2.1.11898.8 - EUS ProdSlices', + '2.1.11935.12 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8e087aAQAAAGpcjdgOAAAA; expires=Mon, 23-Aug-2021 00:57:17 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAwAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:45 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrp59T2mOZSXvVABVJJS1QxxFqJAh2zofIi4RtedCGS2RCflMZF85ZgLdmZx7Csp5YAR65q9QW6K6QPWMFwuaYtQb8JgHMyV6wx0uLgFfZMYAo9MxiQZhTY5MsPoIfZ3SYKAovwRVYFKBXtRDNgCJL65_rWIS7r4EcEro8TcjuZS0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrNi05RJxm4ADmKB5oZAkhy05pTNJcv4uyTPLdm9TCq8RAGmgIR2tbK9gokoHKzF9V2E6gxS2kKXQkbXUmxKMfWN_JADWmlJ7XaZ_2yB1shcFjLsthBJ1cpF81hfRGLIdAoU1CSII3O2Mk1WEncpTYlGS-wpJZXK1z5IMyIwH5vDogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:17 GMT', + 'Sat, 07 Aug 2021 23:39:44 GMT', 'Content-Length', '980' ]); @@ -105,25 +105,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '269cb539-8d59-41a0-aee9-a53c0ee53a00', + '79f78bee-5708-438c-bc99-6aff47863300', 'x-ms-ests-server', - '2.1.11898.8 - NCUS ProdSlices', + '2.1.11935.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8e087aAQAAAGpcjdgOAAAA; expires=Mon, 23-Aug-2021 00:57:17 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKAwAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:45 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrahwY2MGwYNU1Y7PRj9p1yA-zPWUrilPBzmO894qMgEjv9pDmsPRvB05-G8y7y8V0ShaXoJqGH9Q7Mbm4OWumPsCpULqTv2riZYWbT_D38eMXlqT1PQJoh5KsQLbaqLF5NOSKBhtqtFg-mSgYYNKde3RessUC9lUHPVRHngfXSbIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrDrfYnTtLHAeJFvzXoyav-cw4HSP3C4wOa0gZDPO5CgB255vGDdV5xyzilFNzIzutOYkpG2qp5OasH3dQvs3TtzC8zhBHpO551i4MNgFK9MRe4QxkIGVqhMdENh22iOGy1xtniJ6zqxmPuR18iNztsESffrWPhS8rpFXsOc8YR1EgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:17 GMT', + 'Sat, 07 Aug 2021 23:39:44 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=c49396c4-5214-429f-907b-030d14b54a58&client_secret=azure_client_secret") + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=3a1a04ba-f0ed-440b-9ee2-aa7d195ddd8c&client_secret=azure_client_secret") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -140,31 +140,31 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'a14db1f5-3c3a-45e3-aad7-1a3936994e00', + '1e9fc6ec-5b11-4e8b-b0ba-6113a1b33f00', 'x-ms-ests-server', - '2.1.11898.8 - SCUS ProdSlices', + '2.1.11935.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=AmyfsY-X8WhCqRyH2U6Lug8e087aAgAAAGpcjdgOAAAA; expires=Mon, 23-Aug-2021 00:57:17 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AvJPmCVK3UFKoVkODOOkWfbA1qXKBAAAALcQodgOAAAA; expires=Mon, 06-Sep-2021 23:39:45 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 24 Jul 2021 00:57:17 GMT', + 'Sat, 07 Aug 2021 23:39:45 GMT', 'Content-Length', '1322' ]); nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/exportablenopolicy162708823795401483/create', {"kty":"RSA","attributes":{"exportable":true}}) + .post('/keys/exportablenopolicy162837958616401382/create', {"kty":"RSA","attributes":{"exportable":true}}) .query(true) - .reply(400, {"error":{"code":"BadParameter","message":"Exportable keys must have release policy (Activity ID: 17f05b08-ec1a-11eb-a602-000d3a7a3d40)"}}, [ + .reply(400, {"error":{"code":"BadParameter","message":"Exportable keys must have release policy (Activity ID: bf07939c-f7d8-11eb-ad25-0022484e2498)"}}, [ 'content-type', 'application/json; charset=utf-8', 'x-ms-server-latency', - '17', + '19', 'cache-control', 'no-cache', 'x-content-type-options', @@ -172,7 +172,7 @@ nock('https://azure_managedhsm.managedhsm.azure.net:443', {"encodedQueryParams": 'content-length', '138', 'x-ms-request-id', - '17f05b08-ec1a-11eb-a602-000d3a7a3d40', + 'bf07939c-f7d8-11eb-ad25-0022484e2498', 'strict-transport-security', 'max-age=31536000; includeSubDomains', 'content-security-policy', diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_getkeyrotationpolicy_supports_tracing.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_getkeyrotationpolicy_supports_tracing.js new file mode 100644 index 000000000000..e99faa125d84 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_getkeyrotationpolicy_supports_tracing.js @@ -0,0 +1,249 @@ +let nock = require('nock'); + +module.exports.hash = "21db17df4f743a2bf31176e65ff7c468"; + +module.exports.testInfo = {"uniqueName":{"rotationpolicytracing":"rotationpolicytracing163206807982102549"},"newDate":{}} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/rotationpolicytracing163206807982102549/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '97', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus2', + 'x-ms-client-request-id', + '9bfaa7aa-cadb-4213-beb7-616ac88340e2', + 'x-ms-request-id', + 'aa756444-ed7b-49f5-91c3-b21aab96861d', + 'x-ms-keyvault-service-version', + '1.9.79.2', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Sun, 19 Sep 2021 16:14:40 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'ddf03f24-509f-436f-9048-6a174a397d00', + 'x-ms-ests-server', + '2.1.12025.15 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=AlXPJ0yyP2VEs8_JAbDmnVw; expires=Tue, 19-Oct-2021 16:14:40 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrrJbwsELw75NDPVwrNKUn4JSikwy9F7bmaUixcT4kSuNvxK8_s44n97qhPHxxNYUuMLdsYBvbkqvHgHg06nMHXMR1gmeHPPSbpNjPFx21lln_bHHjguYS_6KKv69by-UzbTw0UR7VYYE_XDAKuE55VuamtAHoyiQ_RxFmUV-sp6AgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Sun, 19 Sep 2021 16:14:40 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Length', + '1753', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'eeba9ca1-fa1f-4c48-8ee4-c4a930007c00', + 'x-ms-ests-server', + '2.1.12071.7 - SCUS ProdSlices', + 'Set-Cookie', + 'fpc=Ar5WeTvV3-9FjPn_U1rNNRs; expires=Tue, 19-Oct-2021 16:14:40 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrSgZiEpm6cka37HSZ-PZ4HZYsII9V3n0_Szh1JQH5D3uFLEFTeHKx7zfvanU39-44WzB-y3Ch3a6yjxe0Q83jTKDU6RAJATKQTBq9rKAYVeB0eFEjJwt7tcGqhhyXNvGoWE4QcPKu6mCobN3KbDgPx6MK8DkQ2tGF9AMAPkKQ90ggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Sun, 19 Sep 2021 16:14:40 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.1&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=7f6de350-af51-435a-a17a-f515d8aa30e7&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'f54895a3-78ec-4a9a-b1b7-04a0a57e5200', + 'x-ms-ests-server', + '2.1.12071.7 - NCUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=AjCjS0ZhrhxFqZ-aZNaxeeumCNGhAQAAAPBY2dgOAAAA; expires=Tue, 19-Oct-2021 16:14:41 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Sun, 19 Sep 2021 16:14:40 GMT', + 'Content-Length', + '1315' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/rotationpolicytracing163206807982102549/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206807982102549/d8a5cf2be9414af8a164a4c37e7f5352","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wvVx5yWkKRjkuL8I99dbgC-KK4AG-TA3ZLnNgTzI4ZqUl3FIjxwtaqU8n6mhEYYPMB-tMKSZky8KWsc1Us_cgZfKFnN78wws1npOzI4-WPfmxt2uy-iH011bYsDagZ2MUslcU1KMBZEB3Le32BWB7KJSGGBKd-qtx8Kqtxe_obL2-5nvV0o4HlTcBUBGHEW69-CyMjKTiCALVwWCw52ZZyLkOtYpaQMv9cA4cdNH42eW5N7KQJSjPk7ZaYcjwl-NkMoMP-6kYJQtRGynMQore0D7s3nvcHV6RvF4SqfOCdNixogxjC1u0mvzDHb82gfawbi9FzoMxiFhr-lUSXDPCQ","e":"AQAB"},"attributes":{"enabled":true,"created":1632068081,"updated":1632068081,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'westus2', + 'x-ms-client-request-id', + '9bfaa7aa-cadb-4213-beb7-616ac88340e2', + 'x-ms-request-id', + '502e060f-aadb-48ed-b8af-0f7c868b8596', + 'x-ms-keyvault-service-version', + '1.9.79.2', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Sun, 19 Sep 2021 16:14:40 GMT', + 'Content-Length', + '713' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/keys/rotationpolicytracing163206807982102549/rotationpolicy', {"lifetimeActions":[{"trigger":{"timeAfterCreate":"P2M"},"action":{"type":"Rotate"}}],"attributes":{}}) + .query(true) + .reply(200, {"id":"https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206807982102549/rotationpolicy","lifetimeActions":[{"trigger":{"timeAfterCreate":"P2M"},"action":{"type":"Rotate"}},{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"created":1632068081,"updated":1632068081}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'westus2', + 'x-ms-client-request-id', + '525cd71f-845c-493c-b40c-a19ec24ee97e', + 'x-ms-request-id', + '091b220e-96bb-4843-afd3-9f42968cea67', + 'x-ms-keyvault-service-version', + '1.9.79.2', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Sun, 19 Sep 2021 16:14:41 GMT', + 'Content-Length', + '311' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/rotationpolicytracing163206807982102549/rotationpolicy') + .query(true) + .reply(200, {"id":"https://keyvault_name.vault.azure.net/keys/rotationpolicytracing163206807982102549/rotationpolicy","lifetimeActions":[{"trigger":{"timeAfterCreate":"P2M"},"action":{"type":"Rotate"}},{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"created":1632068081,"updated":1632068081}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'westus2', + 'x-ms-client-request-id', + '3839b71b-89bf-4d71-a728-11dc61590876', + 'x-ms-request-id', + 'a1965462-3667-4d5b-9413-6d17b3efd1b7', + 'x-ms-keyvault-service-version', + '1.9.79.2', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Sun, 19 Sep 2021 16:14:41 GMT', + 'Content-Length', + '311' +]); diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_rotating_a_key.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_rotating_a_key.js new file mode 100644 index 000000000000..c090145884af --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_rotating_a_key.js @@ -0,0 +1,215 @@ +let nock = require('nock'); + +module.exports.hash = "6f567888b759516f7351c531615709eb"; + +module.exports.testInfo = {"uniqueName":{"keyrotate":"keyrotate162811055942405038"},"newDate":{}} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotate162811055942405038/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '97', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + '61aa03fd-d0be-4061-9485-29656129980a', + 'x-ms-request-id', + '0d780fba-a6c1-4e6a-bf5b-68e2004e89de', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:55:59 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'c534fa8f-2831-4abf-83de-34c366eaab01', + 'x-ms-ests-server', + '2.1.11898.12 - NCUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CI; expires=Fri, 03-Sep-2021 20:56:00 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrb04EjQNKjJ2I0g-tHWLr9f5usdx0lTG3ppIaGa5HiNv5tqCvNJVVQ93WtBE-eB7vA3TjKto-9b9tV-P0zKhTk7xBSlizcWtHrXVqJRRtaRA8W7OkmgfkSbQ8PYGguCsBjhEHOB9omY6VRS92SvKfaKG1QMK0DA7moz7Wc7YSA7EgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:55:59 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'c6c85d19-18ae-4998-aea5-a46167ba0100', + 'x-ms-ests-server', + '2.1.11935.12 - SCUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CI; expires=Fri, 03-Sep-2021 20:56:00 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrGXlur4h7pGvp7v7dE_OXJ9jaOKhT10oWWb6gIgbmEg1OAxZXbKIU9iMpRfSSicI5FR63YCwXs9aXSSHeiIPIoU90RHn6V0KxhGwjxZarrtB5BA2QieysJWF3z6WcH7Y6cLco_m2GKL_u0poMjyEkiaLM6Zdf-W6VNEZZ1jCUsM0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:55:59 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=c54ebd49-9228-46fd-85d7-d317c1534c65&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'a359ca03-bbd0-40ab-b360-388b1b0d0a00', + 'x-ms-ests-server', + '2.1.11935.12 - WUS2 ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAQAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:00 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:00 GMT', + 'Content-Length', + '1315' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotate162811055942405038/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/keyrotate162811055942405038/e5d4ba9a309d447fba997b05b94b9830","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"1yQYFrTLr-5xYW-sVv_RXw-G3VCoP7B04jFWdCM_d6kCYsGqEIdfdlcK-EaGqDBA-oT1Ctf6tFvhECKL0nozvM2GxpR7evbIb0w0Ge34K9j24XlEEUToRUE7JtWeBNCDoYtgAUJdgSX716B8f9_2hMPAPfDjOsEECqKibC3C6yJz3qyboaDBlAgjvNX3ze1Cs24untr9YhrZPzyY-SwKzPCwT4mEuydGwbi8dmh1ok5S23S01JYmmiCZqUeCvvdeZe-8LrPM5venRMVtrNc76ttxBvX2kAC-IUk9xqtcsUPylj35PrPlP6TVOky6CmCaUDXTx9NJP5dJO-s-kWdi8Q","e":"AQAB"},"attributes":{"enabled":true,"created":1628110560,"updated":1628110560,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + '61aa03fd-d0be-4061-9485-29656129980a', + 'x-ms-request-id', + '5f824c6a-c6cc-43dc-b6b4-93be8617edfe', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:00 GMT', + 'Content-Length', + '704' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotate162811055942405038/rotate') + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/keyrotate162811055942405038/dbeae578486a4563910c6393417a1046","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zCXdXUCUG5f-69tcoopczRpVj5lCB3cAOGqNZfSfyczymV2YiHVFz1Ax4J--JU-pbc62KRXmuZhMiK0GwD4PsP1aNE-ru8N01jlvqMShswrGJYend3oFX6y5f3ARYLoI8M2QQHpxJ8E-KEM70mJR4czIHGfjvXnY80eC7agGUf1OxurINl7tBs44un239SX7xNzhJvCIKhGq_amgo2237L1jYsjT4pvOu4xpelQaaNDuZWHJBgNMB_iQEZl_xhXx8fEl-0q1zYlwR6K8fmhdjJhbojcLecF-Q622kirE6FqKHZxzXDERwYHjGTXmXKMnqSI4n5pshbysM2TRwPAMYQ","e":"AQAB"},"attributes":{"enabled":true,"created":1628110560,"updated":1628110560,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + 'c053cbd6-5f50-4c55-ab9e-699810dd7de2', + 'x-ms-request-id', + 'fdd4940d-4245-405b-95d5-e45a58fdc4cd', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:01 GMT', + 'Content-Length', + '704' +]); diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_tracing.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_tracing.js new file mode 100644 index 000000000000..a6156662a41a --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_rotatekey_supports_tracing.js @@ -0,0 +1,215 @@ +let nock = require('nock'); + +module.exports.hash = "51388ce8ab25efecf76415679a8de555"; + +module.exports.testInfo = {"uniqueName":{"keyrotatetracing":"keyrotatetracing162811056119301057"},"newDate":{}} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotatetracing162811056119301057/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '97', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + 'f54631c4-e759-4453-ac3e-f0961b0e27cc', + 'x-ms-request-id', + '260108a7-770b-41d4-847f-873530ab7453', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:01 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'f3641da6-b904-4990-a389-8ea241bce701', + 'x-ms-ests-server', + '2.1.11898.12 - SCUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAQAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:01 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrvM_SOxACS_TDnX27Uw37--aHYO6C2jX9TaAKsupBrcO6jAIq1-9CmwwYp_743l7psCbAi6x4X3___Z1vovwR__bcYkyCjs4pvMTGpdYnTM_LbeKplGEQar5tPuKw4RyPHdzTe_76QE-lbDcOC_7Q-YDTVnIx6Kw7FdKVgYlVKYEgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:01 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'b6eae89c-abb2-4db2-82fe-ba53a55a0000', + 'x-ms-ests-server', + '2.1.11935.12 - NCUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAQAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:01 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrBImF5aOgiq8jWz65t4HE3xYig6xE1AX7uiU4_S9ikFpqkRxgDIv2x7rLZAQNmuk-hJG7CLfSZUZEDSD4NCzDg2M8SREAAauPtjv2aRT5mk7HbHZg5ix1Buhya5-h0zD_I_CA_7IpECewF_TyNW7ncZC3Htb-pk4J89DD14Je1dIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:01 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=d7be2ff7-fa06-4295-82ad-86ab4a1a211a&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '10b8f80c-bff6-46a6-9a38-2fc867ea0100', + 'x-ms-ests-server', + '2.1.11935.12 - SCUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAgAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:01 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:01 GMT', + 'Content-Length', + '1315' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotatetracing162811056119301057/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/keyrotatetracing162811056119301057/3f0b74c57b9c43c5b35d63ad2d6df624","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"uv7GnH_AyHas9k44U3TazDrdFBpAPD_AIxI4pFfdp3AHX_6dH75Wks7tjkvysjGS1nC_pad27p2LUy-70sU5Lo0dGge-oemrCRH5nNkPpADjlpgK9yXuJ_6okZ6yWFMxgyP23qWsHpErQ0QwcsYgEpg9ujtWrHeSlWQ4AaOK-TvvifCfd_cszsYZXCDHjJGckQPn7WNVF6sit_fjqRyoX72I7fG_dZKbkndehE90_W6mPuHls9v4T7rsn14FhWqCy4sdHwZnyehhqX802_z2luwAinjcCFxQ-fGfzULqJ-AV1dADRDa9CHK8xS_nFQTJ-ROHYmYFI_6RyxSnc-1m6Q","e":"AQAB"},"attributes":{"enabled":true,"created":1628110561,"updated":1628110561,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + 'f54631c4-e759-4453-ac3e-f0961b0e27cc', + 'x-ms-request-id', + 'e93c9f7f-fd69-4da8-8f21-0b2d3c42c06e', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:01 GMT', + 'Content-Length', + '711' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotatetracing162811056119301057/rotate') + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/keyrotatetracing162811056119301057/d5cc26c84f0c4fa586c7514c2676dc78","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zLDBNPvbKsY1ncdxmXp9ZXe7yTiY_BBf4i3Pp4JQSdJFam4Dq33i3coZszuvnJxcXXbuuXtPZlbm8PnKv-FwskRz9rd_bgBEYAPyi18nb51CwMRSubLnC5K2eCyLUWgzduO6C4GC2SCYWjLp0N7YoOoGGmzOOUOdATapNiV4foAlG4AOld_5lXZOH2CTQbgqaDX_E8DQ5vi099q_xPmk6xN3LP2U0_Bb9uL_9XEnGV48QHZfuXODuAcolPNMdtW8-ccqxwUXGopwB0ZYLZd0tEzY3GIuc39hzwzrwi4A7Txacox1hzqOEkqjdpDsPjJ232qVy9CoTSDnr3zPw1qYdQ","e":"AQAB"},"attributes":{"enabled":true,"created":1628110561,"updated":1628110561,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + '5511824d-e160-4162-b4ad-87a3aab6e241', + 'x-ms-request-id', + 'c1d284e8-c042-4595-91e0-c6b67831907b', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:02 GMT', + 'Content-Length', + '711' +]); diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_throws_when_attempting_to_fetch_a_policy_of_a_nonexistent_key.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_throws_when_attempting_to_fetch_a_policy_of_a_nonexistent_key.js new file mode 100644 index 000000000000..d8e5258015fa --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_throws_when_attempting_to_fetch_a_policy_of_a_nonexistent_key.js @@ -0,0 +1,181 @@ +let nock = require('nock'); + +module.exports.hash = "d83a7289c14f74c74c44e9cb7544ddbc"; + +module.exports.testInfo = {"uniqueName":{"nonexistentkey":"nonexistentkey162811056595000857"},"newDate":{}} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/nonexistentkey162811056595000857/rotationpolicy') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '97', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + '68dbd0af-a763-42ab-89dc-a5266ebfcb8d', + 'x-ms-request-id', + 'd77bb4c7-72f1-4d5b-b1e3-2e3ed7a58050', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:05 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'faca8948-e921-4883-9a78-6cb4536fe101', + 'x-ms-ests-server', + '2.1.11898.12 - WUS2 ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUBAAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:06 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrntxdU7rTO0eD8PgC5_Xw1yUH9hAHN01rggBFBmLQmP7RB6HrN-tqTCf-gN6QdRKbmKBXCYNo0RevtbvhaoA79Y1GLI4Vx1CoXIfI00z1_nnMWh_HZjOaK5TtulMkf0RW7K-nP0LZhJVW78qt4XsT5WUIPGdTrtSNC5agHWVvFxggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:05 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Length', + '1753', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '9558fbf8-d109-4b1a-b0ed-778d99115801', + 'x-ms-ests-server', + '2.1.11898.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUBAAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:06 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr4cU3GH9wklX76Z6u6mEzUNe7Zf1EPGIodEE0UhljItjhTy38HZbS7hexpc-bXgzvAPkheVhC1p-pJ4_d_vvbh7L_92MH4mXPGIdcrxran47tCT5c4ikyDFofEO5fyzRC-Zm6xZTAWXMM6gdSsYTFlBBIyRhBpEWmsHIJpRUYRuggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:05 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=1a71bd1f-60ff-4dcb-acea-479fcb1cc72b&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '9558fbf8-d109-4b1a-b0ed-778d9e115801', + 'x-ms-ests-server', + '2.1.11898.12 - EUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUBQAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:06 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:06 GMT', + 'Content-Length', + '1315' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/nonexistentkey162811056595000857/rotationpolicy') + .query(true) + .reply(404, {"error":{"code":"KeyNotFound","message":"A key with (name/id) nonexistentkey162811056595000857 was not found in this key vault. If you recently deleted this key you may be able to recover it using the correct recovery command. For help resolving this issue, please see https://go.microsoft.com/fwlink/?linkid=2125182"}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '320', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + '68dbd0af-a763-42ab-89dc-a5266ebfcb8d', + 'x-ms-request-id', + '46272c88-3479-472f-a4aa-7457e9e63e36', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:05 GMT' +]); diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_creating_a_new_rotation_policy_and_fetching_it.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_creating_a_new_rotation_policy_and_fetching_it.js new file mode 100644 index 000000000000..49b46b74fdf9 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_creating_a_new_rotation_policy_and_fetching_it.js @@ -0,0 +1,249 @@ +let nock = require('nock'); + +module.exports.hash = "846e85ef52695740ee29e1eecbcc0af4"; + +module.exports.testInfo = {"uniqueName":{"keyrotationpolicy":"keyrotationpolicy162811056222009526"},"newDate":{}} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotationpolicy162811056222009526/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '97', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + 'c7e37304-bf74-41e1-be25-defb2d7325cc', + 'x-ms-request-id', + '0aed94fb-8d97-4acd-a97b-06f8bfcc65f3', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:02 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '63864d31-6053-4a5a-8b54-094a5decb701', + 'x-ms-ests-server', + '2.1.11898.12 - NCUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAgAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:02 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr_vaBmiUMKorgcg2RrRGTQfp19xVWFFFvBXLzSbnynLibFq-_glrUaLGBDYhYAwRirV3U3ETKpEW4_I8c-9UqFjZ_0xcNiUXqihQLWFgSpIj1MeWCjiQlY3nKIqfb2yfIB2kmIlWDgDKmcN4h91hcEAwMlg_doP1gNH-ztySosN4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:02 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'ee0e393c-b6ce-42a5-a0b6-2c700b9e7901', + 'x-ms-ests-server', + '2.1.11898.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAgAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:02 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrAumn_GMJ-EhQwaXasN0pYFCRs88BFCjUs4BfI23UziMRL2gPic6Q-50Qco4RFgeVLFcKztdElr22NCNTSoWDeiouWD1eMKIH39WUm5Zu-dS7VD96DaPT8PTF85vfQciPYD0evFu20djfav93YBV2GYQNLM528aOX1ykq6tq3e_8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:02 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=9462bcc8-15e1-4963-b9cc-43b1ba727a91&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '10b8f80c-bff6-46a6-9a38-2fc8b0ea0100', + 'x-ms-ests-server', + '2.1.11935.12 - SCUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAgAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:02 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:02 GMT', + 'Content-Length', + '1315' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotationpolicy162811056222009526/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811056222009526/992ef2bd551b4f38a32ae5f5ccf7abe6","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"u0P7-5U8Od7VoY8CPcDdahXHg9mGOt1w-6PB-rhcIkSoEqoYgsgOujlNYSAIXgFkOfifdD_nysD23BfcbLf7fU_l4CVR6N00biAsh3ACa6b4E4Wb6dGQwQ99pe3_pDnswP9S_q_CQ9-VRNWfklxh3uwAOdPIJt8zQFKcD3S6HwkI2wfbmH8yozy1Ys9aStuSyPqblG_3i4ec2_07m8Qo5YahGj_Y5FtH6LRh6D-0FAXqPITZ28XntQqSoA9Z5CMLbBLaks3Kc4xg8NOUawcXg5jUGg1wvgHaOoX2vroyy0fDLLW4oToo7zdG4m00-091JHPpMasaABTNTJBT8qF8PQ","e":"AQAB"},"attributes":{"enabled":true,"created":1628110562,"updated":1628110562,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + 'c7e37304-bf74-41e1-be25-defb2d7325cc', + 'x-ms-request-id', + '586f3624-12e4-49c8-b4a1-25147e35dc42', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:02 GMT', + 'Content-Length', + '712' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/keys/keyrotationpolicy162811056222009526/rotationpolicy', {"lifetimeActions":[{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Rotate"}}],"attributes":{"expiryTime":"P90D"}}) + .query(true) + .reply(200, {"id":"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811056222009526/rotationpolicy","lifetimeActions":[{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Rotate"}},{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"expiryTime":"P90D","created":1628110562,"updated":1628110562}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + 'bc0deda9-ff3f-449e-aeb7-bcef9aacc41e', + 'x-ms-request-id', + '45a3bfbd-ed93-4341-be96-8d77313a8cc5', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:02 GMT', + 'Content-Length', + '332' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/keyrotationpolicy162811056222009526/rotationpolicy') + .query(true) + .reply(200, {"id":"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811056222009526/rotationpolicy","lifetimeActions":[{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Rotate"}},{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"expiryTime":"P90D","created":1628110562,"updated":1628110562}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + '14b16daf-c8bc-41ce-a5d3-a39be10cd77f', + 'x-ms-request-id', + '56abe90d-fca3-4316-a13e-25b2b86c11d5', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:03 GMT', + 'Content-Length', + '332' +]); diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_tracing.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_tracing.js new file mode 100644 index 000000000000..be85b9cc4634 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_tracing.js @@ -0,0 +1,215 @@ +let nock = require('nock'); + +module.exports.hash = "51c86d86d7f38de092102afb54239aa7"; + +module.exports.testInfo = {"uniqueName":{"updaterotationpolicy":"updaterotationpolicy162929998008007828"},"newDate":{}} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/updaterotationpolicy162929998008007828/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '97', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus2', + 'x-ms-client-request-id', + '86536fab-f981-45b6-81cf-80abad0d387b', + 'x-ms-request-id', + 'fbb1326d-f562-4e44-a889-5cf70cbb7436', + 'x-ms-keyvault-service-version', + '1.9.79.1', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 18 Aug 2021 15:19:38 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Length', + '980', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '8980e80c-1245-470c-a2d9-c64bd1ff2700', + 'x-ms-ests-server', + '2.1.11935.14 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=Agg9QugDTIVAqtEt_VpXdU0; expires=Fri, 17-Sep-2021 15:19:39 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrIau1co5ywatQlxNHap0rFiQj_hVwV5CA3riiPCoYKmk-AkncFakyvU1RmwXNvt7onUukX7pGCioVBVKM2NIlCvFHtK35VBs0QI3yD9EW5Vw81H7e1YKOjV0UK8tl8Clur2L2cF1xUgSrAQebgneqOOZru_B_0Keh_GHtykR-pRcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 18 Aug 2021 15:19:38 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '50118e5f-150a-47b7-8cda-d214b08c0401', + 'x-ms-ests-server', + '2.1.11961.8 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=Agg9QugDTIVAqtEt_VpXdU0; expires=Fri, 17-Sep-2021 15:19:39 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrNskCSAgbUevB2CTLTvOOBtcjvzeeaGItaD2fGCoRe2yBJ0MubdHcLoZHHUZzeWXIVfKz0NPPEkpdh4VgkqMv9gw8cvf9bHxrzsWgazROnAYjUGaWrIWnSsGtO4LGoF5oe95o2-fpLm0ltEiZfo2ADWbUoQBnZzVTD8uoltwOGj4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 18 Aug 2021 15:19:39 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=317fa48f-d1e2-439e-a0be-5c42a3e82c2f&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '0bef0ead-5893-4285-b239-2119ccb0e200', + 'x-ms-ests-server', + '2.1.11961.8 - WUS2 ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=Agg9QugDTIVAqtEt_VpXdU1eySe-AQAAAAscr9gOAAAA; expires=Fri, 17-Sep-2021 15:19:40 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 18 Aug 2021 15:19:39 GMT', + 'Content-Length', + '1315' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/updaterotationpolicy162929998008007828/create', {"kty":"EC"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/updaterotationpolicy162929998008007828/023b4c0c0f7f4561a2073e0b86fcfd37","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"FEghFZiB93t78bTzCtGFP7uPPW5X83yARUGSO0qKzYE","y":"DG1-zU1ofhYgUJLGEC39bfg9zZqzgi86rjpKa9Ku6zE"},"attributes":{"enabled":true,"created":1629299980,"updated":1629299980,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'westus2', + 'x-ms-client-request-id', + '86536fab-f981-45b6-81cf-80abad0d387b', + 'x-ms-request-id', + '3e4e82a7-1291-4dd4-a4f8-d5206476065f', + 'x-ms-keyvault-service-version', + '1.9.79.1', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 18 Aug 2021 15:19:39 GMT', + 'Content-Length', + '426' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/keys/updaterotationpolicy162929998008007828/rotationpolicy', {"lifetimeActions":[{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"expiryTime":"P90D"}}) + .query(true) + .reply(200, {"id":"https://keyvault_name.vault.azure.net/keys/updaterotationpolicy162929998008007828/rotationpolicy","lifetimeActions":[{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"expiryTime":"P90D","created":1629299980,"updated":1629299980}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'westus2', + 'x-ms-client-request-id', + 'f363bb8b-a66e-45f7-890b-8715e2dfd652', + 'x-ms-request-id', + '36ffd0d8-4d7b-443f-8b0f-15713037ee85', + 'x-ms-keyvault-service-version', + '1.9.79.1', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 18 Aug 2021 15:19:39 GMT', + 'Content-Length', + '268' +]); diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_updating_an_existing_policy.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_updating_an_existing_policy.js new file mode 100644 index 000000000000..b12bfb7f1416 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations_key_rotation/recording_updatekeyrotationpolicy_supports_updating_an_existing_policy.js @@ -0,0 +1,249 @@ +let nock = require('nock'); + +module.exports.hash = "11e6e958f4c9616eb52ab30b3123a76c"; + +module.exports.testInfo = {"uniqueName":{"keyrotationpolicy":"keyrotationpolicy162811056325905459"},"newDate":{}} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotationpolicy162811056325905459/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"AKV10000: Request is missing a Bearer or PoP token."}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '97', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/12345678-1234-1234-1234-123456789012", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + '45d96ad6-1414-40a5-a716-d6412ff09922', + 'x-ms-request-id', + 'b51a6466-0329-44ad-8a7b-0d1cd12d0a31', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:03 GMT' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'c8306b55-04f1-4a1d-8aed-f06d31c4ae01', + 'x-ms-ests-server', + '2.1.11898.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAgAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:03 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrbvFKO0JZP0e4ynDenqc2FaMO0HaOCrFwuCWAvdbHN1R2jns5CX7pxrndhJicoH4w5tah1-YVH4YI82hPNitPGzVFUZXNjCMDz1EOhzf4uqKAOIe2JXdgv7FXCJMDjfmfswRUlXE7XptV60arE4f44Bob2Gt70d6JS5i2mx5cFKsgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:03 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'c6c85d19-18ae-4998-aea5-a46147bb0100', + 'x-ms-ests-server', + '2.1.11935.12 - SCUS ProdSlices', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAgAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:03 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrqGUzemiwp4BEj-ODnNccezV5duvVOwMzU7L55l8jkSBXyP-jC92_DqAeJol7SE8a5JlBBOL5lRUjnoSXsv07SlCSM0nB2WFmZn3waUaEHqDbEJFuvkpYlXEkTTBzQs95AEgiwwD6WrTQibOtYXloT9FNfmPObeVRewbYpt_3VHAgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:03 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/12345678-1234-1234-1234-123456789012/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=a2807cee-8c8c-442d-a0f7-c8cdafe24934&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'ccae6b68-540d-42f7-a248-216a33d30100', + 'x-ms-ests-server', + '2.1.11935.12 - SCUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=Ako-ybgyu-xEmwPTUI8x8CKN_3OUAwAAAN_1nNgOAAAA; expires=Fri, 03-Sep-2021 20:56:03 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 04 Aug 2021 20:56:03 GMT', + 'Content-Length', + '1315' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/keyrotationpolicy162811056325905459/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811056325905459/a79ca5fabe7c4c5984b2d7843f30479d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"5-OLcAHW2WAHyvLwP57hKI19BqOCA4VIp0rpJBjh2KXsmjLwP8ykLNqQrDV3gd31qfWlEerddLpyjKaoCEk1g9otkybTdYjtQMVRPdFS8wG7N4_GhEtmwLywsj3ypkGdY-y7pVJT3XNniA223tEVu-0YHWsG2ZFOmHhqKcBdzLwU6lounuOMWrYrRG_I_vEZKJaIpmrVl8CfziyVahNHOAwVtzsKXf83tblI8ZMAAvhRtJN8YWF7FM1nmOfPfph3iyEkLSwCVpDEKWEUxRdUOyVYttdpioA8cHVKiIUMrK0fjcs0OeMV5J88bIwU6IZe8gE5leIHKrb0Wtm-RwzDfQ","e":"AQAB"},"attributes":{"enabled":true,"created":1628110563,"updated":1628110563,"recoveryLevel":"CustomizedRecoverable+Purgeable","recoverableDays":7}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + '45d96ad6-1414-40a5-a716-d6412ff09922', + 'x-ms-request-id', + '670ac019-1d30-4d3d-8e75-5731a9762ef3', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:03 GMT', + 'Content-Length', + '712' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/keys/keyrotationpolicy162811056325905459/rotationpolicy', {"lifetimeActions":[{"trigger":{"timeAfterCreate":"P2M"},"action":{"type":"Rotate"}}],"attributes":{}}) + .query(true) + .reply(200, {"id":"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811056325905459/rotationpolicy","lifetimeActions":[{"trigger":{"timeAfterCreate":"P2M"},"action":{"type":"Rotate"}},{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"created":1628110563,"updated":1628110563}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + 'ea512208-42cf-46f7-8ad6-1a1b373cd221', + 'x-ms-request-id', + '9abd8d32-26c5-4b9e-8a38-163957a6b040', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:03 GMT', + 'Content-Length', + '310' +]); + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/keys/keyrotationpolicy162811056325905459/rotationpolicy', {"lifetimeActions":[{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"expiryTime":"P90D"}}) + .query(true) + .reply(200, {"id":"https://keyvault_name.vault.azure.net/keys/keyrotationpolicy162811056325905459/rotationpolicy","lifetimeActions":[{"trigger":{"timeBeforeExpiry":"P30D"},"action":{"type":"Notify"}}],"attributes":{"expiryTime":"P90D","created":1628110563,"updated":1628110564}}, [ + 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'x-ms-keyvault-region', + 'eastus', + 'x-ms-client-request-id', + 'ee8bbb95-8ef3-4ee9-b92d-1cb3638bcfdd', + 'x-ms-request-id', + 'cd192336-ec1f-43af-b840-480fff0dfe82', + 'x-ms-keyvault-service-version', + '1.9.48.0', + 'x-ms-keyvault-network-info', + 'conn_type=Ipv4;addr=50.35.231.105;act_addr_fam=InterNetwork;', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Wed, 04 Aug 2021 20:56:04 GMT', + 'Content-Length', + '265' +]); diff --git a/sdk/keyvault/keyvault-keys/review/keyvault-keys.api.md b/sdk/keyvault/keyvault-keys/review/keyvault-keys.api.md index f904c7af6b22..c92d4e7a78ed 100644 --- a/sdk/keyvault/keyvault-keys/review/keyvault-keys.api.md +++ b/sdk/keyvault/keyvault-keys/review/keyvault-keys.api.md @@ -168,6 +168,11 @@ export interface EncryptResult { result: Uint8Array; } +// @public +export interface GetCryptographyClientOptions { + keyVersion?: string; +} + // @public export interface GetDeletedKeyOptions extends coreHttp.OperationOptions { } @@ -177,6 +182,10 @@ export interface GetKeyOptions extends coreHttp.OperationOptions { version?: string; } +// @public +export interface GetKeyRotationPolicyOptions extends coreHttp.OperationOptions { +} + // @public export interface GetRandomBytesOptions extends coreHttp.OperationOptions { } @@ -224,8 +233,10 @@ export class KeyClient { createKey(name: string, keyType: KeyType, options?: CreateKeyOptions): Promise; createOctKey(name: string, options?: CreateOctKeyOptions): Promise; createRsaKey(name: string, options?: CreateRsaKeyOptions): Promise; + getCryptographyClient(keyName: string, options?: GetCryptographyClientOptions): CryptographyClient; getDeletedKey(name: string, options?: GetDeletedKeyOptions): Promise; getKey(name: string, options?: GetKeyOptions): Promise; + getKeyRotationPolicy(name: string, options?: GetKeyRotationPolicyOptions): Promise; getRandomBytes(count: number, options?: GetRandomBytesOptions): Promise; importKey(name: string, key: JsonWebKey, options?: ImportKeyOptions): Promise; listDeletedKeys(options?: ListDeletedKeysOptions): PagedAsyncIterableIterator; @@ -234,8 +245,10 @@ export class KeyClient { purgeDeletedKey(name: string, options?: PurgeDeletedKeyOptions): Promise; releaseKey(name: string, target: string, options?: ReleaseKeyOptions): Promise; restoreKeyBackup(backup: Uint8Array, options?: RestoreKeyBackupOptions): Promise; + rotateKey(name: string, options?: RotateKeyOptions): Promise; updateKeyProperties(name: string, keyVersion: string, options?: UpdateKeyPropertiesOptions): Promise; updateKeyProperties(name: string, options?: UpdateKeyPropertiesOptions): Promise; + updateKeyRotationPolicy(name: string, policy: KeyRotationPolicyProperties, options?: UpdateKeyRotationPolicyOptions): Promise; readonly vaultUrl: string; } @@ -286,6 +299,29 @@ export interface KeyReleasePolicy { data?: Uint8Array; } +// @public +export interface KeyRotationLifetimeAction { + action: KeyRotationPolicyAction; + timeAfterCreate?: string; + timeBeforeExpiry?: string; +} + +// @public +export interface KeyRotationPolicy extends KeyRotationPolicyProperties { + readonly createdOn?: Date; + readonly id?: string; + readonly updatedOn?: Date; +} + +// @public +export type KeyRotationPolicyAction = "Rotate" | "Notify"; + +// @public +export interface KeyRotationPolicyProperties { + expiresIn?: string; + lifetimeActions?: KeyRotationLifetimeAction[]; +} + // @public export type KeyType = string; @@ -311,7 +347,7 @@ export interface KeyVaultKeyIdentifier { export type KeyWrapAlgorithm = "A128KW" | "A192KW" | "A256KW" | "RSA-OAEP" | "RSA-OAEP-256" | "RSA1_5"; // @public -export const enum KnownDeletionRecoveryLevel { +export enum KnownDeletionRecoveryLevel { CustomizedRecoverable = "CustomizedRecoverable", CustomizedRecoverableProtectedSubscription = "CustomizedRecoverable+ProtectedSubscription", CustomizedRecoverablePurgeable = "CustomizedRecoverable+Purgeable", @@ -322,7 +358,7 @@ export const enum KnownDeletionRecoveryLevel { } // @public -export const enum KnownEncryptionAlgorithms { +export enum KnownEncryptionAlgorithms { A128CBC = "A128CBC", A128Cbcpad = "A128CBCPAD", A128GCM = "A128GCM", @@ -341,7 +377,7 @@ export const enum KnownEncryptionAlgorithms { } // @public -export const enum KnownKeyCurveNames { +export enum KnownKeyCurveNames { P256 = "P-256", P256K = "P-256K", P384 = "P-384", @@ -360,7 +396,7 @@ export enum KnownKeyOperations { } // @public -export const enum KnownKeyTypes { +export enum KnownKeyTypes { EC = "EC", ECHSM = "EC-HSM", Oct = "oct", @@ -370,7 +406,7 @@ export const enum KnownKeyTypes { } // @public -export const enum KnownSignatureAlgorithms { +export enum KnownSignatureAlgorithms { ES256 = "ES256", ES256K = "ES256K", ES384 = "ES384", @@ -437,6 +473,10 @@ export interface ReleaseKeyResult { export interface RestoreKeyBackupOptions extends coreHttp.OperationOptions { } +// @public +export interface RotateKeyOptions extends coreHttp.OperationOptions { +} + // @public export interface RsaDecryptParameters { algorithm: RsaEncryptionAlgorithm; @@ -489,6 +529,10 @@ export interface UpdateKeyPropertiesOptions extends coreHttp.OperationOptions { }; } +// @public +export interface UpdateKeyRotationPolicyOptions extends coreHttp.OperationOptions { +} + // @public export interface VerifyDataOptions extends CryptographyOptions { } diff --git a/sdk/keyvault/keyvault-keys/rollup.base.config.js b/sdk/keyvault/keyvault-keys/rollup.base.config.js index 8aa2c85ff1ed..ba1b14f33537 100644 --- a/sdk/keyvault/keyvault-keys/rollup.base.config.js +++ b/sdk/keyvault/keyvault-keys/rollup.base.config.js @@ -28,6 +28,7 @@ const banner = [ ].join("\n"); const depNames = Object.keys(pkg.dependencies); +const devDepNames = Object.keys(pkg.devDependencies); const production = process.env.NODE_ENV === "production"; export function nodeConfig(test = false) { @@ -69,7 +70,7 @@ export function nodeConfig(test = false) { // different output file baseConfig.output.file = "dist-test/index.node.js"; - baseConfig.external.push("assert", "fs", "path", "chai"); + baseConfig.external.push(...devDepNames); baseConfig.context = "null"; diff --git a/sdk/keyvault/keyvault-keys/samples-dev/cryptography.ts b/sdk/keyvault/keyvault-keys/samples-dev/cryptography.ts index dda3b223ca30..4f02e44b7e36 100644 --- a/sdk/keyvault/keyvault-keys/samples-dev/cryptography.ts +++ b/sdk/keyvault/keyvault-keys/samples-dev/cryptography.ts @@ -7,7 +7,7 @@ import { createHash } from "crypto"; -import { KeyClient, CryptographyClient } from "@azure/keyvault-keys"; +import { CryptographyClient, KeyClient } from "@azure/keyvault-keys"; import { DefaultAzureCredential } from "@azure/identity"; // Load the .env file if it exists diff --git a/sdk/keyvault/keyvault-keys/samples-dev/keyRotation.ts b/sdk/keyvault/keyvault-keys/samples-dev/keyRotation.ts new file mode 100644 index 000000000000..1928f9ecb935 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/samples-dev/keyRotation.ts @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Creates and updates a key's automated rotation policy, and rotates a key on-demand. + */ + +import { KeyClient } from "@azure/keyvault-keys"; +import { DefaultAzureCredential } from "@azure/identity"; + +// Load the .env file if it exists +import * as dotenv from "dotenv"; +dotenv.config(); + +export async function main(): Promise { + // DefaultAzureCredential expects the following three environment variables: + // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory + // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant + // - AZURE_CLIENT_SECRET: The client secret for the registered application + const credential = new DefaultAzureCredential(); + + const url = process.env["KEYVAULT_URI"] || ""; + const client = new KeyClient(url, credential); + + const uniqueString = `KeyRotationSample${Date.now()}`; + const keyName = `KeyName${uniqueString}`; + const key = await client.createKey(keyName, "EC"); + console.log("created key", key); + + // Set the key's automated rotation policy to rotate 30 days before the key expires. + const policy = await client.updateKeyRotationPolicy(key.name, { + lifetimeActions: [ + { + action: "Rotate", + timeBeforeExpiry: "P30D" + } + ], + expiresIn: "P90D" + }); + console.log("created policy", policy); + + // Get the key's current rotation policy + const currentPolicy = await client.getKeyRotationPolicy(key.name); + console.log("fetched policy", currentPolicy); + + // Update the key's automated rotation policy to notify 30 days after the key was created + const updatedPolicy = await client.updateKeyRotationPolicy(key.name, { + lifetimeActions: [ + { + action: "Notify", + timeAfterCreate: "P30D" + } + ] + }); + console.log("updated policy", updatedPolicy); + + // Rotate the key on-demand, generating a new version of the key. + const newKeyVersion = await client.rotateKey(key.name); + console.log("rotated key", newKeyVersion); + + // Delete the key. Deleting a key is a long running operation; however, for this sample we will + // fire-and-forget the process and assume the key was successfully deleted. + await client.beginDeleteKey(key.name); +} + +main().catch((err) => { + console.log("error code: ", err.code); + console.log("error message: ", err.message); + console.log("error stack: ", err.stack); +}); diff --git a/sdk/keyvault/keyvault-keys/src/constants.ts b/sdk/keyvault/keyvault-keys/src/constants.ts index ff71dfb7b719..aed75137e275 100644 --- a/sdk/keyvault/keyvault-keys/src/constants.ts +++ b/sdk/keyvault/keyvault-keys/src/constants.ts @@ -1,4 +1,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "4.4.0-beta.1"; +export const SDK_VERSION: string = "4.4.0-beta.2"; diff --git a/sdk/keyvault/keyvault-keys/src/cryptography/remoteCryptographyProvider.ts b/sdk/keyvault/keyvault-keys/src/cryptography/remoteCryptographyProvider.ts index 252427420d91..898b331c92f6 100644 --- a/sdk/keyvault/keyvault-keys/src/cryptography/remoteCryptographyProvider.ts +++ b/sdk/keyvault/keyvault-keys/src/cryptography/remoteCryptographyProvider.ts @@ -57,37 +57,7 @@ export class RemoteCryptographyProvider implements CryptographyProvider { credential: TokenCredential, pipelineOptions: CryptographyClientOptions = {} ) { - const libInfo = `azsdk-js-keyvault-keys/${SDK_VERSION}`; - - const userAgentOptions = pipelineOptions.userAgentOptions; - - pipelineOptions.userAgentOptions = { - userAgentPrefix: - userAgentOptions && userAgentOptions.userAgentPrefix - ? `${userAgentOptions.userAgentPrefix} ${libInfo}` - : libInfo - }; - - const authPolicy = isTokenCredential(credential) - ? challengeBasedAuthenticationPolicy(credential) - : signingPolicy(credential); - - const internalPipelineOptions = { - ...pipelineOptions, - loggingOptions: { - logger: logger.info, - allowedHeaderNames: [ - "x-ms-keyvault-region", - "x-ms-keyvault-network-info", - "x-ms-keyvault-service-version" - ] - } - }; - - this.client = new KeyVaultClient( - pipelineOptions.serviceVersion || LATEST_API_VERSION, - createPipelineFromOptions(internalPipelineOptions, authPolicy) - ); + this.client = getOrInitializeClient(credential, pipelineOptions); this.key = key; @@ -104,17 +74,13 @@ export class RemoteCryptographyProvider implements CryptographyProvider { throw new Error("Could not find 'name' of key in key URL"); } - if (!parsed.version || parsed.version === "") { - throw new Error("Could not find 'version' of key in key URL"); - } - if (!parsed.vaultUrl || parsed.vaultUrl === "") { throw new Error("Could not find 'vaultUrl' of key in key URL"); } this.vaultUrl = parsed.vaultUrl; this.name = parsed.name; - this.version = parsed.version; + this.version = parsed.version ?? ""; } catch (err) { logger.error(err); @@ -329,7 +295,7 @@ export class RemoteCryptographyProvider implements CryptographyProvider { * @internal * A reference to the auto-generated KeyVault HTTP client. */ - private readonly client: KeyVaultClient; + private client: KeyVaultClient; /** * A reference to the key used for the cryptographic operations. @@ -366,3 +332,53 @@ export class RemoteCryptographyProvider implements CryptographyProvider { return kid; } } + +/** + * A helper method to either get the passed down generated client or initialize a new one. + * An already constructed generated client may be passed down from {@link KeyClient} in which case we should reuse it. + * + * @internal + * @param credential - The credential to use when initializing a new client. + * @param options - The options for constructing a client or the underlying client if one already exists. + * @returns - A generated client instance + */ +function getOrInitializeClient( + credential: TokenCredential, + options: CryptographyClientOptions & { generatedClient?: KeyVaultClient } +): KeyVaultClient { + if (options.generatedClient) { + return options.generatedClient; + } + + const libInfo = `azsdk-js-keyvault-keys/${SDK_VERSION}`; + + const userAgentOptions = options.userAgentOptions; + + options.userAgentOptions = { + userAgentPrefix: + userAgentOptions && userAgentOptions.userAgentPrefix + ? `${userAgentOptions.userAgentPrefix} ${libInfo}` + : libInfo + }; + + const authPolicy = isTokenCredential(credential) + ? challengeBasedAuthenticationPolicy(credential) + : signingPolicy(credential); + + const internalPipelineOptions = { + ...options, + loggingOptions: { + logger: logger.info, + allowedHeaderNames: [ + "x-ms-keyvault-region", + "x-ms-keyvault-network-info", + "x-ms-keyvault-service-version" + ] + } + }; + + return new KeyVaultClient( + options.serviceVersion || LATEST_API_VERSION, + createPipelineFromOptions(internalPipelineOptions, authPolicy) + ); +} diff --git a/sdk/keyvault/keyvault-keys/src/generated/keyVaultClientContext.ts b/sdk/keyvault/keyvault-keys/src/generated/keyVaultClientContext.ts index 6eb9c05984f5..7673979f375e 100644 --- a/sdk/keyvault/keyvault-keys/src/generated/keyVaultClientContext.ts +++ b/sdk/keyvault/keyvault-keys/src/generated/keyVaultClientContext.ts @@ -10,7 +10,7 @@ import * as coreHttp from "@azure/core-http"; import { ApiVersion73Preview, KeyVaultClientOptionalParams } from "./models"; const packageName = "@azure/keyvault-keys"; -export const packageVersion = "4.4.0-beta.1"; +export const packageVersion = "4.4.0-beta.2"; export class KeyVaultClientContext extends coreHttp.ServiceClient { apiVersion: ApiVersion73Preview; @@ -20,7 +20,10 @@ export class KeyVaultClientContext extends coreHttp.ServiceClient { * @param apiVersion Api Version * @param options The parameter options */ - constructor(apiVersion: ApiVersion73Preview, options?: KeyVaultClientOptionalParams) { + constructor( + apiVersion: ApiVersion73Preview, + options?: KeyVaultClientOptionalParams + ) { if (apiVersion === undefined) { throw new Error("'apiVersion' cannot be null"); } diff --git a/sdk/keyvault/keyvault-keys/src/generated/models/index.ts b/sdk/keyvault/keyvault-keys/src/generated/models/index.ts index 769dd3471e5d..243e0084491d 100644 --- a/sdk/keyvault/keyvault-keys/src/generated/models/index.ts +++ b/sdk/keyvault/keyvault-keys/src/generated/models/index.ts @@ -429,7 +429,7 @@ export type DeletedKeyItem = KeyItem & { }; /** Known values of {@link ApiVersion73Preview} that the service accepts. */ -export const enum KnownApiVersion73Preview { +export enum KnownApiVersion73Preview { /** Api Version '7.3-preview' */ Seven3Preview = "7.3-preview" } @@ -444,7 +444,7 @@ export const enum KnownApiVersion73Preview { export type ApiVersion73Preview = string; /** Known values of {@link JsonWebKeyType} that the service accepts. */ -export const enum KnownJsonWebKeyType { +export enum KnownJsonWebKeyType { /** Elliptic Curve. */ EC = "EC", /** Elliptic Curve with a private key which is stored in the HSM. */ @@ -474,22 +474,14 @@ export const enum KnownJsonWebKeyType { export type JsonWebKeyType = string; /** Known values of {@link JsonWebKeyOperation} that the service accepts. */ -export const enum KnownJsonWebKeyOperation { - /** Key operation - encrypt */ +export enum KnownJsonWebKeyOperation { Encrypt = "encrypt", - /** Key operation - encrypt */ Decrypt = "decrypt", - /** Key operation - encrypt */ Sign = "sign", - /** Key operation - encrypt */ Verify = "verify", - /** Key operation - encrypt */ WrapKey = "wrapKey", - /** Key operation - encrypt */ UnwrapKey = "unwrapKey", - /** Key operation - encrypt */ Import = "import", - /** Key operation - encrypt */ Export = "export" } @@ -510,7 +502,7 @@ export const enum KnownJsonWebKeyOperation { export type JsonWebKeyOperation = string; /** Known values of {@link DeletionRecoveryLevel} that the service accepts. */ -export const enum KnownDeletionRecoveryLevel { +export enum KnownDeletionRecoveryLevel { /** Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.) */ Purgeable = "Purgeable", /** Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered */ @@ -543,7 +535,7 @@ export const enum KnownDeletionRecoveryLevel { export type DeletionRecoveryLevel = string; /** Known values of {@link JsonWebKeyCurveName} that the service accepts. */ -export const enum KnownJsonWebKeyCurveName { +export enum KnownJsonWebKeyCurveName { /** The NIST P-256 elliptic curve, AKA SECG curve SECP256R1. */ P256 = "P-256", /** The NIST P-384 elliptic curve, AKA SECG curve SECP384R1. */ @@ -567,7 +559,7 @@ export const enum KnownJsonWebKeyCurveName { export type JsonWebKeyCurveName = string; /** Known values of {@link JsonWebKeyEncryptionAlgorithm} that the service accepts. */ -export const enum KnownJsonWebKeyEncryptionAlgorithm { +export enum KnownJsonWebKeyEncryptionAlgorithm { /** Encryption Algorithm - RSA-OAEP */ RSAOaep = "RSA-OAEP", /** Encryption Algorithm - RSA-OAEP-256 */ @@ -624,7 +616,7 @@ export const enum KnownJsonWebKeyEncryptionAlgorithm { export type JsonWebKeyEncryptionAlgorithm = string; /** Known values of {@link JsonWebKeySignatureAlgorithm} that the service accepts. */ -export const enum KnownJsonWebKeySignatureAlgorithm { +export enum KnownJsonWebKeySignatureAlgorithm { /** RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in https://tools.ietf.org/html/rfc7518 */ PS256 = "PS256", /** RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in https://tools.ietf.org/html/rfc7518 */ @@ -669,7 +661,7 @@ export const enum KnownJsonWebKeySignatureAlgorithm { export type JsonWebKeySignatureAlgorithm = string; /** Known values of {@link KeyEncryptionAlgorithm} that the service accepts. */ -export const enum KnownKeyEncryptionAlgorithm { +export enum KnownKeyEncryptionAlgorithm { CKMRSAAESKEYWrap = "CKM_RSA_AES_KEY_WRAP", RSAAESKEYWrap256 = "RSA_AES_KEY_WRAP_256", RSAAESKEYWrap384 = "RSA_AES_KEY_WRAP_384" @@ -686,10 +678,11 @@ export const enum KnownKeyEncryptionAlgorithm { */ export type KeyEncryptionAlgorithm = string; /** Defines values for ActionType. */ -export type ActionType = "rotate" | "notify"; +export type ActionType = "Rotate" | "Notify"; /** Optional parameters. */ -export interface KeyVaultClientCreateKeyOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientCreateKeyOptionalParams + extends coreHttp.OperationOptions { /** The key size in bits. For example: 2048, 3072, or 4096 for RSA. */ keySize?: number; /** The public exponent for a RSA key. */ @@ -719,7 +712,8 @@ export type KeyVaultClientCreateKeyResponse = KeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientRotateKeyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientRotateKeyOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the rotateKey operation. */ export type KeyVaultClientRotateKeyResponse = KeyBundle & { @@ -734,7 +728,8 @@ export type KeyVaultClientRotateKeyResponse = KeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientImportKeyOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientImportKeyOptionalParams + extends coreHttp.OperationOptions { /** Whether to import as a hardware key (HSM) or software key. */ hsm?: boolean; /** The key management attributes. */ @@ -758,7 +753,8 @@ export type KeyVaultClientImportKeyResponse = KeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientDeleteKeyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientDeleteKeyOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the deleteKey operation. */ export type KeyVaultClientDeleteKeyResponse = DeletedKeyBundle & { @@ -773,7 +769,8 @@ export type KeyVaultClientDeleteKeyResponse = DeletedKeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientUpdateKeyOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientUpdateKeyOptionalParams + extends coreHttp.OperationOptions { /** Json web key operations. For more information on possible key operations, see JsonWebKeyOperation. */ keyOps?: JsonWebKeyOperation[]; /** The attributes of a key managed by the key vault service. */ @@ -797,7 +794,8 @@ export type KeyVaultClientUpdateKeyResponse = KeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientGetKeyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientGetKeyOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the getKey operation. */ export type KeyVaultClientGetKeyResponse = KeyBundle & { @@ -812,7 +810,8 @@ export type KeyVaultClientGetKeyResponse = KeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientGetKeyVersionsOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientGetKeyVersionsOptionalParams + extends coreHttp.OperationOptions { /** Maximum number of results to return in a page. If not specified the service will return up to 25 results. */ maxresults?: number; } @@ -830,7 +829,8 @@ export type KeyVaultClientGetKeyVersionsResponse = KeyListResult & { }; /** Optional parameters. */ -export interface KeyVaultClientGetKeysOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientGetKeysOptionalParams + extends coreHttp.OperationOptions { /** Maximum number of results to return in a page. If not specified the service will return up to 25 results. */ maxresults?: number; } @@ -848,7 +848,8 @@ export type KeyVaultClientGetKeysResponse = KeyListResult & { }; /** Optional parameters. */ -export interface KeyVaultClientBackupKeyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientBackupKeyOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the backupKey operation. */ export type KeyVaultClientBackupKeyResponse = BackupKeyResult & { @@ -863,7 +864,8 @@ export type KeyVaultClientBackupKeyResponse = BackupKeyResult & { }; /** Optional parameters. */ -export interface KeyVaultClientRestoreKeyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientRestoreKeyOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the restoreKey operation. */ export type KeyVaultClientRestoreKeyResponse = KeyBundle & { @@ -878,7 +880,8 @@ export type KeyVaultClientRestoreKeyResponse = KeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientEncryptOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientEncryptOptionalParams + extends coreHttp.OperationOptions { /** Initialization vector for symmetric algorithms. */ iv?: Uint8Array; /** Additional data to authenticate but not encrypt/decrypt when using authenticated crypto algorithms. */ @@ -900,7 +903,8 @@ export type KeyVaultClientEncryptResponse = KeyOperationResult & { }; /** Optional parameters. */ -export interface KeyVaultClientDecryptOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientDecryptOptionalParams + extends coreHttp.OperationOptions { /** Initialization vector for symmetric algorithms. */ iv?: Uint8Array; /** Additional data to authenticate but not encrypt/decrypt when using authenticated crypto algorithms. */ @@ -922,7 +926,8 @@ export type KeyVaultClientDecryptResponse = KeyOperationResult & { }; /** Optional parameters. */ -export interface KeyVaultClientSignOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientSignOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the sign operation. */ export type KeyVaultClientSignResponse = KeyOperationResult & { @@ -937,7 +942,8 @@ export type KeyVaultClientSignResponse = KeyOperationResult & { }; /** Optional parameters. */ -export interface KeyVaultClientVerifyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientVerifyOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the verify operation. */ export type KeyVaultClientVerifyResponse = KeyVerifyResult & { @@ -952,7 +958,8 @@ export type KeyVaultClientVerifyResponse = KeyVerifyResult & { }; /** Optional parameters. */ -export interface KeyVaultClientWrapKeyOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientWrapKeyOptionalParams + extends coreHttp.OperationOptions { /** Initialization vector for symmetric algorithms. */ iv?: Uint8Array; /** Additional data to authenticate but not encrypt/decrypt when using authenticated crypto algorithms. */ @@ -974,7 +981,8 @@ export type KeyVaultClientWrapKeyResponse = KeyOperationResult & { }; /** Optional parameters. */ -export interface KeyVaultClientUnwrapKeyOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientUnwrapKeyOptionalParams + extends coreHttp.OperationOptions { /** Initialization vector for symmetric algorithms. */ iv?: Uint8Array; /** Additional data to authenticate but not encrypt/decrypt when using authenticated crypto algorithms. */ @@ -996,7 +1004,8 @@ export type KeyVaultClientUnwrapKeyResponse = KeyOperationResult & { }; /** Optional parameters. */ -export interface KeyVaultClientExportOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientExportOptionalParams + extends coreHttp.OperationOptions { /** The export key encryption Json web key. This key MUST be a RSA key that supports encryption. */ wrappingKey?: JsonWebKey; /** The export key encryption key identifier. This key MUST be a RSA key that supports encryption. */ @@ -1018,7 +1027,8 @@ export type KeyVaultClientExportResponse = KeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientReleaseOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientReleaseOptionalParams + extends coreHttp.OperationOptions { /** A client provided nonce for freshness. */ nonce?: string; /** The encryption algorithm to use to protected the exported key material */ @@ -1038,7 +1048,8 @@ export type KeyVaultClientReleaseResponse = KeyReleaseResult & { }; /** Optional parameters. */ -export interface KeyVaultClientGetDeletedKeysOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientGetDeletedKeysOptionalParams + extends coreHttp.OperationOptions { /** Maximum number of results to return in a page. If not specified the service will return up to 25 results. */ maxresults?: number; } @@ -1056,7 +1067,8 @@ export type KeyVaultClientGetDeletedKeysResponse = DeletedKeyListResult & { }; /** Optional parameters. */ -export interface KeyVaultClientGetDeletedKeyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientGetDeletedKeyOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the getDeletedKey operation. */ export type KeyVaultClientGetDeletedKeyResponse = DeletedKeyBundle & { @@ -1071,10 +1083,12 @@ export type KeyVaultClientGetDeletedKeyResponse = DeletedKeyBundle & { }; /** Optional parameters. */ -export interface KeyVaultClientPurgeDeletedKeyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientPurgeDeletedKeyOptionalParams + extends coreHttp.OperationOptions {} /** Optional parameters. */ -export interface KeyVaultClientRecoverDeletedKeyOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientRecoverDeletedKeyOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the recoverDeletedKey operation. */ export type KeyVaultClientRecoverDeletedKeyResponse = KeyBundle & { @@ -1121,7 +1135,8 @@ export type KeyVaultClientUpdateKeyRotationPolicyResponse = KeyRotationPolicy & }; /** Optional parameters. */ -export interface KeyVaultClientGetRandomBytesOptionalParams extends coreHttp.OperationOptions {} +export interface KeyVaultClientGetRandomBytesOptionalParams + extends coreHttp.OperationOptions {} /** Contains response data for the getRandomBytes operation. */ export type KeyVaultClientGetRandomBytesResponse = RandomBytes & { @@ -1136,7 +1151,8 @@ export type KeyVaultClientGetRandomBytesResponse = RandomBytes & { }; /** Optional parameters. */ -export interface KeyVaultClientGetKeyVersionsNextOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientGetKeyVersionsNextOptionalParams + extends coreHttp.OperationOptions { /** Maximum number of results to return in a page. If not specified the service will return up to 25 results. */ maxresults?: number; } @@ -1154,7 +1170,8 @@ export type KeyVaultClientGetKeyVersionsNextResponse = KeyListResult & { }; /** Optional parameters. */ -export interface KeyVaultClientGetKeysNextOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientGetKeysNextOptionalParams + extends coreHttp.OperationOptions { /** Maximum number of results to return in a page. If not specified the service will return up to 25 results. */ maxresults?: number; } @@ -1172,7 +1189,8 @@ export type KeyVaultClientGetKeysNextResponse = KeyListResult & { }; /** Optional parameters. */ -export interface KeyVaultClientGetDeletedKeysNextOptionalParams extends coreHttp.OperationOptions { +export interface KeyVaultClientGetDeletedKeysNextOptionalParams + extends coreHttp.OperationOptions { /** Maximum number of results to return in a page. If not specified the service will return up to 25 results. */ maxresults?: number; } @@ -1190,7 +1208,8 @@ export type KeyVaultClientGetDeletedKeysNextResponse = DeletedKeyListResult & { }; /** Optional parameters. */ -export interface KeyVaultClientOptionalParams extends coreHttp.ServiceClientOptions { +export interface KeyVaultClientOptionalParams + extends coreHttp.ServiceClientOptions { /** Overrides client endpoint. */ endpoint?: string; } diff --git a/sdk/keyvault/keyvault-keys/src/generated/models/mappers.ts b/sdk/keyvault/keyvault-keys/src/generated/models/mappers.ts index 7c2fd278f194..a7f108f88509 100644 --- a/sdk/keyvault/keyvault-keys/src/generated/models/mappers.ts +++ b/sdk/keyvault/keyvault-keys/src/generated/models/mappers.ts @@ -864,7 +864,7 @@ export const LifetimeActionsType: coreHttp.CompositeMapper = { serializedName: "type", type: { name: "Enum", - allowedValues: ["rotate", "notify"] + allowedValues: ["Rotate", "Notify"] } } } diff --git a/sdk/keyvault/keyvault-keys/src/index.ts b/sdk/keyvault/keyvault-keys/src/index.ts index b3689167df63..ab2863fbde7c 100644 --- a/sdk/keyvault/keyvault-keys/src/index.ts +++ b/sdk/keyvault/keyvault-keys/src/index.ts @@ -65,7 +65,15 @@ import { ReleaseKeyResult, KeyReleasePolicy, KeyExportEncryptionAlgorithm, - RandomBytes + RandomBytes, + GetCryptographyClientOptions, + RotateKeyOptions, + UpdateKeyRotationPolicyOptions, + GetKeyRotationPolicyOptions, + KeyRotationLifetimeAction, + KeyRotationPolicy, + KeyRotationPolicyProperties, + KeyRotationPolicyAction } from "./keysModels"; import { CryptographyClient } from "./cryptographyClient"; @@ -108,7 +116,8 @@ import { KeyVaultKeyIdentifier, parseKeyVaultKeyIdentifier } from "./identifier" import { getDeletedKeyFromDeletedKeyItem, getKeyFromKeyBundle, - getKeyPropertiesFromKeyItem + getKeyPropertiesFromKeyItem, + keyRotationTransformations } from "./transformations"; import { createTraceFunction } from "../../keyvault-common/src"; @@ -174,6 +183,7 @@ export { PollerLike, PurgeDeletedKeyOptions, RestoreKeyBackupOptions, + RotateKeyOptions, SignOptions, SignResult, UnwrapKeyOptions, @@ -184,11 +194,18 @@ export { VerifyResult, WrapKeyOptions, WrapResult, - logger, ReleaseKeyOptions, ReleaseKeyResult, KeyReleasePolicy, - KeyExportEncryptionAlgorithm + KeyExportEncryptionAlgorithm, + GetCryptographyClientOptions, + KeyRotationPolicyAction, + KeyRotationPolicyProperties, + KeyRotationPolicy, + KeyRotationLifetimeAction, + UpdateKeyRotationPolicyOptions, + GetKeyRotationPolicyOptions, + logger }; const withTrace = createTraceFunction("Azure.KeyVault.Keys.KeyClient"); @@ -213,6 +230,13 @@ export class KeyClient { */ private readonly client: KeyVaultClient; + /** + * @internal + * A reference to the credential that was used to construct this client. + * Later used to instantiate a {@link CryptographyClient} with the same credential. + */ + private readonly credential: TokenCredential; + /** * Creates an instance of KeyClient. * @@ -264,6 +288,7 @@ export class KeyClient { } }; + this.credential = credential; this.client = new KeyVaultClient( pipelineOptions.serviceVersion || LATEST_API_VERSION, createPipelineFromOptions(internalPipelineOptions, authPolicy) @@ -419,6 +444,43 @@ export class KeyClient { }); } + /** + * Gets a {@link CryptographyClient} for the given key. + * + * Example usage: + * ```ts + * let client = new KeyClient(url, credentials); + * // get a cryptography client for a given key + * let cryptographyClient = client.getCryptographyClient("MyKey"); + * ``` + * @param name - The name of the key used to perform cryptographic operations. + * @param version - Optional version of the key used to perform cryptographic operations. + * @returns - A {@link CryptographyClient} using the same options, credentials, and http client as this {@link KeyClient} + */ + public getCryptographyClient( + keyName: string, + options?: GetCryptographyClientOptions + ): CryptographyClient { + const keyUrl = new URL( + ["keys", keyName, options?.keyVersion].filter(Boolean).join("/"), + this.vaultUrl + ); + + // The goals of this method are discoverability and performance (by sharing a client and pipeline). + // The existing cryptography client does not accept a pipeline as an argument, nor does it expose it. + // In order to avoid publicly exposing the pipeline we will pass in the underlying client as an undocumented + // property to the constructor so that crypto providers downstream can use it. + const constructorOptions: CryptographyClientOptions & { generatedClient: KeyVaultClient } = { + generatedClient: this.client + }; + const cryptoClient = new CryptographyClient( + keyUrl.toString(), + this.credential, + constructorOptions + ); + return cryptoClient; + } + /** * The delete operation applies to any key stored in Azure Key Vault. Individual versions * of a key can not be deleted, only all versions of a given key at once. @@ -727,6 +789,25 @@ export class KeyClient { }); } + /** + * Rotates the key based on the key policy by generating a new version of the key. This operation requires the keys/rotate permission. + * + * Example usage: + * ```ts + * let client = new KeyClient(vaultUrl, credentials); + * let key = await client.rotateKey("MyKey"); + * ``` + * + * @param name - The name of the key to rotate. + * @param options - The optional parameters. + */ + public rotateKey(name: string, options: RotateKeyOptions = {}): Promise { + return withTrace("rotateKey", options, async (updatedOptions) => { + const key = await this.client.rotateKey(this.vaultUrl, name, updatedOptions); + return getKeyFromKeyBundle(key); + }); + } + /** * Releases a key from a managed HSM. * @@ -739,6 +820,7 @@ export class KeyClient { * ``` * * @param name - The name of the key. + * @param target - The attestation assertion for the target of the key release. * @param options - The optional parameters. */ public releaseKey( @@ -763,6 +845,59 @@ export class KeyClient { return { value: result.value! }; }); } + + /** + * Gets the rotation policy of a Key Vault Key. + * + * Example usage: + * ```ts + * let client = new KeyClient(vaultUrl, credentials); + * await client.updateKeyRotationPolicy("MyKey", myPolicy); + * let result = await client.getKeyRotationPolicy("myKey"); + * ``` + * + * @param name - The name of the key. + * @param options - The optional parameters. + */ + public getKeyRotationPolicy( + name: string, + options: GetKeyRotationPolicyOptions = {} + ): Promise { + return withTrace("getKeyRotationPolicy", options, async () => { + const policy = await this.client.getKeyRotationPolicy(this.vaultUrl, name); + return keyRotationTransformations.generatedToPublic(policy); + }); + } + + /** + * Updates the rotation policy of a Key Vault Key. + * + * Example usage: + * ```ts + * let client = new KeyClient(vaultUrl, credentials); + * const setPolicy = await client.updateKeyRotationPolicy("MyKey", myPolicy); + * ``` + * + * @param name - The name of the key. + * @param policyProperties - The {@link KeyRotationPolicyProperties} for the policy. + * @param options - The optional parameters. + */ + public updateKeyRotationPolicy( + name: string, + policy: KeyRotationPolicyProperties, + options: UpdateKeyRotationPolicyOptions = {} + ): Promise { + return withTrace("updateKeyRotationPolicy", options, async (updatedOptions) => { + const result = await this.client.updateKeyRotationPolicy( + this.vaultUrl, + name, + keyRotationTransformations.propertiesToGenerated(policy), + updatedOptions + ); + return keyRotationTransformations.generatedToPublic(result); + }); + } + /** * @internal * @hidden diff --git a/sdk/keyvault/keyvault-keys/src/keysModels.ts b/sdk/keyvault/keyvault-keys/src/keysModels.ts index cbeb0cc35255..6fa6f9f9414c 100644 --- a/sdk/keyvault/keyvault-keys/src/keysModels.ts +++ b/sdk/keyvault/keyvault-keys/src/keysModels.ts @@ -600,3 +600,97 @@ export interface RandomBytes { /** The random bytes returned by the service. */ bytes: Uint8Array; } + +/** + * Options for {@link KeyClient.getCryptographyClient}. + */ +export interface GetCryptographyClientOptions { + /** + * The version of the key to use for cryptographic operations. + * + * When undefined, the latest version of the key will be used. + */ + keyVersion?: string; +} + +/** + * Options for {@link KeyClient.rotateKey} + */ +export interface RotateKeyOptions extends coreHttp.OperationOptions {} + +/** + * The properties of a key rotation policy that the client can set for a given key. + * + * You may also reset the key rotation policy to its default values by setting lifetimeActions to an empty array. + */ +export interface KeyRotationPolicyProperties { + /** + * Optional key expiration period used to define the duration after which a newly rotated key will expire, defined as an ISO 8601 duration. + */ + expiresIn?: string; + + /** + * Actions that will be performed by Key Vault over the lifetime of a key. + * + * You may also pass an empty array to restore to its default values. + */ + lifetimeActions?: KeyRotationLifetimeAction[]; +} + +/** + * The complete key rotation policy that belongs to a key. + */ +export interface KeyRotationPolicy extends KeyRotationPolicyProperties { + /** + * The identifier of the Key Rotation Policy. + * May be undefined if a policy has not been explicitly set. + */ + readonly id?: string; + + /** + * The created time in UTC. + * May be undefined if a policy has not been explicitly set. + */ + readonly createdOn?: Date; + + /** + * The last updated time in UTC. + * May be undefined if a policy has not been explicitly set. + */ + readonly updatedOn?: Date; +} + +/** + * An action and its corresponding trigger that will be performed by Key Vault over the lifetime of a key. + */ +export interface KeyRotationLifetimeAction { + /** + * Time after creation to attempt the specified action, defined as an ISO 8601 duration. + */ + timeAfterCreate?: string; + + /** + * Time before expiry to attempt the specified action, defined as an ISO 8601 duration. + */ + timeBeforeExpiry?: string; + + /** + * The action that will be executed. + */ + action: KeyRotationPolicyAction; +} + +/** + * The action that will be executed. + */ +export type KeyRotationPolicyAction = "Rotate" | "Notify"; + +/** + * Options for {@link KeyClient.updateKeyRotationPolicy} + */ +export interface UpdateKeyRotationPolicyOptions extends coreHttp.OperationOptions {} + +/** + * Options for {@link KeyClient.getRotationPolicy} + */ +export interface GetKeyRotationPolicyOptions extends coreHttp.OperationOptions {} diff --git a/sdk/keyvault/keyvault-keys/src/transformations.ts b/sdk/keyvault/keyvault-keys/src/transformations.ts index 105580ccaf0c..7f32891212dc 100644 --- a/sdk/keyvault/keyvault-keys/src/transformations.ts +++ b/sdk/keyvault/keyvault-keys/src/transformations.ts @@ -6,10 +6,20 @@ import { DeletedKeyItem, KeyAttributes, KeyBundle, - KeyItem + KeyItem, + KeyRotationPolicy as GeneratedPolicy, + LifetimeActions } from "./generated/models"; import { parseKeyVaultKeyIdentifier } from "./identifier"; -import { DeletedKey, KeyVaultKey, JsonWebKey, KeyOperation, KeyProperties } from "./keysModels"; +import { + DeletedKey, + KeyVaultKey, + JsonWebKey, + KeyOperation, + KeyProperties, + KeyRotationPolicy, + KeyRotationPolicyProperties +} from "./keysModels"; /** * @internal @@ -111,3 +121,51 @@ export function getKeyPropertiesFromKeyItem(keyItem: KeyItem): KeyProperties { return resultObject; } + +/** + * @internal + */ +export const keyRotationTransformations = { + propertiesToGenerated: function( + parameters: KeyRotationPolicyProperties + ): Partial { + const policy: GeneratedPolicy = { + attributes: { + expiryTime: parameters.expiresIn + }, + lifetimeActions: parameters.lifetimeActions?.map((action) => { + const generatedAction: LifetimeActions = { + action: { type: action.action }, + trigger: {} + }; + + if (action.timeAfterCreate) { + generatedAction.trigger!.timeAfterCreate = action.timeAfterCreate; + } + + if (action.timeBeforeExpiry) { + generatedAction.trigger!.timeBeforeExpiry = action.timeBeforeExpiry; + } + + return generatedAction; + }) + }; + return policy; + }, + generatedToPublic(generated: GeneratedPolicy): KeyRotationPolicy { + const policy: KeyRotationPolicy = { + id: generated.id, + createdOn: generated.attributes?.created, + updatedOn: generated.attributes?.updated, + expiresIn: generated.attributes?.expiryTime, + lifetimeActions: generated.lifetimeActions?.map((action) => { + return { + action: action.action!.type!, + timeAfterCreate: action.trigger?.timeAfterCreate, + timeBeforeExpiry: action.trigger?.timeBeforeExpiry + }; + }) + }; + return policy; + } +}; diff --git a/sdk/keyvault/keyvault-keys/swagger/README.md b/sdk/keyvault/keyvault-keys/swagger/README.md index 73eea72b1973..13d26d4397da 100644 --- a/sdk/keyvault/keyvault-keys/swagger/README.md +++ b/sdk/keyvault/keyvault-keys/swagger/README.md @@ -14,7 +14,7 @@ output-folder: ../ source-code-folder-path: ./src/generated disable-async-iterators: true api-version-parameter: choice -package-version: 4.4.0-beta.1 +package-version: 4.4.0-beta.2 ``` ## Customizations for Track 2 Generator @@ -35,3 +35,16 @@ directive: transform: > $["x-ms-client-name"] = "authenticationTag" ``` + +### Update swagger enum values for LifetimeActionsType to reflect what the service actually returns + +There is an ongoing thread about changing the swagger or returning lowercase values for enum values. + +```yaml +directive: + - from: swagger-document + where: $.definitions.LifetimeActionsType.properties["type"]["x-ms-enum"] + transform: > + $.values[0].value = "Rotate"; + $.values[1].value = "Notify"; +``` diff --git a/sdk/keyvault/keyvault-keys/test/internal/aesCryptography.spec.ts b/sdk/keyvault/keyvault-keys/test/internal/aesCryptography.spec.ts index 85923d25f2ad..9e0f7e5db16e 100644 --- a/sdk/keyvault/keyvault-keys/test/internal/aesCryptography.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/internal/aesCryptography.spec.ts @@ -15,7 +15,7 @@ import { isNode } from "@azure/core-http"; import { AesCryptographyProvider } from "../../src/cryptography/aesCryptographyProvider"; import TestClient from "../utils/testClient"; import { authenticate } from "../utils/testAuthentication"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { RemoteCryptographyProvider } from "../../src/cryptography/remoteCryptographyProvider"; import { ClientSecretCredential } from "@azure/identity"; import { getServiceVersion } from "../utils/utils.common"; diff --git a/sdk/keyvault/keyvault-keys/test/internal/challengeBasedAuthenticationPolicy.spec.ts b/sdk/keyvault/keyvault-keys/test/internal/challengeBasedAuthenticationPolicy.spec.ts index 01ffdb8a7642..db21e768d277 100644 --- a/sdk/keyvault/keyvault-keys/test/internal/challengeBasedAuthenticationPolicy.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/internal/challengeBasedAuthenticationPolicy.spec.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { Context } from "mocha"; import { createSandbox } from "sinon"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { AuthenticationChallengeCache, diff --git a/sdk/keyvault/keyvault-keys/test/internal/crypto.spec.ts b/sdk/keyvault/keyvault-keys/test/internal/crypto.spec.ts index 858eb1b9307c..bb8cd36aaf63 100644 --- a/sdk/keyvault/keyvault-keys/test/internal/crypto.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/internal/crypto.spec.ts @@ -6,8 +6,16 @@ import { Context } from "mocha"; import chai, { assert } from "chai"; import chaiAsPromised from "chai-as-promised"; chai.use(chaiAsPromised); +import chaiExclude from "chai-exclude"; +chai.use(chaiExclude); import sinon from "sinon"; -import { CryptographyClient, DecryptParameters, EncryptParameters, KeyVaultKey } from "../../src"; +import { + CryptographyClient, + DecryptParameters, + EncryptParameters, + KeyClient, + KeyVaultKey +} from "../../src"; import { RsaCryptographyProvider } from "../../src/cryptography/rsaCryptographyProvider"; import { JsonWebKey } from "../../src"; import { stringToUint8Array } from "../utils/crypto"; @@ -34,6 +42,14 @@ describe("internal crypto tests", () => { /not a valid Key Vault key ID/ ); }); + + it("allows version to be omitted", () => { + const client = new CryptographyClient( + "https://my.vault.azure.net/keys/keyId", + tokenCredential + ); + assert.equal(client.vaultUrl, "https://my.vault.azure.net"); + }); }); describe("with a KeyVault Key", () => { @@ -107,6 +123,20 @@ describe("internal crypto tests", () => { }); }); + describe("from a keyClient", () => { + it("shares the generated client", () => { + const keyClient = new KeyClient("https://my.vault.azure.net/", tokenCredential); + const cryptoClient = keyClient.getCryptographyClient("keyId", { keyVersion: "v1" }); + assert.strictEqual(keyClient["client"], cryptoClient["remoteProvider"]!["client"]); + }); + + it("supports omitting key version", () => { + const keyClient = new KeyClient("https://my.vault.azure.net/", tokenCredential); + const cryptoClient = keyClient.getCryptographyClient("keyId"); + assert.strictEqual(keyClient["client"], cryptoClient["remoteProvider"]!["client"]); + }); + }); + describe("Parameter passing to encrypt / decrypt", function() { let client: CryptographyClient; let cryptoProvider: CryptographyProvider; @@ -145,7 +175,7 @@ describe("internal crypto tests", () => { { algorithm: "RSA1_5", plaintext: text }, operationOptionsSinonMatcher({ requestOptions: { timeout: 5 }, - tracingOptions: { spanOptions: {} } + tracingOptions: {} }) ); }); @@ -163,7 +193,7 @@ describe("internal crypto tests", () => { { algorithm: "RSA1_5", plaintext: text }, operationOptionsSinonMatcher({ requestOptions: { timeout: 5 }, - tracingOptions: { spanOptions: {} } + tracingOptions: {} }) ); }); @@ -179,7 +209,7 @@ describe("internal crypto tests", () => { { algorithm: "RSA1_5", ciphertext: text }, operationOptionsSinonMatcher({ requestOptions: { timeout: 5 }, - tracingOptions: { spanOptions: {} } + tracingOptions: {} }) ); }); @@ -197,7 +227,7 @@ describe("internal crypto tests", () => { { algorithm: "RSA1_5", ciphertext: text }, operationOptionsSinonMatcher({ requestOptions: { timeout: 5 }, - tracingOptions: { spanOptions: {} } + tracingOptions: {} }) ); }); @@ -427,7 +457,9 @@ function operationOptionsSinonMatcher( assert.ok(actualOptions.tracingOptions?.tracingContext); delete actualOptions.tracingOptions?.tracingContext; - assert.deepEqual(expectedPropagatedOptions, actualOptions); + assert.deepEqualExcludingEvery(actualOptions, expectedPropagatedOptions, [ + "spanOptions" + ] as any); return true; }); } diff --git a/sdk/keyvault/keyvault-keys/test/internal/serviceVersionParameter.spec.ts b/sdk/keyvault/keyvault-keys/test/internal/serviceVersionParameter.spec.ts index b91567f60ebe..7c3074cfb065 100644 --- a/sdk/keyvault/keyvault-keys/test/internal/serviceVersionParameter.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/internal/serviceVersionParameter.spec.ts @@ -7,7 +7,7 @@ import { KeyClient } from "../../src"; import { LATEST_API_VERSION } from "../../src/keysModels"; import { HttpClient, HttpOperationResponse, WebResourceLike, HttpHeaders } from "@azure/core-http"; import { ClientSecretCredential } from "@azure/identity"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; import { versionsToTest } from "@azure/test-utils"; import { serviceVersions } from "../utils/utils.common"; diff --git a/sdk/keyvault/keyvault-keys/test/internal/transformations.spec.ts b/sdk/keyvault/keyvault-keys/test/internal/transformations.spec.ts index 030e1500c6d4..c94e790d8435 100644 --- a/sdk/keyvault/keyvault-keys/test/internal/transformations.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/internal/transformations.spec.ts @@ -2,12 +2,24 @@ // Licensed under the MIT license. import { assert } from "chai"; -import { DeletedKeyBundle, DeletedKeyItem, KeyBundle } from "../../src/generated"; -import { DeletedKey, KeyProperties, KeyVaultKey } from "../../src/keysModels"; +import { + DeletedKeyBundle, + DeletedKeyItem, + KeyBundle, + KeyRotationPolicy as GeneratedKeyRotationPolicy +} from "../../src/generated"; +import { + DeletedKey, + KeyProperties, + KeyVaultKey, + KeyRotationPolicy, + KeyRotationPolicyProperties +} from "../../src/keysModels"; import { getDeletedKeyFromDeletedKeyItem, getKeyFromKeyBundle, - getKeyPropertiesFromKeyItem + getKeyPropertiesFromKeyItem, + keyRotationTransformations } from "../../src/transformations"; import { stringToUint8Array } from "../utils/crypto"; @@ -253,4 +265,89 @@ describe("Transformations", () => { const key: KeyProperties = getKeyPropertiesFromKeyItem(item); assert.deepEqual(key, expectedResult); }); + + describe("keyRotationTransformations", () => { + it("converts generated to public", () => { + const date = new Date(); + const generated: GeneratedKeyRotationPolicy = { + attributes: { + created: date, + expiryTime: "P30D", + updated: date + }, + id: "policy-id", + lifetimeActions: [ + { + action: { type: "Rotate" }, + trigger: { timeAfterCreate: "P90D", timeBeforeExpiry: "P90D" } + }, + { + action: { type: "Notify" }, + trigger: { timeAfterCreate: "P90D", timeBeforeExpiry: "P90D" } + } + ] + }; + + const expected: KeyRotationPolicy = { + createdOn: date, + expiresIn: "P30D", + updatedOn: date, + id: "policy-id", + lifetimeActions: [ + { + action: "Rotate", + timeAfterCreate: "P90D", + timeBeforeExpiry: "P90D" + }, + { + action: "Notify", + timeAfterCreate: "P90D", + timeBeforeExpiry: "P90D" + } + ] + }; + + assert.deepEqual(keyRotationTransformations.generatedToPublic(generated), expected); + }); + + it("converts properties to generated", () => { + const publicPolicy: KeyRotationPolicyProperties = { + expiresIn: "P30D", + lifetimeActions: [ + { + action: "Rotate", + timeAfterCreate: "P90D", + timeBeforeExpiry: "P90D" + }, + { + action: "Notify", + timeAfterCreate: "P90D", + timeBeforeExpiry: "P90D" + } + ] + }; + + const expected: GeneratedKeyRotationPolicy = { + attributes: { + expiryTime: "P30D" + }, + lifetimeActions: [ + { + action: { type: "Rotate" }, + trigger: { timeAfterCreate: "P90D", timeBeforeExpiry: "P90D" } + }, + { + action: { type: "Notify" }, + trigger: { timeAfterCreate: "P90D", timeBeforeExpiry: "P90D" } + } + ] + }; + + assert.deepEqualExcludingEvery( + keyRotationTransformations.propertiesToGenerated(publicPolicy), + expected, + ["created", "updated"] as any + ); + }); + }); }); diff --git a/sdk/keyvault/keyvault-keys/test/public/crypto.hsm.spec.ts b/sdk/keyvault/keyvault-keys/test/public/crypto.hsm.spec.ts index 3e2e86948c61..21504e1b42e1 100644 --- a/sdk/keyvault/keyvault-keys/test/public/crypto.hsm.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/crypto.hsm.spec.ts @@ -3,7 +3,7 @@ import { assert } from "chai"; import { Context } from "mocha"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { ClientSecretCredential } from "@azure/identity"; import { CryptographyClient, KeyVaultKey, KeyClient } from "../../src"; diff --git a/sdk/keyvault/keyvault-keys/test/public/crypto.spec.ts b/sdk/keyvault/keyvault-keys/test/public/crypto.spec.ts index 1391dc42e78d..6fe254d85ad9 100644 --- a/sdk/keyvault/keyvault-keys/test/public/crypto.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/crypto.spec.ts @@ -5,7 +5,7 @@ import { assert } from "chai"; import { supportsTracing } from "../../../keyvault-common/test/utils/supportsTracing"; import { Context } from "mocha"; import { createHash } from "crypto"; -import { Recorder, env, isLiveMode } from "@azure/test-utils-recorder"; +import { Recorder, env, isLiveMode } from "@azure-tools/test-recorder"; import { ClientSecretCredential } from "@azure/identity"; import { CryptographyClient, KeyVaultKey, KeyClient } from "../../src"; @@ -303,7 +303,10 @@ describe("CryptographyClient (all decrypts happen remotely)", () => { ] as const) { it(`sign / signData and verify / verifyData using ${signatureAlgorithm}`, async function(this: Context) { keyVaultKey = await client.createEcKey(keyName, { curve: keyCurve }); - cryptoClient = new CryptographyClient(keyVaultKey.id!, credential); + // Implicitly test the getCryptographyClient method here + cryptoClient = client.getCryptographyClient(keyVaultKey.name, { + keyVersion: keyVaultKey.properties.version + }); const data = Buffer.from("my message"); // Sign and verify diff --git a/sdk/keyvault/keyvault-keys/test/public/import.spec.ts b/sdk/keyvault/keyvault-keys/test/public/import.spec.ts index 0a06a07c8d77..f70f785c2bf6 100644 --- a/sdk/keyvault/keyvault-keys/test/public/import.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/import.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { KeyClient } from "../../src"; import { authenticate } from "../utils/testAuthentication"; diff --git a/sdk/keyvault/keyvault-keys/test/public/keyClient.hsm.spec.ts b/sdk/keyvault/keyvault-keys/test/public/keyClient.hsm.spec.ts index f4bdfb97661a..0578a457e3d3 100644 --- a/sdk/keyvault/keyvault-keys/test/public/keyClient.hsm.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/keyClient.hsm.spec.ts @@ -3,7 +3,7 @@ import { assert } from "chai"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { KeyClient } from "../../src"; import { authenticate } from "../utils/testAuthentication"; import TestClient from "../utils/testClient"; @@ -159,7 +159,7 @@ onVersions({ minVer: "7.2" }).describe( value: "false" } ], - authority: "https://sharedeus.eus.attest.azure.net/" + authority: env.AZURE_KEYVAULT_ATTESTATION_URI } ], version: "1.0" @@ -174,10 +174,6 @@ onVersions({ minVer: "7.2" }).describe( ); // Note: the service will parse the policy and return a different shape, for example: { "claim": "sdk-test", "equals": "false" } in this test. - assert.equal( - decodedReleasePolicy.anyOf[0].authority, - "https://sharedeus.eus.attest.azure.net/" - ); assert.equal(decodedReleasePolicy.anyOf[0].anyOf[0].equals, "false"); }); diff --git a/sdk/keyvault/keyvault-keys/test/public/keyClient.spec.ts b/sdk/keyvault/keyvault-keys/test/public/keyClient.spec.ts index c0c2d0fba2cf..d47c3851962f 100644 --- a/sdk/keyvault/keyvault-keys/test/public/keyClient.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/keyClient.spec.ts @@ -1,11 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { assert } from "chai"; +import chai, { assert } from "chai"; +import chaiExclude from "chai-exclude"; +chai.use(chaiExclude); import { Context } from "mocha"; import { RestError } from "@azure/core-http"; import { AbortController } from "@azure/abort-controller"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { KeyClient, @@ -13,7 +15,7 @@ import { UpdateKeyPropertiesOptions, GetKeyOptions } from "../../src"; -import { assertThrowsAbortError, getServiceVersion } from "../utils/utils.common"; +import { assertThrowsAbortError, getServiceVersion, onVersions } from "../utils/utils.common"; import { testPollerProperties } from "../utils/recorderUtils"; import { authenticate } from "../utils/testAuthentication"; import TestClient from "../utils/testClient"; @@ -397,4 +399,134 @@ describe("Keys client - create, read, update and delete operations", () => { ["Azure.KeyVault.Keys.KeyClient.createKey"] ); }); + + onVersions({ minVer: "7.3-preview" }).describe("key rotation", () => { + it("rotateKey supports rotating a key", async () => { + const keyName = recorder.getUniqueName("keyrotate"); + const key = await client.createKey(keyName, "RSA"); + const rotatedKey = await client.rotateKey(keyName); + + // The rotated key should have mostly the same data, excluding properties that are rotated. + assert.deepEqualExcludingEvery(rotatedKey, key, ["id", "kid", "version", "n", "e"] as any); + + // A new version is created, and the key material is rotated (RSA key, check n and e). + assert.notEqual(rotatedKey.id, key.id); + assert.notEqual(rotatedKey.properties.version, key.properties.version); + assert.notDeepEqual(rotatedKey.key?.n, key.key?.n); + }); + + it("rotateKey supports tracing", async () => { + const keyName = recorder.getUniqueName("keyrotatetracing"); + const key = await client.createKey(keyName, "RSA"); + + await supportsTracing((tracingOptions) => client.rotateKey(key.name, { tracingOptions }), [ + "Azure.KeyVault.Keys.KeyClient.rotateKey" + ]); + }); + + it("updateKeyRotationPolicy supports creating a new rotation policy and fetching it", async () => { + const keyName = recorder.getUniqueName("keyrotationpolicy"); + const key = await client.createKey(keyName, "RSA"); + + const rotationPolicy = await client.updateKeyRotationPolicy(key.name, { + expiresIn: "P90D", + lifetimeActions: [ + { + action: "Rotate", + timeBeforeExpiry: "P30D" + } + ] + }); + + const fetchedPolicy = await client.getKeyRotationPolicy(keyName); + + assert.deepEqual(fetchedPolicy, rotationPolicy); + }); + + it("updateKeyRotationPolicy supports updating an existing policy", async () => { + const keyName = recorder.getUniqueName("keyrotationpolicy"); + const key = await client.createKey(keyName, "RSA"); + + // Create a policy which we will override later. + await client.updateKeyRotationPolicy(key.name, { + lifetimeActions: [ + { + action: "Rotate", + timeAfterCreate: "P2M" + } + ] + }); + + const updatedPolicy = await client.updateKeyRotationPolicy(key.name, { + expiresIn: "P90D", + lifetimeActions: [ + { + action: "Notify", + timeBeforeExpiry: "P30D" + } + ] + }); + + assert.deepEqual(updatedPolicy, { + id: updatedPolicy.id, + createdOn: updatedPolicy.createdOn, + updatedOn: updatedPolicy.updatedOn, + expiresIn: "P90D", + lifetimeActions: [ + { + timeAfterCreate: undefined, + action: "Notify", + timeBeforeExpiry: "P30D" + } + ] + }); + }); + + it("updateKeyRotationPolicy supports tracing", async () => { + const keyName = recorder.getUniqueName("updaterotationpolicy"); + const key = await client.createKey(keyName, "EC"); + + await supportsTracing( + (tracingOptions) => + client.updateKeyRotationPolicy( + key.name, + { + lifetimeActions: [ + { + action: "Notify", + timeBeforeExpiry: "P30D" + } + ], + expiresIn: "P90D" + }, + { tracingOptions } + ), + ["Azure.KeyVault.Keys.KeyClient.updateKeyRotationPolicy"] + ); + }); + + it("throws when attempting to fetch a policy of a non-existent key", async () => { + const keyName = recorder.getUniqueName("nonexistentkey"); + await assert.isRejected(client.getKeyRotationPolicy(keyName)); + }); + + it("getKeyRotationPolicy supports tracing", async () => { + const keyName = recorder.getUniqueName("rotationpolicytracing"); + const key = await client.createKey(keyName, "RSA"); + + await client.updateKeyRotationPolicy(key.name, { + lifetimeActions: [ + { + action: "Rotate", + timeAfterCreate: "P2M" + } + ] + }); + + await supportsTracing( + (tracingOptions) => client.getKeyRotationPolicy(key.name, { tracingOptions }), + ["Azure.KeyVault.Keys.KeyClient.getKeyRotationPolicy"] + ); + }); + }); }); diff --git a/sdk/keyvault/keyvault-keys/test/public/list.spec.ts b/sdk/keyvault/keyvault-keys/test/public/list.spec.ts index 103c747ba779..4a09a363ba2c 100644 --- a/sdk/keyvault/keyvault-keys/test/public/list.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/list.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder, isRecordMode } from "@azure/test-utils-recorder"; +import { env, Recorder, isRecordMode } from "@azure-tools/test-recorder"; import { KeyClient } from "../../src"; import { assertThrowsAbortError, getServiceVersion } from "../utils/utils.common"; diff --git a/sdk/keyvault/keyvault-keys/test/public/localCryptography.spec.ts b/sdk/keyvault/keyvault-keys/test/public/localCryptography.spec.ts index e516957d87b6..6c563a1aa9a1 100644 --- a/sdk/keyvault/keyvault-keys/test/public/localCryptography.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/localCryptography.spec.ts @@ -10,7 +10,7 @@ import { isNode } from "@azure/core-http"; import { createHash } from "crypto"; import { authenticate } from "../utils/testAuthentication"; import TestClient from "../utils/testClient"; -import { Recorder, env } from "@azure/test-utils-recorder"; +import { Recorder, env } from "@azure-tools/test-recorder"; import { ClientSecretCredential } from "@azure/identity"; import { RsaCryptographyProvider } from "../../src/cryptography/rsaCryptographyProvider"; import { getServiceVersion } from "../utils/utils.common"; diff --git a/sdk/keyvault/keyvault-keys/test/public/lro.delete.spec.ts b/sdk/keyvault/keyvault-keys/test/public/lro.delete.spec.ts index beb21702f859..0d0d66a79c2b 100644 --- a/sdk/keyvault/keyvault-keys/test/public/lro.delete.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/lro.delete.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { PollerStoppedError } from "@azure/core-lro"; import { KeyClient, DeletedKey } from "../../src"; diff --git a/sdk/keyvault/keyvault-keys/test/public/lro.recoverDelete.spec.ts b/sdk/keyvault/keyvault-keys/test/public/lro.recoverDelete.spec.ts index b67b7615050e..1af1b21cfeb4 100644 --- a/sdk/keyvault/keyvault-keys/test/public/lro.recoverDelete.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/lro.recoverDelete.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { PollerStoppedError } from "@azure/core-lro"; import { KeyClient, DeletedKey } from "../../src"; diff --git a/sdk/keyvault/keyvault-keys/test/public/recoverBackupRestore.spec.ts b/sdk/keyvault/keyvault-keys/test/public/recoverBackupRestore.spec.ts index ab1c34a17a80..f15aaf5d7f2e 100644 --- a/sdk/keyvault/keyvault-keys/test/public/recoverBackupRestore.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/recoverBackupRestore.spec.ts @@ -7,7 +7,7 @@ import { isNode } from "@azure/core-http"; import { KeyClient } from "../../src"; import { assertThrowsAbortError, getServiceVersion } from "../utils/utils.common"; import { testPollerProperties } from "../utils/recorderUtils"; -import { env, Recorder, isRecordMode, isPlaybackMode } from "@azure/test-utils-recorder"; +import { env, Recorder, isRecordMode, isPlaybackMode } from "@azure-tools/test-recorder"; import { authenticate } from "../utils/testAuthentication"; import TestClient from "../utils/testClient"; diff --git a/sdk/keyvault/keyvault-keys/test/utils/base64url.browser.ts b/sdk/keyvault/keyvault-keys/test/utils/base64url.browser.ts new file mode 100644 index 000000000000..144d2487ed5c --- /dev/null +++ b/sdk/keyvault/keyvault-keys/test/utils/base64url.browser.ts @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * Decodes a base64url string. + * Padding is not needed for the recorded tests and is not added. + * + * @internal + */ +export function fromBase64url(value: string): string { + const encoded = value.replace(/-/g, "+").replace(/_/g, "/"); + return atob(encoded); +} + +/** + * Encodes a string to base64url. + * + * @internal + */ +export function toBase64url(value: string): string { + return btoa(value) + .replace(/\+/g, "-") + .replace(/\//g, "_") + .replace(/=+$/, ""); +} diff --git a/sdk/keyvault/keyvault-keys/test/utils/base64url.ts b/sdk/keyvault/keyvault-keys/test/utils/base64url.ts new file mode 100644 index 000000000000..02d9d2a7a5f3 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/test/utils/base64url.ts @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * Decodes a base64url string. + * Padding is not needed for the recorded tests and is not added. + * + * @internal + */ +export function fromBase64url(value: string): string { + const encoded = value.replace(/-/g, "+").replace(/_/g, "/"); + return Buffer.from(encoded, "base64").toString(); +} + +/** + * Encodes a string to base64url. + * + * @internal + */ +export function toBase64url(value: string): string { + return Buffer.from(value) + .toString("base64") + .replace(/\+/g, "-") + .replace(/\//g, "_") + .replace(/=+$/, ""); +} diff --git a/sdk/keyvault/keyvault-keys/test/utils/recorderUtils.ts b/sdk/keyvault/keyvault-keys/test/utils/recorderUtils.ts index dce9de46df48..fff15a84fadb 100644 --- a/sdk/keyvault/keyvault-keys/test/utils/recorderUtils.ts +++ b/sdk/keyvault/keyvault-keys/test/utils/recorderUtils.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { isPlaybackMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import * as dotenv from "dotenv"; diff --git a/sdk/keyvault/keyvault-keys/test/utils/testAuthentication.ts b/sdk/keyvault/keyvault-keys/test/utils/testAuthentication.ts index 67cacc702a41..faada6369559 100644 --- a/sdk/keyvault/keyvault-keys/test/utils/testAuthentication.ts +++ b/sdk/keyvault/keyvault-keys/test/utils/testAuthentication.ts @@ -3,26 +3,44 @@ import { ClientSecretCredential } from "@azure/identity"; import { KeyClient } from "../../src"; -import { env, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { uniqueString } from "./recorderUtils"; import TestClient from "./testClient"; import { Context } from "mocha"; +import { fromBase64url, toBase64url } from "./base64url"; + +const replaceableVariables = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "12345678-1234-1234-1234-123456789012", + KEYVAULT_NAME: "keyvault_name", + KEYVAULT_URI: "https://keyvault_name.vault.azure.net/", + AZURE_MANAGEDHSM_URI: "https://azure_managedhsm.managedhsm.azure.net/", + AZURE_KEYVAULT_ATTESTATION_URI: "https://skr_attestation.azure.net/" +}; export async function authenticate(that: Context, version: string): Promise { const keySuffix = uniqueString(); const recorderEnvSetup: RecorderEnvironmentSetup = { - replaceableVariables: { - AZURE_CLIENT_ID: "azure_client_id", - AZURE_CLIENT_SECRET: "azure_client_secret", - AZURE_TENANT_ID: "12345678-1234-1234-1234-123456789012", - KEYVAULT_NAME: "keyvault_name", - KEYVAULT_URI: "https://keyvault_name.vault.azure.net/", - AZURE_MANAGEDHSM_URI: "https://azure_managedhsm.managedhsm.azure.net/", - AZURE_KEYVAULT_ATTESTATION_URI: "https://skrattestation.azurewebsites.net/" - }, + replaceableVariables, customizationsOnRecordings: [ (recording: any): any => - keySuffix === "" ? recording : recording.replace(new RegExp(keySuffix, "g"), "") + keySuffix === "" ? recording : recording.replace(new RegExp(keySuffix, "g"), ""), + (recording: string): string => + recording.replace( + // Unpack the base64url encoded release policy and replace any instances of the AZURE_KEYVAULT_ATTESTATION_URI env variable. + /"data":"(eyJ[^"]+)"/g, + (_match: string, token: string) => { + let decoded = fromBase64url(token); + + decoded = decoded.replace( + env.AZURE_KEYVAULT_ATTESTATION_URI, + replaceableVariables.AZURE_KEYVAULT_ATTESTATION_URI + ); + + return `"data":"${toBase64url(decoded)}"`; + } + ) ], queryParametersToSkip: [] }; diff --git a/sdk/keyvault/keyvault-keys/test/utils/utils.common.ts b/sdk/keyvault/keyvault-keys/test/utils/utils.common.ts index 8528c5be3989..99e779a2bb05 100644 --- a/sdk/keyvault/keyvault-keys/test/utils/utils.common.ts +++ b/sdk/keyvault/keyvault-keys/test/utils/utils.common.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { SupportedVersions, supports, TestFunctionWrapper } from "@azure/test-utils"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; import * as assert from "assert"; import { LATEST_API_VERSION } from "../../src/keysModels"; diff --git a/sdk/keyvault/keyvault-secrets/CHANGELOG.md b/sdk/keyvault/keyvault-secrets/CHANGELOG.md index 3d0aa1350352..e2656c14a612 100644 --- a/sdk/keyvault/keyvault-secrets/CHANGELOG.md +++ b/sdk/keyvault/keyvault-secrets/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 4.3.1 (Unreleased) +## 4.4.0-beta.2 (Unreleased) ### Features Added @@ -10,6 +10,12 @@ ### Other Changes +## 4.4.0-beta.1 (2021-09-07) + +### Other Changes + +- Updated the latest service version to 7.3. + ## 4.3.0 (2021-07-29) ### Features Added diff --git a/sdk/keyvault/keyvault-secrets/karma.conf.js b/sdk/keyvault/keyvault-secrets/karma.conf.js index 110299315846..a29b66d425ae 100644 --- a/sdk/keyvault/keyvault-secrets/karma.conf.js +++ b/sdk/keyvault/keyvault-secrets/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/keyvault/keyvault-secrets/package.json b/sdk/keyvault/keyvault-secrets/package.json index 1045375cb98d..18bc51260982 100644 --- a/sdk/keyvault/keyvault-secrets/package.json +++ b/sdk/keyvault/keyvault-secrets/package.json @@ -2,7 +2,7 @@ "name": "@azure/keyvault-secrets", "sdk-type": "client", "author": "Microsoft Corporation", - "version": "4.3.1", + "version": "4.4.0-beta.2", "license": "MIT", "description": "Isomorphic client library for Azure KeyVault's secrets.", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/keyvault/keyvault-secrets/README.md", @@ -45,7 +45,7 @@ "build:nodebrowser": "rollup -c 2>&1", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* types *.tgz *.log dist-browser statistics.html coverage && rimraf src/**/*.js && rimraf test/**/*.js", "execute:samples": "dev-tool samples run samples-dev", @@ -58,7 +58,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "regenerate": "npx autorest swagger/README.md --typescript", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", @@ -114,9 +113,9 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.7", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", @@ -126,7 +125,6 @@ "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", - "@types/query-string": "6.2.0", "@types/sinon": "^9.0.4", "assert": "^1.4.1", "chai": "^4.2.0", @@ -151,8 +149,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", - "query-string": "^5.0.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", diff --git a/sdk/keyvault/keyvault-secrets/rollup.base.config.js b/sdk/keyvault/keyvault-secrets/rollup.base.config.js index 91c13a4c70ca..e9ed07f3596c 100644 --- a/sdk/keyvault/keyvault-secrets/rollup.base.config.js +++ b/sdk/keyvault/keyvault-secrets/rollup.base.config.js @@ -28,6 +28,7 @@ const banner = [ ].join("\n"); const depNames = Object.keys(pkg.dependencies); +const devDepNames = Object.keys(pkg.devDependencies); const production = process.env.NODE_ENV === "production"; export function nodeConfig(test = false) { @@ -69,7 +70,7 @@ export function nodeConfig(test = false) { // different output file baseConfig.output.file = "dist-test/index.node.js"; - baseConfig.external.push("assert", "fs", "path", "chai"); + baseConfig.external.push(...devDepNames); baseConfig.context = "null"; diff --git a/sdk/keyvault/keyvault-secrets/samples/v4/javascript/README.md b/sdk/keyvault/keyvault-secrets/samples/v4/javascript/README.md index 2a8b38b5c05b..351174ea3f91 100644 --- a/sdk/keyvault/keyvault-secrets/samples/v4/javascript/README.md +++ b/sdk/keyvault/keyvault-secrets/samples/v4/javascript/README.md @@ -22,7 +22,7 @@ These sample programs show how to use the JavaScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). You need [an Azure subscription][freesub] and the following Azure resources to run these sample programs: diff --git a/sdk/keyvault/keyvault-secrets/samples/v4/javascript/package.json b/sdk/keyvault/keyvault-secrets/samples/v4/javascript/package.json index c4005f897fc3..dd229c9e40ef 100644 --- a/sdk/keyvault/keyvault-secrets/samples/v4/javascript/package.json +++ b/sdk/keyvault/keyvault-secrets/samples/v4/javascript/package.json @@ -27,8 +27,8 @@ }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/keyvault/keyvault-secrets", "dependencies": { - "@azure/keyvault-secrets": "latest", + "@azure/keyvault-secrets": "next", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.6" } } diff --git a/sdk/keyvault/keyvault-secrets/samples/v4/typescript/README.md b/sdk/keyvault/keyvault-secrets/samples/v4/typescript/README.md index 539f96af94c4..4d9831e9b826 100644 --- a/sdk/keyvault/keyvault-secrets/samples/v4/typescript/README.md +++ b/sdk/keyvault/keyvault-secrets/samples/v4/typescript/README.md @@ -22,7 +22,7 @@ These sample programs show how to use the TypeScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +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: diff --git a/sdk/keyvault/keyvault-secrets/samples/v4/typescript/package.json b/sdk/keyvault/keyvault-secrets/samples/v4/typescript/package.json index c29dd1c9db7b..673939868bb3 100644 --- a/sdk/keyvault/keyvault-secrets/samples/v4/typescript/package.json +++ b/sdk/keyvault/keyvault-secrets/samples/v4/typescript/package.json @@ -31,9 +31,9 @@ }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/keyvault/keyvault-secrets", "dependencies": { - "@azure/keyvault-secrets": "latest", + "@azure/keyvault-secrets": "next", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.6" }, "devDependencies": { "typescript": "~4.2.0", diff --git a/sdk/keyvault/keyvault-secrets/src/constants.ts b/sdk/keyvault/keyvault-secrets/src/constants.ts index bd71b3ea4dbc..aed75137e275 100644 --- a/sdk/keyvault/keyvault-secrets/src/constants.ts +++ b/sdk/keyvault/keyvault-secrets/src/constants.ts @@ -1,4 +1,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "4.3.1"; +export const SDK_VERSION: string = "4.4.0-beta.2"; diff --git a/sdk/keyvault/keyvault-secrets/src/generated/keyVaultClient.ts b/sdk/keyvault/keyvault-secrets/src/generated/keyVaultClient.ts index bc4c16d6840d..9bd4b48022a2 100644 --- a/sdk/keyvault/keyvault-secrets/src/generated/keyVaultClient.ts +++ b/sdk/keyvault/keyvault-secrets/src/generated/keyVaultClient.ts @@ -12,7 +12,7 @@ import * as Mappers from "./models/mappers"; import { KeyVaultClientContext } from "./keyVaultClientContext"; import { KeyVaultClientOptionalParams, - ApiVersion72Preview, + ApiVersion73Preview, KeyVaultClientSetSecretOptionalParams, KeyVaultClientSetSecretResponse, KeyVaultClientDeleteSecretResponse, @@ -45,7 +45,7 @@ export class KeyVaultClient extends KeyVaultClientContext { * @param options The parameter options */ constructor( - apiVersion: ApiVersion72Preview, + apiVersion: ApiVersion73Preview, options?: KeyVaultClientOptionalParams ) { super(apiVersion, options); diff --git a/sdk/keyvault/keyvault-secrets/src/generated/keyVaultClientContext.ts b/sdk/keyvault/keyvault-secrets/src/generated/keyVaultClientContext.ts index 052eadb94605..fd6aa8ebe644 100644 --- a/sdk/keyvault/keyvault-secrets/src/generated/keyVaultClientContext.ts +++ b/sdk/keyvault/keyvault-secrets/src/generated/keyVaultClientContext.ts @@ -7,21 +7,24 @@ */ import * as coreHttp from "@azure/core-http"; -import { ApiVersion72Preview, KeyVaultClientOptionalParams } from "./models"; +import { ApiVersion73Preview, KeyVaultClientOptionalParams } from "./models"; const packageName = "@azure/keyvault-secrets"; -export const packageVersion = "4.3.1"; +export const packageVersion = "4.4.0-beta.2"; /** @hidden */ export class KeyVaultClientContext extends coreHttp.ServiceClient { - apiVersion: ApiVersion72Preview; + apiVersion: ApiVersion73Preview; /** * Initializes a new instance of the KeyVaultClientContext class. * @param apiVersion Api Version * @param options The parameter options */ - constructor(apiVersion: ApiVersion72Preview, options?: KeyVaultClientOptionalParams) { + constructor( + apiVersion: ApiVersion73Preview, + options?: KeyVaultClientOptionalParams + ) { if (apiVersion === undefined) { throw new Error("'apiVersion' cannot be null"); } diff --git a/sdk/keyvault/keyvault-secrets/src/generated/models/index.ts b/sdk/keyvault/keyvault-secrets/src/generated/models/index.ts index 288f9aa74f7d..d3bfd3b264d1 100644 --- a/sdk/keyvault/keyvault-secrets/src/generated/models/index.ts +++ b/sdk/keyvault/keyvault-secrets/src/generated/models/index.ts @@ -70,7 +70,7 @@ export interface KeyVaultError { * The key vault server error. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly error?: ErrorModel; + readonly error?: ErrorModel | null; } /** The key vault server error. */ @@ -89,7 +89,7 @@ export interface ErrorModel { * The key vault server error. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly innerError?: ErrorModel; + readonly innerError?: ErrorModel | null; } /** The secret update parameters. */ @@ -214,20 +214,20 @@ export type DeletedSecretItem = SecretItem & { readonly deletedDate?: Date; }; -/** Known values of {@link ApiVersion72Preview} that the service accepts. */ -export const enum KnownApiVersion72Preview { - /** Api Version '7.2-preview' */ - Seven2Preview = "7.2-preview" +/** Known values of {@link ApiVersion73Preview} that the service accepts. */ +export const enum KnownApiVersion73Preview { + /** Api Version '7.3-preview' */ + Seven3Preview = "7.3-preview" } /** - * Defines values for ApiVersion72Preview. \ - * {@link KnownApiVersion72Preview} can be used interchangeably with ApiVersion72Preview, + * Defines values for ApiVersion73Preview. \ + * {@link KnownApiVersion73Preview} can be used interchangeably with ApiVersion73Preview, * this enum contains the known values that the service supports. * ### Know values supported by the service - * **7.2-preview**: Api Version '7.2-preview' + * **7.3-preview**: Api Version '7.3-preview' */ -export type ApiVersion72Preview = string; +export type ApiVersion73Preview = string; /** Known values of {@link DeletionRecoveryLevel} that the service accepts. */ export const enum KnownDeletionRecoveryLevel { diff --git a/sdk/keyvault/keyvault-secrets/swagger/README.md b/sdk/keyvault/keyvault-secrets/swagger/README.md index f3daeb42bf4f..66fc50e5020e 100644 --- a/sdk/keyvault/keyvault-secrets/swagger/README.md +++ b/sdk/keyvault/keyvault-secrets/swagger/README.md @@ -14,9 +14,9 @@ azure-arm: false generate-metadata: false add-credentials: false license-header: MICROSOFT_MIT_NO_VERSION -input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/1e2c9f3ec93078da8078389941531359e274f32a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/secrets.json +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7a42f16c75e5005c59b75fe7f0888c1103294d43/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/secrets.json output-folder: ../ source-code-folder-path: ./src/generated hide-clients: true -package-version: 4.3.1 +package-version: 4.4.0-beta.2 ``` diff --git a/sdk/keyvault/keyvault-secrets/test/internal/challengeBasedAuthenticationPolicy.spec.ts b/sdk/keyvault/keyvault-secrets/test/internal/challengeBasedAuthenticationPolicy.spec.ts index b11638c73d8b..9b36838eb373 100644 --- a/sdk/keyvault/keyvault-secrets/test/internal/challengeBasedAuthenticationPolicy.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/internal/challengeBasedAuthenticationPolicy.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { createSandbox } from "sinon"; import { diff --git a/sdk/keyvault/keyvault-secrets/test/internal/serviceVersionParameter.spec.ts b/sdk/keyvault/keyvault-secrets/test/internal/serviceVersionParameter.spec.ts index d2394cd62caf..984371cfddbe 100644 --- a/sdk/keyvault/keyvault-secrets/test/internal/serviceVersionParameter.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/internal/serviceVersionParameter.spec.ts @@ -7,7 +7,7 @@ import { SecretClient } from "../../src"; import { LATEST_API_VERSION } from "../../src/secretsModels"; import { HttpClient, WebResourceLike, HttpOperationResponse, HttpHeaders } from "@azure/core-http"; import { ClientSecretCredential } from "@azure/identity"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; describe("The Secrets client should set the serviceVersion", () => { const keyVaultUrl = `https://keyVaultName.vault.azure.net`; @@ -58,13 +58,13 @@ describe("The Secrets client should set the serviceVersion", () => { }); // Adding this to the source would change the public API. - type ApIVersions = "7.0" | "7.1" | "7.2"; + type ApiVersions = "7.0" | "7.1" | "7.2"; it("it should allow us to specify an API version from a specific set of versions", async function() { - const versions: ApIVersions[] = ["7.0", "7.1", "7.2"]; + const versions: ApiVersions[] = ["7.0", "7.1", "7.2"]; for (const serviceVersion in versions) { const client = new SecretClient(keyVaultUrl, credential, { - serviceVersion: serviceVersion as ApIVersions, + serviceVersion: serviceVersion as ApiVersions, httpClient: mockHttpClient }); await client.setSecret("secretName", "value"); diff --git a/sdk/keyvault/keyvault-secrets/test/public/CRUD.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/CRUD.spec.ts index c5555b1ff279..89bd3adcda6a 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/CRUD.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/CRUD.spec.ts @@ -4,7 +4,7 @@ import { Context } from "mocha"; import { assert } from "chai"; import { supportsTracing } from "../../../keyvault-common/test/utils/supportsTracing"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { AbortController } from "@azure/abort-controller"; import { SecretClient } from "../../src"; diff --git a/sdk/keyvault/keyvault-secrets/test/public/list.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/list.spec.ts index 0d086732e584..16674c84f0a5 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/list.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/list.spec.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { Context } from "mocha"; import chai from "chai"; -import { env, Recorder, isRecordMode } from "@azure/test-utils-recorder"; +import { env, Recorder, isRecordMode } from "@azure-tools/test-recorder"; import { SecretClient } from "../../src"; import { assertThrowsAbortError } from "../utils/utils.common"; diff --git a/sdk/keyvault/keyvault-secrets/test/public/lro.delete.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/lro.delete.spec.ts index 3e5cc54a6858..dbc3b9bdbc84 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/lro.delete.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/lro.delete.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { PollerStoppedError } from "@azure/core-lro"; import { SecretClient, DeletedSecret } from "../../src"; diff --git a/sdk/keyvault/keyvault-secrets/test/public/lro.recover.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/lro.recover.spec.ts index 3990a0cfed12..edb3f63fc32d 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/lro.recover.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/lro.recover.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { Context } from "mocha"; -import { env, Recorder } from "@azure/test-utils-recorder"; +import { env, Recorder } from "@azure-tools/test-recorder"; import { PollerStoppedError } from "@azure/core-lro"; import { SecretClient, SecretProperties } from "../../src"; diff --git a/sdk/keyvault/keyvault-secrets/test/public/recoverBackupRestore.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/recoverBackupRestore.spec.ts index 8d96f30d9360..2d6bd8cabd50 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/recoverBackupRestore.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/recoverBackupRestore.spec.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { Context } from "mocha"; import { isNode } from "@azure/core-http"; -import { env, isPlaybackMode, Recorder, isRecordMode } from "@azure/test-utils-recorder"; +import { env, isPlaybackMode, Recorder, isRecordMode } from "@azure-tools/test-recorder"; import { SecretClient } from "../../src"; import { assertThrowsAbortError } from "../utils/utils.common"; diff --git a/sdk/keyvault/keyvault-secrets/test/utils/recorderUtils.ts b/sdk/keyvault/keyvault-secrets/test/utils/recorderUtils.ts index dce9de46df48..fff15a84fadb 100644 --- a/sdk/keyvault/keyvault-secrets/test/utils/recorderUtils.ts +++ b/sdk/keyvault/keyvault-secrets/test/utils/recorderUtils.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { isPlaybackMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import * as dotenv from "dotenv"; diff --git a/sdk/keyvault/keyvault-secrets/test/utils/testAuthentication.ts b/sdk/keyvault/keyvault-secrets/test/utils/testAuthentication.ts index 3f4d5cd99221..6eba48faf1d7 100644 --- a/sdk/keyvault/keyvault-secrets/test/utils/testAuthentication.ts +++ b/sdk/keyvault/keyvault-secrets/test/utils/testAuthentication.ts @@ -3,7 +3,7 @@ import { ClientSecretCredential } from "@azure/identity"; import { SecretClient } from "../../src"; -import { env, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { uniqueString } from "./recorderUtils"; import TestClient from "./testClient"; import { Context } from "mocha"; diff --git a/sdk/keyvault/perf-tests/keyvault-certificates/package.json b/sdk/keyvault/perf-tests/keyvault-certificates/package.json index 3a63316a7f56..fbad72b02691 100644 --- a/sdk/keyvault/perf-tests/keyvault-certificates/package.json +++ b/sdk/keyvault/perf-tests/keyvault-certificates/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-keyvault-certificates", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -9,16 +10,17 @@ "dependencies": { "@azure/test-utils-perfstress": "^1.0.0", "dotenv": "^8.2.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "uuid": "^8.3.0", "@azure/keyvault-certificates": "^4.2.0" }, "devDependencies": { + "@types/node": "^12.0.0", "eslint": "^7.15.0", "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "@types/uuid": "^8.0.0" }, @@ -26,11 +28,11 @@ "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -38,7 +40,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/keyvault/perf-tests/keyvault-keys/package.json b/sdk/keyvault/perf-tests/keyvault-keys/package.json index 07a2cfb9fe1c..c9d5b6a9a6fb 100644 --- a/sdk/keyvault/perf-tests/keyvault-keys/package.json +++ b/sdk/keyvault/perf-tests/keyvault-keys/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-keyvault-keys", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -10,15 +11,16 @@ "@azure/test-utils-perfstress": "^1.0.0", "@azure/keyvault-keys": "^4.2.1", "dotenv": "^8.2.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "uuid": "^8.3.0" }, "devDependencies": { + "@types/node": "^12.0.0", "eslint": "^7.15.0", "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "@types/uuid": "^8.0.0" }, @@ -26,11 +28,11 @@ "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -38,7 +40,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/keyvault/perf-tests/keyvault-secrets/package.json b/sdk/keyvault/perf-tests/keyvault-secrets/package.json index 987956e39065..e71eaff955d0 100644 --- a/sdk/keyvault/perf-tests/keyvault-secrets/package.json +++ b/sdk/keyvault/perf-tests/keyvault-secrets/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-keyvault-secrets", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -9,16 +10,17 @@ "dependencies": { "@azure/test-utils-perfstress": "^1.0.0", "dotenv": "^8.2.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "uuid": "^8.3.0", "@azure/keyvault-secrets": "^4.2.0" }, "devDependencies": { + "@types/node": "^12.0.0", "eslint": "^7.15.0", "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "@types/uuid": "^8.0.0" }, @@ -26,11 +28,11 @@ "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -38,7 +40,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 77350ef41126..ad5cd60f952d 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -18,11 +18,16 @@ }, "testApplicationOid": { "type": "string", - "defaultValue": "b3653439-8136-4cd5-aac3-2a9460871ca6", "metadata": { "description": "The client OID to grant access to test resources." } }, + "provisionerApplicationOid": { + "type": "string", + "metadata": { + "description": "The provisioner OID to grant access to test resources." + } + }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", @@ -32,10 +37,10 @@ }, "hsmLocation": { "type": "string", - "defaultValue": "eastus2", - "allowedValues": ["eastus2", "southcentralus", "northeurope", "westeurope"], + "defaultValue": "eastus", + "allowedValues": ["eastus", "eastus2", "southcentralus", "northeurope", "westeurope"], "metadata": { - "description": "The location of the Managed HSM. By default, this is 'eastus2'." + "description": "The location of the Managed HSM. By default, this is 'eastus'." } }, "enableHsm": { @@ -45,13 +50,6 @@ "description": "Whether to enable deployment of Managed HSM. The default is false." } }, - "enableSoftDelete": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Whether to enable soft delete for the Key Vault. The default is true." - } - }, "keyVaultSku": { "type": "string", "defaultValue": "premium", @@ -66,16 +64,25 @@ "description": "The base time to add 2 hours to for SAS token expiration. The default is the current time." } }, - "attestationUri": { + "attestationImageName": { "type": "string", - "defaultValue": "https://skrattestation.azurewebsites.net/", + "defaultValue": "keyvault-mock-attestation", "metadata": { - "description": "Test attestation service for Secure Key Release." + "description": "The name of the secure key release attestation image to deploy. Only deployed when enableHsm is true." + } + }, + "attestationImageTag": { + "type": "string", + "defaultValue": "latest", + "metadata": { + "description": "The tag of the secure key release attestation image to use. The default is 'latest'. Only deployed when enableHsm is true." } } }, "variables": { "kvApiVersion": "2019-09-01", + "attestationImageId": "[concat('DOCKER|azsdkengsys.azurecr.io/', parameters('attestationImageName'), ':', parameters('attestationImageTag'))]", + "attestationAppName": "[concat(parameters('baseName'), '-skr-attestation')]", "kvName": "[parameters('baseName')]", "hsmApiVersion": "2020-04-01-preview", "hsmName": "[concat(parameters('baseName'), 'hsm')]", @@ -138,7 +145,8 @@ "wrapKey", "verify", "sign", - "purge" + "purge", + "rotate" ], "secrets": ["get", "list", "set", "delete", "recover", "backup", "restore", "purge"], "certificates": [ @@ -165,7 +173,7 @@ "enabledForDeployment": false, "enabledForDiskEncryption": false, "enabledForTemplateDeployment": false, - "enableSoftDelete": "[parameters('enableSoftDelete')]", + "enableSoftDelete": true, "softDeleteRetentionInDays": 7 } }, @@ -183,7 +191,7 @@ "publicNetworkAccess": "Enabled", "networkAcls": "[variables('networkAcls')]", "tenantId": "[parameters('tenantId')]", - "initialAdminObjectIds": ["[parameters('testApplicationOid')]"], + "initialAdminObjectIds": "[union(array(parameters('testApplicationOid')), array(parameters('provisionerApplicationOid')))]", "enablePurgeProtection": false, "enableSoftDelete": true, "softDeleteRetentionInDays": 7 @@ -237,6 +245,40 @@ "properties": { "publicAccess": "None" } + }, + { + "type": "Microsoft.Web/serverfarms", + "apiVersion": "2021-01-15", + "name": "[variables('attestationAppName')]", + "location": "[parameters('location')]", + "kind": "linux", + "sku": { "name": "B1" }, + "properties": { + "reserved": true + } + }, + { + "type": "Microsoft.Web/sites", + "apiVersion": "2016-08-01", + "name": "[variables('attestationAppName')]", + "condition": "[parameters('enableHsm')]", + "location": "[parameters('location')]", + "properties": { + "httpsOnly": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('attestationAppName'))]", + "siteConfig": { + "name": "[variables('attestationAppName')]", + "alwaysOn": true, + "linuxFxVersion": "[variables('attestationImageId')]", + "appSettings": [ + { + "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE", + "value": "false" + } + ] + } + }, + "dependsOn": ["[resourceId('Microsoft.Web/serverfarms', variables('attestationAppName'))]"] } ], "outputs": { @@ -276,7 +318,7 @@ "AZURE_KEYVAULT_ATTESTATION_URI": { "type": "string", "condition": "[parameters('enableHsm')]", - "value": "[parameters('attestationUri')]" + "value": "[concat('https://', reference(resourceId('Microsoft.Web/sites', variables('attestationAppName')), '2018-02-01').defaultHostName, '/')]" } } } diff --git a/sdk/kubernetesconfiguration/arm-kubernetesconfiguration/README.md b/sdk/kubernetesconfiguration/arm-kubernetesconfiguration/README.md index b0fcd6f94621..e27379428ed6 100644 --- a/sdk/kubernetesconfiguration/arm-kubernetesconfiguration/README.md +++ b/sdk/kubernetesconfiguration/arm-kubernetesconfiguration/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SourceControlConfigurationClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/kusto/arm-kusto/README.md b/sdk/kusto/arm-kusto/README.md index ecc394710389..3c2b9ab7d768 100644 --- a/sdk/kusto/arm-kusto/README.md +++ b/sdk/kusto/arm-kusto/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for KustoManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/labservices/arm-labservices/README.md b/sdk/labservices/arm-labservices/README.md index 0ae4beb85ea4..7aeddfdeed99 100644 --- a/sdk/labservices/arm-labservices/README.md +++ b/sdk/labservices/arm-labservices/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ManagedLabsClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/links/arm-links/CHANGELOG.md b/sdk/links/arm-links/CHANGELOG.md index c3f05580167a..3418b8902e7e 100644 --- a/sdk/links/arm-links/CHANGELOG.md +++ b/sdk/links/arm-links/CHANGELOG.md @@ -1,3 +1,21 @@ +# Release History + +## 30.0.0-beta.3 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.2 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + ## 30.0.0-beta.1 (2021-07-15) This is the first preview for the new version of the `@azure/arm-links` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. diff --git a/sdk/links/arm-links/README.md b/sdk/links/arm-links/README.md index ba249620c054..7f76896af014 100644 --- a/sdk/links/arm-links/README.md +++ b/sdk/links/arm-links/README.md @@ -47,7 +47,8 @@ Set the values of the client ID, tenant ID, and client secret of the AAD applica ```javascript const { ManagementLinkClient } = require("@azure/arm-links"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new ManagementLinkClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new ManagementLinkClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts diff --git a/sdk/links/arm-links/package.json b/sdk/links/arm-links/package.json index c278cf66a1fe..2824fa25d4d0 100644 --- a/sdk/links/arm-links/package.json +++ b/sdk/links/arm-links/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for ManagementLinkClient.", - "version": "30.0.0-beta.1", + "version": "30.0.0-beta.3", "engines": { "node": ">=12.0.0" }, @@ -93,4 +93,4 @@ }, "sideEffects": false, "autoPublish": true -} \ No newline at end of file +} diff --git a/sdk/links/arm-links/src/managementLinkClientContext.ts b/sdk/links/arm-links/src/managementLinkClientContext.ts index c800425137b0..f1a1d8316ed3 100644 --- a/sdk/links/arm-links/src/managementLinkClientContext.ts +++ b/sdk/links/arm-links/src/managementLinkClientContext.ts @@ -42,7 +42,7 @@ export class ManagementLinkClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-links/30.0.0-beta.1`; + const packageDetails = `azsdk-js-arm-links/30.0.0-beta.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/locks/arm-locks-profile-2020-09-01-hybrid/README.md b/sdk/locks/arm-locks-profile-2020-09-01-hybrid/README.md index 5bab253c9b00..d781d05aeb17 100644 --- a/sdk/locks/arm-locks-profile-2020-09-01-hybrid/README.md +++ b/sdk/locks/arm-locks-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ManagementLockClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/locks/arm-locks-profile-hybrid-2019-03-01/README.md b/sdk/locks/arm-locks-profile-hybrid-2019-03-01/README.md index 6eeb5d2c6f84..191a181c3ff2 100644 --- a/sdk/locks/arm-locks-profile-hybrid-2019-03-01/README.md +++ b/sdk/locks/arm-locks-profile-hybrid-2019-03-01/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ManagementLockClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/locks/arm-locks/CHANGELOG.md b/sdk/locks/arm-locks/CHANGELOG.md index 383c03d1e046..250f0d1e3ef7 100644 --- a/sdk/locks/arm-locks/CHANGELOG.md +++ b/sdk/locks/arm-locks/CHANGELOG.md @@ -1,3 +1,21 @@ +# Release History + +## 30.0.0-beta.3 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.2 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + ## 30.0.0-beta.1 (2021-07-15) This is the first preview for the new version of the `@azure/arm-locks` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. diff --git a/sdk/locks/arm-locks/README.md b/sdk/locks/arm-locks/README.md index 2cddf30e29bc..bed5fab67572 100644 --- a/sdk/locks/arm-locks/README.md +++ b/sdk/locks/arm-locks/README.md @@ -47,7 +47,8 @@ Set the values of the client ID, tenant ID, and client secret of the AAD applica ```javascript const { ManagementLockClient } = require("@azure/arm-locks"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new ManagementLockClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new ManagementLockClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts diff --git a/sdk/locks/arm-locks/package.json b/sdk/locks/arm-locks/package.json index e9a624b3cf1b..41741014ec8c 100644 --- a/sdk/locks/arm-locks/package.json +++ b/sdk/locks/arm-locks/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for ManagementLockClient.", - "version": "30.0.0-beta.1", + "version": "30.0.0-beta.3", "engines": { "node": ">=12.0.0" }, @@ -93,4 +93,4 @@ }, "sideEffects": false, "autoPublish": true -} \ No newline at end of file +} diff --git a/sdk/locks/arm-locks/src/managementLockClientContext.ts b/sdk/locks/arm-locks/src/managementLockClientContext.ts index d30d4afd8286..782df642a77d 100644 --- a/sdk/locks/arm-locks/src/managementLockClientContext.ts +++ b/sdk/locks/arm-locks/src/managementLockClientContext.ts @@ -42,7 +42,7 @@ export class ManagementLockClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-locks/30.0.0-beta.1`; + const packageDetails = `azsdk-js-arm-locks/30.0.0-beta.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/logic/arm-logic/README.md b/sdk/logic/arm-logic/README.md index c12bcff569c3..73e69297994b 100644 --- a/sdk/logic/arm-logic/README.md +++ b/sdk/logic/arm-logic/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for LogicManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/machinelearning/arm-commitmentplans/README.md b/sdk/machinelearning/arm-commitmentplans/README.md index 093fe09dcd50..53790844e548 100644 --- a/sdk/machinelearning/arm-commitmentplans/README.md +++ b/sdk/machinelearning/arm-commitmentplans/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AzureMLCommitmentPlansManagementClie ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/machinelearning/arm-webservices/README.md b/sdk/machinelearning/arm-webservices/README.md index d7a620f5e100..77c6b831cc23 100644 --- a/sdk/machinelearning/arm-webservices/README.md +++ b/sdk/machinelearning/arm-webservices/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AzureMLWebServicesManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/machinelearning/arm-workspaces/README.md b/sdk/machinelearning/arm-workspaces/README.md index 53ffced85a65..48503d63fc7b 100644 --- a/sdk/machinelearning/arm-workspaces/README.md +++ b/sdk/machinelearning/arm-workspaces/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MachineLearningWorkspacesManagementC ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/machinelearningcompute/arm-machinelearningcompute/README.md b/sdk/machinelearningcompute/arm-machinelearningcompute/README.md index 8a1c8bc5efa1..9daae84d5b66 100644 --- a/sdk/machinelearningcompute/arm-machinelearningcompute/README.md +++ b/sdk/machinelearningcompute/arm-machinelearningcompute/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MachineLearningComputeManagementClie ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/machinelearningexperimentation/arm-machinelearningexperimentation/README.md b/sdk/machinelearningexperimentation/arm-machinelearningexperimentation/README.md index 9b19177c4a80..0f67cbacf9e0 100644 --- a/sdk/machinelearningexperimentation/arm-machinelearningexperimentation/README.md +++ b/sdk/machinelearningexperimentation/arm-machinelearningexperimentation/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MLTeamAccountManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/machinelearningservices/arm-machinelearningservices/README.md b/sdk/machinelearningservices/arm-machinelearningservices/README.md index cde11f4dfef7..095dcfcb22c9 100644 --- a/sdk/machinelearningservices/arm-machinelearningservices/README.md +++ b/sdk/machinelearningservices/arm-machinelearningservices/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AzureMachineLearningWorkspaces. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/managedapplications/arm-managedapplications/CHANGELOG.md b/sdk/managedapplications/arm-managedapplications/CHANGELOG.md index ba1741275bb3..09d6c92c4156 100644 --- a/sdk/managedapplications/arm-managedapplications/CHANGELOG.md +++ b/sdk/managedapplications/arm-managedapplications/CHANGELOG.md @@ -1,3 +1,21 @@ +# Release History + +## 30.0.0-beta.3 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.2 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + ## 30.0.0-beta.1 (2021-07-15) This is the first preview for the new version of the `@azure/arm-managedapplications` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. diff --git a/sdk/managedapplications/arm-managedapplications/README.md b/sdk/managedapplications/arm-managedapplications/README.md index 14a8711a52f3..481f0b33d931 100644 --- a/sdk/managedapplications/arm-managedapplications/README.md +++ b/sdk/managedapplications/arm-managedapplications/README.md @@ -47,7 +47,8 @@ Set the values of the client ID, tenant ID, and client secret of the AAD applica ```javascript const { ApplicationClient } = require("@azure/arm-managedapplications"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new ApplicationClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new ApplicationClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts diff --git a/sdk/managedapplications/arm-managedapplications/package.json b/sdk/managedapplications/arm-managedapplications/package.json index 43851567071a..6997f7e03a92 100644 --- a/sdk/managedapplications/arm-managedapplications/package.json +++ b/sdk/managedapplications/arm-managedapplications/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for ApplicationClient.", - "version": "30.0.0-beta.1", + "version": "30.0.0-beta.3", "engines": { "node": ">=12.0.0" }, diff --git a/sdk/managedapplications/arm-managedapplications/src/applicationClientContext.ts b/sdk/managedapplications/arm-managedapplications/src/applicationClientContext.ts index 633869b07204..562ee25aadeb 100644 --- a/sdk/managedapplications/arm-managedapplications/src/applicationClientContext.ts +++ b/sdk/managedapplications/arm-managedapplications/src/applicationClientContext.ts @@ -42,7 +42,7 @@ export class ApplicationClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-managedapplications/30.0.0-beta.1`; + const packageDetails = `azsdk-js-arm-managedapplications/30.0.0-beta.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/managementgroups/arm-managementgroups/README.md b/sdk/managementgroups/arm-managementgroups/README.md index d52fe3295611..656275111234 100644 --- a/sdk/managementgroups/arm-managementgroups/README.md +++ b/sdk/managementgroups/arm-managementgroups/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ManagementGroupsAPI. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/managementpartner/arm-managementpartner/README.md b/sdk/managementpartner/arm-managementpartner/README.md index e9b35016c5f2..fb4710ce1fe2 100644 --- a/sdk/managementpartner/arm-managementpartner/README.md +++ b/sdk/managementpartner/arm-managementpartner/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ACEProvisioningManagementPartnerAPI. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/maps/arm-maps/README.md b/sdk/maps/arm-maps/README.md index b51262189aba..22680ed2cf7c 100644 --- a/sdk/maps/arm-maps/README.md +++ b/sdk/maps/arm-maps/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AzureMapsManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/mariadb/arm-mariadb/README.md b/sdk/mariadb/arm-mariadb/README.md index 7a1dfd50bfe0..24b0d86c603d 100644 --- a/sdk/mariadb/arm-mariadb/README.md +++ b/sdk/mariadb/arm-mariadb/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MariaDBManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/marketplaceordering/arm-marketplaceordering/README.md b/sdk/marketplaceordering/arm-marketplaceordering/README.md index 3a43a4a5cfcb..e6ca42ae16ff 100644 --- a/sdk/marketplaceordering/arm-marketplaceordering/README.md +++ b/sdk/marketplaceordering/arm-marketplaceordering/README.md @@ -4,9 +4,8 @@ This package contains an isomorphic SDK for MarketplaceOrderingAgreements. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript - +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install ```bash diff --git a/sdk/mediaservices/arm-mediaservices/README.md b/sdk/mediaservices/arm-mediaservices/README.md index ab197cd0e915..d94d6d885a20 100644 --- a/sdk/mediaservices/arm-mediaservices/README.md +++ b/sdk/mediaservices/arm-mediaservices/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AzureMediaServices. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/metricsadvisor/ai-metrics-advisor/karma.conf.js b/sdk/metricsadvisor/ai-metrics-advisor/karma.conf.js index 104bae582009..1b7cda38e6e7 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/karma.conf.js +++ b/sdk/metricsadvisor/ai-metrics-advisor/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/metricsadvisor/ai-metrics-advisor/package.json b/sdk/metricsadvisor/ai-metrics-advisor/package.json index bc52178d5d69..6ea9087df6a4 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/package.json +++ b/sdk/metricsadvisor/ai-metrics-advisor/package.json @@ -56,7 +56,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-esm dist-browser dist-test dist-test temp types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -68,7 +68,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -93,7 +92,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/identity": "^1.1.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", @@ -124,7 +123,7 @@ "rimraf": "^3.0.0", "rollup": "^1.16.3", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "source-map-support": "^0.5.9", "typescript": "~4.2.0", "typedoc": "0.15.2" diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json index 19de3392ed65..37108ef91de2 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json @@ -28,7 +28,7 @@ "method": "POST", "url": "https://endpoint/metricsadvisor/v1.0/dataFeeds", "query": {}, - "requestBody": "{\"dataSourceType\":\"InfluxDB\",\"dataFeedName\":\"js-test-influxdbFeed-162267907697002609\",\"dataFeedDescription\":\"Data feed description\",\"granularityName\":\"Daily\",\"metrics\":[{\"metricName\":\"cost\",\"metricDisplayName\":\"cost\",\"metricDescription\":\"\"},{\"metricName\":\"revenue\",\"metricDisplayName\":\"revenue\",\"metricDescription\":\"\"}],\"dimension\":[{\"dimensionName\":\"category\",\"dimensionDisplayName\":\"category\"},{\"dimensionName\":\"city\",\"dimensionDisplayName\":\"city\"}],\"dataStartFrom\":\"2020-08-21T00:00:00.000Z\",\"startOffsetInSeconds\":0,\"maxConcurrency\":-1,\"minRetryIntervalInSeconds\":-1,\"stopRetryAfterInSeconds\":-1,\"needRollup\":\"NeedRollup\",\"rollUpMethod\":\"Sum\",\"allUpIdentification\":\"__CUSTOM_SUM__\",\"fillMissingPointType\":\"CustomValue\",\"fillMissingPointValue\":555,\"viewMode\":\"Private\",\"authenticationType\":\"Basic\",\"dataSourceParameter\":{\"connectionString\":\"https://connect-to-influxdb\",\"database\":\"data-feed-database\",\"userName\":\"user\",\"password\":\"pwd1\",\"query\":\"partition-key eq @start-time\"}}", + "requestBody": "{\"dataSourceType\":\"InfluxDB\",\"dataFeedName\":\"js-test-influxdbFeed-162267907697002609\",\"dataFeedDescription\":\"Data feed description\",\"granularityName\":\"Daily\",\"metrics\":[{\"metricName\":\"cost\",\"metricDisplayName\":\"cost\",\"metricDescription\":\"\"},{\"metricName\":\"revenue\",\"metricDisplayName\":\"revenue\",\"metricDescription\":\"\"}],\"dimension\":[{\"dimensionName\":\"category\",\"dimensionDisplayName\":\"category\"},{\"dimensionName\":\"city\",\"dimensionDisplayName\":\"city\"}],\"dataStartFrom\":\"2020-08-21T00:00:00.000Z\",\"startOffsetInSeconds\":0,\"maxConcurrency\":-1,\"minRetryIntervalInSeconds\":-1,\"stopRetryAfterInSeconds\":-1,\"needRollup\":\"NeedRollup\",\"rollUpMethod\":\"Sum\",\"allUpIdentification\":\"__CUSTOM_SUM__\",\"fillMissingPointType\":\"CustomValue\",\"fillMissingPointValue\":555,\"viewMode\":\"Private\",\"authenticationType\":\"Basic\",\"dataSourceParameter\":{\"connectionString\":\"https://connect-to-influxdb\",\"database\":\"data-feed-database\",\"userName\":\"user\",\"password\":\"SecretPlaceholder\",\"query\":\"partition-key eq @start-time\"}}", "status": 201, "response": "", "responseHeaders": { @@ -66,4 +66,4 @@ "newDate": {} }, "hash": "0c3b30a8c8bb0da077bd515199fa43f4" -} \ No newline at end of file +} diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_lists_hooks.json b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_lists_hooks.json index 7b4d545e13a8..9bc1aa5a4067 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_lists_hooks.json +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_lists_hooks.json @@ -32,7 +32,7 @@ }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"hookId\":\"2b755260-7a5a-435c-bc98-1098d5aa8280\",\"hookName\":\"js-test-emailHook-161531685527403780\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"874704b3-80d3-4e78-929d-64be2accfb4f\",\"hookName\":\"js-test-emailHook-161531685824404287\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"5710d5c4-6aae-42c9-9bdf-e9ddcc5c89d5\",\"hookName\":\"js-test-emailHook-161531705490304712\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"54b8eea6-fdfc-4fd7-a7b5-b8dfa1d37d70\",\"hookName\":\"js-test-emailHook-161531705673800660\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"806f1f85-63af-463f-b8b2-22d1f29cb248\",\"hookName\":\"js-test-emailHook-162015550185600302\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"2a5859d5-6df2-463e-840d-350a980f3291\",\"hookName\":\"js-test-emailHook-162265643099209817\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test2@example.com\",\"test3@example.com\"]}},{\"hookId\":\"13a6da6e-1d06-4ff6-981c-a817f47f167c\",\"hookName\":\"js-test-emailHook-162266596146607008\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"toList\":[\"test2@example.com\",\"test3@example.com\"]}},{\"hookId\":\"0bfed82b-af19-4838-b5e1-5746f6781d62\",\"hookName\":\"js-test-webHook-161531253603907468\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"e391a9c1-04bb-44cf-9a43-78a373b14bae\",\"hookName\":\"js-test-webHook-161531828969607724\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"1ecc09b3-0ad9-4ecf-a34a-8a576de78fbd\",\"hookName\":\"js-test-webHook-161531829480305604\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"dbe5351c-e639-4335-90e7-35c6f71c0a4e\",\"hookName\":\"js-test-webHook-161531859165202085\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"1314214b-cedc-42d0-a3fe-368857bf786b\",\"hookName\":\"js-test-webHook-161531859960401262\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"54b2656e-4d97-46e2-a1c2-670cb9e40f22\",\"hookName\":\"js-test-webHook-161531877402407296\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"a8db2484-9b93-4ed0-8c76-94dfcd17fe6e\",\"hookName\":\"js-test-webHook-161531878351801649\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"3b66e660-814d-4b16-891a-12f8597a0f87\",\"hookName\":\"js-test-webHook-162015550185604122\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"6ec2b7ef-2e7e-4be7-a662-d8df6328d4bd\",\"hookName\":\"js-test-webHook-162265643099207315\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}},{\"hookId\":\"9d3e0d59-9062-4831-95f1-b79b5c38e87a\",\"hookName\":\"js-test-webHook-162266596146700623\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}]}", + "response": "{\"value\":[{\"hookId\":\"2b755260-7a5a-435c-bc98-1098d5aa8280\",\"hookName\":\"js-test-emailHook-161531685527403780\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"874704b3-80d3-4e78-929d-64be2accfb4f\",\"hookName\":\"js-test-emailHook-161531685824404287\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"5710d5c4-6aae-42c9-9bdf-e9ddcc5c89d5\",\"hookName\":\"js-test-emailHook-161531705490304712\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"54b8eea6-fdfc-4fd7-a7b5-b8dfa1d37d70\",\"hookName\":\"js-test-emailHook-161531705673800660\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"806f1f85-63af-463f-b8b2-22d1f29cb248\",\"hookName\":\"js-test-emailHook-162015550185600302\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"2a5859d5-6df2-463e-840d-350a980f3291\",\"hookName\":\"js-test-emailHook-162265643099209817\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test2@example.com\",\"test3@example.com\"]}},{\"hookId\":\"13a6da6e-1d06-4ff6-981c-a817f47f167c\",\"hookName\":\"js-test-emailHook-162266596146607008\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"toList\":[\"test2@example.com\",\"test3@example.com\"]}},{\"hookId\":\"0bfed82b-af19-4838-b5e1-5746f6781d62\",\"hookName\":\"js-test-webHook-161531253603907468\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"e391a9c1-04bb-44cf-9a43-78a373b14bae\",\"hookName\":\"js-test-webHook-161531828969607724\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"1ecc09b3-0ad9-4ecf-a34a-8a576de78fbd\",\"hookName\":\"js-test-webHook-161531829480305604\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"dbe5351c-e639-4335-90e7-35c6f71c0a4e\",\"hookName\":\"js-test-webHook-161531859165202085\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"1314214b-cedc-42d0-a3fe-368857bf786b\",\"hookName\":\"js-test-webHook-161531859960401262\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"54b2656e-4d97-46e2-a1c2-670cb9e40f22\",\"hookName\":\"js-test-webHook-161531877402407296\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"a8db2484-9b93-4ed0-8c76-94dfcd17fe6e\",\"hookName\":\"js-test-webHook-161531878351801649\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"3b66e660-814d-4b16-891a-12f8597a0f87\",\"hookName\":\"js-test-webHook-162015550185604122\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"6ec2b7ef-2e7e-4be7-a662-d8df6328d4bd\",\"hookName\":\"js-test-webHook-162265643099207315\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}},{\"hookId\":\"9d3e0d59-9062-4831-95f1-b79b5c38e87a\",\"hookName\":\"js-test-webHook-162266596146700623\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}]}", "responseHeaders": { "apim-request-id": "782b31e1-f701-47f7-acd9-2bde180d71f1", "content-length": "5549", @@ -50,4 +50,4 @@ "newDate": {} }, "hash": "c991dc106253868edb412d079c1fd9c2" -} \ No newline at end of file +} diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_updates_web_hook.json b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_updates_web_hook.json index 9da7c7e900ab..1f935a12c4d5 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_updates_web_hook.json +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/aad_metricsadvisorclient_hooks/recording_updates_web_hook.json @@ -28,9 +28,9 @@ "method": "PATCH", "url": "https://endpoint/metricsadvisor/v1.0/hooks/9d3e0d59-9062-4831-95f1-b79b5c38e87a", "query": {}, - "requestBody": "{\"hookType\":\"Webhook\",\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\"}}", + "requestBody": "{\"hookType\":\"Webhook\",\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\"}}", "status": 200, - "response": "{\"hookId\":\"9d3e0d59-9062-4831-95f1-b79b5c38e87a\",\"hookName\":\"js-test-webHook-162266596146700623\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}", + "response": "{\"hookId\":\"9d3e0d59-9062-4831-95f1-b79b5c38e87a\",\"hookName\":\"js-test-webHook-162266596146700623\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}", "responseHeaders": { "apim-request-id": "f7f5b5f9-138e-43ee-b2aa-fc1a3bf79055", "content-length": "395", @@ -48,7 +48,7 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"hookId\":\"9d3e0d59-9062-4831-95f1-b79b5c38e87a\",\"hookName\":\"js-test-webHook-162266596146700623\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}", + "response": "{\"hookId\":\"9d3e0d59-9062-4831-95f1-b79b5c38e87a\",\"hookName\":\"js-test-webHook-162266596146700623\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"azure_client_id\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}", "responseHeaders": { "apim-request-id": "81872f34-f470-41a2-9e27-91284ff436d4", "content-length": "395", diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json index 09c7f73c8889..80ebca15ec5f 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.json @@ -4,7 +4,7 @@ "method": "POST", "url": "https://endpoint/metricsadvisor/v1.0/dataFeeds", "query": {}, - "requestBody": "{\"dataSourceType\":\"InfluxDB\",\"dataFeedName\":\"js-test-influxdbFeed-162267917625900775\",\"dataFeedDescription\":\"Data feed description\",\"granularityName\":\"Daily\",\"metrics\":[{\"metricName\":\"cost\",\"metricDisplayName\":\"cost\",\"metricDescription\":\"\"},{\"metricName\":\"revenue\",\"metricDisplayName\":\"revenue\",\"metricDescription\":\"\"}],\"dimension\":[{\"dimensionName\":\"category\",\"dimensionDisplayName\":\"category\"},{\"dimensionName\":\"city\",\"dimensionDisplayName\":\"city\"}],\"dataStartFrom\":\"2020-08-21T00:00:00.000Z\",\"startOffsetInSeconds\":0,\"maxConcurrency\":-1,\"minRetryIntervalInSeconds\":-1,\"stopRetryAfterInSeconds\":-1,\"needRollup\":\"NeedRollup\",\"rollUpMethod\":\"Sum\",\"allUpIdentification\":\"__CUSTOM_SUM__\",\"fillMissingPointType\":\"CustomValue\",\"fillMissingPointValue\":555,\"viewMode\":\"Private\",\"authenticationType\":\"Basic\",\"dataSourceParameter\":{\"connectionString\":\"https://connect-to-influxdb\",\"database\":\"data-feed-database\",\"userName\":\"user\",\"password\":\"pwd1\",\"query\":\"partition-key eq @start-time\"}}", + "requestBody": "{\"dataSourceType\":\"InfluxDB\",\"dataFeedName\":\"js-test-influxdbFeed-162267917625900775\",\"dataFeedDescription\":\"Data feed description\",\"granularityName\":\"Daily\",\"metrics\":[{\"metricName\":\"cost\",\"metricDisplayName\":\"cost\",\"metricDescription\":\"\"},{\"metricName\":\"revenue\",\"metricDisplayName\":\"revenue\",\"metricDescription\":\"\"}],\"dimension\":[{\"dimensionName\":\"category\",\"dimensionDisplayName\":\"category\"},{\"dimensionName\":\"city\",\"dimensionDisplayName\":\"city\"}],\"dataStartFrom\":\"2020-08-21T00:00:00.000Z\",\"startOffsetInSeconds\":0,\"maxConcurrency\":-1,\"minRetryIntervalInSeconds\":-1,\"stopRetryAfterInSeconds\":-1,\"needRollup\":\"NeedRollup\",\"rollUpMethod\":\"Sum\",\"allUpIdentification\":\"__CUSTOM_SUM__\",\"fillMissingPointType\":\"CustomValue\",\"fillMissingPointValue\":555,\"viewMode\":\"Private\",\"authenticationType\":\"Basic\",\"dataSourceParameter\":{\"connectionString\":\"https://connect-to-influxdb\",\"database\":\"data-feed-database\",\"userName\":\"user\",\"password\":\"SecretPlaceholder\",\"query\":\"partition-key eq @start-time\"}}", "status": 201, "response": "", "responseHeaders": { @@ -42,4 +42,4 @@ "newDate": {} }, "hash": "0c3b30a8c8bb0da077bd515199fa43f4" -} \ No newline at end of file +} diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_lists_hooks.json b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_lists_hooks.json index d96cc6424c11..9c8c0f79de26 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_lists_hooks.json +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_lists_hooks.json @@ -8,7 +8,7 @@ }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"hookId\":\"874704b3-80d3-4e78-929d-64be2accfb4f\",\"hookName\":\"js-test-emailHook-161531685824404287\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"54b8eea6-fdfc-4fd7-a7b5-b8dfa1d37d70\",\"hookName\":\"js-test-emailHook-161531705673800660\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"2a5859d5-6df2-463e-840d-350a980f3291\",\"hookName\":\"js-test-emailHook-162265643099209817\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test2@example.com\",\"test3@example.com\"]}},{\"hookId\":\"33b47ff4-4820-4724-9a3b-e6443045e857\",\"hookName\":\"js-test-emailHook-162266598935904618\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test2@example.com\",\"test3@example.com\"]}},{\"hookId\":\"1ecc09b3-0ad9-4ecf-a34a-8a576de78fbd\",\"hookName\":\"js-test-webHook-161531829480305604\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"1314214b-cedc-42d0-a3fe-368857bf786b\",\"hookName\":\"js-test-webHook-161531859960401262\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"a8db2484-9b93-4ed0-8c76-94dfcd17fe6e\",\"hookName\":\"js-test-webHook-161531878351801649\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"6ec2b7ef-2e7e-4be7-a662-d8df6328d4bd\",\"hookName\":\"js-test-webHook-162265643099207315\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}},{\"hookId\":\"9c105aba-f8ad-4b80-a7d5-ab86e3f81b30\",\"hookName\":\"js-test-webHook-162266598935904075\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}]}", + "response": "{\"value\":[{\"hookId\":\"874704b3-80d3-4e78-929d-64be2accfb4f\",\"hookName\":\"js-test-emailHook-161531685824404287\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"54b8eea6-fdfc-4fd7-a7b5-b8dfa1d37d70\",\"hookName\":\"js-test-emailHook-161531705673800660\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test@example.com\"]}},{\"hookId\":\"2a5859d5-6df2-463e-840d-350a980f3291\",\"hookName\":\"js-test-emailHook-162265643099209817\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test2@example.com\",\"test3@example.com\"]}},{\"hookId\":\"33b47ff4-4820-4724-9a3b-e6443045e857\",\"hookName\":\"js-test-emailHook-162266598935904618\",\"hookType\":\"Email\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"toList\":[\"test2@example.com\",\"test3@example.com\"]}},{\"hookId\":\"1ecc09b3-0ad9-4ecf-a34a-8a576de78fbd\",\"hookName\":\"js-test-webHook-161531829480305604\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"1314214b-cedc-42d0-a3fe-368857bf786b\",\"hookName\":\"js-test-webHook-161531859960401262\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"a8db2484-9b93-4ed0-8c76-94dfcd17fe6e\",\"hookName\":\"js-test-webHook-161531878351801649\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://httpbin.org/post\",\"username\":\"user\",\"password\":\"pass\",\"headers\":null,\"certificateKey\":null,\"certificatePassword\":null}},{\"hookId\":\"6ec2b7ef-2e7e-4be7-a662-d8df6328d4bd\",\"hookName\":\"js-test-webHook-162265643099207315\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}},{\"hookId\":\"9c105aba-f8ad-4b80-a7d5-ab86e3f81b30\",\"hookName\":\"js-test-webHook-162266598935904075\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}]}", "responseHeaders": { "apim-request-id": "9986377d-2666-41c3-becf-ca96f860a612", "content-length": "2875", @@ -26,4 +26,4 @@ "newDate": {} }, "hash": "c991dc106253868edb412d079c1fd9c2" -} \ No newline at end of file +} diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.json b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.json index 4d7eb808e209..bab7b445b61f 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.json +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/browsers/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.json @@ -4,9 +4,9 @@ "method": "PATCH", "url": "https://endpoint/metricsadvisor/v1.0/hooks/9c105aba-f8ad-4b80-a7d5-ab86e3f81b30", "query": {}, - "requestBody": "{\"hookType\":\"Webhook\",\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\"}}", + "requestBody": "{\"hookType\":\"Webhook\",\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\"}}", "status": 200, - "response": "{\"hookId\":\"9c105aba-f8ad-4b80-a7d5-ab86e3f81b30\",\"hookName\":\"js-test-webHook-162266598935904075\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}", + "response": "{\"hookId\":\"9c105aba-f8ad-4b80-a7d5-ab86e3f81b30\",\"hookName\":\"js-test-webHook-162266598935904075\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}", "responseHeaders": { "apim-request-id": "0f84ca70-4bb6-4f40-bc53-d7903621bd18", "content-length": "380", @@ -24,7 +24,7 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"hookId\":\"9c105aba-f8ad-4b80-a7d5-ab86e3f81b30\",\"hookName\":\"js-test-webHook-162266598935904075\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"pass123\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}", + "response": "{\"hookId\":\"9c105aba-f8ad-4b80-a7d5-ab86e3f81b30\",\"hookName\":\"js-test-webHook-162266598935904075\",\"hookType\":\"Webhook\",\"externalLink\":\"\",\"description\":\"description\",\"admins\":[\"kaghiya@microsoft.com\"],\"hookParameter\":{\"endpoint\":\"https://mawebhook.azurewebsites.net/api/HttpTrigger\",\"username\":\"user1\",\"password\":\"SecretPlaceholder\",\"headers\":{},\"certificateKey\":\"\",\"certificatePassword\":\"\"}}", "responseHeaders": { "apim-request-id": "29fe2ff0-07f2-46d3-92e6-5b0fcc840da9", "content-length": "380", diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js index 7b5e3c252e98..cac7cb11ccaa 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js @@ -38,7 +38,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://endpoint:443', {"encodedQueryParams":true}) - .post('/metricsadvisor/v1.0/dataFeeds', {"dataSourceType":"InfluxDB","dataFeedName":"js-test-influxdbFeed-162267887276108761","dataFeedDescription":"Data feed description","granularityName":"Daily","metrics":[{"metricName":"cost","metricDisplayName":"cost","metricDescription":""},{"metricName":"revenue","metricDisplayName":"revenue","metricDescription":""}],"dimension":[{"dimensionName":"category","dimensionDisplayName":"category"},{"dimensionName":"city","dimensionDisplayName":"city"}],"dataStartFrom":"2020-08-21T00:00:00.000Z","startOffsetInSeconds":0,"maxConcurrency":-1,"minRetryIntervalInSeconds":-1,"stopRetryAfterInSeconds":-1,"needRollup":"NeedRollup","rollUpMethod":"Sum","allUpIdentification":"__CUSTOM_SUM__","fillMissingPointType":"CustomValue","fillMissingPointValue":555,"viewMode":"Private","authenticationType":"Basic","dataSourceParameter":{"connectionString":"https://connect-to-influxdb","database":"data-feed-database","userName":"user","password":"pwd1","query":"partition-key eq @start-time"}}) + .post('/metricsadvisor/v1.0/dataFeeds', {"dataSourceType":"InfluxDB","dataFeedName":"js-test-influxdbFeed-162267887276108761","dataFeedDescription":"Data feed description","granularityName":"Daily","metrics":[{"metricName":"cost","metricDisplayName":"cost","metricDescription":""},{"metricName":"revenue","metricDisplayName":"revenue","metricDescription":""}],"dimension":[{"dimensionName":"category","dimensionDisplayName":"category"},{"dimensionName":"city","dimensionDisplayName":"city"}],"dataStartFrom":"2020-08-21T00:00:00.000Z","startOffsetInSeconds":0,"maxConcurrency":-1,"minRetryIntervalInSeconds":-1,"stopRetryAfterInSeconds":-1,"needRollup":"NeedRollup","rollUpMethod":"Sum","allUpIdentification":"__CUSTOM_SUM__","fillMissingPointType":"CustomValue","fillMissingPointValue":555,"viewMode":"Private","authenticationType":"Basic","dataSourceParameter":{"connectionString":"https://connect-to-influxdb","database":"data-feed-database","userName":"user","password":"SecretPlaceholder","query":"partition-key eq @start-time"}}) .reply(201, "", [ 'Content-Length', '0', diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_lists_hooks.js b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_lists_hooks.js index f37435fed9b8..9554fd16e916 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_lists_hooks.js +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_lists_hooks.js @@ -40,7 +40,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/metricsadvisor/v1.0/hooks') .query(true) - .reply(200, {"value":[{"hookId":"2b755260-7a5a-435c-bc98-1098d5aa8280","hookName":"js-test-emailHook-161531685527403780","hookType":"Email","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"874704b3-80d3-4e78-929d-64be2accfb4f","hookName":"js-test-emailHook-161531685824404287","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"5710d5c4-6aae-42c9-9bdf-e9ddcc5c89d5","hookName":"js-test-emailHook-161531705490304712","hookType":"Email","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"54b8eea6-fdfc-4fd7-a7b5-b8dfa1d37d70","hookName":"js-test-emailHook-161531705673800660","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"806f1f85-63af-463f-b8b2-22d1f29cb248","hookName":"js-test-emailHook-162015550185600302","hookType":"Email","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"2a5859d5-6df2-463e-840d-350a980f3291","hookName":"js-test-emailHook-162265643099209817","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test2@example.com","test3@example.com"]}},{"hookId":"5bbed3fb-1b8d-453d-a2eb-cf423eee6dda","hookName":"js-test-emailHook-162266588772000144","hookType":"Email","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"toList":["test2@example.com","test3@example.com"]}},{"hookId":"0bfed82b-af19-4838-b5e1-5746f6781d62","hookName":"js-test-webHook-161531253603907468","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"e391a9c1-04bb-44cf-9a43-78a373b14bae","hookName":"js-test-webHook-161531828969607724","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"1ecc09b3-0ad9-4ecf-a34a-8a576de78fbd","hookName":"js-test-webHook-161531829480305604","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"dbe5351c-e639-4335-90e7-35c6f71c0a4e","hookName":"js-test-webHook-161531859165202085","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"1314214b-cedc-42d0-a3fe-368857bf786b","hookName":"js-test-webHook-161531859960401262","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"54b2656e-4d97-46e2-a1c2-670cb9e40f22","hookName":"js-test-webHook-161531877402407296","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"a8db2484-9b93-4ed0-8c76-94dfcd17fe6e","hookName":"js-test-webHook-161531878351801649","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"3b66e660-814d-4b16-891a-12f8597a0f87","hookName":"js-test-webHook-162015550185604122","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"6ec2b7ef-2e7e-4be7-a662-d8df6328d4bd","hookName":"js-test-webHook-162265643099207315","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123","headers":{},"certificateKey":"","certificatePassword":""}},{"hookId":"7911e86d-8d5b-4c08-8a8f-480f15b2d2b5","hookName":"js-test-webHook-162266588772100390","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123","headers":{},"certificateKey":"","certificatePassword":""}}]}, [ + .reply(200, {"value":[{"hookId":"2b755260-7a5a-435c-bc98-1098d5aa8280","hookName":"js-test-emailHook-161531685527403780","hookType":"Email","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"874704b3-80d3-4e78-929d-64be2accfb4f","hookName":"js-test-emailHook-161531685824404287","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"5710d5c4-6aae-42c9-9bdf-e9ddcc5c89d5","hookName":"js-test-emailHook-161531705490304712","hookType":"Email","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"54b8eea6-fdfc-4fd7-a7b5-b8dfa1d37d70","hookName":"js-test-emailHook-161531705673800660","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"806f1f85-63af-463f-b8b2-22d1f29cb248","hookName":"js-test-emailHook-162015550185600302","hookType":"Email","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"2a5859d5-6df2-463e-840d-350a980f3291","hookName":"js-test-emailHook-162265643099209817","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test2@example.com","test3@example.com"]}},{"hookId":"5bbed3fb-1b8d-453d-a2eb-cf423eee6dda","hookName":"js-test-emailHook-162266588772000144","hookType":"Email","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"toList":["test2@example.com","test3@example.com"]}},{"hookId":"0bfed82b-af19-4838-b5e1-5746f6781d62","hookName":"js-test-webHook-161531253603907468","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"e391a9c1-04bb-44cf-9a43-78a373b14bae","hookName":"js-test-webHook-161531828969607724","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"1ecc09b3-0ad9-4ecf-a34a-8a576de78fbd","hookName":"js-test-webHook-161531829480305604","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"dbe5351c-e639-4335-90e7-35c6f71c0a4e","hookName":"js-test-webHook-161531859165202085","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"1314214b-cedc-42d0-a3fe-368857bf786b","hookName":"js-test-webHook-161531859960401262","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"54b2656e-4d97-46e2-a1c2-670cb9e40f22","hookName":"js-test-webHook-161531877402407296","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"a8db2484-9b93-4ed0-8c76-94dfcd17fe6e","hookName":"js-test-webHook-161531878351801649","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"3b66e660-814d-4b16-891a-12f8597a0f87","hookName":"js-test-webHook-162015550185604122","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"6ec2b7ef-2e7e-4be7-a662-d8df6328d4bd","hookName":"js-test-webHook-162265643099207315","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder","headers":{},"certificateKey":"","certificatePassword":""}},{"hookId":"7911e86d-8d5b-4c08-8a8f-480f15b2d2b5","hookName":"js-test-webHook-162266588772100390","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder","headers":{},"certificateKey":"","certificatePassword":""}}]}, [ 'Content-Length', '5549', 'Content-Type', diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_updates_web_hook.js b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_updates_web_hook.js index 4bde165cfe1b..3e6949292377 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_updates_web_hook.js +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/aad_metricsadvisorclient_hooks/recording_updates_web_hook.js @@ -38,8 +38,8 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) ]); nock('https://endpoint:443', {"encodedQueryParams":true}) - .patch('/metricsadvisor/v1.0/hooks/7911e86d-8d5b-4c08-8a8f-480f15b2d2b5', {"hookType":"Webhook","hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123"}}) - .reply(200, {"hookId":"7911e86d-8d5b-4c08-8a8f-480f15b2d2b5","hookName":"js-test-webHook-162266588772100390","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123","headers":{},"certificateKey":"","certificatePassword":""}}, [ + .patch('/metricsadvisor/v1.0/hooks/7911e86d-8d5b-4c08-8a8f-480f15b2d2b5', {"hookType":"Webhook","hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder"}}) + .reply(200, {"hookId":"7911e86d-8d5b-4c08-8a8f-480f15b2d2b5","hookName":"js-test-webHook-162266588772100390","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder","headers":{},"certificateKey":"","certificatePassword":""}}, [ 'Content-Length', '395', 'Content-Type', @@ -60,7 +60,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/metricsadvisor/v1.0/hooks/7911e86d-8d5b-4c08-8a8f-480f15b2d2b5') - .reply(200, {"hookId":"7911e86d-8d5b-4c08-8a8f-480f15b2d2b5","hookName":"js-test-webHook-162266588772100390","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123","headers":{},"certificateKey":"","certificatePassword":""}}, [ + .reply(200, {"hookId":"7911e86d-8d5b-4c08-8a8f-480f15b2d2b5","hookName":"js-test-webHook-162266588772100390","hookType":"Webhook","externalLink":"","description":"description","admins":["azure_client_id"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder","headers":{},"certificateKey":"","certificatePassword":""}}, [ 'Content-Length', '395', 'Content-Type', diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js index 5b2a43369d0b..ef497a930adf 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisoradministrationclient_datafeed_datafeed/recording_creates_influxdb_data_feed.js @@ -5,7 +5,7 @@ module.exports.hash = "20c919dd47d830a2edcdf7d1337b0e28"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) - .post('/metricsadvisor/v1.0/dataFeeds', {"dataSourceType":"InfluxDB","dataFeedName":"js-test-influxdbFeed-162267904090107471","dataFeedDescription":"Data feed description","granularityName":"Daily","metrics":[{"metricName":"cost","metricDisplayName":"cost","metricDescription":""},{"metricName":"revenue","metricDisplayName":"revenue","metricDescription":""}],"dimension":[{"dimensionName":"category","dimensionDisplayName":"category"},{"dimensionName":"city","dimensionDisplayName":"city"}],"dataStartFrom":"2020-08-21T00:00:00.000Z","startOffsetInSeconds":0,"maxConcurrency":-1,"minRetryIntervalInSeconds":-1,"stopRetryAfterInSeconds":-1,"needRollup":"NeedRollup","rollUpMethod":"Sum","allUpIdentification":"__CUSTOM_SUM__","fillMissingPointType":"CustomValue","fillMissingPointValue":555,"viewMode":"Private","authenticationType":"Basic","dataSourceParameter":{"connectionString":"https://connect-to-influxdb","database":"data-feed-database","userName":"user","password":"pwd1","query":"partition-key eq @start-time"}}) + .post('/metricsadvisor/v1.0/dataFeeds', {"dataSourceType":"InfluxDB","dataFeedName":"js-test-influxdbFeed-162267904090107471","dataFeedDescription":"Data feed description","granularityName":"Daily","metrics":[{"metricName":"cost","metricDisplayName":"cost","metricDescription":""},{"metricName":"revenue","metricDisplayName":"revenue","metricDescription":""}],"dimension":[{"dimensionName":"category","dimensionDisplayName":"category"},{"dimensionName":"city","dimensionDisplayName":"city"}],"dataStartFrom":"2020-08-21T00:00:00.000Z","startOffsetInSeconds":0,"maxConcurrency":-1,"minRetryIntervalInSeconds":-1,"stopRetryAfterInSeconds":-1,"needRollup":"NeedRollup","rollUpMethod":"Sum","allUpIdentification":"__CUSTOM_SUM__","fillMissingPointType":"CustomValue","fillMissingPointValue":555,"viewMode":"Private","authenticationType":"Basic","dataSourceParameter":{"connectionString":"https://connect-to-influxdb","database":"data-feed-database","userName":"user","password":"SecretPlaceholder","query":"partition-key eq @start-time"}}) .reply(201, "", [ 'Content-Length', '0', diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_lists_hooks.js b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_lists_hooks.js index be738e14cdaa..8cf4f52d7faf 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_lists_hooks.js +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_lists_hooks.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/metricsadvisor/v1.0/hooks') .query(true) - .reply(200, {"value":[{"hookId":"874704b3-80d3-4e78-929d-64be2accfb4f","hookName":"js-test-emailHook-161531685824404287","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"54b8eea6-fdfc-4fd7-a7b5-b8dfa1d37d70","hookName":"js-test-emailHook-161531705673800660","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"2a5859d5-6df2-463e-840d-350a980f3291","hookName":"js-test-emailHook-162265643099209817","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test2@example.com","test3@example.com"]}},{"hookId":"535ee654-f225-461b-9d8d-2c6abb9fed1a","hookName":"js-test-emailHook-162266592635407258","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test2@example.com","test3@example.com"]}},{"hookId":"1ecc09b3-0ad9-4ecf-a34a-8a576de78fbd","hookName":"js-test-webHook-161531829480305604","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"1314214b-cedc-42d0-a3fe-368857bf786b","hookName":"js-test-webHook-161531859960401262","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"a8db2484-9b93-4ed0-8c76-94dfcd17fe6e","hookName":"js-test-webHook-161531878351801649","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"6ec2b7ef-2e7e-4be7-a662-d8df6328d4bd","hookName":"js-test-webHook-162265643099207315","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123","headers":{},"certificateKey":"","certificatePassword":""}},{"hookId":"800bcc70-1f2b-4ca9-937c-d19453993b74","hookName":"js-test-webHook-162266592635409328","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123","headers":{},"certificateKey":"","certificatePassword":""}}]}, [ + .reply(200, {"value":[{"hookId":"874704b3-80d3-4e78-929d-64be2accfb4f","hookName":"js-test-emailHook-161531685824404287","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"54b8eea6-fdfc-4fd7-a7b5-b8dfa1d37d70","hookName":"js-test-emailHook-161531705673800660","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test@example.com"]}},{"hookId":"2a5859d5-6df2-463e-840d-350a980f3291","hookName":"js-test-emailHook-162265643099209817","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test2@example.com","test3@example.com"]}},{"hookId":"535ee654-f225-461b-9d8d-2c6abb9fed1a","hookName":"js-test-emailHook-162266592635407258","hookType":"Email","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"toList":["test2@example.com","test3@example.com"]}},{"hookId":"1ecc09b3-0ad9-4ecf-a34a-8a576de78fbd","hookName":"js-test-webHook-161531829480305604","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"1314214b-cedc-42d0-a3fe-368857bf786b","hookName":"js-test-webHook-161531859960401262","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"a8db2484-9b93-4ed0-8c76-94dfcd17fe6e","hookName":"js-test-webHook-161531878351801649","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://httpbin.org/post","username":"user","password":"pass","headers":null,"certificateKey":null,"certificatePassword":null}},{"hookId":"6ec2b7ef-2e7e-4be7-a662-d8df6328d4bd","hookName":"js-test-webHook-162265643099207315","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder","headers":{},"certificateKey":"","certificatePassword":""}},{"hookId":"800bcc70-1f2b-4ca9-937c-d19453993b74","hookName":"js-test-webHook-162266592635409328","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder","headers":{},"certificateKey":"","certificatePassword":""}}]}, [ 'Content-Length', '2875', 'Content-Type', diff --git a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.js b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.js index 5a4ad53ae84d..15a9e5ad3d56 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.js +++ b/sdk/metricsadvisor/ai-metrics-advisor/recordings/node/api_key_metricsadvisorclient_hooks/recording_updates_web_hook.js @@ -5,8 +5,8 @@ module.exports.hash = "4538131073c0be8d2c3b7d9323573a49"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) - .patch('/metricsadvisor/v1.0/hooks/800bcc70-1f2b-4ca9-937c-d19453993b74', {"hookType":"Webhook","hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123"}}) - .reply(200, {"hookId":"800bcc70-1f2b-4ca9-937c-d19453993b74","hookName":"js-test-webHook-162266592635409328","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123","headers":{},"certificateKey":"","certificatePassword":""}}, [ + .patch('/metricsadvisor/v1.0/hooks/800bcc70-1f2b-4ca9-937c-d19453993b74', {"hookType":"Webhook","hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder"}}) + .reply(200, {"hookId":"800bcc70-1f2b-4ca9-937c-d19453993b74","hookName":"js-test-webHook-162266592635409328","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder","headers":{},"certificateKey":"","certificatePassword":""}}, [ 'Content-Length', '380', 'Content-Type', @@ -27,7 +27,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/metricsadvisor/v1.0/hooks/800bcc70-1f2b-4ca9-937c-d19453993b74') - .reply(200, {"hookId":"800bcc70-1f2b-4ca9-937c-d19453993b74","hookName":"js-test-webHook-162266592635409328","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"pass123","headers":{},"certificateKey":"","certificatePassword":""}}, [ + .reply(200, {"hookId":"800bcc70-1f2b-4ca9-937c-d19453993b74","hookName":"js-test-webHook-162266592635409328","hookType":"Webhook","externalLink":"","description":"description","admins":["kaghiya@microsoft.com"],"hookParameter":{"endpoint":"https://mawebhook.azurewebsites.net/api/HttpTrigger","username":"user1","password":"SecretPlaceholder","headers":{},"certificateKey":"","certificatePassword":""}}, [ 'Content-Length', '380', 'Content-Type', diff --git a/sdk/metricsadvisor/ai-metrics-advisor/test/public/adminclient.spec.ts b/sdk/metricsadvisor/ai-metrics-advisor/test/public/adminclient.spec.ts index c83f66dd11c4..a0552b1339b7 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/test/public/adminclient.spec.ts +++ b/sdk/metricsadvisor/ai-metrics-advisor/test/public/adminclient.spec.ts @@ -11,7 +11,7 @@ import { MetricsAdvisorAdministrationClient } from "../../src"; import { createRecordedAdminClient, makeCredential, testEnv } from "./util/recordedClients"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { matrix } from "./util/matrix"; matrix([[true, false]] as const, async (useAad) => { diff --git a/sdk/metricsadvisor/ai-metrics-advisor/test/public/advisorclient.spec.ts b/sdk/metricsadvisor/ai-metrics-advisor/test/public/advisorclient.spec.ts index c68166d66640..1c8c504c16e1 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/test/public/advisorclient.spec.ts +++ b/sdk/metricsadvisor/ai-metrics-advisor/test/public/advisorclient.spec.ts @@ -12,7 +12,7 @@ import { MetricsAdvisorClient } from "../../src"; import { createRecordedAdvisorClient, makeCredential, testEnv } from "./util/recordedClients"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { matrix } from "./util/matrix"; matrix([[true, false]] as const, async (useAad) => { diff --git a/sdk/metricsadvisor/ai-metrics-advisor/test/public/dataSourceCred.spec.ts b/sdk/metricsadvisor/ai-metrics-advisor/test/public/dataSourceCred.spec.ts index 4cc5ad6d92d9..0a40c2c9098d 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/test/public/dataSourceCred.spec.ts +++ b/sdk/metricsadvisor/ai-metrics-advisor/test/public/dataSourceCred.spec.ts @@ -15,7 +15,7 @@ import { DataSourceSqlServerConnectionStringPatch } from "../../src"; import { createRecordedAdminClient, makeCredential } from "./util/recordedClients"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; describe("DataSourceCredential", () => { let client: MetricsAdvisorAdministrationClient; diff --git a/sdk/metricsadvisor/ai-metrics-advisor/test/public/datafeed.spec.ts b/sdk/metricsadvisor/ai-metrics-advisor/test/public/datafeed.spec.ts index e34755fdd2f4..91ec36966e60 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/test/public/datafeed.spec.ts +++ b/sdk/metricsadvisor/ai-metrics-advisor/test/public/datafeed.spec.ts @@ -23,7 +23,7 @@ import { AzureLogAnalyticsDataFeedSource } from "../../src"; import { createRecordedAdminClient, testEnv, makeCredential } from "./util/recordedClients"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { matrix } from "./util/matrix"; matrix([[true, false]] as const, async (useAad) => { @@ -580,7 +580,7 @@ matrix([[true, false]] as const, async (useAad) => { connectionString: "https://connect-to-influxdb", database: "data-feed-database", userName: "user", - password: "pwd1", + password: "SecretPlaceholder", query: "partition-key eq @start-time", authenticationType: "Basic" }; diff --git a/sdk/metricsadvisor/ai-metrics-advisor/test/public/hookTests.spec.ts b/sdk/metricsadvisor/ai-metrics-advisor/test/public/hookTests.spec.ts index 6d601483e1a0..3430f8f91c70 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/test/public/hookTests.spec.ts +++ b/sdk/metricsadvisor/ai-metrics-advisor/test/public/hookTests.spec.ts @@ -12,7 +12,7 @@ import { WebNotificationHookPatch } from "../../src"; import { createRecordedAdminClient, makeCredential } from "./util/recordedClients"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { matrix } from "./util/matrix"; matrix([[true, false]] as const, async (useAad) => { @@ -93,7 +93,7 @@ matrix([[true, false]] as const, async (useAad) => { hookParameter: { endpoint: "https://mawebhook.azurewebsites.net/api/HttpTrigger", username: "user1", - password: "pass123" + password: "SecretPlaceholder" } }; const updated = await client.updateHook(createdWebHookId, webPatch); @@ -104,7 +104,7 @@ matrix([[true, false]] as const, async (useAad) => { webHook.hookParameter?.endpoint, "https://mawebhook.azurewebsites.net/api/HttpTrigger" ); - assert.equal(webHook.hookParameter?.password, "pass123"); + assert.equal(webHook.hookParameter?.password, "SecretPlaceholder"); }); it("lists hooks", async function() { diff --git a/sdk/metricsadvisor/ai-metrics-advisor/test/public/util/recordedClients.ts b/sdk/metricsadvisor/ai-metrics-advisor/test/public/util/recordedClients.ts index 67247a455da0..711a01a3a066 100644 --- a/sdk/metricsadvisor/ai-metrics-advisor/test/public/util/recordedClients.ts +++ b/sdk/metricsadvisor/ai-metrics-advisor/test/public/util/recordedClients.ts @@ -3,7 +3,7 @@ import { Context } from "mocha"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { ClientSecretCredential } from "@azure/identity"; import { TokenCredential } from "@azure/core-auth"; import { diff --git a/sdk/metricsadvisor/perf-tests/ai-metrics-advisor/package.json b/sdk/metricsadvisor/perf-tests/ai-metrics-advisor/package.json index 8e4c1c5142d3..6e42f569eb69 100644 --- a/sdk/metricsadvisor/perf-tests/ai-metrics-advisor/package.json +++ b/sdk/metricsadvisor/perf-tests/ai-metrics-advisor/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-ai-metrics-advisor", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -17,18 +18,18 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "private": true, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-esm test-dist typings *.tgz *.log", + "clean": "rimraf dist dist-esm test-dist types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -36,7 +37,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/migrate/arm-migrate/README.md b/sdk/migrate/arm-migrate/README.md index 6e9f375c655e..285b164a72f8 100644 --- a/sdk/migrate/arm-migrate/README.md +++ b/sdk/migrate/arm-migrate/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AzureMigrate. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/mixedreality/arm-mixedreality/README.md b/sdk/mixedreality/arm-mixedreality/README.md index e5d65b4492a4..d18c7bc5117f 100644 --- a/sdk/mixedreality/arm-mixedreality/README.md +++ b/sdk/mixedreality/arm-mixedreality/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MixedRealityClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/mixedreality/mixed-reality-authentication/CHANGELOG.md b/sdk/mixedreality/mixed-reality-authentication/CHANGELOG.md index 967eb9e0f2c0..b6403bf6c954 100644 --- a/sdk/mixedreality/mixed-reality-authentication/CHANGELOG.md +++ b/sdk/mixedreality/mixed-reality-authentication/CHANGELOG.md @@ -1,5 +1,5 @@ # Release History -## 1.0.0-beta.1 (Unreleased) +## 1.0.0-beta.1 (2021-09-21) - Initial release. diff --git a/sdk/mixedreality/mixed-reality-authentication/karma.conf.js b/sdk/mixedreality/mixed-reality-authentication/karma.conf.js index ce82490c5e41..c40d218e2f55 100644 --- a/sdk/mixedreality/mixed-reality-authentication/karma.conf.js +++ b/sdk/mixedreality/mixed-reality-authentication/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/mixedreality/mixed-reality-authentication/package.json b/sdk/mixedreality/mixed-reality-authentication/package.json index f389623ac2ac..23a88c0a3136 100644 --- a/sdk/mixedreality/mixed-reality-authentication/package.json +++ b/sdk/mixedreality/mixed-reality-authentication/package.json @@ -15,7 +15,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -28,7 +28,6 @@ "lint:fix": "eslint package.json tsconfig.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json tsconfig.json api-extractor.json src test --ext .ts -f html -o mixed-reality-authentication-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -76,7 +75,7 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/chai": "^4.1.6", "@types/chai-as-promised": "^7.1.0", diff --git a/sdk/mixedreality/mixed-reality-authentication/src/generated/mixedRealityStsRestClientContext.ts b/sdk/mixedreality/mixed-reality-authentication/src/generated/mixedRealityStsRestClientContext.ts index e2e0f8a7d4cc..e2c0f10242ad 100644 --- a/sdk/mixedreality/mixed-reality-authentication/src/generated/mixedRealityStsRestClientContext.ts +++ b/sdk/mixedreality/mixed-reality-authentication/src/generated/mixedRealityStsRestClientContext.ts @@ -10,7 +10,7 @@ import * as coreHttp from "@azure/core-http"; import { MixedRealityStsRestClientOptionalParams } from "./models"; const packageName = "@azure/mixed-reality-authentication"; -const packageVersion = "1.0.0"; +const packageVersion = "1.0.0-beta.1"; /** @hidden */ export class MixedRealityStsRestClientContext extends coreHttp.ServiceClient { diff --git a/sdk/mixedreality/mixed-reality-authentication/test/mixedRealityStsClient.spec.ts b/sdk/mixedreality/mixed-reality-authentication/test/mixedRealityStsClient.spec.ts index 4a54642ba3f6..6e314ad28b4f 100644 --- a/sdk/mixedreality/mixed-reality-authentication/test/mixedRealityStsClient.spec.ts +++ b/sdk/mixedreality/mixed-reality-authentication/test/mixedRealityStsClient.spec.ts @@ -5,7 +5,7 @@ import { assert } from "chai"; import { Context } from "mocha"; import { AzureKeyCredential, MixedRealityStsClient } from "../src"; import { createTokenCredentialFromMRKeyCredential } from "./utils/tokenCredentialHelper"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { createClient, createRecorder } from "./utils/recordedClient"; describe("MixedRealityStsClient", () => { diff --git a/sdk/mixedreality/mixed-reality-authentication/test/utils/recordedClient.ts b/sdk/mixedreality/mixed-reality-authentication/test/utils/recordedClient.ts index a1ad91b822b9..bad289fb6e35 100644 --- a/sdk/mixedreality/mixed-reality-authentication/test/utils/recordedClient.ts +++ b/sdk/mixedreality/mixed-reality-authentication/test/utils/recordedClient.ts @@ -4,7 +4,7 @@ import { Context } from "mocha"; import { AzureKeyCredential } from "@azure/core-auth"; -import { env, record, Recorder, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, record, Recorder, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { MixedRealityStsClient } from "../../src"; import "./env"; diff --git a/sdk/monitor/arm-monitor-profile-2019-03-01-hybrid/README.md b/sdk/monitor/arm-monitor-profile-2019-03-01-hybrid/README.md index 5541c2706873..68eacdf3692b 100644 --- a/sdk/monitor/arm-monitor-profile-2019-03-01-hybrid/README.md +++ b/sdk/monitor/arm-monitor-profile-2019-03-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MonitorManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/monitor/arm-monitor-profile-2020-09-01-hybrid/README.md b/sdk/monitor/arm-monitor-profile-2020-09-01-hybrid/README.md index 0ca4713df7df..47739da89a1c 100644 --- a/sdk/monitor/arm-monitor-profile-2020-09-01-hybrid/README.md +++ b/sdk/monitor/arm-monitor-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MonitorManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/monitor/arm-monitor/README.md b/sdk/monitor/arm-monitor/README.md index 04373a170952..a79d520da9e0 100644 --- a/sdk/monitor/arm-monitor/README.md +++ b/sdk/monitor/arm-monitor/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MonitorManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/monitor/monitor-opentelemetry-exporter/CHANGELOG.md b/sdk/monitor/monitor-opentelemetry-exporter/CHANGELOG.md index 8d6f8d85a7c7..def48d0c42eb 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/CHANGELOG.md +++ b/sdk/monitor/monitor-opentelemetry-exporter/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 1.0.0-beta.5 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 1.0.0-beta.4 (2021-07-07) - Updating OpenTelemetry API to 1.0.0 diff --git a/sdk/monitor/monitor-opentelemetry-exporter/package.json b/sdk/monitor/monitor-opentelemetry-exporter/package.json index f48383888f48..6ab113ac772e 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/package.json +++ b/sdk/monitor/monitor-opentelemetry-exporter/package.json @@ -2,7 +2,7 @@ "name": "@azure/monitor-opentelemetry-exporter", "author": "Microsoft Corporation", "sdk-type": "client", - "version": "1.0.0-beta.4", + "version": "1.0.0-beta.5", "description": "Application Insights exporter for the OpenTelemetry JavaScript (Node.js) SDK", "main": "dist/index.js", "module": "dist-esm/src/index.js", @@ -95,7 +95,7 @@ "dotenv": "^8.2.0", "eslint": "^7.15.0", "eslint-plugin-node": "^11.1.0", - "execa": "^3.3.0", + "execa": "^5.0.0", "mocha": "^7.1.1", "nock": "^12.0.3", "nyc": "^14.0.0", @@ -103,7 +103,7 @@ "rimraf": "^3.0.0", "rollup": "^1.16.3", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "0.15.2", "typescript": "~4.2.0" }, @@ -113,7 +113,7 @@ "@opentelemetry/api": "^1.0.1", "@opentelemetry/core": "^0.22.0", "@opentelemetry/resources": "^0.22.0", - "@opentelemetry/semantic-conventions": "^0.22.0", + "@opentelemetry/semantic-conventions": "^0.24.0", "@opentelemetry/tracing": "^0.22.0", "tslib": "^2.2.0" }, diff --git a/sdk/monitor/monitor-opentelemetry-exporter/samples-dev/basicTracerNode.ts b/sdk/monitor/monitor-opentelemetry-exporter/samples-dev/basicTracerNode.ts index 14758d13b5ca..8f8708548cb3 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/samples-dev/basicTracerNode.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/samples-dev/basicTracerNode.ts @@ -11,7 +11,7 @@ import * as opentelemetry from "@opentelemetry/api"; import { Resource } from "@opentelemetry/resources"; -import { ResourceAttributes } from "@opentelemetry/semantic-conventions"; +import { SemanticResourceAttributes } from "@opentelemetry/semantic-conventions"; import { BasicTracerProvider, SimpleSpanProcessor } from "@opentelemetry/tracing"; import { AzureMonitorTraceExporter } from "@azure/monitor-opentelemetry-exporter"; @@ -21,7 +21,7 @@ dotenv.config(); const provider = new BasicTracerProvider({ resource: new Resource({ - [ResourceAttributes.SERVICE_NAME]: "basic-service" + [SemanticResourceAttributes.SERVICE_NAME]: "basic-service" }) }); diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/Declarations/Constants.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/Declarations/Constants.ts index 4893869dd68c..ba3d0a221fed 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/Declarations/Constants.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/Declarations/Constants.ts @@ -127,31 +127,3 @@ export type QuickPulseType = | "RequestTelemetryDocument" | "DependencyTelemetryDocument" | "AvailabilityTelemetryDocument"; - -/** - * OpenTelemetry Span Attributes. - * @internal - */ -export const SpanAttribute = { - // HTTP - HttpHost: "http.host", - HttpMethod: "http.method", - HttpPort: "http.port", - HttpStatusCode: "http.status_code", - HttpUrl: "http.url", - HttpUserAgent: "http.user_agent", - - // GRPC - GrpcMethod: "grpc.method", - GrpcService: "rpc.service" // rpc not grpc -}; - -/** - * OpenTelemetry dependency type names. - * @internal - */ -export const DependencyTypeName = { - Grpc: "GRPC", - Http: "HTTP", - InProc: "InProc" -}; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/context/context.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/context/context.ts index ac21d2499193..9acec3fb4434 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/context/context.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/context/context.ts @@ -2,16 +2,13 @@ // Licensed under the MIT license. import * as os from "os"; -import * as fs from "fs"; -import * as path from "path"; -import { diag } from "@opentelemetry/api"; import { SDK_INFO } from "@opentelemetry/core"; +import { SemanticResourceAttributes } from "@opentelemetry/semantic-conventions"; -import { ContextTagKeys } from "../../../generated"; +import { KnownContextTagKeys } from "../../../generated"; +import * as ai from "../../../utils/constants/applicationinsights"; import { Tags } from "../../../types"; -type PackageJson = { version: string }; - let instance: Context | null = null; /** @@ -21,131 +18,30 @@ let instance: Context | null = null; export class Context { public tags: Tags; - public static appVersion: { [path: string]: string } = {}; - public static sdkVersion: string | null = null; public static opentelemetryVersion: string | null = null; public static nodeVersion: string = ""; - /** - * Add extra ../ to access on environments not using ts-node - */ - private static readonly JS_NODE_PREFIX = "../"; - - /** - * Path to azure-opentelemetry-exporter - */ - private static readonly ROOT_PATH = "../../../../"; - - constructor( - /** - * Path to this module's `package.json` relative to - * `Context.ROOT_PATH` - */ - private _exporterPrefix = "./", - /** - * Path to end user application folder which contains `package.json` - * relative to `Context.ROOT_PATH` - */ - private _appPrefix = "../../../" - ) { + constructor() { this.tags = {}; - - this._loadApplicationContext(); this._loadDeviceContext(); this._loadInternalContext(); } - private _loadApplicationContext(): void { - if (Object.keys(Context.appVersion).length === 0) { - // note: this should return the host package.json - let packageJson: PackageJson | null = null; - const packageJsonPath = path.resolve( - __dirname, - Context.JS_NODE_PREFIX, - this._appPrefix, - Context.ROOT_PATH, - "./package.json" - ); - const packageJsonPathTsNode = path.resolve( - __dirname, - this._appPrefix, - Context.ROOT_PATH, - "./package.json" - ); - - Context.appVersion[packageJsonPath] = "unknown"; - - try { - packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8")) as PackageJson; - } catch (_) { - try { - packageJson = JSON.parse(fs.readFileSync(packageJsonPathTsNode, "utf8")) as PackageJson; - } catch (exception) { - diag.warn("Failed to load Application version", exception); - } - } - - if (packageJson && typeof packageJson.version === "string") { - Context.appVersion[packageJsonPath] = packageJson.version; - } - - this.tags["ai.application.ver"] = Context.appVersion[packageJsonPath]; - } - } - private _loadDeviceContext(): void { - this.tags["ai.device.id"] = ""; - this.tags["ai.device.osVersion"] = os && `${os.type()} ${os.release()}`; - - // not yet supported tags - this.tags["ai.device.osArchitecture" as ContextTagKeys] = os && os.arch(); - this.tags["ai.device.osPlatform" as ContextTagKeys] = os && os.platform(); + this.tags[KnownContextTagKeys.AiDeviceOsVersion] = os && `${os.type()} ${os.release()}`; } private _loadInternalContext(): void { - if (!Context.sdkVersion) { - let packageJson: { version: string } | null = null; - const { node } = process.versions; - [Context.nodeVersion] = node.split("."); - - // note: this should return the sdk package.json - const packageJsonPath = path.resolve( - __dirname, - Context.JS_NODE_PREFIX, - this._exporterPrefix, - Context.ROOT_PATH, - "./package.json" - ); - const packageJsonPathTsNode = path.resolve( - __dirname, - this._exporterPrefix, - Context.ROOT_PATH, - "./package.json" - ); - - Context.sdkVersion = "unknown"; - try { - packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8")) as PackageJson; - } catch (_) { - try { - packageJson = JSON.parse(fs.readFileSync(packageJsonPathTsNode, "utf8")) as PackageJson; - } catch (exception) { - diag.warn("Failed to load Exporter version", exception); - throw exception; - } - } - - if (packageJson && typeof packageJson.version === "string") { - Context.sdkVersion = packageJson.version; - } - } - + const { node } = process.versions; + [Context.nodeVersion] = node.split("."); + Context.opentelemetryVersion = SDK_INFO[SemanticResourceAttributes.TELEMETRY_SDK_VERSION]; + Context.sdkVersion = ai.packageVersion; this.tags[ - "ai.internal.sdkVersion" - ] = `node${Context.nodeVersion}:ot${SDK_INFO.VERSION}:ext${Context.sdkVersion}`; + KnownContextTagKeys.AiInternalSdkVersion + ] = `node${Context.nodeVersion}:otel${Context.opentelemetryVersion}:ext${Context.sdkVersion}`; } } @@ -153,9 +49,9 @@ export class Context { * Singleton Context instance. * @internal */ -export function getInstance(exporterPrefix?: string, appPrefix?: string): Context { +export function getInstance(): Context { if (!instance) { - instance = new Context(exporterPrefix, appPrefix); + instance = new Context(); } return instance; } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/applicationinsights.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/applicationinsights.ts index c999af8825e9..b11a464b99da 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/applicationinsights.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/applicationinsights.ts @@ -1,41 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -/** - * AI cloud role tag name. - * @internal - */ -export const AI_CLOUD_ROLE = "ai.cloud.role"; -/** - * AI cloud role isntance tag name. - * @internal - */ -export const AI_CLOUD_ROLE_INSTACE = "ai.cloud.roleInstance"; -/** - * AI operation Id tag name. - * @internal - */ -export const AI_OPERATION_ID = "ai.operation.id"; -/** - * AI operation parent Id tag name. - * @internal - */ -export const AI_OPERATION_PARENT_ID = "ai.operation.parentId"; -/** - * AI operation tag name. - * @internal - */ -export const AI_OPERATION_NAME = "ai.operation.name"; /** * AI MS Links. * @internal */ export const MS_LINKS = "_MS.links"; -/** - * AI InProc attribute. - * @internal - */ -export const INPROC = "InProc"; /** * AI enqueued time attribute. * @internal @@ -50,4 +20,12 @@ export const TIME_SINCE_ENQUEUED = "timeSinceEnqueued"; * AzureMonitorTraceExporter version. * @internal */ -export const packageVersion = "1.0.0-beta.4"; +export const packageVersion = "1.0.0-beta.5"; + +export enum DependencyTypes { + InProc = "InProc", + QueueMessage = "Queue Message", + Sql = "SQL", + Http = "Http", + Grpc = "GRPC" +} diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/dbAttributes.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/dbAttributes.ts deleted file mode 100644 index 88bf583a5345..000000000000 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/dbAttributes.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import * as conventions from "@opentelemetry/semantic-conventions"; - -/** - * OpenTelemetry DB name attribute. - * @internal - */ -export const DB_NAME = conventions.SemanticAttributes.DB_NAME; -/** - * OpenTelemetry DB statement attribute. - * @internal - */ -export const DB_STATEMENT = conventions.SemanticAttributes.DB_STATEMENT; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/grpcAttributes.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/grpcAttributes.ts deleted file mode 100644 index 900fe04fdfb0..000000000000 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/grpcAttributes.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import * as conventions from "@opentelemetry/semantic-conventions"; - -/** - * OpenTelemetry GRPC method attribute. - * @internal - */ -export const GRPC_METHOD = conventions.SemanticAttributes.RPC_METHOD; -/** - * OpenTelemetry GRPC status code attribute. - * @internal - */ -export const GRPC_STATUS_CODE = conventions.SemanticAttributes.RPC_GRPC_STATUS_CODE; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/httpAttributes.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/httpAttributes.ts deleted file mode 100644 index d742d21ce6ab..000000000000 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/constants/span/httpAttributes.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import * as conventions from "@opentelemetry/semantic-conventions"; - -/** - * OpenTelemetry HTTP method attribute. - * @internal - */ -export const HTTP_METHOD = conventions.SemanticAttributes.HTTP_METHOD; -/** - * OpenTelemetry HTTP URL attribute. - * @internal - */ -export const HTTP_URL = conventions.SemanticAttributes.HTTP_URL; -/** - * OpenTelemetry HTTP route attribute. - * @internal - */ -export const HTTP_ROUTE = conventions.SemanticAttributes.HTTP_ROUTE; -/** - * OpenTelemetry HTTP status code attribute. - * @internal - */ -export const HTTP_STATUS_CODE = conventions.SemanticAttributes.HTTP_STATUS_CODE; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/spanUtils.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/spanUtils.ts index b99b0a0a37cf..ced142d83e52 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/utils/spanUtils.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/utils/spanUtils.ts @@ -1,75 +1,85 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { URL } from "url"; +import os from "os"; import { ReadableSpan } from "@opentelemetry/tracing"; import { hrTimeToMilliseconds } from "@opentelemetry/core"; import { diag, SpanKind, SpanStatusCode, Link } from "@opentelemetry/api"; -import { ResourceAttributes } from "@opentelemetry/semantic-conventions"; -import { Tags, Properties, MSLink, Measurements } from "../types"; -import { - HTTP_METHOD, - HTTP_ROUTE, - HTTP_URL, - HTTP_STATUS_CODE -} from "./constants/span/httpAttributes"; import { - AI_CLOUD_ROLE, - AI_CLOUD_ROLE_INSTACE, - AI_OPERATION_ID, - AI_OPERATION_PARENT_ID, - AI_OPERATION_NAME, - MS_LINKS, - INPROC -} from "./constants/applicationinsights"; -import { GRPC_METHOD, GRPC_STATUS_CODE } from "./constants/span/grpcAttributes"; + SemanticResourceAttributes, + SemanticAttributes, + DbSystemValues +} from "@opentelemetry/semantic-conventions"; + +import { Tags, Properties, MSLink, Measurements } from "../types"; import { msToTimeSpan } from "./breezeUtils"; import { getInstance } from "../platform"; -import { DB_NAME, DB_STATEMENT } from "./constants/span/dbAttributes"; import { parseEventHubSpan } from "./eventhub"; +import { DependencyTypes, MS_LINKS } from "./constants/applicationinsights"; import { AzNamespace, MicrosoftEventHub } from "./constants/span/azAttributes"; -import { RemoteDependencyData, RequestData, TelemetryItem as Envelope } from "../generated"; +import { + RemoteDependencyData, + RequestData, + TelemetryItem as Envelope, + KnownContextTagKeys +} from "../generated"; function createTagsFromSpan(span: ReadableSpan): Tags { const context = getInstance(); const tags: Tags = { ...context.tags }; - tags[AI_OPERATION_ID] = span.spanContext().traceId; + tags[KnownContextTagKeys.AiOperationId] = span.spanContext().traceId; if (span.parentSpanId) { - tags[AI_OPERATION_PARENT_ID] = span.parentSpanId; + tags[KnownContextTagKeys.AiOperationParentId] = span.parentSpanId; } if (span.resource && span.resource.attributes) { - const serviceName = span.resource.attributes[ResourceAttributes.SERVICE_NAME]; - const serviceNamespace = span.resource.attributes[ResourceAttributes.SERVICE_NAMESPACE]; - const serviceInstanceId = span.resource.attributes[ResourceAttributes.SERVICE_INSTANCE_ID]; + const serviceName = span.resource.attributes[SemanticResourceAttributes.SERVICE_NAME]; + const serviceNamespace = span.resource.attributes[SemanticResourceAttributes.SERVICE_NAMESPACE]; if (serviceName) { if (serviceNamespace) { - tags[AI_CLOUD_ROLE] = `${serviceNamespace}.${serviceName}`; + tags[KnownContextTagKeys.AiCloudRole] = `${serviceNamespace}.${serviceName}`; } else { - tags[AI_CLOUD_ROLE] = String(serviceName); + tags[KnownContextTagKeys.AiCloudRole] = String(serviceName); } } + const serviceInstanceId = + span.resource.attributes[SemanticResourceAttributes.SERVICE_INSTANCE_ID]; if (serviceInstanceId) { - tags[AI_CLOUD_ROLE_INSTACE] = String(serviceInstanceId); + tags[KnownContextTagKeys.AiCloudRoleInstance] = String(serviceInstanceId); + } else { + tags[KnownContextTagKeys.AiCloudRoleInstance] = os && os.hostname(); + } + const endUserId = span.resource.attributes[SemanticAttributes.ENDUSER_ID]; + if (endUserId) { + tags[KnownContextTagKeys.AiUserId] = String(endUserId); } } - - // @todo: is this for RequestData only? - if ( - (span.kind === SpanKind.SERVER || span.kind === SpanKind.CONSUMER) && - span.attributes[GRPC_METHOD] - ) { - tags[AI_OPERATION_NAME] = String(span.attributes[GRPC_METHOD]); + if (span.kind === SpanKind.SERVER) { + const httpMethod = span.attributes[SemanticAttributes.HTTP_METHOD]; + let httpClientIp = span.attributes[SemanticAttributes.HTTP_CLIENT_IP]; + let netPeerIp = span.attributes[SemanticAttributes.NET_PEER_IP]; + if (httpMethod) { + tags[KnownContextTagKeys.AiOperationName] = `${httpMethod as string} ${span.name as string}`; + if (httpClientIp) { + tags[KnownContextTagKeys.AiLocationIp] = String(httpClientIp); + } else if (netPeerIp) { + tags[KnownContextTagKeys.AiLocationIp] = String(netPeerIp); + } + } else { + tags[KnownContextTagKeys.AiOperationName] = span.name; + if (netPeerIp) { + tags[KnownContextTagKeys.AiLocationIp] = String(netPeerIp); + } + } } - if ( - (span.kind === SpanKind.SERVER || span.kind === SpanKind.CONSUMER) && - span.attributes[HTTP_METHOD] && - span.attributes[HTTP_ROUTE] - ) { - tags[AI_OPERATION_NAME] = `${span.attributes[HTTP_METHOD] as string} ${span.attributes[ - HTTP_ROUTE - ] as string}`; + // TODO: Operation Name and Location IP TBD for non server spans + + const httpUserAgent = span.attributes[SemanticAttributes.HTTP_USER_AGENT]; + if (httpUserAgent) { + // TODO: Not exposed in Swagger, need to update def + tags["ai.user.userAgent"] = String(httpUserAgent); } + return tags; } @@ -78,7 +88,15 @@ function createPropertiesFromSpan(span: ReadableSpan): [Properties, Measurements const measurements: Measurements = {}; for (const key of Object.keys(span.attributes)) { - if (!(key.startsWith("http.") || key.startsWith("rpc.") || key.startsWith("db."))) { + if ( + !( + key.startsWith("http.") || + key.startsWith("rpc.") || + key.startsWith("db.") || + key.startsWith("peer.") || + key.startsWith("net.") + ) + ) { properties[key] = span.attributes[key] as string; } } @@ -95,102 +113,185 @@ function createPropertiesFromSpan(span: ReadableSpan): [Properties, Measurements return [properties, measurements]; } +function isSqlDB(dbSystem: string) { + return ( + dbSystem === DbSystemValues.DB2 || + dbSystem === DbSystemValues.DERBY || + dbSystem === DbSystemValues.MARIADB || + dbSystem === DbSystemValues.MSSQL || + dbSystem === DbSystemValues.ORACLE || + dbSystem === DbSystemValues.SQLITE || + dbSystem === DbSystemValues.OTHER_SQL || + dbSystem === DbSystemValues.HSQLDB || + dbSystem === DbSystemValues.H2 + ); +} + +function getUrl(span: ReadableSpan): string { + const httpMethod = span.attributes[SemanticAttributes.HTTP_METHOD]; + if (httpMethod) { + const httpUrl = span.attributes[SemanticAttributes.HTTP_URL]; + if (httpUrl) { + return String(httpUrl); + } else { + const httpScheme = span.attributes[SemanticAttributes.HTTP_SCHEME]; + const httpTarget = span.attributes[SemanticAttributes.HTTP_TARGET]; + if (httpScheme && httpTarget) { + const httpHost = span.attributes[SemanticAttributes.HTTP_HOST]; + if (httpHost) { + return `${httpScheme}://${httpHost}${httpTarget}`; + } else { + const netPeerPort = span.attributes[SemanticAttributes.NET_PEER_PORT]; + if (netPeerPort) { + const netPeerName = span.attributes[SemanticAttributes.NET_PEER_NAME]; + if (netPeerName) { + return `${httpScheme}://${netPeerName}:${netPeerPort}${httpTarget}`; + } else { + const netPeerIp = span.attributes[SemanticAttributes.NET_PEER_IP]; + if (netPeerIp) { + return `${httpScheme}://${netPeerIp}:${netPeerPort}${httpTarget}`; + } + } + } + } + } + } + } + return ""; +} + +function getDependencyTarget(span: ReadableSpan): string { + const peerService = span.attributes[SemanticAttributes.PEER_SERVICE]; + const httpHost = span.attributes[SemanticAttributes.HTTP_HOST]; + const httpUrl = span.attributes[SemanticAttributes.HTTP_URL]; + const netPeerName = span.attributes[SemanticAttributes.NET_PEER_NAME]; + const netPeerIp = span.attributes[SemanticAttributes.NET_PEER_IP]; + if (peerService) { + return String(peerService); + } else if (httpHost) { + return String(httpHost); + } else if (httpUrl) { + return String(httpUrl); + } else if (netPeerName) { + return String(netPeerName); + } else if (netPeerIp) { + return String(netPeerIp); + } + return ""; +} + function createDependencyData(span: ReadableSpan): RemoteDependencyData { - const data: RemoteDependencyData = { + const remoteDependencyData: RemoteDependencyData = { name: span.name, - id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, - success: span.status.code === SpanStatusCode.OK, - resultCode: String(span.status.code), - target: span.attributes[HTTP_URL] as string | undefined, + id: `${span.spanContext().spanId}`, + success: span.status.code != SpanStatusCode.ERROR, + resultCode: "0", type: "Dependency", duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - version: 1 + version: 2 }; - - if (span.attributes[HTTP_STATUS_CODE]) { - data.type = "HTTP"; - data.resultCode = String(span.attributes[HTTP_STATUS_CODE]); + if (span.kind === SpanKind.PRODUCER) { + remoteDependencyData.type = DependencyTypes.QueueMessage; } - - if (span.attributes[GRPC_STATUS_CODE] !== undefined) { - data.type = "GRPC"; - data.resultCode = String(span.attributes[GRPC_STATUS_CODE]); + if (span.kind === SpanKind.INTERNAL && span.parentSpanId) { + remoteDependencyData.type = DependencyTypes.InProc; } - if (span.attributes[GRPC_METHOD]) { - data.target = String(span.attributes[GRPC_METHOD]); - data.data = String(span.attributes[GRPC_METHOD]); + const httpMethod = span.attributes[SemanticAttributes.HTTP_METHOD]; + const dbSystem = span.attributes[SemanticAttributes.DB_SYSTEM]; + const rpcSystem = span.attributes[SemanticAttributes.RPC_SYSTEM]; + // HTTP Dependency + if (httpMethod) { + remoteDependencyData.type = DependencyTypes.Http; + remoteDependencyData.data = getUrl(span); + const httpStatusCode = span.attributes[SemanticAttributes.HTTP_STATUS_CODE]; + if (httpStatusCode) { + remoteDependencyData.resultCode = String(httpStatusCode); + } + let target = getDependencyTarget(span); + if (target) { + try { + // Remove default port + let portRegex = new RegExp(/(https?)(:\/\/.*)(:\d+)(\S*)/); + let res = portRegex.exec(target); + if (res != null) { + let protocol = res[1]; + let port = res[3]; + if ((protocol == "https" && port == ":443") || (protocol == "http" && port == ":80")) { + // Drop port + target = res[1] + res[2] + res[4]; + } + } + } catch (error) {} + remoteDependencyData.target = `${target}`; + } } - - if (span.attributes[HTTP_URL]) { - const url = new URL(span.attributes[HTTP_URL] as string); - data.target = url.hostname; - data.data = url.href; - - if (span.attributes[HTTP_METHOD]) { - data.name = `${span.attributes[HTTP_METHOD] as string} ${url.pathname}`; + // DB Dependency + else if (dbSystem) { + // TODO: Remove special logic when Azure UX supports OpenTelemetry dbSystem + if (String(dbSystem) === DbSystemValues.MYSQL) { + remoteDependencyData.type = "mysql"; + } else if (String(dbSystem) === DbSystemValues.POSTGRESQL) { + remoteDependencyData.type = "postgresql"; + } else if (String(dbSystem) === DbSystemValues.MONGODB) { + remoteDependencyData.type = "mongodb"; + } else if (String(dbSystem) === DbSystemValues.REDIS) { + remoteDependencyData.type = "redis"; + } else if (isSqlDB(String(dbSystem))) { + remoteDependencyData.type = "SQL"; + } else { + remoteDependencyData.type = String(dbSystem); + } + const dbStatement = span.attributes[SemanticAttributes.DB_STATEMENT]; + if (dbStatement) { + remoteDependencyData.data = String(dbStatement); + } + let target = getDependencyTarget(span); + const dbName = span.attributes[SemanticAttributes.DB_NAME]; + if (target) { + remoteDependencyData.target = dbName ? `${target}/${dbName}` : `${target}`; + } else { + remoteDependencyData.target = dbName ? `${dbName}` : `${dbSystem}`; } } - - if (span.attributes[DB_STATEMENT]) { - data.name = String(span.attributes[DB_STATEMENT]); - data.data = String(span.attributes[DB_STATEMENT]); - data.type = "DB"; - if (span.attributes[DB_NAME]) { - data.target = String(span.attributes[DB_NAME]); + // grpc Dependency + else if (rpcSystem) { + remoteDependencyData.type = DependencyTypes.Grpc; + const grpcStatusCode = span.attributes[SemanticAttributes.RPC_GRPC_STATUS_CODE]; + if (grpcStatusCode) { + remoteDependencyData.resultCode = String(grpcStatusCode); + } + let target = getDependencyTarget(span); + if (target) { + remoteDependencyData.target = `${target}`; + } else if (rpcSystem) { + remoteDependencyData.target = String(rpcSystem); } } - - return data; + return remoteDependencyData; } function createRequestData(span: ReadableSpan): RequestData { - const data: RequestData = { - name: span.name, - id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, - success: span.status.code === SpanStatusCode.OK, - responseCode: String(span.status.code), + const requestData: RequestData = { + id: `${span.spanContext().spanId}`, + success: span.status.code != SpanStatusCode.ERROR, + responseCode: "0", duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - version: 1, + version: 2, source: undefined }; - - if (span.attributes[HTTP_METHOD]) { - data.name = span.attributes[HTTP_METHOD] as string; - - if (span.attributes[HTTP_STATUS_CODE]) { - data.responseCode = String(span.attributes[HTTP_STATUS_CODE]); - } - - if (span.attributes[HTTP_URL]) { - data.url = span.attributes[HTTP_URL] as string; - } - - if (span.attributes[HTTP_ROUTE]) { - data.name = `${span.attributes[HTTP_METHOD] as string} ${span.attributes[ - HTTP_ROUTE - ] as string}`; - } else if (span.attributes[HTTP_URL]) { - const url = new URL(span.attributes[HTTP_URL] as string); - data.name = `${span.attributes[HTTP_METHOD] as string} ${url.pathname}`; + const httpMethod = span.attributes[SemanticAttributes.HTTP_METHOD]; + const grpcStatusCode = span.attributes[SemanticAttributes.RPC_GRPC_STATUS_CODE]; + if (httpMethod) { + requestData.url = getUrl(span); + const httpStatusCode = span.attributes[SemanticAttributes.HTTP_STATUS_CODE]; + if (httpStatusCode) { + requestData.responseCode = String(httpStatusCode); } + } else if (grpcStatusCode) { + requestData.responseCode = String(grpcStatusCode); } - - if (span.attributes[GRPC_STATUS_CODE]) { - data.responseCode = String(span.attributes[GRPC_STATUS_CODE]); - } - if (span.attributes[GRPC_METHOD]) { - data.url = String(span.attributes[GRPC_METHOD]); - } - - return data; -} - -function createInProcData(span: ReadableSpan): RemoteDependencyData { - const data = createDependencyData(span); - data.type = INPROC; - data.success = true; - return data; + return requestData; } /** @@ -210,6 +311,7 @@ export function readableSpanToEnvelope(span: ReadableSpan, ikey: string): Envelo switch (span.kind) { case SpanKind.CLIENT: case SpanKind.PRODUCER: + case SpanKind.INTERNAL: name = "Microsoft.ApplicationInsights.RemoteDependency"; baseType = "RemoteDependencyData"; baseData = createDependencyData(span); @@ -219,11 +321,7 @@ export function readableSpanToEnvelope(span: ReadableSpan, ikey: string): Envelo name = "Microsoft.ApplicationInsights.Request"; baseType = "RequestData"; baseData = createRequestData(span); - break; - case SpanKind.INTERNAL: - baseType = "RemoteDependencyData"; - name = "Microsoft.ApplicationInsights.RemoteDependency"; - baseData = createInProcData(span); + baseData.name = tags[KnownContextTagKeys.AiOperationName]; break; default: // never @@ -231,14 +329,13 @@ export function readableSpanToEnvelope(span: ReadableSpan, ikey: string): Envelo throw new Error(`Unsupported span kind ${span.kind}`); } - if (span.attributes[AzNamespace] === MicrosoftEventHub) { - parseEventHubSpan(span, baseData); - } else if (span.attributes[AzNamespace]) { - switch (span.kind) { - case SpanKind.INTERNAL: - (baseData as RemoteDependencyData).type = `${INPROC} | ${span.attributes[AzNamespace]}`; - break; - default: // no op + // Azure SDK + if (span.attributes[AzNamespace]) { + if (span.kind === SpanKind.INTERNAL) { + baseData.type = `${DependencyTypes.InProc} | ${span.attributes[AzNamespace]}`; + } + if (span.attributes[AzNamespace] === MicrosoftEventHub) { + parseEventHubSpan(span, baseData); } } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/internal/spanUtils.test.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/internal/spanUtils.test.ts index f16fe42b9bdf..9c18a61e7d66 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/internal/spanUtils.test.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/internal/spanUtils.test.ts @@ -1,38 +1,39 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. +import fs from "fs"; +import path from "path"; import { Span, BasicTracerProvider, TracerConfig } from "@opentelemetry/tracing"; import { SpanKind, SpanStatusCode, ROOT_CONTEXT } from "@opentelemetry/api"; import * as assert from "assert"; import { hrTimeToMilliseconds } from "@opentelemetry/core"; import { Resource } from "@opentelemetry/resources"; -import { ResourceAttributes } from "@opentelemetry/semantic-conventions"; +import { + DbSystemValues, + SemanticAttributes, + SemanticResourceAttributes +} from "@opentelemetry/semantic-conventions"; import { Tags, Properties, Measurements } from "../../src/types"; -import { - AI_CLOUD_ROLE, - AI_CLOUD_ROLE_INSTACE -} from "../../src/utils/constants/applicationinsights"; -import * as http from "../../src/utils/constants/span/httpAttributes"; -import * as grpc from "../../src/utils/constants/span/grpcAttributes"; -import * as ai from "../../src/utils/constants/applicationinsights"; import { Context, getInstance } from "../../src/platform"; import { msToTimeSpan } from "../../src/utils/breezeUtils"; import { readableSpanToEnvelope } from "../../src/utils/spanUtils"; -import { RemoteDependencyData, RequestData } from "../../src/generated"; +import { RemoteDependencyData, RequestData, KnownContextTagKeys } from "../../src/generated"; import { TelemetryItem as Envelope } from "../../src/generated"; -const context = getInstance(undefined, "./"); +const context = getInstance(); const tracerProviderConfig: TracerConfig = { resource: new Resource({ - [ResourceAttributes.SERVICE_INSTANCE_ID]: "testServiceInstanceID", - [ResourceAttributes.SERVICE_NAME]: "testServiceName", - [ResourceAttributes.SERVICE_NAMESPACE]: "testServiceNamespace" + [SemanticResourceAttributes.SERVICE_INSTANCE_ID]: "testServiceInstanceID", + [SemanticResourceAttributes.SERVICE_NAME]: "testServiceName", + [SemanticResourceAttributes.SERVICE_NAMESPACE]: "testServiceNamespace" }) }; const tracer = new BasicTracerProvider(tracerProviderConfig).getTracer("default"); +const packageJsonPath = path.resolve(__dirname, "../../", "./package.json"); +let packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8")); function assertEnvelope( envelope: Envelope, @@ -44,10 +45,7 @@ function assertEnvelope( expectedBaseData: Partial, expectedTime?: Date ): void { - assert.strictEqual(Context.sdkVersion, ai.packageVersion); - assert.strictEqual(Object.keys(Context.appVersion).length, 1); - assert.notDeepStrictEqual(Context.appVersion, "unknown"); - + assert.strictEqual(Context.sdkVersion, packageJson.version); assert.ok(envelope); assert.strictEqual(envelope.name, name); assert.deepStrictEqual(envelope.data?.baseType, baseType); @@ -62,8 +60,8 @@ function assertEnvelope( } const expectedServiceTags: Tags = { - [AI_CLOUD_ROLE]: "testServiceNamespace.testServiceName", - [AI_CLOUD_ROLE_INSTACE]: "testServiceInstanceID" + [KnownContextTagKeys.AiCloudRole]: "testServiceNamespace.testServiceName", + [KnownContextTagKeys.AiCloudRoleInstance]: "testServiceInstanceID" }; assert.deepStrictEqual(envelope.tags, { ...context.tags, @@ -94,17 +92,17 @@ describe("spanUtils.ts", () => { ); span.setAttributes({ "extra.attribute": "foo", - [grpc.GRPC_STATUS_CODE]: SpanStatusCode.OK, - [grpc.GRPC_METHOD]: "/foo.Example/Foo" + [SemanticAttributes.RPC_GRPC_STATUS_CODE]: 123, + [SemanticAttributes.RPC_SYSTEM]: "test rpc system" }); span.setStatus({ code: SpanStatusCode.OK }); span.end(); const expectedTags: Tags = { - [ai.AI_OPERATION_ID]: "traceid", - [ai.AI_OPERATION_PARENT_ID]: "parentSpanId", - [ai.AI_OPERATION_NAME]: "/foo.Example/Foo" + [KnownContextTagKeys.AiOperationId]: "traceid", + [KnownContextTagKeys.AiOperationParentId]: "parentSpanId", + [KnownContextTagKeys.AiOperationName]: "parent span" }; const expectedProperties = { "extra.attribute": "foo" @@ -113,12 +111,11 @@ describe("spanUtils.ts", () => { const expectedBaseData: Partial = { source: undefined, duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, + id: `${span.spanContext().spanId}`, success: true, - responseCode: "1", - url: "/foo.Example/Foo", + responseCode: "123", name: `parent span`, - version: 1, + version: 2, properties: expectedProperties, measurements: {} }; @@ -145,16 +142,16 @@ describe("spanUtils.ts", () => { ); span.setAttributes({ "extra.attribute": "foo", - [grpc.GRPC_STATUS_CODE]: SpanStatusCode.OK, - [grpc.GRPC_METHOD]: "/foo.Example/Foo" + [SemanticAttributes.RPC_GRPC_STATUS_CODE]: 123, + [SemanticAttributes.RPC_SYSTEM]: "test rpc system" }); span.setStatus({ code: SpanStatusCode.OK }); span.end(); const expectedTags: Tags = { - [ai.AI_OPERATION_ID]: "traceid", - [ai.AI_OPERATION_PARENT_ID]: "parentSpanId" + [KnownContextTagKeys.AiOperationId]: "traceid", + [KnownContextTagKeys.AiOperationParentId]: "parentSpanId" }; const expectedProperties = { "extra.attribute": "foo" @@ -162,14 +159,13 @@ describe("spanUtils.ts", () => { const expectedBaseData: Partial = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, + id: `${span.spanContext().spanId}`, success: true, - resultCode: "1", - target: "/foo.Example/Foo", - data: "/foo.Example/Foo", + resultCode: "123", + target: "test rpc system", type: "GRPC", name: `parent span`, - version: 1, + version: 2, properties: expectedProperties, measurements: {} }; @@ -205,8 +201,9 @@ describe("spanUtils.ts", () => { span.end(); const expectedTime = new Date(hrTimeToMilliseconds(span.startTime)); const expectedTags: Tags = { - [ai.AI_OPERATION_ID]: "traceid", - [ai.AI_OPERATION_PARENT_ID]: "parentSpanId" + [KnownContextTagKeys.AiOperationId]: "traceid", + [KnownContextTagKeys.AiOperationParentId]: "parentSpanId", + [KnownContextTagKeys.AiOperationName]: "parent span" }; const expectedProperties = { "extra.attribute": "foo" @@ -214,11 +211,11 @@ describe("spanUtils.ts", () => { const expectedBaseData: Partial = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, + id: `${span.spanContext().spanId}`, success: true, - responseCode: "1", + responseCode: "0", name: `parent span`, - version: 1, + version: 2, source: undefined, properties: expectedProperties, measurements: {} @@ -254,8 +251,8 @@ describe("spanUtils.ts", () => { }); span.end(); const expectedTags: Tags = { - [ai.AI_OPERATION_ID]: "traceid", - [ai.AI_OPERATION_PARENT_ID]: "parentSpanId" + [KnownContextTagKeys.AiOperationId]: "traceid", + [KnownContextTagKeys.AiOperationParentId]: "parentSpanId" }; const expectedProperties = { "extra.attribute": "foo" @@ -263,13 +260,12 @@ describe("spanUtils.ts", () => { const expectedBaseData: Partial = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, + id: `${span.spanContext().spanId}`, success: true, - resultCode: "1", - target: undefined, + resultCode: "0", type: "Dependency", name: `parent span`, - version: 1, + version: 2, properties: expectedProperties, measurements: {} }; @@ -298,35 +294,33 @@ describe("spanUtils.ts", () => { "parentSpanId" ); span.setAttributes({ - [http.HTTP_METHOD]: "GET", - [http.HTTP_ROUTE]: "/api/example", - [http.HTTP_URL]: "https://example.com/api/example", - [http.HTTP_STATUS_CODE]: 200, + [SemanticAttributes.HTTP_METHOD]: "GET", + [SemanticAttributes.HTTP_ROUTE]: "/api/example", + [SemanticAttributes.HTTP_URL]: "https://example.com/api/example", + [SemanticAttributes.HTTP_STATUS_CODE]: 200, "extra.attribute": "foo" }); span.setStatus({ code: SpanStatusCode.OK }); span.end(); - const expectedTags: Tags = { - [ai.AI_OPERATION_ID]: "traceid", - [ai.AI_OPERATION_PARENT_ID]: "parentSpanId", - [ai.AI_OPERATION_NAME]: `${span.attributes[http.HTTP_METHOD] as string} ${span.attributes[ - http.HTTP_ROUTE - ] as string}` - }; + const expectedTags: Tags = {}; + expectedTags[KnownContextTagKeys.AiOperationId] = "traceid"; + expectedTags[KnownContextTagKeys.AiOperationParentId] = "parentSpanId"; + expectedTags[KnownContextTagKeys.AiOperationName] = "GET parent span"; + const expectedProperties = { "extra.attribute": "foo" }; const expectedBaseData: RequestData = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|${span.spanContext().traceId}.${span.spanContext().spanId}.`, + id: `${span.spanContext().spanId}`, success: true, responseCode: "200", url: "https://example.com/api/example", - name: `GET /api/example`, - version: 1, + name: `GET parent span`, + version: 2, source: undefined, properties: expectedProperties, measurements: {} @@ -353,33 +347,86 @@ describe("spanUtils.ts", () => { "parentSpanId" ); span.setAttributes({ - [http.HTTP_METHOD]: "GET", - [http.HTTP_URL]: "https://example.com/api/example", - [http.HTTP_STATUS_CODE]: 200, + [SemanticAttributes.HTTP_METHOD]: "GET", + [SemanticAttributes.HTTP_URL]: "https://example.com/api/example", + [SemanticAttributes.PEER_SERVICE]: "https://someotherexample.com/api/example", + [SemanticAttributes.HTTP_STATUS_CODE]: 200, "extra.attribute": "foo" }); span.setStatus({ code: SpanStatusCode.OK }); span.end(); - const expectedTags: Tags = { - [ai.AI_OPERATION_ID]: span.spanContext().traceId, - [ai.AI_OPERATION_PARENT_ID]: "parentSpanId" - }; + const expectedTags: Tags = {}; + expectedTags[KnownContextTagKeys.AiOperationId] = span.spanContext().traceId; + expectedTags[KnownContextTagKeys.AiOperationParentId] = "parentSpanId"; const expectedProperties = { "extra.attribute": "foo" }; const expectedBaseData: RemoteDependencyData = { duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), - id: `|traceid.spanId.`, + id: `spanId`, success: true, resultCode: "200", - type: "HTTP", - target: "example.com", + type: "Http", + target: "https://someotherexample.com/api/example", data: "https://example.com/api/example", - name: `GET /api/example`, - version: 1, + name: `parent span`, + version: 2, + properties: expectedProperties, + measurements: {} + }; + + const envelope = readableSpanToEnvelope(span, "ikey"); + assertEnvelope( + envelope, + "Microsoft.ApplicationInsights.RemoteDependency", + "RemoteDependencyData", + expectedTags, + expectedProperties, + emptyMeasurements, + expectedBaseData + ); + }); + }); + + describe("DB", () => { + it("should create a Dependency Envelope for Client Spans", () => { + const span = new Span( + tracer, + ROOT_CONTEXT, + "parent span", + { traceId: "traceid", spanId: "spanId", traceFlags: 0 }, + SpanKind.CLIENT, + "parentSpanId" + ); + span.setAttributes({ + [SemanticAttributes.DB_SYSTEM]: DbSystemValues.MYSQL, + [SemanticAttributes.DB_STATEMENT]: "SELECT * FROM Test", + "extra.attribute": "foo" + }); + span.setStatus({ + code: SpanStatusCode.OK + }); + span.end(); + const expectedTags: Tags = {}; + expectedTags[KnownContextTagKeys.AiOperationId] = span.spanContext().traceId; + expectedTags[KnownContextTagKeys.AiOperationParentId] = "parentSpanId"; + const expectedProperties = { + "extra.attribute": "foo" + }; + + const expectedBaseData: RemoteDependencyData = { + duration: msToTimeSpan(hrTimeToMilliseconds(span.duration)), + id: `spanId`, + success: true, + resultCode: "0", + type: "mysql", + target: "mysql", + data: "SELECT * FROM Test", + name: `parent span`, + version: 2, properties: expectedProperties, measurements: {} }; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/utils/assert.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/utils/assert.ts index 03873ab3bb1e..32fc225aad76 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/utils/assert.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/utils/assert.ts @@ -2,12 +2,13 @@ // Licensed under the MIT license. import * as assert from "assert"; -import { - AI_OPERATION_ID, - AI_OPERATION_PARENT_ID -} from "../../src/utils/constants/applicationinsights"; import { Expectation } from "./types"; -import { MonitorBase, RequestData, TelemetryItem as Envelope } from "../../src/generated"; +import { + MonitorBase, + RequestData, + TelemetryItem as Envelope, + KnownContextTagKeys +} from "../../src/generated"; import { TelemetryItem as EnvelopeMapper } from "../../src/generated/models/mappers"; export const assertData = (actual: MonitorBase, expected: MonitorBase): void => { @@ -35,23 +36,15 @@ export const assertTrace = (actual: Envelope[], expectation: Expectation): void if (envelope.length !== 1) { assert.ok(false, `assertTrace: could not find exported envelope: ${expectation.name}`); } - const operationId = envelope[0].tags![AI_OPERATION_ID]; - - const parseId = (id: string): { traceId: string; spanId: string } => { - const parts = id.replace("|", "").split("."); - return { - traceId: parts[0], - spanId: parts[1] - }; - }; + const operationId = envelope[0].tags![KnownContextTagKeys.AiOperationId]; for (const child of expectation.children) { const childEnvelopes = actual.filter((e) => { - const { spanId } = parseId((envelope[0].data!.baseData as RequestData).id); + const spanId = (envelope[0].data!.baseData as RequestData).id; return ( - e.tags![AI_OPERATION_ID] === operationId && - e.tags![AI_OPERATION_PARENT_ID] === spanId && + e.tags![KnownContextTagKeys.AiOperationId] === operationId && + e.tags![KnownContextTagKeys.AiOperationParentId] === spanId && (e.data!.baseData as RequestData).name === (child.data!.baseData as RequestData).name ); }); diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts index 692c0a2c4ba3..929721c6cf4d 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts @@ -87,10 +87,10 @@ export class BasicScenario implements Scenario { data: { baseType: "RequestData", baseData: { - version: 1, + version: 2, name: "BasicScenario.Root", duration: msToTimeSpan(600), - responseCode: SpanStatusCode.OK.toString(), + responseCode: "0", success: true, properties: { foo: "bar" @@ -103,11 +103,11 @@ export class BasicScenario implements Scenario { data: { baseType: "RemoteDependencyData", baseData: { - version: 1, + version: 2, name: "BasicScenario.Child.1", duration: msToTimeSpan(100), success: true, - resultCode: SpanStatusCode.OK.toString(), + resultCode: "0", properties: { numbers: "123" } @@ -120,11 +120,11 @@ export class BasicScenario implements Scenario { data: { baseType: "RemoteDependencyData", baseData: { - version: 1, + version: 2, name: "BasicScenario.Child.2", duration: msToTimeSpan(100), success: true, - resultCode: SpanStatusCode.OK.toString(), + resultCode: "0", properties: { numbers: "1234" } diff --git a/sdk/monitor/monitor-query/CHANGELOG.md b/sdk/monitor/monitor-query/CHANGELOG.md index 1124895af8b4..9830173cc9c7 100644 --- a/sdk/monitor/monitor-query/CHANGELOG.md +++ b/sdk/monitor/monitor-query/CHANGELOG.md @@ -1,21 +1,52 @@ # Release History -## 1.0.0-beta.4 (Unreleased) +## 1.0.0-beta.6 (Unreleased) ### Features Added -- `additionalWorkspaces` added as an optional parameter to `QueryLogsOptions` for the `queryLogs` API - ### Breaking Changes -- `workspace` renamed to `workspaceId` in querybatch -- removed all other params and put additionalWorkspaces as an optional parameter instead in QueryBatchOptions for querybatch Api -- moved includeQueryStatistics and includeVisualization into QueryBatchOptions since these are optional parameters - ### Bugs Fixed ### Other Changes +## 1.0.0-beta.5 (2021-09-09) + +### Features Added + +- Added convenience method `getMetricByName` in `MetricsQueryResult` to allow users to fetch results of a particular metric +- Added a flag `throwOnAnyFailure` to be set by user for methods `queryLogs` and `queryLogsBatch` to enable error throwing +- Defining `AggregateBatchError` class for throwing batch errors +- Added status with potential values `("Partial" | "Success" | "Failed")` for responses of `query` and `queryBatch` APIs to indicate whether the status of results of each query. + +### Breaking Changes + +- Updated methods `getMetricDefinitions` and `getMetricNamespaces` to return paginated list of items and renamed to `listMetricDefinitions` and `listMetricNames` respectively +- Renamed methods `queryLogs` and `queryLogsBatch` in `LogsQueryClient` to `query` and `queryBatch` +- Updated the constant names inside `Durations` to drop the `last` prefix +- Updated method `queryBatch` to take argument of `QueryBatch` model instead of `QueryLogsBatch` model +- Renamed `QueryLogsOptions` to `LogsQueryOptions` +- Renamed `QueryLogsBatchResult` to `LogsQueryBatchResult` +- Renamed `QueryMetricsResult` to `MetricsQueryResult` +- Renamed `QueryLogsResult` to `LogsQueryResult`, `QueryLogsBatchOptions` to `LogsQueryBatchOptions` +- Updated type for `timespan` property from `string` to `TimeInterval` type in `query` and `queryBatch` methods of `LogsQueryClient` and in `MetricsQueryResult` interface +- Renamed `MetricColumn` to `LogsColumn` and `column` to `columnDescriptors` in `LogsTable` model +- Renamed `displayDescription` property to `description` in `Metric` and `MetricNames` +- Flattened the `metricNamespaceName` property for `MetricNamespace` +- Renamed `innererror` to `innerError` in `ErrorInfo` + +## 1.0.0-beta.4 (2021-08-10) + +### Features Added + +- Added `additionalWorkspaces` as an optional parameter to `QueryLogsOptions` and `BatchQuery` for the `queryLogs` and `queryLogsBatch` API to allow multiple workspaces +- Allow returning statistics and visualization information to user for each query result in `QueryLogsBatchResult` +- Adding Error information in `QueryLogsResult`. + +### Breaking Changes + +- Renamed `workspace` to `workspaceId` in querybatch + ## 1.0.0-beta.3 (2021-07-06) ### Features Added diff --git a/sdk/monitor/monitor-query/README.md b/sdk/monitor/monitor-query/README.md index f63d2610515b..687f4abb1c20 100644 --- a/sdk/monitor/monitor-query/README.md +++ b/sdk/monitor/monitor-query/README.md @@ -1,72 +1,49 @@ -# Azure Monitor Workspace query client library for JavaScript +# Azure Monitor Query client library for JavaScript -[Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/overview) is a comprehensive solution for collecting, analyzing, and acting on telemetry from your cloud and on-premises environments. This service helps you maximize the availability and performance of your apps. +The Azure Monitor Query client library is used to execute read-only queries against [Azure Monitor][azure_monitor_overview]'s two data platforms: -All data collected by Azure Monitor fits into one of two fundamental types: +- [Logs](https://docs.microsoft.com/azure/azure-monitor/logs/data-platform-logs) - Collects and organizes log and performance data from monitored resources. Data from different sources such as platform logs from Azure services, log and performance data from virtual machines agents, and usage and performance data from apps can be consolidated into a single [Azure Log Analytics workspace](https://docs.microsoft.com/azure/azure-monitor/logs/data-platform-logs#log-analytics-workspaces). The various data types can be analyzed together using the [Kusto Query Language][kusto_query_language]. +- [Metrics](https://docs.microsoft.com/azure/azure-monitor/essentials/data-platform-metrics) - Collects numeric data from monitored resources into a time series database. Metrics are numerical values that are collected at regular intervals and describe some aspect of a system at a particular time. Metrics are lightweight and capable of supporting near real-time scenarios, making them particularly useful for alerting and fast detection of issues. -- Metrics - Numerical values that describe some aspect of a system at a particular time. They're lightweight and can support near real-time scenarios. -- Logs - Disparate types of data organized into records with different sets of properties for each type. Performance data and telemetry such as events, exceptions, and traces are stored as logs. +**Resources:** -To programmatically analyze these data sources, the Azure Monitor Query client library can be used. -Use the client library for Azure Monitor to: - -- Query logs using the [Kusto query language][kusto_query_language] -- Query metrics - -Key links: - -- [Source code](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/) -- [Package (NPM)](https://www.npmjs.com/package/@azure/monitor-query) +- [Source code][source] +- [Package (npm)][package] - [API reference documentation][msdocs_apiref] -- [Product documentation][azure_monitor_product_documentation] +- [Service documentation][azure_monitor_overview] - [Samples][samples] +- [Change log][changelog] ## Getting started -### Install the package - -```bash -npm install @azure/monitor-query -``` - -### Currently supported environments +### Supported environments - [LTS versions of Node.js](https://nodejs.org/about/releases/) -- Latest versions of Safari, Chrome, Edge, and Firefox. +- Latest versions of Safari, Chrome, Edge, and Firefox -See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. +For more details, see our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md). ### Prerequisites -- An [Azure Subscription](https://azure.microsoft.com) -- An [Azure Monitor][azure_monitor_product_documentation] resource +- An [Azure subscription][azure_subscription] +- To query Logs, you need an [Azure Log Analytics workspace][azure_monitor_create_using_portal]. +- To query Metrics, you need an Azure resource of any kind (Storage Account, Key Vault, Cosmos DB, etc.). -### Create an Azure Monitor resource - -You can use the [Azure Portal][azure_monitor_create_using_portal] or the [Azure CLI][azure_monitor_create_using_cli] to create an Azure Monitor resource. - -Instructions: - -- [Using the Azure Portal][azure_monitor_create_using_portal] -- [Using the Azure CLI][azure_monitor_create_using_cli] - -### Authenticate the client - -[LogsQueryClient][msdocs_logs_client] and [MetricsQueryClient][msdocs_metrics_client] authenticate using a [service principal](#authenticating-with-a-service-principal). +### Install the package -#### Authenticating with a service principal +Install the Azure Monitor Query client library for JavaScript with npm: -Authentication via service principal is done by: +```bash +npm install @azure/monitor-query +``` -- Creating a credential using the `@azure/identity` package. -- Setting appropriate RBAC rules on your Azure Monitor resource. - More information on Azure Monitor roles can be found [here][azure_monitor_roles]. +### Create the client -Using [DefaultAzureCredential](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/README.md#defaultazurecredential) +An authenticated client is required to query Logs or Metrics. To authenticate, the following example uses [DefaultAzureCredential](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/README.md#defaultazurecredential) from the [@azure/identity](https://www.npmjs.com/package/@azure/identity) package. -```javascript -const { DefaultAzureCredential } = require("@azure/identity"); -const { LogsQueryClient, MetricsQueryClient } = require("@azure/monitor-query"); +```ts +import { DefaultAzureCredential } from "@azure/identity"; +import { LogsQueryClient, MetricsQueryClient } from "@azure/monitor-query"; const credential = new DefaultAzureCredential(); @@ -75,44 +52,17 @@ const logsQueryClient = new LogsQueryClient(credential); const metricsQueryClient = new MetricsQueryClient(credential); ``` -More information about `@azure/identity` can be found [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/README.md) +### Execute the query -## Key concepts - -### Logs - -Azure Monitor Logs collects and organizes log and performance data from monitored resources. Data from different sources can be consolidated into a single workspace. Examples of data sources include: - -- Platform logs from Azure services. -- Log and performance data from virtual machine agents. -- Usage and performance data from apps. - -#### Azure Log Analytics workspaces - -Data collected by Azure Monitor Logs is stored in one or more [Log Analytics workspaces](https://docs.microsoft.com/azure/azure-monitor/logs/data-platform-logs#log-analytics-workspaces). The workspace defines the: - -- Geographic location of the data. -- Access rights defining which users can access data. -- Configuration settings, such as the pricing tier and data retention. - -#### Log queries - -Data from the disparate sources can be analyzed together using [Kusto Query Language (KQL)](https://docs.microsoft.com/azure/data-explorer/kusto/query/)—the same query language used by [Azure Data Explorer](https://docs.microsoft.com/azure/data-explorer/data-explorer-overview). Data is retrieved from a Log Analytics workspace using a KQL query—a read-only request to process data and return results. For more information, see [Log queries in Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/logs/log-query-overview). +For examples of Logs and Metrics queries, see the [Examples](#examples) section. -#### Logs Query Client - -The [`LogsQueryClient`][msdocs_logs_client] allows you to query logs, using the [Kusto query language][kusto_query_language]. This data can be queried in the -portal using tables like `AppEvents`, `AppDependencies` and others. - -### Metrics +## Key concepts -Azure Monitor Metrics collects numeric data from monitored resources into a time series database. Metrics are collected at regular intervals and describe some aspect of a system at a particular time. Metrics in Azure Monitor are lightweight and can support near real-time scenarios. They're useful for alerting and fast detection of issues. Metrics can be: +### Logs query rate limits and throttling -- Analyzed interactively with [Metrics Explorer](https://docs.microsoft.com/azure/azure-monitor/essentials/metrics-getting-started). -- Used to receive notifications with an alert when a value crosses a threshold. -- Visualized in a workbook or dashboard. +The Log Analytics service applies throttling when the request rate is too high. Limits, such as the maximum number of rows returned, are also applied on the Kusto queries. For more information, see [Rate and query limits](https://dev.loganalytics.io/documentation/Using-the-API/Limits). -#### Metrics data structure +### Metrics data structure Each set of metric values is a time series with the following characteristics: @@ -123,31 +73,35 @@ Each set of metric values is a time series with the following characteristics: - The value itself - Some metrics may have multiple dimensions as described in multi-dimensional metrics. Custom metrics can have up to 10 dimensions. -#### Metrics Query Client - -The [`MetricsQueryClient`][msdocs_metrics_client] allows you to query metrics. - ## Examples -### Querying logs +- [Logs query](#logs-query) + - [Handle logs query response](#handle-logs-query-response) +- [Batch logs query](#batch-logs-query) + - [Handle logs batch query response](#handle-logs-batch-query-response) +- [Advanced logs query scenarios](#advanced-logs-query-scenarios) + - [Set logs query timeout](#set-logs-query-timeout) + - [Query multiple workspaces](#query-multiple-workspaces) +- [Metrics query](#metrics-query) + - [Handle metrics query response](#handle-metrics-query-response) + - [Example of handling response](#example-of-handling-response) -The `LogsQueryClient` can be used to query a Monitor workspace using the Kusto Query language. The timespan can be specified as a string in an ISO8601 duration format. -You can use the `Durations` constants provided for some commonly used ISO8601 durations. +### Logs query -```javascript -const { LogsQueryClient } = require("@azure/monitor-query"); -const { DefaultAzureCredential } = require("@azure/identity"); +The `LogsQueryClient` can be used to query a Log Analytics workspace using the [Kusto Query Language][kusto_query_language]. The `timespan.duration` can be specified as a string in an ISO 8601 duration format. You can use the `Durations` constants provided for some commonly used ISO 8601 durations. + +```ts +import { DefaultAzureCredential } from "@azure/identity"; +import { Durations, LogsQueryClient } from "@azure/monitor-query"; const azureLogAnalyticsWorkspaceId = ""; const logsQueryClient = new LogsQueryClient(new DefaultAzureCredential()); async function run() { const kustoQuery = "AppEvents | limit 1"; - const result = await logsQueryClient.queryLogs( - azureLogAnalyticsWorkspaceId, - kustoQuery, - Durations.last24Hours - ); + const result = await logsQueryClient.query(azureLogAnalyticsWorkspaceId, kustoQuery, { + duration: Durations.TwentyFourHours + }); const tablesFromResult = result.tables; if (tablesFromResult == null) { @@ -158,7 +112,7 @@ async function run() { console.log(`Results for query '${kustoQuery}'`); for (const table of tablesFromResult) { - const columnHeaderString = table.columns + const columnHeaderString = table.columnDescriptors .map((column) => `${column.name}(${column.type}) `) .join("| "); console.log("| " + columnHeaderString); @@ -172,77 +126,423 @@ async function run() { run().catch((err) => console.log("ERROR:", err)); ``` +#### Handle logs query response + +The `query` function of `LogsQueryClient` returns the `LogsQueryResult`. Here's a hierarchy of the response: + +``` +LogsQueryResult +|---statistics +|---visualization +|---error +|---status ("Partial" | "Success" | "Failed") +|---tables (list of `LogsTable` objects) + |---name + |---rows + |---columnDescriptors (list of `LogsColumn` objects) + |---name + |---type +``` + +For example, to handle a response with tables: + +```ts +const tablesFromResult = result.tables; + +for (const table of tablesFromResult) { + const columnHeaderString = table.columnDescriptors + .map((column) => `${column.name}(${column.type}) `) + .join("| "); + console.log("| " + columnHeaderString); + + for (const row of table.rows) { + const columnValuesString = row.map((columnValue) => `'${columnValue}' `).join("| "); + console.log("| " + columnValuesString); + } +} +``` + +A full sample can be found [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQuery.ts). + +### Batch logs query + +The following example demonstrates sending multiple queries at the same time using the batch query API. The queries can be represented as a list of `BatchQuery` objects. + +```ts +export async function main() { + if (!monitorWorkspaceId) { + throw new Error("MONITOR_WORKSPACE_ID must be set in the environment for this sample"); + } + + const tokenCredential = new DefaultAzureCredential(); + const logsQueryClient = new LogsQueryClient(tokenCredential); + + const kqlQuery = "AppEvents | project TimeGenerated, Name, AppRoleInstance | limit 1"; + const queriesBatch = [ + { + workspaceId: monitorWorkspaceId, + query: kqlQuery, + timespan: { duration: "P1D" } + }, + { + workspaceId: monitorWorkspaceId, + query: "AzureActivity | summarize count()", + timespan: { duration: "PT1H" } + }, + { + workspaceId: monitorWorkspaceId, + query: + "AppRequests | take 10 | summarize avgRequestDuration=avg(DurationMs) by bin(TimeGenerated, 10m), _ResourceId", + timespan: { duration: "PT1H" } + }, + { + workspaceId: monitorWorkspaceId, + query: "AppRequests | take 2", + timespan: { duration: "PT1H" }, + includeQueryStatistics: true + } + ]; + + const result = await logsQueryClient.queryBatch(queriesBatch); + + if (result.results == null) { + throw new Error("No response for query"); + } + + let i = 0; + for (const response of result.results) { + console.log(`Results for query with query: ${queriesBatch[i]}`); + + if (response.error) { + console.log(` Query had errors:`, response.error); + } else { + if (response.tables == null) { + console.log(`No results for query`); + } else { + console.log( + `Printing results from query '${queriesBatch[i].query}' for '${queriesBatch[i].timespan}'` + ); + + for (const table of response.tables) { + const columnHeaderString = table.columnDescriptors + .map((column) => `${column.name}(${column.type}) `) + .join("| "); + console.log(columnHeaderString); + + for (const row of table.rows) { + const columnValuesString = row.map((columnValue) => `'${columnValue}' `).join("| "); + console.log(columnValuesString); + } + } + } + } + // next query + i++; + } +} +``` + +#### Handle logs batch query response + +The `queryBatch` function of `LogsQueryClient` returns a `LogsQueryBatchResult` object. Here's a hierarchy of the response: + +``` +LogsQueryBatchResult +|---results (list of following objects) + |---statistics + |---visualization + |---error + |---status ("Partial" | "Success" | "Failed") + |---tables (list of `LogsTable` objects) + |---name + |---rows + |---columnDescriptors (list of `LogsColumn` objects) + |---name + |---type +``` + +For example, to handle a batch logs query response: + +```ts +let i = 0; +for (const response of result.results) { + console.log(`Results for query with query: ${queriesBatch[i]}`); + + if (response.error) { + console.log(` Query had errors:`, response.error); + } else { + if (response.tables == null) { + console.log(`No results for query`); + } else { + console.log( + `Printing results from query '${queriesBatch[i].query}' for '${queriesBatch[i].timespan}'` + ); + + for (const table of response.tables) { + const columnHeaderString = table.columnDescriptors + .map((column) => `${column.name}(${column.type}) `) + .join("| "); + console.log(columnHeaderString); + + for (const row of table.rows) { + const columnValuesString = row.map((columnValue) => `'${columnValue}' `).join("| "); + console.log(columnValuesString); + } + } + } + } + // next query + i++; +} +``` + +A full sample can be found [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryBatch.ts). + +For information on request throttling at the Log Analytics service level, see [Rate limits](https://dev.loganalytics.io/documentation/Using-the-API/Limits). + +### Advanced logs query scenarios + #### Set logs query timeout +Some logs queries take longer than 3 minutes to execute. The default server timeout is 3 minutes. You can increase the server timeout to a maximum of 10 minutes. In the following example, the `LogsQueryOptions` object's `serverTimeoutInSeconds` property is used to decrease the server timeout to 1 minute: + +```ts +// setting optional parameters +const queryLogsOptions: LogsQueryOptions = { + // explicitly control the amount of time the server can spend processing the query. + serverTimeoutInSeconds: 60 +}; + +const result = await logsQueryClient.query( + azureLogAnalyticsWorkspaceId, + kustoQuery, + { duration: Durations.TwentyFourHours }, + queryLogsOptions +); + +const tablesFromResult = result.tables; ``` - // setting optional parameters - const queryLogsOptions: QueryLogsOptions = { - // explicitly control the amount of time the server can spend processing the query. - serverTimeoutInSeconds: 60 - }; - - const result = await logsQueryClient.queryLogs( - azureLogAnalyticsWorkspaceId, - kustoQuery, - Durations.last24Hours, - queryLogsOptions - ); - const tablesFromResult = result.tables; +#### Query multiple workspaces - if (tablesFromResult == null) { - console.log(`No results for query '${kustoQuery}'`); - return; +The same logs query can be executed across multiple Log Analytics workspaces. In addition to the Kusto query, the following parameters are required: + +- `workspaceId` - The first (primary) workspace ID. +- `additionalWorkspaces` - A list of workspaces, excluding the workspace provided in the `workspaceId` parameter. The parameter's list items may consist of the following identifier formats: + - Qualified workspace names + - Workspace IDs + - Azure resource IDs + +For example, the following query executes in three workspaces: + +```ts +const queryLogsOptions: LogsQueryOptions = { + additionalWorkspaces: ["", ""] +}; + +const kustoQuery = "AppEvents | limit 10"; +const result = await logsQueryClient.queryLogs( + azureLogAnalyticsWorkspaceId, + kustoQuery, + { duration: Durations.TwentyFourHours }, + queryLogsOptions +); +``` + +To view the results for each workspace, use the `TenantId` column to either order the results or filter them in the Kusto query. + +**Order results by TenantId** + +``` +AppEvents | order by TenantId +``` + +**Filter results by TenantId** + +``` +AppEvents | filter TenantId == "" +``` + +A full sample can be found [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryMultipleWorkspaces.ts). + +### Metrics query + +The following example gets metrics for an [Azure Metrics Advisor](https://docs.microsoft.com/azure/applied-ai-services/metrics-advisor/overview) subscription. +The resource URI must be that of the resource for which metrics are being queried. It's normally of the format `/subscriptions//resourceGroups//providers//topics/`. + +To find the resource URI: + +1. Navigate to your resource's page in the Azure portal. +2. From the **Overview** blade, select the **JSON View** link. +3. In the resulting JSON, copy the value of the `id` property. + +```ts +import { DefaultAzureCredential } from "@azure/identity"; +import { Durations, Metric, MetricsQueryClient } from "@azure/monitor-query"; +import * as dotenv from "dotenv"; + +dotenv.config(); + +const metricsResourceId = process.env.METRICS_RESOURCE_ID; + +export async function main() { + const tokenCredential = new DefaultAzureCredential(); + const metricsQueryClient = new MetricsQueryClient(tokenCredential); + + if (!metricsResourceId) { + throw new Error("METRICS_RESOURCE_ID must be set in the environment for this sample"); } - console.log(`Results for query '${kustoQuery}'`); + const iterator = metricsQueryClient.listMetricDefinitions(metricsResourceId); + let result = await iterator.next(); + let metricNames: string[] = []; + for await (const result of iterator) { + console.log(` metricDefinitions - ${result.id}, ${result.name}`); + if (result.name) { + metricNames.push(result.name); + } + } + const firstMetricName = metricNames[0]; + const secondMetricName = metricNames[1]; + if (firstMetricName && secondMetricName) { + console.log(`Picking an example metric to query: ${firstMetricName} and ${secondMetricName}`); + const metricsResponse = await metricsQueryClient.query( + metricsResourceId, + [firstMetricName, secondMetricName], + { + granularity: "PT1M", + timespan: { duration: Durations.FiveMinutes } + } + ); + + console.log( + `Query cost: ${metricsResponse.cost}, interval: ${metricsResponse.granularity}, time span: ${metricsResponse.timespan}` + ); + + const metrics: Metric[] = metricsResponse.metrics; + console.log(`Metrics:`, JSON.stringify(metrics, undefined, 2)); + const metric = metricsResponse.getMetricByName(firstMetricName); + console.log(`Selected Metric: ${firstMetricName}`, JSON.stringify(metric, undefined, 2)); + } else { + console.error(`Metric names are not defined - ${firstMetricName} and ${secondMetricName}`); + } +} -// Formatting the table from results - for (const table of tablesFromResult) { - const columnHeaderString = table.columns - .map((column) => `${column.name}(${column.type}) `) - .join("| "); - console.log("| " + columnHeaderString); +main().catch((err) => { + console.error("The sample encountered an error:", err); + process.exit(1); +}); +``` - for (const row of table.rows) { - const columnValuesString = row.map((columnValue) => `'${columnValue}' `).join("| "); - console.log("| " + columnValuesString); +In the preceding sample, metric results in `metricsResponse` are ordered according to the order in which the user specifies the metric names in the `metricNames` array argument for the `query` function. If the user specifies `[firstMetricName,secondMetricName]`, the result for `firstMetricName` will appear before the result for `secondMetricName` in the `metricResponse`. + +#### Handle metrics query response + +The metrics `query` function returns a `QueryMetricsResult` object. The `QueryMetricsResult` object contains properties such as a list of `Metric`-typed objects, `interval`, `namespace`, and `timespan`. The `Metric` objects list can be accessed using the `metrics` property. Each `Metric` object in this list contains a list of `TimeSeriesElement` objects. Each `TimeSeriesElement` contains `data` and `metadataValues` properties. In visual form, the object hierarchy of the response resembles the following structure: + +``` +QueryMetricsResult +|---cost +|---timespan (of type `TimeInterval`) +|---granularity +|---namespace +|---resourceRegion +|---metrics (list of `Metric` objects) + |---id + |---type + |---name + |---unit + |---displayDescription + |---errorCode + |---timeseries (list of `TimeSeriesElement` objects) + |---metadataValues + |---data (list of data points represented by `MetricValue` objects) + |---timeStamp + |---average + |---minimum + |---maximum + |---total + |---count +|---getMetricByName(metricName): Metric | undefined (convenience method) +``` + +#### Example of handling response + +```ts +import { DefaultAzureCredential } from "@azure/identity"; +import { Durations, Metric, MetricsQueryClient } from "@azure/monitor-query"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const metricsResourceId = process.env.METRICS_RESOURCE_ID; +export async function main() { + const tokenCredential = new DefaultAzureCredential(); + const metricsQueryClient = new MetricsQueryClient(tokenCredential); + + if (!metricsResourceId) { + throw new Error("METRICS_RESOURCE_ID must be set in the environment for this sample"); + } + + console.log(`Picking an example metric to query: ${firstMetricName}`); + + const metricsResponse = await metricsQueryClient.queryMetrics( + metricsResourceId, + { duration: Durations.FiveMinutes }, + { + metricNames: ["MatchedEventCount"], + interval: "PT1M", + aggregations: [AggregationType.Count] + } + ); + + console.log( + `Query cost: ${metricsResponse.cost}, interval: ${metricsResponse.interval}, time span: ${metricsResponse.timespan}` + ); + + const metrics: Metric[] = metricsResponse.metrics; + for (const metric of metrics) { + console.log(metric.name); + for (const timeseriesElement of metric.timeseries) { + for (const metricValue of timeseriesElement.data!) { + if (metricValue.count !== 0) { + console.log(`There are ${metricValue.count} matched events at ${metricValue.timeStamp}`); + } + } } } } + +main().catch((err) => { + console.error("The sample encountered an error:", err); + process.exit(1); +}); ``` -For more samples see here: [samples][samples]. +A full sample can be found [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/metricsQuery.ts). ## 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`: +Enabling logging may help uncover useful information about failures. 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 +```ts import { setLogLevel } from "@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). +For detailed instructions on how to enable logs, see the [@azure/logger package docs](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger). ## Next steps -The following samples show you the various ways you can query your Log Analytics workspace: - -- [`logsQuery.ts`][samples_logsquery_ts] - Query logs in a Monitor workspace -- [`logsQueryBatchSample.ts`][samples_logquerybatch_ts] - Run multiple queries, simultaneously, with a batch in a Monitor workspace -- [`metricsQuerySample.ts`][samples_metricsquery_ts] - Query metrics in a Monitor workspace - -More in-depth examples can be found in the [samples](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/monitor/monitor-query/samples/v1/) folder on GitHub. +To learn more about Azure Monitor, see the [Azure Monitor service documentation][azure_monitor_overview]. ## 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. -This module's tests are a mixture of live and unit tests, which require you to have an Azure Monitor instance. To execute the tests you'll need to run: +This module's tests are a mixture of live and unit tests, which require you to have an Azure Monitor instance. To execute the tests, you'll need to run: 1. `rush update` 2. `rush build -t @azure/monitor-query` @@ -251,8 +551,7 @@ This module's tests are a mixture of live and unit tests, which require you to h 5. Open the `.env` file in an editor and fill in the values. 6. `npm run test`. -View our [tests](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/test) -folder for more details. +For more details, view our [tests](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/test) folder. ## Related projects @@ -261,18 +560,12 @@ folder for more details. ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fmonitor%2Fmonitor-query%2FREADME.png) -[azure_monitor_overview]: https://docs.microsoft.com/azure/azure-monitor/overview -[azure_monitor_create_workspace]: https://docs.microsoft.com/azure/azure-monitor/logs/quick-create-workspace -[azure_monitor_product_documentation]: https://docs.microsoft.com/azure/azure-monitor -[azure_monitor_logs_overview]: https://docs.microsoft.com/azure/azure-monitor/logs/data-platform-logs [azure_monitor_create_using_portal]: https://docs.microsoft.com/azure/azure-monitor/logs/quick-create-workspace -[azure_monitor_create_using_cli]: https://docs.microsoft.com/azure/azure-monitor/logs/quick-create-workspace-cli -[azure_monitor_roles]: https://docs.microsoft.com/azure/azure-monitor/roles-permissions-security +[azure_monitor_overview]: https://docs.microsoft.com/azure/azure-monitor/overview +[azure_subscription]: https://azure.microsoft.com/free/ +[changelog]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/CHANGELOG.md [kusto_query_language]: https://docs.microsoft.com/azure/data-explorer/kusto/query/ -[msdocs_metrics_client]: https://docs.microsoft.com/javascript/api/@azure/monitor-query/metricsqueryclient -[msdocs_logs_client]: https://docs.microsoft.com/javascript/api/@azure/monitor-query/logsqueryclient [msdocs_apiref]: https://docs.microsoft.com/javascript/api/@azure/monitor-query +[package]: https://www.npmjs.com/package/@azure/monitor-query [samples]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/monitor/monitor-query/samples -[samples_logsquery_ts]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQuery.ts -[samples_logquerybatch_ts]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryBatch.ts -[samples_metricsquery_ts]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/metricsQuery.ts +[source]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/ diff --git a/sdk/monitor/monitor-query/karma.conf.js b/sdk/monitor/monitor-query/karma.conf.js index 0ecfc47bcfb3..ef0b169477d7 100644 --- a/sdk/monitor/monitor-query/karma.conf.js +++ b/sdk/monitor/monitor-query/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/monitor/monitor-query/package.json b/sdk/monitor/monitor-query/package.json index 0fe7e7f90ea6..fc333e717bf1 100644 --- a/sdk/monitor/monitor-query/package.json +++ b/sdk/monitor/monitor-query/package.json @@ -1,7 +1,7 @@ { "name": "@azure/monitor-query", - "version": "1.0.0-beta.4", - "description": "An isomorphic client library to query Azure Monitor logs and metrics.", + "version": "1.0.0-beta.6", + "description": "An isomorphic client library for querying Azure Monitor's Logs and Metrics data sources.", "sdk-type": "client", "main": "dist/index.js", "module": "dist-esm/src/index.js", @@ -46,7 +46,7 @@ "build:samples": "dev-tool samples publish --force", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest types/3.1", - "build": "tsc -p . && npm run lint && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log coverage coverage-browser", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -64,7 +64,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --format unix --ext .ts --max-warnings 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run integration-test:browser", "test:node": "npm run build:test && npm run integration-test:node", "test": "npm run build:test && npm run integration-test", @@ -102,6 +101,7 @@ "@azure/core-tracing": "1.0.0-preview.13", "@azure/core-client": "^1.0.0", "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-paging": "^1.1.1", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" }, @@ -109,9 +109,9 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/abort-controller": "^1.0.0", - "@azure/identity": "^1.1.0", + "@azure/identity": "2.0.0-beta.7", "@azure/monitor-opentelemetry-exporter": "1.0.0-beta.4", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@opentelemetry/api": "^1.0.1", "@opentelemetry/node": "0.22.0", diff --git a/sdk/monitor/monitor-query/review/monitor-query.api.md b/sdk/monitor/monitor-query/review/monitor-query.api.md index e10dea782a5d..f0b8e86f6668 100644 --- a/sdk/monitor/monitor-query/review/monitor-query.api.md +++ b/sdk/monitor/monitor-query/review/monitor-query.api.md @@ -4,32 +4,43 @@ ```ts +import { CommonClientOptions } from '@azure/core-client'; import { OperationOptions } from '@azure/core-client'; -import { PipelineOptions } from '@azure/core-rest-pipeline'; +import { PagedAsyncIterableIterator } from '@azure/core-paging'; import { TokenCredential } from '@azure/core-auth'; +// @public +export class AggregateBatchError extends Error { + constructor(errors: ErrorInfo[]); + // (undocumented) + errors: BatchError[]; +} + // @public export type AggregationType = "None" | "Average" | "Count" | "Minimum" | "Maximum" | "Total"; // @public -export interface BatchQuery { - query: string; - timespan: string; - workspaceId: string; +export class BatchError extends Error implements ErrorInfo { + constructor(errorInfo: ErrorInfo); + additionalProperties?: Record; + code: string; + details?: ErrorDetail[]; + innerError?: ErrorInfo; + message: string; } // @public export const Durations: { - readonly last7Days: "P7D"; - readonly last3Days: "P3D"; - readonly last2Days: "P2D"; - readonly lastDay: "P1D"; - readonly lastHour: "PT1H"; - readonly last4Hours: "PT4H"; - readonly last24Hours: "P1D"; - readonly last48Hours: "P2D"; - readonly last30Minutes: "PT30M"; - readonly last5Minutes: "PT5M"; + readonly sevenDays: "P7D"; + readonly threeDays: "P3D"; + readonly twoDays: "P2D"; + readonly OneDay: "P1D"; + readonly OneHour: "PT1H"; + readonly FourHours: "PT4H"; + readonly TwentyFourHours: "P1D"; + readonly FourtyEightHours: "P2D"; + readonly ThirtyMinutes: "PT30M"; + readonly FiveMinutes: "PT5M"; }; // @public @@ -43,53 +54,88 @@ export interface ErrorDetail { } // @public -export interface ErrorInfo { +export interface ErrorInfo extends Error { additionalProperties?: Record; code: string; details?: ErrorDetail[]; - innererror?: ErrorInfo; + innerError?: ErrorInfo; message: string; } // @public -export interface GetMetricDefinitionsOptions extends OperationOptions { +export interface ListMetricDefinitionsOptions extends OperationOptions { metricNamespace?: string; } // @public -export interface GetMetricDefinitionsResult { - definitions: MetricDefinition[]; +export interface ListMetricNamespacesOptions { + startTime?: string; } // @public -export interface GetMetricNamespacesOptions { - startTime?: string; +export interface LogsColumn { + name?: string; + type?: LogsColumnType; } // @public -export interface GetMetricNamespacesResult { - namespaces: MetricNamespace[]; +export type LogsColumnType = string; + +// @public +export interface LogsQueryBatchOptions extends OperationOptions { + throwOnAnyFailure?: boolean; } // @public -export type LogsColumnType = string; +export interface LogsQueryBatchResult { + results: { + tables?: LogsTable[]; + error?: ErrorInfo; + status?: LogsQueryResultStatus; + statistics?: Record; + visualization?: Record; + }[]; +} // @public export class LogsQueryClient { constructor(tokenCredential: TokenCredential, options?: LogsQueryClientOptions); - queryLogs(workspaceId: string, query: string, timespan: string, options?: QueryLogsOptions): Promise; - queryLogsBatch(batch: QueryLogsBatch, options?: QueryLogsBatchOptions): Promise; + query(workspaceId: string, query: string, timespan: TimeInterval, options?: LogsQueryOptions): Promise; + queryBatch(batch: QueryBatch[], options?: LogsQueryBatchOptions): Promise; } // @public -export interface LogsQueryClientOptions extends PipelineOptions { +export interface LogsQueryClientOptions extends CommonClientOptions { + credentialOptions?: { + credentialScopes?: string | string[]; + }; endpoint?: string; - scopes?: string | string[]; } +// @public +export interface LogsQueryOptions extends OperationOptions { + additionalWorkspaces?: string[]; + includeQueryStatistics?: boolean; + includeVisualization?: boolean; + serverTimeoutInSeconds?: number; + throwOnAnyFailure?: boolean; +} + +// @public +export interface LogsQueryResult { + error?: ErrorInfo; + statistics?: Record; + status: LogsQueryResultStatus; + tables: LogsTable[]; + visualization?: Record; +} + +// @public +export type LogsQueryResultStatus = "Partial" | "Success" | "Failed"; + // @public export interface LogsTable { - columns: MetricColumn[]; + columnDescriptors: LogsColumn[]; name: string; rows: (Date | string | number | Record | boolean)[][]; } @@ -102,8 +148,9 @@ export interface MetadataValue { // @public export interface Metric { - displayDescription?: string; + description?: string; errorCode?: string; + errorMessage?: string; id: string; name: string; timeseries: TimeSeriesElement[]; @@ -120,31 +167,11 @@ export interface MetricAvailability { // @public export type MetricClass = string; -// @public -export interface MetricColumn { - name?: string; - type?: LogsColumnType; -} - // @public export interface MetricDefinition { category?: string; + description?: string; dimensions?: string[]; - displayDescription?: string; - id?: string; - isDimensionRequired?: boolean; - metricAvailabilities?: MetricAvailability[]; - name?: string; - primaryAggregationType?: AggregationType; - resourceId?: string; - unit?: MetricUnit; -} - -// @public -export interface MetricDefinition { - category?: string; - dimensions?: string[]; - displayDescription?: string; id?: string; isDimensionRequired?: boolean; metricAvailabilities?: MetricAvailability[]; @@ -161,27 +188,46 @@ export interface MetricDefinition { export interface MetricNamespace { classification?: NamespaceClassification; id?: string; + metricNamespaceName?: string; name?: string; - properties?: MetricNamespaceName; type?: string; } // @public -export interface MetricNamespaceName { - metricNamespaceName?: string; -} - -// @public -export interface MetricsClientOptions extends PipelineOptions { +export interface MetricsClientOptions extends CommonClientOptions { endpoint?: string; } // @public export class MetricsQueryClient { constructor(tokenCredential: TokenCredential, options?: MetricsClientOptions); - getMetricDefinitions(resourceUri: string, options?: GetMetricDefinitionsOptions): Promise; - getMetricNamespaces(resourceUri: string, options?: GetMetricNamespacesOptions): Promise; - queryMetrics(resourceUri: string, timespan: string, options?: QueryMetricsOptions): Promise; + listMetricDefinitions(resourceUri: string, options?: ListMetricDefinitionsOptions): PagedAsyncIterableIterator; + // Warning: (ae-forgotten-export) The symbol "MetricNamespace" needs to be exported by the entry point index.d.ts + listMetricNamespaces(resourceUri: string, options?: ListMetricNamespacesOptions): PagedAsyncIterableIterator; + query(resourceUri: string, metricNames: string[], options?: MetricsQueryOptions): Promise; +} + +// @public +export interface MetricsQueryOptions extends OperationOptions { + aggregations?: AggregationType[]; + filter?: string; + granularity?: string; + metricNamespace?: string; + orderBy?: string; + resultType?: ResultType; + timespan?: TimeInterval; + top?: number; +} + +// @public +export interface MetricsQueryResult { + cost?: number; + getMetricByName(metricName: string): Metric | undefined; + granularity?: string; + metrics: Metric[]; + namespace?: string; + resourceRegion?: string; + timespan: TimeInterval; } // @public @@ -201,67 +247,32 @@ export interface MetricValue { export type NamespaceClassification = string; // @public -export interface QueryLogsBatch { - queries: BatchQuery[]; -} - -// @public -export interface QueryLogsBatchOptions extends OperationOptions { - additionalWorkspaces?: string[]; - includeQueryStatistics?: boolean; - includeVisualization?: boolean; - serverTimeoutInSeconds?: number; -} - -// @public -export interface QueryLogsBatchResult { - results?: { - id?: string; - status?: number; - tables?: LogsTable[]; - error?: ErrorInfo; - }[]; -} - -// @public -export interface QueryLogsOptions extends OperationOptions { +export interface QueryBatch { additionalWorkspaces?: string[]; includeQueryStatistics?: boolean; includeVisualization?: boolean; + query: string; serverTimeoutInSeconds?: number; + timespan: TimeInterval; + workspaceId: string; } // @public -export interface QueryLogsResult { - statistics?: any; - tables: LogsTable[]; - visualization?: any; -} - -// @public -export interface QueryMetricsOptions extends OperationOptions { - aggregations?: string[]; - filter?: string; - interval?: string; - metricNames?: string[]; - metricNamespace?: string; - orderBy?: string; - resultType?: ResultType; - top?: number; -} - -// @public -export interface QueryMetricsResult { - cost?: number; - interval?: string; - metrics: Metric[]; - namespace?: string; - resourceRegion?: string; - timespan: string; -} +export type ResultType = "Data" | "Metadata"; // @public -export type ResultType = "Data" | "Metadata"; +export type TimeInterval = { + startTime: Date; + endTime: Date; +} | { + startTime: Date; + duration: string; +} | { + duration: string; + endTime: Date; +} | { + duration: string; +}; // @public export interface TimeSeriesElement { diff --git a/sdk/monitor/monitor-query/samples-dev/logsQuery.ts b/sdk/monitor/monitor-query/samples-dev/logsQuery.ts index 336c0f539a80..dff6a944da6a 100644 --- a/sdk/monitor/monitor-query/samples-dev/logsQuery.ts +++ b/sdk/monitor/monitor-query/samples-dev/logsQuery.ts @@ -6,7 +6,7 @@ */ import { DefaultAzureCredential } from "@azure/identity"; -import { Durations, LogsQueryClient, LogsTable, QueryLogsOptions } from "@azure/monitor-query"; +import { Durations, LogsQueryClient, LogsTable, LogsQueryOptions } from "@azure/monitor-query"; import * as dotenv from "dotenv"; dotenv.config(); @@ -23,8 +23,8 @@ export async function main() { const kustoQuery = "AppEvents | project TimeGenerated, Name, AppRoleInstance | order by TimeGenerated asc | limit 10"; - console.log(`Running '${kustoQuery}' over the last 5 minutes`); - const queryLogsOptions: QueryLogsOptions = { + console.log(`Running '${kustoQuery}' over the last One Hour`); + const queryLogsOptions: LogsQueryOptions = { // explicitly control the amount of time the server can spend processing the query. serverTimeoutInSeconds: 60, // optionally enable returning additional statistics about the query's execution. @@ -32,13 +32,13 @@ export async function main() { includeQueryStatistics: true }; - const result = await logsQueryClient.queryLogs( + const result = await logsQueryClient.query( monitorWorkspaceId, kustoQuery, // The timespan is an ISO8601 formatted time (or interval). Some common aliases - // are available (like lastDay, lastHour, last48Hours, etc..) but any properly formatted ISO8601 + // are available (like OneDay, OneHour, FoutyEightHours, etc..) but any properly formatted ISO8601 // value is valid. - Durations.lastHour, + { duration: Durations.OneHour }, queryLogsOptions ); @@ -50,7 +50,7 @@ export async function main() { } const executionTime = - result.statistics && result.statistics.query && result.statistics.query.executionTime; + result.statistics && result.statistics.query && (result.statistics.query as any).executionTime; console.log( `Results for query '${kustoQuery}', execution time: ${ @@ -59,7 +59,7 @@ export async function main() { ); for (const table of tablesFromResult) { - const columnHeaderString = table.columns + const columnHeaderString = table.columnDescriptors .map((column) => `${column.name}(${column.type}) `) .join("| "); console.log("| " + columnHeaderString); diff --git a/sdk/monitor/monitor-query/samples-dev/logsQueryBatch.ts b/sdk/monitor/monitor-query/samples-dev/logsQueryBatch.ts index 54bd7d31e870..bf3dcbab31cb 100644 --- a/sdk/monitor/monitor-query/samples-dev/logsQueryBatch.ts +++ b/sdk/monitor/monitor-query/samples-dev/logsQueryBatch.ts @@ -21,23 +21,40 @@ export async function main() { const logsQueryClient = new LogsQueryClient(tokenCredential); const kqlQuery = "AppEvents | project TimeGenerated, Name, AppRoleInstance | limit 1"; + const queriesBatch = [ + { + workspaceId: monitorWorkspaceId, + query: kqlQuery, + timespan: { duration: "P1D" } + }, + { + workspaceId: monitorWorkspaceId, + query: "AzureActivity | summarize count()", + timespan: { duration: "PT1H" } + }, + { + workspaceId: monitorWorkspaceId, + query: + "AppRequests | take 10 | summarize avgRequestDuration=avg(DurationMs) by bin(TimeGenerated, 10m), _ResourceId", + timespan: { duration: "PT1H" } + }, + { + workspaceId: monitorWorkspaceId, + query: "AppRequests | take 2", + timespan: { duration: "PT1H" }, + includeQueryStatistics: true + } + ]; - const result = await logsQueryClient.queryLogsBatch({ - queries: [ - { - workspaceId: monitorWorkspaceId, - query: kqlQuery, - timespan: "P1D" - } - ] - }); + const result = await logsQueryClient.queryBatch(queriesBatch); if (result.results == null) { throw new Error("No response for query"); } + let i = 0; for (const response of result.results) { - console.log(`Results for query with id: ${response.id}`); + console.log(`Results for query with query: ${queriesBatch[i]}`); if (response.error) { console.log(` Query had errors:`, response.error); @@ -45,10 +62,12 @@ export async function main() { if (response.tables == null) { console.log(`No results for query`); } else { - console.log(`Printing results from query '${kqlQuery}' for 1 day.`); + console.log( + `Printing results from query '${queriesBatch[i].query}' for '${queriesBatch[i].timespan}'` + ); for (const table of response.tables) { - const columnHeaderString = table.columns + const columnHeaderString = table.columnDescriptors .map((column) => `${column.name}(${column.type}) `) .join("| "); console.log(columnHeaderString); @@ -60,6 +79,8 @@ export async function main() { } } } + // next query + i++; } } diff --git a/sdk/monitor/monitor-query/samples-dev/logsQueryMultipleWorkspaces.ts b/sdk/monitor/monitor-query/samples-dev/logsQueryMultipleWorkspaces.ts new file mode 100644 index 000000000000..73102d386d62 --- /dev/null +++ b/sdk/monitor/monitor-query/samples-dev/logsQueryMultipleWorkspaces.ts @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates how to run a query against a Log Analytics workspace + */ + +import { DefaultAzureCredential } from "@azure/identity"; +import { Durations, LogsQueryClient, LogsTable, LogsQueryOptions } from "@azure/monitor-query"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const monitorWorkspaceId = process.env.MONITOR_WORKSPACE_ID; +const additionalWorkspaces1 = process.env.ADDITIONAL_WORKSPACES_1 || "workspace1"; +const additionalWorkspaces2 = process.env.ADDITIONAL_WORKSPACES_2 || "workspace2"; + +export async function main() { + const tokenCredential = new DefaultAzureCredential(); + const logsQueryClient = new LogsQueryClient(tokenCredential); + + if (!monitorWorkspaceId) { + throw new Error("MONITOR_WORKSPACE_ID must be set in the environment for this sample"); + } + + const kustoQuery = + "AppEvents | project TimeGenerated, Name, AppRoleInstance | order by TimeGenerated asc | limit 10"; + + console.log(`Running '${kustoQuery}' over the last 5 minutes`); + const queryLogsOptions: LogsQueryOptions = { + // explicitly control the amount of time the server can spend processing the query. + serverTimeoutInSeconds: 60, + // optionally enable returning additional statistics about the query's execution. + // (by default this is off) + includeQueryStatistics: true, + additionalWorkspaces: [additionalWorkspaces1, additionalWorkspaces2] + }; + + const result = await logsQueryClient.query( + monitorWorkspaceId, + kustoQuery, + // The timespan is an ISO8601 formatted time (or interval). Some common aliases + // are available (like durationOf1Day, durationOf1Hour, durationOf48Hours, etc..) but any properly formatted ISO8601 + // value is valid. + { duration: Durations.OneHour }, + queryLogsOptions + ); + + const tablesFromResult: LogsTable[] | undefined = result.tables; + + if (tablesFromResult == null) { + console.log(`No results for query '${kustoQuery}'`); + return; + } + + const executionTime = + result.statistics && result.statistics.query && (result.statistics.query as any).executionTime; + + console.log( + `Results for query '${kustoQuery}', execution time: ${ + executionTime == null ? "unknown" : executionTime + }` + ); + + for (const table of tablesFromResult) { + const columnHeaderString = table.columnDescriptors + .map((column) => `${column.name}(${column.type}) `) + .join("| "); + console.log("| " + columnHeaderString); + + for (const row of table.rows) { + const columnValuesString = row.map((columnValue) => `'${columnValue}' `).join("| "); + console.log("| " + columnValuesString); + } + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); + process.exit(1); +}); diff --git a/sdk/monitor/monitor-query/samples-dev/metricsQuery.ts b/sdk/monitor/monitor-query/samples-dev/metricsQuery.ts index 6b88df57f00a..55c367036fb4 100644 --- a/sdk/monitor/monitor-query/samples-dev/metricsQuery.ts +++ b/sdk/monitor/monitor-query/samples-dev/metricsQuery.ts @@ -21,31 +21,33 @@ export async function main() { throw new Error("METRICS_RESOURCE_ID must be set in the environment for this sample"); } - const result = await metricsQueryClient.getMetricDefinitions(metricsResourceId); - - for (const definition of result.definitions) { - console.log(`Definition = ${definition.name}`); - } - - const firstMetric = result.definitions[0]; - - console.log(`Picking an example metric to query: ${firstMetric.name}`); - - const metricsResponse = await metricsQueryClient.queryMetrics( - metricsResourceId, - Durations.last5Minutes, - { - metricNames: [firstMetric.name!], - interval: "PT1M" + const iterator = metricsQueryClient.listMetricDefinitions(metricsResourceId); + let metricNames: string[] = []; + for await (const result of iterator) { + console.log(` metricDefinitions - ${result.id}, ${result.name}`); + if (result.name) { + metricNames.push(result.name); } - ); - - console.log( - `Query cost: ${metricsResponse.cost}, interval: ${metricsResponse.interval}, time span: ${metricsResponse.timespan}` - ); + } - const metrics: Metric[] = metricsResponse.metrics; - console.log(`Metrics:`, JSON.stringify(metrics, undefined, 2)); + if (metricNames.length > 0) { + console.log(`Picking an example list of metrics to query: ${metricNames}`); + const metricsResponse = await metricsQueryClient.query(metricsResourceId, metricNames, { + granularity: "PT1M", + timespan: { duration: Durations.FiveMinutes } + }); + + console.log( + `Query cost: ${metricsResponse.cost}, interval: ${metricsResponse.granularity}, time span: ${metricsResponse.timespan}` + ); + + const metrics: Metric[] = metricsResponse.metrics; + console.log(`Metrics:`, JSON.stringify(metrics, undefined, 2)); + const metric = metricsResponse.getMetricByName(metricNames[0]); + console.log(`Selected Metric: ${metricNames[0]}`, JSON.stringify(metric, undefined, 2)); + } else { + console.error(`Metric names are not defined - ${metricNames}`); + } } main().catch((err) => { diff --git a/sdk/monitor/monitor-query/samples/v1/javascript/README.md b/sdk/monitor/monitor-query/samples/v1/javascript/README.md index 0d3cf94e58f1..fbcfb79cb43b 100644 --- a/sdk/monitor/monitor-query/samples/v1/javascript/README.md +++ b/sdk/monitor/monitor-query/samples/v1/javascript/README.md @@ -2,11 +2,12 @@ These sample programs show how to use the JavaScript client libraries for Monitor Query in some common scenarios. -| **File Name** | **Description** | -| ----------------------------------- | ----------------------------------------------------------------------- | -| [logsQuery.js][logsquery] | Demonstrates how to run a query against a Log Analytics workspace | -| [logsQueryBatch.js][logsquerybatch] | Demonstrates how to run a batch query against a Log Analytics workspace | -| [metricsQuery.js][metricsquery] | Demonstrates how to query metrics using the MetricsClient. | +| **File Name** | **Description** | +| ------------------------------------------------------------- | ----------------------------------------------------------------------- | +| [logsQuery.js][logsquery] | Demonstrates how to run a query against a Log Analytics workspace | +| [logsQueryBatch.js][logsquerybatch] | Demonstrates how to run a batch query against a Log Analytics workspace | +| [logsQueryMultipleWorkspaces.js][logsquerymultipleworkspaces] | Demonstrates how to run a query against a Log Analytics workspace | +| [metricsQuery.js][metricsquery] | Demonstrates how to query metrics using the MetricsClient. | ## Prerequisites @@ -50,6 +51,7 @@ Take a look at our [API Documentation][apiref] for more information about the AP [logsquery]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/javascript/logsQuery.js [logsquerybatch]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryBatch.js +[logsquerymultipleworkspaces]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryMultipleWorkspaces.js [metricsquery]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/javascript/metricsQuery.js [apiref]: https://docs.microsoft.com/javascript/api/ [freesub]: https://azure.microsoft.com/free/ diff --git a/sdk/monitor/monitor-query/samples/v1/javascript/logsQuery.js b/sdk/monitor/monitor-query/samples/v1/javascript/logsQuery.js index d0324fb8ffb1..898026e9dc3f 100644 --- a/sdk/monitor/monitor-query/samples/v1/javascript/logsQuery.js +++ b/sdk/monitor/monitor-query/samples/v1/javascript/logsQuery.js @@ -23,22 +23,23 @@ async function main() { const kustoQuery = "AppEvents | project TimeGenerated, Name, AppRoleInstance | order by TimeGenerated asc | limit 10"; - console.log(`Running '${kustoQuery}' over the last 5 minutes`); - const result = await logsQueryClient.queryLogs( + console.log(`Running '${kustoQuery}' over the last One Hour`); + const queryLogsOptions = { + // explicitly control the amount of time the server can spend processing the query. + serverTimeoutInSeconds: 60, + // optionally enable returning additional statistics about the query's execution. + // (by default this is off) + includeQueryStatistics: true + }; + + const result = await logsQueryClient.query( monitorWorkspaceId, kustoQuery, // The timespan is an ISO8601 formatted time (or interval). Some common aliases - // are available (like lastDay, lastHour, last48Hours, etc..) but any properly formatted ISO8601 + // are available (like OneDay, OneHour, FoutyEightHours, etc..) but any properly formatted ISO8601 // value is valid. - Durations.lastHour, - { - // optionally enable returning additional statistics about the query's execution. - // (by default this is off) - includeQueryStatistics: true, - - // explicitly control the amount of time the server can spend processing the query. - serverTimeoutInSeconds: 60 - } + { duration: Durations.OneHour }, + queryLogsOptions ); const tablesFromResult = result.tables; @@ -58,7 +59,7 @@ async function main() { ); for (const table of tablesFromResult) { - const columnHeaderString = table.columns + const columnHeaderString = table.columnDescriptors .map((column) => `${column.name}(${column.type}) `) .join("| "); console.log("| " + columnHeaderString); diff --git a/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryBatch.js b/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryBatch.js index 1dce850da365..7ea5e986a80c 100644 --- a/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryBatch.js +++ b/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryBatch.js @@ -21,23 +21,40 @@ async function main() { const logsQueryClient = new LogsQueryClient(tokenCredential); const kqlQuery = "AppEvents | project TimeGenerated, Name, AppRoleInstance | limit 1"; + const queriesBatch = [ + { + workspaceId: monitorWorkspaceId, + query: kqlQuery, + timespan: { duration: "P1D" } + }, + { + workspaceId: monitorWorkspaceId, + query: "AzureActivity | summarize count()", + timespan: { duration: "PT1H" } + }, + { + workspaceId: monitorWorkspaceId, + query: + "AppRequests | take 10 | summarize avgRequestDuration=avg(DurationMs) by bin(TimeGenerated, 10m), _ResourceId", + timespan: { duration: "PT1H" } + }, + { + workspaceId: monitorWorkspaceId, + query: "AppRequests | take 2", + timespan: { duration: "PT1H" }, + includeQueryStatistics: true + } + ]; - const result = await logsQueryClient.queryLogsBatch({ - queries: [ - { - workspace: monitorWorkspaceId, - query: kqlQuery, - timespan: "P1D" - } - ] - }); + const result = await logsQueryClient.queryBatch(queriesBatch); if (result.results == null) { throw new Error("No response for query"); } + let i = 0; for (const response of result.results) { - console.log(`Results for query with id: ${response.id}`); + console.log(`Results for query with query: ${queriesBatch[i]}`); if (response.error) { console.log(` Query had errors:`, response.error); @@ -45,10 +62,12 @@ async function main() { if (response.tables == null) { console.log(`No results for query`); } else { - console.log(`Printing results from query '${kqlQuery}' for 1 day.`); + console.log( + `Printing results from query '${queriesBatch[i].query}' for '${queriesBatch[i].timespan}'` + ); for (const table of response.tables) { - const columnHeaderString = table.columns + const columnHeaderString = table.columnDescriptors .map((column) => `${column.name}(${column.type}) `) .join("| "); console.log(columnHeaderString); @@ -60,6 +79,8 @@ async function main() { } } } + // next query + i++; } } diff --git a/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryMultipleWorkspaces.js b/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryMultipleWorkspaces.js new file mode 100644 index 000000000000..0303b2f9bce0 --- /dev/null +++ b/sdk/monitor/monitor-query/samples/v1/javascript/logsQueryMultipleWorkspaces.js @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates how to run a query against a Log Analytics workspace + */ + +const { DefaultAzureCredential } = require("@azure/identity"); +const { Durations, LogsQueryClient } = require("@azure/monitor-query"); +const dotenv = require("dotenv"); +dotenv.config(); + +const monitorWorkspaceId = process.env.MONITOR_WORKSPACE_ID; +const additionalWorkspaces1 = process.env.ADDITIONAL_WORKSPACES_1 || "workspace1"; +const additionalWorkspaces2 = process.env.ADDITIONAL_WORKSPACES_2 || "workspace2"; + +async function main() { + const tokenCredential = new DefaultAzureCredential(); + const logsQueryClient = new LogsQueryClient(tokenCredential); + + if (!monitorWorkspaceId) { + throw new Error("MONITOR_WORKSPACE_ID must be set in the environment for this sample"); + } + + const kustoQuery = + "AppEvents | project TimeGenerated, Name, AppRoleInstance | order by TimeGenerated asc | limit 10"; + + console.log(`Running '${kustoQuery}' over the last 5 minutes`); + const queryLogsOptions = { + // explicitly control the amount of time the server can spend processing the query. + serverTimeoutInSeconds: 60, + // optionally enable returning additional statistics about the query's execution. + // (by default this is off) + includeQueryStatistics: true, + additionalWorkspaces: [additionalWorkspaces1, additionalWorkspaces2] + }; + + const result = await logsQueryClient.query( + monitorWorkspaceId, + kustoQuery, + // The timespan is an ISO8601 formatted time (or interval). Some common aliases + // are available (like durationOf1Day, durationOf1Hour, durationOf48Hours, etc..) but any properly formatted ISO8601 + // value is valid. + { duration: Durations.OneHour }, + queryLogsOptions + ); + + const tablesFromResult = result.tables; + + if (tablesFromResult == null) { + console.log(`No results for query '${kustoQuery}'`); + return; + } + + const executionTime = + result.statistics && result.statistics.query && result.statistics.query.executionTime; + + console.log( + `Results for query '${kustoQuery}', execution time: ${ + executionTime == null ? "unknown" : executionTime + }` + ); + + for (const table of tablesFromResult) { + const columnHeaderString = table.columnDescriptors + .map((column) => `${column.name}(${column.type}) `) + .join("| "); + console.log("| " + columnHeaderString); + + for (const row of table.rows) { + const columnValuesString = row.map((columnValue) => `'${columnValue}' `).join("| "); + console.log("| " + columnValuesString); + } + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); + process.exit(1); +}); diff --git a/sdk/monitor/monitor-query/samples/v1/javascript/metricsQuery.js b/sdk/monitor/monitor-query/samples/v1/javascript/metricsQuery.js index 71f9b82d33ae..ecf7ea903151 100644 --- a/sdk/monitor/monitor-query/samples/v1/javascript/metricsQuery.js +++ b/sdk/monitor/monitor-query/samples/v1/javascript/metricsQuery.js @@ -21,31 +21,33 @@ async function main() { throw new Error("METRICS_RESOURCE_ID must be set in the environment for this sample"); } - const result = await metricsQueryClient.getMetricDefinitions(metricsResourceId); - - for (const definition of result.definitions) { - console.log(`Definition = ${definition.name}`); - } - - const firstMetric = result.definitions[0]; - - console.log(`Picking an example metric to query: ${firstMetric.name}`); - - const metricsResponse = await metricsQueryClient.queryMetrics( - metricsResourceId, - Durations.last5Minutes, - { - metricNames: [firstMetric.name], - interval: "PT1M" + const iterator = metricsQueryClient.listMetricDefinitions(metricsResourceId); + let metricNames = []; + for await (const result of iterator) { + console.log(` metricDefinitions - ${result.id}, ${result.name}`); + if (result.name) { + metricNames.push(result.name); } - ); - - console.log( - `Query cost: ${metricsResponse.cost}, interval: ${metricsResponse.interval}, time span: ${metricsResponse.timespan}` - ); + } - const metrics = metricsResponse.metrics; - console.log(`Metrics:`, JSON.stringify(metrics, undefined, 2)); + if (metricNames.length > 0) { + console.log(`Picking an example list of metrics to query: ${metricNames}`); + const metricsResponse = await metricsQueryClient.query(metricsResourceId, metricNames, { + granularity: "PT1M", + timespan: { duration: Durations.FiveMinutes } + }); + + console.log( + `Query cost: ${metricsResponse.cost}, interval: ${metricsResponse.granularity}, time span: ${metricsResponse.timespan}` + ); + + const metrics = metricsResponse.metrics; + console.log(`Metrics:`, JSON.stringify(metrics, undefined, 2)); + const metric = metricsResponse.getMetricByName(metricNames[0]); + console.log(`Selected Metric: ${metricNames[0]}`, JSON.stringify(metric, undefined, 2)); + } else { + console.error(`Metric names are not defined - ${metricNames}`); + } } main().catch((err) => { diff --git a/sdk/monitor/monitor-query/samples/v1/typescript/README.md b/sdk/monitor/monitor-query/samples/v1/typescript/README.md index 33d67af5e626..cdcfa8733c17 100644 --- a/sdk/monitor/monitor-query/samples/v1/typescript/README.md +++ b/sdk/monitor/monitor-query/samples/v1/typescript/README.md @@ -2,11 +2,12 @@ These sample programs show how to use the TypeScript client libraries for Monitor Query in some common scenarios. -| **File Name** | **Description** | -| ----------------------------------- | ----------------------------------------------------------------------- | -| [logsQuery.ts][logsquery] | Demonstrates how to run a query against a Log Analytics workspace | -| [logsQueryBatch.ts][logsquerybatch] | Demonstrates how to run a batch query against a Log Analytics workspace | -| [metricsQuery.ts][metricsquery] | Demonstrates how to query metrics using the MetricsClient. | +| **File Name** | **Description** | +| ------------------------------------------------------------- | ----------------------------------------------------------------------- | +| [logsQuery.ts][logsquery] | Demonstrates how to run a query against a Log Analytics workspace | +| [logsQueryBatch.ts][logsquerybatch] | Demonstrates how to run a batch query against a Log Analytics workspace | +| [logsQueryMultipleWorkspaces.ts][logsquerymultipleworkspaces] | Demonstrates how to run a query against a Log Analytics workspace | +| [metricsQuery.ts][metricsquery] | Demonstrates how to query metrics using the MetricsClient. | ## Prerequisites @@ -62,6 +63,7 @@ Take a look at our [API Documentation][apiref] for more information about the AP [logsquery]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQuery.ts [logsquerybatch]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryBatch.ts +[logsquerymultipleworkspaces]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryMultipleWorkspaces.ts [metricsquery]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/monitor/monitor-query/samples/v1/typescript/src/metricsQuery.ts [apiref]: https://docs.microsoft.com/javascript/api/ [freesub]: https://azure.microsoft.com/free/ diff --git a/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQuery.ts b/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQuery.ts index badaa8cfaa2c..dff6a944da6a 100644 --- a/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQuery.ts +++ b/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQuery.ts @@ -6,7 +6,7 @@ */ import { DefaultAzureCredential } from "@azure/identity"; -import { Durations, LogsQueryClient, LogsTable } from "@azure/monitor-query"; +import { Durations, LogsQueryClient, LogsTable, LogsQueryOptions } from "@azure/monitor-query"; import * as dotenv from "dotenv"; dotenv.config(); @@ -23,22 +23,23 @@ export async function main() { const kustoQuery = "AppEvents | project TimeGenerated, Name, AppRoleInstance | order by TimeGenerated asc | limit 10"; - console.log(`Running '${kustoQuery}' over the last 5 minutes`); - const result = await logsQueryClient.queryLogs( + console.log(`Running '${kustoQuery}' over the last One Hour`); + const queryLogsOptions: LogsQueryOptions = { + // explicitly control the amount of time the server can spend processing the query. + serverTimeoutInSeconds: 60, + // optionally enable returning additional statistics about the query's execution. + // (by default this is off) + includeQueryStatistics: true + }; + + const result = await logsQueryClient.query( monitorWorkspaceId, kustoQuery, // The timespan is an ISO8601 formatted time (or interval). Some common aliases - // are available (like lastDay, lastHour, last48Hours, etc..) but any properly formatted ISO8601 + // are available (like OneDay, OneHour, FoutyEightHours, etc..) but any properly formatted ISO8601 // value is valid. - Durations.lastHour, - { - // optionally enable returning additional statistics about the query's execution. - // (by default this is off) - includeQueryStatistics: true, - - // explicitly control the amount of time the server can spend processing the query. - serverTimeoutInSeconds: 60 - } + { duration: Durations.OneHour }, + queryLogsOptions ); const tablesFromResult: LogsTable[] | undefined = result.tables; @@ -49,7 +50,7 @@ export async function main() { } const executionTime = - result.statistics && result.statistics.query && result.statistics.query.executionTime; + result.statistics && result.statistics.query && (result.statistics.query as any).executionTime; console.log( `Results for query '${kustoQuery}', execution time: ${ @@ -58,7 +59,7 @@ export async function main() { ); for (const table of tablesFromResult) { - const columnHeaderString = table.columns + const columnHeaderString = table.columnDescriptors .map((column) => `${column.name}(${column.type}) `) .join("| "); console.log("| " + columnHeaderString); diff --git a/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryBatch.ts b/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryBatch.ts index 611a2a6fc2b3..bf3dcbab31cb 100644 --- a/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryBatch.ts +++ b/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryBatch.ts @@ -21,23 +21,40 @@ export async function main() { const logsQueryClient = new LogsQueryClient(tokenCredential); const kqlQuery = "AppEvents | project TimeGenerated, Name, AppRoleInstance | limit 1"; + const queriesBatch = [ + { + workspaceId: monitorWorkspaceId, + query: kqlQuery, + timespan: { duration: "P1D" } + }, + { + workspaceId: monitorWorkspaceId, + query: "AzureActivity | summarize count()", + timespan: { duration: "PT1H" } + }, + { + workspaceId: monitorWorkspaceId, + query: + "AppRequests | take 10 | summarize avgRequestDuration=avg(DurationMs) by bin(TimeGenerated, 10m), _ResourceId", + timespan: { duration: "PT1H" } + }, + { + workspaceId: monitorWorkspaceId, + query: "AppRequests | take 2", + timespan: { duration: "PT1H" }, + includeQueryStatistics: true + } + ]; - const result = await logsQueryClient.queryLogsBatch({ - queries: [ - { - workspace: monitorWorkspaceId, - query: kqlQuery, - timespan: "P1D" - } - ] - }); + const result = await logsQueryClient.queryBatch(queriesBatch); if (result.results == null) { throw new Error("No response for query"); } + let i = 0; for (const response of result.results) { - console.log(`Results for query with id: ${response.id}`); + console.log(`Results for query with query: ${queriesBatch[i]}`); if (response.error) { console.log(` Query had errors:`, response.error); @@ -45,10 +62,12 @@ export async function main() { if (response.tables == null) { console.log(`No results for query`); } else { - console.log(`Printing results from query '${kqlQuery}' for 1 day.`); + console.log( + `Printing results from query '${queriesBatch[i].query}' for '${queriesBatch[i].timespan}'` + ); for (const table of response.tables) { - const columnHeaderString = table.columns + const columnHeaderString = table.columnDescriptors .map((column) => `${column.name}(${column.type}) `) .join("| "); console.log(columnHeaderString); @@ -60,6 +79,8 @@ export async function main() { } } } + // next query + i++; } } diff --git a/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryMultipleWorkspaces.ts b/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryMultipleWorkspaces.ts new file mode 100644 index 000000000000..73102d386d62 --- /dev/null +++ b/sdk/monitor/monitor-query/samples/v1/typescript/src/logsQueryMultipleWorkspaces.ts @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates how to run a query against a Log Analytics workspace + */ + +import { DefaultAzureCredential } from "@azure/identity"; +import { Durations, LogsQueryClient, LogsTable, LogsQueryOptions } from "@azure/monitor-query"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const monitorWorkspaceId = process.env.MONITOR_WORKSPACE_ID; +const additionalWorkspaces1 = process.env.ADDITIONAL_WORKSPACES_1 || "workspace1"; +const additionalWorkspaces2 = process.env.ADDITIONAL_WORKSPACES_2 || "workspace2"; + +export async function main() { + const tokenCredential = new DefaultAzureCredential(); + const logsQueryClient = new LogsQueryClient(tokenCredential); + + if (!monitorWorkspaceId) { + throw new Error("MONITOR_WORKSPACE_ID must be set in the environment for this sample"); + } + + const kustoQuery = + "AppEvents | project TimeGenerated, Name, AppRoleInstance | order by TimeGenerated asc | limit 10"; + + console.log(`Running '${kustoQuery}' over the last 5 minutes`); + const queryLogsOptions: LogsQueryOptions = { + // explicitly control the amount of time the server can spend processing the query. + serverTimeoutInSeconds: 60, + // optionally enable returning additional statistics about the query's execution. + // (by default this is off) + includeQueryStatistics: true, + additionalWorkspaces: [additionalWorkspaces1, additionalWorkspaces2] + }; + + const result = await logsQueryClient.query( + monitorWorkspaceId, + kustoQuery, + // The timespan is an ISO8601 formatted time (or interval). Some common aliases + // are available (like durationOf1Day, durationOf1Hour, durationOf48Hours, etc..) but any properly formatted ISO8601 + // value is valid. + { duration: Durations.OneHour }, + queryLogsOptions + ); + + const tablesFromResult: LogsTable[] | undefined = result.tables; + + if (tablesFromResult == null) { + console.log(`No results for query '${kustoQuery}'`); + return; + } + + const executionTime = + result.statistics && result.statistics.query && (result.statistics.query as any).executionTime; + + console.log( + `Results for query '${kustoQuery}', execution time: ${ + executionTime == null ? "unknown" : executionTime + }` + ); + + for (const table of tablesFromResult) { + const columnHeaderString = table.columnDescriptors + .map((column) => `${column.name}(${column.type}) `) + .join("| "); + console.log("| " + columnHeaderString); + + for (const row of table.rows) { + const columnValuesString = row.map((columnValue) => `'${columnValue}' `).join("| "); + console.log("| " + columnValuesString); + } + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); + process.exit(1); +}); diff --git a/sdk/monitor/monitor-query/samples/v1/typescript/src/metricsQuery.ts b/sdk/monitor/monitor-query/samples/v1/typescript/src/metricsQuery.ts index 6b88df57f00a..55c367036fb4 100644 --- a/sdk/monitor/monitor-query/samples/v1/typescript/src/metricsQuery.ts +++ b/sdk/monitor/monitor-query/samples/v1/typescript/src/metricsQuery.ts @@ -21,31 +21,33 @@ export async function main() { throw new Error("METRICS_RESOURCE_ID must be set in the environment for this sample"); } - const result = await metricsQueryClient.getMetricDefinitions(metricsResourceId); - - for (const definition of result.definitions) { - console.log(`Definition = ${definition.name}`); - } - - const firstMetric = result.definitions[0]; - - console.log(`Picking an example metric to query: ${firstMetric.name}`); - - const metricsResponse = await metricsQueryClient.queryMetrics( - metricsResourceId, - Durations.last5Minutes, - { - metricNames: [firstMetric.name!], - interval: "PT1M" + const iterator = metricsQueryClient.listMetricDefinitions(metricsResourceId); + let metricNames: string[] = []; + for await (const result of iterator) { + console.log(` metricDefinitions - ${result.id}, ${result.name}`); + if (result.name) { + metricNames.push(result.name); } - ); - - console.log( - `Query cost: ${metricsResponse.cost}, interval: ${metricsResponse.interval}, time span: ${metricsResponse.timespan}` - ); + } - const metrics: Metric[] = metricsResponse.metrics; - console.log(`Metrics:`, JSON.stringify(metrics, undefined, 2)); + if (metricNames.length > 0) { + console.log(`Picking an example list of metrics to query: ${metricNames}`); + const metricsResponse = await metricsQueryClient.query(metricsResourceId, metricNames, { + granularity: "PT1M", + timespan: { duration: Durations.FiveMinutes } + }); + + console.log( + `Query cost: ${metricsResponse.cost}, interval: ${metricsResponse.granularity}, time span: ${metricsResponse.timespan}` + ); + + const metrics: Metric[] = metricsResponse.metrics; + console.log(`Metrics:`, JSON.stringify(metrics, undefined, 2)); + const metric = metricsResponse.getMetricByName(metricNames[0]); + console.log(`Selected Metric: ${metricNames[0]}`, JSON.stringify(metric, undefined, 2)); + } else { + console.error(`Metric names are not defined - ${metricNames}`); + } } main().catch((err) => { diff --git a/sdk/monitor/monitor-query/src/constants.ts b/sdk/monitor/monitor-query/src/constants.ts index 268d00765136..80abb897e238 100644 --- a/sdk/monitor/monitor-query/src/constants.ts +++ b/sdk/monitor/monitor-query/src/constants.ts @@ -4,4 +4,4 @@ /** * @internal */ -export const SDK_VERSION: string = "1.0.0-beta.4"; +export const SDK_VERSION: string = "1.0.0-beta.6"; diff --git a/sdk/monitor/monitor-query/src/generated/logquery/src/azureLogAnalyticsContext.ts b/sdk/monitor/monitor-query/src/generated/logquery/src/azureLogAnalyticsContext.ts index 1aa89c8c62f5..e61391a5a695 100644 --- a/sdk/monitor/monitor-query/src/generated/logquery/src/azureLogAnalyticsContext.ts +++ b/sdk/monitor/monitor-query/src/generated/logquery/src/azureLogAnalyticsContext.ts @@ -26,7 +26,7 @@ export class AzureLogAnalyticsContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-monitor-log-query/1.0.0-beta.4`; + const packageDetails = `azsdk-js-monitor-log-query/1.0.0-beta.6`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/monitor/monitor-query/src/generated/logquery/src/models/index.ts b/sdk/monitor/monitor-query/src/generated/logquery/src/models/index.ts index 226800828d00..ce6abc7d0591 100644 --- a/sdk/monitor/monitor-query/src/generated/logquery/src/models/index.ts +++ b/sdk/monitor/monitor-query/src/generated/logquery/src/models/index.ts @@ -47,7 +47,7 @@ export interface ErrorInfo { /** error details. */ details?: ErrorDetail[]; /** Inner error details if they exist. */ - innererror?: ErrorInfo; + innerError?: ErrorInfo; /** Additional properties that can be provided on the error info object */ additionalProperties?: Record; } diff --git a/sdk/monitor/monitor-query/src/generated/logquery/src/models/mappers.ts b/sdk/monitor/monitor-query/src/generated/logquery/src/models/mappers.ts index 6e59f80a69ff..1f7c6650867f 100644 --- a/sdk/monitor/monitor-query/src/generated/logquery/src/models/mappers.ts +++ b/sdk/monitor/monitor-query/src/generated/logquery/src/models/mappers.ts @@ -150,7 +150,7 @@ export const ErrorInfo: coreClient.CompositeMapper = { } } }, - innererror: { + innerError: { serializedName: "innererror", type: { name: "Composite", diff --git a/sdk/monitor/monitor-query/src/generated/logquery/src/operations/metadata.ts b/sdk/monitor/monitor-query/src/generated/logquery/src/operations/metadata.ts index 890f0e8cba75..f802a2f962f9 100644 --- a/sdk/monitor/monitor-query/src/generated/logquery/src/operations/metadata.ts +++ b/sdk/monitor/monitor-query/src/generated/logquery/src/operations/metadata.ts @@ -18,7 +18,7 @@ import { MetadataPostResponse } from "../models"; -/** Class representing a Metadata. */ +/** Class containing Metadata operations. */ export class MetadataImpl implements Metadata { private readonly client: AzureLogAnalyticsContext; diff --git a/sdk/monitor/monitor-query/src/generated/logquery/src/operations/query.ts b/sdk/monitor/monitor-query/src/generated/logquery/src/operations/query.ts index 97e7a882c56e..f575317db040 100644 --- a/sdk/monitor/monitor-query/src/generated/logquery/src/operations/query.ts +++ b/sdk/monitor/monitor-query/src/generated/logquery/src/operations/query.ts @@ -22,7 +22,7 @@ import { QueryBatchResponse } from "../models"; -/** Class representing a Query. */ +/** Class containing Query operations. */ export class QueryImpl implements Query { private readonly client: AzureLogAnalyticsContext; diff --git a/sdk/monitor/monitor-query/src/generated/metrics/src/monitorManagementClientContext.ts b/sdk/monitor/monitor-query/src/generated/metrics/src/monitorManagementClientContext.ts index 5a1ed393641a..081266847b13 100644 --- a/sdk/monitor/monitor-query/src/generated/metrics/src/monitorManagementClientContext.ts +++ b/sdk/monitor/monitor-query/src/generated/metrics/src/monitorManagementClientContext.ts @@ -38,7 +38,7 @@ export class MonitorManagementClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-monitor-metrics/1.0.0-beta.4`; + const packageDetails = `azsdk-js-monitor-metrics/1.0.0-beta.6`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/monitor/monitor-query/src/generated/metrics/src/operations/metrics.ts b/sdk/monitor/monitor-query/src/generated/metrics/src/operations/metrics.ts index 4992ca2593b1..cc1e5a60429f 100644 --- a/sdk/monitor/monitor-query/src/generated/metrics/src/operations/metrics.ts +++ b/sdk/monitor/monitor-query/src/generated/metrics/src/operations/metrics.ts @@ -13,7 +13,7 @@ import * as Parameters from "../models/parameters"; import { MonitorManagementClientContext } from "../monitorManagementClientContext"; import { MetricsListOptionalParams, MetricsListResponse } from "../models"; -/** Class representing a Metrics. */ +/** Class containing Metrics operations. */ export class MetricsImpl implements Metrics { private readonly client: MonitorManagementClientContext; diff --git a/sdk/monitor/monitor-query/src/generated/metricsdefinitions/src/monitorManagementClientContext.ts b/sdk/monitor/monitor-query/src/generated/metricsdefinitions/src/monitorManagementClientContext.ts index a704455047ce..049671aec637 100644 --- a/sdk/monitor/monitor-query/src/generated/metricsdefinitions/src/monitorManagementClientContext.ts +++ b/sdk/monitor/monitor-query/src/generated/metricsdefinitions/src/monitorManagementClientContext.ts @@ -38,7 +38,7 @@ export class MonitorManagementClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-monitor-metrics-definitions/1.0.0-beta.4`; + const packageDetails = `azsdk-js-monitor-metrics-definitions/1.0.0-beta.6`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/monitor/monitor-query/src/generated/metricsdefinitions/src/operations/metricDefinitions.ts b/sdk/monitor/monitor-query/src/generated/metricsdefinitions/src/operations/metricDefinitions.ts index 7cfce3525b68..bc43a350fbd0 100644 --- a/sdk/monitor/monitor-query/src/generated/metricsdefinitions/src/operations/metricDefinitions.ts +++ b/sdk/monitor/monitor-query/src/generated/metricsdefinitions/src/operations/metricDefinitions.ts @@ -16,7 +16,7 @@ import { MetricDefinitionsListResponse } from "../models"; -/** Class representing a MetricDefinitions. */ +/** Class containing MetricDefinitions operations. */ export class MetricDefinitionsImpl implements MetricDefinitions { private readonly client: MonitorManagementClientContext; diff --git a/sdk/monitor/monitor-query/src/generated/metricsnamespaces/src/monitorManagementClientContext.ts b/sdk/monitor/monitor-query/src/generated/metricsnamespaces/src/monitorManagementClientContext.ts index 2ea85cc28af5..a4164212085c 100644 --- a/sdk/monitor/monitor-query/src/generated/metricsnamespaces/src/monitorManagementClientContext.ts +++ b/sdk/monitor/monitor-query/src/generated/metricsnamespaces/src/monitorManagementClientContext.ts @@ -38,7 +38,7 @@ export class MonitorManagementClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-monitor-metrics-namespaces/1.0.0-beta.4`; + const packageDetails = `azsdk-js-monitor-metrics-namespaces/1.0.0-beta.6`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/monitor/monitor-query/src/generated/metricsnamespaces/src/operations/metricNamespaces.ts b/sdk/monitor/monitor-query/src/generated/metricsnamespaces/src/operations/metricNamespaces.ts index 32998a25aeb4..273db59b7aa3 100644 --- a/sdk/monitor/monitor-query/src/generated/metricsnamespaces/src/operations/metricNamespaces.ts +++ b/sdk/monitor/monitor-query/src/generated/metricsnamespaces/src/operations/metricNamespaces.ts @@ -16,7 +16,7 @@ import { MetricNamespacesListResponse } from "../models"; -/** Class representing a MetricNamespaces. */ +/** Class containing MetricNamespaces operations. */ export class MetricNamespacesImpl implements MetricNamespaces { private readonly client: MonitorManagementClientContext; diff --git a/sdk/monitor/monitor-query/src/index.ts b/sdk/monitor/monitor-query/src/index.ts index 9e5a786020f1..8ff2344e165a 100644 --- a/sdk/monitor/monitor-query/src/index.ts +++ b/sdk/monitor/monitor-query/src/index.ts @@ -6,35 +6,38 @@ // export { LogsQueryClientOptions, LogsQueryClient } from "./logsQueryClient"; export { - BatchQuery, - QueryLogsBatch, - QueryLogsBatchOptions, - QueryLogsBatchResult, - QueryLogsOptions, - QueryLogsResult, + QueryBatch, + LogsQueryBatchOptions, + LogsQueryBatchResult, + LogsQueryOptions, + LogsQueryResult, // TODO: design issues around this still pending. // QueryStatistics, - LogsTable + LogsTable, + LogsColumn, + LogsQueryResultStatus, + ErrorInfo, + BatchError, + AggregateBatchError } from "./models/publicLogsModels"; export { MetricsQueryClient, MetricsQueryClientOptions as MetricsClientOptions } from "./metricsQueryClient"; export { - GetMetricDefinitionsOptions, - GetMetricDefinitionsResult, - GetMetricNamespacesOptions, - GetMetricNamespacesResult, + ListMetricDefinitionsOptions, + ListMetricNamespacesOptions, MetadataValue, Metric, MetricDefinition, - QueryMetricsOptions, - QueryMetricsResult, - TimeSeriesElement + MetricsQueryOptions, + MetricsQueryResult, + TimeSeriesElement, + MetricNamespace } from "./models/publicMetricsModels"; export { Durations } from "./models/constants"; - +export { TimeInterval } from "./models/timeInterval"; // // LogsClient: generated exports // @@ -42,10 +45,8 @@ export { Durations } from "./models/constants"; export { // TODO: these are the generated model names. We probably want to run them // through a manual review to make them consistent with style. - Column as MetricColumn, LogsColumnType, - ErrorDetail, - ErrorInfo + ErrorDetail } from "./generated/logquery/src"; // @@ -64,8 +65,4 @@ export { MetricAvailability, MetricClass } from "./generated/metricsdefinitions/src"; -export { - MetricNamespace, - MetricNamespaceName, - NamespaceClassification -} from "./generated/metricsnamespaces/src"; +export { NamespaceClassification } from "./generated/metricsnamespaces/src"; diff --git a/sdk/monitor/monitor-query/src/internal/modelConverters.ts b/sdk/monitor/monitor-query/src/internal/modelConverters.ts index 246e9912bf2b..88fd302c5615 100644 --- a/sdk/monitor/monitor-query/src/internal/modelConverters.ts +++ b/sdk/monitor/monitor-query/src/internal/modelConverters.ts @@ -4,10 +4,12 @@ import { BatchRequest as GeneratedBatchRequest, BatchQueryRequest as GeneratedBatchQueryRequest, - BatchQueryResponse as GeneratedBatchQueryResponse, QueryBatchResponse as GeneratedQueryBatchResponse, + BatchQueryResponse as GeneratedBatchQueryResponse, QueryBody, - Table as GeneratedTable + Table as GeneratedTable, + BatchQueryResults as GeneratedBatchQueryResults, + ErrorInfo as GeneratedErrorInfo } from "../generated/logquery/src"; import { @@ -19,57 +21,72 @@ import { import { MetricDefinitionsListOptionalParams as GeneratedMetricDefinitionsListOptionalParams, - MetricDefinitionsListResponse as GeneratedMetricDefinitionsListResponse + MetricDefinition as GeneratedMetricDefinition } from "../generated/metricsdefinitions/src"; -import { MetricNamespacesListResponse as GeneratedMetricNamespacesListResponse } from "../generated/metricsnamespaces/src"; - +import { MetricNamespace as GeneratedMetricNamespace } from "../generated/metricsnamespaces/src"; import { formatPreferHeader } from "./util"; import { - BatchQuery, - GetMetricDefinitionsOptions, - GetMetricDefinitionsResult, - GetMetricNamespacesResult, + QueryBatch, + ListMetricDefinitionsOptions, LogsTable, - QueryLogsBatch, - QueryLogsBatchOptions, - QueryLogsBatchResult, - QueryMetricsOptions, - QueryMetricsResult + LogsQueryBatchResult, + MetricsQueryOptions, + MetricsQueryResult } from "../../src"; -import { Metric, MetricDefinition, TimeSeriesElement } from "../models/publicMetricsModels"; -import { FullOperationResponse } from "../../../../core/core-client/types/latest/core-client"; +import { + MetricNamespace, + Metric, + MetricDefinition, + TimeSeriesElement, + createMetricsQueryResult +} from "../models/publicMetricsModels"; +import { FullOperationResponse } from "@azure/core-client"; +import { + convertIntervalToTimeIntervalObject, + convertTimespanToInterval +} from "../timespanConversion"; +import { ErrorInfo, LogsQueryResult } from "../models/publicLogsModels"; /** * @internal */ -export function convertRequestForQueryBatch( - batch: QueryLogsBatch, - batchOptions?: QueryLogsBatchOptions -): GeneratedBatchRequest { +export function convertRequestForQueryBatch(batch: QueryBatch[]): GeneratedBatchRequest { let id = 0; - const requests: GeneratedBatchQueryRequest[] = batch.queries.map((query: BatchQuery) => { - const body: QueryBody & - Partial> & + const requests: GeneratedBatchQueryRequest[] = batch.map((query: QueryBatch) => { + const body: Exclude & Partial< Pick< - QueryLogsBatchOptions, - "serverTimeoutInSeconds" | "includeQueryStatistics" | "additionalWorkspaces" + QueryBatch, + | "query" + | "workspaceId" + | "includeQueryStatistics" + | "additionalWorkspaces" + | "includeVisualization" + | "serverTimeoutInSeconds" > > = { - ...query + workspaceId: query.workspaceId, + query: query.query }; + if (query["additionalWorkspaces"]) { + body["workspaces"] = query["additionalWorkspaces"].map((x) => x); + } + if (query["timespan"]) { + body["timespan"] = convertTimespanToInterval(query["timespan"]); + } delete body["workspaceId"]; - delete body["serverTimeoutInSeconds"]; delete body["includeQueryStatistics"]; - body["workspaces"] = batchOptions?.additionalWorkspaces; + delete body["includeVisualization"]; + delete body["additionalWorkspaces"]; + delete body["serverTimeoutInSeconds"]; const generatedRequest: GeneratedBatchQueryRequest = { id: id.toString(), workspace: query.workspaceId, - headers: formatPreferHeader(batchOptions), + headers: formatPreferHeader(query), body }; @@ -89,15 +106,16 @@ export function convertRequestForQueryBatch( export function convertResponseForQueryBatch( generatedResponse: GeneratedQueryBatchResponse, rawResponse: FullOperationResponse -): QueryLogsBatchResult { +): LogsQueryBatchResult { const fixApplied = fixInvalidBatchQueryResponse(generatedResponse, rawResponse); - /* Sort the ids that are passed in with the queries, as numbers instead of strings * It is not guaranteed that service will return the responses for queries in the same order * as the queries are passed in */ - const newResponse: QueryLogsBatchResult = { - results: generatedResponse.responses + const responseList = generatedResponse.responses || []; + + const newResponse: LogsQueryBatchResult = { + results: responseList ?.sort((a, b) => { let left = 0; if (a.id != null) { @@ -111,19 +129,24 @@ export function convertResponseForQueryBatch( return left - right; }) - ?.map((response: GeneratedBatchQueryResponse) => ({ - id: response.id, - status: response.status, - // hoist fields from the sub-object 'body' to this level - error: response.body?.error, - tables: response.body?.tables?.map(convertGeneratedTable) - })) + ?.map((response: GeneratedBatchQueryResponse) => convertBatchQueryResponseHelper(response)) }; - + // compute status for failed or succeed or partial results + + const resultsCount = newResponse.results?.length ?? 0; + for (let i = 0; i < resultsCount; i++) { + const result = newResponse.results[i]; + if (result.error && result.tables) { + result.status = "Partial"; + } else if (result.tables) { + result.status = "Success"; + } else { + result.status = "Failed"; + } + } (newResponse as any)["__fixApplied"] = fixApplied; return newResponse; } - /** * This is a workaround for a service bug that we're investigating. The 'body' column will occasionally come * back as a JSON string, instead of being a JSON object. @@ -169,22 +192,30 @@ export function fixInvalidBatchQueryResponse( * @internal */ export function convertRequestForMetrics( - timespan: string, - queryMetricsOptions: QueryMetricsOptions | undefined + metricNames: string[], + queryMetricsOptions: MetricsQueryOptions | undefined ): GeneratedMetricsListOptionalParams { if (!queryMetricsOptions) { - return { - timespan - }; + return {}; } - const { orderBy, metricNames, aggregations, metricNamespace, ...rest } = queryMetricsOptions; + const { + orderBy, + aggregations, + metricNamespace, + timespan, + granularity, + ...rest + } = queryMetricsOptions; const obj: GeneratedMetricsListOptionalParams = { - ...rest, - timespan + ...rest }; + if (timespan) { + obj.timespan = convertTimespanToInterval(timespan); + } + if (orderBy) { obj.orderby = orderBy; } @@ -197,6 +228,9 @@ export function convertRequestForMetrics( if (metricNamespace) { obj.metricnamespace = metricNamespace; } + if (granularity) { + obj.interval = granularity; + } return obj; } @@ -205,11 +239,12 @@ export function convertRequestForMetrics( */ export function convertResponseForMetrics( generatedResponse: GeneratedMetricsListResponse -): QueryMetricsResult { +): MetricsQueryResult { const metrics: Metric[] = generatedResponse.value.map((metric: GeneratedMetric) => { - return { + const metricObject = { ...metric, name: metric.name.value, + description: metric.displayDescription, timeseries: metric.timeseries.map( (ts: GeneratedTimeSeriesElement) => { @@ -221,28 +256,34 @@ export function convertResponseForMetrics( } ) }; + delete metricObject.displayDescription; + return metricObject; }); // eslint-disable-next-line @typescript-eslint/no-unused-vars -- eslint doesn't recognize that the extracted variables are prefixed with '_' and are purposefully unused. - const { resourceregion, value: _ignoredValue, ...rest } = generatedResponse; + const { resourceregion, value: _ignoredValue, interval, timespan, ...rest } = generatedResponse; - const obj: QueryMetricsResult = { + const obj: Omit = { ...rest, - metrics + metrics, + timespan: convertIntervalToTimeIntervalObject(timespan) }; if (resourceregion) { obj.resourceRegion = resourceregion; } + if (interval) { + obj.granularity = interval; + } - return obj; + return createMetricsQueryResult(obj); } /** * @internal */ export function convertRequestOptionsForMetricsDefinitions( - options: GetMetricDefinitionsOptions | undefined + options: ListMetricDefinitionsOptions | undefined ): GeneratedMetricDefinitionsListOptionalParams { if (!options) { return {}; @@ -265,40 +306,52 @@ export function convertRequestOptionsForMetricsDefinitions( * @internal */ export function convertResponseForMetricsDefinitions( - generatedResponse: GeneratedMetricDefinitionsListResponse -): GetMetricDefinitionsResult { - return { - definitions: generatedResponse.value?.map((genDef) => { - const { name, dimensions, ...rest } = genDef; + generatedResponse: Array +): Array { + const definitions: Array = generatedResponse?.map((genDef) => { + const { name, dimensions, displayDescription, ...rest } = genDef; - const response: MetricDefinition = { - ...rest - }; - - if (name?.value) { - response.name = name.value; - } + const response: MetricDefinition = { + ...rest + }; - const mappedDimensions = dimensions?.map((dim) => dim.value); + if (displayDescription) { + response.description = displayDescription; + } + if (name?.value) { + response.name = name.value; + } - if (mappedDimensions) { - response.dimensions = mappedDimensions; - } + const mappedDimensions = dimensions?.map((dim) => dim.value); - return response; - }) - }; + if (mappedDimensions) { + response.dimensions = mappedDimensions; + } + return response; + }); + return definitions; } /** * @internal */ export function convertResponseForMetricNamespaces( - generatedResponse: GeneratedMetricNamespacesListResponse -): GetMetricNamespacesResult { - return { - namespaces: generatedResponse.value - }; + generatedResponse: Array +): Array { + const namespaces: Array = generatedResponse?.map((genDef) => { + const { properties, ...rest } = genDef; + + const response: MetricNamespace = { + ...rest + }; + + if (properties) { + response.metricNamespaceName = properties.metricNamespaceName; + } + + return response; + }); + return namespaces; } /** @@ -334,6 +387,48 @@ export function convertGeneratedTable(table: GeneratedTable): LogsTable { } return row; - }) + }), + columnDescriptors: table.columns }; } + +/** + * @internal + */ +export function convertBatchQueryResponseHelper( + response: GeneratedBatchQueryResponse +): Partial { + try { + const parsedResponseBody: GeneratedBatchQueryResults = JSON.parse( + response.body as any + ) as GeneratedBatchQueryResults; + return { + visualization: parsedResponseBody.render, + status: "Success", // Assume success until shown otherwise. + statistics: parsedResponseBody.statistics, + error: mapError(parsedResponseBody.error), // ? { ...parsedResponseBody.error, name: "Error" } : undefined, + tables: parsedResponseBody.tables?.map((table: GeneratedTable) => + convertGeneratedTable(table) + ) + }; + } catch (e) { + return { + visualization: response.body?.render, + status: "Success", // Assume success until shown otherwise. + statistics: response.body?.statistics, + error: mapError(response.body?.error), + tables: response.body?.tables?.map((table: GeneratedTable) => convertGeneratedTable(table)) + }; + } +} + +export function mapError(error?: GeneratedErrorInfo): ErrorInfo | undefined { + if (error) { + return { + ...error, + name: "Error", + innerError: mapError(error.innerError) + }; + } + return undefined; +} diff --git a/sdk/monitor/monitor-query/src/internal/util.ts b/sdk/monitor/monitor-query/src/internal/util.ts index 929363fea652..779355120a5d 100644 --- a/sdk/monitor/monitor-query/src/internal/util.ts +++ b/sdk/monitor/monitor-query/src/internal/util.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { QueryLogsOptions } from "../models/publicLogsModels"; +import { LogsQueryOptions } from "../models/publicLogsModels"; /** * @internal @@ -9,7 +9,7 @@ import { QueryLogsOptions } from "../models/publicLogsModels"; export function formatPreferHeader( args: | Pick< - QueryLogsOptions, + LogsQueryOptions, "serverTimeoutInSeconds" | "includeQueryStatistics" | "includeVisualization" > | undefined diff --git a/sdk/monitor/monitor-query/src/logsQueryClient.ts b/sdk/monitor/monitor-query/src/logsQueryClient.ts index 184ce887f911..14a0a0466b57 100644 --- a/sdk/monitor/monitor-query/src/logsQueryClient.ts +++ b/sdk/monitor/monitor-query/src/logsQueryClient.ts @@ -3,30 +3,35 @@ import { AzureLogAnalytics } from "./generated/logquery/src/azureLogAnalytics"; import { TokenCredential } from "@azure/core-auth"; -import { PipelineOptions, bearerTokenAuthenticationPolicy } from "@azure/core-rest-pipeline"; import { - QueryLogsBatch, - QueryLogsBatchOptions, - QueryLogsBatchResult, - QueryLogsOptions, - QueryLogsResult + QueryBatch, + LogsQueryBatchOptions, + LogsQueryBatchResult, + LogsQueryOptions, + LogsQueryResult, + AggregateBatchError, + BatchError, + ErrorInfo } from "./models/publicLogsModels"; import { convertGeneratedTable, convertRequestForQueryBatch, - convertResponseForQueryBatch + convertResponseForQueryBatch, + mapError } from "./internal/modelConverters"; import { formatPreferHeader } from "./internal/util"; -import { FullOperationResponse, OperationOptions } from "@azure/core-client"; +import { CommonClientOptions, FullOperationResponse, OperationOptions } from "@azure/core-client"; +import { TimeInterval } from "./models/timeInterval"; +import { convertTimespanToInterval } from "./timespanConversion"; const defaultMonitorScope = "https://api.loganalytics.io/.default"; /** * Options for the LogsQueryClient. */ -export interface LogsQueryClientOptions extends PipelineOptions { +export interface LogsQueryClientOptions extends CommonClientOptions { /** * The host to connect to. */ @@ -37,7 +42,9 @@ export interface LogsQueryClientOptions extends PipelineOptions { * * Defaults to 'https://api.loganalytics.io/.default' */ - scopes?: string | string[]; + credentialOptions?: { + credentialScopes?: string | string[]; + }; } /** @@ -59,37 +66,43 @@ export class LogsQueryClient { this._logAnalytics = new AzureLogAnalytics({ ...options, $host: options?.endpoint, - endpoint: options?.endpoint + endpoint: options?.endpoint, + credentialScopes: options?.credentialOptions?.credentialScopes ?? defaultMonitorScope, + credential: tokenCredential }); - const scope = options?.scopes ?? defaultMonitorScope; - this._logAnalytics.pipeline.addPolicy( - bearerTokenAuthenticationPolicy({ scopes: scope, credential: tokenCredential }) - ); + // const scope = options?.scopes ?? defaultMonitorScope; + // this._logAnalytics.pipeline.addPolicy( + // bearerTokenAuthenticationPolicy({ scopes: scope, credential: tokenCredential }) + // ); } /** * Queries logs in a Log Analytics Workspace. * * @param workspaceId - The 'Workspace Id' for the Log Analytics Workspace - * @param query - A Log Analytics Query - * @param timespan - The timespan over which to query data. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the query expression. + * @param query - A Kusto query. + * @param timespan - The timespan over which to query data. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the query expression. * Some common durations can be found in the `Durations` object. * @param options - Options to adjust various aspects of the request. * @returns The result of the query. */ - async queryLogs( + async query( workspaceId: string, query: string, - timespan: string, - options?: QueryLogsOptions - ): Promise { + timespan: TimeInterval, + options?: LogsQueryOptions + ): Promise { + let timeInterval: string = ""; + if (timespan) { + timeInterval = convertTimespanToInterval(timespan); + } const { flatResponse, rawResponse } = await getRawResponse( (paramOptions) => this._logAnalytics.query.execute( workspaceId, { query, - timespan, + timespan: timeInterval, workspaces: options?.additionalWorkspaces }, paramOptions @@ -106,36 +119,55 @@ export class LogsQueryClient { const parsedBody = JSON.parse(rawResponse.bodyAsText!); flatResponse.tables = parsedBody.tables; - return { + const result: LogsQueryResult = { tables: flatResponse.tables.map(convertGeneratedTable), statistics: flatResponse.statistics, - visualization: flatResponse.render + visualization: flatResponse.render, + error: mapError(flatResponse.error), + status: "Success" // Assume success until shown otherwise. }; + if (!result.error) { + // if there is no error field, it is success + result.status = "Success"; + } else { + // result.tables is always present in single query response, even is there is error + if (result.tables.length === 0) { + result.status = "Failed"; + } else { + result.status = "Partial"; + } + } + if (options?.throwOnAnyFailure && result.status !== "Success") { + throw new BatchError(result.error as ErrorInfo); + } + return result; } /** - * Query logs with multiple queries, in a batch. - * @param batch - A batch of queries to run. Each query can be configured to run against separate workspaces. + * Query Logs with multiple queries, in a batch. + * @param batch - A batch of Kusto queries to execute. Each query can be configured to run against separate workspaces. * @param options - Options for querying logs in a batch. - * @returns The log query results for all the queries. + * @returns The Logs query results for all the queries. */ - async queryLogsBatch( - batch: QueryLogsBatch, - options?: QueryLogsBatchOptions - ): Promise { - const generatedRequest = convertRequestForQueryBatch(batch, options); + async queryBatch( + batch: QueryBatch[], + options?: LogsQueryBatchOptions + ): Promise { + const generatedRequest = convertRequestForQueryBatch(batch); const { flatResponse, rawResponse } = await getRawResponse( (paramOptions) => this._logAnalytics.query.batch(generatedRequest, paramOptions), - { - ...options, - requestOptions: { - customHeaders: { - ...formatPreferHeader(options) - } - } - } + options || {} ); - return convertResponseForQueryBatch(flatResponse, rawResponse); + const result: LogsQueryBatchResult = convertResponseForQueryBatch(flatResponse, rawResponse); + + if (options?.throwOnAnyFailure && result.results.some((it) => it.status !== "Success")) { + const errorResults = result.results + .filter((it) => it.status !== "Success") + .map((x) => x.error); + const batchErrorList = errorResults.map((x) => new BatchError(x as ErrorInfo)); + throw new AggregateBatchError(batchErrorList); + } + return result; } } diff --git a/sdk/monitor/monitor-query/src/metricsQueryClient.ts b/sdk/monitor/monitor-query/src/metricsQueryClient.ts index 4a3daf4df81d..4ce8b61198c1 100644 --- a/sdk/monitor/monitor-query/src/metricsQueryClient.ts +++ b/sdk/monitor/monitor-query/src/metricsQueryClient.ts @@ -1,15 +1,15 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { TokenCredential } from "@azure/core-auth"; -import { PipelineOptions, bearerTokenAuthenticationPolicy } from "@azure/core-rest-pipeline"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { CommonClientOptions } from "@azure/core-client"; import { - GetMetricDefinitionsOptions, - GetMetricDefinitionsResult, - GetMetricNamespacesOptions, - GetMetricNamespacesResult, - QueryMetricsOptions, - QueryMetricsResult + ListMetricDefinitionsOptions, + ListMetricNamespacesOptions, + MetricsQueryOptions, + MetricsQueryResult, + MetricDefinition } from "./models/publicMetricsModels"; import { @@ -22,6 +22,7 @@ import { } from "./generated/metricsdefinitions/src"; import { KnownApiVersion20171201Preview as MetricNamespacesApiVersion, + MetricNamespace, MonitorManagementClient as GeneratedMetricsNamespacesClient } from "./generated/metricsnamespaces/src"; import { @@ -35,7 +36,7 @@ import { /** * Options for the MetricsQueryClient. */ -export interface MetricsQueryClientOptions extends PipelineOptions { +export interface MetricsQueryClientOptions extends CommonClientOptions { /** Overrides client endpoint. */ endpoint?: string; } @@ -57,81 +58,217 @@ export class MetricsQueryClient { const serviceClientOptions = { ...options, $host: options?.endpoint, - endpoint: options?.endpoint + endpoint: options?.endpoint, + credentialScopes: formatScope(options?.endpoint), + credential: tokenCredential }; - const bearerTokenPolicy = bearerTokenAuthenticationPolicy({ - credential: tokenCredential, - scopes: formatScope(options?.endpoint) - }); + this._metricsClient = new GeneratedMetricsClient( MetricsApiVersion.TwoThousandEighteen0101, serviceClientOptions ); - this._metricsClient.pipeline.addPolicy(bearerTokenPolicy); this._definitionsClient = new GeneratedMetricsDefinitionsClient( MetricDefinitionsApiVersion.TwoThousandEighteen0101, serviceClientOptions ); - this._definitionsClient.pipeline.addPolicy(bearerTokenPolicy); this._namespacesClient = new GeneratedMetricsNamespacesClient( MetricNamespacesApiVersion.TwoThousandSeventeen1201Preview, serviceClientOptions ); - this._namespacesClient.pipeline.addPolicy(bearerTokenPolicy); } /** * Query metrics, given a resource URI * @param resourceUri - The resource URI to query. - * @param timespan - The enclosing timespan for metrics. + * @param metricNames - The names of the metrics to retrieve. * @param options - Options for querying metrics. * @returns A response containing metrics. */ - async queryMetrics( + async query( resourceUri: string, - timespan: string, - options?: QueryMetricsOptions - ): Promise { + metricNames: string[], + options?: MetricsQueryOptions + ): Promise { const response = await this._metricsClient.metrics.list( resourceUri, - convertRequestForMetrics(timespan, options) + convertRequestForMetrics(metricNames, options) ); return convertResponseForMetrics(response); } /** + * List alert segments for Metric Definitions + */ + private async *listSegmentOfMetricDefinitions( + resourceUri: string, + options: ListMetricDefinitionsOptions = {} + ): AsyncIterableIterator> { + const segmentResponse = await this._definitionsClient.metricDefinitions.list( + resourceUri, + convertRequestOptionsForMetricsDefinitions(options) + ); + yield convertResponseForMetricsDefinitions(segmentResponse.value); + } + + /** + * List items for Metric Definitions + */ + private async *listItemsOfMetricDefinitions( + resourceUri: string, + options?: ListMetricDefinitionsOptions + ): AsyncIterableIterator { + for await (const segment of this.listSegmentOfMetricDefinitions(resourceUri, options)) { + if (segment) { + yield* segment; + } + } + } + + /** + * /** + * + * Returns an async iterable iterator to list metric definitions. + * + * Example using `for await` syntax: + * + * ```js + * const metricsQueryClient = new MetricsQueryClient(tokenCredential); + * const metricDefinitions = client.listMetricDefinitions(resourceUri, options); + * let i = 1; + * for await (const metricDefinition of metricDefinitions) { + * console.log(`metricDefinition ${i++}:`); + * console.log(metricDefinition); + * } + * ``` + * + * Example using `iter.next()`: + * + * ```js + * let iter = client.listMetricDefinitions(resourceUri, options); + * let result = await iter.next(); + * while (!result.done) { + * console.log(` metricDefinitions - ${result.value.id}, ${result.value.name}`); + * result = await iter.next(); + * } + * ``` + * * Get a list of metric definitions, given a resource URI. * @param resourceUri - The resource URI to get metric definitions for. * @param options - Options for getting metric definitions. * @returns Metric definitions for a given resource URI. */ - async getMetricDefinitions( + listMetricDefinitions( resourceUri: string, - options?: GetMetricDefinitionsOptions - ): Promise { - const response = await this._definitionsClient.metricDefinitions.list( + options?: ListMetricDefinitionsOptions + ): PagedAsyncIterableIterator { + const iter = this.listItemsOfMetricDefinitions(resourceUri, options); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * @returns an AsyncIterableIterator that works a page at a time + */ + byPage: () => { + return this.listSegmentOfMetricDefinitions(resourceUri, options); + } + }; + } + + /** + * List alert segments for Metric Namespaces + */ + private async *listSegmentOfMetricNamespaces( + resourceUri: string, + options: ListMetricNamespacesOptions = {} + ): AsyncIterableIterator> { + const segmentResponse = await this._namespacesClient.metricNamespaces.list( resourceUri, - convertRequestOptionsForMetricsDefinitions(options) + options ); - - return convertResponseForMetricsDefinitions(response); + yield convertResponseForMetricNamespaces(segmentResponse.value); } - /** + * List items for Metric Namespaces + */ + private async *listItemsOfMetricNamespaces( + resourceUri: string, + options?: ListMetricNamespacesOptions + ): AsyncIterableIterator { + for await (const segment of this.listSegmentOfMetricNamespaces(resourceUri, options)) { + if (segment) { + yield* segment; + } + } + } + /** + * + * Returns an async iterable iterator to list metric namespaces. + * + * Example using `for await` syntax: + * + * ```js + * const metricsQueryClient = new MetricsQueryClient(tokenCredential); + * const metricNamespaces = client.listMetricNamespaces(resourceUri, options); + * let i = 1; + * for await (const metricNamespace of metricNamespaces) { + * console.log(`metricNamespace ${i++}:`); + * console.log(metricNamespace); + * } + * ``` + * + * Example using `iter.next()`: + * + * ```js + * let iter = client.listMetricNamespaces(resourceUri, options); + * let result = await iter.next(); + * while (!result.done) { + * console.log(` metricNamespace - ${result.value.id}, ${result.value.name}`); + * result = await iter.next(); + * } + * ``` * Get a list of metric namespaces, given a resource URI. * @param resourceUri - The resource URI to get metric namespaces for. * @param options - Options for getting metric namespaces. * @returns Metric namespaces for a given resource URI. */ - async getMetricNamespaces( + listMetricNamespaces( resourceUri: string, - options?: GetMetricNamespacesOptions - ): Promise { - const response = await this._namespacesClient.metricNamespaces.list(resourceUri, options); - return convertResponseForMetricNamespaces(response); + options?: ListMetricNamespacesOptions + ): PagedAsyncIterableIterator { + const iter = this.listItemsOfMetricNamespaces(resourceUri, options); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * @returns an AsyncIterableIterator that works a page at a time + */ + byPage: () => { + return this.listSegmentOfMetricNamespaces(resourceUri, options); + } + }; } } diff --git a/sdk/monitor/monitor-query/src/models/constants.ts b/sdk/monitor/monitor-query/src/models/constants.ts index f85906eb4aae..6b4c48b7ab13 100644 --- a/sdk/monitor/monitor-query/src/models/constants.ts +++ b/sdk/monitor/monitor-query/src/models/constants.ts @@ -6,25 +6,23 @@ */ export const Durations = { /** Alias for ISO8601 value 'P7D' */ - last7Days: "P7D", + sevenDays: "P7D", /** Alias for ISO8601 value 'P3D' */ - last3Days: "P3D", + threeDays: "P3D", /** Alias for ISO8601 value 'P2D' */ - last2Days: "P2D", + twoDays: "P2D", /** Alias for ISO8601 value 'P1D' */ - lastDay: "P1D", - + OneDay: "P1D", /** Alias for ISO8601 value 'PT1H' */ - lastHour: "PT1H", + OneHour: "PT1H", /** Alias for ISO8601 value 'PT4H' */ - last4Hours: "PT4H", + FourHours: "PT4H", /** Alias for ISO8601 value 'P1D' */ - last24Hours: "P1D", + TwentyFourHours: "P1D", /** Alias for ISO8601 value 'P2D' */ - last48Hours: "P2D", - + FourtyEightHours: "P2D", /** Alias for ISO8601 value 'PT30M' */ - last30Minutes: "PT30M", + ThirtyMinutes: "PT30M", /** Alias for ISO8601 value 'PT5M' */ - last5Minutes: "PT5M" + FiveMinutes: "PT5M" } as const; diff --git a/sdk/monitor/monitor-query/src/models/publicLogsModels.ts b/sdk/monitor/monitor-query/src/models/publicLogsModels.ts index e23f929c2c56..cdce9e3dfac2 100644 --- a/sdk/monitor/monitor-query/src/models/publicLogsModels.ts +++ b/sdk/monitor/monitor-query/src/models/publicLogsModels.ts @@ -2,7 +2,8 @@ // Licensed under the MIT license. import { OperationOptions } from "@azure/core-client"; -import { Column as LogsColumn, ErrorInfo } from "../generated/logquery/src"; +import { ErrorDetail, LogsColumnType } from "../generated/logquery/src"; +import { TimeInterval } from "./timeInterval"; // https://dev.loganalytics.io/documentation/Using-the-API/RequestOptions // https://dev.loganalytics.io/documentation/Using-the-API/Timeouts @@ -10,7 +11,7 @@ import { Column as LogsColumn, ErrorInfo } from "../generated/logquery/src"; /** * Options for querying logs. */ -export interface QueryLogsOptions extends OperationOptions { +export interface LogsQueryOptions extends OperationOptions { /** * A list of workspaces that are included in the query, except for the one set as the `workspaceId` parameter * These may consist of the following identifier formats: @@ -34,6 +35,10 @@ export interface QueryLogsOptions extends OperationOptions { * Results will also include visualization information, in JSON format. */ includeVisualization?: boolean; + /** + * If true, will cause this operation to throw if query operation did not succeed. + */ + throwOnAnyFailure?: boolean; } /** @@ -47,20 +52,92 @@ export interface QueryStatistics { [key: string]: unknown; } +/** The code and message for an error. */ +export interface ErrorInfo extends Error { + /** A machine readable error code. */ + code: string; + /** A human readable error message. */ + message: string; + /** error details. */ + details?: ErrorDetail[]; + /** Inner error details if they exist. */ + innerError?: ErrorInfo; + /** Additional properties that can be provided on the error info object */ + additionalProperties?: Record; +} + +/** Batch Error class for type of each error item in the {@link AggregateBatchError} list returned in logs query batch API */ +export class BatchError extends Error implements ErrorInfo { + /** A machine readable error code. */ + code: string; + /** A human readable error message. */ + message: string; + /** error details. */ + details?: ErrorDetail[]; + /** Inner error details if they exist. */ + innerError?: ErrorInfo; + /** Additional properties that can be provided on the error info object */ + additionalProperties?: Record; + + constructor(errorInfo: ErrorInfo) { + super(); + this.name = "Error"; + this.code = errorInfo.code; + this.message = errorInfo.message; + this.details = errorInfo.details; + this.innerError = errorInfo.innerError; + this.additionalProperties = errorInfo.additionalProperties; + } +} +/** AggregateBatchError type for errors returned in logs query batch API*/ +export class AggregateBatchError extends Error { + errors: BatchError[]; + constructor(errors: ErrorInfo[]) { + super(); + this.errors = errors.map((x) => new BatchError(x)); + } +} /** * Tables and statistic results from a logs query. */ -export interface QueryLogsResult { - /** The list of tables, columns and rows. */ + +export interface LogsQueryResult { + /** Populated results from the query. */ tables: LogsTable[]; + /** error information for partial errors or failed queries */ + error?: ErrorInfo; + /** Indicates if a query succeeded or failed or partially failed. + * Represented by "Partial" | "Success" | "Failed". + * For partially failed queries, users can find data in "tables" attribute + * and error information in "error" attribute */ + status: LogsQueryResultStatus; /** Statistics represented in JSON format. */ - statistics?: any; + statistics?: Record; /** Visualization data in JSON format. */ - visualization?: any; + visualization?: Record; +} + +/** Configurable HTTP request settings and `throwOnAnyFailure` setting for the Logs query batch operation. */ +export interface LogsQueryBatchOptions extends OperationOptions { + /** + * If true, will cause the batch operation to throw if any query operations in the batch did not succeed. + */ + throwOnAnyFailure?: boolean; } -/** Options when query logs with a batch. */ -export interface QueryLogsBatchOptions extends OperationOptions { +/** The Analytics query. Learn more about the [Analytics query syntax](https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/) */ +// NOTE: 'id' is added automatically by our LogsQueryClient. +export interface QueryBatch { + /** The workspace for this query. */ + workspaceId: string; + + // TODO: having both this and the workspaceId field co-exist on the same model seems really + // confusing. However, this is similar to what we're offering in other languages as well. + + /** The query to execute. */ + query: string; + /** The timespan over which to query data. This timespan is applied in addition to any that are specified in the query expression. */ + timespan: TimeInterval; /** * A list of workspaces that are included in the query, except for the one set as the `workspaceId` parameter * These may consist of the following identifier formats: @@ -86,52 +163,61 @@ export interface QueryLogsBatchOptions extends OperationOptions { includeVisualization?: boolean; } -/** An array of queries to run as a batch. */ -export interface QueryLogsBatch { - /** - * Queries that will be run for the batch. - */ - queries: BatchQuery[]; -} - -/** The Analytics query. Learn more about the [Analytics query syntax](https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/) */ -// NOTE: 'id' is added automatically by our LogsClient. -export interface BatchQuery { - /** The workspace for this query. */ - workspaceId: string; - - // TODO: having both this and the workspaceId field co-exist on the same model seems really - // confusing. However, this is similar to what we're offering in other languages as well. - - /** The query to execute. */ - query: string; - /** The timespan over which to query data. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the query expression. */ - timespan: string; -} - /** Results for a batch query. */ -export interface QueryLogsBatchResult { +export interface LogsQueryBatchResult { /** An array of responses corresponding to each individual request in a batch. */ - results?: { - id?: string; - status?: number; - /** The list of tables, columns and rows. */ - // (hoisted up from `LogQueryResult`) + results: { + /** Populated results from the query */ tables?: LogsTable[]; + /** error information for partial errors or failed queries */ error?: ErrorInfo; + /** Indicates if a query succeeded or failed or partially failed. + * Represented by "Partial" | "Success" | "Failed". + * For partially failed queries, users can find data in "tables" attribute + * and error information in "error" attribute */ + status?: LogsQueryResultStatus; + /** Statistics represented in JSON format. */ + statistics?: Record; + /** Visualization data in JSON format. */ + visualization?: Record; }[]; - - // TODO: this is omitted from the Java models. - /** Error response for a batch request */ - // error?: BatchResponseError; } +/** Indicates if a query succeeded or failed or partially failed. + * Represented by "Partial" | "Success" | "Failed". + * For partially failed queries, users can find data in "tables" attribute + * and error information in "error" attribute */ +export type LogsQueryResultStatus = "Partial" | "Success" | "Failed"; + /** Contains the columns and rows for one table in a query response. */ export interface LogsTable { /** The name of the table. */ name: string; /** The list of columns in this table. */ - columns: LogsColumn[]; - /** The resulting rows from this query. */ + columnDescriptors: LogsColumn[]; + /** The two dimensional array of results from this query indexed by row and column. */ rows: (Date | string | number | Record | boolean)[][]; } + +/** A column in a table. */ +export interface LogsColumn { + /** The name of this column. */ + name?: string; + /** The data type of this column. + * Defines values for LogsColumnType. + * {@link KnownLogsColumnType} can be used interchangeably with LogsColumnType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **bool** + * **datetime** + * **dynamic** + * **int** + * **long** + * **real** + * **string** + * **guid** + * **decimal** + * **timespan** + */ + type?: LogsColumnType; +} diff --git a/sdk/monitor/monitor-query/src/models/publicMetricsModels.ts b/sdk/monitor/monitor-query/src/models/publicMetricsModels.ts index 1bcadbb0c683..f5ac71ec384f 100644 --- a/sdk/monitor/monitor-query/src/models/publicMetricsModels.ts +++ b/sdk/monitor/monitor-query/src/models/publicMetricsModels.ts @@ -3,25 +3,37 @@ import { OperationOptions } from "@azure/core-client"; import { - MetricNamespace, MetricValue, ResultType, MetricUnit, MetricClass, AggregationType, - MetricAvailability + MetricAvailability, + NamespaceClassification } from ".."; +import { TimeInterval } from "./timeInterval"; /** * Options used when querying metrics. */ -export interface QueryMetricsOptions extends OperationOptions { - /** The interval (i.e. timegrain) of the query. */ - interval?: string; - /** The names of the metrics to retrieve **/ - metricNames?: string[]; +export interface MetricsQueryOptions extends OperationOptions { + /** The interval (i.e. timegrain) of the query. {@link Durations} helper contains aliases for some common ISO8601 durations. + * This is an ISO8601 duration value in the format P[n]Y[n]M[n]DT[n]H[n]M[n]S + * where P is the duration designator (for period) placed at the start of the duration representation. + * Y is the year designator that follows the value for the number of years. + * M is the month designator that follows the value for the number of months. + * W is the week designator that follows the value for the number of weeks. + * D is the day designator that follows the value for the number of days. + * T is the time designator that precedes the time components of the representation. + * H is the hour designator that follows the value for the number of hours. + * M is the minute designator that follows the value for the number of minutes. + * S is the second designator that follows the value for the number of seconds. + */ + granularity?: string; + /** The enclosing timespan for metrics. */ + timespan?: TimeInterval; /** The list of aggregation types (comma separated) to retrieve. */ - aggregations?: string[]; + aggregations?: AggregationType[]; /** * The maximum number of records to retrieve. * Valid only if $filter is specified. @@ -51,9 +63,11 @@ export interface Metric { /** the name of the metric */ name: string; /** Detailed description of this metric. */ - displayDescription?: string; + description?: string; /** 'Success' or the error details on query failures for this metric. */ errorCode?: string; + /** Error message encountered querying this specific metric. */ + errorMessage?: string; /** the unit of the metric. */ unit: MetricUnit; /** the time series returned when a data query is performed. */ @@ -82,88 +96,70 @@ export interface TimeSeriesElement { /** * Metrics, including additional information like cost, the resourceRegion, etc... */ -export interface QueryMetricsResult { +export interface MetricsQueryResult { // track 2 version of `MetricsListResponse` /** The integer value representing the cost of the query, for data case. */ cost?: number; /** The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested. */ - timespan: string; + timespan: TimeInterval; /** The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made. */ - interval?: string; + granularity?: string; /** The namespace of the metrics been queried */ namespace?: string; /** The region of the resource been queried for metrics. */ resourceRegion?: string; /** the value of the collection. */ metrics: Metric[]; + /** convenience method to get metric by metric name */ + getMetricByName(metricName: string): Metric | undefined; +} + +export function getMetricByName(this: MetricsQueryResult, metricName: string): Metric | undefined { + return this.metrics.find((it) => it.name === metricName); +} + +export function createMetricsQueryResult( + metricsQueryResultData: Omit +): MetricsQueryResult { + return { ...metricsQueryResultData, getMetricByName }; } /** * Options used when getting metric definitions. */ -export interface GetMetricDefinitionsOptions extends OperationOptions { +export interface ListMetricDefinitionsOptions extends OperationOptions { // track 2 version of `MetricDefinitionsListOptionalParams` /** Metric namespace to query metric definitions for. */ metricNamespace?: string; } -/** Metric definition class specifies the metadata for a metric. */ -export interface MetricDefinition { - /** Flag to indicate whether the dimension is required. */ - isDimensionRequired?: boolean; - /** the resource identifier of the resource that emitted the metric. */ - resourceId?: string; - /** the name of the metric */ - name?: string; - /** Detailed description of this metric. */ - displayDescription?: string; - /** Custom category name for this metric. */ - category?: string; - /** the unit of the metric. */ - unit?: MetricUnit; - /** the primary aggregation type value defining how to use the values for display. */ - primaryAggregationType?: AggregationType; - /** the collection of what aggregation intervals are available to be queried. */ - metricAvailabilities?: MetricAvailability[]; - /** the resource identifier of the metric definition. */ - id?: string; - /** the name of the dimension */ - dimensions?: string[]; -} - -/** - * Metric definitions. - */ -export interface GetMetricDefinitionsResult { - /** the values for the metric definitions. */ - definitions: MetricDefinition[]; -} - /** * Options used when getting metric namespaces. */ -export interface GetMetricNamespacesOptions { +export interface ListMetricNamespacesOptions { // track 2 copy of `MetricNamespacesListOptionalParams` /** The ISO 8601 conform Date start time from which to query for metric namespaces. */ startTime?: string; } -/** - * Metric namespaces. - */ -export interface GetMetricNamespacesResult { - // track 2 version of MetricNamespacesListResponse - - /** The metric namespaces. */ - namespaces: MetricNamespace[]; +/** Metric namespace class specifies the metadata for a metric namespace. */ +export interface MetricNamespace { + /** The ID of the metric namespace. */ + id?: string; + /** The type of the namespace. */ + type?: string; + /** The escaped name of the namespace. */ + name?: string; + /** Kind of namespace */ + classification?: NamespaceClassification; + /** The metric namespace name. */ + metricNamespaceName?: string; } -/** - * Metric definition. - */ +/** Metric definition class specifies the metadata for a metric. */ export interface MetricDefinition { /** Flag to indicate whether the dimension is required. */ isDimensionRequired?: boolean; @@ -174,7 +170,7 @@ export interface MetricDefinition { /** the name and the display name of the metric, i.e. it is a localizable string. */ name?: string; /** Detailed description of this metric. */ - displayDescription?: string; + description?: string; /** Custom category name for this metric. */ category?: string; /** The class of the metric. */ diff --git a/sdk/monitor/monitor-query/src/models/timeInterval.ts b/sdk/monitor/monitor-query/src/models/timeInterval.ts new file mode 100644 index 000000000000..3971662f6a80 --- /dev/null +++ b/sdk/monitor/monitor-query/src/models/timeInterval.ts @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * Time Interval type for specifying timespan for querying logs and metrics. + * A time interval is the intervening time between two time points. + * The amount of intervening time is expressed by a duration The two time points (start and end) are expressed by either a combined date and time representation + * or just a date representation.There are four ways to express a time interval: + * - duration + * - start time, end time + * - start time, duration + * - duration, end time + */ +export type TimeInterval = + | { + /** + * Start time for time interval + */ + startTime: Date; + /** + * End time for time interval + */ + endTime: Date; + } + | { + /** + * Start time for time interval + */ + startTime: Date; + /** + * The duration from the start time. {@link Durations} helper contains aliases for some common ISO8601 durations. + * The duration is an ISO8601 duration value in the format P[n]Y[n]M[n]DT[n]H[n]M[n]S + * where P is the duration designator (for period) placed at the start of the duration representation. + * Y is the year designator that follows the value for the number of years. + * M is the month designator that follows the value for the number of months. + * W is the week designator that follows the value for the number of weeks. + * D is the day designator that follows the value for the number of days. + * T is the time designator that precedes the time components of the representation. + * H is the hour designator that follows the value for the number of hours. + * M is the minute designator that follows the value for the number of minutes. + * S is the second designator that follows the value for the number of seconds. + */ + duration: string; + } + | { + /** + * The duration until the end time. {@link Durations} helper contains aliases for some common ISO8601 durations. + * The duration is an ISO8601 duration value in the format P[n]Y[n]M[n]DT[n]H[n]M[n]S + * where P is the duration designator (for period) placed at the start of the duration representation. + * Y is the year designator that follows the value for the number of years. + * M is the month designator that follows the value for the number of months. + * W is the week designator that follows the value for the number of weeks. + * D is the day designator that follows the value for the number of days. + * T is the time designator that precedes the time components of the representation. + * H is the hour designator that follows the value for the number of hours. + * M is the minute designator that follows the value for the number of minutes. + * S is the second designator that follows the value for the number of seconds. + */ + duration: string; + /** + * end time for interval + */ + endTime: Date; + } + | { + /** + * The duration of a time span that ends at the time the operation is processed, e.g. events from the last 5 hours. + * {@link Durations} helper contains aliases for some common ISO8601 durations. + * The duration is an ISO8601 time period value in the format P[n]Y[n]M[n]DT[n]H[n]M[n]S + * where P is the duration designator (for period) placed at the start of the duration representation. + * Y is the year designator that follows the value for the number of years. + * M is the month designator that follows the value for the number of months. + * W is the week designator that follows the value for the number of weeks. + * D is the day designator that follows the value for the number of days. + * T is the time designator that precedes the time components of the representation. + * H is the hour designator that follows the value for the number of hours. + * M is the minute designator that follows the value for the number of minutes. + * S is the second designator that follows the value for the number of seconds. + */ + duration: string; + }; diff --git a/sdk/monitor/monitor-query/src/timespanConversion.ts b/sdk/monitor/monitor-query/src/timespanConversion.ts new file mode 100644 index 000000000000..5d1b303e3f2e --- /dev/null +++ b/sdk/monitor/monitor-query/src/timespanConversion.ts @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { TimeInterval } from "./models/timeInterval"; + +export function convertTimespanToInterval(timespan: TimeInterval): string { + if (isObjectWithProperties(timespan, ["startTime", "endTime", "duration"])) { + throw new TypeError("Invalid Timespan - contains startTime, endTime, and duration."); + } + + if (isObjectWithProperties(timespan, ["startTime", "endTime"])) { + return `${timespan.startTime.toISOString()}/${timespan.endTime.toISOString()}`; + } else if (isObjectWithProperties(timespan, ["startTime", "duration"])) { + return `${timespan.startTime.toISOString()}/${timespan.duration}`; + } else if (isObjectWithProperties(timespan, ["duration", "endTime"])) { + return `${timespan.duration}/${timespan.endTime.toISOString()}`; + } else if (isObjectWithProperties(timespan, ["duration"])) { + return timespan.duration; + } + + throw new TypeError("Invalid Timespan - no valid fields assigned."); +} + +export function convertIntervalToTimeIntervalObject(timespan: string): TimeInterval { + if (timespan.includes("/")) { + const intervalUnits: string[] = timespan.split("/"); + if (Date.parse(intervalUnits[0]) && Date.parse(intervalUnits[2])) { + return { startTime: new Date(intervalUnits[0]), endTime: new Date(intervalUnits[2]) }; + } else if (Date.parse(intervalUnits[0]) && !Date.parse(intervalUnits[2])) { + return { startTime: new Date(intervalUnits[0]), duration: intervalUnits[2] }; + } else if (!Date.parse(intervalUnits[0]) && Date.parse(intervalUnits[2])) { + return { duration: intervalUnits[0], endTime: new Date(intervalUnits[2]) }; + } else { + return { duration: timespan }; + } + } else { + return { duration: timespan }; + } +} +/** + * Helper TypeGuard that checks if the input is an object with the specified property. + * Note: The property may be inherited. + * @param thing - Any object. + * @param property - The name of the property that should appear in the object. + * @internal + */ +export function objectHasProperty( + thing: Thing, + property: PropertyName +): thing is Thing & Record { + return typeof thing === "object" && property in (thing as Record); +} + +/** + * Helper TypeGuard that checks if something is defined or not. + * @param thing - Anything + * @internal + */ +export function isDefined(thing: T | undefined | null): thing is T { + return typeof thing !== "undefined" && thing !== null; +} + +/** + * Helper TypeGuard that checks if the input is an object with the specified properties. + * Note: The properties may be inherited. + * @param thing - Anything. + * @param properties - The name of the properties that should appear in the object. + * @internal + */ +export function isObjectWithProperties( + thing: Thing, + properties: PropertyName[] +): thing is Thing & Record { + if (!isDefined(thing) || typeof thing !== "object") { + return false; + } + + for (const property of properties) { + if (!objectHasProperty(thing, property)) { + return false; + } + } + + return true; +} diff --git a/sdk/monitor/monitor-query/swagger/logquery.md b/sdk/monitor/monitor-query/swagger/logquery.md index 178d972b0a57..732e44f414db 100644 --- a/sdk/monitor/monitor-query/swagger/logquery.md +++ b/sdk/monitor/monitor-query/swagger/logquery.md @@ -8,7 +8,7 @@ input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/preview/2021-05-19_Preview/OperationalInsights.json output-folder: ../src/generated/logquery package-name: "monitor-log-query" -package-version: "1.0.0-beta.4" +package-version: "1.0.0-beta.5" clear-output-folder: true generate-metadata: false add-credentials: false @@ -22,3 +22,18 @@ hide-clients: true v3: true typescript: true ``` + +## Customizations for Track 2 Generator + +See the [AutoRest samples](https://github.com/Azure/autorest/tree/master/Samples/3b-custom-transformations) +for more about how we're customizing things. + +### ErrorInfo - renaming `errorinfo` property name to `errorInfo` + +```yaml +directive: + - from: swagger-document + where: $.definitions.errorInfo + transform: > + $.properties.innererror["x-ms-client-name"] = "innerError"; +``` diff --git a/sdk/monitor/monitor-query/swagger/metric-definitions.md b/sdk/monitor/monitor-query/swagger/metric-definitions.md index 5ef11f2bd3a3..5e1af02dc750 100644 --- a/sdk/monitor/monitor-query/swagger/metric-definitions.md +++ b/sdk/monitor/monitor-query/swagger/metric-definitions.md @@ -9,7 +9,7 @@ input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/ service-name: MetricsDefinitions output-folder: ../src/generated/metricsdefinitions package-name: "monitor-metrics-definitions" -package-version: "1.0.0-beta.4" +package-version: "1.0.0-beta.5" clear-output-folder: true generate-metadata: false add-credentials: false diff --git a/sdk/monitor/monitor-query/swagger/metric-namespaces.md b/sdk/monitor/monitor-query/swagger/metric-namespaces.md index f5af68e091cf..99bb34b7b434 100644 --- a/sdk/monitor/monitor-query/swagger/metric-namespaces.md +++ b/sdk/monitor/monitor-query/swagger/metric-namespaces.md @@ -8,7 +8,7 @@ input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json output-folder: ../src/generated/metricsnamespaces package-name: "monitor-metrics-namespaces" -package-version: "1.0.0-beta.4" +package-version: "1.0.0-beta.5" clear-output-folder: true generate-metadata: false add-credentials: false diff --git a/sdk/monitor/monitor-query/swagger/metrics.md b/sdk/monitor/monitor-query/swagger/metrics.md index 93cfae129fa7..66319e68eeb8 100644 --- a/sdk/monitor/monitor-query/swagger/metrics.md +++ b/sdk/monitor/monitor-query/swagger/metrics.md @@ -8,7 +8,7 @@ input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json output-folder: ../src/generated/metrics package-name: "monitor-metrics" -package-version: "1.0.0-beta.4" +package-version: "1.0.0-beta.5" clear-output-folder: true generate-metadata: false add-credentials: false diff --git a/sdk/monitor/monitor-query/test/internal/unit/logsQueryClient.unittest.spec.ts b/sdk/monitor/monitor-query/test/internal/unit/logsQueryClient.unittest.spec.ts index 2b488942dfb9..4b3f0def9eed 100644 --- a/sdk/monitor/monitor-query/test/internal/unit/logsQueryClient.unittest.spec.ts +++ b/sdk/monitor/monitor-query/test/internal/unit/logsQueryClient.unittest.spec.ts @@ -30,14 +30,16 @@ describe("LogsQueryClient unit tests", () => { const client = new LogsQueryClient(tokenCredential, { endpoint: "https://customEndpoint1", - scopes: "https://customscopes1/" + credentialOptions: { + credentialScopes: "https://customscopes1/" + } }); assert.equal(client["_logAnalytics"].$host, "https://customEndpoint1"); assert.equal(client["_logAnalytics"]["_baseUri"], "https://customEndpoint1"); try { - await client.queryLogs("workspaceId", "query", Durations.last5Minutes); + await client.query("workspaceId", "query", { duration: Durations.FiveMinutes }); assert.fail("Should have thrown"); } catch (err) { assert.deepNestedInclude(err, { diff --git a/sdk/monitor/monitor-query/test/internal/unit/modelConverters.unittest.spec.ts b/sdk/monitor/monitor-query/test/internal/unit/modelConverters.unittest.spec.ts index 57b05f26f07a..9030dffdc453 100644 --- a/sdk/monitor/monitor-query/test/internal/unit/modelConverters.unittest.spec.ts +++ b/sdk/monitor/monitor-query/test/internal/unit/modelConverters.unittest.spec.ts @@ -16,8 +16,7 @@ import { convertRequestOptionsForMetricsDefinitions, convertRequestForMetrics, convertResponseForMetrics, - convertResponseForMetricsDefinitions, - convertResponseForMetricNamespaces + convertResponseForMetricsDefinitions } from "../../../src/internal/modelConverters"; import { OperationRequestOptions, @@ -25,28 +24,19 @@ import { SerializerOptions } from "@azure/core-client"; import { OperationTracingOptions } from "@azure/core-tracing"; -import { - Durations, - GetMetricDefinitionsResult, - GetMetricNamespacesResult, - GetMetricDefinitionsOptions, - QueryMetricsOptions, - QueryMetricsResult -} from "../../../src"; +import { Durations, ListMetricDefinitionsOptions, MetricsQueryOptions } from "../../../src"; import { AbortSignalLike } from "@azure/abort-controller"; describe("Model unit tests", () => { describe("LogsClient", () => { it("convertToBatchRequest (simple)", () => { - const generatedRequest = convertRequestForQueryBatch({ - queries: [ - { - query: "the kusto query", - workspaceId: "the primary workspace id", - timespan: Durations.last24Hours - } - ] - }); + const generatedRequest = convertRequestForQueryBatch([ + { + query: "the kusto query", + workspaceId: "the primary workspace id", + timespan: { duration: Durations.TwentyFourHours } + } + ]); assert.deepEqual(generatedRequest, { requests: [ @@ -55,9 +45,8 @@ describe("Model unit tests", () => { workspace: "the primary workspace id", headers: undefined, body: { - workspaces: undefined, query: "the kusto query", - timespan: Durations.last24Hours + timespan: Durations.TwentyFourHours } } ] @@ -65,28 +54,21 @@ describe("Model unit tests", () => { }); it("convertToBatchRequest (complex)", () => { - const generatedRequest = convertRequestForQueryBatch( + const generatedRequest = convertRequestForQueryBatch([ { - queries: [ - { - query: "", - workspaceId: "", - timespan: Durations.last24Hours - }, - { - query: "the kusto query", - timespan: Durations.last5Minutes, - workspaceId: "the primary workspace id" - } - ] + query: "", + workspaceId: "", + timespan: { duration: Durations.TwentyFourHours } }, { + query: "the kusto query", + timespan: { duration: Durations.FiveMinutes }, + workspaceId: "the primary workspace id", includeQueryStatistics: true, serverTimeoutInSeconds: 100, additionalWorkspaces: ["additionalWorkspace", "resourceId1"] } - ); - + ]); assert.deepEqual(generatedRequest.requests?.[1], { body: { workspaces: ["additionalWorkspace", "resourceId1"], @@ -113,30 +95,30 @@ describe("Model unit tests", () => { const onResponse = {} as RawResponseCallback; // (Required just to make sure I don't forget a field) - const track2Model: Required = { + const track2Model: Required = { abortSignal, - aggregations: ["agg1", "agg2"], + aggregations: ["Average", "Maximum"], filter: "arbitraryFilter", - interval: "arbitraryInterval", - metricNames: ["name1", "name2"], + granularity: "arbitraryInterval", metricNamespace: "myMetricNamespace", orderBy: "orderByClause", requestOptions, resultType: "Data", top: 10, + timespan: { duration: "P20H" }, tracingOptions, serializerOptions, onResponse }; const actualMetricsRequest: GeneratedMetricsListOptionalParams = convertRequestForMetrics( - "arbitraryTimespan", + ["name1", "name2"], track2Model ); const expectedMetricsRequest: GeneratedMetricsListOptionalParams = { abortSignal, - aggregation: "agg1,agg2", + aggregation: "Average,Maximum", filter: "arbitraryFilter", interval: "arbitraryInterval", metricnames: "name1,name2", @@ -144,7 +126,7 @@ describe("Model unit tests", () => { orderby: "orderByClause", requestOptions, resultType: "Data", - timespan: "arbitraryTimespan", + timespan: "P20H", top: 10, tracingOptions, serializerOptions, @@ -155,11 +137,8 @@ describe("Model unit tests", () => { }); it("convertRequestForMetrics (only required fields)", () => { - assert.deepEqual(convertRequestForMetrics(Durations.lastDay, undefined), { - timespan: Durations.lastDay - }); - assert.deepEqual(convertRequestForMetrics(Durations.last2Days, {}), { - timespan: Durations.last2Days + assert.deepEqual(convertRequestForMetrics(["SuccessfulCalls", "TotalCalls"], {}), { + metricnames: "SuccessfulCalls,TotalCalls" }); }); @@ -168,7 +147,7 @@ describe("Model unit tests", () => { const generatedResponse: Required = { // all of these fields are just copied over verbatim... - timespan: "aTimespan", + timespan: "P10H", value: [ { id: "fakeMetric", @@ -213,12 +192,12 @@ describe("Model unit tests", () => { }; const actualConvertedResponse = convertResponseForMetrics(generatedResponse); - const expectedResponse: QueryMetricsResult = { - timespan: "aTimespan", + const expectedResponse = { + timespan: { duration: "P10H" }, metrics: [ { id: "fakeMetric", - displayDescription: "displayDescription", + description: "displayDescription", errorCode: "anErrorCode", name: "fakeValue", timeseries: [ @@ -247,13 +226,15 @@ describe("Model unit tests", () => { } ], cost: 100, - interval: "anInterval", + granularity: "anInterval", namespace: "aNamespace", resourceRegion: "aResourceRegion" // NOTE: _response is not returned as part of our track 2 response. }; - assert.deepEqual(actualConvertedResponse, expectedResponse); + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { getMetricByName, ...rest } = actualConvertedResponse; + assert.deepEqual({ ...rest }, expectedResponse); }); it("convertRequestOptionsForMetricsDefinitions (all fields)", () => { @@ -263,7 +244,7 @@ describe("Model unit tests", () => { const serializerOptions = {} as SerializerOptions; const onResponse = {} as RawResponseCallback; - const track2: Required = { + const track2: Required = { abortSignal, requestOptions, tracingOptions, @@ -292,68 +273,60 @@ describe("Model unit tests", () => { }); it("convertResponseForMetricsDefinitions", () => { - const actualResponse = convertResponseForMetricsDefinitions({ - value: [ - { - dimensions: [ - { - value: "the value", - localizedValue: "optional localized value but it's ignored" - } - ], - name: { - value: "the name" - }, - id: "anything" - } - ] - }); - - assert.deepEqual( - { - definitions: [ + const actualResponse = convertResponseForMetricsDefinitions([ + { + dimensions: [ { - id: "anything", - name: "the name", - dimensions: ["the value"] + value: "the value", + localizedValue: "optional localized value but it's ignored" } - ] - }, + ], + name: { + value: "the name" + }, + id: "anything" + } + ]); + + assert.deepEqual( + [ + { + id: "anything", + name: "the name", + dimensions: ["the value"] + } + ], actualResponse ); }); it("convertResponseForMetricsDefinitions (optional fields removed)", () => { - const actualResponse = convertResponseForMetricsDefinitions({ - value: [ + const actualResponse = convertResponseForMetricsDefinitions([ + { + id: "anything" + } + ]); + + assert.deepEqual( + [ + // we don't add fields if they weren't in the original response (for instance, we don't add in an + // undefined 'name', or 'dimensions') { id: "anything" } - ] - }); - - assert.deepEqual( - { - definitions: [ - // we don't add fields if they weren't in the original response (for instance, we don't add in an - // undefined 'name', or 'dimensions') - { - id: "anything" - } - ] - }, + ], actualResponse ); }); - it("convertResponseForMetricNamespaces", () => { - const actualResponse = convertResponseForMetricNamespaces({ - value: [{ id: "anything" } as any] - }); + // it("convertResponseForMetricNamespaces", () => { + // const actualResponse = convertResponseForMetricNamespaces({ + // value: [{ id: "anything" } as any] + // }); - assert.deepEqual(actualResponse, { - namespaces: [{ id: "anything" } as any] - }); - }); + // assert.deepEqual(actualResponse, { + // namespaces: [{ id: "anything" } as any] + // }); + // }); }); }); diff --git a/sdk/monitor/monitor-query/test/public/logsQueryClient.spec.ts b/sdk/monitor/monitor-query/test/public/logsQueryClient.spec.ts index 5ba8e8e49619..fa9dc4d1f6a0 100644 --- a/sdk/monitor/monitor-query/test/public/logsQueryClient.spec.ts +++ b/sdk/monitor/monitor-query/test/public/logsQueryClient.spec.ts @@ -5,7 +5,7 @@ import { assert } from "chai"; import { Context } from "mocha"; import { env } from "process"; -import { QueryLogsBatch, Durations, LogsQueryClient } from "../../src"; +import { Durations, LogsQueryClient, QueryBatch } from "../../src"; import { runWithTelemetry } from "../setupOpenTelemetry"; import { @@ -38,7 +38,9 @@ describe("LogsQueryClient live tests", function() { try { // TODO: there is an error details in the query, but when I run an invalid query it // throws (and ErrorDetails are just present in the exception.) - await createClient().queryLogs(monitorWorkspaceId, kustoQuery, Durations.lastDay); + await createClient().query(monitorWorkspaceId, kustoQuery, { + duration: Durations.OneDay + }); assert.fail("Should have thrown an exception"); } catch (err) { // eslint-disable-next-line @typescript-eslint/no-unused-vars -- eslint doesn't recognize that the extracted variables are prefixed with '_' and are purposefully unused. @@ -78,11 +80,13 @@ describe("LogsQueryClient live tests", function() { // query has timed out on purpose. it("serverTimeoutInSeconds", async () => { try { - await createClient({ maxRetries: 0, retryDelayInMs: 0, maxRetryDelayInMs: 0 }).queryLogs( + await createClient({ maxRetries: 0, retryDelayInMs: 0, maxRetryDelayInMs: 0 }).query( monitorWorkspaceId, // slow query suggested by Pavel. "range x from 1 to 10000000000 step 1 | count", - Durations.last24Hours, + { + duration: Durations.TwentyFourHours + }, { // the query above easily takes longer than 1 second. serverTimeoutInSeconds: 1 @@ -119,10 +123,12 @@ describe("LogsQueryClient live tests", function() { }); it("includeQueryStatistics", async () => { - const results = await createClient().queryLogs( + const results = await createClient().query( monitorWorkspaceId, "AppEvents | limit 1", - Durations.last24Hours, + { + duration: Durations.TwentyFourHours + }, { includeQueryStatistics: true } @@ -131,14 +137,16 @@ describe("LogsQueryClient live tests", function() { // TODO: statistics are not currently modeled in the generated code but // the executionTime field is pretty useful. assert.isOk(results.statistics); - assert.isNumber(results.statistics?.query?.executionTime); + assert.isNumber((results.statistics?.query as any)?.executionTime); }); it("includeRender/includeVisualization", async () => { - const results = await createClient().queryLogs( + const results = await createClient().query( monitorWorkspaceId, `datatable (s: string, i: long) [ "a", 1, "b", 2, "c", 3 ] | render columnchart with (title="the chart title", xtitle="the x axis title")`, - Durations.last24Hours, + { + duration: Durations.TwentyFourHours + }, { includeVisualization: true } @@ -166,11 +174,9 @@ describe("LogsQueryClient live tests", function() { dynamiccolumn=print_6 `; - const results = await createClient().queryLogs( - monitorWorkspaceId, - constantsQuery, - Durations.last5Minutes - ); + const results = await createClient().query(monitorWorkspaceId, constantsQuery, { + duration: Durations.FiveMinutes + }); const table = results.tables[0]; @@ -206,7 +212,7 @@ describe("LogsQueryClient live tests", function() { type: "dynamic" } ], - table.columns + table.columnDescriptors ); table.rows.map((rowValues) => { @@ -250,24 +256,29 @@ describe("LogsQueryClient live tests", function() { dynamiccolumn=print_6 `; - const result = await createClient().queryLogsBatch({ - queries: [ - { - workspaceId: monitorWorkspaceId, - query: constantsQuery, - timespan: Durations.last5Minutes - } - ] - }); + const result = await createClient().queryBatch([ + { + workspaceId: monitorWorkspaceId, + query: constantsQuery, + timespan: { duration: Durations.FiveMinutes } + } + ]); if ((result as any)["__fixApplied"]) { console.log(`TODO: Fix was required to pass`); } const table = result.results?.[0].tables?.[0]; + console.log(JSON.stringify(result.results?.[0].tables)); if (table == null) { - throw new Error("No table returned for query"); + throw new Error(JSON.stringify(result.results?.[0].error)); + } + + if (result.results?.[0].status === "Partial") { + throw new Error( + JSON.stringify({ ...result.results?.[0].error, ...result.results?.[0].tables }) + ); } // check the column types all match what we expect. @@ -302,7 +313,7 @@ describe("LogsQueryClient live tests", function() { type: "dynamic" } ], - table.columns + table.columnDescriptors ); table.rows.map((rowValues) => { @@ -334,7 +345,7 @@ describe("LogsQueryClient live tests", function() { }); }); - describe("Ingested data tests (can be slow due to loading times)", () => { + describe.skip("Ingested data tests (can be slow due to loading times)", () => { before(async function(this: Context) { if (env.TEST_RUN_ID) { loggerForTest.warning(`Using cached test run ID ${env.TEST_RUN_ID}`); @@ -369,11 +380,9 @@ describe("LogsQueryClient live tests", function() { it("queryLogs (last day)", async () => { const kustoQuery = `AppDependencies | where Properties['testRunId'] == '${testRunId}'| project Kind=Properties["kind"], Name, Target, TestRunId=Properties['testRunId']`; - const singleQueryLogsResult = await createClient().queryLogs( - monitorWorkspaceId, - kustoQuery, - Durations.lastDay - ); + const singleQueryLogsResult = await createClient().query(monitorWorkspaceId, kustoQuery, { + duration: Durations.OneDay + }); // TODO: the actual types aren't being deserialized (everything is coming back as 'string') // this is incorrect, it'll be updated. @@ -390,25 +399,22 @@ describe("LogsQueryClient live tests", function() { }); it("queryLogsBatch", async () => { - const batchRequest: QueryLogsBatch = { - queries: [ - { - workspaceId: monitorWorkspaceId, - query: `AppDependencies | where Properties['testRunId'] == '${testRunId}'| project Kind=Properties["kind"], Name, Target, TestRunId=Properties['testRunId']`, - timespan: Durations.last24Hours - }, - { - workspaceId: monitorWorkspaceId, - query: `AppDependencies| count`, - timespan: Durations.last24Hours - } - ] - }; - - const result = await createClient().queryLogsBatch(batchRequest, { - includeQueryStatistics: true, - serverTimeoutInSeconds: 60 * 10 - }); + const batchRequest: QueryBatch[] = [ + { + workspaceId: monitorWorkspaceId, + query: `AppDependencies | where Properties['testRunId'] == '${testRunId}'| project Kind=Properties["kind"], Name, Target, TestRunId=Properties['testRunId']`, + timespan: { duration: Durations.TwentyFourHours } + }, + { + workspaceId: monitorWorkspaceId, + query: `AppDependencies | where Properties['testRunId'] == '${testRunId}' | count`, + timespan: { duration: Durations.TwentyFourHours }, + includeQueryStatistics: true, + serverTimeoutInSeconds: 60 * 10 + } + ]; + + const result = await createClient().queryBatch(batchRequest); if ((result as any)["__fixApplied"]) { console.log(`TODO: Fix was required to pass`); @@ -450,7 +456,9 @@ describe("LogsQueryClient live tests", function() { const client = createClient(); for (let i = 0; i < args.maxTries; ++i) { - const result = await client.queryLogs(monitorWorkspaceId, query, Durations.last24Hours); + const result = await client.query(monitorWorkspaceId, query, { + duration: Durations.TwentyFourHours + }); const numRows = result.tables?.[0].rows?.length; @@ -486,8 +494,8 @@ function getInnermostErrorDetails(thrownError: any): undefined | ErrorInfo { let errorInfo: ErrorInfo = thrownError.details.error; - while (errorInfo.innererror) { - errorInfo = errorInfo.innererror; + while (errorInfo.innerError) { + errorInfo = errorInfo.innerError; } return errorInfo; diff --git a/sdk/monitor/monitor-query/test/public/metricsQueryClient.spec.ts b/sdk/monitor/monitor-query/test/public/metricsQueryClient.spec.ts index 90c0e203c854..abc451b8240a 100644 --- a/sdk/monitor/monitor-query/test/public/metricsQueryClient.spec.ts +++ b/sdk/monitor/monitor-query/test/public/metricsQueryClient.spec.ts @@ -17,56 +17,58 @@ describe("MetricsClient live tests", function() { }); it("getMetricDefinitions -> queryMetrics", async () => { - const metricDefinitions = await metricsQueryClient.getMetricDefinitions(resourceId); - assert.isNotEmpty(metricDefinitions.definitions); - - // you can only query 20 metrics at a time. - for (const definition of metricDefinitions.definitions) { - const result = await metricsQueryClient.queryMetrics(resourceId, Durations.last24Hours, { - metricNames: [definition.name || ""] - }); - - assert.ok(result); - assert.ok(result.interval); - assert.isNotEmpty(result.metrics); + const iter = metricsQueryClient.listMetricDefinitions(resourceId); + + let result = await iter.next(); + assert.isNotEmpty(result); + const firstMetricDefinition = result.value; + let metricDefinitionsLength = 0; + while (!result.done) { + // you can only query 20 metrics at a time. + const resultQuery = await metricsQueryClient.query(resourceId, [result.value.name || ""], {}); + assert(resultQuery); + assert(resultQuery.granularity); + assert.isNotEmpty(resultQuery.metrics); + result = await iter.next(); + metricDefinitionsLength++; } - // do a quick run through of all the individual metrics, in groups of 20 - // which is the max. - for (let i = 0; i < metricDefinitions.definitions.length; i += 20) { - const definitionNames = metricDefinitions.definitions - .slice(i, i + 20) - // TODO: I think the 'name' being optional is incorrect in the swagger - // but just in case I'll check until we fix it. - .map((definition) => definition.name!); + const metricDefinitions = iter; + let i = 0; + let definitionNames: Array = []; - for (const definitionName of definitionNames) { - if (definitionName == null) { - throw new Error("Definition name for a metric was undefined/null"); - } + for await (const metricDefinition of metricDefinitions) { + if (i % 20 === 0) { + definitionNames = []; + } + if (metricDefinition.name == null) { + throw new Error("Definition name for a metric was undefined/null"); + } + definitionNames.push(metricDefinition.name); + + i++; + if (i % 20 === 0 || i === metricDefinitionsLength) { + const newResults = await metricsQueryClient.query(resourceId, definitionNames, { + timespan: { + duration: Durations.TwentyFourHours + } + }); + assert.ok(newResults); + assert.isNotEmpty(newResults.metrics); } - - const newResults = await metricsQueryClient.queryMetrics(resourceId, Durations.last24Hours, { - metricNames: definitionNames - }); - - assert.ok(newResults); - assert.isNotEmpty(newResults.metrics); } // pick the first query and use the namespace as well. - const firstMetricDefinition = metricDefinitions.definitions[0]; - assert.isNotNull(firstMetricDefinition); assert.isNotEmpty(firstMetricDefinition.name); assert.isNotEmpty(firstMetricDefinition.namespace); - const individualMetricWithNamespace = metricsQueryClient.queryMetrics( + const individualMetricWithNamespace = metricsQueryClient.query( resourceId, - Durations.last24Hours, + [firstMetricDefinition.name!], { - metricNames: [firstMetricDefinition.name!], + timespan: { duration: Durations.TwentyFourHours }, metricNamespace: firstMetricDefinition.namespace } ); @@ -75,11 +77,11 @@ describe("MetricsClient live tests", function() { }); it("listNamespaces", async () => { - const result = await metricsQueryClient.getMetricNamespaces(resourceId); + const result = metricsQueryClient.listMetricNamespaces(resourceId); assert.ok(result); }); it("listDefinitions", async () => { - const result = await metricsQueryClient.getMetricDefinitions(resourceId); + const result = metricsQueryClient.listMetricDefinitions(resourceId); assert.ok(result); }); }); diff --git a/sdk/monitor/monitor-query/test/public/shared/testShared.ts b/sdk/monitor/monitor-query/test/public/shared/testShared.ts index b94f49cba7dd..ba6aba2bac17 100644 --- a/sdk/monitor/monitor-query/test/public/shared/testShared.ts +++ b/sdk/monitor/monitor-query/test/public/shared/testShared.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { ClientSecretCredential } from "@azure/identity"; -import { env, record, Recorder, isPlaybackMode } from "@azure/test-utils-recorder"; +import { env, record, Recorder, isPlaybackMode } from "@azure-tools/test-recorder"; import * as assert from "assert"; import { Context } from "mocha"; import { createClientLogger } from "@azure/logger"; @@ -100,7 +100,7 @@ export function getMetricsArmResourceId( export function getAppInsightsConnectionString(mochaContext: Pick): string { let appInsightsConnectionString = getRequiredEnvVar( mochaContext, - "APPLICATIONINSIGHTS_CONNECTION_STRING" + "MQ_APPLICATIONINSIGHTS_CONNECTION_STRING" ); // TODO: this is a workaround for now - adding in an endpoint causes the Monitor endpoint to return a 308 (ie: permanent redirect) @@ -126,7 +126,9 @@ function getRequiredEnvVar(mochaContext: Pick, variableName: st export function printLogQueryTables(tables: LogsTable[]): void { for (const table of tables) { - const columnHeaderString = table.columns.map((c) => `${c.name}(${c.type}) `).join("| "); + const columnHeaderString = table.columnDescriptors + .map((c) => `${c.name}(${c.type}) `) + .join("| "); console.log(columnHeaderString); for (const row of table.rows) { @@ -153,7 +155,7 @@ export function assertQueryTable( { name: table.name, rows: table.rows, - columns: table.columns.map((c) => c.name) + columns: table.columnDescriptors.map((c) => c.name) }, expectedTable, `${message}: tables weren't equal` diff --git a/sdk/monitor/test-resources.json b/sdk/monitor/test-resources.json index 8457dc138db3..d3e0fd8fdbff 100644 --- a/sdk/monitor/test-resources.json +++ b/sdk/monitor/test-resources.json @@ -35,9 +35,14 @@ "name": "[parameters('baseName')]", "type": "Microsoft.Insights/components", "location": "[parameters('location')]", - "apiVersion": "2015-05-01", + "apiVersion": "2020-02-02", + "kind": "web", "properties": { - "Application_Type": "other" + "Application_Type": "web", + "WorkspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces', variables('workspaceName'))]", + "IngestionMode": "LogAnalytics", + "publicNetworkAccessForIngestion": "Enabled", + "publicNetworkAccessForQuery": "Enabled" } }, { @@ -129,6 +134,10 @@ "APPLICATIONINSIGHTS_CONNECTION_STRING": { "value": "[reference(resourceId('Microsoft.Insights/components', variables('appInsightsName')), '2015-05-01').ConnectionString]", "type": "string" + }, + "MQ_APPLICATIONINSIGHTS_CONNECTION_STRING": { + "value": "[reference(resourceId('Microsoft.Insights/components', parameters('baseName')), '2015-05-01').ConnectionString]", + "type": "string" } } } diff --git a/sdk/msi/arm-msi/README.md b/sdk/msi/arm-msi/README.md index c3f9cb728ff3..471ec60ee88c 100644 --- a/sdk/msi/arm-msi/README.md +++ b/sdk/msi/arm-msi/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ManagedServiceIdentityClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/mysql/arm-mysql/README.md b/sdk/mysql/arm-mysql/README.md index 9c51be4833fe..b91b24c6587b 100644 --- a/sdk/mysql/arm-mysql/README.md +++ b/sdk/mysql/arm-mysql/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MySQLManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/network/arm-network-profile-2019-03-01-hybrid/README.md b/sdk/network/arm-network-profile-2019-03-01-hybrid/README.md index 076cfd4d120d..30f683d3bec7 100644 --- a/sdk/network/arm-network-profile-2019-03-01-hybrid/README.md +++ b/sdk/network/arm-network-profile-2019-03-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for NetworkManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/network/arm-network-profile-2020-09-01-hybrid/README.md b/sdk/network/arm-network-profile-2020-09-01-hybrid/README.md index 046cb52643b3..ec3d1c09b325 100644 --- a/sdk/network/arm-network-profile-2020-09-01-hybrid/README.md +++ b/sdk/network/arm-network-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for NetworkManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/network/arm-network/CHANGELOG.md b/sdk/network/arm-network/CHANGELOG.md index bb7a8a1f208e..8b0435db0f44 100644 --- a/sdk/network/arm-network/CHANGELOG.md +++ b/sdk/network/arm-network/CHANGELOG.md @@ -1,3 +1,75 @@ +# Release History + +## 30.0.0-beta.4 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.3 (2021-09-08) + +**Features** + + - Added operation group ServiceTagInformationOperations + - Added operation BastionHosts.beginUpdateTags + - Added operation BastionHosts.beginUpdateTagsAndWait + - Added Interface ApplicationGatewayGlobalConfiguration + - Added Interface BastionHostsUpdateTagsOptionalParams + - Added Interface ExplicitProxySettings + - Added Interface FirewallPolicySQL + - Added Interface PrivateEndpointIPConfiguration + - Added Interface QosDefinition + - Added Interface ServiceTagInformationListResult + - Added Interface ServiceTagInformationOperationsListNextOptionalParams + - Added Interface ServiceTagInformationOperationsListOptionalParams + - Added Type Alias ApplicationGatewayLoadDistributionAlgorithm + - Added Type Alias ApplicationGatewayLoadDistributionPolicy + - Added Type Alias ApplicationGatewayLoadDistributionTarget + - Added Type Alias BastionHostsUpdateTagsResponse + - Added Type Alias ServiceTagInformationOperationsListNextResponse + - Added Type Alias ServiceTagInformationOperationsListResponse + - Interface ServiceTagInformation has a new optional parameter serviceTagChangeNumber + - Interface VnetRoute has a new optional parameter bgpConnections + - Class NetworkManagementClient has a new parameter serviceTagInformationOperations + - Type Alias ApplicationGateway has a new parameter loadDistributionPolicies + - Type Alias ApplicationGateway has a new parameter globalConfiguration + - Type Alias ApplicationGatewayPathRule has a new parameter loadDistributionPolicy + - Type Alias ApplicationGatewayRequestRoutingRule has a new parameter loadDistributionPolicy + - Type Alias ApplicationGatewayUrlPathMap has a new parameter defaultLoadDistributionPolicy + - Type Alias BastionHost has a new parameter scaleUnits + - Type Alias BastionHost has a new parameter disableCopyPaste + - Type Alias BastionHost has a new parameter enableFileCopy + - Type Alias BastionHost has a new parameter enableIpConnect + - Type Alias BastionHost has a new parameter enableShareableLink + - Type Alias BastionHost has a new parameter enableTunneling + - Type Alias BgpConnection has a new parameter hubVirtualNetworkConnection + - Type Alias DscpConfiguration has a new parameter qosDefinitionCollection + - Type Alias FirewallPolicy has a new parameter sql + - Type Alias FirewallPolicy has a new parameter explicitProxySettings + - Type Alias InboundNatRule has a new parameter frontendPortRangeStart + - Type Alias InboundNatRule has a new parameter frontendPortRangeEnd + - Type Alias InboundNatRule has a new parameter backendAddressPool + - Type Alias NetworkVirtualAppliance has a new parameter sshPublicKey + - Type Alias PrivateEndpoint has a new parameter applicationSecurityGroups + - Type Alias PrivateEndpoint has a new parameter ipConfigurations + - Type Alias PrivateEndpoint has a new parameter customNetworkInterfaceName + - Type Alias ServiceEndpointPolicy has a new parameter serviceAlias + - Type Alias ServiceEndpointPolicy has a new parameter contextualServiceEndpointPolicies + - Type Alias ServiceEndpointPolicyDefinition has a new parameter type + - Type Alias VirtualHub has a new parameter kind + - Type Alias VpnGateway has a new parameter enableBgpRouteTranslationForNat + - Added Enum KnownApplicationGatewayLoadDistributionAlgorithm + +## 30.0.0-beta.2 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + ## 30.0.0-beta.1 (2021-07-15) This is the first preview for the new version of the `@azure/arm-network` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. diff --git a/sdk/network/arm-network/README.md b/sdk/network/arm-network/README.md index 0805d12e2d3e..980eb7b8dee6 100644 --- a/sdk/network/arm-network/README.md +++ b/sdk/network/arm-network/README.md @@ -4,7 +4,7 @@ This package contains an isomorphic SDK (runs both in Node.js and in browsers) f Network Client -[Source code](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/network/arm-network) | +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/network/arm-network) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-network) | [API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-network) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) @@ -41,13 +41,15 @@ You can authenticate with Azure Active Directory using the [Azure Identity libra npm install @azure/identity ``` -You will also need to register a new AAD application and grant access to Azure NetworkManagement by assigning the suitable role to your service principal (note: roles such as `"Owner"` will not grant the necessary permissions). +You will also need to **register a new AAD application and grant access to Azure NetworkManagement** 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 { NetworkManagementClient } = require("@azure/arm-network"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new NetworkManagementClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new NetworkManagementClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts @@ -63,11 +65,11 @@ const client = new NetworkManagementClient("", new DefaultAzureCredent 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 -import { setLogLevel } from "@azure/logger"; +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/master/sdk/core/logger). +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 @@ -75,7 +77,7 @@ Please take a look at the [samples](https://github.com/Azure-Samples/azure-sampl ## Contributing -If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/master/CONTRIBUTING.md) to learn more about how to build and test the code. +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 @@ -87,5 +89,5 @@ If you'd like to contribute to this library, please read the [contributing guide [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/master/sdk/identity/identity -[defaultazurecredential]: https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/identity/identity#defaultazurecredential +[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/network/arm-network/_meta.json b/sdk/network/arm-network/_meta.json index 20ef969e0a1c..08bc5bd2c926 100644 --- a/sdk/network/arm-network/_meta.json +++ b/sdk/network/arm-network/_meta.json @@ -1,7 +1,7 @@ { - "commit": "67a9b5cfd758cc34df44aeca888d72418a482a03", + "commit": "5959573493896aef20e9b37df09c527fd7f08bbb", "readme": "specification/network/resource-manager/readme.md", - "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=E:\\projects\\azure-sdk-for-js ../azure-rest-api-specs/specification/network/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.7", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/network/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.12", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "use": "@autorest/typescript@6.0.0-beta.7" + "use": "@autorest/typescript@6.0.0-beta.12" } \ No newline at end of file diff --git a/sdk/network/arm-network/api-extractor.json b/sdk/network/arm-network/api-extractor.json index 5fb5b21b56f2..ae508f06bf46 100644 --- a/sdk/network/arm-network/api-extractor.json +++ b/sdk/network/arm-network/api-extractor.json @@ -1,12 +1,12 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "./esm/index.d.ts", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", "docModel": { "enabled": true }, "apiReport": { "enabled": true, "reportFolder": "./review" }, "dtsRollup": { "enabled": true, "untrimmedFilePath": "", - "publicTrimmedFilePath": "./esm/index.d.ts" + "publicTrimmedFilePath": "./types/arm-network.d.ts" }, "messages": { "tsdocMessageReporting": { "default": { "logLevel": "none" } }, diff --git a/sdk/network/arm-network/package.json b/sdk/network/arm-network/package.json index 54754e1b0b98..911488f3b36e 100644 --- a/sdk/network/arm-network/package.json +++ b/sdk/network/arm-network/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for NetworkManagementClient.", - "version": "30.0.0-beta.1", + "version": "30.0.0-beta.4", "engines": { "node": ">=12.0.0" }, @@ -25,8 +25,8 @@ ], "license": "MIT", "main": "./dist/index.js", - "module": "./esm/index.js", - "types": "./esm/index.d.ts", + "module": "./dist-esm/index.js", + "types": "./types/arm-network.d.ts", "devDependencies": { "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", @@ -36,7 +36,6 @@ "mkdirp": "^1.0.4", "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", - "rollup-plugin-node-resolve": "^3.4.0", "typescript": "~4.2.0", "uglify-js": "^3.4.9" }, @@ -53,24 +52,25 @@ "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.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" + "CHANGELOG.md", + "types/*" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify && mkdirp ./review && npm run extract-api", + "build": "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": "mkdirp ./review && api-extractor run --local", + "extract-api": "api-extractor run --local", "lint": "echo skipped", "audit": "echo skipped", "clean": "echo skipped", diff --git a/sdk/network/arm-network/review/arm-network.api.md b/sdk/network/arm-network/review/arm-network.api.md index 4aa942f601f1..32c1145a8617 100644 --- a/sdk/network/arm-network/review/arm-network.api.md +++ b/sdk/network/arm-network/review/arm-network.api.md @@ -60,6 +60,8 @@ export type ApplicationGateway = Resource & { readonly provisioningState?: ProvisioningState; customErrorConfigurations?: ApplicationGatewayCustomError[]; forceFirewallPolicyAssociation?: boolean; + loadDistributionPolicies?: ApplicationGatewayLoadDistributionPolicy[]; + globalConfiguration?: ApplicationGatewayGlobalConfiguration; }; // @public @@ -249,6 +251,12 @@ export type ApplicationGatewayFrontendPort = SubResource & { readonly provisioningState?: ProvisioningState; }; +// @public +export interface ApplicationGatewayGlobalConfiguration { + enableRequestBuffering?: boolean; + enableResponseBuffering?: boolean; +} + // @public export interface ApplicationGatewayHeaderConfiguration { headerName?: string; @@ -288,6 +296,28 @@ export interface ApplicationGatewayListResult { value?: ApplicationGateway[]; } +// @public +export type ApplicationGatewayLoadDistributionAlgorithm = string; + +// @public +export type ApplicationGatewayLoadDistributionPolicy = SubResource & { + name?: string; + readonly etag?: string; + readonly type?: string; + loadDistributionTargets?: ApplicationGatewayLoadDistributionTarget[]; + loadDistributionAlgorithm?: ApplicationGatewayLoadDistributionAlgorithm; + readonly provisioningState?: ProvisioningState; +}; + +// @public +export type ApplicationGatewayLoadDistributionTarget = SubResource & { + name?: string; + readonly etag?: string; + readonly type?: string; + weightPerServer?: number; + backendAddressPool?: SubResource; +}; + // @public export interface ApplicationGatewayOnDemandProbe { backendAddressPool?: SubResource; @@ -313,6 +343,7 @@ export type ApplicationGatewayPathRule = SubResource & { backendHttpSettings?: SubResource; redirectConfiguration?: SubResource; rewriteRuleSet?: SubResource; + loadDistributionPolicy?: SubResource; readonly provisioningState?: ProvisioningState; firewallPolicy?: SubResource; }; @@ -494,6 +525,7 @@ export type ApplicationGatewayRequestRoutingRule = SubResource & { urlPathMap?: SubResource; rewriteRuleSet?: SubResource; redirectConfiguration?: SubResource; + loadDistributionPolicy?: SubResource; readonly provisioningState?: ProvisioningState; }; @@ -810,6 +842,7 @@ export type ApplicationGatewayUrlPathMap = SubResource & { defaultBackendHttpSettings?: SubResource; defaultRewriteRuleSet?: SubResource; defaultRedirectConfiguration?: SubResource; + defaultLoadDistributionPolicy?: SubResource; pathRules?: ApplicationGatewayPathRule[]; readonly provisioningState?: ProvisioningState; }; @@ -1526,6 +1559,12 @@ export type BastionHost = Resource & { ipConfigurations?: BastionHostIPConfiguration[]; dnsName?: string; readonly provisioningState?: ProvisioningState; + scaleUnits?: number; + disableCopyPaste?: boolean; + enableFileCopy?: boolean; + enableIpConnect?: boolean; + enableShareableLink?: boolean; + enableTunneling?: boolean; }; // @public @@ -1551,6 +1590,8 @@ export interface BastionHosts { beginCreateOrUpdateAndWait(resourceGroupName: string, bastionHostName: string, parameters: BastionHost, options?: BastionHostsCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, bastionHostName: string, options?: BastionHostsDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, bastionHostName: string, options?: BastionHostsDeleteOptionalParams): Promise; + beginUpdateTags(resourceGroupName: string, bastionHostName: string, parameters: TagsObject, options?: BastionHostsUpdateTagsOptionalParams): Promise, BastionHostsUpdateTagsResponse>>; + beginUpdateTagsAndWait(resourceGroupName: string, bastionHostName: string, parameters: TagsObject, options?: BastionHostsUpdateTagsOptionalParams): Promise; get(resourceGroupName: string, bastionHostName: string, options?: BastionHostsGetOptionalParams): Promise; list(options?: BastionHostsListOptionalParams): PagedAsyncIterableIterator; listByResourceGroup(resourceGroupName: string, options?: BastionHostsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; @@ -1609,6 +1650,15 @@ export interface BastionHostsListOptionalParams extends coreClient.OperationOpti // @public export type BastionHostsListResponse = BastionHostListResult; +// @public +export interface BastionHostsUpdateTagsOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type BastionHostsUpdateTagsResponse = BastionHost; + // @public export interface BastionSessionDeleteResult { nextLink?: string; @@ -1658,6 +1708,7 @@ export type BgpConnection = SubResource & { readonly type?: string; peerAsn?: number; peerIp?: string; + hubVirtualNetworkConnection?: SubResource; readonly provisioningState?: ProvisioningState; readonly connectionState?: HubBgpConnectionStatus; }; @@ -2492,6 +2543,7 @@ export type DscpConfiguration = Resource & { sourcePortRanges?: QosPortRange[]; destinationPortRanges?: QosPortRange[]; protocol?: ProtocolType; + qosDefinitionCollection?: QosDefinition[]; readonly qosCollectionId?: string; readonly associatedNetworkInterfaces?: NetworkInterface[]; readonly resourceGuid?: string; @@ -2684,6 +2736,15 @@ export interface EvaluatedNetworkSecurityGroup { // @public export type EvaluationState = string; +// @public +export interface ExplicitProxySettings { + enableExplicitProxy?: boolean; + httpPort?: number; + httpsPort?: number; + pacFile?: string; + pacFilePort?: number; +} + // @public export type ExpressRouteCircuit = Resource & { sku?: ExpressRouteCircuitSku; @@ -3818,7 +3879,9 @@ export type FirewallPolicy = Resource & { threatIntelWhitelist?: FirewallPolicyThreatIntelWhitelist; insights?: FirewallPolicyInsights; snat?: FirewallPolicySnat; + sql?: FirewallPolicySQL; dnsSettings?: DnsSettings; + explicitProxySettings?: ExplicitProxySettings; intrusionDetection?: FirewallPolicyIntrusionDetection; transportSecurity?: FirewallPolicyTransportSecurity; sku?: FirewallPolicySku; @@ -4034,6 +4097,11 @@ export interface FirewallPolicySnat { privateRanges?: string[]; } +// @public +export interface FirewallPolicySQL { + allowSqlRedirect?: boolean; +} + // @public export interface FirewallPolicyThreatIntelWhitelist { fqdns?: string[]; @@ -4431,6 +4499,9 @@ export type InboundNatRule = SubResource & { idleTimeoutInMinutes?: number; enableFloatingIP?: boolean; enableTcpReset?: boolean; + frontendPortRangeStart?: number; + frontendPortRangeEnd?: number; + backendAddressPool?: SubResource; readonly provisioningState?: ProvisioningState; }; @@ -4832,6 +4903,16 @@ export enum KnownApplicationGatewayFirewallMode { Prevention = "Prevention" } +// @public +export enum KnownApplicationGatewayLoadDistributionAlgorithm { + // (undocumented) + IpHash = "IpHash", + // (undocumented) + LeastConnections = "LeastConnections", + // (undocumented) + RoundRobin = "RoundRobin" +} + // @public export enum KnownApplicationGatewayOperationalState { // (undocumented) @@ -7954,6 +8035,8 @@ export class NetworkManagementClient extends NetworkManagementClientContext { // (undocumented) serviceEndpointPolicyDefinitions: ServiceEndpointPolicyDefinitions; // (undocumented) + serviceTagInformationOperations: ServiceTagInformationOperations; + // (undocumented) serviceTags: ServiceTags; // (undocumented) subnets: Subnets; @@ -8332,6 +8415,7 @@ export type NetworkVirtualAppliance = Resource & { cloudInitConfigurationBlobs?: string[]; cloudInitConfiguration?: string; virtualApplianceAsn?: number; + sshPublicKey?: string; readonly virtualApplianceNics?: VirtualApplianceNicProperties[]; readonly virtualApplianceSites?: SubResource[]; readonly inboundSecurityRules?: SubResource[]; @@ -9243,6 +9327,9 @@ export type PrivateEndpoint = Resource & { privateLinkServiceConnections?: PrivateLinkServiceConnection[]; manualPrivateLinkServiceConnections?: PrivateLinkServiceConnection[]; customDnsConfigs?: CustomDnsConfigPropertiesFormat[]; + applicationSecurityGroups?: ApplicationSecurityGroup[]; + ipConfigurations?: PrivateEndpointIPConfiguration[]; + customNetworkInterfaceName?: string; }; // @public @@ -9262,6 +9349,16 @@ export interface PrivateEndpointConnectionListResult { value?: PrivateEndpointConnection[]; } +// @public +export interface PrivateEndpointIPConfiguration { + readonly etag?: string; + groupId?: string; + memberName?: string; + name?: string; + privateIPAddress?: string; + readonly type?: string; +} + // @public export interface PrivateEndpointListResult { readonly nextLink?: string; @@ -9903,6 +10000,16 @@ export type PublicIPPrefixSkuName = string; // @public export type PublicIPPrefixSkuTier = string; +// @public +export interface QosDefinition { + destinationIpRanges?: QosIpRange[]; + destinationPortRanges?: QosPortRange[]; + markings?: number[]; + protocol?: ProtocolType; + sourceIpRanges?: QosIpRange[]; + sourcePortRanges?: QosPortRange[]; +} + // @public export interface QosIpRange { endIP?: string; @@ -10615,12 +10722,15 @@ export type ServiceEndpointPolicy = Resource & { readonly subnets?: Subnet[]; readonly resourceGuid?: string; readonly provisioningState?: ProvisioningState; + serviceAlias?: string; + contextualServiceEndpointPolicies?: string[]; }; // @public export type ServiceEndpointPolicyDefinition = SubResource & { name?: string; readonly etag?: string; + type?: string; description?: string; service?: string; serviceResources?: string[]; @@ -10700,8 +10810,38 @@ export interface ServiceTagInformation { readonly id?: string; readonly name?: string; readonly properties?: ServiceTagInformationPropertiesFormat; + readonly serviceTagChangeNumber?: string; } +// @public +export interface ServiceTagInformationListResult { + readonly nextLink?: string; + value?: ServiceTagInformation[]; +} + +// @public +export interface ServiceTagInformationOperations { + list(location: string, options?: ServiceTagInformationOperationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServiceTagInformationOperationsListNextOptionalParams extends coreClient.OperationOptions { + noAddressPrefixes?: boolean; + tagName?: string; +} + +// @public +export type ServiceTagInformationOperationsListNextResponse = ServiceTagInformationListResult; + +// @public +export interface ServiceTagInformationOperationsListOptionalParams extends coreClient.OperationOptions { + noAddressPrefixes?: boolean; + tagName?: string; +} + +// @public +export type ServiceTagInformationOperationsListResponse = ServiceTagInformationListResult; + // @public export interface ServiceTagInformationPropertiesFormat { readonly addressPrefixes?: string[]; @@ -11136,6 +11276,7 @@ export type VirtualApplianceSkusListResponse = NetworkVirtualApplianceSkuListRes // @public export type VirtualHub = Resource & { readonly etag?: string; + readonly kind?: string; virtualWan?: SubResource; vpnGateway?: SubResource; p2SVpnGateway?: SubResource; @@ -12600,6 +12741,7 @@ export type Vm = Resource & {}; // @public export interface VnetRoute { + readonly bgpConnections?: SubResource[]; staticRoutes?: StaticRoute[]; } @@ -12820,6 +12962,7 @@ export type VpnGateway = Resource & { readonly provisioningState?: ProvisioningState; vpnGatewayScaleUnit?: number; readonly ipConfigurations?: VpnGatewayIpConfiguration[]; + enableBgpRouteTranslationForNat?: boolean; isRoutingPreferenceInternet?: boolean; natRules?: VpnGatewayNatRule[]; }; diff --git a/sdk/network/arm-network/src/coreClientLro.ts b/sdk/network/arm-network/src/coreClientLro.ts deleted file mode 100644 index d793a24458bc..000000000000 --- a/sdk/network/arm-network/src/coreClientLro.ts +++ /dev/null @@ -1,323 +0,0 @@ -/* - * 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. - -import { - OperationArguments, - OperationSpec, - OperationResponseMap, - FullOperationResponse -} from "@azure/core-client"; -import { - LroResourceLocationConfig, - GetLroStatusFromResponse, - LongRunningOperation, - LroConfig, - LroMode, - LroResponse, - LroStatus, - createGetLroStatusFromResponse, - RawResponse -} from "./lro"; - -export const successStates = ["succeeded"]; -export const failureStates = ["failed", "canceled", "cancelled"]; -export const terminalStates = successStates.concat(failureStates); - -export type SendOperationFn = ( - args: OperationArguments, - spec: OperationSpec -) => Promise>; - -export function createPollingMethod( - sendOperationFn: SendOperationFn, - GetLroStatusFromResponse: GetLroStatusFromResponse, - args: OperationArguments, - spec: OperationSpec, - mode?: LroMode -): (path?: string) => Promise> { - /** - * Polling calls will always return a status object i.e. {"status": "success"} - * these intermediate responses are not described in the swagger so we need to - * pass custom mappers at runtime. - * This function replaces all the existing mappers to be able to deserialize a status object - * @param responses Original set of responses defined in the operation - */ - function getCompositeMappers(responses: { - [responseCode: string]: OperationResponseMap; - }): { - [responseCode: string]: OperationResponseMap; - } { - return Object.keys(responses).reduce((acc, statusCode) => { - return { - ...acc, - [statusCode]: { - ...responses[statusCode], - bodyMapper: { - type: { - name: "Composite", - modelProperties: { - status: { - serializedName: "status", - type: { - name: "String" - } - } - } - } - } - } - }; - }, {} as { [responseCode: string]: OperationResponseMap }); - } - let response: LroStatus | undefined = undefined; - const customerCallback = args?.options?.onResponse; - const updatedArgs = { - ...args, - options: { - ...args.options, - onResponse: ( - rawResponse: FullOperationResponse, - flatResponse: unknown - ): void => { - response = GetLroStatusFromResponse( - { - statusCode: rawResponse.status, - body: rawResponse.parsedBody, - headers: rawResponse.headers.toJSON() - }, - flatResponse as TResult - ); - if (response.done) { - customerCallback?.(rawResponse, flatResponse); - } - } - } - }; - // Make sure we don't send any body to the get request - const { requestBody, responses, ...restSpec } = spec; - if (mode === "AzureAsync") { - return async (path?: string) => { - await sendOperationFn(updatedArgs, { - ...restSpec, - responses: getCompositeMappers(responses), - httpMethod: "GET", - ...(path && { path }) - }); - return response!; - }; - } - return async (path?: string) => { - await sendOperationFn(updatedArgs, { - ...restSpec, - responses: responses, - httpMethod: "GET", - ...(path && { path }) - }); - return response!; - }; -} - -/** - * We need to selectively deserialize our responses, only deserializing if we - * are in a final Lro response, not deserializing any polling non-terminal responses - */ -export function shouldDeserializeLro(lroResourceLocationConfig?: string) { - let initialOperationInfo: LroResponseInfo | undefined; - let isInitialRequest = true; - - return (response: FullOperationResponse) => { - if (response.status < 200 || response.status >= 300) { - return true; - } - - if (!initialOperationInfo) { - initialOperationInfo = getLroData(response); - } else { - isInitialRequest = false; - } - - if ( - initialOperationInfo.azureAsyncOperation || - initialOperationInfo.operationLocation - ) { - return ( - !isInitialRequest && - isAsyncOperationFinalResponse( - response, - initialOperationInfo, - lroResourceLocationConfig - ) - ); - } - - if (initialOperationInfo.location) { - return isLocationFinalResponse(response); - } - - if (initialOperationInfo.requestMethod === "PUT") { - return isBodyPollingFinalResponse(response); - } - - return true; - }; -} - -function isAsyncOperationFinalResponse( - response: FullOperationResponse, - initialOperationInfo: LroResponseInfo, - lroResourceLocationConfig?: string -): boolean { - const status: string = response.parsedBody?.status || "Succeeded"; - if (!terminalStates.includes(status.toLowerCase())) { - return false; - } - - if (initialOperationInfo.requestMethod === "DELETE") { - return true; - } - - if ( - initialOperationInfo.requestMethod === "PUT" && - lroResourceLocationConfig && - lroResourceLocationConfig.toLowerCase() === "azure-asyncoperation" - ) { - return true; - } - - if ( - initialOperationInfo.requestMethod !== "PUT" && - !initialOperationInfo.location - ) { - return true; - } - - return false; -} - -function isLocationFinalResponse(response: FullOperationResponse): boolean { - return response.status !== 202; -} - -function isBodyPollingFinalResponse(response: FullOperationResponse): boolean { - const provisioningState: string = - response.parsedBody?.properties?.provisioningState || "Succeeded"; - - if (terminalStates.includes(provisioningState.toLowerCase())) { - return true; - } - - return false; -} - -interface LroResponseInfo { - requestMethod: string; - azureAsyncOperation?: string; - operationLocation?: string; - location?: string; -} - -function getLroData(result: FullOperationResponse): LroResponseInfo { - return { - azureAsyncOperation: result.headers.get("azure-asyncoperation"), - operationLocation: result.headers.get("operation-location"), - location: result.headers.get("location"), - requestMethod: result.request.method - }; -} - -export function getSpecPath(spec: OperationSpec): string { - if (spec.path) { - return spec.path; - } else { - throw Error("Bad spec: request path is not found!"); - } -} - -export class CoreClientLro implements LongRunningOperation { - constructor( - private sendOperationFn: SendOperationFn, - private args: OperationArguments, - private spec: OperationSpec, - private lroResourceLocationConfig?: LroResourceLocationConfig, - public requestPath: string = spec.path!, - public requestMethod: string = spec.httpMethod - ) {} - public async sendInitialRequest( - initializeState: ( - rawResponse: RawResponse, - flatResponse: unknown - ) => boolean - ): Promise> { - const { onResponse, ...restOptions } = this.args.options || {}; - return this.sendOperationFn( - { - ...this.args, - options: { - ...restOptions, - onResponse: ( - rawResponse: FullOperationResponse, - flatResponse: unknown - ) => { - const isCompleted = initializeState( - { - statusCode: rawResponse.status, - body: rawResponse.parsedBody, - headers: rawResponse.headers.toJSON() - }, - flatResponse - ); - if (isCompleted) { - onResponse?.(rawResponse, flatResponse); - } - } - } - }, - this.spec - ); - } - - public async sendPollRequest( - config: LroConfig, - path: string - ): Promise> { - const getLroStatusFromResponse = createGetLroStatusFromResponse( - this, - config, - this.lroResourceLocationConfig - ); - return createPollingMethod( - this.sendOperationFn, - getLroStatusFromResponse, - this.args, - this.spec, - config.mode - )(path); - } - - public async retrieveAzureAsyncResource( - path?: string - ): Promise> { - const updatedArgs = { ...this.args }; - if (updatedArgs.options) { - (updatedArgs.options as any).shouldDeserialize = true; - } - return createPollingMethod( - this.sendOperationFn, - (rawResponse, flatResponse) => ({ - rawResponse, - flatResponse, - done: true - }), - updatedArgs, - this.spec - )(path); - } -} diff --git a/sdk/network/arm-network/src/lro/azureAsyncPolling.ts b/sdk/network/arm-network/src/lro/azureAsyncPolling.ts deleted file mode 100644 index 725578a69264..000000000000 --- a/sdk/network/arm-network/src/lro/azureAsyncPolling.ts +++ /dev/null @@ -1,96 +0,0 @@ -/* - * 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. - -import { - failureStates, - LroResourceLocationConfig, - LongRunningOperation, - LroBody, - LroResponse, - LroStatus, - RawResponse, - successStates -} from "./models"; -import { isUnexpectedPollingResponse } from "./requestUtils"; - -function getResponseStatus(rawResponse: RawResponse): string { - const { status } = (rawResponse.body as LroBody) ?? {}; - return status?.toLowerCase() ?? "succeeded"; -} - -function isAzureAsyncPollingDone(rawResponse: RawResponse): boolean { - const state = getResponseStatus(rawResponse); - if ( - isUnexpectedPollingResponse(rawResponse) || - failureStates.includes(state) - ) { - throw new Error(`Operation status: ${state}`); - } - return successStates.includes(state); -} - -async function sendFinalRequest( - lro: LongRunningOperation, - lroResourceLocationConfig?: LroResourceLocationConfig, - resourceLocation?: string -): Promise | undefined> { - switch (lroResourceLocationConfig) { - case "original-uri": - return lro.retrieveAzureAsyncResource(); - case "azure-async-operation": - return Promise.resolve(undefined); - case "location": - default: - return lro.retrieveAzureAsyncResource(resourceLocation); - } -} - -export function processAzureAsyncOperationResult( - lro: LongRunningOperation, - resourceLocation?: string, - lroResourceLocationConfig?: LroResourceLocationConfig -): (rawResponse: RawResponse, flatResponse: TResult) => LroStatus { - return ( - rawResponse: RawResponse, - flatResponse: TResult - ): LroStatus => { - if (isAzureAsyncPollingDone(rawResponse)) { - if (resourceLocation === undefined) { - return { rawResponse, flatResponse, done: true }; - } else { - return { - rawResponse, - flatResponse, - done: false, - next: async () => { - const finalResponse = await sendFinalRequest( - lro, - lroResourceLocationConfig, - resourceLocation - ); - return { - ...(finalResponse ?? { - rawResponse, - flatResponse - }), - done: true - }; - } - }; - } - } - return { - rawResponse, - flatResponse, - done: false - }; - }; -} diff --git a/sdk/network/arm-network/src/lro/bodyPolling.ts b/sdk/network/arm-network/src/lro/bodyPolling.ts deleted file mode 100644 index b1c87f8bc8d7..000000000000 --- a/sdk/network/arm-network/src/lro/bodyPolling.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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. - -import { - failureStates, - LroBody, - LroStatus, - RawResponse, - successStates -} from "./models"; -import { isUnexpectedPollingResponse } from "./requestUtils"; - -function getProvisioningState(rawResponse: RawResponse): string { - const { properties, provisioningState } = (rawResponse.body as LroBody) ?? {}; - const state: string | undefined = - properties?.provisioningState ?? provisioningState; - return state?.toLowerCase() ?? "succeeded"; -} - -export function isBodyPollingDone(rawResponse: RawResponse): boolean { - const state = getProvisioningState(rawResponse); - if ( - isUnexpectedPollingResponse(rawResponse) || - failureStates.includes(state) - ) { - throw new Error( - `The long running operation has failed. The provisioning state: ${state}.` - ); - } - return successStates.includes(state); -} - -/** - * Creates a polling strategy based on BodyPolling which uses the provisioning state - * from the result to determine the current operation state - */ -export function processBodyPollingOperationResult( - rawResponse: RawResponse, - flatResponse: TResult -): LroStatus { - return { - rawResponse, - flatResponse, - done: isBodyPollingDone(rawResponse) - }; -} diff --git a/sdk/network/arm-network/src/lro/index.ts b/sdk/network/arm-network/src/lro/index.ts deleted file mode 100644 index 20df608fc848..000000000000 --- a/sdk/network/arm-network/src/lro/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * 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. - -export { LroEngine } from "./lroEngine"; -export { createGetLroStatusFromResponse } from "./stateMachine"; -export { - LroResourceLocationConfig, - GetLroStatusFromResponse, - RawResponse, - LongRunningOperation, - LroConfig, - LroMode, - LroResponse, - LroStatus, - LroTerminalState, - LroInProgressState, - LroEngineOptions -} from "./models"; diff --git a/sdk/network/arm-network/src/lro/locationPolling.ts b/sdk/network/arm-network/src/lro/locationPolling.ts deleted file mode 100644 index 9d1aadfbdecc..000000000000 --- a/sdk/network/arm-network/src/lro/locationPolling.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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. - -import { LroStatus, RawResponse } from "./models"; -import { isUnexpectedPollingResponse } from "./requestUtils"; - -function isLocationPollingDone(rawResponse: RawResponse): boolean { - return ( - !isUnexpectedPollingResponse(rawResponse) && rawResponse.statusCode !== 202 - ); -} - -export function processLocationPollingOperationResult( - rawResponse: RawResponse, - flatResponse: TResult -): LroStatus { - return { - rawResponse, - flatResponse, - done: isLocationPollingDone(rawResponse) - }; -} diff --git a/sdk/network/arm-network/src/lro/lroEngine.ts b/sdk/network/arm-network/src/lro/lroEngine.ts deleted file mode 100644 index 85cc15e60913..000000000000 --- a/sdk/network/arm-network/src/lro/lroEngine.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* - * 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. - -import { Poller, PollOperationState } from "@azure/core-lro"; -import { - LongRunningOperation, - LroEngineOptions, - ResumablePollOperationState -} from "./models"; -import { GenericPollOperation } from "./operation"; - -/** - * The LRO Engine, a class that performs polling. - */ -export class LroEngine< - TResult, - TState extends PollOperationState -> extends Poller { - private intervalInMs: number; - - constructor(lro: LongRunningOperation, options?: LroEngineOptions) { - const { intervalInMs = 2000, resumeFrom } = options || {}; - function deserializeState( - resumeFrom: string - ): TState & ResumablePollOperationState { - try { - return JSON.parse(resumeFrom).state; - } catch (e) { - throw new Error( - `LroEngine: Unable to deserialize state: ${resumeFrom}` - ); - } - } - const state: TState & ResumablePollOperationState = resumeFrom - ? deserializeState(resumeFrom) - : ({} as any); - - const operation = new GenericPollOperation(state, lro); - super(operation); - - this.intervalInMs = intervalInMs; - operation.setPollerConfig(this as any); - } - - /** - * The method used by the poller to wait before attempting to update its operation. - */ - delay(): Promise { - return new Promise((resolve) => - setTimeout(() => resolve(), this.intervalInMs) - ); - } -} diff --git a/sdk/network/arm-network/src/lro/models.ts b/sdk/network/arm-network/src/lro/models.ts deleted file mode 100644 index 93c3437c8e40..000000000000 --- a/sdk/network/arm-network/src/lro/models.ts +++ /dev/null @@ -1,173 +0,0 @@ -/* - * 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. - -import { PollOperationState } from "@azure/core-lro"; - -/** - * Options for the LRO poller. - */ -export interface LroEngineOptions { - /** - * Defines how much time the poller is going to wait before making a new request to the service. - */ - intervalInMs?: number; - /** - * A serialized poller which can be used to resume an existing paused Long-Running-Operation. - */ - resumeFrom?: string; -} - -export const successStates = ["succeeded"]; -export const failureStates = ["failed", "canceled", "cancelled"]; -/** - * The LRO states that signal that the LRO has completed. - */ -export const terminalStates = successStates.concat(failureStates); - -/** - * The potential location of the result of the LRO if specified by the LRO extension in the swagger. - */ -export type LroResourceLocationConfig = - | "azure-async-operation" - | "location" - | "original-uri"; - -/** - * The type of a LRO response body. This is just a convenience type for checking the status of the operation. - */ - -export interface LroBody extends Record { - /** The status of the operation. */ - status?: string; - /** The state of the provisioning process */ - provisioningState?: string; - /** The properties of the provisioning process */ - properties?: { provisioningState?: string } & Record; -} - -/** - * Simple type of the raw response. - */ -export interface RawResponse { - /** The HTTP status code */ - statusCode: number; - /** A HttpHeaders collection in the response represented as a simple JSON object where all header names have been normalized to be lower-case. */ - headers: { - [headerName: string]: string; - }; - /** The parsed response body */ - body?: unknown; -} - -/** - * The type of the response of a LRO. - */ -export interface LroResponse { - /** The flattened response */ - flatResponse: T; - /** The raw response */ - rawResponse: RawResponse; -} - -/** The type of which LRO implementation being followed by a specific API. */ -export type LroMode = "AzureAsync" | "Location" | "Body"; - -/** - * The configuration of a LRO to determine how to perform polling and checking whether the operation has completed. - */ -export interface LroConfig { - /** The LRO mode */ - mode?: LroMode; - /** The path of a provisioned resource */ - resourceLocation?: string; -} - -/** - * Type of a polling operation state that can actually be resumed. - */ -export type ResumablePollOperationState = PollOperationState & { - initialRawResponse?: RawResponse; - config?: LroConfig; - pollingURL?: string; -}; - -export interface PollerConfig { - intervalInMs: number; -} - -/** - * The type of a terminal state of an LRO. - */ -export interface LroTerminalState extends LroResponse { - /** - * Whether the operation has finished. - */ - done: true; -} - -/** - * The type of an in-progress state of an LRO. - */ -export interface LroInProgressState extends LroResponse { - /** - * Whether the operation has finished. - */ - done: false; - /** - * The request to be sent next if it is different from the standard polling one. - * Notice that it will disregard any polling URLs provided to it. - */ - next?: () => Promise>; -} - -/** - * The type of an LRO state which is a tagged union of terminal and in-progress states. - */ -export type LroStatus = LroTerminalState | LroInProgressState; - -/** - * The type of the getLROStatusFromResponse method. It takes the response as input and returns along the response whether the operation has finished. - */ -export type GetLroStatusFromResponse = ( - rawResponse: RawResponse, - flatResponse: T -) => LroStatus; - -/** - * Description of a long running operation. - */ -export interface LongRunningOperation { - /** - * The request path. - */ - requestPath: string; - /** - * The HTTP request method. - */ - requestMethod: string; - /** - * A function that can be used to send initial request to the service. - */ - sendInitialRequest: ( - initializeState: ( - rawResponse: RawResponse, - flatResponse: unknown - ) => boolean - ) => Promise>; - /** - * A function that can be used to poll for the current status of a long running operation. - */ - sendPollRequest: (config: LroConfig, path: string) => Promise>; - /** - * A function that can be used to retrieve the provisioned azure resource. - */ - retrieveAzureAsyncResource: (path?: string) => Promise>; -} diff --git a/sdk/network/arm-network/src/lro/operation.ts b/sdk/network/arm-network/src/lro/operation.ts deleted file mode 100644 index 3ea7b76d89b3..000000000000 --- a/sdk/network/arm-network/src/lro/operation.ts +++ /dev/null @@ -1,120 +0,0 @@ -/* - * 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. - -import { AbortSignalLike } from "@azure/abort-controller"; -import { PollOperationState, PollOperation } from "@azure/core-lro"; -import { - PollerConfig, - ResumablePollOperationState, - LongRunningOperation, - LroStatus -} from "./models"; -import { getPollingUrl } from "./requestUtils"; -import { createInitializeState, createPollForLROStatus } from "./stateMachine"; - -export class GenericPollOperation< - TResult, - TState extends PollOperationState -> implements PollOperation { - private getLROStatusFromResponse?: ( - pollingURL: string, - pollerConfig: PollerConfig - ) => Promise>; - private pollerConfig?: PollerConfig; - constructor( - public state: TState & ResumablePollOperationState, - private lro: LongRunningOperation - ) {} - - public setPollerConfig(pollerConfig: PollerConfig): void { - this.pollerConfig = pollerConfig; - } - - /** - * General update function for LROPoller, the general process is as follows - * 1. Check initial operation result to determine the strategy to use - * - Strategies: Location, Azure-AsyncOperation, Original Uri - * 2. Check if the operation result has a terminal state - * - Terminal state will be determined by each strategy - * 2.1 If it is terminal state Check if a final GET request is required, if so - * send final GET request and return result from operation. If no final GET - * is required, just return the result from operation. - * - Determining what to call for final request is responsibility of each strategy - * 2.2 If it is not terminal state, call the polling operation and go to step 1 - * - Determining what to call for polling is responsibility of each strategy - * - Strategies will always use the latest URI for polling if provided otherwise - * the last known one - */ - async update(options?: { - abortSignal?: AbortSignalLike | undefined; - fireProgress?: ((state: TState) => void) | undefined; - }): Promise> { - const state = this.state; - if (!state.isStarted) { - const initializeState = createInitializeState( - state, - this.lro.requestPath, - this.lro.requestMethod - ); - await this.lro.sendInitialRequest(initializeState); - } - - if (!state.isCompleted) { - if (this.getLROStatusFromResponse === undefined) { - if (state.config === undefined) { - throw new Error( - "Bad state: LRO mode is undefined. Please check if the serialized state is well-formed." - ); - } - this.getLROStatusFromResponse = createPollForLROStatus( - this.lro, - state.config - ); - } - if (state.pollingURL === undefined) { - throw new Error( - "Bad state: polling URL is undefined. Please check if the serialized state is well-formed." - ); - } - const currentState = await this.getLROStatusFromResponse( - state.pollingURL, - this.pollerConfig! - ); - if (currentState.done) { - state.result = currentState.flatResponse; - state.isCompleted = true; - } else { - this.getLROStatusFromResponse = - currentState.next ?? this.getLROStatusFromResponse; - state.pollingURL = getPollingUrl( - currentState.rawResponse, - state.pollingURL - ); - } - } - options?.fireProgress?.(state); - return this; - } - - async cancel(): Promise> { - this.state.isCancelled = true; - return this; - } - - /** - * Serializes the Poller operation. - */ - public toString(): string { - return JSON.stringify({ - state: this.state - }); - } -} diff --git a/sdk/network/arm-network/src/lro/passthrough.ts b/sdk/network/arm-network/src/lro/passthrough.ts deleted file mode 100644 index ae7f87d38483..000000000000 --- a/sdk/network/arm-network/src/lro/passthrough.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * 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. - -import { LroStatus, RawResponse } from "./models"; - -export function processPassthroughOperationResult( - rawResponse: RawResponse, - flatResponse: TResult -): LroStatus { - return { - rawResponse, - flatResponse, - done: true - }; -} diff --git a/sdk/network/arm-network/src/lro/requestUtils.ts b/sdk/network/arm-network/src/lro/requestUtils.ts deleted file mode 100644 index 40d993686f0d..000000000000 --- a/sdk/network/arm-network/src/lro/requestUtils.ts +++ /dev/null @@ -1,105 +0,0 @@ -/* - * 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. - -import { LroConfig, RawResponse } from "./models"; - -/** - * Detects where the continuation token is and returns it. Notice that azure-asyncoperation - * must be checked first before the other location headers because there are scenarios - * where both azure-asyncoperation and location could be present in the same response but - * azure-asyncoperation should be the one to use for polling. - */ -export function getPollingUrl( - rawResponse: RawResponse, - defaultPath: string -): string { - return ( - getAzureAsyncOperation(rawResponse) ?? - getLocation(rawResponse) ?? - getOperationLocation(rawResponse) ?? - defaultPath - ); -} - -function getLocation(rawResponse: RawResponse): string | undefined { - return rawResponse.headers["location"]; -} - -function getOperationLocation(rawResponse: RawResponse): string | undefined { - return rawResponse.headers["operation-location"]; -} - -function getAzureAsyncOperation(rawResponse: RawResponse): string | undefined { - return rawResponse.headers["azure-asyncoperation"]; -} - -export function inferLroMode( - requestPath: string, - requestMethod: string, - rawResponse: RawResponse -): LroConfig { - if (getAzureAsyncOperation(rawResponse) !== undefined) { - return { - mode: "AzureAsync", - resourceLocation: - requestMethod === "PUT" - ? requestPath - : requestMethod === "POST" - ? getLocation(rawResponse) - : undefined - }; - } else if ( - getLocation(rawResponse) !== undefined || - getOperationLocation(rawResponse) !== undefined - ) { - return { - mode: "Location" - }; - } else if (["PUT", "PATCH"].includes(requestMethod)) { - return { - mode: "Body" - }; - } - return {}; -} - -export class RestError extends Error { - public statusCode?: number; - constructor(message: string, statusCode: number) { - super(message); - this.name = "RestError"; - this.statusCode = statusCode; - - Object.setPrototypeOf(this, RestError.prototype); - } -} - -export function isUnexpectedInitialResponse(rawResponse: RawResponse): boolean { - const code = rawResponse.statusCode; - if (![203, 204, 202, 201, 200, 500].includes(code)) { - throw new RestError( - `Received unexpected HTTP status code ${code} in the initial response. This may indicate a server issue.`, - code - ); - } - return false; -} - -export function isUnexpectedPollingResponse(rawResponse: RawResponse): boolean { - const code = rawResponse.statusCode; - if (![202, 201, 200, 500].includes(code)) { - throw new RestError( - `Received unexpected HTTP status code ${code} while polling. This may indicate a server issue.`, - code - ); - } - return false; -} diff --git a/sdk/network/arm-network/src/lro/stateMachine.ts b/sdk/network/arm-network/src/lro/stateMachine.ts deleted file mode 100644 index 19a8f6747032..000000000000 --- a/sdk/network/arm-network/src/lro/stateMachine.ts +++ /dev/null @@ -1,138 +0,0 @@ -/* - * 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. - -import { processAzureAsyncOperationResult } from "./azureAsyncPolling"; -import { - isBodyPollingDone, - processBodyPollingOperationResult -} from "./bodyPolling"; -import { processLocationPollingOperationResult } from "./locationPolling"; -import { - LroResourceLocationConfig, - GetLroStatusFromResponse, - LongRunningOperation, - LroConfig, - LroStatus, - PollerConfig, - RawResponse, - ResumablePollOperationState -} from "./models"; -import { processPassthroughOperationResult } from "./passthrough"; -import { - getPollingUrl, - inferLroMode, - isUnexpectedInitialResponse -} from "./requestUtils"; - -/** - * creates a stepping function that maps an LRO state to another. - */ -export function createGetLroStatusFromResponse( - lroPrimitives: LongRunningOperation, - config: LroConfig, - lroResourceLocationConfig?: LroResourceLocationConfig -): GetLroStatusFromResponse { - switch (config.mode) { - case "AzureAsync": { - return processAzureAsyncOperationResult( - lroPrimitives, - config.resourceLocation, - lroResourceLocationConfig - ); - } - case "Location": { - return processLocationPollingOperationResult; - } - case "Body": { - return processBodyPollingOperationResult; - } - default: { - return processPassthroughOperationResult; - } - } -} - -/** - * Creates a polling operation that returns a LRO state. - */ -export function createPollForLROStatus( - lroPrimitives: LongRunningOperation, - config: LroConfig -): ( - pollingURL: string, - pollerConfig: PollerConfig -) => Promise> { - return async ( - path: string, - pollerConfig: PollerConfig - ): Promise> => { - const response = await lroPrimitives.sendPollRequest(config, path); - const retryAfter: string | undefined = - response.rawResponse.headers["retry-after"]; - if (retryAfter !== undefined) { - const retryAfterInMs = parseInt(retryAfter); - pollerConfig.intervalInMs = isNaN(retryAfterInMs) - ? calculatePollingIntervalFromDate( - new Date(retryAfter), - pollerConfig.intervalInMs - ) - : retryAfterInMs; - } - return response; - }; -} - -function calculatePollingIntervalFromDate( - retryAfterDate: Date, - defaultIntervalInMs: number -): number { - const timeNow = Math.floor(new Date().getTime()); - const retryAfterTime = retryAfterDate.getTime(); - if (timeNow < retryAfterTime) { - return retryAfterTime - timeNow; - } - return defaultIntervalInMs; -} - -/** - * Creates a callback to be used to initialize the polling operation state. - * @param state - of the polling operation - * @param operationSpec - of the LRO - * @param callback - callback to be called when the operation is done - * @returns callback that initializes the state of the polling operation - */ -export function createInitializeState( - state: ResumablePollOperationState, - requestPath: string, - requestMethod: string -): (rawResponse: RawResponse, flatResponse: unknown) => boolean { - return (rawResponse: RawResponse, flatResponse: unknown) => { - if (isUnexpectedInitialResponse(rawResponse)) return true; - state.initialRawResponse = rawResponse; - state.isStarted = true; - state.pollingURL = getPollingUrl(state.initialRawResponse, requestPath); - state.config = inferLroMode( - requestPath, - requestMethod, - state.initialRawResponse - ); - /** short circuit polling if body polling is done in the initial request */ - if ( - state.config.mode === undefined || - (state.config.mode === "Body" && - isBodyPollingDone(state.initialRawResponse)) - ) { - state.result = flatResponse as TResult; - state.isCompleted = true; - } - return Boolean(state.isCompleted); - }; -} diff --git a/sdk/network/arm-network/src/lroImpl.ts b/sdk/network/arm-network/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/network/arm-network/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/network/arm-network/src/models/index.ts b/sdk/network/arm-network/src/models/index.ts index 4cbd0499be77..b1cd0a1af7af 100644 --- a/sdk/network/arm-network/src/models/index.ts +++ b/sdk/network/arm-network/src/models/index.ts @@ -120,6 +120,28 @@ export interface CustomDnsConfigPropertiesFormat { ipAddresses?: string[]; } +/** An IP Configuration of the private endpoint. */ +export interface PrivateEndpointIPConfiguration { + /** The name of the resource that is unique within a resource group. */ + name?: string; + /** + * The resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** The ID of a group obtained from the remote resource that this private endpoint should connect to. */ + groupId?: string; + /** The member name of a group obtained from the remote resource that this private endpoint should connect to. */ + memberName?: string; + /** A private ip address obtained from the private endpoint's subnet. */ + privateIPAddress?: string; +} + /** DNS settings of a network interface. */ export interface NetworkInterfaceDnsSettings { /** List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. */ @@ -422,6 +444,14 @@ export interface ApplicationGatewayAutoscaleConfiguration { maxCapacity?: number; } +/** Application Gateway global configuration. */ +export interface ApplicationGatewayGlobalConfiguration { + /** Enable request buffering. */ + enableRequestBuffering?: boolean; + /** Enable response buffering. */ + enableResponseBuffering?: boolean; +} + /** Identity for the resource. */ export interface ManagedServiceIdentity { /** @@ -1104,6 +1134,22 @@ export interface QosPortRange { end?: number; } +/** Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. */ +export interface QosDefinition { + /** List of markings to be used in the configuration. */ + markings?: number[]; + /** Source IP ranges. */ + sourceIpRanges?: QosIpRange[]; + /** Destination IP ranges. */ + destinationIpRanges?: QosIpRange[]; + /** Sources port ranges. */ + sourcePortRanges?: QosPortRange[]; + /** Destination port ranges. */ + destinationPortRanges?: QosPortRange[]; + /** RNM supported protocol types. */ + protocol?: ProtocolType; +} + /** Response for the DscpConfigurationList API service call. */ export interface DscpConfigurationListResult { /** A list of dscp configurations in a resource group. */ @@ -1481,6 +1527,12 @@ export interface FirewallPolicySnat { privateRanges?: string[]; } +/** SQL Settings in Firewall Policy. */ +export interface FirewallPolicySQL { + /** A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999. */ + allowSqlRedirect?: boolean; +} + /** DNS Proxy Settings in Firewall Policy. */ export interface DnsSettings { /** List of Custom DNS Servers. */ @@ -1491,6 +1543,20 @@ export interface DnsSettings { requireProxyForNetworkRules?: boolean; } +/** Explicit Proxy Settings in Firewall Policy. */ +export interface ExplicitProxySettings { + /** When set to true, explicit proxy mode is enabled. */ + enableExplicitProxy?: boolean; + /** Port number for explicit proxy http protocol, cannot be greater than 64000. */ + httpPort?: number; + /** Port number for explicit proxy https protocol, cannot be greater than 64000. */ + httpsPort?: number; + /** Port number for firewall to serve PAC file. */ + pacFilePort?: number; + /** SAS URL for PAC file. */ + pacFile?: string; +} + /** Configuration for intrusion detection mode and rules. */ export interface FirewallPolicyIntrusionDetection { /** Intrusion detection general state. */ @@ -3446,6 +3512,11 @@ export interface ServiceTagInformation { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; + /** + * The iteration number of service tag object for region. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly serviceTagChangeNumber?: string; } /** Properties of the service tag information. */ @@ -3477,6 +3548,17 @@ export interface ServiceTagInformationPropertiesFormat { readonly state?: string; } +/** Response for Get ServiceTagInformation API service call. Retrieves the list of service tag information resources. */ +export interface ServiceTagInformationListResult { + /** The list of service tag information resources. */ + value?: ServiceTagInformation[]; + /** + * The URL to get the next set of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + /** The list usages operation response. */ export interface UsagesListResult { /** The list network resource usages. */ @@ -4279,6 +4361,11 @@ export interface PropagatedRouteTable { export interface VnetRoute { /** List of all Static Routes. */ staticRoutes?: StaticRoute[]; + /** + * The list of references to HubBgpConnection objects. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly bgpConnections?: SubResource[]; } /** List of all Static Routes. */ @@ -4840,6 +4927,12 @@ export type PrivateEndpoint = Resource & { manualPrivateLinkServiceConnections?: PrivateLinkServiceConnection[]; /** An array of custom dns configurations. */ customDnsConfigs?: CustomDnsConfigPropertiesFormat[]; + /** Application security groups in which the private endpoint IP configuration is included. */ + applicationSecurityGroups?: ApplicationSecurityGroup[]; + /** A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. */ + ipConfigurations?: PrivateEndpointIPConfiguration[]; + /** The custom name of the network interface attached to the private endpoint. */ + customNetworkInterfaceName?: string; }; /** Private link service resource. */ @@ -5088,6 +5181,10 @@ export type ServiceEndpointPolicy = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; + /** The alias indicating if the policy belongs to a service */ + serviceAlias?: string; + /** A collection of contextual service endpoint policy. */ + contextualServiceEndpointPolicies?: string[]; }; /** Nat Gateway resource. */ @@ -5293,6 +5390,10 @@ export type ApplicationGateway = Resource & { customErrorConfigurations?: ApplicationGatewayCustomError[]; /** If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config. */ forceFirewallPolicyAssociation?: boolean; + /** Load distribution policies of the application gateway resource. */ + loadDistributionPolicies?: ApplicationGatewayLoadDistributionPolicy[]; + /** Global Configuration. */ + globalConfiguration?: ApplicationGatewayGlobalConfiguration; }; /** A web application firewall rule set. */ @@ -5402,6 +5503,18 @@ export type BastionHost = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; + /** The scale units for the Bastion Host resource. */ + scaleUnits?: number; + /** Enable/Disable Copy/Paste feature of the Bastion Host resource. */ + disableCopyPaste?: boolean; + /** Enable/Disable File Copy feature of the Bastion Host resource. */ + enableFileCopy?: boolean; + /** Enable/Disable IP Connect feature of the Bastion Host resource. */ + enableIpConnect?: boolean; + /** Enable/Disable Shareable Link of the Bastion Host resource. */ + enableShareableLink?: boolean; + /** Enable/Disable Tunneling feature of the Bastion Host resource. */ + enableTunneling?: boolean; }; /** Describes a Virtual Machine. */ @@ -5481,7 +5594,7 @@ export type DdosCustomPolicy = Resource & { protocolCustomSettings?: ProtocolCustomSettingsFormat[]; }; -/** DSCP Configuration in a resource group. */ +/** Differentiated Services Code Point configuration for any given network interface */ export type DscpConfiguration = Resource & { /** * A unique read-only string that changes whenever the resource is updated. @@ -5500,6 +5613,8 @@ export type DscpConfiguration = Resource & { destinationPortRanges?: QosPortRange[]; /** RNM supported protocol types. */ protocol?: ProtocolType; + /** QoS object definitions */ + qosDefinitionCollection?: QosDefinition[]; /** * Qos Collection ID generated by RNM. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -5741,8 +5856,12 @@ export type FirewallPolicy = Resource & { insights?: FirewallPolicyInsights; /** The private IP addresses/IP ranges to which traffic will not be SNAT. */ snat?: FirewallPolicySnat; + /** SQL Settings definition. */ + sql?: FirewallPolicySQL; /** DNS Proxy Settings definition. */ dnsSettings?: DnsSettings; + /** Explicit Proxy Settings definition. */ + explicitProxySettings?: ExplicitProxySettings; /** The configuration for Intrusion detection. */ intrusionDetection?: FirewallPolicyIntrusionDetection; /** TLS Configuration definition. */ @@ -5897,6 +6016,8 @@ export type NetworkVirtualAppliance = Resource & { cloudInitConfiguration?: string; /** VirtualAppliance ASN. */ virtualApplianceAsn?: number; + /** Public key for SSH login. */ + sshPublicKey?: string; /** * List of Virtual Appliance Network Interfaces. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -6524,6 +6645,11 @@ export type VirtualHub = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly etag?: string; + /** + * Kind of service virtual hub. This is metadata used for the Azure portal experience for Route Server. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly kind?: string; /** The VirtualWAN to which the VirtualHub belongs. */ virtualWan?: SubResource; /** The VpnGateway associated with this VirtualHub. */ @@ -6601,6 +6727,8 @@ export type VpnGateway = Resource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly ipConfigurations?: VpnGatewayIpConfiguration[]; + /** Enable BGP routes translation for NAT on this VpnGateway. */ + enableBgpRouteTranslationForNat?: boolean; /** Enable Routing Preference property for the Public IP Interface of the VpnGateway. */ isRoutingPreferenceInternet?: boolean; /** List of all the nat Rules associated with the gateway. */ @@ -7100,6 +7228,8 @@ export type ServiceEndpointPolicyDefinition = SubResource & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly etag?: string; + /** The type of the resource. */ + type?: string; /** A description for this rule. Restricted to 140 chars. */ description?: string; /** Service endpoint name. */ @@ -7448,6 +7578,12 @@ export type InboundNatRule = SubResource & { enableFloatingIP?: boolean; /** Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. */ enableTcpReset?: boolean; + /** The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534. */ + frontendPortRangeStart?: number; + /** The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534. */ + frontendPortRangeEnd?: number; + /** A reference to backendAddressPool resource. */ + backendAddressPool?: SubResource; /** * The provisioning state of the inbound NAT rule resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -7669,6 +7805,8 @@ export type ApplicationGatewayPathRule = SubResource & { redirectConfiguration?: SubResource; /** Rewrite rule set resource of URL path map path rule. */ rewriteRuleSet?: SubResource; + /** Load Distribution Policy resource of URL path map path rule. */ + loadDistributionPolicy?: SubResource; /** * The provisioning state of the path rule resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -7700,6 +7838,8 @@ export type ApplicationGatewayUrlPathMap = SubResource & { defaultRewriteRuleSet?: SubResource; /** Default redirect configuration resource of URL path map. */ defaultRedirectConfiguration?: SubResource; + /** Default Load Distribution Policy resource of URL path map. */ + defaultLoadDistributionPolicy?: SubResource; /** Path rule of URL path map resource. */ pathRules?: ApplicationGatewayPathRule[]; /** @@ -7739,6 +7879,8 @@ export type ApplicationGatewayRequestRoutingRule = SubResource & { rewriteRuleSet?: SubResource; /** Redirect configuration resource of the application gateway. */ redirectConfiguration?: SubResource; + /** Load Distribution Policy resource of the application gateway. */ + loadDistributionPolicy?: SubResource; /** * The provisioning state of the request routing rule resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -7881,6 +8023,51 @@ export type ApplicationGatewayPrivateEndpointConnection = SubResource & { readonly linkIdentifier?: string; }; +/** Load Distribution Target of an application gateway. */ +export type ApplicationGatewayLoadDistributionTarget = SubResource & { + /** Name of the load distribution policy that is unique within an Application Gateway. */ + name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Type of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** Weight per server. Range between 1 and 100. */ + weightPerServer?: number; + /** Backend address pool resource of the application gateway. */ + backendAddressPool?: SubResource; +}; + +/** Load Distribution Policy of an application gateway. */ +export type ApplicationGatewayLoadDistributionPolicy = SubResource & { + /** Name of the load distribution policy that is unique within an Application Gateway. */ + name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Type of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** Load Distribution Targets resource of an application gateway. */ + loadDistributionTargets?: ApplicationGatewayLoadDistributionTarget[]; + /** Load Distribution Targets resource of an application gateway. */ + loadDistributionAlgorithm?: ApplicationGatewayLoadDistributionAlgorithm; + /** + * The provisioning state of the Load Distribution Policy resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; +}; + /** PrivateLink Resource of an application gateway. */ export type ApplicationGatewayPrivateLinkResource = SubResource & { /** Name of the private link resource that is unique within an Application Gateway. */ @@ -9118,6 +9305,8 @@ export type BgpConnection = SubResource & { peerAsn?: number; /** Peer IP. */ peerIp?: string; + /** The reference to the HubVirtualNetworkConnection resource. */ + hubVirtualNetworkConnection?: SubResource; /** * The provisioning state of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -10050,6 +10239,24 @@ export enum KnownApplicationGatewayFirewallMode { */ export type ApplicationGatewayFirewallMode = string; +/** Known values of {@link ApplicationGatewayLoadDistributionAlgorithm} that the service accepts. */ +export enum KnownApplicationGatewayLoadDistributionAlgorithm { + RoundRobin = "RoundRobin", + LeastConnections = "LeastConnections", + IpHash = "IpHash" +} + +/** + * Defines values for ApplicationGatewayLoadDistributionAlgorithm. \ + * {@link KnownApplicationGatewayLoadDistributionAlgorithm} can be used interchangeably with ApplicationGatewayLoadDistributionAlgorithm, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RoundRobin** \ + * **LeastConnections** \ + * **IpHash** + */ +export type ApplicationGatewayLoadDistributionAlgorithm = string; + /** Known values of {@link ApplicationGatewayBackendHealthServerHealth} that the service accepts. */ export enum KnownApplicationGatewayBackendHealthServerHealth { Unknown = "Unknown", @@ -12975,6 +13182,18 @@ export interface BastionHostsCreateOrUpdateOptionalParams /** Contains response data for the createOrUpdate operation. */ export type BastionHostsCreateOrUpdateResponse = BastionHost; +/** Optional parameters. */ +export interface BastionHostsUpdateTagsOptionalParams + extends coreClient.OperationOptions { + /** 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 updateTags operation. */ +export type BastionHostsUpdateTagsResponse = BastionHost; + /** Optional parameters. */ export interface BastionHostsListOptionalParams extends coreClient.OperationOptions {} @@ -16288,6 +16507,30 @@ export interface ServiceTagsListOptionalParams /** Contains response data for the list operation. */ export type ServiceTagsListResponse = ServiceTagsListResult; +/** Optional parameters. */ +export interface ServiceTagInformationOperationsListOptionalParams + extends coreClient.OperationOptions { + /** Do not return address prefixes for the tag(s). */ + noAddressPrefixes?: boolean; + /** Return tag information for a particular tag. */ + tagName?: string; +} + +/** Contains response data for the list operation. */ +export type ServiceTagInformationOperationsListResponse = ServiceTagInformationListResult; + +/** Optional parameters. */ +export interface ServiceTagInformationOperationsListNextOptionalParams + extends coreClient.OperationOptions { + /** Do not return address prefixes for the tag(s). */ + noAddressPrefixes?: boolean; + /** Return tag information for a particular tag. */ + tagName?: string; +} + +/** Contains response data for the listNext operation. */ +export type ServiceTagInformationOperationsListNextResponse = ServiceTagInformationListResult; + /** Optional parameters. */ export interface UsagesListOptionalParams extends coreClient.OperationOptions {} diff --git a/sdk/network/arm-network/src/models/mappers.ts b/sdk/network/arm-network/src/models/mappers.ts index 0dc806dd1c08..5cfbf3c2562e 100644 --- a/sdk/network/arm-network/src/models/mappers.ts +++ b/sdk/network/arm-network/src/models/mappers.ts @@ -296,6 +296,53 @@ export const CustomDnsConfigPropertiesFormat: coreClient.CompositeMapper = { } }; +export const PrivateEndpointIPConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointIPConfiguration", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + groupId: { + serializedName: "properties.groupId", + type: { + name: "String" + } + }, + memberName: { + serializedName: "properties.memberName", + type: { + name: "String" + } + }, + privateIPAddress: { + serializedName: "properties.privateIPAddress", + type: { + name: "String" + } + } + } + } +}; + export const NetworkInterfaceDnsSettings: coreClient.CompositeMapper = { type: { name: "Composite", @@ -374,12 +421,14 @@ export const RetentionPolicyParameters: coreClient.CompositeMapper = { className: "RetentionPolicyParameters", modelProperties: { days: { + defaultValue: 0, serializedName: "days", type: { name: "Number" } }, enabled: { + defaultValue: false, serializedName: "enabled", type: { name: "Boolean" @@ -401,6 +450,7 @@ export const FlowLogFormatParameters: coreClient.CompositeMapper = { } }, version: { + defaultValue: 0, serializedName: "version", type: { name: "Number" @@ -1153,6 +1203,27 @@ export const ApplicationGatewayAutoscaleConfiguration: coreClient.CompositeMappe } }; +export const ApplicationGatewayGlobalConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGatewayGlobalConfiguration", + modelProperties: { + enableRequestBuffering: { + serializedName: "enableRequestBuffering", + type: { + name: "Boolean" + } + }, + enableResponseBuffering: { + serializedName: "enableResponseBuffering", + type: { + name: "Boolean" + } + } + } + } +}; + export const ManagedServiceIdentity: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3006,6 +3077,80 @@ export const QosPortRange: coreClient.CompositeMapper = { } }; +export const QosDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "QosDefinition", + modelProperties: { + markings: { + serializedName: "markings", + type: { + name: "Sequence", + element: { + type: { + name: "Number" + } + } + } + }, + sourceIpRanges: { + serializedName: "sourceIpRanges", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QosIpRange" + } + } + } + }, + destinationIpRanges: { + serializedName: "destinationIpRanges", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QosIpRange" + } + } + } + }, + sourcePortRanges: { + serializedName: "sourcePortRanges", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QosPortRange" + } + } + } + }, + destinationPortRanges: { + serializedName: "destinationPortRanges", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QosPortRange" + } + } + } + }, + protocol: { + serializedName: "protocol", + type: { + name: "String" + } + } + } + } +}; + export const DscpConfigurationListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -4092,6 +4237,22 @@ export const FirewallPolicySnat: coreClient.CompositeMapper = { } }; +export const FirewallPolicySQL: coreClient.CompositeMapper = { + serializedName: "FirewallPolicySQL", + type: { + name: "Composite", + className: "FirewallPolicySQL", + modelProperties: { + allowSqlRedirect: { + serializedName: "allowSqlRedirect", + type: { + name: "Boolean" + } + } + } + } +}; + export const DnsSettings: coreClient.CompositeMapper = { serializedName: "DnsSettings", type: { @@ -4126,6 +4287,59 @@ export const DnsSettings: coreClient.CompositeMapper = { } }; +export const ExplicitProxySettings: coreClient.CompositeMapper = { + serializedName: "ExplicitProxySettings", + type: { + name: "Composite", + className: "ExplicitProxySettings", + modelProperties: { + enableExplicitProxy: { + serializedName: "enableExplicitProxy", + nullable: true, + type: { + name: "Boolean" + } + }, + httpPort: { + constraints: { + InclusiveMaximum: 64000, + InclusiveMinimum: 0 + }, + serializedName: "httpPort", + type: { + name: "Number" + } + }, + httpsPort: { + constraints: { + InclusiveMaximum: 64000, + InclusiveMinimum: 0 + }, + serializedName: "httpsPort", + type: { + name: "Number" + } + }, + pacFilePort: { + constraints: { + InclusiveMaximum: 64000, + InclusiveMinimum: 0 + }, + serializedName: "pacFilePort", + type: { + name: "Number" + } + }, + pacFile: { + serializedName: "pacFile", + type: { + name: "String" + } + } + } + } +}; + export const FirewallPolicyIntrusionDetection: coreClient.CompositeMapper = { type: { name: "Composite", @@ -6020,6 +6234,7 @@ export const PacketCapture: coreClient.CompositeMapper = { } }, bytesToCapturePerPacket: { + defaultValue: 0, constraints: { InclusiveMaximum: 4294967295, InclusiveMinimum: 0 @@ -6087,6 +6302,7 @@ export const PacketCaptureParameters: coreClient.CompositeMapper = { } }, bytesToCapturePerPacket: { + defaultValue: 0, constraints: { InclusiveMaximum: 4294967295, InclusiveMinimum: 0 @@ -6241,6 +6457,7 @@ export const PacketCaptureResult: coreClient.CompositeMapper = { } }, bytesToCapturePerPacket: { + defaultValue: 0, constraints: { InclusiveMaximum: 4294967295, InclusiveMinimum: 0 @@ -9764,6 +9981,13 @@ export const ServiceTagInformation: coreClient.CompositeMapper = { type: { name: "String" } + }, + serviceTagChangeNumber: { + serializedName: "serviceTagChangeNumber", + readOnly: true, + type: { + name: "String" + } } } } @@ -9818,6 +10042,34 @@ export const ServiceTagInformationPropertiesFormat: coreClient.CompositeMapper = } }; +export const ServiceTagInformationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceTagInformationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServiceTagInformation" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const UsagesListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -11900,6 +12152,19 @@ export const VnetRoute: coreClient.CompositeMapper = { } } } + }, + bgpConnections: { + serializedName: "bgpConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } } } } @@ -13541,6 +13806,36 @@ export const PrivateEndpoint: coreClient.CompositeMapper = { } } } + }, + applicationSecurityGroups: { + serializedName: "properties.applicationSecurityGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationSecurityGroup" + } + } + } + }, + ipConfigurations: { + serializedName: "properties.ipConfigurations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointIPConfiguration" + } + } + } + }, + customNetworkInterfaceName: { + serializedName: "properties.customNetworkInterfaceName", + type: { + name: "String" + } } } } @@ -14111,6 +14406,23 @@ export const ServiceEndpointPolicy: coreClient.CompositeMapper = { type: { name: "String" } + }, + serviceAlias: { + serializedName: "properties.serviceAlias", + type: { + name: "String" + } + }, + contextualServiceEndpointPolicies: { + serializedName: "properties.contextualServiceEndpointPolicies", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } } } } @@ -14759,6 +15071,25 @@ export const ApplicationGateway: coreClient.CompositeMapper = { type: { name: "Boolean" } + }, + loadDistributionPolicies: { + serializedName: "properties.loadDistributionPolicies", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationGatewayLoadDistributionPolicy" + } + } + } + }, + globalConfiguration: { + serializedName: "properties.globalConfiguration", + type: { + name: "Composite", + className: "ApplicationGatewayGlobalConfiguration" + } } } } @@ -15074,6 +15405,51 @@ export const BastionHost: coreClient.CompositeMapper = { type: { name: "String" } + }, + scaleUnits: { + constraints: { + InclusiveMaximum: 50, + InclusiveMinimum: 2 + }, + serializedName: "properties.scaleUnits", + type: { + name: "Number" + } + }, + disableCopyPaste: { + defaultValue: false, + serializedName: "properties.disableCopyPaste", + type: { + name: "Boolean" + } + }, + enableFileCopy: { + defaultValue: false, + serializedName: "properties.enableFileCopy", + type: { + name: "Boolean" + } + }, + enableIpConnect: { + defaultValue: false, + serializedName: "properties.enableIpConnect", + type: { + name: "Boolean" + } + }, + enableShareableLink: { + defaultValue: false, + serializedName: "properties.enableShareableLink", + type: { + name: "Boolean" + } + }, + enableTunneling: { + defaultValue: false, + serializedName: "properties.enableTunneling", + type: { + name: "Boolean" + } } } } @@ -15336,6 +15712,18 @@ export const DscpConfiguration: coreClient.CompositeMapper = { name: "String" } }, + qosDefinitionCollection: { + serializedName: "properties.qosDefinitionCollection", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QosDefinition" + } + } + } + }, qosCollectionId: { serializedName: "properties.qosCollectionId", readOnly: true, @@ -15880,6 +16268,13 @@ export const FirewallPolicy: coreClient.CompositeMapper = { className: "FirewallPolicySnat" } }, + sql: { + serializedName: "properties.sql", + type: { + name: "Composite", + className: "FirewallPolicySQL" + } + }, dnsSettings: { serializedName: "properties.dnsSettings", type: { @@ -15887,6 +16282,13 @@ export const FirewallPolicy: coreClient.CompositeMapper = { className: "DnsSettings" } }, + explicitProxySettings: { + serializedName: "properties.explicitProxySettings", + type: { + name: "Composite", + className: "ExplicitProxySettings" + } + }, intrusionDetection: { serializedName: "properties.intrusionDetection", type: { @@ -15952,6 +16354,7 @@ export const IpAllocation: coreClient.CompositeMapper = { } }, prefixLength: { + defaultValue: 0, serializedName: "properties.prefixLength", nullable: true, type: { @@ -16306,6 +16709,12 @@ export const NetworkVirtualAppliance: coreClient.CompositeMapper = { name: "Number" } }, + sshPublicKey: { + serializedName: "properties.sshPublicKey", + type: { + name: "String" + } + }, virtualApplianceNics: { serializedName: "properties.virtualApplianceNics", readOnly: true, @@ -16762,12 +17171,14 @@ export const VirtualNetwork: coreClient.CompositeMapper = { } }, enableDdosProtection: { + defaultValue: false, serializedName: "properties.enableDdosProtection", type: { name: "Boolean" } }, enableVmProtection: { + defaultValue: false, serializedName: "properties.enableVmProtection", type: { name: "Boolean" @@ -17913,6 +18324,13 @@ export const VirtualHub: coreClient.CompositeMapper = { name: "String" } }, + kind: { + serializedName: "kind", + readOnly: true, + type: { + name: "String" + } + }, virtualWan: { serializedName: "properties.virtualWan", type: { @@ -18134,6 +18552,12 @@ export const VpnGateway: coreClient.CompositeMapper = { } } }, + enableBgpRouteTranslationForNat: { + serializedName: "properties.enableBgpRouteTranslationForNat", + type: { + name: "Boolean" + } + }, isRoutingPreferenceInternet: { serializedName: "properties.isRoutingPreferenceInternet", type: { @@ -19247,6 +19671,12 @@ export const ServiceEndpointPolicyDefinition: coreClient.CompositeMapper = { name: "String" } }, + type: { + serializedName: "type", + type: { + name: "String" + } + }, description: { serializedName: "properties.description", type: { @@ -20105,6 +20535,25 @@ export const InboundNatRule: coreClient.CompositeMapper = { name: "Boolean" } }, + frontendPortRangeStart: { + serializedName: "properties.frontendPortRangeStart", + type: { + name: "Number" + } + }, + frontendPortRangeEnd: { + serializedName: "properties.frontendPortRangeEnd", + type: { + name: "Number" + } + }, + backendAddressPool: { + serializedName: "properties.backendAddressPool", + type: { + name: "Composite", + className: "SubResource" + } + }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, @@ -20697,6 +21146,13 @@ export const ApplicationGatewayPathRule: coreClient.CompositeMapper = { className: "SubResource" } }, + loadDistributionPolicy: { + serializedName: "properties.loadDistributionPolicy", + type: { + name: "Composite", + className: "SubResource" + } + }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, @@ -20769,6 +21225,13 @@ export const ApplicationGatewayUrlPathMap: coreClient.CompositeMapper = { className: "SubResource" } }, + defaultLoadDistributionPolicy: { + serializedName: "properties.defaultLoadDistributionPolicy", + type: { + name: "Composite", + className: "SubResource" + } + }, pathRules: { serializedName: "properties.pathRules", type: { @@ -20876,6 +21339,13 @@ export const ApplicationGatewayRequestRoutingRule: coreClient.CompositeMapper = className: "SubResource" } }, + loadDistributionPolicy: { + serializedName: "properties.loadDistributionPolicy", + type: { + name: "Composite", + className: "SubResource" + } + }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, @@ -21195,6 +21665,108 @@ export const ApplicationGatewayPrivateEndpointConnection: coreClient.CompositeMa } }; +export const ApplicationGatewayLoadDistributionTarget: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGatewayLoadDistributionTarget", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + weightPerServer: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1 + }, + serializedName: "properties.weightPerServer", + type: { + name: "Number" + } + }, + backendAddressPool: { + serializedName: "properties.backendAddressPool", + type: { + name: "Composite", + className: "SubResource" + } + } + } + } +}; + +export const ApplicationGatewayLoadDistributionPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGatewayLoadDistributionPolicy", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + loadDistributionTargets: { + serializedName: "properties.loadDistributionTargets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationGatewayLoadDistributionTarget" + } + } + } + }, + loadDistributionAlgorithm: { + serializedName: "properties.loadDistributionAlgorithm", + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const ApplicationGatewayPrivateLinkResource: coreClient.CompositeMapper = { type: { name: "Composite", @@ -24085,6 +24657,13 @@ export const BgpConnection: coreClient.CompositeMapper = { name: "String" } }, + hubVirtualNetworkConnection: { + serializedName: "properties.hubVirtualNetworkConnection", + type: { + name: "Composite", + className: "SubResource" + } + }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, diff --git a/sdk/network/arm-network/src/models/parameters.ts b/sdk/network/arm-network/src/models/parameters.ts index 625ba8943c05..404d51435fd6 100644 --- a/sdk/network/arm-network/src/models/parameters.ts +++ b/sdk/network/arm-network/src/models/parameters.ts @@ -176,7 +176,7 @@ export const applicationGatewayName: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-02-01", + defaultValue: "2021-03-01", isConstant: true, serializedName: "api-version", type: { @@ -1332,6 +1332,26 @@ export const serviceEndpointPolicyDefinitions: OperationParameter = { mapper: ServiceEndpointPolicyDefinitionMapper }; +export const noAddressPrefixes: OperationQueryParameter = { + parameterPath: ["options", "noAddressPrefixes"], + mapper: { + serializedName: "noAddressPrefixes", + type: { + name: "Boolean" + } + } +}; + +export const tagName: OperationQueryParameter = { + parameterPath: ["options", "tagName"], + mapper: { + serializedName: "tagName", + type: { + name: "String" + } + } +}; + export const location1: OperationURLParameter = { parameterPath: "location", mapper: { diff --git a/sdk/network/arm-network/src/networkManagementClient.ts b/sdk/network/arm-network/src/networkManagementClient.ts index cac80075f4f9..4400e95bb106 100644 --- a/sdk/network/arm-network/src/networkManagementClient.ts +++ b/sdk/network/arm-network/src/networkManagementClient.ts @@ -10,9 +10,8 @@ import * as coreClient from "@azure/core-client"; import * as coreAuth from "@azure/core-auth"; import "@azure/core-paging"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "./lro"; -import { CoreClientLro, shouldDeserializeLro } from "./coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "./lroImpl"; import { ApplicationGatewaysImpl, ApplicationGatewayPrivateLinkResourcesImpl, @@ -86,6 +85,7 @@ import { ServiceEndpointPoliciesImpl, ServiceEndpointPolicyDefinitionsImpl, ServiceTagsImpl, + ServiceTagInformationOperationsImpl, UsagesImpl, VirtualNetworksImpl, SubnetsImpl, @@ -195,6 +195,7 @@ import { ServiceEndpointPolicies, ServiceEndpointPolicyDefinitions, ServiceTags, + ServiceTagInformationOperations, Usages, VirtualNetworks, Subnets, @@ -398,6 +399,9 @@ export class NetworkManagementClient extends NetworkManagementClientContext { this ); this.serviceTags = new ServiceTagsImpl(this); + this.serviceTagInformationOperations = new ServiceTagInformationOperationsImpl( + this + ); this.usages = new UsagesImpl(this); this.virtualNetworks = new VirtualNetworksImpl(this); this.subnets = new SubnetsImpl(this); @@ -817,13 +821,16 @@ export class NetworkManagementClient extends NetworkManagementClientContext { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, bastionHostName, bslRequest, options }, - putBastionShareableLinkOperationSpec, - "location" + putBastionShareableLinkOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -878,13 +885,16 @@ export class NetworkManagementClient extends NetworkManagementClientContext { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, bastionHostName, bslRequest, options }, - deleteBastionShareableLinkOperationSpec, - "location" + deleteBastionShareableLinkOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -983,13 +993,16 @@ export class NetworkManagementClient extends NetworkManagementClientContext { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, bastionHostName, options }, - getActiveSessionsOperationSpec, - "location" + getActiveSessionsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1107,13 +1120,16 @@ export class NetworkManagementClient extends NetworkManagementClientContext { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualWANName, vpnClientParams, options }, - generatevirtualwanvpnserverconfigurationvpnprofileOperationSpec, - "location" + generatevirtualwanvpnserverconfigurationvpnprofileOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1299,6 +1315,7 @@ export class NetworkManagementClient extends NetworkManagementClientContext { serviceEndpointPolicies: ServiceEndpointPolicies; serviceEndpointPolicyDefinitions: ServiceEndpointPolicyDefinitions; serviceTags: ServiceTags; + serviceTagInformationOperations: ServiceTagInformationOperations; usages: Usages; virtualNetworks: VirtualNetworks; subnets: Subnets; diff --git a/sdk/network/arm-network/src/networkManagementClientContext.ts b/sdk/network/arm-network/src/networkManagementClientContext.ts index 267a0ea9ec79..466bee3c6f06 100644 --- a/sdk/network/arm-network/src/networkManagementClientContext.ts +++ b/sdk/network/arm-network/src/networkManagementClientContext.ts @@ -42,7 +42,7 @@ export class NetworkManagementClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-network/30.0.0-beta.1`; + const packageDetails = `azsdk-js-arm-network/30.0.0-beta.3`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/network/arm-network/src/operations/applicationGatewayPrivateEndpointConnections.ts b/sdk/network/arm-network/src/operations/applicationGatewayPrivateEndpointConnections.ts index 11e2d5a53917..4b1a54cc2684 100644 --- a/sdk/network/arm-network/src/operations/applicationGatewayPrivateEndpointConnections.ts +++ b/sdk/network/arm-network/src/operations/applicationGatewayPrivateEndpointConnections.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ApplicationGatewayPrivateEndpointConnection, ApplicationGatewayPrivateEndpointConnectionsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a ApplicationGatewayPrivateEndpointConnections. */ +/** Class containing ApplicationGatewayPrivateEndpointConnections operations. */ export class ApplicationGatewayPrivateEndpointConnectionsImpl implements ApplicationGatewayPrivateEndpointConnections { private readonly client: NetworkManagementClientContext; @@ -166,13 +165,16 @@ export class ApplicationGatewayPrivateEndpointConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationGatewayName, connectionName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -259,7 +261,7 @@ export class ApplicationGatewayPrivateEndpointConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -268,10 +270,13 @@ export class ApplicationGatewayPrivateEndpointConnectionsImpl parameters, options }, - updateOperationSpec, - "azure-async-operation" + updateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/applicationGatewayPrivateLinkResources.ts b/sdk/network/arm-network/src/operations/applicationGatewayPrivateLinkResources.ts index 92252ab4c9db..2c9ba7348309 100644 --- a/sdk/network/arm-network/src/operations/applicationGatewayPrivateLinkResources.ts +++ b/sdk/network/arm-network/src/operations/applicationGatewayPrivateLinkResources.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a ApplicationGatewayPrivateLinkResources. */ +/** Class containing ApplicationGatewayPrivateLinkResources operations. */ export class ApplicationGatewayPrivateLinkResourcesImpl implements ApplicationGatewayPrivateLinkResources { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/applicationGateways.ts b/sdk/network/arm-network/src/operations/applicationGateways.ts index 52626f04f57b..54dfb40b3ad9 100644 --- a/sdk/network/arm-network/src/operations/applicationGateways.ts +++ b/sdk/network/arm-network/src/operations/applicationGateways.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ApplicationGateway, ApplicationGatewaysListNextOptionalParams, @@ -61,7 +60,7 @@ import { } from "../models"; /// -/** Class representing a ApplicationGateways. */ +/** Class containing ApplicationGateways operations. */ export class ApplicationGatewaysImpl implements ApplicationGateways { private readonly client: NetworkManagementClientContext; @@ -262,13 +261,16 @@ export class ApplicationGatewaysImpl implements ApplicationGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationGatewayName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -364,13 +366,16 @@ export class ApplicationGatewaysImpl implements ApplicationGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationGatewayName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -489,13 +494,16 @@ export class ApplicationGatewaysImpl implements ApplicationGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationGatewayName, options }, - startOperationSpec, - "location" + startOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -567,13 +575,16 @@ export class ApplicationGatewaysImpl implements ApplicationGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationGatewayName, options }, - stopOperationSpec, - "location" + stopOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -650,13 +661,16 @@ export class ApplicationGatewaysImpl implements ApplicationGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationGatewayName, options }, - backendHealthOperationSpec, - "location" + backendHealthOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -736,13 +750,16 @@ export class ApplicationGatewaysImpl implements ApplicationGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationGatewayName, probeRequest, options }, - backendHealthOnDemandOperationSpec, - "location" + backendHealthOnDemandOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/applicationSecurityGroups.ts b/sdk/network/arm-network/src/operations/applicationSecurityGroups.ts index 04cbe6a462fc..5ea8d4f56c1c 100644 --- a/sdk/network/arm-network/src/operations/applicationSecurityGroups.ts +++ b/sdk/network/arm-network/src/operations/applicationSecurityGroups.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ApplicationSecurityGroup, ApplicationSecurityGroupsListAllNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a ApplicationSecurityGroups. */ +/** Class containing ApplicationSecurityGroups operations. */ export class ApplicationSecurityGroupsImpl implements ApplicationSecurityGroups { private readonly client: NetworkManagementClientContext; @@ -192,13 +191,16 @@ export class ApplicationSecurityGroupsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationSecurityGroupName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -294,13 +296,16 @@ export class ApplicationSecurityGroupsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, applicationSecurityGroupName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/availableDelegations.ts b/sdk/network/arm-network/src/operations/availableDelegations.ts index e340a75741e7..26e2b1e3fb09 100644 --- a/sdk/network/arm-network/src/operations/availableDelegations.ts +++ b/sdk/network/arm-network/src/operations/availableDelegations.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a AvailableDelegations. */ +/** Class containing AvailableDelegations operations. */ export class AvailableDelegationsImpl implements AvailableDelegations { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/availableEndpointServices.ts b/sdk/network/arm-network/src/operations/availableEndpointServices.ts index 9218ff47df67..6f4aece6c782 100644 --- a/sdk/network/arm-network/src/operations/availableEndpointServices.ts +++ b/sdk/network/arm-network/src/operations/availableEndpointServices.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a AvailableEndpointServices. */ +/** Class containing AvailableEndpointServices operations. */ export class AvailableEndpointServicesImpl implements AvailableEndpointServices { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/availablePrivateEndpointTypes.ts b/sdk/network/arm-network/src/operations/availablePrivateEndpointTypes.ts index 3665c01eaf33..721a6afd526b 100644 --- a/sdk/network/arm-network/src/operations/availablePrivateEndpointTypes.ts +++ b/sdk/network/arm-network/src/operations/availablePrivateEndpointTypes.ts @@ -26,7 +26,7 @@ import { } from "../models"; /// -/** Class representing a AvailablePrivateEndpointTypes. */ +/** Class containing AvailablePrivateEndpointTypes operations. */ export class AvailablePrivateEndpointTypesImpl implements AvailablePrivateEndpointTypes { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/availableResourceGroupDelegations.ts b/sdk/network/arm-network/src/operations/availableResourceGroupDelegations.ts index bc351d57d13e..1ab287fdf583 100644 --- a/sdk/network/arm-network/src/operations/availableResourceGroupDelegations.ts +++ b/sdk/network/arm-network/src/operations/availableResourceGroupDelegations.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a AvailableResourceGroupDelegations. */ +/** Class containing AvailableResourceGroupDelegations operations. */ export class AvailableResourceGroupDelegationsImpl implements AvailableResourceGroupDelegations { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/availableServiceAliases.ts b/sdk/network/arm-network/src/operations/availableServiceAliases.ts index f34e92ba89e1..b0fdf6dc088c 100644 --- a/sdk/network/arm-network/src/operations/availableServiceAliases.ts +++ b/sdk/network/arm-network/src/operations/availableServiceAliases.ts @@ -26,7 +26,7 @@ import { } from "../models"; /// -/** Class representing a AvailableServiceAliases. */ +/** Class containing AvailableServiceAliases operations. */ export class AvailableServiceAliasesImpl implements AvailableServiceAliases { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/azureFirewallFqdnTags.ts b/sdk/network/arm-network/src/operations/azureFirewallFqdnTags.ts index 6ca508e4f479..c4bc25819bff 100644 --- a/sdk/network/arm-network/src/operations/azureFirewallFqdnTags.ts +++ b/sdk/network/arm-network/src/operations/azureFirewallFqdnTags.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a AzureFirewallFqdnTags. */ +/** Class containing AzureFirewallFqdnTags operations. */ export class AzureFirewallFqdnTagsImpl implements AzureFirewallFqdnTags { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/azureFirewalls.ts b/sdk/network/arm-network/src/operations/azureFirewalls.ts index 2e15db89cbc0..cfbdd3aca006 100644 --- a/sdk/network/arm-network/src/operations/azureFirewalls.ts +++ b/sdk/network/arm-network/src/operations/azureFirewalls.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { AzureFirewall, AzureFirewallsListNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a AzureFirewalls. */ +/** Class containing AzureFirewalls operations. */ export class AzureFirewallsImpl implements AzureFirewalls { private readonly client: NetworkManagementClientContext; @@ -191,13 +190,16 @@ export class AzureFirewallsImpl implements AzureFirewalls { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, azureFirewallName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -293,13 +295,16 @@ export class AzureFirewallsImpl implements AzureFirewalls { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, azureFirewallName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -381,13 +386,16 @@ export class AzureFirewallsImpl implements AzureFirewalls { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, azureFirewallName, parameters, options }, - updateTagsOperationSpec, - "azure-async-operation" + updateTagsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/bastionHosts.ts b/sdk/network/arm-network/src/operations/bastionHosts.ts index 7538cedc9f13..5284a64d5569 100644 --- a/sdk/network/arm-network/src/operations/bastionHosts.ts +++ b/sdk/network/arm-network/src/operations/bastionHosts.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { BastionHost, BastionHostsListNextOptionalParams, @@ -27,6 +26,9 @@ import { BastionHostsGetResponse, BastionHostsCreateOrUpdateOptionalParams, BastionHostsCreateOrUpdateResponse, + TagsObject, + BastionHostsUpdateTagsOptionalParams, + BastionHostsUpdateTagsResponse, BastionHostsListResponse, BastionHostsListByResourceGroupResponse, BastionHostsListNextResponse, @@ -34,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a BastionHosts. */ +/** Class containing BastionHosts operations. */ export class BastionHostsImpl implements BastionHosts { private readonly client: NetworkManagementClientContext; @@ -191,13 +193,16 @@ export class BastionHostsImpl implements BastionHosts { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, bastionHostName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -293,13 +298,16 @@ export class BastionHostsImpl implements BastionHosts { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, bastionHostName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -324,6 +332,97 @@ export class BastionHostsImpl implements BastionHosts { return poller.pollUntilDone(); } + /** + * Updates Tags for BastionHost resource + * @param resourceGroupName The name of the resource group. + * @param bastionHostName The name of the Bastion Host. + * @param parameters Parameters supplied to update BastionHost tags. + * @param options The options parameters. + */ + async beginUpdateTags( + resourceGroupName: string, + bastionHostName: string, + parameters: TagsObject, + options?: BastionHostsUpdateTagsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + BastionHostsUpdateTagsResponse + > + > { + 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, bastionHostName, parameters, options }, + updateTagsOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); + } + + /** + * Updates Tags for BastionHost resource + * @param resourceGroupName The name of the resource group. + * @param bastionHostName The name of the Bastion Host. + * @param parameters Parameters supplied to update BastionHost tags. + * @param options The options parameters. + */ + async beginUpdateTagsAndWait( + resourceGroupName: string, + bastionHostName: string, + parameters: TagsObject, + options?: BastionHostsUpdateTagsOptionalParams + ): Promise { + const poller = await this.beginUpdateTags( + resourceGroupName, + bastionHostName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** * Lists all Bastion Hosts in a subscription. * @param options The options parameters. @@ -462,6 +561,39 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { mediaType: "json", serializer }; +const updateTagsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.BastionHost + }, + 201: { + bodyMapper: Mappers.BastionHost + }, + 202: { + bodyMapper: Mappers.BastionHost + }, + 204: { + bodyMapper: Mappers.BastionHost + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.bastionHostName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; const listOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts", diff --git a/sdk/network/arm-network/src/operations/bgpServiceCommunities.ts b/sdk/network/arm-network/src/operations/bgpServiceCommunities.ts index 1af67b7ad0a6..9f585a19c673 100644 --- a/sdk/network/arm-network/src/operations/bgpServiceCommunities.ts +++ b/sdk/network/arm-network/src/operations/bgpServiceCommunities.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a BgpServiceCommunities. */ +/** Class containing BgpServiceCommunities operations. */ export class BgpServiceCommunitiesImpl implements BgpServiceCommunities { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/connectionMonitors.ts b/sdk/network/arm-network/src/operations/connectionMonitors.ts index 7dc1b7c77b1d..d5857ae552b1 100644 --- a/sdk/network/arm-network/src/operations/connectionMonitors.ts +++ b/sdk/network/arm-network/src/operations/connectionMonitors.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ConnectionMonitorResult, ConnectionMonitorsListOptionalParams, @@ -36,7 +35,7 @@ import { } from "../models"; /// -/** Class representing a ConnectionMonitors. */ +/** Class containing ConnectionMonitors operations. */ export class ConnectionMonitorsImpl implements ConnectionMonitors { private readonly client: NetworkManagementClientContext; @@ -167,7 +166,7 @@ export class ConnectionMonitorsImpl implements ConnectionMonitors { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -176,10 +175,13 @@ export class ConnectionMonitorsImpl implements ConnectionMonitors { parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -278,13 +280,16 @@ export class ConnectionMonitorsImpl implements ConnectionMonitors { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, connectionMonitorName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -388,13 +393,16 @@ export class ConnectionMonitorsImpl implements ConnectionMonitors { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, connectionMonitorName, options }, - stopOperationSpec, - "location" + stopOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -471,13 +479,16 @@ export class ConnectionMonitorsImpl implements ConnectionMonitors { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, connectionMonitorName, options }, - startOperationSpec, - "location" + startOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -559,13 +570,16 @@ export class ConnectionMonitorsImpl implements ConnectionMonitors { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, connectionMonitorName, options }, - queryOperationSpec, - "location" + queryOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/customIPPrefixes.ts b/sdk/network/arm-network/src/operations/customIPPrefixes.ts index 790c1f8daff1..c040ebff9e4b 100644 --- a/sdk/network/arm-network/src/operations/customIPPrefixes.ts +++ b/sdk/network/arm-network/src/operations/customIPPrefixes.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { CustomIpPrefix, CustomIPPrefixesListAllNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a CustomIPPrefixes. */ +/** Class containing CustomIPPrefixes operations. */ export class CustomIPPrefixesImpl implements CustomIPPrefixes { private readonly client: NetworkManagementClientContext; @@ -191,13 +190,16 @@ export class CustomIPPrefixesImpl implements CustomIPPrefixes { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, customIpPrefixName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -293,13 +295,16 @@ export class CustomIPPrefixesImpl implements CustomIPPrefixes { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, customIpPrefixName, parameters, options }, - createOrUpdateOperationSpec, - "location" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/ddosCustomPolicies.ts b/sdk/network/arm-network/src/operations/ddosCustomPolicies.ts index 04c4b6f5b572..6cc27414e84a 100644 --- a/sdk/network/arm-network/src/operations/ddosCustomPolicies.ts +++ b/sdk/network/arm-network/src/operations/ddosCustomPolicies.ts @@ -11,9 +11,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { DdosCustomPoliciesDeleteOptionalParams, DdosCustomPoliciesGetOptionalParams, @@ -26,7 +25,7 @@ import { DdosCustomPoliciesUpdateTagsResponse } from "../models"; -/** Class representing a DdosCustomPolicies. */ +/** Class containing DdosCustomPolicies operations. */ export class DdosCustomPoliciesImpl implements DdosCustomPolicies { private readonly client: NetworkManagementClientContext; @@ -88,13 +87,16 @@ export class DdosCustomPoliciesImpl implements DdosCustomPolicies { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, ddosCustomPolicyName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -190,13 +192,16 @@ export class DdosCustomPoliciesImpl implements DdosCustomPolicies { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, ddosCustomPolicyName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/ddosProtectionPlans.ts b/sdk/network/arm-network/src/operations/ddosProtectionPlans.ts index 78817b4f2983..d1f17ea5281b 100644 --- a/sdk/network/arm-network/src/operations/ddosProtectionPlans.ts +++ b/sdk/network/arm-network/src/operations/ddosProtectionPlans.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { DdosProtectionPlan, DdosProtectionPlansListNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a DdosProtectionPlans. */ +/** Class containing DdosProtectionPlans operations. */ export class DdosProtectionPlansImpl implements DdosProtectionPlans { private readonly client: NetworkManagementClientContext; @@ -194,13 +193,16 @@ export class DdosProtectionPlansImpl implements DdosProtectionPlans { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, ddosProtectionPlanName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -296,13 +298,16 @@ export class DdosProtectionPlansImpl implements DdosProtectionPlans { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, ddosProtectionPlanName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/defaultSecurityRules.ts b/sdk/network/arm-network/src/operations/defaultSecurityRules.ts index b6c92597fb55..2e2522fe06c0 100644 --- a/sdk/network/arm-network/src/operations/defaultSecurityRules.ts +++ b/sdk/network/arm-network/src/operations/defaultSecurityRules.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a DefaultSecurityRules. */ +/** Class containing DefaultSecurityRules operations. */ export class DefaultSecurityRulesImpl implements DefaultSecurityRules { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/dscpConfigurationOperations.ts b/sdk/network/arm-network/src/operations/dscpConfigurationOperations.ts index 8b983976fb93..3482144f7ca5 100644 --- a/sdk/network/arm-network/src/operations/dscpConfigurationOperations.ts +++ b/sdk/network/arm-network/src/operations/dscpConfigurationOperations.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { DscpConfiguration, DscpConfigurationOperationsListNextOptionalParams, @@ -34,7 +33,7 @@ import { } from "../models"; /// -/** Class representing a DscpConfigurationOperations. */ +/** Class containing DscpConfigurationOperations operations. */ export class DscpConfigurationOperationsImpl implements DscpConfigurationOperations { private readonly client: NetworkManagementClientContext; @@ -196,13 +195,16 @@ export class DscpConfigurationOperationsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, dscpConfigurationName, parameters, options }, - createOrUpdateOperationSpec, - "location" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -277,13 +279,16 @@ export class DscpConfigurationOperationsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, dscpConfigurationName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteCircuitAuthorizations.ts b/sdk/network/arm-network/src/operations/expressRouteCircuitAuthorizations.ts index 4c3d7ada894f..d54389f6a598 100644 --- a/sdk/network/arm-network/src/operations/expressRouteCircuitAuthorizations.ts +++ b/sdk/network/arm-network/src/operations/expressRouteCircuitAuthorizations.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRouteCircuitAuthorization, ExpressRouteCircuitAuthorizationsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRouteCircuitAuthorizations. */ +/** Class containing ExpressRouteCircuitAuthorizations operations. */ export class ExpressRouteCircuitAuthorizationsImpl implements ExpressRouteCircuitAuthorizations { private readonly client: NetworkManagementClientContext; @@ -154,13 +153,16 @@ export class ExpressRouteCircuitAuthorizationsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, circuitName, authorizationName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -266,7 +268,7 @@ export class ExpressRouteCircuitAuthorizationsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -275,10 +277,13 @@ export class ExpressRouteCircuitAuthorizationsImpl authorizationParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteCircuitConnections.ts b/sdk/network/arm-network/src/operations/expressRouteCircuitConnections.ts index 2e471870cf5e..6f1b6ea96628 100644 --- a/sdk/network/arm-network/src/operations/expressRouteCircuitConnections.ts +++ b/sdk/network/arm-network/src/operations/expressRouteCircuitConnections.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRouteCircuitConnection, ExpressRouteCircuitConnectionsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRouteCircuitConnections. */ +/** Class containing ExpressRouteCircuitConnections operations. */ export class ExpressRouteCircuitConnectionsImpl implements ExpressRouteCircuitConnections { private readonly client: NetworkManagementClientContext; @@ -177,13 +176,16 @@ export class ExpressRouteCircuitConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, circuitName, peeringName, connectionName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -294,7 +296,7 @@ export class ExpressRouteCircuitConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -304,10 +306,13 @@ export class ExpressRouteCircuitConnectionsImpl expressRouteCircuitConnectionParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteCircuitPeerings.ts b/sdk/network/arm-network/src/operations/expressRouteCircuitPeerings.ts index 3a39e95f6758..7bf5c72097e6 100644 --- a/sdk/network/arm-network/src/operations/expressRouteCircuitPeerings.ts +++ b/sdk/network/arm-network/src/operations/expressRouteCircuitPeerings.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRouteCircuitPeering, ExpressRouteCircuitPeeringsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRouteCircuitPeerings. */ +/** Class containing ExpressRouteCircuitPeerings operations. */ export class ExpressRouteCircuitPeeringsImpl implements ExpressRouteCircuitPeerings { private readonly client: NetworkManagementClientContext; @@ -154,13 +153,16 @@ export class ExpressRouteCircuitPeeringsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, circuitName, peeringName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -264,7 +266,7 @@ export class ExpressRouteCircuitPeeringsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -273,10 +275,13 @@ export class ExpressRouteCircuitPeeringsImpl peeringParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteCircuits.ts b/sdk/network/arm-network/src/operations/expressRouteCircuits.ts index adabda2d1336..990601d0039d 100644 --- a/sdk/network/arm-network/src/operations/expressRouteCircuits.ts +++ b/sdk/network/arm-network/src/operations/expressRouteCircuits.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRouteCircuit, ExpressRouteCircuitsListNextOptionalParams, @@ -47,7 +46,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRouteCircuits. */ +/** Class containing ExpressRouteCircuits operations. */ export class ExpressRouteCircuitsImpl implements ExpressRouteCircuits { private readonly client: NetworkManagementClientContext; @@ -201,13 +200,16 @@ export class ExpressRouteCircuitsImpl implements ExpressRouteCircuits { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, circuitName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -303,13 +305,16 @@ export class ExpressRouteCircuitsImpl implements ExpressRouteCircuits { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, circuitName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -413,13 +418,16 @@ export class ExpressRouteCircuitsImpl implements ExpressRouteCircuits { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, circuitName, peeringName, devicePath, options }, - listArpTableOperationSpec, - "location" + listArpTableOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -508,13 +516,16 @@ export class ExpressRouteCircuitsImpl implements ExpressRouteCircuits { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, circuitName, peeringName, devicePath, options }, - listRoutesTableOperationSpec, - "location" + listRoutesTableOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -603,13 +614,16 @@ export class ExpressRouteCircuitsImpl implements ExpressRouteCircuits { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, circuitName, peeringName, devicePath, options }, - listRoutesTableSummaryOperationSpec, - "location" + listRoutesTableSummaryOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteConnections.ts b/sdk/network/arm-network/src/operations/expressRouteConnections.ts index e4a73dbaa8be..250919aab506 100644 --- a/sdk/network/arm-network/src/operations/expressRouteConnections.ts +++ b/sdk/network/arm-network/src/operations/expressRouteConnections.ts @@ -11,9 +11,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRouteConnection, ExpressRouteConnectionsCreateOrUpdateOptionalParams, @@ -25,7 +24,7 @@ import { ExpressRouteConnectionsListResponse } from "../models"; -/** Class representing a ExpressRouteConnections. */ +/** Class containing ExpressRouteConnections operations. */ export class ExpressRouteConnectionsImpl implements ExpressRouteConnections { private readonly client: NetworkManagementClientContext; @@ -97,7 +96,7 @@ export class ExpressRouteConnectionsImpl implements ExpressRouteConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -106,10 +105,13 @@ export class ExpressRouteConnectionsImpl implements ExpressRouteConnections { putExpressRouteConnectionParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -209,13 +211,16 @@ export class ExpressRouteConnectionsImpl implements ExpressRouteConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, expressRouteGatewayName, connectionName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteCrossConnectionPeerings.ts b/sdk/network/arm-network/src/operations/expressRouteCrossConnectionPeerings.ts index 5189540a2b72..87601fb06e98 100644 --- a/sdk/network/arm-network/src/operations/expressRouteCrossConnectionPeerings.ts +++ b/sdk/network/arm-network/src/operations/expressRouteCrossConnectionPeerings.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRouteCrossConnectionPeering, ExpressRouteCrossConnectionPeeringsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRouteCrossConnectionPeerings. */ +/** Class containing ExpressRouteCrossConnectionPeerings operations. */ export class ExpressRouteCrossConnectionPeeringsImpl implements ExpressRouteCrossConnectionPeerings { private readonly client: NetworkManagementClientContext; @@ -183,13 +182,16 @@ export class ExpressRouteCrossConnectionPeeringsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, crossConnectionName, peeringName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -295,7 +297,7 @@ export class ExpressRouteCrossConnectionPeeringsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -304,10 +306,13 @@ export class ExpressRouteCrossConnectionPeeringsImpl peeringParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteCrossConnections.ts b/sdk/network/arm-network/src/operations/expressRouteCrossConnections.ts index c98c9d12261f..bd2f639cfbcb 100644 --- a/sdk/network/arm-network/src/operations/expressRouteCrossConnections.ts +++ b/sdk/network/arm-network/src/operations/expressRouteCrossConnections.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRouteCrossConnection, ExpressRouteCrossConnectionsListNextOptionalParams, @@ -42,7 +41,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRouteCrossConnections. */ +/** Class containing ExpressRouteCrossConnections operations. */ export class ExpressRouteCrossConnectionsImpl implements ExpressRouteCrossConnections { private readonly client: NetworkManagementClientContext; @@ -249,13 +248,16 @@ export class ExpressRouteCrossConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, crossConnectionName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -364,7 +366,7 @@ export class ExpressRouteCrossConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -373,10 +375,13 @@ export class ExpressRouteCrossConnectionsImpl devicePath, options }, - listArpTableOperationSpec, - "location" + listArpTableOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -466,7 +471,7 @@ export class ExpressRouteCrossConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -475,10 +480,13 @@ export class ExpressRouteCrossConnectionsImpl devicePath, options }, - listRoutesTableSummaryOperationSpec, - "location" + listRoutesTableSummaryOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -566,7 +574,7 @@ export class ExpressRouteCrossConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -575,10 +583,13 @@ export class ExpressRouteCrossConnectionsImpl devicePath, options }, - listRoutesTableOperationSpec, - "location" + listRoutesTableOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteGateways.ts b/sdk/network/arm-network/src/operations/expressRouteGateways.ts index 7f7e33c989ca..118811874b88 100644 --- a/sdk/network/arm-network/src/operations/expressRouteGateways.ts +++ b/sdk/network/arm-network/src/operations/expressRouteGateways.ts @@ -11,9 +11,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRouteGatewaysListBySubscriptionOptionalParams, ExpressRouteGatewaysListBySubscriptionResponse, @@ -30,7 +29,7 @@ import { ExpressRouteGatewaysDeleteOptionalParams } from "../models"; -/** Class representing a ExpressRouteGateways. */ +/** Class containing ExpressRouteGateways operations. */ export class ExpressRouteGatewaysImpl implements ExpressRouteGateways { private readonly client: NetworkManagementClientContext; @@ -128,7 +127,7 @@ export class ExpressRouteGatewaysImpl implements ExpressRouteGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -136,10 +135,13 @@ export class ExpressRouteGatewaysImpl implements ExpressRouteGateways { putExpressRouteGatewayParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -223,7 +225,7 @@ export class ExpressRouteGatewaysImpl implements ExpressRouteGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -231,10 +233,13 @@ export class ExpressRouteGatewaysImpl implements ExpressRouteGateways { expressRouteGatewayParameters, options }, - updateTagsOperationSpec, - "azure-async-operation" + updateTagsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -328,13 +333,16 @@ export class ExpressRouteGatewaysImpl implements ExpressRouteGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, expressRouteGatewayName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRouteLinks.ts b/sdk/network/arm-network/src/operations/expressRouteLinks.ts index 936bbe2a9d05..9f20178be5f7 100644 --- a/sdk/network/arm-network/src/operations/expressRouteLinks.ts +++ b/sdk/network/arm-network/src/operations/expressRouteLinks.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRouteLinks. */ +/** Class containing ExpressRouteLinks operations. */ export class ExpressRouteLinksImpl implements ExpressRouteLinks { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/expressRoutePorts.ts b/sdk/network/arm-network/src/operations/expressRoutePorts.ts index 19f49a96d3a0..650db0e68195 100644 --- a/sdk/network/arm-network/src/operations/expressRoutePorts.ts +++ b/sdk/network/arm-network/src/operations/expressRoutePorts.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ExpressRoutePort, ExpressRoutePortsListByResourceGroupNextOptionalParams, @@ -40,7 +39,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRoutePorts. */ +/** Class containing ExpressRoutePorts operations. */ export class ExpressRoutePortsImpl implements ExpressRoutePorts { private readonly client: NetworkManagementClientContext; @@ -197,13 +196,16 @@ export class ExpressRoutePortsImpl implements ExpressRoutePorts { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, expressRoutePortName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -299,13 +301,16 @@ export class ExpressRoutePortsImpl implements ExpressRoutePorts { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, expressRoutePortName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/expressRoutePortsLocations.ts b/sdk/network/arm-network/src/operations/expressRoutePortsLocations.ts index 2b4e5059f864..779bd893e537 100644 --- a/sdk/network/arm-network/src/operations/expressRoutePortsLocations.ts +++ b/sdk/network/arm-network/src/operations/expressRoutePortsLocations.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRoutePortsLocations. */ +/** Class containing ExpressRoutePortsLocations operations. */ export class ExpressRoutePortsLocationsImpl implements ExpressRoutePortsLocations { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/expressRouteServiceProviders.ts b/sdk/network/arm-network/src/operations/expressRouteServiceProviders.ts index dcb38b447dd6..ec22e853cd8f 100644 --- a/sdk/network/arm-network/src/operations/expressRouteServiceProviders.ts +++ b/sdk/network/arm-network/src/operations/expressRouteServiceProviders.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a ExpressRouteServiceProviders. */ +/** Class containing ExpressRouteServiceProviders operations. */ export class ExpressRouteServiceProvidersImpl implements ExpressRouteServiceProviders { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/firewallPolicies.ts b/sdk/network/arm-network/src/operations/firewallPolicies.ts index 32c7f6fbfafb..2111e206ee83 100644 --- a/sdk/network/arm-network/src/operations/firewallPolicies.ts +++ b/sdk/network/arm-network/src/operations/firewallPolicies.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { FirewallPolicy, FirewallPoliciesListNextOptionalParams, @@ -34,7 +33,7 @@ import { } from "../models"; /// -/** Class representing a FirewallPolicies. */ +/** Class containing FirewallPolicies operations. */ export class FirewallPoliciesImpl implements FirewallPolicies { private readonly client: NetworkManagementClientContext; @@ -188,13 +187,16 @@ export class FirewallPoliciesImpl implements FirewallPolicies { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, firewallPolicyName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -290,13 +292,16 @@ export class FirewallPoliciesImpl implements FirewallPolicies { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, firewallPolicyName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/firewallPolicyRuleCollectionGroups.ts b/sdk/network/arm-network/src/operations/firewallPolicyRuleCollectionGroups.ts index 44deeebc3788..415b391ac705 100644 --- a/sdk/network/arm-network/src/operations/firewallPolicyRuleCollectionGroups.ts +++ b/sdk/network/arm-network/src/operations/firewallPolicyRuleCollectionGroups.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { FirewallPolicyRuleCollectionGroup, FirewallPolicyRuleCollectionGroupsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a FirewallPolicyRuleCollectionGroups. */ +/** Class containing FirewallPolicyRuleCollectionGroups operations. */ export class FirewallPolicyRuleCollectionGroupsImpl implements FirewallPolicyRuleCollectionGroups { private readonly client: NetworkManagementClientContext; @@ -166,7 +165,7 @@ export class FirewallPolicyRuleCollectionGroupsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -174,10 +173,13 @@ export class FirewallPolicyRuleCollectionGroupsImpl ruleCollectionGroupName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -288,7 +290,7 @@ export class FirewallPolicyRuleCollectionGroupsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -297,10 +299,13 @@ export class FirewallPolicyRuleCollectionGroupsImpl parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/flowLogs.ts b/sdk/network/arm-network/src/operations/flowLogs.ts index a1af407a5835..5326ce2e3a5c 100644 --- a/sdk/network/arm-network/src/operations/flowLogs.ts +++ b/sdk/network/arm-network/src/operations/flowLogs.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { FlowLog, FlowLogsListNextOptionalParams, @@ -33,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a FlowLogs. */ +/** Class containing FlowLogs operations. */ export class FlowLogsImpl implements FlowLogs { private readonly client: NetworkManagementClientContext; @@ -175,7 +174,7 @@ export class FlowLogsImpl implements FlowLogs { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -184,10 +183,13 @@ export class FlowLogsImpl implements FlowLogs { parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -313,13 +315,16 @@ export class FlowLogsImpl implements FlowLogs { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, flowLogName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/hubRouteTables.ts b/sdk/network/arm-network/src/operations/hubRouteTables.ts index 4cd6db685ca4..79324944db9f 100644 --- a/sdk/network/arm-network/src/operations/hubRouteTables.ts +++ b/sdk/network/arm-network/src/operations/hubRouteTables.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { HubRouteTable, HubRouteTablesListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a HubRouteTables. */ +/** Class containing HubRouteTables operations. */ export class HubRouteTablesImpl implements HubRouteTables { private readonly client: NetworkManagementClientContext; @@ -160,7 +159,7 @@ export class HubRouteTablesImpl implements HubRouteTables { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -169,10 +168,13 @@ export class HubRouteTablesImpl implements HubRouteTables { routeTableParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -271,13 +273,16 @@ export class HubRouteTablesImpl implements HubRouteTables { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, routeTableName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/hubVirtualNetworkConnections.ts b/sdk/network/arm-network/src/operations/hubVirtualNetworkConnections.ts index f947cbacba26..fa2dcd9b9422 100644 --- a/sdk/network/arm-network/src/operations/hubVirtualNetworkConnections.ts +++ b/sdk/network/arm-network/src/operations/hubVirtualNetworkConnections.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { HubVirtualNetworkConnection, HubVirtualNetworkConnectionsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a HubVirtualNetworkConnections. */ +/** Class containing HubVirtualNetworkConnections operations. */ export class HubVirtualNetworkConnectionsImpl implements HubVirtualNetworkConnections { private readonly client: NetworkManagementClientContext; @@ -162,7 +161,7 @@ export class HubVirtualNetworkConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -171,10 +170,13 @@ export class HubVirtualNetworkConnectionsImpl hubVirtualNetworkConnectionParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -255,13 +257,16 @@ export class HubVirtualNetworkConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, connectionName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/inboundNatRules.ts b/sdk/network/arm-network/src/operations/inboundNatRules.ts index 4e1323134342..62ff88d4da86 100644 --- a/sdk/network/arm-network/src/operations/inboundNatRules.ts +++ b/sdk/network/arm-network/src/operations/inboundNatRules.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { InboundNatRule, InboundNatRulesListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a InboundNatRules. */ +/** Class containing InboundNatRules operations. */ export class InboundNatRulesImpl implements InboundNatRules { private readonly client: NetworkManagementClientContext; @@ -178,13 +177,16 @@ export class InboundNatRulesImpl implements InboundNatRules { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, loadBalancerName, inboundNatRuleName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -288,7 +290,7 @@ export class InboundNatRulesImpl implements InboundNatRules { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -297,10 +299,13 @@ export class InboundNatRulesImpl implements InboundNatRules { inboundNatRuleParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/inboundSecurityRuleOperations.ts b/sdk/network/arm-network/src/operations/inboundSecurityRuleOperations.ts index 9e6fc0b44832..bc2c2316408e 100644 --- a/sdk/network/arm-network/src/operations/inboundSecurityRuleOperations.ts +++ b/sdk/network/arm-network/src/operations/inboundSecurityRuleOperations.ts @@ -11,16 +11,15 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { InboundSecurityRule, InboundSecurityRuleOperationsCreateOrUpdateOptionalParams, InboundSecurityRuleOperationsCreateOrUpdateResponse } from "../models"; -/** Class representing a InboundSecurityRuleOperations. */ +/** Class containing InboundSecurityRuleOperations operations. */ export class InboundSecurityRuleOperationsImpl implements InboundSecurityRuleOperations { private readonly client: NetworkManagementClientContext; @@ -93,7 +92,7 @@ export class InboundSecurityRuleOperationsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -102,10 +101,13 @@ export class InboundSecurityRuleOperationsImpl parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/index.ts b/sdk/network/arm-network/src/operations/index.ts index a1908777d429..605df06c1268 100644 --- a/sdk/network/arm-network/src/operations/index.ts +++ b/sdk/network/arm-network/src/operations/index.ts @@ -78,6 +78,7 @@ export * from "./bgpServiceCommunities"; export * from "./serviceEndpointPolicies"; export * from "./serviceEndpointPolicyDefinitions"; export * from "./serviceTags"; +export * from "./serviceTagInformationOperations"; export * from "./usages"; export * from "./virtualNetworks"; export * from "./subnets"; diff --git a/sdk/network/arm-network/src/operations/ipAllocations.ts b/sdk/network/arm-network/src/operations/ipAllocations.ts index 6392583b6e43..693a2e75588c 100644 --- a/sdk/network/arm-network/src/operations/ipAllocations.ts +++ b/sdk/network/arm-network/src/operations/ipAllocations.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { IpAllocation, IpAllocationsListNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a IpAllocations. */ +/** Class containing IpAllocations operations. */ export class IpAllocationsImpl implements IpAllocations { private readonly client: NetworkManagementClientContext; @@ -194,13 +193,16 @@ export class IpAllocationsImpl implements IpAllocations { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, ipAllocationName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -296,13 +298,16 @@ export class IpAllocationsImpl implements IpAllocations { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, ipAllocationName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/ipGroups.ts b/sdk/network/arm-network/src/operations/ipGroups.ts index a3de321aa29b..451c25c4f69d 100644 --- a/sdk/network/arm-network/src/operations/ipGroups.ts +++ b/sdk/network/arm-network/src/operations/ipGroups.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { IpGroup, IpGroupsListByResourceGroupNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a IpGroups. */ +/** Class containing IpGroups operations. */ export class IpGroupsImpl implements IpGroups { private readonly client: NetworkManagementClientContext; @@ -218,13 +217,16 @@ export class IpGroupsImpl implements IpGroups { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, ipGroupsName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -318,13 +320,16 @@ export class IpGroupsImpl implements IpGroups { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, ipGroupsName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/loadBalancerBackendAddressPools.ts b/sdk/network/arm-network/src/operations/loadBalancerBackendAddressPools.ts index 49f1f9d898eb..eb0301752308 100644 --- a/sdk/network/arm-network/src/operations/loadBalancerBackendAddressPools.ts +++ b/sdk/network/arm-network/src/operations/loadBalancerBackendAddressPools.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { BackendAddressPool, LoadBalancerBackendAddressPoolsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a LoadBalancerBackendAddressPools. */ +/** Class containing LoadBalancerBackendAddressPools operations. */ export class LoadBalancerBackendAddressPoolsImpl implements LoadBalancerBackendAddressPools { private readonly client: NetworkManagementClientContext; @@ -206,7 +205,7 @@ export class LoadBalancerBackendAddressPoolsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -215,10 +214,13 @@ export class LoadBalancerBackendAddressPoolsImpl parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -299,13 +301,16 @@ export class LoadBalancerBackendAddressPoolsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, loadBalancerName, backendAddressPoolName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/loadBalancerFrontendIPConfigurations.ts b/sdk/network/arm-network/src/operations/loadBalancerFrontendIPConfigurations.ts index 19377dd126e7..7266b51643a3 100644 --- a/sdk/network/arm-network/src/operations/loadBalancerFrontendIPConfigurations.ts +++ b/sdk/network/arm-network/src/operations/loadBalancerFrontendIPConfigurations.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a LoadBalancerFrontendIPConfigurations. */ +/** Class containing LoadBalancerFrontendIPConfigurations operations. */ export class LoadBalancerFrontendIPConfigurationsImpl implements LoadBalancerFrontendIPConfigurations { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/loadBalancerLoadBalancingRules.ts b/sdk/network/arm-network/src/operations/loadBalancerLoadBalancingRules.ts index 7f6629769872..7f5b85462b9d 100644 --- a/sdk/network/arm-network/src/operations/loadBalancerLoadBalancingRules.ts +++ b/sdk/network/arm-network/src/operations/loadBalancerLoadBalancingRules.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a LoadBalancerLoadBalancingRules. */ +/** Class containing LoadBalancerLoadBalancingRules operations. */ export class LoadBalancerLoadBalancingRulesImpl implements LoadBalancerLoadBalancingRules { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/loadBalancerNetworkInterfaces.ts b/sdk/network/arm-network/src/operations/loadBalancerNetworkInterfaces.ts index 02010c76afab..7e8c05e3880e 100644 --- a/sdk/network/arm-network/src/operations/loadBalancerNetworkInterfaces.ts +++ b/sdk/network/arm-network/src/operations/loadBalancerNetworkInterfaces.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a LoadBalancerNetworkInterfaces. */ +/** Class containing LoadBalancerNetworkInterfaces operations. */ export class LoadBalancerNetworkInterfacesImpl implements LoadBalancerNetworkInterfaces { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/loadBalancerOutboundRules.ts b/sdk/network/arm-network/src/operations/loadBalancerOutboundRules.ts index 3370a9e772e7..3309736bc98f 100644 --- a/sdk/network/arm-network/src/operations/loadBalancerOutboundRules.ts +++ b/sdk/network/arm-network/src/operations/loadBalancerOutboundRules.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a LoadBalancerOutboundRules. */ +/** Class containing LoadBalancerOutboundRules operations. */ export class LoadBalancerOutboundRulesImpl implements LoadBalancerOutboundRules { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/loadBalancerProbes.ts b/sdk/network/arm-network/src/operations/loadBalancerProbes.ts index a0eb302676ae..37b1c7f85e99 100644 --- a/sdk/network/arm-network/src/operations/loadBalancerProbes.ts +++ b/sdk/network/arm-network/src/operations/loadBalancerProbes.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a LoadBalancerProbes. */ +/** Class containing LoadBalancerProbes operations. */ export class LoadBalancerProbesImpl implements LoadBalancerProbes { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/loadBalancers.ts b/sdk/network/arm-network/src/operations/loadBalancers.ts index ecd9ff112514..f6210aa1a43f 100644 --- a/sdk/network/arm-network/src/operations/loadBalancers.ts +++ b/sdk/network/arm-network/src/operations/loadBalancers.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { LoadBalancer, LoadBalancersListAllNextOptionalParams, @@ -39,7 +38,7 @@ import { } from "../models"; /// -/** Class representing a LoadBalancers. */ +/** Class containing LoadBalancers operations. */ export class LoadBalancersImpl implements LoadBalancers { private readonly client: NetworkManagementClientContext; @@ -193,13 +192,16 @@ export class LoadBalancersImpl implements LoadBalancers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, loadBalancerName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -295,13 +297,16 @@ export class LoadBalancersImpl implements LoadBalancers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, loadBalancerName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -420,13 +425,16 @@ export class LoadBalancersImpl implements LoadBalancers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { location, parameters, options }, - swapPublicIpAddressesOperationSpec, - "location" + swapPublicIpAddressesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/localNetworkGateways.ts b/sdk/network/arm-network/src/operations/localNetworkGateways.ts index ffdcb635ce75..7e7945d0b4ef 100644 --- a/sdk/network/arm-network/src/operations/localNetworkGateways.ts +++ b/sdk/network/arm-network/src/operations/localNetworkGateways.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { LocalNetworkGateway, LocalNetworkGatewaysListNextOptionalParams, @@ -33,7 +32,7 @@ import { } from "../models"; /// -/** Class representing a LocalNetworkGateways. */ +/** Class containing LocalNetworkGateways operations. */ export class LocalNetworkGatewaysImpl implements LocalNetworkGateways { private readonly client: NetworkManagementClientContext; @@ -152,13 +151,16 @@ export class LocalNetworkGatewaysImpl implements LocalNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, localNetworkGatewayName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -250,13 +252,16 @@ export class LocalNetworkGatewaysImpl implements LocalNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, localNetworkGatewayName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/natGateways.ts b/sdk/network/arm-network/src/operations/natGateways.ts index 8e6127f4ca87..48e63299da34 100644 --- a/sdk/network/arm-network/src/operations/natGateways.ts +++ b/sdk/network/arm-network/src/operations/natGateways.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { NatGateway, NatGatewaysListAllNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a NatGateways. */ +/** Class containing NatGateways operations. */ export class NatGatewaysImpl implements NatGateways { private readonly client: NetworkManagementClientContext; @@ -191,13 +190,16 @@ export class NatGatewaysImpl implements NatGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, natGatewayName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -293,13 +295,16 @@ export class NatGatewaysImpl implements NatGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, natGatewayName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/natRules.ts b/sdk/network/arm-network/src/operations/natRules.ts index 62f65b384e8b..7225558be9cb 100644 --- a/sdk/network/arm-network/src/operations/natRules.ts +++ b/sdk/network/arm-network/src/operations/natRules.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VpnGatewayNatRule, NatRulesListByVpnGatewayNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a NatRules. */ +/** Class containing NatRules operations. */ export class NatRulesImpl implements NatRules { private readonly client: NetworkManagementClientContext; @@ -192,7 +191,7 @@ export class NatRulesImpl implements NatRules { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -201,10 +200,13 @@ export class NatRulesImpl implements NatRules { natRuleParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -285,13 +287,16 @@ export class NatRulesImpl implements NatRules { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, natRuleName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/networkInterfaceIPConfigurations.ts b/sdk/network/arm-network/src/operations/networkInterfaceIPConfigurations.ts index 4caa01098ba2..257d45af3b7e 100644 --- a/sdk/network/arm-network/src/operations/networkInterfaceIPConfigurations.ts +++ b/sdk/network/arm-network/src/operations/networkInterfaceIPConfigurations.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a NetworkInterfaceIPConfigurations. */ +/** Class containing NetworkInterfaceIPConfigurations operations. */ export class NetworkInterfaceIPConfigurationsImpl implements NetworkInterfaceIPConfigurations { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/networkInterfaceLoadBalancers.ts b/sdk/network/arm-network/src/operations/networkInterfaceLoadBalancers.ts index 3a6a30570ef3..9dd62690cc3d 100644 --- a/sdk/network/arm-network/src/operations/networkInterfaceLoadBalancers.ts +++ b/sdk/network/arm-network/src/operations/networkInterfaceLoadBalancers.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a NetworkInterfaceLoadBalancers. */ +/** Class containing NetworkInterfaceLoadBalancers operations. */ export class NetworkInterfaceLoadBalancersImpl implements NetworkInterfaceLoadBalancers { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/networkInterfaceTapConfigurations.ts b/sdk/network/arm-network/src/operations/networkInterfaceTapConfigurations.ts index 7793581439fe..58347d834828 100644 --- a/sdk/network/arm-network/src/operations/networkInterfaceTapConfigurations.ts +++ b/sdk/network/arm-network/src/operations/networkInterfaceTapConfigurations.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { NetworkInterfaceTapConfiguration, NetworkInterfaceTapConfigurationsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a NetworkInterfaceTapConfigurations. */ +/** Class containing NetworkInterfaceTapConfigurations operations. */ export class NetworkInterfaceTapConfigurationsImpl implements NetworkInterfaceTapConfigurations { private readonly client: NetworkManagementClientContext; @@ -166,7 +165,7 @@ export class NetworkInterfaceTapConfigurationsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -174,10 +173,13 @@ export class NetworkInterfaceTapConfigurationsImpl tapConfigurationName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -288,7 +290,7 @@ export class NetworkInterfaceTapConfigurationsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -297,10 +299,13 @@ export class NetworkInterfaceTapConfigurationsImpl tapConfigurationParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/networkInterfaces.ts b/sdk/network/arm-network/src/operations/networkInterfaces.ts index 5a80d1012b5d..a61d73792abe 100644 --- a/sdk/network/arm-network/src/operations/networkInterfaces.ts +++ b/sdk/network/arm-network/src/operations/networkInterfaces.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { NetworkInterface, NetworkInterfacesListCloudServiceRoleInstanceNetworkInterfacesNextOptionalParams, @@ -68,7 +67,7 @@ import { } from "../models"; /// -/** Class representing a NetworkInterfaces. */ +/** Class containing NetworkInterfaces operations. */ export class NetworkInterfacesImpl implements NetworkInterfaces { private readonly client: NetworkManagementClientContext; @@ -678,13 +677,16 @@ export class NetworkInterfacesImpl implements NetworkInterfaces { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkInterfaceName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -780,13 +782,16 @@ export class NetworkInterfacesImpl implements NetworkInterfaces { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkInterfaceName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -910,13 +915,16 @@ export class NetworkInterfacesImpl implements NetworkInterfaces { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkInterfaceName, options }, - getEffectiveRouteTableOperationSpec, - "location" + getEffectiveRouteTableOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -995,13 +1003,16 @@ export class NetworkInterfacesImpl implements NetworkInterfaces { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkInterfaceName, options }, - listEffectiveNetworkSecurityGroupsOperationSpec, - "location" + listEffectiveNetworkSecurityGroupsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/networkProfiles.ts b/sdk/network/arm-network/src/operations/networkProfiles.ts index 1a69a02bc413..12a48c6520b0 100644 --- a/sdk/network/arm-network/src/operations/networkProfiles.ts +++ b/sdk/network/arm-network/src/operations/networkProfiles.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { NetworkProfile, NetworkProfilesListAllNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a NetworkProfiles. */ +/** Class containing NetworkProfiles operations. */ export class NetworkProfilesImpl implements NetworkProfiles { private readonly client: NetworkManagementClientContext; @@ -191,13 +190,16 @@ export class NetworkProfilesImpl implements NetworkProfiles { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkProfileName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/networkSecurityGroups.ts b/sdk/network/arm-network/src/operations/networkSecurityGroups.ts index 0424f34e6c62..50488d3285b6 100644 --- a/sdk/network/arm-network/src/operations/networkSecurityGroups.ts +++ b/sdk/network/arm-network/src/operations/networkSecurityGroups.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { NetworkSecurityGroup, NetworkSecurityGroupsListAllNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a NetworkSecurityGroups. */ +/** Class containing NetworkSecurityGroups operations. */ export class NetworkSecurityGroupsImpl implements NetworkSecurityGroups { private readonly client: NetworkManagementClientContext; @@ -191,13 +190,16 @@ export class NetworkSecurityGroupsImpl implements NetworkSecurityGroups { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkSecurityGroupName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -293,13 +295,16 @@ export class NetworkSecurityGroupsImpl implements NetworkSecurityGroups { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkSecurityGroupName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/networkVirtualAppliances.ts b/sdk/network/arm-network/src/operations/networkVirtualAppliances.ts index 6ce77aeb188c..329729d63080 100644 --- a/sdk/network/arm-network/src/operations/networkVirtualAppliances.ts +++ b/sdk/network/arm-network/src/operations/networkVirtualAppliances.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { NetworkVirtualAppliance, NetworkVirtualAppliancesListByResourceGroupNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a NetworkVirtualAppliances. */ +/** Class containing NetworkVirtualAppliances operations. */ export class NetworkVirtualAppliancesImpl implements NetworkVirtualAppliances { private readonly client: NetworkManagementClientContext; @@ -194,13 +193,16 @@ export class NetworkVirtualAppliancesImpl implements NetworkVirtualAppliances { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkVirtualApplianceName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -315,13 +317,16 @@ export class NetworkVirtualAppliancesImpl implements NetworkVirtualAppliances { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkVirtualApplianceName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/networkWatchers.ts b/sdk/network/arm-network/src/operations/networkWatchers.ts index 1d0beb9f25bf..db53f1d48a09 100644 --- a/sdk/network/arm-network/src/operations/networkWatchers.ts +++ b/sdk/network/arm-network/src/operations/networkWatchers.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { NetworkWatcher, NetworkWatchersListOptionalParams, @@ -69,7 +68,7 @@ import { } from "../models"; /// -/** Class representing a NetworkWatchers. */ +/** Class containing NetworkWatchers operations. */ export class NetworkWatchersImpl implements NetworkWatchers { private readonly client: NetworkManagementClientContext; @@ -243,13 +242,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -391,13 +393,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - verifyIPFlowOperationSpec, - "location" + verifyIPFlowOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -479,13 +484,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - getNextHopOperationSpec, - "location" + getNextHopOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -567,13 +575,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - getVMSecurityRulesOperationSpec, - "location" + getVMSecurityRulesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -655,13 +666,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - getTroubleshootingOperationSpec, - "location" + getTroubleshootingOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -743,13 +757,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - getTroubleshootingResultOperationSpec, - "location" + getTroubleshootingResultOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -831,13 +848,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - setFlowLogConfigurationOperationSpec, - "location" + setFlowLogConfigurationOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -920,13 +940,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - getFlowLogStatusOperationSpec, - "location" + getFlowLogStatusOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1010,13 +1033,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - checkConnectivityOperationSpec, - "location" + checkConnectivityOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1100,13 +1126,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - getAzureReachabilityReportOperationSpec, - "location" + getAzureReachabilityReportOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1190,13 +1219,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - listAvailableProvidersOperationSpec, - "location" + listAvailableProvidersOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1285,13 +1317,16 @@ export class NetworkWatchersImpl implements NetworkWatchers { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, parameters, options }, - getNetworkConfigurationDiagnosticOperationSpec, - "location" + getNetworkConfigurationDiagnosticOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/operations.ts b/sdk/network/arm-network/src/operations/operations.ts index 7011405919a5..b91dc78f1a68 100644 --- a/sdk/network/arm-network/src/operations/operations.ts +++ b/sdk/network/arm-network/src/operations/operations.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a Operations. */ +/** Class containing Operations operations. */ export class OperationsImpl implements Operations { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/p2SVpnGateways.ts b/sdk/network/arm-network/src/operations/p2SVpnGateways.ts index cd17db50cac3..d2c4bd62abda 100644 --- a/sdk/network/arm-network/src/operations/p2SVpnGateways.ts +++ b/sdk/network/arm-network/src/operations/p2SVpnGateways.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { P2SVpnGateway, P2SVpnGatewaysListByResourceGroupNextOptionalParams, @@ -49,7 +48,7 @@ import { } from "../models"; /// -/** Class representing a P2SVpnGateways. */ +/** Class containing P2SVpnGateways operations. */ export class P2SVpnGatewaysImpl implements P2SVpnGateways { private readonly client: NetworkManagementClientContext; @@ -231,13 +230,16 @@ export class P2SVpnGatewaysImpl implements P2SVpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, p2SVpnGatewayParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -320,13 +322,16 @@ export class P2SVpnGatewaysImpl implements P2SVpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, p2SVpnGatewayParameters, options }, - updateTagsOperationSpec, - "azure-async-operation" + updateTagsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -401,13 +406,16 @@ export class P2SVpnGatewaysImpl implements P2SVpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -509,13 +517,16 @@ export class P2SVpnGatewaysImpl implements P2SVpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, options }, - resetOperationSpec, - "location" + resetOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -594,13 +605,16 @@ export class P2SVpnGatewaysImpl implements P2SVpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, parameters, options }, - generateVpnProfileOperationSpec, - "location" + generateVpnProfileOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -681,13 +695,16 @@ export class P2SVpnGatewaysImpl implements P2SVpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, options }, - getP2SVpnConnectionHealthOperationSpec, - "location" + getP2SVpnConnectionHealthOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -770,13 +787,16 @@ export class P2SVpnGatewaysImpl implements P2SVpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, request, options }, - getP2SVpnConnectionHealthDetailedOperationSpec, - "location" + getP2SVpnConnectionHealthDetailedOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -854,13 +874,16 @@ export class P2SVpnGatewaysImpl implements P2SVpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, p2SVpnGatewayName, request, options }, - disconnectP2SVpnConnectionsOperationSpec, - "location" + disconnectP2SVpnConnectionsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/packetCaptures.ts b/sdk/network/arm-network/src/operations/packetCaptures.ts index 2313e3361afb..0b71cd51c03a 100644 --- a/sdk/network/arm-network/src/operations/packetCaptures.ts +++ b/sdk/network/arm-network/src/operations/packetCaptures.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { PacketCaptureResult, PacketCapturesListOptionalParams, @@ -32,7 +31,7 @@ import { } from "../models"; /// -/** Class representing a PacketCaptures. */ +/** Class containing PacketCaptures operations. */ export class PacketCapturesImpl implements PacketCaptures { private readonly client: NetworkManagementClientContext; @@ -163,7 +162,7 @@ export class PacketCapturesImpl implements PacketCaptures { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -172,10 +171,13 @@ export class PacketCapturesImpl implements PacketCaptures { parameters, options }, - createOperationSpec, - "azure-async-operation" + createOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -274,13 +276,16 @@ export class PacketCapturesImpl implements PacketCaptures { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, packetCaptureName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -357,13 +362,16 @@ export class PacketCapturesImpl implements PacketCaptures { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, packetCaptureName, options }, - stopOperationSpec, - "location" + stopOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -445,13 +453,16 @@ export class PacketCapturesImpl implements PacketCaptures { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkWatcherName, packetCaptureName, options }, - getStatusOperationSpec, - "location" + getStatusOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/peerExpressRouteCircuitConnections.ts b/sdk/network/arm-network/src/operations/peerExpressRouteCircuitConnections.ts index 234171fb79a6..7942a522b8db 100644 --- a/sdk/network/arm-network/src/operations/peerExpressRouteCircuitConnections.ts +++ b/sdk/network/arm-network/src/operations/peerExpressRouteCircuitConnections.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a PeerExpressRouteCircuitConnections. */ +/** Class containing PeerExpressRouteCircuitConnections operations. */ export class PeerExpressRouteCircuitConnectionsImpl implements PeerExpressRouteCircuitConnections { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/privateDnsZoneGroups.ts b/sdk/network/arm-network/src/operations/privateDnsZoneGroups.ts index 60567cc6f118..e60e0c7cac09 100644 --- a/sdk/network/arm-network/src/operations/privateDnsZoneGroups.ts +++ b/sdk/network/arm-network/src/operations/privateDnsZoneGroups.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { PrivateDnsZoneGroup, PrivateDnsZoneGroupsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a PrivateDnsZoneGroups. */ +/** Class containing PrivateDnsZoneGroups operations. */ export class PrivateDnsZoneGroupsImpl implements PrivateDnsZoneGroups { private readonly client: NetworkManagementClientContext; @@ -165,7 +164,7 @@ export class PrivateDnsZoneGroupsImpl implements PrivateDnsZoneGroups { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -173,10 +172,13 @@ export class PrivateDnsZoneGroupsImpl implements PrivateDnsZoneGroups { privateDnsZoneGroupName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -284,7 +286,7 @@ export class PrivateDnsZoneGroupsImpl implements PrivateDnsZoneGroups { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -293,10 +295,13 @@ export class PrivateDnsZoneGroupsImpl implements PrivateDnsZoneGroups { parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/privateEndpoints.ts b/sdk/network/arm-network/src/operations/privateEndpoints.ts index bd9d1343739e..4eaf0f763545 100644 --- a/sdk/network/arm-network/src/operations/privateEndpoints.ts +++ b/sdk/network/arm-network/src/operations/privateEndpoints.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { PrivateEndpoint, PrivateEndpointsListNextOptionalParams, @@ -34,7 +33,7 @@ import { } from "../models"; /// -/** Class representing a PrivateEndpoints. */ +/** Class containing PrivateEndpoints operations. */ export class PrivateEndpointsImpl implements PrivateEndpoints { private readonly client: NetworkManagementClientContext; @@ -188,13 +187,16 @@ export class PrivateEndpointsImpl implements PrivateEndpoints { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, privateEndpointName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -290,13 +292,16 @@ export class PrivateEndpointsImpl implements PrivateEndpoints { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, privateEndpointName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/privateLinkServices.ts b/sdk/network/arm-network/src/operations/privateLinkServices.ts index c4e141ea0e45..af5d66d1357b 100644 --- a/sdk/network/arm-network/src/operations/privateLinkServices.ts +++ b/sdk/network/arm-network/src/operations/privateLinkServices.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { PrivateLinkService, PrivateLinkServicesListNextOptionalParams, @@ -58,7 +57,7 @@ import { } from "../models"; /// -/** Class representing a PrivateLinkServices. */ +/** Class containing PrivateLinkServices operations. */ export class PrivateLinkServicesImpl implements PrivateLinkServices { private readonly client: NetworkManagementClientContext; @@ -418,13 +417,16 @@ export class PrivateLinkServicesImpl implements PrivateLinkServices { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, serviceName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -520,13 +522,16 @@ export class PrivateLinkServicesImpl implements PrivateLinkServices { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, serviceName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -672,13 +677,16 @@ export class PrivateLinkServicesImpl implements PrivateLinkServices { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, serviceName, peConnectionName, options }, - deletePrivateEndpointConnectionOperationSpec, - "location" + deletePrivateEndpointConnectionOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -777,13 +785,16 @@ export class PrivateLinkServicesImpl implements PrivateLinkServices { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { location, parameters, options }, - checkPrivateLinkServiceVisibilityOperationSpec, - "location" + checkPrivateLinkServiceVisibilityOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -864,13 +875,16 @@ export class PrivateLinkServicesImpl implements PrivateLinkServices { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { location, resourceGroupName, parameters, options }, - checkPrivateLinkServiceVisibilityByResourceGroupOperationSpec, - "location" + checkPrivateLinkServiceVisibilityByResourceGroupOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/publicIPAddresses.ts b/sdk/network/arm-network/src/operations/publicIPAddresses.ts index 9ad4a049187b..5e487876505c 100644 --- a/sdk/network/arm-network/src/operations/publicIPAddresses.ts +++ b/sdk/network/arm-network/src/operations/publicIPAddresses.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { PublicIPAddress, PublicIPAddressesListCloudServicePublicIPAddressesNextOptionalParams, @@ -57,7 +56,7 @@ import { } from "../models"; /// -/** Class representing a PublicIPAddresses. */ +/** Class containing PublicIPAddresses operations. */ export class PublicIPAddressesImpl implements PublicIPAddresses { private readonly client: NetworkManagementClientContext; @@ -634,13 +633,16 @@ export class PublicIPAddressesImpl implements PublicIPAddresses { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, publicIpAddressName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -736,13 +738,16 @@ export class PublicIPAddressesImpl implements PublicIPAddresses { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, publicIpAddressName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/publicIPPrefixes.ts b/sdk/network/arm-network/src/operations/publicIPPrefixes.ts index 4398c7b46259..32188222d1da 100644 --- a/sdk/network/arm-network/src/operations/publicIPPrefixes.ts +++ b/sdk/network/arm-network/src/operations/publicIPPrefixes.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { PublicIPPrefix, PublicIPPrefixesListAllNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a PublicIPPrefixes. */ +/** Class containing PublicIPPrefixes operations. */ export class PublicIPPrefixesImpl implements PublicIPPrefixes { private readonly client: NetworkManagementClientContext; @@ -191,13 +190,16 @@ export class PublicIPPrefixesImpl implements PublicIPPrefixes { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, publicIpPrefixName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -293,13 +295,16 @@ export class PublicIPPrefixesImpl implements PublicIPPrefixes { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, publicIpPrefixName, parameters, options }, - createOrUpdateOperationSpec, - "location" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/resourceNavigationLinks.ts b/sdk/network/arm-network/src/operations/resourceNavigationLinks.ts index 1ca83e599e20..b43ed36d1df5 100644 --- a/sdk/network/arm-network/src/operations/resourceNavigationLinks.ts +++ b/sdk/network/arm-network/src/operations/resourceNavigationLinks.ts @@ -16,7 +16,7 @@ import { ResourceNavigationLinksListResponse } from "../models"; -/** Class representing a ResourceNavigationLinks. */ +/** Class containing ResourceNavigationLinks operations. */ export class ResourceNavigationLinksImpl implements ResourceNavigationLinks { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/routeFilterRules.ts b/sdk/network/arm-network/src/operations/routeFilterRules.ts index 11982526091c..18d7f68c8512 100644 --- a/sdk/network/arm-network/src/operations/routeFilterRules.ts +++ b/sdk/network/arm-network/src/operations/routeFilterRules.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { RouteFilterRule, RouteFilterRulesListByRouteFilterNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a RouteFilterRules. */ +/** Class containing RouteFilterRules operations. */ export class RouteFilterRulesImpl implements RouteFilterRules { private readonly client: NetworkManagementClientContext; @@ -165,13 +164,16 @@ export class RouteFilterRulesImpl implements RouteFilterRules { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, routeFilterName, ruleName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -275,7 +277,7 @@ export class RouteFilterRulesImpl implements RouteFilterRules { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -284,10 +286,13 @@ export class RouteFilterRulesImpl implements RouteFilterRules { routeFilterRuleParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/routeFilters.ts b/sdk/network/arm-network/src/operations/routeFilters.ts index 13e80e530557..9eb9868c9972 100644 --- a/sdk/network/arm-network/src/operations/routeFilters.ts +++ b/sdk/network/arm-network/src/operations/routeFilters.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { RouteFilter, RouteFiltersListByResourceGroupNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a RouteFilters. */ +/** Class containing RouteFilters operations. */ export class RouteFiltersImpl implements RouteFilters { private readonly client: NetworkManagementClientContext; @@ -194,13 +193,16 @@ export class RouteFiltersImpl implements RouteFilters { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, routeFilterName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -296,13 +298,16 @@ export class RouteFiltersImpl implements RouteFilters { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, routeFilterName, routeFilterParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/routeTables.ts b/sdk/network/arm-network/src/operations/routeTables.ts index 47e58be83a0d..cdcfda5a9097 100644 --- a/sdk/network/arm-network/src/operations/routeTables.ts +++ b/sdk/network/arm-network/src/operations/routeTables.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { RouteTable, RouteTablesListNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a RouteTables. */ +/** Class containing RouteTables operations. */ export class RouteTablesImpl implements RouteTables { private readonly client: NetworkManagementClientContext; @@ -191,13 +190,16 @@ export class RouteTablesImpl implements RouteTables { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, routeTableName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -293,13 +295,16 @@ export class RouteTablesImpl implements RouteTables { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, routeTableName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/routes.ts b/sdk/network/arm-network/src/operations/routes.ts index be3d354f0bbc..96bf9116c902 100644 --- a/sdk/network/arm-network/src/operations/routes.ts +++ b/sdk/network/arm-network/src/operations/routes.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { Route, RoutesListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a Routes. */ +/** Class containing Routes operations. */ export class RoutesImpl implements Routes { private readonly client: NetworkManagementClientContext; @@ -153,13 +152,16 @@ export class RoutesImpl implements Routes { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, routeTableName, routeName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -262,7 +264,7 @@ export class RoutesImpl implements Routes { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -271,10 +273,13 @@ export class RoutesImpl implements Routes { routeParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/securityPartnerProviders.ts b/sdk/network/arm-network/src/operations/securityPartnerProviders.ts index 2325c13f696f..a0cefaa590e3 100644 --- a/sdk/network/arm-network/src/operations/securityPartnerProviders.ts +++ b/sdk/network/arm-network/src/operations/securityPartnerProviders.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { SecurityPartnerProvider, SecurityPartnerProvidersListByResourceGroupNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a SecurityPartnerProviders. */ +/** Class containing SecurityPartnerProviders operations. */ export class SecurityPartnerProvidersImpl implements SecurityPartnerProviders { private readonly client: NetworkManagementClientContext; @@ -194,13 +193,16 @@ export class SecurityPartnerProvidersImpl implements SecurityPartnerProviders { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, securityPartnerProviderName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -296,13 +298,16 @@ export class SecurityPartnerProvidersImpl implements SecurityPartnerProviders { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, securityPartnerProviderName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/securityRules.ts b/sdk/network/arm-network/src/operations/securityRules.ts index 0c1f2025193f..7f0e9abecd07 100644 --- a/sdk/network/arm-network/src/operations/securityRules.ts +++ b/sdk/network/arm-network/src/operations/securityRules.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { SecurityRule, SecurityRulesListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a SecurityRules. */ +/** Class containing SecurityRules operations. */ export class SecurityRulesImpl implements SecurityRules { private readonly client: NetworkManagementClientContext; @@ -165,7 +164,7 @@ export class SecurityRulesImpl implements SecurityRules { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -173,10 +172,13 @@ export class SecurityRulesImpl implements SecurityRules { securityRuleName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -285,7 +287,7 @@ export class SecurityRulesImpl implements SecurityRules { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -294,10 +296,13 @@ export class SecurityRulesImpl implements SecurityRules { securityRuleParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/serviceAssociationLinks.ts b/sdk/network/arm-network/src/operations/serviceAssociationLinks.ts index 322cdcbdcb19..18512aabc5ef 100644 --- a/sdk/network/arm-network/src/operations/serviceAssociationLinks.ts +++ b/sdk/network/arm-network/src/operations/serviceAssociationLinks.ts @@ -16,7 +16,7 @@ import { ServiceAssociationLinksListResponse } from "../models"; -/** Class representing a ServiceAssociationLinks. */ +/** Class containing ServiceAssociationLinks operations. */ export class ServiceAssociationLinksImpl implements ServiceAssociationLinks { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/serviceEndpointPolicies.ts b/sdk/network/arm-network/src/operations/serviceEndpointPolicies.ts index 45a76fe219de..be26ad88dbd3 100644 --- a/sdk/network/arm-network/src/operations/serviceEndpointPolicies.ts +++ b/sdk/network/arm-network/src/operations/serviceEndpointPolicies.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ServiceEndpointPolicy, ServiceEndpointPoliciesListNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a ServiceEndpointPolicies. */ +/** Class containing ServiceEndpointPolicies operations. */ export class ServiceEndpointPoliciesImpl implements ServiceEndpointPolicies { private readonly client: NetworkManagementClientContext; @@ -194,13 +193,16 @@ export class ServiceEndpointPoliciesImpl implements ServiceEndpointPolicies { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, serviceEndpointPolicyName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -296,13 +298,16 @@ export class ServiceEndpointPoliciesImpl implements ServiceEndpointPolicies { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, serviceEndpointPolicyName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/serviceEndpointPolicyDefinitions.ts b/sdk/network/arm-network/src/operations/serviceEndpointPolicyDefinitions.ts index 536a41b16f81..510754223220 100644 --- a/sdk/network/arm-network/src/operations/serviceEndpointPolicyDefinitions.ts +++ b/sdk/network/arm-network/src/operations/serviceEndpointPolicyDefinitions.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { ServiceEndpointPolicyDefinition, ServiceEndpointPolicyDefinitionsListByResourceGroupNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a ServiceEndpointPolicyDefinitions. */ +/** Class containing ServiceEndpointPolicyDefinitions operations. */ export class ServiceEndpointPolicyDefinitionsImpl implements ServiceEndpointPolicyDefinitions { private readonly client: NetworkManagementClientContext; @@ -166,7 +165,7 @@ export class ServiceEndpointPolicyDefinitionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -174,10 +173,13 @@ export class ServiceEndpointPolicyDefinitionsImpl serviceEndpointPolicyDefinitionName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -288,7 +290,7 @@ export class ServiceEndpointPolicyDefinitionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -297,10 +299,13 @@ export class ServiceEndpointPolicyDefinitionsImpl serviceEndpointPolicyDefinitions, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/serviceTagInformationOperations.ts b/sdk/network/arm-network/src/operations/serviceTagInformationOperations.ts new file mode 100644 index 000000000000..48f22313601a --- /dev/null +++ b/sdk/network/arm-network/src/operations/serviceTagInformationOperations.ts @@ -0,0 +1,174 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServiceTagInformationOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClientContext } from "../networkManagementClientContext"; +import { + ServiceTagInformation, + ServiceTagInformationOperationsListNextOptionalParams, + ServiceTagInformationOperationsListOptionalParams, + ServiceTagInformationOperationsListResponse, + ServiceTagInformationOperationsListNextResponse +} from "../models"; + +/// +/** Class containing ServiceTagInformationOperations operations. */ +export class ServiceTagInformationOperationsImpl + implements ServiceTagInformationOperations { + private readonly client: NetworkManagementClientContext; + + /** + * Initialize a new instance of the class ServiceTagInformationOperations class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of service tag information resources with pagination. + * @param location The location that will be used as a reference for cloud (not as a filter based on + * location, you will get the list of service tags with prefix details across all regions but limited + * to the cloud that your subscription belongs to). + * @param options The options parameters. + */ + public list( + location: string, + options?: ServiceTagInformationOperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(location, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(location, options); + } + }; + } + + private async *listPagingPage( + location: string, + options?: ServiceTagInformationOperationsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(location, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(location, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + location: string, + options?: ServiceTagInformationOperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(location, options)) { + yield* page; + } + } + + /** + * Gets a list of service tag information resources with pagination. + * @param location The location that will be used as a reference for cloud (not as a filter based on + * location, you will get the list of service tags with prefix details across all regions but limited + * to the cloud that your subscription belongs to). + * @param options The options parameters. + */ + private _list( + location: string, + options?: ServiceTagInformationOperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param location The location that will be used as a reference for cloud (not as a filter based on + * location, you will get the list of service tags with prefix details across all regions but limited + * to the cloud that your subscription belongs to). + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + location: string, + nextLink: string, + options?: ServiceTagInformationOperationsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTagDetails", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServiceTagInformationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.noAddressPrefixes, + Parameters.tagName + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServiceTagInformationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.noAddressPrefixes, + Parameters.tagName + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.location + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/network/arm-network/src/operations/serviceTags.ts b/sdk/network/arm-network/src/operations/serviceTags.ts index 7a237d2f5863..735821ebddd8 100644 --- a/sdk/network/arm-network/src/operations/serviceTags.ts +++ b/sdk/network/arm-network/src/operations/serviceTags.ts @@ -16,7 +16,7 @@ import { ServiceTagsListResponse } from "../models"; -/** Class representing a ServiceTags. */ +/** Class containing ServiceTags operations. */ export class ServiceTagsImpl implements ServiceTags { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/subnets.ts b/sdk/network/arm-network/src/operations/subnets.ts index 5aba3839cb82..8359701204df 100644 --- a/sdk/network/arm-network/src/operations/subnets.ts +++ b/sdk/network/arm-network/src/operations/subnets.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { Subnet, SubnetsListNextOptionalParams, @@ -34,7 +33,7 @@ import { } from "../models"; /// -/** Class representing a Subnets. */ +/** Class containing Subnets operations. */ export class SubnetsImpl implements Subnets { private readonly client: NetworkManagementClientContext; @@ -169,13 +168,16 @@ export class SubnetsImpl implements Subnets { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkName, subnetName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -278,7 +280,7 @@ export class SubnetsImpl implements Subnets { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -287,10 +289,13 @@ export class SubnetsImpl implements Subnets { subnetParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -373,7 +378,7 @@ export class SubnetsImpl implements Subnets { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -382,10 +387,13 @@ export class SubnetsImpl implements Subnets { prepareNetworkPoliciesRequestParameters, options }, - prepareNetworkPoliciesOperationSpec, - "location" + prepareNetworkPoliciesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -469,7 +477,7 @@ export class SubnetsImpl implements Subnets { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -478,10 +486,13 @@ export class SubnetsImpl implements Subnets { unprepareNetworkPoliciesRequestParameters, options }, - unprepareNetworkPoliciesOperationSpec, - "location" + unprepareNetworkPoliciesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/usages.ts b/sdk/network/arm-network/src/operations/usages.ts index 1da6e0eaafd1..bbaca3165f4e 100644 --- a/sdk/network/arm-network/src/operations/usages.ts +++ b/sdk/network/arm-network/src/operations/usages.ts @@ -22,7 +22,7 @@ import { } from "../models"; /// -/** Class representing a Usages. */ +/** Class containing Usages operations. */ export class UsagesImpl implements Usages { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/virtualApplianceSites.ts b/sdk/network/arm-network/src/operations/virtualApplianceSites.ts index f08c3a292fdd..8c859d37b9da 100644 --- a/sdk/network/arm-network/src/operations/virtualApplianceSites.ts +++ b/sdk/network/arm-network/src/operations/virtualApplianceSites.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualApplianceSite, VirtualApplianceSitesListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a VirtualApplianceSites. */ +/** Class containing VirtualApplianceSites operations. */ export class VirtualApplianceSitesImpl implements VirtualApplianceSites { private readonly client: NetworkManagementClientContext; @@ -165,13 +164,16 @@ export class VirtualApplianceSitesImpl implements VirtualApplianceSites { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, networkVirtualApplianceName, siteName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -275,7 +277,7 @@ export class VirtualApplianceSitesImpl implements VirtualApplianceSites { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -284,10 +286,13 @@ export class VirtualApplianceSitesImpl implements VirtualApplianceSites { parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualApplianceSkus.ts b/sdk/network/arm-network/src/operations/virtualApplianceSkus.ts index bf854e465c07..c47babcae926 100644 --- a/sdk/network/arm-network/src/operations/virtualApplianceSkus.ts +++ b/sdk/network/arm-network/src/operations/virtualApplianceSkus.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a VirtualApplianceSkus. */ +/** Class containing VirtualApplianceSkus operations. */ export class VirtualApplianceSkusImpl implements VirtualApplianceSkus { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/virtualHubBgpConnection.ts b/sdk/network/arm-network/src/operations/virtualHubBgpConnection.ts index 2e0b06c0fad4..28cec28f70ff 100644 --- a/sdk/network/arm-network/src/operations/virtualHubBgpConnection.ts +++ b/sdk/network/arm-network/src/operations/virtualHubBgpConnection.ts @@ -11,9 +11,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualHubBgpConnectionGetOptionalParams, VirtualHubBgpConnectionGetResponse, @@ -23,7 +22,7 @@ import { VirtualHubBgpConnectionDeleteOptionalParams } from "../models"; -/** Class representing a VirtualHubBgpConnection. */ +/** Class containing VirtualHubBgpConnection operations. */ export class VirtualHubBgpConnectionImpl implements VirtualHubBgpConnection { private readonly client: NetworkManagementClientContext; @@ -114,7 +113,7 @@ export class VirtualHubBgpConnectionImpl implements VirtualHubBgpConnection { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -123,10 +122,13 @@ export class VirtualHubBgpConnectionImpl implements VirtualHubBgpConnection { parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -207,13 +209,16 @@ export class VirtualHubBgpConnectionImpl implements VirtualHubBgpConnection { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, connectionName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualHubBgpConnections.ts b/sdk/network/arm-network/src/operations/virtualHubBgpConnections.ts index 9dfa226556c5..a92cc7aa41a0 100644 --- a/sdk/network/arm-network/src/operations/virtualHubBgpConnections.ts +++ b/sdk/network/arm-network/src/operations/virtualHubBgpConnections.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { BgpConnection, VirtualHubBgpConnectionsListNextOptionalParams, @@ -29,7 +28,7 @@ import { } from "../models"; /// -/** Class representing a VirtualHubBgpConnections. */ +/** Class containing VirtualHubBgpConnections operations. */ export class VirtualHubBgpConnectionsImpl implements VirtualHubBgpConnections { private readonly client: NetworkManagementClientContext; @@ -174,13 +173,16 @@ export class VirtualHubBgpConnectionsImpl implements VirtualHubBgpConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, hubName, connectionName, options }, - listLearnedRoutesOperationSpec, - "location" + listLearnedRoutesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -262,13 +264,16 @@ export class VirtualHubBgpConnectionsImpl implements VirtualHubBgpConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, hubName, connectionName, options }, - listAdvertisedRoutesOperationSpec, - "location" + listAdvertisedRoutesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualHubIpConfiguration.ts b/sdk/network/arm-network/src/operations/virtualHubIpConfiguration.ts index 2db68c97c6c3..05fb8833d4ca 100644 --- a/sdk/network/arm-network/src/operations/virtualHubIpConfiguration.ts +++ b/sdk/network/arm-network/src/operations/virtualHubIpConfiguration.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { HubIpConfiguration, VirtualHubIpConfigurationListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a VirtualHubIpConfiguration. */ +/** Class containing VirtualHubIpConfiguration operations. */ export class VirtualHubIpConfigurationImpl implements VirtualHubIpConfiguration { private readonly client: NetworkManagementClientContext; @@ -181,13 +180,16 @@ export class VirtualHubIpConfigurationImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, ipConfigName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -268,13 +270,16 @@ export class VirtualHubIpConfigurationImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, ipConfigName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualHubRouteTableV2S.ts b/sdk/network/arm-network/src/operations/virtualHubRouteTableV2S.ts index 1b783ed03aa2..d3cbff74e3b3 100644 --- a/sdk/network/arm-network/src/operations/virtualHubRouteTableV2S.ts +++ b/sdk/network/arm-network/src/operations/virtualHubRouteTableV2S.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualHubRouteTableV2, VirtualHubRouteTableV2SListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a VirtualHubRouteTableV2S. */ +/** Class containing VirtualHubRouteTableV2S operations. */ export class VirtualHubRouteTableV2SImpl implements VirtualHubRouteTableV2S { private readonly client: NetworkManagementClientContext; @@ -181,7 +180,7 @@ export class VirtualHubRouteTableV2SImpl implements VirtualHubRouteTableV2S { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -190,10 +189,13 @@ export class VirtualHubRouteTableV2SImpl implements VirtualHubRouteTableV2S { virtualHubRouteTableV2Parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -275,13 +277,16 @@ export class VirtualHubRouteTableV2SImpl implements VirtualHubRouteTableV2S { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, routeTableName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualHubs.ts b/sdk/network/arm-network/src/operations/virtualHubs.ts index ceb26ce99d17..8c644de2cc79 100644 --- a/sdk/network/arm-network/src/operations/virtualHubs.ts +++ b/sdk/network/arm-network/src/operations/virtualHubs.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualHub, VirtualHubsListByResourceGroupNextOptionalParams, @@ -38,7 +37,7 @@ import { } from "../models"; /// -/** Class representing a VirtualHubs. */ +/** Class containing VirtualHubs operations. */ export class VirtualHubsImpl implements VirtualHubs { private readonly client: NetworkManagementClientContext; @@ -219,13 +218,16 @@ export class VirtualHubsImpl implements VirtualHubs { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, virtualHubParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -319,13 +321,16 @@ export class VirtualHubsImpl implements VirtualHubs { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -422,13 +427,16 @@ export class VirtualHubsImpl implements VirtualHubs { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualHubName, options }, - getEffectiveVirtualHubRoutesOperationSpec, - "location" + getEffectiveVirtualHubRoutesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualNetworkGatewayConnections.ts b/sdk/network/arm-network/src/operations/virtualNetworkGatewayConnections.ts index 058a66f042bb..599d23697746 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworkGatewayConnections.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworkGatewayConnections.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualNetworkGatewayConnection, VirtualNetworkGatewayConnectionsListNextOptionalParams, @@ -49,7 +48,7 @@ import { } from "../models"; /// -/** Class representing a VirtualNetworkGatewayConnections. */ +/** Class containing VirtualNetworkGatewayConnections operations. */ export class VirtualNetworkGatewayConnectionsImpl implements VirtualNetworkGatewayConnections { private readonly client: NetworkManagementClientContext; @@ -173,7 +172,7 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -181,10 +180,13 @@ export class VirtualNetworkGatewayConnectionsImpl parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -277,13 +279,16 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayConnectionName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -362,7 +367,7 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -370,10 +375,13 @@ export class VirtualNetworkGatewayConnectionsImpl parameters, options }, - updateTagsOperationSpec, - "azure-async-operation" + updateTagsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -458,7 +466,7 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -466,10 +474,13 @@ export class VirtualNetworkGatewayConnectionsImpl parameters, options }, - setSharedKeyOperationSpec, - "azure-async-operation" + setSharedKeyOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -594,7 +605,7 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -602,10 +613,13 @@ export class VirtualNetworkGatewayConnectionsImpl parameters, options }, - resetSharedKeyOperationSpec, - "location" + resetSharedKeyOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -691,13 +705,16 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayConnectionName, options }, - startPacketCaptureOperationSpec, - "location" + startPacketCaptureOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -779,7 +796,7 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -787,10 +804,13 @@ export class VirtualNetworkGatewayConnectionsImpl parameters, options }, - stopPacketCaptureOperationSpec, - "location" + stopPacketCaptureOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -872,13 +892,16 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayConnectionName, options }, - getIkeSasOperationSpec, - "location" + getIkeSasOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -951,13 +974,16 @@ export class VirtualNetworkGatewayConnectionsImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayConnectionName, options }, - resetConnectionOperationSpec, - "location" + resetConnectionOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualNetworkGatewayNatRules.ts b/sdk/network/arm-network/src/operations/virtualNetworkGatewayNatRules.ts index cdd4a1e7efb9..56124c12b01a 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworkGatewayNatRules.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworkGatewayNatRules.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualNetworkGatewayNatRule, VirtualNetworkGatewayNatRulesListByVirtualNetworkGatewayNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a VirtualNetworkGatewayNatRules. */ +/** Class containing VirtualNetworkGatewayNatRules operations. */ export class VirtualNetworkGatewayNatRulesImpl implements VirtualNetworkGatewayNatRules { private readonly client: NetworkManagementClientContext; @@ -193,7 +192,7 @@ export class VirtualNetworkGatewayNatRulesImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -202,10 +201,13 @@ export class VirtualNetworkGatewayNatRulesImpl natRuleParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -286,13 +288,16 @@ export class VirtualNetworkGatewayNatRulesImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, natRuleName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualNetworkGateways.ts b/sdk/network/arm-network/src/operations/virtualNetworkGateways.ts index 856feca64de4..9363ea1ff0cc 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworkGateways.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworkGateways.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualNetworkGateway, VirtualNetworkGatewaysListNextOptionalParams, @@ -73,7 +72,7 @@ import { } from "../models"; /// -/** Class representing a VirtualNetworkGateways. */ +/** Class containing VirtualNetworkGateways operations. */ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { private readonly client: NetworkManagementClientContext; @@ -263,13 +262,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -361,13 +363,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -446,13 +451,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, parameters, options }, - updateTagsOperationSpec, - "azure-async-operation" + updateTagsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -564,13 +572,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - resetOperationSpec, - "location" + resetOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -642,13 +653,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - resetVpnClientSharedKeyOperationSpec, - "location" + resetVpnClientSharedKeyOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -731,13 +745,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, parameters, options }, - generatevpnclientpackageOperationSpec, - "location" + generatevpnclientpackageOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -823,13 +840,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, parameters, options }, - generateVpnProfileOperationSpec, - "location" + generateVpnProfileOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -912,13 +932,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - getVpnProfilePackageUrlOperationSpec, - "location" + getVpnProfilePackageUrlOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -996,13 +1019,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - getBgpPeerStatusOperationSpec, - "location" + getBgpPeerStatusOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1097,13 +1123,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - getLearnedRoutesOperationSpec, - "location" + getLearnedRoutesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1184,13 +1213,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, peer, options }, - getAdvertisedRoutesOperationSpec, - "location" + getAdvertisedRoutesOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1277,7 +1309,7 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -1285,10 +1317,13 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { vpnclientIpsecParams, options }, - setVpnclientIpsecParametersOperationSpec, - "location" + setVpnclientIpsecParametersOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1374,13 +1409,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - getVpnclientIpsecParametersOperationSpec, - "location" + getVpnclientIpsecParametersOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1484,13 +1522,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - startPacketCaptureOperationSpec, - "location" + startPacketCaptureOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1570,13 +1611,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, parameters, options }, - stopPacketCaptureOperationSpec, - "location" + stopPacketCaptureOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1660,13 +1704,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, options }, - getVpnclientConnectionHealthOperationSpec, - "location" + getVpnclientConnectionHealthOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -1741,13 +1788,16 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkGatewayName, request, options }, - disconnectVirtualNetworkGatewayVpnConnectionsOperationSpec, - "location" + disconnectVirtualNetworkGatewayVpnConnectionsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualNetworkPeerings.ts b/sdk/network/arm-network/src/operations/virtualNetworkPeerings.ts index 2dcf240039b5..6048fb557e36 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworkPeerings.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworkPeerings.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualNetworkPeering, VirtualNetworkPeeringsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a VirtualNetworkPeerings. */ +/** Class containing VirtualNetworkPeerings operations. */ export class VirtualNetworkPeeringsImpl implements VirtualNetworkPeerings { private readonly client: NetworkManagementClientContext; @@ -165,7 +164,7 @@ export class VirtualNetworkPeeringsImpl implements VirtualNetworkPeerings { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -173,10 +172,13 @@ export class VirtualNetworkPeeringsImpl implements VirtualNetworkPeerings { virtualNetworkPeeringName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -285,7 +287,7 @@ export class VirtualNetworkPeeringsImpl implements VirtualNetworkPeerings { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -294,10 +296,13 @@ export class VirtualNetworkPeeringsImpl implements VirtualNetworkPeerings { virtualNetworkPeeringParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualNetworkTaps.ts b/sdk/network/arm-network/src/operations/virtualNetworkTaps.ts index 3f4cdbcfa51b..497663b46b92 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworkTaps.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworkTaps.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualNetworkTap, VirtualNetworkTapsListAllNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a VirtualNetworkTaps. */ +/** Class containing VirtualNetworkTaps operations. */ export class VirtualNetworkTapsImpl implements VirtualNetworkTaps { private readonly client: NetworkManagementClientContext; @@ -194,13 +193,16 @@ export class VirtualNetworkTapsImpl implements VirtualNetworkTaps { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, tapName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -292,13 +294,16 @@ export class VirtualNetworkTapsImpl implements VirtualNetworkTaps { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, tapName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualNetworks.ts b/sdk/network/arm-network/src/operations/virtualNetworks.ts index 5243f11be3da..86092dcd129e 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworks.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworks.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualNetwork, VirtualNetworksListAllNextOptionalParams, @@ -44,7 +43,7 @@ import { } from "../models"; /// -/** Class representing a VirtualNetworks. */ +/** Class containing VirtualNetworks operations. */ export class VirtualNetworksImpl implements VirtualNetworks { private readonly client: NetworkManagementClientContext; @@ -269,13 +268,16 @@ export class VirtualNetworksImpl implements VirtualNetworks { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -371,13 +373,16 @@ export class VirtualNetworksImpl implements VirtualNetworks { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualNetworkName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualRouterPeerings.ts b/sdk/network/arm-network/src/operations/virtualRouterPeerings.ts index e02e50e7fa6b..c15d003885a9 100644 --- a/sdk/network/arm-network/src/operations/virtualRouterPeerings.ts +++ b/sdk/network/arm-network/src/operations/virtualRouterPeerings.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualRouterPeering, VirtualRouterPeeringsListNextOptionalParams, @@ -30,7 +29,7 @@ import { } from "../models"; /// -/** Class representing a VirtualRouterPeerings. */ +/** Class containing VirtualRouterPeerings operations. */ export class VirtualRouterPeeringsImpl implements VirtualRouterPeerings { private readonly client: NetworkManagementClientContext; @@ -165,13 +164,16 @@ export class VirtualRouterPeeringsImpl implements VirtualRouterPeerings { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualRouterName, peeringName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -274,7 +276,7 @@ export class VirtualRouterPeeringsImpl implements VirtualRouterPeerings { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -283,10 +285,13 @@ export class VirtualRouterPeeringsImpl implements VirtualRouterPeerings { parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualRouters.ts b/sdk/network/arm-network/src/operations/virtualRouters.ts index 52f815b6effb..359e111afbd9 100644 --- a/sdk/network/arm-network/src/operations/virtualRouters.ts +++ b/sdk/network/arm-network/src/operations/virtualRouters.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualRouter, VirtualRoutersListByResourceGroupNextOptionalParams, @@ -34,7 +33,7 @@ import { } from "../models"; /// -/** Class representing a VirtualRouters. */ +/** Class containing VirtualRouters operations. */ export class VirtualRoutersImpl implements VirtualRouters { private readonly client: NetworkManagementClientContext; @@ -191,13 +190,16 @@ export class VirtualRoutersImpl implements VirtualRouters { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualRouterName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -293,13 +295,16 @@ export class VirtualRoutersImpl implements VirtualRouters { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualRouterName, parameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** diff --git a/sdk/network/arm-network/src/operations/virtualWans.ts b/sdk/network/arm-network/src/operations/virtualWans.ts index c6f06def3678..40d0c04c016a 100644 --- a/sdk/network/arm-network/src/operations/virtualWans.ts +++ b/sdk/network/arm-network/src/operations/virtualWans.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VirtualWAN, VirtualWansListByResourceGroupNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a VirtualWans. */ +/** Class containing VirtualWans operations. */ export class VirtualWansImpl implements VirtualWans { private readonly client: NetworkManagementClientContext; @@ -218,13 +217,16 @@ export class VirtualWansImpl implements VirtualWans { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualWANName, wANParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -318,13 +320,16 @@ export class VirtualWansImpl implements VirtualWans { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualWANName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/vpnConnections.ts b/sdk/network/arm-network/src/operations/vpnConnections.ts index 57e95a4453f0..4d400d2e1d24 100644 --- a/sdk/network/arm-network/src/operations/vpnConnections.ts +++ b/sdk/network/arm-network/src/operations/vpnConnections.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VpnConnection, VpnConnectionsListByVpnGatewayNextOptionalParams, @@ -34,7 +33,7 @@ import { } from "../models"; /// -/** Class representing a VpnConnections. */ +/** Class containing VpnConnections operations. */ export class VpnConnectionsImpl implements VpnConnections { private readonly client: NetworkManagementClientContext; @@ -196,7 +195,7 @@ export class VpnConnectionsImpl implements VpnConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -205,10 +204,13 @@ export class VpnConnectionsImpl implements VpnConnections { vpnConnectionParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -289,13 +291,16 @@ export class VpnConnectionsImpl implements VpnConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, connectionName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -377,13 +382,16 @@ export class VpnConnectionsImpl implements VpnConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, vpnConnectionName, options }, - startPacketCaptureOperationSpec, - "location" + startPacketCaptureOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -465,13 +473,16 @@ export class VpnConnectionsImpl implements VpnConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, vpnConnectionName, options }, - stopPacketCaptureOperationSpec, - "location" + stopPacketCaptureOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/vpnGateways.ts b/sdk/network/arm-network/src/operations/vpnGateways.ts index 4d69ad6a8e1e..3a3fbd3b0540 100644 --- a/sdk/network/arm-network/src/operations/vpnGateways.ts +++ b/sdk/network/arm-network/src/operations/vpnGateways.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VpnGateway, VpnGatewaysListByResourceGroupNextOptionalParams, @@ -43,7 +42,7 @@ import { } from "../models"; /// -/** Class representing a VpnGateways. */ +/** Class containing VpnGateways operations. */ export class VpnGatewaysImpl implements VpnGateways { private readonly client: NetworkManagementClientContext; @@ -224,13 +223,16 @@ export class VpnGatewaysImpl implements VpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, vpnGatewayParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -312,13 +314,16 @@ export class VpnGatewaysImpl implements VpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, vpnGatewayParameters, options }, - updateTagsOperationSpec, - "azure-async-operation" + updateTagsOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -393,13 +398,16 @@ export class VpnGatewaysImpl implements VpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -476,13 +484,16 @@ export class VpnGatewaysImpl implements VpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, options }, - resetOperationSpec, - "location" + resetOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -559,13 +570,16 @@ export class VpnGatewaysImpl implements VpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, options }, - startPacketCaptureOperationSpec, - "location" + startPacketCaptureOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -642,13 +656,16 @@ export class VpnGatewaysImpl implements VpnGateways { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, gatewayName, options }, - stopPacketCaptureOperationSpec, - "location" + stopPacketCaptureOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/vpnLinkConnections.ts b/sdk/network/arm-network/src/operations/vpnLinkConnections.ts index 6a1bc4633d04..d605e30ae813 100644 --- a/sdk/network/arm-network/src/operations/vpnLinkConnections.ts +++ b/sdk/network/arm-network/src/operations/vpnLinkConnections.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VpnSiteLinkConnection, VpnLinkConnectionsListByVpnConnectionNextOptionalParams, @@ -28,7 +27,7 @@ import { } from "../models"; /// -/** Class representing a VpnLinkConnections. */ +/** Class containing VpnLinkConnections operations. */ export class VpnLinkConnectionsImpl implements VpnLinkConnections { private readonly client: NetworkManagementClientContext; @@ -174,7 +173,7 @@ export class VpnLinkConnectionsImpl implements VpnLinkConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -183,10 +182,13 @@ export class VpnLinkConnectionsImpl implements VpnLinkConnections { linkConnectionName, options }, - resetConnectionOperationSpec, - "location" + resetConnectionOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** @@ -273,7 +275,7 @@ export class VpnLinkConnectionsImpl implements VpnLinkConnections { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -282,10 +284,13 @@ export class VpnLinkConnectionsImpl implements VpnLinkConnections { linkConnectionName, options }, - getIkeSasOperationSpec, - "location" + getIkeSasOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/vpnServerConfigurations.ts b/sdk/network/arm-network/src/operations/vpnServerConfigurations.ts index a3b6fa581103..9d6e3f4e314b 100644 --- a/sdk/network/arm-network/src/operations/vpnServerConfigurations.ts +++ b/sdk/network/arm-network/src/operations/vpnServerConfigurations.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VpnServerConfiguration, VpnServerConfigurationsListByResourceGroupNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a VpnServerConfigurations. */ +/** Class containing VpnServerConfigurations operations. */ export class VpnServerConfigurationsImpl implements VpnServerConfigurations { private readonly client: NetworkManagementClientContext; @@ -220,7 +219,7 @@ export class VpnServerConfigurationsImpl implements VpnServerConfigurations { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, @@ -228,10 +227,13 @@ export class VpnServerConfigurationsImpl implements VpnServerConfigurations { vpnServerConfigurationParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -332,13 +334,16 @@ export class VpnServerConfigurationsImpl implements VpnServerConfigurations { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, vpnServerConfigurationName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/vpnServerConfigurationsAssociatedWithVirtualWan.ts b/sdk/network/arm-network/src/operations/vpnServerConfigurationsAssociatedWithVirtualWan.ts index b3da8949d63a..b0726e649702 100644 --- a/sdk/network/arm-network/src/operations/vpnServerConfigurationsAssociatedWithVirtualWan.ts +++ b/sdk/network/arm-network/src/operations/vpnServerConfigurationsAssociatedWithVirtualWan.ts @@ -11,15 +11,14 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VpnServerConfigurationsAssociatedWithVirtualWanListOptionalParams, VpnServerConfigurationsAssociatedWithVirtualWanListResponse } from "../models"; -/** Class representing a VpnServerConfigurationsAssociatedWithVirtualWan. */ +/** Class containing VpnServerConfigurationsAssociatedWithVirtualWan operations. */ export class VpnServerConfigurationsAssociatedWithVirtualWanImpl implements VpnServerConfigurationsAssociatedWithVirtualWan { private readonly client: NetworkManagementClientContext; @@ -89,13 +88,16 @@ export class VpnServerConfigurationsAssociatedWithVirtualWanImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualWANName, options }, - listOperationSpec, - "location" + listOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/vpnSiteLinkConnections.ts b/sdk/network/arm-network/src/operations/vpnSiteLinkConnections.ts index 355a94dd0588..76f9a504aed9 100644 --- a/sdk/network/arm-network/src/operations/vpnSiteLinkConnections.ts +++ b/sdk/network/arm-network/src/operations/vpnSiteLinkConnections.ts @@ -16,7 +16,7 @@ import { VpnSiteLinkConnectionsGetResponse } from "../models"; -/** Class representing a VpnSiteLinkConnections. */ +/** Class containing VpnSiteLinkConnections operations. */ export class VpnSiteLinkConnectionsImpl implements VpnSiteLinkConnections { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/vpnSiteLinks.ts b/sdk/network/arm-network/src/operations/vpnSiteLinks.ts index 214b767e8626..f965a13e0eb0 100644 --- a/sdk/network/arm-network/src/operations/vpnSiteLinks.ts +++ b/sdk/network/arm-network/src/operations/vpnSiteLinks.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a VpnSiteLinks. */ +/** Class containing VpnSiteLinks operations. */ export class VpnSiteLinksImpl implements VpnSiteLinks { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operations/vpnSites.ts b/sdk/network/arm-network/src/operations/vpnSites.ts index c2c56bbce84d..475e7df1136f 100644 --- a/sdk/network/arm-network/src/operations/vpnSites.ts +++ b/sdk/network/arm-network/src/operations/vpnSites.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { VpnSite, VpnSitesListByResourceGroupNextOptionalParams, @@ -37,7 +36,7 @@ import { } from "../models"; /// -/** Class representing a VpnSites. */ +/** Class containing VpnSites operations. */ export class VpnSitesImpl implements VpnSites { private readonly client: NetworkManagementClientContext; @@ -218,13 +217,16 @@ export class VpnSitesImpl implements VpnSites { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, vpnSiteName, vpnSiteParameters, options }, - createOrUpdateOperationSpec, - "azure-async-operation" + createOrUpdateOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** @@ -318,13 +320,16 @@ export class VpnSitesImpl implements VpnSites { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, vpnSiteName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/vpnSitesConfiguration.ts b/sdk/network/arm-network/src/operations/vpnSitesConfiguration.ts index 1e4c31633608..8f009245cbf8 100644 --- a/sdk/network/arm-network/src/operations/vpnSitesConfiguration.ts +++ b/sdk/network/arm-network/src/operations/vpnSitesConfiguration.ts @@ -11,15 +11,14 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { GetVpnSitesConfigurationRequest, VpnSitesConfigurationDownloadOptionalParams } from "../models"; -/** Class representing a VpnSitesConfiguration. */ +/** Class containing VpnSitesConfiguration operations. */ export class VpnSitesConfigurationImpl implements VpnSitesConfiguration { private readonly client: NetworkManagementClientContext; @@ -83,13 +82,16 @@ export class VpnSitesConfigurationImpl implements VpnSitesConfiguration { }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, virtualWANName, request, options }, - downloadOperationSpec, - "location" + downloadOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/webApplicationFirewallPolicies.ts b/sdk/network/arm-network/src/operations/webApplicationFirewallPolicies.ts index ae99b1539d78..e88fee9547e5 100644 --- a/sdk/network/arm-network/src/operations/webApplicationFirewallPolicies.ts +++ b/sdk/network/arm-network/src/operations/webApplicationFirewallPolicies.ts @@ -13,9 +13,8 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NetworkManagementClientContext } from "../networkManagementClientContext"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; -import { LroEngine } from "../lro"; -import { CoreClientLro, shouldDeserializeLro } from "../coreClientLro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { WebApplicationFirewallPolicy, WebApplicationFirewallPoliciesListNextOptionalParams, @@ -34,7 +33,7 @@ import { } from "../models"; /// -/** Class representing a WebApplicationFirewallPolicies. */ +/** Class containing WebApplicationFirewallPolicies operations. */ export class WebApplicationFirewallPoliciesImpl implements WebApplicationFirewallPolicies { private readonly client: NetworkManagementClientContext; @@ -250,13 +249,16 @@ export class WebApplicationFirewallPoliciesImpl }; }; - const lro = new CoreClientLro( + const lro = new LroImpl( sendOperation, { resourceGroupName, policyName, options }, - deleteOperationSpec, - "location" + deleteOperationSpec ); - return new LroEngine(lro, { intervalInMs: options?.updateIntervalInMs }); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); } /** diff --git a/sdk/network/arm-network/src/operations/webCategories.ts b/sdk/network/arm-network/src/operations/webCategories.ts index ae4353de4c03..92ef530e0c65 100644 --- a/sdk/network/arm-network/src/operations/webCategories.ts +++ b/sdk/network/arm-network/src/operations/webCategories.ts @@ -24,7 +24,7 @@ import { } from "../models"; /// -/** Class representing a WebCategories. */ +/** Class containing WebCategories operations. */ export class WebCategoriesImpl implements WebCategories { private readonly client: NetworkManagementClientContext; diff --git a/sdk/network/arm-network/src/operationsInterfaces/bastionHosts.ts b/sdk/network/arm-network/src/operationsInterfaces/bastionHosts.ts index 8c9dcbbafcc2..7fde139370c6 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/bastionHosts.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/bastionHosts.ts @@ -17,7 +17,10 @@ import { BastionHostsGetOptionalParams, BastionHostsGetResponse, BastionHostsCreateOrUpdateOptionalParams, - BastionHostsCreateOrUpdateResponse + BastionHostsCreateOrUpdateResponse, + TagsObject, + BastionHostsUpdateTagsOptionalParams, + BastionHostsUpdateTagsResponse } from "../models"; /// @@ -103,4 +106,35 @@ export interface BastionHosts { parameters: BastionHost, options?: BastionHostsCreateOrUpdateOptionalParams ): Promise; + /** + * Updates Tags for BastionHost resource + * @param resourceGroupName The name of the resource group. + * @param bastionHostName The name of the Bastion Host. + * @param parameters Parameters supplied to update BastionHost tags. + * @param options The options parameters. + */ + beginUpdateTags( + resourceGroupName: string, + bastionHostName: string, + parameters: TagsObject, + options?: BastionHostsUpdateTagsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + BastionHostsUpdateTagsResponse + > + >; + /** + * Updates Tags for BastionHost resource + * @param resourceGroupName The name of the resource group. + * @param bastionHostName The name of the Bastion Host. + * @param parameters Parameters supplied to update BastionHost tags. + * @param options The options parameters. + */ + beginUpdateTagsAndWait( + resourceGroupName: string, + bastionHostName: string, + parameters: TagsObject, + options?: BastionHostsUpdateTagsOptionalParams + ): Promise; } diff --git a/sdk/network/arm-network/src/operationsInterfaces/index.ts b/sdk/network/arm-network/src/operationsInterfaces/index.ts index a1908777d429..605df06c1268 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/index.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/index.ts @@ -78,6 +78,7 @@ export * from "./bgpServiceCommunities"; export * from "./serviceEndpointPolicies"; export * from "./serviceEndpointPolicyDefinitions"; export * from "./serviceTags"; +export * from "./serviceTagInformationOperations"; export * from "./usages"; export * from "./virtualNetworks"; export * from "./subnets"; diff --git a/sdk/network/arm-network/src/operationsInterfaces/serviceTagInformationOperations.ts b/sdk/network/arm-network/src/operationsInterfaces/serviceTagInformationOperations.ts new file mode 100644 index 000000000000..d3bc6ada5085 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/serviceTagInformationOperations.ts @@ -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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ServiceTagInformation, + ServiceTagInformationOperationsListOptionalParams +} from "../models"; + +/// +/** Interface representing a ServiceTagInformationOperations. */ +export interface ServiceTagInformationOperations { + /** + * Gets a list of service tag information resources with pagination. + * @param location The location that will be used as a reference for cloud (not as a filter based on + * location, you will get the list of service tags with prefix details across all regions but limited + * to the cloud that your subscription belongs to). + * @param options The options parameters. + */ + list( + location: string, + options?: ServiceTagInformationOperationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/network/arm-network/tsconfig.json b/sdk/network/arm-network/tsconfig.json index 0ec8659c8e83..603440b3a359 100644 --- a/sdk/network/arm-network/tsconfig.json +++ b/sdk/network/arm-network/tsconfig.json @@ -9,10 +9,9 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "preserveConstEnums": true, "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, "include": ["./src/**/*.ts"], diff --git a/sdk/notificationhubs/arm-notificationhubs/README.md b/sdk/notificationhubs/arm-notificationhubs/README.md index a532f90ee1d2..8c0ae4625a5a 100644 --- a/sdk/notificationhubs/arm-notificationhubs/README.md +++ b/sdk/notificationhubs/arm-notificationhubs/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for NotificationHubsManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/operationalinsights/arm-operationalinsights/README.md b/sdk/operationalinsights/arm-operationalinsights/README.md index bf3a79c85aea..d628b485e24c 100644 --- a/sdk/operationalinsights/arm-operationalinsights/README.md +++ b/sdk/operationalinsights/arm-operationalinsights/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for OperationalInsightsManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/operationalinsights/loganalytics/README.md b/sdk/operationalinsights/loganalytics/README.md index 208df3c1547e..0d8c0485ba6e 100644 --- a/sdk/operationalinsights/loganalytics/README.md +++ b/sdk/operationalinsights/loganalytics/README.md @@ -4,8 +4,10 @@ This package contains an isomorphic SDK for LogAnalyticsClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. + +See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. ### How to Install @@ -24,14 +26,15 @@ npm install @azure/ms-rest-nodeauth ``` ##### Sample code - ```ts import * as msRest from "@azure/ms-rest-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; import { LogAnalyticsClient, LogAnalyticsModels, LogAnalyticsMappers } from "@azure/loganalytics"; const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; -msRestNodeAuth.interactiveLogin().then((creds) => { +msRestNodeAuth.interactiveLogin({ + tokenAudience: "https://api.loganalytics.io" +}).then((creds) => { const client = new LogAnalyticsClient(creds, subscriptionId); const workspaceId = "testworkspaceId"; const body: LogAnalyticsModels.QueryBody = { diff --git a/sdk/operationalinsights/loganalytics/package.json b/sdk/operationalinsights/loganalytics/package.json index 56547dae1efe..eee1610490bf 100644 --- a/sdk/operationalinsights/loganalytics/package.json +++ b/sdk/operationalinsights/loganalytics/package.json @@ -2,9 +2,9 @@ "name": "@azure/loganalytics", "author": "Microsoft Corporation", "description": "LogAnalyticsClient Library with typescript type definitions for node.js and browser.", - "version": "0.2.0", + "version": "0.3.0", "dependencies": { - "@azure/ms-rest-js": "^1.1.0", + "@azure/ms-rest-js": "^2.4.0", "tslib": "^1.9.3" }, "keywords": [ diff --git a/sdk/operationalinsights/loganalytics/src/logAnalyticsClientContext.ts b/sdk/operationalinsights/loganalytics/src/logAnalyticsClientContext.ts index ff55138f8c26..1527bcefee42 100644 --- a/sdk/operationalinsights/loganalytics/src/logAnalyticsClientContext.ts +++ b/sdk/operationalinsights/loganalytics/src/logAnalyticsClientContext.ts @@ -12,7 +12,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as Models from "./models"; const packageName = "@azure/loganalytics"; -const packageVersion = "0.1.0"; +const packageVersion = "0.3.0"; export class LogAnalyticsClientContext extends msRest.ServiceClient { credentials: msRest.ServiceClientCredentials; diff --git a/sdk/operationsmanagement/arm-operations/README.md b/sdk/operationsmanagement/arm-operations/README.md index b2c9efb3eecc..9118f5db76e9 100644 --- a/sdk/operationsmanagement/arm-operations/README.md +++ b/sdk/operationsmanagement/arm-operations/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for OperationsManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/peering/arm-peering/README.md b/sdk/peering/arm-peering/README.md index 8cfb0a190945..c5aec46c2dcd 100644 --- a/sdk/peering/arm-peering/README.md +++ b/sdk/peering/arm-peering/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PeeringManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/policy/arm-policy-profile-2020-09-01-hybrid/README.md b/sdk/policy/arm-policy-profile-2020-09-01-hybrid/README.md index 277e5ca69bd8..72cd732f266e 100644 --- a/sdk/policy/arm-policy-profile-2020-09-01-hybrid/README.md +++ b/sdk/policy/arm-policy-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PolicyClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/policy/arm-policy-profile-hybrid-2019-03-01/README.md b/sdk/policy/arm-policy-profile-hybrid-2019-03-01/README.md index 59229a76dfa7..2b036b662a2e 100644 --- a/sdk/policy/arm-policy-profile-hybrid-2019-03-01/README.md +++ b/sdk/policy/arm-policy-profile-hybrid-2019-03-01/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PolicyClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/policy/arm-policy/CHANGELOG.md b/sdk/policy/arm-policy/CHANGELOG.md index ebd913b40989..ad6bc87b5c25 100644 --- a/sdk/policy/arm-policy/CHANGELOG.md +++ b/sdk/policy/arm-policy/CHANGELOG.md @@ -1,3 +1,21 @@ +# Release History + +## 30.0.0-beta.3 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.2 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + ## 30.0.0-beta.1 (2021-07-15) This is the first preview for the new version of the `@azure/arm-policy` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. diff --git a/sdk/policy/arm-policy/README.md b/sdk/policy/arm-policy/README.md index 85edbcf61f3f..7673ba2077d2 100644 --- a/sdk/policy/arm-policy/README.md +++ b/sdk/policy/arm-policy/README.md @@ -47,7 +47,8 @@ Set the values of the client ID, tenant ID, and client secret of the AAD applica ```javascript const { PolicyClient } = require("@azure/arm-policy"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new PolicyClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new PolicyClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts diff --git a/sdk/policy/arm-policy/package.json b/sdk/policy/arm-policy/package.json index a11c7de2011a..7088394ee2a7 100644 --- a/sdk/policy/arm-policy/package.json +++ b/sdk/policy/arm-policy/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for PolicyClient.", - "version": "30.0.0-beta.1", + "version": "30.0.0-beta.3", "engines": { "node": ">=12.0.0" }, @@ -93,4 +93,4 @@ }, "sideEffects": false, "autoPublish": true -} \ No newline at end of file +} diff --git a/sdk/policy/arm-policy/src/policyClientContext.ts b/sdk/policy/arm-policy/src/policyClientContext.ts index 55a46c3afee7..fef3cfe1033f 100644 --- a/sdk/policy/arm-policy/src/policyClientContext.ts +++ b/sdk/policy/arm-policy/src/policyClientContext.ts @@ -41,7 +41,7 @@ export class PolicyClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-policy/30.0.0-beta.1`; + const packageDetails = `azsdk-js-arm-policy/30.0.0-beta.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/policyinsights/arm-policyinsights/README.md b/sdk/policyinsights/arm-policyinsights/README.md index 6e4136a878bc..102d82856790 100644 --- a/sdk/policyinsights/arm-policyinsights/README.md +++ b/sdk/policyinsights/arm-policyinsights/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PolicyInsightsClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/postgresql/arm-postgresql-flexible/README.md b/sdk/postgresql/arm-postgresql-flexible/README.md index a7a178bd0a19..bce20106a02e 100644 --- a/sdk/postgresql/arm-postgresql-flexible/README.md +++ b/sdk/postgresql/arm-postgresql-flexible/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK (runs both in node.js and in browsers) f ### Currently supported environments -- Node.js version 8.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### Prerequisites diff --git a/sdk/postgresql/arm-postgresql/README.md b/sdk/postgresql/arm-postgresql/README.md index 4894053e5749..25dcd82c4831 100644 --- a/sdk/postgresql/arm-postgresql/README.md +++ b/sdk/postgresql/arm-postgresql/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PostgreSQLManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/powerbidedicated/arm-powerbidedicated/README.md b/sdk/powerbidedicated/arm-powerbidedicated/README.md index e213b7d8b506..20dd8055d53e 100644 --- a/sdk/powerbidedicated/arm-powerbidedicated/README.md +++ b/sdk/powerbidedicated/arm-powerbidedicated/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PowerBIDedicatedManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/powerbiembedded/arm-powerbiembedded/README.md b/sdk/powerbiembedded/arm-powerbiembedded/README.md index 9213827f768a..8091dc50d963 100644 --- a/sdk/powerbiembedded/arm-powerbiembedded/README.md +++ b/sdk/powerbiembedded/arm-powerbiembedded/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PowerBIEmbeddedManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/privatedns/arm-privatedns/README.md b/sdk/privatedns/arm-privatedns/README.md index 855aceddf7bb..ccbf658b79e2 100644 --- a/sdk/privatedns/arm-privatedns/README.md +++ b/sdk/privatedns/arm-privatedns/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for PrivateDnsManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/purview/arm-purview/CHANGELOG.md b/sdk/purview/arm-purview/CHANGELOG.md new file mode 100644 index 000000000000..09d9af32ba28 --- /dev/null +++ b/sdk/purview/arm-purview/CHANGELOG.md @@ -0,0 +1,26 @@ +# Release History + +## 1.0.0-beta.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.1 (2021-09-09) + +This is the first preview for the new version of the `@azure/arm-purview` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/purview/arm-purview/LICENSE b/sdk/purview/arm-purview/LICENSE new file mode 100644 index 000000000000..ccb63b166732 --- /dev/null +++ b/sdk/purview/arm-purview/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 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/purview/arm-purview/README.md b/sdk/purview/arm-purview/README.md new file mode 100644 index 000000000000..78ac1980d328 --- /dev/null +++ b/sdk/purview/arm-purview/README.md @@ -0,0 +1,93 @@ +# Azure PurviewManagement client library for JavaScript + +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure PurviewManagement client. + +Creates a Microsoft.Purview management client. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/purview/arm-purview) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-purview) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-purview) | +[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-purview` package + +Install the Azure PurviewManagement client library for JavaScript with `npm`: + +```bash +npm install @azure/arm-purview +``` + +### Create and authenticate a `PurviewManagementClient` + +To create a client object to access the Azure PurviewManagement API, you will need the `endpoint` of your Azure PurviewManagement resource and a `credential`. The Azure PurviewManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure PurviewManagement resource in the [Azure Portal][azure_portal]. + +#### Using an Azure Active Directory Credential + +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. 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 PurviewManagement** 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 { PurviewManagementClient } = require("@azure/arm-purview"); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new PurviewManagementClient(new DefaultAzureCredential(), subscriptionId); +``` + +## Key concepts + +### PurviewManagementClient + +`PurviewManagementClient` is the primary interface for developers using the Azure PurviewManagement client library. Explore the methods on this client object to understand the different features of the Azure PurviewManagement 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%2Fpurview%2Farm-purview%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/purview/arm-purview/_meta.json b/sdk/purview/arm-purview/_meta.json new file mode 100644 index 000000000000..f1ae9a6bc072 --- /dev/null +++ b/sdk/purview/arm-purview/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "92b58eb71fd5eb2ce5600e9233541074ecabf851", + "readme": "specification/purview/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/purview/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.12", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-beta.12" +} \ No newline at end of file diff --git a/sdk/purview/arm-purview/api-extractor.json b/sdk/purview/arm-purview/api-extractor.json new file mode 100644 index 000000000000..c7556ba25fda --- /dev/null +++ b/sdk/purview/arm-purview/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-purview.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/purview/arm-purview/package.json b/sdk/purview/arm-purview/package.json new file mode 100644 index 000000000000..39e255628db2 --- /dev/null +++ b/sdk/purview/arm-purview/package.json @@ -0,0 +1,98 @@ +{ + "name": "@azure/arm-purview", + "sdk-type": "mgmt", + "author": "Microsoft Corporation", + "description": "A generated SDK for PurviewManagementClient.", + "version": "1.0.0-beta.2", + "engines": { + "node": ">=12.0.0" + }, + "dependencies": { + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", + "@azure/core-paging": "^1.1.1", + "@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/index.js", + "types": "./types/arm-purview.d.ts", + "devDependencies": { + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", + "rollup-plugin-sourcemaps": "^0.4.2", + "typescript": "~4.2.0", + "uglify-js": "^3.4.9" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/purview/arm-purview", + "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": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" + }, + "sideEffects": false, + "autoPublish": true +} diff --git a/sdk/purview/arm-purview/review/arm-purview.api.md b/sdk/purview/arm-purview/review/arm-purview.api.md new file mode 100644 index 000000000000..e9af0d50aefc --- /dev/null +++ b/sdk/purview/arm-purview/review/arm-purview.api.md @@ -0,0 +1,667 @@ +## API Report File for "@azure/arm-purview" + +> 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 AccessKeys { + atlasKafkaPrimaryEndpoint?: string; + atlasKafkaSecondaryEndpoint?: string; +} + +// @public +export type Account = TrackedResource & { + sku?: AccountSku; + cloudConnectors?: CloudConnectors; + readonly createdAt?: Date; + readonly createdBy?: string; + readonly createdByObjectId?: string; + readonly endpoints?: AccountPropertiesEndpoints; + readonly friendlyName?: string; + managedResourceGroupName?: string; + readonly managedResources?: AccountPropertiesManagedResources; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + readonly provisioningState?: ProvisioningState; + publicNetworkAccess?: PublicNetworkAccess; +}; + +// @public +export interface AccountEndpoints { + readonly catalog?: string; + readonly guardian?: string; + readonly scan?: string; +} + +// @public +export interface AccountList { + count?: number; + nextLink?: string; + value: Account[]; +} + +// @public +export interface AccountProperties { + cloudConnectors?: CloudConnectors; + readonly createdAt?: Date; + readonly createdBy?: string; + readonly createdByObjectId?: string; + readonly endpoints?: AccountPropertiesEndpoints; + readonly friendlyName?: string; + managedResourceGroupName?: string; + readonly managedResources?: AccountPropertiesManagedResources; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + readonly provisioningState?: ProvisioningState; + publicNetworkAccess?: PublicNetworkAccess; +} + +// @public +export type AccountPropertiesEndpoints = AccountEndpoints & {}; + +// @public +export type AccountPropertiesManagedResources = ManagedResources & {}; + +// @public +export interface Accounts { + addRootCollectionAdmin(resourceGroupName: string, accountName: string, collectionAdminUpdate: CollectionAdminUpdate, options?: AccountsAddRootCollectionAdminOptionalParams): Promise; + beginCreateOrUpdate(resourceGroupName: string, accountName: string, account: Account, options?: AccountsCreateOrUpdateOptionalParams): Promise, AccountsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, accountName: string, account: Account, options?: AccountsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, accountName: string, options?: AccountsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, accountName: string, options?: AccountsDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, accountName: string, accountUpdateParameters: AccountUpdateParameters, options?: AccountsUpdateOptionalParams): Promise, AccountsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, accountName: string, accountUpdateParameters: AccountUpdateParameters, options?: AccountsUpdateOptionalParams): Promise; + checkNameAvailability(checkNameAvailabilityRequest: CheckNameAvailabilityRequest, options?: AccountsCheckNameAvailabilityOptionalParams): Promise; + get(resourceGroupName: string, accountName: string, options?: AccountsGetOptionalParams): Promise; + listByResourceGroup(resourceGroupName: string, options?: AccountsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listBySubscription(options?: AccountsListBySubscriptionOptionalParams): PagedAsyncIterableIterator; + listKeys(resourceGroupName: string, accountName: string, options?: AccountsListKeysOptionalParams): Promise; +} + +// @public +export interface AccountsAddRootCollectionAdminOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AccountsCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccountsCheckNameAvailabilityResponse = CheckNameAvailabilityResult; + +// @public +export interface AccountsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AccountsCreateOrUpdateResponse = Account; + +// @public +export interface AccountsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface AccountsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccountsGetResponse = Account; + +// @public +export interface AccountSku { + capacity?: number; + name?: Name; +} + +// @public +export interface AccountsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + skipToken?: string; +} + +// @public +export type AccountsListByResourceGroupNextResponse = AccountList; + +// @public +export interface AccountsListByResourceGroupOptionalParams extends coreClient.OperationOptions { + skipToken?: string; +} + +// @public +export type AccountsListByResourceGroupResponse = AccountList; + +// @public +export interface AccountsListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { + skipToken?: string; +} + +// @public +export type AccountsListBySubscriptionNextResponse = AccountList; + +// @public +export interface AccountsListBySubscriptionOptionalParams extends coreClient.OperationOptions { + skipToken?: string; +} + +// @public +export type AccountsListBySubscriptionResponse = AccountList; + +// @public +export interface AccountsListKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccountsListKeysResponse = AccessKeys; + +// @public +export interface AccountsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AccountsUpdateResponse = Account; + +// @public +export interface AccountUpdateParameters { + properties?: AccountProperties; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface CheckNameAvailabilityRequest { + name?: string; + type?: string; +} + +// @public +export interface CheckNameAvailabilityResult { + message?: string; + nameAvailable?: boolean; + reason?: Reason; +} + +// @public (undocumented) +export interface CloudConnectors { + readonly awsExternalId?: string; +} + +// @public +export interface CollectionAdminUpdate { + objectId?: string; +} + +// @public +export type CreatedByType = string; + +// @public +export interface DefaultAccountPayload { + accountName?: string; + resourceGroupName?: string; + scope?: string; + scopeTenantId?: string; + scopeType?: ScopeType; + subscriptionId?: string; +} + +// @public +export interface DefaultAccounts { + get(scopeTenantId: string, scopeType: ScopeType, options?: DefaultAccountsGetOptionalParams): Promise; + remove(scopeTenantId: string, scopeType: ScopeType, options?: DefaultAccountsRemoveOptionalParams): Promise; + set(defaultAccountPayload: DefaultAccountPayload, options?: DefaultAccountsSetModelOptionalParams): Promise; +} + +// @public +export interface DefaultAccountsGetOptionalParams extends coreClient.OperationOptions { + scope?: string; +} + +// @public +export type DefaultAccountsGetResponse = DefaultAccountPayload; + +// @public +export interface DefaultAccountsRemoveOptionalParams extends coreClient.OperationOptions { + scope?: string; +} + +// @public +export interface DefaultAccountsSetModelOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DefaultAccountsSetModelResponse = DefaultAccountPayload; + +// @public +export interface DimensionProperties { + displayName?: string; + name?: string; + toBeExportedForCustomer?: boolean; +} + +// @public +export interface ErrorModel { + readonly code?: string; + readonly details?: ErrorModel[]; + readonly message?: string; + readonly target?: string; +} + +// @public +export interface ErrorResponseModel { + readonly error?: ErrorResponseModelError; +} + +// @public +export type ErrorResponseModelError = ErrorModel & {}; + +// @public +export interface Identity { + readonly principalId?: string; + readonly tenantId?: string; + type?: Type; +} + +// @public +export enum KnownCreatedByType { + // (undocumented) + Application = "Application", + // (undocumented) + Key = "Key", + // (undocumented) + ManagedIdentity = "ManagedIdentity", + // (undocumented) + User = "User" +} + +// @public +export enum KnownLastModifiedByType { + // (undocumented) + Application = "Application", + // (undocumented) + Key = "Key", + // (undocumented) + ManagedIdentity = "ManagedIdentity", + // (undocumented) + User = "User" +} + +// @public +export enum KnownName { + // (undocumented) + Standard = "Standard" +} + +// @public +export enum KnownProvisioningState { + // (undocumented) + Canceled = "Canceled", + // (undocumented) + Creating = "Creating", + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Failed = "Failed", + // (undocumented) + Moving = "Moving", + // (undocumented) + SoftDeleted = "SoftDeleted", + // (undocumented) + SoftDeleting = "SoftDeleting", + // (undocumented) + Succeeded = "Succeeded", + // (undocumented) + Unknown = "Unknown" +} + +// @public +export enum KnownPublicNetworkAccess { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled", + // (undocumented) + NotSpecified = "NotSpecified" +} + +// @public +export enum KnownReason { + // (undocumented) + AlreadyExists = "AlreadyExists", + // (undocumented) + Invalid = "Invalid" +} + +// @public +export enum KnownScopeType { + // (undocumented) + Subscription = "Subscription", + // (undocumented) + Tenant = "Tenant" +} + +// @public +export enum KnownStatus { + // (undocumented) + Approved = "Approved", + // (undocumented) + Disconnected = "Disconnected", + // (undocumented) + Pending = "Pending", + // (undocumented) + Rejected = "Rejected", + // (undocumented) + Unknown = "Unknown" +} + +// @public +export enum KnownType { + // (undocumented) + SystemAssigned = "SystemAssigned" +} + +// @public +export type LastModifiedByType = string; + +// @public +export interface ManagedResources { + readonly eventHubNamespace?: string; + readonly resourceGroup?: string; + readonly storageAccount?: string; +} + +// @public +export type Name = string; + +// @public +export interface Operation { + display?: OperationDisplay; + isDataAction?: boolean; + name?: string; + origin?: string; + serviceSpecification?: OperationMetaServiceSpecification; +} + +// @public +export interface OperationDisplay { + description?: string; + operation?: string; + provider?: string; + resource?: string; +} + +// @public +export interface OperationList { + count?: number; + nextLink?: string; + value: Operation[]; +} + +// @public +export interface OperationMetaLogSpecification { + blobDuration?: string; + displayName?: string; + name?: string; +} + +// @public +export interface OperationMetaMetricSpecification { + aggregationType?: string; + dimensions?: DimensionProperties[]; + displayDescription?: string; + displayName?: string; + enableRegionalMdmAccount?: string; + internalMetricName?: string; + name?: string; + resourceIdDimensionNameOverride?: string; + sourceMdmNamespace?: string; + supportedAggregationTypes?: string[]; + supportedTimeGrainTypes?: string[]; + unit?: string; +} + +// @public +export interface OperationMetaServiceSpecification { + logSpecifications?: OperationMetaLogSpecification[]; + metricSpecifications?: OperationMetaMetricSpecification[]; +} + +// @public +export interface Operations { + list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface OperationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListNextResponse = OperationList; + +// @public +export interface OperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListResponse = OperationList; + +// @public +export interface PrivateEndpoint { + id?: string; +} + +// @public +export type PrivateEndpointConnection = ProxyResource & { + privateEndpoint?: PrivateEndpoint; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + readonly provisioningState?: string; +}; + +// @public +export interface PrivateEndpointConnectionList { + count?: number; + nextLink?: string; + value: PrivateEndpointConnection[]; +} + +// @public +export interface PrivateEndpointConnections { + beginCreateOrUpdate(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, request: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise, PrivateEndpointConnectionsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, request: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise; + get(resourceGroupName: string, accountName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise; + listByAccount(resourceGroupName: string, accountName: string, options?: PrivateEndpointConnectionsListByAccountOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsListByAccountNextOptionalParams extends coreClient.OperationOptions { + skipToken?: string; +} + +// @public +export type PrivateEndpointConnectionsListByAccountNextResponse = PrivateEndpointConnectionList; + +// @public +export interface PrivateEndpointConnectionsListByAccountOptionalParams extends coreClient.OperationOptions { + skipToken?: string; +} + +// @public +export type PrivateEndpointConnectionsListByAccountResponse = PrivateEndpointConnectionList; + +// @public +export interface PrivateLinkResource { + readonly id?: string; + readonly name?: string; + readonly properties?: PrivateLinkResourceProperties; + readonly type?: string; +} + +// @public +export interface PrivateLinkResourceList { + count?: number; + nextLink?: string; + value: PrivateLinkResource[]; +} + +// @public +export interface PrivateLinkResourceProperties { + readonly groupId?: string; + readonly requiredMembers?: string[]; + readonly requiredZoneNames?: string[]; +} + +// @public +export interface PrivateLinkResources { + getByGroupId(resourceGroupName: string, accountName: string, groupId: string, options?: PrivateLinkResourcesGetByGroupIdOptionalParams): Promise; + listByAccount(resourceGroupName: string, accountName: string, options?: PrivateLinkResourcesListByAccountOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateLinkResourcesGetByGroupIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesGetByGroupIdResponse = PrivateLinkResource; + +// @public +export interface PrivateLinkResourcesListByAccountNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByAccountNextResponse = PrivateLinkResourceList; + +// @public +export interface PrivateLinkResourcesListByAccountOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByAccountResponse = PrivateLinkResourceList; + +// @public +export interface PrivateLinkServiceConnectionState { + actionsRequired?: string; + description?: string; + status?: Status; +} + +// @public +export type ProvisioningState = string; + +// @public +export interface ProxyResource { + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export type PublicNetworkAccess = string; + +// @public (undocumented) +export class PurviewManagementClient extends PurviewManagementClientContext { + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: PurviewManagementClientOptionalParams); + // (undocumented) + accounts: Accounts; + // (undocumented) + defaultAccounts: DefaultAccounts; + // (undocumented) + operations: Operations; + // (undocumented) + privateEndpointConnections: PrivateEndpointConnections; + // (undocumented) + privateLinkResources: PrivateLinkResources; +} + +// @public (undocumented) +export class PurviewManagementClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: PurviewManagementClientOptionalParams); + // (undocumented) + apiVersion: string; + // (undocumented) + subscriptionId: string; +} + +// @public +export interface PurviewManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export type Reason = string; + +// @public +export type ScopeType = string; + +// @public +export type Status = string; + +// @public +export interface SystemData { + readonly createdAt?: Date; + readonly createdBy?: string; + readonly createdByType?: CreatedByType; + readonly lastModifiedAt?: Date; + readonly lastModifiedBy?: string; + readonly lastModifiedByType?: LastModifiedByType; +} + +// @public +export interface TrackedResource { + readonly id?: string; + identity?: Identity; + location?: string; + readonly name?: string; + readonly systemData?: TrackedResourceSystemData; + tags?: { + [propertyName: string]: string; + }; + readonly type?: string; +} + +// @public +export type TrackedResourceSystemData = SystemData & {}; + +// @public +export type Type = string; + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/purview/arm-purview/rollup.config.js b/sdk/purview/arm-purview/rollup.config.js new file mode 100644 index 000000000000..9be1955eb7f1 --- /dev/null +++ b/sdk/purview/arm-purview/rollup.config.js @@ -0,0 +1,188 @@ +/* + * 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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler + +/** + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. + */ + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/purview/arm-purview/src/index.ts b/sdk/purview/arm-purview/src/index.ts new file mode 100644 index 000000000000..af03fab28928 --- /dev/null +++ b/sdk/purview/arm-purview/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { PurviewManagementClient } from "./purviewManagementClient"; +export { PurviewManagementClientContext } from "./purviewManagementClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/purview/arm-purview/src/lroImpl.ts b/sdk/purview/arm-purview/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/purview/arm-purview/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/purview/arm-purview/src/models/index.ts b/sdk/purview/arm-purview/src/models/index.ts new file mode 100644 index 000000000000..9fad704ca193 --- /dev/null +++ b/sdk/purview/arm-purview/src/models/index.ts @@ -0,0 +1,956 @@ +/* + * 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"; + +/** Paged list of account resources */ +export interface AccountList { + /** Total item count. */ + count?: number; + /** The Url of next result page. */ + nextLink?: string; + /** Collection of items of type results. */ + value: Account[]; +} + +/** Azure ARM Tracked Resource */ +export interface TrackedResource { + /** + * Gets or sets the identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** Identity Info on the tracked resource */ + identity?: Identity; + /** Gets or sets the location. */ + location?: string; + /** + * Gets or sets the name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: 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?: TrackedResourceSystemData; + /** Tags on the azure resource. */ + tags?: { [propertyName: string]: string }; + /** + * Gets or sets the type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + +/** The Managed Identity of the resource */ +export interface Identity { + /** + * Service principal object Id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalId?: string; + /** + * Tenant Id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tenantId?: string; + /** Identity Type */ + type?: Type; +} + +/** Metadata pertaining to creation and last modification of the resource. */ +export interface SystemData { + /** + * The timestamp of resource creation (UTC). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdAt?: Date; + /** + * The identity that created the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdBy?: string; + /** + * The type of identity that created the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByType?: CreatedByType; + /** + * The timestamp of the last modification the resource (UTC). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastModifiedAt?: Date; + /** + * The identity that last modified the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastModifiedByType?: LastModifiedByType; +} + +/** The account properties */ +export interface AccountProperties { + /** + * Cloud connectors. + * External cloud identifier used as part of scanning configuration. + */ + cloudConnectors?: CloudConnectors; + /** + * Gets the time at which the entity was created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdAt?: Date; + /** + * Gets the creator of the entity. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdBy?: string; + /** + * Gets the creators of the entity's object id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByObjectId?: string; + /** + * The URIs that are the public endpoints of the account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly endpoints?: AccountPropertiesEndpoints; + /** + * Gets or sets the friendly name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly friendlyName?: string; + /** Gets or sets the managed resource group name */ + managedResourceGroupName?: string; + /** + * Gets the resource identifiers of the managed resources. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly managedResources?: AccountPropertiesManagedResources; + /** + * Gets the private endpoint connections information. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + /** + * Gets or sets the state of the provisioning. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** Gets or sets the public network access. */ + publicNetworkAccess?: PublicNetworkAccess; +} + +export interface CloudConnectors { + /** + * AWS external identifier. + * Configured in AWS to allow use of the role arn used for scanning + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly awsExternalId?: string; +} + +/** The account endpoints */ +export interface AccountEndpoints { + /** + * Gets the catalog endpoint. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly catalog?: string; + /** + * Gets the guardian endpoint. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly guardian?: string; + /** + * Gets the scan endpoint. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly scan?: string; +} + +/** The managed resources in customer subscription. */ +export interface ManagedResources { + /** + * Gets the managed event hub namespace resource identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly eventHubNamespace?: string; + /** + * Gets the managed resource group resource identifier. This resource group will host resource dependencies for the account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGroup?: string; + /** + * Gets the managed storage account resource identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly storageAccount?: string; +} + +/** Proxy Azure Resource */ +export interface ProxyResource { + /** + * Gets or sets the identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * Gets or sets the name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * Gets or sets the type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + +/** A private endpoint class. */ +export interface PrivateEndpoint { + /** The private endpoint identifier. */ + id?: string; +} + +/** The private link service connection state. */ +export interface PrivateLinkServiceConnectionState { + /** The required actions. */ + actionsRequired?: string; + /** The description. */ + description?: string; + /** The status. */ + status?: Status; +} + +/** The Sku */ +export interface AccountSku { + /** Gets or sets the sku capacity. Possible values include: 4, 16 */ + capacity?: number; + /** Gets or sets the sku name. */ + name?: Name; +} + +/** Default error response model */ +export interface ErrorResponseModel { + /** + * Gets or sets the error. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly error?: ErrorResponseModelError; +} + +/** Default error model */ +export interface ErrorModel { + /** + * Gets or sets the code. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * Gets or sets the details. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly details?: ErrorModel[]; + /** + * Gets or sets the messages. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; + /** + * Gets or sets the target. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly target?: string; +} + +/** The account update properties. */ +export interface AccountUpdateParameters { + /** The account properties. */ + properties?: AccountProperties; + /** Tags on the azure resource. */ + tags?: { [propertyName: string]: string }; +} + +/** The Account access keys. */ +export interface AccessKeys { + /** Gets or sets the primary connection string. */ + atlasKafkaPrimaryEndpoint?: string; + /** Gets or sets the secondary connection string. */ + atlasKafkaSecondaryEndpoint?: string; +} + +/** Collection administrator update. */ +export interface CollectionAdminUpdate { + /** Gets or sets the object identifier of the admin. */ + objectId?: string; +} + +/** Payload to get and set the default account in the given scope */ +export interface DefaultAccountPayload { + /** The name of the account that is set as the default. */ + accountName?: string; + /** The resource group name of the account that is set as the default. */ + resourceGroupName?: string; + /** The scope object ID. For example, sub ID or tenant ID. */ + scope?: string; + /** The scope tenant in which the default account is set. */ + scopeTenantId?: string; + /** The scope where the default account is set. */ + scopeType?: ScopeType; + /** The subscription ID of the account that is set as the default. */ + subscriptionId?: string; +} + +/** Paged list of operation resources */ +export interface OperationList { + /** Total item count. */ + count?: number; + /** The Url of next result page. */ + nextLink?: string; + /** Collection of items of type results. */ + value: Operation[]; +} + +/** Operation resource */ +export interface Operation { + /** Properties on the operation */ + display?: OperationDisplay; + /** Whether operation is a data action */ + isDataAction?: boolean; + /** Operation name for display purposes */ + name?: string; + /** origin of the operation */ + origin?: string; + /** meta service specification */ + serviceSpecification?: OperationMetaServiceSpecification; +} + +/** The response model for get operation properties */ +export interface OperationDisplay { + /** Description of the operation for display purposes */ + description?: string; + /** Name of the operation for display purposes */ + operation?: string; + /** Name of the provider for display purposes */ + provider?: string; + /** Name of the resource type for display purposes */ + resource?: string; +} + +/** The operation meta service specification */ +export interface OperationMetaServiceSpecification { + /** log specifications for the operation */ + logSpecifications?: OperationMetaLogSpecification[]; + /** metric specifications for the operation */ + metricSpecifications?: OperationMetaMetricSpecification[]; +} + +/** log specifications for operation api */ +export interface OperationMetaLogSpecification { + /** blob duration of the log */ + blobDuration?: string; + /** localized name of the log category */ + displayName?: string; + /** name of the log category */ + name?: string; +} + +/** metric specifications for the operation */ +export interface OperationMetaMetricSpecification { + /** aggregation type of metric */ + aggregationType?: string; + /** properties for dimension */ + dimensions?: DimensionProperties[]; + /** description of the metric */ + displayDescription?: string; + /** localized name of the metric */ + displayName?: string; + /** enable regional mdm account */ + enableRegionalMdmAccount?: string; + /** internal metric name */ + internalMetricName?: string; + /** name of the metric */ + name?: string; + /** dimension name use to replace resource id if specified */ + resourceIdDimensionNameOverride?: string; + /** + * Metric namespace. + * Only set the namespace if different from the default value, + * leaving it empty makes it use the value from the ARM manifest. + */ + sourceMdmNamespace?: string; + /** supported aggregation types */ + supportedAggregationTypes?: string[]; + /** supported time grain types */ + supportedTimeGrainTypes?: string[]; + /** units for the metric */ + unit?: string; +} + +/** properties for dimension */ +export interface DimensionProperties { + /** localized display name of the dimension to customer */ + displayName?: string; + /** dimension name */ + name?: string; + /** flag indicating whether this dimension should be included to the customer in Azure Monitor logs (aka Shoebox) */ + toBeExportedForCustomer?: boolean; +} + +/** Paged list of private endpoint connections */ +export interface PrivateEndpointConnectionList { + /** Total item count. */ + count?: number; + /** The Url of next result page. */ + nextLink?: string; + /** Collection of items of type results. */ + value: PrivateEndpointConnection[]; +} + +/** Paged list of private link resources */ +export interface PrivateLinkResourceList { + /** Total item count. */ + count?: number; + /** The Url of next result page. */ + nextLink?: string; + /** Collection of items of type results. */ + value: PrivateLinkResource[]; +} + +/** A privately linkable resource. */ +export interface PrivateLinkResource { + /** + * The private link resource identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The private link resource name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The private link resource properties. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly properties?: PrivateLinkResourceProperties; + /** + * The private link resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + +/** A privately linkable resource properties. */ +export interface PrivateLinkResourceProperties { + /** + * The private link resource group identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly groupId?: string; + /** + * This translates to how many Private IPs should be created for each privately linkable resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requiredMembers?: string[]; + /** + * The required zone names for private link resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requiredZoneNames?: string[]; +} + +/** The request payload for CheckNameAvailability API */ +export interface CheckNameAvailabilityRequest { + /** Resource name to verify for availability */ + name?: string; + /** Fully qualified resource type which includes provider namespace */ + type?: string; +} + +/** The response payload for CheckNameAvailability API */ +export interface CheckNameAvailabilityResult { + /** Error message */ + message?: string; + /** Indicates if name is valid and available. */ + nameAvailable?: boolean; + /** The reason the name is not available. */ + reason?: Reason; +} + +/** Account resource */ +export type Account = TrackedResource & { + /** Gets or sets the Sku. */ + sku?: AccountSku; + /** + * Cloud connectors. + * External cloud identifier used as part of scanning configuration. + */ + cloudConnectors?: CloudConnectors; + /** + * Gets the time at which the entity was created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdAt?: Date; + /** + * Gets the creator of the entity. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdBy?: string; + /** + * Gets the creators of the entity's object id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByObjectId?: string; + /** + * The URIs that are the public endpoints of the account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly endpoints?: AccountPropertiesEndpoints; + /** + * Gets or sets the friendly name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly friendlyName?: string; + /** Gets or sets the managed resource group name */ + managedResourceGroupName?: string; + /** + * Gets the resource identifiers of the managed resources. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly managedResources?: AccountPropertiesManagedResources; + /** + * Gets the private endpoint connections information. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + /** + * Gets or sets the state of the provisioning. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** Gets or sets the public network access. */ + publicNetworkAccess?: PublicNetworkAccess; +}; + +/** Metadata pertaining to creation and last modification of the resource. */ +export type TrackedResourceSystemData = SystemData & {}; + +/** The URIs that are the public endpoints of the account. */ +export type AccountPropertiesEndpoints = AccountEndpoints & {}; + +/** Gets the resource identifiers of the managed resources. */ +export type AccountPropertiesManagedResources = ManagedResources & {}; + +/** A private endpoint connection class. */ +export type PrivateEndpointConnection = ProxyResource & { + /** The private endpoint information. */ + privateEndpoint?: PrivateEndpoint; + /** The private link service connection state. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + /** + * The provisioning state. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; +}; + +/** Gets or sets the error. */ +export type ErrorResponseModelError = ErrorModel & {}; + +/** Known values of {@link Type} that the service accepts. */ +export enum KnownType { + SystemAssigned = "SystemAssigned" +} + +/** + * Defines values for Type. \ + * {@link KnownType} can be used interchangeably with Type, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **SystemAssigned** + */ +export type Type = 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 LastModifiedByType} that the service accepts. */ +export enum KnownLastModifiedByType { + User = "User", + Application = "Application", + ManagedIdentity = "ManagedIdentity", + Key = "Key" +} + +/** + * Defines values for LastModifiedByType. \ + * {@link KnownLastModifiedByType} can be used interchangeably with LastModifiedByType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Application** \ + * **ManagedIdentity** \ + * **Key** + */ +export type LastModifiedByType = string; + +/** Known values of {@link Status} that the service accepts. */ +export enum KnownStatus { + Unknown = "Unknown", + Pending = "Pending", + Approved = "Approved", + Rejected = "Rejected", + Disconnected = "Disconnected" +} + +/** + * Defines values for Status. \ + * {@link KnownStatus} can be used interchangeably with Status, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unknown** \ + * **Pending** \ + * **Approved** \ + * **Rejected** \ + * **Disconnected** + */ +export type Status = string; + +/** Known values of {@link ProvisioningState} that the service accepts. */ +export enum KnownProvisioningState { + Unknown = "Unknown", + Creating = "Creating", + Moving = "Moving", + Deleting = "Deleting", + SoftDeleting = "SoftDeleting", + SoftDeleted = "SoftDeleted", + Failed = "Failed", + Succeeded = "Succeeded", + 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 + * **Unknown** \ + * **Creating** \ + * **Moving** \ + * **Deleting** \ + * **SoftDeleting** \ + * **SoftDeleted** \ + * **Failed** \ + * **Succeeded** \ + * **Canceled** + */ +export type ProvisioningState = string; + +/** Known values of {@link PublicNetworkAccess} that the service accepts. */ +export enum KnownPublicNetworkAccess { + NotSpecified = "NotSpecified", + Enabled = "Enabled", + Disabled = "Disabled" +} + +/** + * Defines values for PublicNetworkAccess. \ + * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NotSpecified** \ + * **Enabled** \ + * **Disabled** + */ +export type PublicNetworkAccess = string; + +/** Known values of {@link Name} that the service accepts. */ +export enum KnownName { + Standard = "Standard" +} + +/** + * Defines values for Name. \ + * {@link KnownName} can be used interchangeably with Name, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Standard** + */ +export type Name = string; + +/** Known values of {@link ScopeType} that the service accepts. */ +export enum KnownScopeType { + Tenant = "Tenant", + Subscription = "Subscription" +} + +/** + * Defines values for ScopeType. \ + * {@link KnownScopeType} can be used interchangeably with ScopeType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Tenant** \ + * **Subscription** + */ +export type ScopeType = string; + +/** Known values of {@link Reason} that the service accepts. */ +export enum KnownReason { + Invalid = "Invalid", + AlreadyExists = "AlreadyExists" +} + +/** + * Defines values for Reason. \ + * {@link KnownReason} can be used interchangeably with Reason, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Invalid** \ + * **AlreadyExists** + */ +export type Reason = string; + +/** Optional parameters. */ +export interface AccountsListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** The skip token. */ + skipToken?: string; +} + +/** Contains response data for the listByResourceGroup operation. */ +export type AccountsListByResourceGroupResponse = AccountList; + +/** Optional parameters. */ +export interface AccountsListBySubscriptionOptionalParams + extends coreClient.OperationOptions { + /** The skip token. */ + skipToken?: string; +} + +/** Contains response data for the listBySubscription operation. */ +export type AccountsListBySubscriptionResponse = AccountList; + +/** Optional parameters. */ +export interface AccountsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type AccountsGetResponse = Account; + +/** Optional parameters. */ +export interface AccountsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 AccountsCreateOrUpdateResponse = Account; + +/** Optional parameters. */ +export interface AccountsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 AccountsUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 AccountsUpdateResponse = Account; + +/** Optional parameters. */ +export interface AccountsListKeysOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listKeys operation. */ +export type AccountsListKeysResponse = AccessKeys; + +/** Optional parameters. */ +export interface AccountsAddRootCollectionAdminOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AccountsCheckNameAvailabilityOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the checkNameAvailability operation. */ +export type AccountsCheckNameAvailabilityResponse = CheckNameAvailabilityResult; + +/** Optional parameters. */ +export interface AccountsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** The skip token. */ + skipToken?: string; +} + +/** Contains response data for the listByResourceGroupNext operation. */ +export type AccountsListByResourceGroupNextResponse = AccountList; + +/** Optional parameters. */ +export interface AccountsListBySubscriptionNextOptionalParams + extends coreClient.OperationOptions { + /** The skip token. */ + skipToken?: string; +} + +/** Contains response data for the listBySubscriptionNext operation. */ +export type AccountsListBySubscriptionNextResponse = AccountList; + +/** Optional parameters. */ +export interface DefaultAccountsGetOptionalParams + extends coreClient.OperationOptions { + /** The Id of the scope object, for example if the scope is "Subscription" then it is the ID of that subscription. */ + scope?: string; +} + +/** Contains response data for the get operation. */ +export type DefaultAccountsGetResponse = DefaultAccountPayload; + +/** Optional parameters. */ +export interface DefaultAccountsSetModelOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the set operation. */ +export type DefaultAccountsSetModelResponse = DefaultAccountPayload; + +/** Optional parameters. */ +export interface DefaultAccountsRemoveOptionalParams + extends coreClient.OperationOptions { + /** The Id of the scope object, for example if the scope is "Subscription" then it is the ID of that subscription. */ + scope?: string; +} + +/** Optional parameters. */ +export interface OperationsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type OperationsListResponse = OperationList; + +/** Optional parameters. */ +export interface OperationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type OperationsListNextResponse = OperationList; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByAccountOptionalParams + extends coreClient.OperationOptions { + /** The skip token. */ + skipToken?: string; +} + +/** Contains response data for the listByAccount operation. */ +export type PrivateEndpointConnectionsListByAccountResponse = PrivateEndpointConnectionList; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 PrivateEndpointConnectionsListByAccountNextOptionalParams + extends coreClient.OperationOptions { + /** The skip token. */ + skipToken?: string; +} + +/** Contains response data for the listByAccountNext operation. */ +export type PrivateEndpointConnectionsListByAccountNextResponse = PrivateEndpointConnectionList; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByAccountOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByAccount operation. */ +export type PrivateLinkResourcesListByAccountResponse = PrivateLinkResourceList; + +/** Optional parameters. */ +export interface PrivateLinkResourcesGetByGroupIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getByGroupId operation. */ +export type PrivateLinkResourcesGetByGroupIdResponse = PrivateLinkResource; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByAccountNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByAccountNext operation. */ +export type PrivateLinkResourcesListByAccountNextResponse = PrivateLinkResourceList; + +/** Optional parameters. */ +export interface PurviewManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/purview/arm-purview/src/models/mappers.ts b/sdk/purview/arm-purview/src/models/mappers.ts new file mode 100644 index 000000000000..144ecff302ca --- /dev/null +++ b/sdk/purview/arm-purview/src/models/mappers.ts @@ -0,0 +1,1258 @@ +/* + * 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 AccountList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccountList", + modelProperties: { + count: { + serializedName: "count", + type: { + name: "Number" + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Account" + } + } + } + } + } + } +}; + +export const TrackedResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "Identity" + } + }, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "TrackedResourceSystemData" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const Identity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Identity", + modelProperties: { + principalId: { + serializedName: "principalId", + readOnly: true, + type: { + name: "String" + } + }, + tenantId: { + serializedName: "tenantId", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const SystemData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SystemData", + modelProperties: { + createdAt: { + serializedName: "createdAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + createdBy: { + serializedName: "createdBy", + readOnly: true, + type: { + name: "String" + } + }, + createdByType: { + serializedName: "createdByType", + readOnly: true, + type: { + name: "String" + } + }, + lastModifiedAt: { + serializedName: "lastModifiedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + lastModifiedBy: { + serializedName: "lastModifiedBy", + readOnly: true, + type: { + name: "String" + } + }, + lastModifiedByType: { + serializedName: "lastModifiedByType", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccountProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccountProperties", + modelProperties: { + cloudConnectors: { + serializedName: "cloudConnectors", + type: { + name: "Composite", + className: "CloudConnectors" + } + }, + createdAt: { + serializedName: "createdAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + createdBy: { + serializedName: "createdBy", + readOnly: true, + type: { + name: "String" + } + }, + createdByObjectId: { + serializedName: "createdByObjectId", + readOnly: true, + type: { + name: "String" + } + }, + endpoints: { + serializedName: "endpoints", + type: { + name: "Composite", + className: "AccountPropertiesEndpoints" + } + }, + friendlyName: { + serializedName: "friendlyName", + readOnly: true, + type: { + name: "String" + } + }, + managedResourceGroupName: { + serializedName: "managedResourceGroupName", + type: { + name: "String" + } + }, + managedResources: { + serializedName: "managedResources", + type: { + name: "Composite", + className: "AccountPropertiesManagedResources" + } + }, + privateEndpointConnections: { + serializedName: "privateEndpointConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + }, + provisioningState: { + serializedName: "provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + publicNetworkAccess: { + defaultValue: "Enabled", + serializedName: "publicNetworkAccess", + type: { + name: "String" + } + } + } + } +}; + +export const CloudConnectors: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudConnectors", + modelProperties: { + awsExternalId: { + serializedName: "awsExternalId", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccountEndpoints: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccountEndpoints", + modelProperties: { + catalog: { + serializedName: "catalog", + readOnly: true, + type: { + name: "String" + } + }, + guardian: { + serializedName: "guardian", + readOnly: true, + type: { + name: "String" + } + }, + scan: { + serializedName: "scan", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ManagedResources: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedResources", + modelProperties: { + eventHubNamespace: { + serializedName: "eventHubNamespace", + readOnly: true, + type: { + name: "String" + } + }, + resourceGroup: { + serializedName: "resourceGroup", + readOnly: true, + type: { + name: "String" + } + }, + storageAccount: { + serializedName: "storageAccount", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResource", + 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 PrivateEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpoint", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState", + modelProperties: { + actionsRequired: { + serializedName: "actionsRequired", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const AccountSku: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccountSku", + modelProperties: { + capacity: { + serializedName: "capacity", + type: { + name: "Number" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + } + } + } +}; + +export const ErrorResponseModel: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorResponseModel", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorResponseModelError" + } + } + } + } +}; + +export const ErrorModel: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorModel", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" + } + }, + details: { + serializedName: "details", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorModel" + } + } + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + }, + target: { + serializedName: "target", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccountUpdateParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccountUpdateParameters", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "AccountProperties" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const AccessKeys: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessKeys", + modelProperties: { + atlasKafkaPrimaryEndpoint: { + serializedName: "atlasKafkaPrimaryEndpoint", + type: { + name: "String" + } + }, + atlasKafkaSecondaryEndpoint: { + serializedName: "atlasKafkaSecondaryEndpoint", + type: { + name: "String" + } + } + } + } +}; + +export const CollectionAdminUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CollectionAdminUpdate", + modelProperties: { + objectId: { + serializedName: "objectId", + type: { + name: "String" + } + } + } + } +}; + +export const DefaultAccountPayload: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DefaultAccountPayload", + modelProperties: { + accountName: { + serializedName: "accountName", + type: { + name: "String" + } + }, + resourceGroupName: { + serializedName: "resourceGroupName", + type: { + name: "String" + } + }, + scope: { + serializedName: "scope", + type: { + name: "String" + } + }, + scopeTenantId: { + serializedName: "scopeTenantId", + type: { + name: "String" + } + }, + scopeType: { + serializedName: "scopeType", + type: { + name: "String" + } + }, + subscriptionId: { + serializedName: "subscriptionId", + type: { + name: "String" + } + } + } + } +}; + +export const OperationList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationList", + modelProperties: { + count: { + serializedName: "count", + type: { + name: "Number" + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + } + } + } +}; + +export const Operation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Operation", + modelProperties: { + display: { + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + }, + isDataAction: { + serializedName: "isDataAction", + type: { + name: "Boolean" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + origin: { + serializedName: "origin", + type: { + name: "String" + } + }, + serviceSpecification: { + serializedName: "properties.serviceSpecification", + type: { + name: "Composite", + className: "OperationMetaServiceSpecification" + } + } + } + } +}; + +export const OperationDisplay: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + description: { + serializedName: "description", + type: { + name: "String" + } + }, + operation: { + serializedName: "operation", + type: { + name: "String" + } + }, + provider: { + serializedName: "provider", + type: { + name: "String" + } + }, + resource: { + serializedName: "resource", + type: { + name: "String" + } + } + } + } +}; + +export const OperationMetaServiceSpecification: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationMetaServiceSpecification", + modelProperties: { + logSpecifications: { + serializedName: "logSpecifications", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OperationMetaLogSpecification" + } + } + } + }, + metricSpecifications: { + serializedName: "metricSpecifications", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OperationMetaMetricSpecification" + } + } + } + } + } + } +}; + +export const OperationMetaLogSpecification: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationMetaLogSpecification", + modelProperties: { + blobDuration: { + serializedName: "blobDuration", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + } + } + } +}; + +export const OperationMetaMetricSpecification: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationMetaMetricSpecification", + modelProperties: { + aggregationType: { + serializedName: "aggregationType", + type: { + name: "String" + } + }, + dimensions: { + serializedName: "dimensions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DimensionProperties" + } + } + } + }, + displayDescription: { + serializedName: "displayDescription", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + enableRegionalMdmAccount: { + serializedName: "enableRegionalMdmAccount", + type: { + name: "String" + } + }, + internalMetricName: { + serializedName: "internalMetricName", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + resourceIdDimensionNameOverride: { + serializedName: "resourceIdDimensionNameOverride", + type: { + name: "String" + } + }, + sourceMdmNamespace: { + serializedName: "sourceMdmNamespace", + type: { + name: "String" + } + }, + supportedAggregationTypes: { + serializedName: "supportedAggregationTypes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + supportedTimeGrainTypes: { + serializedName: "supportedTimeGrainTypes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + unit: { + serializedName: "unit", + type: { + name: "String" + } + } + } + } +}; + +export const DimensionProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DimensionProperties", + modelProperties: { + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + toBeExportedForCustomer: { + serializedName: "toBeExportedForCustomer", + type: { + name: "Boolean" + } + } + } + } +}; + +export const PrivateEndpointConnectionList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionList", + modelProperties: { + count: { + serializedName: "count", + type: { + name: "Number" + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + } + } + } +}; + +export const PrivateLinkResourceList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceList", + modelProperties: { + count: { + serializedName: "count", + type: { + name: "Number" + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } + } + } + } + } +}; + +export const PrivateLinkResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResource", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "PrivateLinkResourceProperties" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkResourceProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceProperties", + modelProperties: { + groupId: { + serializedName: "groupId", + readOnly: true, + type: { + name: "String" + } + }, + requiredMembers: { + serializedName: "requiredMembers", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + requiredZoneNames: { + serializedName: "requiredZoneNames", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const CheckNameAvailabilityRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CheckNameAvailabilityRequest", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const CheckNameAvailabilityResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CheckNameAvailabilityResult", + modelProperties: { + message: { + serializedName: "message", + type: { + name: "String" + } + }, + nameAvailable: { + serializedName: "nameAvailable", + type: { + name: "Boolean" + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" + } + } + } + } +}; + +export const Account: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Account", + modelProperties: { + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "AccountSku" + } + }, + cloudConnectors: { + serializedName: "properties.cloudConnectors", + type: { + name: "Composite", + className: "CloudConnectors" + } + }, + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + createdBy: { + serializedName: "properties.createdBy", + readOnly: true, + type: { + name: "String" + } + }, + createdByObjectId: { + serializedName: "properties.createdByObjectId", + readOnly: true, + type: { + name: "String" + } + }, + endpoints: { + serializedName: "properties.endpoints", + type: { + name: "Composite", + className: "AccountPropertiesEndpoints" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", + readOnly: true, + type: { + name: "String" + } + }, + managedResourceGroupName: { + serializedName: "properties.managedResourceGroupName", + type: { + name: "String" + } + }, + managedResources: { + serializedName: "properties.managedResources", + type: { + name: "Composite", + className: "AccountPropertiesManagedResources" + } + }, + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + publicNetworkAccess: { + defaultValue: "Enabled", + serializedName: "properties.publicNetworkAccess", + type: { + name: "String" + } + } + } + } +}; + +export const TrackedResourceSystemData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TrackedResourceSystemData", + modelProperties: { + ...SystemData.type.modelProperties + } + } +}; + +export const AccountPropertiesEndpoints: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccountPropertiesEndpoints", + modelProperties: { + ...AccountEndpoints.type.modelProperties + } + } +}; + +export const AccountPropertiesManagedResources: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccountPropertiesManagedResources", + modelProperties: { + ...ManagedResources.type.modelProperties + } + } +}; + +export const PrivateEndpointConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnection", + modelProperties: { + ...ProxyResource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpoint" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ErrorResponseModelError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorResponseModelError", + modelProperties: { + ...ErrorModel.type.modelProperties + } + } +}; diff --git a/sdk/purview/arm-purview/src/models/parameters.ts b/sdk/purview/arm-purview/src/models/parameters.ts new file mode 100644 index 000000000000..fd3fc9b0531d --- /dev/null +++ b/sdk/purview/arm-purview/src/models/parameters.ts @@ -0,0 +1,208 @@ +/* + * 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 { + Account as AccountMapper, + AccountUpdateParameters as AccountUpdateParametersMapper, + CollectionAdminUpdate as CollectionAdminUpdateMapper, + CheckNameAvailabilityRequest as CheckNameAvailabilityRequestMapper, + DefaultAccountPayload as DefaultAccountPayloadMapper, + PrivateEndpointConnection as PrivateEndpointConnectionMapper +} from "../models/mappers"; + +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: { + serializedName: "subscriptionId", + required: true, + type: { + name: "String" + } + } +}; + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { + serializedName: "resourceGroupName", + required: true, + type: { + name: "String" + } + } +}; + +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2021-07-01", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const skipToken: OperationQueryParameter = { + parameterPath: ["options", "skipToken"], + mapper: { + serializedName: "$skipToken", + type: { + name: "String" + } + } +}; + +export const accountName: OperationURLParameter = { + parameterPath: "accountName", + mapper: { + serializedName: "accountName", + required: true, + type: { + name: "String" + } + } +}; + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], + mapper: { + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", + type: { + name: "String" + } + } +}; + +export const account: OperationParameter = { + parameterPath: "account", + mapper: AccountMapper +}; + +export const accountUpdateParameters: OperationParameter = { + parameterPath: "accountUpdateParameters", + mapper: AccountUpdateParametersMapper +}; + +export const collectionAdminUpdate: OperationParameter = { + parameterPath: "collectionAdminUpdate", + mapper: CollectionAdminUpdateMapper +}; + +export const checkNameAvailabilityRequest: OperationParameter = { + parameterPath: "checkNameAvailabilityRequest", + mapper: CheckNameAvailabilityRequestMapper +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", + mapper: { + serializedName: "nextLink", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const scopeTenantId: OperationQueryParameter = { + parameterPath: "scopeTenantId", + mapper: { + serializedName: "scopeTenantId", + required: true, + type: { + name: "Uuid" + } + } +}; + +export const scopeType: OperationQueryParameter = { + parameterPath: "scopeType", + mapper: { + serializedName: "scopeType", + required: true, + type: { + name: "String" + } + } +}; + +export const scope: OperationQueryParameter = { + parameterPath: ["options", "scope"], + mapper: { + serializedName: "scope", + type: { + name: "String" + } + } +}; + +export const defaultAccountPayload: OperationParameter = { + parameterPath: "defaultAccountPayload", + mapper: DefaultAccountPayloadMapper +}; + +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", + mapper: { + serializedName: "privateEndpointConnectionName", + required: true, + type: { + name: "String" + } + } +}; + +export const request: OperationParameter = { + parameterPath: "request", + mapper: PrivateEndpointConnectionMapper +}; + +export const groupId: OperationURLParameter = { + parameterPath: "groupId", + mapper: { + serializedName: "groupId", + required: true, + type: { + name: "String" + } + } +}; diff --git a/sdk/purview/arm-purview/src/operations/accounts.ts b/sdk/purview/arm-purview/src/operations/accounts.ts new file mode 100644 index 000000000000..f6355206d75a --- /dev/null +++ b/sdk/purview/arm-purview/src/operations/accounts.ts @@ -0,0 +1,795 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Accounts } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { PurviewManagementClientContext } from "../purviewManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Account, + AccountsListByResourceGroupNextOptionalParams, + AccountsListByResourceGroupOptionalParams, + AccountsListBySubscriptionNextOptionalParams, + AccountsListBySubscriptionOptionalParams, + AccountsListByResourceGroupResponse, + AccountsListBySubscriptionResponse, + AccountsGetOptionalParams, + AccountsGetResponse, + AccountsCreateOrUpdateOptionalParams, + AccountsCreateOrUpdateResponse, + AccountsDeleteOptionalParams, + AccountUpdateParameters, + AccountsUpdateOptionalParams, + AccountsUpdateResponse, + AccountsListKeysOptionalParams, + AccountsListKeysResponse, + CollectionAdminUpdate, + AccountsAddRootCollectionAdminOptionalParams, + CheckNameAvailabilityRequest, + AccountsCheckNameAvailabilityOptionalParams, + AccountsCheckNameAvailabilityResponse, + AccountsListByResourceGroupNextResponse, + AccountsListBySubscriptionNextResponse +} from "../models"; + +/// +/** Class containing Accounts operations. */ +export class AccountsImpl implements Accounts { + private readonly client: PurviewManagementClientContext; + + /** + * Initialize a new instance of the class Accounts class. + * @param client Reference to the service client + */ + constructor(client: PurviewManagementClientContext) { + this.client = client; + } + + /** + * List accounts in ResourceGroup + * @param resourceGroupName The resource group name. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: AccountsListByResourceGroupOptionalParams + ): 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?: AccountsListByResourceGroupOptionalParams + ): 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?: AccountsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * List accounts in Subscription + * @param options The options parameters. + */ + public listBySubscription( + options?: AccountsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySubscriptionPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySubscriptionPagingPage(options); + } + }; + } + + private async *listBySubscriptionPagingPage( + options?: AccountsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySubscription(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySubscriptionNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySubscriptionPagingAll( + options?: AccountsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySubscriptionPagingPage(options)) { + yield* page; + } + } + + /** + * List accounts in ResourceGroup + * @param resourceGroupName The resource group name. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: AccountsListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * List accounts in Subscription + * @param options The options parameters. + */ + private _listBySubscription( + options?: AccountsListBySubscriptionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listBySubscriptionOperationSpec + ); + } + + /** + * Get an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + accountName: string, + options?: AccountsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, accountName, options }, + getOperationSpec + ); + } + + /** + * Creates or updates an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param account The account. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + accountName: string, + account: Account, + options?: AccountsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AccountsCreateOrUpdateResponse + > + > { + 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, accountName, account, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param account The account. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + accountName: string, + account: Account, + options?: AccountsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + accountName, + account, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes an account resource + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + accountName: string, + options?: AccountsDeleteOptionalParams + ): 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, accountName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an account resource + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + accountName: string, + options?: AccountsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + accountName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param accountUpdateParameters The account update parameters. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + accountName: string, + accountUpdateParameters: AccountUpdateParameters, + options?: AccountsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AccountsUpdateResponse + > + > { + 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, accountName, accountUpdateParameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Updates an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param accountUpdateParameters The account update parameters. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + accountName: string, + accountUpdateParameters: AccountUpdateParameters, + options?: AccountsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + accountName, + accountUpdateParameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * List the authorization keys associated with this account. + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + accountName: string, + options?: AccountsListKeysOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, accountName, options }, + listKeysOperationSpec + ); + } + + /** + * Add the administrator for root collection associated with this account. + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param collectionAdminUpdate The collection admin update payload. + * @param options The options parameters. + */ + addRootCollectionAdmin( + resourceGroupName: string, + accountName: string, + collectionAdminUpdate: CollectionAdminUpdate, + options?: AccountsAddRootCollectionAdminOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, accountName, collectionAdminUpdate, options }, + addRootCollectionAdminOperationSpec + ); + } + + /** + * Checks if account name is available. + * @param checkNameAvailabilityRequest The check name availability request. + * @param options The options parameters. + */ + checkNameAvailability( + checkNameAvailabilityRequest: CheckNameAvailabilityRequest, + options?: AccountsCheckNameAvailabilityOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { checkNameAvailabilityRequest, options }, + checkNameAvailabilityOperationSpec + ); + } + + /** + * ListByResourceGroupNext + * @param resourceGroupName The resource group name. + * @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?: AccountsListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + + /** + * ListBySubscriptionNext + * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. + * @param options The options parameters. + */ + private _listBySubscriptionNext( + nextLink: string, + options?: AccountsListBySubscriptionNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listBySubscriptionNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccountList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion, Parameters.skipToken], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySubscriptionOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/accounts", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccountList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion, Parameters.skipToken], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Account + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.Account + }, + 201: { + bodyMapper: Mappers.Account + }, + 202: { + bodyMapper: Mappers.Account + }, + 204: { + bodyMapper: Mappers.Account + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + requestBody: Parameters.account, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.Account + }, + 201: { + bodyMapper: Mappers.Account + }, + 202: { + bodyMapper: Mappers.Account + }, + 204: { + bodyMapper: Mappers.Account + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + requestBody: Parameters.accountUpdateParameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/listkeys", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.AccessKeys + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + headerParameters: [Parameters.accept], + serializer +}; +const addRootCollectionAdminOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin", + httpMethod: "POST", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + requestBody: Parameters.collectionAdminUpdate, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/checkNameAvailability", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.CheckNameAvailabilityResult + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + requestBody: Parameters.checkNameAvailabilityRequest, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccountList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion, Parameters.skipToken], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccountList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion, Parameters.skipToken], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/purview/arm-purview/src/operations/defaultAccounts.ts b/sdk/purview/arm-purview/src/operations/defaultAccounts.ts new file mode 100644 index 000000000000..44c2fae135d5 --- /dev/null +++ b/sdk/purview/arm-purview/src/operations/defaultAccounts.ts @@ -0,0 +1,146 @@ +/* + * 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 { DefaultAccounts } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { PurviewManagementClientContext } from "../purviewManagementClientContext"; +import { + ScopeType, + DefaultAccountsGetOptionalParams, + DefaultAccountsGetResponse, + DefaultAccountPayload, + DefaultAccountsSetModelOptionalParams, + DefaultAccountsSetModelResponse, + DefaultAccountsRemoveOptionalParams +} from "../models"; + +/** Class containing DefaultAccounts operations. */ +export class DefaultAccountsImpl implements DefaultAccounts { + private readonly client: PurviewManagementClientContext; + + /** + * Initialize a new instance of the class DefaultAccounts class. + * @param client Reference to the service client + */ + constructor(client: PurviewManagementClientContext) { + this.client = client; + } + + /** + * Get the default account for the scope. + * @param scopeTenantId The tenant ID. + * @param scopeType The scope for the default account. + * @param options The options parameters. + */ + get( + scopeTenantId: string, + scopeType: ScopeType, + options?: DefaultAccountsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scopeTenantId, scopeType, options }, + getOperationSpec + ); + } + + /** + * Sets the default account for the scope. + * @param defaultAccountPayload The payload containing the default account information and the scope. + * @param options The options parameters. + */ + set( + defaultAccountPayload: DefaultAccountPayload, + options?: DefaultAccountsSetModelOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { defaultAccountPayload, options }, + setOperationSpec + ); + } + + /** + * Removes the default account from the scope. + * @param scopeTenantId The tenant ID. + * @param scopeType The scope for the default account. + * @param options The options parameters. + */ + remove( + scopeTenantId: string, + scopeType: ScopeType, + options?: DefaultAccountsRemoveOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scopeTenantId, scopeType, options }, + removeOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Purview/getDefaultAccount", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DefaultAccountPayload + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.scopeTenantId, + Parameters.scopeType, + Parameters.scope + ], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; +const setOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Purview/setDefaultAccount", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.DefaultAccountPayload + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + requestBody: Parameters.defaultAccountPayload, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const removeOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Purview/removeDefaultAccount", + httpMethod: "POST", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.scopeTenantId, + Parameters.scopeType, + Parameters.scope + ], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/purview/arm-purview/src/operations/index.ts b/sdk/purview/arm-purview/src/operations/index.ts new file mode 100644 index 000000000000..a8c4893c803d --- /dev/null +++ b/sdk/purview/arm-purview/src/operations/index.ts @@ -0,0 +1,13 @@ +/* + * 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 "./accounts"; +export * from "./defaultAccounts"; +export * from "./operations"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; diff --git a/sdk/purview/arm-purview/src/operations/operations.ts b/sdk/purview/arm-purview/src/operations/operations.ts new file mode 100644 index 000000000000..1b39b77e8531 --- /dev/null +++ b/sdk/purview/arm-purview/src/operations/operations.ts @@ -0,0 +1,138 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { PurviewManagementClientContext } from "../purviewManagementClientContext"; +import { + Operation, + OperationsListNextOptionalParams, + OperationsListOptionalParams, + OperationsListResponse, + OperationsListNextResponse +} from "../models"; + +/// +/** Class containing Operations operations. */ +export class OperationsImpl implements Operations { + private readonly client: PurviewManagementClientContext; + + /** + * Initialize a new instance of the class Operations class. + * @param client Reference to the service client + */ + constructor(client: PurviewManagementClientContext) { + this.client = client; + } + + /** + * List of available operations + * @param options The options parameters. + */ + public list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: OperationsListOptionalParams + ): 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?: OperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * List of available operations + * @param options The options parameters. + */ + private _list( + options?: OperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: OperationsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Purview/operations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/purview/arm-purview/src/operations/privateEndpointConnections.ts b/sdk/purview/arm-purview/src/operations/privateEndpointConnections.ts new file mode 100644 index 000000000000..ac257bc5994c --- /dev/null +++ b/sdk/purview/arm-purview/src/operations/privateEndpointConnections.ts @@ -0,0 +1,494 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { PurviewManagementClientContext } from "../purviewManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListByAccountNextOptionalParams, + PrivateEndpointConnectionsListByAccountOptionalParams, + PrivateEndpointConnectionsListByAccountResponse, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsListByAccountNextResponse +} from "../models"; + +/// +/** Class containing PrivateEndpointConnections operations. */ +export class PrivateEndpointConnectionsImpl + implements PrivateEndpointConnections { + private readonly client: PurviewManagementClientContext; + + /** + * Initialize a new instance of the class PrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: PurviewManagementClientContext) { + this.client = client; + } + + /** + * Get private endpoint connections for account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + public listByAccount( + resourceGroupName: string, + accountName: string, + options?: PrivateEndpointConnectionsListByAccountOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByAccountPagingAll( + resourceGroupName, + accountName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByAccountPagingPage( + resourceGroupName, + accountName, + options + ); + } + }; + } + + private async *listByAccountPagingPage( + resourceGroupName: string, + accountName: string, + options?: PrivateEndpointConnectionsListByAccountOptionalParams + ): AsyncIterableIterator { + let result = await this._listByAccount( + resourceGroupName, + accountName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByAccountNext( + resourceGroupName, + accountName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByAccountPagingAll( + resourceGroupName: string, + accountName: string, + options?: PrivateEndpointConnectionsListByAccountOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByAccountPagingPage( + resourceGroupName, + accountName, + options + )) { + yield* page; + } + } + + /** + * Get private endpoint connections for account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + private _listByAccount( + resourceGroupName: string, + accountName: string, + options?: PrivateEndpointConnectionsListByAccountOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, accountName, options }, + listByAccountOperationSpec + ); + } + + /** + * Get a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + privateEndpointConnectionName, + options + }, + getOperationSpec + ); + } + + /** + * Create or update a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param request The request. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + request: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsCreateOrUpdateResponse + > + > { + 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, + accountName, + privateEndpointConnectionName, + request, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Create or update a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param request The request. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + request: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + accountName, + privateEndpointConnectionName, + request, + options + ); + return poller.pollUntilDone(); + } + + /** + * Delete a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): 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, + accountName, + privateEndpointConnectionName, + options + }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Delete a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + accountName, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * ListByAccountNext + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param nextLink The nextLink from the previous successful call to the ListByAccount method. + * @param options The options parameters. + */ + private _listByAccountNext( + resourceGroupName: string, + accountName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListByAccountNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, accountName, nextLink, options }, + listByAccountNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByAccountOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion, Parameters.skipToken], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 202: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 204: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByAccountNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion, Parameters.skipToken], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/purview/arm-purview/src/operations/privateLinkResources.ts b/sdk/purview/arm-purview/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..7bc10b7004ed --- /dev/null +++ b/sdk/purview/arm-purview/src/operations/privateLinkResources.ts @@ -0,0 +1,234 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { PurviewManagementClientContext } from "../purviewManagementClientContext"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByAccountNextOptionalParams, + PrivateLinkResourcesListByAccountOptionalParams, + PrivateLinkResourcesListByAccountResponse, + PrivateLinkResourcesGetByGroupIdOptionalParams, + PrivateLinkResourcesGetByGroupIdResponse, + PrivateLinkResourcesListByAccountNextResponse +} from "../models"; + +/// +/** Class containing PrivateLinkResources operations. */ +export class PrivateLinkResourcesImpl implements PrivateLinkResources { + private readonly client: PurviewManagementClientContext; + + /** + * Initialize a new instance of the class PrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: PurviewManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of privately linkable resources for an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + public listByAccount( + resourceGroupName: string, + accountName: string, + options?: PrivateLinkResourcesListByAccountOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByAccountPagingAll( + resourceGroupName, + accountName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByAccountPagingPage( + resourceGroupName, + accountName, + options + ); + } + }; + } + + private async *listByAccountPagingPage( + resourceGroupName: string, + accountName: string, + options?: PrivateLinkResourcesListByAccountOptionalParams + ): AsyncIterableIterator { + let result = await this._listByAccount( + resourceGroupName, + accountName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByAccountNext( + resourceGroupName, + accountName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByAccountPagingAll( + resourceGroupName: string, + accountName: string, + options?: PrivateLinkResourcesListByAccountOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByAccountPagingPage( + resourceGroupName, + accountName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of privately linkable resources for an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + private _listByAccount( + resourceGroupName: string, + accountName: string, + options?: PrivateLinkResourcesListByAccountOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, accountName, options }, + listByAccountOperationSpec + ); + } + + /** + * Gets a privately linkable resources for an account with given group identifier + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param groupId The group identifier. + * @param options The options parameters. + */ + getByGroupId( + resourceGroupName: string, + accountName: string, + groupId: string, + options?: PrivateLinkResourcesGetByGroupIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, accountName, groupId, options }, + getByGroupIdOperationSpec + ); + } + + /** + * ListByAccountNext + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param nextLink The nextLink from the previous successful call to the ListByAccount method. + * @param options The options parameters. + */ + private _listByAccountNext( + resourceGroupName: string, + accountName: string, + nextLink: string, + options?: PrivateLinkResourcesListByAccountNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, accountName, nextLink, options }, + listByAccountNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByAccountOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByGroupIdOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateLinkResources/{groupId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResource + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.groupId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByAccountNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceList + }, + default: { + bodyMapper: Mappers.ErrorResponseModel + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/purview/arm-purview/src/operationsInterfaces/accounts.ts b/sdk/purview/arm-purview/src/operationsInterfaces/accounts.ts new file mode 100644 index 000000000000..1dff4c432867 --- /dev/null +++ b/sdk/purview/arm-purview/src/operationsInterfaces/accounts.ts @@ -0,0 +1,180 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Account, + AccountsListByResourceGroupOptionalParams, + AccountsListBySubscriptionOptionalParams, + AccountsGetOptionalParams, + AccountsGetResponse, + AccountsCreateOrUpdateOptionalParams, + AccountsCreateOrUpdateResponse, + AccountsDeleteOptionalParams, + AccountUpdateParameters, + AccountsUpdateOptionalParams, + AccountsUpdateResponse, + AccountsListKeysOptionalParams, + AccountsListKeysResponse, + CollectionAdminUpdate, + AccountsAddRootCollectionAdminOptionalParams, + CheckNameAvailabilityRequest, + AccountsCheckNameAvailabilityOptionalParams, + AccountsCheckNameAvailabilityResponse +} from "../models"; + +/// +/** Interface representing a Accounts. */ +export interface Accounts { + /** + * List accounts in ResourceGroup + * @param resourceGroupName The resource group name. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: AccountsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * List accounts in Subscription + * @param options The options parameters. + */ + listBySubscription( + options?: AccountsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + accountName: string, + options?: AccountsGetOptionalParams + ): Promise; + /** + * Creates or updates an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param account The account. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + accountName: string, + account: Account, + options?: AccountsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AccountsCreateOrUpdateResponse + > + >; + /** + * Creates or updates an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param account The account. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + accountName: string, + account: Account, + options?: AccountsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an account resource + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + accountName: string, + options?: AccountsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an account resource + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + accountName: string, + options?: AccountsDeleteOptionalParams + ): Promise; + /** + * Updates an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param accountUpdateParameters The account update parameters. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + accountName: string, + accountUpdateParameters: AccountUpdateParameters, + options?: AccountsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + AccountsUpdateResponse + > + >; + /** + * Updates an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param accountUpdateParameters The account update parameters. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + accountName: string, + accountUpdateParameters: AccountUpdateParameters, + options?: AccountsUpdateOptionalParams + ): Promise; + /** + * List the authorization keys associated with this account. + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + accountName: string, + options?: AccountsListKeysOptionalParams + ): Promise; + /** + * Add the administrator for root collection associated with this account. + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param collectionAdminUpdate The collection admin update payload. + * @param options The options parameters. + */ + addRootCollectionAdmin( + resourceGroupName: string, + accountName: string, + collectionAdminUpdate: CollectionAdminUpdate, + options?: AccountsAddRootCollectionAdminOptionalParams + ): Promise; + /** + * Checks if account name is available. + * @param checkNameAvailabilityRequest The check name availability request. + * @param options The options parameters. + */ + checkNameAvailability( + checkNameAvailabilityRequest: CheckNameAvailabilityRequest, + options?: AccountsCheckNameAvailabilityOptionalParams + ): Promise; +} diff --git a/sdk/purview/arm-purview/src/operationsInterfaces/defaultAccounts.ts b/sdk/purview/arm-purview/src/operationsInterfaces/defaultAccounts.ts new file mode 100644 index 000000000000..9685db12a083 --- /dev/null +++ b/sdk/purview/arm-purview/src/operationsInterfaces/defaultAccounts.ts @@ -0,0 +1,52 @@ +/* + * 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 { + ScopeType, + DefaultAccountsGetOptionalParams, + DefaultAccountsGetResponse, + DefaultAccountPayload, + DefaultAccountsSetModelOptionalParams, + DefaultAccountsSetModelResponse, + DefaultAccountsRemoveOptionalParams +} from "../models"; + +/** Interface representing a DefaultAccounts. */ +export interface DefaultAccounts { + /** + * Get the default account for the scope. + * @param scopeTenantId The tenant ID. + * @param scopeType The scope for the default account. + * @param options The options parameters. + */ + get( + scopeTenantId: string, + scopeType: ScopeType, + options?: DefaultAccountsGetOptionalParams + ): Promise; + /** + * Sets the default account for the scope. + * @param defaultAccountPayload The payload containing the default account information and the scope. + * @param options The options parameters. + */ + set( + defaultAccountPayload: DefaultAccountPayload, + options?: DefaultAccountsSetModelOptionalParams + ): Promise; + /** + * Removes the default account from the scope. + * @param scopeTenantId The tenant ID. + * @param scopeType The scope for the default account. + * @param options The options parameters. + */ + remove( + scopeTenantId: string, + scopeType: ScopeType, + options?: DefaultAccountsRemoveOptionalParams + ): Promise; +} diff --git a/sdk/purview/arm-purview/src/operationsInterfaces/index.ts b/sdk/purview/arm-purview/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..a8c4893c803d --- /dev/null +++ b/sdk/purview/arm-purview/src/operationsInterfaces/index.ts @@ -0,0 +1,13 @@ +/* + * 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 "./accounts"; +export * from "./defaultAccounts"; +export * from "./operations"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; diff --git a/sdk/purview/arm-purview/src/operationsInterfaces/operations.ts b/sdk/purview/arm-purview/src/operationsInterfaces/operations.ts new file mode 100644 index 000000000000..0bf540e1fec8 --- /dev/null +++ b/sdk/purview/arm-purview/src/operationsInterfaces/operations.ts @@ -0,0 +1,23 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operation, OperationsListOptionalParams } from "../models"; + +/// +/** Interface representing a Operations. */ +export interface Operations { + /** + * List of available operations + * @param options The options parameters. + */ + list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/purview/arm-purview/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/purview/arm-purview/src/operationsInterfaces/privateEndpointConnections.ts new file mode 100644 index 000000000000..90956b2b836c --- /dev/null +++ b/sdk/purview/arm-purview/src/operationsInterfaces/privateEndpointConnections.ts @@ -0,0 +1,110 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListByAccountOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a PrivateEndpointConnections. */ +export interface PrivateEndpointConnections { + /** + * Get private endpoint connections for account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + listByAccount( + resourceGroupName: string, + accountName: string, + options?: PrivateEndpointConnectionsListByAccountOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise; + /** + * Create or update a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param request The request. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + request: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsCreateOrUpdateResponse + > + >; + /** + * Create or update a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param request The request. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + request: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise, void>>; + /** + * Delete a private endpoint connection + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param privateEndpointConnectionName Name of the private endpoint connection. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + accountName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/purview/arm-purview/src/operationsInterfaces/privateLinkResources.ts b/sdk/purview/arm-purview/src/operationsInterfaces/privateLinkResources.ts new file mode 100644 index 000000000000..86b681bae561 --- /dev/null +++ b/sdk/purview/arm-purview/src/operationsInterfaces/privateLinkResources.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByAccountOptionalParams, + PrivateLinkResourcesGetByGroupIdOptionalParams, + PrivateLinkResourcesGetByGroupIdResponse +} from "../models"; + +/// +/** Interface representing a PrivateLinkResources. */ +export interface PrivateLinkResources { + /** + * Gets a list of privately linkable resources for an account + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param options The options parameters. + */ + listByAccount( + resourceGroupName: string, + accountName: string, + options?: PrivateLinkResourcesListByAccountOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a privately linkable resources for an account with given group identifier + * @param resourceGroupName The resource group name. + * @param accountName The name of the account. + * @param groupId The group identifier. + * @param options The options parameters. + */ + getByGroupId( + resourceGroupName: string, + accountName: string, + groupId: string, + options?: PrivateLinkResourcesGetByGroupIdOptionalParams + ): Promise; +} diff --git a/sdk/purview/arm-purview/src/purviewManagementClient.ts b/sdk/purview/arm-purview/src/purviewManagementClient.ts new file mode 100644 index 000000000000..376625ecfe1d --- /dev/null +++ b/sdk/purview/arm-purview/src/purviewManagementClient.ts @@ -0,0 +1,52 @@ +/* + * 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 coreAuth from "@azure/core-auth"; +import { + AccountsImpl, + DefaultAccountsImpl, + OperationsImpl, + PrivateEndpointConnectionsImpl, + PrivateLinkResourcesImpl +} from "./operations"; +import { + Accounts, + DefaultAccounts, + Operations, + PrivateEndpointConnections, + PrivateLinkResources +} from "./operationsInterfaces"; +import { PurviewManagementClientContext } from "./purviewManagementClientContext"; +import { PurviewManagementClientOptionalParams } from "./models"; + +export class PurviewManagementClient extends PurviewManagementClientContext { + /** + * Initializes a new instance of the PurviewManagementClient class. + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param subscriptionId The subscription identifier + * @param options The parameter options + */ + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: PurviewManagementClientOptionalParams + ) { + super(credentials, subscriptionId, options); + this.accounts = new AccountsImpl(this); + this.defaultAccounts = new DefaultAccountsImpl(this); + this.operations = new OperationsImpl(this); + this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); + this.privateLinkResources = new PrivateLinkResourcesImpl(this); + } + + accounts: Accounts; + defaultAccounts: DefaultAccounts; + operations: Operations; + privateEndpointConnections: PrivateEndpointConnections; + privateLinkResources: PrivateLinkResources; +} diff --git a/sdk/purview/arm-purview/src/purviewManagementClientContext.ts b/sdk/purview/arm-purview/src/purviewManagementClientContext.ts new file mode 100644 index 000000000000..f488ec7f2859 --- /dev/null +++ b/sdk/purview/arm-purview/src/purviewManagementClientContext.ts @@ -0,0 +1,70 @@ +/* + * 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 { PurviewManagementClientOptionalParams } from "./models"; + +export class PurviewManagementClientContext extends coreClient.ServiceClient { + $host: string; + subscriptionId: string; + apiVersion: string; + + /** + * Initializes a new instance of the PurviewManagementClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param subscriptionId The subscription identifier + * @param options The parameter options + */ + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: PurviewManagementClientOptionalParams + ) { + 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: PurviewManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; + + const packageDetails = `azsdk-js-arm-purview/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 || "2021-07-01"; + } +} diff --git a/sdk/purview/arm-purview/tsconfig.json b/sdk/purview/arm-purview/tsconfig.json new file mode 100644 index 000000000000..603440b3a359 --- /dev/null +++ b/sdk/purview/arm-purview/tsconfig.json @@ -0,0 +1,19 @@ +{ + "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 + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/purview/ci.yml b/sdk/purview/ci.yml index c52253c0a1f0..a6beeb5bccb6 100644 --- a/sdk/purview/ci.yml +++ b/sdk/purview/ci.yml @@ -1,5 +1,4 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - trigger: branches: include: @@ -9,7 +8,6 @@ trigger: paths: include: - sdk/purview/ - pr: branches: include: @@ -17,10 +15,11 @@ pr: - feature/* - release/* - hotfix/* + exclude: + - feature/v4 paths: include: - sdk/purview/ - extends: template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml parameters: @@ -30,3 +29,7 @@ extends: safeName: azurerestpurviewcatalog - name: azure-rest-purview-scanning safeName: azurerestpurviewscanning + - name: azure-rest-purview-account + safeName: azurerestpurviewaccount + - name: azure-arm-purview + safeName: azurearmpurview diff --git a/sdk/purview/purview-account-rest/.eslintrc.json b/sdk/purview/purview-account-rest/.eslintrc.json new file mode 100644 index 000000000000..619797ac39b6 --- /dev/null +++ b/sdk/purview/purview-account-rest/.eslintrc.json @@ -0,0 +1,11 @@ +{ + "plugins": ["@azure/azure-sdk"], + "extends": ["plugin:@azure/azure-sdk/azure-sdk-base"], + "rules": { + "@azure/azure-sdk/ts-modules-only-named": "warn", + "@azure/azure-sdk/ts-apiextractor-json-types": "warn", + "@azure/azure-sdk/ts-package-json-types": "warn", + "@azure/azure-sdk/ts-package-json-engine-is-present": "warn", + "tsdoc/syntax": "warn" + } +} diff --git a/sdk/purview/purview-account-rest/CHANGELOG.md b/sdk/purview/purview-account-rest/CHANGELOG.md new file mode 100644 index 000000000000..0adb473e9857 --- /dev/null +++ b/sdk/purview/purview-account-rest/CHANGELOG.md @@ -0,0 +1,5 @@ +# Release History + +## 1.0.0-beta.1 (2021-08-13) + +- First release of package, see README.md for details. diff --git a/sdk/appservice/arm-appservice/LICENSE.txt b/sdk/purview/purview-account-rest/LICENSE similarity index 100% rename from sdk/appservice/arm-appservice/LICENSE.txt rename to sdk/purview/purview-account-rest/LICENSE diff --git a/sdk/purview/purview-account-rest/README.md b/sdk/purview/purview-account-rest/README.md new file mode 100644 index 000000000000..15ae8913f93d --- /dev/null +++ b/sdk/purview/purview-account-rest/README.md @@ -0,0 +1,141 @@ +# Azure Purview Account REST client library for JavaScript + +Azure Purview Account is a fully managed cloud service whose users can discover the data sources they need and understand the data sources they find. At the same time, Data Account helps organizations get more value from their existing investments. + +- Search for data using technical or business terms +- Browse associated technical, business, semantic, and operational metadata +- Identify the sensitivity level of data. + +**Please rely heavily on the [service's documentation][account_product_documentation] and our [REST client docs][rest_client] to use this library** + +Key links: +- [Source code][source_code] +- [Package (NPM)][account_npm] +- [API reference documentation][account_ref_docs] +- [Product documentation][account_product_documentation] + +## Getting started + +### Currently supported environments + +- Node.js version 14.x.x or higher + +### Prerequisites + +- You must have an [Azure subscription][azure_subscription] and a [Purview][purview_resource] to use this package. + +#### Create a Purview Resource + +Follow [these][purview_resource] instructions to create your Purview resource + +### Install the `@azure-rest/purview-account` package + +Install the Azure Purview Account client library for JavaScript with `npm`: + +```bash +npm install @azure-rest/purview-account +``` + +### Create and authenticate a `PurviewAccount` + +To use an [Azure Active Directory (AAD) token credential][authenticate_with_token], +provide an instance of the desired credential type obtained from the +[@azure/identity][azure_identity_credentials] library. + +To authenticate with AAD, you must first `npm` install [`@azure/identity`][azure_identity_npm] and +[enable AAD authentication on your Purview resource][enable_aad] + +After setup, you can choose which type of [credential][azure_identity_credentials] from `@azure/identity` to use. +As an example, [DefaultAzureCredential][default_azure_credential] +can be used to authenticate the client: + +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 + +Use the returned token credential to authenticate the client: + +```typescript +import PurviewAccount from "@azure-rest/purview-account"; +import { DefaultAzureCredential } from "@azure/identity"; +const client = PurviewAccount( + "https://.purview.azure.com", + new DefaultAzureCredential() +); +``` + +## Key concepts + +### REST Client + +This client is one of our REST clients. We highly recommend you read how to use a REST client [here][rest_client]. + +## Examples + +The following section shows you how to initialize and authenticate your client, then get all of your type-defs. + +- [Get A List of Collections](#get-a-list-of-collections "Get A List of Collections") + +```typescript +import PurviewAccount from "@azure-rest/purview-account"; +import { DefaultAzureCredential } from "@azure/identity"; +import dotenv from "dotenv"; + +dotenv.config(); + +const endpoint = process.env["ENDPOINT"] || ""; + +async function main() { + console.log("== List collections sample =="); + const client = PurviewAccount(endpoint, new DefaultAzureCredential()); + + const response = await client.path("/collections").get(); + + if (response.status !== "200") { + console.log(`GET "/collections" failed with ${response.status}`); + } + + console.log(response.body); +} + +main().catch(console.error); + +``` + +## 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 +import { setLogLevel } from "@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 + +## 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%2Fpurview%2Fpurview-account-rest%2FREADME.png) + +[account_product_documentation]: https://azure.microsoft.com/services/purview/ +[rest_client]: https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/rest-clients.md +[source_code]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/purview/purview-catalog-rest +[account_npm]: https://www.npmjs.com/org/azure-rest +[account_ref_docs]: https://azure.github.io/azure-sdk-for-js +[azure_subscription]: https://azure.microsoft.com/free/ +[purview_resource]: https://docs.microsoft.com/azure/purview/create-catalog-portal +[authenticate_with_token]: https://docs.microsoft.com/azure/cognitive-services/authentication?tabs=powershell#authenticate-with-an-authentication-token +[azure_identity_credentials]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#credentials +[azure_identity_npm]: https://www.npmjs.com/package/@azure/identity +[enable_aad]: https://docs.microsoft.com/azure/purview/create-catalog-portal#add-a-security-principal-to-a-data-plane-role +[default_azure_credential]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#defaultazurecredential diff --git a/sdk/purview/purview-account-rest/api-extractor.json b/sdk/purview/purview-account-rest/api-extractor.json new file mode 100644 index 000000000000..df353f770a8f --- /dev/null +++ b/sdk/purview/purview-account-rest/api-extractor.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "types/src/index.d.ts", + "docModel": { + "enabled": true + }, + "apiReport": { + "enabled": true, + "reportFolder": "./review" + }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/purview-account-rest.d.ts" + }, + "messages": { + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + } + }, + "extractorMessageReporting": { + "ae-missing-release-tag": { + "logLevel": "none" + }, + "ae-unresolved-link": { + "logLevel": "none" + } + } + } +} diff --git a/sdk/purview/purview-account-rest/package.json b/sdk/purview/purview-account-rest/package.json new file mode 100644 index 000000000000..2cfeed1b432c --- /dev/null +++ b/sdk/purview/purview-account-rest/package.json @@ -0,0 +1,130 @@ +{ + "name": "@azure-rest/purview-account", + "sdk-type": "client", + "author": "Microsoft Corporation", + "description": "An isomorphic rest level client library for the Azure Purview Account service.", + "version": "1.0.0-beta.1", + "keywords": [ + "node", + "azure", + "cloud", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/index.js", + "module": "./dist-esm/src/index.js", + "types": "./types/purview-account-rest.d.ts", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/purview/purview-account-rest/README.md", + "repository": "github:Azure/azure-sdk-for-js", + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "files": [ + "dist/", + "dist-esm/src/", + "types/purview-account-rest.d.ts", + "README.md", + "LICENSE" + ], + "engines": { + "node": ">=12.0.0" + }, + "//metadata": { + "constantPaths": [ + { + "path": "swagger/README.md", + "prefix": "package-version" + } + ] + }, + "//sampleConfiguration": { + "productName": "Azure Purview Scanning rest", + "productSlugs": [ + "azure" + ], + "requiredResources": { + "Azure Cognitive Services instance": "https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account" + } + }, + "browser": { + "./dist-esm/test/public/utils/env.js": "./dist-esm/test/public/utils/env.browser.js" + }, + "scripts": { + "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", + "regenerate": "autorest --typescript swagger/README.md && npm run format", + "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", + "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", + "build:samples": "echo Obsolete.", + "build:test": "tsc -p . && rollup -c 2>&1", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && mkdirp ./review && api-extractor run --local", + "build:debug": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", + "execute:samples": "dev-tool samples run samples-dev", + "extract-api": "rimraf review && mkdirp ./review && api-extractor run --local", + "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", + "integration-test:browser": "karma start --single-run", + "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 5000000 --full-trace \"dist-esm/test/{,!(browser)/**/}*.spec.js\"", + "integration-test": "npm run integration-test:node && npm run integration-test:browser", + "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint package.json api-extractor.json src test --ext .ts", + "pack": "npm pack 2>&1", + "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", + "test:node": "npm run clean && npm run build:test && npm run unit-test:node", + "test": "npm run clean && npm run build:test && npm run unit-test", + "unit-test:browser": "echo skipped", + "unit-test:node": "cross-env TEST_MODE=playback mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/{,!(browser)/**/}*.spec.ts\"", + "unit-test": "npm run unit-test:node && npm run unit-test:browser", + "docs": "typedoc --excludePrivate --excludeExternals --out ./dist/docs ./src" + }, + "sideEffects": false, + "autoPublish": false, + "dependencies": { + "@azure-rest/core-client-paging": "1.0.0-beta.1", + "@azure/core-auth": "^1.3.0", + "@azure-rest/core-client": "1.0.0-beta.7", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" + }, + "devDependencies": { + "@azure/dev-tool": "^1.0.0", + "@azure/eslint-plugin-azure-sdk": "^3.0.0", + "@azure/identity": "^1.1.0", + "@azure-tools/test-recorder": "^1.0.0", + "@microsoft/api-extractor": "7.13.2", + "@types/chai": "^4.1.6", + "@types/mocha": "^7.0.2", + "@types/node": "^12.0.0", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "dotenv": "^8.2.0", + "eslint": "^7.15.0", + "karma-chrome-launcher": "^3.0.0", + "karma-coverage": "^2.0.0", + "karma-edge-launcher": "^0.4.2", + "karma-env-preprocessor": "^0.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-json-preprocessor": "^0.3.3", + "karma-json-to-file-reporter": "^1.0.1", + "karma-junit-reporter": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-mocha": "^2.0.1", + "karma-source-map-support": "~1.4.0", + "karma-sourcemap-loader": "^0.3.8", + "karma": "^6.2.0", + "mkdirp": "^1.0.4", + "mocha-junit-reporter": "^1.18.0", + "mocha": "^7.1.1", + "nyc": "^14.0.0", + "prettier": "2.2.1", + "rimraf": "^3.0.0", + "rollup": "^1.16.3", + "source-map-support": "^0.5.9", + "typedoc": "0.15.2", + "typescript": "~4.2.0" + } +} diff --git a/sdk/purview/purview-account-rest/recordings/node/get_account_info/recording_should_get_the_account_info.js b/sdk/purview/purview-account-rest/recordings/node/get_account_info/recording_should_get_the_account_info.js new file mode 100644 index 000000000000..9eb85b0d2f96 --- /dev/null +++ b/sdk/purview/purview-account-rest/recordings/node/get_account_info/recording_should_get_the_account_info.js @@ -0,0 +1,58 @@ +let nock = require('nock'); + +module.exports.hash = "8d7a5064193fd3abc88f4377ba6dc9cc"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '1318', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'c2d476f7-a163-489f-b652-4edd4b3b1d00', + 'x-ms-ests-server', + '2.1.11961.8 - KRSLR2 ProdSlices', + 'Set-Cookie', + 'fpc=AkYP_YbTL4BNjQ60P4gX0UGqGAkBAQAAAPNirdgOAAAA; expires=Thu, 16-Sep-2021 07:57:39 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 17 Aug 2021 07:57:39 GMT' +]); + +nock('https://endpoint', {"encodedQueryParams":true}) + .get('/') + .query(true) + .reply(200, {"sku":{"name":"Standard","capacity":4},"properties":{"cloudConnectors":{"awsExternalId":"62987988-1c52-4bf0-900b-e4e721f62a49"},"friendlyName":"qiaozhatest","createdBy":"qiaozha@microsoft.com","createdByObjectId":"e0f63e9f-e67d-46b9-a50d-c5846cc99ed2","createdAt":"2021-08-11T09:24:28.626038Z","endpoints":{"catalog":"https://qiaozhatest.catalog.purview.azure.com","scan":"https://qiaozhatest.scan.purview.azure.com","guardian":"https://qiaozhatest.guardian.purview.azure.com"},"provisioningState":"Succeeded","privateEndpointConnections":[],"managedResources":{"resourceGroup":"/subscriptions/92f95d8f-3c67-4124-91c7-8cf07cdbf241/resourceGroups/managed-rg-qiaozhatest","storageAccount":"/subscriptions/92f95d8f-3c67-4124-91c7-8cf07cdbf241/resourceGroups/managed-rg-qiaozhatest/providers/Microsoft.Storage/storageAccounts/scaneastustyucqch","eventHubNamespace":"/subscriptions/92f95d8f-3c67-4124-91c7-8cf07cdbf241/resourceGroups/managed-rg-qiaozhatest/providers/Microsoft.EventHub/namespaces/Atlas-d24a8b31-2b80-473f-b099-8af4e8138614"},"publicNetworkAccess":"Enabled","managedResourceGroupName":"managed-rg-qiaozhatest"},"id":"/subscriptions/92f95d8f-3c67-4124-91c7-8cf07cdbf241/resourceGroups/qiaozhatest/providers/Microsoft.Purview/accounts/qiaozhatest","name":"qiaozhatest","type":"Microsoft.Purview/accounts","location":"eastus","identity":{"type":"SystemAssigned","principalId":"8b374da7-4073-4560-8b96-43cfcb14a81b","tenantId":"88888888-8888-8888-8888-888888888888"},"tags":{},"systemData":{"createdBy":"qiaozha@microsoft.com","createdByType":"User","createdAt":"2021-08-11T09:24:28.626038Z","lastModifiedBy":"qiaozha@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-11T09:24:28.626038Z"}}, [ + 'Date', + 'Tue, 17 Aug 2021 07:57:40 GMT', + 'Content-Type', + 'application/json; charset=utf-8', + 'Server', + 'Kestrel', + 'Transfer-Encoding', + 'chunked', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'x-ms-correlation-request-id', + 'b9355ce6-f27f-4cb7-a147-e1db32707907', + 'x-ms-account-status', + 'Succeeded' +]); diff --git a/sdk/purview/purview-account-rest/recordings/node/list_collections/recording_should_list_all_available_collections.js b/sdk/purview/purview-account-rest/recordings/node/list_collections/recording_should_list_all_available_collections.js new file mode 100644 index 000000000000..c3b00997dec9 --- /dev/null +++ b/sdk/purview/purview-account-rest/recordings/node/list_collections/recording_should_list_all_available_collections.js @@ -0,0 +1,56 @@ +let nock = require('nock'); + +module.exports.hash = "8474700a548e1a5cdba75fba89caa13c"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '1318', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '6660c322-61ee-4331-94a2-4c8e10781600', + 'x-ms-ests-server', + '2.1.11961.8 - SEASLR1 ProdSlices', + 'Set-Cookie', + 'fpc=AtDw3-AOXglAm0wYV8Q9qh6qGAkBAQAAAPRirdgOAAAA; expires=Thu, 16-Sep-2021 07:57:41 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 17 Aug 2021 07:57:40 GMT' +]); + +nock('https://endpoint', {"encodedQueryParams":true}) + .get('/collections') + .query(true) + .reply(200, {"value":[{"name":"qiaozhatest","friendlyName":"qiaozhatest","description":"The root collection.","systemData":{"createdBy":"e0f63e9f-e67d-46b9-a50d-c5846cc99ed2","createdByType":"User","createdAt":"2021-08-11T09:24:28.626038Z","lastModifiedBy":"e0f63e9f-e67d-46b9-a50d-c5846cc99ed2","lastModifiedByType":"User","lastModifiedAt":"2021-08-11T09:24:28.626038Z"},"collectionProvisioningState":"Succeeded"}],"count":1}, [ + 'Date', + 'Tue, 17 Aug 2021 07:57:41 GMT', + 'Content-Type', + 'application/json; charset=utf-8', + 'Server', + 'Kestrel', + 'Transfer-Encoding', + 'chunked', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'x-ms-correlation-request-id', + '320523ad-ce0b-4d1d-9b90-6e9c29d26585' +]); diff --git a/sdk/purview/purview-account-rest/review/purview-account.api.md b/sdk/purview/purview-account-rest/review/purview-account.api.md new file mode 100644 index 000000000000..cfa50978c63e --- /dev/null +++ b/sdk/purview/purview-account-rest/review/purview-account.api.md @@ -0,0 +1,806 @@ +## API Report File for "@azure-rest/purview-account" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { Client } from '@azure-rest/core-client'; +import { ClientOptions } from '@azure-rest/core-client'; +import { HttpResponse } from '@azure-rest/core-client'; +import { PagedAsyncIterableIterator } from '@azure-rest/core-client-paging'; +import { PathUncheckedResponse } from '@azure-rest/core-client'; +import { RequestParameters } from '@azure-rest/core-client'; +import { TokenCredential } from '@azure/core-auth'; + +// @public (undocumented) +export interface AccessKeyOptions { + keyType?: "PrimaryAtlasKafkaKey" | "SecondaryAtlasKafkaKey"; +} + +// @public (undocumented) +export interface AccessKeys { + atlasKafkaPrimaryEndpoint?: string; + atlasKafkaSecondaryEndpoint?: string; +} + +// @public (undocumented) +export interface Account { + id?: string; + identity?: Identity; + location?: string; + name?: string; + properties?: AccountProperties; + sku?: AccountSku; + systemData?: AccountSystemData; + tags?: Record; + type?: string; +} + +// @public (undocumented) +export interface AccountEndpoints { + catalog?: string; + guardian?: string; + scan?: string; +} + +// @public (undocumented) +export interface AccountProperties { + cloudConnectors?: CloudConnectors; + createdAt?: Date; + createdBy?: string; + createdByObjectId?: string; + endpoints?: AccountPropertiesEndpoints; + friendlyName?: string; + managedResourceGroupName?: string; + managedResources?: AccountPropertiesManagedResources; + privateEndpointConnections?: Array; + provisioningState?: "Unknown" | "Creating" | "Moving" | "Deleting" | "SoftDeleting" | "SoftDeleted" | "Failed" | "Succeeded" | "Canceled"; + publicNetworkAccess?: "NotSpecified" | "Enabled" | "Disabled"; +} + +// @public (undocumented) +export interface AccountPropertiesEndpoints extends AccountEndpoints { +} + +// @public (undocumented) +export interface AccountPropertiesManagedResources extends ManagedResources { +} + +// @public (undocumented) +export interface AccountsGetAccessKeys { + post(options?: AccountsGetAccessKeysParameters): Promise; +} + +// @public +export interface AccountsGetAccessKeys200Response extends HttpResponse { + // (undocumented) + body: AccessKeys; + // (undocumented) + status: "200"; +} + +// @public +export interface AccountsGetAccessKeysdefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type AccountsGetAccessKeysParameters = RequestParameters; + +// @public (undocumented) +export interface AccountsGetAccountProperties { + get(options?: AccountsGetAccountPropertiesParameters): Promise; + patch(options: AccountsUpdateAccountPropertiesParameters): Promise; +} + +// @public +export interface AccountsGetAccountProperties200Response extends HttpResponse { + // (undocumented) + body: Account; + // (undocumented) + status: "200"; +} + +// @public +export interface AccountsGetAccountPropertiesdefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type AccountsGetAccountPropertiesParameters = RequestParameters; + +// @public (undocumented) +export interface AccountSku { + capacity?: number; + name?: "Standard"; +} + +// @public (undocumented) +export interface AccountsRegenerateAccessKey { + post(options: AccountsRegenerateAccessKeyParameters): Promise; +} + +// @public +export interface AccountsRegenerateAccessKey200Response extends HttpResponse { + // (undocumented) + body: AccessKeys; + // (undocumented) + status: "200"; +} + +// @public (undocumented) +export interface AccountsRegenerateAccessKeyBodyParam { + // (undocumented) + body: AccessKeyOptions; +} + +// @public +export interface AccountsRegenerateAccessKeydefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type AccountsRegenerateAccessKeyParameters = AccountsRegenerateAccessKeyBodyParam & RequestParameters; + +// @public +export interface AccountsUpdateAccountProperties200Response extends HttpResponse { + // (undocumented) + body: Account; + // (undocumented) + status: "200"; +} + +// @public (undocumented) +export interface AccountsUpdateAccountPropertiesBodyParam { + // (undocumented) + body: DataPlaneAccountUpdateParameters; +} + +// @public +export interface AccountsUpdateAccountPropertiesdefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type AccountsUpdateAccountPropertiesParameters = AccountsUpdateAccountPropertiesBodyParam & RequestParameters; + +// @public (undocumented) +export interface AccountSystemData extends SystemData { +} + +// @public (undocumented) +export interface AdvancedResourceSet { + modifiedAt?: Date; + resourceSetProcessing?: "Default" | "Advanced"; +} + +// @public (undocumented) +export interface CloudConnectors { + awsExternalId?: string; +} + +// @public (undocumented) +export interface Collection { + collectionProvisioningState?: "Unknown" | "Creating" | "Moving" | "Deleting" | "Failed" | "Succeeded"; + description?: string; + friendlyName?: string; + name?: string; + parentCollection?: CollectionReference; + systemData?: CollectionSystemData; +} + +// @public (undocumented) +export interface CollectionList { + count?: number; + nextLink?: string; + value: Array; +} + +// @public (undocumented) +export interface CollectionNameResponse { + friendlyName?: string; + name?: string; +} + +// @public (undocumented) +export interface CollectionNameResponseList { + count?: number; + nextLink?: string; + value: Array; +} + +// @public (undocumented) +export interface CollectionPathResponse { + parentFriendlyNameChain?: Array; + parentNameChain?: Array; +} + +// @public (undocumented) +export interface CollectionReference { + referenceName?: string; + type?: string; +} + +// @public +export interface CollectionsCreateOrUpdateCollection200Response extends HttpResponse { + // (undocumented) + body: Collection; + // (undocumented) + status: "200"; +} + +// @public (undocumented) +export interface CollectionsCreateOrUpdateCollectionBodyParam { + // (undocumented) + body: Collection; +} + +// @public +export interface CollectionsCreateOrUpdateCollectiondefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type CollectionsCreateOrUpdateCollectionParameters = CollectionsCreateOrUpdateCollectionBodyParam & RequestParameters; + +// @public +export interface CollectionsDeleteCollection204Response extends HttpResponse { + // (undocumented) + body: Record; + // (undocumented) + status: "204"; +} + +// @public +export interface CollectionsDeleteCollectiondefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type CollectionsDeleteCollectionParameters = RequestParameters; + +// @public (undocumented) +export interface CollectionsGetCollection { + delete(options?: CollectionsDeleteCollectionParameters): Promise; + get(options?: CollectionsGetCollectionParameters): Promise; + put(options: CollectionsCreateOrUpdateCollectionParameters): Promise; +} + +// @public +export interface CollectionsGetCollection200Response extends HttpResponse { + // (undocumented) + body: Collection; + // (undocumented) + status: "200"; +} + +// @public +export interface CollectionsGetCollectiondefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type CollectionsGetCollectionParameters = RequestParameters; + +// @public (undocumented) +export interface CollectionsGetCollectionPath { + get(options?: CollectionsGetCollectionPathParameters): Promise; +} + +// @public +export interface CollectionsGetCollectionPath200Response extends HttpResponse { + // (undocumented) + body: CollectionPathResponse; + // (undocumented) + status: "200"; +} + +// @public +export interface CollectionsGetCollectionPathdefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type CollectionsGetCollectionPathParameters = RequestParameters; + +// @public (undocumented) +export interface CollectionsListChildCollectionNames { + get(options?: CollectionsListChildCollectionNamesParameters): Promise; +} + +// @public +export interface CollectionsListChildCollectionNames200Response extends HttpResponse { + // (undocumented) + body: CollectionNameResponseList; + // (undocumented) + status: "200"; +} + +// @public +export interface CollectionsListChildCollectionNamesdefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type CollectionsListChildCollectionNamesParameters = CollectionsListChildCollectionNamesQueryParam & RequestParameters; + +// @public (undocumented) +export interface CollectionsListChildCollectionNamesQueryParam { + // (undocumented) + queryParameters?: CollectionsListChildCollectionNamesQueryParamProperties; +} + +// @public (undocumented) +export interface CollectionsListChildCollectionNamesQueryParamProperties { + // (undocumented) + $skipToken?: string; +} + +// @public (undocumented) +export interface CollectionsListCollections { + get(options?: CollectionsListCollectionsParameters): Promise; +} + +// @public +export interface CollectionsListCollections200Response extends HttpResponse { + // (undocumented) + body: CollectionList; + // (undocumented) + status: "200"; +} + +// @public +export interface CollectionsListCollectionsdefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type CollectionsListCollectionsParameters = CollectionsListCollectionsQueryParam & RequestParameters; + +// @public (undocumented) +export interface CollectionsListCollectionsQueryParam { + // (undocumented) + queryParameters?: CollectionsListCollectionsQueryParamProperties; +} + +// @public (undocumented) +export interface CollectionsListCollectionsQueryParamProperties { + // (undocumented) + $skipToken?: string; +} + +// @public (undocumented) +export interface CollectionSystemData extends SystemData { +} + +// @public (undocumented) +export interface ComplexReplacerConfig { + // (undocumented) + createdBy?: string; + // (undocumented) + description?: string; + // (undocumented) + disabled?: boolean; + // (undocumented) + disableRecursiveReplacerApplication?: boolean; + // (undocumented) + lastUpdatedTimestamp?: number; + // (undocumented) + modifiedBy?: string; + // (undocumented) + name?: string; + // (undocumented) + typeName?: string; +} + +// @public (undocumented) +export interface DataPlaneAccountUpdateParameters { + friendlyName?: string; +} + +// @public (undocumented) +export interface ErrorModel { + code?: string; + details?: Array; + message?: string; + target?: string; +} + +// @public (undocumented) +export interface ErrorResponseModel { + error?: ErrorResponseModelError; +} + +// @public (undocumented) +export interface ErrorResponseModelError extends ErrorModel { +} + +// @public (undocumented) +export interface FastRegex { + // (undocumented) + maxDigits?: number; + // (undocumented) + maxLetters?: number; + // (undocumented) + minDashes?: number; + // (undocumented) + minDigits?: number; + // (undocumented) + minDigitsOrLetters?: number; + // (undocumented) + minDots?: number; + // (undocumented) + minHex?: number; + // (undocumented) + minLetters?: number; + // (undocumented) + minUnderscores?: number; + // (undocumented) + options?: number; + // (undocumented) + regexStr?: string; +} + +// @public (undocumented) +export interface Filter { + // (undocumented) + createdBy?: string; + // (undocumented) + filterType?: "Pattern" | "Regex"; + // (undocumented) + lastUpdatedTimestamp?: number; + // (undocumented) + modifiedBy?: string; + // (undocumented) + name: string; + // (undocumented) + path: string; +} + +// @public +export type GetArrayType = T extends Array ? TData : never; + +// @public (undocumented) +export interface Identity { + principalId?: string; + tenantId?: string; + type?: "SystemAssigned"; +} + +// @public (undocumented) +export interface ManagedResources { + eventHubNamespace?: string; + resourceGroup?: string; + storageAccount?: string; +} + +// @public (undocumented) +export interface NormalizationRule { + // (undocumented) + description?: string; + // (undocumented) + disabled?: boolean; + // (undocumented) + dynamicReplacement?: boolean; + // (undocumented) + entityTypes?: Array; + // (undocumented) + lastUpdatedTimestamp?: number; + // (undocumented) + name?: string; + // (undocumented) + regex?: FastRegex; + // (undocumented) + replaceWith?: string; + // (undocumented) + version?: number; +} + +// @public +export function paginate(client: Client, initialResponse: TReturn): PagedAsyncIterableIterator, PaginateReturn[]>; + +// @public +export type PaginateReturn = TResult extends { + body: { + value?: infer TPage; + }; +} ? GetArrayType : Array; + +// @public (undocumented) +export interface PathPatternExtractorConfig { + // (undocumented) + acceptedPatterns?: Array; + // (undocumented) + complexReplacers?: Array; + // (undocumented) + createdBy: string; + // (undocumented) + enableDefaultPatterns: boolean; + // (undocumented) + lastUpdatedTimestamp?: number; + // (undocumented) + modifiedBy?: string; + // (undocumented) + normalizationRules?: Array; + // (undocumented) + regexReplacers?: Array; + // (undocumented) + rejectedPatterns?: Array; + // (undocumented) + scopedRules?: Array; + // (undocumented) + version?: number; +} + +// @public (undocumented) +export interface PrivateEndpoint { + id?: string; +} + +// @public (undocumented) +export interface PrivateEndpointConnection { + id?: string; + name?: string; + properties?: PrivateEndpointConnectionProperties; + type?: string; +} + +// @public (undocumented) +export interface PrivateEndpointConnectionProperties { + privateEndpoint?: PrivateEndpoint; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + provisioningState?: string; +} + +// @public (undocumented) +export interface PrivateLinkServiceConnectionState { + actionsRequired?: string; + description?: string; + status?: "Unknown" | "Pending" | "Approved" | "Rejected" | "Disconnected"; +} + +// @public (undocumented) +function PurviewAccount(endpoint: string, credentials: TokenCredential, options?: ClientOptions): PurviewAccountRestClient; + +export default PurviewAccount; + +// @public (undocumented) +export type PurviewAccountRestClient = Client & { + path: Routes; +}; + +// @public (undocumented) +export interface RegexReplacer { + // (undocumented) + condition?: string; + // (undocumented) + createdBy?: string; + // (undocumented) + description?: string; + // (undocumented) + disabled: boolean; + // (undocumented) + disableRecursiveReplacerApplication?: boolean; + // (undocumented) + doNotReplaceRegex?: FastRegex; + // (undocumented) + lastUpdatedTimestamp?: number; + // (undocumented) + modifiedBy?: string; + // (undocumented) + name: string; + // (undocumented) + regex?: FastRegex; + // (undocumented) + replaceWith?: string; +} + +// @public (undocumented) +export interface ResourceSetRuleConfig { + advancedResourceSet?: AdvancedResourceSet; + name?: string; + pathPatternConfig?: PathPatternExtractorConfig; +} + +// @public (undocumented) +export interface ResourceSetRuleConfigList { + count?: number; + nextLink?: string; + value: Array; +} + +// @public +export interface ResourceSetRulesCreateOrUpdateResourceSetRule200Response extends HttpResponse { + // (undocumented) + body: ResourceSetRuleConfig; + // (undocumented) + status: "200"; +} + +// @public (undocumented) +export interface ResourceSetRulesCreateOrUpdateResourceSetRuleBodyParam { + // (undocumented) + body: ResourceSetRuleConfig; +} + +// @public +export interface ResourceSetRulesCreateOrUpdateResourceSetRuledefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type ResourceSetRulesCreateOrUpdateResourceSetRuleParameters = ResourceSetRulesCreateOrUpdateResourceSetRuleBodyParam & RequestParameters; + +// @public +export interface ResourceSetRulesDeleteResourceSetRule200Response extends HttpResponse { + // (undocumented) + body: Record; + // (undocumented) + status: "200"; +} + +// @public +export interface ResourceSetRulesDeleteResourceSetRule204Response extends HttpResponse { + // (undocumented) + body: Record; + // (undocumented) + status: "204"; +} + +// @public +export interface ResourceSetRulesDeleteResourceSetRuledefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type ResourceSetRulesDeleteResourceSetRuleParameters = RequestParameters; + +// @public (undocumented) +export interface ResourceSetRulesGetResourceSetRule { + delete(options?: ResourceSetRulesDeleteResourceSetRuleParameters): Promise; + get(options?: ResourceSetRulesGetResourceSetRuleParameters): Promise; + put(options: ResourceSetRulesCreateOrUpdateResourceSetRuleParameters): Promise; +} + +// @public +export interface ResourceSetRulesGetResourceSetRule200Response extends HttpResponse { + // (undocumented) + body: ResourceSetRuleConfig; + // (undocumented) + status: "200"; +} + +// @public +export interface ResourceSetRulesGetResourceSetRuledefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type ResourceSetRulesGetResourceSetRuleParameters = RequestParameters; + +// @public (undocumented) +export interface ResourceSetRulesListResourceSetRules { + get(options?: ResourceSetRulesListResourceSetRulesParameters): Promise; +} + +// @public +export interface ResourceSetRulesListResourceSetRules200Response extends HttpResponse { + // (undocumented) + body: ResourceSetRuleConfigList; + // (undocumented) + status: "200"; +} + +// @public +export interface ResourceSetRulesListResourceSetRulesdefaultResponse extends HttpResponse { + // (undocumented) + body: ErrorResponseModel; + // (undocumented) + status: "500"; +} + +// @public (undocumented) +export type ResourceSetRulesListResourceSetRulesParameters = ResourceSetRulesListResourceSetRulesQueryParam & RequestParameters; + +// @public (undocumented) +export interface ResourceSetRulesListResourceSetRulesQueryParam { + // (undocumented) + queryParameters?: ResourceSetRulesListResourceSetRulesQueryParamProperties; +} + +// @public (undocumented) +export interface ResourceSetRulesListResourceSetRulesQueryParamProperties { + // (undocumented) + $skipToken?: string; +} + +// @public (undocumented) +export interface Routes { + (path: "/"): AccountsGetAccountProperties; + (path: "/listkeys"): AccountsGetAccessKeys; + (path: "/regeneratekeys"): AccountsRegenerateAccessKey; + (path: "/collections/{collectionName}", collectionName: string): CollectionsGetCollection; + (path: "/collections"): CollectionsListCollections; + (path: "/collections/{collectionName}/getChildCollectionNames", collectionName: string): CollectionsListChildCollectionNames; + (path: "/collections/{collectionName}/getCollectionPath", collectionName: string): CollectionsGetCollectionPath; + (path: "/resourceSetRuleConfigs/defaultResourceSetRuleConfig"): ResourceSetRulesGetResourceSetRule; + (path: "/resourceSetRuleConfigs"): ResourceSetRulesListResourceSetRules; +} + +// @public (undocumented) +export interface Rule { + // (undocumented) + displayName?: string; + // (undocumented) + isResourceSet?: boolean; + // (undocumented) + lastUpdatedTimestamp?: number; + // (undocumented) + name?: string; + // (undocumented) + qualifiedName: string; +} + +// @public (undocumented) +export interface ScopedRule { + // (undocumented) + bindingUrl: string; + // (undocumented) + rules?: Array; + // (undocumented) + storeType: string; +} + +// @public (undocumented) +export interface SystemData { + createdAt?: Date; + createdBy?: string; + createdByType?: "User" | "Application" | "ManagedIdentity" | "Key"; + lastModifiedAt?: Date; + lastModifiedBy?: string; + lastModifiedByType?: "User" | "Application" | "ManagedIdentity" | "Key"; +} + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/purview/purview-account-rest/rollup.config.js b/sdk/purview/purview-account-rest/rollup.config.js new file mode 100644 index 000000000000..5d7deee44c14 --- /dev/null +++ b/sdk/purview/purview-account-rest/rollup.config.js @@ -0,0 +1,3 @@ +import { makeConfig } from "@azure/dev-tool/shared-config/rollup"; + +export default makeConfig(require("./package.json")); diff --git a/sdk/purview/purview-account-rest/sample.env b/sdk/purview/purview-account-rest/sample.env new file mode 100644 index 000000000000..5c39228ebdd0 --- /dev/null +++ b/sdk/purview/purview-account-rest/sample.env @@ -0,0 +1,7 @@ +# Purview Scanning resource endpoint +ENDPOINT= + +# App registration secret for AAD authentication +AZURE_CLIENT_SECRET= +AZURE_CLIENT_ID= +AZURE_TENANT_ID= diff --git a/sdk/purview/purview-account-rest/samples-dev/collections.ts b/sdk/purview/purview-account-rest/samples-dev/collections.ts new file mode 100644 index 000000000000..724a968d5858 --- /dev/null +++ b/sdk/purview/purview-account-rest/samples-dev/collections.ts @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * This sample demonstrates how get a list of collections + * + * @summary gets a list of collections + * @azsdk-weight 40 + */ + +import PurviewAccount, { paginate } from "@azure-rest/purview-account"; +import { DefaultAzureCredential } from "@azure/identity"; +import dotenv from "dotenv"; + +dotenv.config(); + +const endpoint = process.env["ENDPOINT"] || ""; + +async function main() { + console.log("== List collections sample =="); + const client = PurviewAccount(endpoint, new DefaultAzureCredential()); + + const response = await client.path("/collections").get(); + + if (response.status !== "200") { + console.log(`GET "/collections" failed with ${response.status}`); + } + + const dataSources = paginate(client, response); + + for await (const dataSource of dataSources) { + console.log(dataSource); + } +} + +main().catch(console.error); diff --git a/sdk/purview/purview-account-rest/samples/v1/javascript/README.md b/sdk/purview/purview-account-rest/samples/v1/javascript/README.md new file mode 100644 index 000000000000..2f5ea127846d --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/javascript/README.md @@ -0,0 +1,63 @@ +--- +page_type: sample +languages: + - javascript +products: + - azure +urlFragment: purview-account-javascript +disableDocsMs: true +--- + +# Azure Purview Account rest client library samples for JavaScript + +These sample programs show how to use the JavaScript client libraries for Azure Purview Account rest in some common scenarios. + +| **File Name** | **Description** | +| ----------------------------- | -------------------------- | +| [collections.js][collections] | gets a list of collections | + +## Prerequisites + +The sample programs are compatible with Node.js >=14.0.0. + +You need [an Azure subscription][freesub] and the following Azure resources to run these sample programs: + +- [Azure Purview Account][createpurviewaccount_portal] + +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 collections.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 ENDPOINT="" node collections.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[collections]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/purview/purview-account-rest/samples/v1/javascript/collections.js +[apiref]: https://docs.microsoft.com/azure/purview/tutorial-using-rest-apis +[freesub]: https://azure.microsoft.com/free/ +[createpurviewaccount_portal]: https://docs.microsoft.com/azure/purview/create-catalog-portal +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/purview/purview-account-rest/README.md diff --git a/sdk/purview/purview-account-rest/samples/v1/javascript/collections.js b/sdk/purview/purview-account-rest/samples/v1/javascript/collections.js new file mode 100644 index 000000000000..be2177c1a8d4 --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/javascript/collections.js @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * This sample demonstrates how get a list of collections + * + * @summary gets a list of collections + */ + +const PurviewAccount = require("@azure-rest/purview-Account"); +const { DefaultAzureCredential } = require("@azure/identity"); +const dotenv = require("dotenv"); + +dotenv.config(); + +const endpoint = process.env["ENDPOINT"] || ""; + +async function main() { + console.log("== List collections sample =="); + const client = PurviewAccount(endpoint, new DefaultAzureCredential()); + + const response = await client.path("/collections").get(); + + if (response.status !== "200") { + console.log(`GET "/collections" failed with ${response.status}`); + } + + console.log(response.body); +} + +main().catch(console.error); diff --git a/sdk/purview/purview-account-rest/samples/v1/javascript/package.json b/sdk/purview/purview-account-rest/samples/v1/javascript/package.json new file mode 100644 index 000000000000..5d93e3a726ea --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/javascript/package.json @@ -0,0 +1,33 @@ +{ + "name": "azure-purview-account-samples-js", + "private": true, + "version": "1.0.0", + "description": "Azure Purview Scanning rest client library samples for JavaScript", + "engine": { + "node": ">=12.0.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Azure/azure-sdk-for-js.git", + "directory": "sdk/purview/purview-account-rest" + }, + "keywords": [ + "node", + "azure", + "cloud", + "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/purview/purview-account-rest", + "dependencies": { + "@azure-rest/purview-account": "next", + "dotenv": "latest", + "@azure/identity": "^1.1.0" + } +} diff --git a/sdk/purview/purview-account-rest/samples/v1/javascript/sample.env b/sdk/purview/purview-account-rest/samples/v1/javascript/sample.env new file mode 100644 index 000000000000..5c39228ebdd0 --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/javascript/sample.env @@ -0,0 +1,7 @@ +# Purview Scanning resource endpoint +ENDPOINT= + +# App registration secret for AAD authentication +AZURE_CLIENT_SECRET= +AZURE_CLIENT_ID= +AZURE_TENANT_ID= diff --git a/sdk/purview/purview-account-rest/samples/v1/typescript/README.md b/sdk/purview/purview-account-rest/samples/v1/typescript/README.md new file mode 100644 index 000000000000..f186f7bf8ab6 --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/typescript/README.md @@ -0,0 +1,76 @@ +--- +page_type: sample +languages: + - typescript +products: + - azure +urlFragment: purview-account-typescript +disableDocsMs: true +--- + +# Azure Purview Scanning rest client library samples for TypeScript + +These sample programs show how to use the TypeScript client libraries for Azure Purview Scanning rest in some common scenarios. + +| **File Name** | **Description** | +| ----------------------------- | -------------------------- | +| [collections.ts][collections] | gets a list of collections | + +## Prerequisites + +The sample programs are compatible with Node.js >=14.0.0. + +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] and the following Azure resources to run these sample programs: + +- [Azure Purview Account][createpurviewaccount_portal] + +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/collections.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 ENDPOINT="" node dist/collections.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[collections]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/purview/purview-account-rest/samples/v1/javascript/collections.js +[apiref]: https://docs.microsoft.com/azure/purview/tutorial-using-rest-apis +[freesub]: https://azure.microsoft.com/free/ +[createpurviewaccount_portal]: https://docs.microsoft.com/azure/purview/create-catalog-portal +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/purview/purview-account-rest/README.md +[typescript]: https://www.typescriptlang.org/docs/home.html diff --git a/sdk/purview/purview-account-rest/samples/v1/typescript/package.json b/sdk/purview/purview-account-rest/samples/v1/typescript/package.json new file mode 100644 index 000000000000..ac6eaf95f1b7 --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/typescript/package.json @@ -0,0 +1,41 @@ +{ + "name": "azure-purview-account-samples-ts", + "private": true, + "version": "1.0.0", + "description": "Azure Purview Scanning rest client library samples for TypeScript", + "engine": { + "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/purview/purview-account-rest" + }, + "keywords": [ + "node", + "azure", + "cloud", + "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/purview/purview-account-rest", + "dependencies": { + "@azure-rest/purview-account": "next", + "dotenv": "latest", + "@azure/identity": "^1.1.0" + }, + "devDependencies": { + "typescript": "~4.2.0", + "rimraf": "latest" + } +} diff --git a/sdk/purview/purview-account-rest/samples/v1/typescript/sample.env b/sdk/purview/purview-account-rest/samples/v1/typescript/sample.env new file mode 100644 index 000000000000..5c39228ebdd0 --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/typescript/sample.env @@ -0,0 +1,7 @@ +# Purview Scanning resource endpoint +ENDPOINT= + +# App registration secret for AAD authentication +AZURE_CLIENT_SECRET= +AZURE_CLIENT_ID= +AZURE_TENANT_ID= diff --git a/sdk/purview/purview-account-rest/samples/v1/typescript/src/collections.ts b/sdk/purview/purview-account-rest/samples/v1/typescript/src/collections.ts new file mode 100644 index 000000000000..f63c9f8fecf3 --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/typescript/src/collections.ts @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** + * This sample demonstrates how get a list of collections + * + * @summary gets a list of collections + */ + +import PurviewAccount from "@azure-rest/purview-account"; +import { DefaultAzureCredential } from "@azure/identity"; +import dotenv from "dotenv"; + +dotenv.config(); + +const endpoint = process.env["ENDPOINT"] || ""; + +async function main() { + console.log("== List collections sample =="); + const client = PurviewAccount(endpoint, new DefaultAzureCredential()); + + const response = await client.path("/collections").get(); + + if (response.status !== "200") { + console.log(`GET "/collections" failed with ${response.status}`); + } + + console.log(response.body); +} + +main().catch(console.error); diff --git a/sdk/purview/purview-account-rest/samples/v1/typescript/tsconfig.json b/sdk/purview/purview-account-rest/samples/v1/typescript/tsconfig.json new file mode 100644 index 000000000000..416c2dd82e00 --- /dev/null +++ b/sdk/purview/purview-account-rest/samples/v1/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/purview/purview-account-rest/src/index.ts b/sdk/purview/purview-account-rest/src/index.ts new file mode 100644 index 000000000000..04978f588609 --- /dev/null +++ b/sdk/purview/purview-account-rest/src/index.ts @@ -0,0 +1,13 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import PurviewAccount from "./purviewAccount"; + +export * from "./purviewAccount"; +export * from "./models"; +export * from "./parameters"; +export * from "./responses"; + +export { paginate, PaginateReturn, GetArrayType } from "./paginateHelper"; + +export default PurviewAccount; diff --git a/sdk/purview/purview-account-rest/src/models.ts b/sdk/purview/purview-account-rest/src/models.ts new file mode 100644 index 000000000000..de4b9b9277de --- /dev/null +++ b/sdk/purview/purview-account-rest/src/models.ts @@ -0,0 +1,367 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +export interface Account { + /** Gets or sets the identifier. */ + id?: string; + /** Identity Info on the tracked resource */ + identity?: Identity; + /** Gets or sets the location. */ + location?: string; + /** Gets or sets the name. */ + name?: string; + /** Gets or sets the properties. */ + properties?: AccountProperties; + /** Gets or sets the Sku. */ + sku?: AccountSku; + /** Metadata pertaining to creation and last modification of the resource. */ + systemData?: AccountSystemData; + /** Tags on the azure resource. */ + tags?: Record; + /** Gets or sets the type. */ + type?: string; +} + +export interface Identity { + /** Service principal object Id */ + principalId?: string; + /** Tenant Id */ + tenantId?: string; + /** Identity Type */ + type?: "SystemAssigned"; +} + +export interface AccountProperties { + /** + * Cloud connectors. + * External cloud identifier used as part of scanning configuration. + */ + cloudConnectors?: CloudConnectors; + /** Gets the time at which the entity was created. */ + createdAt?: Date; + /** Gets the creator of the entity. */ + createdBy?: string; + /** Gets the creators of the entity's object id. */ + createdByObjectId?: string; + /** The URIs that are the public endpoints of the account. */ + endpoints?: AccountPropertiesEndpoints; + /** Gets or sets the friendly name. */ + friendlyName?: string; + /** Gets or sets the managed resource group name */ + managedResourceGroupName?: string; + /** Gets the resource identifiers of the managed resources. */ + managedResources?: AccountPropertiesManagedResources; + /** Gets the private endpoint connections information. */ + privateEndpointConnections?: Array; + /** Gets or sets the state of the provisioning. */ + provisioningState?: + | "Unknown" + | "Creating" + | "Moving" + | "Deleting" + | "SoftDeleting" + | "SoftDeleted" + | "Failed" + | "Succeeded" + | "Canceled"; + /** Gets or sets the public network access. */ + publicNetworkAccess?: "NotSpecified" | "Enabled" | "Disabled"; +} + +export interface CloudConnectors { + /** + * AWS external identifier. + * Configured in AWS to allow use of the role arn used for scanning + */ + awsExternalId?: string; +} + +export interface AccountEndpoints { + /** Gets the catalog endpoint. */ + catalog?: string; + /** Gets the guardian endpoint. */ + guardian?: string; + /** Gets the scan endpoint. */ + scan?: string; +} + +export interface AccountPropertiesEndpoints extends AccountEndpoints {} + +export interface ManagedResources { + /** Gets the managed event hub namespace resource identifier. */ + eventHubNamespace?: string; + /** Gets the managed resource group resource identifier. This resource group will host resource dependencies for the account. */ + resourceGroup?: string; + /** Gets the managed storage account resource identifier. */ + storageAccount?: string; +} + +export interface AccountPropertiesManagedResources extends ManagedResources {} + +export interface PrivateEndpointConnection { + /** Gets or sets the identifier. */ + id?: string; + /** Gets or sets the name. */ + name?: string; + /** The connection identifier. */ + properties?: PrivateEndpointConnectionProperties; + /** Gets or sets the type. */ + type?: string; +} + +export interface PrivateEndpointConnectionProperties { + /** The private endpoint information. */ + privateEndpoint?: PrivateEndpoint; + /** The private link service connection state. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + /** The provisioning state. */ + provisioningState?: string; +} + +export interface PrivateEndpoint { + /** The private endpoint identifier. */ + id?: string; +} + +export interface PrivateLinkServiceConnectionState { + /** The required actions. */ + actionsRequired?: string; + /** The description. */ + description?: string; + /** The status. */ + status?: "Unknown" | "Pending" | "Approved" | "Rejected" | "Disconnected"; +} + +export interface AccountSku { + /** Gets or sets the sku capacity. Possible values include: 4, 16 */ + capacity?: number; + /** Gets or sets the sku name. */ + name?: "Standard"; +} + +export interface SystemData { + /** The timestamp of resource creation (UTC). */ + createdAt?: Date; + /** The identity that created the resource. */ + createdBy?: string; + /** The type of identity that created the resource. */ + createdByType?: "User" | "Application" | "ManagedIdentity" | "Key"; + /** The timestamp of the last modification the resource (UTC). */ + lastModifiedAt?: Date; + /** The identity that last modified the resource. */ + lastModifiedBy?: string; + /** The type of identity that last modified the resource. */ + lastModifiedByType?: "User" | "Application" | "ManagedIdentity" | "Key"; +} + +export interface AccountSystemData extends SystemData {} + +export interface ErrorResponseModel { + /** Gets or sets the error. */ + error?: ErrorResponseModelError; +} + +export interface ErrorModel { + /** Gets or sets the code. */ + code?: string; + /** Gets or sets the details. */ + details?: Array; + /** Gets or sets the messages. */ + message?: string; + /** Gets or sets the target. */ + target?: string; +} + +export interface ErrorResponseModelError extends ErrorModel {} + +export interface DataPlaneAccountUpdateParameters { + /** The friendly name for the azure resource. */ + friendlyName?: string; +} + +export interface AccessKeys { + /** Gets or sets the primary connection string. */ + atlasKafkaPrimaryEndpoint?: string; + /** Gets or sets the secondary connection string. */ + atlasKafkaSecondaryEndpoint?: string; +} + +export interface AccessKeyOptions { + /** The access key type. */ + keyType?: "PrimaryAtlasKafkaKey" | "SecondaryAtlasKafkaKey"; +} + +export interface Collection { + /** Gets the state of the provisioning. */ + collectionProvisioningState?: + | "Unknown" + | "Creating" + | "Moving" + | "Deleting" + | "Failed" + | "Succeeded"; + /** Gets or sets the description. */ + description?: string; + /** Gets or sets the friendly name of the collection. */ + friendlyName?: string; + /** Gets the name. */ + name?: string; + /** Gets or sets the parent collection reference. */ + parentCollection?: CollectionReference; + /** Gets the system data that contains information about who and when created and updated the resource. */ + systemData?: CollectionSystemData; +} + +export interface CollectionReference { + /** Gets or sets the reference name. */ + referenceName?: string; + /** Gets the reference type property. */ + type?: string; +} + +export interface CollectionSystemData extends SystemData {} + +export interface CollectionList { + /** Total item count. */ + count?: number; + /** The Url of next result page. */ + nextLink?: string; + /** Collection of items of type results. */ + value: Array; +} + +export interface CollectionNameResponseList { + /** Total item count. */ + count?: number; + /** The Url of next result page. */ + nextLink?: string; + /** Collection of items of type results. */ + value: Array; +} + +export interface CollectionNameResponse { + /** Gets or sets the friendly name of the collection. */ + friendlyName?: string; + /** Gets the name. */ + name?: string; +} + +export interface CollectionPathResponse { + /** The friendly names of ancestors starting from the default (root) collection and ending with the immediate parent. */ + parentFriendlyNameChain?: Array; + /** The names of ancestors starting from the default (root) collection and ending with the immediate parent. */ + parentNameChain?: Array; +} + +export interface ResourceSetRuleConfig { + /** Gets or sets the advanced resource set property of the account. */ + advancedResourceSet?: AdvancedResourceSet; + /** The name of the rule */ + name?: string; + /** The configuration rules for path pattern extraction. */ + pathPatternConfig?: PathPatternExtractorConfig; +} + +export interface AdvancedResourceSet { + /** Date at which ResourceSetProcessing property of the account is updated. */ + modifiedAt?: Date; + /** The advanced resource property of the account. */ + resourceSetProcessing?: "Default" | "Advanced"; +} + +export interface PathPatternExtractorConfig { + acceptedPatterns?: Array; + complexReplacers?: Array; + createdBy: string; + enableDefaultPatterns: boolean; + lastUpdatedTimestamp?: number; + modifiedBy?: string; + normalizationRules?: Array; + regexReplacers?: Array; + rejectedPatterns?: Array; + scopedRules?: Array; + version?: number; +} + +export interface Filter { + createdBy?: string; + filterType?: "Pattern" | "Regex"; + lastUpdatedTimestamp?: number; + modifiedBy?: string; + name: string; + path: string; +} + +export interface ComplexReplacerConfig { + createdBy?: string; + description?: string; + disabled?: boolean; + disableRecursiveReplacerApplication?: boolean; + lastUpdatedTimestamp?: number; + modifiedBy?: string; + name?: string; + typeName?: string; +} + +export interface NormalizationRule { + description?: string; + disabled?: boolean; + dynamicReplacement?: boolean; + entityTypes?: Array; + lastUpdatedTimestamp?: number; + name?: string; + regex?: FastRegex; + replaceWith?: string; + version?: number; +} + +export interface FastRegex { + maxDigits?: number; + maxLetters?: number; + minDashes?: number; + minDigits?: number; + minDigitsOrLetters?: number; + minDots?: number; + minHex?: number; + minLetters?: number; + minUnderscores?: number; + options?: number; + regexStr?: string; +} + +export interface RegexReplacer { + condition?: string; + createdBy?: string; + description?: string; + disabled: boolean; + disableRecursiveReplacerApplication?: boolean; + doNotReplaceRegex?: FastRegex; + lastUpdatedTimestamp?: number; + modifiedBy?: string; + name: string; + regex?: FastRegex; + replaceWith?: string; +} + +export interface ScopedRule { + bindingUrl: string; + rules?: Array; + storeType: string; +} + +export interface Rule { + displayName?: string; + isResourceSet?: boolean; + lastUpdatedTimestamp?: number; + name?: string; + qualifiedName: string; +} + +export interface ResourceSetRuleConfigList { + /** Total item count. */ + count?: number; + /** The Url of next result page. */ + nextLink?: string; + /** Collection of items of type results. */ + value: Array; +} diff --git a/sdk/purview/purview-account-rest/src/paginateHelper.ts b/sdk/purview/purview-account-rest/src/paginateHelper.ts new file mode 100644 index 000000000000..c41ee6075407 --- /dev/null +++ b/sdk/purview/purview-account-rest/src/paginateHelper.ts @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { paginateResponse, PagedAsyncIterableIterator } from "@azure-rest/core-client-paging"; +import { Client, PathUncheckedResponse } from "@azure-rest/core-client"; + +/** + * Helper type to extract the type of an array + */ +export type GetArrayType = T extends Array ? TData : never; + +/** + * Helper type to infer the Type of the paged elements from the response type + * This type is generated based on the swagger information for x-ms-pageable + * specifically on the itemName property which indicates the property of the response + * where the page items are found. The default value is `value`. + * This type will allow us to provide strongly typed Iterator based on the response we get as second parameter + */ +export type PaginateReturn = TResult extends { + body: { value?: infer TPage }; +} + ? GetArrayType + : Array; + +/** + * Helper function to get PagedAsyncIterableIterator to paginate results starting from a given response. + * @param client - Client to use for sending the next page requests + * @param initialResponse - Initial response containing the nextLink and current page of elements + * @returns - PagedAsyncIterableIterator to iterate the elements + */ +export function paginate( + client: Client, + initialResponse: TReturn +): PagedAsyncIterableIterator, PaginateReturn[]> { + return paginateResponse>(client, initialResponse); +} diff --git a/sdk/purview/purview-account-rest/src/parameters.ts b/sdk/purview/purview-account-rest/src/parameters.ts new file mode 100644 index 000000000000..f73b8f8f544c --- /dev/null +++ b/sdk/purview/purview-account-rest/src/parameters.ts @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { RequestParameters } from "@azure-rest/core-client"; +import { + DataPlaneAccountUpdateParameters, + AccessKeyOptions, + Collection, + ResourceSetRuleConfig, +} from "./models"; + +export type AccountsGetAccountPropertiesParameters = RequestParameters; + +export interface AccountsUpdateAccountPropertiesBodyParam { + body: DataPlaneAccountUpdateParameters; +} + +export type AccountsUpdateAccountPropertiesParameters = AccountsUpdateAccountPropertiesBodyParam & + RequestParameters; +export type AccountsGetAccessKeysParameters = RequestParameters; + +export interface AccountsRegenerateAccessKeyBodyParam { + body: AccessKeyOptions; +} + +export type AccountsRegenerateAccessKeyParameters = AccountsRegenerateAccessKeyBodyParam & + RequestParameters; +export type CollectionsGetCollectionParameters = RequestParameters; + +export interface CollectionsCreateOrUpdateCollectionBodyParam { + body: Collection; +} + +export type CollectionsCreateOrUpdateCollectionParameters = CollectionsCreateOrUpdateCollectionBodyParam & + RequestParameters; +export type CollectionsDeleteCollectionParameters = RequestParameters; + +export interface CollectionsListCollectionsQueryParamProperties { + $skipToken?: string; +} + +export interface CollectionsListCollectionsQueryParam { + queryParameters?: CollectionsListCollectionsQueryParamProperties; +} + +export type CollectionsListCollectionsParameters = CollectionsListCollectionsQueryParam & + RequestParameters; + +export interface CollectionsListChildCollectionNamesQueryParamProperties { + $skipToken?: string; +} + +export interface CollectionsListChildCollectionNamesQueryParam { + queryParameters?: CollectionsListChildCollectionNamesQueryParamProperties; +} + +export type CollectionsListChildCollectionNamesParameters = CollectionsListChildCollectionNamesQueryParam & + RequestParameters; +export type CollectionsGetCollectionPathParameters = RequestParameters; +export type ResourceSetRulesGetResourceSetRuleParameters = RequestParameters; + +export interface ResourceSetRulesCreateOrUpdateResourceSetRuleBodyParam { + body: ResourceSetRuleConfig; +} + +export type ResourceSetRulesCreateOrUpdateResourceSetRuleParameters = ResourceSetRulesCreateOrUpdateResourceSetRuleBodyParam & + RequestParameters; +export type ResourceSetRulesDeleteResourceSetRuleParameters = RequestParameters; + +export interface ResourceSetRulesListResourceSetRulesQueryParamProperties { + $skipToken?: string; +} + +export interface ResourceSetRulesListResourceSetRulesQueryParam { + queryParameters?: ResourceSetRulesListResourceSetRulesQueryParamProperties; +} + +export type ResourceSetRulesListResourceSetRulesParameters = ResourceSetRulesListResourceSetRulesQueryParam & + RequestParameters; diff --git a/sdk/purview/purview-account-rest/src/purviewAccount.ts b/sdk/purview/purview-account-rest/src/purviewAccount.ts new file mode 100644 index 000000000000..c9e35fc16059 --- /dev/null +++ b/sdk/purview/purview-account-rest/src/purviewAccount.ts @@ -0,0 +1,206 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { + AccountsGetAccountPropertiesParameters, + AccountsUpdateAccountPropertiesParameters, + AccountsGetAccessKeysParameters, + AccountsRegenerateAccessKeyParameters, + CollectionsGetCollectionParameters, + CollectionsCreateOrUpdateCollectionParameters, + CollectionsDeleteCollectionParameters, + CollectionsListCollectionsParameters, + CollectionsListChildCollectionNamesParameters, + CollectionsGetCollectionPathParameters, + ResourceSetRulesGetResourceSetRuleParameters, + ResourceSetRulesCreateOrUpdateResourceSetRuleParameters, + ResourceSetRulesDeleteResourceSetRuleParameters, + ResourceSetRulesListResourceSetRulesParameters, +} from "./parameters"; +import { + AccountsGetAccountProperties200Response, + AccountsGetAccountPropertiesdefaultResponse, + AccountsUpdateAccountProperties200Response, + AccountsUpdateAccountPropertiesdefaultResponse, + AccountsGetAccessKeys200Response, + AccountsGetAccessKeysdefaultResponse, + AccountsRegenerateAccessKey200Response, + AccountsRegenerateAccessKeydefaultResponse, + CollectionsGetCollection200Response, + CollectionsGetCollectiondefaultResponse, + CollectionsCreateOrUpdateCollection200Response, + CollectionsCreateOrUpdateCollectiondefaultResponse, + CollectionsDeleteCollection204Response, + CollectionsDeleteCollectiondefaultResponse, + CollectionsListCollections200Response, + CollectionsListCollectionsdefaultResponse, + CollectionsListChildCollectionNames200Response, + CollectionsListChildCollectionNamesdefaultResponse, + CollectionsGetCollectionPath200Response, + CollectionsGetCollectionPathdefaultResponse, + ResourceSetRulesGetResourceSetRule200Response, + ResourceSetRulesGetResourceSetRuledefaultResponse, + ResourceSetRulesCreateOrUpdateResourceSetRule200Response, + ResourceSetRulesCreateOrUpdateResourceSetRuledefaultResponse, + ResourceSetRulesDeleteResourceSetRule200Response, + ResourceSetRulesDeleteResourceSetRule204Response, + ResourceSetRulesDeleteResourceSetRuledefaultResponse, + ResourceSetRulesListResourceSetRules200Response, + ResourceSetRulesListResourceSetRulesdefaultResponse, +} from "./responses"; +import { getClient, ClientOptions, Client } from "@azure-rest/core-client"; +import { TokenCredential } from "@azure/core-auth"; + +export interface AccountsGetAccountProperties { + /** Get an account */ + get( + options?: AccountsGetAccountPropertiesParameters + ): Promise; + /** Updates an account */ + patch( + options: AccountsUpdateAccountPropertiesParameters + ): Promise< + AccountsUpdateAccountProperties200Response | AccountsUpdateAccountPropertiesdefaultResponse + >; +} + +export interface AccountsGetAccessKeys { + /** List the authorization keys associated with this account. */ + post( + options?: AccountsGetAccessKeysParameters + ): Promise; +} + +export interface AccountsRegenerateAccessKey { + /** Regenerate the authorization keys associated with this data catalog. */ + post( + options: AccountsRegenerateAccessKeyParameters + ): Promise; +} + +export interface CollectionsGetCollection { + /** Get a collection */ + get( + options?: CollectionsGetCollectionParameters + ): Promise; + /** Creates or updates a collection entity. */ + put( + options: CollectionsCreateOrUpdateCollectionParameters + ): Promise< + | CollectionsCreateOrUpdateCollection200Response + | CollectionsCreateOrUpdateCollectiondefaultResponse + >; + /** Deletes a Collection entity. */ + delete( + options?: CollectionsDeleteCollectionParameters + ): Promise; +} + +export interface CollectionsListCollections { + /** List the collections in the account. */ + get( + options?: CollectionsListCollectionsParameters + ): Promise; +} + +export interface CollectionsListChildCollectionNames { + /** Lists the child collections names in the collection. */ + get( + options?: CollectionsListChildCollectionNamesParameters + ): Promise< + | CollectionsListChildCollectionNames200Response + | CollectionsListChildCollectionNamesdefaultResponse + >; +} + +export interface CollectionsGetCollectionPath { + /** Gets the parent name and parent friendly name chains that represent the collection path. */ + get( + options?: CollectionsGetCollectionPathParameters + ): Promise; +} + +export interface ResourceSetRulesGetResourceSetRule { + /** Get a resource set config service model. */ + get( + options?: ResourceSetRulesGetResourceSetRuleParameters + ): Promise< + | ResourceSetRulesGetResourceSetRule200Response + | ResourceSetRulesGetResourceSetRuledefaultResponse + >; + /** Creates or updates an resource set config. */ + put( + options: ResourceSetRulesCreateOrUpdateResourceSetRuleParameters + ): Promise< + | ResourceSetRulesCreateOrUpdateResourceSetRule200Response + | ResourceSetRulesCreateOrUpdateResourceSetRuledefaultResponse + >; + /** Deletes a ResourceSetRuleConfig resource. */ + delete( + options?: ResourceSetRulesDeleteResourceSetRuleParameters + ): Promise< + | ResourceSetRulesDeleteResourceSetRule200Response + | ResourceSetRulesDeleteResourceSetRule204Response + | ResourceSetRulesDeleteResourceSetRuledefaultResponse + >; +} + +export interface ResourceSetRulesListResourceSetRules { + /** Get a resource set config service model. */ + get( + options?: ResourceSetRulesListResourceSetRulesParameters + ): Promise< + | ResourceSetRulesListResourceSetRules200Response + | ResourceSetRulesListResourceSetRulesdefaultResponse + >; +} + +export interface Routes { + /** Resource for '/' has methods for the following verbs: get, patch */ + (path: "/"): AccountsGetAccountProperties; + /** Resource for '/listkeys' has methods for the following verbs: post */ + (path: "/listkeys"): AccountsGetAccessKeys; + /** Resource for '/regeneratekeys' has methods for the following verbs: post */ + (path: "/regeneratekeys"): AccountsRegenerateAccessKey; + /** Resource for '/collections/\{collectionName\}' has methods for the following verbs: get, put, delete */ + (path: "/collections/{collectionName}", collectionName: string): CollectionsGetCollection; + /** Resource for '/collections' has methods for the following verbs: get */ + (path: "/collections"): CollectionsListCollections; + /** Resource for '/collections/\{collectionName\}/getChildCollectionNames' has methods for the following verbs: get */ + ( + path: "/collections/{collectionName}/getChildCollectionNames", + collectionName: string + ): CollectionsListChildCollectionNames; + /** Resource for '/collections/\{collectionName\}/getCollectionPath' has methods for the following verbs: get */ + ( + path: "/collections/{collectionName}/getCollectionPath", + collectionName: string + ): CollectionsGetCollectionPath; + /** Resource for '/resourceSetRuleConfigs/defaultResourceSetRuleConfig' has methods for the following verbs: get, put, delete */ + ( + path: "/resourceSetRuleConfigs/defaultResourceSetRuleConfig" + ): ResourceSetRulesGetResourceSetRule; + /** Resource for '/resourceSetRuleConfigs' has methods for the following verbs: get */ + (path: "/resourceSetRuleConfigs"): ResourceSetRulesListResourceSetRules; +} + +export type PurviewAccountRestClient = Client & { + path: Routes; +}; + +export default function PurviewAccount( + endpoint: string, + credentials: TokenCredential, + options: ClientOptions = {} +): PurviewAccountRestClient { + const baseUrl = options.baseUrl ?? `${endpoint}`; + options.apiVersion = options.apiVersion ?? "2019-11-01-preview"; + options = { + ...options, + credentials: { + scopes: ["https://purview.azure.net/.default"], + }, + }; + + return getClient(baseUrl, credentials, options) as PurviewAccountRestClient; +} diff --git a/sdk/purview/purview-account-rest/src/responses.ts b/sdk/purview/purview-account-rest/src/responses.ts new file mode 100644 index 000000000000..301387efb7c2 --- /dev/null +++ b/sdk/purview/purview-account-rest/src/responses.ts @@ -0,0 +1,189 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { HttpResponse } from "@azure-rest/core-client"; +import { + Account, + ErrorResponseModel, + AccessKeys, + Collection, + CollectionList, + CollectionNameResponseList, + CollectionPathResponse, + ResourceSetRuleConfig, + ResourceSetRuleConfigList, +} from "./models"; + +/** Get an account */ +export interface AccountsGetAccountProperties200Response extends HttpResponse { + status: "200"; + body: Account; +} + +/** Get an account */ +export interface AccountsGetAccountPropertiesdefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Updates an account */ +export interface AccountsUpdateAccountProperties200Response extends HttpResponse { + status: "200"; + body: Account; +} + +/** Updates an account */ +export interface AccountsUpdateAccountPropertiesdefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** List the authorization keys associated with this account. */ +export interface AccountsGetAccessKeys200Response extends HttpResponse { + status: "200"; + body: AccessKeys; +} + +/** List the authorization keys associated with this account. */ +export interface AccountsGetAccessKeysdefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Regenerate the authorization keys associated with this data catalog. */ +export interface AccountsRegenerateAccessKey200Response extends HttpResponse { + status: "200"; + body: AccessKeys; +} + +/** Regenerate the authorization keys associated with this data catalog. */ +export interface AccountsRegenerateAccessKeydefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Get a collection */ +export interface CollectionsGetCollection200Response extends HttpResponse { + status: "200"; + body: Collection; +} + +/** Get a collection */ +export interface CollectionsGetCollectiondefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Creates or updates a collection entity. */ +export interface CollectionsCreateOrUpdateCollection200Response extends HttpResponse { + status: "200"; + body: Collection; +} + +/** Creates or updates a collection entity. */ +export interface CollectionsCreateOrUpdateCollectiondefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Deletes a Collection entity. */ +export interface CollectionsDeleteCollection204Response extends HttpResponse { + status: "204"; + body: Record; +} + +/** Deletes a Collection entity. */ +export interface CollectionsDeleteCollectiondefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** List the collections in the account. */ +export interface CollectionsListCollections200Response extends HttpResponse { + status: "200"; + body: CollectionList; +} + +/** List the collections in the account. */ +export interface CollectionsListCollectionsdefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Lists the child collections names in the collection. */ +export interface CollectionsListChildCollectionNames200Response extends HttpResponse { + status: "200"; + body: CollectionNameResponseList; +} + +/** Lists the child collections names in the collection. */ +export interface CollectionsListChildCollectionNamesdefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Gets the parent name and parent friendly name chains that represent the collection path. */ +export interface CollectionsGetCollectionPath200Response extends HttpResponse { + status: "200"; + body: CollectionPathResponse; +} + +/** Gets the parent name and parent friendly name chains that represent the collection path. */ +export interface CollectionsGetCollectionPathdefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Get a resource set config service model. */ +export interface ResourceSetRulesGetResourceSetRule200Response extends HttpResponse { + status: "200"; + body: ResourceSetRuleConfig; +} + +/** Get a resource set config service model. */ +export interface ResourceSetRulesGetResourceSetRuledefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Creates or updates an resource set config. */ +export interface ResourceSetRulesCreateOrUpdateResourceSetRule200Response extends HttpResponse { + status: "200"; + body: ResourceSetRuleConfig; +} + +/** Creates or updates an resource set config. */ +export interface ResourceSetRulesCreateOrUpdateResourceSetRuledefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Deletes a ResourceSetRuleConfig resource. */ +export interface ResourceSetRulesDeleteResourceSetRule200Response extends HttpResponse { + status: "200"; + body: Record; +} + +/** Deletes a ResourceSetRuleConfig resource. */ +export interface ResourceSetRulesDeleteResourceSetRule204Response extends HttpResponse { + status: "204"; + body: Record; +} + +/** Deletes a ResourceSetRuleConfig resource. */ +export interface ResourceSetRulesDeleteResourceSetRuledefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} + +/** Get a resource set config service model. */ +export interface ResourceSetRulesListResourceSetRules200Response extends HttpResponse { + status: "200"; + body: ResourceSetRuleConfigList; +} + +/** Get a resource set config service model. */ +export interface ResourceSetRulesListResourceSetRulesdefaultResponse extends HttpResponse { + status: "500"; + body: ErrorResponseModel; +} diff --git a/sdk/purview/purview-account-rest/swagger/README.md b/sdk/purview/purview-account-rest/swagger/README.md new file mode 100644 index 000000000000..d003ff6d1c81 --- /dev/null +++ b/sdk/purview/purview-account-rest/swagger/README.md @@ -0,0 +1,22 @@ +# Azure Purview Catalog TypeScript Protocol Layer + +> see https://aka.ms/autorest + +## Configuration + +```yaml +package-name: "@azure-rest/purview-account" +title: PurviewAccount +description: Purview Account Client +generate-metadata: false +license-header: MICROSOFT_MIT_NO_VERSION +output-folder: ../ +source-code-folder-path: ./src +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/purview/data-plane/Azure.Analytics.Purview.Account/preview/2019-11-01-preview/account.json +package-version: 1.0.0-beta.1 +rest-level-client: true +add-credentials: true +credential-scopes: "https://purview.azure.net/.default" +use-extension: + "@autorest/typescript": "6.0.0-alpha.8.20210810.1" +``` diff --git a/sdk/purview/purview-account-rest/test/public/account.spec.ts b/sdk/purview/purview-account-rest/test/public/account.spec.ts new file mode 100644 index 000000000000..71a517fed9fe --- /dev/null +++ b/sdk/purview/purview-account-rest/test/public/account.spec.ts @@ -0,0 +1,33 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +import { PurviewAccountRestClient } from "../../src"; +import { Recorder } from "@azure-tools/test-recorder"; + +import { assert } from "chai"; +import { createClient, createRecorder } from "./utils/recordedClient"; +import { Context } from "mocha"; + +describe("Get account info", () => { + let recorder: Recorder; + let client: PurviewAccountRestClient; + + beforeEach(function (this: Context) { + recorder = createRecorder(this); + client = createClient(); + }); + + afterEach(async function () { + await recorder.stop(); + }); + + it("should get the account info", async () => { + const result = await client.path("/").get(); + + console.log(result); + if (result.status !== "200") { + assert.fail(`GET "/" failed with ${result.status}`); + } + + assert.isDefined(result.body); + }); +}); diff --git a/sdk/purview/purview-account-rest/test/public/collections.spec.ts b/sdk/purview/purview-account-rest/test/public/collections.spec.ts new file mode 100644 index 000000000000..1fb1fbde1b55 --- /dev/null +++ b/sdk/purview/purview-account-rest/test/public/collections.spec.ts @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +import { PurviewAccountRestClient } from "../../src"; +import { Recorder } from "@azure-tools/test-recorder"; + +import { assert } from "chai"; +import { createClient, createRecorder } from "./utils/recordedClient"; +import { Context } from "mocha"; + +describe("List collections", () => { + let recorder: Recorder; + let client: PurviewAccountRestClient; + + beforeEach(function (this: Context) { + recorder = createRecorder(this); + client = createClient(); + }); + + afterEach(async function () { + await recorder.stop(); + }); + + it("should list all available collections", async () => { + const result = await client.path("/collections").get(); + + console.log(result); + if (result.status !== "200") { + assert.fail(`GET "/collections" failed with ${result.status}`); + } + + assert.isDefined(result.body.count); + // assert(client); + }); +}); diff --git a/sdk/purview/purview-account-rest/test/public/utils/env.browser.ts b/sdk/purview/purview-account-rest/test/public/utils/env.browser.ts new file mode 100644 index 000000000000..fd2aca680c7b --- /dev/null +++ b/sdk/purview/purview-account-rest/test/public/utils/env.browser.ts @@ -0,0 +1,2 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. diff --git a/sdk/purview/purview-account-rest/test/public/utils/env.ts b/sdk/purview/purview-account-rest/test/public/utils/env.ts new file mode 100644 index 000000000000..0e06855b73ae --- /dev/null +++ b/sdk/purview/purview-account-rest/test/public/utils/env.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import * as dotenv from "dotenv"; + +dotenv.config(); diff --git a/sdk/purview/purview-account-rest/test/public/utils/recordedClient.ts b/sdk/purview/purview-account-rest/test/public/utils/recordedClient.ts new file mode 100644 index 000000000000..edd0ee9fa900 --- /dev/null +++ b/sdk/purview/purview-account-rest/test/public/utils/recordedClient.ts @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/// + +import { Context } from "mocha"; + +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; +import PurviewAccount, { PurviewAccountRestClient } from "../../../src"; +import { ClientSecretCredential } from "@azure/identity"; + +import "./env"; +import { ClientOptions } from "@azure-rest/core-client"; + +const replaceableVariables: { [k: string]: string } = { + ENDPOINT: "https://endpoint", + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", +}; + +export const environmentSetup: RecorderEnvironmentSetup = { + replaceableVariables, + customizationsOnRecordings: [ + (recording: string): string => + recording.replace(/"access_token"\s?:\s?"[^"]*"/g, `"access_token":"access_token"`), + // If we put ENDPOINT in replaceableVariables above, it will not capture + // the endpoint string used with nock, which will be expanded to + // https://:443/ and therefore will not match, so we have to do + // this instead. + (recording: string): string => { + const replaced = recording.replace("endpoint:443", "endpoint"); + return replaced; + }, + ], + queryParametersToSkip: [], +}; + +export function createClient(options?: ClientOptions): PurviewAccountRestClient { + const credential = new ClientSecretCredential( + env.AZURE_TENANT_ID, + env.AZURE_CLIENT_ID, + env.AZURE_CLIENT_SECRET + ); + return PurviewAccount(env.ENDPOINT, credential, options); +} + +/** + * creates the recorder and reads the environment variables from the `.env` file. + * Should be called first in the test suite to make sure environment variables are + * read before they are being used. + */ +export function createRecorder(context: Context): Recorder { + return record(context, environmentSetup); +} diff --git a/sdk/purview/purview-account-rest/tsconfig.json b/sdk/purview/purview-account-rest/tsconfig.json new file mode 100644 index 000000000000..a2d81bc97e1a --- /dev/null +++ b/sdk/purview/purview-account-rest/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.package", + "compilerOptions": { + "outDir": "./dist-esm", + "declarationDir": "./types", + "paths": { + "@azure-rest/purview-account": ["./src/index"] + } + }, + "include": ["src/**/*.ts", "test/**/*.ts", "samples-dev/**/*.ts"] +} diff --git a/sdk/purview/purview-catalog-rest/karma.conf.js b/sdk/purview/purview-catalog-rest/karma.conf.js index 25316030d220..6f3632a5ce59 100644 --- a/sdk/purview/purview-catalog-rest/karma.conf.js +++ b/sdk/purview/purview-catalog-rest/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode, -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function (config) { config.set({ diff --git a/sdk/purview/purview-catalog-rest/package.json b/sdk/purview/purview-catalog-rest/package.json index ee9142f4d090..d1a4b3f2c93e 100644 --- a/sdk/purview/purview-catalog-rest/package.json +++ b/sdk/purview/purview-catalog-rest/package.json @@ -58,7 +58,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:debug": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", @@ -71,7 +71,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -84,7 +83,7 @@ "autoPublish": false, "dependencies": { "@azure/core-auth": "^1.3.0", - "@azure-rest/core-client": "1.0.0-beta.6", + "@azure-rest/core-client": "1.0.0-beta.7", "@azure/core-rest-pipeline": "^1.1.0", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" @@ -93,7 +92,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/identity": "^1.1.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.13.2", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", diff --git a/sdk/purview/purview-catalog-rest/test/public/typedefs.spec.ts b/sdk/purview/purview-catalog-rest/test/public/typedefs.spec.ts index 77e8fe6b96e2..f4985c4d77c3 100644 --- a/sdk/purview/purview-catalog-rest/test/public/typedefs.spec.ts +++ b/sdk/purview/purview-catalog-rest/test/public/typedefs.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { PurviewCatalogRestClient } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; diff --git a/sdk/purview/purview-catalog-rest/test/public/utils/recordedClient.ts b/sdk/purview/purview-catalog-rest/test/public/utils/recordedClient.ts index 8b496829afd4..a0c00a566b4a 100644 --- a/sdk/purview/purview-catalog-rest/test/public/utils/recordedClient.ts +++ b/sdk/purview/purview-catalog-rest/test/public/utils/recordedClient.ts @@ -5,7 +5,7 @@ import { Context } from "mocha"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import PurviewCatalog, { PurviewCatalogRestClient } from "../../../src"; import { ClientSecretCredential } from "@azure/identity"; diff --git a/sdk/purview/purview-scanning-rest/README.md b/sdk/purview/purview-scanning-rest/README.md index e09dfffd03ed..fc5b953fb1e1 100644 --- a/sdk/purview/purview-scanning-rest/README.md +++ b/sdk/purview/purview-scanning-rest/README.md @@ -9,6 +9,7 @@ Azure Purview Scanning is a fully managed cloud service whose users can scan you **Please rely heavily on the [service's documentation][scanning_product_documentation] and our [Rest client docs][rest_client] to use this library** Key links: + - [Source code][source_code] - [Package (NPM)][scanning_npm] - [API reference documentation][scanning_ref_docs] @@ -58,7 +59,7 @@ Use the returned token credential to authenticate the client: import PurviewScanning from "@azure-rest/purview-scanning"; import { DefaultAzureCredential } from "@azure/identity"; const client = PurviewScanning( - "https://.scanning.purview.azure.com", + "https://.scan.purview.azure.com", new DefaultAzureCredential() ); ``` @@ -84,7 +85,7 @@ import { DefaultAzureCredential } from "@azure/identity"; async function main() { console.log("== List dataSources =="); const client = PurviewScanning( - "https://.scanning.purview.azure.com", + "https://.scan.purview.azure.com", new DefaultAzureCredential() ); diff --git a/sdk/purview/purview-scanning-rest/karma.conf.js b/sdk/purview/purview-scanning-rest/karma.conf.js index 25316030d220..6f3632a5ce59 100644 --- a/sdk/purview/purview-scanning-rest/karma.conf.js +++ b/sdk/purview/purview-scanning-rest/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode, -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function (config) { config.set({ diff --git a/sdk/purview/purview-scanning-rest/package.json b/sdk/purview/purview-scanning-rest/package.json index 37cc28353f71..a644cfd399a6 100644 --- a/sdk/purview/purview-scanning-rest/package.json +++ b/sdk/purview/purview-scanning-rest/package.json @@ -58,7 +58,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:debug": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", @@ -71,7 +71,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -84,7 +83,7 @@ "autoPublish": false, "dependencies": { "@azure/core-auth": "^1.3.0", - "@azure-rest/core-client": "1.0.0-beta.6", + "@azure-rest/core-client": "1.0.0-beta.7", "@azure/core-rest-pipeline": "^1.1.0", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" @@ -93,7 +92,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/identity": "^1.1.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.13.2", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", diff --git a/sdk/purview/purview-scanning-rest/test/public/dataSources.spec.ts b/sdk/purview/purview-scanning-rest/test/public/dataSources.spec.ts index 3c09978f1004..6497134ea991 100644 --- a/sdk/purview/purview-scanning-rest/test/public/dataSources.spec.ts +++ b/sdk/purview/purview-scanning-rest/test/public/dataSources.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { PurviewScanningRestClient } from "../../src"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; diff --git a/sdk/purview/purview-scanning-rest/test/public/utils/recordedClient.ts b/sdk/purview/purview-scanning-rest/test/public/utils/recordedClient.ts index ead5872a74e9..ff40db1950af 100644 --- a/sdk/purview/purview-scanning-rest/test/public/utils/recordedClient.ts +++ b/sdk/purview/purview-scanning-rest/test/public/utils/recordedClient.ts @@ -5,7 +5,7 @@ import { Context } from "mocha"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import PurviewScanning, { PurviewScanningRestClient } from "../../../src"; import { ClientSecretCredential } from "@azure/identity"; diff --git a/sdk/quantum/quantum-jobs/karma.conf.js b/sdk/quantum/quantum-jobs/karma.conf.js index 60b43e9dbb3d..d51175947599 100644 --- a/sdk/quantum/quantum-jobs/karma.conf.js +++ b/sdk/quantum/quantum-jobs/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/quantum/quantum-jobs/package.json b/sdk/quantum/quantum-jobs/package.json index 2058b20858c2..8e10decb778e 100644 --- a/sdk/quantum/quantum-jobs/package.json +++ b/sdk/quantum/quantum-jobs/package.json @@ -15,7 +15,7 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1 && npm run extract-api", - "build": "npm run build:node && npm run build:browser", + "build": "npm run clean && npm run build:node && npm run build:browser", "build:test:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c rollup.test.config.js 2>&1", "build:test:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c rollup.test.config.js 2>&1", "build:test": "npm run build:test:node && npm run build:test:browser", @@ -33,7 +33,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o search-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:node": "npm run clean && npm run build:test:node && npm run unit-test:node", "test:browser": "npm run clean && npm run build:test:browser && npm run unit-test:browser", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -70,11 +69,11 @@ "tslib": "^2.2.0" }, "devDependencies": { - "@azure/storage-blob": "^12.6.0", + "@azure/storage-blob": "^12.8.0", "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", - "@azure/test-utils-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", diff --git a/sdk/quantum/quantum-jobs/samples/package.json b/sdk/quantum/quantum-jobs/samples/package.json index a0eb92965b7e..40d9e0c22df8 100644 --- a/sdk/quantum/quantum-jobs/samples/package.json +++ b/sdk/quantum/quantum-jobs/samples/package.json @@ -9,6 +9,6 @@ "dependencies": { "@azure/core-http": "latest", "@azure/storage-blob": "latest", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.5" } } diff --git a/sdk/quantum/quantum-jobs/test/public/quantumJobClient.spec.ts b/sdk/quantum/quantum-jobs/test/public/quantumJobClient.spec.ts index 10b0b88e605a..36a1724754ec 100644 --- a/sdk/quantum/quantum-jobs/test/public/quantumJobClient.spec.ts +++ b/sdk/quantum/quantum-jobs/test/public/quantumJobClient.spec.ts @@ -4,11 +4,11 @@ import { ContainerClient, BlockBlobClient } from "@azure/storage-blob"; import { QuantumJobClient } from "../../src"; import { authenticate } from "../utils/testAuthentication"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import chai from "chai"; import * as fs from "fs"; import { TokenCredential } from "@azure/identity"; -import { isPlaybackMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode } from "@azure-tools/test-recorder"; import { replaceStorageAccountInfo } from "../utils/recorderUtils"; const assert = chai.assert; diff --git a/sdk/quantum/quantum-jobs/test/utils/recorderUtils.ts b/sdk/quantum/quantum-jobs/test/utils/recorderUtils.ts index ba474036e86e..66367922af24 100644 --- a/sdk/quantum/quantum-jobs/test/utils/recorderUtils.ts +++ b/sdk/quantum/quantum-jobs/test/utils/recorderUtils.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { isPlaybackMode, isRecordMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode, isRecordMode } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import * as dotenv from "dotenv"; diff --git a/sdk/quantum/quantum-jobs/test/utils/testAuthentication.ts b/sdk/quantum/quantum-jobs/test/utils/testAuthentication.ts index b4ba580052a7..42e559c14f6a 100644 --- a/sdk/quantum/quantum-jobs/test/utils/testAuthentication.ts +++ b/sdk/quantum/quantum-jobs/test/utils/testAuthentication.ts @@ -3,7 +3,7 @@ import { DefaultAzureCredential } from "@azure/identity"; import { QuantumJobClient } from "../../src"; -import { env, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import TestClient from "./testClient"; import { replaceStorageAccountInfo } from "./recorderUtils"; diff --git a/sdk/recoveryservices/arm-recoveryservices/README.md b/sdk/recoveryservices/arm-recoveryservices/README.md index 54336c35cd94..2e86aef00c1c 100644 --- a/sdk/recoveryservices/arm-recoveryservices/README.md +++ b/sdk/recoveryservices/arm-recoveryservices/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for RecoveryServicesClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md index 330bfc2c296c..5aa057274ef3 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SiteRecoveryManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/redis/arm-rediscache/README.md b/sdk/redis/arm-rediscache/README.md index 9fd3b180eb27..e11f8e65cae3 100644 --- a/sdk/redis/arm-rediscache/README.md +++ b/sdk/redis/arm-rediscache/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for RedisManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/redisenterprise/arm-redisenterprisecache/README.md b/sdk/redisenterprise/arm-redisenterprisecache/README.md index 5281f220eba8..f4ed2933f01d 100644 --- a/sdk/redisenterprise/arm-redisenterprisecache/README.md +++ b/sdk/redisenterprise/arm-redisenterprisecache/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for RedisEnterpriseManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/relay/arm-relay/README.md b/sdk/relay/arm-relay/README.md index 3a7fb18fcc3d..5336c926f970 100644 --- a/sdk/relay/arm-relay/README.md +++ b/sdk/relay/arm-relay/README.md @@ -4,9 +4,8 @@ This package contains an isomorphic SDK for RelayManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript - +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install ``` diff --git a/sdk/remoterendering/mixed-reality-remote-rendering/CHANGELOG.md b/sdk/remoterendering/mixed-reality-remote-rendering/CHANGELOG.md index 967eb9e0f2c0..b6403bf6c954 100644 --- a/sdk/remoterendering/mixed-reality-remote-rendering/CHANGELOG.md +++ b/sdk/remoterendering/mixed-reality-remote-rendering/CHANGELOG.md @@ -1,5 +1,5 @@ # Release History -## 1.0.0-beta.1 (Unreleased) +## 1.0.0-beta.1 (2021-09-21) - Initial release. diff --git a/sdk/remoterendering/mixed-reality-remote-rendering/karma.conf.js b/sdk/remoterendering/mixed-reality-remote-rendering/karma.conf.js index eb0da13b1f69..c2724195319b 100644 --- a/sdk/remoterendering/mixed-reality-remote-rendering/karma.conf.js +++ b/sdk/remoterendering/mixed-reality-remote-rendering/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/remoterendering/mixed-reality-remote-rendering/package.json b/sdk/remoterendering/mixed-reality-remote-rendering/package.json index 26a4a0d8a6a9..5ed90f7520ef 100644 --- a/sdk/remoterendering/mixed-reality-remote-rendering/package.json +++ b/sdk/remoterendering/mixed-reality-remote-rendering/package.json @@ -26,7 +26,7 @@ "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* test-dist temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -41,7 +41,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -90,7 +89,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/identity": "^1.1.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/chai": "^4.1.6", "@types/chai-as-promised": "^7.1.0", diff --git a/sdk/remoterendering/mixed-reality-remote-rendering/test/public/remoteRenderingClient.spec.ts b/sdk/remoterendering/mixed-reality-remote-rendering/test/public/remoteRenderingClient.spec.ts index f629645248e1..e3e7493c005d 100644 --- a/sdk/remoterendering/mixed-reality-remote-rendering/test/public/remoteRenderingClient.spec.ts +++ b/sdk/remoterendering/mixed-reality-remote-rendering/test/public/remoteRenderingClient.spec.ts @@ -3,7 +3,7 @@ import { assert } from "chai"; import { Context } from "mocha"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { RestError } from "@azure/core-rest-pipeline"; import { @@ -26,7 +26,7 @@ import { } from "@azure/core-auth"; import { createClient, createRecorder, getEnv } from "../utils/recordedClient"; -import { isPlaybackMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode } from "@azure-tools/test-recorder"; /// No need to wait when polling in playback mode. const pollerSettings = isPlaybackMode() ? { intervalInMs: 1 } : {}; diff --git a/sdk/remoterendering/mixed-reality-remote-rendering/test/utils/recordedClient.ts b/sdk/remoterendering/mixed-reality-remote-rendering/test/utils/recordedClient.ts index dc724c690fb4..37d1dc9e5583 100644 --- a/sdk/remoterendering/mixed-reality-remote-rendering/test/utils/recordedClient.ts +++ b/sdk/remoterendering/mixed-reality-remote-rendering/test/utils/recordedClient.ts @@ -10,7 +10,7 @@ import { Recorder, RecorderEnvironmentSetup, isPlaybackMode -} from "@azure/test-utils-recorder"; +} from "@azure-tools/test-recorder"; import { RemoteRenderingClient } from "../../src"; import "./env"; diff --git a/sdk/reservations/arm-reservations/README.md b/sdk/reservations/arm-reservations/README.md index 156ab2e58ad8..16ddbfe2b48d 100644 --- a/sdk/reservations/arm-reservations/README.md +++ b/sdk/reservations/arm-reservations/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for AzureReservationAPI. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/resourcegraph/arm-resourcegraph/README.md b/sdk/resourcegraph/arm-resourcegraph/README.md index b12be35165b5..76978e5e821b 100644 --- a/sdk/resourcegraph/arm-resourcegraph/README.md +++ b/sdk/resourcegraph/arm-resourcegraph/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ResourceGraphClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/resourcehealth/arm-resourcehealth/README.md b/sdk/resourcehealth/arm-resourcehealth/README.md index daefef06fe23..3638e4125c4b 100644 --- a/sdk/resourcehealth/arm-resourcehealth/README.md +++ b/sdk/resourcehealth/arm-resourcehealth/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MicrosoftResourceHealth. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/resourcemover/arm-resourcemover/README.md b/sdk/resourcemover/arm-resourcemover/README.md index 8c8f8dae2395..aaf1d8881a41 100644 --- a/sdk/resourcemover/arm-resourcemover/README.md +++ b/sdk/resourcemover/arm-resourcemover/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ResourceMoverServiceAPI. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/CHANGELOG.md b/sdk/resources-subscriptions/arm-resources-subscriptions/CHANGELOG.md new file mode 100644 index 000000000000..f04562219eca --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/CHANGELOG.md @@ -0,0 +1,15 @@ +## 1.0.0-beta.1 (2021-08-24) + +This is the first preview for the new version of the `@azure/arm-resources-subscriptions` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** + +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/LICENSE b/sdk/resources-subscriptions/arm-resources-subscriptions/LICENSE new file mode 100644 index 000000000000..ccb63b166732 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 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/resources-subscriptions/arm-resources-subscriptions/README.md b/sdk/resources-subscriptions/arm-resources-subscriptions/README.md new file mode 100644 index 000000000000..89103439803b --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/README.md @@ -0,0 +1,94 @@ +# Azure Subscription client library for JavaScript + +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure Subscription client. + +All resource groups and resources exist within subscriptions. These operation enable you get information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure AD) for your organization. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/resources-subscriptions/arm-resources-subscriptions) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-resources-subscriptions) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-resources-subscriptions) | +[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-resources-subscriptions` package + +Install the Azure Subscription client library for JavaScript with `npm`: + +```bash +npm install @azure/arm-resources-subscriptions +``` + +### Create and authenticate a `SubscriptionClient` + +To create a client object to access the Azure Subscription API, you will need the `endpoint` of your Azure Subscription resource and a `credential`. The Azure Subscription client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure Subscription resource in the [Azure Portal][azure_portal]. + +#### Using an Azure Active Directory Credential + +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. 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 Subscription** 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 { SubscriptionClient } = require("@azure/arm-resources-subscriptions"); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new SubscriptionClient(new DefaultAzureCredential(), subscriptionId); +``` + +## Key concepts + +### SubscriptionClient + +`SubscriptionClient` is the primary interface for developers using the Azure Subscription client library. Explore the methods on this client object to understand the different features of the Azure Subscription 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 +import { setLogLevel } from "@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%2Fresources-subscriptions%2Farm-resources-subscriptions%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/resources-subscriptions/arm-resources-subscriptions/_meta.json b/sdk/resources-subscriptions/arm-resources-subscriptions/_meta.json new file mode 100644 index 000000000000..4d2584b86789 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "0efd11ad640cce266563ed3e533557d45ab74bc8", + "readme": "specification/resources/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/resources/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.10.20210820.1", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-alpha.10.20210820.1" +} \ No newline at end of file diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/api-extractor.json b/sdk/resources-subscriptions/arm-resources-subscriptions/api-extractor.json new file mode 100644 index 000000000000..f1352d0683c1 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-resources-subscriptions.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/package.json b/sdk/resources-subscriptions/arm-resources-subscriptions/package.json new file mode 100644 index 000000000000..3baf314a62d5 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/package.json @@ -0,0 +1,87 @@ +{ + "name": "@azure/arm-resources-subscriptions", + "sdk-type": "mgmt", + "author": "Microsoft Corporation", + "description": "A generated SDK for SubscriptionClient.", + "version": "1.0.0-beta.1", + "engines": { "node": ">=12.0.0" }, + "dependencies": { + "@azure/core-paging": "^1.1.1", + "@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/index.js", + "types": "./types/arm-resources-subscriptions.d.ts", + "devDependencies": { + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", + "rollup-plugin-sourcemaps": "^0.4.2", + "rollup-plugin-node-resolve": "^3.4.0", + "typescript": "~4.2.0", + "uglify-js": "^3.4.9" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/resources-subscriptions/arm-resources-subscriptions", + "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": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" + }, + "sideEffects": false, + "autoPublish": true +} diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/review/arm-resources-subscriptions.api.md b/sdk/resources-subscriptions/arm-resources-subscriptions/review/arm-resources-subscriptions.api.md new file mode 100644 index 000000000000..c55252234512 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/review/arm-resources-subscriptions.api.md @@ -0,0 +1,291 @@ +## API Report File for "@azure/arm-resources-subscriptions" + +> 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'; + +// @public +export interface CheckResourceNameResult { + name?: string; + status?: ResourceNameStatus; + type?: string; +} + +// @public +export interface CloudError { + error?: ErrorResponse; +} + +// @public +export interface ErrorAdditionalInfo { + readonly info?: Record; + readonly type?: string; +} + +// @public +export interface ErrorResponse { + readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly code?: string; + readonly details?: ErrorResponse[]; + readonly message?: string; + readonly target?: string; +} + +// @public +export enum KnownRegionCategory { + // (undocumented) + Extended = "Extended", + // (undocumented) + Other = "Other", + // (undocumented) + Recommended = "Recommended" +} + +// @public +export enum KnownRegionType { + // (undocumented) + Logical = "Logical", + // (undocumented) + Physical = "Physical" +} + +// @public +export enum KnownResourceNameStatus { + // (undocumented) + Allowed = "Allowed", + // (undocumented) + Reserved = "Reserved" +} + +// @public +export interface Location { + readonly displayName?: string; + readonly id?: string; + metadata?: LocationMetadata; + readonly name?: string; + readonly regionalDisplayName?: string; + readonly subscriptionId?: string; + readonly type?: LocationType; +} + +// @public +export interface LocationListResult { + value?: Location[]; +} + +// @public +export interface LocationMetadata { + readonly geographyGroup?: string; + readonly homeLocation?: string; + readonly latitude?: string; + readonly longitude?: string; + pairedRegion?: PairedRegion[]; + readonly physicalLocation?: string; + readonly regionCategory?: RegionCategory; + readonly regionType?: RegionType; +} + +// @public +export type LocationType = "Region" | "EdgeZone"; + +// @public +export interface ManagedByTenant { + readonly tenantId?: string; +} + +// @public +export interface Operation { + display?: OperationDisplay; + name?: string; +} + +// @public +export interface OperationDisplay { + description?: string; + operation?: string; + provider?: string; + resource?: string; +} + +// @public +export interface OperationListResult { + nextLink?: string; + value?: Operation[]; +} + +// @public +export interface PairedRegion { + readonly id?: string; + readonly name?: string; + readonly subscriptionId?: string; +} + +// @public +export type RegionCategory = string; + +// @public +export type RegionType = string; + +// @public +export interface ResourceName { + name: string; + type: string; +} + +// @public +export type ResourceNameStatus = string; + +// @public +export type SpendingLimit = "On" | "Off" | "CurrentPeriodOff"; + +// @public +export interface Subscription { + authorizationSource?: string; + readonly displayName?: string; + readonly id?: string; + managedByTenants?: ManagedByTenant[]; + readonly state?: SubscriptionState; + readonly subscriptionId?: string; + subscriptionPolicies?: SubscriptionPolicies; + tags?: { + [propertyName: string]: string; + }; + readonly tenantId?: string; +} + +// @public (undocumented) +export class SubscriptionClient extends SubscriptionClientContext { + constructor(credentials: coreAuth.TokenCredential, options?: SubscriptionClientOptionalParams); + checkResourceName(options?: SubscriptionClientCheckResourceNameOptionalParams): Promise; + // (undocumented) + subscriptions: Subscriptions; + // (undocumented) + tenants: Tenants; +} + +// @public +export interface SubscriptionClientCheckResourceNameOptionalParams extends coreClient.OperationOptions { + resourceNameDefinition?: ResourceName; +} + +// @public +export type SubscriptionClientCheckResourceNameResponse = CheckResourceNameResult; + +// @public (undocumented) +export class SubscriptionClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, options?: SubscriptionClientOptionalParams); + // (undocumented) + apiVersion: string; +} + +// @public +export interface SubscriptionClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export interface SubscriptionListResult { + nextLink: string; + value?: Subscription[]; +} + +// @public +export interface SubscriptionPolicies { + readonly locationPlacementId?: string; + readonly quotaId?: string; + readonly spendingLimit?: SpendingLimit; +} + +// @public +export interface Subscriptions { + get(subscriptionId: string, options?: SubscriptionsGetOptionalParams): Promise; + list(options?: SubscriptionsListOptionalParams): PagedAsyncIterableIterator; + listLocations(subscriptionId: string, options?: SubscriptionsListLocationsOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SubscriptionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SubscriptionsGetResponse = Subscription; + +// @public +export interface SubscriptionsListLocationsOptionalParams extends coreClient.OperationOptions { + includeExtendedLocations?: boolean; +} + +// @public +export type SubscriptionsListLocationsResponse = LocationListResult; + +// @public +export interface SubscriptionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SubscriptionsListNextResponse = SubscriptionListResult; + +// @public +export interface SubscriptionsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SubscriptionsListResponse = SubscriptionListResult; + +// @public +export type SubscriptionState = "Enabled" | "Warned" | "PastDue" | "Disabled" | "Deleted"; + +// @public +export type TenantCategory = "Home" | "ProjectedBy" | "ManagedBy"; + +// @public +export interface TenantIdDescription { + readonly country?: string; + readonly countryCode?: string; + readonly defaultDomain?: string; + readonly displayName?: string; + readonly domains?: string[]; + readonly id?: string; + readonly tenantBrandingLogoUrl?: string; + readonly tenantCategory?: TenantCategory; + readonly tenantId?: string; + readonly tenantType?: string; +} + +// @public +export interface TenantListResult { + nextLink: string; + value?: TenantIdDescription[]; +} + +// @public +export interface Tenants { + list(options?: TenantsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface TenantsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TenantsListNextResponse = TenantListResult; + +// @public +export interface TenantsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TenantsListResponse = TenantListResult; + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/rollup.config.js b/sdk/resources-subscriptions/arm-resources-subscriptions/rollup.config.js new file mode 100644 index 000000000000..9be1955eb7f1 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/rollup.config.js @@ -0,0 +1,188 @@ +/* + * 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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler + +/** + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. + */ + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/index.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/index.ts new file mode 100644 index 000000000000..5dc972cbaeef --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { SubscriptionClient } from "./subscriptionClient"; +export { SubscriptionClientContext } from "./subscriptionClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/index.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/index.ts new file mode 100644 index 000000000000..c4fe0bbc0be8 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/index.ts @@ -0,0 +1,470 @@ +/* + * 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"; + +/** Location list operation response. */ +export interface LocationListResult { + /** An array of locations. */ + value?: Location[]; +} + +/** Location information. */ +export interface Location { + /** + * The fully qualified ID of the location. For example, /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The subscription ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly subscriptionId?: string; + /** + * The location name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The location type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: LocationType; + /** + * The display name of the location. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayName?: string; + /** + * The display name of the location and its region. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly regionalDisplayName?: string; + /** Metadata of the location, such as lat/long, paired region, and others. */ + metadata?: LocationMetadata; +} + +/** Location metadata information */ +export interface LocationMetadata { + /** + * The type of the region. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly regionType?: RegionType; + /** + * The category of the region. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly regionCategory?: RegionCategory; + /** + * The geography group of the location. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly geographyGroup?: string; + /** + * The longitude of the location. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly longitude?: string; + /** + * The latitude of the location. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly latitude?: string; + /** + * The physical location of the Azure location. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly physicalLocation?: string; + /** The regions paired to this region. */ + pairedRegion?: PairedRegion[]; + /** + * The home location of an edge zone. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly homeLocation?: string; +} + +/** Information regarding paired region. */ +export interface PairedRegion { + /** + * The name of the paired region. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The fully qualified ID of the location. For example, /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The subscription ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly subscriptionId?: string; +} + +/** An error response for a resource management request. */ +export interface CloudError { + /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */ + error?: ErrorResponse; +} + +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */ +export interface ErrorResponse { + /** + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; + /** + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly target?: string; + /** + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly details?: ErrorResponse[]; + /** + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly additionalInfo?: ErrorAdditionalInfo[]; +} + +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { + /** + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly info?: Record; +} + +/** Subscription information. */ +export interface Subscription { + /** + * The fully qualified ID for the subscription. For example, /subscriptions/00000000-0000-0000-0000-000000000000. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The subscription ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly subscriptionId?: string; + /** + * The subscription display name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayName?: string; + /** + * The subscription tenant ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tenantId?: string; + /** + * The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly state?: SubscriptionState; + /** The subscription policies. */ + subscriptionPolicies?: SubscriptionPolicies; + /** The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management. For example, 'Legacy, RoleBased'. */ + authorizationSource?: string; + /** An array containing the tenants managing the subscription. */ + managedByTenants?: ManagedByTenant[]; + /** The tags attached to the subscription. */ + tags?: { [propertyName: string]: string }; +} + +/** Subscription policies. */ +export interface SubscriptionPolicies { + /** + * The subscription location placement ID. The ID indicates which regions are visible for a subscription. For example, a subscription with a location placement Id of Public_2014-09-01 has access to Azure public regions. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly locationPlacementId?: string; + /** + * The subscription quota ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly quotaId?: string; + /** + * The subscription spending limit. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly spendingLimit?: SpendingLimit; +} + +/** Information about a tenant managing the subscription. */ +export interface ManagedByTenant { + /** + * The tenant ID of the managing tenant. This is a GUID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tenantId?: string; +} + +/** Subscription list operation response. */ +export interface SubscriptionListResult { + /** An array of subscriptions. */ + value?: Subscription[]; + /** The URL to get the next set of results. */ + nextLink: string; +} + +/** Tenant Ids information. */ +export interface TenantListResult { + /** An array of tenants. */ + value?: TenantIdDescription[]; + /** The URL to use for getting the next set of results. */ + nextLink: string; +} + +/** Tenant Id information. */ +export interface TenantIdDescription { + /** + * The fully qualified ID of the tenant. For example, /tenants/00000000-0000-0000-0000-000000000000. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The tenant ID. For example, 00000000-0000-0000-0000-000000000000. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tenantId?: string; + /** + * Category of the tenant. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tenantCategory?: TenantCategory; + /** + * Country/region name of the address for the tenant. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly country?: string; + /** + * Country/region abbreviation for the tenant. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly countryCode?: string; + /** + * The display name of the tenant. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayName?: string; + /** + * The list of domains for the tenant. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly domains?: string[]; + /** + * The default domain for the tenant. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly defaultDomain?: string; + /** + * The tenant type. Only available for 'Home' tenant category. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tenantType?: string; + /** + * The tenant's branding logo URL. Only available for 'Home' tenant category. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly tenantBrandingLogoUrl?: string; +} + +/** Name and Type of the Resource */ +export interface ResourceName { + /** Name of the resource */ + name: string; + /** The type of the resource */ + type: string; +} + +/** Resource Name valid if not a reserved word, does not contain a reserved word and does not start with a reserved word */ +export interface CheckResourceNameResult { + /** Name of Resource */ + name?: string; + /** Type of Resource */ + type?: string; + /** Is the resource name Allowed or Reserved */ + status?: ResourceNameStatus; +} + +/** Microsoft.Resources operation */ +export interface Operation { + /** Operation name: {provider}/{resource}/{operation} */ + name?: string; + /** The object that represents the operation. */ + display?: OperationDisplay; +} + +/** The object that represents the operation. */ +export interface OperationDisplay { + /** Service provider: Microsoft.Resources */ + provider?: string; + /** Resource on which the operation is performed: Profile, endpoint, etc. */ + resource?: string; + /** Operation type: Read, write, delete, etc. */ + operation?: string; + /** Description of the operation. */ + description?: string; +} + +/** Result of the request to list Microsoft.Resources operations. It contains a list of operations and a URL link to get the next set of results. */ +export interface OperationListResult { + /** List of Microsoft.Resources operations. */ + value?: Operation[]; + /** URL to get the next set of operation list results if there are any. */ + nextLink?: string; +} + +/** Known values of {@link RegionType} that the service accepts. */ +export enum KnownRegionType { + Physical = "Physical", + Logical = "Logical" +} + +/** + * Defines values for RegionType. \ + * {@link KnownRegionType} can be used interchangeably with RegionType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Physical** \ + * **Logical** + */ +export type RegionType = string; + +/** Known values of {@link RegionCategory} that the service accepts. */ +export enum KnownRegionCategory { + Recommended = "Recommended", + Extended = "Extended", + Other = "Other" +} + +/** + * Defines values for RegionCategory. \ + * {@link KnownRegionCategory} can be used interchangeably with RegionCategory, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Recommended** \ + * **Extended** \ + * **Other** + */ +export type RegionCategory = string; + +/** Known values of {@link ResourceNameStatus} that the service accepts. */ +export enum KnownResourceNameStatus { + Allowed = "Allowed", + Reserved = "Reserved" +} + +/** + * Defines values for ResourceNameStatus. \ + * {@link KnownResourceNameStatus} can be used interchangeably with ResourceNameStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Allowed** \ + * **Reserved** + */ +export type ResourceNameStatus = string; +/** Defines values for LocationType. */ +export type LocationType = "Region" | "EdgeZone"; +/** Defines values for SubscriptionState. */ +export type SubscriptionState = + | "Enabled" + | "Warned" + | "PastDue" + | "Disabled" + | "Deleted"; +/** Defines values for SpendingLimit. */ +export type SpendingLimit = "On" | "Off" | "CurrentPeriodOff"; +/** Defines values for TenantCategory. */ +export type TenantCategory = "Home" | "ProjectedBy" | "ManagedBy"; + +/** Optional parameters. */ +export interface SubscriptionsListLocationsOptionalParams + extends coreClient.OperationOptions { + /** Whether to include extended locations. */ + includeExtendedLocations?: boolean; +} + +/** Contains response data for the listLocations operation. */ +export type SubscriptionsListLocationsResponse = LocationListResult; + +/** Optional parameters. */ +export interface SubscriptionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SubscriptionsGetResponse = Subscription; + +/** Optional parameters. */ +export interface SubscriptionsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type SubscriptionsListResponse = SubscriptionListResult; + +/** Optional parameters. */ +export interface SubscriptionsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type SubscriptionsListNextResponse = SubscriptionListResult; + +/** Optional parameters. */ +export interface TenantsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type TenantsListResponse = TenantListResult; + +/** Optional parameters. */ +export interface TenantsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type TenantsListNextResponse = TenantListResult; + +/** Optional parameters. */ +export interface SubscriptionClientCheckResourceNameOptionalParams + extends coreClient.OperationOptions { + /** Resource object with values for resource name and resource type */ + resourceNameDefinition?: ResourceName; +} + +/** Contains response data for the checkResourceName operation. */ +export type SubscriptionClientCheckResourceNameResponse = CheckResourceNameResult; + +/** Optional parameters. */ +export interface SubscriptionClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/mappers.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/mappers.ts new file mode 100644 index 000000000000..3bc2da2a3652 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/mappers.ts @@ -0,0 +1,682 @@ +/* + * 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 LocationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LocationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Location" + } + } + } + } + } + } +}; + +export const Location: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Location", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + subscriptionId: { + serializedName: "subscriptionId", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Region", "EdgeZone"] + } + }, + displayName: { + serializedName: "displayName", + readOnly: true, + type: { + name: "String" + } + }, + regionalDisplayName: { + serializedName: "regionalDisplayName", + readOnly: true, + type: { + name: "String" + } + }, + metadata: { + serializedName: "metadata", + type: { + name: "Composite", + className: "LocationMetadata" + } + } + } + } +}; + +export const LocationMetadata: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LocationMetadata", + modelProperties: { + regionType: { + serializedName: "regionType", + readOnly: true, + type: { + name: "String" + } + }, + regionCategory: { + serializedName: "regionCategory", + readOnly: true, + type: { + name: "String" + } + }, + geographyGroup: { + serializedName: "geographyGroup", + readOnly: true, + type: { + name: "String" + } + }, + longitude: { + serializedName: "longitude", + readOnly: true, + type: { + name: "String" + } + }, + latitude: { + serializedName: "latitude", + readOnly: true, + type: { + name: "String" + } + }, + physicalLocation: { + serializedName: "physicalLocation", + readOnly: true, + type: { + name: "String" + } + }, + pairedRegion: { + serializedName: "pairedRegion", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PairedRegion" + } + } + } + }, + homeLocation: { + serializedName: "homeLocation", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PairedRegion: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PairedRegion", + modelProperties: { + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + subscriptionId: { + serializedName: "subscriptionId", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const CloudError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorResponse" + } + } + } + } +}; + +export const ErrorResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + }, + target: { + serializedName: "target", + readOnly: true, + type: { + name: "String" + } + }, + details: { + serializedName: "details", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorResponse" + } + } + } + }, + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo" + } + } + } + } + } + } +}; + +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + modelProperties: { + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + info: { + serializedName: "info", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const Subscription: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Subscription", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + subscriptionId: { + serializedName: "subscriptionId", + readOnly: true, + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + readOnly: true, + type: { + name: "String" + } + }, + tenantId: { + serializedName: "tenantId", + readOnly: true, + type: { + name: "String" + } + }, + state: { + serializedName: "state", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Enabled", "Warned", "PastDue", "Disabled", "Deleted"] + } + }, + subscriptionPolicies: { + serializedName: "subscriptionPolicies", + type: { + name: "Composite", + className: "SubscriptionPolicies" + } + }, + authorizationSource: { + serializedName: "authorizationSource", + type: { + name: "String" + } + }, + managedByTenants: { + serializedName: "managedByTenants", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedByTenant" + } + } + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const SubscriptionPolicies: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SubscriptionPolicies", + modelProperties: { + locationPlacementId: { + serializedName: "locationPlacementId", + readOnly: true, + type: { + name: "String" + } + }, + quotaId: { + serializedName: "quotaId", + readOnly: true, + type: { + name: "String" + } + }, + spendingLimit: { + serializedName: "spendingLimit", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["On", "Off", "CurrentPeriodOff"] + } + } + } + } +}; + +export const ManagedByTenant: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedByTenant", + modelProperties: { + tenantId: { + serializedName: "tenantId", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const SubscriptionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SubscriptionListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Subscription" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const TenantListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TenantListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TenantIdDescription" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const TenantIdDescription: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TenantIdDescription", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + tenantId: { + serializedName: "tenantId", + readOnly: true, + type: { + name: "String" + } + }, + tenantCategory: { + serializedName: "tenantCategory", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Home", "ProjectedBy", "ManagedBy"] + } + }, + country: { + serializedName: "country", + readOnly: true, + type: { + name: "String" + } + }, + countryCode: { + serializedName: "countryCode", + readOnly: true, + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + readOnly: true, + type: { + name: "String" + } + }, + domains: { + serializedName: "domains", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + defaultDomain: { + serializedName: "defaultDomain", + readOnly: true, + type: { + name: "String" + } + }, + tenantType: { + serializedName: "tenantType", + readOnly: true, + type: { + name: "String" + } + }, + tenantBrandingLogoUrl: { + serializedName: "tenantBrandingLogoUrl", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ResourceName: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceName", + modelProperties: { + name: { + serializedName: "name", + required: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const CheckResourceNameResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CheckResourceNameResult", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const Operation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Operation", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + } + } + } +}; + +export const OperationDisplay: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + serializedName: "provider", + type: { + name: "String" + } + }, + resource: { + serializedName: "resource", + type: { + name: "String" + } + }, + operation: { + serializedName: "operation", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const OperationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/parameters.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/parameters.ts new file mode 100644 index 000000000000..6ae1bccccf87 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/models/parameters.ts @@ -0,0 +1,100 @@ +/* + * 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 { ResourceName as ResourceNameMapper } from "../models/mappers"; + +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: { + serializedName: "subscriptionId", + required: true, + type: { + name: "String" + } + } +}; + +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2021-01-01", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const includeExtendedLocations: OperationQueryParameter = { + parameterPath: ["options", "includeExtendedLocations"], + mapper: { + serializedName: "includeExtendedLocations", + type: { + name: "Boolean" + } + } +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", + mapper: { + serializedName: "nextLink", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], + mapper: { + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", + type: { + name: "String" + } + } +}; + +export const resourceNameDefinition: OperationParameter = { + parameterPath: ["options", "resourceNameDefinition"], + mapper: ResourceNameMapper +}; diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/index.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/index.ts new file mode 100644 index 000000000000..6c722ac4853c --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/index.ts @@ -0,0 +1,10 @@ +/* + * 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 "./subscriptions"; +export * from "./tenants"; diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/subscriptions.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/subscriptions.ts new file mode 100644 index 000000000000..3a1ce8bd44ad --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/subscriptions.ts @@ -0,0 +1,250 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Subscriptions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SubscriptionClientContext } from "../subscriptionClientContext"; +import { + Location, + SubscriptionsListLocationsOptionalParams, + Subscription, + SubscriptionsListNextOptionalParams, + SubscriptionsListOptionalParams, + SubscriptionsListLocationsResponse, + SubscriptionsGetOptionalParams, + SubscriptionsGetResponse, + SubscriptionsListResponse, + SubscriptionsListNextResponse +} from "../models"; + +/// +/** Class containing Subscriptions operations. */ +export class SubscriptionsImpl implements Subscriptions { + private readonly client: SubscriptionClientContext; + + /** + * Initialize a new instance of the class Subscriptions class. + * @param client Reference to the service client + */ + constructor(client: SubscriptionClientContext) { + this.client = client; + } + + /** + * This operation provides all the locations that are available for resource providers; however, each + * resource provider may support a subset of this list. + * @param subscriptionId The ID of the target subscription. + * @param options The options parameters. + */ + public listLocations( + subscriptionId: string, + options?: SubscriptionsListLocationsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listLocationsPagingAll(subscriptionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listLocationsPagingPage(subscriptionId, options); + } + }; + } + + private async *listLocationsPagingPage( + subscriptionId: string, + options?: SubscriptionsListLocationsOptionalParams + ): AsyncIterableIterator { + let result = await this._listLocations(subscriptionId, options); + yield result.value || []; + } + + private async *listLocationsPagingAll( + subscriptionId: string, + options?: SubscriptionsListLocationsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listLocationsPagingPage( + subscriptionId, + options + )) { + yield* page; + } + } + + /** + * Gets all subscriptions for a tenant. + * @param options The options parameters. + */ + public list( + options?: SubscriptionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: SubscriptionsListOptionalParams + ): 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?: SubscriptionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * This operation provides all the locations that are available for resource providers; however, each + * resource provider may support a subset of this list. + * @param subscriptionId The ID of the target subscription. + * @param options The options parameters. + */ + private _listLocations( + subscriptionId: string, + options?: SubscriptionsListLocationsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { subscriptionId, options }, + listLocationsOperationSpec + ); + } + + /** + * Gets details about a specified subscription. + * @param subscriptionId The ID of the target subscription. + * @param options The options parameters. + */ + get( + subscriptionId: string, + options?: SubscriptionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { subscriptionId, options }, + getOperationSpec + ); + } + + /** + * Gets all subscriptions for a tenant. + * @param options The options parameters. + */ + private _list( + options?: SubscriptionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: SubscriptionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listLocationsOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/locations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LocationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.includeExtendedLocations], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Subscription + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SubscriptionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SubscriptionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/tenants.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/tenants.ts new file mode 100644 index 000000000000..9f36744a7328 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operations/tenants.ts @@ -0,0 +1,138 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Tenants } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SubscriptionClientContext } from "../subscriptionClientContext"; +import { + TenantIdDescription, + TenantsListNextOptionalParams, + TenantsListOptionalParams, + TenantsListResponse, + TenantsListNextResponse +} from "../models"; + +/// +/** Class containing Tenants operations. */ +export class TenantsImpl implements Tenants { + private readonly client: SubscriptionClientContext; + + /** + * Initialize a new instance of the class Tenants class. + * @param client Reference to the service client + */ + constructor(client: SubscriptionClientContext) { + this.client = client; + } + + /** + * Gets the tenants for your account. + * @param options The options parameters. + */ + public list( + options?: TenantsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: TenantsListOptionalParams + ): 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?: TenantsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Gets the tenants for your account. + * @param options The options parameters. + */ + private _list( + options?: TenantsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: TenantsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/tenants", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TenantListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TenantListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/index.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..6c722ac4853c --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/index.ts @@ -0,0 +1,10 @@ +/* + * 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 "./subscriptions"; +export * from "./tenants"; diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/subscriptions.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/subscriptions.ts new file mode 100644 index 000000000000..6db2b8363730 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/subscriptions.ts @@ -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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Location, + SubscriptionsListLocationsOptionalParams, + Subscription, + SubscriptionsListOptionalParams, + SubscriptionsGetOptionalParams, + SubscriptionsGetResponse +} from "../models"; + +/// +/** Interface representing a Subscriptions. */ +export interface Subscriptions { + /** + * This operation provides all the locations that are available for resource providers; however, each + * resource provider may support a subset of this list. + * @param subscriptionId The ID of the target subscription. + * @param options The options parameters. + */ + listLocations( + subscriptionId: string, + options?: SubscriptionsListLocationsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets all subscriptions for a tenant. + * @param options The options parameters. + */ + list( + options?: SubscriptionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets details about a specified subscription. + * @param subscriptionId The ID of the target subscription. + * @param options The options parameters. + */ + get( + subscriptionId: string, + options?: SubscriptionsGetOptionalParams + ): Promise; +} diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/tenants.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/tenants.ts new file mode 100644 index 000000000000..db9550258085 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/operationsInterfaces/tenants.ts @@ -0,0 +1,23 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { TenantIdDescription, TenantsListOptionalParams } from "../models"; + +/// +/** Interface representing a Tenants. */ +export interface Tenants { + /** + * Gets the tenants for your account. + * @param options The options parameters. + */ + list( + options?: TenantsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/subscriptionClient.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/subscriptionClient.ts new file mode 100644 index 000000000000..7fa6d5d86ed3 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/subscriptionClient.ts @@ -0,0 +1,74 @@ +/* + * 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 { SubscriptionsImpl, TenantsImpl } from "./operations"; +import { Subscriptions, Tenants } from "./operationsInterfaces"; +import * as Parameters from "./models/parameters"; +import * as Mappers from "./models/mappers"; +import { SubscriptionClientContext } from "./subscriptionClientContext"; +import { + SubscriptionClientOptionalParams, + SubscriptionClientCheckResourceNameOptionalParams, + SubscriptionClientCheckResourceNameResponse +} from "./models"; + +export class SubscriptionClient extends SubscriptionClientContext { + /** + * Initializes a new instance of the SubscriptionClient class. + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param options The parameter options + */ + constructor( + credentials: coreAuth.TokenCredential, + options?: SubscriptionClientOptionalParams + ) { + super(credentials, options); + this.subscriptions = new SubscriptionsImpl(this); + this.tenants = new TenantsImpl(this); + } + + /** + * A resource name is valid if it is not a reserved word, does not contains a reserved word and does + * not start with a reserved word + * @param options The options parameters. + */ + checkResourceName( + options?: SubscriptionClientCheckResourceNameOptionalParams + ): Promise { + return this.sendOperationRequest( + { options }, + checkResourceNameOperationSpec + ); + } + + subscriptions: Subscriptions; + tenants: Tenants; +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const checkResourceNameOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Resources/checkResourceName", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.CheckResourceNameResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.resourceNameDefinition, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/src/subscriptionClientContext.ts b/sdk/resources-subscriptions/arm-resources-subscriptions/src/subscriptionClientContext.ts new file mode 100644 index 000000000000..7bc06470b4bd --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/src/subscriptionClientContext.ts @@ -0,0 +1,62 @@ +/* + * 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 { SubscriptionClientOptionalParams } from "./models"; + +export class SubscriptionClientContext extends coreClient.ServiceClient { + $host: string; + apiVersion: string; + + /** + * Initializes a new instance of the SubscriptionClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param options The parameter options + */ + constructor( + credentials: coreAuth.TokenCredential, + options?: SubscriptionClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); + } + + // Initializing default values for options + if (!options) { + options = {}; + } + const defaults: SubscriptionClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; + + const packageDetails = `azsdk-js-arm-resources-subscriptions/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); + + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.apiVersion = options.apiVersion || "2021-01-01"; + } +} diff --git a/sdk/resources-subscriptions/arm-resources-subscriptions/tsconfig.json b/sdk/resources-subscriptions/arm-resources-subscriptions/tsconfig.json new file mode 100644 index 000000000000..603440b3a359 --- /dev/null +++ b/sdk/resources-subscriptions/arm-resources-subscriptions/tsconfig.json @@ -0,0 +1,19 @@ +{ + "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 + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/resources-subscriptions/ci.yml b/sdk/resources-subscriptions/ci.yml new file mode 100644 index 000000000000..fc4b617b6bf1 --- /dev/null +++ b/sdk/resources-subscriptions/ci.yml @@ -0,0 +1,29 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. +trigger: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/resources-subscriptions/ + +pr: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/resources-subscriptions/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: resources-subscriptions + Artifacts: + - name: azure-arm-resources-subscriptions + safeName: azurearmresourcessubscriptions + \ No newline at end of file diff --git a/sdk/resources/arm-resources-profile-2020-09-01-hybrid/README.md b/sdk/resources/arm-resources-profile-2020-09-01-hybrid/README.md index a1247d73f7a3..a00a66b57ad7 100644 --- a/sdk/resources/arm-resources-profile-2020-09-01-hybrid/README.md +++ b/sdk/resources/arm-resources-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ResourceManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/resources/arm-resources-profile-hybrid-2019-03-01/README.md b/sdk/resources/arm-resources-profile-hybrid-2019-03-01/README.md index 0fdd24721776..769a53c164e8 100644 --- a/sdk/resources/arm-resources-profile-hybrid-2019-03-01/README.md +++ b/sdk/resources/arm-resources-profile-hybrid-2019-03-01/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ResourceManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/resources/arm-resources/CHANGELOG.md b/sdk/resources/arm-resources/CHANGELOG.md index 940771d1f9c9..02801a2297e6 100644 --- a/sdk/resources/arm-resources/CHANGELOG.md +++ b/sdk/resources/arm-resources/CHANGELOG.md @@ -1,3 +1,21 @@ +# Release History + +## 30.0.0-beta.3 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.2 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + ## 30.0.0-beta.1 (2021-07-15) This is the first preview for the new version of the `@azure/arm-resources` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. diff --git a/sdk/resources/arm-resources/README.md b/sdk/resources/arm-resources/README.md index 4bafd5b788c3..971194fe1a5f 100644 --- a/sdk/resources/arm-resources/README.md +++ b/sdk/resources/arm-resources/README.md @@ -47,7 +47,8 @@ Set the values of the client ID, tenant ID, and client secret of the AAD applica ```javascript const { ResourceManagementClient } = require("@azure/arm-resources"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new ResourceManagementClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new ResourceManagementClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts diff --git a/sdk/resources/arm-resources/package.json b/sdk/resources/arm-resources/package.json index 7769953c1863..f13b0e863082 100644 --- a/sdk/resources/arm-resources/package.json +++ b/sdk/resources/arm-resources/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for ResourceManagementClient.", - "version": "30.0.0-beta.1", + "version": "30.0.0-beta.3", "engines": { "node": ">=12.0.0" }, diff --git a/sdk/resources/arm-resources/src/resourceManagementClientContext.ts b/sdk/resources/arm-resources/src/resourceManagementClientContext.ts index 8e455ef91205..d170a0d57f8a 100644 --- a/sdk/resources/arm-resources/src/resourceManagementClientContext.ts +++ b/sdk/resources/arm-resources/src/resourceManagementClientContext.ts @@ -42,7 +42,7 @@ export class ResourceManagementClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-resources/30.0.0-beta.1`; + const packageDetails = `azsdk-js-arm-resources/30.0.0-beta.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/schemaregistry/schema-registry-avro/CHANGELOG.md b/sdk/schemaregistry/schema-registry-avro/CHANGELOG.md index cd93f6e5b8cc..cec37c91c27a 100644 --- a/sdk/schemaregistry/schema-registry-avro/CHANGELOG.md +++ b/sdk/schemaregistry/schema-registry-avro/CHANGELOG.md @@ -1,7 +1,20 @@ # Release History -## 1.0.0-beta.2 (Unreleased) +## 1.0.0-beta.3 (Unreleased) +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.2 (2021-08-17) + +### Features Added + +- Depends on @azure/schema-registry@1.0.0-beta.2 which supports client-level caching. ## 1.0.0-beta.1 (2020-09-08) diff --git a/sdk/schemaregistry/schema-registry-avro/karma.conf.js b/sdk/schemaregistry/schema-registry-avro/karma.conf.js index 924de4090398..1cd8e216a640 100644 --- a/sdk/schemaregistry/schema-registry-avro/karma.conf.js +++ b/sdk/schemaregistry/schema-registry-avro/karma.conf.js @@ -4,6 +4,12 @@ // https://github.com/karma-runner/karma-chrome-launcher process.env.CHROME_BIN = require("puppeteer").executablePath(); require("dotenv").config(); +const { + jsonRecordingFilterFunction, + isPlaybackMode, + isSoftRecordMode, + isRecordMode +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ @@ -12,7 +18,7 @@ module.exports = function(config) { // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ["mocha"], + frameworks: ["source-map-support", "mocha"], plugins: [ "karma-mocha", @@ -24,14 +30,17 @@ module.exports = function(config) { "karma-env-preprocessor", "karma-coverage", "karma-sourcemap-loader", - "karma-junit-reporter" + "karma-junit-reporter", + "karma-json-to-file-reporter", + "karma-source-map-support", + "karma-json-preprocessor" ], // list of files / patterns to load in the browser files: [ "dist-test/index.browser.js", { pattern: "dist-test/index.browser.js.map", type: "html", included: false, served: true } - ], + ].concat(isPlaybackMode() || isSoftRecordMode() ? ["recordings/browsers/**/*.json"] : []), // list of files / patterns to exclude exclude: [], @@ -39,7 +48,8 @@ module.exports = function(config) { // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { - "**/*.js": ["env"] + "**/*.js": ["sourcemap", "env"], + "recordings/browsers/**/*.json": ["json"] // IMPORTANT: COMMENT following line if you want to debug in your browsers!! // Preprocess source file to calculate code coverage, however this will make source file unreadable // "dist-test/index.js": ["coverage"] @@ -56,7 +66,7 @@ module.exports = function(config) { // test results reporter to use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ["mocha", "coverage", "junit"], + reporters: ["mocha", "coverage", "junit", "json-to-file"], coverageReporter: { // specify a common output directory @@ -79,6 +89,11 @@ module.exports = function(config) { properties: {} // key value pair of properties to add to the section of the report }, + jsonToFileReporter: { + filter: jsonRecordingFilterFunction, + outputPath: "." + }, + // web server port port: 9876, @@ -113,6 +128,9 @@ module.exports = function(config) { browserNoActivityTimeout: 600000, browserDisconnectTimeout: 10000, browserDisconnectTolerance: 3, + browserConsoleLogOptions: { + terminal: !isRecordMode() + }, client: { mocha: { diff --git a/sdk/schemaregistry/schema-registry-avro/package.json b/sdk/schemaregistry/schema-registry-avro/package.json index 03fb93a91999..d829c0b171da 100644 --- a/sdk/schemaregistry/schema-registry-avro/package.json +++ b/sdk/schemaregistry/schema-registry-avro/package.json @@ -1,36 +1,37 @@ { "name": "@azure/schema-registry-avro", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "description": "Schema Registry Avro Serializer Library with typescript type definitions for node.js and browser.", "sdk-type": "client", "main": "dist/index.js", "module": "dist-esm/src/index.js", - "browser": {}, - "types": "types/schema-registry-avro.d.ts", + "browser": { + "./dist-esm/src/utils/buffer.js": "./dist-esm/src/utils/buffer.browser.js" + }, + "types": "types/schema-registry-avro.shims.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* temp types *.tgz *.log", + "clean": "rimraf dist dist-* temp \"types/!(schema-registry-avro.shims.d.ts)\" *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", - "integration-test:browser": "karma start --single-run", - "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 5000000 --full-trace dist-esm/test/**/*.spec.js", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", "unit-test:browser": "karma start --single-run", - "unit-test:node": "mocha --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace dist-test/index.node.js", + "unit-test:node": "mocha -r esm -r ts-node/register -r source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/{,!(browser)/**/}*.spec.ts\"", "unit-test": "npm run unit-test:node && npm run unit-test:browser", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src" }, @@ -38,6 +39,7 @@ "dist/", "dist-esm/src/", "types/schema-registry-avro.d.ts", + "types/schema-registry-avro.shims.d.ts", "README.md", "LICENSE" ], @@ -70,26 +72,19 @@ } }, "dependencies": { - "@azure/schema-registry": "1.0.0-beta.2", - "@azure/core-http": "^2.0.0", - "@azure/core-tracing": "1.0.0-preview.13", - "@azure/logger": "^1.0.0", + "@azure/schema-registry": "1.0.0-beta.3", "avsc": "^5.5.1", - "tslib": "^2.2.0", - "buffer": "^5.2.1", - "process": "^0.11.10" + "buffer": "^6.0.0", + "tslib": "^2.2.0" }, "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", - "@azure/test-utils-recorder": "^1.0.0", - "@microsoft/api-extractor": "7.7.11", + "@azure/identity": "2.0.0-beta.6", + "@azure-tools/test-recorder": "^1.0.0", + "@microsoft/api-extractor": "^7.18.7", "@rollup/plugin-commonjs": "11.0.2", - "@rollup/plugin-json": "^4.0.0", "@rollup/plugin-inject": "^4.0.0", - "@rollup/plugin-multi-entry": "^3.0.0", - "@rollup/plugin-node-resolve": "^8.0.0", "@rollup/plugin-replace": "^2.2.0", "@types/chai": "^4.1.6", "@types/chai-as-promised": "^7.1.0", @@ -113,6 +108,7 @@ "karma-mocha": "^2.0.1", "karma-mocha-reporter": "^2.2.5", "karma-sourcemap-loader": "^0.3.8", + "karma-source-map-support": "~1.4.0", "mocha": "^7.1.1", "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", @@ -120,9 +116,6 @@ "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", - "rollup-plugin-sourcemaps": "^0.4.2", - "rollup-plugin-terser": "^5.1.1", - "rollup-plugin-visualizer": "^4.0.4", "source-map-support": "^0.5.9", "typescript": "~4.2.0", "typedoc": "0.15.2" diff --git a/sdk/schemaregistry/schema-registry-avro/review/schema-registry-avro.api.md b/sdk/schemaregistry/schema-registry-avro/review/schema-registry-avro.api.md index e0200ba6e43a..8a2a97833133 100644 --- a/sdk/schemaregistry/schema-registry-avro/review/schema-registry-avro.api.md +++ b/sdk/schemaregistry/schema-registry-avro/review/schema-registry-avro.api.md @@ -4,13 +4,15 @@ ```ts +/// + import { SchemaRegistry } from '@azure/schema-registry'; // @public export class SchemaRegistryAvroSerializer { - constructor(registry: SchemaRegistry, schemaGroup: string, options?: SchemaRegistryAvroSerializerOptions); - deserialize(buffer: Buffer): Promise; - serialize(value: unknown, schema: string): Promise; + constructor(client: SchemaRegistry, groupName: string, options?: SchemaRegistryAvroSerializerOptions); + deserialize(input: Buffer | Blob | Uint8Array): Promise; + serialize(value: unknown, schema: string): Promise; } // @public @@ -18,7 +20,6 @@ export interface SchemaRegistryAvroSerializerOptions { autoRegisterSchemas?: boolean; } - // (No @packageDocumentation comment for this package) ``` diff --git a/sdk/schemaregistry/schema-registry-avro/rollup.base.config.js b/sdk/schemaregistry/schema-registry-avro/rollup.base.config.js deleted file mode 100644 index edc1d162b961..000000000000 --- a/sdk/schemaregistry/schema-registry-avro/rollup.base.config.js +++ /dev/null @@ -1,157 +0,0 @@ -import cjs from "@rollup/plugin-commonjs"; -import json from "@rollup/plugin-json"; -import multiEntry from "@rollup/plugin-multi-entry"; -import nodeResolve from "@rollup/plugin-node-resolve"; -import replace from "@rollup/plugin-replace"; -import path from "path"; -import shim from "rollup-plugin-shim"; -import sourcemaps from "rollup-plugin-sourcemaps"; -import { terser } from "rollup-plugin-terser"; -import viz from "rollup-plugin-visualizer"; -import inject from "@rollup/plugin-inject"; -import { openTelemetryCommonJs } from "@azure/dev-tool/shared-config/rollup"; - -const pkg = require("./package.json"); -const depNames = Object.keys(pkg.dependencies); -const devDepNames = Object.keys(pkg.devDependencies); -const input = "dist-esm/src/index.js"; -const production = process.env.NODE_ENV === "production"; - -export function nodeConfig(test = false) { - const externalNodeBuiltins = [ - "fs", - "util", - "stream", - "zlib", - "crypto", - "path", - "events", - "process" - ]; - const baseConfig = { - input: input, - external: depNames.concat(externalNodeBuiltins), - output: { file: "dist/index.js", format: "cjs", sourcemap: true }, - preserveSymlinks: false, - plugins: [ - sourcemaps(), - replace({ - delimiters: ["", ""], - // replace dynamic checks with if (true) since this is for node only. - // Allows rollup's dead code elimination to be more aggressive. - "if (isNode)": "if (true)" - }), - nodeResolve({ preferBuiltins: true }), - json(), - cjs({ - namedExports: { - ...openTelemetryCommonJs() - } - }) - ] - }; - - if (test) { - // Entry points - test files under the `test` folder(common for both browser and node), node specific test files - baseConfig.input = ["dist-esm/test/*.spec.js", "dist-esm/test/node/*.spec.js"]; - baseConfig.plugins.unshift(multiEntry({ exports: false })); - - // different output file - baseConfig.output.file = "dist-test/index.node.js"; - - // mark devdeps as external - baseConfig.external.push(...devDepNames); - - // 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. - baseConfig.treeshake = false; - } else if (production) { - baseConfig.plugins.push(terser()); - } - - return baseConfig; -} - -export function browserConfig(test = false, production = false) { - const baseConfig = { - input: input, - output: { - file: "dist-browser/azure-schema-registry-avro.js", - format: "umd", - name: "Azure.SchemaRegistryAvroSerializer", - sourcemap: true, - globals: { "@azure/core-http": "Azure.Core.HTTP" } - }, - preserveSymlinks: false, - external: ["fs-extra"], - plugins: [ - sourcemaps(), - replace({ - delimiters: ["", ""], - // replace dynamic checks with if (false) since this is for - // browser only. Rollup's dead code elimination will remove - // any code guarded by if (isNode) { ... } - "if (isNode)": "if (false)" - }), - shim({ - constants: `export default {}`, - fs: `export default {}`, - stream: `export default {}`, - zlib: `export default {}`, - crypto: `export default {}`, - os: `export default {}`, - path: `export default {}`, - dotenv: `export function config() { }` - }), - nodeResolve({ - mainFields: ["module", "browser"], - preferBuiltins: false - }), - json(), - cjs({ - namedExports: { - chai: ["assert", "expect", "use"], - ...openTelemetryCommonJs() - } - }), - inject({ - modules: { - Buffer: ["buffer", "Buffer"], - process: "process" - }, - exclude: ["./**/package.json"] - }), - viz({ filename: "dist-browser/browser-stats.html", sourcemap: false }) - ] - }; - - if (test) { - // Entry points - test files under the `test` folder(common for both browser and node), browser specific test files - baseConfig.input = ["dist-esm/test/*.spec.js", "dist-esm/test/browser/*.spec.js"]; - baseConfig.plugins.unshift(multiEntry({ exports: false })); - baseConfig.output.file = "dist-test/index.browser.js"; - - baseConfig.onwarn = (warning) => { - if ( - warning.code === "CIRCULAR_DEPENDENCY" && - warning.importer.indexOf(path.normalize("node_modules/chai/lib") === 0) - ) { - // Chai contains circular references, but they are not fatal and can be ignored. - return; - } - - console.error(`(!) ${warning.message}`); - }; - - // 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. - baseConfig.treeshake = false; - } else if (production) { - baseConfig.output.file = "dist-browser/azure-schema-registry-avro.min.js"; - baseConfig.plugins.push(terser()); - } - - return baseConfig; -} diff --git a/sdk/schemaregistry/schema-registry-avro/rollup.config.js b/sdk/schemaregistry/schema-registry-avro/rollup.config.js index 49a26bd6fdd6..5d7deee44c14 100644 --- a/sdk/schemaregistry/schema-registry-avro/rollup.config.js +++ b/sdk/schemaregistry/schema-registry-avro/rollup.config.js @@ -1,14 +1,3 @@ -import * as base from "./rollup.base.config"; +import { makeConfig } from "@azure/dev-tool/shared-config/rollup"; -const inputs = []; - -if (!process.env.ONLY_BROWSER) { - inputs.push(base.nodeConfig()); -} - -if (!process.env.ONLY_NODE) { - inputs.push(base.browserConfig()); - inputs.push(base.browserConfig(false, true)); -} - -export default inputs; +export default makeConfig(require("./package.json")); diff --git a/sdk/schemaregistry/schema-registry-avro/rollup.patched.config.js b/sdk/schemaregistry/schema-registry-avro/rollup.patched.config.js new file mode 100644 index 000000000000..efe1051e30e6 --- /dev/null +++ b/sdk/schemaregistry/schema-registry-avro/rollup.patched.config.js @@ -0,0 +1,41 @@ +// Custom configuration for the browser test that addresses the following issues: +// - avsc imports NodeJS's buffers implicitly but the browser does not +// understand that, so we inject an explicit import to the Buffer polyfill +// - avsc uses NodeJS's streams internally but it seems we do not need that part +// so we shim it out +// - the util polyfill references process internally but does not depend on the +// process polyfill, so we rewrite that line that references process + +import replace from "@rollup/plugin-replace"; +import inject from "@rollup/plugin-inject"; +import shim from "rollup-plugin-shim"; +import { makeBrowserTestConfig } from "@azure/dev-tool/shared-config/rollup"; + +export function makeBrowserTestConfigPatchProcess() { + const config = { ...makeBrowserTestConfig() }; + config.plugins.push( + replace({ + delimiters: ["", ""], + preventAssignment: true, + values: { + // the util polyfill does not explicitly depend on the process polyfill so + // we replace that util's line + // see https://github.com/browserify/node-util/issues/43 + "if (process.env.NODE_DEBUG)": "if (false)" + } + }), + inject({ + // avsc uses NodeJS's buffers so we inject an import to the browser polyfill one + exclude: "./**/package.json", + modules: { + Buffer: ["buffer", "Buffer"] + } + }), + // avsc uses NodeJS's internal streams so we shim them there. + shim({ + stream: `export default {}` + }) + ); + + return config; +} diff --git a/sdk/schemaregistry/schema-registry-avro/rollup.test.config.js b/sdk/schemaregistry/schema-registry-avro/rollup.test.config.js index 925a4421a53e..01735d0053af 100644 --- a/sdk/schemaregistry/schema-registry-avro/rollup.test.config.js +++ b/sdk/schemaregistry/schema-registry-avro/rollup.test.config.js @@ -1,3 +1,11 @@ -import * as base from "./rollup.base.config"; +import { makeConfig } from "@azure/dev-tool/shared-config/rollup"; +import * as base from "./rollup.patched.config"; -export default [base.nodeConfig(true), base.browserConfig(true)]; +const inputs = makeConfig(require("./package.json")); + +if (!process.env.ONLY_NODE) { + // replace the original test config with a patched one + inputs[1] = base.makeBrowserTestConfigPatchProcess(); +} + +export default inputs; diff --git a/sdk/schemaregistry/schema-registry-avro/samples-dev/schemaRegistryAvroSample.ts b/sdk/schemaregistry/schema-registry-avro/samples-dev/schemaRegistryAvroSample.ts index 6a0f9eeb49a3..98ad0d934251 100644 --- a/sdk/schemaregistry/schema-registry-avro/samples-dev/schemaRegistryAvroSample.ts +++ b/sdk/schemaregistry/schema-registry-avro/samples-dev/schemaRegistryAvroSample.ts @@ -15,7 +15,7 @@ dotenv.config(); // Set these environment variables or edit the following values const endpoint = process.env["SCHEMA_REGISTRY_ENDPOINT"] || ""; -const group = process.env["SCHEMA_REGISTRY_GROUP"] || "AzureSdkSampleGroup"; +const groupName = process.env["SCHEMA_REGISTRY_GROUP"] || "AzureSdkSampleGroup"; // Sample Avro Schema for user with first and last names const schemaObject = { @@ -45,9 +45,9 @@ const schema = JSON.stringify(schemaObject); // Description of the schema for registration const schemaDescription: SchemaDescription = { name: `${schemaObject.namespace}.${schemaObject.name}`, - group, - serializationType: "avro", - content: schema + groupName, + format: "avro", + definition: schema }; export async function main() { @@ -60,7 +60,7 @@ export async function main() { await client.registerSchema(schemaDescription); // Create a new serializer backed by the client - const serializer = new SchemaRegistryAvroSerializer(client, group); + const serializer = new SchemaRegistryAvroSerializer(client, groupName); // serialize an object that matches the schema const value: User = { firstName: "Jane", lastName: "Doe" }; @@ -69,7 +69,7 @@ export async function main() { console.log(buffer); // deserialize the result back to an object - const deserializedValue = await serializer.deserialize(buffer); + const deserializedValue = (await serializer.deserialize(buffer)) as User; console.log("Deserialized:"); console.log(`${deserializedValue.firstName} ${deserializedValue.lastName}`); } diff --git a/sdk/schemaregistry/schema-registry-avro/samples/v1/javascript/README.md b/sdk/schemaregistry/schema-registry-avro/samples/v1/javascript/README.md index 9b23afc6d5dd..0c724a685ec8 100644 --- a/sdk/schemaregistry/schema-registry-avro/samples/v1/javascript/README.md +++ b/sdk/schemaregistry/schema-registry-avro/samples/v1/javascript/README.md @@ -8,7 +8,7 @@ These sample programs show how to use the JavaScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). You need [an Azure subscription][freesub] and the following Azure resources to run these sample programs: diff --git a/sdk/schemaregistry/schema-registry-avro/samples/v1/javascript/package.json b/sdk/schemaregistry/schema-registry-avro/samples/v1/javascript/package.json index 788d166355a3..33194b261075 100644 --- a/sdk/schemaregistry/schema-registry-avro/samples/v1/javascript/package.json +++ b/sdk/schemaregistry/schema-registry-avro/samples/v1/javascript/package.json @@ -3,7 +3,7 @@ "private": true, "version": "1.0.0", "description": "Azure Schema Registry client library samples for JavaScript", - "engine": { + "engines": { "node": ">=12.0.0" }, "repository": { @@ -25,7 +25,7 @@ "dependencies": { "@azure/schema-registry-avro": "next", "dotenv": "latest", - "@azure/identity": "^1.1.0", + "@azure/identity": "2.0.0-beta.5", "@azure/schema-registry": "1.0.0-beta.2" } } diff --git a/sdk/schemaregistry/schema-registry-avro/samples/v1/typescript/README.md b/sdk/schemaregistry/schema-registry-avro/samples/v1/typescript/README.md index ca750e13faa3..db12db1e9280 100644 --- a/sdk/schemaregistry/schema-registry-avro/samples/v1/typescript/README.md +++ b/sdk/schemaregistry/schema-registry-avro/samples/v1/typescript/README.md @@ -8,7 +8,7 @@ These sample programs show how to use the TypeScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +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: diff --git a/sdk/schemaregistry/schema-registry-avro/samples/v1/typescript/package.json b/sdk/schemaregistry/schema-registry-avro/samples/v1/typescript/package.json index d012f24da7dd..68e0b8118c99 100644 --- a/sdk/schemaregistry/schema-registry-avro/samples/v1/typescript/package.json +++ b/sdk/schemaregistry/schema-registry-avro/samples/v1/typescript/package.json @@ -3,7 +3,7 @@ "private": true, "version": "1.0.0", "description": "Azure Schema Registry client library samples for TypeScript", - "engine": { + "engines": { "node": ">=12.0.0" }, "scripts": { @@ -29,7 +29,7 @@ "dependencies": { "@azure/schema-registry-avro": "next", "dotenv": "latest", - "@azure/identity": "^1.1.0", + "@azure/identity": "2.0.0-beta.5", "@azure/schema-registry": "1.0.0-beta.2" }, "devDependencies": { diff --git a/sdk/schemaregistry/schema-registry-avro/src/schemaRegistryAvroSerializer.ts b/sdk/schemaregistry/schema-registry-avro/src/schemaRegistryAvroSerializer.ts index d05519227148..831930f1634d 100644 --- a/sdk/schemaregistry/schema-registry-avro/src/schemaRegistryAvroSerializer.ts +++ b/sdk/schemaregistry/schema-registry-avro/src/schemaRegistryAvroSerializer.ts @@ -3,6 +3,7 @@ import { SchemaRegistry } from "@azure/schema-registry"; import * as avro from "avsc"; +import { toUint8Array } from "./utils/buffer"; // REVIEW: This should go in to a shared doc somewhere that all of the different // language serializer's docs can reference. @@ -63,19 +64,19 @@ export class SchemaRegistryAvroSerializer { /** * Creates a new serializer. * - * @param registry - Schema Registry where schemas are registered and obtained. + * @param client - Schema Registry where schemas are registered and obtained. * Usually this is a SchemaRegistryClient instance. * - * @param schemaGroup - The schema group to use when making requests to the + * @param groupName - The schema group to use when making requests to the * registry. */ constructor( - registry: SchemaRegistry, - schemaGroup: string, + client: SchemaRegistry, + groupName: string, options?: SchemaRegistryAvroSerializerOptions ) { - this.registry = registry; - this.schemaGroup = schemaGroup; + this.registry = client; + this.schemaGroup = groupName; this.autoRegisterSchemas = options?.autoRegisterSchemas ?? false; } @@ -112,7 +113,7 @@ export class SchemaRegistryAvroSerializer { * @param schema - The Avro schema to use. * @returns A new buffer with the serialized value */ - async serialize(value: unknown, schema: string): Promise { + async serialize(value: unknown, schema: string): Promise { const entry = await this.getSchemaByContent(schema); const payload = entry.type.toBuffer(value); const buffer = Buffer.alloc(PAYLOAD_OFFSET + payload.length); @@ -120,7 +121,11 @@ export class SchemaRegistryAvroSerializer { buffer.writeUInt32BE(FORMAT_INDICATOR, 0); buffer.write(entry.id, SCHEMA_ID_OFFSET, SCHEMA_ID_LENGTH, "utf-8"); payload.copy(buffer, PAYLOAD_OFFSET); - return buffer; + return new Uint8Array( + buffer.buffer, + buffer.byteOffset, + buffer.byteLength / Uint8Array.BYTES_PER_ELEMENT + ); } // REVIEW: signature. See serialize and s/serialize into/deserialize from/. @@ -130,7 +135,9 @@ export class SchemaRegistryAvroSerializer { * @param buffer - The buffer with the serialized value. * @returns The deserialized value. */ - async deserialize(buffer: Buffer): Promise { + async deserialize(input: Buffer | Blob | Uint8Array): Promise { + const arr8 = await toUint8Array(input); + const buffer = Buffer.isBuffer(arr8) ? arr8 : Buffer.from(arr8); if (buffer.length < PAYLOAD_OFFSET) { throw new RangeError("Buffer is too small to have the correct format."); } @@ -142,7 +149,7 @@ export class SchemaRegistryAvroSerializer { const schemaIdBuffer = buffer.slice(SCHEMA_ID_OFFSET, PAYLOAD_OFFSET); const schemaId = schemaIdBuffer.toString("utf-8"); - const schema = await this.getSchemaById(schemaId); + const schema = await this.getSchema(schemaId); const payloadBuffer = buffer.slice(PAYLOAD_OFFSET); return schema.type.fromBuffer(payloadBuffer); @@ -151,25 +158,25 @@ export class SchemaRegistryAvroSerializer { private readonly cacheByContent = new Map(); private readonly cacheById = new Map(); - private async getSchemaById(schemaId: string): Promise { + private async getSchema(schemaId: string): Promise { const cached = this.cacheById.get(schemaId); if (cached) { return cached; } - const schemaResponse = await this.registry.getSchemaById(schemaId); + const schemaResponse = await this.registry.getSchema(schemaId); if (!schemaResponse) { throw new Error(`Schema with ID '${schemaId}' not found.`); } - if (!schemaResponse.serializationType.match(/^avro$/i)) { + if (!schemaResponse.format.match(/^avro$/i)) { throw new Error( - `Schema with ID '${schemaResponse.id}' has serialization type '${schemaResponse.serializationType}', not 'avro'.` + `Schema with ID '${schemaResponse.id}' has format '${schemaResponse.format}', not 'avro'.` ); } - const avroType = this.getAvroTypeForSchema(schemaResponse.content); - return this.cache(schemaId, schemaResponse.content, avroType); + const avroType = this.getAvroTypeForSchema(schemaResponse.definition); + return this.cache(schemaId, schemaResponse.definition, avroType); } private async getSchemaByContent(schema: string): Promise { @@ -184,20 +191,20 @@ export class SchemaRegistryAvroSerializer { } const description = { - group: this.schemaGroup, + groupName: this.schemaGroup, name: avroType.name, - serializationType: "avro", - content: schema + format: "avro", + definition: schema }; let id: string; if (this.autoRegisterSchemas) { id = (await this.registry.registerSchema(description)).id; } else { - const response = await this.registry.getSchemaId(description); + const response = await this.registry.getSchemaProperties(description); if (!response) { throw new Error( - `Schema '${description.name}' not found in registry group '${description.group}', or not found to have matching content.` + `Schema '${description.name}' not found in registry group '${description.groupName}', or not found to have matching content.` ); } id = response.id; diff --git a/sdk/schemaregistry/schema-registry-avro/src/utils/buffer.browser.ts b/sdk/schemaregistry/schema-registry-avro/src/utils/buffer.browser.ts new file mode 100644 index 000000000000..9d1a069df24f --- /dev/null +++ b/sdk/schemaregistry/schema-registry-avro/src/utils/buffer.browser.ts @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +async function blobToArrayBuffer(blob: Blob): Promise { + if ("arrayBuffer" in blob) { + return blob.arrayBuffer(); + } + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => resolve(reader.result as ArrayBuffer); + reader.onerror = () => reject; + reader.readAsArrayBuffer(blob); + }); +} + +/** + * @param input - Input to `deserialize`. + * @returns Promise which completes with the input data as a Uint8Array. + */ +export async function toUint8Array(input: Uint8Array | Buffer | Blob): Promise { + // If this is not a Uint8Array, assume it's a blob and retrieve an ArrayBuffer from the blob. + if ((input as any).byteLength === undefined) { + return new Uint8Array(await blobToArrayBuffer(input as Blob)); + } + return input as Uint8Array; +} diff --git a/sdk/schemaregistry/schema-registry-avro/src/utils/buffer.ts b/sdk/schemaregistry/schema-registry-avro/src/utils/buffer.ts new file mode 100644 index 000000000000..f7a07c5d8693 --- /dev/null +++ b/sdk/schemaregistry/schema-registry-avro/src/utils/buffer.ts @@ -0,0 +1,13 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @param input - Input to `deserialize`. + * @returns Promise which completes with the input data as a Uint8Array. + */ +export async function toUint8Array(input: Uint8Array | Buffer | Blob): Promise { + if ((input as any).byteLength === undefined) { + throw TypeError("Blob is unsupported in node."); + } + return input as Uint8Array; +} diff --git a/sdk/schemaregistry/schema-registry-avro/test/schemaRegistryAvroSerializer.spec.ts b/sdk/schemaregistry/schema-registry-avro/test/schemaRegistryAvroSerializer.spec.ts index 63780317c7bf..5212248e97b8 100644 --- a/sdk/schemaregistry/schema-registry-avro/test/schemaRegistryAvroSerializer.spec.ts +++ b/sdk/schemaregistry/schema-registry-avro/test/schemaRegistryAvroSerializer.spec.ts @@ -1,56 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { SchemaRegistryAvroSerializer } from "../src"; import { assert, use as chaiUse } from "chai"; -import * as avro from "avsc/"; import chaiPromises from "chai-as-promised"; -import { env, isLiveMode } from "@azure/test-utils-recorder"; -import { ClientSecretCredential } from "@azure/identity"; - -import { - GetSchemaByIdOptions, - GetSchemaIdOptions, - RegisterSchemaOptions, - Schema, - SchemaDescription, - SchemaId, - SchemaRegistry, - SchemaRegistryClient -} from "@azure/schema-registry"; - -import * as dotenv from "dotenv"; -dotenv.config(); +import { testAvroType, testGroup, testSchema, testSchemaIds, testValue } from "./utils/dummies"; +import { createTestRegistry } from "./utils/mockedRegistryClient"; +import { createTestSerializer, registerTestSchema } from "./utils/mockedSerializer"; chaiUse(chaiPromises); -const testSchemaObject: avro.schema.RecordType = { - type: "record", - name: "AvroUser", - namespace: "com.azure.schemaregistry.samples", - fields: [ - { - name: "name", - type: "string" - }, - { - name: "favoriteNumber", - type: "int" - } - ] -}; - -const testGroup = "azsdk_js_test_group"; - -const testSchemaIds = [ - "{773E17BE-793E-40B0-98F1-0A6EA3C11895}", - "{DC7EF290-CDB1-4245-8EE8-3DD52965866E}" -].map((x) => x.replace(/[{\-}]/g, "")); - -const testSchema = JSON.stringify(testSchemaObject); -const testValue = { name: "Nick", favoriteNumber: 42 }; -const testAvroType = avro.Type.forSchema(testSchemaObject, { omitRecordMethods: true }); - describe("SchemaRegistryAvroSerializer", function() { it("rejects buffers that are too small", async () => { const serializer = await createTestSerializer(); @@ -70,14 +28,14 @@ describe("SchemaRegistryAvroSerializer", function() { await assert.isRejected(serializer.serialize({}, schema), /name/); }); - it("rejects a schema with different serialization type", async () => { + it("rejects a schema with different format", async () => { const registry = createTestRegistry(true); // true means never live, we can't register non-avro schema in live service const serializer = await createTestSerializer(false, registry); const schema = await registry.registerSchema({ name: "_", - content: "_", - serializationType: "NotAvro", - group: testGroup + definition: "_", + format: "NotAvro", + groupName: testGroup }); const buffer = Buffer.alloc(36); @@ -112,7 +70,9 @@ describe("SchemaRegistryAvroSerializer", function() { const registry = createTestRegistry(); const schemaId = await registerTestSchema(registry); const serializer = await createTestSerializer(false, registry); - const buffer = await serializer.serialize(testValue, testSchema); + const arr = await serializer.serialize(testValue, testSchema); + assert.isUndefined((arr as Buffer).readBigInt64BE); + const buffer = Buffer.from(arr); assert.strictEqual(0x0, buffer.readUInt32BE(0)); assert.strictEqual(schemaId, buffer.toString("utf-8", 4, 36)); const payload = buffer.slice(36); @@ -144,7 +104,7 @@ describe("SchemaRegistryAvroSerializer", function() { serializer = await createTestSerializer(false); assert.deepStrictEqual(await serializer.deserialize(buffer), testValue); - // throw away serializer again and cover getSchemaId instead of registerSchema + // throw away serializer again and cover getSchemaProperties instead of registerSchema serializer = await createTestSerializer(false); assert.deepStrictEqual(await serializer.serialize(testValue, testSchema), buffer); }); @@ -172,83 +132,3 @@ describe("SchemaRegistryAvroSerializer", function() { assert.deepStrictEqual(deserializedValue, value); }); }); - -async function createTestSerializer( - autoRegisterSchemas = true, - registry = createTestRegistry() -): Promise { - if (!autoRegisterSchemas) { - await registerTestSchema(registry); - } - return new SchemaRegistryAvroSerializer(registry, testGroup, { autoRegisterSchemas }); -} - -async function registerTestSchema(registry: SchemaRegistry): Promise { - const schema = await registry.registerSchema({ - name: `${testSchemaObject.namespace}.${testSchemaObject.name}`, - group: testGroup, - content: testSchema, - serializationType: "avro" - }); - return schema.id; -} - -function createTestRegistry(neverLive = false): SchemaRegistry { - if (!neverLive && isLiveMode()) { - // NOTE: These tests don't record, they use a mocked schema registry - // implemented below, but if we're running live, then use the real - // service for end-to-end integration testing. - return new SchemaRegistryClient( - env.SCHEMA_REGISTRY_ENDPOINT, - new ClientSecretCredential(env.AZURE_TENANT_ID, env.AZURE_CLIENT_ID, env.AZURE_CLIENT_SECRET) - ); - } - const mapById = new Map(); - const mapByContent = new Map(); - let idCounter = 0; - - return { registerSchema, getSchemaId, getSchemaById }; - - async function registerSchema( - schema: SchemaDescription, - _options?: RegisterSchemaOptions - ): Promise { - let result = mapByContent.get(schema.content); - if (!result) { - result = { - id: newId(), - content: schema.content, - version: 1, - location: "", - locationById: "", - serializationType: schema.serializationType - }; - mapByContent.set(result.content, result); - mapById.set(result.id, result); - } - return result; - - function newId(): string { - if (idCounter === testSchemaIds.length) { - throw new Error("Out of IDs. Generate more GUIDs and paste them above."); - } - const id = testSchemaIds[idCounter]; - idCounter++; - return id; - } - } - - async function getSchemaId( - schema: SchemaDescription, - _options?: GetSchemaIdOptions - ): Promise { - return mapByContent.get(schema.content); - } - - async function getSchemaById( - id: string, - _options?: GetSchemaByIdOptions - ): Promise { - return mapById.get(id); - } -} diff --git a/sdk/schemaregistry/schema-registry-avro/test/utils/dummies.ts b/sdk/schemaregistry/schema-registry-avro/test/utils/dummies.ts new file mode 100644 index 000000000000..f4ac32ff0042 --- /dev/null +++ b/sdk/schemaregistry/schema-registry-avro/test/utils/dummies.ts @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import * as avro from "avsc/"; + +export const testSchemaObject: avro.schema.RecordType = { + type: "record", + name: "AvroUser", + namespace: "com.azure.schemaregistry.samples", + fields: [ + { + name: "name", + type: "string" + }, + { + name: "favoriteNumber", + type: "int" + } + ] +}; + +export const testGroup = "azsdk_js_test_group"; + +export const testSchemaIds = [ + "{773E17BE-793E-40B0-98F1-0A6EA3C11895}", + "{DC7EF290-CDB1-4245-8EE8-3DD52965866E}" +].map((x) => x.replace(/[{\-}]/g, "")); + +export const testSchema = JSON.stringify(testSchemaObject); +export const testValue = { name: "Nick", favoriteNumber: 42 }; +export const testAvroType = avro.Type.forSchema(testSchemaObject, { omitRecordMethods: true }); diff --git a/sdk/schemaregistry/schema-registry-avro/test/utils/mockedRegistryClient.ts b/sdk/schemaregistry/schema-registry-avro/test/utils/mockedRegistryClient.ts new file mode 100644 index 000000000000..813447bb4c3b --- /dev/null +++ b/sdk/schemaregistry/schema-registry-avro/test/utils/mockedRegistryClient.ts @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { + GetSchemaOptions, + GetSchemaPropertiesOptions, + RegisterSchemaOptions, + Schema, + SchemaDescription, + SchemaProperties, + SchemaRegistry, + SchemaRegistryClient +} from "@azure/schema-registry"; +import { ClientSecretCredential } from "@azure/identity"; +import { env, isLiveMode } from "@azure-tools/test-recorder"; +import { testSchemaIds } from "./dummies"; + +export function createTestRegistry(neverLive = false): SchemaRegistry { + if (!neverLive && isLiveMode()) { + // NOTE: These tests don't record, they use a mocked schema registry + // implemented below, but if we're running live, then use the real + // service for end-to-end integration testing. + return new SchemaRegistryClient( + env.SCHEMA_REGISTRY_ENDPOINT, + new ClientSecretCredential(env.AZURE_TENANT_ID, env.AZURE_CLIENT_ID, env.AZURE_CLIENT_SECRET) + ); + } + const mapById = new Map(); + const mapByContent = new Map(); + let idCounter = 0; + + return { registerSchema, getSchemaProperties, getSchema }; + + async function registerSchema( + schema: SchemaDescription, + _options?: RegisterSchemaOptions + ): Promise { + let result = mapByContent.get(schema.definition); + if (!result) { + result = { + id: newId(), + definition: schema.definition, + version: 1, + format: schema.format + }; + mapByContent.set(result.definition, result); + mapById.set(result.id, result); + } + return result; + + function newId(): string { + if (idCounter === testSchemaIds.length) { + throw new Error("Out of IDs. Generate more GUIDs and paste them above."); + } + const id = testSchemaIds[idCounter]; + idCounter++; + return id; + } + } + + async function getSchemaProperties( + schema: SchemaDescription, + _options?: GetSchemaPropertiesOptions + ): Promise { + return mapByContent.get(schema.definition); + } + + async function getSchema(id: string, _options?: GetSchemaOptions): Promise { + return mapById.get(id); + } +} diff --git a/sdk/schemaregistry/schema-registry-avro/test/utils/mockedSerializer.ts b/sdk/schemaregistry/schema-registry-avro/test/utils/mockedSerializer.ts new file mode 100644 index 000000000000..03ae167ba015 --- /dev/null +++ b/sdk/schemaregistry/schema-registry-avro/test/utils/mockedSerializer.ts @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { SchemaRegistry } from "@azure/schema-registry"; +import { SchemaRegistryAvroSerializer } from "../../src/schemaRegistryAvroSerializer"; +import { testGroup, testSchema, testSchemaObject } from "./dummies"; +import { createTestRegistry } from "./mockedRegistryClient"; + +export async function createTestSerializer( + autoRegisterSchemas = true, + registry = createTestRegistry() +): Promise { + if (!autoRegisterSchemas) { + await registerTestSchema(registry); + } + return new SchemaRegistryAvroSerializer(registry, testGroup, { autoRegisterSchemas }); +} + +export async function registerTestSchema(registry: SchemaRegistry): Promise { + const schema = await registry.registerSchema({ + name: `${testSchemaObject.namespace}.${testSchemaObject.name}`, + groupName: testGroup, + definition: testSchema, + format: "avro" + }); + return schema.id; +} diff --git a/sdk/schemaregistry/schema-registry-avro/tsconfig.json b/sdk/schemaregistry/schema-registry-avro/tsconfig.json index 01c96860f2d9..bc231ec32cea 100644 --- a/sdk/schemaregistry/schema-registry-avro/tsconfig.json +++ b/sdk/schemaregistry/schema-registry-avro/tsconfig.json @@ -5,7 +5,8 @@ "declarationDir": "./types", "paths": { "@azure/schema-registry-avro": ["./src/index"] - } + }, + "lib": ["dom"] }, "include": ["src/**/*.ts", "test/**/*.ts", "samples-dev/**/*.ts"] } diff --git a/sdk/schemaregistry/schema-registry-avro/types/schema-registry-avro.shims.d.ts b/sdk/schemaregistry/schema-registry-avro/types/schema-registry-avro.shims.d.ts new file mode 100644 index 000000000000..6d109ce2381b --- /dev/null +++ b/sdk/schemaregistry/schema-registry-avro/types/schema-registry-avro.shims.d.ts @@ -0,0 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +declare global { + interface Blob {} +} + +export * from "./schema-registry-avro"; diff --git a/sdk/schemaregistry/schema-registry/CHANGELOG.md b/sdk/schemaregistry/schema-registry/CHANGELOG.md index 05fb04f2adf1..7172f5389e5d 100644 --- a/sdk/schemaregistry/schema-registry/CHANGELOG.md +++ b/sdk/schemaregistry/schema-registry/CHANGELOG.md @@ -1,6 +1,23 @@ # Release History -## 1.0.0-beta.2 (Unreleased) +## 1.0.0-beta.3 (Unreleased) + +### Features Added + +### Breaking Changes + +- renames `SchemaDescription`'s `group` to `groupName` +- renames `SchemaId` to `SchemaProperties` +- renames `getSchemaById` to `getSchema` +- renames `GetSchemaByIdOptions` to `GetSchemaOptions` +- `getSchema` and `getSchemaProperties` no longer return `undefined` if the schema was not registered +- renames `content` to `definition`, `serializationType` to `format`, and `KnownSerializationType` to `KnownSchemaFormat` + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.2 (2021-08-17) ### Features Added diff --git a/sdk/schemaregistry/schema-registry/README.md b/sdk/schemaregistry/schema-registry/README.md index 5bb6c6c64c53..b63cc19de130 100644 --- a/sdk/schemaregistry/schema-registry/README.md +++ b/sdk/schemaregistry/schema-registry/README.md @@ -84,7 +84,7 @@ const client = new SchemaRegistryClient("", new DefaultAzureCredential const description = { name: "", - group: "", + groupName: "", serializationType: "" content: "" } @@ -105,7 +105,7 @@ const client = new SchemaRegistryClient("", new DefaultAzureCredential const description = { name: "", - group: "", + groupName: "", serializationType: "" content: "" } @@ -118,14 +118,14 @@ if (found) { ### Get content of existing schema by ID -Similarly to `getSchemaId`, `getSchemaById` will send a request to the service only if the local cache did not have the schema ID. +Similarly to `getSchemaId`, `getSchema` will send a request to the service only if the local cache did not have the schema ID. ```javascript const { DefaultAzureCredential } = require("@azure/identity"); const { SchemaRegistryClient } = require("@azure/schema-registry"); const client = new SchemaRegistryClient("", new DefaultAzureCredential()); -const foundSchema = await client.getSchemaById(""); +const foundSchema = await client.getSchema(""); if (foundSchema) { console.log(`Got schema content=${foundSchema.content}`); } diff --git a/sdk/schemaregistry/schema-registry/karma.conf.js b/sdk/schemaregistry/schema-registry/karma.conf.js index 1218ed1be7fc..fdab4215e73b 100644 --- a/sdk/schemaregistry/schema-registry/karma.conf.js +++ b/sdk/schemaregistry/schema-registry/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/schemaregistry/schema-registry/package.json b/sdk/schemaregistry/schema-registry/package.json index c130dc21b91f..1ac9e7db4b80 100644 --- a/sdk/schemaregistry/schema-registry/package.json +++ b/sdk/schemaregistry/schema-registry/package.json @@ -1,6 +1,6 @@ { "name": "@azure/schema-registry", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "description": "Schema Registry Library with typescript type definitions for node.js and browser.", "sdk-type": "client", "main": "dist/index.js", @@ -11,7 +11,7 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -23,7 +23,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run integration-test:browser", "test:node": "npm run build:test && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -91,9 +90,9 @@ "@azure/core-util": "^1.0.0-beta.1", "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", - "@azure/test-utils-recorder": "^1.0.0", - "@microsoft/api-extractor": "7.7.11", + "@azure/identity": "2.0.0-beta.6", + "@azure-tools/test-recorder": "^1.0.0", + "@microsoft/api-extractor": "^7.18.7", "@types/chai": "^4.1.6", "@types/chai-as-promised": "^7.1.0", "@types/mocha": "^7.0.2", diff --git a/sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_schema_with_whitespace.json b/sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_schema_with_whitespace.json new file mode 100644 index 000000000000..6de6c3944203 --- /dev/null +++ b/sdk/schemaregistry/schema-registry/recordings/browsers/schemaregistryclient/recording_schema_with_whitespace.json @@ -0,0 +1,79 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://login.microsoftonline.com/azuretenantid/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1321", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 18 Aug 2021 17:08:14 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11961.8 - SCUS ProdSlices", + "x-ms-request-id": "0f27d023-eabb-4fe1-b762-0126305e1701" + } + }, + { + "method": "PUT", + "url": "https://endpoint/$schemagroups/group-1/schemas/azsdk_js_test2", + "query": { + "api-version": "2020-09-01-preview" + }, + "requestBody": "{\n \"type\": \"record\",\n \"name\": \"Test\",\n \"fields\": [{ \"name\": \"X\", \"type\": { \"type\": \"string\" } }]\n}\n", + "status": 200, + "response": "{\"id\":\"207b5ecbbff7492d902647dfde854fff\"}", + "responseHeaders": { + "content-type": "application/json", + "date": "Wed, 18 Aug 2021 17:08:15 GMT", + "location": "https://endpoint/$schemagroups/group-1/schemas/azsdk_js_test2/versions/1?api-version=2020-09-01-preview", + "schema-id": "207b5ecbbff7492d902647dfde854fff", + "schema-id-location": "https://endpoint/$schemagroups/getschemabyid/207b5ecbbff7492d902647dfde854fff?api-version=2020-09-01-preview", + "schema-version": "1", + "schema-versions-location": "https://endpoint/$schemagroups/group-1/schemas/azsdk_js_test2/versions?api-version=2020-09-01-preview", + "serialization-type": "Avro", + "server": "Microsoft-HTTPAPI/2.0", + "strict-transport-security": "max-age=31536000", + "transfer-encoding": "chunked" + } + }, + { + "method": "POST", + "url": "https://endpoint/$schemagroups/group-1/schemas/azsdk_js_test2", + "query": { + "api-version": "2020-09-01-preview" + }, + "requestBody": "{\n \"type\": \"record\",\n \"name\": \"Test\",\n \"fields\": [{ \"name\": \"X\", \"type\": { \"type\": \"string\" } }]\n}\n", + "status": 200, + "response": "{\"id\":\"207b5ecbbff7492d902647dfde854fff\"}", + "responseHeaders": { + "content-type": "application/json", + "date": "Wed, 18 Aug 2021 17:08:16 GMT", + "location": "https://endpoint/$schemagroups/group-1/schemas/azsdk_js_test2/versions/1?api-version=2020-09-01-preview", + "schema-id": "207b5ecbbff7492d902647dfde854fff", + "schema-id-location": "https://endpoint/$schemagroups/getschemabyid/207b5ecbbff7492d902647dfde854fff?api-version=2020-09-01-preview", + "schema-version": "1", + "schema-versions-location": "https://endpoint/$schemagroups/group-1/schemas/azsdk_js_test2/versions?api-version=2020-09-01-preview", + "serialization-type": "Avro", + "server": "Microsoft-HTTPAPI/2.0", + "strict-transport-security": "max-age=31536000", + "transfer-encoding": "chunked" + } + } + ], + "uniqueTestInfo": { + "uniqueName": {}, + "newDate": {} + }, + "hash": "bb1dc66818b9788bf272a0c69750dba3" +} \ No newline at end of file diff --git a/sdk/schemaregistry/schema-registry/recordings/node/schemaregistryclient/recording_schema_with_whitespace.js b/sdk/schemaregistry/schema-registry/recordings/node/schemaregistryclient/recording_schema_with_whitespace.js new file mode 100644 index 000000000000..17d742860b35 --- /dev/null +++ b/sdk/schemaregistry/schema-registry/recordings/node/schemaregistryclient/recording_schema_with_whitespace.js @@ -0,0 +1,167 @@ +let nock = require('nock'); + +module.exports.hash = "ae7a39310630d1ec278806b3d857e0be"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/azuretenantid/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'edbb4f5f-5792-497e-9af4-db0062c61201', + 'x-ms-ests-server', + '2.1.11961.8 - SCUS ProdSlices', + 'Set-Cookie', + 'fpc=AkBunk3alhtPuVo6fRLqh4Q; expires=Fri, 17-Sep-2021 17:08:06 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrc92aPHQOAOj5IYDsTQs8_UZ1tMhzxlNNFaZzey94wd0JVKgaVlVhr1wzJeQMrErK59sGqUwdiZ_FaVWjFmbf1PNLB97T8aZqAMV9tGW8NCrOoz4AVnfjp6oTMM6xJw-w7hWDssPWl8PE-NsY0-1hQOrD5kZbQ1ko1uL9PeBqQGwgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 18 Aug 2021 17:08:05 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/azuretenantid/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/azuretenantid/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/azuretenantid/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/azuretenantid/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/azuretenantid/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/azuretenantid/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/azuretenantid/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/azuretenantid/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'acdc8473-d303-4bb8-ae99-fa8372b60001', + 'x-ms-ests-server', + '2.1.11961.8 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=AkBunk3alhtPuVo6fRLqh4Q; expires=Fri, 17-Sep-2021 17:08:06 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrpTPwHTYTstQjKh3kGay6Dv41QWFkLDLlAWW_Bi3DQpIzcfG9aF_Uk5rgAd-M-6RRey6w-8PXUgle2ZX4oykgkIxIdoWfgg6Itp6-vDwEY36fjRvSgBseauUn8LA-bA-1Lul8zOQzQ-keq8K7oAGvlzvcdOiHUzjpC8KFTTO89d8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 18 Aug 2021 17:08:05 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azuretenantid/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=8a968471-34fe-471d-b0e8-ac0f4e7bac1f&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'edbb4f5f-5792-497e-9af4-db006ec61201', + 'x-ms-ests-server', + '2.1.11961.8 - SCUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=AkBunk3alhtPuVo6fRLqh4TmLYaiAQAAAHU1r9gOAAAA; expires=Fri, 17-Sep-2021 17:08:06 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Wed, 18 Aug 2021 17:08:05 GMT', + 'Content-Length', + '1321' +]); + +nock('https://endpoint', {"encodedQueryParams":true}) + .put('/$schemagroups/group-1/schemas/azsdk_js_test2', {"type":"record","name":"Test","fields":[{"name":"X","type":{"type":"string"}}]}) + .query(true) + .reply(200, {"id":"207b5ecbbff7492d902647dfde854fff"}, [ + 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/json', + 'Location', + 'https://endpoint:443/$schemagroups/group-1/schemas/azsdk_js_test2/versions/1?api-version=2020-09-01-preview', + 'Server', + 'Microsoft-HTTPAPI/2.0', + 'Schema-Id', + '207b5ecbbff7492d902647dfde854fff', + 'Schema-Id-Location', + 'https://endpoint:443/$schemagroups/getschemabyid/207b5ecbbff7492d902647dfde854fff?api-version=2020-09-01-preview', + 'Serialization-Type', + 'Avro', + 'Schema-Version', + '1', + 'Schema-Versions-Location', + 'https://endpoint:443/$schemagroups/group-1/schemas/azsdk_js_test2/versions?api-version=2020-09-01-preview', + 'Strict-Transport-Security', + 'max-age=31536000', + 'Date', + 'Wed, 18 Aug 2021 17:08:07 GMT' +]); + +nock('https://endpoint', {"encodedQueryParams":true}) + .post('/$schemagroups/group-1/schemas/azsdk_js_test2', {"type":"record","name":"Test","fields":[{"name":"X","type":{"type":"string"}}]}) + .query(true) + .reply(200, {"id":"207b5ecbbff7492d902647dfde854fff"}, [ + 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/json', + 'Location', + 'https://endpoint:443/$schemagroups/group-1/schemas/azsdk_js_test2/versions/1?api-version=2020-09-01-preview', + 'Server', + 'Microsoft-HTTPAPI/2.0', + 'Schema-Id', + '207b5ecbbff7492d902647dfde854fff', + 'Schema-Id-Location', + 'https://endpoint:443/$schemagroups/getschemabyid/207b5ecbbff7492d902647dfde854fff?api-version=2020-09-01-preview', + 'Serialization-Type', + 'Avro', + 'Schema-Version', + '1', + 'Schema-Versions-Location', + 'https://endpoint:443/$schemagroups/group-1/schemas/azsdk_js_test2/versions?api-version=2020-09-01-preview', + 'Strict-Transport-Security', + 'max-age=31536000', + 'Date', + 'Wed, 18 Aug 2021 17:08:07 GMT' +]); diff --git a/sdk/schemaregistry/schema-registry/review/schema-registry.api.md b/sdk/schemaregistry/schema-registry/review/schema-registry.api.md index 71c8068e92de..577e849a5f2c 100644 --- a/sdk/schemaregistry/schema-registry/review/schema-registry.api.md +++ b/sdk/schemaregistry/schema-registry/review/schema-registry.api.md @@ -9,15 +9,15 @@ import { OperationOptions } from '@azure/core-client'; import { TokenCredential } from '@azure/core-auth'; // @public -export interface GetSchemaByIdOptions extends OperationOptions { +export interface GetSchemaOptions extends OperationOptions { } // @public -export interface GetSchemaIdOptions extends OperationOptions { +export interface GetSchemaPropertiesOptions extends OperationOptions { } // @public -export const enum KnownSerializationType { +export const enum KnownSchemaFormat { Avro = "avro" } @@ -26,48 +26,45 @@ export interface RegisterSchemaOptions extends OperationOptions { } // @public -export interface Schema extends SchemaId { - content: string; +export interface Schema extends SchemaProperties { + definition: string; } // @public export interface SchemaDescription { - content: string; - group: string; + definition: string; + format: string; + groupName: string; name: string; - serializationType: string; } // @public -export interface SchemaId { +export interface SchemaProperties { + format: string; id: string; - location: string; - locationById: string; - serializationType: string; version: number; } // @public export interface SchemaRegistry { - getSchemaById(id: string, options?: GetSchemaByIdOptions): Promise; - getSchemaId(schema: SchemaDescription, options?: GetSchemaIdOptions): Promise; - registerSchema(schema: SchemaDescription, options?: RegisterSchemaOptions): Promise; + getSchema(id: string, options?: GetSchemaOptions): Promise; + getSchemaProperties(schema: SchemaDescription, options?: GetSchemaPropertiesOptions): Promise; + registerSchema(schema: SchemaDescription, options?: RegisterSchemaOptions): Promise; } // @public export class SchemaRegistryClient implements SchemaRegistry { constructor(endpoint: string, credential: TokenCredential, options?: SchemaRegistryClientOptions); readonly endpoint: string; - getSchemaById(id: string, options?: GetSchemaByIdOptions): Promise; - getSchemaId(schema: SchemaDescription, options?: GetSchemaIdOptions): Promise; - registerSchema(schema: SchemaDescription, options?: RegisterSchemaOptions): Promise; - } + getSchema(id: string, options?: GetSchemaOptions): Promise; + getSchemaProperties(schema: SchemaDescription, options?: GetSchemaPropertiesOptions): Promise; + registerSchema(schema: SchemaDescription, options?: RegisterSchemaOptions): Promise; +} // @public export interface SchemaRegistryClientOptions extends CommonClientOptions { } - // (No @packageDocumentation comment for this package) ``` diff --git a/sdk/schemaregistry/schema-registry/samples-dev/schemaRegistrySample.ts b/sdk/schemaregistry/schema-registry/samples-dev/schemaRegistrySample.ts index 493aae90456a..b24a54bd5247 100644 --- a/sdk/schemaregistry/schema-registry/samples-dev/schemaRegistrySample.ts +++ b/sdk/schemaregistry/schema-registry/samples-dev/schemaRegistrySample.ts @@ -36,9 +36,9 @@ const schemaObject = { // Description of the schema for registration const schemaDescription: SchemaDescription = { name: `${schemaObject.namespace}.${schemaObject.name}`, - group, - serializationType: "avro", - content: JSON.stringify(schemaObject) + groupName: group, + format: "avro", + definition: JSON.stringify(schemaObject) }; export async function main() { @@ -51,15 +51,15 @@ export async function main() { // Get ID for existing schema by its description. // Note that this would throw if it had not been previously registered. - const found = await client.getSchemaId(schemaDescription); + const found = await client.getSchemaProperties(schemaDescription); if (found) { console.log(`Got schema ID=${found.id}`); } // Get content of existing schema by its ID - const foundSchema = await client.getSchemaById(registered.id); + const foundSchema = await client.getSchema(registered.id); if (foundSchema) { - console.log(`Got schema content=${foundSchema.content}`); + console.log(`Got schema content=${foundSchema.definition}`); } } diff --git a/sdk/schemaregistry/schema-registry/samples/v1/javascript/README.md b/sdk/schemaregistry/schema-registry/samples/v1/javascript/README.md index 2a670e90fb23..622d45f67a0a 100644 --- a/sdk/schemaregistry/schema-registry/samples/v1/javascript/README.md +++ b/sdk/schemaregistry/schema-registry/samples/v1/javascript/README.md @@ -8,7 +8,7 @@ These sample programs show how to use the JavaScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). You need [an Azure subscription][freesub] and the following Azure resources to run these sample programs: diff --git a/sdk/schemaregistry/schema-registry/samples/v1/javascript/package.json b/sdk/schemaregistry/schema-registry/samples/v1/javascript/package.json index 6163c9c32831..2d5b7ce6121a 100644 --- a/sdk/schemaregistry/schema-registry/samples/v1/javascript/package.json +++ b/sdk/schemaregistry/schema-registry/samples/v1/javascript/package.json @@ -3,7 +3,7 @@ "private": true, "version": "1.0.0", "description": "Azure Schema Registry client library samples for JavaScript", - "engine": { + "engines": { "node": ">=12.0.0" }, "repository": { @@ -25,6 +25,6 @@ "dependencies": { "@azure/schema-registry": "next", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.3" + "@azure/identity": "2.0.0-beta.6" } } diff --git a/sdk/schemaregistry/schema-registry/samples/v1/javascript/schemaRegistrySample.js b/sdk/schemaregistry/schema-registry/samples/v1/javascript/schemaRegistrySample.js index 81d8c0587cc6..209c4522cd95 100644 --- a/sdk/schemaregistry/schema-registry/samples/v1/javascript/schemaRegistrySample.js +++ b/sdk/schemaregistry/schema-registry/samples/v1/javascript/schemaRegistrySample.js @@ -36,9 +36,9 @@ const schemaObject = { // Description of the schema for registration const schemaDescription = { name: `${schemaObject.namespace}.${schemaObject.name}`, - group, - serializationType: "avro", - content: JSON.stringify(schemaObject) + groupName: group, + format: "avro", + definition: JSON.stringify(schemaObject) }; async function main() { @@ -51,15 +51,15 @@ async function main() { // Get ID for existing schema by its description. // Note that this would throw if it had not been previously registered. - const found = await client.getSchemaId(schemaDescription); + const found = await client.getSchemaProperties(schemaDescription); if (found) { console.log(`Got schema ID=${found.id}`); } // Get content of existing schema by its ID - const foundSchema = await client.getSchemaById(registered.id); + const foundSchema = await client.getSchema(registered.id); if (foundSchema) { - console.log(`Got schema content=${foundSchema.content}`); + console.log(`Got schema content=${foundSchema.definition}`); } } diff --git a/sdk/schemaregistry/schema-registry/samples/v1/typescript/README.md b/sdk/schemaregistry/schema-registry/samples/v1/typescript/README.md index d7fa6723eaa7..4396a405fb53 100644 --- a/sdk/schemaregistry/schema-registry/samples/v1/typescript/README.md +++ b/sdk/schemaregistry/schema-registry/samples/v1/typescript/README.md @@ -8,7 +8,7 @@ These sample programs show how to use the TypeScript client libraries for Azure ## Prerequisites -The sample programs are compatible with Node.js >=12.0.0. +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: diff --git a/sdk/schemaregistry/schema-registry/samples/v1/typescript/package.json b/sdk/schemaregistry/schema-registry/samples/v1/typescript/package.json index 83495c92becf..13c0096f7a1d 100644 --- a/sdk/schemaregistry/schema-registry/samples/v1/typescript/package.json +++ b/sdk/schemaregistry/schema-registry/samples/v1/typescript/package.json @@ -3,7 +3,7 @@ "private": true, "version": "1.0.0", "description": "Azure Schema Registry client library samples for TypeScript", - "engine": { + "engines": { "node": ">=12.0.0" }, "scripts": { @@ -29,7 +29,7 @@ "dependencies": { "@azure/schema-registry": "next", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.6" }, "devDependencies": { "typescript": "~4.2.0", diff --git a/sdk/schemaregistry/schema-registry/samples/v1/typescript/src/schemaRegistrySample.ts b/sdk/schemaregistry/schema-registry/samples/v1/typescript/src/schemaRegistrySample.ts index 493aae90456a..b24a54bd5247 100644 --- a/sdk/schemaregistry/schema-registry/samples/v1/typescript/src/schemaRegistrySample.ts +++ b/sdk/schemaregistry/schema-registry/samples/v1/typescript/src/schemaRegistrySample.ts @@ -36,9 +36,9 @@ const schemaObject = { // Description of the schema for registration const schemaDescription: SchemaDescription = { name: `${schemaObject.namespace}.${schemaObject.name}`, - group, - serializationType: "avro", - content: JSON.stringify(schemaObject) + groupName: group, + format: "avro", + definition: JSON.stringify(schemaObject) }; export async function main() { @@ -51,15 +51,15 @@ export async function main() { // Get ID for existing schema by its description. // Note that this would throw if it had not been previously registered. - const found = await client.getSchemaId(schemaDescription); + const found = await client.getSchemaProperties(schemaDescription); if (found) { console.log(`Got schema ID=${found.id}`); } // Get content of existing schema by its ID - const foundSchema = await client.getSchemaById(registered.id); + const foundSchema = await client.getSchema(registered.id); if (foundSchema) { - console.log(`Got schema content=${foundSchema.content}`); + console.log(`Got schema content=${foundSchema.definition}`); } } diff --git a/sdk/schemaregistry/schema-registry/src/conversions.ts b/sdk/schemaregistry/schema-registry/src/conversions.ts index d6cc3688f6e1..1c227e9e3c79 100644 --- a/sdk/schemaregistry/schema-registry/src/conversions.ts +++ b/sdk/schemaregistry/schema-registry/src/conversions.ts @@ -1,24 +1,24 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { SchemaId, Schema } from "./models"; +import { SchemaProperties, Schema } from "./models"; import { SchemaGetByIdResponse, SchemaRegisterResponse, - SchemaQueryIdByContentResponse + SchemaQueryIdByContentResponse as SchemaQueryIdByDefinitionResponse } from "./generated/models"; import { FullOperationResponse } from "@azure/core-client"; /** - * Union of generated client's responses that return schema content. + * Union of generated client's responses that return schema definition. */ type GeneratedSchemaResponse = SchemaGetByIdResponse; /** * Union of generated client's responses that return schema ID. */ -type GeneratedSchemaIdResponse = SchemaRegisterResponse | SchemaQueryIdByContentResponse; +type GeneratedSchemaIdResponse = SchemaRegisterResponse | SchemaQueryIdByDefinitionResponse; /** * Union of all generated client's responses. @@ -37,7 +37,7 @@ export function convertSchemaResponse( // https://github.com/Azure/azure-sdk-for-js/issues/11649 // Although response.body is typed as string, it is a parsed JSON object, // so we use _response.bodyAsText instead as a workaround. - return convertResponse(response, { content: rawResponse.bodyAsText! }); + return convertResponse(response, { definition: rawResponse.bodyAsText! }); } /** @@ -45,21 +45,22 @@ export function convertSchemaResponse( * * @internal */ -export function convertSchemaIdResponse(response: GeneratedSchemaIdResponse): SchemaId { +export function convertSchemaIdResponse(response: GeneratedSchemaIdResponse): SchemaProperties { // `!` here because server is required to return this on success, but that // is not modeled by the generated client. return convertResponse(response, { id: response.id! }); } -function convertResponse(response: GeneratedResponse, additionalProperties: T): SchemaId & T { +function convertResponse( + response: GeneratedResponse, + additionalProperties: T +): SchemaProperties & T { return { // `!`s here because server is required to return these on success, but that // is not modeled by the generated client. - location: response.location!, - locationById: response.schemaIdLocation!, id: response.schemaId!, version: response.schemaVersion!, - serializationType: response.serializationType!, + format: response.serializationType!, ...additionalProperties }; } diff --git a/sdk/schemaregistry/schema-registry/src/generated/generatedSchemaRegistryClientContext.ts b/sdk/schemaregistry/schema-registry/src/generated/generatedSchemaRegistryClientContext.ts index ae985a59b382..f0747099282d 100644 --- a/sdk/schemaregistry/schema-registry/src/generated/generatedSchemaRegistryClientContext.ts +++ b/sdk/schemaregistry/schema-registry/src/generated/generatedSchemaRegistryClientContext.ts @@ -35,7 +35,7 @@ export class GeneratedSchemaRegistryClientContext extends coreClient.ServiceClie requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-schema-registry/1.0.0-beta.2`; + const packageDetails = `azsdk-js-schema-registry/1.0.0-beta.3`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/schemaregistry/schema-registry/src/index.ts b/sdk/schemaregistry/schema-registry/src/index.ts index 7d3af0266d57..28c49d008a42 100644 --- a/sdk/schemaregistry/schema-registry/src/index.ts +++ b/sdk/schemaregistry/schema-registry/src/index.ts @@ -3,4 +3,4 @@ export * from "./models"; export { SchemaRegistryClient } from "./schemaRegistryClient"; -export { KnownSerializationType } from "./generated"; +export { KnownSerializationType as KnownSchemaFormat } from "./generated"; diff --git a/sdk/schemaregistry/schema-registry/src/models.ts b/sdk/schemaregistry/schema-registry/src/models.ts index fdb432860a23..53efc6bf681d 100644 --- a/sdk/schemaregistry/schema-registry/src/models.ts +++ b/sdk/schemaregistry/schema-registry/src/models.ts @@ -6,7 +6,7 @@ import { CommonClientOptions, OperationOptions } from "@azure/core-client"; /** * Identifies a Schema by its unique ID, version, and location. */ -export interface SchemaId { +export interface SchemaProperties { /** ID that uniquely identifies a schema in the registry namespace. */ id: string; @@ -14,16 +14,10 @@ export interface SchemaId { * Serialization type of schema. * Currently only 'avro' is supported, but this is subject to change. */ - serializationType: string; + format: string; /** Automatically incremented version number of the schema. */ version: number; - - /** URL of schema by group and name. */ - location: string; - - /** URL of schema by ID. */ - locationById: string; } /** @@ -31,27 +25,27 @@ export interface SchemaId { */ export interface SchemaDescription { /** Schema group under which schema is or should be registered. */ - group: string; + groupName: string; /** Name of schema.*/ name: string; /** - * Serialization type of schema. Must match serialization type of group. - * Currently only 'avro' is supported, but this is subject to change. + * The format of schema and it must match the serialization type of the schema's group. + * Please refer to {@link KnownSerializationType} for possible values. */ - serializationType: string; + format: string; /** String representation of schema. */ - content: string; + definition: string; } /** * Schema definition with its unique ID, version, and location. */ -export interface Schema extends SchemaId { +export interface Schema extends SchemaProperties { /** String representation of schema. */ - content: string; + definition: string; } /** @@ -65,14 +59,14 @@ export interface SchemaRegistryClientOptions extends CommonClientOptions {} export interface RegisterSchemaOptions extends OperationOptions {} /** - * Options for SchemaRegistryClient.getSchemaId. + * Options for SchemaRegistryClient.getSchemaProperties. */ -export interface GetSchemaIdOptions extends OperationOptions {} +export interface GetSchemaPropertiesOptions extends OperationOptions {} /** - * Options to configure SchemaRegistryClient.getSchemaById. + * Options to configure SchemaRegistryClient.getSchema. */ -export interface GetSchemaByIdOptions extends OperationOptions {} +export interface GetSchemaOptions extends OperationOptions {} /** * Represents a store of registered schemas. @@ -91,19 +85,22 @@ export interface SchemaRegistry { * @param schema - Schema to register. * @returns Registered schema's ID. */ - registerSchema(schema: SchemaDescription, options?: RegisterSchemaOptions): Promise; + registerSchema( + schema: SchemaDescription, + options?: RegisterSchemaOptions + ): Promise; /** * Gets the ID of an existing schema with matching name, group, type, and - * content. + * definition. * * @param schema - Schema to match. * @returns Matched schema's ID or undefined if no matching schema was found. */ - getSchemaId( + getSchemaProperties( schema: SchemaDescription, - options?: GetSchemaIdOptions - ): Promise; + options?: GetSchemaPropertiesOptions + ): Promise; /** * Gets an existing schema by ID. @@ -111,5 +108,5 @@ export interface SchemaRegistry { * @param id - Unique schema ID. * @returns Schema with given ID or undefined if no schema was found with the given ID. */ - getSchemaById(id: string, options?: GetSchemaByIdOptions): Promise; + getSchema(id: string, options?: GetSchemaOptions): Promise; } diff --git a/sdk/schemaregistry/schema-registry/src/schemaRegistryClient.ts b/sdk/schemaregistry/schema-registry/src/schemaRegistryClient.ts index 36d0332b5d88..dbccaf0f0e99 100644 --- a/sdk/schemaregistry/schema-registry/src/schemaRegistryClient.ts +++ b/sdk/schemaregistry/schema-registry/src/schemaRegistryClient.ts @@ -10,13 +10,13 @@ import { import { convertSchemaIdResponse, convertSchemaResponse } from "./conversions"; import { - GetSchemaByIdOptions, - GetSchemaIdOptions, + GetSchemaOptions, + GetSchemaPropertiesOptions, SchemaDescription, SchemaRegistryClientOptions, SchemaRegistry, RegisterSchemaOptions, - SchemaId, + SchemaProperties, Schema } from "./models"; import { DEFAULT_SCOPE } from "./constants"; @@ -33,7 +33,7 @@ export class SchemaRegistryClient implements SchemaRegistry { /** Underlying autorest generated client. */ private readonly client: GeneratedSchemaRegistryClient; - private readonly schemaToIdMap: Map; + private readonly schemaToIdMap: Map; private readonly idToSchemaMap: Map; /** @@ -71,9 +71,9 @@ export class SchemaRegistryClient implements SchemaRegistry { this.idToSchemaMap = new Map(); } - private addToCache(schema: SchemaDescription, id: SchemaId): void { + private addToCache(schema: SchemaDescription, id: SchemaProperties): void { this.schemaToIdMap.set(schema, id); - this.idToSchemaMap.set(id.id, { ...id, content: schema.content }); + this.idToSchemaMap.set(id.id, { ...id, definition: schema.definition }); } /** @@ -89,9 +89,9 @@ export class SchemaRegistryClient implements SchemaRegistry { async registerSchema( schema: SchemaDescription, options?: RegisterSchemaOptions - ): Promise { + ): Promise { const id = await this.client.schema - .register(schema.group, schema.name, schema.serializationType, schema.content, options) + .register(schema.groupName, schema.name, schema.format, schema.definition, options) .then(convertSchemaIdResponse); this.addToCache(schema, id); return id; @@ -99,37 +99,24 @@ export class SchemaRegistryClient implements SchemaRegistry { /** * Gets the ID of an existing schema with matching name, group, type, and - * content. + * definition. * * @param schema - Schema to match. * @returns Matched schema's ID or undefined if no matching schema was found. */ - async getSchemaId( + async getSchemaProperties( schema: SchemaDescription, - options?: GetSchemaIdOptions - ): Promise { + options?: GetSchemaPropertiesOptions + ): Promise { const cached = this.schemaToIdMap.get(schema); if (cached !== undefined) { return cached; } - try { - const id = await this.client.schema - .queryIdByContent( - schema.group, - schema.name, - schema.serializationType, - schema.content, - options - ) - .then(convertSchemaIdResponse); - this.addToCache(schema, id); - return id; - } catch (error) { - if (typeof error === "object" && error?.statusCode === 404) { - return undefined; - } - throw error; - } + const id = await this.client.schema + .queryIdByContent(schema.groupName, schema.name, schema.format, schema.definition, options) + .then(convertSchemaIdResponse); + this.addToCache(schema, id); + return id; } /** @@ -138,27 +125,20 @@ export class SchemaRegistryClient implements SchemaRegistry { * @param id - Unique schema ID. * @returns Schema with given ID or undefined if no schema was found with the given ID. */ - async getSchemaById(id: string, options?: GetSchemaByIdOptions): Promise { + async getSchema(id: string, options?: GetSchemaOptions): Promise { const cached = this.idToSchemaMap.get(id); if (cached !== undefined) { return cached; } - try { - const { flatResponse, rawResponse } = await getRawResponse( - (paramOptions) => this.client.schema.getById(id, paramOptions), - options || {} - ); - const schema = convertSchemaResponse(flatResponse, rawResponse); - // the service should send schema's name and group in separate headers so - // we can implement the other direction of the bidirectional caching. - // see https://github.com/Azure/azure-sdk-for-js/issues/16763 - this.idToSchemaMap.set(id, schema); - return schema; - } catch (error) { - if (typeof error === "object" && error?.statusCode === 404) { - return undefined; - } - throw error; - } + const { flatResponse, rawResponse } = await getRawResponse( + (paramOptions) => this.client.schema.getById(id, paramOptions), + options || {} + ); + const schema = convertSchemaResponse(flatResponse, rawResponse); + // the service should send schema's name and group in separate headers so + // we can implement the other direction of the bidirectional caching. + // see https://github.com/Azure/azure-sdk-for-js/issues/16763 + this.idToSchemaMap.set(id, schema); + return schema; } } diff --git a/sdk/schemaregistry/schema-registry/swagger/README.md b/sdk/schemaregistry/schema-registry/swagger/README.md index 9ecd695fb06c..d89ba72eb6de 100644 --- a/sdk/schemaregistry/schema-registry/swagger/README.md +++ b/sdk/schemaregistry/schema-registry/swagger/README.md @@ -10,7 +10,7 @@ https://github.com/Azure/azure-rest-api-specs/pull/10220 is merged. ```yaml v3: true package-name: "@azure/schema-registry" -package-version: 1.0.0-beta.2 +package-version: 1.0.0-beta.3 title: GeneratedSchemaRegistryClient description: Generated Schema Registry Client generate-metadata: false diff --git a/sdk/schemaregistry/schema-registry/test/schemaRegistry.spec.ts b/sdk/schemaregistry/schema-registry/test/schemaRegistry.spec.ts index 65f532a82627..a961136a5686 100644 --- a/sdk/schemaregistry/schema-registry/test/schemaRegistry.spec.ts +++ b/sdk/schemaregistry/schema-registry/test/schemaRegistry.spec.ts @@ -3,13 +3,13 @@ import { createRecordedClient, testEnv } from "./utils/recordedClient"; import { Context } from "mocha"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert, use as chaiUse } from "chai"; import chaiPromises from "chai-as-promised"; chaiUse(chaiPromises); import { ClientSecretCredential } from "@azure/identity"; -import { SchemaRegistryClient, SchemaDescription, SchemaId } from "../src/index"; +import { SchemaRegistryClient, SchemaDescription, SchemaProperties } from "../src/index"; import { FullOperationResponse, OperationOptions } from "@azure/core-client"; import { convertSchemaIdResponse } from "../src/conversions"; @@ -21,9 +21,9 @@ const options: OperationOptions = { const schema: SchemaDescription = { name: "azsdk_js_test", - group: testEnv.SCHEMA_REGISTRY_GROUP, - serializationType: "avro", - content: JSON.stringify({ + groupName: testEnv.SCHEMA_REGISTRY_GROUP, + format: "avro", + definition: JSON.stringify({ type: "record", name: "User", namespace: "com.azure.schemaregistry.samples", @@ -40,23 +40,23 @@ const schema: SchemaDescription = { }) }; -function assertIsNotNullUndefinedOrEmpty(x: SchemaId | string | null | undefined): asserts x { +function assertIsNotNullUndefinedOrEmpty( + x: SchemaProperties | string | null | undefined +): asserts x { assert.isTrue(x !== undefined, "should not be undefined"); assert.isNotNull(x); assert.isNotEmpty(x); } function assertIsValidSchemaId( - schemaId: SchemaId | undefined, + schemaId: SchemaProperties | undefined, expectedSerializationType = "avro" ): asserts schemaId { assertIsNotNullUndefinedOrEmpty(schemaId); assertIsNotNullUndefinedOrEmpty(schemaId.id); - assertIsNotNullUndefinedOrEmpty(schemaId.location); - assertIsNotNullUndefinedOrEmpty(schemaId.locationById); - assertIsNotNullUndefinedOrEmpty(schemaId.serializationType); + assertIsNotNullUndefinedOrEmpty(schemaId.format); assert.isNotNull(schemaId.version); - assert.equal(schemaId.serializationType.toLowerCase(), expectedSerializationType.toLowerCase()); + assert.equal(schemaId.format.toLowerCase(), expectedSerializationType.toLowerCase()); } describe("SchemaRegistryClient", function() { @@ -81,13 +81,10 @@ describe("SchemaRegistryClient", function() { it("rejects schema registration with invalid args", async () => { await assert.isRejected(client.registerSchema({ ...schema, name: null! }), /null/); - await assert.isRejected(client.registerSchema({ ...schema, group: null! }), /null/); - await assert.isRejected(client.registerSchema({ ...schema, content: null! }), /null/); - await assert.isRejected(client.registerSchema({ ...schema, serializationType: null! }), /null/); - await assert.isRejected( - client.registerSchema({ ...schema, serializationType: "not-valid" }), - /not-valid/ - ); + await assert.isRejected(client.registerSchema({ ...schema, groupName: null! }), /null/); + await assert.isRejected(client.registerSchema({ ...schema, definition: null! }), /null/); + await assert.isRejected(client.registerSchema({ ...schema, format: null! }), /null/); + await assert.isRejected(client.registerSchema({ ...schema, format: "not-valid" }), /not-valid/); }); it("registers schema", async () => { @@ -96,60 +93,60 @@ describe("SchemaRegistryClient", function() { }); it("fails to get schema ID when given invalid args", async () => { - await assert.isRejected(client.getSchemaId({ ...schema, name: null! }), /null/); - await assert.isRejected(client.getSchemaId({ ...schema, group: null! }), /null/); - await assert.isRejected(client.getSchemaId({ ...schema, content: null! }), /null/); - await assert.isRejected(client.getSchemaId({ ...schema, serializationType: null! }), /null/); + await assert.isRejected(client.getSchemaProperties({ ...schema, name: null! }), /null/); + await assert.isRejected(client.getSchemaProperties({ ...schema, groupName: null! }), /null/); + await assert.isRejected(client.getSchemaProperties({ ...schema, definition: null! }), /null/); + await assert.isRejected(client.getSchemaProperties({ ...schema, format: null! }), /null/); await assert.isRejected( - client.getSchemaId({ ...schema, serializationType: "not-valid" }), + client.getSchemaProperties({ ...schema, format: "not-valid" }), /not-valid/ ); }); it("fails to get schema ID when no matching schema exists", async () => { - assert.isUndefined(await client.getSchemaId({ ...schema, name: "never-registered" })); + assert.isRejected(client.getSchemaProperties({ ...schema, name: "never-registered" })); }); it("gets schema ID", async () => { const registered = await client.registerSchema(schema, options); assertIsValidSchemaId(registered); - const found = await client.getSchemaId(schema, options); + const found = await client.getSchemaProperties(schema, options); assertIsValidSchemaId(found); - // NOTE: IDs may differ here as we could get a different version with same content. + // NOTE: IDs may differ here as we could get a different version with same definition. }); it("fails to get schema by ID when given invalid ID", async () => { - await assert.isRejected(client.getSchemaById(null!), /null/); + await assert.isRejected(client.getSchema(null!), /null/); }); it("fails to get schema when no schema exists with given ID", async () => { - assert.isUndefined(await client.getSchemaById("ffffffffffffffffffffffffffffffff")); + assert.isRejected(client.getSchema("ffffffffffffffffffffffffffffffff")); }); it("gets schema by ID", async () => { const registered = await client.registerSchema(schema, options); assertIsValidSchemaId(registered); - const found = await client.getSchemaById(registered.id, options); + const found = await client.getSchema(registered.id, options); assertIsValidSchemaId(found); - assert.equal(found.content, schema.content); + assert.equal(found.definition, schema.definition); }); it("cache schema and ID", async () => { const registered = await client.registerSchema(schema, options); assertIsValidSchemaId(registered); - const foundSchema = await client.getSchemaById(registered.id, { + const foundSchema = await client.getSchema(registered.id, { onResponse: () => { assert.fail("Unexpected call to the service"); } }); assertIsValidSchemaId(foundSchema); - assert.equal(foundSchema.content, schema.content); + assert.equal(foundSchema.definition, schema.definition); - const foundId = await client.getSchemaId(schema, { + const foundId = await client.getSchemaProperties(schema, { onResponse: () => { assert.fail("Unexpected call to the service"); } @@ -161,33 +158,33 @@ describe("SchemaRegistryClient", function() { it("cache schema and ID if not registered by the current client instance", async () => { // register a schema without caching. const registered = await client["client"]["schema"] - .register(schema.group, schema.name, schema.serializationType, schema.content, options) + .register(schema.groupName, schema.name, schema.format, schema.definition, options) .then(convertSchemaIdResponse); assertIsValidSchemaId(registered); let firstCall = false; // first call sends a request to the service and then cache the response - const foundSchemaFirstCall = await client.getSchemaById(registered.id, { + const foundSchemaFirstCall = await client.getSchema(registered.id, { onResponse: () => { firstCall = true; } }); assert.isTrue(firstCall, "Expected call to the service did not happen"); assertIsValidSchemaId(foundSchemaFirstCall); - assert.equal(foundSchemaFirstCall.content, schema.content); + assert.equal(foundSchemaFirstCall.definition, schema.definition); // second call returns the result from the cache - const foundSchemaSecondCall = await client.getSchemaById(registered.id, { + const foundSchemaSecondCall = await client.getSchema(registered.id, { onResponse: () => { assert.fail("Unexpected call to the service"); } }); assert.isTrue(firstCall, "Expected call to the service did not happen"); assertIsValidSchemaId(foundSchemaSecondCall); - assert.equal(foundSchemaSecondCall.content, schema.content); + assert.equal(foundSchemaSecondCall.definition, schema.definition); firstCall = false; // first call sends a request to the service and then cache the response - const foundIdFirstCall = await client.getSchemaId(schema, { + const foundIdFirstCall = await client.getSchemaProperties(schema, { onResponse: () => { firstCall = true; } @@ -197,7 +194,7 @@ describe("SchemaRegistryClient", function() { assert.equal(foundIdFirstCall?.id, registered.id); // second call returns the result from the cache - const foundIdSecondCall = await client.getSchemaId(schema, { + const foundIdSecondCall = await client.getSchemaProperties(schema, { onResponse: () => { assert.fail("Unexpected call to the service"); } @@ -206,4 +203,52 @@ describe("SchemaRegistryClient", function() { assertIsValidSchemaId(foundIdSecondCall); assert.equal(foundIdSecondCall?.id, registered.id); }); + + it("schema with whitespace", async () => { + const schema2: SchemaDescription = { + name: "azsdk_js_test2", + groupName: testEnv.SCHEMA_REGISTRY_GROUP, + format: "avro", + definition: + "{\n" + + ' "type": "record",\n' + + ' "name": "Test",\n' + + ' "fields": [{ "name": "X", "type": { "type": "string" } }]\n' + + "}\n" + }; + // definition that is going to the service has whitespaces + const registered = await client.registerSchema(schema2, options); + assertIsValidSchemaId(registered); + + const foundSchema = await client.getSchema(registered.id, { + onResponse: () => { + assert.fail("Unexpected call to the service"); + } + }); + assertIsValidSchemaId(foundSchema); + assert.equal(foundSchema.definition, schema2.definition); + + let ran = false; + const foundId = await client.getSchemaProperties( + { + // definition that comes from the service does not have whitespaces + definition: foundSchema.definition, + groupName: schema2.groupName, + name: schema2.name, + format: foundSchema.format + }, + { + onResponse: () => { + ran = true; + } + } + ); + // the schema comes from the service normalized so that its definition has no whitespace + // which is different from the original schema that was registered first and lives + // in the cache. There is a trade-off between the perf hit for doing client-side + // normalization and the perf hit for doing an extra call to the service for the + // normalized one. + assert.isTrue(ran, "Expected call to the service did not happen"); + assertIsValidSchemaId(foundId); + }); }); diff --git a/sdk/schemaregistry/schema-registry/test/utils/recordedClient.ts b/sdk/schemaregistry/schema-registry/test/utils/recordedClient.ts index 11162ba14fa3..4a7c97da54a5 100644 --- a/sdk/schemaregistry/schema-registry/test/utils/recordedClient.ts +++ b/sdk/schemaregistry/schema-registry/test/utils/recordedClient.ts @@ -4,7 +4,7 @@ import { Context } from "mocha"; import * as dotenv from "dotenv"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { ClientSecretCredential } from "@azure/identity"; import { isNode } from "@azure/core-util"; diff --git a/sdk/search/arm-search/README.md b/sdk/search/arm-search/README.md index 8a1589580eac..85c9e833641d 100644 --- a/sdk/search/arm-search/README.md +++ b/sdk/search/arm-search/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SearchManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/search/perf-tests/search-documents/package.json b/sdk/search/perf-tests/search-documents/package.json index c650327c855e..3bb15d24e09c 100644 --- a/sdk/search/perf-tests/search-documents/package.json +++ b/sdk/search/perf-tests/search-documents/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-search-documents", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -7,8 +8,8 @@ "author": "", "license": "ISC", "dependencies": { - "@azure/identity": "2.0.0-beta.4", - "@azure/search-documents": "11.3.0-beta.2", + "@azure/identity": "2.0.0-beta.5", + "@azure/search-documents": "11.3.0-beta.3", "@azure/test-utils-perfstress": "^1.0.0", "dotenv": "^8.2.0" }, @@ -18,18 +19,18 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "private": true, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -37,7 +38,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/search/perf-tests/search-documents/test/core/documentsGenerator.ts b/sdk/search/perf-tests/search-documents/test/core/documentsGenerator.ts index 40109361f3f6..018301efce52 100644 --- a/sdk/search/perf-tests/search-documents/test/core/documentsGenerator.ts +++ b/sdk/search/perf-tests/search-documents/test/core/documentsGenerator.ts @@ -1,19 +1,21 @@ import { Hotel } from "./hotel"; -export function generateHotels(documentsCount: number):Hotel[] { - const hotels:Hotel[] = []; - for(let i = 0; i < documentsCount; i++) { +export function generateHotels(documentsCount: number): Hotel[] { + const hotels: Hotel[] = []; + for (let i = 0; i < documentsCount; i++) { hotels.push(createHotel(i)); } return hotels; } function createHotel(hotelId: number): Hotel { - const hotel:Hotel = { + const hotel: Hotel = { hotelId: hotelId.toString(), hotelName: "Secret Point Motel", - description: "The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time's Square and the historic centre of the city, as well as other places of interest that make New York one of America's most attractive and cosmopolitan cities.", - descriptionFr: "L'hôtel est idéalement situé sur la principale artère commerciale de la ville en plein cœur de New York. A quelques minutes se trouve la place du temps et le centre historique de la ville, ainsi que d'autres lieux d'intérêt qui font de New York l'une des villes les plus attractives et cosmopolites de l'Amérique.", + description: + "The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time's Square and the historic centre of the city, as well as other places of interest that make New York one of America's most attractive and cosmopolitan cities.", + descriptionFr: + "L'hôtel est idéalement situé sur la principale artère commerciale de la ville en plein cœur de New York. A quelques minutes se trouve la place du temps et le centre historique de la ville, ainsi que d'autres lieux d'intérêt qui font de New York l'une des villes les plus attractives et cosmopolites de l'Amérique.", category: "Boutique", tags: ["pool", "air conditioning", "concierge"], parkingIncluded: false, @@ -26,6 +28,6 @@ function createHotel(hotelId: number): Hotel { country: "USA", postalCode: "10022" } - } + }; return hotel; } diff --git a/sdk/search/perf-tests/search-documents/test/core/hotel.ts b/sdk/search/perf-tests/search-documents/test/core/hotel.ts index 7186cda365f3..dc55c1825d85 100644 --- a/sdk/search/perf-tests/search-documents/test/core/hotel.ts +++ b/sdk/search/perf-tests/search-documents/test/core/hotel.ts @@ -1,6 +1,4 @@ -import { - GeographyPoint -} from "@azure/search-documents"; +import { GeographyPoint } from "@azure/search-documents"; export interface Hotel { hotelId: string; diff --git a/sdk/search/perf-tests/search-documents/test/core/searchDocumentsBase.spec.ts b/sdk/search/perf-tests/search-documents/test/core/searchDocumentsBase.spec.ts index ef9bbab2be78..545bbefde80e 100644 --- a/sdk/search/perf-tests/search-documents/test/core/searchDocumentsBase.spec.ts +++ b/sdk/search/perf-tests/search-documents/test/core/searchDocumentsBase.spec.ts @@ -13,7 +13,9 @@ export interface SearchDocumentsTestOptions { documentsCount: number; } -export abstract class SearchDocumentsBase> extends PerfStressTest { +export abstract class SearchDocumentsBase< + TOptions = Record +> extends PerfStressTest { searchIndexClient: SearchIndexClient; searchClient: SearchClient; indexName: string; diff --git a/sdk/search/perf-tests/search-documents/test/index.spec.ts b/sdk/search/perf-tests/search-documents/test/index.spec.ts index cde6a4c3c8d4..b890db7613b7 100644 --- a/sdk/search/perf-tests/search-documents/test/index.spec.ts +++ b/sdk/search/perf-tests/search-documents/test/index.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { PerfStressProgram, selectPerfStressTest } from "@azure/test-utils-perfstress"; -import { AutoCompleteTest } from "./autoCompleteTest.spec" +import { AutoCompleteTest } from "./autoCompleteTest.spec"; import { IndexDocumentsTest } from "./indexDocumentsTest.spec"; import { SearchDocumentsTest } from "./searchDocumentsTest.spec"; import { SuggestTest } from "./suggestTest.spec"; @@ -12,6 +12,8 @@ dotenv.config(); console.log("=== Starting the perfStress test ==="); -const perfStressProgram = new PerfStressProgram(selectPerfStressTest([AutoCompleteTest, IndexDocumentsTest, SearchDocumentsTest, SuggestTest])); +const perfStressProgram = new PerfStressProgram( + selectPerfStressTest([AutoCompleteTest, IndexDocumentsTest, SearchDocumentsTest, SuggestTest]) +); perfStressProgram.run(); diff --git a/sdk/search/perf-tests/search-documents/test/indexDocumentsTest.spec.ts b/sdk/search/perf-tests/search-documents/test/indexDocumentsTest.spec.ts index 8df9c45a15b6..618dd70902ce 100644 --- a/sdk/search/perf-tests/search-documents/test/indexDocumentsTest.spec.ts +++ b/sdk/search/perf-tests/search-documents/test/indexDocumentsTest.spec.ts @@ -22,8 +22,10 @@ export class IndexDocumentsTest extends SearchDocumentsBase { - for(let i = 0; i < this.hotels.length; i++) { - this.hotels[i].hotelId = (Math.floor(Math.random() * ((this.hotels.length * 2) - this.hotels.length + 1) + this.hotels.length)).toString(); + for (let i = 0; i < this.hotels.length; i++) { + this.hotels[i].hotelId = Math.floor( + Math.random() * (this.hotels.length * 2 - this.hotels.length + 1) + this.hotels.length + ).toString(); } const batch: IndexDocumentsBatch = new IndexDocumentsBatch(); batch.upload(this.hotels); diff --git a/sdk/search/perf-tests/search-documents/test/suggestTest.spec.ts b/sdk/search/perf-tests/search-documents/test/suggestTest.spec.ts index 0d8fb9b828d7..8c81cb94b2cd 100644 --- a/sdk/search/perf-tests/search-documents/test/suggestTest.spec.ts +++ b/sdk/search/perf-tests/search-documents/test/suggestTest.spec.ts @@ -22,6 +22,6 @@ export class SuggestTest extends SearchDocumentsBase } async runAsync(): Promise { - await this.searchClient.suggest("historic", this.suggesterName) + await this.searchClient.suggest("historic", this.suggesterName); } } diff --git a/sdk/search/perf-tests/search-documents/tsconfig.json b/sdk/search/perf-tests/search-documents/tsconfig.json index caf47199c2d2..8f2cdf274c38 100644 --- a/sdk/search/perf-tests/search-documents/tsconfig.json +++ b/sdk/search/perf-tests/search-documents/tsconfig.json @@ -4,17 +4,10 @@ "module": "CommonJS", "target": "ES2015", "declarationDir": "./types", - "lib": [ - "ES6", - "ESNext.AsyncIterable" - ], + "lib": ["ES6", "ESNext.AsyncIterable"], "noEmit": true, "outDir": "./dist-esm" }, - "include": [ - "./test/**/*.ts" - ], - "exclude": [ - "node_modules" - ] + "include": ["./test/**/*.ts"], + "exclude": ["node_modules"] } diff --git a/sdk/search/search-documents/CHANGELOG.md b/sdk/search/search-documents/CHANGELOG.md index e3efb5a514c5..9efe51498cb6 100644 --- a/sdk/search/search-documents/CHANGELOG.md +++ b/sdk/search/search-documents/CHANGELOG.md @@ -1,5 +1,12 @@ # Release History +## 11.3.0-beta.3 (2021-09-07) + +### Features Added + +- Added a new property `normalizerName` to the `AnalyzeRequest` object. +- Added 2 new properties `captions` & `semanticFields` to the `SearchRequestOptions` object. + ## 11.3.0-beta.2 (2021-08-10) ### Features Added diff --git a/sdk/search/search-documents/karma.conf.js b/sdk/search/search-documents/karma.conf.js index 3d043d318dec..8dfa92ac4fd5 100644 --- a/sdk/search/search-documents/karma.conf.js +++ b/sdk/search/search-documents/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ // base path that will be used to resolve all patterns (eg. files, exclude) diff --git a/sdk/search/search-documents/package.json b/sdk/search/search-documents/package.json index 9ccf63957c08..72b8b96e4ae2 100644 --- a/sdk/search/search-documents/package.json +++ b/sdk/search/search-documents/package.json @@ -1,6 +1,6 @@ { "name": "@azure/search-documents", - "version": "11.3.0-beta.2", + "version": "11.3.0-beta.3", "description": "Azure client library to use Cognitive Search for node.js and browser.", "sdk-type": "client", "main": "dist/index.js", @@ -10,21 +10,20 @@ "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", - "build:samples": "dev-tool samples prep && cd dist-samples && tsc -p .", + "build:samples": "echo Obsolete.", + "execute:samples": "dev-tool samples run samples-dev", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", - "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", - "execute:samples": "npm run build:samples && dev-tool samples run dist-samples/javascript dist-samples/typescript/dist/dist-samples/typescript/src/", "extract-api": "tsc -p . && api-extractor run --local", - "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "karma start --single-run", "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 5000000 --full-trace dist-esm/**/*.spec.js --harmony", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser", "test:node": "npm run build:test && npm run unit-test:node", "test": "npm run build:test && npm run unit-test", @@ -87,7 +86,7 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-json": "^4.0.0", "@rollup/plugin-multi-entry": "^3.0.0", @@ -127,9 +126,20 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", "sinon": "^9.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "util": "^0.12.1", "typedoc": "0.15.2" + }, + "//sampleConfiguration": { + "productName": "Azure Search Documents", + "productSlugs": [ + "azure", + "azure-cognitive-search", + "azure-search" + ], + "requiredResources": { + "Azure Search Documents instance": "https://docs.microsoft.com/azure/search/search-create-service-portal" + } } } diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_autocomplete_returns_the_correct_autocomplete_result.js b/sdk/search/search-documents/recordings/node/searchclient/recording_autocomplete_returns_the_correct_autocomplete_result.js index 02118656f295..602203636264 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_autocomplete_returns_the_correct_autocomplete_result.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_autocomplete_returns_the_correct_autocomplete_result.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'f03c6e82-9aa6-4aff-af6a-ac8f5b66d9fe', + '5a860e71-10ba-4f26-9c9a-7b2a8847de93', 'elapsed-time', - '11', + '141', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:23:56 GMT', + 'Thu, 02 Sep 2021 05:50:55 GMT', 'Content-Length', '164' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_autocomplete_returns_zero_results_for_invalid_query.js b/sdk/search/search-documents/recordings/node/searchclient/recording_autocomplete_returns_zero_results_for_invalid_query.js index 5413172d2751..e1302ea3fbc7 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_autocomplete_returns_zero_results_for_invalid_query.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_autocomplete_returns_zero_results_for_invalid_query.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'af6280d6-9fa2-45c7-968e-239c0d9af5a3', + '14b6920b-7e2b-4dbb-8e54-1b90758df64c', 'elapsed-time', - '16', + '18', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:24:13 GMT', + 'Thu, 02 Sep 2021 05:51:13 GMT', 'Content-Length', '133' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_count_returns_the_correct_document_count.js b/sdk/search/search-documents/recordings/node/searchclient/recording_count_returns_the_correct_document_count.js index 9e7a96b7984a..44c576eafdc4 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_count_returns_the_correct_document_count.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_count_returns_the_correct_document_count.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '8fd83cf3-7f24-485a-8d6f-04f0c44ba0dd', + '504781eb-ca5b-414f-a604-017ec37442cf', 'elapsed-time', - '4', + '11', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:23:38 GMT', + 'Thu, 02 Sep 2021 05:50:38 GMT', 'Content-Length', '127' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_deletedocuments_delete_a_document_by_documents.js b/sdk/search/search-documents/recordings/node/searchclient/recording_deletedocuments_delete_a_document_by_documents.js index 8d85161ab93c..2ae6cdc32a82 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_deletedocuments_delete_a_document_by_documents.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_deletedocuments_delete_a_document_by_documents.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '0d8be033-f69a-4463-a1a1-1efd032e4de0', + '60e5d4a7-33d8-4929-98f2-7eca71b54665', 'elapsed-time', - '12', + '18', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:26:14 GMT', + 'Thu, 02 Sep 2021 05:53:13 GMT', 'Content-Length', '411' ]); @@ -53,9 +53,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '55de0394-3e6d-49e6-9300-099d37b125dc', + 'd62d5227-a114-4602-b1a7-dcb8c2cce8ca', 'elapsed-time', - '24', + '33', 'OData-Version', '4.0', 'Preference-Applied', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:26:14 GMT', + 'Thu, 02 Sep 2021 05:53:13 GMT', 'Content-Length', '184' ]); @@ -85,9 +85,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '6a99070a-ad9f-48c5-b7c8-47589d8e3845', + '010efe5c-cfbd-4a46-9d81-6e4f268c1605', 'elapsed-time', - '4', + '9', 'OData-Version', '4.0', 'Preference-Applied', @@ -95,7 +95,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:26:18 GMT', + 'Thu, 02 Sep 2021 05:53:18 GMT', 'Content-Length', '126' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_deletedocuments_delete_a_document_by_keykeynames.js b/sdk/search/search-documents/recordings/node/searchclient/recording_deletedocuments_delete_a_document_by_keykeynames.js index 282c71f9e81a..af1c6704db81 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_deletedocuments_delete_a_document_by_keykeynames.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_deletedocuments_delete_a_document_by_keykeynames.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'e0d66ca0-e1a4-402c-ab53-3e9077381938', + '7b8b5cfe-a23e-4958-b669-7536bd2fe663', 'elapsed-time', - '46', + '31', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:26:35 GMT', + 'Thu, 02 Sep 2021 05:53:35 GMT', 'Content-Length', '191' ]); @@ -53,7 +53,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '8af21e96-a39c-4218-a65e-c3013d88c876', + '8a3b1a56-5f31-46b5-bb2d-882687b50edc', 'elapsed-time', '5', 'OData-Version', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:26:39 GMT', + 'Thu, 02 Sep 2021 05:53:39 GMT', 'Content-Length', '126' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_getdocument_returns_the_correct_document_result.js b/sdk/search/search-documents/recordings/node/searchclient/recording_getdocument_returns_the_correct_document_result.js index 0fa80545e3e8..3b6e2c11279a 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_getdocument_returns_the_correct_document_result.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_getdocument_returns_the_correct_document_result.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'c0aedd5d-a3a6-4cb9-94cd-7312638eff1c', + '934baa75-3f65-4aa5-9143-78724e98bb9b', 'elapsed-time', - '16', + '38', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:25:39 GMT', + 'Thu, 02 Sep 2021 05:52:39 GMT', 'Content-Length', '411' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_getdocument_throws_error_for_invalid_getdocument_value.js b/sdk/search/search-documents/recordings/node/searchclient/recording_getdocument_throws_error_for_invalid_getdocument_value.js index 3caf1d90cd22..39b6e152a132 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_getdocument_throws_error_for_invalid_getdocument_value.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_getdocument_throws_error_for_invalid_getdocument_value.js @@ -15,13 +15,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'request-id', - '9c15a122-141f-45b7-ae05-e6b31bf5d207', + '3667d355-b8c9-41c5-b498-a22736b95fdf', 'elapsed-time', - '4', + '14', 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:25:57 GMT', + 'Thu, 02 Sep 2021 05:52:57 GMT', 'Content-Length', '0' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_deletes_existing_documents.js b/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_deletes_existing_documents.js index cad788529a2a..cd296f780de8 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_deletes_existing_documents.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_deletes_existing_documents.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '603105c4-eb25-4a5c-a1f5-19072d56e30a', + '744c1e50-6108-442b-8dd3-8135d1f9bf79', 'elapsed-time', - '31', + '33', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:28:43 GMT', + 'Thu, 02 Sep 2021 05:55:43 GMT', 'Content-Length', '191' ]); @@ -53,9 +53,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '95ddfd9e-8f14-4218-a963-9b5d6501053b', + 'c13586f0-335c-439c-9271-e3a480ed46ec', 'elapsed-time', - '10', + '6', 'OData-Version', '4.0', 'Preference-Applied', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:28:47 GMT', + 'Thu, 02 Sep 2021 05:55:47 GMT', 'Content-Length', '126' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_merges_an_existing_document.js b/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_merges_an_existing_document.js index 82f930686cef..72e137ae2593 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_merges_an_existing_document.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_merges_an_existing_document.js @@ -21,7 +21,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'cdc029b3-085a-4ad8-b420-e9502d94cb78', + 'f1341825-c2e2-4893-998e-09cf131b200f', 'elapsed-time', '32', 'OData-Version', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:29:05 GMT', + 'Thu, 02 Sep 2021 05:56:04 GMT', 'Content-Length', '184' ]); @@ -53,9 +53,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '71dc3e67-2e2a-4d9c-8156-5926e6d0d615', + 'e020dfc5-7dc1-47cb-b58d-8d2720f5a7f5', 'elapsed-time', - '8', + '16', 'OData-Version', '4.0', 'Preference-Applied', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:29:08 GMT', + 'Thu, 02 Sep 2021 05:56:08 GMT', 'Content-Length', '364' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_mergeupload_documents.js b/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_mergeupload_documents.js index 83c8dbfdf659..dc57734fab9a 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_mergeupload_documents.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_mergeupload_documents.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '4cde60b8-4fee-463b-99b4-63be9a1e77ff', + '9cce2347-4462-478d-b83c-acaa51b2aec8', 'elapsed-time', - '46', + '47', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:29:26 GMT', + 'Thu, 02 Sep 2021 05:56:26 GMT', 'Content-Length', '194' ]); @@ -53,9 +53,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '9f6799be-72b1-4bf4-ba92-12b7f390b3ef', + '09f076d0-0c0e-4208-b503-1b140014688e', 'elapsed-time', - '10', + '9', 'OData-Version', '4.0', 'Preference-Applied', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:29:30 GMT', + 'Thu, 02 Sep 2021 05:56:29 GMT', 'Content-Length', '364' ]); @@ -85,9 +85,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '598c96e0-e2c1-4eab-be5a-0b79bfb6158e', + '85091584-461f-4b10-97bf-46cc26a06c5c', 'elapsed-time', - '33', + '4', 'OData-Version', '4.0', 'Preference-Applied', @@ -95,7 +95,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:29:30 GMT', + 'Thu, 02 Sep 2021 05:56:30 GMT', 'Content-Length', '127' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_upload_a_new_document.js b/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_upload_a_new_document.js index 2d28e28f4cfd..0cdbf0465c15 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_upload_a_new_document.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_indexdocuments_upload_a_new_document.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '53282282-0994-4f34-8442-df3249d42726', + 'eb2bcd7b-9b30-45b0-82ab-01098d3d81eb', 'elapsed-time', - '34', + '27', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:28:22 GMT', + 'Thu, 02 Sep 2021 05:55:22 GMT', 'Content-Length', '185' ]); @@ -53,7 +53,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'e11adb40-8735-49c7-af59-f3c4b55fc229', + '77462054-f77b-46d3-81f7-781aaef23ef5', 'elapsed-time', '4', 'OData-Version', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:28:26 GMT', + 'Thu, 02 Sep 2021 05:55:26 GMT', 'Content-Length', '127' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_mergedocuments_modify__merge_an_existing_document.js b/sdk/search/search-documents/recordings/node/searchclient/recording_mergedocuments_modify__merge_an_existing_document.js index ad65191cd17a..e312de05adcf 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_mergedocuments_modify__merge_an_existing_document.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_mergedocuments_modify__merge_an_existing_document.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '8217b75c-ebfa-40c9-abaf-b7fe58f5e0df', + '3d2f3c8f-411e-46d4-ad60-58a9e458c9fe', 'elapsed-time', - '10', + '13', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:27:40 GMT', + 'Thu, 02 Sep 2021 05:54:38 GMT', 'Content-Length', '301' ]); @@ -53,9 +53,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '6fee1cf6-7888-4115-a707-0554995ab931', + 'cb17d5df-d927-44c8-95e1-11e21ae3d41c', 'elapsed-time', - '26', + '27', 'OData-Version', '4.0', 'Preference-Applied', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:27:40 GMT', + 'Thu, 02 Sep 2021 05:54:38 GMT', 'Content-Length', '184' ]); @@ -85,9 +85,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'a5f4731c-b78b-4dc9-b400-cef73bc6a473', + '8a0b79ad-78df-4d51-bfd0-5b6edaa721d2', 'elapsed-time', - '10', + '13', 'OData-Version', '4.0', 'Preference-Applied', @@ -95,7 +95,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:27:43 GMT', + 'Thu, 02 Sep 2021 05:54:43 GMT', 'Content-Length', '264' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_mergeoruploaddocuments_merge_a_new_document.js b/sdk/search/search-documents/recordings/node/searchclient/recording_mergeoruploaddocuments_merge_a_new_document.js index 388846d15e43..6c5be9cdef21 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_mergeoruploaddocuments_merge_a_new_document.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_mergeoruploaddocuments_merge_a_new_document.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'ada20143-94cc-4688-8810-fc121166d200', + '023c52e8-349c-4e2e-bf45-2e3bc7d5d7e2', 'elapsed-time', - '30', + '24', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:27:18 GMT', + 'Thu, 02 Sep 2021 05:54:18 GMT', 'Content-Length', '185' ]); @@ -53,7 +53,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '9e44b617-4fd6-41b5-8c0c-e83b92811260', + 'abb1bc6b-cab3-4147-810f-66df0f7b05e6', 'elapsed-time', '5', 'OData-Version', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:27:22 GMT', + 'Thu, 02 Sep 2021 05:54:22 GMT', 'Content-Length', '127' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_mergeoruploaddocuments_modify__merge_an_existing_document.js b/sdk/search/search-documents/recordings/node/searchclient/recording_mergeoruploaddocuments_modify__merge_an_existing_document.js index 031b7b86048a..5b7dc737d70c 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_mergeoruploaddocuments_modify__merge_an_existing_document.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_mergeoruploaddocuments_modify__merge_an_existing_document.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'acf6aa97-f13f-475f-b380-0bf6839c1d06', + '3d6b7e8c-2324-4e72-955a-715bd88a61db', 'elapsed-time', - '16', + '17', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:26:57 GMT', + 'Thu, 02 Sep 2021 05:53:57 GMT', 'Content-Length', '301' ]); @@ -53,9 +53,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'a7930993-d2e4-4634-96f0-bfcfa95247d7', + '84ba7741-3437-4c20-9509-f2e770c39f1e', 'elapsed-time', - '31', + '29', 'OData-Version', '4.0', 'Preference-Applied', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:26:57 GMT', + 'Thu, 02 Sep 2021 05:53:57 GMT', 'Content-Length', '184' ]); @@ -85,9 +85,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '316a3ec0-85a2-429f-ab44-bb9e28a3ac02', + '13810b54-1db5-47ba-8ccf-d0938e8ef3fe', 'elapsed-time', - '8', + '10', 'OData-Version', '4.0', 'Preference-Applied', @@ -95,7 +95,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:27:01 GMT', + 'Thu, 02 Sep 2021 05:54:01 GMT', 'Content-Length', '264' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_search_returns_the_correct_search_result.js b/sdk/search/search-documents/recordings/node/searchclient/recording_search_returns_the_correct_search_result.js index 0ec7bc05f26b..3fb8c05465e8 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_search_returns_the_correct_search_result.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_search_returns_the_correct_search_result.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '98828bee-fb0b-4fcf-a283-e35fcd239e99', + '9ad27a2d-241d-4c92-a445-015118602829', 'elapsed-time', - '42', + '140', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:24:31 GMT', + 'Thu, 02 Sep 2021 05:51:30 GMT', 'Content-Length', '1958' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_search_returns_zero_results_for_invalid_query.js b/sdk/search/search-documents/recordings/node/searchclient/recording_search_returns_zero_results_for_invalid_query.js index 93ebd36c8674..e76a0a916327 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_search_returns_zero_results_for_invalid_query.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_search_returns_zero_results_for_invalid_query.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '814245b2-d823-4527-9ac3-46a8c6546fb3', + 'de2cc414-3427-4e29-a3c6-9c535860cae6', 'elapsed-time', - '22', + '36', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:24:48 GMT', + 'Thu, 02 Sep 2021 05:51:48 GMT', 'Content-Length', '149' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_suggest_returns_the_correct_suggestions.js b/sdk/search/search-documents/recordings/node/searchclient/recording_suggest_returns_the_correct_suggestions.js index 987955196edd..296842a5d7ba 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_suggest_returns_the_correct_suggestions.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_suggest_returns_the_correct_suggestions.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '469e45c8-209c-49c4-b47c-55f50622f5e6', + '1e5177fb-9a99-49a3-bce4-f7d044e50bdb', 'elapsed-time', - '33', + '186', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:25:05 GMT', + 'Thu, 02 Sep 2021 05:52:05 GMT', 'Content-Length', '295' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_suggest_returns_zero_suggestions_for_invalid_input.js b/sdk/search/search-documents/recordings/node/searchclient/recording_suggest_returns_zero_suggestions_for_invalid_input.js index 34e7dc19c2ac..6af460848319 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_suggest_returns_zero_suggestions_for_invalid_input.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_suggest_returns_zero_suggestions_for_invalid_input.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'f951fdbb-7a55-455e-b9ff-43c537041d28', + '46c6a328-8fa8-42ca-aec9-aa5fa8198e0d', 'elapsed-time', - '23', + '39', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:25:22 GMT', + 'Thu, 02 Sep 2021 05:52:22 GMT', 'Content-Length', '133' ]); diff --git a/sdk/search/search-documents/recordings/node/searchclient/recording_uploaddocuments_upload_a_set_of_documents.js b/sdk/search/search-documents/recordings/node/searchclient/recording_uploaddocuments_upload_a_set_of_documents.js index 6df1ffc1ba71..8d1ce351cc42 100644 --- a/sdk/search/search-documents/recordings/node/searchclient/recording_uploaddocuments_upload_a_set_of_documents.js +++ b/sdk/search/search-documents/recordings/node/searchclient/recording_uploaddocuments_upload_a_set_of_documents.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '02629da0-5b9a-41f4-946b-7c95df0208a7', + '72f620a2-cdd7-43ca-a8b8-df0ae46c2756', 'elapsed-time', - '31', + '50', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:28:01 GMT', + 'Thu, 02 Sep 2021 05:55:01 GMT', 'Content-Length', '191' ]); @@ -53,7 +53,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'f8e999ec-a98a-4836-9792-e0ca435878d3', + '227fbaef-1a9d-4943-af4b-149a00445e9a', 'elapsed-time', '4', 'OData-Version', @@ -63,7 +63,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:28:05 GMT', + 'Thu, 02 Sep 2021 05:55:05 GMT', 'Content-Length', '127' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_creates_the_index_object_using_createorupdateindex.js b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_creates_the_index_object_using_createorupdateindex.js index 5e0a5f47ad54..1cb88ce3ff0f 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_creates_the_index_object_using_createorupdateindex.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_creates_the_index_object_using_createorupdateindex.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "4a64e1a7ed1d5206cb73572bc9a5afc9"; +module.exports.hash = "a8cc1eba57ae3de04b2436a3084c86bf"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .put('/indexes(%27hotel-live-test4%27)', {"name":"hotel-live-test4","fields":[{"name":"id","type":"Edm.String","key":true,"searchable":false,"filterable":false,"sortable":false,"facetable":false},{"name":"awesomenessLevel","type":"Edm.Double","searchable":false,"filterable":true,"sortable":true,"facetable":true},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"sortable":false,"facetable":false},{"name":"details","type":"Edm.ComplexType","fields":[{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":false,"sortable":false,"facetable":false}]},{"name":"hiddenWeight","type":"Edm.Int32","retrievable":false,"searchable":false,"filterable":false,"sortable":false,"facetable":false}]}) .query(true) - .reply(201, {"@odata.context":"https://endpoint/$metadata#indexes/$entity","@odata.etag":"\"0x8D9561E60573303\"","name":"hotel-live-test4","defaultScoringProfile":null,"fields":[{"name":"id","type":"Edm.String","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"awesomenessLevel","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"details","type":"Edm.ComplexType","fields":[{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]}]},{"name":"hiddenWeight","type":"Edm.Int32","searchable":false,"filterable":false,"retrievable":false,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"normalizers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}, [ + .reply(201, {"@odata.context":"https://endpoint/$metadata#indexes/$entity","@odata.etag":"\"0x8D96DD6A587B28B\"","name":"hotel-live-test4","defaultScoringProfile":null,"fields":[{"name":"id","type":"Edm.String","searchable":false,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":true,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"awesomenessLevel","type":"Edm.Double","searchable":false,"filterable":true,"retrievable":true,"sortable":true,"facetable":true,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"details","type":"Edm.ComplexType","fields":[{"name":"tags","type":"Collection(Edm.String)","searchable":true,"filterable":false,"retrievable":true,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]}]},{"name":"hiddenWeight","type":"Edm.Int32","searchable":false,"filterable":false,"retrievable":false,"sortable":false,"facetable":false,"key":false,"indexAnalyzer":null,"searchAnalyzer":null,"analyzer":null,"normalizer":null,"synonymMaps":[]}],"scoringProfiles":[],"corsOptions":null,"suggesters":[],"analyzers":[],"normalizers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null}}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -17,13 +17,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E60573303"', + 'W/"0x8D96DD6A587B28B"', 'Location', "https://endpoint/indexes('hotel-live-test4')?api-version=2020-06-30-Preview", 'request-id', - '7665e384-6907-4ce2-b147-4bb99bf290fb', + 'a7cda2c2-8129-4815-bc48-b9b112efa71d', 'elapsed-time', - '665', + '626', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:31:11 GMT', + 'Thu, 02 Sep 2021 05:58:11 GMT', 'Content-Length', '1698' ]); @@ -39,7 +39,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/indexes(%27hotel-live-test4%27)') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1fdeff74f7f4d39dfb0feedddbb9f7fb7e44ad96d922a7afe7559b97db6571996fa3db7dfa66969f67ebb27d3dadea6279f1b2aece8b929a2ed76539fae8bcc8cb59f3d1a3effd6203a198d13bedf50abf9fce16e3d72d5ea3cf04ed6c8297cfb3b2c9f176d9e675f0519d53fbfc523e6beb357dd454752b7f6b9bf36c4aa3f13f799b5f9bd64c80e365565eff20af0d9ad277f7d3acf3f7b2aa175959789f34d7cb6a79bdf8225b618cdfff25233bccec2a6faa45becc9be6797e999734406fd04fab35d02300dc7180ab3f684179e398e56f6fc8f2018f5821fe90863ccb9b695dacdaa25ad2c8bcd146a758d0f407abd86e1cadb6f186ab9ffc9c8cb7cd8ab2a17179633da916ab327ff7069f109e3df62729f3de38a9ca329f82625b7859087587be176c65844283ffef51caa7d5bc98cdf2e577f3e262ded2f074f818f3d9b2bdb7471f49af01a6370d593ffb7fd598e9a34011f2c7a38fe8b3e64b160dfa405f5d5f5c900acd6bfa044d4c67faa7eb4b3f68abb7f9b2fbf73326917e42e4ab830ff2e5b4bee65e7f2f1040fb2d164599d550fe8fac55d109f9f12f8a695d35d5793b3efec1bacec7af992ee3275fecdd7fedde2382ee1a7013f9e597fc92ff078ee71bb1a2060000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1f7efaf4e9a7c7f70f1e3cd93b78f2fb7e44ad96d922a7afe7559b97db6571996fa3db7dfa66969f67ebb27d3dadea6279f1b2aece8b929a2ed76539fae8bcc8cb59f3d1a3effd6203a198d13bedf50abf9fce16e3d72d5ea3cf04ed6c8297cfb3b2c9f176d9e675f0519d53fbfc523e6beb357dd454752b7f6b9bf36c4aa3f13f799b5f9bd64c80e365565eff20af0d9ad277f7d3acf3f7b2aa175959789f34d7cb6a79bdf8225b618cdfff25233bccec2a6faa45becc9be6797e999734406fd04fab35d02300dc7180ab3f684179e398e56f6fc8f2018f5821fe90863ccb9b695dacdaa25ad2c8bcd146a758d0f407abd86e1cadb6f186ab9ffc9c8cb7cd8ab2a17179633da916ab327ff7069f109e3df62729f3de38a9ca329f82625b7859087587be176c65844283ffef51caa7d5bc98cdf2e577f3e262ded2f074f818f3d9b2bdb7471f49af01a6370d593ffb7fd598e9a34011f2c7a38fe8b3e64b160dfa405f5d5f5c900acd6bfa044d4c67faa7eb4b3f68abb7f9b2fbf73326917e42e4ab830ff2e5b4bee65e7f2f1040fb2d164599d550fe8fac55d109f9f12f8a695d35d5793b3efec1bacec7af992ee3275fecdd7fedde2382ee1a7013f9e597fc92ff07b040a33aa2060000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -51,11 +51,11 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E60573303"', + 'W/"0x8D96DD6A587B28B"', 'Vary', 'Accept-Encoding', 'request-id', - '479964b3-8410-46f0-a393-16c5fe2aa475', + 'bbf76af5-9f12-4474-964d-f49a9ff25ebc', 'elapsed-time', '16', 'OData-Version', @@ -65,7 +65,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:31:11 GMT', + 'Thu, 02 Sep 2021 05:58:11 GMT', 'Content-Length', '656' ]); @@ -81,11 +81,11 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'request-id', - '330c678e-e57a-48d0-a524-3a7d214e0f4f', + '06fa444f-9f80-4a5c-9f1a-5890886ea617', 'elapsed-time', - '117', + '184', 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:31:11 GMT' + 'Thu, 02 Sep 2021 05:58:11 GMT' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_correct_index_object.js b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_correct_index_object.js index e8e96e67535b..c5126e975f6a 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_correct_index_object.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_correct_index_object.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/indexes(%27hotel-live-test3%27)') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1fdeff74f7f4fedec9a79feeefecffbe1f51ab65b6c8e9eb79d5e6e576595ce6dbe8f61e7d33cbcfb375d9be9e5675b1bc785957e745494d97ebb21c7d745ee4e5acf9e8d1f77eb18150cce89df67a85df4f678bf1eb16afd167827636c1cbe759d9e478bb6cf33af8a8cea97d7e299fb5f59a3e6aaaba95bfb5cd7936a5d1f89fbccdaf4d6b26c0f1322baf7f90d7064de9bbfb69d6f97b59d58bac2cbc4f9aeb65b5bc5e7c91ad30c6efff92911d66769537d5225fe64df33cbfcc4b1aa037e8a7d51ae81100ee38c0d51fb4a0bc71ccf2b73764f98047ac107f48439ee5cdb42e566d512d6964de68a3532c68fa83556c378e56db78c3d54f7e4ec6db6645d9d0b8bcb19e548b5599bf7b834f08cf1efb9394796f9c5465994f41b12dbc2c84ba43df0bb63242a1c1fff728e5d36a5ecc66f9f2bb7971316f69783a7c8cf96cd9dedba38fa4d700d39b86ac9ffdbf6accf451a008f9e3d147f459f3258b067da0afae2f2e4885e6357d8226a633fdd3f5a51fb4d5db7cd9fdfb1993483f21f2d5c107f9725a5f73afbf1708a0fd168ba2cc6a28ff47d6aae884fcf817c5b4ae9aeabc1d1fff605de7e3d74c97f1932ff6eebf76ef1141770db889fcf24b7ec9ff03ce32a982a2060000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1f7efaf4e9a70f1f9c1cec9cdc3bf97d3fa256cb6c91d3d7f3aacdcbedb2b8ccb7d1ed3dfa66969f67ebb27d3dadea6279f1b2aece8b929a2ed76539fae8bcc8cb59f3d1a3effd6203a198d13bedf50abf9fce16e3d72d5ea3cf04ed6c8297cfb3b2c9f176d9e675f0519d53fbfc523e6beb357dd454752b7f6b9bf36c4aa3f13f799b5f9bd64c80e365565eff20af0d9ad277f7d3acf3f7b2aa175959789f34d7cb6a79bdf8225b618cdfff25233bccec2a6faa45becc9be6797e999734406fd04fab35d02300dc7180ab3f684179e398e56f6fc8f2018f5821fe90863ccb9b695dacdaa25ad2c8bcd146a758d0f407abd86e1cadb6f186ab9ffc9c8cb7cd8ab2a17179633da916ab327ff7069f109e3df62729f3de38a9ca329f82625b7859087587be176c65844283ffef51caa7d5bc98cdf2e577f3e262ded2f074f818f3d9b2bdb7471f49af01a6370d593ffb7fd598e9a34011f2c7a38fe8b3e64b160dfa405f5d5f5c900acd6bfa044d4c67faa7eb4b3f68abb7f9b2fbf73326917e42e4ab830ff2e5b4bee65e7f2f1040fb2d164599d550fe8fac55d109f9f12f8a695d35d5793b3efec1bacec7af992ee3275fecdd7fedde2382ee1a7013f9e597fc92ff07c16992eda2060000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -19,13 +19,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E52C66404"', + 'W/"0x8D96DD697C80C3C"', 'Vary', 'Accept-Encoding', 'request-id', - '739fdeb3-2c9d-43ad-bea4-43c9dadc14ee', + '0985ffa5-1019-462b-8eae-92f63cfbc6fd', 'elapsed-time', - '18', + '21', 'OData-Version', '4.0', 'Preference-Applied', @@ -33,7 +33,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:52 GMT', + 'Thu, 02 Sep 2021 05:57:52 GMT', 'Content-Length', '656' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_list_of_indexes.js b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_list_of_indexes.js index 0ebc73bd951f..0fc3be400471 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_list_of_indexes.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_list_of_indexes.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/indexes') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f97371f8d3ebaccca75fed1a3ef59c8d4e482c0febe1fedbc3b787a70b2bfb7ffe0fec3fb4f1e1cdcff7d3fa2f6cb6c41cd3f9a576d5e6e97c565bedd648b55996fa3ff7bd460969f67ebb27d3dadea6279f1b2aece8b92de58aecb72f4d1799197b386bbf3019dcde8c5f67a850f4e678bf1eb16efd26732886c0208e759d9e40051b6792d1fb5f59a3ea9736a9e5ffa1f3555ddfa7f9f67531a177fa060dee6d7e64b26c6f1322baf7f90d70653e9b9fb69d6f97b59d58bac2cbc4f9aeb65b5bc5e7c91ad30ccefff925138d217f8fde6b10a62dfe450f5f71fd258677933ad8b555b544b1ad9fb8f56b1dd385c6df3b330de8ff2e5b85c4ff325a6ea6b0efb594deffe7f6ee0e7f5d71bf8346bf38baabea6d7de7fccf2c9c621cbdfde88e5830f1eb0fcfd3e2325ed08b5a9a33ca9ca329f62beb7dc80efd0f7d2b18feb7b8e5847f5ff8621afb2fa2d0deb6c392dd7b3bca3aa9f545599679072e958705504df73ccf2f7ff1b86dc2c2a0cf9b82cababfce7c588cbac695fe5cbea3203373f2579a6017aa3c6276f8a45fee5f97993b7f49da020582baaff9f1d7c4d836645e50fb85a03297a8dbb130c15adffcf0eb4ac4853d3fcd2b0bca17e9e571775b69a5fbfac8ae5cfd2dc2a989f833167b3599d379ed2c6904f2a38adefdee013c2b3e796366d9de7ed71ec5551f2f499a02ac3d3f17e2091e4839f031a4d8bf6e781ed6e5a526214915c16cb29a6fdffe7c39d56eb65fbf3c1275b5534b3e54935fbffeda4faa3adab6ae1a9a48e0bea2936f8a17dcde6c528f4bd02c19bdf1cb594223f77e472c4f246fb352332f9e4ff2be3e5f1fdff7f98134a71bd22654ec3f286fa0dba6ce6adff378c359f7dc90cec093d46fbffcb896dca3c5f3527b05c34326fb467cbf6de1e7d245d0a968adaff8747fb430a33cd5bff2f18f2cf9bfc09fd471f0659707c6109b1a47e28654e633d5f2f9904c71717757e21f119f1c67a41df49925f7a30ed040c5b764e2707611d057079bdaa4af99bbe2ad0117da1149f15e42b89fb3ba9c86ffae8d1de788760132ef325621ded6c915d2c8b96f23de603fbe2a35ffc519d9fe7754e7f70c0f832ab090dea96c02fae0917039b46fed4beb5bbb333def9258407961700522844046a8c7a23c89988c297757151e093ef7df4ad8fa8d5227b777c919f2d5fe7b4f0017f8601107dd7171744c4bca68f88264adac669c52fe014520cc8d347f89c2dcf8b775f64ed744e7fa055b5aea7f933d012207c7f81be75297bc655a0e4dc19fde978403f68abb7f9b2fbf733e65bfd8458ba0e3e2022d6d7dcddef05c6c4b008a9625194598d988c48a2eb323a7f3ffe4531adaba63a6fc7c73f58d7f9f8358f73fce48bbdfbafdd7bc4e8bb06dc447ef925904205463241b3e016791e3ed9fff4e9b3e393e39d9b1779f6a9c18f1679025927c2fa23658eb979ac82d8373954fdfd8734d65056de7fb48aedc6e16a9b9f85f192e87dbdb50e6fd85f33a450b47fae06fea3451ef96478a4a41dffdfe9a458d4bff121ff6891e7e7c1887fb4c80345e50ff89bcb18c8dfff6f182879e034d4ae51fed1224fcf2dfdd1220fe1fdffb75152bcf9a3451e42fdff6f03fdd1220f277f384fe6293624cbfa9acd8b51e87b058237bf396a29457eeec8e588e58df66b4664f2c9ff57c6cbe3fbffff307fb4c8f3ffd389fdd1220f3ec780bfc930d3bcf5ff8221ffbcc99fd07ff4619005c71796104bea8752e63456b378f3a3459e1f2df2d0b00829b7584324d175199dbf9fa5459e93fddd873bf79eee3dbd7991e73e35f8d1224f20eb44587fa4cc31378f5510fb2687aabfff90c61acacafb8f56b1dd385c6df3b3305e12bdafb7d6e10dfb6b86148af6cfd5c07fb4c8239f0c8f94b4e3cf0f27c50df9478b3c3f0f46fca3451e282a7fc0df5cc640fefe7fc340c903a7a1768df28f16797a6ee9ffa716798402c334ba99463f5ae4a101fcff6db83f5ae421ecffff31567fb43f5ae4b9915c8e58de68bf6644269ffc7f65bc3cbeffff0ff3478b3cff3f9dd81f2df2e0730cf89b0c33cd5bff2f18f2cf9bfc09fd471f0659707c6109b1a47e28654e63358b373f5ae4f9d1220f0d8b90728b3544125d97d1f9fb5959e4b97fefd3dde3dddd7ba7f7766f5ee4f9941afc689127907522ac3f52e6989bc72a887d9343d5df7f48630d65e5fd47abd86e1caeb6f959182f89ded75bebf086fd35430a45fbe76ae03f5ae4914f86474adaf1e78793e286fca3459e9f0723fed1220f14953fe06f2e63207fffbf61a0e481d350bb46f9478b3c3db7f4478b3c84f7ffdf4649f1e68f167908f5ffbf0df4478b3cce05f5141bfcd0be66f36214fa5e81e0cd6f8e5a4a919f3b72396279a3fd9a11997cf2ff95f1f2f8de6398ff1f1de68f1679fe7fcabf3f5ae4c1e718f03719669ab7fe5f30e49f37f913fa8f3e0cb2e0f8c2126249fd50ca9cc66a166f7eb4c8f3a3451e1a1621e5166b8824ba2ea3f3f7b3b5c8f3e0e4e1bde3e383939b17791e50831f2df204b24e84f547ca1c73f35805b16f72a8fafb0f69aca1acbcff6815db8dc3d5363f0be325d1fb7a6b1ddeb0bf6648a168ff5c0dfc478b3cf2c9f048493bfefc7052dc907fb4c8f3f360c43f5ae481a2f207fccd650ce4efff370c943c701a6ad728ff6891a7e796fe689187f0feffdb2829defcd1220fa1feffb781fe6891c7b9a09e62831fdad76c5e8c42df2b10bcf9cd514b29f273472e472c6fb45f3322934ffebf325e1edfffff87f9a3459eff9f4eec8f1679f03906fc4d8699e6adff170cf9e74dfe84fea30f832c38beb08458523f9432a7b19ac59b6f7891872052375f7f91e7478b3c5eca9e7115283977467f3a1ed00f7851a7fb77b0a6432cfdffbe459e87f73fdd3ddd7ff0f460ef64e7d381451eaceedca36fde7375a7e828351170fa4c66470453a59120115d828fde53c2f513167169fdb32ae1444e1d66769537d582d2e64df33cbfcc4b1aa037e86fd02d91bfbd21cb073c6285f8431a722828de68a3532c68fa83556c378e56db78c3d54f7e4ec6db6645e9992e8cd50bb6e88b3efb9394796f7c4d63a7e3fc7f39a57c5acd8bd92c5f7e372f2ee6b06f3a7c8cf9965e9c7e140c593ffb7fd598e9a34011f2c7a4e57d9ba6affa868a9a98cef44fd7977ec0a6a3fb776039887cffef3325070f4f768e4ff69ede7ff0e4e064832939b80f2e784f63c230cebea645118909384a3e720c257f0ff0937cf9b3ca4e44537fa4ec77dc3c5641ec9b1caafefe431aebffb70d0949ddd75b31f786fd3513538af6cfd5c0cfebaf37705a80ca2faa9f0f6969528c1f6efde5938d23d651fdbf61c8abac4642e36c392d2974eca8ea6f32a3217fffbf61c83fac1c8efcfdff86119759d3beca97d5252f253f2579a6017aa3c6276f8a45fee5f97993c3011414046b45f5ffb383af69d0aca8fc01ffff31c0a33c0e0db56b943fcfab8b3a5bcdaf39f343df49c782ab22f8a14356303f0763ce62ebfd3705794d5be7797b1c7b55943c7d26a8caf074bc1f4824f9e0e78046538909fe7f3e4aca5ab639452497059297ffbf1fee140b2e3f1f7cb215a5a5b3f20459e1ff9f8ed51f6d5d550b4f25755c504fb1c10fed6b362f46a1ef1508defce6a8a514f9b92397239637daaf1991c927ff5f192f8fefffffc39c644dfe8a94390dcb1bea37e8b299b7fedf30565a396306f6841ea3fdffe5c436659eaf9a13582e1a9937da5b269905f1ffcf8cf68714669ab7fe5f30e49f37f913fa8f3e0cb2e0f8c2126249fd50d29cc67abe5e32098e2f2eeafc42e233e28df582be6bf377ade9c1b413306cd9399d1c847514c0e5f5aa2ae56ffaaa4047f48550dcadf853de1fcbf91f3dda1bef106cc2658ea54ed3d922bb58162de57bcc07f6455a72a8f3f3bca6a5899c03c697594d6850b7d4dde29a7031b069e44fed5bbb3b3be31d5add27061090422122905b56f9c51f65220a5fd6c545814fbef7d1b73ea2568becddf1457eb67c9d4fab25fc190640f4f557602c691ba715bf80534831204f1fe173b63c2fde7d91b5d339fd8156d5ba9ee6cf404b80f0fd05fad6a5ec195781927367f4a7e301fd80d773ba7f07cb39c4d2ff2f5cdf79766fffc1e9e9fdfbbbf79f46d67756797dceeb3bf4c58f167702192782fa23654eb979ac82d8373954fdfd8734d65046de7fb48aedc6e16a9b9f85f192c87dbd350e6fd85f339450b47fae06fea3c51df96478a4a4157f7e38276ec83f5adcf97930e21f2dee4051f903fee63205f2f7ff1b064a9e370db56b947fb4b8d3734b7fb4b84378ffff6d941467fe68718750ffffdb407fb4b8e35c504fb1c10fed6b362f46a1ef1508defce6a8a514f9b92397239637daaf1991c927ff5f192f8fefffffc3fcd1e2ceff4f27f6478b3bf81c03fe26c34cf3d6ff0b86fcf3267f42ffd18741161c5f58422ca91fc9989b459b1f2deefc687187864548b9451a2289aec7e8fc7dc8e2cef77fc9ff03eed59473dcbb0000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f97371f8d3ebaccca75fed1a3ef59c8d4e482c0febe1fedbc3b787a70b2bfb7ffe0fec3fb4f1e1cdcff7d3fa2f6cb6c41cd3f9a576d5e6e97c565bedd648b55996fa3ff7bd460969f67ebb27d3dadea6279f1b2aece8b92de58aecb72f4d1799197b386bbf3019dcde8c5f67a850f4e678bf1eb16efd26732886c0208e759d9e40051b6792d1fb5f59a3ea9736a9e5ffa1f3555ddfa7f9f67531a177fa060dee6d7e64b26c6f1322baf7f90d70653e9b9fb69d6f97b59d58bac2cbc4f9aeb65b5bc5e7c91ad30ccefff925138d217f8fde6b10a62dfe450f5f71fd258677933ad8b555b544b1ad9fb8f56b1dd385c6df3b330de8ff2e5b85c4ff325a6ea6b0efb594deffe7f6ee0e7f5d71bf8346bf38baabea6d7de7fccf2c9c621cbdfde88e5830f1eb0fcfd3e2325ed08b5a9a33ca9ca329f62beb7dc80efd0f7d2b18feb7b8e5847f5ff8621afb2fa2d0deb6c392dd7b3bca3aa9f545599679072e958705504df73ccf2f7ff1b86dc2c2a0cf9b82cababfce7c588cbac695fe5cbea3203373f2579a6017aa3c6276f8a45fee5f97993b7f49da020582baaff9f1d7c4d836645e50fb85a03297a8dbb130c15adffcf0eb4ac4853d3fcd2b0bca17e9e571775b69a5fbfac8ae5cfd2dc2a989f833167b3599d379ed2c6904f2a38adefdee013c2b3e796366d9de7ed71ec5551f2f499a02ac3d3f17e2091e4839f031a4d8bf6e781ed6e5a526214915c16cb29a6fdffe7c39d56eb65fbf3c1275b5534b3e54935fbffeda4faa3adab6ae1a9a48e0bea2936f8a17dcde6c528f4bd02c19bdf1cb594223f77e472c4f246fb352332f9e4ff2be3e5f1fdff7f98134a71bd22654ec3f286fa0dba6ce6adff378c359f7dc90cec093d46fbffcb896dca3c5f3527b05c34326fb467cbf6de1e7d245d0a968adaff8747fb430a33cd5bff2f18f2cf9bfc09fd471f0659707c6109b1a47e28654e633d5f2f9904c71717757e21f119f1c67a41df49925f7a30ed040c5b764e2707611d057079bdaa4af99bbe2ad0117da1149f15e42b89fb3ba9c86ffae8d1de788760132ef325621ded6c915d2c8b96f23de603fbe2a35ffc519d9fe7754e7f70c0f832ab090dea96c02fae0917039b46fed4beb5bbb333def9258407961700522844046a8c7a23c89988c297757151e093ef7df4ad8fa8d5227b777c919f2d5fe7b4f0017f8601107dd7171744c4bca68f88264adac669c52fe014520cc8d347f89c2dcf8b775f64ed744e7fa055b5aea7f933d012207c7f81be75297bc655a0e4dc19fde978403f68abb7f9b2fbf733e65bfd8458ba0e3e2022d6d7dcddef05c6c4b008a9625194598d988c48a2eb323a7f3ffe4531adaba63a6fc7c73f58d7f9f8358f73fce48bbdfbafdd7bc4e8bb06dc447ef925904205463241b3e016791e3ed9fff4e9b3e393e39d9b1779f6a9c18f1679025927c2fa23658eb979ac82d8373954fdfd8734d65056de7fb48aedc6e16a9b9f85f192e87dbdb50e6fd85f33a450b47fae06fea3451ef96478a4a41dffdfe9a458d4bff121ff6891e7e7c1887fb4c80345e50ff89bcb18c8dfff6f182879e034d4ae51fed1224fcf2dfdd1220fe1fdffb75152bcf9a3451e42fdff6f03fdd1220f277f384fe6293624cbfa9acd8b51e87b058237bf396a29457eeec8e588e58df66b4664f2c9ff57c6cbe3fbffff307fb4c8f3ffd389fdd1220f3ec780bfc930d3bcf5ff8221ffbcc99fd07ff4619005c71796104bea8752e63456b378f3a3459e1f2df2d0b00829b7584324d175199dbf9fa5459e93fddd873bf79eee3dbd7991e73e35f8d1224f20eb44587fa4cc31378f5510fb2687aabfff90c61acacafb8f56b1dd385c6df3b3305e12bdafb7d6e10dfb6b86148af6cfd5c07fb4c8239f0c8f94b4e3cf0f27c50df9478b3c3f0f46fca3451e282a7fc0df5cc640fefe7fc340c903a7a1768df28f16797a6ee9ffa716798402c334ba99463f5ae4a101fcff6db83f5ae421ecffff31567fb43f5ae4b9915c8e58de68bf6644269ffc7f65bc3cbeffff0ff3478b3cff3f9dd81f2df2e0730cf89b0c33cd5bff2f18f2cf9bfc09fd471f0659707c6109b1a47e28654e63358b373f5ae4f9d1220f0d8b90728b3544125d97d1f9fb5959e4b97fefd3dde3dddd7ba7f7766f5ee4f9941afc689127907522ac3f52e6989bc72a887d9343d5df7f48630d65e5fd47abd86e1caeb6f959182f89ded75bebf086fd35430a45fbe76ae03f5ae4914f86474adaf1e78793e286fca3459e9f0723fed1220f14953fe06f2e63207fffbf61a0e481d350bb46f9478b3c3db7f4478b3c84f7ffdf4649f1e68f167908f5ffbf0df4478b3cce05f5141bfcd0be66f36214fa5e81e0cd6f8e5a4a919f3b72396279a3fd9a11997cf2ff95f1f2f8de6398ff1f1de68f1679fe7fcabf3f5ae4c1e718f03719669ab7fe5f30e49f37f913fa8f3e0cb2e0f8c2126249fd50ca9cc66a166f7eb4c8f3a3451e1a1621e5166b8824ba2ea3f3f7b3b5c8f3e0e4e1bde3e383939b17791e50831f2df204b24e84f547ca1c73f35805b16f72a8fafb0f69aca1acbcff6815db8dc3d5363f0be325d1fb7a6b1ddeb0bf6648a168ff5c0dfc478b3cf2c9f048493bfefc7052dc907fb4c8f3f360c43f5ae481a2f207fccd650ce4efff370c943c701a6ad728ff6891a7e796fe689187f0feffdb2829defcd1220fa1feffb781fe6891c7b9a09e62831fdad76c5e8c42df2b10bcf9cd514b29f273472e472c6fb45f3322934ffebf325e1edfffff87f9a3459eff9f4eec8f1679f03906fc4d8699e6adff170cf9e74dfe84fea30f832c38beb08458523f9432a7b19ac59b6f7891872052375f7f91e7478b3c5eca9e7115283977467f3a1ed00f7851a7fb77b0a6432cfdffbe459e879f3e7dfae9c1c9c9cebd939d4f071679b0ba738fbe79cfd59da2a3d444c0e933991d114c9546824474093e7a4f09d74f58c4a5f5cfaa8413397598d955de540b4a9b37cdf3fc322f6980dea0bf41b744fef6862c1ff08815e20f69c8a1a078a38d4eb1a0e90f56b1dd385a6de30d573ff939196f9b15a567ba30562fd8a22ffaec4f52e6bdf1358d9d8ef3ffe594f269352f66b37cf9ddbcb898c3bee9f031e65b7a71fa513064fdecff5563a68f0245c81f9396f76d9abeea1b2a6a623ad33f5d5ffa019b8eeedf81e520f2fdbfcf941c3c3cd9393ed97b7affc19383930da6e4e03eb8e03d8d09c338fb9a16452426e028f9c83194fc3dc04ff2e5cf2a3b114dfd91b2df71f35805b16f72a8fafb0f69acffdf362424755f6fc5dc1bf6d74c4c29da3f57033fafbfdec069012abfa87e3ea4a549317eb8f5974f368e5847f5ff8621afb21a098db3e5b4a4d0b1a3aabfc98c86fcfdff8621ffb07238f2f7ff1b465c664dfb2a5f5697bc94fc94e49906e88d1a9fbc2916f997e7e74d0e07505010ac15d5ffcf0ebea641b3a2f207fcffc7008ff23834d4ae51fe3caf2eea6c35bfe6cc0f7d271d0bae8ae0870e59c1fc1c8c398badf7df14e4356d9de7ed71ec5551f2f499a02ac3d3f17e2091e4839f031a4d2526f8fff928296bd9e614915c16485efeff7eb8532cb8fc7cf0c9569496ceca136485ff7f3a567fb475552d3c95d471413dc5063fb4afd9bc1885be572078f39ba39652e4e78e5c8e58de68bf6644269ffc7f65bc3cbeffff0f739235f92b52e6342c6fa8dfa0cb66defa7fc35869e58c19d8137a8cf6ff9713db9479be6a4e60b96864de686f996416c4ff3f33da1f529869defa7fc1907fdee44fe83ffa30c882e30b4b8825f54349731aebf97ac92438beb8a8f30b89cf8837d60bfaaecddfb5a607d34ec0b065e7747210d6510097d7abaa94bfe9ab021dd1174271b7e24f797f2ce77ff4686fbc43b0099739963a4d678bec6259b494ef311fd81769c9a1cecff39a9626720e185f6635a141dd52778b6bc2c5c0a6913fb56fedeeec8c7768759f1840400a8588406e59e5177f9489287c591717053ef9de47dffa885a2db277c717f9d9f2753ead96f0671800d1d75f81b1a46d9c56fc024e21c5803c7d84cfd9f2bc78f745d64ee7f4075a55eb7a9a3f032d01c2f717e85b97b2675c054ace9dd19f8e07f4035ecfe9fe1d2ce7104bffbf707de7d9bdfd07a7a7f7efefde7f1a59df59e5f539afefd0173f5adc09649c08ea8f9439e5e6b10a62dfe450f5f71fd258431979ffd12ab61b87ab6d7e16c64b22f7f5d638bc617fcd5042d1feb91af88f1677e493e1919256fcf9e19cb821ff6871e7e7c1887fb4b80345e50ff89bcb14c8dfff6f182879de34d4ae51fed1e24ecf2dfdd1e20ee1fdffb751529cf9a3c51d42fdff6f03fdd1e28e73413dc5063fb4afd9bc1885be572078f39ba39652e4e78e5c8e58de68bf6644269ffc7f65bc3cbeffff0ff3478b3bff3f9dd81f2deee0730cf89b0c33cd5bff2f18f2cf9bfc09fd471f0659707c6109b1a47e24636e166d7eb4b8f3a3c51d1a1621e516698824ba1ea3f3f7b3b0b8f3f0d3a70f764f9e1cdc7f72babbd75bdc69b69b0c2ee5364b0b7df99e0b3cdf06909fc5051ef35654d0e557c6bc2bd1d273f75333c5e66f37c7e693ae9c1351fd9132b7dc3c5641cc1faa8ee33dc7aa9ff060f5f7af355a62c4f1c27016e1fa3ee37e9afb32f3f374e4bfffb9a7647f5607ff8d0e9e167cba83bfede04fc8fffed95cf3d17179532e2d3e7cd01f30e36ffebfeebe7cc8e0c9d0c35dfdd95f08326f7de3a397bfdf67cccfbfe17511fd68e3f0e56f6ff4fad2cfc1f029c8a619a761f943fee6c26cf9db1ba97cf07330d068aadf4ba6d1177ddf8604fe03570974901b89a46d3c2ae9271f4ca60f510627e266beff90e593f71cb1b4f8391df0eb1fc6ea810eeeff5d237f49b15cf6b39a5fd791fdbf6bd89c85fa79e1dff8a37eee7209deb0ffffbd44fceac39654bc3080be572078f396cca283dd482d6df3b340aef7671747386fe43fff02203004bdf2fe43964fde73c4d2e2c307fc01b3fde4e7d1aacb134a42325f7b7a01a3fdfff914bfdeb0fef2e93e7d249d0bbe8ae4ff5bc62d7fbfd7687ffeadbffc3c4c60f8c32f3ab32c23a6cfa45bc154d1f347ac1f0543d6cf368d593ff9e041cbdf370fd50db4fefff94869eda4bfb8461fd2676e3d495ffda6178934e0bfab21b0fd135a93e305f627efaa7fa07f40ee186de946b0a13fdd50f5035e35eafe1d2c1ad1ecfdbf7015e9fec1f183670f1e3efbf4c1b3537f15a9ce339a1d04cfdbeb0f5d4c2a693991da7ddde524fd28e06d514bb7656d69cdd8777958faee7e6a66dbfceda6db7cd2e56ca2af8e7692d3e883819215beb7471f495f017afe3805cb8dc394bfbd51ca073c4885f8c31a65d6ce7f1e0c335c59f6061b655e41d31fac62bb71b4dac61bae7ef2c1e32515f39e56373af2df9f14edff07073fcbbf91c1ffbc8b90fdc11778f9ff73832fda6f64f0e49dfc7f70f079f38d0c7e55d2cbff9f1bfcaafc4606bffcffdce069801f2dbffee09b5fc4af78f3fdff4b6b9e5d375f2ebfa005715ef4fdfff968e1bdaf6fa3c214adf71ca879ebff0d23e5508f4675d34805437fa08ae87b8e543ff9e0a17e8883b65c2f26d4eee7d7a01b5ebba7977e3e0d7abdfcffa61bf60143e6b1de3c6445cf1fb38cef3d872c2d3e78c4f2f7fb8c732a099b9bc629f8fdbf65981f32b1757e410e16bdf4f367c853c9309e205f79f3b8154b7fe0fad17b8e5c3ff9e0a1cbdfef33e055d5b4b71cad0cc31fac7cf29e6395161f3c54322fd97296d5b371b99ee64b0ce07dc65d56d30ce103bde68dfbf3bcbaa8b3d5fcfa6555f0fa9c6021882bb6ef4900f9db1bbf82f96002c8dfef33e6555d743d2ff2a5bfa14547f9db1ba77cf07330cc764eded6322b6e13172a66fe58f5a38d83d536de68f5939f8be162ddc38ef4e7c57aa31bfc2aaf68b1835efab0e12bfaef397efde4c309f061aaacaa2f325ace6275f6e19ca003f9ff26298c56ff794e06ea7f35afb3c64f8afe7ca443992d2fd6d9055e532ab8a1d367d2bb602c63faffcdc8db3a5b3625ad08cf7eff367f07adfaff39029055f85a435f15c5ef9f2fdba22d36b0ff498545f2776fe84bc8407f1dfcffab54fb40b6c1707fde8dba594f78c43fef065e9d9f37dd0c1d4504b7c9aeeb473f47e396bfdf67a865bebc68e734aeffff0fb599563538c11be9d36a0da4e82dee2dc0f0ff7b43f507bbc89ab7ff1f36725f477ebf4f1fd114d3e85ed6158d85cc1c7d3ca2dc55dd7cc96ba2f481bebabeb8c81b1a2c7de26c5be3c8f205523f8f14238278b63c2fde7d91b5d339fd8156bc5af3cc9847b790d198e4be66456daed04f282132657c05bea0417fba31ea076df536a71026fcfb194f937e423358071fe4cb697dcda3fdbd300b3ade625194590d941efde28f7ecf6a96b5d95899e2c7bf3031e6f8f807eb3a1fbf660a8c9f7cb177ffb57b8f6675d7809bc82fbf04fca6c088032e08d8effbd1cebb83a70fef1f1c3f383e7e76727aef60eff7fd88de550ab74474668826abb39fce16197d35cbcfb375d9bea66922daead4515bfaaaef7e1433fa58111fe466e53c824364093efa007696d68c7c976fa5efeea7666ecddf6e72cd27df3803f7c8fb7e1c1d7034519a3132c3c087f4a71b857ec02cd9fd3be0489a96dbb1a861b56f9445bfff4bfe1fe80d674a57000100"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '170078d6-5d43-4b51-950a-cc3115ed14a2', + '456b9b88-57e6-47f4-bc4a-bc34bef828f4', 'elapsed-time', - '200', + '258', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:33 GMT', + 'Thu, 02 Sep 2021 05:57:34 GMT', 'Content-Length', - '3388' + '4922' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_list_of_indexes_names.js b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_list_of_indexes_names.js index 73a52f96ad1f..05ea2df26c0a 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_list_of_indexes_names.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_gets_the_list_of_indexes_names.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/indexes') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f97375bcb6c91dff968f4d16556aef38f1e7def177f844f00b56af372bb2c2ef3ed265bacca7c1bf0ef7df44b463734d9bfb9c9fd9b9b7c7a739307034df0dd109ef8eee0fe5effdb555e9ff3b71ffd92efff92ff07d2d479d365010000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f97375bcb6c91dff968f4d16556aef38f1e7def177f844f00b56af372bb2c2ef3ed265bacca7c1bf0ef7df44b463734d9bfb9c9fd9b9b7c7a739307034df0dd109ef8eee0fe5effdb555e9ff3b7bdaf1ad32793ccffbaceb392dec8da7c7b3ddc0a40f9c326abb39fce16d947bfe4fbbfe4ff01b8321fa2c7010000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '998b9591-3871-4001-a2ca-44108aa77f25', + 'bda6e387-b90a-49b8-86ca-fd4219dece61', 'elapsed-time', - '23', + '26', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:43 GMT', + 'Thu, 02 Sep 2021 05:57:43 GMT', 'Content-Length', - '265' + '295' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_modify_and_updates_the_index_object.js b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_modify_and_updates_the_index_object.js index 6ddeda693797..1c799bbf4bab 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_modify_and_updates_the_index_object.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_modify_and_updates_the_index_object.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/indexes(%27hotel-live-test3%27)') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1fdeff74f7f4d37b0f9e3ef9f4e9eeeffb11b55a668b9cbe9e576d5e6e97c565be8d6eefd137b3fc3c5b97edeb695517cb8b9775755e94d474b92ecbd147e7455ece9a8f1e7def171b08c58cde69af57f8fd74b618bf6ef11a7d26686713bc7c9e954d8eb7cb36af838fea9cdae797f2595bafe9a3a6aa5bf95bdb9c67531a8dffc9dbfcdab466021c2fb3f2fa07796dd094bebb9f669dbf9755bdc8cac2fba4b95e56cbebc517d90a63fcfe2f19d961665779532df265de34cff3cbbca4017a837e5aad811e01e08e035cfd410bca1bc72c7f7b43960f78c40af18734e459de4ceb62d516d59246e68d363ac582a63f58c576e368b58d375cfde4e764bc6d56940d8dcb1beb49b55895f9bb37f884f0ecb13f4999f7c6495596f91414dbc2cb42a83bf4bd602b23141afc7f8f523eade6c56c962fbf9b1717f39686a7c3c798cf96edbd3dfa487a0d30bd69c8fad9ffabc64c1f058a903f1e7d449f355fb268d007faeafae28254685ed32768623ad33f5d5ffa415bbdcd97ddbf9f3189f413225f1d7c902fa7f535f7fa7b8100da6fb128caac86f27f64ad8a4ec88f7f514cebaaa9cedbf1f10fd6753e7ecd74193ff962effe6bf71e1174d7809bc82fbfe497fc3f4698a4b1a2060000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1f7efaf4e9a7c707c77bf7f73fddff7d3fa256cb6c91d3d7f3aacdcbedb2b8ccb7d1ed3dfa66969f67ebb27d3dadea6279f1b2aece8b929a2ed76539fae8bcc8cb59f3d1a3effd6203a198d13bedf50abf9fce16e3d72d5ea3cf04ed6c8297cfb3b2c9f176d9e675f0519d53fbfc523e6beb357dd454752b7f6b9bf36c4aa3f13f799b5f9bd64c80e365565eff20af0d9ad277f7d3acf3f7b2aa175959789f34d7cb6a79bdf8225b618cdfff25233bccec2a6faa45becc9be6797e999734406fd04fab35d02300dc7180ab3f684179e398e56f6fc8f2018f5821fe90863ccb9b695dacdaa25ad2c8bcd146a758d0f407abd86e1cadb6f186ab9ffc9c8cb7cd8ab2a17179633da916ab327ff7069f109e3df62729f3de38a9ca329f82625b7859087587be176c65844283ffef51caa7d5bc98cdf2e577f3e262ded2f074f818f3d9b2bdb7471f49af01a6370d593ffb7fd598e9a34011f2c7a38fe8b3e64b160dfa405f5d5f5c900acd6bfa044d4c67faa7eb4b3f68abb7f9b2fbf73326917e42e4ab830ff2e5b4bee65e7f2f1040fb2d164599d550fe8fac55d109f9f12f8a695d35d5793b3efec1bacec7af992ee3275fecdd7fedde2382ee1a7013f9e597fc92ff07a095ea19a2060000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -19,13 +19,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E637DB6D1"', + 'W/"0x8D96DD6A8A25464"', 'Vary', 'Accept-Encoding', 'request-id', - '2a8a1ab8-60b1-473b-b466-e58954cba5b6', + 'd5d0823e-0287-414a-9bef-575f249b609a', 'elapsed-time', - '47', + '16', 'OData-Version', '4.0', 'Preference-Applied', @@ -33,15 +33,15 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:31:20 GMT', + 'Thu, 02 Sep 2021 05:58:20 GMT', 'Content-Length', '656' ]); nock('https://endpoint:443', {"encodedQueryParams":true}) - .put('/indexes(%27hotel-live-test3%27)', {"name":"hotel-live-test3","fields":[{"name":"id","type":"Edm.String","key":true,"retrievable":true,"searchable":false,"filterable":false,"sortable":false,"facetable":false,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"awesomenessLevel","type":"Edm.Double","key":false,"retrievable":true,"searchable":false,"filterable":true,"sortable":true,"facetable":true,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","key":false,"retrievable":true,"searchable":true,"filterable":false,"sortable":false,"facetable":false,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"details","type":"Edm.ComplexType","fields":[{"name":"tags","type":"Collection(Edm.String)","key":false,"retrievable":true,"searchable":true,"filterable":false,"sortable":false,"facetable":false,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]}]},{"name":"hiddenWeight","type":"Edm.Int32","key":false,"retrievable":false,"searchable":false,"filterable":false,"sortable":false,"facetable":false,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"lastUpdatedOn","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"sortable":false,"facetable":false}],"scoringProfiles":[],"defaultScoringProfile":null,"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"normalizers":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity"},"@odata.etag":"\"0x8D9561E637DB6D1\""}) + .put('/indexes(%27hotel-live-test3%27)', {"name":"hotel-live-test3","fields":[{"name":"id","type":"Edm.String","key":true,"retrievable":true,"searchable":false,"filterable":false,"sortable":false,"facetable":false,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"awesomenessLevel","type":"Edm.Double","key":false,"retrievable":true,"searchable":false,"filterable":true,"sortable":true,"facetable":true,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"description","type":"Edm.String","key":false,"retrievable":true,"searchable":true,"filterable":false,"sortable":false,"facetable":false,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"details","type":"Edm.ComplexType","fields":[{"name":"tags","type":"Collection(Edm.String)","key":false,"retrievable":true,"searchable":true,"filterable":false,"sortable":false,"facetable":false,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]}]},{"name":"hiddenWeight","type":"Edm.Int32","key":false,"retrievable":false,"searchable":false,"filterable":false,"sortable":false,"facetable":false,"analyzer":null,"searchAnalyzer":null,"indexAnalyzer":null,"normalizer":null,"synonymMaps":[]},{"name":"lastUpdatedOn","type":"Edm.DateTimeOffset","searchable":false,"filterable":true,"sortable":false,"facetable":false}],"scoringProfiles":[],"defaultScoringProfile":null,"corsOptions":null,"suggesters":[],"analyzers":[],"tokenizers":[],"tokenFilters":[],"charFilters":[],"normalizers":[],"encryptionKey":null,"similarity":{"@odata.type":"#Microsoft.Azure.Search.BM25Similarity","k1":null,"b":null},"@odata.etag":"\"0x8D96DD6A8A25464\""}) .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1fdeff74f7f4d34f77f6774eefddff7d3fa256cb6c91d3d7f3aacdcbedb2b8ccb7d1ed3dfa66969f67ebb27d3dadea6279f1b2aece8b929a2ed76539fae8bcc8cb59f3d1a3effd6203a198d13bedf50abf9fce16e3d72d5ea3cf04ed6c8297cfb3b2c9f176d9e675f0519d53fbfc523e6beb357dd454752b7f6b9bf36c4aa3f13f799b5f9bd64c80e365565eff20af0d9ad277f7d3acf3f7b2aa175959789f34d7cb6a79bdf8225b618cdfff25233bccec2a6faa45becc9be6797e999734406fd04fab35d02300dc7180ab3f684179e398e56f6fc8f2018f5821fe90863ccb9b695dacdaa25ad2c8bcd146a758d0f407abd86e1cadb6f186ab9ffc9c8cb7cd8ab2a17179633da916ab327ff7069f109e3df62729f3de38a9ca329f82625b7859087587be176c65844283ffef51caa7d5bc98cdf2e577f3e262ded2f074f818f3d9b2bdb7471f49af01a6370d593ffb7fd398dd88cbac69bf5a916acd675f76e4e1297df8a658e45f9e9f3739c821bd0718fb6397a90d862e1ffdbf69e4dfa78f0213c01f8f3ea2cf9a2f5929d007faeafae2828c475ed32768623ad33f5d5ffa415bbdcd97ddbf9f3181f413225e1d7c902fa7f535f7fa7b8100da6fb128caac86d97b64eda9cecb8f7f514cebaaa9cedbf1f10fd6753e7ecd74193ff962effe6bf71e1174d7809bc82fbfe497fc3f0710a2079c070000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1f7efaf4e9a7c74ff69eec3f3cddfd7d3fa256cb6c91d3d7f3aacdcbedb2b8ccb7d1ed3dfa66969f67ebb27d3dadea6279f1b2aece8b929a2ed76539fae8bcc8cb59f3d1a3effd6203a198d13bedf50abf9fce16e3d72d5ea3cf04ed6c8297cfb3b2c9f176d9e675f0519d53fbfc523e6beb357dd454752b7f6b9bf36c4aa3f13f799b5f9bd64c80e365565eff20af0d9ad277f7d3acf3f7b2aa175959789f34d7cb6a79bdf8225b618cdfff25233bccec2a6faa45becc9be6797e999734406fd04fab35d02300dc7180ab3f684179e398e56f6fc8f2018f5821fe90863ccb9b695dacdaa25ad2c8bcd146a758d0f407abd86e1cadb6f186ab9ffc9c8cb7cd8ab2a17179633da916ab327ff7069f109e3df62729f3de38a9ca329f82625b7859087587be176c65844283ffef51caa7d5bc98cdf2e577f3e262ded2f074f818f3d9b2bdb7471f49af01a6370d593ffb7fd398dd88cbac69bf5a916acd675f76e4e1297df8a658e45f9e9f3739c821bd0718fb6397a90d862e1ffdbf69e4dfa78f0213c01f8f3ea2cf9a2f5929d007faeafae2828c475ed32768623ad33f5d5ffa415bbdcd97ddbf9f3181f413225e1d7c902fa7f535f7fa7b8100da6fb128caac86d97b64eda9cecb8f7f514cebaaa9cedbf1f10fd6753e7ecd74193ff962effe6bf71e1174d7809bc82fbfe497fc3f58f2e46a9c070000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -53,13 +53,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E66040E35"', + 'W/"0x8D96DD6AB2B49E1"', 'Vary', 'Accept-Encoding', 'request-id', - '41b49530-91d5-47a3-b1ee-763fbe05b945', + '73407442-8e38-45ff-a833-72e35f3cc282', 'elapsed-time', - '120', + '158', 'OData-Version', '4.0', 'Preference-Applied', @@ -67,7 +67,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:31:20 GMT', + 'Thu, 02 Sep 2021 05:58:20 GMT', 'Content-Length', '700' ]); @@ -75,7 +75,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/indexes(%27hotel-live-test3%27)') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1fdeff74f7f4d34f77f6774eefddff7d3fa256cb6c91d3d7f3aacdcbedb2b8ccb7d1ed3dfa66969f67ebb27d3dadea6279f1b2aece8b929a2ed76539fae8bcc8cb59f3d1a3effd6203a198d13bedf50abf9fce16e3d72d5ea3cf04ed6c8297cfb3b2c9f176d9e675f0519d53fbfc523e6beb357dd454752b7f6b9bf36c4aa3f13f799b5f9bd64c80e365565eff20af0d9ad277f7d3acf3f7b2aa175959789f34d7cb6a79bdf8225b618cdfff25233bccec2a6faa45becc9be6797e999734406fd04fab35d02300dc7180ab3f684179e398e56f6fc8f2018f5821fe90863ccb9b695dacdaa25ad2c8bcd146a758d0f407abd86e1cadb6f186ab9ffc9c8cb7cd8ab2a17179633da916ab327ff7069f109e3df62729f3de38a9ca329f82625b7859087587be176c65844283ffef51caa7d5bc98cdf2e577f3e262ded2f074f818f3d9b2bdb7471f49af01a6370d593ffb7fd398dd88cbac69bf5a916acd675f76e4e1297df8a658e45f9e9f3739c821bd0718fb6397a90d862e1ffdbf69e4dfa78f0213c01f8f3ea2cf9a2f5929d007faeafae2828c475ed32768623ad33f5d5ffa415bbdcd97ddbf9f3181f413225e1d7c902fa7f535f7fa7b8100da6fb128caac86d97b64eda9cecb8f7f514cebaaa9cedbf1f10fd6753e7ecd74193ff962effe6bf71e1174d7809bc82fbfe497fc3f0710a2079c070000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fa307f9737777fb77cd916edf5472303971a5c10d0dff7a39d77074f1f7efaf4e9a7c74ff69eec3f3cddfd7d3fa256cb6c91d3d7f3aacdcbedb2b8ccb7d1ed3dfa66969f67ebb27d3dadea6279f1b2aece8b929a2ed76539fae8bcc8cb59f3d1a3effd6203a198d13bedf50abf9fce16e3d72d5ea3cf04ed6c8297cfb3b2c9f176d9e675f0519d53fbfc523e6beb357dd454752b7f6b9bf36c4aa3f13f799b5f9bd64c80e365565eff20af0d9ad277f7d3acf3f7b2aa175959789f34d7cb6a79bdf8225b618cdfff25233bccec2a6faa45becc9be6797e999734406fd04fab35d02300dc7180ab3f684179e398e56f6fc8f2018f5821fe90863ccb9b695dacdaa25ad2c8bcd146a758d0f407abd86e1cadb6f186ab9ffc9c8cb7cd8ab2a17179633da916ab327ff7069f109e3df62729f3de38a9ca329f82625b7859087587be176c65844283ffef51caa7d5bc98cdf2e577f3e262ded2f074f818f3d9b2bdb7471f49af01a6370d593ffb7fd398dd88cbac69bf5a916acd675f76e4e1297df8a658e45f9e9f3739c821bd0718fb6397a90d862e1ffdbf69e4dfa78f0213c01f8f3ea2cf9a2f5929d007faeafae2828c475ed32768623ad33f5d5ffa415bbdcd97ddbf9f3181f413225e1d7c902fa7f535f7fa7b8100da6fb128caac86d97b64eda9cecb8f7f514cebaaa9cedbf1f10fd6753e7ecd74193ff962effe6bf71e1174d7809bc82fbfe497fc3f58f2e46a9c070000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -87,13 +87,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E66040E35"', + 'W/"0x8D96DD6AB2B49E1"', 'Vary', 'Accept-Encoding', 'request-id', - 'd58b71c6-75e5-47d9-ac07-b8495c67289a', + '21fea87f-ccac-44a2-bc27-de4f174875fc', 'elapsed-time', - '17', + '24', 'OData-Version', '4.0', 'Preference-Applied', @@ -101,7 +101,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:31:20 GMT', + 'Thu, 02 Sep 2021 05:58:20 GMT', 'Content-Length', '700' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_throws_error_for_invalid_index_object.js b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_throws_error_for_invalid_index_object.js index 553ff955cf45..79966ff4747b 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_throws_error_for_invalid_index_object.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_indexes/recording_throws_error_for_invalid_index_object.js @@ -19,9 +19,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'request-id', - 'da429407-b2cb-4d52-acd0-42784ec65bbc', + 'fa6ad51f-b816-497c-9a73-7311927018c6', 'elapsed-time', - '16', + '20', 'OData-Version', '4.0', 'Preference-Applied', @@ -29,7 +29,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:31:01 GMT', + 'Thu, 02 Sep 2021 05:58:01 GMT', 'Content-Length', '110' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_creates_the_synonymmap_object_using_createorupdatesynonymmap.js b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_creates_the_synonymmap_object_using_createorupdatesynonymmap.js index b3f0b32f242c..322372c3a882 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_creates_the_synonymmap_object_using_createorupdatesynonymmap.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_creates_the_synonymmap_object_using_createorupdatesynonymmap.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .put('/synonymmaps(%27my-azure-synonymmap-3%27)', {"name":"my-azure-synonymmap-3","format":"solr","synonyms":"United States, United States of America => USA\nWashington, Wash. => WA"}) .query(true) - .reply(201, {"@odata.context":"https://endpoint/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D9561E3F4B57DA\"","name":"my-azure-synonymmap-3","format":"solr","synonyms":"United States, United States of America => USA\nWashington, Wash. => WA","encryptionKey":null}, [ + .reply(201, {"@odata.context":"https://endpoint/$metadata#synonymmaps/$entity","@odata.etag":"\"0x8D96DD6843131FE\"","name":"my-azure-synonymmap-3","format":"solr","synonyms":"United States, United States of America => USA\nWashington, Wash. => WA","encryptionKey":null}, [ 'Cache-Control', 'no-cache', 'Pragma', @@ -17,13 +17,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E3F4B57DA"', + 'W/"0x8D96DD6843131FE"', 'Location', "https://endpoint/synonymmaps('my-azure-synonymmap-3')?api-version=2020-06-30-Preview", 'request-id', - '906637dd-9bd4-469e-9421-7f92a753040e', + 'b7d64c3e-4dfe-4827-ac9f-a23db52ec3da', 'elapsed-time', - '21', + '23', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:16 GMT', + 'Thu, 02 Sep 2021 05:57:15 GMT', 'Content-Length', '284' ]); @@ -39,7 +39,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/synonymmaps(%27my-azure-synonymmap-3%27)') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7d78ffd3ddd37bcff69fdc7ff0f4f8f7fd885a2db3454e5f2faeb7b31faceb7cdbc1dabe475f9f57f52203624d55d6f4b77eddd0275f2d8b369fa5afdb8c901da5c19f69759e1e2ff2ba9866e96747e957af8f7fdfe577b3665e2c2fda6a394af1fb18df7cf79880e6cb697dbd6a8b6af97be5d71f3d5aaecbf297fc3fea36ed771c010000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7df8e9d3a79f1eecdfdbbdb7fbecf4f7fd885a2db3454e5f2faeb7b31faceb7cdbc1dabe475f9f57f52203624d55d6f4b77eddd0275f2d8b369fa5afdb8c901da5c19f69759e1e2ff2ba9866e96747e957af8f7fdfe577b3665e2c2fda6a394af1fb18df7cf79880e6cb697dbd6a8b6af97be5d71f3d5aaecbf297fc3febf313361c010000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -51,11 +51,11 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E3F4B57DA"', + 'W/"0x8D96DD6843131FE"', 'Vary', 'Accept-Encoding', 'request-id', - 'a8b00e62-ab87-447a-b850-5dfd25f32232', + 'fb63c61a-03d7-4a65-b413-2b370eafa46d', 'elapsed-time', '6', 'OData-Version', @@ -65,7 +65,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:16 GMT', + 'Thu, 02 Sep 2021 05:57:15 GMT', 'Content-Length', '334' ]); @@ -81,11 +81,11 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'request-id', - 'dfd189da-4b27-4261-afdf-fd05abdc2a12', + '5c9787a5-bddb-45c2-81bb-8944e4ebfc58', 'elapsed-time', '10', 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:16 GMT' + 'Thu, 02 Sep 2021 05:57:15 GMT' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_correct_synonymmap_object.js b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_correct_synonymmap_object.js index 0377d0c148e3..a3d113321ced 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_correct_synonymmap_object.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_correct_synonymmap_object.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/synonymmaps(%27my-azure-synonymmap-1%27)') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7d78ffd3ddd37bbbc7fb0727f78e7fdf8fa8d5325be4f4f5e27a3bfbc1baceb71daced5dfafabcaa1719106baab2a6bff5eb863ef96a59b4f92c7ddd6684ec280dfe4cabf3f47891d7c5344b3f3b4abf7a7dfcfb2ebf9b35f36279d156cb518adfc7f8e6bbc704345f4eebeb555b54cbdf2bbffee8d1725d96bfe4ff0163d8b8ef1c010000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7df8e9d3a79f3ef8f4e0d39ddd074f7fdf8fa8d5325be4f4f5e27a3bfbc1baceb71daced5dfafabcaa1719106baab2a6bff5eb863ef96a59b4f92c7ddd6684ec280dfe4cabf3f47891d7c5344b3f3b4abf7a7dfcfb2ebf9b35f36279d156cb518adfc7f8e6bbc704345f4eebeb555b54cbdf2bbffee8d1725d96bfe4ff01582f66661c010000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -19,13 +19,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E31A48C3A"', + 'W/"0x8D96DD67686017D"', 'Vary', 'Accept-Encoding', 'request-id', - 'bcbeb81f-a55e-4e36-ac4f-2e1b4f14dec4', + 'bee64da5-991d-4e74-baad-88f12fbffed6', 'elapsed-time', - '7', + '8', 'OData-Version', '4.0', 'Preference-Applied', @@ -33,7 +33,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:29:57 GMT', + 'Thu, 02 Sep 2021 05:56:57 GMT', 'Content-Length', - '334' + '335' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_list_of_synonymmaps.js b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_list_of_synonymmaps.js index 7d45559fe3a1..65c15a036bd9 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_list_of_synonymmaps.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_list_of_synonymmaps.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/synonymmaps') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd57c34fae8322bd7f9478fbe67a153b30b02fdfb7eb4f3eee0e9c3fb9fee9eee7dfae4c9f1c9fdbddff7236abfcc16d4fca3c5f576f683759d6f3b68dbbbf4f579552f32a0d654654d7febd70d7df2d5b268f359fabacd08dd511afc9956e7e9f122af8b69967e76947ef5faf8f75d7e376be6c5f2a2ad96a314bf8ff1cd778f0968be9cd6d7abb6a896bf577efdd1a3e5ba2c7fc968e3004ef60e9edc3c803dfafae76c00dfff25ff0fdc5d0ce1e1010000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd57c34fae8322bd7f9478fbe67a153b30b02fdfb7eb4f3eee0e9c34f9f3efdf4d327c70f0f4e9f1dfcbe1f51fb65b6a0e61f2daeb7b31faceb7cdb41dbdea5afcfab7a9101b5a62a6bfa5bbf6ee893af96459bcfd2d76d46e88ed2e0cfb43a4f8f17795d4cb3f4b3a3f4abd7c7bfeff2bb59332f96176db51ca5f87d8c6fbe7b4c40f3e5b4be5eb545b5fcbdf2eb8f1e2dd765f94b461b07f064f7f8d327a7370d608fbefe391bc0f77fc9ff036f1a0478e1010000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - 'df515936-cd87-4da6-aa88-af3387b53fcd', + '0d688d69-354a-4548-9a01-2af819b4b72a', 'elapsed-time', - '18', + '27', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:29:39 GMT', + 'Thu, 02 Sep 2021 05:56:39 GMT', 'Content-Length', - '355' + '358' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_list_of_synonymmaps_names.js b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_list_of_synonymmaps_names.js index b2358bdb7f0e..bdc56069d19c 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_list_of_synonymmaps_names.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_gets_the_list_of_synonymmaps_names.js @@ -21,9 +21,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Vary', 'Accept-Encoding', 'request-id', - '50ffdf3a-5f0c-4a7d-9c73-e273e1d45804', + '48965336-17c4-4a4f-af92-c7602db4cd73', 'elapsed-time', - '7', + '6', 'OData-Version', '4.0', 'Preference-Applied', @@ -31,7 +31,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:29:48 GMT', + 'Thu, 02 Sep 2021 05:56:48 GMT', 'Content-Length', '236' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_modify_and_updates_the_synonymmap_object.js b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_modify_and_updates_the_synonymmap_object.js index 9e59a663b159..342cf4402cc9 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_modify_and_updates_the_synonymmap_object.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_modify_and_updates_the_synonymmap_object.js @@ -7,7 +7,7 @@ module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/synonymmaps(%27my-azure-synonymmap-1%27)') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7d78ffd3ddd3fdddd383fd8387c7bfef47d46a992d72fa7a71bd9dfd605de7db0ed6f62e7d7d5ed58b0c88355559d3dffa75439f7cb52cda7c96be6e33427694067fa6d5797abcc8eb629aa59f1da55fbd3efe7d97dfcd9a79b1bc68abe528c5ef637cf3dd63029a2fa7f5f5aa2daae5ef955f7ff468b92ecb5ff2ff0084bca45f1c010000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7df8e9d3a79f1e7cfaf4def1838383dff7236ab5cc16397dbdb8dece7eb0aef36d076b7b97be3eafea4506c49aaaace96ffdbaa14fbe5a166d3e4b5fb719213b4a833fd3ea3c3d5ee47531cdd2cf8ed2af5e1fffbecbef66cdbc585eb4d57294e2f731bef9ee3101cd97d3fa7ad516d5f2f7caaf3f7ab45c97e52ff97f00098273dc1c010000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -19,11 +19,11 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E41E8489A"', + 'W/"0x8D96DD686D3A788"', 'Vary', 'Accept-Encoding', 'request-id', - '1e161e12-a14b-44d1-b880-019f9404a332', + 'a0f8f489-feea-412e-ba2c-d134930b7f7a', 'elapsed-time', '7', 'OData-Version', @@ -33,15 +33,15 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:25 GMT', + 'Thu, 02 Sep 2021 05:57:24 GMT', 'Content-Length', - '334' + '335' ]); nock('https://endpoint:443', {"encodedQueryParams":true}) - .put('/synonymmaps(%27my-azure-synonymmap-1%27)', {"name":"my-azure-synonymmap-1","format":"solr","synonyms":"United States, United States of America => USA\nWashington, Wash. => WA\nCalifornia, Clif. => CA","encryptionKey":null,"@odata.etag":"\"0x8D9561E41E8489A\""}) + .put('/synonymmaps(%27my-azure-synonymmap-1%27)', {"name":"my-azure-synonymmap-1","format":"solr","synonyms":"United States, United States of America => USA\nWashington, Wash. => WA\nCalifornia, Clif. => CA","encryptionKey":null,"@odata.etag":"\"0x8D96DD686D3A788\""}) .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7d78ffd3ddd3fdfd934f1fdebbf7e0f7fd885a2db3454e5f2faeb7b31faceb7cdbc1dadea5afcfab7a9101b1a62a6bfa5bbf6ee893af96459bcfd2d76d46c88ed2e0cfb43a4f8f17795d4cb3f4b3a3f4abd7c7bfeff2bb59332f96176db51ca5f87d8c6fbe4b5f9c646541fd2c8b6c949ed0affcc5c931f5962fa7f5f5aa2daae5ef955f7ff468b92ecb5ff2ff0028c1ead135010000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7df8e9d3a79f1e3c7cbafb70ffd383dff7236ab5cc16397dbdb8dece7eb0aef36d076b7b97be3eafea4506c49aaaace96ffdbaa14fbe5a166d3e4b5fb719213b4a833fd3ea3c3d5ee47531cdd2cf8ed2af5e1fffbecbef66cdbc585eb4d57294e2f731bef92e7d71929505f5b32cb2517a42bff21727c7d45bbe9cd6d7abb6a896bf577efdd1a3e5ba2c7fc9ff0393ae951735010000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -53,13 +53,13 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E44C69337"', + 'W/"0x8D96DD689D19468"', 'Vary', 'Accept-Encoding', 'request-id', - 'e7c914f4-d979-4842-acd8-75b81bf71e15', + 'ff417f93-1df2-4e7b-9f74-acc65c14fe03', 'elapsed-time', - '16', + '22', 'OData-Version', '4.0', 'Preference-Applied', @@ -67,7 +67,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:25 GMT', + 'Thu, 02 Sep 2021 05:57:25 GMT', 'Content-Length', '351' ]); @@ -75,7 +75,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) nock('https://endpoint:443', {"encodedQueryParams":true}) .get('/synonymmaps(%27my-azure-synonymmap-1%27)') .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7d78ffd3ddd3fdfd934f1fdebbf7e0f7fd885a2db3454e5f2faeb7b31faceb7cdbc1dadea5afcfab7a9101b1a62a6bfa5bbf6ee893af96459bcfd2d76d46c88ed2e0cfb43a4f8f17795d4cb3f4b3a3f4abd7c7bfeff2bb59332f96176db51ca5f87d8c6fbe4b5f9c646541fd2c8b6c949ed0affcc5c931f5962fa7f5f5aa2daae5ef955f7ff468b92ecb5ff2ff0028c1ead135010000"], [ + .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195efff1e67a592daf178b6cd5dcfdddf2655bb4d71f8d0c6c6a7441807fdf8f76de1d3c7df8e9d3a79f1e3c7cbafb70ffd383dff7236ab5cc16397dbdb8dece7eb0aef36d076b7b97be3eafea4506c49aaaace96ffdbaa14fbe5a166d3e4b5fb719213b4a833fd3ea3c3d5ee47531cdd2cf8ed2af5e1fffbecbef66cdbc585eb4d57294e2f731bef92e7d71929505f5b32cb2517a42bff21727c7d45bbe9cd6d7abb6a896bf577efdd1a3e5ba2c7fc9ff0393ae951735010000"], [ 'Cache-Control', 'no-cache', 'Pragma', @@ -87,11 +87,11 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'ETag', - 'W/"0x8D9561E44C69337"', + 'W/"0x8D96DD689D19468"', 'Vary', 'Accept-Encoding', 'request-id', - 'a9f832e6-fc7b-4a39-bcdf-bf698495c339', + '63d5e562-4022-467c-bee8-4b2afbe4fb40', 'elapsed-time', '6', 'OData-Version', @@ -101,7 +101,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:25 GMT', + 'Thu, 02 Sep 2021 05:57:25 GMT', 'Content-Length', '351' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_throws_error_for_invalid_synonymmap_object.js b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_throws_error_for_invalid_synonymmap_object.js index 3c5f4edd80cc..1531830c542b 100644 --- a/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_throws_error_for_invalid_synonymmap_object.js +++ b/sdk/search/search-documents/recordings/node/searchindexclient_synonymmaps/recording_throws_error_for_invalid_synonymmap_object.js @@ -19,9 +19,9 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Expires', '-1', 'request-id', - '2abc0cf6-81c7-4b2a-8349-2bb2582f06d6', + '2413622c-cf96-4fa1-b4e1-b7013df50980', 'elapsed-time', - '6', + '7', 'OData-Version', '4.0', 'Preference-Applied', @@ -29,7 +29,7 @@ nock('https://endpoint:443', {"encodedQueryParams":true}) 'Strict-Transport-Security', 'max-age=15724800; includeSubDomains', 'Date', - 'Tue, 03 Aug 2021 01:30:06 GMT', + 'Thu, 02 Sep 2021 05:57:06 GMT', 'Content-Length', '112' ]); diff --git a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_creates_the_datasourceconnection_object_using_createorupdatedatasourceconnection.js b/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_creates_the_datasourceconnection_object_using_createorupdatedatasourceconnection.js deleted file mode 100644 index 6d4cde6ed6c3..000000000000 --- a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_creates_the_datasourceconnection_object_using_createorupdatedatasourceconnection.js +++ /dev/null @@ -1,91 +0,0 @@ -let nock = require('nock'); - -module.exports.hash = "5fe96f92a28713e1a27928095e27bd5f"; - -module.exports.testInfo = {"uniqueName":{},"newDate":{}} - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .put('/datasources(%27my-data-source-3%27)', {"name":"my-data-source-3","type":"cosmosdb","credentials":{"connectionString":"AccountEndpoint=https://hotels-docbb.documents.azure.com:443/;AccountKey=4UPsNZyFAjgZ1tzHPGZaxS09XcwLrIawbXBWk6IixcxJoSePTcjBn0mi53XiKWu8MaUgowUhIovOv7kjksqAug==;Database=SampleData"},"container":{"name":"hotels"}}) - .query(true) - .reply(201, {"@odata.context":"https://endpoint/$metadata#datasources/$entity","@odata.etag":"\"0x8D8BE6ADB3FD718\"","name":"my-data-source-3","description":null,"type":"cosmosdb","subtype":null,"credentials":{"connectionString":null},"container":{"name":"hotels","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"encryptionKey":null}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Expires', - '-1', - 'ETag', - 'W/"0x8D8BE6ADB3FD718"', - 'Location', - "https://endpoint/datasources('my-data-source-3')?api-version=2020-06-30", - 'request-id', - 'b2d2300e-4df5-434b-9c7e-9a43b8353f29', - 'elapsed-time', - '40', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:42 GMT', - 'Content-Length', - '381' -]); - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .get('/datasources(%27my-data-source-3%27)') - .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fcd354eb7a9a37777fb77cd916edf54723039b1a5d10e0dff7a39d77074f0f9e9c7e7afcf4c9bd674f1fec1efcbe1f51ab65b6c8e9ebc5f5365a6f0b98ed7bf4cd2c6fa675b16a8b6af9d1a3e5ba2c471fb5d72b349e56cda26a66136ad4ac27f2a13498d6f90c086465f3d1a35f4c0d97cb7c0a08afdbba58121e68f64ba81d0d382b96798d568ac2bc6a737a6df4d12f5ae7f5b56d0ab44ee6d9f2227f9ab702ec655516536d210d9ee6658e6f069ae4cb697dcd23f9bd72fdf097fc3f6eb7484b7d010000"], [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Content-Encoding', - 'gzip', - 'Expires', - '-1', - 'ETag', - 'W/"0x8D8BE6ADB3FD718"', - 'Vary', - 'Accept-Encoding', - 'request-id', - 'f9236f6d-2977-4b22-9867-e8255ab30584', - 'elapsed-time', - '7', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:42 GMT', - 'Content-Length', - '367' -]); - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .delete('/datasources(%27my-data-source-3%27)') - .query(true) - .reply(204, "", [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Expires', - '-1', - 'request-id', - 'c90cbe4b-c424-4244-8f61-b7105100ac30', - 'elapsed-time', - '19', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:42 GMT' -]); diff --git a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_correct_datasourceconnection_object.js b/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_correct_datasourceconnection_object.js deleted file mode 100644 index aacda8515318..000000000000 --- a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_correct_datasourceconnection_object.js +++ /dev/null @@ -1,39 +0,0 @@ -let nock = require('nock'); - -module.exports.hash = "6cace7d322e4701566a537ad837dce84"; - -module.exports.testInfo = {"uniqueName":{},"newDate":{}} - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .get('/datasources(%27my-data-source-1%27)') - .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fcd354eb7a9a37777fb77cd916edf54723039b1a5d10e0dff7a39d77074f0f9e9c7e7a7cf2e0c9c1a74f9f3cf97d3fa256cb6c91d3d78beb6db4de1630dbbbf4cd2c6fa675b16a8b6af9d1a3e5ba2c471fb5d72b349e56cda26a66136ad4ac27f2a13498d6f90c086465f3d1a35f4c0d97cb7c0a08afdbba58121e68f64ba81d0d382b96798d568ac2bc6a737a6df4d12f5ae7f5b56d0ab44ee6d9f2227f9ab702ec655516536d210d9ee6658e6f069ae4cb697dcd23f9bd72fdf097fc3fac167b167d010000"], [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Content-Encoding', - 'gzip', - 'Expires', - '-1', - 'ETag', - 'W/"0x8D8BE6AC7B86DBB"', - 'Vary', - 'Accept-Encoding', - 'request-id', - '919d19f6-dd10-4434-bbc2-6e33145c96bb', - 'elapsed-time', - '8', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:17 GMT', - 'Content-Length', - '367' -]); diff --git a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_list_of_datasourceconnection_names.js b/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_list_of_datasourceconnection_names.js deleted file mode 100644 index 5f27685a1695..000000000000 --- a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_list_of_datasourceconnection_names.js +++ /dev/null @@ -1,37 +0,0 @@ -let nock = require('nock'); - -module.exports.hash = "e9346adccc79bd7823bd861714119c2a"; - -module.exports.testInfo = {"uniqueName":{},"newDate":{}} - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .get('/datasources') - .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fcd354eb7a9a375bcb6c91dff968f4d16556aef38f1e7def177f844f08f2e27a1bedb6a5e1f6ee47bf6434f4ddde47bfe4fbbfe4ff01704ecf6c9d000000"], [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Content-Encoding', - 'gzip', - 'Expires', - '-1', - 'Vary', - 'Accept-Encoding', - 'request-id', - '8f88294b-f0fb-408a-9342-809016736dbd', - 'elapsed-time', - '11', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:05 GMT', - 'Content-Length', - '231' -]); diff --git a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_list_of_datasourceconnections.js b/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_list_of_datasourceconnections.js deleted file mode 100644 index c7194baca2ea..000000000000 --- a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_gets_the_list_of_datasourceconnections.js +++ /dev/null @@ -1,37 +0,0 @@ -let nock = require('nock'); - -module.exports.hash = "6f194676a5a2f1c7a1496c74c15198a1"; - -module.exports.testInfo = {"uniqueName":{},"newDate":{}} - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .get('/datasources') - .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fcd354eb7a9a371f8d3ebaccca75fed1a3ef59e8d4ec8240ffbe1fedbc3b787af0e4f4d3e32707a7cf0e9eedddff7d3fa2f6cb6c41cd3f5a5c6fa3f5b600dadea56f667933ad8b555b54cb8f1e2dd76539faa8bd5ea1f1b46a1655339b50a3663d910fa5c1b4ce67f9b22db2b2f9e8d12fa686cb653e0584d76d5d2c090f34fb25d48e869c15cbbc462b45615eb539bd36fae817adf3fada36055a27f36c79913fcd5b01f6b22a8ba9b690064ff332c737034df2e5b4bee691fc5eb97ef84b461b29f4ece9c9dec1c30d14daa36ffe7f4ea1efff92ff078e5fcc65a3020000"], [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Content-Encoding', - 'gzip', - 'Expires', - '-1', - 'Vary', - 'Accept-Encoding', - 'request-id', - '4f6d3e44-3f3a-47d5-9bd4-0fd1cbebe7f6', - 'elapsed-time', - '27', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:14:52 GMT', - 'Content-Length', - '392' -]); diff --git a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_modify_and_updates_the_datasourceconnection_object.js b/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_modify_and_updates_the_datasourceconnection_object.js deleted file mode 100644 index a05cf5f1679e..000000000000 --- a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_modify_and_updates_the_datasourceconnection_object.js +++ /dev/null @@ -1,107 +0,0 @@ -let nock = require('nock'); - -module.exports.hash = "723906b7d44c3d772d312a8f1010a191"; - -module.exports.testInfo = {"uniqueName":{},"newDate":{}} - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .get('/datasources(%27my-data-source-1%27)') - .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fcd354eb7a9a37777fb77cd916edf54723039b1a5d10e0dff7a39d77074f0f9e9c7e7afcf474f7c193a70f9ffebe1f51ab65b6c8e9ebc5f5365a6f0b98ed5dfa669637d3ba58b545b5fce8d1725d96a38fdaeb151a4fab665135b309356ad613f9501a4ceb7c0604b2b2f9e8d12fa686cb653e0584d76d5d2c090f34fb25d48e069c15cbbc462b45615eb539bd36fae817adf3fada36055a27f36c79913fcd5b01f6b22a8ba9b690064ff332c737034df2e5b4bee691fc5eb97ef84bfe1fcb9c21397d010000"], [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Content-Encoding', - 'gzip', - 'Expires', - '-1', - 'ETag', - 'W/"0x8D8BE6ADE17BD9D"', - 'Vary', - 'Accept-Encoding', - 'request-id', - '3e995a84-551c-4eaa-9be4-10163fa8783d', - 'elapsed-time', - '7', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:55 GMT', - 'Content-Length', - '367' -]); - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .put('/datasources(%27my-data-source-1%27)', {"name":"my-data-source-1","description":"my-data-source-1","type":"cosmosdb","credentials":{"connectionString":null},"container":{"name":"my-container-2","query":null},"dataChangeDetectionPolicy":null,"dataDeletionDetectionPolicy":null,"@odata.etag":"\"0x8D8BE6ADE17BD9D\"","encryptionKey":null}) - .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fcd354eb7a9a37777fb77cd916edf54723039b1a5d10e0dff7a39d77074f0f9e9c7e7a7cba7772fcecc993fbbfef47d46a992d72fa7a71bd8dd6db02667b97be99e5cdb42e566d512de30ddaeb155e9d56cda26a6613faa4594fe4c3e5ba2c471f4deb7c0674b2b2f9e8d12fa686cb653e05bcd76d5d2c092b34fb25d48e869f15cbbc462b8790fd787b8f60ffa2755e5fdb5780cbc93c5b5ee44ff35680beacca62aa2da4c1d3bcccf1cd40937c39adaf797cbf57ae1ffe92ff0777a8b0d793010000"], [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Content-Encoding', - 'gzip', - 'Expires', - '-1', - 'ETag', - 'W/"0x8D8BE6AE2CAFBB5"', - 'Vary', - 'Accept-Encoding', - 'request-id', - '06c2bb2a-e707-43b0-a4a7-9dacaf3dd6b3', - 'elapsed-time', - '67', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:55 GMT', - 'Content-Length', - '364' -]); - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .get('/datasources(%27my-data-source-1%27)') - .query(true) - .reply(200, ["1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ef147bf6735cbda6c3cad966dfeaefde8d147f3b65d358feede6df3a66df2ac9ecea759933763f97d7c552c67d555335ee6eddddf6d91b7195eff71fcd354eb7a9a37777fb77cd916edf54723039b1a5d10e0dff7a39d77074f0f9e9c7e7a7cba7772fcecc993fbbfef47d46a992d72fa7a71bd8dd6db02667b97be99e5cdb42e566d512de30ddaeb155e9d56cda26a6613faa4594fe4c3e5ba2c471f4deb7c0674b2b2f9e8d12fa686cb653e05bcd76d5d2c092b34fb25d48e869f15cbbc462b8790fd787b8f60ffa2755e5fdb5780cbc93c5b5ee44ff35680beacca62aa2da4c1d3bcccf1cd40937c39adaf797cbf57ae1ffe92ff0777a8b0d793010000"], [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Content-Encoding', - 'gzip', - 'Expires', - '-1', - 'ETag', - 'W/"0x8D8BE6AE2CAFBB5"', - 'Vary', - 'Accept-Encoding', - 'request-id', - '23f00aea-6c05-4d2f-b7cd-bc5945c6f192', - 'elapsed-time', - '7', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:55 GMT', - 'Content-Length', - '364' -]); diff --git a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_throws_error_for_invalid_datasourceconnection_object.js b/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_throws_error_for_invalid_datasourceconnection_object.js deleted file mode 100644 index e0164cc40d06..000000000000 --- a/sdk/search/search-documents/recordings/node/searchindexerclient_datasourceconnections/recording_throws_error_for_invalid_datasourceconnection_object.js +++ /dev/null @@ -1,35 +0,0 @@ -let nock = require('nock'); - -module.exports.hash = "042821d4c3616b703a08e02f760abe31"; - -module.exports.testInfo = {"uniqueName":{},"newDate":{}} - -nock('https://endpoint:443', {"encodedQueryParams":true}) - .get('/datasources(%27garbxyz%27)') - .query(true) - .reply(404, {"error":{"code":"","message":"No data source with the name 'garbxyz' was found in service 'testsearchcases'."}}, [ - 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Type', - 'application/json; odata.metadata=minimal', - 'Content-Language', - 'en', - 'Expires', - '-1', - 'request-id', - 'fc9036c5-427d-43be-a7b8-38c601b6820e', - 'elapsed-time', - '4', - 'OData-Version', - '4.0', - 'Preference-Applied', - 'odata.include-annotations="*"', - 'Strict-Transport-Security', - 'max-age=15724800; includeSubDomains', - 'Date', - 'Fri, 22 Jan 2021 00:15:29 GMT', - 'Content-Length', - '112' -]); diff --git a/sdk/search/search-documents/review/search-documents.api.md b/sdk/search/search-documents/review/search-documents.api.md index d4eccec7d60f..9e64b50c0a2b 100644 --- a/sdk/search/search-documents/review/search-documents.api.md +++ b/sdk/search/search-documents/review/search-documents.api.md @@ -24,6 +24,7 @@ export interface AnalyzedTokenInfo { export interface AnalyzeRequest { analyzerName?: string; charFilters?: string[]; + normalizerName?: LexicalNormalizerName; text: string; tokenFilters?: string[]; tokenizerName?: string; @@ -2020,6 +2021,7 @@ export interface SearchRequest { // @public export interface SearchRequestOptions { answers?: Answers; + captions?: Captions; facets?: string[]; filter?: string; highlightFields?: string; @@ -2036,6 +2038,7 @@ export interface SearchRequestOptions { searchFields?: Fields[]; searchMode?: SearchMode; select?: Fields[]; + semanticFields?: string[]; sessionId?: string; skip?: number; speller?: Speller; diff --git a/sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/autoFlushSizeBased.ts b/sdk/search/search-documents/samples-dev/bufferedSenderAutoFlushSize.ts similarity index 84% rename from sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/autoFlushSizeBased.ts rename to sdk/search/search-documents/samples-dev/bufferedSenderAutoFlushSize.ts index 9e828a577b11..8363c1c1d994 100644 --- a/sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/autoFlushSizeBased.ts +++ b/sdk/search/search-documents/samples-dev/bufferedSenderAutoFlushSize.ts @@ -1,3 +1,10 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Autoflush based on size. + */ + import { SearchIndexingBufferedSender, AzureKeyCredential, @@ -5,8 +12,8 @@ import { GeographyPoint, SearchIndexClient } from "@azure/search-documents"; -import { createIndex, documentKeyRetriever, WAIT_TIME } from "../../utils/setup"; -import { Hotel } from "../../utils/interfaces"; +import { createIndex, documentKeyRetriever, WAIT_TIME } from "./setup"; +import { Hotel } from "./interfaces"; import { delay } from "@azure/core-http"; import * as dotenv from "dotenv"; dotenv.config(); @@ -18,9 +25,9 @@ dotenv.config(); * when the size of the batch is greater than threshold (which is set to 1000) * by default. */ -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; -const TEST_INDEX_NAME = "hotel-live-sample-test3"; +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-4"; function getDocumentsArray(size: number): Hotel[] { const array: Hotel[] = []; @@ -51,7 +58,12 @@ function getDocumentsArray(size: number): Hotel[] { return array; } -export async function main() { +async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-With Auto Flush Sizes Sample`); const credential = new AzureKeyCredential(apiKey); diff --git a/sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/autoFlushTimerBased.ts b/sdk/search/search-documents/samples-dev/bufferedSenderAutoFlushTimer.ts similarity index 84% rename from sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/autoFlushTimerBased.ts rename to sdk/search/search-documents/samples-dev/bufferedSenderAutoFlushTimer.ts index efda4b3c804e..4317f76ef564 100644 --- a/sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/autoFlushTimerBased.ts +++ b/sdk/search/search-documents/samples-dev/bufferedSenderAutoFlushTimer.ts @@ -1,3 +1,10 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Autoflush based on timer. + */ + import { SearchIndexingBufferedSender, AzureKeyCredential, @@ -6,8 +13,8 @@ import { SearchIndexClient, DEFAULT_FLUSH_WINDOW } from "@azure/search-documents"; -import { createIndex, documentKeyRetriever, WAIT_TIME } from "../../utils/setup"; -import { Hotel } from "../../utils/interfaces"; +import { createIndex, documentKeyRetriever, WAIT_TIME } from "./setup"; +import { Hotel } from "./interfaces"; import { delay } from "@azure/core-http"; import * as dotenv from "dotenv"; dotenv.config(); @@ -19,11 +26,16 @@ dotenv.config(); * when the time interval is met. The time interval is set to 60000ms * by default. */ -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; -const TEST_INDEX_NAME = "hotel-live-sample-test2"; +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-5"; export async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-With Auto Flush Timer Sample`); const credential = new AzureKeyCredential(apiKey); diff --git a/sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/manualFlush.ts b/sdk/search/search-documents/samples-dev/bufferedSenderManualFlush.ts similarity index 83% rename from sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/manualFlush.ts rename to sdk/search/search-documents/samples-dev/bufferedSenderManualFlush.ts index c842049ec850..995e45b236ef 100644 --- a/sdk/search/search-documents/samples/typescript/src/bufferedSender/uploadDocuments/manualFlush.ts +++ b/sdk/search/search-documents/samples-dev/bufferedSenderManualFlush.ts @@ -1,3 +1,10 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Manual Flush. + */ + import { SearchIndexingBufferedSender, AzureKeyCredential, @@ -5,8 +12,8 @@ import { GeographyPoint, SearchIndexClient } from "@azure/search-documents"; -import { createIndex, documentKeyRetriever, WAIT_TIME } from "../../utils/setup"; -import { Hotel } from "../../utils/interfaces"; +import { createIndex, documentKeyRetriever, WAIT_TIME } from "./setup"; +import { Hotel } from "./interfaces"; import { delay } from "@azure/core-http"; import * as dotenv from "dotenv"; dotenv.config(); @@ -16,11 +23,16 @@ dotenv.config(); * In this sample, the autoFlush is set to false. i.e. the user * wants to call the flush manually. */ -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; -const TEST_INDEX_NAME = "hotel-live-sample-test1"; +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-6"; export async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-Without AutoFlush Sample`); const credential = new AzureKeyCredential(apiKey); diff --git a/sdk/search/search-documents/samples-dev/dataSourceConnectionOperations.ts b/sdk/search/search-documents/samples-dev/dataSourceConnectionOperations.ts new file mode 100644 index 000000000000..20724b110293 --- /dev/null +++ b/sdk/search/search-documents/samples-dev/dataSourceConnectionOperations.ts @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the DataSource Connection Operations. + */ + +import { + SearchIndexerClient, + AzureKeyCredential, + SearchIndexerDataSourceConnection +} from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const connectionString = process.env.CONNECTION_STRING || ""; +const dataSourceConnectionName = "example-ds-connection-sample-1"; + +async function createDataSourceConnection( + dataSourceConnectionName: string, + client: SearchIndexerClient +) { + console.log(`Creating DS Connection Operation`); + const dataSourceConnection: SearchIndexerDataSourceConnection = { + name: dataSourceConnectionName, + description: "My Data Source 1", + type: "cosmosdb", + container: { + name: "my-container-1" + }, + connectionString + }; + await client.createDataSourceConnection(dataSourceConnection); +} + +async function getAndUpdateDataSourceConnection( + dataSourceConnectionName: string, + client: SearchIndexerClient +) { + console.log(`Get And Update DS Connection Operation`); + const ds: SearchIndexerDataSourceConnection = await client.getDataSourceConnection( + dataSourceConnectionName + ); + ds.container.name = "Listings_5K_KingCounty_WA"; + console.log(`Updating Container Name of Datasource Connection ${dataSourceConnectionName}`); + await client.createOrUpdateDataSourceConnection(ds); +} + +async function listDataSourceConnections(client: SearchIndexerClient) { + console.log(`List DS Connection Operation`); + const listOfDataSourceConnections: Array = await client.listDataSourceConnections(); + + console.log(`List of Data Source Connections`); + console.log(`*******************************`); + for (let ds of listOfDataSourceConnections) { + console.log(`Name: ${ds.name}`); + console.log(`Description: ${ds.description}`); + console.log(`Connection String: ${ds.connectionString}`); + console.log(`Data Change Detection Policy: ${ds.dataChangeDetectionPolicy}`); + console.log(`Data Deletion Detection Policy: ${ds.dataDeletionDetectionPolicy}`); + console.log(`Etag: ${ds.etag}`); + console.log(`DataContainer`); + console.log(`\tName: ${ds.container.name}`); + console.log(`\tQuery: ${ds.container.query}`); + console.log(); + } +} + +async function deleteDataSourceConnection( + dataSourceConnectionName: string, + client: SearchIndexerClient +) { + console.log(`Deleting DS Connection Operation`); + await client.deleteDataSourceConnection(dataSourceConnectionName); +} + +async function main() { + console.log(`Running DS Connection Operations Sample....`); + if (!endpoint || !apiKey || !connectionString) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createDataSourceConnection(dataSourceConnectionName, client); + await getAndUpdateDataSourceConnection(dataSourceConnectionName, client); + await listDataSourceConnections(client); + } finally { + await deleteDataSourceConnection(dataSourceConnectionName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples-dev/indexOperations.ts b/sdk/search/search-documents/samples-dev/indexOperations.ts new file mode 100644 index 000000000000..89aec8a8ef65 --- /dev/null +++ b/sdk/search/search-documents/samples-dev/indexOperations.ts @@ -0,0 +1,158 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Index Operations. + */ + +import { + SearchIndexClient, + AzureKeyCredential, + SearchIndex, + SearchIndexStatistics +} from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const indexName = "example-index-sample-1"; + +async function createIndex(indexName: string, client: SearchIndexClient) { + console.log(`Creating Index Operation`); + const index: SearchIndex = { + name: indexName, + fields: [ + { + type: "Edm.String", + name: "id", + key: true + }, + { + type: "Edm.Double", + name: "awesomenessLevel", + sortable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.String", + name: "description", + searchable: true + }, + { + type: "Edm.ComplexType", + name: "details", + fields: [ + { + type: "Collection(Edm.String)", + name: "tags", + searchable: true + } + ] + }, + { + type: "Edm.Int32", + name: "hiddenWeight", + hidden: true + } + ] + }; + await client.createIndex(index); +} + +async function getAndUpdateIndex(indexName: string, client: SearchIndexClient) { + console.log(`Get And Update Index Operation`); + const index: SearchIndex = await client.getIndex(indexName); + index.fields.push({ + type: "Edm.DateTimeOffset", + name: "lastUpdatedOn", + filterable: true + }); + await client.createOrUpdateIndex(index); +} + +async function getIndexStatistics(indexName: string, client: SearchIndexClient) { + console.log(`Get Index Statistics Operation`); + const statistics: SearchIndexStatistics = await client.getIndexStatistics(indexName); + console.log(`Document Count: ${statistics.documentCount}`); + console.log(`Storage Size: ${statistics.storageSize}`); +} + +async function getServiceStatistics(client: SearchIndexClient) { + console.log(`Get Service Statistics Operation`); + const { counters, limits } = await client.getServiceStatistics(); + console.log(`Counters`); + console.log(`========`); + console.log(`\tDocument Counter`); + console.log(`\t\tUsage: ${counters.documentCounter.usage}`); + console.log(`\t\tQuota: ${counters.documentCounter.quota}`); + console.log(`\tIndex Counter`); + console.log(`\t\tUsage: ${counters.indexCounter.usage}`); + console.log(`\t\tQuota: ${counters.indexCounter.quota}`); + console.log(`\tIndexer Counter`); + console.log(`\t\tUsage: ${counters.indexerCounter.usage}`); + console.log(`\t\tQuota: ${counters.indexerCounter.quota}`); + console.log(`\tData Source Counter`); + console.log(`\t\tUsage: ${counters.dataSourceCounter.usage}`); + console.log(`\t\tQuota: ${counters.dataSourceCounter.quota}`); + console.log(`\tStorage Size Counter`); + console.log(`\t\tUsage: ${counters.storageSizeCounter.usage}`); + console.log(`\t\tQuota: ${counters.storageSizeCounter.quota}`); + console.log(`\tSynonym Map Counter`); + console.log(`\t\tUsage: ${counters.synonymMapCounter.usage}`); + console.log(`\t\tQuota: ${counters.synonymMapCounter.quota}`); + console.log(); + console.log(`Limits`); + console.log(`======`); + console.log(`\tMax Fields Per Index: ${limits.maxFieldsPerIndex}`); + console.log(`\tMax Field Nesting Depth Per Index: ${limits.maxFieldNestingDepthPerIndex}`); + console.log( + `\tMax Complex Collection Fields Per Index: ${limits.maxComplexCollectionFieldsPerIndex}` + ); + console.log( + `\tMax Complex Objects In Collections Per Document: ${limits.maxComplexObjectsInCollectionsPerDocument}` + ); +} + +async function listIndexes(client: SearchIndexClient) { + console.log(`List Indexes Operation`); + const result = await client.listIndexes(); + let listOfIndexes = await result.next(); + + console.log(`List of Indexes`); + console.log(`***************`); + while (!listOfIndexes.done) { + console.log(`Name: ${listOfIndexes.value.name}`); + console.log(`Similarity Algorithm: ${listOfIndexes.value.similarity?.odatatype}`); + console.log(); + listOfIndexes = await result.next(); + } +} + +async function deleteIndex(indexName: string, client: SearchIndexClient) { + console.log(`Deleting Index Operation`); + await client.deleteIndex(indexName); +} + +async function main() { + console.log(`Running Index Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createIndex(indexName, client); + await getAndUpdateIndex(indexName, client); + await getIndexStatistics(indexName, client); + await getServiceStatistics(client); + await listIndexes(client); + } finally { + await deleteIndex(indexName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples-dev/indexerOperations.ts b/sdk/search/search-documents/samples-dev/indexerOperations.ts new file mode 100644 index 000000000000..f1530883c886 --- /dev/null +++ b/sdk/search/search-documents/samples-dev/indexerOperations.ts @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Indexer Operations. + */ + +import { + SearchIndexerClient, + AzureKeyCredential, + SearchIndexer, + SearchIndexerStatus +} from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const dataSourceName = process.env.DATA_SOURCE_NAME || ""; +const targetIndexName = process.env.TARGET_INDEX_NAME || ""; + +const indexerName = "example-indexer-sample-1"; + +async function createIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Creating Indexer Operation`); + const indexer: SearchIndexer = { + name: indexerName, + description: "Description for Sample Indexer", + dataSourceName, + targetIndexName, + isDisabled: false + }; + await client.createIndexer(indexer); +} + +async function getAndUpdateIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Get And Update Indexer Operation`); + const indexer: SearchIndexer = await client.getIndexer(indexerName); + indexer.isDisabled = true; + await client.createOrUpdateIndexer(indexer); + indexer.isDisabled = false; + await client.createOrUpdateIndexer(indexer); +} + +async function getIndexerStatus(indexerName: string, client: SearchIndexerClient) { + console.log(`Get Indexer Status Operation`); + const indexerStatus: SearchIndexerStatus = await client.getIndexerStatus(indexerName); + console.log(`Status: ${indexerStatus.status}`); + console.log(`Limits`); + console.log(`******`); + console.log( + `MaxDocumentContentCharactersToExtract: ${indexerStatus.limits.maxDocumentContentCharactersToExtract}` + ); + console.log(`MaxDocumentExtractionSize: ${indexerStatus.limits.maxDocumentExtractionSize}`); + console.log(`MaxRunTime: ${indexerStatus.limits.maxRunTime}`); +} + +async function listIndexers(client: SearchIndexerClient) { + console.log(`List Indexers Operation`); + const listOfIndexers: Array = await client.listIndexers(); + + console.log(`\tList of Indexers`); + console.log(`\t****************`); + for (let indexer of listOfIndexers) { + console.log(`Name: ${indexer.name}`); + console.log(`Description: ${indexer.description}`); + console.log(`Data Source Name: ${indexer.dataSourceName}`); + console.log(`Skillset Name: ${indexer.skillsetName}`); + console.log(`Target Index Name: ${indexer.targetIndexName}`); + console.log(`Indexing Schedule`); + console.log(`\tInterval: ${indexer.schedule?.interval}`); + console.log(`\tStart Time: ${indexer.schedule?.startTime}`); + console.log(`Is Disabled: ${indexer.isDisabled}`); + console.log(`ETag: ${indexer.etag}`); + console.log(`Parameters`); + console.log(`\tBatch Size: ${indexer.parameters?.batchSize}`); + console.log(`\tMax Failed Items: ${indexer.parameters?.maxFailedItems}`); + console.log(`\tMax Failed Items Per Batch: ${indexer.parameters?.maxFailedItemsPerBatch}`); + console.log(); + } +} + +async function resetIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Reset Indexer Operation`); + await client.resetIndexer(indexerName); +} + +async function deleteIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Deleting Indexer Operation`); + await client.deleteIndexer(indexerName); +} + +async function runIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Run Indexer Operation`); + await client.runIndexer(indexerName); +} + +async function main() { + console.log(`Running Indexer Operations Sample....`); + if (!endpoint || !apiKey || !dataSourceName || !targetIndexName) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createIndexer(indexerName, client); + await getAndUpdateIndexer(indexerName, client); + await getIndexerStatus(indexerName, client); + await listIndexers(client); + await resetIndexer(indexerName, client); + await runIndexer(indexerName, client); + } finally { + await deleteIndexer(indexerName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/typescript/src/utils/interfaces.ts b/sdk/search/search-documents/samples-dev/interfaces.ts similarity index 95% rename from sdk/search/search-documents/samples/typescript/src/utils/interfaces.ts rename to sdk/search/search-documents/samples-dev/interfaces.ts index 35a81e351321..1230fa50a70c 100644 --- a/sdk/search/search-documents/samples/typescript/src/utils/interfaces.ts +++ b/sdk/search/search-documents/samples-dev/interfaces.ts @@ -1,6 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. +/** + * @summary Defines the Hotel Interface. + */ + import { GeographyPoint } from "@azure/search-documents"; export interface Hotel { diff --git a/sdk/search/search-documents/samples/typescript/src/utils/setup.ts b/sdk/search/search-documents/samples-dev/setup.ts similarity index 99% rename from sdk/search/search-documents/samples/typescript/src/utils/setup.ts rename to sdk/search/search-documents/samples-dev/setup.ts index 1b0c230e71f7..d5478f2d9863 100644 --- a/sdk/search/search-documents/samples/typescript/src/utils/setup.ts +++ b/sdk/search/search-documents/samples-dev/setup.ts @@ -1,6 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. +/** + * @summary Defines the utility methods. + */ + import { SearchIndexClient, SearchIndex, KnownAnalyzerNames } from "@azure/search-documents"; import { Hotel } from "./interfaces"; diff --git a/sdk/search/search-documents/samples-dev/skillSetOperations.ts b/sdk/search/search-documents/samples-dev/skillSetOperations.ts new file mode 100644 index 000000000000..8bf587fde6ec --- /dev/null +++ b/sdk/search/search-documents/samples-dev/skillSetOperations.ts @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Skillset Operations. + */ + +import { + SearchIndexerClient, + AzureKeyCredential, + SearchIndexerSkillset +} from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; + +const skillsetName = "example-skillset-sample-1"; + +async function createSkillset(skillsetName: string, client: SearchIndexerClient) { + console.log(`Creating Skillset Operation`); + const skillset: SearchIndexerSkillset = { + name: skillsetName, + description: `Skillset description`, + skills: [ + { + odatatype: "#Microsoft.Skills.Text.EntityRecognitionSkill", + inputs: [ + { + name: "text", + source: "/document/merged_content" + }, + { + name: "languageCode", + source: "/document/language" + } + ], + outputs: [ + { + name: "persons", + targetName: "people" + }, + { + name: "organizations", + targetName: "organizations" + }, + { + name: "locations", + targetName: "locations" + } + ] + } + ] + }; + await client.createSkillset(skillset); +} + +async function getAndUpdateSkillset(skillsetName: string, client: SearchIndexerClient) { + console.log(`Get And Update Skillset Operation`); + const skillset: SearchIndexerSkillset = await client.getSkillset(skillsetName); + + skillset.skills[0].outputs = [ + { + name: "persons", + targetName: "people" + }, + { + name: "organizations", + targetName: "organizations" + } + ]; + + await client.createOrUpdateSkillset(skillset); +} + +async function listSkillsets(client: SearchIndexerClient) { + console.log(`List Skillset Operation`); + const listOfSkillsets: Array = await client.listSkillsets(); + + console.log(`\tList of Skillsets`); + console.log(`\t******************`); + for (let skillset of listOfSkillsets) { + console.log(`Name: ${skillset.name}`); + console.log(`Description: ${skillset.description}`); + console.log(`Skills`); + console.log(`******`); + for (let skill of skillset.skills) { + console.log(`ODataType: ${skill.odatatype}`); + console.log(`Inputs`); + for (let input of skill.inputs) { + console.log(`\tName: ${input.name}`); + console.log(`\tSource: ${input.source}`); + } + console.log(`Outputs`); + for (let output of skill.outputs) { + console.log(`\tName: ${output.name}`); + console.log(`\tTarget Name: ${output.targetName}`); + } + } + } +} + +async function deleteSkillset(skillsetName: string, client: SearchIndexerClient) { + console.log(`Deleting Skillset Operation`); + await client.deleteSkillset(skillsetName); +} + +async function main() { + console.log(`Running Skillset Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createSkillset(skillsetName, client); + await getAndUpdateSkillset(skillsetName, client); + await listSkillsets(client); + } finally { + await deleteSkillset(skillsetName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples-dev/synonymMapOperations.ts b/sdk/search/search-documents/samples-dev/synonymMapOperations.ts new file mode 100644 index 000000000000..bc3dcac96818 --- /dev/null +++ b/sdk/search/search-documents/samples-dev/synonymMapOperations.ts @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SynonymMap Operations. + */ + +import { SearchIndexClient, AzureKeyCredential, SynonymMap } from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const synonymMapName = "example-synonymmap-sample-1"; + +async function createSynonymMap(synonymMapName: string, client: SearchIndexClient) { + console.log(`Creating SynonymMap Operation`); + const sm: SynonymMap = { + name: synonymMapName, + synonyms: ["United States, United States of America => USA", "Washington, Wash. => WA"] + }; + await client.createSynonymMap(sm); +} + +async function getAndUpdateSynonymMap(synonymMapName: string, client: SearchIndexClient) { + console.log(`Get And Update SynonymMap Operation`); + const sm: SynonymMap = await client.getSynonymMap(synonymMapName); + console.log(`Update synonyms Synonym Map my-synonymmap`); + sm.synonyms.push("Florida, Fld. => FL"); + await client.createOrUpdateSynonymMap(sm); +} + +async function listSynonymMaps(client: SearchIndexClient) { + console.log(`List SynonymMaps Operation`); + const listOfSynonymMaps: Array = await client.listSynonymMaps(); + + console.log(`List of SynonymMaps`); + console.log(`*******************`); + for (let sm of listOfSynonymMaps) { + console.log(`Name: ${sm.name}`); + console.log(`Synonyms`); + for (let synonym of sm.synonyms) { + console.log(synonym); + } + } +} + +async function deleteSynonymMap(synonymMapName: string, client: SearchIndexClient) { + console.log(`Deleting SynonymMap Operation`); + await client.deleteSynonymMap(synonymMapName); +} + +async function main() { + console.log(`Running Index Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createSynonymMap(synonymMapName, client); + await getAndUpdateSynonymMap(synonymMapName, client); + await listSynonymMaps(client); + } finally { + await deleteSynonymMap(synonymMapName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/javascript/README.md b/sdk/search/search-documents/samples/javascript/README.md deleted file mode 100644 index d8c9d48dd99e..000000000000 --- a/sdk/search/search-documents/samples/javascript/README.md +++ /dev/null @@ -1,133 +0,0 @@ -# Azure Cognitive Search client library samples for JavaScript - -These sample programs show how to use the JavaScript client libraries for Azure Cognitive Search in some common scenarios. - -| **File Name** | **Description** | -| ---------------------------- | ------------------------ | -| **Data Source Connections** | -| [createDataSourceConnection.js][createDataSourceConnection] | Creates a Datasource Connection | -| [createOrUpdateDataSourceConnection.js][createOrUpdateDataSourceConnection] | Updates a Datasource Connection | -| [deleteDataSourceConnectionByName.js][deleteDataSourceConnectionByName] | Deletes Datasource Connection by Name | -| [deleteDataSourceConnectionByObject.js][deleteDataSourceConnectionByObject] | Deletes Datasource Connection by Object | -| [getDataSourceConnection.js][getDataSourceConnection] | Gets a Datasource Connection | -| [listDataSourceConnectionNames.js][listDataSourceConnectionNames] | List names of Datasource Connections | -| [listDataSourceConnections.js][listDataSourceConnections] | List Datasource Connections | -| **Indexers** | -| [createIndexer.js][createIndexer] | Creates an Indexer | -| [createOrUpdateIndexer.js][createOrUpdateIndexer] | Updates an Indexer | -| [deleteIndexerByName.js][deleteIndexerByName] | Deletes Indexer by Name | -| [deleteIndexerByObject.js][deleteIndexerByObject] | Deletes Indexer by Object | -| [getIndexer.js][getIndexer] | Gets an Indexer | -| [getIndexerStatus.js][getIndexerStatus] | Gets the status of an Indexer | -| [listIndexerNames.js][listIndexerNames] | List names of Indexers | -| [listIndexers.js][listIndexers] | List Indexers | -| [resetIndexer.js][resetIndexer] | Resets an Indexer | -| [runIndexer.js][runIndexer] | Runs an Indexer | -| **Indexes** | -| [analyzeText.js][analyzeText] | Analyzes a given text | -| [createIndex.js][createIndex] | Creates an Index | -| [createOrUpdateIndex.js][createOrUpdateIndex] | Updates an Index | -| [deleteIndexByName.js][deleteIndexByName] | Deletes Index by Name | -| [deleteIndexByObject.js][deleteIndexByObject] | Deletes Index by Object | -| [getIndex.js][getIndex] | Gets an Index | -| [getIndexStatistics.js][getIndexStatistics] | Gets the Statistics of an Index | -| [listIndexes.js][listIndexes] | List Indexes | -| [listIndexNames.js][listIndexNames] | List Names of Indexes | -| **Skillsets** | -| [createOrUpdateSkillset.js][createOrUpdateSkillset] | Updates a skillset | -| [createSkillset.js][createSkillset] | Creates a skillset | -| [deleteSkillsetByName.js][deleteSkillsetByName] | Deletes a Skillset by Name | -| [deleteSkillsetByObject.js][deleteSkillsetByObject] | Deletes a Skillset by Object | -| [getSkillset.js][getSkillset] | Gets a skillset | -| [listSkillsets.js][listSkillsets] | List all skillsets | -| [listSkillsetsNames.js][listSkillsetsNames] | List names of skillsets | -| **SynonymMaps** | -| [createOrUpdateSynonymMap.js][createOrUpdateSynonymMap] | Updates a synonym map | -| [createSynonymMap.js][createSynonymMap] | Creates a synonym map | -| [deleteSynonymMapByName.js][deleteSynonymMapByName] | Deletes a synonym map by Name | -| [deleteSynonymMapByObject.js][deleteSynonymMapByObject] | Deletes a synonym map by object | -| [getSynonymMap.js][getSynonymMap] | Gets a synonym map | -| [listSynonymMapNames.js][listSynonymMapNames] | List names of synonym maps | -| [listSynonymMaps.js][listSynonymMaps] | List all synonym maps | - -## Prerequisites - -The samples are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). - -You need [an Azure subscription][freesub] and [an Azure Cognitive Search service][search_resource] to run these sample programs. Samples retrieve credentials to access the Azure Cognitive Search 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 readonlyQuery.js -``` - -Alternatively, run a single sample with the correct environment variables set (step 3 is not required if you do this), for example (cross-platform): - -```bash -npx cross-env SEARCH_API_ENDPOINT="" SEARCH_API_KEY="" node readonlyQuery.js -``` - -## Next Steps - -Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. - -[readonly]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/readonlyQuery.js -[apiref]: https://aka.ms/azsdk/js/search/docs -[search_resource]: https://docs.microsoft.com/azure/search/search-create-service-portal -[freesub]: https://azure.microsoft.com/free/ -[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/README.md -[createDataSourceConnection]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createDataSourceConnection.js -[createOrUpdateDataSourceConnection]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createOrUpdateDataSourceConnection.js -[deleteDataSourceConnectionByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByName.js -[deleteDataSourceConnectionByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByObject.js -[getDataSourceConnection]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/getDataSourceConnection.js -[listDataSourceConnectionNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnectionNames.js -[listDataSourceConnections]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnections.js -[createIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/createIndexer.js -[createOrUpdateIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/createOrUpdateIndexer.js -[deleteIndexerByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByName.js -[deleteIndexerByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByObject.js -[getIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/getIndexer.js -[getIndexerStatus]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/getIndexerStatus.js -[listIndexerNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/listIndexerNames.js -[listIndexers]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/listIndexers.js -[resetIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/resetIndexer.js -[runIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexers/runIndexer.js -[analyzeText]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/analyzeText.js -[createIndex]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/createIndex.js -[createOrUpdateIndex]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/createOrUpdateIndex.js -[deleteIndexByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByName.js -[deleteIndexByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByObject.js -[getIndex]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/getIndex.js -[getIndexStatistics]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/getIndexStatistics.js -[listIndexes]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/listIndexes.js -[listIndexNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/indexes/listIndexNames.js -[createOrUpdateSkillset]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/skillSets/createOrUpdateSkillset.js -[createSkillset]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/skillSets/createSkillset.js -[deleteSkillsetByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByName.js -[deleteSkillsetByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByObject.js -[getSkillset]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/skillSets/getSkillset.js -[listSkillsets]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsets.js -[listSkillsetsNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsetsNames.js -[createOrUpdateSynonymMap]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/synonymMaps/createOrUpdateSynonymMap.js -[createSynonymMap]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/synonymMaps/createSynonymMap.js -[deleteSynonymMapByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByName.js -[deleteSynonymMapByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByObject.js -[getSynonymMap]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/synonymMaps/getSynonymMap.js -[listSynonymMapNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMapNames.js -[listSynonymMaps]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMaps.js diff --git a/sdk/search/search-documents/samples/javascript/sample.env b/sdk/search/search-documents/samples/javascript/sample.env deleted file mode 100644 index 7c90b03954f4..000000000000 --- a/sdk/search/search-documents/samples/javascript/sample.env +++ /dev/null @@ -1,6 +0,0 @@ -# Used in most samples. Retrieve these values from a Cognitive Search instance -# in the Azure Portal. - -SEARCH_API_KEY= -SEARCH_API_ENDPOINT=https://.search.windows.net -INDEX_NAME=hotels-sample-index diff --git a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createDataSourceConnection.js b/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createDataSourceConnection.js deleted file mode 100644 index 5fc8d09f33f1..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createDataSourceConnection.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create Datasource Connection Sample....`); - - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const dataSourceConnection = { - name: "my-data-source-2", - description: "My Data Source 1", - type: "cosmosdb", - container: { - name: "my-container-1" - }, - connectionString: - "AccountEndpoint=https://hotels-docbb.documents.azure.com:443/;AccountKey=4UPsNZyFAjgZ1tzHPGZaxS09XcwLrIawbXBWk6IixcxJoSePTcjBn0mi53XiKWu8MaUgowUhIovOv7kjksqAug==;Database=SampleData" - }; - await client.createDataSourceConnection(dataSourceConnection); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createOrUpdateDataSourceConnection.js b/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createOrUpdateDataSourceConnection.js deleted file mode 100644 index 2eccf9cb7d4e..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/createOrUpdateDataSourceConnection.js +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running CreateOrUpdate Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Datasource Connection my-data-source-2`); - const ds = await client.getDataSourceConnection("my-data-source-2") - ds.container.name = "Listings_5K_KingCounty_WA"; - console.log(`Updating Container Name of Datasource Connection my-data-source-2`); - await client.createOrUpdateDataSourceConnection(ds); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByName.js b/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByName.js deleted file mode 100644 index 3f7b8f1e0033..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByName.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting Datasource Connection my-data-source-2`); - await client.deleteDataSourceConnection("my-data-source-2") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByObject.js b/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByObject.js deleted file mode 100644 index f52a98673095..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/deleteDataSourceConnectionByObject.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Datasource Connection my-data-source-2`); - const ds = await client.getDataSourceConnection("my-data-source-2"); - console.log(`Deleting Datasource Connection my-data-source-2`); - await client.deleteDataSourceConnection(ds); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/getDataSourceConnection.js b/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/getDataSourceConnection.js deleted file mode 100644 index f7d54dbf1499..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/getDataSourceConnection.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Get Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Datasource Connection my-data-source-2`); - const ds = await client.getDataSourceConnection("my-data-source-2") - console.log(`Name: ${ds.name}`); - console.log(`Description: ${ds.description}`); - console.log(`Connection String: ${ds.connectionString}`); - console.log(`Data Change Detection Policy: ${ds.dataChangeDetectionPolicy}`); - console.log(`Data Deletion Detection Policy: ${ds.dataDeletionDetectionPolicy}`); - console.log(`Etag: ${ds.etag}`); - console.log(`DataContainer`); - console.log(`\tName: ${ds.container.name}`); - console.log(`\tQuery: ${ds.container.query}`); - console.log(); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnectionNames.js b/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnectionNames.js deleted file mode 100644 index 9700e9564e9b..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnectionNames.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); - -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List Datasource Connection Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfDataSourceConnectionNames = await client.listDataSourceConnectionsNames(); - - console.log(`Names of Data Source Connections`); - console.log(`*******************************`); - for(const ds of listOfDataSourceConnectionNames) { - console.log(ds); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnections.js b/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnections.js deleted file mode 100644 index 485ee305f120..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/dataSourceConnections/listDataSourceConnections.js +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List Datasource Connections Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfDataSourceConnections = await client.listDataSourceConnections(); - - console.log(`List of Data Source Connections`); - console.log(`*******************************`) - for(const ds of listOfDataSourceConnections) { - console.log(`Name: ${ds.name}`); - console.log(`Description: ${ds.description}`); - console.log(`Connection String: ${ds.connectionString}`); - console.log(`Data Change Detection Policy: ${ds.dataChangeDetectionPolicy}`); - console.log(`Data Deletion Detection Policy: ${ds.dataDeletionDetectionPolicy}`); - console.log(`Etag: ${ds.etag}`); - console.log(`DataContainer`); - console.log(`\tName: ${ds.container.name}`); - console.log(`\tQuery: ${ds.container.query}`); - console.log(); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/createIndexer.js b/sdk/search/search-documents/samples/javascript/src/indexers/createIndexer.js deleted file mode 100644 index 44a22f26f2dc..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/createIndexer.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const indexer = { - name: "my-azure-indexer-1", - description: "Description for Sample Indexer", - dataSourceName: "realestate-us-sample", - targetIndexName: "realestate-us-sample-index", - isDisabled: false - }; - - await client.createIndexer(indexer); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/createOrUpdateIndexer.js b/sdk/search/search-documents/samples/javascript/src/indexers/createOrUpdateIndexer.js deleted file mode 100644 index 13585efdb330..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/createOrUpdateIndexer.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create Or Update Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Indexer my-azure-indexer-1`); - const indexer = await client.getIndexer("my-azure-indexer-1"); - console.log(`Updating isDisabled status of Indexer my-azure-indexer-1`); - indexer.isDisabled = true; - await client.createOrUpdateIndexer(indexer); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByName.js b/sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByName.js deleted file mode 100644 index c8a4ae55ab2a..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByName.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting Indexer my-azure-indexer-1`); - await client.deleteIndexer("my-azure-indexer-1") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByObject.js b/sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByObject.js deleted file mode 100644 index 89a0d3d1e299..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/deleteIndexerByObject.js +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexer -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Indexer my-azure-indexer-1`); - const indexer = await client.getIndexer("my-azure-indexer-1"); - console.log(`Deleting Indexer my-azure-indexer-1`); - await client.deleteIndexer(indexer); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/getIndexer.js b/sdk/search/search-documents/samples/javascript/src/indexers/getIndexer.js deleted file mode 100644 index 79ddd7ca1c7f..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/getIndexer.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential, SearchIndexer } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Get Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Indexer my-azure-indexer-1`); - const indexer = await client.getIndexer("my-azure-indexer-1"); - console.log(`Name: ${indexer.name}`); - console.log(`Description: ${indexer.description}`); - console.log(`Data Source Name: ${indexer.dataSourceName}`); - console.log(`Skillset Name: ${indexer.skillsetName}`); - console.log(`Target Index Name: ${indexer.targetIndexName}`); - console.log(`Is Disabled: ${indexer.isDisabled}`); - console.log(`ETag: ${indexer.etag}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/getIndexerStatus.js b/sdk/search/search-documents/samples/javascript/src/indexers/getIndexerStatus.js deleted file mode 100644 index e279a2ee22f8..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/getIndexerStatus.js +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Get Indexer Status Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Indexer Status of my-azure-indexer-1`); - const indexerStatus = await client.getIndexerStatus("my-azure-indexer-1"); - console.log(`Status: ${indexerStatus.status}`); - console.log(`Limits`); - console.log(`******`); - console.log(`MaxDocumentContentCharactersToExtract: ${indexerStatus.limits.maxDocumentContentCharactersToExtract}`) - console.log(`MaxDocumentExtractionSize: ${indexerStatus.limits.maxDocumentExtractionSize}`) - console.log(`MaxRunTime: ${indexerStatus.limits.maxRunTime}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/listIndexerNames.js b/sdk/search/search-documents/samples/javascript/src/indexers/listIndexerNames.js deleted file mode 100644 index 3f0f6765e40b..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/listIndexerNames.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List Indexer Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfIndexerNames = await client.listIndexersNames(); - - console.log(`\tNames of Indexers`); - console.log(`\t*****************`); - for(const indexerName of listOfIndexerNames) { - console.log(`${indexerName}`); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/listIndexers.js b/sdk/search/search-documents/samples/javascript/src/indexers/listIndexers.js deleted file mode 100644 index f59cbce26e93..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/listIndexers.js +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List Indexers Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfIndexers = await client.listIndexers(); - - console.log(`\tList of Indexers`); - console.log(`\t****************`); - for(const indexer of listOfIndexers) { - console.log(`Name: ${indexer.name}`); - console.log(`Description: ${indexer.description}`); - console.log(`Data Source Name: ${indexer.dataSourceName}`); - console.log(`Skillset Name: ${indexer.skillsetName}`); - console.log(`Target Index Name: ${indexer.targetIndexName}`); - console.log(`Is Disabled: ${indexer.isDisabled}`); - console.log(`ETag: ${indexer.etag}`); - console.log(); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/resetIndexer.js b/sdk/search/search-documents/samples/javascript/src/indexers/resetIndexer.js deleted file mode 100644 index 63bdeded5dcd..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/resetIndexer.js +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Reset Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Reset Indexer my-azure-indexer-1`); - await client.resetIndexer("my-azure-indexer-1"); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexers/runIndexer.js b/sdk/search/search-documents/samples/javascript/src/indexers/runIndexer.js deleted file mode 100644 index 780d0e9a64ca..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexers/runIndexer.js +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Run Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Run Indexer my-azure-indexer-1`); - await client.runIndexer("my-azure-indexer-1"); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/analyzeText.js b/sdk/search/search-documents/samples/javascript/src/indexes/analyzeText.js deleted file mode 100644 index a131b99f65e8..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/analyzeText.js +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -/* eslint-disable no-unused-expressions */ - -const { - SearchIndexClient, - AzureKeyCredential, - KnownTokenFilterNames -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Analyze Text Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const index = await client.getIndex("example-index"); - - // Note adding this analyzer to an existing index will cause it to be unresponsive - // for a short period, hence the need to pass `allowIndexDowntime: true`. - await client.createOrUpdateIndex(index, { allowIndexDowntime: true }); - - const result = await client.analyzeText("example-index", { - text: "MSFT is xyzzy Great!", - analyzerName: "example-analyzer" - }); - - console.log(result.tokens); - -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/createIndex.js b/sdk/search/search-documents/samples/javascript/src/indexes/createIndex.js deleted file mode 100644 index e3251b1d0297..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/createIndex.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const index = { - name: "example-index-2", - fields: [ - { - type: "Edm.String", - name: "id", - key: true - }, - { - type: "Edm.Double", - name: "awesomenessLevel", - sortable: true, - filterable: true, - facetable: true - }, - { - type: "Edm.String", - name: "description", - searchable: true - }, - { - type: "Edm.ComplexType", - name: "details", - fields: [ - { - type: "Collection(Edm.String)", - name: "tags", - searchable: true - } - ] - }, - { - type: "Edm.Int32", - name: "hiddenWeight", - hidden: true - } - ] - }; - await client.createIndex(index); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/createOrUpdateIndex.js b/sdk/search/search-documents/samples/javascript/src/indexes/createOrUpdateIndex.js deleted file mode 100644 index 974f160cd4a3..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/createOrUpdateIndex.js +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create Or Update Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Index example-index-2`); - const index = await client.getIndex("example-index-2"); - console.log(`Adding fields to Index example-index-2`); - index.fields.push({ - type: "Edm.DateTimeOffset", - name: "lastUpdatedOn", - filterable: true - }); - - - await client.createOrUpdateIndex(index); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByName.js b/sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByName.js deleted file mode 100644 index 6a6e6fce1165..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByName.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting Index example-index-2`); - await client.deleteIndex("example-index-2") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByObject.js b/sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByObject.js deleted file mode 100644 index 83b88b1384fd..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/deleteIndexByObject.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Index example-index-2`); - const index = await client.getIndex("example-index-2"); - console.log(`Deleting Index example-index-2`); - await client.deleteIndex(index); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/getIndex.js b/sdk/search/search-documents/samples/javascript/src/indexes/getIndex.js deleted file mode 100644 index 3fffaeb1d674..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/getIndex.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Get Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Index example-index`); - const index = await client.getIndex("example-index"); - console.log(`Name: ${index.name}`); - console.log(`Similarity Algorithm: ${index.similarity.odatatype}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/getIndexStatistics.js b/sdk/search/search-documents/samples/javascript/src/indexes/getIndexStatistics.js deleted file mode 100644 index 4a937b669c46..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/getIndexStatistics.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Get Index Statistics Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Index Statistics of example-index`); - const statistics = await client.getIndexStatistics("example-index"); - console.log(`Document Count: ${statistics.documentCount}`); - console.log(`Storage Size: ${statistics.storageSize}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/getServiceStatistics.js b/sdk/search/search-documents/samples/javascript/src/indexes/getServiceStatistics.js deleted file mode 100644 index bf4ec00363a3..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/getServiceStatistics.js +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Get Service Statistics Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const {counters, limits} = await client.getServiceStatistics(); - console.log(`Counters`); - console.log(`========`); - console.log(`\tDocument Counter`); - console.log(`\t\tUsage: ${counters.documentCounter.usage}`); - console.log(`\t\tQuota: ${counters.documentCounter.quota}`); - console.log(`\tIndex Counter`); - console.log(`\t\tUsage: ${counters.indexCounter.usage}`); - console.log(`\t\tQuota: ${counters.indexCounter.quota}`); - console.log(`\tIndexer Counter`); - console.log(`\t\tUsage: ${counters.indexerCounter.usage}`); - console.log(`\t\tQuota: ${counters.indexerCounter.quota}`); - console.log(`\tData Source Counter`); - console.log(`\t\tUsage: ${counters.dataSourceCounter.usage}`); - console.log(`\t\tQuota: ${counters.dataSourceCounter.quota}`); - console.log(`\tStorage Size Counter`); - console.log(`\t\tUsage: ${counters.storageSizeCounter.usage}`); - console.log(`\t\tQuota: ${counters.storageSizeCounter.quota}`); - console.log(`\tSynonym Map Counter`); - console.log(`\t\tUsage: ${counters.synonymMapCounter.usage}`); - console.log(`\t\tQuota: ${counters.synonymMapCounter.quota}`); - console.log(); - console.log(`Limits`); - console.log(`======`); - console.log(`\tMax Fields Per Index: ${limits.maxFieldsPerIndex}`); - console.log(`\tMax Field Nesting Depth Per Index: ${limits.maxFieldNestingDepthPerIndex}`); - console.log(`\tMax Complex Collection Fields Per Index: ${limits.maxComplexCollectionFieldsPerIndex}`); - console.log(`\tMax Complex Objects In Collections Per Document: ${limits.maxComplexObjectsInCollectionsPerDocument}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/listIndexNames.js b/sdk/search/search-documents/samples/javascript/src/indexes/listIndexNames.js deleted file mode 100644 index db2f516fe308..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/listIndexNames.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List Indexes Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const result = await client.listIndexesNames(); - let listOfIndexNames = await result.next(); - - console.log(`List of Index Names`); - console.log(`*******************`); - while (!listOfIndexNames.done) { - console.log(listOfIndexNames.value); - listOfIndexNames = await result.next(); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/indexes/listIndexes.js b/sdk/search/search-documents/samples/javascript/src/indexes/listIndexes.js deleted file mode 100644 index 3647f27b80d6..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/indexes/listIndexes.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List Indexes Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const result = await client.listIndexes(); - let listOfIndexes = await result.next(); - - console.log(`List of Indexes`); - console.log(`***************`); - while (!listOfIndexes.done) { - console.log(`Name: ${listOfIndexes.value.name}`); - console.log(`Similarity Algorithm: ${listOfIndexes.value.similarity.odatatype}`); - console.log(); - listOfIndexes = await result.next(); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/skillSets/createOrUpdateSkillset.js b/sdk/search/search-documents/samples/javascript/src/skillSets/createOrUpdateSkillset.js deleted file mode 100644 index d2b6a98601f3..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/skillSets/createOrUpdateSkillset.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create Or Update Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Skillset my-azureblob-skillset`); - const skillset = await client.getSkillset("my-azureblob-skillset"); - - skillset.skills[0].outputs = [ - { - name: "persons", - targetName: "people" - }, - { - name: "organizations", - targetName: "organizations" - } - ] - - await client.createOrUpdateSkillset(skillset); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/skillSets/createSkillset.js b/sdk/search/search-documents/samples/javascript/src/skillSets/createSkillset.js deleted file mode 100644 index 687c5e39f192..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/skillSets/createSkillset.js +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const skillset = { - name: `my-azureblob-skillset`, - description: `Skillset description`, - skills: [ - { - odatatype: "#Microsoft.Skills.Text.EntityRecognitionSkill", - inputs: [ - { - name: "text", - source: "/document/merged_content" - }, - { - name: "languageCode", - source: "/document/language" - } - ], - outputs: [ - { - name: "persons", - targetName: "people" - }, - { - name: "organizations", - targetName: "organizations" - }, - { - name: "locations", - targetName: "locations" - } - ] - } - ] - }; - await client.createSkillset(skillset); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByName.js b/sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByName.js deleted file mode 100644 index 0fac0de37907..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByName.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting Indexer my-azureblob-skillset`); - await client.deleteSkillset("my-azureblob-skillset") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByObject.js b/sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByObject.js deleted file mode 100644 index 936493eaec86..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/skillSets/deleteSkillsetByObject.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Skillset my-azureblob-skillset`); - const skillset = await client.getSkillset("my-azureblob-skillset"); - console.log(`Deleting Indexer my-azureblob-skillset`); - await client.deleteSkillset(skillset) -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/skillSets/getSkillset.js b/sdk/search/search-documents/samples/javascript/src/skillSets/getSkillset.js deleted file mode 100644 index 0ee2d26cb269..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/skillSets/getSkillset.js +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Get Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Skillset my-azureblob-skillset`); - const skillset = await client.getSkillset("my-azureblob-skillset"); - console.log(`Name: ${skillset.name}`); - console.log(`Description: ${skillset.description}`); - console.log(`Skills`); - console.log(`******`); - for(const skill of skillset.skills) { - console.log(`ODataType: ${skill.odatatype}`); - console.log(`Inputs`); - for(const input of skill.inputs) { - console.log(`\tName: ${input.name}`); - console.log(`\tSource: ${input.source}`); - } - console.log(`Outputs`); - for(const output of skill.outputs) { - console.log(`\tName: ${output.name}`); - console.log(`\tTarget Name: ${output.targetName}`); - } - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsets.js b/sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsets.js deleted file mode 100644 index fde6cced256b..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsets.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexerClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List Skillsets Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfSkillsets = await client.listSkillsets(); - - console.log(`\tList of Skillsets`); - console.log(`\t******************`); - for(const skillset of listOfSkillsets) { - console.log(`Name: ${skillset.name}`); - console.log(`Description: ${skillset.description}`); - console.log(`Skills`); - console.log(`******`); - for(const skill of skillset.skills) { - console.log(`ODataType: ${skill.odatatype}`); - console.log(`Inputs`); - for(const input of skill.inputs) { - console.log(`\tName: ${input.name}`); - console.log(`\tSource: ${input.source}`); - } - console.log(`Outputs`); - for(const output of skill.outputs) { - console.log(`\tName: ${output.name}`); - console.log(`\tTarget Name: ${output.targetName}`); - } - } - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsetsNames.js b/sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsetsNames.js deleted file mode 100644 index db7ac177586d..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/skillSets/listSkillsetsNames.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List Skillsets Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfSkillsetNames = await client.listSkillsetsNames(); - - console.log(`\tNames of Skillsets`); - console.log(`\t******************`); - for(const skName of listOfSkillsetNames) { - console.log(`${skName}`); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/synonymMaps/createOrUpdateSynonymMap.js b/sdk/search/search-documents/samples/javascript/src/synonymMaps/createOrUpdateSynonymMap.js deleted file mode 100644 index aefc81597f3c..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/synonymMaps/createOrUpdateSynonymMap.js +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create Or Update SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Synonym Map my-synonymmap`); - const sm = await client.getSynonymMap("my-synonymmap"); - console.log(`Update synonyms Synonym Map my-synonymmap`); - sm.synonyms.push("Florida, Fld. => FL"); - await client.createOrUpdateSynonymMap(sm); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/synonymMaps/createSynonymMap.js b/sdk/search/search-documents/samples/javascript/src/synonymMaps/createSynonymMap.js deleted file mode 100644 index 5ae44fb8ac32..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/synonymMaps/createSynonymMap.js +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Create SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const sm = { - name: `my-synonymmap`, - synonyms: ["United States, United States of America => USA", "Washington, Wash. => WA"] - }; - await client.createSynonymMap(sm); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByName.js b/sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByName.js deleted file mode 100644 index a5afa82a9249..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByName.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting SynonymMap my-synonymmap`); - await client.deleteSynonymMap("my-synonymmap") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByObject.js b/sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByObject.js deleted file mode 100644 index 267eda8294af..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/synonymMaps/deleteSynonymMapByObject.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Delete SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Synonym Map my-synonymmap`); - const sm = await client.getSynonymMap("my-synonymmap"); - console.log(`Deleting SynonymMap my-synonymmap`); - await client.deleteSynonymMap(sm); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/synonymMaps/getSynonymMap.js b/sdk/search/search-documents/samples/javascript/src/synonymMaps/getSynonymMap.js deleted file mode 100644 index 55ca8cee3b16..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/synonymMaps/getSynonymMap.js +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { - SearchIndexClient, - AzureKeyCredential -} = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running Get SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Synonym Map my-synonymmap`); - const sm = await client.getSynonymMap("my-synonymmap"); - console.log(`Name: ${sm.name}`); - console.log(`Synonyms`); - for(const synonym of sm.synonyms) { - console.log(synonym); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMapNames.js b/sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMapNames.js deleted file mode 100644 index aea41900f3b6..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMapNames.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List SynonymMap Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfSynonymMapsNames = await client.listSynonymMapsNames(); - - console.log(`List of SynonymMap Names`); - console.log(`************************`); - for(const smName of listOfSynonymMapsNames) { - console.log(`${smName}`); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMaps.js b/sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMaps.js deleted file mode 100644 index 6b084f125704..000000000000 --- a/sdk/search/search-documents/samples/javascript/src/synonymMaps/listSynonymMaps.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -const { SearchIndexClient, AzureKeyCredential } = require("@azure/search-documents"); -require("dotenv").config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -async function main() { - console.log(`Running List SynonymMaps Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfSynonymMaps = await client.listSynonymMaps(); - - console.log(`List of SynonymMaps`); - console.log(`*******************`); - for(const sm of listOfSynonymMaps) { - console.log(`Name: ${sm.name}`); - console.log(`Synonyms`); - for(const synonym of sm.synonyms) { - console.log(synonym); - } - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/tsconfig.json b/sdk/search/search-documents/samples/tsconfig.json deleted file mode 100644 index e2189ec9b45b..000000000000 --- a/sdk/search/search-documents/samples/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "outDir": "typescript/dist", - "lib": ["DOM", "ES6"] - }, - "include": ["typescript/src/**.ts", "typescript/src/**/**.ts"], - "exclude": ["typescript/*.json", "**/node_modules/", "../node_modules", "../typings"] -} diff --git a/sdk/search/search-documents/samples/typescript/README.md b/sdk/search/search-documents/samples/typescript/README.md deleted file mode 100644 index b8a34f4e53ee..000000000000 --- a/sdk/search/search-documents/samples/typescript/README.md +++ /dev/null @@ -1,146 +0,0 @@ -# Azure Cognitive Search client library samples for TypeScript - -These sample programs show how to use the TypeScript client libraries for Azure Cognitive Search in some common scenarios. - -| **File Name** | **Description** | -| ---------------------------- | ------------------------ | -| **Data Source Connections** | -| [createDataSourceConnection.ts][createDataSourceConnection] | Creates a Datasource Connection | -| [createOrUpdateDataSourceConnection.ts][createOrUpdateDataSourceConnection] | Updates a Datasource Connection | -| [deleteDataSourceConnectionByName.ts][deleteDataSourceConnectionByName] | Deletes Datasource Connection by Name | -| [deleteDataSourceConnectionByObject.ts][deleteDataSourceConnectionByObject] | Deletes Datasource Connection by Object | -| [getDataSourceConnection.ts][getDataSourceConnection] | Gets a Datasource Connection | -| [listDataSourceConnectionNames.ts][listDataSourceConnectionNames] | List names of Datasource Connections | -| [listDataSourceConnections.ts][listDataSourceConnections] | List Datasource Connections | -| **Indexers** | -| [createIndexer.ts][createIndexer] | Creates an Indexer | -| [createOrUpdateIndexer.ts][createOrUpdateIndexer] | Updates an Indexer | -| [deleteIndexerByName.ts][deleteIndexerByName] | Deletes Indexer by Name | -| [deleteIndexerByObject.ts][deleteIndexerByObject] | Deletes Indexer by Object | -| [getIndexer.ts][getIndexer] | Gets an Indexer | -| [getIndexerStatus.ts][getIndexerStatus] | Gets the status of an Indexer | -| [listIndexerNames.ts][listIndexerNames] | List names of Indexers | -| [listIndexers.ts][listIndexers] | List Indexers | -| [resetIndexer.ts][resetIndexer] | Resets an Indexer | -| [runIndexer.ts][runIndexer] | Runs an Indexer | -| **Indexes** | -| [analyzeText.ts][analyzeText] | Analyzes a given text | -| [createIndex.ts][createIndex] | Creates an Index | -| [createOrUpdateIndex.ts][createOrUpdateIndex] | Updates an Index | -| [deleteIndexByName.ts][deleteIndexByName] | Deletes Index by Name | -| [deleteIndexByObject.ts][deleteIndexByObject] | Deletes Index by Object | -| [getIndex.ts][getIndex] | Gets an Index | -| [getIndexStatistics.ts][getIndexStatistics] | Gets the Statistics of an Index | -| [listIndexes.ts][listIndexes] | List Indexes | -| [listIndexNames.ts][listIndexNames] | List Names of Indexes | -| **Skillsets** | -| [createOrUpdateSkillset.ts][createOrUpdateSkillset] | Updates a skillset | -| [createSkillset.ts][createSkillset] | Creates a skillset | -| [deleteSkillsetByName.ts][deleteSkillsetByName] | Deletes a Skillset by Name | -| [deleteSkillsetByObject.ts][deleteSkillsetByObject] | Deletes a Skillset by Object | -| [getSkillset.ts][getSkillset] | Gets a skillset | -| [listSkillsets.ts][listSkillsets] | List all skillsets | -| [listSkillsetsNames.ts][listSkillsetsNames] | List names of skillsets | -| **SynonymMaps** | -| [createOrUpdateSynonymMap.ts][createOrUpdateSynonymMap] | Updates a synonym map | -| [createSynonymMap.ts][createSynonymMap] | Creates a synonym map | -| [deleteSynonymMapByName.ts][deleteSynonymMapByName] | Deletes a synonym map by Name | -| [deleteSynonymMapByObject.ts][deleteSynonymMapByObject] | Deletes a synonym map by object | -| [getSynonymMap.ts][getSynonymMap] | Gets a synonym map | -| [listSynonymMapNames.ts][listSynonymMapNames] | List names of synonym maps | -| [listSynonymMaps.ts][listSynonymMaps] | List all synonym maps | - -## Prerequisites - -The samples 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] and [an Azure Cognitive Search service][search_resource] to run these sample programs. Samples retrieve credentials to access the Azure Cognitive Search 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/readonlyQuery.js -``` - -Alternatively, run a single sample with the correct environment variables set (step 3 is not required if you do this), for example (cross-platform): - -```bash -npx cross-env SEARCH_API_ENDPOINT="" SEARCH_API_KEY="" node dist/readonlyQuery.js -``` - -## Next Steps - -Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. - -[readonly]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/readonlyQuery.ts -[apiref]: https://aka.ms/azsdk/js/search/docs -[search_resource]: https://docs.microsoft.com/azure/search/search-create-service-portal -[freesub]: https://azure.microsoft.com/free/ -[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/README.md -[typescript]: https://www.typescriptlang.org/docs/home.html -[createDataSourceConnection]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createDataSourceConnection.ts -[createOrUpdateDataSourceConnection]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createOrUpdateDataSourceConnection.ts -[deleteDataSourceConnectionByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByName.ts -[deleteDataSourceConnectionByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByObject.ts -[getDataSourceConnection]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/getDataSourceConnection.ts -[listDataSourceConnectionNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnectionNames.ts -[listDataSourceConnections]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnections.ts -[createIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/createIndexer.ts -[createOrUpdateIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/createOrUpdateIndexer.ts -[deleteIndexerByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByName.ts -[deleteIndexerByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByObject.ts -[getIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/getIndexer.ts -[getIndexerStatus]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/getIndexerStatus.ts -[listIndexerNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/listIndexerNames.ts -[listIndexers]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/listIndexers.ts -[resetIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/resetIndexer.ts -[runIndexer]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexers/runIndexer.ts -[analyzeText]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/analyzeText.ts -[createIndex]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/createIndex.ts -[createOrUpdateIndex]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/createOrUpdateIndex.ts -[deleteIndexByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByName.ts -[deleteIndexByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByObject.ts -[getIndex]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/getIndex.ts -[getIndexStatistics]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/getIndexStatistics.ts -[listIndexes]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/listIndexes.ts -[listIndexNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/indexes/listIndexNames.ts -[createOrUpdateSkillset]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/skillSets/createOrUpdateSkillset.ts -[createSkillset]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/skillSets/createSkillset.ts -[deleteSkillsetByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByName.ts -[deleteSkillsetByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByObject.ts -[getSkillset]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/skillSets/getSkillset.ts -[listSkillsets]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsets.ts -[listSkillsetsNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsetsNames.ts -[createOrUpdateSynonymMap]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/synonymMaps/createOrUpdateSynonymMap.ts -[createSynonymMap]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/synonymMaps/createSynonymMap.ts -[deleteSynonymMapByName]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByName.ts -[deleteSynonymMapByObject]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByObject.ts -[getSynonymMap]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/synonymMaps/getSynonymMap.ts -[listSynonymMapNames]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMapNames.ts -[listSynonymMaps]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMaps.ts diff --git a/sdk/search/search-documents/samples/typescript/sample.env b/sdk/search/search-documents/samples/typescript/sample.env deleted file mode 100644 index 2cc6850cb8ff..000000000000 --- a/sdk/search/search-documents/samples/typescript/sample.env +++ /dev/null @@ -1,6 +0,0 @@ -# Used in most samples. Retrieve these values from a Cognitive Services instance -# in the Azure Portal. - -SEARCH_API_KEY= -SEARCH_API_ENDPOINT=https://.search.windows.net -INDEX_NAME=hotels-sample-index diff --git a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createDataSourceConnection.ts b/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createDataSourceConnection.ts deleted file mode 100644 index 79b08978fa7a..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createDataSourceConnection.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexerDataSourceConnection -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const dataSourceConnection: SearchIndexerDataSourceConnection = { - name: "my-data-source-2", - description: "My Data Source 1", - type: "cosmosdb", - container: { - name: "my-container-1" - }, - connectionString: - "AccountEndpoint=https://hotels-docbb.documents.azure.com:443/;AccountKey=4UPsNZyFAjgZ1tzHPGZaxS09XcwLrIawbXBWk6IixcxJoSePTcjBn0mi53XiKWu8MaUgowUhIovOv7kjksqAug==;Database=SampleData" - }; - await client.createDataSourceConnection(dataSourceConnection); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createOrUpdateDataSourceConnection.ts b/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createOrUpdateDataSourceConnection.ts deleted file mode 100644 index 6a97120f4ae4..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/createOrUpdateDataSourceConnection.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexerDataSourceConnection -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running CreateOrUpdate Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Datasource Connection my-data-source-2`); - const ds:SearchIndexerDataSourceConnection = await client.getDataSourceConnection("my-data-source-2") - ds.container.name = "Listings_5K_KingCounty_WA"; - console.log(`Updating Container Name of Datasource Connection my-data-source-2`); - await client.createOrUpdateDataSourceConnection(ds); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByName.ts b/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByName.ts deleted file mode 100644 index 330184809ab6..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByName.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting Datasource Connection my-data-source-2`); - await client.deleteDataSourceConnection("my-data-source-2") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByObject.ts b/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByObject.ts deleted file mode 100644 index 62abedf952c7..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/deleteDataSourceConnectionByObject.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexerDataSourceConnection -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Datasource Connection my-data-source-2`); - const ds:SearchIndexerDataSourceConnection = await client.getDataSourceConnection("my-data-source-2"); - console.log(`Deleting Datasource Connection my-data-source-2`); - await client.deleteDataSourceConnection(ds); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/getDataSourceConnection.ts b/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/getDataSourceConnection.ts deleted file mode 100644 index 71e6edaf2465..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/getDataSourceConnection.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexerDataSourceConnection -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Get Datasource Connection Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Datasource Connection my-data-source-2`); - const ds:SearchIndexerDataSourceConnection = await client.getDataSourceConnection("my-data-source-2") - console.log(`Name: ${ds.name}`); - console.log(`Description: ${ds.description}`); - console.log(`Connection String: ${ds.connectionString}`); - console.log(`Data Change Detection Policy: ${ds.dataChangeDetectionPolicy}`); - console.log(`Data Deletion Detection Policy: ${ds.dataDeletionDetectionPolicy}`); - console.log(`Etag: ${ds.etag}`); - console.log(`DataContainer`); - console.log(`\tName: ${ds.container.name}`); - console.log(`\tQuery: ${ds.container.query}`); - console.log(); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnectionNames.ts b/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnectionNames.ts deleted file mode 100644 index 47dd60710b42..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnectionNames.ts +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List Datasource Connection Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfDataSourceConnectionNames: string[] = await client.listDataSourceConnectionsNames(); - - console.log(`Names of Data Source Connections`); - console.log(`*******************************`); - for (let ds of listOfDataSourceConnectionNames) { - console.log(ds); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnections.ts b/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnections.ts deleted file mode 100644 index cccd4ac471c3..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/dataSourceConnections/listDataSourceConnections.ts +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexerDataSourceConnection -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List Datasource Connections Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfDataSourceConnections: Array = await client.listDataSourceConnections(); - - console.log(`List of Data Source Connections`); - console.log(`*******************************`); - for (let ds of listOfDataSourceConnections) { - console.log(`Name: ${ds.name}`); - console.log(`Description: ${ds.description}`); - console.log(`Connection String: ${ds.connectionString}`); - console.log(`Data Change Detection Policy: ${ds.dataChangeDetectionPolicy}`); - console.log(`Data Deletion Detection Policy: ${ds.dataDeletionDetectionPolicy}`); - console.log(`Etag: ${ds.etag}`); - console.log(`DataContainer`); - console.log(`\tName: ${ds.container.name}`); - console.log(`\tQuery: ${ds.container.query}`); - console.log(); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/createIndexer.ts b/sdk/search/search-documents/samples/typescript/src/indexers/createIndexer.ts deleted file mode 100644 index b7259f6c3124..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/createIndexer.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential, SearchIndexer } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const indexer: SearchIndexer = { - name: "my-azure-indexer-1", - description: "Description for Sample Indexer", - dataSourceName: "realestate-us-sample", - targetIndexName: "realestate-us-sample-index", - isDisabled: false - }; - - await client.createIndexer(indexer); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/createOrUpdateIndexer.ts b/sdk/search/search-documents/samples/typescript/src/indexers/createOrUpdateIndexer.ts deleted file mode 100644 index bab817ad18ec..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/createOrUpdateIndexer.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential, SearchIndexer } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create Or Update Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Indexer my-azure-indexer-1`); - const indexer: SearchIndexer = await client.getIndexer("my-azure-indexer-1"); - console.log(`Updating isDisabled status of Indexer my-azure-indexer-1`); - indexer.isDisabled = true; - await client.createOrUpdateIndexer(indexer); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByName.ts b/sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByName.ts deleted file mode 100644 index 8077d6a75f6b..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByName.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting Indexer my-azure-indexer-1`); - await client.deleteIndexer("my-azure-indexer-1") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByObject.ts b/sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByObject.ts deleted file mode 100644 index 71d7817282f6..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/deleteIndexerByObject.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexer -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Indexer my-azure-indexer-1`); - const indexer: SearchIndexer = await client.getIndexer("my-azure-indexer-1"); - console.log(`Deleting Indexer my-azure-indexer-1`); - await client.deleteIndexer(indexer); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/getIndexer.ts b/sdk/search/search-documents/samples/typescript/src/indexers/getIndexer.ts deleted file mode 100644 index 85cfa53770a2..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/getIndexer.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential, SearchIndexer } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Get Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Indexer my-azure-indexer-1`); - const indexer: SearchIndexer = await client.getIndexer("my-azure-indexer-1"); - console.log(`Name: ${indexer.name}`); - console.log(`Description: ${indexer.description}`); - console.log(`Data Source Name: ${indexer.dataSourceName}`); - console.log(`Skillset Name: ${indexer.skillsetName}`); - console.log(`Target Index Name: ${indexer.targetIndexName}`); - console.log(`Indexing Schedule`); - console.log(`\tInterval: ${indexer.schedule?.interval}`); - console.log(`\tStart Time: ${indexer.schedule?.startTime}`); - console.log(`Is Disabled: ${indexer.isDisabled}`); - console.log(`ETag: ${indexer.etag}`); - console.log(`Parameters`); - console.log(`\tBatch Size: ${indexer.parameters?.batchSize}`); - console.log(`\tMax Failed Items: ${indexer.parameters?.maxFailedItems}`); - console.log(`\tMax Failed Items Per Batch: ${indexer.parameters?.maxFailedItemsPerBatch}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/getIndexerStatus.ts b/sdk/search/search-documents/samples/typescript/src/indexers/getIndexerStatus.ts deleted file mode 100644 index 15a11b1a2db6..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/getIndexerStatus.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential, SearchIndexerStatus } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Get Indexer Status Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Indexer Status of my-azure-indexer-1`); - const indexerStatus: SearchIndexerStatus = await client.getIndexerStatus("my-azure-indexer-1"); - console.log(`Status: ${indexerStatus.status}`); - console.log(`Limits`); - console.log(`******`); - console.log(`MaxDocumentContentCharactersToExtract: ${indexerStatus.limits.maxDocumentContentCharactersToExtract}`) - console.log(`MaxDocumentExtractionSize: ${indexerStatus.limits.maxDocumentExtractionSize}`) - console.log(`MaxRunTime: ${indexerStatus.limits.maxRunTime}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/listIndexerNames.ts b/sdk/search/search-documents/samples/typescript/src/indexers/listIndexerNames.ts deleted file mode 100644 index ac8edd85d4cd..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/listIndexerNames.ts +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List Indexer Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfIndexerNames: string[] = await client.listIndexersNames(); - - console.log(`\tNames of Indexers`); - console.log(`\t*****************`); - for (let indexerName of listOfIndexerNames) { - console.log(`${indexerName}`); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/listIndexers.ts b/sdk/search/search-documents/samples/typescript/src/indexers/listIndexers.ts deleted file mode 100644 index d1fa14d55dee..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/listIndexers.ts +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential, SearchIndexer } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List Indexers Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfIndexers: Array = await client.listIndexers(); - - console.log(`\tList of Indexers`); - console.log(`\t****************`); - for (let indexer of listOfIndexers) { - console.log(`Name: ${indexer.name}`); - console.log(`Description: ${indexer.description}`); - console.log(`Data Source Name: ${indexer.dataSourceName}`); - console.log(`Skillset Name: ${indexer.skillsetName}`); - console.log(`Target Index Name: ${indexer.targetIndexName}`); - console.log(`Indexing Schedule`); - console.log(`\tInterval: ${indexer.schedule?.interval}`); - console.log(`\tStart Time: ${indexer.schedule?.startTime}`); - console.log(`Is Disabled: ${indexer.isDisabled}`); - console.log(`ETag: ${indexer.etag}`); - console.log(`Parameters`); - console.log(`\tBatch Size: ${indexer.parameters?.batchSize}`); - console.log(`\tMax Failed Items: ${indexer.parameters?.maxFailedItems}`); - console.log(`\tMax Failed Items Per Batch: ${indexer.parameters?.maxFailedItemsPerBatch}`); - console.log(); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/resetIndexer.ts b/sdk/search/search-documents/samples/typescript/src/indexers/resetIndexer.ts deleted file mode 100644 index 97d807776088..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/resetIndexer.ts +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Reset Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Reset Indexer my-azure-indexer-1`); - await client.resetIndexer("my-azure-indexer-1"); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexers/runIndexer.ts b/sdk/search/search-documents/samples/typescript/src/indexers/runIndexer.ts deleted file mode 100644 index a839f74ecfd9..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexers/runIndexer.ts +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Run Indexer Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Run Indexer my-azure-indexer-1`); - await client.runIndexer("my-azure-indexer-1"); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/analyzeText.ts b/sdk/search/search-documents/samples/typescript/src/indexes/analyzeText.ts deleted file mode 100644 index 4eddc9ace757..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/analyzeText.ts +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -/* eslint-disable no-unused-expressions */ - -import { - SearchIndexClient, - AzureKeyCredential, - SearchIndex, - KnownTokenFilterNames -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Analyze Text Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const index: SearchIndex = await client.getIndex("example-index"); - - index.tokenizers?.push({ - name: "example-tokenizer", - odatatype: "#Microsoft.Azure.Search.StandardTokenizerV2", - maxTokenLength: 125 - }); - - index.charFilters?.push({ - name: "example-char-filter", - odatatype: "#Microsoft.Azure.Search.MappingCharFilter", - mappings: ["MSFT=>Microsoft"] - }); - - index.tokenFilters?.push({ - name: "example-token-filter", - odatatype: "#Microsoft.Azure.Search.StopwordsTokenFilter", - stopwords: ["xyzzy"] - }); - - index.analyzers?.push({ - name: "example-analyzer", - odatatype: "#Microsoft.Azure.Search.CustomAnalyzer", - tokenizerName: "example-tokenizer", - charFilters: ["example-char-filter"], - tokenFilters: [KnownTokenFilterNames.Lowercase, "example-token-filter"] - }); - - // Note adding this analyzer to an existing index will cause it to be unresponsive - // for a short period, hence the need to pass `allowIndexDowntime: true`. - await client.createOrUpdateIndex(index, { allowIndexDowntime: true }); - - const result = await client.analyzeText("example-index", { - text: "MSFT is xyzzy Great!", - analyzerName: "example-analyzer" - }); - - console.log(result.tokens); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/createIndex.ts b/sdk/search/search-documents/samples/typescript/src/indexes/createIndex.ts deleted file mode 100644 index 71fc6462d77d..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/createIndex.ts +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential, - SearchIndex -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const index: SearchIndex = { - name: "example-index-2", - fields: [ - { - type: "Edm.String", - name: "id", - key: true - }, - { - type: "Edm.Double", - name: "awesomenessLevel", - sortable: true, - filterable: true, - facetable: true - }, - { - type: "Edm.String", - name: "description", - searchable: true - }, - { - type: "Edm.ComplexType", - name: "details", - fields: [ - { - type: "Collection(Edm.String)", - name: "tags", - searchable: true - } - ] - }, - { - type: "Edm.Int32", - name: "hiddenWeight", - hidden: true - } - ] - }; - await client.createIndex(index); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/createOrUpdateIndex.ts b/sdk/search/search-documents/samples/typescript/src/indexes/createOrUpdateIndex.ts deleted file mode 100644 index 9593e718e313..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/createOrUpdateIndex.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential, - SearchIndex -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create Or Update Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Index example-index-2`); - const index:SearchIndex = await client.getIndex("example-index-2"); - console.log(`Adding fields to Index example-index-2`); - index.fields.push({ - type: "Edm.DateTimeOffset", - name: "lastUpdatedOn", - filterable: true - }); - - - await client.createOrUpdateIndex(index); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByName.ts b/sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByName.ts deleted file mode 100644 index 35311b14b9d8..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByName.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting Index example-index-2`); - await client.deleteIndex("example-index-2") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByObject.ts b/sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByObject.ts deleted file mode 100644 index 180725060b31..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/deleteIndexByObject.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential, - SearchIndex -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Index example-index-2`); - const index:SearchIndex = await client.getIndex("example-index-2"); - console.log(`Deleting Index example-index-2`); - await client.deleteIndex(index); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/getIndex.ts b/sdk/search/search-documents/samples/typescript/src/indexes/getIndex.ts deleted file mode 100644 index 3fca09179e67..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/getIndex.ts +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexClient, AzureKeyCredential, SearchIndex } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Get Index Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Index example-index`); - const index: SearchIndex = await client.getIndex("example-index"); - console.log(`Name: ${index.name}`); - console.log(`Similarity Algorithm: ${index.similarity?.odatatype}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/getIndexStatistics.ts b/sdk/search/search-documents/samples/typescript/src/indexes/getIndexStatistics.ts deleted file mode 100644 index d964fde693a9..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/getIndexStatistics.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential, - SearchIndexStatistics -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Get Index Statistics Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Index Statistics of example-index`); - const statistics:SearchIndexStatistics = await client.getIndexStatistics("example-index"); - console.log(`Document Count: ${statistics.documentCount}`); - console.log(`Storage Size: ${statistics.storageSize}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/getServiceStatistics.ts b/sdk/search/search-documents/samples/typescript/src/indexes/getServiceStatistics.ts deleted file mode 100644 index 33be8e4df3c9..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/getServiceStatistics.ts +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Get Service Statistics Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const {counters, limits} = await client.getServiceStatistics(); - console.log(`Counters`); - console.log(`========`); - console.log(`\tDocument Counter`); - console.log(`\t\tUsage: ${counters.documentCounter.usage}`); - console.log(`\t\tQuota: ${counters.documentCounter.quota}`); - console.log(`\tIndex Counter`); - console.log(`\t\tUsage: ${counters.indexCounter.usage}`); - console.log(`\t\tQuota: ${counters.indexCounter.quota}`); - console.log(`\tIndexer Counter`); - console.log(`\t\tUsage: ${counters.indexerCounter.usage}`); - console.log(`\t\tQuota: ${counters.indexerCounter.quota}`); - console.log(`\tData Source Counter`); - console.log(`\t\tUsage: ${counters.dataSourceCounter.usage}`); - console.log(`\t\tQuota: ${counters.dataSourceCounter.quota}`); - console.log(`\tStorage Size Counter`); - console.log(`\t\tUsage: ${counters.storageSizeCounter.usage}`); - console.log(`\t\tQuota: ${counters.storageSizeCounter.quota}`); - console.log(`\tSynonym Map Counter`); - console.log(`\t\tUsage: ${counters.synonymMapCounter.usage}`); - console.log(`\t\tQuota: ${counters.synonymMapCounter.quota}`); - console.log(); - console.log(`Limits`); - console.log(`======`); - console.log(`\tMax Fields Per Index: ${limits.maxFieldsPerIndex}`); - console.log(`\tMax Field Nesting Depth Per Index: ${limits.maxFieldNestingDepthPerIndex}`); - console.log(`\tMax Complex Collection Fields Per Index: ${limits.maxComplexCollectionFieldsPerIndex}`); - console.log(`\tMax Complex Objects In Collections Per Document: ${limits.maxComplexObjectsInCollectionsPerDocument}`); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/listIndexNames.ts b/sdk/search/search-documents/samples/typescript/src/indexes/listIndexNames.ts deleted file mode 100644 index 4d91031be176..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/listIndexNames.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexClient, AzureKeyCredential } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List Indexes Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const result = await client.listIndexesNames(); - let listOfIndexNames = await result.next(); - - console.log(`List of Index Names`); - console.log(`*******************`); - while (!listOfIndexNames.done) { - console.log(listOfIndexNames.value); - listOfIndexNames = await result.next(); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/indexes/listIndexes.ts b/sdk/search/search-documents/samples/typescript/src/indexes/listIndexes.ts deleted file mode 100644 index bebf901c9e21..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/indexes/listIndexes.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexClient, AzureKeyCredential } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List Indexes Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const result = await client.listIndexes(); - let listOfIndexes = await result.next(); - - console.log(`List of Indexes`); - console.log(`***************`); - while (!listOfIndexes.done) { - console.log(`Name: ${listOfIndexes.value.name}`); - console.log(`Similarity Algorithm: ${listOfIndexes.value.similarity?.odatatype}`); - console.log(); - listOfIndexes = await result.next(); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/skillSets/createOrUpdateSkillset.ts b/sdk/search/search-documents/samples/typescript/src/skillSets/createOrUpdateSkillset.ts deleted file mode 100644 index 5c8abaa5de5d..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/skillSets/createOrUpdateSkillset.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential, SearchIndexerSkillset } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create Or Update Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Skillset my-azureblob-skillset`); - const skillset: SearchIndexerSkillset = await client.getSkillset("my-azureblob-skillset"); - - skillset.skills[0].outputs = [ - { - name: "persons", - targetName: "people" - }, - { - name: "organizations", - targetName: "organizations" - } - ] - - await client.createOrUpdateSkillset(skillset); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/skillSets/createSkillset.ts b/sdk/search/search-documents/samples/typescript/src/skillSets/createSkillset.ts deleted file mode 100644 index c7915661c454..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/skillSets/createSkillset.ts +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential, SearchIndexerSkillset } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const skillset: SearchIndexerSkillset = { - name: `my-azureblob-skillset`, - description: `Skillset description`, - skills: [ - { - odatatype: "#Microsoft.Skills.Text.EntityRecognitionSkill", - inputs: [ - { - name: "text", - source: "/document/merged_content" - }, - { - name: "languageCode", - source: "/document/language" - } - ], - outputs: [ - { - name: "persons", - targetName: "people" - }, - { - name: "organizations", - targetName: "organizations" - }, - { - name: "locations", - targetName: "locations" - } - ] - } - ] - }; - await client.createSkillset(skillset); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByName.ts b/sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByName.ts deleted file mode 100644 index 8862073d2aae..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByName.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting Indexer my-azureblob-skillset`); - await client.deleteSkillset("my-azureblob-skillset") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByObject.ts b/sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByObject.ts deleted file mode 100644 index 59dd7daee688..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/skillSets/deleteSkillsetByObject.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexerSkillset -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Skillset my-azureblob-skillset`); - const skillset: SearchIndexerSkillset = await client.getSkillset("my-azureblob-skillset"); - console.log(`Deleting Indexer my-azureblob-skillset`); - await client.deleteSkillset(skillset) -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/skillSets/getSkillset.ts b/sdk/search/search-documents/samples/typescript/src/skillSets/getSkillset.ts deleted file mode 100644 index 7483338f8a12..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/skillSets/getSkillset.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexerSkillset -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Get Skillset Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Getting Skillset my-azureblob-skillset`); - const skillset: SearchIndexerSkillset = await client.getSkillset("my-azureblob-skillset"); - console.log(`Name: ${skillset.name}`); - console.log(`Description: ${skillset.description}`); - console.log(`Skills`); - console.log(`******`); - for (let skill of skillset.skills) { - console.log(`ODataType: ${skill.odatatype}`); - console.log(`Inputs`); - for (let input of skill.inputs) { - console.log(`\tName: ${input.name}`); - console.log(`\tSource: ${input.source}`); - } - console.log(`Outputs`); - for (let output of skill.outputs) { - console.log(`\tName: ${output.name}`); - console.log(`\tTarget Name: ${output.targetName}`); - } - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsets.ts b/sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsets.ts deleted file mode 100644 index c6a934180885..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsets.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexerClient, - AzureKeyCredential, - SearchIndexerSkillset -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List Skillsets Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfSkillsets: Array = await client.listSkillsets(); - - console.log(`\tList of Skillsets`); - console.log(`\t******************`); - for (let skillset of listOfSkillsets) { - console.log(`Name: ${skillset.name}`); - console.log(`Description: ${skillset.description}`); - console.log(`Skills`); - console.log(`******`); - for (let skill of skillset.skills) { - console.log(`ODataType: ${skill.odatatype}`); - console.log(`Inputs`); - for (let input of skill.inputs) { - console.log(`\tName: ${input.name}`); - console.log(`\tSource: ${input.source}`); - } - console.log(`Outputs`); - for (let output of skill.outputs) { - console.log(`\tName: ${output.name}`); - console.log(`\tTarget Name: ${output.targetName}`); - } - } - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsetsNames.ts b/sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsetsNames.ts deleted file mode 100644 index 2e5e0fbd5845..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/skillSets/listSkillsetsNames.ts +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexerClient, AzureKeyCredential } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List Skillsets Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfSkillsetNames: string[] = await client.listSkillsetsNames(); - - console.log(`\tNames of Skillsets`); - console.log(`\t******************`); - for (let skName of listOfSkillsetNames) { - console.log(`${skName}`); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/synonymMaps/createOrUpdateSynonymMap.ts b/sdk/search/search-documents/samples/typescript/src/synonymMaps/createOrUpdateSynonymMap.ts deleted file mode 100644 index 59482716b93e..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/synonymMaps/createOrUpdateSynonymMap.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential, - SynonymMap -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create Or Update SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Synonym Map my-synonymmap`); - const sm:SynonymMap = await client.getSynonymMap("my-synonymmap"); - console.log(`Update synonyms Synonym Map my-synonymmap`); - sm.synonyms.push("Florida, Fld. => FL"); - await client.createOrUpdateSynonymMap(sm); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/synonymMaps/createSynonymMap.ts b/sdk/search/search-documents/samples/typescript/src/synonymMaps/createSynonymMap.ts deleted file mode 100644 index 2cf75fca98b3..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/synonymMaps/createSynonymMap.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential, - SynonymMap -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Create SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const sm: SynonymMap = { - name: `my-synonymmap`, - synonyms: ["United States, United States of America => USA", "Washington, Wash. => WA"] - }; - await client.createSynonymMap(sm); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByName.ts b/sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByName.ts deleted file mode 100644 index 27a17c3b2012..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByName.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Deleting SynonymMap my-synonymmap`); - await client.deleteSynonymMap("my-synonymmap") -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByObject.ts b/sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByObject.ts deleted file mode 100644 index e9f767046923..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/synonymMaps/deleteSynonymMapByObject.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential, - SynonymMap -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Delete SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Synonym Map my-synonymmap`); - const sm:SynonymMap = await client.getSynonymMap("my-synonymmap"); - console.log(`Deleting SynonymMap my-synonymmap`); - await client.deleteSynonymMap(sm); -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/synonymMaps/getSynonymMap.ts b/sdk/search/search-documents/samples/typescript/src/synonymMaps/getSynonymMap.ts deleted file mode 100644 index 758691ac3ab9..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/synonymMaps/getSynonymMap.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - SearchIndexClient, - AzureKeyCredential, - SynonymMap -} from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running Get SynonymMap Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - console.log(`Get Synonym Map my-synonymmap`); - const sm: SynonymMap = await client.getSynonymMap("my-synonymmap"); - console.log(`Name: ${sm.name}`); - console.log(`Synonyms`); - for (let synonym of sm.synonyms) { - console.log(synonym); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMapNames.ts b/sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMapNames.ts deleted file mode 100644 index 91caa88363c2..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMapNames.ts +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexClient, AzureKeyCredential } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List SynonymMap Names Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfSynonymMapsNames: string[] = await client.listSynonymMapsNames(); - - console.log(`List of SynonymMap Names`); - console.log(`************************`); - for (let smName of listOfSynonymMapsNames) { - console.log(`${smName}`); - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMaps.ts b/sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMaps.ts deleted file mode 100644 index 3afccce2309f..000000000000 --- a/sdk/search/search-documents/samples/typescript/src/synonymMaps/listSynonymMaps.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { SearchIndexClient, AzureKeyCredential, SynonymMap } from "@azure/search-documents"; -import * as dotenv from "dotenv"; -dotenv.config(); - -const endpoint = process.env.SEARCH_API_ENDPOINT || ""; -const apiKey = process.env.SEARCH_API_KEY || ""; - -export async function main() { - console.log(`Running List SynonymMaps Sample....`); - if (!endpoint || !apiKey) { - console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); - return; - } - const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); - const listOfSynonymMaps: Array = await client.listSynonymMaps(); - - console.log(`List of SynonymMaps`); - console.log(`*******************`); - for (let sm of listOfSynonymMaps) { - console.log(`Name: ${sm.name}`); - console.log(`Synonyms`); - for (let synonym of sm.synonyms) { - console.log(synonym); - } - } -} - -main().catch((err) => { - console.error("The sample encountered an error:", err); -}); diff --git a/sdk/search/search-documents/samples/v11/javascript/README.md b/sdk/search/search-documents/samples/v11/javascript/README.md new file mode 100644 index 000000000000..7dbc39627883 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/README.md @@ -0,0 +1,82 @@ +--- +page_type: sample +languages: + - javascript +products: + - azure + - azure-cognitive-search + - azure-search +urlFragment: search-documents-javascript +--- + +# Azure Search Documents client library samples for JavaScript + +These sample programs show how to use the JavaScript client libraries for Azure Search Documents in some common scenarios. + +| **File Name** | **Description** | +| ------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| [bufferedSenderAutoFlushSize.js][bufferedsenderautoflushsize] | Demonstrates the SearchIndexingBufferedSender with Autoflush based on size. | +| [bufferedSenderAutoFlushTimer.js][bufferedsenderautoflushtimer] | Demonstrates the SearchIndexingBufferedSender with Autoflush based on timer. | +| [bufferedSenderManualFlush.js][bufferedsendermanualflush] | Demonstrates the SearchIndexingBufferedSender with Manual Flush. | +| [dataSourceConnectionOperations.js][datasourceconnectionoperations] | Demonstrates the DataSource Connection Operations. | +| [indexOperations.js][indexoperations] | Demonstrates the Index Operations. | +| [indexerOperations.js][indexeroperations] | Demonstrates the Indexer Operations. | +| [interfaces.js][interfaces] | Defines the Hotel Interface. | +| [setup.js][setup] | Defines the utility methods. | +| [skillSetOperations.js][skillsetoperations] | Demonstrates the Skillset Operations. | +| [synonymMapOperations.js][synonymmapoperations] | Demonstrates the SynonymMap Operations. | + +## Prerequisites + +The sample programs are compatible with [LTS versions of Node.js](https://nodejs.org/about/releases/). + +You need [an Azure subscription][freesub] and the following Azure resources to run these sample programs: + +- [Azure Search Documents instance][createinstance_azuresearchdocumentsinstance] + +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 bufferedSenderAutoFlushSize.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 ENDPOINT="" SEARCH_API_ADMIN_KEY="" node bufferedSenderAutoFlushSize.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[bufferedsenderautoflushsize]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushSize.js +[bufferedsenderautoflushtimer]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushTimer.js +[bufferedsendermanualflush]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/bufferedSenderManualFlush.js +[datasourceconnectionoperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/dataSourceConnectionOperations.js +[indexoperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/indexOperations.js +[indexeroperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/indexerOperations.js +[interfaces]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/interfaces.js +[setup]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/setup.js +[skillsetoperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/skillSetOperations.js +[synonymmapoperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/javascript/synonymMapOperations.js +[apiref]: https://docs.microsoft.com/javascript/api/@azure/search-documents +[freesub]: https://azure.microsoft.com/free/ +[createinstance_azuresearchdocumentsinstance]: https://docs.microsoft.com/azure/search/search-create-service-portal +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/README.md diff --git a/sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushSize.js b/sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushSize.js new file mode 100644 index 000000000000..c6e377b21353 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushSize.js @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Autoflush based on size. + */ + +const { + SearchIndexingBufferedSender, + AzureKeyCredential, + SearchClient, + GeographyPoint, + SearchIndexClient +} = require("@azure/search-documents"); +const { createIndex, documentKeyRetriever, WAIT_TIME } = require("./setup"); +const { delay } = require("@azure/core-http"); +const dotenv = require("dotenv"); +dotenv.config(); + +/** + * This sample is to demonstrate the use of SearchIndexingBufferedSender. + * In this sample, the autoFlush is set to true. i.e. the user does not + * want to call the flush manually. The upload action happen automatically + * when the size of the batch is greater than threshold (which is set to 1000) + * by default. + */ +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-4"; + +function getDocumentsArray(size) { + const array = []; + for (let i = 1; i <= size; i++) { + array.push({ + hotelId: `${i}`, + description: + "Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, " + + "and a really helpful concierge. The location is perfect -- right downtown, close to all " + + "the tourist attractions. We highly recommend this hotel.", + descriptionFr: + "Meilleur hôtel en ville si vous aimez les hôtels de luxe. Ils ont une magnifique piscine " + + "à débordement, un spa et un concierge très utile. L'emplacement est parfait – en plein " + + "centre, à proximité de toutes les attractions touristiques. Nous recommandons fortement " + + "cet hôtel.", + hotelName: "Fancy Stay", + category: "Luxury", + tags: ["pool", "view", "wifi", "concierge"], + parkingIncluded: false, + lastRenovationDate: new Date(2010, 5, 27), + rating: 5, + location: new GeographyPoint({ + longitude: -122.131577, + latitude: 47.678581 + }) + }); + } + return array; +} + +async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-With Auto Flush Sizes Sample`); + + const credential = new AzureKeyCredential(apiKey); + const searchClient = new SearchClient(endpoint, TEST_INDEX_NAME, credential); + const indexClient = new SearchIndexClient(endpoint, credential); + + await createIndex(indexClient, TEST_INDEX_NAME); + await delay(WAIT_TIME); + + const bufferedClient = new SearchIndexingBufferedSender(searchClient, documentKeyRetriever, { + autoFlush: true + }); + + bufferedClient.on("batchAdded", (response) => { + console.log(`Batch Added Event has been receieved: ${response}`); + }); + + bufferedClient.on("beforeDocumentSent", (response) => { + console.log(`Before Document Sent Event has been receieved: ${response}`); + }); + + bufferedClient.on("batchSucceeded", (response) => { + console.log("Batch Succeeded Event has been receieved...."); + console.log(response); + }); + + bufferedClient.on("batchFailed", (response) => { + console.log("Batch Failed Event has been receieved...."); + console.log(response); + }); + + const documents = getDocumentsArray(1001); + bufferedClient.uploadDocuments(documents); + + await WAIT_TIME; + + let count = await searchClient.getDocumentsCount(); + while (count !== documents.length) { + await delay(WAIT_TIME); + count = await searchClient.getDocumentsCount(); + } + + // When the autoFlush is set to true, the user + // has to call the dispose method to clear the + // timer. + bufferedClient.dispose(); + await indexClient.deleteIndex(TEST_INDEX_NAME); + await delay(WAIT_TIME); +} + +main(); diff --git a/sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushTimer.js b/sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushTimer.js new file mode 100644 index 000000000000..9321cc884de9 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/bufferedSenderAutoFlushTimer.js @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Autoflush based on timer. + */ + +const { + SearchIndexingBufferedSender, + AzureKeyCredential, + SearchClient, + GeographyPoint, + SearchIndexClient, + DEFAULT_FLUSH_WINDOW +} = require("@azure/search-documents"); +const { createIndex, documentKeyRetriever, WAIT_TIME } = require("./setup"); +const { delay } = require("@azure/core-http"); +const dotenv = require("dotenv"); +dotenv.config(); + +/** + * This sample is to demonstrate the use of SearchIndexingBufferedSender. + * In this sample, the autoFlush is set to true. i.e. the user does not + * want to call the flush manually. The upload action happen automatically + * when the time interval is met. The time interval is set to 60000ms + * by default. + */ +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-5"; + +async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-With Auto Flush Timer Sample`); + + const credential = new AzureKeyCredential(apiKey); + const searchClient = new SearchClient(endpoint, TEST_INDEX_NAME, credential); + const indexClient = new SearchIndexClient(endpoint, credential); + + await createIndex(indexClient, TEST_INDEX_NAME); + await delay(WAIT_TIME); + + const bufferedClient = new SearchIndexingBufferedSender(searchClient, documentKeyRetriever, { + autoFlush: true + }); + + bufferedClient.on("batchAdded", (response) => { + console.log(`Batch Added Event has been receieved: ${response}`); + }); + + bufferedClient.on("beforeDocumentSent", (response) => { + console.log(`Before Document Sent Event has been receieved: ${response}`); + }); + + bufferedClient.on("batchSucceeded", (response) => { + console.log("Batch Succeeded Event has been receieved...."); + console.log(response); + }); + + bufferedClient.on("batchFailed", (response) => { + console.log("Batch Failed Event has been receieved...."); + console.log(response); + }); + + bufferedClient.uploadDocuments([ + { + hotelId: "1", + description: + "Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, " + + "and a really helpful concierge. The location is perfect -- right downtown, close to all " + + "the tourist attractions. We highly recommend this hotel.", + descriptionFr: + "Meilleur hôtel en ville si vous aimez les hôtels de luxe. Ils ont une magnifique piscine " + + "à débordement, un spa et un concierge très utile. L'emplacement est parfait – en plein " + + "centre, à proximité de toutes les attractions touristiques. Nous recommandons fortement " + + "cet hôtel.", + hotelName: "Fancy Stay", + category: "Luxury", + tags: ["pool", "view", "wifi", "concierge"], + parkingIncluded: false, + lastRenovationDate: new Date(2010, 5, 27), + rating: 5, + location: new GeographyPoint({ + longitude: -122.131577, + latitude: 47.678581 + }) + } + ]); + + const wait_time = DEFAULT_FLUSH_WINDOW + 5000; + console.log(`Waiting for ${wait_time} ms to meet the flush window interval....`); + await delay(wait_time); + + // When the autoFlush is set to true, the user + // has to call the dispose method to clear the + // timer. + bufferedClient.dispose(); + await indexClient.deleteIndex(TEST_INDEX_NAME); + await delay(WAIT_TIME); +} + +main(); diff --git a/sdk/search/search-documents/samples/v11/javascript/bufferedSenderManualFlush.js b/sdk/search/search-documents/samples/v11/javascript/bufferedSenderManualFlush.js new file mode 100644 index 000000000000..2fe6cdc55def --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/bufferedSenderManualFlush.js @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Manual Flush. + */ + +const { + SearchIndexingBufferedSender, + AzureKeyCredential, + SearchClient, + GeographyPoint, + SearchIndexClient +} = require("@azure/search-documents"); +const { createIndex, documentKeyRetriever, WAIT_TIME } = require("./setup"); +const { delay } = require("@azure/core-http"); +const dotenv = require("dotenv"); +dotenv.config(); + +/** + * This sample is to demonstrate the use of SearchIndexingBufferedSender. + * In this sample, the autoFlush is set to false. i.e. the user + * wants to call the flush manually. + */ +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-6"; + +async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-Without AutoFlush Sample`); + + const credential = new AzureKeyCredential(apiKey); + const searchClient = new SearchClient(endpoint, TEST_INDEX_NAME, credential); + const indexClient = new SearchIndexClient(endpoint, credential); + + await createIndex(indexClient, TEST_INDEX_NAME); + await delay(WAIT_TIME); + + const bufferedClient = new SearchIndexingBufferedSender(searchClient, documentKeyRetriever, { + autoFlush: false + }); + + bufferedClient.on("batchAdded", (response) => { + console.log(`Batch Added Event has been receieved: ${response}`); + }); + + bufferedClient.on("beforeDocumentSent", (response) => { + console.log(`Before Document Sent Event has been receieved: ${response}`); + }); + + bufferedClient.on("batchSucceeded", (response) => { + console.log("Batch Succeeded Event has been receieved...."); + console.log(response); + }); + + bufferedClient.on("batchFailed", (response) => { + console.log("Batch Failed Event has been receieved...."); + console.log(response); + }); + + bufferedClient.uploadDocuments([ + { + hotelId: "1", + description: + "Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, " + + "and a really helpful concierge. The location is perfect -- right downtown, close to all " + + "the tourist attractions. We highly recommend this hotel.", + descriptionFr: + "Meilleur hôtel en ville si vous aimez les hôtels de luxe. Ils ont une magnifique piscine " + + "à débordement, un spa et un concierge très utile. L'emplacement est parfait – en plein " + + "centre, à proximité de toutes les attractions touristiques. Nous recommandons fortement " + + "cet hôtel.", + hotelName: "Fancy Stay", + category: "Luxury", + tags: ["pool", "view", "wifi", "concierge"], + parkingIncluded: false, + lastRenovationDate: new Date(2010, 5, 27), + rating: 5, + location: new GeographyPoint({ + longitude: -122.131577, + latitude: 47.678581 + }) + } + ]); + + await bufferedClient.flush(); + bufferedClient.dispose(); + await indexClient.deleteIndex(TEST_INDEX_NAME); + await delay(WAIT_TIME); +} + +main(); diff --git a/sdk/search/search-documents/samples/v11/javascript/dataSourceConnectionOperations.js b/sdk/search/search-documents/samples/v11/javascript/dataSourceConnectionOperations.js new file mode 100644 index 000000000000..cc8e6832c404 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/dataSourceConnectionOperations.js @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the DataSource Connection Operations. + */ + +const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); +const dotenv = require("dotenv"); +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const connectionString = process.env.CONNECTION_STRING || ""; +const dataSourceConnectionName = "example-ds-connection-sample-1"; + +async function createDataSourceConnection(dataSourceConnectionName, client) { + console.log(`Creating DS Connection Operation`); + const dataSourceConnection = { + name: dataSourceConnectionName, + description: "My Data Source 1", + type: "cosmosdb", + container: { + name: "my-container-1" + }, + connectionString + }; + await client.createDataSourceConnection(dataSourceConnection); +} + +async function getAndUpdateDataSourceConnection(dataSourceConnectionName, client) { + console.log(`Get And Update DS Connection Operation`); + const ds = await client.getDataSourceConnection(dataSourceConnectionName); + ds.container.name = "Listings_5K_KingCounty_WA"; + console.log(`Updating Container Name of Datasource Connection ${dataSourceConnectionName}`); + await client.createOrUpdateDataSourceConnection(ds); +} + +async function listDataSourceConnections(client) { + console.log(`List DS Connection Operation`); + const listOfDataSourceConnections = await client.listDataSourceConnections(); + + console.log(`List of Data Source Connections`); + console.log(`*******************************`); + for (let ds of listOfDataSourceConnections) { + console.log(`Name: ${ds.name}`); + console.log(`Description: ${ds.description}`); + console.log(`Connection String: ${ds.connectionString}`); + console.log(`Data Change Detection Policy: ${ds.dataChangeDetectionPolicy}`); + console.log(`Data Deletion Detection Policy: ${ds.dataDeletionDetectionPolicy}`); + console.log(`Etag: ${ds.etag}`); + console.log(`DataContainer`); + console.log(`\tName: ${ds.container.name}`); + console.log(`\tQuery: ${ds.container.query}`); + console.log(); + } +} + +async function deleteDataSourceConnection(dataSourceConnectionName, client) { + console.log(`Deleting DS Connection Operation`); + await client.deleteDataSourceConnection(dataSourceConnectionName); +} + +async function main() { + console.log(`Running DS Connection Operations Sample....`); + if (!endpoint || !apiKey || !connectionString) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createDataSourceConnection(dataSourceConnectionName, client); + await getAndUpdateDataSourceConnection(dataSourceConnectionName, client); + await listDataSourceConnections(client); + } finally { + await deleteDataSourceConnection(dataSourceConnectionName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/javascript/indexOperations.js b/sdk/search/search-documents/samples/v11/javascript/indexOperations.js new file mode 100644 index 000000000000..178cabf4adb3 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/indexOperations.js @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Index Operations. + */ + +const { SearchIndexClient, AzureKeyCredential } = require("@azure/search-documents"); +const dotenv = require("dotenv"); +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const indexName = "example-index-sample-1"; + +async function createIndex(indexName, client) { + console.log(`Creating Index Operation`); + const index = { + name: indexName, + fields: [ + { + type: "Edm.String", + name: "id", + key: true + }, + { + type: "Edm.Double", + name: "awesomenessLevel", + sortable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.String", + name: "description", + searchable: true + }, + { + type: "Edm.ComplexType", + name: "details", + fields: [ + { + type: "Collection(Edm.String)", + name: "tags", + searchable: true + } + ] + }, + { + type: "Edm.Int32", + name: "hiddenWeight", + hidden: true + } + ] + }; + await client.createIndex(index); +} + +async function getAndUpdateIndex(indexName, client) { + console.log(`Get And Update Index Operation`); + const index = await client.getIndex(indexName); + index.fields.push({ + type: "Edm.DateTimeOffset", + name: "lastUpdatedOn", + filterable: true + }); + await client.createOrUpdateIndex(index); +} + +async function getIndexStatistics(indexName, client) { + console.log(`Get Index Statistics Operation`); + const statistics = await client.getIndexStatistics(indexName); + console.log(`Document Count: ${statistics.documentCount}`); + console.log(`Storage Size: ${statistics.storageSize}`); +} + +async function getServiceStatistics(client) { + console.log(`Get Service Statistics Operation`); + const { counters, limits } = await client.getServiceStatistics(); + console.log(`Counters`); + console.log(`========`); + console.log(`\tDocument Counter`); + console.log(`\t\tUsage: ${counters.documentCounter.usage}`); + console.log(`\t\tQuota: ${counters.documentCounter.quota}`); + console.log(`\tIndex Counter`); + console.log(`\t\tUsage: ${counters.indexCounter.usage}`); + console.log(`\t\tQuota: ${counters.indexCounter.quota}`); + console.log(`\tIndexer Counter`); + console.log(`\t\tUsage: ${counters.indexerCounter.usage}`); + console.log(`\t\tQuota: ${counters.indexerCounter.quota}`); + console.log(`\tData Source Counter`); + console.log(`\t\tUsage: ${counters.dataSourceCounter.usage}`); + console.log(`\t\tQuota: ${counters.dataSourceCounter.quota}`); + console.log(`\tStorage Size Counter`); + console.log(`\t\tUsage: ${counters.storageSizeCounter.usage}`); + console.log(`\t\tQuota: ${counters.storageSizeCounter.quota}`); + console.log(`\tSynonym Map Counter`); + console.log(`\t\tUsage: ${counters.synonymMapCounter.usage}`); + console.log(`\t\tQuota: ${counters.synonymMapCounter.quota}`); + console.log(); + console.log(`Limits`); + console.log(`======`); + console.log(`\tMax Fields Per Index: ${limits.maxFieldsPerIndex}`); + console.log(`\tMax Field Nesting Depth Per Index: ${limits.maxFieldNestingDepthPerIndex}`); + console.log( + `\tMax Complex Collection Fields Per Index: ${limits.maxComplexCollectionFieldsPerIndex}` + ); + console.log( + `\tMax Complex Objects In Collections Per Document: ${limits.maxComplexObjectsInCollectionsPerDocument}` + ); +} + +async function listIndexes(client) { + console.log(`List Indexes Operation`); + const result = await client.listIndexes(); + let listOfIndexes = await result.next(); + + console.log(`List of Indexes`); + console.log(`***************`); + while (!listOfIndexes.done) { + console.log(`Name: ${listOfIndexes.value.name}`); + console.log(`Similarity Algorithm: ${listOfIndexes.value.similarity?.odatatype}`); + console.log(); + listOfIndexes = await result.next(); + } +} + +async function deleteIndex(indexName, client) { + console.log(`Deleting Index Operation`); + await client.deleteIndex(indexName); +} + +async function main() { + console.log(`Running Index Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createIndex(indexName, client); + await getAndUpdateIndex(indexName, client); + await getIndexStatistics(indexName, client); + await getServiceStatistics(client); + await listIndexes(client); + } finally { + await deleteIndex(indexName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/javascript/indexerOperations.js b/sdk/search/search-documents/samples/v11/javascript/indexerOperations.js new file mode 100644 index 000000000000..30f8c3b6aef5 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/indexerOperations.js @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Indexer Operations. + */ + +const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); +const dotenv = require("dotenv"); +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const dataSourceName = process.env.DATA_SOURCE_NAME || ""; +const targetIndexName = process.env.TARGET_INDEX_NAME || ""; + +const indexerName = "example-indexer-sample-1"; + +async function createIndexer(indexerName, client) { + console.log(`Creating Indexer Operation`); + const indexer = { + name: indexerName, + description: "Description for Sample Indexer", + dataSourceName, + targetIndexName, + isDisabled: false + }; + await client.createIndexer(indexer); +} + +async function getAndUpdateIndexer(indexerName, client) { + console.log(`Get And Update Indexer Operation`); + const indexer = await client.getIndexer(indexerName); + indexer.isDisabled = true; + await client.createOrUpdateIndexer(indexer); + indexer.isDisabled = false; + await client.createOrUpdateIndexer(indexer); +} + +async function getIndexerStatus(indexerName, client) { + console.log(`Get Indexer Status Operation`); + const indexerStatus = await client.getIndexerStatus(indexerName); + console.log(`Status: ${indexerStatus.status}`); + console.log(`Limits`); + console.log(`******`); + console.log( + `MaxDocumentContentCharactersToExtract: ${indexerStatus.limits.maxDocumentContentCharactersToExtract}` + ); + console.log(`MaxDocumentExtractionSize: ${indexerStatus.limits.maxDocumentExtractionSize}`); + console.log(`MaxRunTime: ${indexerStatus.limits.maxRunTime}`); +} + +async function listIndexers(client) { + console.log(`List Indexers Operation`); + const listOfIndexers = await client.listIndexers(); + + console.log(`\tList of Indexers`); + console.log(`\t****************`); + for (let indexer of listOfIndexers) { + console.log(`Name: ${indexer.name}`); + console.log(`Description: ${indexer.description}`); + console.log(`Data Source Name: ${indexer.dataSourceName}`); + console.log(`Skillset Name: ${indexer.skillsetName}`); + console.log(`Target Index Name: ${indexer.targetIndexName}`); + console.log(`Indexing Schedule`); + console.log(`\tInterval: ${indexer.schedule?.interval}`); + console.log(`\tStart Time: ${indexer.schedule?.startTime}`); + console.log(`Is Disabled: ${indexer.isDisabled}`); + console.log(`ETag: ${indexer.etag}`); + console.log(`Parameters`); + console.log(`\tBatch Size: ${indexer.parameters?.batchSize}`); + console.log(`\tMax Failed Items: ${indexer.parameters?.maxFailedItems}`); + console.log(`\tMax Failed Items Per Batch: ${indexer.parameters?.maxFailedItemsPerBatch}`); + console.log(); + } +} + +async function resetIndexer(indexerName, client) { + console.log(`Reset Indexer Operation`); + await client.resetIndexer(indexerName); +} + +async function deleteIndexer(indexerName, client) { + console.log(`Deleting Indexer Operation`); + await client.deleteIndexer(indexerName); +} + +async function runIndexer(indexerName, client) { + console.log(`Run Indexer Operation`); + await client.runIndexer(indexerName); +} + +async function main() { + console.log(`Running Indexer Operations Sample....`); + if (!endpoint || !apiKey || !dataSourceName || !targetIndexName) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createIndexer(indexerName, client); + await getAndUpdateIndexer(indexerName, client); + await getIndexerStatus(indexerName, client); + await listIndexers(client); + await resetIndexer(indexerName, client); + await runIndexer(indexerName, client); + } finally { + await deleteIndexer(indexerName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/javascript/interfaces.js b/sdk/search/search-documents/samples/v11/javascript/interfaces.js new file mode 100644 index 000000000000..cb0ff5c3b541 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/interfaces.js @@ -0,0 +1 @@ +export {}; diff --git a/sdk/search/search-documents/samples/javascript/package.json b/sdk/search/search-documents/samples/v11/javascript/package.json similarity index 50% rename from sdk/search/search-documents/samples/javascript/package.json rename to sdk/search/search-documents/samples/v11/javascript/package.json index b44338ba5a52..cfe45076c457 100644 --- a/sdk/search/search-documents/samples/javascript/package.json +++ b/sdk/search/search-documents/samples/v11/javascript/package.json @@ -1,20 +1,19 @@ { - "name": "azure-search-samples-js", + "name": "azure-search-documents-samples-js", "private": true, - "version": "0.1.0", - "description": "Azure Cognitive Search client library samples for JavaScript", - "engine": { + "version": "1.0.0", + "description": "Azure Search Documents client library samples for JavaScript", + "engines": { "node": ">=12.0.0" }, "repository": { "type": "git", - "url": "git+https://github.com/Azure/azure-sdk-for-js.git" + "url": "git+https://github.com/Azure/azure-sdk-for-js.git", + "directory": "sdk/search/search-documents" }, "keywords": [ - "Azure", - "Search", - "Node.js", - "JavaScript" + "azure", + "cloud" ], "author": "Microsoft Corporation", "license": "MIT", @@ -22,10 +21,9 @@ "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents", - "sideEffects": false, "dependencies": { - "@azure/search-documents": "latest", - "@azure/identity": "latest", - "dotenv": "^8.2.0" + "@azure/search-documents": "next", + "dotenv": "latest", + "@azure/core-http": "^2.0.0" } } diff --git a/sdk/search/search-documents/samples/v11/javascript/sample.env b/sdk/search/search-documents/samples/v11/javascript/sample.env new file mode 100644 index 000000000000..29e6a56a9e6b --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/sample.env @@ -0,0 +1,12 @@ +# The primary key of your Azure Search account. +SEARCH_API_ADMIN_KEY= + +# (optional) The secondary key of your Azure Search account. +SEARCH_API_ADMIN_KEY_ALT= + +# The endpoint of your Azure Search account. +ENDPOINT= + +# Our tests assume that TEST_MODE is "playback" by default. You can +# change it to "record" to generate new recordings, or "live" to bypass the recorder entirely. +# TEST_MODE=playback diff --git a/sdk/search/search-documents/samples/v11/javascript/setup.js b/sdk/search/search-documents/samples/v11/javascript/setup.js new file mode 100644 index 000000000000..1a14dec50b1b --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/setup.js @@ -0,0 +1,227 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Defines the utility methods. + */ + +const { KnownAnalyzerNames } = require("@azure/search-documents"); + +export const WAIT_TIME = 4000; + +export const documentKeyRetriever = (document) => { + return document.hotelId; +}; + +// eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters +export async function createIndex(client, name) { + const hotelIndex = { + name, + fields: [ + { + type: "Edm.String", + name: "hotelId", + key: true, + filterable: true, + sortable: true + }, + { + type: "Edm.String", + name: "hotelName", + searchable: true, + filterable: true, + sortable: true + }, + { + type: "Edm.String", + name: "description", + searchable: true, + analyzerName: KnownAnalyzerNames.EnLucene + }, + { + type: "Edm.String", + name: "descriptionFr", + searchable: true, + analyzerName: KnownAnalyzerNames.FrLucene + }, + { + type: "Edm.String", + name: "category", + searchable: true, + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Collection(Edm.String)", + name: "tags", + searchable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.Boolean", + name: "parkingIncluded", + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.Boolean", + name: "smokingAllowed", + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.DateTimeOffset", + name: "lastRenovationDate", + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.Double", + name: "rating", + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.GeographyPoint", + name: "location", + filterable: true, + sortable: true + }, + { + type: "Edm.ComplexType", + name: "address", + fields: [ + { + type: "Edm.String", + name: "streetAddress", + searchable: true + }, + { + type: "Edm.String", + name: "city", + searchable: true, + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.String", + name: "stateProvince", + searchable: true, + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.String", + name: "country", + searchable: true, + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.String", + name: "postalCode", + searchable: true, + filterable: true, + sortable: true, + facetable: true + } + ] + }, + { + type: "Collection(Edm.ComplexType)", + name: "rooms", + fields: [ + { + type: "Edm.String", + name: "description", + searchable: true, + analyzerName: KnownAnalyzerNames.EnLucene + }, + { + type: "Edm.String", + name: "descriptionFr", + searchable: true, + analyzerName: KnownAnalyzerNames.FrLucene + }, + { + type: "Edm.String", + name: "type", + searchable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.Double", + name: "baseRate", + filterable: true, + facetable: true + }, + { + type: "Edm.String", + name: "bedOptions", + searchable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.Int32", + name: "sleepsCount", + filterable: true, + facetable: true + }, + { + type: "Edm.Boolean", + name: "smokingAllowed", + filterable: true, + facetable: true + }, + { + type: "Collection(Edm.String)", + name: "tags", + searchable: true, + filterable: true, + facetable: true + } + ] + } + ], + suggesters: [ + { + name: "sg", + sourceFields: ["description", "hotelName"], + searchMode: "analyzingInfixMatching" + } + ], + scoringProfiles: [ + { + name: "nearest", + functionAggregation: "sum", + functions: [ + { + type: "distance", + fieldName: "location", + boost: 2, + parameters: { + referencePointParameter: "myloc", + boostingDistance: 100 + } + } + ] + } + ], + corsOptions: { + // for browser tests + allowedOrigins: ["*"] + } + }; + await client.createIndex(hotelIndex); +} diff --git a/sdk/search/search-documents/samples/v11/javascript/skillSetOperations.js b/sdk/search/search-documents/samples/v11/javascript/skillSetOperations.js new file mode 100644 index 000000000000..7dac52d6209a --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/skillSetOperations.js @@ -0,0 +1,123 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Skillset Operations. + */ + +const { SearchIndexerClient, AzureKeyCredential } = require("@azure/search-documents"); +const dotenv = require("dotenv"); +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; + +const skillsetName = "example-skillset-sample-1"; + +async function createSkillset(skillsetName, client) { + console.log(`Creating Skillset Operation`); + const skillset = { + name: skillsetName, + description: `Skillset description`, + skills: [ + { + odatatype: "#Microsoft.Skills.Text.EntityRecognitionSkill", + inputs: [ + { + name: "text", + source: "/document/merged_content" + }, + { + name: "languageCode", + source: "/document/language" + } + ], + outputs: [ + { + name: "persons", + targetName: "people" + }, + { + name: "organizations", + targetName: "organizations" + }, + { + name: "locations", + targetName: "locations" + } + ] + } + ] + }; + await client.createSkillset(skillset); +} + +async function getAndUpdateSkillset(skillsetName, client) { + console.log(`Get And Update Skillset Operation`); + const skillset = await client.getSkillset(skillsetName); + + skillset.skills[0].outputs = [ + { + name: "persons", + targetName: "people" + }, + { + name: "organizations", + targetName: "organizations" + } + ]; + + await client.createOrUpdateSkillset(skillset); +} + +async function listSkillsets(client) { + console.log(`List Skillset Operation`); + const listOfSkillsets = await client.listSkillsets(); + + console.log(`\tList of Skillsets`); + console.log(`\t******************`); + for (let skillset of listOfSkillsets) { + console.log(`Name: ${skillset.name}`); + console.log(`Description: ${skillset.description}`); + console.log(`Skills`); + console.log(`******`); + for (let skill of skillset.skills) { + console.log(`ODataType: ${skill.odatatype}`); + console.log(`Inputs`); + for (let input of skill.inputs) { + console.log(`\tName: ${input.name}`); + console.log(`\tSource: ${input.source}`); + } + console.log(`Outputs`); + for (let output of skill.outputs) { + console.log(`\tName: ${output.name}`); + console.log(`\tTarget Name: ${output.targetName}`); + } + } + } +} + +async function deleteSkillset(skillsetName, client) { + console.log(`Deleting Skillset Operation`); + await client.deleteSkillset(skillsetName); +} + +async function main() { + console.log(`Running Skillset Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createSkillset(skillsetName, client); + await getAndUpdateSkillset(skillsetName, client); + await listSkillsets(client); + } finally { + await deleteSkillset(skillsetName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/javascript/synonymMapOperations.js b/sdk/search/search-documents/samples/v11/javascript/synonymMapOperations.js new file mode 100644 index 000000000000..461dfe2bc434 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/javascript/synonymMapOperations.js @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SynonymMap Operations. + */ + +const { SearchIndexClient, AzureKeyCredential } = require("@azure/search-documents"); +const dotenv = require("dotenv"); +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const synonymMapName = "example-synonymmap-sample-1"; + +async function createSynonymMap(synonymMapName, client) { + console.log(`Creating SynonymMap Operation`); + const sm = { + name: synonymMapName, + synonyms: ["United States, United States of America => USA", "Washington, Wash. => WA"] + }; + await client.createSynonymMap(sm); +} + +async function getAndUpdateSynonymMap(synonymMapName, client) { + console.log(`Get And Update SynonymMap Operation`); + const sm = await client.getSynonymMap(synonymMapName); + console.log(`Update synonyms Synonym Map my-synonymmap`); + sm.synonyms.push("Florida, Fld. => FL"); + await client.createOrUpdateSynonymMap(sm); +} + +async function listSynonymMaps(client) { + console.log(`List SynonymMaps Operation`); + const listOfSynonymMaps = await client.listSynonymMaps(); + + console.log(`List of SynonymMaps`); + console.log(`*******************`); + for (let sm of listOfSynonymMaps) { + console.log(`Name: ${sm.name}`); + console.log(`Synonyms`); + for (let synonym of sm.synonyms) { + console.log(synonym); + } + } +} + +async function deleteSynonymMap(synonymMapName, client) { + console.log(`Deleting SynonymMap Operation`); + await client.deleteSynonymMap(synonymMapName); +} + +async function main() { + console.log(`Running Index Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createSynonymMap(synonymMapName, client); + await getAndUpdateSynonymMap(synonymMapName, client); + await listSynonymMaps(client); + } finally { + await deleteSynonymMap(synonymMapName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/typescript/README.md b/sdk/search/search-documents/samples/v11/typescript/README.md new file mode 100644 index 000000000000..3bbd24fcda64 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/README.md @@ -0,0 +1,95 @@ +--- +page_type: sample +languages: + - typescript +products: + - azure + - azure-cognitive-search + - azure-search +urlFragment: search-documents-typescript +--- + +# Azure Search Documents client library samples for TypeScript + +These sample programs show how to use the TypeScript client libraries for Azure Search Documents in some common scenarios. + +| **File Name** | **Description** | +| ------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| [bufferedSenderAutoFlushSize.ts][bufferedsenderautoflushsize] | Demonstrates the SearchIndexingBufferedSender with Autoflush based on size. | +| [bufferedSenderAutoFlushTimer.ts][bufferedsenderautoflushtimer] | Demonstrates the SearchIndexingBufferedSender with Autoflush based on timer. | +| [bufferedSenderManualFlush.ts][bufferedsendermanualflush] | Demonstrates the SearchIndexingBufferedSender with Manual Flush. | +| [dataSourceConnectionOperations.ts][datasourceconnectionoperations] | Demonstrates the DataSource Connection Operations. | +| [indexOperations.ts][indexoperations] | Demonstrates the Index Operations. | +| [indexerOperations.ts][indexeroperations] | Demonstrates the Indexer Operations. | +| [interfaces.ts][interfaces] | Defines the Hotel Interface. | +| [setup.ts][setup] | Defines the utility methods. | +| [skillSetOperations.ts][skillsetoperations] | Demonstrates the Skillset Operations. | +| [synonymMapOperations.ts][synonymmapoperations] | Demonstrates the SynonymMap Operations. | + +## 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] and the following Azure resources to run these sample programs: + +- [Azure Search Documents instance][createinstance_azuresearchdocumentsinstance] + +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/bufferedSenderAutoFlushSize.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 ENDPOINT="" SEARCH_API_ADMIN_KEY="" node dist/bufferedSenderAutoFlushSize.js +``` + +## Next Steps + +Take a look at our [API Documentation][apiref] for more information about the APIs that are available in the clients. + +[bufferedsenderautoflushsize]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushSize.ts +[bufferedsenderautoflushtimer]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushTimer.ts +[bufferedsendermanualflush]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderManualFlush.ts +[datasourceconnectionoperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/dataSourceConnectionOperations.ts +[indexoperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/indexOperations.ts +[indexeroperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/indexerOperations.ts +[interfaces]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/interfaces.ts +[setup]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/setup.ts +[skillsetoperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/skillSetOperations.ts +[synonymmapoperations]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/samples/v11/typescript/src/synonymMapOperations.ts +[apiref]: https://docs.microsoft.com/javascript/api/@azure/search-documents +[freesub]: https://azure.microsoft.com/free/ +[createinstance_azuresearchdocumentsinstance]: https://docs.microsoft.com/azure/search/search-create-service-portal +[package]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/README.md +[typescript]: https://www.typescriptlang.org/docs/home.html diff --git a/sdk/search/search-documents/samples/typescript/package.json b/sdk/search/search-documents/samples/v11/typescript/package.json similarity index 51% rename from sdk/search/search-documents/samples/typescript/package.json rename to sdk/search/search-documents/samples/v11/typescript/package.json index 114748f2dbe1..051120eea061 100644 --- a/sdk/search/search-documents/samples/typescript/package.json +++ b/sdk/search/search-documents/samples/v11/typescript/package.json @@ -1,9 +1,9 @@ { - "name": "azure-search-samples-ts", + "name": "azure-search-documents-samples-ts", "private": true, - "version": "0.1.0", - "description": "Azure Cognitive Search client library samples for TypeScript", - "engine": { + "version": "1.0.0", + "description": "Azure Search Documents client library samples for TypeScript", + "engines": { "node": ">=12.0.0" }, "scripts": { @@ -12,13 +12,12 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/Azure/azure-sdk-for-js.git" + "url": "git+https://github.com/Azure/azure-sdk-for-js.git", + "directory": "sdk/search/search-documents" }, "keywords": [ - "Azure", - "Search", - "Node.js", - "TypeScript" + "azure", + "cloud" ], "author": "Microsoft Corporation", "license": "MIT", @@ -26,15 +25,13 @@ "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents", - "sideEffects": false, "dependencies": { - "@azure/search-documents": "latest", - "@azure/identity": "latest", - "dotenv": "^8.2.0" + "@azure/search-documents": "next", + "dotenv": "latest", + "@azure/core-http": "^2.0.0" }, "devDependencies": { - "@types/node": "^12.0.0", - "rimraf": "^3.0.0", - "typescript": "~3.7.5" + "typescript": "~4.2.0", + "rimraf": "latest" } } diff --git a/sdk/search/search-documents/samples/v11/typescript/sample.env b/sdk/search/search-documents/samples/v11/typescript/sample.env new file mode 100644 index 000000000000..29e6a56a9e6b --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/sample.env @@ -0,0 +1,12 @@ +# The primary key of your Azure Search account. +SEARCH_API_ADMIN_KEY= + +# (optional) The secondary key of your Azure Search account. +SEARCH_API_ADMIN_KEY_ALT= + +# The endpoint of your Azure Search account. +ENDPOINT= + +# Our tests assume that TEST_MODE is "playback" by default. You can +# change it to "record" to generate new recordings, or "live" to bypass the recorder entirely. +# TEST_MODE=playback diff --git a/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushSize.ts b/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushSize.ts new file mode 100644 index 000000000000..8363c1c1d994 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushSize.ts @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Autoflush based on size. + */ + +import { + SearchIndexingBufferedSender, + AzureKeyCredential, + SearchClient, + GeographyPoint, + SearchIndexClient +} from "@azure/search-documents"; +import { createIndex, documentKeyRetriever, WAIT_TIME } from "./setup"; +import { Hotel } from "./interfaces"; +import { delay } from "@azure/core-http"; +import * as dotenv from "dotenv"; +dotenv.config(); + +/** + * This sample is to demonstrate the use of SearchIndexingBufferedSender. + * In this sample, the autoFlush is set to true. i.e. the user does not + * want to call the flush manually. The upload action happen automatically + * when the size of the batch is greater than threshold (which is set to 1000) + * by default. + */ +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-4"; + +function getDocumentsArray(size: number): Hotel[] { + const array: Hotel[] = []; + for (let i = 1; i <= size; i++) { + array.push({ + hotelId: `${i}`, + description: + "Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, " + + "and a really helpful concierge. The location is perfect -- right downtown, close to all " + + "the tourist attractions. We highly recommend this hotel.", + descriptionFr: + "Meilleur hôtel en ville si vous aimez les hôtels de luxe. Ils ont une magnifique piscine " + + "à débordement, un spa et un concierge très utile. L'emplacement est parfait – en plein " + + "centre, à proximité de toutes les attractions touristiques. Nous recommandons fortement " + + "cet hôtel.", + hotelName: "Fancy Stay", + category: "Luxury", + tags: ["pool", "view", "wifi", "concierge"], + parkingIncluded: false, + lastRenovationDate: new Date(2010, 5, 27), + rating: 5, + location: new GeographyPoint({ + longitude: -122.131577, + latitude: 47.678581 + }) + }); + } + return array; +} + +async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-With Auto Flush Sizes Sample`); + + const credential = new AzureKeyCredential(apiKey); + const searchClient: SearchClient = new SearchClient( + endpoint, + TEST_INDEX_NAME, + credential + ); + const indexClient: SearchIndexClient = new SearchIndexClient(endpoint, credential); + + await createIndex(indexClient, TEST_INDEX_NAME); + await delay(WAIT_TIME); + + const bufferedClient = new SearchIndexingBufferedSender( + searchClient, + documentKeyRetriever, + { + autoFlush: true + } + ); + + bufferedClient.on("batchAdded", (response: any) => { + console.log(`Batch Added Event has been receieved: ${response}`); + }); + + bufferedClient.on("beforeDocumentSent", (response: any) => { + console.log(`Before Document Sent Event has been receieved: ${response}`); + }); + + bufferedClient.on("batchSucceeded", (response: any) => { + console.log("Batch Succeeded Event has been receieved...."); + console.log(response); + }); + + bufferedClient.on("batchFailed", (response: any) => { + console.log("Batch Failed Event has been receieved...."); + console.log(response); + }); + + const documents: Hotel[] = getDocumentsArray(1001); + bufferedClient.uploadDocuments(documents); + + await WAIT_TIME; + + let count = await searchClient.getDocumentsCount(); + while (count !== documents.length) { + await delay(WAIT_TIME); + count = await searchClient.getDocumentsCount(); + } + + // When the autoFlush is set to true, the user + // has to call the dispose method to clear the + // timer. + bufferedClient.dispose(); + await indexClient.deleteIndex(TEST_INDEX_NAME); + await delay(WAIT_TIME); +} + +main(); diff --git a/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushTimer.ts b/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushTimer.ts new file mode 100644 index 000000000000..4317f76ef564 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderAutoFlushTimer.ts @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Autoflush based on timer. + */ + +import { + SearchIndexingBufferedSender, + AzureKeyCredential, + SearchClient, + GeographyPoint, + SearchIndexClient, + DEFAULT_FLUSH_WINDOW +} from "@azure/search-documents"; +import { createIndex, documentKeyRetriever, WAIT_TIME } from "./setup"; +import { Hotel } from "./interfaces"; +import { delay } from "@azure/core-http"; +import * as dotenv from "dotenv"; +dotenv.config(); + +/** + * This sample is to demonstrate the use of SearchIndexingBufferedSender. + * In this sample, the autoFlush is set to true. i.e. the user does not + * want to call the flush manually. The upload action happen automatically + * when the time interval is met. The time interval is set to 60000ms + * by default. + */ +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-5"; + +export async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-With Auto Flush Timer Sample`); + + const credential = new AzureKeyCredential(apiKey); + const searchClient: SearchClient = new SearchClient( + endpoint, + TEST_INDEX_NAME, + credential + ); + const indexClient: SearchIndexClient = new SearchIndexClient(endpoint, credential); + + await createIndex(indexClient, TEST_INDEX_NAME); + await delay(WAIT_TIME); + + const bufferedClient: SearchIndexingBufferedSender = new SearchIndexingBufferedSender( + searchClient, + documentKeyRetriever, + { + autoFlush: true + } + ); + + bufferedClient.on("batchAdded", (response: any) => { + console.log(`Batch Added Event has been receieved: ${response}`); + }); + + bufferedClient.on("beforeDocumentSent", (response: any) => { + console.log(`Before Document Sent Event has been receieved: ${response}`); + }); + + bufferedClient.on("batchSucceeded", (response: any) => { + console.log("Batch Succeeded Event has been receieved...."); + console.log(response); + }); + + bufferedClient.on("batchFailed", (response: any) => { + console.log("Batch Failed Event has been receieved...."); + console.log(response); + }); + + bufferedClient.uploadDocuments([ + { + hotelId: "1", + description: + "Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, " + + "and a really helpful concierge. The location is perfect -- right downtown, close to all " + + "the tourist attractions. We highly recommend this hotel.", + descriptionFr: + "Meilleur hôtel en ville si vous aimez les hôtels de luxe. Ils ont une magnifique piscine " + + "à débordement, un spa et un concierge très utile. L'emplacement est parfait – en plein " + + "centre, à proximité de toutes les attractions touristiques. Nous recommandons fortement " + + "cet hôtel.", + hotelName: "Fancy Stay", + category: "Luxury", + tags: ["pool", "view", "wifi", "concierge"], + parkingIncluded: false, + lastRenovationDate: new Date(2010, 5, 27), + rating: 5, + location: new GeographyPoint({ + longitude: -122.131577, + latitude: 47.678581 + }) + } + ]); + + const wait_time = DEFAULT_FLUSH_WINDOW + 5000; + console.log(`Waiting for ${wait_time} ms to meet the flush window interval....`); + await delay(wait_time); + + // When the autoFlush is set to true, the user + // has to call the dispose method to clear the + // timer. + bufferedClient.dispose(); + await indexClient.deleteIndex(TEST_INDEX_NAME); + await delay(WAIT_TIME); +} + +main(); diff --git a/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderManualFlush.ts b/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderManualFlush.ts new file mode 100644 index 000000000000..995e45b236ef --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/bufferedSenderManualFlush.ts @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SearchIndexingBufferedSender with Manual Flush. + */ + +import { + SearchIndexingBufferedSender, + AzureKeyCredential, + SearchClient, + GeographyPoint, + SearchIndexClient +} from "@azure/search-documents"; +import { createIndex, documentKeyRetriever, WAIT_TIME } from "./setup"; +import { Hotel } from "./interfaces"; +import { delay } from "@azure/core-http"; +import * as dotenv from "dotenv"; +dotenv.config(); + +/** + * This sample is to demonstrate the use of SearchIndexingBufferedSender. + * In this sample, the autoFlush is set to false. i.e. the user + * wants to call the flush manually. + */ +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const TEST_INDEX_NAME = "example-index-sample-6"; + +export async function main() { + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + + console.log(`Running SearchIndexingBufferedSender-uploadDocuments-Without AutoFlush Sample`); + + const credential = new AzureKeyCredential(apiKey); + const searchClient: SearchClient = new SearchClient( + endpoint, + TEST_INDEX_NAME, + credential + ); + const indexClient: SearchIndexClient = new SearchIndexClient(endpoint, credential); + + await createIndex(indexClient, TEST_INDEX_NAME); + await delay(WAIT_TIME); + + const bufferedClient: SearchIndexingBufferedSender = new SearchIndexingBufferedSender( + searchClient, + documentKeyRetriever, + { + autoFlush: false + } + ); + + bufferedClient.on("batchAdded", (response: any) => { + console.log(`Batch Added Event has been receieved: ${response}`); + }); + + bufferedClient.on("beforeDocumentSent", (response: any) => { + console.log(`Before Document Sent Event has been receieved: ${response}`); + }); + + bufferedClient.on("batchSucceeded", (response: any) => { + console.log("Batch Succeeded Event has been receieved...."); + console.log(response); + }); + + bufferedClient.on("batchFailed", (response: any) => { + console.log("Batch Failed Event has been receieved...."); + console.log(response); + }); + + bufferedClient.uploadDocuments([ + { + hotelId: "1", + description: + "Best hotel in town if you like luxury hotels. They have an amazing infinity pool, a spa, " + + "and a really helpful concierge. The location is perfect -- right downtown, close to all " + + "the tourist attractions. We highly recommend this hotel.", + descriptionFr: + "Meilleur hôtel en ville si vous aimez les hôtels de luxe. Ils ont une magnifique piscine " + + "à débordement, un spa et un concierge très utile. L'emplacement est parfait – en plein " + + "centre, à proximité de toutes les attractions touristiques. Nous recommandons fortement " + + "cet hôtel.", + hotelName: "Fancy Stay", + category: "Luxury", + tags: ["pool", "view", "wifi", "concierge"], + parkingIncluded: false, + lastRenovationDate: new Date(2010, 5, 27), + rating: 5, + location: new GeographyPoint({ + longitude: -122.131577, + latitude: 47.678581 + }) + } + ]); + + await bufferedClient.flush(); + bufferedClient.dispose(); + await indexClient.deleteIndex(TEST_INDEX_NAME); + await delay(WAIT_TIME); +} + +main(); diff --git a/sdk/search/search-documents/samples/v11/typescript/src/dataSourceConnectionOperations.ts b/sdk/search/search-documents/samples/v11/typescript/src/dataSourceConnectionOperations.ts new file mode 100644 index 000000000000..20724b110293 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/dataSourceConnectionOperations.ts @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the DataSource Connection Operations. + */ + +import { + SearchIndexerClient, + AzureKeyCredential, + SearchIndexerDataSourceConnection +} from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const connectionString = process.env.CONNECTION_STRING || ""; +const dataSourceConnectionName = "example-ds-connection-sample-1"; + +async function createDataSourceConnection( + dataSourceConnectionName: string, + client: SearchIndexerClient +) { + console.log(`Creating DS Connection Operation`); + const dataSourceConnection: SearchIndexerDataSourceConnection = { + name: dataSourceConnectionName, + description: "My Data Source 1", + type: "cosmosdb", + container: { + name: "my-container-1" + }, + connectionString + }; + await client.createDataSourceConnection(dataSourceConnection); +} + +async function getAndUpdateDataSourceConnection( + dataSourceConnectionName: string, + client: SearchIndexerClient +) { + console.log(`Get And Update DS Connection Operation`); + const ds: SearchIndexerDataSourceConnection = await client.getDataSourceConnection( + dataSourceConnectionName + ); + ds.container.name = "Listings_5K_KingCounty_WA"; + console.log(`Updating Container Name of Datasource Connection ${dataSourceConnectionName}`); + await client.createOrUpdateDataSourceConnection(ds); +} + +async function listDataSourceConnections(client: SearchIndexerClient) { + console.log(`List DS Connection Operation`); + const listOfDataSourceConnections: Array = await client.listDataSourceConnections(); + + console.log(`List of Data Source Connections`); + console.log(`*******************************`); + for (let ds of listOfDataSourceConnections) { + console.log(`Name: ${ds.name}`); + console.log(`Description: ${ds.description}`); + console.log(`Connection String: ${ds.connectionString}`); + console.log(`Data Change Detection Policy: ${ds.dataChangeDetectionPolicy}`); + console.log(`Data Deletion Detection Policy: ${ds.dataDeletionDetectionPolicy}`); + console.log(`Etag: ${ds.etag}`); + console.log(`DataContainer`); + console.log(`\tName: ${ds.container.name}`); + console.log(`\tQuery: ${ds.container.query}`); + console.log(); + } +} + +async function deleteDataSourceConnection( + dataSourceConnectionName: string, + client: SearchIndexerClient +) { + console.log(`Deleting DS Connection Operation`); + await client.deleteDataSourceConnection(dataSourceConnectionName); +} + +async function main() { + console.log(`Running DS Connection Operations Sample....`); + if (!endpoint || !apiKey || !connectionString) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createDataSourceConnection(dataSourceConnectionName, client); + await getAndUpdateDataSourceConnection(dataSourceConnectionName, client); + await listDataSourceConnections(client); + } finally { + await deleteDataSourceConnection(dataSourceConnectionName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/typescript/src/indexOperations.ts b/sdk/search/search-documents/samples/v11/typescript/src/indexOperations.ts new file mode 100644 index 000000000000..89aec8a8ef65 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/indexOperations.ts @@ -0,0 +1,158 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Index Operations. + */ + +import { + SearchIndexClient, + AzureKeyCredential, + SearchIndex, + SearchIndexStatistics +} from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const indexName = "example-index-sample-1"; + +async function createIndex(indexName: string, client: SearchIndexClient) { + console.log(`Creating Index Operation`); + const index: SearchIndex = { + name: indexName, + fields: [ + { + type: "Edm.String", + name: "id", + key: true + }, + { + type: "Edm.Double", + name: "awesomenessLevel", + sortable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.String", + name: "description", + searchable: true + }, + { + type: "Edm.ComplexType", + name: "details", + fields: [ + { + type: "Collection(Edm.String)", + name: "tags", + searchable: true + } + ] + }, + { + type: "Edm.Int32", + name: "hiddenWeight", + hidden: true + } + ] + }; + await client.createIndex(index); +} + +async function getAndUpdateIndex(indexName: string, client: SearchIndexClient) { + console.log(`Get And Update Index Operation`); + const index: SearchIndex = await client.getIndex(indexName); + index.fields.push({ + type: "Edm.DateTimeOffset", + name: "lastUpdatedOn", + filterable: true + }); + await client.createOrUpdateIndex(index); +} + +async function getIndexStatistics(indexName: string, client: SearchIndexClient) { + console.log(`Get Index Statistics Operation`); + const statistics: SearchIndexStatistics = await client.getIndexStatistics(indexName); + console.log(`Document Count: ${statistics.documentCount}`); + console.log(`Storage Size: ${statistics.storageSize}`); +} + +async function getServiceStatistics(client: SearchIndexClient) { + console.log(`Get Service Statistics Operation`); + const { counters, limits } = await client.getServiceStatistics(); + console.log(`Counters`); + console.log(`========`); + console.log(`\tDocument Counter`); + console.log(`\t\tUsage: ${counters.documentCounter.usage}`); + console.log(`\t\tQuota: ${counters.documentCounter.quota}`); + console.log(`\tIndex Counter`); + console.log(`\t\tUsage: ${counters.indexCounter.usage}`); + console.log(`\t\tQuota: ${counters.indexCounter.quota}`); + console.log(`\tIndexer Counter`); + console.log(`\t\tUsage: ${counters.indexerCounter.usage}`); + console.log(`\t\tQuota: ${counters.indexerCounter.quota}`); + console.log(`\tData Source Counter`); + console.log(`\t\tUsage: ${counters.dataSourceCounter.usage}`); + console.log(`\t\tQuota: ${counters.dataSourceCounter.quota}`); + console.log(`\tStorage Size Counter`); + console.log(`\t\tUsage: ${counters.storageSizeCounter.usage}`); + console.log(`\t\tQuota: ${counters.storageSizeCounter.quota}`); + console.log(`\tSynonym Map Counter`); + console.log(`\t\tUsage: ${counters.synonymMapCounter.usage}`); + console.log(`\t\tQuota: ${counters.synonymMapCounter.quota}`); + console.log(); + console.log(`Limits`); + console.log(`======`); + console.log(`\tMax Fields Per Index: ${limits.maxFieldsPerIndex}`); + console.log(`\tMax Field Nesting Depth Per Index: ${limits.maxFieldNestingDepthPerIndex}`); + console.log( + `\tMax Complex Collection Fields Per Index: ${limits.maxComplexCollectionFieldsPerIndex}` + ); + console.log( + `\tMax Complex Objects In Collections Per Document: ${limits.maxComplexObjectsInCollectionsPerDocument}` + ); +} + +async function listIndexes(client: SearchIndexClient) { + console.log(`List Indexes Operation`); + const result = await client.listIndexes(); + let listOfIndexes = await result.next(); + + console.log(`List of Indexes`); + console.log(`***************`); + while (!listOfIndexes.done) { + console.log(`Name: ${listOfIndexes.value.name}`); + console.log(`Similarity Algorithm: ${listOfIndexes.value.similarity?.odatatype}`); + console.log(); + listOfIndexes = await result.next(); + } +} + +async function deleteIndex(indexName: string, client: SearchIndexClient) { + console.log(`Deleting Index Operation`); + await client.deleteIndex(indexName); +} + +async function main() { + console.log(`Running Index Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createIndex(indexName, client); + await getAndUpdateIndex(indexName, client); + await getIndexStatistics(indexName, client); + await getServiceStatistics(client); + await listIndexes(client); + } finally { + await deleteIndex(indexName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/typescript/src/indexerOperations.ts b/sdk/search/search-documents/samples/v11/typescript/src/indexerOperations.ts new file mode 100644 index 000000000000..f1530883c886 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/indexerOperations.ts @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Indexer Operations. + */ + +import { + SearchIndexerClient, + AzureKeyCredential, + SearchIndexer, + SearchIndexerStatus +} from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const dataSourceName = process.env.DATA_SOURCE_NAME || ""; +const targetIndexName = process.env.TARGET_INDEX_NAME || ""; + +const indexerName = "example-indexer-sample-1"; + +async function createIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Creating Indexer Operation`); + const indexer: SearchIndexer = { + name: indexerName, + description: "Description for Sample Indexer", + dataSourceName, + targetIndexName, + isDisabled: false + }; + await client.createIndexer(indexer); +} + +async function getAndUpdateIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Get And Update Indexer Operation`); + const indexer: SearchIndexer = await client.getIndexer(indexerName); + indexer.isDisabled = true; + await client.createOrUpdateIndexer(indexer); + indexer.isDisabled = false; + await client.createOrUpdateIndexer(indexer); +} + +async function getIndexerStatus(indexerName: string, client: SearchIndexerClient) { + console.log(`Get Indexer Status Operation`); + const indexerStatus: SearchIndexerStatus = await client.getIndexerStatus(indexerName); + console.log(`Status: ${indexerStatus.status}`); + console.log(`Limits`); + console.log(`******`); + console.log( + `MaxDocumentContentCharactersToExtract: ${indexerStatus.limits.maxDocumentContentCharactersToExtract}` + ); + console.log(`MaxDocumentExtractionSize: ${indexerStatus.limits.maxDocumentExtractionSize}`); + console.log(`MaxRunTime: ${indexerStatus.limits.maxRunTime}`); +} + +async function listIndexers(client: SearchIndexerClient) { + console.log(`List Indexers Operation`); + const listOfIndexers: Array = await client.listIndexers(); + + console.log(`\tList of Indexers`); + console.log(`\t****************`); + for (let indexer of listOfIndexers) { + console.log(`Name: ${indexer.name}`); + console.log(`Description: ${indexer.description}`); + console.log(`Data Source Name: ${indexer.dataSourceName}`); + console.log(`Skillset Name: ${indexer.skillsetName}`); + console.log(`Target Index Name: ${indexer.targetIndexName}`); + console.log(`Indexing Schedule`); + console.log(`\tInterval: ${indexer.schedule?.interval}`); + console.log(`\tStart Time: ${indexer.schedule?.startTime}`); + console.log(`Is Disabled: ${indexer.isDisabled}`); + console.log(`ETag: ${indexer.etag}`); + console.log(`Parameters`); + console.log(`\tBatch Size: ${indexer.parameters?.batchSize}`); + console.log(`\tMax Failed Items: ${indexer.parameters?.maxFailedItems}`); + console.log(`\tMax Failed Items Per Batch: ${indexer.parameters?.maxFailedItemsPerBatch}`); + console.log(); + } +} + +async function resetIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Reset Indexer Operation`); + await client.resetIndexer(indexerName); +} + +async function deleteIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Deleting Indexer Operation`); + await client.deleteIndexer(indexerName); +} + +async function runIndexer(indexerName: string, client: SearchIndexerClient) { + console.log(`Run Indexer Operation`); + await client.runIndexer(indexerName); +} + +async function main() { + console.log(`Running Indexer Operations Sample....`); + if (!endpoint || !apiKey || !dataSourceName || !targetIndexName) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createIndexer(indexerName, client); + await getAndUpdateIndexer(indexerName, client); + await getIndexerStatus(indexerName, client); + await listIndexers(client); + await resetIndexer(indexerName, client); + await runIndexer(indexerName, client); + } finally { + await deleteIndexer(indexerName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/typescript/src/interfaces.ts b/sdk/search/search-documents/samples/v11/typescript/src/interfaces.ts new file mode 100644 index 000000000000..1230fa50a70c --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/interfaces.ts @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Defines the Hotel Interface. + */ + +import { GeographyPoint } from "@azure/search-documents"; + +export interface Hotel { + hotelId: string; + hotelName?: string | null; + description?: string | null; + descriptionFr?: string | null; + category?: string | null; + tags?: string[] | null; + parkingIncluded?: boolean | null; + smokingAllowed?: boolean | null; + lastRenovationDate?: Date | null; + rating?: number | null; + location?: GeographyPoint | null; + address?: { + streetAddress?: string | null; + city?: string | null; + stateProvince?: string | null; + postalCode?: string | null; + country?: string | null; + } | null; + rooms?: Array<{ + description?: string | null; + descriptionFr?: string | null; + type?: string | null; + baseRate?: number | null; + bedOptions?: string | null; + sleepsCount?: number | null; + smokingAllowed?: boolean | null; + tags?: string[] | null; + }> | null; +} diff --git a/sdk/search/search-documents/samples/v11/typescript/src/setup.ts b/sdk/search/search-documents/samples/v11/typescript/src/setup.ts new file mode 100644 index 000000000000..d5478f2d9863 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/setup.ts @@ -0,0 +1,228 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Defines the utility methods. + */ + +import { SearchIndexClient, SearchIndex, KnownAnalyzerNames } from "@azure/search-documents"; +import { Hotel } from "./interfaces"; + +export const WAIT_TIME = 4000; + +export const documentKeyRetriever: (document: Hotel) => string = (document: Hotel): string => { + return document.hotelId; +}; + +// eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters +export async function createIndex(client: SearchIndexClient, name: string): Promise { + const hotelIndex: SearchIndex = { + name, + fields: [ + { + type: "Edm.String", + name: "hotelId", + key: true, + filterable: true, + sortable: true + }, + { + type: "Edm.String", + name: "hotelName", + searchable: true, + filterable: true, + sortable: true + }, + { + type: "Edm.String", + name: "description", + searchable: true, + analyzerName: KnownAnalyzerNames.EnLucene + }, + { + type: "Edm.String", + name: "descriptionFr", + searchable: true, + analyzerName: KnownAnalyzerNames.FrLucene + }, + { + type: "Edm.String", + name: "category", + searchable: true, + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Collection(Edm.String)", + name: "tags", + searchable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.Boolean", + name: "parkingIncluded", + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.Boolean", + name: "smokingAllowed", + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.DateTimeOffset", + name: "lastRenovationDate", + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.Double", + name: "rating", + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.GeographyPoint", + name: "location", + filterable: true, + sortable: true + }, + { + type: "Edm.ComplexType", + name: "address", + fields: [ + { + type: "Edm.String", + name: "streetAddress", + searchable: true + }, + { + type: "Edm.String", + name: "city", + searchable: true, + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.String", + name: "stateProvince", + searchable: true, + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.String", + name: "country", + searchable: true, + filterable: true, + sortable: true, + facetable: true + }, + { + type: "Edm.String", + name: "postalCode", + searchable: true, + filterable: true, + sortable: true, + facetable: true + } + ] + }, + { + type: "Collection(Edm.ComplexType)", + name: "rooms", + fields: [ + { + type: "Edm.String", + name: "description", + searchable: true, + analyzerName: KnownAnalyzerNames.EnLucene + }, + { + type: "Edm.String", + name: "descriptionFr", + searchable: true, + analyzerName: KnownAnalyzerNames.FrLucene + }, + { + type: "Edm.String", + name: "type", + searchable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.Double", + name: "baseRate", + filterable: true, + facetable: true + }, + { + type: "Edm.String", + name: "bedOptions", + searchable: true, + filterable: true, + facetable: true + }, + { + type: "Edm.Int32", + name: "sleepsCount", + filterable: true, + facetable: true + }, + { + type: "Edm.Boolean", + name: "smokingAllowed", + filterable: true, + facetable: true + }, + { + type: "Collection(Edm.String)", + name: "tags", + searchable: true, + filterable: true, + facetable: true + } + ] + } + ], + suggesters: [ + { + name: "sg", + sourceFields: ["description", "hotelName"], + searchMode: "analyzingInfixMatching" + } + ], + scoringProfiles: [ + { + name: "nearest", + functionAggregation: "sum", + functions: [ + { + type: "distance", + fieldName: "location", + boost: 2, + parameters: { + referencePointParameter: "myloc", + boostingDistance: 100 + } + } + ] + } + ], + corsOptions: { + // for browser tests + allowedOrigins: ["*"] + } + }; + await client.createIndex(hotelIndex); +} diff --git a/sdk/search/search-documents/samples/v11/typescript/src/skillSetOperations.ts b/sdk/search/search-documents/samples/v11/typescript/src/skillSetOperations.ts new file mode 100644 index 000000000000..8bf587fde6ec --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/skillSetOperations.ts @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the Skillset Operations. + */ + +import { + SearchIndexerClient, + AzureKeyCredential, + SearchIndexerSkillset +} from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; + +const skillsetName = "example-skillset-sample-1"; + +async function createSkillset(skillsetName: string, client: SearchIndexerClient) { + console.log(`Creating Skillset Operation`); + const skillset: SearchIndexerSkillset = { + name: skillsetName, + description: `Skillset description`, + skills: [ + { + odatatype: "#Microsoft.Skills.Text.EntityRecognitionSkill", + inputs: [ + { + name: "text", + source: "/document/merged_content" + }, + { + name: "languageCode", + source: "/document/language" + } + ], + outputs: [ + { + name: "persons", + targetName: "people" + }, + { + name: "organizations", + targetName: "organizations" + }, + { + name: "locations", + targetName: "locations" + } + ] + } + ] + }; + await client.createSkillset(skillset); +} + +async function getAndUpdateSkillset(skillsetName: string, client: SearchIndexerClient) { + console.log(`Get And Update Skillset Operation`); + const skillset: SearchIndexerSkillset = await client.getSkillset(skillsetName); + + skillset.skills[0].outputs = [ + { + name: "persons", + targetName: "people" + }, + { + name: "organizations", + targetName: "organizations" + } + ]; + + await client.createOrUpdateSkillset(skillset); +} + +async function listSkillsets(client: SearchIndexerClient) { + console.log(`List Skillset Operation`); + const listOfSkillsets: Array = await client.listSkillsets(); + + console.log(`\tList of Skillsets`); + console.log(`\t******************`); + for (let skillset of listOfSkillsets) { + console.log(`Name: ${skillset.name}`); + console.log(`Description: ${skillset.description}`); + console.log(`Skills`); + console.log(`******`); + for (let skill of skillset.skills) { + console.log(`ODataType: ${skill.odatatype}`); + console.log(`Inputs`); + for (let input of skill.inputs) { + console.log(`\tName: ${input.name}`); + console.log(`\tSource: ${input.source}`); + } + console.log(`Outputs`); + for (let output of skill.outputs) { + console.log(`\tName: ${output.name}`); + console.log(`\tTarget Name: ${output.targetName}`); + } + } + } +} + +async function deleteSkillset(skillsetName: string, client: SearchIndexerClient) { + console.log(`Deleting Skillset Operation`); + await client.deleteSkillset(skillsetName); +} + +async function main() { + console.log(`Running Skillset Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexerClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createSkillset(skillsetName, client); + await getAndUpdateSkillset(skillsetName, client); + await listSkillsets(client); + } finally { + await deleteSkillset(skillsetName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/typescript/src/synonymMapOperations.ts b/sdk/search/search-documents/samples/v11/typescript/src/synonymMapOperations.ts new file mode 100644 index 000000000000..bc3dcac96818 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/typescript/src/synonymMapOperations.ts @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * @summary Demonstrates the SynonymMap Operations. + */ + +import { SearchIndexClient, AzureKeyCredential, SynonymMap } from "@azure/search-documents"; +import * as dotenv from "dotenv"; +dotenv.config(); + +const endpoint = process.env.ENDPOINT || ""; +const apiKey = process.env.SEARCH_API_ADMIN_KEY || ""; +const synonymMapName = "example-synonymmap-sample-1"; + +async function createSynonymMap(synonymMapName: string, client: SearchIndexClient) { + console.log(`Creating SynonymMap Operation`); + const sm: SynonymMap = { + name: synonymMapName, + synonyms: ["United States, United States of America => USA", "Washington, Wash. => WA"] + }; + await client.createSynonymMap(sm); +} + +async function getAndUpdateSynonymMap(synonymMapName: string, client: SearchIndexClient) { + console.log(`Get And Update SynonymMap Operation`); + const sm: SynonymMap = await client.getSynonymMap(synonymMapName); + console.log(`Update synonyms Synonym Map my-synonymmap`); + sm.synonyms.push("Florida, Fld. => FL"); + await client.createOrUpdateSynonymMap(sm); +} + +async function listSynonymMaps(client: SearchIndexClient) { + console.log(`List SynonymMaps Operation`); + const listOfSynonymMaps: Array = await client.listSynonymMaps(); + + console.log(`List of SynonymMaps`); + console.log(`*******************`); + for (let sm of listOfSynonymMaps) { + console.log(`Name: ${sm.name}`); + console.log(`Synonyms`); + for (let synonym of sm.synonyms) { + console.log(synonym); + } + } +} + +async function deleteSynonymMap(synonymMapName: string, client: SearchIndexClient) { + console.log(`Deleting SynonymMap Operation`); + await client.deleteSynonymMap(synonymMapName); +} + +async function main() { + console.log(`Running Index Operations Sample....`); + if (!endpoint || !apiKey) { + console.log("Make sure to set valid values for endpoint and apiKey with proper authorization."); + return; + } + const client = new SearchIndexClient(endpoint, new AzureKeyCredential(apiKey)); + try { + await createSynonymMap(synonymMapName, client); + await getAndUpdateSynonymMap(synonymMapName, client); + await listSynonymMaps(client); + } finally { + await deleteSynonymMap(synonymMapName, client); + } +} + +main().catch((err) => { + console.error("The sample encountered an error:", err); +}); diff --git a/sdk/search/search-documents/samples/v11/typescript/tsconfig.json b/sdk/search/search-documents/samples/v11/typescript/tsconfig.json new file mode 100644 index 000000000000..416c2dd82e00 --- /dev/null +++ b/sdk/search/search-documents/samples/v11/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/search/search-documents/src/constants.ts b/sdk/search/search-documents/src/constants.ts index 011462b31a90..4ee901a6578c 100644 --- a/sdk/search/search-documents/src/constants.ts +++ b/sdk/search/search-documents/src/constants.ts @@ -1,4 +1,4 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "11.3.0-beta.2"; +export const SDK_VERSION: string = "11.3.0-beta.3"; diff --git a/sdk/search/search-documents/src/generated/data/searchClientContext.ts b/sdk/search/search-documents/src/generated/data/searchClientContext.ts index f8902bffabe4..43485b917628 100644 --- a/sdk/search/search-documents/src/generated/data/searchClientContext.ts +++ b/sdk/search/search-documents/src/generated/data/searchClientContext.ts @@ -13,7 +13,7 @@ import { } from "./models"; const packageName = "@azure/search-documents"; -const packageVersion = "11.3.0-beta.2"; +const packageVersion = "11.3.0-beta.3"; /** @internal */ export class SearchClientContext extends coreHttp.ServiceClient { diff --git a/sdk/search/search-documents/src/generated/service/models/index.ts b/sdk/search/search-documents/src/generated/service/models/index.ts index 39f9b8f29f9e..5daf26ef2c3d 100644 --- a/sdk/search/search-documents/src/generated/service/models/index.ts +++ b/sdk/search/search-documents/src/generated/service/models/index.ts @@ -870,13 +870,15 @@ export interface GetIndexStatisticsResult { export interface AnalyzeRequest { /** The text to break into tokens. */ text: string; - /** The name of the analyzer to use to break the given text. If this parameter is not specified, you must specify a tokenizer instead. The tokenizer and analyzer parameters are mutually exclusive. KnownAnalyzerNames is an enum containing known values. */ + /** The name of the analyzer to use to break the given text. KnownAnalyzerNames is an enum containing known values. */ analyzer?: string; - /** The name of the tokenizer to use to break the given text. If this parameter is not specified, you must specify an analyzer instead. The tokenizer and analyzer parameters are mutually exclusive. KnownTokenizerNames is an enum containing known values. */ + /** The name of the tokenizer to use to break the given text. KnownTokenizerNames is an enum containing known values. */ tokenizer?: string; - /** An optional list of token filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter. */ + /** The name of the normalizer to use to normalize the given text. */ + normalizer?: LexicalNormalizerName; + /** An optional list of token filters to use when breaking the given text. */ tokenFilters?: string[]; - /** An optional list of character filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter. */ + /** An optional list of character filters to use when breaking the given text. */ charFilters?: string[]; } diff --git a/sdk/search/search-documents/src/generated/service/models/mappers.ts b/sdk/search/search-documents/src/generated/service/models/mappers.ts index 9acfe25bf767..a75dbba40d0e 100644 --- a/sdk/search/search-documents/src/generated/service/models/mappers.ts +++ b/sdk/search/search-documents/src/generated/service/models/mappers.ts @@ -129,7 +129,7 @@ export const SearchIndexerDataIdentity: coreHttp.CompositeMapper = { uberParent: "SearchIndexerDataIdentity", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -150,7 +150,7 @@ export const DataChangeDetectionPolicy: coreHttp.CompositeMapper = { uberParent: "DataChangeDetectionPolicy", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -171,7 +171,7 @@ export const DataDeletionDetectionPolicy: coreHttp.CompositeMapper = { uberParent: "DataDeletionDetectionPolicy", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -1028,7 +1028,7 @@ export const SearchIndexerSkill: coreHttp.CompositeMapper = { uberParent: "SearchIndexerSkill", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -1155,7 +1155,7 @@ export const CognitiveServicesAccount: coreHttp.CompositeMapper = { uberParent: "CognitiveServicesAccount", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -1818,7 +1818,7 @@ export const LexicalAnalyzer: coreHttp.CompositeMapper = { uberParent: "LexicalAnalyzer", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -1846,7 +1846,7 @@ export const LexicalTokenizer: coreHttp.CompositeMapper = { uberParent: "LexicalTokenizer", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -1874,7 +1874,7 @@ export const TokenFilter: coreHttp.CompositeMapper = { uberParent: "TokenFilter", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -1902,7 +1902,7 @@ export const CharFilter: coreHttp.CompositeMapper = { uberParent: "CharFilter", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -1930,7 +1930,7 @@ export const LexicalNormalizer: coreHttp.CompositeMapper = { uberParent: "LexicalNormalizer", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -1958,7 +1958,7 @@ export const Similarity: coreHttp.CompositeMapper = { uberParent: "Similarity", polymorphicDiscriminator: { serializedName: "@odata\\.type", - clientName: "@odata\\.type" + clientName: "odatatype" }, modelProperties: { odatatype: { @@ -2044,6 +2044,12 @@ export const AnalyzeRequest: coreHttp.CompositeMapper = { name: "String" } }, + normalizer: { + serializedName: "normalizer", + type: { + name: "String" + } + }, tokenFilters: { serializedName: "tokenFilters", type: { diff --git a/sdk/search/search-documents/src/generated/service/searchServiceClientContext.ts b/sdk/search/search-documents/src/generated/service/searchServiceClientContext.ts index 3ea09863e734..3dbcf07a82ac 100644 --- a/sdk/search/search-documents/src/generated/service/searchServiceClientContext.ts +++ b/sdk/search/search-documents/src/generated/service/searchServiceClientContext.ts @@ -13,7 +13,7 @@ import { } from "./models"; const packageName = "@azure/search-documents"; -const packageVersion = "11.3.0-beta.2"; +const packageVersion = "11.3.0-beta.3"; /** @internal */ export class SearchServiceClientContext extends coreHttp.ServiceClient { diff --git a/sdk/search/search-documents/src/indexModels.ts b/sdk/search/search-documents/src/indexModels.ts index d0b64fbfa4bf..4754ec60490b 100644 --- a/sdk/search/search-documents/src/indexModels.ts +++ b/sdk/search/search-documents/src/indexModels.ts @@ -290,9 +290,13 @@ export interface SearchRequest { * Search request for the next page of results. */ top?: number; - /** A value that specifies whether captions should be returned as part of the search response. */ + /** + * A value that specifies whether captions should be returned as part of the search response. + */ captions?: Captions; - /** The comma-separated list of field names used for semantic search. */ + /** + * The comma-separated list of field names used for semantic search. + */ semanticFields?: string; } @@ -420,6 +424,17 @@ export interface SearchRequestOptions { * Search request for the next page of results. */ top?: number; + /** + * This parameter is only valid if the query type is 'semantic'. If set, the query returns captions + * extracted from key passages in the highest ranked documents. When Captions is set to 'extractive', + * highlighting is enabled by default, and can be configured by appending the pipe character '|' + * followed by the 'highlight-true'/'highlight-false' option, such as 'extractive|highlight-true'. Defaults to 'None'. + */ + captions?: Captions; + /** + * The list of field names used for semantic search. + */ + semanticFields?: string[]; } /** diff --git a/sdk/search/search-documents/src/searchClient.ts b/sdk/search/search-documents/src/searchClient.ts index 9efb7a2260e6..b4dc290e1842 100644 --- a/sdk/search/search-documents/src/searchClient.ts +++ b/sdk/search/search-documents/src/searchClient.ts @@ -243,9 +243,10 @@ export class SearchClient implements IndexDocumentsClient { nextPageParameters: SearchRequest = {} ): Promise>> { const { operationOptions, restOptions } = this.extractOperationOptions({ ...options }); - const { select, searchFields, orderBy, ...nonFieldOptions } = restOptions; + const { select, searchFields, orderBy, semanticFields, ...nonFieldOptions } = restOptions; const fullOptions: SearchRequest = { searchFields: this.convertSearchFields(searchFields), + semanticFields: this.convertSemanticFields(semanticFields), select: this.convertSelect(select), orderBy: this.convertOrderBy(orderBy), ...nonFieldOptions, @@ -713,6 +714,13 @@ export class SearchClient implements IndexDocumentsClient { return searchFields; } + private convertSemanticFields(semanticFields?: string[]): string | undefined { + if (semanticFields) { + return semanticFields.join(","); + } + return semanticFields; + } + private convertOrderBy(orderBy?: string[]): string | undefined { if (orderBy) { return orderBy.join(","); diff --git a/sdk/search/search-documents/src/searchIndexClient.ts b/sdk/search/search-documents/src/searchIndexClient.ts index 8b348f0aaacb..e447e769648e 100644 --- a/sdk/search/search-documents/src/searchIndexClient.ts +++ b/sdk/search/search-documents/src/searchIndexClient.ts @@ -587,7 +587,8 @@ export class SearchIndexClient { { ...restOptions, analyzer: restOptions.analyzerName, - tokenizer: restOptions.tokenizerName + tokenizer: restOptions.tokenizerName, + normalizer: restOptions.normalizerName }, operationOptionsToRequestOptionsBase(updatedOptions) ); diff --git a/sdk/search/search-documents/src/serviceModels.ts b/sdk/search/search-documents/src/serviceModels.ts index 7df83e9b35cc..81307ea97354 100644 --- a/sdk/search/search-documents/src/serviceModels.ts +++ b/sdk/search/search-documents/src/serviceModels.ts @@ -365,6 +365,10 @@ export interface AnalyzeRequest { * NOTE: Either analyzerName or tokenizerName is required in an AnalyzeRequest. */ tokenizerName?: string; + /** + * The name of the normalizer to use to normalize the given text. + */ + normalizerName?: LexicalNormalizerName; /** * An optional list of token filters to use when breaking the given text. This parameter can only * be set when using the tokenizer parameter. diff --git a/sdk/search/search-documents/swagger/Data.md b/sdk/search/search-documents/swagger/Data.md index 6c8a16a5f2f1..d696bec4099b 100644 --- a/sdk/search/search-documents/swagger/Data.md +++ b/sdk/search/search-documents/swagger/Data.md @@ -10,7 +10,7 @@ generate-metadata: false license-header: MICROSOFT_MIT_NO_VERSION output-folder: ../ source-code-folder-path: ./src/generated/data -input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/d2183715d380084ff04313a73c8803d042fe91b9/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/c99fbb96d7993daec8135a40681d9d807e3f5751/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchindex.json add-credentials: false title: SearchClient use-extension: diff --git a/sdk/search/search-documents/swagger/Service.md b/sdk/search/search-documents/swagger/Service.md index cd7998d8e290..2ce61aa58589 100644 --- a/sdk/search/search-documents/swagger/Service.md +++ b/sdk/search/search-documents/swagger/Service.md @@ -10,7 +10,7 @@ generate-metadata: false license-header: MICROSOFT_MIT_NO_VERSION output-folder: ../ source-code-folder-path: ./src/generated/service -input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/d2183715d380084ff04313a73c8803d042fe91b9/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/c99fbb96d7993daec8135a40681d9d807e3f5751/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json add-credentials: false use-extension: "@autorest/typescript": "6.0.0-beta.4" diff --git a/sdk/search/search-documents/test/public/node/searchClient.spec.ts b/sdk/search/search-documents/test/public/node/searchClient.spec.ts index 01d0e9c135b0..b23fc356feb1 100644 --- a/sdk/search/search-documents/test/public/node/searchClient.spec.ts +++ b/sdk/search/search-documents/test/public/node/searchClient.spec.ts @@ -5,7 +5,7 @@ import { assert } from "chai"; import { Context } from "mocha"; import { Suite } from "mocha"; -import { Recorder, record, isPlaybackMode, isLiveMode } from "@azure/test-utils-recorder"; +import { Recorder, record, isPlaybackMode, isLiveMode } from "@azure-tools/test-recorder"; import { createClients, environmentSetup } from "../utils/recordedClient"; import { diff --git a/sdk/search/search-documents/test/public/node/searchIndexClient.spec.ts b/sdk/search/search-documents/test/public/node/searchIndexClient.spec.ts index 51469a6db9d7..4dbc1392eebe 100644 --- a/sdk/search/search-documents/test/public/node/searchIndexClient.spec.ts +++ b/sdk/search/search-documents/test/public/node/searchIndexClient.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { isPlaybackMode, record, Recorder, isLiveMode } from "@azure/test-utils-recorder"; +import { isPlaybackMode, record, Recorder, isLiveMode } from "@azure-tools/test-recorder"; import { Context } from "mocha"; import { Suite } from "mocha"; import { assert } from "chai"; diff --git a/sdk/search/search-documents/test/public/utils/recordedClient.ts b/sdk/search/search-documents/test/public/utils/recordedClient.ts index 35adb00ec7c5..41ed1516944e 100644 --- a/sdk/search/search-documents/test/public/utils/recordedClient.ts +++ b/sdk/search/search-documents/test/public/utils/recordedClient.ts @@ -3,7 +3,7 @@ import * as dotenv from "dotenv"; -import { env, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { isNode } from "@azure/core-http"; import { @@ -53,6 +53,15 @@ export const environmentSetup: RecorderEnvironmentSetup = { }; export function createClients(indexName: string): Clients { + switch (testEnv.AZURE_AUTHORITY_HOST) { + case "https://login.microsoftonline.us": + process.env.ENDPOINT = process.env.ENDPOINT!.toString().replace(".windows.net", ".azure.us"); + break; + case "https://login.chinacloudapi.cn": + process.env.ENDPOINT = process.env.ENDPOINT!.toString().replace(".windows.net", ".azure.cn"); + break; + } + const credential = new AzureKeyCredential(testEnv.SEARCH_API_ADMIN_KEY); const searchClient = new SearchClient(testEnv.ENDPOINT, indexName, credential); const indexClient = new SearchIndexClient(testEnv.ENDPOINT, credential); diff --git a/sdk/search/search-documents/tests.yml b/sdk/search/search-documents/tests.yml index 30e05bbf2df0..82a6b3c683a7 100644 --- a/sdk/search/search-documents/tests.yml +++ b/sdk/search/search-documents/tests.yml @@ -5,3 +5,4 @@ stages: parameters: PackageName: "@azure/search-documents" ServiceDirectory: search + SupportedClouds: 'Public,UsGov,China' diff --git a/sdk/search/search-documents/tsconfig.json b/sdk/search/search-documents/tsconfig.json index 733a8ef32522..2249af41759a 100644 --- a/sdk/search/search-documents/tsconfig.json +++ b/sdk/search/search-documents/tsconfig.json @@ -2,7 +2,10 @@ "extends": "../../../tsconfig.package", "compilerOptions": { "outDir": "./dist-esm", - "declarationDir": "./types" + "declarationDir": "./types", + "paths": { + "@azure/search-documents": ["./src/index"] + } }, - "exclude": ["node_modules", "types", "temp", "browser", "dist", "dist-esm", "./samples/**/*.ts"] + "include": ["src/**/*.ts", "test/**/*.ts", "samples-dev/**/*.ts"] } diff --git a/sdk/search/test-resources.json b/sdk/search/test-resources.json index a16e676a9489..afc3cead0b9a 100644 --- a/sdk/search/test-resources.json +++ b/sdk/search/test-resources.json @@ -11,9 +11,9 @@ }, "searchSku": { "type": "string", - "defaultValue": "free", + "defaultValue": "basic", "metadata": { - "description": "SKU for search resource. The default is 'free'" + "description": "SKU for search resource. The default is 'basic'" } } }, diff --git a/sdk/security/arm-security/README.md b/sdk/security/arm-security/README.md index 869cda4b96a1..fc666de749fa 100644 --- a/sdk/security/arm-security/README.md +++ b/sdk/security/arm-security/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SecurityCenter. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/serialconsole/arm-serialconsole/README.md b/sdk/serialconsole/arm-serialconsole/README.md index 8fcae878eebe..d340a645673c 100644 --- a/sdk/serialconsole/arm-serialconsole/README.md +++ b/sdk/serialconsole/arm-serialconsole/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MicrosoftSerialConsoleClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/service-map/arm-servicemap/README.md b/sdk/service-map/arm-servicemap/README.md index fc63791a3f0a..eebb289c5341 100644 --- a/sdk/service-map/arm-servicemap/README.md +++ b/sdk/service-map/arm-servicemap/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ServicemapManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/servicebus/arm-servicebus/CHANGELOG.md b/sdk/servicebus/arm-servicebus/CHANGELOG.md new file mode 100644 index 000000000000..d7c0ad1d0f65 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/CHANGELOG.md @@ -0,0 +1,26 @@ +# Release History + +## 30.0.0-beta.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.1 (2021-09-09) + +This is the first preview for the new version of the `@azure/arm-servicebus` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/servicebus/arm-servicebus/LICENSE b/sdk/servicebus/arm-servicebus/LICENSE new file mode 100644 index 000000000000..ccb63b166732 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 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/servicebus/arm-servicebus/README.md b/sdk/servicebus/arm-servicebus/README.md index b14c18cc53b8..566ae0587e95 100644 --- a/sdk/servicebus/arm-servicebus/README.md +++ b/sdk/servicebus/arm-servicebus/README.md @@ -1,99 +1,93 @@ -## Azure ServiceBusManagementClient SDK for JavaScript +# Azure ServiceBusManagement client library for JavaScript -This package contains an isomorphic SDK for ServiceBusManagementClient. +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure ServiceBusManagement client. + +Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/servicebus/arm-servicebus) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-servicebus) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-servicebus) | +[Samples](https://github.com/Azure-Samples/azure-samples-js-management) + +## Getting started ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge and Firefox. + +### Prerequisites + +- An [Azure subscription][azure_sub]. -### How to Install +### Install the `@azure/arm-servicebus` package + +Install the Azure ServiceBusManagement client library for JavaScript with `npm`: ```bash npm install @azure/arm-servicebus ``` -### How to use +### Create and authenticate a `ServiceBusManagementClient` + +To create a client object to access the Azure ServiceBusManagement API, you will need the `endpoint` of your Azure ServiceBusManagement resource and a `credential`. The Azure ServiceBusManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure ServiceBusManagement resource in the [Azure Portal][azure_portal]. -#### nodejs - Authentication, client creation and list operations as an example written in TypeScript. +#### Using an Azure Active Directory Credential -##### Install @azure/ms-rest-nodeauth +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: -- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`. ```bash -npm install @azure/ms-rest-nodeauth@"^3.0.0" +npm install @azure/identity ``` -##### Sample code - -```typescript -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; -import { ServiceBusManagementClient, ServiceBusManagementModels, ServiceBusManagementMappers } from "@azure/arm-servicebus"; -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -msRestNodeAuth.interactiveLogin().then((creds) => { - const client = new ServiceBusManagementClient(creds, subscriptionId); - client.operations.list().then((result) => { - console.log("The result is:"); - console.log(result); - }); -}).catch((err) => { - console.error(err); -}); +You will also need to **register a new AAD application and grant access to Azure ServiceBusManagement** 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 { ServiceBusManagementClient } = require("@azure/arm-servicebus"); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new ServiceBusManagementClient(new DefaultAzureCredential(), subscriptionId); ``` -#### browser - Authentication, client creation and list operations as an example written in JavaScript. +## Key concepts -##### Install @azure/ms-rest-browserauth +### ServiceBusManagementClient -```bash -npm install @azure/ms-rest-browserauth -``` +`ServiceBusManagementClient` is the primary interface for developers using the Azure ServiceBusManagement client library. Explore the methods on this client object to understand the different features of the Azure ServiceBusManagement service that you can access. -##### Sample code - -See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. - -- index.html -```html - - - - @azure/arm-servicebus sample - - - - - - - - +## 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) +- [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%2Fservicebus%2Farm-servicebus%2FREADME.png) -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/servicebus/arm-servicebus/README.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/servicebus/arm-servicebus/_meta.json b/sdk/servicebus/arm-servicebus/_meta.json new file mode 100644 index 000000000000..39107cc6d43d --- /dev/null +++ b/sdk/servicebus/arm-servicebus/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "92b58eb71fd5eb2ce5600e9233541074ecabf851", + "readme": "specification/servicebus/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/servicebus/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.12", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-beta.12" +} \ No newline at end of file diff --git a/sdk/servicebus/arm-servicebus/api-extractor.json b/sdk/servicebus/arm-servicebus/api-extractor.json new file mode 100644 index 000000000000..cdc3164c90f3 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-servicebus.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/servicebus/arm-servicebus/package.json b/sdk/servicebus/arm-servicebus/package.json index 4a3e56681e22..981d7a9140c6 100644 --- a/sdk/servicebus/arm-servicebus/package.json +++ b/sdk/servicebus/arm-servicebus/package.json @@ -1,12 +1,20 @@ { "name": "@azure/arm-servicebus", + "sdk-type": "mgmt", "author": "Microsoft Corporation", - "description": "ServiceBusManagementClient Library with typescript type definitions for node.js and browser.", - "version": "4.0.0", + "description": "A generated SDK for ServiceBusManagementClient.", + "version": "30.0.0-beta.2", + "engines": { + "node": ">=12.0.0" + }, "dependencies": { - "@azure/ms-rest-azure-js": "^2.0.1", - "@azure/ms-rest-js": "^2.0.4", - "tslib": "^1.10.0" + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", + "@azure/core-paging": "^1.1.1", + "@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", @@ -16,15 +24,20 @@ "isomorphic" ], "license": "MIT", - "main": "./dist/arm-servicebus.js", - "module": "./esm/serviceBusManagementClient.js", - "types": "./esm/serviceBusManagementClient.d.ts", + "main": "./dist/index.js", + "module": "./dist-esm/index.js", + "types": "./types/arm-servicebus.d.ts", "devDependencies": { - "typescript": "^3.5.3", - "rollup": "^1.18.0", - "rollup-plugin-node-resolve": "^5.2.0", + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", - "uglify-js": "^3.6.0" + "typescript": "~4.2.0", + "uglify-js": "^3.4.9" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/servicebus/arm-servicebus", "repository": { @@ -39,19 +52,46 @@ "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.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" + "tsconfig.json", + "review/*", + "CHANGELOG.md", + "types/*" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify", - "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-servicebus.js.map'\" -o ./dist/arm-servicebus.min.js ./dist/arm-servicebus.js", - "prepack": "npm install && npm run build" + "build": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" }, "sideEffects": false, "autoPublish": true diff --git a/sdk/servicebus/arm-servicebus/review/arm-servicebus.api.md b/sdk/servicebus/arm-servicebus/review/arm-servicebus.api.md new file mode 100644 index 000000000000..310ae9d80dd1 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/review/arm-servicebus.api.md @@ -0,0 +1,1451 @@ +## API Report File for "@azure/arm-servicebus" + +> 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 AccessKeys { + readonly aliasPrimaryConnectionString?: string; + readonly aliasSecondaryConnectionString?: string; + readonly keyName?: string; + readonly primaryConnectionString?: string; + readonly primaryKey?: string; + readonly secondaryConnectionString?: string; + readonly secondaryKey?: string; +} + +// @public +export type AccessRights = "Manage" | "Send" | "Listen"; + +// @public +export interface Action { + compatibilityLevel?: number; + requiresPreprocessing?: boolean; + sqlExpression?: string; +} + +// @public +export type ArmDisasterRecovery = Resource & { + readonly provisioningState?: ProvisioningStateDR; + readonly pendingReplicationOperationsCount?: number; + partnerNamespace?: string; + alternateName?: string; + readonly role?: RoleDisasterRecovery; +}; + +// @public +export interface ArmDisasterRecoveryListResult { + readonly nextLink?: string; + value?: ArmDisasterRecovery[]; +} + +// @public +export interface CaptureDescription { + destination?: Destination; + enabled?: boolean; + encoding?: EncodingCaptureDescription; + intervalInSeconds?: number; + sizeLimitInBytes?: number; +} + +// @public +export interface CheckNameAvailability { + name: string; +} + +// @public +export interface CheckNameAvailabilityResult { + readonly message?: string; + nameAvailable?: boolean; + reason?: UnavailableReason; +} + +// @public +export interface ConnectionState { + description?: string; + status?: PrivateLinkConnectionStatus; +} + +// @public +export interface CorrelationFilter { + contentType?: string; + correlationId?: string; + label?: string; + messageId?: string; + properties?: { + [propertyName: string]: string; + }; + replyTo?: string; + replyToSessionId?: string; + requiresPreprocessing?: boolean; + sessionId?: string; + to?: string; +} + +// @public +export type DefaultAction = string; + +// @public +export interface Destination { + archiveNameFormat?: string; + blobContainer?: string; + name?: string; + storageAccountResourceId?: string; +} + +// @public +export interface DisasterRecoveryConfigs { + breakPairing(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsBreakPairingOptionalParams): Promise; + checkNameAvailability(resourceGroupName: string, namespaceName: string, parameters: CheckNameAvailability, options?: DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams): Promise; + createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: ArmDisasterRecovery, options?: DisasterRecoveryConfigsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsDeleteOptionalParams): Promise; + failOver(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsFailOverOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsGetOptionalParams): Promise; + getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams): Promise; + list(resourceGroupName: string, namespaceName: string, options?: DisasterRecoveryConfigsListOptionalParams): PagedAsyncIterableIterator; + listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams): PagedAsyncIterableIterator; + listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: DisasterRecoveryConfigsListKeysOptionalParams): Promise; +} + +// @public +export interface DisasterRecoveryConfigsBreakPairingOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsCheckNameAvailabilityResponse = CheckNameAvailabilityResult; + +// @public +export interface DisasterRecoveryConfigsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsCreateOrUpdateResponse = ArmDisasterRecovery; + +// @public +export interface DisasterRecoveryConfigsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DisasterRecoveryConfigsFailOverOptionalParams extends coreClient.OperationOptions { + parameters?: FailoverProperties; +} + +// @public +export interface DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsGetAuthorizationRuleResponse = SBAuthorizationRule; + +// @public +export interface DisasterRecoveryConfigsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsGetResponse = ArmDisasterRecovery; + +// @public +export interface DisasterRecoveryConfigsListAuthorizationRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult; + +// @public +export interface DisasterRecoveryConfigsListAuthorizationRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListAuthorizationRulesResponse = SBAuthorizationRuleListResult; + +// @public +export interface DisasterRecoveryConfigsListKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListKeysResponse = AccessKeys; + +// @public +export interface DisasterRecoveryConfigsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListNextResponse = ArmDisasterRecoveryListResult; + +// @public +export interface DisasterRecoveryConfigsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DisasterRecoveryConfigsListResponse = ArmDisasterRecoveryListResult; + +// @public +export type EncodingCaptureDescription = "Avro" | "AvroDeflate"; + +// @public +export interface Encryption { + keySource?: "Microsoft.KeyVault"; + keyVaultProperties?: KeyVaultProperties; +} + +// @public +export type EndPointProvisioningState = string; + +// @public +export type EntityStatus = "Active" | "Disabled" | "Restoring" | "SendDisabled" | "ReceiveDisabled" | "Creating" | "Deleting" | "Renaming" | "Unknown"; + +// @public +export interface ErrorAdditionalInfo { + readonly info?: Record; + readonly type?: string; +} + +// @public +export interface ErrorResponse { + error?: ErrorResponseError; +} + +// @public +export interface ErrorResponseError { + readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly code?: string; + readonly details?: ErrorResponse[]; + readonly message?: string; + readonly target?: string; +} + +// @public +export type Eventhub = Resource & { + readonly partitionIds?: string[]; + readonly createdAt?: Date; + readonly updatedAt?: Date; + messageRetentionInDays?: number; + partitionCount?: number; + status?: EntityStatus; + captureDescription?: CaptureDescription; +}; + +// @public +export interface EventHubListResult { + readonly nextLink?: string; + value?: Eventhub[]; +} + +// @public +export interface EventHubs { + listByNamespace(resourceGroupName: string, namespaceName: string, options?: EventHubsListByNamespaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface EventHubsListByNamespaceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsListByNamespaceNextResponse = EventHubListResult; + +// @public +export interface EventHubsListByNamespaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EventHubsListByNamespaceResponse = EventHubListResult; + +// @public +export interface FailoverProperties { + isSafeFailover?: boolean; +} + +// @public +export type FilterType = "SqlFilter" | "CorrelationFilter"; + +// @public +export interface Identity { + principalId?: string; + tenantId?: string; + type?: "SystemAssigned"; +} + +// @public +export type IPAction = string; + +// @public +export type IpFilterRule = Resource & { + ipMask?: string; + action?: IPAction; + filterName?: string; +}; + +// @public +export interface IpFilterRuleListResult { + nextLink?: string; + value?: IpFilterRule[]; +} + +// @public +export type KeyType = "PrimaryKey" | "SecondaryKey"; + +// @public +export interface KeyVaultProperties { + keyName?: string; + keyVaultUri?: string; +} + +// @public +export enum KnownDefaultAction { + // (undocumented) + Allow = "Allow", + // (undocumented) + Deny = "Deny" +} + +// @public +export enum KnownEndPointProvisioningState { + // (undocumented) + Canceled = "Canceled", + // (undocumented) + Creating = "Creating", + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Failed = "Failed", + // (undocumented) + Succeeded = "Succeeded", + // (undocumented) + Updating = "Updating" +} + +// @public +export enum KnownIPAction { + // (undocumented) + Accept = "Accept", + // (undocumented) + Reject = "Reject" +} + +// @public +export enum KnownMigrationConfigurationName { + // (undocumented) + Default = "$default" +} + +// @public +export enum KnownNetworkRuleIPAction { + // (undocumented) + Allow = "Allow" +} + +// @public +export enum KnownPrivateLinkConnectionStatus { + // (undocumented) + Approved = "Approved", + // (undocumented) + Disconnected = "Disconnected", + // (undocumented) + Pending = "Pending", + // (undocumented) + Rejected = "Rejected" +} + +// @public +export interface MessageCountDetails { + readonly activeMessageCount?: number; + readonly deadLetterMessageCount?: number; + readonly scheduledMessageCount?: number; + readonly transferDeadLetterMessageCount?: number; + readonly transferMessageCount?: number; +} + +// @public +export interface MigrationConfigListResult { + readonly nextLink?: string; + value?: MigrationConfigProperties[]; +} + +// @public +export type MigrationConfigProperties = Resource & { + readonly provisioningState?: string; + readonly pendingReplicationOperationsCount?: number; + targetNamespace?: string; + postMigrationName?: string; + readonly migrationState?: string; +}; + +// @public +export interface MigrationConfigs { + beginCreateAndStartMigration(resourceGroupName: string, namespaceName: string, configName: MigrationConfigurationName, parameters: MigrationConfigProperties, options?: MigrationConfigsCreateAndStartMigrationOptionalParams): Promise, MigrationConfigsCreateAndStartMigrationResponse>>; + beginCreateAndStartMigrationAndWait(resourceGroupName: string, namespaceName: string, configName: MigrationConfigurationName, parameters: MigrationConfigProperties, options?: MigrationConfigsCreateAndStartMigrationOptionalParams): Promise; + completeMigration(resourceGroupName: string, namespaceName: string, configName: MigrationConfigurationName, options?: MigrationConfigsCompleteMigrationOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, configName: MigrationConfigurationName, options?: MigrationConfigsDeleteOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, configName: MigrationConfigurationName, options?: MigrationConfigsGetOptionalParams): Promise; + list(resourceGroupName: string, namespaceName: string, options?: MigrationConfigsListOptionalParams): PagedAsyncIterableIterator; + revert(resourceGroupName: string, namespaceName: string, configName: MigrationConfigurationName, options?: MigrationConfigsRevertOptionalParams): Promise; +} + +// @public +export interface MigrationConfigsCompleteMigrationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface MigrationConfigsCreateAndStartMigrationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type MigrationConfigsCreateAndStartMigrationResponse = MigrationConfigProperties; + +// @public +export interface MigrationConfigsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface MigrationConfigsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MigrationConfigsGetResponse = MigrationConfigProperties; + +// @public +export interface MigrationConfigsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MigrationConfigsListNextResponse = MigrationConfigListResult; + +// @public +export interface MigrationConfigsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MigrationConfigsListResponse = MigrationConfigListResult; + +// @public +export interface MigrationConfigsRevertOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MigrationConfigurationName = string; + +// @public +export interface Namespaces { + beginCreateOrUpdate(resourceGroupName: string, namespaceName: string, parameters: SBNamespace, options?: NamespacesCreateOrUpdateOptionalParams): Promise, NamespacesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, namespaceName: string, parameters: SBNamespace, options?: NamespacesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, namespaceName: string, options?: NamespacesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, namespaceName: string, options?: NamespacesDeleteOptionalParams): Promise; + checkNameAvailability(parameters: CheckNameAvailability, options?: NamespacesCheckNameAvailabilityOptionalParams): Promise; + createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: SBAuthorizationRule, options?: NamespacesCreateOrUpdateAuthorizationRuleOptionalParams): Promise; + createOrUpdateIpFilterRule(resourceGroupName: string, namespaceName: string, ipFilterRuleName: string, parameters: IpFilterRule, options?: NamespacesCreateOrUpdateIpFilterRuleOptionalParams): Promise; + createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: NetworkRuleSet, options?: NamespacesCreateOrUpdateNetworkRuleSetOptionalParams): Promise; + createOrUpdateVirtualNetworkRule(resourceGroupName: string, namespaceName: string, virtualNetworkRuleName: string, parameters: VirtualNetworkRule, options?: NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams): Promise; + deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: NamespacesDeleteAuthorizationRuleOptionalParams): Promise; + deleteIpFilterRule(resourceGroupName: string, namespaceName: string, ipFilterRuleName: string, options?: NamespacesDeleteIpFilterRuleOptionalParams): Promise; + deleteVirtualNetworkRule(resourceGroupName: string, namespaceName: string, virtualNetworkRuleName: string, options?: NamespacesDeleteVirtualNetworkRuleOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, options?: NamespacesGetOptionalParams): Promise; + getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: NamespacesGetAuthorizationRuleOptionalParams): Promise; + getIpFilterRule(resourceGroupName: string, namespaceName: string, ipFilterRuleName: string, options?: NamespacesGetIpFilterRuleOptionalParams): Promise; + getNetworkRuleSet(resourceGroupName: string, namespaceName: string, options?: NamespacesGetNetworkRuleSetOptionalParams): Promise; + getVirtualNetworkRule(resourceGroupName: string, namespaceName: string, virtualNetworkRuleName: string, options?: NamespacesGetVirtualNetworkRuleOptionalParams): Promise; + list(options?: NamespacesListOptionalParams): PagedAsyncIterableIterator; + listAuthorizationRules(resourceGroupName: string, namespaceName: string, options?: NamespacesListAuthorizationRulesOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: NamespacesListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listIpFilterRules(resourceGroupName: string, namespaceName: string, options?: NamespacesListIpFilterRulesOptionalParams): PagedAsyncIterableIterator; + listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: NamespacesListKeysOptionalParams): Promise; + listNetworkRuleSets(resourceGroupName: string, namespaceName: string, options?: NamespacesListNetworkRuleSetsOptionalParams): PagedAsyncIterableIterator; + listVirtualNetworkRules(resourceGroupName: string, namespaceName: string, options?: NamespacesListVirtualNetworkRulesOptionalParams): PagedAsyncIterableIterator; + migrate(resourceGroupName: string, namespaceName: string, parameters: SBNamespaceMigrate, options?: NamespacesMigrateOptionalParams): Promise; + regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: RegenerateAccessKeyParameters, options?: NamespacesRegenerateKeysOptionalParams): Promise; + update(resourceGroupName: string, namespaceName: string, parameters: SBNamespaceUpdateParameters, options?: NamespacesUpdateOptionalParams): Promise; +} + +// @public +export interface NamespacesCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCheckNameAvailabilityResponse = CheckNameAvailabilityResult; + +// @public +export interface NamespacesCreateOrUpdateAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule; + +// @public +export interface NamespacesCreateOrUpdateIpFilterRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCreateOrUpdateIpFilterRuleResponse = IpFilterRule; + +// @public +export interface NamespacesCreateOrUpdateNetworkRuleSetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCreateOrUpdateNetworkRuleSetResponse = NetworkRuleSet; + +// @public +export interface NamespacesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type NamespacesCreateOrUpdateResponse = SBNamespace; + +// @public +export interface NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesCreateOrUpdateVirtualNetworkRuleResponse = VirtualNetworkRule; + +// @public +export interface NamespacesDeleteAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NamespacesDeleteIpFilterRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NamespacesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface NamespacesDeleteVirtualNetworkRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NamespacesGetAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetAuthorizationRuleResponse = SBAuthorizationRule; + +// @public +export interface NamespacesGetIpFilterRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetIpFilterRuleResponse = IpFilterRule; + +// @public +export interface NamespacesGetNetworkRuleSetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetNetworkRuleSetResponse = NetworkRuleSet; + +// @public +export interface NamespacesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetResponse = SBNamespace; + +// @public +export interface NamespacesGetVirtualNetworkRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesGetVirtualNetworkRuleResponse = VirtualNetworkRule; + +// @public +export interface NamespacesListAuthorizationRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult; + +// @public +export interface NamespacesListAuthorizationRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListAuthorizationRulesResponse = SBAuthorizationRuleListResult; + +// @public +export interface NamespacesListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListByResourceGroupNextResponse = SBNamespaceListResult; + +// @public +export interface NamespacesListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListByResourceGroupResponse = SBNamespaceListResult; + +// @public +export interface NamespacesListIpFilterRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListIpFilterRulesNextResponse = IpFilterRuleListResult; + +// @public +export interface NamespacesListIpFilterRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListIpFilterRulesResponse = IpFilterRuleListResult; + +// @public +export interface NamespacesListKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListKeysResponse = AccessKeys; + +// @public +export interface NamespacesListNetworkRuleSetsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListNetworkRuleSetsNextResponse = NetworkRuleSetListResult; + +// @public +export interface NamespacesListNetworkRuleSetsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListNetworkRuleSetsResponse = NetworkRuleSetListResult; + +// @public +export interface NamespacesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListNextResponse = SBNamespaceListResult; + +// @public +export interface NamespacesListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListResponse = SBNamespaceListResult; + +// @public +export interface NamespacesListVirtualNetworkRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListVirtualNetworkRulesNextResponse = VirtualNetworkRuleListResult; + +// @public +export interface NamespacesListVirtualNetworkRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesListVirtualNetworkRulesResponse = VirtualNetworkRuleListResult; + +// @public +export interface NamespacesMigrateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NamespacesRegenerateKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesRegenerateKeysResponse = AccessKeys; + +// @public +export interface NamespacesUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespacesUpdateResponse = SBNamespace; + +// @public +export type NameSpaceType = "Messaging" | "NotificationHub" | "Mixed" | "EventHub" | "Relay"; + +// @public +export type NetworkRuleIPAction = string; + +// @public +export type NetworkRuleSet = Resource & { + defaultAction?: DefaultAction; + virtualNetworkRules?: NWRuleSetVirtualNetworkRules[]; + ipRules?: NWRuleSetIpRules[]; +}; + +// @public +export interface NetworkRuleSetListResult { + nextLink?: string; + value?: NetworkRuleSet[]; +} + +// @public +export interface NWRuleSetIpRules { + action?: NetworkRuleIPAction; + ipMask?: string; +} + +// @public +export interface NWRuleSetVirtualNetworkRules { + ignoreMissingVnetServiceEndpoint?: boolean; + subnet?: Subnet; +} + +// @public +export interface Operation { + display?: OperationDisplay; + readonly name?: string; +} + +// @public +export interface OperationDisplay { + readonly operation?: string; + readonly provider?: string; + readonly resource?: string; +} + +// @public +export interface OperationListResult { + readonly nextLink?: string; + readonly value?: Operation[]; +} + +// @public +export interface Operations { + list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface OperationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListNextResponse = OperationListResult; + +// @public +export interface OperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListResponse = OperationListResult; + +// @public +export type PremiumMessagingRegions = ResourceNamespacePatch & { + properties?: PremiumMessagingRegionsProperties; +}; + +// @public +export interface PremiumMessagingRegionsListResult { + readonly nextLink?: string; + value?: PremiumMessagingRegions[]; +} + +// @public +export interface PremiumMessagingRegionsOperations { + list(options?: PremiumMessagingRegionsOperationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PremiumMessagingRegionsOperationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PremiumMessagingRegionsOperationsListNextResponse = PremiumMessagingRegionsListResult; + +// @public +export interface PremiumMessagingRegionsOperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PremiumMessagingRegionsOperationsListResponse = PremiumMessagingRegionsListResult; + +// @public (undocumented) +export interface PremiumMessagingRegionsProperties { + readonly code?: string; + readonly fullName?: string; +} + +// @public +export interface PrivateEndpoint { + id?: string; +} + +// @public +export type PrivateEndpointConnection = Resource & { + privateEndpoint?: PrivateEndpoint; + privateLinkServiceConnectionState?: ConnectionState; + provisioningState?: EndPointProvisioningState; +}; + +// @public +export interface PrivateEndpointConnectionListResult { + nextLink?: string; + value?: PrivateEndpointConnection[]; +} + +// @public +export interface PrivateEndpointConnections { + beginDelete(resourceGroupName: string, namespaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, namespaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise; + createOrUpdate(resourceGroupName: string, namespaceName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise; + list(resourceGroupName: string, namespaceName: string, options?: PrivateEndpointConnectionsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListNextResponse = PrivateEndpointConnectionListResult; + +// @public +export interface PrivateEndpointConnectionsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListResponse = PrivateEndpointConnectionListResult; + +// @public +export type PrivateLinkConnectionStatus = string; + +// @public +export interface PrivateLinkResource { + // (undocumented) + groupId?: string; + id?: string; + name?: string; + requiredMembers?: string[]; + requiredZoneNames?: string[]; + type?: string; +} + +// @public +export interface PrivateLinkResources { + get(resourceGroupName: string, namespaceName: string, options?: PrivateLinkResourcesGetOptionalParams): Promise; +} + +// @public +export interface PrivateLinkResourcesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesGetResponse = PrivateLinkResourcesListResult; + +// @public +export interface PrivateLinkResourcesListResult { + nextLink?: string; + value?: PrivateLinkResource[]; +} + +// @public +export type ProvisioningStateDR = "Accepted" | "Succeeded" | "Failed"; + +// @public +export interface Queues { + createOrUpdate(resourceGroupName: string, namespaceName: string, queueName: string, parameters: SBQueue, options?: QueuesCreateOrUpdateOptionalParams): Promise; + createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: SBAuthorizationRule, options?: QueuesCreateOrUpdateAuthorizationRuleOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, queueName: string, options?: QueuesDeleteOptionalParams): Promise; + deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: QueuesDeleteAuthorizationRuleOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, queueName: string, options?: QueuesGetOptionalParams): Promise; + getAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: QueuesGetAuthorizationRuleOptionalParams): Promise; + listAuthorizationRules(resourceGroupName: string, namespaceName: string, queueName: string, options?: QueuesListAuthorizationRulesOptionalParams): PagedAsyncIterableIterator; + listByNamespace(resourceGroupName: string, namespaceName: string, options?: QueuesListByNamespaceOptionalParams): PagedAsyncIterableIterator; + listKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: QueuesListKeysOptionalParams): Promise; + regenerateKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: RegenerateAccessKeyParameters, options?: QueuesRegenerateKeysOptionalParams): Promise; +} + +// @public +export interface QueuesCreateOrUpdateAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueuesCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule; + +// @public +export interface QueuesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueuesCreateOrUpdateResponse = SBQueue; + +// @public +export interface QueuesDeleteAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface QueuesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface QueuesGetAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueuesGetAuthorizationRuleResponse = SBAuthorizationRule; + +// @public +export interface QueuesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueuesGetResponse = SBQueue; + +// @public +export interface QueuesListAuthorizationRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueuesListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult; + +// @public +export interface QueuesListAuthorizationRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueuesListAuthorizationRulesResponse = SBAuthorizationRuleListResult; + +// @public +export interface QueuesListByNamespaceNextOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type QueuesListByNamespaceNextResponse = SBQueueListResult; + +// @public +export interface QueuesListByNamespaceOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type QueuesListByNamespaceResponse = SBQueueListResult; + +// @public +export interface QueuesListKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueuesListKeysResponse = AccessKeys; + +// @public +export interface QueuesRegenerateKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type QueuesRegenerateKeysResponse = AccessKeys; + +// @public +export interface RegenerateAccessKeyParameters { + key?: string; + keyType: KeyType; +} + +// @public +export interface Regions { + listBySku(sku: string, options?: RegionsListBySkuOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RegionsListBySkuNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RegionsListBySkuNextResponse = PremiumMessagingRegionsListResult; + +// @public +export interface RegionsListBySkuOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RegionsListBySkuResponse = PremiumMessagingRegionsListResult; + +// @public +export interface Resource { + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export type ResourceNamespacePatch = Resource & { + location?: string; + tags?: { + [propertyName: string]: string; + }; +}; + +// @public +export type RoleDisasterRecovery = "Primary" | "PrimaryNotReplicating" | "Secondary"; + +// @public +export type Rule = Resource & { + action?: Action; + filterType?: FilterType; + sqlFilter?: SqlFilter; + correlationFilter?: CorrelationFilter; +}; + +// @public +export interface RuleListResult { + nextLink?: string; + value?: Rule[]; +} + +// @public +export interface Rules { + createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, parameters: Rule, options?: RulesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, options?: RulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, options?: RulesGetOptionalParams): Promise; + listBySubscriptions(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: RulesListBySubscriptionsOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RulesCreateOrUpdateResponse = Rule; + +// @public +export interface RulesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RulesGetResponse = Rule; + +// @public +export interface RulesListBySubscriptionsNextOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type RulesListBySubscriptionsNextResponse = RuleListResult; + +// @public +export interface RulesListBySubscriptionsOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type RulesListBySubscriptionsResponse = RuleListResult; + +// @public +export type SBAuthorizationRule = Resource & { + rights?: AccessRights[]; +}; + +// @public +export interface SBAuthorizationRuleListResult { + nextLink?: string; + value?: SBAuthorizationRule[]; +} + +// @public +export type SBNamespace = TrackedResource & { + sku?: SBSku; + identity?: Identity; + readonly provisioningState?: string; + readonly status?: string; + readonly createdAt?: Date; + readonly updatedAt?: Date; + readonly serviceBusEndpoint?: string; + readonly metricId?: string; + zoneRedundant?: boolean; + encryption?: Encryption; +}; + +// @public +export interface SBNamespaceListResult { + nextLink?: string; + value?: SBNamespace[]; +} + +// @public +export interface SBNamespaceMigrate { + targetNamespaceType: NameSpaceType; +} + +// @public +export type SBNamespaceUpdateParameters = ResourceNamespacePatch & { + sku?: SBSku; + identity?: Identity; + readonly provisioningState?: string; + readonly status?: string; + readonly createdAt?: Date; + readonly updatedAt?: Date; + readonly serviceBusEndpoint?: string; + readonly metricId?: string; + zoneRedundant?: boolean; + encryption?: Encryption; +}; + +// @public +export type SBQueue = Resource & { + readonly countDetails?: MessageCountDetails; + readonly createdAt?: Date; + readonly updatedAt?: Date; + readonly accessedAt?: Date; + readonly sizeInBytes?: number; + readonly messageCount?: number; + lockDuration?: string; + maxSizeInMegabytes?: number; + requiresDuplicateDetection?: boolean; + requiresSession?: boolean; + defaultMessageTimeToLive?: string; + deadLetteringOnMessageExpiration?: boolean; + duplicateDetectionHistoryTimeWindow?: string; + maxDeliveryCount?: number; + status?: EntityStatus; + enableBatchedOperations?: boolean; + autoDeleteOnIdle?: string; + enablePartitioning?: boolean; + enableExpress?: boolean; + forwardTo?: string; + forwardDeadLetteredMessagesTo?: string; +}; + +// @public +export interface SBQueueListResult { + nextLink?: string; + value?: SBQueue[]; +} + +// @public +export interface SBSku { + capacity?: number; + name: SkuName; + tier?: SkuTier; +} + +// @public +export type SBSubscription = Resource & { + readonly messageCount?: number; + readonly createdAt?: Date; + readonly accessedAt?: Date; + readonly updatedAt?: Date; + readonly countDetails?: MessageCountDetails; + lockDuration?: string; + requiresSession?: boolean; + defaultMessageTimeToLive?: string; + deadLetteringOnFilterEvaluationExceptions?: boolean; + deadLetteringOnMessageExpiration?: boolean; + duplicateDetectionHistoryTimeWindow?: string; + maxDeliveryCount?: number; + status?: EntityStatus; + enableBatchedOperations?: boolean; + autoDeleteOnIdle?: string; + forwardTo?: string; + forwardDeadLetteredMessagesTo?: string; +}; + +// @public +export interface SBSubscriptionListResult { + nextLink?: string; + value?: SBSubscription[]; +} + +// @public +export type SBTopic = Resource & { + readonly sizeInBytes?: number; + readonly createdAt?: Date; + readonly updatedAt?: Date; + readonly accessedAt?: Date; + readonly subscriptionCount?: number; + readonly countDetails?: MessageCountDetails; + defaultMessageTimeToLive?: string; + maxSizeInMegabytes?: number; + requiresDuplicateDetection?: boolean; + duplicateDetectionHistoryTimeWindow?: string; + enableBatchedOperations?: boolean; + status?: EntityStatus; + supportOrdering?: boolean; + autoDeleteOnIdle?: string; + enablePartitioning?: boolean; + enableExpress?: boolean; +}; + +// @public +export interface SBTopicListResult { + nextLink?: string; + value?: SBTopic[]; +} + +// @public (undocumented) +export class ServiceBusManagementClient extends ServiceBusManagementClientContext { + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: ServiceBusManagementClientOptionalParams); + // (undocumented) + disasterRecoveryConfigs: DisasterRecoveryConfigs; + // (undocumented) + eventHubs: EventHubs; + // (undocumented) + migrationConfigs: MigrationConfigs; + // (undocumented) + namespaces: Namespaces; + // (undocumented) + operations: Operations; + // (undocumented) + premiumMessagingRegionsOperations: PremiumMessagingRegionsOperations; + // (undocumented) + privateEndpointConnections: PrivateEndpointConnections; + // (undocumented) + privateLinkResources: PrivateLinkResources; + // (undocumented) + queues: Queues; + // (undocumented) + regions: Regions; + // (undocumented) + rules: Rules; + // (undocumented) + subscriptions: Subscriptions; + // (undocumented) + topics: Topics; +} + +// @public (undocumented) +export class ServiceBusManagementClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: ServiceBusManagementClientOptionalParams); + // (undocumented) + apiVersion: string; + // (undocumented) + subscriptionId: string; +} + +// @public +export interface ServiceBusManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export type SkuName = "Basic" | "Standard" | "Premium"; + +// @public +export type SkuTier = "Basic" | "Standard" | "Premium"; + +// @public +export interface SqlFilter { + compatibilityLevel?: number; + requiresPreprocessing?: boolean; + sqlExpression?: string; +} + +// @public +export type SqlRuleAction = Action & {}; + +// @public +export interface Subnet { + id: string; +} + +// @public +export interface Subscriptions { + createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, parameters: SBSubscription, options?: SubscriptionsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: SubscriptionsDeleteOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: SubscriptionsGetOptionalParams): Promise; + listByTopic(resourceGroupName: string, namespaceName: string, topicName: string, options?: SubscriptionsListByTopicOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SubscriptionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SubscriptionsCreateOrUpdateResponse = SBSubscription; + +// @public +export interface SubscriptionsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SubscriptionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SubscriptionsGetResponse = SBSubscription; + +// @public +export interface SubscriptionsListByTopicNextOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type SubscriptionsListByTopicNextResponse = SBSubscriptionListResult; + +// @public +export interface SubscriptionsListByTopicOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type SubscriptionsListByTopicResponse = SBSubscriptionListResult; + +// @public +export interface Topics { + createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, parameters: SBTopic, options?: TopicsCreateOrUpdateOptionalParams): Promise; + createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: SBAuthorizationRule, options?: TopicsCreateOrUpdateAuthorizationRuleOptionalParams): Promise; + delete(resourceGroupName: string, namespaceName: string, topicName: string, options?: TopicsDeleteOptionalParams): Promise; + deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: TopicsDeleteAuthorizationRuleOptionalParams): Promise; + get(resourceGroupName: string, namespaceName: string, topicName: string, options?: TopicsGetOptionalParams): Promise; + getAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: TopicsGetAuthorizationRuleOptionalParams): Promise; + listAuthorizationRules(resourceGroupName: string, namespaceName: string, topicName: string, options?: TopicsListAuthorizationRulesOptionalParams): PagedAsyncIterableIterator; + listByNamespace(resourceGroupName: string, namespaceName: string, options?: TopicsListByNamespaceOptionalParams): PagedAsyncIterableIterator; + listKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: TopicsListKeysOptionalParams): Promise; + regenerateKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: RegenerateAccessKeyParameters, options?: TopicsRegenerateKeysOptionalParams): Promise; +} + +// @public +export interface TopicsCreateOrUpdateAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopicsCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule; + +// @public +export interface TopicsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopicsCreateOrUpdateResponse = SBTopic; + +// @public +export interface TopicsDeleteAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface TopicsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface TopicsGetAuthorizationRuleOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopicsGetAuthorizationRuleResponse = SBAuthorizationRule; + +// @public +export interface TopicsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopicsGetResponse = SBTopic; + +// @public +export interface TopicsListAuthorizationRulesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopicsListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult; + +// @public +export interface TopicsListAuthorizationRulesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopicsListAuthorizationRulesResponse = SBAuthorizationRuleListResult; + +// @public +export interface TopicsListByNamespaceNextOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type TopicsListByNamespaceNextResponse = SBTopicListResult; + +// @public +export interface TopicsListByNamespaceOptionalParams extends coreClient.OperationOptions { + skip?: number; + top?: number; +} + +// @public +export type TopicsListByNamespaceResponse = SBTopicListResult; + +// @public +export interface TopicsListKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopicsListKeysResponse = AccessKeys; + +// @public +export interface TopicsRegenerateKeysOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TopicsRegenerateKeysResponse = AccessKeys; + +// @public +export type TrackedResource = Resource & { + location: string; + tags?: { + [propertyName: string]: string; + }; +}; + +// @public +export type UnavailableReason = "None" | "InvalidName" | "SubscriptionIsDisabled" | "NameInUse" | "NameInLockdown" | "TooManyNamespaceInCurrentSubscription"; + +// @public +export type VirtualNetworkRule = Resource & { + virtualNetworkSubnetId?: string; +}; + +// @public +export interface VirtualNetworkRuleListResult { + nextLink?: string; + value?: VirtualNetworkRule[]; +} + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/servicebus/arm-servicebus/rollup.config.js b/sdk/servicebus/arm-servicebus/rollup.config.js index c02ea096bd42..9be1955eb7f1 100644 --- a/sdk/servicebus/arm-servicebus/rollup.config.js +++ b/sdk/servicebus/arm-servicebus/rollup.config.js @@ -1,37 +1,188 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; +/* + * 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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler /** - * @type {rollup.RollupFileOptions} + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. */ -const config = { - input: "./esm/serviceBusManagementClient.js", - external: [ - "@azure/ms-rest-js", - "@azure/ms-rest-azure-js" - ], - output: { - file: "./dist/arm-servicebus.js", - format: "umd", - name: "Azure.ArmServicebus", - sourcemap: true, - globals: { - "@azure/ms-rest-js": "msRest", - "@azure/ms-rest-azure-js": "msRestAzure" + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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/**"] }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */` - }, - plugins: [ - nodeResolve({ mainFields: ['module', 'main'] }), - sourcemaps() - ] + output: { + file: `dist-test/index.browser.js`, + format: "umd", + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + multiEntry({ exports: false }), + nodeResolve({ + mainFields: ["module", "browser"] + }), + cjs({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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 default config; +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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/servicebus/arm-servicebus/src/index.ts b/sdk/servicebus/arm-servicebus/src/index.ts new file mode 100644 index 000000000000..511fe3f62441 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { ServiceBusManagementClient } from "./serviceBusManagementClient"; +export { ServiceBusManagementClientContext } from "./serviceBusManagementClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/servicebus/arm-servicebus/src/lroImpl.ts b/sdk/servicebus/arm-servicebus/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/servicebus/arm-servicebus/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/servicebus/arm-servicebus/src/models/disasterRecoveryConfigsMappers.ts b/sdk/servicebus/arm-servicebus/src/models/disasterRecoveryConfigsMappers.ts deleted file mode 100644 index 4d8031905fed..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/disasterRecoveryConfigsMappers.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AccessKeys, - Action, - ArmDisasterRecovery, - ArmDisasterRecoveryListResult, - BaseResource, - CaptureDescription, - CheckNameAvailability, - CheckNameAvailabilityResult, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsProperties, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBAuthorizationRuleListResult, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/eventHubsMappers.ts b/sdk/servicebus/arm-servicebus/src/models/eventHubsMappers.ts deleted file mode 100644 index e46a707ff34d..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/eventHubsMappers.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - EventHubListResult, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsProperties, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/index.ts b/sdk/servicebus/arm-servicebus/src/models/index.ts index ec9393b6a174..af8cf0373361 100644 --- a/sdk/servicebus/arm-servicebus/src/models/index.ts +++ b/sdk/servicebus/arm-servicebus/src/models/index.ts @@ -1,2693 +1,1788 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export { BaseResource, CloudError }; +/** The response from the List namespace operation. */ +export interface IpFilterRuleListResult { + /** Result of the List IpFilter Rules operation. */ + value?: IpFilterRule[]; + /** Link to the next set of results. Not empty if Value contains an incomplete list of IpFilter Rules */ + nextLink?: string; +} -/** - * The Resource definition for other than namespace. - */ -export interface Resource extends BaseResource { +/** The Resource definition for other than namespace. */ +export interface Resource { /** * Resource Id - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * Resource name - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * Resource type - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; } -/** - * The Resource definition. - */ -export interface TrackedResource extends Resource { - /** - * The Geo-location where the resource lives - */ - location: string; - /** - * Resource tags - */ - tags?: { [propertyName: string]: string }; +/** The resource management error response. */ +export interface ErrorResponse { + /** The error object. */ + error?: ErrorResponseError; } -/** - * The Resource definition. - */ -export interface ResourceNamespacePatch extends Resource { +/** The error object. */ +export interface ErrorResponseError { /** - * Resource location + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location?: string; + readonly code?: string; /** - * Resource tags + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; -} - -/** - * SKU of the namespace. - */ -export interface SBSku { + readonly message?: string; /** - * Name of this SKU. Possible values include: 'Basic', 'Standard', 'Premium' + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name: SkuName; + readonly target?: string; /** - * The billing tier of this particular SKU. Possible values include: 'Basic', 'Standard', - * 'Premium' + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tier?: SkuTier; + readonly details?: ErrorResponse[]; /** - * The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4. + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - capacity?: number; + readonly additionalInfo?: ErrorAdditionalInfo[]; } -/** - * Description of a namespace resource. - */ -export interface SBNamespace extends TrackedResource { - /** - * Properties of Sku - */ - sku?: SBSku; +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { /** - * Provisioning state of the namespace. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: string; - /** - * The time the namespace was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly createdAt?: Date; - /** - * The time the namespace was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedAt?: Date; - /** - * Endpoint you can use to perform Service Bus operations. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly serviceBusEndpoint?: string; + readonly type?: string; /** - * Identifier for Azure Insights metrics - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly metricId?: string; + readonly info?: Record; } -/** - * Description of a namespace resource. - */ -export interface SBNamespaceUpdateParameters extends ResourceNamespacePatch { - /** - * Properties of Sku - */ - sku?: SBSku; - /** - * Provisioning state of the namespace. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: string; - /** - * The time the namespace was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly createdAt?: Date; - /** - * The time the namespace was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly updatedAt?: Date; - /** - * Endpoint you can use to perform Service Bus operations. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly serviceBusEndpoint?: string; - /** - * Identifier for Azure Insights metrics - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly metricId?: string; +/** The response of the List Namespace operation. */ +export interface SBNamespaceListResult { + /** Result of the List Namespace operation. */ + value?: SBNamespace[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of Namespaces. */ + nextLink?: string; } -/** - * Namespace Migrate Object - */ -export interface SBNamespaceMigrate { - /** - * Type of namespaces. Possible values include: 'Messaging', 'NotificationHub', 'Mixed', - * 'EventHub', 'Relay' - */ - targetNamespaceType: NameSpaceType; +/** SKU of the namespace. */ +export interface SBSku { + /** Name of this SKU. */ + name: SkuName; + /** The billing tier of this particular SKU. */ + tier?: SkuTier; + /** The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4. */ + capacity?: number; } -/** - * Description of a namespace authorization rule. - */ -export interface SBAuthorizationRule extends Resource { +/** Properties to configure Identity for Bring your Own Keys */ +export interface Identity { + /** ObjectId from the KeyVault */ + principalId?: string; + /** TenantId from the KeyVault */ + tenantId?: string; + /** Enumerates the possible value Identity type, which currently supports only 'SystemAssigned' */ + type?: "SystemAssigned"; +} + +/** Properties to configure Encryption */ +export interface Encryption { + /** Properties of KeyVault */ + keyVaultProperties?: KeyVaultProperties; + /** Enumerates the possible value of keySource for Encryption */ + keySource?: "Microsoft.KeyVault"; +} + +/** Properties to configure keyVault Properties */ +export interface KeyVaultProperties { + /** Name of the Key from KeyVault */ + keyName?: string; + /** Uri of KeyVault */ + keyVaultUri?: string; +} + +/** Result of the list of all private endpoint connections operation. */ +export interface PrivateEndpointConnectionListResult { + /** A collection of private endpoint connection resources. */ + value?: PrivateEndpointConnection[]; + /** A link for the next page of private endpoint connection resources. */ + nextLink?: string; +} + +/** PrivateEndpoint information. */ +export interface PrivateEndpoint { + /** The ARM identifier for Private Endpoint. */ + id?: string; +} + +/** ConnectionState information. */ +export interface ConnectionState { + /** Status of the connection. */ + status?: PrivateLinkConnectionStatus; + /** Description of the connection state. */ + description?: string; +} + +/** Result of the List private link resources operation. */ +export interface PrivateLinkResourcesListResult { + /** A collection of private link resources */ + value?: PrivateLinkResource[]; + /** A link for the next page of private link resources. */ + nextLink?: string; +} + +/** Information of the private link resource. */ +export interface PrivateLinkResource { + /** Fully qualified identifier of the resource. */ + id?: string; + /** Name of the resource */ + name?: string; + /** Type of the resource */ + type?: string; + groupId?: string; + /** Required Members */ + requiredMembers?: string[]; + /** Required Zone Names */ + requiredZoneNames?: string[]; +} + +/** The response from the List namespace operation. */ +export interface VirtualNetworkRuleListResult { + /** Result of the List VirtualNetwork Rules operation. */ + value?: VirtualNetworkRule[]; + /** Link to the next set of results. Not empty if Value contains an incomplete list of VirtualNetwork Rules */ + nextLink?: string; +} + +/** Description of a Check Name availability request properties. */ +export interface CheckNameAvailability { + /** The Name to check the namespace name availability and The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number. */ + name: string; +} + +/** Description of a Check Name availability request properties. */ +export interface CheckNameAvailabilityResult { /** - * The rights associated with the rule. + * The detailed info regarding the reason associated with the namespace. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - rights: AccessRights[]; + readonly message?: string; + /** Value indicating namespace is availability, true if the namespace is available; otherwise, false. */ + nameAvailable?: boolean; + /** The reason for unavailability of a namespace. */ + reason?: UnavailableReason; } -/** - * AuthorizationRule properties. - */ -export interface AuthorizationRuleProperties { +/** The result of the List Alias(Disaster Recovery configuration) operation. */ +export interface ArmDisasterRecoveryListResult { + /** List of Alias(Disaster Recovery configurations) */ + value?: ArmDisasterRecovery[]; /** - * The rights associated with the rule. + * Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration) + * NOTE: This property will not be serialized. It can only be populated by the server. */ - rights: AccessRights[]; + readonly nextLink?: string; } -/** - * Namespace/ServiceBus Connection String - */ +/** Safe failover is to indicate the service should wait for pending replication to finish before switching to the secondary. */ +export interface FailoverProperties { + /** Safe failover is to indicate the service should wait for pending replication to finish before switching to the secondary. */ + isSafeFailover?: boolean; +} + +/** The response to the List Namespace operation. */ +export interface SBAuthorizationRuleListResult { + /** Result of the List Authorization Rules operation. */ + value?: SBAuthorizationRule[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of Authorization Rules. */ + nextLink?: string; +} + +/** Namespace/ServiceBus Connection String */ export interface AccessKeys { /** * Primary connection string of the created namespace authorization rule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly primaryConnectionString?: string; /** * Secondary connection string of the created namespace authorization rule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly secondaryConnectionString?: string; /** * Primary connection string of the alias if GEO DR is enabled - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly aliasPrimaryConnectionString?: string; /** * Secondary connection string of the alias if GEO DR is enabled - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly aliasSecondaryConnectionString?: string; /** * A base64-encoded 256-bit primary key for signing and validating the SAS token. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly primaryKey?: string; /** * A base64-encoded 256-bit primary key for signing and validating the SAS token. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly secondaryKey?: string; /** * A string that describes the authorization rule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly keyName?: string; } -/** - * Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to - * be reset. - */ +/** Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset. */ export interface RegenerateAccessKeyParameters { + /** The access key to regenerate. */ + keyType: KeyType; + /** Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType */ + key?: string; +} + +/** The result of the List EventHubs operation. */ +export interface EventHubListResult { + /** Result of the List EventHubs operation. */ + value?: Eventhub[]; /** - * The access key to regenerate. Possible values include: 'PrimaryKey', 'SecondaryKey' + * Link to the next set of results. Not empty if Value contains incomplete list of EventHubs. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - keyType: KeyType; + readonly nextLink?: string; +} + +/** Properties to configure capture description for eventhub */ +export interface CaptureDescription { + /** A value that indicates whether capture description is enabled. */ + enabled?: boolean; + /** Enumerates the possible values for the encoding format of capture description. */ + encoding?: EncodingCaptureDescription; + /** The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds */ + intervalInSeconds?: number; + /** The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 and 524288000 bytes */ + sizeLimitInBytes?: number; + /** Properties of Destination where capture will be stored. (Storage Account, Blob Names) */ + destination?: Destination; +} + +/** Capture storage details for capture description */ +export interface Destination { + /** Name for capture destination */ + name?: string; + /** Resource id of the storage account to be used to create the blobs */ + storageAccountResourceId?: string; + /** Blob container Name */ + blobContainer?: string; + /** Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order */ + archiveNameFormat?: string; +} + +/** Description of VirtualNetworkRules - NetworkRules resource. */ +export interface NWRuleSetVirtualNetworkRules { + /** Subnet properties */ + subnet?: Subnet; + /** Value that indicates whether to ignore missing VNet Service Endpoint */ + ignoreMissingVnetServiceEndpoint?: boolean; +} + +/** Properties supplied for Subnet */ +export interface Subnet { + /** Resource ID of Virtual Network Subnet */ + id: string; +} + +/** Description of NetWorkRuleSet - IpRules resource. */ +export interface NWRuleSetIpRules { + /** IP Mask */ + ipMask?: string; + /** The IP Filter Action */ + action?: NetworkRuleIPAction; +} + +/** The response of the List NetworkRuleSet operation. */ +export interface NetworkRuleSetListResult { + /** Result of the List NetworkRuleSet operation. */ + value?: NetworkRuleSet[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet. */ + nextLink?: string; +} + +/** Namespace Migrate Object */ +export interface SBNamespaceMigrate { + /** Type of namespaces */ + targetNamespaceType: NameSpaceType; +} + +/** The result of the List migrationConfigurations operation. */ +export interface MigrationConfigListResult { + /** List of Migration Configs */ + value?: MigrationConfigProperties[]; /** - * Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set - * for keyType + * Link to the next set of results. Not empty if Value contains incomplete list of migrationConfigurations + * NOTE: This property will not be serialized. It can only be populated by the server. */ - key?: string; + readonly nextLink?: string; } -/** - * Message Count Details. - */ +/** The response of the List PremiumMessagingRegions operation. */ +export interface PremiumMessagingRegionsListResult { + /** Result of the List PremiumMessagingRegions type. */ + value?: PremiumMessagingRegions[]; + /** + * Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +export interface PremiumMessagingRegionsProperties { + /** + * Region code + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * Full name of the region + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly fullName?: string; +} + +/** The response to the List Queues operation. */ +export interface SBQueueListResult { + /** Result of the List Queues operation. */ + value?: SBQueue[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of queues. */ + nextLink?: string; +} + +/** Message Count Details. */ export interface MessageCountDetails { /** * Number of active messages in the queue, topic, or subscription. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly activeMessageCount?: number; /** * Number of messages that are dead lettered. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly deadLetterMessageCount?: number; /** * Number of scheduled messages. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly scheduledMessageCount?: number; /** * Number of messages transferred to another queue, topic, or subscription. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly transferMessageCount?: number; /** * Number of messages transferred into dead letters. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly transferDeadLetterMessageCount?: number; } -/** - * Description of queue Resource. - */ -export interface SBQueue extends Resource { +/** The response to the List Subscriptions operation. */ +export interface SBSubscriptionListResult { + /** Result of the List Subscriptions operation. */ + value?: SBSubscription[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of subscriptions. */ + nextLink?: string; +} + +/** The response to the List Topics operation. */ +export interface SBTopicListResult { + /** Result of the List Topics operation. */ + value?: SBTopic[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of topics. */ + nextLink?: string; +} + +/** The response of the List rule operation. */ +export interface RuleListResult { + /** Result of the List Rules operation. */ + value?: Rule[]; + /** Link to the next set of results. Not empty if Value contains incomplete list of rules */ + nextLink?: string; +} + +/** Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression. */ +export interface Action { + /** SQL expression. e.g. MyProperty='ABC' */ + sqlExpression?: string; + /** This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20. */ + compatibilityLevel?: number; + /** Value that indicates whether the rule action requires preprocessing. */ + requiresPreprocessing?: boolean; +} + +/** Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. */ +export interface SqlFilter { + /** The SQL expression. e.g. MyProperty='ABC' */ + sqlExpression?: string; + /** This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20. */ + compatibilityLevel?: number; + /** Value that indicates whether the rule action requires preprocessing. */ + requiresPreprocessing?: boolean; +} + +/** Represents the correlation filter expression. */ +export interface CorrelationFilter { + /** dictionary object for custom filters */ + properties?: { [propertyName: string]: string }; + /** Identifier of the correlation. */ + correlationId?: string; + /** Identifier of the message. */ + messageId?: string; + /** Address to send to. */ + to?: string; + /** Address of the queue to reply to. */ + replyTo?: string; + /** Application specific label. */ + label?: string; + /** Session identifier. */ + sessionId?: string; + /** Session identifier to reply to. */ + replyToSessionId?: string; + /** Content type of the message. */ + contentType?: string; + /** Value that indicates whether the rule action requires preprocessing. */ + requiresPreprocessing?: boolean; +} + +/** Result of the request to list ServiceBus operations. It contains a list of operations and a URL link to get the next set of results. */ +export interface OperationListResult { /** - * Message Count Details. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of ServiceBus operations supported by the Microsoft.ServiceBus resource provider. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly countDetails?: MessageCountDetails; + readonly value?: Operation[]; /** - * The exact time the message was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * URL to get the next set of operation list results if there are any. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdAt?: Date; + readonly nextLink?: string; +} + +/** A ServiceBus REST API operation */ +export interface Operation { /** - * The exact time the message was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Operation name: {provider}/{resource}/{operation} + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedAt?: Date; + readonly name?: string; + /** The object that represents the operation. */ + display?: OperationDisplay; +} + +/** The object that represents the operation. */ +export interface OperationDisplay { /** - * Last time a message was sent, or the last time there was a receive request to this queue. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Service provider: Microsoft.ServiceBus + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly accessedAt?: Date; + readonly provider?: string; /** - * The size of the queue, in bytes. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource on which the operation is performed: Invoice, etc. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly sizeInBytes?: number; - /** - * The number of messages in the queue. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly messageCount?: number; - /** - * ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is - * locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value - * is 1 minute. - */ - lockDuration?: string; - /** - * The maximum size of the queue in megabytes, which is the size of memory allocated for the - * queue. Default is 1024. - */ - maxSizeInMegabytes?: number; + readonly resource?: string; /** - * A value indicating if this queue requires duplicate detection. + * Operation type: Read, write, delete, etc. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - requiresDuplicateDetection?: boolean; + readonly operation?: string; +} + +/** Single item in a List or Get IpFilterRules operation */ +export type IpFilterRule = Resource & { + /** IP Mask */ + ipMask?: string; + /** The IP Filter Action */ + action?: IPAction; + /** IP Filter name */ + filterName?: string; +}; + +/** The Resource definition. */ +export type TrackedResource = Resource & { + /** The Geo-location where the resource lives */ + location: string; + /** Resource tags */ + tags?: { [propertyName: string]: string }; +}; + +/** The Resource definition. */ +export type ResourceNamespacePatch = Resource & { + /** Resource location */ + location?: string; + /** Resource tags */ + tags?: { [propertyName: string]: string }; +}; + +/** Properties of the PrivateEndpointConnection. */ +export type PrivateEndpointConnection = Resource & { + /** The Private Endpoint resource for this Connection. */ + privateEndpoint?: PrivateEndpoint; + /** Details about the state of the connection. */ + privateLinkServiceConnectionState?: ConnectionState; + /** Provisioning state of the Private Endpoint Connection. */ + provisioningState?: EndPointProvisioningState; +}; + +/** Single item in a List or Get VirtualNetworkRules operation */ +export type VirtualNetworkRule = Resource & { + /** Resource ID of Virtual Network Subnet */ + virtualNetworkSubnetId?: string; +}; + +/** Single item in List or Get Alias(Disaster Recovery configuration) operation */ +export type ArmDisasterRecovery = Resource & { /** - * A value that indicates whether the queue supports the concept of sessions. + * Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed' + * NOTE: This property will not be serialized. It can only be populated by the server. */ - requiresSession?: boolean; + readonly provisioningState?: ProvisioningStateDR; /** - * ISO 8601 default message timespan to live value. This is the duration after which the message - * expires, starting from when the message is sent to Service Bus. This is the default value used - * when TimeToLive is not set on a message itself. + * Number of entities pending to be replicated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - defaultMessageTimeToLive?: string; + readonly pendingReplicationOperationsCount?: number; + /** ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing */ + partnerNamespace?: string; + /** Primary/Secondary eventhub namespace name, which is part of GEO DR pairing */ + alternateName?: string; /** - * A value that indicates whether this queue has dead letter support when a message expires. + * role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary' + * NOTE: This property will not be serialized. It can only be populated by the server. */ - deadLetteringOnMessageExpiration?: boolean; + readonly role?: RoleDisasterRecovery; +}; + +/** Description of a namespace authorization rule. */ +export type SBAuthorizationRule = Resource & { + /** The rights associated with the rule. */ + rights?: AccessRights[]; +}; + +/** Single item in List or Get Event Hub operation */ +export type Eventhub = Resource & { /** - * ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The - * default value is 10 minutes. + * Current number of shards on the Event Hub. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - duplicateDetectionHistoryTimeWindow?: string; + readonly partitionIds?: string[]; /** - * The maximum delivery count. A message is automatically deadlettered after this number of - * deliveries. default value is 10. + * Exact time the Event Hub was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxDeliveryCount?: number; + readonly createdAt?: Date; /** - * Enumerates the possible values for the status of a messaging entity. Possible values include: - * 'Active', 'Disabled', 'Restoring', 'SendDisabled', 'ReceiveDisabled', 'Creating', 'Deleting', - * 'Renaming', 'Unknown' + * The exact time the message was updated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly updatedAt?: Date; + /** Number of days to retain the events for this Event Hub, value should be 1 to 7 days */ + messageRetentionInDays?: number; + /** Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions. */ + partitionCount?: number; + /** Enumerates the possible values for the status of a Event Hub. */ status?: EntityStatus; + /** Properties of capture description */ + captureDescription?: CaptureDescription; +}; + +/** Description of NetworkRuleSet resource. */ +export type NetworkRuleSet = Resource & { + /** Default Action for Network Rule Set */ + defaultAction?: DefaultAction; + /** List VirtualNetwork Rules */ + virtualNetworkRules?: NWRuleSetVirtualNetworkRules[]; + /** List of IpRules */ + ipRules?: NWRuleSetIpRules[]; +}; + +/** Single item in List or Get Migration Config operation */ +export type MigrationConfigProperties = Resource & { /** - * Value that indicates whether server-side batched operations are enabled. - */ - enableBatchedOperations?: boolean; - /** - * ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum - * duration is 5 minutes. - */ - autoDeleteOnIdle?: string; - /** - * A value that indicates whether the queue is to be partitioned across multiple message brokers. - */ - enablePartitioning?: boolean; - /** - * A value that indicates whether Express Entities are enabled. An express queue holds a message - * in memory temporarily before writing it to persistent storage. + * Provisioning state of Migration Configuration + * NOTE: This property will not be serialized. It can only be populated by the server. */ - enableExpress?: boolean; + readonly provisioningState?: string; /** - * Queue/Topic name to forward the messages + * Number of entities pending to be replicated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - forwardTo?: string; + readonly pendingReplicationOperationsCount?: number; + /** Existing premium Namespace ARM Id name which has no entities, will be used for migration */ + targetNamespace?: string; + /** Name to access Standard Namespace after migration */ + postMigrationName?: string; /** - * Queue/Topic name to forward the Dead Letter message + * State in which Standard to Premium Migration is, possible values : Unknown, Reverting, Completing, Initiating, Syncing, Active + * NOTE: This property will not be serialized. It can only be populated by the server. */ - forwardDeadLetteredMessagesTo?: string; -} + readonly migrationState?: string; +}; -/** - * Description of topic resource. - */ -export interface SBTopic extends Resource { +/** Description of queue Resource. */ +export type SBQueue = Resource & { /** - * Size of the topic, in bytes. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Message Count Details. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly sizeInBytes?: number; + readonly countDetails?: MessageCountDetails; /** - * Exact time the message was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The exact time the message was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdAt?: Date; /** * The exact time the message was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedAt?: Date; /** - * Last time the message was sent, or a request was received, for this topic. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Last time a message was sent, or the last time there was a receive request to this queue. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly accessedAt?: Date; /** - * Number of subscriptions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly subscriptionCount?: number; - /** - * Message count details - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly countDetails?: MessageCountDetails; - /** - * ISO 8601 Default message timespan to live value. This is the duration after which the message - * expires, starting from when the message is sent to Service Bus. This is the default value used - * when TimeToLive is not set on a message itself. + * The size of the queue, in bytes. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - defaultMessageTimeToLive?: string; + readonly sizeInBytes?: number; /** - * Maximum size of the topic in megabytes, which is the size of the memory allocated for the - * topic. Default is 1024. + * The number of messages in the queue. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly messageCount?: number; + /** ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. */ + lockDuration?: string; + /** The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024. */ maxSizeInMegabytes?: number; - /** - * Value indicating if this topic requires duplicate detection. - */ + /** A value indicating if this queue requires duplicate detection. */ requiresDuplicateDetection?: boolean; - /** - * ISO8601 timespan structure that defines the duration of the duplicate detection history. The - * default value is 10 minutes. - */ + /** A value that indicates whether the queue supports the concept of sessions. */ + requiresSession?: boolean; + /** ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ + defaultMessageTimeToLive?: string; + /** A value that indicates whether this queue has dead letter support when a message expires. */ + deadLetteringOnMessageExpiration?: boolean; + /** ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. */ duplicateDetectionHistoryTimeWindow?: string; - /** - * Value that indicates whether server-side batched operations are enabled. - */ - enableBatchedOperations?: boolean; - /** - * Enumerates the possible values for the status of a messaging entity. Possible values include: - * 'Active', 'Disabled', 'Restoring', 'SendDisabled', 'ReceiveDisabled', 'Creating', 'Deleting', - * 'Renaming', 'Unknown' - */ + /** The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10. */ + maxDeliveryCount?: number; + /** Enumerates the possible values for the status of a messaging entity. */ status?: EntityStatus; - /** - * Value that indicates whether the topic supports ordering. - */ - supportOrdering?: boolean; - /** - * ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum - * duration is 5 minutes. - */ + /** Value that indicates whether server-side batched operations are enabled. */ + enableBatchedOperations?: boolean; + /** ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes. */ autoDeleteOnIdle?: string; - /** - * Value that indicates whether the topic to be partitioned across multiple message brokers is - * enabled. - */ + /** A value that indicates whether the queue is to be partitioned across multiple message brokers. */ enablePartitioning?: boolean; - /** - * Value that indicates whether Express Entities are enabled. An express topic holds a message in - * memory temporarily before writing it to persistent storage. - */ + /** A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. */ enableExpress?: boolean; -} + /** Queue/Topic name to forward the messages */ + forwardTo?: string; + /** Queue/Topic name to forward the Dead Letter message */ + forwardDeadLetteredMessagesTo?: string; +}; -/** - * Description of subscription resource. - */ -export interface SBSubscription extends Resource { +/** Description of subscription resource. */ +export type SBSubscription = Resource & { /** * Number of messages. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly messageCount?: number; /** * Exact time the message was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdAt?: Date; /** * Last time there was a receive request to this subscription. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly accessedAt?: Date; /** * The exact time the message was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedAt?: Date; /** * Message count details - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly countDetails?: MessageCountDetails; - /** - * ISO 8061 lock duration timespan for the subscription. The default value is 1 minute. - */ + /** ISO 8061 lock duration timespan for the subscription. The default value is 1 minute. */ lockDuration?: string; - /** - * Value indicating if a subscription supports the concept of sessions. - */ + /** Value indicating if a subscription supports the concept of sessions. */ requiresSession?: boolean; - /** - * ISO 8061 Default message timespan to live value. This is the duration after which the message - * expires, starting from when the message is sent to Service Bus. This is the default value used - * when TimeToLive is not set on a message itself. - */ + /** ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ defaultMessageTimeToLive?: string; - /** - * Value that indicates whether a subscription has dead letter support on filter evaluation - * exceptions. - */ + /** Value that indicates whether a subscription has dead letter support on filter evaluation exceptions. */ deadLetteringOnFilterEvaluationExceptions?: boolean; + /** Value that indicates whether a subscription has dead letter support when a message expires. */ + deadLetteringOnMessageExpiration?: boolean; + /** ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. */ + duplicateDetectionHistoryTimeWindow?: string; + /** Number of maximum deliveries. */ + maxDeliveryCount?: number; + /** Enumerates the possible values for the status of a messaging entity. */ + status?: EntityStatus; + /** Value that indicates whether server-side batched operations are enabled. */ + enableBatchedOperations?: boolean; + /** ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. */ + autoDeleteOnIdle?: string; + /** Queue/Topic name to forward the messages */ + forwardTo?: string; + /** Queue/Topic name to forward the Dead Letter message */ + forwardDeadLetteredMessagesTo?: string; +}; + +/** Description of topic resource. */ +export type SBTopic = Resource & { /** - * Value that indicates whether a subscription has dead letter support when a message expires. + * Size of the topic, in bytes. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - deadLetteringOnMessageExpiration?: boolean; + readonly sizeInBytes?: number; /** - * ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The - * default value is 10 minutes. + * Exact time the message was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - duplicateDetectionHistoryTimeWindow?: string; + readonly createdAt?: Date; /** - * Number of maximum deliveries. + * The exact time the message was updated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxDeliveryCount?: number; + readonly updatedAt?: Date; /** - * Enumerates the possible values for the status of a messaging entity. Possible values include: - * 'Active', 'Disabled', 'Restoring', 'SendDisabled', 'ReceiveDisabled', 'Creating', 'Deleting', - * 'Renaming', 'Unknown' + * Last time the message was sent, or a request was received, for this topic. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - status?: EntityStatus; + readonly accessedAt?: Date; /** - * Value that indicates whether server-side batched operations are enabled. + * Number of subscriptions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - enableBatchedOperations?: boolean; + readonly subscriptionCount?: number; /** - * ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum - * duration is 5 minutes. + * Message count details + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly countDetails?: MessageCountDetails; + /** ISO 8601 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ + defaultMessageTimeToLive?: string; + /** Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024. */ + maxSizeInMegabytes?: number; + /** Value indicating if this topic requires duplicate detection. */ + requiresDuplicateDetection?: boolean; + /** ISO8601 timespan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. */ + duplicateDetectionHistoryTimeWindow?: string; + /** Value that indicates whether server-side batched operations are enabled. */ + enableBatchedOperations?: boolean; + /** Enumerates the possible values for the status of a messaging entity. */ + status?: EntityStatus; + /** Value that indicates whether the topic supports ordering. */ + supportOrdering?: boolean; + /** ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. */ autoDeleteOnIdle?: string; + /** Value that indicates whether the topic to be partitioned across multiple message brokers is enabled. */ + enablePartitioning?: boolean; + /** Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage. */ + enableExpress?: boolean; +}; + +/** Description of Rule Resource. */ +export type Rule = Resource & { + /** Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression. */ + action?: Action; + /** Filter type that is evaluated against a BrokeredMessage. */ + filterType?: FilterType; + /** Properties of sqlFilter */ + sqlFilter?: SqlFilter; + /** Properties of correlationFilter */ + correlationFilter?: CorrelationFilter; +}; + +/** Represents set of actions written in SQL language-based syntax that is performed against a ServiceBus.Messaging.BrokeredMessage */ +export type SqlRuleAction = Action & {}; + +/** Description of a namespace resource. */ +export type SBNamespace = TrackedResource & { + /** Properties of SKU */ + sku?: SBSku; + /** Properties of BYOK Identity description */ + identity?: Identity; /** - * Queue/Topic name to forward the messages + * Provisioning state of the namespace. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - forwardTo?: string; + readonly provisioningState?: string; /** - * Queue/Topic name to forward the Dead Letter message + * Status of the namespace. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - forwardDeadLetteredMessagesTo?: string; -} - -/** - * Description of a Check Name availability request properties. - */ -export interface CheckNameAvailability { + readonly status?: string; /** - * The Name to check the namespace name availability and The namespace name can contain only - * letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a - * letter or number. + * The time the namespace was created + * NOTE: This property will not be serialized. It can only be populated by the server. */ - name: string; -} - -/** - * Description of a Check Name availability request properties. - */ -export interface CheckNameAvailabilityResult { + readonly createdAt?: Date; /** - * The detailed info regarding the reason associated with the namespace. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the namespace was updated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly updatedAt?: Date; /** - * Value indicating namespace is availability, true if the namespace is available; otherwise, - * false. + * Endpoint you can use to perform Service Bus operations. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - nameAvailable?: boolean; + readonly serviceBusEndpoint?: string; /** - * The reason for unavailability of a namespace. Possible values include: 'None', 'InvalidName', - * 'SubscriptionIsDisabled', 'NameInUse', 'NameInLockdown', - * 'TooManyNamespaceInCurrentSubscription' + * Identifier for Azure Insights metrics + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: UnavailableReason; -} + readonly metricId?: string; + /** Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones. */ + zoneRedundant?: boolean; + /** Properties of BYOK Encryption description */ + encryption?: Encryption; +}; -/** - * The object that represents the operation. - */ -export interface OperationDisplay { +/** Description of a namespace resource. */ +export type SBNamespaceUpdateParameters = ResourceNamespacePatch & { + /** Properties of SKU */ + sku?: SBSku; + /** Properties of BYOK Identity description */ + identity?: Identity; /** - * Service provider: Microsoft.ServiceBus - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Provisioning state of the namespace. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provider?: string; + readonly provisioningState?: string; /** - * Resource on which the operation is performed: Invoice, etc. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of the namespace. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resource?: string; + readonly status?: string; /** - * Operation type: Read, write, delete, etc. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the namespace was created + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operation?: string; -} - -/** - * A ServiceBus REST API operation - */ -export interface Operation { + readonly createdAt?: Date; /** - * Operation name: {provider}/{resource}/{operation} - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the namespace was updated. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly updatedAt?: Date; /** - * The object that represents the operation. + * Endpoint you can use to perform Service Bus operations. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - display?: OperationDisplay; + readonly serviceBusEndpoint?: string; + /** + * Identifier for Azure Insights metrics + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly metricId?: string; + /** Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones. */ + zoneRedundant?: boolean; + /** Properties of BYOK Encryption description */ + encryption?: Encryption; +}; + +/** Premium Messaging Region */ +export type PremiumMessagingRegions = ResourceNamespacePatch & { + properties?: PremiumMessagingRegionsProperties; +}; + +/** Known values of {@link IPAction} that the service accepts. */ +export enum KnownIPAction { + Accept = "Accept", + Reject = "Reject" } /** - * Error response indicates ServiceBus service is not able to process the incoming request. The - * reason is provided in the error message. + * Defines values for IPAction. \ + * {@link KnownIPAction} can be used interchangeably with IPAction, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Accept** \ + * **Reject** */ -export interface ErrorResponse { - /** - * Error code. - */ - code?: string; - /** - * Error message indicating why the operation failed. - */ - message?: string; +export type IPAction = string; + +/** Known values of {@link PrivateLinkConnectionStatus} that the service accepts. */ +export enum KnownPrivateLinkConnectionStatus { + Pending = "Pending", + Approved = "Approved", + Rejected = "Rejected", + Disconnected = "Disconnected" } /** - * Represents the filter actions which are allowed for the transformation of a message that have - * been matched by a filter expression. - */ -export interface Action { - /** - * SQL expression. e.g. MyProperty='ABC' - */ - sqlExpression?: string; - /** - * This property is reserved for future use. An integer value showing the compatibility level, - * currently hard-coded to 20. - */ - compatibilityLevel?: number; - /** - * Value that indicates whether the rule action requires preprocessing. Default value: true. - */ - requiresPreprocessing?: boolean; + * Defines values for PrivateLinkConnectionStatus. \ + * {@link KnownPrivateLinkConnectionStatus} can be used interchangeably with PrivateLinkConnectionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pending** \ + * **Approved** \ + * **Rejected** \ + * **Disconnected** + */ +export type PrivateLinkConnectionStatus = string; + +/** Known values of {@link EndPointProvisioningState} that the service accepts. */ +export enum KnownEndPointProvisioningState { + Creating = "Creating", + Updating = "Updating", + Deleting = "Deleting", + Succeeded = "Succeeded", + Canceled = "Canceled", + Failed = "Failed" } /** - * Represents a filter which is a composition of an expression and an action that is executed in - * the pub/sub pipeline. + * Defines values for EndPointProvisioningState. \ + * {@link KnownEndPointProvisioningState} can be used interchangeably with EndPointProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Updating** \ + * **Deleting** \ + * **Succeeded** \ + * **Canceled** \ + * **Failed** */ -export interface SqlFilter { - /** - * The SQL expression. e.g. MyProperty='ABC' - */ - sqlExpression?: string; - /** - * This property is reserved for future use. An integer value showing the compatibility level, - * currently hard-coded to 20. Default value: 20. - */ - compatibilityLevel?: number; - /** - * Value that indicates whether the rule action requires preprocessing. Default value: true. - */ - requiresPreprocessing?: boolean; -} +export type EndPointProvisioningState = string; -/** - * Represents the correlation filter expression. - */ -export interface CorrelationFilter { - /** - * dictionary object for custom filters - */ - properties?: { [propertyName: string]: string }; - /** - * Identifier of the correlation. - */ - correlationId?: string; - /** - * Identifier of the message. - */ - messageId?: string; - /** - * Address to send to. - */ - to?: string; - /** - * Address of the queue to reply to. - */ - replyTo?: string; - /** - * Application specific label. - */ - label?: string; - /** - * Session identifier. - */ - sessionId?: string; - /** - * Session identifier to reply to. - */ - replyToSessionId?: string; - /** - * Content type of the message. - */ - contentType?: string; - /** - * Value that indicates whether the rule action requires preprocessing. Default value: true. - */ - requiresPreprocessing?: boolean; +/** Known values of {@link DefaultAction} that the service accepts. */ +export enum KnownDefaultAction { + Allow = "Allow", + Deny = "Deny" } /** - * Description of Rule Resource. + * Defines values for DefaultAction. \ + * {@link KnownDefaultAction} can be used interchangeably with DefaultAction, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Allow** \ + * **Deny** */ -export interface Rule extends Resource { - /** - * Represents the filter actions which are allowed for the transformation of a message that have - * been matched by a filter expression. - */ - action?: Action; - /** - * Filter type that is evaluated against a BrokeredMessage. Possible values include: 'SqlFilter', - * 'CorrelationFilter' - */ - filterType?: FilterType; - /** - * Properties of sqlFilter - */ - sqlFilter?: SqlFilter; - /** - * Properties of correlationFilter - */ - correlationFilter?: CorrelationFilter; -} +export type DefaultAction = string; -/** - * Represents set of actions written in SQL language-based syntax that is performed against a - * ServiceBus.Messaging.BrokeredMessage - */ -export interface SqlRuleAction extends Action { +/** Known values of {@link NetworkRuleIPAction} that the service accepts. */ +export enum KnownNetworkRuleIPAction { + Allow = "Allow" } /** - * An interface representing PremiumMessagingRegionsProperties. + * Defines values for NetworkRuleIPAction. \ + * {@link KnownNetworkRuleIPAction} can be used interchangeably with NetworkRuleIPAction, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Allow** */ -export interface PremiumMessagingRegionsProperties { - /** - * Region code - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly code?: string; - /** - * Full name of the region - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly fullName?: string; -} +export type NetworkRuleIPAction = string; -/** - * Premium Messaging Region - */ -export interface PremiumMessagingRegions extends ResourceNamespacePatch { - properties?: PremiumMessagingRegionsProperties; +/** Known values of {@link MigrationConfigurationName} that the service accepts. */ +export enum KnownMigrationConfigurationName { + Default = "$default" } /** - * Capture storage details for capture description - */ -export interface Destination { - /** - * Name for capture destination - */ - name?: string; - /** - * Resource id of the storage account to be used to create the blobs - */ - storageAccountResourceId?: string; - /** - * Blob container Name - */ - blobContainer?: string; - /** - * Blob naming convention for archive, e.g. - * {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all - * the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order - */ - archiveNameFormat?: string; + * Defines values for MigrationConfigurationName. \ + * {@link KnownMigrationConfigurationName} can be used interchangeably with MigrationConfigurationName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **$default** + */ +export type MigrationConfigurationName = string; +/** Defines values for SkuName. */ +export type SkuName = "Basic" | "Standard" | "Premium"; +/** Defines values for SkuTier. */ +export type SkuTier = "Basic" | "Standard" | "Premium"; +/** Defines values for UnavailableReason. */ +export type UnavailableReason = + | "None" + | "InvalidName" + | "SubscriptionIsDisabled" + | "NameInUse" + | "NameInLockdown" + | "TooManyNamespaceInCurrentSubscription"; +/** Defines values for ProvisioningStateDR. */ +export type ProvisioningStateDR = "Accepted" | "Succeeded" | "Failed"; +/** Defines values for RoleDisasterRecovery. */ +export type RoleDisasterRecovery = + | "Primary" + | "PrimaryNotReplicating" + | "Secondary"; +/** Defines values for AccessRights. */ +export type AccessRights = "Manage" | "Send" | "Listen"; +/** Defines values for KeyType. */ +export type KeyType = "PrimaryKey" | "SecondaryKey"; +/** Defines values for EntityStatus. */ +export type EntityStatus = + | "Active" + | "Disabled" + | "Restoring" + | "SendDisabled" + | "ReceiveDisabled" + | "Creating" + | "Deleting" + | "Renaming" + | "Unknown"; +/** Defines values for EncodingCaptureDescription. */ +export type EncodingCaptureDescription = "Avro" | "AvroDeflate"; +/** Defines values for NameSpaceType. */ +export type NameSpaceType = + | "Messaging" + | "NotificationHub" + | "Mixed" + | "EventHub" + | "Relay"; +/** Defines values for FilterType. */ +export type FilterType = "SqlFilter" | "CorrelationFilter"; + +/** Optional parameters. */ +export interface NamespacesListIpFilterRulesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listIpFilterRules operation. */ +export type NamespacesListIpFilterRulesResponse = IpFilterRuleListResult; + +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateIpFilterRuleOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdateIpFilterRule operation. */ +export type NamespacesCreateOrUpdateIpFilterRuleResponse = IpFilterRule; + +/** Optional parameters. */ +export interface NamespacesDeleteIpFilterRuleOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface NamespacesGetIpFilterRuleOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getIpFilterRule operation. */ +export type NamespacesGetIpFilterRuleResponse = IpFilterRule; + +/** Optional parameters. */ +export interface NamespacesListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type NamespacesListResponse = SBNamespaceListResult; + +/** Optional parameters. */ +export interface NamespacesListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceGroup operation. */ +export type NamespacesListByResourceGroupResponse = SBNamespaceListResult; + +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; } -/** - * Properties to configure capture description for eventhub - */ -export interface CaptureDescription { - /** - * A value that indicates whether capture description is enabled. - */ - enabled?: boolean; - /** - * Enumerates the possible values for the encoding format of capture description. Possible values - * include: 'Avro', 'AvroDeflate' - */ - encoding?: EncodingCaptureDescription; - /** - * The time window allows you to set the frequency with which the capture to Azure Blobs will - * happen, value should between 60 to 900 seconds - */ - intervalInSeconds?: number; - /** - * The size window defines the amount of data built up in your Event Hub before an capture - * operation, value should be between 10485760 and 524288000 bytes - */ - sizeLimitInBytes?: number; - /** - * Properties of Destination where capture will be stored. (Storage Account, Blob Names) - */ - destination?: Destination; -} +/** Contains response data for the createOrUpdate operation. */ +export type NamespacesCreateOrUpdateResponse = SBNamespace; -/** - * Single item in List or Get Event Hub operation - */ -export interface Eventhub extends Resource { - /** - * Current number of shards on the Event Hub. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly partitionIds?: string[]; - /** - * Exact time the Event Hub was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly createdAt?: Date; - /** - * The exact time the message was updated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly updatedAt?: Date; - /** - * Number of days to retain the events for this Event Hub, value should be 1 to 7 days - */ - messageRetentionInDays?: number; - /** - * Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions. - */ - partitionCount?: number; - /** - * Enumerates the possible values for the status of the Event Hub. Possible values include: - * 'Active', 'Disabled', 'Restoring', 'SendDisabled', 'ReceiveDisabled', 'Creating', 'Deleting', - * 'Renaming', 'Unknown' - */ - status?: EntityStatus; - /** - * Properties of capture description - */ - captureDescription?: CaptureDescription; +/** Optional parameters. */ +export interface NamespacesDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; } -/** - * Single item in List or Get Alias(Disaster Recovery configuration) operation - */ -export interface ArmDisasterRecovery extends Resource { - /** - * Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' - * or 'Succeeded' or 'Failed'. Possible values include: 'Accepted', 'Succeeded', 'Failed' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: ProvisioningStateDR; - /** - * Number of entities pending to be replicated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly pendingReplicationOperationsCount?: number; - /** - * ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing - */ - partnerNamespace?: string; - /** - * Primary/Secondary eventhub namespace name, which is part of GEO DR pairing - */ - alternateName?: string; - /** - * role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or - * 'Secondary'. Possible values include: 'Primary', 'PrimaryNotReplicating', 'Secondary' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly role?: RoleDisasterRecovery; -} +/** Optional parameters. */ +export interface NamespacesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Single item in List or Get Migration Config operation - */ -export interface MigrationConfigProperties extends Resource { - /** - * Provisioning state of Migration Configuration - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly provisioningState?: string; - /** - * Number of entities pending to be replicated. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly pendingReplicationOperationsCount?: number; - /** - * Existing premium Namespace ARM Id name which has no entities, will be used for migration - */ - targetNamespace: string; - /** - * Name to access Standard Namespace after migration - */ - postMigrationName: string; - /** - * State in which Standard to Premium Migration is, possible values : Unknown, Reverting, - * Completing, Initiating, Syncing, Active - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly migrationState?: string; -} +/** Contains response data for the get operation. */ +export type NamespacesGetResponse = SBNamespace; -/** - * Properties supplied for Subnet - */ -export interface Subnet { - /** - * Resource ID of Virtual Network Subnet - */ - id: string; -} +/** Optional parameters. */ +export interface NamespacesUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Description of NetWorkRuleSet - IpRules resource. - */ -export interface NWRuleSetIpRules { - /** - * IP Mask - */ - ipMask?: string; - /** - * The IP Filter Action. Possible values include: 'Allow'. Default value: 'Allow'. - */ - action?: NetworkRuleIPAction; -} +/** Contains response data for the update operation. */ +export type NamespacesUpdateResponse = SBNamespace; -/** - * Description of VirtualNetworkRules - NetworkRules resource. - */ -export interface NWRuleSetVirtualNetworkRules { - /** - * Subnet properties - */ - subnet?: Subnet; - /** - * Value that indicates whether to ignore missing VNet Service Endpoint - */ - ignoreMissingVnetServiceEndpoint?: boolean; -} +/** Optional parameters. */ +export interface NamespacesListVirtualNetworkRulesOptionalParams + extends coreClient.OperationOptions {} -/** - * Description of NetworkRuleSet resource. - */ -export interface NetworkRuleSet extends Resource { - /** - * Default Action for Network Rule Set. Possible values include: 'Allow', 'Deny' - */ - defaultAction?: DefaultAction; - /** - * List VirtualNetwork Rules - */ - virtualNetworkRules?: NWRuleSetVirtualNetworkRules[]; - /** - * List of IpRules - */ - ipRules?: NWRuleSetIpRules[]; -} +/** Contains response data for the listVirtualNetworkRules operation. */ +export type NamespacesListVirtualNetworkRulesResponse = VirtualNetworkRuleListResult; -/** - * Optional Parameters. - */ -export interface QueuesListByNamespaceOptionalParams extends msRest.RequestOptionsBase { - /** - * Skip is only used if a previous operation returned a partial result. If a previous response - * contains a nextLink element, the value of the nextLink element will include a skip parameter - * that specifies a starting point to use for subsequent calls. - */ - skip?: number; - /** - * May be used to limit the number of results to the most recent N usageDetails. - */ - top?: number; -} +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Optional Parameters. - */ -export interface TopicsListByNamespaceOptionalParams extends msRest.RequestOptionsBase { - /** - * Skip is only used if a previous operation returned a partial result. If a previous response - * contains a nextLink element, the value of the nextLink element will include a skip parameter - * that specifies a starting point to use for subsequent calls. - */ - skip?: number; - /** - * May be used to limit the number of results to the most recent N usageDetails. - */ - top?: number; -} +/** Contains response data for the createOrUpdateVirtualNetworkRule operation. */ +export type NamespacesCreateOrUpdateVirtualNetworkRuleResponse = VirtualNetworkRule; -/** - * Optional Parameters. - */ -export interface SubscriptionsListByTopicOptionalParams extends msRest.RequestOptionsBase { - /** - * Skip is only used if a previous operation returned a partial result. If a previous response - * contains a nextLink element, the value of the nextLink element will include a skip parameter - * that specifies a starting point to use for subsequent calls. - */ - skip?: number; - /** - * May be used to limit the number of results to the most recent N usageDetails. - */ - top?: number; -} +/** Optional parameters. */ +export interface NamespacesDeleteVirtualNetworkRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Optional Parameters. - */ -export interface RulesListBySubscriptionsOptionalParams extends msRest.RequestOptionsBase { - /** - * Skip is only used if a previous operation returned a partial result. If a previous response - * contains a nextLink element, the value of the nextLink element will include a skip parameter - * that specifies a starting point to use for subsequent calls. - */ - skip?: number; - /** - * May be used to limit the number of results to the most recent N usageDetails. - */ - top?: number; -} +/** Optional parameters. */ +export interface NamespacesGetVirtualNetworkRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * An interface representing ServiceBusManagementClientOptions. - */ -export interface ServiceBusManagementClientOptions extends AzureServiceClientOptions { - baseUri?: string; -} +/** Contains response data for the getVirtualNetworkRule operation. */ +export type NamespacesGetVirtualNetworkRuleResponse = VirtualNetworkRule; -/** - * @interface - * Result of the request to list ServiceBus operations. It contains a list of operations and a URL - * link to get the next set of results. - * @extends Array - */ -export interface OperationListResult extends Array { - /** - * URL to get the next set of operation list results if there are any. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Optional parameters. */ +export interface NamespacesListAuthorizationRulesOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * The response of the List Namespace operation. - * @extends Array - */ -export interface SBNamespaceListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of Namespaces. - */ - nextLink?: string; -} +/** Contains response data for the listAuthorizationRules operation. */ +export type NamespacesListAuthorizationRulesResponse = SBAuthorizationRuleListResult; -/** - * @interface - * The response to the List Namespace operation. - * @extends Array - */ -export interface SBAuthorizationRuleListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of Authorization - * Rules. - */ - nextLink?: string; -} +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * The response of the List NetworkRuleSet operation. - * @extends Array - */ -export interface NetworkRuleSetListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of - * NetworkRuleSet. - */ - nextLink?: string; -} +/** Contains response data for the createOrUpdateAuthorizationRule operation. */ +export type NamespacesCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule; -/** - * @interface - * The result of the List Alias(Disaster Recovery configuration) operation. - * @extends Array - */ -export interface ArmDisasterRecoveryListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster - * Recovery configuration) - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Optional parameters. */ +export interface NamespacesDeleteAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * The result of the List migrationConfigurations operation. - * @extends Array - */ -export interface MigrationConfigListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of - * migrationConfigurations - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Optional parameters. */ +export interface NamespacesGetAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * The response to the List Queues operation. - * @extends Array - */ -export interface SBQueueListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of queues. - */ - nextLink?: string; -} +/** Contains response data for the getAuthorizationRule operation. */ +export type NamespacesGetAuthorizationRuleResponse = SBAuthorizationRule; -/** - * @interface - * The response to the List Topics operation. - * @extends Array - */ -export interface SBTopicListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of topics. - */ - nextLink?: string; -} +/** Optional parameters. */ +export interface NamespacesListKeysOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * The response to the List Subscriptions operation. - * @extends Array - */ -export interface SBSubscriptionListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of subscriptions. - */ - nextLink?: string; -} +/** Contains response data for the listKeys operation. */ +export type NamespacesListKeysResponse = AccessKeys; -/** - * @interface - * The response of the List rule operation. - * @extends Array - */ -export interface RuleListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of rules - */ - nextLink?: string; -} +/** Optional parameters. */ +export interface NamespacesRegenerateKeysOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * The response of the List PremiumMessagingRegions operation. - * @extends Array - */ -export interface PremiumMessagingRegionsListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of - * PremiumMessagingRegions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the regenerateKeys operation. */ +export type NamespacesRegenerateKeysResponse = AccessKeys; -/** - * @interface - * The result of the List EventHubs operation. - * @extends Array - */ -export interface EventHubListResult extends Array { - /** - * Link to the next set of results. Not empty if Value contains incomplete list of EventHubs. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Optional parameters. */ +export interface NamespacesCheckNameAvailabilityOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for SkuName. - * Possible values include: 'Basic', 'Standard', 'Premium' - * @readonly - * @enum {string} - */ -export type SkuName = 'Basic' | 'Standard' | 'Premium'; +/** Contains response data for the checkNameAvailability operation. */ +export type NamespacesCheckNameAvailabilityResponse = CheckNameAvailabilityResult; -/** - * Defines values for SkuTier. - * Possible values include: 'Basic', 'Standard', 'Premium' - * @readonly - * @enum {string} - */ -export type SkuTier = 'Basic' | 'Standard' | 'Premium'; +/** Optional parameters. */ +export interface NamespacesCreateOrUpdateNetworkRuleSetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for NameSpaceType. - * Possible values include: 'Messaging', 'NotificationHub', 'Mixed', 'EventHub', 'Relay' - * @readonly - * @enum {string} - */ -export type NameSpaceType = 'Messaging' | 'NotificationHub' | 'Mixed' | 'EventHub' | 'Relay'; +/** Contains response data for the createOrUpdateNetworkRuleSet operation. */ +export type NamespacesCreateOrUpdateNetworkRuleSetResponse = NetworkRuleSet; -/** - * Defines values for AccessRights. - * Possible values include: 'Manage', 'Send', 'Listen' - * @readonly - * @enum {string} - */ -export type AccessRights = 'Manage' | 'Send' | 'Listen'; +/** Optional parameters. */ +export interface NamespacesGetNetworkRuleSetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for KeyType. - * Possible values include: 'PrimaryKey', 'SecondaryKey' - * @readonly - * @enum {string} - */ -export type KeyType = 'PrimaryKey' | 'SecondaryKey'; +/** Contains response data for the getNetworkRuleSet operation. */ +export type NamespacesGetNetworkRuleSetResponse = NetworkRuleSet; -/** - * Defines values for EntityStatus. - * Possible values include: 'Active', 'Disabled', 'Restoring', 'SendDisabled', 'ReceiveDisabled', - * 'Creating', 'Deleting', 'Renaming', 'Unknown' - * @readonly - * @enum {string} - */ -export type EntityStatus = 'Active' | 'Disabled' | 'Restoring' | 'SendDisabled' | 'ReceiveDisabled' | 'Creating' | 'Deleting' | 'Renaming' | 'Unknown'; +/** Optional parameters. */ +export interface NamespacesListNetworkRuleSetsOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for UnavailableReason. - * Possible values include: 'None', 'InvalidName', 'SubscriptionIsDisabled', 'NameInUse', - * 'NameInLockdown', 'TooManyNamespaceInCurrentSubscription' - * @readonly - * @enum {string} - */ -export type UnavailableReason = 'None' | 'InvalidName' | 'SubscriptionIsDisabled' | 'NameInUse' | 'NameInLockdown' | 'TooManyNamespaceInCurrentSubscription'; +/** Contains response data for the listNetworkRuleSets operation. */ +export type NamespacesListNetworkRuleSetsResponse = NetworkRuleSetListResult; -/** - * Defines values for FilterType. - * Possible values include: 'SqlFilter', 'CorrelationFilter' - * @readonly - * @enum {string} - */ -export type FilterType = 'SqlFilter' | 'CorrelationFilter'; +/** Optional parameters. */ +export interface NamespacesMigrateOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for EncodingCaptureDescription. - * Possible values include: 'Avro', 'AvroDeflate' - * @readonly - * @enum {string} - */ -export type EncodingCaptureDescription = 'Avro' | 'AvroDeflate'; +/** Optional parameters. */ +export interface NamespacesListIpFilterRulesNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ProvisioningStateDR. - * Possible values include: 'Accepted', 'Succeeded', 'Failed' - * @readonly - * @enum {string} - */ -export type ProvisioningStateDR = 'Accepted' | 'Succeeded' | 'Failed'; +/** Contains response data for the listIpFilterRulesNext operation. */ +export type NamespacesListIpFilterRulesNextResponse = IpFilterRuleListResult; -/** - * Defines values for RoleDisasterRecovery. - * Possible values include: 'Primary', 'PrimaryNotReplicating', 'Secondary' - * @readonly - * @enum {string} - */ -export type RoleDisasterRecovery = 'Primary' | 'PrimaryNotReplicating' | 'Secondary'; +/** Optional parameters. */ +export interface NamespacesListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for NetworkRuleIPAction. - * Possible values include: 'Allow' - * @readonly - * @enum {string} - */ -export type NetworkRuleIPAction = 'Allow'; +/** Contains response data for the listNext operation. */ +export type NamespacesListNextResponse = SBNamespaceListResult; -/** - * Defines values for DefaultAction. - * Possible values include: 'Allow', 'Deny' - * @readonly - * @enum {string} - */ -export type DefaultAction = 'Allow' | 'Deny'; +/** Optional parameters. */ +export interface NamespacesListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type OperationsListResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupNext operation. */ +export type NamespacesListByResourceGroupNextResponse = SBNamespaceListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; +/** Optional parameters. */ +export interface NamespacesListVirtualNetworkRulesNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type OperationsListNextResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; - -/** - * Contains response data for the checkNameAvailabilityMethod operation. - */ -export type NamespacesCheckNameAvailabilityMethodResponse = CheckNameAvailabilityResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: CheckNameAvailabilityResult; - }; -}; - -/** - * Contains response data for the list operation. - */ -export type NamespacesListResponse = SBNamespaceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBNamespaceListResult; - }; -}; - -/** - * Contains response data for the listByResourceGroup operation. - */ -export type NamespacesListByResourceGroupResponse = SBNamespaceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBNamespaceListResult; - }; -}; - -/** - * Contains response data for the createOrUpdate operation. - */ -export type NamespacesCreateOrUpdateResponse = SBNamespace & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listVirtualNetworkRulesNext operation. */ +export type NamespacesListVirtualNetworkRulesNextResponse = VirtualNetworkRuleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBNamespace; - }; -}; +/** Optional parameters. */ +export interface NamespacesListAuthorizationRulesNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type NamespacesGetResponse = SBNamespace & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listAuthorizationRulesNext operation. */ +export type NamespacesListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBNamespace; - }; -}; +/** Optional parameters. */ +export interface NamespacesListNetworkRuleSetsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type NamespacesUpdateResponse = SBNamespace & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNetworkRuleSetsNext operation. */ +export type NamespacesListNetworkRuleSetsNextResponse = NetworkRuleSetListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBNamespace; - }; -}; - -/** - * Contains response data for the listAuthorizationRules operation. - */ -export type NamespacesListAuthorizationRulesResponse = SBAuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRuleListResult; - }; -}; +/** Contains response data for the list operation. */ +export type PrivateEndpointConnectionsListResponse = PrivateEndpointConnectionListResult; -/** - * Contains response data for the createOrUpdateAuthorizationRule operation. - */ -export type NamespacesCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRule; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; -/** - * Contains response data for the getAuthorizationRule operation. - */ -export type NamespacesGetAuthorizationRuleResponse = SBAuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRule; - }; -}; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listKeys operation. - */ -export type NamespacesListKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the regenerateKeys operation. - */ -export type NamespacesRegenerateKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type PrivateEndpointConnectionsListNextResponse = PrivateEndpointConnectionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface PrivateLinkResourcesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateNetworkRuleSet operation. - */ -export type NamespacesCreateOrUpdateNetworkRuleSetResponse = NetworkRuleSet & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type PrivateLinkResourcesGetResponse = PrivateLinkResourcesListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkRuleSet; - }; -}; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getNetworkRuleSet operation. - */ -export type NamespacesGetNetworkRuleSetResponse = NetworkRuleSet & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the checkNameAvailability operation. */ +export type DisasterRecoveryConfigsCheckNameAvailabilityResponse = CheckNameAvailabilityResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkRuleSet; - }; -}; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNetworkRuleSets operation. - */ -export type NamespacesListNetworkRuleSetsResponse = NetworkRuleSetListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type DisasterRecoveryConfigsListResponse = ArmDisasterRecoveryListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkRuleSetListResult; - }; -}; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type NamespacesBeginCreateOrUpdateResponse = SBNamespace & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type DisasterRecoveryConfigsCreateOrUpdateResponse = ArmDisasterRecovery; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBNamespace; - }; -}; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type NamespacesListNextResponse = SBNamespaceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBNamespaceListResult; - }; -}; +/** Contains response data for the get operation. */ +export type DisasterRecoveryConfigsGetResponse = ArmDisasterRecovery; -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type NamespacesListByResourceGroupNextResponse = SBNamespaceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsBreakPairingOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBNamespaceListResult; - }; -}; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsFailOverOptionalParams + extends coreClient.OperationOptions { + /** Parameters required to create an Alias(Disaster Recovery configuration) */ + parameters?: FailoverProperties; +} -/** - * Contains response data for the listAuthorizationRulesNext operation. - */ -export type NamespacesListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRuleListResult; - }; -}; +/** Contains response data for the listAuthorizationRules operation. */ +export type DisasterRecoveryConfigsListAuthorizationRulesResponse = SBAuthorizationRuleListResult; -/** - * Contains response data for the listNetworkRuleSetsNext operation. - */ -export type NamespacesListNetworkRuleSetsNextResponse = NetworkRuleSetListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkRuleSetListResult; - }; -}; +/** Contains response data for the getAuthorizationRule operation. */ +export type DisasterRecoveryConfigsGetAuthorizationRuleResponse = SBAuthorizationRule; -/** - * Contains response data for the checkNameAvailabilityMethod operation. - */ -export type DisasterRecoveryConfigsCheckNameAvailabilityMethodResponse = CheckNameAvailabilityResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListKeysOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: CheckNameAvailabilityResult; - }; -}; +/** Contains response data for the listKeys operation. */ +export type DisasterRecoveryConfigsListKeysResponse = AccessKeys; -/** - * Contains response data for the list operation. - */ -export type DisasterRecoveryConfigsListResponse = ArmDisasterRecoveryListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ArmDisasterRecoveryListResult; - }; -}; +/** Contains response data for the listNext operation. */ +export type DisasterRecoveryConfigsListNextResponse = ArmDisasterRecoveryListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type DisasterRecoveryConfigsCreateOrUpdateResponse = ArmDisasterRecovery & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DisasterRecoveryConfigsListAuthorizationRulesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ArmDisasterRecovery; - }; -}; +/** Contains response data for the listAuthorizationRulesNext operation. */ +export type DisasterRecoveryConfigsListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult; -/** - * Contains response data for the get operation. - */ -export type DisasterRecoveryConfigsGetResponse = ArmDisasterRecovery & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface QueuesListAuthorizationRulesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ArmDisasterRecovery; - }; -}; +/** Contains response data for the listAuthorizationRules operation. */ +export type QueuesListAuthorizationRulesResponse = SBAuthorizationRuleListResult; -/** - * Contains response data for the listAuthorizationRules operation. - */ -export type DisasterRecoveryConfigsListAuthorizationRulesResponse = SBAuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface QueuesCreateOrUpdateAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRuleListResult; - }; -}; +/** Contains response data for the createOrUpdateAuthorizationRule operation. */ +export type QueuesCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule; -/** - * Contains response data for the getAuthorizationRule operation. - */ -export type DisasterRecoveryConfigsGetAuthorizationRuleResponse = SBAuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface QueuesDeleteAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRule; - }; -}; +/** Optional parameters. */ +export interface QueuesGetAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listKeys operation. - */ -export type DisasterRecoveryConfigsListKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the getAuthorizationRule operation. */ +export type QueuesGetAuthorizationRuleResponse = SBAuthorizationRule; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface QueuesListKeysOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type DisasterRecoveryConfigsListNextResponse = ArmDisasterRecoveryListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listKeys operation. */ +export type QueuesListKeysResponse = AccessKeys; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ArmDisasterRecoveryListResult; - }; -}; +/** Optional parameters. */ +export interface QueuesRegenerateKeysOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAuthorizationRulesNext operation. - */ -export type DisasterRecoveryConfigsListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the regenerateKeys operation. */ +export type QueuesRegenerateKeysResponse = AccessKeys; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRuleListResult; - }; -}; +/** Optional parameters. */ +export interface QueuesListByNamespaceOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} -/** - * Contains response data for the list operation. - */ -export type MigrationConfigsListResponse = MigrationConfigListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByNamespace operation. */ +export type QueuesListByNamespaceResponse = SBQueueListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MigrationConfigListResult; - }; -}; +/** Optional parameters. */ +export interface QueuesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createAndStartMigration operation. - */ -export type MigrationConfigsCreateAndStartMigrationResponse = MigrationConfigProperties & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type QueuesCreateOrUpdateResponse = SBQueue; - /** - * The response body as parsed JSON or XML - */ - parsedBody: MigrationConfigProperties; - }; -}; +/** Optional parameters. */ +export interface QueuesDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type MigrationConfigsGetResponse = MigrationConfigProperties & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface QueuesGetOptionalParams extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MigrationConfigProperties; - }; -}; +/** Contains response data for the get operation. */ +export type QueuesGetResponse = SBQueue; -/** - * Contains response data for the beginCreateAndStartMigration operation. - */ -export type MigrationConfigsBeginCreateAndStartMigrationResponse = MigrationConfigProperties & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface QueuesListAuthorizationRulesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MigrationConfigProperties; - }; -}; +/** Contains response data for the listAuthorizationRulesNext operation. */ +export type QueuesListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult; -/** - * Contains response data for the listNext operation. - */ -export type MigrationConfigsListNextResponse = MigrationConfigListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface QueuesListByNamespaceNextOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MigrationConfigListResult; - }; -}; +/** Contains response data for the listByNamespaceNext operation. */ +export type QueuesListByNamespaceNextResponse = SBQueueListResult; -/** - * Contains response data for the listByNamespace operation. - */ -export type QueuesListByNamespaceResponse = SBQueueListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface TopicsListAuthorizationRulesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBQueueListResult; - }; -}; +/** Contains response data for the listAuthorizationRules operation. */ +export type TopicsListAuthorizationRulesResponse = SBAuthorizationRuleListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type QueuesCreateOrUpdateResponse = SBQueue & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface TopicsCreateOrUpdateAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBQueue; - }; -}; +/** Contains response data for the createOrUpdateAuthorizationRule operation. */ +export type TopicsCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule; -/** - * Contains response data for the get operation. - */ -export type QueuesGetResponse = SBQueue & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface TopicsGetAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBQueue; - }; -}; +/** Contains response data for the getAuthorizationRule operation. */ +export type TopicsGetAuthorizationRuleResponse = SBAuthorizationRule; -/** - * Contains response data for the listAuthorizationRules operation. - */ -export type QueuesListAuthorizationRulesResponse = SBAuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface TopicsDeleteAuthorizationRuleOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRuleListResult; - }; -}; +/** Optional parameters. */ +export interface TopicsListKeysOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdateAuthorizationRule operation. - */ -export type QueuesCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listKeys operation. */ +export type TopicsListKeysResponse = AccessKeys; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRule; - }; -}; +/** Optional parameters. */ +export interface TopicsRegenerateKeysOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the getAuthorizationRule operation. - */ -export type QueuesGetAuthorizationRuleResponse = SBAuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the regenerateKeys operation. */ +export type TopicsRegenerateKeysResponse = AccessKeys; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRule; - }; -}; +/** Optional parameters. */ +export interface TopicsListByNamespaceOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} -/** - * Contains response data for the listKeys operation. - */ -export type QueuesListKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByNamespace operation. */ +export type TopicsListByNamespaceResponse = SBTopicListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface TopicsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the regenerateKeys operation. - */ -export type QueuesRegenerateKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type TopicsCreateOrUpdateResponse = SBTopic; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface TopicsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByNamespaceNext operation. - */ -export type QueuesListByNamespaceNextResponse = SBQueueListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface TopicsGetOptionalParams extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBQueueListResult; - }; -}; +/** Contains response data for the get operation. */ +export type TopicsGetResponse = SBTopic; -/** - * Contains response data for the listAuthorizationRulesNext operation. - */ -export type QueuesListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface TopicsListAuthorizationRulesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRuleListResult; - }; -}; +/** Contains response data for the listAuthorizationRulesNext operation. */ +export type TopicsListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult; -/** - * Contains response data for the listByNamespace operation. - */ -export type TopicsListByNamespaceResponse = SBTopicListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface TopicsListByNamespaceNextOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBTopicListResult; - }; -}; +/** Contains response data for the listByNamespaceNext operation. */ +export type TopicsListByNamespaceNextResponse = SBTopicListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type TopicsCreateOrUpdateResponse = SBTopic & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface EventHubsListByNamespaceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBTopic; - }; -}; +/** Contains response data for the listByNamespace operation. */ +export type EventHubsListByNamespaceResponse = EventHubListResult; -/** - * Contains response data for the get operation. - */ -export type TopicsGetResponse = SBTopic & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface EventHubsListByNamespaceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBTopic; - }; -}; +/** Contains response data for the listByNamespaceNext operation. */ +export type EventHubsListByNamespaceNextResponse = EventHubListResult; -/** - * Contains response data for the listAuthorizationRules operation. - */ -export type TopicsListAuthorizationRulesResponse = SBAuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface MigrationConfigsListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRuleListResult; - }; -}; +/** Contains response data for the list operation. */ +export type MigrationConfigsListResponse = MigrationConfigListResult; -/** - * Contains response data for the createOrUpdateAuthorizationRule operation. - */ -export type TopicsCreateOrUpdateAuthorizationRuleResponse = SBAuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface MigrationConfigsCreateAndStartMigrationOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRule; - }; -}; +/** Contains response data for the createAndStartMigration operation. */ +export type MigrationConfigsCreateAndStartMigrationResponse = MigrationConfigProperties; -/** - * Contains response data for the getAuthorizationRule operation. - */ -export type TopicsGetAuthorizationRuleResponse = SBAuthorizationRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface MigrationConfigsDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRule; - }; -}; +/** Optional parameters. */ +export interface MigrationConfigsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listKeys operation. - */ -export type TopicsListKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type MigrationConfigsGetResponse = MigrationConfigProperties; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface MigrationConfigsCompleteMigrationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the regenerateKeys operation. - */ -export type TopicsRegenerateKeysResponse = AccessKeys & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface MigrationConfigsRevertOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: AccessKeys; - }; -}; +/** Optional parameters. */ +export interface MigrationConfigsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByNamespaceNext operation. - */ -export type TopicsListByNamespaceNextResponse = SBTopicListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type MigrationConfigsListNextResponse = MigrationConfigListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBTopicListResult; - }; -}; +/** Optional parameters. */ +export interface PremiumMessagingRegionsOperationsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listAuthorizationRulesNext operation. - */ -export type TopicsListAuthorizationRulesNextResponse = SBAuthorizationRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type PremiumMessagingRegionsOperationsListResponse = PremiumMessagingRegionsListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBAuthorizationRuleListResult; - }; -}; +/** Optional parameters. */ +export interface PremiumMessagingRegionsOperationsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByTopic operation. - */ -export type SubscriptionsListByTopicResponse = SBSubscriptionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type PremiumMessagingRegionsOperationsListNextResponse = PremiumMessagingRegionsListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBSubscriptionListResult; - }; -}; +/** Optional parameters. */ +export interface RegionsListBySkuOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type SubscriptionsCreateOrUpdateResponse = SBSubscription & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySku operation. */ +export type RegionsListBySkuResponse = PremiumMessagingRegionsListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBSubscription; - }; -}; +/** Optional parameters. */ +export interface RegionsListBySkuNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type SubscriptionsGetResponse = SBSubscription & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySkuNext operation. */ +export type RegionsListBySkuNextResponse = PremiumMessagingRegionsListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBSubscription; - }; -}; +/** Optional parameters. */ +export interface SubscriptionsListByTopicOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} -/** - * Contains response data for the listByTopicNext operation. - */ -export type SubscriptionsListByTopicNextResponse = SBSubscriptionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByTopic operation. */ +export type SubscriptionsListByTopicResponse = SBSubscriptionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SBSubscriptionListResult; - }; -}; +/** Optional parameters. */ +export interface SubscriptionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listBySubscriptions operation. - */ -export type RulesListBySubscriptionsResponse = RuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type SubscriptionsCreateOrUpdateResponse = SBSubscription; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RuleListResult; - }; -}; +/** Optional parameters. */ +export interface SubscriptionsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type RulesCreateOrUpdateResponse = Rule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SubscriptionsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Rule; - }; -}; +/** Contains response data for the get operation. */ +export type SubscriptionsGetResponse = SBSubscription; -/** - * Contains response data for the get operation. - */ -export type RulesGetResponse = Rule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SubscriptionsListByTopicNextOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Rule; - }; -}; +/** Contains response data for the listByTopicNext operation. */ +export type SubscriptionsListByTopicNextResponse = SBSubscriptionListResult; -/** - * Contains response data for the listBySubscriptionsNext operation. - */ -export type RulesListBySubscriptionsNextResponse = RuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RulesListBySubscriptionsOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RuleListResult; - }; -}; +/** Contains response data for the listBySubscriptions operation. */ +export type RulesListBySubscriptionsResponse = RuleListResult; -/** - * Contains response data for the listBySku operation. - */ -export type RegionsListBySkuResponse = PremiumMessagingRegionsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremiumMessagingRegionsListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type RulesCreateOrUpdateResponse = Rule; -/** - * Contains response data for the listBySkuNext operation. - */ -export type RegionsListBySkuNextResponse = PremiumMessagingRegionsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RulesDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremiumMessagingRegionsListResult; - }; -}; +/** Optional parameters. */ +export interface RulesGetOptionalParams extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type PremiumMessagingRegionsListResponse = PremiumMessagingRegionsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RulesGetResponse = Rule; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremiumMessagingRegionsListResult; - }; -}; +/** Optional parameters. */ +export interface RulesListBySubscriptionsNextOptionalParams + extends coreClient.OperationOptions { + /** Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls. */ + skip?: number; + /** May be used to limit the number of results to the most recent N usageDetails. */ + top?: number; +} -/** - * Contains response data for the listNext operation. - */ -export type PremiumMessagingRegionsListNextResponse = PremiumMessagingRegionsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySubscriptionsNext operation. */ +export type RulesListBySubscriptionsNextResponse = RuleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PremiumMessagingRegionsListResult; - }; -}; +/** Optional parameters. */ +export interface OperationsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByNamespace operation. - */ -export type EventHubsListByNamespaceResponse = EventHubListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type OperationsListResponse = OperationListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: EventHubListResult; - }; -}; +/** Optional parameters. */ +export interface OperationsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByNamespaceNext operation. - */ -export type EventHubsListByNamespaceNextResponse = EventHubListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listNext operation. */ +export type OperationsListNextResponse = OperationListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: EventHubListResult; - }; -}; +/** Optional parameters. */ +export interface ServiceBusManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/servicebus/arm-servicebus/src/models/mappers.ts b/sdk/servicebus/arm-servicebus/src/models/mappers.ts index 391ff4d395bc..0eab492ee270 100644 --- a/sdk/servicebus/arm-servicebus/src/models/mappers.ts +++ b/sdk/servicebus/arm-servicebus/src/models/mappers.ts @@ -1,40 +1,62 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export const CloudError = CloudErrorMapper; -export const BaseResource = BaseResourceMapper; +export const IpFilterRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpFilterRuleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IpFilterRule" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; -export const Resource: msRest.CompositeMapper = { - serializedName: "Resource", +export const Resource: coreClient.CompositeMapper = { type: { name: "Composite", className: "Resource", modelProperties: { id: { - readOnly: true, serializedName: "id", + readOnly: true, type: { name: "String" } }, name: { - readOnly: true, serializedName: "name", + readOnly: true, type: { name: "String" } }, type: { - readOnly: true, serializedName: "type", + readOnly: true, type: { name: "String" } @@ -43,27 +65,70 @@ export const Resource: msRest.CompositeMapper = { } }; -export const TrackedResource: msRest.CompositeMapper = { - serializedName: "TrackedResource", +export const ErrorResponse: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TrackedResource", + className: "ErrorResponse", modelProperties: { - ...Resource.type.modelProperties, - location: { - required: true, - serializedName: "location", + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorResponseError" + } + } + } + } +}; + +export const ErrorResponseError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorResponseError", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, type: { name: "String" } }, - tags: { - serializedName: "tags", + message: { + serializedName: "message", + readOnly: true, type: { - name: "Dictionary", - value: { + name: "String" + } + }, + target: { + serializedName: "target", + readOnly: true, + type: { + name: "String" + } + }, + details: { + serializedName: "details", + readOnly: true, + type: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "ErrorResponse" + } + } + } + }, + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo" } } } @@ -72,61 +137,75 @@ export const TrackedResource: msRest.CompositeMapper = { } }; -export const ResourceNamespacePatch: msRest.CompositeMapper = { - serializedName: "ResourceNamespacePatch", +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ResourceNamespacePatch", + className: "ErrorAdditionalInfo", modelProperties: { - ...Resource.type.modelProperties, - location: { - serializedName: "location", + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - tags: { - serializedName: "tags", + info: { + serializedName: "info", + readOnly: true, type: { name: "Dictionary", - value: { + value: { type: { name: "any" } } + } + } + } + } +}; + +export const SBNamespaceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SBNamespaceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "SBNamespace" } } } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } } } } }; -export const SBSku: msRest.CompositeMapper = { - serializedName: "SBSku", +export const SBSku: coreClient.CompositeMapper = { type: { name: "Composite", className: "SBSku", modelProperties: { name: { - required: true, serializedName: "name", + required: true, type: { name: "Enum", - allowedValues: [ - "Basic", - "Standard", - "Premium" - ] + allowedValues: ["Basic", "Standard", "Premium"] } }, tier: { serializedName: "tier", type: { name: "Enum", - allowedValues: [ - "Basic", - "Standard", - "Premium" - ] + allowedValues: ["Basic", "Standard", "Premium"] } }, capacity: { @@ -139,51 +218,27 @@ export const SBSku: msRest.CompositeMapper = { } }; -export const SBNamespace: msRest.CompositeMapper = { - serializedName: "SBNamespace", +export const Identity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBNamespace", + className: "Identity", modelProperties: { - ...TrackedResource.type.modelProperties, - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "SBSku" - } - }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + principalId: { + serializedName: "principalId", type: { name: "String" } }, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", - type: { - name: "DateTime" - } - }, - updatedAt: { - readOnly: true, - serializedName: "properties.updatedAt", - type: { - name: "DateTime" - } - }, - serviceBusEndpoint: { - readOnly: true, - serializedName: "properties.serviceBusEndpoint", + tenantId: { + serializedName: "tenantId", type: { name: "String" } }, - metricId: { - readOnly: true, - serializedName: "properties.metricId", + type: { + defaultValue: "SystemAssigned", + isConstant: true, + serializedName: "type", type: { name: "String" } @@ -192,51 +247,70 @@ export const SBNamespace: msRest.CompositeMapper = { } }; -export const SBNamespaceUpdateParameters: msRest.CompositeMapper = { - serializedName: "SBNamespaceUpdateParameters", +export const Encryption: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBNamespaceUpdateParameters", + className: "Encryption", modelProperties: { - ...ResourceNamespacePatch.type.modelProperties, - sku: { - serializedName: "sku", + keyVaultProperties: { + serializedName: "keyVaultProperties", type: { name: "Composite", - className: "SBSku" + className: "KeyVaultProperties" } }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + keySource: { + defaultValue: "Microsoft.KeyVault", + isConstant: true, + serializedName: "keySource", type: { name: "String" } - }, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", + } + } + } +}; + +export const KeyVaultProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "KeyVaultProperties", + modelProperties: { + keyName: { + serializedName: "keyName", type: { - name: "DateTime" + name: "String" } }, - updatedAt: { - readOnly: true, - serializedName: "properties.updatedAt", + keyVaultUri: { + serializedName: "keyVaultUri", type: { - name: "DateTime" + name: "String" } - }, - serviceBusEndpoint: { - readOnly: true, - serializedName: "properties.serviceBusEndpoint", + } + } + } +}; + +export const PrivateEndpointConnectionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } } }, - metricId: { - readOnly: true, - serializedName: "properties.metricId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -245,136 +319,143 @@ export const SBNamespaceUpdateParameters: msRest.CompositeMapper = { } }; -export const SBNamespaceMigrate: msRest.CompositeMapper = { - serializedName: "SBNamespaceMigrate", +export const PrivateEndpoint: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBNamespaceMigrate", + className: "PrivateEndpoint", modelProperties: { - targetNamespaceType: { - required: true, - serializedName: "targetNamespaceType", + id: { + serializedName: "id", type: { - name: "Enum", - allowedValues: [ - "Messaging", - "NotificationHub", - "Mixed", - "EventHub", - "Relay" - ] + name: "String" } } } } }; -export const SBAuthorizationRule: msRest.CompositeMapper = { - serializedName: "SBAuthorizationRule", +export const ConnectionState: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBAuthorizationRule", + className: "ConnectionState", modelProperties: { - ...Resource.type.modelProperties, - rights: { - required: true, - serializedName: "properties.rights", + status: { + serializedName: "status", type: { - name: "Sequence", - element: { - type: { - name: "Enum", - allowedValues: [ - "Manage", - "Send", - "Listen" - ] - } - } + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" } } } } }; -export const AuthorizationRuleProperties: msRest.CompositeMapper = { - serializedName: "AuthorizationRuleProperties", +export const PrivateLinkResourcesListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AuthorizationRuleProperties", + className: "PrivateLinkResourcesListResult", modelProperties: { - rights: { - required: true, - serializedName: "rights", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "Enum", - allowedValues: [ - "Manage", - "Send", - "Listen" - ] + name: "Composite", + className: "PrivateLinkResource" } } } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } } } } }; -export const AccessKeys: msRest.CompositeMapper = { - serializedName: "AccessKeys", +export const PrivateLinkResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AccessKeys", + className: "PrivateLinkResource", modelProperties: { - primaryConnectionString: { - readOnly: true, - serializedName: "primaryConnectionString", + id: { + serializedName: "id", type: { name: "String" } }, - secondaryConnectionString: { - readOnly: true, - serializedName: "secondaryConnectionString", + name: { + serializedName: "name", type: { name: "String" } }, - aliasPrimaryConnectionString: { - readOnly: true, - serializedName: "aliasPrimaryConnectionString", + type: { + serializedName: "type", type: { name: "String" } }, - aliasSecondaryConnectionString: { - readOnly: true, - serializedName: "aliasSecondaryConnectionString", + groupId: { + serializedName: "properties.groupId", type: { name: "String" } }, - primaryKey: { - readOnly: true, - serializedName: "primaryKey", + requiredMembers: { + serializedName: "properties.requiredMembers", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - secondaryKey: { - readOnly: true, - serializedName: "secondaryKey", + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const VirtualNetworkRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkRuleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetworkRule" + } + } } }, - keyName: { - readOnly: true, - serializedName: "keyName", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -383,25 +464,14 @@ export const AccessKeys: msRest.CompositeMapper = { } }; -export const RegenerateAccessKeyParameters: msRest.CompositeMapper = { - serializedName: "RegenerateAccessKeyParameters", +export const CheckNameAvailability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RegenerateAccessKeyParameters", + className: "CheckNameAvailability", modelProperties: { - keyType: { + name: { + serializedName: "name", required: true, - serializedName: "keyType", - type: { - name: "Enum", - allowedValues: [ - "PrimaryKey", - "SecondaryKey" - ] - } - }, - key: { - serializedName: "key", type: { name: "String" } @@ -410,198 +480,382 @@ export const RegenerateAccessKeyParameters: msRest.CompositeMapper = { } }; -export const MessageCountDetails: msRest.CompositeMapper = { - serializedName: "MessageCountDetails", +export const CheckNameAvailabilityResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MessageCountDetails", + className: "CheckNameAvailabilityResult", modelProperties: { - activeMessageCount: { + message: { + serializedName: "message", readOnly: true, - serializedName: "activeMessageCount", type: { - name: "Number" + name: "String" } }, - deadLetterMessageCount: { - readOnly: true, - serializedName: "deadLetterMessageCount", + nameAvailable: { + serializedName: "nameAvailable", type: { - name: "Number" + name: "Boolean" } }, - scheduledMessageCount: { - readOnly: true, - serializedName: "scheduledMessageCount", + reason: { + serializedName: "reason", type: { - name: "Number" + name: "Enum", + allowedValues: [ + "None", + "InvalidName", + "SubscriptionIsDisabled", + "NameInUse", + "NameInLockdown", + "TooManyNamespaceInCurrentSubscription" + ] } - }, - transferMessageCount: { - readOnly: true, - serializedName: "transferMessageCount", + } + } + } +}; + +export const ArmDisasterRecoveryListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ArmDisasterRecoveryListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ArmDisasterRecovery" + } + } } }, - transferDeadLetterMessageCount: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "transferDeadLetterMessageCount", type: { - name: "Number" + name: "String" } } } } }; -export const SBQueue: msRest.CompositeMapper = { - serializedName: "SBQueue", +export const FailoverProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBQueue", + className: "FailoverProperties", modelProperties: { - ...Resource.type.modelProperties, - countDetails: { - readOnly: true, - serializedName: "properties.countDetails", + isSafeFailover: { + serializedName: "properties.IsSafeFailover", type: { - name: "Composite", - className: "MessageCountDetails" + name: "Boolean" } - }, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", + } + } + } +}; + +export const SBAuthorizationRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SBAuthorizationRuleListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SBAuthorizationRule" + } + } } }, - updatedAt: { - readOnly: true, - serializedName: "properties.updatedAt", + nextLink: { + serializedName: "nextLink", type: { - name: "DateTime" + name: "String" } - }, - accessedAt: { + } + } + } +}; + +export const AccessKeys: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessKeys", + modelProperties: { + primaryConnectionString: { + serializedName: "primaryConnectionString", readOnly: true, - serializedName: "properties.accessedAt", type: { - name: "DateTime" + name: "String" } }, - sizeInBytes: { + secondaryConnectionString: { + serializedName: "secondaryConnectionString", readOnly: true, - serializedName: "properties.sizeInBytes", type: { - name: "Number" + name: "String" } }, - messageCount: { + aliasPrimaryConnectionString: { + serializedName: "aliasPrimaryConnectionString", readOnly: true, - serializedName: "properties.messageCount", type: { - name: "Number" + name: "String" } }, - lockDuration: { - serializedName: "properties.lockDuration", + aliasSecondaryConnectionString: { + serializedName: "aliasSecondaryConnectionString", + readOnly: true, type: { - name: "TimeSpan" + name: "String" } }, - maxSizeInMegabytes: { - serializedName: "properties.maxSizeInMegabytes", + primaryKey: { + serializedName: "primaryKey", + readOnly: true, type: { - name: "Number" + name: "String" } }, - requiresDuplicateDetection: { - serializedName: "properties.requiresDuplicateDetection", + secondaryKey: { + serializedName: "secondaryKey", + readOnly: true, type: { - name: "Boolean" + name: "String" } }, - requiresSession: { - serializedName: "properties.requiresSession", + keyName: { + serializedName: "keyName", + readOnly: true, type: { - name: "Boolean" + name: "String" } - }, - defaultMessageTimeToLive: { - serializedName: "properties.defaultMessageTimeToLive", + } + } + } +}; + +export const RegenerateAccessKeyParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RegenerateAccessKeyParameters", + modelProperties: { + keyType: { + serializedName: "keyType", + required: true, type: { - name: "TimeSpan" + name: "Enum", + allowedValues: ["PrimaryKey", "SecondaryKey"] } }, - deadLetteringOnMessageExpiration: { - serializedName: "properties.deadLetteringOnMessageExpiration", + key: { + serializedName: "key", type: { - name: "Boolean" + name: "String" } - }, - duplicateDetectionHistoryTimeWindow: { - serializedName: "properties.duplicateDetectionHistoryTimeWindow", + } + } + } +}; + +export const EventHubListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EventHubListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "TimeSpan" - } + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Eventhub" + } + } + } }, - maxDeliveryCount: { - serializedName: "properties.maxDeliveryCount", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const CaptureDescription: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CaptureDescription", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" } }, - status: { - serializedName: "properties.status", + encoding: { + serializedName: "encoding", type: { name: "Enum", - allowedValues: [ - "Active", - "Disabled", - "Restoring", - "SendDisabled", - "ReceiveDisabled", - "Creating", - "Deleting", - "Renaming", - "Unknown" - ] + allowedValues: ["Avro", "AvroDeflate"] } }, - enableBatchedOperations: { - serializedName: "properties.enableBatchedOperations", + intervalInSeconds: { + constraints: { + InclusiveMaximum: 900, + InclusiveMinimum: 60 + }, + serializedName: "intervalInSeconds", type: { - name: "Boolean" + name: "Number" } }, - autoDeleteOnIdle: { - serializedName: "properties.autoDeleteOnIdle", + sizeLimitInBytes: { + constraints: { + InclusiveMaximum: 524288000, + InclusiveMinimum: 10485760 + }, + serializedName: "sizeLimitInBytes", type: { - name: "TimeSpan" + name: "Number" } }, - enablePartitioning: { - serializedName: "properties.enablePartitioning", + destination: { + serializedName: "destination", type: { - name: "Boolean" + name: "Composite", + className: "Destination" + } + } + } + } +}; + +export const Destination: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Destination", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" } }, - enableExpress: { - serializedName: "properties.enableExpress", + storageAccountResourceId: { + serializedName: "properties.storageAccountResourceId", + type: { + name: "String" + } + }, + blobContainer: { + serializedName: "properties.blobContainer", + type: { + name: "String" + } + }, + archiveNameFormat: { + serializedName: "properties.archiveNameFormat", + type: { + name: "String" + } + } + } + } +}; + +export const NWRuleSetVirtualNetworkRules: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NWRuleSetVirtualNetworkRules", + modelProperties: { + subnet: { + serializedName: "subnet", + type: { + name: "Composite", + className: "Subnet" + } + }, + ignoreMissingVnetServiceEndpoint: { + serializedName: "ignoreMissingVnetServiceEndpoint", type: { name: "Boolean" } + } + } + } +}; + +export const Subnet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Subnet", + modelProperties: { + id: { + serializedName: "id", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const NWRuleSetIpRules: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NWRuleSetIpRules", + modelProperties: { + ipMask: { + serializedName: "ipMask", + type: { + name: "String" + } }, - forwardTo: { - serializedName: "properties.forwardTo", + action: { + defaultValue: "Allow", + serializedName: "action", type: { name: "String" } + } + } + } +}; + +export const NetworkRuleSetListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkRuleSetListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkRuleSet" + } + } + } }, - forwardDeadLetteredMessagesTo: { - serializedName: "properties.forwardDeadLetteredMessagesTo", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -610,123 +864,313 @@ export const SBQueue: msRest.CompositeMapper = { } }; -export const SBTopic: msRest.CompositeMapper = { - serializedName: "SBTopic", +export const SBNamespaceMigrate: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBTopic", + className: "SBNamespaceMigrate", modelProperties: { - ...Resource.type.modelProperties, - sizeInBytes: { + targetNamespaceType: { + serializedName: "targetNamespaceType", + required: true, + type: { + name: "Enum", + allowedValues: [ + "Messaging", + "NotificationHub", + "Mixed", + "EventHub", + "Relay" + ] + } + } + } + } +}; + +export const MigrationConfigListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MigrationConfigListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrationConfigProperties" + } + } + } + }, + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.sizeInBytes", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const PremiumMessagingRegionsListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PremiumMessagingRegionsListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PremiumMessagingRegions" + } + } } }, - createdAt: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.createdAt", type: { - name: "DateTime" + name: "String" + } + } + } + } +}; + +export const PremiumMessagingRegionsProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PremiumMessagingRegionsProperties", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" } }, - updatedAt: { + fullName: { + serializedName: "fullName", readOnly: true, - serializedName: "properties.updatedAt", type: { - name: "DateTime" + name: "String" + } + } + } + } +}; + +export const SBQueueListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SBQueueListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SBQueue" + } + } } }, - accessedAt: { + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const MessageCountDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MessageCountDetails", + modelProperties: { + activeMessageCount: { + serializedName: "activeMessageCount", readOnly: true, - serializedName: "properties.accessedAt", type: { - name: "DateTime" + name: "Number" } }, - subscriptionCount: { + deadLetterMessageCount: { + serializedName: "deadLetterMessageCount", readOnly: true, - serializedName: "properties.subscriptionCount", type: { name: "Number" } }, - countDetails: { + scheduledMessageCount: { + serializedName: "scheduledMessageCount", readOnly: true, - serializedName: "properties.countDetails", type: { - name: "Composite", - className: "MessageCountDetails" + name: "Number" } }, - defaultMessageTimeToLive: { - serializedName: "properties.defaultMessageTimeToLive", + transferMessageCount: { + serializedName: "transferMessageCount", + readOnly: true, type: { - name: "TimeSpan" + name: "Number" } }, - maxSizeInMegabytes: { - serializedName: "properties.maxSizeInMegabytes", + transferDeadLetterMessageCount: { + serializedName: "transferDeadLetterMessageCount", + readOnly: true, type: { name: "Number" } + } + } + } +}; + +export const SBSubscriptionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SBSubscriptionListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SBSubscription" + } + } + } }, - requiresDuplicateDetection: { - serializedName: "properties.requiresDuplicateDetection", + nextLink: { + serializedName: "nextLink", type: { - name: "Boolean" + name: "String" + } + } + } + } +}; + +export const SBTopicListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SBTopicListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SBTopic" + } + } } }, - duplicateDetectionHistoryTimeWindow: { - serializedName: "properties.duplicateDetectionHistoryTimeWindow", + nextLink: { + serializedName: "nextLink", type: { - name: "TimeSpan" + name: "String" + } + } + } + } +}; + +export const RuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RuleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Rule" + } + } } }, - enableBatchedOperations: { - serializedName: "properties.enableBatchedOperations", + nextLink: { + serializedName: "nextLink", type: { - name: "Boolean" + name: "String" + } + } + } + } +}; + +export const Action: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Action", + modelProperties: { + sqlExpression: { + serializedName: "sqlExpression", + type: { + name: "String" } }, - status: { - serializedName: "properties.status", + compatibilityLevel: { + serializedName: "compatibilityLevel", type: { - name: "Enum", - allowedValues: [ - "Active", - "Disabled", - "Restoring", - "SendDisabled", - "ReceiveDisabled", - "Creating", - "Deleting", - "Renaming", - "Unknown" - ] + name: "Number" } }, - supportOrdering: { - serializedName: "properties.supportOrdering", + requiresPreprocessing: { + defaultValue: true, + serializedName: "requiresPreprocessing", type: { name: "Boolean" } - }, - autoDeleteOnIdle: { - serializedName: "properties.autoDeleteOnIdle", + } + } + } +}; + +export const SqlFilter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SqlFilter", + modelProperties: { + sqlExpression: { + serializedName: "sqlExpression", type: { - name: "TimeSpan" + name: "String" } }, - enablePartitioning: { - serializedName: "properties.enablePartitioning", + compatibilityLevel: { + defaultValue: 20, + constraints: { + InclusiveMaximum: 20, + InclusiveMinimum: 20 + }, + serializedName: "compatibilityLevel", type: { - name: "Boolean" + name: "Number" } }, - enableExpress: { - serializedName: "properties.enableExpress", + requiresPreprocessing: { + defaultValue: true, + serializedName: "requiresPreprocessing", type: { name: "Boolean" } @@ -735,128 +1179,98 @@ export const SBTopic: msRest.CompositeMapper = { } }; -export const SBSubscription: msRest.CompositeMapper = { - serializedName: "SBSubscription", +export const CorrelationFilter: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBSubscription", + className: "CorrelationFilter", modelProperties: { - ...Resource.type.modelProperties, - messageCount: { - readOnly: true, - serializedName: "properties.messageCount", - type: { - name: "Number" - } - }, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", - type: { - name: "DateTime" - } - }, - accessedAt: { - readOnly: true, - serializedName: "properties.accessedAt", - type: { - name: "DateTime" - } - }, - updatedAt: { - readOnly: true, - serializedName: "properties.updatedAt", - type: { - name: "DateTime" - } - }, - countDetails: { - readOnly: true, - serializedName: "properties.countDetails", + properties: { + serializedName: "properties", type: { - name: "Composite", - className: "MessageCountDetails" + name: "Dictionary", + value: { type: { name: "String" } } } }, - lockDuration: { - serializedName: "properties.lockDuration", + correlationId: { + serializedName: "correlationId", type: { - name: "TimeSpan" + name: "String" } }, - requiresSession: { - serializedName: "properties.requiresSession", + messageId: { + serializedName: "messageId", type: { - name: "Boolean" + name: "String" } }, - defaultMessageTimeToLive: { - serializedName: "properties.defaultMessageTimeToLive", + to: { + serializedName: "to", type: { - name: "TimeSpan" + name: "String" } }, - deadLetteringOnFilterEvaluationExceptions: { - serializedName: "properties.deadLetteringOnFilterEvaluationExceptions", + replyTo: { + serializedName: "replyTo", type: { - name: "Boolean" + name: "String" } }, - deadLetteringOnMessageExpiration: { - serializedName: "properties.deadLetteringOnMessageExpiration", + label: { + serializedName: "label", type: { - name: "Boolean" + name: "String" } }, - duplicateDetectionHistoryTimeWindow: { - serializedName: "properties.duplicateDetectionHistoryTimeWindow", + sessionId: { + serializedName: "sessionId", type: { - name: "TimeSpan" + name: "String" } }, - maxDeliveryCount: { - serializedName: "properties.maxDeliveryCount", + replyToSessionId: { + serializedName: "replyToSessionId", type: { - name: "Number" + name: "String" } }, - status: { - serializedName: "properties.status", + contentType: { + serializedName: "contentType", type: { - name: "Enum", - allowedValues: [ - "Active", - "Disabled", - "Restoring", - "SendDisabled", - "ReceiveDisabled", - "Creating", - "Deleting", - "Renaming", - "Unknown" - ] + name: "String" } }, - enableBatchedOperations: { - serializedName: "properties.enableBatchedOperations", + requiresPreprocessing: { + defaultValue: true, + serializedName: "requiresPreprocessing", type: { name: "Boolean" } - }, - autoDeleteOnIdle: { - serializedName: "properties.autoDeleteOnIdle", - type: { - name: "TimeSpan" - } - }, - forwardTo: { - serializedName: "properties.forwardTo", + } + } + } +}; + +export const OperationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } } }, - forwardDeadLetteredMessagesTo: { - serializedName: "properties.forwardDeadLetteredMessagesTo", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -865,83 +1279,79 @@ export const SBSubscription: msRest.CompositeMapper = { } }; -export const CheckNameAvailability: msRest.CompositeMapper = { - serializedName: "CheckNameAvailability", +export const Operation: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CheckNameAvailability", + className: "Operation", modelProperties: { name: { - required: true, serializedName: "name", + readOnly: true, type: { name: "String" } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } } } } }; -export const CheckNameAvailabilityResult: msRest.CompositeMapper = { - serializedName: "CheckNameAvailabilityResult", +export const OperationDisplay: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CheckNameAvailabilityResult", + className: "OperationDisplay", modelProperties: { - message: { + provider: { + serializedName: "provider", readOnly: true, - serializedName: "message", type: { name: "String" } }, - nameAvailable: { - serializedName: "nameAvailable", + resource: { + serializedName: "resource", + readOnly: true, type: { - name: "Boolean" + name: "String" } }, - reason: { - serializedName: "reason", + operation: { + serializedName: "operation", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "None", - "InvalidName", - "SubscriptionIsDisabled", - "NameInUse", - "NameInLockdown", - "TooManyNamespaceInCurrentSubscription" - ] + name: "String" } } } } }; -export const OperationDisplay: msRest.CompositeMapper = { - serializedName: "Operation_display", +export const IpFilterRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationDisplay", + className: "IpFilterRule", modelProperties: { - provider: { - readOnly: true, - serializedName: "provider", + ...Resource.type.modelProperties, + ipMask: { + serializedName: "properties.ipMask", type: { name: "String" } }, - resource: { - readOnly: true, - serializedName: "resource", + action: { + serializedName: "properties.action", type: { name: "String" } }, - operation: { - readOnly: true, - serializedName: "operation", + filterName: { + serializedName: "properties.filterName", type: { name: "String" } @@ -950,44 +1360,91 @@ export const OperationDisplay: msRest.CompositeMapper = { } }; -export const Operation: msRest.CompositeMapper = { - serializedName: "Operation", +export const TrackedResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Operation", + className: "TrackedResource", modelProperties: { - name: { - readOnly: true, - serializedName: "name", + ...Resource.type.modelProperties, + location: { + serializedName: "location", + required: true, type: { name: "String" } }, - display: { - serializedName: "display", + tags: { + serializedName: "tags", type: { - name: "Composite", - className: "OperationDisplay" + name: "Dictionary", + value: { type: { name: "String" } } } } } } }; -export const ErrorResponse: msRest.CompositeMapper = { - serializedName: "ErrorResponse", +export const ResourceNamespacePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorResponse", + className: "ResourceNamespacePatch", modelProperties: { - code: { - serializedName: "code", + ...Resource.type.modelProperties, + location: { + serializedName: "location", type: { name: "String" } }, - message: { - serializedName: "message", + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const PrivateEndpointConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnection", + modelProperties: { + ...Resource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpoint" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "ConnectionState" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkRule", + modelProperties: { + ...Resource.type.modelProperties, + virtualNetworkSubnetId: { + serializedName: "properties.virtualNetworkSubnetId", type: { name: "String" } @@ -996,266 +1453,228 @@ export const ErrorResponse: msRest.CompositeMapper = { } }; -export const Action: msRest.CompositeMapper = { - serializedName: "Action", +export const ArmDisasterRecovery: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Action", + className: "ArmDisasterRecovery", modelProperties: { - sqlExpression: { - serializedName: "sqlExpression", + ...Resource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { - name: "String" + name: "Enum", + allowedValues: ["Accepted", "Succeeded", "Failed"] } }, - compatibilityLevel: { - serializedName: "compatibilityLevel", + pendingReplicationOperationsCount: { + serializedName: "properties.pendingReplicationOperationsCount", + readOnly: true, type: { name: "Number" } }, - requiresPreprocessing: { - serializedName: "requiresPreprocessing", - defaultValue: true, + partnerNamespace: { + serializedName: "properties.partnerNamespace", type: { - name: "Boolean" + name: "String" + } + }, + alternateName: { + serializedName: "properties.alternateName", + type: { + name: "String" + } + }, + role: { + serializedName: "properties.role", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Primary", "PrimaryNotReplicating", "Secondary"] } } } } }; -export const SqlFilter: msRest.CompositeMapper = { - serializedName: "SqlFilter", +export const SBAuthorizationRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SqlFilter", + className: "SBAuthorizationRule", modelProperties: { - sqlExpression: { - serializedName: "sqlExpression", - type: { - name: "String" - } - }, - compatibilityLevel: { - serializedName: "compatibilityLevel", - defaultValue: 20, - constraints: { - InclusiveMaximum: 20, - InclusiveMinimum: 20 - }, - type: { - name: "Number" - } - }, - requiresPreprocessing: { - serializedName: "requiresPreprocessing", - defaultValue: true, + ...Resource.type.modelProperties, + rights: { + serializedName: "properties.rights", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: ["Manage", "Send", "Listen"] + } + } } } } } }; -export const CorrelationFilter: msRest.CompositeMapper = { - serializedName: "CorrelationFilter", +export const Eventhub: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CorrelationFilter", + className: "Eventhub", modelProperties: { - properties: { - serializedName: "properties", + ...Resource.type.modelProperties, + partitionIds: { + serializedName: "properties.partitionIds", + readOnly: true, type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { name: "String" } } } }, - correlationId: { - serializedName: "correlationId", - type: { - name: "String" - } - }, - messageId: { - serializedName: "messageId", - type: { - name: "String" - } - }, - to: { - serializedName: "to", - type: { - name: "String" - } - }, - replyTo: { - serializedName: "replyTo", + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - label: { - serializedName: "label", + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - sessionId: { - serializedName: "sessionId", + messageRetentionInDays: { + constraints: { + InclusiveMaximum: 7, + InclusiveMinimum: 1 + }, + serializedName: "properties.messageRetentionInDays", type: { - name: "String" + name: "Number" } }, - replyToSessionId: { - serializedName: "replyToSessionId", + partitionCount: { + constraints: { + InclusiveMaximum: 32, + InclusiveMinimum: 1 + }, + serializedName: "properties.partitionCount", type: { - name: "String" + name: "Number" } }, - contentType: { - serializedName: "contentType", + status: { + serializedName: "properties.status", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Active", + "Disabled", + "Restoring", + "SendDisabled", + "ReceiveDisabled", + "Creating", + "Deleting", + "Renaming", + "Unknown" + ] } }, - requiresPreprocessing: { - serializedName: "requiresPreprocessing", - defaultValue: true, + captureDescription: { + serializedName: "properties.captureDescription", type: { - name: "Boolean" + name: "Composite", + className: "CaptureDescription" } } } } }; -export const Rule: msRest.CompositeMapper = { - serializedName: "Rule", +export const NetworkRuleSet: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Rule", + className: "NetworkRuleSet", modelProperties: { ...Resource.type.modelProperties, - action: { - serializedName: "properties.action", - type: { - name: "Composite", - className: "Action" - } - }, - filterType: { - serializedName: "properties.filterType", + defaultAction: { + serializedName: "properties.defaultAction", type: { - name: "Enum", - allowedValues: [ - "SqlFilter", - "CorrelationFilter" - ] + name: "String" } }, - sqlFilter: { - serializedName: "properties.sqlFilter", + virtualNetworkRules: { + serializedName: "properties.virtualNetworkRules", type: { - name: "Composite", - className: "SqlFilter" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NWRuleSetVirtualNetworkRules" + } + } } }, - correlationFilter: { - serializedName: "properties.correlationFilter", + ipRules: { + serializedName: "properties.ipRules", type: { - name: "Composite", - className: "CorrelationFilter" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NWRuleSetIpRules" + } + } } } } } }; -export const SqlRuleAction: msRest.CompositeMapper = { - serializedName: "SqlRuleAction", - type: { - name: "Composite", - className: "SqlRuleAction", - modelProperties: { - ...Action.type.modelProperties - } - } -}; - -export const PremiumMessagingRegionsProperties: msRest.CompositeMapper = { - serializedName: "PremiumMessagingRegions_properties", +export const MigrationConfigProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PremiumMessagingRegionsProperties", + className: "MigrationConfigProperties", modelProperties: { - code: { + ...Resource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", readOnly: true, - serializedName: "code", type: { name: "String" } }, - fullName: { + pendingReplicationOperationsCount: { + serializedName: "properties.pendingReplicationOperationsCount", readOnly: true, - serializedName: "fullName", - type: { - name: "String" - } - } - } - } -}; - -export const PremiumMessagingRegions: msRest.CompositeMapper = { - serializedName: "PremiumMessagingRegions", - type: { - name: "Composite", - className: "PremiumMessagingRegions", - modelProperties: { - ...ResourceNamespacePatch.type.modelProperties, - properties: { - serializedName: "properties", - type: { - name: "Composite", - className: "PremiumMessagingRegionsProperties" - } - } - } - } -}; - -export const Destination: msRest.CompositeMapper = { - serializedName: "Destination", - type: { - name: "Composite", - className: "Destination", - modelProperties: { - name: { - serializedName: "name", type: { - name: "String" + name: "Number" } }, - storageAccountResourceId: { - serializedName: "properties.storageAccountResourceId", + targetNamespace: { + serializedName: "properties.targetNamespace", type: { name: "String" } }, - blobContainer: { - serializedName: "properties.blobContainer", + postMigrationName: { + serializedName: "properties.postMigrationName", type: { name: "String" } }, - archiveNameFormat: { - serializedName: "properties.archiveNameFormat", + migrationState: { + serializedName: "properties.migrationState", + readOnly: true, type: { name: "String" } @@ -1264,108 +1683,98 @@ export const Destination: msRest.CompositeMapper = { } }; -export const CaptureDescription: msRest.CompositeMapper = { - serializedName: "CaptureDescription", +export const SBQueue: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CaptureDescription", + className: "SBQueue", modelProperties: { - enabled: { - serializedName: "enabled", + ...Resource.type.modelProperties, + countDetails: { + serializedName: "properties.countDetails", type: { - name: "Boolean" + name: "Composite", + className: "MessageCountDetails" } }, - encoding: { - serializedName: "encoding", + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "Avro", - "AvroDeflate" - ] + name: "DateTime" } }, - intervalInSeconds: { - serializedName: "intervalInSeconds", - constraints: { - InclusiveMaximum: 900, - InclusiveMinimum: 60 - }, + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + accessedAt: { + serializedName: "properties.accessedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + sizeInBytes: { + serializedName: "properties.sizeInBytes", + readOnly: true, type: { name: "Number" } }, - sizeLimitInBytes: { - serializedName: "sizeLimitInBytes", - constraints: { - InclusiveMaximum: 524288000, - InclusiveMinimum: 10485760 - }, + messageCount: { + serializedName: "properties.messageCount", + readOnly: true, type: { name: "Number" } }, - destination: { - serializedName: "destination", + lockDuration: { + serializedName: "properties.lockDuration", type: { - name: "Composite", - className: "Destination" + name: "TimeSpan" } - } - } - } -}; - -export const Eventhub: msRest.CompositeMapper = { - serializedName: "Eventhub", - type: { - name: "Composite", - className: "Eventhub", - modelProperties: { - ...Resource.type.modelProperties, - partitionIds: { - readOnly: true, - serializedName: "properties.partitionIds", + }, + maxSizeInMegabytes: { + serializedName: "properties.maxSizeInMegabytes", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" } }, - createdAt: { - readOnly: true, - serializedName: "properties.createdAt", + requiresDuplicateDetection: { + serializedName: "properties.requiresDuplicateDetection", type: { - name: "DateTime" + name: "Boolean" } }, - updatedAt: { - readOnly: true, - serializedName: "properties.updatedAt", + requiresSession: { + serializedName: "properties.requiresSession", type: { - name: "DateTime" + name: "Boolean" } }, - messageRetentionInDays: { - serializedName: "properties.messageRetentionInDays", - constraints: { - InclusiveMaximum: 7, - InclusiveMinimum: 1 - }, + defaultMessageTimeToLive: { + serializedName: "properties.defaultMessageTimeToLive", type: { - name: "Number" + name: "TimeSpan" } }, - partitionCount: { - serializedName: "properties.partitionCount", - constraints: { - InclusiveMaximum: 32, - InclusiveMinimum: 1 - }, + deadLetteringOnMessageExpiration: { + serializedName: "properties.deadLetteringOnMessageExpiration", + type: { + name: "Boolean" + } + }, + duplicateDetectionHistoryTimeWindow: { + serializedName: "properties.duplicateDetectionHistoryTimeWindow", + type: { + name: "TimeSpan" + } + }, + maxDeliveryCount: { + serializedName: "properties.maxDeliveryCount", type: { name: "Number" } @@ -1387,557 +1796,514 @@ export const Eventhub: msRest.CompositeMapper = { ] } }, - captureDescription: { - serializedName: "properties.captureDescription", + enableBatchedOperations: { + serializedName: "properties.enableBatchedOperations", type: { - name: "Composite", - className: "CaptureDescription" + name: "Boolean" + } + }, + autoDeleteOnIdle: { + serializedName: "properties.autoDeleteOnIdle", + type: { + name: "TimeSpan" + } + }, + enablePartitioning: { + serializedName: "properties.enablePartitioning", + type: { + name: "Boolean" + } + }, + enableExpress: { + serializedName: "properties.enableExpress", + type: { + name: "Boolean" + } + }, + forwardTo: { + serializedName: "properties.forwardTo", + type: { + name: "String" + } + }, + forwardDeadLetteredMessagesTo: { + serializedName: "properties.forwardDeadLetteredMessagesTo", + type: { + name: "String" } } } } }; -export const ArmDisasterRecovery: msRest.CompositeMapper = { - serializedName: "ArmDisasterRecovery", +export const SBSubscription: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ArmDisasterRecovery", + className: "SBSubscription", modelProperties: { ...Resource.type.modelProperties, - provisioningState: { + messageCount: { + serializedName: "properties.messageCount", readOnly: true, - serializedName: "properties.provisioningState", + type: { + name: "Number" + } + }, + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + accessedAt: { + serializedName: "properties.accessedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + countDetails: { + serializedName: "properties.countDetails", + type: { + name: "Composite", + className: "MessageCountDetails" + } + }, + lockDuration: { + serializedName: "properties.lockDuration", + type: { + name: "TimeSpan" + } + }, + requiresSession: { + serializedName: "properties.requiresSession", + type: { + name: "Boolean" + } + }, + defaultMessageTimeToLive: { + serializedName: "properties.defaultMessageTimeToLive", + type: { + name: "TimeSpan" + } + }, + deadLetteringOnFilterEvaluationExceptions: { + serializedName: "properties.deadLetteringOnFilterEvaluationExceptions", + type: { + name: "Boolean" + } + }, + deadLetteringOnMessageExpiration: { + serializedName: "properties.deadLetteringOnMessageExpiration", + type: { + name: "Boolean" + } + }, + duplicateDetectionHistoryTimeWindow: { + serializedName: "properties.duplicateDetectionHistoryTimeWindow", + type: { + name: "TimeSpan" + } + }, + maxDeliveryCount: { + serializedName: "properties.maxDeliveryCount", + type: { + name: "Number" + } + }, + status: { + serializedName: "properties.status", type: { name: "Enum", allowedValues: [ - "Accepted", - "Succeeded", - "Failed" + "Active", + "Disabled", + "Restoring", + "SendDisabled", + "ReceiveDisabled", + "Creating", + "Deleting", + "Renaming", + "Unknown" ] } }, - pendingReplicationOperationsCount: { - readOnly: true, - serializedName: "properties.pendingReplicationOperationsCount", + enableBatchedOperations: { + serializedName: "properties.enableBatchedOperations", type: { - name: "Number" + name: "Boolean" } }, - partnerNamespace: { - serializedName: "properties.partnerNamespace", + autoDeleteOnIdle: { + serializedName: "properties.autoDeleteOnIdle", type: { - name: "String" + name: "TimeSpan" } }, - alternateName: { - serializedName: "properties.alternateName", + forwardTo: { + serializedName: "properties.forwardTo", type: { name: "String" } }, - role: { - readOnly: true, - serializedName: "properties.role", + forwardDeadLetteredMessagesTo: { + serializedName: "properties.forwardDeadLetteredMessagesTo", type: { - name: "Enum", - allowedValues: [ - "Primary", - "PrimaryNotReplicating", - "Secondary" - ] + name: "String" } } } } }; -export const MigrationConfigProperties: msRest.CompositeMapper = { - serializedName: "MigrationConfigProperties", +export const SBTopic: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MigrationConfigProperties", + className: "SBTopic", modelProperties: { ...Resource.type.modelProperties, - provisioningState: { + sizeInBytes: { + serializedName: "properties.sizeInBytes", readOnly: true, - serializedName: "properties.provisioningState", type: { - name: "String" + name: "Number" } }, - pendingReplicationOperationsCount: { + createdAt: { + serializedName: "properties.createdAt", readOnly: true, - serializedName: "properties.pendingReplicationOperationsCount", type: { - name: "Number" + name: "DateTime" } }, - targetNamespace: { - required: true, - serializedName: "properties.targetNamespace", + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - postMigrationName: { - required: true, - serializedName: "properties.postMigrationName", + accessedAt: { + serializedName: "properties.accessedAt", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - migrationState: { + subscriptionCount: { + serializedName: "properties.subscriptionCount", readOnly: true, - serializedName: "properties.migrationState", type: { - name: "String" + name: "Number" } - } - } - } -}; - -export const Subnet: msRest.CompositeMapper = { - serializedName: "Subnet", - type: { - name: "Composite", - className: "Subnet", - modelProperties: { - id: { - required: true, - serializedName: "id", + }, + countDetails: { + serializedName: "properties.countDetails", type: { - name: "String" + name: "Composite", + className: "MessageCountDetails" } - } - } - } -}; - -export const NWRuleSetIpRules: msRest.CompositeMapper = { - serializedName: "NWRuleSetIpRules", - type: { - name: "Composite", - className: "NWRuleSetIpRules", - modelProperties: { - ipMask: { - serializedName: "ipMask", + }, + defaultMessageTimeToLive: { + serializedName: "properties.defaultMessageTimeToLive", type: { - name: "String" + name: "TimeSpan" } }, - action: { - serializedName: "action", - defaultValue: 'Allow', + maxSizeInMegabytes: { + serializedName: "properties.maxSizeInMegabytes", type: { - name: "String" + name: "Number" } - } - } - } -}; - -export const NWRuleSetVirtualNetworkRules: msRest.CompositeMapper = { - serializedName: "NWRuleSetVirtualNetworkRules", - type: { - name: "Composite", - className: "NWRuleSetVirtualNetworkRules", - modelProperties: { - subnet: { - serializedName: "subnet", + }, + requiresDuplicateDetection: { + serializedName: "properties.requiresDuplicateDetection", type: { - name: "Composite", - className: "Subnet" + name: "Boolean" } }, - ignoreMissingVnetServiceEndpoint: { - serializedName: "ignoreMissingVnetServiceEndpoint", + duplicateDetectionHistoryTimeWindow: { + serializedName: "properties.duplicateDetectionHistoryTimeWindow", + type: { + name: "TimeSpan" + } + }, + enableBatchedOperations: { + serializedName: "properties.enableBatchedOperations", type: { name: "Boolean" } - } - } - } -}; - -export const NetworkRuleSet: msRest.CompositeMapper = { - serializedName: "NetworkRuleSet", - type: { - name: "Composite", - className: "NetworkRuleSet", - modelProperties: { - ...Resource.type.modelProperties, - defaultAction: { - serializedName: "properties.defaultAction", + }, + status: { + serializedName: "properties.status", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Active", + "Disabled", + "Restoring", + "SendDisabled", + "ReceiveDisabled", + "Creating", + "Deleting", + "Renaming", + "Unknown" + ] } }, - virtualNetworkRules: { - serializedName: "properties.virtualNetworkRules", + supportOrdering: { + serializedName: "properties.supportOrdering", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NWRuleSetVirtualNetworkRules" - } - } + name: "Boolean" } }, - ipRules: { - serializedName: "properties.ipRules", + autoDeleteOnIdle: { + serializedName: "properties.autoDeleteOnIdle", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NWRuleSetIpRules" - } - } + name: "TimeSpan" } - } - } - } -}; - -export const OperationListResult: msRest.CompositeMapper = { - serializedName: "OperationListResult", - type: { - name: "Composite", - className: "OperationListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + }, + enablePartitioning: { + serializedName: "properties.enablePartitioning", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Operation" - } - } + name: "Boolean" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + enableExpress: { + serializedName: "properties.enableExpress", type: { - name: "String" + name: "Boolean" } } } } }; -export const SBNamespaceListResult: msRest.CompositeMapper = { - serializedName: "SBNamespaceListResult", +export const Rule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBNamespaceListResult", + className: "Rule", modelProperties: { - value: { - serializedName: "", + ...Resource.type.modelProperties, + action: { + serializedName: "properties.action", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SBNamespace" - } - } + name: "Composite", + className: "Action" } }, - nextLink: { - serializedName: "nextLink", + filterType: { + serializedName: "properties.filterType", type: { - name: "String" + name: "Enum", + allowedValues: ["SqlFilter", "CorrelationFilter"] } - } - } - } -}; - -export const SBAuthorizationRuleListResult: msRest.CompositeMapper = { - serializedName: "SBAuthorizationRuleListResult", - type: { - name: "Composite", - className: "SBAuthorizationRuleListResult", - modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SBAuthorizationRule" - } - } + }, + sqlFilter: { + serializedName: "properties.sqlFilter", + type: { + name: "Composite", + className: "SqlFilter" } }, - nextLink: { - serializedName: "nextLink", + correlationFilter: { + serializedName: "properties.correlationFilter", type: { - name: "String" + name: "Composite", + className: "CorrelationFilter" } } } } }; -export const NetworkRuleSetListResult: msRest.CompositeMapper = { - serializedName: "NetworkRuleSetListResult", +export const SqlRuleAction: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkRuleSetListResult", + className: "SqlRuleAction", modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkRuleSet" - } - } - } - }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String" - } - } + ...Action.type.modelProperties } } }; -export const ArmDisasterRecoveryListResult: msRest.CompositeMapper = { - serializedName: "ArmDisasterRecoveryListResult", +export const SBNamespace: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ArmDisasterRecoveryListResult", + className: "SBNamespace", modelProperties: { - value: { - serializedName: "", + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ArmDisasterRecovery" - } - } + name: "Composite", + className: "SBSku" } }, - nextLink: { + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "Identity" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const MigrationConfigListResult: msRest.CompositeMapper = { - serializedName: "MigrationConfigListResult", - type: { - name: "Composite", - className: "MigrationConfigListResult", - modelProperties: { - value: { - serializedName: "", + }, + status: { + serializedName: "properties.status", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MigrationConfigProperties" - } - } + name: "String" } }, - nextLink: { + createdAt: { + serializedName: "properties.createdAt", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const SBQueueListResult: msRest.CompositeMapper = { - serializedName: "SBQueueListResult", - type: { - name: "Composite", - className: "SBQueueListResult", - modelProperties: { - value: { - serializedName: "", + }, + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SBQueue" - } - } + name: "DateTime" } }, - nextLink: { - serializedName: "nextLink", + serviceBusEndpoint: { + serializedName: "properties.serviceBusEndpoint", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const SBTopicListResult: msRest.CompositeMapper = { - serializedName: "SBTopicListResult", - type: { - name: "Composite", - className: "SBTopicListResult", - modelProperties: { - value: { - serializedName: "", + }, + metricId: { + serializedName: "properties.metricId", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SBTopic" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + zoneRedundant: { + serializedName: "properties.zoneRedundant", type: { - name: "String" + name: "Boolean" + } + }, + encryption: { + serializedName: "properties.encryption", + type: { + name: "Composite", + className: "Encryption" } } } } }; -export const SBSubscriptionListResult: msRest.CompositeMapper = { - serializedName: "SBSubscriptionListResult", +export const SBNamespaceUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SBSubscriptionListResult", + className: "SBNamespaceUpdateParameters", modelProperties: { - value: { - serializedName: "", + ...ResourceNamespacePatch.type.modelProperties, + sku: { + serializedName: "sku", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SBSubscription" - } - } + name: "Composite", + className: "SBSku" } }, - nextLink: { - serializedName: "nextLink", + identity: { + serializedName: "identity", type: { - name: "String" + name: "Composite", + className: "Identity" } - } - } - } -}; - -export const RuleListResult: msRest.CompositeMapper = { - serializedName: "RuleListResult", - type: { - name: "Composite", - className: "RuleListResult", - modelProperties: { - value: { - serializedName: "", + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Rule" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + status: { + serializedName: "properties.status", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const PremiumMessagingRegionsListResult: msRest.CompositeMapper = { - serializedName: "PremiumMessagingRegionsListResult", - type: { - name: "Composite", - className: "PremiumMessagingRegionsListResult", - modelProperties: { - value: { - serializedName: "", + }, + createdAt: { + serializedName: "properties.createdAt", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PremiumMessagingRegions" - } - } + name: "DateTime" } }, - nextLink: { + updatedAt: { + serializedName: "properties.updatedAt", + readOnly: true, + type: { + name: "DateTime" + } + }, + serviceBusEndpoint: { + serializedName: "properties.serviceBusEndpoint", + readOnly: true, + type: { + name: "String" + } + }, + metricId: { + serializedName: "properties.metricId", readOnly: true, - serializedName: "nextLink", type: { name: "String" } + }, + zoneRedundant: { + serializedName: "properties.zoneRedundant", + type: { + name: "Boolean" + } + }, + encryption: { + serializedName: "properties.encryption", + type: { + name: "Composite", + className: "Encryption" + } } } } }; -export const EventHubListResult: msRest.CompositeMapper = { - serializedName: "EventHubListResult", +export const PremiumMessagingRegions: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EventHubListResult", + className: "PremiumMessagingRegions", modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Eventhub" - } - } - } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + ...ResourceNamespacePatch.type.modelProperties, + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "PremiumMessagingRegionsProperties" } } } diff --git a/sdk/servicebus/arm-servicebus/src/models/migrationConfigsMappers.ts b/sdk/servicebus/arm-servicebus/src/models/migrationConfigsMappers.ts deleted file mode 100644 index 903d5200dc1e..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/migrationConfigsMappers.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigListResult, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsProperties, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/namespacesMappers.ts b/sdk/servicebus/arm-servicebus/src/models/namespacesMappers.ts deleted file mode 100644 index 0c2fce3036e1..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/namespacesMappers.ts +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AccessKeys, - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CheckNameAvailability, - CheckNameAvailabilityResult, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NetworkRuleSetListResult, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsProperties, - RegenerateAccessKeyParameters, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBAuthorizationRuleListResult, - SBNamespace, - SBNamespaceListResult, - SBNamespaceMigrate, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/operationsMappers.ts b/sdk/servicebus/arm-servicebus/src/models/operationsMappers.ts deleted file mode 100644 index b8de8606cf9d..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/operationsMappers.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - ErrorResponse, - Operation, - OperationDisplay, - OperationListResult -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/parameters.ts b/sdk/servicebus/arm-servicebus/src/models/parameters.ts index 245f981e895a..9b5441cf95ba 100644 --- a/sdk/servicebus/arm-servicebus/src/models/parameters.ts +++ b/sdk/servicebus/arm-servicebus/src/models/parameters.ts @@ -1,229 +1,408 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + IpFilterRule as IpFilterRuleMapper, + SBNamespace as SBNamespaceMapper, + SBNamespaceUpdateParameters as SBNamespaceUpdateParametersMapper, + VirtualNetworkRule as VirtualNetworkRuleMapper, + SBAuthorizationRule as SBAuthorizationRuleMapper, + RegenerateAccessKeyParameters as RegenerateAccessKeyParametersMapper, + CheckNameAvailability as CheckNameAvailabilityMapper, + NetworkRuleSet as NetworkRuleSetMapper, + SBNamespaceMigrate as SBNamespaceMigrateMapper, + PrivateEndpointConnection as PrivateEndpointConnectionMapper, + ArmDisasterRecovery as ArmDisasterRecoveryMapper, + FailoverProperties as FailoverPropertiesMapper, + SBQueue as SBQueueMapper, + SBTopic as SBTopicMapper, + MigrationConfigProperties as MigrationConfigPropertiesMapper, + SBSubscription as SBSubscriptionMapper, + Rule as RuleMapper +} from "../models/mappers"; -export const acceptLanguage: msRest.OperationParameter = { - parameterPath: "acceptLanguage", +export const accept: OperationParameter = { + parameterPath: "accept", mapper: { - serializedName: "accept-language", - defaultValue: 'en-US', + defaultValue: "application/json", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const alias: msRest.OperationURLParameter = { - parameterPath: "alias", + +export const $host: OperationURLParameter = { + parameterPath: "$host", mapper: { + serializedName: "$host", required: true, - serializedName: "alias", + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { constraints: { - MaxLength: 50, + MaxLength: 90, MinLength: 1 }, + serializedName: "resourceGroupName", + required: true, type: { name: "String" } } }; -export const apiVersion: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const namespaceName: OperationURLParameter = { + parameterPath: "namespaceName", mapper: { + constraints: { + MaxLength: 50, + MinLength: 6 + }, + serializedName: "namespaceName", required: true, + type: { + name: "String" + } + } +}; + +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2018-01-01-preview", + isConstant: true, serializedName: "api-version", type: { name: "String" } } }; -export const authorizationRuleName: msRest.OperationURLParameter = { - parameterPath: "authorizationRuleName", + +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", mapper: { + serializedName: "subscriptionId", required: true, - serializedName: "authorizationRuleName", + type: { + name: "String" + } + } +}; + +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: IpFilterRuleMapper +}; + +export const ipFilterRuleName: OperationURLParameter = { + parameterPath: "ipFilterRuleName", + mapper: { constraints: { - MaxLength: 50, MinLength: 1 }, + serializedName: "ipFilterRuleName", + required: true, type: { name: "String" } } }; -export const configName: msRest.OperationURLParameter = { - parameterPath: "configName", + +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: SBNamespaceMapper +}; + +export const namespaceName1: OperationURLParameter = { + parameterPath: "namespaceName", mapper: { + serializedName: "namespaceName", required: true, - isConstant: true, - serializedName: "configName", - defaultValue: '$default', type: { name: "String" } } }; -export const namespaceName0: msRest.OperationURLParameter = { - parameterPath: "namespaceName", + +export const parameters2: OperationParameter = { + parameterPath: "parameters", + mapper: SBNamespaceUpdateParametersMapper +}; + +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: VirtualNetworkRuleMapper +}; + +export const virtualNetworkRuleName: OperationURLParameter = { + parameterPath: "virtualNetworkRuleName", mapper: { + constraints: { + MinLength: 1 + }, + serializedName: "virtualNetworkRuleName", required: true, - serializedName: "namespaceName", type: { name: "String" } } }; -export const namespaceName1: msRest.OperationURLParameter = { - parameterPath: "namespaceName", + +export const parameters4: OperationParameter = { + parameterPath: "parameters", + mapper: SBAuthorizationRuleMapper +}; + +export const authorizationRuleName: OperationURLParameter = { + parameterPath: "authorizationRuleName", mapper: { - required: true, - serializedName: "namespaceName", constraints: { MaxLength: 50, - MinLength: 6 + MinLength: 1 }, + serializedName: "authorizationRuleName", + required: true, type: { name: "String" } } }; -export const nextPageLink: msRest.OperationURLParameter = { - parameterPath: "nextPageLink", + +export const parameters5: OperationParameter = { + parameterPath: "parameters", + mapper: RegenerateAccessKeyParametersMapper +}; + +export const parameters6: OperationParameter = { + parameterPath: "parameters", + mapper: CheckNameAvailabilityMapper +}; + +export const parameters7: OperationParameter = { + parameterPath: "parameters", + mapper: NetworkRuleSetMapper +}; + +export const parameters8: OperationParameter = { + parameterPath: "parameters", + mapper: SBNamespaceMigrateMapper +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", mapper: { - required: true, serializedName: "nextLink", + required: true, type: { name: "String" } }, skipEncoding: true }; -export const queueName: msRest.OperationURLParameter = { - parameterPath: "queueName", + +export const parameters9: OperationParameter = { + parameterPath: "parameters", + mapper: PrivateEndpointConnectionMapper +}; + +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", mapper: { + serializedName: "privateEndpointConnectionName", required: true, - serializedName: "queueName", - constraints: { - MinLength: 1 - }, type: { name: "String" } } }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", + +export const parameters10: OperationParameter = { + parameterPath: "parameters", + mapper: ArmDisasterRecoveryMapper +}; + +export const alias: OperationURLParameter = { + parameterPath: "alias", mapper: { - required: true, - serializedName: "resourceGroupName", constraints: { - MaxLength: 90, + MaxLength: 50, MinLength: 1 }, + serializedName: "alias", + required: true, type: { name: "String" } } }; -export const ruleName: msRest.OperationURLParameter = { - parameterPath: "ruleName", + +export const parameters11: OperationParameter = { + parameterPath: ["options", "parameters"], + mapper: FailoverPropertiesMapper +}; + +export const queueName: OperationURLParameter = { + parameterPath: "queueName", mapper: { - required: true, - serializedName: "ruleName", constraints: { - MaxLength: 50, MinLength: 1 }, + serializedName: "queueName", + required: true, type: { name: "String" } } }; -export const skip: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "skip" - ], + +export const skip: OperationQueryParameter = { + parameterPath: ["options", "skip"], mapper: { - serializedName: "$skip", constraints: { InclusiveMaximum: 1000, InclusiveMinimum: 0 }, + serializedName: "$skip", type: { name: "Number" } } }; -export const sku: msRest.OperationURLParameter = { - parameterPath: "sku", + +export const top: OperationQueryParameter = { + parameterPath: ["options", "top"], + mapper: { + constraints: { + InclusiveMaximum: 1000, + InclusiveMinimum: 1 + }, + serializedName: "$top", + type: { + name: "Number" + } + } +}; + +export const parameters12: OperationParameter = { + parameterPath: "parameters", + mapper: SBQueueMapper +}; + +export const topicName: OperationURLParameter = { + parameterPath: "topicName", mapper: { - required: true, - serializedName: "sku", constraints: { - MaxLength: 50, MinLength: 1 }, + serializedName: "topicName", + required: true, type: { name: "String" } } }; -export const subscriptionId: msRest.OperationURLParameter = { - parameterPath: "subscriptionId", + +export const parameters13: OperationParameter = { + parameterPath: "parameters", + mapper: SBTopicMapper +}; + +export const parameters14: OperationParameter = { + parameterPath: "parameters", + mapper: MigrationConfigPropertiesMapper +}; + +export const configName: OperationURLParameter = { + parameterPath: "configName", mapper: { + serializedName: "configName", required: true, - serializedName: "subscriptionId", type: { name: "String" } } }; -export const subscriptionName: msRest.OperationURLParameter = { - parameterPath: "subscriptionName", + +export const sku: OperationURLParameter = { + parameterPath: "sku", mapper: { - required: true, - serializedName: "subscriptionName", constraints: { MaxLength: 50, MinLength: 1 }, + serializedName: "sku", + required: true, type: { name: "String" } } }; -export const top: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "top" - ], + +export const parameters15: OperationParameter = { + parameterPath: "parameters", + mapper: SBSubscriptionMapper +}; + +export const subscriptionName: OperationURLParameter = { + parameterPath: "subscriptionName", mapper: { - serializedName: "$top", constraints: { - InclusiveMaximum: 1000, - InclusiveMinimum: 1 + MaxLength: 50, + MinLength: 1 }, + serializedName: "subscriptionName", + required: true, type: { - name: "Number" + name: "String" } } }; -export const topicName: msRest.OperationURLParameter = { - parameterPath: "topicName", + +export const parameters16: OperationParameter = { + parameterPath: "parameters", + mapper: RuleMapper +}; + +export const ruleName: OperationURLParameter = { + parameterPath: "ruleName", mapper: { - required: true, - serializedName: "topicName", constraints: { + MaxLength: 50, MinLength: 1 }, + serializedName: "ruleName", + required: true, type: { name: "String" } diff --git a/sdk/servicebus/arm-servicebus/src/models/premiumMessagingRegionsOperationsMappers.ts b/sdk/servicebus/arm-servicebus/src/models/premiumMessagingRegionsOperationsMappers.ts deleted file mode 100644 index ac8de9d04d7d..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/premiumMessagingRegionsOperationsMappers.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsListResult, - PremiumMessagingRegionsProperties, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/queuesMappers.ts b/sdk/servicebus/arm-servicebus/src/models/queuesMappers.ts deleted file mode 100644 index dd993b8117d6..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/queuesMappers.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AccessKeys, - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsProperties, - RegenerateAccessKeyParameters, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBAuthorizationRuleListResult, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBQueueListResult, - SBSku, - SBSubscription, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/regionsMappers.ts b/sdk/servicebus/arm-servicebus/src/models/regionsMappers.ts deleted file mode 100644 index ac8de9d04d7d..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/regionsMappers.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsListResult, - PremiumMessagingRegionsProperties, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/rulesMappers.ts b/sdk/servicebus/arm-servicebus/src/models/rulesMappers.ts deleted file mode 100644 index c0691c1a2c77..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/rulesMappers.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsProperties, - Resource, - ResourceNamespacePatch, - Rule, - RuleListResult, - SBAuthorizationRule, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/subscriptionsMappers.ts b/sdk/servicebus/arm-servicebus/src/models/subscriptionsMappers.ts deleted file mode 100644 index c560d9ac5076..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/subscriptionsMappers.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsProperties, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBSubscriptionListResult, - SBTopic, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/models/topicsMappers.ts b/sdk/servicebus/arm-servicebus/src/models/topicsMappers.ts deleted file mode 100644 index 30dc7a077dd7..000000000000 --- a/sdk/servicebus/arm-servicebus/src/models/topicsMappers.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AccessKeys, - Action, - ArmDisasterRecovery, - BaseResource, - CaptureDescription, - CorrelationFilter, - Destination, - ErrorResponse, - Eventhub, - MessageCountDetails, - MigrationConfigProperties, - NetworkRuleSet, - NWRuleSetIpRules, - NWRuleSetVirtualNetworkRules, - PremiumMessagingRegions, - PremiumMessagingRegionsProperties, - RegenerateAccessKeyParameters, - Resource, - ResourceNamespacePatch, - Rule, - SBAuthorizationRule, - SBAuthorizationRuleListResult, - SBNamespace, - SBNamespaceUpdateParameters, - SBQueue, - SBSku, - SBSubscription, - SBTopic, - SBTopicListResult, - SqlFilter, - SqlRuleAction, - Subnet, - TrackedResource -} from "../models/mappers"; diff --git a/sdk/servicebus/arm-servicebus/src/operations/disasterRecoveryConfigs.ts b/sdk/servicebus/arm-servicebus/src/operations/disasterRecoveryConfigs.ts index 5e526c08ffbc..ea76e2d5e84d 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/disasterRecoveryConfigs.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/disasterRecoveryConfigs.ts @@ -1,137 +1,252 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/disasterRecoveryConfigsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DisasterRecoveryConfigs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + ArmDisasterRecovery, + DisasterRecoveryConfigsListNextOptionalParams, + DisasterRecoveryConfigsListOptionalParams, + SBAuthorizationRule, + DisasterRecoveryConfigsListAuthorizationRulesNextOptionalParams, + DisasterRecoveryConfigsListAuthorizationRulesOptionalParams, + CheckNameAvailability, + DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams, + DisasterRecoveryConfigsCheckNameAvailabilityResponse, + DisasterRecoveryConfigsListResponse, + DisasterRecoveryConfigsCreateOrUpdateOptionalParams, + DisasterRecoveryConfigsCreateOrUpdateResponse, + DisasterRecoveryConfigsDeleteOptionalParams, + DisasterRecoveryConfigsGetOptionalParams, + DisasterRecoveryConfigsGetResponse, + DisasterRecoveryConfigsBreakPairingOptionalParams, + DisasterRecoveryConfigsFailOverOptionalParams, + DisasterRecoveryConfigsListAuthorizationRulesResponse, + DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams, + DisasterRecoveryConfigsGetAuthorizationRuleResponse, + DisasterRecoveryConfigsListKeysOptionalParams, + DisasterRecoveryConfigsListKeysResponse, + DisasterRecoveryConfigsListNextResponse, + DisasterRecoveryConfigsListAuthorizationRulesNextResponse +} from "../models"; -/** Class representing a DisasterRecoveryConfigs. */ -export class DisasterRecoveryConfigs { +/// +/** Class containing DisasterRecoveryConfigs operations. */ +export class DisasterRecoveryConfigsImpl implements DisasterRecoveryConfigs { private readonly client: ServiceBusManagementClientContext; /** - * Create a DisasterRecoveryConfigs. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DisasterRecoveryConfigs class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; } /** - * Check the give namespace name availability. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param parameters Parameters to check availability of the given namespace name - * @param [options] The optional parameters - * @returns Promise - */ - checkNameAvailabilityMethod(resourceGroupName: string, namespaceName: string, parameters: Models.CheckNameAvailability, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param parameters Parameters to check availability of the given namespace name - * @param callback The callback - */ - checkNameAvailabilityMethod(resourceGroupName: string, namespaceName: string, parameters: Models.CheckNameAvailability, callback: msRest.ServiceCallback): void; - /** + * Gets all Alias(Disaster Recovery configurations) * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param parameters Parameters to check availability of the given namespace name - * @param options The optional parameters - * @param callback The callback - */ - checkNameAvailabilityMethod(resourceGroupName: string, namespaceName: string, parameters: Models.CheckNameAvailability, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - checkNameAvailabilityMethod(resourceGroupName: string, namespaceName: string, parameters: Models.CheckNameAvailability, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, namespaceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, namespaceName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, namespaceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( resourceGroupName, namespaceName, - parameters, + continuationToken, options - }, - checkNameAvailabilityMethodOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** - * Gets all Alias(Disaster Recovery configurations) - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise - */ - list(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback - */ - list(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** + * Gets the authorization rules for a namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback - */ - list(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + public listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAuthorizationRulesPagingAll( + resourceGroupName, + namespaceName, + alias, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + alias, + options + ); + } + }; + } + + private async *listAuthorizationRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listAuthorizationRules( + resourceGroupName, + namespaceName, + alias, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAuthorizationRulesNext( resourceGroupName, namespaceName, + alias, + continuationToken, options - }, - listOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listAuthorizationRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + alias, + options + )) { + yield* page; + } } /** - * Creates or updates a new Alias(Disaster Recovery configuration) + * Check the give namespace name availability. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: Models.ArmDisasterRecovery, options?: msRest.RequestOptionsBase): Promise; + * @param parameters Parameters to check availability of the given namespace name + * @param options The options parameters. + */ + checkNameAvailability( + resourceGroupName: string, + namespaceName: string, + parameters: CheckNameAvailability, + options?: DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, parameters, options }, + checkNameAvailabilityOperationSpec + ); + } + /** + * Gets all Alias(Disaster Recovery configurations) * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: Models.ArmDisasterRecovery, callback: msRest.ServiceCallback): void; + private _list( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listOperationSpec + ); + } + /** + * Creates or updates a new Alias(Disaster Recovery configuration) * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param alias The Disaster Recovery configuration name * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: Models.ArmDisasterRecovery, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, namespaceName: string, alias: string, parameters: Models.ArmDisasterRecovery, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + alias: string, + parameters: ArmDisasterRecovery, + options?: DisasterRecoveryConfigsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - parameters, - options - }, - createOrUpdateOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, alias, parameters, options }, + createOrUpdateOperationSpec + ); } /** @@ -139,35 +254,18 @@ export class DisasterRecoveryConfigs { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, namespaceName, alias, options }, + deleteOperationSpec + ); } /** @@ -175,35 +273,18 @@ export class DisasterRecoveryConfigs { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, alias, options }, + getOperationSpec + ); } /** @@ -212,35 +293,18 @@ export class DisasterRecoveryConfigs { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - breakPairing(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - breakPairing(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - breakPairing(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - breakPairing(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + breakPairing( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsBreakPairingOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - options - }, - breakPairingOperationSpec, - callback); + { resourceGroupName, namespaceName, alias, options }, + breakPairingOperationSpec + ); } /** @@ -248,35 +312,18 @@ export class DisasterRecoveryConfigs { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - failOver(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - failOver(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - failOver(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - failOver(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + failOver( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsFailOverOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - options - }, - failOverOperationSpec, - callback); + { resourceGroupName, namespaceName, alias, options }, + failOverOperationSpec + ); } /** @@ -284,35 +331,18 @@ export class DisasterRecoveryConfigs { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param alias The Disaster Recovery configuration name - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRules(resourceGroupName: string, namespaceName: string, alias: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - alias, - options - }, - listAuthorizationRulesOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, alias, options }, + listAuthorizationRulesOperationSpec + ); } /** @@ -321,28 +351,15 @@ export class DisasterRecoveryConfigs { * @param namespaceName The namespace name * @param alias The Disaster Recovery configuration name * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getAuthorizationRule(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + alias: string, + authorizationRuleName: string, + options?: DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -351,8 +368,8 @@ export class DisasterRecoveryConfigs { authorizationRuleName, options }, - getAuthorizationRuleOperationSpec, - callback) as Promise; + getAuthorizationRuleOperationSpec + ); } /** @@ -361,28 +378,15 @@ export class DisasterRecoveryConfigs { * @param namespaceName The namespace name * @param alias The Disaster Recovery configuration name * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param alias The Disaster Recovery configuration name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listKeys(resourceGroupName: string, namespaceName: string, alias: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + alias: string, + authorizationRuleName: string, + options?: DisasterRecoveryConfigsListKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -391,90 +395,57 @@ export class DisasterRecoveryConfigs { authorizationRuleName, options }, - listKeysOperationSpec, - callback) as Promise; + listKeysOperationSpec + ); } /** - * Gets all Alias(Disaster Recovery configurations) - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: DisasterRecoveryConfigsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listNextOperationSpec + ); } /** - * Gets the authorization rules for a namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListAuthorizationRulesNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param nextLink The nextLink from the previous successful call to the ListAuthorizationRules method. + * @param options The options parameters. + */ + private _listAuthorizationRulesNext( + resourceGroupName: string, + namespaceName: string, + alias: string, + nextLink: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAuthorizationRulesNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, alias, nextLink, options }, + listAuthorizationRulesNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const checkNameAvailabilityMethodOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.CheckNameAvailability, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.CheckNameAvailabilityResult @@ -483,23 +454,22 @@ const checkNameAvailabilityMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs", + requestBody: Parameters.parameters6, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ArmDisasterRecoveryListResult @@ -508,31 +478,20 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.alias, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ArmDisasterRecovery, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ArmDisasterRecovery @@ -542,48 +501,44 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + requestBody: Parameters.parameters10, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.alias ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + httpMethod: "DELETE", responses: { 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ArmDisasterRecovery @@ -592,72 +547,65 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const breakPairingOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const breakPairingOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", + httpMethod: "POST", responses: { 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const failOverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const failOverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", + httpMethod: "POST", responses: { 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules", + requestBody: Parameters.parameters11, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.alias, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.alias ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listAuthorizationRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBAuthorizationRuleListResult @@ -666,25 +614,21 @@ const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.alias, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const getAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBAuthorizationRule @@ -693,25 +637,22 @@ const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.alias, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.alias ], + headerParameters: [Parameters.accept], + serializer +}; +const listKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}/listKeys", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.AccessKeys @@ -720,19 +661,21 @@ const listKeysOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName, + Parameters.alias + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ArmDisasterRecoveryListResult @@ -741,19 +684,20 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listAuthorizationRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBAuthorizationRuleListResult @@ -762,5 +706,15 @@ const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.alias + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/eventHubs.ts b/sdk/servicebus/arm-servicebus/src/operations/eventHubs.ts index 1e93057274ba..8684e4be9344 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/eventHubs.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/eventHubs.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/eventHubsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { EventHubs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + Eventhub, + EventHubsListByNamespaceNextOptionalParams, + EventHubsListByNamespaceOptionalParams, + EventHubsListByNamespaceResponse, + EventHubsListByNamespaceNextResponse +} from "../models"; -/** Class representing a EventHubs. */ -export class EventHubs { +/// +/** Class containing EventHubs operations. */ +export class EventHubsImpl implements EventHubs { private readonly client: ServiceBusManagementClientContext; /** - * Create a EventHubs. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class EventHubs class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; @@ -30,79 +38,116 @@ export class EventHubs { * Gets all the Event Hubs in a service bus Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByNamespace(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback - */ - listByNamespace(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback - */ - listByNamespace(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByNamespace(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByNamespacePagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByNamespacePagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; + } + + private async *listByNamespacePagingPage( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByNamespace( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByNamespaceNext( resourceGroupName, namespaceName, + continuationToken, options - }, - listByNamespaceOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByNamespacePagingAll( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByNamespacePagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** * Gets all the Event Hubs in a service bus Namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByNamespaceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. */ - listByNamespaceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listByNamespaceOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByNamespaceNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param nextLink The nextLink from the previous successful call to the ListByNamespace method. + * @param options The options parameters. */ - listByNamespaceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByNamespaceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByNamespaceNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: EventHubsListByNamespaceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByNamespaceNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listByNamespaceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByNamespaceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByNamespaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.EventHubListResult @@ -111,19 +156,19 @@ const listByNamespaceOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], serializer }; - -const listByNamespaceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByNamespaceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.EventHubListResult @@ -132,5 +177,14 @@ const listByNamespaceNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/index.ts b/sdk/servicebus/arm-servicebus/src/operations/index.ts index 6e521e6da18f..8b068cf2d58e 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/index.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/index.ts @@ -1,21 +1,21 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./operations"; export * from "./namespaces"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; export * from "./disasterRecoveryConfigs"; -export * from "./migrationConfigs"; export * from "./queues"; export * from "./topics"; +export * from "./eventHubs"; +export * from "./migrationConfigs"; +export * from "./premiumMessagingRegionsOperations"; +export * from "./regions"; export * from "./subscriptions"; export * from "./rules"; -export * from "./regions"; -export * from "./premiumMessagingRegionsOperations"; -export * from "./eventHubs"; +export * from "./operations"; diff --git a/sdk/servicebus/arm-servicebus/src/operations/migrationConfigs.ts b/sdk/servicebus/arm-servicebus/src/operations/migrationConfigs.ts index f3f456574707..cd9f9187c0d3 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/migrationConfigs.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/migrationConfigs.ts @@ -1,27 +1,44 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/migrationConfigsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { MigrationConfigs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + MigrationConfigProperties, + MigrationConfigsListNextOptionalParams, + MigrationConfigsListOptionalParams, + MigrationConfigsListResponse, + MigrationConfigurationName, + MigrationConfigsCreateAndStartMigrationOptionalParams, + MigrationConfigsCreateAndStartMigrationResponse, + MigrationConfigsDeleteOptionalParams, + MigrationConfigsGetOptionalParams, + MigrationConfigsGetResponse, + MigrationConfigsCompleteMigrationOptionalParams, + MigrationConfigsRevertOptionalParams, + MigrationConfigsListNextResponse +} from "../models"; -/** Class representing a MigrationConfigs. */ -export class MigrationConfigs { +/// +/** Class containing MigrationConfigs operations. */ +export class MigrationConfigsImpl implements MigrationConfigs { private readonly client: ServiceBusManagementClientContext; /** - * Create a MigrationConfigs. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class MigrationConfigs class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; @@ -31,110 +48,209 @@ export class MigrationConfigs { * Gets all migrationConfigurations * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback - */ - list(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback - */ - list(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public list( + resourceGroupName: string, + namespaceName: string, + options?: MigrationConfigsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, namespaceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, namespaceName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: MigrationConfigsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, namespaceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( resourceGroupName, namespaceName, + continuationToken, options - }, - listOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: MigrationConfigsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** - * Creates Migration configuration and starts migration of entities from Standard to Premium - * namespace + * Gets all migrationConfigurations * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param parameters Parameters required to create Migration Configuration - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createAndStartMigration(resourceGroupName: string, namespaceName: string, parameters: Models.MigrationConfigProperties, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateAndStartMigration(resourceGroupName,namespaceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private _list( + resourceGroupName: string, + namespaceName: string, + options?: MigrationConfigsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listOperationSpec + ); } /** - * Deletes a MigrationConfiguration + * Creates Migration configuration and starts migration of entities from Standard to Premium namespace * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise + * @param configName The configuration name. Should always be "$default". + * @param parameters Parameters required to create Migration Configuration + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreateAndStartMigration( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + parameters: MigrationConfigProperties, + options?: MigrationConfigsCreateAndStartMigrationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + MigrationConfigsCreateAndStartMigrationResponse + > + > { + 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, namespaceName, configName, parameters, options }, + createAndStartMigrationOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Creates Migration configuration and starts migration of entities from Standard to Premium namespace * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param callback The callback + * @param configName The configuration name. Should always be "$default". + * @param parameters Parameters required to create Migration Configuration + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; + async beginCreateAndStartMigrationAndWait( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + parameters: MigrationConfigProperties, + options?: MigrationConfigsCreateAndStartMigrationOptionalParams + ): Promise { + const poller = await this.beginCreateAndStartMigration( + resourceGroupName, + namespaceName, + configName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** + * Deletes a MigrationConfiguration * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback + * @param configName The configuration name. Should always be "$default". + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + options?: MigrationConfigsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, namespaceName, configName, options }, + deleteOperationSpec + ); } /** * Retrieves Migration Config * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback + * @param configName The configuration name. Should always be "$default". + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + options?: MigrationConfigsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, configName, options }, + getOperationSpec + ); } /** @@ -143,158 +259,122 @@ export class MigrationConfigs { * CompleteMigration operation will fail when entity migration is in-progress. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise - */ - completeMigration(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback + * @param configName The configuration name. Should always be "$default". + * @param options The options parameters. */ - completeMigration(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback - */ - completeMigration(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - completeMigration(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + completeMigration( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + options?: MigrationConfigsCompleteMigrationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - completeMigrationOperationSpec, - callback); + { resourceGroupName, namespaceName, configName, options }, + completeMigrationOperationSpec + ); } /** * This operation reverts Migration * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise - */ - revert(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback - */ - revert(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback + * @param configName The configuration name. Should always be "$default". + * @param options The options parameters. */ - revert(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - revert(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + revert( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + options?: MigrationConfigsRevertOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - revertOperationSpec, - callback); + { resourceGroupName, namespaceName, configName, options }, + revertOperationSpec + ); } /** - * Creates Migration configuration and starts migration of entities from Standard to Premium - * namespace + * ListNext * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param parameters Parameters required to create Migration Configuration - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateAndStartMigration(resourceGroupName: string, namespaceName: string, parameters: Models.MigrationConfigProperties, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - namespaceName, - parameters, - options - }, - beginCreateAndStartMigrationOperationSpec, - options); - } - - /** - * Gets all migrationConfigurations - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: MigrationConfigsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations", + responses: { + 200: { + bodyMapper: Mappers.MigrationConfigListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const createAndStartMigrationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.MigrationConfigListResult + bodyMapper: Mappers.MigrationConfigProperties + }, + 201: { + bodyMapper: Mappers.MigrationConfigProperties + }, + 202: { + bodyMapper: Mappers.MigrationConfigProperties + }, + 204: { + bodyMapper: Mappers.MigrationConfigProperties }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", + requestBody: Parameters.parameters14, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.configName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.configName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -302,24 +382,21 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.configName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.configName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.MigrationConfigProperties @@ -328,101 +405,62 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const completeMigrationOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.configName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.configName ], + headerParameters: [Parameters.accept], + serializer +}; +const completeMigrationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade", + httpMethod: "POST", responses: { 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const revertOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.configName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.configName ], + headerParameters: [Parameters.accept], + serializer +}; +const revertOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert", + httpMethod: "POST", responses: { 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const beginCreateAndStartMigrationOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.configName, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.configName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.MigrationConfigProperties, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.MigrationConfigProperties - }, - 201: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.MigrationConfigListResult @@ -431,5 +469,14 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/namespaces.ts b/sdk/servicebus/arm-servicebus/src/operations/namespaces.ts index 05263ac80a14..696110f2f328 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/namespaces.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/namespaces.ts @@ -1,386 +1,980 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/namespacesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Namespaces } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + IpFilterRule, + NamespacesListIpFilterRulesNextOptionalParams, + NamespacesListIpFilterRulesOptionalParams, + SBNamespace, + NamespacesListNextOptionalParams, + NamespacesListOptionalParams, + NamespacesListByResourceGroupNextOptionalParams, + NamespacesListByResourceGroupOptionalParams, + VirtualNetworkRule, + NamespacesListVirtualNetworkRulesNextOptionalParams, + NamespacesListVirtualNetworkRulesOptionalParams, + SBAuthorizationRule, + NamespacesListAuthorizationRulesNextOptionalParams, + NamespacesListAuthorizationRulesOptionalParams, + NetworkRuleSet, + NamespacesListNetworkRuleSetsNextOptionalParams, + NamespacesListNetworkRuleSetsOptionalParams, + NamespacesListIpFilterRulesResponse, + NamespacesCreateOrUpdateIpFilterRuleOptionalParams, + NamespacesCreateOrUpdateIpFilterRuleResponse, + NamespacesDeleteIpFilterRuleOptionalParams, + NamespacesGetIpFilterRuleOptionalParams, + NamespacesGetIpFilterRuleResponse, + NamespacesListResponse, + NamespacesListByResourceGroupResponse, + NamespacesCreateOrUpdateOptionalParams, + NamespacesCreateOrUpdateResponse, + NamespacesDeleteOptionalParams, + NamespacesGetOptionalParams, + NamespacesGetResponse, + SBNamespaceUpdateParameters, + NamespacesUpdateOptionalParams, + NamespacesUpdateResponse, + NamespacesListVirtualNetworkRulesResponse, + NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams, + NamespacesCreateOrUpdateVirtualNetworkRuleResponse, + NamespacesDeleteVirtualNetworkRuleOptionalParams, + NamespacesGetVirtualNetworkRuleOptionalParams, + NamespacesGetVirtualNetworkRuleResponse, + NamespacesListAuthorizationRulesResponse, + NamespacesCreateOrUpdateAuthorizationRuleOptionalParams, + NamespacesCreateOrUpdateAuthorizationRuleResponse, + NamespacesDeleteAuthorizationRuleOptionalParams, + NamespacesGetAuthorizationRuleOptionalParams, + NamespacesGetAuthorizationRuleResponse, + NamespacesListKeysOptionalParams, + NamespacesListKeysResponse, + RegenerateAccessKeyParameters, + NamespacesRegenerateKeysOptionalParams, + NamespacesRegenerateKeysResponse, + CheckNameAvailability, + NamespacesCheckNameAvailabilityOptionalParams, + NamespacesCheckNameAvailabilityResponse, + NamespacesCreateOrUpdateNetworkRuleSetOptionalParams, + NamespacesCreateOrUpdateNetworkRuleSetResponse, + NamespacesGetNetworkRuleSetOptionalParams, + NamespacesGetNetworkRuleSetResponse, + NamespacesListNetworkRuleSetsResponse, + SBNamespaceMigrate, + NamespacesMigrateOptionalParams, + NamespacesListIpFilterRulesNextResponse, + NamespacesListNextResponse, + NamespacesListByResourceGroupNextResponse, + NamespacesListVirtualNetworkRulesNextResponse, + NamespacesListAuthorizationRulesNextResponse, + NamespacesListNetworkRuleSetsNextResponse +} from "../models"; -/** Class representing a Namespaces. */ -export class Namespaces { +/// +/** Class containing Namespaces operations. */ +export class NamespacesImpl implements Namespaces { private readonly client: ServiceBusManagementClientContext; /** - * Create a Namespaces. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Namespaces class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; } /** - * Check the give namespace name availability. - * @param parameters Parameters to check availability of the given namespace name - * @param [options] The optional parameters - * @returns Promise - */ - checkNameAvailabilityMethod(parameters: Models.CheckNameAvailability, options?: msRest.RequestOptionsBase): Promise; - /** - * @param parameters Parameters to check availability of the given namespace name - * @param callback The callback - */ - checkNameAvailabilityMethod(parameters: Models.CheckNameAvailability, callback: msRest.ServiceCallback): void; - /** - * @param parameters Parameters to check availability of the given namespace name - * @param options The optional parameters - * @param callback The callback + * Gets a list of IP Filter rules for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. */ - checkNameAvailabilityMethod(parameters: Models.CheckNameAvailability, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - checkNameAvailabilityMethod(parameters: Models.CheckNameAvailability, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - parameters, - options + public listIpFilterRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIpFilterRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listIpFilterRulesPagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - checkNameAvailabilityMethodOperationSpec, - callback) as Promise; + byPage: () => { + return this.listIpFilterRulesPagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; + } + + private async *listIpFilterRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIpFilterRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listIpFilterRules( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listIpFilterRulesNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listIpFilterRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIpFilterRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listIpFilterRulesPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** * Gets all the available namespaces within the subscription, irrespective of the resource groups. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback + * @param options The options parameters. */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: NamespacesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: NamespacesListOptionalParams + ): 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?: NamespacesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Gets the available namespaces within a resource group. * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByResourceGroup( + resourceGroupName: string, + options?: NamespacesListByResourceGroupOptionalParams + ): 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?: NamespacesListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: NamespacesListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** - * Creates or updates a service namespace. Once created, this namespace's resource manifest is - * immutable. This operation is idempotent. + * Gets a list of VirtualNetwork rules for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name. - * @param parameters Parameters supplied to create a namespace resource. - * @param [options] The optional parameters - * @returns Promise + * @param namespaceName The namespace name + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespace, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,namespaceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + public listVirtualNetworkRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listVirtualNetworkRulesPagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listVirtualNetworkRulesPagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; + } + + private async *listVirtualNetworkRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listVirtualNetworkRules( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listVirtualNetworkRulesNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listVirtualNetworkRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listVirtualNetworkRulesPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** - * Deletes an existing namespace. This operation also removes all associated resources under the - * namespace. + * Gets the authorization rules for a namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,namespaceName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + public listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAuthorizationRulesPagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; + } + + private async *listAuthorizationRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listAuthorizationRules( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAuthorizationRulesNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listAuthorizationRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** - * Gets a description for the specified namespace. + * Gets list of NetworkRuleSet for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; + public listNetworkRuleSets( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListNetworkRuleSetsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listNetworkRuleSetsPagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listNetworkRuleSetsPagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; + } + + private async *listNetworkRuleSetsPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListNetworkRuleSetsOptionalParams + ): AsyncIterableIterator { + let result = await this._listNetworkRuleSets( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNetworkRuleSetsNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listNetworkRuleSetsPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListNetworkRuleSetsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listNetworkRuleSetsPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } + } + /** + * Gets a list of IP Filter rules for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; + private _listIpFilterRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIpFilterRulesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listIpFilterRulesOperationSpec + ); + } + /** + * Creates or updates an IpFilterRule for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback + * @param ipFilterRuleName The IP Filter Rule name. + * @param parameters The Namespace IpFilterRule. + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdateIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + parameters: IpFilterRule, + options?: NamespacesCreateOrUpdateIpFilterRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, + ipFilterRuleName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateIpFilterRuleOperationSpec + ); } /** - * Updates a service namespace. Once created, this namespace's resource manifest is immutable. This - * operation is idempotent. + * Deletes an IpFilterRule for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param parameters Parameters supplied to update a namespace resource. - * @param [options] The optional parameters - * @returns Promise + * @param ipFilterRuleName The IP Filter Rule name. + * @param options The options parameters. */ - update(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespaceUpdateParameters, options?: msRest.RequestOptionsBase): Promise; + deleteIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + options?: NamespacesDeleteIpFilterRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, ipFilterRuleName, options }, + deleteIpFilterRuleOperationSpec + ); + } + /** + * Gets an IpFilterRule for a Namespace by rule name. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param parameters Parameters supplied to update a namespace resource. - * @param callback The callback + * @param ipFilterRuleName The IP Filter Rule name. + * @param options The options parameters. */ - update(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespaceUpdateParameters, callback: msRest.ServiceCallback): void; + getIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + options?: NamespacesGetIpFilterRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, ipFilterRuleName, options }, + getIpFilterRuleOperationSpec + ); + } + /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param parameters Parameters supplied to update a namespace resource. - * @param options The optional parameters - * @param callback The callback + * Gets all the available namespaces within the subscription, irrespective of the resource groups. + * @param options The options parameters. */ - update(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespaceUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - update(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespaceUpdateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - parameters, - options - }, - updateOperationSpec, - callback) as Promise; + private _list( + options?: NamespacesListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); } /** - * Gets the authorization rules for a namespace. + * Gets the available namespaces within a resource group. * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; + private _listByResourceGroup( + resourceGroupName: string, + options?: NamespacesListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + /** + * Creates or updates a service namespace. Once created, this namespace's resource manifest is + * immutable. This operation is idempotent. * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback + * @param namespaceName The namespace name. + * @param parameters Parameters supplied to create a namespace resource. + * @param options The options parameters. */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; + async beginCreateOrUpdate( + resourceGroupName: string, + namespaceName: string, + parameters: SBNamespace, + options?: NamespacesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + NamespacesCreateOrUpdateResponse + > + > { + 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, namespaceName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Creates or updates a service namespace. Once created, this namespace's resource manifest is + * immutable. This operation is idempotent. * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback + * @param namespaceName The namespace name. + * @param parameters Parameters supplied to create a namespace resource. + * @param options The options parameters. */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRules(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - listAuthorizationRulesOperationSpec, - callback) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + namespaceName: string, + parameters: SBNamespace, + options?: NamespacesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + namespaceName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Creates or updates an authorization rule for a namespace. + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access authorization rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options?: msRest.RequestOptionsBase): Promise; + async beginDelete( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesDeleteOptionalParams + ): 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, namespaceName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access authorization rule. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, callback: msRest.ServiceCallback): void; + async beginDeleteAndWait( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + namespaceName, + options + ); + return poller.pollUntilDone(); + } + /** + * Gets a description for the specified namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access authorization rule. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - authorizationRuleName, - parameters, - options - }, - createOrUpdateAuthorizationRuleOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, options }, + getOperationSpec + ); } /** - * Deletes a namespace authorization rule. + * Updates a service namespace. Once created, this namespace's resource manifest is immutable. This + * operation is idempotent. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise + * @param parameters Parameters supplied to update a namespace resource. + * @param options The options parameters. */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; + update( + resourceGroupName: string, + namespaceName: string, + parameters: SBNamespaceUpdateParameters, + options?: NamespacesUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, parameters, options }, + updateOperationSpec + ); + } + /** + * Gets a list of VirtualNetwork rules for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback + * @param options The options parameters. */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; + private _listVirtualNetworkRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listVirtualNetworkRulesOperationSpec + ); + } + /** + * Creates or updates an VirtualNetworkRule for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param parameters The Namespace VirtualNetworkRule. + * @param options The options parameters. */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdateVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, - authorizationRuleName, + virtualNetworkRuleName, + parameters, options }, - deleteAuthorizationRuleOperationSpec, - callback); + createOrUpdateVirtualNetworkRuleOperationSpec + ); } /** - * Gets an authorization rule for a namespace by rule name. + * Deletes an VirtualNetworkRule for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param options The options parameters. */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; + deleteVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + options?: NamespacesDeleteVirtualNetworkRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, virtualNetworkRuleName, options }, + deleteVirtualNetworkRuleOperationSpec + ); + } + /** + * Gets an VirtualNetworkRule for a Namespace by rule name. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param callback The callback + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param options The options parameters. */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; + getVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + options?: NamespacesGetVirtualNetworkRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, virtualNetworkRuleName, options }, + getVirtualNetworkRuleOperationSpec + ); + } + /** + * Gets the authorization rules for a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + private _listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listAuthorizationRulesOperationSpec + ); + } + + /** + * Creates or updates an authorization rule for a namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback + * @param parameters The shared access authorization rule. + * @param options The options parameters. */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getAuthorizationRule(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + parameters: SBAuthorizationRule, + options?: NamespacesCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, authorizationRuleName, + parameters, options }, - getAuthorizationRuleOperationSpec, - callback) as Promise; + createOrUpdateAuthorizationRuleOperationSpec + ); } /** - * Gets the primary and secondary connection strings for the namespace. + * Deletes a namespace authorization rule. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesDeleteAuthorizationRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, authorizationRuleName, options }, + deleteAuthorizationRuleOperationSpec + ); + } + /** + * Gets an authorization rule for a namespace by rule name. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param authorizationRuleName The authorization rule name. - * @param callback The callback + * @param options The options parameters. */ - listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesGetAuthorizationRuleOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, authorizationRuleName, options }, + getAuthorizationRuleOperationSpec + ); + } + /** + * Gets the primary and secondary connection strings for the namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listKeys( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesListKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - authorizationRuleName, - options - }, - listKeysOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, authorizationRuleName, options }, + listKeysOperationSpec + ); } /** @@ -389,28 +983,15 @@ export class Namespaces { * @param namespaceName The namespace name * @param authorizationRuleName The authorization rule name. * @param parameters Parameters supplied to regenerate the authorization rule. - * @param [options] The optional parameters - * @returns Promise - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters supplied to regenerate the authorization rule. - * @param callback The callback - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters supplied to regenerate the authorization rule. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - regenerateKeys(resourceGroupName: string, namespaceName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: NamespacesRegenerateKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -419,44 +1000,23 @@ export class Namespaces { parameters, options }, - regenerateKeysOperationSpec, - callback) as Promise; + regenerateKeysOperationSpec + ); } /** - * This operation Migrate the given namespace to provided name type - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param parameters Parameters supplied to migrate namespace type. - * @param [options] The optional parameters - * @returns Promise - */ - migrate(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespaceMigrate, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param parameters Parameters supplied to migrate namespace type. - * @param callback The callback - */ - migrate(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespaceMigrate, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param parameters Parameters supplied to migrate namespace type. - * @param options The optional parameters - * @param callback The callback + * Check the give namespace name availability. + * @param parameters Parameters to check availability of the given namespace name + * @param options The options parameters. */ - migrate(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespaceMigrate, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - migrate(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespaceMigrate, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + checkNameAvailability( + parameters: CheckNameAvailability, + options?: NamespacesCheckNameAvailabilityOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - parameters, - options - }, - migrateOperationSpec, - callback); + { parameters, options }, + checkNameAvailabilityOperationSpec + ); } /** @@ -464,408 +1024,517 @@ export class Namespaces { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param parameters The Namespace IpFilterRule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: Models.NetworkRuleSet, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param parameters The Namespace IpFilterRule. - * @param callback The callback - */ - createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: Models.NetworkRuleSet, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param parameters The Namespace IpFilterRule. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: Models.NetworkRuleSet, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdateNetworkRuleSet(resourceGroupName: string, namespaceName: string, parameters: Models.NetworkRuleSet, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdateNetworkRuleSet( + resourceGroupName: string, + namespaceName: string, + parameters: NetworkRuleSet, + options?: NamespacesCreateOrUpdateNetworkRuleSetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - parameters, - options - }, - createOrUpdateNetworkRuleSetOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, parameters, options }, + createOrUpdateNetworkRuleSetOperationSpec + ); } /** * Gets NetworkRuleSet for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - getNetworkRuleSet(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback - */ - getNetworkRuleSet(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback - */ - getNetworkRuleSet(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getNetworkRuleSet(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + getNetworkRuleSet( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesGetNetworkRuleSetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - getNetworkRuleSetOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, options }, + getNetworkRuleSetOperationSpec + ); } /** * Gets list of NetworkRuleSet for a Namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise - */ - listNetworkRuleSets(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback - */ - listNetworkRuleSets(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listNetworkRuleSets(resourceGroupName: string, namespaceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNetworkRuleSets(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNetworkRuleSets( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListNetworkRuleSetsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options - }, - listNetworkRuleSetsOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, options }, + listNetworkRuleSetsOperationSpec + ); } /** - * Creates or updates a service namespace. Once created, this namespace's resource manifest is - * immutable. This operation is idempotent. + * This operation Migrate the given namespace to provided name type * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name. - * @param parameters Parameters supplied to create a namespace resource. - * @param [options] The optional parameters - * @returns Promise + * @param namespaceName The namespace name + * @param parameters Parameters supplied to migrate namespace type. + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, namespaceName: string, parameters: Models.SBNamespace, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - namespaceName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + migrate( + resourceGroupName: string, + namespaceName: string, + parameters: SBNamespaceMigrate, + options?: NamespacesMigrateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, parameters, options }, + migrateOperationSpec + ); } /** - * Deletes an existing namespace. This operation also removes all associated resources under the - * namespace. + * ListIpFilterRulesNext * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the ListIpFilterRules method. + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, namespaceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - namespaceName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listIpFilterRulesNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: NamespacesListIpFilterRulesNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, nextLink, options }, + listIpFilterRulesNextOperationSpec + ); } /** - * Gets all the available namespaces within the subscription, irrespective of the resource groups. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: NamespacesListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Gets the available namespaces within a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: NamespacesListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } /** - * Gets the authorization rules for a namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListVirtualNetworkRulesNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param nextLink The nextLink from the previous successful call to the ListVirtualNetworkRules + * method. + * @param options The options parameters. */ - listAuthorizationRulesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listVirtualNetworkRulesNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: NamespacesListVirtualNetworkRulesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAuthorizationRulesNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listVirtualNetworkRulesNextOperationSpec + ); } /** - * Gets list of NetworkRuleSet for a Namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNetworkRuleSetsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListAuthorizationRulesNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param nextLink The nextLink from the previous successful call to the ListAuthorizationRules method. + * @param options The options parameters. */ - listNetworkRuleSetsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listAuthorizationRulesNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: NamespacesListAuthorizationRulesNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, nextLink, options }, + listAuthorizationRulesNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNetworkRuleSetsNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param nextLink The nextLink from the previous successful call to the ListNetworkRuleSets method. + * @param options The options parameters. */ - listNetworkRuleSetsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNetworkRuleSetsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNetworkRuleSetsNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: NamespacesListNetworkRuleSetsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNetworkRuleSetsNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listNetworkRuleSetsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const checkNameAvailabilityMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listIpFilterRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.IpFilterRuleListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateIpFilterRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.IpFilterRule + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.ipFilterRuleName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteIpFilterRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.ipFilterRuleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getIpFilterRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.IpFilterRule + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.ipFilterRuleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SBNamespaceListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SBNamespaceListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId ], - headerParameters: [ - Parameters.acceptLanguage + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SBNamespace + }, + 201: { + bodyMapper: Mappers.SBNamespace + }, + 202: { + bodyMapper: Mappers.SBNamespace + }, + 204: { + bodyMapper: Mappers.SBNamespace + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.namespaceName1 ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.CheckNameAvailability, - required: true + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.CheckNameAvailabilityResult + bodyMapper: Mappers.SBNamespace }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.SBNamespaceListResult + bodyMapper: Mappers.SBNamespace + }, + 201: { + bodyMapper: Mappers.SBNamespace }, + 202: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces", + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listVirtualNetworkRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBNamespaceListResult + bodyMapper: Mappers.VirtualNetworkRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateVirtualNetworkRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SBNamespace + bodyMapper: Mappers.VirtualNetworkRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", + requestBody: Parameters.parameters3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.virtualNetworkRuleName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBNamespaceUpdateParameters, - required: true + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteVirtualNetworkRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.virtualNetworkRuleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getVirtualNetworkRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBNamespace + bodyMapper: Mappers.VirtualNetworkRule }, - 201: { - bodyMapper: Mappers.SBNamespace - }, - 202: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.virtualNetworkRuleName ], + headerParameters: [Parameters.accept], + serializer +}; +const listAuthorizationRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBAuthorizationRuleListResult @@ -874,31 +1543,20 @@ const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.authorizationRuleName, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBAuthorizationRule, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.SBAuthorizationRule @@ -907,24 +1565,23 @@ const createOrUpdateAuthorizationRuleOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -932,24 +1589,21 @@ const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName ], + headerParameters: [Parameters.accept], + serializer +}; +const getAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBAuthorizationRule @@ -958,24 +1612,21 @@ const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName ], + headerParameters: [Parameters.accept], + serializer +}; +const listKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.AccessKeys @@ -984,31 +1635,21 @@ const listKeysOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const regenerateKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.authorizationRuleName, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.RegenerateAccessKeyParameters, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const regenerateKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.AccessKeys @@ -1017,60 +1658,42 @@ const regenerateKeysOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const migrateOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrate", + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.subscriptionId + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBNamespaceMigrate, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability", + httpMethod: "POST", responses: { - 200: {}, + 200: { + bodyMapper: Mappers.CheckNameAvailabilityResult + }, default: { bodyMapper: Mappers.ErrorResponse } }, + requestBody: Parameters.parameters6, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const createOrUpdateNetworkRuleSetOperationSpec: msRest.OperationSpec = { +const createOrUpdateNetworkRuleSetOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.NetworkRuleSet, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.NetworkRuleSet @@ -1079,23 +1702,22 @@ const createOrUpdateNetworkRuleSetOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getNetworkRuleSetOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default", + requestBody: Parameters.parameters7, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getNetworkRuleSetOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NetworkRuleSet @@ -1104,23 +1726,20 @@ const getNetworkRuleSetOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listNetworkRuleSetsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listNetworkRuleSetsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NetworkRuleSetListResult @@ -1129,80 +1748,63 @@ const listNetworkRuleSetsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName0, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBNamespace, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const migrateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrate", + httpMethod: "POST", responses: { - 200: { - bodyMapper: Mappers.SBNamespace - }, - 201: { - bodyMapper: Mappers.SBNamespace - }, - 202: {}, + 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", + requestBody: Parameters.parameters8, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listIpFilterRulesNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, - 204: {}, + 200: { + bodyMapper: Mappers.IpFilterRuleListResult + }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBNamespaceListResult @@ -1211,19 +1813,18 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBNamespaceListResult @@ -1232,19 +1833,41 @@ const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listVirtualNetworkRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkRuleListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink ], + headerParameters: [Parameters.accept], + serializer +}; +const listAuthorizationRulesNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBAuthorizationRuleListResult @@ -1253,19 +1876,20 @@ const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listNetworkRuleSetsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNetworkRuleSetsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NetworkRuleSetListResult @@ -1274,5 +1898,14 @@ const listNetworkRuleSetsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/operations.ts b/sdk/servicebus/arm-servicebus/src/operations/operations.ts index 43dd0e75b0e3..ee196b973752 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/operations.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/operations.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/operationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + Operation, + OperationsListNextOptionalParams, + OperationsListOptionalParams, + OperationsListResponse, + OperationsListNextResponse +} from "../models"; -/** Class representing a Operations. */ -export class Operations { +/// +/** Class containing Operations operations. */ +export class OperationsImpl implements Operations { private readonly client: ServiceBusManagementClientContext; /** - * Create a Operations. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Operations class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; @@ -28,68 +36,77 @@ export class Operations { /** * Lists all of the available ServiceBus REST API operations. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: OperationsListOptionalParams + ): 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?: OperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Lists all of the available ServiceBus REST API operations. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: OperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: OperationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.ServiceBus/operations", httpMethod: "GET", - path: "providers/Microsoft.ServiceBus/operations", - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.OperationListResult @@ -98,19 +115,14 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.OperationListResult @@ -119,5 +131,8 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/premiumMessagingRegionsOperations.ts b/sdk/servicebus/arm-servicebus/src/operations/premiumMessagingRegionsOperations.ts index 789f8b3b372e..765e0bb2eedd 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/premiumMessagingRegionsOperations.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/premiumMessagingRegionsOperations.ts @@ -1,26 +1,35 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/premiumMessagingRegionsOperationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PremiumMessagingRegionsOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + PremiumMessagingRegions, + PremiumMessagingRegionsOperationsListNextOptionalParams, + PremiumMessagingRegionsOperationsListOptionalParams, + PremiumMessagingRegionsOperationsListResponse, + PremiumMessagingRegionsOperationsListNextResponse +} from "../models"; -/** Class representing a PremiumMessagingRegionsOperations. */ -export class PremiumMessagingRegionsOperations { +/// +/** Class containing PremiumMessagingRegionsOperations operations. */ +export class PremiumMessagingRegionsOperationsImpl + implements PremiumMessagingRegionsOperations { private readonly client: ServiceBusManagementClientContext; /** - * Create a PremiumMessagingRegionsOperations. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class PremiumMessagingRegionsOperations class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; @@ -28,71 +37,78 @@ export class PremiumMessagingRegionsOperations { /** * Gets the available premium messaging regions for servicebus - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: PremiumMessagingRegionsOperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: PremiumMessagingRegionsOperationsListOptionalParams + ): 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?: PremiumMessagingRegionsOperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Gets the available premium messaging regions for servicebus - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: PremiumMessagingRegionsOperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: PremiumMessagingRegionsOperationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.PremiumMessagingRegionsListResult @@ -101,19 +117,14 @@ const listOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PremiumMessagingRegionsListResult @@ -122,5 +133,12 @@ const listNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/privateEndpointConnections.ts b/sdk/servicebus/arm-servicebus/src/operations/privateEndpointConnections.ts new file mode 100644 index 000000000000..5dee3d76cd6d --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operations/privateEndpointConnections.ts @@ -0,0 +1,403 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListNextOptionalParams, + PrivateEndpointConnectionsListOptionalParams, + PrivateEndpointConnectionsListResponse, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsListNextResponse +} from "../models"; + +/// +/** Class containing PrivateEndpointConnections operations. */ +export class PrivateEndpointConnectionsImpl + implements PrivateEndpointConnections { + private readonly client: ServiceBusManagementClientContext; + + /** + * Initialize a new instance of the class PrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: ServiceBusManagementClientContext) { + this.client = client; + } + + /** + * Gets the available PrivateEndpointConnections within a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, namespaceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, namespaceName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, namespaceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + namespaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } + } + + /** + * Gets the available PrivateEndpointConnections within a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listOperationSpec + ); + } + + /** + * Creates or updates PrivateEndpointConnections of service namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param parameters Parameters supplied to update Status of PrivateEndPoint Connection to namespace + * resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + namespaceName, + privateEndpointConnectionName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Deletes an existing Private Endpoint Connection. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): 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, + namespaceName, + privateEndpointConnectionName, + options + }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an existing Private Endpoint Connection. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + namespaceName, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a description for the specified Private Endpoint Connection. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + namespaceName, + privateEndpointConnectionName, + options + }, + getOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters9, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/servicebus/arm-servicebus/src/operations/privateLinkResources.ts b/sdk/servicebus/arm-servicebus/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..216b5303dbfc --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operations/privateLinkResources.ts @@ -0,0 +1,72 @@ +/* + * 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 { PrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + PrivateLinkResourcesGetOptionalParams, + PrivateLinkResourcesGetResponse +} from "../models"; + +/** Class containing PrivateLinkResources operations. */ +export class PrivateLinkResourcesImpl implements PrivateLinkResources { + private readonly client: ServiceBusManagementClientContext; + + /** + * Initialize a new instance of the class PrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: ServiceBusManagementClientContext) { + this.client = client; + } + + /** + * Gets lists of resources that supports Privatelinks. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + options?: PrivateLinkResourcesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourcesListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/servicebus/arm-servicebus/src/operations/queues.ts b/sdk/servicebus/arm-servicebus/src/operations/queues.ts index 94e844861442..729e439c8448 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/queues.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/queues.ts @@ -1,173 +1,208 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/queuesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Queues } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + SBAuthorizationRule, + QueuesListAuthorizationRulesNextOptionalParams, + QueuesListAuthorizationRulesOptionalParams, + SBQueue, + QueuesListByNamespaceNextOptionalParams, + QueuesListByNamespaceOptionalParams, + QueuesListAuthorizationRulesResponse, + QueuesCreateOrUpdateAuthorizationRuleOptionalParams, + QueuesCreateOrUpdateAuthorizationRuleResponse, + QueuesDeleteAuthorizationRuleOptionalParams, + QueuesGetAuthorizationRuleOptionalParams, + QueuesGetAuthorizationRuleResponse, + QueuesListKeysOptionalParams, + QueuesListKeysResponse, + RegenerateAccessKeyParameters, + QueuesRegenerateKeysOptionalParams, + QueuesRegenerateKeysResponse, + QueuesListByNamespaceResponse, + QueuesCreateOrUpdateOptionalParams, + QueuesCreateOrUpdateResponse, + QueuesDeleteOptionalParams, + QueuesGetOptionalParams, + QueuesGetResponse, + QueuesListAuthorizationRulesNextResponse, + QueuesListByNamespaceNextResponse +} from "../models"; -/** Class representing a Queues. */ -export class Queues { +/// +/** Class containing Queues operations. */ +export class QueuesImpl implements Queues { private readonly client: ServiceBusManagementClientContext; /** - * Create a Queues. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Queues class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; } /** - * Gets the queues within a namespace. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise - */ - listByNamespace(resourceGroupName: string, namespaceName: string, options?: Models.QueuesListByNamespaceOptionalParams): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback - */ - listByNamespace(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** + * Gets all authorization rules for a queue. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback - */ - listByNamespace(resourceGroupName: string, namespaceName: string, options: Models.QueuesListByNamespaceOptionalParams, callback: msRest.ServiceCallback): void; - listByNamespace(resourceGroupName: string, namespaceName: string, options?: Models.QueuesListByNamespaceOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options + * @param queueName The queue name. + * @param options The options parameters. + */ + public listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAuthorizationRulesPagingAll( + resourceGroupName, + namespaceName, + queueName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listByNamespaceOperationSpec, - callback) as Promise; + byPage: () => { + return this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + queueName, + options + ); + } + }; } - /** - * Creates or updates a Service Bus queue. This operation is idempotent. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param parameters Parameters supplied to create or update a queue resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, queueName: string, parameters: Models.SBQueue, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param parameters Parameters supplied to create or update a queue resource. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, queueName: string, parameters: Models.SBQueue, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param parameters Parameters supplied to create or update a queue resource. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, queueName: string, parameters: Models.SBQueue, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, namespaceName: string, queueName: string, parameters: Models.SBQueue, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listAuthorizationRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listAuthorizationRules( + resourceGroupName, + namespaceName, + queueName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAuthorizationRulesNext( resourceGroupName, namespaceName, queueName, - parameters, + continuationToken, options - }, - createOrUpdateOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listAuthorizationRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + queueName, + options + )) { + yield* page; + } } /** - * Deletes a queue from the specified namespace in a resource group. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, namespaceName: string, queueName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, queueName: string, callback: msRest.ServiceCallback): void; - /** + * Gets the queues within a namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param queueName The queue name. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, queueName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, queueName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - queueName, - options + * @param options The options parameters. + */ + public listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: QueuesListByNamespaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByNamespacePagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - deleteMethodOperationSpec, - callback); + byPage: () => { + return this.listByNamespacePagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; } - /** - * Returns a description for the specified queue. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, queueName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, queueName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, queueName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, queueName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listByNamespacePagingPage( + resourceGroupName: string, + namespaceName: string, + options?: QueuesListByNamespaceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByNamespace( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByNamespaceNext( resourceGroupName, namespaceName, - queueName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByNamespacePagingAll( + resourceGroupName: string, + namespaceName: string, + options?: QueuesListByNamespaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByNamespacePagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** @@ -175,35 +210,18 @@ export class Queues { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param queueName The queue name. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, queueName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, queueName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, queueName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRules(resourceGroupName: string, namespaceName: string, queueName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesListAuthorizationRulesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - queueName, - options - }, - listAuthorizationRulesOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, queueName, options }, + listAuthorizationRulesOperationSpec + ); } /** @@ -213,30 +231,16 @@ export class Queues { * @param queueName The queue name. * @param authorizationRuleName The authorization rule name. * @param parameters The shared access authorization rule. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access authorization rule. - * @param callback The callback - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access authorization rule. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + parameters: SBAuthorizationRule, + options?: QueuesCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -246,8 +250,8 @@ export class Queues { parameters, options }, - createOrUpdateAuthorizationRuleOperationSpec, - callback) as Promise; + createOrUpdateAuthorizationRuleOperationSpec + ); } /** @@ -256,28 +260,15 @@ export class Queues { * @param namespaceName The namespace name * @param queueName The queue name. * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + options?: QueuesDeleteAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -286,8 +277,8 @@ export class Queues { authorizationRuleName, options }, - deleteAuthorizationRuleOperationSpec, - callback); + deleteAuthorizationRuleOperationSpec + ); } /** @@ -296,28 +287,15 @@ export class Queues { * @param namespaceName The namespace name * @param queueName The queue name. * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getAuthorizationRule(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + options?: QueuesGetAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -326,8 +304,8 @@ export class Queues { authorizationRuleName, options }, - getAuthorizationRuleOperationSpec, - callback) as Promise; + getAuthorizationRuleOperationSpec + ); } /** @@ -336,28 +314,15 @@ export class Queues { * @param namespaceName The namespace name * @param queueName The queue name. * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - listKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + options?: QueuesListKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -366,8 +331,8 @@ export class Queues { authorizationRuleName, options }, - listKeysOperationSpec, - callback) as Promise; + listKeysOperationSpec + ); } /** @@ -377,30 +342,16 @@ export class Queues { * @param queueName The queue name. * @param authorizationRuleName The authorization rule name. * @param parameters Parameters supplied to regenerate the authorization rule. - * @param [options] The optional parameters - * @returns Promise - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters supplied to regenerate the authorization rule. - * @param callback The callback - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param queueName The queue name. - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters supplied to regenerate the authorization rule. - * @param options The optional parameters - * @param callback The callback - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - regenerateKeys(resourceGroupName: string, namespaceName: string, queueName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: QueuesRegenerateKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -410,144 +361,182 @@ export class Queues { parameters, options }, - regenerateKeysOperationSpec, - callback) as Promise; + regenerateKeysOperationSpec + ); } /** * Gets the queues within a namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. */ - listByNamespaceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: QueuesListByNamespaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listByNamespaceOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByNamespaceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + * Creates or updates a Service Bus queue. This operation is idempotent. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param parameters Parameters supplied to create or update a queue resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + queueName: string, + parameters: SBQueue, + options?: QueuesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, queueName, parameters, options }, + createOrUpdateOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByNamespaceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByNamespaceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * Deletes a queue from the specified namespace in a resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByNamespaceNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, queueName, options }, + deleteOperationSpec + ); } /** - * Gets all authorization rules for a queue. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + * Returns a description for the specified queue. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, queueName, options }, + getOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + * ListAuthorizationRulesNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param nextLink The nextLink from the previous successful call to the ListAuthorizationRules method. + * @param options The options parameters. + */ + private _listAuthorizationRulesNext( + resourceGroupName: string, + namespaceName: string, + queueName: string, + nextLink: string, + options?: QueuesListAuthorizationRulesNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, queueName, nextLink, options }, + listAuthorizationRulesNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListByNamespaceNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param nextLink The nextLink from the previous successful call to the ListByNamespace method. + * @param options The options parameters. + */ + private _listByNamespaceNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: QueuesListByNamespaceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAuthorizationRulesNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listByNamespaceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByNamespaceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listAuthorizationRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.skip, - Parameters.top - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { - bodyMapper: Mappers.SBQueueListResult + bodyMapper: Mappers.SBAuthorizationRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.queueName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBQueue, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SBQueue + bodyMapper: Mappers.SBAuthorizationRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName, + Parameters.queueName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -555,247 +544,226 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName, + Parameters.queueName ], + headerParameters: [Parameters.accept], + serializer +}; +const getAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBQueue + bodyMapper: Mappers.SBAuthorizationRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName, + Parameters.queueName ], + headerParameters: [Parameters.accept], + serializer +}; +const listKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SBAuthorizationRuleListResult + bodyMapper: Mappers.AccessKeys }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.queueName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBAuthorizationRule, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const regenerateKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SBAuthorizationRule + bodyMapper: Mappers.AccessKeys }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.queueName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByNamespaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues", + httpMethod: "GET", responses: { - 200: {}, - 204: {}, + 200: { + bodyMapper: Mappers.SBQueueListResult + }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, - Parameters.authorizationRuleName, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SBAuthorizationRule + bodyMapper: Mappers.SBQueue }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys", + requestBody: Parameters.parameters12, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.queueName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", + httpMethod: "DELETE", responses: { - 200: { - bodyMapper: Mappers.AccessKeys - }, + 200: {}, + 204: {}, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const regenerateKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.queueName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.queueName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.RegenerateAccessKeyParameters, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AccessKeys + bodyMapper: Mappers.SBQueue }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.queueName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByNamespaceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listAuthorizationRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBQueueListResult + bodyMapper: Mappers.SBAuthorizationRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.queueName + ], + headerParameters: [Parameters.accept], serializer }; - -const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByNamespaceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBAuthorizationRuleListResult + bodyMapper: Mappers.SBQueueListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/regions.ts b/sdk/servicebus/arm-servicebus/src/operations/regions.ts index 5783f9c72e9c..9d8332e89d49 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/regions.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/regions.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/regionsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Regions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + PremiumMessagingRegions, + RegionsListBySkuNextOptionalParams, + RegionsListBySkuOptionalParams, + RegionsListBySkuResponse, + RegionsListBySkuNextResponse +} from "../models"; -/** Class representing a Regions. */ -export class Regions { +/// +/** Class containing Regions operations. */ +export class RegionsImpl implements Regions { private readonly client: ServiceBusManagementClientContext; /** - * Create a Regions. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Regions class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; @@ -29,75 +37,88 @@ export class Regions { /** * Gets the available Regions for a given sku * @param sku The sku type. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listBySku(sku: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param sku The sku type. - * @param callback The callback - */ - listBySku(sku: string, callback: msRest.ServiceCallback): void; - /** - * @param sku The sku type. - * @param options The optional parameters - * @param callback The callback - */ - listBySku(sku: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySku(sku: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - sku, - options + public listBySku( + sku: string, + options?: RegionsListBySkuOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySkuPagingAll(sku, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listBySkuOperationSpec, - callback) as Promise; + byPage: () => { + return this.listBySkuPagingPage(sku, options); + } + }; + } + + private async *listBySkuPagingPage( + sku: string, + options?: RegionsListBySkuOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySku(sku, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySkuNext(sku, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySkuPagingAll( + sku: string, + options?: RegionsListBySkuOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySkuPagingPage(sku, options)) { + yield* page; + } } /** * Gets the available Regions for a given sku - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBySkuNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param sku The sku type. + * @param options The options parameters. */ - listBySkuNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listBySku( + sku: string, + options?: RegionsListBySkuOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { sku, options }, + listBySkuOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListBySkuNext + * @param sku The sku type. + * @param nextLink The nextLink from the previous successful call to the ListBySku method. + * @param options The options parameters. */ - listBySkuNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySkuNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySkuNext( + sku: string, + nextLink: string, + options?: RegionsListBySkuNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listBySkuNextOperationSpec, - callback) as Promise; + { sku, nextLink, options }, + listBySkuNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listBySkuOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listBySkuOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions", - urlParameters: [ - Parameters.subscriptionId, - Parameters.sku - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.PremiumMessagingRegionsListResult @@ -106,19 +127,14 @@ const listBySkuOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId, Parameters.sku], + headerParameters: [Parameters.accept], serializer }; - -const listBySkuNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBySkuNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PremiumMessagingRegionsListResult @@ -127,5 +143,13 @@ const listBySkuNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.sku + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/rules.ts b/sdk/servicebus/arm-servicebus/src/operations/rules.ts index 1b0507a95657..18871ea025ca 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/rules.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/rules.ts @@ -1,26 +1,39 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/rulesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Rules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + Rule, + RulesListBySubscriptionsNextOptionalParams, + RulesListBySubscriptionsOptionalParams, + RulesListBySubscriptionsResponse, + RulesCreateOrUpdateOptionalParams, + RulesCreateOrUpdateResponse, + RulesDeleteOptionalParams, + RulesGetOptionalParams, + RulesGetResponse, + RulesListBySubscriptionsNextResponse +} from "../models"; -/** Class representing a Rules. */ -export class Rules { +/// +/** Class containing Rules operations. */ +export class RulesImpl implements Rules { private readonly client: ServiceBusManagementClientContext; /** - * Create a Rules. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Rules class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; @@ -32,28 +45,104 @@ export class Rules { * @param namespaceName The namespace name * @param topicName The topic name. * @param subscriptionName The subscription name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listBySubscriptions(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: Models.RulesListBySubscriptionsOptionalParams): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param callback The callback - */ - listBySubscriptions(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, callback: msRest.ServiceCallback): void; + public listBySubscriptions( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: RulesListBySubscriptionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySubscriptionsPagingAll( + resourceGroupName, + namespaceName, + topicName, + subscriptionName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySubscriptionsPagingPage( + resourceGroupName, + namespaceName, + topicName, + subscriptionName, + options + ); + } + }; + } + + private async *listBySubscriptionsPagingPage( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: RulesListBySubscriptionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySubscriptions( + resourceGroupName, + namespaceName, + topicName, + subscriptionName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySubscriptionsNext( + resourceGroupName, + namespaceName, + topicName, + subscriptionName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySubscriptionsPagingAll( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: RulesListBySubscriptionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySubscriptionsPagingPage( + resourceGroupName, + namespaceName, + topicName, + subscriptionName, + options + )) { + yield* page; + } + } + /** + * List all the rules within given topic-subscription * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param topicName The topic name. * @param subscriptionName The subscription name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listBySubscriptions(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options: Models.RulesListBySubscriptionsOptionalParams, callback: msRest.ServiceCallback): void; - listBySubscriptions(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: Models.RulesListBySubscriptionsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySubscriptions( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: RulesListBySubscriptionsOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -62,8 +151,8 @@ export class Rules { subscriptionName, options }, - listBySubscriptionsOperationSpec, - callback) as Promise; + listBySubscriptionsOperationSpec + ); } /** @@ -74,32 +163,17 @@ export class Rules { * @param subscriptionName The subscription name. * @param ruleName The rule name. * @param parameters Parameters supplied to create a rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, parameters: Models.Rule, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param ruleName The rule name. - * @param parameters Parameters supplied to create a rule. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, parameters: Models.Rule, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param ruleName The rule name. - * @param parameters Parameters supplied to create a rule. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, parameters: Models.Rule, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, parameters: Models.Rule, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + ruleName: string, + parameters: Rule, + options?: RulesCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -110,8 +184,8 @@ export class Rules { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** @@ -121,30 +195,16 @@ export class Rules { * @param topicName The topic name. * @param subscriptionName The subscription name. * @param ruleName The rule name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param ruleName The rule name. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param ruleName The rule name. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + ruleName: string, + options?: RulesDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -154,8 +214,8 @@ export class Rules { ruleName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** @@ -165,30 +225,16 @@ export class Rules { * @param topicName The topic name. * @param subscriptionName The subscription name. * @param ruleName The rule name. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param ruleName The rule name. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param ruleName The rule name. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, ruleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + ruleName: string, + options?: RulesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -198,59 +244,47 @@ export class Rules { ruleName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * List all the rules within given topic-subscription - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBySubscriptionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listBySubscriptionsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListBySubscriptionsNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param subscriptionName The subscription name. + * @param nextLink The nextLink from the previous successful call to the ListBySubscriptions method. + * @param options The options parameters. */ - listBySubscriptionsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySubscriptionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySubscriptionsNext( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + nextLink: string, + options?: RulesListBySubscriptionsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + namespaceName, + topicName, + subscriptionName, + nextLink, options }, - listBySubscriptionsNextOperationSpec, - callback) as Promise; + listBySubscriptionsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listBySubscriptionsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listBySubscriptionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.subscriptionName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.skip, - Parameters.top - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.RuleListResult @@ -259,33 +293,22 @@ const listBySubscriptionsOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.topicName, - Parameters.subscriptionName, - Parameters.ruleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.subscriptionName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.Rule, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Rule @@ -294,26 +317,25 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", + requestBody: Parameters.parameters16, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.topicName, Parameters.subscriptionName, - Parameters.ruleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.ruleName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -321,26 +343,23 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.topicName, Parameters.subscriptionName, - Parameters.ruleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.ruleName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Rule @@ -349,19 +368,22 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.topicName, + Parameters.subscriptionName, + Parameters.ruleName + ], + headerParameters: [Parameters.accept], serializer }; - -const listBySubscriptionsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBySubscriptionsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RuleListResult @@ -370,5 +392,16 @@ const listBySubscriptionsNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.topicName, + Parameters.subscriptionName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/subscriptions.ts b/sdk/servicebus/arm-servicebus/src/operations/subscriptions.ts index dca240edc567..f3e300bfc315 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/subscriptions.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/subscriptions.ts @@ -1,26 +1,39 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/subscriptionsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Subscriptions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + SBSubscription, + SubscriptionsListByTopicNextOptionalParams, + SubscriptionsListByTopicOptionalParams, + SubscriptionsListByTopicResponse, + SubscriptionsCreateOrUpdateOptionalParams, + SubscriptionsCreateOrUpdateResponse, + SubscriptionsDeleteOptionalParams, + SubscriptionsGetOptionalParams, + SubscriptionsGetResponse, + SubscriptionsListByTopicNextResponse +} from "../models"; -/** Class representing a Subscriptions. */ -export class Subscriptions { +/// +/** Class containing Subscriptions operations. */ +export class SubscriptionsImpl implements Subscriptions { private readonly client: ServiceBusManagementClientContext; /** - * Create a Subscriptions. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Subscriptions class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; @@ -31,68 +44,117 @@ export class Subscriptions { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param topicName The topic name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByTopic(resourceGroupName: string, namespaceName: string, topicName: string, options?: Models.SubscriptionsListByTopicOptionalParams): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param callback The callback - */ - listByTopic(resourceGroupName: string, namespaceName: string, topicName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param options The optional parameters - * @param callback The callback - */ - listByTopic(resourceGroupName: string, namespaceName: string, topicName: string, options: Models.SubscriptionsListByTopicOptionalParams, callback: msRest.ServiceCallback): void; - listByTopic(resourceGroupName: string, namespaceName: string, topicName: string, options?: Models.SubscriptionsListByTopicOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByTopic( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: SubscriptionsListByTopicOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByTopicPagingAll( + resourceGroupName, + namespaceName, + topicName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByTopicPagingPage( + resourceGroupName, + namespaceName, + topicName, + options + ); + } + }; + } + + private async *listByTopicPagingPage( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: SubscriptionsListByTopicOptionalParams + ): AsyncIterableIterator { + let result = await this._listByTopic( + resourceGroupName, + namespaceName, + topicName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByTopicNext( resourceGroupName, namespaceName, topicName, + continuationToken, options - }, - listByTopicOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByTopicPagingAll( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: SubscriptionsListByTopicOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByTopicPagingPage( + resourceGroupName, + namespaceName, + topicName, + options + )) { + yield* page; + } } /** - * Creates a topic subscription. + * List all the subscriptions under a specified topic. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param parameters Parameters supplied to create a subscription resource. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, parameters: Models.SBSubscription, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param parameters Parameters supplied to create a subscription resource. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, parameters: Models.SBSubscription, callback: msRest.ServiceCallback): void; + private _listByTopic( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: SubscriptionsListByTopicOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, topicName, options }, + listByTopicOperationSpec + ); + } + /** + * Creates a topic subscription. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param topicName The topic name. * @param subscriptionName The subscription name. * @param parameters Parameters supplied to create a subscription resource. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, parameters: Models.SBSubscription, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, parameters: Models.SBSubscription, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + parameters: SBSubscription, + options?: SubscriptionsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -102,8 +164,8 @@ export class Subscriptions { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** @@ -112,28 +174,15 @@ export class Subscriptions { * @param namespaceName The namespace name * @param topicName The topic name. * @param subscriptionName The subscription name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: SubscriptionsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -142,8 +191,8 @@ export class Subscriptions { subscriptionName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** @@ -152,28 +201,15 @@ export class Subscriptions { * @param namespaceName The namespace name * @param topicName The topic name. * @param subscriptionName The subscription name. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param subscriptionName The subscription name. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, topicName: string, subscriptionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: SubscriptionsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -182,58 +218,38 @@ export class Subscriptions { subscriptionName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * List all the subscriptions under a specified topic. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByTopicNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByTopicNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByTopicNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param nextLink The nextLink from the previous successful call to the ListByTopic method. + * @param options The options parameters. */ - listByTopicNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByTopicNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByTopicNext( + resourceGroupName: string, + namespaceName: string, + topicName: string, + nextLink: string, + options?: SubscriptionsListByTopicNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByTopicNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, topicName, nextLink, options }, + listByTopicNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByTopicOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByTopicOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.skip, - Parameters.top - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SBSubscriptionListResult @@ -242,32 +258,21 @@ const listByTopicOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.subscriptionName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.topicName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBSubscription, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.SBSubscription @@ -276,25 +281,24 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", + requestBody: Parameters.parameters15, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.topicName, - Parameters.subscriptionName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.subscriptionName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -302,25 +306,22 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.topicName, - Parameters.subscriptionName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.subscriptionName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBSubscription @@ -329,19 +330,21 @@ const getOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.topicName, + Parameters.subscriptionName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByTopicNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByTopicNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SBSubscriptionListResult @@ -350,5 +353,15 @@ const listByTopicNextOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.topicName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operations/topics.ts b/sdk/servicebus/arm-servicebus/src/operations/topics.ts index e94ad2f30243..b789f20ef150 100644 --- a/sdk/servicebus/arm-servicebus/src/operations/topics.ts +++ b/sdk/servicebus/arm-servicebus/src/operations/topics.ts @@ -1,173 +1,208 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/topicsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Topics } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ServiceBusManagementClientContext } from "../serviceBusManagementClientContext"; +import { + SBAuthorizationRule, + TopicsListAuthorizationRulesNextOptionalParams, + TopicsListAuthorizationRulesOptionalParams, + SBTopic, + TopicsListByNamespaceNextOptionalParams, + TopicsListByNamespaceOptionalParams, + TopicsListAuthorizationRulesResponse, + TopicsCreateOrUpdateAuthorizationRuleOptionalParams, + TopicsCreateOrUpdateAuthorizationRuleResponse, + TopicsGetAuthorizationRuleOptionalParams, + TopicsGetAuthorizationRuleResponse, + TopicsDeleteAuthorizationRuleOptionalParams, + TopicsListKeysOptionalParams, + TopicsListKeysResponse, + RegenerateAccessKeyParameters, + TopicsRegenerateKeysOptionalParams, + TopicsRegenerateKeysResponse, + TopicsListByNamespaceResponse, + TopicsCreateOrUpdateOptionalParams, + TopicsCreateOrUpdateResponse, + TopicsDeleteOptionalParams, + TopicsGetOptionalParams, + TopicsGetResponse, + TopicsListAuthorizationRulesNextResponse, + TopicsListByNamespaceNextResponse +} from "../models"; -/** Class representing a Topics. */ -export class Topics { +/// +/** Class containing Topics operations. */ +export class TopicsImpl implements Topics { private readonly client: ServiceBusManagementClientContext; /** - * Create a Topics. - * @param {ServiceBusManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Topics class. + * @param client Reference to the service client */ constructor(client: ServiceBusManagementClientContext) { this.client = client; } /** - * Gets all the topics in a namespace. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param [options] The optional parameters - * @returns Promise - */ - listByNamespace(resourceGroupName: string, namespaceName: string, options?: Models.TopicsListByNamespaceOptionalParams): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param callback The callback - */ - listByNamespace(resourceGroupName: string, namespaceName: string, callback: msRest.ServiceCallback): void; - /** + * Gets authorization rules for a topic. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param options The optional parameters - * @param callback The callback - */ - listByNamespace(resourceGroupName: string, namespaceName: string, options: Models.TopicsListByNamespaceOptionalParams, callback: msRest.ServiceCallback): void; - listByNamespace(resourceGroupName: string, namespaceName: string, options?: Models.TopicsListByNamespaceOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - options + * @param topicName The topic name. + * @param options The options parameters. + */ + public listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listAuthorizationRulesPagingAll( + resourceGroupName, + namespaceName, + topicName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listByNamespaceOperationSpec, - callback) as Promise; + byPage: () => { + return this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + topicName, + options + ); + } + }; } - /** - * Creates a topic in the specified namespace. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param parameters Parameters supplied to create a topic resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, parameters: Models.SBTopic, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param parameters Parameters supplied to create a topic resource. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, parameters: Models.SBTopic, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param parameters Parameters supplied to create a topic resource. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, parameters: Models.SBTopic, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, parameters: Models.SBTopic, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listAuthorizationRulesPagingPage( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + let result = await this._listAuthorizationRules( + resourceGroupName, + namespaceName, + topicName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listAuthorizationRulesNext( resourceGroupName, namespaceName, topicName, - parameters, + continuationToken, options - }, - createOrUpdateOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listAuthorizationRulesPagingAll( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsListAuthorizationRulesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listAuthorizationRulesPagingPage( + resourceGroupName, + namespaceName, + topicName, + options + )) { + yield* page; + } } /** - * Deletes a topic from the specified namespace and resource group. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, callback: msRest.ServiceCallback): void; - /** + * Gets all the topics in a namespace. * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name - * @param topicName The topic name. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, namespaceName: string, topicName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - topicName, - options + * @param options The options parameters. + */ + public listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: TopicsListByNamespaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByNamespacePagingAll( + resourceGroupName, + namespaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - deleteMethodOperationSpec, - callback); + byPage: () => { + return this.listByNamespacePagingPage( + resourceGroupName, + namespaceName, + options + ); + } + }; } - /** - * Returns a description for the specified topic. - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, namespaceName: string, topicName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, topicName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, namespaceName: string, topicName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, namespaceName: string, topicName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listByNamespacePagingPage( + resourceGroupName: string, + namespaceName: string, + options?: TopicsListByNamespaceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByNamespace( + resourceGroupName, + namespaceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByNamespaceNext( resourceGroupName, namespaceName, - topicName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByNamespacePagingAll( + resourceGroupName: string, + namespaceName: string, + options?: TopicsListByNamespaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByNamespacePagingPage( + resourceGroupName, + namespaceName, + options + )) { + yield* page; + } } /** @@ -175,35 +210,18 @@ export class Topics { * @param resourceGroupName Name of the Resource group within the Azure subscription. * @param namespaceName The namespace name * @param topicName The topic name. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, topicName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, topicName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRules(resourceGroupName: string, namespaceName: string, topicName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRules(resourceGroupName: string, namespaceName: string, topicName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + private _listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsListAuthorizationRulesOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - namespaceName, - topicName, - options - }, - listAuthorizationRulesOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, topicName, options }, + listAuthorizationRulesOperationSpec + ); } /** @@ -213,30 +231,16 @@ export class Topics { * @param topicName The topic name. * @param authorizationRuleName The authorization rule name. * @param parameters The shared access authorization rule. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access authorization rule. - * @param callback The callback - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param parameters The shared access authorization rule. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdateAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: Models.SBAuthorizationRule, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + parameters: SBAuthorizationRule, + options?: TopicsCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -246,8 +250,8 @@ export class Topics { parameters, options }, - createOrUpdateAuthorizationRuleOperationSpec, - callback) as Promise; + createOrUpdateAuthorizationRuleOperationSpec + ); } /** @@ -256,28 +260,15 @@ export class Topics { * @param namespaceName The namespace name * @param topicName The topic name. * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - getAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + options?: TopicsGetAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -286,8 +277,8 @@ export class Topics { authorizationRuleName, options }, - getAuthorizationRuleOperationSpec, - callback) as Promise; + getAuthorizationRuleOperationSpec + ); } /** @@ -296,28 +287,15 @@ export class Topics { * @param namespaceName The namespace name * @param topicName The topic name. * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteAuthorizationRule(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + options?: TopicsDeleteAuthorizationRuleOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -326,8 +304,8 @@ export class Topics { authorizationRuleName, options }, - deleteAuthorizationRuleOperationSpec, - callback); + deleteAuthorizationRuleOperationSpec + ); } /** @@ -336,28 +314,15 @@ export class Topics { * @param namespaceName The namespace name * @param topicName The topic name. * @param authorizationRuleName The authorization rule name. - * @param [options] The optional parameters - * @returns Promise - */ - listKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param options The optional parameters - * @param callback The callback - */ - listKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + options?: TopicsListKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -366,8 +331,8 @@ export class Topics { authorizationRuleName, options }, - listKeysOperationSpec, - callback) as Promise; + listKeysOperationSpec + ); } /** @@ -377,30 +342,16 @@ export class Topics { * @param topicName The topic name. * @param authorizationRuleName The authorization rule name. * @param parameters Parameters supplied to regenerate the authorization rule. - * @param [options] The optional parameters - * @returns Promise - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters supplied to regenerate the authorization rule. - * @param callback The callback - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName Name of the Resource group within the Azure subscription. - * @param namespaceName The namespace name - * @param topicName The topic name. - * @param authorizationRuleName The authorization rule name. - * @param parameters Parameters supplied to regenerate the authorization rule. - * @param options The optional parameters - * @param callback The callback - */ - regenerateKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - regenerateKeys(resourceGroupName: string, namespaceName: string, topicName: string, authorizationRuleName: string, parameters: Models.RegenerateAccessKeyParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * @param options The options parameters. + */ + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: TopicsRegenerateKeysOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -410,144 +361,206 @@ export class Topics { parameters, options }, - regenerateKeysOperationSpec, - callback) as Promise; + regenerateKeysOperationSpec + ); } /** * Gets all the topics in a namespace. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. */ - listByNamespaceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: TopicsListByNamespaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, options }, + listByNamespaceOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByNamespaceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + * Creates a topic in the specified namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param parameters Parameters supplied to create a topic resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + topicName: string, + parameters: SBTopic, + options?: TopicsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, topicName, parameters, options }, + createOrUpdateOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByNamespaceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByNamespaceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * Deletes a topic from the specified namespace and resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByNamespaceNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, topicName, options }, + deleteOperationSpec + ); } /** - * Gets authorization rules for a topic. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + * Returns a description for the specified topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, topicName, options }, + getOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + * ListAuthorizationRulesNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param nextLink The nextLink from the previous successful call to the ListAuthorizationRules method. + * @param options The options parameters. + */ + private _listAuthorizationRulesNext( + resourceGroupName: string, + namespaceName: string, + topicName: string, + nextLink: string, + options?: TopicsListAuthorizationRulesNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, namespaceName, topicName, nextLink, options }, + listAuthorizationRulesNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listAuthorizationRulesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listAuthorizationRulesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + * ListByNamespaceNext + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param nextLink The nextLink from the previous successful call to the ListByNamespace method. + * @param options The options parameters. + */ + private _listByNamespaceNext( + resourceGroupName: string, + namespaceName: string, + nextLink: string, + options?: TopicsListByNamespaceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listAuthorizationRulesNextOperationSpec, - callback) as Promise; + { resourceGroupName, namespaceName, nextLink, options }, + listByNamespaceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByNamespaceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listAuthorizationRulesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.skip, - Parameters.top - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { - bodyMapper: Mappers.SBTopicListResult + bodyMapper: Mappers.SBAuthorizationRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.topicName + ], + headerParameters: [Parameters.accept], serializer }; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", + responses: { + 200: { + bodyMapper: Mappers.SBAuthorizationRule + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName, + Parameters.topicName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBTopic, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBTopic + bodyMapper: Mappers.SBAuthorizationRule }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName, + Parameters.topicName ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteAuthorizationRuleOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -555,138 +568,119 @@ const deleteMethodOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName, + Parameters.topicName ], + headerParameters: [Parameters.accept], + serializer +}; +const listKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SBTopic + bodyMapper: Mappers.AccessKeys }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listAuthorizationRulesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.authorizationRuleName, + Parameters.topicName ], + headerParameters: [Parameters.accept], + serializer +}; +const regenerateKeysOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SBAuthorizationRuleListResult + bodyMapper: Mappers.AccessKeys }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const createOrUpdateAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, + Parameters.namespaceName, + Parameters.subscriptionId, Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.topicName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SBAuthorizationRule, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByNamespaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBAuthorizationRule + bodyMapper: Mappers.SBTopicListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const getAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.authorizationRuleName, + Parameters.namespaceName, Parameters.subscriptionId ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SBAuthorizationRule + bodyMapper: Mappers.SBTopic }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", + requestBody: Parameters.parameters13, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.topicName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", + httpMethod: "DELETE", responses: { 200: {}, 204: {}, @@ -694,108 +688,82 @@ const deleteAuthorizationRuleOperationSpec: msRest.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const listKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.topicName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.AccessKeys + bodyMapper: Mappers.SBTopic }, default: { bodyMapper: Mappers.ErrorResponse } }, - serializer -}; - -const regenerateKeysOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.resourceGroupName, - Parameters.namespaceName1, - Parameters.topicName, - Parameters.authorizationRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.topicName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.RegenerateAccessKeyParameters, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.AccessKeys - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByNamespaceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listAuthorizationRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBTopicListResult + bodyMapper: Mappers.SBAuthorizationRuleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.topicName + ], + headerParameters: [Parameters.accept], serializer }; - -const listAuthorizationRulesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByNamespaceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SBAuthorizationRuleListResult + bodyMapper: Mappers.SBTopicListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, + queryParameters: [Parameters.apiVersion, Parameters.skip, Parameters.top], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/disasterRecoveryConfigs.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/disasterRecoveryConfigs.ts new file mode 100644 index 000000000000..d2a7d6fe90d4 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/disasterRecoveryConfigs.ts @@ -0,0 +1,170 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ArmDisasterRecovery, + DisasterRecoveryConfigsListOptionalParams, + SBAuthorizationRule, + DisasterRecoveryConfigsListAuthorizationRulesOptionalParams, + CheckNameAvailability, + DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams, + DisasterRecoveryConfigsCheckNameAvailabilityResponse, + DisasterRecoveryConfigsCreateOrUpdateOptionalParams, + DisasterRecoveryConfigsCreateOrUpdateResponse, + DisasterRecoveryConfigsDeleteOptionalParams, + DisasterRecoveryConfigsGetOptionalParams, + DisasterRecoveryConfigsGetResponse, + DisasterRecoveryConfigsBreakPairingOptionalParams, + DisasterRecoveryConfigsFailOverOptionalParams, + DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams, + DisasterRecoveryConfigsGetAuthorizationRuleResponse, + DisasterRecoveryConfigsListKeysOptionalParams, + DisasterRecoveryConfigsListKeysResponse +} from "../models"; + +/// +/** Interface representing a DisasterRecoveryConfigs. */ +export interface DisasterRecoveryConfigs { + /** + * Gets all Alias(Disaster Recovery configurations) + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + list( + resourceGroupName: string, + namespaceName: string, + options?: DisasterRecoveryConfigsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the authorization rules for a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Check the give namespace name availability. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param parameters Parameters to check availability of the given namespace name + * @param options The options parameters. + */ + checkNameAvailability( + resourceGroupName: string, + namespaceName: string, + parameters: CheckNameAvailability, + options?: DisasterRecoveryConfigsCheckNameAvailabilityOptionalParams + ): Promise; + /** + * Creates or updates a new Alias(Disaster Recovery configuration) + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param parameters Parameters required to create an Alias(Disaster Recovery configuration) + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + alias: string, + parameters: ArmDisasterRecovery, + options?: DisasterRecoveryConfigsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an Alias(Disaster Recovery configuration) + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsDeleteOptionalParams + ): Promise; + /** + * Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsGetOptionalParams + ): Promise; + /** + * This operation disables the Disaster Recovery and stops replicating changes from primary to + * secondary namespaces + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + breakPairing( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsBreakPairingOptionalParams + ): Promise; + /** + * Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param options The options parameters. + */ + failOver( + resourceGroupName: string, + namespaceName: string, + alias: string, + options?: DisasterRecoveryConfigsFailOverOptionalParams + ): Promise; + /** + * Gets an authorization rule for a namespace by rule name. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + alias: string, + authorizationRuleName: string, + options?: DisasterRecoveryConfigsGetAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets the primary and secondary connection strings for the namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param alias The Disaster Recovery configuration name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + alias: string, + authorizationRuleName: string, + options?: DisasterRecoveryConfigsListKeysOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/eventHubs.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/eventHubs.ts new file mode 100644 index 000000000000..d2d5a8f0f6ea --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/eventHubs.ts @@ -0,0 +1,27 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Eventhub, EventHubsListByNamespaceOptionalParams } from "../models"; + +/// +/** Interface representing a EventHubs. */ +export interface EventHubs { + /** + * Gets all the Event Hubs in a service bus Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: EventHubsListByNamespaceOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/index.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..8b068cf2d58e --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/index.ts @@ -0,0 +1,21 @@ +/* + * 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 "./namespaces"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; +export * from "./disasterRecoveryConfigs"; +export * from "./queues"; +export * from "./topics"; +export * from "./eventHubs"; +export * from "./migrationConfigs"; +export * from "./premiumMessagingRegionsOperations"; +export * from "./regions"; +export * from "./subscriptions"; +export * from "./rules"; +export * from "./operations"; diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/migrationConfigs.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/migrationConfigs.ts new file mode 100644 index 000000000000..f8905434f98c --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/migrationConfigs.ts @@ -0,0 +1,128 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + MigrationConfigProperties, + MigrationConfigsListOptionalParams, + MigrationConfigurationName, + MigrationConfigsCreateAndStartMigrationOptionalParams, + MigrationConfigsCreateAndStartMigrationResponse, + MigrationConfigsDeleteOptionalParams, + MigrationConfigsGetOptionalParams, + MigrationConfigsGetResponse, + MigrationConfigsCompleteMigrationOptionalParams, + MigrationConfigsRevertOptionalParams +} from "../models"; + +/// +/** Interface representing a MigrationConfigs. */ +export interface MigrationConfigs { + /** + * Gets all migrationConfigurations + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + list( + resourceGroupName: string, + namespaceName: string, + options?: MigrationConfigsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates Migration configuration and starts migration of entities from Standard to Premium namespace + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param configName The configuration name. Should always be "$default". + * @param parameters Parameters required to create Migration Configuration + * @param options The options parameters. + */ + beginCreateAndStartMigration( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + parameters: MigrationConfigProperties, + options?: MigrationConfigsCreateAndStartMigrationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + MigrationConfigsCreateAndStartMigrationResponse + > + >; + /** + * Creates Migration configuration and starts migration of entities from Standard to Premium namespace + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param configName The configuration name. Should always be "$default". + * @param parameters Parameters required to create Migration Configuration + * @param options The options parameters. + */ + beginCreateAndStartMigrationAndWait( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + parameters: MigrationConfigProperties, + options?: MigrationConfigsCreateAndStartMigrationOptionalParams + ): Promise; + /** + * Deletes a MigrationConfiguration + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param configName The configuration name. Should always be "$default". + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + options?: MigrationConfigsDeleteOptionalParams + ): Promise; + /** + * Retrieves Migration Config + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param configName The configuration name. Should always be "$default". + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + options?: MigrationConfigsGetOptionalParams + ): Promise; + /** + * This operation Completes Migration of entities by pointing the connection strings to Premium + * namespace and any entities created after the operation will be under Premium Namespace. + * CompleteMigration operation will fail when entity migration is in-progress. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param configName The configuration name. Should always be "$default". + * @param options The options parameters. + */ + completeMigration( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + options?: MigrationConfigsCompleteMigrationOptionalParams + ): Promise; + /** + * This operation reverts Migration + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param configName The configuration name. Should always be "$default". + * @param options The options parameters. + */ + revert( + resourceGroupName: string, + namespaceName: string, + configName: MigrationConfigurationName, + options?: MigrationConfigsRevertOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/namespaces.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/namespaces.ts new file mode 100644 index 000000000000..729c8262a903 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/namespaces.ts @@ -0,0 +1,405 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + IpFilterRule, + NamespacesListIpFilterRulesOptionalParams, + SBNamespace, + NamespacesListOptionalParams, + NamespacesListByResourceGroupOptionalParams, + VirtualNetworkRule, + NamespacesListVirtualNetworkRulesOptionalParams, + SBAuthorizationRule, + NamespacesListAuthorizationRulesOptionalParams, + NetworkRuleSet, + NamespacesListNetworkRuleSetsOptionalParams, + NamespacesCreateOrUpdateIpFilterRuleOptionalParams, + NamespacesCreateOrUpdateIpFilterRuleResponse, + NamespacesDeleteIpFilterRuleOptionalParams, + NamespacesGetIpFilterRuleOptionalParams, + NamespacesGetIpFilterRuleResponse, + NamespacesCreateOrUpdateOptionalParams, + NamespacesCreateOrUpdateResponse, + NamespacesDeleteOptionalParams, + NamespacesGetOptionalParams, + NamespacesGetResponse, + SBNamespaceUpdateParameters, + NamespacesUpdateOptionalParams, + NamespacesUpdateResponse, + NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams, + NamespacesCreateOrUpdateVirtualNetworkRuleResponse, + NamespacesDeleteVirtualNetworkRuleOptionalParams, + NamespacesGetVirtualNetworkRuleOptionalParams, + NamespacesGetVirtualNetworkRuleResponse, + NamespacesCreateOrUpdateAuthorizationRuleOptionalParams, + NamespacesCreateOrUpdateAuthorizationRuleResponse, + NamespacesDeleteAuthorizationRuleOptionalParams, + NamespacesGetAuthorizationRuleOptionalParams, + NamespacesGetAuthorizationRuleResponse, + NamespacesListKeysOptionalParams, + NamespacesListKeysResponse, + RegenerateAccessKeyParameters, + NamespacesRegenerateKeysOptionalParams, + NamespacesRegenerateKeysResponse, + CheckNameAvailability, + NamespacesCheckNameAvailabilityOptionalParams, + NamespacesCheckNameAvailabilityResponse, + NamespacesCreateOrUpdateNetworkRuleSetOptionalParams, + NamespacesCreateOrUpdateNetworkRuleSetResponse, + NamespacesGetNetworkRuleSetOptionalParams, + NamespacesGetNetworkRuleSetResponse, + SBNamespaceMigrate, + NamespacesMigrateOptionalParams +} from "../models"; + +/// +/** Interface representing a Namespaces. */ +export interface Namespaces { + /** + * Gets a list of IP Filter rules for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + listIpFilterRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListIpFilterRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets all the available namespaces within the subscription, irrespective of the resource groups. + * @param options The options parameters. + */ + list( + options?: NamespacesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the available namespaces within a resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: NamespacesListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of VirtualNetwork rules for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + listVirtualNetworkRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListVirtualNetworkRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the authorization rules for a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets list of NetworkRuleSet for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + listNetworkRuleSets( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesListNetworkRuleSetsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates an IpFilterRule for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param ipFilterRuleName The IP Filter Rule name. + * @param parameters The Namespace IpFilterRule. + * @param options The options parameters. + */ + createOrUpdateIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + parameters: IpFilterRule, + options?: NamespacesCreateOrUpdateIpFilterRuleOptionalParams + ): Promise; + /** + * Deletes an IpFilterRule for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param ipFilterRuleName The IP Filter Rule name. + * @param options The options parameters. + */ + deleteIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + options?: NamespacesDeleteIpFilterRuleOptionalParams + ): Promise; + /** + * Gets an IpFilterRule for a Namespace by rule name. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param ipFilterRuleName The IP Filter Rule name. + * @param options The options parameters. + */ + getIpFilterRule( + resourceGroupName: string, + namespaceName: string, + ipFilterRuleName: string, + options?: NamespacesGetIpFilterRuleOptionalParams + ): Promise; + /** + * Creates or updates a service namespace. Once created, this namespace's resource manifest is + * immutable. This operation is idempotent. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name. + * @param parameters Parameters supplied to create a namespace resource. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + namespaceName: string, + parameters: SBNamespace, + options?: NamespacesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + NamespacesCreateOrUpdateResponse + > + >; + /** + * Creates or updates a service namespace. Once created, this namespace's resource manifest is + * immutable. This operation is idempotent. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name. + * @param parameters Parameters supplied to create a namespace resource. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + namespaceName: string, + parameters: SBNamespace, + options?: NamespacesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an existing namespace. This operation also removes all associated resources under the + * namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesDeleteOptionalParams + ): Promise; + /** + * Gets a description for the specified namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesGetOptionalParams + ): Promise; + /** + * Updates a service namespace. Once created, this namespace's resource manifest is immutable. This + * operation is idempotent. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param parameters Parameters supplied to update a namespace resource. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + namespaceName: string, + parameters: SBNamespaceUpdateParameters, + options?: NamespacesUpdateOptionalParams + ): Promise; + /** + * Creates or updates an VirtualNetworkRule for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param parameters The Namespace VirtualNetworkRule. + * @param options The options parameters. + */ + createOrUpdateVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: NamespacesCreateOrUpdateVirtualNetworkRuleOptionalParams + ): Promise; + /** + * Deletes an VirtualNetworkRule for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param options The options parameters. + */ + deleteVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + options?: NamespacesDeleteVirtualNetworkRuleOptionalParams + ): Promise; + /** + * Gets an VirtualNetworkRule for a Namespace by rule name. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param virtualNetworkRuleName The Virtual Network Rule name. + * @param options The options parameters. + */ + getVirtualNetworkRule( + resourceGroupName: string, + namespaceName: string, + virtualNetworkRuleName: string, + options?: NamespacesGetVirtualNetworkRuleOptionalParams + ): Promise; + /** + * Creates or updates an authorization rule for a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param authorizationRuleName The authorization rule name. + * @param parameters The shared access authorization rule. + * @param options The options parameters. + */ + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + parameters: SBAuthorizationRule, + options?: NamespacesCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise; + /** + * Deletes a namespace authorization rule. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesDeleteAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets an authorization rule for a namespace by rule name. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesGetAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets the primary and secondary connection strings for the namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + options?: NamespacesListKeysOptionalParams + ): Promise; + /** + * Regenerates the primary or secondary connection strings for the namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param authorizationRuleName The authorization rule name. + * @param parameters Parameters supplied to regenerate the authorization rule. + * @param options The options parameters. + */ + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: NamespacesRegenerateKeysOptionalParams + ): Promise; + /** + * Check the give namespace name availability. + * @param parameters Parameters to check availability of the given namespace name + * @param options The options parameters. + */ + checkNameAvailability( + parameters: CheckNameAvailability, + options?: NamespacesCheckNameAvailabilityOptionalParams + ): Promise; + /** + * Create or update NetworkRuleSet for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param parameters The Namespace IpFilterRule. + * @param options The options parameters. + */ + createOrUpdateNetworkRuleSet( + resourceGroupName: string, + namespaceName: string, + parameters: NetworkRuleSet, + options?: NamespacesCreateOrUpdateNetworkRuleSetOptionalParams + ): Promise; + /** + * Gets NetworkRuleSet for a Namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + getNetworkRuleSet( + resourceGroupName: string, + namespaceName: string, + options?: NamespacesGetNetworkRuleSetOptionalParams + ): Promise; + /** + * This operation Migrate the given namespace to provided name type + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param parameters Parameters supplied to migrate namespace type. + * @param options The options parameters. + */ + migrate( + resourceGroupName: string, + namespaceName: string, + parameters: SBNamespaceMigrate, + options?: NamespacesMigrateOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/operations.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/operations.ts new file mode 100644 index 000000000000..316e724108f0 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/operations.ts @@ -0,0 +1,23 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operation, OperationsListOptionalParams } from "../models"; + +/// +/** Interface representing a Operations. */ +export interface Operations { + /** + * Lists all of the available ServiceBus REST API operations. + * @param options The options parameters. + */ + list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/premiumMessagingRegionsOperations.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/premiumMessagingRegionsOperations.ts new file mode 100644 index 000000000000..4b836bfa6c02 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/premiumMessagingRegionsOperations.ts @@ -0,0 +1,26 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + PremiumMessagingRegions, + PremiumMessagingRegionsOperationsListOptionalParams +} from "../models"; + +/// +/** Interface representing a PremiumMessagingRegionsOperations. */ +export interface PremiumMessagingRegionsOperations { + /** + * Gets the available premium messaging regions for servicebus + * @param options The options parameters. + */ + list( + options?: PremiumMessagingRegionsOperationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/privateEndpointConnections.ts new file mode 100644 index 000000000000..ee50b949e6d8 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/privateEndpointConnections.ts @@ -0,0 +1,91 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse +} from "../models"; + +/// +/** Interface representing a PrivateEndpointConnections. */ +export interface PrivateEndpointConnections { + /** + * Gets the available PrivateEndpointConnections within a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + list( + resourceGroupName: string, + namespaceName: string, + options?: PrivateEndpointConnectionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates PrivateEndpointConnections of service namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param parameters Parameters supplied to update Status of PrivateEndPoint Connection to namespace + * resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an existing Private Endpoint Connection. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an existing Private Endpoint Connection. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise; + /** + * Gets a description for the specified Private Endpoint Connection. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param privateEndpointConnectionName The PrivateEndpointConnection name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/privateLinkResources.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/privateLinkResources.ts new file mode 100644 index 000000000000..d42abe1d338a --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/privateLinkResources.ts @@ -0,0 +1,27 @@ +/* + * 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 { + PrivateLinkResourcesGetOptionalParams, + PrivateLinkResourcesGetResponse +} from "../models"; + +/** Interface representing a PrivateLinkResources. */ +export interface PrivateLinkResources { + /** + * Gets lists of resources that supports Privatelinks. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + options?: PrivateLinkResourcesGetOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/queues.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/queues.ts new file mode 100644 index 000000000000..c4e9ad63c5d7 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/queues.ts @@ -0,0 +1,180 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SBAuthorizationRule, + QueuesListAuthorizationRulesOptionalParams, + SBQueue, + QueuesListByNamespaceOptionalParams, + QueuesCreateOrUpdateAuthorizationRuleOptionalParams, + QueuesCreateOrUpdateAuthorizationRuleResponse, + QueuesDeleteAuthorizationRuleOptionalParams, + QueuesGetAuthorizationRuleOptionalParams, + QueuesGetAuthorizationRuleResponse, + QueuesListKeysOptionalParams, + QueuesListKeysResponse, + RegenerateAccessKeyParameters, + QueuesRegenerateKeysOptionalParams, + QueuesRegenerateKeysResponse, + QueuesCreateOrUpdateOptionalParams, + QueuesCreateOrUpdateResponse, + QueuesDeleteOptionalParams, + QueuesGetOptionalParams, + QueuesGetResponse +} from "../models"; + +/// +/** Interface representing a Queues. */ +export interface Queues { + /** + * Gets all authorization rules for a queue. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param options The options parameters. + */ + listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the queues within a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: QueuesListByNamespaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates an authorization rule for a queue. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param authorizationRuleName The authorization rule name. + * @param parameters The shared access authorization rule. + * @param options The options parameters. + */ + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + parameters: SBAuthorizationRule, + options?: QueuesCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise; + /** + * Deletes a queue authorization rule. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + options?: QueuesDeleteAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets an authorization rule for a queue by rule name. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + options?: QueuesGetAuthorizationRuleOptionalParams + ): Promise; + /** + * Primary and secondary connection strings to the queue. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + options?: QueuesListKeysOptionalParams + ): Promise; + /** + * Regenerates the primary or secondary connection strings to the queue. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param authorizationRuleName The authorization rule name. + * @param parameters Parameters supplied to regenerate the authorization rule. + * @param options The options parameters. + */ + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + queueName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: QueuesRegenerateKeysOptionalParams + ): Promise; + /** + * Creates or updates a Service Bus queue. This operation is idempotent. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param parameters Parameters supplied to create or update a queue resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + queueName: string, + parameters: SBQueue, + options?: QueuesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a queue from the specified namespace in a resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesDeleteOptionalParams + ): Promise; + /** + * Returns a description for the specified queue. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param queueName The queue name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + queueName: string, + options?: QueuesGetOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/regions.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/regions.ts new file mode 100644 index 000000000000..8cf41327eed0 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/regions.ts @@ -0,0 +1,28 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + PremiumMessagingRegions, + RegionsListBySkuOptionalParams +} from "../models"; + +/// +/** Interface representing a Regions. */ +export interface Regions { + /** + * Gets the available Regions for a given sku + * @param sku The sku type. + * @param options The options parameters. + */ + listBySku( + sku: string, + options?: RegionsListBySkuOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/rules.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/rules.ts new file mode 100644 index 000000000000..a41631d632b2 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/rules.ts @@ -0,0 +1,92 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Rule, + RulesListBySubscriptionsOptionalParams, + RulesCreateOrUpdateOptionalParams, + RulesCreateOrUpdateResponse, + RulesDeleteOptionalParams, + RulesGetOptionalParams, + RulesGetResponse +} from "../models"; + +/// +/** Interface representing a Rules. */ +export interface Rules { + /** + * List all the rules within given topic-subscription + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param subscriptionName The subscription name. + * @param options The options parameters. + */ + listBySubscriptions( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: RulesListBySubscriptionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates a new rule and updates an existing rule + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param subscriptionName The subscription name. + * @param ruleName The rule name. + * @param parameters Parameters supplied to create a rule. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + ruleName: string, + parameters: Rule, + options?: RulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an existing rule. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param subscriptionName The subscription name. + * @param ruleName The rule name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + ruleName: string, + options?: RulesDeleteOptionalParams + ): Promise; + /** + * Retrieves the description for the specified rule. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param subscriptionName The subscription name. + * @param ruleName The rule name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + ruleName: string, + options?: RulesGetOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/subscriptions.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/subscriptions.ts new file mode 100644 index 000000000000..b36e026c2005 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/subscriptions.ts @@ -0,0 +1,84 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SBSubscription, + SubscriptionsListByTopicOptionalParams, + SubscriptionsCreateOrUpdateOptionalParams, + SubscriptionsCreateOrUpdateResponse, + SubscriptionsDeleteOptionalParams, + SubscriptionsGetOptionalParams, + SubscriptionsGetResponse +} from "../models"; + +/// +/** Interface representing a Subscriptions. */ +export interface Subscriptions { + /** + * List all the subscriptions under a specified topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param options The options parameters. + */ + listByTopic( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: SubscriptionsListByTopicOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates a topic subscription. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param subscriptionName The subscription name. + * @param parameters Parameters supplied to create a subscription resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + parameters: SBSubscription, + options?: SubscriptionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a subscription from the specified topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param subscriptionName The subscription name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: SubscriptionsDeleteOptionalParams + ): Promise; + /** + * Returns a subscription description for the specified topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param subscriptionName The subscription name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + topicName: string, + subscriptionName: string, + options?: SubscriptionsGetOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/operationsInterfaces/topics.ts b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/topics.ts new file mode 100644 index 000000000000..d2b4129178a3 --- /dev/null +++ b/sdk/servicebus/arm-servicebus/src/operationsInterfaces/topics.ts @@ -0,0 +1,180 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SBAuthorizationRule, + TopicsListAuthorizationRulesOptionalParams, + SBTopic, + TopicsListByNamespaceOptionalParams, + TopicsCreateOrUpdateAuthorizationRuleOptionalParams, + TopicsCreateOrUpdateAuthorizationRuleResponse, + TopicsGetAuthorizationRuleOptionalParams, + TopicsGetAuthorizationRuleResponse, + TopicsDeleteAuthorizationRuleOptionalParams, + TopicsListKeysOptionalParams, + TopicsListKeysResponse, + RegenerateAccessKeyParameters, + TopicsRegenerateKeysOptionalParams, + TopicsRegenerateKeysResponse, + TopicsCreateOrUpdateOptionalParams, + TopicsCreateOrUpdateResponse, + TopicsDeleteOptionalParams, + TopicsGetOptionalParams, + TopicsGetResponse +} from "../models"; + +/// +/** Interface representing a Topics. */ +export interface Topics { + /** + * Gets authorization rules for a topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param options The options parameters. + */ + listAuthorizationRules( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsListAuthorizationRulesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets all the topics in a namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param options The options parameters. + */ + listByNamespace( + resourceGroupName: string, + namespaceName: string, + options?: TopicsListByNamespaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates an authorization rule for the specified topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param authorizationRuleName The authorization rule name. + * @param parameters The shared access authorization rule. + * @param options The options parameters. + */ + createOrUpdateAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + parameters: SBAuthorizationRule, + options?: TopicsCreateOrUpdateAuthorizationRuleOptionalParams + ): Promise; + /** + * Returns the specified authorization rule. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + getAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + options?: TopicsGetAuthorizationRuleOptionalParams + ): Promise; + /** + * Deletes a topic authorization rule. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + deleteAuthorizationRule( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + options?: TopicsDeleteAuthorizationRuleOptionalParams + ): Promise; + /** + * Gets the primary and secondary connection strings for the topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param authorizationRuleName The authorization rule name. + * @param options The options parameters. + */ + listKeys( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + options?: TopicsListKeysOptionalParams + ): Promise; + /** + * Regenerates primary or secondary connection strings for the topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param authorizationRuleName The authorization rule name. + * @param parameters Parameters supplied to regenerate the authorization rule. + * @param options The options parameters. + */ + regenerateKeys( + resourceGroupName: string, + namespaceName: string, + topicName: string, + authorizationRuleName: string, + parameters: RegenerateAccessKeyParameters, + options?: TopicsRegenerateKeysOptionalParams + ): Promise; + /** + * Creates a topic in the specified namespace. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param parameters Parameters supplied to create a topic resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + namespaceName: string, + topicName: string, + parameters: SBTopic, + options?: TopicsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a topic from the specified namespace and resource group. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsDeleteOptionalParams + ): Promise; + /** + * Returns a description for the specified topic. + * @param resourceGroupName Name of the Resource group within the Azure subscription. + * @param namespaceName The namespace name + * @param topicName The topic name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + namespaceName: string, + topicName: string, + options?: TopicsGetOptionalParams + ): Promise; +} diff --git a/sdk/servicebus/arm-servicebus/src/serviceBusManagementClient.ts b/sdk/servicebus/arm-servicebus/src/serviceBusManagementClient.ts index d2cb78a62bf5..3c419eabdeef 100644 --- a/sdk/servicebus/arm-servicebus/src/serviceBusManagementClient.ts +++ b/sdk/servicebus/arm-servicebus/src/serviceBusManagementClient.ts @@ -1,63 +1,87 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "./models"; -import * as Mappers from "./models/mappers"; -import * as operations from "./operations"; +import * as coreAuth from "@azure/core-auth"; +import { + NamespacesImpl, + PrivateEndpointConnectionsImpl, + PrivateLinkResourcesImpl, + DisasterRecoveryConfigsImpl, + QueuesImpl, + TopicsImpl, + EventHubsImpl, + MigrationConfigsImpl, + PremiumMessagingRegionsOperationsImpl, + RegionsImpl, + SubscriptionsImpl, + RulesImpl, + OperationsImpl +} from "./operations"; +import { + Namespaces, + PrivateEndpointConnections, + PrivateLinkResources, + DisasterRecoveryConfigs, + Queues, + Topics, + EventHubs, + MigrationConfigs, + PremiumMessagingRegionsOperations, + Regions, + Subscriptions, + Rules, + Operations +} from "./operationsInterfaces"; import { ServiceBusManagementClientContext } from "./serviceBusManagementClientContext"; +import { ServiceBusManagementClientOptionalParams } from "./models"; - -class ServiceBusManagementClient extends ServiceBusManagementClientContext { - // Operation groups - operations: operations.Operations; - namespaces: operations.Namespaces; - disasterRecoveryConfigs: operations.DisasterRecoveryConfigs; - migrationConfigs: operations.MigrationConfigs; - queues: operations.Queues; - topics: operations.Topics; - subscriptions: operations.Subscriptions; - rules: operations.Rules; - regions: operations.Regions; - premiumMessagingRegions: operations.PremiumMessagingRegionsOperations; - eventHubs: operations.EventHubs; - +export class ServiceBusManagementClient extends ServiceBusManagementClientContext { /** * Initializes a new instance of the ServiceBusManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId Subscription credentials that uniquely identify a Microsoft Azure - * subscription. The subscription ID forms part of the URI for every service call. - * @param [options] The parameter options + * subscription. The subscription ID forms part of the URI for every service call. + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ServiceBusManagementClientOptions) { + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: ServiceBusManagementClientOptionalParams + ) { super(credentials, subscriptionId, options); - this.operations = new operations.Operations(this); - this.namespaces = new operations.Namespaces(this); - this.disasterRecoveryConfigs = new operations.DisasterRecoveryConfigs(this); - this.migrationConfigs = new operations.MigrationConfigs(this); - this.queues = new operations.Queues(this); - this.topics = new operations.Topics(this); - this.subscriptions = new operations.Subscriptions(this); - this.rules = new operations.Rules(this); - this.regions = new operations.Regions(this); - this.premiumMessagingRegions = new operations.PremiumMessagingRegionsOperations(this); - this.eventHubs = new operations.EventHubs(this); + this.namespaces = new NamespacesImpl(this); + this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); + this.privateLinkResources = new PrivateLinkResourcesImpl(this); + this.disasterRecoveryConfigs = new DisasterRecoveryConfigsImpl(this); + this.queues = new QueuesImpl(this); + this.topics = new TopicsImpl(this); + this.eventHubs = new EventHubsImpl(this); + this.migrationConfigs = new MigrationConfigsImpl(this); + this.premiumMessagingRegionsOperations = new PremiumMessagingRegionsOperationsImpl( + this + ); + this.regions = new RegionsImpl(this); + this.subscriptions = new SubscriptionsImpl(this); + this.rules = new RulesImpl(this); + this.operations = new OperationsImpl(this); } -} -// Operation Specifications - -export { - ServiceBusManagementClient, - ServiceBusManagementClientContext, - Models as ServiceBusManagementModels, - Mappers as ServiceBusManagementMappers -}; -export * from "./operations"; + namespaces: Namespaces; + privateEndpointConnections: PrivateEndpointConnections; + privateLinkResources: PrivateLinkResources; + disasterRecoveryConfigs: DisasterRecoveryConfigs; + queues: Queues; + topics: Topics; + eventHubs: EventHubs; + migrationConfigs: MigrationConfigs; + premiumMessagingRegionsOperations: PremiumMessagingRegionsOperations; + regions: Regions; + subscriptions: Subscriptions; + rules: Rules; + operations: Operations; +} diff --git a/sdk/servicebus/arm-servicebus/src/serviceBusManagementClientContext.ts b/sdk/servicebus/arm-servicebus/src/serviceBusManagementClientContext.ts index 49a30c3cba92..826cdef4ed76 100644 --- a/sdk/servicebus/arm-servicebus/src/serviceBusManagementClientContext.ts +++ b/sdk/servicebus/arm-servicebus/src/serviceBusManagementClientContext.ts @@ -1,63 +1,71 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { ServiceBusManagementClientOptionalParams } from "./models"; -const packageName = "@azure/arm-servicebus"; -const packageVersion = "4.0.0"; - -export class ServiceBusManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials; +export class ServiceBusManagementClientContext extends coreClient.ServiceClient { + $host: string; + apiVersion: string; subscriptionId: string; - apiVersion?: string; /** - * Initializes a new instance of the ServiceBusManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. + * Initializes a new instance of the ServiceBusManagementClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId Subscription credentials that uniquely identify a Microsoft Azure - * subscription. The subscription ID forms part of the URI for every service call. - * @param [options] The parameter options + * subscription. The subscription ID forms part of the URI for every service call. + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ServiceBusManagementClientOptions) { - if (credentials == undefined) { - throw new Error('\'credentials\' cannot be null.'); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: ServiceBusManagementClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); } - if (subscriptionId == undefined) { - throw new Error('\'subscriptionId\' cannot be null.'); + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); } + // Initializing default values for options if (!options) { options = {}; } - if(!options.userAgent) { - const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const defaults: ServiceBusManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - super(credentials, options); + const packageDetails = `azsdk-js-arm-servicebus/30.0.0-beta.1`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; - this.apiVersion = '2017-04-01'; - this.acceptLanguage = 'en-US'; - this.longRunningOperationRetryTimeout = 30; - this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; - this.requestContentType = "application/json; charset=utf-8"; - this.credentials = credentials; + 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; - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { - this.acceptLanguage = options.acceptLanguage; - } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { - this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; - } + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.apiVersion = options.apiVersion || "2018-01-01-preview"; } } diff --git a/sdk/servicebus/arm-servicebus/tsconfig.json b/sdk/servicebus/arm-servicebus/tsconfig.json index 422b584abd5e..603440b3a359 100644 --- a/sdk/servicebus/arm-servicebus/tsconfig.json +++ b/sdk/servicebus/arm-servicebus/tsconfig.json @@ -3,7 +3,7 @@ "module": "es6", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, @@ -11,7 +11,7 @@ "forceConsistentCasingInFileNames": true, "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, "include": ["./src/**/*.ts"], diff --git a/sdk/servicebus/ci.yml b/sdk/servicebus/ci.yml index ea5a900c607a..6994d66b0d96 100644 --- a/sdk/servicebus/ci.yml +++ b/sdk/servicebus/ci.yml @@ -1,5 +1,4 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - trigger: branches: include: @@ -9,7 +8,6 @@ trigger: paths: include: - sdk/servicebus/ - pr: branches: include: @@ -17,10 +15,11 @@ pr: - feature/* - release/* - hotfix/* + exclude: + - feature/v4 paths: include: - sdk/servicebus/ - extends: template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml parameters: @@ -28,3 +27,5 @@ extends: Artifacts: - name: azure-service-bus safeName: azureservicebus + - name: azure-arm-servicebus + safeName: azurearmservicebus diff --git a/sdk/servicebus/perf-tests/service-bus-track-1/README.md b/sdk/servicebus/perf-tests/service-bus-track-1/README.md new file mode 100644 index 000000000000..ce9629c98087 --- /dev/null +++ b/sdk/servicebus/perf-tests/service-bus-track-1/README.md @@ -0,0 +1,21 @@ +## Setting up the perf project + +1. Navigate to `sdk/servicebus/perf-tests/service-bus-track-1`. +2. Do `rush update`. +3. Run `npm run setup`. + + _Note: Since this is an independent npm project as opposed to being managed by rush, steps 2 & 3 help in building the perf framework and installing it in this track-1 perf test project._ + +## Environment setup + +Create a service-bus namespace and populate the .env file with `SERVICEBUS_CONNECTION_STRING` variable. + +## Running the tests + +To test sending messages in batches + +> `npm run perf-test:node -- BatchSendTest --warmup 2 --duration 7 --parallel 2` + +> `npm run perf-test:node -- BatchSendTest --warmup 1 --duration 25 --iterations 2 --parallel 32 --messageBodySize 10240 --numberOfMessages 10` + +_Note: For more default options, refer [Perf-Framework-Default-Options](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/perfstress/README.md#keyconcepts)._ diff --git a/sdk/servicebus/perf-tests/service-bus-track-1/package.json b/sdk/servicebus/perf-tests/service-bus-track-1/package.json new file mode 100644 index 000000000000..93b98ca65dfb --- /dev/null +++ b/sdk/servicebus/perf-tests/service-bus-track-1/package.json @@ -0,0 +1,48 @@ +{ + "name": "@azure-tests/perf-service-bus-track-1", + "version": "1.0.0", + "description": "", + "main": "", + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@azure/service-bus": "^1.1.10", + "@azure/service-bus-v7": "npm:@azure/service-bus@^7.0.0", + "@azure/test-utils-perfstress": "file:../../../test-utils/perfstress/azure-test-utils-perfstress-1.0.0.tgz", + "dotenv": "^8.2.0", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@types/node": "^8.0.0", + "@types/uuid": "^8.0.0", + "prettier": "^1.16.4", + "ts-node": "^8.3.0", + "tslib": "^2.0.0", + "typescript": "4.1.2" + }, + "private": true, + "scripts": { + "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", + "build": "tsc -p .", + "build:samples": "echo skipped", + "build:test": "echo skipped", + "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-esm test-dist typings *.tgz *.log", + "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", + "pack": "npm pack 2>&1", + "perf-test:node": "ts-node test/index.spec.ts", + "setup": "node ../../../../common/tools/perf-tests-track-1-setup.js", + "unit-test:browser": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test": "echo skipped", + "test:browser": "echo skipped", + "test:node": "echo skipped", + "test": "echo skipped" + } +} diff --git a/sdk/servicebus/perf-tests/service-bus-track-1/sample.env b/sdk/servicebus/perf-tests/service-bus-track-1/sample.env new file mode 100644 index 000000000000..e22252fd352e --- /dev/null +++ b/sdk/servicebus/perf-tests/service-bus-track-1/sample.env @@ -0,0 +1 @@ +SERVICEBUS_CONNECTION_STRING= diff --git a/sdk/servicebus/service-bus/test/perf/track-1/index.spec.ts b/sdk/servicebus/perf-tests/service-bus-track-1/test/index.spec.ts similarity index 100% rename from sdk/servicebus/service-bus/test/perf/track-1/index.spec.ts rename to sdk/servicebus/perf-tests/service-bus-track-1/test/index.spec.ts diff --git a/sdk/servicebus/service-bus/test/perf/track-1/sbBase.spec.ts b/sdk/servicebus/perf-tests/service-bus-track-1/test/sbBase.spec.ts similarity index 96% rename from sdk/servicebus/service-bus/test/perf/track-1/sbBase.spec.ts rename to sdk/servicebus/perf-tests/service-bus-track-1/test/sbBase.spec.ts index 81d5478c77b2..e814b6ac13b1 100644 --- a/sdk/servicebus/service-bus/test/perf/track-1/sbBase.spec.ts +++ b/sdk/servicebus/perf-tests/service-bus-track-1/test/sbBase.spec.ts @@ -7,7 +7,7 @@ import { ServiceBusAdministrationClient } from "@azure/service-bus-v7"; // Expects the .env file at the same level as the "test" folder import * as dotenv from "dotenv"; -dotenv.config({ path: "../../../.env" }); +dotenv.config(); const connectionString = getEnvVar("SERVICEBUS_CONNECTION_STRING"); diff --git a/sdk/servicebus/service-bus/test/perf/track-1/sendBatch.spec.ts b/sdk/servicebus/perf-tests/service-bus-track-1/test/sendBatch.spec.ts similarity index 94% rename from sdk/servicebus/service-bus/test/perf/track-1/sendBatch.spec.ts rename to sdk/servicebus/perf-tests/service-bus-track-1/test/sendBatch.spec.ts index 6533d1595d22..e2736f525349 100644 --- a/sdk/servicebus/service-bus/test/perf/track-1/sendBatch.spec.ts +++ b/sdk/servicebus/perf-tests/service-bus-track-1/test/sendBatch.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { PerfStressOptionDictionary } from "@azure/test-utils-perfstress"; -import { SendableMessageInfo, Sender } from "@azure/service-bus"; +import { SendableMessageInfo } from "@azure/service-bus"; import { ServiceBusTest } from "./sbBase.spec"; interface SendTestOptions { diff --git a/sdk/servicebus/perf-tests/service-bus-track-1/tsconfig.json b/sdk/servicebus/perf-tests/service-bus-track-1/tsconfig.json new file mode 100644 index 000000000000..a23463d78312 --- /dev/null +++ b/sdk/servicebus/perf-tests/service-bus-track-1/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../../tsconfig.package", + "compilerOptions": { + "module": "commonjs", + "noEmit": true + }, + "compileOnSave": true, + "exclude": ["node_modules"], + "include": ["./test/**/*.ts"] +} diff --git a/sdk/servicebus/perf-tests/service-bus/README.md b/sdk/servicebus/perf-tests/service-bus/README.md new file mode 100644 index 000000000000..c058c3556e1a --- /dev/null +++ b/sdk/servicebus/perf-tests/service-bus/README.md @@ -0,0 +1,18 @@ +## Setting up the perf project + +1. Build the service-bus perf test project `rush build -t perf-service-bus`. +2. Navigate to `cd sdk/servicebus/perf-tests/service-bus`. + +## Environment setup + +Create a service-bus namespace and populate the .env file with `SERVICEBUS_CONNECTION_STRING` variable. + +## Running the tests + +To test sending messages in batches + +> `npm run perf-test:node -- BatchSendTest --warmup 2 --duration 7 --parallel 2` + +> `npm run perf-test:node -- BatchSendTest --warmup 1 --duration 25 --iterations 2 --parallel 32 --messageBodySize 10240 --numberOfMessages 10` + +_Note: For more default options, refer [Perf-Framework-Default-Options](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/perfstress/README.md#keyconcepts)._ diff --git a/sdk/servicebus/perf-tests/service-bus/package.json b/sdk/servicebus/perf-tests/service-bus/package.json new file mode 100644 index 000000000000..5a285838db3d --- /dev/null +++ b/sdk/servicebus/perf-tests/service-bus/package.json @@ -0,0 +1,49 @@ +{ + "name": "@azure-tests/perf-service-bus", + "sdk-type": "perf-test", + "version": "1.0.0", + "description": "", + "main": "", + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@azure/service-bus": "^7.0.0", + "@azure/test-utils-perfstress": "^1.0.0", + "dotenv": "^8.2.0", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@types/uuid": "^8.0.0", + "@types/node": "^12.0.0", + "eslint": "^7.15.0", + "prettier": "^1.16.4", + "rimraf": "^3.0.0", + "tslib": "^2.2.0", + "ts-node": "^10.0.0", + "typescript": "~4.2.0" + }, + "private": true, + "scripts": { + "perf-test:node": "ts-node test/index.spec.ts", + "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", + "build": "npm run clean && tsc -p .", + "build:samples": "echo skipped", + "build:test": "echo skipped", + "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-esm test-dist typings *.tgz *.log", + "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"test/**/*.ts\" \"*.{js,json}\"", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", + "pack": "npm pack 2>&1", + "unit-test:browser": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test": "echo skipped", + "test:browser": "echo skipped", + "test:node": "echo skipped", + "test": "echo skipped" + } +} diff --git a/sdk/servicebus/perf-tests/service-bus/sample.env b/sdk/servicebus/perf-tests/service-bus/sample.env new file mode 100644 index 000000000000..e22252fd352e --- /dev/null +++ b/sdk/servicebus/perf-tests/service-bus/sample.env @@ -0,0 +1 @@ +SERVICEBUS_CONNECTION_STRING= diff --git a/sdk/servicebus/service-bus/test/perf/track-2/index.spec.ts b/sdk/servicebus/perf-tests/service-bus/test/index.spec.ts similarity index 100% rename from sdk/servicebus/service-bus/test/perf/track-2/index.spec.ts rename to sdk/servicebus/perf-tests/service-bus/test/index.spec.ts diff --git a/sdk/servicebus/service-bus/test/perf/track-2/sbBase.spec.ts b/sdk/servicebus/perf-tests/service-bus/test/sbBase.spec.ts similarity index 97% rename from sdk/servicebus/service-bus/test/perf/track-2/sbBase.spec.ts rename to sdk/servicebus/perf-tests/service-bus/test/sbBase.spec.ts index 3bf9c9950ccf..f12d9140cf94 100644 --- a/sdk/servicebus/service-bus/test/perf/track-2/sbBase.spec.ts +++ b/sdk/servicebus/perf-tests/service-bus/test/sbBase.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { PerfStressTest, getEnvVar } from "@azure/test-utils-perfstress"; -import { ServiceBusAdministrationClient, ServiceBusClient } from "../../../src"; +import { ServiceBusAdministrationClient, ServiceBusClient } from "@azure/service-bus"; // Expects the .env file at the same level as the "test" folder import * as dotenv from "dotenv"; diff --git a/sdk/servicebus/service-bus/test/perf/track-2/sendBatch.spec.ts b/sdk/servicebus/perf-tests/service-bus/test/sendBatch.spec.ts similarity index 94% rename from sdk/servicebus/service-bus/test/perf/track-2/sendBatch.spec.ts rename to sdk/servicebus/perf-tests/service-bus/test/sendBatch.spec.ts index f67ec557696d..0ff4be31a17a 100644 --- a/sdk/servicebus/service-bus/test/perf/track-2/sendBatch.spec.ts +++ b/sdk/servicebus/perf-tests/service-bus/test/sendBatch.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { PerfStressOptionDictionary } from "@azure/test-utils-perfstress"; -import { ServiceBusMessage, ServiceBusSender } from "../../../src"; +import { ServiceBusMessage, ServiceBusSender } from "@azure/service-bus"; import { ServiceBusTest } from "./sbBase.spec"; interface SendTestOptions { diff --git a/sdk/servicebus/perf-tests/service-bus/tsconfig.json b/sdk/servicebus/perf-tests/service-bus/tsconfig.json new file mode 100644 index 000000000000..a23463d78312 --- /dev/null +++ b/sdk/servicebus/perf-tests/service-bus/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../../tsconfig.package", + "compilerOptions": { + "module": "commonjs", + "noEmit": true + }, + "compileOnSave": true, + "exclude": ["node_modules"], + "include": ["./test/**/*.ts"] +} diff --git a/sdk/servicebus/service-bus/package.json b/sdk/servicebus/service-bus/package.json index 39fbf5ac2f0b..514079b73406 100644 --- a/sdk/servicebus/service-bus/package.json +++ b/sdk/servicebus/service-bus/package.json @@ -52,7 +52,7 @@ "build:test:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c rollup.test.config.js 2>&1", "build:test": "npm run build:test:node && npm run build:test:browser", "build:types": "downlevel-dts types/latest types/3.1", - "build": "tsc -p . && rollup -c 2>&1 && npm run extract-api && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && npm run extract-api && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* types *.tgz *.log coverage coverage-browser .nyc_output", "build:samples": "echo Obsolete.", @@ -66,7 +66,6 @@ "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o service-bus-lintReport.html || exit 0", "pack": "npm pack 2>&1", "perf-test:node": "cross-env TS_NODE_COMPILER_OPTIONS=\"{\\\"module\\\": \\\"commonjs\\\"}\" ts-node test/perf/track-2/index.spec.ts", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test:browser && npm run integration-test:browser", "test:node": "npm run clean && npm run build:test:node && npm run integration-test:node", "test": "npm run test:node && npm run test:browser", @@ -120,7 +119,7 @@ "@azure/logger": "^1.0.0", "@types/is-buffer": "^2.0.0", "@types/long": "^4.0.0", - "buffer": "^5.2.1", + "buffer": "^6.0.0", "is-buffer": "^2.0.3", "jssha": "^3.1.0", "long": "^4.0.0", @@ -131,7 +130,7 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils": "^1.0.0", "@azure/test-utils-perfstress": "^1.0.0", "@microsoft/api-extractor": "7.7.11", @@ -154,7 +153,6 @@ "chai-exclude": "^2.0.2", "cross-env": "^7.0.2", "debug": "^4.1.1", - "delay": "^4.2.0", "dotenv": "^8.2.0", "downlevel-dts": "~0.4.0", "eslint": "^7.15.0", @@ -178,13 +176,13 @@ "nyc": "^14.0.0", "prettier": "^1.16.4", "promise": "^8.0.3", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-terser": "^5.1.1", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "ws": "^7.1.1", "sinon": "^9.0.2", diff --git a/sdk/servicebus/service-bus/src/diagnostics/tracing.ts b/sdk/servicebus/service-bus/src/diagnostics/tracing.ts index c0e015f4041f..2a32f86b50ab 100644 --- a/sdk/servicebus/service-bus/src/diagnostics/tracing.ts +++ b/sdk/servicebus/service-bus/src/diagnostics/tracing.ts @@ -55,7 +55,8 @@ export function createServiceBusSpan( tracingOptions: { ...operationOptions?.tracingOptions, spanOptions: { - ...operationOptions?.tracingOptions?.spanOptions, + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + ...(operationOptions?.tracingOptions as any)?.spanOptions, ...additionalSpanOptions } } diff --git a/sdk/servicebus/service-bus/src/receivers/receiver.ts b/sdk/servicebus/service-bus/src/receivers/receiver.ts index 466780f6a745..e897fb6cc19a 100644 --- a/sdk/servicebus/service-bus/src/receivers/receiver.ts +++ b/sdk/servicebus/service-bus/src/receivers/receiver.ts @@ -73,10 +73,8 @@ export interface ServiceBusReceiver { /** * Returns an iterator that can be used to receive messages from Service Bus. - * If the iterator is not able to fetch a new message in over a minute, `undefined` will be returned. * * @param options - A set of options to control the receive operation. - * - `maxWaitTimeInMs`: The time to wait to receive the message in each iteration. * - `abortSignal`: The signal to use to abort the ongoing operation. * * @throws Error if the underlying connection, client or receiver is closed. diff --git a/sdk/servicebus/service-bus/src/util/atomXmlHelper.ts b/sdk/servicebus/service-bus/src/util/atomXmlHelper.ts index d4d3b2ce8a5f..a76bbf0266d3 100644 --- a/sdk/servicebus/service-bus/src/util/atomXmlHelper.ts +++ b/sdk/servicebus/service-bus/src/util/atomXmlHelper.ts @@ -59,7 +59,8 @@ export async function executeAtomXmlOperation( onUploadProgress: operationOptions.requestOptions?.onUploadProgress, onDownloadProgress: operationOptions.requestOptions?.onDownloadProgress, abortSignal: operationOptions.abortSignal, - spanOptions: operationOptions.tracingOptions?.spanOptions, + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + spanOptions: (operationOptions.tracingOptions as any)?.spanOptions, tracingContext: operationOptions.tracingOptions?.tracingContext, disableJsonStringifyOnBody: true }; diff --git a/sdk/servicebus/service-bus/test/internal/unit/atomXml.spec.ts b/sdk/servicebus/service-bus/test/internal/unit/atomXml.spec.ts index 11b1b9a5a576..bf1120ceb548 100644 --- a/sdk/servicebus/service-bus/test/internal/unit/atomXml.spec.ts +++ b/sdk/servicebus/service-bus/test/internal/unit/atomXml.spec.ts @@ -20,7 +20,7 @@ import { TopicResourceSerializer } from "../../../src/serializers/topicResourceS import { SubscriptionResourceSerializer } from "../../../src/serializers/subscriptionResourceSerializer"; import { RuleResourceSerializer } from "../../../src/serializers/ruleResourceSerializer"; import { getXMLNSPrefix, isJSONLikeObject } from "../../../src/util/utils"; -import { TestConstants } from "../../public/testConstants"; +import { TestConstants } from "../../public/fakeTestSecrets"; const queueProperties = [ Constants.LOCK_DURATION, diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/azure-sb-package/receive.ts b/sdk/servicebus/service-bus/test/perf-js-libs/azure-sb-package/receive.ts index 76c3d665365d..24ec092a7000 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/azure-sb-package/receive.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/azure-sb-package/receive.ts @@ -12,9 +12,12 @@ Measures the maximum throughput of `receiver.receive()` in package `azure-sb`. */ import { createServiceBusService, ServiceBusService } from "azure-sb"; -import delay from "delay"; import moment from "moment"; +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _start = moment(); let _messages = 0; diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/azure-sb-package/send.ts b/sdk/servicebus/service-bus/test/perf-js-libs/azure-sb-package/send.ts index ace2546c5298..e5629416ebd2 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/azure-sb-package/send.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/azure-sb-package/send.ts @@ -12,9 +12,12 @@ Measures the maximum throughput of `sender.send()` in package `azure-sb`. */ import { createServiceBusService, ServiceBusService } from "azure-sb"; -import delay from "delay"; import moment from "moment"; +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _payload = JSON.stringify(Buffer.alloc(1024)); const _start = moment(); diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/rhea-promise/receive.ts b/sdk/servicebus/service-bus/test/perf-js-libs/rhea-promise/receive.ts index 3cafbb679563..25d5be069830 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/rhea-promise/receive.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/rhea-promise/receive.ts @@ -18,9 +18,12 @@ import { ReceiverEvents, ReceiverOptionsWithSession } from "rhea-promise"; -import delay from "delay"; import moment from "moment"; +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _start = moment(); let _messages = 0; diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/rhea-promise/send.ts b/sdk/servicebus/service-bus/test/perf-js-libs/rhea-promise/send.ts index 58632c9a6638..6ba1b701b4c5 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/rhea-promise/send.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/rhea-promise/send.ts @@ -11,9 +11,12 @@ Measures the maximum throughput of `sender.send()` in package `rhea-promise`. */ import { Connection, SenderEvents, ConnectionOptions } from "rhea-promise"; -import delay from "delay"; import moment from "moment"; +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _payload = Buffer.alloc(1024); const _start = moment(); diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/receive.ts b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/receive.ts index 0aaea41b2913..bbd9ceef3a3a 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/receive.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/receive.ts @@ -18,13 +18,16 @@ import { OnMessage, ServiceBusMessage } from "@azure/service-bus"; -import delay from "delay"; import moment from "moment"; // Load the .env file if it exists import * as dotenv from "dotenv"; dotenv.config(); +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _start = moment(); let _messages = 0; diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/receiveBatch.ts b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/receiveBatch.ts index f61d76628cc9..1efc75bd3413 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/receiveBatch.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/receiveBatch.ts @@ -12,12 +12,15 @@ Measures the maximum throughput of `receiver.receive()` in package `@azure/servi */ import { ReceiveMode, ServiceBusClient } from "@azure/service-bus"; -import delay from "delay"; import moment from "moment"; // Load the .env file if it exists import * as dotenv from "dotenv"; dotenv.config(); +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _start = moment(); let _messages = 0; diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/send.ts b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/send.ts index af7c263db0ad..4701d12e909d 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/send.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v1/send.ts @@ -11,12 +11,15 @@ Measures the maximum throughput of `sender.send()` in package `@azure/service-bu */ import { ServiceBusClient, Sender } from "@azure/service-bus"; -import delay from "delay"; import moment from "moment"; // Load the .env file if it exists import * as dotenv from "dotenv"; dotenv.config(); +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _payload = Buffer.alloc(1024); const _start = moment(); diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/receive.ts b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/receive.ts index 30357d2f159d..e4d943a34f40 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/receive.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/receive.ts @@ -12,12 +12,15 @@ Measures the maximum throughput of `receiver.receive()` in package `@azure/servi */ import { ProcessErrorArgs, ServiceBusClient, ServiceBusReceivedMessage } from "@azure/service-bus"; -import delay from "delay"; import moment from "moment"; // Load the .env file if it exists import * as dotenv from "dotenv"; dotenv.config(); +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _start = moment(); let _messages = 0; diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/receiveBatch.ts b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/receiveBatch.ts index 82e2316a8858..97f5b0756404 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/receiveBatch.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/receiveBatch.ts @@ -12,12 +12,15 @@ Measures the maximum throughput of `receiver.receive()` in package `@azure/servi */ import { ServiceBusClient } from "@azure/service-bus"; -import delay from "delay"; import moment from "moment"; // Load the .env file if it exists import * as dotenv from "dotenv"; dotenv.config(); +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _start = moment(); let _messages = 0; diff --git a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/send.ts b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/send.ts index 059be9939753..496b9c8ef073 100644 --- a/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/send.ts +++ b/sdk/servicebus/service-bus/test/perf-js-libs/service-bus-v7/send.ts @@ -11,12 +11,15 @@ Measures the maximum throughput of `sender.send()` in package `@azure/service-bu */ import { ServiceBusClient, ServiceBusSender } from "@azure/service-bus"; -import delay from "delay"; import moment from "moment"; // Load the .env file if it exists import * as dotenv from "dotenv"; dotenv.config(); +function delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + const _payload = Buffer.alloc(1024); const _start = moment(); diff --git a/sdk/servicebus/service-bus/test/perf/track-1/README.md b/sdk/servicebus/service-bus/test/perf/track-1/README.md deleted file mode 100644 index 9e541e65c763..000000000000 --- a/sdk/servicebus/service-bus/test/perf/track-1/README.md +++ /dev/null @@ -1,12 +0,0 @@ -### Guide - -1. Navigate to `test-utils\perfstress` folder `cd sdk\test-utils\perfstress\` -2. Build the package `rush update && rush build -t test-utils-perfstress` -3. Pack the perf package `rushx pack` -4. Navigate to `service-bus\perf\track-1` folder `cd sdk\servicebus\service-bus\perf\track-1`. -5. Install the perf package `npm i ..\..\..\..\..\test-utils\perfstress\azure-test-utils-perfstress-1.0.0.tgz` -6. Run `npm install` to get `service-bus V1`. -7. Create a service-bus namespace and populate the .env file at `servicebus\service-bus` folder with `SERVICEBUS_CONNECTION_STRING` and `QUEUE_NAME` variables. -8. Run the tests as follows - - batch send - - `npm run perf-test:node -- BatchSendTest --warmup 2 --duration 7 --parallel 2` diff --git a/sdk/servicebus/service-bus/test/perf/track-1/package.json b/sdk/servicebus/service-bus/test/perf/track-1/package.json deleted file mode 100644 index b419cb7a5ed7..000000000000 --- a/sdk/servicebus/service-bus/test/perf/track-1/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "track-1", - "version": "1.0.0", - "description": "1. Build the service-bus package `rush build -t service-bus`. 2. Navigate to `service-bus` folder `cd sdk\\servicebus\\service-bus\\`. 3. Create a service-bus namespace and populate the .env file at `servicebus\\service-bus` folder with `SERVICEBUS_CONNECTION_STRING` variables. 4. Run the tests as follows", - "main": "index.js", - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "@azure/service-bus": "^1.1.10", - "@azure/service-bus-v7": "npm:@azure/service-bus@^7.0.3", - "@azure/test-utils-perfstress": "file:../../../../../test-utils/perfstress/azure-test-utils-perfstress-1.0.0.tgz" - }, - "scripts": { - "perf-test:node": "ts-node index.spec.ts" - } -} diff --git a/sdk/servicebus/service-bus/test/perf/track-1/tsconfig.json b/sdk/servicebus/service-bus/test/perf/track-1/tsconfig.json deleted file mode 100644 index 391488ab17f4..000000000000 --- a/sdk/servicebus/service-bus/test/perf/track-1/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs" - } -} diff --git a/sdk/servicebus/service-bus/test/perf/track-2/README.md b/sdk/servicebus/service-bus/test/perf/track-2/README.md deleted file mode 100644 index c56c16d77ce5..000000000000 --- a/sdk/servicebus/service-bus/test/perf/track-2/README.md +++ /dev/null @@ -1,10 +0,0 @@ -### Guide - -1. Build the service-bus package `rush build -t service-bus`. -2. Navigate to `service-bus` folder `cd sdk\servicebus\service-bus\`. -3. Create a service-bus namespace and populate the .env file at `servicebus\service-bus` folder with `SERVICEBUS_CONNECTION_STRING` variables. -4. Run the tests as follows - - - batch send - - `npm run perf-test:node -- BatchSendTest --warmup 2 --duration 7 --parallel 2` - - `npm run perf-test:node -- BatchSendTest --warmup 1 --duration 25 --iterations 2 --parallel 32 --messageBodySize 10240 --numberOfMessages 10` diff --git a/sdk/servicebus/service-bus/test/public/atomManagement.spec.ts b/sdk/servicebus/service-bus/test/public/atomManagement.spec.ts index 76d5327ef3e1..aceb779e5495 100644 --- a/sdk/servicebus/service-bus/test/public/atomManagement.spec.ts +++ b/sdk/servicebus/service-bus/test/public/atomManagement.spec.ts @@ -18,7 +18,7 @@ import { EntityStatus, EntityAvailabilityStatus } from "../../src"; import { EnvVarNames, getEnvVars } from "./utils/envVarUtils"; import { recreateQueue, recreateSubscription, recreateTopic } from "./utils/managementUtils"; import { EntityNames, TestClientType } from "./utils/testUtils"; -import { TestConstants } from "./testConstants"; +import { TestConstants } from "./fakeTestSecrets"; import { AzureNamedKeyCredential } from "@azure/core-auth"; import { createServiceBusClientForTests, ServiceBusClientForTests } from "./utils/testutils2"; diff --git a/sdk/servicebus/service-bus/test/public/testConstants.ts b/sdk/servicebus/service-bus/test/public/fakeTestSecrets.ts similarity index 100% rename from sdk/servicebus/service-bus/test/public/testConstants.ts rename to sdk/servicebus/service-bus/test/public/fakeTestSecrets.ts diff --git a/sdk/servicebus/service-bus/test/stress/.helmignore b/sdk/servicebus/service-bus/test/stress/.helmignore new file mode 100644 index 000000000000..908f7bbc5ec2 --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/.helmignore @@ -0,0 +1 @@ +app/ diff --git a/sdk/servicebus/service-bus/test/stress/Chart.lock b/sdk/servicebus/service-bus/test/stress/Chart.lock new file mode 100644 index 000000000000..e12703a60381 --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: stress-test-addons + repository: https://stresstestcharts.blob.core.windows.net/helm/ + version: 0.1.6 +digest: sha256:b97697ef5f303eec43e9a94fca8e312d20b8aed71318250499344aeca9880d31 +generated: "2021-08-16T13:00:30.1011459-04:00" diff --git a/sdk/servicebus/service-bus/test/stress/Chart.yaml b/sdk/servicebus/service-bus/test/stress/Chart.yaml new file mode 100644 index 000000000000..211f9a6fe90b --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/Chart.yaml @@ -0,0 +1,13 @@ +apiVersion: v2 +name: service-bus +description: Stress tests for the Javascript Service Bus SDK +version: 0.1.1 +appVersion: v0.1 +annotations: + stressTest: 'true' + namespace: 'javascript' + +dependencies: +- name: stress-test-addons + version: 0.1.6 + repository: https://stresstestcharts.blob.core.windows.net/helm/ diff --git a/sdk/servicebus/service-bus/test/stress/Dockerfile b/sdk/servicebus/service-bus/test/stress/Dockerfile index 75415f13b0a7..7f807aa75195 100644 --- a/sdk/servicebus/service-bus/test/stress/Dockerfile +++ b/sdk/servicebus/service-bus/test/stress/Dockerfile @@ -1,8 +1,9 @@ -FROM node:8-alpine -RUN mkdir -p /src -ADD ./*.ts /src -ADD ./temp.package.json /src/package.json -ADD ./tsconfig.json /src/tsconfig.json -RUN cd /src && npm install && npm run build -WORKDIR /src +FROM node:12-alpine +RUN mkdir -p /app/src/ +ADD ./app/src/*.ts /app/src/ +ADD ./app/package.json /app/package.json +ADD ./app/tsconfig.json /app/tsconfig.json +WORKDIR /app +RUN npm install && npm run build +RUN ls ENTRYPOINT ["node"]; diff --git a/sdk/servicebus/service-bus/test/stress/SetupAndGuide.md b/sdk/servicebus/service-bus/test/stress/SetupAndGuide.md deleted file mode 100644 index 6accb51b3232..000000000000 --- a/sdk/servicebus/service-bus/test/stress/SetupAndGuide.md +++ /dev/null @@ -1,91 +0,0 @@ -### Setup - -Before running the code, - -- Setup the `SERVICEBUS_CONNECTION_STRING` environment variable. (Queue resource will be created in the beginning for the test period and teared down at the end) -- Run `rushx pack` at `sdk/servicebus/service-bus` folder to generate the current version of service-bus package. (Or skip this step and install the version that you prefer) -- Run `npm install` in this folder to install the Service Bus package that should be stress tested. - -### Scenarios - -Here are the scenarios being covered and how you can run them. - -1. Single sender that keeps sending messages in series. - `ts-node scenarioSend.ts` (runs with defaults) - `ts-node scenarioSend.ts --numberOfMessagesPerSend=100 delayBetweenSendsInMs=50`(with flags) - Flags that can be set - - - testDurationInMs (default = 3600000) // 60 minutes - - numberOfMessagesPerSend (default = 1) - - delayBetweenSendsInMs (default = 0) - - totalNumberOfMessagesToSend (default = Infinity) - - useScheduleApi (default = false) - -2. Batch receive with a streaming sender - `ts-node scenarioBatchReceive.ts` (runs with defaults) - `ts-node scenarioBatchReceive.ts --delayBetweenReceivesInMs=200 --totalNumberOfMessagesToSend=5000` (With flags) - Flags that can be set - - - testDurationInMs (default = 3600000) // 1hr - - receiveMode (default = "peekLock") - - receiveBatchMaxMessageCount (default = 10) - - receiveBatchMaxWaitTimeInMs (default = 10000) - - delayBetweenReceivesInMs (default = 0) - - numberOfMessagesPerSend (default = 1) - - delayBetweenSendsInMs (default = 0) - - totalNumberOfMessagesToSend (default = Infinity) - -3. Renew message locks for a duration - `ts-node scenarioRenewMessageLock.ts` (runs with defaults) - `ts-node scenarioRenewMessageLock.ts --delayBetweenReceivesInMs=200 --totalNumberOfMessagesToSend=5000` (With flags) - Flags that can be set - - - testDurationInMs (default = 3600000) // 1hr - - receiveBatchMaxMessageCount (default = 10) - - receiveBatchMaxWaitTimeInMs (default = 10000) - - delayBetweenReceivesInMs (default = 0) - - numberOfMessagesPerSend (default = 1) - - delayBetweenSendsInMs (default = 0) - - totalNumberOfMessagesToSend (default = Infinity) - -4. Renew session locks for a duration - `ts-node scenarioRenewSessionLock.ts` (runs with defaults) - `ts-node scenarioRenewSessionLock.ts --delayBetweenReceivesInMs=200 --totalNumberOfMessagesToSend=5000` (With flags) - Flags that can be set - - - testDurationInMs (default = 3600000) // 1hr - - receiveBatchMaxMessageCount (default = 10) - - receiveBatchMaxWaitTimeInMs (default = 10000) - - delayBetweenReceivesInMs (default = 0) - - numberOfMessagesPerSend (default = 100) - - delayBetweenSendsInMs (default = 0) - - totalNumberOfMessagesToSend (default = Infinity) - - autoLockRenewal (default = false) - -5. Streaming Receive - `ts-node scenarioStreamingReceive.ts` (runs with defaults) - `ts-node scenarioStreamingReceive.ts --manualLockRenewal=false --totalNumberOfMessagesToSend=5000` (With flags) - Flags that can be set - - - testDurationInMs (default = 3600000) // 1hr - - receiveMode (default = "peekLock") - - autoComplete (default = true) - - maxConcurrentCalls (default = 100) - - maxAutoRenewLockDurationInMs (default = 0) - - manualLockRenewal (default = true) - - numberOfMessagesPerSend (default = 1) - - delayBetweenSendsInMs (default = 0) - - totalNumberOfMessagesToSend (default = Infinity) - - completeMessageAfterDuration (default = true) - -6. Management client - peek messages - `ts-node scenarioPeekMessages.ts` (runs with defaults) - `ts-node scenarioPeekMessages.ts --delayBetweenPeeksInMs=200 --totalNumberOfMessagesToSend=5000` (With flags) - Flags that can be set - - - testDurationInMs (default = 3600000) // 1hr - - peekMaxMessageCount (default = 10) - - delayBetweenPeeksInMs (default = 0) - - numberOfMessagesPerSend (default = 1) - - delayBetweenSendsInMs (default = 0) - - totalNumberOfMessagesToSend (default = Infinity) diff --git a/sdk/servicebus/service-bus/test/stress/package.json b/sdk/servicebus/service-bus/test/stress/app/package.json similarity index 83% rename from sdk/servicebus/service-bus/test/stress/package.json rename to sdk/servicebus/service-bus/test/stress/app/package.json index e30aea5248a2..c4afcaaf0c9e 100644 --- a/sdk/servicebus/service-bus/test/stress/package.json +++ b/sdk/servicebus/service-bus/test/stress/app/package.json @@ -5,7 +5,7 @@ "main": "index.js", "scripts": { "build": "tsc -p .", - "test": "ts-node scenarioBatchReceive.ts --testDurationInMs=10000 --receiveMode=receiveAndDelete" + "test": "ts-node src/scenarioBatchReceive.ts --testDurationInMs=10000 --receiveMode=receiveAndDelete" }, "keywords": [], "author": "", diff --git a/sdk/servicebus/service-bus/test/stress/app/sample.env b/sdk/servicebus/service-bus/test/stress/app/sample.env new file mode 100644 index 000000000000..e84f8aa7fbae --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/app/sample.env @@ -0,0 +1,8 @@ +# NOTE: this file gets loaded into the test scripts (*.ts/*.js) via dotenv +# Fill in and rename file to .env for local testing outside of a stress cluster + +# az monitor app-insights component show --subscription AZURE_SUBSCRIPTION_ID --resource-group RESOURCE_GROUP --app APPINSIGHTS NAME +APPINSIGHTS_INSTRUMENTATIONKEY= + +# az servicebus namespace authorization-rule keys list --subscription AZURE_SUBSCRIPTION_ID --namespace-name SERVICEBUS_NAMESPACE_NAME --resource-group RESOURCE_GROUP --name RootManageSharedAccessKey +SERVICEBUS_CONNECTION_STRING= diff --git a/sdk/servicebus/service-bus/test/stress/scenarioBatchReceive.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioBatchReceive.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/scenarioBatchReceive.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioBatchReceive.ts diff --git a/sdk/servicebus/service-bus/test/stress/scenarioCloseOpen.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioCloseOpen.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/scenarioCloseOpen.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioCloseOpen.ts diff --git a/sdk/servicebus/service-bus/test/stress/scenarioLongRunning.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioLongRunning.ts similarity index 98% rename from sdk/servicebus/service-bus/test/stress/scenarioLongRunning.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioLongRunning.ts index e848ea1a463b..1714ec4d0f9e 100644 --- a/sdk/servicebus/service-bus/test/stress/scenarioLongRunning.ts +++ b/sdk/servicebus/service-bus/test/stress/app/src/scenarioLongRunning.ts @@ -46,7 +46,6 @@ async function sendMessagesForever( } catch (err) { console.log(`Sending message failed: `, err); stressTest.trackError("send", err as Error); - sender = undefined; } }, 1000, diff --git a/sdk/servicebus/service-bus/test/stress/scenarioPeekMessages.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioPeekMessages.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/scenarioPeekMessages.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioPeekMessages.ts diff --git a/sdk/servicebus/service-bus/test/stress/scenarioRenewMessageLock.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioRenewMessageLock.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/scenarioRenewMessageLock.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioRenewMessageLock.ts diff --git a/sdk/servicebus/service-bus/test/stress/scenarioRenewSessionLock.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioRenewSessionLock.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/scenarioRenewSessionLock.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioRenewSessionLock.ts diff --git a/sdk/servicebus/service-bus/test/stress/scenarioSend.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioSend.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/scenarioSend.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioSend.ts diff --git a/sdk/servicebus/service-bus/test/stress/scenarioShortLivedReceivers.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioShortLivedReceivers.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/scenarioShortLivedReceivers.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioShortLivedReceivers.ts diff --git a/sdk/servicebus/service-bus/test/stress/scenarioStreamingReceive.ts b/sdk/servicebus/service-bus/test/stress/app/src/scenarioStreamingReceive.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/scenarioStreamingReceive.ts rename to sdk/servicebus/service-bus/test/stress/app/src/scenarioStreamingReceive.ts diff --git a/sdk/servicebus/service-bus/test/stress/serviceBusStressTester.ts b/sdk/servicebus/service-bus/test/stress/app/src/serviceBusStressTester.ts similarity index 99% rename from sdk/servicebus/service-bus/test/stress/serviceBusStressTester.ts rename to sdk/servicebus/service-bus/test/stress/app/src/serviceBusStressTester.ts index 7dc825bae994..5bc696bce54e 100644 --- a/sdk/servicebus/service-bus/test/stress/serviceBusStressTester.ts +++ b/sdk/servicebus/service-bus/test/stress/app/src/serviceBusStressTester.ts @@ -27,7 +27,7 @@ import * as appInsights from "applicationinsights"; import * as dotenv from "dotenv"; import { AbortSignalLike } from "@azure/abort-controller"; -dotenv.config(); +dotenv.config({ path: process.env.ENV_FILE || ".env" }); appInsights .setup() diff --git a/sdk/servicebus/service-bus/test/stress/utils.ts b/sdk/servicebus/service-bus/test/stress/app/src/utils.ts similarity index 100% rename from sdk/servicebus/service-bus/test/stress/utils.ts rename to sdk/servicebus/service-bus/test/stress/app/src/utils.ts diff --git a/sdk/servicebus/service-bus/test/stress/tsconfig.json b/sdk/servicebus/service-bus/test/stress/app/tsconfig.json similarity index 93% rename from sdk/servicebus/service-bus/test/stress/tsconfig.json rename to sdk/servicebus/service-bus/test/stress/app/tsconfig.json index 8d4535a48c89..f8184d4292eb 100644 --- a/sdk/servicebus/service-bus/test/stress/tsconfig.json +++ b/sdk/servicebus/service-bus/test/stress/app/tsconfig.json @@ -13,6 +13,6 @@ "noUnusedLocals": true, "noUnusedParameters": true }, - "include": ["./*.ts"], + "include": ["./src/*.ts"], "exclude": ["node_modules"] } diff --git a/sdk/servicebus/service-bus/test/stress/parameters.json b/sdk/servicebus/service-bus/test/stress/parameters.json new file mode 100644 index 000000000000..24dce001ce6a --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/parameters.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { } +} diff --git a/sdk/servicebus/service-bus/test/stress/pod.yaml b/sdk/servicebus/service-bus/test/stress/pod.yaml deleted file mode 100644 index 5735b4344b79..000000000000 --- a/sdk/servicebus/service-bus/test/stress/pod.yaml +++ /dev/null @@ -1,30 +0,0 @@ -kind: Pod -apiVersion: v1 -metadata: - name: "${K8S_POD_NAME}" - namespace: "${KUBERNETES_NAMESPACE}" -spec: - restartPolicy: Never - containers: - - name: sb-stressperf - image: "${DOCKER_IMAGE_NAME}" - env: - - name: SERVICEBUS_CONNECTION_STRING - valueFrom: - secretKeyRef: - name: "${K8S_SECRET_NAME}" - key: SERVICEBUS_CONNECTION_STRING - - name: APPINSIGHTS_INSTRUMENTATIONKEY - valueFrom: - secretKeyRef: - name: "${K8S_SECRET_NAME}" - key: APPINSIGHTS_INSTRUMENTATIONKEY - command: - - node - - /src/dist/${SCENARIO_JS_BASE_NAME}.js - # the cluster we're currently using is a bit more free-for-all as we figure out sizing. - # resources: - # requests: - # cpu: 1 - # memory: 500Mi - imagePullPolicy: Always diff --git a/sdk/servicebus/service-bus/test/stress/runContainer.js b/sdk/servicebus/service-bus/test/stress/runContainer.js deleted file mode 100755 index 1dcbca87d238..000000000000 --- a/sdk/servicebus/service-bus/test/stress/runContainer.js +++ /dev/null @@ -1,90 +0,0 @@ -const dotenv = require("dotenv"); -const minimist = require("minimist"); -const fs = require("fs"); -const path = require("path"); -const { spawnSync } = require("child_process"); - -dotenv.config(); - -// these should match what we have in your .env file (you can use sample.env -// as the template for your own file) -const serviceBusConnectionString = process.env.SERVICEBUS_CONNECTION_STRING; -const appInsightsInstrumentationKey = process.env.APPINSIGHTS_INSTRUMENTATIONKEY; -const subscriptionId = process.env.AZURE_SUBSCRIPTION_ID; -const resourceGroup = process.env.RESOURCE_GROUP; -const registryUserName = process.env.REGISTRY_USERNAME; -const registryPassword = process.env.REGISTRY_PASSWORD; -const registryName = process.env.REGISTRY_NAME; - -const imageName = `${registryName}/sb-stressperf:test`; - -function spawn(command) { - const ret = spawnSync(command, { shell: true, stdio: "inherit" }); - - if (ret.status !== 0) { - throw new Error(`${command} failed with exit code ${ret.status}`); - } -} - -// which script do we want to run? -/** @type {{testToRun: string}} */ -const options = minimist(process.argv, { - string: ["testToRun"] -}); - -if (!options.testToRun) { - console.error("Usage: runcontainer.js --testToRun "); - process.exit(1); -} - -console.log(`Running \`npm run build\``); -spawn(`npm run build`); - -const { name: testFileNameWithoutExtension } = path.parse(options.testToRun); -const containerInstanceName = `${resourceGroup}-sb-stressperf-${testFileNameWithoutExtension.toLowerCase()}`; - -const expectedJsFile = path.join(`dist`, `${testFileNameWithoutExtension}.js`); -if (!fs.existsSync(expectedJsFile)) { - console.error( - `No file named ${expectedJsFile}. Need a valid JS file when creating your container group.` - ); - process.exit(1); -} - -console.log(`Building container image: ${imageName}...`); -spawn(`docker build -t "${imageName}" --no-cache .`); - -console.log(`Pushing image (will fail if you have not yet run \`docker login ${registryName}\`)`); -spawn(`docker push "${imageName}"`); - -console.log(`Deleting Azure Container Instance (if exists)`); -spawn( - `az container delete --subscription "${subscriptionId}" --resource-group "${resourceGroup}" --name "${containerInstanceName}"` -); - -console.log(`Creating Azure Container Instance for stress/perf that runs ${options.testToRun}`); -spawn( - `az container create --subscription "${subscriptionId}" --resource-group "${resourceGroup}" --name "${containerInstanceName}" ` + - `--image ${imageName} ` + - "--cpu 1 --memory 0.7 " + - "--restart-policy Never " + - `--registry-username ${registryUserName} ` + - `--registry-password "${registryPassword}" ` + - `--command-line "node /src/${path.basename(expectedJsFile)}" ` + - `--secure-environment-variables "SERVICEBUS_CONNECTION_STRING=${serviceBusConnectionString}" "APPINSIGHTS_INSTRUMENTATIONKEY=${appInsightsInstrumentationKey}"` -); - -console.log( - `Done - there will be a new Azure Container Instance named '${containerInstanceName}' in the '${resourceGroup}' resource group.\n` -); - -console.log(`Some other commands you might find useful to manage your container:\n`); -console.log( - `az container stop --subscription "${subscriptionId}" --resource-group "${resourceGroup}" --name "${containerInstanceName}"` -); -console.log( - `az container delete --subscription "${subscriptionId}" --resource-group "${resourceGroup}" --name "${containerInstanceName}"` -); -console.log( - `az container logs --subscription "${subscriptionId}" --resource-group "${resourceGroup}" --name "${containerInstanceName}" --follow` -); diff --git a/sdk/servicebus/service-bus/test/stress/sample.env b/sdk/servicebus/service-bus/test/stress/sample.env deleted file mode 100644 index 5b16ee2c333b..000000000000 --- a/sdk/servicebus/service-bus/test/stress/sample.env +++ /dev/null @@ -1,27 +0,0 @@ -# NOTE: this file gets 'source'd into the test*.sh scripts, so make sure your values are quoted. -AZURE_SUBSCRIPTION_ID="Subscription ID or Subscription name" -RESOURCE_GROUP="Your resource group name" - -# CLI: -# az monitor app-insights component show --subscription AZURE_SUBSCRIPTION_ID --resource-group RESOURCE_GROUP --app APPINSIGHTS NAME -APPINSIGHTS_INSTRUMENTATIONKEY="" - -# CLI: -# az servicebus namespace authorization-rule keys list --subscription AZURE_SUBSCRIPTION_ID --namespace-name SERVICEBUS_NAMESPACE_NAME --resource-group RESOURCE_GROUP --name RootManageSharedAccessKey -SERVICEBUS_CONNECTION_STRING="A Service Bus connection string" - -# You'll need to create an Azure Container Registry to host your container images -# az acr create --subscription AZURE_SUBSCRIPTION_ID --resource-group RESOURCE_GROUP --admin-enabled --sku Basic --name REGISTRY_NAME -# -# To get the credentials after you've created the registry: -# az acr credential show --subscription AZURE_SUBSCRIPTION_ID --resource-group RESOURCE_GROUP --name REGISTRY_NAME -REGISTRY_USERNAME="" -REGISTRY_PASSWORD="" -# FQDN of your Azure Container Registry (ie: something.azurecr.io) -REGISTRY_NAME=".azurecr.io" - -# the repository name of your image (ie: `sb-perfstress`) -DOCKER_REPOSITORY_NAME="" - -# the kubernetes namespace where the pods and secrets will be replaced. -KUBERNETES_NAMESPACE="" \ No newline at end of file diff --git a/sdk/servicebus/service-bus/test/stress/secrets.yaml b/sdk/servicebus/service-bus/test/stress/secrets.yaml deleted file mode 100644 index d28a3a42b30e..000000000000 --- a/sdk/servicebus/service-bus/test/stress/secrets.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: "${K8S_SECRET_NAME}" -type: Opaque -stringData: - # these are just replaced in buildContainer.sh before they're passed to kubectl. - SERVICEBUS_CONNECTION_STRING: "${SERVICEBUS_CONNECTION_STRING}" - APPINSIGHTS_INSTRUMENTATIONKEY: "${APPINSIGHTS_INSTRUMENTATIONKEY}" \ No newline at end of file diff --git a/sdk/servicebus/service-bus/test/stress/templates/testjob.yaml b/sdk/servicebus/service-bus/test/stress/templates/testjob.yaml new file mode 100644 index 000000000000..1b907b9fe3a4 --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/templates/testjob.yaml @@ -0,0 +1,16 @@ +{{- include "stress-test-addons.deploy-job-template.from-pod" (list . "stress.service-bus") -}} + +{{- define "stress.service-bus" -}} +metadata: + labels: + testInstance: "service-bus-{{ .Scenario }}-{{ .Release.Name }}-{{ .Release.Revision }}" + testName: service-bus-{{ .Scenario }} + chaos: "true" +spec: + containers: + - name: sb-stressperf + imagePullPolicy: Always + command: ["node", "/app/dist/src/{{ .Scenario }}.js"] + image: {{ default "stresstestregistry.azurecr.io/javascript" .Values.repository }}/stress:{{ default "v1" .Values.tag }} + {{- include "stress-test-addons.container-env" . | nindent 6 }} +{{- end -}} diff --git a/sdk/servicebus/service-bus/test/stress/test-resources.bicep b/sdk/servicebus/service-bus/test/stress/test-resources.bicep new file mode 100644 index 000000000000..099294c2bbe1 --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/test-resources.bicep @@ -0,0 +1,40 @@ +@description('The base resource name.') +param baseName string = resourceGroup().name + +@description('The client OID to grant access to test resources.') +param testApplicationOid string + +var apiVersion = '2017-04-01' +var location = resourceGroup().location +var authorizationRuleName_var = '${baseName}/RootManageSharedAccessKey' + +resource servicebus 'Microsoft.ServiceBus/namespaces@2018-01-01-preview' = { + name: baseName + location: location + sku: { + name: 'Standard' + tier: 'Standard' + } + properties: { + zoneRedundant: false + } +} + +resource authorizationRuleName 'Microsoft.ServiceBus/namespaces/AuthorizationRules@2015-08-01' = { + name: authorizationRuleName_var + location: location + properties: { + rights: [ + 'Listen' + 'Manage' + 'Send' + ] + } + dependsOn: [ + servicebus + ] +} + +output SERVICEBUS_CONNECTION_STRING string = listKeys(resourceId('Microsoft.ServiceBus/namespaces/authorizationRules', baseName, 'RootManageSharedAccessKey'), apiVersion).primaryConnectionString +output SERVICEBUS_ENDPOINT string = replace(servicebus.properties.serviceBusEndpoint, ':443/', '') +output testApplicationOid string = testApplicationOid diff --git a/sdk/servicebus/service-bus/test/stress/test-resources.json b/sdk/servicebus/service-bus/test/stress/test-resources.json new file mode 100644 index 000000000000..4f6a78a88dcb --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/test-resources.json @@ -0,0 +1,77 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "metadata": { + "_generator": { + "name": "bicep", + "version": "0.4.63.48766", + "templateHash": "5601553675190796841" + } + }, + "parameters": { + "baseName": { + "type": "string", + "defaultValue": "[resourceGroup().name]", + "metadata": { + "description": "The base resource name." + } + }, + "testApplicationOid": { + "type": "string", + "metadata": { + "description": "The client OID to grant access to test resources." + } + } + }, + "functions": [], + "variables": { + "apiVersion": "2017-04-01", + "location": "[resourceGroup().location]", + "authorizationRuleName_var": "[format('{0}/RootManageSharedAccessKey', parameters('baseName'))]" + }, + "resources": [ + { + "type": "Microsoft.ServiceBus/namespaces", + "apiVersion": "2018-01-01-preview", + "name": "[parameters('baseName')]", + "location": "[variables('location')]", + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "zoneRedundant": false + } + }, + { + "type": "Microsoft.ServiceBus/namespaces/AuthorizationRules", + "apiVersion": "2015-08-01", + "name": "[variables('authorizationRuleName_var')]", + "location": "[variables('location')]", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', parameters('baseName'))]" + ] + } + ], + "outputs": { + "SERVICEBUS_CONNECTION_STRING": { + "type": "string", + "value": "[listKeys(resourceId('Microsoft.ServiceBus/namespaces/authorizationRules', parameters('baseName'), 'RootManageSharedAccessKey'), variables('apiVersion')).primaryConnectionString]" + }, + "SERVICEBUS_ENDPOINT": { + "type": "string", + "value": "[replace(reference(resourceId('Microsoft.ServiceBus/namespaces', parameters('baseName'))).serviceBusEndpoint, ':443/', '')]" + }, + "testApplicationOid": { + "type": "string", + "value": "[parameters('testApplicationOid')]" + } + } +} \ No newline at end of file diff --git a/sdk/servicebus/service-bus/test/stress/testAll.sh b/sdk/servicebus/service-bus/test/stress/testAll.sh deleted file mode 100755 index 9b7bb8025083..000000000000 --- a/sdk/servicebus/service-bus/test/stress/testAll.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -set -e # bail if any commands exit with non-zero exit codes. - -if [ "$1" == "" ]; then - echo "Usage: $0 " - exit 1 -fi - -SERVICEBUS_PACKAGE_VERSION=$1 -#./testBuild.sh $SERVICEBUS_PACKAGE_VERSION - -FILES=" - scenarioBatchReceive.ts - scenarioLongRunning.ts - scenarioRenewMessageLock.ts - scenarioSend.ts - scenarioCloseOpen.ts - scenarioPeekMessages.ts - scenarioRenewSessionLock.ts - scenarioStreamingReceive.ts -" - -for tsFile in $FILES; do - tsFile=${tsFile%.*} - ./testRun.sh "$SERVICEBUS_PACKAGE_VERSION" "$tsFile" -done diff --git a/sdk/servicebus/service-bus/test/stress/testBuild.sh b/sdk/servicebus/service-bus/test/stress/testBuild.sh deleted file mode 100755 index 2ad7928c9a0a..000000000000 --- a/sdk/servicebus/service-bus/test/stress/testBuild.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -set -e # bail if any commands exit with non-zero exit codes. - -if [ "$1" == "" ]; then - echo "Usage: $ " - exit 1 -fi - -# don't forget to fill out the .env file (use sample.env as your base) -source .env - -SERVICEBUS_PACKAGE_VERSION=$1 - -# update a temporary copy of the package.json file -NEW_PACKAGE_JSON=$(sed -e "s/service-bus\":[^,]*/service-bus\": \"$SERVICEBUS_PACKAGE_VERSION\"/" package.json) -echo "$NEW_PACKAGE_JSON" > temp.package.json - -# REGISTRY_NAME and DOCKER_REPOSITORY_NAME come from the .env file -DOCKER_IMAGE_NAME="$REGISTRY_NAME/$DOCKER_REPOSITORY_NAME:$SERVICEBUS_PACKAGE_VERSION" - -# build the image -docker build -t $DOCKER_IMAGE_NAME . - -# login to an internal Docker registry where we'll push our image -echo $REGISTRY_PASSWORD | docker login --username=$REGISTRY_USERNAME --password-stdin $REGISTRY_NAME - -# push the image -docker push "$DOCKER_IMAGE_NAME" diff --git a/sdk/servicebus/service-bus/test/stress/testRun.sh b/sdk/servicebus/service-bus/test/stress/testRun.sh deleted file mode 100755 index 7fb5fd265fe3..000000000000 --- a/sdk/servicebus/service-bus/test/stress/testRun.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -set -e # bail if any commands exit with non-zero exit codes. - -if [ "$1" == "" ] || [ "$2" == "" ]; then - echo "Usage: $0 " - exit 1 -fi - -# don't forget to fill out the .env file (use sample.env as your base) -set -a # export variables from .env -source .env -set +a - -# figure out the proper image name, based on the git commit -# and the state of the current clone -export SERVICEBUS_PACKAGE_VERSION=$1 -export SCENARIO_JS_BASE_NAME=$2 -export KUBERNETES_ENTITY="${SCENARIO_JS_BASE_NAME,,}-$SERVICEBUS_PACKAGE_VERSION" - -export DOCKER_IMAGE_NAME="$REGISTRY_NAME/$DOCKER_REPOSITORY_NAME:$SERVICEBUS_PACKAGE_VERSION" -export K8S_POD_NAME="$KUBERNETES_ENTITY" -export K8S_SECRET_NAME="$KUBERNETES_ENTITY" - -echo "Will deploy" -echo " docker image:${DOCKER_IMAGE_NAME}" -echo " to pod: ${K8S_POD_NAME}" -echo " with secret: ${K8S_SECRET_NAME}" -echo " running scenario ${SCENARIO_JS_BASE_NAME}" -echo " Using your default context and namespace set in kubectl" - -createKubernetesSecret() { - echo "Creating Kubernetes secret" - SECRET_YAML=$(envsubst < secrets.yaml) - echo "$SECRET_YAML" | kubectl replace --force -f - -} - -createKubernetesPod() { - echo "Creating Kubernetes pod" - POD_YAML=$(envsubst < pod.yaml) - echo "$POD_YAML" | kubectl replace --force -f - -} - -createKubernetesSecret -createKubernetesPod - -echo "Some useful commands to monitor your pod:" -echo " kubectl logs -f ${K8S_POD_NAME} --namespace=" -echo " kubectl get pods --namespace=" diff --git a/sdk/servicebus/service-bus/test/stress/values.yaml b/sdk/servicebus/service-bus/test/stress/values.yaml new file mode 100644 index 000000000000..e85cacd6b6aa --- /dev/null +++ b/sdk/servicebus/service-bus/test/stress/values.yaml @@ -0,0 +1,13 @@ +# Optional list of scenarios. If specified multiple stress test jobs will be generated, +# one for each scenario in the list. The pod spec can then be configured to pass the +# scenario name down to the test command, e.g. `command: ["node", "{{ .Scenario }}.js"]` +scenarios: + - scenarioBatchReceive + - scenarioCloseOpen + - scenarioLongRunning + - scenarioPeekMessages + - scenarioRenewMessageLock + - scenarioRenewSessionLock + - scenarioSend + - scenarioShortLivedReceivers + - scenarioStreamingReceive diff --git a/sdk/servicefabric/arm-servicefabric/README.md b/sdk/servicefabric/arm-servicefabric/README.md index 04ec2c7d4bd6..db39a3f97543 100644 --- a/sdk/servicefabric/arm-servicefabric/README.md +++ b/sdk/servicefabric/arm-servicefabric/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ServiceFabricManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/servicefabric/servicefabric/README.md b/sdk/servicefabric/servicefabric/README.md index 78b97b1c0c43..2c26547d62d9 100644 --- a/sdk/servicefabric/servicefabric/README.md +++ b/sdk/servicefabric/servicefabric/README.md @@ -4,8 +4,10 @@ This package contains an isomorphic SDK for ServiceFabricClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. + +See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. ### How to Install diff --git a/sdk/servicefabricmesh/arm-servicefabricmesh/README.md b/sdk/servicefabricmesh/arm-servicefabricmesh/README.md index 8201d8575194..45623aaaacc3 100644 --- a/sdk/servicefabricmesh/arm-servicefabricmesh/README.md +++ b/sdk/servicefabricmesh/arm-servicefabricmesh/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for ServiceFabricMeshManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/signalr/arm-signalr/README.md b/sdk/signalr/arm-signalr/README.md index 7423938c8103..e7ef96e7209a 100644 --- a/sdk/signalr/arm-signalr/README.md +++ b/sdk/signalr/arm-signalr/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SignalRManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/sql/arm-sql/CHANGELOG.md b/sdk/sql/arm-sql/CHANGELOG.md new file mode 100644 index 000000000000..500b50bb40f7 --- /dev/null +++ b/sdk/sql/arm-sql/CHANGELOG.md @@ -0,0 +1,57 @@ +## Release History + +### 30.0.0-beta.5 (Unreleased) + +#### Features Added + +#### Breaking Changes + +#### Bugs Fixed + +#### Other Changes + +### 30.0.0-beta.4 (2021-09-17) + +**Features** + + - Added Type Alias Enum76 + - Added Enum KnownEnum76 + +**Breaking Changes** + + - Operation ManagedServerSecurityAlertPolicies.beginCreateOrUpdate has a new signature + - Operation ManagedServerSecurityAlertPolicies.beginCreateOrUpdateAndWait has a new signature + - Operation ManagedServerSecurityAlertPolicies.get has a new signature + - Operation ServerSecurityAlertPolicies.beginCreateOrUpdate has a new signature + - Operation ServerSecurityAlertPolicies.beginCreateOrUpdateAndWait has a new signature + - Operation ServerSecurityAlertPolicies.get has a new signature + - Operation SyncGroups.listLogs has a new signature + - Removed Enum KnownEnum77 + - Removed Enum KnownSecurityAlertPolicyNameAutoGenerated + +### 30.0.0-beta.3 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + +### 30.0.0-beta.2 (2021-08-20) + +**Bug Fixes** + + - fix package issues + +### 30.0.0-beta.1 (2021-08-13) + +This is the first preview for the new version of the `@azure/arm-sql` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/sql/arm-sql/LICENSE b/sdk/sql/arm-sql/LICENSE new file mode 100644 index 000000000000..ccb63b166732 --- /dev/null +++ b/sdk/sql/arm-sql/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 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/sql/arm-sql/LICENSE.txt b/sdk/sql/arm-sql/LICENSE.txt deleted file mode 100644 index b73b4a1293c3..000000000000 --- a/sdk/sql/arm-sql/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2019 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. diff --git a/sdk/sql/arm-sql/README.md b/sdk/sql/arm-sql/README.md index 7c5b6fab67ed..e9644f387664 100644 --- a/sdk/sql/arm-sql/README.md +++ b/sdk/sql/arm-sql/README.md @@ -1,114 +1,96 @@ -## Azure SqlManagementClient SDK for JavaScript +# Azure SqlManagement client library for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for SqlManagementClient. +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure SqlManagement client. + +You can also follow this [link](https://github.com/Azure/azure-sdk-for-js/tree/feature/v4/sdk/sql/arm-sql) to see the previous stable versions for this package. Note that they might not implement the guidelines(https://azure.github.io/azure-sdk/typescript_introduction.html) or have the same feature set as the new releases. + +The Azure SQL Database management API provides a RESTful set of web services that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete databases. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/sql/arm-sql) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-sql) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-sql) | +[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. +- Latest versions of Safari, Chrome, Edge and Firefox. ### Prerequisites -You must have an [Azure subscription](https://azure.microsoft.com/free/). +- An [Azure subscription][azure_sub]. -### How to install +### Install the `@azure/arm-sql` package -To use this SDK in your project, you will need to install two packages. -- `@azure/arm-sql` that contains the client. -- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. +Install the Azure SqlManagement client library for JavaScript with `npm`: -Install both packages using the below command: ```bash -npm install --save @azure/arm-sql @azure/identity +npm install @azure/arm-sql ``` -> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. -If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. +### Create and authenticate a `SqlManagementClient` -### How to use +To create a client object to access the Azure SqlManagement API, you will need the `endpoint` of your Azure SqlManagement resource and a `credential`. The Azure SqlManagement client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure SqlManagement resource in the [Azure Portal][azure_portal]. -- If you are writing a client side browser application, - - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. - - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. -- If you are writing a server side application, - - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) - - Complete the set up steps required by the credential if any. - - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. +#### Using an Azure Active Directory Credential -In the below samples, we pass the credential and the Azure subscription id to instantiate the client. -Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: -#### nodejs - Authentication, client creation, and get recoverableDatabases as an example written in JavaScript. +```bash +npm install @azure/identity +``` -##### Sample code +You will also need to **register a new AAD application and grant access to Azure SqlManagement** 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 { DefaultAzureCredential } = require("@azure/identity"); const { SqlManagementClient } = require("@azure/arm-sql"); -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples -// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. -const creds = new DefaultAzureCredential(); -const client = new SqlManagementClient(creds, subscriptionId); -const resourceGroupName = "testresourceGroupName"; -const serverName = "testserverName"; -const databaseName = "testdatabaseName"; -client.recoverableDatabases.get(resourceGroupName, serverName, databaseName).then((result) => { - console.log("The result is:"); - console.log(result); -}).catch((err) => { - console.log("An error occurred:"); - console.error(err); -}); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new SqlManagementClient(new DefaultAzureCredential(), subscriptionId); ``` -#### browser - Authentication, client creation, and get recoverableDatabases as an example written in JavaScript. - -In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. - - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. - - Note down the client Id from the previous step and use it in the browser sample below. - -##### Sample code - -- index.html - -```html - - - - @azure/arm-sql sample - - - - - - - +## Key concepts + +### SqlManagementClient + +`SqlManagementClient` is the primary interface for developers using the Azure SqlManagement client library. Explore the methods on this client object to understand the different features of the Azure SqlManagement 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) +- [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%2Fsql%2Farm-sql%2FREADME.png) -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/.\sdk\sql\arm-sql\/README.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/sql/arm-sql/_meta.json b/sdk/sql/arm-sql/_meta.json new file mode 100644 index 000000000000..87f1cc2c9508 --- /dev/null +++ b/sdk/sql/arm-sql/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "e07d7900e7e02c9bb6caba0ee15f0e280e97b8f5", + "readme": "specification/sql/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.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/sql/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.12", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-beta.12" +} \ No newline at end of file diff --git a/sdk/sql/arm-sql/api-extractor.json b/sdk/sql/arm-sql/api-extractor.json new file mode 100644 index 000000000000..57af4a99ee2d --- /dev/null +++ b/sdk/sql/arm-sql/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-sql.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/sql/arm-sql/package.json b/sdk/sql/arm-sql/package.json index 22a5b5c69fa3..f774e139bd14 100644 --- a/sdk/sql/arm-sql/package.json +++ b/sdk/sql/arm-sql/package.json @@ -1,13 +1,20 @@ { "name": "@azure/arm-sql", + "sdk-type": "mgmt", "author": "Microsoft Corporation", - "description": "SqlManagementClient Library with typescript type definitions for node.js and browser.", - "version": "7.1.0", + "description": "A generated SDK for SqlManagementClient.", + "version": "30.0.0-beta.5", + "engines": { + "node": ">=12.0.0" + }, "dependencies": { - "@azure/ms-rest-azure-js": "^2.1.0", - "@azure/ms-rest-js": "^2.2.0", - "@azure/core-auth": "^1.1.4", - "tslib": "^1.10.0" + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", + "@azure/core-paging": "^1.1.1", + "@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", @@ -17,15 +24,20 @@ "isomorphic" ], "license": "MIT", - "main": "./dist/arm-sql.js", - "module": "./esm/sqlManagementClient.js", - "types": "./esm/sqlManagementClient.d.ts", + "main": "./dist/index.js", + "module": "./dist-esm/index.js", + "types": "./types/arm-sql.d.ts", "devDependencies": { - "typescript": "^3.6.0", - "rollup": "^1.18.0", - "rollup-plugin-node-resolve": "^5.2.0", + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", - "uglify-js": "^3.6.0" + "typescript": "~4.2.0", + "uglify-js": "^3.4.9" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/sql/arm-sql", "repository": { @@ -40,19 +52,46 @@ "dist/**/*.js.map", "dist/**/*.d.ts", "dist/**/*.d.ts.map", - "esm/**/*.js", - "esm/**/*.js.map", - "esm/**/*.d.ts", - "esm/**/*.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" + "tsconfig.json", + "review/*", + "CHANGELOG.md", + "types/*" ], "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify", - "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-sql.js.map'\" -o ./dist/arm-sql.min.js ./dist/arm-sql.js", - "prepack": "npm install && npm run build" + "build": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" }, "sideEffects": false, "autoPublish": true diff --git a/sdk/sql/arm-sql/review/arm-sql.api.md b/sdk/sql/arm-sql/review/arm-sql.api.md new file mode 100644 index 000000000000..2750d7cc943b --- /dev/null +++ b/sdk/sql/arm-sql/review/arm-sql.api.md @@ -0,0 +1,10070 @@ +## API Report File for "@azure/arm-sql" + +> 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 AdministratorListResult { + readonly nextLink?: string; + readonly value?: ServerAzureADAdministrator[]; +} + +// @public +export type AdministratorName = string; + +// @public +export type AdministratorType = string; + +// @public +export type Advisor = ProxyResource & { + readonly kind?: string; + readonly location?: string; + readonly advisorStatus?: AdvisorStatus; + autoExecuteStatus?: AutoExecuteStatus; + readonly autoExecuteStatusInheritedFrom?: AutoExecuteStatusInheritedFrom; + readonly recommendationsStatus?: string; + readonly lastChecked?: Date; + readonly recommendedActions?: RecommendedAction[]; +}; + +// @public +export type AdvisorStatus = "GA" | "PublicPreview" | "LimitedPublicPreview" | "PrivatePreview"; + +// @public +export type AggregationFunctionType = string; + +// @public +export type AuthenticationName = string; + +// @public +export type AutoExecuteStatus = "Enabled" | "Disabled" | "Default"; + +// @public +export type AutoExecuteStatusInheritedFrom = "Default" | "Subscription" | "Server" | "ElasticPool" | "Database"; + +// @public +export type AutomaticTuningDisabledReason = "Default" | "Disabled" | "AutoConfigured" | "InheritedFromServer" | "QueryStoreOff" | "QueryStoreReadOnly" | "NotSupported"; + +// @public +export type AutomaticTuningMode = "Inherit" | "Custom" | "Auto" | "Unspecified"; + +// @public +export type AutomaticTuningOptionModeActual = "Off" | "On"; + +// @public +export type AutomaticTuningOptionModeDesired = "Off" | "On" | "Default"; + +// @public +export interface AutomaticTuningOptions { + readonly actualState?: AutomaticTuningOptionModeActual; + desiredState?: AutomaticTuningOptionModeDesired; + readonly reasonCode?: number; + readonly reasonDesc?: AutomaticTuningDisabledReason; +} + +// @public +export type AutomaticTuningServerMode = "Custom" | "Auto" | "Unspecified"; + +// @public +export interface AutomaticTuningServerOptions { + readonly actualState?: AutomaticTuningOptionModeActual; + desiredState?: AutomaticTuningOptionModeDesired; + readonly reasonCode?: number; + readonly reasonDesc?: AutomaticTuningServerReason; +} + +// @public +export type AutomaticTuningServerReason = "Default" | "Disabled" | "AutoConfigured"; + +// @public +export interface AutoPauseDelayTimeRange { + readonly default?: number; + readonly doNotPauseValue?: number; + readonly maxValue?: number; + readonly minValue?: number; + readonly stepSize?: number; + readonly unit?: PauseDelayTimeUnit; +} + +// @public +export interface AzureADOnlyAuthListResult { + readonly nextLink?: string; + readonly value?: ServerAzureADOnlyAuthentication[]; +} + +// @public +export interface BackupShortTermRetentionPolicies { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, parameters: BackupShortTermRetentionPolicy, options?: BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise, BackupShortTermRetentionPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, parameters: BackupShortTermRetentionPolicy, options?: BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, parameters: BackupShortTermRetentionPolicy, options?: BackupShortTermRetentionPoliciesUpdateOptionalParams): Promise, BackupShortTermRetentionPoliciesUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, parameters: BackupShortTermRetentionPolicy, options?: BackupShortTermRetentionPoliciesUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, options?: BackupShortTermRetentionPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: BackupShortTermRetentionPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type BackupShortTermRetentionPoliciesCreateOrUpdateResponse = BackupShortTermRetentionPolicy; + +// @public +export interface BackupShortTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type BackupShortTermRetentionPoliciesGetResponse = BackupShortTermRetentionPolicy; + +// @public +export interface BackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type BackupShortTermRetentionPoliciesListByDatabaseNextResponse = BackupShortTermRetentionPolicyListResult; + +// @public +export interface BackupShortTermRetentionPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type BackupShortTermRetentionPoliciesListByDatabaseResponse = BackupShortTermRetentionPolicyListResult; + +// @public +export interface BackupShortTermRetentionPoliciesUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type BackupShortTermRetentionPoliciesUpdateResponse = BackupShortTermRetentionPolicy; + +// @public +export type BackupShortTermRetentionPolicy = ProxyResource & { + retentionDays?: number; + diffBackupIntervalInHours?: DiffBackupIntervalInHours; +}; + +// @public +export interface BackupShortTermRetentionPolicyListResult { + readonly nextLink?: string; + readonly value?: BackupShortTermRetentionPolicy[]; +} + +// @public +export type BackupStorageRedundancy = string; + +// @public +export type BlobAuditingPolicyState = "Enabled" | "Disabled"; + +// @public +export interface Capabilities { + listByLocation(locationName: string, options?: CapabilitiesListByLocationOptionalParams): Promise; +} + +// @public +export interface CapabilitiesListByLocationOptionalParams extends coreClient.OperationOptions { + include?: CapabilityGroup; +} + +// @public +export type CapabilitiesListByLocationResponse = LocationCapabilities; + +// @public +export type CapabilityGroup = string; + +// @public +export type CapabilityStatus = "Visible" | "Available" | "Default" | "Disabled"; + +// @public +export type CatalogCollationType = string; + +// @public +export type CheckNameAvailabilityReason = "Invalid" | "AlreadyExists"; + +// @public +export interface CheckNameAvailabilityRequest { + // (undocumented) + name: string; + // (undocumented) + type: "Microsoft.Sql/servers"; +} + +// @public +export interface CheckNameAvailabilityResponse { + readonly available?: boolean; + readonly message?: string; + readonly name?: string; + readonly reason?: CheckNameAvailabilityReason; +} + +// @public +export type ColumnDataType = string; + +// @public +export interface CompleteDatabaseRestoreDefinition { + lastBackupName: string; +} + +// @public +export type ConnectionPolicyName = string; + +// @public +export interface CopyLongTermRetentionBackupParameters { + targetBackupStorageRedundancy?: TargetBackupStorageRedundancy; + targetDatabaseName?: string; + targetResourceGroup?: string; + targetServerFullyQualifiedDomainName?: string; + targetServerResourceId?: string; + targetSubscriptionId?: string; +} + +// @public +export interface CreateDatabaseRestorePointDefinition { + restorePointLabel: string; +} + +// @public +export type CreatedByType = string; + +// @public +export type CreateMode = string; + +// @public +export type CurrentBackupStorageRedundancy = string; + +// @public +export type Database = TrackedResource & { + sku?: Sku; + readonly kind?: string; + readonly managedBy?: string; + createMode?: CreateMode; + collation?: string; + maxSizeBytes?: number; + sampleName?: SampleName; + elasticPoolId?: string; + sourceDatabaseId?: string; + readonly status?: DatabaseStatus; + readonly databaseId?: string; + readonly creationDate?: Date; + readonly currentServiceObjectiveName?: string; + readonly requestedServiceObjectiveName?: string; + readonly defaultSecondaryLocation?: string; + readonly failoverGroupId?: string; + restorePointInTime?: Date; + sourceDatabaseDeletionDate?: Date; + recoveryServicesRecoveryPointId?: string; + longTermRetentionBackupResourceId?: string; + recoverableDatabaseId?: string; + restorableDroppedDatabaseId?: string; + catalogCollation?: CatalogCollationType; + zoneRedundant?: boolean; + licenseType?: DatabaseLicenseType; + readonly maxLogSizeBytes?: number; + readonly earliestRestoreDate?: Date; + readScale?: DatabaseReadScale; + highAvailabilityReplicaCount?: number; + secondaryType?: SecondaryType; + readonly currentSku?: Sku; + autoPauseDelay?: number; + readonly currentBackupStorageRedundancy?: CurrentBackupStorageRedundancy; + requestedBackupStorageRedundancy?: RequestedBackupStorageRedundancy; + minCapacity?: number; + readonly pausedDate?: Date; + readonly resumedDate?: Date; + maintenanceConfigurationId?: string; + isLedgerOn?: boolean; + readonly isInfraEncryptionEnabled?: boolean; +}; + +// @public +export interface DatabaseAdvisors { + get(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, options?: DatabaseAdvisorsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseAdvisorsListByDatabaseOptionalParams): Promise; + update(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, parameters: Advisor, options?: DatabaseAdvisorsUpdateOptionalParams): Promise; +} + +// @public +export interface DatabaseAdvisorsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseAdvisorsGetResponse = Advisor; + +// @public +export interface DatabaseAdvisorsListByDatabaseOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type DatabaseAdvisorsListByDatabaseResponse = Advisor[]; + +// @public +export interface DatabaseAdvisorsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseAdvisorsUpdateResponse = Advisor; + +// @public +export type DatabaseAutomaticTuning = ProxyResource & { + desiredState?: AutomaticTuningMode; + readonly actualState?: AutomaticTuningMode; + options?: { + [propertyName: string]: AutomaticTuningOptions; + }; +}; + +// @public +export interface DatabaseAutomaticTuningOperations { + get(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseAutomaticTuningOperationsGetOptionalParams): Promise; + update(resourceGroupName: string, serverName: string, databaseName: string, parameters: DatabaseAutomaticTuning, options?: DatabaseAutomaticTuningOperationsUpdateOptionalParams): Promise; +} + +// @public +export interface DatabaseAutomaticTuningOperationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseAutomaticTuningOperationsGetResponse = DatabaseAutomaticTuning; + +// @public +export interface DatabaseAutomaticTuningOperationsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseAutomaticTuningOperationsUpdateResponse = DatabaseAutomaticTuning; + +// @public +export interface DatabaseBlobAuditingPolicies { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: DatabaseBlobAuditingPolicy, options?: DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseBlobAuditingPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseBlobAuditingPoliciesCreateOrUpdateResponse = DatabaseBlobAuditingPolicy; + +// @public +export interface DatabaseBlobAuditingPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseBlobAuditingPoliciesGetResponse = DatabaseBlobAuditingPolicy; + +// @public +export interface DatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseBlobAuditingPoliciesListByDatabaseNextResponse = DatabaseBlobAuditingPolicyListResult; + +// @public +export interface DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseBlobAuditingPoliciesListByDatabaseResponse = DatabaseBlobAuditingPolicyListResult; + +// @public +export type DatabaseBlobAuditingPolicy = ProxyResource & { + readonly kind?: string; + retentionDays?: number; + auditActionsAndGroups?: string[]; + isStorageSecondaryKeyInUse?: boolean; + isAzureMonitorTargetEnabled?: boolean; + queueDelayMs?: number; + state?: BlobAuditingPolicyState; + storageEndpoint?: string; + storageAccountAccessKey?: string; + storageAccountSubscriptionId?: string; +}; + +// @public +export interface DatabaseBlobAuditingPolicyListResult { + readonly nextLink?: string; + readonly value?: DatabaseBlobAuditingPolicy[]; +} + +// @public +export type DatabaseColumn = ProxyResource & { + columnType?: ColumnDataType; + temporalType?: TableTemporalType; + memoryOptimized?: boolean; + isComputed?: boolean; +}; + +// @public +export interface DatabaseColumnListResult { + readonly nextLink?: string; + readonly value?: DatabaseColumn[]; +} + +// @public +export interface DatabaseColumns { + get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: DatabaseColumnsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseColumnsListByDatabaseOptionalParams): PagedAsyncIterableIterator; + listByTable(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, options?: DatabaseColumnsListByTableOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseColumnsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseColumnsGetResponse = DatabaseColumn; + +// @public +export interface DatabaseColumnsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { + column?: string[]; + orderBy?: string[]; + schema?: string[]; + skiptoken?: string; + table?: string[]; +} + +// @public +export type DatabaseColumnsListByDatabaseNextResponse = DatabaseColumnListResult; + +// @public +export interface DatabaseColumnsListByDatabaseOptionalParams extends coreClient.OperationOptions { + column?: string[]; + orderBy?: string[]; + schema?: string[]; + skiptoken?: string; + table?: string[]; +} + +// @public +export type DatabaseColumnsListByDatabaseResponse = DatabaseColumnListResult; + +// @public +export interface DatabaseColumnsListByTableNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type DatabaseColumnsListByTableNextResponse = DatabaseColumnListResult; + +// @public +export interface DatabaseColumnsListByTableOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type DatabaseColumnsListByTableResponse = DatabaseColumnListResult; + +// @public +export type DatabaseExtensions = ProxyResource & { + operationMode?: OperationMode; + storageKeyType?: StorageKeyType; + storageKey?: string; + storageUri?: string; +}; + +// @public +export interface DatabaseExtensionsOperations { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, extensionName: string, parameters: DatabaseExtensions, options?: DatabaseExtensionsOperationsCreateOrUpdateOptionalParams): Promise, DatabaseExtensionsOperationsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, extensionName: string, parameters: DatabaseExtensions, options?: DatabaseExtensionsOperationsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, extensionName: string, options?: DatabaseExtensionsOperationsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseExtensionsOperationsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseExtensionsOperationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabaseExtensionsOperationsCreateOrUpdateResponse = ImportExportExtensionsOperationResult; + +// @public +export interface DatabaseExtensionsOperationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DatabaseExtensionsOperationsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseExtensionsOperationsListByDatabaseNextResponse = ImportExportExtensionsOperationListResult; + +// @public +export interface DatabaseExtensionsOperationsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseExtensionsOperationsListByDatabaseResponse = ImportExportExtensionsOperationListResult; + +// @public +export type DatabaseLicenseType = string; + +// @public +export interface DatabaseListResult { + readonly nextLink?: string; + readonly value?: Database[]; +} + +// @public +export type DatabaseOperation = ProxyResource & { + readonly databaseName?: string; + readonly operation?: string; + readonly operationFriendlyName?: string; + readonly percentComplete?: number; + readonly serverName?: string; + readonly startTime?: Date; + readonly state?: ManagementOperationState; + readonly errorCode?: number; + readonly errorDescription?: string; + readonly errorSeverity?: number; + readonly isUserError?: boolean; + readonly estimatedCompletionTime?: Date; + readonly description?: string; + readonly isCancellable?: boolean; +}; + +// @public +export interface DatabaseOperationListResult { + readonly nextLink?: string; + readonly value?: DatabaseOperation[]; +} + +// @public +export interface DatabaseOperations { + cancel(resourceGroupName: string, serverName: string, databaseName: string, operationId: string, options?: DatabaseOperationsCancelOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseOperationsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseOperationsCancelOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DatabaseOperationsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseOperationsListByDatabaseNextResponse = DatabaseOperationListResult; + +// @public +export interface DatabaseOperationsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseOperationsListByDatabaseResponse = DatabaseOperationListResult; + +// @public +export type DatabaseReadScale = string; + +// @public +export interface DatabaseRecommendedActions { + get(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, recommendedActionName: string, options?: DatabaseRecommendedActionsGetOptionalParams): Promise; + listByDatabaseAdvisor(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, options?: DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams): Promise; + update(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, recommendedActionName: string, parameters: RecommendedAction, options?: DatabaseRecommendedActionsUpdateOptionalParams): Promise; +} + +// @public +export interface DatabaseRecommendedActionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseRecommendedActionsGetResponse = RecommendedAction; + +// @public +export interface DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseRecommendedActionsListByDatabaseAdvisorResponse = RecommendedAction[]; + +// @public +export interface DatabaseRecommendedActionsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseRecommendedActionsUpdateResponse = RecommendedAction; + +// @public +export interface Databases { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOrUpdateOptionalParams): Promise, DatabasesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise; + beginExport(resourceGroupName: string, serverName: string, databaseName: string, parameters: ExportDatabaseDefinition, options?: DatabasesExportOptionalParams): Promise, DatabasesExportResponse>>; + beginExportAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: ExportDatabaseDefinition, options?: DatabasesExportOptionalParams): Promise; + beginFailover(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesFailoverOptionalParams): Promise, void>>; + beginFailoverAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesFailoverOptionalParams): Promise; + beginImport(resourceGroupName: string, serverName: string, databaseName: string, parameters: ImportExistingDatabaseDefinition, options?: DatabasesImportOptionalParams): Promise, DatabasesImportResponse>>; + beginImportAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: ImportExistingDatabaseDefinition, options?: DatabasesImportOptionalParams): Promise; + beginPause(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesPauseOptionalParams): Promise, DatabasesPauseResponse>>; + beginPauseAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesPauseOptionalParams): Promise; + beginResume(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesResumeOptionalParams): Promise, DatabasesResumeResponse>>; + beginResumeAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesResumeOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: DatabaseUpdate, options?: DatabasesUpdateOptionalParams): Promise, DatabasesUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: DatabaseUpdate, options?: DatabasesUpdateOptionalParams): Promise; + beginUpgradeDataWarehouse(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesUpgradeDataWarehouseOptionalParams): Promise, void>>; + beginUpgradeDataWarehouseAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesUpgradeDataWarehouseOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesGetOptionalParams): Promise; + listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: DatabasesListByElasticPoolOptionalParams): PagedAsyncIterableIterator; + listByServer(resourceGroupName: string, serverName: string, options?: DatabasesListByServerOptionalParams): PagedAsyncIterableIterator; + listInaccessibleByServer(resourceGroupName: string, serverName: string, options?: DatabasesListInaccessibleByServerOptionalParams): PagedAsyncIterableIterator; + listMetricDefinitions(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesListMetricDefinitionsOptionalParams): PagedAsyncIterableIterator; + listMetrics(resourceGroupName: string, serverName: string, databaseName: string, filter: string, options?: DatabasesListMetricsOptionalParams): PagedAsyncIterableIterator; + rename(resourceGroupName: string, serverName: string, databaseName: string, parameters: ResourceMoveDefinition, options?: DatabasesRenameOptionalParams): Promise; +} + +// @public +export type DatabaseSchema = ProxyResource & {}; + +// @public +export interface DatabaseSchemaListResult { + readonly nextLink?: string; + readonly value?: DatabaseSchema[]; +} + +// @public +export interface DatabaseSchemas { + get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, options?: DatabaseSchemasGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseSchemasListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseSchemasGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseSchemasGetResponse = DatabaseSchema; + +// @public +export interface DatabaseSchemasListByDatabaseNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type DatabaseSchemasListByDatabaseNextResponse = DatabaseSchemaListResult; + +// @public +export interface DatabaseSchemasListByDatabaseOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type DatabaseSchemasListByDatabaseResponse = DatabaseSchemaListResult; + +// @public +export interface DatabasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabasesCreateOrUpdateResponse = Database; + +// @public +export interface DatabasesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DatabaseSecurityAlertListResult { + readonly nextLink?: string; + readonly value?: DatabaseSecurityAlertPolicy[]; +} + +// @public +export interface DatabaseSecurityAlertPolicies { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: DatabaseSecurityAlertPolicy, options?: DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: DatabaseSecurityAlertPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseSecurityAlertPoliciesCreateOrUpdateResponse = DatabaseSecurityAlertPolicy; + +// @public +export interface DatabaseSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseSecurityAlertPoliciesGetResponse = DatabaseSecurityAlertPolicy; + +// @public +export interface DatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseSecurityAlertPoliciesListByDatabaseNextResponse = DatabaseSecurityAlertListResult; + +// @public +export interface DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseSecurityAlertPoliciesListByDatabaseResponse = DatabaseSecurityAlertListResult; + +// @public +export type DatabaseSecurityAlertPolicy = ProxyResource & { + readonly systemData?: SystemData; + state?: SecurityAlertsPolicyState; + disabledAlerts?: string[]; + emailAddresses?: string[]; + emailAccountAdmins?: boolean; + storageEndpoint?: string; + storageAccountAccessKey?: string; + retentionDays?: number; + readonly creationTime?: Date; +}; + +// @public +export interface DatabasesExportOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabasesExportResponse = ImportExportOperationResult; + +// @public +export interface DatabasesFailoverOptionalParams extends coreClient.OperationOptions { + replicaType?: ReplicaType; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DatabasesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesGetResponse = Database; + +// @public +export interface DatabasesImportOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabasesImportResponse = ImportExportOperationResult; + +// @public +export interface DatabasesListByElasticPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesListByElasticPoolNextResponse = DatabaseListResult; + +// @public +export interface DatabasesListByElasticPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesListByElasticPoolResponse = DatabaseListResult; + +// @public +export interface DatabasesListByServerNextOptionalParams extends coreClient.OperationOptions { + // (undocumented) + skipToken?: string; +} + +// @public +export type DatabasesListByServerNextResponse = DatabaseListResult; + +// @public +export interface DatabasesListByServerOptionalParams extends coreClient.OperationOptions { + // (undocumented) + skipToken?: string; +} + +// @public +export type DatabasesListByServerResponse = DatabaseListResult; + +// @public +export interface DatabasesListInaccessibleByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesListInaccessibleByServerNextResponse = DatabaseListResult; + +// @public +export interface DatabasesListInaccessibleByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesListInaccessibleByServerResponse = DatabaseListResult; + +// @public +export interface DatabasesListMetricDefinitionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesListMetricDefinitionsResponse = MetricDefinitionListResult; + +// @public +export interface DatabasesListMetricsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabasesListMetricsResponse = MetricListResult; + +// @public +export interface DatabasesPauseOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabasesPauseResponse = Database; + +// @public +export interface DatabasesRenameOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DatabasesResumeOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabasesResumeResponse = Database; + +// @public +export type DatabaseState = string; + +// @public +export type DatabaseStatus = string; + +// @public +export interface DatabasesUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabasesUpdateResponse = Database; + +// @public +export interface DatabasesUpgradeDataWarehouseOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatabaseTable = ProxyResource & { + temporalType?: TableTemporalType; + memoryOptimized?: boolean; +}; + +// @public +export interface DatabaseTableListResult { + readonly nextLink?: string; + readonly value?: DatabaseTable[]; +} + +// @public +export interface DatabaseTables { + get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, options?: DatabaseTablesGetOptionalParams): Promise; + listBySchema(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, options?: DatabaseTablesListBySchemaOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseTablesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseTablesGetResponse = DatabaseTable; + +// @public +export interface DatabaseTablesListBySchemaNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type DatabaseTablesListBySchemaNextResponse = DatabaseTableListResult; + +// @public +export interface DatabaseTablesListBySchemaOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type DatabaseTablesListBySchemaResponse = DatabaseTableListResult; + +// @public +export interface DatabaseUpdate { + autoPauseDelay?: number; + catalogCollation?: CatalogCollationType; + collation?: string; + createMode?: CreateMode; + readonly creationDate?: Date; + readonly currentBackupStorageRedundancy?: CurrentBackupStorageRedundancy; + readonly currentServiceObjectiveName?: string; + readonly currentSku?: Sku; + readonly databaseId?: string; + readonly defaultSecondaryLocation?: string; + readonly earliestRestoreDate?: Date; + elasticPoolId?: string; + readonly failoverGroupId?: string; + highAvailabilityReplicaCount?: number; + readonly isInfraEncryptionEnabled?: boolean; + isLedgerOn?: boolean; + licenseType?: DatabaseLicenseType; + longTermRetentionBackupResourceId?: string; + maintenanceConfigurationId?: string; + readonly maxLogSizeBytes?: number; + maxSizeBytes?: number; + minCapacity?: number; + readonly pausedDate?: Date; + readScale?: DatabaseReadScale; + recoverableDatabaseId?: string; + recoveryServicesRecoveryPointId?: string; + requestedBackupStorageRedundancy?: RequestedBackupStorageRedundancy; + readonly requestedServiceObjectiveName?: string; + restorableDroppedDatabaseId?: string; + restorePointInTime?: Date; + readonly resumedDate?: Date; + sampleName?: SampleName; + secondaryType?: SecondaryType; + sku?: Sku; + sourceDatabaseDeletionDate?: Date; + sourceDatabaseId?: string; + readonly status?: DatabaseStatus; + tags?: { + [propertyName: string]: string; + }; + zoneRedundant?: boolean; +} + +// @public +export type DatabaseUsage = ProxyResource & { + readonly displayName?: string; + readonly currentValue?: number; + readonly limit?: number; + readonly unit?: string; +}; + +// @public +export interface DatabaseUsageListResult { + readonly nextLink?: string; + readonly value?: DatabaseUsage[]; +} + +// @public +export interface DatabaseUsages { + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseUsagesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseUsagesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseUsagesListByDatabaseNextResponse = DatabaseUsageListResult; + +// @public +export interface DatabaseUsagesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseUsagesListByDatabaseResponse = DatabaseUsageListResult; + +// @public +export type DatabaseVulnerabilityAssessment = ProxyResource & { + storageContainerPath?: string; + storageContainerSasKey?: string; + storageAccountAccessKey?: string; + recurringScans?: VulnerabilityAssessmentRecurringScansProperties; +}; + +// @public +export interface DatabaseVulnerabilityAssessmentListResult { + readonly nextLink?: string; + readonly value?: DatabaseVulnerabilityAssessment[]; +} + +// @public +export type DatabaseVulnerabilityAssessmentRuleBaseline = ProxyResource & { + baselineResults?: DatabaseVulnerabilityAssessmentRuleBaselineItem[]; +}; + +// @public +export interface DatabaseVulnerabilityAssessmentRuleBaselineItem { + result: string[]; +} + +// @public +export interface DatabaseVulnerabilityAssessmentRuleBaselines { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, parameters: DatabaseVulnerabilityAssessmentRuleBaseline, options?: DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, options?: DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, options?: DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams): Promise; +} + +// @public +export interface DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseVulnerabilityAssessmentRuleBaseline; + +// @public +export interface DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseVulnerabilityAssessmentRuleBaseline; + +// @public +export interface DatabaseVulnerabilityAssessments { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: DatabaseVulnerabilityAssessment, options?: DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseVulnerabilityAssessmentsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseVulnerabilityAssessmentsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatabaseVulnerabilityAssessmentScans { + beginInitiateScan(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams): Promise, void>>; + beginInitiateScanAndWait(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams): Promise; + export(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseVulnerabilityAssessmentScansExportOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseVulnerabilityAssessmentScansGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export type DatabaseVulnerabilityAssessmentScansExport = ProxyResource & { + readonly exportedReportLocation?: string; +}; + +// @public +export interface DatabaseVulnerabilityAssessmentScansExportOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentScansExportResponse = DatabaseVulnerabilityAssessmentScansExport; + +// @public +export interface DatabaseVulnerabilityAssessmentScansGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentScansGetResponse = VulnerabilityAssessmentScanRecord; + +// @public +export interface DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse = VulnerabilityAssessmentScanRecordListResult; + +// @public +export interface DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentScansListByDatabaseResponse = VulnerabilityAssessmentScanRecordListResult; + +// @public +export interface DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentsCreateOrUpdateResponse = DatabaseVulnerabilityAssessment; + +// @public +export interface DatabaseVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface DatabaseVulnerabilityAssessmentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentsGetResponse = DatabaseVulnerabilityAssessment; + +// @public +export interface DatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentsListByDatabaseNextResponse = DatabaseVulnerabilityAssessmentListResult; + +// @public +export interface DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatabaseVulnerabilityAssessmentsListByDatabaseResponse = DatabaseVulnerabilityAssessmentListResult; + +// @public +export type DataMaskingFunction = "Default" | "CCN" | "Email" | "Number" | "SSN" | "Text"; + +// @public +export interface DataMaskingPolicies { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: DataMaskingPolicy, options?: DataMaskingPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, options?: DataMaskingPoliciesGetOptionalParams): Promise; +} + +// @public +export interface DataMaskingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataMaskingPoliciesCreateOrUpdateResponse = DataMaskingPolicy; + +// @public +export interface DataMaskingPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataMaskingPoliciesGetResponse = DataMaskingPolicy; + +// @public +export type DataMaskingPolicy = ProxyResource & { + readonly location?: string; + readonly kind?: string; + dataMaskingState?: DataMaskingState; + exemptPrincipals?: string; + readonly applicationPrincipals?: string; + readonly maskingLevel?: string; +}; + +// @public +export type DataMaskingRule = ProxyResource & { + readonly location?: string; + readonly kind?: string; + readonly idPropertiesId?: string; + aliasName?: string; + ruleState?: DataMaskingRuleState; + schemaName?: string; + tableName?: string; + columnName?: string; + maskingFunction?: DataMaskingFunction; + numberFrom?: string; + numberTo?: string; + prefixSize?: string; + suffixSize?: string; + replacementString?: string; +}; + +// @public +export interface DataMaskingRuleListResult { + value?: DataMaskingRule[]; +} + +// @public +export interface DataMaskingRules { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, dataMaskingRuleName: string, parameters: DataMaskingRule, options?: DataMaskingRulesCreateOrUpdateOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DataMaskingRulesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DataMaskingRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataMaskingRulesCreateOrUpdateResponse = DataMaskingRule; + +// @public +export interface DataMaskingRulesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataMaskingRulesListByDatabaseResponse = DataMaskingRuleListResult; + +// @public +export type DataMaskingRuleState = "Disabled" | "Enabled"; + +// @public +export type DataMaskingState = "Disabled" | "Enabled"; + +// @public +export type DataWarehouseUserActivities = ProxyResource & { + readonly activeQueriesCount?: number; +}; + +// @public +export interface DataWarehouseUserActivitiesListResult { + readonly nextLink?: string; + readonly value?: DataWarehouseUserActivities[]; +} + +// @public +export interface DataWarehouseUserActivitiesOperations { + get(resourceGroupName: string, serverName: string, databaseName: string, dataWarehouseUserActivityName: DataWarehouseUserActivityName, options?: DataWarehouseUserActivitiesOperationsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DataWarehouseUserActivitiesOperationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataWarehouseUserActivitiesOperationsGetResponse = DataWarehouseUserActivities; + +// @public +export interface DataWarehouseUserActivitiesOperationsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataWarehouseUserActivitiesOperationsListByDatabaseNextResponse = DataWarehouseUserActivitiesListResult; + +// @public +export interface DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataWarehouseUserActivitiesOperationsListByDatabaseResponse = DataWarehouseUserActivitiesListResult; + +// @public +export type DataWarehouseUserActivityName = string; + +// @public +export type DayOfWeek = string; + +// @public +export type DeletedServer = ProxyResource & { + readonly version?: string; + readonly deletionTime?: Date; + readonly originalId?: string; + readonly fullyQualifiedDomainName?: string; +}; + +// @public +export interface DeletedServerListResult { + readonly nextLink?: string; + readonly value?: DeletedServer[]; +} + +// @public +export interface DeletedServers { + beginRecover(locationName: string, deletedServerName: string, options?: DeletedServersRecoverOptionalParams): Promise, DeletedServersRecoverResponse>>; + beginRecoverAndWait(locationName: string, deletedServerName: string, options?: DeletedServersRecoverOptionalParams): Promise; + get(locationName: string, deletedServerName: string, options?: DeletedServersGetOptionalParams): Promise; + list(options?: DeletedServersListOptionalParams): PagedAsyncIterableIterator; + listByLocation(locationName: string, options?: DeletedServersListByLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DeletedServersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedServersGetResponse = DeletedServer; + +// @public +export interface DeletedServersListByLocationNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedServersListByLocationNextResponse = DeletedServerListResult; + +// @public +export interface DeletedServersListByLocationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedServersListByLocationResponse = DeletedServerListResult; + +// @public +export interface DeletedServersListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedServersListNextResponse = DeletedServerListResult; + +// @public +export interface DeletedServersListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeletedServersListResponse = DeletedServerListResult; + +// @public +export interface DeletedServersRecoverOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DeletedServersRecoverResponse = DeletedServer; + +// @public +export type DiffBackupIntervalInHours = number; + +// @public +export type DnsRefreshConfigurationPropertiesStatus = string; + +// @public +export interface EditionCapability { + readonly name?: string; + readonly readScale?: ReadScaleCapability; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedServiceLevelObjectives?: ServiceObjectiveCapability[]; + readonly supportedStorageCapabilities?: StorageCapability[]; + readonly zoneRedundant?: boolean; +} + +// @public +export type ElasticPool = TrackedResource & { + sku?: Sku; + readonly kind?: string; + readonly state?: ElasticPoolState; + readonly creationDate?: Date; + maxSizeBytes?: number; + perDatabaseSettings?: ElasticPoolPerDatabaseSettings; + zoneRedundant?: boolean; + licenseType?: ElasticPoolLicenseType; + maintenanceConfigurationId?: string; +}; + +// @public +export interface ElasticPoolActivities { + listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolActivitiesListByElasticPoolOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ElasticPoolActivitiesListByElasticPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ElasticPoolActivitiesListByElasticPoolResponse = ElasticPoolActivityListResult; + +// @public +export type ElasticPoolActivity = ProxyResource & { + location?: string; + readonly endTime?: Date; + readonly errorCode?: number; + readonly errorMessage?: string; + readonly errorSeverity?: number; + readonly operation?: string; + readonly operationId?: string; + readonly percentComplete?: number; + readonly requestedDatabaseDtuMax?: number; + readonly requestedDatabaseDtuMin?: number; + readonly requestedDtu?: number; + readonly requestedElasticPoolName?: string; + readonly requestedStorageLimitInGB?: number; + readonly elasticPoolName?: string; + readonly serverName?: string; + readonly startTime?: Date; + readonly state?: string; + readonly requestedStorageLimitInMB?: number; + readonly requestedDatabaseDtuGuarantee?: number; + readonly requestedDatabaseDtuCap?: number; + readonly requestedDtuGuarantee?: number; +}; + +// @public +export interface ElasticPoolActivityListResult { + value: ElasticPoolActivity[]; +} + +// @public +export interface ElasticPoolDatabaseActivities { + listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ElasticPoolDatabaseActivitiesListByElasticPoolResponse = ElasticPoolDatabaseActivityListResult; + +// @public +export type ElasticPoolDatabaseActivity = ProxyResource & { + location?: string; + readonly databaseName?: string; + readonly endTime?: Date; + readonly errorCode?: number; + readonly errorMessage?: string; + readonly errorSeverity?: number; + readonly operation?: string; + readonly operationId?: string; + readonly percentComplete?: number; + readonly requestedElasticPoolName?: string; + readonly currentElasticPoolName?: string; + readonly currentServiceObjective?: string; + readonly requestedServiceObjective?: string; + readonly serverName?: string; + readonly startTime?: Date; + readonly state?: string; +}; + +// @public +export interface ElasticPoolDatabaseActivityListResult { + value: ElasticPoolDatabaseActivity[]; +} + +// @public +export interface ElasticPoolEditionCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedElasticPoolPerformanceLevels?: ElasticPoolPerformanceLevelCapability[]; + readonly zoneRedundant?: boolean; +} + +// @public +export type ElasticPoolLicenseType = string; + +// @public +export interface ElasticPoolListResult { + readonly nextLink?: string; + readonly value?: ElasticPool[]; +} + +// @public +export type ElasticPoolOperation = ProxyResource & { + readonly elasticPoolName?: string; + readonly operation?: string; + readonly operationFriendlyName?: string; + readonly percentComplete?: number; + readonly serverName?: string; + readonly startTime?: Date; + readonly state?: string; + readonly errorCode?: number; + readonly errorDescription?: string; + readonly errorSeverity?: number; + readonly isUserError?: boolean; + readonly estimatedCompletionTime?: Date; + readonly description?: string; + readonly isCancellable?: boolean; +}; + +// @public +export interface ElasticPoolOperationListResult { + readonly nextLink?: string; + readonly value?: ElasticPoolOperation[]; +} + +// @public +export interface ElasticPoolOperations { + cancel(resourceGroupName: string, serverName: string, elasticPoolName: string, operationId: string, options?: ElasticPoolOperationsCancelOptionalParams): Promise; + listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolOperationsListByElasticPoolOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ElasticPoolOperationsCancelOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ElasticPoolOperationsListByElasticPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ElasticPoolOperationsListByElasticPoolNextResponse = ElasticPoolOperationListResult; + +// @public +export interface ElasticPoolOperationsListByElasticPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ElasticPoolOperationsListByElasticPoolResponse = ElasticPoolOperationListResult; + +// @public +export interface ElasticPoolPerDatabaseMaxPerformanceLevelCapability { + readonly limit?: number; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedPerDatabaseMinPerformanceLevels?: ElasticPoolPerDatabaseMinPerformanceLevelCapability[]; + readonly unit?: PerformanceLevelUnit; +} + +// @public +export interface ElasticPoolPerDatabaseMinPerformanceLevelCapability { + readonly limit?: number; + reason?: string; + readonly status?: CapabilityStatus; + readonly unit?: PerformanceLevelUnit; +} + +// @public +export interface ElasticPoolPerDatabaseSettings { + maxCapacity?: number; + minCapacity?: number; +} + +// @public +export interface ElasticPoolPerformanceLevelCapability { + readonly includedMaxSize?: MaxSizeCapability; + readonly maxDatabaseCount?: number; + readonly performanceLevel?: PerformanceLevelCapability; + reason?: string; + readonly sku?: Sku; + readonly status?: CapabilityStatus; + readonly supportedLicenseTypes?: LicenseTypeCapability[]; + readonly supportedMaintenanceConfigurations?: MaintenanceConfigurationCapability[]; + readonly supportedMaxSizes?: MaxSizeRangeCapability[]; + readonly supportedPerDatabaseMaxPerformanceLevels?: ElasticPoolPerDatabaseMaxPerformanceLevelCapability[]; + readonly supportedPerDatabaseMaxSizes?: MaxSizeRangeCapability[]; + readonly zoneRedundant?: boolean; +} + +// @public +export interface ElasticPools { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: ElasticPool, options?: ElasticPoolsCreateOrUpdateOptionalParams): Promise, ElasticPoolsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: ElasticPool, options?: ElasticPoolsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsDeleteOptionalParams): Promise; + beginFailover(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsFailoverOptionalParams): Promise, void>>; + beginFailoverAndWait(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsFailoverOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: ElasticPoolUpdate, options?: ElasticPoolsUpdateOptionalParams): Promise, ElasticPoolsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: ElasticPoolUpdate, options?: ElasticPoolsUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ElasticPoolsListByServerOptionalParams): PagedAsyncIterableIterator; + listMetricDefinitions(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsListMetricDefinitionsOptionalParams): PagedAsyncIterableIterator; + listMetrics(resourceGroupName: string, serverName: string, elasticPoolName: string, filter: string, options?: ElasticPoolsListMetricsOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ElasticPoolsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ElasticPoolsCreateOrUpdateResponse = ElasticPool; + +// @public +export interface ElasticPoolsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ElasticPoolsFailoverOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ElasticPoolsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ElasticPoolsGetResponse = ElasticPool; + +// @public +export interface ElasticPoolsListByServerNextOptionalParams extends coreClient.OperationOptions { + skip?: number; +} + +// @public +export type ElasticPoolsListByServerNextResponse = ElasticPoolListResult; + +// @public +export interface ElasticPoolsListByServerOptionalParams extends coreClient.OperationOptions { + skip?: number; +} + +// @public +export type ElasticPoolsListByServerResponse = ElasticPoolListResult; + +// @public +export interface ElasticPoolsListMetricDefinitionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ElasticPoolsListMetricDefinitionsResponse = MetricDefinitionListResult; + +// @public +export interface ElasticPoolsListMetricsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ElasticPoolsListMetricsResponse = MetricListResult; + +// @public +export type ElasticPoolState = string; + +// @public +export interface ElasticPoolsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ElasticPoolsUpdateResponse = ElasticPool; + +// @public +export interface ElasticPoolUpdate { + licenseType?: ElasticPoolLicenseType; + maintenanceConfigurationId?: string; + maxSizeBytes?: number; + perDatabaseSettings?: ElasticPoolPerDatabaseSettings; + sku?: Sku; + tags?: { + [propertyName: string]: string; + }; + zoneRedundant?: boolean; +} + +// @public +export type EncryptionProtector = ProxyResource & { + readonly kind?: string; + readonly location?: string; + readonly subregion?: string; + serverKeyName?: string; + serverKeyType?: ServerKeyType; + readonly uri?: string; + readonly thumbprint?: string; + autoRotationEnabled?: boolean; +}; + +// @public +export interface EncryptionProtectorListResult { + readonly nextLink?: string; + readonly value?: EncryptionProtector[]; +} + +// @public +export type EncryptionProtectorName = string; + +// @public +export interface EncryptionProtectors { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, parameters: EncryptionProtector, options?: EncryptionProtectorsCreateOrUpdateOptionalParams): Promise, EncryptionProtectorsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, parameters: EncryptionProtector, options?: EncryptionProtectorsCreateOrUpdateOptionalParams): Promise; + beginRevalidate(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, options?: EncryptionProtectorsRevalidateOptionalParams): Promise, void>>; + beginRevalidateAndWait(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, options?: EncryptionProtectorsRevalidateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, options?: EncryptionProtectorsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: EncryptionProtectorsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface EncryptionProtectorsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type EncryptionProtectorsCreateOrUpdateResponse = EncryptionProtector; + +// @public +export interface EncryptionProtectorsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EncryptionProtectorsGetResponse = EncryptionProtector; + +// @public +export interface EncryptionProtectorsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EncryptionProtectorsListByServerNextResponse = EncryptionProtectorListResult; + +// @public +export interface EncryptionProtectorsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type EncryptionProtectorsListByServerResponse = EncryptionProtectorListResult; + +// @public +export interface EncryptionProtectorsRevalidateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type Enum76 = string; + +// @public +export interface ExportDatabaseDefinition { + administratorLogin: string; + administratorLoginPassword: string; + authenticationType?: string; + networkIsolation?: NetworkIsolationSettings; + storageKey: string; + storageKeyType: StorageKeyType; + storageUri: string; +} + +// @public +export interface ExtendedDatabaseBlobAuditingPolicies { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: ExtendedDatabaseBlobAuditingPolicy, options?: ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, options?: ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedDatabaseBlobAuditingPolicy; + +// @public +export interface ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ExtendedDatabaseBlobAuditingPoliciesGetResponse = ExtendedDatabaseBlobAuditingPolicy; + +// @public +export interface ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextResponse = ExtendedDatabaseBlobAuditingPolicyListResult; + +// @public +export interface ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ExtendedDatabaseBlobAuditingPoliciesListByDatabaseResponse = ExtendedDatabaseBlobAuditingPolicyListResult; + +// @public +export type ExtendedDatabaseBlobAuditingPolicy = ProxyResource & { + predicateExpression?: string; + retentionDays?: number; + auditActionsAndGroups?: string[]; + isStorageSecondaryKeyInUse?: boolean; + isAzureMonitorTargetEnabled?: boolean; + queueDelayMs?: number; + state?: BlobAuditingPolicyState; + storageEndpoint?: string; + storageAccountAccessKey?: string; + storageAccountSubscriptionId?: string; +}; + +// @public +export interface ExtendedDatabaseBlobAuditingPolicyListResult { + readonly nextLink?: string; + readonly value?: ExtendedDatabaseBlobAuditingPolicy[]; +} + +// @public +export interface ExtendedServerBlobAuditingPolicies { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: ExtendedServerBlobAuditingPolicy, options?: ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise, ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, parameters: ExtendedServerBlobAuditingPolicy, options?: ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, options?: ExtendedServerBlobAuditingPoliciesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ExtendedServerBlobAuditingPoliciesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedServerBlobAuditingPolicy; + +// @public +export interface ExtendedServerBlobAuditingPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ExtendedServerBlobAuditingPoliciesGetResponse = ExtendedServerBlobAuditingPolicy; + +// @public +export interface ExtendedServerBlobAuditingPoliciesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ExtendedServerBlobAuditingPoliciesListByServerNextResponse = ExtendedServerBlobAuditingPolicyListResult; + +// @public +export interface ExtendedServerBlobAuditingPoliciesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ExtendedServerBlobAuditingPoliciesListByServerResponse = ExtendedServerBlobAuditingPolicyListResult; + +// @public +export type ExtendedServerBlobAuditingPolicy = ProxyResource & { + isDevopsAuditEnabled?: boolean; + predicateExpression?: string; + retentionDays?: number; + auditActionsAndGroups?: string[]; + isStorageSecondaryKeyInUse?: boolean; + isAzureMonitorTargetEnabled?: boolean; + queueDelayMs?: number; + state?: BlobAuditingPolicyState; + storageEndpoint?: string; + storageAccountAccessKey?: string; + storageAccountSubscriptionId?: string; +}; + +// @public +export interface ExtendedServerBlobAuditingPolicyListResult { + readonly nextLink?: string; + readonly value?: ExtendedServerBlobAuditingPolicy[]; +} + +// @public +export type FailoverGroup = ProxyResource & { + readonly location?: string; + tags?: { + [propertyName: string]: string; + }; + readWriteEndpoint?: FailoverGroupReadWriteEndpoint; + readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint; + readonly replicationRole?: FailoverGroupReplicationRole; + readonly replicationState?: string; + partnerServers?: PartnerInfo[]; + databases?: string[]; +}; + +// @public +export interface FailoverGroupListResult { + readonly nextLink?: string; + readonly value?: FailoverGroup[]; +} + +// @public +export interface FailoverGroupReadOnlyEndpoint { + failoverPolicy?: ReadOnlyEndpointFailoverPolicy; +} + +// @public +export interface FailoverGroupReadWriteEndpoint { + failoverPolicy: ReadWriteEndpointFailoverPolicy; + failoverWithDataLossGracePeriodMinutes?: number; +} + +// @public +export type FailoverGroupReplicationRole = string; + +// @public +export interface FailoverGroups { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: FailoverGroup, options?: FailoverGroupsCreateOrUpdateOptionalParams): Promise, FailoverGroupsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: FailoverGroup, options?: FailoverGroupsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsDeleteOptionalParams): Promise; + beginFailover(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsFailoverOptionalParams): Promise, FailoverGroupsFailoverResponse>>; + beginFailoverAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsFailoverOptionalParams): Promise; + beginForceFailoverAllowDataLoss(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsForceFailoverAllowDataLossOptionalParams): Promise, FailoverGroupsForceFailoverAllowDataLossResponse>>; + beginForceFailoverAllowDataLossAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsForceFailoverAllowDataLossOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: FailoverGroupUpdate, options?: FailoverGroupsUpdateOptionalParams): Promise, FailoverGroupsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: FailoverGroupUpdate, options?: FailoverGroupsUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: FailoverGroupsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface FailoverGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type FailoverGroupsCreateOrUpdateResponse = FailoverGroup; + +// @public +export interface FailoverGroupsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface FailoverGroupsFailoverOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type FailoverGroupsFailoverResponse = FailoverGroup; + +// @public +export interface FailoverGroupsForceFailoverAllowDataLossOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type FailoverGroupsForceFailoverAllowDataLossResponse = FailoverGroup; + +// @public +export interface FailoverGroupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FailoverGroupsGetResponse = FailoverGroup; + +// @public +export interface FailoverGroupsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FailoverGroupsListByServerNextResponse = FailoverGroupListResult; + +// @public +export interface FailoverGroupsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FailoverGroupsListByServerResponse = FailoverGroupListResult; + +// @public +export interface FailoverGroupsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type FailoverGroupsUpdateResponse = FailoverGroup; + +// @public +export interface FailoverGroupUpdate { + databases?: string[]; + readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint; + readWriteEndpoint?: FailoverGroupReadWriteEndpoint; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export type FirewallRule = ProxyResourceWithWritableName & { + startIpAddress?: string; + endIpAddress?: string; +}; + +// @public +export interface FirewallRuleList { + // (undocumented) + values?: FirewallRule[]; +} + +// @public +export interface FirewallRuleListResult { + readonly nextLink?: string; + readonly value?: FirewallRule[]; +} + +// @public +export interface FirewallRules { + createOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: FirewallRule, options?: FirewallRulesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: FirewallRulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: FirewallRulesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: FirewallRulesListByServerOptionalParams): PagedAsyncIterableIterator; + replace(resourceGroupName: string, serverName: string, parameters: FirewallRuleList, options?: FirewallRulesReplaceOptionalParams): Promise; +} + +// @public +export interface FirewallRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FirewallRulesCreateOrUpdateResponse = FirewallRule; + +// @public +export interface FirewallRulesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface FirewallRulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FirewallRulesGetResponse = FirewallRule; + +// @public +export interface FirewallRulesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FirewallRulesListByServerNextResponse = FirewallRuleListResult; + +// @public +export interface FirewallRulesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FirewallRulesListByServerResponse = FirewallRuleListResult; + +// @public +export interface FirewallRulesReplaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type FirewallRulesReplaceResponse = FirewallRule; + +// @public +export interface GeoBackupPolicies { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, geoBackupPolicyName: GeoBackupPolicyName, parameters: GeoBackupPolicy, options?: GeoBackupPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, geoBackupPolicyName: GeoBackupPolicyName, options?: GeoBackupPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: GeoBackupPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface GeoBackupPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GeoBackupPoliciesCreateOrUpdateResponse = GeoBackupPolicy; + +// @public +export interface GeoBackupPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GeoBackupPoliciesGetResponse = GeoBackupPolicy; + +// @public +export interface GeoBackupPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GeoBackupPoliciesListByDatabaseResponse = GeoBackupPolicyListResult; + +// @public +export type GeoBackupPolicy = ProxyResource & { + readonly kind?: string; + readonly location?: string; + state: GeoBackupPolicyState; + readonly storageType?: string; +}; + +// @public +export interface GeoBackupPolicyListResult { + value?: GeoBackupPolicy[]; +} + +// @public +export type GeoBackupPolicyName = string; + +// @public +export type GeoBackupPolicyState = "Disabled" | "Enabled"; + +// @public +export type IdentityType = string; + +// @public +export type ImplementationMethod = "TSql" | "AzurePowerShell"; + +// @public +export interface ImportExistingDatabaseDefinition { + administratorLogin: string; + administratorLoginPassword: string; + authenticationType?: string; + networkIsolation?: NetworkIsolationSettings; + storageKey: string; + storageKeyType: StorageKeyType; + storageUri: string; +} + +// @public +export interface ImportExportExtensionsOperationListResult { + readonly nextLink?: string; + readonly value?: ImportExportExtensionsOperationResult[]; +} + +// @public +export type ImportExportExtensionsOperationResult = ProxyResource & { + readonly requestId?: string; + readonly requestType?: string; + readonly lastModifiedTime?: string; + readonly serverName?: string; + readonly databaseName?: string; + readonly status?: string; + readonly errorMessage?: string; +}; + +// @public +export type ImportExportOperationResult = ProxyResource & { + readonly requestId?: string; + readonly requestType?: string; + readonly queuedTime?: string; + readonly lastModifiedTime?: string; + readonly blobUri?: string; + readonly serverName?: string; + readonly databaseName?: string; + readonly status?: string; + readonly errorMessage?: string; + readonly privateEndpointConnections?: PrivateEndpointConnectionRequestStatus[]; +}; + +// @public +export interface ImportNewDatabaseDefinition { + administratorLogin: string; + administratorLoginPassword: string; + authenticationType?: string; + databaseName?: string; + edition?: string; + maxSizeBytes?: string; + networkIsolation?: NetworkIsolationSettings; + serviceObjectiveName?: string; + storageKey: string; + storageKeyType: StorageKeyType; + storageUri: string; +} + +// @public +export type InstanceFailoverGroup = ProxyResource & { + readWriteEndpoint?: InstanceFailoverGroupReadWriteEndpoint; + readOnlyEndpoint?: InstanceFailoverGroupReadOnlyEndpoint; + readonly replicationRole?: InstanceFailoverGroupReplicationRole; + readonly replicationState?: string; + partnerRegions?: PartnerRegionInfo[]; + managedInstancePairs?: ManagedInstancePairInfo[]; +}; + +// @public +export interface InstanceFailoverGroupListResult { + readonly nextLink?: string; + readonly value?: InstanceFailoverGroup[]; +} + +// @public +export interface InstanceFailoverGroupReadOnlyEndpoint { + failoverPolicy?: ReadOnlyEndpointFailoverPolicy; +} + +// @public +export interface InstanceFailoverGroupReadWriteEndpoint { + failoverPolicy: ReadWriteEndpointFailoverPolicy; + failoverWithDataLossGracePeriodMinutes?: number; +} + +// @public +export type InstanceFailoverGroupReplicationRole = string; + +// @public +export interface InstanceFailoverGroups { + beginCreateOrUpdate(resourceGroupName: string, locationName: string, failoverGroupName: string, parameters: InstanceFailoverGroup, options?: InstanceFailoverGroupsCreateOrUpdateOptionalParams): Promise, InstanceFailoverGroupsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, locationName: string, failoverGroupName: string, parameters: InstanceFailoverGroup, options?: InstanceFailoverGroupsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsDeleteOptionalParams): Promise; + beginFailover(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsFailoverOptionalParams): Promise, InstanceFailoverGroupsFailoverResponse>>; + beginFailoverAndWait(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsFailoverOptionalParams): Promise; + beginForceFailoverAllowDataLoss(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams): Promise, InstanceFailoverGroupsForceFailoverAllowDataLossResponse>>; + beginForceFailoverAllowDataLossAndWait(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams): Promise; + get(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsGetOptionalParams): Promise; + listByLocation(resourceGroupName: string, locationName: string, options?: InstanceFailoverGroupsListByLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface InstanceFailoverGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type InstanceFailoverGroupsCreateOrUpdateResponse = InstanceFailoverGroup; + +// @public +export interface InstanceFailoverGroupsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface InstanceFailoverGroupsFailoverOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type InstanceFailoverGroupsFailoverResponse = InstanceFailoverGroup; + +// @public +export interface InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type InstanceFailoverGroupsForceFailoverAllowDataLossResponse = InstanceFailoverGroup; + +// @public +export interface InstanceFailoverGroupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InstanceFailoverGroupsGetResponse = InstanceFailoverGroup; + +// @public +export interface InstanceFailoverGroupsListByLocationNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InstanceFailoverGroupsListByLocationNextResponse = InstanceFailoverGroupListResult; + +// @public +export interface InstanceFailoverGroupsListByLocationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InstanceFailoverGroupsListByLocationResponse = InstanceFailoverGroupListResult; + +// @public +export type InstancePool = TrackedResource & { + sku?: Sku; + subnetId?: string; + vCores?: number; + licenseType?: InstancePoolLicenseType; +}; + +// @public +export interface InstancePoolEditionCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedFamilies?: InstancePoolFamilyCapability[]; +} + +// @public +export interface InstancePoolFamilyCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedLicenseTypes?: LicenseTypeCapability[]; + readonly supportedVcoresValues?: InstancePoolVcoresCapability[]; +} + +// @public +export type InstancePoolLicenseType = string; + +// @public +export interface InstancePoolListResult { + readonly nextLink?: string; + readonly value?: InstancePool[]; +} + +// @public +export interface InstancePools { + beginCreateOrUpdate(resourceGroupName: string, instancePoolName: string, parameters: InstancePool, options?: InstancePoolsCreateOrUpdateOptionalParams): Promise, InstancePoolsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, instancePoolName: string, parameters: InstancePool, options?: InstancePoolsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, instancePoolName: string, options?: InstancePoolsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, instancePoolName: string, options?: InstancePoolsDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, instancePoolName: string, parameters: InstancePoolUpdate, options?: InstancePoolsUpdateOptionalParams): Promise, InstancePoolsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, instancePoolName: string, parameters: InstancePoolUpdate, options?: InstancePoolsUpdateOptionalParams): Promise; + get(resourceGroupName: string, instancePoolName: string, options?: InstancePoolsGetOptionalParams): Promise; + list(options?: InstancePoolsListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: InstancePoolsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface InstancePoolsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type InstancePoolsCreateOrUpdateResponse = InstancePool; + +// @public +export interface InstancePoolsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface InstancePoolsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InstancePoolsGetResponse = InstancePool; + +// @public +export interface InstancePoolsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InstancePoolsListByResourceGroupNextResponse = InstancePoolListResult; + +// @public +export interface InstancePoolsListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InstancePoolsListByResourceGroupResponse = InstancePoolListResult; + +// @public +export interface InstancePoolsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InstancePoolsListNextResponse = InstancePoolListResult; + +// @public +export interface InstancePoolsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type InstancePoolsListResponse = InstancePoolListResult; + +// @public +export interface InstancePoolsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type InstancePoolsUpdateResponse = InstancePool; + +// @public +export interface InstancePoolUpdate { + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface InstancePoolVcoresCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly storageLimit?: MaxSizeCapability; + readonly value?: number; +} + +// @public +export type IsRetryable = "Yes" | "No"; + +// @public +export type Job = ProxyResource & { + description?: string; + readonly version?: number; + schedule?: JobSchedule; +}; + +// @public +export type JobAgent = TrackedResource & { + sku?: Sku; + databaseId?: string; + readonly state?: JobAgentState; +}; + +// @public +export interface JobAgentListResult { + readonly nextLink?: string; + readonly value?: JobAgent[]; +} + +// @public +export interface JobAgents { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: JobAgent, options?: JobAgentsCreateOrUpdateOptionalParams): Promise, JobAgentsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: JobAgent, options?: JobAgentsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobAgentsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobAgentsDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: JobAgentUpdate, options?: JobAgentsUpdateOptionalParams): Promise, JobAgentsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: JobAgentUpdate, options?: JobAgentsUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobAgentsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: JobAgentsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobAgentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type JobAgentsCreateOrUpdateResponse = JobAgent; + +// @public +export interface JobAgentsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface JobAgentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobAgentsGetResponse = JobAgent; + +// @public +export interface JobAgentsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobAgentsListByServerNextResponse = JobAgentListResult; + +// @public +export interface JobAgentsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobAgentsListByServerResponse = JobAgentListResult; + +// @public +export type JobAgentState = string; + +// @public +export interface JobAgentsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type JobAgentsUpdateResponse = JobAgent; + +// @public +export interface JobAgentUpdate { + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export type JobCredential = ProxyResource & { + username?: string; + password?: string; +}; + +// @public +export interface JobCredentialListResult { + readonly nextLink?: string; + readonly value?: JobCredential[]; +} + +// @public +export interface JobCredentials { + createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, parameters: JobCredential, options?: JobCredentialsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options?: JobCredentialsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options?: JobCredentialsGetOptionalParams): Promise; + listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobCredentialsListByAgentOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobCredentialsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobCredentialsCreateOrUpdateResponse = JobCredential; + +// @public +export interface JobCredentialsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface JobCredentialsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobCredentialsGetResponse = JobCredential; + +// @public +export interface JobCredentialsListByAgentNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobCredentialsListByAgentNextResponse = JobCredentialListResult; + +// @public +export interface JobCredentialsListByAgentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobCredentialsListByAgentResponse = JobCredentialListResult; + +// @public +export type JobExecution = ProxyResource & { + readonly jobVersion?: number; + readonly stepName?: string; + readonly stepId?: number; + readonly jobExecutionId?: string; + readonly lifecycle?: JobExecutionLifecycle; + readonly provisioningState?: ProvisioningState; + readonly createTime?: Date; + readonly startTime?: Date; + readonly endTime?: Date; + currentAttempts?: number; + readonly currentAttemptStartTime?: Date; + readonly lastMessage?: string; + readonly target?: JobExecutionTarget; +}; + +// @public +export type JobExecutionLifecycle = string; + +// @public +export interface JobExecutionListResult { + readonly nextLink?: string; + readonly value?: JobExecution[]; +} + +// @public +export interface JobExecutions { + beginCreate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobExecutionsCreateOptionalParams): Promise, JobExecutionsCreateResponse>>; + beginCreateAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobExecutionsCreateOptionalParams): Promise; + beginCreateOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobExecutionsCreateOrUpdateOptionalParams): Promise, JobExecutionsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobExecutionsCreateOrUpdateOptionalParams): Promise; + cancel(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobExecutionsCancelOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobExecutionsGetOptionalParams): Promise; + listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobExecutionsListByAgentOptionalParams): PagedAsyncIterableIterator; + listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobExecutionsListByJobOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobExecutionsCancelOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface JobExecutionsCreateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface JobExecutionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type JobExecutionsCreateOrUpdateResponse = JobExecution; + +// @public +export type JobExecutionsCreateResponse = JobExecution; + +// @public +export interface JobExecutionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobExecutionsGetResponse = JobExecution; + +// @public +export interface JobExecutionsListByAgentNextOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobExecutionsListByAgentNextResponse = JobExecutionListResult; + +// @public +export interface JobExecutionsListByAgentOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobExecutionsListByAgentResponse = JobExecutionListResult; + +// @public +export interface JobExecutionsListByJobNextOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobExecutionsListByJobNextResponse = JobExecutionListResult; + +// @public +export interface JobExecutionsListByJobOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobExecutionsListByJobResponse = JobExecutionListResult; + +// @public +export interface JobExecutionTarget { + readonly databaseName?: string; + readonly serverName?: string; + readonly type?: JobTargetType; +} + +// @public +export interface JobListResult { + readonly nextLink?: string; + readonly value?: Job[]; +} + +// @public +export interface Jobs { + createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, parameters: Job, options?: JobsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobsGetOptionalParams): Promise; + listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobsListByAgentOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobSchedule { + enabled?: boolean; + endTime?: Date; + interval?: string; + startTime?: Date; + type?: JobScheduleType; +} + +// @public +export type JobScheduleType = "Once" | "Recurring"; + +// @public +export interface JobsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobsCreateOrUpdateResponse = Job; + +// @public +export interface JobsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface JobsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobsGetResponse = Job; + +// @public +export interface JobsListByAgentNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobsListByAgentNextResponse = JobListResult; + +// @public +export interface JobsListByAgentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobsListByAgentResponse = JobListResult; + +// @public +export type JobStep = ProxyResource & { + stepId?: number; + targetGroup?: string; + credential?: string; + action?: JobStepAction; + output?: JobStepOutput; + executionOptions?: JobStepExecutionOptions; +}; + +// @public +export interface JobStepAction { + source?: JobStepActionSource; + type?: JobStepActionType; + value: string; +} + +// @public +export type JobStepActionSource = string; + +// @public +export type JobStepActionType = string; + +// @public +export interface JobStepExecutionOptions { + initialRetryIntervalSeconds?: number; + maximumRetryIntervalSeconds?: number; + retryAttempts?: number; + retryIntervalBackoffMultiplier?: number; + timeoutSeconds?: number; +} + +// @public +export interface JobStepExecutions { + get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options?: JobStepExecutionsGetOptionalParams): Promise; + listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobStepExecutionsListByJobExecutionOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobStepExecutionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobStepExecutionsGetResponse = JobExecution; + +// @public +export interface JobStepExecutionsListByJobExecutionNextOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobStepExecutionsListByJobExecutionNextResponse = JobExecutionListResult; + +// @public +export interface JobStepExecutionsListByJobExecutionOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobStepExecutionsListByJobExecutionResponse = JobExecutionListResult; + +// @public +export interface JobStepListResult { + readonly nextLink?: string; + readonly value?: JobStep[]; +} + +// @public +export interface JobStepOutput { + credential: string; + databaseName: string; + resourceGroupName?: string; + schemaName?: string; + serverName: string; + subscriptionId?: string; + tableName: string; + type?: JobStepOutputType; +} + +// @public +export type JobStepOutputType = string; + +// @public +export interface JobSteps { + createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, parameters: JobStep, options?: JobStepsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options?: JobStepsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options?: JobStepsGetOptionalParams): Promise; + getByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, stepName: string, options?: JobStepsGetByVersionOptionalParams): Promise; + listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobStepsListByJobOptionalParams): PagedAsyncIterableIterator; + listByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options?: JobStepsListByVersionOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobStepsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobStepsCreateOrUpdateResponse = JobStep; + +// @public +export interface JobStepsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface JobStepsGetByVersionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobStepsGetByVersionResponse = JobStep; + +// @public +export interface JobStepsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobStepsGetResponse = JobStep; + +// @public +export interface JobStepsListByJobNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobStepsListByJobNextResponse = JobStepListResult; + +// @public +export interface JobStepsListByJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobStepsListByJobResponse = JobStepListResult; + +// @public +export interface JobStepsListByVersionNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobStepsListByVersionNextResponse = JobStepListResult; + +// @public +export interface JobStepsListByVersionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobStepsListByVersionResponse = JobStepListResult; + +// @public +export interface JobTarget { + databaseName?: string; + elasticPoolName?: string; + membershipType?: JobTargetGroupMembershipType; + refreshCredential?: string; + serverName?: string; + shardMapName?: string; + type: JobTargetType; +} + +// @public +export interface JobTargetExecutions { + get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, targetId: string, options?: JobTargetExecutionsGetOptionalParams): Promise; + listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobTargetExecutionsListByJobExecutionOptionalParams): PagedAsyncIterableIterator; + listByStep(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options?: JobTargetExecutionsListByStepOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobTargetExecutionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobTargetExecutionsGetResponse = JobExecution; + +// @public +export interface JobTargetExecutionsListByJobExecutionNextOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobTargetExecutionsListByJobExecutionNextResponse = JobExecutionListResult; + +// @public +export interface JobTargetExecutionsListByJobExecutionOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobTargetExecutionsListByJobExecutionResponse = JobExecutionListResult; + +// @public +export interface JobTargetExecutionsListByStepNextOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobTargetExecutionsListByStepNextResponse = JobExecutionListResult; + +// @public +export interface JobTargetExecutionsListByStepOptionalParams extends coreClient.OperationOptions { + createTimeMax?: Date; + createTimeMin?: Date; + endTimeMax?: Date; + endTimeMin?: Date; + isActive?: boolean; + skip?: number; + top?: number; +} + +// @public +export type JobTargetExecutionsListByStepResponse = JobExecutionListResult; + +// @public +export type JobTargetGroup = ProxyResource & { + members?: JobTarget[]; +}; + +// @public +export interface JobTargetGroupListResult { + readonly nextLink?: string; + readonly value?: JobTargetGroup[]; +} + +// @public +export type JobTargetGroupMembershipType = "Include" | "Exclude"; + +// @public +export interface JobTargetGroups { + createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, parameters: JobTargetGroup, options?: JobTargetGroupsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options?: JobTargetGroupsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options?: JobTargetGroupsGetOptionalParams): Promise; + listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobTargetGroupsListByAgentOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobTargetGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobTargetGroupsCreateOrUpdateResponse = JobTargetGroup; + +// @public +export interface JobTargetGroupsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface JobTargetGroupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobTargetGroupsGetResponse = JobTargetGroup; + +// @public +export interface JobTargetGroupsListByAgentNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobTargetGroupsListByAgentNextResponse = JobTargetGroupListResult; + +// @public +export interface JobTargetGroupsListByAgentOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobTargetGroupsListByAgentResponse = JobTargetGroupListResult; + +// @public +export type JobTargetType = string; + +// @public +export type JobVersion = ProxyResource & {}; + +// @public +export interface JobVersionListResult { + readonly nextLink?: string; + readonly value?: JobVersion[]; +} + +// @public +export interface JobVersions { + get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options?: JobVersionsGetOptionalParams): Promise; + listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobVersionsListByJobOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface JobVersionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobVersionsGetResponse = JobVersion; + +// @public +export interface JobVersionsListByJobNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobVersionsListByJobNextResponse = JobVersionListResult; + +// @public +export interface JobVersionsListByJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type JobVersionsListByJobResponse = JobVersionListResult; + +// @public +export enum KnownAdministratorName { + // (undocumented) + ActiveDirectory = "ActiveDirectory" +} + +// @public +export enum KnownAdministratorType { + // (undocumented) + ActiveDirectory = "ActiveDirectory" +} + +// @public +export enum KnownAggregationFunctionType { + // (undocumented) + Avg = "avg", + // (undocumented) + Max = "max", + // (undocumented) + Min = "min", + // (undocumented) + Stdev = "stdev", + // (undocumented) + Sum = "sum" +} + +// @public +export enum KnownAuthenticationName { + // (undocumented) + Default = "Default" +} + +// @public +export enum KnownBackupStorageRedundancy { + // (undocumented) + Geo = "Geo", + // (undocumented) + Local = "Local", + // (undocumented) + Zone = "Zone" +} + +// @public +export enum KnownCapabilityGroup { + // (undocumented) + SupportedEditions = "supportedEditions", + // (undocumented) + SupportedElasticPoolEditions = "supportedElasticPoolEditions", + // (undocumented) + SupportedInstancePoolEditions = "supportedInstancePoolEditions", + // (undocumented) + SupportedManagedInstanceEditions = "supportedManagedInstanceEditions", + // (undocumented) + SupportedManagedInstanceVersions = "supportedManagedInstanceVersions" +} + +// @public +export enum KnownCatalogCollationType { + // (undocumented) + DatabaseDefault = "DATABASE_DEFAULT", + // (undocumented) + SQLLatin1GeneralCP1CIAS = "SQL_Latin1_General_CP1_CI_AS" +} + +// @public +export enum KnownColumnDataType { + // (undocumented) + Bigint = "bigint", + // (undocumented) + Binary = "binary", + // (undocumented) + Bit = "bit", + // (undocumented) + Char = "char", + // (undocumented) + Date = "date", + // (undocumented) + Datetime = "datetime", + // (undocumented) + Datetime2 = "datetime2", + // (undocumented) + Datetimeoffset = "datetimeoffset", + // (undocumented) + Decimal = "decimal", + // (undocumented) + Float = "float", + // (undocumented) + Geography = "geography", + // (undocumented) + Geometry = "geometry", + // (undocumented) + Hierarchyid = "hierarchyid", + // (undocumented) + Image = "image", + // (undocumented) + Int = "int", + // (undocumented) + Money = "money", + // (undocumented) + Nchar = "nchar", + // (undocumented) + Ntext = "ntext", + // (undocumented) + Numeric = "numeric", + // (undocumented) + Nvarchar = "nvarchar", + // (undocumented) + Real = "real", + // (undocumented) + Smalldatetime = "smalldatetime", + // (undocumented) + Smallint = "smallint", + // (undocumented) + Smallmoney = "smallmoney", + // (undocumented) + SqlVariant = "sql_variant", + // (undocumented) + Sysname = "sysname", + // (undocumented) + Text = "text", + // (undocumented) + Time = "time", + // (undocumented) + Timestamp = "timestamp", + // (undocumented) + Tinyint = "tinyint", + // (undocumented) + Uniqueidentifier = "uniqueidentifier", + // (undocumented) + Varbinary = "varbinary", + // (undocumented) + Varchar = "varchar", + // (undocumented) + Xml = "xml" +} + +// @public +export enum KnownConnectionPolicyName { + // (undocumented) + Default = "default" +} + +// @public +export enum KnownCreatedByType { + // (undocumented) + Application = "Application", + // (undocumented) + Key = "Key", + // (undocumented) + ManagedIdentity = "ManagedIdentity", + // (undocumented) + User = "User" +} + +// @public +export enum KnownCreateMode { + // (undocumented) + Copy = "Copy", + // (undocumented) + Default = "Default", + // (undocumented) + OnlineSecondary = "OnlineSecondary", + // (undocumented) + PointInTimeRestore = "PointInTimeRestore", + // (undocumented) + Recovery = "Recovery", + // (undocumented) + Restore = "Restore", + // (undocumented) + RestoreExternalBackup = "RestoreExternalBackup", + // (undocumented) + RestoreExternalBackupSecondary = "RestoreExternalBackupSecondary", + // (undocumented) + RestoreLongTermRetentionBackup = "RestoreLongTermRetentionBackup", + // (undocumented) + Secondary = "Secondary" +} + +// @public +export enum KnownCurrentBackupStorageRedundancy { + // (undocumented) + Geo = "Geo", + // (undocumented) + Local = "Local", + // (undocumented) + Zone = "Zone" +} + +// @public +export enum KnownDatabaseLicenseType { + // (undocumented) + BasePrice = "BasePrice", + // (undocumented) + LicenseIncluded = "LicenseIncluded" +} + +// @public +export enum KnownDatabaseReadScale { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownDatabaseState { + // (undocumented) + All = "All", + // (undocumented) + Deleted = "Deleted", + // (undocumented) + Live = "Live" +} + +// @public +export enum KnownDatabaseStatus { + // (undocumented) + AutoClosed = "AutoClosed", + // (undocumented) + Copying = "Copying", + // (undocumented) + Creating = "Creating", + // (undocumented) + Disabled = "Disabled", + // (undocumented) + EmergencyMode = "EmergencyMode", + // (undocumented) + Inaccessible = "Inaccessible", + // (undocumented) + Offline = "Offline", + // (undocumented) + OfflineChangingDwPerformanceTiers = "OfflineChangingDwPerformanceTiers", + // (undocumented) + OfflineSecondary = "OfflineSecondary", + // (undocumented) + Online = "Online", + // (undocumented) + OnlineChangingDwPerformanceTiers = "OnlineChangingDwPerformanceTiers", + // (undocumented) + Paused = "Paused", + // (undocumented) + Pausing = "Pausing", + // (undocumented) + Recovering = "Recovering", + // (undocumented) + RecoveryPending = "RecoveryPending", + // (undocumented) + Restoring = "Restoring", + // (undocumented) + Resuming = "Resuming", + // (undocumented) + Scaling = "Scaling", + // (undocumented) + Shutdown = "Shutdown", + // (undocumented) + Standby = "Standby", + // (undocumented) + Suspect = "Suspect" +} + +// @public +export enum KnownDataWarehouseUserActivityName { + // (undocumented) + Current = "current" +} + +// @public +export enum KnownDayOfWeek { + // (undocumented) + Friday = "Friday", + // (undocumented) + Monday = "Monday", + // (undocumented) + Saturday = "Saturday", + // (undocumented) + Sunday = "Sunday", + // (undocumented) + Thursday = "Thursday", + // (undocumented) + Tuesday = "Tuesday", + // (undocumented) + Wednesday = "Wednesday" +} + +// @public +export enum KnownDiffBackupIntervalInHours { + // (undocumented) + Twelve = 12, + // (undocumented) + TwentyFour = 24 +} + +// @public +export enum KnownDnsRefreshConfigurationPropertiesStatus { + // (undocumented) + Failed = "Failed", + // (undocumented) + Succeeded = "Succeeded" +} + +// @public +export enum KnownElasticPoolLicenseType { + // (undocumented) + BasePrice = "BasePrice", + // (undocumented) + LicenseIncluded = "LicenseIncluded" +} + +// @public +export enum KnownElasticPoolState { + // (undocumented) + Creating = "Creating", + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Ready = "Ready" +} + +// @public +export enum KnownEncryptionProtectorName { + // (undocumented) + Current = "current" +} + +// @public +export enum KnownEnum76 { + // (undocumented) + All = "All", + // (undocumented) + Error = "Error", + // (undocumented) + Success = "Success", + // (undocumented) + Warning = "Warning" +} + +// @public +export enum KnownFailoverGroupReplicationRole { + // (undocumented) + Primary = "Primary", + // (undocumented) + Secondary = "Secondary" +} + +// @public +export enum KnownGeoBackupPolicyName { + // (undocumented) + Default = "Default" +} + +// @public +export enum KnownIdentityType { + // (undocumented) + None = "None", + // (undocumented) + SystemAssigned = "SystemAssigned", + // (undocumented) + SystemAssignedUserAssigned = "SystemAssigned,UserAssigned", + // (undocumented) + UserAssigned = "UserAssigned" +} + +// @public +export enum KnownInstanceFailoverGroupReplicationRole { + // (undocumented) + Primary = "Primary", + // (undocumented) + Secondary = "Secondary" +} + +// @public +export enum KnownInstancePoolLicenseType { + // (undocumented) + BasePrice = "BasePrice", + // (undocumented) + LicenseIncluded = "LicenseIncluded" +} + +// @public +export enum KnownJobAgentState { + // (undocumented) + Creating = "Creating", + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Ready = "Ready", + // (undocumented) + Updating = "Updating" +} + +// @public +export enum KnownJobExecutionLifecycle { + // (undocumented) + Canceled = "Canceled", + // (undocumented) + Created = "Created", + // (undocumented) + Failed = "Failed", + // (undocumented) + InProgress = "InProgress", + // (undocumented) + Skipped = "Skipped", + // (undocumented) + Succeeded = "Succeeded", + // (undocumented) + SucceededWithSkipped = "SucceededWithSkipped", + // (undocumented) + TimedOut = "TimedOut", + // (undocumented) + WaitingForChildJobExecutions = "WaitingForChildJobExecutions", + // (undocumented) + WaitingForRetry = "WaitingForRetry" +} + +// @public +export enum KnownJobStepActionSource { + // (undocumented) + Inline = "Inline" +} + +// @public +export enum KnownJobStepActionType { + // (undocumented) + TSql = "TSql" +} + +// @public +export enum KnownJobStepOutputType { + // (undocumented) + SqlDatabase = "SqlDatabase" +} + +// @public +export enum KnownJobTargetType { + // (undocumented) + SqlDatabase = "SqlDatabase", + // (undocumented) + SqlElasticPool = "SqlElasticPool", + // (undocumented) + SqlServer = "SqlServer", + // (undocumented) + SqlShardMap = "SqlShardMap", + // (undocumented) + TargetGroup = "TargetGroup" +} + +// @public +export enum KnownLedgerDigestUploadsName { + // (undocumented) + Current = "current" +} + +// @public +export enum KnownLogSizeUnit { + // (undocumented) + Gigabytes = "Gigabytes", + // (undocumented) + Megabytes = "Megabytes", + // (undocumented) + Percent = "Percent", + // (undocumented) + Petabytes = "Petabytes", + // (undocumented) + Terabytes = "Terabytes" +} + +// @public +export enum KnownLongTermRetentionPolicyName { + // (undocumented) + Default = "default" +} + +// @public +export enum KnownManagedDatabaseCreateMode { + // (undocumented) + Default = "Default", + // (undocumented) + PointInTimeRestore = "PointInTimeRestore", + // (undocumented) + Recovery = "Recovery", + // (undocumented) + RestoreExternalBackup = "RestoreExternalBackup", + // (undocumented) + RestoreLongTermRetentionBackup = "RestoreLongTermRetentionBackup" +} + +// @public +export enum KnownManagedDatabaseStatus { + // (undocumented) + Creating = "Creating", + // (undocumented) + Inaccessible = "Inaccessible", + // (undocumented) + Offline = "Offline", + // (undocumented) + Online = "Online", + // (undocumented) + Restoring = "Restoring", + // (undocumented) + Shutdown = "Shutdown", + // (undocumented) + Updating = "Updating" +} + +// @public +export enum KnownManagedInstanceAdministratorType { + // (undocumented) + ActiveDirectory = "ActiveDirectory" +} + +// @public +export enum KnownManagedInstanceLicenseType { + // (undocumented) + BasePrice = "BasePrice", + // (undocumented) + LicenseIncluded = "LicenseIncluded" +} + +// @public +export enum KnownManagedInstanceLongTermRetentionPolicyName { + // (undocumented) + Default = "default" +} + +// @public +export enum KnownManagedInstancePropertiesProvisioningState { + // (undocumented) + Creating = "Creating", + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Failed = "Failed", + // (undocumented) + Succeeded = "Succeeded", + // (undocumented) + Unknown = "Unknown", + // (undocumented) + Updating = "Updating" +} + +// @public +export enum KnownManagedInstanceProxyOverride { + // (undocumented) + Default = "Default", + // (undocumented) + Proxy = "Proxy", + // (undocumented) + Redirect = "Redirect" +} + +// @public +export enum KnownManagedServerCreateMode { + // (undocumented) + Default = "Default", + // (undocumented) + PointInTimeRestore = "PointInTimeRestore" +} + +// @public +export enum KnownManagedShortTermRetentionPolicyName { + // (undocumented) + Default = "default" +} + +// @public +export enum KnownManagementOperationState { + // (undocumented) + CancelInProgress = "CancelInProgress", + // (undocumented) + Cancelled = "Cancelled", + // (undocumented) + Failed = "Failed", + // (undocumented) + InProgress = "InProgress", + // (undocumented) + Pending = "Pending", + // (undocumented) + Succeeded = "Succeeded" +} + +// @public +export enum KnownMaxSizeUnit { + // (undocumented) + Gigabytes = "Gigabytes", + // (undocumented) + Megabytes = "Megabytes", + // (undocumented) + Petabytes = "Petabytes", + // (undocumented) + Terabytes = "Terabytes" +} + +// @public +export enum KnownMetricType { + // (undocumented) + Cpu = "cpu", + // (undocumented) + Dtu = "dtu", + // (undocumented) + Duration = "duration", + // (undocumented) + Io = "io", + // (undocumented) + LogIo = "logIo" +} + +// @public +export enum KnownOperationMode { + // (undocumented) + PolybaseImport = "PolybaseImport" +} + +// @public +export enum KnownOperationOrigin { + // (undocumented) + System = "system", + // (undocumented) + User = "user" +} + +// @public +export enum KnownPauseDelayTimeUnit { + // (undocumented) + Minutes = "Minutes" +} + +// @public +export enum KnownPerformanceLevelUnit { + // (undocumented) + DTU = "DTU", + // (undocumented) + VCores = "VCores" +} + +// @public +export enum KnownPrimaryAggregationType { + // (undocumented) + Average = "Average", + // (undocumented) + Count = "Count", + // (undocumented) + Maximum = "Maximum", + // (undocumented) + Minimum = "Minimum", + // (undocumented) + None = "None", + // (undocumented) + Total = "Total" +} + +// @public +export enum KnownPrincipalType { + // (undocumented) + Application = "Application", + // (undocumented) + Group = "Group", + // (undocumented) + User = "User" +} + +// @public +export enum KnownPrivateEndpointProvisioningState { + // (undocumented) + Approving = "Approving", + // (undocumented) + Dropping = "Dropping", + // (undocumented) + Failed = "Failed", + // (undocumented) + Ready = "Ready", + // (undocumented) + Rejecting = "Rejecting" +} + +// @public +export enum KnownPrivateLinkServiceConnectionStateActionsRequire { + // (undocumented) + None = "None" +} + +// @public +export enum KnownPrivateLinkServiceConnectionStateStatus { + // (undocumented) + Approved = "Approved", + // (undocumented) + Disconnected = "Disconnected", + // (undocumented) + Pending = "Pending", + // (undocumented) + Rejected = "Rejected" +} + +// @public +export enum KnownProvisioningState { + // (undocumented) + Canceled = "Canceled", + // (undocumented) + Created = "Created", + // (undocumented) + Failed = "Failed", + // (undocumented) + InProgress = "InProgress", + // (undocumented) + Succeeded = "Succeeded" +} + +// @public +export enum KnownQueryMetricUnitType { + // (undocumented) + Count = "count", + // (undocumented) + KB = "KB", + // (undocumented) + Microseconds = "microseconds", + // (undocumented) + Percentage = "percentage" +} + +// @public +export enum KnownQueryTimeGrainType { + // (undocumented) + P1D = "P1D", + // (undocumented) + PT1H = "PT1H" +} + +// @public +export enum KnownReadOnlyEndpointFailoverPolicy { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownReadWriteEndpointFailoverPolicy { + // (undocumented) + Automatic = "Automatic", + // (undocumented) + Manual = "Manual" +} + +// @public +export enum KnownRecommendedActionCurrentState { + // (undocumented) + Active = "Active", + // (undocumented) + Error = "Error", + // (undocumented) + Executing = "Executing", + // (undocumented) + Expired = "Expired", + // (undocumented) + Ignored = "Ignored", + // (undocumented) + Monitoring = "Monitoring", + // (undocumented) + Pending = "Pending", + // (undocumented) + PendingRevert = "PendingRevert", + // (undocumented) + Resolved = "Resolved", + // (undocumented) + RevertCancelled = "RevertCancelled", + // (undocumented) + Reverted = "Reverted", + // (undocumented) + Reverting = "Reverting", + // (undocumented) + Success = "Success", + // (undocumented) + Verifying = "Verifying" +} + +// @public +export enum KnownReplicationLinkType { + // (undocumented) + GEO = "GEO", + // (undocumented) + Named = "NAMED" +} + +// @public +export enum KnownReplicationState { + // (undocumented) + CatchUP = "CATCH_UP", + // (undocumented) + Pending = "PENDING", + // (undocumented) + Seeding = "SEEDING", + // (undocumented) + Suspended = "SUSPENDED" +} + +// @public +export enum KnownReplicaType { + // (undocumented) + Primary = "Primary", + // (undocumented) + ReadableSecondary = "ReadableSecondary" +} + +// @public +export enum KnownRequestedBackupStorageRedundancy { + // (undocumented) + Geo = "Geo", + // (undocumented) + Local = "Local", + // (undocumented) + Zone = "Zone" +} + +// @public +export enum KnownRestorableDroppedDatabasePropertiesBackupStorageRedundancy { + // (undocumented) + Geo = "Geo", + // (undocumented) + Local = "Local", + // (undocumented) + Zone = "Zone" +} + +// @public +export enum KnownRestoreDetailsName { + // (undocumented) + Default = "Default" +} + +// @public +export enum KnownSampleName { + // (undocumented) + AdventureWorksLT = "AdventureWorksLT", + // (undocumented) + WideWorldImportersFull = "WideWorldImportersFull", + // (undocumented) + WideWorldImportersStd = "WideWorldImportersStd" +} + +// @public +export enum KnownSecondaryType { + // (undocumented) + Geo = "Geo", + // (undocumented) + Named = "Named" +} + +// @public +export enum KnownSecurityAlertPolicyName { + // (undocumented) + Default = "Default" +} + +// @public +export enum KnownServerKeyType { + // (undocumented) + AzureKeyVault = "AzureKeyVault", + // (undocumented) + ServiceManaged = "ServiceManaged" +} + +// @public +export enum KnownServerNetworkAccessFlag { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownServerTrustGroupPropertiesTrustScopesItem { + // (undocumented) + GlobalTransactions = "GlobalTransactions", + // (undocumented) + ServiceBroker = "ServiceBroker" +} + +// @public +export enum KnownServerWorkspaceFeature { + // (undocumented) + Connected = "Connected", + // (undocumented) + Disconnected = "Disconnected" +} + +// @public +export enum KnownServiceObjectiveName { + // (undocumented) + Basic = "Basic", + // (undocumented) + DS100 = "DS100", + // (undocumented) + DS1000 = "DS1000", + // (undocumented) + DS1200 = "DS1200", + // (undocumented) + DS1500 = "DS1500", + // (undocumented) + DS200 = "DS200", + // (undocumented) + DS2000 = "DS2000", + // (undocumented) + DS300 = "DS300", + // (undocumented) + DS400 = "DS400", + // (undocumented) + DS500 = "DS500", + // (undocumented) + DS600 = "DS600", + // (undocumented) + DW100 = "DW100", + // (undocumented) + DW1000 = "DW1000", + // (undocumented) + DW10000C = "DW10000c", + // (undocumented) + DW1000C = "DW1000c", + // (undocumented) + DW1200 = "DW1200", + // (undocumented) + DW1500 = "DW1500", + // (undocumented) + DW15000C = "DW15000c", + // (undocumented) + DW1500C = "DW1500c", + // (undocumented) + DW200 = "DW200", + // (undocumented) + DW2000 = "DW2000", + // (undocumented) + DW2000C = "DW2000c", + // (undocumented) + DW2500C = "DW2500c", + // (undocumented) + DW300 = "DW300", + // (undocumented) + DW3000 = "DW3000", + // (undocumented) + DW30000C = "DW30000c", + // (undocumented) + DW3000C = "DW3000c", + // (undocumented) + DW400 = "DW400", + // (undocumented) + DW500 = "DW500", + // (undocumented) + DW5000C = "DW5000c", + // (undocumented) + DW600 = "DW600", + // (undocumented) + DW6000 = "DW6000", + // (undocumented) + DW6000C = "DW6000c", + // (undocumented) + DW7500C = "DW7500c", + // (undocumented) + ElasticPool = "ElasticPool", + // (undocumented) + Free = "Free", + // (undocumented) + P1 = "P1", + // (undocumented) + P11 = "P11", + // (undocumented) + P15 = "P15", + // (undocumented) + P2 = "P2", + // (undocumented) + P3 = "P3", + // (undocumented) + P4 = "P4", + // (undocumented) + P6 = "P6", + // (undocumented) + PRS1 = "PRS1", + // (undocumented) + PRS2 = "PRS2", + // (undocumented) + PRS4 = "PRS4", + // (undocumented) + PRS6 = "PRS6", + // (undocumented) + S0 = "S0", + // (undocumented) + S1 = "S1", + // (undocumented) + S12 = "S12", + // (undocumented) + S2 = "S2", + // (undocumented) + S3 = "S3", + // (undocumented) + S4 = "S4", + // (undocumented) + S6 = "S6", + // (undocumented) + S7 = "S7", + // (undocumented) + S9 = "S9", + // (undocumented) + System = "System", + // (undocumented) + System0 = "System0", + // (undocumented) + System1 = "System1", + // (undocumented) + System2 = "System2", + // (undocumented) + System2L = "System2L", + // (undocumented) + System3 = "System3", + // (undocumented) + System3L = "System3L", + // (undocumented) + System4 = "System4", + // (undocumented) + System4L = "System4L" +} + +// @public +export enum KnownShortTermRetentionPolicyName { + // (undocumented) + Default = "default" +} + +// @public +export enum KnownSqlAgentConfigurationPropertiesState { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled" +} + +// @public +export enum KnownStorageAccountType { + // (undocumented) + GRS = "GRS", + // (undocumented) + LRS = "LRS", + // (undocumented) + ZRS = "ZRS" +} + +// @public +export enum KnownStorageCapabilityStorageAccountType { + // (undocumented) + GRS = "GRS", + // (undocumented) + LRS = "LRS", + // (undocumented) + ZRS = "ZRS" +} + +// @public +export enum KnownStorageKeyType { + // (undocumented) + SharedAccessKey = "SharedAccessKey", + // (undocumented) + StorageAccessKey = "StorageAccessKey" +} + +// @public +export enum KnownSyncAgentState { + // (undocumented) + NeverConnected = "NeverConnected", + // (undocumented) + Offline = "Offline", + // (undocumented) + Online = "Online" +} + +// @public +export enum KnownSyncConflictResolutionPolicy { + // (undocumented) + HubWin = "HubWin", + // (undocumented) + MemberWin = "MemberWin" +} + +// @public +export enum KnownSyncDirection { + // (undocumented) + Bidirectional = "Bidirectional", + // (undocumented) + OneWayHubToMember = "OneWayHubToMember", + // (undocumented) + OneWayMemberToHub = "OneWayMemberToHub" +} + +// @public +export enum KnownSyncGroupLogType { + // (undocumented) + All = "All", + // (undocumented) + Error = "Error", + // (undocumented) + Success = "Success", + // (undocumented) + Warning = "Warning" +} + +// @public +export enum KnownSyncGroupState { + // (undocumented) + Error = "Error", + // (undocumented) + Good = "Good", + // (undocumented) + NotReady = "NotReady", + // (undocumented) + Progressing = "Progressing", + // (undocumented) + Warning = "Warning" +} + +// @public +export enum KnownSyncMemberDbType { + // (undocumented) + AzureSqlDatabase = "AzureSqlDatabase", + // (undocumented) + SqlServerDatabase = "SqlServerDatabase" +} + +// @public +export enum KnownSyncMemberState { + // (undocumented) + DeProvisioned = "DeProvisioned", + // (undocumented) + DeProvisionFailed = "DeProvisionFailed", + // (undocumented) + DeProvisioning = "DeProvisioning", + // (undocumented) + DisabledBackupRestore = "DisabledBackupRestore", + // (undocumented) + DisabledTombstoneCleanup = "DisabledTombstoneCleanup", + // (undocumented) + Provisioned = "Provisioned", + // (undocumented) + ProvisionFailed = "ProvisionFailed", + // (undocumented) + Provisioning = "Provisioning", + // (undocumented) + ReprovisionFailed = "ReprovisionFailed", + // (undocumented) + Reprovisioning = "Reprovisioning", + // (undocumented) + SyncCancelled = "SyncCancelled", + // (undocumented) + SyncCancelling = "SyncCancelling", + // (undocumented) + SyncFailed = "SyncFailed", + // (undocumented) + SyncInProgress = "SyncInProgress", + // (undocumented) + SyncSucceeded = "SyncSucceeded", + // (undocumented) + SyncSucceededWithWarnings = "SyncSucceededWithWarnings", + // (undocumented) + UnProvisioned = "UnProvisioned", + // (undocumented) + UnReprovisioned = "UnReprovisioned" +} + +// @public +export enum KnownTableTemporalType { + // (undocumented) + HistoryTable = "HistoryTable", + // (undocumented) + NonTemporalTable = "NonTemporalTable", + // (undocumented) + SystemVersionedTemporalTable = "SystemVersionedTemporalTable" +} + +// @public +export enum KnownTargetBackupStorageRedundancy { + // (undocumented) + Geo = "Geo", + // (undocumented) + Local = "Local", + // (undocumented) + Zone = "Zone" +} + +// @public +export enum KnownTransparentDataEncryptionActivityStatus { + // (undocumented) + Decrypting = "Decrypting", + // (undocumented) + Encrypting = "Encrypting" +} + +// @public +export enum KnownTransparentDataEncryptionName { + // (undocumented) + Current = "current" +} + +// @public +export enum KnownUnitDefinitionType { + // (undocumented) + Bytes = "Bytes", + // (undocumented) + BytesPerSecond = "BytesPerSecond", + // (undocumented) + Count = "Count", + // (undocumented) + CountPerSecond = "CountPerSecond", + // (undocumented) + Percent = "Percent", + // (undocumented) + Seconds = "Seconds" +} + +// @public +export enum KnownUnitType { + // (undocumented) + Bytes = "bytes", + // (undocumented) + BytesPerSecond = "bytesPerSecond", + // (undocumented) + Count = "count", + // (undocumented) + CountPerSecond = "countPerSecond", + // (undocumented) + Percent = "percent", + // (undocumented) + Seconds = "seconds" +} + +// @public +export enum KnownUpsertManagedServerOperationStepStatus { + // (undocumented) + Canceled = "Canceled", + // (undocumented) + Completed = "Completed", + // (undocumented) + Failed = "Failed", + // (undocumented) + InProgress = "InProgress", + // (undocumented) + NotStarted = "NotStarted", + // (undocumented) + SlowedDown = "SlowedDown" +} + +// @public +export enum KnownVirtualNetworkRuleState { + // (undocumented) + Deleting = "Deleting", + // (undocumented) + Failed = "Failed", + // (undocumented) + Initializing = "Initializing", + // (undocumented) + InProgress = "InProgress", + // (undocumented) + Ready = "Ready", + // (undocumented) + Unknown = "Unknown" +} + +// @public +export enum KnownVulnerabilityAssessmentName { + // (undocumented) + Default = "default" +} + +// @public +export enum KnownVulnerabilityAssessmentScanState { + // (undocumented) + Failed = "Failed", + // (undocumented) + FailedToRun = "FailedToRun", + // (undocumented) + InProgress = "InProgress", + // (undocumented) + Passed = "Passed" +} + +// @public +export enum KnownVulnerabilityAssessmentScanTriggerType { + // (undocumented) + OnDemand = "OnDemand", + // (undocumented) + Recurring = "Recurring" +} + +// @public +export type LedgerDigestUploads = ProxyResource & { + digestStorageEndpoint?: string; + readonly state?: LedgerDigestUploadsState; +}; + +// @public +export interface LedgerDigestUploadsListResult { + readonly nextLink?: string; + readonly value?: LedgerDigestUploads[]; +} + +// @public +export type LedgerDigestUploadsName = string; + +// @public +export interface LedgerDigestUploadsOperations { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, parameters: LedgerDigestUploads, options?: LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams): Promise, LedgerDigestUploadsOperationsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, parameters: LedgerDigestUploads, options?: LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams): Promise; + beginDisable(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, options?: LedgerDigestUploadsOperationsDisableOptionalParams): Promise, LedgerDigestUploadsOperationsDisableResponse>>; + beginDisableAndWait(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, options?: LedgerDigestUploadsOperationsDisableOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, options?: LedgerDigestUploadsOperationsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: LedgerDigestUploadsOperationsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LedgerDigestUploadsOperationsCreateOrUpdateResponse = LedgerDigestUploads; + +// @public +export interface LedgerDigestUploadsOperationsDisableOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LedgerDigestUploadsOperationsDisableResponse = LedgerDigestUploads; + +// @public +export interface LedgerDigestUploadsOperationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LedgerDigestUploadsOperationsGetResponse = LedgerDigestUploads; + +// @public +export interface LedgerDigestUploadsOperationsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LedgerDigestUploadsOperationsListByDatabaseNextResponse = LedgerDigestUploadsListResult; + +// @public +export interface LedgerDigestUploadsOperationsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LedgerDigestUploadsOperationsListByDatabaseResponse = LedgerDigestUploadsListResult; + +// @public +export type LedgerDigestUploadsState = "Enabled" | "Disabled"; + +// @public +export interface LicenseTypeCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; +} + +// @public +export interface LocationCapabilities { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedManagedInstanceVersions?: ManagedInstanceVersionCapability[]; + readonly supportedServerVersions?: ServerVersionCapability[]; +} + +// @public +export interface LogicalServerSecurityAlertPolicyListResult { + readonly nextLink?: string; + readonly value?: ServerSecurityAlertPolicy[]; +} + +// @public +export interface LogSizeCapability { + readonly limit?: number; + readonly unit?: LogSizeUnit; +} + +// @public +export type LogSizeUnit = string; + +// @public +export type LongTermRetentionBackup = ProxyResource & { + readonly serverName?: string; + readonly serverCreateTime?: Date; + readonly databaseName?: string; + readonly databaseDeletionTime?: Date; + readonly backupTime?: Date; + readonly backupExpirationTime?: Date; + readonly backupStorageRedundancy?: BackupStorageRedundancy; + requestedBackupStorageRedundancy?: BackupStorageRedundancy; +}; + +// @public +export interface LongTermRetentionBackupListResult { + readonly nextLink?: string; + readonly value?: LongTermRetentionBackup[]; +} + +// @public +export type LongTermRetentionBackupOperationResult = ProxyResource & { + readonly requestId?: string; + readonly operationType?: string; + readonly fromBackupResourceId?: string; + readonly toBackupResourceId?: string; + readonly targetBackupStorageRedundancy?: BackupStorageRedundancy; + readonly status?: string; + readonly message?: string; +}; + +// @public +export interface LongTermRetentionBackups { + beginCopy(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyOptionalParams): Promise, LongTermRetentionBackupsCopyResponse>>; + beginCopyAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyOptionalParams): Promise; + beginCopyByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams): Promise, LongTermRetentionBackupsCopyByResourceGroupResponse>>; + beginCopyByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams): Promise; + beginDelete(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteOptionalParams): Promise; + beginDeleteByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams): Promise, void>>; + beginDeleteByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams): Promise; + beginUpdate(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateOptionalParams): Promise, LongTermRetentionBackupsUpdateResponse>>; + beginUpdateAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateOptionalParams): Promise; + beginUpdateByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams): Promise, LongTermRetentionBackupsUpdateByResourceGroupResponse>>; + beginUpdateByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams): Promise; + get(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsGetOptionalParams): Promise; + getByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsGetByResourceGroupOptionalParams): Promise; + listByDatabase(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: LongTermRetentionBackupsListByDatabaseOptionalParams): PagedAsyncIterableIterator; + listByLocation(locationName: string, options?: LongTermRetentionBackupsListByLocationOptionalParams): PagedAsyncIterableIterator; + listByResourceGroupDatabase(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams): PagedAsyncIterableIterator; + listByResourceGroupLocation(resourceGroupName: string, locationName: string, options?: LongTermRetentionBackupsListByResourceGroupLocationOptionalParams): PagedAsyncIterableIterator; + listByResourceGroupServer(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, options?: LongTermRetentionBackupsListByResourceGroupServerOptionalParams): PagedAsyncIterableIterator; + listByServer(locationName: string, longTermRetentionServerName: string, options?: LongTermRetentionBackupsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LongTermRetentionBackupsCopyByResourceGroupOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LongTermRetentionBackupsCopyByResourceGroupResponse = LongTermRetentionBackupOperationResult; + +// @public +export interface LongTermRetentionBackupsCopyOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LongTermRetentionBackupsCopyResponse = LongTermRetentionBackupOperationResult; + +// @public +export interface LongTermRetentionBackupsDeleteByResourceGroupOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface LongTermRetentionBackupsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface LongTermRetentionBackupsGetByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LongTermRetentionBackupsGetByResourceGroupResponse = LongTermRetentionBackup; + +// @public +export interface LongTermRetentionBackupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LongTermRetentionBackupsGetResponse = LongTermRetentionBackup; + +// @public +export interface LongTermRetentionBackupsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByDatabaseNextResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByDatabaseOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByDatabaseResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByLocationNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByLocationNextResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByLocationOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByLocationResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByResourceGroupDatabaseNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByResourceGroupDatabaseNextResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByResourceGroupDatabaseResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByResourceGroupLocationNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByResourceGroupLocationNextResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByResourceGroupLocationOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByResourceGroupLocationResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByResourceGroupServerNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByResourceGroupServerNextResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByResourceGroupServerOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByResourceGroupServerResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByServerNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByServerNextResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsListByServerOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionBackupsListByServerResponse = LongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionBackupsUpdateByResourceGroupOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LongTermRetentionBackupsUpdateByResourceGroupResponse = LongTermRetentionBackupOperationResult; + +// @public +export interface LongTermRetentionBackupsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LongTermRetentionBackupsUpdateResponse = LongTermRetentionBackupOperationResult; + +// @public +export interface LongTermRetentionManagedInstanceBackups { + beginDelete(locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsDeleteOptionalParams): Promise; + beginDeleteByResourceGroup(resourceGroupName: string, locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams): Promise, void>>; + beginDeleteByResourceGroupAndWait(resourceGroupName: string, locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams): Promise; + get(locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsGetOptionalParams): Promise; + getByResourceGroup(resourceGroupName: string, locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams): Promise; + listByDatabase(locationName: string, managedInstanceName: string, databaseName: string, options?: LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams): PagedAsyncIterableIterator; + listByInstance(locationName: string, managedInstanceName: string, options?: LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams): PagedAsyncIterableIterator; + listByLocation(locationName: string, options?: LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams): PagedAsyncIterableIterator; + listByResourceGroupDatabase(resourceGroupName: string, locationName: string, managedInstanceName: string, databaseName: string, options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams): PagedAsyncIterableIterator; + listByResourceGroupInstance(resourceGroupName: string, locationName: string, managedInstanceName: string, options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams): PagedAsyncIterableIterator; + listByResourceGroupLocation(resourceGroupName: string, locationName: string, options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface LongTermRetentionManagedInstanceBackupsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LongTermRetentionManagedInstanceBackupsGetByResourceGroupResponse = ManagedInstanceLongTermRetentionBackup; + +// @public +export interface LongTermRetentionManagedInstanceBackupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LongTermRetentionManagedInstanceBackupsGetResponse = ManagedInstanceLongTermRetentionBackup; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByDatabaseNextResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByDatabaseResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByInstanceNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByInstanceNextResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByInstanceResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByLocationNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByLocationNextResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByLocationResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams extends coreClient.OperationOptions { + databaseState?: DatabaseState; + onlyLatestPerDatabase?: boolean; +} + +// @public +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationResponse = ManagedInstanceLongTermRetentionBackupListResult; + +// @public +export interface LongTermRetentionPolicies { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, policyName: LongTermRetentionPolicyName, parameters: LongTermRetentionPolicy, options?: LongTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise, LongTermRetentionPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, policyName: LongTermRetentionPolicyName, parameters: LongTermRetentionPolicy, options?: LongTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, policyName: LongTermRetentionPolicyName, options?: LongTermRetentionPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: LongTermRetentionPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LongTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LongTermRetentionPoliciesCreateOrUpdateResponse = LongTermRetentionPolicy; + +// @public +export interface LongTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LongTermRetentionPoliciesGetResponse = LongTermRetentionPolicy; + +// @public +export interface LongTermRetentionPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LongTermRetentionPoliciesListByDatabaseNextResponse = LongTermRetentionPolicyListResult; + +// @public +export interface LongTermRetentionPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LongTermRetentionPoliciesListByDatabaseResponse = LongTermRetentionPolicyListResult; + +// @public +export type LongTermRetentionPolicy = ProxyResource & { + weeklyRetention?: string; + monthlyRetention?: string; + yearlyRetention?: string; + weekOfYear?: number; +}; + +// @public +export interface LongTermRetentionPolicyListResult { + readonly nextLink?: string; + readonly value?: LongTermRetentionPolicy[]; +} + +// @public +export type LongTermRetentionPolicyName = string; + +// @public +export interface MaintenanceConfigurationCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly zoneRedundant?: boolean; +} + +// @public +export type MaintenanceWindowOptions = ProxyResource & { + isEnabled?: boolean; + maintenanceWindowCycles?: MaintenanceWindowTimeRange[]; + minDurationInMinutes?: number; + defaultDurationInMinutes?: number; + minCycles?: number; + timeGranularityInMinutes?: number; + allowMultipleMaintenanceWindowsPerCycle?: boolean; +}; + +// @public +export interface MaintenanceWindowOptionsOperations { + get(resourceGroupName: string, serverName: string, databaseName: string, maintenanceWindowOptionsName: string, options?: MaintenanceWindowOptionsOperationsGetOptionalParams): Promise; +} + +// @public +export interface MaintenanceWindowOptionsOperationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MaintenanceWindowOptionsOperationsGetResponse = MaintenanceWindowOptions; + +// @public +export type MaintenanceWindows = ProxyResource & { + timeRanges?: MaintenanceWindowTimeRange[]; +}; + +// @public +export interface MaintenanceWindowsOperations { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, maintenanceWindowName: string, parameters: MaintenanceWindows, options?: MaintenanceWindowsOperationsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, maintenanceWindowName: string, options?: MaintenanceWindowsOperationsGetOptionalParams): Promise; +} + +// @public +export interface MaintenanceWindowsOperationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface MaintenanceWindowsOperationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type MaintenanceWindowsOperationsGetResponse = MaintenanceWindows; + +// @public +export interface MaintenanceWindowTimeRange { + dayOfWeek?: DayOfWeek; + duration?: string; + startTime?: string; +} + +// @public +export interface ManagedBackupShortTermRetentionPolicies { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise, ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise; + beginUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams): Promise, ManagedBackupShortTermRetentionPoliciesUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, options?: ManagedBackupShortTermRetentionPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy; + +// @public +export interface ManagedBackupShortTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedBackupShortTermRetentionPoliciesGetResponse = ManagedBackupShortTermRetentionPolicy; + +// @public +export interface ManagedBackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedBackupShortTermRetentionPoliciesListByDatabaseNextResponse = ManagedBackupShortTermRetentionPolicyListResult; + +// @public +export interface ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedBackupShortTermRetentionPoliciesListByDatabaseResponse = ManagedBackupShortTermRetentionPolicyListResult; + +// @public +export interface ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedBackupShortTermRetentionPoliciesUpdateResponse = ManagedBackupShortTermRetentionPolicy; + +// @public +export type ManagedBackupShortTermRetentionPolicy = ProxyResource & { + retentionDays?: number; +}; + +// @public +export interface ManagedBackupShortTermRetentionPolicyListResult { + readonly nextLink?: string; + readonly value?: ManagedBackupShortTermRetentionPolicy[]; +} + +// @public +export type ManagedDatabase = TrackedResource & { + collation?: string; + readonly status?: ManagedDatabaseStatus; + readonly creationDate?: Date; + readonly earliestRestorePoint?: Date; + restorePointInTime?: Date; + readonly defaultSecondaryLocation?: string; + catalogCollation?: CatalogCollationType; + createMode?: ManagedDatabaseCreateMode; + storageContainerUri?: string; + sourceDatabaseId?: string; + restorableDroppedDatabaseId?: string; + storageContainerSasToken?: string; + readonly failoverGroupId?: string; + recoverableDatabaseId?: string; + longTermRetentionBackupResourceId?: string; + autoCompleteRestore?: boolean; + lastBackupName?: string; +}; + +// @public +export interface ManagedDatabaseColumns { + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: ManagedDatabaseColumnsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseColumnsListByDatabaseOptionalParams): PagedAsyncIterableIterator; + listByTable(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, options?: ManagedDatabaseColumnsListByTableOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseColumnsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseColumnsGetResponse = DatabaseColumn; + +// @public +export interface ManagedDatabaseColumnsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { + column?: string[]; + orderBy?: string[]; + schema?: string[]; + skiptoken?: string; + table?: string[]; +} + +// @public +export type ManagedDatabaseColumnsListByDatabaseNextResponse = DatabaseColumnListResult; + +// @public +export interface ManagedDatabaseColumnsListByDatabaseOptionalParams extends coreClient.OperationOptions { + column?: string[]; + orderBy?: string[]; + schema?: string[]; + skiptoken?: string; + table?: string[]; +} + +// @public +export type ManagedDatabaseColumnsListByDatabaseResponse = DatabaseColumnListResult; + +// @public +export interface ManagedDatabaseColumnsListByTableNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ManagedDatabaseColumnsListByTableNextResponse = DatabaseColumnListResult; + +// @public +export interface ManagedDatabaseColumnsListByTableOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ManagedDatabaseColumnsListByTableResponse = DatabaseColumnListResult; + +// @public +export type ManagedDatabaseCreateMode = string; + +// @public +export interface ManagedDatabaseListResult { + readonly nextLink?: string; + readonly value?: ManagedDatabase[]; +} + +// @public +export interface ManagedDatabaseQueries { + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, queryId: string, options?: ManagedDatabaseQueriesGetOptionalParams): Promise; + listByQuery(resourceGroupName: string, managedInstanceName: string, databaseName: string, queryId: string, options?: ManagedDatabaseQueriesListByQueryOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseQueriesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseQueriesGetResponse = ManagedInstanceQuery; + +// @public +export interface ManagedDatabaseQueriesListByQueryNextOptionalParams extends coreClient.OperationOptions { + endTime?: string; + interval?: QueryTimeGrainType; + startTime?: string; +} + +// @public +export type ManagedDatabaseQueriesListByQueryNextResponse = ManagedInstanceQueryStatistics; + +// @public +export interface ManagedDatabaseQueriesListByQueryOptionalParams extends coreClient.OperationOptions { + endTime?: string; + interval?: QueryTimeGrainType; + startTime?: string; +} + +// @public +export type ManagedDatabaseQueriesListByQueryResponse = ManagedInstanceQueryStatistics; + +// @public +export interface ManagedDatabaseRecommendedSensitivityLabels { + update(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: RecommendedSensitivityLabelUpdateList, options?: ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams): Promise; +} + +// @public +export interface ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedDatabaseRestoreDetails { + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, restoreDetailsName: RestoreDetailsName, options?: ManagedDatabaseRestoreDetailsGetOptionalParams): Promise; +} + +// @public +export interface ManagedDatabaseRestoreDetailsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseRestoreDetailsGetResponse = ManagedDatabaseRestoreDetailsResult; + +// @public +export type ManagedDatabaseRestoreDetailsResult = ProxyResource & { + readonly status?: string; + readonly currentRestoringFileName?: string; + readonly lastRestoredFileName?: string; + readonly lastRestoredFileTime?: Date; + readonly percentCompleted?: number; + readonly unrestorableFiles?: string[]; + readonly numberOfFilesDetected?: number; + readonly lastUploadedFileName?: string; + readonly lastUploadedFileTime?: Date; + readonly blockReason?: string; +}; + +// @public +export interface ManagedDatabases { + beginCompleteRestore(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: CompleteDatabaseRestoreDefinition, options?: ManagedDatabasesCompleteRestoreOptionalParams): Promise, void>>; + beginCompleteRestoreAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: CompleteDatabaseRestoreDefinition, options?: ManagedDatabasesCompleteRestoreOptionalParams): Promise; + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabase, options?: ManagedDatabasesCreateOrUpdateOptionalParams): Promise, ManagedDatabasesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabase, options?: ManagedDatabasesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabasesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabasesDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseUpdate, options?: ManagedDatabasesUpdateOptionalParams): Promise, ManagedDatabasesUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseUpdate, options?: ManagedDatabasesUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabasesGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedDatabasesListByInstanceOptionalParams): PagedAsyncIterableIterator; + listInaccessibleByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedDatabasesListInaccessibleByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseSchemas { + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, options?: ManagedDatabaseSchemasGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSchemasListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseSchemasGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseSchemasGetResponse = DatabaseSchema; + +// @public +export interface ManagedDatabaseSchemasListByDatabaseNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ManagedDatabaseSchemasListByDatabaseNextResponse = DatabaseSchemaListResult; + +// @public +export interface ManagedDatabaseSchemasListByDatabaseOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ManagedDatabaseSchemasListByDatabaseResponse = DatabaseSchemaListResult; + +// @public +export interface ManagedDatabasesCompleteRestoreOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedDatabasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedDatabasesCreateOrUpdateResponse = ManagedDatabase; + +// @public +export interface ManagedDatabasesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedDatabaseSecurityAlertPolicies { + createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ManagedDatabaseSecurityAlertPolicy, options?: ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: ManagedDatabaseSecurityAlertPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateResponse = ManagedDatabaseSecurityAlertPolicy; + +// @public +export interface ManagedDatabaseSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseSecurityAlertPoliciesGetResponse = ManagedDatabaseSecurityAlertPolicy; + +// @public +export interface ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextResponse = ManagedDatabaseSecurityAlertPolicyListResult; + +// @public +export interface ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseSecurityAlertPoliciesListByDatabaseResponse = ManagedDatabaseSecurityAlertPolicyListResult; + +// @public +export type ManagedDatabaseSecurityAlertPolicy = ProxyResource & { + state?: SecurityAlertPolicyState; + disabledAlerts?: string[]; + emailAddresses?: string[]; + emailAccountAdmins?: boolean; + storageEndpoint?: string; + storageAccountAccessKey?: string; + retentionDays?: number; + readonly creationTime?: Date; +}; + +// @public +export interface ManagedDatabaseSecurityAlertPolicyListResult { + readonly nextLink?: string; + readonly value?: ManagedDatabaseSecurityAlertPolicy[]; +} + +// @public +export interface ManagedDatabaseSecurityEvents { + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSecurityEventsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseSecurityEventsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + skip?: number; + skiptoken?: string; + top?: number; +} + +// @public +export type ManagedDatabaseSecurityEventsListByDatabaseNextResponse = SecurityEventCollection; + +// @public +export interface ManagedDatabaseSecurityEventsListByDatabaseOptionalParams extends coreClient.OperationOptions { + filter?: string; + skip?: number; + skiptoken?: string; + top?: number; +} + +// @public +export type ManagedDatabaseSecurityEventsListByDatabaseResponse = SecurityEventCollection; + +// @public +export interface ManagedDatabaseSensitivityLabels { + createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: SensitivityLabel, options?: ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: ManagedDatabaseSensitivityLabelsDeleteOptionalParams): Promise; + disableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams): Promise; + enableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: SensitivityLabelSource, options?: ManagedDatabaseSensitivityLabelsGetOptionalParams): Promise; + listCurrentByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams): PagedAsyncIterableIterator; + listRecommendedByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: SensitivityLabelUpdateList, options?: ManagedDatabaseSensitivityLabelsUpdateOptionalParams): Promise; +} + +// @public +export interface ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseSensitivityLabelsCreateOrUpdateResponse = SensitivityLabel; + +// @public +export interface ManagedDatabaseSensitivityLabelsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedDatabaseSensitivityLabelsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseSensitivityLabelsGetResponse = SensitivityLabel; + +// @public +export interface ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextOptionalParams extends coreClient.OperationOptions { + // (undocumented) + count?: boolean; + filter?: string; + // (undocumented) + skipToken?: string; +} + +// @public +export type ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextResponse = SensitivityLabelListResult; + +// @public +export interface ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams extends coreClient.OperationOptions { + // (undocumented) + count?: boolean; + filter?: string; + // (undocumented) + skipToken?: string; +} + +// @public +export type ManagedDatabaseSensitivityLabelsListCurrentByDatabaseResponse = SensitivityLabelListResult; + +// @public +export interface ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + includeDisabledRecommendations?: boolean; + // (undocumented) + skipToken?: string; +} + +// @public +export type ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextResponse = SensitivityLabelListResult; + +// @public +export interface ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams extends coreClient.OperationOptions { + filter?: string; + includeDisabledRecommendations?: boolean; + // (undocumented) + skipToken?: string; +} + +// @public +export type ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseResponse = SensitivityLabelListResult; + +// @public +export interface ManagedDatabaseSensitivityLabelsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedDatabasesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabasesGetResponse = ManagedDatabase; + +// @public +export interface ManagedDatabasesListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabasesListByInstanceNextResponse = ManagedDatabaseListResult; + +// @public +export interface ManagedDatabasesListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabasesListByInstanceResponse = ManagedDatabaseListResult; + +// @public +export interface ManagedDatabasesListInaccessibleByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabasesListInaccessibleByInstanceNextResponse = ManagedDatabaseListResult; + +// @public +export interface ManagedDatabasesListInaccessibleByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabasesListInaccessibleByInstanceResponse = ManagedDatabaseListResult; + +// @public +export type ManagedDatabaseStatus = string; + +// @public +export interface ManagedDatabasesUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedDatabasesUpdateResponse = ManagedDatabase; + +// @public +export interface ManagedDatabaseTables { + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, options?: ManagedDatabaseTablesGetOptionalParams): Promise; + listBySchema(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, options?: ManagedDatabaseTablesListBySchemaOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseTablesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseTablesGetResponse = DatabaseTable; + +// @public +export interface ManagedDatabaseTablesListBySchemaNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ManagedDatabaseTablesListBySchemaNextResponse = DatabaseTableListResult; + +// @public +export interface ManagedDatabaseTablesListBySchemaOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ManagedDatabaseTablesListBySchemaResponse = DatabaseTableListResult; + +// @public +export interface ManagedDatabaseTransparentDataEncryption { + createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, tdeName: TransparentDataEncryptionName, parameters: ManagedTransparentDataEncryption, options?: ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, tdeName: TransparentDataEncryptionName, options?: ManagedDatabaseTransparentDataEncryptionGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseTransparentDataEncryptionCreateOrUpdateResponse = ManagedTransparentDataEncryption; + +// @public +export interface ManagedDatabaseTransparentDataEncryptionGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseTransparentDataEncryptionGetResponse = ManagedTransparentDataEncryption; + +// @public +export interface ManagedDatabaseTransparentDataEncryptionListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseTransparentDataEncryptionListByDatabaseNextResponse = ManagedTransparentDataEncryptionListResult; + +// @public +export interface ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseTransparentDataEncryptionListByDatabaseResponse = ManagedTransparentDataEncryptionListResult; + +// @public +export interface ManagedDatabaseUpdate { + autoCompleteRestore?: boolean; + catalogCollation?: CatalogCollationType; + collation?: string; + createMode?: ManagedDatabaseCreateMode; + readonly creationDate?: Date; + readonly defaultSecondaryLocation?: string; + readonly earliestRestorePoint?: Date; + readonly failoverGroupId?: string; + lastBackupName?: string; + longTermRetentionBackupResourceId?: string; + recoverableDatabaseId?: string; + restorableDroppedDatabaseId?: string; + restorePointInTime?: Date; + sourceDatabaseId?: string; + readonly status?: ManagedDatabaseStatus; + storageContainerSasToken?: string; + storageContainerUri?: string; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselines { + createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, parameters: DatabaseVulnerabilityAssessmentRuleBaseline, options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams): Promise; +} + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseVulnerabilityAssessmentRuleBaseline; + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseVulnerabilityAssessmentRuleBaseline; + +// @public +export interface ManagedDatabaseVulnerabilityAssessments { + createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: DatabaseVulnerabilityAssessment, options?: ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentScans { + beginInitiateScan(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams): Promise, void>>; + beginInitiateScanAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams): Promise; + export(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentScansExportResponse = DatabaseVulnerabilityAssessmentScansExport; + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentScansGetResponse = VulnerabilityAssessmentScanRecord; + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse = VulnerabilityAssessmentScanRecordListResult; + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseResponse = VulnerabilityAssessmentScanRecordListResult; + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateResponse = DatabaseVulnerabilityAssessment; + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentsGetResponse = DatabaseVulnerabilityAssessment; + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextResponse = DatabaseVulnerabilityAssessmentListResult; + +// @public +export interface ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedDatabaseVulnerabilityAssessmentsListByDatabaseResponse = DatabaseVulnerabilityAssessmentListResult; + +// @public +export type ManagedInstance = TrackedResource & { + identity?: ResourceIdentity; + sku?: Sku; + readonly provisioningState?: ManagedInstancePropertiesProvisioningState; + managedInstanceCreateMode?: ManagedServerCreateMode; + readonly fullyQualifiedDomainName?: string; + administratorLogin?: string; + administratorLoginPassword?: string; + subnetId?: string; + readonly state?: string; + licenseType?: ManagedInstanceLicenseType; + vCores?: number; + storageSizeInGB?: number; + collation?: string; + readonly dnsZone?: string; + dnsZonePartner?: string; + publicDataEndpointEnabled?: boolean; + sourceManagedInstanceId?: string; + restorePointInTime?: Date; + proxyOverride?: ManagedInstanceProxyOverride; + timezoneId?: string; + instancePoolId?: string; + maintenanceConfigurationId?: string; + readonly privateEndpointConnections?: ManagedInstancePecProperty[]; + minimalTlsVersion?: string; + storageAccountType?: StorageAccountType; + zoneRedundant?: boolean; + primaryUserAssignedIdentityId?: string; + keyId?: string; + administrators?: ManagedInstanceExternalAdministrator; +}; + +// @public +export type ManagedInstanceAdministrator = ProxyResource & { + administratorType?: ManagedInstanceAdministratorType; + login?: string; + sid?: string; + tenantId?: string; +}; + +// @public +export interface ManagedInstanceAdministratorListResult { + readonly nextLink?: string; + readonly value?: ManagedInstanceAdministrator[]; +} + +// @public +export interface ManagedInstanceAdministrators { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, parameters: ManagedInstanceAdministrator, options?: ManagedInstanceAdministratorsCreateOrUpdateOptionalParams): Promise, ManagedInstanceAdministratorsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, parameters: ManagedInstanceAdministrator, options?: ManagedInstanceAdministratorsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, options?: ManagedInstanceAdministratorsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, options?: ManagedInstanceAdministratorsDeleteOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, options?: ManagedInstanceAdministratorsGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceAdministratorsListByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstanceAdministratorsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedInstanceAdministratorsCreateOrUpdateResponse = ManagedInstanceAdministrator; + +// @public +export interface ManagedInstanceAdministratorsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedInstanceAdministratorsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceAdministratorsGetResponse = ManagedInstanceAdministrator; + +// @public +export interface ManagedInstanceAdministratorsListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceAdministratorsListByInstanceNextResponse = ManagedInstanceAdministratorListResult; + +// @public +export interface ManagedInstanceAdministratorsListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceAdministratorsListByInstanceResponse = ManagedInstanceAdministratorListResult; + +// @public +export type ManagedInstanceAdministratorType = string; + +// @public +export type ManagedInstanceAzureADOnlyAuthentication = ProxyResource & { + azureADOnlyAuthentication?: boolean; +}; + +// @public +export interface ManagedInstanceAzureADOnlyAuthentications { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, parameters: ManagedInstanceAzureADOnlyAuthentication, options?: ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams): Promise, ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, parameters: ManagedInstanceAzureADOnlyAuthentication, options?: ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, options?: ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, options?: ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, options?: ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse = ManagedInstanceAzureADOnlyAuthentication; + +// @public +export interface ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceAzureADOnlyAuthenticationsGetResponse = ManagedInstanceAzureADOnlyAuthentication; + +// @public +export interface ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextResponse = ManagedInstanceAzureADOnlyAuthListResult; + +// @public +export interface ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceAzureADOnlyAuthenticationsListByInstanceResponse = ManagedInstanceAzureADOnlyAuthListResult; + +// @public +export interface ManagedInstanceAzureADOnlyAuthListResult { + readonly nextLink?: string; + readonly value?: ManagedInstanceAzureADOnlyAuthentication[]; +} + +// @public +export interface ManagedInstanceEditionCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedFamilies?: ManagedInstanceFamilyCapability[]; + readonly supportedStorageCapabilities?: StorageCapability[]; + readonly zoneRedundant?: boolean; +} + +// @public +export type ManagedInstanceEncryptionProtector = ProxyResource & { + readonly kind?: string; + serverKeyName?: string; + serverKeyType?: ServerKeyType; + readonly uri?: string; + readonly thumbprint?: string; + autoRotationEnabled?: boolean; +}; + +// @public +export interface ManagedInstanceEncryptionProtectorListResult { + readonly nextLink?: string; + readonly value?: ManagedInstanceEncryptionProtector[]; +} + +// @public +export interface ManagedInstanceEncryptionProtectors { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, parameters: ManagedInstanceEncryptionProtector, options?: ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams): Promise, ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, parameters: ManagedInstanceEncryptionProtector, options?: ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams): Promise; + beginRevalidate(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, options?: ManagedInstanceEncryptionProtectorsRevalidateOptionalParams): Promise, void>>; + beginRevalidateAndWait(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, options?: ManagedInstanceEncryptionProtectorsRevalidateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, options?: ManagedInstanceEncryptionProtectorsGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse = ManagedInstanceEncryptionProtector; + +// @public +export interface ManagedInstanceEncryptionProtectorsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceEncryptionProtectorsGetResponse = ManagedInstanceEncryptionProtector; + +// @public +export interface ManagedInstanceEncryptionProtectorsListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceEncryptionProtectorsListByInstanceNextResponse = ManagedInstanceEncryptionProtectorListResult; + +// @public +export interface ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceEncryptionProtectorsListByInstanceResponse = ManagedInstanceEncryptionProtectorListResult; + +// @public +export interface ManagedInstanceEncryptionProtectorsRevalidateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedInstanceExternalAdministrator { + administratorType?: AdministratorType; + azureADOnlyAuthentication?: boolean; + login?: string; + principalType?: PrincipalType; + sid?: string; + tenantId?: string; +} + +// @public +export interface ManagedInstanceFamilyCapability { + readonly name?: string; + reason?: string; + readonly sku?: string; + readonly status?: CapabilityStatus; + readonly supportedLicenseTypes?: LicenseTypeCapability[]; + readonly supportedVcoresValues?: ManagedInstanceVcoresCapability[]; +} + +// @public +export type ManagedInstanceKey = ProxyResource & { + readonly kind?: string; + serverKeyType?: ServerKeyType; + uri?: string; + readonly thumbprint?: string; + readonly creationDate?: Date; + readonly autoRotationEnabled?: boolean; +}; + +// @public +export interface ManagedInstanceKeyListResult { + readonly nextLink?: string; + readonly value?: ManagedInstanceKey[]; +} + +// @public +export interface ManagedInstanceKeys { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, keyName: string, parameters: ManagedInstanceKey, options?: ManagedInstanceKeysCreateOrUpdateOptionalParams): Promise, ManagedInstanceKeysCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, keyName: string, parameters: ManagedInstanceKey, options?: ManagedInstanceKeysCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: ManagedInstanceKeysDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: ManagedInstanceKeysDeleteOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: ManagedInstanceKeysGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceKeysListByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstanceKeysCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedInstanceKeysCreateOrUpdateResponse = ManagedInstanceKey; + +// @public +export interface ManagedInstanceKeysDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedInstanceKeysGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceKeysGetResponse = ManagedInstanceKey; + +// @public +export interface ManagedInstanceKeysListByInstanceNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ManagedInstanceKeysListByInstanceNextResponse = ManagedInstanceKeyListResult; + +// @public +export interface ManagedInstanceKeysListByInstanceOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ManagedInstanceKeysListByInstanceResponse = ManagedInstanceKeyListResult; + +// @public +export type ManagedInstanceLicenseType = string; + +// @public +export interface ManagedInstanceListResult { + readonly nextLink?: string; + readonly value?: ManagedInstance[]; +} + +// @public +export type ManagedInstanceLongTermRetentionBackup = ProxyResource & { + readonly managedInstanceName?: string; + readonly managedInstanceCreateTime?: Date; + readonly databaseName?: string; + readonly databaseDeletionTime?: Date; + readonly backupTime?: Date; + readonly backupExpirationTime?: Date; + readonly backupStorageRedundancy?: BackupStorageRedundancy; +}; + +// @public +export interface ManagedInstanceLongTermRetentionBackupListResult { + readonly nextLink?: string; + readonly value?: ManagedInstanceLongTermRetentionBackup[]; +} + +// @public +export interface ManagedInstanceLongTermRetentionPolicies { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedInstanceLongTermRetentionPolicyName, parameters: ManagedInstanceLongTermRetentionPolicy, options?: ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise, ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedInstanceLongTermRetentionPolicyName, parameters: ManagedInstanceLongTermRetentionPolicy, options?: ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedInstanceLongTermRetentionPolicyName, options?: ManagedInstanceLongTermRetentionPoliciesGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse = ManagedInstanceLongTermRetentionPolicy; + +// @public +export interface ManagedInstanceLongTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceLongTermRetentionPoliciesGetResponse = ManagedInstanceLongTermRetentionPolicy; + +// @public +export interface ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextResponse = ManagedInstanceLongTermRetentionPolicyListResult; + +// @public +export interface ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceLongTermRetentionPoliciesListByDatabaseResponse = ManagedInstanceLongTermRetentionPolicyListResult; + +// @public +export type ManagedInstanceLongTermRetentionPolicy = ProxyResource & { + weeklyRetention?: string; + monthlyRetention?: string; + yearlyRetention?: string; + weekOfYear?: number; +}; + +// @public +export interface ManagedInstanceLongTermRetentionPolicyListResult { + readonly nextLink?: string; + readonly value?: ManagedInstanceLongTermRetentionPolicy[]; +} + +// @public +export type ManagedInstanceLongTermRetentionPolicyName = string; + +// @public +export interface ManagedInstanceMaintenanceConfigurationCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; +} + +// @public +export type ManagedInstanceOperation = ProxyResource & { + readonly managedInstanceName?: string; + readonly operation?: string; + readonly operationFriendlyName?: string; + readonly percentComplete?: number; + readonly startTime?: Date; + readonly state?: ManagementOperationState; + readonly errorCode?: number; + readonly errorDescription?: string; + readonly errorSeverity?: number; + readonly isUserError?: boolean; + readonly estimatedCompletionTime?: Date; + readonly description?: string; + readonly isCancellable?: boolean; + readonly operationParameters?: ManagedInstanceOperationParametersPair; + readonly operationSteps?: ManagedInstanceOperationSteps; +}; + +// @public +export interface ManagedInstanceOperationListResult { + readonly nextLink?: string; + readonly value?: ManagedInstanceOperation[]; +} + +// @public +export interface ManagedInstanceOperationParametersPair { + readonly currentParameters?: UpsertManagedServerOperationParameters; + readonly requestedParameters?: UpsertManagedServerOperationParameters; +} + +// @public +export interface ManagedInstanceOperations { + cancel(resourceGroupName: string, managedInstanceName: string, operationId: string, options?: ManagedInstanceOperationsCancelOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, operationId: string, options?: ManagedInstanceOperationsGetOptionalParams): Promise; + listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceOperationsListByManagedInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstanceOperationsCancelOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedInstanceOperationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceOperationsGetResponse = ManagedInstanceOperation; + +// @public +export interface ManagedInstanceOperationsListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceOperationsListByManagedInstanceNextResponse = ManagedInstanceOperationListResult; + +// @public +export interface ManagedInstanceOperationsListByManagedInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceOperationsListByManagedInstanceResponse = ManagedInstanceOperationListResult; + +// @public +export interface ManagedInstanceOperationSteps { + readonly currentStep?: number; + readonly stepsList?: UpsertManagedServerOperationStep[]; + readonly totalSteps?: string; +} + +// @public +export interface ManagedInstancePairInfo { + partnerManagedInstanceId?: string; + primaryManagedInstanceId?: string; +} + +// @public +export interface ManagedInstancePecProperty { + readonly id?: string; + readonly properties?: ManagedInstancePrivateEndpointConnectionProperties; +} + +// @public +export type ManagedInstancePrivateEndpointConnection = ProxyResource & { + privateEndpoint?: ManagedInstancePrivateEndpointProperty; + privateLinkServiceConnectionState?: ManagedInstancePrivateLinkServiceConnectionStateProperty; + readonly provisioningState?: string; +}; + +// @public +export interface ManagedInstancePrivateEndpointConnectionListResult { + readonly nextLink?: string; + readonly value?: ManagedInstancePrivateEndpointConnection[]; +} + +// @public +export interface ManagedInstancePrivateEndpointConnectionProperties { + privateEndpoint?: ManagedInstancePrivateEndpointProperty; + privateLinkServiceConnectionState?: ManagedInstancePrivateLinkServiceConnectionStateProperty; + readonly provisioningState?: string; +} + +// @public +export interface ManagedInstancePrivateEndpointConnections { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, parameters: ManagedInstancePrivateEndpointConnection, options?: ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise, ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, parameters: ManagedInstancePrivateEndpointConnection, options?: ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, options?: ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, options?: ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, options?: ManagedInstancePrivateEndpointConnectionsGetOptionalParams): Promise; + listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse = ManagedInstancePrivateEndpointConnection; + +// @public +export interface ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedInstancePrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstancePrivateEndpointConnectionsGetResponse = ManagedInstancePrivateEndpointConnection; + +// @public +export interface ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextResponse = ManagedInstancePrivateEndpointConnectionListResult; + +// @public +export interface ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstancePrivateEndpointConnectionsListByManagedInstanceResponse = ManagedInstancePrivateEndpointConnectionListResult; + +// @public (undocumented) +export interface ManagedInstancePrivateEndpointProperty { + id?: string; +} + +// @public +export type ManagedInstancePrivateLink = ProxyResource & { + readonly properties?: ManagedInstancePrivateLinkProperties; +}; + +// @public +export interface ManagedInstancePrivateLinkListResult { + readonly nextLink?: string; + readonly value?: ManagedInstancePrivateLink[]; +} + +// @public +export interface ManagedInstancePrivateLinkProperties { + readonly groupId?: string; + readonly requiredMembers?: string[]; +} + +// @public +export interface ManagedInstancePrivateLinkResources { + get(resourceGroupName: string, managedInstanceName: string, groupName: string, options?: ManagedInstancePrivateLinkResourcesGetOptionalParams): Promise; + listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstancePrivateLinkResourcesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstancePrivateLinkResourcesGetResponse = ManagedInstancePrivateLink; + +// @public +export interface ManagedInstancePrivateLinkResourcesListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstancePrivateLinkResourcesListByManagedInstanceNextResponse = ManagedInstancePrivateLinkListResult; + +// @public +export interface ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstancePrivateLinkResourcesListByManagedInstanceResponse = ManagedInstancePrivateLinkListResult; + +// @public (undocumented) +export interface ManagedInstancePrivateLinkServiceConnectionStateProperty { + readonly actionsRequired?: string; + description: string; + status: string; +} + +// @public +export type ManagedInstancePropertiesProvisioningState = string; + +// @public +export type ManagedInstanceProxyOverride = string; + +// @public +export type ManagedInstanceQuery = ProxyResource & { + queryText?: string; +}; + +// @public +export interface ManagedInstanceQueryStatistics { + readonly nextLink?: string; + readonly value?: QueryStatistics[]; +} + +// @public +export interface ManagedInstances { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: ManagedInstance, options?: ManagedInstancesCreateOrUpdateOptionalParams): Promise, ManagedInstancesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, parameters: ManagedInstance, options?: ManagedInstancesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesDeleteOptionalParams): Promise; + beginFailover(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesFailoverOptionalParams): Promise, void>>; + beginFailoverAndWait(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesFailoverOptionalParams): Promise; + beginUpdate(resourceGroupName: string, managedInstanceName: string, parameters: ManagedInstanceUpdate, options?: ManagedInstancesUpdateOptionalParams): Promise, ManagedInstancesUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, parameters: ManagedInstanceUpdate, options?: ManagedInstancesUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesGetOptionalParams): Promise; + list(options?: ManagedInstancesListOptionalParams): PagedAsyncIterableIterator; + listByInstancePool(resourceGroupName: string, instancePoolName: string, options?: ManagedInstancesListByInstancePoolOptionalParams): PagedAsyncIterableIterator; + listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesListByManagedInstanceOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: ManagedInstancesListByResourceGroupOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstancesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedInstancesCreateOrUpdateResponse = ManagedInstance; + +// @public +export interface ManagedInstancesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedInstancesFailoverOptionalParams extends coreClient.OperationOptions { + replicaType?: ReplicaType; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedInstancesGetOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ManagedInstancesGetResponse = ManagedInstance; + +// @public +export interface ManagedInstancesListByInstancePoolNextOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ManagedInstancesListByInstancePoolNextResponse = ManagedInstanceListResult; + +// @public +export interface ManagedInstancesListByInstancePoolOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ManagedInstancesListByInstancePoolResponse = ManagedInstanceListResult; + +// @public +export interface ManagedInstancesListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions { + aggregationFunction?: AggregationFunctionType; + databases?: string; + endTime?: string; + interval?: QueryTimeGrainType; + numberOfQueries?: number; + observationMetric?: MetricType; + startTime?: string; +} + +// @public +export type ManagedInstancesListByManagedInstanceNextResponse = TopQueriesListResult; + +// @public +export interface ManagedInstancesListByManagedInstanceOptionalParams extends coreClient.OperationOptions { + aggregationFunction?: AggregationFunctionType; + databases?: string; + endTime?: string; + interval?: QueryTimeGrainType; + numberOfQueries?: number; + observationMetric?: MetricType; + startTime?: string; +} + +// @public +export type ManagedInstancesListByManagedInstanceResponse = TopQueriesListResult; + +// @public +export interface ManagedInstancesListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ManagedInstancesListByResourceGroupNextResponse = ManagedInstanceListResult; + +// @public +export interface ManagedInstancesListByResourceGroupOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ManagedInstancesListByResourceGroupResponse = ManagedInstanceListResult; + +// @public +export interface ManagedInstancesListNextOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ManagedInstancesListNextResponse = ManagedInstanceListResult; + +// @public +export interface ManagedInstancesListOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ManagedInstancesListResponse = ManagedInstanceListResult; + +// @public +export interface ManagedInstancesUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedInstancesUpdateResponse = ManagedInstance; + +// @public +export interface ManagedInstanceTdeCertificates { + beginCreate(resourceGroupName: string, managedInstanceName: string, parameters: TdeCertificate, options?: ManagedInstanceTdeCertificatesCreateOptionalParams): Promise, void>>; + beginCreateAndWait(resourceGroupName: string, managedInstanceName: string, parameters: TdeCertificate, options?: ManagedInstanceTdeCertificatesCreateOptionalParams): Promise; +} + +// @public +export interface ManagedInstanceTdeCertificatesCreateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ManagedInstanceUpdate { + administratorLogin?: string; + administratorLoginPassword?: string; + administrators?: ManagedInstanceExternalAdministrator; + collation?: string; + readonly dnsZone?: string; + dnsZonePartner?: string; + readonly fullyQualifiedDomainName?: string; + identity?: ResourceIdentity; + instancePoolId?: string; + keyId?: string; + licenseType?: ManagedInstanceLicenseType; + maintenanceConfigurationId?: string; + managedInstanceCreateMode?: ManagedServerCreateMode; + minimalTlsVersion?: string; + primaryUserAssignedIdentityId?: string; + readonly privateEndpointConnections?: ManagedInstancePecProperty[]; + readonly provisioningState?: ManagedInstancePropertiesProvisioningState; + proxyOverride?: ManagedInstanceProxyOverride; + publicDataEndpointEnabled?: boolean; + restorePointInTime?: Date; + sku?: Sku; + sourceManagedInstanceId?: string; + readonly state?: string; + storageAccountType?: StorageAccountType; + storageSizeInGB?: number; + subnetId?: string; + tags?: { + [propertyName: string]: string; + }; + timezoneId?: string; + vCores?: number; + zoneRedundant?: boolean; +} + +// @public +export interface ManagedInstanceVcoresCapability { + readonly includedMaxSize?: MaxSizeCapability; + readonly instancePoolSupported?: boolean; + readonly name?: string; + reason?: string; + readonly standaloneSupported?: boolean; + readonly status?: CapabilityStatus; + readonly supportedMaintenanceConfigurations?: ManagedInstanceMaintenanceConfigurationCapability[]; + readonly supportedStorageSizes?: MaxSizeRangeCapability[]; + readonly value?: number; +} + +// @public +export interface ManagedInstanceVersionCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedEditions?: ManagedInstanceEditionCapability[]; + readonly supportedInstancePoolEditions?: InstancePoolEditionCapability[]; +} + +// @public +export type ManagedInstanceVulnerabilityAssessment = ProxyResource & { + storageContainerPath?: string; + storageContainerSasKey?: string; + storageAccountAccessKey?: string; + recurringScans?: VulnerabilityAssessmentRecurringScansProperties; +}; + +// @public +export interface ManagedInstanceVulnerabilityAssessmentListResult { + readonly nextLink?: string; + readonly value?: ManagedInstanceVulnerabilityAssessment[]; +} + +// @public +export interface ManagedInstanceVulnerabilityAssessments { + createOrUpdate(resourceGroupName: string, managedInstanceName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: ManagedInstanceVulnerabilityAssessment, options?: ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, managedInstanceName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedInstanceVulnerabilityAssessmentsGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateResponse = ManagedInstanceVulnerabilityAssessment; + +// @public +export interface ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedInstanceVulnerabilityAssessmentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceVulnerabilityAssessmentsGetResponse = ManagedInstanceVulnerabilityAssessment; + +// @public +export interface ManagedInstanceVulnerabilityAssessmentsListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceVulnerabilityAssessmentsListByInstanceNextResponse = ManagedInstanceVulnerabilityAssessmentListResult; + +// @public +export interface ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedInstanceVulnerabilityAssessmentsListByInstanceResponse = ManagedInstanceVulnerabilityAssessmentListResult; + +// @public +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise, ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise; + beginUpdate(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams): Promise, ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams): Promise; + listByRestorableDroppedDatabase(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy; + +// @public +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse = ManagedBackupShortTermRetentionPolicy; + +// @public +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextResponse = ManagedBackupShortTermRetentionPolicyListResult; + +// @public +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseResponse = ManagedBackupShortTermRetentionPolicyListResult; + +// @public +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse = ManagedBackupShortTermRetentionPolicy; + +// @public +export type ManagedServerCreateMode = string; + +// @public +export interface ManagedServerSecurityAlertPolicies { + beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ManagedServerSecurityAlertPolicy, options?: ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise, ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ManagedServerSecurityAlertPolicy, options?: ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: ManagedServerSecurityAlertPoliciesGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse = ManagedServerSecurityAlertPolicy; + +// @public +export interface ManagedServerSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedServerSecurityAlertPoliciesGetResponse = ManagedServerSecurityAlertPolicy; + +// @public +export interface ManagedServerSecurityAlertPoliciesListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedServerSecurityAlertPoliciesListByInstanceNextResponse = ManagedServerSecurityAlertPolicyListResult; + +// @public +export interface ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedServerSecurityAlertPoliciesListByInstanceResponse = ManagedServerSecurityAlertPolicyListResult; + +// @public +export type ManagedServerSecurityAlertPolicy = ProxyResource & { + readonly systemData?: SystemData; + state?: SecurityAlertsPolicyState; + disabledAlerts?: string[]; + emailAddresses?: string[]; + emailAccountAdmins?: boolean; + storageEndpoint?: string; + storageAccountAccessKey?: string; + retentionDays?: number; + readonly creationTime?: Date; +}; + +// @public +export interface ManagedServerSecurityAlertPolicyListResult { + readonly nextLink?: string; + readonly value?: ManagedServerSecurityAlertPolicy[]; +} + +// @public +export type ManagedShortTermRetentionPolicyName = string; + +// @public +export type ManagedTransparentDataEncryption = ProxyResource & { + state?: TransparentDataEncryptionState; +}; + +// @public +export interface ManagedTransparentDataEncryptionListResult { + readonly nextLink?: string; + readonly value?: ManagedTransparentDataEncryption[]; +} + +// @public +export type ManagementOperationState = string; + +// @public +export interface MaxSizeCapability { + readonly limit?: number; + readonly unit?: MaxSizeUnit; +} + +// @public +export interface MaxSizeRangeCapability { + readonly logSize?: LogSizeCapability; + readonly maxValue?: MaxSizeCapability; + readonly minValue?: MaxSizeCapability; + reason?: string; + readonly scaleSize?: MaxSizeCapability; + readonly status?: CapabilityStatus; +} + +// @public +export type MaxSizeUnit = string; + +// @public +export interface Metric { + readonly endTime?: Date; + readonly metricValues?: MetricValue[]; + readonly name?: MetricName; + readonly startTime?: Date; + readonly timeGrain?: string; + readonly unit?: UnitType; +} + +// @public +export interface MetricAvailability { + readonly retention?: string; + readonly timeGrain?: string; +} + +// @public +export interface MetricDefinition { + readonly metricAvailabilities?: MetricAvailability[]; + readonly name?: MetricName; + readonly primaryAggregationType?: PrimaryAggregationType; + readonly resourceUri?: string; + readonly unit?: UnitDefinitionType; +} + +// @public +export interface MetricDefinitionListResult { + value: MetricDefinition[]; +} + +// @public +export interface MetricListResult { + value: Metric[]; +} + +// @public +export interface MetricName { + readonly localizedValue?: string; + readonly value?: string; +} + +// @public +export type MetricType = string; + +// @public +export interface MetricValue { + readonly average?: number; + readonly count?: number; + readonly maximum?: number; + readonly minimum?: number; + readonly timestamp?: Date; + readonly total?: number; +} + +// @public +export interface MinCapacityCapability { + reason?: string; + readonly status?: CapabilityStatus; + readonly value?: number; +} + +// @public +export interface Name { + localizedValue?: string; + value?: string; +} + +// @public +export interface NetworkIsolationSettings { + sqlServerResourceId?: string; + storageAccountResourceId?: string; +} + +// @public +export interface Operation { + readonly display?: OperationDisplay; + readonly name?: string; + readonly origin?: OperationOrigin; + readonly properties?: { + [propertyName: string]: Record; + }; +} + +// @public +export interface OperationDisplay { + readonly description?: string; + readonly operation?: string; + readonly provider?: string; + readonly resource?: string; +} + +// @public +export interface OperationImpact { + readonly changeValueAbsolute?: number; + readonly changeValueRelative?: number; + readonly name?: string; + readonly unit?: string; +} + +// @public +export interface OperationListResult { + readonly nextLink?: string; + readonly value?: Operation[]; +} + +// @public +export type OperationMode = string; + +// @public +export type OperationOrigin = string; + +// @public +export interface Operations { + list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export type OperationsHealth = ProxyResource & { + readonly namePropertiesName?: string; + readonly health?: string; + readonly description?: string; +}; + +// @public +export interface OperationsHealthListResult { + readonly nextLink?: string; + readonly value?: OperationsHealth[]; +} + +// @public +export interface OperationsHealthOperations { + listByLocation(locationName: string, options?: OperationsHealthOperationsListByLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface OperationsHealthOperationsListByLocationNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsHealthOperationsListByLocationNextResponse = OperationsHealthListResult; + +// @public +export interface OperationsHealthOperationsListByLocationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsHealthOperationsListByLocationResponse = OperationsHealthListResult; + +// @public +export interface OperationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListNextResponse = OperationListResult; + +// @public +export interface OperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListResponse = OperationListResult; + +// @public +export type OutboundFirewallRule = ProxyResource & { + readonly provisioningState?: string; +}; + +// @public +export interface OutboundFirewallRuleListResult { + readonly nextLink?: string; + readonly value?: OutboundFirewallRule[]; +} + +// @public +export interface OutboundFirewallRules { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, parameters: OutboundFirewallRule, options?: OutboundFirewallRulesCreateOrUpdateOptionalParams): Promise, OutboundFirewallRulesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, parameters: OutboundFirewallRule, options?: OutboundFirewallRulesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, options?: OutboundFirewallRulesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, options?: OutboundFirewallRulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, options?: OutboundFirewallRulesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: OutboundFirewallRulesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface OutboundFirewallRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type OutboundFirewallRulesCreateOrUpdateResponse = OutboundFirewallRule; + +// @public +export interface OutboundFirewallRulesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface OutboundFirewallRulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OutboundFirewallRulesGetResponse = OutboundFirewallRule; + +// @public +export interface OutboundFirewallRulesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OutboundFirewallRulesListByServerNextResponse = OutboundFirewallRuleListResult; + +// @public +export interface OutboundFirewallRulesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OutboundFirewallRulesListByServerResponse = OutboundFirewallRuleListResult; + +// @public +export interface PartnerInfo { + id: string; + readonly location?: string; + readonly replicationRole?: FailoverGroupReplicationRole; +} + +// @public +export interface PartnerRegionInfo { + location?: string; + readonly replicationRole?: InstanceFailoverGroupReplicationRole; +} + +// @public +export type PauseDelayTimeUnit = string; + +// @public +export interface PerformanceLevelCapability { + readonly unit?: PerformanceLevelUnit; + readonly value?: number; +} + +// @public +export type PerformanceLevelUnit = string; + +// @public +export type PrimaryAggregationType = string; + +// @public +export type PrincipalType = string; + +// @public +export type PrivateEndpointConnection = ProxyResource & { + privateEndpoint?: PrivateEndpointProperty; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty; + readonly provisioningState?: PrivateEndpointProvisioningState; +}; + +// @public +export interface PrivateEndpointConnectionListResult { + readonly nextLink?: string; + readonly value?: PrivateEndpointConnection[]; +} + +// @public +export interface PrivateEndpointConnectionProperties { + privateEndpoint?: PrivateEndpointProperty; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty; + readonly provisioningState?: PrivateEndpointProvisioningState; +} + +// @public +export interface PrivateEndpointConnectionRequestStatus { + readonly privateEndpointConnectionName?: string; + readonly privateLinkServiceId?: string; + readonly status?: string; +} + +// @public +export interface PrivateEndpointConnections { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise, PrivateEndpointConnectionsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: PrivateEndpointConnectionsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; + +// @public +export interface PrivateEndpointConnectionsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByServerNextResponse = PrivateEndpointConnectionListResult; + +// @public +export interface PrivateEndpointConnectionsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByServerResponse = PrivateEndpointConnectionListResult; + +// @public (undocumented) +export interface PrivateEndpointProperty { + id?: string; +} + +// @public +export type PrivateEndpointProvisioningState = string; + +// @public +export type PrivateLinkResource = ProxyResource & { + readonly properties?: PrivateLinkResourceProperties; +}; + +// @public +export interface PrivateLinkResourceListResult { + readonly nextLink?: string; + readonly value?: PrivateLinkResource[]; +} + +// @public +export interface PrivateLinkResourceProperties { + readonly groupId?: string; + readonly requiredMembers?: string[]; + readonly requiredZoneNames?: string[]; +} + +// @public +export interface PrivateLinkResources { + get(resourceGroupName: string, serverName: string, groupName: string, options?: PrivateLinkResourcesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: PrivateLinkResourcesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateLinkResourcesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesGetResponse = PrivateLinkResource; + +// @public +export interface PrivateLinkResourcesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByServerNextResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkResourcesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByServerResponse = PrivateLinkResourceListResult; + +// @public +export type PrivateLinkServiceConnectionStateActionsRequire = string; + +// @public (undocumented) +export interface PrivateLinkServiceConnectionStateProperty { + readonly actionsRequired?: PrivateLinkServiceConnectionStateActionsRequire; + description: string; + status: PrivateLinkServiceConnectionStateStatus; +} + +// @public +export type PrivateLinkServiceConnectionStateStatus = string; + +// @public +export type ProvisioningState = string; + +// @public +export type ProxyResource = Resource & {}; + +// @public +export type ProxyResourceWithWritableName = ResourceWithWritableName & {}; + +// @public +export interface QueryMetricInterval { + readonly executionCount?: number; + readonly intervalStartTime?: string; + readonly intervalType?: QueryTimeGrainType; + metrics?: QueryMetricProperties[]; +} + +// @public +export interface QueryMetricProperties { + readonly avg?: number; + readonly displayName?: string; + readonly max?: number; + readonly min?: number; + readonly name?: string; + readonly stdev?: number; + readonly sum?: number; + readonly unit?: QueryMetricUnitType; + readonly value?: number; +} + +// @public +export type QueryMetricUnitType = string; + +// @public (undocumented) +export type QueryStatistics = ProxyResource & { + readonly databaseName?: string; + readonly queryId?: string; + readonly startTime?: string; + readonly endTime?: string; + intervals?: QueryMetricInterval[]; +}; + +// @public +export interface QueryStatisticsProperties { + readonly databaseName?: string; + readonly endTime?: string; + intervals?: QueryMetricInterval[]; + readonly queryId?: string; + readonly startTime?: string; +} + +// @public +export type QueryTimeGrainType = string; + +// @public +export type ReadOnlyEndpointFailoverPolicy = string; + +// @public +export interface ReadScaleCapability { + readonly maxNumberOfReplicas?: number; + reason?: string; + readonly status?: CapabilityStatus; +} + +// @public +export type ReadWriteEndpointFailoverPolicy = string; + +// @public +export type RecommendedAction = ProxyResource & { + readonly kind?: string; + readonly location?: string; + readonly recommendationReason?: string; + readonly validSince?: Date; + readonly lastRefresh?: Date; + state?: RecommendedActionStateInfo; + readonly isExecutableAction?: boolean; + readonly isRevertableAction?: boolean; + readonly isArchivedAction?: boolean; + readonly executeActionStartTime?: Date; + readonly executeActionDuration?: string; + readonly revertActionStartTime?: Date; + readonly revertActionDuration?: string; + readonly executeActionInitiatedBy?: RecommendedActionInitiatedBy; + readonly executeActionInitiatedTime?: Date; + readonly revertActionInitiatedBy?: RecommendedActionInitiatedBy; + readonly revertActionInitiatedTime?: Date; + readonly score?: number; + readonly implementationDetails?: RecommendedActionImplementationInfo; + readonly errorDetails?: RecommendedActionErrorInfo; + readonly estimatedImpact?: RecommendedActionImpactRecord[]; + readonly observedImpact?: RecommendedActionImpactRecord[]; + readonly timeSeries?: RecommendedActionMetricInfo[]; + readonly linkedObjects?: string[]; + readonly details?: { + [propertyName: string]: Record; + }; +}; + +// @public +export type RecommendedActionCurrentState = string; + +// @public +export interface RecommendedActionErrorInfo { + readonly errorCode?: string; + readonly isRetryable?: IsRetryable; +} + +// @public +export interface RecommendedActionImpactRecord { + readonly absoluteValue?: number; + readonly changeValueAbsolute?: number; + readonly changeValueRelative?: number; + readonly dimensionName?: string; + readonly unit?: string; +} + +// @public +export interface RecommendedActionImplementationInfo { + readonly method?: ImplementationMethod; + readonly script?: string; +} + +// @public +export type RecommendedActionInitiatedBy = "User" | "System"; + +// @public +export interface RecommendedActionMetricInfo { + readonly metricName?: string; + readonly startTime?: Date; + readonly timeGrain?: string; + readonly unit?: string; + readonly value?: number; +} + +// @public +export interface RecommendedActionStateInfo { + readonly actionInitiatedBy?: RecommendedActionInitiatedBy; + currentValue: RecommendedActionCurrentState; + readonly lastModified?: Date; +} + +// @public +export interface RecommendedSensitivityLabels { + update(resourceGroupName: string, serverName: string, databaseName: string, parameters: RecommendedSensitivityLabelUpdateList, options?: RecommendedSensitivityLabelsUpdateOptionalParams): Promise; +} + +// @public +export interface RecommendedSensitivityLabelsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RecommendedSensitivityLabelUpdate = ProxyResource & { + op?: RecommendedSensitivityLabelUpdateKind; + schema?: string; + table?: string; + column?: string; +}; + +// @public +export type RecommendedSensitivityLabelUpdateKind = "enable" | "disable"; + +// @public +export interface RecommendedSensitivityLabelUpdateList { + // (undocumented) + operations?: RecommendedSensitivityLabelUpdate[]; +} + +// @public +export type RecoverableDatabase = ProxyResource & { + readonly edition?: string; + readonly serviceLevelObjective?: string; + readonly elasticPoolName?: string; + readonly lastAvailableBackupDate?: Date; +}; + +// @public +export interface RecoverableDatabaseListResult { + value: RecoverableDatabase[]; +} + +// @public +export interface RecoverableDatabases { + get(resourceGroupName: string, serverName: string, databaseName: string, options?: RecoverableDatabasesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: RecoverableDatabasesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RecoverableDatabasesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RecoverableDatabasesGetResponse = RecoverableDatabase; + +// @public +export interface RecoverableDatabasesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RecoverableDatabasesListByServerResponse = RecoverableDatabaseListResult; + +// @public +export type RecoverableManagedDatabase = ProxyResource & { + readonly lastAvailableBackupDate?: string; +}; + +// @public +export interface RecoverableManagedDatabaseListResult { + readonly nextLink?: string; + readonly value?: RecoverableManagedDatabase[]; +} + +// @public +export interface RecoverableManagedDatabases { + get(resourceGroupName: string, managedInstanceName: string, recoverableDatabaseName: string, options?: RecoverableManagedDatabasesGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: RecoverableManagedDatabasesListByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RecoverableManagedDatabasesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RecoverableManagedDatabasesGetResponse = RecoverableManagedDatabase; + +// @public +export interface RecoverableManagedDatabasesListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RecoverableManagedDatabasesListByInstanceNextResponse = RecoverableManagedDatabaseListResult; + +// @public +export interface RecoverableManagedDatabasesListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RecoverableManagedDatabasesListByInstanceResponse = RecoverableManagedDatabaseListResult; + +// @public +export type ReplicationLink = ProxyResource & { + readonly partnerServer?: string; + readonly partnerDatabase?: string; + readonly partnerLocation?: string; + readonly role?: ReplicationRole; + readonly partnerRole?: ReplicationRole; + readonly replicationMode?: string; + readonly startTime?: Date; + readonly percentComplete?: number; + readonly replicationState?: ReplicationState; + readonly isTerminationAllowed?: boolean; + readonly linkType?: ReplicationLinkType; +}; + +// @public +export interface ReplicationLinkListResult { + readonly nextLink?: string; + readonly value?: ReplicationLink[]; +} + +// @public +export interface ReplicationLinks { + beginFailover(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksFailoverOptionalParams): Promise, void>>; + beginFailoverAllowDataLoss(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksFailoverAllowDataLossOptionalParams): Promise, void>>; + beginFailoverAllowDataLossAndWait(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksFailoverAllowDataLossOptionalParams): Promise; + beginFailoverAndWait(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksFailoverOptionalParams): Promise; + beginUnlink(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, parameters: UnlinkParameters, options?: ReplicationLinksUnlinkOptionalParams): Promise, void>>; + beginUnlinkAndWait(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, parameters: UnlinkParameters, options?: ReplicationLinksUnlinkOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: ReplicationLinksListByDatabaseOptionalParams): PagedAsyncIterableIterator; + listByServer(resourceGroupName: string, serverName: string, options?: ReplicationLinksListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ReplicationLinksDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ReplicationLinksFailoverAllowDataLossOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ReplicationLinksFailoverOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ReplicationLinksGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ReplicationLinksGetResponse = ReplicationLink; + +// @public +export interface ReplicationLinksListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ReplicationLinksListByDatabaseNextResponse = ReplicationLinkListResult; + +// @public +export interface ReplicationLinksListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ReplicationLinksListByDatabaseResponse = ReplicationLinkListResult; + +// @public +export interface ReplicationLinksListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ReplicationLinksListByServerNextResponse = ReplicationLinkListResult; + +// @public +export interface ReplicationLinksListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ReplicationLinksListByServerResponse = ReplicationLinkListResult; + +// @public +export interface ReplicationLinksUnlinkOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ReplicationLinkType = string; + +// @public +export type ReplicationRole = "Primary" | "Secondary" | "NonReadableSecondary" | "Source" | "Copy"; + +// @public +export type ReplicationState = string; + +// @public +export type ReplicaType = string; + +// @public +export type RequestedBackupStorageRedundancy = string; + +// @public +export interface Resource { + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export interface ResourceIdentity { + readonly principalId?: string; + readonly tenantId?: string; + type?: IdentityType; + userAssignedIdentities?: { + [propertyName: string]: UserIdentity; + }; +} + +// @public +export interface ResourceMoveDefinition { + id: string; +} + +// @public +export interface ResourceWithWritableName { + readonly id?: string; + name?: string; + readonly type?: string; +} + +// @public +export type RestorableDroppedDatabase = ProxyResource & { + sku?: Sku; + location?: string; + tags?: { + [propertyName: string]: string; + }; + readonly databaseName?: string; + readonly maxSizeBytes?: number; + readonly elasticPoolId?: string; + readonly creationDate?: Date; + readonly deletionDate?: Date; + readonly earliestRestoreDate?: Date; + readonly backupStorageRedundancy?: RestorableDroppedDatabasePropertiesBackupStorageRedundancy; +}; + +// @public +export interface RestorableDroppedDatabaseListResult { + readonly nextLink?: string; + readonly value?: RestorableDroppedDatabase[]; +} + +// @public +export type RestorableDroppedDatabasePropertiesBackupStorageRedundancy = string; + +// @public +export interface RestorableDroppedDatabases { + get(resourceGroupName: string, serverName: string, restorableDroppedDatabaseId: string, options?: RestorableDroppedDatabasesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: RestorableDroppedDatabasesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RestorableDroppedDatabasesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorableDroppedDatabasesGetResponse = RestorableDroppedDatabase; + +// @public +export interface RestorableDroppedDatabasesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorableDroppedDatabasesListByServerNextResponse = RestorableDroppedDatabaseListResult; + +// @public +export interface RestorableDroppedDatabasesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorableDroppedDatabasesListByServerResponse = RestorableDroppedDatabaseListResult; + +// @public +export type RestorableDroppedManagedDatabase = TrackedResource & { + readonly databaseName?: string; + readonly creationDate?: Date; + readonly deletionDate?: Date; + readonly earliestRestoreDate?: Date; +}; + +// @public +export interface RestorableDroppedManagedDatabaseListResult { + readonly nextLink?: string; + readonly value?: RestorableDroppedManagedDatabase[]; +} + +// @public +export interface RestorableDroppedManagedDatabases { + get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: RestorableDroppedManagedDatabasesGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: RestorableDroppedManagedDatabasesListByInstanceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RestorableDroppedManagedDatabasesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorableDroppedManagedDatabasesGetResponse = RestorableDroppedManagedDatabase; + +// @public +export interface RestorableDroppedManagedDatabasesListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorableDroppedManagedDatabasesListByInstanceNextResponse = RestorableDroppedManagedDatabaseListResult; + +// @public +export interface RestorableDroppedManagedDatabasesListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorableDroppedManagedDatabasesListByInstanceResponse = RestorableDroppedManagedDatabaseListResult; + +// @public +export type RestoreDetailsName = string; + +// @public +export type RestorePoint = ProxyResource & { + readonly location?: string; + readonly restorePointType?: RestorePointType; + readonly earliestRestoreDate?: Date; + readonly restorePointCreationDate?: Date; + readonly restorePointLabel?: string; +}; + +// @public +export interface RestorePointListResult { + readonly nextLink?: string; + readonly value?: RestorePoint[]; +} + +// @public +export interface RestorePoints { + beginCreate(resourceGroupName: string, serverName: string, databaseName: string, parameters: CreateDatabaseRestorePointDefinition, options?: RestorePointsCreateOptionalParams): Promise, RestorePointsCreateResponse>>; + beginCreateAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: CreateDatabaseRestorePointDefinition, options?: RestorePointsCreateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options?: RestorePointsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options?: RestorePointsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: RestorePointsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RestorePointsCreateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type RestorePointsCreateResponse = RestorePoint; + +// @public +export interface RestorePointsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface RestorePointsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorePointsGetResponse = RestorePoint; + +// @public +export interface RestorePointsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorePointsListByDatabaseNextResponse = RestorePointListResult; + +// @public +export interface RestorePointsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RestorePointsListByDatabaseResponse = RestorePointListResult; + +// @public +export type RestorePointType = "CONTINUOUS" | "DISCRETE"; + +// @public +export type SampleName = string; + +// @public +export type SecondaryType = string; + +// @public +export type SecurityAlertPolicyName = string; + +// @public +export type SecurityAlertPolicyState = "New" | "Enabled" | "Disabled"; + +// @public +export type SecurityAlertsPolicyState = "Enabled" | "Disabled"; + +// @public +export type SecurityEvent = ProxyResource & { + readonly eventTime?: Date; + readonly securityEventType?: SecurityEventType; + readonly subscription?: string; + readonly server?: string; + readonly database?: string; + readonly clientIp?: string; + readonly applicationName?: string; + readonly principalName?: string; + readonly securityEventSqlInjectionAdditionalProperties?: SecurityEventSqlInjectionAdditionalProperties; +}; + +// @public +export interface SecurityEventCollection { + readonly nextLink?: string; + readonly value?: SecurityEvent[]; +} + +// @public +export interface SecurityEventsFilterParameters { + eventTime?: Date; + showServerRecords?: boolean; +} + +// @public +export interface SecurityEventSqlInjectionAdditionalProperties { + readonly errorCode?: number; + readonly errorMessage?: string; + readonly errorSeverity?: number; + readonly statement?: string; + readonly statementHighlightLength?: number; + readonly statementHighlightOffset?: number; + readonly threatId?: string; +} + +// @public +export type SecurityEventType = "Undefined" | "SqlInjectionVulnerability" | "SqlInjectionExploit"; + +// @public +export type SensitivityLabel = ProxyResource & { + readonly managedBy?: string; + readonly schemaName?: string; + readonly tableName?: string; + readonly columnName?: string; + labelName?: string; + labelId?: string; + informationType?: string; + informationTypeId?: string; + readonly isDisabled?: boolean; + rank?: SensitivityLabelRank; +}; + +// @public +export interface SensitivityLabelListResult { + readonly nextLink?: string; + readonly value?: SensitivityLabel[]; +} + +// @public +export type SensitivityLabelRank = "None" | "Low" | "Medium" | "High" | "Critical"; + +// @public +export interface SensitivityLabels { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: SensitivityLabel, options?: SensitivityLabelsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: SensitivityLabelsDeleteOptionalParams): Promise; + disableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: SensitivityLabelsDisableRecommendationOptionalParams): Promise; + enableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: SensitivityLabelsEnableRecommendationOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: SensitivityLabelSource, options?: SensitivityLabelsGetOptionalParams): Promise; + listCurrentByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: SensitivityLabelsListCurrentByDatabaseOptionalParams): PagedAsyncIterableIterator; + listRecommendedByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: SensitivityLabelsListRecommendedByDatabaseOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, serverName: string, databaseName: string, parameters: SensitivityLabelUpdateList, options?: SensitivityLabelsUpdateOptionalParams): Promise; +} + +// @public +export interface SensitivityLabelsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SensitivityLabelsCreateOrUpdateResponse = SensitivityLabel; + +// @public +export interface SensitivityLabelsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SensitivityLabelsDisableRecommendationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SensitivityLabelsEnableRecommendationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SensitivityLabelsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SensitivityLabelsGetResponse = SensitivityLabel; + +// @public +export interface SensitivityLabelsListCurrentByDatabaseNextOptionalParams extends coreClient.OperationOptions { + // (undocumented) + count?: boolean; + filter?: string; + // (undocumented) + skipToken?: string; +} + +// @public +export type SensitivityLabelsListCurrentByDatabaseNextResponse = SensitivityLabelListResult; + +// @public +export interface SensitivityLabelsListCurrentByDatabaseOptionalParams extends coreClient.OperationOptions { + // (undocumented) + count?: boolean; + filter?: string; + // (undocumented) + skipToken?: string; +} + +// @public +export type SensitivityLabelsListCurrentByDatabaseResponse = SensitivityLabelListResult; + +// @public +export interface SensitivityLabelsListRecommendedByDatabaseNextOptionalParams extends coreClient.OperationOptions { + filter?: string; + includeDisabledRecommendations?: boolean; + // (undocumented) + skipToken?: string; +} + +// @public +export type SensitivityLabelsListRecommendedByDatabaseNextResponse = SensitivityLabelListResult; + +// @public +export interface SensitivityLabelsListRecommendedByDatabaseOptionalParams extends coreClient.OperationOptions { + filter?: string; + includeDisabledRecommendations?: boolean; + // (undocumented) + skipToken?: string; +} + +// @public +export type SensitivityLabelsListRecommendedByDatabaseResponse = SensitivityLabelListResult; + +// @public +export type SensitivityLabelSource = "current" | "recommended"; + +// @public +export interface SensitivityLabelsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SensitivityLabelUpdate = ProxyResource & { + op?: SensitivityLabelUpdateKind; + schema?: string; + table?: string; + column?: string; + sensitivityLabel?: SensitivityLabel; +}; + +// @public +export type SensitivityLabelUpdateKind = "set" | "remove"; + +// @public +export interface SensitivityLabelUpdateList { + // (undocumented) + operations?: SensitivityLabelUpdate[]; +} + +// @public +export type Server = TrackedResource & { + identity?: ResourceIdentity; + readonly kind?: string; + administratorLogin?: string; + administratorLoginPassword?: string; + version?: string; + readonly state?: string; + readonly fullyQualifiedDomainName?: string; + readonly privateEndpointConnections?: ServerPrivateEndpointConnection[]; + minimalTlsVersion?: string; + publicNetworkAccess?: ServerNetworkAccessFlag; + readonly workspaceFeature?: ServerWorkspaceFeature; + primaryUserAssignedIdentityId?: string; + federatedClientId?: string; + keyId?: string; + administrators?: ServerExternalAdministrator; + restrictOutboundNetworkAccess?: ServerNetworkAccessFlag; +}; + +// @public +export interface ServerAdvisors { + get(resourceGroupName: string, serverName: string, advisorName: string, options?: ServerAdvisorsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerAdvisorsListByServerOptionalParams): Promise; + update(resourceGroupName: string, serverName: string, advisorName: string, parameters: Advisor, options?: ServerAdvisorsUpdateOptionalParams): Promise; +} + +// @public +export interface ServerAdvisorsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAdvisorsGetResponse = Advisor; + +// @public +export interface ServerAdvisorsListByServerOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ServerAdvisorsListByServerResponse = Advisor[]; + +// @public +export interface ServerAdvisorsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAdvisorsUpdateResponse = Advisor; + +// @public +export type ServerAutomaticTuning = ProxyResource & { + desiredState?: AutomaticTuningServerMode; + readonly actualState?: AutomaticTuningServerMode; + options?: { + [propertyName: string]: AutomaticTuningServerOptions; + }; +}; + +// @public +export interface ServerAutomaticTuningOperations { + get(resourceGroupName: string, serverName: string, options?: ServerAutomaticTuningOperationsGetOptionalParams): Promise; + update(resourceGroupName: string, serverName: string, parameters: ServerAutomaticTuning, options?: ServerAutomaticTuningOperationsUpdateOptionalParams): Promise; +} + +// @public +export interface ServerAutomaticTuningOperationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAutomaticTuningOperationsGetResponse = ServerAutomaticTuning; + +// @public +export interface ServerAutomaticTuningOperationsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAutomaticTuningOperationsUpdateResponse = ServerAutomaticTuning; + +// @public +export type ServerAzureADAdministrator = ProxyResource & { + administratorType?: AdministratorType; + login?: string; + sid?: string; + tenantId?: string; + readonly azureADOnlyAuthentication?: boolean; +}; + +// @public +export interface ServerAzureADAdministrators { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, administratorName: AdministratorName, parameters: ServerAzureADAdministrator, options?: ServerAzureADAdministratorsCreateOrUpdateOptionalParams): Promise, ServerAzureADAdministratorsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, administratorName: AdministratorName, parameters: ServerAzureADAdministrator, options?: ServerAzureADAdministratorsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, administratorName: AdministratorName, options?: ServerAzureADAdministratorsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, administratorName: AdministratorName, options?: ServerAzureADAdministratorsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, administratorName: AdministratorName, options?: ServerAzureADAdministratorsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerAzureADAdministratorsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerAzureADAdministratorsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerAzureADAdministratorsCreateOrUpdateResponse = ServerAzureADAdministrator; + +// @public +export interface ServerAzureADAdministratorsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServerAzureADAdministratorsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAzureADAdministratorsGetResponse = ServerAzureADAdministrator; + +// @public +export interface ServerAzureADAdministratorsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAzureADAdministratorsListByServerNextResponse = AdministratorListResult; + +// @public +export interface ServerAzureADAdministratorsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAzureADAdministratorsListByServerResponse = AdministratorListResult; + +// @public +export type ServerAzureADOnlyAuthentication = ProxyResource & { + azureADOnlyAuthentication?: boolean; +}; + +// @public +export interface ServerAzureADOnlyAuthentications { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, parameters: ServerAzureADOnlyAuthentication, options?: ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams): Promise, ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, parameters: ServerAzureADOnlyAuthentication, options?: ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, options?: ServerAzureADOnlyAuthenticationsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, options?: ServerAzureADOnlyAuthenticationsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, options?: ServerAzureADOnlyAuthenticationsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerAzureADOnlyAuthenticationsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse = ServerAzureADOnlyAuthentication; + +// @public +export interface ServerAzureADOnlyAuthenticationsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServerAzureADOnlyAuthenticationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAzureADOnlyAuthenticationsGetResponse = ServerAzureADOnlyAuthentication; + +// @public +export interface ServerAzureADOnlyAuthenticationsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAzureADOnlyAuthenticationsListByServerNextResponse = AzureADOnlyAuthListResult; + +// @public +export interface ServerAzureADOnlyAuthenticationsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerAzureADOnlyAuthenticationsListByServerResponse = AzureADOnlyAuthListResult; + +// @public +export interface ServerBlobAuditingPolicies { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: ServerBlobAuditingPolicy, options?: ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise, ServerBlobAuditingPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, parameters: ServerBlobAuditingPolicy, options?: ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, options?: ServerBlobAuditingPoliciesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerBlobAuditingPoliciesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerBlobAuditingPoliciesCreateOrUpdateResponse = ServerBlobAuditingPolicy; + +// @public +export interface ServerBlobAuditingPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerBlobAuditingPoliciesGetResponse = ServerBlobAuditingPolicy; + +// @public +export interface ServerBlobAuditingPoliciesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerBlobAuditingPoliciesListByServerNextResponse = ServerBlobAuditingPolicyListResult; + +// @public +export interface ServerBlobAuditingPoliciesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerBlobAuditingPoliciesListByServerResponse = ServerBlobAuditingPolicyListResult; + +// @public +export type ServerBlobAuditingPolicy = ProxyResource & { + isDevopsAuditEnabled?: boolean; + retentionDays?: number; + auditActionsAndGroups?: string[]; + isStorageSecondaryKeyInUse?: boolean; + isAzureMonitorTargetEnabled?: boolean; + queueDelayMs?: number; + state?: BlobAuditingPolicyState; + storageEndpoint?: string; + storageAccountAccessKey?: string; + storageAccountSubscriptionId?: string; +}; + +// @public +export interface ServerBlobAuditingPolicyListResult { + readonly nextLink?: string; + readonly value?: ServerBlobAuditingPolicy[]; +} + +// @public +export type ServerCommunicationLink = ProxyResource & { + readonly location?: string; + readonly kind?: string; + readonly state?: string; + partnerServer?: string; +}; + +// @public +export interface ServerCommunicationLinkListResult { + value?: ServerCommunicationLink[]; +} + +// @public +export interface ServerCommunicationLinks { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, communicationLinkName: string, parameters: ServerCommunicationLink, options?: ServerCommunicationLinksCreateOrUpdateOptionalParams): Promise, ServerCommunicationLinksCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, communicationLinkName: string, parameters: ServerCommunicationLink, options?: ServerCommunicationLinksCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, communicationLinkName: string, options?: ServerCommunicationLinksDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, communicationLinkName: string, options?: ServerCommunicationLinksGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerCommunicationLinksListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerCommunicationLinksCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerCommunicationLinksCreateOrUpdateResponse = ServerCommunicationLink; + +// @public +export interface ServerCommunicationLinksDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ServerCommunicationLinksGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerCommunicationLinksGetResponse = ServerCommunicationLink; + +// @public +export interface ServerCommunicationLinksListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerCommunicationLinksListByServerResponse = ServerCommunicationLinkListResult; + +// @public +export interface ServerConnectionPolicies { + createOrUpdate(resourceGroupName: string, serverName: string, connectionPolicyName: ConnectionPolicyName, parameters: ServerConnectionPolicy, options?: ServerConnectionPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, connectionPolicyName: ConnectionPolicyName, options?: ServerConnectionPoliciesGetOptionalParams): Promise; +} + +// @public +export interface ServerConnectionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerConnectionPoliciesCreateOrUpdateResponse = ServerConnectionPolicy; + +// @public +export interface ServerConnectionPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerConnectionPoliciesGetResponse = ServerConnectionPolicy; + +// @public +export type ServerConnectionPolicy = ProxyResource & { + readonly kind?: string; + readonly location?: string; + connectionType?: ServerConnectionType; +}; + +// @public +export type ServerConnectionType = "Default" | "Proxy" | "Redirect"; + +// @public +export type ServerDevOpsAuditingSettings = ProxyResource & { + readonly systemData?: SystemData; + isAzureMonitorTargetEnabled?: boolean; + state?: BlobAuditingPolicyState; + storageEndpoint?: string; + storageAccountAccessKey?: string; + storageAccountSubscriptionId?: string; +}; + +// @public +export interface ServerDevOpsAuditSettings { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, devOpsAuditingSettingsName: string, parameters: ServerDevOpsAuditingSettings, options?: ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams): Promise, ServerDevOpsAuditSettingsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, devOpsAuditingSettingsName: string, parameters: ServerDevOpsAuditingSettings, options?: ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, devOpsAuditingSettingsName: string, options?: ServerDevOpsAuditSettingsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerDevOpsAuditSettingsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerDevOpsAuditSettingsCreateOrUpdateResponse = ServerDevOpsAuditingSettings; + +// @public +export interface ServerDevOpsAuditSettingsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerDevOpsAuditSettingsGetResponse = ServerDevOpsAuditingSettings; + +// @public +export interface ServerDevOpsAuditSettingsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerDevOpsAuditSettingsListByServerNextResponse = ServerDevOpsAuditSettingsListResult; + +// @public +export interface ServerDevOpsAuditSettingsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerDevOpsAuditSettingsListByServerResponse = ServerDevOpsAuditSettingsListResult; + +// @public +export interface ServerDevOpsAuditSettingsListResult { + readonly nextLink?: string; + readonly value?: ServerDevOpsAuditingSettings[]; +} + +// @public +export type ServerDnsAlias = ProxyResource & { + readonly azureDnsRecord?: string; +}; + +// @public +export interface ServerDnsAliasAcquisition { + oldServerDnsAliasId: string; +} + +// @public +export interface ServerDnsAliases { + beginAcquire(resourceGroupName: string, serverName: string, dnsAliasName: string, parameters: ServerDnsAliasAcquisition, options?: ServerDnsAliasesAcquireOptionalParams): Promise, ServerDnsAliasesAcquireResponse>>; + beginAcquireAndWait(resourceGroupName: string, serverName: string, dnsAliasName: string, parameters: ServerDnsAliasAcquisition, options?: ServerDnsAliasesAcquireOptionalParams): Promise; + beginCreateOrUpdate(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesCreateOrUpdateOptionalParams): Promise, ServerDnsAliasesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerDnsAliasesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerDnsAliasesAcquireOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerDnsAliasesAcquireResponse = ServerDnsAlias; + +// @public +export interface ServerDnsAliasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerDnsAliasesCreateOrUpdateResponse = ServerDnsAlias; + +// @public +export interface ServerDnsAliasesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServerDnsAliasesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerDnsAliasesGetResponse = ServerDnsAlias; + +// @public +export interface ServerDnsAliasesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerDnsAliasesListByServerNextResponse = ServerDnsAliasListResult; + +// @public +export interface ServerDnsAliasesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerDnsAliasesListByServerResponse = ServerDnsAliasListResult; + +// @public +export interface ServerDnsAliasListResult { + readonly nextLink?: string; + readonly value?: ServerDnsAlias[]; +} + +// @public +export interface ServerExternalAdministrator { + administratorType?: AdministratorType; + azureADOnlyAuthentication?: boolean; + login?: string; + principalType?: PrincipalType; + sid?: string; + tenantId?: string; +} + +// @public +export interface ServerInfo { + serverId: string; +} + +// @public +export type ServerKey = ProxyResource & { + readonly kind?: string; + readonly location?: string; + readonly subregion?: string; + serverKeyType?: ServerKeyType; + uri?: string; + readonly thumbprint?: string; + readonly creationDate?: Date; + readonly autoRotationEnabled?: boolean; +}; + +// @public +export interface ServerKeyListResult { + readonly nextLink?: string; + readonly value?: ServerKey[]; +} + +// @public +export interface ServerKeys { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, keyName: string, parameters: ServerKey, options?: ServerKeysCreateOrUpdateOptionalParams): Promise, ServerKeysCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, keyName: string, parameters: ServerKey, options?: ServerKeysCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, keyName: string, options?: ServerKeysDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, keyName: string, options?: ServerKeysDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, keyName: string, options?: ServerKeysGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerKeysListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerKeysCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerKeysCreateOrUpdateResponse = ServerKey; + +// @public +export interface ServerKeysDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServerKeysGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerKeysGetResponse = ServerKey; + +// @public +export interface ServerKeysListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerKeysListByServerNextResponse = ServerKeyListResult; + +// @public +export interface ServerKeysListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerKeysListByServerResponse = ServerKeyListResult; + +// @public +export type ServerKeyType = string; + +// @public +export interface ServerListResult { + readonly nextLink?: string; + readonly value?: Server[]; +} + +// @public +export type ServerNetworkAccessFlag = string; + +// @public +export type ServerOperation = ProxyResource & { + readonly operation?: string; + readonly operationFriendlyName?: string; + readonly percentComplete?: number; + readonly serverName?: string; + readonly startTime?: Date; + readonly state?: ManagementOperationState; + readonly errorCode?: number; + readonly errorDescription?: string; + readonly errorSeverity?: number; + readonly isUserError?: boolean; + readonly estimatedCompletionTime?: Date; + readonly description?: string; + readonly isCancellable?: boolean; +}; + +// @public +export interface ServerOperationListResult { + readonly nextLink?: string; + readonly value?: ServerOperation[]; +} + +// @public +export interface ServerOperations { + listByServer(resourceGroupName: string, serverName: string, options?: ServerOperationsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerOperationsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerOperationsListByServerNextResponse = ServerOperationListResult; + +// @public +export interface ServerOperationsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerOperationsListByServerResponse = ServerOperationListResult; + +// @public +export interface ServerPrivateEndpointConnection { + readonly id?: string; + readonly properties?: PrivateEndpointConnectionProperties; +} + +// @public +export interface Servers { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: Server, options?: ServersCreateOrUpdateOptionalParams): Promise, ServersCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, parameters: Server, options?: ServersCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, options?: ServersDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, options?: ServersDeleteOptionalParams): Promise; + beginImportDatabase(resourceGroupName: string, serverName: string, parameters: ImportNewDatabaseDefinition, options?: ServersImportDatabaseOptionalParams): Promise, ServersImportDatabaseResponse>>; + beginImportDatabaseAndWait(resourceGroupName: string, serverName: string, parameters: ImportNewDatabaseDefinition, options?: ServersImportDatabaseOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, parameters: ServerUpdate, options?: ServersUpdateOptionalParams): Promise, ServersUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, parameters: ServerUpdate, options?: ServersUpdateOptionalParams): Promise; + checkNameAvailability(parameters: CheckNameAvailabilityRequest, options?: ServersCheckNameAvailabilityOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, options?: ServersGetOptionalParams): Promise; + list(options?: ServersListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: ServersListByResourceGroupOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServersCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServersCheckNameAvailabilityResponse = CheckNameAvailabilityResponse; + +// @public +export interface ServersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServersCreateOrUpdateResponse = Server; + +// @public +export interface ServersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServerSecurityAlertPolicies { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ServerSecurityAlertPolicy, options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise, ServerSecurityAlertPoliciesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ServerSecurityAlertPolicy, options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: ServerSecurityAlertPoliciesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerSecurityAlertPoliciesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAlertPolicy; + +// @public +export interface ServerSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerSecurityAlertPoliciesGetResponse = ServerSecurityAlertPolicy; + +// @public +export interface ServerSecurityAlertPoliciesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerSecurityAlertPoliciesListByServerNextResponse = LogicalServerSecurityAlertPolicyListResult; + +// @public +export interface ServerSecurityAlertPoliciesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerSecurityAlertPoliciesListByServerResponse = LogicalServerSecurityAlertPolicyListResult; + +// @public +export type ServerSecurityAlertPolicy = ProxyResource & { + readonly systemData?: SystemData; + state?: SecurityAlertsPolicyState; + disabledAlerts?: string[]; + emailAddresses?: string[]; + emailAccountAdmins?: boolean; + storageEndpoint?: string; + storageAccountAccessKey?: string; + retentionDays?: number; + readonly creationTime?: Date; +}; + +// @public +export interface ServersGetOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ServersGetResponse = Server; + +// @public +export interface ServersImportDatabaseOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServersImportDatabaseResponse = ImportExportOperationResult; + +// @public +export interface ServersListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ServersListByResourceGroupNextResponse = ServerListResult; + +// @public +export interface ServersListByResourceGroupOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ServersListByResourceGroupResponse = ServerListResult; + +// @public +export interface ServersListNextOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ServersListNextResponse = ServerListResult; + +// @public +export interface ServersListOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type ServersListResponse = ServerListResult; + +// @public +export interface ServersUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServersUpdateResponse = Server; + +// @public +export type ServerTrustGroup = ProxyResource & { + groupMembers?: ServerInfo[]; + trustScopes?: ServerTrustGroupPropertiesTrustScopesItem[]; +}; + +// @public +export interface ServerTrustGroupListResult { + readonly nextLink?: string; + readonly value?: ServerTrustGroup[]; +} + +// @public +export type ServerTrustGroupPropertiesTrustScopesItem = string; + +// @public +export interface ServerTrustGroups { + beginCreateOrUpdate(resourceGroupName: string, locationName: string, serverTrustGroupName: string, parameters: ServerTrustGroup, options?: ServerTrustGroupsCreateOrUpdateOptionalParams): Promise, ServerTrustGroupsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, locationName: string, serverTrustGroupName: string, parameters: ServerTrustGroup, options?: ServerTrustGroupsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, locationName: string, serverTrustGroupName: string, options?: ServerTrustGroupsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, locationName: string, serverTrustGroupName: string, options?: ServerTrustGroupsDeleteOptionalParams): Promise; + get(resourceGroupName: string, locationName: string, serverTrustGroupName: string, options?: ServerTrustGroupsGetOptionalParams): Promise; + listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ServerTrustGroupsListByInstanceOptionalParams): PagedAsyncIterableIterator; + listByLocation(resourceGroupName: string, locationName: string, options?: ServerTrustGroupsListByLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerTrustGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ServerTrustGroupsCreateOrUpdateResponse = ServerTrustGroup; + +// @public +export interface ServerTrustGroupsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServerTrustGroupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerTrustGroupsGetResponse = ServerTrustGroup; + +// @public +export interface ServerTrustGroupsListByInstanceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerTrustGroupsListByInstanceNextResponse = ServerTrustGroupListResult; + +// @public +export interface ServerTrustGroupsListByInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerTrustGroupsListByInstanceResponse = ServerTrustGroupListResult; + +// @public +export interface ServerTrustGroupsListByLocationNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerTrustGroupsListByLocationNextResponse = ServerTrustGroupListResult; + +// @public +export interface ServerTrustGroupsListByLocationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerTrustGroupsListByLocationResponse = ServerTrustGroupListResult; + +// @public +export interface ServerUpdate { + administratorLogin?: string; + administratorLoginPassword?: string; + administrators?: ServerExternalAdministrator; + federatedClientId?: string; + readonly fullyQualifiedDomainName?: string; + identity?: ResourceIdentity; + keyId?: string; + minimalTlsVersion?: string; + primaryUserAssignedIdentityId?: string; + readonly privateEndpointConnections?: ServerPrivateEndpointConnection[]; + publicNetworkAccess?: ServerNetworkAccessFlag; + restrictOutboundNetworkAccess?: ServerNetworkAccessFlag; + readonly state?: string; + tags?: { + [propertyName: string]: string; + }; + version?: string; + readonly workspaceFeature?: ServerWorkspaceFeature; +} + +// @public +export interface ServerUsage { + readonly currentValue?: number; + readonly displayName?: string; + readonly limit?: number; + readonly name?: string; + readonly nextResetTime?: Date; + readonly resourceName?: string; + readonly unit?: string; +} + +// @public +export interface ServerUsageListResult { + value: ServerUsage[]; +} + +// @public +export interface ServerUsages { + listByServer(resourceGroupName: string, serverName: string, options?: ServerUsagesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerUsagesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerUsagesListByServerResponse = ServerUsageListResult; + +// @public +export interface ServerVersionCapability { + readonly name?: string; + reason?: string; + readonly status?: CapabilityStatus; + readonly supportedEditions?: EditionCapability[]; + readonly supportedElasticPoolEditions?: ElasticPoolEditionCapability[]; +} + +// @public +export type ServerVulnerabilityAssessment = ProxyResource & { + storageContainerPath?: string; + storageContainerSasKey?: string; + storageAccountAccessKey?: string; + recurringScans?: VulnerabilityAssessmentRecurringScansProperties; +}; + +// @public +export interface ServerVulnerabilityAssessmentListResult { + readonly nextLink?: string; + readonly value?: ServerVulnerabilityAssessment[]; +} + +// @public +export interface ServerVulnerabilityAssessments { + createOrUpdate(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: ServerVulnerabilityAssessment, options?: ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ServerVulnerabilityAssessmentsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ServerVulnerabilityAssessmentsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServerVulnerabilityAssessmentsListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerVulnerabilityAssessmentsCreateOrUpdateResponse = ServerVulnerabilityAssessment; + +// @public +export interface ServerVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ServerVulnerabilityAssessmentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerVulnerabilityAssessmentsGetResponse = ServerVulnerabilityAssessment; + +// @public +export interface ServerVulnerabilityAssessmentsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerVulnerabilityAssessmentsListByServerNextResponse = ServerVulnerabilityAssessmentListResult; + +// @public +export interface ServerVulnerabilityAssessmentsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServerVulnerabilityAssessmentsListByServerResponse = ServerVulnerabilityAssessmentListResult; + +// @public +export type ServerWorkspaceFeature = string; + +// @public +export type ServiceObjective = ProxyResource & { + readonly serviceObjectiveName?: string; + readonly isDefault?: boolean; + readonly isSystem?: boolean; + readonly description?: string; + readonly enabled?: boolean; +}; + +// @public +export interface ServiceObjectiveCapability { + readonly computeModel?: string; + readonly id?: string; + readonly includedMaxSize?: MaxSizeCapability; + readonly name?: string; + readonly performanceLevel?: PerformanceLevelCapability; + reason?: string; + readonly sku?: Sku; + readonly status?: CapabilityStatus; + readonly supportedAutoPauseDelay?: AutoPauseDelayTimeRange; + readonly supportedLicenseTypes?: LicenseTypeCapability[]; + readonly supportedMaintenanceConfigurations?: MaintenanceConfigurationCapability[]; + readonly supportedMaxSizes?: MaxSizeRangeCapability[]; + readonly supportedMinCapacities?: MinCapacityCapability[]; + readonly zoneRedundant?: boolean; +} + +// @public +export interface ServiceObjectiveListResult { + value: ServiceObjective[]; +} + +// @public +export type ServiceObjectiveName = string; + +// @public +export interface ServiceObjectives { + get(resourceGroupName: string, serverName: string, serviceObjectiveName: string, options?: ServiceObjectivesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: ServiceObjectivesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ServiceObjectivesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServiceObjectivesGetResponse = ServiceObjective; + +// @public +export interface ServiceObjectivesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ServiceObjectivesListByServerResponse = ServiceObjectiveListResult; + +// @public +export type ShortTermRetentionPolicyName = string; + +// @public +export interface Sku { + capacity?: number; + family?: string; + name: string; + size?: string; + tier?: string; +} + +// @public +export interface SloUsageMetric { + readonly inRangeTimeRatio?: number; + readonly serviceLevelObjective?: ServiceObjectiveName; + readonly serviceLevelObjectiveId?: string; +} + +// @public +export interface SqlAgent { + createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: SqlAgentConfiguration, options?: SqlAgentCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, managedInstanceName: string, options?: SqlAgentGetOptionalParams): Promise; +} + +// @public +export type SqlAgentConfiguration = ProxyResource & { + state?: SqlAgentConfigurationPropertiesState; +}; + +// @public +export type SqlAgentConfigurationPropertiesState = string; + +// @public +export interface SqlAgentCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SqlAgentCreateOrUpdateResponse = SqlAgentConfiguration; + +// @public +export interface SqlAgentGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SqlAgentGetResponse = SqlAgentConfiguration; + +// @public (undocumented) +export class SqlManagementClient extends SqlManagementClientContext { + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: SqlManagementClientOptionalParams); + // (undocumented) + backupShortTermRetentionPolicies: BackupShortTermRetentionPolicies; + // (undocumented) + capabilities: Capabilities; + // (undocumented) + databaseAdvisors: DatabaseAdvisors; + // (undocumented) + databaseAutomaticTuningOperations: DatabaseAutomaticTuningOperations; + // (undocumented) + databaseBlobAuditingPolicies: DatabaseBlobAuditingPolicies; + // (undocumented) + databaseColumns: DatabaseColumns; + // (undocumented) + databaseExtensionsOperations: DatabaseExtensionsOperations; + // (undocumented) + databaseOperations: DatabaseOperations; + // (undocumented) + databaseRecommendedActions: DatabaseRecommendedActions; + // (undocumented) + databases: Databases; + // (undocumented) + databaseSchemas: DatabaseSchemas; + // (undocumented) + databaseSecurityAlertPolicies: DatabaseSecurityAlertPolicies; + // (undocumented) + databaseTables: DatabaseTables; + // (undocumented) + databaseUsages: DatabaseUsages; + // (undocumented) + databaseVulnerabilityAssessmentRuleBaselines: DatabaseVulnerabilityAssessmentRuleBaselines; + // (undocumented) + databaseVulnerabilityAssessments: DatabaseVulnerabilityAssessments; + // (undocumented) + databaseVulnerabilityAssessmentScans: DatabaseVulnerabilityAssessmentScans; + // (undocumented) + dataMaskingPolicies: DataMaskingPolicies; + // (undocumented) + dataMaskingRules: DataMaskingRules; + // (undocumented) + dataWarehouseUserActivitiesOperations: DataWarehouseUserActivitiesOperations; + // (undocumented) + deletedServers: DeletedServers; + // (undocumented) + elasticPoolActivities: ElasticPoolActivities; + // (undocumented) + elasticPoolDatabaseActivities: ElasticPoolDatabaseActivities; + // (undocumented) + elasticPoolOperations: ElasticPoolOperations; + // (undocumented) + elasticPools: ElasticPools; + // (undocumented) + encryptionProtectors: EncryptionProtectors; + // (undocumented) + extendedDatabaseBlobAuditingPolicies: ExtendedDatabaseBlobAuditingPolicies; + // (undocumented) + extendedServerBlobAuditingPolicies: ExtendedServerBlobAuditingPolicies; + // (undocumented) + failoverGroups: FailoverGroups; + // (undocumented) + firewallRules: FirewallRules; + // (undocumented) + geoBackupPolicies: GeoBackupPolicies; + // (undocumented) + instanceFailoverGroups: InstanceFailoverGroups; + // (undocumented) + instancePools: InstancePools; + // (undocumented) + jobAgents: JobAgents; + // (undocumented) + jobCredentials: JobCredentials; + // (undocumented) + jobExecutions: JobExecutions; + // (undocumented) + jobs: Jobs; + // (undocumented) + jobStepExecutions: JobStepExecutions; + // (undocumented) + jobSteps: JobSteps; + // (undocumented) + jobTargetExecutions: JobTargetExecutions; + // (undocumented) + jobTargetGroups: JobTargetGroups; + // (undocumented) + jobVersions: JobVersions; + // (undocumented) + ledgerDigestUploadsOperations: LedgerDigestUploadsOperations; + // (undocumented) + longTermRetentionBackups: LongTermRetentionBackups; + // (undocumented) + longTermRetentionManagedInstanceBackups: LongTermRetentionManagedInstanceBackups; + // (undocumented) + longTermRetentionPolicies: LongTermRetentionPolicies; + // (undocumented) + maintenanceWindowOptionsOperations: MaintenanceWindowOptionsOperations; + // (undocumented) + maintenanceWindowsOperations: MaintenanceWindowsOperations; + // (undocumented) + managedBackupShortTermRetentionPolicies: ManagedBackupShortTermRetentionPolicies; + // (undocumented) + managedDatabaseColumns: ManagedDatabaseColumns; + // (undocumented) + managedDatabaseQueries: ManagedDatabaseQueries; + // (undocumented) + managedDatabaseRecommendedSensitivityLabels: ManagedDatabaseRecommendedSensitivityLabels; + // (undocumented) + managedDatabaseRestoreDetails: ManagedDatabaseRestoreDetails; + // (undocumented) + managedDatabases: ManagedDatabases; + // (undocumented) + managedDatabaseSchemas: ManagedDatabaseSchemas; + // (undocumented) + managedDatabaseSecurityAlertPolicies: ManagedDatabaseSecurityAlertPolicies; + // (undocumented) + managedDatabaseSecurityEvents: ManagedDatabaseSecurityEvents; + // (undocumented) + managedDatabaseSensitivityLabels: ManagedDatabaseSensitivityLabels; + // (undocumented) + managedDatabaseTables: ManagedDatabaseTables; + // (undocumented) + managedDatabaseTransparentDataEncryption: ManagedDatabaseTransparentDataEncryption; + // (undocumented) + managedDatabaseVulnerabilityAssessmentRuleBaselines: ManagedDatabaseVulnerabilityAssessmentRuleBaselines; + // (undocumented) + managedDatabaseVulnerabilityAssessments: ManagedDatabaseVulnerabilityAssessments; + // (undocumented) + managedDatabaseVulnerabilityAssessmentScans: ManagedDatabaseVulnerabilityAssessmentScans; + // (undocumented) + managedInstanceAdministrators: ManagedInstanceAdministrators; + // (undocumented) + managedInstanceAzureADOnlyAuthentications: ManagedInstanceAzureADOnlyAuthentications; + // (undocumented) + managedInstanceEncryptionProtectors: ManagedInstanceEncryptionProtectors; + // (undocumented) + managedInstanceKeys: ManagedInstanceKeys; + // (undocumented) + managedInstanceLongTermRetentionPolicies: ManagedInstanceLongTermRetentionPolicies; + // (undocumented) + managedInstanceOperations: ManagedInstanceOperations; + // (undocumented) + managedInstancePrivateEndpointConnections: ManagedInstancePrivateEndpointConnections; + // (undocumented) + managedInstancePrivateLinkResources: ManagedInstancePrivateLinkResources; + // (undocumented) + managedInstances: ManagedInstances; + // (undocumented) + managedInstanceTdeCertificates: ManagedInstanceTdeCertificates; + // (undocumented) + managedInstanceVulnerabilityAssessments: ManagedInstanceVulnerabilityAssessments; + // (undocumented) + managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies; + // (undocumented) + managedServerSecurityAlertPolicies: ManagedServerSecurityAlertPolicies; + // (undocumented) + operations: Operations; + // (undocumented) + operationsHealthOperations: OperationsHealthOperations; + // (undocumented) + outboundFirewallRules: OutboundFirewallRules; + // (undocumented) + privateEndpointConnections: PrivateEndpointConnections; + // (undocumented) + privateLinkResources: PrivateLinkResources; + // (undocumented) + recommendedSensitivityLabels: RecommendedSensitivityLabels; + // (undocumented) + recoverableDatabases: RecoverableDatabases; + // (undocumented) + recoverableManagedDatabases: RecoverableManagedDatabases; + // (undocumented) + replicationLinks: ReplicationLinks; + // (undocumented) + restorableDroppedDatabases: RestorableDroppedDatabases; + // (undocumented) + restorableDroppedManagedDatabases: RestorableDroppedManagedDatabases; + // (undocumented) + restorePoints: RestorePoints; + // (undocumented) + sensitivityLabels: SensitivityLabels; + // (undocumented) + serverAdvisors: ServerAdvisors; + // (undocumented) + serverAutomaticTuningOperations: ServerAutomaticTuningOperations; + // (undocumented) + serverAzureADAdministrators: ServerAzureADAdministrators; + // (undocumented) + serverAzureADOnlyAuthentications: ServerAzureADOnlyAuthentications; + // (undocumented) + serverBlobAuditingPolicies: ServerBlobAuditingPolicies; + // (undocumented) + serverCommunicationLinks: ServerCommunicationLinks; + // (undocumented) + serverConnectionPolicies: ServerConnectionPolicies; + // (undocumented) + serverDevOpsAuditSettings: ServerDevOpsAuditSettings; + // (undocumented) + serverDnsAliases: ServerDnsAliases; + // (undocumented) + serverKeys: ServerKeys; + // (undocumented) + serverOperations: ServerOperations; + // (undocumented) + servers: Servers; + // (undocumented) + serverSecurityAlertPolicies: ServerSecurityAlertPolicies; + // (undocumented) + serverTrustGroups: ServerTrustGroups; + // (undocumented) + serverUsages: ServerUsages; + // (undocumented) + serverVulnerabilityAssessments: ServerVulnerabilityAssessments; + // (undocumented) + serviceObjectives: ServiceObjectives; + // (undocumented) + sqlAgent: SqlAgent; + // (undocumented) + subscriptionUsages: SubscriptionUsages; + // (undocumented) + syncAgents: SyncAgents; + // (undocumented) + syncGroups: SyncGroups; + // (undocumented) + syncMembers: SyncMembers; + // (undocumented) + tdeCertificates: TdeCertificates; + // (undocumented) + timeZones: TimeZones; + // (undocumented) + transparentDataEncryptionActivities: TransparentDataEncryptionActivities; + // (undocumented) + transparentDataEncryptions: TransparentDataEncryptions; + // (undocumented) + usages: Usages; + // (undocumented) + virtualClusters: VirtualClusters; + // (undocumented) + virtualNetworkRules: VirtualNetworkRules; + // (undocumented) + workloadClassifiers: WorkloadClassifiers; + // (undocumented) + workloadGroups: WorkloadGroups; +} + +// @public (undocumented) +export class SqlManagementClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: SqlManagementClientOptionalParams); + // (undocumented) + subscriptionId: string; +} + +// @public +export interface SqlManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + endpoint?: string; +} + +// @public +export type StorageAccountType = string; + +// @public +export interface StorageCapability { + reason?: string; + readonly status?: CapabilityStatus; + readonly storageAccountType?: StorageCapabilityStorageAccountType; +} + +// @public +export type StorageCapabilityStorageAccountType = string; + +// @public +export type StorageKeyType = string; + +// @public +export type SubscriptionUsage = ProxyResource & { + readonly displayName?: string; + readonly currentValue?: number; + readonly limit?: number; + readonly unit?: string; +}; + +// @public +export interface SubscriptionUsageListResult { + readonly nextLink?: string; + readonly value?: SubscriptionUsage[]; +} + +// @public +export interface SubscriptionUsages { + get(locationName: string, usageName: string, options?: SubscriptionUsagesGetOptionalParams): Promise; + listByLocation(locationName: string, options?: SubscriptionUsagesListByLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SubscriptionUsagesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SubscriptionUsagesGetResponse = SubscriptionUsage; + +// @public +export interface SubscriptionUsagesListByLocationNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SubscriptionUsagesListByLocationNextResponse = SubscriptionUsageListResult; + +// @public +export interface SubscriptionUsagesListByLocationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SubscriptionUsagesListByLocationResponse = SubscriptionUsageListResult; + +// @public +export type SyncAgent = ProxyResource & { + readonly namePropertiesName?: string; + syncDatabaseId?: string; + readonly lastAliveTime?: Date; + readonly state?: SyncAgentState; + readonly isUpToDate?: boolean; + readonly expiryTime?: Date; + readonly version?: string; +}; + +// @public +export interface SyncAgentKeyProperties { + readonly syncAgentKey?: string; +} + +// @public +export type SyncAgentLinkedDatabase = ProxyResource & { + readonly databaseType?: SyncMemberDbType; + readonly databaseId?: string; + readonly description?: string; + readonly serverName?: string; + readonly databaseName?: string; + readonly userName?: string; +}; + +// @public +export interface SyncAgentLinkedDatabaseListResult { + readonly nextLink?: string; + readonly value?: SyncAgentLinkedDatabase[]; +} + +// @public +export interface SyncAgentListResult { + readonly nextLink?: string; + readonly value?: SyncAgent[]; +} + +// @public +export interface SyncAgents { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, syncAgentName: string, parameters: SyncAgent, options?: SyncAgentsCreateOrUpdateOptionalParams): Promise, SyncAgentsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, syncAgentName: string, parameters: SyncAgent, options?: SyncAgentsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsDeleteOptionalParams): Promise; + generateKey(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsGenerateKeyOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: SyncAgentsListByServerOptionalParams): PagedAsyncIterableIterator; + listLinkedDatabases(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsListLinkedDatabasesOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SyncAgentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SyncAgentsCreateOrUpdateResponse = SyncAgent; + +// @public +export interface SyncAgentsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface SyncAgentsGenerateKeyOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncAgentsGenerateKeyResponse = SyncAgentKeyProperties; + +// @public +export interface SyncAgentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncAgentsGetResponse = SyncAgent; + +// @public +export interface SyncAgentsListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncAgentsListByServerNextResponse = SyncAgentListResult; + +// @public +export interface SyncAgentsListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncAgentsListByServerResponse = SyncAgentListResult; + +// @public +export interface SyncAgentsListLinkedDatabasesNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncAgentsListLinkedDatabasesNextResponse = SyncAgentLinkedDatabaseListResult; + +// @public +export interface SyncAgentsListLinkedDatabasesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncAgentsListLinkedDatabasesResponse = SyncAgentLinkedDatabaseListResult; + +// @public +export type SyncAgentState = string; + +// @public +export type SyncConflictResolutionPolicy = string; + +// @public +export interface SyncDatabaseIdListResult { + readonly nextLink?: string; + readonly value?: SyncDatabaseIdProperties[]; +} + +// @public +export interface SyncDatabaseIdProperties { + readonly id?: string; +} + +// @public +export type SyncDirection = string; + +// @public +export interface SyncFullSchemaProperties { + readonly lastUpdateTime?: Date; + readonly tables?: SyncFullSchemaTable[]; +} + +// @public +export interface SyncFullSchemaPropertiesListResult { + readonly nextLink?: string; + readonly value?: SyncFullSchemaProperties[]; +} + +// @public +export interface SyncFullSchemaTable { + readonly columns?: SyncFullSchemaTableColumn[]; + readonly errorId?: string; + readonly hasError?: boolean; + readonly name?: string; + readonly quotedName?: string; +} + +// @public +export interface SyncFullSchemaTableColumn { + readonly dataSize?: string; + readonly dataType?: string; + readonly errorId?: string; + readonly hasError?: boolean; + readonly isPrimaryKey?: boolean; + readonly name?: string; + readonly quotedName?: string; +} + +// @public +export type SyncGroup = ProxyResource & { + sku?: Sku; + interval?: number; + readonly lastSyncTime?: Date; + conflictResolutionPolicy?: SyncConflictResolutionPolicy; + syncDatabaseId?: string; + hubDatabaseUserName?: string; + hubDatabasePassword?: string; + readonly syncState?: SyncGroupState; + schema?: SyncGroupSchema; + enableConflictLogging?: boolean; + conflictLoggingRetentionInDays?: number; + usePrivateLinkConnection?: boolean; + readonly privateEndpointName?: string; +}; + +// @public +export interface SyncGroupListResult { + readonly nextLink?: string; + readonly value?: SyncGroup[]; +} + +// @public +export interface SyncGroupLogListResult { + readonly nextLink?: string; + readonly value?: SyncGroupLogProperties[]; +} + +// @public +export interface SyncGroupLogProperties { + readonly details?: string; + readonly operationStatus?: string; + readonly source?: string; + readonly timestamp?: Date; + readonly tracingId?: string; + readonly type?: SyncGroupLogType; +} + +// @public +export type SyncGroupLogType = string; + +// @public +export interface SyncGroups { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: SyncGroup, options?: SyncGroupsCreateOrUpdateOptionalParams): Promise, SyncGroupsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: SyncGroup, options?: SyncGroupsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsDeleteOptionalParams): Promise; + beginRefreshHubSchema(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsRefreshHubSchemaOptionalParams): Promise, void>>; + beginRefreshHubSchemaAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsRefreshHubSchemaOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: SyncGroup, options?: SyncGroupsUpdateOptionalParams): Promise, SyncGroupsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: SyncGroup, options?: SyncGroupsUpdateOptionalParams): Promise; + cancelSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsCancelSyncOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: SyncGroupsListByDatabaseOptionalParams): PagedAsyncIterableIterator; + listHubSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsListHubSchemasOptionalParams): PagedAsyncIterableIterator; + listLogs(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, startTime: string, endTime: string, typeParam: Enum76, options?: SyncGroupsListLogsOptionalParams): PagedAsyncIterableIterator; + listSyncDatabaseIds(locationName: string, options?: SyncGroupsListSyncDatabaseIdsOptionalParams): PagedAsyncIterableIterator; + triggerSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsTriggerSyncOptionalParams): Promise; +} + +// @public +export interface SyncGroupsCancelSyncOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SyncGroupSchema { + masterSyncMemberName?: string; + tables?: SyncGroupSchemaTable[]; +} + +// @public +export interface SyncGroupSchemaTable { + columns?: SyncGroupSchemaTableColumn[]; + quotedName?: string; +} + +// @public +export interface SyncGroupSchemaTableColumn { + dataSize?: string; + dataType?: string; + quotedName?: string; +} + +// @public +export interface SyncGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SyncGroupsCreateOrUpdateResponse = SyncGroup; + +// @public +export interface SyncGroupsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface SyncGroupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncGroupsGetResponse = SyncGroup; + +// @public +export interface SyncGroupsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncGroupsListByDatabaseNextResponse = SyncGroupListResult; + +// @public +export interface SyncGroupsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncGroupsListByDatabaseResponse = SyncGroupListResult; + +// @public +export interface SyncGroupsListHubSchemasNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncGroupsListHubSchemasNextResponse = SyncFullSchemaPropertiesListResult; + +// @public +export interface SyncGroupsListHubSchemasOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncGroupsListHubSchemasResponse = SyncFullSchemaPropertiesListResult; + +// @public +export interface SyncGroupsListLogsNextOptionalParams extends coreClient.OperationOptions { + continuationToken?: string; +} + +// @public +export type SyncGroupsListLogsNextResponse = SyncGroupLogListResult; + +// @public +export interface SyncGroupsListLogsOptionalParams extends coreClient.OperationOptions { + continuationToken?: string; +} + +// @public +export type SyncGroupsListLogsResponse = SyncGroupLogListResult; + +// @public +export interface SyncGroupsListSyncDatabaseIdsNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncGroupsListSyncDatabaseIdsNextResponse = SyncDatabaseIdListResult; + +// @public +export interface SyncGroupsListSyncDatabaseIdsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncGroupsListSyncDatabaseIdsResponse = SyncDatabaseIdListResult; + +// @public +export interface SyncGroupsRefreshHubSchemaOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SyncGroupState = string; + +// @public +export interface SyncGroupsTriggerSyncOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SyncGroupsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SyncGroupsUpdateResponse = SyncGroup; + +// @public +export type SyncMember = ProxyResource & { + databaseType?: SyncMemberDbType; + syncAgentId?: string; + sqlServerDatabaseId?: string; + syncMemberAzureDatabaseResourceId?: string; + usePrivateLinkConnection?: boolean; + readonly privateEndpointName?: string; + serverName?: string; + databaseName?: string; + userName?: string; + password?: string; + syncDirection?: SyncDirection; + readonly syncState?: SyncMemberState; +}; + +// @public +export type SyncMemberDbType = string; + +// @public +export interface SyncMemberListResult { + readonly nextLink?: string; + readonly value?: SyncMember[]; +} + +// @public +export interface SyncMembers { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: SyncMember, options?: SyncMembersCreateOrUpdateOptionalParams): Promise, SyncMembersCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: SyncMember, options?: SyncMembersCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersDeleteOptionalParams): Promise; + beginRefreshMemberSchema(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersRefreshMemberSchemaOptionalParams): Promise, void>>; + beginRefreshMemberSchemaAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersRefreshMemberSchemaOptionalParams): Promise; + beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: SyncMember, options?: SyncMembersUpdateOptionalParams): Promise, SyncMembersUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: SyncMember, options?: SyncMembersUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersGetOptionalParams): Promise; + listBySyncGroup(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncMembersListBySyncGroupOptionalParams): PagedAsyncIterableIterator; + listMemberSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersListMemberSchemasOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SyncMembersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SyncMembersCreateOrUpdateResponse = SyncMember; + +// @public +export interface SyncMembersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface SyncMembersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncMembersGetResponse = SyncMember; + +// @public +export interface SyncMembersListBySyncGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncMembersListBySyncGroupNextResponse = SyncMemberListResult; + +// @public +export interface SyncMembersListBySyncGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncMembersListBySyncGroupResponse = SyncMemberListResult; + +// @public +export interface SyncMembersListMemberSchemasNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncMembersListMemberSchemasNextResponse = SyncFullSchemaPropertiesListResult; + +// @public +export interface SyncMembersListMemberSchemasOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SyncMembersListMemberSchemasResponse = SyncFullSchemaPropertiesListResult; + +// @public +export interface SyncMembersRefreshMemberSchemaOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SyncMemberState = string; + +// @public +export interface SyncMembersUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SyncMembersUpdateResponse = SyncMember; + +// @public +export interface SystemData { + createdAt?: Date; + createdBy?: string; + createdByType?: CreatedByType; + lastModifiedAt?: Date; + lastModifiedBy?: string; + lastModifiedByType?: CreatedByType; +} + +// @public +export type TableTemporalType = string; + +// @public +export type TargetBackupStorageRedundancy = string; + +// @public +export type TdeCertificate = ProxyResource & { + privateBlob?: string; + certPassword?: string; +}; + +// @public +export interface TdeCertificates { + beginCreate(resourceGroupName: string, serverName: string, parameters: TdeCertificate, options?: TdeCertificatesCreateOptionalParams): Promise, void>>; + beginCreateAndWait(resourceGroupName: string, serverName: string, parameters: TdeCertificate, options?: TdeCertificatesCreateOptionalParams): Promise; +} + +// @public +export interface TdeCertificatesCreateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type TimeZone = ProxyResource & { + readonly timeZoneId?: string; + readonly displayName?: string; +}; + +// @public +export interface TimeZoneListResult { + readonly nextLink?: string; + readonly value?: TimeZone[]; +} + +// @public +export interface TimeZones { + get(locationName: string, timeZoneId: string, options?: TimeZonesGetOptionalParams): Promise; + listByLocation(locationName: string, options?: TimeZonesListByLocationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface TimeZonesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TimeZonesGetResponse = TimeZone; + +// @public +export interface TimeZonesListByLocationNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TimeZonesListByLocationNextResponse = TimeZoneListResult; + +// @public +export interface TimeZonesListByLocationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TimeZonesListByLocationResponse = TimeZoneListResult; + +// @public (undocumented) +export interface TopQueries { + readonly aggregationFunction?: string; + readonly endTime?: string; + readonly intervalType?: QueryTimeGrainType; + readonly numberOfQueries?: number; + readonly observationMetric?: string; + queries?: QueryStatisticsProperties[]; + readonly startTime?: string; +} + +// @public +export interface TopQueriesListResult { + readonly nextLink?: string; + readonly value?: TopQueries[]; +} + +// @public +export type TrackedResource = Resource & { + location: string; + tags?: { + [propertyName: string]: string; + }; +}; + +// @public +export type TransparentDataEncryption = ProxyResource & { + readonly location?: string; + status?: TransparentDataEncryptionStatus; +}; + +// @public +export interface TransparentDataEncryptionActivities { + listByConfiguration(resourceGroupName: string, serverName: string, databaseName: string, transparentDataEncryptionName: TransparentDataEncryptionName, options?: TransparentDataEncryptionActivitiesListByConfigurationOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface TransparentDataEncryptionActivitiesListByConfigurationOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TransparentDataEncryptionActivitiesListByConfigurationResponse = TransparentDataEncryptionActivityListResult; + +// @public +export type TransparentDataEncryptionActivity = ProxyResource & { + readonly location?: string; + readonly status?: TransparentDataEncryptionActivityStatus; + readonly percentComplete?: number; +}; + +// @public +export interface TransparentDataEncryptionActivityListResult { + value: TransparentDataEncryptionActivity[]; +} + +// @public +export type TransparentDataEncryptionActivityStatus = string; + +// @public +export type TransparentDataEncryptionName = string; + +// @public +export interface TransparentDataEncryptions { + createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, transparentDataEncryptionName: TransparentDataEncryptionName, parameters: TransparentDataEncryption, options?: TransparentDataEncryptionsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, transparentDataEncryptionName: TransparentDataEncryptionName, options?: TransparentDataEncryptionsGetOptionalParams): Promise; +} + +// @public +export interface TransparentDataEncryptionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TransparentDataEncryptionsCreateOrUpdateResponse = TransparentDataEncryption; + +// @public +export interface TransparentDataEncryptionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TransparentDataEncryptionsGetResponse = TransparentDataEncryption; + +// @public +export type TransparentDataEncryptionState = "Enabled" | "Disabled"; + +// @public +export type TransparentDataEncryptionStatus = "Enabled" | "Disabled"; + +// @public +export type UnitDefinitionType = string; + +// @public +export type UnitType = string; + +// @public +export interface UnlinkParameters { + forcedTermination?: boolean; +} + +// @public +export interface UpdateLongTermRetentionBackupParameters { + requestedBackupStorageRedundancy?: RequestedBackupStorageRedundancy; +} + +// @public +export type UpdateManagedInstanceDnsServersOperation = ProxyResource & { + readonly status?: DnsRefreshConfigurationPropertiesStatus; +}; + +// @public (undocumented) +export interface UpsertManagedServerOperationParameters { + // (undocumented) + family?: string; + // (undocumented) + storageSizeInGB?: number; + // (undocumented) + tier?: string; + // (undocumented) + vCores?: number; +} + +// @public (undocumented) +export interface UpsertManagedServerOperationStep { + // (undocumented) + name?: string; + // (undocumented) + order?: number; + // (undocumented) + status?: UpsertManagedServerOperationStepStatus; +} + +// @public +export type UpsertManagedServerOperationStepStatus = string; + +// @public +export interface Usage { + readonly currentValue?: number; + readonly id?: string; + readonly limit?: number; + readonly name?: Name; + readonly requestedLimit?: number; + readonly type?: string; + readonly unit?: string; +} + +// @public +export interface UsageListResult { + readonly nextLink?: string; + readonly value?: Usage[]; +} + +// @public +export interface Usages { + listByInstancePool(resourceGroupName: string, instancePoolName: string, options?: UsagesListByInstancePoolOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface UsagesListByInstancePoolNextOptionalParams extends coreClient.OperationOptions { + expandChildren?: boolean; +} + +// @public +export type UsagesListByInstancePoolNextResponse = UsageListResult; + +// @public +export interface UsagesListByInstancePoolOptionalParams extends coreClient.OperationOptions { + expandChildren?: boolean; +} + +// @public +export type UsagesListByInstancePoolResponse = UsageListResult; + +// @public +export interface UserIdentity { + readonly clientId?: string; + readonly principalId?: string; +} + +// @public +export type VirtualCluster = TrackedResource & { + readonly subnetId?: string; + family?: string; + readonly childResources?: string[]; + maintenanceConfigurationId?: string; +}; + +// @public +export interface VirtualClusterListResult { + readonly nextLink?: string; + readonly value?: VirtualCluster[]; +} + +// @public +export interface VirtualClusters { + beginDelete(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, virtualClusterName: string, parameters: VirtualClusterUpdate, options?: VirtualClustersUpdateOptionalParams): Promise, VirtualClustersUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, virtualClusterName: string, parameters: VirtualClusterUpdate, options?: VirtualClustersUpdateOptionalParams): Promise; + get(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersGetOptionalParams): Promise; + list(options?: VirtualClustersListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: VirtualClustersListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + updateDnsServers(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersUpdateDnsServersOptionalParams): Promise; +} + +// @public +export interface VirtualClustersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VirtualClustersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualClustersGetResponse = VirtualCluster; + +// @public +export interface VirtualClustersListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualClustersListByResourceGroupNextResponse = VirtualClusterListResult; + +// @public +export interface VirtualClustersListByResourceGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualClustersListByResourceGroupResponse = VirtualClusterListResult; + +// @public +export interface VirtualClustersListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualClustersListNextResponse = VirtualClusterListResult; + +// @public +export interface VirtualClustersListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualClustersListResponse = VirtualClusterListResult; + +// @public +export interface VirtualClustersUpdateDnsServersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualClustersUpdateDnsServersResponse = UpdateManagedInstanceDnsServersOperation; + +// @public +export interface VirtualClustersUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type VirtualClustersUpdateResponse = VirtualCluster; + +// @public +export interface VirtualClusterUpdate { + readonly childResources?: string[]; + family?: string; + maintenanceConfigurationId?: string; + readonly subnetId?: string; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export type VirtualNetworkRule = ProxyResource & { + virtualNetworkSubnetId?: string; + ignoreMissingVnetServiceEndpoint?: boolean; + readonly state?: VirtualNetworkRuleState; +}; + +// @public +export interface VirtualNetworkRuleListResult { + readonly nextLink?: string; + readonly value?: VirtualNetworkRule[]; +} + +// @public +export interface VirtualNetworkRules { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: VirtualNetworkRule, options?: VirtualNetworkRulesCreateOrUpdateOptionalParams): Promise, VirtualNetworkRulesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: VirtualNetworkRule, options?: VirtualNetworkRulesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesGetOptionalParams): Promise; + listByServer(resourceGroupName: string, serverName: string, options?: VirtualNetworkRulesListByServerOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface VirtualNetworkRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule; + +// @public +export interface VirtualNetworkRulesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VirtualNetworkRulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualNetworkRulesGetResponse = VirtualNetworkRule; + +// @public +export interface VirtualNetworkRulesListByServerNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualNetworkRulesListByServerNextResponse = VirtualNetworkRuleListResult; + +// @public +export interface VirtualNetworkRulesListByServerOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VirtualNetworkRulesListByServerResponse = VirtualNetworkRuleListResult; + +// @public +export type VirtualNetworkRuleState = string; + +// @public +export type VulnerabilityAssessmentName = string; + +// @public +export type VulnerabilityAssessmentPolicyBaselineName = "master" | "default"; + +// @public +export interface VulnerabilityAssessmentRecurringScansProperties { + emails?: string[]; + emailSubscriptionAdmins?: boolean; + isEnabled?: boolean; +} + +// @public +export interface VulnerabilityAssessmentScanError { + readonly code?: string; + readonly message?: string; +} + +// @public +export type VulnerabilityAssessmentScanRecord = ProxyResource & { + readonly scanId?: string; + readonly triggerType?: VulnerabilityAssessmentScanTriggerType; + readonly state?: VulnerabilityAssessmentScanState; + readonly startTime?: Date; + readonly endTime?: Date; + readonly errors?: VulnerabilityAssessmentScanError[]; + readonly storageContainerPath?: string; + readonly numberOfFailedSecurityChecks?: number; +}; + +// @public +export interface VulnerabilityAssessmentScanRecordListResult { + readonly nextLink?: string; + readonly value?: VulnerabilityAssessmentScanRecord[]; +} + +// @public +export type VulnerabilityAssessmentScanState = string; + +// @public +export type VulnerabilityAssessmentScanTriggerType = string; + +// @public +export type WorkloadClassifier = ProxyResource & { + memberName?: string; + label?: string; + context?: string; + startTime?: string; + endTime?: string; + importance?: string; +}; + +// @public +export interface WorkloadClassifierListResult { + readonly nextLink?: string; + readonly value?: WorkloadClassifier[]; +} + +// @public +export interface WorkloadClassifiers { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, parameters: WorkloadClassifier, options?: WorkloadClassifiersCreateOrUpdateOptionalParams): Promise, WorkloadClassifiersCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, parameters: WorkloadClassifier, options?: WorkloadClassifiersCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, options?: WorkloadClassifiersDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, options?: WorkloadClassifiersDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, options?: WorkloadClassifiersGetOptionalParams): Promise; + listByWorkloadGroup(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, options?: WorkloadClassifiersListByWorkloadGroupOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface WorkloadClassifiersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WorkloadClassifiersCreateOrUpdateResponse = WorkloadClassifier; + +// @public +export interface WorkloadClassifiersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WorkloadClassifiersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WorkloadClassifiersGetResponse = WorkloadClassifier; + +// @public +export interface WorkloadClassifiersListByWorkloadGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WorkloadClassifiersListByWorkloadGroupNextResponse = WorkloadClassifierListResult; + +// @public +export interface WorkloadClassifiersListByWorkloadGroupOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WorkloadClassifiersListByWorkloadGroupResponse = WorkloadClassifierListResult; + +// @public +export type WorkloadGroup = ProxyResource & { + minResourcePercent?: number; + maxResourcePercent?: number; + minResourcePercentPerRequest?: number; + maxResourcePercentPerRequest?: number; + importance?: string; + queryExecutionTimeout?: number; +}; + +// @public +export interface WorkloadGroupListResult { + readonly nextLink?: string; + readonly value?: WorkloadGroup[]; +} + +// @public +export interface WorkloadGroups { + beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, parameters: WorkloadGroup, options?: WorkloadGroupsCreateOrUpdateOptionalParams): Promise, WorkloadGroupsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, parameters: WorkloadGroup, options?: WorkloadGroupsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, options?: WorkloadGroupsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, options?: WorkloadGroupsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, options?: WorkloadGroupsGetOptionalParams): Promise; + listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: WorkloadGroupsListByDatabaseOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface WorkloadGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type WorkloadGroupsCreateOrUpdateResponse = WorkloadGroup; + +// @public +export interface WorkloadGroupsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface WorkloadGroupsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WorkloadGroupsGetResponse = WorkloadGroup; + +// @public +export interface WorkloadGroupsListByDatabaseNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WorkloadGroupsListByDatabaseNextResponse = WorkloadGroupListResult; + +// @public +export interface WorkloadGroupsListByDatabaseOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type WorkloadGroupsListByDatabaseResponse = WorkloadGroupListResult; + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/sql/arm-sql/rollup.config.js b/sdk/sql/arm-sql/rollup.config.js index 6615d95d1208..9be1955eb7f1 100644 --- a/sdk/sql/arm-sql/rollup.config.js +++ b/sdk/sql/arm-sql/rollup.config.js @@ -1,37 +1,188 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; +/* + * 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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler /** - * @type {rollup.RollupFileOptions} + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. */ -const config = { - input: "./esm/sqlManagementClient.js", - external: [ - "@azure/ms-rest-js", - "@azure/ms-rest-azure-js" - ], - output: { - file: "./dist/arm-sql.js", - format: "umd", - name: "Azure.ArmSql", - sourcemap: true, - globals: { - "@azure/ms-rest-js": "msRest", - "@azure/ms-rest-azure-js": "msRestAzure" + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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/**"] }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */` - }, - plugins: [ - nodeResolve({ mainFields: ['module', 'main'] }), - sourcemaps() - ] + output: { + file: `dist-test/index.browser.js`, + format: "umd", + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + multiEntry({ exports: false }), + nodeResolve({ + mainFields: ["module", "browser"] + }), + cjs({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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 default config; +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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/sql/arm-sql/src/index.ts b/sdk/sql/arm-sql/src/index.ts new file mode 100644 index 000000000000..f9549d0fe087 --- /dev/null +++ b/sdk/sql/arm-sql/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { SqlManagementClient } from "./sqlManagementClient"; +export { SqlManagementClientContext } from "./sqlManagementClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/sql/arm-sql/src/lroImpl.ts b/sdk/sql/arm-sql/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/sql/arm-sql/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/sql/arm-sql/src/models/backupLongTermRetentionPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/backupLongTermRetentionPoliciesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/backupLongTermRetentionPoliciesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/backupShortTermRetentionPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/backupShortTermRetentionPoliciesMappers.ts deleted file mode 100644 index bf0add5c875c..000000000000 --- a/sdk/sql/arm-sql/src/models/backupShortTermRetentionPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BackupShortTermRetentionPolicyListResult, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/capabilitiesMappers.ts b/sdk/sql/arm-sql/src/models/capabilitiesMappers.ts deleted file mode 100644 index 95ade0ba7550..000000000000 --- a/sdk/sql/arm-sql/src/models/capabilitiesMappers.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - EditionCapability, - ElasticPoolEditionCapability, - ElasticPoolPerDatabaseMaxPerformanceLevelCapability, - ElasticPoolPerDatabaseMinPerformanceLevelCapability, - ElasticPoolPerformanceLevelCapability, - LicenseTypeCapability, - LocationCapabilities, - LogSizeCapability, - ManagedInstanceEditionCapability, - ManagedInstanceFamilyCapability, - ManagedInstanceVcoresCapability, - ManagedInstanceVersionCapability, - MaxSizeCapability, - MaxSizeRangeCapability, - PerformanceLevelCapability, - ServerVersionCapability, - ServiceObjectiveCapability, - Sku -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/dataMaskingPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/dataMaskingPoliciesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/dataMaskingPoliciesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/dataMaskingRulesMappers.ts b/sdk/sql/arm-sql/src/models/dataMaskingRulesMappers.ts deleted file mode 100644 index 5f51959ea946..000000000000 --- a/sdk/sql/arm-sql/src/models/dataMaskingRulesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - DataMaskingRuleListResult, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databaseAutomaticTuningOperationsMappers.ts b/sdk/sql/arm-sql/src/models/databaseAutomaticTuningOperationsMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/databaseAutomaticTuningOperationsMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databaseBlobAuditingPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/databaseBlobAuditingPoliciesMappers.ts deleted file mode 100644 index 208528b42b1d..000000000000 --- a/sdk/sql/arm-sql/src/models/databaseBlobAuditingPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseBlobAuditingPolicyListResult, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databaseOperationsMappers.ts b/sdk/sql/arm-sql/src/models/databaseOperationsMappers.ts deleted file mode 100644 index be1316bb2af4..000000000000 --- a/sdk/sql/arm-sql/src/models/databaseOperationsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseOperationListResult, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databaseThreatDetectionPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/databaseThreatDetectionPoliciesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/databaseThreatDetectionPoliciesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databaseUsagesMappers.ts b/sdk/sql/arm-sql/src/models/databaseUsagesMappers.ts deleted file mode 100644 index e44bd416354e..000000000000 --- a/sdk/sql/arm-sql/src/models/databaseUsagesMappers.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - DatabaseUsage, - DatabaseUsageListResult -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentRuleBaselinesMappers.ts b/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentRuleBaselinesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentRuleBaselinesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentScansMappers.ts b/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentScansMappers.ts deleted file mode 100644 index 8db2e4f353ef..000000000000 --- a/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentScansMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord, - VulnerabilityAssessmentScanRecordListResult -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentsMappers.ts b/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentsMappers.ts deleted file mode 100644 index ddd16788a720..000000000000 --- a/sdk/sql/arm-sql/src/models/databaseVulnerabilityAssessmentsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentListResult, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/databasesMappers.ts b/sdk/sql/arm-sql/src/models/databasesMappers.ts deleted file mode 100644 index d42e76c423cd..000000000000 --- a/sdk/sql/arm-sql/src/models/databasesMappers.ts +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseListResult, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseUpdate, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExportRequest, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - ImportExtensionRequest, - ImportRequest, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - Metric, - MetricAvailability, - MetricDefinition, - MetricDefinitionListResult, - MetricListResult, - MetricName, - MetricValue, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - ResourceMoveDefinition, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/elasticPoolActivitiesMappers.ts b/sdk/sql/arm-sql/src/models/elasticPoolActivitiesMappers.ts deleted file mode 100644 index e208d357ba22..000000000000 --- a/sdk/sql/arm-sql/src/models/elasticPoolActivitiesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolActivityListResult, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/elasticPoolDatabaseActivitiesMappers.ts b/sdk/sql/arm-sql/src/models/elasticPoolDatabaseActivitiesMappers.ts deleted file mode 100644 index 9ec09441bb5b..000000000000 --- a/sdk/sql/arm-sql/src/models/elasticPoolDatabaseActivitiesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolDatabaseActivityListResult, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/elasticPoolOperationsMappers.ts b/sdk/sql/arm-sql/src/models/elasticPoolOperationsMappers.ts deleted file mode 100644 index 42b902e5b44b..000000000000 --- a/sdk/sql/arm-sql/src/models/elasticPoolOperationsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolOperationListResult, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/elasticPoolsMappers.ts b/sdk/sql/arm-sql/src/models/elasticPoolsMappers.ts deleted file mode 100644 index 0207ecc07c86..000000000000 --- a/sdk/sql/arm-sql/src/models/elasticPoolsMappers.ts +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolListResult, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - ElasticPoolUpdate, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - Metric, - MetricAvailability, - MetricDefinition, - MetricDefinitionListResult, - MetricListResult, - MetricName, - MetricValue, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/encryptionProtectorsMappers.ts b/sdk/sql/arm-sql/src/models/encryptionProtectorsMappers.ts deleted file mode 100644 index dd2c39144b9d..000000000000 --- a/sdk/sql/arm-sql/src/models/encryptionProtectorsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - EncryptionProtectorListResult, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/extendedDatabaseBlobAuditingPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/extendedDatabaseBlobAuditingPoliciesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/extendedDatabaseBlobAuditingPoliciesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/extendedServerBlobAuditingPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/extendedServerBlobAuditingPoliciesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/extendedServerBlobAuditingPoliciesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/failoverGroupsMappers.ts b/sdk/sql/arm-sql/src/models/failoverGroupsMappers.ts deleted file mode 100644 index 5b702951c0c0..000000000000 --- a/sdk/sql/arm-sql/src/models/failoverGroupsMappers.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupListResult, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FailoverGroupUpdate, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/firewallRulesMappers.ts b/sdk/sql/arm-sql/src/models/firewallRulesMappers.ts deleted file mode 100644 index c7b1cddbce7e..000000000000 --- a/sdk/sql/arm-sql/src/models/firewallRulesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - FirewallRuleListResult, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/geoBackupPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/geoBackupPoliciesMappers.ts deleted file mode 100644 index 23569a186da1..000000000000 --- a/sdk/sql/arm-sql/src/models/geoBackupPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - GeoBackupPolicyListResult, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/index.ts b/sdk/sql/arm-sql/src/models/index.ts index 60b18ceff4a8..1ba87d45ab73 100644 --- a/sdk/sql/arm-sql/src/models/index.ts +++ b/sdk/sql/arm-sql/src/models/index.ts @@ -1,15488 +1,14384 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export { BaseResource, CloudError }; - -/** - * ARM resource. - */ -export interface Resource extends BaseResource { +/** ARM resource. */ +export interface Resource { /** * Resource ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * Resource name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * Resource type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; } -/** - * ARM proxy resource. - */ -export interface ProxyResource extends Resource { +/** The response to a list recoverable databases request */ +export interface RecoverableDatabaseListResult { + /** A list of recoverable databases */ + value: RecoverableDatabase[]; } -/** - * A recoverable database - */ -export interface RecoverableDatabase extends ProxyResource { - /** - * The edition of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly edition?: string; +/** The response to a list data masking rules request. */ +export interface DataMaskingRuleListResult { + /** The list of database data masking rules. */ + value?: DataMaskingRule[]; +} + +/** The response to a list geo backup policies request. */ +export interface GeoBackupPolicyListResult { + /** The list of geo backup policies. */ + value?: GeoBackupPolicy[]; +} + +/** The response to a list database metrics request. */ +export interface MetricListResult { + /** The list of metrics for the database. */ + value: Metric[]; +} + +/** Database metrics. */ +export interface Metric { /** - * The service level objective name of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The start time for the metric (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serviceLevelObjective?: string; + readonly startTime?: Date; /** - * The elastic pool name of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The end time for the metric (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly elasticPoolName?: string; + readonly endTime?: Date; /** - * The last available backup date of the database (ISO8601 format) - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time step to be used to summarize the metric values. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastAvailableBackupDate?: Date; -} - -/** - * A restorable dropped database - */ -export interface RestorableDroppedDatabase extends ProxyResource { + readonly timeGrain?: string; /** - * The geo-location where the resource lives - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The unit of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly unit?: UnitType; /** - * The name of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name information for the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseName?: string; + readonly name?: MetricName; /** - * The edition of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The metric values for the specified time window and timestep. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly edition?: string; + readonly metricValues?: MetricValue[]; +} + +/** A database metric name. */ +export interface MetricName { /** - * The max size in bytes of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the database metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxSizeBytes?: string; + readonly value?: string; /** - * The service level objective name of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The friendly name of the database metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serviceLevelObjective?: string; + readonly localizedValue?: string; +} + +/** Represents database metrics. */ +export interface MetricValue { /** - * The elastic pool name of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The number of values for the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly elasticPoolName?: string; + readonly count?: number; /** - * The creation date of the database (ISO8601 format) - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The average value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; + readonly average?: number; /** - * The deletion date of the database (ISO8601 format) - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The max value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly deletionDate?: Date; + readonly maximum?: number; /** - * The earliest restore date of the database (ISO8601 format) - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The min value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly earliestRestoreDate?: Date; -} - -/** - * ARM tracked top level resource. - */ -export interface TrackedResource extends Resource { + readonly minimum?: number; /** - * Resource location. + * The metric timestamp (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location: string; + readonly timestamp?: Date; /** - * Resource tags. + * The total value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; + readonly total?: number; } -/** - * A request to check whether the specified name for a resource is available. - */ -export interface CheckNameAvailabilityRequest { - /** - * The name whose availability is to be checked. - */ - name: string; +/** The response to a list database metric definitions request. */ +export interface MetricDefinitionListResult { + /** The list of metric definitions for the database. */ + value: MetricDefinition[]; } -/** - * A response indicating whether the specified name for a resource is available. - */ -export interface CheckNameAvailabilityResponse { +/** A database metric definition. */ +export interface MetricDefinition { /** - * True if the name is available, otherwise false. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name information for the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly available?: boolean; + readonly name?: MetricName; /** - * A message explaining why the name is unavailable. Will be null if the name is available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The primary aggregation type defining how metric values are displayed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly primaryAggregationType?: PrimaryAggregationType; /** - * The name whose availability was checked. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The resource uri of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly resourceUri?: string; /** - * The reason code explaining why the name is unavailable. Will be null if the name is available. - * Possible values include: 'Invalid', 'AlreadyExists' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The unit of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly reason?: CheckNameAvailabilityReason; -} - -/** - * A server secure connection policy. - */ -export interface ServerConnectionPolicy extends ProxyResource { + readonly unit?: UnitDefinitionType; /** - * Metadata used for the Azure portal experience. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of database metric availabilities for the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly metricAvailabilities?: MetricAvailability[]; +} + +/** A metric availability value. */ +export interface MetricAvailability { /** - * Resource location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The length of retention for the database metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly retention?: string; /** - * The server connection type. Possible values include: 'Default', 'Proxy', 'Redirect' + * The granularity of the database metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - connectionType: ServerConnectionType; + readonly timeGrain?: string; } -/** - * Contains information about a database Threat Detection policy. - */ -export interface DatabaseSecurityAlertPolicy extends ProxyResource { +/** Represents the parameters for Unlink Replication Link request. */ +export interface UnlinkParameters { + /** Determines whether link will be terminated in a forced or a friendly way. */ + forcedTermination?: boolean; +} + +/** A list of server communication links. */ +export interface ServerCommunicationLinkListResult { + /** The list of server communication links. */ + value?: ServerCommunicationLink[]; +} + +/** Represents the response to a get database service objectives request. */ +export interface ServiceObjectiveListResult { + /** The list of database service objectives. */ + value: ServiceObjective[]; +} + +/** Represents the response to a list elastic pool activity request. */ +export interface ElasticPoolActivityListResult { + /** The list of elastic pool activities. */ + value: ElasticPoolActivity[]; +} + +/** Represents the response to a list elastic pool database activity request. */ +export interface ElasticPoolDatabaseActivityListResult { + /** The list of elastic pool database activities. */ + value: ElasticPoolDatabaseActivity[]; +} + +/** Represents the response to a list database transparent data encryption activity request. */ +export interface TransparentDataEncryptionActivityListResult { + /** The list of database transparent data encryption activities. */ + value: TransparentDataEncryptionActivity[]; +} + +/** Represents the response to a list server metrics request. */ +export interface ServerUsageListResult { + /** The list of server metrics for the server. */ + value: ServerUsage[]; +} + +/** Represents server metrics. */ +export interface ServerUsage { /** - * The geo-location where the resource lives + * Name of the server usage metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location?: string; + readonly name?: string; /** - * Resource kind. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly resourceName?: string; /** - * Specifies the state of the policy. If state is Enabled, storageEndpoint and - * storageAccountAccessKey are required. Possible values include: 'New', 'Enabled', 'Disabled' + * The metric display name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: SecurityAlertPolicyState; + readonly displayName?: string; /** - * Specifies the semicolon-separated list of alerts that are disabled, or empty string to disable - * no alerts. Possible values: Sql_Injection; Sql_Injection_Vulnerability; Access_Anomaly; - * Data_Exfiltration; Unsafe_Action. + * The current value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - disabledAlerts?: string; + readonly currentValue?: number; /** - * Specifies the semicolon-separated list of e-mail addresses to which the alert is sent. + * The current limit of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailAddresses?: string; + readonly limit?: number; /** - * Specifies that the alert is sent to the account administrators. Possible values include: - * 'Enabled', 'Disabled' + * The units of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailAccountAdmins?: SecurityAlertPolicyEmailAccountAdmins; + readonly unit?: string; /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob - * storage will hold all Threat Detection audit logs. If state is Enabled, storageEndpoint is - * required. + * The next reset time for the metric (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageEndpoint?: string; + readonly nextResetTime?: Date; +} + +/** A list of database extended auditing settings. */ +export interface ExtendedDatabaseBlobAuditingPolicyListResult { /** - * Specifies the identifier key of the Threat Detection audit storage account. If state is - * Enabled, storageAccountAccessKey is required. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly value?: ExtendedDatabaseBlobAuditingPolicy[]; /** - * Specifies the number of days to keep in the Threat Detection audit logs. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; + readonly nextLink?: string; +} + +/** A list of server extended auditing settings. */ +export interface ExtendedServerBlobAuditingPolicyListResult { + /** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: ExtendedServerBlobAuditingPolicy[]; /** - * Specifies whether to use the default server policy. Possible values include: 'Enabled', - * 'Disabled' + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - useServerDefault?: SecurityAlertPolicyUseServerDefault; + readonly nextLink?: string; } -/** - * Represents a database data masking policy. - */ -export interface DataMaskingPolicy extends ProxyResource { +/** A list of server auditing settings. */ +export interface ServerBlobAuditingPolicyListResult { /** - * The state of the data masking policy. Possible values include: 'Disabled', 'Enabled' + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataMaskingState: DataMaskingState; + readonly value?: ServerBlobAuditingPolicy[]; /** - * The list of the exempt principals. Specifies the semicolon-separated list of database users - * for which the data masking policy does not apply. The specified users receive data results - * without masking for all of the database queries. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - exemptPrincipals?: string; + readonly nextLink?: string; +} + +/** A list of database auditing settings. */ +export interface DatabaseBlobAuditingPolicyListResult { /** - * The list of the application principals. This is a legacy parameter and is no longer used. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly applicationPrincipals?: string; + readonly value?: DatabaseBlobAuditingPolicy[]; /** - * The masking level. This is a legacy parameter and is no longer used. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maskingLevel?: string; + readonly nextLink?: string; +} + +/** Contains information of current state for an Azure SQL Database, Server or Elastic Pool Recommended Action. */ +export interface RecommendedActionStateInfo { + /** Current state the recommended action is in. Some commonly used states are: Active -> recommended action is active and no action has been taken yet. Pending -> recommended action is approved for and is awaiting execution. Executing -> recommended action is being applied on the user database. Verifying -> recommended action was applied and is being verified of its usefulness by the system. Success -> recommended action was applied and improvement found during verification. Pending Revert -> verification found little or no improvement so recommended action is queued for revert or user has manually reverted. Reverting -> changes made while applying recommended action are being reverted on the user database. Reverted -> successfully reverted the changes made by recommended action on user database. Ignored -> user explicitly ignored/discarded the recommended action. */ + currentValue: RecommendedActionCurrentState; /** - * The location of the data masking policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets who initiated the execution of this recommended action. Possible Value are: User -> When user explicity notified system to apply the recommended action. System -> When auto-execute status of this advisor was set to 'Enabled', in which case the system applied it. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly actionInitiatedBy?: RecommendedActionInitiatedBy; /** - * The kind of data masking policy. Metadata, used for Azure portal. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the time when the state was last modified + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly lastModified?: Date; } -/** - * Represents a database data masking rule. - */ -export interface DataMaskingRule extends ProxyResource { +/** Contains information for manual implementation for an Azure SQL Database, Server or Elastic Pool Recommended Action. */ +export interface RecommendedActionImplementationInfo { /** - * The rule Id. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the method in which this recommended action can be manually implemented. e.g., TSql, AzurePowerShell. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly dataMaskingRuleId?: string; + readonly method?: ImplementationMethod; /** - * The alias name. This is a legacy parameter and is no longer used. + * Gets the manual implementation script. e.g., T-SQL script that could be executed on the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - aliasName?: string; + readonly script?: string; +} + +/** Contains error information for an Azure SQL Database, Server or Elastic Pool Recommended Action. */ +export interface RecommendedActionErrorInfo { /** - * The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, - * tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the - * rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless - * of the provided value of ruleState. Possible values include: 'Disabled', 'Enabled' + * Gets the reason why the recommended action was put to error state. e.g., DatabaseHasQdsOff, IndexAlreadyExists + * NOTE: This property will not be serialized. It can only be populated by the server. */ - ruleState?: DataMaskingRuleState; + readonly errorCode?: string; /** - * The schema name on which the data masking rule is applied. + * Gets whether the error could be ignored and recommended action could be retried. Possible values are: Yes/No + * NOTE: This property will not be serialized. It can only be populated by the server. */ - schemaName: string; + readonly isRetryable?: IsRetryable; +} + +/** Contains information of estimated or observed impact on various metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action. */ +export interface RecommendedActionImpactRecord { /** - * The table name on which the data masking rule is applied. + * Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tableName: string; + readonly dimensionName?: string; /** - * The column name on which the data masking rule is applied. + * Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - columnName: string; + readonly unit?: string; /** - * The masking function that is used for the data masking rule. Possible values include: - * 'Default', 'CCN', 'Email', 'Number', 'SSN', 'Text' + * Gets the absolute value of this dimension if applicable. e.g., Number of Queries affected + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maskingFunction: DataMaskingFunction; + readonly absoluteValue?: number; /** - * The numberFrom property of the masking rule. Required if maskingFunction is set to Number, - * otherwise this parameter will be ignored. + * Gets the absolute change in the value of this dimension. e.g., Absolute Disk space change in Megabytes + * NOTE: This property will not be serialized. It can only be populated by the server. */ - numberFrom?: string; + readonly changeValueAbsolute?: number; /** - * The numberTo property of the data masking rule. Required if maskingFunction is set to Number, - * otherwise this parameter will be ignored. + * Gets the relative change in the value of this dimension. e.g., Relative Disk space change in Percentage + * NOTE: This property will not be serialized. It can only be populated by the server. */ - numberTo?: string; + readonly changeValueRelative?: number; +} + +/** Contains time series of various impacted metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action. */ +export interface RecommendedActionMetricInfo { /** - * If maskingFunction is set to Text, the number of characters to show unmasked in the beginning - * of the string. Otherwise, this parameter will be ignored. + * Gets the name of the metric. e.g., CPU, Number of Queries. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - prefixSize?: string; + readonly metricName?: string; /** - * If maskingFunction is set to Text, the number of characters to show unmasked at the end of the - * string. Otherwise, this parameter will be ignored. + * Gets the unit in which metric is measured. e.g., DTU, Frequency + * NOTE: This property will not be serialized. It can only be populated by the server. */ - suffixSize?: string; + readonly unit?: string; /** - * If maskingFunction is set to Text, the character to use for masking the unexposed part of the - * string. Otherwise, this parameter will be ignored. + * Gets the duration of time interval for the value given by this MetricInfo. e.g., PT1H (1 hour) + * NOTE: This property will not be serialized. It can only be populated by the server. */ - replacementString?: string; + readonly timeGrain?: string; /** - * The location of the data masking rule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the start time of time interval given by this MetricInfo. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly startTime?: Date; /** - * The kind of Data Masking Rule. Metadata, used for Azure portal. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the value of the metric in the time interval given by this MetricInfo. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly value?: number; } -/** - * Represents a server firewall rule. - */ -export interface FirewallRule extends ProxyResource { - /** - * Kind of server that contains this firewall rule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly kind?: string; +/** Automatic tuning properties for individual advisors. */ +export interface AutomaticTuningOptions { + /** Automatic tuning option desired state. */ + desiredState?: AutomaticTuningOptionModeDesired; /** - * Location of the server that contains this firewall rule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Automatic tuning option actual state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly actualState?: AutomaticTuningOptionModeActual; /** - * The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to - * represent all Azure-internal IP addresses. + * Reason code if desired and actual state are different. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - startIpAddress: string; + readonly reasonCode?: number; /** - * The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to - * startIpAddress. Use value '0.0.0.0' to represent all Azure-internal IP addresses. + * Reason description if desired and actual state are different. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endIpAddress: string; + readonly reasonDesc?: AutomaticTuningDisabledReason; } -/** - * A database geo backup policy. - */ -export interface GeoBackupPolicy extends ProxyResource { +/** A list of database columns. */ +export interface DatabaseColumnListResult { /** - * The state of the geo backup policy. Possible values include: 'Disabled', 'Enabled' + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: GeoBackupPolicyState; + readonly value?: DatabaseColumn[]; /** - * The storage type of the geo backup policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly storageType?: string; + readonly nextLink?: string; +} + +/** A list of database schemas. */ +export interface DatabaseSchemaListResult { /** - * Kind of geo backup policy. This is metadata used for the Azure portal experience. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly value?: DatabaseSchema[]; /** - * Backup policy location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly nextLink?: string; } -/** - * Import database parameters. - */ -export interface ImportExtensionRequest { - /** - * The name of the extension. - */ - name?: 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; +} + +/** A list of the database's security alert policies. */ +export interface DatabaseSecurityAlertListResult { /** - * The type of the extension. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: string; + readonly value?: DatabaseSecurityAlertPolicy[]; /** - * The type of the storage key to use. Possible values include: 'StorageAccessKey', - * 'SharedAccessKey' + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageKeyType: StorageKeyType; + readonly nextLink?: string; +} + +/** A list of database tables. */ +export interface DatabaseTableListResult { /** - * The storage key to use. If storage key type is SharedAccessKey, it must be preceded with a - * "?." + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageKey: string; + readonly value?: DatabaseTable[]; /** - * The storage uri to use. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageUri: string; - /** - * The name of the SQL administrator. - */ - administratorLogin: string; + readonly nextLink?: string; +} + +/** Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result. */ +export interface DatabaseVulnerabilityAssessmentRuleBaselineItem { + /** The rule baseline result */ + result: string[]; +} + +/** Properties of a Vulnerability Assessment recurring scans. */ +export interface VulnerabilityAssessmentRecurringScansProperties { + /** Recurring scans state. */ + isEnabled?: boolean; + /** Specifies that the schedule scan notification will be is sent to the subscription administrators. */ + emailSubscriptionAdmins?: boolean; + /** Specifies an array of e-mail addresses to which the scan notification is sent. */ + emails?: string[]; +} + +/** A list of the database's vulnerability assessments. */ +export interface DatabaseVulnerabilityAssessmentListResult { /** - * The password of the SQL administrator. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLoginPassword: string; + readonly value?: DatabaseVulnerabilityAssessment[]; /** - * The authentication type. Possible values include: 'SQL', 'ADPassword'. Default value: 'SQL'. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - authenticationType?: AuthenticationType; + readonly nextLink?: string; } -/** - * Response for Import/Export Get operation. - */ -export interface ImportExportResponse extends ProxyResource { +/** A list of vulnerability assessment scan records. */ +export interface VulnerabilityAssessmentScanRecordListResult { /** - * The request type of the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestType?: string; - /** - * The request type of the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly requestId?: string; + readonly value?: VulnerabilityAssessmentScanRecord[]; /** - * The name of the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serverName?: string; + readonly nextLink?: string; +} + +/** Properties of a vulnerability assessment scan error. */ +export interface VulnerabilityAssessmentScanError { /** - * The name of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseName?: string; + readonly code?: string; /** - * The status message returned from the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: string; + readonly message?: string; +} + +/** User activities of a data warehouse */ +export interface DataWarehouseUserActivitiesListResult { /** - * The operation status last modified time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastModifiedTime?: string; + readonly value?: DataWarehouseUserActivities[]; /** - * The operation queued time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly queuedTime?: string; + readonly nextLink?: string; +} + +/** A list of deleted servers. */ +export interface DeletedServerListResult { /** - * The blob uri. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly blobUri?: string; + readonly value?: DeletedServer[]; /** - * The error message returned from the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorMessage?: string; + readonly nextLink?: string; } -/** - * Export database parameters. - */ -export interface ExportRequest { +/** The response to a list elastic pool operations request */ +export interface ElasticPoolOperationListResult { /** - * The type of the storage key to use. Possible values include: 'StorageAccessKey', - * 'SharedAccessKey' + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageKeyType: StorageKeyType; + readonly value?: ElasticPoolOperation[]; /** - * The storage key to use. If storage key type is SharedAccessKey, it must be preceded with a - * "?." + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageKey: string; + readonly nextLink?: string; +} + +/** The result of an elastic pool list request. */ +export interface ElasticPoolListResult { /** - * The storage uri to use. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageUri: string; + readonly value?: ElasticPool[]; /** - * The name of the SQL administrator. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLogin: string; + readonly nextLink?: string; +} + +/** An ARM Resource SKU. */ +export interface Sku { + /** The name of the SKU, typically, a letter + Number code, e.g. P3. */ + name: string; + /** The tier or edition of the particular SKU, e.g. Basic, Premium. */ + tier?: string; + /** Size of the particular SKU */ + size?: string; + /** If the service has different generations of hardware, for the same SKU, then that can be captured here. */ + family?: string; + /** Capacity of the particular SKU. */ + capacity?: number; +} + +/** Per database settings of an elastic pool. */ +export interface ElasticPoolPerDatabaseSettings { + /** The minimum capacity all databases are guaranteed. */ + minCapacity?: number; + /** The maximum capacity any one database can consume. */ + maxCapacity?: number; +} + +/** An elastic pool update. */ +export interface ElasticPoolUpdate { + /** An ARM Resource SKU. */ + sku?: Sku; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** The storage limit for the database elastic pool in bytes. */ + maxSizeBytes?: number; + /** The per database settings for the elastic pool. */ + perDatabaseSettings?: ElasticPoolPerDatabaseSettings; + /** Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be spread across multiple availability zones. */ + zoneRedundant?: boolean; + /** The license type to apply for this elastic pool. */ + licenseType?: ElasticPoolLicenseType; + /** Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur. */ + maintenanceConfigurationId?: string; +} + +/** A list of server encryption protectors. */ +export interface EncryptionProtectorListResult { /** - * The password of the SQL administrator. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLoginPassword: string; + readonly value?: EncryptionProtector[]; /** - * The authentication type. Possible values include: 'SQL', 'ADPassword'. Default value: 'SQL'. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - authenticationType?: AuthenticationType; + readonly nextLink?: string; } -/** - * Import database parameters. - */ -export interface ImportRequest extends ExportRequest { +/** Read-write endpoint of the failover group instance. */ +export interface FailoverGroupReadWriteEndpoint { + /** Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. */ + failoverPolicy: ReadWriteEndpointFailoverPolicy; + /** Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. */ + failoverWithDataLossGracePeriodMinutes?: number; +} + +/** Read-only endpoint of the failover group instance. */ +export interface FailoverGroupReadOnlyEndpoint { + /** Failover policy of the read-only endpoint for the failover group. */ + failoverPolicy?: ReadOnlyEndpointFailoverPolicy; +} + +/** Partner server information for the failover group. */ +export interface PartnerInfo { + /** Resource identifier of the partner server. */ + id: string; /** - * The name of the database to import. + * Geo location of the partner server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databaseName: string; + readonly location?: string; /** - * The edition for the database being created. - * - * The list of SKUs may vary by region and support offer. To determine the SKUs (including the - * SKU name, tier/edition, family, and capacity) that are available to your subscription in an - * Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: - * - * ```azurecli - * az sql db list-editions -l -o table - * ```` - * - * ```powershell - * Get-AzSqlServerServiceObjective -Location - * ```` - * . Possible values include: 'Web', 'Business', 'Basic', 'Standard', 'Premium', 'PremiumRS', - * 'Free', 'Stretch', 'DataWarehouse', 'System', 'System2', 'GeneralPurpose', 'BusinessCritical', - * 'Hyperscale' + * Replication role of the partner server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - edition: DatabaseEdition; + readonly replicationRole?: FailoverGroupReplicationRole; +} + +/** A failover group update request. */ +export interface FailoverGroupUpdate { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** Read-write endpoint of the failover group instance. */ + readWriteEndpoint?: FailoverGroupReadWriteEndpoint; + /** Read-only endpoint of the failover group instance. */ + readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint; + /** List of databases in the failover group. */ + databases?: string[]; +} + +/** A list of failover groups. */ +export interface FailoverGroupListResult { /** - * The name of the service objective to assign to the database. Possible values include: - * 'System', 'System0', 'System1', 'System2', 'System3', 'System4', 'System2L', 'System3L', - * 'System4L', 'Free', 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', 'S9', 'S12', 'P1', - * 'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'PRS1', 'PRS2', 'PRS4', 'PRS6', 'DW100', 'DW200', - * 'DW300', 'DW400', 'DW500', 'DW600', 'DW1000', 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', - * 'DW2000', 'DW2000c', 'DW3000', 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', - * 'DW7500c', 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', 'DS200', 'DS300', 'DS400', 'DS500', - * 'DS600', 'DS1000', 'DS1200', 'DS1500', 'DS2000', 'ElasticPool' + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serviceObjectiveName: ServiceObjectiveName; + readonly value?: FailoverGroup[]; /** - * The maximum size for the newly imported database. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxSizeBytes: string; + readonly nextLink?: string; } -/** - * Represents database metrics. - */ -export interface MetricValue { - /** - * The number of values for the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly count?: number; +/** ARM resource. */ +export interface ResourceWithWritableName { /** - * The average value of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly average?: number; + readonly id?: string; + /** Resource name. */ + name?: string; /** - * The max value of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maximum?: number; + readonly type?: string; +} + +/** The response to a list firewall rules request */ +export interface FirewallRuleListResult { /** - * The min value of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly minimum?: number; + readonly value?: FirewallRule[]; /** - * The metric timestamp (ISO-8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly timestamp?: Date; + readonly nextLink?: string; +} + +/** A list of server firewall rules. */ +export interface FirewallRuleList { + values?: FirewallRule[]; +} + +/** Read-write endpoint of the failover group instance. */ +export interface InstanceFailoverGroupReadWriteEndpoint { + /** Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. */ + failoverPolicy: ReadWriteEndpointFailoverPolicy; + /** Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. */ + failoverWithDataLossGracePeriodMinutes?: number; +} + +/** Read-only endpoint of the failover group instance. */ +export interface InstanceFailoverGroupReadOnlyEndpoint { + /** Failover policy of the read-only endpoint for the failover group. */ + failoverPolicy?: ReadOnlyEndpointFailoverPolicy; +} + +/** Partner region information for the failover group. */ +export interface PartnerRegionInfo { + /** Geo location of the partner managed instances. */ + location?: string; /** - * The total value of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Replication role of the partner managed instances. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly total?: number; + readonly replicationRole?: InstanceFailoverGroupReplicationRole; } -/** - * A database metric name. - */ -export interface MetricName { +/** Pairs of Managed Instances in the failover group. */ +export interface ManagedInstancePairInfo { + /** Id of Primary Managed Instance in pair. */ + primaryManagedInstanceId?: string; + /** Id of Partner Managed Instance in pair. */ + partnerManagedInstanceId?: string; +} + +/** A list of instance failover groups. */ +export interface InstanceFailoverGroupListResult { /** - * The name of the database metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly value?: string; + readonly value?: InstanceFailoverGroup[]; /** - * The friendly name of the database metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly localizedValue?: string; + readonly nextLink?: string; } -/** - * Database metrics. - */ -export interface Metric { +/** An update to an Instance pool. */ +export interface InstancePoolUpdate { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; +} + +/** A list of Azure SQL instance pools. */ +export interface InstancePoolListResult { /** - * The start time for the metric (ISO-8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly startTime?: Date; + readonly value?: InstancePool[]; /** - * The end time for the metric (ISO-8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endTime?: Date; + readonly nextLink?: string; +} + +/** A list of Azure SQL job agents. */ +export interface JobAgentListResult { /** - * The time step to be used to summarize the metric values. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly timeGrain?: string; + readonly value?: JobAgent[]; /** - * The unit of the metric. Possible values include: 'count', 'bytes', 'seconds', 'percent', - * 'countPerSecond', 'bytesPerSecond' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: UnitType; + readonly nextLink?: string; +} + +/** An update to an Azure SQL job agent. */ +export interface JobAgentUpdate { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; +} + +/** A list of job credentials. */ +export interface JobCredentialListResult { /** - * The name information for the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: MetricName; + readonly value?: JobCredential[]; /** - * The metric values for the specified time window and timestep. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly metricValues?: MetricValue[]; + readonly nextLink?: string; } -/** - * A metric availability value. - */ -export interface MetricAvailability { +/** A list of job executions. */ +export interface JobExecutionListResult { /** - * The length of retention for the database metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly retention?: string; + readonly value?: JobExecution[]; /** - * The granularity of the database metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly timeGrain?: string; + readonly nextLink?: string; } -/** - * A database metric definition. - */ -export interface MetricDefinition { +/** The target that a job execution is executed on. */ +export interface JobExecutionTarget { /** - * The name information for the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The type of the target. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: MetricName; + readonly type?: JobTargetType; /** - * The primary aggregation type defining how metric values are displayed. Possible values - * include: 'None', 'Average', 'Count', 'Minimum', 'Maximum', 'Total' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The server name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly primaryAggregationType?: PrimaryAggregationType; + readonly serverName?: string; /** - * The resource uri of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The database name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resourceUri?: string; + readonly databaseName?: string; +} + +/** A list of jobs. */ +export interface JobListResult { /** - * The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', - * 'CountPerSecond', 'BytesPerSecond' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: UnitDefinitionType; + readonly value?: Job[]; /** - * The list of database metric availabilities for the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly metricAvailabilities?: MetricAvailability[]; + readonly nextLink?: string; } -/** - * Represents recommended elastic pool metric. - */ -export interface RecommendedElasticPoolMetric { +/** Scheduling properties of a job. */ +export interface JobSchedule { + /** Schedule start time. */ + startTime?: Date; + /** Schedule end time. */ + endTime?: Date; + /** Schedule interval type */ + type?: JobScheduleType; + /** Whether or not the schedule is enabled. */ + enabled?: boolean; + /** Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format. */ + interval?: string; +} + +/** A list of job steps. */ +export interface JobStepListResult { /** - * The time of metric (ISO8601 format). + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dateTime?: Date; + readonly value?: JobStep[]; /** - * Gets or sets the DTUs (Database Transaction Units). See - * https://azure.microsoft.com/documentation/articles/sql-database-what-is-a-dtu/ + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dtu?: number; - /** - * Gets or sets size in gigabytes. - */ - sizeGB?: number; + readonly nextLink?: string; } -/** - * Represents a recommended elastic pool. - */ -export interface RecommendedElasticPool extends ProxyResource { +/** The action to be executed by a job step. */ +export interface JobStepAction { + /** Type of action being executed by the job step. */ + type?: JobStepActionType; + /** The source of the action to execute. */ + source?: JobStepActionSource; + /** The action value, for example the text of the T-SQL script to execute. */ + value: string; +} + +/** The output configuration of a job step. */ +export interface JobStepOutput { + /** The output destination type. */ + type?: JobStepOutputType; + /** The output destination subscription id. */ + subscriptionId?: string; + /** The output destination resource group. */ + resourceGroupName?: string; + /** The output destination server name. */ + serverName: string; + /** The output destination database. */ + databaseName: string; + /** The output destination schema. */ + schemaName?: string; + /** The output destination table. */ + tableName: string; + /** The resource ID of the credential to use to connect to the output destination. */ + credential: string; +} + +/** The execution options of a job step. */ +export interface JobStepExecutionOptions { + /** Execution timeout for the job step. */ + timeoutSeconds?: number; + /** Maximum number of times the job step will be reattempted if the first attempt fails. */ + retryAttempts?: number; + /** Initial delay between retries for job step execution. */ + initialRetryIntervalSeconds?: number; + /** The maximum amount of time to wait between retries for job step execution. */ + maximumRetryIntervalSeconds?: number; + /** The backoff multiplier for the time between retries. */ + retryIntervalBackoffMultiplier?: number; +} + +/** A list of target groups. */ +export interface JobTargetGroupListResult { + /** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: JobTargetGroup[]; /** - * The edition of the recommended elastic pool. The ElasticPoolEdition enumeration contains all - * the valid editions. Possible values include: 'Basic', 'Standard', 'Premium', 'GeneralPurpose', - * 'BusinessCritical' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseEdition?: ElasticPoolEdition; + readonly nextLink?: string; +} + +/** A job target, for example a specific database or a container of databases that is evaluated during job execution. */ +export interface JobTarget { + /** Whether the target is included or excluded from the group. */ + membershipType?: JobTargetGroupMembershipType; + /** The target type. */ + type: JobTargetType; + /** The target server name. */ + serverName?: string; + /** The target database name. */ + databaseName?: string; + /** The target elastic pool name. */ + elasticPoolName?: string; + /** The target shard map. */ + shardMapName?: string; + /** The resource ID of the credential that is used during job execution to connect to the target and determine the list of databases inside the target. */ + refreshCredential?: string; +} + +/** A list of job versions. */ +export interface JobVersionListResult { /** - * The DTU for the recommended elastic pool. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dtu?: number; + readonly value?: JobVersion[]; /** - * The minimum DTU for the database. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databaseDtuMin?: number; + readonly nextLink?: string; +} + +/** The location capability. */ +export interface LocationCapabilities { /** - * The maximum DTU for the database. + * The location name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databaseDtuMax?: number; + readonly name?: string; /** - * Gets storage size in megabytes. + * The list of supported server versions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageMB?: number; + readonly supportedServerVersions?: ServerVersionCapability[]; /** - * The observation period start (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported managed instance versions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly observationPeriodStart?: Date; + readonly supportedManagedInstanceVersions?: ManagedInstanceVersionCapability[]; /** - * The observation period start (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly observationPeriodEnd?: Date; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The server capability */ +export interface ServerVersionCapability { /** - * Gets maximum observed DTU. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The server version name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxObservedDtu?: number; + readonly name?: string; /** - * Gets maximum observed storage in megabytes. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported database editions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxObservedStorageMB?: number; + readonly supportedEditions?: EditionCapability[]; /** - * The list of databases in this pool. Expanded property - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported elastic pool editions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databases?: TrackedResource[]; + readonly supportedElasticPoolEditions?: ElasticPoolEditionCapability[]; /** - * The list of databases housed in the server. Expanded property - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly metrics?: RecommendedElasticPoolMetric[]; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * Represents a database replication link. - */ -export interface ReplicationLink extends ProxyResource { +/** The edition capability. */ +export interface EditionCapability { /** - * Location of the server that contains this firewall rule. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The database edition name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly name?: string; /** - * Legacy value indicating whether termination is allowed. Currently always returns true. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported service objectives for the edition. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isTerminationAllowed?: boolean; + readonly supportedServiceLevelObjectives?: ServiceObjectiveCapability[]; /** - * Replication mode of this replication link. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether or not zone redundancy is supported for the edition. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly replicationMode?: string; + readonly zoneRedundant?: boolean; /** - * The name of the server hosting the partner database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The read scale capability for the edition. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly partnerServer?: string; + readonly readScale?: ReadScaleCapability; /** - * The name of the partner database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported storage capabilities for this edition + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly partnerDatabase?: string; + readonly supportedStorageCapabilities?: StorageCapability[]; /** - * The Azure Region of the partner database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly partnerLocation?: string; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The service objectives capability. */ +export interface ServiceObjectiveCapability { /** - * The role of the database in the replication link. Possible values include: 'Primary', - * 'Secondary', 'NonReadableSecondary', 'Source', 'Copy' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The unique ID of the service objective. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly role?: ReplicationRole; + readonly id?: string; /** - * The role of the partner database in the replication link. Possible values include: 'Primary', - * 'Secondary', 'NonReadableSecondary', 'Source', 'Copy' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The service objective name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly partnerRole?: ReplicationRole; + readonly name?: string; + /** + * The list of supported maximum database sizes. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly supportedMaxSizes?: MaxSizeRangeCapability[]; /** - * The start time for the replication link. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The performance level. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly startTime?: Date; + readonly performanceLevel?: PerformanceLevelCapability; /** - * The percentage of seeding complete for the replication link. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The sku. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly percentComplete?: number; + readonly sku?: Sku; /** - * The replication state for the replication link. Possible values include: 'PENDING', 'SEEDING', - * 'CATCH_UP', 'SUSPENDED' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported license types. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly replicationState?: ReplicationState; -} - -/** - * An server Active Directory Administrator. - */ -export interface ServerAzureADAdministrator extends ProxyResource { + readonly supportedLicenseTypes?: LicenseTypeCapability[]; /** - * The server administrator login value. + * The included (free) max size. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - login: string; + readonly includedMaxSize?: MaxSizeCapability; /** - * The server administrator Sid (Secure ID). + * Whether or not zone redundancy is supported for the service objective. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sid: string; + readonly zoneRedundant?: boolean; /** - * The server Active Directory Administrator tenant id. + * Supported time range for auto pause delay + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tenantId: string; -} - -/** - * Server communication link. - */ -export interface ServerCommunicationLink extends ProxyResource { + readonly supportedAutoPauseDelay?: AutoPauseDelayTimeRange; /** - * The state. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported min capacities + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: string; + readonly supportedMinCapacities?: MinCapacityCapability[]; /** - * The name of the partner server. + * The compute model + * NOTE: This property will not be serialized. It can only be populated by the server. */ - partnerServer: string; + readonly computeModel?: string; /** - * Communication link location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported maintenance configurations + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly supportedMaintenanceConfigurations?: MaintenanceConfigurationCapability[]; /** - * Communication link kind. This property is used for Azure Portal metadata. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * Represents a database service objective. - */ -export interface ServiceObjective extends ProxyResource { +/** The maximum size range capability. */ +export interface MaxSizeRangeCapability { /** - * The name for the service objective. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Minimum value. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serviceObjectiveName?: string; + readonly minValue?: MaxSizeCapability; /** - * Gets whether the service level objective is the default service objective. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Maximum value. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isDefault?: boolean; + readonly maxValue?: MaxSizeCapability; /** - * Gets whether the service level objective is a system service objective. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Scale/step size for discrete values between the minimum value and the maximum value. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isSystem?: boolean; + readonly scaleSize?: MaxSizeCapability; /** - * The description for the service level objective. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Size of transaction log. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly logSize?: LogSizeCapability; /** - * Gets whether the service level objective is enabled. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly enabled?: boolean; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * Represents the activity on an elastic pool. - */ -export interface ElasticPoolActivity extends ProxyResource { +/** The maximum size capability. */ +export interface MaxSizeCapability { /** - * The geo-location where the resource lives + * The maximum size limit (see 'unit' for the units). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location?: string; + readonly limit?: number; /** - * The time the operation finished (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The units that the limit is expressed in. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endTime?: Date; + readonly unit?: MaxSizeUnit; +} + +/** The log size capability. */ +export interface LogSizeCapability { /** - * The error code if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The log size limit (see 'unit' for the units). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorCode?: number; + readonly limit?: number; /** - * The error message if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The units that the limit is expressed in. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorMessage?: string; + readonly unit?: LogSizeUnit; +} + +/** The performance level capability. */ +export interface PerformanceLevelCapability { /** - * The error severity if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Performance level value. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorSeverity?: number; + readonly value?: number; /** - * The operation name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Unit type used to measure performance level. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operation?: string; + readonly unit?: PerformanceLevelUnit; +} + +/** The license type capability */ +export interface LicenseTypeCapability { /** - * The unique operation ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * License type identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operationId?: string; + readonly name?: string; /** - * The percentage complete if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly percentComplete?: number; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** Supported auto pause delay time range */ +export interface AutoPauseDelayTimeRange { /** - * The requested max DTU per database if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Minimum value + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedDatabaseDtuMax?: number; + readonly minValue?: number; /** - * The requested min DTU per database if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Maximum value + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedDatabaseDtuMin?: number; + readonly maxValue?: number; /** - * The requested DTU for the pool if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Step value for discrete values between the minimum value and the maximum value. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedDtu?: number; + readonly stepSize?: number; /** - * The requested name for the elastic pool if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Default value is no value is provided + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedElasticPoolName?: string; + readonly default?: number; /** - * The requested storage limit for the pool in GB if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Unit of time that delay is expressed in + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedStorageLimitInGB?: number; + readonly unit?: PauseDelayTimeUnit; /** - * The name of the elastic pool. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Value that is used to not pause (infinite delay before pause) + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly elasticPoolName?: string; + readonly doNotPauseValue?: number; +} + +/** The min capacity capability */ +export interface MinCapacityCapability { /** - * The name of the server the elastic pool is in. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Min capacity value + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serverName?: string; + readonly value?: number; /** - * The time the operation started (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly startTime?: Date; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The maintenance configuration capability */ +export interface MaintenanceConfigurationCapability { /** - * The current state of the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Maintenance configuration name + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: string; + readonly name?: string; /** - * The requested storage limit in MB. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether or not zone redundancy is supported for the maintenance configuration. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedStorageLimitInMB?: number; + readonly zoneRedundant?: boolean; /** - * The requested per database DTU guarantee. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedDatabaseDtuGuarantee?: number; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The read scale capability. */ +export interface ReadScaleCapability { /** - * The requested per database DTU cap. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The maximum number of read scale replicas. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedDatabaseDtuCap?: number; + readonly maxNumberOfReplicas?: number; /** - * The requested DTU guarantee. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedDtuGuarantee?: number; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * Represents the activity on an elastic pool. - */ -export interface ElasticPoolDatabaseActivity extends ProxyResource { +/** The storage account type capability. */ +export interface StorageCapability { /** - * The geo-location where the resource lives + * The storage account type for the database's backups. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location?: string; + readonly storageAccountType?: StorageCapabilityStorageAccountType; /** - * The database name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseName?: string; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The elastic pool edition capability. */ +export interface ElasticPoolEditionCapability { /** - * The time the operation finished (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The elastic pool edition name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endTime?: Date; + readonly name?: string; /** - * The error code if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported elastic pool DTU levels for the edition. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorCode?: number; + readonly supportedElasticPoolPerformanceLevels?: ElasticPoolPerformanceLevelCapability[]; /** - * The error message if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether or not zone redundancy is supported for the edition. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorMessage?: string; + readonly zoneRedundant?: boolean; /** - * The error severity if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorSeverity?: number; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The Elastic Pool performance level capability. */ +export interface ElasticPoolPerformanceLevelCapability { /** - * The operation name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The performance level for the pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operation?: string; + readonly performanceLevel?: PerformanceLevelCapability; /** - * The unique operation ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The sku. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operationId?: string; + readonly sku?: Sku; /** - * The percentage complete if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported license types. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly percentComplete?: number; + readonly supportedLicenseTypes?: LicenseTypeCapability[]; /** - * The name for the elastic pool the database is moving into if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The maximum number of databases supported. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedElasticPoolName?: string; + readonly maxDatabaseCount?: number; /** - * The name of the current elastic pool the database is in if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The included (free) max size for this performance level. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentElasticPoolName?: string; + readonly includedMaxSize?: MaxSizeCapability; /** - * The name of the current service objective if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported max sizes. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentServiceObjective?: string; + readonly supportedMaxSizes?: MaxSizeRangeCapability[]; /** - * The name of the requested service objective if available. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported per database max sizes. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedServiceObjective?: string; + readonly supportedPerDatabaseMaxSizes?: MaxSizeRangeCapability[]; /** - * The name of the server the elastic pool is in. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported per database max performance levels. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serverName?: string; + readonly supportedPerDatabaseMaxPerformanceLevels?: ElasticPoolPerDatabaseMaxPerformanceLevelCapability[]; /** - * The time the operation started (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether or not zone redundancy is supported for the performance level. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly startTime?: Date; + readonly zoneRedundant?: boolean; /** - * The current state of the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported maintenance configurations + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: string; + readonly supportedMaintenanceConfigurations?: MaintenanceConfigurationCapability[]; + /** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * The impact of an operation, both in absolute and relative terms. - */ -export interface OperationImpact { +/** The max per-database performance level capability. */ +export interface ElasticPoolPerDatabaseMaxPerformanceLevelCapability { /** - * The name of the impact dimension. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The maximum performance level per database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly limit?: number; /** - * The unit in which estimated impact to dimension is measured. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Unit type used to measure performance level. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: string; + readonly unit?: PerformanceLevelUnit; /** - * The absolute impact to dimension. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported min database performance levels. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly changeValueAbsolute?: number; + readonly supportedPerDatabaseMinPerformanceLevels?: ElasticPoolPerDatabaseMinPerformanceLevelCapability[]; /** - * The relative impact to dimension (null if not applicable) - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly changeValueRelative?: number; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * Represents a database recommended index. - */ -export interface RecommendedIndex extends ProxyResource { +/** The minimum per-database performance level capability. */ +export interface ElasticPoolPerDatabaseMinPerformanceLevelCapability { /** - * The proposed index action. You can create a missing index, drop an unused index, or rebuild an - * existing index to improve its performance. Possible values include: 'Create', 'Drop', - * 'Rebuild' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The minimum performance level per database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly action?: RecommendedIndexAction; + readonly limit?: number; /** - * The current recommendation state. Possible values include: 'Active', 'Pending', 'Executing', - * 'Verifying', 'Pending Revert', 'Reverting', 'Reverted', 'Ignored', 'Expired', 'Blocked', - * 'Success' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Unit type used to measure performance level. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: RecommendedIndexState; + readonly unit?: PerformanceLevelUnit; /** - * The UTC datetime showing when this resource was created (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly created?: Date; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The managed instance capability */ +export interface ManagedInstanceVersionCapability { /** - * The UTC datetime of when was this resource last changed (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The server version name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastModified?: Date; + readonly name?: string; /** - * The type of index (CLUSTERED, NONCLUSTERED, COLUMNSTORE, CLUSTERED COLUMNSTORE). Possible - * values include: 'CLUSTERED', 'NONCLUSTERED', 'COLUMNSTORE', 'CLUSTERED COLUMNSTORE' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported managed instance editions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly indexType?: RecommendedIndexType; + readonly supportedEditions?: ManagedInstanceEditionCapability[]; /** - * The schema where table to build index over resides - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported instance pool editions. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly schema?: string; + readonly supportedInstancePoolEditions?: InstancePoolEditionCapability[]; /** - * The table on which to build index. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly table?: string; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The managed server capability */ +export interface ManagedInstanceEditionCapability { /** - * Columns over which to build index - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The managed server version name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly columns?: string[]; + readonly name?: string; /** - * The list of column names to be included in the index - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The supported families. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly includedColumns?: string[]; + readonly supportedFamilies?: ManagedInstanceFamilyCapability[]; /** - * The full build index script - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The list of supported storage capabilities for this edition + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly indexScript?: string; + readonly supportedStorageCapabilities?: StorageCapability[]; /** - * The estimated impact of doing recommended index action. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether or not zone redundancy is supported for the edition. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly estimatedImpact?: OperationImpact[]; + readonly zoneRedundant?: boolean; /** - * The values reported after index action is complete. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly reportedImpact?: OperationImpact[]; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * Represents a database transparent data encryption configuration. - */ -export interface TransparentDataEncryption extends ProxyResource { +/** The managed server family capability. */ +export interface ManagedInstanceFamilyCapability { /** - * Resource location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Family name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly name?: string; /** - * The status of the database transparent data encryption. Possible values include: 'Enabled', - * 'Disabled' + * SKU name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - status?: TransparentDataEncryptionStatus; -} - -/** - * A Slo Usage Metric. - */ -export interface SloUsageMetric { + readonly sku?: string; /** - * The serviceLevelObjective for SLO usage metric. Possible values include: 'System', 'System0', - * 'System1', 'System2', 'System3', 'System4', 'System2L', 'System3L', 'System4L', 'Free', - * 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', 'S9', 'S12', 'P1', 'P2', 'P3', 'P4', 'P6', - * 'P11', 'P15', 'PRS1', 'PRS2', 'PRS4', 'PRS6', 'DW100', 'DW200', 'DW300', 'DW400', 'DW500', - * 'DW600', 'DW1000', 'DW1200', 'DW1000c', 'DW1500', 'DW1500c', 'DW2000', 'DW2000c', 'DW3000', - * 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', 'DW7500c', 'DW10000c', 'DW15000c', - * 'DW30000c', 'DS100', 'DS200', 'DS300', 'DS400', 'DS500', 'DS600', 'DS1000', 'DS1200', - * 'DS1500', 'DS2000', 'ElasticPool' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported license types. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serviceLevelObjective?: ServiceObjectiveName; + readonly supportedLicenseTypes?: LicenseTypeCapability[]; /** - * The serviceLevelObjectiveId for SLO usage metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported virtual cores values. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serviceLevelObjectiveId?: string; + readonly supportedVcoresValues?: ManagedInstanceVcoresCapability[]; /** - * Gets or sets inRangeTimeRatio for SLO usage metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly inRangeTimeRatio?: number; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * Represents a Service Tier Advisor. - */ -export interface ServiceTierAdvisor extends ProxyResource { +/** The managed instance virtual cores capability. */ +export interface ManagedInstanceVcoresCapability { + /** + * The virtual cores identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; /** - * The observation period start (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The virtual cores value. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: number; + /** + * Included size. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly observationPeriodStart?: Date; + readonly includedMaxSize?: MaxSizeCapability; /** - * The observation period start (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Storage size ranges. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly observationPeriodEnd?: Date; + readonly supportedStorageSizes?: MaxSizeRangeCapability[]; /** - * The activeTimeRatio for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * True if this service objective is supported for managed instances in an instance pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly activeTimeRatio?: number; + readonly instancePoolSupported?: boolean; /** - * Gets or sets minDtu for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * True if this service objective is supported for standalone managed instances. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly minDtu?: number; + readonly standaloneSupported?: boolean; /** - * Gets or sets avgDtu for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported maintenance configurations + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly avgDtu?: number; + readonly supportedMaintenanceConfigurations?: ManagedInstanceMaintenanceConfigurationCapability[]; /** - * Gets or sets maxDtu for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxDtu?: number; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The maintenance configuration capability */ +export interface ManagedInstanceMaintenanceConfigurationCapability { /** - * Gets or sets maxSizeInGB for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Maintenance configuration name + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxSizeInGB?: number; + readonly name?: string; /** - * Gets or sets serviceLevelObjectiveUsageMetrics for the service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serviceLevelObjectiveUsageMetrics?: SloUsageMetric[]; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The instance pool capability */ +export interface InstancePoolEditionCapability { /** - * Gets or sets currentServiceLevelObjective for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The instance pool version name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentServiceLevelObjective?: string; + readonly name?: string; /** - * Gets or sets currentServiceLevelObjectiveId for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The supported families. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentServiceLevelObjectiveId?: string; + readonly supportedFamilies?: InstancePoolFamilyCapability[]; /** - * Gets or sets usageBasedRecommendationServiceLevelObjective for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly usageBasedRecommendationServiceLevelObjective?: string; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The instance pool family capability. */ +export interface InstancePoolFamilyCapability { /** - * Gets or sets usageBasedRecommendationServiceLevelObjectiveId for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Family name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly usageBasedRecommendationServiceLevelObjectiveId?: string; + readonly name?: string; /** - * Gets or sets databaseSizeBasedRecommendationServiceLevelObjective for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported license types. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseSizeBasedRecommendationServiceLevelObjective?: string; + readonly supportedLicenseTypes?: LicenseTypeCapability[]; /** - * Gets or sets databaseSizeBasedRecommendationServiceLevelObjectiveId for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * List of supported virtual cores values. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseSizeBasedRecommendationServiceLevelObjectiveId?: string; + readonly supportedVcoresValues?: InstancePoolVcoresCapability[]; /** - * Gets or sets disasterPlanBasedRecommendationServiceLevelObjective for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly disasterPlanBasedRecommendationServiceLevelObjective?: string; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; +} + +/** The managed instance virtual cores capability. */ +export interface InstancePoolVcoresCapability { /** - * Gets or sets disasterPlanBasedRecommendationServiceLevelObjectiveId for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The virtual cores identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly disasterPlanBasedRecommendationServiceLevelObjectiveId?: string; + readonly name?: string; /** - * Gets or sets overallRecommendationServiceLevelObjective for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The virtual cores value. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly overallRecommendationServiceLevelObjective?: string; + readonly value?: number; /** - * Gets or sets overallRecommendationServiceLevelObjectiveId for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Storage limit. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly overallRecommendationServiceLevelObjectiveId?: string; + readonly storageLimit?: MaxSizeCapability; /** - * Gets or sets confidence for service tier advisor. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the capability. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly confidence?: number; + readonly status?: CapabilityStatus; + /** The reason for the capability not being available. */ + reason?: string; } -/** - * Represents a database transparent data encryption Scan. - */ -export interface TransparentDataEncryptionActivity extends ProxyResource { - /** - * Resource location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly location?: string; +/** Contains the information necessary to perform long term retention backup copy operation. */ +export interface CopyLongTermRetentionBackupParameters { + /** The subscription that owns the target server */ + targetSubscriptionId?: string; + /** The resource group that owns the target server */ + targetResourceGroup?: string; + /** The resource Id of the target server that owns the database */ + targetServerResourceId?: string; + /** The fully qualified domain name of the target server */ + targetServerFullyQualifiedDomainName?: string; + /** The name of the database owns the copied backup. */ + targetDatabaseName?: string; + /** The storage redundancy type of the copied backup */ + targetBackupStorageRedundancy?: TargetBackupStorageRedundancy; +} + +/** Contains the information necessary to perform long term retention backup update operation. */ +export interface UpdateLongTermRetentionBackupParameters { + /** The storage redundancy type of the copied backup */ + requestedBackupStorageRedundancy?: RequestedBackupStorageRedundancy; +} + +/** A list of long term retention backups. */ +export interface LongTermRetentionBackupListResult { /** - * The status of the database. Possible values include: 'Encrypting', 'Decrypting' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: TransparentDataEncryptionActivityStatus; + readonly value?: LongTermRetentionBackup[]; /** - * The percent complete of the transparent data encryption scan for a database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly percentComplete?: number; + readonly nextLink?: string; } -/** - * Represents server metrics. - */ -export interface ServerUsage { +/** A list of long term retention backups for managed database(s). */ +export interface ManagedInstanceLongTermRetentionBackupListResult { /** - * Name of the server usage metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly value?: ManagedInstanceLongTermRetentionBackup[]; /** - * The name of the resource. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resourceName?: string; + readonly nextLink?: string; +} + +/** A list of long term retention policies. */ +export interface LongTermRetentionPolicyListResult { /** - * The metric display name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly displayName?: string; + readonly value?: LongTermRetentionPolicy[]; /** - * The current value of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentValue?: number; + readonly nextLink?: string; +} + +/** Maintenance window time range. */ +export interface MaintenanceWindowTimeRange { + /** Day of maintenance window. */ + dayOfWeek?: DayOfWeek; + /** Start time minutes offset from 12am. */ + startTime?: string; + /** Duration of maintenance window in minutes. */ + duration?: string; +} + +/** A list of short term retention policies. */ +export interface ManagedBackupShortTermRetentionPolicyListResult { /** - * The current limit of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly limit?: number; + readonly value?: ManagedBackupShortTermRetentionPolicy[]; /** - * The units of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: string; + readonly nextLink?: string; +} + +/** Execution statistics for one particular query */ +export interface ManagedInstanceQueryStatistics { /** - * The next reset time for the metric (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nextResetTime?: Date; + readonly value?: QueryStatistics[]; + /** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; } -/** - * The database usages. - */ -export interface DatabaseUsage { +/** Properties of a query execution statistics. */ +export interface QueryStatisticsProperties { /** - * The name of the usage metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Database name of the database in which this query was executed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly databaseName?: string; /** - * The name of the resource. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Unique query id (unique within one database). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resourceName?: string; + readonly queryId?: string; /** - * The usage metric display name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The start time for the metric (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly displayName?: string; + readonly startTime?: string; /** - * The current value of the usage metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The end time for the metric (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentValue?: number; + readonly endTime?: string; + /** List of intervals with appropriate metric data */ + intervals?: QueryMetricInterval[]; +} + +/** Properties of a query metrics interval. */ +export interface QueryMetricInterval { /** - * The current limit of the usage metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The start time for the metric interval (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly limit?: number; + readonly intervalStartTime?: string; /** - * The units of the usage metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Interval type (length). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: string; + readonly intervalType?: QueryTimeGrainType; /** - * The next reset time for the usage metric (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Execution count of a query in this interval. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nextResetTime?: Date; + readonly executionCount?: number; + /** List of metric objects for this interval */ + metrics?: QueryMetricProperties[]; } -/** - * Automatic tuning properties for individual advisors. - */ -export interface AutomaticTuningOptions { +/** Properties of a topquery metric in one interval. */ +export interface QueryMetricProperties { /** - * Automatic tuning option desired state. Possible values include: 'Off', 'On', 'Default' + * The name information for the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - desiredState?: AutomaticTuningOptionModeDesired; + readonly name?: string; /** - * Automatic tuning option actual state. Possible values include: 'Off', 'On' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The UI appropriate name for the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly actualState?: AutomaticTuningOptionModeActual; + readonly displayName?: string; /** - * Reason code if desired and actual state are different. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The unit of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly reasonCode?: number; + readonly unit?: QueryMetricUnitType; /** - * Reason description if desired and actual state are different. Possible values include: - * 'Default', 'Disabled', 'AutoConfigured', 'InheritedFromServer', 'QueryStoreOff', - * 'QueryStoreReadOnly', 'NotSupported' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly reasonDesc?: AutomaticTuningDisabledReason; -} - -/** - * Database-level Automatic Tuning. - */ -export interface DatabaseAutomaticTuning extends ProxyResource { + readonly value?: number; /** - * Automatic tuning desired state. Possible values include: 'Inherit', 'Custom', 'Auto', - * 'Unspecified' + * Metric value when min() aggregate function is used over the interval. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - desiredState?: AutomaticTuningMode; + readonly min?: number; /** - * Automatic tuning actual state. Possible values include: 'Inherit', 'Custom', 'Auto', - * 'Unspecified' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Metric value when max() aggregate function is used over the interval. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly actualState?: AutomaticTuningMode; + readonly max?: number; /** - * Automatic tuning options definition. + * Metric value when avg() aggregate function is used over the interval. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - options?: { [propertyName: string]: AutomaticTuningOptions }; -} - -/** - * The server encryption protector. - */ -export interface EncryptionProtector extends ProxyResource { + readonly avg?: number; /** - * Kind of encryption protector. This is metadata used for the Azure portal experience. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Metric value when sum() aggregate function is used over the interval. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly sum?: number; /** - * Resource location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Metric value when stdev aggregate function is used over the interval. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly stdev?: number; +} + +/** A list of managed databases. */ +export interface ManagedDatabaseListResult { /** - * Subregion of the encryption protector. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly subregion?: string; + readonly value?: ManagedDatabase[]; /** - * The name of the server key. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverKeyName?: string; + readonly nextLink?: string; +} + +/** An managed database update. */ +export interface ManagedDatabaseUpdate { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** Collation of the managed database. */ + collation?: string; /** - * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'. Possible values include: - * 'ServiceManaged', 'AzureKeyVault' + * Status of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverKeyType: ServerKeyType; + readonly status?: ManagedDatabaseStatus; /** - * The URI of the server key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Creation date of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly uri?: string; + readonly creationDate?: Date; /** - * Thumbprint of the server key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Earliest restore point in time for point in time restore. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly thumbprint?: string; -} - -/** - * Read-write endpoint of the failover group instance. - */ -export interface FailoverGroupReadWriteEndpoint { + readonly earliestRestorePoint?: Date; + /** Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. */ + restorePointInTime?: Date; /** - * Failover policy of the read-write endpoint for the failover group. If failoverPolicy is - * Automatic then failoverWithDataLossGracePeriodMinutes is required. Possible values include: - * 'Manual', 'Automatic' + * Geo paired region. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - failoverPolicy: ReadWriteEndpointFailoverPolicy; + readonly defaultSecondaryLocation?: string; + /** Collation of the metadata catalog. */ + catalogCollation?: CatalogCollationType; + /** Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required). */ + createMode?: ManagedDatabaseCreateMode; + /** Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored. */ + storageContainerUri?: string; + /** The resource identifier of the source database associated with create operation of this database. */ + sourceDatabaseId?: string; + /** The restorable dropped database resource id to restore when creating this database. */ + restorableDroppedDatabaseId?: string; + /** Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the storage container sas token. */ + storageContainerSasToken?: string; /** - * Grace period before failover with data loss is attempted for the read-write endpoint. If - * failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. + * Instance Failover Group resource identifier that this managed database belongs to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - failoverWithDataLossGracePeriodMinutes?: number; + readonly failoverGroupId?: string; + /** The resource identifier of the recoverable database associated with create operation of this database. */ + recoverableDatabaseId?: string; + /** The name of the Long Term Retention backup to be used for restore of this managed database. */ + longTermRetentionBackupResourceId?: string; + /** Whether to auto complete restore of this managed database. */ + autoCompleteRestore?: boolean; + /** Last backup file name for restore of this managed database. */ + lastBackupName?: string; } -/** - * Read-only endpoint of the failover group instance. - */ -export interface FailoverGroupReadOnlyEndpoint { - /** - * Failover policy of the read-only endpoint for the failover group. Possible values include: - * 'Disabled', 'Enabled' - */ - failoverPolicy?: ReadOnlyEndpointFailoverPolicy; +/** Contains the information necessary to perform a complete database restore operation. */ +export interface CompleteDatabaseRestoreDefinition { + /** The last backup name to apply */ + lastBackupName: string; } -/** - * Partner server information for the failover group. - */ -export interface PartnerInfo { - /** - * Resource identifier of the partner server. - */ - id: string; +/** A list of the managed database's security alert policies. */ +export interface ManagedDatabaseSecurityAlertPolicyListResult { /** - * Geo location of the partner server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly value?: ManagedDatabaseSecurityAlertPolicy[]; /** - * Replication role of the partner server. Possible values include: 'Primary', 'Secondary' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly replicationRole?: FailoverGroupReplicationRole; + readonly nextLink?: string; } -/** - * A failover group. - */ -export interface FailoverGroup extends ProxyResource { +/** A list of security events. */ +export interface SecurityEventCollection { /** - * Resource location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly value?: SecurityEvent[]; /** - * Resource tags. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; + readonly nextLink?: string; +} + +/** The properties of a security event sql injection additional properties. */ +export interface SecurityEventSqlInjectionAdditionalProperties { /** - * Read-write endpoint of the failover group instance. + * The threat ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readWriteEndpoint: FailoverGroupReadWriteEndpoint; + readonly threatId?: string; /** - * Read-only endpoint of the failover group instance. + * The statement + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint; + readonly statement?: string; /** - * Local replication role of the failover group instance. Possible values include: 'Primary', - * 'Secondary' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The statement highlight offset + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly replicationRole?: FailoverGroupReplicationRole; + readonly statementHighlightOffset?: number; /** - * Replication state of the failover group instance. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The statement highlight length + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly replicationState?: string; + readonly statementHighlightLength?: number; + /** + * The sql error code + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly errorCode?: number; /** - * List of partner server information for the failover group. + * The sql error severity + * NOTE: This property will not be serialized. It can only be populated by the server. */ - partnerServers: PartnerInfo[]; + readonly errorSeverity?: number; /** - * List of databases in the failover group. + * The sql error message + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databases?: string[]; + readonly errorMessage?: string; } -/** - * A failover group update request. - */ -export interface FailoverGroupUpdate { +/** A list of sensitivity labels. */ +export interface SensitivityLabelListResult { /** - * Read-write endpoint of the failover group instance. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readWriteEndpoint?: FailoverGroupReadWriteEndpoint; + readonly value?: SensitivityLabel[]; /** - * Read-only endpoint of the failover group instance. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint; + readonly nextLink?: string; +} + +/** A list of sensitivity label update operations. */ +export interface SensitivityLabelUpdateList { + operations?: SensitivityLabelUpdate[]; +} + +/** A list of recommended sensitivity label update operations. */ +export interface RecommendedSensitivityLabelUpdateList { + operations?: RecommendedSensitivityLabelUpdate[]; +} + +/** A list of managed transparent data encryptions */ +export interface ManagedTransparentDataEncryptionListResult { /** - * List of databases in the failover group. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databases?: string[]; + readonly value?: ManagedTransparentDataEncryption[]; /** - * Resource tags. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; + readonly nextLink?: string; } -/** - * Display metadata associated with the operation. - */ -export interface OperationDisplay { +/** A list of managed instance administrators. */ +export interface ManagedInstanceAdministratorListResult { /** - * The localized friendly form of the resource provider name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provider?: string; + readonly value?: ManagedInstanceAdministrator[]; /** - * The localized friendly form of the resource type related to this action/operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resource?: string; + readonly nextLink?: string; +} + +/** A list of active directory only authentications. */ +export interface ManagedInstanceAzureADOnlyAuthListResult { /** - * The localized friendly name for the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operation?: string; + readonly value?: ManagedInstanceAzureADOnlyAuthentication[]; /** - * The localized friendly description for the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly nextLink?: string; } -/** - * SQL REST API operation definition. - */ -export interface Operation { +/** A list of managed instance encryption protectors. */ +export interface ManagedInstanceEncryptionProtectorListResult { /** - * The name of the operation being performed on this particular object. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly value?: ManagedInstanceEncryptionProtector[]; /** - * The localized display information for this particular operation / action. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly display?: OperationDisplay; + readonly nextLink?: string; +} + +/** A list of managed instance keys. */ +export interface ManagedInstanceKeyListResult { /** - * The intended executor of the operation. Possible values include: 'user', 'system' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly origin?: OperationOrigin; + readonly value?: ManagedInstanceKey[]; /** - * Additional descriptions for the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly properties?: { [propertyName: string]: any }; + readonly nextLink?: string; } -/** - * A server key. - */ -export interface ServerKey extends ProxyResource { +/** A list of long term retention policies. */ +export interface ManagedInstanceLongTermRetentionPolicyListResult { /** - * Kind of encryption protector. This is metadata used for the Azure portal experience. - */ - kind?: string; - /** - * Resource location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly value?: ManagedInstanceLongTermRetentionPolicy[]; /** - * Subregion of the server key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly subregion?: string; + readonly nextLink?: string; +} + +/** The response to a list managed instance operations request */ +export interface ManagedInstanceOperationListResult { /** - * The server key type like 'ServiceManaged', 'AzureKeyVault'. Possible values include: - * 'ServiceManaged', 'AzureKeyVault' + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverKeyType: ServerKeyType; + readonly value?: ManagedInstanceOperation[]; /** - * The URI of the server key. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - uri?: string; + readonly nextLink?: string; +} + +/** The parameters of a managed instance operation. */ +export interface ManagedInstanceOperationParametersPair { /** - * Thumbprint of the server key. + * The current parameters. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - thumbprint?: string; + readonly currentParameters?: UpsertManagedServerOperationParameters; /** - * The server key creation date. + * The requested parameters. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - creationDate?: Date; + readonly requestedParameters?: UpsertManagedServerOperationParameters; } -/** - * Azure Active Directory identity configuration for a resource. - */ -export interface ResourceIdentity { +export interface UpsertManagedServerOperationParameters { + family?: string; + tier?: string; + vCores?: number; + storageSizeInGB?: number; +} + +/** The steps of a managed instance operation. */ +export interface ManagedInstanceOperationSteps { /** - * The Azure Active Directory principal id. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The total number of operation steps. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly principalId?: string; + readonly totalSteps?: string; /** - * The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an - * Azure Active Directory principal for the resource. Possible values include: 'SystemAssigned' + * The number of current operation steps. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: IdentityType; + readonly currentStep?: number; /** - * The Azure Active Directory tenant id. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation steps list. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly tenantId?: string; + readonly stepsList?: UpsertManagedServerOperationStep[]; } -/** - * An Azure SQL Database server. - */ -export interface Server extends TrackedResource { - /** - * The Azure Active Directory identity of the server. - */ - identity?: ResourceIdentity; +export interface UpsertManagedServerOperationStep { + order?: number; + name?: string; + status?: UpsertManagedServerOperationStepStatus; +} + +/** Properties of a private endpoint connection. */ +export interface ManagedInstancePrivateEndpointConnectionProperties { + /** Private endpoint which the connection belongs to. */ + privateEndpoint?: ManagedInstancePrivateEndpointProperty; + /** Connection State of the Private Endpoint Connection. */ + privateLinkServiceConnectionState?: ManagedInstancePrivateLinkServiceConnectionStateProperty; /** - * Kind of sql server. This is metadata used for the Azure portal experience. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * State of the Private Endpoint Connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly provisioningState?: string; +} + +export interface ManagedInstancePrivateEndpointProperty { + /** Resource id of the private endpoint. */ + id?: string; +} + +export interface ManagedInstancePrivateLinkServiceConnectionStateProperty { + /** The private link service connection status. */ + status: string; + /** The private link service connection description. */ + description: string; /** - * Administrator username for the server. Once created it cannot be changed. + * The private link service connection description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLogin?: string; + readonly actionsRequired?: string; +} + +/** A list of private endpoint connections. */ +export interface ManagedInstancePrivateEndpointConnectionListResult { /** - * The administrator login password (required for server creation). + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLoginPassword?: string; + readonly value?: ManagedInstancePrivateEndpointConnection[]; /** - * The version of the server. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - version?: string; + readonly nextLink?: string; +} + +/** A list of private link resources */ +export interface ManagedInstancePrivateLinkListResult { /** - * The state of the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: string; + readonly value?: ManagedInstancePrivateLink[]; /** - * The fully qualified domain name of the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly fullyQualifiedDomainName?: string; + readonly nextLink?: string; } -/** - * An update request for an Azure SQL Database server. - */ -export interface ServerUpdate { +/** Properties of a private link resource. */ +export interface ManagedInstancePrivateLinkProperties { /** - * Administrator username for the server. Once created it cannot be changed. + * The private link resource group id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLogin?: string; + readonly groupId?: string; /** - * The administrator login password (required for server creation). + * The private link resource required member names. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLoginPassword?: string; + readonly requiredMembers?: string[]; +} + +/** A list of managed instances. */ +export interface ManagedInstanceListResult { /** - * The version of the server. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - version?: string; + readonly value?: ManagedInstance[]; /** - * The state of the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: string; + readonly nextLink?: string; +} + +/** Azure Active Directory identity configuration for a resource. */ +export interface ResourceIdentity { + /** The resource ids of the user assigned identities to use */ + userAssignedIdentities?: { [propertyName: string]: UserIdentity }; /** - * The fully qualified domain name of the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Azure Active Directory principal id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly fullyQualifiedDomainName?: string; + readonly principalId?: string; + /** The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource. */ + type?: IdentityType; /** - * Resource tags. + * The Azure Active Directory tenant id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; + readonly tenantId?: string; } -/** - * An Azure SQL Database sync agent. - */ -export interface SyncAgent extends ProxyResource { +/** Azure Active Directory identity configuration for a resource. */ +export interface UserIdentity { /** - * Name of the sync agent. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The Azure Active Directory principal id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly syncAgentName?: string; + readonly principalId?: string; /** - * ARM resource id of the sync database in the sync agent. + * The Azure Active Directory client id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - syncDatabaseId?: string; + readonly clientId?: string; +} + +/** A private endpoint connection under a managed instance */ +export interface ManagedInstancePecProperty { /** - * Last alive time of the sync agent. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastAliveTime?: Date; + readonly id?: string; /** - * State of the sync agent. Possible values include: 'Online', 'Offline', 'NeverConnected' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Private endpoint connection properties + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: SyncAgentState; + readonly properties?: ManagedInstancePrivateEndpointConnectionProperties; +} + +/** Properties of a active directory administrator. */ +export interface ManagedInstanceExternalAdministrator { + /** Type of the sever administrator. */ + administratorType?: AdministratorType; + /** Principal Type of the sever administrator. */ + principalType?: PrincipalType; + /** Login name of the server administrator. */ + login?: string; + /** SID (object ID) of the server administrator. */ + sid?: string; + /** Tenant ID of the administrator. */ + tenantId?: string; + /** Azure Active Directory only Authentication enabled. */ + azureADOnlyAuthentication?: boolean; +} + +/** An update request for an Azure SQL Database managed instance. */ +export interface ManagedInstanceUpdate { + /** Managed instance sku */ + sku?: Sku; + /** Managed instance identity */ + identity?: ResourceIdentity; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly provisioningState?: ManagedInstancePropertiesProvisioningState; /** - * If the sync agent version is up to date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the mode of database creation. + * + * Default: Regular instance creation. + * + * Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified. */ - readonly isUpToDate?: boolean; + managedInstanceCreateMode?: ManagedServerCreateMode; /** - * Expiration time of the sync agent version. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The fully qualified domain name of the managed instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly expiryTime?: Date; + readonly fullyQualifiedDomainName?: string; + /** Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation). */ + administratorLogin?: string; + /** The administrator login password (required for managed instance creation). */ + administratorLoginPassword?: string; + /** Subnet resource ID for the managed instance. */ + subnetId?: string; /** - * Version of the sync agent. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The state of the managed instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly version?: string; + readonly state?: string; + /** The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses). */ + licenseType?: ManagedInstanceLicenseType; + /** The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80. */ + vCores?: number; + /** Storage size in GB. Minimum value: 32. Maximum value: 8192. Increments of 32 GB allowed only. */ + storageSizeInGB?: number; + /** Collation of the managed instance. */ + collation?: string; + /** + * The Dns Zone that the managed instance is in. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly dnsZone?: string; + /** The resource id of another managed instance whose DNS zone this managed instance will share after creation. */ + dnsZonePartner?: string; + /** Whether or not the public data endpoint is enabled. */ + publicDataEndpointEnabled?: boolean; + /** The resource identifier of the source managed instance associated with create operation of this instance. */ + sourceManagedInstanceId?: string; + /** Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. */ + restorePointInTime?: Date; + /** Connection type used for connecting to the instance. */ + proxyOverride?: ManagedInstanceProxyOverride; + /** + * Id of the timezone. Allowed values are timezones supported by Windows. + * Windows keeps details on supported timezones, including the id, in registry under + * KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. + * You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info. + * List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. + * An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time". + */ + timezoneId?: string; + /** The Id of the instance pool this managed server belongs to. */ + instancePoolId?: string; + /** Specifies maintenance configuration id to apply to this managed instance. */ + maintenanceConfigurationId?: string; + /** + * List of private endpoint connections on a managed instance. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: ManagedInstancePecProperty[]; + /** Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2' */ + minimalTlsVersion?: string; + /** The storage account type used to store backups for this instance. The options are LRS (LocallyRedundantStorage), ZRS (ZoneRedundantStorage) and GRS (GeoRedundantStorage) */ + storageAccountType?: StorageAccountType; + /** Whether or not the multi-az is enabled. */ + zoneRedundant?: boolean; + /** The resource id of a user assigned identity to be used by default. */ + primaryUserAssignedIdentityId?: string; + /** A CMK URI of the key to use for encryption. */ + keyId?: string; + /** The Azure Active Directory administrator of the server. */ + administrators?: ManagedInstanceExternalAdministrator; } -/** - * Properties of an Azure SQL Database sync agent key. - */ -export interface SyncAgentKeyProperties { +/** A list of top resource consuming queries on managed instance */ +export interface TopQueriesListResult { /** - * Key of sync agent. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly syncAgentKey?: string; + readonly value?: TopQueries[]; + /** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; } -/** - * An Azure SQL Database sync agent linked database. - */ -export interface SyncAgentLinkedDatabase extends ProxyResource { +export interface TopQueries { /** - * Type of the sync agent linked database. Possible values include: 'AzureSqlDatabase', - * 'SqlServerDatabase' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Requested number of top queries. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseType?: SyncMemberDbType; + readonly numberOfQueries?: number; /** - * Id of the sync agent linked database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Aggregation function used to calculate query metrics. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseId?: string; + readonly aggregationFunction?: string; /** - * Description of the sync agent linked database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Metric used to rank queries. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly observationMetric?: string; /** - * Server name of the sync agent linked database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Interval type (length). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serverName?: string; + readonly intervalType?: QueryTimeGrainType; /** - * Database name of the sync agent linked database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The start time for the metric (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseName?: string; + readonly startTime?: string; /** - * User name of the sync agent linked database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The end time for the metric (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly userName?: string; + readonly endTime?: string; + /** List of top resource consuming queries with appropriate metric data */ + queries?: QueryStatisticsProperties[]; } -/** - * Properties of the sync database id. - */ -export interface SyncDatabaseIdProperties { +/** A list of the ManagedInstance's vulnerability assessments. */ +export interface ManagedInstanceVulnerabilityAssessmentListResult { /** - * ARM resource id of sync database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly value?: ManagedInstanceVulnerabilityAssessment[]; + /** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; } -/** - * Properties of the column in the table of database full schema. - */ -export interface SyncFullSchemaTableColumn { +/** A list of the managed Server's security alert policies. */ +export interface ManagedServerSecurityAlertPolicyListResult { /** - * Data size of the column. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly dataSize?: string; + readonly value?: ManagedServerSecurityAlertPolicy[]; /** - * Data type of the column. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly dataType?: string; + readonly nextLink?: string; +} + +/** Result of the request to list SQL operations. */ +export interface OperationListResult { /** - * Error id of the column. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorId?: string; + readonly value?: Operation[]; /** - * If there is error in the table. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly hasError?: boolean; + readonly nextLink?: string; +} + +/** SQL REST API operation definition. */ +export interface Operation { /** - * If it is the primary key of the table. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the operation being performed on this particular object. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isPrimaryKey?: boolean; + readonly name?: string; /** - * Name of the column. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The localized display information for this particular operation / action. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly display?: OperationDisplay; /** - * Quoted name of the column. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The intended executor of the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly quotedName?: string; -} - -/** - * Properties of the table in the database full schema. - */ -export interface SyncFullSchemaTable { + readonly origin?: OperationOrigin; /** - * List of columns in the table of database full schema. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Additional descriptions for the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly columns?: SyncFullSchemaTableColumn[]; + readonly properties?: { [propertyName: string]: Record }; +} + +/** Display metadata associated with the operation. */ +export interface OperationDisplay { /** - * Error id of the table. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The localized friendly form of the resource provider name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorId?: string; + readonly provider?: string; /** - * If there is error in the table. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The localized friendly form of the resource type related to this action/operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly hasError?: boolean; + readonly resource?: string; /** - * Name of the table. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The localized friendly name for the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly operation?: string; /** - * Quoted name of the table. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The localized friendly description for the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly quotedName?: string; + readonly description?: string; } -/** - * Properties of the database full schema. - */ -export interface SyncFullSchemaProperties { +/** A list of service health statuses in a location. */ +export interface OperationsHealthListResult { /** - * List of tables in the database full schema. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly tables?: SyncFullSchemaTable[]; + readonly value?: OperationsHealth[]; /** - * Last update time of the database schema. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastUpdateTime?: Date; + readonly nextLink?: string; } -/** - * Properties of an Azure SQL Database sync group log. - */ -export interface SyncGroupLogProperties { +/** Properties of a private endpoint connection. */ +export interface PrivateEndpointConnectionProperties { + /** Private endpoint which the connection belongs to. */ + privateEndpoint?: PrivateEndpointProperty; + /** Connection state of the private endpoint connection. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty; /** - * Timestamp of the sync group log. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * State of the private endpoint connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly timestamp?: Date; + readonly provisioningState?: PrivateEndpointProvisioningState; +} + +export interface PrivateEndpointProperty { + /** Resource id of the private endpoint. */ + id?: string; +} + +export interface PrivateLinkServiceConnectionStateProperty { + /** The private link service connection status. */ + status: PrivateLinkServiceConnectionStateStatus; + /** The private link service connection description. */ + description: string; /** - * Type of the sync group log. Possible values include: 'All', 'Error', 'Warning', 'Success' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The actions required for private link service connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: SyncGroupLogType; + readonly actionsRequired?: PrivateLinkServiceConnectionStateActionsRequire; +} + +/** A list of private endpoint connections. */ +export interface PrivateEndpointConnectionListResult { /** - * Source of the sync group log. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly source?: string; + readonly value?: PrivateEndpointConnection[]; /** - * Details of the sync group log. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly details?: string; + readonly nextLink?: string; +} + +/** A list of private link resources */ +export interface PrivateLinkResourceListResult { /** - * TracingId of the sync group log. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly tracingId?: string; + readonly value?: PrivateLinkResource[]; /** - * OperationStatus of the sync group log. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operationStatus?: string; + readonly nextLink?: string; } -/** - * Properties of column in sync group table. - */ -export interface SyncGroupSchemaTableColumn { +/** Properties of a private link resource. */ +export interface PrivateLinkResourceProperties { /** - * Quoted name of sync group table column. + * The private link resource group id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - quotedName?: string; + readonly groupId?: string; /** - * Data size of the column. + * The private link resource required member names. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataSize?: string; + readonly requiredMembers?: string[]; /** - * Data type of the column. + * The private link resource required zone names. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dataType?: string; + readonly requiredZoneNames?: string[]; } -/** - * Properties of table in sync group schema. - */ -export interface SyncGroupSchemaTable { +/** A list of recoverable managed databases. */ +export interface RecoverableManagedDatabaseListResult { /** - * List of columns in sync group schema. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - columns?: SyncGroupSchemaTableColumn[]; + readonly value?: RecoverableManagedDatabase[]; /** - * Quoted name of sync group schema table. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - quotedName?: string; + readonly nextLink?: string; } -/** - * Properties of sync group schema. - */ -export interface SyncGroupSchema { +/** A list of long term retention backups. */ +export interface RestorePointListResult { /** - * List of tables in sync group schema. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tables?: SyncGroupSchemaTable[]; + readonly value?: RestorePoint[]; /** - * Name of master sync member where the schema is from. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - masterSyncMemberName?: string; + readonly nextLink?: string; } -/** - * An Azure SQL Database sync group. - */ -export interface SyncGroup extends ProxyResource { - /** - * Sync interval of the sync group. - */ - interval?: number; +/** Contains the information necessary to perform a create database restore point operation. */ +export interface CreateDatabaseRestorePointDefinition { + /** The restore point label to apply */ + restorePointLabel: string; +} + +/** Automatic tuning properties for individual advisors. */ +export interface AutomaticTuningServerOptions { + /** Automatic tuning option desired state. */ + desiredState?: AutomaticTuningOptionModeDesired; /** - * Last sync time of the sync group. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Automatic tuning option actual state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastSyncTime?: Date; + readonly actualState?: AutomaticTuningOptionModeActual; /** - * Conflict resolution policy of the sync group. Possible values include: 'HubWin', 'MemberWin' + * Reason code if desired and actual state are different. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - conflictResolutionPolicy?: SyncConflictResolutionPolicy; + readonly reasonCode?: number; /** - * ARM resource id of the sync database in the sync group. + * Reason description if desired and actual state are different. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - syncDatabaseId?: string; + readonly reasonDesc?: AutomaticTuningServerReason; +} + +/** A list of active directory administrators. */ +export interface AdministratorListResult { /** - * User name for the sync group hub database credential. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hubDatabaseUserName?: string; + readonly value?: ServerAzureADAdministrator[]; /** - * Password for the sync group hub database credential. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - hubDatabasePassword?: string; + readonly nextLink?: string; +} + +/** A list of active directory only authentications. */ +export interface AzureADOnlyAuthListResult { /** - * Sync state of the sync group. Possible values include: 'NotReady', 'Error', 'Warning', - * 'Progressing', 'Good' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly syncState?: SyncGroupState; + readonly value?: ServerAzureADOnlyAuthentication[]; /** - * Sync schema of the sync group. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - schema?: SyncGroupSchema; + readonly nextLink?: string; } -/** - * An Azure SQL Database sync member. - */ -export interface SyncMember extends ProxyResource { - /** - * Database type of the sync member. Possible values include: 'AzureSqlDatabase', - * 'SqlServerDatabase' - */ - databaseType?: SyncMemberDbType; +/** A list of server DevOps audit settings. */ +export interface ServerDevOpsAuditSettingsListResult { /** - * ARM resource id of the sync agent in the sync member. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - syncAgentId?: string; + readonly value?: ServerDevOpsAuditingSettings[]; /** - * SQL Server database id of the sync member. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sqlServerDatabaseId?: string; + readonly nextLink?: string; +} + +/** A list of server DNS aliases. */ +export interface ServerDnsAliasListResult { /** - * Server name of the member database in the sync member + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverName?: string; + readonly value?: ServerDnsAlias[]; /** - * Database name of the member database in the sync member. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databaseName?: string; + readonly nextLink?: string; +} + +/** A server dns alias acquisition request. */ +export interface ServerDnsAliasAcquisition { + /** The id of the server alias that will be acquired to point to this server instead. */ + oldServerDnsAliasId: string; +} + +/** A list of server keys. */ +export interface ServerKeyListResult { /** - * User name of the member database in the sync member. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - userName?: string; + readonly value?: ServerKey[]; /** - * Password of the member database in the sync member. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - password?: string; + readonly nextLink?: string; +} + +/** The response to a list server operations request */ +export interface ServerOperationListResult { /** - * Sync direction of the sync member. Possible values include: 'Bidirectional', - * 'OneWayMemberToHub', 'OneWayHubToMember' + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - syncDirection?: SyncDirection; + readonly value?: ServerOperation[]; /** - * Sync state of the sync member. Possible values include: 'SyncInProgress', 'SyncSucceeded', - * 'SyncFailed', 'DisabledTombstoneCleanup', 'DisabledBackupRestore', - * 'SyncSucceededWithWarnings', 'SyncCancelling', 'SyncCancelled', 'UnProvisioned', - * 'Provisioning', 'Provisioned', 'ProvisionFailed', 'DeProvisioning', 'DeProvisioned', - * 'DeProvisionFailed', 'Reprovisioning', 'ReprovisionFailed', 'UnReprovisioned' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly syncState?: SyncMemberState; + readonly nextLink?: string; } -/** - * Usage Metric of a Subscription in a Location. - */ -export interface SubscriptionUsage extends ProxyResource { +/** A list of the server's security alert policies. */ +export interface LogicalServerSecurityAlertPolicyListResult { /** - * User-readable name of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly displayName?: string; + readonly value?: ServerSecurityAlertPolicy[]; /** - * Current value of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentValue?: number; + readonly nextLink?: string; +} + +/** Server info for the server trust group. */ +export interface ServerInfo { + /** Server Id. */ + serverId: string; +} + +/** A list of server trust groups. */ +export interface ServerTrustGroupListResult { /** - * Boundary value of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly limit?: number; + readonly value?: ServerTrustGroup[]; /** - * Unit of the metric. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: string; + readonly nextLink?: string; } -/** - * An Azure SQL virtual cluster. - */ -export interface VirtualCluster extends TrackedResource { +/** A list of the server's vulnerability assessments. */ +export interface ServerVulnerabilityAssessmentListResult { /** - * Subnet resource ID for the virtual cluster. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly subnetId?: string; + readonly value?: ServerVulnerabilityAssessment[]; /** - * If the service has different generations of hardware, for the same SKU, then that can be - * captured here. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - family?: string; + readonly nextLink?: string; +} + +/** A list of subscription usage metrics in a location. */ +export interface SubscriptionUsageListResult { /** - * List of resources in this virtual cluster. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly childResources?: string[]; + readonly value?: SubscriptionUsage[]; + /** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; } -/** - * An update request for an Azure SQL Database virtual cluster. - */ -export interface VirtualClusterUpdate { +/** A list of sync agents. */ +export interface SyncAgentListResult { /** - * Subnet resource ID for the virtual cluster. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly subnetId?: string; + readonly value?: SyncAgent[]; /** - * If the service has different generations of hardware, for the same SKU, then that can be - * captured here. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - family?: string; + readonly nextLink?: string; +} + +/** Properties of an Azure SQL Database sync agent key. */ +export interface SyncAgentKeyProperties { /** - * List of resources in this virtual cluster. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Key of sync agent. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly childResources?: string[]; + readonly syncAgentKey?: string; +} + +/** A list of sync agent linked databases. */ +export interface SyncAgentLinkedDatabaseListResult { /** - * Resource tags. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; + readonly value?: SyncAgentLinkedDatabase[]; + /** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; } -/** - * A virtual network rule. - */ -export interface VirtualNetworkRule extends ProxyResource { +/** A list of sync database ID properties. */ +export interface SyncDatabaseIdListResult { /** - * The ARM resource id of the virtual network subnet. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - virtualNetworkSubnetId: string; + readonly value?: SyncDatabaseIdProperties[]; /** - * Create firewall rule before the virtual network has vnet service endpoint enabled. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - ignoreMissingVnetServiceEndpoint?: boolean; + readonly nextLink?: string; +} + +/** Properties of the sync database id. */ +export interface SyncDatabaseIdProperties { /** - * Virtual Network Rule State. Possible values include: 'Initializing', 'InProgress', 'Ready', - * 'Deleting', 'Unknown' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * ARM resource id of sync database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: VirtualNetworkRuleState; + readonly id?: string; } -/** - * An extended database blob auditing policy. - */ -export interface ExtendedDatabaseBlobAuditingPolicy extends ProxyResource { +/** A list of sync schema properties. */ +export interface SyncFullSchemaPropertiesListResult { /** - * Specifies condition of where clause when creating an audit. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - predicateExpression?: string; + readonly value?: SyncFullSchemaProperties[]; /** - * Specifies the state of the policy. If state is Enabled, storageEndpoint or - * isAzureMonitorTargetEnabled are required. Possible values include: 'Enabled', 'Disabled' + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: BlobAuditingPolicyState; + readonly nextLink?: string; +} + +/** Properties of the database full schema. */ +export interface SyncFullSchemaProperties { /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state - * is Enabled, storageEndpoint is required. + * List of tables in the database full schema. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageEndpoint?: string; + readonly tables?: SyncFullSchemaTable[]; /** - * Specifies the identifier key of the auditing storage account. If state is Enabled and - * storageEndpoint is specified, storageAccountAccessKey is required. + * Last update time of the database schema. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly lastUpdateTime?: Date; +} + +/** Properties of the table in the database full schema. */ +export interface SyncFullSchemaTable { /** - * Specifies the number of days to keep in the audit logs in the storage account. + * List of columns in the table of database full schema. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; + readonly columns?: SyncFullSchemaTableColumn[]; /** - * Specifies the Actions-Groups and Actions to audit. - * - * The recommended set of action groups to use is the following combination - this will audit all - * the queries and stored procedures executed against the database, as well as successful and - * failed logins: - * - * BATCH_COMPLETED_GROUP, - * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, - * FAILED_DATABASE_AUTHENTICATION_GROUP. - * - * This above combination is also the set that is configured by default when enabling auditing - * from the Azure portal. - * - * The supported action groups to audit are (note: choose only specific groups that cover your - * auditing needs. Using unnecessary groups could lead to very large quantities of audit - * records): - * - * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP - * BACKUP_RESTORE_GROUP - * DATABASE_LOGOUT_GROUP - * DATABASE_OBJECT_CHANGE_GROUP - * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP - * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP - * DATABASE_OPERATION_GROUP - * DATABASE_PERMISSION_CHANGE_GROUP - * DATABASE_PRINCIPAL_CHANGE_GROUP - * DATABASE_PRINCIPAL_IMPERSONATION_GROUP - * DATABASE_ROLE_MEMBER_CHANGE_GROUP - * FAILED_DATABASE_AUTHENTICATION_GROUP - * SCHEMA_OBJECT_ACCESS_GROUP - * SCHEMA_OBJECT_CHANGE_GROUP - * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP - * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP - * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP - * USER_CHANGE_PASSWORD_GROUP - * BATCH_STARTED_GROUP - * BATCH_COMPLETED_GROUP - * - * These are groups that cover all sql statements and stored procedures executed against the - * database, and should not be used in combination with other groups as this will result in - * duplicate audit logs. - * - * For more information, see [Database-Level Audit Action - * Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). - * - * For Database auditing policy, specific Actions can also be specified (note that Actions cannot - * be specified for Server auditing policy). The supported actions to audit are: - * SELECT - * UPDATE - * INSERT - * DELETE - * EXECUTE - * RECEIVE - * REFERENCES - * - * The general form for defining an action to be audited is: - * {action} ON {object} BY {principal} - * - * Note that in the above format can refer to an object like a table, view, or stored - * procedure, or an entire database or schema. For the latter cases, the forms - * DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. - * - * For example: - * SELECT on dbo.myTable by public - * SELECT on DATABASE::myDatabase by public - * SELECT on SCHEMA::mySchema by public - * - * For more information, see [Database-Level Audit - * Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + * Error id of the table. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - auditActionsAndGroups?: string[]; + readonly errorId?: string; /** - * Specifies the blob storage subscription Id. + * If there is error in the table. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountSubscriptionId?: string; + readonly hasError?: boolean; /** - * Specifies whether storageAccountAccessKey value is the storage's secondary key. + * Name of the table. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isStorageSecondaryKeyInUse?: boolean; + readonly name?: string; /** - * Specifies whether audit events are sent to Azure Monitor. - * In order to send the events to Azure Monitor, specify 'state' as 'Enabled' and - * 'isAzureMonitorTargetEnabled' as true. - * - * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' - * diagnostic logs category on the database should be also created. - * Note that for server level audit you should use the 'master' database as {databaseName}. - * - * Diagnostic Settings URI format: - * PUT - * https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - * - * For more information, see [Diagnostic Settings REST - * API](https://go.microsoft.com/fwlink/?linkid=2033207) - * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * Quoted name of the table. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isAzureMonitorTargetEnabled?: boolean; + readonly quotedName?: string; } -/** - * An extended server blob auditing policy. - */ -export interface ExtendedServerBlobAuditingPolicy extends ProxyResource { +/** Properties of the column in the table of database full schema. */ +export interface SyncFullSchemaTableColumn { /** - * Specifies condition of where clause when creating an audit. + * Data size of the column. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - predicateExpression?: string; + readonly dataSize?: string; /** - * Specifies the state of the policy. If state is Enabled, storageEndpoint or - * isAzureMonitorTargetEnabled are required. Possible values include: 'Enabled', 'Disabled' + * Data type of the column. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: BlobAuditingPolicyState; + readonly dataType?: string; /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state - * is Enabled, storageEndpoint is required. + * Error id of the column. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageEndpoint?: string; + readonly errorId?: string; /** - * Specifies the identifier key of the auditing storage account. If state is Enabled and - * storageEndpoint is specified, storageAccountAccessKey is required. + * If there is error in the table. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly hasError?: boolean; /** - * Specifies the number of days to keep in the audit logs in the storage account. + * If it is the primary key of the table. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; + readonly isPrimaryKey?: boolean; /** - * Specifies the Actions-Groups and Actions to audit. - * - * The recommended set of action groups to use is the following combination - this will audit all - * the queries and stored procedures executed against the database, as well as successful and - * failed logins: - * - * BATCH_COMPLETED_GROUP, - * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, - * FAILED_DATABASE_AUTHENTICATION_GROUP. - * - * This above combination is also the set that is configured by default when enabling auditing - * from the Azure portal. - * - * The supported action groups to audit are (note: choose only specific groups that cover your - * auditing needs. Using unnecessary groups could lead to very large quantities of audit - * records): - * - * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP - * BACKUP_RESTORE_GROUP - * DATABASE_LOGOUT_GROUP - * DATABASE_OBJECT_CHANGE_GROUP - * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP - * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP - * DATABASE_OPERATION_GROUP - * DATABASE_PERMISSION_CHANGE_GROUP - * DATABASE_PRINCIPAL_CHANGE_GROUP - * DATABASE_PRINCIPAL_IMPERSONATION_GROUP - * DATABASE_ROLE_MEMBER_CHANGE_GROUP - * FAILED_DATABASE_AUTHENTICATION_GROUP - * SCHEMA_OBJECT_ACCESS_GROUP - * SCHEMA_OBJECT_CHANGE_GROUP - * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP - * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP - * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP - * USER_CHANGE_PASSWORD_GROUP - * BATCH_STARTED_GROUP - * BATCH_COMPLETED_GROUP - * - * These are groups that cover all sql statements and stored procedures executed against the - * database, and should not be used in combination with other groups as this will result in - * duplicate audit logs. - * - * For more information, see [Database-Level Audit Action - * Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). - * - * For Database auditing policy, specific Actions can also be specified (note that Actions cannot - * be specified for Server auditing policy). The supported actions to audit are: - * SELECT - * UPDATE - * INSERT - * DELETE - * EXECUTE - * RECEIVE - * REFERENCES - * - * The general form for defining an action to be audited is: - * {action} ON {object} BY {principal} - * - * Note that in the above format can refer to an object like a table, view, or stored - * procedure, or an entire database or schema. For the latter cases, the forms - * DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. - * - * For example: - * SELECT on dbo.myTable by public - * SELECT on DATABASE::myDatabase by public - * SELECT on SCHEMA::mySchema by public - * - * For more information, see [Database-Level Audit - * Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + * Name of the column. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - auditActionsAndGroups?: string[]; + readonly name?: string; /** - * Specifies the blob storage subscription Id. + * Quoted name of the column. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountSubscriptionId?: string; + readonly quotedName?: string; +} + +/** A list of sync group log properties. */ +export interface SyncGroupLogListResult { /** - * Specifies whether storageAccountAccessKey value is the storage's secondary key. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isStorageSecondaryKeyInUse?: boolean; + readonly value?: SyncGroupLogProperties[]; /** - * Specifies whether audit events are sent to Azure Monitor. - * In order to send the events to Azure Monitor, specify 'state' as 'Enabled' and - * 'isAzureMonitorTargetEnabled' as true. - * - * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' - * diagnostic logs category on the database should be also created. - * Note that for server level audit you should use the 'master' database as {databaseName}. - * - * Diagnostic Settings URI format: - * PUT - * https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - * - * For more information, see [Diagnostic Settings REST - * API](https://go.microsoft.com/fwlink/?linkid=2033207) - * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isAzureMonitorTargetEnabled?: boolean; + readonly nextLink?: string; } -/** - * A server blob auditing policy. - */ -export interface ServerBlobAuditingPolicy extends ProxyResource { +/** Properties of an Azure SQL Database sync group log. */ +export interface SyncGroupLogProperties { /** - * Specifies the state of the policy. If state is Enabled, storageEndpoint or - * isAzureMonitorTargetEnabled are required. Possible values include: 'Enabled', 'Disabled' + * Timestamp of the sync group log. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: BlobAuditingPolicyState; + readonly timestamp?: Date; /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state - * is Enabled, storageEndpoint is required. + * Type of the sync group log. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageEndpoint?: string; + readonly type?: SyncGroupLogType; /** - * Specifies the identifier key of the auditing storage account. If state is Enabled and - * storageEndpoint is specified, storageAccountAccessKey is required. + * Source of the sync group log. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly source?: string; /** - * Specifies the number of days to keep in the audit logs in the storage account. + * Details of the sync group log. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; + readonly details?: string; /** - * Specifies the Actions-Groups and Actions to audit. - * - * The recommended set of action groups to use is the following combination - this will audit all - * the queries and stored procedures executed against the database, as well as successful and - * failed logins: - * - * BATCH_COMPLETED_GROUP, - * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, - * FAILED_DATABASE_AUTHENTICATION_GROUP. - * - * This above combination is also the set that is configured by default when enabling auditing - * from the Azure portal. - * - * The supported action groups to audit are (note: choose only specific groups that cover your - * auditing needs. Using unnecessary groups could lead to very large quantities of audit - * records): - * - * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP - * BACKUP_RESTORE_GROUP - * DATABASE_LOGOUT_GROUP - * DATABASE_OBJECT_CHANGE_GROUP - * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP - * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP - * DATABASE_OPERATION_GROUP - * DATABASE_PERMISSION_CHANGE_GROUP - * DATABASE_PRINCIPAL_CHANGE_GROUP - * DATABASE_PRINCIPAL_IMPERSONATION_GROUP - * DATABASE_ROLE_MEMBER_CHANGE_GROUP - * FAILED_DATABASE_AUTHENTICATION_GROUP - * SCHEMA_OBJECT_ACCESS_GROUP - * SCHEMA_OBJECT_CHANGE_GROUP - * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP - * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP - * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP - * USER_CHANGE_PASSWORD_GROUP - * BATCH_STARTED_GROUP - * BATCH_COMPLETED_GROUP - * - * These are groups that cover all sql statements and stored procedures executed against the - * database, and should not be used in combination with other groups as this will result in - * duplicate audit logs. - * - * For more information, see [Database-Level Audit Action - * Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). - * - * For Database auditing policy, specific Actions can also be specified (note that Actions cannot - * be specified for Server auditing policy). The supported actions to audit are: - * SELECT - * UPDATE - * INSERT - * DELETE - * EXECUTE - * RECEIVE - * REFERENCES - * - * The general form for defining an action to be audited is: - * {action} ON {object} BY {principal} - * - * Note that in the above format can refer to an object like a table, view, or stored - * procedure, or an entire database or schema. For the latter cases, the forms - * DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. - * - * For example: - * SELECT on dbo.myTable by public - * SELECT on DATABASE::myDatabase by public - * SELECT on SCHEMA::mySchema by public - * - * For more information, see [Database-Level Audit - * Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) - */ - auditActionsAndGroups?: string[]; - /** - * Specifies the blob storage subscription Id. - */ - storageAccountSubscriptionId?: string; - /** - * Specifies whether storageAccountAccessKey value is the storage's secondary key. + * TracingId of the sync group log. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isStorageSecondaryKeyInUse?: boolean; + readonly tracingId?: string; /** - * Specifies whether audit events are sent to Azure Monitor. - * In order to send the events to Azure Monitor, specify 'state' as 'Enabled' and - * 'isAzureMonitorTargetEnabled' as true. - * - * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' - * diagnostic logs category on the database should be also created. - * Note that for server level audit you should use the 'master' database as {databaseName}. - * - * Diagnostic Settings URI format: - * PUT - * https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - * - * For more information, see [Diagnostic Settings REST - * API](https://go.microsoft.com/fwlink/?linkid=2033207) - * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * OperationStatus of the sync group log. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isAzureMonitorTargetEnabled?: boolean; + readonly operationStatus?: string; } -/** - * A database blob auditing policy. - */ -export interface DatabaseBlobAuditingPolicy extends ProxyResource { - /** - * Resource kind. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly kind?: string; +/** Properties of sync group schema. */ +export interface SyncGroupSchema { + /** List of tables in sync group schema. */ + tables?: SyncGroupSchemaTable[]; + /** Name of master sync member where the schema is from. */ + masterSyncMemberName?: string; +} + +/** Properties of table in sync group schema. */ +export interface SyncGroupSchemaTable { + /** List of columns in sync group schema. */ + columns?: SyncGroupSchemaTableColumn[]; + /** Quoted name of sync group schema table. */ + quotedName?: string; +} + +/** Properties of column in sync group table. */ +export interface SyncGroupSchemaTableColumn { + /** Quoted name of sync group table column. */ + quotedName?: string; + /** Data size of the column. */ + dataSize?: string; + /** Data type of the column. */ + dataType?: string; +} + +/** A list of sync groups. */ +export interface SyncGroupListResult { /** - * Specifies the state of the policy. If state is Enabled, storageEndpoint or - * isAzureMonitorTargetEnabled are required. Possible values include: 'Enabled', 'Disabled' + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: BlobAuditingPolicyState; + readonly value?: SyncGroup[]; /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state - * is Enabled, storageEndpoint is required. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageEndpoint?: string; + readonly nextLink?: string; +} + +/** A list of Azure SQL Database sync members. */ +export interface SyncMemberListResult { /** - * Specifies the identifier key of the auditing storage account. If state is Enabled and - * storageEndpoint is specified, storageAccountAccessKey is required. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly value?: SyncMember[]; /** - * Specifies the number of days to keep in the audit logs in the storage account. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; + readonly nextLink?: string; +} + +/** A list of time zones. */ +export interface TimeZoneListResult { /** - * Specifies the Actions-Groups and Actions to audit. - * - * The recommended set of action groups to use is the following combination - this will audit all - * the queries and stored procedures executed against the database, as well as successful and - * failed logins: - * - * BATCH_COMPLETED_GROUP, - * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, - * FAILED_DATABASE_AUTHENTICATION_GROUP. - * - * This above combination is also the set that is configured by default when enabling auditing - * from the Azure portal. - * - * The supported action groups to audit are (note: choose only specific groups that cover your - * auditing needs. Using unnecessary groups could lead to very large quantities of audit - * records): - * - * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP - * BACKUP_RESTORE_GROUP - * DATABASE_LOGOUT_GROUP - * DATABASE_OBJECT_CHANGE_GROUP - * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP - * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP - * DATABASE_OPERATION_GROUP - * DATABASE_PERMISSION_CHANGE_GROUP - * DATABASE_PRINCIPAL_CHANGE_GROUP - * DATABASE_PRINCIPAL_IMPERSONATION_GROUP - * DATABASE_ROLE_MEMBER_CHANGE_GROUP - * FAILED_DATABASE_AUTHENTICATION_GROUP - * SCHEMA_OBJECT_ACCESS_GROUP - * SCHEMA_OBJECT_CHANGE_GROUP - * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP - * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP - * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP - * USER_CHANGE_PASSWORD_GROUP - * BATCH_STARTED_GROUP - * BATCH_COMPLETED_GROUP - * - * These are groups that cover all sql statements and stored procedures executed against the - * database, and should not be used in combination with other groups as this will result in - * duplicate audit logs. - * - * For more information, see [Database-Level Audit Action - * Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). - * - * For Database auditing policy, specific Actions can also be specified (note that Actions cannot - * be specified for Server auditing policy). The supported actions to audit are: - * SELECT - * UPDATE - * INSERT - * DELETE - * EXECUTE - * RECEIVE - * REFERENCES - * - * The general form for defining an action to be audited is: - * {action} ON {object} BY {principal} - * - * Note that in the above format can refer to an object like a table, view, or stored - * procedure, or an entire database or schema. For the latter cases, the forms - * DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. - * - * For example: - * SELECT on dbo.myTable by public - * SELECT on DATABASE::myDatabase by public - * SELECT on SCHEMA::mySchema by public - * - * For more information, see [Database-Level Audit - * Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - auditActionsAndGroups?: string[]; + readonly value?: TimeZone[]; /** - * Specifies the blob storage subscription Id. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountSubscriptionId?: string; + readonly nextLink?: string; +} + +/** A list of virtual clusters. */ +export interface VirtualClusterListResult { /** - * Specifies whether storageAccountAccessKey value is the storage's secondary key. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isStorageSecondaryKeyInUse?: boolean; + readonly value?: VirtualCluster[]; /** - * Specifies whether audit events are sent to Azure Monitor. - * In order to send the events to Azure Monitor, specify 'state' as 'Enabled' and - * 'isAzureMonitorTargetEnabled' as true. - * - * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' - * diagnostic logs category on the database should be also created. - * Note that for server level audit you should use the 'master' database as {databaseName}. - * - * Diagnostic Settings URI format: - * PUT - * https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - * - * For more information, see [Diagnostic Settings REST - * API](https://go.microsoft.com/fwlink/?linkid=2033207) - * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isAzureMonitorTargetEnabled?: boolean; + readonly nextLink?: string; } -/** - * Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result. - */ -export interface DatabaseVulnerabilityAssessmentRuleBaselineItem { +/** An update request for an Azure SQL Database virtual cluster. */ +export interface VirtualClusterUpdate { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; /** - * The rule baseline result + * Subnet resource ID for the virtual cluster. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - result: string[]; -} - -/** - * A database vulnerability assessment rule baseline. - */ -export interface DatabaseVulnerabilityAssessmentRuleBaseline extends ProxyResource { + readonly subnetId?: string; + /** If the service has different generations of hardware, for the same SKU, then that can be captured here. */ + family?: string; /** - * The rule baseline result + * List of resources in this virtual cluster. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - baselineResults: DatabaseVulnerabilityAssessmentRuleBaselineItem[]; + readonly childResources?: string[]; + /** Specifies maintenance configuration id to apply to this virtual cluster. */ + maintenanceConfigurationId?: string; } -/** - * Properties of a Vulnerability Assessment recurring scans. - */ -export interface VulnerabilityAssessmentRecurringScansProperties { - /** - * Recurring scans state. - */ - isEnabled?: boolean; +/** A list of virtual network rules. */ +export interface VirtualNetworkRuleListResult { /** - * Specifies that the schedule scan notification will be is sent to the subscription - * administrators. Default value: true. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailSubscriptionAdmins?: boolean; + readonly value?: VirtualNetworkRule[]; /** - * Specifies an array of e-mail addresses to which the scan notification is sent. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emails?: string[]; + readonly nextLink?: string; } -/** - * A database vulnerability assessment. - */ -export interface DatabaseVulnerabilityAssessment extends ProxyResource { +/** A list of workload classifiers for a workload group. */ +export interface WorkloadClassifierListResult { /** - * A blob storage container path to hold the scan results (e.g. - * https://myStorage.blob.core.windows.net/VaScans/). It is required if server level - * vulnerability assessment policy doesn't set + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerPath?: string; + readonly value?: WorkloadClassifier[]; /** - * A shared access signature (SAS Key) that has read and write access to the blob container - * specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, - * StorageContainerSasKey is required. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerSasKey?: string; + readonly nextLink?: string; +} + +/** A list of workload groups. */ +export interface WorkloadGroupListResult { /** - * Specifies the identifier key of the storage account for vulnerability assessment scan results. - * If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly value?: WorkloadGroup[]; /** - * The recurring scans settings + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - recurringScans?: VulnerabilityAssessmentRecurringScansProperties; + readonly nextLink?: string; } -/** - * An ARM Resource SKU. - */ -export interface Sku { - /** - * The name of the SKU, typically, a letter + Number code, e.g. P3. - */ - name: string; +/** A list of short term retention policies. */ +export interface BackupShortTermRetentionPolicyListResult { /** - * The tier or edition of the particular SKU, e.g. Basic, Premium. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tier?: string; + readonly value?: BackupShortTermRetentionPolicy[]; /** - * Size of the particular SKU + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - size?: string; + readonly nextLink?: string; +} + +/** A list of databases. */ +export interface DatabaseListResult { /** - * If the service has different generations of hardware, for the same SKU, then that can be - * captured here. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - family?: string; + readonly value?: Database[]; /** - * Capacity of the particular SKU. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - capacity?: number; + readonly nextLink?: string; } -/** - * An Azure SQL job agent. - */ -export interface JobAgent extends TrackedResource { +/** A database resource. */ +export interface DatabaseUpdate { + /** The name and tier of the SKU. */ + sku?: Sku; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; /** - * The name and tier of the SKU. + * Specifies the mode of database creation. + * + * Default: regular database creation. + * + * Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database. + * + * Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database. + * + * PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified. + * + * Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore. + * + * Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time. + * + * RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. + * + * Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. */ - sku?: Sku; + createMode?: CreateMode; + /** The collation of the database. */ + collation?: string; + /** The max size of the database expressed in bytes. */ + maxSizeBytes?: number; + /** The name of the sample schema to apply when creating this database. */ + sampleName?: SampleName; + /** The resource identifier of the elastic pool containing this database. */ + elasticPoolId?: string; + /** The resource identifier of the source database associated with create operation of this database. */ + sourceDatabaseId?: string; /** - * Resource ID of the database to store job metadata in. + * The status of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databaseId: string; + readonly status?: DatabaseStatus; /** - * The state of the job agent. Possible values include: 'Creating', 'Ready', 'Updating', - * 'Deleting', 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The ID of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: JobAgentState; -} - -/** - * An update to an Azure SQL job agent. - */ -export interface JobAgentUpdate { + readonly databaseId?: string; /** - * Resource tags. + * The creation date of the database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; -} - -/** - * A stored credential that can be used by a job to connect to target databases. - */ -export interface JobCredential extends ProxyResource { + readonly creationDate?: Date; /** - * The credential user name. + * The current service level objective name of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - username: string; + readonly currentServiceObjectiveName?: string; /** - * The credential password. + * The requested service level objective name of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - password: string; -} - -/** - * The target that a job execution is executed on. - */ -export interface JobExecutionTarget { - /** - * The type of the target. Possible values include: 'TargetGroup', 'SqlDatabase', - * 'SqlElasticPool', 'SqlShardMap', 'SqlServer' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly type?: JobTargetType; - /** - * The server name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly serverName?: string; + readonly requestedServiceObjectiveName?: string; /** - * The database name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The default secondary region for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseName?: string; -} - -/** - * An execution of a job - */ -export interface JobExecution extends ProxyResource { + readonly defaultSecondaryLocation?: string; /** - * The job version number. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Failover Group resource identifier that this database belongs to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly jobVersion?: number; + readonly failoverGroupId?: string; + /** Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. */ + restorePointInTime?: Date; + /** Specifies the time that the database was deleted. */ + sourceDatabaseDeletionDate?: Date; + /** The resource identifier of the recovery point associated with create operation of this database. */ + recoveryServicesRecoveryPointId?: string; + /** The resource identifier of the long term retention backup associated with create operation of this database. */ + longTermRetentionBackupResourceId?: string; + /** The resource identifier of the recoverable database associated with create operation of this database. */ + recoverableDatabaseId?: string; + /** The resource identifier of the restorable dropped database associated with create operation of this database. */ + restorableDroppedDatabaseId?: string; + /** Collation of the metadata catalog. */ + catalogCollation?: CatalogCollationType; + /** Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. */ + zoneRedundant?: boolean; + /** The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit. */ + licenseType?: DatabaseLicenseType; /** - * The job step name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The max log size for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly stepName?: string; + readonly maxLogSizeBytes?: number; /** - * The job step id. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * This records the earliest start date and time that restore is available for this database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly stepId?: number; + readonly earliestRestoreDate?: Date; + /** The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. */ + readScale?: DatabaseReadScale; + /** The number of secondary replicas associated with the database that are used to provide high availability. */ + highAvailabilityReplicaCount?: number; + /** The secondary type of the database if it is a secondary. Valid values are Geo and Named. */ + secondaryType?: SecondaryType; /** - * The unique identifier of the job execution. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name and tier of the SKU. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly jobExecutionId?: string; + readonly currentSku?: Sku; + /** Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled */ + autoPauseDelay?: number; /** - * The detailed state of the job execution. Possible values include: 'Created', 'InProgress', - * 'WaitingForChildJobExecutions', 'WaitingForRetry', 'Succeeded', 'SucceededWithSkipped', - * 'Failed', 'TimedOut', 'Canceled', 'Skipped' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The storage account type used to store backups for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lifecycle?: JobExecutionLifecycle; + readonly currentBackupStorageRedundancy?: CurrentBackupStorageRedundancy; + /** The storage account type to be used to store backups for this database. */ + requestedBackupStorageRedundancy?: RequestedBackupStorageRedundancy; + /** Minimal capacity that database will always have allocated, if not paused */ + minCapacity?: number; /** - * The ARM provisioning state of the job execution. Possible values include: 'Created', - * 'InProgress', 'Succeeded', 'Failed', 'Canceled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: ProvisioningState; + readonly pausedDate?: Date; /** - * The time that the job execution was created. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createTime?: Date; + readonly resumedDate?: Date; + /** Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur. */ + maintenanceConfigurationId?: string; + /** Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created. */ + isLedgerOn?: boolean; /** - * The time that the job execution started. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Infra encryption is enabled for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly startTime?: Date; + readonly isInfraEncryptionEnabled?: boolean; +} + +/** Contains the information necessary to perform a resource move (rename). */ +export interface ResourceMoveDefinition { + /** The target ID for the resource */ + id: string; +} + +/** Contains the information necessary to perform import operation for existing database. */ +export interface ImportExistingDatabaseDefinition { + /** Storage key type. */ + storageKeyType: StorageKeyType; + /** Storage key. */ + storageKey: string; + /** Storage Uri. */ + storageUri: string; + /** Administrator login name. */ + administratorLogin: string; + /** Administrator login password. */ + administratorLoginPassword: string; + /** Authentication type. */ + authenticationType?: string; + /** Optional resource information to enable network isolation for request. */ + networkIsolation?: NetworkIsolationSettings; +} + +/** Contains the ARM resources for which to create private endpoint connection. */ +export interface NetworkIsolationSettings { + /** The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter. */ + storageAccountResourceId?: string; + /** The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation. */ + sqlServerResourceId?: string; +} + +/** Contains the private endpoint connection requests status. */ +export interface PrivateEndpointConnectionRequestStatus { /** - * The time that the job execution completed. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource id for which the private endpoint is created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endTime?: Date; + readonly privateLinkServiceId?: string; /** - * Number of times the job execution has been attempted. + * The connection name for the private endpoint. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - currentAttempts?: number; + readonly privateEndpointConnectionName?: string; /** - * Start time of the current attempt. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of this private endpoint connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentAttemptStartTime?: Date; + readonly status?: string; +} + +/** Contains the information necessary to perform export database operation. */ +export interface ExportDatabaseDefinition { + /** Storage key type. */ + storageKeyType: StorageKeyType; + /** Storage key. */ + storageKey: string; + /** Storage Uri. */ + storageUri: string; + /** Administrator login name. */ + administratorLogin: string; + /** Administrator login password. */ + administratorLoginPassword: string; + /** Authentication type. */ + authenticationType?: string; + /** Optional resource information to enable network isolation for request. */ + networkIsolation?: NetworkIsolationSettings; +} + +/** Import export operation extensions list. */ +export interface ImportExportExtensionsOperationListResult { /** - * The last status or error message. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastMessage?: string; + readonly value?: ImportExportExtensionsOperationResult[]; /** - * The target that this execution is executed on. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly target?: JobExecutionTarget; + readonly nextLink?: string; } -/** - * Scheduling properties of a job. - */ -export interface JobSchedule { - /** - * Schedule start time. Default value: new Date('0001-01-01T00:00:00Z'). - */ - startTime?: Date; +/** The response to a list database operations request */ +export interface DatabaseOperationListResult { /** - * Schedule end time. Default value: new Date('9999-12-31T11:59:59Z'). + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTime?: Date; + readonly value?: DatabaseOperation[]; /** - * Schedule interval type. Possible values include: 'Once', 'Recurring'. Default value: 'Once'. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: JobScheduleType; + readonly nextLink?: string; +} + +/** A list of database usage metrics. */ +export interface DatabaseUsageListResult { /** - * Whether or not the schedule is enabled. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - enabled?: boolean; + readonly value?: DatabaseUsage[]; /** - * Value of the schedule's recurring interval, if the schedule type is recurring. ISO8601 - * duration format. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - interval?: string; + readonly nextLink?: string; } -/** - * A job. - */ -export interface Job extends ProxyResource { - /** - * User-defined description of the job. Default value: ''. - */ - description?: string; +/** A list of ledger digest upload settings. */ +export interface LedgerDigestUploadsListResult { /** - * The job version number. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly version?: number; + readonly value?: LedgerDigestUploads[]; /** - * Schedule properties of the job. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - schedule?: JobSchedule; + readonly nextLink?: string; } -/** - * The action to be executed by a job step. - */ -export interface JobStepAction { - /** - * Type of action being executed by the job step. Possible values include: 'TSql'. Default value: - * 'TSql'. - */ - type?: JobStepActionType; +/** A list of outbound rules. */ +export interface OutboundFirewallRuleListResult { /** - * The source of the action to execute. Possible values include: 'Inline'. Default value: - * 'Inline'. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - source?: JobStepActionSource; + readonly value?: OutboundFirewallRule[]; /** - * The action value, for example the text of the T-SQL script to execute. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - value: string; + readonly nextLink?: string; } -/** - * The output configuration of a job step. - */ -export interface JobStepOutput { +/** A list of replication links. */ +export interface ReplicationLinkListResult { /** - * The output destination type. Possible values include: 'SqlDatabase'. Default value: - * 'SqlDatabase'. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type?: JobStepOutputType; + readonly value?: ReplicationLink[]; /** - * The output destination subscription id. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - subscriptionId?: string; + readonly nextLink?: string; +} + +/** A list of restorable dropped databases. */ +export interface RestorableDroppedDatabaseListResult { /** - * The output destination resource group. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - resourceGroupName?: string; + readonly value?: RestorableDroppedDatabase[]; /** - * The output destination server name. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverName: string; + readonly nextLink?: string; +} + +/** A list of restorable dropped managed databases. */ +export interface RestorableDroppedManagedDatabaseListResult { /** - * The output destination database. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databaseName: string; + readonly value?: RestorableDroppedManagedDatabase[]; /** - * The output destination schema. Default value: 'dbo'. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - schemaName?: string; + readonly nextLink?: string; +} + +/** A list of servers. */ +export interface ServerListResult { /** - * The output destination table. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tableName: string; + readonly value?: Server[]; /** - * The resource ID of the credential to use to connect to the output destination. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - credential: string; + readonly nextLink?: string; } -/** - * The execution options of a job step. - */ -export interface JobStepExecutionOptions { +/** A private endpoint connection under a server */ +export interface ServerPrivateEndpointConnection { /** - * Execution timeout for the job step. Default value: 43200. + * Resource ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timeoutSeconds?: number; + readonly id?: string; /** - * Maximum number of times the job step will be reattempted if the first attempt fails. Default - * value: 10. + * Private endpoint connection properties + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retryAttempts?: number; + readonly properties?: PrivateEndpointConnectionProperties; +} + +/** Properties of a active directory administrator. */ +export interface ServerExternalAdministrator { + /** Type of the sever administrator. */ + administratorType?: AdministratorType; + /** Principal Type of the sever administrator. */ + principalType?: PrincipalType; + /** Login name of the server administrator. */ + login?: string; + /** SID (object ID) of the server administrator. */ + sid?: string; + /** Tenant ID of the administrator. */ + tenantId?: string; + /** Azure Active Directory only Authentication enabled. */ + azureADOnlyAuthentication?: boolean; +} + +/** An update request for an Azure SQL Database server. */ +export interface ServerUpdate { + /** Server identity */ + identity?: ResourceIdentity; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** Administrator username for the server. Once created it cannot be changed. */ + administratorLogin?: string; + /** The administrator login password (required for server creation). */ + administratorLoginPassword?: string; + /** The version of the server. */ + version?: string; /** - * Initial delay between retries for job step execution. Default value: 1. + * The state of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - initialRetryIntervalSeconds?: number; + readonly state?: string; /** - * The maximum amount of time to wait between retries for job step execution. Default value: 120. + * The fully qualified domain name of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maximumRetryIntervalSeconds?: number; + readonly fullyQualifiedDomainName?: string; /** - * The backoff multiplier for the time between retries. Default value: 2. - */ - retryIntervalBackoffMultiplier?: number; + * List of private endpoint connections on a server + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: ServerPrivateEndpointConnection[]; + /** Minimal TLS version. Allowed values: '1.0', '1.1', '1.2' */ + minimalTlsVersion?: string; + /** Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' */ + publicNetworkAccess?: ServerNetworkAccessFlag; + /** + * Whether or not existing server has a workspace created and if it allows connection from workspace + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly workspaceFeature?: ServerWorkspaceFeature; + /** The resource id of a user assigned identity to be used by default. */ + primaryUserAssignedIdentityId?: string; + /** The Client id used for cross tenant CMK scenario */ + federatedClientId?: string; + /** A CMK URI of the key to use for encryption. */ + keyId?: string; + /** The Azure Active Directory identity of the server. */ + administrators?: ServerExternalAdministrator; + /** Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' */ + restrictOutboundNetworkAccess?: ServerNetworkAccessFlag; +} + +/** Contains the information necessary to perform import operation for new database. */ +export interface ImportNewDatabaseDefinition { + /** Name of the import database. */ + databaseName?: string; + /** Edition of the import database. */ + edition?: string; + /** Service level objective name of the import database. */ + serviceObjectiveName?: string; + /** Max size in bytes for the import database. */ + maxSizeBytes?: string; + /** Storage key type. */ + storageKeyType: StorageKeyType; + /** Storage key. */ + storageKey: string; + /** Storage Uri. */ + storageUri: string; + /** Administrator login name. */ + administratorLogin: string; + /** Administrator login password. */ + administratorLoginPassword: string; + /** Authentication type. */ + authenticationType?: string; + /** Optional resource information to enable network isolation for request. */ + networkIsolation?: NetworkIsolationSettings; } -/** - * A job step. - */ -export interface JobStep extends ProxyResource { +/** A request to check whether the specified name for a resource is available. */ +export interface CheckNameAvailabilityRequest { + name: string; + type: "Microsoft.Sql/servers"; +} + +/** The result of a name availability check. */ +export interface CheckNameAvailabilityResponse { /** - * The job step's index within the job. If not specified when creating the job step, it will be - * created as the last step. If not specified when updating the job step, the step id is not - * modified. + * The name whose availability was checked. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - stepId?: number; + readonly name?: string; /** - * The resource ID of the target group that the job step will be executed on. + * True if the name is available, otherwise false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - targetGroup: string; + readonly available?: boolean; /** - * The resource ID of the job credential that will be used to connect to the targets. + * The reason code explaining why the name is unavailable. Will be undefined if the name is available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - credential: string; + readonly reason?: CheckNameAvailabilityReason; /** - * The action payload of the job step. + * A message explaining why the name is unavailable. Will be undefined if the name is available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - action: JobStepAction; + readonly message?: string; +} + +/** A list of usages. */ +export interface UsageListResult { /** - * Output destination properties of the job step. + * Array of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - output?: JobStepOutput; + readonly value?: Usage[]; /** - * Execution options for the job step. + * Link to retrieve next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - executionOptions?: JobStepExecutionOptions; + readonly nextLink?: string; } -/** - * A job target, for example a specific database or a container of databases that is evaluated - * during job execution. - */ -export interface JobTarget { - /** - * Whether the target is included or excluded from the group. Possible values include: 'Include', - * 'Exclude'. Default value: 'Include'. - */ - membershipType?: JobTargetGroupMembershipType; +/** ARM usage. */ +export interface Usage { /** - * The target type. Possible values include: 'TargetGroup', 'SqlDatabase', 'SqlElasticPool', - * 'SqlShardMap', 'SqlServer' + * Resource ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - type: JobTargetType; + readonly id?: string; /** - * The target server name. + * Resource name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverName?: string; + readonly name?: Name; /** - * The target database name. + * Resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - databaseName?: string; + readonly type?: string; /** - * The target elastic pool name. + * Usage unit. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - elasticPoolName?: string; + readonly unit?: string; /** - * The target shard map. + * Usage current value. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - shardMapName?: string; + readonly currentValue?: number; /** - * The resource ID of the credential that is used during job execution to connect to the target - * and determine the list of databases inside the target. + * Usage limit. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - refreshCredential?: string; -} - -/** - * A group of job targets. - */ -export interface JobTargetGroup extends ProxyResource { + readonly limit?: number; /** - * Members of the target group. + * Usage requested limit. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - members: JobTarget[]; + readonly requestedLimit?: number; } -/** - * A job version. - */ -export interface JobVersion extends ProxyResource { +/** ARM Usage Name */ +export interface Name { + /** Usage name value */ + value?: string; + /** Usage name localized value. */ + localizedValue?: string; } -/** - * A long term retention backup. - */ -export interface LongTermRetentionBackup extends ProxyResource { +/** A Slo Usage Metric. */ +export interface SloUsageMetric { /** - * The server name that the backup database belong to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The serviceLevelObjective for SLO usage metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serverName?: string; + readonly serviceLevelObjective?: ServiceObjectiveName; /** - * The create time of the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The serviceLevelObjectiveId for SLO usage metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly serverCreateTime?: Date; + readonly serviceLevelObjectiveId?: string; /** - * The name of the database the backup belong to - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets or sets inRangeTimeRatio for SLO usage metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseName?: string; - /** - * The delete time of the database - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly databaseDeletionTime?: Date; - /** - * The time the backup was taken - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly backupTime?: Date; - /** - * The time the long term retention backup will expire. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly backupExpirationTime?: Date; + readonly inRangeTimeRatio?: number; } -/** - * A long term retention policy. - */ -export interface BackupLongTermRetentionPolicy extends ProxyResource { +/** The impact of an operation, both in absolute and relative terms. */ +export interface OperationImpact { /** - * The weekly retention policy for an LTR backup in an ISO 8601 format. + * The name of the impact dimension. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - weeklyRetention?: string; + readonly name?: string; /** - * The monthly retention policy for an LTR backup in an ISO 8601 format. + * The unit in which estimated impact to dimension is measured. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - monthlyRetention?: string; + readonly unit?: string; /** - * The yearly retention policy for an LTR backup in an ISO 8601 format. + * The absolute impact to dimension. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - yearlyRetention?: string; + readonly changeValueAbsolute?: number; /** - * The week of year to take the yearly backup in an ISO 8601 format. + * The relative impact to dimension (null if not applicable) + * NOTE: This property will not be serialized. It can only be populated by the server. */ - weekOfYear?: number; + readonly changeValueRelative?: number; } -/** - * A short term retention policy. - */ -export interface ManagedBackupShortTermRetentionPolicy extends ProxyResource { - /** - * The backup retention period in days. This is how many days Point-in-Time Restore will be - * supported. - */ - retentionDays?: number; +/** The properties that are supported in the $filter operation. */ +export interface SecurityEventsFilterParameters { + /** Filter on the event time. */ + eventTime?: Date; + /** Whether to show server records or not. */ + showServerRecords?: boolean; } -/** - * Automatic tuning properties for individual advisors. - */ -export interface AutomaticTuningServerOptions { +/** ARM proxy resource. */ +export type ProxyResource = Resource & {}; + +/** ARM tracked top level resource. */ +export type TrackedResource = Resource & { + /** Resource location. */ + location: string; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; +}; + +/** ARM proxy resource. */ +export type ProxyResourceWithWritableName = ResourceWithWritableName & {}; + +/** A recoverable database */ +export type RecoverableDatabase = ProxyResource & { /** - * Automatic tuning option desired state. Possible values include: 'Off', 'On', 'Default' + * The edition of the database + * NOTE: This property will not be serialized. It can only be populated by the server. */ - desiredState?: AutomaticTuningOptionModeDesired; + readonly edition?: string; /** - * Automatic tuning option actual state. Possible values include: 'Off', 'On' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The service level objective name of the database + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly actualState?: AutomaticTuningOptionModeActual; + readonly serviceLevelObjective?: string; /** - * Reason code if desired and actual state are different. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The elastic pool name of the database + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly reasonCode?: number; + readonly elasticPoolName?: string; /** - * Reason description if desired and actual state are different. Possible values include: - * 'Default', 'Disabled', 'AutoConfigured' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The last available backup date of the database (ISO8601 format) + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly reasonDesc?: AutomaticTuningServerReason; -} + readonly lastAvailableBackupDate?: Date; +}; -/** - * Server-level Automatic Tuning. - */ -export interface ServerAutomaticTuning extends ProxyResource { - /** - * Automatic tuning desired state. Possible values include: 'Custom', 'Auto', 'Unspecified' - */ - desiredState?: AutomaticTuningServerMode; +/** A server secure connection policy. */ +export type ServerConnectionPolicy = ProxyResource & { /** - * Automatic tuning actual state. Possible values include: 'Custom', 'Auto', 'Unspecified' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly actualState?: AutomaticTuningServerMode; + readonly kind?: string; /** - * Automatic tuning options definition. + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - options?: { [propertyName: string]: AutomaticTuningServerOptions }; -} + readonly location?: string; + /** The server connection type. */ + connectionType?: ServerConnectionType; +}; -/** - * A server DNS alias. - */ -export interface ServerDnsAlias extends ProxyResource { +/** Represents a database data masking policy. */ +export type DataMaskingPolicy = ProxyResource & { /** - * The fully qualified DNS record for alias - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The location of the data masking policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly azureDnsRecord?: string; -} - -/** - * A server DNS alias acquisition request. - */ -export interface ServerDnsAliasAcquisition { + readonly location?: string; /** - * The id of the server alias that will be acquired to point to this server instead. + * The kind of data masking policy. Metadata, used for Azure portal. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - oldServerDnsAliasId?: string; -} - -/** - * A server security alert policy. - */ -export interface ServerSecurityAlertPolicy extends ProxyResource { + readonly kind?: string; + /** The state of the data masking policy. */ + dataMaskingState?: DataMaskingState; + /** The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries. */ + exemptPrincipals?: string; /** - * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been - * applied yet on the specific database. Possible values include: 'New', 'Enabled', 'Disabled' + * The list of the application principals. This is a legacy parameter and is no longer used. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: SecurityAlertPolicyState; + readonly applicationPrincipals?: string; /** - * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, - * Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action + * The masking level. This is a legacy parameter and is no longer used. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - disabledAlerts?: string[]; + readonly maskingLevel?: string; +}; + +/** Represents a database data masking rule. */ +export type DataMaskingRule = ProxyResource & { /** - * Specifies an array of e-mail addresses to which the alert is sent. + * The location of the data masking rule. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailAddresses?: string[]; + readonly location?: string; /** - * Specifies that the alert is sent to the account administrators. + * The kind of Data Masking Rule. Metadata, used for Azure portal. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailAccountAdmins?: boolean; + readonly kind?: string; /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob - * storage will hold all Threat Detection audit logs. + * The rule Id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageEndpoint?: string; + readonly idPropertiesId?: string; + /** The alias name. This is a legacy parameter and is no longer used. */ + aliasName?: string; + /** The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState. */ + ruleState?: DataMaskingRuleState; + /** The schema name on which the data masking rule is applied. */ + schemaName?: string; + /** The table name on which the data masking rule is applied. */ + tableName?: string; + /** The column name on which the data masking rule is applied. */ + columnName?: string; + /** The masking function that is used for the data masking rule. */ + maskingFunction?: DataMaskingFunction; + /** The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. */ + numberFrom?: string; + /** The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. */ + numberTo?: string; + /** If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored. */ + prefixSize?: string; + /** If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored. */ + suffixSize?: string; + /** If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored. */ + replacementString?: string; +}; + +/** A database geo backup policy. */ +export type GeoBackupPolicy = ProxyResource & { /** - * Specifies the identifier key of the Threat Detection audit storage account. + * Kind of geo backup policy. This is metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly kind?: string; /** - * Specifies the number of days to keep in the Threat Detection audit logs. + * Backup policy location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; + readonly location?: string; + /** The state of the geo backup policy. */ + state: GeoBackupPolicyState; /** - * Specifies the UTC creation time of the policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The storage type of the geo backup policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationTime?: Date; -} + readonly storageType?: string; +}; -/** - * A restorable dropped managed database resource. - */ -export interface RestorableDroppedManagedDatabase extends TrackedResource { - /** - * The name of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly databaseName?: string; +/** Server communication link. */ +export type ServerCommunicationLink = ProxyResource & { /** - * The creation date of the database (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Communication link location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; + readonly location?: string; /** - * The deletion date of the database (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Communication link kind. This property is used for Azure Portal metadata. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly deletionDate?: Date; + readonly kind?: string; /** - * The earliest restore date of the database (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly earliestRestoreDate?: Date; -} + readonly state?: string; + /** The name of the partner server. */ + partnerServer?: string; +}; -/** - * Database restore points. - */ -export interface RestorePoint extends ProxyResource { +/** Represents a database service objective. */ +export type ServiceObjective = ProxyResource & { /** - * Resource location. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name for the service objective. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; + readonly serviceObjectiveName?: string; /** - * The type of restore point. Possible values include: 'CONTINUOUS', 'DISCRETE' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets whether the service level objective is the default service objective. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly restorePointType?: RestorePointType; + readonly isDefault?: boolean; /** - * The earliest time to which this database can be restored - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets whether the service level objective is a system service objective. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly earliestRestoreDate?: Date; + readonly isSystem?: boolean; /** - * The time the backup was taken - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The description for the service level objective. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly restorePointCreationDate?: Date; + readonly description?: string; /** - * The label of restore point for backup request by user - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets whether the service level objective is enabled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly restorePointLabel?: string; -} + readonly enabled?: boolean; +}; -/** - * Contains the information necessary to perform a create database restore point operation. - */ -export interface CreateDatabaseRestorePointDefinition { +/** Represents the activity on an elastic pool. */ +export type ElasticPoolActivity = ProxyResource & { + /** The geo-location where the resource lives */ + location?: string; /** - * The restore point label to apply + * The time the operation finished (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorePointLabel: string; -} - -/** - * A managed database security alert policy. - */ -export interface ManagedDatabaseSecurityAlertPolicy extends ProxyResource { + readonly endTime?: Date; /** - * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been - * applied yet on the specific database. Possible values include: 'New', 'Enabled', 'Disabled' + * The error code if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: SecurityAlertPolicyState; + readonly errorCode?: number; /** - * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, - * Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action + * The error message if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - disabledAlerts?: string[]; + readonly errorMessage?: string; /** - * Specifies an array of e-mail addresses to which the alert is sent. + * The error severity if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailAddresses?: string[]; + readonly errorSeverity?: number; /** - * Specifies that the alert is sent to the account administrators. + * The operation name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailAccountAdmins?: boolean; + readonly operation?: string; /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob - * storage will hold all Threat Detection audit logs. + * The unique operation ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageEndpoint?: string; + readonly operationId?: string; /** - * Specifies the identifier key of the Threat Detection audit storage account. + * The percentage complete if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly percentComplete?: number; /** - * Specifies the number of days to keep in the Threat Detection audit logs. + * The requested max DTU per database if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; + readonly requestedDatabaseDtuMax?: number; /** - * Specifies the UTC creation time of the policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The requested min DTU per database if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationTime?: Date; -} - -/** - * A managed server security alert policy. - */ -export interface ManagedServerSecurityAlertPolicy extends ProxyResource { + readonly requestedDatabaseDtuMin?: number; /** - * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been - * applied yet on the specific database. Possible values include: 'New', 'Enabled', 'Disabled' + * The requested DTU for the pool if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - state: SecurityAlertPolicyState; + readonly requestedDtu?: number; /** - * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, - * Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action + * The requested name for the elastic pool if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - disabledAlerts?: string[]; + readonly requestedElasticPoolName?: string; /** - * Specifies an array of e-mail addresses to which the alert is sent. + * The requested storage limit for the pool in GB if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailAddresses?: string[]; + readonly requestedStorageLimitInGB?: number; /** - * Specifies that the alert is sent to the account administrators. + * The name of the elastic pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - emailAccountAdmins?: boolean; + readonly elasticPoolName?: string; /** - * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob - * storage will hold all Threat Detection audit logs. + * The name of the server the elastic pool is in. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageEndpoint?: string; + readonly serverName?: string; /** - * Specifies the identifier key of the Threat Detection audit storage account. + * The time the operation started (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly startTime?: Date; /** - * Specifies the number of days to keep in the Threat Detection audit logs. + * The current state of the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; + readonly state?: string; /** - * Specifies the UTC creation time of the policy. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The requested storage limit in MB. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationTime?: Date; -} - -/** - * A sensitivity label. - */ -export interface SensitivityLabel extends ProxyResource { + readonly requestedStorageLimitInMB?: number; /** - * The label name. + * The requested per database DTU guarantee. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - labelName?: string; + readonly requestedDatabaseDtuGuarantee?: number; /** - * The label ID. + * The requested per database DTU cap. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - labelId?: string; + readonly requestedDatabaseDtuCap?: number; /** - * The information type. + * The requested DTU guarantee. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - informationType?: string; + readonly requestedDtuGuarantee?: number; +}; + +/** Represents the activity on an elastic pool. */ +export type ElasticPoolDatabaseActivity = ProxyResource & { + /** The geo-location where the resource lives */ + location?: string; /** - * The information type ID. + * The database name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - informationTypeId?: string; + readonly databaseName?: string; /** - * Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. - * Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or - * not. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the operation finished (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isDisabled?: boolean; -} - -/** - * An Azure SQL managed instance administrator. - */ -export interface ManagedInstanceAdministrator extends ProxyResource { - /** - * Login name of the managed instance administrator. - */ - login: string; - /** - * SID (object ID) of the managed instance administrator. - */ - sid: string; - /** - * Tenant ID of the managed instance administrator. - */ - tenantId?: string; -} - -/** - * A database operation. - */ -export interface DatabaseOperation extends ProxyResource { - /** - * The name of the database the operation is being performed on. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly databaseName?: string; - /** - * The name of operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly operation?: string; - /** - * The friendly name of operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly operationFriendlyName?: string; - /** - * The percentage of the operation completed. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly percentComplete?: number; - /** - * The name of the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly serverName?: string; - /** - * The operation start time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly startTime?: Date; - /** - * The operation state. Possible values include: 'Pending', 'InProgress', 'Succeeded', 'Failed', - * 'CancelInProgress', 'Cancelled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly state?: ManagementOperationState; + readonly endTime?: Date; /** - * The operation error code. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The error code if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly errorCode?: number; /** - * The operation error description. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The error message if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errorDescription?: string; + readonly errorMessage?: string; /** - * The operation error severity. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The error severity if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly errorSeverity?: number; /** - * Whether or not the error is a user error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isUserError?: boolean; - /** - * The estimated completion time of the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly estimatedCompletionTime?: Date; + readonly operation?: string; /** - * The operation description. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The unique operation ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly operationId?: string; /** - * Whether the operation can be cancelled. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The percentage complete if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isCancellable?: boolean; -} - -/** - * A elastic pool operation. - */ -export interface ElasticPoolOperation extends ProxyResource { + readonly percentComplete?: number; /** - * The name of the elastic pool the operation is being performed on. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name for the elastic pool the database is moving into if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly elasticPoolName?: string; + readonly requestedElasticPoolName?: string; /** - * The name of operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the current elastic pool the database is in if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operation?: string; + readonly currentElasticPoolName?: string; /** - * The friendly name of operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the current service objective if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly operationFriendlyName?: string; + readonly currentServiceObjective?: string; /** - * The percentage of the operation completed. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the requested service objective if available. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly percentComplete?: number; + readonly requestedServiceObjective?: string; /** - * The name of the server. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the server the elastic pool is in. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly serverName?: string; /** - * The operation start time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the operation started (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly startTime?: Date; /** - * The operation state. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The current state of the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly state?: string; - /** - * The operation error code. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly errorCode?: number; - /** - * The operation error description. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly errorDescription?: string; - /** - * The operation error severity. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly errorSeverity?: number; - /** - * Whether or not the error is a user error. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isUserError?: boolean; - /** - * The estimated completion time of the operation. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly estimatedCompletionTime?: Date; - /** - * The operation description. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly description?: string; - /** - * Whether the operation can be cancelled. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly isCancellable?: boolean; -} +}; -/** - * The maximum size capability. - */ -export interface MaxSizeCapability { - /** - * The maximum size limit (see 'unit' for the units). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly limit?: number; +/** Represents a database transparent data encryption configuration. */ +export type TransparentDataEncryption = ProxyResource & { /** - * The units that the limit is expressed in. Possible values include: 'Megabytes', 'Gigabytes', - * 'Terabytes', 'Petabytes' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: MaxSizeUnit; -} + readonly location?: string; + /** The status of the database transparent data encryption. */ + status?: TransparentDataEncryptionStatus; +}; -/** - * The log size capability. - */ -export interface LogSizeCapability { +/** Represents a database transparent data encryption Scan. */ +export type TransparentDataEncryptionActivity = ProxyResource & { /** - * The log size limit (see 'unit' for the units). - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly limit?: number; - /** - * The units that the limit is expressed in. Possible values include: 'Megabytes', 'Gigabytes', - * 'Terabytes', 'Petabytes', 'Percent' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: LogSizeUnit; -} - -/** - * The maximum size range capability. - */ -export interface MaxSizeRangeCapability { + readonly location?: string; /** - * Minimum value. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The status of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly minValue?: MaxSizeCapability; + readonly status?: TransparentDataEncryptionActivityStatus; /** - * Maximum value. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The percent complete of the transparent data encryption scan for a database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxValue?: MaxSizeCapability; + readonly percentComplete?: number; +}; + +/** An extended database blob auditing policy. */ +export type ExtendedDatabaseBlobAuditingPolicy = ProxyResource & { + /** Specifies condition of where clause when creating an audit. */ + predicateExpression?: string; + /** Specifies the number of days to keep in the audit logs in the storage account. */ + retentionDays?: number; /** - * Scale/step size for discrete values between the minimum value and the maximum value. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the Actions-Groups and Actions to audit. + * + * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins: + * + * BATCH_COMPLETED_GROUP, + * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + * FAILED_DATABASE_AUTHENTICATION_GROUP. + * + * This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + * + * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records): + * + * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + * BACKUP_RESTORE_GROUP + * DATABASE_LOGOUT_GROUP + * DATABASE_OBJECT_CHANGE_GROUP + * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + * DATABASE_OPERATION_GROUP + * DATABASE_PERMISSION_CHANGE_GROUP + * DATABASE_PRINCIPAL_CHANGE_GROUP + * DATABASE_PRINCIPAL_IMPERSONATION_GROUP + * DATABASE_ROLE_MEMBER_CHANGE_GROUP + * FAILED_DATABASE_AUTHENTICATION_GROUP + * SCHEMA_OBJECT_ACCESS_GROUP + * SCHEMA_OBJECT_CHANGE_GROUP + * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + * USER_CHANGE_PASSWORD_GROUP + * BATCH_STARTED_GROUP + * BATCH_COMPLETED_GROUP + * + * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs. + * + * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + * + * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are: + * SELECT + * UPDATE + * INSERT + * DELETE + * EXECUTE + * RECEIVE + * REFERENCES + * + * The general form for defining an action to be audited is: + * {action} ON {object} BY {principal} + * + * Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + * + * For example: + * SELECT on dbo.myTable by public + * SELECT on DATABASE::myDatabase by public + * SELECT on SCHEMA::mySchema by public + * + * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) */ - readonly scaleSize?: MaxSizeCapability; + auditActionsAndGroups?: string[]; + /** Specifies whether storageAccountAccessKey value is the storage's secondary key. */ + isStorageSecondaryKeyInUse?: boolean; /** - * Size of transaction log. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies whether audit events are sent to Azure Monitor. + * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + * + * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created. + * Note that for server level audit you should use the 'master' database as {databaseName}. + * + * Diagnostic Settings URI format: + * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + * + * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * */ - readonly logSize?: LogSizeCapability; + isAzureMonitorTargetEnabled?: boolean; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. + * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. */ - readonly status?: CapabilityStatus; + queueDelayMs?: number; + /** Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. */ + state?: BlobAuditingPolicyState; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. */ + storageEndpoint?: string; /** - * The reason for the capability not being available. + * Specifies the identifier key of the auditing storage account. + * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage. + * Prerequisites for using managed identity authentication: + * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity. + * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355) */ - reason?: string; -} + storageAccountAccessKey?: string; + /** Specifies the blob storage subscription Id. */ + storageAccountSubscriptionId?: string; +}; -/** - * The performance level capability. - */ -export interface PerformanceLevelCapability { +/** An extended server blob auditing policy. */ +export type ExtendedServerBlobAuditingPolicy = ProxyResource & { /** - * Performance level value. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor. + * In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true + * + * When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created. + * + * Diagnostic Settings URI format: + * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + * + * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * */ - readonly value?: number; + isDevopsAuditEnabled?: boolean; + /** Specifies condition of where clause when creating an audit. */ + predicateExpression?: string; + /** Specifies the number of days to keep in the audit logs in the storage account. */ + retentionDays?: number; /** - * Unit type used to measure performance level. Possible values include: 'DTU', 'VCores' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the Actions-Groups and Actions to audit. + * + * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins: + * + * BATCH_COMPLETED_GROUP, + * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + * FAILED_DATABASE_AUTHENTICATION_GROUP. + * + * This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + * + * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records): + * + * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + * BACKUP_RESTORE_GROUP + * DATABASE_LOGOUT_GROUP + * DATABASE_OBJECT_CHANGE_GROUP + * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + * DATABASE_OPERATION_GROUP + * DATABASE_PERMISSION_CHANGE_GROUP + * DATABASE_PRINCIPAL_CHANGE_GROUP + * DATABASE_PRINCIPAL_IMPERSONATION_GROUP + * DATABASE_ROLE_MEMBER_CHANGE_GROUP + * FAILED_DATABASE_AUTHENTICATION_GROUP + * SCHEMA_OBJECT_ACCESS_GROUP + * SCHEMA_OBJECT_CHANGE_GROUP + * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + * USER_CHANGE_PASSWORD_GROUP + * BATCH_STARTED_GROUP + * BATCH_COMPLETED_GROUP + * + * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs. + * + * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + * + * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are: + * SELECT + * UPDATE + * INSERT + * DELETE + * EXECUTE + * RECEIVE + * REFERENCES + * + * The general form for defining an action to be audited is: + * {action} ON {object} BY {principal} + * + * Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + * + * For example: + * SELECT on dbo.myTable by public + * SELECT on DATABASE::myDatabase by public + * SELECT on SCHEMA::mySchema by public + * + * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) */ - readonly unit?: PerformanceLevelUnit; -} - -/** - * The license type capability - */ -export interface LicenseTypeCapability { + auditActionsAndGroups?: string[]; + /** Specifies whether storageAccountAccessKey value is the storage's secondary key. */ + isStorageSecondaryKeyInUse?: boolean; /** - * License type identifier. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies whether audit events are sent to Azure Monitor. + * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + * + * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created. + * Note that for server level audit you should use the 'master' database as {databaseName}. + * + * Diagnostic Settings URI format: + * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + * + * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * */ - readonly name?: string; + isAzureMonitorTargetEnabled?: boolean; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. + * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. */ - readonly status?: CapabilityStatus; + queueDelayMs?: number; + /** Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. */ + state?: BlobAuditingPolicyState; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. */ + storageEndpoint?: string; /** - * The reason for the capability not being available. + * Specifies the identifier key of the auditing storage account. + * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage. + * Prerequisites for using managed identity authentication: + * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity. + * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355) */ - reason?: string; -} + storageAccountAccessKey?: string; + /** Specifies the blob storage subscription Id. */ + storageAccountSubscriptionId?: string; +}; -/** - * The service objectives capability. - */ -export interface ServiceObjectiveCapability { +/** A server blob auditing policy. */ +export type ServerBlobAuditingPolicy = ProxyResource & { /** - * The unique ID of the service objective. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly id?: string; - /** - * The service objective name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name?: string; - /** - * The list of supported maximum database sizes. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly supportedMaxSizes?: MaxSizeRangeCapability[]; - /** - * The performance level. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly performanceLevel?: PerformanceLevelCapability; - /** - * The sku. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor. + * In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true + * + * When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created. + * + * Diagnostic Settings URI format: + * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + * + * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * */ - readonly sku?: Sku; + isDevopsAuditEnabled?: boolean; + /** Specifies the number of days to keep in the audit logs in the storage account. */ + retentionDays?: number; /** - * List of supported license types. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the Actions-Groups and Actions to audit. + * + * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins: + * + * BATCH_COMPLETED_GROUP, + * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + * FAILED_DATABASE_AUTHENTICATION_GROUP. + * + * This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + * + * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records): + * + * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + * BACKUP_RESTORE_GROUP + * DATABASE_LOGOUT_GROUP + * DATABASE_OBJECT_CHANGE_GROUP + * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + * DATABASE_OPERATION_GROUP + * DATABASE_PERMISSION_CHANGE_GROUP + * DATABASE_PRINCIPAL_CHANGE_GROUP + * DATABASE_PRINCIPAL_IMPERSONATION_GROUP + * DATABASE_ROLE_MEMBER_CHANGE_GROUP + * FAILED_DATABASE_AUTHENTICATION_GROUP + * SCHEMA_OBJECT_ACCESS_GROUP + * SCHEMA_OBJECT_CHANGE_GROUP + * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + * USER_CHANGE_PASSWORD_GROUP + * BATCH_STARTED_GROUP + * BATCH_COMPLETED_GROUP + * + * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs. + * + * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + * + * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are: + * SELECT + * UPDATE + * INSERT + * DELETE + * EXECUTE + * RECEIVE + * REFERENCES + * + * The general form for defining an action to be audited is: + * {action} ON {object} BY {principal} + * + * Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + * + * For example: + * SELECT on dbo.myTable by public + * SELECT on DATABASE::myDatabase by public + * SELECT on SCHEMA::mySchema by public + * + * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) */ - readonly supportedLicenseTypes?: LicenseTypeCapability[]; + auditActionsAndGroups?: string[]; + /** Specifies whether storageAccountAccessKey value is the storage's secondary key. */ + isStorageSecondaryKeyInUse?: boolean; /** - * The included (free) max size. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies whether audit events are sent to Azure Monitor. + * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + * + * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created. + * Note that for server level audit you should use the 'master' database as {databaseName}. + * + * Diagnostic Settings URI format: + * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + * + * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * */ - readonly includedMaxSize?: MaxSizeCapability; + isAzureMonitorTargetEnabled?: boolean; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. + * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. */ - readonly status?: CapabilityStatus; + queueDelayMs?: number; + /** Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. */ + state?: BlobAuditingPolicyState; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. */ + storageEndpoint?: string; /** - * The reason for the capability not being available. + * Specifies the identifier key of the auditing storage account. + * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage. + * Prerequisites for using managed identity authentication: + * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity. + * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355) */ - reason?: string; -} + storageAccountAccessKey?: string; + /** Specifies the blob storage subscription Id. */ + storageAccountSubscriptionId?: string; +}; -/** - * The edition capability. - */ -export interface EditionCapability { +/** A database blob auditing policy. */ +export type DatabaseBlobAuditingPolicy = ProxyResource & { /** - * The database edition name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource kind. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly kind?: string; + /** Specifies the number of days to keep in the audit logs in the storage account. */ + retentionDays?: number; /** - * The list of supported service objectives for the edition. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the Actions-Groups and Actions to audit. + * + * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins: + * + * BATCH_COMPLETED_GROUP, + * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + * FAILED_DATABASE_AUTHENTICATION_GROUP. + * + * This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + * + * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records): + * + * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + * BACKUP_RESTORE_GROUP + * DATABASE_LOGOUT_GROUP + * DATABASE_OBJECT_CHANGE_GROUP + * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + * DATABASE_OPERATION_GROUP + * DATABASE_PERMISSION_CHANGE_GROUP + * DATABASE_PRINCIPAL_CHANGE_GROUP + * DATABASE_PRINCIPAL_IMPERSONATION_GROUP + * DATABASE_ROLE_MEMBER_CHANGE_GROUP + * FAILED_DATABASE_AUTHENTICATION_GROUP + * SCHEMA_OBJECT_ACCESS_GROUP + * SCHEMA_OBJECT_CHANGE_GROUP + * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + * USER_CHANGE_PASSWORD_GROUP + * BATCH_STARTED_GROUP + * BATCH_COMPLETED_GROUP + * + * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs. + * + * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + * + * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are: + * SELECT + * UPDATE + * INSERT + * DELETE + * EXECUTE + * RECEIVE + * REFERENCES + * + * The general form for defining an action to be audited is: + * {action} ON {object} BY {principal} + * + * Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + * + * For example: + * SELECT on dbo.myTable by public + * SELECT on DATABASE::myDatabase by public + * SELECT on SCHEMA::mySchema by public + * + * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) */ - readonly supportedServiceLevelObjectives?: ServiceObjectiveCapability[]; + auditActionsAndGroups?: string[]; + /** Specifies whether storageAccountAccessKey value is the storage's secondary key. */ + isStorageSecondaryKeyInUse?: boolean; /** - * Whether or not zone redundancy is supported for the edition. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies whether audit events are sent to Azure Monitor. + * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + * + * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created. + * Note that for server level audit you should use the 'master' database as {databaseName}. + * + * Diagnostic Settings URI format: + * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + * + * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * */ - readonly zoneRedundant?: boolean; + isAzureMonitorTargetEnabled?: boolean; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. + * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. */ - readonly status?: CapabilityStatus; + queueDelayMs?: number; + /** Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. */ + state?: BlobAuditingPolicyState; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. */ + storageEndpoint?: string; /** - * The reason for the capability not being available. + * Specifies the identifier key of the auditing storage account. + * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage. + * Prerequisites for using managed identity authentication: + * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity. + * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355) */ - reason?: string; -} + storageAccountAccessKey?: string; + /** Specifies the blob storage subscription Id. */ + storageAccountSubscriptionId?: string; +}; -/** - * The minimum per-database performance level capability. - */ -export interface ElasticPoolPerDatabaseMinPerformanceLevelCapability { +/** Database, Server or Elastic Pool Recommended Action. */ +export type RecommendedAction = ProxyResource & { /** - * The minimum performance level per database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource kind. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly limit?: number; + readonly kind?: string; /** - * Unit type used to measure performance level. Possible values include: 'DTU', 'VCores' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: PerformanceLevelUnit; + readonly location?: string; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the reason for recommending this action. e.g., DuplicateIndex + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly recommendationReason?: string; /** - * The reason for the capability not being available. + * Gets the time since when this recommended action is valid. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} - -/** - * The max per-database performance level capability. - */ -export interface ElasticPoolPerDatabaseMaxPerformanceLevelCapability { + readonly validSince?: Date; /** - * The maximum performance level per database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets time when this recommended action was last refreshed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly limit?: number; + readonly lastRefresh?: Date; + /** Gets the info of the current state the recommended action is in. */ + state?: RecommendedActionStateInfo; /** - * Unit type used to measure performance level. Possible values include: 'DTU', 'VCores' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets if this recommended action is actionable by user + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: PerformanceLevelUnit; + readonly isExecutableAction?: boolean; /** - * The list of supported min database performance levels. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets if changes applied by this recommended action can be reverted by user + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedPerDatabaseMinPerformanceLevels?: ElasticPoolPerDatabaseMinPerformanceLevelCapability[]; + readonly isRevertableAction?: boolean; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets if this recommended action was suggested some time ago but user chose to ignore this and system added a new recommended action again. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly isArchivedAction?: boolean; /** - * The reason for the capability not being available. + * Gets the time when system started applying this recommended action on the user resource. e.g., index creation start time + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} - -/** - * The Elastic Pool performance level capability. - */ -export interface ElasticPoolPerformanceLevelCapability { + readonly executeActionStartTime?: Date; /** - * The performance level for the pool. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the time taken for applying this recommended action on user resource. e.g., time taken for index creation + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly performanceLevel?: PerformanceLevelCapability; + readonly executeActionDuration?: string; /** - * The sku. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the time when system started reverting changes of this recommended action on user resource. e.g., time when index drop is executed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly sku?: Sku; + readonly revertActionStartTime?: Date; /** - * List of supported license types. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the time taken for reverting changes of this recommended action on user resource. e.g., time taken for dropping the created index. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedLicenseTypes?: LicenseTypeCapability[]; + readonly revertActionDuration?: string; /** - * The maximum number of databases supported. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets if approval for applying this recommended action was given by user/system. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxDatabaseCount?: number; + readonly executeActionInitiatedBy?: RecommendedActionInitiatedBy; /** - * The included (free) max size for this performance level. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the time when this recommended action was approved for execution. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly includedMaxSize?: MaxSizeCapability; + readonly executeActionInitiatedTime?: Date; /** - * The list of supported max sizes. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets if approval for reverting this recommended action was given by user/system. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedMaxSizes?: MaxSizeRangeCapability[]; + readonly revertActionInitiatedBy?: RecommendedActionInitiatedBy; /** - * The list of supported per database max sizes. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the time when this recommended action was approved for revert. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedPerDatabaseMaxSizes?: MaxSizeRangeCapability[]; + readonly revertActionInitiatedTime?: Date; /** - * The list of supported per database max performance levels. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the impact of this recommended action. Possible values are 1 - Low impact, 2 - Medium Impact and 3 - High Impact + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedPerDatabaseMaxPerformanceLevels?: ElasticPoolPerDatabaseMaxPerformanceLevelCapability[]; + readonly score?: number; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the implementation details of this recommended action for user to apply it manually. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly implementationDetails?: RecommendedActionImplementationInfo; /** - * The reason for the capability not being available. + * Gets the error details if and why this recommended action is put to error state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} - -/** - * The elastic pool edition capability. - */ -export interface ElasticPoolEditionCapability { + readonly errorDetails?: RecommendedActionErrorInfo; /** - * The elastic pool edition name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the estimated impact info for this recommended action e.g., Estimated CPU gain, Estimated Disk Space change + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly estimatedImpact?: RecommendedActionImpactRecord[]; /** - * The list of supported elastic pool DTU levels for the edition. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the observed/actual impact info for this recommended action e.g., Actual CPU gain, Actual Disk Space change + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedElasticPoolPerformanceLevels?: ElasticPoolPerformanceLevelCapability[]; + readonly observedImpact?: RecommendedActionImpactRecord[]; /** - * Whether or not zone redundancy is supported for the edition. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the time series info of metrics for this recommended action e.g., CPU consumption time series + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly zoneRedundant?: boolean; + readonly timeSeries?: RecommendedActionMetricInfo[]; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the linked objects, if any. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly linkedObjects?: string[]; /** - * The reason for the capability not being available. + * Gets additional details specific to this recommended action. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} + readonly details?: { [propertyName: string]: Record }; +}; -/** - * The server capability - */ -export interface ServerVersionCapability { - /** - * The server version name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name?: string; - /** - * The list of supported database editions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly supportedEditions?: EditionCapability[]; +/** Database, Server or Elastic Pool Advisor. */ +export type Advisor = ProxyResource & { /** - * The list of supported elastic pool editions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource kind. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedElasticPoolEditions?: ElasticPoolEditionCapability[]; + readonly kind?: string; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly location?: string; /** - * The reason for the capability not being available. + * Gets the status of availability of this advisor to customers. Possible values are 'GA', 'PublicPreview', 'LimitedPublicPreview' and 'PrivatePreview'. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} - -/** - * The managed instance virtual cores capability. - */ -export interface ManagedInstanceVcoresCapability { + readonly advisorStatus?: AdvisorStatus; + /** Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled' */ + autoExecuteStatus?: AutoExecuteStatus; /** - * The virtual cores identifier. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the resource from which current value of auto-execute status is inherited. Auto-execute status can be set on (and inherited from) different levels in the resource hierarchy. Possible values are 'Subscription', 'Server', 'ElasticPool', 'Database' and 'Default' (when status is not explicitly set on any level). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly autoExecuteStatusInheritedFrom?: AutoExecuteStatusInheritedFrom; /** - * The virtual cores value. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets that status of recommendations for this advisor and reason for not having any recommendations. Possible values include, but are not limited to, 'Ok' (Recommendations available),LowActivity (not enough workload to analyze), 'DbSeemsTuned' (Database is doing well), etc. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly value?: number; + readonly recommendationsStatus?: string; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Gets the time when the current resource was analyzed for recommendations by this advisor. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly lastChecked?: Date; /** - * The reason for the capability not being available. + * Gets the recommended actions for this advisor. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} + readonly recommendedActions?: RecommendedAction[]; +}; -/** - * The managed server family capability. - */ -export interface ManagedInstanceFamilyCapability { - /** - * Family name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name?: string; +/** Database-level Automatic Tuning. */ +export type DatabaseAutomaticTuning = ProxyResource & { + /** Automatic tuning desired state. */ + desiredState?: AutomaticTuningMode; /** - * SKU name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Automatic tuning actual state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly sku?: string; + readonly actualState?: AutomaticTuningMode; + /** Automatic tuning options definition. */ + options?: { [propertyName: string]: AutomaticTuningOptions }; +}; + +/** A database column resource. */ +export type DatabaseColumn = ProxyResource & { + /** The column data type. */ + columnType?: ColumnDataType; + /** The table temporal type. */ + temporalType?: TableTemporalType; + /** Whether or not the column belongs to a memory optimized table. */ + memoryOptimized?: boolean; + /** Whether or not the column is computed. */ + isComputed?: boolean; +}; + +/** A database schema resource. */ +export type DatabaseSchema = ProxyResource & {}; + +/** A database security alert policy. */ +export type DatabaseSecurityAlertPolicy = ProxyResource & { /** - * List of supported license types. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * SystemData of SecurityAlertPolicyResource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedLicenseTypes?: LicenseTypeCapability[]; + readonly systemData?: SystemData; + /** Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database. */ + state?: SecurityAlertsPolicyState; + /** Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force */ + disabledAlerts?: string[]; + /** Specifies an array of e-mail addresses to which the alert is sent. */ + emailAddresses?: string[]; + /** Specifies that the alert is sent to the account administrators. */ + emailAccountAdmins?: boolean; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. */ + storageEndpoint?: string; + /** Specifies the identifier key of the Threat Detection audit storage account. */ + storageAccountAccessKey?: string; + /** Specifies the number of days to keep in the Threat Detection audit logs. */ + retentionDays?: number; /** - * List of supported virtual cores values. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Specifies the UTC creation time of the policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedVcoresValues?: ManagedInstanceVcoresCapability[]; + readonly creationTime?: Date; +}; + +/** A database table resource. */ +export type DatabaseTable = ProxyResource & { + /** The table temporal type. */ + temporalType?: TableTemporalType; + /** Whether or not the table is memory optimized. */ + memoryOptimized?: boolean; +}; + +/** A database vulnerability assessment rule baseline. */ +export type DatabaseVulnerabilityAssessmentRuleBaseline = ProxyResource & { + /** The rule baseline result */ + baselineResults?: DatabaseVulnerabilityAssessmentRuleBaselineItem[]; +}; + +/** A database vulnerability assessment. */ +export type DatabaseVulnerabilityAssessment = ProxyResource & { + /** A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy doesn't set */ + storageContainerPath?: string; + /** A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. */ + storageContainerSasKey?: string; + /** Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. */ + storageAccountAccessKey?: string; + /** The recurring scans settings */ + recurringScans?: VulnerabilityAssessmentRecurringScansProperties; +}; + +/** A vulnerability assessment scan record. */ +export type VulnerabilityAssessmentScanRecord = ProxyResource & { /** - * Included size. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The scan ID. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly includedMaxSize?: MaxSizeCapability; + readonly scanId?: string; /** - * Storage size ranges. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The scan trigger type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedStorageSizes?: MaxSizeRangeCapability[]; + readonly triggerType?: VulnerabilityAssessmentScanTriggerType; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The scan status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly state?: VulnerabilityAssessmentScanState; /** - * The reason for the capability not being available. + * The scan start time (UTC). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} - -/** - * The managed server capability - */ -export interface ManagedInstanceEditionCapability { + readonly startTime?: Date; /** - * The managed server version name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The scan end time (UTC). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly endTime?: Date; /** - * The supported families. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The scan errors. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedFamilies?: ManagedInstanceFamilyCapability[]; + readonly errors?: VulnerabilityAssessmentScanError[]; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The scan results storage container path. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly storageContainerPath?: string; /** - * The reason for the capability not being available. + * The number of failed security checks. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} + readonly numberOfFailedSecurityChecks?: number; +}; -/** - * The managed instance capability - */ -export interface ManagedInstanceVersionCapability { +/** A database Vulnerability Assessment scan export resource. */ +export type DatabaseVulnerabilityAssessmentScansExport = ProxyResource & { /** - * The server version name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Location of the exported report (e.g. https://myStorage.blob.core.windows.net/VaScans/scans/serverName/databaseName/scan_scanId.xlsx). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly exportedReportLocation?: string; +}; + +/** User activities of a data warehouse */ +export type DataWarehouseUserActivities = ProxyResource & { /** - * The list of supported managed instance editions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Count of running and suspended queries. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedEditions?: ManagedInstanceEditionCapability[]; + readonly activeQueriesCount?: number; +}; + +/** A deleted server. */ +export type DeletedServer = ProxyResource & { /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The version of the deleted server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly version?: string; /** - * The reason for the capability not being available. + * The deletion time of the deleted server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} - -/** - * The location capability. - */ -export interface LocationCapabilities { + readonly deletionTime?: Date; /** - * The location name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The original ID of the server before deletion. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly originalId?: string; /** - * The list of supported server versions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The fully qualified domain name of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedServerVersions?: ServerVersionCapability[]; + readonly fullyQualifiedDomainName?: string; +}; + +/** A elastic pool operation. */ +export type ElasticPoolOperation = ProxyResource & { /** - * The list of supported managed instance versions. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the elastic pool the operation is being performed on. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly supportedManagedInstanceVersions?: ManagedInstanceVersionCapability[]; + readonly elasticPoolName?: string; /** - * The status of the capability. Possible values include: 'Visible', 'Available', 'Default', - * 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: CapabilityStatus; + readonly operation?: string; /** - * The reason for the capability not being available. + * The friendly name of operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - reason?: string; -} - -/** - * A database resource. - */ -export interface Database extends TrackedResource { + readonly operationFriendlyName?: string; /** - * The database SKU. - * - * The list of SKUs may vary by region and support offer. To determine the SKUs (including the - * SKU name, tier/edition, family, and capacity) that are available to your subscription in an - * Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: - * - * ```azurecli - * az sql db list-editions -l -o table - * ```` - * - * ```powershell - * Get-AzSqlServerServiceObjective -Location - * ```` + * The percentage of the operation completed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sku?: Sku; + readonly percentComplete?: number; /** - * Kind of database. This is metadata used for the Azure portal experience. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly serverName?: string; /** - * Resource that manages the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation start time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly managedBy?: string; + readonly startTime?: Date; /** - * Specifies the mode of database creation. - * - * Default: regular database creation. - * - * Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified - * as the resource ID of the source database. - * - * Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId - * must be specified as the resource ID of the existing primary database. - * - * PointInTimeRestore: Creates a database by restoring a point in time backup of an existing - * database. sourceDatabaseId must be specified as the resource ID of the existing database, and - * restorePointInTime must be specified. - * - * Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be - * specified as the recoverable database resource ID to restore. - * - * Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must - * be specified. If sourceDatabaseId is the database's original resource ID, then - * sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the - * restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. - * restorePointInTime may also be specified to restore from an earlier point in time. - * - * RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention - * vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point - * resource ID. - * - * Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse - * edition. Possible values include: 'Default', 'Copy', 'Secondary', 'PointInTimeRestore', - * 'Restore', 'Recovery', 'RestoreExternalBackup', 'RestoreExternalBackupSecondary', - * 'RestoreLongTermRetentionBackup', 'OnlineSecondary' + * The operation state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createMode?: CreateMode; + readonly state?: string; /** - * The collation of the database. + * The operation error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - collation?: string; + readonly errorCode?: number; /** - * The max size of the database expressed in bytes. + * The operation error description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxSizeBytes?: number; + readonly errorDescription?: string; /** - * The name of the sample schema to apply when creating this database. Possible values include: - * 'AdventureWorksLT', 'WideWorldImportersStd', 'WideWorldImportersFull' + * The operation error severity. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sampleName?: SampleName; + readonly errorSeverity?: number; /** - * The resource identifier of the elastic pool containing this database. + * Whether or not the error is a user error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - elasticPoolId?: string; + readonly isUserError?: boolean; /** - * The resource identifier of the source database associated with create operation of this - * database. + * The estimated completion time of the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceDatabaseId?: string; + readonly estimatedCompletionTime?: Date; /** - * The status of the database. Possible values include: 'Online', 'Restoring', 'RecoveryPending', - * 'Recovering', 'Suspect', 'Offline', 'Standby', 'Shutdown', 'EmergencyMode', 'AutoClosed', - * 'Copying', 'Creating', 'Inaccessible', 'OfflineSecondary', 'Pausing', 'Paused', 'Resuming', - * 'Scaling', 'OfflineChangingDwPerformanceTiers', 'OnlineChangingDwPerformanceTiers', 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: DatabaseStatus; + readonly description?: string; /** - * The ID of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether the operation can be cancelled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseId?: string; + readonly isCancellable?: boolean; +}; + +/** The server encryption protector. */ +export type EncryptionProtector = ProxyResource & { /** - * The creation date of the database (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Kind of encryption protector. This is metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; + readonly kind?: string; /** - * The current service level objective name of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentServiceObjectiveName?: string; + readonly location?: string; /** - * The requested service level objective name of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Subregion of the encryption protector. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedServiceObjectiveName?: string; + readonly subregion?: string; + /** The name of the server key. */ + serverKeyName?: string; + /** The encryption protector type like 'ServiceManaged', 'AzureKeyVault'. */ + serverKeyType?: ServerKeyType; /** - * The default secondary region for this database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The URI of the server key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly defaultSecondaryLocation?: string; + readonly uri?: string; /** - * Failover Group resource identifier that this database belongs to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Thumbprint of the server key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly failoverGroupId?: string; + readonly thumbprint?: string; + /** Key auto rotation opt-in flag. Either true or false. */ + autoRotationEnabled?: boolean; +}; + +/** A failover group. */ +export type FailoverGroup = ProxyResource & { /** - * Specifies the point in time (ISO8601 format) of the source database that will be restored to - * create the new database. + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorePointInTime?: Date; + readonly location?: string; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** Read-write endpoint of the failover group instance. */ + readWriteEndpoint?: FailoverGroupReadWriteEndpoint; + /** Read-only endpoint of the failover group instance. */ + readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint; /** - * Specifies the time that the database was deleted. + * Local replication role of the failover group instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceDatabaseDeletionDate?: Date; + readonly replicationRole?: FailoverGroupReplicationRole; /** - * The resource identifier of the recovery point associated with create operation of this - * database. + * Replication state of the failover group instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - recoveryServicesRecoveryPointId?: string; + readonly replicationState?: string; + /** List of partner server information for the failover group. */ + partnerServers?: PartnerInfo[]; + /** List of databases in the failover group. */ + databases?: string[]; +}; + +/** An instance failover group. */ +export type InstanceFailoverGroup = ProxyResource & { + /** Read-write endpoint of the failover group instance. */ + readWriteEndpoint?: InstanceFailoverGroupReadWriteEndpoint; + /** Read-only endpoint of the failover group instance. */ + readOnlyEndpoint?: InstanceFailoverGroupReadOnlyEndpoint; /** - * The resource identifier of the long term retention backup associated with create operation of - * this database. + * Local replication role of the failover group instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - longTermRetentionBackupResourceId?: string; + readonly replicationRole?: InstanceFailoverGroupReplicationRole; /** - * The resource identifier of the recoverable database associated with create operation of this - * database. + * Replication state of the failover group instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - recoverableDatabaseId?: string; + readonly replicationState?: string; + /** Partner region information for the failover group. */ + partnerRegions?: PartnerRegionInfo[]; + /** List of managed instance pairs in the failover group. */ + managedInstancePairs?: ManagedInstancePairInfo[]; +}; + +/** A stored credential that can be used by a job to connect to target databases. */ +export type JobCredential = ProxyResource & { + /** The credential user name. */ + username?: string; + /** The credential password. */ + password?: string; +}; + +/** An execution of a job */ +export type JobExecution = ProxyResource & { /** - * The resource identifier of the restorable dropped database associated with create operation of - * this database. + * The job version number. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorableDroppedDatabaseId?: string; + readonly jobVersion?: number; /** - * Collation of the metadata catalog. Possible values include: 'DATABASE_DEFAULT', - * 'SQL_Latin1_General_CP1_CI_AS' + * The job step name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - catalogCollation?: CatalogCollationType; + readonly stepName?: string; /** - * Whether or not this database is zone redundant, which means the replicas of this database will - * be spread across multiple availability zones. + * The job step id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - zoneRedundant?: boolean; + readonly stepId?: number; /** - * The license type to apply for this database. Possible values include: 'LicenseIncluded', - * 'BasePrice' + * The unique identifier of the job execution. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - licenseType?: DatabaseLicenseType; + readonly jobExecutionId?: string; /** - * The max log size for this database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The detailed state of the job execution. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxLogSizeBytes?: number; + readonly lifecycle?: JobExecutionLifecycle; /** - * This records the earliest start date and time that restore is available for this database - * (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The ARM provisioning state of the job execution. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly earliestRestoreDate?: Date; + readonly provisioningState?: ProvisioningState; /** - * If enabled, connections that have application intent set to readonly in their connection - * string may be routed to a readonly secondary replica. This property is only settable for - * Premium and Business Critical databases. Possible values include: 'Enabled', 'Disabled' + * The time that the job execution was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readScale?: DatabaseReadScale; + readonly createTime?: Date; /** - * The number of readonly secondary replicas associated with the database to which readonly - * application intent connections may be routed. This property is only settable for Hyperscale - * edition databases. + * The time that the job execution started. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readReplicaCount?: number; + readonly startTime?: Date; /** - * The name and tier of the SKU. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time that the job execution completed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentSku?: Sku; + readonly endTime?: Date; + /** Number of times the job execution has been attempted. */ + currentAttempts?: number; /** - * Time in minutes after which database is automatically paused. A value of -1 means that - * automatic pause is disabled + * Start time of the current attempt. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - autoPauseDelay?: number; + readonly currentAttemptStartTime?: Date; /** - * Minimal capacity that database will always have allocated, if not paused + * The last status or error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minCapacity?: number; + readonly lastMessage?: string; /** - * The date when database was paused by user configuration or action (ISO8601 format). Null if - * the database is ready. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The target that this execution is executed on. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly pausedDate?: Date; + readonly target?: JobExecutionTarget; +}; + +/** A job. */ +export type Job = ProxyResource & { + /** User-defined description of the job. */ + description?: string; /** - * The date when database was resumed by user action or database login (ISO8601 format). Null if - * the database is paused. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The job version number. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resumedDate?: Date; -} + readonly version?: number; + /** Schedule properties of the job. */ + schedule?: JobSchedule; +}; -/** - * A database resource. - */ -export interface DatabaseUpdate { +/** A job step. */ +export type JobStep = ProxyResource & { + /** The job step's index within the job. If not specified when creating the job step, it will be created as the last step. If not specified when updating the job step, the step id is not modified. */ + stepId?: number; + /** The resource ID of the target group that the job step will be executed on. */ + targetGroup?: string; + /** The resource ID of the job credential that will be used to connect to the targets. */ + credential?: string; + /** The action payload of the job step. */ + action?: JobStepAction; + /** Output destination properties of the job step. */ + output?: JobStepOutput; + /** Execution options for the job step. */ + executionOptions?: JobStepExecutionOptions; +}; + +/** A group of job targets. */ +export type JobTargetGroup = ProxyResource & { + /** Members of the target group. */ + members?: JobTarget[]; +}; + +/** A job version. */ +export type JobVersion = ProxyResource & {}; + +/** A LongTermRetentionBackup operation result resource. */ +export type LongTermRetentionBackupOperationResult = ProxyResource & { /** - * The name and tier of the SKU. + * Request Id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sku?: Sku; + readonly requestId?: string; /** - * Specifies the mode of database creation. - * - * Default: regular database creation. - * - * Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified - * as the resource ID of the source database. - * - * Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId - * must be specified as the resource ID of the existing primary database. - * - * PointInTimeRestore: Creates a database by restoring a point in time backup of an existing - * database. sourceDatabaseId must be specified as the resource ID of the existing database, and - * restorePointInTime must be specified. - * - * Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be - * specified as the recoverable database resource ID to restore. - * - * Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must - * be specified. If sourceDatabaseId is the database's original resource ID, then - * sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the - * restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. - * restorePointInTime may also be specified to restore from an earlier point in time. - * - * RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention - * vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point - * resource ID. - * - * Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse - * edition. Possible values include: 'Default', 'Copy', 'Secondary', 'PointInTimeRestore', - * 'Restore', 'Recovery', 'RestoreExternalBackup', 'RestoreExternalBackupSecondary', - * 'RestoreLongTermRetentionBackup', 'OnlineSecondary' + * Operation type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createMode?: CreateMode; + readonly operationType?: string; /** - * The collation of the database. + * Source backup resource id + * NOTE: This property will not be serialized. It can only be populated by the server. */ - collation?: string; + readonly fromBackupResourceId?: string; /** - * The max size of the database expressed in bytes. + * Target backup resource id + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxSizeBytes?: number; + readonly toBackupResourceId?: string; /** - * The name of the sample schema to apply when creating this database. Possible values include: - * 'AdventureWorksLT', 'WideWorldImportersStd', 'WideWorldImportersFull' + * The storage redundancy type of the copied backup + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sampleName?: SampleName; + readonly targetBackupStorageRedundancy?: BackupStorageRedundancy; /** - * The resource identifier of the elastic pool containing this database. + * Operation status + * NOTE: This property will not be serialized. It can only be populated by the server. */ - elasticPoolId?: string; + readonly status?: string; /** - * The resource identifier of the source database associated with create operation of this - * database. + * Progress message + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceDatabaseId?: string; + readonly message?: string; +}; + +/** A long term retention backup. */ +export type LongTermRetentionBackup = ProxyResource & { /** - * The status of the database. Possible values include: 'Online', 'Restoring', 'RecoveryPending', - * 'Recovering', 'Suspect', 'Offline', 'Standby', 'Shutdown', 'EmergencyMode', 'AutoClosed', - * 'Copying', 'Creating', 'Inaccessible', 'OfflineSecondary', 'Pausing', 'Paused', 'Resuming', - * 'Scaling', 'OfflineChangingDwPerformanceTiers', 'OnlineChangingDwPerformanceTiers', 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The server name that the backup database belong to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: DatabaseStatus; + readonly serverName?: string; /** - * The ID of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The create time of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly databaseId?: string; + readonly serverCreateTime?: Date; /** - * The creation date of the database (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the database the backup belong to + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; + readonly databaseName?: string; + /** + * The delete time of the database + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly databaseDeletionTime?: Date; /** - * The current service level objective name of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the backup was taken + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentServiceObjectiveName?: string; + readonly backupTime?: Date; /** - * The requested service level objective name of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the long term retention backup will expire. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedServiceObjectiveName?: string; + readonly backupExpirationTime?: Date; /** - * The default secondary region for this database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The storage redundancy type of the backup + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly defaultSecondaryLocation?: string; + readonly backupStorageRedundancy?: BackupStorageRedundancy; + /** The storage redundancy type of the backup */ + requestedBackupStorageRedundancy?: BackupStorageRedundancy; +}; + +/** A long term retention backup for a managed database. */ +export type ManagedInstanceLongTermRetentionBackup = ProxyResource & { /** - * Failover Group resource identifier that this database belongs to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The managed instance that the backup database belongs to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly failoverGroupId?: string; + readonly managedInstanceName?: string; /** - * Specifies the point in time (ISO8601 format) of the source database that will be restored to - * create the new database. + * The create time of the instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorePointInTime?: Date; + readonly managedInstanceCreateTime?: Date; /** - * Specifies the time that the database was deleted. + * The name of the database the backup belong to + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceDatabaseDeletionDate?: Date; + readonly databaseName?: string; /** - * The resource identifier of the recovery point associated with create operation of this - * database. + * The delete time of the database + * NOTE: This property will not be serialized. It can only be populated by the server. */ - recoveryServicesRecoveryPointId?: string; + readonly databaseDeletionTime?: Date; /** - * The resource identifier of the long term retention backup associated with create operation of - * this database. + * The time the backup was taken + * NOTE: This property will not be serialized. It can only be populated by the server. */ - longTermRetentionBackupResourceId?: string; + readonly backupTime?: Date; /** - * The resource identifier of the recoverable database associated with create operation of this - * database. + * The time the long term retention backup will expire. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - recoverableDatabaseId?: string; + readonly backupExpirationTime?: Date; /** - * The resource identifier of the restorable dropped database associated with create operation of - * this database. + * The storage redundancy type of the backup + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorableDroppedDatabaseId?: string; + readonly backupStorageRedundancy?: BackupStorageRedundancy; +}; + +/** A long term retention policy. */ +export type LongTermRetentionPolicy = ProxyResource & { + /** The weekly retention policy for an LTR backup in an ISO 8601 format. */ + weeklyRetention?: string; + /** The monthly retention policy for an LTR backup in an ISO 8601 format. */ + monthlyRetention?: string; + /** The yearly retention policy for an LTR backup in an ISO 8601 format. */ + yearlyRetention?: string; + /** The week of year to take the yearly backup in an ISO 8601 format. */ + weekOfYear?: number; +}; + +/** Maintenance window options. */ +export type MaintenanceWindowOptions = ProxyResource & { + /** Whether maintenance windows are enabled for the database. */ + isEnabled?: boolean; + /** Available maintenance cycles e.g. {Saturday, 0, 48*60}, {Wednesday, 0, 24*60}. */ + maintenanceWindowCycles?: MaintenanceWindowTimeRange[]; + /** Minimum duration of maintenance window. */ + minDurationInMinutes?: number; + /** Default duration for maintenance window. */ + defaultDurationInMinutes?: number; + /** Minimum number of maintenance windows cycles to be set on the database. */ + minCycles?: number; + /** Time granularity in minutes for maintenance windows. */ + timeGranularityInMinutes?: number; + /** Whether we allow multiple maintenance windows per cycle. */ + allowMultipleMaintenanceWindowsPerCycle?: boolean; +}; + +/** Maintenance windows. */ +export type MaintenanceWindows = ProxyResource & { + timeRanges?: MaintenanceWindowTimeRange[]; +}; + +/** A short term retention policy. */ +export type ManagedBackupShortTermRetentionPolicy = ProxyResource & { + /** The backup retention period in days. This is how many days Point-in-Time Restore will be supported. */ + retentionDays?: number; +}; + +/** Database query. */ +export type ManagedInstanceQuery = ProxyResource & { + /** Query text. */ + queryText?: string; +}; + +export type QueryStatistics = ProxyResource & { /** - * Collation of the metadata catalog. Possible values include: 'DATABASE_DEFAULT', - * 'SQL_Latin1_General_CP1_CI_AS' + * Database name of the database in which this query was executed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - catalogCollation?: CatalogCollationType; + readonly databaseName?: string; /** - * Whether or not this database is zone redundant, which means the replicas of this database will - * be spread across multiple availability zones. + * Unique query id (unique within one database). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - zoneRedundant?: boolean; + readonly queryId?: string; /** - * The license type to apply for this database. Possible values include: 'LicenseIncluded', - * 'BasePrice' + * The start time for the metric (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - licenseType?: DatabaseLicenseType; + readonly startTime?: string; /** - * The max log size for this database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The end time for the metric (ISO-8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly maxLogSizeBytes?: number; + readonly endTime?: string; + /** List of intervals with appropriate metric data */ + intervals?: QueryMetricInterval[]; +}; + +/** A managed database restore details. */ +export type ManagedDatabaseRestoreDetailsResult = ProxyResource & { /** - * This records the earliest start date and time that restore is available for this database - * (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Restore status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly earliestRestoreDate?: Date; + readonly status?: string; /** - * If enabled, connections that have application intent set to readonly in their connection - * string may be routed to a readonly secondary replica. This property is only settable for - * Premium and Business Critical databases. Possible values include: 'Enabled', 'Disabled' + * Current restoring file name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readScale?: DatabaseReadScale; + readonly currentRestoringFileName?: string; /** - * The number of readonly secondary replicas associated with the database to which readonly - * application intent connections may be routed. This property is only settable for Hyperscale - * edition databases. + * Last restored file name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readReplicaCount?: number; + readonly lastRestoredFileName?: string; /** - * The name and tier of the SKU. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Last restored file time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentSku?: Sku; + readonly lastRestoredFileTime?: Date; /** - * Time in minutes after which database is automatically paused. A value of -1 means that - * automatic pause is disabled + * Percent completed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - autoPauseDelay?: number; + readonly percentCompleted?: number; /** - * Minimal capacity that database will always have allocated, if not paused + * List of unrestorable files. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minCapacity?: number; + readonly unrestorableFiles?: string[]; /** - * The date when database was paused by user configuration or action (ISO8601 format). Null if - * the database is ready. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Number of files detected. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly pausedDate?: Date; + readonly numberOfFilesDetected?: number; /** - * The date when database was resumed by user action or database login (ISO8601 format). Null if - * the database is paused. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Last uploaded file name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resumedDate?: Date; + readonly lastUploadedFileName?: string; /** - * Resource tags. + * Last uploaded file time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; -} - -/** - * Contains the information necessary to perform a resource move (rename). - */ -export interface ResourceMoveDefinition { + readonly lastUploadedFileTime?: Date; /** - * The target ID for the resource + * The reason why restore is in Blocked state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - id: string; -} + readonly blockReason?: string; +}; -/** - * Per database settings of an elastic pool. - */ -export interface ElasticPoolPerDatabaseSettings { +/** A managed database security alert policy. */ +export type ManagedDatabaseSecurityAlertPolicy = ProxyResource & { + /** Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database. */ + state?: SecurityAlertPolicyState; + /** Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force */ + disabledAlerts?: string[]; + /** Specifies an array of e-mail addresses to which the alert is sent. */ + emailAddresses?: string[]; + /** Specifies that the alert is sent to the account administrators. */ + emailAccountAdmins?: boolean; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. */ + storageEndpoint?: string; + /** Specifies the identifier key of the Threat Detection audit storage account. */ + storageAccountAccessKey?: string; + /** Specifies the number of days to keep in the Threat Detection audit logs. */ + retentionDays?: number; /** - * The minimum capacity all databases are guaranteed. + * Specifies the UTC creation time of the policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - minCapacity?: number; + readonly creationTime?: Date; +}; + +/** A security event. */ +export type SecurityEvent = ProxyResource & { /** - * The maximum capacity any one database can consume. + * The time when the security event occurred. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxCapacity?: number; -} - -/** - * An elastic pool. - */ -export interface ElasticPool extends TrackedResource { + readonly eventTime?: Date; /** - * The elastic pool SKU. - * - * The list of SKUs may vary by region and support offer. To determine the SKUs (including the - * SKU name, tier/edition, family, and capacity) that are available to your subscription in an - * Azure region, use the `Capabilities_ListByLocation` REST API or the following command: - * - * ```azurecli - * az sql elastic-pool list-editions -l -o table - * ```` + * The type of the security event. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sku?: Sku; + readonly securityEventType?: SecurityEventType; /** - * Kind of elastic pool. This is metadata used for the Azure portal experience. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The subscription name + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly subscription?: string; /** - * The state of the elastic pool. Possible values include: 'Creating', 'Ready', 'Disabled' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The server name + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: ElasticPoolState; + readonly server?: string; /** - * The creation date of the elastic pool (ISO8601 format). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The database name + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; + readonly database?: string; /** - * The storage limit for the database elastic pool in bytes. + * The IP address of the client who executed the statement. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxSizeBytes?: number; + readonly clientIp?: string; /** - * The per database settings for the elastic pool. + * The application used to execute the statement. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - perDatabaseSettings?: ElasticPoolPerDatabaseSettings; + readonly applicationName?: string; /** - * Whether or not this elastic pool is zone redundant, which means the replicas of this elastic - * pool will be spread across multiple availability zones. + * The principal user who executed the statement + * NOTE: This property will not be serialized. It can only be populated by the server. */ - zoneRedundant?: boolean; + readonly principalName?: string; /** - * The license type to apply for this elastic pool. Possible values include: 'LicenseIncluded', - * 'BasePrice' + * The sql injection additional properties, populated only if the type of the security event is sql injection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - licenseType?: ElasticPoolLicenseType; -} + readonly securityEventSqlInjectionAdditionalProperties?: SecurityEventSqlInjectionAdditionalProperties; +}; -/** - * An elastic pool update. - */ -export interface ElasticPoolUpdate { - sku?: Sku; +/** A sensitivity label. */ +export type SensitivityLabel = ProxyResource & { /** - * The storage limit for the database elastic pool in bytes. + * Resource that manages the sensitivity label. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - maxSizeBytes?: number; + readonly managedBy?: string; /** - * The per database settings for the elastic pool. + * The schema name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - perDatabaseSettings?: ElasticPoolPerDatabaseSettings; + readonly schemaName?: string; /** - * Whether or not this elastic pool is zone redundant, which means the replicas of this elastic - * pool will be spread across multiple availability zones. + * The table name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - zoneRedundant?: boolean; + readonly tableName?: string; /** - * The license type to apply for this elastic pool. Possible values include: 'LicenseIncluded', - * 'BasePrice' + * The column name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - licenseType?: ElasticPoolLicenseType; + readonly columnName?: string; + /** The label name. */ + labelName?: string; + /** The label ID. */ + labelId?: string; + /** The information type. */ + informationType?: string; + /** The information type ID. */ + informationTypeId?: string; /** - * Resource tags. + * Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; -} + readonly isDisabled?: boolean; + rank?: SensitivityLabelRank; +}; + +/** A sensitivity label update operation. */ +export type SensitivityLabelUpdate = ProxyResource & { + op?: SensitivityLabelUpdateKind; + /** Schema name of the column to update. */ + schema?: string; + /** Table name of the column to update. */ + table?: string; + /** Column name to update. */ + column?: string; + /** The sensitivity label information to apply on a column. */ + sensitivityLabel?: SensitivityLabel; +}; + +/** A recommended sensitivity label update operation. */ +export type RecommendedSensitivityLabelUpdate = ProxyResource & { + op?: RecommendedSensitivityLabelUpdateKind; + /** Schema name of the column to update. */ + schema?: string; + /** Table name of the column to update. */ + table?: string; + /** Column name to update. */ + column?: string; +}; + +/** A managed database transparent data encryption state. */ +export type ManagedTransparentDataEncryption = ProxyResource & { + /** Specifies the state of the transparent data encryption. */ + state?: TransparentDataEncryptionState; +}; + +/** An Azure SQL managed instance administrator. */ +export type ManagedInstanceAdministrator = ProxyResource & { + /** Type of the managed instance administrator. */ + administratorType?: ManagedInstanceAdministratorType; + /** Login name of the managed instance administrator. */ + login?: string; + /** SID (object ID) of the managed instance administrator. */ + sid?: string; + /** Tenant ID of the managed instance administrator. */ + tenantId?: string; +}; -/** - * Properties of a vulnerability assessment scan error. - */ -export interface VulnerabilityAssessmentScanError { - /** - * The error code. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly code?: string; +/** Azure Active Directory only authentication. */ +export type ManagedInstanceAzureADOnlyAuthentication = ProxyResource & { + /** Azure Active Directory only Authentication enabled. */ + azureADOnlyAuthentication?: boolean; +}; + +/** The managed instance encryption protector. */ +export type ManagedInstanceEncryptionProtector = ProxyResource & { /** - * The error message. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Kind of encryption protector. This is metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; -} - -/** - * A vulnerability assessment scan record. - */ -export interface VulnerabilityAssessmentScanRecord extends ProxyResource { + readonly kind?: string; + /** The name of the managed instance key. */ + serverKeyName?: string; + /** The encryption protector type like 'ServiceManaged', 'AzureKeyVault'. */ + serverKeyType?: ServerKeyType; /** - * The scan ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The URI of the server key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly scanId?: string; + readonly uri?: string; /** - * The scan trigger type. Possible values include: 'OnDemand', 'Recurring' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Thumbprint of the server key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly triggerType?: VulnerabilityAssessmentScanTriggerType; + readonly thumbprint?: string; + /** Key auto rotation opt-in flag. Either true or false. */ + autoRotationEnabled?: boolean; +}; + +/** A managed instance key. */ +export type ManagedInstanceKey = ProxyResource & { /** - * The scan status. Possible values include: 'Passed', 'Failed', 'FailedToRun', 'InProgress' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Kind of encryption protector. This is metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: VulnerabilityAssessmentScanState; + readonly kind?: string; + /** The key type like 'ServiceManaged', 'AzureKeyVault'. */ + serverKeyType?: ServerKeyType; + /** The URI of the key. If the ServerKeyType is AzureKeyVault, then the URI is required. */ + uri?: string; /** - * The scan start time (UTC). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Thumbprint of the key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly startTime?: Date; + readonly thumbprint?: string; /** - * The scan end time (UTC). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The key creation date. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly endTime?: Date; + readonly creationDate?: Date; /** - * The scan errors. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Key auto rotation opt-in flag. Either true or false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly errors?: VulnerabilityAssessmentScanError[]; + readonly autoRotationEnabled?: boolean; +}; + +/** A long term retention policy. */ +export type ManagedInstanceLongTermRetentionPolicy = ProxyResource & { + /** The weekly retention policy for an LTR backup in an ISO 8601 format. */ + weeklyRetention?: string; + /** The monthly retention policy for an LTR backup in an ISO 8601 format. */ + monthlyRetention?: string; + /** The yearly retention policy for an LTR backup in an ISO 8601 format. */ + yearlyRetention?: string; + /** The week of year to take the yearly backup in an ISO 8601 format. */ + weekOfYear?: number; +}; + +/** A managed instance operation. */ +export type ManagedInstanceOperation = ProxyResource & { /** - * The scan results storage container path. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the managed instance the operation is being performed on. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly storageContainerPath?: string; + readonly managedInstanceName?: string; /** - * The number of failed security checks. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly numberOfFailedSecurityChecks?: number; -} - -/** - * A database Vulnerability Assessment scan export resource. - */ -export interface DatabaseVulnerabilityAssessmentScansExport extends ProxyResource { + readonly operation?: string; /** - * Location of the exported report (e.g. - * https://myStorage.blob.core.windows.net/VaScans/scans/serverName/databaseName/scan_scanId.xlsx). - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The friendly name of operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly exportedReportLocation?: string; -} - -/** - * Read-write endpoint of the failover group instance. - */ -export interface InstanceFailoverGroupReadWriteEndpoint { + readonly operationFriendlyName?: string; /** - * Failover policy of the read-write endpoint for the failover group. If failoverPolicy is - * Automatic then failoverWithDataLossGracePeriodMinutes is required. Possible values include: - * 'Manual', 'Automatic' + * The percentage of the operation completed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - failoverPolicy: ReadWriteEndpointFailoverPolicy; + readonly percentComplete?: number; /** - * Grace period before failover with data loss is attempted for the read-write endpoint. If - * failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. + * The operation start time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - failoverWithDataLossGracePeriodMinutes?: number; -} - -/** - * Read-only endpoint of the failover group instance. - */ -export interface InstanceFailoverGroupReadOnlyEndpoint { + readonly startTime?: Date; /** - * Failover policy of the read-only endpoint for the failover group. Possible values include: - * 'Disabled', 'Enabled' + * The operation state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - failoverPolicy?: ReadOnlyEndpointFailoverPolicy; -} - -/** - * Partner region information for the failover group. - */ -export interface PartnerRegionInfo { + readonly state?: ManagementOperationState; /** - * Geo location of the partner managed instances. + * The operation error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - location?: string; + readonly errorCode?: number; /** - * Replication role of the partner managed instances. Possible values include: 'Primary', - * 'Secondary' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation error description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly replicationRole?: InstanceFailoverGroupReplicationRole; -} - -/** - * Pairs of Managed Instances in the failover group. - */ -export interface ManagedInstancePairInfo { + readonly errorDescription?: string; /** - * Id of Primary Managed Instance in pair. + * The operation error severity. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - primaryManagedInstanceId?: string; + readonly errorSeverity?: number; /** - * Id of Partner Managed Instance in pair. + * Whether or not the error is a user error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - partnerManagedInstanceId?: string; -} - -/** - * An instance failover group. - */ -export interface InstanceFailoverGroup extends ProxyResource { + readonly isUserError?: boolean; /** - * Read-write endpoint of the failover group instance. + * The estimated completion time of the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readWriteEndpoint: InstanceFailoverGroupReadWriteEndpoint; + readonly estimatedCompletionTime?: Date; /** - * Read-only endpoint of the failover group instance. + * The operation description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readOnlyEndpoint?: InstanceFailoverGroupReadOnlyEndpoint; + readonly description?: string; /** - * Local replication role of the failover group instance. Possible values include: 'Primary', - * 'Secondary' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether the operation can be cancelled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly replicationRole?: InstanceFailoverGroupReplicationRole; + readonly isCancellable?: boolean; /** - * Replication state of the failover group instance. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation parameters. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly replicationState?: string; + readonly operationParameters?: ManagedInstanceOperationParametersPair; /** - * Partner region information for the failover group. + * The operation steps. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - partnerRegions: PartnerRegionInfo[]; + readonly operationSteps?: ManagedInstanceOperationSteps; +}; + +/** A private endpoint connection */ +export type ManagedInstancePrivateEndpointConnection = ProxyResource & { + /** Private endpoint which the connection belongs to. */ + privateEndpoint?: ManagedInstancePrivateEndpointProperty; + /** Connection State of the Private Endpoint Connection. */ + privateLinkServiceConnectionState?: ManagedInstancePrivateLinkServiceConnectionStateProperty; /** - * List of managed instance pairs in the failover group. + * State of the Private Endpoint Connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - managedInstancePairs: ManagedInstancePairInfo[]; -} + readonly provisioningState?: string; +}; -/** - * A short term retention policy. - */ -export interface BackupShortTermRetentionPolicy extends ProxyResource { +/** A private link resource */ +export type ManagedInstancePrivateLink = ProxyResource & { /** - * The backup retention period in days. This is how many days Point-in-Time Restore will be - * supported. + * The private link resource group id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - retentionDays?: number; -} + readonly properties?: ManagedInstancePrivateLinkProperties; +}; -/** - * A TDE certificate that can be uploaded into a server. - */ -export interface TdeCertificate extends ProxyResource { +/** A TDE certificate that can be uploaded into a server. */ +export type TdeCertificate = ProxyResource & { + /** The base64 encoded certificate private blob. */ + privateBlob?: string; + /** The certificate password. */ + certPassword?: string; +}; + +/** A managed instance vulnerability assessment. */ +export type ManagedInstanceVulnerabilityAssessment = ProxyResource & { + /** A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). */ + storageContainerPath?: string; + /** A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall */ + storageContainerSasKey?: string; + /** Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall */ + storageAccountAccessKey?: string; + /** The recurring scans settings */ + recurringScans?: VulnerabilityAssessmentRecurringScansProperties; +}; + +/** A managed server security alert policy. */ +export type ManagedServerSecurityAlertPolicy = ProxyResource & { /** - * The base64 encoded certificate private blob. + * SystemData of SecurityAlertPolicyResource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - privateBlob: string; + readonly systemData?: SystemData; + /** Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database. */ + state?: SecurityAlertsPolicyState; + /** Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force */ + disabledAlerts?: string[]; + /** Specifies an array of e-mail addresses to which the alert is sent. */ + emailAddresses?: string[]; + /** Specifies that the alert is sent to the account administrators. */ + emailAccountAdmins?: boolean; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. */ + storageEndpoint?: string; + /** Specifies the identifier key of the Threat Detection audit storage account. */ + storageAccountAccessKey?: string; + /** Specifies the number of days to keep in the Threat Detection audit logs. */ + retentionDays?: number; /** - * The certificate password. + * Specifies the UTC creation time of the policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - certPassword?: string; -} + readonly creationTime?: Date; +}; -/** - * A managed instance key. - */ -export interface ManagedInstanceKey extends ProxyResource { +/** Operations health status in a location. */ +export type OperationsHealth = ProxyResource & { /** - * Kind of encryption protector. This is metadata used for the Azure portal experience. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Operation name for the service + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly namePropertiesName?: string; /** - * The key type like 'ServiceManaged', 'AzureKeyVault'. Possible values include: - * 'ServiceManaged', 'AzureKeyVault' + * Operation health status of the service. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverKeyType: ServerKeyType; + readonly health?: string; /** - * The URI of the key. If the ServerKeyType is AzureKeyVault, then the URI is required. + * Health status description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - uri?: string; + readonly description?: string; +}; + +/** A private endpoint connection */ +export type PrivateEndpointConnection = ProxyResource & { + /** Private endpoint which the connection belongs to. */ + privateEndpoint?: PrivateEndpointProperty; + /** Connection state of the private endpoint connection. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty; /** - * Thumbprint of the key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * State of the private endpoint connection. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly thumbprint?: string; + readonly provisioningState?: PrivateEndpointProvisioningState; +}; + +/** A private link resource */ +export type PrivateLinkResource = ProxyResource & { /** - * The key creation date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The private link resource group id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; -} + readonly properties?: PrivateLinkResourceProperties; +}; -/** - * The managed instance encryption protector. - */ -export interface ManagedInstanceEncryptionProtector extends ProxyResource { +/** A recoverable managed database resource. */ +export type RecoverableManagedDatabase = ProxyResource & { /** - * Kind of encryption protector. This is metadata used for the Azure portal experience. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The last available backup date. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly kind?: string; + readonly lastAvailableBackupDate?: string; +}; + +/** Database restore points. */ +export type RestorePoint = ProxyResource & { /** - * The name of the managed instance key. + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverKeyName?: string; + readonly location?: string; /** - * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'. Possible values include: - * 'ServiceManaged', 'AzureKeyVault' + * The type of restore point + * NOTE: This property will not be serialized. It can only be populated by the server. */ - serverKeyType: ServerKeyType; + readonly restorePointType?: RestorePointType; /** - * The URI of the server key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The earliest time to which this database can be restored + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly uri?: string; + readonly earliestRestoreDate?: Date; /** - * Thumbprint of the server key. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time the backup was taken + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly thumbprint?: string; -} - -/** - * A recoverable managed database resource. - */ -export interface RecoverableManagedDatabase extends ProxyResource { + readonly restorePointCreationDate?: Date; /** - * The last available backup date. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The label of restore point for backup request by user + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastAvailableBackupDate?: string; -} + readonly restorePointLabel?: string; +}; -/** - * A managed instance vulnerability assessment. - */ -export interface ManagedInstanceVulnerabilityAssessment extends ProxyResource { +/** Server-level Automatic Tuning. */ +export type ServerAutomaticTuning = ProxyResource & { + /** Automatic tuning desired state. */ + desiredState?: AutomaticTuningServerMode; /** - * A blob storage container path to hold the scan results (e.g. - * https://myStorage.blob.core.windows.net/VaScans/). + * Automatic tuning actual state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerPath: string; + readonly actualState?: AutomaticTuningServerMode; + /** Automatic tuning options definition. */ + options?: { [propertyName: string]: AutomaticTuningServerOptions }; +}; + +/** Azure Active Directory administrator. */ +export type ServerAzureADAdministrator = ProxyResource & { + /** Type of the sever administrator. */ + administratorType?: AdministratorType; + /** Login name of the server administrator. */ + login?: string; + /** SID (object ID) of the server administrator. */ + sid?: string; + /** Tenant ID of the administrator. */ + tenantId?: string; /** - * A shared access signature (SAS Key) that has read and write access to the blob container - * specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, - * StorageContainerSasKey is required. + * Azure Active Directory only Authentication enabled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerSasKey?: string; + readonly azureADOnlyAuthentication?: boolean; +}; + +/** Azure Active Directory only authentication. */ +export type ServerAzureADOnlyAuthentication = ProxyResource & { + /** Azure Active Directory only Authentication enabled. */ + azureADOnlyAuthentication?: boolean; +}; + +/** A server DevOps auditing settings. */ +export type ServerDevOpsAuditingSettings = ProxyResource & { /** - * Specifies the identifier key of the storage account for vulnerability assessment scan results. - * If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. + * SystemData of ServerDevOpsAuditSettingsResource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly systemData?: SystemData; /** - * The recurring scans settings + * Specifies whether DevOps audit events are sent to Azure Monitor. + * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + * + * When using REST API to configure DevOps audit, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should be also created. + * + * Diagnostic Settings URI format: + * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + * + * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + * */ - recurringScans?: VulnerabilityAssessmentRecurringScansProperties; -} - -/** - * A server vulnerability assessment. - */ -export interface ServerVulnerabilityAssessment extends ProxyResource { + isAzureMonitorTargetEnabled?: boolean; + /** Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. */ + state?: BlobAuditingPolicyState; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. */ + storageEndpoint?: string; /** - * A blob storage container path to hold the scan results (e.g. - * https://myStorage.blob.core.windows.net/VaScans/). + * Specifies the identifier key of the auditing storage account. + * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage. + * Prerequisites for using managed identity authentication: + * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity. + * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355) */ - storageContainerPath: string; + storageAccountAccessKey?: string; + /** Specifies the blob storage subscription Id. */ + storageAccountSubscriptionId?: string; +}; + +/** A server DNS alias. */ +export type ServerDnsAlias = ProxyResource & { /** - * A shared access signature (SAS Key) that has read and write access to the blob container - * specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, - * StorageContainerSasKey is required. + * The fully qualified DNS record for alias + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerSasKey?: string; + readonly azureDnsRecord?: string; +}; + +/** A server key. */ +export type ServerKey = ProxyResource & { /** - * Specifies the identifier key of the storage account for vulnerability assessment scan results. - * If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. + * Kind of encryption protector. This is metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageAccountAccessKey?: string; + readonly kind?: string; /** - * The recurring scans settings + * Resource location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - recurringScans?: VulnerabilityAssessmentRecurringScansProperties; -} - -/** - * An Azure SQL instance pool. - */ -export interface InstancePool extends TrackedResource { + readonly location?: string; /** - * The name and tier of the SKU. + * Subregion of the server key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sku?: Sku; + readonly subregion?: string; + /** The server key type like 'ServiceManaged', 'AzureKeyVault'. */ + serverKeyType?: ServerKeyType; + /** The URI of the server key. If the ServerKeyType is AzureKeyVault, then the URI is required. */ + uri?: string; /** - * Resource ID of the subnet to place this instance pool in. + * Thumbprint of the server key. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - subnetId: string; + readonly thumbprint?: string; /** - * Count of vCores belonging to this instance pool. + * The server key creation date. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - vCores: number; + readonly creationDate?: Date; /** - * The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) - * and 'BasePrice' (without SQL license price). Possible values include: 'LicenseIncluded', - * 'BasePrice' + * Key auto rotation opt-in flag. Either true or false. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - licenseType: InstancePoolLicenseType; -} + readonly autoRotationEnabled?: boolean; +}; -/** - * An update to an Instance pool. - */ -export interface InstancePoolUpdate { +/** A server operation. */ +export type ServerOperation = ProxyResource & { /** - * Resource tags. + * The name of operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; -} - -/** - * ARM Usage Name - */ -export interface Name { + readonly operation?: string; /** - * Usage name value + * The friendly name of operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - value?: string; + readonly operationFriendlyName?: string; /** - * Usage name localized value. + * The percentage of the operation completed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - localizedValue?: string; -} - -/** - * ARM usage. - */ -export interface Usage { + readonly percentComplete?: number; /** - * Resource ID. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly serverName?: string; /** - * Resource name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation start time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: Name; + readonly startTime?: Date; /** - * Resource type. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly state?: ManagementOperationState; /** - * Usage unit. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unit?: string; + readonly errorCode?: number; /** - * Usage current value. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation error description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentValue?: number; + readonly errorDescription?: string; /** - * Usage limit. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation error severity. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly limit?: number; + readonly errorSeverity?: number; /** - * Usage requested limit. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Whether or not the error is a user error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestedLimit?: number; -} - -/** - * An Azure SQL managed instance. - */ -export interface ManagedInstance extends TrackedResource { + readonly isUserError?: boolean; /** - * The Azure Active Directory identity of the managed instance. + * The estimated completion time of the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - identity?: ResourceIdentity; + readonly estimatedCompletionTime?: Date; /** - * Managed instance SKU. Allowed values for sku.name: GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5 + * The operation description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sku?: Sku; + readonly description?: string; /** - * Specifies the mode of database creation. - * - * Default: Regular instance creation. - * - * Restore: Creates an instance by restoring a set of backups to specific point in time. - * RestorePointInTime and SourceManagedInstanceId must be specified. Possible values include: - * 'Default', 'PointInTimeRestore' + * Whether the operation can be cancelled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - managedInstanceCreateMode?: ManagedServerCreateMode; + readonly isCancellable?: boolean; +}; + +/** A server security alert policy. */ +export type ServerSecurityAlertPolicy = ProxyResource & { /** - * The fully qualified domain name of the managed instance. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * SystemData of SecurityAlertPolicyResource. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly fullyQualifiedDomainName?: string; + readonly systemData?: SystemData; + /** Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database. */ + state?: SecurityAlertsPolicyState; + /** Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force */ + disabledAlerts?: string[]; + /** Specifies an array of e-mail addresses to which the alert is sent. */ + emailAddresses?: string[]; + /** Specifies that the alert is sent to the account administrators. */ + emailAccountAdmins?: boolean; + /** Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. */ + storageEndpoint?: string; + /** Specifies the identifier key of the Threat Detection audit storage account. */ + storageAccountAccessKey?: string; + /** Specifies the number of days to keep in the Threat Detection audit logs. */ + retentionDays?: number; /** - * Administrator username for the managed instance. Can only be specified when the managed - * instance is being created (and is required for creation). + * Specifies the UTC creation time of the policy. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLogin?: string; + readonly creationTime?: Date; +}; + +/** A server trust group. */ +export type ServerTrustGroup = ProxyResource & { + /** Group members information for the server trust group. */ + groupMembers?: ServerInfo[]; + /** Trust scope of the server trust group. */ + trustScopes?: ServerTrustGroupPropertiesTrustScopesItem[]; +}; + +/** A server vulnerability assessment. */ +export type ServerVulnerabilityAssessment = ProxyResource & { + /** A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). */ + storageContainerPath?: string; + /** A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall */ + storageContainerSasKey?: string; + /** Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall */ + storageAccountAccessKey?: string; + /** The recurring scans settings */ + recurringScans?: VulnerabilityAssessmentRecurringScansProperties; +}; + +/** A recoverable managed database resource. */ +export type SqlAgentConfiguration = ProxyResource & { + /** The state of Sql Agent. */ + state?: SqlAgentConfigurationPropertiesState; +}; + +/** Usage Metric of a Subscription in a Location. */ +export type SubscriptionUsage = ProxyResource & { /** - * The administrator login password (required for managed instance creation). + * User-readable name of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLoginPassword?: string; + readonly displayName?: string; /** - * Subnet resource ID for the managed instance. + * Current value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - subnetId?: string; + readonly currentValue?: number; /** - * The state of the managed instance. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Boundary value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: string; + readonly limit?: number; /** - * The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL - * license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses). Possible - * values include: 'LicenseIncluded', 'BasePrice' + * Unit of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - licenseType?: ManagedInstanceLicenseType; + readonly unit?: string; +}; + +/** An Azure SQL Database sync agent. */ +export type SyncAgent = ProxyResource & { /** - * The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80. + * Name of the sync agent. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - vCores?: number; + readonly namePropertiesName?: string; + /** ARM resource id of the sync database in the sync agent. */ + syncDatabaseId?: string; /** - * Storage size in GB. Minimum value: 32. Maximum value: 8192. Increments of 32 GB allowed only. + * Last alive time of the sync agent. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageSizeInGB?: number; + readonly lastAliveTime?: Date; /** - * Collation of the managed instance. + * State of the sync agent. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - collation?: string; + readonly state?: SyncAgentState; /** - * The Dns Zone that the managed instance is in. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * If the sync agent version is up to date. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly dnsZone?: string; + readonly isUpToDate?: boolean; /** - * The resource id of another managed instance whose DNS zone this managed instance will share - * after creation. + * Expiration time of the sync agent version. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dnsZonePartner?: string; + readonly expiryTime?: Date; /** - * Whether or not the public data endpoint is enabled. + * Version of the sync agent. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - publicDataEndpointEnabled?: boolean; + readonly version?: string; +}; + +/** An Azure SQL Database sync agent linked database. */ +export type SyncAgentLinkedDatabase = ProxyResource & { /** - * The resource identifier of the source managed instance associated with create operation of - * this instance. + * Type of the sync agent linked database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceManagedInstanceId?: string; + readonly databaseType?: SyncMemberDbType; /** - * Specifies the point in time (ISO8601 format) of the source database that will be restored to - * create the new database. + * Id of the sync agent linked database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorePointInTime?: Date; + readonly databaseId?: string; /** - * Connection type used for connecting to the instance. Possible values include: 'Proxy', - * 'Redirect', 'Default' + * Description of the sync agent linked database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - proxyOverride?: ManagedInstanceProxyOverride; + readonly description?: string; /** - * Id of the timezone. Allowed values are timezones supported by Windows. - * Windows keeps details on supported timezones, including the id, in registry under - * KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. - * You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM - * sys.time_zone_info. - * List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in - * PowerShell. - * An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time". + * Server name of the sync agent linked database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timezoneId?: string; + readonly serverName?: string; /** - * The Id of the instance pool this managed server belongs to. + * Database name of the sync agent linked database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - instancePoolId?: string; -} - -/** - * An update request for an Azure SQL Database managed instance. - */ -export interface ManagedInstanceUpdate { + readonly databaseName?: string; /** - * Managed instance sku + * User name of the sync agent linked database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly userName?: string; +}; + +/** An Azure SQL Database sync group. */ +export type SyncGroup = ProxyResource & { + /** The name and capacity of the SKU. */ sku?: Sku; + /** Sync interval of the sync group. */ + interval?: number; /** - * Specifies the mode of database creation. - * - * Default: Regular instance creation. - * - * Restore: Creates an instance by restoring a set of backups to specific point in time. - * RestorePointInTime and SourceManagedInstanceId must be specified. Possible values include: - * 'Default', 'PointInTimeRestore' + * Last sync time of the sync group. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - managedInstanceCreateMode?: ManagedServerCreateMode; + readonly lastSyncTime?: Date; + /** Conflict resolution policy of the sync group. */ + conflictResolutionPolicy?: SyncConflictResolutionPolicy; + /** ARM resource id of the sync database in the sync group. */ + syncDatabaseId?: string; + /** User name for the sync group hub database credential. */ + hubDatabaseUserName?: string; + /** Password for the sync group hub database credential. */ + hubDatabasePassword?: string; /** - * The fully qualified domain name of the managed instance. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Sync state of the sync group. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly fullyQualifiedDomainName?: string; + readonly syncState?: SyncGroupState; + /** Sync schema of the sync group. */ + schema?: SyncGroupSchema; + /** If conflict logging is enabled. */ + enableConflictLogging?: boolean; + /** Conflict logging retention period. */ + conflictLoggingRetentionInDays?: number; + /** If use private link connection is enabled. */ + usePrivateLinkConnection?: boolean; /** - * Administrator username for the managed instance. Can only be specified when the managed - * instance is being created (and is required for creation). + * Private endpoint name of the sync group if use private link connection is enabled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLogin?: string; + readonly privateEndpointName?: string; +}; + +/** An Azure SQL Database sync member. */ +export type SyncMember = ProxyResource & { + /** Database type of the sync member. */ + databaseType?: SyncMemberDbType; + /** ARM resource id of the sync agent in the sync member. */ + syncAgentId?: string; + /** SQL Server database id of the sync member. */ + sqlServerDatabaseId?: string; + /** ARM resource id of the sync member logical database, for sync members in Azure. */ + syncMemberAzureDatabaseResourceId?: string; + /** Whether to use private link connection. */ + usePrivateLinkConnection?: boolean; /** - * The administrator login password (required for managed instance creation). + * Private endpoint name of the sync member if use private link connection is enabled, for sync members in Azure. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - administratorLoginPassword?: string; + readonly privateEndpointName?: string; + /** Server name of the member database in the sync member */ + serverName?: string; + /** Database name of the member database in the sync member. */ + databaseName?: string; + /** User name of the member database in the sync member. */ + userName?: string; + /** Password of the member database in the sync member. */ + password?: string; + /** Sync direction of the sync member. */ + syncDirection?: SyncDirection; /** - * Subnet resource ID for the managed instance. + * Sync state of the sync member. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - subnetId?: string; + readonly syncState?: SyncMemberState; +}; + +/** Time Zone. */ +export type TimeZone = ProxyResource & { /** - * The state of the managed instance. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The time zone id + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly state?: string; + readonly timeZoneId?: string; /** - * The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL - * license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses). Possible - * values include: 'LicenseIncluded', 'BasePrice' + * The time zone display name + * NOTE: This property will not be serialized. It can only be populated by the server. */ - licenseType?: ManagedInstanceLicenseType; + readonly displayName?: string; +}; + +/** A recoverable managed database resource. */ +export type UpdateManagedInstanceDnsServersOperation = ProxyResource & { /** - * The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80. + * The status of the DNS refresh operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - vCores?: number; + readonly status?: DnsRefreshConfigurationPropertiesStatus; +}; + +/** A virtual network rule. */ +export type VirtualNetworkRule = ProxyResource & { + /** The ARM resource id of the virtual network subnet. */ + virtualNetworkSubnetId?: string; + /** Create firewall rule before the virtual network has vnet service endpoint enabled. */ + ignoreMissingVnetServiceEndpoint?: boolean; /** - * Storage size in GB. Minimum value: 32. Maximum value: 8192. Increments of 32 GB allowed only. + * Virtual Network Rule State + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageSizeInGB?: number; + readonly state?: VirtualNetworkRuleState; +}; + +/** Workload classifier operations for a data warehouse */ +export type WorkloadClassifier = ProxyResource & { + /** The workload classifier member name. */ + memberName?: string; + /** The workload classifier label. */ + label?: string; + /** The workload classifier context. */ + context?: string; + /** The workload classifier start time for classification. */ + startTime?: string; + /** The workload classifier end time for classification. */ + endTime?: string; + /** The workload classifier importance. */ + importance?: string; +}; + +/** Workload group operations for a data warehouse */ +export type WorkloadGroup = ProxyResource & { + /** The workload group minimum percentage resource. */ + minResourcePercent?: number; + /** The workload group cap percentage resource. */ + maxResourcePercent?: number; + /** The workload group request minimum grant percentage. */ + minResourcePercentPerRequest?: number; + /** The workload group request maximum grant percentage. */ + maxResourcePercentPerRequest?: number; + /** The workload group importance level. */ + importance?: string; + /** The workload group query execution timeout. */ + queryExecutionTimeout?: number; +}; + +/** A short term retention policy. */ +export type BackupShortTermRetentionPolicy = ProxyResource & { + /** The backup retention period in days. This is how many days Point-in-Time Restore will be supported. */ + retentionDays?: number; + /** The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases. */ + diffBackupIntervalInHours?: DiffBackupIntervalInHours; +}; + +/** An ImportExport operation result resource. */ +export type ImportExportOperationResult = ProxyResource & { /** - * Collation of the managed instance. + * Request Id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - collation?: string; + readonly requestId?: string; /** - * The Dns Zone that the managed instance is in. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Request type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly dnsZone?: string; + readonly requestType?: string; /** - * The resource id of another managed instance whose DNS zone this managed instance will share - * after creation. + * Queued time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - dnsZonePartner?: string; + readonly queuedTime?: string; /** - * Whether or not the public data endpoint is enabled. + * Last modified time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - publicDataEndpointEnabled?: boolean; + readonly lastModifiedTime?: string; /** - * The resource identifier of the source managed instance associated with create operation of - * this instance. + * Blob Uri. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceManagedInstanceId?: string; + readonly blobUri?: string; /** - * Specifies the point in time (ISO8601 format) of the source database that will be restored to - * create the new database. + * Server name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorePointInTime?: Date; + readonly serverName?: string; /** - * Connection type used for connecting to the instance. Possible values include: 'Proxy', - * 'Redirect', 'Default' + * Database name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - proxyOverride?: ManagedInstanceProxyOverride; + readonly databaseName?: string; /** - * Id of the timezone. Allowed values are timezones supported by Windows. - * Windows keeps details on supported timezones, including the id, in registry under - * KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. - * You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM - * sys.time_zone_info. - * List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in - * PowerShell. - * An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time". + * Operation status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - timezoneId?: string; + readonly status?: string; /** - * The Id of the instance pool this managed server belongs to. + * Error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - instancePoolId?: string; + readonly errorMessage?: string; /** - * Resource tags. + * Gets the status of private endpoints associated with this request. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; -} + readonly privateEndpointConnections?: PrivateEndpointConnectionRequestStatus[]; +}; -/** - * A managed database restore details. - */ -export interface ManagedDatabaseRestoreDetailsResult extends ProxyResource { +/** An export managed database operation result resource. */ +export type DatabaseExtensions = ProxyResource & { + /** Operation Mode. */ + operationMode?: OperationMode; + /** Storage key type. */ + storageKeyType?: StorageKeyType; + /** Storage key. */ + storageKey?: string; + /** Storage Uri. */ + storageUri?: string; +}; + +/** An Extension operation result resource. */ +export type ImportExportExtensionsOperationResult = ProxyResource & { /** - * Restore status. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Request Id. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: string; + readonly requestId?: string; /** - * Current restoring file name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Request type. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly currentRestoringFileName?: string; + readonly requestType?: string; /** - * Last restored file name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Last modified time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastRestoredFileName?: string; + readonly lastModifiedTime?: string; /** - * Last restored file time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Server name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastRestoredFileTime?: Date; + readonly serverName?: string; /** - * Percent completed. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Database name. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly percentCompleted?: number; + readonly databaseName?: string; /** - * List of unrestorable files. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Operation status. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly unrestorableFiles?: string[]; + readonly status?: string; /** - * Number of files detected. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Error message. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly numberOfFilesDetected?: number; + readonly errorMessage?: string; +}; + +/** A database operation. */ +export type DatabaseOperation = ProxyResource & { /** - * Last uploaded file name. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the database the operation is being performed on. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastUploadedFileName?: string; + readonly databaseName?: string; /** - * Last uploaded file time. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastUploadedFileTime?: Date; + readonly operation?: string; /** - * The reason why restore is in Blocked state. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The friendly name of operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly blockReason?: string; -} - -/** - * A managed database resource. - */ -export interface ManagedDatabase extends TrackedResource { + readonly operationFriendlyName?: string; /** - * Collation of the managed database. + * The percentage of the operation completed. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - collation?: string; + readonly percentComplete?: number; /** - * Status of the database. Possible values include: 'Online', 'Offline', 'Shutdown', 'Creating', - * 'Inaccessible', 'Restoring', 'Updating' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The name of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: ManagedDatabaseStatus; + readonly serverName?: string; /** - * Creation date of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation start time. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; + readonly startTime?: Date; /** - * Earliest restore point in time for point in time restore. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation state. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly earliestRestorePoint?: Date; + readonly state?: ManagementOperationState; /** - * Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point - * in time (ISO8601 format) of the source database that will be restored to create the new - * database. + * The operation error code. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorePointInTime?: Date; + readonly errorCode?: number; /** - * Geo paired region. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The operation error description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly defaultSecondaryLocation?: string; + readonly errorDescription?: string; /** - * Collation of the metadata catalog. Possible values include: 'DATABASE_DEFAULT', - * 'SQL_Latin1_General_CP1_CI_AS' + * The operation error severity. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - catalogCollation?: CatalogCollationType; + readonly errorSeverity?: number; /** - * Managed database create mode. PointInTimeRestore: Create a database by restoring a point in - * time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and - * PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from - * external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be - * specified. Recovery: Creates a database by restoring a geo-replicated backup. - * RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. - * Possible values include: 'Default', 'RestoreExternalBackup', 'PointInTimeRestore', 'Recovery' + * Whether or not the error is a user error. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createMode?: ManagedDatabaseCreateMode; + readonly isUserError?: boolean; /** - * Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri - * of the storage container where backups for this restore are stored. + * The estimated completion time of the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerUri?: string; + readonly estimatedCompletionTime?: Date; /** - * The resource identifier of the source database associated with create operation of this - * database. + * The operation description. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceDatabaseId?: string; + readonly description?: string; /** - * The restorable dropped database resource id to restore when creating this database. + * Whether the operation can be cancelled. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorableDroppedDatabaseId?: string; + readonly isCancellable?: boolean; +}; + +/** Usage metric of a database. */ +export type DatabaseUsage = ProxyResource & { /** - * Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the - * storage container sas token. + * User-readable name of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerSasToken?: string; + readonly displayName?: string; /** - * Instance Failover Group resource identifier that this managed database belongs to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Current value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly failoverGroupId?: string; + readonly currentValue?: number; + /** + * Boundary value of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly limit?: number; /** - * The resource identifier of the recoverable database associated with create operation of this - * database. + * Unit of the metric. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - recoverableDatabaseId?: string; -} + readonly unit?: string; +}; -/** - * An managed database update. - */ -export interface ManagedDatabaseUpdate { +/** Azure SQL Database ledger digest upload settings. */ +export type LedgerDigestUploads = ProxyResource & { + /** The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger. */ + digestStorageEndpoint?: string; /** - * Collation of the managed database. + * Specifies the state of ledger digest upload. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - collation?: string; + readonly state?: LedgerDigestUploadsState; +}; + +/** An Azure SQL DB Server Outbound Firewall Rule. */ +export type OutboundFirewallRule = ProxyResource & { /** - * Status of the database. Possible values include: 'Online', 'Offline', 'Shutdown', 'Creating', - * 'Inaccessible', 'Restoring', 'Updating' - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The state of the outbound rule. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: ManagedDatabaseStatus; + readonly provisioningState?: string; +}; + +/** A replication link. */ +export type ReplicationLink = ProxyResource & { /** - * Creation date of the database. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource partner server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; + readonly partnerServer?: string; /** - * Earliest restore point in time for point in time restore. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Resource partner database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly earliestRestorePoint?: Date; + readonly partnerDatabase?: string; /** - * Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point - * in time (ISO8601 format) of the source database that will be restored to create the new - * database. + * Resource partner location. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorePointInTime?: Date; + readonly partnerLocation?: string; /** - * Geo paired region. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Local replication role. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly defaultSecondaryLocation?: string; + readonly role?: ReplicationRole; /** - * Collation of the metadata catalog. Possible values include: 'DATABASE_DEFAULT', - * 'SQL_Latin1_General_CP1_CI_AS' + * Partner replication role. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - catalogCollation?: CatalogCollationType; + readonly partnerRole?: ReplicationRole; /** - * Managed database create mode. PointInTimeRestore: Create a database by restoring a point in - * time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and - * PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from - * external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be - * specified. Recovery: Creates a database by restoring a geo-replicated backup. - * RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. - * Possible values include: 'Default', 'RestoreExternalBackup', 'PointInTimeRestore', 'Recovery' + * Replication mode. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createMode?: ManagedDatabaseCreateMode; + readonly replicationMode?: string; /** - * Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri - * of the storage container where backups for this restore are stored. + * Time at which the link was created. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerUri?: string; + readonly startTime?: Date; /** - * The resource identifier of the source database associated with create operation of this - * database. + * Seeding completion percentage for the link. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - sourceDatabaseId?: string; + readonly percentComplete?: number; /** - * The restorable dropped database resource id to restore when creating this database. + * Replication state (PENDING, SEEDING, CATCHUP, SUSPENDED). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - restorableDroppedDatabaseId?: string; + readonly replicationState?: ReplicationState; /** - * Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the - * storage container sas token. + * Whether the user is currently allowed to terminate the link. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - storageContainerSasToken?: string; + readonly isTerminationAllowed?: boolean; /** - * Instance Failover Group resource identifier that this managed database belongs to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Link type (GEO, NAMED). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly failoverGroupId?: string; + readonly linkType?: ReplicationLinkType; +}; + +/** A restorable dropped database resource. */ +export type RestorableDroppedDatabase = ProxyResource & { + /** The name and tier of the SKU. */ + sku?: Sku; + /** Resource location. */ + location?: string; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; /** - * The resource identifier of the recoverable database associated with create operation of this - * database. + * The name of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - recoverableDatabaseId?: string; + readonly databaseName?: string; /** - * Resource tags. + * The max size of the database expressed in bytes. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - tags?: { [propertyName: string]: string }; -} - -/** - * Contains the information necessary to perform a complete database restore operation. - */ -export interface CompleteDatabaseRestoreDefinition { + readonly maxSizeBytes?: number; /** - * The last backup name to apply + * DEPRECATED: The resource name of the elastic pool containing this database. This property is deprecated and the value will always be null. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - lastBackupName: string; -} - -/** - * An interface representing PrivateEndpointProperty. - */ -export interface PrivateEndpointProperty extends BaseResource { + readonly elasticPoolId?: string; /** - * Resource id of the private endpoint. + * The creation date of the database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - id?: string; -} - -/** - * An interface representing PrivateLinkServiceConnectionStateProperty. - */ -export interface PrivateLinkServiceConnectionStateProperty { + readonly creationDate?: Date; /** - * The private link service connection status. + * The deletion date of the database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - status: string; + readonly deletionDate?: Date; /** - * The private link service connection description. + * The earliest restore date of the database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - description: string; + readonly earliestRestoreDate?: Date; /** - * The actions required for private link service connection. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The storage account type used to store backups for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly actionsRequired?: string; -} + readonly backupStorageRedundancy?: RestorableDroppedDatabasePropertiesBackupStorageRedundancy; +}; -/** - * A private endpoint connection - */ -export interface PrivateEndpointConnection extends ProxyResource { +/** An elastic pool. */ +export type ElasticPool = TrackedResource & { /** - * Private endpoint which the connection belongs to. + * The elastic pool SKU. + * + * The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or the following command: + * + * ```azurecli + * az sql elastic-pool list-editions -l -o table + * ```` + * */ - privateEndpoint?: PrivateEndpointProperty; + sku?: Sku; /** - * Connection state of the private endpoint connection. + * Kind of elastic pool. This is metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty; + readonly kind?: string; /** - * State of the private endpoint connection. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The state of the elastic pool. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: string; -} - -/** - * Properties of a private link resource. - */ -export interface PrivateLinkResourceProperties { + readonly state?: ElasticPoolState; /** - * The private link resource group id. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The creation date of the elastic pool (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly groupId?: string; + readonly creationDate?: Date; + /** The storage limit for the database elastic pool in bytes. */ + maxSizeBytes?: number; + /** The per database settings for the elastic pool. */ + perDatabaseSettings?: ElasticPoolPerDatabaseSettings; + /** Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be spread across multiple availability zones. */ + zoneRedundant?: boolean; + /** The license type to apply for this elastic pool. */ + licenseType?: ElasticPoolLicenseType; + /** Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur. */ + maintenanceConfigurationId?: string; +}; + +/** An Azure SQL instance pool. */ +export type InstancePool = TrackedResource & { + /** The name and tier of the SKU. */ + sku?: Sku; + /** Resource ID of the subnet to place this instance pool in. */ + subnetId?: string; + /** Count of vCores belonging to this instance pool. */ + vCores?: number; + /** The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price). */ + licenseType?: InstancePoolLicenseType; +}; + +/** An Azure SQL job agent. */ +export type JobAgent = TrackedResource & { + /** The name and tier of the SKU. */ + sku?: Sku; + /** Resource ID of the database to store job metadata in. */ + databaseId?: string; /** - * The private link resource required member names. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The state of the job agent. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requiredMembers?: string[]; -} + readonly state?: JobAgentState; +}; -/** - * A private link resource - */ -export interface PrivateLinkResource extends ProxyResource { +/** A managed database resource. */ +export type ManagedDatabase = TrackedResource & { + /** Collation of the managed database. */ + collation?: string; /** - * The private link resource group id. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Status of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly properties?: PrivateLinkResourceProperties; -} - -/** - * Optional Parameters. - */ -export interface DatabasesFailoverOptionalParams extends msRest.RequestOptionsBase { + readonly status?: ManagedDatabaseStatus; /** - * The type of replica to be failed over. Possible values include: 'Primary', 'ReadableSecondary' + * Creation date of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - replicaType?: ReplicaType; -} - -/** - * Optional Parameters. - */ -export interface DatabasesBeginFailoverOptionalParams extends msRest.RequestOptionsBase { + readonly creationDate?: Date; /** - * The type of replica to be failed over. Possible values include: 'Primary', 'ReadableSecondary' + * Earliest restore point in time for point in time restore. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - replicaType?: ReplicaType; -} - -/** - * Optional Parameters. - */ -export interface ElasticPoolsListByServerOptionalParams extends msRest.RequestOptionsBase { + readonly earliestRestorePoint?: Date; + /** Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. */ + restorePointInTime?: Date; /** - * The number of elements in the collection to skip. + * Geo paired region. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - skip?: number; -} - -/** - * Optional Parameters. - */ -export interface SyncGroupsListLogsOptionalParams extends msRest.RequestOptionsBase { + readonly defaultSecondaryLocation?: string; + /** Collation of the metadata catalog. */ + catalogCollation?: CatalogCollationType; + /** Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required). */ + createMode?: ManagedDatabaseCreateMode; + /** Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored. */ + storageContainerUri?: string; + /** The resource identifier of the source database associated with create operation of this database. */ + sourceDatabaseId?: string; + /** The restorable dropped database resource id to restore when creating this database. */ + restorableDroppedDatabaseId?: string; + /** Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the storage container sas token. */ + storageContainerSasToken?: string; /** - * The continuation token for this operation. + * Instance Failover Group resource identifier that this managed database belongs to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - continuationToken?: string; -} + readonly failoverGroupId?: string; + /** The resource identifier of the recoverable database associated with create operation of this database. */ + recoverableDatabaseId?: string; + /** The name of the Long Term Retention backup to be used for restore of this managed database. */ + longTermRetentionBackupResourceId?: string; + /** Whether to auto complete restore of this managed database. */ + autoCompleteRestore?: boolean; + /** Last backup file name for restore of this managed database. */ + lastBackupName?: string; +}; -/** - * Optional Parameters. - */ -export interface JobExecutionsListByAgentOptionalParams extends msRest.RequestOptionsBase { +/** An Azure SQL managed instance. */ +export type ManagedInstance = TrackedResource & { + /** The Azure Active Directory identity of the managed instance. */ + identity?: ResourceIdentity; + /** Managed instance SKU. Allowed values for sku.name: GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5 */ + sku?: Sku; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly provisioningState?: ManagedInstancePropertiesProvisioningState; /** - * If specified, only job executions created at or after the specified time are included. + * Specifies the mode of database creation. + * + * Default: Regular instance creation. + * + * Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified. */ - createTimeMin?: Date; + managedInstanceCreateMode?: ManagedServerCreateMode; /** - * If specified, only job executions created before the specified time are included. + * The fully qualified domain name of the managed instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createTimeMax?: Date; + readonly fullyQualifiedDomainName?: string; + /** Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation). */ + administratorLogin?: string; + /** The administrator login password (required for managed instance creation). */ + administratorLoginPassword?: string; + /** Subnet resource ID for the managed instance. */ + subnetId?: string; /** - * If specified, only job executions completed at or after the specified time are included. + * The state of the managed instance. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMin?: Date; + readonly state?: string; + /** The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses). */ + licenseType?: ManagedInstanceLicenseType; + /** The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80. */ + vCores?: number; + /** Storage size in GB. Minimum value: 32. Maximum value: 8192. Increments of 32 GB allowed only. */ + storageSizeInGB?: number; + /** Collation of the managed instance. */ + collation?: string; /** - * If specified, only job executions completed before the specified time are included. + * The Dns Zone that the managed instance is in. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMax?: Date; + readonly dnsZone?: string; + /** The resource id of another managed instance whose DNS zone this managed instance will share after creation. */ + dnsZonePartner?: string; + /** Whether or not the public data endpoint is enabled. */ + publicDataEndpointEnabled?: boolean; + /** The resource identifier of the source managed instance associated with create operation of this instance. */ + sourceManagedInstanceId?: string; + /** Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. */ + restorePointInTime?: Date; + /** Connection type used for connecting to the instance. */ + proxyOverride?: ManagedInstanceProxyOverride; /** - * If specified, only active or only completed job executions are included. + * Id of the timezone. Allowed values are timezones supported by Windows. + * Windows keeps details on supported timezones, including the id, in registry under + * KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. + * You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info. + * List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. + * An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time". */ - isActive?: boolean; + timezoneId?: string; + /** The Id of the instance pool this managed server belongs to. */ + instancePoolId?: string; + /** Specifies maintenance configuration id to apply to this managed instance. */ + maintenanceConfigurationId?: string; + /** + * List of private endpoint connections on a managed instance. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: ManagedInstancePecProperty[]; + /** Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2' */ + minimalTlsVersion?: string; + /** The storage account type used to store backups for this instance. The options are LRS (LocallyRedundantStorage), ZRS (ZoneRedundantStorage) and GRS (GeoRedundantStorage) */ + storageAccountType?: StorageAccountType; + /** Whether or not the multi-az is enabled. */ + zoneRedundant?: boolean; + /** The resource id of a user assigned identity to be used by default. */ + primaryUserAssignedIdentityId?: string; + /** A CMK URI of the key to use for encryption. */ + keyId?: string; + /** The Azure Active Directory administrator of the server. */ + administrators?: ManagedInstanceExternalAdministrator; +}; + +/** An Azure SQL virtual cluster. */ +export type VirtualCluster = TrackedResource & { /** - * The number of elements in the collection to skip. + * Subnet resource ID for the virtual cluster. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - skip?: number; + readonly subnetId?: string; + /** If the service has different generations of hardware, for the same SKU, then that can be captured here. */ + family?: string; /** - * The number of elements to return from the collection. + * List of resources in this virtual cluster. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - top?: number; -} + readonly childResources?: string[]; + /** Specifies maintenance configuration id to apply to this virtual cluster. */ + maintenanceConfigurationId?: string; +}; -/** - * Optional Parameters. - */ -export interface JobExecutionsListByJobOptionalParams extends msRest.RequestOptionsBase { - /** - * If specified, only job executions created at or after the specified time are included. - */ - createTimeMin?: Date; +/** A database resource. */ +export type Database = TrackedResource & { /** - * If specified, only job executions created before the specified time are included. + * The database SKU. + * + * The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: + * + * ```azurecli + * az sql db list-editions -l -o table + * ```` + * + * ```powershell + * Get-AzSqlServerServiceObjective -Location + * ```` + * */ - createTimeMax?: Date; + sku?: Sku; /** - * If specified, only job executions completed at or after the specified time are included. + * Kind of database. This is metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMin?: Date; + readonly kind?: string; /** - * If specified, only job executions completed before the specified time are included. + * Resource that manages the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMax?: Date; + readonly managedBy?: string; /** - * If specified, only active or only completed job executions are included. + * Specifies the mode of database creation. + * + * Default: regular database creation. + * + * Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database. + * + * Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database. + * + * PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified. + * + * Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore. + * + * Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time. + * + * RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. + * + * Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. */ - isActive?: boolean; + createMode?: CreateMode; + /** The collation of the database. */ + collation?: string; + /** The max size of the database expressed in bytes. */ + maxSizeBytes?: number; + /** The name of the sample schema to apply when creating this database. */ + sampleName?: SampleName; + /** The resource identifier of the elastic pool containing this database. */ + elasticPoolId?: string; + /** The resource identifier of the source database associated with create operation of this database. */ + sourceDatabaseId?: string; /** - * The number of elements in the collection to skip. + * The status of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - skip?: number; + readonly status?: DatabaseStatus; /** - * The number of elements to return from the collection. + * The ID of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - top?: number; -} - -/** - * Optional Parameters. - */ -export interface JobStepExecutionsListByJobExecutionOptionalParams extends msRest.RequestOptionsBase { + readonly databaseId?: string; /** - * If specified, only job executions created at or after the specified time are included. + * The creation date of the database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createTimeMin?: Date; + readonly creationDate?: Date; /** - * If specified, only job executions created before the specified time are included. + * The current service level objective name of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createTimeMax?: Date; + readonly currentServiceObjectiveName?: string; /** - * If specified, only job executions completed at or after the specified time are included. + * The requested service level objective name of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMin?: Date; + readonly requestedServiceObjectiveName?: string; /** - * If specified, only job executions completed before the specified time are included. + * The default secondary region for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMax?: Date; + readonly defaultSecondaryLocation?: string; /** - * If specified, only active or only completed job executions are included. + * Failover Group resource identifier that this database belongs to. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isActive?: boolean; + readonly failoverGroupId?: string; + /** Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. */ + restorePointInTime?: Date; + /** Specifies the time that the database was deleted. */ + sourceDatabaseDeletionDate?: Date; + /** The resource identifier of the recovery point associated with create operation of this database. */ + recoveryServicesRecoveryPointId?: string; + /** The resource identifier of the long term retention backup associated with create operation of this database. */ + longTermRetentionBackupResourceId?: string; + /** The resource identifier of the recoverable database associated with create operation of this database. */ + recoverableDatabaseId?: string; + /** The resource identifier of the restorable dropped database associated with create operation of this database. */ + restorableDroppedDatabaseId?: string; + /** Collation of the metadata catalog. */ + catalogCollation?: CatalogCollationType; + /** Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. */ + zoneRedundant?: boolean; + /** The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit. */ + licenseType?: DatabaseLicenseType; /** - * The number of elements in the collection to skip. + * The max log size for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - skip?: number; + readonly maxLogSizeBytes?: number; /** - * The number of elements to return from the collection. + * This records the earliest start date and time that restore is available for this database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - top?: number; -} - -/** - * Optional Parameters. - */ -export interface JobTargetExecutionsListByJobExecutionOptionalParams extends msRest.RequestOptionsBase { + readonly earliestRestoreDate?: Date; + /** The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. */ + readScale?: DatabaseReadScale; + /** The number of secondary replicas associated with the database that are used to provide high availability. */ + highAvailabilityReplicaCount?: number; + /** The secondary type of the database if it is a secondary. Valid values are Geo and Named. */ + secondaryType?: SecondaryType; /** - * If specified, only job executions created at or after the specified time are included. + * The name and tier of the SKU. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createTimeMin?: Date; + readonly currentSku?: Sku; + /** Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled */ + autoPauseDelay?: number; /** - * If specified, only job executions created before the specified time are included. + * The storage account type used to store backups for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createTimeMax?: Date; + readonly currentBackupStorageRedundancy?: CurrentBackupStorageRedundancy; + /** The storage account type to be used to store backups for this database. */ + requestedBackupStorageRedundancy?: RequestedBackupStorageRedundancy; + /** Minimal capacity that database will always have allocated, if not paused */ + minCapacity?: number; /** - * If specified, only job executions completed at or after the specified time are included. + * The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMin?: Date; + readonly pausedDate?: Date; /** - * If specified, only job executions completed before the specified time are included. + * The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMax?: Date; + readonly resumedDate?: Date; + /** Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur. */ + maintenanceConfigurationId?: string; + /** Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created. */ + isLedgerOn?: boolean; /** - * If specified, only active or only completed job executions are included. + * Infra encryption is enabled for this database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isActive?: boolean; + readonly isInfraEncryptionEnabled?: boolean; +}; + +/** A restorable dropped managed database resource. */ +export type RestorableDroppedManagedDatabase = TrackedResource & { /** - * The number of elements in the collection to skip. + * The name of the database. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - skip?: number; + readonly databaseName?: string; /** - * The number of elements to return from the collection. + * The creation date of the database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - top?: number; -} - -/** - * Optional Parameters. - */ -export interface JobTargetExecutionsListByStepOptionalParams extends msRest.RequestOptionsBase { + readonly creationDate?: Date; /** - * If specified, only job executions created at or after the specified time are included. + * The deletion date of the database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createTimeMin?: Date; + readonly deletionDate?: Date; /** - * If specified, only job executions created before the specified time are included. + * The earliest restore date of the database (ISO8601 format). + * NOTE: This property will not be serialized. It can only be populated by the server. */ - createTimeMax?: Date; + readonly earliestRestoreDate?: Date; +}; + +/** An Azure SQL Database server. */ +export type Server = TrackedResource & { + /** The Azure Active Directory identity of the server. */ + identity?: ResourceIdentity; /** - * If specified, only job executions completed at or after the specified time are included. + * Kind of sql server. This is metadata used for the Azure portal experience. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMin?: Date; + readonly kind?: string; + /** Administrator username for the server. Once created it cannot be changed. */ + administratorLogin?: string; + /** The administrator login password (required for server creation). */ + administratorLoginPassword?: string; + /** The version of the server. */ + version?: string; /** - * If specified, only job executions completed before the specified time are included. + * The state of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - endTimeMax?: Date; + readonly state?: string; /** - * If specified, only active or only completed job executions are included. + * The fully qualified domain name of the server. + * NOTE: This property will not be serialized. It can only be populated by the server. */ - isActive?: boolean; + readonly fullyQualifiedDomainName?: string; /** - * The number of elements in the collection to skip. + * List of private endpoint connections on a server + * NOTE: This property will not be serialized. It can only be populated by the server. */ - skip?: number; + readonly privateEndpointConnections?: ServerPrivateEndpointConnection[]; + /** Minimal TLS version. Allowed values: '1.0', '1.1', '1.2' */ + minimalTlsVersion?: string; + /** Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' */ + publicNetworkAccess?: ServerNetworkAccessFlag; /** - * The number of elements to return from the collection. + * Whether or not existing server has a workspace created and if it allows connection from workspace + * NOTE: This property will not be serialized. It can only be populated by the server. */ - top?: number; + readonly workspaceFeature?: ServerWorkspaceFeature; + /** The resource id of a user assigned identity to be used by default. */ + primaryUserAssignedIdentityId?: string; + /** The Client id used for cross tenant CMK scenario */ + federatedClientId?: string; + /** A CMK URI of the key to use for encryption. */ + keyId?: string; + /** The Azure Active Directory identity of the server. */ + administrators?: ServerExternalAdministrator; + /** Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' */ + restrictOutboundNetworkAccess?: ServerNetworkAccessFlag; +}; + +/** A server firewall rule. */ +export type FirewallRule = ProxyResourceWithWritableName & { + /** The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses. */ + startIpAddress?: string; + /** The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses. */ + endIpAddress?: string; +}; + +/** Known values of {@link ConnectionPolicyName} that the service accepts. */ +export enum KnownConnectionPolicyName { + Default = "default" } /** - * Optional Parameters. + * Defines values for ConnectionPolicyName. \ + * {@link KnownConnectionPolicyName} can be used interchangeably with ConnectionPolicyName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **default** */ -export interface LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams extends msRest.RequestOptionsBase { - /** - * Whether or not to only get the latest backup for each database. - */ - onlyLatestPerDatabase?: boolean; - /** - * Whether to query against just live databases, just deleted databases, or all databases. - * Possible values include: 'All', 'Live', 'Deleted' - */ - databaseState?: LongTermRetentionDatabaseState; +export type ConnectionPolicyName = string; + +/** Known values of {@link GeoBackupPolicyName} that the service accepts. */ +export enum KnownGeoBackupPolicyName { + Default = "Default" } /** - * Optional Parameters. + * Defines values for GeoBackupPolicyName. \ + * {@link KnownGeoBackupPolicyName} can be used interchangeably with GeoBackupPolicyName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** */ -export interface LongTermRetentionBackupsListByResourceGroupLocationOptionalParams extends msRest.RequestOptionsBase { - /** - * Whether or not to only get the latest backup for each database. - */ - onlyLatestPerDatabase?: boolean; - /** - * Whether to query against just live databases, just deleted databases, or all databases. - * Possible values include: 'All', 'Live', 'Deleted' - */ - databaseState?: LongTermRetentionDatabaseState; +export type GeoBackupPolicyName = string; + +/** Known values of {@link UnitType} that the service accepts. */ +export enum KnownUnitType { + Count = "count", + Bytes = "bytes", + Seconds = "seconds", + Percent = "percent", + CountPerSecond = "countPerSecond", + BytesPerSecond = "bytesPerSecond" } /** - * Optional Parameters. + * Defines values for UnitType. \ + * {@link KnownUnitType} can be used interchangeably with UnitType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **count** \ + * **bytes** \ + * **seconds** \ + * **percent** \ + * **countPerSecond** \ + * **bytesPerSecond** */ -export interface LongTermRetentionBackupsListByResourceGroupServerOptionalParams extends msRest.RequestOptionsBase { - /** - * Whether or not to only get the latest backup for each database. - */ - onlyLatestPerDatabase?: boolean; - /** - * Whether to query against just live databases, just deleted databases, or all databases. - * Possible values include: 'All', 'Live', 'Deleted' - */ - databaseState?: LongTermRetentionDatabaseState; +export type UnitType = string; + +/** Known values of {@link PrimaryAggregationType} that the service accepts. */ +export enum KnownPrimaryAggregationType { + None = "None", + Average = "Average", + Count = "Count", + Minimum = "Minimum", + Maximum = "Maximum", + Total = "Total" +} + +/** + * Defines values for PrimaryAggregationType. \ + * {@link KnownPrimaryAggregationType} can be used interchangeably with PrimaryAggregationType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Average** \ + * **Count** \ + * **Minimum** \ + * **Maximum** \ + * **Total** + */ +export type PrimaryAggregationType = string; + +/** Known values of {@link UnitDefinitionType} that the service accepts. */ +export enum KnownUnitDefinitionType { + Count = "Count", + Bytes = "Bytes", + Seconds = "Seconds", + Percent = "Percent", + CountPerSecond = "CountPerSecond", + BytesPerSecond = "BytesPerSecond" +} + +/** + * Defines values for UnitDefinitionType. \ + * {@link KnownUnitDefinitionType} can be used interchangeably with UnitDefinitionType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Count** \ + * **Bytes** \ + * **Seconds** \ + * **Percent** \ + * **CountPerSecond** \ + * **BytesPerSecond** + */ +export type UnitDefinitionType = string; + +/** Known values of {@link TransparentDataEncryptionName} that the service accepts. */ +export enum KnownTransparentDataEncryptionName { + Current = "current" +} + +/** + * Defines values for TransparentDataEncryptionName. \ + * {@link KnownTransparentDataEncryptionName} can be used interchangeably with TransparentDataEncryptionName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **current** + */ +export type TransparentDataEncryptionName = string; + +/** Known values of {@link TransparentDataEncryptionActivityStatus} that the service accepts. */ +export enum KnownTransparentDataEncryptionActivityStatus { + Encrypting = "Encrypting", + Decrypting = "Decrypting" +} + +/** + * Defines values for TransparentDataEncryptionActivityStatus. \ + * {@link KnownTransparentDataEncryptionActivityStatus} can be used interchangeably with TransparentDataEncryptionActivityStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Encrypting** \ + * **Decrypting** + */ +export type TransparentDataEncryptionActivityStatus = string; + +/** Known values of {@link RecommendedActionCurrentState} that the service accepts. */ +export enum KnownRecommendedActionCurrentState { + Active = "Active", + Pending = "Pending", + Executing = "Executing", + Verifying = "Verifying", + PendingRevert = "PendingRevert", + RevertCancelled = "RevertCancelled", + Reverting = "Reverting", + Reverted = "Reverted", + Ignored = "Ignored", + Expired = "Expired", + Monitoring = "Monitoring", + Resolved = "Resolved", + Success = "Success", + Error = "Error" +} + +/** + * Defines values for RecommendedActionCurrentState. \ + * {@link KnownRecommendedActionCurrentState} can be used interchangeably with RecommendedActionCurrentState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Active** \ + * **Pending** \ + * **Executing** \ + * **Verifying** \ + * **PendingRevert** \ + * **RevertCancelled** \ + * **Reverting** \ + * **Reverted** \ + * **Ignored** \ + * **Expired** \ + * **Monitoring** \ + * **Resolved** \ + * **Success** \ + * **Error** + */ +export type RecommendedActionCurrentState = string; + +/** Known values of {@link ColumnDataType} that the service accepts. */ +export enum KnownColumnDataType { + Image = "image", + Text = "text", + Uniqueidentifier = "uniqueidentifier", + Date = "date", + Time = "time", + Datetime2 = "datetime2", + Datetimeoffset = "datetimeoffset", + Tinyint = "tinyint", + Smallint = "smallint", + Int = "int", + Smalldatetime = "smalldatetime", + Real = "real", + Money = "money", + Datetime = "datetime", + Float = "float", + SqlVariant = "sql_variant", + Ntext = "ntext", + Bit = "bit", + Decimal = "decimal", + Numeric = "numeric", + Smallmoney = "smallmoney", + Bigint = "bigint", + Hierarchyid = "hierarchyid", + Geometry = "geometry", + Geography = "geography", + Varbinary = "varbinary", + Varchar = "varchar", + Binary = "binary", + Char = "char", + Timestamp = "timestamp", + Nvarchar = "nvarchar", + Nchar = "nchar", + Xml = "xml", + Sysname = "sysname" +} + +/** + * Defines values for ColumnDataType. \ + * {@link KnownColumnDataType} can be used interchangeably with ColumnDataType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **image** \ + * **text** \ + * **uniqueidentifier** \ + * **date** \ + * **time** \ + * **datetime2** \ + * **datetimeoffset** \ + * **tinyint** \ + * **smallint** \ + * **int** \ + * **smalldatetime** \ + * **real** \ + * **money** \ + * **datetime** \ + * **float** \ + * **sql_variant** \ + * **ntext** \ + * **bit** \ + * **decimal** \ + * **numeric** \ + * **smallmoney** \ + * **bigint** \ + * **hierarchyid** \ + * **geometry** \ + * **geography** \ + * **varbinary** \ + * **varchar** \ + * **binary** \ + * **char** \ + * **timestamp** \ + * **nvarchar** \ + * **nchar** \ + * **xml** \ + * **sysname** + */ +export type ColumnDataType = string; + +/** Known values of {@link TableTemporalType} that the service accepts. */ +export enum KnownTableTemporalType { + NonTemporalTable = "NonTemporalTable", + HistoryTable = "HistoryTable", + SystemVersionedTemporalTable = "SystemVersionedTemporalTable" +} + +/** + * Defines values for TableTemporalType. \ + * {@link KnownTableTemporalType} can be used interchangeably with TableTemporalType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NonTemporalTable** \ + * **HistoryTable** \ + * **SystemVersionedTemporalTable** + */ +export type TableTemporalType = string; + +/** Known values of {@link SecurityAlertPolicyName} that the service accepts. */ +export enum KnownSecurityAlertPolicyName { + Default = "Default" +} + +/** + * Defines values for SecurityAlertPolicyName. \ + * {@link KnownSecurityAlertPolicyName} can be used interchangeably with SecurityAlertPolicyName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** + */ +export type SecurityAlertPolicyName = 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 VulnerabilityAssessmentName} that the service accepts. */ +export enum KnownVulnerabilityAssessmentName { + Default = "default" } /** - * Optional Parameters. + * Defines values for VulnerabilityAssessmentName. \ + * {@link KnownVulnerabilityAssessmentName} can be used interchangeably with VulnerabilityAssessmentName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **default** */ -export interface LongTermRetentionBackupsListByDatabaseOptionalParams extends msRest.RequestOptionsBase { - /** - * Whether or not to only get the latest backup for each database. - */ - onlyLatestPerDatabase?: boolean; - /** - * Whether to query against just live databases, just deleted databases, or all databases. - * Possible values include: 'All', 'Live', 'Deleted' - */ - databaseState?: LongTermRetentionDatabaseState; +export type VulnerabilityAssessmentName = string; + +/** Known values of {@link VulnerabilityAssessmentScanTriggerType} that the service accepts. */ +export enum KnownVulnerabilityAssessmentScanTriggerType { + OnDemand = "OnDemand", + Recurring = "Recurring" } /** - * Optional Parameters. + * Defines values for VulnerabilityAssessmentScanTriggerType. \ + * {@link KnownVulnerabilityAssessmentScanTriggerType} can be used interchangeably with VulnerabilityAssessmentScanTriggerType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **OnDemand** \ + * **Recurring** */ -export interface LongTermRetentionBackupsListByLocationOptionalParams extends msRest.RequestOptionsBase { - /** - * Whether or not to only get the latest backup for each database. - */ - onlyLatestPerDatabase?: boolean; - /** - * Whether to query against just live databases, just deleted databases, or all databases. - * Possible values include: 'All', 'Live', 'Deleted' - */ - databaseState?: LongTermRetentionDatabaseState; +export type VulnerabilityAssessmentScanTriggerType = string; + +/** Known values of {@link VulnerabilityAssessmentScanState} that the service accepts. */ +export enum KnownVulnerabilityAssessmentScanState { + Passed = "Passed", + Failed = "Failed", + FailedToRun = "FailedToRun", + InProgress = "InProgress" } /** - * Optional Parameters. + * Defines values for VulnerabilityAssessmentScanState. \ + * {@link KnownVulnerabilityAssessmentScanState} can be used interchangeably with VulnerabilityAssessmentScanState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Passed** \ + * **Failed** \ + * **FailedToRun** \ + * **InProgress** */ -export interface LongTermRetentionBackupsListByServerOptionalParams extends msRest.RequestOptionsBase { - /** - * Whether or not to only get the latest backup for each database. - */ - onlyLatestPerDatabase?: boolean; - /** - * Whether to query against just live databases, just deleted databases, or all databases. - * Possible values include: 'All', 'Live', 'Deleted' - */ - databaseState?: LongTermRetentionDatabaseState; +export type VulnerabilityAssessmentScanState = string; + +/** Known values of {@link DataWarehouseUserActivityName} that the service accepts. */ +export enum KnownDataWarehouseUserActivityName { + Current = "current" } /** - * Optional Parameters. + * Defines values for DataWarehouseUserActivityName. \ + * {@link KnownDataWarehouseUserActivityName} can be used interchangeably with DataWarehouseUserActivityName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **current** */ -export interface SensitivityLabelsListCurrentByDatabaseOptionalParams extends msRest.RequestOptionsBase { - /** - * An OData filter expression that filters elements in the collection. - */ - filter?: string; +export type DataWarehouseUserActivityName = string; + +/** Known values of {@link ElasticPoolState} that the service accepts. */ +export enum KnownElasticPoolState { + Creating = "Creating", + Ready = "Ready", + Disabled = "Disabled" } /** - * Optional Parameters. + * Defines values for ElasticPoolState. \ + * {@link KnownElasticPoolState} can be used interchangeably with ElasticPoolState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Ready** \ + * **Disabled** */ -export interface SensitivityLabelsListRecommendedByDatabaseOptionalParams extends msRest.RequestOptionsBase { - /** - * Specifies whether to include disabled recommendations or not. - */ - includeDisabledRecommendations?: boolean; - skipToken?: string; - /** - * An OData filter expression that filters elements in the collection. - */ - filter?: string; +export type ElasticPoolState = string; + +/** Known values of {@link ElasticPoolLicenseType} that the service accepts. */ +export enum KnownElasticPoolLicenseType { + LicenseIncluded = "LicenseIncluded", + BasePrice = "BasePrice" } /** - * Optional Parameters. + * Defines values for ElasticPoolLicenseType. \ + * {@link KnownElasticPoolLicenseType} can be used interchangeably with ElasticPoolLicenseType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **LicenseIncluded** \ + * **BasePrice** */ -export interface CapabilitiesListByLocationOptionalParams extends msRest.RequestOptionsBase { - /** - * If specified, restricts the response to only include the selected item. Possible values - * include: 'supportedEditions', 'supportedElasticPoolEditions', - * 'supportedManagedInstanceVersions' - */ - include?: CapabilityGroup; +export type ElasticPoolLicenseType = string; + +/** Known values of {@link ServerKeyType} that the service accepts. */ +export enum KnownServerKeyType { + ServiceManaged = "ServiceManaged", + AzureKeyVault = "AzureKeyVault" } /** - * Optional Parameters. + * Defines values for ServerKeyType. \ + * {@link KnownServerKeyType} can be used interchangeably with ServerKeyType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ServiceManaged** \ + * **AzureKeyVault** */ -export interface ManagedInstanceKeysListByInstanceOptionalParams extends msRest.RequestOptionsBase { - /** - * An OData filter expression that filters elements in the collection. - */ - filter?: string; +export type ServerKeyType = string; + +/** Known values of {@link EncryptionProtectorName} that the service accepts. */ +export enum KnownEncryptionProtectorName { + Current = "current" } /** - * Optional Parameters. + * Defines values for EncryptionProtectorName. \ + * {@link KnownEncryptionProtectorName} can be used interchangeably with EncryptionProtectorName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **current** */ -export interface ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams extends msRest.RequestOptionsBase { - /** - * An OData filter expression that filters elements in the collection. - */ - filter?: string; +export type EncryptionProtectorName = string; + +/** Known values of {@link ReadWriteEndpointFailoverPolicy} that the service accepts. */ +export enum KnownReadWriteEndpointFailoverPolicy { + Manual = "Manual", + Automatic = "Automatic" } /** - * Optional Parameters. + * Defines values for ReadWriteEndpointFailoverPolicy. \ + * {@link KnownReadWriteEndpointFailoverPolicy} can be used interchangeably with ReadWriteEndpointFailoverPolicy, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Manual** \ + * **Automatic** */ -export interface ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams extends msRest.RequestOptionsBase { - /** - * Specifies whether to include disabled recommendations or not. - */ - includeDisabledRecommendations?: boolean; - skipToken?: string; - /** - * An OData filter expression that filters elements in the collection. - */ - filter?: string; +export type ReadWriteEndpointFailoverPolicy = string; + +/** Known values of {@link ReadOnlyEndpointFailoverPolicy} that the service accepts. */ +export enum KnownReadOnlyEndpointFailoverPolicy { + Disabled = "Disabled", + Enabled = "Enabled" } /** - * Optional Parameters. + * Defines values for ReadOnlyEndpointFailoverPolicy. \ + * {@link KnownReadOnlyEndpointFailoverPolicy} can be used interchangeably with ReadOnlyEndpointFailoverPolicy, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Disabled** \ + * **Enabled** */ -export interface UsagesListByInstancePoolOptionalParams extends msRest.RequestOptionsBase { - /** - * Optional request parameter to include managed instance usages within the instance pool. - */ - expandChildren?: boolean; +export type ReadOnlyEndpointFailoverPolicy = string; + +/** Known values of {@link FailoverGroupReplicationRole} that the service accepts. */ +export enum KnownFailoverGroupReplicationRole { + Primary = "Primary", + Secondary = "Secondary" } /** - * An interface representing SqlManagementClientOptions. + * Defines values for FailoverGroupReplicationRole. \ + * {@link KnownFailoverGroupReplicationRole} can be used interchangeably with FailoverGroupReplicationRole, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Primary** \ + * **Secondary** */ -export interface SqlManagementClientOptions extends AzureServiceClientOptions { - baseUri?: string; +export type FailoverGroupReplicationRole = string; + +/** Known values of {@link InstanceFailoverGroupReplicationRole} that the service accepts. */ +export enum KnownInstanceFailoverGroupReplicationRole { + Primary = "Primary", + Secondary = "Secondary" } /** - * @interface - * The response to a list recoverable databases request - * @extends Array + * Defines values for InstanceFailoverGroupReplicationRole. \ + * {@link KnownInstanceFailoverGroupReplicationRole} can be used interchangeably with InstanceFailoverGroupReplicationRole, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Primary** \ + * **Secondary** */ -export interface RecoverableDatabaseListResult extends Array { +export type InstanceFailoverGroupReplicationRole = string; + +/** Known values of {@link InstancePoolLicenseType} that the service accepts. */ +export enum KnownInstancePoolLicenseType { + LicenseIncluded = "LicenseIncluded", + BasePrice = "BasePrice" } /** - * @interface - * The response to a list restorable dropped databases request - * @extends Array + * Defines values for InstancePoolLicenseType. \ + * {@link KnownInstancePoolLicenseType} can be used interchangeably with InstancePoolLicenseType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **LicenseIncluded** \ + * **BasePrice** */ -export interface RestorableDroppedDatabaseListResult extends Array { +export type InstancePoolLicenseType = string; + +/** Known values of {@link JobAgentState} that the service accepts. */ +export enum KnownJobAgentState { + Creating = "Creating", + Ready = "Ready", + Updating = "Updating", + Deleting = "Deleting", + Disabled = "Disabled" } /** - * @interface - * A list of servers. - * @extends Array + * Defines values for JobAgentState. \ + * {@link KnownJobAgentState} can be used interchangeably with JobAgentState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Ready** \ + * **Updating** \ + * **Deleting** \ + * **Disabled** */ -export interface ServerListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type JobAgentState = string; + +/** Known values of {@link JobExecutionLifecycle} that the service accepts. */ +export enum KnownJobExecutionLifecycle { + Created = "Created", + InProgress = "InProgress", + WaitingForChildJobExecutions = "WaitingForChildJobExecutions", + WaitingForRetry = "WaitingForRetry", + Succeeded = "Succeeded", + SucceededWithSkipped = "SucceededWithSkipped", + Failed = "Failed", + TimedOut = "TimedOut", + Canceled = "Canceled", + Skipped = "Skipped" } /** - * @interface - * The response to a list data masking rules request. - * @extends Array + * Defines values for JobExecutionLifecycle. \ + * {@link KnownJobExecutionLifecycle} can be used interchangeably with JobExecutionLifecycle, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Created** \ + * **InProgress** \ + * **WaitingForChildJobExecutions** \ + * **WaitingForRetry** \ + * **Succeeded** \ + * **SucceededWithSkipped** \ + * **Failed** \ + * **TimedOut** \ + * **Canceled** \ + * **Skipped** */ -export interface DataMaskingRuleListResult extends Array { +export type JobExecutionLifecycle = string; + +/** Known values of {@link ProvisioningState} that the service accepts. */ +export enum KnownProvisioningState { + Created = "Created", + InProgress = "InProgress", + Succeeded = "Succeeded", + Failed = "Failed", + Canceled = "Canceled" } /** - * @interface - * Represents the response to a List Firewall Rules request. - * @extends Array + * 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 + * **Created** \ + * **InProgress** \ + * **Succeeded** \ + * **Failed** \ + * **Canceled** */ -export interface FirewallRuleListResult extends Array { +export type ProvisioningState = string; + +/** Known values of {@link JobTargetType} that the service accepts. */ +export enum KnownJobTargetType { + TargetGroup = "TargetGroup", + SqlDatabase = "SqlDatabase", + SqlElasticPool = "SqlElasticPool", + SqlShardMap = "SqlShardMap", + SqlServer = "SqlServer" } /** - * @interface - * The response to a list geo backup policies request. - * @extends Array + * Defines values for JobTargetType. \ + * {@link KnownJobTargetType} can be used interchangeably with JobTargetType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **TargetGroup** \ + * **SqlDatabase** \ + * **SqlElasticPool** \ + * **SqlShardMap** \ + * **SqlServer** + */ +export type JobTargetType = string; + +/** Known values of {@link JobStepActionType} that the service accepts. */ +export enum KnownJobStepActionType { + TSql = "TSql" +} + +/** + * Defines values for JobStepActionType. \ + * {@link KnownJobStepActionType} can be used interchangeably with JobStepActionType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **TSql** */ -export interface GeoBackupPolicyListResult extends Array { +export type JobStepActionType = string; + +/** Known values of {@link JobStepActionSource} that the service accepts. */ +export enum KnownJobStepActionSource { + Inline = "Inline" } /** - * @interface - * The response to a list database metrics request. - * @extends Array + * Defines values for JobStepActionSource. \ + * {@link KnownJobStepActionSource} can be used interchangeably with JobStepActionSource, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Inline** */ -export interface MetricListResult extends Array { +export type JobStepActionSource = string; + +/** Known values of {@link JobStepOutputType} that the service accepts. */ +export enum KnownJobStepOutputType { + SqlDatabase = "SqlDatabase" } /** - * @interface - * The response to a list database metric definitions request. - * @extends Array + * Defines values for JobStepOutputType. \ + * {@link KnownJobStepOutputType} can be used interchangeably with JobStepOutputType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **SqlDatabase** */ -export interface MetricDefinitionListResult extends Array { +export type JobStepOutputType = string; + +/** Known values of {@link CapabilityGroup} that the service accepts. */ +export enum KnownCapabilityGroup { + SupportedEditions = "supportedEditions", + SupportedElasticPoolEditions = "supportedElasticPoolEditions", + SupportedManagedInstanceVersions = "supportedManagedInstanceVersions", + SupportedInstancePoolEditions = "supportedInstancePoolEditions", + SupportedManagedInstanceEditions = "supportedManagedInstanceEditions" } /** - * @interface - * A list of databases. - * @extends Array + * Defines values for CapabilityGroup. \ + * {@link KnownCapabilityGroup} can be used interchangeably with CapabilityGroup, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **supportedEditions** \ + * **supportedElasticPoolEditions** \ + * **supportedManagedInstanceVersions** \ + * **supportedInstancePoolEditions** \ + * **supportedManagedInstanceEditions** */ -export interface DatabaseListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type CapabilityGroup = string; + +/** Known values of {@link MaxSizeUnit} that the service accepts. */ +export enum KnownMaxSizeUnit { + Megabytes = "Megabytes", + Gigabytes = "Gigabytes", + Terabytes = "Terabytes", + Petabytes = "Petabytes" } /** - * @interface - * The result of an elastic pool list request. - * @extends Array + * Defines values for MaxSizeUnit. \ + * {@link KnownMaxSizeUnit} can be used interchangeably with MaxSizeUnit, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Megabytes** \ + * **Gigabytes** \ + * **Terabytes** \ + * **Petabytes** */ -export interface ElasticPoolListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type MaxSizeUnit = string; + +/** Known values of {@link LogSizeUnit} that the service accepts. */ +export enum KnownLogSizeUnit { + Megabytes = "Megabytes", + Gigabytes = "Gigabytes", + Terabytes = "Terabytes", + Petabytes = "Petabytes", + Percent = "Percent" } /** - * @interface - * Represents the response to a list recommended elastic pool request. - * @extends Array + * Defines values for LogSizeUnit. \ + * {@link KnownLogSizeUnit} can be used interchangeably with LogSizeUnit, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Megabytes** \ + * **Gigabytes** \ + * **Terabytes** \ + * **Petabytes** \ + * **Percent** */ -export interface RecommendedElasticPoolListResult extends Array { +export type LogSizeUnit = string; + +/** Known values of {@link PerformanceLevelUnit} that the service accepts. */ +export enum KnownPerformanceLevelUnit { + DTU = "DTU", + VCores = "VCores" } /** - * @interface - * Represents the response to a list recommended elastic pool metrics request. - * @extends Array + * Defines values for PerformanceLevelUnit. \ + * {@link KnownPerformanceLevelUnit} can be used interchangeably with PerformanceLevelUnit, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **DTU** \ + * **VCores** */ -export interface RecommendedElasticPoolListMetricsResult extends Array { +export type PerformanceLevelUnit = string; + +/** Known values of {@link PauseDelayTimeUnit} that the service accepts. */ +export enum KnownPauseDelayTimeUnit { + Minutes = "Minutes" } /** - * @interface - * Represents the response to a List database replication link request. - * @extends Array + * Defines values for PauseDelayTimeUnit. \ + * {@link KnownPauseDelayTimeUnit} can be used interchangeably with PauseDelayTimeUnit, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Minutes** */ -export interface ReplicationLinkListResult extends Array { +export type PauseDelayTimeUnit = string; + +/** Known values of {@link StorageCapabilityStorageAccountType} that the service accepts. */ +export enum KnownStorageCapabilityStorageAccountType { + GRS = "GRS", + LRS = "LRS", + ZRS = "ZRS" } /** - * @interface - * The response to a list Active Directory Administrators request. - * @extends Array + * Defines values for StorageCapabilityStorageAccountType. \ + * {@link KnownStorageCapabilityStorageAccountType} can be used interchangeably with StorageCapabilityStorageAccountType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **GRS** \ + * **LRS** \ + * **ZRS** */ -export interface ServerAdministratorListResult extends Array { +export type StorageCapabilityStorageAccountType = string; + +/** Known values of {@link TargetBackupStorageRedundancy} that the service accepts. */ +export enum KnownTargetBackupStorageRedundancy { + Geo = "Geo", + Local = "Local", + Zone = "Zone" } /** - * @interface - * A list of server communication links. - * @extends Array + * Defines values for TargetBackupStorageRedundancy. \ + * {@link KnownTargetBackupStorageRedundancy} can be used interchangeably with TargetBackupStorageRedundancy, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Geo** \ + * **Local** \ + * **Zone** */ -export interface ServerCommunicationLinkListResult extends Array { +export type TargetBackupStorageRedundancy = string; + +/** Known values of {@link BackupStorageRedundancy} that the service accepts. */ +export enum KnownBackupStorageRedundancy { + Geo = "Geo", + Local = "Local", + Zone = "Zone" } /** - * @interface - * Represents the response to a get database service objectives request. - * @extends Array + * Defines values for BackupStorageRedundancy. \ + * {@link KnownBackupStorageRedundancy} can be used interchangeably with BackupStorageRedundancy, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Geo** \ + * **Local** \ + * **Zone** */ -export interface ServiceObjectiveListResult extends Array { +export type BackupStorageRedundancy = string; + +/** Known values of {@link RequestedBackupStorageRedundancy} that the service accepts. */ +export enum KnownRequestedBackupStorageRedundancy { + Geo = "Geo", + Local = "Local", + Zone = "Zone" } /** - * @interface - * Represents the response to a list elastic pool activity request. - * @extends Array + * Defines values for RequestedBackupStorageRedundancy. \ + * {@link KnownRequestedBackupStorageRedundancy} can be used interchangeably with RequestedBackupStorageRedundancy, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Geo** \ + * **Local** \ + * **Zone** */ -export interface ElasticPoolActivityListResult extends Array { +export type RequestedBackupStorageRedundancy = string; + +/** Known values of {@link DatabaseState} that the service accepts. */ +export enum KnownDatabaseState { + All = "All", + Live = "Live", + Deleted = "Deleted" } /** - * @interface - * Represents the response to a list elastic pool database activity request. - * @extends Array + * Defines values for DatabaseState. \ + * {@link KnownDatabaseState} can be used interchangeably with DatabaseState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **All** \ + * **Live** \ + * **Deleted** */ -export interface ElasticPoolDatabaseActivityListResult extends Array { +export type DatabaseState = string; + +/** Known values of {@link LongTermRetentionPolicyName} that the service accepts. */ +export enum KnownLongTermRetentionPolicyName { + Default = "default" } /** - * @interface - * Represents the response to a list service tier advisor request. - * @extends Array + * Defines values for LongTermRetentionPolicyName. \ + * {@link KnownLongTermRetentionPolicyName} can be used interchangeably with LongTermRetentionPolicyName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **default** */ -export interface ServiceTierAdvisorListResult extends Array { +export type LongTermRetentionPolicyName = string; + +/** Known values of {@link DayOfWeek} that the service accepts. */ +export enum KnownDayOfWeek { + Sunday = "Sunday", + Monday = "Monday", + Tuesday = "Tuesday", + Wednesday = "Wednesday", + Thursday = "Thursday", + Friday = "Friday", + Saturday = "Saturday" } /** - * @interface - * Represents the response to a list database transparent data encryption activity request. - * @extends Array + * Defines values for DayOfWeek. \ + * {@link KnownDayOfWeek} can be used interchangeably with DayOfWeek, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Sunday** \ + * **Monday** \ + * **Tuesday** \ + * **Wednesday** \ + * **Thursday** \ + * **Friday** \ + * **Saturday** */ -export interface TransparentDataEncryptionActivityListResult extends Array { +export type DayOfWeek = string; + +/** Known values of {@link ManagedShortTermRetentionPolicyName} that the service accepts. */ +export enum KnownManagedShortTermRetentionPolicyName { + Default = "default" } /** - * @interface - * Represents the response to a list server metrics request. - * @extends Array + * Defines values for ManagedShortTermRetentionPolicyName. \ + * {@link KnownManagedShortTermRetentionPolicyName} can be used interchangeably with ManagedShortTermRetentionPolicyName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **default** */ -export interface ServerUsageListResult extends Array { +export type ManagedShortTermRetentionPolicyName = string; + +/** Known values of {@link QueryTimeGrainType} that the service accepts. */ +export enum KnownQueryTimeGrainType { + PT1H = "PT1H", + P1D = "P1D" } /** - * @interface - * The response to a list database metrics request. - * @extends Array + * Defines values for QueryTimeGrainType. \ + * {@link KnownQueryTimeGrainType} can be used interchangeably with QueryTimeGrainType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **PT1H** \ + * **P1D** */ -export interface DatabaseUsageListResult extends Array { +export type QueryTimeGrainType = string; + +/** Known values of {@link QueryMetricUnitType} that the service accepts. */ +export enum KnownQueryMetricUnitType { + Percentage = "percentage", + KB = "KB", + Microseconds = "microseconds", + Count = "count" } /** - * @interface - * A list of server encryption protectors. - * @extends Array + * Defines values for QueryMetricUnitType. \ + * {@link KnownQueryMetricUnitType} can be used interchangeably with QueryMetricUnitType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **percentage** \ + * **KB** \ + * **microseconds** \ + * **count** */ -export interface EncryptionProtectorListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type QueryMetricUnitType = string; + +/** Known values of {@link RestoreDetailsName} that the service accepts. */ +export enum KnownRestoreDetailsName { + Default = "Default" } /** - * @interface - * A list of failover groups. - * @extends Array + * Defines values for RestoreDetailsName. \ + * {@link KnownRestoreDetailsName} can be used interchangeably with RestoreDetailsName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** */ -export interface FailoverGroupListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type RestoreDetailsName = string; + +/** Known values of {@link ManagedDatabaseStatus} that the service accepts. */ +export enum KnownManagedDatabaseStatus { + Online = "Online", + Offline = "Offline", + Shutdown = "Shutdown", + Creating = "Creating", + Inaccessible = "Inaccessible", + Restoring = "Restoring", + Updating = "Updating" } /** - * @interface - * Result of the request to list SQL operations. - * @extends Array + * Defines values for ManagedDatabaseStatus. \ + * {@link KnownManagedDatabaseStatus} can be used interchangeably with ManagedDatabaseStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Online** \ + * **Offline** \ + * **Shutdown** \ + * **Creating** \ + * **Inaccessible** \ + * **Restoring** \ + * **Updating** */ -export interface OperationListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ManagedDatabaseStatus = string; + +/** Known values of {@link CatalogCollationType} that the service accepts. */ +export enum KnownCatalogCollationType { + DatabaseDefault = "DATABASE_DEFAULT", + SQLLatin1GeneralCP1CIAS = "SQL_Latin1_General_CP1_CI_AS" } /** - * @interface - * A list of server keys. - * @extends Array + * Defines values for CatalogCollationType. \ + * {@link KnownCatalogCollationType} can be used interchangeably with CatalogCollationType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **DATABASE_DEFAULT** \ + * **SQL_Latin1_General_CP1_CI_AS** */ -export interface ServerKeyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type CatalogCollationType = string; + +/** Known values of {@link ManagedDatabaseCreateMode} that the service accepts. */ +export enum KnownManagedDatabaseCreateMode { + Default = "Default", + RestoreExternalBackup = "RestoreExternalBackup", + PointInTimeRestore = "PointInTimeRestore", + Recovery = "Recovery", + RestoreLongTermRetentionBackup = "RestoreLongTermRetentionBackup" } /** - * @interface - * A list of sync agents. - * @extends Array + * Defines values for ManagedDatabaseCreateMode. \ + * {@link KnownManagedDatabaseCreateMode} can be used interchangeably with ManagedDatabaseCreateMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **RestoreExternalBackup** \ + * **PointInTimeRestore** \ + * **Recovery** \ + * **RestoreLongTermRetentionBackup** */ -export interface SyncAgentListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ManagedDatabaseCreateMode = string; + +/** Known values of {@link ManagedInstanceAdministratorType} that the service accepts. */ +export enum KnownManagedInstanceAdministratorType { + ActiveDirectory = "ActiveDirectory" } /** - * @interface - * A list of sync agent linked databases. - * @extends Array + * Defines values for ManagedInstanceAdministratorType. \ + * {@link KnownManagedInstanceAdministratorType} can be used interchangeably with ManagedInstanceAdministratorType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ActiveDirectory** */ -export interface SyncAgentLinkedDatabaseListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ManagedInstanceAdministratorType = string; + +/** Known values of {@link AdministratorName} that the service accepts. */ +export enum KnownAdministratorName { + ActiveDirectory = "ActiveDirectory" } /** - * @interface - * A list of sync database ID properties. - * @extends Array + * Defines values for AdministratorName. \ + * {@link KnownAdministratorName} can be used interchangeably with AdministratorName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ActiveDirectory** */ -export interface SyncDatabaseIdListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type AdministratorName = string; + +/** Known values of {@link AuthenticationName} that the service accepts. */ +export enum KnownAuthenticationName { + Default = "Default" } /** - * @interface - * A list of sync schema properties. - * @extends Array + * Defines values for AuthenticationName. \ + * {@link KnownAuthenticationName} can be used interchangeably with AuthenticationName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** */ -export interface SyncFullSchemaPropertiesListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type AuthenticationName = string; + +/** Known values of {@link ManagedInstanceLongTermRetentionPolicyName} that the service accepts. */ +export enum KnownManagedInstanceLongTermRetentionPolicyName { + Default = "default" } /** - * @interface - * A list of sync group log properties. - * @extends Array + * Defines values for ManagedInstanceLongTermRetentionPolicyName. \ + * {@link KnownManagedInstanceLongTermRetentionPolicyName} can be used interchangeably with ManagedInstanceLongTermRetentionPolicyName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **default** */ -export interface SyncGroupLogListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ManagedInstanceLongTermRetentionPolicyName = string; + +/** Known values of {@link ManagementOperationState} that the service accepts. */ +export enum KnownManagementOperationState { + Pending = "Pending", + InProgress = "InProgress", + Succeeded = "Succeeded", + Failed = "Failed", + CancelInProgress = "CancelInProgress", + Cancelled = "Cancelled" } /** - * @interface - * A list of sync groups. - * @extends Array + * Defines values for ManagementOperationState. \ + * {@link KnownManagementOperationState} can be used interchangeably with ManagementOperationState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pending** \ + * **InProgress** \ + * **Succeeded** \ + * **Failed** \ + * **CancelInProgress** \ + * **Cancelled** */ -export interface SyncGroupListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ManagementOperationState = string; + +/** Known values of {@link UpsertManagedServerOperationStepStatus} that the service accepts. */ +export enum KnownUpsertManagedServerOperationStepStatus { + NotStarted = "NotStarted", + InProgress = "InProgress", + SlowedDown = "SlowedDown", + Completed = "Completed", + Failed = "Failed", + Canceled = "Canceled" } /** - * @interface - * A list of Azure SQL Database sync members. - * @extends Array + * Defines values for UpsertManagedServerOperationStepStatus. \ + * {@link KnownUpsertManagedServerOperationStepStatus} can be used interchangeably with UpsertManagedServerOperationStepStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NotStarted** \ + * **InProgress** \ + * **SlowedDown** \ + * **Completed** \ + * **Failed** \ + * **Canceled** */ -export interface SyncMemberListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type UpsertManagedServerOperationStepStatus = string; + +/** Known values of {@link IdentityType} that the service accepts. */ +export enum KnownIdentityType { + None = "None", + SystemAssigned = "SystemAssigned", + UserAssigned = "UserAssigned", + SystemAssignedUserAssigned = "SystemAssigned,UserAssigned" } /** - * @interface - * A list of subscription usage metrics in a location. - * @extends Array + * Defines values for IdentityType. \ + * {@link KnownIdentityType} can be used interchangeably with IdentityType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **SystemAssigned** \ + * **UserAssigned** \ + * **SystemAssigned,UserAssigned** */ -export interface SubscriptionUsageListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type IdentityType = string; + +/** Known values of {@link ManagedInstancePropertiesProvisioningState} that the service accepts. */ +export enum KnownManagedInstancePropertiesProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Updating = "Updating", + Unknown = "Unknown", + Succeeded = "Succeeded", + Failed = "Failed" } /** - * @interface - * A list of virtual clusters. - * @extends Array + * Defines values for ManagedInstancePropertiesProvisioningState. \ + * {@link KnownManagedInstancePropertiesProvisioningState} can be used interchangeably with ManagedInstancePropertiesProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Deleting** \ + * **Updating** \ + * **Unknown** \ + * **Succeeded** \ + * **Failed** */ -export interface VirtualClusterListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ManagedInstancePropertiesProvisioningState = string; + +/** Known values of {@link ManagedServerCreateMode} that the service accepts. */ +export enum KnownManagedServerCreateMode { + Default = "Default", + PointInTimeRestore = "PointInTimeRestore" } /** - * @interface - * A list of virtual network rules. - * @extends Array + * Defines values for ManagedServerCreateMode. \ + * {@link KnownManagedServerCreateMode} can be used interchangeably with ManagedServerCreateMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **PointInTimeRestore** */ -export interface VirtualNetworkRuleListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ManagedServerCreateMode = string; + +/** Known values of {@link ManagedInstanceLicenseType} that the service accepts. */ +export enum KnownManagedInstanceLicenseType { + LicenseIncluded = "LicenseIncluded", + BasePrice = "BasePrice" +} + +/** + * Defines values for ManagedInstanceLicenseType. \ + * {@link KnownManagedInstanceLicenseType} can be used interchangeably with ManagedInstanceLicenseType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **LicenseIncluded** \ + * **BasePrice** + */ +export type ManagedInstanceLicenseType = string; + +/** Known values of {@link ManagedInstanceProxyOverride} that the service accepts. */ +export enum KnownManagedInstanceProxyOverride { + Proxy = "Proxy", + Redirect = "Redirect", + Default = "Default" +} + +/** + * Defines values for ManagedInstanceProxyOverride. \ + * {@link KnownManagedInstanceProxyOverride} can be used interchangeably with ManagedInstanceProxyOverride, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Proxy** \ + * **Redirect** \ + * **Default** + */ +export type ManagedInstanceProxyOverride = string; + +/** Known values of {@link StorageAccountType} that the service accepts. */ +export enum KnownStorageAccountType { + GRS = "GRS", + LRS = "LRS", + ZRS = "ZRS" +} + +/** + * Defines values for StorageAccountType. \ + * {@link KnownStorageAccountType} can be used interchangeably with StorageAccountType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **GRS** \ + * **LRS** \ + * **ZRS** + */ +export type StorageAccountType = string; + +/** Known values of {@link AdministratorType} that the service accepts. */ +export enum KnownAdministratorType { + ActiveDirectory = "ActiveDirectory" +} + +/** + * Defines values for AdministratorType. \ + * {@link KnownAdministratorType} can be used interchangeably with AdministratorType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ActiveDirectory** + */ +export type AdministratorType = string; + +/** Known values of {@link PrincipalType} that the service accepts. */ +export enum KnownPrincipalType { + User = "User", + Group = "Group", + Application = "Application" +} + +/** + * Defines values for PrincipalType. \ + * {@link KnownPrincipalType} can be used interchangeably with PrincipalType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Group** \ + * **Application** + */ +export type PrincipalType = string; + +/** Known values of {@link AggregationFunctionType} that the service accepts. */ +export enum KnownAggregationFunctionType { + Avg = "avg", + Min = "min", + Max = "max", + Stdev = "stdev", + Sum = "sum" } /** - * @interface - * A list of server auditing settings. - * @extends Array + * Defines values for AggregationFunctionType. \ + * {@link KnownAggregationFunctionType} can be used interchangeably with AggregationFunctionType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **avg** \ + * **min** \ + * **max** \ + * **stdev** \ + * **sum** */ -export interface ServerBlobAuditingPolicyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type AggregationFunctionType = string; + +/** Known values of {@link MetricType} that the service accepts. */ +export enum KnownMetricType { + Cpu = "cpu", + Io = "io", + LogIo = "logIo", + Duration = "duration", + Dtu = "dtu" } /** - * @interface - * A list of database auditing settings. - * @extends Array + * Defines values for MetricType. \ + * {@link KnownMetricType} can be used interchangeably with MetricType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **cpu** \ + * **io** \ + * **logIo** \ + * **duration** \ + * **dtu** */ -export interface DatabaseBlobAuditingPolicyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type MetricType = string; + +/** Known values of {@link ReplicaType} that the service accepts. */ +export enum KnownReplicaType { + Primary = "Primary", + ReadableSecondary = "ReadableSecondary" } /** - * @interface - * A list of the database's vulnerability assessments. - * @extends Array + * Defines values for ReplicaType. \ + * {@link KnownReplicaType} can be used interchangeably with ReplicaType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Primary** \ + * **ReadableSecondary** */ -export interface DatabaseVulnerabilityAssessmentListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ReplicaType = string; + +/** Known values of {@link OperationOrigin} that the service accepts. */ +export enum KnownOperationOrigin { + User = "user", + System = "system" } /** - * @interface - * A list of Azure SQL job agents. - * @extends Array + * Defines values for OperationOrigin. \ + * {@link KnownOperationOrigin} can be used interchangeably with OperationOrigin, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **user** \ + * **system** */ -export interface JobAgentListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type OperationOrigin = string; + +/** Known values of {@link PrivateLinkServiceConnectionStateStatus} that the service accepts. */ +export enum KnownPrivateLinkServiceConnectionStateStatus { + Approved = "Approved", + Pending = "Pending", + Rejected = "Rejected", + Disconnected = "Disconnected" } /** - * @interface - * A list of job credentials. - * @extends Array + * Defines values for PrivateLinkServiceConnectionStateStatus. \ + * {@link KnownPrivateLinkServiceConnectionStateStatus} can be used interchangeably with PrivateLinkServiceConnectionStateStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Approved** \ + * **Pending** \ + * **Rejected** \ + * **Disconnected** */ -export interface JobCredentialListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type PrivateLinkServiceConnectionStateStatus = string; + +/** Known values of {@link PrivateLinkServiceConnectionStateActionsRequire} that the service accepts. */ +export enum KnownPrivateLinkServiceConnectionStateActionsRequire { + None = "None" } /** - * @interface - * A list of job executions. - * @extends Array + * Defines values for PrivateLinkServiceConnectionStateActionsRequire. \ + * {@link KnownPrivateLinkServiceConnectionStateActionsRequire} can be used interchangeably with PrivateLinkServiceConnectionStateActionsRequire, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** */ -export interface JobExecutionListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type PrivateLinkServiceConnectionStateActionsRequire = string; + +/** Known values of {@link PrivateEndpointProvisioningState} that the service accepts. */ +export enum KnownPrivateEndpointProvisioningState { + Approving = "Approving", + Ready = "Ready", + Dropping = "Dropping", + Failed = "Failed", + Rejecting = "Rejecting" } /** - * @interface - * A list of jobs. - * @extends Array + * Defines values for PrivateEndpointProvisioningState. \ + * {@link KnownPrivateEndpointProvisioningState} can be used interchangeably with PrivateEndpointProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Approving** \ + * **Ready** \ + * **Dropping** \ + * **Failed** \ + * **Rejecting** */ -export interface JobListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type PrivateEndpointProvisioningState = string; + +/** Known values of {@link ServerTrustGroupPropertiesTrustScopesItem} that the service accepts. */ +export enum KnownServerTrustGroupPropertiesTrustScopesItem { + GlobalTransactions = "GlobalTransactions", + ServiceBroker = "ServiceBroker" } /** - * @interface - * A list of job steps. - * @extends Array + * Defines values for ServerTrustGroupPropertiesTrustScopesItem. \ + * {@link KnownServerTrustGroupPropertiesTrustScopesItem} can be used interchangeably with ServerTrustGroupPropertiesTrustScopesItem, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **GlobalTransactions** \ + * **ServiceBroker** */ -export interface JobStepListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ServerTrustGroupPropertiesTrustScopesItem = string; + +/** Known values of {@link SqlAgentConfigurationPropertiesState} that the service accepts. */ +export enum KnownSqlAgentConfigurationPropertiesState { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * @interface - * A list of target groups. - * @extends Array + * Defines values for SqlAgentConfigurationPropertiesState. \ + * {@link KnownSqlAgentConfigurationPropertiesState} can be used interchangeably with SqlAgentConfigurationPropertiesState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** */ -export interface JobTargetGroupListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type SqlAgentConfigurationPropertiesState = string; + +/** Known values of {@link SyncAgentState} that the service accepts. */ +export enum KnownSyncAgentState { + Online = "Online", + Offline = "Offline", + NeverConnected = "NeverConnected" } /** - * @interface - * A list of job versions. - * @extends Array + * Defines values for SyncAgentState. \ + * {@link KnownSyncAgentState} can be used interchangeably with SyncAgentState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Online** \ + * **Offline** \ + * **NeverConnected** */ -export interface JobVersionListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type SyncAgentState = string; + +/** Known values of {@link SyncMemberDbType} that the service accepts. */ +export enum KnownSyncMemberDbType { + AzureSqlDatabase = "AzureSqlDatabase", + SqlServerDatabase = "SqlServerDatabase" } /** - * @interface - * A list of long term retention backups. - * @extends Array + * Defines values for SyncMemberDbType. \ + * {@link KnownSyncMemberDbType} can be used interchangeably with SyncMemberDbType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AzureSqlDatabase** \ + * **SqlServerDatabase** */ -export interface LongTermRetentionBackupListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type SyncMemberDbType = string; + +/** Known values of {@link Enum76} that the service accepts. */ +export enum KnownEnum76 { + All = "All", + Error = "Error", + Warning = "Warning", + Success = "Success" } /** - * @interface - * A list of short term retention policies. - * @extends Array + * Defines values for Enum76. \ + * {@link KnownEnum76} can be used interchangeably with Enum76, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **All** \ + * **Error** \ + * **Warning** \ + * **Success** */ -export interface ManagedBackupShortTermRetentionPolicyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type Enum76 = string; + +/** Known values of {@link SyncGroupLogType} that the service accepts. */ +export enum KnownSyncGroupLogType { + All = "All", + Error = "Error", + Warning = "Warning", + Success = "Success" } /** - * @interface - * A list of server DNS aliases. - * @extends Array - */ -export interface ServerDnsAliasListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; + * Defines values for SyncGroupLogType. \ + * {@link KnownSyncGroupLogType} can be used interchangeably with SyncGroupLogType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **All** \ + * **Error** \ + * **Warning** \ + * **Success** + */ +export type SyncGroupLogType = string; + +/** Known values of {@link SyncConflictResolutionPolicy} that the service accepts. */ +export enum KnownSyncConflictResolutionPolicy { + HubWin = "HubWin", + MemberWin = "MemberWin" +} + +/** + * Defines values for SyncConflictResolutionPolicy. \ + * {@link KnownSyncConflictResolutionPolicy} can be used interchangeably with SyncConflictResolutionPolicy, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **HubWin** \ + * **MemberWin** + */ +export type SyncConflictResolutionPolicy = string; + +/** Known values of {@link SyncGroupState} that the service accepts. */ +export enum KnownSyncGroupState { + NotReady = "NotReady", + Error = "Error", + Warning = "Warning", + Progressing = "Progressing", + Good = "Good" +} + +/** + * Defines values for SyncGroupState. \ + * {@link KnownSyncGroupState} can be used interchangeably with SyncGroupState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NotReady** \ + * **Error** \ + * **Warning** \ + * **Progressing** \ + * **Good** + */ +export type SyncGroupState = string; + +/** Known values of {@link SyncDirection} that the service accepts. */ +export enum KnownSyncDirection { + Bidirectional = "Bidirectional", + OneWayMemberToHub = "OneWayMemberToHub", + OneWayHubToMember = "OneWayHubToMember" +} + +/** + * Defines values for SyncDirection. \ + * {@link KnownSyncDirection} can be used interchangeably with SyncDirection, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Bidirectional** \ + * **OneWayMemberToHub** \ + * **OneWayHubToMember** + */ +export type SyncDirection = string; + +/** Known values of {@link SyncMemberState} that the service accepts. */ +export enum KnownSyncMemberState { + SyncInProgress = "SyncInProgress", + SyncSucceeded = "SyncSucceeded", + SyncFailed = "SyncFailed", + DisabledTombstoneCleanup = "DisabledTombstoneCleanup", + DisabledBackupRestore = "DisabledBackupRestore", + SyncSucceededWithWarnings = "SyncSucceededWithWarnings", + SyncCancelling = "SyncCancelling", + SyncCancelled = "SyncCancelled", + UnProvisioned = "UnProvisioned", + Provisioning = "Provisioning", + Provisioned = "Provisioned", + ProvisionFailed = "ProvisionFailed", + DeProvisioning = "DeProvisioning", + DeProvisioned = "DeProvisioned", + DeProvisionFailed = "DeProvisionFailed", + Reprovisioning = "Reprovisioning", + ReprovisionFailed = "ReprovisionFailed", + UnReprovisioned = "UnReprovisioned" +} + +/** + * Defines values for SyncMemberState. \ + * {@link KnownSyncMemberState} can be used interchangeably with SyncMemberState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **SyncInProgress** \ + * **SyncSucceeded** \ + * **SyncFailed** \ + * **DisabledTombstoneCleanup** \ + * **DisabledBackupRestore** \ + * **SyncSucceededWithWarnings** \ + * **SyncCancelling** \ + * **SyncCancelled** \ + * **UnProvisioned** \ + * **Provisioning** \ + * **Provisioned** \ + * **ProvisionFailed** \ + * **DeProvisioning** \ + * **DeProvisioned** \ + * **DeProvisionFailed** \ + * **Reprovisioning** \ + * **ReprovisionFailed** \ + * **UnReprovisioned** + */ +export type SyncMemberState = string; + +/** Known values of {@link DnsRefreshConfigurationPropertiesStatus} that the service accepts. */ +export enum KnownDnsRefreshConfigurationPropertiesStatus { + Succeeded = "Succeeded", + Failed = "Failed" +} + +/** + * Defines values for DnsRefreshConfigurationPropertiesStatus. \ + * {@link KnownDnsRefreshConfigurationPropertiesStatus} can be used interchangeably with DnsRefreshConfigurationPropertiesStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **Failed** + */ +export type DnsRefreshConfigurationPropertiesStatus = string; + +/** Known values of {@link VirtualNetworkRuleState} that the service accepts. */ +export enum KnownVirtualNetworkRuleState { + Initializing = "Initializing", + InProgress = "InProgress", + Ready = "Ready", + Failed = "Failed", + Deleting = "Deleting", + Unknown = "Unknown" +} + +/** + * Defines values for VirtualNetworkRuleState. \ + * {@link KnownVirtualNetworkRuleState} can be used interchangeably with VirtualNetworkRuleState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Initializing** \ + * **InProgress** \ + * **Ready** \ + * **Failed** \ + * **Deleting** \ + * **Unknown** + */ +export type VirtualNetworkRuleState = string; + +/** Known values of {@link ShortTermRetentionPolicyName} that the service accepts. */ +export enum KnownShortTermRetentionPolicyName { + Default = "default" +} + +/** + * Defines values for ShortTermRetentionPolicyName. \ + * {@link KnownShortTermRetentionPolicyName} can be used interchangeably with ShortTermRetentionPolicyName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **default** + */ +export type ShortTermRetentionPolicyName = string; + +/** Known values of {@link DiffBackupIntervalInHours} that the service accepts. */ +export enum KnownDiffBackupIntervalInHours { + Twelve = 12, + TwentyFour = 24 +} + +/** + * Defines values for DiffBackupIntervalInHours. \ + * {@link KnownDiffBackupIntervalInHours} can be used interchangeably with DiffBackupIntervalInHours, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **12** \ + * **24** + */ +export type DiffBackupIntervalInHours = number; + +/** Known values of {@link CreateMode} that the service accepts. */ +export enum KnownCreateMode { + Default = "Default", + Copy = "Copy", + Secondary = "Secondary", + PointInTimeRestore = "PointInTimeRestore", + Restore = "Restore", + Recovery = "Recovery", + RestoreExternalBackup = "RestoreExternalBackup", + RestoreExternalBackupSecondary = "RestoreExternalBackupSecondary", + RestoreLongTermRetentionBackup = "RestoreLongTermRetentionBackup", + OnlineSecondary = "OnlineSecondary" +} + +/** + * Defines values for CreateMode. \ + * {@link KnownCreateMode} can be used interchangeably with CreateMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **Copy** \ + * **Secondary** \ + * **PointInTimeRestore** \ + * **Restore** \ + * **Recovery** \ + * **RestoreExternalBackup** \ + * **RestoreExternalBackupSecondary** \ + * **RestoreLongTermRetentionBackup** \ + * **OnlineSecondary** + */ +export type CreateMode = string; + +/** Known values of {@link SampleName} that the service accepts. */ +export enum KnownSampleName { + AdventureWorksLT = "AdventureWorksLT", + WideWorldImportersStd = "WideWorldImportersStd", + WideWorldImportersFull = "WideWorldImportersFull" +} + +/** + * Defines values for SampleName. \ + * {@link KnownSampleName} can be used interchangeably with SampleName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AdventureWorksLT** \ + * **WideWorldImportersStd** \ + * **WideWorldImportersFull** + */ +export type SampleName = string; + +/** Known values of {@link DatabaseStatus} that the service accepts. */ +export enum KnownDatabaseStatus { + Online = "Online", + Restoring = "Restoring", + RecoveryPending = "RecoveryPending", + Recovering = "Recovering", + Suspect = "Suspect", + Offline = "Offline", + Standby = "Standby", + Shutdown = "Shutdown", + EmergencyMode = "EmergencyMode", + AutoClosed = "AutoClosed", + Copying = "Copying", + Creating = "Creating", + Inaccessible = "Inaccessible", + OfflineSecondary = "OfflineSecondary", + Pausing = "Pausing", + Paused = "Paused", + Resuming = "Resuming", + Scaling = "Scaling", + OfflineChangingDwPerformanceTiers = "OfflineChangingDwPerformanceTiers", + OnlineChangingDwPerformanceTiers = "OnlineChangingDwPerformanceTiers", + Disabled = "Disabled" +} + +/** + * Defines values for DatabaseStatus. \ + * {@link KnownDatabaseStatus} can be used interchangeably with DatabaseStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Online** \ + * **Restoring** \ + * **RecoveryPending** \ + * **Recovering** \ + * **Suspect** \ + * **Offline** \ + * **Standby** \ + * **Shutdown** \ + * **EmergencyMode** \ + * **AutoClosed** \ + * **Copying** \ + * **Creating** \ + * **Inaccessible** \ + * **OfflineSecondary** \ + * **Pausing** \ + * **Paused** \ + * **Resuming** \ + * **Scaling** \ + * **OfflineChangingDwPerformanceTiers** \ + * **OnlineChangingDwPerformanceTiers** \ + * **Disabled** + */ +export type DatabaseStatus = string; + +/** Known values of {@link DatabaseLicenseType} that the service accepts. */ +export enum KnownDatabaseLicenseType { + LicenseIncluded = "LicenseIncluded", + BasePrice = "BasePrice" +} + +/** + * Defines values for DatabaseLicenseType. \ + * {@link KnownDatabaseLicenseType} can be used interchangeably with DatabaseLicenseType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **LicenseIncluded** \ + * **BasePrice** + */ +export type DatabaseLicenseType = string; + +/** Known values of {@link DatabaseReadScale} that the service accepts. */ +export enum KnownDatabaseReadScale { + Enabled = "Enabled", + Disabled = "Disabled" } /** - * @interface - * A list of the server's security alert policies. - * @extends Array + * Defines values for DatabaseReadScale. \ + * {@link KnownDatabaseReadScale} can be used interchangeably with DatabaseReadScale, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** */ -export interface LogicalServerSecurityAlertPolicyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type DatabaseReadScale = string; + +/** Known values of {@link SecondaryType} that the service accepts. */ +export enum KnownSecondaryType { + Geo = "Geo", + Named = "Named" } /** - * @interface - * A list of restorable dropped managed databases. - * @extends Array + * Defines values for SecondaryType. \ + * {@link KnownSecondaryType} can be used interchangeably with SecondaryType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Geo** \ + * **Named** */ -export interface RestorableDroppedManagedDatabaseListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type SecondaryType = string; + +/** Known values of {@link CurrentBackupStorageRedundancy} that the service accepts. */ +export enum KnownCurrentBackupStorageRedundancy { + Geo = "Geo", + Local = "Local", + Zone = "Zone" } /** - * @interface - * A list of long term retention backups. - * @extends Array + * Defines values for CurrentBackupStorageRedundancy. \ + * {@link KnownCurrentBackupStorageRedundancy} can be used interchangeably with CurrentBackupStorageRedundancy, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Geo** \ + * **Local** \ + * **Zone** */ -export interface RestorePointListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type CurrentBackupStorageRedundancy = string; + +/** Known values of {@link StorageKeyType} that the service accepts. */ +export enum KnownStorageKeyType { + SharedAccessKey = "SharedAccessKey", + StorageAccessKey = "StorageAccessKey" } /** - * @interface - * A list of the managed database's security alert policies. - * @extends Array + * Defines values for StorageKeyType. \ + * {@link KnownStorageKeyType} can be used interchangeably with StorageKeyType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **SharedAccessKey** \ + * **StorageAccessKey** */ -export interface ManagedDatabaseSecurityAlertPolicyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type StorageKeyType = string; + +/** Known values of {@link OperationMode} that the service accepts. */ +export enum KnownOperationMode { + PolybaseImport = "PolybaseImport" } /** - * @interface - * A list of the managed Server's security alert policies. - * @extends Array + * Defines values for OperationMode. \ + * {@link KnownOperationMode} can be used interchangeably with OperationMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **PolybaseImport** */ -export interface ManagedServerSecurityAlertPolicyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type OperationMode = string; + +/** Known values of {@link LedgerDigestUploadsName} that the service accepts. */ +export enum KnownLedgerDigestUploadsName { + Current = "current" } /** - * @interface - * A list of sensitivity labels. - * @extends Array + * Defines values for LedgerDigestUploadsName. \ + * {@link KnownLedgerDigestUploadsName} can be used interchangeably with LedgerDigestUploadsName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **current** */ -export interface SensitivityLabelListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type LedgerDigestUploadsName = string; + +/** Known values of {@link ReplicationState} that the service accepts. */ +export enum KnownReplicationState { + Pending = "PENDING", + Seeding = "SEEDING", + CatchUP = "CATCH_UP", + Suspended = "SUSPENDED" } /** - * @interface - * A list of managed instance administrators. - * @extends Array + * Defines values for ReplicationState. \ + * {@link KnownReplicationState} can be used interchangeably with ReplicationState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **PENDING** \ + * **SEEDING** \ + * **CATCH_UP** \ + * **SUSPENDED** */ -export interface ManagedInstanceAdministratorListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +export type ReplicationState = string; + +/** Known values of {@link ReplicationLinkType} that the service accepts. */ +export enum KnownReplicationLinkType { + GEO = "GEO", + Named = "NAMED" +} + +/** + * Defines values for ReplicationLinkType. \ + * {@link KnownReplicationLinkType} can be used interchangeably with ReplicationLinkType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **GEO** \ + * **NAMED** + */ +export type ReplicationLinkType = string; + +/** Known values of {@link RestorableDroppedDatabasePropertiesBackupStorageRedundancy} that the service accepts. */ +export enum KnownRestorableDroppedDatabasePropertiesBackupStorageRedundancy { + Geo = "Geo", + Local = "Local", + Zone = "Zone" +} + +/** + * Defines values for RestorableDroppedDatabasePropertiesBackupStorageRedundancy. \ + * {@link KnownRestorableDroppedDatabasePropertiesBackupStorageRedundancy} can be used interchangeably with RestorableDroppedDatabasePropertiesBackupStorageRedundancy, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Geo** \ + * **Local** \ + * **Zone** + */ +export type RestorableDroppedDatabasePropertiesBackupStorageRedundancy = string; + +/** Known values of {@link ServerNetworkAccessFlag} that the service accepts. */ +export enum KnownServerNetworkAccessFlag { + Enabled = "Enabled", + Disabled = "Disabled" +} + +/** + * Defines values for ServerNetworkAccessFlag. \ + * {@link KnownServerNetworkAccessFlag} can be used interchangeably with ServerNetworkAccessFlag, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** + */ +export type ServerNetworkAccessFlag = string; + +/** Known values of {@link ServerWorkspaceFeature} that the service accepts. */ +export enum KnownServerWorkspaceFeature { + Connected = "Connected", + Disconnected = "Disconnected" +} + +/** + * Defines values for ServerWorkspaceFeature. \ + * {@link KnownServerWorkspaceFeature} can be used interchangeably with ServerWorkspaceFeature, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Connected** \ + * **Disconnected** + */ +export type ServerWorkspaceFeature = string; + +/** Known values of {@link ServiceObjectiveName} that the service accepts. */ +export enum KnownServiceObjectiveName { + System = "System", + System0 = "System0", + System1 = "System1", + System2 = "System2", + System3 = "System3", + System4 = "System4", + System2L = "System2L", + System3L = "System3L", + System4L = "System4L", + Free = "Free", + Basic = "Basic", + S0 = "S0", + S1 = "S1", + S2 = "S2", + S3 = "S3", + S4 = "S4", + S6 = "S6", + S7 = "S7", + S9 = "S9", + S12 = "S12", + P1 = "P1", + P2 = "P2", + P3 = "P3", + P4 = "P4", + P6 = "P6", + P11 = "P11", + P15 = "P15", + PRS1 = "PRS1", + PRS2 = "PRS2", + PRS4 = "PRS4", + PRS6 = "PRS6", + DW100 = "DW100", + DW200 = "DW200", + DW300 = "DW300", + DW400 = "DW400", + DW500 = "DW500", + DW600 = "DW600", + DW1000 = "DW1000", + DW1200 = "DW1200", + DW1000C = "DW1000c", + DW1500 = "DW1500", + DW1500C = "DW1500c", + DW2000 = "DW2000", + DW2000C = "DW2000c", + DW3000 = "DW3000", + DW2500C = "DW2500c", + DW3000C = "DW3000c", + DW6000 = "DW6000", + DW5000C = "DW5000c", + DW6000C = "DW6000c", + DW7500C = "DW7500c", + DW10000C = "DW10000c", + DW15000C = "DW15000c", + DW30000C = "DW30000c", + DS100 = "DS100", + DS200 = "DS200", + DS300 = "DS300", + DS400 = "DS400", + DS500 = "DS500", + DS600 = "DS600", + DS1000 = "DS1000", + DS1200 = "DS1200", + DS1500 = "DS1500", + DS2000 = "DS2000", + ElasticPool = "ElasticPool" +} + +/** + * Defines values for ServiceObjectiveName. \ + * {@link KnownServiceObjectiveName} can be used interchangeably with ServiceObjectiveName, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **System** \ + * **System0** \ + * **System1** \ + * **System2** \ + * **System3** \ + * **System4** \ + * **System2L** \ + * **System3L** \ + * **System4L** \ + * **Free** \ + * **Basic** \ + * **S0** \ + * **S1** \ + * **S2** \ + * **S3** \ + * **S4** \ + * **S6** \ + * **S7** \ + * **S9** \ + * **S12** \ + * **P1** \ + * **P2** \ + * **P3** \ + * **P4** \ + * **P6** \ + * **P11** \ + * **P15** \ + * **PRS1** \ + * **PRS2** \ + * **PRS4** \ + * **PRS6** \ + * **DW100** \ + * **DW200** \ + * **DW300** \ + * **DW400** \ + * **DW500** \ + * **DW600** \ + * **DW1000** \ + * **DW1200** \ + * **DW1000c** \ + * **DW1500** \ + * **DW1500c** \ + * **DW2000** \ + * **DW2000c** \ + * **DW3000** \ + * **DW2500c** \ + * **DW3000c** \ + * **DW6000** \ + * **DW5000c** \ + * **DW6000c** \ + * **DW7500c** \ + * **DW10000c** \ + * **DW15000c** \ + * **DW30000c** \ + * **DS100** \ + * **DS200** \ + * **DS300** \ + * **DS400** \ + * **DS500** \ + * **DS600** \ + * **DS1000** \ + * **DS1200** \ + * **DS1500** \ + * **DS2000** \ + * **ElasticPool** + */ +export type ServiceObjectiveName = string; +/** Defines values for ServerConnectionType. */ +export type ServerConnectionType = "Default" | "Proxy" | "Redirect"; +/** Defines values for DataMaskingState. */ +export type DataMaskingState = "Disabled" | "Enabled"; +/** Defines values for DataMaskingRuleState. */ +export type DataMaskingRuleState = "Disabled" | "Enabled"; +/** Defines values for DataMaskingFunction. */ +export type DataMaskingFunction = + | "Default" + | "CCN" + | "Email" + | "Number" + | "SSN" + | "Text"; +/** Defines values for GeoBackupPolicyState. */ +export type GeoBackupPolicyState = "Disabled" | "Enabled"; +/** Defines values for TransparentDataEncryptionStatus. */ +export type TransparentDataEncryptionStatus = "Enabled" | "Disabled"; +/** Defines values for BlobAuditingPolicyState. */ +export type BlobAuditingPolicyState = "Enabled" | "Disabled"; +/** Defines values for AdvisorStatus. */ +export type AdvisorStatus = + | "GA" + | "PublicPreview" + | "LimitedPublicPreview" + | "PrivatePreview"; +/** Defines values for AutoExecuteStatus. */ +export type AutoExecuteStatus = "Enabled" | "Disabled" | "Default"; +/** Defines values for AutoExecuteStatusInheritedFrom. */ +export type AutoExecuteStatusInheritedFrom = + | "Default" + | "Subscription" + | "Server" + | "ElasticPool" + | "Database"; +/** Defines values for RecommendedActionInitiatedBy. */ +export type RecommendedActionInitiatedBy = "User" | "System"; +/** Defines values for ImplementationMethod. */ +export type ImplementationMethod = "TSql" | "AzurePowerShell"; +/** Defines values for IsRetryable. */ +export type IsRetryable = "Yes" | "No"; +/** Defines values for AutomaticTuningMode. */ +export type AutomaticTuningMode = "Inherit" | "Custom" | "Auto" | "Unspecified"; +/** Defines values for AutomaticTuningOptionModeDesired. */ +export type AutomaticTuningOptionModeDesired = "Off" | "On" | "Default"; +/** Defines values for AutomaticTuningOptionModeActual. */ +export type AutomaticTuningOptionModeActual = "Off" | "On"; +/** Defines values for AutomaticTuningDisabledReason. */ +export type AutomaticTuningDisabledReason = + | "Default" + | "Disabled" + | "AutoConfigured" + | "InheritedFromServer" + | "QueryStoreOff" + | "QueryStoreReadOnly" + | "NotSupported"; +/** Defines values for SecurityAlertsPolicyState. */ +export type SecurityAlertsPolicyState = "Enabled" | "Disabled"; +/** Defines values for VulnerabilityAssessmentPolicyBaselineName. */ +export type VulnerabilityAssessmentPolicyBaselineName = "master" | "default"; +/** Defines values for JobScheduleType. */ +export type JobScheduleType = "Once" | "Recurring"; +/** Defines values for JobTargetGroupMembershipType. */ +export type JobTargetGroupMembershipType = "Include" | "Exclude"; +/** Defines values for CapabilityStatus. */ +export type CapabilityStatus = "Visible" | "Available" | "Default" | "Disabled"; +/** Defines values for SecurityAlertPolicyState. */ +export type SecurityAlertPolicyState = "New" | "Enabled" | "Disabled"; +/** Defines values for SecurityEventType. */ +export type SecurityEventType = + | "Undefined" + | "SqlInjectionVulnerability" + | "SqlInjectionExploit"; +/** Defines values for SensitivityLabelSource. */ +export type SensitivityLabelSource = "current" | "recommended"; +/** Defines values for SensitivityLabelRank. */ +export type SensitivityLabelRank = + | "None" + | "Low" + | "Medium" + | "High" + | "Critical"; +/** Defines values for SensitivityLabelUpdateKind. */ +export type SensitivityLabelUpdateKind = "set" | "remove"; +/** Defines values for RecommendedSensitivityLabelUpdateKind. */ +export type RecommendedSensitivityLabelUpdateKind = "enable" | "disable"; +/** Defines values for TransparentDataEncryptionState. */ +export type TransparentDataEncryptionState = "Enabled" | "Disabled"; +/** Defines values for RestorePointType. */ +export type RestorePointType = "CONTINUOUS" | "DISCRETE"; +/** Defines values for AutomaticTuningServerMode. */ +export type AutomaticTuningServerMode = "Custom" | "Auto" | "Unspecified"; +/** Defines values for AutomaticTuningServerReason. */ +export type AutomaticTuningServerReason = + | "Default" + | "Disabled" + | "AutoConfigured"; +/** Defines values for LedgerDigestUploadsState. */ +export type LedgerDigestUploadsState = "Enabled" | "Disabled"; +/** Defines values for ReplicationRole. */ +export type ReplicationRole = + | "Primary" + | "Secondary" + | "NonReadableSecondary" + | "Source" + | "Copy"; +/** Defines values for CheckNameAvailabilityReason. */ +export type CheckNameAvailabilityReason = "Invalid" | "AlreadyExists"; + +/** Optional parameters. */ +export interface RecoverableDatabasesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type RecoverableDatabasesGetResponse = RecoverableDatabase; + +/** Optional parameters. */ +export interface RecoverableDatabasesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type RecoverableDatabasesListByServerResponse = RecoverableDatabaseListResult; + +/** Optional parameters. */ +export interface ServerConnectionPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type ServerConnectionPoliciesCreateOrUpdateResponse = ServerConnectionPolicy; + +/** Optional parameters. */ +export interface ServerConnectionPoliciesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ServerConnectionPoliciesGetResponse = ServerConnectionPolicy; + +/** Optional parameters. */ +export interface DataMaskingPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type DataMaskingPoliciesCreateOrUpdateResponse = DataMaskingPolicy; + +/** Optional parameters. */ +export interface DataMaskingPoliciesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DataMaskingPoliciesGetResponse = DataMaskingPolicy; + +/** Optional parameters. */ +export interface DataMaskingRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type DataMaskingRulesCreateOrUpdateResponse = DataMaskingRule; + +/** Optional parameters. */ +export interface DataMaskingRulesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByDatabase operation. */ +export type DataMaskingRulesListByDatabaseResponse = DataMaskingRuleListResult; + +/** Optional parameters. */ +export interface GeoBackupPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type GeoBackupPoliciesCreateOrUpdateResponse = GeoBackupPolicy; + +/** Optional parameters. */ +export interface GeoBackupPoliciesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type GeoBackupPoliciesGetResponse = GeoBackupPolicy; + +/** Optional parameters. */ +export interface GeoBackupPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByDatabase operation. */ +export type GeoBackupPoliciesListByDatabaseResponse = GeoBackupPolicyListResult; + +/** Optional parameters. */ +export interface DatabasesListMetricsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listMetrics operation. */ +export type DatabasesListMetricsResponse = MetricListResult; + +/** Optional parameters. */ +export interface DatabasesListMetricDefinitionsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listMetricDefinitions operation. */ +export type DatabasesListMetricDefinitionsResponse = MetricDefinitionListResult; + +/** Optional parameters. */ +export interface DatabasesListByServerOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; +} + +/** Contains response data for the listByServer operation. */ +export type DatabasesListByServerResponse = DatabaseListResult; + +/** Optional parameters. */ +export interface DatabasesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DatabasesGetResponse = Database; + +/** Optional parameters. */ +export interface DatabasesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 DatabasesCreateOrUpdateResponse = Database; + +/** Optional parameters. */ +export interface DatabasesDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 DatabasesUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 DatabasesUpdateResponse = Database; + +/** Optional parameters. */ +export interface DatabasesListByElasticPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByElasticPool operation. */ +export type DatabasesListByElasticPoolResponse = DatabaseListResult; + +/** Optional parameters. */ +export interface DatabasesFailoverOptionalParams + extends coreClient.OperationOptions { + /** The type of replica to be failed over. */ + replicaType?: ReplicaType; + /** 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 DatabasesListInaccessibleByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listInaccessibleByServer operation. */ +export type DatabasesListInaccessibleByServerResponse = DatabaseListResult; + +/** Optional parameters. */ +export interface DatabasesPauseOptionalParams + extends coreClient.OperationOptions { + /** 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 pause operation. */ +export type DatabasesPauseResponse = Database; + +/** Optional parameters. */ +export interface DatabasesResumeOptionalParams + extends coreClient.OperationOptions { + /** 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 resume operation. */ +export type DatabasesResumeResponse = Database; + +/** Optional parameters. */ +export interface DatabasesUpgradeDataWarehouseOptionalParams + extends coreClient.OperationOptions { + /** 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 DatabasesRenameOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface DatabasesImportOptionalParams + extends coreClient.OperationOptions { + /** 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 import operation. */ +export type DatabasesImportResponse = ImportExportOperationResult; + +/** Optional parameters. */ +export interface DatabasesExportOptionalParams + extends coreClient.OperationOptions { + /** 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 export operation. */ +export type DatabasesExportResponse = ImportExportOperationResult; + +/** Optional parameters. */ +export interface DatabasesListByServerNextOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; +} + +/** Contains response data for the listByServerNext operation. */ +export type DatabasesListByServerNextResponse = DatabaseListResult; + +/** Optional parameters. */ +export interface DatabasesListByElasticPoolNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByElasticPoolNext operation. */ +export type DatabasesListByElasticPoolNextResponse = DatabaseListResult; + +/** Optional parameters. */ +export interface DatabasesListInaccessibleByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listInaccessibleByServerNext operation. */ +export type DatabasesListInaccessibleByServerNextResponse = DatabaseListResult; + +/** Optional parameters. */ +export interface ElasticPoolsListMetricsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listMetrics operation. */ +export type ElasticPoolsListMetricsResponse = MetricListResult; + +/** Optional parameters. */ +export interface ElasticPoolsListMetricDefinitionsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listMetricDefinitions operation. */ +export type ElasticPoolsListMetricDefinitionsResponse = MetricDefinitionListResult; + +/** Optional parameters. */ +export interface ElasticPoolsListByServerOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; +} + +/** Contains response data for the listByServer operation. */ +export type ElasticPoolsListByServerResponse = ElasticPoolListResult; + +/** Optional parameters. */ +export interface ElasticPoolsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ElasticPoolsGetResponse = ElasticPool; + +/** Optional parameters. */ +export interface ElasticPoolsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ElasticPoolsCreateOrUpdateResponse = ElasticPool; + +/** Optional parameters. */ +export interface ElasticPoolsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 ElasticPoolsUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ElasticPoolsUpdateResponse = ElasticPool; + +/** Optional parameters. */ +export interface ElasticPoolsFailoverOptionalParams + extends coreClient.OperationOptions { + /** 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 ElasticPoolsListByServerNextOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; +} + +/** Contains response data for the listByServerNext operation. */ +export type ElasticPoolsListByServerNextResponse = ElasticPoolListResult; + +/** Optional parameters. */ +export interface ReplicationLinksDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ReplicationLinksFailoverOptionalParams + extends coreClient.OperationOptions { + /** 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 ReplicationLinksFailoverAllowDataLossOptionalParams + extends coreClient.OperationOptions { + /** 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 ReplicationLinksUnlinkOptionalParams + extends coreClient.OperationOptions { + /** 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 ReplicationLinksListByDatabaseOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByDatabase operation. */ +export type ReplicationLinksListByDatabaseResponse = ReplicationLinkListResult; + +/** Optional parameters. */ +export interface ReplicationLinksGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ReplicationLinksGetResponse = ReplicationLink; + +/** Optional parameters. */ +export interface ReplicationLinksListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type ReplicationLinksListByServerResponse = ReplicationLinkListResult; + +/** Optional parameters. */ +export interface ReplicationLinksListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByDatabaseNext operation. */ +export type ReplicationLinksListByDatabaseNextResponse = ReplicationLinkListResult; + +/** Optional parameters. */ +export interface ReplicationLinksListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type ReplicationLinksListByServerNextResponse = ReplicationLinkListResult; + +/** Optional parameters. */ +export interface ServerCommunicationLinksDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ServerCommunicationLinksGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ServerCommunicationLinksGetResponse = ServerCommunicationLink; + +/** Optional parameters. */ +export interface ServerCommunicationLinksCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ServerCommunicationLinksCreateOrUpdateResponse = ServerCommunicationLink; + +/** Optional parameters. */ +export interface ServerCommunicationLinksListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type ServerCommunicationLinksListByServerResponse = ServerCommunicationLinkListResult; + +/** Optional parameters. */ +export interface ServiceObjectivesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ServiceObjectivesGetResponse = ServiceObjective; + +/** Optional parameters. */ +export interface ServiceObjectivesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type ServiceObjectivesListByServerResponse = ServiceObjectiveListResult; + +/** Optional parameters. */ +export interface ElasticPoolActivitiesListByElasticPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByElasticPool operation. */ +export type ElasticPoolActivitiesListByElasticPoolResponse = ElasticPoolActivityListResult; + +/** Optional parameters. */ +export interface ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByElasticPool operation. */ +export type ElasticPoolDatabaseActivitiesListByElasticPoolResponse = ElasticPoolDatabaseActivityListResult; + +/** Optional parameters. */ +export interface TransparentDataEncryptionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type TransparentDataEncryptionsCreateOrUpdateResponse = TransparentDataEncryption; + +/** Optional parameters. */ +export interface TransparentDataEncryptionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type TransparentDataEncryptionsGetResponse = TransparentDataEncryption; + +/** Optional parameters. */ +export interface TransparentDataEncryptionActivitiesListByConfigurationOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByConfiguration operation. */ +export type TransparentDataEncryptionActivitiesListByConfigurationResponse = TransparentDataEncryptionActivityListResult; + +/** Optional parameters. */ +export interface ServerUsagesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type ServerUsagesListByServerResponse = ServerUsageListResult; + +/** Optional parameters. */ +export interface ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ExtendedDatabaseBlobAuditingPoliciesGetResponse = ExtendedDatabaseBlobAuditingPolicy; + +/** Optional parameters. */ +export interface ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedDatabaseBlobAuditingPolicy; + +/** Optional parameters. */ +export interface ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByDatabase operation. */ +export type ExtendedDatabaseBlobAuditingPoliciesListByDatabaseResponse = ExtendedDatabaseBlobAuditingPolicyListResult; + +/** Optional parameters. */ +export interface ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByDatabaseNext operation. */ +export type ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextResponse = ExtendedDatabaseBlobAuditingPolicyListResult; + +/** Optional parameters. */ +export interface ExtendedServerBlobAuditingPoliciesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ExtendedServerBlobAuditingPoliciesGetResponse = ExtendedServerBlobAuditingPolicy; + +/** Optional parameters. */ +export interface ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedServerBlobAuditingPolicy; + +/** Optional parameters. */ +export interface ExtendedServerBlobAuditingPoliciesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type ExtendedServerBlobAuditingPoliciesListByServerResponse = ExtendedServerBlobAuditingPolicyListResult; + +/** Optional parameters. */ +export interface ExtendedServerBlobAuditingPoliciesListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type ExtendedServerBlobAuditingPoliciesListByServerNextResponse = ExtendedServerBlobAuditingPolicyListResult; + +/** Optional parameters. */ +export interface ServerBlobAuditingPoliciesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ServerBlobAuditingPoliciesGetResponse = ServerBlobAuditingPolicy; + +/** Optional parameters. */ +export interface ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ServerBlobAuditingPoliciesCreateOrUpdateResponse = ServerBlobAuditingPolicy; + +/** Optional parameters. */ +export interface ServerBlobAuditingPoliciesListByServerOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServer operation. */ +export type ServerBlobAuditingPoliciesListByServerResponse = ServerBlobAuditingPolicyListResult; + +/** Optional parameters. */ +export interface ServerBlobAuditingPoliciesListByServerNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByServerNext operation. */ +export type ServerBlobAuditingPoliciesListByServerNextResponse = ServerBlobAuditingPolicyListResult; + +/** Optional parameters. */ +export interface DatabaseBlobAuditingPoliciesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DatabaseBlobAuditingPoliciesGetResponse = DatabaseBlobAuditingPolicy; + +/** Optional parameters. */ +export interface DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type DatabaseBlobAuditingPoliciesCreateOrUpdateResponse = DatabaseBlobAuditingPolicy; + +/** Optional parameters. */ +export interface DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByDatabase operation. */ +export type DatabaseBlobAuditingPoliciesListByDatabaseResponse = DatabaseBlobAuditingPolicyListResult; + +/** Optional parameters. */ +export interface DatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseBlobAuditingPoliciesListByDatabaseNextResponse = DatabaseBlobAuditingPolicyListResult; + +/** Optional parameters. */ +export interface DatabaseAdvisorsListByDatabaseOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; } -/** - * @interface - * The response to a list database operations request - * @extends Array - */ -export interface DatabaseOperationListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the listByDatabase operation. */ +export type DatabaseAdvisorsListByDatabaseResponse = Advisor[]; + +/** Optional parameters. */ +export interface DatabaseAdvisorsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DatabaseAdvisorsGetResponse = Advisor; + +/** Optional parameters. */ +export interface DatabaseAdvisorsUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the update operation. */ +export type DatabaseAdvisorsUpdateResponse = Advisor; + +/** Optional parameters. */ +export interface DatabaseAutomaticTuningOperationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DatabaseAutomaticTuningOperationsGetResponse = DatabaseAutomaticTuning; + +/** Optional parameters. */ +export interface DatabaseAutomaticTuningOperationsUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * The response to a list elastic pool operations request - * @extends Array - */ -export interface ElasticPoolOperationListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the update operation. */ +export type DatabaseAutomaticTuningOperationsUpdateResponse = DatabaseAutomaticTuning; -/** - * @interface - * A list of vulnerability assessment scan records. - * @extends Array - */ -export interface VulnerabilityAssessmentScanRecordListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +/** Optional parameters. */ +export interface DatabaseColumnsListByDatabaseOptionalParams + extends coreClient.OperationOptions { + /** Array of Get3ItemsItem */ + schema?: string[]; + /** Array of Get4ItemsItem */ + table?: string[]; + /** Array of Get5ItemsItem */ + column?: string[]; + /** Array of Get6ItemsItem */ + orderBy?: string[]; + /** An opaque token that identifies a starting point in the collection. */ + skiptoken?: string; } -/** - * @interface - * A list of instance failover groups. - * @extends Array - */ -export interface InstanceFailoverGroupListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the listByDatabase operation. */ +export type DatabaseColumnsListByDatabaseResponse = DatabaseColumnListResult; -/** - * @interface - * A list of short term retention policies. - * @extends Array - */ -export interface BackupShortTermRetentionPolicyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +/** Optional parameters. */ +export interface DatabaseColumnsListByTableOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; } -/** - * @interface - * A list of managed instance keys. - * @extends Array - */ -export interface ManagedInstanceKeyListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the listByTable operation. */ +export type DatabaseColumnsListByTableResponse = DatabaseColumnListResult; -/** - * @interface - * A list of managed instance encryption protectors. - * @extends Array - */ -export interface ManagedInstanceEncryptionProtectorListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Optional parameters. */ +export interface DatabaseColumnsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * A list of recoverable managed databases. - * @extends Array - */ -export interface RecoverableManagedDatabaseListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the get operation. */ +export type DatabaseColumnsGetResponse = DatabaseColumn; -/** - * @interface - * A list of the ManagedInstance's vulnerability assessments. - * @extends Array - */ -export interface ManagedInstanceVulnerabilityAssessmentListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +/** Optional parameters. */ +export interface DatabaseColumnsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** Array of Get3ItemsItem */ + schema?: string[]; + /** Array of Get4ItemsItem */ + table?: string[]; + /** Array of Get5ItemsItem */ + column?: string[]; + /** Array of Get6ItemsItem */ + orderBy?: string[]; + /** An opaque token that identifies a starting point in the collection. */ + skiptoken?: string; } -/** - * @interface - * A list of the server's vulnerability assessments. - * @extends Array - */ -export interface ServerVulnerabilityAssessmentListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseColumnsListByDatabaseNextResponse = DatabaseColumnListResult; -/** - * @interface - * A list of Azure SQL instance pools. - * @extends Array - */ -export interface InstancePoolListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +/** Optional parameters. */ +export interface DatabaseColumnsListByTableNextOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; } -/** - * @interface - * A list of usages. - * @extends Array - */ -export interface UsageListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the listByTableNext operation. */ +export type DatabaseColumnsListByTableNextResponse = DatabaseColumnListResult; -/** - * @interface - * A list of managed instances. - * @extends Array - */ -export interface ManagedInstanceListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Optional parameters. */ +export interface DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * A list of managed databases. - * @extends Array - */ -export interface ManagedDatabaseListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Contains response data for the listByDatabaseAdvisor operation. */ +export type DatabaseRecommendedActionsListByDatabaseAdvisorResponse = RecommendedAction[]; -/** - * @interface - * A list of private endpoint connections. - * @extends Array - */ -export interface PrivateEndpointConnectionListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; -} +/** Optional parameters. */ +export interface DatabaseRecommendedActionsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * @interface - * A list of private link resources - * @extends Array - */ -export interface PrivateLinkResourceListResult extends Array { - /** - * Link to retrieve next page of results. - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly nextLink?: string; +/** Contains response data for the get operation. */ +export type DatabaseRecommendedActionsGetResponse = RecommendedAction; + +/** Optional parameters. */ +export interface DatabaseRecommendedActionsUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the update operation. */ +export type DatabaseRecommendedActionsUpdateResponse = RecommendedAction; + +/** Optional parameters. */ +export interface DatabaseSchemasListByDatabaseOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; } -/** - * Defines values for CheckNameAvailabilityReason. - * Possible values include: 'Invalid', 'AlreadyExists' - * @readonly - * @enum {string} - */ -export type CheckNameAvailabilityReason = 'Invalid' | 'AlreadyExists'; +/** Contains response data for the listByDatabase operation. */ +export type DatabaseSchemasListByDatabaseResponse = DatabaseSchemaListResult; -/** - * Defines values for ServerConnectionType. - * Possible values include: 'Default', 'Proxy', 'Redirect' - * @readonly - * @enum {string} - */ -export type ServerConnectionType = 'Default' | 'Proxy' | 'Redirect'; +/** Optional parameters. */ +export interface DatabaseSchemasGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for SecurityAlertPolicyState. - * Possible values include: 'New', 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type SecurityAlertPolicyState = 'New' | 'Enabled' | 'Disabled'; +/** Contains response data for the get operation. */ +export type DatabaseSchemasGetResponse = DatabaseSchema; -/** - * Defines values for SecurityAlertPolicyEmailAccountAdmins. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type SecurityAlertPolicyEmailAccountAdmins = 'Enabled' | 'Disabled'; +/** Optional parameters. */ +export interface DatabaseSchemasListByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} -/** - * Defines values for SecurityAlertPolicyUseServerDefault. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type SecurityAlertPolicyUseServerDefault = 'Enabled' | 'Disabled'; +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseSchemasListByDatabaseNextResponse = DatabaseSchemaListResult; -/** - * Defines values for DataMaskingState. - * Possible values include: 'Disabled', 'Enabled' - * @readonly - * @enum {string} - */ -export type DataMaskingState = 'Disabled' | 'Enabled'; +/** Optional parameters. */ +export interface DatabaseSecurityAlertPoliciesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for DataMaskingRuleState. - * Possible values include: 'Disabled', 'Enabled' - * @readonly - * @enum {string} - */ -export type DataMaskingRuleState = 'Disabled' | 'Enabled'; +/** Contains response data for the get operation. */ +export type DatabaseSecurityAlertPoliciesGetResponse = DatabaseSecurityAlertPolicy; -/** - * Defines values for DataMaskingFunction. - * Possible values include: 'Default', 'CCN', 'Email', 'Number', 'SSN', 'Text' - * @readonly - * @enum {string} - */ -export type DataMaskingFunction = 'Default' | 'CCN' | 'Email' | 'Number' | 'SSN' | 'Text'; +/** Optional parameters. */ +export interface DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for GeoBackupPolicyState. - * Possible values include: 'Disabled', 'Enabled' - * @readonly - * @enum {string} - */ -export type GeoBackupPolicyState = 'Disabled' | 'Enabled'; +/** Contains response data for the createOrUpdate operation. */ +export type DatabaseSecurityAlertPoliciesCreateOrUpdateResponse = DatabaseSecurityAlertPolicy; -/** - * Defines values for DatabaseEdition. - * Possible values include: 'Web', 'Business', 'Basic', 'Standard', 'Premium', 'PremiumRS', 'Free', - * 'Stretch', 'DataWarehouse', 'System', 'System2', 'GeneralPurpose', 'BusinessCritical', - * 'Hyperscale' - * @readonly - * @enum {string} - */ -export type DatabaseEdition = 'Web' | 'Business' | 'Basic' | 'Standard' | 'Premium' | 'PremiumRS' | 'Free' | 'Stretch' | 'DataWarehouse' | 'System' | 'System2' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale'; +/** Optional parameters. */ +export interface DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ServiceObjectiveName. - * Possible values include: 'System', 'System0', 'System1', 'System2', 'System3', 'System4', - * 'System2L', 'System3L', 'System4L', 'Free', 'Basic', 'S0', 'S1', 'S2', 'S3', 'S4', 'S6', 'S7', - * 'S9', 'S12', 'P1', 'P2', 'P3', 'P4', 'P6', 'P11', 'P15', 'PRS1', 'PRS2', 'PRS4', 'PRS6', - * 'DW100', 'DW200', 'DW300', 'DW400', 'DW500', 'DW600', 'DW1000', 'DW1200', 'DW1000c', 'DW1500', - * 'DW1500c', 'DW2000', 'DW2000c', 'DW3000', 'DW2500c', 'DW3000c', 'DW6000', 'DW5000c', 'DW6000c', - * 'DW7500c', 'DW10000c', 'DW15000c', 'DW30000c', 'DS100', 'DS200', 'DS300', 'DS400', 'DS500', - * 'DS600', 'DS1000', 'DS1200', 'DS1500', 'DS2000', 'ElasticPool' - * @readonly - * @enum {string} - */ -export type ServiceObjectiveName = 'System' | 'System0' | 'System1' | 'System2' | 'System3' | 'System4' | 'System2L' | 'System3L' | 'System4L' | 'Free' | 'Basic' | 'S0' | 'S1' | 'S2' | 'S3' | 'S4' | 'S6' | 'S7' | 'S9' | 'S12' | 'P1' | 'P2' | 'P3' | 'P4' | 'P6' | 'P11' | 'P15' | 'PRS1' | 'PRS2' | 'PRS4' | 'PRS6' | 'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500' | 'DW600' | 'DW1000' | 'DW1200' | 'DW1000c' | 'DW1500' | 'DW1500c' | 'DW2000' | 'DW2000c' | 'DW3000' | 'DW2500c' | 'DW3000c' | 'DW6000' | 'DW5000c' | 'DW6000c' | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c' | 'DS100' | 'DS200' | 'DS300' | 'DS400' | 'DS500' | 'DS600' | 'DS1000' | 'DS1200' | 'DS1500' | 'DS2000' | 'ElasticPool'; +/** Contains response data for the listByDatabase operation. */ +export type DatabaseSecurityAlertPoliciesListByDatabaseResponse = DatabaseSecurityAlertListResult; -/** - * Defines values for StorageKeyType. - * Possible values include: 'StorageAccessKey', 'SharedAccessKey' - * @readonly - * @enum {string} - */ -export type StorageKeyType = 'StorageAccessKey' | 'SharedAccessKey'; +/** Optional parameters. */ +export interface DatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for AuthenticationType. - * Possible values include: 'SQL', 'ADPassword' - * @readonly - * @enum {string} - */ -export type AuthenticationType = 'SQL' | 'ADPassword'; +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseSecurityAlertPoliciesListByDatabaseNextResponse = DatabaseSecurityAlertListResult; -/** - * Defines values for UnitType. - * Possible values include: 'count', 'bytes', 'seconds', 'percent', 'countPerSecond', - * 'bytesPerSecond' - * @readonly - * @enum {string} - */ -export type UnitType = 'count' | 'bytes' | 'seconds' | 'percent' | 'countPerSecond' | 'bytesPerSecond'; +/** Optional parameters. */ +export interface DatabaseTablesListBySchemaOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} -/** - * Defines values for PrimaryAggregationType. - * Possible values include: 'None', 'Average', 'Count', 'Minimum', 'Maximum', 'Total' - * @readonly - * @enum {string} - */ -export type PrimaryAggregationType = 'None' | 'Average' | 'Count' | 'Minimum' | 'Maximum' | 'Total'; +/** Contains response data for the listBySchema operation. */ +export type DatabaseTablesListBySchemaResponse = DatabaseTableListResult; -/** - * Defines values for UnitDefinitionType. - * Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', - * 'BytesPerSecond' - * @readonly - * @enum {string} - */ -export type UnitDefinitionType = 'Count' | 'Bytes' | 'Seconds' | 'Percent' | 'CountPerSecond' | 'BytesPerSecond'; +/** Optional parameters. */ +export interface DatabaseTablesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ElasticPoolEdition. - * Possible values include: 'Basic', 'Standard', 'Premium', 'GeneralPurpose', 'BusinessCritical' - * @readonly - * @enum {string} - */ -export type ElasticPoolEdition = 'Basic' | 'Standard' | 'Premium' | 'GeneralPurpose' | 'BusinessCritical'; +/** Contains response data for the get operation. */ +export type DatabaseTablesGetResponse = DatabaseTable; -/** - * Defines values for ReplicationRole. - * Possible values include: 'Primary', 'Secondary', 'NonReadableSecondary', 'Source', 'Copy' - * @readonly - * @enum {string} - */ -export type ReplicationRole = 'Primary' | 'Secondary' | 'NonReadableSecondary' | 'Source' | 'Copy'; +/** Optional parameters. */ +export interface DatabaseTablesListBySchemaNextOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} -/** - * Defines values for ReplicationState. - * Possible values include: 'PENDING', 'SEEDING', 'CATCH_UP', 'SUSPENDED' - * @readonly - * @enum {string} - */ -export type ReplicationState = 'PENDING' | 'SEEDING' | 'CATCH_UP' | 'SUSPENDED'; +/** Contains response data for the listBySchemaNext operation. */ +export type DatabaseTablesListBySchemaNextResponse = DatabaseTableListResult; -/** - * Defines values for RecommendedIndexAction. - * Possible values include: 'Create', 'Drop', 'Rebuild' - * @readonly - * @enum {string} - */ -export type RecommendedIndexAction = 'Create' | 'Drop' | 'Rebuild'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for RecommendedIndexState. - * Possible values include: 'Active', 'Pending', 'Executing', 'Verifying', 'Pending Revert', - * 'Reverting', 'Reverted', 'Ignored', 'Expired', 'Blocked', 'Success' - * @readonly - * @enum {string} - */ -export type RecommendedIndexState = 'Active' | 'Pending' | 'Executing' | 'Verifying' | 'Pending Revert' | 'Reverting' | 'Reverted' | 'Ignored' | 'Expired' | 'Blocked' | 'Success'; +/** Contains response data for the get operation. */ +export type DatabaseVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseVulnerabilityAssessmentRuleBaseline; -/** - * Defines values for RecommendedIndexType. - * Possible values include: 'CLUSTERED', 'NONCLUSTERED', 'COLUMNSTORE', 'CLUSTERED COLUMNSTORE' - * @readonly - * @enum {string} - */ -export type RecommendedIndexType = 'CLUSTERED' | 'NONCLUSTERED' | 'COLUMNSTORE' | 'CLUSTERED COLUMNSTORE'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for TransparentDataEncryptionStatus. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type TransparentDataEncryptionStatus = 'Enabled' | 'Disabled'; +/** Contains response data for the createOrUpdate operation. */ +export type DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseVulnerabilityAssessmentRuleBaseline; -/** - * Defines values for TransparentDataEncryptionActivityStatus. - * Possible values include: 'Encrypting', 'Decrypting' - * @readonly - * @enum {string} - */ -export type TransparentDataEncryptionActivityStatus = 'Encrypting' | 'Decrypting'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for AutomaticTuningMode. - * Possible values include: 'Inherit', 'Custom', 'Auto', 'Unspecified' - * @readonly - * @enum {string} - */ -export type AutomaticTuningMode = 'Inherit' | 'Custom' | 'Auto' | 'Unspecified'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for AutomaticTuningOptionModeDesired. - * Possible values include: 'Off', 'On', 'Default' - * @readonly - * @enum {string} - */ -export type AutomaticTuningOptionModeDesired = 'Off' | 'On' | 'Default'; +/** Contains response data for the get operation. */ +export type DatabaseVulnerabilityAssessmentsGetResponse = DatabaseVulnerabilityAssessment; -/** - * Defines values for AutomaticTuningOptionModeActual. - * Possible values include: 'Off', 'On' - * @readonly - * @enum {string} - */ -export type AutomaticTuningOptionModeActual = 'Off' | 'On'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for AutomaticTuningDisabledReason. - * Possible values include: 'Default', 'Disabled', 'AutoConfigured', 'InheritedFromServer', - * 'QueryStoreOff', 'QueryStoreReadOnly', 'NotSupported' - * @readonly - * @enum {string} - */ -export type AutomaticTuningDisabledReason = 'Default' | 'Disabled' | 'AutoConfigured' | 'InheritedFromServer' | 'QueryStoreOff' | 'QueryStoreReadOnly' | 'NotSupported'; +/** Contains response data for the createOrUpdate operation. */ +export type DatabaseVulnerabilityAssessmentsCreateOrUpdateResponse = DatabaseVulnerabilityAssessment; -/** - * Defines values for ServerKeyType. - * Possible values include: 'ServiceManaged', 'AzureKeyVault' - * @readonly - * @enum {string} - */ -export type ServerKeyType = 'ServiceManaged' | 'AzureKeyVault'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ReadWriteEndpointFailoverPolicy. - * Possible values include: 'Manual', 'Automatic' - * @readonly - * @enum {string} - */ -export type ReadWriteEndpointFailoverPolicy = 'Manual' | 'Automatic'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ReadOnlyEndpointFailoverPolicy. - * Possible values include: 'Disabled', 'Enabled' - * @readonly - * @enum {string} - */ -export type ReadOnlyEndpointFailoverPolicy = 'Disabled' | 'Enabled'; +/** Contains response data for the listByDatabase operation. */ +export type DatabaseVulnerabilityAssessmentsListByDatabaseResponse = DatabaseVulnerabilityAssessmentListResult; -/** - * Defines values for FailoverGroupReplicationRole. - * Possible values include: 'Primary', 'Secondary' - * @readonly - * @enum {string} - */ -export type FailoverGroupReplicationRole = 'Primary' | 'Secondary'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for OperationOrigin. - * Possible values include: 'user', 'system' - * @readonly - * @enum {string} - */ -export type OperationOrigin = 'user' | 'system'; +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseVulnerabilityAssessmentsListByDatabaseNextResponse = DatabaseVulnerabilityAssessmentListResult; -/** - * Defines values for IdentityType. - * Possible values include: 'SystemAssigned' - * @readonly - * @enum {string} - */ -export type IdentityType = 'SystemAssigned'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + extends coreClient.OperationOptions { + /** 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; +} -/** - * Defines values for SyncAgentState. - * Possible values include: 'Online', 'Offline', 'NeverConnected' - * @readonly - * @enum {string} - */ -export type SyncAgentState = 'Online' | 'Offline' | 'NeverConnected'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for SyncMemberDbType. - * Possible values include: 'AzureSqlDatabase', 'SqlServerDatabase' - * @readonly - * @enum {string} - */ -export type SyncMemberDbType = 'AzureSqlDatabase' | 'SqlServerDatabase'; +/** Contains response data for the listByDatabase operation. */ +export type DatabaseVulnerabilityAssessmentScansListByDatabaseResponse = VulnerabilityAssessmentScanRecordListResult; -/** - * Defines values for SyncGroupLogType. - * Possible values include: 'All', 'Error', 'Warning', 'Success' - * @readonly - * @enum {string} - */ -export type SyncGroupLogType = 'All' | 'Error' | 'Warning' | 'Success'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentScansGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for SyncConflictResolutionPolicy. - * Possible values include: 'HubWin', 'MemberWin' - * @readonly - * @enum {string} - */ -export type SyncConflictResolutionPolicy = 'HubWin' | 'MemberWin'; +/** Contains response data for the get operation. */ +export type DatabaseVulnerabilityAssessmentScansGetResponse = VulnerabilityAssessmentScanRecord; -/** - * Defines values for SyncGroupState. - * Possible values include: 'NotReady', 'Error', 'Warning', 'Progressing', 'Good' - * @readonly - * @enum {string} - */ -export type SyncGroupState = 'NotReady' | 'Error' | 'Warning' | 'Progressing' | 'Good'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentScansExportOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for SyncDirection. - * Possible values include: 'Bidirectional', 'OneWayMemberToHub', 'OneWayHubToMember' - * @readonly - * @enum {string} - */ -export type SyncDirection = 'Bidirectional' | 'OneWayMemberToHub' | 'OneWayHubToMember'; +/** Contains response data for the export operation. */ +export type DatabaseVulnerabilityAssessmentScansExportResponse = DatabaseVulnerabilityAssessmentScansExport; -/** - * Defines values for SyncMemberState. - * Possible values include: 'SyncInProgress', 'SyncSucceeded', 'SyncFailed', - * 'DisabledTombstoneCleanup', 'DisabledBackupRestore', 'SyncSucceededWithWarnings', - * 'SyncCancelling', 'SyncCancelled', 'UnProvisioned', 'Provisioning', 'Provisioned', - * 'ProvisionFailed', 'DeProvisioning', 'DeProvisioned', 'DeProvisionFailed', 'Reprovisioning', - * 'ReprovisionFailed', 'UnReprovisioned' - * @readonly - * @enum {string} - */ -export type SyncMemberState = 'SyncInProgress' | 'SyncSucceeded' | 'SyncFailed' | 'DisabledTombstoneCleanup' | 'DisabledBackupRestore' | 'SyncSucceededWithWarnings' | 'SyncCancelling' | 'SyncCancelled' | 'UnProvisioned' | 'Provisioning' | 'Provisioned' | 'ProvisionFailed' | 'DeProvisioning' | 'DeProvisioned' | 'DeProvisionFailed' | 'Reprovisioning' | 'ReprovisionFailed' | 'UnReprovisioned'; +/** Optional parameters. */ +export interface DatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for VirtualNetworkRuleState. - * Possible values include: 'Initializing', 'InProgress', 'Ready', 'Deleting', 'Unknown' - * @readonly - * @enum {string} - */ -export type VirtualNetworkRuleState = 'Initializing' | 'InProgress' | 'Ready' | 'Deleting' | 'Unknown'; +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse = VulnerabilityAssessmentScanRecordListResult; -/** - * Defines values for BlobAuditingPolicyState. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type BlobAuditingPolicyState = 'Enabled' | 'Disabled'; +/** Optional parameters. */ +export interface DataWarehouseUserActivitiesOperationsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for JobAgentState. - * Possible values include: 'Creating', 'Ready', 'Updating', 'Deleting', 'Disabled' - * @readonly - * @enum {string} - */ -export type JobAgentState = 'Creating' | 'Ready' | 'Updating' | 'Deleting' | 'Disabled'; +/** Contains response data for the get operation. */ +export type DataWarehouseUserActivitiesOperationsGetResponse = DataWarehouseUserActivities; -/** - * Defines values for JobExecutionLifecycle. - * Possible values include: 'Created', 'InProgress', 'WaitingForChildJobExecutions', - * 'WaitingForRetry', 'Succeeded', 'SucceededWithSkipped', 'Failed', 'TimedOut', 'Canceled', - * 'Skipped' - * @readonly - * @enum {string} - */ -export type JobExecutionLifecycle = 'Created' | 'InProgress' | 'WaitingForChildJobExecutions' | 'WaitingForRetry' | 'Succeeded' | 'SucceededWithSkipped' | 'Failed' | 'TimedOut' | 'Canceled' | 'Skipped'; +/** Optional parameters. */ +export interface DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ProvisioningState. - * Possible values include: 'Created', 'InProgress', 'Succeeded', 'Failed', 'Canceled' - * @readonly - * @enum {string} - */ -export type ProvisioningState = 'Created' | 'InProgress' | 'Succeeded' | 'Failed' | 'Canceled'; +/** Contains response data for the listByDatabase operation. */ +export type DataWarehouseUserActivitiesOperationsListByDatabaseResponse = DataWarehouseUserActivitiesListResult; -/** - * Defines values for JobTargetType. - * Possible values include: 'TargetGroup', 'SqlDatabase', 'SqlElasticPool', 'SqlShardMap', - * 'SqlServer' - * @readonly - * @enum {string} - */ -export type JobTargetType = 'TargetGroup' | 'SqlDatabase' | 'SqlElasticPool' | 'SqlShardMap' | 'SqlServer'; +/** Optional parameters. */ +export interface DataWarehouseUserActivitiesOperationsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for JobScheduleType. - * Possible values include: 'Once', 'Recurring' - * @readonly - * @enum {string} - */ -export type JobScheduleType = 'Once' | 'Recurring'; +/** Contains response data for the listByDatabaseNext operation. */ +export type DataWarehouseUserActivitiesOperationsListByDatabaseNextResponse = DataWarehouseUserActivitiesListResult; -/** - * Defines values for JobStepActionType. - * Possible values include: 'TSql' - * @readonly - * @enum {string} - */ -export type JobStepActionType = 'TSql'; +/** Optional parameters. */ +export interface DeletedServersListOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for JobStepActionSource. - * Possible values include: 'Inline' - * @readonly - * @enum {string} - */ -export type JobStepActionSource = 'Inline'; +/** Contains response data for the list operation. */ +export type DeletedServersListResponse = DeletedServerListResult; -/** - * Defines values for JobStepOutputType. - * Possible values include: 'SqlDatabase' - * @readonly - * @enum {string} - */ -export type JobStepOutputType = 'SqlDatabase'; +/** Optional parameters. */ +export interface DeletedServersGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for JobTargetGroupMembershipType. - * Possible values include: 'Include', 'Exclude' - * @readonly - * @enum {string} - */ -export type JobTargetGroupMembershipType = 'Include' | 'Exclude'; +/** Contains response data for the get operation. */ +export type DeletedServersGetResponse = DeletedServer; -/** - * Defines values for AutomaticTuningServerMode. - * Possible values include: 'Custom', 'Auto', 'Unspecified' - * @readonly - * @enum {string} - */ -export type AutomaticTuningServerMode = 'Custom' | 'Auto' | 'Unspecified'; +/** Optional parameters. */ +export interface DeletedServersListByLocationOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for AutomaticTuningServerReason. - * Possible values include: 'Default', 'Disabled', 'AutoConfigured' - * @readonly - * @enum {string} - */ -export type AutomaticTuningServerReason = 'Default' | 'Disabled' | 'AutoConfigured'; +/** Contains response data for the listByLocation operation. */ +export type DeletedServersListByLocationResponse = DeletedServerListResult; -/** - * Defines values for RestorePointType. - * Possible values include: 'CONTINUOUS', 'DISCRETE' - * @readonly - * @enum {string} - */ -export type RestorePointType = 'CONTINUOUS' | 'DISCRETE'; +/** Optional parameters. */ +export interface DeletedServersRecoverOptionalParams + extends coreClient.OperationOptions { + /** 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; +} -/** - * Defines values for ManagementOperationState. - * Possible values include: 'Pending', 'InProgress', 'Succeeded', 'Failed', 'CancelInProgress', - * 'Cancelled' - * @readonly - * @enum {string} - */ -export type ManagementOperationState = 'Pending' | 'InProgress' | 'Succeeded' | 'Failed' | 'CancelInProgress' | 'Cancelled'; +/** Contains response data for the recover operation. */ +export type DeletedServersRecoverResponse = DeletedServer; -/** - * Defines values for MaxSizeUnit. - * Possible values include: 'Megabytes', 'Gigabytes', 'Terabytes', 'Petabytes' - * @readonly - * @enum {string} - */ -export type MaxSizeUnit = 'Megabytes' | 'Gigabytes' | 'Terabytes' | 'Petabytes'; +/** Optional parameters. */ +export interface DeletedServersListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for LogSizeUnit. - * Possible values include: 'Megabytes', 'Gigabytes', 'Terabytes', 'Petabytes', 'Percent' - * @readonly - * @enum {string} - */ -export type LogSizeUnit = 'Megabytes' | 'Gigabytes' | 'Terabytes' | 'Petabytes' | 'Percent'; +/** Contains response data for the listNext operation. */ +export type DeletedServersListNextResponse = DeletedServerListResult; -/** - * Defines values for CapabilityStatus. - * Possible values include: 'Visible', 'Available', 'Default', 'Disabled' - * @readonly - * @enum {string} - */ -export type CapabilityStatus = 'Visible' | 'Available' | 'Default' | 'Disabled'; +/** Optional parameters. */ +export interface DeletedServersListByLocationNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for PerformanceLevelUnit. - * Possible values include: 'DTU', 'VCores' - * @readonly - * @enum {string} - */ -export type PerformanceLevelUnit = 'DTU' | 'VCores'; +/** Contains response data for the listByLocationNext operation. */ +export type DeletedServersListByLocationNextResponse = DeletedServerListResult; -/** - * Defines values for CreateMode. - * Possible values include: 'Default', 'Copy', 'Secondary', 'PointInTimeRestore', 'Restore', - * 'Recovery', 'RestoreExternalBackup', 'RestoreExternalBackupSecondary', - * 'RestoreLongTermRetentionBackup', 'OnlineSecondary' - * @readonly - * @enum {string} - */ -export type CreateMode = 'Default' | 'Copy' | 'Secondary' | 'PointInTimeRestore' | 'Restore' | 'Recovery' | 'RestoreExternalBackup' | 'RestoreExternalBackupSecondary' | 'RestoreLongTermRetentionBackup' | 'OnlineSecondary'; +/** Optional parameters. */ +export interface ElasticPoolOperationsCancelOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for SampleName. - * Possible values include: 'AdventureWorksLT', 'WideWorldImportersStd', 'WideWorldImportersFull' - * @readonly - * @enum {string} - */ -export type SampleName = 'AdventureWorksLT' | 'WideWorldImportersStd' | 'WideWorldImportersFull'; +/** Optional parameters. */ +export interface ElasticPoolOperationsListByElasticPoolOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for DatabaseStatus. - * Possible values include: 'Online', 'Restoring', 'RecoveryPending', 'Recovering', 'Suspect', - * 'Offline', 'Standby', 'Shutdown', 'EmergencyMode', 'AutoClosed', 'Copying', 'Creating', - * 'Inaccessible', 'OfflineSecondary', 'Pausing', 'Paused', 'Resuming', 'Scaling', - * 'OfflineChangingDwPerformanceTiers', 'OnlineChangingDwPerformanceTiers', 'Disabled' - * @readonly - * @enum {string} - */ -export type DatabaseStatus = 'Online' | 'Restoring' | 'RecoveryPending' | 'Recovering' | 'Suspect' | 'Offline' | 'Standby' | 'Shutdown' | 'EmergencyMode' | 'AutoClosed' | 'Copying' | 'Creating' | 'Inaccessible' | 'OfflineSecondary' | 'Pausing' | 'Paused' | 'Resuming' | 'Scaling' | 'OfflineChangingDwPerformanceTiers' | 'OnlineChangingDwPerformanceTiers' | 'Disabled'; +/** Contains response data for the listByElasticPool operation. */ +export type ElasticPoolOperationsListByElasticPoolResponse = ElasticPoolOperationListResult; -/** - * Defines values for CatalogCollationType. - * Possible values include: 'DATABASE_DEFAULT', 'SQL_Latin1_General_CP1_CI_AS' - * @readonly - * @enum {string} - */ -export type CatalogCollationType = 'DATABASE_DEFAULT' | 'SQL_Latin1_General_CP1_CI_AS'; +/** Optional parameters. */ +export interface ElasticPoolOperationsListByElasticPoolNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for DatabaseLicenseType. - * Possible values include: 'LicenseIncluded', 'BasePrice' - * @readonly - * @enum {string} - */ -export type DatabaseLicenseType = 'LicenseIncluded' | 'BasePrice'; +/** Contains response data for the listByElasticPoolNext operation. */ +export type ElasticPoolOperationsListByElasticPoolNextResponse = ElasticPoolOperationListResult; -/** - * Defines values for DatabaseReadScale. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type DatabaseReadScale = 'Enabled' | 'Disabled'; +/** Optional parameters. */ +export interface EncryptionProtectorsListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ElasticPoolState. - * Possible values include: 'Creating', 'Ready', 'Disabled' - * @readonly - * @enum {string} - */ -export type ElasticPoolState = 'Creating' | 'Ready' | 'Disabled'; +/** Contains response data for the listByServer operation. */ +export type EncryptionProtectorsListByServerResponse = EncryptionProtectorListResult; + +/** Optional parameters. */ +export interface EncryptionProtectorsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ElasticPoolLicenseType. - * Possible values include: 'LicenseIncluded', 'BasePrice' - * @readonly - * @enum {string} - */ -export type ElasticPoolLicenseType = 'LicenseIncluded' | 'BasePrice'; +/** Contains response data for the get operation. */ +export type EncryptionProtectorsGetResponse = EncryptionProtector; -/** - * Defines values for VulnerabilityAssessmentScanTriggerType. - * Possible values include: 'OnDemand', 'Recurring' - * @readonly - * @enum {string} - */ -export type VulnerabilityAssessmentScanTriggerType = 'OnDemand' | 'Recurring'; +/** Optional parameters. */ +export interface EncryptionProtectorsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} -/** - * Defines values for VulnerabilityAssessmentScanState. - * Possible values include: 'Passed', 'Failed', 'FailedToRun', 'InProgress' - * @readonly - * @enum {string} - */ -export type VulnerabilityAssessmentScanState = 'Passed' | 'Failed' | 'FailedToRun' | 'InProgress'; +/** Contains response data for the createOrUpdate operation. */ +export type EncryptionProtectorsCreateOrUpdateResponse = EncryptionProtector; -/** - * Defines values for InstanceFailoverGroupReplicationRole. - * Possible values include: 'Primary', 'Secondary' - * @readonly - * @enum {string} - */ -export type InstanceFailoverGroupReplicationRole = 'Primary' | 'Secondary'; +/** Optional parameters. */ +export interface EncryptionProtectorsRevalidateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} -/** - * Defines values for InstancePoolLicenseType. - * Possible values include: 'LicenseIncluded', 'BasePrice' - * @readonly - * @enum {string} - */ -export type InstancePoolLicenseType = 'LicenseIncluded' | 'BasePrice'; +/** Optional parameters. */ +export interface EncryptionProtectorsListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ManagedServerCreateMode. - * Possible values include: 'Default', 'PointInTimeRestore' - * @readonly - * @enum {string} - */ -export type ManagedServerCreateMode = 'Default' | 'PointInTimeRestore'; +/** Contains response data for the listByServerNext operation. */ +export type EncryptionProtectorsListByServerNextResponse = EncryptionProtectorListResult; -/** - * Defines values for ManagedInstanceLicenseType. - * Possible values include: 'LicenseIncluded', 'BasePrice' - * @readonly - * @enum {string} - */ -export type ManagedInstanceLicenseType = 'LicenseIncluded' | 'BasePrice'; +/** Optional parameters. */ +export interface FailoverGroupsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ManagedInstanceProxyOverride. - * Possible values include: 'Proxy', 'Redirect', 'Default' - * @readonly - * @enum {string} - */ -export type ManagedInstanceProxyOverride = 'Proxy' | 'Redirect' | 'Default'; +/** Contains response data for the get operation. */ +export type FailoverGroupsGetResponse = FailoverGroup; -/** - * Defines values for ManagedDatabaseStatus. - * Possible values include: 'Online', 'Offline', 'Shutdown', 'Creating', 'Inaccessible', - * 'Restoring', 'Updating' - * @readonly - * @enum {string} - */ -export type ManagedDatabaseStatus = 'Online' | 'Offline' | 'Shutdown' | 'Creating' | 'Inaccessible' | 'Restoring' | 'Updating'; +/** Optional parameters. */ +export interface FailoverGroupsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} -/** - * Defines values for ManagedDatabaseCreateMode. - * Possible values include: 'Default', 'RestoreExternalBackup', 'PointInTimeRestore', 'Recovery' - * @readonly - * @enum {string} - */ -export type ManagedDatabaseCreateMode = 'Default' | 'RestoreExternalBackup' | 'PointInTimeRestore' | 'Recovery'; +/** Contains response data for the createOrUpdate operation. */ +export type FailoverGroupsCreateOrUpdateResponse = FailoverGroup; -/** - * Defines values for LongTermRetentionDatabaseState. - * Possible values include: 'All', 'Live', 'Deleted' - * @readonly - * @enum {string} - */ -export type LongTermRetentionDatabaseState = 'All' | 'Live' | 'Deleted'; +/** Optional parameters. */ +export interface FailoverGroupsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} -/** - * Defines values for VulnerabilityAssessmentPolicyBaselineName. - * Possible values include: 'master', 'default' - * @readonly - * @enum {string} - */ -export type VulnerabilityAssessmentPolicyBaselineName = 'master' | 'default'; +/** Optional parameters. */ +export interface FailoverGroupsUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} -/** - * Defines values for SensitivityLabelSource. - * Possible values include: 'current', 'recommended' - * @readonly - * @enum {string} - */ -export type SensitivityLabelSource = 'current' | 'recommended'; +/** Contains response data for the update operation. */ +export type FailoverGroupsUpdateResponse = FailoverGroup; -/** - * Defines values for CapabilityGroup. - * Possible values include: 'supportedEditions', 'supportedElasticPoolEditions', - * 'supportedManagedInstanceVersions' - * @readonly - * @enum {string} - */ -export type CapabilityGroup = 'supportedEditions' | 'supportedElasticPoolEditions' | 'supportedManagedInstanceVersions'; +/** Optional parameters. */ +export interface FailoverGroupsListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ReplicaType. - * Possible values include: 'Primary', 'ReadableSecondary' - * @readonly - * @enum {string} - */ -export type ReplicaType = 'Primary' | 'ReadableSecondary'; +/** Contains response data for the listByServer operation. */ +export type FailoverGroupsListByServerResponse = FailoverGroupListResult; -/** - * Defines values for Type. - * Possible values include: 'All', 'Error', 'Warning', 'Success' - * @readonly - * @enum {string} - */ -export type Type = 'All' | 'Error' | 'Warning' | 'Success'; +/** Optional parameters. */ +export interface FailoverGroupsFailoverOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type RecoverableDatabasesGetResponse = RecoverableDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the failover operation. */ +export type FailoverGroupsFailoverResponse = FailoverGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoverableDatabase; - }; -}; +/** Optional parameters. */ +export interface FailoverGroupsForceFailoverAllowDataLossOptionalParams + extends coreClient.OperationOptions { + /** 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 listByServer operation. - */ -export type RecoverableDatabasesListByServerResponse = RecoverableDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the forceFailoverAllowDataLoss operation. */ +export type FailoverGroupsForceFailoverAllowDataLossResponse = FailoverGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoverableDatabaseListResult; - }; -}; +/** Optional parameters. */ +export interface FailoverGroupsListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type RestorableDroppedDatabasesGetResponse = RestorableDroppedDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type FailoverGroupsListByServerNextResponse = FailoverGroupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorableDroppedDatabase; - }; -}; +/** Optional parameters. */ +export interface FirewallRulesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServer operation. - */ -export type RestorableDroppedDatabasesListByServerResponse = RestorableDroppedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type FirewallRulesGetResponse = FirewallRule; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorableDroppedDatabaseListResult; - }; -}; +/** Optional parameters. */ +export interface FirewallRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the checkNameAvailability operation. - */ -export type ServersCheckNameAvailabilityResponse = CheckNameAvailabilityResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type FirewallRulesCreateOrUpdateResponse = FirewallRule; - /** - * The response body as parsed JSON or XML - */ - parsedBody: CheckNameAvailabilityResponse; - }; -}; +/** Optional parameters. */ +export interface FirewallRulesDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type ServersListResponse = ServerListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface FirewallRulesListByServerOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerListResult; - }; -}; +/** Contains response data for the listByServer operation. */ +export type FirewallRulesListByServerResponse = FirewallRuleListResult; -/** - * Contains response data for the listByResourceGroup operation. - */ -export type ServersListByResourceGroupResponse = ServerListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface FirewallRulesReplaceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerListResult; - }; -}; +/** Contains response data for the replace operation. */ +export type FirewallRulesReplaceResponse = FirewallRule; -/** - * Contains response data for the get operation. - */ -export type ServersGetResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface FirewallRulesListByServerNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +/** Contains response data for the listByServerNext operation. */ +export type FirewallRulesListByServerNextResponse = FirewallRuleListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServersCreateOrUpdateResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface InstanceFailoverGroupsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +/** Contains response data for the get operation. */ +export type InstanceFailoverGroupsGetResponse = InstanceFailoverGroup; -/** - * Contains response data for the update operation. - */ -export type ServersUpdateResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface InstanceFailoverGroupsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type InstanceFailoverGroupsCreateOrUpdateResponse = InstanceFailoverGroup; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ServersBeginCreateOrUpdateResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface InstanceFailoverGroupsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +/** Optional parameters. */ +export interface InstanceFailoverGroupsListByLocationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginUpdate operation. - */ -export type ServersBeginUpdateResponse = Server & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocation operation. */ +export type InstanceFailoverGroupsListByLocationResponse = InstanceFailoverGroupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Server; - }; -}; +/** Optional parameters. */ +export interface InstanceFailoverGroupsFailoverOptionalParams + extends coreClient.OperationOptions { + /** 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 listNext operation. - */ -export type ServersListNextResponse = ServerListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the failover operation. */ +export type InstanceFailoverGroupsFailoverResponse = InstanceFailoverGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerListResult; - }; -}; +/** Optional parameters. */ +export interface InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams + extends coreClient.OperationOptions { + /** 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 listByResourceGroupNext operation. - */ -export type ServersListByResourceGroupNextResponse = ServerListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the forceFailoverAllowDataLoss operation. */ +export type InstanceFailoverGroupsForceFailoverAllowDataLossResponse = InstanceFailoverGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerListResult; - }; -}; +/** Optional parameters. */ +export interface InstanceFailoverGroupsListByLocationNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServerConnectionPoliciesCreateOrUpdateResponse = ServerConnectionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocationNext operation. */ +export type InstanceFailoverGroupsListByLocationNextResponse = InstanceFailoverGroupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerConnectionPolicy; - }; -}; +/** Optional parameters. */ +export interface InstancePoolsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ServerConnectionPoliciesGetResponse = ServerConnectionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type InstancePoolsGetResponse = InstancePool; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerConnectionPolicy; - }; -}; +/** Optional parameters. */ +export interface InstancePoolsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type DatabaseThreatDetectionPoliciesGetResponse = DatabaseSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type InstancePoolsCreateOrUpdateResponse = InstancePool; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseSecurityAlertPolicy; - }; -}; +/** Optional parameters. */ +export interface InstancePoolsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 DatabaseThreatDetectionPoliciesCreateOrUpdateResponse = DatabaseSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface InstancePoolsUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseSecurityAlertPolicy; - }; -}; +/** Contains response data for the update operation. */ +export type InstancePoolsUpdateResponse = InstancePool; -/** - * Contains response data for the createOrUpdate operation. - */ -export type DataMaskingPoliciesCreateOrUpdateResponse = DataMaskingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface InstancePoolsListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DataMaskingPolicy; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type InstancePoolsListByResourceGroupResponse = InstancePoolListResult; -/** - * Contains response data for the get operation. - */ -export type DataMaskingPoliciesGetResponse = DataMaskingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface InstancePoolsListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DataMaskingPolicy; - }; -}; +/** Contains response data for the list operation. */ +export type InstancePoolsListResponse = InstancePoolListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type DataMaskingRulesCreateOrUpdateResponse = DataMaskingRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface InstancePoolsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DataMaskingRule; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type InstancePoolsListByResourceGroupNextResponse = InstancePoolListResult; -/** - * Contains response data for the listByDatabase operation. - */ -export type DataMaskingRulesListByDatabaseResponse = DataMaskingRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface InstancePoolsListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DataMaskingRuleListResult; - }; -}; +/** Contains response data for the listNext operation. */ +export type InstancePoolsListNextResponse = InstancePoolListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type FirewallRulesCreateOrUpdateResponse = FirewallRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobAgentsListByServerOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FirewallRule; - }; -}; +/** Contains response data for the listByServer operation. */ +export type JobAgentsListByServerResponse = JobAgentListResult; -/** - * Contains response data for the get operation. - */ -export type FirewallRulesGetResponse = FirewallRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobAgentsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FirewallRule; - }; -}; +/** Contains response data for the get operation. */ +export type JobAgentsGetResponse = JobAgent; -/** - * Contains response data for the listByServer operation. - */ -export type FirewallRulesListByServerResponse = FirewallRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobAgentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FirewallRuleListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type JobAgentsCreateOrUpdateResponse = JobAgent; -/** - * Contains response data for the createOrUpdate operation. - */ -export type GeoBackupPoliciesCreateOrUpdateResponse = GeoBackupPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobAgentsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: GeoBackupPolicy; - }; -}; +/** Optional parameters. */ +export interface JobAgentsUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type GeoBackupPoliciesGetResponse = GeoBackupPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type JobAgentsUpdateResponse = JobAgent; - /** - * The response body as parsed JSON or XML - */ - parsedBody: GeoBackupPolicy; - }; -}; +/** Optional parameters. */ +export interface JobAgentsListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabase operation. - */ -export type GeoBackupPoliciesListByDatabaseResponse = GeoBackupPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type JobAgentsListByServerNextResponse = JobAgentListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: GeoBackupPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface JobCredentialsListByAgentOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the importMethod operation. - */ -export type DatabasesImportMethodResponse = ImportExportResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByAgent operation. */ +export type JobCredentialsListByAgentResponse = JobCredentialListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ImportExportResponse; - }; -}; +/** Optional parameters. */ +export interface JobCredentialsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createImportOperation operation. - */ -export type DatabasesCreateImportOperationResponse = ImportExportResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type JobCredentialsGetResponse = JobCredential; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ImportExportResponse; - }; -}; +/** Optional parameters. */ +export interface JobCredentialsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the exportMethod operation. - */ -export type DatabasesExportMethodResponse = ImportExportResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type JobCredentialsCreateOrUpdateResponse = JobCredential; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ImportExportResponse; - }; -}; +/** Optional parameters. */ +export interface JobCredentialsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMetrics operation. - */ -export type DatabasesListMetricsResponse = MetricListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobCredentialsListByAgentNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MetricListResult; - }; -}; +/** Contains response data for the listByAgentNext operation. */ +export type JobCredentialsListByAgentNextResponse = JobCredentialListResult; -/** - * Contains response data for the listMetricDefinitions operation. - */ -export type DatabasesListMetricDefinitionsResponse = MetricDefinitionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobExecutionsListByAgentOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MetricDefinitionListResult; - }; -}; +/** Contains response data for the listByAgent operation. */ +export type JobExecutionsListByAgentResponse = JobExecutionListResult; -/** - * Contains response data for the listByServer operation. - */ -export type DatabasesListByServerResponse = DatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobExecutionsCancelOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseListResult; - }; -}; +/** Optional parameters. */ +export interface JobExecutionsCreateOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type DatabasesGetResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the create operation. */ +export type JobExecutionsCreateResponse = JobExecution; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Optional parameters. */ +export interface JobExecutionsListByJobOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} -/** - * Contains response data for the createOrUpdate operation. - */ -export type DatabasesCreateOrUpdateResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByJob operation. */ +export type JobExecutionsListByJobResponse = JobExecutionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Optional parameters. */ +export interface JobExecutionsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type DatabasesUpdateResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type JobExecutionsGetResponse = JobExecution; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Optional parameters. */ +export interface JobExecutionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listByElasticPool operation. - */ -export type DatabasesListByElasticPoolResponse = DatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type JobExecutionsCreateOrUpdateResponse = JobExecution; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseListResult; - }; -}; +/** Optional parameters. */ +export interface JobExecutionsListByAgentNextOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} -/** - * Contains response data for the pause operation. - */ -export type DatabasesPauseResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByAgentNext operation. */ +export type JobExecutionsListByAgentNextResponse = JobExecutionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Optional parameters. */ +export interface JobExecutionsListByJobNextOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} -/** - * Contains response data for the resume operation. - */ -export type DatabasesResumeResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByJobNext operation. */ +export type JobExecutionsListByJobNextResponse = JobExecutionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Optional parameters. */ +export interface JobsListByAgentOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginImportMethod operation. - */ -export type DatabasesBeginImportMethodResponse = ImportExportResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByAgent operation. */ +export type JobsListByAgentResponse = JobListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ImportExportResponse; - }; -}; +/** Optional parameters. */ +export interface JobsGetOptionalParams extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateImportOperation operation. - */ -export type DatabasesBeginCreateImportOperationResponse = ImportExportResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type JobsGetResponse = Job; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ImportExportResponse; - }; -}; +/** Optional parameters. */ +export interface JobsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginExportMethod operation. - */ -export type DatabasesBeginExportMethodResponse = ImportExportResponse & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type JobsCreateOrUpdateResponse = Job; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ImportExportResponse; - }; -}; +/** Optional parameters. */ +export interface JobsDeleteOptionalParams extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type DatabasesBeginCreateOrUpdateResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobsListByAgentNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Contains response data for the listByAgentNext operation. */ +export type JobsListByAgentNextResponse = JobListResult; -/** - * Contains response data for the beginUpdate operation. - */ -export type DatabasesBeginUpdateResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepExecutionsListByJobExecutionOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Contains response data for the listByJobExecution operation. */ +export type JobStepExecutionsListByJobExecutionResponse = JobExecutionListResult; -/** - * Contains response data for the beginPause operation. - */ -export type DatabasesBeginPauseResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepExecutionsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Contains response data for the get operation. */ +export type JobStepExecutionsGetResponse = JobExecution; -/** - * Contains response data for the beginResume operation. - */ -export type DatabasesBeginResumeResponse = Database & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepExecutionsListByJobExecutionNextOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Database; - }; -}; +/** Contains response data for the listByJobExecutionNext operation. */ +export type JobStepExecutionsListByJobExecutionNextResponse = JobExecutionListResult; -/** - * Contains response data for the listByServerNext operation. - */ -export type DatabasesListByServerNextResponse = DatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepsListByVersionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseListResult; - }; -}; +/** Contains response data for the listByVersion operation. */ +export type JobStepsListByVersionResponse = JobStepListResult; -/** - * Contains response data for the listByElasticPoolNext operation. - */ -export type DatabasesListByElasticPoolNextResponse = DatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepsGetByVersionOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseListResult; - }; -}; +/** Contains response data for the getByVersion operation. */ +export type JobStepsGetByVersionResponse = JobStep; -/** - * Contains response data for the listMetrics operation. - */ -export type ElasticPoolsListMetricsResponse = MetricListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepsListByJobOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MetricListResult; - }; -}; +/** Contains response data for the listByJob operation. */ +export type JobStepsListByJobResponse = JobStepListResult; -/** - * Contains response data for the listMetricDefinitions operation. - */ -export type ElasticPoolsListMetricDefinitionsResponse = MetricDefinitionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: MetricDefinitionListResult; - }; -}; +/** Contains response data for the get operation. */ +export type JobStepsGetResponse = JobStep; -/** - * Contains response data for the listByServer operation. - */ -export type ElasticPoolsListByServerResponse = ElasticPoolListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPoolListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type JobStepsCreateOrUpdateResponse = JobStep; -/** - * Contains response data for the get operation. - */ -export type ElasticPoolsGetResponse = ElasticPool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobStepsDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPool; - }; -}; +/** Optional parameters. */ +export interface JobStepsListByVersionNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ElasticPoolsCreateOrUpdateResponse = ElasticPool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByVersionNext operation. */ +export type JobStepsListByVersionNextResponse = JobStepListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPool; - }; -}; +/** Optional parameters. */ +export interface JobStepsListByJobNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type ElasticPoolsUpdateResponse = ElasticPool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByJobNext operation. */ +export type JobStepsListByJobNextResponse = JobStepListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPool; - }; -}; +/** Optional parameters. */ +export interface JobTargetExecutionsListByJobExecutionOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ElasticPoolsBeginCreateOrUpdateResponse = ElasticPool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByJobExecution operation. */ +export type JobTargetExecutionsListByJobExecutionResponse = JobExecutionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPool; - }; -}; +/** Optional parameters. */ +export interface JobTargetExecutionsListByStepOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} -/** - * Contains response data for the beginUpdate operation. - */ -export type ElasticPoolsBeginUpdateResponse = ElasticPool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByStep operation. */ +export type JobTargetExecutionsListByStepResponse = JobExecutionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPool; - }; -}; +/** Optional parameters. */ +export interface JobTargetExecutionsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServerNext operation. - */ -export type ElasticPoolsListByServerNextResponse = ElasticPoolListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type JobTargetExecutionsGetResponse = JobExecution; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPoolListResult; - }; -}; +/** Optional parameters. */ +export interface JobTargetExecutionsListByJobExecutionNextOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} -/** - * Contains response data for the get operation. - */ -export type RecommendedElasticPoolsGetResponse = RecommendedElasticPool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByJobExecutionNext operation. */ +export type JobTargetExecutionsListByJobExecutionNextResponse = JobExecutionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendedElasticPool; - }; -}; +/** Optional parameters. */ +export interface JobTargetExecutionsListByStepNextOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** If specified, only job executions created at or after the specified time are included. */ + createTimeMin?: Date; + /** If specified, only job executions created before the specified time are included. */ + createTimeMax?: Date; + /** If specified, only job executions completed at or after the specified time are included. */ + endTimeMin?: Date; + /** If specified, only job executions completed before the specified time are included. */ + endTimeMax?: Date; + /** If specified, only active or only completed job executions are included. */ + isActive?: boolean; + /** The number of elements to return from the collection. */ + top?: number; +} -/** - * Contains response data for the listByServer operation. - */ -export type RecommendedElasticPoolsListByServerResponse = RecommendedElasticPoolListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByStepNext operation. */ +export type JobTargetExecutionsListByStepNextResponse = JobExecutionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendedElasticPoolListResult; - }; -}; +/** Optional parameters. */ +export interface JobTargetGroupsListByAgentOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listMetrics operation. - */ -export type RecommendedElasticPoolsListMetricsResponse = RecommendedElasticPoolListMetricsResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByAgent operation. */ +export type JobTargetGroupsListByAgentResponse = JobTargetGroupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecommendedElasticPoolListMetricsResult; - }; -}; +/** Optional parameters. */ +export interface JobTargetGroupsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ReplicationLinksGetResponse = ReplicationLink & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type JobTargetGroupsGetResponse = JobTargetGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationLink; - }; -}; +/** Optional parameters. */ +export interface JobTargetGroupsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabase operation. - */ -export type ReplicationLinksListByDatabaseResponse = ReplicationLinkListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type JobTargetGroupsCreateOrUpdateResponse = JobTargetGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationLinkListResult; - }; -}; +/** Optional parameters. */ +export interface JobTargetGroupsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServerAzureADAdministratorsCreateOrUpdateResponse = ServerAzureADAdministrator & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobTargetGroupsListByAgentNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerAzureADAdministrator; - }; -}; +/** Contains response data for the listByAgentNext operation. */ +export type JobTargetGroupsListByAgentNextResponse = JobTargetGroupListResult; -/** - * Contains response data for the deleteMethod operation. - */ -export type ServerAzureADAdministratorsDeleteMethodResponse = ServerAzureADAdministrator & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobVersionsListByJobOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerAzureADAdministrator; - }; -}; +/** Contains response data for the listByJob operation. */ +export type JobVersionsListByJobResponse = JobVersionListResult; -/** - * Contains response data for the get operation. - */ -export type ServerAzureADAdministratorsGetResponse = ServerAzureADAdministrator & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobVersionsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerAzureADAdministrator; - }; -}; +/** Contains response data for the get operation. */ +export type JobVersionsGetResponse = JobVersion; -/** - * Contains response data for the listByServer operation. - */ -export type ServerAzureADAdministratorsListByServerResponse = ServerAdministratorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface JobVersionsListByJobNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerAdministratorListResult; - }; -}; +/** Contains response data for the listByJobNext operation. */ +export type JobVersionsListByJobNextResponse = JobVersionListResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ServerAzureADAdministratorsBeginCreateOrUpdateResponse = ServerAzureADAdministrator & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface CapabilitiesListByLocationOptionalParams + extends coreClient.OperationOptions { + /** If specified, restricts the response to only include the selected item. */ + include?: CapabilityGroup; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerAzureADAdministrator; - }; -}; +/** Contains response data for the listByLocation operation. */ +export type CapabilitiesListByLocationResponse = LocationCapabilities; -/** - * Contains response data for the beginDeleteMethod operation. - */ -export type ServerAzureADAdministratorsBeginDeleteMethodResponse = ServerAzureADAdministrator & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionBackupsCopyOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerAzureADAdministrator; - }; -}; +/** Contains response data for the copy operation. */ +export type LongTermRetentionBackupsCopyResponse = LongTermRetentionBackupOperationResult; -/** - * Contains response data for the get operation. - */ -export type ServerCommunicationLinksGetResponse = ServerCommunicationLink & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionBackupsUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerCommunicationLink; - }; -}; +/** Contains response data for the update operation. */ +export type LongTermRetentionBackupsUpdateResponse = LongTermRetentionBackupOperationResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServerCommunicationLinksCreateOrUpdateResponse = ServerCommunicationLink & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionBackupsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerCommunicationLink; - }; -}; +/** Contains response data for the get operation. */ +export type LongTermRetentionBackupsGetResponse = LongTermRetentionBackup; -/** - * Contains response data for the listByServer operation. - */ -export type ServerCommunicationLinksListByServerResponse = ServerCommunicationLinkListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionBackupsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerCommunicationLinkListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByDatabaseOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ServerCommunicationLinksBeginCreateOrUpdateResponse = ServerCommunicationLink & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabase operation. */ +export type LongTermRetentionBackupsListByDatabaseResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerCommunicationLink; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByLocationOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the get operation. - */ -export type ServiceObjectivesGetResponse = ServiceObjective & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocation operation. */ +export type LongTermRetentionBackupsListByLocationResponse = LongTermRetentionBackupListResult; + +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByServerOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServiceObjective; - }; -}; +/** Contains response data for the listByServer operation. */ +export type LongTermRetentionBackupsListByServerResponse = LongTermRetentionBackupListResult; -/** - * Contains response data for the listByServer operation. - */ -export type ServiceObjectivesListByServerResponse = ServiceObjectiveListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionBackupsCopyByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServiceObjectiveListResult; - }; -}; +/** Contains response data for the copyByResourceGroup operation. */ +export type LongTermRetentionBackupsCopyByResourceGroupResponse = LongTermRetentionBackupOperationResult; -/** - * Contains response data for the listByElasticPool operation. - */ -export type ElasticPoolActivitiesListByElasticPoolResponse = ElasticPoolActivityListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionBackupsUpdateByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPoolActivityListResult; - }; -}; +/** Contains response data for the updateByResourceGroup operation. */ +export type LongTermRetentionBackupsUpdateByResourceGroupResponse = LongTermRetentionBackupOperationResult; -/** - * Contains response data for the listByElasticPool operation. - */ -export type ElasticPoolDatabaseActivitiesListByElasticPoolResponse = ElasticPoolDatabaseActivityListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionBackupsGetByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPoolDatabaseActivityListResult; - }; -}; +/** Contains response data for the getByResourceGroup operation. */ +export type LongTermRetentionBackupsGetByResourceGroupResponse = LongTermRetentionBackup; -/** - * Contains response data for the get operation. - */ -export type ServiceTierAdvisorsGetResponse = ServiceTierAdvisor & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionBackupsDeleteByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServiceTierAdvisor; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the listByDatabase operation. - */ -export type ServiceTierAdvisorsListByDatabaseResponse = ServiceTierAdvisorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupDatabase operation. */ +export type LongTermRetentionBackupsListByResourceGroupDatabaseResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServiceTierAdvisorListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByResourceGroupLocationOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the createOrUpdate operation. - */ -export type TransparentDataEncryptionsCreateOrUpdateResponse = TransparentDataEncryption & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupLocation operation. */ +export type LongTermRetentionBackupsListByResourceGroupLocationResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TransparentDataEncryption; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByResourceGroupServerOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the get operation. - */ -export type TransparentDataEncryptionsGetResponse = TransparentDataEncryption & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupServer operation. */ +export type LongTermRetentionBackupsListByResourceGroupServerResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TransparentDataEncryption; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the listByConfiguration operation. - */ -export type TransparentDataEncryptionActivitiesListByConfigurationResponse = TransparentDataEncryptionActivityListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabaseNext operation. */ +export type LongTermRetentionBackupsListByDatabaseNextResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TransparentDataEncryptionActivityListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByLocationNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the listByServer operation. - */ -export type ServerUsagesListByServerResponse = ServerUsageListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocationNext operation. */ +export type LongTermRetentionBackupsListByLocationNextResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerUsageListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByServerNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the listByDatabase operation. - */ -export type DatabaseUsagesListByDatabaseResponse = DatabaseUsageListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type LongTermRetentionBackupsListByServerNextResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseUsageListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByResourceGroupDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the get operation. - */ -export type DatabaseAutomaticTuningGetResponse = DatabaseAutomaticTuning & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupDatabaseNext operation. */ +export type LongTermRetentionBackupsListByResourceGroupDatabaseNextResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseAutomaticTuning; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByResourceGroupLocationNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the update operation. - */ -export type DatabaseAutomaticTuningUpdateResponse = DatabaseAutomaticTuning & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupLocationNext operation. */ +export type LongTermRetentionBackupsListByResourceGroupLocationNextResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseAutomaticTuning; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionBackupsListByResourceGroupServerNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the listByServer operation. - */ -export type EncryptionProtectorsListByServerResponse = EncryptionProtectorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupServerNext operation. */ +export type LongTermRetentionBackupsListByResourceGroupServerNextResponse = LongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: EncryptionProtectorListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type EncryptionProtectorsGetResponse = EncryptionProtector & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type LongTermRetentionManagedInstanceBackupsGetResponse = ManagedInstanceLongTermRetentionBackup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: EncryptionProtector; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 EncryptionProtectorsCreateOrUpdateResponse = EncryptionProtector & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: EncryptionProtector; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type LongTermRetentionManagedInstanceBackupsListByDatabaseResponse = ManagedInstanceLongTermRetentionBackupListResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type EncryptionProtectorsBeginCreateOrUpdateResponse = EncryptionProtector & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: EncryptionProtector; - }; -}; +/** Contains response data for the listByInstance operation. */ +export type LongTermRetentionManagedInstanceBackupsListByInstanceResponse = ManagedInstanceLongTermRetentionBackupListResult; -/** - * Contains response data for the listByServerNext operation. - */ -export type EncryptionProtectorsListByServerNextResponse = EncryptionProtectorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: EncryptionProtectorListResult; - }; -}; +/** Contains response data for the listByLocation operation. */ +export type LongTermRetentionManagedInstanceBackupsListByLocationResponse = ManagedInstanceLongTermRetentionBackupListResult; -/** - * Contains response data for the get operation. - */ -export type FailoverGroupsGetResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Contains response data for the getByResourceGroup operation. */ +export type LongTermRetentionManagedInstanceBackupsGetByResourceGroupResponse = ManagedInstanceLongTermRetentionBackup; -/** - * Contains response data for the createOrUpdate operation. - */ -export type FailoverGroupsCreateOrUpdateResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the update operation. - */ -export type FailoverGroupsUpdateResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupDatabase operation. */ +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the listByServer operation. - */ -export type FailoverGroupsListByServerResponse = FailoverGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupInstance operation. */ +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroupListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the failover operation. - */ -export type FailoverGroupsFailoverResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupLocation operation. */ +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the forceFailoverAllowDataLoss operation. - */ -export type FailoverGroupsForceFailoverAllowDataLossResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabaseNext operation. */ +export type LongTermRetentionManagedInstanceBackupsListByDatabaseNextResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByInstanceNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type FailoverGroupsBeginCreateOrUpdateResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstanceNext operation. */ +export type LongTermRetentionManagedInstanceBackupsListByInstanceNextResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByLocationNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the beginUpdate operation. - */ -export type FailoverGroupsBeginUpdateResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocationNext operation. */ +export type LongTermRetentionManagedInstanceBackupsListByLocationNextResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the beginFailover operation. - */ -export type FailoverGroupsBeginFailoverResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupDatabaseNext operation. */ +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the beginForceFailoverAllowDataLoss operation. - */ -export type FailoverGroupsBeginForceFailoverAllowDataLossResponse = FailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupInstanceNext operation. */ +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroup; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextOptionalParams + extends coreClient.OperationOptions { + /** Whether or not to only get the latest backup for each database. */ + onlyLatestPerDatabase?: boolean; + /** Whether to query against just live databases, just deleted databases, or all databases. */ + databaseState?: DatabaseState; +} -/** - * Contains response data for the listByServerNext operation. - */ -export type FailoverGroupsListByServerNextResponse = FailoverGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroupLocationNext operation. */ +export type LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextResponse = ManagedInstanceLongTermRetentionBackupListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FailoverGroupListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionPoliciesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type OperationsListResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type LongTermRetentionPoliciesGetResponse = LongTermRetentionPolicy; - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listNext operation. - */ -export type OperationsListNextResponse = OperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type LongTermRetentionPoliciesCreateOrUpdateResponse = LongTermRetentionPolicy; - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServer operation. - */ -export type ServerKeysListByServerResponse = ServerKeyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabase operation. */ +export type LongTermRetentionPoliciesListByDatabaseResponse = LongTermRetentionPolicyListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerKeyListResult; - }; -}; +/** Optional parameters. */ +export interface LongTermRetentionPoliciesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ServerKeysGetResponse = ServerKey & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabaseNext operation. */ +export type LongTermRetentionPoliciesListByDatabaseNextResponse = LongTermRetentionPolicyListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerKey; - }; -}; +/** Optional parameters. */ +export interface MaintenanceWindowOptionsOperationsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServerKeysCreateOrUpdateResponse = ServerKey & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type MaintenanceWindowOptionsOperationsGetResponse = MaintenanceWindowOptions; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerKey; - }; -}; +/** Optional parameters. */ +export interface MaintenanceWindowsOperationsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ServerKeysBeginCreateOrUpdateResponse = ServerKey & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type MaintenanceWindowsOperationsGetResponse = MaintenanceWindows; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerKey; - }; -}; +/** Optional parameters. */ +export interface MaintenanceWindowsOperationsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServerNext operation. - */ -export type ServerKeysListByServerNextResponse = ServerKeyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedBackupShortTermRetentionPoliciesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerKeyListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedBackupShortTermRetentionPoliciesGetResponse = ManagedBackupShortTermRetentionPolicy; -/** - * Contains response data for the get operation. - */ -export type SyncAgentsGetResponse = SyncAgent & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncAgent; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy; -/** - * Contains response data for the createOrUpdate operation. - */ -export type SyncAgentsCreateOrUpdateResponse = SyncAgent & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncAgent; - }; -}; +/** Contains response data for the update operation. */ +export type ManagedBackupShortTermRetentionPoliciesUpdateResponse = ManagedBackupShortTermRetentionPolicy; -/** - * Contains response data for the listByServer operation. - */ -export type SyncAgentsListByServerResponse = SyncAgentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncAgentListResult; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type ManagedBackupShortTermRetentionPoliciesListByDatabaseResponse = ManagedBackupShortTermRetentionPolicyListResult; -/** - * Contains response data for the generateKey operation. - */ -export type SyncAgentsGenerateKeyResponse = SyncAgentKeyProperties & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedBackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncAgentKeyProperties; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedBackupShortTermRetentionPoliciesListByDatabaseNextResponse = ManagedBackupShortTermRetentionPolicyListResult; -/** - * Contains response data for the listLinkedDatabases operation. - */ -export type SyncAgentsListLinkedDatabasesResponse = SyncAgentLinkedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseColumnsListByDatabaseOptionalParams + extends coreClient.OperationOptions { + /** Array of Get3ItemsItem */ + schema?: string[]; + /** Array of Get4ItemsItem */ + table?: string[]; + /** Array of Get5ItemsItem */ + column?: string[]; + /** Array of Get6ItemsItem */ + orderBy?: string[]; + /** An opaque token that identifies a starting point in the collection. */ + skiptoken?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncAgentLinkedDatabaseListResult; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type ManagedDatabaseColumnsListByDatabaseResponse = DatabaseColumnListResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type SyncAgentsBeginCreateOrUpdateResponse = SyncAgent & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseColumnsListByTableOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncAgent; - }; -}; +/** Contains response data for the listByTable operation. */ +export type ManagedDatabaseColumnsListByTableResponse = DatabaseColumnListResult; -/** - * Contains response data for the listByServerNext operation. - */ -export type SyncAgentsListByServerNextResponse = SyncAgentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseColumnsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncAgentListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabaseColumnsGetResponse = DatabaseColumn; -/** - * Contains response data for the listLinkedDatabasesNext operation. - */ -export type SyncAgentsListLinkedDatabasesNextResponse = SyncAgentLinkedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseColumnsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** Array of Get3ItemsItem */ + schema?: string[]; + /** Array of Get4ItemsItem */ + table?: string[]; + /** Array of Get5ItemsItem */ + column?: string[]; + /** Array of Get6ItemsItem */ + orderBy?: string[]; + /** An opaque token that identifies a starting point in the collection. */ + skiptoken?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncAgentLinkedDatabaseListResult; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedDatabaseColumnsListByDatabaseNextResponse = DatabaseColumnListResult; -/** - * Contains response data for the listSyncDatabaseIds operation. - */ -export type SyncGroupsListSyncDatabaseIdsResponse = SyncDatabaseIdListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseColumnsListByTableNextOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncDatabaseIdListResult; - }; -}; +/** Contains response data for the listByTableNext operation. */ +export type ManagedDatabaseColumnsListByTableNextResponse = DatabaseColumnListResult; -/** - * Contains response data for the listHubSchemas operation. - */ -export type SyncGroupsListHubSchemasResponse = SyncFullSchemaPropertiesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseQueriesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncFullSchemaPropertiesListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabaseQueriesGetResponse = ManagedInstanceQuery; -/** - * Contains response data for the listLogs operation. - */ -export type SyncGroupsListLogsResponse = SyncGroupLogListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseQueriesListByQueryOptionalParams + extends coreClient.OperationOptions { + /** Start time for observed period. */ + startTime?: string; + /** End time for observed period. */ + endTime?: string; + /** The time step to be used to summarize the metric values. */ + interval?: QueryTimeGrainType; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroupLogListResult; - }; -}; +/** Contains response data for the listByQuery operation. */ +export type ManagedDatabaseQueriesListByQueryResponse = ManagedInstanceQueryStatistics; -/** - * Contains response data for the get operation. - */ -export type SyncGroupsGetResponse = SyncGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseQueriesListByQueryNextOptionalParams + extends coreClient.OperationOptions { + /** Start time for observed period. */ + startTime?: string; + /** End time for observed period. */ + endTime?: string; + /** The time step to be used to summarize the metric values. */ + interval?: QueryTimeGrainType; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroup; - }; -}; +/** Contains response data for the listByQueryNext operation. */ +export type ManagedDatabaseQueriesListByQueryNextResponse = ManagedInstanceQueryStatistics; -/** - * Contains response data for the createOrUpdate operation. - */ -export type SyncGroupsCreateOrUpdateResponse = SyncGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseRestoreDetailsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroup; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabaseRestoreDetailsGetResponse = ManagedDatabaseRestoreDetailsResult; -/** - * Contains response data for the update operation. - */ -export type SyncGroupsUpdateResponse = SyncGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabasesListByInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroup; - }; -}; +/** Contains response data for the listByInstance operation. */ +export type ManagedDatabasesListByInstanceResponse = ManagedDatabaseListResult; -/** - * Contains response data for the listByDatabase operation. - */ -export type SyncGroupsListByDatabaseResponse = SyncGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabasesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroupListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabasesGetResponse = ManagedDatabase; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type SyncGroupsBeginCreateOrUpdateResponse = SyncGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabasesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroup; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedDatabasesCreateOrUpdateResponse = ManagedDatabase; -/** - * Contains response data for the beginUpdate operation. - */ -export type SyncGroupsBeginUpdateResponse = SyncGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabasesDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroup; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabasesUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listSyncDatabaseIdsNext operation. - */ -export type SyncGroupsListSyncDatabaseIdsNextResponse = SyncDatabaseIdListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type ManagedDatabasesUpdateResponse = ManagedDatabase; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncDatabaseIdListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabasesCompleteRestoreOptionalParams + extends coreClient.OperationOptions { + /** 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 listHubSchemasNext operation. - */ -export type SyncGroupsListHubSchemasNextResponse = SyncFullSchemaPropertiesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabasesListInaccessibleByInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncFullSchemaPropertiesListResult; - }; -}; +/** Contains response data for the listInaccessibleByInstance operation. */ +export type ManagedDatabasesListInaccessibleByInstanceResponse = ManagedDatabaseListResult; -/** - * Contains response data for the listLogsNext operation. - */ -export type SyncGroupsListLogsNextResponse = SyncGroupLogListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabasesListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroupLogListResult; - }; -}; +/** Contains response data for the listByInstanceNext operation. */ +export type ManagedDatabasesListByInstanceNextResponse = ManagedDatabaseListResult; -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type SyncGroupsListByDatabaseNextResponse = SyncGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabasesListInaccessibleByInstanceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncGroupListResult; - }; -}; +/** Contains response data for the listInaccessibleByInstanceNext operation. */ +export type ManagedDatabasesListInaccessibleByInstanceNextResponse = ManagedDatabaseListResult; -/** - * Contains response data for the get operation. - */ -export type SyncMembersGetResponse = SyncMember & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSchemasListByDatabaseOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncMember; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type ManagedDatabaseSchemasListByDatabaseResponse = DatabaseSchemaListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type SyncMembersCreateOrUpdateResponse = SyncMember & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSchemasGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncMember; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabaseSchemasGetResponse = DatabaseSchema; -/** - * Contains response data for the update operation. - */ -export type SyncMembersUpdateResponse = SyncMember & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSchemasListByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncMember; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedDatabaseSchemasListByDatabaseNextResponse = DatabaseSchemaListResult; -/** - * Contains response data for the listBySyncGroup operation. - */ -export type SyncMembersListBySyncGroupResponse = SyncMemberListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSecurityAlertPoliciesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncMemberListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabaseSecurityAlertPoliciesGetResponse = ManagedDatabaseSecurityAlertPolicy; -/** - * Contains response data for the listMemberSchemas operation. - */ -export type SyncMembersListMemberSchemasResponse = SyncFullSchemaPropertiesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncFullSchemaPropertiesListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateResponse = ManagedDatabaseSecurityAlertPolicy; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type SyncMembersBeginCreateOrUpdateResponse = SyncMember & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncMember; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type ManagedDatabaseSecurityAlertPoliciesListByDatabaseResponse = ManagedDatabaseSecurityAlertPolicyListResult; -/** - * Contains response data for the beginUpdate operation. - */ -export type SyncMembersBeginUpdateResponse = SyncMember & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncMember; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextResponse = ManagedDatabaseSecurityAlertPolicyListResult; -/** - * Contains response data for the listBySyncGroupNext operation. - */ -export type SyncMembersListBySyncGroupNextResponse = SyncMemberListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSecurityEventsListByDatabaseOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** An opaque token that identifies a starting point in the collection. */ + skiptoken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + /** The number of elements to return from the collection. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncMemberListResult; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type ManagedDatabaseSecurityEventsListByDatabaseResponse = SecurityEventCollection; -/** - * Contains response data for the listMemberSchemasNext operation. - */ -export type SyncMembersListMemberSchemasNextResponse = SyncFullSchemaPropertiesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSecurityEventsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + /** The number of elements in the collection to skip. */ + skip?: number; + /** An opaque token that identifies a starting point in the collection. */ + skiptoken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + /** The number of elements to return from the collection. */ + top?: number; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SyncFullSchemaPropertiesListResult; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedDatabaseSecurityEventsListByDatabaseNextResponse = SecurityEventCollection; -/** - * Contains response data for the listByLocation operation. - */ -export type SubscriptionUsagesListByLocationResponse = SubscriptionUsageListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SubscriptionUsageListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabaseSensitivityLabelsGetResponse = SensitivityLabel; -/** - * Contains response data for the get operation. - */ -export type SubscriptionUsagesGetResponse = SubscriptionUsage & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SubscriptionUsage; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedDatabaseSensitivityLabelsCreateOrUpdateResponse = SensitivityLabel; -/** - * Contains response data for the listByLocationNext operation. - */ -export type SubscriptionUsagesListByLocationNextResponse = SubscriptionUsageListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SubscriptionUsageListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type VirtualClustersListResponse = VirtualClusterListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualClusterListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + count?: boolean; +} -/** - * Contains response data for the listByResourceGroup operation. - */ -export type VirtualClustersListByResourceGroupResponse = VirtualClusterListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listCurrentByDatabase operation. */ +export type ManagedDatabaseSensitivityLabelsListCurrentByDatabaseResponse = SensitivityLabelListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualClusterListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type VirtualClustersGetResponse = VirtualCluster & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + /** Specifies whether to include disabled recommendations or not. */ + includeDisabledRecommendations?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualCluster; - }; -}; +/** Contains response data for the listRecommendedByDatabase operation. */ +export type ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseResponse = SensitivityLabelListResult; -/** - * Contains response data for the update operation. - */ -export type VirtualClustersUpdateResponse = VirtualCluster & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + count?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualCluster; - }; -}; +/** Contains response data for the listCurrentByDatabaseNext operation. */ +export type ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextResponse = SensitivityLabelListResult; -/** - * Contains response data for the beginUpdate operation. - */ -export type VirtualClustersBeginUpdateResponse = VirtualCluster & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + /** Specifies whether to include disabled recommendations or not. */ + includeDisabledRecommendations?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualCluster; - }; -}; +/** Contains response data for the listRecommendedByDatabaseNext operation. */ +export type ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextResponse = SensitivityLabelListResult; -/** - * Contains response data for the listNext operation. - */ -export type VirtualClustersListNextResponse = VirtualClusterListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualClusterListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseTablesListBySchemaOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type VirtualClustersListByResourceGroupNextResponse = VirtualClusterListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySchema operation. */ +export type ManagedDatabaseTablesListBySchemaResponse = DatabaseTableListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualClusterListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseTablesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type VirtualNetworkRulesGetResponse = VirtualNetworkRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ManagedDatabaseTablesGetResponse = DatabaseTable; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRule; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseTablesListBySchemaNextOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} -/** - * Contains response data for the createOrUpdate operation. - */ -export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySchemaNext operation. */ +export type ManagedDatabaseTablesListBySchemaNextResponse = DatabaseTableListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRule; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseTransparentDataEncryptionGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServer operation. - */ -export type VirtualNetworkRulesListByServerResponse = VirtualNetworkRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ManagedDatabaseTransparentDataEncryptionGetResponse = ManagedTransparentDataEncryption; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRuleListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type VirtualNetworkRulesBeginCreateOrUpdateResponse = VirtualNetworkRule & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedDatabaseTransparentDataEncryptionCreateOrUpdateResponse = ManagedTransparentDataEncryption; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRule; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServerNext operation. - */ -export type VirtualNetworkRulesListByServerNextResponse = VirtualNetworkRuleListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabase operation. */ +export type ManagedDatabaseTransparentDataEncryptionListByDatabaseResponse = ManagedTransparentDataEncryptionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VirtualNetworkRuleListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseTransparentDataEncryptionListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ExtendedDatabaseBlobAuditingPoliciesGetResponse = ExtendedDatabaseBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedDatabaseTransparentDataEncryptionListByDatabaseNextResponse = ManagedTransparentDataEncryptionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ExtendedDatabaseBlobAuditingPolicy; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedDatabaseBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseVulnerabilityAssessmentRuleBaseline; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ExtendedDatabaseBlobAuditingPolicy; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ExtendedServerBlobAuditingPoliciesGetResponse = ExtendedServerBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseVulnerabilityAssessmentRuleBaseline; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ExtendedServerBlobAuditingPolicy; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedServerBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ExtendedServerBlobAuditingPolicy; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabaseVulnerabilityAssessmentsGetResponse = DatabaseVulnerabilityAssessment; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ExtendedServerBlobAuditingPoliciesBeginCreateOrUpdateResponse = ExtendedServerBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ExtendedServerBlobAuditingPolicy; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateResponse = DatabaseVulnerabilityAssessment; -/** - * Contains response data for the get operation. - */ -export type ServerBlobAuditingPoliciesGetResponse = ServerBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerBlobAuditingPolicy; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServerBlobAuditingPoliciesCreateOrUpdateResponse = ServerBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabase operation. */ +export type ManagedDatabaseVulnerabilityAssessmentsListByDatabaseResponse = DatabaseVulnerabilityAssessmentListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerBlobAuditingPolicy; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServer operation. - */ -export type ServerBlobAuditingPoliciesListByServerResponse = ServerBlobAuditingPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextResponse = DatabaseVulnerabilityAssessmentListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerBlobAuditingPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + extends coreClient.OperationOptions { + /** 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 beginCreateOrUpdate operation. - */ -export type ServerBlobAuditingPoliciesBeginCreateOrUpdateResponse = ServerBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerBlobAuditingPolicy; - }; -}; +/** Contains response data for the export operation. */ +export type ManagedDatabaseVulnerabilityAssessmentScansExportResponse = DatabaseVulnerabilityAssessmentScansExport; -/** - * Contains response data for the listByServerNext operation. - */ -export type ServerBlobAuditingPoliciesListByServerNextResponse = ServerBlobAuditingPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerBlobAuditingPolicyListResult; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseResponse = VulnerabilityAssessmentScanRecordListResult; -/** - * Contains response data for the get operation. - */ -export type DatabaseBlobAuditingPoliciesGetResponse = DatabaseBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseBlobAuditingPolicy; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedDatabaseVulnerabilityAssessmentScansGetResponse = VulnerabilityAssessmentScanRecord; -/** - * Contains response data for the createOrUpdate operation. - */ -export type DatabaseBlobAuditingPoliciesCreateOrUpdateResponse = DatabaseBlobAuditingPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseBlobAuditingPolicy; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse = VulnerabilityAssessmentScanRecordListResult; -/** - * Contains response data for the listByDatabase operation. - */ -export type DatabaseBlobAuditingPoliciesListByDatabaseResponse = DatabaseBlobAuditingPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceAdministratorsListByInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseBlobAuditingPolicyListResult; - }; -}; +/** Contains response data for the listByInstance operation. */ +export type ManagedInstanceAdministratorsListByInstanceResponse = ManagedInstanceAdministratorListResult; -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type DatabaseBlobAuditingPoliciesListByDatabaseNextResponse = DatabaseBlobAuditingPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceAdministratorsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseBlobAuditingPolicyListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedInstanceAdministratorsGetResponse = ManagedInstanceAdministrator; -/** - * Contains response data for the get operation. - */ -export type DatabaseVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseVulnerabilityAssessmentRuleBaseline & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceAdministratorsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentRuleBaseline; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedInstanceAdministratorsCreateOrUpdateResponse = ManagedInstanceAdministrator; -/** - * Contains response data for the createOrUpdate operation. - */ -export type DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseVulnerabilityAssessmentRuleBaseline & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceAdministratorsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentRuleBaseline; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceAdministratorsListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type DatabaseVulnerabilityAssessmentsGetResponse = DatabaseVulnerabilityAssessment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstanceNext operation. */ +export type ManagedInstanceAdministratorsListByInstanceNextResponse = ManagedInstanceAdministratorListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessment; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type DatabaseVulnerabilityAssessmentsCreateOrUpdateResponse = DatabaseVulnerabilityAssessment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ManagedInstanceAzureADOnlyAuthenticationsGetResponse = ManagedInstanceAzureADOnlyAuthentication; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessment; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listByDatabase operation. - */ -export type DatabaseVulnerabilityAssessmentsListByDatabaseResponse = DatabaseVulnerabilityAssessmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse = ManagedInstanceAzureADOnlyAuthentication; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 listByDatabaseNext operation. - */ -export type DatabaseVulnerabilityAssessmentsListByDatabaseNextResponse = DatabaseVulnerabilityAssessmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentListResult; - }; -}; +/** Contains response data for the listByInstance operation. */ +export type ManagedInstanceAzureADOnlyAuthenticationsListByInstanceResponse = ManagedInstanceAzureADOnlyAuthListResult; -/** - * Contains response data for the listByServer operation. - */ -export type JobAgentsListByServerResponse = JobAgentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobAgentListResult; - }; -}; +/** Contains response data for the listByInstanceNext operation. */ +export type ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextResponse = ManagedInstanceAzureADOnlyAuthListResult; -/** - * Contains response data for the get operation. - */ -export type JobAgentsGetResponse = JobAgent & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceEncryptionProtectorsRevalidateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobAgent; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type JobAgentsCreateOrUpdateResponse = JobAgent & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstance operation. */ +export type ManagedInstanceEncryptionProtectorsListByInstanceResponse = ManagedInstanceEncryptionProtectorListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobAgent; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceEncryptionProtectorsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type JobAgentsUpdateResponse = JobAgent & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ManagedInstanceEncryptionProtectorsGetResponse = ManagedInstanceEncryptionProtector; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobAgent; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 beginCreateOrUpdate operation. - */ -export type JobAgentsBeginCreateOrUpdateResponse = JobAgent & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse = ManagedInstanceEncryptionProtector; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobAgent; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceEncryptionProtectorsListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginUpdate operation. - */ -export type JobAgentsBeginUpdateResponse = JobAgent & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstanceNext operation. */ +export type ManagedInstanceEncryptionProtectorsListByInstanceNextResponse = ManagedInstanceEncryptionProtectorListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobAgent; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceKeysListByInstanceOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} -/** - * Contains response data for the listByServerNext operation. - */ -export type JobAgentsListByServerNextResponse = JobAgentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstance operation. */ +export type ManagedInstanceKeysListByInstanceResponse = ManagedInstanceKeyListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobAgentListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceKeysGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByAgent operation. - */ -export type JobCredentialsListByAgentResponse = JobCredentialListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ManagedInstanceKeysGetResponse = ManagedInstanceKey; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobCredentialListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceKeysCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type JobCredentialsGetResponse = JobCredential & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedInstanceKeysCreateOrUpdateResponse = ManagedInstanceKey; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobCredential; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceKeysDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 JobCredentialsCreateOrUpdateResponse = JobCredential & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceKeysListByInstanceNextOptionalParams + extends coreClient.OperationOptions { + /** An OData filter expression that filters elements in the collection. */ + filter?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobCredential; - }; -}; +/** Contains response data for the listByInstanceNext operation. */ +export type ManagedInstanceKeysListByInstanceNextResponse = ManagedInstanceKeyListResult; -/** - * Contains response data for the listByAgentNext operation. - */ -export type JobCredentialsListByAgentNextResponse = JobCredentialListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceLongTermRetentionPoliciesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobCredentialListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedInstanceLongTermRetentionPoliciesGetResponse = ManagedInstanceLongTermRetentionPolicy; -/** - * Contains response data for the listByAgent operation. - */ -export type JobExecutionsListByAgentResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse = ManagedInstanceLongTermRetentionPolicy; -/** - * Contains response data for the create operation. - */ -export type JobExecutionsCreateResponse = JobExecution & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecution; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type ManagedInstanceLongTermRetentionPoliciesListByDatabaseResponse = ManagedInstanceLongTermRetentionPolicyListResult; -/** - * Contains response data for the listByJob operation. - */ -export type JobExecutionsListByJobResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextResponse = ManagedInstanceLongTermRetentionPolicyListResult; -/** - * Contains response data for the get operation. - */ -export type JobExecutionsGetResponse = JobExecution & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceOperationsListByManagedInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecution; - }; -}; +/** Contains response data for the listByManagedInstance operation. */ +export type ManagedInstanceOperationsListByManagedInstanceResponse = ManagedInstanceOperationListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type JobExecutionsCreateOrUpdateResponse = JobExecution & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceOperationsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecution; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedInstanceOperationsGetResponse = ManagedInstanceOperation; -/** - * Contains response data for the beginCreate operation. - */ -export type JobExecutionsBeginCreateResponse = JobExecution & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceOperationsCancelOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecution; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceOperationsListByManagedInstanceNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type JobExecutionsBeginCreateOrUpdateResponse = JobExecution & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByManagedInstanceNext operation. */ +export type ManagedInstanceOperationsListByManagedInstanceNextResponse = ManagedInstanceOperationListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecution; - }; -}; +/** Optional parameters. */ +export interface ManagedInstancePrivateEndpointConnectionsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByAgentNext operation. - */ -export type JobExecutionsListByAgentNextResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ManagedInstancePrivateEndpointConnectionsGetResponse = ManagedInstancePrivateEndpointConnection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listByJobNext operation. - */ -export type JobExecutionsListByJobNextResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse = ManagedInstancePrivateEndpointConnection; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 listByAgent operation. - */ -export type JobsListByAgentResponse = JobListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobListResult; - }; -}; +/** Contains response data for the listByManagedInstance operation. */ +export type ManagedInstancePrivateEndpointConnectionsListByManagedInstanceResponse = ManagedInstancePrivateEndpointConnectionListResult; -/** - * Contains response data for the get operation. - */ -export type JobsGetResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Contains response data for the listByManagedInstanceNext operation. */ +export type ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextResponse = ManagedInstancePrivateEndpointConnectionListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type JobsCreateOrUpdateResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Contains response data for the listByManagedInstance operation. */ +export type ManagedInstancePrivateLinkResourcesListByManagedInstanceResponse = ManagedInstancePrivateLinkListResult; -/** - * Contains response data for the listByAgentNext operation. - */ -export type JobsListByAgentNextResponse = JobListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancePrivateLinkResourcesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedInstancePrivateLinkResourcesGetResponse = ManagedInstancePrivateLink; -/** - * Contains response data for the listByJobExecution operation. - */ -export type JobStepExecutionsListByJobExecutionResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancePrivateLinkResourcesListByManagedInstanceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Contains response data for the listByManagedInstanceNext operation. */ +export type ManagedInstancePrivateLinkResourcesListByManagedInstanceNextResponse = ManagedInstancePrivateLinkListResult; -/** - * Contains response data for the get operation. - */ -export type JobStepExecutionsGetResponse = JobExecution & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesListByInstancePoolOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecution; - }; -}; +/** Contains response data for the listByInstancePool operation. */ +export type ManagedInstancesListByInstancePoolResponse = ManagedInstanceListResult; -/** - * Contains response data for the listByJobExecutionNext operation. - */ -export type JobStepExecutionsListByJobExecutionNextResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesListOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Contains response data for the list operation. */ +export type ManagedInstancesListResponse = ManagedInstanceListResult; -/** - * Contains response data for the listByVersion operation. - */ -export type JobStepsListByVersionResponse = JobStepListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobStepListResult; - }; -}; +/** Contains response data for the listByResourceGroup operation. */ +export type ManagedInstancesListByResourceGroupResponse = ManagedInstanceListResult; -/** - * Contains response data for the getByVersion operation. - */ -export type JobStepsGetByVersionResponse = JobStep & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesGetOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobStep; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedInstancesGetResponse = ManagedInstance; -/** - * Contains response data for the listByJob operation. - */ -export type JobStepsListByJobResponse = JobStepListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ManagedInstancesCreateOrUpdateResponse = ManagedInstance; + +/** Optional parameters. */ +export interface ManagedInstancesDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 ManagedInstancesUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobStepListResult; - }; -}; +/** Contains response data for the update operation. */ +export type ManagedInstancesUpdateResponse = ManagedInstance; -/** - * Contains response data for the get operation. - */ -export type JobStepsGetResponse = JobStep & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesListByManagedInstanceOptionalParams + extends coreClient.OperationOptions { + /** Start time for observed period. */ + startTime?: string; + /** End time for observed period. */ + endTime?: string; + /** The time step to be used to summarize the metric values. Default value is PT1H */ + interval?: QueryTimeGrainType; + /** How many 'top queries' to return. Default is 5. */ + numberOfQueries?: number; + /** Comma separated list of databases to be included into search. All DB's are included if this parameter is not specified. */ + databases?: string; + /** Aggregation function to be used, default value is 'sum' */ + aggregationFunction?: AggregationFunctionType; + /** Metric to be used for ranking top queries. Default is 'cpu' */ + observationMetric?: MetricType; +} + +/** Contains response data for the listByManagedInstance operation. */ +export type ManagedInstancesListByManagedInstanceResponse = TopQueriesListResult; + +/** Optional parameters. */ +export interface ManagedInstancesFailoverOptionalParams + extends coreClient.OperationOptions { + /** The type of replica to be failed over. */ + replicaType?: ReplicaType; + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobStep; - }; -}; +/** Optional parameters. */ +export interface ManagedInstancesListByInstancePoolNextOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} + +/** Contains response data for the listByInstancePoolNext operation. */ +export type ManagedInstancesListByInstancePoolNextResponse = ManagedInstanceListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type JobStepsCreateOrUpdateResponse = JobStep & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesListNextOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobStep; - }; -}; +/** Contains response data for the listNext operation. */ +export type ManagedInstancesListNextResponse = ManagedInstanceListResult; -/** - * Contains response data for the listByVersionNext operation. - */ -export type JobStepsListByVersionNextResponse = JobStepListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobStepListResult; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type ManagedInstancesListByResourceGroupNextResponse = ManagedInstanceListResult; -/** - * Contains response data for the listByJobNext operation. - */ -export type JobStepsListByJobNextResponse = JobStepListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstancesListByManagedInstanceNextOptionalParams + extends coreClient.OperationOptions { + /** Start time for observed period. */ + startTime?: string; + /** End time for observed period. */ + endTime?: string; + /** The time step to be used to summarize the metric values. Default value is PT1H */ + interval?: QueryTimeGrainType; + /** How many 'top queries' to return. Default is 5. */ + numberOfQueries?: number; + /** Comma separated list of databases to be included into search. All DB's are included if this parameter is not specified. */ + databases?: string; + /** Aggregation function to be used, default value is 'sum' */ + aggregationFunction?: AggregationFunctionType; + /** Metric to be used for ranking top queries. Default is 'cpu' */ + observationMetric?: MetricType; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobStepListResult; - }; -}; +/** Contains response data for the listByManagedInstanceNext operation. */ +export type ManagedInstancesListByManagedInstanceNextResponse = TopQueriesListResult; -/** - * Contains response data for the listByJobExecution operation. - */ -export type JobTargetExecutionsListByJobExecutionResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceTdeCertificatesCreateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceVulnerabilityAssessmentsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByStep operation. - */ -export type JobTargetExecutionsListByStepResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ManagedInstanceVulnerabilityAssessmentsGetResponse = ManagedInstanceVulnerabilityAssessment; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type JobTargetExecutionsGetResponse = JobExecution & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateResponse = ManagedInstanceVulnerabilityAssessment; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecution; - }; -}; +/** Optional parameters. */ +export interface ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByJobExecutionNext operation. - */ -export type JobTargetExecutionsListByJobExecutionNextResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Contains response data for the listByInstance operation. */ +export type ManagedInstanceVulnerabilityAssessmentsListByInstanceResponse = ManagedInstanceVulnerabilityAssessmentListResult; -/** - * Contains response data for the listByStepNext operation. - */ -export type JobTargetExecutionsListByStepNextResponse = JobExecutionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedInstanceVulnerabilityAssessmentsListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobExecutionListResult; - }; -}; +/** Contains response data for the listByInstanceNext operation. */ +export type ManagedInstanceVulnerabilityAssessmentsListByInstanceNextResponse = ManagedInstanceVulnerabilityAssessmentListResult; -/** - * Contains response data for the listByAgent operation. - */ -export type JobTargetGroupsListByAgentResponse = JobTargetGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobTargetGroupListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse = ManagedBackupShortTermRetentionPolicy; -/** - * Contains response data for the get operation. - */ -export type JobTargetGroupsGetResponse = JobTargetGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobTargetGroup; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy; -/** - * Contains response data for the createOrUpdate operation. - */ -export type JobTargetGroupsCreateOrUpdateResponse = JobTargetGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobTargetGroup; - }; -}; +/** Contains response data for the update operation. */ +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse = ManagedBackupShortTermRetentionPolicy; -/** - * Contains response data for the listByAgentNext operation. - */ -export type JobTargetGroupsListByAgentNextResponse = JobTargetGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobTargetGroupListResult; - }; -}; +/** Contains response data for the listByRestorableDroppedDatabase operation. */ +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseResponse = ManagedBackupShortTermRetentionPolicyListResult; -/** - * Contains response data for the listByJob operation. - */ -export type JobVersionsListByJobResponse = JobVersionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobVersionListResult; - }; -}; +/** Contains response data for the listByRestorableDroppedDatabaseNext operation. */ +export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextResponse = ManagedBackupShortTermRetentionPolicyListResult; -/** - * Contains response data for the get operation. - */ -export type JobVersionsGetResponse = JobVersion & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedServerSecurityAlertPoliciesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobVersion; - }; -}; +/** Contains response data for the get operation. */ +export type ManagedServerSecurityAlertPoliciesGetResponse = ManagedServerSecurityAlertPolicy; -/** - * Contains response data for the listByJobNext operation. - */ -export type JobVersionsListByJobNextResponse = JobVersionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobVersionListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse = ManagedServerSecurityAlertPolicy; -/** - * Contains response data for the getByResourceGroup operation. - */ -export type LongTermRetentionBackupsGetByResourceGroupResponse = LongTermRetentionBackup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackup; - }; -}; +/** Contains response data for the listByInstance operation. */ +export type ManagedServerSecurityAlertPoliciesListByInstanceResponse = ManagedServerSecurityAlertPolicyListResult; -/** - * Contains response data for the listByResourceGroupDatabase operation. - */ -export type LongTermRetentionBackupsListByResourceGroupDatabaseResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ManagedServerSecurityAlertPoliciesListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Contains response data for the listByInstanceNext operation. */ +export type ManagedServerSecurityAlertPoliciesListByInstanceNextResponse = ManagedServerSecurityAlertPolicyListResult; -/** - * Contains response data for the listByResourceGroupLocation operation. - */ -export type LongTermRetentionBackupsListByResourceGroupLocationResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface OperationsListOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Contains response data for the list operation. */ +export type OperationsListResponse = OperationListResult; -/** - * Contains response data for the listByResourceGroupServer operation. - */ -export type LongTermRetentionBackupsListByResourceGroupServerResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface OperationsListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Contains response data for the listNext operation. */ +export type OperationsListNextResponse = OperationListResult; -/** - * Contains response data for the get operation. - */ -export type LongTermRetentionBackupsGetResponse = LongTermRetentionBackup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface OperationsHealthOperationsListByLocationOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackup; - }; -}; +/** Contains response data for the listByLocation operation. */ +export type OperationsHealthOperationsListByLocationResponse = OperationsHealthListResult; -/** - * Contains response data for the listByDatabase operation. - */ -export type LongTermRetentionBackupsListByDatabaseResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface OperationsHealthOperationsListByLocationNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Contains response data for the listByLocationNext operation. */ +export type OperationsHealthOperationsListByLocationNextResponse = OperationsHealthListResult; -/** - * Contains response data for the listByLocation operation. - */ -export type LongTermRetentionBackupsListByLocationResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Contains response data for the get operation. */ +export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection; -/** - * Contains response data for the listByServer operation. - */ -export type LongTermRetentionBackupsListByServerResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection; -/** - * Contains response data for the listByResourceGroupDatabaseNext operation. - */ -export type LongTermRetentionBackupsListByResourceGroupDatabaseNextResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroupLocationNext operation. - */ -export type LongTermRetentionBackupsListByResourceGroupLocationNextResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type PrivateEndpointConnectionsListByServerResponse = PrivateEndpointConnectionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroupServerNext operation. - */ -export type LongTermRetentionBackupsListByResourceGroupServerNextResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type PrivateEndpointConnectionsListByServerNextResponse = PrivateEndpointConnectionListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Optional parameters. */ +export interface PrivateLinkResourcesListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type LongTermRetentionBackupsListByDatabaseNextResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type PrivateLinkResourcesListByServerResponse = PrivateLinkResourceListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Optional parameters. */ +export interface PrivateLinkResourcesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByLocationNext operation. - */ -export type LongTermRetentionBackupsListByLocationNextResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type PrivateLinkResourcesGetResponse = PrivateLinkResource; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Optional parameters. */ +export interface PrivateLinkResourcesListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServerNext operation. - */ -export type LongTermRetentionBackupsListByServerNextResponse = LongTermRetentionBackupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type PrivateLinkResourcesListByServerNextResponse = PrivateLinkResourceListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LongTermRetentionBackupListResult; - }; -}; +/** Optional parameters. */ +export interface RecoverableManagedDatabasesListByInstanceOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type BackupLongTermRetentionPoliciesGetResponse = BackupLongTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstance operation. */ +export type RecoverableManagedDatabasesListByInstanceResponse = RecoverableManagedDatabaseListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupLongTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface RecoverableManagedDatabasesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type BackupLongTermRetentionPoliciesCreateOrUpdateResponse = BackupLongTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RecoverableManagedDatabasesGetResponse = RecoverableManagedDatabase; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupLongTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface RecoverableManagedDatabasesListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabase operation. - */ -export type BackupLongTermRetentionPoliciesListByDatabaseResponse = BackupLongTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstanceNext operation. */ +export type RecoverableManagedDatabasesListByInstanceNextResponse = RecoverableManagedDatabaseListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupLongTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface RestorePointsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type BackupLongTermRetentionPoliciesBeginCreateOrUpdateResponse = BackupLongTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabase operation. */ +export type RestorePointsListByDatabaseResponse = RestorePointListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupLongTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface RestorePointsCreateOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type ManagedBackupShortTermRetentionPoliciesGetResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the create operation. */ +export type RestorePointsCreateResponse = RestorePoint; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface RestorePointsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RestorePointsGetResponse = RestorePoint; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface RestorePointsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type ManagedBackupShortTermRetentionPoliciesUpdateResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RestorePointsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type RestorePointsListByDatabaseNextResponse = RestorePointListResult; -/** - * Contains response data for the listByDatabase operation. - */ -export type ManagedBackupShortTermRetentionPoliciesListByDatabaseResponse = ManagedBackupShortTermRetentionPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SensitivityLabelsListCurrentByDatabaseOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + count?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicyListResult; - }; -}; +/** Contains response data for the listCurrentByDatabase operation. */ +export type SensitivityLabelsListCurrentByDatabaseResponse = SensitivityLabelListResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ManagedBackupShortTermRetentionPoliciesBeginCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SensitivityLabelsUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface SensitivityLabelsListRecommendedByDatabaseOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + /** Specifies whether to include disabled recommendations or not. */ + includeDisabledRecommendations?: boolean; +} -/** - * Contains response data for the beginUpdate operation. - */ -export type ManagedBackupShortTermRetentionPoliciesBeginUpdateResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listRecommendedByDatabase operation. */ +export type SensitivityLabelsListRecommendedByDatabaseResponse = SensitivityLabelListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface SensitivityLabelsEnableRecommendationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type ManagedBackupShortTermRetentionPoliciesListByDatabaseNextResponse = ManagedBackupShortTermRetentionPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SensitivityLabelsDisableRecommendationOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface SensitivityLabelsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type SensitivityLabelsGetResponse = SensitivityLabel; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface SensitivityLabelsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type SensitivityLabelsCreateOrUpdateResponse = SensitivityLabel; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface SensitivityLabelsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SensitivityLabelsListCurrentByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + count?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Contains response data for the listCurrentByDatabaseNext operation. */ +export type SensitivityLabelsListCurrentByDatabaseNextResponse = SensitivityLabelListResult; -/** - * Contains response data for the listByRestorableDroppedDatabase operation. - */ -export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseResponse = ManagedBackupShortTermRetentionPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SensitivityLabelsListRecommendedByDatabaseNextOptionalParams + extends coreClient.OperationOptions { + skipToken?: string; + /** An OData filter expression that filters elements in the collection. */ + filter?: string; + /** Specifies whether to include disabled recommendations or not. */ + includeDisabledRecommendations?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicyListResult; - }; -}; +/** Contains response data for the listRecommendedByDatabaseNext operation. */ +export type SensitivityLabelsListRecommendedByDatabaseNextResponse = SensitivityLabelListResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesBeginCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface RecommendedSensitivityLabelsUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface ServerAdvisorsListByServerOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} -/** - * Contains response data for the beginUpdate operation. - */ -export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesBeginUpdateResponse = ManagedBackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type ServerAdvisorsListByServerResponse = Advisor[]; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface ServerAdvisorsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByRestorableDroppedDatabaseNext operation. - */ -export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextResponse = ManagedBackupShortTermRetentionPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ServerAdvisorsGetResponse = Advisor; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedBackupShortTermRetentionPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface ServerAdvisorsUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ServerAutomaticTuningGetResponse = ServerAutomaticTuning & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type ServerAdvisorsUpdateResponse = Advisor; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerAutomaticTuning; - }; -}; +/** Optional parameters. */ +export interface ServerAutomaticTuningOperationsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type ServerAutomaticTuningUpdateResponse = ServerAutomaticTuning & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ServerAutomaticTuningOperationsGetResponse = ServerAutomaticTuning; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerAutomaticTuning; - }; -}; +/** Optional parameters. */ +export interface ServerAutomaticTuningOperationsUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ServerDnsAliasesGetResponse = ServerDnsAlias & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type ServerAutomaticTuningOperationsUpdateResponse = ServerAutomaticTuning; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerDnsAlias; - }; -}; +/** Optional parameters. */ +export interface ServerAzureADAdministratorsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServerDnsAliasesCreateOrUpdateResponse = ServerDnsAlias & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ServerAzureADAdministratorsGetResponse = ServerAzureADAdministrator; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerDnsAlias; - }; -}; +/** Optional parameters. */ +export interface ServerAzureADAdministratorsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listByServer operation. - */ -export type ServerDnsAliasesListByServerResponse = ServerDnsAliasListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ServerAzureADAdministratorsCreateOrUpdateResponse = ServerAzureADAdministrator; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerDnsAliasListResult; - }; -}; +/** Optional parameters. */ +export interface ServerAzureADAdministratorsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 beginCreateOrUpdate operation. - */ -export type ServerDnsAliasesBeginCreateOrUpdateResponse = ServerDnsAlias & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerAzureADAdministratorsListByServerOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerDnsAlias; - }; -}; +/** Contains response data for the listByServer operation. */ +export type ServerAzureADAdministratorsListByServerResponse = AdministratorListResult; -/** - * Contains response data for the listByServerNext operation. - */ -export type ServerDnsAliasesListByServerNextResponse = ServerDnsAliasListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerAzureADAdministratorsListByServerNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerDnsAliasListResult; - }; -}; +/** Contains response data for the listByServerNext operation. */ +export type ServerAzureADAdministratorsListByServerNextResponse = AdministratorListResult; -/** - * Contains response data for the get operation. - */ -export type ServerSecurityAlertPoliciesGetResponse = ServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerAzureADOnlyAuthenticationsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerSecurityAlertPolicy; - }; -}; +/** Contains response data for the get operation. */ +export type ServerAzureADOnlyAuthenticationsGetResponse = ServerAzureADOnlyAuthentication; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerSecurityAlertPolicy; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse = ServerAzureADOnlyAuthentication; -/** - * Contains response data for the listByServer operation. - */ -export type ServerSecurityAlertPoliciesListByServerResponse = LogicalServerSecurityAlertPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerAzureADOnlyAuthenticationsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: LogicalServerSecurityAlertPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface ServerAzureADOnlyAuthenticationsListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ServerSecurityAlertPoliciesBeginCreateOrUpdateResponse = ServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type ServerAzureADOnlyAuthenticationsListByServerResponse = AzureADOnlyAuthListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerSecurityAlertPolicy; - }; -}; +/** Optional parameters. */ +export interface ServerAzureADOnlyAuthenticationsListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServerNext operation. - */ -export type ServerSecurityAlertPoliciesListByServerNextResponse = LogicalServerSecurityAlertPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type ServerAzureADOnlyAuthenticationsListByServerNextResponse = AzureADOnlyAuthListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LogicalServerSecurityAlertPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface ServerDevOpsAuditSettingsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstance operation. - */ -export type RestorableDroppedManagedDatabasesListByInstanceResponse = RestorableDroppedManagedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ServerDevOpsAuditSettingsGetResponse = ServerDevOpsAuditingSettings; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorableDroppedManagedDatabaseListResult; - }; -}; +/** Optional parameters. */ +export interface ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type RestorableDroppedManagedDatabasesGetResponse = RestorableDroppedManagedDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ServerDevOpsAuditSettingsCreateOrUpdateResponse = ServerDevOpsAuditingSettings; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorableDroppedManagedDatabase; - }; -}; +/** Optional parameters. */ +export interface ServerDevOpsAuditSettingsListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstanceNext operation. - */ -export type RestorableDroppedManagedDatabasesListByInstanceNextResponse = RestorableDroppedManagedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type ServerDevOpsAuditSettingsListByServerResponse = ServerDevOpsAuditSettingsListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorableDroppedManagedDatabaseListResult; - }; -}; +/** Optional parameters. */ +export interface ServerDevOpsAuditSettingsListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabase operation. - */ -export type RestorePointsListByDatabaseResponse = RestorePointListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type ServerDevOpsAuditSettingsListByServerNextResponse = ServerDevOpsAuditSettingsListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorePointListResult; - }; -}; +/** Optional parameters. */ +export interface ServerDnsAliasesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the create operation. - */ -export type RestorePointsCreateResponse = RestorePoint & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ServerDnsAliasesGetResponse = ServerDnsAlias; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorePoint; - }; -}; +/** Optional parameters. */ +export interface ServerDnsAliasesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type RestorePointsGetResponse = RestorePoint & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ServerDnsAliasesCreateOrUpdateResponse = ServerDnsAlias; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorePoint; - }; -}; +/** Optional parameters. */ +export interface ServerDnsAliasesDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 beginCreate operation. - */ -export type RestorePointsBeginCreateResponse = RestorePoint & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerDnsAliasesListByServerOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RestorePoint; - }; -}; +/** Contains response data for the listByServer operation. */ +export type ServerDnsAliasesListByServerResponse = ServerDnsAliasListResult; -/** - * Contains response data for the get operation. - */ -export type ManagedDatabaseSecurityAlertPoliciesGetResponse = ManagedDatabaseSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerDnsAliasesAcquireOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabaseSecurityAlertPolicy; - }; -}; +/** Contains response data for the acquire operation. */ +export type ServerDnsAliasesAcquireResponse = ServerDnsAlias; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateResponse = ManagedDatabaseSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerDnsAliasesListByServerNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabaseSecurityAlertPolicy; - }; -}; +/** Contains response data for the listByServerNext operation. */ +export type ServerDnsAliasesListByServerNextResponse = ServerDnsAliasListResult; -/** - * Contains response data for the listByDatabase operation. - */ -export type ManagedDatabaseSecurityAlertPoliciesListByDatabaseResponse = ManagedDatabaseSecurityAlertPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerKeysListByServerOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabaseSecurityAlertPolicyListResult; - }; -}; +/** Contains response data for the listByServer operation. */ +export type ServerKeysListByServerResponse = ServerKeyListResult; -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextResponse = ManagedDatabaseSecurityAlertPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerKeysGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabaseSecurityAlertPolicyListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ServerKeysGetResponse = ServerKey; -/** - * Contains response data for the get operation. - */ -export type ManagedServerSecurityAlertPoliciesGetResponse = ManagedServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerKeysCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedServerSecurityAlertPolicy; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ServerKeysCreateOrUpdateResponse = ServerKey; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse = ManagedServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerKeysDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedServerSecurityAlertPolicy; - }; -}; +/** Optional parameters. */ +export interface ServerKeysListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstance operation. - */ -export type ManagedServerSecurityAlertPoliciesListByInstanceResponse = ManagedServerSecurityAlertPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type ServerKeysListByServerNextResponse = ServerKeyListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedServerSecurityAlertPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface ServerOperationsListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ManagedServerSecurityAlertPoliciesBeginCreateOrUpdateResponse = ManagedServerSecurityAlertPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type ServerOperationsListByServerResponse = ServerOperationListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedServerSecurityAlertPolicy; - }; -}; +/** Optional parameters. */ +export interface ServerOperationsListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstanceNext operation. - */ -export type ManagedServerSecurityAlertPoliciesListByInstanceNextResponse = ManagedServerSecurityAlertPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type ServerOperationsListByServerNextResponse = ServerOperationListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedServerSecurityAlertPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface ServerSecurityAlertPoliciesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listCurrentByDatabase operation. - */ -export type SensitivityLabelsListCurrentByDatabaseResponse = SensitivityLabelListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ServerSecurityAlertPoliciesGetResponse = ServerSecurityAlertPolicy; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabelListResult; - }; -}; +/** Optional parameters. */ +export interface ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listRecommendedByDatabase operation. - */ -export type SensitivityLabelsListRecommendedByDatabaseResponse = SensitivityLabelListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAlertPolicy; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabelListResult; - }; -}; +/** Optional parameters. */ +export interface ServerSecurityAlertPoliciesListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type SensitivityLabelsGetResponse = SensitivityLabel & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type ServerSecurityAlertPoliciesListByServerResponse = LogicalServerSecurityAlertPolicyListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabel; - }; -}; +/** Optional parameters. */ +export interface ServerSecurityAlertPoliciesListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type SensitivityLabelsCreateOrUpdateResponse = SensitivityLabel & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type ServerSecurityAlertPoliciesListByServerNextResponse = LogicalServerSecurityAlertPolicyListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabel; - }; -}; +/** Optional parameters. */ +export interface ServerTrustGroupsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listCurrentByDatabaseNext operation. - */ -export type SensitivityLabelsListCurrentByDatabaseNextResponse = SensitivityLabelListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ServerTrustGroupsGetResponse = ServerTrustGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabelListResult; - }; -}; +/** Optional parameters. */ +export interface ServerTrustGroupsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listRecommendedByDatabaseNext operation. - */ -export type SensitivityLabelsListRecommendedByDatabaseNextResponse = SensitivityLabelListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ServerTrustGroupsCreateOrUpdateResponse = ServerTrustGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabelListResult; - }; -}; +/** Optional parameters. */ +export interface ServerTrustGroupsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 listByInstance operation. - */ -export type ManagedInstanceAdministratorsListByInstanceResponse = ManagedInstanceAdministratorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerTrustGroupsListByLocationOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceAdministratorListResult; - }; -}; +/** Contains response data for the listByLocation operation. */ +export type ServerTrustGroupsListByLocationResponse = ServerTrustGroupListResult; -/** - * Contains response data for the get operation. - */ -export type ManagedInstanceAdministratorsGetResponse = ManagedInstanceAdministrator & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerTrustGroupsListByInstanceOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceAdministrator; - }; -}; +/** Contains response data for the listByInstance operation. */ +export type ServerTrustGroupsListByInstanceResponse = ServerTrustGroupListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedInstanceAdministratorsCreateOrUpdateResponse = ManagedInstanceAdministrator & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerTrustGroupsListByLocationNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceAdministrator; - }; -}; +/** Contains response data for the listByLocationNext operation. */ +export type ServerTrustGroupsListByLocationNextResponse = ServerTrustGroupListResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ManagedInstanceAdministratorsBeginCreateOrUpdateResponse = ManagedInstanceAdministrator & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerTrustGroupsListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceAdministrator; - }; -}; +/** Contains response data for the listByInstanceNext operation. */ +export type ServerTrustGroupsListByInstanceNextResponse = ServerTrustGroupListResult; -/** - * Contains response data for the listByInstanceNext operation. - */ -export type ManagedInstanceAdministratorsListByInstanceNextResponse = ManagedInstanceAdministratorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerVulnerabilityAssessmentsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceAdministratorListResult; - }; -}; +/** Contains response data for the get operation. */ +export type ServerVulnerabilityAssessmentsGetResponse = ServerVulnerabilityAssessment; -/** - * Contains response data for the listByDatabase operation. - */ -export type DatabaseOperationsListByDatabaseResponse = DatabaseOperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseOperationListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type ServerVulnerabilityAssessmentsCreateOrUpdateResponse = ServerVulnerabilityAssessment; -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type DatabaseOperationsListByDatabaseNextResponse = DatabaseOperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServerVulnerabilityAssessmentsDeleteOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseOperationListResult; - }; -}; +/** Optional parameters. */ +export interface ServerVulnerabilityAssessmentsListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByElasticPool operation. - */ -export type ElasticPoolOperationsListByElasticPoolResponse = ElasticPoolOperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type ServerVulnerabilityAssessmentsListByServerResponse = ServerVulnerabilityAssessmentListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPoolOperationListResult; - }; -}; +/** Optional parameters. */ +export interface ServerVulnerabilityAssessmentsListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByElasticPoolNext operation. - */ -export type ElasticPoolOperationsListByElasticPoolNextResponse = ElasticPoolOperationListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type ServerVulnerabilityAssessmentsListByServerNextResponse = ServerVulnerabilityAssessmentListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ElasticPoolOperationListResult; - }; -}; +/** Optional parameters. */ +export interface SqlAgentGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByLocation operation. - */ -export type CapabilitiesListByLocationResponse = LocationCapabilities & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type SqlAgentGetResponse = SqlAgentConfiguration; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LocationCapabilities; - }; -}; +/** Optional parameters. */ +export interface SqlAgentCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabase operation. - */ -export type DatabaseVulnerabilityAssessmentScansListByDatabaseResponse = VulnerabilityAssessmentScanRecordListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type SqlAgentCreateOrUpdateResponse = SqlAgentConfiguration; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VulnerabilityAssessmentScanRecordListResult; - }; -}; +/** Optional parameters. */ +export interface SubscriptionUsagesListByLocationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type DatabaseVulnerabilityAssessmentScansGetResponse = VulnerabilityAssessmentScanRecord & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocation operation. */ +export type SubscriptionUsagesListByLocationResponse = SubscriptionUsageListResult; + +/** Optional parameters. */ +export interface SubscriptionUsagesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SubscriptionUsagesGetResponse = SubscriptionUsage; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VulnerabilityAssessmentScanRecord; - }; -}; +/** Optional parameters. */ +export interface SubscriptionUsagesListByLocationNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the exportMethod operation. - */ -export type DatabaseVulnerabilityAssessmentScansExportMethodResponse = DatabaseVulnerabilityAssessmentScansExport & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocationNext operation. */ +export type SubscriptionUsagesListByLocationNextResponse = SubscriptionUsageListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentScansExport; - }; -}; +/** Optional parameters. */ +export interface SyncAgentsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type DatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse = VulnerabilityAssessmentScanRecordListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type SyncAgentsGetResponse = SyncAgent; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VulnerabilityAssessmentScanRecordListResult; - }; -}; +/** Optional parameters. */ +export interface SyncAgentsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseVulnerabilityAssessmentRuleBaseline & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type SyncAgentsCreateOrUpdateResponse = SyncAgent; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentRuleBaseline; - }; -}; +/** Optional parameters. */ +export interface SyncAgentsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseVulnerabilityAssessmentRuleBaseline & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncAgentsListByServerOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentRuleBaseline; - }; -}; +/** Contains response data for the listByServer operation. */ +export type SyncAgentsListByServerResponse = SyncAgentListResult; -/** - * Contains response data for the listByDatabase operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseResponse = VulnerabilityAssessmentScanRecordListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncAgentsGenerateKeyOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VulnerabilityAssessmentScanRecordListResult; - }; -}; +/** Contains response data for the generateKey operation. */ +export type SyncAgentsGenerateKeyResponse = SyncAgentKeyProperties; -/** - * Contains response data for the get operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentScansGetResponse = VulnerabilityAssessmentScanRecord & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncAgentsListLinkedDatabasesOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VulnerabilityAssessmentScanRecord; - }; -}; +/** Contains response data for the listLinkedDatabases operation. */ +export type SyncAgentsListLinkedDatabasesResponse = SyncAgentLinkedDatabaseListResult; -/** - * Contains response data for the exportMethod operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentScansExportMethodResponse = DatabaseVulnerabilityAssessmentScansExport & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncAgentsListByServerNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentScansExport; - }; -}; +/** Contains response data for the listByServerNext operation. */ +export type SyncAgentsListByServerNextResponse = SyncAgentListResult; -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse = VulnerabilityAssessmentScanRecordListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncAgentsListLinkedDatabasesNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: VulnerabilityAssessmentScanRecordListResult; - }; -}; +/** Contains response data for the listLinkedDatabasesNext operation. */ +export type SyncAgentsListLinkedDatabasesNextResponse = SyncAgentLinkedDatabaseListResult; -/** - * Contains response data for the get operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentsGetResponse = DatabaseVulnerabilityAssessment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsListSyncDatabaseIdsOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessment; - }; -}; +/** Contains response data for the listSyncDatabaseIds operation. */ +export type SyncGroupsListSyncDatabaseIdsResponse = SyncDatabaseIdListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateResponse = DatabaseVulnerabilityAssessment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsRefreshHubSchemaOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessment; - }; -}; +/** Optional parameters. */ +export interface SyncGroupsListHubSchemasOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByDatabase operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentsListByDatabaseResponse = DatabaseVulnerabilityAssessmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listHubSchemas operation. */ +export type SyncGroupsListHubSchemasResponse = SyncFullSchemaPropertiesListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentListResult; - }; -}; +/** Optional parameters. */ +export interface SyncGroupsListLogsOptionalParams + extends coreClient.OperationOptions { + /** The continuation token for this operation. */ + continuationToken?: string; +} -/** - * Contains response data for the listByDatabaseNext operation. - */ -export type ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextResponse = DatabaseVulnerabilityAssessmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listLogs operation. */ +export type SyncGroupsListLogsResponse = SyncGroupLogListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: DatabaseVulnerabilityAssessmentListResult; - }; -}; +/** Optional parameters. */ +export interface SyncGroupsCancelSyncOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type InstanceFailoverGroupsGetResponse = InstanceFailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsTriggerSyncOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroup; - }; -}; +/** Optional parameters. */ +export interface SyncGroupsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type InstanceFailoverGroupsCreateOrUpdateResponse = InstanceFailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type SyncGroupsGetResponse = SyncGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroup; - }; -}; +/** Optional parameters. */ +export interface SyncGroupsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listByLocation operation. - */ -export type InstanceFailoverGroupsListByLocationResponse = InstanceFailoverGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type SyncGroupsCreateOrUpdateResponse = SyncGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroupListResult; - }; -}; +/** Optional parameters. */ +export interface SyncGroupsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 failover operation. - */ -export type InstanceFailoverGroupsFailoverResponse = InstanceFailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroup; - }; -}; +/** Contains response data for the update operation. */ +export type SyncGroupsUpdateResponse = SyncGroup; -/** - * Contains response data for the forceFailoverAllowDataLoss operation. - */ -export type InstanceFailoverGroupsForceFailoverAllowDataLossResponse = InstanceFailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroup; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type SyncGroupsListByDatabaseResponse = SyncGroupListResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type InstanceFailoverGroupsBeginCreateOrUpdateResponse = InstanceFailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsListSyncDatabaseIdsNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroup; - }; -}; +/** Contains response data for the listSyncDatabaseIdsNext operation. */ +export type SyncGroupsListSyncDatabaseIdsNextResponse = SyncDatabaseIdListResult; -/** - * Contains response data for the beginFailover operation. - */ -export type InstanceFailoverGroupsBeginFailoverResponse = InstanceFailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsListHubSchemasNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroup; - }; -}; +/** Contains response data for the listHubSchemasNext operation. */ +export type SyncGroupsListHubSchemasNextResponse = SyncFullSchemaPropertiesListResult; -/** - * Contains response data for the beginForceFailoverAllowDataLoss operation. - */ -export type InstanceFailoverGroupsBeginForceFailoverAllowDataLossResponse = InstanceFailoverGroup & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsListLogsNextOptionalParams + extends coreClient.OperationOptions { + /** The continuation token for this operation. */ + continuationToken?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroup; - }; -}; +/** Contains response data for the listLogsNext operation. */ +export type SyncGroupsListLogsNextResponse = SyncGroupLogListResult; -/** - * Contains response data for the listByLocationNext operation. - */ -export type InstanceFailoverGroupsListByLocationNextResponse = InstanceFailoverGroupListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncGroupsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstanceFailoverGroupListResult; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type SyncGroupsListByDatabaseNextResponse = SyncGroupListResult; -/** - * Contains response data for the get operation. - */ -export type BackupShortTermRetentionPoliciesGetResponse = BackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncMembersGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupShortTermRetentionPolicy; - }; -}; +/** Contains response data for the get operation. */ +export type SyncMembersGetResponse = SyncMember; -/** - * Contains response data for the createOrUpdate operation. - */ -export type BackupShortTermRetentionPoliciesCreateOrUpdateResponse = BackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncMembersCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupShortTermRetentionPolicy; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type SyncMembersCreateOrUpdateResponse = SyncMember; -/** - * Contains response data for the update operation. - */ -export type BackupShortTermRetentionPoliciesUpdateResponse = BackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncMembersDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface SyncMembersUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listByDatabase operation. - */ -export type BackupShortTermRetentionPoliciesListByDatabaseResponse = BackupShortTermRetentionPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the update operation. */ +export type SyncMembersUpdateResponse = SyncMember; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupShortTermRetentionPolicyListResult; - }; -}; +/** Optional parameters. */ +export interface SyncMembersListBySyncGroupOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type BackupShortTermRetentionPoliciesBeginCreateOrUpdateResponse = BackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listBySyncGroup operation. */ +export type SyncMembersListBySyncGroupResponse = SyncMemberListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface SyncMembersListMemberSchemasOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginUpdate operation. - */ -export type BackupShortTermRetentionPoliciesBeginUpdateResponse = BackupShortTermRetentionPolicy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listMemberSchemas operation. */ +export type SyncMembersListMemberSchemasResponse = SyncFullSchemaPropertiesListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupShortTermRetentionPolicy; - }; -}; +/** Optional parameters. */ +export interface SyncMembersRefreshMemberSchemaOptionalParams + extends coreClient.OperationOptions { + /** 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 listByDatabaseNext operation. - */ -export type BackupShortTermRetentionPoliciesListByDatabaseNextResponse = BackupShortTermRetentionPolicyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncMembersListBySyncGroupNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: BackupShortTermRetentionPolicyListResult; - }; -}; +/** Contains response data for the listBySyncGroupNext operation. */ +export type SyncMembersListBySyncGroupNextResponse = SyncMemberListResult; -/** - * Contains response data for the listByInstance operation. - */ -export type ManagedInstanceKeysListByInstanceResponse = ManagedInstanceKeyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface SyncMembersListMemberSchemasNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceKeyListResult; - }; -}; +/** Contains response data for the listMemberSchemasNext operation. */ +export type SyncMembersListMemberSchemasNextResponse = SyncFullSchemaPropertiesListResult; -/** - * Contains response data for the get operation. - */ -export type ManagedInstanceKeysGetResponse = ManagedInstanceKey & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface TdeCertificatesCreateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceKey; - }; -}; +/** Optional parameters. */ +export interface TimeZonesListByLocationOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedInstanceKeysCreateOrUpdateResponse = ManagedInstanceKey & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocation operation. */ +export type TimeZonesListByLocationResponse = TimeZoneListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceKey; - }; -}; +/** Optional parameters. */ +export interface TimeZonesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ManagedInstanceKeysBeginCreateOrUpdateResponse = ManagedInstanceKey & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type TimeZonesGetResponse = TimeZone; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceKey; - }; -}; +/** Optional parameters. */ +export interface TimeZonesListByLocationNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstanceNext operation. - */ -export type ManagedInstanceKeysListByInstanceNextResponse = ManagedInstanceKeyListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByLocationNext operation. */ +export type TimeZonesListByLocationNextResponse = TimeZoneListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceKeyListResult; - }; -}; +/** Optional parameters. */ +export interface VirtualClustersUpdateDnsServersOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstance operation. - */ -export type ManagedInstanceEncryptionProtectorsListByInstanceResponse = ManagedInstanceEncryptionProtectorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the updateDnsServers operation. */ +export type VirtualClustersUpdateDnsServersResponse = UpdateManagedInstanceDnsServersOperation; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceEncryptionProtectorListResult; - }; -}; +/** Optional parameters. */ +export interface VirtualClustersListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ManagedInstanceEncryptionProtectorsGetResponse = ManagedInstanceEncryptionProtector & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the list operation. */ +export type VirtualClustersListResponse = VirtualClusterListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceEncryptionProtector; - }; -}; +/** Optional parameters. */ +export interface VirtualClustersListByResourceGroupOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse = ManagedInstanceEncryptionProtector & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroup operation. */ +export type VirtualClustersListByResourceGroupResponse = VirtualClusterListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceEncryptionProtector; - }; -}; +/** Optional parameters. */ +export interface VirtualClustersGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ManagedInstanceEncryptionProtectorsBeginCreateOrUpdateResponse = ManagedInstanceEncryptionProtector & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type VirtualClustersGetResponse = VirtualCluster; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceEncryptionProtector; - }; -}; +/** Optional parameters. */ +export interface VirtualClustersDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 listByInstanceNext operation. - */ -export type ManagedInstanceEncryptionProtectorsListByInstanceNextResponse = ManagedInstanceEncryptionProtectorListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VirtualClustersUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceEncryptionProtectorListResult; - }; -}; +/** Contains response data for the update operation. */ +export type VirtualClustersUpdateResponse = VirtualCluster; -/** - * Contains response data for the listByInstance operation. - */ -export type RecoverableManagedDatabasesListByInstanceResponse = RecoverableManagedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VirtualClustersListNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoverableManagedDatabaseListResult; - }; -}; +/** Contains response data for the listNext operation. */ +export type VirtualClustersListNextResponse = VirtualClusterListResult; -/** - * Contains response data for the get operation. - */ -export type RecoverableManagedDatabasesGetResponse = RecoverableManagedDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VirtualClustersListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoverableManagedDatabase; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type VirtualClustersListByResourceGroupNextResponse = VirtualClusterListResult; -/** - * Contains response data for the listByInstanceNext operation. - */ -export type RecoverableManagedDatabasesListByInstanceNextResponse = RecoverableManagedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VirtualNetworkRulesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoverableManagedDatabaseListResult; - }; -}; +/** Contains response data for the get operation. */ +export type VirtualNetworkRulesGetResponse = VirtualNetworkRule; -/** - * Contains response data for the get operation. - */ -export type ManagedInstanceVulnerabilityAssessmentsGetResponse = ManagedInstanceVulnerabilityAssessment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VirtualNetworkRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceVulnerabilityAssessment; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateResponse = ManagedInstanceVulnerabilityAssessment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface VirtualNetworkRulesDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceVulnerabilityAssessment; - }; -}; +/** Optional parameters. */ +export interface VirtualNetworkRulesListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstance operation. - */ -export type ManagedInstanceVulnerabilityAssessmentsListByInstanceResponse = ManagedInstanceVulnerabilityAssessmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type VirtualNetworkRulesListByServerResponse = VirtualNetworkRuleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceVulnerabilityAssessmentListResult; - }; -}; +/** Optional parameters. */ +export interface VirtualNetworkRulesListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstanceNext operation. - */ -export type ManagedInstanceVulnerabilityAssessmentsListByInstanceNextResponse = ManagedInstanceVulnerabilityAssessmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type VirtualNetworkRulesListByServerNextResponse = VirtualNetworkRuleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceVulnerabilityAssessmentListResult; - }; -}; +/** Optional parameters. */ +export interface WorkloadClassifiersGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ServerVulnerabilityAssessmentsGetResponse = ServerVulnerabilityAssessment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type WorkloadClassifiersGetResponse = WorkloadClassifier; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerVulnerabilityAssessment; - }; -}; +/** Optional parameters. */ +export interface WorkloadClassifiersCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ServerVulnerabilityAssessmentsCreateOrUpdateResponse = ServerVulnerabilityAssessment & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type WorkloadClassifiersCreateOrUpdateResponse = WorkloadClassifier; + +/** Optional parameters. */ +export interface WorkloadClassifiersDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerVulnerabilityAssessment; - }; -}; +/** Optional parameters. */ +export interface WorkloadClassifiersListByWorkloadGroupOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServer operation. - */ -export type ServerVulnerabilityAssessmentsListByServerResponse = ServerVulnerabilityAssessmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByWorkloadGroup operation. */ +export type WorkloadClassifiersListByWorkloadGroupResponse = WorkloadClassifierListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerVulnerabilityAssessmentListResult; - }; -}; +/** Optional parameters. */ +export interface WorkloadClassifiersListByWorkloadGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByServerNext operation. - */ -export type ServerVulnerabilityAssessmentsListByServerNextResponse = ServerVulnerabilityAssessmentListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByWorkloadGroupNext operation. */ +export type WorkloadClassifiersListByWorkloadGroupNextResponse = WorkloadClassifierListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ServerVulnerabilityAssessmentListResult; - }; -}; +/** Optional parameters. */ +export interface WorkloadGroupsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ManagedDatabaseSensitivityLabelsGetResponse = SensitivityLabel & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type WorkloadGroupsGetResponse = WorkloadGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabel; - }; -}; +/** Optional parameters. */ +export interface WorkloadGroupsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 ManagedDatabaseSensitivityLabelsCreateOrUpdateResponse = SensitivityLabel & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type WorkloadGroupsCreateOrUpdateResponse = WorkloadGroup; - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabel; - }; -}; +/** Optional parameters. */ +export interface WorkloadGroupsDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 listCurrentByDatabase operation. - */ -export type ManagedDatabaseSensitivityLabelsListCurrentByDatabaseResponse = SensitivityLabelListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WorkloadGroupsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabelListResult; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type WorkloadGroupsListByDatabaseResponse = WorkloadGroupListResult; -/** - * Contains response data for the listRecommendedByDatabase operation. - */ -export type ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseResponse = SensitivityLabelListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface WorkloadGroupsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabelListResult; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type WorkloadGroupsListByDatabaseNextResponse = WorkloadGroupListResult; -/** - * Contains response data for the listCurrentByDatabaseNext operation. - */ -export type ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextResponse = SensitivityLabelListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface BackupShortTermRetentionPoliciesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabelListResult; - }; -}; +/** Contains response data for the get operation. */ +export type BackupShortTermRetentionPoliciesGetResponse = BackupShortTermRetentionPolicy; -/** - * Contains response data for the listRecommendedByDatabaseNext operation. - */ -export type ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextResponse = SensitivityLabelListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: SensitivityLabelListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type BackupShortTermRetentionPoliciesCreateOrUpdateResponse = BackupShortTermRetentionPolicy; -/** - * Contains response data for the get operation. - */ -export type InstancePoolsGetResponse = InstancePool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface BackupShortTermRetentionPoliciesUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePool; - }; -}; +/** Contains response data for the update operation. */ +export type BackupShortTermRetentionPoliciesUpdateResponse = BackupShortTermRetentionPolicy; -/** - * Contains response data for the createOrUpdate operation. - */ -export type InstancePoolsCreateOrUpdateResponse = InstancePool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface BackupShortTermRetentionPoliciesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePool; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type BackupShortTermRetentionPoliciesListByDatabaseResponse = BackupShortTermRetentionPolicyListResult; -/** - * Contains response data for the update operation. - */ -export type InstancePoolsUpdateResponse = InstancePool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface BackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePool; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type BackupShortTermRetentionPoliciesListByDatabaseNextResponse = BackupShortTermRetentionPolicyListResult; -/** - * Contains response data for the listByResourceGroup operation. - */ -export type InstancePoolsListByResourceGroupResponse = InstancePoolListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DatabaseExtensionsOperationsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePoolListResult; - }; -}; +/** Optional parameters. */ +export interface DatabaseExtensionsOperationsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 list operation. - */ -export type InstancePoolsListResponse = InstancePoolListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type DatabaseExtensionsOperationsCreateOrUpdateResponse = ImportExportExtensionsOperationResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePoolListResult; - }; -}; +/** Optional parameters. */ +export interface DatabaseExtensionsOperationsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type InstancePoolsBeginCreateOrUpdateResponse = InstancePool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabase operation. */ +export type DatabaseExtensionsOperationsListByDatabaseResponse = ImportExportExtensionsOperationListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePool; - }; -}; +/** Optional parameters. */ +export interface DatabaseExtensionsOperationsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginUpdate operation. - */ -export type InstancePoolsBeginUpdateResponse = InstancePool & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseExtensionsOperationsListByDatabaseNextResponse = ImportExportExtensionsOperationListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePool; - }; -}; +/** Optional parameters. */ +export interface DatabaseOperationsCancelOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type InstancePoolsListByResourceGroupNextResponse = InstancePoolListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DatabaseOperationsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePoolListResult; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type DatabaseOperationsListByDatabaseResponse = DatabaseOperationListResult; -/** - * Contains response data for the listNext operation. - */ -export type InstancePoolsListNextResponse = InstancePoolListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DatabaseOperationsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: InstancePoolListResult; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseOperationsListByDatabaseNextResponse = DatabaseOperationListResult; -/** - * Contains response data for the listByInstancePool operation. - */ -export type UsagesListByInstancePoolResponse = UsageListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DatabaseUsagesListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageListResult; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type DatabaseUsagesListByDatabaseResponse = DatabaseUsageListResult; -/** - * Contains response data for the listByInstancePoolNext operation. - */ -export type UsagesListByInstancePoolNextResponse = UsageListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface DatabaseUsagesListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageListResult; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type DatabaseUsagesListByDatabaseNextResponse = DatabaseUsageListResult; -/** - * Contains response data for the listByInstancePool operation. - */ -export type ManagedInstancesListByInstancePoolResponse = ManagedInstanceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LedgerDigestUploadsOperationsGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceListResult; - }; -}; +/** Contains response data for the get operation. */ +export type LedgerDigestUploadsOperationsGetResponse = LedgerDigestUploads; -/** - * Contains response data for the listByResourceGroup operation. - */ -export type ManagedInstancesListByResourceGroupResponse = ManagedInstanceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceListResult; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type LedgerDigestUploadsOperationsCreateOrUpdateResponse = LedgerDigestUploads; -/** - * Contains response data for the get operation. - */ -export type ManagedInstancesGetResponse = ManagedInstance & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LedgerDigestUploadsOperationsListByDatabaseOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstance; - }; -}; +/** Contains response data for the listByDatabase operation. */ +export type LedgerDigestUploadsOperationsListByDatabaseResponse = LedgerDigestUploadsListResult; -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedInstancesCreateOrUpdateResponse = ManagedInstance & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LedgerDigestUploadsOperationsDisableOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstance; - }; -}; +/** Contains response data for the disable operation. */ +export type LedgerDigestUploadsOperationsDisableResponse = LedgerDigestUploads; -/** - * Contains response data for the update operation. - */ -export type ManagedInstancesUpdateResponse = ManagedInstance & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface LedgerDigestUploadsOperationsListByDatabaseNextOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstance; - }; -}; +/** Contains response data for the listByDatabaseNext operation. */ +export type LedgerDigestUploadsOperationsListByDatabaseNextResponse = LedgerDigestUploadsListResult; -/** - * Contains response data for the list operation. - */ -export type ManagedInstancesListResponse = ManagedInstanceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface OutboundFirewallRulesGetOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceListResult; - }; -}; +/** Contains response data for the get operation. */ +export type OutboundFirewallRulesGetResponse = OutboundFirewallRule; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ManagedInstancesBeginCreateOrUpdateResponse = ManagedInstance & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface OutboundFirewallRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstance; - }; -}; +/** Contains response data for the createOrUpdate operation. */ +export type OutboundFirewallRulesCreateOrUpdateResponse = OutboundFirewallRule; -/** - * Contains response data for the beginUpdate operation. - */ -export type ManagedInstancesBeginUpdateResponse = ManagedInstance & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface OutboundFirewallRulesDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstance; - }; -}; +/** Optional parameters. */ +export interface OutboundFirewallRulesListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstancePoolNext operation. - */ -export type ManagedInstancesListByInstancePoolNextResponse = ManagedInstanceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type OutboundFirewallRulesListByServerResponse = OutboundFirewallRuleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceListResult; - }; -}; +/** Optional parameters. */ +export interface OutboundFirewallRulesListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByResourceGroupNext operation. - */ -export type ManagedInstancesListByResourceGroupNextResponse = ManagedInstanceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type OutboundFirewallRulesListByServerNextResponse = OutboundFirewallRuleListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceListResult; - }; -}; +/** Optional parameters. */ +export interface RestorableDroppedDatabasesListByServerOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type ManagedInstancesListNextResponse = ManagedInstanceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServer operation. */ +export type RestorableDroppedDatabasesListByServerResponse = RestorableDroppedDatabaseListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedInstanceListResult; - }; -}; +/** Optional parameters. */ +export interface RestorableDroppedDatabasesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ManagedDatabaseRestoreDetailsGetResponse = ManagedDatabaseRestoreDetailsResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RestorableDroppedDatabasesGetResponse = RestorableDroppedDatabase; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabaseRestoreDetailsResult; - }; -}; +/** Optional parameters. */ +export interface RestorableDroppedDatabasesListByServerNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByInstance operation. - */ -export type ManagedDatabasesListByInstanceResponse = ManagedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByServerNext operation. */ +export type RestorableDroppedDatabasesListByServerNextResponse = RestorableDroppedDatabaseListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabaseListResult; - }; -}; +/** Optional parameters. */ +export interface RestorableDroppedManagedDatabasesListByInstanceOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ManagedDatabasesGetResponse = ManagedDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstance operation. */ +export type RestorableDroppedManagedDatabasesListByInstanceResponse = RestorableDroppedManagedDatabaseListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabase; - }; -}; +/** Optional parameters. */ +export interface RestorableDroppedManagedDatabasesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the createOrUpdate operation. - */ -export type ManagedDatabasesCreateOrUpdateResponse = ManagedDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type RestorableDroppedManagedDatabasesGetResponse = RestorableDroppedManagedDatabase; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabase; - }; -}; +/** Optional parameters. */ +export interface RestorableDroppedManagedDatabasesListByInstanceNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type ManagedDatabasesUpdateResponse = ManagedDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByInstanceNext operation. */ +export type RestorableDroppedManagedDatabasesListByInstanceNextResponse = RestorableDroppedManagedDatabaseListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabase; - }; -}; +/** Optional parameters. */ +export interface ServersListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type ManagedDatabasesBeginCreateOrUpdateResponse = ManagedDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the listByResourceGroup operation. */ +export type ServersListByResourceGroupResponse = ServerListResult; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabase; - }; -}; +/** Optional parameters. */ +export interface ServersGetOptionalParams extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} -/** - * Contains response data for the beginUpdate operation. - */ -export type ManagedDatabasesBeginUpdateResponse = ManagedDatabase & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the get operation. */ +export type ServersGetResponse = Server; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabase; - }; -}; +/** Optional parameters. */ +export interface ServersCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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 listByInstanceNext operation. - */ -export type ManagedDatabasesListByInstanceNextResponse = ManagedDatabaseListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Contains response data for the createOrUpdate operation. */ +export type ServersCreateOrUpdateResponse = Server; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagedDatabaseListResult; - }; -}; +/** Optional parameters. */ +export interface ServersDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 get operation. - */ -export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServersUpdateOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnection; - }; -}; +/** Contains response data for the update operation. */ +export type ServersUpdateResponse = Server; -/** - * Contains response data for the createOrUpdate operation. - */ -export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServersListOptionalParams extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnection; - }; -}; +/** Contains response data for the list operation. */ +export type ServersListResponse = ServerListResult; -/** - * Contains response data for the listByServer operation. - */ -export type PrivateEndpointConnectionsListByServerResponse = PrivateEndpointConnectionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServersImportDatabaseOptionalParams + extends coreClient.OperationOptions { + /** 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; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionListResult; - }; -}; +/** Contains response data for the importDatabase operation. */ +export type ServersImportDatabaseResponse = ImportExportOperationResult; -/** - * Contains response data for the beginCreateOrUpdate operation. - */ -export type PrivateEndpointConnectionsBeginCreateOrUpdateResponse = PrivateEndpointConnection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServersCheckNameAvailabilityOptionalParams + extends coreClient.OperationOptions {} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnection; - }; -}; +/** Contains response data for the checkNameAvailability operation. */ +export type ServersCheckNameAvailabilityResponse = CheckNameAvailabilityResponse; -/** - * Contains response data for the listByServerNext operation. - */ -export type PrivateEndpointConnectionsListByServerNextResponse = PrivateEndpointConnectionListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServersListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateEndpointConnectionListResult; - }; -}; +/** Contains response data for the listByResourceGroupNext operation. */ +export type ServersListByResourceGroupNextResponse = ServerListResult; -/** - * Contains response data for the listByServer operation. - */ -export type PrivateLinkResourcesListByServerResponse = PrivateLinkResourceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface ServersListNextOptionalParams + extends coreClient.OperationOptions { + /** The child resources to include in the response. */ + expand?: string; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateLinkResourceListResult; - }; -}; +/** Contains response data for the listNext operation. */ +export type ServersListNextResponse = ServerListResult; -/** - * Contains response data for the get operation. - */ -export type PrivateLinkResourcesGetResponse = PrivateLinkResource & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface UsagesListByInstancePoolOptionalParams + extends coreClient.OperationOptions { + /** Optional request parameter to include managed instance usages within the instance pool. */ + expandChildren?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateLinkResource; - }; -}; +/** Contains response data for the listByInstancePool operation. */ +export type UsagesListByInstancePoolResponse = UsageListResult; -/** - * Contains response data for the listByServerNext operation. - */ -export type PrivateLinkResourcesListByServerNextResponse = PrivateLinkResourceListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +/** Optional parameters. */ +export interface UsagesListByInstancePoolNextOptionalParams + extends coreClient.OperationOptions { + /** Optional request parameter to include managed instance usages within the instance pool. */ + expandChildren?: boolean; +} - /** - * The response body as parsed JSON or XML - */ - parsedBody: PrivateLinkResourceListResult; - }; -}; +/** Contains response data for the listByInstancePoolNext operation. */ +export type UsagesListByInstancePoolNextResponse = UsageListResult; + +/** Optional parameters. */ +export interface SqlManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/sql/arm-sql/src/models/instanceFailoverGroupsMappers.ts b/sdk/sql/arm-sql/src/models/instanceFailoverGroupsMappers.ts deleted file mode 100644 index a31090e2d7d3..000000000000 --- a/sdk/sql/arm-sql/src/models/instanceFailoverGroupsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupListResult, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/instancePoolsMappers.ts b/sdk/sql/arm-sql/src/models/instancePoolsMappers.ts deleted file mode 100644 index a471ed9af1d2..000000000000 --- a/sdk/sql/arm-sql/src/models/instancePoolsMappers.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - InstancePoolListResult, - InstancePoolUpdate, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobAgentsMappers.ts b/sdk/sql/arm-sql/src/models/jobAgentsMappers.ts deleted file mode 100644 index 3caafa179664..000000000000 --- a/sdk/sql/arm-sql/src/models/jobAgentsMappers.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobAgentListResult, - JobAgentUpdate, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobCredentialsMappers.ts b/sdk/sql/arm-sql/src/models/jobCredentialsMappers.ts deleted file mode 100644 index be1a9dd38073..000000000000 --- a/sdk/sql/arm-sql/src/models/jobCredentialsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobCredentialListResult, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobExecutionsMappers.ts b/sdk/sql/arm-sql/src/models/jobExecutionsMappers.ts deleted file mode 100644 index 5377feb7dd16..000000000000 --- a/sdk/sql/arm-sql/src/models/jobExecutionsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionListResult, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobStepExecutionsMappers.ts b/sdk/sql/arm-sql/src/models/jobStepExecutionsMappers.ts deleted file mode 100644 index 5377feb7dd16..000000000000 --- a/sdk/sql/arm-sql/src/models/jobStepExecutionsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionListResult, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobStepsMappers.ts b/sdk/sql/arm-sql/src/models/jobStepsMappers.ts deleted file mode 100644 index 36e930956434..000000000000 --- a/sdk/sql/arm-sql/src/models/jobStepsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepListResult, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobTargetExecutionsMappers.ts b/sdk/sql/arm-sql/src/models/jobTargetExecutionsMappers.ts deleted file mode 100644 index 5377feb7dd16..000000000000 --- a/sdk/sql/arm-sql/src/models/jobTargetExecutionsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionListResult, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobTargetGroupsMappers.ts b/sdk/sql/arm-sql/src/models/jobTargetGroupsMappers.ts deleted file mode 100644 index 9b433c364f7a..000000000000 --- a/sdk/sql/arm-sql/src/models/jobTargetGroupsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobTargetGroupListResult, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobVersionsMappers.ts b/sdk/sql/arm-sql/src/models/jobVersionsMappers.ts deleted file mode 100644 index e9ef19060444..000000000000 --- a/sdk/sql/arm-sql/src/models/jobVersionsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - JobVersionListResult, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/jobsMappers.ts b/sdk/sql/arm-sql/src/models/jobsMappers.ts deleted file mode 100644 index 324fe5622e6d..000000000000 --- a/sdk/sql/arm-sql/src/models/jobsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobListResult, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/longTermRetentionBackupsMappers.ts b/sdk/sql/arm-sql/src/models/longTermRetentionBackupsMappers.ts deleted file mode 100644 index e83b6fdbd626..000000000000 --- a/sdk/sql/arm-sql/src/models/longTermRetentionBackupsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - LongTermRetentionBackupListResult, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedBackupShortTermRetentionPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/managedBackupShortTermRetentionPoliciesMappers.ts deleted file mode 100644 index 03c4d1f05ca5..000000000000 --- a/sdk/sql/arm-sql/src/models/managedBackupShortTermRetentionPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedBackupShortTermRetentionPolicyListResult, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedDatabaseRestoreDetailsMappers.ts b/sdk/sql/arm-sql/src/models/managedDatabaseRestoreDetailsMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/managedDatabaseRestoreDetailsMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedDatabaseSecurityAlertPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/managedDatabaseSecurityAlertPoliciesMappers.ts deleted file mode 100644 index 04f6452546af..000000000000 --- a/sdk/sql/arm-sql/src/models/managedDatabaseSecurityAlertPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedDatabaseSecurityAlertPolicyListResult, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedDatabaseSensitivityLabelsMappers.ts b/sdk/sql/arm-sql/src/models/managedDatabaseSensitivityLabelsMappers.ts deleted file mode 100644 index 87d6022ba880..000000000000 --- a/sdk/sql/arm-sql/src/models/managedDatabaseSensitivityLabelsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - SensitivityLabelListResult, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentRuleBaselinesMappers.ts b/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentRuleBaselinesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentRuleBaselinesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentScansMappers.ts b/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentScansMappers.ts deleted file mode 100644 index 8db2e4f353ef..000000000000 --- a/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentScansMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord, - VulnerabilityAssessmentScanRecordListResult -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentsMappers.ts b/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentsMappers.ts deleted file mode 100644 index ddd16788a720..000000000000 --- a/sdk/sql/arm-sql/src/models/managedDatabaseVulnerabilityAssessmentsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentListResult, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedDatabasesMappers.ts b/sdk/sql/arm-sql/src/models/managedDatabasesMappers.ts deleted file mode 100644 index 3020d2d590b6..000000000000 --- a/sdk/sql/arm-sql/src/models/managedDatabasesMappers.ts +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - CompleteDatabaseRestoreDefinition, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseListResult, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedDatabaseUpdate, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedInstanceAdministratorsMappers.ts b/sdk/sql/arm-sql/src/models/managedInstanceAdministratorsMappers.ts deleted file mode 100644 index f82643c82012..000000000000 --- a/sdk/sql/arm-sql/src/models/managedInstanceAdministratorsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceAdministratorListResult, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedInstanceEncryptionProtectorsMappers.ts b/sdk/sql/arm-sql/src/models/managedInstanceEncryptionProtectorsMappers.ts deleted file mode 100644 index 94c329fb02fb..000000000000 --- a/sdk/sql/arm-sql/src/models/managedInstanceEncryptionProtectorsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceEncryptionProtectorListResult, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedInstanceKeysMappers.ts b/sdk/sql/arm-sql/src/models/managedInstanceKeysMappers.ts deleted file mode 100644 index 5d77e04a398a..000000000000 --- a/sdk/sql/arm-sql/src/models/managedInstanceKeysMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstanceKeyListResult, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedInstanceTdeCertificatesMappers.ts b/sdk/sql/arm-sql/src/models/managedInstanceTdeCertificatesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/managedInstanceTdeCertificatesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedInstanceVulnerabilityAssessmentsMappers.ts b/sdk/sql/arm-sql/src/models/managedInstanceVulnerabilityAssessmentsMappers.ts deleted file mode 100644 index 935d313fae09..000000000000 --- a/sdk/sql/arm-sql/src/models/managedInstanceVulnerabilityAssessmentsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedInstanceVulnerabilityAssessmentListResult, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedInstancesMappers.ts b/sdk/sql/arm-sql/src/models/managedInstancesMappers.ts deleted file mode 100644 index 82dca3bb3c6e..000000000000 --- a/sdk/sql/arm-sql/src/models/managedInstancesMappers.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstanceListResult, - ManagedInstancePairInfo, - ManagedInstanceUpdate, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/managedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesMappers.ts deleted file mode 100644 index 03c4d1f05ca5..000000000000 --- a/sdk/sql/arm-sql/src/models/managedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedBackupShortTermRetentionPolicyListResult, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/managedServerSecurityAlertPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/managedServerSecurityAlertPoliciesMappers.ts deleted file mode 100644 index b0f6c453f109..000000000000 --- a/sdk/sql/arm-sql/src/models/managedServerSecurityAlertPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - ManagedServerSecurityAlertPolicyListResult, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/mappers.ts b/sdk/sql/arm-sql/src/models/mappers.ts index 93b27cc1a62f..5bad59b71310 100644 --- a/sdk/sql/arm-sql/src/models/mappers.ts +++ b/sdk/sql/arm-sql/src/models/mappers.ts @@ -1,40 +1,35 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. + * 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 { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export const CloudError = CloudErrorMapper; -export const BaseResource = BaseResourceMapper; - -export const Resource: msRest.CompositeMapper = { - serializedName: "Resource", +export const Resource: coreClient.CompositeMapper = { type: { name: "Composite", className: "Resource", modelProperties: { id: { - readOnly: true, serializedName: "id", + readOnly: true, type: { name: "String" } }, name: { - readOnly: true, serializedName: "name", + readOnly: true, type: { name: "String" } }, type: { - readOnly: true, serializedName: "type", + readOnly: true, type: { name: "String" } @@ -43,151 +38,237 @@ export const Resource: msRest.CompositeMapper = { } }; -export const ProxyResource: msRest.CompositeMapper = { - serializedName: "ProxyResource", +export const RecoverableDatabaseListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProxyResource", + className: "RecoverableDatabaseListResult", modelProperties: { - ...Resource.type.modelProperties + value: { + serializedName: "value", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoverableDatabase" + } + } + } + } } } }; -export const RecoverableDatabase: msRest.CompositeMapper = { - serializedName: "RecoverableDatabase", +export const DataMaskingRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecoverableDatabase", + className: "DataMaskingRuleListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - edition: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataMaskingRule" + } + } + } + } + } + } +}; + +export const GeoBackupPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GeoBackupPolicyListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GeoBackupPolicy" + } + } + } + } + } + } +}; + +export const MetricListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MetricListResult", + modelProperties: { + value: { + serializedName: "value", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Metric" + } + } + } + } + } + } +}; + +export const Metric: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Metric", + modelProperties: { + startTime: { + serializedName: "startTime", readOnly: true, - serializedName: "properties.edition", type: { - name: "String" + name: "DateTime" } }, - serviceLevelObjective: { + endTime: { + serializedName: "endTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + timeGrain: { + serializedName: "timeGrain", readOnly: true, - serializedName: "properties.serviceLevelObjective", type: { name: "String" } }, - elasticPoolName: { + unit: { + serializedName: "unit", readOnly: true, - serializedName: "properties.elasticPoolName", type: { name: "String" } }, - lastAvailableBackupDate: { + name: { + serializedName: "name", + type: { + name: "Composite", + className: "MetricName" + } + }, + metricValues: { + serializedName: "metricValues", readOnly: true, - serializedName: "properties.lastAvailableBackupDate", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MetricValue" + } + } } } } } }; -export const RestorableDroppedDatabase: msRest.CompositeMapper = { - serializedName: "RestorableDroppedDatabase", +export const MetricName: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RestorableDroppedDatabase", + className: "MetricName", modelProperties: { - ...ProxyResource.type.modelProperties, - location: { - readOnly: true, - serializedName: "location", - type: { - name: "String" - } - }, - databaseName: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.databaseName", type: { name: "String" } }, - edition: { + localizedValue: { + serializedName: "localizedValue", readOnly: true, - serializedName: "properties.edition", type: { name: "String" } - }, - maxSizeBytes: { + } + } + } +}; + +export const MetricValue: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MetricValue", + modelProperties: { + count: { + serializedName: "count", readOnly: true, - serializedName: "properties.maxSizeBytes", type: { - name: "String" + name: "Number" } }, - serviceLevelObjective: { + average: { + serializedName: "average", readOnly: true, - serializedName: "properties.serviceLevelObjective", type: { - name: "String" + name: "Number" } }, - elasticPoolName: { + maximum: { + serializedName: "maximum", readOnly: true, - serializedName: "properties.elasticPoolName", type: { - name: "String" + name: "Number" } }, - creationDate: { + minimum: { + serializedName: "minimum", readOnly: true, - serializedName: "properties.creationDate", type: { - name: "DateTime" + name: "Number" } }, - deletionDate: { + timestamp: { + serializedName: "timestamp", readOnly: true, - serializedName: "properties.deletionDate", type: { name: "DateTime" } }, - earliestRestoreDate: { + total: { + serializedName: "total", readOnly: true, - serializedName: "properties.earliestRestoreDate", type: { - name: "DateTime" + name: "Number" } } } } }; -export const TrackedResource: msRest.CompositeMapper = { - serializedName: "TrackedResource", +export const MetricDefinitionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TrackedResource", + className: "MetricDefinitionListResult", modelProperties: { - ...Resource.type.modelProperties, - location: { + value: { + serializedName: "value", required: true, - serializedName: "location", - type: { - name: "String" - } - }, - tags: { - serializedName: "tags", type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "MetricDefinition" } } } @@ -196,359 +277,391 @@ export const TrackedResource: msRest.CompositeMapper = { } }; -export const CheckNameAvailabilityRequest: msRest.CompositeMapper = { - serializedName: "CheckNameAvailabilityRequest", +export const MetricDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CheckNameAvailabilityRequest", + className: "MetricDefinition", modelProperties: { name: { - required: true, serializedName: "name", type: { - name: "String" + name: "Composite", + className: "MetricName" } }, - type: { - required: true, - isConstant: true, - serializedName: "type", - defaultValue: 'Microsoft.Sql/servers', - type: { - name: "String" - } - } - } - } -}; - -export const CheckNameAvailabilityResponse: msRest.CompositeMapper = { - serializedName: "CheckNameAvailabilityResponse", - type: { - name: "Composite", - className: "CheckNameAvailabilityResponse", - modelProperties: { - available: { + primaryAggregationType: { + serializedName: "primaryAggregationType", readOnly: true, - serializedName: "available", type: { - name: "Boolean" + name: "String" } }, - message: { + resourceUri: { + serializedName: "resourceUri", readOnly: true, - serializedName: "message", type: { name: "String" } }, - name: { + unit: { + serializedName: "unit", readOnly: true, - serializedName: "name", type: { name: "String" } }, - reason: { + metricAvailabilities: { + serializedName: "metricAvailabilities", readOnly: true, - serializedName: "reason", type: { - name: "Enum", - allowedValues: [ - "Invalid", - "AlreadyExists" - ] - } - } - } - } + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MetricAvailability" + } + } + } + } + } + } }; -export const ServerConnectionPolicy: msRest.CompositeMapper = { - serializedName: "ServerConnectionPolicy", +export const MetricAvailability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerConnectionPolicy", + className: "MetricAvailability", modelProperties: { - ...ProxyResource.type.modelProperties, - kind: { + retention: { + serializedName: "retention", readOnly: true, - serializedName: "kind", type: { name: "String" } }, - location: { + timeGrain: { + serializedName: "timeGrain", readOnly: true, - serializedName: "location", type: { name: "String" } - }, - connectionType: { - required: true, - serializedName: "properties.connectionType", - type: { - name: "Enum", - allowedValues: [ - "Default", - "Proxy", - "Redirect" - ] - } } } } }; -export const DatabaseSecurityAlertPolicy: msRest.CompositeMapper = { - serializedName: "DatabaseSecurityAlertPolicy", +export const UnlinkParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseSecurityAlertPolicy", + className: "UnlinkParameters", modelProperties: { - ...ProxyResource.type.modelProperties, - location: { - serializedName: "location", + forcedTermination: { + serializedName: "forcedTermination", type: { - name: "String" + name: "Boolean" } - }, - kind: { - readOnly: true, - serializedName: "kind", + } + } + } +}; + +export const ServerCommunicationLinkListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerCommunicationLinkListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerCommunicationLink" + } + } } - }, - state: { + } + } + } +}; + +export const ServiceObjectiveListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceObjectiveListResult", + modelProperties: { + value: { + serializedName: "value", required: true, - serializedName: "properties.state", - type: { - name: "Enum", - allowedValues: [ - "New", - "Enabled", - "Disabled" - ] - } - }, - disabledAlerts: { - serializedName: "properties.disabledAlerts", - type: { - name: "String" - } - }, - emailAddresses: { - serializedName: "properties.emailAddresses", - type: { - name: "String" - } - }, - emailAccountAdmins: { - serializedName: "properties.emailAccountAdmins", type: { - name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServiceObjective" + } + } } - }, - storageEndpoint: { - serializedName: "properties.storageEndpoint", + } + } + } +}; + +export const ElasticPoolActivityListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ElasticPoolActivityListResult", + modelProperties: { + value: { + serializedName: "value", + required: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ElasticPoolActivity" + } + } } - }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", + } + } + } +}; + +export const ElasticPoolDatabaseActivityListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ElasticPoolDatabaseActivityListResult", + modelProperties: { + value: { + serializedName: "value", + required: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ElasticPoolDatabaseActivity" + } + } } - }, - retentionDays: { - serializedName: "properties.retentionDays", + } + } + } +}; + +export const TransparentDataEncryptionActivityListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TransparentDataEncryptionActivityListResult", + modelProperties: { + value: { + serializedName: "value", + required: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TransparentDataEncryptionActivity" + } + } } - }, - useServerDefault: { - serializedName: "properties.useServerDefault", + } + } + } +}; + +export const ServerUsageListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerUsageListResult", + modelProperties: { + value: { + serializedName: "value", + required: true, type: { - name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerUsage" + } + } } } } } }; -export const DataMaskingPolicy: msRest.CompositeMapper = { - serializedName: "DataMaskingPolicy", +export const ServerUsage: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DataMaskingPolicy", + className: "ServerUsage", modelProperties: { - ...ProxyResource.type.modelProperties, - dataMaskingState: { - required: true, - serializedName: "properties.dataMaskingState", + name: { + serializedName: "name", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "Disabled", - "Enabled" - ] + name: "String" } }, - exemptPrincipals: { - serializedName: "properties.exemptPrincipals", + resourceName: { + serializedName: "resourceName", + readOnly: true, type: { name: "String" } }, - applicationPrincipals: { + displayName: { + serializedName: "displayName", readOnly: true, - serializedName: "properties.applicationPrincipals", type: { name: "String" } }, - maskingLevel: { + currentValue: { + serializedName: "currentValue", readOnly: true, - serializedName: "properties.maskingLevel", type: { - name: "String" + name: "Number" } }, - location: { + limit: { + serializedName: "limit", readOnly: true, - serializedName: "location", type: { - name: "String" + name: "Number" } }, - kind: { + unit: { + serializedName: "unit", readOnly: true, - serializedName: "kind", type: { name: "String" } + }, + nextResetTime: { + serializedName: "nextResetTime", + readOnly: true, + type: { + name: "DateTime" + } } } } }; -export const DataMaskingRule: msRest.CompositeMapper = { - serializedName: "DataMaskingRule", +export const ExtendedDatabaseBlobAuditingPolicyListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DataMaskingRule", + className: "ExtendedDatabaseBlobAuditingPolicyListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - dataMaskingRuleId: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.id", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ExtendedDatabaseBlobAuditingPolicy" + } + } } }, - aliasName: { - serializedName: "properties.aliasName", - type: { - name: "String" - } - }, - ruleState: { - serializedName: "properties.ruleState", - type: { - name: "Enum", - allowedValues: [ - "Disabled", - "Enabled" - ] - } - }, - schemaName: { - required: true, - serializedName: "properties.schemaName", - type: { - name: "String" - } - }, - tableName: { - required: true, - serializedName: "properties.tableName", - type: { - name: "String" - } - }, - columnName: { - required: true, - serializedName: "properties.columnName", - type: { - name: "String" - } - }, - maskingFunction: { - required: true, - serializedName: "properties.maskingFunction", - type: { - name: "Enum", - allowedValues: [ - "Default", - "CCN", - "Email", - "Number", - "SSN", - "Text" - ] - } - }, - numberFrom: { - serializedName: "properties.numberFrom", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - numberTo: { - serializedName: "properties.numberTo", + } + } + } +}; + +export const ExtendedServerBlobAuditingPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExtendedServerBlobAuditingPolicyListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ExtendedServerBlobAuditingPolicy" + } + } } }, - prefixSize: { - serializedName: "properties.prefixSize", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - suffixSize: { - serializedName: "properties.suffixSize", + } + } + } +}; + +export const ServerBlobAuditingPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerBlobAuditingPolicyListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerBlobAuditingPolicy" + } + } } }, - replacementString: { - serializedName: "properties.replacementString", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - location: { + } + } + } +}; + +export const DatabaseBlobAuditingPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseBlobAuditingPolicyListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "location", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseBlobAuditingPolicy" + } + } } }, - kind: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "kind", type: { name: "String" } @@ -557,235 +670,270 @@ export const DataMaskingRule: msRest.CompositeMapper = { } }; -export const FirewallRule: msRest.CompositeMapper = { - serializedName: "FirewallRule", +export const RecommendedActionStateInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FirewallRule", + className: "RecommendedActionStateInfo", modelProperties: { - ...ProxyResource.type.modelProperties, - kind: { - readOnly: true, - serializedName: "kind", + currentValue: { + serializedName: "currentValue", + required: true, type: { name: "String" } }, - location: { + actionInitiatedBy: { + serializedName: "actionInitiatedBy", readOnly: true, - serializedName: "location", - type: { - name: "String" - } - }, - startIpAddress: { - required: true, - serializedName: "properties.startIpAddress", type: { - name: "String" + name: "Enum", + allowedValues: ["User", "System"] } }, - endIpAddress: { - required: true, - serializedName: "properties.endIpAddress", + lastModified: { + serializedName: "lastModified", + readOnly: true, type: { - name: "String" + name: "DateTime" } } } } }; -export const GeoBackupPolicy: msRest.CompositeMapper = { - serializedName: "GeoBackupPolicy", +export const RecommendedActionImplementationInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "GeoBackupPolicy", + className: "RecommendedActionImplementationInfo", modelProperties: { - ...ProxyResource.type.modelProperties, - state: { - required: true, - serializedName: "properties.state", + method: { + serializedName: "method", + readOnly: true, type: { name: "Enum", - allowedValues: [ - "Disabled", - "Enabled" - ] + allowedValues: ["TSql", "AzurePowerShell"] } }, - storageType: { + script: { + serializedName: "script", readOnly: true, - serializedName: "properties.storageType", type: { name: "String" } - }, - kind: { + } + } + } +}; + +export const RecommendedActionErrorInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecommendedActionErrorInfo", + modelProperties: { + errorCode: { + serializedName: "errorCode", readOnly: true, - serializedName: "kind", type: { name: "String" } }, - location: { + isRetryable: { + serializedName: "isRetryable", readOnly: true, - serializedName: "location", type: { - name: "String" + name: "Enum", + allowedValues: ["Yes", "No"] } } } } }; -export const ImportExtensionRequest: msRest.CompositeMapper = { - serializedName: "ImportExtensionRequest", +export const RecommendedActionImpactRecord: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ImportExtensionRequest", + className: "RecommendedActionImpactRecord", modelProperties: { - name: { - serializedName: "name", + dimensionName: { + serializedName: "dimensionName", + readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + unit: { + serializedName: "unit", + readOnly: true, type: { name: "String" } }, - storageKeyType: { - required: true, - serializedName: "properties.storageKeyType", + absoluteValue: { + serializedName: "absoluteValue", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "StorageAccessKey", - "SharedAccessKey" - ] + name: "Number" } }, - storageKey: { - required: true, - serializedName: "properties.storageKey", + changeValueAbsolute: { + serializedName: "changeValueAbsolute", + readOnly: true, type: { - name: "String" + name: "Number" } }, - storageUri: { - required: true, - serializedName: "properties.storageUri", + changeValueRelative: { + serializedName: "changeValueRelative", + readOnly: true, + type: { + name: "Number" + } + } + } + } +}; + +export const RecommendedActionMetricInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecommendedActionMetricInfo", + modelProperties: { + metricName: { + serializedName: "metricName", + readOnly: true, type: { name: "String" } }, - administratorLogin: { - required: true, - serializedName: "properties.administratorLogin", + unit: { + serializedName: "unit", + readOnly: true, type: { name: "String" } }, - administratorLoginPassword: { - required: true, - serializedName: "properties.administratorLoginPassword", + timeGrain: { + serializedName: "timeGrain", + readOnly: true, type: { name: "String" } }, - authenticationType: { - serializedName: "properties.authenticationType", - defaultValue: 'SQL', + startTime: { + serializedName: "startTime", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "SQL", - "ADPassword" - ] + name: "DateTime" } }, - operationMode: { - required: true, - isConstant: true, - serializedName: "properties.operationMode", - defaultValue: 'Import', + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Number" } } } } }; -export const ImportExportResponse: msRest.CompositeMapper = { - serializedName: "ImportExportResponse", +export const AutomaticTuningOptions: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ImportExportResponse", + className: "AutomaticTuningOptions", modelProperties: { - ...ProxyResource.type.modelProperties, - requestType: { - readOnly: true, - serializedName: "properties.requestType", - type: { - name: "String" - } - }, - requestId: { - readOnly: true, - serializedName: "properties.requestId", + desiredState: { + serializedName: "desiredState", type: { - name: "Uuid" + name: "Enum", + allowedValues: ["Off", "On", "Default"] } }, - serverName: { + actualState: { + serializedName: "actualState", readOnly: true, - serializedName: "properties.serverName", type: { - name: "String" + name: "Enum", + allowedValues: ["Off", "On"] } }, - databaseName: { + reasonCode: { + serializedName: "reasonCode", readOnly: true, - serializedName: "properties.databaseName", type: { - name: "String" + name: "Number" } }, - status: { + reasonDesc: { + serializedName: "reasonDesc", readOnly: true, - serializedName: "properties.status", type: { - name: "String" + name: "Enum", + allowedValues: [ + "Default", + "Disabled", + "AutoConfigured", + "InheritedFromServer", + "QueryStoreOff", + "QueryStoreReadOnly", + "NotSupported" + ] } - }, - lastModifiedTime: { + } + } + } +}; + +export const DatabaseColumnListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseColumnListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.lastModifiedTime", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseColumn" + } + } } }, - queuedTime: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.queuedTime", type: { name: "String" } - }, - blobUri: { + } + } + } +}; + +export const DatabaseSchemaListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseSchemaListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.blobUri", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseSchema" + } + } } }, - errorMessage: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.errorMessage", type: { name: "String" } @@ -794,97 +942,72 @@ export const ImportExportResponse: msRest.CompositeMapper = { } }; -export const ExportRequest: msRest.CompositeMapper = { - serializedName: "ExportRequest", +export const SystemData: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExportRequest", + className: "SystemData", modelProperties: { - storageKeyType: { - required: true, - serializedName: "storageKeyType", + createdBy: { + serializedName: "createdBy", type: { - name: "Enum", - allowedValues: [ - "StorageAccessKey", - "SharedAccessKey" - ] + name: "String" } }, - storageKey: { - required: true, - serializedName: "storageKey", + createdByType: { + serializedName: "createdByType", type: { name: "String" } }, - storageUri: { - required: true, - serializedName: "storageUri", + createdAt: { + serializedName: "createdAt", type: { - name: "String" + name: "DateTime" } }, - administratorLogin: { - required: true, - serializedName: "administratorLogin", + lastModifiedBy: { + serializedName: "lastModifiedBy", type: { name: "String" } }, - administratorLoginPassword: { - required: true, - serializedName: "administratorLoginPassword", + lastModifiedByType: { + serializedName: "lastModifiedByType", type: { name: "String" } }, - authenticationType: { - serializedName: "authenticationType", - defaultValue: 'SQL', + lastModifiedAt: { + serializedName: "lastModifiedAt", type: { - name: "Enum", - allowedValues: [ - "SQL", - "ADPassword" - ] + name: "DateTime" } } } } }; -export const ImportRequest: msRest.CompositeMapper = { - serializedName: "ImportRequest", +export const DatabaseSecurityAlertListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ImportRequest", + className: "DatabaseSecurityAlertListResult", modelProperties: { - ...ExportRequest.type.modelProperties, - databaseName: { - required: true, - serializedName: "databaseName", - type: { - name: "String" - } - }, - edition: { - required: true, - serializedName: "edition", - type: { - name: "String" - } - }, - serviceObjectiveName: { - required: true, - serializedName: "serviceObjectiveName", + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseSecurityAlertPolicy" + } + } } }, - maxSizeBytes: { - required: true, - serializedName: "maxSizeBytes", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -893,74 +1016,110 @@ export const ImportRequest: msRest.CompositeMapper = { } }; -export const MetricValue: msRest.CompositeMapper = { - serializedName: "MetricValue", +export const DatabaseTableListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MetricValue", + className: "DatabaseTableListResult", modelProperties: { - count: { + value: { + serializedName: "value", readOnly: true, - serializedName: "count", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseTable" + } + } } }, - average: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "average", type: { - name: "Number" + name: "String" } - }, - maximum: { - readOnly: true, - serializedName: "maximum", + } + } + } +}; + +export const DatabaseVulnerabilityAssessmentRuleBaselineItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseVulnerabilityAssessmentRuleBaselineItem", + modelProperties: { + result: { + serializedName: "result", + required: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - }, - minimum: { - readOnly: true, - serializedName: "minimum", + } + } + } +}; + +export const VulnerabilityAssessmentRecurringScansProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VulnerabilityAssessmentRecurringScansProperties", + modelProperties: { + isEnabled: { + serializedName: "isEnabled", type: { - name: "Number" + name: "Boolean" } }, - timestamp: { - readOnly: true, - serializedName: "timestamp", + emailSubscriptionAdmins: { + defaultValue: true, + serializedName: "emailSubscriptionAdmins", type: { - name: "DateTime" + name: "Boolean" } }, - total: { - readOnly: true, - serializedName: "total", + emails: { + serializedName: "emails", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const MetricName: msRest.CompositeMapper = { - serializedName: "MetricName", +export const DatabaseVulnerabilityAssessmentListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MetricName", + className: "DatabaseVulnerabilityAssessmentListResult", modelProperties: { value: { - readOnly: true, serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseVulnerabilityAssessment" + } + } } }, - localizedValue: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "localizedValue", type: { name: "String" } @@ -969,81 +1128,108 @@ export const MetricName: msRest.CompositeMapper = { } }; -export const Metric: msRest.CompositeMapper = { - serializedName: "Metric", +export const VulnerabilityAssessmentScanRecordListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Metric", + className: "VulnerabilityAssessmentScanRecordListResult", modelProperties: { - startTime: { - readOnly: true, - serializedName: "startTime", - type: { - name: "DateTime" - } - }, - endTime: { + value: { + serializedName: "value", readOnly: true, - serializedName: "endTime", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VulnerabilityAssessmentScanRecord" + } + } } }, - timeGrain: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "timeGrain", type: { name: "String" } - }, - unit: { + } + } + } +}; + +export const VulnerabilityAssessmentScanError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VulnerabilityAssessmentScanError", + modelProperties: { + code: { + serializedName: "code", readOnly: true, - serializedName: "unit", type: { name: "String" } }, - name: { + message: { + serializedName: "message", readOnly: true, - serializedName: "name", type: { - name: "Composite", - className: "MetricName" + name: "String" } - }, - metricValues: { + } + } + } +}; + +export const DataWarehouseUserActivitiesListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DataWarehouseUserActivitiesListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "metricValues", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MetricValue" + className: "DataWarehouseUserActivities" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } }; -export const MetricAvailability: msRest.CompositeMapper = { - serializedName: "MetricAvailability", +export const DeletedServerListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MetricAvailability", + className: "DeletedServerListResult", modelProperties: { - retention: { + value: { + serializedName: "value", readOnly: true, - serializedName: "retention", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedServer" + } + } } }, - timeGrain: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "timeGrain", type: { name: "String" } @@ -1052,78 +1238,96 @@ export const MetricAvailability: msRest.CompositeMapper = { } }; -export const MetricDefinition: msRest.CompositeMapper = { - serializedName: "MetricDefinition", +export const ElasticPoolOperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MetricDefinition", + className: "ElasticPoolOperationListResult", modelProperties: { - name: { - readOnly: true, - serializedName: "name", - type: { - name: "Composite", - className: "MetricName" - } - }, - primaryAggregationType: { - readOnly: true, - serializedName: "primaryAggregationType", - type: { - name: "String" - } - }, - resourceUri: { + value: { + serializedName: "value", readOnly: true, - serializedName: "resourceUri", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ElasticPoolOperation" + } + } } }, - unit: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "unit", type: { name: "String" } - }, - metricAvailabilities: { + } + } + } +}; + +export const ElasticPoolListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ElasticPoolListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "metricAvailabilities", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MetricAvailability" + className: "ElasticPool" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } }; -export const RecommendedElasticPoolMetric: msRest.CompositeMapper = { - serializedName: "RecommendedElasticPoolMetric", +export const Sku: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecommendedElasticPoolMetric", + className: "Sku", modelProperties: { - dateTime: { - serializedName: "dateTime", + name: { + serializedName: "name", + required: true, type: { - name: "DateTime" + name: "String" } }, - dtu: { - serializedName: "dtu", + tier: { + serializedName: "tier", type: { - name: "Number" + name: "String" + } + }, + size: { + serializedName: "size", + type: { + name: "String" + } + }, + family: { + serializedName: "family", + type: { + name: "String" } }, - sizeGB: { - serializedName: "sizeGB", + capacity: { + serializedName: "capacity", type: { name: "Number" } @@ -1132,196 +1336,239 @@ export const RecommendedElasticPoolMetric: msRest.CompositeMapper = { } }; -export const RecommendedElasticPool: msRest.CompositeMapper = { - serializedName: "RecommendedElasticPool", +export const ElasticPoolPerDatabaseSettings: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecommendedElasticPool", + className: "ElasticPoolPerDatabaseSettings", modelProperties: { - ...ProxyResource.type.modelProperties, - databaseEdition: { - readOnly: true, - serializedName: "properties.databaseEdition", + minCapacity: { + serializedName: "minCapacity", type: { - name: "String" + name: "Number" } }, - dtu: { - serializedName: "properties.dtu", + maxCapacity: { + serializedName: "maxCapacity", type: { name: "Number" } - }, - databaseDtuMin: { - serializedName: "properties.databaseDtuMin", + } + } + } +}; + +export const ElasticPoolUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ElasticPoolUpdate", + modelProperties: { + sku: { + serializedName: "sku", type: { - name: "Number" + name: "Composite", + className: "Sku" } }, - databaseDtuMax: { - serializedName: "properties.databaseDtuMax", + tags: { + serializedName: "tags", type: { - name: "Number" + name: "Dictionary", + value: { type: { name: "String" } } } }, - storageMB: { - serializedName: "properties.storageMB", + maxSizeBytes: { + serializedName: "properties.maxSizeBytes", type: { name: "Number" } }, - observationPeriodStart: { - readOnly: true, - serializedName: "properties.observationPeriodStart", + perDatabaseSettings: { + serializedName: "properties.perDatabaseSettings", type: { - name: "DateTime" + name: "Composite", + className: "ElasticPoolPerDatabaseSettings" } }, - observationPeriodEnd: { - readOnly: true, - serializedName: "properties.observationPeriodEnd", + zoneRedundant: { + serializedName: "properties.zoneRedundant", type: { - name: "DateTime" + name: "Boolean" } }, - maxObservedDtu: { - readOnly: true, - serializedName: "properties.maxObservedDtu", + licenseType: { + serializedName: "properties.licenseType", type: { - name: "Number" + name: "String" } }, - maxObservedStorageMB: { - readOnly: true, - serializedName: "properties.maxObservedStorageMB", + maintenanceConfigurationId: { + serializedName: "properties.maintenanceConfigurationId", type: { - name: "Number" + name: "String" } - }, - databases: { + } + } + } +}; + +export const EncryptionProtectorListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EncryptionProtectorListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.databases", type: { name: "Sequence", element: { type: { name: "Composite", - className: "TrackedResource" + className: "EncryptionProtector" } } } }, - metrics: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.metrics", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecommendedElasticPoolMetric" - } - } + name: "String" } } } } }; -export const ReplicationLink: msRest.CompositeMapper = { - serializedName: "ReplicationLink", +export const FailoverGroupReadWriteEndpoint: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ReplicationLink", + className: "FailoverGroupReadWriteEndpoint", modelProperties: { - ...ProxyResource.type.modelProperties, - location: { - readOnly: true, - serializedName: "location", + failoverPolicy: { + serializedName: "failoverPolicy", + required: true, type: { name: "String" } }, - isTerminationAllowed: { - readOnly: true, - serializedName: "properties.isTerminationAllowed", + failoverWithDataLossGracePeriodMinutes: { + serializedName: "failoverWithDataLossGracePeriodMinutes", type: { - name: "Boolean" + name: "Number" } - }, - replicationMode: { - readOnly: true, - serializedName: "properties.replicationMode", + } + } + } +}; + +export const FailoverGroupReadOnlyEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FailoverGroupReadOnlyEndpoint", + modelProperties: { + failoverPolicy: { + serializedName: "failoverPolicy", type: { name: "String" } - }, - partnerServer: { - readOnly: true, - serializedName: "properties.partnerServer", + } + } + } +}; + +export const PartnerInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PartnerInfo", + modelProperties: { + id: { + serializedName: "id", + required: true, type: { name: "String" } }, - partnerDatabase: { + location: { + serializedName: "location", readOnly: true, - serializedName: "properties.partnerDatabase", type: { name: "String" } }, - partnerLocation: { + replicationRole: { + serializedName: "replicationRole", readOnly: true, - serializedName: "properties.partnerLocation", type: { name: "String" } - }, - role: { - readOnly: true, - serializedName: "properties.role", + } + } + } +}; + +export const FailoverGroupUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FailoverGroupUpdate", + modelProperties: { + tags: { + serializedName: "tags", type: { - name: "Enum", - allowedValues: [ - "Primary", - "Secondary", - "NonReadableSecondary", - "Source", - "Copy" - ] + name: "Dictionary", + value: { type: { name: "String" } } } }, - partnerRole: { - readOnly: true, - serializedName: "properties.partnerRole", + readWriteEndpoint: { + serializedName: "properties.readWriteEndpoint", type: { - name: "Enum", - allowedValues: [ - "Primary", - "Secondary", - "NonReadableSecondary", - "Source", - "Copy" - ] + name: "Composite", + className: "FailoverGroupReadWriteEndpoint" } }, - startTime: { - readOnly: true, - serializedName: "properties.startTime", + readOnlyEndpoint: { + serializedName: "properties.readOnlyEndpoint", type: { - name: "DateTime" + name: "Composite", + className: "FailoverGroupReadOnlyEndpoint" } }, - percentComplete: { + databases: { + serializedName: "properties.databases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const FailoverGroupListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FailoverGroupListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.percentComplete", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FailoverGroup" + } + } } }, - replicationState: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.replicationState", type: { name: "String" } @@ -1330,408 +1577,558 @@ export const ReplicationLink: msRest.CompositeMapper = { } }; -export const ServerAzureADAdministrator: msRest.CompositeMapper = { - serializedName: "ServerAzureADAdministrator", +export const ResourceWithWritableName: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerAzureADAdministrator", + className: "ResourceWithWritableName", modelProperties: { - ...ProxyResource.type.modelProperties, - administratorType: { - required: true, - isConstant: true, - serializedName: "properties.administratorType", - defaultValue: 'ActiveDirectory', + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - login: { - required: true, - serializedName: "properties.login", + name: { + serializedName: "name", type: { name: "String" } }, - sid: { - required: true, - serializedName: "properties.sid", - type: { - name: "Uuid" - } - }, - tenantId: { - required: true, - serializedName: "properties.tenantId", + type: { + serializedName: "type", + readOnly: true, type: { - name: "Uuid" + name: "String" } } } } }; -export const ServerCommunicationLink: msRest.CompositeMapper = { - serializedName: "ServerCommunicationLink", +export const FirewallRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerCommunicationLink", + className: "FirewallRuleListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - state: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.state", - type: { - name: "String" - } - }, - partnerServer: { - required: true, - serializedName: "properties.partnerServer", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FirewallRule" + } + } } }, - location: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "location", type: { name: "String" } - }, - kind: { - readOnly: true, - serializedName: "kind", + } + } + } +}; + +export const FirewallRuleList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FirewallRuleList", + modelProperties: { + values: { + serializedName: "values", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FirewallRule" + } + } } } } } }; -export const ServiceObjective: msRest.CompositeMapper = { - serializedName: "ServiceObjective", +export const InstanceFailoverGroupReadWriteEndpoint: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceObjective", + className: "InstanceFailoverGroupReadWriteEndpoint", modelProperties: { - ...ProxyResource.type.modelProperties, - serviceObjectiveName: { - readOnly: true, - serializedName: "properties.serviceObjectiveName", + failoverPolicy: { + serializedName: "failoverPolicy", + required: true, type: { name: "String" } }, - isDefault: { - nullable: false, - readOnly: true, - serializedName: "properties.isDefault", - type: { - name: "Boolean" - } - }, - isSystem: { - nullable: false, - readOnly: true, - serializedName: "properties.isSystem", + failoverWithDataLossGracePeriodMinutes: { + serializedName: "failoverWithDataLossGracePeriodMinutes", type: { - name: "Boolean" + name: "Number" } - }, - description: { - readOnly: true, - serializedName: "properties.description", + } + } + } +}; + +export const InstanceFailoverGroupReadOnlyEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InstanceFailoverGroupReadOnlyEndpoint", + modelProperties: { + failoverPolicy: { + serializedName: "failoverPolicy", type: { name: "String" } - }, - enabled: { - nullable: false, - readOnly: true, - serializedName: "properties.enabled", - type: { - name: "Boolean" - } } } } }; -export const ElasticPoolActivity: msRest.CompositeMapper = { - serializedName: "ElasticPoolActivity", +export const PartnerRegionInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolActivity", + className: "PartnerRegionInfo", modelProperties: { - ...ProxyResource.type.modelProperties, location: { serializedName: "location", type: { name: "String" } }, - endTime: { + replicationRole: { + serializedName: "replicationRole", readOnly: true, - serializedName: "properties.endTime", type: { - name: "DateTime" + name: "String" } - }, - errorCode: { - readOnly: true, - serializedName: "properties.errorCode", + } + } + } +}; + +export const ManagedInstancePairInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstancePairInfo", + modelProperties: { + primaryManagedInstanceId: { + serializedName: "primaryManagedInstanceId", type: { - name: "Number" + name: "String" } }, - errorMessage: { - readOnly: true, - serializedName: "properties.errorMessage", + partnerManagedInstanceId: { + serializedName: "partnerManagedInstanceId", type: { name: "String" } - }, - errorSeverity: { + } + } + } +}; + +export const InstanceFailoverGroupListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InstanceFailoverGroupListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.errorSeverity", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstanceFailoverGroup" + } + } } }, - operation: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.operation", type: { name: "String" } - }, - operationId: { - nullable: false, - readOnly: true, - serializedName: "properties.operationId", + } + } + } +}; + +export const InstancePoolUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InstancePoolUpdate", + modelProperties: { + tags: { + serializedName: "tags", type: { - name: "Uuid" + name: "Dictionary", + value: { type: { name: "String" } } } - }, - percentComplete: { + } + } + } +}; + +export const InstancePoolListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InstancePoolListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.percentComplete", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstancePool" + } + } } }, - requestedDatabaseDtuMax: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.requestedDatabaseDtuMax", type: { - name: "Number" + name: "String" } - }, - requestedDatabaseDtuMin: { + } + } + } +}; + +export const JobAgentListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobAgentListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.requestedDatabaseDtuMin", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "JobAgent" + } + } } }, - requestedDtu: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.requestedDtu", type: { - name: "Number" + name: "String" } - }, - requestedElasticPoolName: { - readOnly: true, - serializedName: "properties.requestedElasticPoolName", + } + } + } +}; + +export const JobAgentUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobAgentUpdate", + modelProperties: { + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } - }, - requestedStorageLimitInGB: { + } + } + } +}; + +export const JobCredentialListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobCredentialListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.requestedStorageLimitInGB", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "JobCredential" + } + } } }, - elasticPoolName: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.elasticPoolName", type: { name: "String" } - }, - serverName: { + } + } + } +}; + +export const JobExecutionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobExecutionListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.serverName", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "JobExecution" + } + } } }, - startTime: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.startTime", type: { - name: "DateTime" + name: "String" } - }, - state: { + } + } + } +}; + +export const JobExecutionTarget: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobExecutionTarget", + modelProperties: { + type: { + serializedName: "type", readOnly: true, - serializedName: "properties.state", type: { name: "String" } }, - requestedStorageLimitInMB: { + serverName: { + serializedName: "serverName", readOnly: true, - serializedName: "properties.requestedStorageLimitInMB", type: { - name: "Number" + name: "String" } }, - requestedDatabaseDtuGuarantee: { + databaseName: { + serializedName: "databaseName", readOnly: true, - serializedName: "properties.requestedDatabaseDtuGuarantee", type: { - name: "Number" + name: "String" } - }, - requestedDatabaseDtuCap: { + } + } + } +}; + +export const JobListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.requestedDatabaseDtuCap", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Job" + } + } } }, - requestedDtuGuarantee: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.requestedDtuGuarantee", type: { - name: "Number" + name: "String" } } } } }; -export const ElasticPoolDatabaseActivity: msRest.CompositeMapper = { - serializedName: "ElasticPoolDatabaseActivity", +export const JobSchedule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolDatabaseActivity", + className: "JobSchedule", modelProperties: { - ...ProxyResource.type.modelProperties, - location: { - serializedName: "location", - type: { - name: "String" - } - }, - databaseName: { - readOnly: true, - serializedName: "properties.databaseName", + startTime: { + defaultValue: "0001-01-01T00:00:00+00:00", + serializedName: "startTime", type: { - name: "String" + name: "DateTime" } }, endTime: { - readOnly: true, - serializedName: "properties.endTime", + defaultValue: "9999-12-31T11:59:59+00:00", + serializedName: "endTime", type: { name: "DateTime" } }, - errorCode: { - readOnly: true, - serializedName: "properties.errorCode", + type: { + defaultValue: "Once", + serializedName: "type", type: { - name: "Number" + name: "Enum", + allowedValues: ["Once", "Recurring"] } }, - errorMessage: { - readOnly: true, - serializedName: "properties.errorMessage", + enabled: { + serializedName: "enabled", type: { - name: "String" + name: "Boolean" } }, - errorSeverity: { + interval: { + serializedName: "interval", + type: { + name: "String" + } + } + } + } +}; + +export const JobStepListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobStepListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.errorSeverity", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "JobStep" + } + } } }, - operation: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.operation", type: { name: "String" } - }, - operationId: { - nullable: false, - readOnly: true, - serializedName: "properties.operationId", + } + } + } +}; + +export const JobStepAction: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobStepAction", + modelProperties: { + type: { + defaultValue: "TSql", + serializedName: "type", type: { - name: "Uuid" + name: "String" } }, - percentComplete: { - readOnly: true, - serializedName: "properties.percentComplete", + source: { + defaultValue: "Inline", + serializedName: "source", type: { - name: "Number" + name: "String" } }, - requestedElasticPoolName: { - readOnly: true, - serializedName: "properties.requestedElasticPoolName", + value: { + serializedName: "value", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const JobStepOutput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobStepOutput", + modelProperties: { + type: { + defaultValue: "SqlDatabase", + serializedName: "type", type: { name: "String" } }, - currentElasticPoolName: { - readOnly: true, - serializedName: "properties.currentElasticPoolName", + subscriptionId: { + serializedName: "subscriptionId", + type: { + name: "Uuid" + } + }, + resourceGroupName: { + serializedName: "resourceGroupName", type: { name: "String" } }, - currentServiceObjective: { - readOnly: true, - serializedName: "properties.currentServiceObjective", + serverName: { + serializedName: "serverName", + required: true, type: { name: "String" } }, - requestedServiceObjective: { - readOnly: true, - serializedName: "properties.requestedServiceObjective", + databaseName: { + serializedName: "databaseName", + required: true, type: { name: "String" } }, - serverName: { - readOnly: true, - serializedName: "properties.serverName", + schemaName: { + defaultValue: "dbo", + serializedName: "schemaName", type: { name: "String" } }, - startTime: { - readOnly: true, - serializedName: "properties.startTime", + tableName: { + serializedName: "tableName", + required: true, type: { - name: "DateTime" + name: "String" } }, - state: { - readOnly: true, - serializedName: "properties.state", + credential: { + serializedName: "credential", + required: true, type: { name: "String" } @@ -1740,36 +2137,42 @@ export const ElasticPoolDatabaseActivity: msRest.CompositeMapper = { } }; -export const OperationImpact: msRest.CompositeMapper = { - serializedName: "OperationImpact", +export const JobStepExecutionOptions: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationImpact", + className: "JobStepExecutionOptions", modelProperties: { - name: { - readOnly: true, - serializedName: "name", + timeoutSeconds: { + defaultValue: 43200, + serializedName: "timeoutSeconds", type: { - name: "String" + name: "Number" } }, - unit: { - readOnly: true, - serializedName: "unit", + retryAttempts: { + defaultValue: 10, + serializedName: "retryAttempts", type: { - name: "String" + name: "Number" } }, - changeValueAbsolute: { - readOnly: true, - serializedName: "changeValueAbsolute", + initialRetryIntervalSeconds: { + defaultValue: 1, + serializedName: "initialRetryIntervalSeconds", type: { name: "Number" } }, - changeValueRelative: { - readOnly: true, - serializedName: "changeValueRelative", + maximumRetryIntervalSeconds: { + defaultValue: 120, + serializedName: "maximumRetryIntervalSeconds", + type: { + name: "Number" + } + }, + retryIntervalBackoffMultiplier: { + defaultValue: 2, + serializedName: "retryIntervalBackoffMultiplier", type: { name: "Number" } @@ -1778,663 +2181,721 @@ export const OperationImpact: msRest.CompositeMapper = { } }; -export const RecommendedIndex: msRest.CompositeMapper = { - serializedName: "RecommendedIndex", +export const JobTargetGroupListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecommendedIndex", + className: "JobTargetGroupListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - action: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.action", type: { - name: "Enum", - allowedValues: [ - "Create", - "Drop", - "Rebuild" - ] + name: "Sequence", + element: { + type: { + name: "Composite", + className: "JobTargetGroup" + } + } } }, - state: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.state", + type: { + name: "String" + } + } + } + } +}; + +export const JobTarget: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobTarget", + modelProperties: { + membershipType: { + defaultValue: "Include", + serializedName: "membershipType", type: { name: "Enum", - allowedValues: [ - "Active", - "Pending", - "Executing", - "Verifying", - "Pending Revert", - "Reverting", - "Reverted", - "Ignored", - "Expired", - "Blocked", - "Success" - ] + allowedValues: ["Include", "Exclude"] } }, - created: { - readOnly: true, - serializedName: "properties.created", + type: { + serializedName: "type", + required: true, type: { - name: "DateTime" + name: "String" } }, - lastModified: { - readOnly: true, - serializedName: "properties.lastModified", + serverName: { + serializedName: "serverName", type: { - name: "DateTime" + name: "String" } }, - indexType: { - readOnly: true, - serializedName: "properties.indexType", + databaseName: { + serializedName: "databaseName", type: { - name: "Enum", - allowedValues: [ - "CLUSTERED", - "NONCLUSTERED", - "COLUMNSTORE", - "CLUSTERED COLUMNSTORE" - ] + name: "String" } }, - schema: { - readOnly: true, - serializedName: "properties.schema", + elasticPoolName: { + serializedName: "elasticPoolName", type: { name: "String" } }, - table: { - readOnly: true, - serializedName: "properties.table", + shardMapName: { + serializedName: "shardMapName", type: { name: "String" } }, - columns: { - readOnly: true, - serializedName: "properties.columns", + refreshCredential: { + serializedName: "refreshCredential", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } - }, - includedColumns: { + } + } + } +}; + +export const JobVersionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobVersionListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.includedColumns", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "JobVersion" } } } }, - indexScript: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.indexScript", type: { name: "String" } - }, - estimatedImpact: { - readOnly: true, - serializedName: "properties.estimatedImpact", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "OperationImpact" - } - } + } + } + } +}; + +export const LocationCapabilities: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LocationCapabilities", + modelProperties: { + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" } }, - reportedImpact: { + supportedServerVersions: { + serializedName: "supportedServerVersions", readOnly: true, - serializedName: "properties.reportedImpact", type: { name: "Sequence", element: { type: { name: "Composite", - className: "OperationImpact" + className: "ServerVersionCapability" } } } - } - } - } -}; - -export const TransparentDataEncryption: msRest.CompositeMapper = { - serializedName: "TransparentDataEncryption", - type: { - name: "Composite", - className: "TransparentDataEncryption", - modelProperties: { - ...ProxyResource.type.modelProperties, - location: { + }, + supportedManagedInstanceVersions: { + serializedName: "supportedManagedInstanceVersions", readOnly: true, - serializedName: "location", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceVersionCapability" + } + } } }, status: { - serializedName: "properties.status", + serializedName: "status", + readOnly: true, type: { name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" } } } } }; -export const SloUsageMetric: msRest.CompositeMapper = { - serializedName: "SloUsageMetric", +export const ServerVersionCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SloUsageMetric", + className: "ServerVersionCapability", modelProperties: { - serviceLevelObjective: { + name: { + serializedName: "name", readOnly: true, - serializedName: "serviceLevelObjective", type: { name: "String" } }, - serviceLevelObjectiveId: { - nullable: false, + supportedEditions: { + serializedName: "supportedEditions", readOnly: true, - serializedName: "serviceLevelObjectiveId", type: { - name: "Uuid" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EditionCapability" + } + } } }, - inRangeTimeRatio: { - nullable: false, + supportedElasticPoolEditions: { + serializedName: "supportedElasticPoolEditions", readOnly: true, - serializedName: "inRangeTimeRatio", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ElasticPoolEditionCapability" + } + } + } + }, + status: { + serializedName: "status", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" } } } } }; -export const ServiceTierAdvisor: msRest.CompositeMapper = { - serializedName: "ServiceTierAdvisor", +export const EditionCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceTierAdvisor", + className: "EditionCapability", modelProperties: { - ...ProxyResource.type.modelProperties, - observationPeriodStart: { + name: { + serializedName: "name", readOnly: true, - serializedName: "properties.observationPeriodStart", type: { - name: "DateTime" + name: "String" } }, - observationPeriodEnd: { + supportedServiceLevelObjectives: { + serializedName: "supportedServiceLevelObjectives", readOnly: true, - serializedName: "properties.observationPeriodEnd", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServiceObjectiveCapability" + } + } } }, - activeTimeRatio: { + zoneRedundant: { + serializedName: "zoneRedundant", readOnly: true, - serializedName: "properties.activeTimeRatio", type: { - name: "Number" + name: "Boolean" + } + }, + readScale: { + serializedName: "readScale", + type: { + name: "Composite", + className: "ReadScaleCapability" } }, - minDtu: { + supportedStorageCapabilities: { + serializedName: "supportedStorageCapabilities", readOnly: true, - serializedName: "properties.minDtu", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StorageCapability" + } + } } }, - avgDtu: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.avgDtu", type: { - name: "Number" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - maxDtu: { + reason: { + serializedName: "reason", + type: { + name: "String" + } + } + } + } +}; + +export const ServiceObjectiveCapability: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceObjectiveCapability", + modelProperties: { + id: { + serializedName: "id", readOnly: true, - serializedName: "properties.maxDtu", type: { - name: "Number" + name: "Uuid" } }, - maxSizeInGB: { + name: { + serializedName: "name", readOnly: true, - serializedName: "properties.maxSizeInGB", type: { - name: "Number" + name: "String" } }, - serviceLevelObjectiveUsageMetrics: { + supportedMaxSizes: { + serializedName: "supportedMaxSizes", readOnly: true, - serializedName: "properties.serviceLevelObjectiveUsageMetrics", type: { name: "Sequence", element: { type: { name: "Composite", - className: "SloUsageMetric" + className: "MaxSizeRangeCapability" } } } }, - currentServiceLevelObjective: { - readOnly: true, - serializedName: "properties.currentServiceLevelObjective", + performanceLevel: { + serializedName: "performanceLevel", type: { - name: "String" + name: "Composite", + className: "PerformanceLevelCapability" } }, - currentServiceLevelObjectiveId: { - readOnly: true, - serializedName: "properties.currentServiceLevelObjectiveId", + sku: { + serializedName: "sku", type: { - name: "Uuid" + name: "Composite", + className: "Sku" } }, - usageBasedRecommendationServiceLevelObjective: { + supportedLicenseTypes: { + serializedName: "supportedLicenseTypes", readOnly: true, - serializedName: "properties.usageBasedRecommendationServiceLevelObjective", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LicenseTypeCapability" + } + } } }, - usageBasedRecommendationServiceLevelObjectiveId: { - readOnly: true, - serializedName: "properties.usageBasedRecommendationServiceLevelObjectiveId", + includedMaxSize: { + serializedName: "includedMaxSize", type: { - name: "Uuid" + name: "Composite", + className: "MaxSizeCapability" } }, - databaseSizeBasedRecommendationServiceLevelObjective: { + zoneRedundant: { + serializedName: "zoneRedundant", readOnly: true, - serializedName: "properties.databaseSizeBasedRecommendationServiceLevelObjective", type: { - name: "String" + name: "Boolean" } }, - databaseSizeBasedRecommendationServiceLevelObjectiveId: { - readOnly: true, - serializedName: "properties.databaseSizeBasedRecommendationServiceLevelObjectiveId", + supportedAutoPauseDelay: { + serializedName: "supportedAutoPauseDelay", type: { - name: "Uuid" + name: "Composite", + className: "AutoPauseDelayTimeRange" } }, - disasterPlanBasedRecommendationServiceLevelObjective: { + supportedMinCapacities: { + serializedName: "supportedMinCapacities", readOnly: true, - serializedName: "properties.disasterPlanBasedRecommendationServiceLevelObjective", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MinCapacityCapability" + } + } } }, - disasterPlanBasedRecommendationServiceLevelObjectiveId: { + computeModel: { + serializedName: "computeModel", readOnly: true, - serializedName: "properties.disasterPlanBasedRecommendationServiceLevelObjectiveId", type: { - name: "Uuid" + name: "String" } }, - overallRecommendationServiceLevelObjective: { + supportedMaintenanceConfigurations: { + serializedName: "supportedMaintenanceConfigurations", readOnly: true, - serializedName: "properties.overallRecommendationServiceLevelObjective", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MaintenanceConfigurationCapability" + } + } } }, - overallRecommendationServiceLevelObjectiveId: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.overallRecommendationServiceLevelObjectiveId", type: { - name: "Uuid" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - confidence: { - nullable: false, - readOnly: true, - serializedName: "properties.confidence", + reason: { + serializedName: "reason", type: { - name: "Number" + name: "String" } } } } }; -export const TransparentDataEncryptionActivity: msRest.CompositeMapper = { - serializedName: "TransparentDataEncryptionActivity", +export const MaxSizeRangeCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TransparentDataEncryptionActivity", + className: "MaxSizeRangeCapability", modelProperties: { - ...ProxyResource.type.modelProperties, - location: { - readOnly: true, - serializedName: "location", + minValue: { + serializedName: "minValue", type: { - name: "String" + name: "Composite", + className: "MaxSizeCapability" } }, - status: { - readOnly: true, - serializedName: "properties.status", + maxValue: { + serializedName: "maxValue", type: { - name: "String" + name: "Composite", + className: "MaxSizeCapability" } }, - percentComplete: { + scaleSize: { + serializedName: "scaleSize", + type: { + name: "Composite", + className: "MaxSizeCapability" + } + }, + logSize: { + serializedName: "logSize", + type: { + name: "Composite", + className: "LogSizeCapability" + } + }, + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.percentComplete", type: { - name: "Number" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" } } } } }; -export const ServerUsage: msRest.CompositeMapper = { - serializedName: "ServerUsage", +export const MaxSizeCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerUsage", + className: "MaxSizeCapability", modelProperties: { - name: { + limit: { + serializedName: "limit", readOnly: true, - serializedName: "name", type: { - name: "String" + name: "Number" } }, - resourceName: { + unit: { + serializedName: "unit", readOnly: true, - serializedName: "resourceName", type: { name: "String" } - }, - displayName: { + } + } + } +}; + +export const LogSizeCapability: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LogSizeCapability", + modelProperties: { + limit: { + serializedName: "limit", readOnly: true, - serializedName: "displayName", type: { - name: "String" + name: "Number" } }, - currentValue: { + unit: { + serializedName: "unit", readOnly: true, - serializedName: "currentValue", type: { - name: "Number" + name: "String" } - }, - limit: { + } + } + } +}; + +export const PerformanceLevelCapability: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PerformanceLevelCapability", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "limit", type: { name: "Number" } }, unit: { - readOnly: true, serializedName: "unit", - type: { - name: "String" - } - }, - nextResetTime: { readOnly: true, - serializedName: "nextResetTime", type: { - name: "DateTime" + name: "String" } } } } }; -export const DatabaseUsage: msRest.CompositeMapper = { - serializedName: "DatabaseUsage", +export const LicenseTypeCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseUsage", + className: "LicenseTypeCapability", modelProperties: { name: { - readOnly: true, serializedName: "name", + readOnly: true, type: { name: "String" } }, - resourceName: { + status: { + serializedName: "status", readOnly: true, - serializedName: "resourceName", type: { - name: "String" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - displayName: { - readOnly: true, - serializedName: "displayName", + reason: { + serializedName: "reason", type: { name: "String" } - }, - currentValue: { + } + } + } +}; + +export const AutoPauseDelayTimeRange: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AutoPauseDelayTimeRange", + modelProperties: { + minValue: { + serializedName: "minValue", readOnly: true, - serializedName: "currentValue", type: { name: "Number" } }, - limit: { + maxValue: { + serializedName: "maxValue", readOnly: true, - serializedName: "limit", type: { name: "Number" } }, - unit: { + stepSize: { + serializedName: "stepSize", readOnly: true, - serializedName: "unit", type: { - name: "String" + name: "Number" } }, - nextResetTime: { + default: { + serializedName: "default", readOnly: true, - serializedName: "nextResetTime", - type: { - name: "DateTime" - } - } - } - } -}; - -export const AutomaticTuningOptions: msRest.CompositeMapper = { - serializedName: "AutomaticTuningOptions", - type: { - name: "Composite", - className: "AutomaticTuningOptions", - modelProperties: { - desiredState: { - serializedName: "desiredState", type: { - name: "Enum", - allowedValues: [ - "Off", - "On", - "Default" - ] + name: "Number" } }, - actualState: { + unit: { + serializedName: "unit", readOnly: true, - serializedName: "actualState", type: { - name: "Enum", - allowedValues: [ - "Off", - "On" - ] + name: "String" } }, - reasonCode: { + doNotPauseValue: { + serializedName: "doNotPauseValue", readOnly: true, - serializedName: "reasonCode", type: { name: "Number" } - }, - reasonDesc: { - readOnly: true, - serializedName: "reasonDesc", - type: { - name: "Enum", - allowedValues: [ - "Default", - "Disabled", - "AutoConfigured", - "InheritedFromServer", - "QueryStoreOff", - "QueryStoreReadOnly", - "NotSupported" - ] - } } } } }; -export const DatabaseAutomaticTuning: msRest.CompositeMapper = { - serializedName: "DatabaseAutomaticTuning", +export const MinCapacityCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseAutomaticTuning", + className: "MinCapacityCapability", modelProperties: { - ...ProxyResource.type.modelProperties, - desiredState: { - serializedName: "properties.desiredState", + value: { + serializedName: "value", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "Inherit", - "Custom", - "Auto", - "Unspecified" - ] + name: "Number" } }, - actualState: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.actualState", type: { name: "Enum", - allowedValues: [ - "Inherit", - "Custom", - "Auto", - "Unspecified" - ] + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - options: { - serializedName: "properties.options", + reason: { + serializedName: "reason", type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "AutomaticTuningOptions" - } - } + name: "String" } } } } }; -export const EncryptionProtector: msRest.CompositeMapper = { - serializedName: "EncryptionProtector", +export const MaintenanceConfigurationCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EncryptionProtector", + className: "MaintenanceConfigurationCapability", modelProperties: { - ...ProxyResource.type.modelProperties, - kind: { + name: { + serializedName: "name", readOnly: true, - serializedName: "kind", type: { name: "String" } }, - location: { + zoneRedundant: { + serializedName: "zoneRedundant", readOnly: true, - serializedName: "location", type: { - name: "String" + name: "Boolean" } }, - subregion: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.subregion", type: { - name: "String" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - serverKeyName: { - serializedName: "properties.serverKeyName", + reason: { + serializedName: "reason", type: { name: "String" } - }, - serverKeyType: { - required: true, - serializedName: "properties.serverKeyType", + } + } + } +}; + +export const ReadScaleCapability: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReadScaleCapability", + modelProperties: { + maxNumberOfReplicas: { + serializedName: "maxNumberOfReplicas", + readOnly: true, type: { - name: "String" + name: "Number" } }, - uri: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.uri", type: { - name: "String" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - thumbprint: { - readOnly: true, - serializedName: "properties.thumbprint", + reason: { + serializedName: "reason", type: { name: "String" } @@ -2443,37 +2904,28 @@ export const EncryptionProtector: msRest.CompositeMapper = { } }; -export const FailoverGroupReadWriteEndpoint: msRest.CompositeMapper = { - serializedName: "FailoverGroupReadWriteEndpoint", +export const StorageCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FailoverGroupReadWriteEndpoint", + className: "StorageCapability", modelProperties: { - failoverPolicy: { - required: true, - serializedName: "failoverPolicy", + storageAccountType: { + serializedName: "storageAccountType", + readOnly: true, type: { name: "String" } }, - failoverWithDataLossGracePeriodMinutes: { - serializedName: "failoverWithDataLossGracePeriodMinutes", + status: { + serializedName: "status", + readOnly: true, type: { - name: "Number" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } - } - } - } -}; - -export const FailoverGroupReadOnlyEndpoint: msRest.CompositeMapper = { - serializedName: "FailoverGroupReadOnlyEndpoint", - type: { - name: "Composite", - className: "FailoverGroupReadOnlyEndpoint", - modelProperties: { - failoverPolicy: { - serializedName: "failoverPolicy", + }, + reason: { + serializedName: "reason", type: { name: "String" } @@ -2482,29 +2934,48 @@ export const FailoverGroupReadOnlyEndpoint: msRest.CompositeMapper = { } }; -export const PartnerInfo: msRest.CompositeMapper = { - serializedName: "PartnerInfo", +export const ElasticPoolEditionCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PartnerInfo", + className: "ElasticPoolEditionCapability", modelProperties: { - id: { - required: true, - serializedName: "id", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - location: { + supportedElasticPoolPerformanceLevels: { + serializedName: "supportedElasticPoolPerformanceLevels", readOnly: true, - serializedName: "location", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ElasticPoolPerformanceLevelCapability" + } + } } }, - replicationRole: { + zoneRedundant: { + serializedName: "zoneRedundant", readOnly: true, - serializedName: "replicationRole", + type: { + name: "Boolean" + } + }, + status: { + serializedName: "status", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", type: { name: "String" } @@ -2513,164 +2984,208 @@ export const PartnerInfo: msRest.CompositeMapper = { } }; -export const FailoverGroup: msRest.CompositeMapper = { - serializedName: "FailoverGroup", +export const ElasticPoolPerformanceLevelCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FailoverGroup", + className: "ElasticPoolPerformanceLevelCapability", modelProperties: { - ...ProxyResource.type.modelProperties, - location: { - readOnly: true, - serializedName: "location", + performanceLevel: { + serializedName: "performanceLevel", type: { - name: "String" + name: "Composite", + className: "PerformanceLevelCapability" } }, - tags: { - serializedName: "tags", + sku: { + serializedName: "sku", type: { - name: "Dictionary", - value: { + name: "Composite", + className: "Sku" + } + }, + supportedLicenseTypes: { + serializedName: "supportedLicenseTypes", + readOnly: true, + type: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "LicenseTypeCapability" } } } }, - readWriteEndpoint: { - required: true, - serializedName: "properties.readWriteEndpoint", + maxDatabaseCount: { + serializedName: "maxDatabaseCount", + readOnly: true, type: { - name: "Composite", - className: "FailoverGroupReadWriteEndpoint" + name: "Number" } }, - readOnlyEndpoint: { - serializedName: "properties.readOnlyEndpoint", + includedMaxSize: { + serializedName: "includedMaxSize", type: { name: "Composite", - className: "FailoverGroupReadOnlyEndpoint" + className: "MaxSizeCapability" } }, - replicationRole: { + supportedMaxSizes: { + serializedName: "supportedMaxSizes", readOnly: true, - serializedName: "properties.replicationRole", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MaxSizeRangeCapability" + } + } } }, - replicationState: { + supportedPerDatabaseMaxSizes: { + serializedName: "supportedPerDatabaseMaxSizes", readOnly: true, - serializedName: "properties.replicationState", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MaxSizeRangeCapability" + } + } } }, - partnerServers: { - required: true, - serializedName: "properties.partnerServers", + supportedPerDatabaseMaxPerformanceLevels: { + serializedName: "supportedPerDatabaseMaxPerformanceLevels", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "PartnerInfo" + className: "ElasticPoolPerDatabaseMaxPerformanceLevelCapability" } } } }, - databases: { - serializedName: "properties.databases", + zoneRedundant: { + serializedName: "zoneRedundant", + readOnly: true, + type: { + name: "Boolean" + } + }, + supportedMaintenanceConfigurations: { + serializedName: "supportedMaintenanceConfigurations", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "MaintenanceConfigurationCapability" } } } + }, + status: { + serializedName: "status", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" + } } } } }; -export const FailoverGroupUpdate: msRest.CompositeMapper = { - serializedName: "FailoverGroupUpdate", +export const ElasticPoolPerDatabaseMaxPerformanceLevelCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FailoverGroupUpdate", + className: "ElasticPoolPerDatabaseMaxPerformanceLevelCapability", modelProperties: { - readWriteEndpoint: { - serializedName: "properties.readWriteEndpoint", + limit: { + serializedName: "limit", + readOnly: true, type: { - name: "Composite", - className: "FailoverGroupReadWriteEndpoint" + name: "Number" } }, - readOnlyEndpoint: { - serializedName: "properties.readOnlyEndpoint", + unit: { + serializedName: "unit", + readOnly: true, type: { - name: "Composite", - className: "FailoverGroupReadOnlyEndpoint" + name: "String" } }, - databases: { - serializedName: "properties.databases", + supportedPerDatabaseMinPerformanceLevels: { + serializedName: "supportedPerDatabaseMinPerformanceLevels", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ElasticPoolPerDatabaseMinPerformanceLevelCapability" } } } }, - tags: { - serializedName: "tags", + status: { + serializedName: "status", + readOnly: true, type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" } } } } }; -export const OperationDisplay: msRest.CompositeMapper = { - serializedName: "OperationDisplay", +export const ElasticPoolPerDatabaseMinPerformanceLevelCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OperationDisplay", + className: "ElasticPoolPerDatabaseMinPerformanceLevelCapability", modelProperties: { - provider: { + limit: { + serializedName: "limit", readOnly: true, - serializedName: "provider", type: { - name: "String" + name: "Number" } }, - resource: { + unit: { + serializedName: "unit", readOnly: true, - serializedName: "resource", type: { name: "String" } }, - operation: { + status: { + serializedName: "status", readOnly: true, - serializedName: "operation", type: { - name: "String" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - description: { - readOnly: true, - serializedName: "description", + reason: { + serializedName: "reason", type: { name: "String" } @@ -2679,185 +3194,180 @@ export const OperationDisplay: msRest.CompositeMapper = { } }; -export const Operation: msRest.CompositeMapper = { - serializedName: "Operation", +export const ManagedInstanceVersionCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Operation", + className: "ManagedInstanceVersionCapability", modelProperties: { name: { - readOnly: true, serializedName: "name", + readOnly: true, type: { name: "String" } }, - display: { + supportedEditions: { + serializedName: "supportedEditions", readOnly: true, - serializedName: "display", type: { - name: "Composite", - className: "OperationDisplay" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceEditionCapability" + } + } } }, - origin: { + supportedInstancePoolEditions: { + serializedName: "supportedInstancePoolEditions", readOnly: true, - serializedName: "origin", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstancePoolEditionCapability" + } + } } }, - properties: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties", type: { - name: "Dictionary", - value: { - type: { - name: "Object" - } - } + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" } } } } }; -export const ServerKey: msRest.CompositeMapper = { - serializedName: "ServerKey", +export const ManagedInstanceEditionCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerKey", + className: "ManagedInstanceEditionCapability", modelProperties: { - ...ProxyResource.type.modelProperties, - kind: { - serializedName: "kind", - type: { - name: "String" - } - }, - location: { + name: { + serializedName: "name", readOnly: true, - serializedName: "location", type: { name: "String" } }, - subregion: { + supportedFamilies: { + serializedName: "supportedFamilies", readOnly: true, - serializedName: "properties.subregion", type: { - name: "String" - } - }, - serverKeyType: { - required: true, - serializedName: "properties.serverKeyType", - type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceFamilyCapability" + } + } } }, - uri: { - serializedName: "properties.uri", + supportedStorageCapabilities: { + serializedName: "supportedStorageCapabilities", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StorageCapability" + } + } } }, - thumbprint: { - serializedName: "properties.thumbprint", + zoneRedundant: { + serializedName: "zoneRedundant", + readOnly: true, type: { - name: "String" + name: "Boolean" } }, - creationDate: { - serializedName: "properties.creationDate", - type: { - name: "DateTime" - } - } - } - } -}; - -export const ResourceIdentity: msRest.CompositeMapper = { - serializedName: "ResourceIdentity", - type: { - name: "Composite", - className: "ResourceIdentity", - modelProperties: { - principalId: { + status: { + serializedName: "status", readOnly: true, - serializedName: "principalId", type: { - name: "Uuid" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - type: { - serializedName: "type", + reason: { + serializedName: "reason", type: { name: "String" } - }, - tenantId: { - readOnly: true, - serializedName: "tenantId", - type: { - name: "Uuid" - } } } } }; -export const Server: msRest.CompositeMapper = { - serializedName: "Server", +export const ManagedInstanceFamilyCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Server", + className: "ManagedInstanceFamilyCapability", modelProperties: { - ...TrackedResource.type.modelProperties, - identity: { - serializedName: "identity", - type: { - name: "Composite", - className: "ResourceIdentity" - } - }, - kind: { + name: { + serializedName: "name", readOnly: true, - serializedName: "kind", type: { name: "String" } }, - administratorLogin: { - serializedName: "properties.administratorLogin", + sku: { + serializedName: "sku", + readOnly: true, type: { name: "String" } }, - administratorLoginPassword: { - serializedName: "properties.administratorLoginPassword", + supportedLicenseTypes: { + serializedName: "supportedLicenseTypes", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LicenseTypeCapability" + } + } } }, - version: { - serializedName: "properties.version", + supportedVcoresValues: { + serializedName: "supportedVcoresValues", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceVcoresCapability" + } + } } }, - state: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.state", type: { - name: "String" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - fullyQualifiedDomainName: { - readOnly: true, - serializedName: "properties.fullyQualifiedDomainName", + reason: { + serializedName: "reason", type: { name: "String" } @@ -2866,110 +3376,155 @@ export const Server: msRest.CompositeMapper = { } }; -export const ServerUpdate: msRest.CompositeMapper = { - serializedName: "ServerUpdate", +export const ManagedInstanceVcoresCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerUpdate", + className: "ManagedInstanceVcoresCapability", modelProperties: { - administratorLogin: { - serializedName: "properties.administratorLogin", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - administratorLoginPassword: { - serializedName: "properties.administratorLoginPassword", + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Number" } }, - version: { - serializedName: "properties.version", + includedMaxSize: { + serializedName: "includedMaxSize", type: { - name: "String" + name: "Composite", + className: "MaxSizeCapability" } }, - state: { + supportedStorageSizes: { + serializedName: "supportedStorageSizes", readOnly: true, - serializedName: "properties.state", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MaxSizeRangeCapability" + } + } } }, - fullyQualifiedDomainName: { + instancePoolSupported: { + serializedName: "instancePoolSupported", readOnly: true, - serializedName: "properties.fullyQualifiedDomainName", type: { - name: "String" + name: "Boolean" } }, - tags: { - serializedName: "tags", + standaloneSupported: { + serializedName: "standaloneSupported", + readOnly: true, type: { - name: "Dictionary", - value: { + name: "Boolean" + } + }, + supportedMaintenanceConfigurations: { + serializedName: "supportedMaintenanceConfigurations", + readOnly: true, + type: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "ManagedInstanceMaintenanceConfigurationCapability" } } } + }, + status: { + serializedName: "status", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" + } } } } }; -export const SyncAgent: msRest.CompositeMapper = { - serializedName: "SyncAgent", +export const ManagedInstanceMaintenanceConfigurationCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncAgent", + className: "ManagedInstanceMaintenanceConfigurationCapability", modelProperties: { - ...ProxyResource.type.modelProperties, - syncAgentName: { + name: { + serializedName: "name", readOnly: true, - serializedName: "properties.name", type: { name: "String" } }, - syncDatabaseId: { - serializedName: "properties.syncDatabaseId", + status: { + serializedName: "status", + readOnly: true, type: { - name: "String" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - lastAliveTime: { - readOnly: true, - serializedName: "properties.lastAliveTime", + reason: { + serializedName: "reason", type: { - name: "DateTime" + name: "String" } - }, - state: { + } + } + } +}; + +export const InstancePoolEditionCapability: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InstancePoolEditionCapability", + modelProperties: { + name: { + serializedName: "name", readOnly: true, - serializedName: "properties.state", type: { name: "String" } }, - isUpToDate: { + supportedFamilies: { + serializedName: "supportedFamilies", readOnly: true, - serializedName: "properties.isUpToDate", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstancePoolFamilyCapability" + } + } } }, - expiryTime: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.expiryTime", type: { - name: "DateTime" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - version: { - readOnly: true, - serializedName: "properties.version", + reason: { + serializedName: "reason", type: { name: "String" } @@ -2978,68 +3533,54 @@ export const SyncAgent: msRest.CompositeMapper = { } }; -export const SyncAgentKeyProperties: msRest.CompositeMapper = { - serializedName: "SyncAgentKeyProperties", +export const InstancePoolFamilyCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncAgentKeyProperties", + className: "InstancePoolFamilyCapability", modelProperties: { - syncAgentKey: { + name: { + serializedName: "name", readOnly: true, - serializedName: "syncAgentKey", type: { name: "String" } - } - } - } -}; - -export const SyncAgentLinkedDatabase: msRest.CompositeMapper = { - serializedName: "SyncAgentLinkedDatabase", - type: { - name: "Composite", - className: "SyncAgentLinkedDatabase", - modelProperties: { - ...ProxyResource.type.modelProperties, - databaseType: { + }, + supportedLicenseTypes: { + serializedName: "supportedLicenseTypes", readOnly: true, - serializedName: "properties.databaseType", - type: { - name: "String" - } - }, - databaseId: { - readOnly: true, - serializedName: "properties.databaseId", type: { - name: "String" - } - }, - description: { - readOnly: true, - serializedName: "properties.description", - type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LicenseTypeCapability" + } + } } }, - serverName: { + supportedVcoresValues: { + serializedName: "supportedVcoresValues", readOnly: true, - serializedName: "properties.serverName", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstancePoolVcoresCapability" + } + } } }, - databaseName: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.databaseName", type: { - name: "String" + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] } }, - userName: { - readOnly: true, - serializedName: "properties.userName", + reason: { + serializedName: "reason", type: { name: "String" } @@ -3048,15 +3589,42 @@ export const SyncAgentLinkedDatabase: msRest.CompositeMapper = { } }; -export const SyncDatabaseIdProperties: msRest.CompositeMapper = { - serializedName: "SyncDatabaseIdProperties", +export const InstancePoolVcoresCapability: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncDatabaseIdProperties", + className: "InstancePoolVcoresCapability", modelProperties: { - id: { + name: { + serializedName: "name", readOnly: true, - serializedName: "id", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Number" + } + }, + storageLimit: { + serializedName: "storageLimit", + type: { + name: "Composite", + className: "MaxSizeCapability" + } + }, + status: { + serializedName: "status", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Visible", "Available", "Default", "Disabled"] + } + }, + reason: { + serializedName: "reason", type: { name: "String" } @@ -3065,57 +3633,58 @@ export const SyncDatabaseIdProperties: msRest.CompositeMapper = { } }; -export const SyncFullSchemaTableColumn: msRest.CompositeMapper = { - serializedName: "SyncFullSchemaTableColumn", +export const CopyLongTermRetentionBackupParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncFullSchemaTableColumn", + className: "CopyLongTermRetentionBackupParameters", modelProperties: { - dataSize: { - readOnly: true, - serializedName: "dataSize", + targetSubscriptionId: { + serializedName: "properties.targetSubscriptionId", type: { name: "String" } }, - dataType: { - readOnly: true, - serializedName: "dataType", + targetResourceGroup: { + serializedName: "properties.targetResourceGroup", type: { name: "String" } }, - errorId: { - readOnly: true, - serializedName: "errorId", + targetServerResourceId: { + serializedName: "properties.targetServerResourceId", type: { name: "String" } }, - hasError: { - readOnly: true, - serializedName: "hasError", + targetServerFullyQualifiedDomainName: { + serializedName: "properties.targetServerFullyQualifiedDomainName", type: { - name: "Boolean" + name: "String" } }, - isPrimaryKey: { - readOnly: true, - serializedName: "isPrimaryKey", + targetDatabaseName: { + serializedName: "properties.targetDatabaseName", type: { - name: "Boolean" + name: "String" } }, - name: { - readOnly: true, - serializedName: "name", + targetBackupStorageRedundancy: { + serializedName: "properties.targetBackupStorageRedundancy", type: { name: "String" } - }, - quotedName: { - readOnly: true, - serializedName: "quotedName", + } + } + } +}; + +export const UpdateLongTermRetentionBackupParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateLongTermRetentionBackupParameters", + modelProperties: { + requestedBackupStorageRedundancy: { + serializedName: "properties.requestedBackupStorageRedundancy", type: { name: "String" } @@ -3124,49 +3693,27 @@ export const SyncFullSchemaTableColumn: msRest.CompositeMapper = { } }; -export const SyncFullSchemaTable: msRest.CompositeMapper = { - serializedName: "SyncFullSchemaTable", +export const LongTermRetentionBackupListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncFullSchemaTable", + className: "LongTermRetentionBackupListResult", modelProperties: { - columns: { + value: { + serializedName: "value", readOnly: true, - serializedName: "columns", type: { name: "Sequence", element: { type: { name: "Composite", - className: "SyncFullSchemaTableColumn" + className: "LongTermRetentionBackup" } } } }, - errorId: { - readOnly: true, - serializedName: "errorId", - type: { - name: "String" - } - }, - hasError: { - readOnly: true, - serializedName: "hasError", - type: { - name: "Boolean" - } - }, - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" - } - }, - quotedName: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "quotedName", type: { name: "String" } @@ -3175,80 +3722,56 @@ export const SyncFullSchemaTable: msRest.CompositeMapper = { } }; -export const SyncFullSchemaProperties: msRest.CompositeMapper = { - serializedName: "SyncFullSchemaProperties", +export const ManagedInstanceLongTermRetentionBackupListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncFullSchemaProperties", + className: "ManagedInstanceLongTermRetentionBackupListResult", modelProperties: { - tables: { + value: { + serializedName: "value", readOnly: true, - serializedName: "tables", type: { name: "Sequence", element: { type: { name: "Composite", - className: "SyncFullSchemaTable" + className: "ManagedInstanceLongTermRetentionBackup" } } } }, - lastUpdateTime: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "lastUpdateTime", type: { - name: "DateTime" + name: "String" } } } } }; -export const SyncGroupLogProperties: msRest.CompositeMapper = { - serializedName: "SyncGroupLogProperties", +export const LongTermRetentionPolicyListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncGroupLogProperties", + className: "LongTermRetentionPolicyListResult", modelProperties: { - timestamp: { - readOnly: true, - serializedName: "timestamp", - type: { - name: "DateTime" - } - }, - type: { - readOnly: true, - serializedName: "type", - type: { - name: "String" - } - }, - source: { - readOnly: true, - serializedName: "source", - type: { - name: "String" - } - }, - details: { - readOnly: true, - serializedName: "details", - type: { - name: "String" - } - }, - tracingId: { + value: { + serializedName: "value", readOnly: true, - serializedName: "tracingId", type: { - name: "Uuid" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LongTermRetentionPolicy" + } + } } }, - operationStatus: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "operationStatus", type: { name: "String" } @@ -3257,26 +3780,25 @@ export const SyncGroupLogProperties: msRest.CompositeMapper = { } }; -export const SyncGroupSchemaTableColumn: msRest.CompositeMapper = { - serializedName: "SyncGroupSchemaTableColumn", +export const MaintenanceWindowTimeRange: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncGroupSchemaTableColumn", + className: "MaintenanceWindowTimeRange", modelProperties: { - quotedName: { - serializedName: "quotedName", + dayOfWeek: { + serializedName: "dayOfWeek", type: { name: "String" } }, - dataSize: { - serializedName: "dataSize", + startTime: { + serializedName: "startTime", type: { name: "String" } }, - dataType: { - serializedName: "dataType", + duration: { + serializedName: "duration", type: { name: "String" } @@ -3285,26 +3807,27 @@ export const SyncGroupSchemaTableColumn: msRest.CompositeMapper = { } }; -export const SyncGroupSchemaTable: msRest.CompositeMapper = { - serializedName: "SyncGroupSchemaTable", +export const ManagedBackupShortTermRetentionPolicyListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncGroupSchemaTable", + className: "ManagedBackupShortTermRetentionPolicyListResult", modelProperties: { - columns: { - serializedName: "columns", + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "SyncGroupSchemaTableColumn" + className: "ManagedBackupShortTermRetentionPolicy" } } } }, - quotedName: { - serializedName: "quotedName", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -3313,26 +3836,27 @@ export const SyncGroupSchemaTable: msRest.CompositeMapper = { } }; -export const SyncGroupSchema: msRest.CompositeMapper = { - serializedName: "SyncGroupSchema", +export const ManagedInstanceQueryStatistics: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncGroupSchema", + className: "ManagedInstanceQueryStatistics", modelProperties: { - tables: { - serializedName: "tables", + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "SyncGroupSchemaTable" + className: "QueryStatistics" } } } }, - masterSyncMemberName: { - serializedName: "masterSyncMemberName", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -3341,619 +3865,495 @@ export const SyncGroupSchema: msRest.CompositeMapper = { } }; -export const SyncGroup: msRest.CompositeMapper = { - serializedName: "SyncGroup", +export const QueryStatisticsProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncGroup", + className: "QueryStatisticsProperties", modelProperties: { - ...ProxyResource.type.modelProperties, - interval: { - serializedName: "properties.interval", - type: { - name: "Number" - } - }, - lastSyncTime: { + databaseName: { + serializedName: "databaseName", readOnly: true, - serializedName: "properties.lastSyncTime", type: { - name: "DateTime" + name: "String" } }, - conflictResolutionPolicy: { - serializedName: "properties.conflictResolutionPolicy", + queryId: { + serializedName: "queryId", + readOnly: true, type: { name: "String" } }, - syncDatabaseId: { - serializedName: "properties.syncDatabaseId", + startTime: { + serializedName: "startTime", + readOnly: true, type: { name: "String" } }, - hubDatabaseUserName: { - serializedName: "properties.hubDatabaseUserName", - type: { - name: "String" - } - }, - hubDatabasePassword: { - serializedName: "properties.hubDatabasePassword", - type: { - name: "String" - } - }, - syncState: { + endTime: { + serializedName: "endTime", readOnly: true, - serializedName: "properties.syncState", type: { name: "String" } }, - schema: { - serializedName: "properties.schema", + intervals: { + serializedName: "intervals", type: { - name: "Composite", - className: "SyncGroupSchema" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QueryMetricInterval" + } + } } } } } }; -export const SyncMember: msRest.CompositeMapper = { - serializedName: "SyncMember", +export const QueryMetricInterval: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncMember", + className: "QueryMetricInterval", modelProperties: { - ...ProxyResource.type.modelProperties, - databaseType: { - serializedName: "properties.databaseType", + intervalStartTime: { + serializedName: "intervalStartTime", + readOnly: true, type: { name: "String" } }, - syncAgentId: { - serializedName: "properties.syncAgentId", + intervalType: { + serializedName: "intervalType", + readOnly: true, type: { name: "String" } }, - sqlServerDatabaseId: { - serializedName: "properties.sqlServerDatabaseId", + executionCount: { + serializedName: "executionCount", + readOnly: true, type: { - name: "Uuid" + name: "Number" } }, - serverName: { - serializedName: "properties.serverName", + metrics: { + serializedName: "metrics", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QueryMetricProperties" + } + } } - }, - databaseName: { - serializedName: "properties.databaseName", + } + } + } +}; + +export const QueryMetricProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "QueryMetricProperties", + modelProperties: { + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - userName: { - serializedName: "properties.userName", + displayName: { + serializedName: "displayName", + readOnly: true, type: { name: "String" } }, - password: { - serializedName: "properties.password", + unit: { + serializedName: "unit", + readOnly: true, type: { name: "String" } }, - syncDirection: { - serializedName: "properties.syncDirection", + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Number" } }, - syncState: { + min: { + serializedName: "min", readOnly: true, - serializedName: "properties.syncState", type: { - name: "String" + name: "Number" } - } - } - } -}; - -export const SubscriptionUsage: msRest.CompositeMapper = { - serializedName: "SubscriptionUsage", - type: { - name: "Composite", - className: "SubscriptionUsage", - modelProperties: { - ...ProxyResource.type.modelProperties, - displayName: { + }, + max: { + serializedName: "max", readOnly: true, - serializedName: "properties.displayName", type: { - name: "String" + name: "Number" } }, - currentValue: { + avg: { + serializedName: "avg", readOnly: true, - serializedName: "properties.currentValue", type: { name: "Number" } }, - limit: { + sum: { + serializedName: "sum", readOnly: true, - serializedName: "properties.limit", type: { name: "Number" } }, - unit: { + stdev: { + serializedName: "stdev", readOnly: true, - serializedName: "properties.unit", type: { - name: "String" + name: "Number" } } } } }; -export const VirtualCluster: msRest.CompositeMapper = { - serializedName: "VirtualCluster", +export const ManagedDatabaseListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VirtualCluster", + className: "ManagedDatabaseListResult", modelProperties: { - ...TrackedResource.type.modelProperties, - subnetId: { - readOnly: true, - serializedName: "properties.subnetId", - type: { - name: "String" - } - }, - family: { - serializedName: "properties.family", - type: { - name: "String" - } - }, - childResources: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.childResources", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ManagedDatabase" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } }; -export const VirtualClusterUpdate: msRest.CompositeMapper = { - serializedName: "VirtualClusterUpdate", +export const ManagedDatabaseUpdate: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VirtualClusterUpdate", + className: "ManagedDatabaseUpdate", modelProperties: { - subnetId: { - readOnly: true, - serializedName: "properties.subnetId", + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - family: { - serializedName: "properties.family", + collation: { + serializedName: "properties.collation", type: { name: "String" } }, - childResources: { + status: { + serializedName: "properties.status", readOnly: true, - serializedName: "properties.childResources", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - tags: { - serializedName: "tags", + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "DateTime" } - } - } - } -}; - -export const VirtualNetworkRule: msRest.CompositeMapper = { - serializedName: "VirtualNetworkRule", - type: { - name: "Composite", - className: "VirtualNetworkRule", - modelProperties: { - ...ProxyResource.type.modelProperties, - virtualNetworkSubnetId: { - required: true, - serializedName: "properties.virtualNetworkSubnetId", + }, + earliestRestorePoint: { + serializedName: "properties.earliestRestorePoint", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - ignoreMissingVnetServiceEndpoint: { - serializedName: "properties.ignoreMissingVnetServiceEndpoint", + restorePointInTime: { + serializedName: "properties.restorePointInTime", type: { - name: "Boolean" + name: "DateTime" } }, - state: { + defaultSecondaryLocation: { + serializedName: "properties.defaultSecondaryLocation", readOnly: true, - serializedName: "properties.state", type: { name: "String" } - } - } - } -}; - -export const ExtendedDatabaseBlobAuditingPolicy: msRest.CompositeMapper = { - serializedName: "ExtendedDatabaseBlobAuditingPolicy", - type: { - name: "Composite", - className: "ExtendedDatabaseBlobAuditingPolicy", - modelProperties: { - ...ProxyResource.type.modelProperties, - predicateExpression: { - serializedName: "properties.predicateExpression", + }, + catalogCollation: { + serializedName: "properties.catalogCollation", type: { name: "String" } }, - state: { - required: true, - serializedName: "properties.state", + createMode: { + serializedName: "properties.createMode", type: { - name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] + name: "String" } }, - storageEndpoint: { - serializedName: "properties.storageEndpoint", + storageContainerUri: { + serializedName: "properties.storageContainerUri", type: { name: "String" } }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", + sourceDatabaseId: { + serializedName: "properties.sourceDatabaseId", type: { name: "String" } }, - retentionDays: { - serializedName: "properties.retentionDays", + restorableDroppedDatabaseId: { + serializedName: "properties.restorableDroppedDatabaseId", type: { - name: "Number" + name: "String" } }, - auditActionsAndGroups: { - serializedName: "properties.auditActionsAndGroups", + storageContainerSasToken: { + serializedName: "properties.storageContainerSasToken", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - storageAccountSubscriptionId: { - serializedName: "properties.storageAccountSubscriptionId", + failoverGroupId: { + serializedName: "properties.failoverGroupId", + readOnly: true, type: { - name: "Uuid" + name: "String" } }, - isStorageSecondaryKeyInUse: { - serializedName: "properties.isStorageSecondaryKeyInUse", + recoverableDatabaseId: { + serializedName: "properties.recoverableDatabaseId", type: { - name: "Boolean" + name: "String" } }, - isAzureMonitorTargetEnabled: { - serializedName: "properties.isAzureMonitorTargetEnabled", + longTermRetentionBackupResourceId: { + serializedName: "properties.longTermRetentionBackupResourceId", + type: { + name: "String" + } + }, + autoCompleteRestore: { + serializedName: "properties.autoCompleteRestore", type: { name: "Boolean" } + }, + lastBackupName: { + serializedName: "properties.lastBackupName", + type: { + name: "String" + } } } } }; -export const ExtendedServerBlobAuditingPolicy: msRest.CompositeMapper = { - serializedName: "ExtendedServerBlobAuditingPolicy", +export const CompleteDatabaseRestoreDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExtendedServerBlobAuditingPolicy", + className: "CompleteDatabaseRestoreDefinition", modelProperties: { - ...ProxyResource.type.modelProperties, - predicateExpression: { - serializedName: "properties.predicateExpression", - type: { - name: "String" - } - }, - state: { + lastBackupName: { + serializedName: "lastBackupName", required: true, - serializedName: "properties.state", - type: { - name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] - } - }, - storageEndpoint: { - serializedName: "properties.storageEndpoint", - type: { - name: "String" - } - }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", type: { name: "String" } - }, - retentionDays: { - serializedName: "properties.retentionDays", - type: { - name: "Number" - } - }, - auditActionsAndGroups: { - serializedName: "properties.auditActionsAndGroups", + } + } + } +}; + +export const ManagedDatabaseSecurityAlertPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedDatabaseSecurityAlertPolicyListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ManagedDatabaseSecurityAlertPolicy" } } } }, - storageAccountSubscriptionId: { - serializedName: "properties.storageAccountSubscriptionId", - type: { - name: "Uuid" - } - }, - isStorageSecondaryKeyInUse: { - serializedName: "properties.isStorageSecondaryKeyInUse", - type: { - name: "Boolean" - } - }, - isAzureMonitorTargetEnabled: { - serializedName: "properties.isAzureMonitorTargetEnabled", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { - name: "Boolean" + name: "String" } } } } }; -export const ServerBlobAuditingPolicy: msRest.CompositeMapper = { - serializedName: "ServerBlobAuditingPolicy", +export const SecurityEventCollection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerBlobAuditingPolicy", + className: "SecurityEventCollection", modelProperties: { - ...ProxyResource.type.modelProperties, - state: { - required: true, - serializedName: "properties.state", - type: { - name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] - } - }, - storageEndpoint: { - serializedName: "properties.storageEndpoint", - type: { - name: "String" - } - }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", - type: { - name: "String" - } - }, - retentionDays: { - serializedName: "properties.retentionDays", - type: { - name: "Number" - } - }, - auditActionsAndGroups: { - serializedName: "properties.auditActionsAndGroups", + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "SecurityEvent" } } } }, - storageAccountSubscriptionId: { - serializedName: "properties.storageAccountSubscriptionId", - type: { - name: "Uuid" - } - }, - isStorageSecondaryKeyInUse: { - serializedName: "properties.isStorageSecondaryKeyInUse", - type: { - name: "Boolean" - } - }, - isAzureMonitorTargetEnabled: { - serializedName: "properties.isAzureMonitorTargetEnabled", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { - name: "Boolean" + name: "String" } } } } }; -export const DatabaseBlobAuditingPolicy: msRest.CompositeMapper = { - serializedName: "DatabaseBlobAuditingPolicy", +export const SecurityEventSqlInjectionAdditionalProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseBlobAuditingPolicy", + className: "SecurityEventSqlInjectionAdditionalProperties", modelProperties: { - ...ProxyResource.type.modelProperties, - kind: { + threatId: { + serializedName: "threatId", readOnly: true, - serializedName: "kind", - type: { - name: "String" - } - }, - state: { - required: true, - serializedName: "properties.state", - type: { - name: "Enum", - allowedValues: [ - "Enabled", - "Disabled" - ] - } - }, - storageEndpoint: { - serializedName: "properties.storageEndpoint", type: { name: "String" } }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", + statement: { + serializedName: "statement", + readOnly: true, type: { name: "String" } }, - retentionDays: { - serializedName: "properties.retentionDays", + statementHighlightOffset: { + serializedName: "statementHighlightOffset", + readOnly: true, type: { name: "Number" } }, - auditActionsAndGroups: { - serializedName: "properties.auditActionsAndGroups", + statementHighlightLength: { + serializedName: "statementHighlightLength", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" } }, - storageAccountSubscriptionId: { - serializedName: "properties.storageAccountSubscriptionId", + errorCode: { + serializedName: "errorCode", + readOnly: true, type: { - name: "Uuid" + name: "Number" } }, - isStorageSecondaryKeyInUse: { - serializedName: "properties.isStorageSecondaryKeyInUse", + errorSeverity: { + serializedName: "errorSeverity", + readOnly: true, type: { - name: "Boolean" + name: "Number" } }, - isAzureMonitorTargetEnabled: { - serializedName: "properties.isAzureMonitorTargetEnabled", + errorMessage: { + serializedName: "errorMessage", + readOnly: true, type: { - name: "Boolean" + name: "String" } } } } }; -export const DatabaseVulnerabilityAssessmentRuleBaselineItem: msRest.CompositeMapper = { - serializedName: "DatabaseVulnerabilityAssessmentRuleBaselineItem", +export const SensitivityLabelListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseVulnerabilityAssessmentRuleBaselineItem", + className: "SensitivityLabelListResult", modelProperties: { - result: { - required: true, - serializedName: "result", + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "SensitivityLabel" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } }; -export const DatabaseVulnerabilityAssessmentRuleBaseline: msRest.CompositeMapper = { - serializedName: "DatabaseVulnerabilityAssessmentRuleBaseline", +export const SensitivityLabelUpdateList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseVulnerabilityAssessmentRuleBaseline", + className: "SensitivityLabelUpdateList", modelProperties: { - ...ProxyResource.type.modelProperties, - baselineResults: { - required: true, - serializedName: "properties.baselineResults", + operations: { + serializedName: "operations", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DatabaseVulnerabilityAssessmentRuleBaselineItem" + className: "SensitivityLabelUpdate" } } } @@ -3962,32 +4362,19 @@ export const DatabaseVulnerabilityAssessmentRuleBaseline: msRest.CompositeMapper } }; -export const VulnerabilityAssessmentRecurringScansProperties: msRest.CompositeMapper = { - serializedName: "VulnerabilityAssessmentRecurringScansProperties", +export const RecommendedSensitivityLabelUpdateList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VulnerabilityAssessmentRecurringScansProperties", + className: "RecommendedSensitivityLabelUpdateList", modelProperties: { - isEnabled: { - serializedName: "isEnabled", - type: { - name: "Boolean" - } - }, - emailSubscriptionAdmins: { - serializedName: "emailSubscriptionAdmins", - defaultValue: true, - type: { - name: "Boolean" - } - }, - emails: { - serializedName: "emails", + operations: { + serializedName: "operations", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "RecommendedSensitivityLabelUpdate" } } } @@ -3996,107 +4383,85 @@ export const VulnerabilityAssessmentRecurringScansProperties: msRest.CompositeMa } }; -export const DatabaseVulnerabilityAssessment: msRest.CompositeMapper = { - serializedName: "DatabaseVulnerabilityAssessment", +export const ManagedTransparentDataEncryptionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseVulnerabilityAssessment", + className: "ManagedTransparentDataEncryptionListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - storageContainerPath: { - serializedName: "properties.storageContainerPath", + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedTransparentDataEncryption" + } + } } }, - storageContainerSasKey: { - serializedName: "properties.storageContainerSasKey", - type: { - name: "String" - } - }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - recurringScans: { - serializedName: "properties.recurringScans", - type: { - name: "Composite", - className: "VulnerabilityAssessmentRecurringScansProperties" - } } } } }; -export const Sku: msRest.CompositeMapper = { - serializedName: "Sku", +export const ManagedInstanceAdministratorListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Sku", + className: "ManagedInstanceAdministratorListResult", modelProperties: { - name: { - required: true, - serializedName: "name", - type: { - name: "String" - } - }, - tier: { - serializedName: "tier", - type: { - name: "String" - } - }, - size: { - serializedName: "size", + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceAdministrator" + } + } } }, - family: { - serializedName: "family", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - capacity: { - serializedName: "capacity", - type: { - name: "Number" - } } } } }; -export const JobAgent: msRest.CompositeMapper = { - serializedName: "JobAgent", +export const ManagedInstanceAzureADOnlyAuthListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobAgent", + className: "ManagedInstanceAzureADOnlyAuthListResult", modelProperties: { - ...TrackedResource.type.modelProperties, - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "Sku" - } - }, - databaseId: { - required: true, - serializedName: "properties.databaseId", + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceAzureADOnlyAuthentication" + } + } } }, - state: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.state", type: { name: "String" } @@ -4105,44 +4470,56 @@ export const JobAgent: msRest.CompositeMapper = { } }; -export const JobAgentUpdate: msRest.CompositeMapper = { - serializedName: "JobAgentUpdate", +export const ManagedInstanceEncryptionProtectorListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobAgentUpdate", + className: "ManagedInstanceEncryptionProtectorListResult", modelProperties: { - tags: { - serializedName: "tags", + value: { + serializedName: "value", + readOnly: true, type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "ManagedInstanceEncryptionProtector" } } } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } }; -export const JobCredential: msRest.CompositeMapper = { - serializedName: "JobCredential", +export const ManagedInstanceKeyListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobCredential", + className: "ManagedInstanceKeyListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - username: { - required: true, - serializedName: "properties.username", + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceKey" + } + } } }, - password: { - required: true, - serializedName: "properties.password", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -4151,29 +4528,27 @@ export const JobCredential: msRest.CompositeMapper = { } }; -export const JobExecutionTarget: msRest.CompositeMapper = { - serializedName: "JobExecutionTarget", +export const ManagedInstanceLongTermRetentionPolicyListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobExecutionTarget", + className: "ManagedInstanceLongTermRetentionPolicyListResult", modelProperties: { - type: { - readOnly: true, - serializedName: "type", - type: { - name: "String" - } - }, - serverName: { + value: { + serializedName: "value", readOnly: true, - serializedName: "serverName", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceLongTermRetentionPolicy" + } + } } }, - databaseName: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "databaseName", type: { name: "String" } @@ -4182,147 +4557,146 @@ export const JobExecutionTarget: msRest.CompositeMapper = { } }; -export const JobExecution: msRest.CompositeMapper = { - serializedName: "JobExecution", +export const ManagedInstanceOperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobExecution", + className: "ManagedInstanceOperationListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - jobVersion: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.jobVersion", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceOperation" + } + } } }, - stepName: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.stepName", type: { name: "String" } - }, - stepId: { - readOnly: true, - serializedName: "properties.stepId", + } + } + } +}; + +export const ManagedInstanceOperationParametersPair: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceOperationParametersPair", + modelProperties: { + currentParameters: { + serializedName: "currentParameters", type: { - name: "Number" + name: "Composite", + className: "UpsertManagedServerOperationParameters" } }, - jobExecutionId: { - readOnly: true, - serializedName: "properties.jobExecutionId", + requestedParameters: { + serializedName: "requestedParameters", type: { - name: "Uuid" + name: "Composite", + className: "UpsertManagedServerOperationParameters" } - }, - lifecycle: { - readOnly: true, - serializedName: "properties.lifecycle", + } + } + } +}; + +export const UpsertManagedServerOperationParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpsertManagedServerOperationParameters", + modelProperties: { + family: { + serializedName: "family", type: { name: "String" } }, - provisioningState: { - readOnly: true, - serializedName: "properties.provisioningState", + tier: { + serializedName: "tier", type: { name: "String" } }, - createTime: { - readOnly: true, - serializedName: "properties.createTime", - type: { - name: "DateTime" - } - }, - startTime: { - readOnly: true, - serializedName: "properties.startTime", - type: { - name: "DateTime" - } - }, - endTime: { - readOnly: true, - serializedName: "properties.endTime", + vCores: { + serializedName: "vCores", type: { - name: "DateTime" + name: "Number" } }, - currentAttempts: { - serializedName: "properties.currentAttempts", + storageSizeInGB: { + serializedName: "storageSizeInGB", type: { name: "Number" } - }, - currentAttemptStartTime: { + } + } + } +}; + +export const ManagedInstanceOperationSteps: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceOperationSteps", + modelProperties: { + totalSteps: { + serializedName: "totalSteps", readOnly: true, - serializedName: "properties.currentAttemptStartTime", type: { - name: "DateTime" + name: "String" } }, - lastMessage: { + currentStep: { + serializedName: "currentStep", readOnly: true, - serializedName: "properties.lastMessage", type: { - name: "String" + name: "Number" } }, - target: { + stepsList: { + serializedName: "stepsList", readOnly: true, - serializedName: "properties.target", type: { - name: "Composite", - className: "JobExecutionTarget" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UpsertManagedServerOperationStep" + } + } } } } } }; -export const JobSchedule: msRest.CompositeMapper = { - serializedName: "JobSchedule", +export const UpsertManagedServerOperationStep: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobSchedule", + className: "UpsertManagedServerOperationStep", modelProperties: { - startTime: { - serializedName: "startTime", - defaultValue: new Date('0001-01-01T00:00:00Z'), - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "endTime", - defaultValue: new Date('9999-12-31T11:59:59Z'), - type: { - name: "DateTime" - } - }, - type: { - serializedName: "type", - defaultValue: 'Once', + order: { + serializedName: "order", type: { - name: "Enum", - allowedValues: [ - "Once", - "Recurring" - ] + name: "Number" } }, - enabled: { - serializedName: "enabled", + name: { + serializedName: "name", type: { - name: "Boolean" + name: "String" } }, - interval: { - serializedName: "interval", + status: { + serializedName: "status", type: { name: "String" } @@ -4331,61 +4705,43 @@ export const JobSchedule: msRest.CompositeMapper = { } }; -export const Job: msRest.CompositeMapper = { - serializedName: "Job", +export const ManagedInstancePrivateEndpointConnectionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Job", + className: "ManagedInstancePrivateEndpointConnectionProperties", modelProperties: { - ...ProxyResource.type.modelProperties, - description: { - serializedName: "properties.description", - defaultValue: '', + privateEndpoint: { + serializedName: "privateEndpoint", type: { - name: "String" + name: "Composite", + className: "ManagedInstancePrivateEndpointProperty" } }, - version: { - readOnly: true, - serializedName: "properties.version", + privateLinkServiceConnectionState: { + serializedName: "privateLinkServiceConnectionState", type: { - name: "Number" + name: "Composite", + className: "ManagedInstancePrivateLinkServiceConnectionStateProperty" } }, - schedule: { - serializedName: "properties.schedule", + provisioningState: { + serializedName: "provisioningState", + readOnly: true, type: { - name: "Composite", - className: "JobSchedule" + name: "String" } } } } }; -export const JobStepAction: msRest.CompositeMapper = { - serializedName: "JobStepAction", +export const ManagedInstancePrivateEndpointProperty: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobStepAction", + className: "ManagedInstancePrivateEndpointProperty", modelProperties: { - type: { - serializedName: "type", - defaultValue: 'TSql', - type: { - name: "String" - } - }, - source: { - serializedName: "source", - defaultValue: 'Inline', - type: { - name: "String" - } - }, - value: { - required: true, - serializedName: "value", + id: { + serializedName: "id", type: { name: "String" } @@ -4394,62 +4750,57 @@ export const JobStepAction: msRest.CompositeMapper = { } }; -export const JobStepOutput: msRest.CompositeMapper = { - serializedName: "JobStepOutput", +export const ManagedInstancePrivateLinkServiceConnectionStateProperty: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobStepOutput", + className: "ManagedInstancePrivateLinkServiceConnectionStateProperty", modelProperties: { - type: { - serializedName: "type", - defaultValue: 'SqlDatabase', - type: { - name: "String" - } - }, - subscriptionId: { - serializedName: "subscriptionId", - type: { - name: "Uuid" - } - }, - resourceGroupName: { - serializedName: "resourceGroupName", - type: { - name: "String" - } - }, - serverName: { + status: { + serializedName: "status", required: true, - serializedName: "serverName", type: { name: "String" } }, - databaseName: { + description: { + serializedName: "description", required: true, - serializedName: "databaseName", type: { name: "String" } }, - schemaName: { - serializedName: "schemaName", - defaultValue: 'dbo', + actionsRequired: { + serializedName: "actionsRequired", + readOnly: true, type: { name: "String" } - }, - tableName: { - required: true, - serializedName: "tableName", + } + } + } +}; + +export const ManagedInstancePrivateEndpointConnectionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstancePrivateEndpointConnectionListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstancePrivateEndpointConnection" + } + } } }, - credential: { - required: true, - serializedName: "credential", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -4458,607 +4809,536 @@ export const JobStepOutput: msRest.CompositeMapper = { } }; -export const JobStepExecutionOptions: msRest.CompositeMapper = { - serializedName: "JobStepExecutionOptions", +export const ManagedInstancePrivateLinkListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobStepExecutionOptions", + className: "ManagedInstancePrivateLinkListResult", modelProperties: { - timeoutSeconds: { - serializedName: "timeoutSeconds", - defaultValue: 43200, - type: { - name: "Number" - } - }, - retryAttempts: { - serializedName: "retryAttempts", - defaultValue: 10, + value: { + serializedName: "value", + readOnly: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstancePrivateLink" + } + } } }, - initialRetryIntervalSeconds: { - serializedName: "initialRetryIntervalSeconds", - defaultValue: 1, + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { - name: "Number" + name: "String" } - }, - maximumRetryIntervalSeconds: { - serializedName: "maximumRetryIntervalSeconds", - defaultValue: 120, + } + } + } +}; + +export const ManagedInstancePrivateLinkProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstancePrivateLinkProperties", + modelProperties: { + groupId: { + serializedName: "groupId", + readOnly: true, type: { - name: "Number" + name: "String" } }, - retryIntervalBackoffMultiplier: { - serializedName: "retryIntervalBackoffMultiplier", - defaultValue: 2, + requiredMembers: { + serializedName: "requiredMembers", + readOnly: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const JobStep: msRest.CompositeMapper = { - serializedName: "JobStep", +export const ManagedInstanceListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobStep", + className: "ManagedInstanceListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - stepId: { - serializedName: "properties.stepId", + value: { + serializedName: "value", + readOnly: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstance" + } + } } }, - targetGroup: { - required: true, - serializedName: "properties.targetGroup", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - credential: { - required: true, - serializedName: "properties.credential", + } + } + } +}; + +export const ResourceIdentity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceIdentity", + modelProperties: { + userAssignedIdentities: { + serializedName: "userAssignedIdentities", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "Composite", className: "UserIdentity" } } } }, - action: { - required: true, - serializedName: "properties.action", + principalId: { + serializedName: "principalId", + readOnly: true, type: { - name: "Composite", - className: "JobStepAction" + name: "Uuid" } }, - output: { - serializedName: "properties.output", + type: { + serializedName: "type", type: { - name: "Composite", - className: "JobStepOutput" + name: "String" } }, - executionOptions: { - serializedName: "properties.executionOptions", + tenantId: { + serializedName: "tenantId", + readOnly: true, type: { - name: "Composite", - className: "JobStepExecutionOptions" + name: "Uuid" } } } } }; -export const JobTarget: msRest.CompositeMapper = { - serializedName: "JobTarget", +export const UserIdentity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobTarget", + className: "UserIdentity", modelProperties: { - membershipType: { - serializedName: "membershipType", - defaultValue: 'Include', + principalId: { + serializedName: "principalId", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "Include", - "Exclude" - ] + name: "Uuid" } }, - type: { - required: true, - serializedName: "type", + clientId: { + serializedName: "clientId", + readOnly: true, + type: { + name: "Uuid" + } + } + } + } +}; + +export const ManagedInstancePecProperty: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstancePecProperty", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - serverName: { - serializedName: "serverName", + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ManagedInstancePrivateEndpointConnectionProperties" + } + } + } + } +}; + +export const ManagedInstanceExternalAdministrator: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceExternalAdministrator", + modelProperties: { + administratorType: { + serializedName: "administratorType", type: { name: "String" } }, - databaseName: { - serializedName: "databaseName", + principalType: { + serializedName: "principalType", type: { name: "String" } }, - elasticPoolName: { - serializedName: "elasticPoolName", + login: { + serializedName: "login", type: { name: "String" } }, - shardMapName: { - serializedName: "shardMapName", + sid: { + serializedName: "sid", type: { - name: "String" + name: "Uuid" } }, - refreshCredential: { - serializedName: "refreshCredential", + tenantId: { + serializedName: "tenantId", type: { - name: "String" + name: "Uuid" } - } - } - } -}; - -export const JobTargetGroup: msRest.CompositeMapper = { - serializedName: "JobTargetGroup", - type: { - name: "Composite", - className: "JobTargetGroup", - modelProperties: { - ...ProxyResource.type.modelProperties, - members: { - required: true, - serializedName: "properties.members", + }, + azureADOnlyAuthentication: { + serializedName: "azureADOnlyAuthentication", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "JobTarget" - } - } + name: "Boolean" } } } } }; -export const JobVersion: msRest.CompositeMapper = { - serializedName: "JobVersion", - type: { - name: "Composite", - className: "JobVersion", - modelProperties: { - ...ProxyResource.type.modelProperties - } - } -}; - -export const LongTermRetentionBackup: msRest.CompositeMapper = { - serializedName: "LongTermRetentionBackup", +export const ManagedInstanceUpdate: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LongTermRetentionBackup", + className: "ManagedInstanceUpdate", modelProperties: { - ...ProxyResource.type.modelProperties, - serverName: { - readOnly: true, - serializedName: "properties.serverName", + sku: { + serializedName: "sku", type: { - name: "String" + name: "Composite", + className: "Sku" } }, - serverCreateTime: { - readOnly: true, - serializedName: "properties.serverCreateTime", + identity: { + serializedName: "identity", type: { - name: "DateTime" + name: "Composite", + className: "ResourceIdentity" } }, - databaseName: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", readOnly: true, - serializedName: "properties.databaseName", type: { name: "String" } }, - databaseDeletionTime: { - readOnly: true, - serializedName: "properties.databaseDeletionTime", + managedInstanceCreateMode: { + serializedName: "properties.managedInstanceCreateMode", type: { - name: "DateTime" + name: "String" } }, - backupTime: { + fullyQualifiedDomainName: { + serializedName: "properties.fullyQualifiedDomainName", readOnly: true, - serializedName: "properties.backupTime", type: { - name: "DateTime" + name: "String" } }, - backupExpirationTime: { - readOnly: true, - serializedName: "properties.backupExpirationTime", + administratorLogin: { + serializedName: "properties.administratorLogin", type: { - name: "DateTime" + name: "String" } - } - } - } -}; - -export const BackupLongTermRetentionPolicy: msRest.CompositeMapper = { - serializedName: "BackupLongTermRetentionPolicy", - type: { - name: "Composite", - className: "BackupLongTermRetentionPolicy", - modelProperties: { - ...ProxyResource.type.modelProperties, - weeklyRetention: { - serializedName: "properties.weeklyRetention", + }, + administratorLoginPassword: { + serializedName: "properties.administratorLoginPassword", type: { name: "String" } }, - monthlyRetention: { - serializedName: "properties.monthlyRetention", + subnetId: { + serializedName: "properties.subnetId", type: { name: "String" } }, - yearlyRetention: { - serializedName: "properties.yearlyRetention", + state: { + serializedName: "properties.state", + readOnly: true, type: { name: "String" } }, - weekOfYear: { - serializedName: "properties.weekOfYear", + licenseType: { + serializedName: "properties.licenseType", + type: { + name: "String" + } + }, + vCores: { + serializedName: "properties.vCores", type: { name: "Number" } - } - } - } -}; - -export const ManagedBackupShortTermRetentionPolicy: msRest.CompositeMapper = { - serializedName: "ManagedBackupShortTermRetentionPolicy", - type: { - name: "Composite", - className: "ManagedBackupShortTermRetentionPolicy", - modelProperties: { - ...ProxyResource.type.modelProperties, - retentionDays: { - serializedName: "properties.retentionDays", + }, + storageSizeInGB: { + serializedName: "properties.storageSizeInGB", type: { name: "Number" } - } - } - } -}; - -export const AutomaticTuningServerOptions: msRest.CompositeMapper = { - serializedName: "AutomaticTuningServerOptions", - type: { - name: "Composite", - className: "AutomaticTuningServerOptions", - modelProperties: { - desiredState: { - serializedName: "desiredState", + }, + collation: { + serializedName: "properties.collation", type: { - name: "Enum", - allowedValues: [ - "Off", - "On", - "Default" - ] + name: "String" } }, - actualState: { + dnsZone: { + serializedName: "properties.dnsZone", readOnly: true, - serializedName: "actualState", type: { - name: "Enum", - allowedValues: [ - "Off", - "On" - ] + name: "String" } }, - reasonCode: { - readOnly: true, - serializedName: "reasonCode", + dnsZonePartner: { + serializedName: "properties.dnsZonePartner", type: { - name: "Number" + name: "String" } }, - reasonDesc: { - readOnly: true, - serializedName: "reasonDesc", + publicDataEndpointEnabled: { + serializedName: "properties.publicDataEndpointEnabled", type: { - name: "Enum", - allowedValues: [ - "Default", - "Disabled", - "AutoConfigured" - ] + name: "Boolean" } - } - } - } -}; - -export const ServerAutomaticTuning: msRest.CompositeMapper = { - serializedName: "ServerAutomaticTuning", - type: { - name: "Composite", - className: "ServerAutomaticTuning", - modelProperties: { - ...ProxyResource.type.modelProperties, - desiredState: { - serializedName: "properties.desiredState", + }, + sourceManagedInstanceId: { + serializedName: "properties.sourceManagedInstanceId", type: { - name: "Enum", - allowedValues: [ - "Custom", - "Auto", - "Unspecified" - ] + name: "String" } }, - actualState: { - readOnly: true, - serializedName: "properties.actualState", + restorePointInTime: { + serializedName: "properties.restorePointInTime", type: { - name: "Enum", - allowedValues: [ - "Custom", - "Auto", - "Unspecified" - ] + name: "DateTime" } }, - options: { - serializedName: "properties.options", + proxyOverride: { + serializedName: "properties.proxyOverride", type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "AutomaticTuningServerOptions" - } - } + name: "String" } - } - } - } -}; - -export const ServerDnsAlias: msRest.CompositeMapper = { - serializedName: "ServerDnsAlias", - type: { - name: "Composite", - className: "ServerDnsAlias", - modelProperties: { - ...ProxyResource.type.modelProperties, - azureDnsRecord: { - readOnly: true, - serializedName: "properties.azureDnsRecord", + }, + timezoneId: { + serializedName: "properties.timezoneId", type: { name: "String" } - } - } - } -}; - -export const ServerDnsAliasAcquisition: msRest.CompositeMapper = { - serializedName: "ServerDnsAliasAcquisition", - type: { - name: "Composite", - className: "ServerDnsAliasAcquisition", - modelProperties: { - oldServerDnsAliasId: { - serializedName: "oldServerDnsAliasId", + }, + instancePoolId: { + serializedName: "properties.instancePoolId", type: { name: "String" } - } - } - } -}; - -export const ServerSecurityAlertPolicy: msRest.CompositeMapper = { - serializedName: "ServerSecurityAlertPolicy", - type: { - name: "Composite", - className: "ServerSecurityAlertPolicy", - modelProperties: { - ...ProxyResource.type.modelProperties, - state: { - required: true, - serializedName: "properties.state", + }, + maintenanceConfigurationId: { + serializedName: "properties.maintenanceConfigurationId", type: { - name: "Enum", - allowedValues: [ - "New", - "Enabled", - "Disabled" - ] + name: "String" } }, - disabledAlerts: { - serializedName: "properties.disabledAlerts", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ManagedInstancePecProperty" } } } }, - emailAddresses: { - serializedName: "properties.emailAddresses", + minimalTlsVersion: { + serializedName: "properties.minimalTlsVersion", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - emailAccountAdmins: { - serializedName: "properties.emailAccountAdmins", + storageAccountType: { + serializedName: "properties.storageAccountType", type: { - name: "Boolean" + name: "String" } }, - storageEndpoint: { - serializedName: "properties.storageEndpoint", + zoneRedundant: { + serializedName: "properties.zoneRedundant", type: { - name: "String" + name: "Boolean" } }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", + primaryUserAssignedIdentityId: { + serializedName: "properties.primaryUserAssignedIdentityId", type: { name: "String" } }, - retentionDays: { - serializedName: "properties.retentionDays", + keyId: { + serializedName: "properties.keyId", type: { - name: "Number" + name: "String" } }, - creationTime: { - readOnly: true, - serializedName: "properties.creationTime", + administrators: { + serializedName: "properties.administrators", type: { - name: "DateTime" + name: "Composite", + className: "ManagedInstanceExternalAdministrator" } } } } }; -export const RestorableDroppedManagedDatabase: msRest.CompositeMapper = { - serializedName: "RestorableDroppedManagedDatabase", +export const TopQueriesListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RestorableDroppedManagedDatabase", + className: "TopQueriesListResult", modelProperties: { - ...TrackedResource.type.modelProperties, - databaseName: { - readOnly: true, - serializedName: "properties.databaseName", - type: { - name: "String" - } - }, - creationDate: { - readOnly: true, - serializedName: "properties.creationDate", - type: { - name: "DateTime" - } - }, - deletionDate: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.deletionDate", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TopQueries" + } + } } }, - earliestRestoreDate: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.earliestRestoreDate", type: { - name: "DateTime" + name: "String" } } } } }; -export const RestorePoint: msRest.CompositeMapper = { - serializedName: "RestorePoint", +export const TopQueries: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RestorePoint", + className: "TopQueries", modelProperties: { - ...ProxyResource.type.modelProperties, - location: { + numberOfQueries: { + serializedName: "numberOfQueries", + readOnly: true, + type: { + name: "Number" + } + }, + aggregationFunction: { + serializedName: "aggregationFunction", readOnly: true, - serializedName: "location", type: { name: "String" } }, - restorePointType: { + observationMetric: { + serializedName: "observationMetric", readOnly: true, - serializedName: "properties.restorePointType", type: { - name: "Enum", - allowedValues: [ - "CONTINUOUS", - "DISCRETE" - ] + name: "String" } }, - earliestRestoreDate: { + intervalType: { + serializedName: "intervalType", readOnly: true, - serializedName: "properties.earliestRestoreDate", type: { - name: "DateTime" + name: "String" } }, - restorePointCreationDate: { + startTime: { + serializedName: "startTime", readOnly: true, - serializedName: "properties.restorePointCreationDate", type: { - name: "DateTime" + name: "String" } }, - restorePointLabel: { + endTime: { + serializedName: "endTime", readOnly: true, - serializedName: "properties.restorePointLabel", type: { name: "String" } + }, + queries: { + serializedName: "queries", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QueryStatisticsProperties" + } + } + } } } } }; -export const CreateDatabaseRestorePointDefinition: msRest.CompositeMapper = { - serializedName: "CreateDatabaseRestorePointDefinition", +export const ManagedInstanceVulnerabilityAssessmentListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateDatabaseRestorePointDefinition", + className: "ManagedInstanceVulnerabilityAssessmentListResult", modelProperties: { - restorePointLabel: { - required: true, - serializedName: "restorePointLabel", + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstanceVulnerabilityAssessment" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -5067,474 +5347,609 @@ export const CreateDatabaseRestorePointDefinition: msRest.CompositeMapper = { } }; -export const ManagedDatabaseSecurityAlertPolicy: msRest.CompositeMapper = { - serializedName: "ManagedDatabaseSecurityAlertPolicy", +export const ManagedServerSecurityAlertPolicyListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedDatabaseSecurityAlertPolicy", + className: "ManagedServerSecurityAlertPolicyListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - state: { - required: true, - serializedName: "properties.state", - type: { - name: "Enum", - allowedValues: [ - "New", - "Enabled", - "Disabled" - ] - } - }, - disabledAlerts: { - serializedName: "properties.disabledAlerts", + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ManagedServerSecurityAlertPolicy" } } } }, - emailAddresses: { - serializedName: "properties.emailAddresses", + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const OperationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "Operation" } } } }, - emailAccountAdmins: { - serializedName: "properties.emailAccountAdmins", - type: { - name: "Boolean" - } - }, - storageEndpoint: { - serializedName: "properties.storageEndpoint", - type: { - name: "String" - } - }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", - type: { - name: "String" - } - }, - retentionDays: { - serializedName: "properties.retentionDays", - type: { - name: "Number" - } - }, - creationTime: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.creationTime", type: { - name: "DateTime" + name: "String" } } } } }; -export const ManagedServerSecurityAlertPolicy: msRest.CompositeMapper = { - serializedName: "ManagedServerSecurityAlertPolicy", +export const Operation: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedServerSecurityAlertPolicy", + className: "Operation", modelProperties: { - ...ProxyResource.type.modelProperties, - state: { - required: true, - serializedName: "properties.state", + name: { + serializedName: "name", + readOnly: true, type: { - name: "Enum", - allowedValues: [ - "New", - "Enabled", - "Disabled" - ] + name: "String" } }, - disabledAlerts: { - serializedName: "properties.disabledAlerts", + display: { + serializedName: "display", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "OperationDisplay" } }, - emailAddresses: { - serializedName: "properties.emailAddresses", + origin: { + serializedName: "origin", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - emailAccountAdmins: { - serializedName: "properties.emailAccountAdmins", + properties: { + serializedName: "properties", + readOnly: true, type: { - name: "Boolean" + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } } - }, - storageEndpoint: { - serializedName: "properties.storageEndpoint", + } + } + } +}; + +export const OperationDisplay: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + serializedName: "provider", + readOnly: true, type: { name: "String" } }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", + resource: { + serializedName: "resource", + readOnly: true, type: { name: "String" } }, - retentionDays: { - serializedName: "properties.retentionDays", + operation: { + serializedName: "operation", + readOnly: true, type: { - name: "Number" + name: "String" } }, - creationTime: { + description: { + serializedName: "description", readOnly: true, - serializedName: "properties.creationTime", type: { - name: "DateTime" + name: "String" } } } } }; -export const SensitivityLabel: msRest.CompositeMapper = { - serializedName: "SensitivityLabel", +export const OperationsHealthListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SensitivityLabel", + className: "OperationsHealthListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - labelName: { - serializedName: "properties.labelName", + value: { + serializedName: "value", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OperationsHealth" + } + } } }, - labelId: { - serializedName: "properties.labelId", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - informationType: { - serializedName: "properties.informationType", + } + } + } +}; + +export const PrivateEndpointConnectionProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionProperties", + modelProperties: { + privateEndpoint: { + serializedName: "privateEndpoint", type: { - name: "String" + name: "Composite", + className: "PrivateEndpointProperty" } }, - informationTypeId: { - serializedName: "properties.informationTypeId", + privateLinkServiceConnectionState: { + serializedName: "privateLinkServiceConnectionState", type: { - name: "String" + name: "Composite", + className: "PrivateLinkServiceConnectionStateProperty" } }, - isDisabled: { + provisioningState: { + serializedName: "provisioningState", readOnly: true, - serializedName: "properties.isDisabled", type: { - name: "Boolean" + name: "String" } } } } }; -export const ManagedInstanceAdministrator: msRest.CompositeMapper = { - serializedName: "ManagedInstanceAdministrator", +export const PrivateEndpointProperty: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceAdministrator", + className: "PrivateEndpointProperty", modelProperties: { - ...ProxyResource.type.modelProperties, - administratorType: { - required: true, - isConstant: true, - serializedName: "properties.administratorType", - defaultValue: 'ActiveDirectory', + id: { + serializedName: "id", type: { name: "String" } - }, - login: { + } + } + } +}; + +export const PrivateLinkServiceConnectionStateProperty: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionStateProperty", + modelProperties: { + status: { + serializedName: "status", required: true, - serializedName: "properties.login", type: { name: "String" } }, - sid: { + description: { + serializedName: "description", required: true, - serializedName: "properties.sid", type: { - name: "Uuid" + name: "String" } }, - tenantId: { - serializedName: "properties.tenantId", + actionsRequired: { + serializedName: "actionsRequired", + readOnly: true, type: { - name: "Uuid" + name: "String" } } } } }; -export const DatabaseOperation: msRest.CompositeMapper = { - serializedName: "DatabaseOperation", +export const PrivateEndpointConnectionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseOperation", + className: "PrivateEndpointConnectionListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - databaseName: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.databaseName", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } } }, - operation: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.operation", type: { name: "String" } - }, - operationFriendlyName: { + } + } + } +}; + +export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.operationFriendlyName", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } } }, - percentComplete: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.percentComplete", type: { - name: "Number" + name: "String" } - }, - serverName: { + } + } + } +}; + +export const PrivateLinkResourceProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceProperties", + modelProperties: { + groupId: { + serializedName: "groupId", readOnly: true, - serializedName: "properties.serverName", type: { name: "String" } }, - startTime: { + requiredMembers: { + serializedName: "requiredMembers", readOnly: true, - serializedName: "properties.startTime", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - state: { + requiredZoneNames: { + serializedName: "requiredZoneNames", readOnly: true, - serializedName: "properties.state", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - }, - errorCode: { + } + } + } +}; + +export const RecoverableManagedDatabaseListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoverableManagedDatabaseListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.errorCode", type: { - name: "Number" - } - }, - errorDescription: { - readOnly: true, - serializedName: "properties.errorDescription", - type: { - name: "String" - } - }, - errorSeverity: { - readOnly: true, - serializedName: "properties.errorSeverity", - type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoverableManagedDatabase" + } + } } }, - isUserError: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.isUserError", type: { - name: "Boolean" + name: "String" } - }, - estimatedCompletionTime: { + } + } + } +}; + +export const RestorePointListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RestorePointListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.estimatedCompletionTime", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RestorePoint" + } + } } }, - description: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.description", type: { name: "String" } - }, - isCancellable: { - readOnly: true, - serializedName: "properties.isCancellable", - type: { - name: "Boolean" - } } } } }; -export const ElasticPoolOperation: msRest.CompositeMapper = { - serializedName: "ElasticPoolOperation", +export const CreateDatabaseRestorePointDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolOperation", + className: "CreateDatabaseRestorePointDefinition", modelProperties: { - ...ProxyResource.type.modelProperties, - elasticPoolName: { - readOnly: true, - serializedName: "properties.elasticPoolName", + restorePointLabel: { + serializedName: "restorePointLabel", + required: true, type: { name: "String" } - }, - operation: { - readOnly: true, - serializedName: "properties.operation", + } + } + } +}; + +export const AutomaticTuningServerOptions: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AutomaticTuningServerOptions", + modelProperties: { + desiredState: { + serializedName: "desiredState", type: { - name: "String" + name: "Enum", + allowedValues: ["Off", "On", "Default"] } }, - operationFriendlyName: { + actualState: { + serializedName: "actualState", readOnly: true, - serializedName: "properties.operationFriendlyName", type: { - name: "String" + name: "Enum", + allowedValues: ["Off", "On"] } }, - percentComplete: { + reasonCode: { + serializedName: "reasonCode", readOnly: true, - serializedName: "properties.percentComplete", type: { name: "Number" } }, - serverName: { + reasonDesc: { + serializedName: "reasonDesc", readOnly: true, - serializedName: "properties.serverName", type: { - name: "String" + name: "Enum", + allowedValues: ["Default", "Disabled", "AutoConfigured"] } - }, - startTime: { + } + } + } +}; + +export const AdministratorListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AdministratorListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.startTime", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerAzureADAdministrator" + } + } } }, - state: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.state", type: { name: "String" } - }, - errorCode: { + } + } + } +}; + +export const AzureADOnlyAuthListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AzureADOnlyAuthListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.errorCode", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerAzureADOnlyAuthentication" + } + } } }, - errorDescription: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.errorDescription", type: { name: "String" } - }, - errorSeverity: { + } + } + } +}; + +export const ServerDevOpsAuditSettingsListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerDevOpsAuditSettingsListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.errorSeverity", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerDevOpsAuditingSettings" + } + } } }, - isUserError: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.isUserError", type: { - name: "Boolean" + name: "String" } - }, - estimatedCompletionTime: { + } + } + } +}; + +export const ServerDnsAliasListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerDnsAliasListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.estimatedCompletionTime", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerDnsAlias" + } + } } }, - description: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.description", type: { name: "String" } - }, - isCancellable: { - readOnly: true, - serializedName: "properties.isCancellable", + } + } + } +}; + +export const ServerDnsAliasAcquisition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerDnsAliasAcquisition", + modelProperties: { + oldServerDnsAliasId: { + serializedName: "oldServerDnsAliasId", + required: true, type: { - name: "Boolean" + name: "String" } } } } }; -export const MaxSizeCapability: msRest.CompositeMapper = { - serializedName: "MaxSizeCapability", +export const ServerKeyListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MaxSizeCapability", + className: "ServerKeyListResult", modelProperties: { - limit: { + value: { + serializedName: "value", readOnly: true, - serializedName: "limit", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerKey" + } + } } }, - unit: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "unit", type: { name: "String" } @@ -5543,22 +5958,27 @@ export const MaxSizeCapability: msRest.CompositeMapper = { } }; -export const LogSizeCapability: msRest.CompositeMapper = { - serializedName: "LogSizeCapability", +export const ServerOperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LogSizeCapability", + className: "ServerOperationListResult", modelProperties: { - limit: { + value: { + serializedName: "value", readOnly: true, - serializedName: "limit", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerOperation" + } + } } }, - unit: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "unit", type: { name: "String" } @@ -5567,59 +5987,27 @@ export const LogSizeCapability: msRest.CompositeMapper = { } }; -export const MaxSizeRangeCapability: msRest.CompositeMapper = { - serializedName: "MaxSizeRangeCapability", +export const LogicalServerSecurityAlertPolicyListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MaxSizeRangeCapability", + className: "LogicalServerSecurityAlertPolicyListResult", modelProperties: { - minValue: { - readOnly: true, - serializedName: "minValue", - type: { - name: "Composite", - className: "MaxSizeCapability" - } - }, - maxValue: { - readOnly: true, - serializedName: "maxValue", - type: { - name: "Composite", - className: "MaxSizeCapability" - } - }, - scaleSize: { - readOnly: true, - serializedName: "scaleSize", - type: { - name: "Composite", - className: "MaxSizeCapability" - } - }, - logSize: { + value: { + serializedName: "value", readOnly: true, - serializedName: "logSize", type: { - name: "Composite", - className: "LogSizeCapability" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerSecurityAlertPolicy" + } + } } }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -5628,22 +6016,14 @@ export const MaxSizeRangeCapability: msRest.CompositeMapper = { } }; -export const PerformanceLevelCapability: msRest.CompositeMapper = { - serializedName: "PerformanceLevelCapability", +export const ServerInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PerformanceLevelCapability", + className: "ServerInfo", modelProperties: { - value: { - readOnly: true, - serializedName: "value", - type: { - name: "Number" - } - }, - unit: { - readOnly: true, - serializedName: "unit", + serverId: { + serializedName: "serverId", + required: true, type: { name: "String" } @@ -5652,34 +6032,27 @@ export const PerformanceLevelCapability: msRest.CompositeMapper = { } }; -export const LicenseTypeCapability: msRest.CompositeMapper = { - serializedName: "LicenseTypeCapability", +export const ServerTrustGroupListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LicenseTypeCapability", + className: "ServerTrustGroupListResult", modelProperties: { - name: { + value: { + serializedName: "value", readOnly: true, - serializedName: "name", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerTrustGroup" + } + } } }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -5688,91 +6061,85 @@ export const LicenseTypeCapability: msRest.CompositeMapper = { } }; -export const ServiceObjectiveCapability: msRest.CompositeMapper = { - serializedName: "ServiceObjectiveCapability", +export const ServerVulnerabilityAssessmentListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceObjectiveCapability", + className: "ServerVulnerabilityAssessmentListResult", modelProperties: { - id: { + value: { + serializedName: "value", readOnly: true, - serializedName: "id", type: { - name: "Uuid" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerVulnerabilityAssessment" + } + } } }, - name: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "name", type: { name: "String" } - }, - supportedMaxSizes: { + } + } + } +}; + +export const SubscriptionUsageListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SubscriptionUsageListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedMaxSizes", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MaxSizeRangeCapability" + className: "SubscriptionUsage" } } } }, - performanceLevel: { - readOnly: true, - serializedName: "performanceLevel", - type: { - name: "Composite", - className: "PerformanceLevelCapability" - } - }, - sku: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "sku", type: { - name: "Composite", - className: "Sku" + name: "String" } - }, - supportedLicenseTypes: { + } + } + } +}; + +export const SyncAgentListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncAgentListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedLicenseTypes", type: { name: "Sequence", element: { type: { name: "Composite", - className: "LicenseTypeCapability" + className: "SyncAgent" } } } }, - includedMaxSize: { - readOnly: true, - serializedName: "includedMaxSize", - type: { - name: "Composite", - className: "MaxSizeCapability" - } - }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -5781,54 +6148,43 @@ export const ServiceObjectiveCapability: msRest.CompositeMapper = { } }; -export const EditionCapability: msRest.CompositeMapper = { - serializedName: "EditionCapability", +export const SyncAgentKeyProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EditionCapability", + className: "SyncAgentKeyProperties", modelProperties: { - name: { + syncAgentKey: { + serializedName: "syncAgentKey", readOnly: true, - serializedName: "name", type: { name: "String" } - }, - supportedServiceLevelObjectives: { + } + } + } +}; + +export const SyncAgentLinkedDatabaseListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncAgentLinkedDatabaseListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedServiceLevelObjectives", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ServiceObjectiveCapability" + className: "SyncAgentLinkedDatabase" } } } }, - zoneRedundant: { - readOnly: true, - serializedName: "zoneRedundant", - type: { - name: "Boolean" - } - }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -5837,41 +6193,43 @@ export const EditionCapability: msRest.CompositeMapper = { } }; -export const ElasticPoolPerDatabaseMinPerformanceLevelCapability: msRest.CompositeMapper = { - serializedName: "ElasticPoolPerDatabaseMinPerformanceLevelCapability", +export const SyncDatabaseIdListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolPerDatabaseMinPerformanceLevelCapability", + className: "SyncDatabaseIdListResult", modelProperties: { - limit: { + value: { + serializedName: "value", readOnly: true, - serializedName: "limit", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SyncDatabaseIdProperties" + } + } } }, - unit: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "unit", type: { name: "String" } - }, - status: { + } + } + } +}; + +export const SyncDatabaseIdProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncDatabaseIdProperties", + modelProperties: { + id: { + serializedName: "id", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -5880,54 +6238,27 @@ export const ElasticPoolPerDatabaseMinPerformanceLevelCapability: msRest.Composi } }; -export const ElasticPoolPerDatabaseMaxPerformanceLevelCapability: msRest.CompositeMapper = { - serializedName: "ElasticPoolPerDatabaseMaxPerformanceLevelCapability", +export const SyncFullSchemaPropertiesListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolPerDatabaseMaxPerformanceLevelCapability", + className: "SyncFullSchemaPropertiesListResult", modelProperties: { - limit: { - readOnly: true, - serializedName: "limit", - type: { - name: "Number" - } - }, - unit: { - readOnly: true, - serializedName: "unit", - type: { - name: "String" - } - }, - supportedPerDatabaseMinPerformanceLevels: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedPerDatabaseMinPerformanceLevels", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ElasticPoolPerDatabaseMinPerformanceLevelCapability" + className: "SyncFullSchemaProperties" } } } }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -5936,110 +6267,77 @@ export const ElasticPoolPerDatabaseMaxPerformanceLevelCapability: msRest.Composi } }; -export const ElasticPoolPerformanceLevelCapability: msRest.CompositeMapper = { - serializedName: "ElasticPoolPerformanceLevelCapability", +export const SyncFullSchemaProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolPerformanceLevelCapability", + className: "SyncFullSchemaProperties", modelProperties: { - performanceLevel: { - readOnly: true, - serializedName: "performanceLevel", - type: { - name: "Composite", - className: "PerformanceLevelCapability" - } - }, - sku: { - readOnly: true, - serializedName: "sku", - type: { - name: "Composite", - className: "Sku" - } - }, - supportedLicenseTypes: { + tables: { + serializedName: "tables", readOnly: true, - serializedName: "supportedLicenseTypes", type: { name: "Sequence", element: { type: { name: "Composite", - className: "LicenseTypeCapability" + className: "SyncFullSchemaTable" } } } }, - maxDatabaseCount: { - readOnly: true, - serializedName: "maxDatabaseCount", - type: { - name: "Number" - } - }, - includedMaxSize: { + lastUpdateTime: { + serializedName: "lastUpdateTime", readOnly: true, - serializedName: "includedMaxSize", type: { - name: "Composite", - className: "MaxSizeCapability" + name: "DateTime" } - }, - supportedMaxSizes: { + } + } + } +}; + +export const SyncFullSchemaTable: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncFullSchemaTable", + modelProperties: { + columns: { + serializedName: "columns", readOnly: true, - serializedName: "supportedMaxSizes", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MaxSizeRangeCapability" + className: "SyncFullSchemaTableColumn" } } } }, - supportedPerDatabaseMaxSizes: { + errorId: { + serializedName: "errorId", readOnly: true, - serializedName: "supportedPerDatabaseMaxSizes", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MaxSizeRangeCapability" - } - } + name: "String" } }, - supportedPerDatabaseMaxPerformanceLevels: { + hasError: { + serializedName: "hasError", readOnly: true, - serializedName: "supportedPerDatabaseMaxPerformanceLevels", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ElasticPoolPerDatabaseMaxPerformanceLevelCapability" - } - } + name: "Boolean" } }, - status: { + name: { + serializedName: "name", readOnly: true, - serializedName: "status", type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] + name: "String" } }, - reason: { - serializedName: "reason", + quotedName: { + serializedName: "quotedName", + readOnly: true, type: { name: "String" } @@ -6048,54 +6346,56 @@ export const ElasticPoolPerformanceLevelCapability: msRest.CompositeMapper = { } }; -export const ElasticPoolEditionCapability: msRest.CompositeMapper = { - serializedName: "ElasticPoolEditionCapability", +export const SyncFullSchemaTableColumn: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolEditionCapability", + className: "SyncFullSchemaTableColumn", modelProperties: { - name: { + dataSize: { + serializedName: "dataSize", readOnly: true, - serializedName: "name", type: { name: "String" } }, - supportedElasticPoolPerformanceLevels: { + dataType: { + serializedName: "dataType", readOnly: true, - serializedName: "supportedElasticPoolPerformanceLevels", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ElasticPoolPerformanceLevelCapability" - } - } + name: "String" } }, - zoneRedundant: { + errorId: { + serializedName: "errorId", + readOnly: true, + type: { + name: "String" + } + }, + hasError: { + serializedName: "hasError", readOnly: true, - serializedName: "zoneRedundant", type: { name: "Boolean" } }, - status: { + isPrimaryKey: { + serializedName: "isPrimaryKey", readOnly: true, - serializedName: "status", type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] + name: "Boolean" } }, - reason: { - serializedName: "reason", + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + quotedName: { + serializedName: "quotedName", + readOnly: true, type: { name: "String" } @@ -6104,60 +6404,27 @@ export const ElasticPoolEditionCapability: msRest.CompositeMapper = { } }; -export const ServerVersionCapability: msRest.CompositeMapper = { - serializedName: "ServerVersionCapability", +export const SyncGroupLogListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerVersionCapability", + className: "SyncGroupLogListResult", modelProperties: { - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" - } - }, - supportedEditions: { - readOnly: true, - serializedName: "supportedEditions", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "EditionCapability" - } - } - } - }, - supportedElasticPoolEditions: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedElasticPoolEditions", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ElasticPoolEditionCapability" + className: "SyncGroupLogProperties" } } } }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -6166,41 +6433,49 @@ export const ServerVersionCapability: msRest.CompositeMapper = { } }; -export const ManagedInstanceVcoresCapability: msRest.CompositeMapper = { - serializedName: "ManagedInstanceVcoresCapability", +export const SyncGroupLogProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceVcoresCapability", + className: "SyncGroupLogProperties", modelProperties: { - name: { + timestamp: { + serializedName: "timestamp", + readOnly: true, + type: { + name: "DateTime" + } + }, + type: { + serializedName: "type", readOnly: true, - serializedName: "name", type: { name: "String" } }, - value: { + source: { + serializedName: "source", readOnly: true, - serializedName: "value", type: { - name: "Number" + name: "String" } }, - status: { + details: { + serializedName: "details", readOnly: true, - serializedName: "status", type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] + name: "String" } }, - reason: { - serializedName: "reason", + tracingId: { + serializedName: "tracingId", + readOnly: true, + type: { + name: "Uuid" + } + }, + operationStatus: { + serializedName: "operationStatus", + readOnly: true, type: { name: "String" } @@ -6209,88 +6484,137 @@ export const ManagedInstanceVcoresCapability: msRest.CompositeMapper = { } }; -export const ManagedInstanceFamilyCapability: msRest.CompositeMapper = { - serializedName: "ManagedInstanceFamilyCapability", +export const SyncGroupSchema: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceFamilyCapability", + className: "SyncGroupSchema", modelProperties: { - name: { - readOnly: true, - serializedName: "name", + tables: { + serializedName: "tables", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SyncGroupSchemaTable" + } + } } }, - sku: { - readOnly: true, - serializedName: "sku", + masterSyncMemberName: { + serializedName: "masterSyncMemberName", type: { name: "String" } - }, - supportedLicenseTypes: { - readOnly: true, - serializedName: "supportedLicenseTypes", + } + } + } +}; + +export const SyncGroupSchemaTable: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncGroupSchemaTable", + modelProperties: { + columns: { + serializedName: "columns", type: { name: "Sequence", element: { type: { name: "Composite", - className: "LicenseTypeCapability" + className: "SyncGroupSchemaTableColumn" } } } }, - supportedVcoresValues: { + quotedName: { + serializedName: "quotedName", + type: { + name: "String" + } + } + } + } +}; + +export const SyncGroupSchemaTableColumn: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncGroupSchemaTableColumn", + modelProperties: { + quotedName: { + serializedName: "quotedName", + type: { + name: "String" + } + }, + dataSize: { + serializedName: "dataSize", + type: { + name: "String" + } + }, + dataType: { + serializedName: "dataType", + type: { + name: "String" + } + } + } + } +}; + +export const SyncGroupListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncGroupListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedVcoresValues", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ManagedInstanceVcoresCapability" + className: "SyncGroup" } } } }, - includedMaxSize: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "includedMaxSize", type: { - name: "Composite", - className: "MaxSizeCapability" + name: "String" } - }, - supportedStorageSizes: { + } + } + } +}; + +export const SyncMemberListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncMemberListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedStorageSizes", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MaxSizeRangeCapability" + className: "SyncMember" } } } }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -6299,47 +6623,27 @@ export const ManagedInstanceFamilyCapability: msRest.CompositeMapper = { } }; -export const ManagedInstanceEditionCapability: msRest.CompositeMapper = { - serializedName: "ManagedInstanceEditionCapability", +export const TimeZoneListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceEditionCapability", + className: "TimeZoneListResult", modelProperties: { - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" - } - }, - supportedFamilies: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedFamilies", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ManagedInstanceFamilyCapability" + className: "TimeZone" } } } }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -6348,47 +6652,27 @@ export const ManagedInstanceEditionCapability: msRest.CompositeMapper = { } }; -export const ManagedInstanceVersionCapability: msRest.CompositeMapper = { - serializedName: "ManagedInstanceVersionCapability", +export const VirtualClusterListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceVersionCapability", + className: "VirtualClusterListResult", modelProperties: { - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" - } - }, - supportedEditions: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedEditions", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ManagedInstanceEditionCapability" + className: "VirtualCluster" } } } }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -6397,60 +6681,74 @@ export const ManagedInstanceVersionCapability: msRest.CompositeMapper = { } }; -export const LocationCapabilities: msRest.CompositeMapper = { - serializedName: "LocationCapabilities", +export const VirtualClusterUpdate: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LocationCapabilities", + className: "VirtualClusterUpdate", modelProperties: { - name: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + subnetId: { + serializedName: "properties.subnetId", readOnly: true, - serializedName: "name", type: { name: "String" } }, - supportedServerVersions: { + family: { + serializedName: "properties.family", + type: { + name: "String" + } + }, + childResources: { + serializedName: "properties.childResources", readOnly: true, - serializedName: "supportedServerVersions", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ServerVersionCapability" + name: "String" } } } }, - supportedManagedInstanceVersions: { + maintenanceConfigurationId: { + serializedName: "properties.maintenanceConfigurationId", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkRuleListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "supportedManagedInstanceVersions", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ManagedInstanceVersionCapability" + className: "VirtualNetworkRule" } } } }, - status: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "status", - type: { - name: "Enum", - allowedValues: [ - "Visible", - "Available", - "Default", - "Disabled" - ] - } - }, - reason: { - serializedName: "reason", type: { name: "String" } @@ -6459,36 +6757,143 @@ export const LocationCapabilities: msRest.CompositeMapper = { } }; -export const Database: msRest.CompositeMapper = { - serializedName: "Database", +export const WorkloadClassifierListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Database", + className: "WorkloadClassifierListResult", modelProperties: { - ...TrackedResource.type.modelProperties, - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "Sku" - } - }, - kind: { + value: { + serializedName: "value", readOnly: true, - serializedName: "kind", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "WorkloadClassifier" + } + } } }, - managedBy: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "managedBy", type: { name: "String" } - }, - createMode: { - serializedName: "properties.createMode", + } + } + } +}; + +export const WorkloadGroupListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "WorkloadGroupListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "WorkloadGroup" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const BackupShortTermRetentionPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "BackupShortTermRetentionPolicyListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BackupShortTermRetentionPolicy" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const DatabaseListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseListResult", + modelProperties: { + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Database" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const DatabaseUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseUpdate", + modelProperties: { + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + createMode: { + serializedName: "properties.createMode", type: { name: "String" } @@ -6524,50 +6929,50 @@ export const Database: msRest.CompositeMapper = { } }, status: { - readOnly: true, serializedName: "properties.status", + readOnly: true, type: { name: "String" } }, databaseId: { - readOnly: true, serializedName: "properties.databaseId", + readOnly: true, type: { name: "Uuid" } }, creationDate: { - readOnly: true, serializedName: "properties.creationDate", + readOnly: true, type: { name: "DateTime" } }, currentServiceObjectiveName: { - readOnly: true, serializedName: "properties.currentServiceObjectiveName", + readOnly: true, type: { name: "String" } }, requestedServiceObjectiveName: { - readOnly: true, serializedName: "properties.requestedServiceObjectiveName", + readOnly: true, type: { name: "String" } }, defaultSecondaryLocation: { - readOnly: true, serializedName: "properties.defaultSecondaryLocation", + readOnly: true, type: { name: "String" } }, failoverGroupId: { - readOnly: true, serializedName: "properties.failoverGroupId", + readOnly: true, type: { name: "String" } @@ -6627,15 +7032,15 @@ export const Database: msRest.CompositeMapper = { } }, maxLogSizeBytes: { - readOnly: true, serializedName: "properties.maxLogSizeBytes", + readOnly: true, type: { name: "Number" } }, earliestRestoreDate: { - readOnly: true, serializedName: "properties.earliestRestoreDate", + readOnly: true, type: { name: "DateTime" } @@ -6646,14 +7051,19 @@ export const Database: msRest.CompositeMapper = { name: "String" } }, - readReplicaCount: { - serializedName: "properties.readReplicaCount", + highAvailabilityReplicaCount: { + serializedName: "properties.highAvailabilityReplicaCount", type: { name: "Number" } }, + secondaryType: { + serializedName: "properties.secondaryType", + type: { + name: "String" + } + }, currentSku: { - readOnly: true, serializedName: "properties.currentSku", type: { name: "Composite", @@ -6666,6 +7076,19 @@ export const Database: msRest.CompositeMapper = { name: "Number" } }, + currentBackupStorageRedundancy: { + serializedName: "properties.currentBackupStorageRedundancy", + readOnly: true, + type: { + name: "String" + } + }, + requestedBackupStorageRedundancy: { + serializedName: "properties.requestedBackupStorageRedundancy", + type: { + name: "String" + } + }, minCapacity: { serializedName: "properties.minCapacity", type: { @@ -6673,259 +7096,302 @@ export const Database: msRest.CompositeMapper = { } }, pausedDate: { - readOnly: true, serializedName: "properties.pausedDate", + readOnly: true, type: { name: "DateTime" } }, resumedDate: { - readOnly: true, serializedName: "properties.resumedDate", + readOnly: true, type: { name: "DateTime" } + }, + maintenanceConfigurationId: { + serializedName: "properties.maintenanceConfigurationId", + type: { + name: "String" + } + }, + isLedgerOn: { + serializedName: "properties.isLedgerOn", + type: { + name: "Boolean" + } + }, + isInfraEncryptionEnabled: { + serializedName: "properties.isInfraEncryptionEnabled", + readOnly: true, + type: { + name: "Boolean" + } } } } }; -export const DatabaseUpdate: msRest.CompositeMapper = { - serializedName: "DatabaseUpdate", +export const ResourceMoveDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseUpdate", + className: "ResourceMoveDefinition", modelProperties: { - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "Sku" - } - }, - createMode: { - serializedName: "properties.createMode", + id: { + serializedName: "id", + required: true, type: { name: "String" } - }, - collation: { - serializedName: "properties.collation", + } + } + } +}; + +export const ImportExistingDatabaseDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImportExistingDatabaseDefinition", + modelProperties: { + storageKeyType: { + serializedName: "storageKeyType", + required: true, type: { name: "String" } }, - maxSizeBytes: { - serializedName: "properties.maxSizeBytes", + storageKey: { + serializedName: "storageKey", + required: true, type: { - name: "Number" + name: "String" } }, - sampleName: { - serializedName: "properties.sampleName", + storageUri: { + serializedName: "storageUri", + required: true, type: { name: "String" } }, - elasticPoolId: { - serializedName: "properties.elasticPoolId", + administratorLogin: { + serializedName: "administratorLogin", + required: true, type: { name: "String" } }, - sourceDatabaseId: { - serializedName: "properties.sourceDatabaseId", + administratorLoginPassword: { + serializedName: "administratorLoginPassword", + required: true, type: { name: "String" } }, - status: { - readOnly: true, - serializedName: "properties.status", + authenticationType: { + serializedName: "authenticationType", type: { name: "String" } }, - databaseId: { - readOnly: true, - serializedName: "properties.databaseId", + networkIsolation: { + serializedName: "networkIsolation", type: { - name: "Uuid" + name: "Composite", + className: "NetworkIsolationSettings" } - }, - creationDate: { - readOnly: true, - serializedName: "properties.creationDate", + } + } + } +}; + +export const NetworkIsolationSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkIsolationSettings", + modelProperties: { + storageAccountResourceId: { + serializedName: "storageAccountResourceId", type: { - name: "DateTime" + name: "String" } }, - currentServiceObjectiveName: { - readOnly: true, - serializedName: "properties.currentServiceObjectiveName", + sqlServerResourceId: { + serializedName: "sqlServerResourceId", type: { name: "String" } - }, - requestedServiceObjectiveName: { + } + } + } +}; + +export const PrivateEndpointConnectionRequestStatus: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionRequestStatus", + modelProperties: { + privateLinkServiceId: { + serializedName: "privateLinkServiceId", readOnly: true, - serializedName: "properties.requestedServiceObjectiveName", type: { name: "String" } }, - defaultSecondaryLocation: { + privateEndpointConnectionName: { + serializedName: "privateEndpointConnectionName", readOnly: true, - serializedName: "properties.defaultSecondaryLocation", type: { name: "String" } }, - failoverGroupId: { + status: { + serializedName: "status", readOnly: true, - serializedName: "properties.failoverGroupId", type: { name: "String" } - }, - restorePointInTime: { - serializedName: "properties.restorePointInTime", - type: { - name: "DateTime" - } - }, - sourceDatabaseDeletionDate: { - serializedName: "properties.sourceDatabaseDeletionDate", - type: { - name: "DateTime" - } - }, - recoveryServicesRecoveryPointId: { - serializedName: "properties.recoveryServicesRecoveryPointId", + } + } + } +}; + +export const ExportDatabaseDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExportDatabaseDefinition", + modelProperties: { + storageKeyType: { + serializedName: "storageKeyType", + required: true, type: { name: "String" } }, - longTermRetentionBackupResourceId: { - serializedName: "properties.longTermRetentionBackupResourceId", + storageKey: { + serializedName: "storageKey", + required: true, type: { name: "String" } }, - recoverableDatabaseId: { - serializedName: "properties.recoverableDatabaseId", + storageUri: { + serializedName: "storageUri", + required: true, type: { name: "String" } }, - restorableDroppedDatabaseId: { - serializedName: "properties.restorableDroppedDatabaseId", + administratorLogin: { + serializedName: "administratorLogin", + required: true, type: { name: "String" } }, - catalogCollation: { - serializedName: "properties.catalogCollation", + administratorLoginPassword: { + serializedName: "administratorLoginPassword", + required: true, type: { name: "String" } }, - zoneRedundant: { - serializedName: "properties.zoneRedundant", - type: { - name: "Boolean" - } - }, - licenseType: { - serializedName: "properties.licenseType", + authenticationType: { + serializedName: "authenticationType", type: { name: "String" } }, - maxLogSizeBytes: { - readOnly: true, - serializedName: "properties.maxLogSizeBytes", + networkIsolation: { + serializedName: "networkIsolation", type: { - name: "Number" + name: "Composite", + className: "NetworkIsolationSettings" } - }, - earliestRestoreDate: { + } + } + } +}; + +export const ImportExportExtensionsOperationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImportExportExtensionsOperationListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.earliestRestoreDate", - type: { - name: "DateTime" - } - }, - readScale: { - serializedName: "properties.readScale", - type: { - name: "String" - } - }, - readReplicaCount: { - serializedName: "properties.readReplicaCount", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ImportExportExtensionsOperationResult" + } + } } }, - currentSku: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.currentSku", - type: { - name: "Composite", - className: "Sku" - } - }, - autoPauseDelay: { - serializedName: "properties.autoPauseDelay", - type: { - name: "Number" - } - }, - minCapacity: { - serializedName: "properties.minCapacity", type: { - name: "Number" + name: "String" } - }, - pausedDate: { + } + } + } +}; + +export const DatabaseOperationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseOperationListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.pausedDate", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseOperation" + } + } } }, - resumedDate: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.resumedDate", - type: { - name: "DateTime" - } - }, - tags: { - serializedName: "tags", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" } } } } }; -export const ResourceMoveDefinition: msRest.CompositeMapper = { - serializedName: "ResourceMoveDefinition", +export const DatabaseUsageListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ResourceMoveDefinition", + className: "DatabaseUsageListResult", modelProperties: { - id: { - required: true, - serializedName: "id", + value: { + serializedName: "value", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseUsage" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -6934,84 +7400,85 @@ export const ResourceMoveDefinition: msRest.CompositeMapper = { } }; -export const ElasticPoolPerDatabaseSettings: msRest.CompositeMapper = { - serializedName: "ElasticPoolPerDatabaseSettings", +export const LedgerDigestUploadsListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolPerDatabaseSettings", + className: "LedgerDigestUploadsListResult", modelProperties: { - minCapacity: { - serializedName: "minCapacity", + value: { + serializedName: "value", + readOnly: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LedgerDigestUploads" + } + } } }, - maxCapacity: { - serializedName: "maxCapacity", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { - name: "Number" + name: "String" } } } } }; -export const ElasticPool: msRest.CompositeMapper = { - serializedName: "ElasticPool", +export const OutboundFirewallRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPool", + className: "OutboundFirewallRuleListResult", modelProperties: { - ...TrackedResource.type.modelProperties, - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "Sku" - } - }, - kind: { + value: { + serializedName: "value", readOnly: true, - serializedName: "kind", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OutboundFirewallRule" + } + } } }, - state: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.state", type: { name: "String" } - }, - creationDate: { + } + } + } +}; + +export const ReplicationLinkListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationLinkListResult", + modelProperties: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.creationDate", - type: { - name: "DateTime" - } - }, - maxSizeBytes: { - serializedName: "properties.maxSizeBytes", - type: { - name: "Number" - } - }, - perDatabaseSettings: { - serializedName: "properties.perDatabaseSettings", - type: { - name: "Composite", - className: "ElasticPoolPerDatabaseSettings" - } - }, - zoneRedundant: { - serializedName: "properties.zoneRedundant", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReplicationLink" + } + } } }, - licenseType: { - serializedName: "properties.licenseType", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -7020,75 +7487,56 @@ export const ElasticPool: msRest.CompositeMapper = { } }; -export const ElasticPoolUpdate: msRest.CompositeMapper = { - serializedName: "ElasticPoolUpdate", +export const RestorableDroppedDatabaseListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolUpdate", + className: "RestorableDroppedDatabaseListResult", modelProperties: { - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "Sku" - } - }, - maxSizeBytes: { - serializedName: "properties.maxSizeBytes", - type: { - name: "Number" - } - }, - perDatabaseSettings: { - serializedName: "properties.perDatabaseSettings", - type: { - name: "Composite", - className: "ElasticPoolPerDatabaseSettings" - } - }, - zoneRedundant: { - serializedName: "properties.zoneRedundant", + value: { + serializedName: "value", + readOnly: true, type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RestorableDroppedDatabase" + } + } } }, - licenseType: { - serializedName: "properties.licenseType", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } - } } } } }; -export const VulnerabilityAssessmentScanError: msRest.CompositeMapper = { - serializedName: "VulnerabilityAssessmentScanError", +export const RestorableDroppedManagedDatabaseListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VulnerabilityAssessmentScanError", + className: "RestorableDroppedManagedDatabaseListResult", modelProperties: { - code: { + value: { + serializedName: "value", readOnly: true, - serializedName: "code", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RestorableDroppedManagedDatabase" + } + } } }, - message: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "message", type: { name: "String" } @@ -7097,501 +7545,356 @@ export const VulnerabilityAssessmentScanError: msRest.CompositeMapper = { } }; -export const VulnerabilityAssessmentScanRecord: msRest.CompositeMapper = { - serializedName: "VulnerabilityAssessmentScanRecord", +export const ServerListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VulnerabilityAssessmentScanRecord", + className: "ServerListResult", modelProperties: { - ...ProxyResource.type.modelProperties, - scanId: { - readOnly: true, - serializedName: "properties.scanId", - type: { - name: "String" - } - }, - triggerType: { - readOnly: true, - serializedName: "properties.triggerType", - type: { - name: "String" - } - }, - state: { - readOnly: true, - serializedName: "properties.state", - type: { - name: "String" - } - }, - startTime: { - readOnly: true, - serializedName: "properties.startTime", - type: { - name: "DateTime" - } - }, - endTime: { - readOnly: true, - serializedName: "properties.endTime", - type: { - name: "DateTime" - } - }, - errors: { + value: { + serializedName: "value", readOnly: true, - serializedName: "properties.errors", type: { name: "Sequence", element: { type: { name: "Composite", - className: "VulnerabilityAssessmentScanError" + className: "Server" } } } }, - storageContainerPath: { + nextLink: { + serializedName: "nextLink", readOnly: true, - serializedName: "properties.storageContainerPath", type: { name: "String" } - }, - numberOfFailedSecurityChecks: { - readOnly: true, - serializedName: "properties.numberOfFailedSecurityChecks", - type: { - name: "Number" - } } } } }; -export const DatabaseVulnerabilityAssessmentScansExport: msRest.CompositeMapper = { - serializedName: "DatabaseVulnerabilityAssessmentScansExport", +export const ServerPrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseVulnerabilityAssessmentScansExport", + className: "ServerPrivateEndpointConnection", modelProperties: { - ...ProxyResource.type.modelProperties, - exportedReportLocation: { + id: { + serializedName: "id", readOnly: true, - serializedName: "properties.exportedReportLocation", type: { name: "String" } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "PrivateEndpointConnectionProperties" + } } } } }; -export const InstanceFailoverGroupReadWriteEndpoint: msRest.CompositeMapper = { - serializedName: "InstanceFailoverGroupReadWriteEndpoint", +export const ServerExternalAdministrator: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InstanceFailoverGroupReadWriteEndpoint", + className: "ServerExternalAdministrator", modelProperties: { - failoverPolicy: { - required: true, - serializedName: "failoverPolicy", + administratorType: { + serializedName: "administratorType", type: { name: "String" } }, - failoverWithDataLossGracePeriodMinutes: { - serializedName: "failoverWithDataLossGracePeriodMinutes", + principalType: { + serializedName: "principalType", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const InstanceFailoverGroupReadOnlyEndpoint: msRest.CompositeMapper = { - serializedName: "InstanceFailoverGroupReadOnlyEndpoint", - type: { - name: "Composite", - className: "InstanceFailoverGroupReadOnlyEndpoint", - modelProperties: { - failoverPolicy: { - serializedName: "failoverPolicy", + }, + login: { + serializedName: "login", type: { name: "String" } - } - } - } -}; - -export const PartnerRegionInfo: msRest.CompositeMapper = { - serializedName: "PartnerRegionInfo", - type: { - name: "Composite", - className: "PartnerRegionInfo", - modelProperties: { - location: { - serializedName: "location", + }, + sid: { + serializedName: "sid", type: { - name: "String" + name: "Uuid" } }, - replicationRole: { - readOnly: true, - serializedName: "replicationRole", + tenantId: { + serializedName: "tenantId", type: { - name: "String" + name: "Uuid" + } + }, + azureADOnlyAuthentication: { + serializedName: "azureADOnlyAuthentication", + type: { + name: "Boolean" } } } } }; -export const ManagedInstancePairInfo: msRest.CompositeMapper = { - serializedName: "ManagedInstancePairInfo", +export const ServerUpdate: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstancePairInfo", + className: "ServerUpdate", modelProperties: { - primaryManagedInstanceId: { - serializedName: "primaryManagedInstanceId", + identity: { + serializedName: "identity", type: { - name: "String" + name: "Composite", + className: "ResourceIdentity" } }, - partnerManagedInstanceId: { - serializedName: "partnerManagedInstanceId", + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + administratorLogin: { + serializedName: "properties.administratorLogin", type: { name: "String" } - } - } - } -}; - -export const InstanceFailoverGroup: msRest.CompositeMapper = { - serializedName: "InstanceFailoverGroup", - type: { - name: "Composite", - className: "InstanceFailoverGroup", - modelProperties: { - ...ProxyResource.type.modelProperties, - readWriteEndpoint: { - required: true, - serializedName: "properties.readWriteEndpoint", + }, + administratorLoginPassword: { + serializedName: "properties.administratorLoginPassword", type: { - name: "Composite", - className: "InstanceFailoverGroupReadWriteEndpoint" + name: "String" } }, - readOnlyEndpoint: { - serializedName: "properties.readOnlyEndpoint", + version: { + serializedName: "properties.version", type: { - name: "Composite", - className: "InstanceFailoverGroupReadOnlyEndpoint" + name: "String" } }, - replicationRole: { + state: { + serializedName: "properties.state", readOnly: true, - serializedName: "properties.replicationRole", type: { name: "String" } }, - replicationState: { + fullyQualifiedDomainName: { + serializedName: "properties.fullyQualifiedDomainName", readOnly: true, - serializedName: "properties.replicationState", type: { name: "String" } }, - partnerRegions: { - required: true, - serializedName: "properties.partnerRegions", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "PartnerRegionInfo" + className: "ServerPrivateEndpointConnection" } } } }, - managedInstancePairs: { - required: true, - serializedName: "properties.managedInstancePairs", + minimalTlsVersion: { + serializedName: "properties.minimalTlsVersion", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedInstancePairInfo" - } - } + name: "String" } - } - } - } -}; - -export const BackupShortTermRetentionPolicy: msRest.CompositeMapper = { - serializedName: "BackupShortTermRetentionPolicy", - type: { - name: "Composite", - className: "BackupShortTermRetentionPolicy", - modelProperties: { - ...ProxyResource.type.modelProperties, - retentionDays: { - serializedName: "properties.retentionDays", - type: { - name: "Number" - } - } - } - } -}; - -export const TdeCertificate: msRest.CompositeMapper = { - serializedName: "TdeCertificate", - type: { - name: "Composite", - className: "TdeCertificate", - modelProperties: { - ...ProxyResource.type.modelProperties, - privateBlob: { - required: true, - serializedName: "properties.privateBlob", + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - certPassword: { - serializedName: "properties.certPassword", + workspaceFeature: { + serializedName: "properties.workspaceFeature", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const ManagedInstanceKey: msRest.CompositeMapper = { - serializedName: "ManagedInstanceKey", - type: { - name: "Composite", - className: "ManagedInstanceKey", - modelProperties: { - ...ProxyResource.type.modelProperties, - kind: { - readOnly: true, - serializedName: "kind", + }, + primaryUserAssignedIdentityId: { + serializedName: "properties.primaryUserAssignedIdentityId", type: { name: "String" } }, - serverKeyType: { - required: true, - serializedName: "properties.serverKeyType", + federatedClientId: { + serializedName: "properties.federatedClientId", type: { - name: "String" + name: "Uuid" } }, - uri: { - serializedName: "properties.uri", + keyId: { + serializedName: "properties.keyId", type: { name: "String" } }, - thumbprint: { - readOnly: true, - serializedName: "properties.thumbprint", + administrators: { + serializedName: "properties.administrators", type: { - name: "String" + name: "Composite", + className: "ServerExternalAdministrator" } }, - creationDate: { - readOnly: true, - serializedName: "properties.creationDate", + restrictOutboundNetworkAccess: { + serializedName: "properties.restrictOutboundNetworkAccess", type: { - name: "DateTime" + name: "String" } } } } }; -export const ManagedInstanceEncryptionProtector: msRest.CompositeMapper = { - serializedName: "ManagedInstanceEncryptionProtector", +export const ImportNewDatabaseDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceEncryptionProtector", + className: "ImportNewDatabaseDefinition", modelProperties: { - ...ProxyResource.type.modelProperties, - kind: { - readOnly: true, - serializedName: "kind", + databaseName: { + serializedName: "databaseName", type: { name: "String" } }, - serverKeyName: { - serializedName: "properties.serverKeyName", + edition: { + serializedName: "edition", type: { name: "String" } }, - serverKeyType: { - required: true, - serializedName: "properties.serverKeyType", + serviceObjectiveName: { + serializedName: "serviceObjectiveName", type: { name: "String" } }, - uri: { - readOnly: true, - serializedName: "properties.uri", + maxSizeBytes: { + serializedName: "maxSizeBytes", type: { name: "String" } }, - thumbprint: { - readOnly: true, - serializedName: "properties.thumbprint", + storageKeyType: { + serializedName: "storageKeyType", + required: true, type: { name: "String" } - } - } - } -}; - -export const RecoverableManagedDatabase: msRest.CompositeMapper = { - serializedName: "RecoverableManagedDatabase", - type: { - name: "Composite", - className: "RecoverableManagedDatabase", - modelProperties: { - ...ProxyResource.type.modelProperties, - lastAvailableBackupDate: { - readOnly: true, - serializedName: "properties.lastAvailableBackupDate", + }, + storageKey: { + serializedName: "storageKey", + required: true, type: { name: "String" } - } - } - } -}; - -export const ManagedInstanceVulnerabilityAssessment: msRest.CompositeMapper = { - serializedName: "ManagedInstanceVulnerabilityAssessment", - type: { - name: "Composite", - className: "ManagedInstanceVulnerabilityAssessment", - modelProperties: { - ...ProxyResource.type.modelProperties, - storageContainerPath: { + }, + storageUri: { + serializedName: "storageUri", required: true, - serializedName: "properties.storageContainerPath", type: { name: "String" } }, - storageContainerSasKey: { - serializedName: "properties.storageContainerSasKey", + administratorLogin: { + serializedName: "administratorLogin", + required: true, type: { name: "String" } }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", + administratorLoginPassword: { + serializedName: "administratorLoginPassword", + required: true, type: { name: "String" } }, - recurringScans: { - serializedName: "properties.recurringScans", + authenticationType: { + serializedName: "authenticationType", + type: { + name: "String" + } + }, + networkIsolation: { + serializedName: "networkIsolation", type: { name: "Composite", - className: "VulnerabilityAssessmentRecurringScansProperties" + className: "NetworkIsolationSettings" } } } } }; -export const ServerVulnerabilityAssessment: msRest.CompositeMapper = { - serializedName: "ServerVulnerabilityAssessment", +export const CheckNameAvailabilityRequest: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerVulnerabilityAssessment", + className: "CheckNameAvailabilityRequest", modelProperties: { - ...ProxyResource.type.modelProperties, - storageContainerPath: { + name: { + serializedName: "name", required: true, - serializedName: "properties.storageContainerPath", - type: { - name: "String" - } - }, - storageContainerSasKey: { - serializedName: "properties.storageContainerSasKey", type: { name: "String" } }, - storageAccountAccessKey: { - serializedName: "properties.storageAccountAccessKey", + type: { + defaultValue: "Microsoft.Sql/servers", + isConstant: true, + serializedName: "type", type: { name: "String" } - }, - recurringScans: { - serializedName: "properties.recurringScans", - type: { - name: "Composite", - className: "VulnerabilityAssessmentRecurringScansProperties" - } } } } }; -export const InstancePool: msRest.CompositeMapper = { - serializedName: "InstancePool", +export const CheckNameAvailabilityResponse: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InstancePool", + className: "CheckNameAvailabilityResponse", modelProperties: { - ...TrackedResource.type.modelProperties, - sku: { - serializedName: "sku", + name: { + serializedName: "name", + readOnly: true, type: { - name: "Composite", - className: "Sku" + name: "String" } }, - subnetId: { - required: true, - serializedName: "properties.subnetId", + available: { + serializedName: "available", + readOnly: true, type: { - name: "String" + name: "Boolean" } }, - vCores: { - required: true, - serializedName: "properties.vCores", + reason: { + serializedName: "reason", + readOnly: true, type: { - name: "Number" + name: "Enum", + allowedValues: ["Invalid", "AlreadyExists"] } }, - licenseType: { - required: true, - serializedName: "properties.licenseType", + message: { + serializedName: "message", + readOnly: true, type: { name: "String" } @@ -7600,41 +7903,27 @@ export const InstancePool: msRest.CompositeMapper = { } }; -export const InstancePoolUpdate: msRest.CompositeMapper = { - serializedName: "InstancePoolUpdate", +export const UsageListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InstancePoolUpdate", + className: "UsageListResult", modelProperties: { - tags: { - serializedName: "tags", + value: { + serializedName: "value", + readOnly: true, type: { - name: "Dictionary", - value: { + name: "Sequence", + element: { type: { - name: "String" + name: "Composite", + className: "Usage" } } } - } - } - } -}; - -export const Name: msRest.CompositeMapper = { - serializedName: "Name", - type: { - name: "Composite", - className: "Name", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "String" - } }, - localizedValue: { - serializedName: "localizedValue", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -7643,21 +7932,19 @@ export const Name: msRest.CompositeMapper = { } }; -export const Usage: msRest.CompositeMapper = { - serializedName: "Usage", +export const Usage: coreClient.CompositeMapper = { type: { name: "Composite", className: "Usage", modelProperties: { id: { - readOnly: true, serializedName: "id", + readOnly: true, type: { name: "String" } }, name: { - readOnly: true, serializedName: "name", type: { name: "Composite", @@ -7665,36 +7952,36 @@ export const Usage: msRest.CompositeMapper = { } }, type: { - readOnly: true, serializedName: "type", + readOnly: true, type: { name: "String" } }, unit: { - readOnly: true, serializedName: "unit", + readOnly: true, type: { name: "String" } }, currentValue: { - readOnly: true, serializedName: "currentValue", + readOnly: true, type: { name: "Number" } }, limit: { - readOnly: true, serializedName: "limit", + readOnly: true, type: { name: "Number" } }, requestedLimit: { - readOnly: true, serializedName: "requestedLimit", + readOnly: true, type: { name: "Number" } @@ -7703,665 +7990,768 @@ export const Usage: msRest.CompositeMapper = { } }; -export const ManagedInstance: msRest.CompositeMapper = { - serializedName: "ManagedInstance", +export const Name: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstance", + className: "Name", modelProperties: { - ...TrackedResource.type.modelProperties, - identity: { - serializedName: "identity", + value: { + serializedName: "value", type: { - name: "Composite", - className: "ResourceIdentity" + name: "String" } }, - sku: { - serializedName: "sku", + localizedValue: { + serializedName: "localizedValue", type: { - name: "Composite", - className: "Sku" + name: "String" } - }, - managedInstanceCreateMode: { - serializedName: "properties.managedInstanceCreateMode", + } + } + } +}; + +export const SloUsageMetric: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SloUsageMetric", + modelProperties: { + serviceLevelObjective: { + serializedName: "serviceLevelObjective", + readOnly: true, type: { name: "String" } }, - fullyQualifiedDomainName: { + serviceLevelObjectiveId: { + serializedName: "serviceLevelObjectiveId", readOnly: true, - serializedName: "properties.fullyQualifiedDomainName", type: { - name: "String" + name: "Uuid" } }, - administratorLogin: { - serializedName: "properties.administratorLogin", + inRangeTimeRatio: { + serializedName: "inRangeTimeRatio", + readOnly: true, type: { - name: "String" + name: "Number" } - }, - administratorLoginPassword: { - serializedName: "properties.administratorLoginPassword", + } + } + } +}; + +export const OperationImpact: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationImpact", + modelProperties: { + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - subnetId: { - serializedName: "properties.subnetId", + unit: { + serializedName: "unit", + readOnly: true, type: { name: "String" } }, - state: { + changeValueAbsolute: { + serializedName: "changeValueAbsolute", readOnly: true, - serializedName: "properties.state", type: { - name: "String" + name: "Number" } }, - licenseType: { - serializedName: "properties.licenseType", + changeValueRelative: { + serializedName: "changeValueRelative", + readOnly: true, type: { - name: "String" + name: "Number" } - }, - vCores: { - serializedName: "properties.vCores", + } + } + } +}; + +export const SecurityEventsFilterParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityEventsFilterParameters", + modelProperties: { + eventTime: { + serializedName: "eventTime", type: { - name: "Number" + name: "DateTime" } }, - storageSizeInGB: { - serializedName: "properties.storageSizeInGB", + showServerRecords: { + serializedName: "showServerRecords", type: { - name: "Number" + name: "Boolean" } - }, - collation: { - serializedName: "properties.collation", + } + } + } +}; + +export const ProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + +export const TrackedResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + location: { + serializedName: "location", + required: true, type: { name: "String" } }, - dnsZone: { - readOnly: true, - serializedName: "properties.dnsZone", + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } - }, - dnsZonePartner: { - serializedName: "properties.dnsZonePartner", + } + } + } +}; + +export const ProxyResourceWithWritableName: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResourceWithWritableName", + modelProperties: { + ...ResourceWithWritableName.type.modelProperties + } + } +}; + +export const RecoverableDatabase: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoverableDatabase", + modelProperties: { + ...ProxyResource.type.modelProperties, + edition: { + serializedName: "properties.edition", + readOnly: true, type: { name: "String" } }, - publicDataEndpointEnabled: { - serializedName: "properties.publicDataEndpointEnabled", + serviceLevelObjective: { + serializedName: "properties.serviceLevelObjective", + readOnly: true, type: { - name: "Boolean" + name: "String" } }, - sourceManagedInstanceId: { - serializedName: "properties.sourceManagedInstanceId", + elasticPoolName: { + serializedName: "properties.elasticPoolName", + readOnly: true, type: { name: "String" } }, - restorePointInTime: { - serializedName: "properties.restorePointInTime", + lastAvailableBackupDate: { + serializedName: "properties.lastAvailableBackupDate", + readOnly: true, type: { name: "DateTime" } - }, - proxyOverride: { - serializedName: "properties.proxyOverride", + } + } + } +}; + +export const ServerConnectionPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerConnectionPolicy", + modelProperties: { + ...ProxyResource.type.modelProperties, + kind: { + serializedName: "kind", + readOnly: true, type: { name: "String" } }, - timezoneId: { - serializedName: "properties.timezoneId", + location: { + serializedName: "location", + readOnly: true, type: { name: "String" } }, - instancePoolId: { - serializedName: "properties.instancePoolId", + connectionType: { + serializedName: "properties.connectionType", type: { - name: "String" + name: "Enum", + allowedValues: ["Default", "Proxy", "Redirect"] } } } } }; -export const ManagedInstanceUpdate: msRest.CompositeMapper = { - serializedName: "ManagedInstanceUpdate", +export const DataMaskingPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceUpdate", + className: "DataMaskingPolicy", modelProperties: { - sku: { - serializedName: "sku", - type: { - name: "Composite", - className: "Sku" - } - }, - managedInstanceCreateMode: { - serializedName: "properties.managedInstanceCreateMode", + ...ProxyResource.type.modelProperties, + location: { + serializedName: "location", + readOnly: true, type: { name: "String" } }, - fullyQualifiedDomainName: { + kind: { + serializedName: "kind", readOnly: true, - serializedName: "properties.fullyQualifiedDomainName", type: { name: "String" } }, - administratorLogin: { - serializedName: "properties.administratorLogin", + dataMaskingState: { + serializedName: "properties.dataMaskingState", type: { - name: "String" + name: "Enum", + allowedValues: ["Disabled", "Enabled"] } }, - administratorLoginPassword: { - serializedName: "properties.administratorLoginPassword", + exemptPrincipals: { + serializedName: "properties.exemptPrincipals", type: { name: "String" } }, - subnetId: { - serializedName: "properties.subnetId", + applicationPrincipals: { + serializedName: "properties.applicationPrincipals", + readOnly: true, type: { name: "String" } }, - state: { + maskingLevel: { + serializedName: "properties.maskingLevel", readOnly: true, - serializedName: "properties.state", type: { name: "String" } - }, - licenseType: { - serializedName: "properties.licenseType", + } + } + } +}; + +export const DataMaskingRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DataMaskingRule", + modelProperties: { + ...ProxyResource.type.modelProperties, + location: { + serializedName: "location", + readOnly: true, type: { name: "String" } }, - vCores: { - serializedName: "properties.vCores", - type: { - name: "Number" - } - }, - storageSizeInGB: { - serializedName: "properties.storageSizeInGB", - type: { - name: "Number" - } - }, - collation: { - serializedName: "properties.collation", + kind: { + serializedName: "kind", + readOnly: true, type: { name: "String" } }, - dnsZone: { + idPropertiesId: { + serializedName: "properties.id", readOnly: true, - serializedName: "properties.dnsZone", type: { name: "String" } }, - dnsZonePartner: { - serializedName: "properties.dnsZonePartner", + aliasName: { + serializedName: "properties.aliasName", type: { name: "String" } }, - publicDataEndpointEnabled: { - serializedName: "properties.publicDataEndpointEnabled", + ruleState: { + serializedName: "properties.ruleState", type: { - name: "Boolean" + name: "Enum", + allowedValues: ["Disabled", "Enabled"] } }, - sourceManagedInstanceId: { - serializedName: "properties.sourceManagedInstanceId", + schemaName: { + serializedName: "properties.schemaName", type: { name: "String" } }, - restorePointInTime: { - serializedName: "properties.restorePointInTime", + tableName: { + serializedName: "properties.tableName", type: { - name: "DateTime" + name: "String" } }, - proxyOverride: { - serializedName: "properties.proxyOverride", + columnName: { + serializedName: "properties.columnName", type: { name: "String" } }, - timezoneId: { - serializedName: "properties.timezoneId", + maskingFunction: { + serializedName: "properties.maskingFunction", + type: { + name: "Enum", + allowedValues: ["Default", "CCN", "Email", "Number", "SSN", "Text"] + } + }, + numberFrom: { + serializedName: "properties.numberFrom", type: { name: "String" } }, - instancePoolId: { - serializedName: "properties.instancePoolId", + numberTo: { + serializedName: "properties.numberTo", type: { name: "String" } }, - tags: { - serializedName: "tags", + prefixSize: { + serializedName: "properties.prefixSize", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" + } + }, + suffixSize: { + serializedName: "properties.suffixSize", + type: { + name: "String" + } + }, + replacementString: { + serializedName: "properties.replacementString", + type: { + name: "String" } } } } }; -export const ManagedDatabaseRestoreDetailsResult: msRest.CompositeMapper = { - serializedName: "ManagedDatabaseRestoreDetailsResult", +export const GeoBackupPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedDatabaseRestoreDetailsResult", + className: "GeoBackupPolicy", modelProperties: { ...ProxyResource.type.modelProperties, - status: { + kind: { + serializedName: "kind", readOnly: true, - serializedName: "properties.status", type: { name: "String" } }, - currentRestoringFileName: { + location: { + serializedName: "location", readOnly: true, - serializedName: "properties.currentRestoringFileName", type: { name: "String" } }, - lastRestoredFileName: { + state: { + serializedName: "properties.state", + required: true, + type: { + name: "Enum", + allowedValues: ["Disabled", "Enabled"] + } + }, + storageType: { + serializedName: "properties.storageType", readOnly: true, - serializedName: "properties.lastRestoredFileName", type: { name: "String" } - }, - lastRestoredFileTime: { + } + } + } +}; + +export const ServerCommunicationLink: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerCommunicationLink", + modelProperties: { + ...ProxyResource.type.modelProperties, + location: { + serializedName: "location", readOnly: true, - serializedName: "properties.lastRestoredFileTime", type: { - name: "DateTime" + name: "String" } }, - percentCompleted: { + kind: { + serializedName: "kind", readOnly: true, - serializedName: "properties.percentCompleted", type: { - name: "Number" + name: "String" } }, - unrestorableFiles: { + state: { + serializedName: "properties.state", readOnly: true, - serializedName: "properties.unrestorableFiles", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - numberOfFilesDetected: { + partnerServer: { + serializedName: "properties.partnerServer", + type: { + name: "String" + } + } + } + } +}; + +export const ServiceObjective: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceObjective", + modelProperties: { + ...ProxyResource.type.modelProperties, + serviceObjectiveName: { + serializedName: "properties.serviceObjectiveName", readOnly: true, - serializedName: "properties.numberOfFilesDetected", type: { - name: "Number" + name: "String" } }, - lastUploadedFileName: { + isDefault: { + serializedName: "properties.isDefault", readOnly: true, - serializedName: "properties.lastUploadedFileName", type: { - name: "String" + name: "Boolean" } }, - lastUploadedFileTime: { + isSystem: { + serializedName: "properties.isSystem", readOnly: true, - serializedName: "properties.lastUploadedFileTime", type: { - name: "DateTime" + name: "Boolean" } }, - blockReason: { + description: { + serializedName: "properties.description", readOnly: true, - serializedName: "properties.blockReason", type: { name: "String" } + }, + enabled: { + serializedName: "properties.enabled", + readOnly: true, + type: { + name: "Boolean" + } } } } }; -export const ManagedDatabase: msRest.CompositeMapper = { - serializedName: "ManagedDatabase", +export const ElasticPoolActivity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedDatabase", + className: "ElasticPoolActivity", modelProperties: { - ...TrackedResource.type.modelProperties, - collation: { - serializedName: "properties.collation", + ...ProxyResource.type.modelProperties, + location: { + serializedName: "location", type: { name: "String" } }, - status: { + endTime: { + serializedName: "properties.endTime", readOnly: true, - serializedName: "properties.status", type: { - name: "String" + name: "DateTime" } }, - creationDate: { + errorCode: { + serializedName: "properties.errorCode", readOnly: true, - serializedName: "properties.creationDate", type: { - name: "DateTime" + name: "Number" } }, - earliestRestorePoint: { + errorMessage: { + serializedName: "properties.errorMessage", readOnly: true, - serializedName: "properties.earliestRestorePoint", type: { - name: "DateTime" + name: "String" } }, - restorePointInTime: { - serializedName: "properties.restorePointInTime", + errorSeverity: { + serializedName: "properties.errorSeverity", + readOnly: true, type: { - name: "DateTime" + name: "Number" } }, - defaultSecondaryLocation: { + operation: { + serializedName: "properties.operation", readOnly: true, - serializedName: "properties.defaultSecondaryLocation", type: { name: "String" } }, - catalogCollation: { - serializedName: "properties.catalogCollation", + operationId: { + serializedName: "properties.operationId", + readOnly: true, type: { - name: "String" + name: "Uuid" } }, - createMode: { - serializedName: "properties.createMode", + percentComplete: { + serializedName: "properties.percentComplete", + readOnly: true, type: { - name: "String" + name: "Number" } }, - storageContainerUri: { - serializedName: "properties.storageContainerUri", + requestedDatabaseDtuMax: { + serializedName: "properties.requestedDatabaseDtuMax", + readOnly: true, type: { - name: "String" + name: "Number" } }, - sourceDatabaseId: { - serializedName: "properties.sourceDatabaseId", + requestedDatabaseDtuMin: { + serializedName: "properties.requestedDatabaseDtuMin", + readOnly: true, type: { - name: "String" + name: "Number" } }, - restorableDroppedDatabaseId: { - serializedName: "properties.restorableDroppedDatabaseId", + requestedDtu: { + serializedName: "properties.requestedDtu", + readOnly: true, type: { - name: "String" + name: "Number" } }, - storageContainerSasToken: { - serializedName: "properties.storageContainerSasToken", + requestedElasticPoolName: { + serializedName: "properties.requestedElasticPoolName", + readOnly: true, type: { name: "String" } }, - failoverGroupId: { + requestedStorageLimitInGB: { + serializedName: "properties.requestedStorageLimitInGB", + readOnly: true, + type: { + name: "Number" + } + }, + elasticPoolName: { + serializedName: "properties.elasticPoolName", readOnly: true, - serializedName: "properties.failoverGroupId", type: { name: "String" } }, - recoverableDatabaseId: { - serializedName: "properties.recoverableDatabaseId", + serverName: { + serializedName: "properties.serverName", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const ManagedDatabaseUpdate: msRest.CompositeMapper = { - serializedName: "ManagedDatabaseUpdate", - type: { - name: "Composite", - className: "ManagedDatabaseUpdate", - modelProperties: { - collation: { - serializedName: "properties.collation", + }, + startTime: { + serializedName: "properties.startTime", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - status: { + state: { + serializedName: "properties.state", readOnly: true, - serializedName: "properties.status", type: { name: "String" } }, - creationDate: { + requestedStorageLimitInMB: { + serializedName: "properties.requestedStorageLimitInMB", readOnly: true, - serializedName: "properties.creationDate", type: { - name: "DateTime" + name: "Number" } }, - earliestRestorePoint: { + requestedDatabaseDtuGuarantee: { + serializedName: "properties.requestedDatabaseDtuGuarantee", readOnly: true, - serializedName: "properties.earliestRestorePoint", type: { - name: "DateTime" + name: "Number" } }, - restorePointInTime: { - serializedName: "properties.restorePointInTime", + requestedDatabaseDtuCap: { + serializedName: "properties.requestedDatabaseDtuCap", + readOnly: true, type: { - name: "DateTime" + name: "Number" } }, - defaultSecondaryLocation: { + requestedDtuGuarantee: { + serializedName: "properties.requestedDtuGuarantee", readOnly: true, - serializedName: "properties.defaultSecondaryLocation", type: { - name: "String" + name: "Number" } - }, - catalogCollation: { - serializedName: "properties.catalogCollation", + } + } + } +}; + +export const ElasticPoolDatabaseActivity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ElasticPoolDatabaseActivity", + modelProperties: { + ...ProxyResource.type.modelProperties, + location: { + serializedName: "location", type: { name: "String" } }, - createMode: { - serializedName: "properties.createMode", + databaseName: { + serializedName: "properties.databaseName", + readOnly: true, type: { name: "String" } }, - storageContainerUri: { - serializedName: "properties.storageContainerUri", + endTime: { + serializedName: "properties.endTime", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - sourceDatabaseId: { - serializedName: "properties.sourceDatabaseId", + errorCode: { + serializedName: "properties.errorCode", + readOnly: true, type: { - name: "String" + name: "Number" } }, - restorableDroppedDatabaseId: { - serializedName: "properties.restorableDroppedDatabaseId", + errorMessage: { + serializedName: "properties.errorMessage", + readOnly: true, type: { name: "String" } }, - storageContainerSasToken: { - serializedName: "properties.storageContainerSasToken", + errorSeverity: { + serializedName: "properties.errorSeverity", + readOnly: true, type: { - name: "String" + name: "Number" } }, - failoverGroupId: { + operation: { + serializedName: "properties.operation", readOnly: true, - serializedName: "properties.failoverGroupId", type: { name: "String" } }, - recoverableDatabaseId: { - serializedName: "properties.recoverableDatabaseId", + operationId: { + serializedName: "properties.operationId", + readOnly: true, type: { - name: "String" + name: "Uuid" } }, - tags: { - serializedName: "tags", + percentComplete: { + serializedName: "properties.percentComplete", + readOnly: true, type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "Number" } - } - } - } -}; - -export const CompleteDatabaseRestoreDefinition: msRest.CompositeMapper = { - serializedName: "CompleteDatabaseRestoreDefinition", - type: { - name: "Composite", - className: "CompleteDatabaseRestoreDefinition", - modelProperties: { - lastBackupName: { - required: true, - serializedName: "lastBackupName", + }, + requestedElasticPoolName: { + serializedName: "properties.requestedElasticPoolName", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const PrivateEndpointProperty: msRest.CompositeMapper = { - serializedName: "PrivateEndpointProperty", - type: { - name: "Composite", - className: "PrivateEndpointProperty", - modelProperties: { - id: { - serializedName: "id", + }, + currentElasticPoolName: { + serializedName: "properties.currentElasticPoolName", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const PrivateLinkServiceConnectionStateProperty: msRest.CompositeMapper = { - serializedName: "PrivateLinkServiceConnectionStateProperty", - type: { - name: "Composite", - className: "PrivateLinkServiceConnectionStateProperty", - modelProperties: { - status: { - required: true, - serializedName: "status", + }, + currentServiceObjective: { + serializedName: "properties.currentServiceObjective", + readOnly: true, type: { name: "String" } }, - description: { - required: true, - serializedName: "description", + requestedServiceObjective: { + serializedName: "properties.requestedServiceObjective", + readOnly: true, type: { name: "String" } }, - actionsRequired: { + serverName: { + serializedName: "properties.serverName", readOnly: true, - serializedName: "actionsRequired", type: { name: "String" } - } - } - } -}; - -export const PrivateEndpointConnection: msRest.CompositeMapper = { - serializedName: "PrivateEndpointConnection", - type: { - name: "Composite", - className: "PrivateEndpointConnection", - modelProperties: { - ...ProxyResource.type.modelProperties, - privateEndpoint: { - serializedName: "properties.privateEndpoint", - type: { - name: "Composite", - className: "PrivateEndpointProperty" - } }, - privateLinkServiceConnectionState: { - serializedName: "properties.privateLinkServiceConnectionState", + startTime: { + serializedName: "properties.startTime", + readOnly: true, type: { - name: "Composite", - className: "PrivateLinkServiceConnectionStateProperty" + name: "DateTime" } }, - provisioningState: { + state: { + serializedName: "properties.state", readOnly: true, - serializedName: "properties.provisioningState", type: { name: "String" } @@ -8370,340 +8760,662 @@ export const PrivateEndpointConnection: msRest.CompositeMapper = { } }; -export const PrivateLinkResourceProperties: msRest.CompositeMapper = { - serializedName: "PrivateLinkResourceProperties", +export const TransparentDataEncryption: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateLinkResourceProperties", + className: "TransparentDataEncryption", modelProperties: { - groupId: { + ...ProxyResource.type.modelProperties, + location: { + serializedName: "location", readOnly: true, - serializedName: "groupId", type: { name: "String" } }, - requiredMembers: { - readOnly: true, - serializedName: "requiredMembers", + status: { + serializedName: "properties.status", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Enum", + allowedValues: ["Enabled", "Disabled"] } } } } }; -export const PrivateLinkResource: msRest.CompositeMapper = { - serializedName: "PrivateLinkResource", +export const TransparentDataEncryptionActivity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateLinkResource", + className: "TransparentDataEncryptionActivity", modelProperties: { ...ProxyResource.type.modelProperties, - properties: { + location: { + serializedName: "location", readOnly: true, - serializedName: "properties", type: { - name: "Composite", - className: "PrivateLinkResourceProperties" + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + percentComplete: { + serializedName: "properties.percentComplete", + readOnly: true, + type: { + name: "Number" } } } } }; -export const RecoverableDatabaseListResult: msRest.CompositeMapper = { - serializedName: "RecoverableDatabaseListResult", +export const ExtendedDatabaseBlobAuditingPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecoverableDatabaseListResult", + className: "ExtendedDatabaseBlobAuditingPolicy", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + predicateExpression: { + serializedName: "properties.predicateExpression", + type: { + name: "String" + } + }, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + auditActionsAndGroups: { + serializedName: "properties.auditActionsAndGroups", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "RecoverableDatabase" + name: "String" } } } - } - } - } -}; - -export const RestorableDroppedDatabaseListResult: msRest.CompositeMapper = { - serializedName: "RestorableDroppedDatabaseListResult", - type: { - name: "Composite", - className: "RestorableDroppedDatabaseListResult", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + isStorageSecondaryKeyInUse: { + serializedName: "properties.isStorageSecondaryKeyInUse", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RestorableDroppedDatabase" - } - } + name: "Boolean" + } + }, + isAzureMonitorTargetEnabled: { + serializedName: "properties.isAzureMonitorTargetEnabled", + type: { + name: "Boolean" + } + }, + queueDelayMs: { + serializedName: "properties.queueDelayMs", + type: { + name: "Number" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + storageAccountSubscriptionId: { + serializedName: "properties.storageAccountSubscriptionId", + type: { + name: "Uuid" } } } } }; -export const ServerListResult: msRest.CompositeMapper = { - serializedName: "ServerListResult", +export const ExtendedServerBlobAuditingPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerListResult", + className: "ExtendedServerBlobAuditingPolicy", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + isDevopsAuditEnabled: { + serializedName: "properties.isDevopsAuditEnabled", + type: { + name: "Boolean" + } + }, + predicateExpression: { + serializedName: "properties.predicateExpression", + type: { + name: "String" + } + }, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + auditActionsAndGroups: { + serializedName: "properties.auditActionsAndGroups", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "Server" + name: "String" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + isStorageSecondaryKeyInUse: { + serializedName: "properties.isStorageSecondaryKeyInUse", + type: { + name: "Boolean" + } + }, + isAzureMonitorTargetEnabled: { + serializedName: "properties.isAzureMonitorTargetEnabled", + type: { + name: "Boolean" + } + }, + queueDelayMs: { + serializedName: "properties.queueDelayMs", + type: { + name: "Number" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", type: { name: "String" } + }, + storageAccountSubscriptionId: { + serializedName: "properties.storageAccountSubscriptionId", + type: { + name: "Uuid" + } } } } }; -export const DataMaskingRuleListResult: msRest.CompositeMapper = { - serializedName: "DataMaskingRuleListResult", +export const ServerBlobAuditingPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DataMaskingRuleListResult", + className: "ServerBlobAuditingPolicy", modelProperties: { - value: { - serializedName: "", + ...ProxyResource.type.modelProperties, + isDevopsAuditEnabled: { + serializedName: "properties.isDevopsAuditEnabled", + type: { + name: "Boolean" + } + }, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + auditActionsAndGroups: { + serializedName: "properties.auditActionsAndGroups", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DataMaskingRule" + name: "String" } } } + }, + isStorageSecondaryKeyInUse: { + serializedName: "properties.isStorageSecondaryKeyInUse", + type: { + name: "Boolean" + } + }, + isAzureMonitorTargetEnabled: { + serializedName: "properties.isAzureMonitorTargetEnabled", + type: { + name: "Boolean" + } + }, + queueDelayMs: { + serializedName: "properties.queueDelayMs", + type: { + name: "Number" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + storageAccountSubscriptionId: { + serializedName: "properties.storageAccountSubscriptionId", + type: { + name: "Uuid" + } } } } }; -export const FirewallRuleListResult: msRest.CompositeMapper = { - serializedName: "FirewallRuleListResult", +export const DatabaseBlobAuditingPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FirewallRuleListResult", + className: "DatabaseBlobAuditingPolicy", modelProperties: { - value: { - serializedName: "", + ...ProxyResource.type.modelProperties, + kind: { + serializedName: "kind", + readOnly: true, + type: { + name: "String" + } + }, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + auditActionsAndGroups: { + serializedName: "properties.auditActionsAndGroups", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "FirewallRule" + name: "String" } } } + }, + isStorageSecondaryKeyInUse: { + serializedName: "properties.isStorageSecondaryKeyInUse", + type: { + name: "Boolean" + } + }, + isAzureMonitorTargetEnabled: { + serializedName: "properties.isAzureMonitorTargetEnabled", + type: { + name: "Boolean" + } + }, + queueDelayMs: { + serializedName: "properties.queueDelayMs", + type: { + name: "Number" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + storageAccountSubscriptionId: { + serializedName: "properties.storageAccountSubscriptionId", + type: { + name: "Uuid" + } } } } }; -export const GeoBackupPolicyListResult: msRest.CompositeMapper = { - serializedName: "GeoBackupPolicyListResult", +export const RecommendedAction: coreClient.CompositeMapper = { type: { name: "Composite", - className: "GeoBackupPolicyListResult", + className: "RecommendedAction", modelProperties: { - value: { - serializedName: "", + ...ProxyResource.type.modelProperties, + kind: { + serializedName: "kind", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "GeoBackupPolicy" - } - } + name: "String" } - } - } - } -}; - -export const MetricListResult: msRest.CompositeMapper = { - serializedName: "MetricListResult", - type: { - name: "Composite", - className: "MetricListResult", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + location: { + serializedName: "location", + readOnly: true, + type: { + name: "String" + } + }, + recommendationReason: { + serializedName: "properties.recommendationReason", + readOnly: true, + type: { + name: "String" + } + }, + validSince: { + serializedName: "properties.validSince", + readOnly: true, + type: { + name: "DateTime" + } + }, + lastRefresh: { + serializedName: "properties.lastRefresh", + readOnly: true, + type: { + name: "DateTime" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Composite", + className: "RecommendedActionStateInfo" + } + }, + isExecutableAction: { + serializedName: "properties.isExecutableAction", + readOnly: true, + type: { + name: "Boolean" + } + }, + isRevertableAction: { + serializedName: "properties.isRevertableAction", + readOnly: true, + type: { + name: "Boolean" + } + }, + isArchivedAction: { + serializedName: "properties.isArchivedAction", + readOnly: true, + type: { + name: "Boolean" + } + }, + executeActionStartTime: { + serializedName: "properties.executeActionStartTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + executeActionDuration: { + serializedName: "properties.executeActionDuration", + readOnly: true, + type: { + name: "String" + } + }, + revertActionStartTime: { + serializedName: "properties.revertActionStartTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + revertActionDuration: { + serializedName: "properties.revertActionDuration", + readOnly: true, + type: { + name: "String" + } + }, + executeActionInitiatedBy: { + serializedName: "properties.executeActionInitiatedBy", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["User", "System"] + } + }, + executeActionInitiatedTime: { + serializedName: "properties.executeActionInitiatedTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + revertActionInitiatedBy: { + serializedName: "properties.revertActionInitiatedBy", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["User", "System"] + } + }, + revertActionInitiatedTime: { + serializedName: "properties.revertActionInitiatedTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + score: { + serializedName: "properties.score", + readOnly: true, + type: { + name: "Number" + } + }, + implementationDetails: { + serializedName: "properties.implementationDetails", + type: { + name: "Composite", + className: "RecommendedActionImplementationInfo" + } + }, + errorDetails: { + serializedName: "properties.errorDetails", + type: { + name: "Composite", + className: "RecommendedActionErrorInfo" + } + }, + estimatedImpact: { + serializedName: "properties.estimatedImpact", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "Metric" + className: "RecommendedActionImpactRecord" } } } - } - } - } -}; - -export const MetricDefinitionListResult: msRest.CompositeMapper = { - serializedName: "MetricDefinitionListResult", - type: { - name: "Composite", - className: "MetricDefinitionListResult", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + observedImpact: { + serializedName: "properties.observedImpact", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "MetricDefinition" + className: "RecommendedActionImpactRecord" } } } - } - } - } -}; - -export const DatabaseListResult: msRest.CompositeMapper = { - serializedName: "DatabaseListResult", - type: { - name: "Composite", - className: "DatabaseListResult", - modelProperties: { - value: { + }, + timeSeries: { + serializedName: "properties.timeSeries", readOnly: true, - serializedName: "", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Database" + className: "RecommendedActionMetricInfo" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const ElasticPoolListResult: msRest.CompositeMapper = { - serializedName: "ElasticPoolListResult", - type: { - name: "Composite", - className: "ElasticPoolListResult", - modelProperties: { - value: { + linkedObjects: { + serializedName: "properties.linkedObjects", readOnly: true, - serializedName: "", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ElasticPool" + name: "String" } } } }, - nextLink: { + details: { + serializedName: "properties.details", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } } } } } }; -export const RecommendedElasticPoolListResult: msRest.CompositeMapper = { - serializedName: "RecommendedElasticPoolListResult", +export const Advisor: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecommendedElasticPoolListResult", + className: "Advisor", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + kind: { + serializedName: "kind", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecommendedElasticPool" - } - } + name: "String" } - } - } - } -}; - -export const RecommendedElasticPoolListMetricsResult: msRest.CompositeMapper = { - serializedName: "RecommendedElasticPoolListMetricsResult", - type: { - name: "Composite", - className: "RecommendedElasticPoolListMetricsResult", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + location: { + serializedName: "location", + readOnly: true, + type: { + name: "String" + } + }, + advisorStatus: { + serializedName: "properties.advisorStatus", + readOnly: true, + type: { + name: "Enum", + allowedValues: [ + "GA", + "PublicPreview", + "LimitedPublicPreview", + "PrivatePreview" + ] + } + }, + autoExecuteStatus: { + serializedName: "properties.autoExecuteStatus", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled", "Default"] + } + }, + autoExecuteStatusInheritedFrom: { + serializedName: "properties.autoExecuteStatusInheritedFrom", + readOnly: true, + type: { + name: "Enum", + allowedValues: [ + "Default", + "Subscription", + "Server", + "ElasticPool", + "Database" + ] + } + }, + recommendationsStatus: { + serializedName: "properties.recommendationsStatus", + readOnly: true, + type: { + name: "String" + } + }, + lastChecked: { + serializedName: "properties.lastChecked", + readOnly: true, + type: { + name: "DateTime" + } + }, + recommendedActions: { + serializedName: "properties.recommendedActions", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "RecommendedElasticPoolMetric" + className: "RecommendedAction" } } } @@ -8712,21 +9424,33 @@ export const RecommendedElasticPoolListMetricsResult: msRest.CompositeMapper = { } }; -export const ReplicationLinkListResult: msRest.CompositeMapper = { - serializedName: "ReplicationLinkListResult", +export const DatabaseAutomaticTuning: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ReplicationLinkListResult", + className: "DatabaseAutomaticTuning", modelProperties: { - value: { - serializedName: "", + ...ProxyResource.type.modelProperties, + desiredState: { + serializedName: "properties.desiredState", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ReplicationLink" - } + name: "Enum", + allowedValues: ["Inherit", "Custom", "Auto", "Unspecified"] + } + }, + actualState: { + serializedName: "properties.actualState", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Inherit", "Custom", "Auto", "Unspecified"] + } + }, + options: { + serializedName: "properties.options", + type: { + name: "Dictionary", + value: { + type: { name: "Composite", className: "AutomaticTuningOptions" } } } } @@ -8734,134 +9458,163 @@ export const ReplicationLinkListResult: msRest.CompositeMapper = { } }; -export const ServerAdministratorListResult: msRest.CompositeMapper = { - serializedName: "ServerAdministratorListResult", +export const DatabaseColumn: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerAdministratorListResult", + className: "DatabaseColumn", modelProperties: { - value: { - serializedName: "", + ...ProxyResource.type.modelProperties, + columnType: { + serializedName: "properties.columnType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ServerAzureADAdministrator" - } - } + name: "String" + } + }, + temporalType: { + serializedName: "properties.temporalType", + type: { + name: "String" + } + }, + memoryOptimized: { + serializedName: "properties.memoryOptimized", + type: { + name: "Boolean" + } + }, + isComputed: { + serializedName: "properties.isComputed", + type: { + name: "Boolean" } } } } }; -export const ServerCommunicationLinkListResult: msRest.CompositeMapper = { - serializedName: "ServerCommunicationLinkListResult", +export const DatabaseSchema: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerCommunicationLinkListResult", + className: "DatabaseSchema", modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ServerCommunicationLink" - } - } - } - } + ...ProxyResource.type.modelProperties } } }; -export const ServiceObjectiveListResult: msRest.CompositeMapper = { - serializedName: "ServiceObjectiveListResult", +export const DatabaseSecurityAlertPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceObjectiveListResult", + className: "DatabaseSecurityAlertPolicy", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + disabledAlerts: { + serializedName: "properties.disabledAlerts", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ServiceObjective" + name: "String" } } } - } - } - } -}; - -export const ElasticPoolActivityListResult: msRest.CompositeMapper = { - serializedName: "ElasticPoolActivityListResult", - type: { - name: "Composite", - className: "ElasticPoolActivityListResult", - modelProperties: { - value: { - required: true, - serializedName: "", + }, + emailAddresses: { + serializedName: "properties.emailAddresses", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ElasticPoolActivity" + name: "String" } } } + }, + emailAccountAdmins: { + serializedName: "properties.emailAccountAdmins", + type: { + name: "Boolean" + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + creationTime: { + serializedName: "properties.creationTime", + readOnly: true, + type: { + name: "DateTime" + } } } } }; -export const ElasticPoolDatabaseActivityListResult: msRest.CompositeMapper = { - serializedName: "ElasticPoolDatabaseActivityListResult", +export const DatabaseTable: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolDatabaseActivityListResult", + className: "DatabaseTable", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + temporalType: { + serializedName: "properties.temporalType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ElasticPoolDatabaseActivity" - } - } + name: "String" + } + }, + memoryOptimized: { + serializedName: "properties.memoryOptimized", + type: { + name: "Boolean" } } } } }; -export const ServiceTierAdvisorListResult: msRest.CompositeMapper = { - serializedName: "ServiceTierAdvisorListResult", +export const DatabaseVulnerabilityAssessmentRuleBaseline: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceTierAdvisorListResult", + className: "DatabaseVulnerabilityAssessmentRuleBaseline", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + baselineResults: { + serializedName: "properties.baselineResults", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ServiceTierAdvisor" + className: "DatabaseVulnerabilityAssessmentRuleBaselineItem" } } } @@ -8870,157 +9623,177 @@ export const ServiceTierAdvisorListResult: msRest.CompositeMapper = { } }; -export const TransparentDataEncryptionActivityListResult: msRest.CompositeMapper = { - serializedName: "TransparentDataEncryptionActivityListResult", +export const DatabaseVulnerabilityAssessment: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TransparentDataEncryptionActivityListResult", + className: "DatabaseVulnerabilityAssessment", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + storageContainerPath: { + serializedName: "properties.storageContainerPath", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "TransparentDataEncryptionActivity" - } - } + name: "String" + } + }, + storageContainerSasKey: { + serializedName: "properties.storageContainerSasKey", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + recurringScans: { + serializedName: "properties.recurringScans", + type: { + name: "Composite", + className: "VulnerabilityAssessmentRecurringScansProperties" } } } } }; -export const ServerUsageListResult: msRest.CompositeMapper = { - serializedName: "ServerUsageListResult", +export const VulnerabilityAssessmentScanRecord: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerUsageListResult", + className: "VulnerabilityAssessmentScanRecord", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + scanId: { + serializedName: "properties.scanId", + readOnly: true, + type: { + name: "String" + } + }, + triggerType: { + serializedName: "properties.triggerType", + readOnly: true, + type: { + name: "String" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + }, + startTime: { + serializedName: "properties.startTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + endTime: { + serializedName: "properties.endTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + errors: { + serializedName: "properties.errors", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "ServerUsage" + className: "VulnerabilityAssessmentScanError" } } } + }, + storageContainerPath: { + serializedName: "properties.storageContainerPath", + readOnly: true, + type: { + name: "String" + } + }, + numberOfFailedSecurityChecks: { + serializedName: "properties.numberOfFailedSecurityChecks", + readOnly: true, + type: { + name: "Number" + } } } } }; -export const DatabaseUsageListResult: msRest.CompositeMapper = { - serializedName: "DatabaseUsageListResult", +export const DatabaseVulnerabilityAssessmentScansExport: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseUsageListResult", + className: "DatabaseVulnerabilityAssessmentScansExport", modelProperties: { - value: { - required: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + exportedReportLocation: { + serializedName: "properties.exportedReportLocation", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DatabaseUsage" - } - } + name: "String" } } } } }; -export const EncryptionProtectorListResult: msRest.CompositeMapper = { - serializedName: "EncryptionProtectorListResult", +export const DataWarehouseUserActivities: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EncryptionProtectorListResult", + className: "DataWarehouseUserActivities", modelProperties: { - value: { - readOnly: true, - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "EncryptionProtector" - } - } - } - }, - nextLink: { + ...ProxyResource.type.modelProperties, + activeQueriesCount: { + serializedName: "properties.activeQueriesCount", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "Number" } } } } }; -export const FailoverGroupListResult: msRest.CompositeMapper = { - serializedName: "FailoverGroupListResult", +export const DeletedServer: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FailoverGroupListResult", + className: "DeletedServer", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + version: { + serializedName: "properties.version", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FailoverGroup" - } - } + name: "String" } }, - nextLink: { + deletionTime: { + serializedName: "properties.deletionTime", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const OperationListResult: msRest.CompositeMapper = { - serializedName: "OperationListResult", - type: { - name: "Composite", - className: "OperationListResult", - modelProperties: { - value: { + }, + originalId: { + serializedName: "properties.originalId", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Operation" - } - } + name: "String" } }, - nextLink: { + fullyQualifiedDomainName: { + serializedName: "properties.fullyQualifiedDomainName", readOnly: true, - serializedName: "nextLink", type: { name: "String" } @@ -9029,538 +9802,328 @@ export const OperationListResult: msRest.CompositeMapper = { } }; -export const ServerKeyListResult: msRest.CompositeMapper = { - serializedName: "ServerKeyListResult", +export const ElasticPoolOperation: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerKeyListResult", + className: "ElasticPoolOperation", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + elasticPoolName: { + serializedName: "properties.elasticPoolName", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ServerKey" - } - } + name: "String" } }, - nextLink: { + operation: { + serializedName: "properties.operation", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const SyncAgentListResult: msRest.CompositeMapper = { - serializedName: "SyncAgentListResult", - type: { - name: "Composite", - className: "SyncAgentListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SyncAgent" - } - } - } }, - nextLink: { + operationFriendlyName: { + serializedName: "properties.operationFriendlyName", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const SyncAgentLinkedDatabaseListResult: msRest.CompositeMapper = { - serializedName: "SyncAgentLinkedDatabaseListResult", - type: { - name: "Composite", - className: "SyncAgentLinkedDatabaseListResult", - modelProperties: { - value: { + }, + percentComplete: { + serializedName: "properties.percentComplete", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SyncAgentLinkedDatabase" - } - } + name: "Number" } }, - nextLink: { + serverName: { + serializedName: "properties.serverName", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const SyncDatabaseIdListResult: msRest.CompositeMapper = { - serializedName: "SyncDatabaseIdListResult", - type: { - name: "Composite", - className: "SyncDatabaseIdListResult", - modelProperties: { - value: { + }, + startTime: { + serializedName: "properties.startTime", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SyncDatabaseIdProperties" - } - } + name: "DateTime" } }, - nextLink: { + state: { + serializedName: "properties.state", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const SyncFullSchemaPropertiesListResult: msRest.CompositeMapper = { - serializedName: "SyncFullSchemaPropertiesListResult", - type: { - name: "Composite", - className: "SyncFullSchemaPropertiesListResult", - modelProperties: { - value: { + }, + errorCode: { + serializedName: "properties.errorCode", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SyncFullSchemaProperties" - } - } + name: "Number" } }, - nextLink: { + errorDescription: { + serializedName: "properties.errorDescription", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const SyncGroupLogListResult: msRest.CompositeMapper = { - serializedName: "SyncGroupLogListResult", - type: { - name: "Composite", - className: "SyncGroupLogListResult", - modelProperties: { - value: { + }, + errorSeverity: { + serializedName: "properties.errorSeverity", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SyncGroupLogProperties" - } - } + name: "Number" } }, - nextLink: { + isUserError: { + serializedName: "properties.isUserError", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const SyncGroupListResult: msRest.CompositeMapper = { - serializedName: "SyncGroupListResult", - type: { - name: "Composite", - className: "SyncGroupListResult", - modelProperties: { - value: { + }, + estimatedCompletionTime: { + serializedName: "properties.estimatedCompletionTime", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SyncGroup" - } - } + name: "DateTime" } }, - nextLink: { + description: { + serializedName: "properties.description", readOnly: true, - serializedName: "nextLink", type: { name: "String" } + }, + isCancellable: { + serializedName: "properties.isCancellable", + readOnly: true, + type: { + name: "Boolean" + } } } } }; -export const SyncMemberListResult: msRest.CompositeMapper = { - serializedName: "SyncMemberListResult", +export const EncryptionProtector: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SyncMemberListResult", + className: "EncryptionProtector", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + kind: { + serializedName: "kind", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SyncMember" - } - } + name: "String" } }, - nextLink: { + location: { + serializedName: "location", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const SubscriptionUsageListResult: msRest.CompositeMapper = { - serializedName: "SubscriptionUsageListResult", - type: { - name: "Composite", - className: "SubscriptionUsageListResult", - modelProperties: { - value: { + }, + subregion: { + serializedName: "properties.subregion", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SubscriptionUsage" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + serverKeyName: { + serializedName: "properties.serverKeyName", type: { name: "String" } - } - } - } -}; - -export const VirtualClusterListResult: msRest.CompositeMapper = { - serializedName: "VirtualClusterListResult", - type: { - name: "Composite", - className: "VirtualClusterListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + }, + serverKeyType: { + serializedName: "properties.serverKeyType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VirtualCluster" - } - } + name: "String" } }, - nextLink: { + uri: { + serializedName: "properties.uri", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const VirtualNetworkRuleListResult: msRest.CompositeMapper = { - serializedName: "VirtualNetworkRuleListResult", - type: { - name: "Composite", - className: "VirtualNetworkRuleListResult", - modelProperties: { - value: { + }, + thumbprint: { + serializedName: "properties.thumbprint", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VirtualNetworkRule" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + autoRotationEnabled: { + serializedName: "properties.autoRotationEnabled", type: { - name: "String" + name: "Boolean" } } } } }; -export const ServerBlobAuditingPolicyListResult: msRest.CompositeMapper = { - serializedName: "ServerBlobAuditingPolicyListResult", +export const FailoverGroup: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServerBlobAuditingPolicyListResult", + className: "FailoverGroup", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + location: { + serializedName: "location", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ServerBlobAuditingPolicy" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } - } - } - } -}; - -export const DatabaseBlobAuditingPolicyListResult: msRest.CompositeMapper = { - serializedName: "DatabaseBlobAuditingPolicyListResult", - type: { - name: "Composite", - className: "DatabaseBlobAuditingPolicyListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + }, + readWriteEndpoint: { + serializedName: "properties.readWriteEndpoint", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DatabaseBlobAuditingPolicy" - } - } + name: "Composite", + className: "FailoverGroupReadWriteEndpoint" } }, - nextLink: { + readOnlyEndpoint: { + serializedName: "properties.readOnlyEndpoint", + type: { + name: "Composite", + className: "FailoverGroupReadOnlyEndpoint" + } + }, + replicationRole: { + serializedName: "properties.replicationRole", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const DatabaseVulnerabilityAssessmentListResult: msRest.CompositeMapper = { - serializedName: "DatabaseVulnerabilityAssessmentListResult", - type: { - name: "Composite", - className: "DatabaseVulnerabilityAssessmentListResult", - modelProperties: { - value: { + }, + replicationState: { + serializedName: "properties.replicationState", readOnly: true, - serializedName: "", + type: { + name: "String" + } + }, + partnerServers: { + serializedName: "properties.partnerServers", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DatabaseVulnerabilityAssessment" + className: "PartnerInfo" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + databases: { + serializedName: "properties.databases", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const JobAgentListResult: msRest.CompositeMapper = { - serializedName: "JobAgentListResult", +export const InstanceFailoverGroup: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobAgentListResult", + className: "InstanceFailoverGroup", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + readWriteEndpoint: { + serializedName: "properties.readWriteEndpoint", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "JobAgent" - } - } + name: "Composite", + className: "InstanceFailoverGroupReadWriteEndpoint" } }, - nextLink: { + readOnlyEndpoint: { + serializedName: "properties.readOnlyEndpoint", + type: { + name: "Composite", + className: "InstanceFailoverGroupReadOnlyEndpoint" + } + }, + replicationRole: { + serializedName: "properties.replicationRole", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const JobCredentialListResult: msRest.CompositeMapper = { - serializedName: "JobCredentialListResult", - type: { - name: "Composite", - className: "JobCredentialListResult", - modelProperties: { - value: { + }, + replicationState: { + serializedName: "properties.replicationState", readOnly: true, - serializedName: "", + type: { + name: "String" + } + }, + partnerRegions: { + serializedName: "properties.partnerRegions", type: { name: "Sequence", element: { type: { name: "Composite", - className: "JobCredential" + className: "PartnerRegionInfo" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const JobExecutionListResult: msRest.CompositeMapper = { - serializedName: "JobExecutionListResult", - type: { - name: "Composite", - className: "JobExecutionListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + managedInstancePairs: { + serializedName: "properties.managedInstancePairs", type: { name: "Sequence", element: { type: { name: "Composite", - className: "JobExecution" + className: "ManagedInstancePairInfo" } } } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } } } } }; -export const JobListResult: msRest.CompositeMapper = { - serializedName: "JobListResult", +export const JobCredential: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobListResult", + className: "JobCredential", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + username: { + serializedName: "properties.username", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Job" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + password: { + serializedName: "properties.password", type: { name: "String" } @@ -9569,261 +10132,200 @@ export const JobListResult: msRest.CompositeMapper = { } }; -export const JobStepListResult: msRest.CompositeMapper = { - serializedName: "JobStepListResult", +export const JobExecution: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobStepListResult", + className: "JobExecution", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + jobVersion: { + serializedName: "properties.jobVersion", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "JobStep" - } - } + name: "Number" } }, - nextLink: { + stepName: { + serializedName: "properties.stepName", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const JobTargetGroupListResult: msRest.CompositeMapper = { - serializedName: "JobTargetGroupListResult", - type: { - name: "Composite", - className: "JobTargetGroupListResult", - modelProperties: { - value: { + }, + stepId: { + serializedName: "properties.stepId", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "JobTargetGroup" - } - } + name: "Number" } }, - nextLink: { + jobExecutionId: { + serializedName: "properties.jobExecutionId", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "Uuid" } - } - } - } -}; - -export const JobVersionListResult: msRest.CompositeMapper = { - serializedName: "JobVersionListResult", - type: { - name: "Composite", - className: "JobVersionListResult", - modelProperties: { - value: { + }, + lifecycle: { + serializedName: "properties.lifecycle", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "JobVersion" - } - } + name: "String" } }, - nextLink: { + provisioningState: { + serializedName: "properties.provisioningState", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const LongTermRetentionBackupListResult: msRest.CompositeMapper = { - serializedName: "LongTermRetentionBackupListResult", - type: { - name: "Composite", - className: "LongTermRetentionBackupListResult", - modelProperties: { - value: { + }, + createTime: { + serializedName: "properties.createTime", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LongTermRetentionBackup" - } - } + name: "DateTime" } }, - nextLink: { + startTime: { + serializedName: "properties.startTime", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const ManagedBackupShortTermRetentionPolicyListResult: msRest.CompositeMapper = { - serializedName: "ManagedBackupShortTermRetentionPolicyListResult", - type: { - name: "Composite", - className: "ManagedBackupShortTermRetentionPolicyListResult", - modelProperties: { - value: { + }, + endTime: { + serializedName: "properties.endTime", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedBackupShortTermRetentionPolicy" - } - } + name: "DateTime" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + currentAttempts: { + serializedName: "properties.currentAttempts", type: { - name: "String" + name: "Number" } - } - } - } -}; - -export const ServerDnsAliasListResult: msRest.CompositeMapper = { - serializedName: "ServerDnsAliasListResult", - type: { - name: "Composite", - className: "ServerDnsAliasListResult", - modelProperties: { - value: { + }, + currentAttemptStartTime: { + serializedName: "properties.currentAttemptStartTime", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ServerDnsAlias" - } - } + name: "DateTime" } }, - nextLink: { + lastMessage: { + serializedName: "properties.lastMessage", readOnly: true, - serializedName: "nextLink", type: { name: "String" } + }, + target: { + serializedName: "properties.target", + type: { + name: "Composite", + className: "JobExecutionTarget" + } } } } }; -export const LogicalServerSecurityAlertPolicyListResult: msRest.CompositeMapper = { - serializedName: "LogicalServerSecurityAlertPolicyListResult", +export const Job: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LogicalServerSecurityAlertPolicyListResult", + className: "Job", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + description: { + defaultValue: "", + serializedName: "properties.description", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ServerSecurityAlertPolicy" - } - } + name: "String" } }, - nextLink: { + version: { + serializedName: "properties.version", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "Number" + } + }, + schedule: { + serializedName: "properties.schedule", + type: { + name: "Composite", + className: "JobSchedule" } } } } }; -export const RestorableDroppedManagedDatabaseListResult: msRest.CompositeMapper = { - serializedName: "RestorableDroppedManagedDatabaseListResult", +export const JobStep: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RestorableDroppedManagedDatabaseListResult", + className: "JobStep", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + stepId: { + serializedName: "properties.stepId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RestorableDroppedManagedDatabase" - } - } + name: "Number" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + targetGroup: { + serializedName: "properties.targetGroup", + type: { + name: "String" + } + }, + credential: { + serializedName: "properties.credential", type: { name: "String" } + }, + action: { + serializedName: "properties.action", + type: { + name: "Composite", + className: "JobStepAction" + } + }, + output: { + serializedName: "properties.output", + type: { + name: "Composite", + className: "JobStepOutput" + } + }, + executionOptions: { + serializedName: "properties.executionOptions", + type: { + name: "Composite", + className: "JobStepExecutionOptions" + } } } } }; -export const RestorePointListResult: msRest.CompositeMapper = { - serializedName: "RestorePointListResult", +export const JobTargetGroup: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RestorePointListResult", + className: "JobTargetGroup", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + members: { + serializedName: "properties.members", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RestorePoint" + className: "JobTarget" } } } @@ -9832,88 +10334,132 @@ export const RestorePointListResult: msRest.CompositeMapper = { } }; -export const ManagedDatabaseSecurityAlertPolicyListResult: msRest.CompositeMapper = { - serializedName: "ManagedDatabaseSecurityAlertPolicyListResult", +export const JobVersion: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedDatabaseSecurityAlertPolicyListResult", + className: "JobVersion", modelProperties: { - value: { - readOnly: true, - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedDatabaseSecurityAlertPolicy" - } - } - } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } - } + ...ProxyResource.type.modelProperties } } }; -export const ManagedServerSecurityAlertPolicyListResult: msRest.CompositeMapper = { - serializedName: "ManagedServerSecurityAlertPolicyListResult", +export const LongTermRetentionBackupOperationResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedServerSecurityAlertPolicyListResult", + className: "LongTermRetentionBackupOperationResult", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + requestId: { + serializedName: "properties.requestId", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedServerSecurityAlertPolicy" - } - } + name: "Uuid" } }, - nextLink: { + operationType: { + serializedName: "properties.operationType", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } + }, + fromBackupResourceId: { + serializedName: "properties.fromBackupResourceId", + readOnly: true, + type: { + name: "String" + } + }, + toBackupResourceId: { + serializedName: "properties.toBackupResourceId", + readOnly: true, + type: { + name: "String" + } + }, + targetBackupStorageRedundancy: { + serializedName: "properties.targetBackupStorageRedundancy", + readOnly: true, + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + message: { + serializedName: "properties.message", + readOnly: true, + type: { + name: "String" + } + } } } }; -export const SensitivityLabelListResult: msRest.CompositeMapper = { - serializedName: "SensitivityLabelListResult", +export const LongTermRetentionBackup: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SensitivityLabelListResult", + className: "LongTermRetentionBackup", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + serverName: { + serializedName: "properties.serverName", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SensitivityLabel" - } - } + name: "String" } }, - nextLink: { + serverCreateTime: { + serializedName: "properties.serverCreateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + databaseName: { + serializedName: "properties.databaseName", + readOnly: true, + type: { + name: "String" + } + }, + databaseDeletionTime: { + serializedName: "properties.databaseDeletionTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + backupTime: { + serializedName: "properties.backupTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + backupExpirationTime: { + serializedName: "properties.backupExpirationTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + backupStorageRedundancy: { + serializedName: "properties.backupStorageRedundancy", readOnly: true, - serializedName: "nextLink", + type: { + name: "String" + } + }, + requestedBackupStorageRedundancy: { + serializedName: "properties.requestedBackupStorageRedundancy", type: { name: "String" } @@ -9922,28 +10468,57 @@ export const SensitivityLabelListResult: msRest.CompositeMapper = { } }; -export const ManagedInstanceAdministratorListResult: msRest.CompositeMapper = { - serializedName: "ManagedInstanceAdministratorListResult", +export const ManagedInstanceLongTermRetentionBackup: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceAdministratorListResult", + className: "ManagedInstanceLongTermRetentionBackup", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + managedInstanceName: { + serializedName: "properties.managedInstanceName", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedInstanceAdministrator" - } - } + name: "String" } }, - nextLink: { + managedInstanceCreateTime: { + serializedName: "properties.managedInstanceCreateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + databaseName: { + serializedName: "properties.databaseName", + readOnly: true, + type: { + name: "String" + } + }, + databaseDeletionTime: { + serializedName: "properties.databaseDeletionTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + backupTime: { + serializedName: "properties.backupTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + backupExpirationTime: { + serializedName: "properties.backupExpirationTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + backupStorageRedundancy: { + serializedName: "properties.backupStorageRedundancy", readOnly: true, - serializedName: "nextLink", type: { name: "String" } @@ -9952,118 +10527,144 @@ export const ManagedInstanceAdministratorListResult: msRest.CompositeMapper = { } }; -export const DatabaseOperationListResult: msRest.CompositeMapper = { - serializedName: "DatabaseOperationListResult", +export const LongTermRetentionPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DatabaseOperationListResult", + className: "LongTermRetentionPolicy", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + weeklyRetention: { + serializedName: "properties.weeklyRetention", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DatabaseOperation" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + monthlyRetention: { + serializedName: "properties.monthlyRetention", + type: { + name: "String" + } + }, + yearlyRetention: { + serializedName: "properties.yearlyRetention", type: { name: "String" } + }, + weekOfYear: { + serializedName: "properties.weekOfYear", + type: { + name: "Number" + } } } } }; -export const ElasticPoolOperationListResult: msRest.CompositeMapper = { - serializedName: "ElasticPoolOperationListResult", +export const MaintenanceWindowOptions: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ElasticPoolOperationListResult", + className: "MaintenanceWindowOptions", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + isEnabled: { + serializedName: "properties.isEnabled", + type: { + name: "Boolean" + } + }, + maintenanceWindowCycles: { + serializedName: "properties.maintenanceWindowCycles", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ElasticPoolOperation" + className: "MaintenanceWindowTimeRange" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + minDurationInMinutes: { + serializedName: "properties.minDurationInMinutes", type: { - name: "String" + name: "Number" + } + }, + defaultDurationInMinutes: { + serializedName: "properties.defaultDurationInMinutes", + type: { + name: "Number" + } + }, + minCycles: { + serializedName: "properties.minCycles", + type: { + name: "Number" + } + }, + timeGranularityInMinutes: { + serializedName: "properties.timeGranularityInMinutes", + type: { + name: "Number" + } + }, + allowMultipleMaintenanceWindowsPerCycle: { + serializedName: "properties.allowMultipleMaintenanceWindowsPerCycle", + type: { + name: "Boolean" } } } } }; -export const VulnerabilityAssessmentScanRecordListResult: msRest.CompositeMapper = { - serializedName: "VulnerabilityAssessmentScanRecordListResult", +export const MaintenanceWindows: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VulnerabilityAssessmentScanRecordListResult", + className: "MaintenanceWindows", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + timeRanges: { + serializedName: "properties.timeRanges", type: { name: "Sequence", element: { type: { name: "Composite", - className: "VulnerabilityAssessmentScanRecord" + className: "MaintenanceWindowTimeRange" } } } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } } } } }; -export const InstanceFailoverGroupListResult: msRest.CompositeMapper = { - serializedName: "InstanceFailoverGroupListResult", +export const ManagedBackupShortTermRetentionPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InstanceFailoverGroupListResult", + className: "ManagedBackupShortTermRetentionPolicy", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResource.type.modelProperties, + retentionDays: { + serializedName: "properties.retentionDays", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "InstanceFailoverGroup" - } - } + name: "Number" } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + } + } + } +}; + +export const ManagedInstanceQuery: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceQuery", + modelProperties: { + ...ProxyResource.type.modelProperties, + queryText: { + serializedName: "properties.queryText", type: { name: "String" } @@ -10072,328 +10673,3528 @@ export const InstanceFailoverGroupListResult: msRest.CompositeMapper = { } }; -export const BackupShortTermRetentionPolicyListResult: msRest.CompositeMapper = { - serializedName: "BackupShortTermRetentionPolicyListResult", +export const QueryStatistics: coreClient.CompositeMapper = { type: { name: "Composite", - className: "BackupShortTermRetentionPolicyListResult", + className: "QueryStatistics", modelProperties: { - value: { + ...ProxyResource.type.modelProperties, + databaseName: { + serializedName: "properties.databaseName", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BackupShortTermRetentionPolicy" - } - } + name: "String" } }, - nextLink: { + queryId: { + serializedName: "properties.queryId", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const ManagedInstanceKeyListResult: msRest.CompositeMapper = { - serializedName: "ManagedInstanceKeyListResult", - type: { - name: "Composite", - className: "ManagedInstanceKeyListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + }, + startTime: { + serializedName: "properties.startTime", + readOnly: true, + type: { + name: "String" + } + }, + endTime: { + serializedName: "properties.endTime", + readOnly: true, + type: { + name: "String" + } + }, + intervals: { + serializedName: "properties.intervals", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "QueryMetricInterval" + } + } + } + } + } + } +}; + +export const ManagedDatabaseRestoreDetailsResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedDatabaseRestoreDetailsResult", + modelProperties: { + ...ProxyResource.type.modelProperties, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + currentRestoringFileName: { + serializedName: "properties.currentRestoringFileName", + readOnly: true, + type: { + name: "String" + } + }, + lastRestoredFileName: { + serializedName: "properties.lastRestoredFileName", + readOnly: true, + type: { + name: "String" + } + }, + lastRestoredFileTime: { + serializedName: "properties.lastRestoredFileTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + percentCompleted: { + serializedName: "properties.percentCompleted", + readOnly: true, + type: { + name: "Number" + } + }, + unrestorableFiles: { + serializedName: "properties.unrestorableFiles", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + numberOfFilesDetected: { + serializedName: "properties.numberOfFilesDetected", + readOnly: true, + type: { + name: "Number" + } + }, + lastUploadedFileName: { + serializedName: "properties.lastUploadedFileName", + readOnly: true, + type: { + name: "String" + } + }, + lastUploadedFileTime: { + serializedName: "properties.lastUploadedFileTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + blockReason: { + serializedName: "properties.blockReason", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ManagedDatabaseSecurityAlertPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedDatabaseSecurityAlertPolicy", + modelProperties: { + ...ProxyResource.type.modelProperties, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["New", "Enabled", "Disabled"] + } + }, + disabledAlerts: { + serializedName: "properties.disabledAlerts", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + emailAddresses: { + serializedName: "properties.emailAddresses", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + emailAccountAdmins: { + serializedName: "properties.emailAccountAdmins", + type: { + name: "Boolean" + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + creationTime: { + serializedName: "properties.creationTime", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const SecurityEvent: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityEvent", + modelProperties: { + ...ProxyResource.type.modelProperties, + eventTime: { + serializedName: "properties.eventTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + securityEventType: { + serializedName: "properties.securityEventType", + readOnly: true, + type: { + name: "Enum", + allowedValues: [ + "Undefined", + "SqlInjectionVulnerability", + "SqlInjectionExploit" + ] + } + }, + subscription: { + serializedName: "properties.subscription", + readOnly: true, + type: { + name: "String" + } + }, + server: { + serializedName: "properties.server", + readOnly: true, + type: { + name: "String" + } + }, + database: { + serializedName: "properties.database", + readOnly: true, + type: { + name: "String" + } + }, + clientIp: { + serializedName: "properties.clientIp", + readOnly: true, + type: { + name: "String" + } + }, + applicationName: { + serializedName: "properties.applicationName", + readOnly: true, + type: { + name: "String" + } + }, + principalName: { + serializedName: "properties.principalName", + readOnly: true, + type: { + name: "String" + } + }, + securityEventSqlInjectionAdditionalProperties: { + serializedName: + "properties.securityEventSqlInjectionAdditionalProperties", + type: { + name: "Composite", + className: "SecurityEventSqlInjectionAdditionalProperties" + } + } + } + } +}; + +export const SensitivityLabel: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SensitivityLabel", + modelProperties: { + ...ProxyResource.type.modelProperties, + managedBy: { + serializedName: "managedBy", + readOnly: true, + type: { + name: "String" + } + }, + schemaName: { + serializedName: "properties.schemaName", + readOnly: true, + type: { + name: "String" + } + }, + tableName: { + serializedName: "properties.tableName", + readOnly: true, + type: { + name: "String" + } + }, + columnName: { + serializedName: "properties.columnName", + readOnly: true, + type: { + name: "String" + } + }, + labelName: { + serializedName: "properties.labelName", + type: { + name: "String" + } + }, + labelId: { + serializedName: "properties.labelId", + type: { + name: "String" + } + }, + informationType: { + serializedName: "properties.informationType", + type: { + name: "String" + } + }, + informationTypeId: { + serializedName: "properties.informationTypeId", + type: { + name: "String" + } + }, + isDisabled: { + serializedName: "properties.isDisabled", + readOnly: true, + type: { + name: "Boolean" + } + }, + rank: { + serializedName: "properties.rank", + type: { + name: "Enum", + allowedValues: ["None", "Low", "Medium", "High", "Critical"] + } + } + } + } +}; + +export const SensitivityLabelUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SensitivityLabelUpdate", + modelProperties: { + ...ProxyResource.type.modelProperties, + op: { + serializedName: "properties.op", + type: { + name: "Enum", + allowedValues: ["set", "remove"] + } + }, + schema: { + serializedName: "properties.schema", + type: { + name: "String" + } + }, + table: { + serializedName: "properties.table", + type: { + name: "String" + } + }, + column: { + serializedName: "properties.column", + type: { + name: "String" + } + }, + sensitivityLabel: { + serializedName: "properties.sensitivityLabel", + type: { + name: "Composite", + className: "SensitivityLabel" + } + } + } + } +}; + +export const RecommendedSensitivityLabelUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecommendedSensitivityLabelUpdate", + modelProperties: { + ...ProxyResource.type.modelProperties, + op: { + serializedName: "properties.op", + type: { + name: "Enum", + allowedValues: ["enable", "disable"] + } + }, + schema: { + serializedName: "properties.schema", + type: { + name: "String" + } + }, + table: { + serializedName: "properties.table", + type: { + name: "String" + } + }, + column: { + serializedName: "properties.column", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedTransparentDataEncryption: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedTransparentDataEncryption", + modelProperties: { + ...ProxyResource.type.modelProperties, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + } + } + } +}; + +export const ManagedInstanceAdministrator: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceAdministrator", + modelProperties: { + ...ProxyResource.type.modelProperties, + administratorType: { + serializedName: "properties.administratorType", + type: { + name: "String" + } + }, + login: { + serializedName: "properties.login", + type: { + name: "String" + } + }, + sid: { + serializedName: "properties.sid", + type: { + name: "Uuid" + } + }, + tenantId: { + serializedName: "properties.tenantId", + type: { + name: "Uuid" + } + } + } + } +}; + +export const ManagedInstanceAzureADOnlyAuthentication: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceAzureADOnlyAuthentication", + modelProperties: { + ...ProxyResource.type.modelProperties, + azureADOnlyAuthentication: { + serializedName: "properties.azureADOnlyAuthentication", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ManagedInstanceEncryptionProtector: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceEncryptionProtector", + modelProperties: { + ...ProxyResource.type.modelProperties, + kind: { + serializedName: "kind", + readOnly: true, + type: { + name: "String" + } + }, + serverKeyName: { + serializedName: "properties.serverKeyName", + type: { + name: "String" + } + }, + serverKeyType: { + serializedName: "properties.serverKeyType", + type: { + name: "String" + } + }, + uri: { + serializedName: "properties.uri", + readOnly: true, + type: { + name: "String" + } + }, + thumbprint: { + serializedName: "properties.thumbprint", + readOnly: true, + type: { + name: "String" + } + }, + autoRotationEnabled: { + serializedName: "properties.autoRotationEnabled", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ManagedInstanceKey: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceKey", + modelProperties: { + ...ProxyResource.type.modelProperties, + kind: { + serializedName: "kind", + readOnly: true, + type: { + name: "String" + } + }, + serverKeyType: { + serializedName: "properties.serverKeyType", + type: { + name: "String" + } + }, + uri: { + serializedName: "properties.uri", + type: { + name: "String" + } + }, + thumbprint: { + serializedName: "properties.thumbprint", + readOnly: true, + type: { + name: "String" + } + }, + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + autoRotationEnabled: { + serializedName: "properties.autoRotationEnabled", + readOnly: true, + type: { + name: "Boolean" + } + } + } + } +}; + +export const ManagedInstanceLongTermRetentionPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceLongTermRetentionPolicy", + modelProperties: { + ...ProxyResource.type.modelProperties, + weeklyRetention: { + serializedName: "properties.weeklyRetention", + type: { + name: "String" + } + }, + monthlyRetention: { + serializedName: "properties.monthlyRetention", + type: { + name: "String" + } + }, + yearlyRetention: { + serializedName: "properties.yearlyRetention", + type: { + name: "String" + } + }, + weekOfYear: { + serializedName: "properties.weekOfYear", + type: { + name: "Number" + } + } + } + } +}; + +export const ManagedInstanceOperation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceOperation", + modelProperties: { + ...ProxyResource.type.modelProperties, + managedInstanceName: { + serializedName: "properties.managedInstanceName", + readOnly: true, + type: { + name: "String" + } + }, + operation: { + serializedName: "properties.operation", + readOnly: true, + type: { + name: "String" + } + }, + operationFriendlyName: { + serializedName: "properties.operationFriendlyName", + readOnly: true, + type: { + name: "String" + } + }, + percentComplete: { + serializedName: "properties.percentComplete", + readOnly: true, + type: { + name: "Number" + } + }, + startTime: { + serializedName: "properties.startTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + }, + errorCode: { + serializedName: "properties.errorCode", + readOnly: true, + type: { + name: "Number" + } + }, + errorDescription: { + serializedName: "properties.errorDescription", + readOnly: true, + type: { + name: "String" + } + }, + errorSeverity: { + serializedName: "properties.errorSeverity", + readOnly: true, + type: { + name: "Number" + } + }, + isUserError: { + serializedName: "properties.isUserError", + readOnly: true, + type: { + name: "Boolean" + } + }, + estimatedCompletionTime: { + serializedName: "properties.estimatedCompletionTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + description: { + serializedName: "properties.description", + readOnly: true, + type: { + name: "String" + } + }, + isCancellable: { + serializedName: "properties.isCancellable", + readOnly: true, + type: { + name: "Boolean" + } + }, + operationParameters: { + serializedName: "properties.operationParameters", + type: { + name: "Composite", + className: "ManagedInstanceOperationParametersPair" + } + }, + operationSteps: { + serializedName: "properties.operationSteps", + type: { + name: "Composite", + className: "ManagedInstanceOperationSteps" + } + } + } + } +}; + +export const ManagedInstancePrivateEndpointConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstancePrivateEndpointConnection", + modelProperties: { + ...ProxyResource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "ManagedInstancePrivateEndpointProperty" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "ManagedInstancePrivateLinkServiceConnectionStateProperty" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ManagedInstancePrivateLink: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstancePrivateLink", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ManagedInstancePrivateLinkProperties" + } + } + } + } +}; + +export const TdeCertificate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TdeCertificate", + modelProperties: { + ...ProxyResource.type.modelProperties, + privateBlob: { + serializedName: "properties.privateBlob", + type: { + name: "String" + } + }, + certPassword: { + serializedName: "properties.certPassword", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedInstanceVulnerabilityAssessment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstanceVulnerabilityAssessment", + modelProperties: { + ...ProxyResource.type.modelProperties, + storageContainerPath: { + serializedName: "properties.storageContainerPath", + type: { + name: "String" + } + }, + storageContainerSasKey: { + serializedName: "properties.storageContainerSasKey", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + recurringScans: { + serializedName: "properties.recurringScans", + type: { + name: "Composite", + className: "VulnerabilityAssessmentRecurringScansProperties" + } + } + } + } +}; + +export const ManagedServerSecurityAlertPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedServerSecurityAlertPolicy", + modelProperties: { + ...ProxyResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + disabledAlerts: { + serializedName: "properties.disabledAlerts", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + emailAddresses: { + serializedName: "properties.emailAddresses", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + emailAccountAdmins: { + serializedName: "properties.emailAccountAdmins", + type: { + name: "Boolean" + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + creationTime: { + serializedName: "properties.creationTime", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const OperationsHealth: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationsHealth", + modelProperties: { + ...ProxyResource.type.modelProperties, + namePropertiesName: { + serializedName: "properties.name", + readOnly: true, + type: { + name: "String" + } + }, + health: { + serializedName: "properties.health", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnection", + modelProperties: { + ...ProxyResource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpointProperty" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionStateProperty" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "PrivateLinkResourceProperties" + } + } + } + } +}; + +export const RecoverableManagedDatabase: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoverableManagedDatabase", + modelProperties: { + ...ProxyResource.type.modelProperties, + lastAvailableBackupDate: { + serializedName: "properties.lastAvailableBackupDate", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RestorePoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RestorePoint", + modelProperties: { + ...ProxyResource.type.modelProperties, + location: { + serializedName: "location", + readOnly: true, + type: { + name: "String" + } + }, + restorePointType: { + serializedName: "properties.restorePointType", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["CONTINUOUS", "DISCRETE"] + } + }, + earliestRestoreDate: { + serializedName: "properties.earliestRestoreDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + restorePointCreationDate: { + serializedName: "properties.restorePointCreationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + restorePointLabel: { + serializedName: "properties.restorePointLabel", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ServerAutomaticTuning: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerAutomaticTuning", + modelProperties: { + ...ProxyResource.type.modelProperties, + desiredState: { + serializedName: "properties.desiredState", + type: { + name: "Enum", + allowedValues: ["Custom", "Auto", "Unspecified"] + } + }, + actualState: { + serializedName: "properties.actualState", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Custom", "Auto", "Unspecified"] + } + }, + options: { + serializedName: "properties.options", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "AutomaticTuningServerOptions" + } + } + } + } + } + } +}; + +export const ServerAzureADAdministrator: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerAzureADAdministrator", + modelProperties: { + ...ProxyResource.type.modelProperties, + administratorType: { + serializedName: "properties.administratorType", + type: { + name: "String" + } + }, + login: { + serializedName: "properties.login", + type: { + name: "String" + } + }, + sid: { + serializedName: "properties.sid", + type: { + name: "Uuid" + } + }, + tenantId: { + serializedName: "properties.tenantId", + type: { + name: "Uuid" + } + }, + azureADOnlyAuthentication: { + serializedName: "properties.azureADOnlyAuthentication", + readOnly: true, + type: { + name: "Boolean" + } + } + } + } +}; + +export const ServerAzureADOnlyAuthentication: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerAzureADOnlyAuthentication", + modelProperties: { + ...ProxyResource.type.modelProperties, + azureADOnlyAuthentication: { + serializedName: "properties.azureADOnlyAuthentication", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ServerDevOpsAuditingSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerDevOpsAuditingSettings", + modelProperties: { + ...ProxyResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + isAzureMonitorTargetEnabled: { + serializedName: "properties.isAzureMonitorTargetEnabled", + type: { + name: "Boolean" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + storageAccountSubscriptionId: { + serializedName: "properties.storageAccountSubscriptionId", + type: { + name: "Uuid" + } + } + } + } +}; + +export const ServerDnsAlias: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerDnsAlias", + modelProperties: { + ...ProxyResource.type.modelProperties, + azureDnsRecord: { + serializedName: "properties.azureDnsRecord", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ServerKey: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerKey", + modelProperties: { + ...ProxyResource.type.modelProperties, + kind: { + serializedName: "kind", + readOnly: true, + type: { + name: "String" + } + }, + location: { + serializedName: "location", + readOnly: true, + type: { + name: "String" + } + }, + subregion: { + serializedName: "properties.subregion", + readOnly: true, + type: { + name: "String" + } + }, + serverKeyType: { + serializedName: "properties.serverKeyType", + type: { + name: "String" + } + }, + uri: { + serializedName: "properties.uri", + type: { + name: "String" + } + }, + thumbprint: { + serializedName: "properties.thumbprint", + readOnly: true, + type: { + name: "String" + } + }, + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + autoRotationEnabled: { + serializedName: "properties.autoRotationEnabled", + readOnly: true, + type: { + name: "Boolean" + } + } + } + } +}; + +export const ServerOperation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerOperation", + modelProperties: { + ...ProxyResource.type.modelProperties, + operation: { + serializedName: "properties.operation", + readOnly: true, + type: { + name: "String" + } + }, + operationFriendlyName: { + serializedName: "properties.operationFriendlyName", + readOnly: true, + type: { + name: "String" + } + }, + percentComplete: { + serializedName: "properties.percentComplete", + readOnly: true, + type: { + name: "Number" + } + }, + serverName: { + serializedName: "properties.serverName", + readOnly: true, + type: { + name: "String" + } + }, + startTime: { + serializedName: "properties.startTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + }, + errorCode: { + serializedName: "properties.errorCode", + readOnly: true, + type: { + name: "Number" + } + }, + errorDescription: { + serializedName: "properties.errorDescription", + readOnly: true, + type: { + name: "String" + } + }, + errorSeverity: { + serializedName: "properties.errorSeverity", + readOnly: true, + type: { + name: "Number" + } + }, + isUserError: { + serializedName: "properties.isUserError", + readOnly: true, + type: { + name: "Boolean" + } + }, + estimatedCompletionTime: { + serializedName: "properties.estimatedCompletionTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + description: { + serializedName: "properties.description", + readOnly: true, + type: { + name: "String" + } + }, + isCancellable: { + serializedName: "properties.isCancellable", + readOnly: true, + type: { + name: "Boolean" + } + } + } + } +}; + +export const ServerSecurityAlertPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerSecurityAlertPolicy", + modelProperties: { + ...ProxyResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + state: { + serializedName: "properties.state", + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + }, + disabledAlerts: { + serializedName: "properties.disabledAlerts", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + emailAddresses: { + serializedName: "properties.emailAddresses", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + emailAccountAdmins: { + serializedName: "properties.emailAccountAdmins", + type: { + name: "Boolean" + } + }, + storageEndpoint: { + serializedName: "properties.storageEndpoint", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + creationTime: { + serializedName: "properties.creationTime", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const ServerTrustGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerTrustGroup", + modelProperties: { + ...ProxyResource.type.modelProperties, + groupMembers: { + serializedName: "properties.groupMembers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServerInfo" + } + } + } + }, + trustScopes: { + serializedName: "properties.trustScopes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ServerVulnerabilityAssessment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServerVulnerabilityAssessment", + modelProperties: { + ...ProxyResource.type.modelProperties, + storageContainerPath: { + serializedName: "properties.storageContainerPath", + type: { + name: "String" + } + }, + storageContainerSasKey: { + serializedName: "properties.storageContainerSasKey", + type: { + name: "String" + } + }, + storageAccountAccessKey: { + serializedName: "properties.storageAccountAccessKey", + type: { + name: "String" + } + }, + recurringScans: { + serializedName: "properties.recurringScans", + type: { + name: "Composite", + className: "VulnerabilityAssessmentRecurringScansProperties" + } + } + } + } +}; + +export const SqlAgentConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SqlAgentConfiguration", + modelProperties: { + ...ProxyResource.type.modelProperties, + state: { + serializedName: "properties.state", + type: { + name: "String" + } + } + } + } +}; + +export const SubscriptionUsage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SubscriptionUsage", + modelProperties: { + ...ProxyResource.type.modelProperties, + displayName: { + serializedName: "properties.displayName", + readOnly: true, + type: { + name: "String" + } + }, + currentValue: { + serializedName: "properties.currentValue", + readOnly: true, + type: { + name: "Number" + } + }, + limit: { + serializedName: "properties.limit", + readOnly: true, + type: { + name: "Number" + } + }, + unit: { + serializedName: "properties.unit", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const SyncAgent: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncAgent", + modelProperties: { + ...ProxyResource.type.modelProperties, + namePropertiesName: { + serializedName: "properties.name", + readOnly: true, + type: { + name: "String" + } + }, + syncDatabaseId: { + serializedName: "properties.syncDatabaseId", + type: { + name: "String" + } + }, + lastAliveTime: { + serializedName: "properties.lastAliveTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + }, + isUpToDate: { + serializedName: "properties.isUpToDate", + readOnly: true, + type: { + name: "Boolean" + } + }, + expiryTime: { + serializedName: "properties.expiryTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + version: { + serializedName: "properties.version", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const SyncAgentLinkedDatabase: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncAgentLinkedDatabase", + modelProperties: { + ...ProxyResource.type.modelProperties, + databaseType: { + serializedName: "properties.databaseType", + readOnly: true, + type: { + name: "String" + } + }, + databaseId: { + serializedName: "properties.databaseId", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + readOnly: true, + type: { + name: "String" + } + }, + serverName: { + serializedName: "properties.serverName", + readOnly: true, + type: { + name: "String" + } + }, + databaseName: { + serializedName: "properties.databaseName", + readOnly: true, + type: { + name: "String" + } + }, + userName: { + serializedName: "properties.userName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const SyncGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncGroup", + modelProperties: { + ...ProxyResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + interval: { + serializedName: "properties.interval", + type: { + name: "Number" + } + }, + lastSyncTime: { + serializedName: "properties.lastSyncTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + conflictResolutionPolicy: { + serializedName: "properties.conflictResolutionPolicy", + type: { + name: "String" + } + }, + syncDatabaseId: { + serializedName: "properties.syncDatabaseId", + type: { + name: "String" + } + }, + hubDatabaseUserName: { + serializedName: "properties.hubDatabaseUserName", + type: { + name: "String" + } + }, + hubDatabasePassword: { + serializedName: "properties.hubDatabasePassword", + type: { + name: "String" + } + }, + syncState: { + serializedName: "properties.syncState", + readOnly: true, + type: { + name: "String" + } + }, + schema: { + serializedName: "properties.schema", + type: { + name: "Composite", + className: "SyncGroupSchema" + } + }, + enableConflictLogging: { + serializedName: "properties.enableConflictLogging", + type: { + name: "Boolean" + } + }, + conflictLoggingRetentionInDays: { + serializedName: "properties.conflictLoggingRetentionInDays", + type: { + name: "Number" + } + }, + usePrivateLinkConnection: { + serializedName: "properties.usePrivateLinkConnection", + type: { + name: "Boolean" + } + }, + privateEndpointName: { + serializedName: "properties.privateEndpointName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const SyncMember: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SyncMember", + modelProperties: { + ...ProxyResource.type.modelProperties, + databaseType: { + serializedName: "properties.databaseType", + type: { + name: "String" + } + }, + syncAgentId: { + serializedName: "properties.syncAgentId", + type: { + name: "String" + } + }, + sqlServerDatabaseId: { + serializedName: "properties.sqlServerDatabaseId", + type: { + name: "Uuid" + } + }, + syncMemberAzureDatabaseResourceId: { + serializedName: "properties.syncMemberAzureDatabaseResourceId", + type: { + name: "String" + } + }, + usePrivateLinkConnection: { + serializedName: "properties.usePrivateLinkConnection", + type: { + name: "Boolean" + } + }, + privateEndpointName: { + serializedName: "properties.privateEndpointName", + readOnly: true, + type: { + name: "String" + } + }, + serverName: { + serializedName: "properties.serverName", + type: { + name: "String" + } + }, + databaseName: { + serializedName: "properties.databaseName", + type: { + name: "String" + } + }, + userName: { + serializedName: "properties.userName", + type: { + name: "String" + } + }, + password: { + serializedName: "properties.password", + type: { + name: "String" + } + }, + syncDirection: { + serializedName: "properties.syncDirection", + type: { + name: "String" + } + }, + syncState: { + serializedName: "properties.syncState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const TimeZone: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TimeZone", + modelProperties: { + ...ProxyResource.type.modelProperties, + timeZoneId: { + serializedName: "properties.timeZoneId", + readOnly: true, + type: { + name: "String" + } + }, + displayName: { + serializedName: "properties.displayName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const UpdateManagedInstanceDnsServersOperation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateManagedInstanceDnsServersOperation", + modelProperties: { + ...ProxyResource.type.modelProperties, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkRule", + modelProperties: { + ...ProxyResource.type.modelProperties, + virtualNetworkSubnetId: { + serializedName: "properties.virtualNetworkSubnetId", + type: { + name: "String" + } + }, + ignoreMissingVnetServiceEndpoint: { + serializedName: "properties.ignoreMissingVnetServiceEndpoint", + type: { + name: "Boolean" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const WorkloadClassifier: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "WorkloadClassifier", + modelProperties: { + ...ProxyResource.type.modelProperties, + memberName: { + serializedName: "properties.memberName", + type: { + name: "String" + } + }, + label: { + serializedName: "properties.label", + type: { + name: "String" + } + }, + context: { + serializedName: "properties.context", + type: { + name: "String" + } + }, + startTime: { + serializedName: "properties.startTime", + type: { + name: "String" + } + }, + endTime: { + serializedName: "properties.endTime", + type: { + name: "String" + } + }, + importance: { + serializedName: "properties.importance", + type: { + name: "String" + } + } + } + } +}; + +export const WorkloadGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "WorkloadGroup", + modelProperties: { + ...ProxyResource.type.modelProperties, + minResourcePercent: { + serializedName: "properties.minResourcePercent", + type: { + name: "Number" + } + }, + maxResourcePercent: { + serializedName: "properties.maxResourcePercent", + type: { + name: "Number" + } + }, + minResourcePercentPerRequest: { + serializedName: "properties.minResourcePercentPerRequest", + type: { + name: "Number" + } + }, + maxResourcePercentPerRequest: { + serializedName: "properties.maxResourcePercentPerRequest", + type: { + name: "Number" + } + }, + importance: { + serializedName: "properties.importance", + type: { + name: "String" + } + }, + queryExecutionTimeout: { + serializedName: "properties.queryExecutionTimeout", + type: { + name: "Number" + } + } + } + } +}; + +export const BackupShortTermRetentionPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "BackupShortTermRetentionPolicy", + modelProperties: { + ...ProxyResource.type.modelProperties, + retentionDays: { + serializedName: "properties.retentionDays", + type: { + name: "Number" + } + }, + diffBackupIntervalInHours: { + serializedName: "properties.diffBackupIntervalInHours", + type: { + name: "Number" + } + } + } + } +}; + +export const ImportExportOperationResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImportExportOperationResult", + modelProperties: { + ...ProxyResource.type.modelProperties, + requestId: { + serializedName: "properties.requestId", + readOnly: true, + type: { + name: "Uuid" + } + }, + requestType: { + serializedName: "properties.requestType", + readOnly: true, + type: { + name: "String" + } + }, + queuedTime: { + serializedName: "properties.queuedTime", + readOnly: true, + type: { + name: "String" + } + }, + lastModifiedTime: { + serializedName: "properties.lastModifiedTime", + readOnly: true, + type: { + name: "String" + } + }, + blobUri: { + serializedName: "properties.blobUri", + readOnly: true, + type: { + name: "String" + } + }, + serverName: { + serializedName: "properties.serverName", + readOnly: true, + type: { + name: "String" + } + }, + databaseName: { + serializedName: "properties.databaseName", + readOnly: true, + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + errorMessage: { + serializedName: "properties.errorMessage", + readOnly: true, + type: { + name: "String" + } + }, + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnectionRequestStatus" + } + } + } + } + } + } +}; + +export const DatabaseExtensions: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseExtensions", + modelProperties: { + ...ProxyResource.type.modelProperties, + operationMode: { + serializedName: "properties.operationMode", + type: { + name: "String" + } + }, + storageKeyType: { + serializedName: "properties.storageKeyType", + type: { + name: "String" + } + }, + storageKey: { + serializedName: "properties.storageKey", + type: { + name: "String" + } + }, + storageUri: { + serializedName: "properties.storageUri", + type: { + name: "String" + } + } + } + } +}; + +export const ImportExportExtensionsOperationResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImportExportExtensionsOperationResult", + modelProperties: { + ...ProxyResource.type.modelProperties, + requestId: { + serializedName: "properties.requestId", + readOnly: true, + type: { + name: "Uuid" + } + }, + requestType: { + serializedName: "properties.requestType", + readOnly: true, + type: { + name: "String" + } + }, + lastModifiedTime: { + serializedName: "properties.lastModifiedTime", + readOnly: true, + type: { + name: "String" + } + }, + serverName: { + serializedName: "properties.serverName", + readOnly: true, + type: { + name: "String" + } + }, + databaseName: { + serializedName: "properties.databaseName", + readOnly: true, + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + errorMessage: { + serializedName: "properties.errorMessage", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const DatabaseOperation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseOperation", + modelProperties: { + ...ProxyResource.type.modelProperties, + databaseName: { + serializedName: "properties.databaseName", + readOnly: true, + type: { + name: "String" + } + }, + operation: { + serializedName: "properties.operation", + readOnly: true, + type: { + name: "String" + } + }, + operationFriendlyName: { + serializedName: "properties.operationFriendlyName", + readOnly: true, + type: { + name: "String" + } + }, + percentComplete: { + serializedName: "properties.percentComplete", + readOnly: true, + type: { + name: "Number" + } + }, + serverName: { + serializedName: "properties.serverName", + readOnly: true, + type: { + name: "String" + } + }, + startTime: { + serializedName: "properties.startTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + }, + errorCode: { + serializedName: "properties.errorCode", + readOnly: true, + type: { + name: "Number" + } + }, + errorDescription: { + serializedName: "properties.errorDescription", + readOnly: true, + type: { + name: "String" + } + }, + errorSeverity: { + serializedName: "properties.errorSeverity", + readOnly: true, + type: { + name: "Number" + } + }, + isUserError: { + serializedName: "properties.isUserError", + readOnly: true, + type: { + name: "Boolean" + } + }, + estimatedCompletionTime: { + serializedName: "properties.estimatedCompletionTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + description: { + serializedName: "properties.description", + readOnly: true, + type: { + name: "String" + } + }, + isCancellable: { + serializedName: "properties.isCancellable", + readOnly: true, + type: { + name: "Boolean" + } + } + } + } +}; + +export const DatabaseUsage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DatabaseUsage", + modelProperties: { + ...ProxyResource.type.modelProperties, + displayName: { + serializedName: "properties.displayName", + readOnly: true, + type: { + name: "String" + } + }, + currentValue: { + serializedName: "properties.currentValue", + readOnly: true, + type: { + name: "Number" + } + }, + limit: { + serializedName: "properties.limit", + readOnly: true, + type: { + name: "Number" + } + }, + unit: { + serializedName: "properties.unit", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const LedgerDigestUploads: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LedgerDigestUploads", + modelProperties: { + ...ProxyResource.type.modelProperties, + digestStorageEndpoint: { + serializedName: "properties.digestStorageEndpoint", + type: { + name: "String" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["Enabled", "Disabled"] + } + } + } + } +}; + +export const OutboundFirewallRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OutboundFirewallRule", + modelProperties: { + ...ProxyResource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ReplicationLink: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationLink", + modelProperties: { + ...ProxyResource.type.modelProperties, + partnerServer: { + serializedName: "properties.partnerServer", + readOnly: true, + type: { + name: "String" + } + }, + partnerDatabase: { + serializedName: "properties.partnerDatabase", + readOnly: true, + type: { + name: "String" + } + }, + partnerLocation: { + serializedName: "properties.partnerLocation", + readOnly: true, + type: { + name: "String" + } + }, + role: { + serializedName: "properties.role", + readOnly: true, + type: { + name: "Enum", + allowedValues: [ + "Primary", + "Secondary", + "NonReadableSecondary", + "Source", + "Copy" + ] + } + }, + partnerRole: { + serializedName: "properties.partnerRole", + readOnly: true, + type: { + name: "Enum", + allowedValues: [ + "Primary", + "Secondary", + "NonReadableSecondary", + "Source", + "Copy" + ] + } + }, + replicationMode: { + serializedName: "properties.replicationMode", + readOnly: true, + type: { + name: "String" + } + }, + startTime: { + serializedName: "properties.startTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + percentComplete: { + serializedName: "properties.percentComplete", + readOnly: true, + type: { + name: "Number" + } + }, + replicationState: { + serializedName: "properties.replicationState", + readOnly: true, + type: { + name: "String" + } + }, + isTerminationAllowed: { + serializedName: "properties.isTerminationAllowed", + readOnly: true, + type: { + name: "Boolean" + } + }, + linkType: { + serializedName: "properties.linkType", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RestorableDroppedDatabase: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RestorableDroppedDatabase", + modelProperties: { + ...ProxyResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + databaseName: { + serializedName: "properties.databaseName", + readOnly: true, + type: { + name: "String" + } + }, + maxSizeBytes: { + serializedName: "properties.maxSizeBytes", + readOnly: true, + type: { + name: "Number" + } + }, + elasticPoolId: { + serializedName: "properties.elasticPoolId", + readOnly: true, + type: { + name: "String" + } + }, + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + deletionDate: { + serializedName: "properties.deletionDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + earliestRestoreDate: { + serializedName: "properties.earliestRestoreDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + backupStorageRedundancy: { + serializedName: "properties.backupStorageRedundancy", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ElasticPool: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ElasticPool", + modelProperties: { + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + kind: { + serializedName: "kind", + readOnly: true, + type: { + name: "String" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + }, + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + maxSizeBytes: { + serializedName: "properties.maxSizeBytes", + type: { + name: "Number" + } + }, + perDatabaseSettings: { + serializedName: "properties.perDatabaseSettings", + type: { + name: "Composite", + className: "ElasticPoolPerDatabaseSettings" + } + }, + zoneRedundant: { + serializedName: "properties.zoneRedundant", + type: { + name: "Boolean" + } + }, + licenseType: { + serializedName: "properties.licenseType", + type: { + name: "String" + } + }, + maintenanceConfigurationId: { + serializedName: "properties.maintenanceConfigurationId", + type: { + name: "String" + } + } + } + } +}; + +export const InstancePool: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InstancePool", + modelProperties: { + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + subnetId: { + serializedName: "properties.subnetId", + type: { + name: "String" + } + }, + vCores: { + serializedName: "properties.vCores", + type: { + name: "Number" + } + }, + licenseType: { + serializedName: "properties.licenseType", + type: { + name: "String" + } + } + } + } +}; + +export const JobAgent: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobAgent", + modelProperties: { + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + databaseId: { + serializedName: "properties.databaseId", + type: { + name: "String" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ManagedDatabase: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedDatabase", + modelProperties: { + ...TrackedResource.type.modelProperties, + collation: { + serializedName: "properties.collation", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + earliestRestorePoint: { + serializedName: "properties.earliestRestorePoint", + readOnly: true, + type: { + name: "DateTime" + } + }, + restorePointInTime: { + serializedName: "properties.restorePointInTime", + type: { + name: "DateTime" + } + }, + defaultSecondaryLocation: { + serializedName: "properties.defaultSecondaryLocation", + readOnly: true, + type: { + name: "String" + } + }, + catalogCollation: { + serializedName: "properties.catalogCollation", + type: { + name: "String" + } + }, + createMode: { + serializedName: "properties.createMode", + type: { + name: "String" + } + }, + storageContainerUri: { + serializedName: "properties.storageContainerUri", + type: { + name: "String" + } + }, + sourceDatabaseId: { + serializedName: "properties.sourceDatabaseId", + type: { + name: "String" + } + }, + restorableDroppedDatabaseId: { + serializedName: "properties.restorableDroppedDatabaseId", + type: { + name: "String" + } + }, + storageContainerSasToken: { + serializedName: "properties.storageContainerSasToken", + type: { + name: "String" + } + }, + failoverGroupId: { + serializedName: "properties.failoverGroupId", + readOnly: true, + type: { + name: "String" + } + }, + recoverableDatabaseId: { + serializedName: "properties.recoverableDatabaseId", + type: { + name: "String" + } + }, + longTermRetentionBackupResourceId: { + serializedName: "properties.longTermRetentionBackupResourceId", + type: { + name: "String" + } + }, + autoCompleteRestore: { + serializedName: "properties.autoCompleteRestore", + type: { + name: "Boolean" + } + }, + lastBackupName: { + serializedName: "properties.lastBackupName", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedInstance: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedInstance", + modelProperties: { + ...TrackedResource.type.modelProperties, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "ResourceIdentity" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + managedInstanceCreateMode: { + serializedName: "properties.managedInstanceCreateMode", + type: { + name: "String" + } + }, + fullyQualifiedDomainName: { + serializedName: "properties.fullyQualifiedDomainName", + readOnly: true, + type: { + name: "String" + } + }, + administratorLogin: { + serializedName: "properties.administratorLogin", + type: { + name: "String" + } + }, + administratorLoginPassword: { + serializedName: "properties.administratorLoginPassword", + type: { + name: "String" + } + }, + subnetId: { + serializedName: "properties.subnetId", + type: { + name: "String" + } + }, + state: { + serializedName: "properties.state", + readOnly: true, + type: { + name: "String" + } + }, + licenseType: { + serializedName: "properties.licenseType", + type: { + name: "String" + } + }, + vCores: { + serializedName: "properties.vCores", + type: { + name: "Number" + } + }, + storageSizeInGB: { + serializedName: "properties.storageSizeInGB", + type: { + name: "Number" + } + }, + collation: { + serializedName: "properties.collation", + type: { + name: "String" + } + }, + dnsZone: { + serializedName: "properties.dnsZone", + readOnly: true, + type: { + name: "String" + } + }, + dnsZonePartner: { + serializedName: "properties.dnsZonePartner", + type: { + name: "String" + } + }, + publicDataEndpointEnabled: { + serializedName: "properties.publicDataEndpointEnabled", + type: { + name: "Boolean" + } + }, + sourceManagedInstanceId: { + serializedName: "properties.sourceManagedInstanceId", + type: { + name: "String" + } + }, + restorePointInTime: { + serializedName: "properties.restorePointInTime", + type: { + name: "DateTime" + } + }, + proxyOverride: { + serializedName: "properties.proxyOverride", + type: { + name: "String" + } + }, + timezoneId: { + serializedName: "properties.timezoneId", + type: { + name: "String" + } + }, + instancePoolId: { + serializedName: "properties.instancePoolId", + type: { + name: "String" + } + }, + maintenanceConfigurationId: { + serializedName: "properties.maintenanceConfigurationId", + type: { + name: "String" + } + }, + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedInstancePecProperty" + } + } + } + }, + minimalTlsVersion: { + serializedName: "properties.minimalTlsVersion", + type: { + name: "String" + } + }, + storageAccountType: { + serializedName: "properties.storageAccountType", + type: { + name: "String" + } + }, + zoneRedundant: { + serializedName: "properties.zoneRedundant", + type: { + name: "Boolean" + } + }, + primaryUserAssignedIdentityId: { + serializedName: "properties.primaryUserAssignedIdentityId", + type: { + name: "String" + } + }, + keyId: { + serializedName: "properties.keyId", + type: { + name: "String" + } + }, + administrators: { + serializedName: "properties.administrators", + type: { + name: "Composite", + className: "ManagedInstanceExternalAdministrator" + } + } + } + } +}; + +export const VirtualCluster: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualCluster", + modelProperties: { + ...TrackedResource.type.modelProperties, + subnetId: { + serializedName: "properties.subnetId", + readOnly: true, + type: { + name: "String" + } + }, + family: { + serializedName: "properties.family", + type: { + name: "String" + } + }, + childResources: { + serializedName: "properties.childResources", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + maintenanceConfigurationId: { + serializedName: "properties.maintenanceConfigurationId", + type: { + name: "String" + } + } + } + } +}; + +export const Database: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Database", + modelProperties: { + ...TrackedResource.type.modelProperties, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + }, + kind: { + serializedName: "kind", + readOnly: true, + type: { + name: "String" + } + }, + managedBy: { + serializedName: "managedBy", + readOnly: true, + type: { + name: "String" + } + }, + createMode: { + serializedName: "properties.createMode", + type: { + name: "String" + } + }, + collation: { + serializedName: "properties.collation", + type: { + name: "String" + } + }, + maxSizeBytes: { + serializedName: "properties.maxSizeBytes", + type: { + name: "Number" + } + }, + sampleName: { + serializedName: "properties.sampleName", + type: { + name: "String" + } + }, + elasticPoolId: { + serializedName: "properties.elasticPoolId", + type: { + name: "String" + } + }, + sourceDatabaseId: { + serializedName: "properties.sourceDatabaseId", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + databaseId: { + serializedName: "properties.databaseId", + readOnly: true, + type: { + name: "Uuid" + } + }, + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + currentServiceObjectiveName: { + serializedName: "properties.currentServiceObjectiveName", + readOnly: true, + type: { + name: "String" + } + }, + requestedServiceObjectiveName: { + serializedName: "properties.requestedServiceObjectiveName", + readOnly: true, + type: { + name: "String" + } + }, + defaultSecondaryLocation: { + serializedName: "properties.defaultSecondaryLocation", + readOnly: true, + type: { + name: "String" + } + }, + failoverGroupId: { + serializedName: "properties.failoverGroupId", + readOnly: true, + type: { + name: "String" + } + }, + restorePointInTime: { + serializedName: "properties.restorePointInTime", + type: { + name: "DateTime" + } + }, + sourceDatabaseDeletionDate: { + serializedName: "properties.sourceDatabaseDeletionDate", + type: { + name: "DateTime" + } + }, + recoveryServicesRecoveryPointId: { + serializedName: "properties.recoveryServicesRecoveryPointId", + type: { + name: "String" + } + }, + longTermRetentionBackupResourceId: { + serializedName: "properties.longTermRetentionBackupResourceId", + type: { + name: "String" + } + }, + recoverableDatabaseId: { + serializedName: "properties.recoverableDatabaseId", + type: { + name: "String" + } + }, + restorableDroppedDatabaseId: { + serializedName: "properties.restorableDroppedDatabaseId", + type: { + name: "String" + } + }, + catalogCollation: { + serializedName: "properties.catalogCollation", + type: { + name: "String" + } + }, + zoneRedundant: { + serializedName: "properties.zoneRedundant", + type: { + name: "Boolean" + } + }, + licenseType: { + serializedName: "properties.licenseType", + type: { + name: "String" + } + }, + maxLogSizeBytes: { + serializedName: "properties.maxLogSizeBytes", + readOnly: true, + type: { + name: "Number" + } + }, + earliestRestoreDate: { + serializedName: "properties.earliestRestoreDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + readScale: { + serializedName: "properties.readScale", + type: { + name: "String" + } + }, + highAvailabilityReplicaCount: { + serializedName: "properties.highAvailabilityReplicaCount", + type: { + name: "Number" + } + }, + secondaryType: { + serializedName: "properties.secondaryType", + type: { + name: "String" + } + }, + currentSku: { + serializedName: "properties.currentSku", + type: { + name: "Composite", + className: "Sku" + } + }, + autoPauseDelay: { + serializedName: "properties.autoPauseDelay", + type: { + name: "Number" + } + }, + currentBackupStorageRedundancy: { + serializedName: "properties.currentBackupStorageRedundancy", + readOnly: true, + type: { + name: "String" + } + }, + requestedBackupStorageRedundancy: { + serializedName: "properties.requestedBackupStorageRedundancy", + type: { + name: "String" + } + }, + minCapacity: { + serializedName: "properties.minCapacity", + type: { + name: "Number" + } + }, + pausedDate: { + serializedName: "properties.pausedDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + resumedDate: { + serializedName: "properties.resumedDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + maintenanceConfigurationId: { + serializedName: "properties.maintenanceConfigurationId", + type: { + name: "String" + } + }, + isLedgerOn: { + serializedName: "properties.isLedgerOn", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedInstanceKey" - } - } + name: "Boolean" } }, - nextLink: { + isInfraEncryptionEnabled: { + serializedName: "properties.isInfraEncryptionEnabled", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "Boolean" } } } } }; -export const ManagedInstanceEncryptionProtectorListResult: msRest.CompositeMapper = { - serializedName: "ManagedInstanceEncryptionProtectorListResult", +export const RestorableDroppedManagedDatabase: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceEncryptionProtectorListResult", + className: "RestorableDroppedManagedDatabase", modelProperties: { - value: { + ...TrackedResource.type.modelProperties, + databaseName: { + serializedName: "properties.databaseName", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedInstanceEncryptionProtector" - } - } + name: "String" } }, - nextLink: { + creationDate: { + serializedName: "properties.creationDate", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const RecoverableManagedDatabaseListResult: msRest.CompositeMapper = { - serializedName: "RecoverableManagedDatabaseListResult", - type: { - name: "Composite", - className: "RecoverableManagedDatabaseListResult", - modelProperties: { - value: { + }, + deletionDate: { + serializedName: "properties.deletionDate", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoverableManagedDatabase" - } - } + name: "DateTime" } }, - nextLink: { + earliestRestoreDate: { + serializedName: "properties.earliestRestoreDate", readOnly: true, - serializedName: "nextLink", type: { - name: "String" + name: "DateTime" } } } } }; -export const ManagedInstanceVulnerabilityAssessmentListResult: msRest.CompositeMapper = { - serializedName: "ManagedInstanceVulnerabilityAssessmentListResult", +export const Server: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ManagedInstanceVulnerabilityAssessmentListResult", + className: "Server", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...TrackedResource.type.modelProperties, + identity: { + serializedName: "identity", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedInstanceVulnerabilityAssessment" - } - } + name: "Composite", + className: "ResourceIdentity" } }, - nextLink: { + kind: { + serializedName: "kind", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const ServerVulnerabilityAssessmentListResult: msRest.CompositeMapper = { - serializedName: "ServerVulnerabilityAssessmentListResult", - type: { - name: "Composite", - className: "ServerVulnerabilityAssessmentListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + }, + administratorLogin: { + serializedName: "properties.administratorLogin", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ServerVulnerabilityAssessment" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + administratorLoginPassword: { + serializedName: "properties.administratorLoginPassword", type: { name: "String" } - } - } - } -}; - -export const InstancePoolListResult: msRest.CompositeMapper = { - serializedName: "InstancePoolListResult", - type: { - name: "Composite", - className: "InstancePoolListResult", - modelProperties: { - value: { + }, + version: { + serializedName: "properties.version", + type: { + name: "String" + } + }, + state: { + serializedName: "properties.state", readOnly: true, - serializedName: "", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "InstancePool" - } - } + name: "String" } }, - nextLink: { + fullyQualifiedDomainName: { + serializedName: "properties.fullyQualifiedDomainName", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const UsageListResult: msRest.CompositeMapper = { - serializedName: "UsageListResult", - type: { - name: "Composite", - className: "UsageListResult", - modelProperties: { - value: { + }, + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", readOnly: true, - serializedName: "", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Usage" + className: "ServerPrivateEndpointConnection" } } } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + minimalTlsVersion: { + serializedName: "properties.minimalTlsVersion", type: { name: "String" } - } - } - } -}; - -export const ManagedInstanceListResult: msRest.CompositeMapper = { - serializedName: "ManagedInstanceListResult", - type: { - name: "Composite", - className: "ManagedInstanceListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedInstance" - } - } + name: "String" } }, - nextLink: { + workspaceFeature: { + serializedName: "properties.workspaceFeature", readOnly: true, - serializedName: "nextLink", type: { name: "String" } - } - } - } -}; - -export const ManagedDatabaseListResult: msRest.CompositeMapper = { - serializedName: "ManagedDatabaseListResult", - type: { - name: "Composite", - className: "ManagedDatabaseListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + }, + primaryUserAssignedIdentityId: { + serializedName: "properties.primaryUserAssignedIdentityId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagedDatabase" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + federatedClientId: { + serializedName: "properties.federatedClientId", + type: { + name: "Uuid" + } + }, + keyId: { + serializedName: "properties.keyId", type: { name: "String" } - } - } - } -}; - -export const PrivateEndpointConnectionListResult: msRest.CompositeMapper = { - serializedName: "PrivateEndpointConnectionListResult", - type: { - name: "Composite", - className: "PrivateEndpointConnectionListResult", - modelProperties: { - value: { - readOnly: true, - serializedName: "", + }, + administrators: { + serializedName: "properties.administrators", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PrivateEndpointConnection" - } - } + name: "Composite", + className: "ServerExternalAdministrator" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + restrictOutboundNetworkAccess: { + serializedName: "properties.restrictOutboundNetworkAccess", type: { name: "String" } @@ -10402,28 +14203,20 @@ export const PrivateEndpointConnectionListResult: msRest.CompositeMapper = { } }; -export const PrivateLinkResourceListResult: msRest.CompositeMapper = { - serializedName: "PrivateLinkResourceListResult", +export const FirewallRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateLinkResourceListResult", + className: "FirewallRule", modelProperties: { - value: { - readOnly: true, - serializedName: "", + ...ProxyResourceWithWritableName.type.modelProperties, + startIpAddress: { + serializedName: "properties.startIpAddress", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PrivateLinkResource" - } - } + name: "String" } }, - nextLink: { - readOnly: true, - serializedName: "nextLink", + endIpAddress: { + serializedName: "properties.endIpAddress", type: { name: "String" } diff --git a/sdk/sql/arm-sql/src/models/operationsMappers.ts b/sdk/sql/arm-sql/src/models/operationsMappers.ts deleted file mode 100644 index 689688180be7..000000000000 --- a/sdk/sql/arm-sql/src/models/operationsMappers.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - Operation, - OperationDisplay, - OperationListResult -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/parameters.ts b/sdk/sql/arm-sql/src/models/parameters.ts index 85f7ca30cdca..c378a21da109 100644 --- a/sdk/sql/arm-sql/src/models/parameters.ts +++ b/sdk/sql/arm-sql/src/models/parameters.ts @@ -1,382 +1,608 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + ServerConnectionPolicy as ServerConnectionPolicyMapper, + DataMaskingPolicy as DataMaskingPolicyMapper, + DataMaskingRule as DataMaskingRuleMapper, + GeoBackupPolicy as GeoBackupPolicyMapper, + Database as DatabaseMapper, + DatabaseUpdate as DatabaseUpdateMapper, + ResourceMoveDefinition as ResourceMoveDefinitionMapper, + ImportExistingDatabaseDefinition as ImportExistingDatabaseDefinitionMapper, + ExportDatabaseDefinition as ExportDatabaseDefinitionMapper, + ElasticPool as ElasticPoolMapper, + ElasticPoolUpdate as ElasticPoolUpdateMapper, + UnlinkParameters as UnlinkParametersMapper, + ServerCommunicationLink as ServerCommunicationLinkMapper, + TransparentDataEncryption as TransparentDataEncryptionMapper, + ExtendedDatabaseBlobAuditingPolicy as ExtendedDatabaseBlobAuditingPolicyMapper, + ExtendedServerBlobAuditingPolicy as ExtendedServerBlobAuditingPolicyMapper, + ServerBlobAuditingPolicy as ServerBlobAuditingPolicyMapper, + DatabaseBlobAuditingPolicy as DatabaseBlobAuditingPolicyMapper, + Advisor as AdvisorMapper, + DatabaseAutomaticTuning as DatabaseAutomaticTuningMapper, + RecommendedAction as RecommendedActionMapper, + DatabaseSecurityAlertPolicy as DatabaseSecurityAlertPolicyMapper, + DatabaseVulnerabilityAssessmentRuleBaseline as DatabaseVulnerabilityAssessmentRuleBaselineMapper, + DatabaseVulnerabilityAssessment as DatabaseVulnerabilityAssessmentMapper, + EncryptionProtector as EncryptionProtectorMapper, + FailoverGroup as FailoverGroupMapper, + FailoverGroupUpdate as FailoverGroupUpdateMapper, + FirewallRule as FirewallRuleMapper, + FirewallRuleList as FirewallRuleListMapper, + InstanceFailoverGroup as InstanceFailoverGroupMapper, + InstancePool as InstancePoolMapper, + InstancePoolUpdate as InstancePoolUpdateMapper, + JobAgent as JobAgentMapper, + JobAgentUpdate as JobAgentUpdateMapper, + JobCredential as JobCredentialMapper, + Job as JobMapper, + JobStep as JobStepMapper, + JobTargetGroup as JobTargetGroupMapper, + CopyLongTermRetentionBackupParameters as CopyLongTermRetentionBackupParametersMapper, + UpdateLongTermRetentionBackupParameters as UpdateLongTermRetentionBackupParametersMapper, + LongTermRetentionPolicy as LongTermRetentionPolicyMapper, + MaintenanceWindows as MaintenanceWindowsMapper, + ManagedBackupShortTermRetentionPolicy as ManagedBackupShortTermRetentionPolicyMapper, + ManagedDatabase as ManagedDatabaseMapper, + ManagedDatabaseUpdate as ManagedDatabaseUpdateMapper, + CompleteDatabaseRestoreDefinition as CompleteDatabaseRestoreDefinitionMapper, + ManagedDatabaseSecurityAlertPolicy as ManagedDatabaseSecurityAlertPolicyMapper, + SensitivityLabel as SensitivityLabelMapper, + SensitivityLabelUpdateList as SensitivityLabelUpdateListMapper, + RecommendedSensitivityLabelUpdateList as RecommendedSensitivityLabelUpdateListMapper, + ManagedTransparentDataEncryption as ManagedTransparentDataEncryptionMapper, + ManagedInstanceAdministrator as ManagedInstanceAdministratorMapper, + ManagedInstanceAzureADOnlyAuthentication as ManagedInstanceAzureADOnlyAuthenticationMapper, + ManagedInstanceEncryptionProtector as ManagedInstanceEncryptionProtectorMapper, + ManagedInstanceKey as ManagedInstanceKeyMapper, + ManagedInstanceLongTermRetentionPolicy as ManagedInstanceLongTermRetentionPolicyMapper, + ManagedInstancePrivateEndpointConnection as ManagedInstancePrivateEndpointConnectionMapper, + ManagedInstance as ManagedInstanceMapper, + ManagedInstanceUpdate as ManagedInstanceUpdateMapper, + TdeCertificate as TdeCertificateMapper, + ManagedInstanceVulnerabilityAssessment as ManagedInstanceVulnerabilityAssessmentMapper, + ManagedServerSecurityAlertPolicy as ManagedServerSecurityAlertPolicyMapper, + PrivateEndpointConnection as PrivateEndpointConnectionMapper, + CreateDatabaseRestorePointDefinition as CreateDatabaseRestorePointDefinitionMapper, + ServerAutomaticTuning as ServerAutomaticTuningMapper, + ServerAzureADAdministrator as ServerAzureADAdministratorMapper, + ServerAzureADOnlyAuthentication as ServerAzureADOnlyAuthenticationMapper, + ServerDevOpsAuditingSettings as ServerDevOpsAuditingSettingsMapper, + ServerDnsAliasAcquisition as ServerDnsAliasAcquisitionMapper, + ServerKey as ServerKeyMapper, + ServerSecurityAlertPolicy as ServerSecurityAlertPolicyMapper, + ServerTrustGroup as ServerTrustGroupMapper, + ServerVulnerabilityAssessment as ServerVulnerabilityAssessmentMapper, + SqlAgentConfiguration as SqlAgentConfigurationMapper, + SyncAgent as SyncAgentMapper, + SyncGroup as SyncGroupMapper, + SyncMember as SyncMemberMapper, + VirtualClusterUpdate as VirtualClusterUpdateMapper, + VirtualNetworkRule as VirtualNetworkRuleMapper, + WorkloadClassifier as WorkloadClassifierMapper, + WorkloadGroup as WorkloadGroupMapper, + BackupShortTermRetentionPolicy as BackupShortTermRetentionPolicyMapper, + DatabaseExtensions as DatabaseExtensionsMapper, + LedgerDigestUploads as LedgerDigestUploadsMapper, + OutboundFirewallRule as OutboundFirewallRuleMapper, + Server as ServerMapper, + ServerUpdate as ServerUpdateMapper, + ImportNewDatabaseDefinition as ImportNewDatabaseDefinitionMapper, + CheckNameAvailabilityRequest as CheckNameAvailabilityRequestMapper +} from "../models/mappers"; -export const acceptLanguage: msRest.OperationParameter = { - parameterPath: "acceptLanguage", +export const accept: OperationParameter = { + parameterPath: "accept", mapper: { - serializedName: "accept-language", - defaultValue: 'en-US', + defaultValue: "application/json", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const administratorName0: msRest.OperationURLParameter = { - parameterPath: "administratorName", + +export const $host: OperationURLParameter = { + parameterPath: "$host", mapper: { + serializedName: "$host", required: true, - isConstant: true, - serializedName: "administratorName", - defaultValue: 'activeDirectory', type: { name: "String" } - } + }, + skipEncoding: true }; -export const administratorName1: msRest.OperationURLParameter = { - parameterPath: "administratorName", + +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { - required: true, + defaultValue: "2014-04-01", isConstant: true, - serializedName: "administratorName", - defaultValue: 'ActiveDirectory', + serializedName: "api-version", type: { name: "String" } } }; -export const apiVersion0: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", mapper: { + serializedName: "subscriptionId", required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2014-04-01', type: { name: "String" } } }; -export const apiVersion1: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", mapper: { + serializedName: "resourceGroupName", required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2015-05-01-preview', type: { name: "String" } } }; -export const apiVersion2: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const serverName: OperationURLParameter = { + parameterPath: "serverName", mapper: { + serializedName: "serverName", required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2017-10-01-preview', type: { name: "String" } } }; -export const apiVersion3: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const databaseName: OperationURLParameter = { + parameterPath: "databaseName", mapper: { + serializedName: "databaseName", required: true, - isConstant: true, - serializedName: "api-version", - defaultValue: '2018-06-01-preview', type: { name: "String" } } }; -export const apiVersion4: msRest.OperationQueryParameter = { - parameterPath: "apiVersion", + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], mapper: { - required: true, + defaultValue: "application/json", isConstant: true, - serializedName: "api-version", - defaultValue: '2017-03-01-preview', + serializedName: "Content-Type", type: { name: "String" } } }; -export const backupName: msRest.OperationURLParameter = { - parameterPath: "backupName", + +export const parameters: OperationParameter = { + parameterPath: "parameters", + mapper: ServerConnectionPolicyMapper +}; + +export const connectionPolicyName: OperationURLParameter = { + parameterPath: "connectionPolicyName", mapper: { + serializedName: "connectionPolicyName", required: true, - serializedName: "backupName", type: { name: "String" } } }; -export const baselineName: msRest.OperationURLParameter = { - parameterPath: "baselineName", + +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: DataMaskingPolicyMapper +}; + +export const dataMaskingPolicyName: OperationURLParameter = { + parameterPath: "dataMaskingPolicyName", mapper: { - required: true, - serializedName: "baselineName", + defaultValue: "Default", + isConstant: true, + serializedName: "dataMaskingPolicyName", type: { - name: "Enum", - allowedValues: [ - "master", - "default" - ] + name: "String" } } }; -export const blobAuditingPolicyName: msRest.OperationURLParameter = { - parameterPath: "blobAuditingPolicyName", + +export const parameters2: OperationParameter = { + parameterPath: "parameters", + mapper: DataMaskingRuleMapper +}; + +export const dataMaskingRuleName: OperationURLParameter = { + parameterPath: "dataMaskingRuleName", mapper: { + serializedName: "dataMaskingRuleName", required: true, - isConstant: true, - serializedName: "blobAuditingPolicyName", - defaultValue: 'default', type: { name: "String" } } }; -export const columnName: msRest.OperationURLParameter = { - parameterPath: "columnName", + +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: GeoBackupPolicyMapper +}; + +export const geoBackupPolicyName: OperationURLParameter = { + parameterPath: "geoBackupPolicyName", mapper: { + serializedName: "geoBackupPolicyName", required: true, - serializedName: "columnName", type: { name: "String" } } }; -export const communicationLinkName: msRest.OperationURLParameter = { - parameterPath: "communicationLinkName", + +export const filter: OperationQueryParameter = { + parameterPath: "filter", mapper: { + serializedName: "$filter", required: true, - serializedName: "communicationLinkName", type: { name: "String" } } }; -export const connectionPolicyName: msRest.OperationURLParameter = { - parameterPath: "connectionPolicyName", + +export const skipToken: OperationQueryParameter = { + parameterPath: ["options", "skipToken"], mapper: { - required: true, - isConstant: true, - serializedName: "connectionPolicyName", - defaultValue: 'default', + serializedName: "$skipToken", type: { name: "String" } } }; -export const continuationToken: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "continuationToken" - ], + +export const apiVersion1: OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { - serializedName: "continuationToken", + defaultValue: "2021-02-01-preview", + isConstant: true, + serializedName: "api-version", type: { name: "String" } } }; -export const createTimeMax: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "createTimeMax" - ], + +export const parameters4: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseMapper +}; + +export const parameters5: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseUpdateMapper +}; + +export const elasticPoolName: OperationURLParameter = { + parameterPath: "elasticPoolName", mapper: { - serializedName: "createTimeMax", + serializedName: "elasticPoolName", + required: true, type: { - name: "DateTime" + name: "String" } } }; -export const createTimeMin: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "createTimeMin" - ], + +export const replicaType: OperationQueryParameter = { + parameterPath: ["options", "replicaType"], mapper: { - serializedName: "createTimeMin", + serializedName: "replicaType", type: { - name: "DateTime" + name: "String" } } }; -export const credentialName: msRest.OperationURLParameter = { - parameterPath: "credentialName", + +export const parameters6: OperationParameter = { + parameterPath: "parameters", + mapper: ResourceMoveDefinitionMapper +}; + +export const parameters7: OperationParameter = { + parameterPath: "parameters", + mapper: ImportExistingDatabaseDefinitionMapper +}; + +export const parameters8: OperationParameter = { + parameterPath: "parameters", + mapper: ExportDatabaseDefinitionMapper +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", mapper: { + serializedName: "nextLink", required: true, - serializedName: "credentialName", type: { name: "String" } - } + }, + skipEncoding: true }; -export const databaseName: msRest.OperationURLParameter = { - parameterPath: "databaseName", + +export const skip: OperationQueryParameter = { + parameterPath: ["options", "skip"], mapper: { - required: true, - serializedName: "databaseName", + serializedName: "$skip", type: { - name: "String" + name: "Number" } } }; -export const databaseState: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "databaseState" - ], + +export const apiVersion2: OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { - serializedName: "databaseState", + defaultValue: "2020-11-01-preview", + isConstant: true, + serializedName: "api-version", type: { name: "String" } } }; -export const dataMaskingPolicyName: msRest.OperationURLParameter = { - parameterPath: "dataMaskingPolicyName", + +export const parameters9: OperationParameter = { + parameterPath: "parameters", + mapper: ElasticPoolMapper +}; + +export const parameters10: OperationParameter = { + parameterPath: "parameters", + mapper: ElasticPoolUpdateMapper +}; + +export const linkId: OperationURLParameter = { + parameterPath: "linkId", mapper: { + serializedName: "linkId", required: true, - isConstant: true, - serializedName: "dataMaskingPolicyName", - defaultValue: 'Default', type: { name: "String" } } }; -export const dataMaskingRuleName: msRest.OperationURLParameter = { - parameterPath: "dataMaskingRuleName", + +export const parameters11: OperationParameter = { + parameterPath: "parameters", + mapper: UnlinkParametersMapper +}; + +export const communicationLinkName: OperationURLParameter = { + parameterPath: "communicationLinkName", mapper: { + serializedName: "communicationLinkName", required: true, - serializedName: "dataMaskingRuleName", type: { name: "String" } } }; -export const dnsAliasName: msRest.OperationURLParameter = { - parameterPath: "dnsAliasName", + +export const parameters12: OperationParameter = { + parameterPath: "parameters", + mapper: ServerCommunicationLinkMapper +}; + +export const serviceObjectiveName: OperationURLParameter = { + parameterPath: "serviceObjectiveName", mapper: { + serializedName: "serviceObjectiveName", required: true, - serializedName: "dnsAliasName", type: { name: "String" } } }; -export const elasticPoolName: msRest.OperationURLParameter = { - parameterPath: "elasticPoolName", + +export const parameters13: OperationParameter = { + parameterPath: "parameters", + mapper: TransparentDataEncryptionMapper +}; + +export const transparentDataEncryptionName: OperationURLParameter = { + parameterPath: "transparentDataEncryptionName", mapper: { + serializedName: "transparentDataEncryptionName", required: true, - serializedName: "elasticPoolName", type: { name: "String" } } }; -export const encryptionProtectorName: msRest.OperationURLParameter = { - parameterPath: "encryptionProtectorName", + +export const blobAuditingPolicyName: OperationURLParameter = { + parameterPath: "blobAuditingPolicyName", mapper: { - required: true, + defaultValue: "default", isConstant: true, - serializedName: "encryptionProtectorName", - defaultValue: 'current', + serializedName: "blobAuditingPolicyName", type: { name: "String" } } }; -export const endTime: msRest.OperationQueryParameter = { - parameterPath: "endTime", + +export const parameters14: OperationParameter = { + parameterPath: "parameters", + mapper: ExtendedDatabaseBlobAuditingPolicyMapper +}; + +export const parameters15: OperationParameter = { + parameterPath: "parameters", + mapper: ExtendedServerBlobAuditingPolicyMapper +}; + +export const parameters16: OperationParameter = { + parameterPath: "parameters", + mapper: ServerBlobAuditingPolicyMapper +}; + +export const parameters17: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseBlobAuditingPolicyMapper +}; + +export const expand: OperationQueryParameter = { + parameterPath: ["options", "expand"], mapper: { - required: true, - serializedName: "endTime", + serializedName: "$expand", type: { name: "String" } } }; -export const endTimeMax: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "endTimeMax" - ], + +export const advisorName: OperationURLParameter = { + parameterPath: "advisorName", mapper: { - serializedName: "endTimeMax", + serializedName: "advisorName", + required: true, type: { - name: "DateTime" + name: "String" } } }; -export const endTimeMin: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "endTimeMin" - ], + +export const parameters18: OperationParameter = { + parameterPath: "parameters", + mapper: AdvisorMapper +}; + +export const parameters19: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseAutomaticTuningMapper +}; + +export const schema: OperationQueryParameter = { + parameterPath: ["options", "schema"], mapper: { - serializedName: "endTimeMin", + serializedName: "schema", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - } + }, + collectionFormat: "Multi" }; -export const expandChildren: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "expandChildren" - ], + +export const table: OperationQueryParameter = { + parameterPath: ["options", "table"], mapper: { - serializedName: "expandChildren", + serializedName: "table", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - } + }, + collectionFormat: "Multi" }; -export const extensionName: msRest.OperationURLParameter = { - parameterPath: "extensionName", + +export const column: OperationQueryParameter = { + parameterPath: ["options", "column"], mapper: { - required: true, - isConstant: true, - serializedName: "extensionName", - defaultValue: 'import', + serializedName: "column", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + collectionFormat: "Multi" +}; + +export const orderBy: OperationQueryParameter = { + parameterPath: ["options", "orderBy"], + mapper: { + serializedName: "orderBy", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + collectionFormat: "Multi" +}; + +export const skiptoken: OperationQueryParameter = { + parameterPath: ["options", "skiptoken"], + mapper: { + serializedName: "$skiptoken", type: { name: "String" } } }; -export const failoverGroupName: msRest.OperationURLParameter = { - parameterPath: "failoverGroupName", + +export const schemaName: OperationURLParameter = { + parameterPath: "schemaName", mapper: { + serializedName: "schemaName", required: true, - serializedName: "failoverGroupName", type: { name: "String" } } }; -export const filter0: msRest.OperationQueryParameter = { - parameterPath: "filter", + +export const tableName: OperationURLParameter = { + parameterPath: "tableName", mapper: { + serializedName: "tableName", required: true, - serializedName: "$filter", type: { name: "String" } } }; -export const filter1: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "filter" - ], + +export const filter1: OperationQueryParameter = { + parameterPath: ["options", "filter"], mapper: { serializedName: "$filter", type: { @@ -384,77 +610,312 @@ export const filter1: msRest.OperationQueryParameter = { } } }; -export const firewallRuleName: msRest.OperationURLParameter = { - parameterPath: "firewallRuleName", + +export const columnName: OperationURLParameter = { + parameterPath: "columnName", mapper: { + serializedName: "columnName", required: true, - serializedName: "firewallRuleName", type: { name: "String" } } }; -export const geoBackupPolicyName: msRest.OperationURLParameter = { - parameterPath: "geoBackupPolicyName", + +export const recommendedActionName: OperationURLParameter = { + parameterPath: "recommendedActionName", mapper: { + serializedName: "recommendedActionName", required: true, - isConstant: true, - serializedName: "geoBackupPolicyName", - defaultValue: 'Default', type: { name: "String" } } }; -export const groupName: msRest.OperationURLParameter = { - parameterPath: "groupName", + +export const parameters20: OperationParameter = { + parameterPath: "parameters", + mapper: RecommendedActionMapper +}; + +export const securityAlertPolicyName: OperationURLParameter = { + parameterPath: "securityAlertPolicyName", mapper: { + serializedName: "securityAlertPolicyName", required: true, - serializedName: "groupName", type: { name: "String" } } }; -export const include: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "include" - ], + +export const parameters21: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseSecurityAlertPolicyMapper +}; + +export const vulnerabilityAssessmentName: OperationURLParameter = { + parameterPath: "vulnerabilityAssessmentName", mapper: { - serializedName: "include", + serializedName: "vulnerabilityAssessmentName", + required: true, type: { name: "String" } } }; -export const includeDisabledRecommendations: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "includeDisabledRecommendations" - ], + +export const ruleId: OperationURLParameter = { + parameterPath: "ruleId", mapper: { - serializedName: "includeDisabledRecommendations", + serializedName: "ruleId", + required: true, type: { - name: "Boolean" + name: "String" } } }; -export const instancePoolName: msRest.OperationURLParameter = { - parameterPath: "instancePoolName", + +export const baselineName: OperationURLParameter = { + parameterPath: "baselineName", + mapper: { + serializedName: "baselineName", + required: true, + type: { + name: "Enum", + allowedValues: ["master", "default"] + } + } +}; + +export const parameters22: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseVulnerabilityAssessmentRuleBaselineMapper +}; + +export const parameters23: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseVulnerabilityAssessmentMapper +}; + +export const scanId: OperationURLParameter = { + parameterPath: "scanId", + mapper: { + serializedName: "scanId", + required: true, + type: { + name: "String" + } + } +}; + +export const dataWarehouseUserActivityName: OperationURLParameter = { + parameterPath: "dataWarehouseUserActivityName", + mapper: { + serializedName: "dataWarehouseUserActivityName", + required: true, + type: { + name: "String" + } + } +}; + +export const locationName: OperationURLParameter = { + parameterPath: "locationName", + mapper: { + serializedName: "locationName", + required: true, + type: { + name: "String" + } + } +}; + +export const deletedServerName: OperationURLParameter = { + parameterPath: "deletedServerName", + mapper: { + serializedName: "deletedServerName", + required: true, + type: { + name: "String" + } + } +}; + +export const operationId: OperationURLParameter = { + parameterPath: "operationId", + mapper: { + serializedName: "operationId", + required: true, + type: { + name: "Uuid" + } + } +}; + +export const encryptionProtectorName: OperationURLParameter = { + parameterPath: "encryptionProtectorName", + mapper: { + serializedName: "encryptionProtectorName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters24: OperationParameter = { + parameterPath: "parameters", + mapper: EncryptionProtectorMapper +}; + +export const failoverGroupName: OperationURLParameter = { + parameterPath: "failoverGroupName", + mapper: { + serializedName: "failoverGroupName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters25: OperationParameter = { + parameterPath: "parameters", + mapper: FailoverGroupMapper +}; + +export const parameters26: OperationParameter = { + parameterPath: "parameters", + mapper: FailoverGroupUpdateMapper +}; + +export const firewallRuleName: OperationURLParameter = { + parameterPath: "firewallRuleName", mapper: { + serializedName: "firewallRuleName", required: true, + type: { + name: "String" + } + } +}; + +export const parameters27: OperationParameter = { + parameterPath: "parameters", + mapper: FirewallRuleMapper +}; + +export const parameters28: OperationParameter = { + parameterPath: "parameters", + mapper: FirewallRuleListMapper +}; + +export const parameters29: OperationParameter = { + parameterPath: "parameters", + mapper: InstanceFailoverGroupMapper +}; + +export const instancePoolName: OperationURLParameter = { + parameterPath: "instancePoolName", + mapper: { serializedName: "instancePoolName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters30: OperationParameter = { + parameterPath: "parameters", + mapper: InstancePoolMapper +}; + +export const parameters31: OperationParameter = { + parameterPath: "parameters", + mapper: InstancePoolUpdateMapper +}; + +export const jobAgentName: OperationURLParameter = { + parameterPath: "jobAgentName", + mapper: { + serializedName: "jobAgentName", + required: true, + type: { + name: "String" + } + } +}; + +export const parameters32: OperationParameter = { + parameterPath: "parameters", + mapper: JobAgentMapper +}; + +export const parameters33: OperationParameter = { + parameterPath: "parameters", + mapper: JobAgentUpdateMapper +}; + +export const credentialName: OperationURLParameter = { + parameterPath: "credentialName", + mapper: { + serializedName: "credentialName", + required: true, type: { name: "String" } } }; -export const isActive: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "isActive" - ], + +export const parameters34: OperationParameter = { + parameterPath: "parameters", + mapper: JobCredentialMapper +}; + +export const createTimeMin: OperationQueryParameter = { + parameterPath: ["options", "createTimeMin"], + mapper: { + serializedName: "createTimeMin", + type: { + name: "DateTime" + } + } +}; + +export const createTimeMax: OperationQueryParameter = { + parameterPath: ["options", "createTimeMax"], + mapper: { + serializedName: "createTimeMax", + type: { + name: "DateTime" + } + } +}; + +export const endTimeMin: OperationQueryParameter = { + parameterPath: ["options", "endTimeMin"], + mapper: { + serializedName: "endTimeMin", + type: { + name: "DateTime" + } + } +}; + +export const endTimeMax: OperationQueryParameter = { + parameterPath: ["options", "endTimeMax"], + mapper: { + serializedName: "endTimeMax", + type: { + name: "DateTime" + } + } +}; + +export const isActive: OperationQueryParameter = { + parameterPath: ["options", "isActive"], mapper: { serializedName: "isActive", type: { @@ -462,554 +923,954 @@ export const isActive: msRest.OperationQueryParameter = { } } }; -export const jobAgentName: msRest.OperationURLParameter = { - parameterPath: "jobAgentName", + +export const top: OperationQueryParameter = { + parameterPath: ["options", "top"], + mapper: { + serializedName: "$top", + type: { + name: "Number" + } + } +}; + +export const jobName: OperationURLParameter = { + parameterPath: "jobName", mapper: { + serializedName: "jobName", required: true, - serializedName: "jobAgentName", type: { name: "String" } } }; -export const jobExecutionId: msRest.OperationURLParameter = { + +export const jobExecutionId: OperationURLParameter = { parameterPath: "jobExecutionId", mapper: { - required: true, serializedName: "jobExecutionId", + required: true, type: { name: "Uuid" } } }; -export const jobName: msRest.OperationURLParameter = { - parameterPath: "jobName", + +export const parameters35: OperationParameter = { + parameterPath: "parameters", + mapper: JobMapper +}; + +export const stepName: OperationURLParameter = { + parameterPath: "stepName", mapper: { + serializedName: "stepName", required: true, - serializedName: "jobName", type: { name: "String" } } }; -export const jobVersion: msRest.OperationURLParameter = { + +export const jobVersion: OperationURLParameter = { parameterPath: "jobVersion", mapper: { - required: true, serializedName: "jobVersion", + required: true, type: { name: "Number" } } }; -export const keyName: msRest.OperationURLParameter = { - parameterPath: "keyName", + +export const parameters36: OperationParameter = { + parameterPath: "parameters", + mapper: JobStepMapper +}; + +export const targetId: OperationURLParameter = { + parameterPath: "targetId", mapper: { + serializedName: "targetId", required: true, - serializedName: "keyName", type: { - name: "String" + name: "Uuid" } } }; -export const linkId: msRest.OperationURLParameter = { - parameterPath: "linkId", + +export const targetGroupName: OperationURLParameter = { + parameterPath: "targetGroupName", mapper: { + serializedName: "targetGroupName", required: true, - serializedName: "linkId", type: { name: "String" } } }; -export const locationName: msRest.OperationURLParameter = { - parameterPath: "locationName", + +export const parameters37: OperationParameter = { + parameterPath: "parameters", + mapper: JobTargetGroupMapper +}; + +export const include: OperationQueryParameter = { + parameterPath: ["options", "include"], + mapper: { + serializedName: "include", + type: { + name: "String" + } + } +}; + +export const parameters38: OperationParameter = { + parameterPath: "parameters", + mapper: CopyLongTermRetentionBackupParametersMapper +}; + +export const longTermRetentionServerName: OperationURLParameter = { + parameterPath: "longTermRetentionServerName", mapper: { + serializedName: "longTermRetentionServerName", required: true, - serializedName: "locationName", type: { name: "String" } } }; -export const longTermRetentionDatabaseName: msRest.OperationURLParameter = { + +export const longTermRetentionDatabaseName: OperationURLParameter = { parameterPath: "longTermRetentionDatabaseName", mapper: { - required: true, serializedName: "longTermRetentionDatabaseName", + required: true, type: { name: "String" } } }; -export const longTermRetentionServerName: msRest.OperationURLParameter = { - parameterPath: "longTermRetentionServerName", + +export const backupName: OperationURLParameter = { + parameterPath: "backupName", mapper: { + serializedName: "backupName", required: true, - serializedName: "longTermRetentionServerName", type: { name: "String" } } }; -export const managedInstanceName: msRest.OperationURLParameter = { + +export const parameters39: OperationParameter = { + parameterPath: "parameters", + mapper: UpdateLongTermRetentionBackupParametersMapper +}; + +export const onlyLatestPerDatabase: OperationQueryParameter = { + parameterPath: ["options", "onlyLatestPerDatabase"], + mapper: { + serializedName: "onlyLatestPerDatabase", + type: { + name: "Boolean" + } + } +}; + +export const databaseState: OperationQueryParameter = { + parameterPath: ["options", "databaseState"], + mapper: { + serializedName: "databaseState", + type: { + name: "String" + } + } +}; + +export const managedInstanceName: OperationURLParameter = { parameterPath: "managedInstanceName", mapper: { - required: true, serializedName: "managedInstanceName", + required: true, type: { name: "String" } } }; -export const nextPageLink: msRest.OperationURLParameter = { - parameterPath: "nextPageLink", + +export const policyName: OperationURLParameter = { + parameterPath: "policyName", mapper: { + serializedName: "policyName", required: true, - serializedName: "nextLink", type: { name: "String" } - }, - skipEncoding: true + } +}; + +export const parameters40: OperationParameter = { + parameterPath: "parameters", + mapper: LongTermRetentionPolicyMapper }; -export const onlyLatestPerDatabase: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "onlyLatestPerDatabase" - ], + +export const maintenanceWindowOptionsName: OperationQueryParameter = { + parameterPath: "maintenanceWindowOptionsName", mapper: { - serializedName: "onlyLatestPerDatabase", + serializedName: "maintenanceWindowOptionsName", + required: true, type: { - name: "Boolean" + name: "String" } } }; -export const operationId: msRest.OperationURLParameter = { - parameterPath: "operationId", + +export const maintenanceWindowName: OperationQueryParameter = { + parameterPath: "maintenanceWindowName", mapper: { + serializedName: "maintenanceWindowName", required: true, - serializedName: "operationId", type: { - name: "Uuid" + name: "String" } } }; -export const policyName: msRest.OperationURLParameter = { + +export const parameters41: OperationParameter = { + parameterPath: "parameters", + mapper: MaintenanceWindowsMapper +}; + +export const policyName1: OperationURLParameter = { parameterPath: "policyName", mapper: { - required: true, - isConstant: true, serializedName: "policyName", - defaultValue: 'default', + required: true, type: { name: "String" } } }; -export const privateEndpointConnectionName: msRest.OperationURLParameter = { - parameterPath: "privateEndpointConnectionName", + +export const parameters42: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedBackupShortTermRetentionPolicyMapper +}; + +export const queryId: OperationURLParameter = { + parameterPath: "queryId", mapper: { + serializedName: "queryId", + required: true, + type: { + name: "String" + } + } +}; + +export const startTime: OperationQueryParameter = { + parameterPath: ["options", "startTime"], + mapper: { + serializedName: "startTime", + type: { + name: "String" + } + } +}; + +export const endTime: OperationQueryParameter = { + parameterPath: ["options", "endTime"], + mapper: { + serializedName: "endTime", + type: { + name: "String" + } + } +}; + +export const interval: OperationQueryParameter = { + parameterPath: ["options", "interval"], + mapper: { + serializedName: "interval", + type: { + name: "String" + } + } +}; + +export const restoreDetailsName: OperationURLParameter = { + parameterPath: "restoreDetailsName", + mapper: { + serializedName: "restoreDetailsName", required: true, - serializedName: "privateEndpointConnectionName", type: { name: "String" } } }; -export const recommendedElasticPoolName: msRest.OperationURLParameter = { - parameterPath: "recommendedElasticPoolName", + +export const parameters43: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedDatabaseMapper +}; + +export const parameters44: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedDatabaseUpdateMapper +}; + +export const parameters45: OperationParameter = { + parameterPath: "parameters", + mapper: CompleteDatabaseRestoreDefinitionMapper +}; + +export const parameters46: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedDatabaseSecurityAlertPolicyMapper +}; + +export const sensitivityLabelSource: OperationURLParameter = { + parameterPath: "sensitivityLabelSource", + mapper: { + serializedName: "sensitivityLabelSource", + required: true, + type: { + name: "Enum", + allowedValues: ["current", "recommended"] + } + } +}; + +export const parameters47: OperationParameter = { + parameterPath: "parameters", + mapper: SensitivityLabelMapper +}; + +export const sensitivityLabelSource1: OperationURLParameter = { + parameterPath: "sensitivityLabelSource", + mapper: { + defaultValue: "current", + isConstant: true, + serializedName: "sensitivityLabelSource", + type: { + name: "String" + } + } +}; + +export const sensitivityLabelSource2: OperationURLParameter = { + parameterPath: "sensitivityLabelSource", + mapper: { + defaultValue: "recommended", + isConstant: true, + serializedName: "sensitivityLabelSource", + type: { + name: "String" + } + } +}; + +export const count: OperationQueryParameter = { + parameterPath: ["options", "count"], mapper: { - required: true, - serializedName: "recommendedElasticPoolName", + serializedName: "$count", type: { - name: "String" + name: "Boolean" } } }; -export const recoverableDatabaseName: msRest.OperationURLParameter = { - parameterPath: "recoverableDatabaseName", + +export const parameters48: OperationParameter = { + parameterPath: "parameters", + mapper: SensitivityLabelUpdateListMapper +}; + +export const includeDisabledRecommendations: OperationQueryParameter = { + parameterPath: ["options", "includeDisabledRecommendations"], mapper: { - required: true, - serializedName: "recoverableDatabaseName", + serializedName: "includeDisabledRecommendations", type: { - name: "String" + name: "Boolean" } } }; -export const replicaType: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "replicaType" - ], + +export const parameters49: OperationParameter = { + parameterPath: "parameters", + mapper: RecommendedSensitivityLabelUpdateListMapper +}; + +export const tdeName: OperationURLParameter = { + parameterPath: "tdeName", mapper: { - serializedName: "replicaType", + serializedName: "tdeName", + required: true, type: { name: "String" } } }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", + +export const parameters50: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedTransparentDataEncryptionMapper +}; + +export const administratorName: OperationURLParameter = { + parameterPath: "administratorName", mapper: { + serializedName: "administratorName", required: true, - serializedName: "resourceGroupName", type: { name: "String" } } }; -export const restorableDroppedDatabaseId: msRest.OperationURLParameter = { - parameterPath: "restorableDroppedDatabaseId", + +export const parameters51: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstanceAdministratorMapper +}; + +export const authenticationName: OperationURLParameter = { + parameterPath: "authenticationName", mapper: { + serializedName: "authenticationName", required: true, - serializedName: "restorableDroppedDatabaseId", type: { name: "String" } } }; -export const restorableDroppededDatabaseId: msRest.OperationURLParameter = { - parameterPath: "restorableDroppededDatabaseId", + +export const parameters52: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstanceAzureADOnlyAuthenticationMapper +}; + +export const parameters53: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstanceEncryptionProtectorMapper +}; + +export const keyName: OperationURLParameter = { + parameterPath: "keyName", mapper: { + serializedName: "keyName", required: true, - serializedName: "restorableDroppededDatabaseId", type: { name: "String" } } }; -export const restoreDetailsName: msRest.OperationURLParameter = { - parameterPath: "restoreDetailsName", + +export const parameters54: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstanceKeyMapper +}; + +export const policyName2: OperationURLParameter = { + parameterPath: "policyName", mapper: { + serializedName: "policyName", required: true, - isConstant: true, - serializedName: "restoreDetailsName", - defaultValue: 'Default', type: { name: "String" } } }; -export const restorePointName: msRest.OperationURLParameter = { - parameterPath: "restorePointName", + +export const parameters55: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstanceLongTermRetentionPolicyMapper +}; + +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", mapper: { + serializedName: "privateEndpointConnectionName", required: true, - serializedName: "restorePointName", type: { name: "String" } } }; -export const ruleId: msRest.OperationURLParameter = { - parameterPath: "ruleId", + +export const parameters56: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstancePrivateEndpointConnectionMapper +}; + +export const groupName: OperationURLParameter = { + parameterPath: "groupName", mapper: { + serializedName: "groupName", required: true, - serializedName: "ruleId", type: { name: "String" } } }; -export const scanId: msRest.OperationURLParameter = { - parameterPath: "scanId", + +export const parameters57: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstanceMapper +}; + +export const parameters58: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstanceUpdateMapper +}; + +export const numberOfQueries: OperationQueryParameter = { + parameterPath: ["options", "numberOfQueries"], mapper: { - required: true, - serializedName: "scanId", + serializedName: "numberOfQueries", type: { - name: "String" + name: "Number" } } }; -export const schemaName: msRest.OperationURLParameter = { - parameterPath: "schemaName", + +export const databases: OperationQueryParameter = { + parameterPath: ["options", "databases"], mapper: { - required: true, - serializedName: "schemaName", + serializedName: "databases", type: { name: "String" } } }; -export const securityAlertPolicyName0: msRest.OperationURLParameter = { - parameterPath: "securityAlertPolicyName", + +export const aggregationFunction: OperationQueryParameter = { + parameterPath: ["options", "aggregationFunction"], mapper: { - required: true, - isConstant: true, - serializedName: "securityAlertPolicyName", - defaultValue: 'default', + serializedName: "aggregationFunction", type: { name: "String" } } }; -export const securityAlertPolicyName1: msRest.OperationURLParameter = { - parameterPath: "securityAlertPolicyName", + +export const observationMetric: OperationQueryParameter = { + parameterPath: ["options", "observationMetric"], mapper: { - required: true, - isConstant: true, - serializedName: "securityAlertPolicyName", - defaultValue: 'Default', + serializedName: "observationMetric", type: { name: "String" } } }; -export const sensitivityLabelSource0: msRest.OperationURLParameter = { - parameterPath: "sensitivityLabelSource", + +export const parameters59: OperationParameter = { + parameterPath: "parameters", + mapper: TdeCertificateMapper +}; + +export const parameters60: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedInstanceVulnerabilityAssessmentMapper +}; + +export const restorableDroppedDatabaseId: OperationURLParameter = { + parameterPath: "restorableDroppedDatabaseId", mapper: { + serializedName: "restorableDroppedDatabaseId", required: true, - isConstant: true, - serializedName: "sensitivityLabelSource", - defaultValue: 'recommended', type: { name: "String" } } }; -export const sensitivityLabelSource1: msRest.OperationURLParameter = { - parameterPath: "sensitivityLabelSource", + +export const parameters61: OperationParameter = { + parameterPath: "parameters", + mapper: ManagedServerSecurityAlertPolicyMapper +}; + +export const parameters62: OperationParameter = { + parameterPath: "parameters", + mapper: PrivateEndpointConnectionMapper +}; + +export const recoverableDatabaseName: OperationURLParameter = { + parameterPath: "recoverableDatabaseName", mapper: { + serializedName: "recoverableDatabaseName", required: true, - serializedName: "sensitivityLabelSource", type: { - name: "Enum", - allowedValues: [ - "current", - "recommended" - ] + name: "String" } } }; -export const sensitivityLabelSource2: msRest.OperationURLParameter = { - parameterPath: "sensitivityLabelSource", + +export const parameters63: OperationParameter = { + parameterPath: "parameters", + mapper: CreateDatabaseRestorePointDefinitionMapper +}; + +export const restorePointName: OperationURLParameter = { + parameterPath: "restorePointName", mapper: { + serializedName: "restorePointName", required: true, - isConstant: true, - serializedName: "sensitivityLabelSource", - defaultValue: 'current', type: { name: "String" } } }; -export const serverName: msRest.OperationURLParameter = { - parameterPath: "serverName", + +export const parameters64: OperationParameter = { + parameterPath: "parameters", + mapper: ServerAutomaticTuningMapper +}; + +export const parameters65: OperationParameter = { + parameterPath: "parameters", + mapper: ServerAzureADAdministratorMapper +}; + +export const parameters66: OperationParameter = { + parameterPath: "parameters", + mapper: ServerAzureADOnlyAuthenticationMapper +}; + +export const devOpsAuditingSettingsName: OperationURLParameter = { + parameterPath: "devOpsAuditingSettingsName", mapper: { + serializedName: "devOpsAuditingSettingsName", required: true, - serializedName: "serverName", type: { name: "String" } } }; -export const serviceObjectiveName: msRest.OperationURLParameter = { - parameterPath: "serviceObjectiveName", + +export const parameters67: OperationParameter = { + parameterPath: "parameters", + mapper: ServerDevOpsAuditingSettingsMapper +}; + +export const dnsAliasName: OperationURLParameter = { + parameterPath: "dnsAliasName", mapper: { + serializedName: "dnsAliasName", required: true, - serializedName: "serviceObjectiveName", type: { name: "String" } } }; -export const serviceTierAdvisorName: msRest.OperationURLParameter = { - parameterPath: "serviceTierAdvisorName", + +export const parameters68: OperationParameter = { + parameterPath: "parameters", + mapper: ServerDnsAliasAcquisitionMapper +}; + +export const parameters69: OperationParameter = { + parameterPath: "parameters", + mapper: ServerKeyMapper +}; + +export const parameters70: OperationParameter = { + parameterPath: "parameters", + mapper: ServerSecurityAlertPolicyMapper +}; + +export const serverTrustGroupName: OperationURLParameter = { + parameterPath: "serverTrustGroupName", mapper: { + serializedName: "serverTrustGroupName", required: true, - serializedName: "serviceTierAdvisorName", type: { name: "String" } } }; -export const skip: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "skip" - ], + +export const parameters71: OperationParameter = { + parameterPath: "parameters", + mapper: ServerTrustGroupMapper +}; + +export const parameters72: OperationParameter = { + parameterPath: "parameters", + mapper: ServerVulnerabilityAssessmentMapper +}; + +export const parameters73: OperationParameter = { + parameterPath: "parameters", + mapper: SqlAgentConfigurationMapper +}; + +export const usageName: OperationURLParameter = { + parameterPath: "usageName", mapper: { - serializedName: "$skip", + serializedName: "usageName", + required: true, type: { - name: "Number" + name: "String" } } }; -export const skipToken: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "skipToken" - ], + +export const syncAgentName: OperationURLParameter = { + parameterPath: "syncAgentName", mapper: { - serializedName: "$skipToken", + serializedName: "syncAgentName", + required: true, type: { name: "String" } } }; -export const startTime: msRest.OperationQueryParameter = { - parameterPath: "startTime", + +export const parameters74: OperationParameter = { + parameterPath: "parameters", + mapper: SyncAgentMapper +}; + +export const syncGroupName: OperationURLParameter = { + parameterPath: "syncGroupName", mapper: { + serializedName: "syncGroupName", required: true, - serializedName: "startTime", type: { name: "String" } } }; -export const stepName: msRest.OperationURLParameter = { - parameterPath: "stepName", + +export const startTime1: OperationQueryParameter = { + parameterPath: "startTime", mapper: { + serializedName: "startTime", required: true, - serializedName: "stepName", type: { name: "String" } } }; -export const subscriptionId: msRest.OperationURLParameter = { - parameterPath: "subscriptionId", + +export const endTime1: OperationQueryParameter = { + parameterPath: "endTime", mapper: { + serializedName: "endTime", required: true, - serializedName: "subscriptionId", type: { name: "String" } } }; -export const syncAgentName: msRest.OperationURLParameter = { - parameterPath: "syncAgentName", + +export const typeParam: OperationQueryParameter = { + parameterPath: "typeParam", mapper: { + serializedName: "type", required: true, - serializedName: "syncAgentName", type: { name: "String" } } }; -export const syncGroupName: msRest.OperationURLParameter = { - parameterPath: "syncGroupName", + +export const continuationToken: OperationQueryParameter = { + parameterPath: ["options", "continuationToken"], mapper: { - required: true, - serializedName: "syncGroupName", + serializedName: "continuationToken", type: { name: "String" } } }; -export const syncMemberName: msRest.OperationURLParameter = { + +export const parameters75: OperationParameter = { + parameterPath: "parameters", + mapper: SyncGroupMapper +}; + +export const syncMemberName: OperationURLParameter = { parameterPath: "syncMemberName", mapper: { - required: true, serializedName: "syncMemberName", + required: true, type: { name: "String" } } }; -export const tableName: msRest.OperationURLParameter = { - parameterPath: "tableName", + +export const parameters76: OperationParameter = { + parameterPath: "parameters", + mapper: SyncMemberMapper +}; + +export const timeZoneId: OperationURLParameter = { + parameterPath: "timeZoneId", mapper: { + serializedName: "timeZoneId", required: true, - serializedName: "tableName", type: { name: "String" } } }; -export const targetGroupName: msRest.OperationURLParameter = { - parameterPath: "targetGroupName", + +export const virtualClusterName: OperationURLParameter = { + parameterPath: "virtualClusterName", mapper: { + serializedName: "virtualClusterName", required: true, - serializedName: "targetGroupName", type: { name: "String" } } }; -export const targetId: msRest.OperationURLParameter = { - parameterPath: "targetId", + +export const parameters77: OperationParameter = { + parameterPath: "parameters", + mapper: VirtualClusterUpdateMapper +}; + +export const virtualNetworkRuleName: OperationURLParameter = { + parameterPath: "virtualNetworkRuleName", mapper: { + serializedName: "virtualNetworkRuleName", required: true, - serializedName: "targetId", type: { - name: "Uuid" + name: "String" } } }; -export const top: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "top" - ], + +export const parameters78: OperationParameter = { + parameterPath: "parameters", + mapper: VirtualNetworkRuleMapper +}; + +export const workloadGroupName: OperationURLParameter = { + parameterPath: "workloadGroupName", mapper: { - serializedName: "$top", + serializedName: "workloadGroupName", + required: true, type: { - name: "Number" + name: "String" } } }; -export const transparentDataEncryptionName: msRest.OperationURLParameter = { - parameterPath: "transparentDataEncryptionName", + +export const workloadClassifierName: OperationURLParameter = { + parameterPath: "workloadClassifierName", mapper: { + serializedName: "workloadClassifierName", required: true, - isConstant: true, - serializedName: "transparentDataEncryptionName", - defaultValue: 'current', type: { name: "String" } } }; -export const type: msRest.OperationQueryParameter = { - parameterPath: "type", + +export const parameters79: OperationParameter = { + parameterPath: "parameters", + mapper: WorkloadClassifierMapper +}; + +export const parameters80: OperationParameter = { + parameterPath: "parameters", + mapper: WorkloadGroupMapper +}; + +export const policyName3: OperationURLParameter = { + parameterPath: "policyName", mapper: { + serializedName: "policyName", required: true, - serializedName: "type", type: { name: "String" } } }; -export const usageName: msRest.OperationURLParameter = { - parameterPath: "usageName", + +export const parameters81: OperationParameter = { + parameterPath: "parameters", + mapper: BackupShortTermRetentionPolicyMapper +}; + +export const extensionName: OperationURLParameter = { + parameterPath: "extensionName", mapper: { + serializedName: "extensionName", required: true, - serializedName: "usageName", type: { name: "String" } } }; -export const virtualClusterName: msRest.OperationURLParameter = { - parameterPath: "virtualClusterName", + +export const parameters82: OperationParameter = { + parameterPath: "parameters", + mapper: DatabaseExtensionsMapper +}; + +export const ledgerDigestUploads: OperationURLParameter = { + parameterPath: "ledgerDigestUploads", mapper: { + serializedName: "ledgerDigestUploads", required: true, - serializedName: "virtualClusterName", type: { name: "String" } } }; -export const virtualNetworkRuleName: msRest.OperationURLParameter = { - parameterPath: "virtualNetworkRuleName", + +export const parameters83: OperationParameter = { + parameterPath: "parameters", + mapper: LedgerDigestUploadsMapper +}; + +export const outboundRuleFqdn: OperationURLParameter = { + parameterPath: "outboundRuleFqdn", mapper: { + serializedName: "outboundRuleFqdn", required: true, - serializedName: "virtualNetworkRuleName", type: { name: "String" } } }; -export const vulnerabilityAssessmentName: msRest.OperationURLParameter = { - parameterPath: "vulnerabilityAssessmentName", + +export const parameters84: OperationParameter = { + parameterPath: "parameters", + mapper: OutboundFirewallRuleMapper +}; + +export const parameters85: OperationParameter = { + parameterPath: "parameters", + mapper: ServerMapper +}; + +export const parameters86: OperationParameter = { + parameterPath: "parameters", + mapper: ServerUpdateMapper +}; + +export const parameters87: OperationParameter = { + parameterPath: "parameters", + mapper: ImportNewDatabaseDefinitionMapper +}; + +export const parameters88: OperationParameter = { + parameterPath: "parameters", + mapper: CheckNameAvailabilityRequestMapper +}; + +export const expandChildren: OperationQueryParameter = { + parameterPath: ["options", "expandChildren"], mapper: { - required: true, - isConstant: true, - serializedName: "vulnerabilityAssessmentName", - defaultValue: 'default', + serializedName: "expandChildren", type: { - name: "String" + name: "Boolean" } } }; diff --git a/sdk/sql/arm-sql/src/models/privateEndpointConnectionsMappers.ts b/sdk/sql/arm-sql/src/models/privateEndpointConnectionsMappers.ts deleted file mode 100644 index 6afd01cf22af..000000000000 --- a/sdk/sql/arm-sql/src/models/privateEndpointConnectionsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointConnectionListResult, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/privateLinkResourcesMappers.ts b/sdk/sql/arm-sql/src/models/privateLinkResourcesMappers.ts deleted file mode 100644 index 296ecc5ac9a4..000000000000 --- a/sdk/sql/arm-sql/src/models/privateLinkResourcesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceListResult, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/recommendedElasticPoolsMappers.ts b/sdk/sql/arm-sql/src/models/recommendedElasticPoolsMappers.ts deleted file mode 100644 index 0eee5fddc7c8..000000000000 --- a/sdk/sql/arm-sql/src/models/recommendedElasticPoolsMappers.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolListMetricsResult, - RecommendedElasticPoolListResult, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/recoverableDatabasesMappers.ts b/sdk/sql/arm-sql/src/models/recoverableDatabasesMappers.ts deleted file mode 100644 index 9677584090a7..000000000000 --- a/sdk/sql/arm-sql/src/models/recoverableDatabasesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableDatabaseListResult, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/recoverableManagedDatabasesMappers.ts b/sdk/sql/arm-sql/src/models/recoverableManagedDatabasesMappers.ts deleted file mode 100644 index 1ddfda89c4cf..000000000000 --- a/sdk/sql/arm-sql/src/models/recoverableManagedDatabasesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - RecoverableManagedDatabaseListResult, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/replicationLinksMappers.ts b/sdk/sql/arm-sql/src/models/replicationLinksMappers.ts deleted file mode 100644 index 11f8b42a5b3b..000000000000 --- a/sdk/sql/arm-sql/src/models/replicationLinksMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - ReplicationLinkListResult, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/restorableDroppedDatabasesMappers.ts b/sdk/sql/arm-sql/src/models/restorableDroppedDatabasesMappers.ts deleted file mode 100644 index b74820bd914f..000000000000 --- a/sdk/sql/arm-sql/src/models/restorableDroppedDatabasesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedDatabaseListResult, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/restorableDroppedManagedDatabasesMappers.ts b/sdk/sql/arm-sql/src/models/restorableDroppedManagedDatabasesMappers.ts deleted file mode 100644 index cdc3365f6cf9..000000000000 --- a/sdk/sql/arm-sql/src/models/restorableDroppedManagedDatabasesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorableDroppedManagedDatabaseListResult, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/restorePointsMappers.ts b/sdk/sql/arm-sql/src/models/restorePointsMappers.ts deleted file mode 100644 index 1dc3fc0e9ba9..000000000000 --- a/sdk/sql/arm-sql/src/models/restorePointsMappers.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - CreateDatabaseRestorePointDefinition, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - RestorePointListResult, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/sensitivityLabelsMappers.ts b/sdk/sql/arm-sql/src/models/sensitivityLabelsMappers.ts deleted file mode 100644 index 87d6022ba880..000000000000 --- a/sdk/sql/arm-sql/src/models/sensitivityLabelsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - SensitivityLabelListResult, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverAutomaticTuningOperationsMappers.ts b/sdk/sql/arm-sql/src/models/serverAutomaticTuningOperationsMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/serverAutomaticTuningOperationsMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverAzureADAdministratorsMappers.ts b/sdk/sql/arm-sql/src/models/serverAzureADAdministratorsMappers.ts deleted file mode 100644 index f9ecf612a004..000000000000 --- a/sdk/sql/arm-sql/src/models/serverAzureADAdministratorsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAdministratorListResult, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverBlobAuditingPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/serverBlobAuditingPoliciesMappers.ts deleted file mode 100644 index 2c08a5a5d576..000000000000 --- a/sdk/sql/arm-sql/src/models/serverBlobAuditingPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerBlobAuditingPolicyListResult, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverCommunicationLinksMappers.ts b/sdk/sql/arm-sql/src/models/serverCommunicationLinksMappers.ts deleted file mode 100644 index 8fee97fe4555..000000000000 --- a/sdk/sql/arm-sql/src/models/serverCommunicationLinksMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerCommunicationLinkListResult, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverConnectionPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/serverConnectionPoliciesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/serverConnectionPoliciesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverDnsAliasesMappers.ts b/sdk/sql/arm-sql/src/models/serverDnsAliasesMappers.ts deleted file mode 100644 index 2df18ff0e2c2..000000000000 --- a/sdk/sql/arm-sql/src/models/serverDnsAliasesMappers.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerDnsAliasAcquisition, - ServerDnsAliasListResult, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverKeysMappers.ts b/sdk/sql/arm-sql/src/models/serverKeysMappers.ts deleted file mode 100644 index 83ddf2f8f7b2..000000000000 --- a/sdk/sql/arm-sql/src/models/serverKeysMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerKeyListResult, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverSecurityAlertPoliciesMappers.ts b/sdk/sql/arm-sql/src/models/serverSecurityAlertPoliciesMappers.ts deleted file mode 100644 index ffc361e9b674..000000000000 --- a/sdk/sql/arm-sql/src/models/serverSecurityAlertPoliciesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LogicalServerSecurityAlertPolicyListResult, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverUsagesMappers.ts b/sdk/sql/arm-sql/src/models/serverUsagesMappers.ts deleted file mode 100644 index 518a73b015ba..000000000000 --- a/sdk/sql/arm-sql/src/models/serverUsagesMappers.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - ServerUsage, - ServerUsageListResult -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serverVulnerabilityAssessmentsMappers.ts b/sdk/sql/arm-sql/src/models/serverVulnerabilityAssessmentsMappers.ts deleted file mode 100644 index 752ff0c23f91..000000000000 --- a/sdk/sql/arm-sql/src/models/serverVulnerabilityAssessmentsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServerVulnerabilityAssessmentListResult, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serversMappers.ts b/sdk/sql/arm-sql/src/models/serversMappers.ts deleted file mode 100644 index 30808fc774b5..000000000000 --- a/sdk/sql/arm-sql/src/models/serversMappers.ts +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CheckNameAvailabilityRequest, - CheckNameAvailabilityResponse, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerListResult, - ServerSecurityAlertPolicy, - ServerUpdate, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serviceObjectivesMappers.ts b/sdk/sql/arm-sql/src/models/serviceObjectivesMappers.ts deleted file mode 100644 index 9f3c7f50b3ec..000000000000 --- a/sdk/sql/arm-sql/src/models/serviceObjectivesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceObjectiveListResult, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/serviceTierAdvisorsMappers.ts b/sdk/sql/arm-sql/src/models/serviceTierAdvisorsMappers.ts deleted file mode 100644 index 894adb3d60dd..000000000000 --- a/sdk/sql/arm-sql/src/models/serviceTierAdvisorsMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - ServiceTierAdvisorListResult, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/subscriptionUsagesMappers.ts b/sdk/sql/arm-sql/src/models/subscriptionUsagesMappers.ts deleted file mode 100644 index 00869dab7501..000000000000 --- a/sdk/sql/arm-sql/src/models/subscriptionUsagesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SubscriptionUsageListResult, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/syncAgentsMappers.ts b/sdk/sql/arm-sql/src/models/syncAgentsMappers.ts deleted file mode 100644 index b4b302816e20..000000000000 --- a/sdk/sql/arm-sql/src/models/syncAgentsMappers.ts +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentKeyProperties, - SyncAgentLinkedDatabase, - SyncAgentLinkedDatabaseListResult, - SyncAgentListResult, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/syncGroupsMappers.ts b/sdk/sql/arm-sql/src/models/syncGroupsMappers.ts deleted file mode 100644 index 2df7178b4a32..000000000000 --- a/sdk/sql/arm-sql/src/models/syncGroupsMappers.ts +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncDatabaseIdListResult, - SyncDatabaseIdProperties, - SyncFullSchemaProperties, - SyncFullSchemaPropertiesListResult, - SyncFullSchemaTable, - SyncFullSchemaTableColumn, - SyncGroup, - SyncGroupListResult, - SyncGroupLogListResult, - SyncGroupLogProperties, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/syncMembersMappers.ts b/sdk/sql/arm-sql/src/models/syncMembersMappers.ts deleted file mode 100644 index 340117c02ee4..000000000000 --- a/sdk/sql/arm-sql/src/models/syncMembersMappers.ts +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncFullSchemaProperties, - SyncFullSchemaPropertiesListResult, - SyncFullSchemaTable, - SyncFullSchemaTableColumn, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - SyncMemberListResult, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/tdeCertificatesMappers.ts b/sdk/sql/arm-sql/src/models/tdeCertificatesMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/tdeCertificatesMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/transparentDataEncryptionActivitiesMappers.ts b/sdk/sql/arm-sql/src/models/transparentDataEncryptionActivitiesMappers.ts deleted file mode 100644 index 27d7b720ae1f..000000000000 --- a/sdk/sql/arm-sql/src/models/transparentDataEncryptionActivitiesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - TransparentDataEncryptionActivityListResult, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/transparentDataEncryptionsMappers.ts b/sdk/sql/arm-sql/src/models/transparentDataEncryptionsMappers.ts deleted file mode 100644 index 7979989c60d3..000000000000 --- a/sdk/sql/arm-sql/src/models/transparentDataEncryptionsMappers.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/usagesMappers.ts b/sdk/sql/arm-sql/src/models/usagesMappers.ts deleted file mode 100644 index 5e7352c44b40..000000000000 --- a/sdk/sql/arm-sql/src/models/usagesMappers.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - CloudError, - Name, - Usage, - UsageListResult -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/virtualClustersMappers.ts b/sdk/sql/arm-sql/src/models/virtualClustersMappers.ts deleted file mode 100644 index 90ecde2829f0..000000000000 --- a/sdk/sql/arm-sql/src/models/virtualClustersMappers.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualClusterListResult, - VirtualClusterUpdate, - VirtualNetworkRule, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/models/virtualNetworkRulesMappers.ts b/sdk/sql/arm-sql/src/models/virtualNetworkRulesMappers.ts deleted file mode 100644 index cdf3c431e362..000000000000 --- a/sdk/sql/arm-sql/src/models/virtualNetworkRulesMappers.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -export { - AutomaticTuningOptions, - AutomaticTuningServerOptions, - BackupLongTermRetentionPolicy, - BackupShortTermRetentionPolicy, - BaseResource, - CloudError, - Database, - DatabaseAutomaticTuning, - DatabaseBlobAuditingPolicy, - DatabaseOperation, - DatabaseSecurityAlertPolicy, - DatabaseVulnerabilityAssessment, - DatabaseVulnerabilityAssessmentRuleBaseline, - DatabaseVulnerabilityAssessmentRuleBaselineItem, - DatabaseVulnerabilityAssessmentScansExport, - DataMaskingPolicy, - DataMaskingRule, - ElasticPool, - ElasticPoolActivity, - ElasticPoolDatabaseActivity, - ElasticPoolOperation, - ElasticPoolPerDatabaseSettings, - EncryptionProtector, - ExtendedDatabaseBlobAuditingPolicy, - ExtendedServerBlobAuditingPolicy, - FailoverGroup, - FailoverGroupReadOnlyEndpoint, - FailoverGroupReadWriteEndpoint, - FirewallRule, - GeoBackupPolicy, - ImportExportResponse, - InstanceFailoverGroup, - InstanceFailoverGroupReadOnlyEndpoint, - InstanceFailoverGroupReadWriteEndpoint, - InstancePool, - Job, - JobAgent, - JobCredential, - JobExecution, - JobExecutionTarget, - JobSchedule, - JobStep, - JobStepAction, - JobStepExecutionOptions, - JobStepOutput, - JobTarget, - JobTargetGroup, - JobVersion, - LongTermRetentionBackup, - ManagedBackupShortTermRetentionPolicy, - ManagedDatabase, - ManagedDatabaseRestoreDetailsResult, - ManagedDatabaseSecurityAlertPolicy, - ManagedInstance, - ManagedInstanceAdministrator, - ManagedInstanceEncryptionProtector, - ManagedInstanceKey, - ManagedInstancePairInfo, - ManagedInstanceVulnerabilityAssessment, - ManagedServerSecurityAlertPolicy, - OperationImpact, - PartnerInfo, - PartnerRegionInfo, - PrivateEndpointConnection, - PrivateEndpointProperty, - PrivateLinkResource, - PrivateLinkResourceProperties, - PrivateLinkServiceConnectionStateProperty, - ProxyResource, - RecommendedElasticPool, - RecommendedElasticPoolMetric, - RecommendedIndex, - RecoverableDatabase, - RecoverableManagedDatabase, - ReplicationLink, - Resource, - ResourceIdentity, - RestorableDroppedDatabase, - RestorableDroppedManagedDatabase, - RestorePoint, - SensitivityLabel, - Server, - ServerAutomaticTuning, - ServerAzureADAdministrator, - ServerBlobAuditingPolicy, - ServerCommunicationLink, - ServerConnectionPolicy, - ServerDnsAlias, - ServerKey, - ServerSecurityAlertPolicy, - ServerVulnerabilityAssessment, - ServiceObjective, - ServiceTierAdvisor, - Sku, - SloUsageMetric, - SubscriptionUsage, - SyncAgent, - SyncAgentLinkedDatabase, - SyncGroup, - SyncGroupSchema, - SyncGroupSchemaTable, - SyncGroupSchemaTableColumn, - SyncMember, - TdeCertificate, - TrackedResource, - TransparentDataEncryption, - TransparentDataEncryptionActivity, - VirtualCluster, - VirtualNetworkRule, - VirtualNetworkRuleListResult, - VulnerabilityAssessmentRecurringScansProperties, - VulnerabilityAssessmentScanError, - VulnerabilityAssessmentScanRecord -} from "../models/mappers"; diff --git a/sdk/sql/arm-sql/src/operations/backupLongTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operations/backupLongTermRetentionPolicies.ts deleted file mode 100644 index 015a8db7ac5e..000000000000 --- a/sdk/sql/arm-sql/src/operations/backupLongTermRetentionPolicies.ts +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/backupLongTermRetentionPoliciesMappers"; -import * as Parameters from "../models/parameters"; -import { SqlManagementClientContext } from "../sqlManagementClientContext"; - -/** Class representing a BackupLongTermRetentionPolicies. */ -export class BackupLongTermRetentionPolicies { - private readonly client: SqlManagementClientContext; - - /** - * Create a BackupLongTermRetentionPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. - */ - constructor(client: SqlManagementClientContext) { - this.client = client; - } - - /** - * Gets a database's long term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Sets a database's long term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters The long term retention policy info. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.BackupLongTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } - - /** - * Gets a database's long term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; - } - - /** - * Sets a database's long term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters The long term retention policy info. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.BackupLongTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.BackupLongTermRetentionPolicy - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.BackupLongTermRetentionPolicy - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.BackupLongTermRetentionPolicy, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.BackupLongTermRetentionPolicy - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/sql/arm-sql/src/operations/backupShortTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operations/backupShortTermRetentionPolicies.ts index a91d73b39445..398f1b0ae5b4 100644 --- a/sdk/sql/arm-sql/src/operations/backupShortTermRetentionPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/backupShortTermRetentionPolicies.ts @@ -1,27 +1,44 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/backupShortTermRetentionPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { BackupShortTermRetentionPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + BackupShortTermRetentionPolicy, + BackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams, + BackupShortTermRetentionPoliciesListByDatabaseOptionalParams, + ShortTermRetentionPolicyName, + BackupShortTermRetentionPoliciesGetOptionalParams, + BackupShortTermRetentionPoliciesGetResponse, + BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams, + BackupShortTermRetentionPoliciesCreateOrUpdateResponse, + BackupShortTermRetentionPoliciesUpdateOptionalParams, + BackupShortTermRetentionPoliciesUpdateResponse, + BackupShortTermRetentionPoliciesListByDatabaseResponse, + BackupShortTermRetentionPoliciesListByDatabaseNextResponse +} from "../models"; -/** Class representing a BackupShortTermRetentionPolicies. */ -export class BackupShortTermRetentionPolicies { +/// +/** Class containing BackupShortTermRetentionPolicies operations. */ +export class BackupShortTermRetentionPoliciesImpl + implements BackupShortTermRetentionPolicies { private readonly client: SqlManagementClientContext; /** - * Create a BackupShortTermRetentionPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class BackupShortTermRetentionPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,329 +46,499 @@ export class BackupShortTermRetentionPolicies { /** * Gets a database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: BackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: BackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( resourceGroupName, serverName, databaseName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: BackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } } /** - * Updates a database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The short term retention policy info. - * @param [options] The optional parameters - * @returns Promise + * @param policyName The policy name. Should always be "default". + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.BackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + options?: BackupShortTermRetentionPoliciesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, policyName, options }, + getOperationSpec + ); } /** * Updates a database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". * @param parameters The short term retention policy info. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.BackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + parameters: BackupShortTermRetentionPolicy, + options?: BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + BackupShortTermRetentionPoliciesCreateOrUpdateResponse + >, + BackupShortTermRetentionPoliciesCreateOrUpdateResponse + > + > { + 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() + } + }; + }; - /** - * Gets a database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + const lro = new LroImpl( + sendOperation, { resourceGroupName, serverName, databaseName, + policyName, + parameters, options }, - listByDatabaseOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Updates a database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". * @param parameters The short term retention policy info. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.BackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + parameters: BackupShortTermRetentionPolicy, + options?: BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Updates a database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". * @param parameters The short term retention policy info. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.BackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + parameters: BackupShortTermRetentionPolicy, + options?: BackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + BackupShortTermRetentionPoliciesUpdateResponse + > + > { + 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, serverName, databaseName, + policyName, parameters, options }, - beginUpdateOperationSpec, - options); + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a database's short term retention policy. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Updates a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + parameters: BackupShortTermRetentionPolicy, + options?: BackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + databaseName, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Gets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: BackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: BackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDatabaseNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.BackupShortTermRetentionPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.policyName3 ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.BackupShortTermRetentionPolicyListResult + bodyMapper: Mappers.BackupShortTermRetentionPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.BackupShortTermRetentionPolicy + }, + 202: { + bodyMapper: Mappers.BackupShortTermRetentionPolicy + }, + 204: { + bodyMapper: Mappers.BackupShortTermRetentionPolicy + }, + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", + requestBody: Parameters.parameters81, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 + Parameters.policyName3 ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.BackupShortTermRetentionPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.BackupShortTermRetentionPolicy }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.BackupShortTermRetentionPolicy + }, + 202: { + bodyMapper: Mappers.BackupShortTermRetentionPolicy + }, + 204: { + bodyMapper: Mappers.BackupShortTermRetentionPolicy + }, + default: {} }, - serializer -}; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", + requestBody: Parameters.parameters81, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.policyName, - Parameters.subscriptionId + Parameters.policyName3 ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.BackupShortTermRetentionPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.BackupShortTermRetentionPolicy + bodyMapper: Mappers.BackupShortTermRetentionPolicyListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.BackupShortTermRetentionPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/capabilities.ts b/sdk/sql/arm-sql/src/operations/capabilities.ts index 56cbe7ea343b..7798c66b0f16 100644 --- a/sdk/sql/arm-sql/src/operations/capabilities.ts +++ b/sdk/sql/arm-sql/src/operations/capabilities.ts @@ -1,26 +1,28 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/capabilitiesMappers"; +import { Capabilities } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + CapabilitiesListByLocationOptionalParams, + CapabilitiesListByLocationResponse +} from "../models"; -/** Class representing a Capabilities. */ -export class Capabilities { +/** Class containing Capabilities operations. */ +export class CapabilitiesImpl implements Capabilities { private readonly client: SqlManagementClientContext; /** - * Create a Capabilities. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Capabilities class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,55 +31,37 @@ export class Capabilities { /** * Gets the subscription capabilities available for the specified location. * @param locationName The location name whose capabilities are retrieved. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByLocation(locationName: string, options?: Models.CapabilitiesListByLocationOptionalParams): Promise; - /** - * @param locationName The location name whose capabilities are retrieved. - * @param callback The callback - */ - listByLocation(locationName: string, callback: msRest.ServiceCallback): void; - /** - * @param locationName The location name whose capabilities are retrieved. - * @param options The optional parameters - * @param callback The callback - */ - listByLocation(locationName: string, options: Models.CapabilitiesListByLocationOptionalParams, callback: msRest.ServiceCallback): void; - listByLocation(locationName: string, options?: Models.CapabilitiesListByLocationOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + listByLocation( + locationName: string, + options?: CapabilitiesListByLocationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - locationName, - options - }, - listByLocationOperationSpec, - callback) as Promise; + { locationName, options }, + listByLocationOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByLocationOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities", - urlParameters: [ - Parameters.locationName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.include, - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.LocationCapabilities }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2, Parameters.include], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/dataMaskingPolicies.ts b/sdk/sql/arm-sql/src/operations/dataMaskingPolicies.ts index 66ddab401ec4..fa02fa857799 100644 --- a/sdk/sql/arm-sql/src/operations/dataMaskingPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/dataMaskingPolicies.ts @@ -1,26 +1,31 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/dataMaskingPoliciesMappers"; +import { DataMaskingPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DataMaskingPolicy, + DataMaskingPoliciesCreateOrUpdateOptionalParams, + DataMaskingPoliciesCreateOrUpdateResponse, + DataMaskingPoliciesGetOptionalParams, + DataMaskingPoliciesGetResponse +} from "../models"; -/** Class representing a DataMaskingPolicies. */ -export class DataMaskingPolicies { +/** Class containing DataMaskingPolicies operations. */ +export class DataMaskingPoliciesImpl implements DataMaskingPolicies { private readonly client: SqlManagementClientContext; /** - * Create a DataMaskingPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DataMaskingPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,146 +33,90 @@ export class DataMaskingPolicies { /** * Creates or updates a database data masking policy - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param parameters Parameters for creating or updating a data masking policy. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DataMaskingPolicy, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters Parameters for creating or updating a data masking policy. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DataMaskingPolicy, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters Parameters for creating or updating a data masking policy. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DataMaskingPolicy, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DataMaskingPolicy, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DataMaskingPolicy, + options?: DataMaskingPoliciesCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - createOrUpdateOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, parameters, options }, + createOrUpdateOperationSpec + ); } /** * Gets a database data masking policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataMaskingPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + getOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const createOrUpdateOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", + responses: { + 200: { + bodyMapper: Mappers.DataMaskingPolicy + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.dataMaskingPolicyName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DataMaskingPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DataMaskingPolicy - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.dataMaskingPolicyName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DataMaskingPolicy - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/dataMaskingRules.ts b/sdk/sql/arm-sql/src/operations/dataMaskingRules.ts index 730fb4fa3c41..5abae594d896 100644 --- a/sdk/sql/arm-sql/src/operations/dataMaskingRules.ts +++ b/sdk/sql/arm-sql/src/operations/dataMaskingRules.ts @@ -1,65 +1,126 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/dataMaskingRulesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DataMaskingRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DataMaskingRule, + DataMaskingRulesListByDatabaseOptionalParams, + DataMaskingRulesCreateOrUpdateOptionalParams, + DataMaskingRulesCreateOrUpdateResponse, + DataMaskingRulesListByDatabaseResponse +} from "../models"; -/** Class representing a DataMaskingRules. */ -export class DataMaskingRules { +/// +/** Class containing DataMaskingRules operations. */ +export class DataMaskingRulesImpl implements DataMaskingRules { private readonly client: SqlManagementClientContext; /** - * Create a DataMaskingRules. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DataMaskingRules class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Creates or updates a database data masking rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param dataMaskingRuleName The name of the data masking rule. - * @param parameters The required parameters for creating or updating a data masking rule. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, dataMaskingRuleName: string, parameters: Models.DataMaskingRule, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of database data masking rules. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param dataMaskingRuleName The name of the data masking rule. - * @param parameters The required parameters for creating or updating a data masking rule. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, dataMaskingRuleName: string, parameters: Models.DataMaskingRule, callback: msRest.ServiceCallback): void; + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataMaskingRulesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataMaskingRulesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataMaskingRulesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a database data masking rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param dataMaskingRuleName The name of the data masking rule. * @param parameters The required parameters for creating or updating a data masking rule. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, dataMaskingRuleName: string, parameters: Models.DataMaskingRule, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, dataMaskingRuleName: string, parameters: Models.DataMaskingRule, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + dataMaskingRuleName: string, + parameters: DataMaskingRule, + options?: DataMaskingRulesCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -69,113 +130,78 @@ export class DataMaskingRules { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Gets a list of database data masking rules. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataMaskingRulesListByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const createOrUpdateOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.dataMaskingPolicyName, - Parameters.dataMaskingRuleName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DataMaskingRule, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.DataMaskingRule }, 201: { bodyMapper: Mappers.DataMaskingRule - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules", + requestBody: Parameters.parameters2, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.dataMaskingPolicyName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.dataMaskingPolicyName, + Parameters.dataMaskingRuleName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DataMaskingRuleListResult - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.dataMaskingPolicyName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/dataWarehouseUserActivitiesOperations.ts b/sdk/sql/arm-sql/src/operations/dataWarehouseUserActivitiesOperations.ts new file mode 100644 index 000000000000..cef080e215e4 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/dataWarehouseUserActivitiesOperations.ts @@ -0,0 +1,258 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DataWarehouseUserActivitiesOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DataWarehouseUserActivities, + DataWarehouseUserActivitiesOperationsListByDatabaseNextOptionalParams, + DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams, + DataWarehouseUserActivityName, + DataWarehouseUserActivitiesOperationsGetOptionalParams, + DataWarehouseUserActivitiesOperationsGetResponse, + DataWarehouseUserActivitiesOperationsListByDatabaseResponse, + DataWarehouseUserActivitiesOperationsListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing DataWarehouseUserActivitiesOperations operations. */ +export class DataWarehouseUserActivitiesOperationsImpl + implements DataWarehouseUserActivitiesOperations { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DataWarehouseUserActivitiesOperations class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * List the user activities of a data warehouse which includes running and suspended queries + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets the user activities of a data warehouse which includes running and suspended queries + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param dataWarehouseUserActivityName The activity name of the data warehouse. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + dataWarehouseUserActivityName: DataWarehouseUserActivityName, + options?: DataWarehouseUserActivitiesOperationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + dataWarehouseUserActivityName, + options + }, + getOperationSpec + ); + } + + /** + * List the user activities of a data warehouse which includes running and suspended queries + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DataWarehouseUserActivitiesOperationsListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DataWarehouseUserActivities + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.dataWarehouseUserActivityName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DataWarehouseUserActivitiesListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DataWarehouseUserActivitiesListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/databaseAdvisors.ts b/sdk/sql/arm-sql/src/operations/databaseAdvisors.ts new file mode 100644 index 000000000000..8b5dcd0efc79 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/databaseAdvisors.ts @@ -0,0 +1,183 @@ +/* + * 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 { DatabaseAdvisors } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseAdvisorsListByDatabaseOptionalParams, + DatabaseAdvisorsListByDatabaseResponse, + DatabaseAdvisorsGetOptionalParams, + DatabaseAdvisorsGetResponse, + Advisor, + DatabaseAdvisorsUpdateOptionalParams, + DatabaseAdvisorsUpdateResponse +} from "../models"; + +/** Class containing DatabaseAdvisors operations. */ +export class DatabaseAdvisorsImpl implements DatabaseAdvisors { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DatabaseAdvisors class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of database advisors. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseAdvisorsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * Gets a database advisor. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + options?: DatabaseAdvisorsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, advisorName, options }, + getOperationSpec + ); + } + + /** + * Updates a database advisor. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param parameters The requested advisor resource state. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + parameters: Advisor, + options?: DatabaseAdvisorsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + advisorName, + parameters, + options + }, + updateOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "Advisor" } } + } + } + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Advisor + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.advisorName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.Advisor + }, + default: {} + }, + requestBody: Parameters.parameters18, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.advisorName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/databaseAutomaticTuningOperations.ts b/sdk/sql/arm-sql/src/operations/databaseAutomaticTuningOperations.ts index c8538356092a..c99b00b72a45 100644 --- a/sdk/sql/arm-sql/src/operations/databaseAutomaticTuningOperations.ts +++ b/sdk/sql/arm-sql/src/operations/databaseAutomaticTuningOperations.ts @@ -1,26 +1,32 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databaseAutomaticTuningOperationsMappers"; +import { DatabaseAutomaticTuningOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseAutomaticTuningOperationsGetOptionalParams, + DatabaseAutomaticTuningOperationsGetResponse, + DatabaseAutomaticTuning, + DatabaseAutomaticTuningOperationsUpdateOptionalParams, + DatabaseAutomaticTuningOperationsUpdateResponse +} from "../models"; -/** Class representing a DatabaseAutomaticTuningOperations. */ -export class DatabaseAutomaticTuningOperations { +/** Class containing DatabaseAutomaticTuningOperations operations. */ +export class DatabaseAutomaticTuningOperationsImpl + implements DatabaseAutomaticTuningOperations { private readonly client: SqlManagementClientContext; /** - * Create a DatabaseAutomaticTuningOperations. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DatabaseAutomaticTuningOperations class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,144 +34,90 @@ export class DatabaseAutomaticTuningOperations { /** * Gets a database's automatic tuning. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseAutomaticTuningOperationsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + getOperationSpec + ); } /** * Update automatic tuning properties for target database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters The requested automatic tuning resource state. - * @param [options] The optional parameters - * @returns Promise - */ - update(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseAutomaticTuning, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters The requested automatic tuning resource state. - * @param callback The callback - */ - update(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseAutomaticTuning, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param parameters The requested automatic tuning resource state. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseAutomaticTuning, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - update(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseAutomaticTuning, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DatabaseAutomaticTuning, + options?: DatabaseAutomaticTuningOperationsUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - updateOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, parameters, options }, + updateOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DatabaseAutomaticTuning }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId + Parameters.databaseName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DatabaseAutomaticTuning, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.DatabaseAutomaticTuning }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters19, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; diff --git a/sdk/sql/arm-sql/src/operations/databaseBlobAuditingPolicies.ts b/sdk/sql/arm-sql/src/operations/databaseBlobAuditingPolicies.ts index aa9330f4a0d5..c08328438297 100644 --- a/sdk/sql/arm-sql/src/operations/databaseBlobAuditingPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/databaseBlobAuditingPolicies.ts @@ -1,233 +1,238 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databaseBlobAuditingPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseBlobAuditingPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseBlobAuditingPolicy, + DatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams, + DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams, + DatabaseBlobAuditingPoliciesGetOptionalParams, + DatabaseBlobAuditingPoliciesGetResponse, + DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams, + DatabaseBlobAuditingPoliciesCreateOrUpdateResponse, + DatabaseBlobAuditingPoliciesListByDatabaseResponse, + DatabaseBlobAuditingPoliciesListByDatabaseNextResponse +} from "../models"; -/** Class representing a DatabaseBlobAuditingPolicies. */ -export class DatabaseBlobAuditingPolicies { +/// +/** Class containing DatabaseBlobAuditingPolicies operations. */ +export class DatabaseBlobAuditingPoliciesImpl + implements DatabaseBlobAuditingPolicies { private readonly client: SqlManagementClientContext; /** - * Create a DatabaseBlobAuditingPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DatabaseBlobAuditingPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a database's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists auditing settings of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( resourceGroupName, serverName, databaseName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } } /** - * Creates or updates a database's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters The database blob auditing policy. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseBlobAuditingPolicy, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a database's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The database blob auditing policy. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseBlobAuditingPolicy, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseBlobAuditingPoliciesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a database's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param parameters The database blob auditing policy. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseBlobAuditingPolicy, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseBlobAuditingPolicy, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DatabaseBlobAuditingPolicy, + options?: DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - createOrUpdateOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, parameters, options }, + createOrUpdateOperationSpec + ); } /** * Lists auditing settings of a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); } /** - * Lists auditing settings of a database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDatabaseNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.blobAuditingPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DatabaseBlobAuditingPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.blobAuditingPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.blobAuditingPolicyName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DatabaseBlobAuditingPolicy, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.DatabaseBlobAuditingPolicy @@ -235,56 +240,61 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.DatabaseBlobAuditingPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings", + requestBody: Parameters.parameters17, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.blobAuditingPolicyName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseBlobAuditingPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseBlobAuditingPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/databaseColumns.ts b/sdk/sql/arm-sql/src/operations/databaseColumns.ts new file mode 100644 index 000000000000..4c6551d2d2b5 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/databaseColumns.ts @@ -0,0 +1,492 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseColumns } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseColumn, + DatabaseColumnsListByDatabaseNextOptionalParams, + DatabaseColumnsListByDatabaseOptionalParams, + DatabaseColumnsListByTableNextOptionalParams, + DatabaseColumnsListByTableOptionalParams, + DatabaseColumnsListByDatabaseResponse, + DatabaseColumnsListByTableResponse, + DatabaseColumnsGetOptionalParams, + DatabaseColumnsGetResponse, + DatabaseColumnsListByDatabaseNextResponse, + DatabaseColumnsListByTableNextResponse +} from "../models"; + +/// +/** Class containing DatabaseColumns operations. */ +export class DatabaseColumnsImpl implements DatabaseColumns { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DatabaseColumns class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * List database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseColumnsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseColumnsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseColumnsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * List database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + public listByTable( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: DatabaseColumnsListByTableOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByTablePagingAll( + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByTablePagingPage( + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + options + ); + } + }; + } + + private async *listByTablePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: DatabaseColumnsListByTableOptionalParams + ): AsyncIterableIterator { + let result = await this._listByTable( + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByTableNext( + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByTablePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: DatabaseColumnsListByTableOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByTablePagingPage( + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + options + )) { + yield* page; + } + } + + /** + * List database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseColumnsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * List database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + private _listByTable( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: DatabaseColumnsListByTableOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + options + }, + listByTableOperationSpec + ); + } + + /** + * Get database column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: DatabaseColumnsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + columnName, + options + }, + getOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DatabaseColumnsListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } + + /** + * ListByTableNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param nextLink The nextLink from the previous successful call to the ListByTable method. + * @param options The options parameters. + */ + private _listByTableNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + nextLink: string, + options?: DatabaseColumnsListByTableNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + nextLink, + options + }, + listByTableNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/columns", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumnListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.schema, + Parameters.table, + Parameters.column, + Parameters.orderBy, + Parameters.skiptoken + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByTableOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumnListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.tableName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumn + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.tableName, + Parameters.columnName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumnListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.schema, + Parameters.table, + Parameters.column, + Parameters.orderBy, + Parameters.skiptoken + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByTableNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumnListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.schemaName, + Parameters.tableName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/databaseExtensionsOperations.ts b/sdk/sql/arm-sql/src/operations/databaseExtensionsOperations.ts new file mode 100644 index 000000000000..e915863a4362 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/databaseExtensionsOperations.ts @@ -0,0 +1,391 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseExtensionsOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ImportExportExtensionsOperationResult, + DatabaseExtensionsOperationsListByDatabaseNextOptionalParams, + DatabaseExtensionsOperationsListByDatabaseOptionalParams, + DatabaseExtensionsOperationsGetOptionalParams, + DatabaseExtensions, + DatabaseExtensionsOperationsCreateOrUpdateOptionalParams, + DatabaseExtensionsOperationsCreateOrUpdateResponse, + DatabaseExtensionsOperationsListByDatabaseResponse, + DatabaseExtensionsOperationsListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing DatabaseExtensionsOperations operations. */ +export class DatabaseExtensionsOperationsImpl + implements DatabaseExtensionsOperations { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DatabaseExtensionsOperations class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * List database extension. This will return an empty list as it is not supported. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseExtensionsOperationsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseExtensionsOperationsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseExtensionsOperationsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets a database extension. This will return resource not found as it is not supported. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param extensionName + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + extensionName: string, + options?: DatabaseExtensionsOperationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, extensionName, options }, + getOperationSpec + ); + } + + /** + * Perform a database extension operation, like polybase import + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param extensionName + * @param parameters The database import request parameters. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + extensionName: string, + parameters: DatabaseExtensions, + options?: DatabaseExtensionsOperationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabaseExtensionsOperationsCreateOrUpdateResponse + > + > { + 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, + serverName, + databaseName, + extensionName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Perform a database extension operation, like polybase import + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param extensionName + * @param parameters The database import request parameters. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + extensionName: string, + parameters: DatabaseExtensions, + options?: DatabaseExtensionsOperationsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + extensionName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * List database extension. This will return an empty list as it is not supported. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseExtensionsOperationsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DatabaseExtensionsOperationsListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}", + httpMethod: "GET", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.extensionName + ], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ImportExportExtensionsOperationResult + }, + 201: { + bodyMapper: Mappers.ImportExportExtensionsOperationResult + }, + 202: { + bodyMapper: Mappers.ImportExportExtensionsOperationResult + }, + 204: { + bodyMapper: Mappers.ImportExportExtensionsOperationResult + }, + default: {} + }, + requestBody: Parameters.parameters82, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.extensionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ImportExportExtensionsOperationListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ImportExportExtensionsOperationListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/databaseOperations.ts b/sdk/sql/arm-sql/src/operations/databaseOperations.ts index 73da08119974..152063179377 100644 --- a/sdk/sql/arm-sql/src/operations/databaseOperations.ts +++ b/sdk/sql/arm-sql/src/operations/databaseOperations.ts @@ -1,212 +1,243 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databaseOperationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseOperation, + DatabaseOperationsListByDatabaseNextOptionalParams, + DatabaseOperationsListByDatabaseOptionalParams, + DatabaseOperationsCancelOptionalParams, + DatabaseOperationsListByDatabaseResponse, + DatabaseOperationsListByDatabaseNextResponse +} from "../models"; -/** Class representing a DatabaseOperations. */ -export class DatabaseOperations { +/// +/** Class containing DatabaseOperations operations. */ +export class DatabaseOperationsImpl implements DatabaseOperations { private readonly client: SqlManagementClientContext; /** - * Create a DatabaseOperations. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DatabaseOperations class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Cancels the asynchronous operation on the database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param operationId The operation identifier. - * @param [options] The optional parameters - * @returns Promise - */ - cancel(resourceGroupName: string, serverName: string, databaseName: string, operationId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param operationId The operation identifier. - * @param callback The callback - */ - cancel(resourceGroupName: string, serverName: string, databaseName: string, operationId: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of operations performed on the database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param operationId The operation identifier. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - cancel(resourceGroupName: string, serverName: string, databaseName: string, operationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - cancel(resourceGroupName: string, serverName: string, databaseName: string, operationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseOperationsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseOperationsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( resourceGroupName, serverName, databaseName, - operationId, + continuationToken, options - }, - cancelOperationSpec, - callback); + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseOperationsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } } /** - * Gets a list of operations performed on the database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Cancels the asynchronous operation on the database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param operationId The operation identifier. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + cancel( + resourceGroupName: string, + serverName: string, + databaseName: string, + operationId: string, + options?: DatabaseOperationsCancelOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, operationId, options }, + cancelOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of operations performed on the database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseOperationsListByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); } /** - * Gets a list of operations performed on the database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DatabaseOperationsListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDatabaseNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const cancelOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const cancelOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.operationId, - Parameters.subscriptionId + Parameters.operationId ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DatabaseOperationListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseOperationListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/databaseRecommendedActions.ts b/sdk/sql/arm-sql/src/operations/databaseRecommendedActions.ts new file mode 100644 index 000000000000..cc048d80e14a --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/databaseRecommendedActions.ts @@ -0,0 +1,203 @@ +/* + * 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 { DatabaseRecommendedActions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams, + DatabaseRecommendedActionsListByDatabaseAdvisorResponse, + DatabaseRecommendedActionsGetOptionalParams, + DatabaseRecommendedActionsGetResponse, + RecommendedAction, + DatabaseRecommendedActionsUpdateOptionalParams, + DatabaseRecommendedActionsUpdateResponse +} from "../models"; + +/** Class containing DatabaseRecommendedActions operations. */ +export class DatabaseRecommendedActionsImpl + implements DatabaseRecommendedActions { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DatabaseRecommendedActions class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets list of Database Recommended Actions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param options The options parameters. + */ + listByDatabaseAdvisor( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + options?: DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, advisorName, options }, + listByDatabaseAdvisorOperationSpec + ); + } + + /** + * Gets a database recommended action. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param recommendedActionName The name of Database Recommended Action. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + recommendedActionName: string, + options?: DatabaseRecommendedActionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + advisorName, + recommendedActionName, + options + }, + getOperationSpec + ); + } + + /** + * Updates a database recommended action. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param recommendedActionName The name of Database Recommended Action. + * @param parameters The requested recommended action resource state. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + recommendedActionName: string, + parameters: RecommendedAction, + options?: DatabaseRecommendedActionsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + advisorName, + recommendedActionName, + parameters, + options + }, + updateOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseAdvisorOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: { + type: { + name: "Sequence", + element: { + type: { name: "Composite", className: "RecommendedAction" } + } + } + } + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.advisorName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RecommendedAction + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.advisorName, + Parameters.recommendedActionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.RecommendedAction + }, + default: {} + }, + requestBody: Parameters.parameters20, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.advisorName, + Parameters.recommendedActionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/databaseSchemas.ts b/sdk/sql/arm-sql/src/operations/databaseSchemas.ts new file mode 100644 index 000000000000..9d47d3a7e93a --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/databaseSchemas.ts @@ -0,0 +1,250 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseSchemas } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseSchema, + DatabaseSchemasListByDatabaseNextOptionalParams, + DatabaseSchemasListByDatabaseOptionalParams, + DatabaseSchemasListByDatabaseResponse, + DatabaseSchemasGetOptionalParams, + DatabaseSchemasGetResponse, + DatabaseSchemasListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing DatabaseSchemas operations. */ +export class DatabaseSchemasImpl implements DatabaseSchemas { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DatabaseSchemas class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * List database schemas + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSchemasListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSchemasListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSchemasListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * List database schemas + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSchemasListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * Get database schema + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + options?: DatabaseSchemasGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, schemaName, options }, + getOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DatabaseSchemasListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSchemaListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSchema + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.schemaName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSchemaListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/databaseSecurityAlertPolicies.ts b/sdk/sql/arm-sql/src/operations/databaseSecurityAlertPolicies.ts new file mode 100644 index 000000000000..6f813bb46300 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/databaseSecurityAlertPolicies.ts @@ -0,0 +1,318 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseSecurityAlertPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseSecurityAlertPolicy, + DatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams, + DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams, + SecurityAlertPolicyName, + DatabaseSecurityAlertPoliciesGetOptionalParams, + DatabaseSecurityAlertPoliciesGetResponse, + DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams, + DatabaseSecurityAlertPoliciesCreateOrUpdateResponse, + DatabaseSecurityAlertPoliciesListByDatabaseResponse, + DatabaseSecurityAlertPoliciesListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing DatabaseSecurityAlertPolicies operations. */ +export class DatabaseSecurityAlertPoliciesImpl + implements DatabaseSecurityAlertPolicies { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DatabaseSecurityAlertPolicies class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of database's security alert policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the security alert policy is defined. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets a database's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the security alert policy is defined. + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: DatabaseSecurityAlertPoliciesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + securityAlertPolicyName, + options + }, + getOperationSpec + ); + } + + /** + * Creates or updates a database's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the security alert policy is defined. + * @param securityAlertPolicyName The name of the security alert policy. + * @param parameters The database security alert policy. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: DatabaseSecurityAlertPolicy, + options?: DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + securityAlertPolicyName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Gets a list of database's security alert policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the security alert policy is defined. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the security alert policy is defined. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSecurityAlertPolicy + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.securityAlertPolicyName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSecurityAlertPolicy + }, + 201: { + bodyMapper: Mappers.DatabaseSecurityAlertPolicy + }, + default: {} + }, + requestBody: Parameters.parameters21, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.securityAlertPolicyName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSecurityAlertListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSecurityAlertListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/databaseTables.ts b/sdk/sql/arm-sql/src/operations/databaseTables.ts new file mode 100644 index 000000000000..8d0e10812848 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/databaseTables.ts @@ -0,0 +1,282 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseTables } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseTable, + DatabaseTablesListBySchemaNextOptionalParams, + DatabaseTablesListBySchemaOptionalParams, + DatabaseTablesListBySchemaResponse, + DatabaseTablesGetOptionalParams, + DatabaseTablesGetResponse, + DatabaseTablesListBySchemaNextResponse +} from "../models"; + +/// +/** Class containing DatabaseTables operations. */ +export class DatabaseTablesImpl implements DatabaseTables { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DatabaseTables class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * List database tables + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + public listBySchema( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + options?: DatabaseTablesListBySchemaOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySchemaPagingAll( + resourceGroupName, + serverName, + databaseName, + schemaName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySchemaPagingPage( + resourceGroupName, + serverName, + databaseName, + schemaName, + options + ); + } + }; + } + + private async *listBySchemaPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + options?: DatabaseTablesListBySchemaOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySchema( + resourceGroupName, + serverName, + databaseName, + schemaName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySchemaNext( + resourceGroupName, + serverName, + databaseName, + schemaName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySchemaPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + options?: DatabaseTablesListBySchemaOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySchemaPagingPage( + resourceGroupName, + serverName, + databaseName, + schemaName, + options + )) { + yield* page; + } + } + + /** + * List database tables + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + private _listBySchema( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + options?: DatabaseTablesListBySchemaOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, schemaName, options }, + listBySchemaOperationSpec + ); + } + + /** + * Get database table + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: DatabaseTablesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + schemaName, + tableName, + options + }, + getOperationSpec + ); + } + + /** + * ListBySchemaNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param nextLink The nextLink from the previous successful call to the ListBySchema method. + * @param options The options parameters. + */ + private _listBySchemaNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + nextLink: string, + options?: DatabaseTablesListBySchemaNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + schemaName, + nextLink, + options + }, + listBySchemaNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listBySchemaOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseTableListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.schemaName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseTable + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.tableName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySchemaNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseTableListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.schemaName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/databaseThreatDetectionPolicies.ts b/sdk/sql/arm-sql/src/operations/databaseThreatDetectionPolicies.ts deleted file mode 100644 index 13565e880d9b..000000000000 --- a/sdk/sql/arm-sql/src/operations/databaseThreatDetectionPolicies.ts +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databaseThreatDetectionPoliciesMappers"; -import * as Parameters from "../models/parameters"; -import { SqlManagementClientContext } from "../sqlManagementClientContext"; - -/** Class representing a DatabaseThreatDetectionPolicies. */ -export class DatabaseThreatDetectionPolicies { - private readonly client: SqlManagementClientContext; - - /** - * Create a DatabaseThreatDetectionPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. - */ - constructor(client: SqlManagementClientContext) { - this.client = client; - } - - /** - * Gets a database's threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which database Threat Detection policy is - * defined. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which database Threat Detection policy is - * defined. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which database Threat Detection policy is - * defined. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Creates or updates a database's threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which database Threat Detection policy is - * defined. - * @param parameters The database Threat Detection policy. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseSecurityAlertPolicy, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which database Threat Detection policy is - * defined. - * @param parameters The database Threat Detection policy. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseSecurityAlertPolicy, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which database Threat Detection policy is - * defined. - * @param parameters The database Threat Detection policy. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseSecurityAlertPolicy, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseSecurityAlertPolicy, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - createOrUpdateOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.securityAlertPolicyName0 - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.DatabaseSecurityAlertPolicy - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.securityAlertPolicyName0 - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DatabaseSecurityAlertPolicy, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.DatabaseSecurityAlertPolicy - }, - 201: { - bodyMapper: Mappers.DatabaseSecurityAlertPolicy - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/sql/arm-sql/src/operations/databaseUsages.ts b/sdk/sql/arm-sql/src/operations/databaseUsages.ts index a7146aee6cb0..b16ecd1bdbd8 100644 --- a/sdk/sql/arm-sql/src/operations/databaseUsages.ts +++ b/sdk/sql/arm-sql/src/operations/databaseUsages.ts @@ -1,95 +1,204 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databaseUsagesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseUsages } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseUsage, + DatabaseUsagesListByDatabaseNextOptionalParams, + DatabaseUsagesListByDatabaseOptionalParams, + DatabaseUsagesListByDatabaseResponse, + DatabaseUsagesListByDatabaseNextResponse +} from "../models"; -/** Class representing a DatabaseUsages. */ -export class DatabaseUsages { +/// +/** Class containing DatabaseUsages operations. */ +export class DatabaseUsagesImpl implements DatabaseUsages { private readonly client: SqlManagementClientContext; /** - * Create a DatabaseUsages. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DatabaseUsages class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Returns database usages. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets database usages. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseUsagesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseUsagesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseUsagesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets database usages. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseUsagesListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DatabaseUsagesListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByDatabaseOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", + responses: { + 200: { + bodyMapper: Mappers.DatabaseUsageListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseUsageListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessmentRuleBaselines.ts b/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessmentRuleBaselines.ts index 12157deacbb5..d5f7a5431c27 100644 --- a/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessmentRuleBaselines.ts +++ b/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessmentRuleBaselines.ts @@ -1,26 +1,35 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databaseVulnerabilityAssessmentRuleBaselinesMappers"; +import { DatabaseVulnerabilityAssessmentRuleBaselines } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + VulnerabilityAssessmentName, + VulnerabilityAssessmentPolicyBaselineName, + DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams, + DatabaseVulnerabilityAssessmentRuleBaselinesGetResponse, + DatabaseVulnerabilityAssessmentRuleBaseline, + DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams, + DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse, + DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams +} from "../models"; -/** Class representing a DatabaseVulnerabilityAssessmentRuleBaselines. */ -export class DatabaseVulnerabilityAssessmentRuleBaselines { +/** Class containing DatabaseVulnerabilityAssessmentRuleBaselines operations. */ +export class DatabaseVulnerabilityAssessmentRuleBaselinesImpl + implements DatabaseVulnerabilityAssessmentRuleBaselines { private readonly client: SqlManagementClientContext; /** - * Create a DatabaseVulnerabilityAssessmentRuleBaselines. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DatabaseVulnerabilityAssessmentRuleBaselines class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,267 +37,185 @@ export class DatabaseVulnerabilityAssessmentRuleBaselines { /** * Gets a database's vulnerability assessment rule baseline. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param ruleId The vulnerability assessment rule ID. * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param [options] The optional parameters - * @returns Promise + * baseline on a database level rule and master for server level rule). + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + options?: DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + vulnerabilityAssessmentName, ruleId, baselineName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates a database's vulnerability assessment rule baseline. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param parameters The requested rule baseline resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, parameters: Models.DatabaseVulnerabilityAssessmentRuleBaseline, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param ruleId The vulnerability assessment rule ID. * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' + * baseline on a database level rule and master for server level rule). * @param parameters The requested rule baseline resource. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, parameters: Models.DatabaseVulnerabilityAssessmentRuleBaseline, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param parameters The requested rule baseline resource. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, parameters: Models.DatabaseVulnerabilityAssessmentRuleBaseline, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, parameters: Models.DatabaseVulnerabilityAssessmentRuleBaseline, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + parameters: DatabaseVulnerabilityAssessmentRuleBaseline, + options?: DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams + ): Promise< + DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse + > { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + vulnerabilityAssessmentName, ruleId, baselineName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Removes the database's vulnerability assessment rule baseline. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param ruleId The vulnerability assessment rule ID. * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param [options] The optional parameters - * @returns Promise + * baseline on a database level rule and master for server level rule). + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + options?: DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + vulnerabilityAssessmentName, ruleId, baselineName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", + responses: { + 200: { + bodyMapper: Mappers.DatabaseVulnerabilityAssessmentRuleBaseline + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, Parameters.ruleId, - Parameters.baselineName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.baselineName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessmentRuleBaseline }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", + requestBody: Parameters.parameters22, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, Parameters.ruleId, - Parameters.baselineName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.baselineName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DatabaseVulnerabilityAssessmentRuleBaseline, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.DatabaseVulnerabilityAssessmentRuleBaseline - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, Parameters.ruleId, - Parameters.baselineName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.baselineName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; diff --git a/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessmentScans.ts b/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessmentScans.ts index 20c44d8e1471..e7fb6e92c10e 100644 --- a/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessmentScans.ts +++ b/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessmentScans.ts @@ -1,27 +1,43 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databaseVulnerabilityAssessmentScansMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseVulnerabilityAssessmentScans } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VulnerabilityAssessmentScanRecord, + VulnerabilityAssessmentName, + DatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams, + DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams, + DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams, + DatabaseVulnerabilityAssessmentScansListByDatabaseResponse, + DatabaseVulnerabilityAssessmentScansGetOptionalParams, + DatabaseVulnerabilityAssessmentScansGetResponse, + DatabaseVulnerabilityAssessmentScansExportOptionalParams, + DatabaseVulnerabilityAssessmentScansExportResponse, + DatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse +} from "../models"; -/** Class representing a DatabaseVulnerabilityAssessmentScans. */ -export class DatabaseVulnerabilityAssessmentScans { +/// +/** Class containing DatabaseVulnerabilityAssessmentScans operations. */ +export class DatabaseVulnerabilityAssessmentScansImpl + implements DatabaseVulnerabilityAssessmentScans { private readonly client: SqlManagementClientContext; /** - * Create a DatabaseVulnerabilityAssessmentScans. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DatabaseVulnerabilityAssessmentScans class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,270 +45,388 @@ export class DatabaseVulnerabilityAssessmentScans { /** * Lists the vulnerability assessment scans of a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + vulnerabilityAssessmentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + vulnerabilityAssessmentName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + vulnerabilityAssessmentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + vulnerabilityAssessmentName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + vulnerabilityAssessmentName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Executes a Vulnerability Assessment database scan. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id of the scan to retrieve. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginInitiateScan( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + ): 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, serverName, databaseName, + vulnerabilityAssessmentName, + scanId, options }, - listByDatabaseOperationSpec, - callback) as Promise; + initiateScanOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a vulnerability assessment scan record of a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Executes a Vulnerability Assessment database scan. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, callback: msRest.ServiceCallback): void; + async beginInitiateScanAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + ): Promise { + const poller = await this.beginInitiateScan( + resourceGroupName, + serverName, + databaseName, + vulnerabilityAssessmentName, + scanId, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the vulnerability assessment scans of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param options The optional parameters - * @param callback The callback + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, - scanId, + vulnerabilityAssessmentName, options }, - getOperationSpec, - callback) as Promise; + listByDatabaseOperationSpec + ); } /** - * Executes a Vulnerability Assessment database scan. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a vulnerability assessment scan record of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param [options] The optional parameters - * @returns Promise - */ - initiateScan(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginInitiateScan(resourceGroupName,serverName,databaseName,scanId,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } - - /** - * Convert an existing scan result to a human readable format. If already exists nothing happens - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the scanned database. - * @param scanId The vulnerability assessment scan Id. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - exportMethod(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the scanned database. - * @param scanId The vulnerability assessment scan Id. - * @param callback The callback - */ - exportMethod(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the scanned database. - * @param scanId The vulnerability assessment scan Id. - * @param options The optional parameters - * @param callback The callback - */ - exportMethod(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - exportMethod(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: DatabaseVulnerabilityAssessmentScansGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + vulnerabilityAssessmentName, scanId, options }, - exportMethodOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Executes a Vulnerability Assessment database scan. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Convert an existing scan result to a human readable format. If already exists nothing happens + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the scanned database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id. + * @param options The options parameters. */ - beginInitiateScan(resourceGroupName: string, serverName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + export( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: DatabaseVulnerabilityAssessmentScansExportOptionalParams + ): Promise { + return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + vulnerabilityAssessmentName, scanId, options }, - beginInitiateScanOperationSpec, - options); + exportOperationSpec + ); } /** - * Lists the vulnerability assessment scans of a database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + nextLink: string, + options?: DatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + databaseName, + vulnerabilityAssessmentName, + nextLink, options }, - listByDatabaseNextOperationSpec, - callback) as Promise; + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const initiateScanOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.scanId ], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VulnerabilityAssessmentScanRecordListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.vulnerabilityAssessmentName, - Parameters.scanId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vulnerabilityAssessmentName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VulnerabilityAssessmentScanRecord }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const exportMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, - Parameters.scanId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.scanId ], + headerParameters: [Parameters.accept], + serializer +}; +const exportOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessmentScansExport @@ -300,57 +434,40 @@ const exportMethodOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.DatabaseVulnerabilityAssessmentScansExport }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginInitiateScanOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, - Parameters.scanId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.scanId ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VulnerabilityAssessmentScanRecordListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.vulnerabilityAssessmentName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessments.ts b/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessments.ts index 3ed1a774ce50..aa70daf3dec5 100644 --- a/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessments.ts +++ b/sdk/sql/arm-sql/src/operations/databaseVulnerabilityAssessments.ts @@ -1,275 +1,288 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databaseVulnerabilityAssessmentsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatabaseVulnerabilityAssessments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseVulnerabilityAssessment, + DatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams, + DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams, + VulnerabilityAssessmentName, + DatabaseVulnerabilityAssessmentsGetOptionalParams, + DatabaseVulnerabilityAssessmentsGetResponse, + DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams, + DatabaseVulnerabilityAssessmentsCreateOrUpdateResponse, + DatabaseVulnerabilityAssessmentsDeleteOptionalParams, + DatabaseVulnerabilityAssessmentsListByDatabaseResponse, + DatabaseVulnerabilityAssessmentsListByDatabaseNextResponse +} from "../models"; -/** Class representing a DatabaseVulnerabilityAssessments. */ -export class DatabaseVulnerabilityAssessments { +/// +/** Class containing DatabaseVulnerabilityAssessments operations. */ +export class DatabaseVulnerabilityAssessmentsImpl + implements DatabaseVulnerabilityAssessments { private readonly client: SqlManagementClientContext; /** - * Create a DatabaseVulnerabilityAssessments. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class DatabaseVulnerabilityAssessments class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets the database's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the vulnerability assessment policies associated with a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param callback The callback + * @param databaseName The name of the database for which the vulnerability assessment policies are + * defined. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the database's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param options The optional parameters - * @param callback The callback + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + vulnerabilityAssessmentName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates the database's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param parameters The requested resource. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseVulnerabilityAssessment, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param parameters The requested resource. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseVulnerabilityAssessment, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param parameters The requested resource. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseVulnerabilityAssessment, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseVulnerabilityAssessment, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + parameters: DatabaseVulnerabilityAssessment, + options?: DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + vulnerabilityAssessmentName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Removes the database's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param callback The callback + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + vulnerabilityAssessmentName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** * Lists the vulnerability assessment policies associated with a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment policies are - * defined. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the vulnerability assessment policies are - * defined. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database for which the vulnerability assessment policies are - * defined. - * @param options The optional parameters - * @param callback The callback + * defined. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); } /** - * Lists the vulnerability assessment policies associated with a database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the vulnerability assessment policies are + * defined. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: DatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDatabaseNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessment }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.vulnerabilityAssessmentName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DatabaseVulnerabilityAssessment, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessment @@ -277,81 +290,77 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.DatabaseVulnerabilityAssessment }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + requestBody: Parameters.parameters23, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId + Parameters.vulnerabilityAssessmentName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + httpMethod: "DELETE", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vulnerabilityAssessmentName ], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessmentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessmentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/databases.ts b/sdk/sql/arm-sql/src/operations/databases.ts index 846dfc51b1bd..82e4b63d6259 100644 --- a/sdk/sql/arm-sql/src/operations/databases.ts +++ b/sdk/sql/arm-sql/src/operations/databases.ts @@ -1,978 +1,1707 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/databasesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Databases } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Metric, + DatabasesListMetricsOptionalParams, + MetricDefinition, + DatabasesListMetricDefinitionsOptionalParams, + Database, + DatabasesListByServerNextOptionalParams, + DatabasesListByServerOptionalParams, + DatabasesListByElasticPoolNextOptionalParams, + DatabasesListByElasticPoolOptionalParams, + DatabasesListInaccessibleByServerNextOptionalParams, + DatabasesListInaccessibleByServerOptionalParams, + DatabasesListMetricsResponse, + DatabasesListMetricDefinitionsResponse, + DatabasesListByServerResponse, + DatabasesGetOptionalParams, + DatabasesGetResponse, + DatabasesCreateOrUpdateOptionalParams, + DatabasesCreateOrUpdateResponse, + DatabasesDeleteOptionalParams, + DatabaseUpdate, + DatabasesUpdateOptionalParams, + DatabasesUpdateResponse, + DatabasesListByElasticPoolResponse, + DatabasesFailoverOptionalParams, + DatabasesListInaccessibleByServerResponse, + DatabasesPauseOptionalParams, + DatabasesPauseResponse, + DatabasesResumeOptionalParams, + DatabasesResumeResponse, + DatabasesUpgradeDataWarehouseOptionalParams, + ResourceMoveDefinition, + DatabasesRenameOptionalParams, + ImportExistingDatabaseDefinition, + DatabasesImportOptionalParams, + DatabasesImportResponse, + ExportDatabaseDefinition, + DatabasesExportOptionalParams, + DatabasesExportResponse, + DatabasesListByServerNextResponse, + DatabasesListByElasticPoolNextResponse, + DatabasesListInaccessibleByServerNextResponse +} from "../models"; -/** Class representing a Databases. */ -export class Databases { +/// +/** Class containing Databases operations. */ +export class DatabasesImpl implements Databases { private readonly client: SqlManagementClientContext; /** - * Create a Databases. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Databases class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Imports a bacpac into a new database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns database metrics. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param parameters The required parameters for importing a Bacpac into a database. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database. + * @param filter An OData filter expression that describes a subset of metrics to return. + * @param options The options parameters. */ - importMethod(resourceGroupName: string, serverName: string, parameters: Models.ImportRequest, options?: msRest.RequestOptionsBase): Promise { - return this.beginImportMethod(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + public listMetrics( + resourceGroupName: string, + serverName: string, + databaseName: string, + filter: string, + options?: DatabasesListMetricsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMetricsPagingAll( + resourceGroupName, + serverName, + databaseName, + filter, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMetricsPagingPage( + resourceGroupName, + serverName, + databaseName, + filter, + options + ); + } + }; } - /** - * Creates an import operation that imports a bacpac into an existing database. The existing - * database must be empty. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database to import into - * @param parameters The required parameters for importing a Bacpac into a database. - * @param [options] The optional parameters - * @returns Promise - */ - createImportOperation(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ImportExtensionRequest, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateImportOperation(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listMetricsPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + filter: string, + options?: DatabasesListMetricsOptionalParams + ): AsyncIterableIterator { + let result = await this._listMetrics( + resourceGroupName, + serverName, + databaseName, + filter, + options + ); + yield result.value || []; } - /** - * Exports a database to a bacpac. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database to be exported. - * @param parameters The required parameters for exporting a database. - * @param [options] The optional parameters - * @returns Promise - */ - exportMethod(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ExportRequest, options?: msRest.RequestOptionsBase): Promise { - return this.beginExportMethod(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listMetricsPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + filter: string, + options?: DatabasesListMetricsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMetricsPagingPage( + resourceGroupName, + serverName, + databaseName, + filter, + options + )) { + yield* page; + } } /** - * Returns database metrics. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns database metric definitions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param filter An OData filter expression that describes a subset of metrics to return. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listMetrics(resourceGroupName: string, serverName: string, databaseName: string, filter: string, options?: msRest.RequestOptionsBase): Promise; + public listMetricDefinitions( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesListMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMetricDefinitionsPagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMetricDefinitionsPagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listMetricDefinitionsPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesListMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listMetricDefinitions( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + } + + private async *listMetricDefinitionsPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesListMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMetricDefinitionsPagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param filter An OData filter expression that describes a subset of metrics to return. - * @param callback The callback + * @param options The options parameters. */ - listMetrics(resourceGroupName: string, serverName: string, databaseName: string, filter: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of databases in an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param filter An OData filter expression that describes a subset of metrics to return. - * @param options The optional parameters - * @param callback The callback + * @param elasticPoolName The name of the elastic pool. + * @param options The options parameters. */ - listMetrics(resourceGroupName: string, serverName: string, databaseName: string, filter: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listMetrics(resourceGroupName: string, serverName: string, databaseName: string, filter: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: DatabasesListByElasticPoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByElasticPoolPagingAll( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByElasticPoolPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + } + }; + } + + private async *listByElasticPoolPagingPage( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: DatabasesListByElasticPoolOptionalParams + ): AsyncIterableIterator { + let result = await this._listByElasticPool( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByElasticPoolNext( resourceGroupName, serverName, - databaseName, - filter, + elasticPoolName, + continuationToken, options - }, - listMetricsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByElasticPoolPagingAll( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: DatabasesListByElasticPoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByElasticPoolPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + )) { + yield* page; + } } /** - * Returns database metric definitions. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of inaccessible databases in a logical server + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listMetricDefinitions(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; + public listInaccessibleByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListInaccessibleByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInaccessibleByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInaccessibleByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listInaccessibleByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: DatabasesListInaccessibleByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listInaccessibleByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInaccessibleByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listInaccessibleByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: DatabasesListInaccessibleByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInaccessibleByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns database metrics. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param filter An OData filter expression that describes a subset of metrics to return. + * @param options The options parameters. */ - listMetricDefinitions(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + private _listMetrics( + resourceGroupName: string, + serverName: string, + databaseName: string, + filter: string, + options?: DatabasesListMetricsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, filter, options }, + listMetricsOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns database metric definitions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listMetricDefinitions(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listMetricDefinitions(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listMetricDefinitions( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesListMetricDefinitionsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listMetricDefinitionsOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + listMetricDefinitionsOperationSpec + ); } /** * Gets a list of databases. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** * Gets a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param parameters The requested database resource state. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: Database, + options?: DatabasesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesCreateOrUpdateResponse + > + > { + 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, serverName, databaseName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param parameters The requested database resource state. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - getOperationSpec, - callback) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: Database, + options?: DatabasesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Creates a new database or updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes the database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The requested database resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.Database, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesDeleteOptionalParams + ): 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, serverName, databaseName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Deletes the database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,databaseName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + databaseName, + options + ); + return poller.pollUntilDone(); } /** * Updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param parameters The requested database resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DatabaseUpdate, + options?: DatabasesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesUpdateResponse + > + > { + 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, serverName, databaseName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a list of databases in an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool. - * @param [options] The optional parameters - * @returns Promise - */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool. - * @param callback The callback + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, callback: msRest.ServiceCallback): void; + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DatabaseUpdate, + options?: DatabasesUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of databases in an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: DatabasesListByElasticPoolOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - elasticPoolName, - options - }, - listByElasticPoolOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, elasticPoolName, options }, + listByElasticPoolOperationSpec + ); } /** - * Pauses a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Failovers a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to be paused. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database to failover. + * @param options The options parameters. */ - pause(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginPause(resourceGroupName,serverName,databaseName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginFailover( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesFailoverOptionalParams + ): 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, serverName, databaseName, options }, + failoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Resumes a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Failovers a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to be resumed. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database to failover. + * @param options The options parameters. */ - resume(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginResume(resourceGroupName,serverName,databaseName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginFailoverAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesFailoverOptionalParams + ): Promise { + const poller = await this.beginFailover( + resourceGroupName, + serverName, + databaseName, + options + ); + return poller.pollUntilDone(); } /** - * Upgrades a data warehouse. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of inaccessible databases in a logical server + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to be upgraded. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - upgradeDataWarehouse(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpgradeDataWarehouse(resourceGroupName,serverName,databaseName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + private _listInaccessibleByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListInaccessibleByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listInaccessibleByServerOperationSpec + ); } /** - * Renames a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database to rename. - * @param parameters The resource move definition for renaming this database. - * @param [options] The optional parameters - * @returns Promise - */ - rename(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ResourceMoveDefinition, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Pauses a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to rename. - * @param parameters The resource move definition for renaming this database. - * @param callback The callback + * @param databaseName The name of the database to be paused. + * @param options The options parameters. */ - rename(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ResourceMoveDefinition, callback: msRest.ServiceCallback): void; + async beginPause( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesPauseOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesPauseResponse + > + > { + 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, serverName, databaseName, options }, + pauseOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Pauses a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to rename. - * @param parameters The resource move definition for renaming this database. - * @param options The optional parameters - * @param callback The callback + * @param databaseName The name of the database to be paused. + * @param options The options parameters. */ - rename(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ResourceMoveDefinition, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - rename(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ResourceMoveDefinition, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - renameOperationSpec, - callback); + async beginPauseAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesPauseOptionalParams + ): Promise { + const poller = await this.beginPause( + resourceGroupName, + serverName, + databaseName, + options + ); + return poller.pollUntilDone(); } /** - * Failovers a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Resumes a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to failover. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database to be resumed. + * @param options The options parameters. */ - failover(resourceGroupName: string, serverName: string, databaseName: string, options?: Models.DatabasesFailoverOptionalParams): Promise { - return this.beginFailover(resourceGroupName,serverName,databaseName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginResume( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesResumeOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesResumeResponse + > + > { + 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, serverName, databaseName, options }, + resumeOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Imports a bacpac into a new database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Resumes a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param parameters The required parameters for importing a Bacpac into a database. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database to be resumed. + * @param options The options parameters. */ - beginImportMethod(resourceGroupName: string, serverName: string, parameters: Models.ImportRequest, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginImportMethodOperationSpec, - options); + async beginResumeAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesResumeOptionalParams + ): Promise { + const poller = await this.beginResume( + resourceGroupName, + serverName, + databaseName, + options + ); + return poller.pollUntilDone(); } /** - * Creates an import operation that imports a bacpac into an existing database. The existing - * database must be empty. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Upgrades a data warehouse. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to import into - * @param parameters The required parameters for importing a Bacpac into a database. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database to be upgraded. + * @param options The options parameters. */ - beginCreateImportOperation(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ImportExtensionRequest, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - beginCreateImportOperationOperationSpec, - options); + async beginUpgradeDataWarehouse( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesUpgradeDataWarehouseOptionalParams + ): 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, serverName, databaseName, options }, + upgradeDataWarehouseOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Exports a database to a bacpac. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Upgrades a data warehouse. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to be exported. - * @param parameters The required parameters for exporting a database. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database to be upgraded. + * @param options The options parameters. */ - beginExportMethod(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ExportRequest, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - beginExportMethodOperationSpec, - options); + async beginUpgradeDataWarehouseAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesUpgradeDataWarehouseOptionalParams + ): Promise { + const poller = await this.beginUpgradeDataWarehouse( + resourceGroupName, + serverName, + databaseName, + options + ); + return poller.pollUntilDone(); } /** - * Creates a new database or updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Renames a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters The requested database resource state. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database to rename. + * @param parameters The resource move definition for renaming this database. + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.Database, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + rename( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ResourceMoveDefinition, + options?: DatabasesRenameOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, parameters, options }, + renameOperationSpec + ); } /** - * Deletes the database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Imports a bacpac into a new database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The database import request parameters. + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginImport( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ImportExistingDatabaseDefinition, + options?: DatabasesImportOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesImportResponse + > + > { + 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, serverName, databaseName, parameters, options }, + importOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Imports a bacpac into a new database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The requested database resource state. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The database import request parameters. + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.DatabaseUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginImportAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ImportExistingDatabaseDefinition, + options?: DatabasesImportOptionalParams + ): Promise { + const poller = await this.beginImport( + resourceGroupName, + serverName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Pauses a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Exports a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to be paused. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database. + * @param parameters The database export request parameters. + * @param options The options parameters. */ - beginPause(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - beginPauseOperationSpec, - options); + async beginExport( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ExportDatabaseDefinition, + options?: DatabasesExportOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesExportResponse + > + > { + 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, serverName, databaseName, parameters, options }, + exportOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Resumes a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Exports a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to be resumed. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database. + * @param parameters The database export request parameters. + * @param options The options parameters. */ - beginResume(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - beginResumeOperationSpec, - options); + async beginExportAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ExportDatabaseDefinition, + options?: DatabasesExportOptionalParams + ): Promise { + const poller = await this.beginExport( + resourceGroupName, + serverName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Upgrades a data warehouse. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to be upgraded. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - beginUpgradeDataWarehouse(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - beginUpgradeDataWarehouseOperationSpec, - options); + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: DatabasesListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } /** - * Failovers a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByElasticPoolNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to failover. - * @param [options] The optional parameters - * @returns Promise + * @param elasticPoolName The name of the elastic pool. + * @param nextLink The nextLink from the previous successful call to the ListByElasticPool method. + * @param options The options parameters. */ - beginFailover(resourceGroupName: string, serverName: string, databaseName: string, options?: Models.DatabasesBeginFailoverOptionalParams): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - beginFailoverOperationSpec, - options); + private _listByElasticPoolNext( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + nextLink: string, + options?: DatabasesListByElasticPoolNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, elasticPoolName, nextLink, options }, + listByElasticPoolNextOperationSpec + ); } /** - * Gets a list of databases. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListInaccessibleByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListInaccessibleByServer + * method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listInaccessibleByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: DatabasesListInaccessibleByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listInaccessibleByServerNextOperationSpec + ); } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - /** - * Gets a list of databases in an elastic pool. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByElasticPoolNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByElasticPoolNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByElasticPoolNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByElasticPoolNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByElasticPoolNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listMetricsOperationSpec: msRest.OperationSpec = { +const listMetricsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName - ], - queryParameters: [ - Parameters.apiVersion0, - Parameters.filter0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.MetricListResult - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listMetricDefinitionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions", + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listMetricDefinitionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.MetricDefinitionListResult - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", + queryParameters: [Parameters.skipToken, Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Database }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByElasticPoolOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.elasticPoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.DatabaseListResult + bodyMapper: Mappers.Database }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.Database + }, + 202: { + bodyMapper: Mappers.Database + }, + 204: { + bodyMapper: Mappers.Database + }, + default: {} }, - serializer -}; - -const renameOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move", + requestBody: Parameters.parameters4, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ResourceMoveDefinition, - required: true - } - }, - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginImportMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName, + Parameters.databaseName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ImportRequest, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", + httpMethod: "PATCH", responses: { 200: { - bodyMapper: Mappers.ImportExportResponse + bodyMapper: Mappers.Database }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.Database + }, + 202: { + bodyMapper: Mappers.Database + }, + 204: { + bodyMapper: Mappers.Database + }, + default: {} }, - serializer -}; - -const beginCreateImportOperationOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}", + requestBody: Parameters.parameters5, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.extensionName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ImportExtensionRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByElasticPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases", + httpMethod: "GET", responses: { - 201: { - bodyMapper: Mappers.ImportExportResponse + 200: { + bodyMapper: Mappers.DatabaseListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.elasticPoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginExportMethodOperationSpec: msRest.OperationSpec = { +const failoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/failover", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion1, Parameters.replicaType], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ExportRequest, - required: true - } - }, + serializer +}; +const listInaccessibleByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/inaccessibleDatabases", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ImportExportResponse + bodyMapper: Mappers.DatabaseListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.Database, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const pauseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Database @@ -980,217 +1709,210 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.Database }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.Database + }, + 204: { + bodyMapper: Mappers.Database + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DatabaseUpdate, - required: true - } - }, +const resumeOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Database }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.Database + }, + 202: { + bodyMapper: Mappers.Database + }, + 204: { + bodyMapper: Mappers.Database + }, + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginPauseOperationSpec: msRest.OperationSpec = { +const upgradeDataWarehouseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], - responses: { - 200: { - bodyMapper: Mappers.Database - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const beginResumeOperationSpec: msRest.OperationSpec = { +const renameOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume", + responses: { 200: {}, default: {} }, + requestBody: Parameters.parameters6, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; +const importOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/import", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.Database + bodyMapper: Mappers.ImportExportOperationResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ImportExportOperationResult + }, + 202: { + bodyMapper: Mappers.ImportExportOperationResult + }, + 204: { + bodyMapper: Mappers.ImportExportOperationResult + }, + default: {} }, - serializer -}; - -const beginUpgradeDataWarehouseOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse", + requestBody: Parameters.parameters7, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginFailoverOperationSpec: msRest.OperationSpec = { +const exportOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/failover", + responses: { + 200: { + bodyMapper: Mappers.ImportExportOperationResult + }, + 201: { + bodyMapper: Mappers.ImportExportOperationResult + }, + 202: { + bodyMapper: Mappers.ImportExportOperationResult + }, + 204: { + bodyMapper: Mappers.ImportExportOperationResult + }, + default: {} + }, + requestBody: Parameters.parameters8, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.replicaType, - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.skipToken, Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByElasticPoolNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByElasticPoolNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.elasticPoolName, + Parameters.nextLink ], + headerParameters: [Parameters.accept], + serializer +}; +const listInaccessibleByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/deletedServers.ts b/sdk/sql/arm-sql/src/operations/deletedServers.ts new file mode 100644 index 000000000000..e46025cf3693 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/deletedServers.ts @@ -0,0 +1,423 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DeletedServers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + DeletedServer, + DeletedServersListNextOptionalParams, + DeletedServersListOptionalParams, + DeletedServersListByLocationNextOptionalParams, + DeletedServersListByLocationOptionalParams, + DeletedServersListResponse, + DeletedServersGetOptionalParams, + DeletedServersGetResponse, + DeletedServersListByLocationResponse, + DeletedServersRecoverOptionalParams, + DeletedServersRecoverResponse, + DeletedServersListNextResponse, + DeletedServersListByLocationNextResponse +} from "../models"; + +/// +/** Class containing DeletedServers operations. */ +export class DeletedServersImpl implements DeletedServers { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class DeletedServers class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of all deleted servers in a subscription. + * @param options The options parameters. + */ + public list( + options?: DeletedServersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: DeletedServersListOptionalParams + ): 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?: DeletedServersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Gets a list of deleted servers for a location. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + public listByLocation( + locationName: string, + options?: DeletedServersListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll(locationName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage(locationName, options); + } + }; + } + + private async *listByLocationPagingPage( + locationName: string, + options?: DeletedServersListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation(locationName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( + locationName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + locationName: string, + options?: DeletedServersListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage( + locationName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of all deleted servers in a subscription. + * @param options The options parameters. + */ + private _list( + options?: DeletedServersListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Gets a deleted server. + * @param locationName The name of the region where the resource is located. + * @param deletedServerName The name of the deleted server. + * @param options The options parameters. + */ + get( + locationName: string, + deletedServerName: string, + options?: DeletedServersGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, deletedServerName, options }, + getOperationSpec + ); + } + + /** + * Gets a list of deleted servers for a location. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + private _listByLocation( + locationName: string, + options?: DeletedServersListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, options }, + listByLocationOperationSpec + ); + } + + /** + * Recovers a deleted server. + * @param locationName The name of the region where the resource is located. + * @param deletedServerName The name of the deleted server. + * @param options The options parameters. + */ + async beginRecover( + locationName: string, + deletedServerName: string, + options?: DeletedServersRecoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DeletedServersRecoverResponse + > + > { + 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, + { locationName, deletedServerName, options }, + recoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Recovers a deleted server. + * @param locationName The name of the region where the resource is located. + * @param deletedServerName The name of the deleted server. + * @param options The options parameters. + */ + async beginRecoverAndWait( + locationName: string, + deletedServerName: string, + options?: DeletedServersRecoverOptionalParams + ): Promise { + const poller = await this.beginRecover( + locationName, + deletedServerName, + options + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: DeletedServersListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } + + /** + * ListByLocationNext + * @param locationName The name of the region where the resource is located. + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. + */ + private _listByLocationNext( + locationName: string, + nextLink: string, + options?: DeletedServersListByLocationNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, nextLink, options }, + listByLocationNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/deletedServers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DeletedServerListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/deletedServers/{deletedServerName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DeletedServer + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.deletedServerName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/deletedServers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DeletedServerListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const recoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/deletedServers/{deletedServerName}/recover", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.DeletedServer + }, + 201: { + bodyMapper: Mappers.DeletedServer + }, + 202: { + bodyMapper: Mappers.DeletedServer + }, + 204: { + bodyMapper: Mappers.DeletedServer + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.deletedServerName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DeletedServerListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByLocationNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DeletedServerListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/elasticPoolActivities.ts b/sdk/sql/arm-sql/src/operations/elasticPoolActivities.ts index 41b02ce1dc7a..607f9e918d95 100644 --- a/sdk/sql/arm-sql/src/operations/elasticPoolActivities.ts +++ b/sdk/sql/arm-sql/src/operations/elasticPoolActivities.ts @@ -1,26 +1,32 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/elasticPoolActivitiesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ElasticPoolActivities } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ElasticPoolActivity, + ElasticPoolActivitiesListByElasticPoolOptionalParams, + ElasticPoolActivitiesListByElasticPoolResponse +} from "../models"; -/** Class representing a ElasticPoolActivities. */ -export class ElasticPoolActivities { +/// +/** Class containing ElasticPoolActivities operations. */ +export class ElasticPoolActivitiesImpl implements ElasticPoolActivities { private readonly client: SqlManagementClientContext; /** - * Create a ElasticPoolActivities. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ElasticPoolActivities class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,68 +34,113 @@ export class ElasticPoolActivities { /** * Returns elastic pool activities. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool for which to get the current activity. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool for which to get the current activity. - * @param callback The callback - */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, callback: msRest.ServiceCallback): void; + public listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolActivitiesListByElasticPoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByElasticPoolPagingAll( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByElasticPoolPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + } + }; + } + + private async *listByElasticPoolPagingPage( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolActivitiesListByElasticPoolOptionalParams + ): AsyncIterableIterator { + let result = await this._listByElasticPool( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + yield result.value || []; + } + + private async *listByElasticPoolPagingAll( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolActivitiesListByElasticPoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByElasticPoolPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns elastic pool activities. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool for which to get the current activity. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolActivitiesListByElasticPoolOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - elasticPoolName, - options - }, - listByElasticPoolOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, elasticPoolName, options }, + listByElasticPoolOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByElasticPoolOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByElasticPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity", + responses: { + 200: { + bodyMapper: Mappers.ElasticPoolActivityListResult + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.elasticPoolName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ElasticPoolActivityListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/elasticPoolDatabaseActivities.ts b/sdk/sql/arm-sql/src/operations/elasticPoolDatabaseActivities.ts index 12a137296830..846fe1099506 100644 --- a/sdk/sql/arm-sql/src/operations/elasticPoolDatabaseActivities.ts +++ b/sdk/sql/arm-sql/src/operations/elasticPoolDatabaseActivities.ts @@ -1,26 +1,33 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/elasticPoolDatabaseActivitiesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ElasticPoolDatabaseActivities } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ElasticPoolDatabaseActivity, + ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams, + ElasticPoolDatabaseActivitiesListByElasticPoolResponse +} from "../models"; -/** Class representing a ElasticPoolDatabaseActivities. */ -export class ElasticPoolDatabaseActivities { +/// +/** Class containing ElasticPoolDatabaseActivities operations. */ +export class ElasticPoolDatabaseActivitiesImpl + implements ElasticPoolDatabaseActivities { private readonly client: SqlManagementClientContext; /** - * Create a ElasticPoolDatabaseActivities. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ElasticPoolDatabaseActivities class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,68 +35,113 @@ export class ElasticPoolDatabaseActivities { /** * Returns activity on databases inside of an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool. - * @param callback The callback - */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, callback: msRest.ServiceCallback): void; + public listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByElasticPoolPagingAll( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByElasticPoolPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + } + }; + } + + private async *listByElasticPoolPagingPage( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams + ): AsyncIterableIterator { + let result = await this._listByElasticPool( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + yield result.value || []; + } + + private async *listByElasticPoolPagingAll( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByElasticPoolPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns activity on databases inside of an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - elasticPoolName, - options - }, - listByElasticPoolOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, elasticPoolName, options }, + listByElasticPoolOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByElasticPoolOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByElasticPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity", + responses: { + 200: { + bodyMapper: Mappers.ElasticPoolDatabaseActivityListResult + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.elasticPoolName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ElasticPoolDatabaseActivityListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/elasticPoolOperations.ts b/sdk/sql/arm-sql/src/operations/elasticPoolOperations.ts index 049f74e667db..e6a3f3f5f2f8 100644 --- a/sdk/sql/arm-sql/src/operations/elasticPoolOperations.ts +++ b/sdk/sql/arm-sql/src/operations/elasticPoolOperations.ts @@ -1,212 +1,243 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/elasticPoolOperationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ElasticPoolOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ElasticPoolOperation, + ElasticPoolOperationsListByElasticPoolNextOptionalParams, + ElasticPoolOperationsListByElasticPoolOptionalParams, + ElasticPoolOperationsCancelOptionalParams, + ElasticPoolOperationsListByElasticPoolResponse, + ElasticPoolOperationsListByElasticPoolNextResponse +} from "../models"; -/** Class representing a ElasticPoolOperations. */ -export class ElasticPoolOperations { +/// +/** Class containing ElasticPoolOperations operations. */ +export class ElasticPoolOperationsImpl implements ElasticPoolOperations { private readonly client: SqlManagementClientContext; /** - * Create a ElasticPoolOperations. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ElasticPoolOperations class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Cancels the asynchronous operation on the elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName - * @param operationId The operation identifier. - * @param [options] The optional parameters - * @returns Promise - */ - cancel(resourceGroupName: string, serverName: string, elasticPoolName: string, operationId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName - * @param operationId The operation identifier. - * @param callback The callback - */ - cancel(resourceGroupName: string, serverName: string, elasticPoolName: string, operationId: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of operations performed on the elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName - * @param operationId The operation identifier. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - cancel(resourceGroupName: string, serverName: string, elasticPoolName: string, operationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - cancel(resourceGroupName: string, serverName: string, elasticPoolName: string, operationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolOperationsListByElasticPoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByElasticPoolPagingAll( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByElasticPoolPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + } + }; + } + + private async *listByElasticPoolPagingPage( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolOperationsListByElasticPoolOptionalParams + ): AsyncIterableIterator { + let result = await this._listByElasticPool( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByElasticPoolNext( resourceGroupName, serverName, elasticPoolName, - operationId, + continuationToken, options - }, - cancelOperationSpec, - callback); + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByElasticPoolPagingAll( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolOperationsListByElasticPoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByElasticPoolPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + )) { + yield* page; + } } /** - * Gets a list of operations performed on the elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName - * @param [options] The optional parameters - * @returns Promise - */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Cancels the asynchronous operation on the elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName - * @param callback The callback + * @param operationId The operation identifier. + * @param options The options parameters. */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, callback: msRest.ServiceCallback): void; + cancel( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + operationId: string, + options?: ElasticPoolOperationsCancelOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, elasticPoolName, operationId, options }, + cancelOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of operations performed on the elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolOperationsListByElasticPoolOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - elasticPoolName, - options - }, - listByElasticPoolOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, elasticPoolName, options }, + listByElasticPoolOperationSpec + ); } /** - * Gets a list of operations performed on the elastic pool. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByElasticPoolNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByElasticPoolNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByElasticPoolNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName + * @param nextLink The nextLink from the previous successful call to the ListByElasticPool method. + * @param options The options parameters. */ - listByElasticPoolNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByElasticPoolNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByElasticPoolNext( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + nextLink: string, + options?: ElasticPoolOperationsListByElasticPoolNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByElasticPoolNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, elasticPoolName, nextLink, options }, + listByElasticPoolNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const cancelOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const cancelOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.elasticPoolName, - Parameters.operationId, - Parameters.subscriptionId + Parameters.operationId ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByElasticPoolOperationSpec: msRest.OperationSpec = { +const listByElasticPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.elasticPoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ElasticPoolOperationListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.elasticPoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByElasticPoolNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByElasticPoolNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ElasticPoolOperationListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.elasticPoolName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/elasticPools.ts b/sdk/sql/arm-sql/src/operations/elasticPools.ts index 44ed8f424f87..b096e89a3695 100644 --- a/sdk/sql/arm-sql/src/operations/elasticPools.ts +++ b/sdk/sql/arm-sql/src/operations/elasticPools.ts @@ -1,27 +1,51 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/elasticPoolsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ElasticPools } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Metric, + ElasticPoolsListMetricsOptionalParams, + MetricDefinition, + ElasticPoolsListMetricDefinitionsOptionalParams, + ElasticPool, + ElasticPoolsListByServerNextOptionalParams, + ElasticPoolsListByServerOptionalParams, + ElasticPoolsListMetricsResponse, + ElasticPoolsListMetricDefinitionsResponse, + ElasticPoolsListByServerResponse, + ElasticPoolsGetOptionalParams, + ElasticPoolsGetResponse, + ElasticPoolsCreateOrUpdateOptionalParams, + ElasticPoolsCreateOrUpdateResponse, + ElasticPoolsDeleteOptionalParams, + ElasticPoolUpdate, + ElasticPoolsUpdateOptionalParams, + ElasticPoolsUpdateResponse, + ElasticPoolsFailoverOptionalParams, + ElasticPoolsListByServerNextResponse +} from "../models"; -/** Class representing a ElasticPools. */ -export class ElasticPools { +/// +/** Class containing ElasticPools operations. */ +export class ElasticPoolsImpl implements ElasticPools { private readonly client: SqlManagementClientContext; /** - * Create a ElasticPools. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ElasticPools class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,464 +53,778 @@ export class ElasticPools { /** * Returns elastic pool metrics. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. * @param filter An OData filter expression that describes a subset of metrics to return. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listMetrics(resourceGroupName: string, serverName: string, elasticPoolName: string, filter: string, options?: msRest.RequestOptionsBase): Promise; + public listMetrics( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + filter: string, + options?: ElasticPoolsListMetricsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMetricsPagingAll( + resourceGroupName, + serverName, + elasticPoolName, + filter, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMetricsPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + filter, + options + ); + } + }; + } + + private async *listMetricsPagingPage( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + filter: string, + options?: ElasticPoolsListMetricsOptionalParams + ): AsyncIterableIterator { + let result = await this._listMetrics( + resourceGroupName, + serverName, + elasticPoolName, + filter, + options + ); + yield result.value || []; + } + + private async *listMetricsPagingAll( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + filter: string, + options?: ElasticPoolsListMetricsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMetricsPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + filter, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns elastic pool metric definitions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param filter An OData filter expression that describes a subset of metrics to return. - * @param callback The callback + * @param options The options parameters. */ - listMetrics(resourceGroupName: string, serverName: string, elasticPoolName: string, filter: string, callback: msRest.ServiceCallback): void; + public listMetricDefinitions( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsListMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMetricDefinitionsPagingAll( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMetricDefinitionsPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + } + }; + } + + private async *listMetricDefinitionsPagingPage( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsListMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + let result = await this._listMetricDefinitions( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + yield result.value || []; + } + + private async *listMetricDefinitionsPagingAll( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsListMetricDefinitionsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMetricDefinitionsPagingPage( + resourceGroupName, + serverName, + elasticPoolName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets all elastic pools in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool. - * @param filter An OData filter expression that describes a subset of metrics to return. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listMetrics(resourceGroupName: string, serverName: string, elasticPoolName: string, filter: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listMetrics(resourceGroupName: string, serverName: string, elasticPoolName: string, filter: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ElasticPoolsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ElasticPoolsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, - elasticPoolName, - filter, + continuationToken, options - }, - listMetricsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ElasticPoolsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Returns elastic pool metric definitions. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool. - * @param [options] The optional parameters - * @returns Promise - */ - listMetricDefinitions(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns elastic pool metrics. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param callback The callback + * @param filter An OData filter expression that describes a subset of metrics to return. + * @param options The options parameters. */ - listMetricDefinitions(resourceGroupName: string, serverName: string, elasticPoolName: string, callback: msRest.ServiceCallback): void; + private _listMetrics( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + filter: string, + options?: ElasticPoolsListMetricsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, elasticPoolName, filter, options }, + listMetricsOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns elastic pool metric definitions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listMetricDefinitions(resourceGroupName: string, serverName: string, elasticPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listMetricDefinitions(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listMetricDefinitions( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsListMetricDefinitionsOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - elasticPoolName, - options - }, - listMetricDefinitionsOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, elasticPoolName, options }, + listMetricDefinitionsOperationSpec + ); } /** * Gets all elastic pools in a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: Models.ElasticPoolsListByServerOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: Models.ElasticPoolsListByServerOptionalParams, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: Models.ElasticPoolsListByServerOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ElasticPoolsListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** * Gets an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, elasticPoolName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, elasticPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - elasticPoolName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, elasticPoolName, options }, + getOperationSpec + ); } /** * Creates or updates an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. * @param parameters The elastic pool parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: Models.ElasticPool, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,elasticPoolName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + parameters: ElasticPool, + options?: ElasticPoolsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ElasticPoolsCreateOrUpdateResponse + > + > { + 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, serverName, elasticPoolName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Deletes an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The elastic pool parameters. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,elasticPoolName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + parameters: ElasticPool, + options?: ElasticPoolsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + elasticPoolName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Updates an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param parameters The elastic pool update parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: Models.ElasticPoolUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,elasticPoolName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginDelete( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsDeleteOptionalParams + ): 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() + } + }; + }; - /** - * Failovers an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param elasticPoolName The name of the elastic pool to failover. - * @param [options] The optional parameters - * @returns Promise - */ - failover(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginFailover(resourceGroupName,serverName,elasticPoolName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serverName, elasticPoolName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Creates or updates an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param parameters The elastic pool parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: Models.ElasticPool, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - elasticPoolName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + return poller.pollUntilDone(); } /** - * Deletes an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The elastic pool update parameters. + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - elasticPoolName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginUpdate( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + parameters: ElasticPoolUpdate, + options?: ElasticPoolsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ElasticPoolsUpdateResponse + > + > { + 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, serverName, elasticPoolName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Updates an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool. * @param parameters The elastic pool update parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: Models.ElasticPoolUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - elasticPoolName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + parameters: ElasticPoolUpdate, + options?: ElasticPoolsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + elasticPoolName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Failovers an elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param elasticPoolName The name of the elastic pool to failover. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginFailover(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - elasticPoolName, - options - }, - beginFailoverOperationSpec, - options); + async beginFailover( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsFailoverOptionalParams + ): 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, serverName, elasticPoolName, options }, + failoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets all elastic pools in a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Failovers an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool to failover. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginFailoverAndWait( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsFailoverOptionalParams + ): Promise { + const poller = await this.beginFailover( + resourceGroupName, + serverName, + elasticPoolName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ElasticPoolsListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listMetricsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listMetricsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.elasticPoolName - ], - queryParameters: [ - Parameters.apiVersion0, - Parameters.filter0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.MetricListResult - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listMetricDefinitionsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions", + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.elasticPoolName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listMetricDefinitionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.MetricDefinitionListResult - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.skip, - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.elasticPoolName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ElasticPoolListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", + queryParameters: [Parameters.skip, Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.elasticPoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ElasticPool }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.elasticPoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.elasticPoolName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ElasticPool, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ElasticPool @@ -494,116 +832,106 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ElasticPool }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.ElasticPool + }, + 204: { + bodyMapper: Mappers.ElasticPool + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", + requestBody: Parameters.parameters9, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.elasticPoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.elasticPoolName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.elasticPoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.elasticPoolName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ElasticPoolUpdate, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.ElasticPool }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ElasticPool + }, + 202: { + bodyMapper: Mappers.ElasticPool + }, + 204: { + bodyMapper: Mappers.ElasticPool + }, + default: {} }, + requestBody: Parameters.parameters10, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.elasticPoolName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginFailoverOperationSpec: msRest.OperationSpec = { +const failoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/failover", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/failover", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.elasticPoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.elasticPoolName ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ElasticPoolListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.skip, Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/encryptionProtectors.ts b/sdk/sql/arm-sql/src/operations/encryptionProtectors.ts index bc5c040d3f2c..f4cc50938419 100644 --- a/sdk/sql/arm-sql/src/operations/encryptionProtectors.ts +++ b/sdk/sql/arm-sql/src/operations/encryptionProtectors.ts @@ -1,327 +1,475 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/encryptionProtectorsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { EncryptionProtectors } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + EncryptionProtector, + EncryptionProtectorsListByServerNextOptionalParams, + EncryptionProtectorsListByServerOptionalParams, + EncryptionProtectorsListByServerResponse, + EncryptionProtectorName, + EncryptionProtectorsGetOptionalParams, + EncryptionProtectorsGetResponse, + EncryptionProtectorsCreateOrUpdateOptionalParams, + EncryptionProtectorsCreateOrUpdateResponse, + EncryptionProtectorsRevalidateOptionalParams, + EncryptionProtectorsListByServerNextResponse +} from "../models"; -/** Class representing a EncryptionProtectors. */ -export class EncryptionProtectors { +/// +/** Class containing EncryptionProtectors operations. */ +export class EncryptionProtectorsImpl implements EncryptionProtectors { private readonly client: SqlManagementClientContext; /** - * Create a EncryptionProtectors. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class EncryptionProtectors class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Revalidates an existing encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of server encryption protectors + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - revalidate(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginRevalidate(resourceGroupName,serverName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + public listByServer( + resourceGroupName: string, + serverName: string, + options?: EncryptionProtectorsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; } - /** - * Gets a list of server encryption protectors - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: EncryptionProtectorsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, + continuationToken, options - }, - listByServerOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: EncryptionProtectorsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Gets a server encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of server encryption protectors + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: EncryptionProtectorsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a server encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param encryptionProtectorName The name of the encryption protector to be retrieved. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: EncryptionProtectorsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, encryptionProtectorName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param parameters The requested encryption protector resource state. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + parameters: EncryptionProtector, + options?: EncryptionProtectorsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + EncryptionProtectorsCreateOrUpdateResponse + > + > { + 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, serverName, + encryptionProtectorName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Updates an existing encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. + * @param encryptionProtectorName The name of the encryption protector to be updated. * @param parameters The requested encryption protector resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.EncryptionProtector, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + parameters: EncryptionProtector, + options?: EncryptionProtectorsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + encryptionProtectorName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Revalidates an existing encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param options The options parameters. */ - beginRevalidate(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - options - }, - beginRevalidateOperationSpec, - options); + async beginRevalidate( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: EncryptionProtectorsRevalidateOptionalParams + ): 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, serverName, encryptionProtectorName, options }, + revalidateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Updates an existing encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Revalidates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param parameters The requested encryption protector resource state. - * @param [options] The optional parameters - * @returns Promise + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.EncryptionProtector, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginRevalidateAndWait( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: EncryptionProtectorsRevalidateOptionalParams + ): Promise { + const poller = await this.beginRevalidate( + resourceGroupName, + serverName, + encryptionProtectorName, + options + ); + return poller.pollUntilDone(); } /** - * Gets a list of server encryption protectors - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: EncryptionProtectorsListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByServerOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.EncryptionProtectorListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", + responses: { + 200: { + bodyMapper: Mappers.EncryptionProtector + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.encryptionProtectorName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.encryptionProtectorName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.EncryptionProtector }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.EncryptionProtector + }, + 202: { + bodyMapper: Mappers.EncryptionProtector + }, + 204: { + bodyMapper: Mappers.EncryptionProtector + }, + default: {} }, - serializer -}; - -const beginRevalidateOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}/revalidate", + requestBody: Parameters.parameters24, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.encryptionProtectorName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 + Parameters.encryptionProtectorName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", +const revalidateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}/revalidate", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.encryptionProtectorName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 + Parameters.encryptionProtectorName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.EncryptionProtector, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.EncryptionProtector - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.EncryptionProtectorListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/extendedDatabaseBlobAuditingPolicies.ts b/sdk/sql/arm-sql/src/operations/extendedDatabaseBlobAuditingPolicies.ts index 4e0fc83f296f..2fe4085081fb 100644 --- a/sdk/sql/arm-sql/src/operations/extendedDatabaseBlobAuditingPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/extendedDatabaseBlobAuditingPolicies.ts @@ -1,176 +1,300 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/extendedDatabaseBlobAuditingPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ExtendedDatabaseBlobAuditingPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ExtendedDatabaseBlobAuditingPolicy, + ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams, + ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams, + ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams, + ExtendedDatabaseBlobAuditingPoliciesGetResponse, + ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams, + ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateResponse, + ExtendedDatabaseBlobAuditingPoliciesListByDatabaseResponse, + ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextResponse +} from "../models"; -/** Class representing a ExtendedDatabaseBlobAuditingPolicies. */ -export class ExtendedDatabaseBlobAuditingPolicies { +/// +/** Class containing ExtendedDatabaseBlobAuditingPolicies operations. */ +export class ExtendedDatabaseBlobAuditingPoliciesImpl + implements ExtendedDatabaseBlobAuditingPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ExtendedDatabaseBlobAuditingPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ExtendedDatabaseBlobAuditingPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets an extended database's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists extended auditing settings of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets an extended database's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + getOperationSpec + ); } /** * Creates or updates an extended database's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param parameters The extended database blob auditing policy. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ExtendedDatabaseBlobAuditingPolicy, options?: msRest.RequestOptionsBase): Promise; + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ExtendedDatabaseBlobAuditingPolicy, + options?: ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, parameters, options }, + createOrUpdateOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists extended auditing settings of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The extended database blob auditing policy. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ExtendedDatabaseBlobAuditingPolicy, callback: msRest.ServiceCallback): void; + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The extended database blob auditing policy. - * @param options The optional parameters - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ExtendedDatabaseBlobAuditingPolicy, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.ExtendedDatabaseBlobAuditingPolicy, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - createOrUpdateOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/{blobAuditingPolicyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/{blobAuditingPolicyName}", + responses: { + 200: { + bodyMapper: Mappers.ExtendedDatabaseBlobAuditingPolicy + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.blobAuditingPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.blobAuditingPolicyName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/{blobAuditingPolicyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ExtendedDatabaseBlobAuditingPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ExtendedDatabaseBlobAuditingPolicy + }, + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/{blobAuditingPolicyName}", + requestBody: Parameters.parameters14, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.blobAuditingPolicyName, - Parameters.subscriptionId + Parameters.blobAuditingPolicyName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ExtendedDatabaseBlobAuditingPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ExtendedDatabaseBlobAuditingPolicy + bodyMapper: Mappers.ExtendedDatabaseBlobAuditingPolicyListResult }, - 201: { - bodyMapper: Mappers.ExtendedDatabaseBlobAuditingPolicy + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ExtendedDatabaseBlobAuditingPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/extendedServerBlobAuditingPolicies.ts b/sdk/sql/arm-sql/src/operations/extendedServerBlobAuditingPolicies.ts index 20f1bd98df01..3e4cf8b03360 100644 --- a/sdk/sql/arm-sql/src/operations/extendedServerBlobAuditingPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/extendedServerBlobAuditingPolicies.ts @@ -1,161 +1,361 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/extendedServerBlobAuditingPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ExtendedServerBlobAuditingPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ExtendedServerBlobAuditingPolicy, + ExtendedServerBlobAuditingPoliciesListByServerNextOptionalParams, + ExtendedServerBlobAuditingPoliciesListByServerOptionalParams, + ExtendedServerBlobAuditingPoliciesGetOptionalParams, + ExtendedServerBlobAuditingPoliciesGetResponse, + ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams, + ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse, + ExtendedServerBlobAuditingPoliciesListByServerResponse, + ExtendedServerBlobAuditingPoliciesListByServerNextResponse +} from "../models"; -/** Class representing a ExtendedServerBlobAuditingPolicies. */ -export class ExtendedServerBlobAuditingPolicies { +/// +/** Class containing ExtendedServerBlobAuditingPolicies operations. */ +export class ExtendedServerBlobAuditingPoliciesImpl + implements ExtendedServerBlobAuditingPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ExtendedServerBlobAuditingPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ExtendedServerBlobAuditingPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets an extended server's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists extended auditing settings of a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ExtendedServerBlobAuditingPoliciesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ExtendedServerBlobAuditingPoliciesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ExtendedServerBlobAuditingPoliciesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets an extended server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + options?: ExtendedServerBlobAuditingPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + getOperationSpec + ); } /** * Creates or updates an extended server's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param parameters Properties of extended blob auditing policy - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ExtendedServerBlobAuditingPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + parameters: ExtendedServerBlobAuditingPolicy, + options?: ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse + >, + ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse + > + > { + 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, serverName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates an extended server's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param parameters Properties of extended blob auditing policy - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ExtendedServerBlobAuditingPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ExtendedServerBlobAuditingPolicy, + options?: ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + parameters, + options + ); + return poller.pollUntilDone(); } -} + /** + * Lists extended auditing settings of a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ExtendedServerBlobAuditingPoliciesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ExtendedServerBlobAuditingPoliciesListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/{blobAuditingPolicyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/{blobAuditingPolicyName}", + responses: { + 200: { + bodyMapper: Mappers.ExtendedServerBlobAuditingPolicy + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.blobAuditingPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.blobAuditingPolicyName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/{blobAuditingPolicyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ExtendedServerBlobAuditingPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ExtendedServerBlobAuditingPolicy + }, + 202: { + bodyMapper: Mappers.ExtendedServerBlobAuditingPolicy + }, + 204: { + bodyMapper: Mappers.ExtendedServerBlobAuditingPolicy + }, + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/{blobAuditingPolicyName}", + requestBody: Parameters.parameters15, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.blobAuditingPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.blobAuditingPolicyName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ExtendedServerBlobAuditingPolicy, - required: true - } + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ExtendedServerBlobAuditingPolicyListResult + }, + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ExtendedServerBlobAuditingPolicy + bodyMapper: Mappers.ExtendedServerBlobAuditingPolicyListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/failoverGroups.ts b/sdk/sql/arm-sql/src/operations/failoverGroups.ts index 6d848d2f2018..c9d15ed9db8b 100644 --- a/sdk/sql/arm-sql/src/operations/failoverGroups.ts +++ b/sdk/sql/arm-sql/src/operations/failoverGroups.ts @@ -1,393 +1,676 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/failoverGroupsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { FailoverGroups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + FailoverGroup, + FailoverGroupsListByServerNextOptionalParams, + FailoverGroupsListByServerOptionalParams, + FailoverGroupsGetOptionalParams, + FailoverGroupsGetResponse, + FailoverGroupsCreateOrUpdateOptionalParams, + FailoverGroupsCreateOrUpdateResponse, + FailoverGroupsDeleteOptionalParams, + FailoverGroupUpdate, + FailoverGroupsUpdateOptionalParams, + FailoverGroupsUpdateResponse, + FailoverGroupsListByServerResponse, + FailoverGroupsFailoverOptionalParams, + FailoverGroupsFailoverResponse, + FailoverGroupsForceFailoverAllowDataLossOptionalParams, + FailoverGroupsForceFailoverAllowDataLossResponse, + FailoverGroupsListByServerNextResponse +} from "../models"; -/** Class representing a FailoverGroups. */ -export class FailoverGroups { +/// +/** Class containing FailoverGroups operations. */ +export class FailoverGroupsImpl implements FailoverGroups { private readonly client: SqlManagementClientContext; /** - * Create a FailoverGroups. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class FailoverGroups class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server containing the failover group. - * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server containing the failover group. - * @param failoverGroupName The name of the failover group. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, failoverGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the failover groups in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. - * @param failoverGroupName The name of the failover group. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, failoverGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: FailoverGroupsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: FailoverGroupsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, - failoverGroupName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: FailoverGroupsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Creates or updates a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. - * @param parameters The failover group parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: Models.FailoverGroup, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,failoverGroupName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + get( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, failoverGroupName, options }, + getOperationSpec + ); } /** - * Deletes a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The failover group parameters. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,failoverGroupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + parameters: FailoverGroup, + options?: FailoverGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FailoverGroupsCreateOrUpdateResponse + > + > { + 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, serverName, failoverGroupName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Updates a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. * @param parameters The failover group parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: Models.FailoverGroupUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,failoverGroupName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + parameters: FailoverGroup, + options?: FailoverGroupsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + failoverGroupName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Lists the failover groups in a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server containing the failover group. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server containing the failover group. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. - * @param options The optional parameters - * @param callback The callback + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + async beginDelete( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsDeleteOptionalParams + ): 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, serverName, failoverGroupName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Fails over from the current primary server to this server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - failover(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginFailover(resourceGroupName,serverName,failoverGroupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + failoverGroupName, + options + ); + return poller.pollUntilDone(); } /** - * Fails over from the current primary server to this server. This operation might result in data - * loss. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The failover group parameters. + * @param options The options parameters. */ - forceFailoverAllowDataLoss(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginForceFailoverAllowDataLoss(resourceGroupName,serverName,failoverGroupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginUpdate( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + parameters: FailoverGroupUpdate, + options?: FailoverGroupsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FailoverGroupsUpdateResponse + > + > { + 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, serverName, failoverGroupName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Creates or updates a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. * @param parameters The failover group parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: Models.FailoverGroup, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - failoverGroupName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + parameters: FailoverGroupUpdate, + options?: FailoverGroupsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + failoverGroupName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Deletes a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the failover groups in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. - * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - failoverGroupName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: FailoverGroupsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Updates a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Fails over from the current primary server to this server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. - * @param parameters The failover group parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: Models.FailoverGroupUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - failoverGroupName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginFailover( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FailoverGroupsFailoverResponse + > + > { + 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, serverName, failoverGroupName, options }, + failoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Fails over from the current primary server to this server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginFailover(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - failoverGroupName, - options - }, - beginFailoverOperationSpec, - options); + async beginFailoverAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsFailoverOptionalParams + ): Promise { + const poller = await this.beginFailover( + resourceGroupName, + serverName, + failoverGroupName, + options + ); + return poller.pollUntilDone(); } /** - * Fails over from the current primary server to this server. This operation might result in data - * loss. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Fails over from the current primary server to this server. This operation might result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server containing the failover group. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginForceFailoverAllowDataLoss(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - failoverGroupName, - options - }, - beginForceFailoverAllowDataLossOperationSpec, - options); + async beginForceFailoverAllowDataLoss( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsForceFailoverAllowDataLossOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FailoverGroupsForceFailoverAllowDataLossResponse + > + > { + 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, serverName, failoverGroupName, options }, + forceFailoverAllowDataLossOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists the failover groups in a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Fails over from the current primary server to this server. This operation might result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginForceFailoverAllowDataLossAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsForceFailoverAllowDataLossOptionalParams + ): Promise { + const poller = await this.beginForceFailoverAllowDataLoss( + resourceGroupName, + serverName, + failoverGroupName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: FailoverGroupsListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.FailoverGroup }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId + Parameters.failoverGroupName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.FailoverGroupListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.FailoverGroup, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.FailoverGroup @@ -395,145 +678,171 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.FailoverGroup }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.FailoverGroup + }, + 204: { + bodyMapper: Mappers.FailoverGroup + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", + requestBody: Parameters.parameters25, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 + Parameters.failoverGroupName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.failoverGroupName, - Parameters.subscriptionId + Parameters.failoverGroupName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.FailoverGroupUpdate, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.FailoverGroup }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.FailoverGroup + }, + 202: { + bodyMapper: Mappers.FailoverGroup + }, + 204: { + bodyMapper: Mappers.FailoverGroup + }, + default: {} }, - serializer -}; - -const beginFailoverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover", + requestBody: Parameters.parameters26, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.failoverGroupName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.FailoverGroup + bodyMapper: Mappers.FailoverGroupListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginForceFailoverAllowDataLossOperationSpec: msRest.OperationSpec = { +const failoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", + responses: { + 200: { + bodyMapper: Mappers.FailoverGroup + }, + 201: { + bodyMapper: Mappers.FailoverGroup + }, + 202: { + bodyMapper: Mappers.FailoverGroup + }, + 204: { + bodyMapper: Mappers.FailoverGroup + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.failoverGroupName ], + headerParameters: [Parameters.accept], + serializer +}; +const forceFailoverAllowDataLossOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.FailoverGroup }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.FailoverGroup + }, + 202: { + bodyMapper: Mappers.FailoverGroup + }, + 204: { + bodyMapper: Mappers.FailoverGroup + }, + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.failoverGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.FailoverGroupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/firewallRules.ts b/sdk/sql/arm-sql/src/operations/firewallRules.ts index af4cf9ddac0c..557d28990b3b 100644 --- a/sdk/sql/arm-sql/src/operations/firewallRules.ts +++ b/sdk/sql/arm-sql/src/operations/firewallRules.ts @@ -1,212 +1,267 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/firewallRulesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { FirewallRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + FirewallRule, + FirewallRulesListByServerNextOptionalParams, + FirewallRulesListByServerOptionalParams, + FirewallRulesGetOptionalParams, + FirewallRulesGetResponse, + FirewallRulesCreateOrUpdateOptionalParams, + FirewallRulesCreateOrUpdateResponse, + FirewallRulesDeleteOptionalParams, + FirewallRulesListByServerResponse, + FirewallRuleList, + FirewallRulesReplaceOptionalParams, + FirewallRulesReplaceResponse, + FirewallRulesListByServerNextResponse +} from "../models"; -/** Class representing a FirewallRules. */ -export class FirewallRules { +/// +/** Class containing FirewallRules operations. */ +export class FirewallRulesImpl implements FirewallRules { private readonly client: SqlManagementClientContext; /** - * Create a FirewallRules. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class FirewallRules class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Creates or updates a firewall rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param firewallRuleName The name of the firewall rule. - * @param parameters The required parameters for creating or updating a firewall rule. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: Models.FirewallRule, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of firewall rules. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param firewallRuleName The name of the firewall rule. - * @param parameters The required parameters for creating or updating a firewall rule. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: Models.FirewallRule, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param firewallRuleName The name of the firewall rule. - * @param parameters The required parameters for creating or updating a firewall rule. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: Models.FirewallRule, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: Models.FirewallRule, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - firewallRuleName, - parameters, - options + public listByServer( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); }, - createOrUpdateOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; } - /** - * Deletes a firewall rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param firewallRuleName The name of the firewall rule. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param firewallRuleName The name of the firewall rule. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, firewallRuleName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param firewallRuleName The name of the firewall rule. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, firewallRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, - firewallRuleName, + continuationToken, options - }, - deleteMethodOperationSpec, - callback); + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** * Gets a firewall rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param firewallRuleName The name of the firewall rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: msRest.RequestOptionsBase): Promise; + get( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, firewallRuleName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a firewall rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param firewallRuleName The name of the firewall rule. - * @param callback The callback + * @param parameters The required parameters for creating or updating a firewall rule. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, firewallRuleName: string, callback: msRest.ServiceCallback): void; + createOrUpdate( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + parameters: FirewallRule, + options?: FirewallRulesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, firewallRuleName, parameters, options }, + createOrUpdateOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a firewall rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param firewallRuleName The name of the firewall rule. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, firewallRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - firewallRuleName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, firewallRuleName, options }, + deleteOperationSpec + ); } /** - * Returns a list of firewall rules. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of firewall rules. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Replaces all firewall rules on the server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param parameters A list of server firewall rules. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + replace( + resourceGroupName: string, + serverName: string, + parameters: FirewallRuleList, + options?: FirewallRulesReplaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, parameters, options }, + replaceOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: FirewallRulesListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.FirewallRule + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.firewallRuleName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.FirewallRule, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.FirewallRule @@ -214,85 +269,96 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.FirewallRule }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters27, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.firewallRuleName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.firewallRuleName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", + responses: { + 200: { + bodyMapper: Mappers.FirewallRuleListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.firewallRuleName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const replaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.FirewallRule }, - default: { - bodyMapper: Mappers.CloudError - } + 202: {}, + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules", + requestBody: Parameters.parameters28, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.FirewallRuleListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/geoBackupPolicies.ts b/sdk/sql/arm-sql/src/operations/geoBackupPolicies.ts index 661201b459fb..efc55b742b75 100644 --- a/sdk/sql/arm-sql/src/operations/geoBackupPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/geoBackupPolicies.ts @@ -1,241 +1,257 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/geoBackupPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { GeoBackupPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + GeoBackupPolicy, + GeoBackupPoliciesListByDatabaseOptionalParams, + GeoBackupPolicyName, + GeoBackupPoliciesCreateOrUpdateOptionalParams, + GeoBackupPoliciesCreateOrUpdateResponse, + GeoBackupPoliciesGetOptionalParams, + GeoBackupPoliciesGetResponse, + GeoBackupPoliciesListByDatabaseResponse +} from "../models"; -/** Class representing a GeoBackupPolicies. */ -export class GeoBackupPolicies { +/// +/** Class containing GeoBackupPolicies operations. */ +export class GeoBackupPoliciesImpl implements GeoBackupPolicies { private readonly client: SqlManagementClientContext; /** - * Create a GeoBackupPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class GeoBackupPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Updates a database geo backup policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param parameters The required parameters for creating or updating the geo backup policy. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.GeoBackupPolicy, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns a list of geo backup policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The required parameters for creating or updating the geo backup policy. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.GeoBackupPolicy, callback: msRest.ServiceCallback): void; + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: GeoBackupPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: GeoBackupPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: GeoBackupPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates a database geo backup policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. + * @param geoBackupPolicyName The name of the geo backup policy. * @param parameters The required parameters for creating or updating the geo backup policy. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.GeoBackupPolicy, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.GeoBackupPolicy, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + geoBackupPolicyName: GeoBackupPolicyName, + parameters: GeoBackupPolicy, + options?: GeoBackupPoliciesCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + geoBackupPolicyName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Gets a geo backup policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param geoBackupPolicyName The name of the geo backup policy. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + geoBackupPolicyName: GeoBackupPolicyName, + options?: GeoBackupPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + geoBackupPolicyName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Returns a list of geo backup policies. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: GeoBackupPoliciesListByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const createOrUpdateOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.geoBackupPolicyName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.GeoBackupPolicy, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.GeoBackupPolicy }, 201: { bodyMapper: Mappers.GeoBackupPolicy - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", + requestBody: Parameters.parameters3, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.geoBackupPolicyName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.GeoBackupPolicy - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName, + Parameters.geoBackupPolicyName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.GeoBackupPolicyListResult - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/index.ts b/sdk/sql/arm-sql/src/operations/index.ts index d044e4c4439f..7ae6d5a235a9 100644 --- a/sdk/sql/arm-sql/src/operations/index.ts +++ b/sdk/sql/arm-sql/src/operations/index.ts @@ -1,53 +1,48 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export * from "./recoverableDatabases"; -export * from "./restorableDroppedDatabases"; -export * from "./servers"; export * from "./serverConnectionPolicies"; -export * from "./databaseThreatDetectionPolicies"; export * from "./dataMaskingPolicies"; export * from "./dataMaskingRules"; -export * from "./firewallRules"; export * from "./geoBackupPolicies"; export * from "./databases"; export * from "./elasticPools"; -export * from "./recommendedElasticPools"; export * from "./replicationLinks"; -export * from "./serverAzureADAdministrators"; export * from "./serverCommunicationLinks"; export * from "./serviceObjectives"; export * from "./elasticPoolActivities"; export * from "./elasticPoolDatabaseActivities"; -export * from "./serviceTierAdvisors"; export * from "./transparentDataEncryptions"; export * from "./transparentDataEncryptionActivities"; export * from "./serverUsages"; -export * from "./databaseUsages"; -export * from "./databaseAutomaticTuningOperations"; -export * from "./encryptionProtectors"; -export * from "./failoverGroups"; -export * from "./operations"; -export * from "./serverKeys"; -export * from "./syncAgents"; -export * from "./syncGroups"; -export * from "./syncMembers"; -export * from "./subscriptionUsages"; -export * from "./virtualClusters"; -export * from "./virtualNetworkRules"; export * from "./extendedDatabaseBlobAuditingPolicies"; export * from "./extendedServerBlobAuditingPolicies"; export * from "./serverBlobAuditingPolicies"; export * from "./databaseBlobAuditingPolicies"; +export * from "./databaseAdvisors"; +export * from "./databaseAutomaticTuningOperations"; +export * from "./databaseColumns"; +export * from "./databaseRecommendedActions"; +export * from "./databaseSchemas"; +export * from "./databaseSecurityAlertPolicies"; +export * from "./databaseTables"; export * from "./databaseVulnerabilityAssessmentRuleBaselines"; export * from "./databaseVulnerabilityAssessments"; +export * from "./databaseVulnerabilityAssessmentScans"; +export * from "./dataWarehouseUserActivitiesOperations"; +export * from "./deletedServers"; +export * from "./elasticPoolOperations"; +export * from "./encryptionProtectors"; +export * from "./failoverGroups"; +export * from "./firewallRules"; +export * from "./instanceFailoverGroups"; +export * from "./instancePools"; export * from "./jobAgents"; export * from "./jobCredentials"; export * from "./jobExecutions"; @@ -57,40 +52,77 @@ export * from "./jobSteps"; export * from "./jobTargetExecutions"; export * from "./jobTargetGroups"; export * from "./jobVersions"; +export * from "./capabilities"; export * from "./longTermRetentionBackups"; -export * from "./backupLongTermRetentionPolicies"; +export * from "./longTermRetentionManagedInstanceBackups"; +export * from "./longTermRetentionPolicies"; +export * from "./maintenanceWindowOptionsOperations"; +export * from "./maintenanceWindowsOperations"; export * from "./managedBackupShortTermRetentionPolicies"; -export * from "./managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies"; -export * from "./serverAutomaticTuningOperations"; -export * from "./serverDnsAliases"; -export * from "./serverSecurityAlertPolicies"; -export * from "./restorableDroppedManagedDatabases"; -export * from "./restorePoints"; +export * from "./managedDatabaseColumns"; +export * from "./managedDatabaseQueries"; +export * from "./managedDatabaseRestoreDetails"; +export * from "./managedDatabases"; +export * from "./managedDatabaseSchemas"; export * from "./managedDatabaseSecurityAlertPolicies"; -export * from "./managedServerSecurityAlertPolicies"; -export * from "./sensitivityLabels"; -export * from "./managedInstanceAdministrators"; -export * from "./databaseOperations"; -export * from "./elasticPoolOperations"; -export * from "./capabilities"; -export * from "./databaseVulnerabilityAssessmentScans"; +export * from "./managedDatabaseSecurityEvents"; +export * from "./managedDatabaseSensitivityLabels"; +export * from "./managedDatabaseRecommendedSensitivityLabels"; +export * from "./managedDatabaseTables"; +export * from "./managedDatabaseTransparentDataEncryption"; export * from "./managedDatabaseVulnerabilityAssessmentRuleBaselines"; -export * from "./managedDatabaseVulnerabilityAssessmentScans"; export * from "./managedDatabaseVulnerabilityAssessments"; -export * from "./instanceFailoverGroups"; -export * from "./backupShortTermRetentionPolicies"; -export * from "./tdeCertificates"; -export * from "./managedInstanceTdeCertificates"; -export * from "./managedInstanceKeys"; +export * from "./managedDatabaseVulnerabilityAssessmentScans"; +export * from "./managedInstanceAdministrators"; +export * from "./managedInstanceAzureADOnlyAuthentications"; export * from "./managedInstanceEncryptionProtectors"; -export * from "./recoverableManagedDatabases"; -export * from "./managedInstanceVulnerabilityAssessments"; -export * from "./serverVulnerabilityAssessments"; -export * from "./managedDatabaseSensitivityLabels"; -export * from "./instancePools"; -export * from "./usages"; +export * from "./managedInstanceKeys"; +export * from "./managedInstanceLongTermRetentionPolicies"; +export * from "./managedInstanceOperations"; +export * from "./managedInstancePrivateEndpointConnections"; +export * from "./managedInstancePrivateLinkResources"; export * from "./managedInstances"; -export * from "./managedDatabaseRestoreDetails"; -export * from "./managedDatabases"; +export * from "./managedInstanceTdeCertificates"; +export * from "./managedInstanceVulnerabilityAssessments"; +export * from "./managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies"; +export * from "./managedServerSecurityAlertPolicies"; +export * from "./operations"; +export * from "./operationsHealthOperations"; export * from "./privateEndpointConnections"; export * from "./privateLinkResources"; +export * from "./recoverableManagedDatabases"; +export * from "./restorePoints"; +export * from "./sensitivityLabels"; +export * from "./recommendedSensitivityLabels"; +export * from "./serverAdvisors"; +export * from "./serverAutomaticTuningOperations"; +export * from "./serverAzureADAdministrators"; +export * from "./serverAzureADOnlyAuthentications"; +export * from "./serverDevOpsAuditSettings"; +export * from "./serverDnsAliases"; +export * from "./serverKeys"; +export * from "./serverOperations"; +export * from "./serverSecurityAlertPolicies"; +export * from "./serverTrustGroups"; +export * from "./serverVulnerabilityAssessments"; +export * from "./sqlAgent"; +export * from "./subscriptionUsages"; +export * from "./syncAgents"; +export * from "./syncGroups"; +export * from "./syncMembers"; +export * from "./tdeCertificates"; +export * from "./timeZones"; +export * from "./virtualClusters"; +export * from "./virtualNetworkRules"; +export * from "./workloadClassifiers"; +export * from "./workloadGroups"; +export * from "./backupShortTermRetentionPolicies"; +export * from "./databaseExtensionsOperations"; +export * from "./databaseOperations"; +export * from "./databaseUsages"; +export * from "./ledgerDigestUploadsOperations"; +export * from "./outboundFirewallRules"; +export * from "./restorableDroppedDatabases"; +export * from "./restorableDroppedManagedDatabases"; +export * from "./servers"; +export * from "./usages"; diff --git a/sdk/sql/arm-sql/src/operations/instanceFailoverGroups.ts b/sdk/sql/arm-sql/src/operations/instanceFailoverGroups.ts index be0ae243f7f4..0e55a5f1b6eb 100644 --- a/sdk/sql/arm-sql/src/operations/instanceFailoverGroups.ts +++ b/sdk/sql/arm-sql/src/operations/instanceFailoverGroups.ts @@ -1,355 +1,653 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/instanceFailoverGroupsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { InstanceFailoverGroups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + InstanceFailoverGroup, + InstanceFailoverGroupsListByLocationNextOptionalParams, + InstanceFailoverGroupsListByLocationOptionalParams, + InstanceFailoverGroupsGetOptionalParams, + InstanceFailoverGroupsGetResponse, + InstanceFailoverGroupsCreateOrUpdateOptionalParams, + InstanceFailoverGroupsCreateOrUpdateResponse, + InstanceFailoverGroupsDeleteOptionalParams, + InstanceFailoverGroupsListByLocationResponse, + InstanceFailoverGroupsFailoverOptionalParams, + InstanceFailoverGroupsFailoverResponse, + InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams, + InstanceFailoverGroupsForceFailoverAllowDataLossResponse, + InstanceFailoverGroupsListByLocationNextResponse +} from "../models"; -/** Class representing a InstanceFailoverGroups. */ -export class InstanceFailoverGroups { +/// +/** Class containing InstanceFailoverGroups operations. */ +export class InstanceFailoverGroupsImpl implements InstanceFailoverGroups { private readonly client: SqlManagementClientContext; /** - * Create a InstanceFailoverGroups. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class InstanceFailoverGroups class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the failover groups in a location. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. - * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise; + public listByLocation( + resourceGroupName: string, + locationName: string, + options?: InstanceFailoverGroupsListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll( + resourceGroupName, + locationName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage( + resourceGroupName, + locationName, + options + ); + } + }; + } + + private async *listByLocationPagingPage( + resourceGroupName: string, + locationName: string, + options?: InstanceFailoverGroupsListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation( + resourceGroupName, + locationName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( + resourceGroupName, + locationName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + resourceGroupName: string, + locationName: string, + options?: InstanceFailoverGroupsListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage( + resourceGroupName, + locationName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, locationName: string, failoverGroupName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, failoverGroupName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. - * @param options The optional parameters - * @param callback The callback + * @param parameters The failover group parameters. + * @param options The options parameters. */ - get(resourceGroupName: string, locationName: string, failoverGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + parameters: InstanceFailoverGroup, + options?: InstanceFailoverGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InstanceFailoverGroupsCreateOrUpdateResponse + > + > { + 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, locationName, failoverGroupName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. * @param parameters The failover group parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, locationName: string, failoverGroupName: string, parameters: Models.InstanceFailoverGroup, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,locationName,failoverGroupName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + parameters: InstanceFailoverGroup, + options?: InstanceFailoverGroupsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + locationName, + failoverGroupName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,locationName,failoverGroupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginDelete( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsDeleteOptionalParams + ): 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() + } + }; + }; - /** - * Lists the failover groups in a location. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The name of the region where the resource is located. - * @param [options] The optional parameters - * @returns Promise - */ - listByLocation(resourceGroupName: string, locationName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The name of the region where the resource is located. - * @param callback The callback - */ - listByLocation(resourceGroupName: string, locationName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The name of the region where the resource is located. - * @param options The optional parameters - * @param callback The callback - */ - listByLocation(resourceGroupName: string, locationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByLocation(resourceGroupName: string, locationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - locationName, - options - }, - listByLocationOperationSpec, - callback) as Promise; + const lro = new LroImpl( + sendOperation, + { resourceGroupName, locationName, failoverGroupName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Fails over from the current primary managed instance to this managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - failover(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginFailover(resourceGroupName,locationName,failoverGroupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginDeleteAndWait( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + locationName, + failoverGroupName, + options + ); + return poller.pollUntilDone(); } /** - * Fails over from the current primary managed instance to this managed instance. This operation - * might result in data loss. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the failover groups in a location. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. - * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - forceFailoverAllowDataLoss(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginForceFailoverAllowDataLoss(resourceGroupName,locationName,failoverGroupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private _listByLocation( + resourceGroupName: string, + locationName: string, + options?: InstanceFailoverGroupsListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, options }, + listByLocationOperationSpec + ); } /** - * Creates or updates a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Fails over from the current primary managed instance to this managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. - * @param parameters The failover group parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, locationName: string, failoverGroupName: string, parameters: Models.InstanceFailoverGroup, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - locationName, - failoverGroupName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginFailover( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InstanceFailoverGroupsFailoverResponse + > + > { + 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, locationName, failoverGroupName, options }, + failoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Deletes a failover group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Fails over from the current primary managed instance to this managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - locationName, - failoverGroupName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginFailoverAndWait( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsFailoverOptionalParams + ): Promise { + const poller = await this.beginFailover( + resourceGroupName, + locationName, + failoverGroupName, + options + ); + return poller.pollUntilDone(); } /** - * Fails over from the current primary managed instance to this managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Fails over from the current primary managed instance to this managed instance. This operation might + * result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginFailover(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - locationName, - failoverGroupName, - options - }, - beginFailoverOperationSpec, - options); + async beginForceFailoverAllowDataLoss( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams + ): Promise< + PollerLike< + PollOperationState< + InstanceFailoverGroupsForceFailoverAllowDataLossResponse + >, + InstanceFailoverGroupsForceFailoverAllowDataLossResponse + > + > { + 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, locationName, failoverGroupName, options }, + forceFailoverAllowDataLossOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Fails over from the current primary managed instance to this managed instance. This operation - * might result in data loss. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Fails over from the current primary managed instance to this managed instance. This operation might + * result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The name of the region where the resource is located. * @param failoverGroupName The name of the failover group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginForceFailoverAllowDataLoss(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - locationName, - failoverGroupName, - options - }, - beginForceFailoverAllowDataLossOperationSpec, - options); + async beginForceFailoverAllowDataLossAndWait( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams + ): Promise { + const poller = await this.beginForceFailoverAllowDataLoss( + resourceGroupName, + locationName, + failoverGroupName, + options + ); + return poller.pollUntilDone(); } /** - * Lists the failover groups in a location. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByLocationNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByLocationNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. */ - listByLocationNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByLocationNext( + resourceGroupName: string, + locationName: string, + nextLink: string, + options?: InstanceFailoverGroupsListByLocationNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByLocationNextOperationSpec, - callback) as Promise; + { resourceGroupName, locationName, nextLink, options }, + listByLocationNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", + responses: { + 200: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.locationName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.failoverGroupName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.InstanceFailoverGroup }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + 202: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + 204: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + default: {} }, + requestBody: Parameters.parameters29, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName, + Parameters.failoverGroupName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByLocationOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.locationName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.failoverGroupName ], + serializer +}; +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.InstanceFailoverGroupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.locationName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 + Parameters.locationName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.InstanceFailoverGroup, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const failoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.InstanceFailoverGroup @@ -357,111 +655,72 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.InstanceFailoverGroup }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + 204: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.locationName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.failoverGroupName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginFailoverOperationSpec: msRest.OperationSpec = { +const forceFailoverAllowDataLossOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.locationName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.InstanceFailoverGroup }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + 202: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + 204: { + bodyMapper: Mappers.InstanceFailoverGroup + }, + default: {} }, - serializer -}; - -const beginForceFailoverAllowDataLossOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.locationName, - Parameters.failoverGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 + Parameters.failoverGroupName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.InstanceFailoverGroup - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByLocationNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByLocationNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.InstanceFailoverGroupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/instancePools.ts b/sdk/sql/arm-sql/src/operations/instancePools.ts index 530623321b35..76f71c86a3ca 100644 --- a/sdk/sql/arm-sql/src/operations/instancePools.ts +++ b/sdk/sql/arm-sql/src/operations/instancePools.ts @@ -1,376 +1,564 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/instancePoolsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { InstancePools } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + InstancePool, + InstancePoolsListByResourceGroupNextOptionalParams, + InstancePoolsListByResourceGroupOptionalParams, + InstancePoolsListNextOptionalParams, + InstancePoolsListOptionalParams, + InstancePoolsGetOptionalParams, + InstancePoolsGetResponse, + InstancePoolsCreateOrUpdateOptionalParams, + InstancePoolsCreateOrUpdateResponse, + InstancePoolsDeleteOptionalParams, + InstancePoolUpdate, + InstancePoolsUpdateOptionalParams, + InstancePoolsUpdateResponse, + InstancePoolsListByResourceGroupResponse, + InstancePoolsListResponse, + InstancePoolsListByResourceGroupNextResponse, + InstancePoolsListNextResponse +} from "../models"; -/** Class representing a InstancePools. */ -export class InstancePools { +/// +/** Class containing InstancePools operations. */ +export class InstancePoolsImpl implements InstancePools { private readonly client: SqlManagementClientContext; /** - * Create a InstancePools. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class InstancePools class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets an instance pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The name of the instance pool to be retrieved. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, instancePoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The name of the instance pool to be retrieved. - * @param callback The callback - */ - get(resourceGroupName: string, instancePoolName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The name of the instance pool to be retrieved. - * @param options The optional parameters - * @param callback The callback + * Gets a list of instance pools in the resource group + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. */ - get(resourceGroupName: string, instancePoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, instancePoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByResourceGroup( + resourceGroupName: string, + options?: InstancePoolsListByResourceGroupOptionalParams + ): 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?: InstancePoolsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, - instancePoolName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Creates or updates an instance pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The name of the instance pool to be created or updated. - * @param parameters The requested instance pool resource state. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, instancePoolName: string, parameters: Models.InstancePool, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,instancePoolName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: InstancePoolsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** - * Deletes an instance pool - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The name of the instance pool to be deleted - * @param [options] The optional parameters - * @returns Promise + * Gets a list of all instance pools in the subscription. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, instancePoolName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,instancePoolName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + public list( + options?: InstancePoolsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; } - /** - * Updates an instance pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The name of the instance pool to be updated. - * @param parameters The requested instance pool resource state. - * @param [options] The optional parameters - * @returns Promise - */ - update(resourceGroupName: string, instancePoolName: string, parameters: Models.InstancePoolUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,instancePoolName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listPagingPage( + options?: InstancePoolsListOptionalParams + ): 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?: InstancePoolsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Gets a list of instance pools in the resource group - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param options The optional parameters - * @param callback The callback + * Gets an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be retrieved. + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + instancePoolName: string, + options?: InstancePoolsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + { resourceGroupName, instancePoolName, options }, + getOperationSpec + ); } /** - * Gets a list of all instance pools in the subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * Creates or updates an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be created or updated. + * @param parameters The requested instance pool resource state. + * @param options The options parameters. */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + instancePoolName: string, + parameters: InstancePool, + options?: InstancePoolsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InstancePoolsCreateOrUpdateResponse + > + > { + 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, instancePoolName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates an instance pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param instancePoolName The name of the instance pool to be created or updated. * @param parameters The requested instance pool resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, instancePoolName: string, parameters: Models.InstancePool, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - instancePoolName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + instancePoolName: string, + parameters: InstancePool, + options?: InstancePoolsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + instancePoolName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes an instance pool - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param instancePoolName The name of the instance pool to be deleted - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, instancePoolName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - instancePoolName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDelete( + resourceGroupName: string, + instancePoolName: string, + options?: InstancePoolsDeleteOptionalParams + ): 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, instancePoolName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an instance pool + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be deleted + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + instancePoolName: string, + options?: InstancePoolsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + instancePoolName, + options + ); + return poller.pollUntilDone(); } /** * Updates an instance pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param instancePoolName The name of the instance pool to be updated. * @param parameters The requested instance pool resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, instancePoolName: string, parameters: Models.InstancePoolUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - instancePoolName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginUpdate( + resourceGroupName: string, + instancePoolName: string, + parameters: InstancePoolUpdate, + options?: InstancePoolsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InstancePoolsUpdateResponse + > + > { + 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, instancePoolName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a list of instance pools in the resource group - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Updates an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be updated. + * @param parameters The requested instance pool resource state. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginUpdateAndWait( + resourceGroupName: string, + instancePoolName: string, + parameters: InstancePoolUpdate, + options?: InstancePoolsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + instancePoolName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Gets a list of instance pools in the resource group + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroup( + resourceGroupName: string, + options?: InstancePoolsListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); } /** * Gets a list of all instance pools in the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _list( + options?: InstancePoolsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: InstancePoolsListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: InstancePoolsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.instancePoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.InstancePool }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.subscriptionId + Parameters.instancePoolName ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.InstancePoolListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/instancePools", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.InstancePoolListResult + bodyMapper: Mappers.InstancePool }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.InstancePool + }, + 202: { + bodyMapper: Mappers.InstancePool + }, + 204: { + bodyMapper: Mappers.InstancePool + }, + default: {} }, + requestBody: Parameters.parameters30, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.instancePoolName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.instancePoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.instancePoolName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.InstancePool, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.InstancePool @@ -378,110 +566,93 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.InstancePool }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.InstancePool + }, + 204: { + bodyMapper: Mappers.InstancePool + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", + requestBody: Parameters.parameters31, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.instancePoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 + Parameters.instancePoolName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.instancePoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.InstancePoolUpdate, - required: true - } - }, +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.InstancePool + bodyMapper: Mappers.InstancePoolListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/instancePools", httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.InstancePoolListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.InstancePoolListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.InstancePoolListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobAgents.ts b/sdk/sql/arm-sql/src/operations/jobAgents.ts index 1b7ce4550a4f..df746cc5a60b 100644 --- a/sdk/sql/arm-sql/src/operations/jobAgents.ts +++ b/sdk/sql/arm-sql/src/operations/jobAgents.ts @@ -1,27 +1,44 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobAgentsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { JobAgents } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + JobAgent, + JobAgentsListByServerNextOptionalParams, + JobAgentsListByServerOptionalParams, + JobAgentsListByServerResponse, + JobAgentsGetOptionalParams, + JobAgentsGetResponse, + JobAgentsCreateOrUpdateOptionalParams, + JobAgentsCreateOrUpdateResponse, + JobAgentsDeleteOptionalParams, + JobAgentUpdate, + JobAgentsUpdateOptionalParams, + JobAgentsUpdateResponse, + JobAgentsListByServerNextResponse +} from "../models"; -/** Class representing a JobAgents. */ -export class JobAgents { +/// +/** Class containing JobAgents operations. */ +export class JobAgentsImpl implements JobAgents { private readonly client: SqlManagementClientContext; /** - * Create a JobAgents. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class JobAgents class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,293 +46,463 @@ export class JobAgents { /** * Gets a list of job agents in a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: JobAgentsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: JobAgentsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, + continuationToken, options - }, - listByServerOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: JobAgentsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Gets a job agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent to be retrieved. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of job agents in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param jobAgentName The name of the job agent to be retrieved. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, callback: msRest.ServiceCallback): void; + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: JobAgentsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent to be retrieved. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobAgentsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, options }, + getOperationSpec + ); } /** * Creates or updates a job agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent to be created or updated. * @param parameters The requested job agent resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: Models.JobAgent, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,jobAgentName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + parameters: JobAgent, + options?: JobAgentsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + JobAgentsCreateOrUpdateResponse + > + > { + 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() + } + }; + }; - /** - * Deletes a job agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent to be deleted. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,jobAgentName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serverName, jobAgentName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Updates a job agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param jobAgentName The name of the job agent to be updated. - * @param parameters The update to the job agent. - * @param [options] The optional parameters - * @returns Promise + * @param jobAgentName The name of the job agent to be created or updated. + * @param parameters The requested job agent resource state. + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: Models.JobAgentUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,jobAgentName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + parameters: JobAgent, + options?: JobAgentsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + jobAgentName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Creates or updates a job agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param jobAgentName The name of the job agent to be created or updated. - * @param parameters The requested job agent resource state. - * @param [options] The optional parameters - * @returns Promise + * @param jobAgentName The name of the job agent to be deleted. + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: Models.JobAgent, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - jobAgentName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginDelete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobAgentsDeleteOptionalParams + ): 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, serverName, jobAgentName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Deletes a job agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent to be deleted. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - jobAgentName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobAgentsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + jobAgentName, + options + ); + return poller.pollUntilDone(); } /** * Updates a job agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent to be updated. * @param parameters The update to the job agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: Models.JobAgentUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - jobAgentName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + parameters: JobAgentUpdate, + options?: JobAgentsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + JobAgentsUpdateResponse + > + > { + 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, serverName, jobAgentName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a list of job agents in a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Updates a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent to be updated. + * @param parameters The update to the job agent. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + parameters: JobAgentUpdate, + options?: JobAgentsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + jobAgentName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: JobAgentsListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByServerOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.JobAgentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobAgent }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.jobAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobAgentName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.JobAgent, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.JobAgent @@ -323,91 +510,91 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.JobAgent }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.JobAgent + }, + 204: { + bodyMapper: Mappers.JobAgent + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", + requestBody: Parameters.parameters32, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.jobAgentName, - Parameters.subscriptionId + Parameters.jobAgentName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.jobAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobAgentName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.JobAgentUpdate, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.JobAgent }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.JobAgent + }, + 202: { + bodyMapper: Mappers.JobAgent + }, + 204: { + bodyMapper: Mappers.JobAgent + }, + default: {} }, + requestBody: Parameters.parameters33, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobAgentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobCredentials.ts b/sdk/sql/arm-sql/src/operations/jobCredentials.ts index caf6404ca3cb..781d83f35058 100644 --- a/sdk/sql/arm-sql/src/operations/jobCredentials.ts +++ b/sdk/sql/arm-sql/src/operations/jobCredentials.ts @@ -1,26 +1,39 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobCredentialsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { JobCredentials } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + JobCredential, + JobCredentialsListByAgentNextOptionalParams, + JobCredentialsListByAgentOptionalParams, + JobCredentialsListByAgentResponse, + JobCredentialsGetOptionalParams, + JobCredentialsGetResponse, + JobCredentialsCreateOrUpdateOptionalParams, + JobCredentialsCreateOrUpdateResponse, + JobCredentialsDeleteOptionalParams, + JobCredentialsListByAgentNextResponse +} from "../models"; -/** Class representing a JobCredentials. */ -export class JobCredentials { +/// +/** Class containing JobCredentials operations. */ +export class JobCredentialsImpl implements JobCredentials { private readonly client: SqlManagementClientContext; /** - * Create a JobCredentials. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class JobCredentials class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,120 +41,145 @@ export class JobCredentials { /** * Gets a list of jobs credentials. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param callback The callback - */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param options The optional parameters - * @param callback The callback - */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobCredentialsListByAgentOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByAgentPagingAll( + resourceGroupName, + serverName, + jobAgentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByAgentPagingPage( + resourceGroupName, + serverName, + jobAgentName, + options + ); + } + }; + } + + private async *listByAgentPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobCredentialsListByAgentOptionalParams + ): AsyncIterableIterator { + let result = await this._listByAgent( + resourceGroupName, + serverName, + jobAgentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByAgentNext( resourceGroupName, serverName, jobAgentName, + continuationToken, options - }, - listByAgentOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByAgentPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobCredentialsListByAgentOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByAgentPagingPage( + resourceGroupName, + serverName, + jobAgentName, + options + )) { + yield* page; + } } /** - * Gets a jobs credential. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param credentialName The name of the credential. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of jobs credentials. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param credentialName The name of the credential. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, callback: msRest.ServiceCallback): void; + private _listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobCredentialsListByAgentOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, jobAgentName, options }, + listByAgentOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a jobs credential. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param credentialName The name of the credential. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + credentialName: string, + options?: JobCredentialsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - credentialName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, credentialName, options }, + getOperationSpec + ); } /** * Creates or updates a job credential. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param credentialName The name of the credential. - * @param parameters The requested job credential state. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, parameters: Models.JobCredential, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param credentialName The name of the credential. - * @param parameters The requested job credential state. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, parameters: Models.JobCredential, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param credentialName The name of the credential. * @param parameters The requested job credential state. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, parameters: Models.JobCredential, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, parameters: Models.JobCredential, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + credentialName: string, + parameters: JobCredential, + options?: JobCredentialsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -151,160 +189,104 @@ export class JobCredentials { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Deletes a job credential. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param credentialName The name of the credential. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param credentialName The name of the credential. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param credentialName The name of the credential. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + credentialName: string, + options?: JobCredentialsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - credentialName, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, serverName, jobAgentName, credentialName, options }, + deleteOperationSpec + ); } /** - * Gets a list of jobs credentials. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByAgentNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByAgentNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByAgentNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param nextLink The nextLink from the previous successful call to the ListByAgent method. + * @param options The options parameters. */ - listByAgentNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByAgentNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByAgentNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + nextLink: string, + options?: JobCredentialsListByAgentNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByAgentNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, nextLink, options }, + listByAgentNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByAgentOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByAgentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.JobCredentialListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.jobAgentName, - Parameters.credentialName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobAgentName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobCredential }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.credentialName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.credentialName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.JobCredential, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.JobCredential @@ -312,56 +294,56 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.JobCredential }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters34, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName, + Parameters.credentialName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.credentialName, - Parameters.subscriptionId + Parameters.credentialName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByAgentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByAgentNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobCredentialListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobExecutions.ts b/sdk/sql/arm-sql/src/operations/jobExecutions.ts index 70719de8f48d..7b2c57d088fd 100644 --- a/sdk/sql/arm-sql/src/operations/jobExecutions.ts +++ b/sdk/sql/arm-sql/src/operations/jobExecutions.ts @@ -1,27 +1,47 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobExecutionsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { JobExecutions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + JobExecution, + JobExecutionsListByAgentNextOptionalParams, + JobExecutionsListByAgentOptionalParams, + JobExecutionsListByJobNextOptionalParams, + JobExecutionsListByJobOptionalParams, + JobExecutionsListByAgentResponse, + JobExecutionsCancelOptionalParams, + JobExecutionsCreateOptionalParams, + JobExecutionsCreateResponse, + JobExecutionsListByJobResponse, + JobExecutionsGetOptionalParams, + JobExecutionsGetResponse, + JobExecutionsCreateOrUpdateOptionalParams, + JobExecutionsCreateOrUpdateResponse, + JobExecutionsListByAgentNextResponse, + JobExecutionsListByJobNextResponse +} from "../models"; -/** Class representing a JobExecutions. */ -export class JobExecutions { +/// +/** Class containing JobExecutions operations. */ +export class JobExecutionsImpl implements JobExecutions { private readonly client: SqlManagementClientContext; /** - * Create a JobExecutions. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class JobExecutions class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,77 +49,213 @@ export class JobExecutions { /** * Lists all executions in a job agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: Models.JobExecutionsListByAgentOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param callback The callback - */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param options The optional parameters - * @param callback The callback - */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options: Models.JobExecutionsListByAgentOptionalParams, callback: msRest.ServiceCallback): void; - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: Models.JobExecutionsListByAgentOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobExecutionsListByAgentOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByAgentPagingAll( + resourceGroupName, + serverName, + jobAgentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByAgentPagingPage( + resourceGroupName, + serverName, + jobAgentName, + options + ); + } + }; + } + + private async *listByAgentPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobExecutionsListByAgentOptionalParams + ): AsyncIterableIterator { + let result = await this._listByAgent( + resourceGroupName, + serverName, + jobAgentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByAgentNext( resourceGroupName, serverName, jobAgentName, + continuationToken, options - }, - listByAgentOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByAgentPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobExecutionsListByAgentOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByAgentPagingPage( + resourceGroupName, + serverName, + jobAgentName, + options + )) { + yield* page; + } } /** - * Requests cancellation of a job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists a job's executions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param jobExecutionId The id of the job execution to cancel. - * @param [options] The optional parameters - * @returns Promise + * @param jobName The name of the job to get. + * @param options The options parameters. */ - cancel(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: msRest.RequestOptionsBase): Promise; + public listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsListByJobOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByJobPagingAll( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByJobPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + } + }; + } + + private async *listByJobPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsListByJobOptionalParams + ): AsyncIterableIterator { + let result = await this._listByJob( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByJobNext( + resourceGroupName, + serverName, + jobAgentName, + jobName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByJobPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsListByJobOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByJobPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists all executions in a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param jobExecutionId The id of the job execution to cancel. - * @param callback The callback + * @param options The options parameters. */ - cancel(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, callback: msRest.ServiceCallback): void; + private _listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobExecutionsListByAgentOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, jobAgentName, options }, + listByAgentOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Requests cancellation of a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job. * @param jobExecutionId The id of the job execution to cancel. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - cancel(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - cancel(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + cancel( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobExecutionsCancelOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -109,102 +265,147 @@ export class JobExecutions { jobExecutionId, options }, - cancelOperationSpec, - callback); + cancelOperationSpec + ); } /** * Starts an elastic job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(resourceGroupName,serverName,jobAgentName,jobName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + JobExecutionsCreateResponse + > + > { + 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, serverName, jobAgentName, jobName, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists a job's executions. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param [options] The optional parameters - * @returns Promise - */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: Models.JobExecutionsListByJobOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Starts an elastic job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. - * @param callback The callback + * @param options The options parameters. */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, callback: msRest.ServiceCallback): void; + async beginCreateAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists a job's executions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options: Models.JobExecutionsListByJobOptionalParams, callback: msRest.ServiceCallback): void; - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: Models.JobExecutionsListByJobOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsListByJobOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - jobName, - options - }, - listByJobOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, jobName, options }, + listByJobOperationSpec + ); } /** * Gets a job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job. * @param jobExecutionId The id of the job execution - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param jobExecutionId The id of the job execution - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param jobExecutionId The id of the job execution - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobExecutionsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -214,299 +415,311 @@ export class JobExecutions { jobExecutionId, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates a job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The job execution id to create the job execution under. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,jobAgentName,jobName,jobExecutionId,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobExecutionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + JobExecutionsCreateOrUpdateResponse + > + > { + 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() + } + }; + }; - /** - * Starts an elastic job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + const lro = new LroImpl( + sendOperation, { resourceGroupName, serverName, jobAgentName, jobName, + jobExecutionId, options }, - beginCreateOperationSpec, - options); + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates a job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The job execution id to create the job execution under. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - jobAgentName, - jobName, - jobExecutionId, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobExecutionsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + ); + return poller.pollUntilDone(); } /** - * Lists all executions in a job agent. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByAgentNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByAgentNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByAgentNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param nextLink The nextLink from the previous successful call to the ListByAgent method. + * @param options The options parameters. */ - listByAgentNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByAgentNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByAgentNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + nextLink: string, + options?: JobExecutionsListByAgentNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByAgentNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, nextLink, options }, + listByAgentNextOperationSpec + ); } /** - * Lists a job's executions. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByJobNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByJobNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByJobNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param nextLink The nextLink from the previous successful call to the ListByJob method. + * @param options The options parameters. */ - listByJobNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByJobNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJobNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + nextLink: string, + options?: JobExecutionsListByJobNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + jobAgentName, + jobName, + nextLink, options }, - listByJobNextOperationSpec, - callback) as Promise; + listByJobNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByAgentOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByAgentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.subscriptionId - ], + responses: { + 200: { + bodyMapper: Mappers.JobExecutionListResult + }, + default: {} + }, queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, Parameters.createTimeMin, Parameters.createTimeMax, Parameters.endTimeMin, Parameters.endTimeMax, Parameters.isActive, - Parameters.skip, - Parameters.top, - Parameters.apiVersion4 + Parameters.top ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName ], - responses: { - 200: { - bodyMapper: Mappers.JobExecutionListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const cancelOperationSpec: msRest.OperationSpec = { +const cancelOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, - Parameters.jobExecutionId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.jobExecutionId ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByJobOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions", +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.JobExecution + }, + 201: { + bodyMapper: Mappers.JobExecution + }, + 202: { + bodyMapper: Mappers.JobExecution + }, + 204: { + bodyMapper: Mappers.JobExecution + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.jobName, - Parameters.subscriptionId + Parameters.jobName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.JobExecutionListResult + }, + default: {} + }, queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, Parameters.createTimeMin, Parameters.createTimeMax, Parameters.endTimeMin, Parameters.endTimeMax, Parameters.isActive, - Parameters.skip, - Parameters.top, - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.top ], - responses: { - 200: { - bodyMapper: Mappers.JobExecutionListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}", urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.jobName, - Parameters.jobExecutionId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobExecution }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, - Parameters.subscriptionId + Parameters.jobExecutionId ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.JobExecution - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.jobName, - Parameters.jobExecutionId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.JobExecution @@ -514,52 +727,85 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.JobExecution }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.JobExecution + }, + 204: { + bodyMapper: Mappers.JobExecution + }, + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.jobExecutionId + ], + headerParameters: [Parameters.accept], serializer }; - -const listByAgentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByAgentNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobExecutionListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, + Parameters.createTimeMin, + Parameters.createTimeMax, + Parameters.endTimeMin, + Parameters.endTimeMax, + Parameters.isActive, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByJobNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByJobNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobExecutionListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, + Parameters.createTimeMin, + Parameters.createTimeMax, + Parameters.endTimeMin, + Parameters.endTimeMax, + Parameters.isActive, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName, + Parameters.jobName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobStepExecutions.ts b/sdk/sql/arm-sql/src/operations/jobStepExecutions.ts index ccf641ff4a81..cfc1620a0a9f 100644 --- a/sdk/sql/arm-sql/src/operations/jobStepExecutions.ts +++ b/sdk/sql/arm-sql/src/operations/jobStepExecutions.ts @@ -1,26 +1,36 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobStepExecutionsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { JobStepExecutions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + JobExecution, + JobStepExecutionsListByJobExecutionNextOptionalParams, + JobStepExecutionsListByJobExecutionOptionalParams, + JobStepExecutionsListByJobExecutionResponse, + JobStepExecutionsGetOptionalParams, + JobStepExecutionsGetResponse, + JobStepExecutionsListByJobExecutionNextResponse +} from "../models"; -/** Class representing a JobStepExecutions. */ -export class JobStepExecutions { +/// +/** Class containing JobStepExecutions operations. */ +export class JobStepExecutionsImpl implements JobStepExecutions { private readonly client: SqlManagementClientContext; /** - * Create a JobStepExecutions. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class JobStepExecutions class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,38 +38,121 @@ export class JobStepExecutions { /** * Lists the step executions of a job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The id of the job execution - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: Models.JobStepExecutionsListByJobExecutionOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param jobExecutionId The id of the job execution - * @param callback The callback - */ - listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, callback: msRest.ServiceCallback): void; + public listByJobExecution( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobStepExecutionsListByJobExecutionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByJobExecutionPagingAll( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByJobExecutionPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + ); + } + }; + } + + private async *listByJobExecutionPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobStepExecutionsListByJobExecutionOptionalParams + ): AsyncIterableIterator { + let result = await this._listByJobExecution( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByJobExecutionNext( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByJobExecutionPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobStepExecutionsListByJobExecutionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByJobExecutionPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the step executions of a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The id of the job execution - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options: Models.JobStepExecutionsListByJobExecutionOptionalParams, callback: msRest.ServiceCallback): void; - listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: Models.JobStepExecutionsListByJobExecutionOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJobExecution( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobStepExecutionsListByJobExecutionOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -69,47 +162,30 @@ export class JobStepExecutions { jobExecutionId, options }, - listByJobExecutionOperationSpec, - callback) as Promise; + listByJobExecutionOperationSpec + ); } /** * Gets a step execution of a job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param jobExecutionId The unique id of the job execution - * @param stepName The name of the step. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param jobExecutionId The unique id of the job execution - * @param stepName The name of the step. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The unique id of the job execution * @param stepName The name of the step. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + options?: JobStepExecutionsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -120,122 +196,132 @@ export class JobStepExecutions { stepName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Lists the step executions of a job execution. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByJobExecutionNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByJobExecutionNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByJobExecutionNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The id of the job execution + * @param nextLink The nextLink from the previous successful call to the ListByJobExecution method. + * @param options The options parameters. */ - listByJobExecutionNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByJobExecutionNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJobExecutionNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + nextLink: string, + options?: JobStepExecutionsListByJobExecutionNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + nextLink, options }, - listByJobExecutionNextOperationSpec, - callback) as Promise; + listByJobExecutionNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByJobExecutionOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByJobExecutionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.jobName, - Parameters.jobExecutionId, - Parameters.subscriptionId - ], + responses: { + 200: { + bodyMapper: Mappers.JobExecutionListResult + }, + default: {} + }, queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, Parameters.createTimeMin, Parameters.createTimeMax, Parameters.endTimeMin, Parameters.endTimeMax, Parameters.isActive, - Parameters.skip, - Parameters.top, - Parameters.apiVersion4 + Parameters.top ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.jobExecutionId ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.JobExecutionListResult + bodyMapper: Mappers.JobExecution }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, Parameters.jobExecutionId, - Parameters.stepName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.stepName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.JobExecution - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByJobExecutionNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByJobExecutionNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobExecutionListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, + Parameters.createTimeMin, + Parameters.createTimeMax, + Parameters.endTimeMin, + Parameters.endTimeMax, + Parameters.isActive, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.jobExecutionId + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobSteps.ts b/sdk/sql/arm-sql/src/operations/jobSteps.ts index bc44e2296009..a2ece66f1ccd 100644 --- a/sdk/sql/arm-sql/src/operations/jobSteps.ts +++ b/sdk/sql/arm-sql/src/operations/jobSteps.ts @@ -1,26 +1,45 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobStepsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { JobSteps } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + JobStep, + JobStepsListByVersionNextOptionalParams, + JobStepsListByVersionOptionalParams, + JobStepsListByJobNextOptionalParams, + JobStepsListByJobOptionalParams, + JobStepsListByVersionResponse, + JobStepsGetByVersionOptionalParams, + JobStepsGetByVersionResponse, + JobStepsListByJobResponse, + JobStepsGetOptionalParams, + JobStepsGetResponse, + JobStepsCreateOrUpdateOptionalParams, + JobStepsCreateOrUpdateResponse, + JobStepsDeleteOptionalParams, + JobStepsListByVersionNextResponse, + JobStepsListByJobNextResponse +} from "../models"; -/** Class representing a JobSteps. */ -export class JobSteps { +/// +/** Class containing JobSteps operations. */ +export class JobStepsImpl implements JobSteps { private readonly client: SqlManagementClientContext; /** - * Create a JobSteps. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class JobSteps class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,38 +47,211 @@ export class JobSteps { /** * Gets all job steps in the specified job version. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobVersion The version of the job to get. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options?: msRest.RequestOptionsBase): Promise; + public listByVersion( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + options?: JobStepsListByVersionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByVersionPagingAll( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobVersion, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByVersionPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobVersion, + options + ); + } + }; + } + + private async *listByVersionPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + options?: JobStepsListByVersionOptionalParams + ): AsyncIterableIterator { + let result = await this._listByVersion( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobVersion, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByVersionNext( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobVersion, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByVersionPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + options?: JobStepsListByVersionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByVersionPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobVersion, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets all job steps for a job's current version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. - * @param jobVersion The version of the job to get. - * @param callback The callback + * @param options The options parameters. */ - listByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, callback: msRest.ServiceCallback): void; + public listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobStepsListByJobOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByJobPagingAll( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByJobPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + } + }; + } + + private async *listByJobPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobStepsListByJobOptionalParams + ): AsyncIterableIterator { + let result = await this._listByJob( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByJobNext( + resourceGroupName, + serverName, + jobAgentName, + jobName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByJobPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobStepsListByJobOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByJobPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets all job steps in the specified job version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobVersion The version of the job to get. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByVersion( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + options?: JobStepsListByVersionOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -69,47 +261,30 @@ export class JobSteps { jobVersion, options }, - listByVersionOperationSpec, - callback) as Promise; + listByVersionOperationSpec + ); } /** * Gets the specified version of a job step. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param jobVersion The version of the job to get. - * @param stepName The name of the job step. - * @param [options] The optional parameters - * @returns Promise - */ - getByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, stepName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param jobVersion The version of the job to get. - * @param stepName The name of the job step. - * @param callback The callback - */ - getByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, stepName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job. * @param jobVersion The version of the job to get. * @param stepName The name of the job step. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, stepName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, stepName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + getByVersion( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + stepName: string, + options?: JobStepsGetByVersionOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -120,87 +295,50 @@ export class JobSteps { stepName, options }, - getByVersionOperationSpec, - callback) as Promise; + getByVersionOperationSpec + ); } /** * Gets all job steps for a job's current version. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param [options] The optional parameters - * @returns Promise - */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. - * @param callback The callback + * @param options The options parameters. */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param options The optional parameters - * @param callback The callback - */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobStepsListByJobOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - jobName, - options - }, - listByJobOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, jobName, options }, + listByJobOperationSpec + ); } /** * Gets a job step in a job's current version. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param stepName The name of the job step. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job. * @param stepName The name of the job step. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param stepName The name of the job step. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + stepName: string, + options?: JobStepsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -210,47 +348,30 @@ export class JobSteps { stepName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates a job step. This will implicitly create a new job version. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param stepName The name of the job step. - * @param parameters The requested state of the job step. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, parameters: Models.JobStep, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param stepName The name of the job step. - * @param parameters The requested state of the job step. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, parameters: Models.JobStep, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job. * @param stepName The name of the job step. * @param parameters The requested state of the job step. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, parameters: Models.JobStep, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, parameters: Models.JobStep, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + stepName: string, + parameters: JobStep, + options?: JobStepsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -261,44 +382,28 @@ export class JobSteps { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Deletes a job step. This will implicitly create a new job version. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param stepName The name of the job step to delete. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param stepName The name of the job step to delete. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job. * @param stepName The name of the job step to delete. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + stepName: string, + options?: JobStepsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -308,205 +413,174 @@ export class JobSteps { stepName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** - * Gets all job steps in the specified job version. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByVersionNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByVersionNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByVersionNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobVersion The version of the job to get. + * @param nextLink The nextLink from the previous successful call to the ListByVersion method. + * @param options The options parameters. */ - listByVersionNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByVersionNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByVersionNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + nextLink: string, + options?: JobStepsListByVersionNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobVersion, + nextLink, options }, - listByVersionNextOperationSpec, - callback) as Promise; + listByVersionNextOperationSpec + ); } /** - * Gets all job steps for a job's current version. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByJobNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByJobNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByJobNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param nextLink The nextLink from the previous successful call to the ListByJob method. + * @param options The options parameters. */ - listByJobNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByJobNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJobNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + nextLink: string, + options?: JobStepsListByJobNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + jobAgentName, + jobName, + nextLink, options }, - listByJobNextOperationSpec, - callback) as Promise; + listByJobNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByVersionOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByVersionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.jobName, - Parameters.jobVersion, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.JobStepListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getByVersionOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, - Parameters.jobVersion, - Parameters.stepName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobVersion ], + headerParameters: [Parameters.accept], + serializer +}; +const getByVersionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobStep }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByJobOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.stepName, + Parameters.jobVersion ], + headerParameters: [Parameters.accept], + serializer +}; +const listByJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobStepListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.jobName, - Parameters.stepName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobStep }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, - Parameters.stepName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.stepName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.JobStep, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.JobStep @@ -514,78 +588,82 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.JobStep }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters36, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.stepName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, - Parameters.stepName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.stepName ], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByVersionNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByVersionNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobStepListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.jobVersion + ], + headerParameters: [Parameters.accept], serializer }; - -const listByJobNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByJobNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobStepListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName, + Parameters.jobName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobTargetExecutions.ts b/sdk/sql/arm-sql/src/operations/jobTargetExecutions.ts index 0a54d2027c5d..9b0f6780bb3b 100644 --- a/sdk/sql/arm-sql/src/operations/jobTargetExecutions.ts +++ b/sdk/sql/arm-sql/src/operations/jobTargetExecutions.ts @@ -1,26 +1,40 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobTargetExecutionsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { JobTargetExecutions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + JobExecution, + JobTargetExecutionsListByJobExecutionNextOptionalParams, + JobTargetExecutionsListByJobExecutionOptionalParams, + JobTargetExecutionsListByStepNextOptionalParams, + JobTargetExecutionsListByStepOptionalParams, + JobTargetExecutionsListByJobExecutionResponse, + JobTargetExecutionsListByStepResponse, + JobTargetExecutionsGetOptionalParams, + JobTargetExecutionsGetResponse, + JobTargetExecutionsListByJobExecutionNextResponse, + JobTargetExecutionsListByStepNextResponse +} from "../models"; -/** Class representing a JobTargetExecutions. */ -export class JobTargetExecutions { +/// +/** Class containing JobTargetExecutions operations. */ +export class JobTargetExecutionsImpl implements JobTargetExecutions { private readonly client: SqlManagementClientContext; /** - * Create a JobTargetExecutions. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class JobTargetExecutions class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,38 +42,229 @@ export class JobTargetExecutions { /** * Lists target executions for all steps of a job execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The id of the job execution - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: Models.JobTargetExecutionsListByJobExecutionOptionalParams): Promise; + public listByJobExecution( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobTargetExecutionsListByJobExecutionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByJobExecutionPagingAll( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByJobExecutionPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + ); + } + }; + } + + private async *listByJobExecutionPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobTargetExecutionsListByJobExecutionOptionalParams + ): AsyncIterableIterator { + let result = await this._listByJobExecution( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByJobExecutionNext( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByJobExecutionPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobTargetExecutionsListByJobExecutionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByJobExecutionPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the target executions of a job step execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The id of the job execution - * @param callback The callback + * @param stepName The name of the step. + * @param options The options parameters. */ - listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, callback: msRest.ServiceCallback): void; + public listByStep( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + options?: JobTargetExecutionsListByStepOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByStepPagingAll( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + stepName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByStepPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + stepName, + options + ); + } + }; + } + + private async *listByStepPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + options?: JobTargetExecutionsListByStepOptionalParams + ): AsyncIterableIterator { + let result = await this._listByStep( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + stepName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByStepNext( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + stepName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByStepPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + options?: JobTargetExecutionsListByStepOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByStepPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + stepName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists target executions for all steps of a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The id of the job execution - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options: Models.JobTargetExecutionsListByJobExecutionOptionalParams, callback: msRest.ServiceCallback): void; - listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: Models.JobTargetExecutionsListByJobExecutionOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJobExecution( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobTargetExecutionsListByJobExecutionOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -69,47 +274,30 @@ export class JobTargetExecutions { jobExecutionId, options }, - listByJobExecutionOperationSpec, - callback) as Promise; + listByJobExecutionOperationSpec + ); } /** * Lists the target executions of a job step execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The id of the job execution * @param stepName The name of the step. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByStep(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options?: Models.JobTargetExecutionsListByStepOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param jobExecutionId The id of the job execution - * @param stepName The name of the step. - * @param callback The callback - */ - listByStep(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param jobExecutionId The id of the job execution - * @param stepName The name of the step. - * @param options The optional parameters - * @param callback The callback - */ - listByStep(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options: Models.JobTargetExecutionsListByStepOptionalParams, callback: msRest.ServiceCallback): void; - listByStep(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options?: Models.JobTargetExecutionsListByStepOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByStep( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + options?: JobTargetExecutionsListByStepOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -120,50 +308,32 @@ export class JobTargetExecutions { stepName, options }, - listByStepOperationSpec, - callback) as Promise; + listByStepOperationSpec + ); } /** * Gets a target execution. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param jobExecutionId The unique id of the job execution - * @param stepName The name of the step. - * @param targetId The target id. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, targetId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param jobExecutionId The unique id of the job execution - * @param stepName The name of the step. - * @param targetId The target id. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, targetId: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param jobExecutionId The unique id of the job execution * @param stepName The name of the step. * @param targetId The target id. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, targetId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, targetId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + targetId: string, + options?: JobTargetExecutionsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -175,208 +345,236 @@ export class JobTargetExecutions { targetId, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Lists target executions for all steps of a job execution. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByJobExecutionNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByJobExecutionNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByJobExecutionNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The id of the job execution + * @param nextLink The nextLink from the previous successful call to the ListByJobExecution method. + * @param options The options parameters. */ - listByJobExecutionNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByJobExecutionNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJobExecutionNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + nextLink: string, + options?: JobTargetExecutionsListByJobExecutionNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + nextLink, options }, - listByJobExecutionNextOperationSpec, - callback) as Promise; + listByJobExecutionNextOperationSpec + ); } /** - * Lists the target executions of a job step execution. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByStepNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByStepNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByStepNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The id of the job execution + * @param stepName The name of the step. + * @param nextLink The nextLink from the previous successful call to the ListByStep method. + * @param options The options parameters. */ - listByStepNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByStepNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByStepNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + nextLink: string, + options?: JobTargetExecutionsListByStepNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + jobAgentName, + jobName, + jobExecutionId, + stepName, + nextLink, options }, - listByStepNextOperationSpec, - callback) as Promise; + listByStepNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByJobExecutionOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByJobExecutionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.jobName, - Parameters.jobExecutionId, - Parameters.subscriptionId - ], + responses: { + 200: { + bodyMapper: Mappers.JobExecutionListResult + }, + default: {} + }, queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, Parameters.createTimeMin, Parameters.createTimeMax, Parameters.endTimeMin, Parameters.endTimeMax, Parameters.isActive, - Parameters.skip, - Parameters.top, - Parameters.apiVersion4 + Parameters.top ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.JobExecutionListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listByStepOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets", urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, - Parameters.jobExecutionId, - Parameters.stepName, - Parameters.subscriptionId + Parameters.jobExecutionId ], + headerParameters: [Parameters.accept], + serializer +}; +const listByStepOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.JobExecutionListResult + }, + default: {} + }, queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, Parameters.createTimeMin, Parameters.createTimeMax, Parameters.endTimeMin, Parameters.endTimeMax, Parameters.isActive, - Parameters.skip, - Parameters.top, - Parameters.apiVersion4 + Parameters.top ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.jobExecutionId, + Parameters.stepName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.JobExecutionListResult + bodyMapper: Mappers.JobExecution }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, Parameters.jobName, Parameters.jobExecutionId, Parameters.stepName, - Parameters.targetId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.targetId ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.JobExecution - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByJobExecutionNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByJobExecutionNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobExecutionListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, + Parameters.createTimeMin, + Parameters.createTimeMax, + Parameters.endTimeMin, + Parameters.endTimeMax, + Parameters.isActive, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.jobExecutionId + ], + headerParameters: [Parameters.accept], serializer }; - -const listByStepNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByStepNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobExecutionListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, + Parameters.createTimeMin, + Parameters.createTimeMax, + Parameters.endTimeMin, + Parameters.endTimeMax, + Parameters.isActive, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.jobExecutionId, + Parameters.stepName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobTargetGroups.ts b/sdk/sql/arm-sql/src/operations/jobTargetGroups.ts index c2f1291e0923..841a022416c2 100644 --- a/sdk/sql/arm-sql/src/operations/jobTargetGroups.ts +++ b/sdk/sql/arm-sql/src/operations/jobTargetGroups.ts @@ -1,26 +1,39 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobTargetGroupsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { JobTargetGroups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + JobTargetGroup, + JobTargetGroupsListByAgentNextOptionalParams, + JobTargetGroupsListByAgentOptionalParams, + JobTargetGroupsListByAgentResponse, + JobTargetGroupsGetOptionalParams, + JobTargetGroupsGetResponse, + JobTargetGroupsCreateOrUpdateOptionalParams, + JobTargetGroupsCreateOrUpdateResponse, + JobTargetGroupsDeleteOptionalParams, + JobTargetGroupsListByAgentNextResponse +} from "../models"; -/** Class representing a JobTargetGroups. */ -export class JobTargetGroups { +/// +/** Class containing JobTargetGroups operations. */ +export class JobTargetGroupsImpl implements JobTargetGroups { private readonly client: SqlManagementClientContext; /** - * Create a JobTargetGroups. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class JobTargetGroups class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,120 +41,145 @@ export class JobTargetGroups { /** * Gets all target groups in an agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param callback The callback - */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param options The optional parameters - * @param callback The callback - */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobTargetGroupsListByAgentOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByAgentPagingAll( + resourceGroupName, + serverName, + jobAgentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByAgentPagingPage( + resourceGroupName, + serverName, + jobAgentName, + options + ); + } + }; + } + + private async *listByAgentPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobTargetGroupsListByAgentOptionalParams + ): AsyncIterableIterator { + let result = await this._listByAgent( + resourceGroupName, + serverName, + jobAgentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByAgentNext( resourceGroupName, serverName, jobAgentName, + continuationToken, options - }, - listByAgentOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByAgentPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobTargetGroupsListByAgentOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByAgentPagingPage( + resourceGroupName, + serverName, + jobAgentName, + options + )) { + yield* page; + } } /** - * Gets a target group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param targetGroupName The name of the target group. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets all target groups in an agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param targetGroupName The name of the target group. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, callback: msRest.ServiceCallback): void; + private _listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobTargetGroupsListByAgentOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, jobAgentName, options }, + listByAgentOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a target group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param targetGroupName The name of the target group. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + targetGroupName: string, + options?: JobTargetGroupsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - targetGroupName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, targetGroupName, options }, + getOperationSpec + ); } /** * Creates or updates a target group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param targetGroupName The name of the target group. - * @param parameters The requested state of the target group. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, parameters: Models.JobTargetGroup, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param targetGroupName The name of the target group. - * @param parameters The requested state of the target group. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, parameters: Models.JobTargetGroup, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param targetGroupName The name of the target group. * @param parameters The requested state of the target group. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, parameters: Models.JobTargetGroup, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, parameters: Models.JobTargetGroup, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + targetGroupName: string, + parameters: JobTargetGroup, + options?: JobTargetGroupsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -151,160 +189,104 @@ export class JobTargetGroups { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Deletes a target group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param targetGroupName The name of the target group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param targetGroupName The name of the target group. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param targetGroupName The name of the target group. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + targetGroupName: string, + options?: JobTargetGroupsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - targetGroupName, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, serverName, jobAgentName, targetGroupName, options }, + deleteOperationSpec + ); } /** - * Gets all target groups in an agent. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByAgentNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByAgentNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByAgentNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param nextLink The nextLink from the previous successful call to the ListByAgent method. + * @param options The options parameters. */ - listByAgentNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByAgentNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByAgentNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + nextLink: string, + options?: JobTargetGroupsListByAgentNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByAgentNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, nextLink, options }, + listByAgentNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByAgentOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByAgentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.JobTargetGroupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.jobAgentName, - Parameters.targetGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobAgentName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobTargetGroup }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.targetGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.targetGroupName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.JobTargetGroup, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.JobTargetGroup @@ -312,56 +294,56 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.JobTargetGroup }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters37, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName, + Parameters.targetGroupName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.targetGroupName, - Parameters.subscriptionId + Parameters.targetGroupName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByAgentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByAgentNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobTargetGroupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobVersions.ts b/sdk/sql/arm-sql/src/operations/jobVersions.ts index 22c8f459d997..7e7ee82ca2f0 100644 --- a/sdk/sql/arm-sql/src/operations/jobVersions.ts +++ b/sdk/sql/arm-sql/src/operations/jobVersions.ts @@ -1,26 +1,36 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobVersionsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { JobVersions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + JobVersion, + JobVersionsListByJobNextOptionalParams, + JobVersionsListByJobOptionalParams, + JobVersionsListByJobResponse, + JobVersionsGetOptionalParams, + JobVersionsGetResponse, + JobVersionsListByJobNextResponse +} from "../models"; -/** Class representing a JobVersions. */ -export class JobVersions { +/// +/** Class containing JobVersions operations. */ +export class JobVersionsImpl implements JobVersions { private readonly client: SqlManagementClientContext; /** - * Create a JobVersions. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class JobVersions class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,81 +38,134 @@ export class JobVersions { /** * Gets all versions of a job. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param callback The callback - */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param options The optional parameters - * @param callback The callback - */ - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobVersionsListByJobOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByJobPagingAll( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByJobPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + } + }; + } + + private async *listByJobPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobVersionsListByJobOptionalParams + ): AsyncIterableIterator { + let result = await this._listByJob( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByJobNext( resourceGroupName, serverName, jobAgentName, jobName, + continuationToken, options - }, - listByJobOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByJobPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobVersionsListByJobOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByJobPagingPage( + resourceGroupName, + serverName, + jobAgentName, + jobName, + options + )) { + yield* page; + } } /** - * Gets a job version. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param jobVersion The version of the job to get. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets all versions of a job. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param jobName The name of the job. - * @param jobVersion The version of the job to get. - * @param callback The callback + * @param jobName The name of the job to get. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, callback: msRest.ServiceCallback): void; + private _listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobVersionsListByJobOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, jobAgentName, jobName, options }, + listByJobOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a job version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job. * @param jobVersion The version of the job to get. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + options?: JobVersionsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -112,113 +175,108 @@ export class JobVersions { jobVersion, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Gets all versions of a job. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByJobNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByJobNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByJobNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param nextLink The nextLink from the previous successful call to the ListByJob method. + * @param options The options parameters. */ - listByJobNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByJobNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByJobNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + nextLink: string, + options?: JobVersionsListByJobNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + jobAgentName, + jobName, + nextLink, options }, - listByJobNextOperationSpec, - callback) as Promise; + listByJobNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByJobOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByJobOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.jobName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.JobVersionListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.jobName, - Parameters.jobVersion, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobVersion }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName, + Parameters.jobName, + Parameters.jobVersion + ], + headerParameters: [Parameters.accept], serializer }; - -const listByJobNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByJobNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobVersionListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName, + Parameters.jobName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/jobs.ts b/sdk/sql/arm-sql/src/operations/jobs.ts index e59fdf513162..fec7cbb29d55 100644 --- a/sdk/sql/arm-sql/src/operations/jobs.ts +++ b/sdk/sql/arm-sql/src/operations/jobs.ts @@ -1,26 +1,39 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/jobsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Jobs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + Job, + JobsListByAgentNextOptionalParams, + JobsListByAgentOptionalParams, + JobsListByAgentResponse, + JobsGetOptionalParams, + JobsGetResponse, + JobsCreateOrUpdateOptionalParams, + JobsCreateOrUpdateResponse, + JobsDeleteOptionalParams, + JobsListByAgentNextResponse +} from "../models"; -/** Class representing a Jobs. */ -export class Jobs { +/// +/** Class containing Jobs operations. */ +export class JobsImpl implements Jobs { private readonly client: SqlManagementClientContext; /** - * Create a Jobs. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Jobs class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,120 +41,145 @@ export class Jobs { /** * Gets a list of jobs. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param callback The callback - */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param options The optional parameters - * @param callback The callback - */ - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobsListByAgentOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByAgentPagingAll( + resourceGroupName, + serverName, + jobAgentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByAgentPagingPage( + resourceGroupName, + serverName, + jobAgentName, + options + ); + } + }; + } + + private async *listByAgentPagingPage( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobsListByAgentOptionalParams + ): AsyncIterableIterator { + let result = await this._listByAgent( + resourceGroupName, + serverName, + jobAgentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByAgentNext( resourceGroupName, serverName, jobAgentName, + continuationToken, options - }, - listByAgentOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByAgentPagingAll( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobsListByAgentOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByAgentPagingPage( + resourceGroupName, + serverName, + jobAgentName, + options + )) { + yield* page; + } } /** - * Gets a job. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of jobs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, callback: msRest.ServiceCallback): void; + private _listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobsListByAgentOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, jobAgentName, options }, + listByAgentOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a job. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - jobName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, jobName, options }, + getOperationSpec + ); } /** * Creates or updates a job. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param parameters The requested job state. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, parameters: Models.Job, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to get. - * @param parameters The requested job state. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, parameters: Models.Job, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to get. * @param parameters The requested job state. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, parameters: Models.Job, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, parameters: Models.Job, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + parameters: Job, + options?: JobsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -151,160 +189,104 @@ export class Jobs { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Deletes a job. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param jobAgentName The name of the job agent. * @param jobName The name of the job to delete. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to delete. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param jobAgentName The name of the job agent. - * @param jobName The name of the job to delete. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - jobAgentName, - jobName, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, serverName, jobAgentName, jobName, options }, + deleteOperationSpec + ); } /** - * Gets a list of jobs. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByAgentNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByAgentNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByAgentNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param nextLink The nextLink from the previous successful call to the ListByAgent method. + * @param options The options parameters. */ - listByAgentNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByAgentNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByAgentNext( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + nextLink: string, + options?: JobsListByAgentNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByAgentNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, jobAgentName, nextLink, options }, + listByAgentNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByAgentOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByAgentOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.jobAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.JobListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.jobAgentName, - Parameters.jobName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobAgentName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Job }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.jobName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.jobName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.Job, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Job @@ -312,56 +294,56 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.Job }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters35, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.jobAgentName, + Parameters.jobName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", + responses: { 200: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.jobAgentName, - Parameters.jobName, - Parameters.subscriptionId + Parameters.jobName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByAgentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByAgentNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.jobAgentName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/ledgerDigestUploadsOperations.ts b/sdk/sql/arm-sql/src/operations/ledgerDigestUploadsOperations.ts new file mode 100644 index 000000000000..9dd277487708 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/ledgerDigestUploadsOperations.ts @@ -0,0 +1,542 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { LedgerDigestUploadsOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + LedgerDigestUploads, + LedgerDigestUploadsOperationsListByDatabaseNextOptionalParams, + LedgerDigestUploadsOperationsListByDatabaseOptionalParams, + LedgerDigestUploadsName, + LedgerDigestUploadsOperationsGetOptionalParams, + LedgerDigestUploadsOperationsGetResponse, + LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams, + LedgerDigestUploadsOperationsCreateOrUpdateResponse, + LedgerDigestUploadsOperationsListByDatabaseResponse, + LedgerDigestUploadsOperationsDisableOptionalParams, + LedgerDigestUploadsOperationsDisableResponse, + LedgerDigestUploadsOperationsListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing LedgerDigestUploadsOperations operations. */ +export class LedgerDigestUploadsOperationsImpl + implements LedgerDigestUploadsOperations { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class LedgerDigestUploadsOperations class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets all ledger digest upload settings on a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LedgerDigestUploadsOperationsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LedgerDigestUploadsOperationsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LedgerDigestUploadsOperationsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets the current ledger digest upload configuration for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + options?: LedgerDigestUploadsOperationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + ledgerDigestUploads, + options + }, + getOperationSpec + ); + } + + /** + * Enables upload ledger digests to an Azure Storage account or an Azure Confidential Ledger instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param parameters Azure SQL Database ledger digest upload settings. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + parameters: LedgerDigestUploads, + options?: LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LedgerDigestUploadsOperationsCreateOrUpdateResponse + > + > { + 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, + serverName, + databaseName, + ledgerDigestUploads, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Enables upload ledger digests to an Azure Storage account or an Azure Confidential Ledger instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param parameters Azure SQL Database ledger digest upload settings. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + parameters: LedgerDigestUploads, + options?: LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + ledgerDigestUploads, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets all ledger digest upload settings on a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LedgerDigestUploadsOperationsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * Disables uploading ledger digests to an Azure Storage account or an Azure Confidential Ledger + * instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param options The options parameters. + */ + async beginDisable( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + options?: LedgerDigestUploadsOperationsDisableOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LedgerDigestUploadsOperationsDisableResponse + > + > { + 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, + serverName, + databaseName, + ledgerDigestUploads, + options + }, + disableOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Disables uploading ledger digests to an Azure Storage account or an Azure Confidential Ledger + * instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param options The options parameters. + */ + async beginDisableAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + options?: LedgerDigestUploadsOperationsDisableOptionalParams + ): Promise { + const poller = await this.beginDisable( + resourceGroupName, + serverName, + databaseName, + ledgerDigestUploads, + options + ); + return poller.pollUntilDone(); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: LedgerDigestUploadsOperationsListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/ledgerDigestUploads/{ledgerDigestUploads}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LedgerDigestUploads + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.ledgerDigestUploads + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/ledgerDigestUploads/{ledgerDigestUploads}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.LedgerDigestUploads + }, + 201: { + bodyMapper: Mappers.LedgerDigestUploads + }, + 202: { + bodyMapper: Mappers.LedgerDigestUploads + }, + 204: { + bodyMapper: Mappers.LedgerDigestUploads + }, + default: {} + }, + requestBody: Parameters.parameters83, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.ledgerDigestUploads + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/ledgerDigestUploads", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LedgerDigestUploadsListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const disableOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/ledgerDigestUploads/{ledgerDigestUploads}/disable", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.LedgerDigestUploads + }, + 201: { + bodyMapper: Mappers.LedgerDigestUploads + }, + 202: { + bodyMapper: Mappers.LedgerDigestUploads + }, + 204: { + bodyMapper: Mappers.LedgerDigestUploads + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.ledgerDigestUploads + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LedgerDigestUploadsListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/longTermRetentionBackups.ts b/sdk/sql/arm-sql/src/operations/longTermRetentionBackups.ts index 6bc0a26893ad..e58aedc3e32f 100644 --- a/sdk/sql/arm-sql/src/operations/longTermRetentionBackups.ts +++ b/sdk/sql/arm-sql/src/operations/longTermRetentionBackups.ts @@ -1,240 +1,753 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/longTermRetentionBackupsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { LongTermRetentionBackups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + LongTermRetentionBackup, + LongTermRetentionBackupsListByDatabaseNextOptionalParams, + LongTermRetentionBackupsListByDatabaseOptionalParams, + LongTermRetentionBackupsListByLocationNextOptionalParams, + LongTermRetentionBackupsListByLocationOptionalParams, + LongTermRetentionBackupsListByServerNextOptionalParams, + LongTermRetentionBackupsListByServerOptionalParams, + LongTermRetentionBackupsListByResourceGroupDatabaseNextOptionalParams, + LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams, + LongTermRetentionBackupsListByResourceGroupLocationNextOptionalParams, + LongTermRetentionBackupsListByResourceGroupLocationOptionalParams, + LongTermRetentionBackupsListByResourceGroupServerNextOptionalParams, + LongTermRetentionBackupsListByResourceGroupServerOptionalParams, + CopyLongTermRetentionBackupParameters, + LongTermRetentionBackupsCopyOptionalParams, + LongTermRetentionBackupsCopyResponse, + UpdateLongTermRetentionBackupParameters, + LongTermRetentionBackupsUpdateOptionalParams, + LongTermRetentionBackupsUpdateResponse, + LongTermRetentionBackupsGetOptionalParams, + LongTermRetentionBackupsGetResponse, + LongTermRetentionBackupsDeleteOptionalParams, + LongTermRetentionBackupsListByDatabaseResponse, + LongTermRetentionBackupsListByLocationResponse, + LongTermRetentionBackupsListByServerResponse, + LongTermRetentionBackupsCopyByResourceGroupOptionalParams, + LongTermRetentionBackupsCopyByResourceGroupResponse, + LongTermRetentionBackupsUpdateByResourceGroupOptionalParams, + LongTermRetentionBackupsUpdateByResourceGroupResponse, + LongTermRetentionBackupsGetByResourceGroupOptionalParams, + LongTermRetentionBackupsGetByResourceGroupResponse, + LongTermRetentionBackupsDeleteByResourceGroupOptionalParams, + LongTermRetentionBackupsListByResourceGroupDatabaseResponse, + LongTermRetentionBackupsListByResourceGroupLocationResponse, + LongTermRetentionBackupsListByResourceGroupServerResponse, + LongTermRetentionBackupsListByDatabaseNextResponse, + LongTermRetentionBackupsListByLocationNextResponse, + LongTermRetentionBackupsListByServerNextResponse, + LongTermRetentionBackupsListByResourceGroupDatabaseNextResponse, + LongTermRetentionBackupsListByResourceGroupLocationNextResponse, + LongTermRetentionBackupsListByResourceGroupServerNextResponse +} from "../models"; -/** Class representing a LongTermRetentionBackups. */ -export class LongTermRetentionBackups { +/// +/** Class containing LongTermRetentionBackups operations. */ +export class LongTermRetentionBackupsImpl implements LongTermRetentionBackups { private readonly client: SqlManagementClientContext; /** - * Create a LongTermRetentionBackups. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class LongTermRetentionBackups class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a long term retention backup. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database. - * @param longTermRetentionServerName The name of the server - * @param longTermRetentionDatabaseName The name of the database - * @param backupName The backup name. - * @param [options] The optional parameters - * @returns Promise - */ - getByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database. - * @param longTermRetentionServerName The name of the server - * @param longTermRetentionDatabaseName The name of the database - * @param backupName The backup name. - * @param callback The callback - */ - getByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database. + * Lists all long term retention backups for a database. + * @param locationName The location of the database * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database - * @param backupName The backup name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - getByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, + public listByDatabase( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( locationName, longTermRetentionServerName, longTermRetentionDatabaseName, - backupName, + continuationToken, options - }, - getByResourceGroupOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Deletes a long term retention backup. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database - * @param longTermRetentionServerName The name of the server - * @param longTermRetentionDatabaseName The name of the database - * @param backupName The backup name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteByResourceGroup(resourceGroupName,locationName,longTermRetentionServerName,longTermRetentionDatabaseName,backupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + private async *listByDatabasePagingAll( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + options + )) { + yield* page; + } } /** - * Lists all long term retention backups for a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the long term retention backups for a given location. * @param locationName The location of the database - * @param longTermRetentionServerName The name of the server - * @param longTermRetentionDatabaseName The name of the database - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByResourceGroupDatabase(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: Models.LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams): Promise; + public listByLocation( + locationName: string, + options?: LongTermRetentionBackupsListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll(locationName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage(locationName, options); + } + }; + } + + private async *listByLocationPagingPage( + locationName: string, + options?: LongTermRetentionBackupsListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation(locationName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( + locationName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + locationName: string, + options?: LongTermRetentionBackupsListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage( + locationName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the long term retention backups for a given server. * @param locationName The location of the database * @param longTermRetentionServerName The name of the server - * @param longTermRetentionDatabaseName The name of the database - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroupDatabase(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, callback: msRest.ServiceCallback): void; + public listByServer( + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + locationName, + longTermRetentionServerName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + locationName, + longTermRetentionServerName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + locationName, + longTermRetentionServerName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + locationName, + longTermRetentionServerName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + locationName, + longTermRetentionServerName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists all long term retention backups for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The location of the database * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroupDatabase(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options: Models.LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams, callback: msRest.ServiceCallback): void; - listByResourceGroupDatabase(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: Models.LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByResourceGroupDatabase( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupDatabasePagingAll( + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupDatabasePagingPage( + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + options + ); + } + }; + } + + private async *listByResourceGroupDatabasePagingPage( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroupDatabase( + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupDatabaseNext( resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, + continuationToken, options - }, - listByResourceGroupDatabaseOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupDatabasePagingAll( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupDatabasePagingPage( + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + options + )) { + yield* page; + } } /** * Lists the long term retention backups for a given location. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupLocation(resourceGroupName: string, locationName: string, options?: Models.LongTermRetentionBackupsListByResourceGroupLocationOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database - * @param callback The callback - */ - listByResourceGroupLocation(resourceGroupName: string, locationName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The location of the database - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroupLocation(resourceGroupName: string, locationName: string, options: Models.LongTermRetentionBackupsListByResourceGroupLocationOptionalParams, callback: msRest.ServiceCallback): void; - listByResourceGroupLocation(resourceGroupName: string, locationName: string, options?: Models.LongTermRetentionBackupsListByResourceGroupLocationOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByResourceGroupLocation( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionBackupsListByResourceGroupLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupLocationPagingAll( + resourceGroupName, + locationName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupLocationPagingPage( + resourceGroupName, + locationName, + options + ); + } + }; + } + + private async *listByResourceGroupLocationPagingPage( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionBackupsListByResourceGroupLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroupLocation( + resourceGroupName, + locationName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupLocationNext( resourceGroupName, locationName, + continuationToken, options - }, - listByResourceGroupLocationOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupLocationPagingAll( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionBackupsListByResourceGroupLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupLocationPagingPage( + resourceGroupName, + locationName, + options + )) { + yield* page; + } } /** * Lists the long term retention backups for a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database - * @param longTermRetentionServerName The name of the server - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupServer(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, options?: Models.LongTermRetentionBackupsListByResourceGroupServerOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The location of the database * @param longTermRetentionServerName The name of the server - * @param callback The callback + * @param options The options parameters. */ - listByResourceGroupServer(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, callback: msRest.ServiceCallback): void; + public listByResourceGroupServer( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByResourceGroupServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupServerPagingAll( + resourceGroupName, + locationName, + longTermRetentionServerName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupServerPagingPage( + resourceGroupName, + locationName, + longTermRetentionServerName, + options + ); + } + }; + } + + private async *listByResourceGroupServerPagingPage( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByResourceGroupServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroupServer( + resourceGroupName, + locationName, + longTermRetentionServerName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupServerNext( + resourceGroupName, + locationName, + longTermRetentionServerName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupServerPagingAll( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByResourceGroupServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupServerPagingPage( + resourceGroupName, + locationName, + longTermRetentionServerName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database + * Copy an existing long term retention backup. + * @param locationName The location of the database. * @param longTermRetentionServerName The name of the server - * @param options The optional parameters - * @param callback The callback + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The parameters needed for long term retention copy request + * @param options The options parameters. */ - listByResourceGroupServer(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, options: Models.LongTermRetentionBackupsListByResourceGroupServerOptionalParams, callback: msRest.ServiceCallback): void; - listByResourceGroupServer(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, options?: Models.LongTermRetentionBackupsListByResourceGroupServerOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCopy( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: CopyLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsCopyOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionBackupsCopyResponse + > + > { + 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, locationName, longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + parameters, options }, - listByResourceGroupServerOperationSpec, - callback) as Promise; + copyOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a long term retention backup. + * Copy an existing long term retention backup. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The parameters needed for long term retention copy request + * @param options The options parameters. + */ + async beginCopyAndWait( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: CopyLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsCopyOptionalParams + ): Promise { + const poller = await this.beginCopy( + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates an existing long term retention backup. * @param locationName The location of the database. * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database * @param backupName The backup name. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The requested backup resource state + * @param options The options parameters. */ - get(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: msRest.RequestOptionsBase): Promise; + async beginUpdate( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: UpdateLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionBackupsUpdateResponse + > + > { + 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, + { + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + parameters, + options + }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** + * Updates an existing long term retention backup. * @param locationName The location of the database. * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database * @param backupName The backup name. - * @param callback The callback + * @param parameters The requested backup resource state + * @param options The options parameters. */ - get(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, callback: msRest.ServiceCallback): void; + async beginUpdateAndWait( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: UpdateLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** + * Gets a long term retention backup. * @param locationName The location of the database. * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database * @param backupName The backup name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { locationName, @@ -243,8 +756,8 @@ export class LongTermRetentionBackups { backupName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** @@ -253,39 +766,109 @@ export class LongTermRetentionBackups { * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database * @param backupName The backup name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(locationName,longTermRetentionServerName,longTermRetentionDatabaseName,backupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginDelete( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsDeleteOptionalParams + ): 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, + { + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + options + }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists all long term retention backups for a database. - * @param locationName The location of the database - * @param longTermRetentionServerName The name of the server - * @param longTermRetentionDatabaseName The name of the database - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: Models.LongTermRetentionBackupsListByDatabaseOptionalParams): Promise; - /** + * Deletes a long term retention backup. * @param locationName The location of the database * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database - * @param callback The callback + * @param backupName The backup name. + * @param options The options parameters. */ - listByDatabase(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, callback: msRest.ServiceCallback): void; + async beginDeleteAndWait( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + options + ); + return poller.pollUntilDone(); + } + /** + * Lists all long term retention backups for a database. * @param locationName The location of the database * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByDatabase(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options: Models.LongTermRetentionBackupsListByDatabaseOptionalParams, callback: msRest.ServiceCallback): void; - listByDatabase(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: Models.LongTermRetentionBackupsListByDatabaseOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( { locationName, @@ -293,83 +876,291 @@ export class LongTermRetentionBackups { longTermRetentionDatabaseName, options }, - listByDatabaseOperationSpec, - callback) as Promise; + listByDatabaseOperationSpec + ); } /** * Lists the long term retention backups for a given location. * @param locationName The location of the database - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByLocation(locationName: string, options?: Models.LongTermRetentionBackupsListByLocationOptionalParams): Promise; + private _listByLocation( + locationName: string, + options?: LongTermRetentionBackupsListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, options }, + listByLocationOperationSpec + ); + } + /** + * Lists the long term retention backups for a given server. * @param locationName The location of the database - * @param callback The callback + * @param longTermRetentionServerName The name of the server + * @param options The options parameters. */ - listByLocation(locationName: string, callback: msRest.ServiceCallback): void; + private _listByServer( + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, longTermRetentionServerName, options }, + listByServerOperationSpec + ); + } + /** - * @param locationName The location of the database - * @param options The optional parameters - * @param callback The callback + * Copy an existing long term retention backup to a different server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The parameters needed for long term retention copy request + * @param options The options parameters. */ - listByLocation(locationName: string, options: Models.LongTermRetentionBackupsListByLocationOptionalParams, callback: msRest.ServiceCallback): void; - listByLocation(locationName: string, options?: Models.LongTermRetentionBackupsListByLocationOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCopyByResourceGroup( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: CopyLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionBackupsCopyByResourceGroupResponse + > + > { + 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, locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + parameters, options }, - listByLocationOperationSpec, - callback) as Promise; + copyByResourceGroupOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists the long term retention backups for a given server. - * @param locationName The location of the database - * @param longTermRetentionServerName The name of the server - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(locationName: string, longTermRetentionServerName: string, options?: Models.LongTermRetentionBackupsListByServerOptionalParams): Promise; - /** - * @param locationName The location of the database + * Copy an existing long term retention backup to a different server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. * @param longTermRetentionServerName The name of the server - * @param callback The callback + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The parameters needed for long term retention copy request + * @param options The options parameters. */ - listByServer(locationName: string, longTermRetentionServerName: string, callback: msRest.ServiceCallback): void; + async beginCopyByResourceGroupAndWait( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: CopyLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams + ): Promise { + const poller = await this.beginCopyByResourceGroup( + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param locationName The location of the database + * Updates an existing long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. * @param longTermRetentionServerName The name of the server - * @param options The optional parameters - * @param callback The callback + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The requested backup resource state + * @param options The options parameters. */ - listByServer(locationName: string, longTermRetentionServerName: string, options: Models.LongTermRetentionBackupsListByServerOptionalParams, callback: msRest.ServiceCallback): void; - listByServer(locationName: string, longTermRetentionServerName: string, options?: Models.LongTermRetentionBackupsListByServerOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginUpdateByResourceGroup( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: UpdateLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionBackupsUpdateByResourceGroupResponse + > + > { + 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, locationName, longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + parameters, options }, - listByServerOperationSpec, - callback) as Promise; + updateByResourceGroupOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Deletes a long term retention backup. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param locationName The location of the database + * Updates an existing long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The requested backup resource state + * @param options The options parameters. + */ + async beginUpdateByResourceGroupAndWait( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: UpdateLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams + ): Promise { + const poller = await this.beginUpdateByResourceGroup( + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database * @param backupName The backup name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + getByResourceGroup( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsGetByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( { resourceGroupName, locationName, @@ -378,598 +1169,831 @@ export class LongTermRetentionBackups { backupName, options }, - beginDeleteByResourceGroupOperationSpec, - options); + getByResourceGroupOperationSpec + ); } /** * Deletes a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param locationName The location of the database * @param longTermRetentionServerName The name of the server * @param longTermRetentionDatabaseName The name of the database * @param backupName The backup name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginDeleteByResourceGroup( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams + ): 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, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, options }, - beginDeleteMethodOperationSpec, - options); + deleteByResourceGroupOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists all long term retention backups for a database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Deletes a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param options The options parameters. */ - listByResourceGroupDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginDeleteByResourceGroupAndWait( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams + ): Promise { + const poller = await this.beginDeleteByResourceGroup( + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + backupName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Lists all long term retention backups for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param options The options parameters. */ - listByResourceGroupDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroupDatabase( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, options }, - listByResourceGroupDatabaseNextOperationSpec, - callback) as Promise; + listByResourceGroupDatabaseOperationSpec + ); } /** * Lists the long term retention backups for a given location. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupLocationNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param options The options parameters. */ - listByResourceGroupLocationNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroupLocation( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionBackupsListByResourceGroupLocationOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupLocationNextOperationSpec, - callback) as Promise; + { resourceGroupName, locationName, options }, + listByResourceGroupLocationOperationSpec + ); } /** * Lists the long term retention backups for a given server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param options The options parameters. */ - listByResourceGroupServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByResourceGroupServer( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByResourceGroupServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, longTermRetentionServerName, options }, + listByResourceGroupServerOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByResourceGroupServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + nextLink: string, + options?: LongTermRetentionBackupsListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + nextLink, options }, - listByResourceGroupServerNextOperationSpec, - callback) as Promise; + listByDatabaseNextOperationSpec + ); } /** - * Lists all long term retention backups for a database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByLocationNext + * @param locationName The location of the database + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByLocationNext( + locationName: string, + nextLink: string, + options?: LongTermRetentionBackupsListByLocationNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDatabaseNextOperationSpec, - callback) as Promise; + { locationName, nextLink, options }, + listByLocationNextOperationSpec + ); } /** - * Lists the long term retention backups for a given location. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByServerNext + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByLocationNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByServerNext( + locationName: string, + longTermRetentionServerName: string, + nextLink: string, + options?: LongTermRetentionBackupsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, longTermRetentionServerName, nextLink, options }, + listByServerNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupDatabase + * method. + * @param options The options parameters. */ - listByLocationNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroupDatabaseNext( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + nextLink: string, + options?: LongTermRetentionBackupsListByResourceGroupDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + locationName, + longTermRetentionServerName, + longTermRetentionDatabaseName, + nextLink, options }, - listByLocationNextOperationSpec, - callback) as Promise; + listByResourceGroupDatabaseNextOperationSpec + ); } /** - * Lists the long term retention backups for a given server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByResourceGroupLocationNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupLocation + * method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByResourceGroupLocationNext( + resourceGroupName: string, + locationName: string, + nextLink: string, + options?: LongTermRetentionBackupsListByResourceGroupLocationNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, nextLink, options }, + listByResourceGroupLocationNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupServer + * method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroupServerNext( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + nextLink: string, + options?: LongTermRetentionBackupsListByResourceGroupServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + locationName, + longTermRetentionServerName, + nextLink, options }, - listByServerNextOperationSpec, - callback) as Promise; + listByResourceGroupServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const copyOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}/copy", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 201: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 202: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 204: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + default: {} + }, + requestBody: Parameters.parameters38, + queryParameters: [Parameters.apiVersion2], urlParameters: [ - Parameters.resourceGroupName, + Parameters.$host, + Parameters.subscriptionId, Parameters.locationName, Parameters.longTermRetentionServerName, Parameters.longTermRetentionDatabaseName, - Parameters.backupName, - Parameters.subscriptionId + Parameters.backupName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}/update", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 201: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 202: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 204: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + default: {} + }, + requestBody: Parameters.parameters39, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.longTermRetentionServerName, + Parameters.longTermRetentionDatabaseName, + Parameters.backupName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackup }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.longTermRetentionServerName, + Parameters.longTermRetentionDatabaseName, + Parameters.backupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ - Parameters.resourceGroupName, + Parameters.$host, + Parameters.subscriptionId, Parameters.locationName, Parameters.longTermRetentionServerName, Parameters.longTermRetentionDatabaseName, - Parameters.subscriptionId + Parameters.backupName ], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LongTermRetentionBackupListResult + }, + default: {} + }, queryParameters: [ + Parameters.apiVersion2, Parameters.onlyLatestPerDatabase, - Parameters.databaseState, - Parameters.apiVersion4 + Parameters.databaseState ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.longTermRetentionServerName, + Parameters.longTermRetentionDatabaseName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByResourceGroupLocationOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.locationName, - Parameters.subscriptionId - ], queryParameters: [ + Parameters.apiVersion2, Parameters.onlyLatestPerDatabase, - Parameters.databaseState, - Parameters.apiVersion4 + Parameters.databaseState ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.longTermRetentionServerName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups", +const copyByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}/copy", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 201: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 202: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 204: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + default: {} + }, + requestBody: Parameters.parameters38, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.locationName, Parameters.longTermRetentionServerName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.onlyLatestPerDatabase, - Parameters.databaseState, - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.longTermRetentionDatabaseName, + Parameters.backupName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}/update", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.LongTermRetentionBackupListResult + bodyMapper: Mappers.LongTermRetentionBackupOperationResult }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 202: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + 204: { + bodyMapper: Mappers.LongTermRetentionBackupOperationResult + }, + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", + requestBody: Parameters.parameters39, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, Parameters.locationName, Parameters.longTermRetentionServerName, Parameters.longTermRetentionDatabaseName, - Parameters.backupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.backupName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackup }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName, + Parameters.longTermRetentionServerName, + Parameters.longTermRetentionDatabaseName, + Parameters.backupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups", +const deleteByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, Parameters.locationName, Parameters.longTermRetentionServerName, Parameters.longTermRetentionDatabaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.onlyLatestPerDatabase, - Parameters.databaseState, - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.backupName ], + serializer +}; +const listByResourceGroupDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByLocationOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups", - urlParameters: [ - Parameters.locationName, - Parameters.subscriptionId - ], queryParameters: [ + Parameters.apiVersion2, Parameters.onlyLatestPerDatabase, - Parameters.databaseState, - Parameters.apiVersion4 + Parameters.databaseState ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName, + Parameters.longTermRetentionServerName, + Parameters.longTermRetentionDatabaseName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups", - urlParameters: [ - Parameters.locationName, - Parameters.longTermRetentionServerName, - Parameters.subscriptionId - ], queryParameters: [ + Parameters.apiVersion2, Parameters.onlyLatestPerDatabase, - Parameters.databaseState, - Parameters.apiVersion4 + Parameters.databaseState ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginDeleteByResourceGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.locationName, - Parameters.longTermRetentionServerName, - Parameters.longTermRetentionDatabaseName, - Parameters.backupName, - Parameters.subscriptionId - ], queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, Parameters.locationName, - Parameters.longTermRetentionServerName, - Parameters.longTermRetentionDatabaseName, - Parameters.backupName, - Parameters.subscriptionId + Parameters.longTermRetentionServerName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName, + Parameters.longTermRetentionServerName, + Parameters.longTermRetentionDatabaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupLocationNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByLocationNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName, + Parameters.longTermRetentionServerName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.locationName, + Parameters.longTermRetentionServerName, + Parameters.longTermRetentionDatabaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByLocationNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupLocationNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LongTermRetentionBackupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.locationName, + Parameters.longTermRetentionServerName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/longTermRetentionManagedInstanceBackups.ts b/sdk/sql/arm-sql/src/operations/longTermRetentionManagedInstanceBackups.ts new file mode 100644 index 000000000000..e455c37396bd --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/longTermRetentionManagedInstanceBackups.ts @@ -0,0 +1,1409 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { LongTermRetentionManagedInstanceBackups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedInstanceLongTermRetentionBackup, + LongTermRetentionManagedInstanceBackupsListByDatabaseNextOptionalParams, + LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams, + LongTermRetentionManagedInstanceBackupsListByInstanceNextOptionalParams, + LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams, + LongTermRetentionManagedInstanceBackupsListByLocationNextOptionalParams, + LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams, + LongTermRetentionManagedInstanceBackupsGetOptionalParams, + LongTermRetentionManagedInstanceBackupsGetResponse, + LongTermRetentionManagedInstanceBackupsDeleteOptionalParams, + LongTermRetentionManagedInstanceBackupsListByDatabaseResponse, + LongTermRetentionManagedInstanceBackupsListByInstanceResponse, + LongTermRetentionManagedInstanceBackupsListByLocationResponse, + LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams, + LongTermRetentionManagedInstanceBackupsGetByResourceGroupResponse, + LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseResponse, + LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceResponse, + LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationResponse, + LongTermRetentionManagedInstanceBackupsListByDatabaseNextResponse, + LongTermRetentionManagedInstanceBackupsListByInstanceNextResponse, + LongTermRetentionManagedInstanceBackupsListByLocationNextResponse, + LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextResponse, + LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextResponse, + LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextResponse +} from "../models"; + +/// +/** Class containing LongTermRetentionManagedInstanceBackups operations. */ +export class LongTermRetentionManagedInstanceBackupsImpl + implements LongTermRetentionManagedInstanceBackups { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class LongTermRetentionManagedInstanceBackups class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Lists all long term retention backups for a managed database. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param options The options parameters. + */ + public listByDatabase( + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + locationName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + locationName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + locationName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + locationName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + locationName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Lists the long term retention backups for a given managed instance. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + public listByInstance( + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + locationName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + locationName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + locationName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( + locationName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + locationName, + managedInstanceName, + options + )) { + yield* page; + } + } + + /** + * Lists the long term retention backups for managed databases in a given location. + * @param locationName The location of the database. + * @param options The options parameters. + */ + public listByLocation( + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll(locationName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage(locationName, options); + } + }; + } + + private async *listByLocationPagingPage( + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation(locationName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( + locationName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage( + locationName, + options + )) { + yield* page; + } + } + + /** + * Lists all long term retention backups for a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param options The options parameters. + */ + public listByResourceGroupDatabase( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupDatabasePagingAll( + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupDatabasePagingPage( + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByResourceGroupDatabasePagingPage( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroupDatabase( + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupDatabaseNext( + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupDatabasePagingAll( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupDatabasePagingPage( + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Lists the long term retention backups for a given managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + public listByResourceGroupInstance( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupInstancePagingAll( + resourceGroupName, + locationName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupInstancePagingPage( + resourceGroupName, + locationName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByResourceGroupInstancePagingPage( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroupInstance( + resourceGroupName, + locationName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupInstanceNext( + resourceGroupName, + locationName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupInstancePagingAll( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupInstancePagingPage( + resourceGroupName, + locationName, + managedInstanceName, + options + )) { + yield* page; + } + } + + /** + * Lists the long term retention backups for managed databases in a given location. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param options The options parameters. + */ + public listByResourceGroupLocation( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupLocationPagingAll( + resourceGroupName, + locationName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByResourceGroupLocationPagingPage( + resourceGroupName, + locationName, + options + ); + } + }; + } + + private async *listByResourceGroupLocationPagingPage( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroupLocation( + resourceGroupName, + locationName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupLocationNext( + resourceGroupName, + locationName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupLocationPagingAll( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupLocationPagingPage( + resourceGroupName, + locationName, + options + )) { + yield* page; + } + } + + /** + * Gets a long term retention backup for a managed database. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + get( + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, managedInstanceName, databaseName, backupName, options }, + getOperationSpec + ); + } + + /** + * Deletes a long term retention backup. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + async beginDelete( + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsDeleteOptionalParams + ): 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, + { locationName, managedInstanceName, databaseName, backupName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a long term retention backup. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + async beginDeleteAndWait( + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + locationName, + managedInstanceName, + databaseName, + backupName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Lists all long term retention backups for a managed database. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param options The options parameters. + */ + private _listByDatabase( + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * Lists the long term retention backups for a given managed instance. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + private _listByInstance( + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + + /** + * Lists the long term retention backups for managed databases in a given location. + * @param locationName The location of the database. + * @param options The options parameters. + */ + private _listByLocation( + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, options }, + listByLocationOperationSpec + ); + } + + /** + * Gets a long term retention backup for a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + getByResourceGroup( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsGetByResourceGroupResponse + > { + return this.client.sendOperationRequest( + { + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + backupName, + options + }, + getByResourceGroupOperationSpec + ); + } + + /** + * Deletes a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + async beginDeleteByResourceGroup( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams + ): 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, + locationName, + managedInstanceName, + databaseName, + backupName, + options + }, + deleteByResourceGroupOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + async beginDeleteByResourceGroupAndWait( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams + ): Promise { + const poller = await this.beginDeleteByResourceGroup( + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + backupName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Lists all long term retention backups for a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param options The options parameters. + */ + private _listByResourceGroupDatabase( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseResponse + > { + return this.client.sendOperationRequest( + { + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + options + }, + listByResourceGroupDatabaseOperationSpec + ); + } + + /** + * Lists the long term retention backups for a given managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + private _listByResourceGroupInstance( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, managedInstanceName, options }, + listByResourceGroupInstanceOperationSpec + ); + } + + /** + * Lists the long term retention backups for managed databases in a given location. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param options The options parameters. + */ + private _listByResourceGroupLocation( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, options }, + listByResourceGroupLocationOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + locationName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: LongTermRetentionManagedInstanceBackupsListByDatabaseNextOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByDatabaseNextResponse + > { + return this.client.sendOperationRequest( + { locationName, managedInstanceName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } + + /** + * ListByInstanceNext + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. + */ + private _listByInstanceNext( + locationName: string, + managedInstanceName: string, + nextLink: string, + options?: LongTermRetentionManagedInstanceBackupsListByInstanceNextOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByInstanceNextResponse + > { + return this.client.sendOperationRequest( + { locationName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); + } + + /** + * ListByLocationNext + * @param locationName The location of the database. + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. + */ + private _listByLocationNext( + locationName: string, + nextLink: string, + options?: LongTermRetentionManagedInstanceBackupsListByLocationNextOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByLocationNextResponse + > { + return this.client.sendOperationRequest( + { locationName, nextLink, options }, + listByLocationNextOperationSpec + ); + } + + /** + * ListByResourceGroupDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupDatabase + * method. + * @param options The options parameters. + */ + private _listByResourceGroupDatabaseNext( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextResponse + > { + return this.client.sendOperationRequest( + { + resourceGroupName, + locationName, + managedInstanceName, + databaseName, + nextLink, + options + }, + listByResourceGroupDatabaseNextOperationSpec + ); + } + + /** + * ListByResourceGroupInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupInstance + * method. + * @param options The options parameters. + */ + private _listByResourceGroupInstanceNext( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + nextLink: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextResponse + > { + return this.client.sendOperationRequest( + { + resourceGroupName, + locationName, + managedInstanceName, + nextLink, + options + }, + listByResourceGroupInstanceNextOperationSpec + ); + } + + /** + * ListByResourceGroupLocationNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupLocation + * method. + * @param options The options parameters. + */ + private _listByResourceGroupLocationNext( + resourceGroupName: string, + locationName: string, + nextLink: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextOptionalParams + ): Promise< + LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, nextLink, options }, + listByResourceGroupLocationNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackup + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.databaseName, + Parameters.locationName, + Parameters.backupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.databaseName, + Parameters.locationName, + Parameters.backupName, + Parameters.managedInstanceName + ], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.databaseName, + Parameters.locationName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionManagedInstanceBackups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstanceBackups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackup + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.locationName, + Parameters.backupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.locationName, + Parameters.backupName, + Parameters.managedInstanceName + ], + serializer +}; +const listByResourceGroupDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.locationName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionManagedInstanceBackups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstanceBackups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.databaseName, + Parameters.nextLink, + Parameters.locationName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByLocationNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.locationName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupInstanceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.locationName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupLocationNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionBackupListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.onlyLatestPerDatabase, + Parameters.databaseState + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/longTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operations/longTermRetentionPolicies.ts new file mode 100644 index 000000000000..2f1a1dd5240c --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/longTermRetentionPolicies.ts @@ -0,0 +1,398 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { LongTermRetentionPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + LongTermRetentionPolicy, + LongTermRetentionPoliciesListByDatabaseNextOptionalParams, + LongTermRetentionPoliciesListByDatabaseOptionalParams, + LongTermRetentionPolicyName, + LongTermRetentionPoliciesGetOptionalParams, + LongTermRetentionPoliciesGetResponse, + LongTermRetentionPoliciesCreateOrUpdateOptionalParams, + LongTermRetentionPoliciesCreateOrUpdateResponse, + LongTermRetentionPoliciesListByDatabaseResponse, + LongTermRetentionPoliciesListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing LongTermRetentionPolicies operations. */ +export class LongTermRetentionPoliciesImpl + implements LongTermRetentionPolicies { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class LongTermRetentionPolicies class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LongTermRetentionPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LongTermRetentionPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LongTermRetentionPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: LongTermRetentionPolicyName, + options?: LongTermRetentionPoliciesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, policyName, options }, + getOperationSpec + ); + } + + /** + * Sets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param parameters The long term retention policy info. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: LongTermRetentionPolicyName, + parameters: LongTermRetentionPolicy, + options?: LongTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionPoliciesCreateOrUpdateResponse + > + > { + 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, + serverName, + databaseName, + policyName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Sets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param parameters The long term retention policy info. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: LongTermRetentionPolicyName, + parameters: LongTermRetentionPolicy, + options?: LongTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LongTermRetentionPoliciesListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: LongTermRetentionPoliciesListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LongTermRetentionPolicy + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.policyName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.LongTermRetentionPolicy + }, + 201: { + bodyMapper: Mappers.LongTermRetentionPolicy + }, + 202: { + bodyMapper: Mappers.LongTermRetentionPolicy + }, + 204: { + bodyMapper: Mappers.LongTermRetentionPolicy + }, + default: {} + }, + requestBody: Parameters.parameters40, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.policyName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LongTermRetentionPolicyListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LongTermRetentionPolicyListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/maintenanceWindowOptionsOperations.ts b/sdk/sql/arm-sql/src/operations/maintenanceWindowOptionsOperations.ts new file mode 100644 index 000000000000..ba4c97cd220b --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/maintenanceWindowOptionsOperations.ts @@ -0,0 +1,86 @@ +/* + * 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 { MaintenanceWindowOptionsOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + MaintenanceWindowOptionsOperationsGetOptionalParams, + MaintenanceWindowOptionsOperationsGetResponse +} from "../models"; + +/** Class containing MaintenanceWindowOptionsOperations operations. */ +export class MaintenanceWindowOptionsOperationsImpl + implements MaintenanceWindowOptionsOperations { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class MaintenanceWindowOptionsOperations class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of available maintenance windows. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to get maintenance windows options for. + * @param maintenanceWindowOptionsName Maintenance window options name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + maintenanceWindowOptionsName: string, + options?: MaintenanceWindowOptionsOperationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + maintenanceWindowOptionsName, + options + }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/maintenanceWindowOptions/current", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MaintenanceWindowOptions + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.maintenanceWindowOptionsName + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/maintenanceWindowsOperations.ts b/sdk/sql/arm-sql/src/operations/maintenanceWindowsOperations.ts new file mode 100644 index 000000000000..1c52f97da5e4 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/maintenanceWindowsOperations.ts @@ -0,0 +1,134 @@ +/* + * 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 { MaintenanceWindowsOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + MaintenanceWindowsOperationsGetOptionalParams, + MaintenanceWindowsOperationsGetResponse, + MaintenanceWindows, + MaintenanceWindowsOperationsCreateOrUpdateOptionalParams +} from "../models"; + +/** Class containing MaintenanceWindowsOperations operations. */ +export class MaintenanceWindowsOperationsImpl + implements MaintenanceWindowsOperations { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class MaintenanceWindowsOperations class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets maintenance windows settings for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to get maintenance windows for. + * @param maintenanceWindowName Maintenance window name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + maintenanceWindowName: string, + options?: MaintenanceWindowsOperationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + maintenanceWindowName, + options + }, + getOperationSpec + ); + } + + /** + * Sets maintenance windows settings for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to set maintenance windows for. + * @param maintenanceWindowName Maintenance window name. + * @param parameters Maintenance windows. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + maintenanceWindowName: string, + parameters: MaintenanceWindows, + options?: MaintenanceWindowsOperationsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + maintenanceWindowName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/maintenanceWindows/current", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MaintenanceWindows + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.maintenanceWindowName], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/maintenanceWindows/current", + httpMethod: "PUT", + responses: { 200: {}, default: {} }, + requestBody: Parameters.parameters41, + queryParameters: [Parameters.apiVersion2, Parameters.maintenanceWindowName], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedBackupShortTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operations/managedBackupShortTermRetentionPolicies.ts index 825d783a4032..2efd7e7edb95 100644 --- a/sdk/sql/arm-sql/src/operations/managedBackupShortTermRetentionPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/managedBackupShortTermRetentionPolicies.ts @@ -1,357 +1,558 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedBackupShortTermRetentionPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedBackupShortTermRetentionPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedBackupShortTermRetentionPolicy, + ManagedBackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams, + ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams, + ManagedShortTermRetentionPolicyName, + ManagedBackupShortTermRetentionPoliciesGetOptionalParams, + ManagedBackupShortTermRetentionPoliciesGetResponse, + ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams, + ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse, + ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams, + ManagedBackupShortTermRetentionPoliciesUpdateResponse, + ManagedBackupShortTermRetentionPoliciesListByDatabaseResponse, + ManagedBackupShortTermRetentionPoliciesListByDatabaseNextResponse +} from "../models"; -/** Class representing a ManagedBackupShortTermRetentionPolicies. */ -export class ManagedBackupShortTermRetentionPolicies { +/// +/** Class containing ManagedBackupShortTermRetentionPolicies operations. */ +export class ManagedBackupShortTermRetentionPoliciesImpl + implements ManagedBackupShortTermRetentionPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ManagedBackupShortTermRetentionPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedBackupShortTermRetentionPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a managed database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param callback The callback - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a managed database's short term retention policy list. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( resourceGroupName, managedInstanceName, databaseName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Updates a managed database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param parameters The short term retention policy info. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedBackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,managedInstanceName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Updates a managed database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param parameters The short term retention policy info. - * @param [options] The optional parameters - * @returns Promise - */ - update(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedBackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,managedInstanceName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } } /** - * Gets a managed database's short term retention policy list. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a managed database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param policyName The policy name. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + options?: ManagedBackupShortTermRetentionPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + policyName, options }, - listByDatabaseOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Updates a managed database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". * @param parameters The short term retention policy info. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedBackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse + >, + ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse + > + > { + 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, managedInstanceName, databaseName, + policyName, parameters, options }, - beginCreateOrUpdateOperationSpec, - options); + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Updates a managed database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". * @param parameters The short term retention policy info. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedBackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + databaseName, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Updates a managed database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedBackupShortTermRetentionPoliciesUpdateResponse + > + > { + 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, managedInstanceName, databaseName, + policyName, parameters, options }, - beginUpdateOperationSpec, - options); + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a managed database's short term retention policy list. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Updates a managed database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + managedInstanceName, + databaseName, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Gets a managed database's short term retention policy list. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedBackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams + ): Promise< + ManagedBackupShortTermRetentionPoliciesListByDatabaseNextResponse + > { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + managedInstanceName, + databaseName, + nextLink, options }, - listByDatabaseNextOperationSpec, - callback) as Promise; + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.databaseName, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName, + Parameters.policyName1 ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicyListResult + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + 202: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + 204: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", + requestBody: Parameters.parameters42, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName, + Parameters.policyName1 ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedBackupShortTermRetentionPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + 202: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + 204: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + default: {} }, - serializer -}; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", + requestBody: Parameters.parameters42, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName, + Parameters.policyName1 ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedBackupShortTermRetentionPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupShortTermRetentionPolicies", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicyListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseColumns.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseColumns.ts new file mode 100644 index 000000000000..896ab7539825 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseColumns.ts @@ -0,0 +1,498 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseColumns } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseColumn, + ManagedDatabaseColumnsListByDatabaseNextOptionalParams, + ManagedDatabaseColumnsListByDatabaseOptionalParams, + ManagedDatabaseColumnsListByTableNextOptionalParams, + ManagedDatabaseColumnsListByTableOptionalParams, + ManagedDatabaseColumnsListByDatabaseResponse, + ManagedDatabaseColumnsListByTableResponse, + ManagedDatabaseColumnsGetOptionalParams, + ManagedDatabaseColumnsGetResponse, + ManagedDatabaseColumnsListByDatabaseNextResponse, + ManagedDatabaseColumnsListByTableNextResponse +} from "../models"; + +/// +/** Class containing ManagedDatabaseColumns operations. */ +export class ManagedDatabaseColumnsImpl implements ManagedDatabaseColumns { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedDatabaseColumns class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * List managed database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseColumnsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseColumnsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseColumnsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * List managed database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + public listByTable( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: ManagedDatabaseColumnsListByTableOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByTablePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByTablePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + options + ); + } + }; + } + + private async *listByTablePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: ManagedDatabaseColumnsListByTableOptionalParams + ): AsyncIterableIterator { + let result = await this._listByTable( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByTableNext( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByTablePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: ManagedDatabaseColumnsListByTableOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByTablePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + options + )) { + yield* page; + } + } + + /** + * List managed database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseColumnsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * List managed database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + private _listByTable( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: ManagedDatabaseColumnsListByTableOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + options + }, + listByTableOperationSpec + ); + } + + /** + * Get managed database column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: ManagedDatabaseColumnsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + columnName, + options + }, + getOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedDatabaseColumnsListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + nextLink, + options + }, + listByDatabaseNextOperationSpec + ); + } + + /** + * ListByTableNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param nextLink The nextLink from the previous successful call to the ListByTable method. + * @param options The options parameters. + */ + private _listByTableNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + nextLink: string, + options?: ManagedDatabaseColumnsListByTableNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + nextLink, + options + }, + listByTableNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/columns", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumnListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.schema, + Parameters.table, + Parameters.column, + Parameters.orderBy, + Parameters.skiptoken + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByTableOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumnListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.tableName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumn + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.tableName, + Parameters.columnName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumnListResult + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.schema, + Parameters.table, + Parameters.column, + Parameters.orderBy, + Parameters.skiptoken + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByTableNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseColumnListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.schemaName, + Parameters.tableName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseQueries.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseQueries.ts new file mode 100644 index 000000000000..0bbe554340b2 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseQueries.ts @@ -0,0 +1,294 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseQueries } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + QueryStatistics, + ManagedDatabaseQueriesListByQueryNextOptionalParams, + ManagedDatabaseQueriesListByQueryOptionalParams, + ManagedDatabaseQueriesGetOptionalParams, + ManagedDatabaseQueriesGetResponse, + ManagedDatabaseQueriesListByQueryResponse, + ManagedDatabaseQueriesListByQueryNextResponse +} from "../models"; + +/// +/** Class containing ManagedDatabaseQueries operations. */ +export class ManagedDatabaseQueriesImpl implements ManagedDatabaseQueries { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedDatabaseQueries class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Get query execution statistics by query id. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param queryId + * @param options The options parameters. + */ + public listByQuery( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + queryId: string, + options?: ManagedDatabaseQueriesListByQueryOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByQueryPagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + queryId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByQueryPagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + queryId, + options + ); + } + }; + } + + private async *listByQueryPagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + queryId: string, + options?: ManagedDatabaseQueriesListByQueryOptionalParams + ): AsyncIterableIterator { + let result = await this._listByQuery( + resourceGroupName, + managedInstanceName, + databaseName, + queryId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByQueryNext( + resourceGroupName, + managedInstanceName, + databaseName, + queryId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByQueryPagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + queryId: string, + options?: ManagedDatabaseQueriesListByQueryOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByQueryPagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + queryId, + options + )) { + yield* page; + } + } + + /** + * Get query by query id. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param queryId + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + queryId: string, + options?: ManagedDatabaseQueriesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + queryId, + options + }, + getOperationSpec + ); + } + + /** + * Get query execution statistics by query id. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param queryId + * @param options The options parameters. + */ + private _listByQuery( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + queryId: string, + options?: ManagedDatabaseQueriesListByQueryOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + queryId, + options + }, + listByQueryOperationSpec + ); + } + + /** + * ListByQueryNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param queryId + * @param nextLink The nextLink from the previous successful call to the ListByQuery method. + * @param options The options parameters. + */ + private _listByQueryNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + queryId: string, + nextLink: string, + options?: ManagedDatabaseQueriesListByQueryNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + queryId, + nextLink, + options + }, + listByQueryNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/queries/{queryId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceQuery + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName, + Parameters.queryId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByQueryOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/queries/{queryId}/statistics", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceQueryStatistics + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.startTime, + Parameters.endTime, + Parameters.interval + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName, + Parameters.queryId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByQueryNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceQueryStatistics + }, + default: {} + }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.startTime, + Parameters.endTime, + Parameters.interval + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName, + Parameters.queryId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseRecommendedSensitivityLabels.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseRecommendedSensitivityLabels.ts new file mode 100644 index 000000000000..33a4c02d4b7a --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseRecommendedSensitivityLabels.ts @@ -0,0 +1,80 @@ +/* + * 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 { ManagedDatabaseRecommendedSensitivityLabels } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + RecommendedSensitivityLabelUpdateList, + ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams +} from "../models"; + +/** Class containing ManagedDatabaseRecommendedSensitivityLabels operations. */ +export class ManagedDatabaseRecommendedSensitivityLabelsImpl + implements ManagedDatabaseRecommendedSensitivityLabels { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedDatabaseRecommendedSensitivityLabels class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Update recommended sensitivity labels states of a given database using an operations batch. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters A list of recommended sensitivity label update operations. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: RecommendedSensitivityLabelUpdateList, + options?: ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + parameters, + options + }, + updateOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/recommendedSensitivityLabels", + httpMethod: "PATCH", + responses: { 200: {}, default: {} }, + requestBody: Parameters.parameters49, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseRestoreDetails.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseRestoreDetails.ts index 1ff1a97ed81b..1547ab3a72b8 100644 --- a/sdk/sql/arm-sql/src/operations/managedDatabaseRestoreDetails.ts +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseRestoreDetails.ts @@ -1,26 +1,30 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedDatabaseRestoreDetailsMappers"; +import { ManagedDatabaseRestoreDetails } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + RestoreDetailsName, + ManagedDatabaseRestoreDetailsGetOptionalParams, + ManagedDatabaseRestoreDetailsGetResponse +} from "../models"; -/** Class representing a ManagedDatabaseRestoreDetails. */ -export class ManagedDatabaseRestoreDetails { +/** Class containing ManagedDatabaseRestoreDetails operations. */ +export class ManagedDatabaseRestoreDetailsImpl + implements ManagedDatabaseRestoreDetails { private readonly client: SqlManagementClientContext; /** - * Create a ManagedDatabaseRestoreDetails. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedDatabaseRestoreDetails class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,69 +32,54 @@ export class ManagedDatabaseRestoreDetails { /** * Gets managed database restore details. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param restoreDetailsName The name of the restore details to retrieve. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param callback The callback - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + restoreDetailsName: RestoreDetailsName, + options?: ManagedDatabaseRestoreDetailsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + restoreDetailsName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/restoreDetails/{restoreDetailsName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/restoreDetails/{restoreDetailsName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.databaseName, - Parameters.restoreDetailsName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedDatabaseRestoreDetailsResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName, + Parameters.restoreDetailsName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseSchemas.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseSchemas.ts new file mode 100644 index 000000000000..19785e25cd31 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseSchemas.ts @@ -0,0 +1,262 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseSchemas } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseSchema, + ManagedDatabaseSchemasListByDatabaseNextOptionalParams, + ManagedDatabaseSchemasListByDatabaseOptionalParams, + ManagedDatabaseSchemasListByDatabaseResponse, + ManagedDatabaseSchemasGetOptionalParams, + ManagedDatabaseSchemasGetResponse, + ManagedDatabaseSchemasListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing ManagedDatabaseSchemas operations. */ +export class ManagedDatabaseSchemasImpl implements ManagedDatabaseSchemas { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedDatabaseSchemas class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * List managed database schemas + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSchemasListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSchemasListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSchemasListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * List managed database schemas + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSchemasListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * Get managed database schema + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + options?: ManagedDatabaseSchemasGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + options + }, + getOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedDatabaseSchemasListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + nextLink, + options + }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSchemaListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSchema + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseSchemaListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseSecurityAlertPolicies.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseSecurityAlertPolicies.ts index a35978ff4977..9ce3ba31d546 100644 --- a/sdk/sql/arm-sql/src/operations/managedDatabaseSecurityAlertPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseSecurityAlertPolicies.ts @@ -1,242 +1,265 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedDatabaseSecurityAlertPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseSecurityAlertPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ManagedDatabaseSecurityAlertPolicy, + ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams, + ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams, + SecurityAlertPolicyName, + ManagedDatabaseSecurityAlertPoliciesGetOptionalParams, + ManagedDatabaseSecurityAlertPoliciesGetResponse, + ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams, + ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateResponse, + ManagedDatabaseSecurityAlertPoliciesListByDatabaseResponse, + ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextResponse +} from "../models"; -/** Class representing a ManagedDatabaseSecurityAlertPolicies. */ -export class ManagedDatabaseSecurityAlertPolicies { +/// +/** Class containing ManagedDatabaseSecurityAlertPolicies operations. */ +export class ManagedDatabaseSecurityAlertPoliciesImpl + implements ManagedDatabaseSecurityAlertPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ManagedDatabaseSecurityAlertPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedDatabaseSecurityAlertPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a managed database's security alert policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the managed database for which the security alert policy is - * defined. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of managed database's security alert policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the managed database for which the security alert policy is - * defined. - * @param callback The callback + * @param databaseName The name of the managed database for which the security alert policies are + * defined. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a managed database's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the managed database for which the security alert policy is - * defined. - * @param options The optional parameters - * @param callback The callback + * @param databaseName The name of the managed database for which the security alert policy is defined. + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: ManagedDatabaseSecurityAlertPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + securityAlertPolicyName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates a database's security alert policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the managed database for which the security alert policy is - * defined. - * @param parameters The database security alert policy. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedDatabaseSecurityAlertPolicy, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the managed database for which the security alert policy is - * defined. - * @param parameters The database security alert policy. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedDatabaseSecurityAlertPolicy, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the managed database for which the security alert policy is - * defined. + * @param databaseName The name of the managed database for which the security alert policy is defined. + * @param securityAlertPolicyName The name of the security alert policy. * @param parameters The database security alert policy. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedDatabaseSecurityAlertPolicy, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedDatabaseSecurityAlertPolicy, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ManagedDatabaseSecurityAlertPolicy, + options?: ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + securityAlertPolicyName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Gets a list of managed database's security alert policies. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the managed database for which the security alert policies are - * defined. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the managed database for which the security alert policies are - * defined. - * @param callback The callback + * defined. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the managed database for which the security alert policies are - * defined. - * @param options The optional parameters - * @param callback The callback + * defined. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + nextLink, options }, - listByDatabaseOperationSpec, - callback) as Promise; - } - - /** - * Gets a list of managed database's security alert policies. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDatabaseNextOperationSpec, - callback) as Promise; + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.databaseName, - Parameters.securityAlertPolicyName0, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedDatabaseSecurityAlertPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.securityAlertPolicyName0, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.securityAlertPolicyName, + Parameters.managedInstanceName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedDatabaseSecurityAlertPolicy, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ManagedDatabaseSecurityAlertPolicy @@ -244,56 +267,61 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ManagedDatabaseSecurityAlertPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies", + requestBody: Parameters.parameters46, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.securityAlertPolicyName, + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedDatabaseSecurityAlertPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedDatabaseSecurityAlertPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseSecurityEvents.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseSecurityEvents.ts new file mode 100644 index 000000000000..f7f9b15b2098 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseSecurityEvents.ts @@ -0,0 +1,223 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseSecurityEvents } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + SecurityEvent, + ManagedDatabaseSecurityEventsListByDatabaseNextOptionalParams, + ManagedDatabaseSecurityEventsListByDatabaseOptionalParams, + ManagedDatabaseSecurityEventsListByDatabaseResponse, + ManagedDatabaseSecurityEventsListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing ManagedDatabaseSecurityEvents operations. */ +export class ManagedDatabaseSecurityEventsImpl + implements ManagedDatabaseSecurityEvents { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedDatabaseSecurityEvents class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of security events. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security events are retrieved. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityEventsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityEventsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityEventsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of security events. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security events are retrieved. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityEventsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security events are retrieved. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedDatabaseSecurityEventsListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + nextLink, + options + }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityEvents", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityEventCollection + }, + default: {} + }, + queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, + Parameters.skiptoken, + Parameters.filter1, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityEventCollection + }, + default: {} + }, + queryParameters: [ + Parameters.skip, + Parameters.apiVersion2, + Parameters.skiptoken, + Parameters.filter1, + Parameters.top + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseSensitivityLabels.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseSensitivityLabels.ts index 78a062d17bb6..5d669f120d60 100644 --- a/sdk/sql/arm-sql/src/operations/managedDatabaseSensitivityLabels.ts +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseSensitivityLabels.ts @@ -1,74 +1,238 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedDatabaseSensitivityLabelsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseSensitivityLabels } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + SensitivityLabel, + ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextOptionalParams, + ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams, + ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextOptionalParams, + ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams, + SensitivityLabelSource, + ManagedDatabaseSensitivityLabelsGetOptionalParams, + ManagedDatabaseSensitivityLabelsGetResponse, + ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams, + ManagedDatabaseSensitivityLabelsCreateOrUpdateResponse, + ManagedDatabaseSensitivityLabelsDeleteOptionalParams, + ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams, + ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams, + ManagedDatabaseSensitivityLabelsListCurrentByDatabaseResponse, + SensitivityLabelUpdateList, + ManagedDatabaseSensitivityLabelsUpdateOptionalParams, + ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseResponse, + ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextResponse, + ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextResponse +} from "../models"; -/** Class representing a ManagedDatabaseSensitivityLabels. */ -export class ManagedDatabaseSensitivityLabels { +/// +/** Class containing ManagedDatabaseSensitivityLabels operations. */ +export class ManagedDatabaseSensitivityLabelsImpl + implements ManagedDatabaseSensitivityLabels { private readonly client: SqlManagementClientContext; /** - * Create a ManagedDatabaseSensitivityLabels. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedDatabaseSensitivityLabels class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets the sensitivity label of a given column - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the sensitivity labels of a given database + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param sensitivityLabelSource The source of the sensitivity label. Possible values include: - * 'current', 'recommended' - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: Models.SensitivityLabelSource, options?: msRest.RequestOptionsBase): Promise; + public listCurrentByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listCurrentByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listCurrentByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listCurrentByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listCurrentByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listCurrentByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listCurrentByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listCurrentByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the sensitivity labels of a given database + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param sensitivityLabelSource The source of the sensitivity label. Possible values include: - * 'current', 'recommended' - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: Models.SensitivityLabelSource, callback: msRest.ServiceCallback): void; + public listRecommendedByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listRecommendedByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listRecommendedByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listRecommendedByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listRecommendedByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listRecommendedByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listRecommendedByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listRecommendedByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the sensitivity label of a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. - * @param sensitivityLabelSource The source of the sensitivity label. Possible values include: - * 'current', 'recommended' - * @param options The optional parameters - * @param callback The callback + * @param sensitivityLabelSource The source of the sensitivity label. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: Models.SensitivityLabelSource, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: Models.SensitivityLabelSource, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + sensitivityLabelSource: SensitivityLabelSource, + options?: ManagedDatabaseSensitivityLabelsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -80,50 +244,32 @@ export class ManagedDatabaseSensitivityLabels { sensitivityLabelSource, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates the sensitivity label of a given column - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. * @param parameters The column sensitivity label resource. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: Models.SensitivityLabel, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param parameters The column sensitivity label resource. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: Models.SensitivityLabel, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param parameters The column sensitivity label resource. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: Models.SensitivityLabel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: Models.SensitivityLabel, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + parameters: SensitivityLabel, + options?: ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -135,47 +281,30 @@ export class ManagedDatabaseSensitivityLabels { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Deletes the sensitivity label of a given column - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: ManagedDatabaseSensitivityLabelsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -186,47 +315,30 @@ export class ManagedDatabaseSensitivityLabels { columnName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** * Disables sensitivity recommendations on a given column - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - disableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param callback The callback - */ - disableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param options The optional parameters - * @param callback The callback - */ - disableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - disableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + disableRecommendation( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -237,48 +349,31 @@ export class ManagedDatabaseSensitivityLabels { columnName, options }, - disableRecommendationOperationSpec, - callback); + disableRecommendationOperationSpec + ); } /** - * Enables sensitivity recommendations on a given column (recommendations are enabled by default on - * all columns) - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param [options] The optional parameters - * @returns Promise - */ - enableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Enables sensitivity recommendations on a given column (recommendations are enabled by default on all + * columns) + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. - * @param callback The callback + * @param options The options parameters. */ - enableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param options The optional parameters - * @param callback The callback - */ - enableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - enableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + enableRecommendation( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -289,203 +384,173 @@ export class ManagedDatabaseSensitivityLabels { columnName, options }, - enableRecommendationOperationSpec, - callback); + enableRecommendationOperationSpec + ); } /** * Gets the sensitivity labels of a given database - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - listCurrentByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: Models.ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param callback The callback + * @param options The options parameters. */ - listCurrentByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; + private _listCurrentByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listCurrentByDatabaseOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Update sensitivity labels of a given database using an operations batch. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param parameters A list of sensitivity label update operations. + * @param options The options parameters. */ - listCurrentByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: Models.ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams, callback: msRest.ServiceCallback): void; - listCurrentByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: Models.ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + update( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: SensitivityLabelUpdateList, + options?: ManagedDatabaseSensitivityLabelsUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + parameters, options }, - listCurrentByDatabaseOperationSpec, - callback) as Promise; + updateOperationSpec + ); } /** * Gets the sensitivity labels of a given database - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listRecommendedByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: Models.ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param callback The callback - */ - listRecommendedByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; + private _listRecommendedByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams + ): Promise< + ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listRecommendedByDatabaseOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListCurrentByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListCurrentByDatabase method. + * @param options The options parameters. */ - listRecommendedByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: Models.ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams, callback: msRest.ServiceCallback): void; - listRecommendedByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: Models.ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listCurrentByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextOptionalParams + ): Promise< + ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextResponse + > { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + nextLink, options }, - listRecommendedByDatabaseOperationSpec, - callback) as Promise; + listCurrentByDatabaseNextOperationSpec + ); } /** - * Gets the sensitivity labels of a given database - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listCurrentByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listCurrentByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listCurrentByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listCurrentByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listCurrentByDatabaseNextOperationSpec, - callback) as Promise; - } - - /** - * Gets the sensitivity labels of a given database - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendedByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listRecommendedByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListRecommendedByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListRecommendedByDatabase + * method. + * @param options The options parameters. */ - listRecommendedByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listRecommendedByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listRecommendedByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextOptionalParams + ): Promise< + ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextResponse + > { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + managedInstanceName, + databaseName, + nextLink, options }, - listRecommendedByDatabaseNextOperationSpec, - callback) as Promise; + listRecommendedByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.databaseName, - Parameters.schemaName, - Parameters.tableName, - Parameters.columnName, - Parameters.sensitivityLabelSource1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SensitivityLabel }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.schemaName, Parameters.tableName, Parameters.columnName, - Parameters.sensitivityLabelSource2, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName, + Parameters.sensitivityLabelSource ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SensitivityLabel, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.SensitivityLabel @@ -493,191 +558,201 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.SensitivityLabel }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters47, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.tableName, + Parameters.columnName, + Parameters.managedInstanceName, + Parameters.sensitivityLabelSource1 + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.schemaName, Parameters.tableName, Parameters.columnName, - Parameters.sensitivityLabelSource2, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName, + Parameters.sensitivityLabelSource1 ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const disableRecommendationOperationSpec: msRest.OperationSpec = { +const disableRecommendationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/disable", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/disable", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.schemaName, Parameters.tableName, Parameters.columnName, - Parameters.sensitivityLabelSource0, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName, + Parameters.sensitivityLabelSource2 ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const enableRecommendationOperationSpec: msRest.OperationSpec = { +const enableRecommendationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/enable", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/enable", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.schemaName, Parameters.tableName, Parameters.columnName, - Parameters.sensitivityLabelSource0, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName, + Parameters.sensitivityLabelSource2 ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listCurrentByDatabaseOperationSpec: msRest.OperationSpec = { +const listCurrentByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/currentSensitivityLabels", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/currentSensitivityLabels", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.filter1, - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SensitivityLabelListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skipToken, + Parameters.apiVersion2, + Parameters.filter1, + Parameters.count + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendedByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/recommendedSensitivityLabels", +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/currentSensitivityLabels", + httpMethod: "PATCH", + responses: { 200: {}, default: {} }, + requestBody: Parameters.parameters48, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.includeDisabledRecommendations, - Parameters.skipToken, - Parameters.filter1, - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; +const listRecommendedByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/recommendedSensitivityLabels", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SensitivityLabelListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skipToken, + Parameters.apiVersion2, + Parameters.filter1, + Parameters.includeDisabledRecommendations + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listCurrentByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listCurrentByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SensitivityLabelListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skipToken, + Parameters.apiVersion2, + Parameters.filter1, + Parameters.count + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendedByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listRecommendedByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SensitivityLabelListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skipToken, + Parameters.apiVersion2, + Parameters.filter1, + Parameters.includeDisabledRecommendations + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseTables.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseTables.ts new file mode 100644 index 000000000000..97059cfa5c41 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseTables.ts @@ -0,0 +1,288 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseTables } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseTable, + ManagedDatabaseTablesListBySchemaNextOptionalParams, + ManagedDatabaseTablesListBySchemaOptionalParams, + ManagedDatabaseTablesListBySchemaResponse, + ManagedDatabaseTablesGetOptionalParams, + ManagedDatabaseTablesGetResponse, + ManagedDatabaseTablesListBySchemaNextResponse +} from "../models"; + +/// +/** Class containing ManagedDatabaseTables operations. */ +export class ManagedDatabaseTablesImpl implements ManagedDatabaseTables { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedDatabaseTables class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * List managed database tables + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + public listBySchema( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + options?: ManagedDatabaseTablesListBySchemaOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySchemaPagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySchemaPagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + options + ); + } + }; + } + + private async *listBySchemaPagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + options?: ManagedDatabaseTablesListBySchemaOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySchema( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySchemaNext( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySchemaPagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + options?: ManagedDatabaseTablesListBySchemaOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySchemaPagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + options + )) { + yield* page; + } + } + + /** + * List managed database tables + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + private _listBySchema( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + options?: ManagedDatabaseTablesListBySchemaOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + options + }, + listBySchemaOperationSpec + ); + } + + /** + * Get managed database table + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: ManagedDatabaseTablesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + tableName, + options + }, + getOperationSpec + ); + } + + /** + * ListBySchemaNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param nextLink The nextLink from the previous successful call to the ListBySchema method. + * @param options The options parameters. + */ + private _listBySchemaNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + nextLink: string, + options?: ManagedDatabaseTablesListBySchemaNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + schemaName, + nextLink, + options + }, + listBySchemaNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listBySchemaOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseTableListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseTable + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.tableName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySchemaNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatabaseTableListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.schemaName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseTransparentDataEncryption.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseTransparentDataEncryption.ts new file mode 100644 index 000000000000..4cb64279a37a --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseTransparentDataEncryption.ts @@ -0,0 +1,330 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseTransparentDataEncryption } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ManagedTransparentDataEncryption, + ManagedDatabaseTransparentDataEncryptionListByDatabaseNextOptionalParams, + ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams, + TransparentDataEncryptionName, + ManagedDatabaseTransparentDataEncryptionGetOptionalParams, + ManagedDatabaseTransparentDataEncryptionGetResponse, + ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams, + ManagedDatabaseTransparentDataEncryptionCreateOrUpdateResponse, + ManagedDatabaseTransparentDataEncryptionListByDatabaseResponse, + ManagedDatabaseTransparentDataEncryptionListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing ManagedDatabaseTransparentDataEncryption operations. */ +export class ManagedDatabaseTransparentDataEncryptionImpl + implements ManagedDatabaseTransparentDataEncryption { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedDatabaseTransparentDataEncryption class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of managed database's transparent data encryptions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the transparent data encryption is + * defined. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets a managed database's transparent data encryption. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the transparent data encryption is + * defined. + * @param tdeName The name of the transparent data encryption configuration. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + tdeName: TransparentDataEncryptionName, + options?: ManagedDatabaseTransparentDataEncryptionGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + tdeName, + options + }, + getOperationSpec + ); + } + + /** + * Updates a database's transparent data encryption configuration. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security alert policy is defined. + * @param tdeName The name of the transparent data encryption configuration. + * @param parameters The database transparent data encryption. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + tdeName: TransparentDataEncryptionName, + parameters: ManagedTransparentDataEncryption, + options?: ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + tdeName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Gets a list of managed database's transparent data encryptions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the transparent data encryption is + * defined. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the transparent data encryption is + * defined. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedDatabaseTransparentDataEncryptionListByDatabaseNextOptionalParams + ): Promise< + ManagedDatabaseTransparentDataEncryptionListByDatabaseNextResponse + > { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + nextLink, + options + }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/transparentDataEncryption/{tdeName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedTransparentDataEncryption + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName, + Parameters.tdeName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/transparentDataEncryption/{tdeName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ManagedTransparentDataEncryption + }, + 201: { + bodyMapper: Mappers.ManagedTransparentDataEncryption + }, + default: {} + }, + requestBody: Parameters.parameters50, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName, + Parameters.tdeName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/transparentDataEncryption", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedTransparentDataEncryptionListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedTransparentDataEncryptionListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessmentRuleBaselines.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessmentRuleBaselines.ts index 2cff3b673b3f..2d06a2d9495d 100644 --- a/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessmentRuleBaselines.ts +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessmentRuleBaselines.ts @@ -1,26 +1,35 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedDatabaseVulnerabilityAssessmentRuleBaselinesMappers"; +import { ManagedDatabaseVulnerabilityAssessmentRuleBaselines } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + VulnerabilityAssessmentName, + VulnerabilityAssessmentPolicyBaselineName, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetResponse, + DatabaseVulnerabilityAssessmentRuleBaseline, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams +} from "../models"; -/** Class representing a ManagedDatabaseVulnerabilityAssessmentRuleBaselines. */ -export class ManagedDatabaseVulnerabilityAssessmentRuleBaselines { +/** Class containing ManagedDatabaseVulnerabilityAssessmentRuleBaselines operations. */ +export class ManagedDatabaseVulnerabilityAssessmentRuleBaselinesImpl + implements ManagedDatabaseVulnerabilityAssessmentRuleBaselines { private readonly client: SqlManagementClientContext; /** - * Create a ManagedDatabaseVulnerabilityAssessmentRuleBaselines. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedDatabaseVulnerabilityAssessmentRuleBaselines class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,268 +37,185 @@ export class ManagedDatabaseVulnerabilityAssessmentRuleBaselines { /** * Gets a database's vulnerability assessment rule baseline. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param ruleId The vulnerability assessment rule ID. * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param [options] The optional parameters - * @returns Promise + * baseline on a database level rule and master for server level rule). + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param callback The callback - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + vulnerabilityAssessmentName, ruleId, baselineName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates a database's vulnerability assessment rule baseline. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param parameters The requested rule baseline resource. - * @param [options] The optional parameters - * @returns - * Promise - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, parameters: Models.DatabaseVulnerabilityAssessmentRuleBaseline, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param ruleId The vulnerability assessment rule ID. * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' + * baseline on a database level rule and master for server level rule). * @param parameters The requested rule baseline resource. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, parameters: Models.DatabaseVulnerabilityAssessmentRuleBaseline, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param parameters The requested rule baseline resource. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, parameters: Models.DatabaseVulnerabilityAssessmentRuleBaseline, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, parameters: Models.DatabaseVulnerabilityAssessmentRuleBaseline, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + parameters: DatabaseVulnerabilityAssessmentRuleBaseline, + options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams + ): Promise< + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse + > { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + vulnerabilityAssessmentName, ruleId, baselineName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Removes the database's vulnerability assessment rule baseline. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param ruleId The vulnerability assessment rule ID. * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param [options] The optional parameters - * @returns Promise + * baseline on a database level rule and master for server level rule). + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment rule - * baseline is defined. - * @param ruleId The vulnerability assessment rule ID. - * @param baselineName The name of the vulnerability assessment rule baseline (default implies a - * baseline on a database level rule and master for server level rule). Possible values include: - * 'master', 'default' - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, ruleId: string, baselineName: Models.VulnerabilityAssessmentPolicyBaselineName, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + vulnerabilityAssessmentName, ruleId, baselineName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", + responses: { + 200: { + bodyMapper: Mappers.DatabaseVulnerabilityAssessmentRuleBaseline + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, Parameters.ruleId, Parameters.baselineName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessmentRuleBaseline }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", + requestBody: Parameters.parameters22, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, Parameters.ruleId, Parameters.baselineName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DatabaseVulnerabilityAssessmentRuleBaseline, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.DatabaseVulnerabilityAssessmentRuleBaseline - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, Parameters.ruleId, Parameters.baselineName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 + Parameters.managedInstanceName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessmentScans.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessmentScans.ts index 9cdc67c4f9f3..b1c2e6b0d659 100644 --- a/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessmentScans.ts +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessmentScans.ts @@ -1,27 +1,43 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedDatabaseVulnerabilityAssessmentScansMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseVulnerabilityAssessmentScans } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VulnerabilityAssessmentScanRecord, + VulnerabilityAssessmentName, + ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansExportResponse, + ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseResponse, + ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansGetResponse, + ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse +} from "../models"; -/** Class representing a ManagedDatabaseVulnerabilityAssessmentScans. */ -export class ManagedDatabaseVulnerabilityAssessmentScans { +/// +/** Class containing ManagedDatabaseVulnerabilityAssessmentScans operations. */ +export class ManagedDatabaseVulnerabilityAssessmentScansImpl + implements ManagedDatabaseVulnerabilityAssessmentScans { private readonly client: SqlManagementClientContext; /** - * Create a ManagedDatabaseVulnerabilityAssessmentScans. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedDatabaseVulnerabilityAssessmentScans class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,328 +45,433 @@ export class ManagedDatabaseVulnerabilityAssessmentScans { /** * Lists the vulnerability assessment scans of a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + vulnerabilityAssessmentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + vulnerabilityAssessmentName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + vulnerabilityAssessmentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( resourceGroupName, managedInstanceName, databaseName, + vulnerabilityAssessmentName, + continuationToken, options - }, - listByDatabaseOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + vulnerabilityAssessmentName, + options + )) { + yield* page; + } } /** - * Gets a vulnerability assessment scan record of a database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param callback The callback - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Executes a Vulnerability Assessment database scan. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginInitiateScan( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + ): 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, managedInstanceName, databaseName, + vulnerabilityAssessmentName, scanId, options }, - getOperationSpec, - callback) as Promise; + initiateScanOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Executes a Vulnerability Assessment database scan. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - initiateScan(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginInitiateScan(resourceGroupName,managedInstanceName,databaseName,scanId,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginInitiateScanAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + ): Promise { + const poller = await this.beginInitiateScan( + resourceGroupName, + managedInstanceName, + databaseName, + vulnerabilityAssessmentName, + scanId, + options + ); + return poller.pollUntilDone(); } /** * Convert an existing scan result to a human readable format. If already exists nothing happens - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the scanned database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param scanId The vulnerability assessment scan Id. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - exportMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the scanned database. - * @param scanId The vulnerability assessment scan Id. - * @param callback The callback - */ - exportMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, callback: msRest.ServiceCallback): void; + export( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + vulnerabilityAssessmentName, + scanId, + options + }, + exportOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the vulnerability assessment scans of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the scanned database. - * @param scanId The vulnerability assessment scan Id. - * @param options The optional parameters - * @param callback The callback + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - exportMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - exportMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): Promise< + ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseResponse + > { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, - scanId, + vulnerabilityAssessmentName, options }, - exportMethodOperationSpec, - callback) as Promise; + listByDatabaseOperationSpec + ); } /** - * Executes a Vulnerability Assessment database scan. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a vulnerability assessment scan record of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param scanId The vulnerability assessment scan Id of the scan to retrieve. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginInitiateScan(resourceGroupName: string, managedInstanceName: string, databaseName: string, scanId: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + vulnerabilityAssessmentName, scanId, options }, - beginInitiateScanOperationSpec, - options); + getOperationSpec + ); } /** - * Lists the vulnerability assessment scans of a database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + nextLink: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams + ): Promise< + ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse + > { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + managedInstanceName, + databaseName, + vulnerabilityAssessmentName, + nextLink, options }, - listByDatabaseNextOperationSpec, - callback) as Promise; + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const initiateScanOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.scanId, + Parameters.managedInstanceName ], + serializer +}; +const exportOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.VulnerabilityAssessmentScanRecordListResult + bodyMapper: Mappers.DatabaseVulnerabilityAssessmentScansExport }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.DatabaseVulnerabilityAssessmentScansExport + }, + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, Parameters.scanId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.VulnerabilityAssessmentScanRecord + bodyMapper: Mappers.VulnerabilityAssessmentScanRecordListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const exportMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, - Parameters.scanId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.DatabaseVulnerabilityAssessmentScansExport - }, - 201: { - bodyMapper: Mappers.DatabaseVulnerabilityAssessmentScansExport + bodyMapper: Mappers.VulnerabilityAssessmentScanRecord }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginInitiateScanOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, Parameters.scanId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 + Parameters.managedInstanceName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VulnerabilityAssessmentScanRecordListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.vulnerabilityAssessmentName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessments.ts b/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessments.ts index 7880f42b6616..d6c6718079cf 100644 --- a/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessments.ts +++ b/sdk/sql/arm-sql/src/operations/managedDatabaseVulnerabilityAssessments.ts @@ -1,272 +1,293 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedDatabaseVulnerabilityAssessmentsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabaseVulnerabilityAssessments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + DatabaseVulnerabilityAssessment, + ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams, + ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams, + VulnerabilityAssessmentName, + ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams, + ManagedDatabaseVulnerabilityAssessmentsGetResponse, + ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams, + ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateResponse, + ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams, + ManagedDatabaseVulnerabilityAssessmentsListByDatabaseResponse, + ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextResponse +} from "../models"; -/** Class representing a ManagedDatabaseVulnerabilityAssessments. */ -export class ManagedDatabaseVulnerabilityAssessments { +/// +/** Class containing ManagedDatabaseVulnerabilityAssessments operations. */ +export class ManagedDatabaseVulnerabilityAssessmentsImpl + implements ManagedDatabaseVulnerabilityAssessments { private readonly client: SqlManagementClientContext; /** - * Create a ManagedDatabaseVulnerabilityAssessments. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedDatabaseVulnerabilityAssessments class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets the database's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists the vulnerability assessments of a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the database's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param options The optional parameters - * @param callback The callback + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + vulnerabilityAssessmentName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates the database's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param parameters The requested resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.DatabaseVulnerabilityAssessment, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param parameters The requested resource. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.DatabaseVulnerabilityAssessment, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param parameters The requested resource. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.DatabaseVulnerabilityAssessment, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.DatabaseVulnerabilityAssessment, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + parameters: DatabaseVulnerabilityAssessment, + options?: ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + vulnerabilityAssessmentName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Removes the database's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param callback The callback + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + vulnerabilityAssessmentName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** * Lists the vulnerability assessments of a managed database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database for which the vulnerability assessment is defined. - * @param options The optional parameters - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams + ): Promise< + ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextResponse + > { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, databaseName, + nextLink, options }, - listByDatabaseOperationSpec, - callback) as Promise; - } - - /** - * Lists the vulnerability assessments of a managed database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDatabaseNextOperationSpec, - callback) as Promise; + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.databaseName, - Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessment }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId + Parameters.managedInstanceName ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.DatabaseVulnerabilityAssessment, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessment @@ -274,81 +295,77 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.DatabaseVulnerabilityAssessment }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + requestBody: Parameters.parameters23, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + httpMethod: "DELETE", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vulnerabilityAssessmentName, + Parameters.managedInstanceName ], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessmentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.DatabaseVulnerabilityAssessmentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedDatabases.ts b/sdk/sql/arm-sql/src/operations/managedDatabases.ts index 08b45ce8abbc..88534f34f5fe 100644 --- a/sdk/sql/arm-sql/src/operations/managedDatabases.ts +++ b/sdk/sql/arm-sql/src/operations/managedDatabases.ts @@ -1,27 +1,50 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedDatabasesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedDatabases } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedDatabase, + ManagedDatabasesListByInstanceNextOptionalParams, + ManagedDatabasesListByInstanceOptionalParams, + ManagedDatabasesListInaccessibleByInstanceNextOptionalParams, + ManagedDatabasesListInaccessibleByInstanceOptionalParams, + ManagedDatabasesListByInstanceResponse, + ManagedDatabasesGetOptionalParams, + ManagedDatabasesGetResponse, + ManagedDatabasesCreateOrUpdateOptionalParams, + ManagedDatabasesCreateOrUpdateResponse, + ManagedDatabasesDeleteOptionalParams, + ManagedDatabaseUpdate, + ManagedDatabasesUpdateOptionalParams, + ManagedDatabasesUpdateResponse, + CompleteDatabaseRestoreDefinition, + ManagedDatabasesCompleteRestoreOptionalParams, + ManagedDatabasesListInaccessibleByInstanceResponse, + ManagedDatabasesListByInstanceNextResponse, + ManagedDatabasesListInaccessibleByInstanceNextResponse +} from "../models"; -/** Class representing a ManagedDatabases. */ -export class ManagedDatabases { +/// +/** Class containing ManagedDatabases operations. */ +export class ManagedDatabasesImpl implements ManagedDatabases { private readonly client: SqlManagementClientContext; /** - * Create a ManagedDatabases. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedDatabases class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,149 +52,438 @@ export class ManagedDatabases { /** * Gets a list of managed databases. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( + resourceGroupName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of inaccessible managed databases in a managed instance + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listInaccessibleByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListInaccessibleByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listInaccessibleByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listInaccessibleByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listInaccessibleByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListInaccessibleByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listInaccessibleByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listInaccessibleByInstanceNext( resourceGroupName, managedInstanceName, + continuationToken, options - }, - listByInstanceOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listInaccessibleByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListInaccessibleByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listInaccessibleByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } } /** - * Gets a managed database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of managed databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabasesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param parameters The requested database resource state. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: ManagedDatabase, + options?: ManagedDatabasesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedDatabasesCreateOrUpdateResponse + > + > { + 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, managedInstanceName, databaseName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates a new database or updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. * @param parameters The requested database resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedDatabase, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,managedInstanceName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: ManagedDatabase, + options?: ManagedDatabasesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes a managed database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,managedInstanceName,databaseName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginDelete( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabasesDeleteOptionalParams + ): 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() + } + }; + }; - /** - * Updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param databaseName The name of the database. - * @param parameters The requested database resource state. - * @param [options] The optional parameters - * @returns Promise - */ - update(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedDatabaseUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,managedInstanceName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + const lro = new LroImpl( + sendOperation, + { resourceGroupName, managedInstanceName, databaseName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Completes the restore operation on a managed database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param parameters The definition for completing the restore of this managed database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - completeRestore(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.CompleteDatabaseRestoreDefinition, options?: msRest.RequestOptionsBase): Promise { - return this.beginCompleteRestore(resourceGroupName,managedInstanceName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabasesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return poller.pollUntilDone(); } /** - * Creates a new database or updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. * @param parameters The requested database resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedDatabase, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: ManagedDatabaseUpdate, + options?: ManagedDatabasesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedDatabasesUpdateResponse + > + > { + 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, managedInstanceName, @@ -179,43 +491,97 @@ export class ManagedDatabases { parameters, options }, - beginCreateOrUpdateOperationSpec, - options); + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Deletes a managed database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The requested database resource state. + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - databaseName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: ManagedDatabaseUpdate, + options?: ManagedDatabasesUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + managedInstanceName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Updates an existing database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Completes the restore operation on a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. - * @param parameters The requested database resource state. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The definition for completing the restore of this managed database. + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.ManagedDatabaseUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginCompleteRestore( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: CompleteDatabaseRestoreDefinition, + options?: ManagedDatabasesCompleteRestoreOptionalParams + ): 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, managedInstanceName, @@ -223,137 +589,147 @@ export class ManagedDatabases { parameters, options }, - beginUpdateOperationSpec, - options); + completeRestoreOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Completes the restore operation on a managed database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param databaseName The name of the database. * @param parameters The definition for completing the restore of this managed database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCompleteRestore(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: Models.CompleteDatabaseRestoreDefinition, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - databaseName, - parameters, - options - }, - beginCompleteRestoreOperationSpec, - options); + async beginCompleteRestoreAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: CompleteDatabaseRestoreDefinition, + options?: ManagedDatabasesCompleteRestoreOptionalParams + ): Promise { + const poller = await this.beginCompleteRestore( + resourceGroupName, + managedInstanceName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Gets a list of managed databases. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Gets a list of inaccessible managed databases in a managed instance + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _listInaccessibleByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListInaccessibleByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listInaccessibleByInstanceOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedDatabasesListByInstanceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListInaccessibleByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListInaccessibleByInstance + * method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listInaccessibleByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedDatabasesListInaccessibleByInstanceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstanceNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listInaccessibleByInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByInstanceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedDatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedDatabase }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.subscriptionId + Parameters.managedInstanceName ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedDatabase, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ManagedDatabase @@ -361,123 +737,149 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ManagedDatabase }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.ManagedDatabase + }, + 204: { + bodyMapper: Mappers.ManagedDatabase + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", + requestBody: Parameters.parameters43, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.subscriptionId + Parameters.managedInstanceName ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedDatabaseUpdate, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.ManagedDatabase }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ManagedDatabase + }, + 202: { + bodyMapper: Mappers.ManagedDatabase + }, + 204: { + bodyMapper: Mappers.ManagedDatabase + }, + default: {} }, + requestBody: Parameters.parameters44, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCompleteRestoreOperationSpec: msRest.OperationSpec = { +const completeRestoreOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/completeRestore", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/completeRestore", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + requestBody: Parameters.parameters45, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.databaseName, - Parameters.subscriptionId + Parameters.managedInstanceName ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.CompleteDatabaseRestoreDefinition, - required: true - } - }, + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; +const listInaccessibleByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/inaccessibleManagedDatabases", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 200: { + bodyMapper: Mappers.ManagedDatabaseListResult + }, + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByInstanceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedDatabaseListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const listInaccessibleByInstanceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedDatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedInstanceAdministrators.ts b/sdk/sql/arm-sql/src/operations/managedInstanceAdministrators.ts index 6dea07f57bbc..e02695311f3f 100644 --- a/sdk/sql/arm-sql/src/operations/managedInstanceAdministrators.ts +++ b/sdk/sql/arm-sql/src/operations/managedInstanceAdministrators.ts @@ -1,27 +1,43 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedInstanceAdministratorsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstanceAdministrators } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedInstanceAdministrator, + ManagedInstanceAdministratorsListByInstanceNextOptionalParams, + ManagedInstanceAdministratorsListByInstanceOptionalParams, + ManagedInstanceAdministratorsListByInstanceResponse, + AdministratorName, + ManagedInstanceAdministratorsGetOptionalParams, + ManagedInstanceAdministratorsGetResponse, + ManagedInstanceAdministratorsCreateOrUpdateOptionalParams, + ManagedInstanceAdministratorsCreateOrUpdateResponse, + ManagedInstanceAdministratorsDeleteOptionalParams, + ManagedInstanceAdministratorsListByInstanceNextResponse +} from "../models"; -/** Class representing a ManagedInstanceAdministrators. */ -export class ManagedInstanceAdministrators { +/// +/** Class containing ManagedInstanceAdministrators operations. */ +export class ManagedInstanceAdministratorsImpl + implements ManagedInstanceAdministrators { private readonly client: SqlManagementClientContext; /** - * Create a ManagedInstanceAdministrators. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedInstanceAdministrators class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,245 +45,372 @@ export class ManagedInstanceAdministrators { /** * Gets a list of managed instance administrators. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAdministratorsListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAdministratorsListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( resourceGroupName, managedInstanceName, + continuationToken, options - }, - listByInstanceOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAdministratorsListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } } /** - * Gets a managed instance administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of managed instance administrators. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAdministratorsListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a managed instance administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param callback The callback + * @param administratorName + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + options?: ManagedInstanceAdministratorsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, administratorName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a managed instance administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback + * @param administratorName + * @param parameters The requested administrator parameters. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + parameters: ManagedInstanceAdministrator, + options?: ManagedInstanceAdministratorsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedInstanceAdministratorsCreateOrUpdateResponse + > + > { + 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, managedInstanceName, + administratorName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates a managed instance administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. + * @param administratorName * @param parameters The requested administrator parameters. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceAdministrator, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,managedInstanceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + parameters: ManagedInstanceAdministrator, + options?: ManagedInstanceAdministratorsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + administratorName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes a managed instance administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param administratorName + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,managedInstanceName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginDelete( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + options?: ManagedInstanceAdministratorsDeleteOptionalParams + ): 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() + } + }; + }; - /** - * Creates or updates a managed instance administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param parameters The requested administrator parameters. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceAdministrator, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + const lro = new LroImpl( + sendOperation, + { resourceGroupName, managedInstanceName, administratorName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Deletes a managed instance administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param administratorName + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + options?: ManagedInstanceAdministratorsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + managedInstanceName, + administratorName, + options + ); + return poller.pollUntilDone(); } /** - * Gets a list of managed instance administrators. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByInstanceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstanceAdministratorsListByInstanceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstanceNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByInstanceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedInstanceAdministratorListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators/{administratorName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.administratorName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators/{administratorName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceAdministrator }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators/{administratorName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.managedInstanceName, - Parameters.administratorName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.administratorName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedInstanceAdministrator, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators/{administratorName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ManagedInstanceAdministrator @@ -275,56 +418,59 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ManagedInstanceAdministrator }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.ManagedInstanceAdministrator + }, + 204: { + bodyMapper: Mappers.ManagedInstanceAdministrator + }, + default: {} }, + requestBody: Parameters.parameters51, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.administratorName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators/{administratorName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/administrators/{administratorName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.managedInstanceName, - Parameters.administratorName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.administratorName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByInstanceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceAdministratorListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedInstanceAzureADOnlyAuthentications.ts b/sdk/sql/arm-sql/src/operations/managedInstanceAzureADOnlyAuthentications.ts new file mode 100644 index 000000000000..60dc4380c1e5 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedInstanceAzureADOnlyAuthentications.ts @@ -0,0 +1,484 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstanceAzureADOnlyAuthentications } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedInstanceAzureADOnlyAuthentication, + ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextOptionalParams, + ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams, + AuthenticationName, + ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams, + ManagedInstanceAzureADOnlyAuthenticationsGetResponse, + ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams, + ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse, + ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams, + ManagedInstanceAzureADOnlyAuthenticationsListByInstanceResponse, + ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextResponse +} from "../models"; + +/// +/** Class containing ManagedInstanceAzureADOnlyAuthentications operations. */ +export class ManagedInstanceAzureADOnlyAuthenticationsImpl + implements ManagedInstanceAzureADOnlyAuthentications { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedInstanceAzureADOnlyAuthentications class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of server Azure Active Directory only authentications. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( + resourceGroupName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } + } + + /** + * Gets a specific Azure Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + options?: ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, authenticationName, options }, + getOperationSpec + ); + } + + /** + * Sets Server Active Directory only authentication property or updates an existing server Active + * Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param parameters The required parameters for creating or updating an Active Directory only + * authentication property. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + parameters: ManagedInstanceAzureADOnlyAuthentication, + options?: ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse + >, + ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse + > + > { + 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, + managedInstanceName, + authenticationName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Sets Server Active Directory only authentication property or updates an existing server Active + * Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param parameters The required parameters for creating or updating an Active Directory only + * authentication property. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + parameters: ManagedInstanceAzureADOnlyAuthentication, + options?: ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + authenticationName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes an existing server Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + options?: ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams + ): 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, managedInstanceName, authenticationName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an existing server Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + options?: ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + managedInstanceName, + authenticationName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a list of server Azure Active Directory only authentications. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + + /** + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. + */ + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextOptionalParams + ): Promise< + ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/azureADOnlyAuthentications/{authenticationName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceAzureADOnlyAuthentication + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.authenticationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/azureADOnlyAuthentications/{authenticationName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceAzureADOnlyAuthentication + }, + 201: { + bodyMapper: Mappers.ManagedInstanceAzureADOnlyAuthentication + }, + 202: { + bodyMapper: Mappers.ManagedInstanceAzureADOnlyAuthentication + }, + 204: { + bodyMapper: Mappers.ManagedInstanceAzureADOnlyAuthentication + }, + default: {} + }, + requestBody: Parameters.parameters52, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.authenticationName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/azureADOnlyAuthentications/{authenticationName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.authenticationName + ], + serializer +}; +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/azureADOnlyAuthentications", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceAzureADOnlyAuthListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceAzureADOnlyAuthListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedInstanceEncryptionProtectors.ts b/sdk/sql/arm-sql/src/operations/managedInstanceEncryptionProtectors.ts index 1a5461fe6288..dd4611c1a8d0 100644 --- a/sdk/sql/arm-sql/src/operations/managedInstanceEncryptionProtectors.ts +++ b/sdk/sql/arm-sql/src/operations/managedInstanceEncryptionProtectors.ts @@ -1,327 +1,488 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedInstanceEncryptionProtectorsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstanceEncryptionProtectors } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedInstanceEncryptionProtector, + ManagedInstanceEncryptionProtectorsListByInstanceNextOptionalParams, + ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams, + EncryptionProtectorName, + ManagedInstanceEncryptionProtectorsRevalidateOptionalParams, + ManagedInstanceEncryptionProtectorsListByInstanceResponse, + ManagedInstanceEncryptionProtectorsGetOptionalParams, + ManagedInstanceEncryptionProtectorsGetResponse, + ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams, + ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse, + ManagedInstanceEncryptionProtectorsListByInstanceNextResponse +} from "../models"; -/** Class representing a ManagedInstanceEncryptionProtectors. */ -export class ManagedInstanceEncryptionProtectors { +/// +/** Class containing ManagedInstanceEncryptionProtectors operations. */ +export class ManagedInstanceEncryptionProtectorsImpl + implements ManagedInstanceEncryptionProtectors { private readonly client: SqlManagementClientContext; /** - * Create a ManagedInstanceEncryptionProtectors. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedInstanceEncryptionProtectors class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Revalidates an existing encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of managed instance encryption protectors + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - revalidate(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginRevalidate(resourceGroupName,managedInstanceName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( + resourceGroupName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } } /** - * Gets a list of managed instance encryption protectors - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Revalidates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginRevalidate( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: ManagedInstanceEncryptionProtectorsRevalidateOptionalParams + ): 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, managedInstanceName, + encryptionProtectorName, options }, - listByInstanceOperationSpec, - callback) as Promise; + revalidateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a managed instance encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Revalidates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; + async beginRevalidateAndWait( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: ManagedInstanceEncryptionProtectorsRevalidateOptionalParams + ): Promise { + const poller = await this.beginRevalidate( + resourceGroupName, + managedInstanceName, + encryptionProtectorName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of managed instance encryption protectors + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a managed instance encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback + * @param encryptionProtectorName The name of the encryption protector to be retrieved. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: ManagedInstanceEncryptionProtectorsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, + encryptionProtectorName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Updates an existing encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. + * @param encryptionProtectorName The name of the encryption protector to be updated. * @param parameters The requested encryption protector resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceEncryptionProtector, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,managedInstanceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + parameters: ManagedInstanceEncryptionProtector, + options?: ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse + >, + ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse + > + > { + 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() + } + }; + }; - /** - * Revalidates an existing encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise - */ - beginRevalidate(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + const lro = new LroImpl( + sendOperation, { resourceGroupName, managedInstanceName, + encryptionProtectorName, + parameters, options }, - beginRevalidateOperationSpec, - options); + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Updates an existing encryption protector. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. + * @param encryptionProtectorName The name of the encryption protector to be updated. * @param parameters The requested encryption protector resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceEncryptionProtector, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + parameters: ManagedInstanceEncryptionProtector, + options?: ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + encryptionProtectorName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Gets a list of managed instance encryption protectors - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByInstanceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstanceEncryptionProtectorsListByInstanceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstanceNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByInstanceOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const revalidateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}/revalidate", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.encryptionProtectorName, + Parameters.managedInstanceName ], + serializer +}; +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceEncryptionProtectorListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.encryptionProtectorName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceEncryptionProtector }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginRevalidateOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}/revalidate", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.encryptionProtectorName, - Parameters.subscriptionId + Parameters.managedInstanceName ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.encryptionProtectorName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedInstanceEncryptionProtector, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.ManagedInstanceEncryptionProtector }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ManagedInstanceEncryptionProtector + }, + 202: { + bodyMapper: Mappers.ManagedInstanceEncryptionProtector + }, + 204: { + bodyMapper: Mappers.ManagedInstanceEncryptionProtector + }, + default: {} }, + requestBody: Parameters.parameters53, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.encryptionProtectorName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByInstanceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceEncryptionProtectorListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedInstanceKeys.ts b/sdk/sql/arm-sql/src/operations/managedInstanceKeys.ts index 36bd7ef28283..3215804aab93 100644 --- a/sdk/sql/arm-sql/src/operations/managedInstanceKeys.ts +++ b/sdk/sql/arm-sql/src/operations/managedInstanceKeys.ts @@ -1,27 +1,41 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedInstanceKeysMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstanceKeys } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedInstanceKey, + ManagedInstanceKeysListByInstanceNextOptionalParams, + ManagedInstanceKeysListByInstanceOptionalParams, + ManagedInstanceKeysListByInstanceResponse, + ManagedInstanceKeysGetOptionalParams, + ManagedInstanceKeysGetResponse, + ManagedInstanceKeysCreateOrUpdateOptionalParams, + ManagedInstanceKeysCreateOrUpdateResponse, + ManagedInstanceKeysDeleteOptionalParams, + ManagedInstanceKeysListByInstanceNextResponse +} from "../models"; -/** Class representing a ManagedInstanceKeys. */ -export class ManagedInstanceKeys { +/// +/** Class containing ManagedInstanceKeys operations. */ +export class ManagedInstanceKeysImpl implements ManagedInstanceKeys { private readonly client: SqlManagementClientContext; /** - * Create a ManagedInstanceKeys. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedInstanceKeys class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,256 +43,366 @@ export class ManagedInstanceKeys { /** * Gets a list of managed instance keys. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: Models.ManagedInstanceKeysListByInstanceOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options: Models.ManagedInstanceKeysListByInstanceOptionalParams, callback: msRest.ServiceCallback): void; - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: Models.ManagedInstanceKeysListByInstanceOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceKeysListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceKeysListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( resourceGroupName, managedInstanceName, + continuationToken, options - }, - listByInstanceOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceKeysListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } } /** - * Gets a managed instance key. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param keyName The name of the managed instance key to be retrieved. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of managed instance keys. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param keyName The name of the managed instance key to be retrieved. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, keyName: string, callback: msRest.ServiceCallback): void; + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceKeysListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a managed instance key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param keyName The name of the managed instance key to be retrieved. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, keyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + options?: ManagedInstanceKeysGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - managedInstanceName, - keyName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, keyName, options }, + getOperationSpec + ); } /** * Creates or updates a managed instance key. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param keyName The name of the managed instance key to be operated on (updated or created). * @param parameters The requested managed instance key resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, keyName: string, parameters: Models.ManagedInstanceKey, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,managedInstanceName,keyName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + parameters: ManagedInstanceKey, + options?: ManagedInstanceKeysCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedInstanceKeysCreateOrUpdateResponse + > + > { + 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() + } + }; + }; - /** - * Deletes the managed instance key with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param keyName The name of the managed instance key to be deleted. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,managedInstanceName,keyName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + const lro = new LroImpl( + sendOperation, + { resourceGroupName, managedInstanceName, keyName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates a managed instance key. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param keyName The name of the managed instance key to be operated on (updated or created). * @param parameters The requested managed instance key resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, keyName: string, parameters: Models.ManagedInstanceKey, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - keyName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + parameters: ManagedInstanceKey, + options?: ManagedInstanceKeysCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + keyName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes the managed instance key with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param keyName The name of the managed instance key to be deleted. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - keyName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDelete( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + options?: ManagedInstanceKeysDeleteOptionalParams + ): 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, managedInstanceName, keyName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a list of managed instance keys. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Deletes the managed instance key with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param keyName The name of the managed instance key to be deleted. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + options?: ManagedInstanceKeysDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + managedInstanceName, + keyName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstanceKeysListByInstanceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstanceNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByInstanceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.filter1, - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedInstanceKeyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys/{keyName}", + queryParameters: [Parameters.apiVersion2, Parameters.filter1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.keyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys/{keyName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceKey }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys/{keyName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.managedInstanceName, - Parameters.keyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 + Parameters.keyName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedInstanceKey, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys/{keyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ManagedInstanceKey @@ -286,57 +410,59 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ManagedInstanceKey }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.ManagedInstanceKey + }, + 204: { + bodyMapper: Mappers.ManagedInstanceKey + }, + default: {} }, + requestBody: Parameters.parameters54, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.keyName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys/{keyName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/keys/{keyName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.managedInstanceName, - Parameters.keyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 + Parameters.keyName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByInstanceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceKeyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2, Parameters.filter1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedInstanceLongTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operations/managedInstanceLongTermRetentionPolicies.ts new file mode 100644 index 000000000000..b304694be0f5 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedInstanceLongTermRetentionPolicies.ts @@ -0,0 +1,414 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstanceLongTermRetentionPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedInstanceLongTermRetentionPolicy, + ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextOptionalParams, + ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams, + ManagedInstanceLongTermRetentionPolicyName, + ManagedInstanceLongTermRetentionPoliciesGetOptionalParams, + ManagedInstanceLongTermRetentionPoliciesGetResponse, + ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams, + ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse, + ManagedInstanceLongTermRetentionPoliciesListByDatabaseResponse, + ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing ManagedInstanceLongTermRetentionPolicies operations. */ +export class ManagedInstanceLongTermRetentionPoliciesImpl + implements ManagedInstanceLongTermRetentionPolicies { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedInstanceLongTermRetentionPolicies class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + managedInstanceName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + managedInstanceName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + managedInstanceName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets a managed database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedInstanceLongTermRetentionPolicyName, + options?: ManagedInstanceLongTermRetentionPoliciesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + policyName, + options + }, + getOperationSpec + ); + } + + /** + * Sets a managed database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param parameters The long term retention policy info. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedInstanceLongTermRetentionPolicyName, + parameters: ManagedInstanceLongTermRetentionPolicy, + options?: ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse + >, + ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse + > + > { + 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, + managedInstanceName, + databaseName, + policyName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Sets a managed database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param parameters The long term retention policy info. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedInstanceLongTermRetentionPolicyName, + parameters: ManagedInstanceLongTermRetentionPolicy, + options?: ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + databaseName, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + nextLink: string, + options?: ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextOptionalParams + ): Promise< + ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextResponse + > { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + databaseName, + nextLink, + options + }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionPolicy + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName, + Parameters.policyName2 + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionPolicy + }, + 201: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionPolicy + }, + 202: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionPolicy + }, + 204: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionPolicy + }, + default: {} + }, + requestBody: Parameters.parameters55, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName, + Parameters.policyName2 + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionPolicyListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceLongTermRetentionPolicyListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedInstanceOperations.ts b/sdk/sql/arm-sql/src/operations/managedInstanceOperations.ts new file mode 100644 index 000000000000..fcd48a361447 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedInstanceOperations.ts @@ -0,0 +1,269 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstanceOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ManagedInstanceOperation, + ManagedInstanceOperationsListByManagedInstanceNextOptionalParams, + ManagedInstanceOperationsListByManagedInstanceOptionalParams, + ManagedInstanceOperationsListByManagedInstanceResponse, + ManagedInstanceOperationsGetOptionalParams, + ManagedInstanceOperationsGetResponse, + ManagedInstanceOperationsCancelOptionalParams, + ManagedInstanceOperationsListByManagedInstanceNextResponse +} from "../models"; + +/// +/** Class containing ManagedInstanceOperations operations. */ +export class ManagedInstanceOperationsImpl + implements ManagedInstanceOperations { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedInstanceOperations class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of operations performed on the managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + public listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceOperationsListByManagedInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByManagedInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByManagedInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByManagedInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceOperationsListByManagedInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByManagedInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByManagedInstanceNext( + resourceGroupName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByManagedInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceOperationsListByManagedInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByManagedInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of operations performed on the managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + private _listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceOperationsListByManagedInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByManagedInstanceOperationSpec + ); + } + + /** + * Gets a management operation on a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param operationId + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + operationId: string, + options?: ManagedInstanceOperationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, operationId, options }, + getOperationSpec + ); + } + + /** + * Cancels the asynchronous operation on the managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param operationId + * @param options The options parameters. + */ + cancel( + resourceGroupName: string, + managedInstanceName: string, + operationId: string, + options?: ManagedInstanceOperationsCancelOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, operationId, options }, + cancelOperationSpec + ); + } + + /** + * ListByManagedInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByManagedInstance method. + * @param options The options parameters. + */ + private _listByManagedInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstanceOperationsListByManagedInstanceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, nextLink, options }, + listByManagedInstanceNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByManagedInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceOperationListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceOperation + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.operationId, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const cancelOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations/{operationId}/cancel", + httpMethod: "POST", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.operationId, + Parameters.managedInstanceName + ], + serializer +}; +const listByManagedInstanceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceOperationListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedInstancePrivateEndpointConnections.ts b/sdk/sql/arm-sql/src/operations/managedInstancePrivateEndpointConnections.ts new file mode 100644 index 000000000000..d96f4b15c800 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedInstancePrivateEndpointConnections.ts @@ -0,0 +1,491 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstancePrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedInstancePrivateEndpointConnection, + ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextOptionalParams, + ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams, + ManagedInstancePrivateEndpointConnectionsGetOptionalParams, + ManagedInstancePrivateEndpointConnectionsGetResponse, + ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams, + ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse, + ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams, + ManagedInstancePrivateEndpointConnectionsListByManagedInstanceResponse, + ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextResponse +} from "../models"; + +/// +/** Class containing ManagedInstancePrivateEndpointConnections operations. */ +export class ManagedInstancePrivateEndpointConnectionsImpl + implements ManagedInstancePrivateEndpointConnections { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedInstancePrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + public listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByManagedInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByManagedInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByManagedInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByManagedInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByManagedInstanceNext( + resourceGroupName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByManagedInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByManagedInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } + } + + /** + * Gets a private endpoint connection. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName The name of the private endpoint connection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + options?: ManagedInstancePrivateEndpointConnectionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + managedInstanceName, + privateEndpointConnectionName, + options + }, + getOperationSpec + ); + } + + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + parameters: ManagedInstancePrivateEndpointConnection, + options?: ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse + >, + ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse + > + > { + 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, + managedInstanceName, + privateEndpointConnectionName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + parameters: ManagedInstancePrivateEndpointConnection, + options?: ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + privateEndpointConnectionName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + options?: ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams + ): 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, + managedInstanceName, + privateEndpointConnectionName, + options + }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + options?: ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + managedInstanceName, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + private _listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams + ): Promise< + ManagedInstancePrivateEndpointConnectionsListByManagedInstanceResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByManagedInstanceOperationSpec + ); + } + + /** + * ListByManagedInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByManagedInstance method. + * @param options The options parameters. + */ + private _listByManagedInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextOptionalParams + ): Promise< + ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, nextLink, options }, + listByManagedInstanceNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstancePrivateEndpointConnection + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstancePrivateEndpointConnection + }, + 201: { + bodyMapper: Mappers.ManagedInstancePrivateEndpointConnection + }, + 202: { + bodyMapper: Mappers.ManagedInstancePrivateEndpointConnection + }, + 204: { + bodyMapper: Mappers.ManagedInstancePrivateEndpointConnection + }, + default: {} + }, + requestBody: Parameters.parameters56, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.privateEndpointConnectionName + ], + serializer +}; +const listByManagedInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstancePrivateEndpointConnectionListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByManagedInstanceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstancePrivateEndpointConnectionListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedInstancePrivateLinkResources.ts b/sdk/sql/arm-sql/src/operations/managedInstancePrivateLinkResources.ts new file mode 100644 index 000000000000..da7d328b9aae --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/managedInstancePrivateLinkResources.ts @@ -0,0 +1,235 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstancePrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ManagedInstancePrivateLink, + ManagedInstancePrivateLinkResourcesListByManagedInstanceNextOptionalParams, + ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams, + ManagedInstancePrivateLinkResourcesListByManagedInstanceResponse, + ManagedInstancePrivateLinkResourcesGetOptionalParams, + ManagedInstancePrivateLinkResourcesGetResponse, + ManagedInstancePrivateLinkResourcesListByManagedInstanceNextResponse +} from "../models"; + +/// +/** Class containing ManagedInstancePrivateLinkResources operations. */ +export class ManagedInstancePrivateLinkResourcesImpl + implements ManagedInstancePrivateLinkResources { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ManagedInstancePrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets the private link resources for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + public listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByManagedInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByManagedInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByManagedInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByManagedInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByManagedInstanceNext( + resourceGroupName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByManagedInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByManagedInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } + } + + /** + * Gets the private link resources for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + private _listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByManagedInstanceOperationSpec + ); + } + + /** + * Gets a private link resource for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param groupName The name of the private link resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + groupName: string, + options?: ManagedInstancePrivateLinkResourcesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, groupName, options }, + getOperationSpec + ); + } + + /** + * ListByManagedInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByManagedInstance method. + * @param options The options parameters. + */ + private _listByManagedInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstancePrivateLinkResourcesListByManagedInstanceNextOptionalParams + ): Promise< + ManagedInstancePrivateLinkResourcesListByManagedInstanceNextResponse + > { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, nextLink, options }, + listByManagedInstanceNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByManagedInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstancePrivateLinkListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/privateLinkResources/{groupName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstancePrivateLink + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.groupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByManagedInstanceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstancePrivateLinkListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/managedInstanceTdeCertificates.ts b/sdk/sql/arm-sql/src/operations/managedInstanceTdeCertificates.ts index 3f394c1ad151..c8c096d89d10 100644 --- a/sdk/sql/arm-sql/src/operations/managedInstanceTdeCertificates.ts +++ b/sdk/sql/arm-sql/src/operations/managedInstanceTdeCertificates.ts @@ -1,27 +1,31 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedInstanceTdeCertificatesMappers"; +import { ManagedInstanceTdeCertificates } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + TdeCertificate, + ManagedInstanceTdeCertificatesCreateOptionalParams +} from "../models"; -/** Class representing a ManagedInstanceTdeCertificates. */ -export class ManagedInstanceTdeCertificates { +/** Class containing ManagedInstanceTdeCertificates operations. */ +export class ManagedInstanceTdeCertificatesImpl + implements ManagedInstanceTdeCertificates { private readonly client: SqlManagementClientContext; /** - * Create a ManagedInstanceTdeCertificates. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedInstanceTdeCertificates class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,69 +33,108 @@ export class ManagedInstanceTdeCertificates { /** * Creates a TDE certificate for a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param parameters The requested TDE certificate to be created or updated. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(resourceGroupName: string, managedInstanceName: string, parameters: Models.TdeCertificate, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(resourceGroupName,managedInstanceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreate( + resourceGroupName: string, + managedInstanceName: string, + parameters: TdeCertificate, + options?: ManagedInstanceTdeCertificatesCreateOptionalParams + ): 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, managedInstanceName, parameters, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates a TDE certificate for a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param parameters The requested TDE certificate to be created or updated. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreate(resourceGroupName: string, managedInstanceName: string, parameters: Models.TdeCertificate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - parameters, - options - }, - beginCreateOperationSpec, - options); + async beginCreateAndWait( + resourceGroupName: string, + managedInstanceName: string, + parameters: TdeCertificate, + options?: ManagedInstanceTdeCertificatesCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + resourceGroupName, + managedInstanceName, + parameters, + options + ); + return poller.pollUntilDone(); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const beginCreateOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/tdeCertificates", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/tdeCertificates", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + requestBody: Parameters.parameters59, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.TdeCertificate, - required: true - } - }, - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.contentType], + mediaType: "json", serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedInstanceVulnerabilityAssessments.ts b/sdk/sql/arm-sql/src/operations/managedInstanceVulnerabilityAssessments.ts index 11ac9da5bce2..677a83c6f928 100644 --- a/sdk/sql/arm-sql/src/operations/managedInstanceVulnerabilityAssessments.ts +++ b/sdk/sql/arm-sql/src/operations/managedInstanceVulnerabilityAssessments.ts @@ -1,266 +1,272 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedInstanceVulnerabilityAssessmentsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstanceVulnerabilityAssessments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ManagedInstanceVulnerabilityAssessment, + ManagedInstanceVulnerabilityAssessmentsListByInstanceNextOptionalParams, + ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams, + VulnerabilityAssessmentName, + ManagedInstanceVulnerabilityAssessmentsGetOptionalParams, + ManagedInstanceVulnerabilityAssessmentsGetResponse, + ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams, + ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateResponse, + ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams, + ManagedInstanceVulnerabilityAssessmentsListByInstanceResponse, + ManagedInstanceVulnerabilityAssessmentsListByInstanceNextResponse +} from "../models"; -/** Class representing a ManagedInstanceVulnerabilityAssessments. */ -export class ManagedInstanceVulnerabilityAssessments { +/// +/** Class containing ManagedInstanceVulnerabilityAssessments operations. */ +export class ManagedInstanceVulnerabilityAssessmentsImpl + implements ManagedInstanceVulnerabilityAssessments { private readonly client: SqlManagementClientContext; /** - * Create a ManagedInstanceVulnerabilityAssessments. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedInstanceVulnerabilityAssessments class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets the managed instance's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. - * @param callback The callback + * Gets the managed instance's vulnerability assessment policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessments + * is defined. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( + resourceGroupName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. - * @param options The optional parameters - * @param callback The callback + * Gets the managed instance's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessment + * is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedInstanceVulnerabilityAssessmentsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, + vulnerabilityAssessmentName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Creates or updates the managed instance's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. - * @param parameters The requested resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceVulnerabilityAssessment, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. - * @param parameters The requested resource. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceVulnerabilityAssessment, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. + * Creates or updates the managed instance's vulnerability assessment. Learn more about setting SQL + * vulnerability assessment with managed identity - + * https://docs.microsoft.com/azure/azure-sql/database/sql-database-vulnerability-assessment-storage + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessment + * is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param parameters The requested resource. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceVulnerabilityAssessment, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceVulnerabilityAssessment, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + parameters: ManagedInstanceVulnerabilityAssessment, + options?: ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, + vulnerabilityAssessmentName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Removes the managed instance's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. - * @param [options] The optional parameters - * @returns Promise + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessment + * is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessment is defined. - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + managedInstanceName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, + vulnerabilityAssessmentName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** * Gets the managed instance's vulnerability assessment policies. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessments is defined. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessments is defined. - * @param callback The callback + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessments + * is defined. + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance for which the vulnerability - * assessments is defined. - * @param options The optional parameters - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - managedInstanceName, - options - }, - listByInstanceOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); } /** - * Gets the managed instance's vulnerability assessment policies. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByInstanceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessments + * is defined. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstanceVulnerabilityAssessmentsListByInstanceNextOptionalParams + ): Promise< + ManagedInstanceVulnerabilityAssessmentsListByInstanceNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstanceNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedInstanceVulnerabilityAssessment }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedInstanceVulnerabilityAssessment, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ManagedInstanceVulnerabilityAssessment @@ -268,79 +274,73 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ManagedInstanceVulnerabilityAssessment }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters60, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.vulnerabilityAssessmentName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 + Parameters.managedInstanceName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByInstanceOperationSpec: msRest.OperationSpec = { +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedInstanceVulnerabilityAssessmentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByInstanceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceVulnerabilityAssessmentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedInstances.ts b/sdk/sql/arm-sql/src/operations/managedInstances.ts index 9187f0f06a0d..2ef185f9ee4b 100644 --- a/sdk/sql/arm-sql/src/operations/managedInstances.ts +++ b/sdk/sql/arm-sql/src/operations/managedInstances.ts @@ -1,27 +1,58 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedInstancesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedInstance, + ManagedInstancesListByInstancePoolNextOptionalParams, + ManagedInstancesListByInstancePoolOptionalParams, + ManagedInstancesListNextOptionalParams, + ManagedInstancesListOptionalParams, + ManagedInstancesListByResourceGroupNextOptionalParams, + ManagedInstancesListByResourceGroupOptionalParams, + TopQueries, + ManagedInstancesListByManagedInstanceNextOptionalParams, + ManagedInstancesListByManagedInstanceOptionalParams, + ManagedInstancesListByInstancePoolResponse, + ManagedInstancesListResponse, + ManagedInstancesListByResourceGroupResponse, + ManagedInstancesGetOptionalParams, + ManagedInstancesGetResponse, + ManagedInstancesCreateOrUpdateOptionalParams, + ManagedInstancesCreateOrUpdateResponse, + ManagedInstancesDeleteOptionalParams, + ManagedInstanceUpdate, + ManagedInstancesUpdateOptionalParams, + ManagedInstancesUpdateResponse, + ManagedInstancesListByManagedInstanceResponse, + ManagedInstancesFailoverOptionalParams, + ManagedInstancesListByInstancePoolNextResponse, + ManagedInstancesListNextResponse, + ManagedInstancesListByResourceGroupNextResponse, + ManagedInstancesListByManagedInstanceNextResponse +} from "../models"; -/** Class representing a ManagedInstances. */ -export class ManagedInstances { +/// +/** Class containing ManagedInstances operations. */ +export class ManagedInstancesImpl implements ManagedInstances { private readonly client: SqlManagementClientContext; /** - * Create a ManagedInstances. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedInstances class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,436 +60,871 @@ export class ManagedInstances { /** * Gets a list of all managed instances in an instance pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param instancePoolName The instance pool name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByInstancePool(resourceGroupName: string, instancePoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The instance pool name. - * @param callback The callback - */ - listByInstancePool(resourceGroupName: string, instancePoolName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The instance pool name. - * @param options The optional parameters - * @param callback The callback - */ - listByInstancePool(resourceGroupName: string, instancePoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstancePool(resourceGroupName: string, instancePoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByInstancePool( + resourceGroupName: string, + instancePoolName: string, + options?: ManagedInstancesListByInstancePoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePoolPagingAll( + resourceGroupName, + instancePoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePoolPagingPage( + resourceGroupName, + instancePoolName, + options + ); + } + }; + } + + private async *listByInstancePoolPagingPage( + resourceGroupName: string, + instancePoolName: string, + options?: ManagedInstancesListByInstancePoolOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstancePool( + resourceGroupName, + instancePoolName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstancePoolNext( resourceGroupName, instancePoolName, + continuationToken, options - }, - listByInstancePoolOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePoolPagingAll( + resourceGroupName: string, + instancePoolName: string, + options?: ManagedInstancesListByInstancePoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePoolPagingPage( + resourceGroupName, + instancePoolName, + options + )) { + yield* page; + } } /** - * Gets a list of managed instances in a resource group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param callback The callback + * Gets a list of all managed instances in the subscription. + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; + public list( + options?: ManagedInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ManagedInstancesListOptionalParams + ): 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?: ManagedInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param options The optional parameters - * @param callback The callback + * Gets a list of managed instances in a resource group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByResourceGroup( + resourceGroupName: string, + options?: ManagedInstancesListByResourceGroupOptionalParams + ): 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?: ManagedInstancesListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: ManagedInstancesListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** - * Gets a managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - get(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Get top resource consuming queries of a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesListByManagedInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByManagedInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByManagedInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByManagedInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesListByManagedInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByManagedInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByManagedInstanceNext( resourceGroupName, managedInstanceName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Creates or updates a managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param parameters The requested managed instance resource state. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstance, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,managedInstanceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByManagedInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesListByManagedInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByManagedInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } } /** - * Deletes a managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * Gets a list of all managed instances in an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The instance pool name. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,managedInstanceName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + private _listByInstancePool( + resourceGroupName: string, + instancePoolName: string, + options?: ManagedInstancesListByInstancePoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, instancePoolName, options }, + listByInstancePoolOperationSpec + ); } /** - * Updates a managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param parameters The requested managed instance resource state. - * @param [options] The optional parameters - * @returns Promise + * Gets a list of all managed instances in the subscription. + * @param options The options parameters. */ - update(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,managedInstanceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private _list( + options?: ManagedInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); } /** - * Gets a list of all managed instances in the subscription. - * @param [options] The optional parameters - * @returns Promise + * Gets a list of managed instances in a resource group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; + private _listByResourceGroup( + resourceGroupName: string, + options?: ManagedInstancesListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + /** - * @param callback The callback + * Gets a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. */ - list(callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + getOperationSpec + ); + } + /** - * @param options The optional parameters - * @param callback The callback + * Creates or updates a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested managed instance resource state. + * @param options The options parameters. */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + parameters: ManagedInstance, + options?: ManagedInstancesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedInstancesCreateOrUpdateResponse + > + > { + 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, managedInstanceName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates a managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param parameters The requested managed instance resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstance, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + parameters: ManagedInstance, + options?: ManagedInstancesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes a managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDelete( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesDeleteOptionalParams + ): 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, managedInstanceName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Updates a managed instance. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param parameters The requested managed instance resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedInstanceUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + managedInstanceName, + options + ); + return poller.pollUntilDone(); } /** - * Gets a list of all managed instances in an instance pool. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Updates a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested managed instance resource state. + * @param options The options parameters. */ - listByInstancePoolNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginUpdate( + resourceGroupName: string, + managedInstanceName: string, + parameters: ManagedInstanceUpdate, + options?: ManagedInstancesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedInstancesUpdateResponse + > + > { + 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, managedInstanceName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Updates a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested managed instance resource state. + * @param options The options parameters. */ - listByInstancePoolNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + parameters: ManagedInstanceUpdate, + options?: ManagedInstancesUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + managedInstanceName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Get top resource consuming queries of a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. */ - listByInstancePoolNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstancePoolNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesListByManagedInstanceOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstancePoolNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, options }, + listByManagedInstanceOperationSpec + ); } /** - * Gets a list of managed instances in a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Failovers a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance to failover. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginFailover( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesFailoverOptionalParams + ): 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, managedInstanceName, options }, + failoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Failovers a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance to failover. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginFailoverAndWait( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesFailoverOptionalParams + ): Promise { + const poller = await this.beginFailover( + resourceGroupName, + managedInstanceName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstancePoolNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The instance pool name. + * @param nextLink The nextLink from the previous successful call to the ListByInstancePool method. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstancePoolNext( + resourceGroupName: string, + instancePoolName: string, + nextLink: string, + options?: ManagedInstancesListByInstancePoolNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; + { resourceGroupName, instancePoolName, nextLink, options }, + listByInstancePoolNextOperationSpec + ); } /** - * Gets a list of all managed instances in the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _listNext( + nextLink: string, + options?: ManagedInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: ManagedInstancesListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByManagedInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByManagedInstance method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByManagedInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedInstancesListByManagedInstanceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listByManagedInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByInstancePoolOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByInstancePoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/managedInstances", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/managedInstances", + responses: { + 200: { + bodyMapper: Mappers.ManagedInstanceListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.expand], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.instancePoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.instancePoolName ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2, Parameters.expand], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedInstanceListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedInstance }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances", + queryParameters: [Parameters.apiVersion2, Parameters.expand], urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ManagedInstanceListResult + bodyMapper: Mappers.ManagedInstance }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ManagedInstance + }, + 202: { + bodyMapper: Mappers.ManagedInstance + }, + 204: { + bodyMapper: Mappers.ManagedInstance + }, + default: {} }, + requestBody: Parameters.parameters57, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 + Parameters.managedInstanceName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedInstance, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.ManagedInstance @@ -466,131 +932,152 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ManagedInstance }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.ManagedInstance + }, + 204: { + bodyMapper: Mappers.ManagedInstance + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", + requestBody: Parameters.parameters58, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByManagedInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/topqueries", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TopQueriesListResult + }, + default: {} + }, queryParameters: [ - Parameters.apiVersion3 + Parameters.apiVersion2, + Parameters.startTime, + Parameters.endTime, + Parameters.interval, + Parameters.numberOfQueries, + Parameters.databases, + Parameters.aggregationFunction, + Parameters.observationMetric ], - headerParameters: [ - Parameters.acceptLanguage + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", +const failoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/failover", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.replicaType, Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId + Parameters.managedInstanceName ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedInstanceUpdate, - required: true - } - }, + serializer +}; +const listByInstancePoolNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ManagedInstance + bodyMapper: Mappers.ManagedInstanceListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.instancePoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByInstancePoolNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedInstanceListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByManagedInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ManagedInstanceListResult + bodyMapper: Mappers.TopQueriesListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.startTime, + Parameters.endTime, + Parameters.interval, + Parameters.numberOfQueries, + Parameters.databases, + Parameters.aggregationFunction, + Parameters.observationMetric + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operations/managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.ts index f6b8abddc545..7f3db18d4ebb 100644 --- a/sdk/sql/arm-sql/src/operations/managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.ts @@ -1,362 +1,574 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedBackupShortTermRetentionPolicy, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextOptionalParams, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams, + ManagedShortTermRetentionPolicyName, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseResponse, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextResponse +} from "../models"; -/** Class representing a ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies. */ -export class ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies { +/// +/** Class containing ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies operations. */ +export class ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesImpl + implements ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a dropped database's short term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param restorableDroppedDatabaseId - * @param [options] The optional parameters - * @returns - * Promise - */ - get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a dropped database's short term retention policy list. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param restorableDroppedDatabaseId - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, callback: msRest.ServiceCallback): void; + public listByRestorableDroppedDatabase( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByRestorableDroppedDatabasePagingAll( + resourceGroupName, + managedInstanceName, + restorableDroppedDatabaseId, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByRestorableDroppedDatabasePagingPage( + resourceGroupName, + managedInstanceName, + restorableDroppedDatabaseId, + options + ); + } + }; + } + + private async *listByRestorableDroppedDatabasePagingPage( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByRestorableDroppedDatabase( + resourceGroupName, + managedInstanceName, + restorableDroppedDatabaseId, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByRestorableDroppedDatabaseNext( + resourceGroupName, + managedInstanceName, + restorableDroppedDatabaseId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByRestorableDroppedDatabasePagingAll( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByRestorableDroppedDatabasePagingPage( + resourceGroupName, + managedInstanceName, + restorableDroppedDatabaseId, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a dropped database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param restorableDroppedDatabaseId - * @param options The optional parameters - * @param callback The callback + * @param policyName The policy name. + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams + ): Promise< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse + > { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, restorableDroppedDatabaseId, + policyName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Sets a database's long term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Sets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param restorableDroppedDatabaseId - * @param parameters The long term retention policy info. - * @param [options] The optional parameters - * @returns - * Promise + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, parameters: Models.ManagedBackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,managedInstanceName,restorableDroppedDatabaseId,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse + >, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse + > + > { + 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, + managedInstanceName, + restorableDroppedDatabaseId, + policyName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Sets a database's long term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Sets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param restorableDroppedDatabaseId - * @param parameters The long term retention policy info. - * @param [options] The optional parameters - * @returns - * Promise + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. */ - update(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, parameters: Models.ManagedBackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,managedInstanceName,restorableDroppedDatabaseId,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse + > { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + restorableDroppedDatabaseId, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Gets a dropped database's short term retention policy list. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param restorableDroppedDatabaseId - * @param [options] The optional parameters - * @returns - * Promise - */ - listByRestorableDroppedDatabase(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Sets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param restorableDroppedDatabaseId - * @param callback The callback + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. */ - listByRestorableDroppedDatabase(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param restorableDroppedDatabaseId - * @param options The optional parameters - * @param callback The callback - */ - listByRestorableDroppedDatabase(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByRestorableDroppedDatabase(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginUpdate( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse + >, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse + > + > { + 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, managedInstanceName, restorableDroppedDatabaseId, + policyName, + parameters, options }, - listByRestorableDroppedDatabaseOperationSpec, - callback) as Promise; + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Sets a database's long term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Sets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param restorableDroppedDatabaseId - * @param parameters The long term retention policy info. - * @param [options] The optional parameters - * @returns Promise + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, parameters: Models.ManagedBackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - managedInstanceName, - restorableDroppedDatabaseId, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse + > { + const poller = await this.beginUpdate( + resourceGroupName, + managedInstanceName, + restorableDroppedDatabaseId, + policyName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Sets a database's long term retention policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a dropped database's short term retention policy list. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param restorableDroppedDatabaseId - * @param parameters The long term retention policy info. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, parameters: Models.ManagedBackupShortTermRetentionPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + private _listByRestorableDroppedDatabase( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams + ): Promise< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseResponse + > { + return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, restorableDroppedDatabaseId, - parameters, options }, - beginUpdateOperationSpec, - options); + listByRestorableDroppedDatabaseOperationSpec + ); } /** - * Gets a dropped database's short term retention policy list. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - listByRestorableDroppedDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByRestorableDroppedDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByRestorableDroppedDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param restorableDroppedDatabaseId + * @param nextLink The nextLink from the previous successful call to the + * ListByRestorableDroppedDatabase method. + * @param options The options parameters. */ - listByRestorableDroppedDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByRestorableDroppedDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByRestorableDroppedDatabaseNext( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + nextLink: string, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextOptionalParams + ): Promise< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextResponse + > { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + managedInstanceName, + restorableDroppedDatabaseId, + nextLink, options }, - listByRestorableDroppedDatabaseNextOperationSpec, - callback) as Promise; + listByRestorableDroppedDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.restorableDroppedDatabaseId, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByRestorableDroppedDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.managedInstanceName, - Parameters.restorableDroppedDatabaseId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.policyName1, + Parameters.restorableDroppedDatabaseId ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicyListResult + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + 202: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + 204: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}", + requestBody: Parameters.parameters42, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.managedInstanceName, - Parameters.restorableDroppedDatabaseId, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.policyName1, + Parameters.restorableDroppedDatabaseId ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedBackupShortTermRetentionPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + 202: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + 204: { + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + }, + default: {} }, - serializer -}; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies/{policyName}", + requestBody: Parameters.parameters42, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.managedInstanceName, - Parameters.restorableDroppedDatabaseId, - Parameters.policyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.policyName1, + Parameters.restorableDroppedDatabaseId ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedBackupShortTermRetentionPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByRestorableDroppedDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}/backupShortTermRetentionPolicies", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicy + bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicyListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.restorableDroppedDatabaseId + ], + headerParameters: [Parameters.accept], serializer }; - -const listByRestorableDroppedDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByRestorableDroppedDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedBackupShortTermRetentionPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName, + Parameters.restorableDroppedDatabaseId + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/managedServerSecurityAlertPolicies.ts b/sdk/sql/arm-sql/src/operations/managedServerSecurityAlertPolicies.ts index 0c58ca809417..67a5adef4d97 100644 --- a/sdk/sql/arm-sql/src/operations/managedServerSecurityAlertPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/managedServerSecurityAlertPolicies.ts @@ -1,270 +1,380 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/managedServerSecurityAlertPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ManagedServerSecurityAlertPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ManagedServerSecurityAlertPolicy, + ManagedServerSecurityAlertPoliciesListByInstanceNextOptionalParams, + ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams, + SecurityAlertPolicyName, + ManagedServerSecurityAlertPoliciesGetOptionalParams, + ManagedServerSecurityAlertPoliciesGetResponse, + ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams, + ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse, + ManagedServerSecurityAlertPoliciesListByInstanceResponse, + ManagedServerSecurityAlertPoliciesListByInstanceNextResponse +} from "../models"; -/** Class representing a ManagedServerSecurityAlertPolicies. */ -export class ManagedServerSecurityAlertPolicies { +/// +/** Class containing ManagedServerSecurityAlertPolicies operations. */ +export class ManagedServerSecurityAlertPoliciesImpl + implements ManagedServerSecurityAlertPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ManagedServerSecurityAlertPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ManagedServerSecurityAlertPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Get a managed server's threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - get(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Get the managed server's threat detection policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( resourceGroupName, managedInstanceName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Creates or updates a threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param parameters The managed server security alert policy. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedServerSecurityAlertPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,managedInstanceName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } } /** - * Get the managed server's threat detection policies. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Get a managed server's threat detection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: ManagedServerSecurityAlertPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, managedInstanceName, + securityAlertPolicyName, options }, - listByInstanceOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates a threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. + * @param securityAlertPolicyName The name of the security alert policy. * @param parameters The managed server security alert policy. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: Models.ManagedServerSecurityAlertPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ManagedServerSecurityAlertPolicy, + options?: ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse + >, + ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse + > + > { + 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, managedInstanceName, + securityAlertPolicyName, parameters, options }, - beginCreateOrUpdateOperationSpec, - options); + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Get the managed server's threat detection policies. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param securityAlertPolicyName The name of the security alert policy. + * @param parameters The managed server security alert policy. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ManagedServerSecurityAlertPolicy, + options?: ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + managedInstanceName, + securityAlertPolicyName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Get the managed server's threat detection policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ManagedServerSecurityAlertPoliciesListByInstanceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstanceNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies/{securityAlertPolicyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies/{securityAlertPolicyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.securityAlertPolicyName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ManagedServerSecurityAlertPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByInstanceOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.securityAlertPolicyName, + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies/{securityAlertPolicyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ManagedServerSecurityAlertPolicyListResult + bodyMapper: Mappers.ManagedServerSecurityAlertPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ManagedServerSecurityAlertPolicy + }, + 202: { + bodyMapper: Mappers.ManagedServerSecurityAlertPolicy + }, + 204: { + bodyMapper: Mappers.ManagedServerSecurityAlertPolicy + }, + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies/{securityAlertPolicyName}", + requestBody: Parameters.parameters61, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.securityAlertPolicyName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.securityAlertPolicyName, + Parameters.managedInstanceName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ManagedServerSecurityAlertPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ManagedServerSecurityAlertPolicy + bodyMapper: Mappers.ManagedServerSecurityAlertPolicyListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByInstanceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ManagedServerSecurityAlertPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/operations.ts b/sdk/sql/arm-sql/src/operations/operations.ts index 21acf86ad037..731eaf2976cf 100644 --- a/sdk/sql/arm-sql/src/operations/operations.ts +++ b/sdk/sql/arm-sql/src/operations/operations.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/operationsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + Operation, + OperationsListNextOptionalParams, + OperationsListOptionalParams, + OperationsListResponse, + OperationsListNextResponse +} from "../models"; -/** Class representing a Operations. */ -export class Operations { +/// +/** Class containing Operations operations. */ +export class OperationsImpl implements Operations { private readonly client: SqlManagementClientContext; /** - * Create a Operations. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Operations class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,96 +36,99 @@ export class Operations { /** * Lists all of the available SQL Rest API operations. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: OperationsListOptionalParams + ): 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?: OperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Lists all of the available SQL Rest API operations. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: OperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: OperationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Sql/operations", httpMethod: "GET", - path: "providers/Microsoft.Sql/operations", - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.OperationListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.OperationListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/operationsHealthOperations.ts b/sdk/sql/arm-sql/src/operations/operationsHealthOperations.ts new file mode 100644 index 000000000000..9c2552bcf43e --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/operationsHealthOperations.ts @@ -0,0 +1,163 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { OperationsHealthOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + OperationsHealth, + OperationsHealthOperationsListByLocationNextOptionalParams, + OperationsHealthOperationsListByLocationOptionalParams, + OperationsHealthOperationsListByLocationResponse, + OperationsHealthOperationsListByLocationNextResponse +} from "../models"; + +/// +/** Class containing OperationsHealthOperations operations. */ +export class OperationsHealthOperationsImpl + implements OperationsHealthOperations { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class OperationsHealthOperations class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a service operation health status. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + public listByLocation( + locationName: string, + options?: OperationsHealthOperationsListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll(locationName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage(locationName, options); + } + }; + } + + private async *listByLocationPagingPage( + locationName: string, + options?: OperationsHealthOperationsListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation(locationName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( + locationName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + locationName: string, + options?: OperationsHealthOperationsListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage( + locationName, + options + )) { + yield* page; + } + } + + /** + * Gets a service operation health status. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + private _listByLocation( + locationName: string, + options?: OperationsHealthOperationsListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, options }, + listByLocationOperationSpec + ); + } + + /** + * ListByLocationNext + * @param locationName The name of the region where the resource is located. + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. + */ + private _listByLocationNext( + locationName: string, + nextLink: string, + options?: OperationsHealthOperationsListByLocationNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, nextLink, options }, + listByLocationNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/operationsHealth", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationsHealthListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByLocationNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationsHealthListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/outboundFirewallRules.ts b/sdk/sql/arm-sql/src/operations/outboundFirewallRules.ts new file mode 100644 index 000000000000..557863212ce3 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/outboundFirewallRules.ts @@ -0,0 +1,468 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { OutboundFirewallRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + OutboundFirewallRule, + OutboundFirewallRulesListByServerNextOptionalParams, + OutboundFirewallRulesListByServerOptionalParams, + OutboundFirewallRulesGetOptionalParams, + OutboundFirewallRulesGetResponse, + OutboundFirewallRulesCreateOrUpdateOptionalParams, + OutboundFirewallRulesCreateOrUpdateResponse, + OutboundFirewallRulesDeleteOptionalParams, + OutboundFirewallRulesListByServerResponse, + OutboundFirewallRulesListByServerNextResponse +} from "../models"; + +/// +/** Class containing OutboundFirewallRules operations. */ +export class OutboundFirewallRulesImpl implements OutboundFirewallRules { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class OutboundFirewallRules class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets all outbound firewall rules on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + options?: OutboundFirewallRulesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: OutboundFirewallRulesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: OutboundFirewallRulesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + + /** + * Gets an outbound firewall rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + options?: OutboundFirewallRulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, outboundRuleFqdn, options }, + getOperationSpec + ); + } + + /** + * Create a outbound firewall rule with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param parameters An Azure SQL DB Server Outbound Firewall Rule. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + parameters: OutboundFirewallRule, + options?: OutboundFirewallRulesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + OutboundFirewallRulesCreateOrUpdateResponse + > + > { + 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, serverName, outboundRuleFqdn, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Create a outbound firewall rule with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param parameters An Azure SQL DB Server Outbound Firewall Rule. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + parameters: OutboundFirewallRule, + options?: OutboundFirewallRulesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + outboundRuleFqdn, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a outbound firewall rule with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + options?: OutboundFirewallRulesDeleteOptionalParams + ): 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, serverName, outboundRuleFqdn, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a outbound firewall rule with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + options?: OutboundFirewallRulesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + outboundRuleFqdn, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets all outbound firewall rules on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: OutboundFirewallRulesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: OutboundFirewallRulesListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OutboundFirewallRule + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.outboundRuleFqdn + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.OutboundFirewallRule + }, + 201: { + bodyMapper: Mappers.OutboundFirewallRule + }, + 202: { + bodyMapper: Mappers.OutboundFirewallRule + }, + 204: { + bodyMapper: Mappers.OutboundFirewallRule + }, + default: {} + }, + requestBody: Parameters.parameters84, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.outboundRuleFqdn + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.outboundRuleFqdn + ], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OutboundFirewallRuleListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OutboundFirewallRuleListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/privateEndpointConnections.ts b/sdk/sql/arm-sql/src/operations/privateEndpointConnections.ts index f2a129d2a609..c3e265516b3f 100644 --- a/sdk/sql/arm-sql/src/operations/privateEndpointConnections.ts +++ b/sdk/sql/arm-sql/src/operations/privateEndpointConnections.ts @@ -1,338 +1,475 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/privateEndpointConnectionsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListByServerNextOptionalParams, + PrivateEndpointConnectionsListByServerOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams, + PrivateEndpointConnectionsListByServerResponse, + PrivateEndpointConnectionsListByServerNextResponse +} from "../models"; -/** Class representing a PrivateEndpointConnections. */ -export class PrivateEndpointConnections { +/// +/** Class containing PrivateEndpointConnections operations. */ +export class PrivateEndpointConnectionsImpl + implements PrivateEndpointConnections { private readonly client: SqlManagementClientContext; /** - * Create a PrivateEndpointConnections. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class PrivateEndpointConnections class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a private endpoint connection. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param privateEndpointConnectionName The name of the private endpoint connection. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase): Promise; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a private endpoint connection. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param privateEndpointConnectionName The name of the private endpoint connection. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, privateEndpointConnectionName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param privateEndpointConnectionName The name of the private endpoint connection. - * @param options The optional parameters - * @param callback The callback + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsCreateOrUpdateResponse + > + > { + 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, serverName, privateEndpointConnectionName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Approve or reject a private endpoint connection with a given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param privateEndpointConnectionName - * @param parameters - * @param [options] The optional parameters - * @returns Promise + * @param parameters A private endpoint connection + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: Models.PrivateEndpointConnection, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,privateEndpointConnectionName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + privateEndpointConnectionName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes a private endpoint connection with a given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param privateEndpointConnectionName - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,privateEndpointConnectionName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginDelete( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): 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() + } + }; + }; - /** - * Gets all private endpoint connections on a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serverName, privateEndpointConnectionName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Approve or reject a private endpoint connection with a given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param privateEndpointConnectionName - * @param parameters - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: Models.PrivateEndpointConnection, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - privateEndpointConnectionName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + privateEndpointConnectionName, + options + ); + return poller.pollUntilDone(); } /** - * Deletes a private endpoint connection with a given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param privateEndpointConnectionName - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - privateEndpointConnectionName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Gets all private endpoint connections on a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.PrivateEndpointConnection }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 + Parameters.privateEndpointConnectionName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.PrivateEndpointConnectionListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.PrivateEndpointConnection, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.PrivateEndpointConnection }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 202: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + 204: { + bodyMapper: Mappers.PrivateEndpointConnection + }, + default: {} }, + requestBody: Parameters.parameters62, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.privateEndpointConnectionName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.privateEndpointConnectionName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections", httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PrivateEndpointConnectionListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/privateLinkResources.ts b/sdk/sql/arm-sql/src/operations/privateLinkResources.ts index ff5ec78a08f5..2648be4a3266 100644 --- a/sdk/sql/arm-sql/src/operations/privateLinkResources.ts +++ b/sdk/sql/arm-sql/src/operations/privateLinkResources.ts @@ -1,26 +1,36 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/privateLinkResourcesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByServerNextOptionalParams, + PrivateLinkResourcesListByServerOptionalParams, + PrivateLinkResourcesListByServerResponse, + PrivateLinkResourcesGetOptionalParams, + PrivateLinkResourcesGetResponse, + PrivateLinkResourcesListByServerNextResponse +} from "../models"; -/** Class representing a PrivateLinkResources. */ -export class PrivateLinkResources { +/// +/** Class containing PrivateLinkResources operations. */ +export class PrivateLinkResourcesImpl implements PrivateLinkResources { private readonly client: SqlManagementClientContext; /** - * Create a PrivateLinkResources. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class PrivateLinkResources class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,177 +38,195 @@ export class PrivateLinkResources { /** * Gets the private link resources for SQL server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, + continuationToken, options - }, - listByServerOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Gets a private link resource for SQL server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param groupName The name of the private link resource. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, groupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the private link resources for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param groupName The name of the private link resource. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, groupName: string, callback: msRest.ServiceCallback): void; + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a private link resource for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param groupName The name of the private link resource. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, groupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, groupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + groupName: string, + options?: PrivateLinkResourcesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - groupName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, groupName, options }, + getOperationSpec + ); } /** - * Gets the private link resources for SQL server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: PrivateLinkResourcesListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByServerOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateLinkResources", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateLinkResources", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.PrivateLinkResourceListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateLinkResources/{groupName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.groupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateLinkResources/{groupName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PrivateLinkResource }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.groupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PrivateLinkResourceListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/recommendedElasticPools.ts b/sdk/sql/arm-sql/src/operations/recommendedElasticPools.ts deleted file mode 100644 index a2eb82653e0e..000000000000 --- a/sdk/sql/arm-sql/src/operations/recommendedElasticPools.ts +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/recommendedElasticPoolsMappers"; -import * as Parameters from "../models/parameters"; -import { SqlManagementClientContext } from "../sqlManagementClientContext"; - -/** Class representing a RecommendedElasticPools. */ -export class RecommendedElasticPools { - private readonly client: SqlManagementClientContext; - - /** - * Create a RecommendedElasticPools. - * @param {SqlManagementClientContext} client Reference to the service client. - */ - constructor(client: SqlManagementClientContext) { - this.client = client; - } - - /** - * Gets a recommended elastic pool. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param recommendedElasticPoolName The name of the recommended elastic pool to be retrieved. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, recommendedElasticPoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param recommendedElasticPoolName The name of the recommended elastic pool to be retrieved. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, recommendedElasticPoolName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param recommendedElasticPoolName The name of the recommended elastic pool to be retrieved. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, recommendedElasticPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, recommendedElasticPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - recommendedElasticPoolName, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Returns recommended elastic pools. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; - } - - /** - * Returns recommended elastic pool metrics. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param recommendedElasticPoolName The name of the recommended elastic pool to be retrieved. - * @param [options] The optional parameters - * @returns Promise - */ - listMetrics(resourceGroupName: string, serverName: string, recommendedElasticPoolName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param recommendedElasticPoolName The name of the recommended elastic pool to be retrieved. - * @param callback The callback - */ - listMetrics(resourceGroupName: string, serverName: string, recommendedElasticPoolName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param recommendedElasticPoolName The name of the recommended elastic pool to be retrieved. - * @param options The optional parameters - * @param callback The callback - */ - listMetrics(resourceGroupName: string, serverName: string, recommendedElasticPoolName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listMetrics(resourceGroupName: string, serverName: string, recommendedElasticPoolName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - recommendedElasticPoolName, - options - }, - listMetricsOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.recommendedElasticPoolName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RecommendedElasticPool - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RecommendedElasticPoolListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listMetricsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/metrics", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.recommendedElasticPoolName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RecommendedElasticPoolListMetricsResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/sql/arm-sql/src/operations/recommendedSensitivityLabels.ts b/sdk/sql/arm-sql/src/operations/recommendedSensitivityLabels.ts new file mode 100644 index 000000000000..89f5253b75aa --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/recommendedSensitivityLabels.ts @@ -0,0 +1,74 @@ +/* + * 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 { RecommendedSensitivityLabels } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + RecommendedSensitivityLabelUpdateList, + RecommendedSensitivityLabelsUpdateOptionalParams +} from "../models"; + +/** Class containing RecommendedSensitivityLabels operations. */ +export class RecommendedSensitivityLabelsImpl + implements RecommendedSensitivityLabels { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class RecommendedSensitivityLabels class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Update recommended sensitivity labels states of a given database using an operations batch. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters A list of recommended sensitivity label update operations. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: RecommendedSensitivityLabelUpdateList, + options?: RecommendedSensitivityLabelsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, parameters, options }, + updateOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/recommendedSensitivityLabels", + httpMethod: "PATCH", + responses: { 200: {}, default: {} }, + requestBody: Parameters.parameters49, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/recoverableDatabases.ts b/sdk/sql/arm-sql/src/operations/recoverableDatabases.ts index 698f705aec79..298a1ed7f781 100644 --- a/sdk/sql/arm-sql/src/operations/recoverableDatabases.ts +++ b/sdk/sql/arm-sql/src/operations/recoverableDatabases.ts @@ -1,155 +1,177 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/recoverableDatabasesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RecoverableDatabases } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + RecoverableDatabase, + RecoverableDatabasesListByServerOptionalParams, + RecoverableDatabasesGetOptionalParams, + RecoverableDatabasesGetResponse, + RecoverableDatabasesListByServerResponse +} from "../models"; -/** Class representing a RecoverableDatabases. */ -export class RecoverableDatabases { +/// +/** Class containing RecoverableDatabases operations. */ +export class RecoverableDatabasesImpl implements RecoverableDatabases { private readonly client: SqlManagementClientContext; /** - * Create a RecoverableDatabases. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class RecoverableDatabases class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a recoverable database, which is a resource representing a database's geo backup - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of recoverable databases + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: RecoverableDatabasesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: RecoverableDatabasesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: RecoverableDatabasesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a recoverable database, which is a resource representing a database's geo backup + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: RecoverableDatabasesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + getOperationSpec + ); } /** * Gets a list of recoverable databases - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: RecoverableDatabasesListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}", + responses: { + 200: { + bodyMapper: Mappers.RecoverableDatabase + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RecoverableDatabase - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.RecoverableDatabaseListResult } }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RecoverableDatabaseListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/recoverableManagedDatabases.ts b/sdk/sql/arm-sql/src/operations/recoverableManagedDatabases.ts index a36cefea4644..e58532db89f2 100644 --- a/sdk/sql/arm-sql/src/operations/recoverableManagedDatabases.ts +++ b/sdk/sql/arm-sql/src/operations/recoverableManagedDatabases.ts @@ -1,26 +1,37 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/recoverableManagedDatabasesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RecoverableManagedDatabases } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + RecoverableManagedDatabase, + RecoverableManagedDatabasesListByInstanceNextOptionalParams, + RecoverableManagedDatabasesListByInstanceOptionalParams, + RecoverableManagedDatabasesListByInstanceResponse, + RecoverableManagedDatabasesGetOptionalParams, + RecoverableManagedDatabasesGetResponse, + RecoverableManagedDatabasesListByInstanceNextResponse +} from "../models"; -/** Class representing a RecoverableManagedDatabases. */ -export class RecoverableManagedDatabases { +/// +/** Class containing RecoverableManagedDatabases operations. */ +export class RecoverableManagedDatabasesImpl + implements RecoverableManagedDatabases { private readonly client: SqlManagementClientContext; /** - * Create a RecoverableManagedDatabases. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class RecoverableManagedDatabases class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,67 +39,108 @@ export class RecoverableManagedDatabases { /** * Gets a list of recoverable managed databases. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: RecoverableManagedDatabasesListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: RecoverableManagedDatabasesListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( resourceGroupName, managedInstanceName, + continuationToken, options - }, - listByInstanceOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: RecoverableManagedDatabasesListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } } /** - * Gets a recoverable managed database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param recoverableDatabaseName - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, recoverableDatabaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of recoverable managed databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param recoverableDatabaseName - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, recoverableDatabaseName: string, callback: msRest.ServiceCallback): void; + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: RecoverableManagedDatabasesListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a recoverable managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param recoverableDatabaseName - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, recoverableDatabaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, recoverableDatabaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + recoverableDatabaseName: string, + options?: RecoverableManagedDatabasesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -96,109 +148,91 @@ export class RecoverableManagedDatabases { recoverableDatabaseName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Gets a list of recoverable managed databases. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByInstanceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: RecoverableManagedDatabasesListByInstanceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstanceNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByInstanceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/recoverableDatabases", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/recoverableDatabases", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.RecoverableManagedDatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/recoverableDatabases/{recoverableDatabaseName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.recoverableDatabaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/recoverableDatabases/{recoverableDatabaseName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecoverableManagedDatabase }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.recoverableDatabaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByInstanceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecoverableManagedDatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/replicationLinks.ts b/sdk/sql/arm-sql/src/operations/replicationLinks.ts index 2e3b76a6773e..8fe56d2ce664 100644 --- a/sdk/sql/arm-sql/src/operations/replicationLinks.ts +++ b/sdk/sql/arm-sql/src/operations/replicationLinks.ts @@ -1,367 +1,790 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationLinksMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationLinks } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ReplicationLink, + ReplicationLinksListByDatabaseNextOptionalParams, + ReplicationLinksListByDatabaseOptionalParams, + ReplicationLinksListByServerNextOptionalParams, + ReplicationLinksListByServerOptionalParams, + ReplicationLinksDeleteOptionalParams, + ReplicationLinksFailoverOptionalParams, + ReplicationLinksFailoverAllowDataLossOptionalParams, + UnlinkParameters, + ReplicationLinksUnlinkOptionalParams, + ReplicationLinksListByDatabaseResponse, + ReplicationLinksGetOptionalParams, + ReplicationLinksGetResponse, + ReplicationLinksListByServerResponse, + ReplicationLinksListByDatabaseNextResponse, + ReplicationLinksListByServerNextResponse +} from "../models"; -/** Class representing a ReplicationLinks. */ -export class ReplicationLinks { +/// +/** Class containing ReplicationLinks operations. */ +export class ReplicationLinksImpl implements ReplicationLinks { private readonly client: SqlManagementClientContext; /** - * Create a ReplicationLinks. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationLinks class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Deletes a database replication link. Cannot be done during failover. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of replication links on database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database that has the replication link to be dropped. - * @param linkId The ID of the replication link to be deleted. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: msRest.RequestOptionsBase): Promise; + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ReplicationLinksListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ReplicationLinksListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ReplicationLinksListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of replication links. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database that has the replication link to be dropped. - * @param linkId The ID of the replication link to be deleted. - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ReplicationLinksListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ReplicationLinksListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ReplicationLinksListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a database replication link. Cannot be done during failover. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database that has the replication link to be dropped. * @param linkId The ID of the replication link to be deleted. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - linkId, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, serverName, databaseName, linkId, options }, + deleteOperationSpec + ); } /** - * Gets a database replication link. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Sets which replica database is primary by failing over from the current primary replica database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to get the link for. - * @param linkId The replication link ID to be retrieved. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: msRest.RequestOptionsBase): Promise; + async beginFailover( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksFailoverOptionalParams + ): 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, serverName, databaseName, linkId, options }, + failoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Sets which replica database is primary by failing over from the current primary replica database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to get the link for. - * @param linkId The replication link ID to be retrieved. - * @param callback The callback + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, callback: msRest.ServiceCallback): void; + async beginFailoverAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksFailoverOptionalParams + ): Promise { + const poller = await this.beginFailover( + resourceGroupName, + serverName, + databaseName, + linkId, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Sets which replica database is primary by failing over from the current primary replica database. + * This operation might result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to get the link for. - * @param linkId The replication link ID to be retrieved. - * @param options The optional parameters - * @param callback The callback + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginFailoverAllowDataLoss( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksFailoverAllowDataLossOptionalParams + ): 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, serverName, databaseName, linkId, options }, + failoverAllowDataLossOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Sets which replica database is primary by failing over from the current primary replica database. + * This operation might result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param options The options parameters. + */ + async beginFailoverAllowDataLossAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksFailoverAllowDataLossOptionalParams + ): Promise { + const poller = await this.beginFailoverAllowDataLoss( + resourceGroupName, + serverName, + databaseName, + linkId, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a database replication link in forced or friendly way. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param parameters The required parameters for unlinking replication link. + * @param options The options parameters. + */ + async beginUnlink( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + parameters: UnlinkParameters, + options?: ReplicationLinksUnlinkOptionalParams + ): 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, serverName, databaseName, linkId, + parameters, options }, - getOperationSpec, - callback) as Promise; + unlinkOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Sets which replica database is primary by failing over from the current primary replica - * database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a database replication link in forced or friendly way. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database that has the replication link to be failed over. * @param linkId The ID of the replication link to be failed over. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The required parameters for unlinking replication link. + * @param options The options parameters. */ - failover(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginFailover(resourceGroupName,serverName,databaseName,linkId,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginUnlinkAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + parameters: UnlinkParameters, + options?: ReplicationLinksUnlinkOptionalParams + ): Promise { + const poller = await this.beginUnlink( + resourceGroupName, + serverName, + databaseName, + linkId, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Sets which replica database is primary by failing over from the current primary replica - * database. This operation might result in data loss. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of replication links on database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database that has the replication link to be failed over. - * @param linkId The ID of the replication link to be failed over. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database. + * @param options The options parameters. */ - failoverAllowDataLoss(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginFailoverAllowDataLoss(resourceGroupName,serverName,databaseName,linkId,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ReplicationLinksListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); } /** - * Lists a database's replication links. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a replication link. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to retrieve links for. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database. + * @param linkId The name of the replication link. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database to retrieve links for. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, linkId, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of replication links. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database to retrieve links for. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ReplicationLinksListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Sets which replica database is primary by failing over from the current primary replica - * database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database that has the replication link to be failed over. - * @param linkId The ID of the replication link to be failed over. - * @param [options] The optional parameters - * @returns Promise + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - beginFailover(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - linkId, - options - }, - beginFailoverOperationSpec, - options); + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: ReplicationLinksListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } /** - * Sets which replica database is primary by failing over from the current primary replica - * database. This operation might result in data loss. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param databaseName The name of the database that has the replication link to be failed over. - * @param linkId The ID of the replication link to be failed over. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - beginFailoverAllowDataLoss(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - linkId, - options - }, - beginFailoverAllowDataLossOperationSpec, - options); + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ReplicationLinksListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const deleteMethodOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", + responses: { 200: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.linkId ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", +const failoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.linkId ], - queryParameters: [ - Parameters.apiVersion0 + serializer +}; +const failoverAllowDataLossOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.linkId ], - headerParameters: [ - Parameters.acceptLanguage + serializer +}; +const unlinkOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/unlink", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + requestBody: Parameters.parameters11, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.linkId ], + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ReplicationLink + bodyMapper: Mappers.ReplicationLinkListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ReplicationLinkListResult + bodyMapper: Mappers.ReplicationLink }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginFailoverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.linkId ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/replicationLinks", + httpMethod: "GET", responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } + 200: { + bodyMapper: Mappers.ReplicationLinkListResult + }, + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginFailoverAllowDataLossOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReplicationLinkListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.linkId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.nextLink ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } + 200: { + bodyMapper: Mappers.ReplicationLinkListResult + }, + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/restorableDroppedDatabases.ts b/sdk/sql/arm-sql/src/operations/restorableDroppedDatabases.ts index 8cead12893dd..05b4a15fdeef 100644 --- a/sdk/sql/arm-sql/src/operations/restorableDroppedDatabases.ts +++ b/sdk/sql/arm-sql/src/operations/restorableDroppedDatabases.ts @@ -1,158 +1,233 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/restorableDroppedDatabasesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RestorableDroppedDatabases } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + RestorableDroppedDatabase, + RestorableDroppedDatabasesListByServerNextOptionalParams, + RestorableDroppedDatabasesListByServerOptionalParams, + RestorableDroppedDatabasesListByServerResponse, + RestorableDroppedDatabasesGetOptionalParams, + RestorableDroppedDatabasesGetResponse, + RestorableDroppedDatabasesListByServerNextResponse +} from "../models"; -/** Class representing a RestorableDroppedDatabases. */ -export class RestorableDroppedDatabases { +/// +/** Class containing RestorableDroppedDatabases operations. */ +export class RestorableDroppedDatabasesImpl + implements RestorableDroppedDatabases { private readonly client: SqlManagementClientContext; /** - * Create a RestorableDroppedDatabases. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class RestorableDroppedDatabases class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a deleted database that can be restored - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of restorable dropped databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param restorableDroppededDatabaseId The id of the deleted database in the form of - * databaseName,deletionTimeInFileTimeFormat - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, restorableDroppededDatabaseId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param restorableDroppededDatabaseId The id of the deleted database in the form of - * databaseName,deletionTimeInFileTimeFormat - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, restorableDroppededDatabaseId: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param restorableDroppededDatabaseId The id of the deleted database in the form of - * databaseName,deletionTimeInFileTimeFormat - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, restorableDroppededDatabaseId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, restorableDroppededDatabaseId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: RestorableDroppedDatabasesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: RestorableDroppedDatabasesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, - restorableDroppededDatabaseId, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: RestorableDroppedDatabasesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Gets a list of deleted databases that can be restored - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of restorable dropped databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: RestorableDroppedDatabasesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a restorable dropped database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param restorableDroppedDatabaseId + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + restorableDroppedDatabaseId: string, + options?: RestorableDroppedDatabasesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, restorableDroppedDatabaseId, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: RestorableDroppedDatabasesListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}", + responses: { + 200: { + bodyMapper: Mappers.RestorableDroppedDatabaseListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.restorableDroppededDatabaseId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RestorableDroppedDatabase }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName, + Parameters.restorableDroppedDatabaseId ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RestorableDroppedDatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/restorableDroppedManagedDatabases.ts b/sdk/sql/arm-sql/src/operations/restorableDroppedManagedDatabases.ts index 616f9c58900d..9f30640ec2aa 100644 --- a/sdk/sql/arm-sql/src/operations/restorableDroppedManagedDatabases.ts +++ b/sdk/sql/arm-sql/src/operations/restorableDroppedManagedDatabases.ts @@ -1,26 +1,37 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/restorableDroppedManagedDatabasesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RestorableDroppedManagedDatabases } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + RestorableDroppedManagedDatabase, + RestorableDroppedManagedDatabasesListByInstanceNextOptionalParams, + RestorableDroppedManagedDatabasesListByInstanceOptionalParams, + RestorableDroppedManagedDatabasesListByInstanceResponse, + RestorableDroppedManagedDatabasesGetOptionalParams, + RestorableDroppedManagedDatabasesGetResponse, + RestorableDroppedManagedDatabasesListByInstanceNextResponse +} from "../models"; -/** Class representing a RestorableDroppedManagedDatabases. */ -export class RestorableDroppedManagedDatabases { +/// +/** Class containing RestorableDroppedManagedDatabases operations. */ +export class RestorableDroppedManagedDatabasesImpl + implements RestorableDroppedManagedDatabases { private readonly client: SqlManagementClientContext; /** - * Create a RestorableDroppedManagedDatabases. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class RestorableDroppedManagedDatabases class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,67 +39,108 @@ export class RestorableDroppedManagedDatabases { /** * Gets a list of restorable dropped managed databases. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param options The optional parameters - * @param callback The callback - */ - listByInstance(resourceGroupName: string, managedInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstance(resourceGroupName: string, managedInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: RestorableDroppedManagedDatabasesListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: RestorableDroppedManagedDatabasesListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( resourceGroupName, managedInstanceName, + continuationToken, options - }, - listByInstanceOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: RestorableDroppedManagedDatabasesListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } } /** - * Gets a restorable dropped managed database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param managedInstanceName The name of the managed instance. - * @param restorableDroppedDatabaseId - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of restorable dropped managed databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. - * @param restorableDroppedDatabaseId - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, callback: msRest.ServiceCallback): void; + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: RestorableDroppedManagedDatabasesListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a restorable dropped managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param managedInstanceName The name of the managed instance. * @param restorableDroppedDatabaseId - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + options?: RestorableDroppedManagedDatabasesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -96,109 +148,91 @@ export class RestorableDroppedManagedDatabases { restorableDroppedDatabaseId, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Gets a list of restorable dropped managed databases. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByInstanceNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. */ - listByInstanceNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstanceNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: RestorableDroppedManagedDatabasesListByInstanceNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstanceNextOperationSpec, - callback) as Promise; + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByInstanceOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.RestorableDroppedManagedDatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}", + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.managedInstanceName, - Parameters.restorableDroppedDatabaseId, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.managedInstanceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/restorableDroppedDatabases/{restorableDroppedDatabaseId}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RestorableDroppedManagedDatabase }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName, + Parameters.restorableDroppedDatabaseId + ], + headerParameters: [Parameters.accept], serializer }; - -const listByInstanceNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RestorableDroppedManagedDatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/restorePoints.ts b/sdk/sql/arm-sql/src/operations/restorePoints.ts index d3cbf393d7c6..e21538397140 100644 --- a/sdk/sql/arm-sql/src/operations/restorePoints.ts +++ b/sdk/sql/arm-sql/src/operations/restorePoints.ts @@ -1,27 +1,42 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/restorePointsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RestorePoints } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + RestorePoint, + RestorePointsListByDatabaseNextOptionalParams, + RestorePointsListByDatabaseOptionalParams, + RestorePointsListByDatabaseResponse, + CreateDatabaseRestorePointDefinition, + RestorePointsCreateOptionalParams, + RestorePointsCreateResponse, + RestorePointsGetOptionalParams, + RestorePointsGetResponse, + RestorePointsDeleteOptionalParams, + RestorePointsListByDatabaseNextResponse +} from "../models"; -/** Class representing a RestorePoints. */ -export class RestorePoints { +/// +/** Class containing RestorePoints operations. */ +export class RestorePointsImpl implements RestorePoints { private readonly client: SqlManagementClientContext; /** - * Create a RestorePoints. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class RestorePoints class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,89 +44,218 @@ export class RestorePoints { /** * Gets a list of database restore points. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: RestorePointsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: RestorePointsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( resourceGroupName, serverName, databaseName, + continuationToken, options - }, - listByDatabaseOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: RestorePointsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } } /** - * Creates a restore point for a data warehouse. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of database restore points. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The definition for creating the restore point of this database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.CreateDatabaseRestorePointDefinition, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(resourceGroupName,serverName,databaseName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: RestorePointsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); } /** - * Gets a restore point. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a restore point for a data warehouse. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param restorePointName The name of the restore point. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The definition for creating the restore point of this database. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: CreateDatabaseRestorePointDefinition, + options?: RestorePointsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + RestorePointsCreateResponse + > + > { + 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, serverName, databaseName, parameters, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a restore point for a data warehouse. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param restorePointName The name of the restore point. - * @param callback The callback + * @param parameters The definition for creating the restore point of this database. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, callback: msRest.ServiceCallback): void; + async beginCreateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: CreateDatabaseRestorePointDefinition, + options?: RestorePointsCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + resourceGroupName, + serverName, + databaseName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a restore point. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param restorePointName The name of the restore point. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + restorePointName: string, + options?: RestorePointsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -120,41 +264,26 @@ export class RestorePoints { restorePointName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Deletes a restore point. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param restorePointName The name of the restore point. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param restorePointName The name of the restore point. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param restorePointName The name of the restore point. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + restorePointName: string, + options?: RestorePointsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -163,147 +292,144 @@ export class RestorePoints { restorePointName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** - * Creates a restore point for a data warehouse. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param parameters The definition for creating the restore point of this database. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - beginCreate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.CreateDatabaseRestorePointDefinition, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - parameters, - options - }, - beginCreateOperationSpec, - options); + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: RestorePointsListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByDatabaseOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", + responses: { + 200: { + bodyMapper: Mappers.RestorePointListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.RestorePointListResult + bodyMapper: Mappers.RestorePoint }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.RestorePoint + }, + 202: { + bodyMapper: Mappers.RestorePoint + }, + 204: { + bodyMapper: Mappers.RestorePoint + }, + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}", + requestBody: Parameters.parameters63, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.restorePointName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RestorePoint }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.restorePointName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.restorePointName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}", + httpMethod: "DELETE", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.restorePointName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.CreateDatabaseRestorePointDefinition, - required: true - } - }, + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RestorePoint - }, - 201: { - bodyMapper: Mappers.RestorePoint + bodyMapper: Mappers.RestorePointListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/sensitivityLabels.ts b/sdk/sql/arm-sql/src/operations/sensitivityLabels.ts index 32d4584c6a05..8cbbf2297aaf 100644 --- a/sdk/sql/arm-sql/src/operations/sensitivityLabels.ts +++ b/sdk/sql/arm-sql/src/operations/sensitivityLabels.ts @@ -1,26 +1,48 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/sensitivityLabelsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SensitivityLabels } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + SensitivityLabel, + SensitivityLabelsListCurrentByDatabaseNextOptionalParams, + SensitivityLabelsListCurrentByDatabaseOptionalParams, + SensitivityLabelsListRecommendedByDatabaseNextOptionalParams, + SensitivityLabelsListRecommendedByDatabaseOptionalParams, + SensitivityLabelsListCurrentByDatabaseResponse, + SensitivityLabelUpdateList, + SensitivityLabelsUpdateOptionalParams, + SensitivityLabelsListRecommendedByDatabaseResponse, + SensitivityLabelsEnableRecommendationOptionalParams, + SensitivityLabelsDisableRecommendationOptionalParams, + SensitivityLabelSource, + SensitivityLabelsGetOptionalParams, + SensitivityLabelsGetResponse, + SensitivityLabelsCreateOrUpdateOptionalParams, + SensitivityLabelsCreateOrUpdateResponse, + SensitivityLabelsDeleteOptionalParams, + SensitivityLabelsListCurrentByDatabaseNextResponse, + SensitivityLabelsListRecommendedByDatabaseNextResponse +} from "../models"; -/** Class representing a SensitivityLabels. */ -export class SensitivityLabels { +/// +/** Class containing SensitivityLabels operations. */ +export class SensitivityLabelsImpl implements SensitivityLabels { private readonly client: SqlManagementClientContext; /** - * Create a SensitivityLabels. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class SensitivityLabels class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,120 +50,249 @@ export class SensitivityLabels { /** * Gets the sensitivity labels of a given database - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listCurrentByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: Models.SensitivityLabelsListCurrentByDatabaseOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param callback The callback - */ - listCurrentByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback - */ - listCurrentByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: Models.SensitivityLabelsListCurrentByDatabaseOptionalParams, callback: msRest.ServiceCallback): void; - listCurrentByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: Models.SensitivityLabelsListCurrentByDatabaseOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listCurrentByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListCurrentByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listCurrentByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listCurrentByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listCurrentByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListCurrentByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listCurrentByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listCurrentByDatabaseNext( resourceGroupName, serverName, databaseName, + continuationToken, options - }, - listCurrentByDatabaseOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listCurrentByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListCurrentByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listCurrentByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } } /** * Gets the sensitivity labels of a given database - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendedByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: Models.SensitivityLabelsListRecommendedByDatabaseOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param callback The callback + * @param options The options parameters. */ - listRecommendedByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + public listRecommendedByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListRecommendedByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listRecommendedByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listRecommendedByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listRecommendedByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListRecommendedByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listRecommendedByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listRecommendedByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listRecommendedByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListRecommendedByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listRecommendedByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the sensitivity labels of a given database + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listRecommendedByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: Models.SensitivityLabelsListRecommendedByDatabaseOptionalParams, callback: msRest.ServiceCallback): void; - listRecommendedByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: Models.SensitivityLabelsListRecommendedByDatabaseOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listCurrentByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListCurrentByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listRecommendedByDatabaseOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + listCurrentByDatabaseOperationSpec + ); } /** - * Enables sensitivity recommendations on a given column (recommendations are enabled by default on - * all columns) - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Update sensitivity labels of a given database using an operations batch. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param [options] The optional parameters - * @returns Promise + * @param parameters A list of sensitivity label update operations. + * @param options The options parameters. */ - enableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase): Promise; + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: SensitivityLabelUpdateList, + options?: SensitivityLabelsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, parameters, options }, + updateOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the sensitivity labels of a given database + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param callback The callback + * @param options The options parameters. */ - enableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, callback: msRest.ServiceCallback): void; + private _listRecommendedByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListRecommendedByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listRecommendedByDatabaseOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Enables sensitivity recommendations on a given column (recommendations are enabled by default on all + * columns) + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - enableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - enableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + enableRecommendation( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: SensitivityLabelsEnableRecommendationOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -152,47 +303,30 @@ export class SensitivityLabels { columnName, options }, - enableRecommendationOperationSpec, - callback); + enableRecommendationOperationSpec + ); } /** * Disables sensitivity recommendations on a given column - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param [options] The optional parameters - * @returns Promise - */ - disableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. - * @param callback The callback + * @param options The options parameters. */ - disableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param options The optional parameters - * @param callback The callback - */ - disableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - disableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + disableRecommendation( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: SensitivityLabelsDisableRecommendationOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -203,53 +337,32 @@ export class SensitivityLabels { columnName, options }, - disableRecommendationOperationSpec, - callback); + disableRecommendationOperationSpec + ); } /** * Gets the sensitivity label of a given column - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. - * @param sensitivityLabelSource The source of the sensitivity label. Possible values include: - * 'current', 'recommended' - * @param [options] The optional parameters - * @returns Promise + * @param sensitivityLabelSource The source of the sensitivity label. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: Models.SensitivityLabelSource, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param sensitivityLabelSource The source of the sensitivity label. Possible values include: - * 'current', 'recommended' - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: Models.SensitivityLabelSource, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param sensitivityLabelSource The source of the sensitivity label. Possible values include: - * 'current', 'recommended' - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: Models.SensitivityLabelSource, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: Models.SensitivityLabelSource, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + sensitivityLabelSource: SensitivityLabelSource, + options?: SensitivityLabelsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -261,50 +374,32 @@ export class SensitivityLabels { sensitivityLabelSource, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates the sensitivity label of a given column - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param parameters The column sensitivity label resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: Models.SensitivityLabel, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. * @param parameters The column sensitivity label resource. - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: Models.SensitivityLabel, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param parameters The column sensitivity label resource. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: Models.SensitivityLabel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: Models.SensitivityLabel, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + parameters: SensitivityLabel, + options?: SensitivityLabelsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -316,47 +411,30 @@ export class SensitivityLabels { parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Deletes the sensitivity label of a given column - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database. - * @param schemaName The name of the schema. - * @param tableName The name of the table. - * @param columnName The name of the column. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database. * @param schemaName The name of the schema. * @param tableName The name of the table. * @param columnName The name of the column. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: SensitivityLabelsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -367,237 +445,195 @@ export class SensitivityLabels { columnName, options }, - deleteMethodOperationSpec, - callback); + deleteOperationSpec + ); } /** - * Gets the sensitivity labels of a given database - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listCurrentByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listCurrentByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListCurrentByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListCurrentByDatabase method. + * @param options The options parameters. */ - listCurrentByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listCurrentByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listCurrentByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: SensitivityLabelsListCurrentByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listCurrentByDatabaseNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listCurrentByDatabaseNextOperationSpec + ); } /** - * Gets the sensitivity labels of a given database - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listRecommendedByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listRecommendedByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListRecommendedByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListRecommendedByDatabase + * method. + * @param options The options parameters. */ - listRecommendedByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listRecommendedByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listRecommendedByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: SensitivityLabelsListRecommendedByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listRecommendedByDatabaseNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listRecommendedByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listCurrentByDatabaseOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listCurrentByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/currentSensitivityLabels", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/currentSensitivityLabels", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.filter1, - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SensitivityLabelListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skipToken, + Parameters.apiVersion2, + Parameters.filter1, + Parameters.count + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendedByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/recommendedSensitivityLabels", +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/currentSensitivityLabels", + httpMethod: "PATCH", + responses: { 200: {}, default: {} }, + requestBody: Parameters.parameters48, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.includeDisabledRecommendations, - Parameters.skipToken, - Parameters.filter1, - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.databaseName ], + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; +const listRecommendedByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/recommendedSensitivityLabels", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SensitivityLabelListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const enableRecommendationOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/enable", + queryParameters: [ + Parameters.skipToken, + Parameters.apiVersion2, + Parameters.filter1, + Parameters.includeDisabledRecommendations + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.databaseName, - Parameters.schemaName, - Parameters.tableName, - Parameters.columnName, - Parameters.sensitivityLabelSource0, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.databaseName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const disableRecommendationOperationSpec: msRest.OperationSpec = { +const enableRecommendationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/enable", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/disable", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.schemaName, Parameters.tableName, Parameters.columnName, - Parameters.sensitivityLabelSource0, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.sensitivityLabelSource2 ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", +const disableRecommendationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/disable", + httpMethod: "POST", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.schemaName, Parameters.tableName, Parameters.columnName, - Parameters.sensitivityLabelSource1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.sensitivityLabelSource2 ], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SensitivityLabel }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.schemaName, Parameters.tableName, Parameters.columnName, - Parameters.sensitivityLabelSource2, - Parameters.subscriptionId + Parameters.sensitivityLabelSource ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SensitivityLabel, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.SensitivityLabel @@ -605,79 +641,93 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.SensitivityLabel }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters47, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.schemaName, + Parameters.tableName, + Parameters.columnName, + Parameters.sensitivityLabelSource1 + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const deleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.schemaName, Parameters.tableName, Parameters.columnName, - Parameters.sensitivityLabelSource2, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.sensitivityLabelSource1 ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listCurrentByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listCurrentByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SensitivityLabelListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skipToken, + Parameters.apiVersion2, + Parameters.filter1, + Parameters.count + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listRecommendedByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listRecommendedByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SensitivityLabelListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.skipToken, + Parameters.apiVersion2, + Parameters.filter1, + Parameters.includeDisabledRecommendations + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverAdvisors.ts b/sdk/sql/arm-sql/src/operations/serverAdvisors.ts new file mode 100644 index 000000000000..1a3e776fccb7 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/serverAdvisors.ts @@ -0,0 +1,167 @@ +/* + * 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 { ServerAdvisors } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ServerAdvisorsListByServerOptionalParams, + ServerAdvisorsListByServerResponse, + ServerAdvisorsGetOptionalParams, + ServerAdvisorsGetResponse, + Advisor, + ServerAdvisorsUpdateOptionalParams, + ServerAdvisorsUpdateResponse +} from "../models"; + +/** Class containing ServerAdvisors operations. */ +export class ServerAdvisorsImpl implements ServerAdvisors { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ServerAdvisors class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of server advisors. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerAdvisorsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * Gets a server advisor. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param advisorName The name of the Server Advisor. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: ServerAdvisorsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, advisorName, options }, + getOperationSpec + ); + } + + /** + * Updates a server advisor. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param advisorName The name of the Server Advisor. + * @param parameters The requested advisor resource state. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + advisorName: string, + parameters: Advisor, + options?: ServerAdvisorsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, advisorName, parameters, options }, + updateOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: { + type: { + name: "Sequence", + element: { type: { name: "Composite", className: "Advisor" } } + } + } + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Advisor + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.advisorName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.Advisor + }, + default: {} + }, + requestBody: Parameters.parameters18, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.advisorName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/serverAutomaticTuningOperations.ts b/sdk/sql/arm-sql/src/operations/serverAutomaticTuningOperations.ts index b473a84bcf2e..c239c5f8c97a 100644 --- a/sdk/sql/arm-sql/src/operations/serverAutomaticTuningOperations.ts +++ b/sdk/sql/arm-sql/src/operations/serverAutomaticTuningOperations.ts @@ -1,26 +1,32 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverAutomaticTuningOperationsMappers"; +import { ServerAutomaticTuningOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ServerAutomaticTuningOperationsGetOptionalParams, + ServerAutomaticTuningOperationsGetResponse, + ServerAutomaticTuning, + ServerAutomaticTuningOperationsUpdateOptionalParams, + ServerAutomaticTuningOperationsUpdateResponse +} from "../models"; -/** Class representing a ServerAutomaticTuningOperations. */ -export class ServerAutomaticTuningOperations { +/** Class containing ServerAutomaticTuningOperations operations. */ +export class ServerAutomaticTuningOperationsImpl + implements ServerAutomaticTuningOperations { private readonly client: SqlManagementClientContext; /** - * Create a ServerAutomaticTuningOperations. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerAutomaticTuningOperations class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,134 +34,84 @@ export class ServerAutomaticTuningOperations { /** * Retrieves server automatic tuning options. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + options?: ServerAutomaticTuningOperationsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + getOperationSpec + ); } /** * Update automatic tuning options on server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param parameters The requested automatic tuning resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, parameters: Models.ServerAutomaticTuning, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param parameters The requested automatic tuning resource state. - * @param callback The callback - */ - update(resourceGroupName: string, serverName: string, parameters: Models.ServerAutomaticTuning, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param parameters The requested automatic tuning resource state. - * @param options The optional parameters - * @param callback The callback - */ - update(resourceGroupName: string, serverName: string, parameters: Models.ServerAutomaticTuning, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - update(resourceGroupName: string, serverName: string, parameters: Models.ServerAutomaticTuning, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + update( + resourceGroupName: string, + serverName: string, + parameters: ServerAutomaticTuning, + options?: ServerAutomaticTuningOperationsUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - updateOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, parameters, options }, + updateOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerAutomaticTuning }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const updateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 + Parameters.serverName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerAutomaticTuning, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.ServerAutomaticTuning }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters64, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverAzureADAdministrators.ts b/sdk/sql/arm-sql/src/operations/serverAzureADAdministrators.ts index f80129644663..a29c30b1a351 100644 --- a/sdk/sql/arm-sql/src/operations/serverAzureADAdministrators.ts +++ b/sdk/sql/arm-sql/src/operations/serverAzureADAdministrators.ts @@ -1,249 +1,390 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverAzureADAdministratorsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerAzureADAdministrators } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerAzureADAdministrator, + ServerAzureADAdministratorsListByServerNextOptionalParams, + ServerAzureADAdministratorsListByServerOptionalParams, + AdministratorName, + ServerAzureADAdministratorsGetOptionalParams, + ServerAzureADAdministratorsGetResponse, + ServerAzureADAdministratorsCreateOrUpdateOptionalParams, + ServerAzureADAdministratorsCreateOrUpdateResponse, + ServerAzureADAdministratorsDeleteOptionalParams, + ServerAzureADAdministratorsListByServerResponse, + ServerAzureADAdministratorsListByServerNextResponse +} from "../models"; -/** Class representing a ServerAzureADAdministrators. */ -export class ServerAzureADAdministrators { +/// +/** Class containing ServerAzureADAdministrators operations. */ +export class ServerAzureADAdministratorsImpl + implements ServerAzureADAdministrators { private readonly client: SqlManagementClientContext; /** - * Create a ServerAzureADAdministrators. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerAzureADAdministrators class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Creates a new Server Active Directory Administrator or updates an existing server Active - * Directory Administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of Azure Active Directory administrators in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param properties The required parameters for creating or updating an Active Directory - * Administrator. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, properties: Models.ServerAzureADAdministrator, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,properties,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADAdministratorsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; } - /** - * Deletes an existing server Active Directory Administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADAdministratorsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADAdministratorsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Returns an server Administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a Azure Active Directory administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param administratorName The name of server active directory administrator. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + options?: ServerAzureADAdministratorsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, administratorName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates an existing Azure Active Directory administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param administratorName The name of server active directory administrator. + * @param parameters The requested Azure Active Directory administrator Resource state. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - getOperationSpec, - callback) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + parameters: ServerAzureADAdministrator, + options?: ServerAzureADAdministratorsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerAzureADAdministratorsCreateOrUpdateResponse + > + > { + 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, serverName, administratorName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Returns a list of server Administrators. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates an existing Azure Active Directory administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param administratorName The name of server active directory administrator. + * @param parameters The requested Azure Active Directory administrator Resource state. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + parameters: ServerAzureADAdministrator, + options?: ServerAzureADAdministratorsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + administratorName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes the Azure Active Directory administrator with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param administratorName The name of server active directory administrator. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + async beginDelete( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + options?: ServerAzureADAdministratorsDeleteOptionalParams + ): 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, serverName, administratorName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes the Azure Active Directory administrator with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param administratorName The name of server active directory administrator. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + options?: ServerAzureADAdministratorsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + administratorName, + options + ); + return poller.pollUntilDone(); } /** - * Creates a new Server Active Directory Administrator or updates an existing server Active - * Directory Administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of Azure Active Directory administrators in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param properties The required parameters for creating or updating an Active Directory - * Administrator. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, properties: Models.ServerAzureADAdministrator, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - properties, - options - }, - beginCreateOrUpdateOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADAdministratorsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Deletes an existing server Active Directory Administrator. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerAzureADAdministratorsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.administratorName0 - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerAzureADAdministrator }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName, + Parameters.administratorName ], - responses: { - 200: { - bodyMapper: Mappers.ServerAdministratorListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.administratorName0 - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "properties", - mapper: { - ...Mappers.ServerAzureADAdministrator, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.ServerAzureADAdministrator @@ -254,41 +395,76 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 202: { bodyMapper: Mappers.ServerAzureADAdministrator }, - default: { - bodyMapper: Mappers.CloudError - } + 204: { + bodyMapper: Mappers.ServerAzureADAdministrator + }, + default: {} }, + requestBody: Parameters.parameters65, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.administratorName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.administratorName0 - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.administratorName ], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ServerAzureADAdministrator - }, - 202: { - bodyMapper: Mappers.ServerAzureADAdministrator + bodyMapper: Mappers.AdministratorListResult }, - 204: { - bodyMapper: Mappers.ServerAzureADAdministrator + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AdministratorListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverAzureADOnlyAuthentications.ts b/sdk/sql/arm-sql/src/operations/serverAzureADOnlyAuthentications.ts new file mode 100644 index 000000000000..a21da277b50b --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/serverAzureADOnlyAuthentications.ts @@ -0,0 +1,482 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerAzureADOnlyAuthentications } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerAzureADOnlyAuthentication, + ServerAzureADOnlyAuthenticationsListByServerNextOptionalParams, + ServerAzureADOnlyAuthenticationsListByServerOptionalParams, + AuthenticationName, + ServerAzureADOnlyAuthenticationsGetOptionalParams, + ServerAzureADOnlyAuthenticationsGetResponse, + ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams, + ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse, + ServerAzureADOnlyAuthenticationsDeleteOptionalParams, + ServerAzureADOnlyAuthenticationsListByServerResponse, + ServerAzureADOnlyAuthenticationsListByServerNextResponse +} from "../models"; + +/// +/** Class containing ServerAzureADOnlyAuthentications operations. */ +export class ServerAzureADOnlyAuthenticationsImpl + implements ServerAzureADOnlyAuthentications { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ServerAzureADOnlyAuthentications class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of server Azure Active Directory only authentications. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADOnlyAuthenticationsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADOnlyAuthenticationsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADOnlyAuthenticationsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + + /** + * Gets a specific Azure Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + options?: ServerAzureADOnlyAuthenticationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, authenticationName, options }, + getOperationSpec + ); + } + + /** + * Sets Server Active Directory only authentication property or updates an existing server Active + * Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param parameters The required parameters for creating or updating an Active Directory only + * authentication property. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + parameters: ServerAzureADOnlyAuthentication, + options?: ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse + >, + ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse + > + > { + 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, + serverName, + authenticationName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Sets Server Active Directory only authentication property or updates an existing server Active + * Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param parameters The required parameters for creating or updating an Active Directory only + * authentication property. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + parameters: ServerAzureADOnlyAuthentication, + options?: ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + authenticationName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes an existing server Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + options?: ServerAzureADOnlyAuthenticationsDeleteOptionalParams + ): 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, serverName, authenticationName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes an existing server Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + options?: ServerAzureADOnlyAuthenticationsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + authenticationName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a list of server Azure Active Directory only authentications. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADOnlyAuthenticationsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerAzureADOnlyAuthenticationsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/{authenticationName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerAzureADOnlyAuthentication + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.authenticationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/{authenticationName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ServerAzureADOnlyAuthentication + }, + 201: { + bodyMapper: Mappers.ServerAzureADOnlyAuthentication + }, + 202: { + bodyMapper: Mappers.ServerAzureADOnlyAuthentication + }, + 204: { + bodyMapper: Mappers.ServerAzureADOnlyAuthentication + }, + default: {} + }, + requestBody: Parameters.parameters66, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.authenticationName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/{authenticationName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.authenticationName + ], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AzureADOnlyAuthListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AzureADOnlyAuthListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/serverBlobAuditingPolicies.ts b/sdk/sql/arm-sql/src/operations/serverBlobAuditingPolicies.ts index 31cd942591a6..27d4eb95f502 100644 --- a/sdk/sql/arm-sql/src/operations/serverBlobAuditingPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/serverBlobAuditingPolicies.ts @@ -1,270 +1,359 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverBlobAuditingPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerBlobAuditingPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerBlobAuditingPolicy, + ServerBlobAuditingPoliciesListByServerNextOptionalParams, + ServerBlobAuditingPoliciesListByServerOptionalParams, + ServerBlobAuditingPoliciesGetOptionalParams, + ServerBlobAuditingPoliciesGetResponse, + ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams, + ServerBlobAuditingPoliciesCreateOrUpdateResponse, + ServerBlobAuditingPoliciesListByServerResponse, + ServerBlobAuditingPoliciesListByServerNextResponse +} from "../models"; -/** Class representing a ServerBlobAuditingPolicies. */ -export class ServerBlobAuditingPolicies { +/// +/** Class containing ServerBlobAuditingPolicies operations. */ +export class ServerBlobAuditingPoliciesImpl + implements ServerBlobAuditingPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ServerBlobAuditingPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerBlobAuditingPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a server's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists auditing settings of a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerBlobAuditingPoliciesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerBlobAuditingPoliciesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Creates or updates a server's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param parameters Properties of blob auditing policy - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerBlobAuditingPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerBlobAuditingPoliciesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Lists auditing settings of a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + options?: ServerBlobAuditingPoliciesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param parameters Properties of blob auditing policy + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + parameters: ServerBlobAuditingPolicy, + options?: ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerBlobAuditingPoliciesCreateOrUpdateResponse + > + > { + 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, serverName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates a server's blob auditing policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param parameters Properties of blob auditing policy - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerBlobAuditingPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ServerBlobAuditingPolicy, + options?: ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Lists auditing settings of a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerBlobAuditingPoliciesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerBlobAuditingPoliciesListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/{blobAuditingPolicyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/{blobAuditingPolicyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.blobAuditingPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerBlobAuditingPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.blobAuditingPolicyName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/{blobAuditingPolicyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ServerBlobAuditingPolicyListResult + bodyMapper: Mappers.ServerBlobAuditingPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ServerBlobAuditingPolicy + }, + 202: { + bodyMapper: Mappers.ServerBlobAuditingPolicy + }, + 204: { + bodyMapper: Mappers.ServerBlobAuditingPolicy + }, + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/{blobAuditingPolicyName}", + requestBody: Parameters.parameters16, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.blobAuditingPolicyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.blobAuditingPolicyName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerBlobAuditingPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ServerBlobAuditingPolicy + bodyMapper: Mappers.ServerBlobAuditingPolicyListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerBlobAuditingPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverCommunicationLinks.ts b/sdk/sql/arm-sql/src/operations/serverCommunicationLinks.ts index e334e3dba6e2..9a8d3c60f69e 100644 --- a/sdk/sql/arm-sql/src/operations/serverCommunicationLinks.ts +++ b/sdk/sql/arm-sql/src/operations/serverCommunicationLinks.ts @@ -1,291 +1,351 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverCommunicationLinksMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerCommunicationLinks } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerCommunicationLink, + ServerCommunicationLinksListByServerOptionalParams, + ServerCommunicationLinksDeleteOptionalParams, + ServerCommunicationLinksGetOptionalParams, + ServerCommunicationLinksGetResponse, + ServerCommunicationLinksCreateOrUpdateOptionalParams, + ServerCommunicationLinksCreateOrUpdateResponse, + ServerCommunicationLinksListByServerResponse +} from "../models"; -/** Class representing a ServerCommunicationLinks. */ -export class ServerCommunicationLinks { +/// +/** Class containing ServerCommunicationLinks operations. */ +export class ServerCommunicationLinksImpl implements ServerCommunicationLinks { private readonly client: SqlManagementClientContext; /** - * Create a ServerCommunicationLinks. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerCommunicationLinks class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Deletes a server communication link. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param communicationLinkName The name of the server communication link. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, communicationLinkName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of server communication links. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param communicationLinkName The name of the server communication link. - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, communicationLinkName: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerCommunicationLinksListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerCommunicationLinksListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerCommunicationLinksListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a server communication link. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param communicationLinkName The name of the server communication link. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, communicationLinkName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, communicationLinkName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + communicationLinkName: string, + options?: ServerCommunicationLinksDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - communicationLinkName, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, serverName, communicationLinkName, options }, + deleteOperationSpec + ); } /** * Returns a server communication link. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param communicationLinkName The name of the server communication link. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, communicationLinkName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param communicationLinkName The name of the server communication link. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, communicationLinkName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + communicationLinkName: string, + options?: ServerCommunicationLinksGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, communicationLinkName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a server communication link. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param communicationLinkName The name of the server communication link. - * @param options The optional parameters - * @param callback The callback + * @param parameters The required parameters for creating a server communication link. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, communicationLinkName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, communicationLinkName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + communicationLinkName: string, + parameters: ServerCommunicationLink, + options?: ServerCommunicationLinksCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerCommunicationLinksCreateOrUpdateResponse + > + > { + 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, serverName, communicationLinkName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates a server communication link. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param communicationLinkName The name of the server communication link. * @param parameters The required parameters for creating a server communication link. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, communicationLinkName: string, parameters: Models.ServerCommunicationLink, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,communicationLinkName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + communicationLinkName: string, + parameters: ServerCommunicationLink, + options?: ServerCommunicationLinksCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + communicationLinkName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Gets a list of server communication links. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerCommunicationLinksListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; - } - - /** - * Creates a server communication link. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param communicationLinkName The name of the server communication link. - * @param parameters The required parameters for creating a server communication link. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, communicationLinkName: string, parameters: Models.ServerCommunicationLink, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - communicationLinkName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const deleteMethodOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", + responses: { 200: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.communicationLinkName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", + responses: { + 200: { + bodyMapper: Mappers.ServerCommunicationLink + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.communicationLinkName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ServerCommunicationLink }, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ServerCommunicationLink + }, + 202: { + bodyMapper: Mappers.ServerCommunicationLink + }, + 204: { + bodyMapper: Mappers.ServerCommunicationLink } }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks", + requestBody: Parameters.parameters12, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName, + Parameters.communicationLinkName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerCommunicationLinkListResult - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.communicationLinkName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerCommunicationLink, - required: true - } - }, - responses: { - 201: { - bodyMapper: Mappers.ServerCommunicationLink - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverConnectionPolicies.ts b/sdk/sql/arm-sql/src/operations/serverConnectionPolicies.ts index 8cd96ee36a74..f2f31b0d0d96 100644 --- a/sdk/sql/arm-sql/src/operations/serverConnectionPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/serverConnectionPolicies.ts @@ -1,26 +1,32 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverConnectionPoliciesMappers"; +import { ServerConnectionPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ServerConnectionPolicy, + ConnectionPolicyName, + ServerConnectionPoliciesCreateOrUpdateOptionalParams, + ServerConnectionPoliciesCreateOrUpdateResponse, + ServerConnectionPoliciesGetOptionalParams, + ServerConnectionPoliciesGetResponse +} from "../models"; -/** Class representing a ServerConnectionPolicies. */ -export class ServerConnectionPolicies { +/** Class containing ServerConnectionPolicies operations. */ +export class ServerConnectionPoliciesImpl implements ServerConnectionPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ServerConnectionPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerConnectionPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,139 +34,97 @@ export class ServerConnectionPolicies { /** * Creates or updates the server's connection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. + * @param connectionPolicyName The name of the connection policy. * @param parameters The required parameters for updating a secure connection policy. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerConnectionPolicy, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param parameters The required parameters for updating a secure connection policy. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerConnectionPolicy, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param parameters The required parameters for updating a secure connection policy. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerConnectionPolicy, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerConnectionPolicy, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + connectionPolicyName: ConnectionPolicyName, + parameters: ServerConnectionPolicy, + options?: ServerConnectionPoliciesCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, + connectionPolicyName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Gets the server's secure connection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param connectionPolicyName The name of the connection policy. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + connectionPolicyName: ConnectionPolicyName, + options?: ServerConnectionPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, connectionPolicyName, options }, + getOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const createOrUpdateOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.connectionPolicyName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerConnectionPolicy, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.ServerConnectionPolicy }, 201: { bodyMapper: Mappers.ServerConnectionPolicy - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.connectionPolicyName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerConnectionPolicy - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.connectionPolicyName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverDevOpsAuditSettings.ts b/sdk/sql/arm-sql/src/operations/serverDevOpsAuditSettings.ts new file mode 100644 index 000000000000..caac83d69b7e --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/serverDevOpsAuditSettings.ts @@ -0,0 +1,376 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerDevOpsAuditSettings } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerDevOpsAuditingSettings, + ServerDevOpsAuditSettingsListByServerNextOptionalParams, + ServerDevOpsAuditSettingsListByServerOptionalParams, + ServerDevOpsAuditSettingsGetOptionalParams, + ServerDevOpsAuditSettingsGetResponse, + ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams, + ServerDevOpsAuditSettingsCreateOrUpdateResponse, + ServerDevOpsAuditSettingsListByServerResponse, + ServerDevOpsAuditSettingsListByServerNextResponse +} from "../models"; + +/// +/** Class containing ServerDevOpsAuditSettings operations. */ +export class ServerDevOpsAuditSettingsImpl + implements ServerDevOpsAuditSettings { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ServerDevOpsAuditSettings class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Lists DevOps audit settings of a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerDevOpsAuditSettingsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerDevOpsAuditSettingsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerDevOpsAuditSettingsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + + /** + * Gets a server's DevOps audit settings. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param devOpsAuditingSettingsName The name of the devops audit settings. This should always be + * 'default'. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + devOpsAuditingSettingsName: string, + options?: ServerDevOpsAuditSettingsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, devOpsAuditingSettingsName, options }, + getOperationSpec + ); + } + + /** + * Creates or updates a server's DevOps audit settings. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param devOpsAuditingSettingsName The name of the devops audit settings. This should always be + * 'default'. + * @param parameters Properties of DevOps audit settings + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + devOpsAuditingSettingsName: string, + parameters: ServerDevOpsAuditingSettings, + options?: ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerDevOpsAuditSettingsCreateOrUpdateResponse + > + > { + 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, + serverName, + devOpsAuditingSettingsName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); + } + + /** + * Creates or updates a server's DevOps audit settings. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param devOpsAuditingSettingsName The name of the devops audit settings. This should always be + * 'default'. + * @param parameters Properties of DevOps audit settings + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + devOpsAuditingSettingsName: string, + parameters: ServerDevOpsAuditingSettings, + options?: ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + devOpsAuditingSettingsName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Lists DevOps audit settings of a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerDevOpsAuditSettingsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerDevOpsAuditSettingsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/devOpsAuditingSettings/{devOpsAuditingSettingsName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerDevOpsAuditingSettings + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.devOpsAuditingSettingsName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/devOpsAuditingSettings/{devOpsAuditingSettingsName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ServerDevOpsAuditingSettings + }, + 201: { + bodyMapper: Mappers.ServerDevOpsAuditingSettings + }, + 202: { + bodyMapper: Mappers.ServerDevOpsAuditingSettings + }, + 204: { + bodyMapper: Mappers.ServerDevOpsAuditingSettings + }, + default: {} + }, + requestBody: Parameters.parameters67, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.devOpsAuditingSettingsName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/devOpsAuditingSettings", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerDevOpsAuditSettingsListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerDevOpsAuditSettingsListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/serverDnsAliases.ts b/sdk/sql/arm-sql/src/operations/serverDnsAliases.ts index fdd12166a26f..c2a13a9aa2e3 100644 --- a/sdk/sql/arm-sql/src/operations/serverDnsAliases.ts +++ b/sdk/sql/arm-sql/src/operations/serverDnsAliases.ts @@ -1,311 +1,483 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverDnsAliasesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerDnsAliases } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerDnsAlias, + ServerDnsAliasesListByServerNextOptionalParams, + ServerDnsAliasesListByServerOptionalParams, + ServerDnsAliasesGetOptionalParams, + ServerDnsAliasesGetResponse, + ServerDnsAliasesCreateOrUpdateOptionalParams, + ServerDnsAliasesCreateOrUpdateResponse, + ServerDnsAliasesDeleteOptionalParams, + ServerDnsAliasesListByServerResponse, + ServerDnsAliasAcquisition, + ServerDnsAliasesAcquireOptionalParams, + ServerDnsAliasesAcquireResponse, + ServerDnsAliasesListByServerNextResponse +} from "../models"; -/** Class representing a ServerDnsAliases. */ -export class ServerDnsAliases { +/// +/** Class containing ServerDnsAliases operations. */ +export class ServerDnsAliasesImpl implements ServerDnsAliases { private readonly client: SqlManagementClientContext; /** - * Create a ServerDnsAliases. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerDnsAliases class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a server DNS alias. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server that the alias is pointing to. - * @param dnsAliasName The name of the server DNS alias. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server that the alias is pointing to. - * @param dnsAliasName The name of the server DNS alias. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, dnsAliasName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of server DNS aliases for a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. - * @param dnsAliasName The name of the server DNS alias. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, dnsAliasName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerDnsAliasesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerDnsAliasesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, - dnsAliasName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Creates a server dns alias. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server that the alias is pointing to. - * @param dnsAliasName The name of the server DNS alias. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,dnsAliasName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerDnsAliasesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Deletes the server DNS alias with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a server DNS alias. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. - * @param dnsAliasName The name of the server DNS alias. - * @param [options] The optional parameters - * @returns Promise + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,dnsAliasName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + get( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, dnsAliasName, options }, + getOperationSpec + ); } /** - * Gets a list of server DNS aliases for a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a server DNS alias. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. - * @param [options] The optional parameters - * @returns Promise + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerDnsAliasesCreateOrUpdateResponse + > + > { + 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, serverName, dnsAliasName, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates a server DNS alias. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. - * @param callback The callback + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + dnsAliasName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes the server DNS alias with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. - * @param options The optional parameters - * @param callback The callback + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + async beginDelete( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesDeleteOptionalParams + ): 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, serverName, dnsAliasName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Acquires server DNS alias from another server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes the server DNS alias with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. * @param dnsAliasName The name of the server dns alias. - * @param parameters - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - acquire(resourceGroupName: string, serverName: string, dnsAliasName: string, parameters: Models.ServerDnsAliasAcquisition, options?: msRest.RequestOptionsBase): Promise { - return this.beginAcquire(resourceGroupName,serverName,dnsAliasName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + dnsAliasName, + options + ); + return poller.pollUntilDone(); } /** - * Creates a server dns alias. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of server DNS aliases for a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. - * @param dnsAliasName The name of the server DNS alias. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - dnsAliasName, - options - }, - beginCreateOrUpdateOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerDnsAliasesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Deletes the server DNS alias with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Acquires server DNS alias from another server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. - * @param dnsAliasName The name of the server DNS alias. - * @param [options] The optional parameters - * @returns Promise + * @param dnsAliasName The name of the server dns alias. + * @param parameters A server dns alias acquisition request. + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - dnsAliasName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginAcquire( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + parameters: ServerDnsAliasAcquisition, + options?: ServerDnsAliasesAcquireOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerDnsAliasesAcquireResponse + > + > { + 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, serverName, dnsAliasName, parameters, options }, + acquireOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Acquires server DNS alias from another server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server that the alias is pointing to. * @param dnsAliasName The name of the server dns alias. - * @param parameters - * @param [options] The optional parameters - * @returns Promise + * @param parameters A server dns alias acquisition request. + * @param options The options parameters. */ - beginAcquire(resourceGroupName: string, serverName: string, dnsAliasName: string, parameters: Models.ServerDnsAliasAcquisition, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - dnsAliasName, - parameters, - options - }, - beginAcquireOperationSpec, - options); + async beginAcquireAndWait( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + parameters: ServerDnsAliasAcquisition, + options?: ServerDnsAliasesAcquireOptionalParams + ): Promise { + const poller = await this.beginAcquire( + resourceGroupName, + serverName, + dnsAliasName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Gets a list of server DNS aliases for a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerDnsAliasesListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.dnsAliasName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerDnsAlias }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.dnsAliasName ], - responses: { - 200: { - bodyMapper: Mappers.ServerDnsAliasListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.dnsAliasName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerDnsAlias @@ -313,89 +485,109 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ServerDnsAlias }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.ServerDnsAlias + }, + 204: { + bodyMapper: Mappers.ServerDnsAlias + }, + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.dnsAliasName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.dnsAliasName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.dnsAliasName ], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } + 200: { + bodyMapper: Mappers.ServerDnsAliasListResult + }, + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginAcquireOperationSpec: msRest.OperationSpec = { +const acquireOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire", + responses: { + 200: { + bodyMapper: Mappers.ServerDnsAlias + }, + 201: { + bodyMapper: Mappers.ServerDnsAlias + }, + 202: { + bodyMapper: Mappers.ServerDnsAlias + }, + 204: { + bodyMapper: Mappers.ServerDnsAlias + }, + default: {} + }, + requestBody: Parameters.parameters68, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.dnsAliasName, - Parameters.subscriptionId + Parameters.dnsAliasName ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerDnsAliasAcquisition, - required: true - } - }, - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerDnsAliasListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverKeys.ts b/sdk/sql/arm-sql/src/operations/serverKeys.ts index b53497dcea66..21b80dc21f61 100644 --- a/sdk/sql/arm-sql/src/operations/serverKeys.ts +++ b/sdk/sql/arm-sql/src/operations/serverKeys.ts @@ -1,27 +1,41 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverKeysMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerKeys } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerKey, + ServerKeysListByServerNextOptionalParams, + ServerKeysListByServerOptionalParams, + ServerKeysListByServerResponse, + ServerKeysGetOptionalParams, + ServerKeysGetResponse, + ServerKeysCreateOrUpdateOptionalParams, + ServerKeysCreateOrUpdateResponse, + ServerKeysDeleteOptionalParams, + ServerKeysListByServerNextResponse +} from "../models"; -/** Class representing a ServerKeys. */ -export class ServerKeys { +/// +/** Class containing ServerKeys operations. */ +export class ServerKeysImpl implements ServerKeys { private readonly client: SqlManagementClientContext; /** - * Create a ServerKeys. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerKeys class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,263 +43,372 @@ export class ServerKeys { /** * Gets a list of server keys. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerKeysListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerKeysListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, + continuationToken, options - }, - listByServerOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerKeysListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Gets a server key. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param keyName The name of the server key to be retrieved. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, keyName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of server keys. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param keyName The name of the server key to be retrieved. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, keyName: string, callback: msRest.ServiceCallback): void; + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerKeysListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a server key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param keyName The name of the server key to be retrieved. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, keyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, keyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + keyName: string, + options?: ServerKeysGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - keyName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, keyName, options }, + getOperationSpec + ); } /** * Creates or updates a server key. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param keyName The name of the server key to be operated on (updated or created). The key name - * is required to be in the format of 'vault_key_version'. For example, if the keyId is - * https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901, then - * the server key name should be formatted as: - * YourVaultName_YourKeyName_01234567890123456789012345678901 + * @param keyName The name of the server key to be operated on (updated or created). The key name is + * required to be in the format of 'vault_key_version'. For example, if the keyId is + * https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, then the server key name + * should be formatted as: YourVaultName_YourKeyName_YourKeyVersion * @param parameters The requested server key resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, keyName: string, parameters: Models.ServerKey, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,keyName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + keyName: string, + parameters: ServerKey, + options?: ServerKeysCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerKeysCreateOrUpdateResponse + > + > { + 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() + } + }; + }; - /** - * Deletes the server key with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param keyName The name of the server key to be deleted. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, keyName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,keyName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serverName, keyName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates a server key. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param keyName The name of the server key to be operated on (updated or created). The key name - * is required to be in the format of 'vault_key_version'. For example, if the keyId is - * https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901, then - * the server key name should be formatted as: - * YourVaultName_YourKeyName_01234567890123456789012345678901 + * @param keyName The name of the server key to be operated on (updated or created). The key name is + * required to be in the format of 'vault_key_version'. For example, if the keyId is + * https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, then the server key name + * should be formatted as: YourVaultName_YourKeyName_YourKeyVersion * @param parameters The requested server key resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, keyName: string, parameters: Models.ServerKey, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - keyName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + keyName: string, + parameters: ServerKey, + options?: ServerKeysCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + keyName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes the server key with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param keyName The name of the server key to be deleted. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, keyName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - keyName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDelete( + resourceGroupName: string, + serverName: string, + keyName: string, + options?: ServerKeysDeleteOptionalParams + ): 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, serverName, keyName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a list of server keys. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Deletes the server key with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param keyName The name of the server key to be deleted. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + keyName: string, + options?: ServerKeysDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + keyName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerKeysListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByServerOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerKeyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.keyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerKey }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.keyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.keyName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerKey, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ServerKey @@ -293,57 +416,59 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ServerKey }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.ServerKey + }, + 204: { + bodyMapper: Mappers.ServerKey + }, + default: {} }, + requestBody: Parameters.parameters69, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.keyName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.keyName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.keyName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerKeyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverOperations.ts b/sdk/sql/arm-sql/src/operations/serverOperations.ts new file mode 100644 index 000000000000..35d5ab6b6bcb --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/serverOperations.ts @@ -0,0 +1,189 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ServerOperation, + ServerOperationsListByServerNextOptionalParams, + ServerOperationsListByServerOptionalParams, + ServerOperationsListByServerResponse, + ServerOperationsListByServerNextResponse +} from "../models"; + +/// +/** Class containing ServerOperations operations. */ +export class ServerOperationsImpl implements ServerOperations { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ServerOperations class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of operations performed on the server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerOperationsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerOperationsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerOperationsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of operations performed on the server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerOperationsListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + + /** + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. + */ + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerOperationsListByServerNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/operations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerOperationListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerOperationListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/serverSecurityAlertPolicies.ts b/sdk/sql/arm-sql/src/operations/serverSecurityAlertPolicies.ts index 56e479b9f51e..467633fd06aa 100644 --- a/sdk/sql/arm-sql/src/operations/serverSecurityAlertPolicies.ts +++ b/sdk/sql/arm-sql/src/operations/serverSecurityAlertPolicies.ts @@ -1,270 +1,373 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverSecurityAlertPoliciesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerSecurityAlertPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerSecurityAlertPolicy, + ServerSecurityAlertPoliciesListByServerNextOptionalParams, + ServerSecurityAlertPoliciesListByServerOptionalParams, + SecurityAlertPolicyName, + ServerSecurityAlertPoliciesGetOptionalParams, + ServerSecurityAlertPoliciesGetResponse, + ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams, + ServerSecurityAlertPoliciesCreateOrUpdateResponse, + ServerSecurityAlertPoliciesListByServerResponse, + ServerSecurityAlertPoliciesListByServerNextResponse +} from "../models"; -/** Class representing a ServerSecurityAlertPolicies. */ -export class ServerSecurityAlertPolicies { +/// +/** Class containing ServerSecurityAlertPolicies operations. */ +export class ServerSecurityAlertPoliciesImpl + implements ServerSecurityAlertPolicies { private readonly client: SqlManagementClientContext; /** - * Create a ServerSecurityAlertPolicies. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerSecurityAlertPolicies class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Get a server's security alert policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Get the server's threat detection policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Creates or updates a threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param parameters The server security alert policy. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerSecurityAlertPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Get the server's threat detection policies. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Get a server's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: ServerSecurityAlertPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, securityAlertPolicyName, options }, + getOperationSpec + ); } /** * Creates or updates a threat detection policy. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the threat detection policy. * @param parameters The server security alert policy. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerSecurityAlertPolicy, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ServerSecurityAlertPolicy, + options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerSecurityAlertPoliciesCreateOrUpdateResponse + > + > { + 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, serverName, + securityAlertPolicyName, parameters, options }, - beginCreateOrUpdateOperationSpec, - options); + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Get the server's threat detection policies. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the threat detection policy. + * @param parameters The server security alert policy. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ServerSecurityAlertPolicy, + options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + securityAlertPolicyName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Get the server's threat detection policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerSecurityAlertPoliciesListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.securityAlertPolicyName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerSecurityAlertPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.securityAlertPolicyName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.LogicalServerSecurityAlertPolicyListResult + bodyMapper: Mappers.ServerSecurityAlertPolicy }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.ServerSecurityAlertPolicy + }, + 202: { + bodyMapper: Mappers.ServerSecurityAlertPolicy + }, + 204: { + bodyMapper: Mappers.ServerSecurityAlertPolicy + }, + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", + requestBody: Parameters.parameters70, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.securityAlertPolicyName1, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion4 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.securityAlertPolicyName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerSecurityAlertPolicy, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ServerSecurityAlertPolicy + bodyMapper: Mappers.LogicalServerSecurityAlertPolicyListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LogicalServerSecurityAlertPolicyListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverTrustGroups.ts b/sdk/sql/arm-sql/src/operations/serverTrustGroups.ts new file mode 100644 index 000000000000..9eeed289c69c --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/serverTrustGroups.ts @@ -0,0 +1,628 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerTrustGroups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ServerTrustGroup, + ServerTrustGroupsListByLocationNextOptionalParams, + ServerTrustGroupsListByLocationOptionalParams, + ServerTrustGroupsListByInstanceNextOptionalParams, + ServerTrustGroupsListByInstanceOptionalParams, + ServerTrustGroupsGetOptionalParams, + ServerTrustGroupsGetResponse, + ServerTrustGroupsCreateOrUpdateOptionalParams, + ServerTrustGroupsCreateOrUpdateResponse, + ServerTrustGroupsDeleteOptionalParams, + ServerTrustGroupsListByLocationResponse, + ServerTrustGroupsListByInstanceResponse, + ServerTrustGroupsListByLocationNextResponse, + ServerTrustGroupsListByInstanceNextResponse +} from "../models"; + +/// +/** Class containing ServerTrustGroups operations. */ +export class ServerTrustGroupsImpl implements ServerTrustGroups { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class ServerTrustGroups class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Lists a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + public listByLocation( + resourceGroupName: string, + locationName: string, + options?: ServerTrustGroupsListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll( + resourceGroupName, + locationName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage( + resourceGroupName, + locationName, + options + ); + } + }; + } + + private async *listByLocationPagingPage( + resourceGroupName: string, + locationName: string, + options?: ServerTrustGroupsListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation( + resourceGroupName, + locationName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( + resourceGroupName, + locationName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + resourceGroupName: string, + locationName: string, + options?: ServerTrustGroupsListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage( + resourceGroupName, + locationName, + options + )) { + yield* page; + } + } + + /** + * Gets a server trust groups by instance name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + public listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ServerTrustGroupsListByInstanceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePagingAll( + resourceGroupName, + managedInstanceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + ); + } + }; + } + + private async *listByInstancePagingPage( + resourceGroupName: string, + managedInstanceName: string, + options?: ServerTrustGroupsListByInstanceOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstance( + resourceGroupName, + managedInstanceName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstanceNext( + resourceGroupName, + managedInstanceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePagingAll( + resourceGroupName: string, + managedInstanceName: string, + options?: ServerTrustGroupsListByInstanceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePagingPage( + resourceGroupName, + managedInstanceName, + options + )) { + yield* page; + } + } + + /** + * Gets a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + options?: ServerTrustGroupsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, serverTrustGroupName, options }, + getOperationSpec + ); + } + + /** + * Creates or updates a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param parameters The server trust group parameters. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + parameters: ServerTrustGroup, + options?: ServerTrustGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerTrustGroupsCreateOrUpdateResponse + > + > { + 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, + locationName, + serverTrustGroupName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param parameters The server trust group parameters. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + parameters: ServerTrustGroup, + options?: ServerTrustGroupsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + locationName, + serverTrustGroupName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + options?: ServerTrustGroupsDeleteOptionalParams + ): 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, locationName, serverTrustGroupName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + options?: ServerTrustGroupsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + locationName, + serverTrustGroupName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Lists a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + private _listByLocation( + resourceGroupName: string, + locationName: string, + options?: ServerTrustGroupsListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, options }, + listByLocationOperationSpec + ); + } + + /** + * Gets a server trust groups by instance name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + private _listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ServerTrustGroupsListByInstanceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + listByInstanceOperationSpec + ); + } + + /** + * ListByLocationNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. + */ + private _listByLocationNext( + resourceGroupName: string, + locationName: string, + nextLink: string, + options?: ServerTrustGroupsListByLocationNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, locationName, nextLink, options }, + listByLocationNextOperationSpec + ); + } + + /** + * ListByInstanceNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param nextLink The nextLink from the previous successful call to the ListByInstance method. + * @param options The options parameters. + */ + private _listByInstanceNext( + resourceGroupName: string, + managedInstanceName: string, + nextLink: string, + options?: ServerTrustGroupsListByInstanceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, nextLink, options }, + listByInstanceNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/serverTrustGroups/{serverTrustGroupName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerTrustGroup + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName, + Parameters.serverTrustGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/serverTrustGroups/{serverTrustGroupName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ServerTrustGroup + }, + 201: { + bodyMapper: Mappers.ServerTrustGroup + }, + 202: { + bodyMapper: Mappers.ServerTrustGroup + }, + 204: { + bodyMapper: Mappers.ServerTrustGroup + }, + default: {} + }, + requestBody: Parameters.parameters71, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName, + Parameters.serverTrustGroupName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/serverTrustGroups/{serverTrustGroupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName, + Parameters.serverTrustGroupName + ], + serializer +}; +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/serverTrustGroups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerTrustGroupListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByInstanceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/serverTrustGroups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerTrustGroupListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByLocationNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerTrustGroupListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByInstanceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServerTrustGroupListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/serverUsages.ts b/sdk/sql/arm-sql/src/operations/serverUsages.ts index ca3991457707..6f5d3828f0d0 100644 --- a/sdk/sql/arm-sql/src/operations/serverUsages.ts +++ b/sdk/sql/arm-sql/src/operations/serverUsages.ts @@ -1,26 +1,32 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverUsagesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerUsages } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ServerUsage, + ServerUsagesListByServerOptionalParams, + ServerUsagesListByServerResponse +} from "../models"; -/** Class representing a ServerUsages. */ -export class ServerUsages { +/// +/** Class containing ServerUsages operations. */ +export class ServerUsagesImpl implements ServerUsages { private readonly client: SqlManagementClientContext; /** - * Create a ServerUsages. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerUsages class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,63 +34,102 @@ export class ServerUsages { /** * Returns server usages. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerUsagesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerUsagesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerUsagesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns server usages. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerUsagesListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByServerOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerUsageListResult - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serverVulnerabilityAssessments.ts b/sdk/sql/arm-sql/src/operations/serverVulnerabilityAssessments.ts index 09f92258465f..84a6ed9c7636 100644 --- a/sdk/sql/arm-sql/src/operations/serverVulnerabilityAssessments.ts +++ b/sdk/sql/arm-sql/src/operations/serverVulnerabilityAssessments.ts @@ -1,254 +1,254 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serverVulnerabilityAssessmentsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerVulnerabilityAssessments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ServerVulnerabilityAssessment, + ServerVulnerabilityAssessmentsListByServerNextOptionalParams, + ServerVulnerabilityAssessmentsListByServerOptionalParams, + VulnerabilityAssessmentName, + ServerVulnerabilityAssessmentsGetOptionalParams, + ServerVulnerabilityAssessmentsGetResponse, + ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams, + ServerVulnerabilityAssessmentsCreateOrUpdateResponse, + ServerVulnerabilityAssessmentsDeleteOptionalParams, + ServerVulnerabilityAssessmentsListByServerResponse, + ServerVulnerabilityAssessmentsListByServerNextResponse +} from "../models"; -/** Class representing a ServerVulnerabilityAssessments. */ -export class ServerVulnerabilityAssessments { +/// +/** Class containing ServerVulnerabilityAssessments operations. */ +export class ServerVulnerabilityAssessmentsImpl + implements ServerVulnerabilityAssessments { private readonly client: SqlManagementClientContext; /** - * Create a ServerVulnerabilityAssessments. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServerVulnerabilityAssessments class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets the server's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server for which the vulnerability assessment is defined. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server for which the vulnerability assessment is defined. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server for which the vulnerability assessment is defined. - * @param options The optional parameters - * @param callback The callback + * Lists the vulnerability assessment policies associated with a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerVulnerabilityAssessmentsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServerVulnerabilityAssessmentsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServerVulnerabilityAssessmentsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Creates or updates the server's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server for which the vulnerability assessment is defined. - * @param parameters The requested resource. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerVulnerabilityAssessment, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets the server's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server for which the vulnerability assessment is defined. - * @param parameters The requested resource. - * @param callback The callback + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerVulnerabilityAssessment, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ServerVulnerabilityAssessmentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, vulnerabilityAssessmentName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates the server's vulnerability assessment. Learn more about setting SQL vulnerability + * assessment with managed identity - + * https://docs.microsoft.com/azure/azure-sql/database/sql-database-vulnerability-assessment-storage + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. * @param parameters The requested resource. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerVulnerabilityAssessment, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerVulnerabilityAssessment, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + parameters: ServerVulnerabilityAssessment, + options?: ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, + vulnerabilityAssessmentName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Removes the server's vulnerability assessment. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server for which the vulnerability assessment is defined. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server for which the vulnerability assessment is defined. - * @param callback The callback - */ - deleteMethod(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server for which the vulnerability assessment is defined. - * @param options The optional parameters - * @param callback The callback + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - deleteMethod(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + delete( + resourceGroupName: string, + serverName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ServerVulnerabilityAssessmentsDeleteOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - deleteMethodOperationSpec, - callback); + { resourceGroupName, serverName, vulnerabilityAssessmentName, options }, + deleteOperationSpec + ); } /** * Lists the vulnerability assessment policies associated with a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerVulnerabilityAssessmentsListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Lists the vulnerability assessment policies associated with a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: ServerVulnerabilityAssessmentsListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerVulnerabilityAssessment }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const createOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vulnerabilityAssessmentName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerVulnerabilityAssessment, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ServerVulnerabilityAssessment @@ -256,79 +256,73 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.ServerVulnerabilityAssessment }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const deleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + requestBody: Parameters.parameters72, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.vulnerabilityAssessmentName, - Parameters.subscriptionId + Parameters.vulnerabilityAssessmentName ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", + httpMethod: "DELETE", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vulnerabilityAssessmentName ], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerVulnerabilityAssessmentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerVulnerabilityAssessmentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/servers.ts b/sdk/sql/arm-sql/src/operations/servers.ts index 734cb28282b2..0839213b83d3 100644 --- a/sdk/sql/arm-sql/src/operations/servers.ts +++ b/sdk/sql/arm-sql/src/operations/servers.ts @@ -1,434 +1,693 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serversMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Servers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Server, + ServersListByResourceGroupNextOptionalParams, + ServersListByResourceGroupOptionalParams, + ServersListNextOptionalParams, + ServersListOptionalParams, + ServersListByResourceGroupResponse, + ServersGetOptionalParams, + ServersGetResponse, + ServersCreateOrUpdateOptionalParams, + ServersCreateOrUpdateResponse, + ServersDeleteOptionalParams, + ServerUpdate, + ServersUpdateOptionalParams, + ServersUpdateResponse, + ServersListResponse, + ImportNewDatabaseDefinition, + ServersImportDatabaseOptionalParams, + ServersImportDatabaseResponse, + CheckNameAvailabilityRequest, + ServersCheckNameAvailabilityOptionalParams, + ServersCheckNameAvailabilityResponse, + ServersListByResourceGroupNextResponse, + ServersListNextResponse +} from "../models"; -/** Class representing a Servers. */ -export class Servers { +/// +/** Class containing Servers operations. */ +export class ServersImpl implements Servers { private readonly client: SqlManagementClientContext; /** - * Create a Servers. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Servers class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Determines whether a resource can be created with the specified name. - * @param parameters The parameters to request for name availability. - * @param [options] The optional parameters - * @returns Promise - */ - checkNameAvailability(parameters: Models.CheckNameAvailabilityRequest, options?: msRest.RequestOptionsBase): Promise; - /** - * @param parameters The parameters to request for name availability. - * @param callback The callback - */ - checkNameAvailability(parameters: Models.CheckNameAvailabilityRequest, callback: msRest.ServiceCallback): void; - /** - * @param parameters The parameters to request for name availability. - * @param options The optional parameters - * @param callback The callback + * Gets a list of servers in a resource groups. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. */ - checkNameAvailability(parameters: Models.CheckNameAvailabilityRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - checkNameAvailability(parameters: Models.CheckNameAvailabilityRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - parameters, - options + public listByResourceGroup( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - checkNameAvailabilityOperationSpec, - callback) as Promise; + byPage: () => { + return this.listByResourceGroupPagingPage(resourceGroupName, options); + } + }; + } + + private async *listByResourceGroupPagingPage( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): 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?: ServersListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** * Gets a list of all servers in the subscription. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ServersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ServersListOptionalParams + ): 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?: ServersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Gets a list of servers in a resource groups. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param options The optional parameters - * @param callback The callback + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroup( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); } /** * Gets a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + options?: ServersGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + getOperationSpec + ); } /** * Creates or updates a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param parameters The requested server resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.Server, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + parameters: Server, + options?: ServersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServersCreateOrUpdateResponse + > + > { + 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, serverName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Deletes a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The requested server resource state. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: Server, + options?: ServersCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Updates a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param parameters The requested server resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, parameters: Models.ServerUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginDelete( + resourceGroupName: string, + serverName: string, + options?: ServersDeleteOptionalParams + ): 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, serverName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Creates or updates a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param parameters The requested server resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: Models.Server, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + options + ); + return poller.pollUntilDone(); } /** - * Deletes a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The requested server resource state. + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginUpdate( + resourceGroupName: string, + serverName: string, + parameters: ServerUpdate, + options?: ServersUpdateOptionalParams + ): Promise< + PollerLike, ServersUpdateResponse> + > { + 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, serverName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Updates a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param parameters The requested server resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, parameters: Models.ServerUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ServerUpdate, + options?: ServersUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Gets a list of all servers in the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _list( + options?: ServersListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Imports a bacpac into a new database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The database import request parameters. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginImportDatabase( + resourceGroupName: string, + serverName: string, + parameters: ImportNewDatabaseDefinition, + options?: ServersImportDatabaseOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServersImportDatabaseResponse + > + > { + 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, serverName, parameters, options }, + importDatabaseOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Imports a bacpac into a new database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The database import request parameters. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + async beginImportDatabaseAndWait( + resourceGroupName: string, + serverName: string, + parameters: ImportNewDatabaseDefinition, + options?: ServersImportDatabaseOptionalParams + ): Promise { + const poller = await this.beginImportDatabase( + resourceGroupName, + serverName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Gets a list of servers in a resource groups. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Determines whether a resource can be created with the specified name. + * @param parameters The name availability request parameters. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + checkNameAvailability( + parameters: CheckNameAvailabilityRequest, + options?: ServersCheckNameAvailabilityOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { parameters, options }, + checkNameAvailabilityOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: ServersListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ServersListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.CheckNameAvailabilityRequest, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.CheckNameAvailabilityResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const listOperationSpec: msRest.OperationSpec = { +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers", - urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ServerListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { - bodyMapper: Mappers.ServerListResult + bodyMapper: Mappers.Server }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", + queryParameters: [Parameters.apiVersion1, Parameters.expand], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Server }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.Server + }, + 202: { + bodyMapper: Mappers.Server + }, + 204: { + bodyMapper: Mappers.Server + }, + default: {} }, + requestBody: Parameters.parameters85, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId + Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.Server, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.Server @@ -436,110 +695,122 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.Server }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.Server + }, + 204: { + bodyMapper: Mappers.Server + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", + requestBody: Parameters.parameters86, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers", + httpMethod: "GET", responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } + 200: { + bodyMapper: Mappers.ServerListResult + }, + default: {} }, + queryParameters: [Parameters.apiVersion1, Parameters.expand], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", +const importDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.ImportExportOperationResult + }, + 201: { + bodyMapper: Mappers.ImportExportOperationResult + }, + 202: { + bodyMapper: Mappers.ImportExportOperationResult + }, + 204: { + bodyMapper: Mappers.ImportExportOperationResult + }, + default: {} + }, + requestBody: Parameters.parameters87, + queryParameters: [Parameters.apiVersion1], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId + Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.ServerUpdate, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.Server + bodyMapper: Mappers.CheckNameAvailabilityResponse }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + requestBody: Parameters.parameters88, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ServerListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serviceObjectives.ts b/sdk/sql/arm-sql/src/operations/serviceObjectives.ts index d10a6be2ddd5..76c4d033d4fa 100644 --- a/sdk/sql/arm-sql/src/operations/serviceObjectives.ts +++ b/sdk/sql/arm-sql/src/operations/serviceObjectives.ts @@ -1,155 +1,177 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serviceObjectivesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServiceObjectives } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + ServiceObjective, + ServiceObjectivesListByServerOptionalParams, + ServiceObjectivesGetOptionalParams, + ServiceObjectivesGetResponse, + ServiceObjectivesListByServerResponse +} from "../models"; -/** Class representing a ServiceObjectives. */ -export class ServiceObjectives { +/// +/** Class containing ServiceObjectives operations. */ +export class ServiceObjectivesImpl implements ServiceObjectives { private readonly client: SqlManagementClientContext; /** - * Create a ServiceObjectives. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ServiceObjectives class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a database service objective. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param serviceObjectiveName The name of the service objective to retrieve. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, serviceObjectiveName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns database service objectives. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param serviceObjectiveName The name of the service objective to retrieve. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, serviceObjectiveName: string, callback: msRest.ServiceCallback): void; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: ServiceObjectivesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: ServiceObjectivesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: ServiceObjectivesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a database service objective. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param serviceObjectiveName The name of the service objective to retrieve. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, serviceObjectiveName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, serviceObjectiveName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + serviceObjectiveName: string, + options?: ServiceObjectivesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - serviceObjectiveName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, serviceObjectiveName, options }, + getOperationSpec + ); } /** * Returns database service objectives. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: ServiceObjectivesListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}", + responses: { + 200: { + bodyMapper: Mappers.ServiceObjective + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.serviceObjectiveName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ServiceObjective - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ServiceObjectiveListResult } }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives", + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ServiceObjectiveListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/serviceTierAdvisors.ts b/sdk/sql/arm-sql/src/operations/serviceTierAdvisors.ts deleted file mode 100644 index ab2ce84c5fa4..000000000000 --- a/sdk/sql/arm-sql/src/operations/serviceTierAdvisors.ts +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/serviceTierAdvisorsMappers"; -import * as Parameters from "../models/parameters"; -import { SqlManagementClientContext } from "../sqlManagementClientContext"; - -/** Class representing a ServiceTierAdvisors. */ -export class ServiceTierAdvisors { - private readonly client: SqlManagementClientContext; - - /** - * Create a ServiceTierAdvisors. - * @param {SqlManagementClientContext} client Reference to the service client. - */ - constructor(client: SqlManagementClientContext) { - this.client = client; - } - - /** - * Gets a service tier advisor. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of database. - * @param serviceTierAdvisorName The name of service tier advisor. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, databaseName: string, serviceTierAdvisorName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of database. - * @param serviceTierAdvisorName The name of service tier advisor. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, serviceTierAdvisorName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of database. - * @param serviceTierAdvisorName The name of service tier advisor. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, serviceTierAdvisorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, serviceTierAdvisorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - serviceTierAdvisorName, - options - }, - getOperationSpec, - callback) as Promise; - } - - /** - * Returns service tier advisors for specified database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of database. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of database. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of database. - * @param options The optional parameters - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - options - }, - listByDatabaseOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.serviceTierAdvisorName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ServiceTierAdvisor - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ServiceTierAdvisorListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - serializer -}; diff --git a/sdk/sql/arm-sql/src/operations/sqlAgent.ts b/sdk/sql/arm-sql/src/operations/sqlAgent.ts new file mode 100644 index 000000000000..addbbeaf6fe7 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/sqlAgent.ts @@ -0,0 +1,116 @@ +/* + * 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 { SqlAgent } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + SqlAgentGetOptionalParams, + SqlAgentGetResponse, + SqlAgentConfiguration, + SqlAgentCreateOrUpdateOptionalParams, + SqlAgentCreateOrUpdateResponse +} from "../models"; + +/** Class containing SqlAgent operations. */ +export class SqlAgentImpl implements SqlAgent { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class SqlAgent class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets current instance sql agent configuration. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + options?: SqlAgentGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, options }, + getOperationSpec + ); + } + + /** + * Puts new sql agent configuration to instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters A recoverable managed database resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + parameters: SqlAgentConfiguration, + options?: SqlAgentCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, managedInstanceName, parameters, options }, + createOrUpdateOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/sqlAgent/current", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SqlAgentConfiguration + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/sqlAgent/current", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SqlAgentConfiguration + }, + default: {} + }, + requestBody: Parameters.parameters73, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.managedInstanceName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/subscriptionUsages.ts b/sdk/sql/arm-sql/src/operations/subscriptionUsages.ts index 34dc34fce3ad..b0f33a2a0e22 100644 --- a/sdk/sql/arm-sql/src/operations/subscriptionUsages.ts +++ b/sdk/sql/arm-sql/src/operations/subscriptionUsages.ts @@ -1,26 +1,36 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/subscriptionUsagesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SubscriptionUsages } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + SubscriptionUsage, + SubscriptionUsagesListByLocationNextOptionalParams, + SubscriptionUsagesListByLocationOptionalParams, + SubscriptionUsagesListByLocationResponse, + SubscriptionUsagesGetOptionalParams, + SubscriptionUsagesGetResponse, + SubscriptionUsagesListByLocationNextResponse +} from "../models"; -/** Class representing a SubscriptionUsages. */ -export class SubscriptionUsages { +/// +/** Class containing SubscriptionUsages operations. */ +export class SubscriptionUsagesImpl implements SubscriptionUsages { private readonly client: SqlManagementClientContext; /** - * Create a SubscriptionUsages. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class SubscriptionUsages class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,160 +39,163 @@ export class SubscriptionUsages { /** * Gets all subscription usage metrics in a given location. * @param locationName The name of the region where the resource is located. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByLocation(locationName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param locationName The name of the region where the resource is located. - * @param callback The callback - */ - listByLocation(locationName: string, callback: msRest.ServiceCallback): void; - /** - * @param locationName The name of the region where the resource is located. - * @param options The optional parameters - * @param callback The callback - */ - listByLocation(locationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByLocation(locationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByLocation( + locationName: string, + options?: SubscriptionUsagesListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll(locationName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage(locationName, options); + } + }; + } + + private async *listByLocationPagingPage( + locationName: string, + options?: SubscriptionUsagesListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation(locationName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( locationName, + continuationToken, options - }, - listByLocationOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + locationName: string, + options?: SubscriptionUsagesListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage( + locationName, + options + )) { + yield* page; + } } /** - * Gets a subscription usage metric. - * @param locationName The name of the region where the resource is located. - * @param usageName Name of usage metric to return. - * @param [options] The optional parameters - * @returns Promise - */ - get(locationName: string, usageName: string, options?: msRest.RequestOptionsBase): Promise; - /** + * Gets all subscription usage metrics in a given location. * @param locationName The name of the region where the resource is located. - * @param usageName Name of usage metric to return. - * @param callback The callback + * @param options The options parameters. */ - get(locationName: string, usageName: string, callback: msRest.ServiceCallback): void; + private _listByLocation( + locationName: string, + options?: SubscriptionUsagesListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, options }, + listByLocationOperationSpec + ); + } + /** + * Gets a subscription usage metric. * @param locationName The name of the region where the resource is located. * @param usageName Name of usage metric to return. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(locationName: string, usageName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(locationName: string, usageName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + locationName: string, + usageName: string, + options?: SubscriptionUsagesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - locationName, - usageName, - options - }, - getOperationSpec, - callback) as Promise; + { locationName, usageName, options }, + getOperationSpec + ); } /** - * Gets all subscription usage metrics in a given location. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByLocationNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByLocationNext + * @param locationName The name of the region where the resource is located. + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. */ - listByLocationNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByLocationNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByLocationNext( + locationName: string, + nextLink: string, + options?: SubscriptionUsagesListByLocationNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByLocationNextOperationSpec, - callback) as Promise; + { locationName, nextLink, options }, + listByLocationNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByLocationOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages", - urlParameters: [ - Parameters.locationName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SubscriptionUsageListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}", - urlParameters: [ - Parameters.locationName, - Parameters.usageName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SubscriptionUsage }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.usageName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByLocationNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByLocationNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SubscriptionUsageListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/syncAgents.ts b/sdk/sql/arm-sql/src/operations/syncAgents.ts index 5cbc4360dda4..7bec7dee90da 100644 --- a/sdk/sql/arm-sql/src/operations/syncAgents.ts +++ b/sdk/sql/arm-sql/src/operations/syncAgents.ts @@ -1,520 +1,681 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/syncAgentsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SyncAgents } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + SyncAgent, + SyncAgentsListByServerNextOptionalParams, + SyncAgentsListByServerOptionalParams, + SyncAgentLinkedDatabase, + SyncAgentsListLinkedDatabasesNextOptionalParams, + SyncAgentsListLinkedDatabasesOptionalParams, + SyncAgentsGetOptionalParams, + SyncAgentsGetResponse, + SyncAgentsCreateOrUpdateOptionalParams, + SyncAgentsCreateOrUpdateResponse, + SyncAgentsDeleteOptionalParams, + SyncAgentsListByServerResponse, + SyncAgentsGenerateKeyOptionalParams, + SyncAgentsGenerateKeyResponse, + SyncAgentsListLinkedDatabasesResponse, + SyncAgentsListByServerNextResponse, + SyncAgentsListLinkedDatabasesNextResponse +} from "../models"; -/** Class representing a SyncAgents. */ -export class SyncAgents { +/// +/** Class containing SyncAgents operations. */ +export class SyncAgentsImpl implements SyncAgents { private readonly client: SqlManagementClientContext; /** - * Create a SyncAgents. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class SyncAgents class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a sync agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server on which the sync agent is hosted. - * @param syncAgentName The name of the sync agent. - * @param [options] The optional parameters - * @returns Promise - */ - get(resourceGroupName: string, serverName: string, syncAgentName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server on which the sync agent is hosted. - * @param syncAgentName The name of the sync agent. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, syncAgentName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists sync agents in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. - * @param syncAgentName The name of the sync agent. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, syncAgentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, syncAgentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByServer( + resourceGroupName: string, + serverName: string, + options?: SyncAgentsListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: SyncAgentsListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( resourceGroupName, serverName, - syncAgentName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Creates or updates a sync agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server on which the sync agent is hosted. - * @param syncAgentName The name of the sync agent. - * @param parameters The requested sync agent resource state. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdate(resourceGroupName: string, serverName: string, syncAgentName: string, parameters: Models.SyncAgent, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,syncAgentName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: SyncAgentsListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } } /** - * Deletes a sync agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists databases linked to a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. * @param syncAgentName The name of the sync agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, syncAgentName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,syncAgentName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + public listLinkedDatabases( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsListLinkedDatabasesOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listLinkedDatabasesPagingAll( + resourceGroupName, + serverName, + syncAgentName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listLinkedDatabasesPagingPage( + resourceGroupName, + serverName, + syncAgentName, + options + ); + } + }; } - /** - * Lists sync agents in a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server on which the sync agent is hosted. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server on which the sync agent is hosted. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server on which the sync agent is hosted. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listLinkedDatabasesPagingPage( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsListLinkedDatabasesOptionalParams + ): AsyncIterableIterator { + let result = await this._listLinkedDatabases( + resourceGroupName, + serverName, + syncAgentName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listLinkedDatabasesNext( resourceGroupName, serverName, + syncAgentName, + continuationToken, options - }, - listByServerOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listLinkedDatabasesPagingAll( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsListLinkedDatabasesOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listLinkedDatabasesPagingPage( + resourceGroupName, + serverName, + syncAgentName, + options + )) { + yield* page; + } } /** - * Generates a sync agent key. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. * @param syncAgentName The name of the sync agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - generateKey(resourceGroupName: string, serverName: string, syncAgentName: string, options?: msRest.RequestOptionsBase): Promise; + get( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, syncAgentName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. * @param syncAgentName The name of the sync agent. - * @param callback The callback + * @param parameters The requested sync agent resource state. + * @param options The options parameters. */ - generateKey(resourceGroupName: string, serverName: string, syncAgentName: string, callback: msRest.ServiceCallback): void; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + parameters: SyncAgent, + options?: SyncAgentsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncAgentsCreateOrUpdateResponse + > + > { + 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, serverName, syncAgentName, parameters, options }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. * @param syncAgentName The name of the sync agent. - * @param options The optional parameters - * @param callback The callback + * @param parameters The requested sync agent resource state. + * @param options The options parameters. */ - generateKey(resourceGroupName: string, serverName: string, syncAgentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - generateKey(resourceGroupName: string, serverName: string, syncAgentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - syncAgentName, - options - }, - generateKeyOperationSpec, - callback) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + parameters: SyncAgent, + options?: SyncAgentsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + syncAgentName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Lists databases linked to a sync agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. * @param syncAgentName The name of the sync agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listLinkedDatabases(resourceGroupName: string, serverName: string, syncAgentName: string, options?: msRest.RequestOptionsBase): Promise; + async beginDelete( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsDeleteOptionalParams + ): 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, serverName, syncAgentName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. * @param syncAgentName The name of the sync agent. - * @param callback The callback + * @param options The options parameters. */ - listLinkedDatabases(resourceGroupName: string, serverName: string, syncAgentName: string, callback: msRest.ServiceCallback): void; + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + syncAgentName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists sync agents in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. - * @param syncAgentName The name of the sync agent. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listLinkedDatabases(resourceGroupName: string, serverName: string, syncAgentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listLinkedDatabases(resourceGroupName: string, serverName: string, syncAgentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: SyncAgentsListByServerOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - syncAgentName, - options - }, - listLinkedDatabasesOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Creates or updates a sync agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Generates a sync agent key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. * @param syncAgentName The name of the sync agent. - * @param parameters The requested sync agent resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, syncAgentName: string, parameters: Models.SyncAgent, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - syncAgentName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + generateKey( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsGenerateKeyOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, syncAgentName, options }, + generateKeyOperationSpec + ); } /** - * Deletes a sync agent. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists databases linked to a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server on which the sync agent is hosted. * @param syncAgentName The name of the sync agent. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, syncAgentName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - syncAgentName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listLinkedDatabases( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsListLinkedDatabasesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, syncAgentName, options }, + listLinkedDatabasesOperationSpec + ); } /** - * Lists sync agents in a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: SyncAgentsListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } /** - * Lists databases linked to a sync agent. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listLinkedDatabasesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listLinkedDatabasesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListLinkedDatabasesNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param syncAgentName The name of the sync agent. + * @param nextLink The nextLink from the previous successful call to the ListLinkedDatabases method. + * @param options The options parameters. */ - listLinkedDatabasesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listLinkedDatabasesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listLinkedDatabasesNext( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + nextLink: string, + options?: SyncAgentsListLinkedDatabasesNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listLinkedDatabasesNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, syncAgentName, nextLink, options }, + listLinkedDatabasesNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.syncAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SyncAgent }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncAgentName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SyncAgentListResult + bodyMapper: Mappers.SyncAgent }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.SyncAgent + }, + 202: { + bodyMapper: Mappers.SyncAgent + }, + 204: { + bodyMapper: Mappers.SyncAgent + }, + default: {} }, + requestBody: Parameters.parameters74, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.syncAgentName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const generateKeyOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.syncAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncAgentName ], + serializer +}; +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SyncAgentKeyProperties + bodyMapper: Mappers.SyncAgentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listLinkedDatabasesOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.syncAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const generateKeyOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.SyncAgentLinkedDatabaseListResult + bodyMapper: Mappers.SyncAgentKeyProperties }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.syncAgentName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 + Parameters.syncAgentName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SyncAgent, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listLinkedDatabasesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SyncAgent - }, - 201: { - bodyMapper: Mappers.SyncAgent + bodyMapper: Mappers.SyncAgentLinkedDatabaseListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.syncAgentName, - Parameters.subscriptionId + Parameters.syncAgentName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByServerNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncAgentListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listLinkedDatabasesNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listLinkedDatabasesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncAgentLinkedDatabaseListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink, + Parameters.syncAgentName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/syncGroups.ts b/sdk/sql/arm-sql/src/operations/syncGroups.ts index 5824e0f64925..9e8354373126 100644 --- a/sdk/sql/arm-sql/src/operations/syncGroups.ts +++ b/sdk/sql/arm-sql/src/operations/syncGroups.ts @@ -1,27 +1,62 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/syncGroupsMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SyncGroups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + SyncDatabaseIdProperties, + SyncGroupsListSyncDatabaseIdsNextOptionalParams, + SyncGroupsListSyncDatabaseIdsOptionalParams, + SyncFullSchemaProperties, + SyncGroupsListHubSchemasNextOptionalParams, + SyncGroupsListHubSchemasOptionalParams, + SyncGroupLogProperties, + Enum76, + SyncGroupsListLogsNextOptionalParams, + SyncGroupsListLogsOptionalParams, + SyncGroup, + SyncGroupsListByDatabaseNextOptionalParams, + SyncGroupsListByDatabaseOptionalParams, + SyncGroupsListSyncDatabaseIdsResponse, + SyncGroupsRefreshHubSchemaOptionalParams, + SyncGroupsListHubSchemasResponse, + SyncGroupsListLogsResponse, + SyncGroupsCancelSyncOptionalParams, + SyncGroupsTriggerSyncOptionalParams, + SyncGroupsGetOptionalParams, + SyncGroupsGetResponse, + SyncGroupsCreateOrUpdateOptionalParams, + SyncGroupsCreateOrUpdateResponse, + SyncGroupsDeleteOptionalParams, + SyncGroupsUpdateOptionalParams, + SyncGroupsUpdateResponse, + SyncGroupsListByDatabaseResponse, + SyncGroupsListSyncDatabaseIdsNextResponse, + SyncGroupsListHubSchemasNextResponse, + SyncGroupsListLogsNextResponse, + SyncGroupsListByDatabaseNextResponse +} from "../models"; -/** Class representing a SyncGroups. */ -export class SyncGroups { +/// +/** Class containing SyncGroups operations. */ +export class SyncGroupsImpl implements SyncGroups { private readonly client: SqlManagementClientContext; /** - * Create a SyncGroups. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class SyncGroups class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -30,446 +65,841 @@ export class SyncGroups { /** * Gets a collection of sync database ids. * @param locationName The name of the region where the resource is located. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listSyncDatabaseIds(locationName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param locationName The name of the region where the resource is located. - * @param callback The callback - */ - listSyncDatabaseIds(locationName: string, callback: msRest.ServiceCallback): void; - /** - * @param locationName The name of the region where the resource is located. - * @param options The optional parameters - * @param callback The callback - */ - listSyncDatabaseIds(locationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSyncDatabaseIds(locationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listSyncDatabaseIds( + locationName: string, + options?: SyncGroupsListSyncDatabaseIdsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listSyncDatabaseIdsPagingAll(locationName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listSyncDatabaseIdsPagingPage(locationName, options); + } + }; + } + + private async *listSyncDatabaseIdsPagingPage( + locationName: string, + options?: SyncGroupsListSyncDatabaseIdsOptionalParams + ): AsyncIterableIterator { + let result = await this._listSyncDatabaseIds(locationName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listSyncDatabaseIdsNext( locationName, + continuationToken, options - }, - listSyncDatabaseIdsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } } - /** - * Refreshes a hub database schema. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise - */ - refreshHubSchema(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginRefreshHubSchema(resourceGroupName,serverName,databaseName,syncGroupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + private async *listSyncDatabaseIdsPagingAll( + locationName: string, + options?: SyncGroupsListSyncDatabaseIdsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listSyncDatabaseIdsPagingPage( + locationName, + options + )) { + yield* page; + } } /** * Gets a collection of hub database schemas. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise - */ - listHubSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param callback The callback - */ - listHubSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listHubSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listHubSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listHubSchemas( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsListHubSchemasOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listHubSchemasPagingAll( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listHubSchemasPagingPage( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + ); + } + }; + } + + private async *listHubSchemasPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsListHubSchemasOptionalParams + ): AsyncIterableIterator { + let result = await this._listHubSchemas( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listHubSchemasNext( resourceGroupName, serverName, databaseName, syncGroupName, + continuationToken, options - }, - listHubSchemasOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listHubSchemasPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsListHubSchemasOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listHubSchemasPagingPage( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + )) { + yield* page; + } } /** * Gets a collection of sync group logs. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. * @param startTime Get logs generated after this time. * @param endTime Get logs generated before this time. - * @param type The types of logs to retrieve. Possible values include: 'All', 'Error', 'Warning', - * 'Success' - * @param [options] The optional parameters - * @returns Promise + * @param typeParam The types of logs to retrieve. + * @param options The options parameters. */ - listLogs(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, startTime: string, endTime: string, type: Models.Type, options?: Models.SyncGroupsListLogsOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param startTime Get logs generated after this time. - * @param endTime Get logs generated before this time. - * @param type The types of logs to retrieve. Possible values include: 'All', 'Error', 'Warning', - * 'Success' - * @param callback The callback - */ - listLogs(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, startTime: string, endTime: string, type: Models.Type, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param startTime Get logs generated after this time. - * @param endTime Get logs generated before this time. - * @param type The types of logs to retrieve. Possible values include: 'All', 'Error', 'Warning', - * 'Success' - * @param options The optional parameters - * @param callback The callback - */ - listLogs(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, startTime: string, endTime: string, type: Models.Type, options: Models.SyncGroupsListLogsOptionalParams, callback: msRest.ServiceCallback): void; - listLogs(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, startTime: string, endTime: string, type: Models.Type, options?: Models.SyncGroupsListLogsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listLogs( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + startTime: string, + endTime: string, + typeParam: Enum76, + options?: SyncGroupsListLogsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listLogsPagingAll( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + startTime, + endTime, + typeParam, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listLogsPagingPage( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + startTime, + endTime, + typeParam, + options + ); + } + }; + } + + private async *listLogsPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + startTime: string, + endTime: string, + typeParam: Enum76, + options?: SyncGroupsListLogsOptionalParams + ): AsyncIterableIterator { + let result = await this._listLogs( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + startTime, + endTime, + typeParam, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listLogsNext( resourceGroupName, serverName, databaseName, syncGroupName, startTime, endTime, - type, + continuationToken, + typeParam, options - }, - listLogsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listLogsPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + startTime: string, + endTime: string, + typeParam: Enum76, + options?: SyncGroupsListLogsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listLogsPagingPage( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + startTime, + endTime, + typeParam, + options + )) { + yield* page; + } } /** - * Cancels a sync group synchronization. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise - */ - cancelSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param callback The callback - */ - cancelSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists sync groups under a hub database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - cancelSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - cancelSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SyncGroupsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SyncGroupsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( resourceGroupName, serverName, databaseName, - syncGroupName, + continuationToken, options - }, - cancelSyncOperationSpec, - callback); + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SyncGroupsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } } /** - * Triggers a sync group synchronization. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise - */ - triggerSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param callback The callback + * Gets a collection of sync database ids. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. */ - triggerSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, callback: msRest.ServiceCallback): void; + private _listSyncDatabaseIds( + locationName: string, + options?: SyncGroupsListSyncDatabaseIdsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, options }, + listSyncDatabaseIdsOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Refreshes a hub database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - triggerSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - triggerSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - databaseName, - syncGroupName, - options - }, - triggerSyncOperationSpec, - callback); + async beginRefreshHubSchema( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsRefreshHubSchemaOptionalParams + ): 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, serverName, databaseName, syncGroupName, options }, + refreshHubSchemaOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a sync group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Refreshes a hub database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise; + async beginRefreshHubSchemaAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsRefreshHubSchemaOptionalParams + ): Promise { + const poller = await this.beginRefreshHubSchema( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a collection of hub database schemas. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, callback: msRest.ServiceCallback): void; + private _listHubSchemas( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsListHubSchemasOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, syncGroupName, options }, + listHubSchemasOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a collection of sync group logs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param options The optional parameters - * @param callback The callback + * @param startTime Get logs generated after this time. + * @param endTime Get logs generated before this time. + * @param typeParam The types of logs to retrieve. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listLogs( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + startTime: string, + endTime: string, + typeParam: Enum76, + options?: SyncGroupsListLogsOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, syncGroupName, + startTime, + endTime, + typeParam, options }, - getOperationSpec, - callback) as Promise; + listLogsOperationSpec + ); } /** - * Creates or updates a sync group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Cancels a sync group synchronization. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param parameters The requested sync group resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: Models.SyncGroup, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,databaseName,syncGroupName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + cancelSync( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsCancelSyncOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, syncGroupName, options }, + cancelSyncOperationSpec + ); } /** - * Deletes a sync group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Triggers a sync group synchronization. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,databaseName,syncGroupName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + triggerSync( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsTriggerSyncOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, syncGroupName, options }, + triggerSyncOperationSpec + ); } /** - * Updates a sync group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param parameters The requested sync group resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: Models.SyncGroup, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,databaseName,syncGroupName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, syncGroupName, options }, + getOperationSpec + ); } /** - * Lists sync groups under a hub database. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param callback The callback - */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. - * @param options The optional parameters - * @param callback The callback + * @param syncGroupName The name of the sync group. + * @param parameters The requested sync group resource state. + * @param options The options parameters. */ - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + parameters: SyncGroup, + options?: SyncGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncGroupsCreateOrUpdateResponse + > + > { + 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, serverName, databaseName, + syncGroupName, + parameters, options }, - listByDatabaseOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Refreshes a hub database schema. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The requested sync group resource state. + * @param options The options parameters. */ - beginRefreshHubSchema(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - syncGroupName, - options - }, - beginRefreshHubSchemaOperationSpec, - options); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + parameters: SyncGroup, + options?: SyncGroupsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Creates or updates a sync group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param parameters The requested sync group resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: Models.SyncGroup, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - syncGroupName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsDeleteOptionalParams + ): 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, serverName, databaseName, syncGroupName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Deletes a sync group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - syncGroupName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + ); + return poller.pollUntilDone(); } /** * Updates a sync group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group. * @param parameters The requested sync group resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: Models.SyncGroup, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + parameters: SyncGroup, + options?: SyncGroupsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncGroupsUpdateResponse + > + > { + 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, serverName, @@ -478,359 +908,368 @@ export class SyncGroups { parameters, options }, - beginUpdateOperationSpec, - options); + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a collection of sync database ids. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listSyncDatabaseIdsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Updates a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param parameters The requested sync group resource state. + * @param options The options parameters. */ - listSyncDatabaseIdsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + parameters: SyncGroup, + options?: SyncGroupsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Lists sync groups under a hub database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param options The options parameters. */ - listSyncDatabaseIdsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listSyncDatabaseIdsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SyncGroupsListByDatabaseOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listSyncDatabaseIdsNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); } /** - * Gets a collection of hub database schemas. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listHubSchemasNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListSyncDatabaseIdsNext + * @param locationName The name of the region where the resource is located. + * @param nextLink The nextLink from the previous successful call to the ListSyncDatabaseIds method. + * @param options The options parameters. */ - listHubSchemasNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listSyncDatabaseIdsNext( + locationName: string, + nextLink: string, + options?: SyncGroupsListSyncDatabaseIdsNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, nextLink, options }, + listSyncDatabaseIdsNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListHubSchemasNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param nextLink The nextLink from the previous successful call to the ListHubSchemas method. + * @param options The options parameters. */ - listHubSchemasNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listHubSchemasNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listHubSchemasNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + nextLink: string, + options?: SyncGroupsListHubSchemasNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + databaseName, + syncGroupName, + nextLink, options }, - listHubSchemasNextOperationSpec, - callback) as Promise; + listHubSchemasNextOperationSpec + ); } /** - * Gets a collection of sync group logs. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listLogsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listLogsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListLogsNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param startTime Get logs generated after this time. + * @param endTime Get logs generated before this time. + * @param nextLink The nextLink from the previous successful call to the ListLogs method. + * @param typeParam The types of logs to retrieve. + * @param options The options parameters. */ - listLogsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listLogsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listLogsNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + startTime: string, + endTime: string, + nextLink: string, + typeParam: Enum76, + options?: SyncGroupsListLogsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + databaseName, + syncGroupName, + startTime, + endTime, + nextLink, + typeParam, options }, - listLogsNextOperationSpec, - callback) as Promise; + listLogsNextOperationSpec + ); } /** - * Lists sync groups under a hub database. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDatabaseNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. */ - listByDatabaseNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByDatabaseNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: SyncGroupsListByDatabaseNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDatabaseNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listSyncDatabaseIdsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listSyncDatabaseIdsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds", - urlParameters: [ - Parameters.locationName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SyncDatabaseIdListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; - -const listHubSchemasOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas", +const refreshHubSchemaOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncGroupName ], + serializer +}; +const listHubSchemasOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncFullSchemaPropertiesListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listLogsOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.startTime, - Parameters.endTime, - Parameters.type, - Parameters.continuationToken, - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncGroupName ], + headerParameters: [Parameters.accept], + serializer +}; +const listLogsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncGroupLogListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const cancelSyncOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync", + queryParameters: [ + Parameters.apiVersion2, + Parameters.startTime1, + Parameters.endTime1, + Parameters.typeParam, + Parameters.continuationToken + ], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId + Parameters.syncGroupName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const triggerSyncOperationSpec: msRest.OperationSpec = { +const cancelSyncOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId + Parameters.syncGroupName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", +const triggerSyncOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync", + httpMethod: "POST", + responses: { 200: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncGroupName ], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncGroup }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByDatabaseOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncGroupName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SyncGroupListResult + bodyMapper: Mappers.SyncGroup }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.SyncGroup + }, + 202: { + bodyMapper: Mappers.SyncGroup + }, + 204: { + bodyMapper: Mappers.SyncGroup + }, + default: {} }, - serializer -}; - -const beginRefreshHubSchemaOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema", + requestBody: Parameters.parameters75, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId + Parameters.syncGroupName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 + Parameters.syncGroupName ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SyncGroup, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.SyncGroup @@ -838,156 +1277,136 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.SyncGroup }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.SyncGroup + }, + 204: { + bodyMapper: Mappers.SyncGroup + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", + requestBody: Parameters.parameters75, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId + Parameters.syncGroupName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.syncGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SyncGroup, - required: true - } - }, +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SyncGroup + bodyMapper: Mappers.SyncGroupListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], serializer }; - -const listSyncDatabaseIdsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listSyncDatabaseIdsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncDatabaseIdListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], serializer }; - -const listHubSchemasNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listHubSchemasNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncFullSchemaPropertiesListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.syncGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listLogsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listLogsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncGroupLogListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [ + Parameters.apiVersion2, + Parameters.startTime1, + Parameters.endTime1, + Parameters.typeParam, + Parameters.continuationToken + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.syncGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByDatabaseNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncGroupListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/syncMembers.ts b/sdk/sql/arm-sql/src/operations/syncMembers.ts index 76a574df56e0..e4f6a4bcb5fe 100644 --- a/sdk/sql/arm-sql/src/operations/syncMembers.ts +++ b/sdk/sql/arm-sql/src/operations/syncMembers.ts @@ -1,66 +1,261 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/syncMembersMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SyncMembers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + SyncMember, + SyncMembersListBySyncGroupNextOptionalParams, + SyncMembersListBySyncGroupOptionalParams, + SyncFullSchemaProperties, + SyncMembersListMemberSchemasNextOptionalParams, + SyncMembersListMemberSchemasOptionalParams, + SyncMembersGetOptionalParams, + SyncMembersGetResponse, + SyncMembersCreateOrUpdateOptionalParams, + SyncMembersCreateOrUpdateResponse, + SyncMembersDeleteOptionalParams, + SyncMembersUpdateOptionalParams, + SyncMembersUpdateResponse, + SyncMembersListBySyncGroupResponse, + SyncMembersListMemberSchemasResponse, + SyncMembersRefreshMemberSchemaOptionalParams, + SyncMembersListBySyncGroupNextResponse, + SyncMembersListMemberSchemasNextResponse +} from "../models"; -/** Class representing a SyncMembers. */ -export class SyncMembers { +/// +/** Class containing SyncMembers operations. */ +export class SyncMembersImpl implements SyncMembers { private readonly client: SqlManagementClientContext; /** - * Create a SyncMembers. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class SyncMembers class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a sync member. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists sync members in the given sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group on which the sync member is hosted. - * @param syncMemberName The name of the sync member. - * @param [options] The optional parameters - * @returns Promise + * @param syncGroupName The name of the sync group. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: msRest.RequestOptionsBase): Promise; + public listBySyncGroup( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncMembersListBySyncGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySyncGroupPagingAll( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySyncGroupPagingPage( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + ); + } + }; + } + + private async *listBySyncGroupPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncMembersListBySyncGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySyncGroup( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySyncGroupNext( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySyncGroupPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncMembersListBySyncGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySyncGroupPagingPage( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a sync member database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, callback: msRest.ServiceCallback): void; + public listMemberSchemas( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersListMemberSchemasOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listMemberSchemasPagingAll( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listMemberSchemasPagingPage( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + options + ); + } + }; + } + + private async *listMemberSchemasPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersListMemberSchemasOptionalParams + ): AsyncIterableIterator { + let result = await this._listMemberSchemas( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listMemberSchemasNext( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listMemberSchemasPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersListMemberSchemasOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listMemberSchemasPagingPage( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -70,206 +265,385 @@ export class SyncMembers { syncMemberName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * Creates or updates a sync member. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. * @param parameters The requested sync member resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: Models.SyncMember, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,databaseName,syncGroupName,syncMemberName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + parameters: SyncMember, + options?: SyncMembersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncMembersCreateOrUpdateResponse + > + > { + 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, + serverName, + databaseName, + syncGroupName, + syncMemberName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Deletes a sync member. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The requested sync member resource state. + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,databaseName,syncGroupName,syncMemberName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + parameters: SyncMember, + options?: SyncMembersCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Updates an existing sync member. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param parameters The requested sync member resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: Models.SyncMember, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,serverName,databaseName,syncGroupName,syncMemberName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersDeleteOptionalParams + ): 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() + } + }; + }; - /** - * Lists sync members in the given sync group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param [options] The optional parameters - * @returns Promise - */ - listBySyncGroup(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param callback The callback - */ - listBySyncGroup(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group. - * @param options The optional parameters - * @param callback The callback - */ - listBySyncGroup(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySyncGroup(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + const lro = new LroImpl( + sendOperation, { resourceGroupName, serverName, databaseName, syncGroupName, + syncMemberName, options }, - listBySyncGroupOperationSpec, - callback) as Promise; + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a sync member database schema. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group on which the sync member is hosted. - * @param syncMemberName The name of the sync member. - * @param [options] The optional parameters - * @returns Promise - */ - listMemberSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param callback The callback + * @param options The options parameters. */ - listMemberSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, callback: msRest.ServiceCallback): void; + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + options + ); + return poller.pollUntilDone(); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates an existing sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param options The optional parameters - * @param callback The callback + * @param parameters The requested sync member resource state. + * @param options The options parameters. */ - listMemberSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listMemberSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + parameters: SyncMember, + options?: SyncMembersUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncMembersUpdateResponse + > + > { + 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, serverName, databaseName, syncGroupName, syncMemberName, + parameters, options }, - listMemberSchemasOperationSpec, - callback) as Promise; + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Refreshes a sync member database schema. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Updates an existing sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The requested sync member resource state. + * @param options The options parameters. */ - refreshMemberSchema(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginRefreshMemberSchema(resourceGroupName,serverName,databaseName,syncGroupName,syncMemberName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + parameters: SyncMember, + options?: SyncMembersUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + parameters, + options + ); + return poller.pollUntilDone(); } /** - * Creates or updates a sync member. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Lists sync members in the given sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. - * @param syncGroupName The name of the sync group on which the sync member is hosted. - * @param syncMemberName The name of the sync member. - * @param parameters The requested sync member resource state. - * @param [options] The optional parameters - * @returns Promise + * @param syncGroupName The name of the sync group. + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: Models.SyncMember, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - syncGroupName, - syncMemberName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + private _listBySyncGroup( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncMembersListBySyncGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, syncGroupName, options }, + listBySyncGroupOperationSpec + ); } /** - * Deletes a sync member. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a sync member database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + private _listMemberSchemas( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersListMemberSchemasOptionalParams + ): Promise { + return this.client.sendOperationRequest( { resourceGroupName, serverName, @@ -278,228 +652,260 @@ export class SyncMembers { syncMemberName, options }, - beginDeleteMethodOperationSpec, - options); + listMemberSchemasOperationSpec + ); } /** - * Updates an existing sync member. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Refreshes a sync member database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param parameters The requested sync member resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: Models.SyncMember, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginRefreshMemberSchema( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersRefreshMemberSchemaOptionalParams + ): 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, serverName, databaseName, syncGroupName, syncMemberName, - parameters, options }, - beginUpdateOperationSpec, - options); + refreshMemberSchemaOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Refreshes a sync member database schema. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database on which the sync group is hosted. * @param syncGroupName The name of the sync group on which the sync member is hosted. * @param syncMemberName The name of the sync member. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginRefreshMemberSchema(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - databaseName, - syncGroupName, - syncMemberName, - options - }, - beginRefreshMemberSchemaOperationSpec, - options); + async beginRefreshMemberSchemaAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersRefreshMemberSchemaOptionalParams + ): Promise { + const poller = await this.beginRefreshMemberSchema( + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + options + ); + return poller.pollUntilDone(); } /** - * Lists sync members in the given sync group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listBySyncGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listBySyncGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListBySyncGroupNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param nextLink The nextLink from the previous successful call to the ListBySyncGroup method. + * @param options The options parameters. */ - listBySyncGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listBySyncGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listBySyncGroupNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + nextLink: string, + options?: SyncMembersListBySyncGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + databaseName, + syncGroupName, + nextLink, options }, - listBySyncGroupNextOperationSpec, - callback) as Promise; + listBySyncGroupNextOperationSpec + ); } /** - * Gets a sync member database schema. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listMemberSchemasNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listMemberSchemasNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListMemberSchemasNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param nextLink The nextLink from the previous successful call to the ListMemberSchemas method. + * @param options The options parameters. */ - listMemberSchemasNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listMemberSchemasNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listMemberSchemasNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + nextLink: string, + options?: SyncMembersListMemberSchemasNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + resourceGroupName, + serverName, + databaseName, + syncGroupName, + syncMemberName, + nextLink, options }, - listMemberSchemasNextOperationSpec, - callback) as Promise; + listMemberSchemasNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.syncGroupName, - Parameters.syncMemberName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.SyncMember }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listBySyncGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.syncGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncMemberName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.SyncMemberListResult + bodyMapper: Mappers.SyncMember }, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.SyncMember + }, + 202: { + bodyMapper: Mappers.SyncMember + }, + 204: { + bodyMapper: Mappers.SyncMember + }, + default: {} }, - serializer -}; - -const listMemberSchemasOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas", + requestBody: Parameters.parameters76, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.syncGroupName, - Parameters.syncMemberName, - Parameters.subscriptionId + Parameters.syncMemberName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.SyncFullSchemaPropertiesListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.syncGroupName, - Parameters.syncMemberName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncMemberName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SyncMember, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.SyncMember @@ -507,143 +913,133 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.SyncMember }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.SyncMember + }, + 204: { + bodyMapper: Mappers.SyncMember + }, + default: {} }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", + requestBody: Parameters.parameters76, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.syncGroupName, - Parameters.syncMemberName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 + Parameters.syncMemberName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", +const listBySyncGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SyncMemberListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, - Parameters.syncGroupName, - Parameters.syncMemberName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncGroupName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.SyncMember, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const listMemberSchemasOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.SyncMember + bodyMapper: Mappers.SyncFullSchemaPropertiesListResult }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.syncGroupName, + Parameters.syncMemberName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginRefreshMemberSchemaOperationSpec: msRest.OperationSpec = { +const refreshMemberSchemaOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.syncGroupName, - Parameters.syncMemberName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.syncMemberName ], - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listBySyncGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listBySyncGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncMemberListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.syncGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const listMemberSchemasNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listMemberSchemasNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SyncFullSchemaPropertiesListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.syncGroupName, + Parameters.syncMemberName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/tdeCertificates.ts b/sdk/sql/arm-sql/src/operations/tdeCertificates.ts index 0fef38e26455..4b1f5148baf6 100644 --- a/sdk/sql/arm-sql/src/operations/tdeCertificates.ts +++ b/sdk/sql/arm-sql/src/operations/tdeCertificates.ts @@ -1,27 +1,27 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/tdeCertificatesMappers"; +import { TdeCertificates } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { TdeCertificate, TdeCertificatesCreateOptionalParams } from "../models"; -/** Class representing a TdeCertificates. */ -export class TdeCertificates { +/** Class containing TdeCertificates operations. */ +export class TdeCertificatesImpl implements TdeCertificates { private readonly client: SqlManagementClientContext; /** - * Create a TdeCertificates. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class TdeCertificates class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,69 +29,108 @@ export class TdeCertificates { /** * Creates a TDE certificate for a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param parameters The requested TDE certificate to be created or updated. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(resourceGroupName: string, serverName: string, parameters: Models.TdeCertificate, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(resourceGroupName,serverName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreate( + resourceGroupName: string, + serverName: string, + parameters: TdeCertificate, + options?: TdeCertificatesCreateOptionalParams + ): 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, serverName, parameters, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates a TDE certificate for a given server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param parameters The requested TDE certificate to be created or updated. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreate(resourceGroupName: string, serverName: string, parameters: Models.TdeCertificate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - parameters, - options - }, - beginCreateOperationSpec, - options); + async beginCreateAndWait( + resourceGroupName: string, + serverName: string, + parameters: TdeCertificate, + options?: TdeCertificatesCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + resourceGroupName, + serverName, + parameters, + options + ); + return poller.pollUntilDone(); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const beginCreateOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/tdeCertificates", httpMethod: "POST", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/tdeCertificates", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + requestBody: Parameters.parameters59, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.serverName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion2 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.serverName ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.TdeCertificate, - required: true - } - }, - responses: { - 200: {}, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.contentType], + mediaType: "json", serializer }; diff --git a/sdk/sql/arm-sql/src/operations/timeZones.ts b/sdk/sql/arm-sql/src/operations/timeZones.ts new file mode 100644 index 000000000000..814a2d2c5ff5 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/timeZones.ts @@ -0,0 +1,201 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { TimeZones } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + TimeZone, + TimeZonesListByLocationNextOptionalParams, + TimeZonesListByLocationOptionalParams, + TimeZonesListByLocationResponse, + TimeZonesGetOptionalParams, + TimeZonesGetResponse, + TimeZonesListByLocationNextResponse +} from "../models"; + +/// +/** Class containing TimeZones operations. */ +export class TimeZonesImpl implements TimeZones { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class TimeZones class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets a list of managed instance time zones by location. + * @param locationName + * @param options The options parameters. + */ + public listByLocation( + locationName: string, + options?: TimeZonesListByLocationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByLocationPagingAll(locationName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByLocationPagingPage(locationName, options); + } + }; + } + + private async *listByLocationPagingPage( + locationName: string, + options?: TimeZonesListByLocationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByLocation(locationName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByLocationNext( + locationName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByLocationPagingAll( + locationName: string, + options?: TimeZonesListByLocationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByLocationPagingPage( + locationName, + options + )) { + yield* page; + } + } + + /** + * Gets a list of managed instance time zones by location. + * @param locationName + * @param options The options parameters. + */ + private _listByLocation( + locationName: string, + options?: TimeZonesListByLocationOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, options }, + listByLocationOperationSpec + ); + } + + /** + * Gets a managed instance time zone. + * @param locationName + * @param timeZoneId + * @param options The options parameters. + */ + get( + locationName: string, + timeZoneId: string, + options?: TimeZonesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, timeZoneId, options }, + getOperationSpec + ); + } + + /** + * ListByLocationNext + * @param locationName + * @param nextLink The nextLink from the previous successful call to the ListByLocation method. + * @param options The options parameters. + */ + private _listByLocationNext( + locationName: string, + nextLink: string, + options?: TimeZonesListByLocationNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { locationName, nextLink, options }, + listByLocationNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByLocationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/timeZones", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TimeZoneListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/timeZones/{timeZoneId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TimeZone + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.locationName, + Parameters.timeZoneId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByLocationNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TimeZoneListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.locationName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/transparentDataEncryptionActivities.ts b/sdk/sql/arm-sql/src/operations/transparentDataEncryptionActivities.ts index 35545b94cc76..5a43978834bb 100644 --- a/sdk/sql/arm-sql/src/operations/transparentDataEncryptionActivities.ts +++ b/sdk/sql/arm-sql/src/operations/transparentDataEncryptionActivities.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/transparentDataEncryptionActivitiesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { TransparentDataEncryptionActivities } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + TransparentDataEncryptionActivity, + TransparentDataEncryptionName, + TransparentDataEncryptionActivitiesListByConfigurationOptionalParams, + TransparentDataEncryptionActivitiesListByConfigurationResponse +} from "../models"; -/** Class representing a TransparentDataEncryptionActivities. */ -export class TransparentDataEncryptionActivities { +/// +/** Class containing TransparentDataEncryptionActivities operations. */ +export class TransparentDataEncryptionActivitiesImpl + implements TransparentDataEncryptionActivities { private readonly client: SqlManagementClientContext; /** - * Create a TransparentDataEncryptionActivities. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class TransparentDataEncryptionActivities class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,69 +36,130 @@ export class TransparentDataEncryptionActivities { /** * Returns a database's transparent data encryption operation result. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database for which the transparent data encryption applies. - * @param [options] The optional parameters - * @returns Promise + * @param transparentDataEncryptionName The name of the transparent data encryption configuration. + * @param options The options parameters. */ - listByConfiguration(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the transparent data encryption applies. - * @param callback The callback - */ - listByConfiguration(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; + public listByConfiguration( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + options?: TransparentDataEncryptionActivitiesListByConfigurationOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByConfigurationPagingAll( + resourceGroupName, + serverName, + databaseName, + transparentDataEncryptionName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByConfigurationPagingPage( + resourceGroupName, + serverName, + databaseName, + transparentDataEncryptionName, + options + ); + } + }; + } + + private async *listByConfigurationPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + options?: TransparentDataEncryptionActivitiesListByConfigurationOptionalParams + ): AsyncIterableIterator { + let result = await this._listByConfiguration( + resourceGroupName, + serverName, + databaseName, + transparentDataEncryptionName, + options + ); + yield result.value || []; + } + + private async *listByConfigurationPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + options?: TransparentDataEncryptionActivitiesListByConfigurationOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByConfigurationPagingPage( + resourceGroupName, + serverName, + databaseName, + transparentDataEncryptionName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Returns a database's transparent data encryption operation result. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database for which the transparent data encryption applies. - * @param options The optional parameters - * @param callback The callback + * @param transparentDataEncryptionName The name of the transparent data encryption configuration. + * @param options The options parameters. */ - listByConfiguration(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByConfiguration(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByConfiguration( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + options?: TransparentDataEncryptionActivitiesListByConfigurationOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + transparentDataEncryptionName, options }, - listByConfigurationOperationSpec, - callback) as Promise; + listByConfigurationOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByConfigurationOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByConfigurationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults", + responses: { + 200: { + bodyMapper: Mappers.TransparentDataEncryptionActivityListResult + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.transparentDataEncryptionName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.TransparentDataEncryptionActivityListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/transparentDataEncryptions.ts b/sdk/sql/arm-sql/src/operations/transparentDataEncryptions.ts index 29f3d63bbf1b..b97baee83579 100644 --- a/sdk/sql/arm-sql/src/operations/transparentDataEncryptions.ts +++ b/sdk/sql/arm-sql/src/operations/transparentDataEncryptions.ts @@ -1,26 +1,33 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/transparentDataEncryptionsMappers"; +import { TransparentDataEncryptions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + TransparentDataEncryption, + TransparentDataEncryptionName, + TransparentDataEncryptionsCreateOrUpdateOptionalParams, + TransparentDataEncryptionsCreateOrUpdateResponse, + TransparentDataEncryptionsGetOptionalParams, + TransparentDataEncryptionsGetResponse +} from "../models"; -/** Class representing a TransparentDataEncryptions. */ -export class TransparentDataEncryptions { +/** Class containing TransparentDataEncryptions operations. */ +export class TransparentDataEncryptionsImpl + implements TransparentDataEncryptions { private readonly client: SqlManagementClientContext; /** - * Create a TransparentDataEncryptions. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class TransparentDataEncryptions class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,152 +35,111 @@ export class TransparentDataEncryptions { /** * Creates or updates a database's transparent data encryption configuration. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database for which setting the transparent data encryption - * applies. + * applies. + * @param transparentDataEncryptionName The name of the transparent data encryption configuration. * @param parameters The required parameters for creating or updating transparent data encryption. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.TransparentDataEncryption, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which setting the transparent data encryption - * applies. - * @param parameters The required parameters for creating or updating transparent data encryption. - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.TransparentDataEncryption, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which setting the transparent data encryption - * applies. - * @param parameters The required parameters for creating or updating transparent data encryption. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.TransparentDataEncryption, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Models.TransparentDataEncryption, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + parameters: TransparentDataEncryption, + options?: TransparentDataEncryptionsCreateOrUpdateOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + transparentDataEncryptionName, parameters, options }, - createOrUpdateOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); } /** * Gets a database's transparent data encryption configuration. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param databaseName The name of the database for which the transparent data encryption applies. - * @param [options] The optional parameters - * @returns Promise + * @param transparentDataEncryptionName The name of the transparent data encryption configuration. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the transparent data encryption applies. - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param databaseName The name of the database for which the transparent data encryption applies. - * @param options The optional parameters - * @param callback The callback - */ - get(resourceGroupName: string, serverName: string, databaseName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, databaseName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + options?: TransparentDataEncryptionsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { resourceGroupName, serverName, databaseName, + transparentDataEncryptionName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const createOrUpdateOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", - urlParameters: [ - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.databaseName, - Parameters.transparentDataEncryptionName - ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.TransparentDataEncryption, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.TransparentDataEncryption }, 201: { bodyMapper: Mappers.TransparentDataEncryption - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", + requestBody: Parameters.parameters13, + queryParameters: [Parameters.apiVersion], urlParameters: [ + Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, Parameters.databaseName, Parameters.transparentDataEncryptionName ], - queryParameters: [ - Parameters.apiVersion0 - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TransparentDataEncryption - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.transparentDataEncryptionName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/usages.ts b/sdk/sql/arm-sql/src/operations/usages.ts index fc08d9576ea3..60d1b1458827 100644 --- a/sdk/sql/arm-sql/src/operations/usages.ts +++ b/sdk/sql/arm-sql/src/operations/usages.ts @@ -1,26 +1,34 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/usagesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Usages } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { + Usage, + UsagesListByInstancePoolNextOptionalParams, + UsagesListByInstancePoolOptionalParams, + UsagesListByInstancePoolResponse, + UsagesListByInstancePoolNextResponse +} from "../models"; -/** Class representing a Usages. */ -export class Usages { +/// +/** Class containing Usages operations. */ +export class UsagesImpl implements Usages { private readonly client: SqlManagementClientContext; /** - * Create a Usages. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Usages class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -28,113 +36,154 @@ export class Usages { /** * Gets all instance pool usage metrics - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param instancePoolName The name of the instance pool to be retrieved. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByInstancePool(resourceGroupName: string, instancePoolName: string, options?: Models.UsagesListByInstancePoolOptionalParams): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The name of the instance pool to be retrieved. - * @param callback The callback - */ - listByInstancePool(resourceGroupName: string, instancePoolName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param instancePoolName The name of the instance pool to be retrieved. - * @param options The optional parameters - * @param callback The callback - */ - listByInstancePool(resourceGroupName: string, instancePoolName: string, options: Models.UsagesListByInstancePoolOptionalParams, callback: msRest.ServiceCallback): void; - listByInstancePool(resourceGroupName: string, instancePoolName: string, options?: Models.UsagesListByInstancePoolOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByInstancePool( + resourceGroupName: string, + instancePoolName: string, + options?: UsagesListByInstancePoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByInstancePoolPagingAll( + resourceGroupName, + instancePoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByInstancePoolPagingPage( + resourceGroupName, + instancePoolName, + options + ); + } + }; + } + + private async *listByInstancePoolPagingPage( + resourceGroupName: string, + instancePoolName: string, + options?: UsagesListByInstancePoolOptionalParams + ): AsyncIterableIterator { + let result = await this._listByInstancePool( + resourceGroupName, + instancePoolName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByInstancePoolNext( resourceGroupName, instancePoolName, + continuationToken, options - }, - listByInstancePoolOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByInstancePoolPagingAll( + resourceGroupName: string, + instancePoolName: string, + options?: UsagesListByInstancePoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByInstancePoolPagingPage( + resourceGroupName, + instancePoolName, + options + )) { + yield* page; + } } /** * Gets all instance pool usage metrics - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByInstancePoolNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be retrieved. + * @param options The options parameters. */ - listByInstancePoolNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByInstancePool( + resourceGroupName: string, + instancePoolName: string, + options?: UsagesListByInstancePoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, instancePoolName, options }, + listByInstancePoolOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByInstancePoolNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be retrieved. + * @param nextLink The nextLink from the previous successful call to the ListByInstancePool method. + * @param options The options parameters. */ - listByInstancePoolNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByInstancePoolNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByInstancePoolNext( + resourceGroupName: string, + instancePoolName: string, + nextLink: string, + options?: UsagesListByInstancePoolNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByInstancePoolNextOperationSpec, - callback) as Promise; + { resourceGroupName, instancePoolName, nextLink, options }, + listByInstancePoolNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByInstancePoolOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByInstancePoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/usages", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/usages", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.instancePoolName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.expandChildren, - Parameters.apiVersion3 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.UsageListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1, Parameters.expandChildren], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.instancePoolName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByInstancePoolNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByInstancePoolNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.UsageListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion1, Parameters.expandChildren], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink, + Parameters.instancePoolName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/virtualClusters.ts b/sdk/sql/arm-sql/src/operations/virtualClusters.ts index 8099f722f86f..31196bd1cc43 100644 --- a/sdk/sql/arm-sql/src/operations/virtualClusters.ts +++ b/sdk/sql/arm-sql/src/operations/virtualClusters.ts @@ -1,27 +1,48 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/virtualClustersMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { VirtualClusters } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VirtualCluster, + VirtualClustersListNextOptionalParams, + VirtualClustersListOptionalParams, + VirtualClustersListByResourceGroupNextOptionalParams, + VirtualClustersListByResourceGroupOptionalParams, + VirtualClustersUpdateDnsServersOptionalParams, + VirtualClustersUpdateDnsServersResponse, + VirtualClustersListResponse, + VirtualClustersListByResourceGroupResponse, + VirtualClustersGetOptionalParams, + VirtualClustersGetResponse, + VirtualClustersDeleteOptionalParams, + VirtualClusterUpdate, + VirtualClustersUpdateOptionalParams, + VirtualClustersUpdateResponse, + VirtualClustersListNextResponse, + VirtualClustersListByResourceGroupNextResponse +} from "../models"; -/** Class representing a VirtualClusters. */ -export class VirtualClusters { +/// +/** Class containing VirtualClusters operations. */ +export class VirtualClustersImpl implements VirtualClusters { private readonly client: SqlManagementClientContext; /** - * Create a VirtualClusters. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class VirtualClusters class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; @@ -29,388 +50,525 @@ export class VirtualClusters { /** * Gets a list of all virtualClusters in the subscription. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: VirtualClustersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: VirtualClustersListOptionalParams + ): 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?: VirtualClustersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Gets a list of virtual clusters in a resource group. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param callback The callback + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. */ - listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByResourceGroup( + resourceGroupName: string, + options?: VirtualClustersListByResourceGroupOptionalParams + ): 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?: VirtualClustersListByResourceGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByResourceGroup(resourceGroupName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByResourceGroupNext( resourceGroupName, + continuationToken, options - }, - listByResourceGroupOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: VirtualClustersListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } } /** - * Gets a virtual cluster. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Synchronizes the DNS server settings used by the managed instances inside the given virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param virtualClusterName The name of the virtual cluster. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, virtualClusterName: string, options?: msRest.RequestOptionsBase): Promise; + updateDnsServers( + resourceGroupName: string, + virtualClusterName: string, + options?: VirtualClustersUpdateDnsServersOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualClusterName, options }, + updateDnsServersOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param virtualClusterName The name of the virtual cluster. - * @param callback The callback + * Gets a list of all virtualClusters in the subscription. + * @param options The options parameters. */ - get(resourceGroupName: string, virtualClusterName: string, callback: msRest.ServiceCallback): void; + private _list( + options?: VirtualClustersListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param virtualClusterName The name of the virtual cluster. - * @param options The optional parameters - * @param callback The callback + * Gets a list of virtual clusters in a resource group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. */ - get(resourceGroupName: string, virtualClusterName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, virtualClusterName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroup( + resourceGroupName: string, + options?: VirtualClustersListByResourceGroupOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - resourceGroupName, - virtualClusterName, - options - }, - getOperationSpec, - callback) as Promise; + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); } /** - * Deletes a virtual cluster. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param virtualClusterName The name of the virtual cluster. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, virtualClusterName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,virtualClusterName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + get( + resourceGroupName: string, + virtualClusterName: string, + options?: VirtualClustersGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualClusterName, options }, + getOperationSpec + ); } /** - * Updates a virtual cluster. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes a virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param virtualClusterName The name of the virtual cluster. - * @param parameters The requested managed instance resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(resourceGroupName: string, virtualClusterName: string, parameters: Models.VirtualClusterUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(resourceGroupName,virtualClusterName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginDelete( + resourceGroupName: string, + virtualClusterName: string, + options?: VirtualClustersDeleteOptionalParams + ): 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, virtualClusterName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Deletes a virtual cluster. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param virtualClusterName The name of the virtual cluster. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, virtualClusterName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - virtualClusterName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + virtualClusterName: string, + options?: VirtualClustersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + virtualClusterName, + options + ); + return poller.pollUntilDone(); } /** * Updates a virtual cluster. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param virtualClusterName The name of the virtual cluster. - * @param parameters The requested managed instance resource state. - * @param [options] The optional parameters - * @returns Promise + * @param parameters The requested virtual cluster resource state. + * @param options The options parameters. */ - beginUpdate(resourceGroupName: string, virtualClusterName: string, parameters: Models.VirtualClusterUpdate, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - virtualClusterName, - parameters, - options - }, - beginUpdateOperationSpec, - options); + async beginUpdate( + resourceGroupName: string, + virtualClusterName: string, + parameters: VirtualClusterUpdate, + options?: VirtualClustersUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualClustersUpdateResponse + > + > { + 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, virtualClusterName, parameters, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets a list of all virtualClusters in the subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Updates a virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param virtualClusterName The name of the virtual cluster. + * @param parameters The requested virtual cluster resource state. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginUpdateAndWait( + resourceGroupName: string, + virtualClusterName: string, + parameters: VirtualClusterUpdate, + options?: VirtualClustersUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + virtualClusterName, + parameters, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: VirtualClustersListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } /** - * Gets a list of virtual clusters in a resource group. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByResourceGroupNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. */ - listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: VirtualClustersListByResourceGroupNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNextOperationSpec, - callback) as Promise; + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Sql/virtualClusters", +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const updateDnsServersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}/updateManagedInstanceDnsServers", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.UpdateManagedInstanceDnsServersOperation + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.virtualClusterName ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/virtualClusters", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VirtualClusterListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupOperationSpec: msRest.OperationSpec = { +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.VirtualClusterListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], serializer }; - -const getOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.virtualClusterName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.VirtualCluster }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.virtualClusterName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, - Parameters.virtualClusterName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.virtualClusterName ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}", httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/virtualClusters/{virtualClusterName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.virtualClusterName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.VirtualClusterUpdate, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.VirtualCluster }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 201: { + bodyMapper: Mappers.VirtualCluster + }, + 202: { + bodyMapper: Mappers.VirtualCluster + }, + 204: { + bodyMapper: Mappers.VirtualCluster + }, + default: {} }, + requestBody: Parameters.parameters77, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.virtualClusterName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VirtualClusterListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; - -const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VirtualClusterListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/virtualNetworkRules.ts b/sdk/sql/arm-sql/src/operations/virtualNetworkRules.ts index bc25e2b3fb62..91a841e5bafb 100644 --- a/sdk/sql/arm-sql/src/operations/virtualNetworkRules.ts +++ b/sdk/sql/arm-sql/src/operations/virtualNetworkRules.ts @@ -1,283 +1,394 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/virtualNetworkRulesMappers"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { VirtualNetworkRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VirtualNetworkRule, + VirtualNetworkRulesListByServerNextOptionalParams, + VirtualNetworkRulesListByServerOptionalParams, + VirtualNetworkRulesGetOptionalParams, + VirtualNetworkRulesGetResponse, + VirtualNetworkRulesCreateOrUpdateOptionalParams, + VirtualNetworkRulesCreateOrUpdateResponse, + VirtualNetworkRulesDeleteOptionalParams, + VirtualNetworkRulesListByServerResponse, + VirtualNetworkRulesListByServerNextResponse +} from "../models"; -/** Class representing a VirtualNetworkRules. */ -export class VirtualNetworkRules { +/// +/** Class containing VirtualNetworkRules operations. */ +export class VirtualNetworkRulesImpl implements VirtualNetworkRules { private readonly client: SqlManagementClientContext; /** - * Create a VirtualNetworkRules. - * @param {SqlManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class VirtualNetworkRules class. + * @param client Reference to the service client */ constructor(client: SqlManagementClientContext) { this.client = client; } /** - * Gets a virtual network rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of virtual network rules in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param virtualNetworkRuleName The name of the virtual network rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: msRest.RequestOptionsBase): Promise; + public listByServer( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByServerPagingAll( + resourceGroupName, + serverName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByServerPagingPage( + resourceGroupName, + serverName, + options + ); + } + }; + } + + private async *listByServerPagingPage( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): AsyncIterableIterator { + let result = await this._listByServer( + resourceGroupName, + serverName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByServerNext( + resourceGroupName, + serverName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByServerPagingAll( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByServerPagingPage( + resourceGroupName, + serverName, + options + )) { + yield* page; + } + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a virtual network rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. - * @param callback The callback + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, callback: msRest.ServiceCallback): void; + get( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, virtualNetworkRuleName, options }, + getOperationSpec + ); + } + /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Creates or updates an existing virtual network rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. - * @param options The optional parameters - * @param callback The callback + * @param parameters The requested virtual Network Rule Resource state. + * @param options The options parameters. */ - get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: VirtualNetworkRulesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworkRulesCreateOrUpdateResponse + > + > { + 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, serverName, virtualNetworkRuleName, + parameters, options }, - getOperationSpec, - callback) as Promise; + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Creates or updates an existing virtual network rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. * @param parameters The requested virtual Network Rule Resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - createOrUpdate(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: Models.VirtualNetworkRule, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreateOrUpdate(resourceGroupName,serverName,virtualNetworkRuleName,parameters,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: VirtualNetworkRulesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + virtualNetworkRuleName, + parameters, + options + ); + return poller.pollUntilDone(); } /** * Deletes the virtual network rule with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(resourceGroupName,serverName,virtualNetworkRuleName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginDelete( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesDeleteOptionalParams + ): 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() + } + }; + }; - /** - * Gets a list of virtual network rules in a server. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param [options] The optional parameters - * @returns Promise - */ - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, callback: msRest.ServiceCallback): void; - /** - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. - * @param serverName The name of the server. - * @param options The optional parameters - * @param callback The callback - */ - listByServer(resourceGroupName: string, serverName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServer(resourceGroupName: string, serverName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - serverName, - options - }, - listByServerOperationSpec, - callback) as Promise; + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serverName, virtualNetworkRuleName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Creates or updates an existing virtual network rule. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Deletes the virtual network rule with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. * @param virtualNetworkRuleName The name of the virtual network rule. - * @param parameters The requested virtual Network Rule Resource state. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreateOrUpdate(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: Models.VirtualNetworkRule, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - virtualNetworkRuleName, - parameters, - options - }, - beginCreateOrUpdateOperationSpec, - options); + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + virtualNetworkRuleName, + options + ); + return poller.pollUntilDone(); } /** - * Deletes the virtual network rule with the given name. - * @param resourceGroupName The name of the resource group that contains the resource. You can - * obtain this value from the Azure Resource Manager API or the portal. + * Gets a list of virtual network rules in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. * @param serverName The name of the server. - * @param virtualNetworkRuleName The name of the virtual network rule. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - resourceGroupName, - serverName, - virtualNetworkRuleName, - options - }, - beginDeleteMethodOperationSpec, - options); + private _listByServer( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, options }, + listByServerOperationSpec + ); } /** - * Gets a list of virtual network rules in a server. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByServerNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByServerNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param nextLink The nextLink from the previous successful call to the ListByServer method. + * @param options The options parameters. */ - listByServerNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByServerNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByServerNext( + resourceGroupName: string, + serverName: string, + nextLink: string, + options?: VirtualNetworkRulesListByServerNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByServerNextOperationSpec, - callback) as Promise; + { resourceGroupName, serverName, nextLink, options }, + listByServerNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.virtualNetworkRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.VirtualNetworkRule }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, - serializer -}; - -const listByServerOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules", + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.subscriptionId + Parameters.virtualNetworkRuleName ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.VirtualNetworkRuleListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.serverName, - Parameters.virtualNetworkRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.VirtualNetworkRule, - required: true - } - }, responses: { 200: { bodyMapper: Mappers.VirtualNetworkRule @@ -285,57 +396,79 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { 201: { bodyMapper: Mappers.VirtualNetworkRule }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } + 202: { + bodyMapper: Mappers.VirtualNetworkRule + }, + 204: { + bodyMapper: Mappers.VirtualNetworkRule + }, + default: {} }, + requestBody: Parameters.parameters78, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.virtualNetworkRuleName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.serverName, - Parameters.virtualNetworkRuleName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion1 + Parameters.virtualNetworkRuleName ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const listByServerNextOperationSpec: msRest.OperationSpec = { +const listByServerOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules", httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkRuleListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName ], + headerParameters: [Parameters.accept], + serializer +}; +const listByServerNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VirtualNetworkRuleListResult }, - default: { - bodyMapper: Mappers.CloudError - } + default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/sql/arm-sql/src/operations/workloadClassifiers.ts b/sdk/sql/arm-sql/src/operations/workloadClassifiers.ts new file mode 100644 index 000000000000..61ce0406b649 --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/workloadClassifiers.ts @@ -0,0 +1,563 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { WorkloadClassifiers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + WorkloadClassifier, + WorkloadClassifiersListByWorkloadGroupNextOptionalParams, + WorkloadClassifiersListByWorkloadGroupOptionalParams, + WorkloadClassifiersGetOptionalParams, + WorkloadClassifiersGetResponse, + WorkloadClassifiersCreateOrUpdateOptionalParams, + WorkloadClassifiersCreateOrUpdateResponse, + WorkloadClassifiersDeleteOptionalParams, + WorkloadClassifiersListByWorkloadGroupResponse, + WorkloadClassifiersListByWorkloadGroupNextResponse +} from "../models"; + +/// +/** Class containing WorkloadClassifiers operations. */ +export class WorkloadClassifiersImpl implements WorkloadClassifiers { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class WorkloadClassifiers class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets the list of workload classifiers for a workload group + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifiers from. + * @param options The options parameters. + */ + public listByWorkloadGroup( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadClassifiersListByWorkloadGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByWorkloadGroupPagingAll( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByWorkloadGroupPagingPage( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + options + ); + } + }; + } + + private async *listByWorkloadGroupPagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadClassifiersListByWorkloadGroupOptionalParams + ): AsyncIterableIterator { + let result = await this._listByWorkloadGroup( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByWorkloadGroupNext( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByWorkloadGroupPagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadClassifiersListByWorkloadGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByWorkloadGroupPagingPage( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + options + )) { + yield* page; + } + } + + /** + * Gets a workload classifier + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + options?: WorkloadClassifiersGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + workloadClassifierName, + options + }, + getOperationSpec + ); + } + + /** + * Creates or updates a workload classifier. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier to create/update. + * @param parameters The properties of the workload classifier. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + parameters: WorkloadClassifier, + options?: WorkloadClassifiersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WorkloadClassifiersCreateOrUpdateResponse + > + > { + 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, + serverName, + databaseName, + workloadGroupName, + workloadClassifierName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a workload classifier. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier to create/update. + * @param parameters The properties of the workload classifier. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + parameters: WorkloadClassifier, + options?: WorkloadClassifiersCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + workloadClassifierName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a workload classifier. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier to delete. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + options?: WorkloadClassifiersDeleteOptionalParams + ): 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, + serverName, + databaseName, + workloadGroupName, + workloadClassifierName, + options + }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a workload classifier. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier to delete. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + options?: WorkloadClassifiersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + workloadClassifierName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets the list of workload classifiers for a workload group + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifiers from. + * @param options The options parameters. + */ + private _listByWorkloadGroup( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadClassifiersListByWorkloadGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + options + }, + listByWorkloadGroupOperationSpec + ); + } + + /** + * ListByWorkloadGroupNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifiers from. + * @param nextLink The nextLink from the previous successful call to the ListByWorkloadGroup method. + * @param options The options parameters. + */ + private _listByWorkloadGroupNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + nextLink: string, + options?: WorkloadClassifiersListByWorkloadGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + nextLink, + options + }, + listByWorkloadGroupNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}/workloadClassifiers/{workloadClassifierName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WorkloadClassifier + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.workloadGroupName, + Parameters.workloadClassifierName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}/workloadClassifiers/{workloadClassifierName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.WorkloadClassifier + }, + 201: { + bodyMapper: Mappers.WorkloadClassifier + }, + 202: { + bodyMapper: Mappers.WorkloadClassifier + }, + 204: { + bodyMapper: Mappers.WorkloadClassifier + }, + default: {} + }, + requestBody: Parameters.parameters79, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.workloadGroupName, + Parameters.workloadClassifierName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}/workloadClassifiers/{workloadClassifierName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.workloadGroupName, + Parameters.workloadClassifierName + ], + serializer +}; +const listByWorkloadGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}/workloadClassifiers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WorkloadClassifierListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.workloadGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByWorkloadGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WorkloadClassifierListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink, + Parameters.workloadGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operations/workloadGroups.ts b/sdk/sql/arm-sql/src/operations/workloadGroups.ts new file mode 100644 index 000000000000..b815b25bb80d --- /dev/null +++ b/sdk/sql/arm-sql/src/operations/workloadGroups.ts @@ -0,0 +1,517 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { WorkloadGroups } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SqlManagementClientContext } from "../sqlManagementClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + WorkloadGroup, + WorkloadGroupsListByDatabaseNextOptionalParams, + WorkloadGroupsListByDatabaseOptionalParams, + WorkloadGroupsGetOptionalParams, + WorkloadGroupsGetResponse, + WorkloadGroupsCreateOrUpdateOptionalParams, + WorkloadGroupsCreateOrUpdateResponse, + WorkloadGroupsDeleteOptionalParams, + WorkloadGroupsListByDatabaseResponse, + WorkloadGroupsListByDatabaseNextResponse +} from "../models"; + +/// +/** Class containing WorkloadGroups operations. */ +export class WorkloadGroupsImpl implements WorkloadGroups { + private readonly client: SqlManagementClientContext; + + /** + * Initialize a new instance of the class WorkloadGroups class. + * @param client Reference to the service client + */ + constructor(client: SqlManagementClientContext) { + this.client = client; + } + + /** + * Gets the list of workload groups + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + public listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: WorkloadGroupsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByDatabasePagingAll( + resourceGroupName, + serverName, + databaseName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + ); + } + }; + } + + private async *listByDatabasePagingPage( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: WorkloadGroupsListByDatabaseOptionalParams + ): AsyncIterableIterator { + let result = await this._listByDatabase( + resourceGroupName, + serverName, + databaseName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByDatabaseNext( + resourceGroupName, + serverName, + databaseName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByDatabasePagingAll( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: WorkloadGroupsListByDatabaseOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByDatabasePagingPage( + resourceGroupName, + serverName, + databaseName, + options + )) { + yield* page; + } + } + + /** + * Gets a workload group + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadGroupsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + options + }, + getOperationSpec + ); + } + + /** + * Creates or updates a workload group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group. + * @param parameters The requested workload group state. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + parameters: WorkloadGroup, + options?: WorkloadGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WorkloadGroupsCreateOrUpdateResponse + > + > { + 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, + serverName, + databaseName, + workloadGroupName, + parameters, + options + }, + createOrUpdateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a workload group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group. + * @param parameters The requested workload group state. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + parameters: WorkloadGroup, + options?: WorkloadGroupsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a workload group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group to delete. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadGroupsDeleteOptionalParams + ): 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, + serverName, + databaseName, + workloadGroupName, + options + }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a workload group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group to delete. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadGroupsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serverName, + databaseName, + workloadGroupName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets the list of workload groups + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + private _listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: WorkloadGroupsListByDatabaseOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, options }, + listByDatabaseOperationSpec + ); + } + + /** + * ListByDatabaseNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param nextLink The nextLink from the previous successful call to the ListByDatabase method. + * @param options The options parameters. + */ + private _listByDatabaseNext( + resourceGroupName: string, + serverName: string, + databaseName: string, + nextLink: string, + options?: WorkloadGroupsListByDatabaseNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serverName, databaseName, nextLink, options }, + listByDatabaseNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WorkloadGroup + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.workloadGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.WorkloadGroup + }, + 201: { + bodyMapper: Mappers.WorkloadGroup + }, + 202: { + bodyMapper: Mappers.WorkloadGroup + }, + 204: { + bodyMapper: Mappers.WorkloadGroup + }, + default: {} + }, + requestBody: Parameters.parameters80, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.workloadGroupName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups/{workloadGroupName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.workloadGroupName + ], + serializer +}; +const listByDatabaseOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/workloadGroups", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WorkloadGroupListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByDatabaseNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.WorkloadGroupListResult + }, + default: {} + }, + queryParameters: [Parameters.apiVersion2], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serverName, + Parameters.databaseName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/backupShortTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/backupShortTermRetentionPolicies.ts new file mode 100644 index 000000000000..98bbe9707397 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/backupShortTermRetentionPolicies.ts @@ -0,0 +1,141 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + BackupShortTermRetentionPolicy, + BackupShortTermRetentionPoliciesListByDatabaseOptionalParams, + ShortTermRetentionPolicyName, + BackupShortTermRetentionPoliciesGetOptionalParams, + BackupShortTermRetentionPoliciesGetResponse, + BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams, + BackupShortTermRetentionPoliciesCreateOrUpdateResponse, + BackupShortTermRetentionPoliciesUpdateOptionalParams, + BackupShortTermRetentionPoliciesUpdateResponse +} from "../models"; + +/// +/** Interface representing a BackupShortTermRetentionPolicies. */ +export interface BackupShortTermRetentionPolicies { + /** + * Gets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: BackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + options?: BackupShortTermRetentionPoliciesGetOptionalParams + ): Promise; + /** + * Updates a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + parameters: BackupShortTermRetentionPolicy, + options?: BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + BackupShortTermRetentionPoliciesCreateOrUpdateResponse + >, + BackupShortTermRetentionPoliciesCreateOrUpdateResponse + > + >; + /** + * Updates a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + parameters: BackupShortTermRetentionPolicy, + options?: BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + parameters: BackupShortTermRetentionPolicy, + options?: BackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + BackupShortTermRetentionPoliciesUpdateResponse + > + >; + /** + * Updates a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: ShortTermRetentionPolicyName, + parameters: BackupShortTermRetentionPolicy, + options?: BackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/capabilities.ts b/sdk/sql/arm-sql/src/operationsInterfaces/capabilities.ts new file mode 100644 index 000000000000..d99d555e8db4 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/capabilities.ts @@ -0,0 +1,25 @@ +/* + * 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 { + CapabilitiesListByLocationOptionalParams, + CapabilitiesListByLocationResponse +} from "../models"; + +/** Interface representing a Capabilities. */ +export interface Capabilities { + /** + * Gets the subscription capabilities available for the specified location. + * @param locationName The location name whose capabilities are retrieved. + * @param options The options parameters. + */ + listByLocation( + locationName: string, + options?: CapabilitiesListByLocationOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/dataMaskingPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/dataMaskingPolicies.ts new file mode 100644 index 000000000000..c2869cb72d2c --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/dataMaskingPolicies.ts @@ -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. + */ + +import { + DataMaskingPolicy, + DataMaskingPoliciesCreateOrUpdateOptionalParams, + DataMaskingPoliciesCreateOrUpdateResponse, + DataMaskingPoliciesGetOptionalParams, + DataMaskingPoliciesGetResponse +} from "../models"; + +/** Interface representing a DataMaskingPolicies. */ +export interface DataMaskingPolicies { + /** + * Creates or updates a database data masking policy + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters Parameters for creating or updating a data masking policy. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DataMaskingPolicy, + options?: DataMaskingPoliciesCreateOrUpdateOptionalParams + ): Promise; + /** + * Gets a database data masking policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataMaskingPoliciesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/dataMaskingRules.ts b/sdk/sql/arm-sql/src/operationsInterfaces/dataMaskingRules.ts new file mode 100644 index 000000000000..c3c0621d7e99 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/dataMaskingRules.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DataMaskingRule, + DataMaskingRulesListByDatabaseOptionalParams, + DataMaskingRulesCreateOrUpdateOptionalParams, + DataMaskingRulesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a DataMaskingRules. */ +export interface DataMaskingRules { + /** + * Gets a list of database data masking rules. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataMaskingRulesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a database data masking rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param dataMaskingRuleName The name of the data masking rule. + * @param parameters The required parameters for creating or updating a data masking rule. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + dataMaskingRuleName: string, + parameters: DataMaskingRule, + options?: DataMaskingRulesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/dataWarehouseUserActivitiesOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/dataWarehouseUserActivitiesOperations.ts new file mode 100644 index 000000000000..97a590a29320 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/dataWarehouseUserActivitiesOperations.ts @@ -0,0 +1,52 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DataWarehouseUserActivities, + DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams, + DataWarehouseUserActivityName, + DataWarehouseUserActivitiesOperationsGetOptionalParams, + DataWarehouseUserActivitiesOperationsGetResponse +} from "../models"; + +/// +/** Interface representing a DataWarehouseUserActivitiesOperations. */ +export interface DataWarehouseUserActivitiesOperations { + /** + * List the user activities of a data warehouse which includes running and suspended queries + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DataWarehouseUserActivitiesOperationsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the user activities of a data warehouse which includes running and suspended queries + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param dataWarehouseUserActivityName The activity name of the data warehouse. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + dataWarehouseUserActivityName: DataWarehouseUserActivityName, + options?: DataWarehouseUserActivitiesOperationsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseAdvisors.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseAdvisors.ts new file mode 100644 index 000000000000..c8dd7c4097bf --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseAdvisors.ts @@ -0,0 +1,69 @@ +/* + * 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 { + DatabaseAdvisorsListByDatabaseOptionalParams, + DatabaseAdvisorsListByDatabaseResponse, + DatabaseAdvisorsGetOptionalParams, + DatabaseAdvisorsGetResponse, + Advisor, + DatabaseAdvisorsUpdateOptionalParams, + DatabaseAdvisorsUpdateResponse +} from "../models"; + +/** Interface representing a DatabaseAdvisors. */ +export interface DatabaseAdvisors { + /** + * Gets a list of database advisors. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseAdvisorsListByDatabaseOptionalParams + ): Promise; + /** + * Gets a database advisor. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + options?: DatabaseAdvisorsGetOptionalParams + ): Promise; + /** + * Updates a database advisor. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param parameters The requested advisor resource state. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + parameters: Advisor, + options?: DatabaseAdvisorsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseAutomaticTuningOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseAutomaticTuningOperations.ts new file mode 100644 index 000000000000..9c3ad05e1723 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseAutomaticTuningOperations.ts @@ -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. + */ + +import { + DatabaseAutomaticTuningOperationsGetOptionalParams, + DatabaseAutomaticTuningOperationsGetResponse, + DatabaseAutomaticTuning, + DatabaseAutomaticTuningOperationsUpdateOptionalParams, + DatabaseAutomaticTuningOperationsUpdateResponse +} from "../models"; + +/** Interface representing a DatabaseAutomaticTuningOperations. */ +export interface DatabaseAutomaticTuningOperations { + /** + * Gets a database's automatic tuning. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseAutomaticTuningOperationsGetOptionalParams + ): Promise; + /** + * Update automatic tuning properties for target database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The requested automatic tuning resource state. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DatabaseAutomaticTuning, + options?: DatabaseAutomaticTuningOperationsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseBlobAuditingPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseBlobAuditingPolicies.ts new file mode 100644 index 000000000000..27e3c60d38d0 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseBlobAuditingPolicies.ts @@ -0,0 +1,67 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseBlobAuditingPolicy, + DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams, + DatabaseBlobAuditingPoliciesGetOptionalParams, + DatabaseBlobAuditingPoliciesGetResponse, + DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams, + DatabaseBlobAuditingPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a DatabaseBlobAuditingPolicies. */ +export interface DatabaseBlobAuditingPolicies { + /** + * Lists auditing settings of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a database's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseBlobAuditingPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates a database's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The database blob auditing policy. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DatabaseBlobAuditingPolicy, + options?: DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseColumns.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseColumns.ts new file mode 100644 index 000000000000..a07c84049336 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseColumns.ts @@ -0,0 +1,74 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseColumn, + DatabaseColumnsListByDatabaseOptionalParams, + DatabaseColumnsListByTableOptionalParams, + DatabaseColumnsGetOptionalParams, + DatabaseColumnsGetResponse +} from "../models"; + +/// +/** Interface representing a DatabaseColumns. */ +export interface DatabaseColumns { + /** + * List database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseColumnsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * List database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + listByTable( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: DatabaseColumnsListByTableOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get database column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: DatabaseColumnsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseExtensionsOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseExtensionsOperations.ts new file mode 100644 index 000000000000..0ecaa41bf421 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseExtensionsOperations.ts @@ -0,0 +1,95 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ImportExportExtensionsOperationResult, + DatabaseExtensionsOperationsListByDatabaseOptionalParams, + DatabaseExtensionsOperationsGetOptionalParams, + DatabaseExtensions, + DatabaseExtensionsOperationsCreateOrUpdateOptionalParams, + DatabaseExtensionsOperationsCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a DatabaseExtensionsOperations. */ +export interface DatabaseExtensionsOperations { + /** + * List database extension. This will return an empty list as it is not supported. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseExtensionsOperationsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a database extension. This will return resource not found as it is not supported. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param extensionName + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + extensionName: string, + options?: DatabaseExtensionsOperationsGetOptionalParams + ): Promise; + /** + * Perform a database extension operation, like polybase import + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param extensionName + * @param parameters The database import request parameters. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + extensionName: string, + parameters: DatabaseExtensions, + options?: DatabaseExtensionsOperationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabaseExtensionsOperationsCreateOrUpdateResponse + > + >; + /** + * Perform a database extension operation, like polybase import + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param extensionName + * @param parameters The database import request parameters. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + extensionName: string, + parameters: DatabaseExtensions, + options?: DatabaseExtensionsOperationsCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseOperations.ts new file mode 100644 index 000000000000..45c88a653419 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseOperations.ts @@ -0,0 +1,50 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseOperation, + DatabaseOperationsListByDatabaseOptionalParams, + DatabaseOperationsCancelOptionalParams +} from "../models"; + +/// +/** Interface representing a DatabaseOperations. */ +export interface DatabaseOperations { + /** + * Gets a list of operations performed on the database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseOperationsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Cancels the asynchronous operation on the database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param operationId The operation identifier. + * @param options The options parameters. + */ + cancel( + resourceGroupName: string, + serverName: string, + databaseName: string, + operationId: string, + options?: DatabaseOperationsCancelOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseRecommendedActions.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseRecommendedActions.ts new file mode 100644 index 000000000000..8da85d186f16 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseRecommendedActions.ts @@ -0,0 +1,75 @@ +/* + * 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 { + DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams, + DatabaseRecommendedActionsListByDatabaseAdvisorResponse, + DatabaseRecommendedActionsGetOptionalParams, + DatabaseRecommendedActionsGetResponse, + RecommendedAction, + DatabaseRecommendedActionsUpdateOptionalParams, + DatabaseRecommendedActionsUpdateResponse +} from "../models"; + +/** Interface representing a DatabaseRecommendedActions. */ +export interface DatabaseRecommendedActions { + /** + * Gets list of Database Recommended Actions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param options The options parameters. + */ + listByDatabaseAdvisor( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + options?: DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams + ): Promise; + /** + * Gets a database recommended action. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param recommendedActionName The name of Database Recommended Action. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + recommendedActionName: string, + options?: DatabaseRecommendedActionsGetOptionalParams + ): Promise; + /** + * Updates a database recommended action. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param advisorName The name of the Database Advisor. + * @param recommendedActionName The name of Database Recommended Action. + * @param parameters The requested recommended action resource state. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + advisorName: string, + recommendedActionName: string, + parameters: RecommendedAction, + options?: DatabaseRecommendedActionsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseSchemas.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseSchemas.ts new file mode 100644 index 000000000000..7ac276adad71 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseSchemas.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseSchema, + DatabaseSchemasListByDatabaseOptionalParams, + DatabaseSchemasGetOptionalParams, + DatabaseSchemasGetResponse +} from "../models"; + +/// +/** Interface representing a DatabaseSchemas. */ +export interface DatabaseSchemas { + /** + * List database schemas + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSchemasListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get database schema + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + options?: DatabaseSchemasGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseSecurityAlertPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseSecurityAlertPolicies.ts new file mode 100644 index 000000000000..9ac9bf25699f --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseSecurityAlertPolicies.ts @@ -0,0 +1,72 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseSecurityAlertPolicy, + DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams, + SecurityAlertPolicyName, + DatabaseSecurityAlertPoliciesGetOptionalParams, + DatabaseSecurityAlertPoliciesGetResponse, + DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams, + DatabaseSecurityAlertPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a DatabaseSecurityAlertPolicies. */ +export interface DatabaseSecurityAlertPolicies { + /** + * Gets a list of database's security alert policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the security alert policy is defined. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a database's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the security alert policy is defined. + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: DatabaseSecurityAlertPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates a database's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the security alert policy is defined. + * @param securityAlertPolicyName The name of the security alert policy. + * @param parameters The database security alert policy. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: DatabaseSecurityAlertPolicy, + options?: DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseTables.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseTables.ts new file mode 100644 index 000000000000..df8eb1215bd2 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseTables.ts @@ -0,0 +1,55 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseTable, + DatabaseTablesListBySchemaOptionalParams, + DatabaseTablesGetOptionalParams, + DatabaseTablesGetResponse +} from "../models"; + +/// +/** Interface representing a DatabaseTables. */ +export interface DatabaseTables { + /** + * List database tables + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + listBySchema( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + options?: DatabaseTablesListBySchemaOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get database table + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: DatabaseTablesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseUsages.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseUsages.ts new file mode 100644 index 000000000000..8e942f926ad3 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseUsages.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseUsage, + DatabaseUsagesListByDatabaseOptionalParams +} from "../models"; + +/// +/** Interface representing a DatabaseUsages. */ +export interface DatabaseUsages { + /** + * Gets database usages. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseUsagesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessmentRuleBaselines.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessmentRuleBaselines.ts new file mode 100644 index 000000000000..39cf08256aa2 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessmentRuleBaselines.ts @@ -0,0 +1,92 @@ +/* + * 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 { + VulnerabilityAssessmentName, + VulnerabilityAssessmentPolicyBaselineName, + DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams, + DatabaseVulnerabilityAssessmentRuleBaselinesGetResponse, + DatabaseVulnerabilityAssessmentRuleBaseline, + DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams, + DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse, + DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams +} from "../models"; + +/** Interface representing a DatabaseVulnerabilityAssessmentRuleBaselines. */ +export interface DatabaseVulnerabilityAssessmentRuleBaselines { + /** + * Gets a database's vulnerability assessment rule baseline. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param ruleId The vulnerability assessment rule ID. + * @param baselineName The name of the vulnerability assessment rule baseline (default implies a + * baseline on a database level rule and master for server level rule). + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + options?: DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams + ): Promise; + /** + * Creates or updates a database's vulnerability assessment rule baseline. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param ruleId The vulnerability assessment rule ID. + * @param baselineName The name of the vulnerability assessment rule baseline (default implies a + * baseline on a database level rule and master for server level rule). + * @param parameters The requested rule baseline resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + parameters: DatabaseVulnerabilityAssessmentRuleBaseline, + options?: DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams + ): Promise< + DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse + >; + /** + * Removes the database's vulnerability assessment rule baseline. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param ruleId The vulnerability assessment rule ID. + * @param baselineName The name of the vulnerability assessment rule baseline (default implies a + * baseline on a database level rule and master for server level rule). + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + options?: DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessmentScans.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessmentScans.ts new file mode 100644 index 000000000000..3360218b40da --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessmentScans.ts @@ -0,0 +1,114 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VulnerabilityAssessmentScanRecord, + VulnerabilityAssessmentName, + DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams, + DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams, + DatabaseVulnerabilityAssessmentScansGetOptionalParams, + DatabaseVulnerabilityAssessmentScansGetResponse, + DatabaseVulnerabilityAssessmentScansExportOptionalParams, + DatabaseVulnerabilityAssessmentScansExportResponse +} from "../models"; + +/// +/** Interface representing a DatabaseVulnerabilityAssessmentScans. */ +export interface DatabaseVulnerabilityAssessmentScans { + /** + * Lists the vulnerability assessment scans of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Executes a Vulnerability Assessment database scan. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id of the scan to retrieve. + * @param options The options parameters. + */ + beginInitiateScan( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + ): Promise, void>>; + /** + * Executes a Vulnerability Assessment database scan. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id of the scan to retrieve. + * @param options The options parameters. + */ + beginInitiateScanAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + ): Promise; + /** + * Gets a vulnerability assessment scan record of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id of the scan to retrieve. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: DatabaseVulnerabilityAssessmentScansGetOptionalParams + ): Promise; + /** + * Convert an existing scan result to a human readable format. If already exists nothing happens + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the scanned database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id. + * @param options The options parameters. + */ + export( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: DatabaseVulnerabilityAssessmentScansExportOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessments.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessments.ts new file mode 100644 index 000000000000..1258a06b8d7a --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databaseVulnerabilityAssessments.ts @@ -0,0 +1,90 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseVulnerabilityAssessment, + DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams, + VulnerabilityAssessmentName, + DatabaseVulnerabilityAssessmentsGetOptionalParams, + DatabaseVulnerabilityAssessmentsGetResponse, + DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams, + DatabaseVulnerabilityAssessmentsCreateOrUpdateResponse, + DatabaseVulnerabilityAssessmentsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a DatabaseVulnerabilityAssessments. */ +export interface DatabaseVulnerabilityAssessments { + /** + * Lists the vulnerability assessment policies associated with a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the vulnerability assessment policies are + * defined. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the database's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentsGetOptionalParams + ): Promise; + /** + * Creates or updates the database's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param parameters The requested resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + parameters: DatabaseVulnerabilityAssessment, + options?: DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Removes the database's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: DatabaseVulnerabilityAssessmentsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/databases.ts b/sdk/sql/arm-sql/src/operationsInterfaces/databases.ts new file mode 100644 index 000000000000..4722df992536 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/databases.ts @@ -0,0 +1,444 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Metric, + DatabasesListMetricsOptionalParams, + MetricDefinition, + DatabasesListMetricDefinitionsOptionalParams, + Database, + DatabasesListByServerOptionalParams, + DatabasesListByElasticPoolOptionalParams, + DatabasesListInaccessibleByServerOptionalParams, + DatabasesGetOptionalParams, + DatabasesGetResponse, + DatabasesCreateOrUpdateOptionalParams, + DatabasesCreateOrUpdateResponse, + DatabasesDeleteOptionalParams, + DatabaseUpdate, + DatabasesUpdateOptionalParams, + DatabasesUpdateResponse, + DatabasesFailoverOptionalParams, + DatabasesPauseOptionalParams, + DatabasesPauseResponse, + DatabasesResumeOptionalParams, + DatabasesResumeResponse, + DatabasesUpgradeDataWarehouseOptionalParams, + ResourceMoveDefinition, + DatabasesRenameOptionalParams, + ImportExistingDatabaseDefinition, + DatabasesImportOptionalParams, + DatabasesImportResponse, + ExportDatabaseDefinition, + DatabasesExportOptionalParams, + DatabasesExportResponse +} from "../models"; + +/// +/** Interface representing a Databases. */ +export interface Databases { + /** + * Returns database metrics. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param filter An OData filter expression that describes a subset of metrics to return. + * @param options The options parameters. + */ + listMetrics( + resourceGroupName: string, + serverName: string, + databaseName: string, + filter: string, + options?: DatabasesListMetricsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Returns database metric definitions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listMetricDefinitions( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesListMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of databases in an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param options The options parameters. + */ + listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: DatabasesListByElasticPoolOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of inaccessible databases in a logical server + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listInaccessibleByServer( + resourceGroupName: string, + serverName: string, + options?: DatabasesListInaccessibleByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesGetOptionalParams + ): Promise; + /** + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: Database, + options?: DatabasesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesCreateOrUpdateResponse + > + >; + /** + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: Database, + options?: DatabasesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes the database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesDeleteOptionalParams + ): Promise; + /** + * Updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DatabaseUpdate, + options?: DatabasesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesUpdateResponse + > + >; + /** + * Updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: DatabaseUpdate, + options?: DatabasesUpdateOptionalParams + ): Promise; + /** + * Failovers a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to failover. + * @param options The options parameters. + */ + beginFailover( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesFailoverOptionalParams + ): Promise, void>>; + /** + * Failovers a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to failover. + * @param options The options parameters. + */ + beginFailoverAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesFailoverOptionalParams + ): Promise; + /** + * Pauses a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to be paused. + * @param options The options parameters. + */ + beginPause( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesPauseOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesPauseResponse + > + >; + /** + * Pauses a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to be paused. + * @param options The options parameters. + */ + beginPauseAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesPauseOptionalParams + ): Promise; + /** + * Resumes a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to be resumed. + * @param options The options parameters. + */ + beginResume( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesResumeOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesResumeResponse + > + >; + /** + * Resumes a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to be resumed. + * @param options The options parameters. + */ + beginResumeAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesResumeOptionalParams + ): Promise; + /** + * Upgrades a data warehouse. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to be upgraded. + * @param options The options parameters. + */ + beginUpgradeDataWarehouse( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesUpgradeDataWarehouseOptionalParams + ): Promise, void>>; + /** + * Upgrades a data warehouse. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to be upgraded. + * @param options The options parameters. + */ + beginUpgradeDataWarehouseAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: DatabasesUpgradeDataWarehouseOptionalParams + ): Promise; + /** + * Renames a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to rename. + * @param parameters The resource move definition for renaming this database. + * @param options The options parameters. + */ + rename( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ResourceMoveDefinition, + options?: DatabasesRenameOptionalParams + ): Promise; + /** + * Imports a bacpac into a new database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The database import request parameters. + * @param options The options parameters. + */ + beginImport( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ImportExistingDatabaseDefinition, + options?: DatabasesImportOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesImportResponse + > + >; + /** + * Imports a bacpac into a new database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The database import request parameters. + * @param options The options parameters. + */ + beginImportAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ImportExistingDatabaseDefinition, + options?: DatabasesImportOptionalParams + ): Promise; + /** + * Exports a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The database export request parameters. + * @param options The options parameters. + */ + beginExport( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ExportDatabaseDefinition, + options?: DatabasesExportOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatabasesExportResponse + > + >; + /** + * Exports a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The database export request parameters. + * @param options The options parameters. + */ + beginExportAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ExportDatabaseDefinition, + options?: DatabasesExportOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/deletedServers.ts b/sdk/sql/arm-sql/src/operationsInterfaces/deletedServers.ts new file mode 100644 index 000000000000..b4ac6e0ba7cd --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/deletedServers.ts @@ -0,0 +1,79 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + DeletedServer, + DeletedServersListOptionalParams, + DeletedServersListByLocationOptionalParams, + DeletedServersGetOptionalParams, + DeletedServersGetResponse, + DeletedServersRecoverOptionalParams, + DeletedServersRecoverResponse +} from "../models"; + +/// +/** Interface representing a DeletedServers. */ +export interface DeletedServers { + /** + * Gets a list of all deleted servers in a subscription. + * @param options The options parameters. + */ + list( + options?: DeletedServersListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of deleted servers for a location. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + listByLocation( + locationName: string, + options?: DeletedServersListByLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a deleted server. + * @param locationName The name of the region where the resource is located. + * @param deletedServerName The name of the deleted server. + * @param options The options parameters. + */ + get( + locationName: string, + deletedServerName: string, + options?: DeletedServersGetOptionalParams + ): Promise; + /** + * Recovers a deleted server. + * @param locationName The name of the region where the resource is located. + * @param deletedServerName The name of the deleted server. + * @param options The options parameters. + */ + beginRecover( + locationName: string, + deletedServerName: string, + options?: DeletedServersRecoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DeletedServersRecoverResponse + > + >; + /** + * Recovers a deleted server. + * @param locationName The name of the region where the resource is located. + * @param deletedServerName The name of the deleted server. + * @param options The options parameters. + */ + beginRecoverAndWait( + locationName: string, + deletedServerName: string, + options?: DeletedServersRecoverOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolActivities.ts b/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolActivities.ts new file mode 100644 index 000000000000..e0dbe4c36db5 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolActivities.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ElasticPoolActivity, + ElasticPoolActivitiesListByElasticPoolOptionalParams +} from "../models"; + +/// +/** Interface representing a ElasticPoolActivities. */ +export interface ElasticPoolActivities { + /** + * Returns elastic pool activities. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool for which to get the current activity. + * @param options The options parameters. + */ + listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolActivitiesListByElasticPoolOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolDatabaseActivities.ts b/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolDatabaseActivities.ts new file mode 100644 index 000000000000..4b93079d87da --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolDatabaseActivities.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ElasticPoolDatabaseActivity, + ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams +} from "../models"; + +/// +/** Interface representing a ElasticPoolDatabaseActivities. */ +export interface ElasticPoolDatabaseActivities { + /** + * Returns activity on databases inside of an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param options The options parameters. + */ + listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolOperations.ts new file mode 100644 index 000000000000..c972b812e743 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/elasticPoolOperations.ts @@ -0,0 +1,50 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ElasticPoolOperation, + ElasticPoolOperationsListByElasticPoolOptionalParams, + ElasticPoolOperationsCancelOptionalParams +} from "../models"; + +/// +/** Interface representing a ElasticPoolOperations. */ +export interface ElasticPoolOperations { + /** + * Gets a list of operations performed on the elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName + * @param options The options parameters. + */ + listByElasticPool( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolOperationsListByElasticPoolOptionalParams + ): PagedAsyncIterableIterator; + /** + * Cancels the asynchronous operation on the elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName + * @param operationId The operation identifier. + * @param options The options parameters. + */ + cancel( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + operationId: string, + options?: ElasticPoolOperationsCancelOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/elasticPools.ts b/sdk/sql/arm-sql/src/operationsInterfaces/elasticPools.ts new file mode 100644 index 000000000000..5ae5bc80fadd --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/elasticPools.ts @@ -0,0 +1,219 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Metric, + ElasticPoolsListMetricsOptionalParams, + MetricDefinition, + ElasticPoolsListMetricDefinitionsOptionalParams, + ElasticPool, + ElasticPoolsListByServerOptionalParams, + ElasticPoolsGetOptionalParams, + ElasticPoolsGetResponse, + ElasticPoolsCreateOrUpdateOptionalParams, + ElasticPoolsCreateOrUpdateResponse, + ElasticPoolsDeleteOptionalParams, + ElasticPoolUpdate, + ElasticPoolsUpdateOptionalParams, + ElasticPoolsUpdateResponse, + ElasticPoolsFailoverOptionalParams +} from "../models"; + +/// +/** Interface representing a ElasticPools. */ +export interface ElasticPools { + /** + * Returns elastic pool metrics. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param filter An OData filter expression that describes a subset of metrics to return. + * @param options The options parameters. + */ + listMetrics( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + filter: string, + options?: ElasticPoolsListMetricsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Returns elastic pool metric definitions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param options The options parameters. + */ + listMetricDefinitions( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsListMetricDefinitionsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets all elastic pools in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ElasticPoolsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsGetOptionalParams + ): Promise; + /** + * Creates or updates an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param parameters The elastic pool parameters. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + parameters: ElasticPool, + options?: ElasticPoolsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ElasticPoolsCreateOrUpdateResponse + > + >; + /** + * Creates or updates an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param parameters The elastic pool parameters. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + parameters: ElasticPool, + options?: ElasticPoolsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsDeleteOptionalParams + ): Promise; + /** + * Updates an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param parameters The elastic pool update parameters. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + parameters: ElasticPoolUpdate, + options?: ElasticPoolsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ElasticPoolsUpdateResponse + > + >; + /** + * Updates an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool. + * @param parameters The elastic pool update parameters. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + parameters: ElasticPoolUpdate, + options?: ElasticPoolsUpdateOptionalParams + ): Promise; + /** + * Failovers an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool to failover. + * @param options The options parameters. + */ + beginFailover( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsFailoverOptionalParams + ): Promise, void>>; + /** + * Failovers an elastic pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param elasticPoolName The name of the elastic pool to failover. + * @param options The options parameters. + */ + beginFailoverAndWait( + resourceGroupName: string, + serverName: string, + elasticPoolName: string, + options?: ElasticPoolsFailoverOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/encryptionProtectors.ts b/sdk/sql/arm-sql/src/operationsInterfaces/encryptionProtectors.ts new file mode 100644 index 000000000000..8016bbdab626 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/encryptionProtectors.ts @@ -0,0 +1,117 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + EncryptionProtector, + EncryptionProtectorsListByServerOptionalParams, + EncryptionProtectorName, + EncryptionProtectorsGetOptionalParams, + EncryptionProtectorsGetResponse, + EncryptionProtectorsCreateOrUpdateOptionalParams, + EncryptionProtectorsCreateOrUpdateResponse, + EncryptionProtectorsRevalidateOptionalParams +} from "../models"; + +/// +/** Interface representing a EncryptionProtectors. */ +export interface EncryptionProtectors { + /** + * Gets a list of server encryption protectors + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: EncryptionProtectorsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a server encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param encryptionProtectorName The name of the encryption protector to be retrieved. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: EncryptionProtectorsGetOptionalParams + ): Promise; + /** + * Updates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param parameters The requested encryption protector resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + parameters: EncryptionProtector, + options?: EncryptionProtectorsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + EncryptionProtectorsCreateOrUpdateResponse + > + >; + /** + * Updates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param parameters The requested encryption protector resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + parameters: EncryptionProtector, + options?: EncryptionProtectorsCreateOrUpdateOptionalParams + ): Promise; + /** + * Revalidates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param options The options parameters. + */ + beginRevalidate( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: EncryptionProtectorsRevalidateOptionalParams + ): Promise, void>>; + /** + * Revalidates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param options The options parameters. + */ + beginRevalidateAndWait( + resourceGroupName: string, + serverName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: EncryptionProtectorsRevalidateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/extendedDatabaseBlobAuditingPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/extendedDatabaseBlobAuditingPolicies.ts new file mode 100644 index 000000000000..7a2bccec8b16 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/extendedDatabaseBlobAuditingPolicies.ts @@ -0,0 +1,67 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ExtendedDatabaseBlobAuditingPolicy, + ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams, + ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams, + ExtendedDatabaseBlobAuditingPoliciesGetResponse, + ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams, + ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ExtendedDatabaseBlobAuditingPolicies. */ +export interface ExtendedDatabaseBlobAuditingPolicies { + /** + * Lists extended auditing settings of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets an extended database's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates an extended database's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The extended database blob auditing policy. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: ExtendedDatabaseBlobAuditingPolicy, + options?: ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/extendedServerBlobAuditingPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/extendedServerBlobAuditingPolicies.ts new file mode 100644 index 000000000000..e3dbe072213c --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/extendedServerBlobAuditingPolicies.ts @@ -0,0 +1,83 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ExtendedServerBlobAuditingPolicy, + ExtendedServerBlobAuditingPoliciesListByServerOptionalParams, + ExtendedServerBlobAuditingPoliciesGetOptionalParams, + ExtendedServerBlobAuditingPoliciesGetResponse, + ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams, + ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ExtendedServerBlobAuditingPolicies. */ +export interface ExtendedServerBlobAuditingPolicies { + /** + * Lists extended auditing settings of a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ExtendedServerBlobAuditingPoliciesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets an extended server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + options?: ExtendedServerBlobAuditingPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates an extended server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters Properties of extended blob auditing policy + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + parameters: ExtendedServerBlobAuditingPolicy, + options?: ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse + >, + ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse + > + >; + /** + * Creates or updates an extended server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters Properties of extended blob auditing policy + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ExtendedServerBlobAuditingPolicy, + options?: ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/failoverGroups.ts b/sdk/sql/arm-sql/src/operationsInterfaces/failoverGroups.ts new file mode 100644 index 000000000000..9b08c125fdbd --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/failoverGroups.ts @@ -0,0 +1,226 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + FailoverGroup, + FailoverGroupsListByServerOptionalParams, + FailoverGroupsGetOptionalParams, + FailoverGroupsGetResponse, + FailoverGroupsCreateOrUpdateOptionalParams, + FailoverGroupsCreateOrUpdateResponse, + FailoverGroupsDeleteOptionalParams, + FailoverGroupUpdate, + FailoverGroupsUpdateOptionalParams, + FailoverGroupsUpdateResponse, + FailoverGroupsFailoverOptionalParams, + FailoverGroupsFailoverResponse, + FailoverGroupsForceFailoverAllowDataLossOptionalParams, + FailoverGroupsForceFailoverAllowDataLossResponse +} from "../models"; + +/// +/** Interface representing a FailoverGroups. */ +export interface FailoverGroups { + /** + * Lists the failover groups in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: FailoverGroupsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsGetOptionalParams + ): Promise; + /** + * Creates or updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param parameters The failover group parameters. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + parameters: FailoverGroup, + options?: FailoverGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FailoverGroupsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param parameters The failover group parameters. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + parameters: FailoverGroup, + options?: FailoverGroupsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsDeleteOptionalParams + ): Promise; + /** + * Updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param parameters The failover group parameters. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + parameters: FailoverGroupUpdate, + options?: FailoverGroupsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FailoverGroupsUpdateResponse + > + >; + /** + * Updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param parameters The failover group parameters. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + parameters: FailoverGroupUpdate, + options?: FailoverGroupsUpdateOptionalParams + ): Promise; + /** + * Fails over from the current primary server to this server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginFailover( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FailoverGroupsFailoverResponse + > + >; + /** + * Fails over from the current primary server to this server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginFailoverAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsFailoverOptionalParams + ): Promise; + /** + * Fails over from the current primary server to this server. This operation might result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginForceFailoverAllowDataLoss( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsForceFailoverAllowDataLossOptionalParams + ): Promise< + PollerLike< + PollOperationState, + FailoverGroupsForceFailoverAllowDataLossResponse + > + >; + /** + * Fails over from the current primary server to this server. This operation might result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server containing the failover group. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginForceFailoverAllowDataLossAndWait( + resourceGroupName: string, + serverName: string, + failoverGroupName: string, + options?: FailoverGroupsForceFailoverAllowDataLossOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/firewallRules.ts b/sdk/sql/arm-sql/src/operationsInterfaces/firewallRules.ts new file mode 100644 index 000000000000..3c156b4eb497 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/firewallRules.ts @@ -0,0 +1,97 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + FirewallRule, + FirewallRulesListByServerOptionalParams, + FirewallRulesGetOptionalParams, + FirewallRulesGetResponse, + FirewallRulesCreateOrUpdateOptionalParams, + FirewallRulesCreateOrUpdateResponse, + FirewallRulesDeleteOptionalParams, + FirewallRuleList, + FirewallRulesReplaceOptionalParams, + FirewallRulesReplaceResponse +} from "../models"; + +/// +/** Interface representing a FirewallRules. */ +export interface FirewallRules { + /** + * Gets a list of firewall rules. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: FirewallRulesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a firewall rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param firewallRuleName The name of the firewall rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesGetOptionalParams + ): Promise; + /** + * Creates or updates a firewall rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param firewallRuleName The name of the firewall rule. + * @param parameters The required parameters for creating or updating a firewall rule. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + parameters: FirewallRule, + options?: FirewallRulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a firewall rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param firewallRuleName The name of the firewall rule. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + firewallRuleName: string, + options?: FirewallRulesDeleteOptionalParams + ): Promise; + /** + * Replaces all firewall rules on the server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters A list of server firewall rules. + * @param options The options parameters. + */ + replace( + resourceGroupName: string, + serverName: string, + parameters: FirewallRuleList, + options?: FirewallRulesReplaceOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/geoBackupPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/geoBackupPolicies.ts new file mode 100644 index 000000000000..1d69a682d858 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/geoBackupPolicies.ts @@ -0,0 +1,72 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + GeoBackupPolicy, + GeoBackupPoliciesListByDatabaseOptionalParams, + GeoBackupPolicyName, + GeoBackupPoliciesCreateOrUpdateOptionalParams, + GeoBackupPoliciesCreateOrUpdateResponse, + GeoBackupPoliciesGetOptionalParams, + GeoBackupPoliciesGetResponse +} from "../models"; + +/// +/** Interface representing a GeoBackupPolicies. */ +export interface GeoBackupPolicies { + /** + * Returns a list of geo backup policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: GeoBackupPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Updates a database geo backup policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param geoBackupPolicyName The name of the geo backup policy. + * @param parameters The required parameters for creating or updating the geo backup policy. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + geoBackupPolicyName: GeoBackupPolicyName, + parameters: GeoBackupPolicy, + options?: GeoBackupPoliciesCreateOrUpdateOptionalParams + ): Promise; + /** + * Gets a geo backup policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param geoBackupPolicyName The name of the geo backup policy. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + geoBackupPolicyName: GeoBackupPolicyName, + options?: GeoBackupPoliciesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/index.ts b/sdk/sql/arm-sql/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..7ae6d5a235a9 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/index.ts @@ -0,0 +1,128 @@ +/* + * 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 "./recoverableDatabases"; +export * from "./serverConnectionPolicies"; +export * from "./dataMaskingPolicies"; +export * from "./dataMaskingRules"; +export * from "./geoBackupPolicies"; +export * from "./databases"; +export * from "./elasticPools"; +export * from "./replicationLinks"; +export * from "./serverCommunicationLinks"; +export * from "./serviceObjectives"; +export * from "./elasticPoolActivities"; +export * from "./elasticPoolDatabaseActivities"; +export * from "./transparentDataEncryptions"; +export * from "./transparentDataEncryptionActivities"; +export * from "./serverUsages"; +export * from "./extendedDatabaseBlobAuditingPolicies"; +export * from "./extendedServerBlobAuditingPolicies"; +export * from "./serverBlobAuditingPolicies"; +export * from "./databaseBlobAuditingPolicies"; +export * from "./databaseAdvisors"; +export * from "./databaseAutomaticTuningOperations"; +export * from "./databaseColumns"; +export * from "./databaseRecommendedActions"; +export * from "./databaseSchemas"; +export * from "./databaseSecurityAlertPolicies"; +export * from "./databaseTables"; +export * from "./databaseVulnerabilityAssessmentRuleBaselines"; +export * from "./databaseVulnerabilityAssessments"; +export * from "./databaseVulnerabilityAssessmentScans"; +export * from "./dataWarehouseUserActivitiesOperations"; +export * from "./deletedServers"; +export * from "./elasticPoolOperations"; +export * from "./encryptionProtectors"; +export * from "./failoverGroups"; +export * from "./firewallRules"; +export * from "./instanceFailoverGroups"; +export * from "./instancePools"; +export * from "./jobAgents"; +export * from "./jobCredentials"; +export * from "./jobExecutions"; +export * from "./jobs"; +export * from "./jobStepExecutions"; +export * from "./jobSteps"; +export * from "./jobTargetExecutions"; +export * from "./jobTargetGroups"; +export * from "./jobVersions"; +export * from "./capabilities"; +export * from "./longTermRetentionBackups"; +export * from "./longTermRetentionManagedInstanceBackups"; +export * from "./longTermRetentionPolicies"; +export * from "./maintenanceWindowOptionsOperations"; +export * from "./maintenanceWindowsOperations"; +export * from "./managedBackupShortTermRetentionPolicies"; +export * from "./managedDatabaseColumns"; +export * from "./managedDatabaseQueries"; +export * from "./managedDatabaseRestoreDetails"; +export * from "./managedDatabases"; +export * from "./managedDatabaseSchemas"; +export * from "./managedDatabaseSecurityAlertPolicies"; +export * from "./managedDatabaseSecurityEvents"; +export * from "./managedDatabaseSensitivityLabels"; +export * from "./managedDatabaseRecommendedSensitivityLabels"; +export * from "./managedDatabaseTables"; +export * from "./managedDatabaseTransparentDataEncryption"; +export * from "./managedDatabaseVulnerabilityAssessmentRuleBaselines"; +export * from "./managedDatabaseVulnerabilityAssessments"; +export * from "./managedDatabaseVulnerabilityAssessmentScans"; +export * from "./managedInstanceAdministrators"; +export * from "./managedInstanceAzureADOnlyAuthentications"; +export * from "./managedInstanceEncryptionProtectors"; +export * from "./managedInstanceKeys"; +export * from "./managedInstanceLongTermRetentionPolicies"; +export * from "./managedInstanceOperations"; +export * from "./managedInstancePrivateEndpointConnections"; +export * from "./managedInstancePrivateLinkResources"; +export * from "./managedInstances"; +export * from "./managedInstanceTdeCertificates"; +export * from "./managedInstanceVulnerabilityAssessments"; +export * from "./managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies"; +export * from "./managedServerSecurityAlertPolicies"; +export * from "./operations"; +export * from "./operationsHealthOperations"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; +export * from "./recoverableManagedDatabases"; +export * from "./restorePoints"; +export * from "./sensitivityLabels"; +export * from "./recommendedSensitivityLabels"; +export * from "./serverAdvisors"; +export * from "./serverAutomaticTuningOperations"; +export * from "./serverAzureADAdministrators"; +export * from "./serverAzureADOnlyAuthentications"; +export * from "./serverDevOpsAuditSettings"; +export * from "./serverDnsAliases"; +export * from "./serverKeys"; +export * from "./serverOperations"; +export * from "./serverSecurityAlertPolicies"; +export * from "./serverTrustGroups"; +export * from "./serverVulnerabilityAssessments"; +export * from "./sqlAgent"; +export * from "./subscriptionUsages"; +export * from "./syncAgents"; +export * from "./syncGroups"; +export * from "./syncMembers"; +export * from "./tdeCertificates"; +export * from "./timeZones"; +export * from "./virtualClusters"; +export * from "./virtualNetworkRules"; +export * from "./workloadClassifiers"; +export * from "./workloadGroups"; +export * from "./backupShortTermRetentionPolicies"; +export * from "./databaseExtensionsOperations"; +export * from "./databaseOperations"; +export * from "./databaseUsages"; +export * from "./ledgerDigestUploadsOperations"; +export * from "./outboundFirewallRules"; +export * from "./restorableDroppedDatabases"; +export * from "./restorableDroppedManagedDatabases"; +export * from "./servers"; +export * from "./usages"; diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/instanceFailoverGroups.ts b/sdk/sql/arm-sql/src/operationsInterfaces/instanceFailoverGroups.ts new file mode 100644 index 000000000000..460ec10da4ec --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/instanceFailoverGroups.ts @@ -0,0 +1,190 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + InstanceFailoverGroup, + InstanceFailoverGroupsListByLocationOptionalParams, + InstanceFailoverGroupsGetOptionalParams, + InstanceFailoverGroupsGetResponse, + InstanceFailoverGroupsCreateOrUpdateOptionalParams, + InstanceFailoverGroupsCreateOrUpdateResponse, + InstanceFailoverGroupsDeleteOptionalParams, + InstanceFailoverGroupsFailoverOptionalParams, + InstanceFailoverGroupsFailoverResponse, + InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams, + InstanceFailoverGroupsForceFailoverAllowDataLossResponse +} from "../models"; + +/// +/** Interface representing a InstanceFailoverGroups. */ +export interface InstanceFailoverGroups { + /** + * Lists the failover groups in a location. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + listByLocation( + resourceGroupName: string, + locationName: string, + options?: InstanceFailoverGroupsListByLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsGetOptionalParams + ): Promise; + /** + * Creates or updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param parameters The failover group parameters. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + parameters: InstanceFailoverGroup, + options?: InstanceFailoverGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InstanceFailoverGroupsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param parameters The failover group parameters. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + parameters: InstanceFailoverGroup, + options?: InstanceFailoverGroupsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a failover group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsDeleteOptionalParams + ): Promise; + /** + * Fails over from the current primary managed instance to this managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginFailover( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InstanceFailoverGroupsFailoverResponse + > + >; + /** + * Fails over from the current primary managed instance to this managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginFailoverAndWait( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsFailoverOptionalParams + ): Promise; + /** + * Fails over from the current primary managed instance to this managed instance. This operation might + * result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginForceFailoverAllowDataLoss( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams + ): Promise< + PollerLike< + PollOperationState< + InstanceFailoverGroupsForceFailoverAllowDataLossResponse + >, + InstanceFailoverGroupsForceFailoverAllowDataLossResponse + > + >; + /** + * Fails over from the current primary managed instance to this managed instance. This operation might + * result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param failoverGroupName The name of the failover group. + * @param options The options parameters. + */ + beginForceFailoverAllowDataLossAndWait( + resourceGroupName: string, + locationName: string, + failoverGroupName: string, + options?: InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/instancePools.ts b/sdk/sql/arm-sql/src/operationsInterfaces/instancePools.ts new file mode 100644 index 000000000000..133b2befec82 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/instancePools.ts @@ -0,0 +1,148 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + InstancePool, + InstancePoolsListByResourceGroupOptionalParams, + InstancePoolsListOptionalParams, + InstancePoolsGetOptionalParams, + InstancePoolsGetResponse, + InstancePoolsCreateOrUpdateOptionalParams, + InstancePoolsCreateOrUpdateResponse, + InstancePoolsDeleteOptionalParams, + InstancePoolUpdate, + InstancePoolsUpdateOptionalParams, + InstancePoolsUpdateResponse +} from "../models"; + +/// +/** Interface representing a InstancePools. */ +export interface InstancePools { + /** + * Gets a list of instance pools in the resource group + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: InstancePoolsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of all instance pools in the subscription. + * @param options The options parameters. + */ + list( + options?: InstancePoolsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be retrieved. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + instancePoolName: string, + options?: InstancePoolsGetOptionalParams + ): Promise; + /** + * Creates or updates an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be created or updated. + * @param parameters The requested instance pool resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + instancePoolName: string, + parameters: InstancePool, + options?: InstancePoolsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InstancePoolsCreateOrUpdateResponse + > + >; + /** + * Creates or updates an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be created or updated. + * @param parameters The requested instance pool resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + instancePoolName: string, + parameters: InstancePool, + options?: InstancePoolsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an instance pool + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be deleted + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + instancePoolName: string, + options?: InstancePoolsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an instance pool + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be deleted + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + instancePoolName: string, + options?: InstancePoolsDeleteOptionalParams + ): Promise; + /** + * Updates an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be updated. + * @param parameters The requested instance pool resource state. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + instancePoolName: string, + parameters: InstancePoolUpdate, + options?: InstancePoolsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + InstancePoolsUpdateResponse + > + >; + /** + * Updates an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be updated. + * @param parameters The requested instance pool resource state. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + instancePoolName: string, + parameters: InstancePoolUpdate, + options?: InstancePoolsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobAgents.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobAgents.ts new file mode 100644 index 000000000000..78c4fb76b1cd --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobAgents.ts @@ -0,0 +1,156 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + JobAgent, + JobAgentsListByServerOptionalParams, + JobAgentsGetOptionalParams, + JobAgentsGetResponse, + JobAgentsCreateOrUpdateOptionalParams, + JobAgentsCreateOrUpdateResponse, + JobAgentsDeleteOptionalParams, + JobAgentUpdate, + JobAgentsUpdateOptionalParams, + JobAgentsUpdateResponse +} from "../models"; + +/// +/** Interface representing a JobAgents. */ +export interface JobAgents { + /** + * Gets a list of job agents in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: JobAgentsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent to be retrieved. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobAgentsGetOptionalParams + ): Promise; + /** + * Creates or updates a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent to be created or updated. + * @param parameters The requested job agent resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + parameters: JobAgent, + options?: JobAgentsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + JobAgentsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent to be created or updated. + * @param parameters The requested job agent resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + parameters: JobAgent, + options?: JobAgentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent to be deleted. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobAgentsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent to be deleted. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobAgentsDeleteOptionalParams + ): Promise; + /** + * Updates a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent to be updated. + * @param parameters The update to the job agent. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + parameters: JobAgentUpdate, + options?: JobAgentsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + JobAgentsUpdateResponse + > + >; + /** + * Updates a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent to be updated. + * @param parameters The update to the job agent. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + parameters: JobAgentUpdate, + options?: JobAgentsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobCredentials.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobCredentials.ts new file mode 100644 index 000000000000..61d78ec4f936 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobCredentials.ts @@ -0,0 +1,88 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + JobCredential, + JobCredentialsListByAgentOptionalParams, + JobCredentialsGetOptionalParams, + JobCredentialsGetResponse, + JobCredentialsCreateOrUpdateOptionalParams, + JobCredentialsCreateOrUpdateResponse, + JobCredentialsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a JobCredentials. */ +export interface JobCredentials { + /** + * Gets a list of jobs credentials. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param options The options parameters. + */ + listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobCredentialsListByAgentOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a jobs credential. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param credentialName The name of the credential. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + credentialName: string, + options?: JobCredentialsGetOptionalParams + ): Promise; + /** + * Creates or updates a job credential. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param credentialName The name of the credential. + * @param parameters The requested job credential state. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + credentialName: string, + parameters: JobCredential, + options?: JobCredentialsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a job credential. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param credentialName The name of the credential. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + credentialName: string, + options?: JobCredentialsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobExecutions.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobExecutions.ts new file mode 100644 index 000000000000..3375ef31152f --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobExecutions.ts @@ -0,0 +1,172 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + JobExecution, + JobExecutionsListByAgentOptionalParams, + JobExecutionsListByJobOptionalParams, + JobExecutionsCancelOptionalParams, + JobExecutionsCreateOptionalParams, + JobExecutionsCreateResponse, + JobExecutionsGetOptionalParams, + JobExecutionsGetResponse, + JobExecutionsCreateOrUpdateOptionalParams, + JobExecutionsCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a JobExecutions. */ +export interface JobExecutions { + /** + * Lists all executions in a job agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param options The options parameters. + */ + listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobExecutionsListByAgentOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists a job's executions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param options The options parameters. + */ + listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsListByJobOptionalParams + ): PagedAsyncIterableIterator; + /** + * Requests cancellation of a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job. + * @param jobExecutionId The id of the job execution to cancel. + * @param options The options parameters. + */ + cancel( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobExecutionsCancelOptionalParams + ): Promise; + /** + * Starts an elastic job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param options The options parameters. + */ + beginCreate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + JobExecutionsCreateResponse + > + >; + /** + * Starts an elastic job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param options The options parameters. + */ + beginCreateAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobExecutionsCreateOptionalParams + ): Promise; + /** + * Gets a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job. + * @param jobExecutionId The id of the job execution + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobExecutionsGetOptionalParams + ): Promise; + /** + * Creates or updates a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The job execution id to create the job execution under. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobExecutionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + JobExecutionsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The job execution id to create the job execution under. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobExecutionsCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobStepExecutions.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobStepExecutions.ts new file mode 100644 index 000000000000..4045404957cd --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobStepExecutions.ts @@ -0,0 +1,59 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + JobExecution, + JobStepExecutionsListByJobExecutionOptionalParams, + JobStepExecutionsGetOptionalParams, + JobStepExecutionsGetResponse +} from "../models"; + +/// +/** Interface representing a JobStepExecutions. */ +export interface JobStepExecutions { + /** + * Lists the step executions of a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The id of the job execution + * @param options The options parameters. + */ + listByJobExecution( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobStepExecutionsListByJobExecutionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a step execution of a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The unique id of the job execution + * @param stepName The name of the step. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + options?: JobStepExecutionsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobSteps.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobSteps.ts new file mode 100644 index 000000000000..982d7fa0d38d --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobSteps.ts @@ -0,0 +1,137 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + JobStep, + JobStepsListByVersionOptionalParams, + JobStepsListByJobOptionalParams, + JobStepsGetByVersionOptionalParams, + JobStepsGetByVersionResponse, + JobStepsGetOptionalParams, + JobStepsGetResponse, + JobStepsCreateOrUpdateOptionalParams, + JobStepsCreateOrUpdateResponse, + JobStepsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a JobSteps. */ +export interface JobSteps { + /** + * Gets all job steps in the specified job version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobVersion The version of the job to get. + * @param options The options parameters. + */ + listByVersion( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + options?: JobStepsListByVersionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets all job steps for a job's current version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param options The options parameters. + */ + listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobStepsListByJobOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the specified version of a job step. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job. + * @param jobVersion The version of the job to get. + * @param stepName The name of the job step. + * @param options The options parameters. + */ + getByVersion( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + stepName: string, + options?: JobStepsGetByVersionOptionalParams + ): Promise; + /** + * Gets a job step in a job's current version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job. + * @param stepName The name of the job step. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + stepName: string, + options?: JobStepsGetOptionalParams + ): Promise; + /** + * Creates or updates a job step. This will implicitly create a new job version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job. + * @param stepName The name of the job step. + * @param parameters The requested state of the job step. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + stepName: string, + parameters: JobStep, + options?: JobStepsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a job step. This will implicitly create a new job version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job. + * @param stepName The name of the job step to delete. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + stepName: string, + options?: JobStepsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobTargetExecutions.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobTargetExecutions.ts new file mode 100644 index 000000000000..d8c2f88ce8c0 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobTargetExecutions.ts @@ -0,0 +1,82 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + JobExecution, + JobTargetExecutionsListByJobExecutionOptionalParams, + JobTargetExecutionsListByStepOptionalParams, + JobTargetExecutionsGetOptionalParams, + JobTargetExecutionsGetResponse +} from "../models"; + +/// +/** Interface representing a JobTargetExecutions. */ +export interface JobTargetExecutions { + /** + * Lists target executions for all steps of a job execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The id of the job execution + * @param options The options parameters. + */ + listByJobExecution( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + options?: JobTargetExecutionsListByJobExecutionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the target executions of a job step execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The id of the job execution + * @param stepName The name of the step. + * @param options The options parameters. + */ + listByStep( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + options?: JobTargetExecutionsListByStepOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a target execution. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param jobExecutionId The unique id of the job execution + * @param stepName The name of the step. + * @param targetId The target id. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobExecutionId: string, + stepName: string, + targetId: string, + options?: JobTargetExecutionsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobTargetGroups.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobTargetGroups.ts new file mode 100644 index 000000000000..0664128a10d5 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobTargetGroups.ts @@ -0,0 +1,88 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + JobTargetGroup, + JobTargetGroupsListByAgentOptionalParams, + JobTargetGroupsGetOptionalParams, + JobTargetGroupsGetResponse, + JobTargetGroupsCreateOrUpdateOptionalParams, + JobTargetGroupsCreateOrUpdateResponse, + JobTargetGroupsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a JobTargetGroups. */ +export interface JobTargetGroups { + /** + * Gets all target groups in an agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param options The options parameters. + */ + listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobTargetGroupsListByAgentOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a target group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param targetGroupName The name of the target group. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + targetGroupName: string, + options?: JobTargetGroupsGetOptionalParams + ): Promise; + /** + * Creates or updates a target group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param targetGroupName The name of the target group. + * @param parameters The requested state of the target group. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + targetGroupName: string, + parameters: JobTargetGroup, + options?: JobTargetGroupsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a target group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param targetGroupName The name of the target group. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + targetGroupName: string, + options?: JobTargetGroupsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobVersions.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobVersions.ts new file mode 100644 index 000000000000..6d35a4b0456e --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobVersions.ts @@ -0,0 +1,55 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + JobVersion, + JobVersionsListByJobOptionalParams, + JobVersionsGetOptionalParams, + JobVersionsGetResponse +} from "../models"; + +/// +/** Interface representing a JobVersions. */ +export interface JobVersions { + /** + * Gets all versions of a job. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param options The options parameters. + */ + listByJob( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobVersionsListByJobOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a job version. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job. + * @param jobVersion The version of the job to get. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + jobVersion: number, + options?: JobVersionsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/jobs.ts b/sdk/sql/arm-sql/src/operationsInterfaces/jobs.ts new file mode 100644 index 000000000000..71e023900795 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/jobs.ts @@ -0,0 +1,88 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Job, + JobsListByAgentOptionalParams, + JobsGetOptionalParams, + JobsGetResponse, + JobsCreateOrUpdateOptionalParams, + JobsCreateOrUpdateResponse, + JobsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a Jobs. */ +export interface Jobs { + /** + * Gets a list of jobs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param options The options parameters. + */ + listByAgent( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + options?: JobsListByAgentOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a job. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobsGetOptionalParams + ): Promise; + /** + * Creates or updates a job. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to get. + * @param parameters The requested job state. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + parameters: Job, + options?: JobsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a job. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param jobAgentName The name of the job agent. + * @param jobName The name of the job to delete. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + jobAgentName: string, + jobName: string, + options?: JobsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/ledgerDigestUploadsOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/ledgerDigestUploadsOperations.ts new file mode 100644 index 000000000000..e9a937b1e8c7 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/ledgerDigestUploadsOperations.ts @@ -0,0 +1,137 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + LedgerDigestUploads, + LedgerDigestUploadsOperationsListByDatabaseOptionalParams, + LedgerDigestUploadsName, + LedgerDigestUploadsOperationsGetOptionalParams, + LedgerDigestUploadsOperationsGetResponse, + LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams, + LedgerDigestUploadsOperationsCreateOrUpdateResponse, + LedgerDigestUploadsOperationsDisableOptionalParams, + LedgerDigestUploadsOperationsDisableResponse +} from "../models"; + +/// +/** Interface representing a LedgerDigestUploadsOperations. */ +export interface LedgerDigestUploadsOperations { + /** + * Gets all ledger digest upload settings on a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LedgerDigestUploadsOperationsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the current ledger digest upload configuration for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + options?: LedgerDigestUploadsOperationsGetOptionalParams + ): Promise; + /** + * Enables upload ledger digests to an Azure Storage account or an Azure Confidential Ledger instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param parameters Azure SQL Database ledger digest upload settings. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + parameters: LedgerDigestUploads, + options?: LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LedgerDigestUploadsOperationsCreateOrUpdateResponse + > + >; + /** + * Enables upload ledger digests to an Azure Storage account or an Azure Confidential Ledger instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param parameters Azure SQL Database ledger digest upload settings. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + parameters: LedgerDigestUploads, + options?: LedgerDigestUploadsOperationsCreateOrUpdateOptionalParams + ): Promise; + /** + * Disables uploading ledger digests to an Azure Storage account or an Azure Confidential Ledger + * instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param options The options parameters. + */ + beginDisable( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + options?: LedgerDigestUploadsOperationsDisableOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LedgerDigestUploadsOperationsDisableResponse + > + >; + /** + * Disables uploading ledger digests to an Azure Storage account or an Azure Confidential Ledger + * instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param ledgerDigestUploads + * @param options The options parameters. + */ + beginDisableAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + ledgerDigestUploads: LedgerDigestUploadsName, + options?: LedgerDigestUploadsOperationsDisableOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionBackups.ts b/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionBackups.ts new file mode 100644 index 000000000000..f627baf1a663 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionBackups.ts @@ -0,0 +1,383 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + LongTermRetentionBackup, + LongTermRetentionBackupsListByDatabaseOptionalParams, + LongTermRetentionBackupsListByLocationOptionalParams, + LongTermRetentionBackupsListByServerOptionalParams, + LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams, + LongTermRetentionBackupsListByResourceGroupLocationOptionalParams, + LongTermRetentionBackupsListByResourceGroupServerOptionalParams, + CopyLongTermRetentionBackupParameters, + LongTermRetentionBackupsCopyOptionalParams, + LongTermRetentionBackupsCopyResponse, + UpdateLongTermRetentionBackupParameters, + LongTermRetentionBackupsUpdateOptionalParams, + LongTermRetentionBackupsUpdateResponse, + LongTermRetentionBackupsGetOptionalParams, + LongTermRetentionBackupsGetResponse, + LongTermRetentionBackupsDeleteOptionalParams, + LongTermRetentionBackupsCopyByResourceGroupOptionalParams, + LongTermRetentionBackupsCopyByResourceGroupResponse, + LongTermRetentionBackupsUpdateByResourceGroupOptionalParams, + LongTermRetentionBackupsUpdateByResourceGroupResponse, + LongTermRetentionBackupsGetByResourceGroupOptionalParams, + LongTermRetentionBackupsGetByResourceGroupResponse, + LongTermRetentionBackupsDeleteByResourceGroupOptionalParams +} from "../models"; + +/// +/** Interface representing a LongTermRetentionBackups. */ +export interface LongTermRetentionBackups { + /** + * Lists all long term retention backups for a database. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param options The options parameters. + */ + listByDatabase( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the long term retention backups for a given location. + * @param locationName The location of the database + * @param options The options parameters. + */ + listByLocation( + locationName: string, + options?: LongTermRetentionBackupsListByLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the long term retention backups for a given server. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param options The options parameters. + */ + listByServer( + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists all long term retention backups for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param options The options parameters. + */ + listByResourceGroupDatabase( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + options?: LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the long term retention backups for a given location. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param options The options parameters. + */ + listByResourceGroupLocation( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionBackupsListByResourceGroupLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the long term retention backups for a given server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param options The options parameters. + */ + listByResourceGroupServer( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + options?: LongTermRetentionBackupsListByResourceGroupServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Copy an existing long term retention backup. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The parameters needed for long term retention copy request + * @param options The options parameters. + */ + beginCopy( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: CopyLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsCopyOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionBackupsCopyResponse + > + >; + /** + * Copy an existing long term retention backup. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The parameters needed for long term retention copy request + * @param options The options parameters. + */ + beginCopyAndWait( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: CopyLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsCopyOptionalParams + ): Promise; + /** + * Updates an existing long term retention backup. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The requested backup resource state + * @param options The options parameters. + */ + beginUpdate( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: UpdateLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionBackupsUpdateResponse + > + >; + /** + * Updates an existing long term retention backup. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The requested backup resource state + * @param options The options parameters. + */ + beginUpdateAndWait( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: UpdateLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsUpdateOptionalParams + ): Promise; + /** + * Gets a long term retention backup. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param options The options parameters. + */ + get( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsGetOptionalParams + ): Promise; + /** + * Deletes a long term retention backup. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param options The options parameters. + */ + beginDelete( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a long term retention backup. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param options The options parameters. + */ + beginDeleteAndWait( + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsDeleteOptionalParams + ): Promise; + /** + * Copy an existing long term retention backup to a different server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The parameters needed for long term retention copy request + * @param options The options parameters. + */ + beginCopyByResourceGroup( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: CopyLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionBackupsCopyByResourceGroupResponse + > + >; + /** + * Copy an existing long term retention backup to a different server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The parameters needed for long term retention copy request + * @param options The options parameters. + */ + beginCopyByResourceGroupAndWait( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: CopyLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams + ): Promise; + /** + * Updates an existing long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The requested backup resource state + * @param options The options parameters. + */ + beginUpdateByResourceGroup( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: UpdateLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionBackupsUpdateByResourceGroupResponse + > + >; + /** + * Updates an existing long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param parameters The requested backup resource state + * @param options The options parameters. + */ + beginUpdateByResourceGroupAndWait( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + parameters: UpdateLongTermRetentionBackupParameters, + options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams + ): Promise; + /** + * Gets a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param options The options parameters. + */ + getByResourceGroup( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsGetByResourceGroupOptionalParams + ): Promise; + /** + * Deletes a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param options The options parameters. + */ + beginDeleteByResourceGroup( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams + ): Promise, void>>; + /** + * Deletes a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param longTermRetentionServerName The name of the server + * @param longTermRetentionDatabaseName The name of the database + * @param backupName The backup name. + * @param options The options parameters. + */ + beginDeleteByResourceGroupAndWait( + resourceGroupName: string, + locationName: string, + longTermRetentionServerName: string, + longTermRetentionDatabaseName: string, + backupName: string, + options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionManagedInstanceBackups.ts b/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionManagedInstanceBackups.ts new file mode 100644 index 000000000000..0e16de46d652 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionManagedInstanceBackups.ts @@ -0,0 +1,205 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedInstanceLongTermRetentionBackup, + LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams, + LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams, + LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams, + LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams, + LongTermRetentionManagedInstanceBackupsGetOptionalParams, + LongTermRetentionManagedInstanceBackupsGetResponse, + LongTermRetentionManagedInstanceBackupsDeleteOptionalParams, + LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams, + LongTermRetentionManagedInstanceBackupsGetByResourceGroupResponse, + LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams +} from "../models"; + +/// +/** Interface representing a LongTermRetentionManagedInstanceBackups. */ +export interface LongTermRetentionManagedInstanceBackups { + /** + * Lists all long term retention backups for a managed database. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param options The options parameters. + */ + listByDatabase( + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the long term retention backups for a given managed instance. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the long term retention backups for managed databases in a given location. + * @param locationName The location of the database. + * @param options The options parameters. + */ + listByLocation( + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists all long term retention backups for a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param options The options parameters. + */ + listByResourceGroupDatabase( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the long term retention backups for a given managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByResourceGroupInstance( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the long term retention backups for managed databases in a given location. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param options The options parameters. + */ + listByResourceGroupLocation( + resourceGroupName: string, + locationName: string, + options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a long term retention backup for a managed database. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + get( + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsGetOptionalParams + ): Promise; + /** + * Deletes a long term retention backup. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + beginDelete( + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a long term retention backup. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + beginDeleteAndWait( + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsDeleteOptionalParams + ): Promise; + /** + * Gets a long term retention backup for a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + getByResourceGroup( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams + ): Promise; + /** + * Deletes a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + beginDeleteByResourceGroup( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams + ): Promise, void>>; + /** + * Deletes a long term retention backup. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The location of the database + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database. + * @param backupName The backup name. + * @param options The options parameters. + */ + beginDeleteByResourceGroupAndWait( + resourceGroupName: string, + locationName: string, + managedInstanceName: string, + databaseName: string, + backupName: string, + options?: LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionPolicies.ts new file mode 100644 index 000000000000..70e095af28c1 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/longTermRetentionPolicies.ts @@ -0,0 +1,96 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + LongTermRetentionPolicy, + LongTermRetentionPoliciesListByDatabaseOptionalParams, + LongTermRetentionPolicyName, + LongTermRetentionPoliciesGetOptionalParams, + LongTermRetentionPoliciesGetResponse, + LongTermRetentionPoliciesCreateOrUpdateOptionalParams, + LongTermRetentionPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a LongTermRetentionPolicies. */ +export interface LongTermRetentionPolicies { + /** + * Gets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: LongTermRetentionPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: LongTermRetentionPolicyName, + options?: LongTermRetentionPoliciesGetOptionalParams + ): Promise; + /** + * Sets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param parameters The long term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: LongTermRetentionPolicyName, + parameters: LongTermRetentionPolicy, + options?: LongTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + LongTermRetentionPoliciesCreateOrUpdateResponse + > + >; + /** + * Sets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param parameters The long term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + policyName: LongTermRetentionPolicyName, + parameters: LongTermRetentionPolicy, + options?: LongTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/maintenanceWindowOptionsOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/maintenanceWindowOptionsOperations.ts new file mode 100644 index 000000000000..c631635b6e5f --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/maintenanceWindowOptionsOperations.ts @@ -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. + */ + +import { + MaintenanceWindowOptionsOperationsGetOptionalParams, + MaintenanceWindowOptionsOperationsGetResponse +} from "../models"; + +/** Interface representing a MaintenanceWindowOptionsOperations. */ +export interface MaintenanceWindowOptionsOperations { + /** + * Gets a list of available maintenance windows. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to get maintenance windows options for. + * @param maintenanceWindowOptionsName Maintenance window options name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + maintenanceWindowOptionsName: string, + options?: MaintenanceWindowOptionsOperationsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/maintenanceWindowsOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/maintenanceWindowsOperations.ts new file mode 100644 index 000000000000..01c4304266f4 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/maintenanceWindowsOperations.ts @@ -0,0 +1,52 @@ +/* + * 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 { + MaintenanceWindowsOperationsGetOptionalParams, + MaintenanceWindowsOperationsGetResponse, + MaintenanceWindows, + MaintenanceWindowsOperationsCreateOrUpdateOptionalParams +} from "../models"; + +/** Interface representing a MaintenanceWindowsOperations. */ +export interface MaintenanceWindowsOperations { + /** + * Gets maintenance windows settings for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to get maintenance windows for. + * @param maintenanceWindowName Maintenance window name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + maintenanceWindowName: string, + options?: MaintenanceWindowsOperationsGetOptionalParams + ): Promise; + /** + * Sets maintenance windows settings for a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database to set maintenance windows for. + * @param maintenanceWindowName Maintenance window name. + * @param parameters Maintenance windows. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + maintenanceWindowName: string, + parameters: MaintenanceWindows, + options?: MaintenanceWindowsOperationsCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedBackupShortTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedBackupShortTermRetentionPolicies.ts new file mode 100644 index 000000000000..c21ed045a5cd --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedBackupShortTermRetentionPolicies.ts @@ -0,0 +1,141 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedBackupShortTermRetentionPolicy, + ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams, + ManagedShortTermRetentionPolicyName, + ManagedBackupShortTermRetentionPoliciesGetOptionalParams, + ManagedBackupShortTermRetentionPoliciesGetResponse, + ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams, + ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse, + ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams, + ManagedBackupShortTermRetentionPoliciesUpdateResponse +} from "../models"; + +/// +/** Interface representing a ManagedBackupShortTermRetentionPolicies. */ +export interface ManagedBackupShortTermRetentionPolicies { + /** + * Gets a managed database's short term retention policy list. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + options?: ManagedBackupShortTermRetentionPoliciesGetOptionalParams + ): Promise; + /** + * Updates a managed database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse + >, + ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse + > + >; + /** + * Updates a managed database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates a managed database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedBackupShortTermRetentionPoliciesUpdateResponse + > + >; + /** + * Updates a managed database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseColumns.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseColumns.ts new file mode 100644 index 000000000000..0d347fb9672e --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseColumns.ts @@ -0,0 +1,74 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseColumn, + ManagedDatabaseColumnsListByDatabaseOptionalParams, + ManagedDatabaseColumnsListByTableOptionalParams, + ManagedDatabaseColumnsGetOptionalParams, + ManagedDatabaseColumnsGetResponse +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseColumns. */ +export interface ManagedDatabaseColumns { + /** + * List managed database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseColumnsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * List managed database columns + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + listByTable( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: ManagedDatabaseColumnsListByTableOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get managed database column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: ManagedDatabaseColumnsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseQueries.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseQueries.ts new file mode 100644 index 000000000000..da4577c3995d --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseQueries.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + QueryStatistics, + ManagedDatabaseQueriesListByQueryOptionalParams, + ManagedDatabaseQueriesGetOptionalParams, + ManagedDatabaseQueriesGetResponse +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseQueries. */ +export interface ManagedDatabaseQueries { + /** + * Get query execution statistics by query id. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param queryId + * @param options The options parameters. + */ + listByQuery( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + queryId: string, + options?: ManagedDatabaseQueriesListByQueryOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get query by query id. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param queryId + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + queryId: string, + options?: ManagedDatabaseQueriesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseRecommendedSensitivityLabels.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseRecommendedSensitivityLabels.ts new file mode 100644 index 000000000000..939f9d10efdf --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseRecommendedSensitivityLabels.ts @@ -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. + */ + +import { + RecommendedSensitivityLabelUpdateList, + ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams +} from "../models"; + +/** Interface representing a ManagedDatabaseRecommendedSensitivityLabels. */ +export interface ManagedDatabaseRecommendedSensitivityLabels { + /** + * Update recommended sensitivity labels states of a given database using an operations batch. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters A list of recommended sensitivity label update operations. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: RecommendedSensitivityLabelUpdateList, + options?: ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseRestoreDetails.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseRestoreDetails.ts new file mode 100644 index 000000000000..f8ddbb151f5b --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseRestoreDetails.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. + */ + +import { + RestoreDetailsName, + ManagedDatabaseRestoreDetailsGetOptionalParams, + ManagedDatabaseRestoreDetailsGetResponse +} from "../models"; + +/** Interface representing a ManagedDatabaseRestoreDetails. */ +export interface ManagedDatabaseRestoreDetails { + /** + * Gets managed database restore details. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param restoreDetailsName The name of the restore details to retrieve. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + restoreDetailsName: RestoreDetailsName, + options?: ManagedDatabaseRestoreDetailsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSchemas.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSchemas.ts new file mode 100644 index 000000000000..edaf69dccbd4 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSchemas.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseSchema, + ManagedDatabaseSchemasListByDatabaseOptionalParams, + ManagedDatabaseSchemasGetOptionalParams, + ManagedDatabaseSchemasGetResponse +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseSchemas. */ +export interface ManagedDatabaseSchemas { + /** + * List managed database schemas + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSchemasListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get managed database schema + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + options?: ManagedDatabaseSchemasGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSecurityAlertPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSecurityAlertPolicies.ts new file mode 100644 index 000000000000..68a6a2955216 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSecurityAlertPolicies.ts @@ -0,0 +1,73 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ManagedDatabaseSecurityAlertPolicy, + ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams, + SecurityAlertPolicyName, + ManagedDatabaseSecurityAlertPoliciesGetOptionalParams, + ManagedDatabaseSecurityAlertPoliciesGetResponse, + ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams, + ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseSecurityAlertPolicies. */ +export interface ManagedDatabaseSecurityAlertPolicies { + /** + * Gets a list of managed database's security alert policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security alert policies are + * defined. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed database's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security alert policy is defined. + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: ManagedDatabaseSecurityAlertPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates a database's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security alert policy is defined. + * @param securityAlertPolicyName The name of the security alert policy. + * @param parameters The database security alert policy. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ManagedDatabaseSecurityAlertPolicy, + options?: ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSecurityEvents.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSecurityEvents.ts new file mode 100644 index 000000000000..4861ecbb7812 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSecurityEvents.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SecurityEvent, + ManagedDatabaseSecurityEventsListByDatabaseOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseSecurityEvents. */ +export interface ManagedDatabaseSecurityEvents { + /** + * Gets a list of security events. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security events are retrieved. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSecurityEventsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSensitivityLabels.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSensitivityLabels.ts new file mode 100644 index 000000000000..8e020ed2e99b --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseSensitivityLabels.ts @@ -0,0 +1,179 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SensitivityLabel, + ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams, + ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams, + SensitivityLabelSource, + ManagedDatabaseSensitivityLabelsGetOptionalParams, + ManagedDatabaseSensitivityLabelsGetResponse, + ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams, + ManagedDatabaseSensitivityLabelsCreateOrUpdateResponse, + ManagedDatabaseSensitivityLabelsDeleteOptionalParams, + ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams, + ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams, + SensitivityLabelUpdateList, + ManagedDatabaseSensitivityLabelsUpdateOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseSensitivityLabels. */ +export interface ManagedDatabaseSensitivityLabels { + /** + * Gets the sensitivity labels of a given database + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listCurrentByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the sensitivity labels of a given database + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listRecommendedByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the sensitivity label of a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param sensitivityLabelSource The source of the sensitivity label. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + sensitivityLabelSource: SensitivityLabelSource, + options?: ManagedDatabaseSensitivityLabelsGetOptionalParams + ): Promise; + /** + * Creates or updates the sensitivity label of a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param parameters The column sensitivity label resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + parameters: SensitivityLabel, + options?: ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the sensitivity label of a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: ManagedDatabaseSensitivityLabelsDeleteOptionalParams + ): Promise; + /** + * Disables sensitivity recommendations on a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + disableRecommendation( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams + ): Promise; + /** + * Enables sensitivity recommendations on a given column (recommendations are enabled by default on all + * columns) + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + enableRecommendation( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams + ): Promise; + /** + * Update sensitivity labels of a given database using an operations batch. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters A list of sensitivity label update operations. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: SensitivityLabelUpdateList, + options?: ManagedDatabaseSensitivityLabelsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseTables.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseTables.ts new file mode 100644 index 000000000000..d16000843c31 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseTables.ts @@ -0,0 +1,55 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseTable, + ManagedDatabaseTablesListBySchemaOptionalParams, + ManagedDatabaseTablesGetOptionalParams, + ManagedDatabaseTablesGetResponse +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseTables. */ +export interface ManagedDatabaseTables { + /** + * List managed database tables + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param options The options parameters. + */ + listBySchema( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + options?: ManagedDatabaseTablesListBySchemaOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get managed database table + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + schemaName: string, + tableName: string, + options?: ManagedDatabaseTablesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseTransparentDataEncryption.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseTransparentDataEncryption.ts new file mode 100644 index 000000000000..0f668127b80b --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseTransparentDataEncryption.ts @@ -0,0 +1,74 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ManagedTransparentDataEncryption, + ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams, + TransparentDataEncryptionName, + ManagedDatabaseTransparentDataEncryptionGetOptionalParams, + ManagedDatabaseTransparentDataEncryptionGetResponse, + ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams, + ManagedDatabaseTransparentDataEncryptionCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseTransparentDataEncryption. */ +export interface ManagedDatabaseTransparentDataEncryption { + /** + * Gets a list of managed database's transparent data encryptions. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the transparent data encryption is + * defined. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed database's transparent data encryption. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the transparent data encryption is + * defined. + * @param tdeName The name of the transparent data encryption configuration. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + tdeName: TransparentDataEncryptionName, + options?: ManagedDatabaseTransparentDataEncryptionGetOptionalParams + ): Promise; + /** + * Updates a database's transparent data encryption configuration. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the managed database for which the security alert policy is defined. + * @param tdeName The name of the transparent data encryption configuration. + * @param parameters The database transparent data encryption. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + tdeName: TransparentDataEncryptionName, + parameters: ManagedTransparentDataEncryption, + options?: ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessmentRuleBaselines.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessmentRuleBaselines.ts new file mode 100644 index 000000000000..805767112711 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessmentRuleBaselines.ts @@ -0,0 +1,92 @@ +/* + * 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 { + VulnerabilityAssessmentName, + VulnerabilityAssessmentPolicyBaselineName, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetResponse, + DatabaseVulnerabilityAssessmentRuleBaseline, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams +} from "../models"; + +/** Interface representing a ManagedDatabaseVulnerabilityAssessmentRuleBaselines. */ +export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselines { + /** + * Gets a database's vulnerability assessment rule baseline. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param ruleId The vulnerability assessment rule ID. + * @param baselineName The name of the vulnerability assessment rule baseline (default implies a + * baseline on a database level rule and master for server level rule). + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams + ): Promise; + /** + * Creates or updates a database's vulnerability assessment rule baseline. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param ruleId The vulnerability assessment rule ID. + * @param baselineName The name of the vulnerability assessment rule baseline (default implies a + * baseline on a database level rule and master for server level rule). + * @param parameters The requested rule baseline resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + parameters: DatabaseVulnerabilityAssessmentRuleBaseline, + options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams + ): Promise< + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse + >; + /** + * Removes the database's vulnerability assessment rule baseline. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database for which the vulnerability assessment rule baseline is + * defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param ruleId The vulnerability assessment rule ID. + * @param baselineName The name of the vulnerability assessment rule baseline (default implies a + * baseline on a database level rule and master for server level rule). + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + ruleId: string, + baselineName: VulnerabilityAssessmentPolicyBaselineName, + options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessmentScans.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessmentScans.ts new file mode 100644 index 000000000000..5498540a9035 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessmentScans.ts @@ -0,0 +1,114 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VulnerabilityAssessmentScanRecord, + VulnerabilityAssessmentName, + ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansExportResponse, + ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams, + ManagedDatabaseVulnerabilityAssessmentScansGetResponse +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseVulnerabilityAssessmentScans. */ +export interface ManagedDatabaseVulnerabilityAssessmentScans { + /** + * Lists the vulnerability assessment scans of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Executes a Vulnerability Assessment database scan. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id of the scan to retrieve. + * @param options The options parameters. + */ + beginInitiateScan( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + ): Promise, void>>; + /** + * Executes a Vulnerability Assessment database scan. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id of the scan to retrieve. + * @param options The options parameters. + */ + beginInitiateScanAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams + ): Promise; + /** + * Convert an existing scan result to a human readable format. If already exists nothing happens + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the scanned database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id. + * @param options The options parameters. + */ + export( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams + ): Promise; + /** + * Gets a vulnerability assessment scan record of a database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param scanId The vulnerability assessment scan Id of the scan to retrieve. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + scanId: string, + options?: ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessments.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessments.ts new file mode 100644 index 000000000000..fc4e055003d6 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabaseVulnerabilityAssessments.ts @@ -0,0 +1,89 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + DatabaseVulnerabilityAssessment, + ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams, + VulnerabilityAssessmentName, + ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams, + ManagedDatabaseVulnerabilityAssessmentsGetResponse, + ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams, + ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateResponse, + ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedDatabaseVulnerabilityAssessments. */ +export interface ManagedDatabaseVulnerabilityAssessments { + /** + * Lists the vulnerability assessments of a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the database's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams + ): Promise; + /** + * Creates or updates the database's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param parameters The requested resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + parameters: DatabaseVulnerabilityAssessment, + options?: ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Removes the database's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabases.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabases.ts new file mode 100644 index 000000000000..2261786b408b --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedDatabases.ts @@ -0,0 +1,203 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedDatabase, + ManagedDatabasesListByInstanceOptionalParams, + ManagedDatabasesListInaccessibleByInstanceOptionalParams, + ManagedDatabasesGetOptionalParams, + ManagedDatabasesGetResponse, + ManagedDatabasesCreateOrUpdateOptionalParams, + ManagedDatabasesCreateOrUpdateResponse, + ManagedDatabasesDeleteOptionalParams, + ManagedDatabaseUpdate, + ManagedDatabasesUpdateOptionalParams, + ManagedDatabasesUpdateResponse, + CompleteDatabaseRestoreDefinition, + ManagedDatabasesCompleteRestoreOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedDatabases. */ +export interface ManagedDatabases { + /** + * Gets a list of managed databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of inaccessible managed databases in a managed instance + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listInaccessibleByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedDatabasesListInaccessibleByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabasesGetOptionalParams + ): Promise; + /** + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: ManagedDatabase, + options?: ManagedDatabasesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedDatabasesCreateOrUpdateResponse + > + >; + /** + * Creates a new database or updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: ManagedDatabase, + options?: ManagedDatabasesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabasesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedDatabasesDeleteOptionalParams + ): Promise; + /** + * Updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: ManagedDatabaseUpdate, + options?: ManagedDatabasesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedDatabasesUpdateResponse + > + >; + /** + * Updates an existing database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters The requested database resource state. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: ManagedDatabaseUpdate, + options?: ManagedDatabasesUpdateOptionalParams + ): Promise; + /** + * Completes the restore operation on a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters The definition for completing the restore of this managed database. + * @param options The options parameters. + */ + beginCompleteRestore( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: CompleteDatabaseRestoreDefinition, + options?: ManagedDatabasesCompleteRestoreOptionalParams + ): Promise, void>>; + /** + * Completes the restore operation on a managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param parameters The definition for completing the restore of this managed database. + * @param options The options parameters. + */ + beginCompleteRestoreAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + parameters: CompleteDatabaseRestoreDefinition, + options?: ManagedDatabasesCompleteRestoreOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceAdministrators.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceAdministrators.ts new file mode 100644 index 000000000000..c9ba0c758abc --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceAdministrators.ts @@ -0,0 +1,117 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedInstanceAdministrator, + ManagedInstanceAdministratorsListByInstanceOptionalParams, + AdministratorName, + ManagedInstanceAdministratorsGetOptionalParams, + ManagedInstanceAdministratorsGetResponse, + ManagedInstanceAdministratorsCreateOrUpdateOptionalParams, + ManagedInstanceAdministratorsCreateOrUpdateResponse, + ManagedInstanceAdministratorsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedInstanceAdministrators. */ +export interface ManagedInstanceAdministrators { + /** + * Gets a list of managed instance administrators. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAdministratorsListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed instance administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param administratorName + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + options?: ManagedInstanceAdministratorsGetOptionalParams + ): Promise; + /** + * Creates or updates a managed instance administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param administratorName + * @param parameters The requested administrator parameters. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + parameters: ManagedInstanceAdministrator, + options?: ManagedInstanceAdministratorsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedInstanceAdministratorsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a managed instance administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param administratorName + * @param parameters The requested administrator parameters. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + parameters: ManagedInstanceAdministrator, + options?: ManagedInstanceAdministratorsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a managed instance administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param administratorName + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + options?: ManagedInstanceAdministratorsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a managed instance administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param administratorName + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + administratorName: AdministratorName, + options?: ManagedInstanceAdministratorsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceAzureADOnlyAuthentications.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceAzureADOnlyAuthentications.ts new file mode 100644 index 000000000000..89bcbc2b8b8d --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceAzureADOnlyAuthentications.ts @@ -0,0 +1,123 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedInstanceAzureADOnlyAuthentication, + ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams, + AuthenticationName, + ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams, + ManagedInstanceAzureADOnlyAuthenticationsGetResponse, + ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams, + ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse, + ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedInstanceAzureADOnlyAuthentications. */ +export interface ManagedInstanceAzureADOnlyAuthentications { + /** + * Gets a list of server Azure Active Directory only authentications. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a specific Azure Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + options?: ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams + ): Promise; + /** + * Sets Server Active Directory only authentication property or updates an existing server Active + * Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param parameters The required parameters for creating or updating an Active Directory only + * authentication property. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + parameters: ManagedInstanceAzureADOnlyAuthentication, + options?: ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse + >, + ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse + > + >; + /** + * Sets Server Active Directory only authentication property or updates an existing server Active + * Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param parameters The required parameters for creating or updating an Active Directory only + * authentication property. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + parameters: ManagedInstanceAzureADOnlyAuthentication, + options?: ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an existing server Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + options?: ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an existing server Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + authenticationName: AuthenticationName, + options?: ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceEncryptionProtectors.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceEncryptionProtectors.ts new file mode 100644 index 000000000000..ebc613e7e980 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceEncryptionProtectors.ts @@ -0,0 +1,119 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedInstanceEncryptionProtector, + ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams, + EncryptionProtectorName, + ManagedInstanceEncryptionProtectorsRevalidateOptionalParams, + ManagedInstanceEncryptionProtectorsGetOptionalParams, + ManagedInstanceEncryptionProtectorsGetResponse, + ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams, + ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ManagedInstanceEncryptionProtectors. */ +export interface ManagedInstanceEncryptionProtectors { + /** + * Gets a list of managed instance encryption protectors + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Revalidates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param options The options parameters. + */ + beginRevalidate( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: ManagedInstanceEncryptionProtectorsRevalidateOptionalParams + ): Promise, void>>; + /** + * Revalidates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param options The options parameters. + */ + beginRevalidateAndWait( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: ManagedInstanceEncryptionProtectorsRevalidateOptionalParams + ): Promise; + /** + * Gets a managed instance encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param encryptionProtectorName The name of the encryption protector to be retrieved. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + options?: ManagedInstanceEncryptionProtectorsGetOptionalParams + ): Promise; + /** + * Updates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param parameters The requested encryption protector resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + parameters: ManagedInstanceEncryptionProtector, + options?: ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse + >, + ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse + > + >; + /** + * Updates an existing encryption protector. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param encryptionProtectorName The name of the encryption protector to be updated. + * @param parameters The requested encryption protector resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + encryptionProtectorName: EncryptionProtectorName, + parameters: ManagedInstanceEncryptionProtector, + options?: ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceKeys.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceKeys.ts new file mode 100644 index 000000000000..b2d79c9fb144 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceKeys.ts @@ -0,0 +1,116 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedInstanceKey, + ManagedInstanceKeysListByInstanceOptionalParams, + ManagedInstanceKeysGetOptionalParams, + ManagedInstanceKeysGetResponse, + ManagedInstanceKeysCreateOrUpdateOptionalParams, + ManagedInstanceKeysCreateOrUpdateResponse, + ManagedInstanceKeysDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedInstanceKeys. */ +export interface ManagedInstanceKeys { + /** + * Gets a list of managed instance keys. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceKeysListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed instance key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param keyName The name of the managed instance key to be retrieved. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + options?: ManagedInstanceKeysGetOptionalParams + ): Promise; + /** + * Creates or updates a managed instance key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param keyName The name of the managed instance key to be operated on (updated or created). + * @param parameters The requested managed instance key resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + parameters: ManagedInstanceKey, + options?: ManagedInstanceKeysCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedInstanceKeysCreateOrUpdateResponse + > + >; + /** + * Creates or updates a managed instance key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param keyName The name of the managed instance key to be operated on (updated or created). + * @param parameters The requested managed instance key resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + parameters: ManagedInstanceKey, + options?: ManagedInstanceKeysCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the managed instance key with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param keyName The name of the managed instance key to be deleted. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + options?: ManagedInstanceKeysDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes the managed instance key with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param keyName The name of the managed instance key to be deleted. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + keyName: string, + options?: ManagedInstanceKeysDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceLongTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceLongTermRetentionPolicies.ts new file mode 100644 index 000000000000..bf41256e9d1d --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceLongTermRetentionPolicies.ts @@ -0,0 +1,98 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedInstanceLongTermRetentionPolicy, + ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams, + ManagedInstanceLongTermRetentionPolicyName, + ManagedInstanceLongTermRetentionPoliciesGetOptionalParams, + ManagedInstanceLongTermRetentionPoliciesGetResponse, + ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams, + ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ManagedInstanceLongTermRetentionPolicies. */ +export interface ManagedInstanceLongTermRetentionPolicies { + /** + * Gets a database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + options?: ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedInstanceLongTermRetentionPolicyName, + options?: ManagedInstanceLongTermRetentionPoliciesGetOptionalParams + ): Promise; + /** + * Sets a managed database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param parameters The long term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedInstanceLongTermRetentionPolicyName, + parameters: ManagedInstanceLongTermRetentionPolicy, + options?: ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse + >, + ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse + > + >; + /** + * Sets a managed database's long term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param databaseName The name of the database. + * @param policyName The policy name. Should always be Default. + * @param parameters The long term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + databaseName: string, + policyName: ManagedInstanceLongTermRetentionPolicyName, + parameters: ManagedInstanceLongTermRetentionPolicy, + options?: ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceOperations.ts new file mode 100644 index 000000000000..fa0fc8994667 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceOperations.ts @@ -0,0 +1,62 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ManagedInstanceOperation, + ManagedInstanceOperationsListByManagedInstanceOptionalParams, + ManagedInstanceOperationsGetOptionalParams, + ManagedInstanceOperationsGetResponse, + ManagedInstanceOperationsCancelOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedInstanceOperations. */ +export interface ManagedInstanceOperations { + /** + * Gets a list of operations performed on the managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceOperationsListByManagedInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a management operation on a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param operationId + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + operationId: string, + options?: ManagedInstanceOperationsGetOptionalParams + ): Promise; + /** + * Cancels the asynchronous operation on the managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param operationId + * @param options The options parameters. + */ + cancel( + resourceGroupName: string, + managedInstanceName: string, + operationId: string, + options?: ManagedInstanceOperationsCancelOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstancePrivateEndpointConnections.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstancePrivateEndpointConnections.ts new file mode 100644 index 000000000000..ca2a888a36cb --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstancePrivateEndpointConnections.ts @@ -0,0 +1,118 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedInstancePrivateEndpointConnection, + ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams, + ManagedInstancePrivateEndpointConnectionsGetOptionalParams, + ManagedInstancePrivateEndpointConnectionsGetResponse, + ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams, + ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse, + ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedInstancePrivateEndpointConnections. */ +export interface ManagedInstancePrivateEndpointConnections { + /** + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a private endpoint connection. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName The name of the private endpoint connection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + options?: ManagedInstancePrivateEndpointConnectionsGetOptionalParams + ): Promise; + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + parameters: ManagedInstancePrivateEndpointConnection, + options?: ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse + >, + ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse + > + >; + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + parameters: ManagedInstancePrivateEndpointConnection, + options?: ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + options?: ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + privateEndpointConnectionName: string, + options?: ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstancePrivateLinkResources.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstancePrivateLinkResources.ts new file mode 100644 index 000000000000..17b570e8c54e --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstancePrivateLinkResources.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ManagedInstancePrivateLink, + ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams, + ManagedInstancePrivateLinkResourcesGetOptionalParams, + ManagedInstancePrivateLinkResourcesGetResponse +} from "../models"; + +/// +/** Interface representing a ManagedInstancePrivateLinkResources. */ +export interface ManagedInstancePrivateLinkResources { + /** + * Gets the private link resources for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a private link resource for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param groupName The name of the private link resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + groupName: string, + options?: ManagedInstancePrivateLinkResourcesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceTdeCertificates.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceTdeCertificates.ts new file mode 100644 index 000000000000..755e9ac722b0 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceTdeCertificates.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. + */ + +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + TdeCertificate, + ManagedInstanceTdeCertificatesCreateOptionalParams +} from "../models"; + +/** Interface representing a ManagedInstanceTdeCertificates. */ +export interface ManagedInstanceTdeCertificates { + /** + * Creates a TDE certificate for a given server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested TDE certificate to be created or updated. + * @param options The options parameters. + */ + beginCreate( + resourceGroupName: string, + managedInstanceName: string, + parameters: TdeCertificate, + options?: ManagedInstanceTdeCertificatesCreateOptionalParams + ): Promise, void>>; + /** + * Creates a TDE certificate for a given server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested TDE certificate to be created or updated. + * @param options The options parameters. + */ + beginCreateAndWait( + resourceGroupName: string, + managedInstanceName: string, + parameters: TdeCertificate, + options?: ManagedInstanceTdeCertificatesCreateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceVulnerabilityAssessments.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceVulnerabilityAssessments.ts new file mode 100644 index 000000000000..1dded4b81796 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstanceVulnerabilityAssessments.ts @@ -0,0 +1,87 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ManagedInstanceVulnerabilityAssessment, + ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams, + VulnerabilityAssessmentName, + ManagedInstanceVulnerabilityAssessmentsGetOptionalParams, + ManagedInstanceVulnerabilityAssessmentsGetResponse, + ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams, + ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateResponse, + ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedInstanceVulnerabilityAssessments. */ +export interface ManagedInstanceVulnerabilityAssessments { + /** + * Gets the managed instance's vulnerability assessment policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessments + * is defined. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the managed instance's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessment + * is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedInstanceVulnerabilityAssessmentsGetOptionalParams + ): Promise; + /** + * Creates or updates the managed instance's vulnerability assessment. Learn more about setting SQL + * vulnerability assessment with managed identity - + * https://docs.microsoft.com/azure/azure-sql/database/sql-database-vulnerability-assessment-storage + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessment + * is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param parameters The requested resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + parameters: ManagedInstanceVulnerabilityAssessment, + options?: ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Removes the managed instance's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance for which the vulnerability assessment + * is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + managedInstanceName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedInstances.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstances.ts new file mode 100644 index 000000000000..a6117f45ae99 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedInstances.ts @@ -0,0 +1,200 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedInstance, + ManagedInstancesListByInstancePoolOptionalParams, + ManagedInstancesListOptionalParams, + ManagedInstancesListByResourceGroupOptionalParams, + TopQueries, + ManagedInstancesListByManagedInstanceOptionalParams, + ManagedInstancesGetOptionalParams, + ManagedInstancesGetResponse, + ManagedInstancesCreateOrUpdateOptionalParams, + ManagedInstancesCreateOrUpdateResponse, + ManagedInstancesDeleteOptionalParams, + ManagedInstanceUpdate, + ManagedInstancesUpdateOptionalParams, + ManagedInstancesUpdateResponse, + ManagedInstancesFailoverOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedInstances. */ +export interface ManagedInstances { + /** + * Gets a list of all managed instances in an instance pool. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The instance pool name. + * @param options The options parameters. + */ + listByInstancePool( + resourceGroupName: string, + instancePoolName: string, + options?: ManagedInstancesListByInstancePoolOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of all managed instances in the subscription. + * @param options The options parameters. + */ + list( + options?: ManagedInstancesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of managed instances in a resource group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: ManagedInstancesListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get top resource consuming queries of a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByManagedInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesListByManagedInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesGetOptionalParams + ): Promise; + /** + * Creates or updates a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested managed instance resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + parameters: ManagedInstance, + options?: ManagedInstancesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedInstancesCreateOrUpdateResponse + > + >; + /** + * Creates or updates a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested managed instance resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + parameters: ManagedInstance, + options?: ManagedInstancesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesDeleteOptionalParams + ): Promise; + /** + * Updates a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested managed instance resource state. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + managedInstanceName: string, + parameters: ManagedInstanceUpdate, + options?: ManagedInstancesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ManagedInstancesUpdateResponse + > + >; + /** + * Updates a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters The requested managed instance resource state. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + parameters: ManagedInstanceUpdate, + options?: ManagedInstancesUpdateOptionalParams + ): Promise; + /** + * Failovers a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance to failover. + * @param options The options parameters. + */ + beginFailover( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesFailoverOptionalParams + ): Promise, void>>; + /** + * Failovers a managed instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance to failover. + * @param options The options parameters. + */ + beginFailoverAndWait( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedInstancesFailoverOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.ts new file mode 100644 index 000000000000..785067edea3b --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedBackupShortTermRetentionPolicy, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams, + ManagedShortTermRetentionPolicyName, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse +} from "../models"; + +/// +/** Interface representing a ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies. */ +export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies { + /** + * Gets a dropped database's short term retention policy list. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param restorableDroppedDatabaseId + * @param options The options parameters. + */ + listByRestorableDroppedDatabase( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a dropped database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param restorableDroppedDatabaseId + * @param policyName The policy name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams + ): Promise< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse + >; + /** + * Sets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param restorableDroppedDatabaseId + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse + >, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse + > + >; + /** + * Sets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param restorableDroppedDatabaseId + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams + ): Promise< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse + >; + /** + * Sets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param restorableDroppedDatabaseId + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse + >, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse + > + >; + /** + * Sets a database's short term retention policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param restorableDroppedDatabaseId + * @param policyName The policy name. Should always be "default". + * @param parameters The short term retention policy info. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + policyName: ManagedShortTermRetentionPolicyName, + parameters: ManagedBackupShortTermRetentionPolicy, + options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams + ): Promise< + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse + >; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/managedServerSecurityAlertPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/managedServerSecurityAlertPolicies.ts new file mode 100644 index 000000000000..8610df9acfb9 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/managedServerSecurityAlertPolicies.ts @@ -0,0 +1,90 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ManagedServerSecurityAlertPolicy, + ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams, + SecurityAlertPolicyName, + ManagedServerSecurityAlertPoliciesGetOptionalParams, + ManagedServerSecurityAlertPoliciesGetResponse, + ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams, + ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ManagedServerSecurityAlertPolicies. */ +export interface ManagedServerSecurityAlertPolicies { + /** + * Get the managed server's threat detection policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a managed server's threat detection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: ManagedServerSecurityAlertPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param securityAlertPolicyName The name of the security alert policy. + * @param parameters The managed server security alert policy. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ManagedServerSecurityAlertPolicy, + options?: ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse + >, + ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse + > + >; + /** + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param securityAlertPolicyName The name of the security alert policy. + * @param parameters The managed server security alert policy. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + managedInstanceName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ManagedServerSecurityAlertPolicy, + options?: ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/operations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/operations.ts new file mode 100644 index 000000000000..086aa1f7be61 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/operations.ts @@ -0,0 +1,23 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operation, OperationsListOptionalParams } from "../models"; + +/// +/** Interface representing a Operations. */ +export interface Operations { + /** + * Lists all of the available SQL Rest API operations. + * @param options The options parameters. + */ + list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/operationsHealthOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/operationsHealthOperations.ts new file mode 100644 index 000000000000..de6438989313 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/operationsHealthOperations.ts @@ -0,0 +1,28 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + OperationsHealth, + OperationsHealthOperationsListByLocationOptionalParams +} from "../models"; + +/// +/** Interface representing a OperationsHealthOperations. */ +export interface OperationsHealthOperations { + /** + * Gets a service operation health status. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + listByLocation( + locationName: string, + options?: OperationsHealthOperationsListByLocationOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/outboundFirewallRules.ts b/sdk/sql/arm-sql/src/operationsInterfaces/outboundFirewallRules.ts new file mode 100644 index 000000000000..56ddcb08353c --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/outboundFirewallRules.ts @@ -0,0 +1,116 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + OutboundFirewallRule, + OutboundFirewallRulesListByServerOptionalParams, + OutboundFirewallRulesGetOptionalParams, + OutboundFirewallRulesGetResponse, + OutboundFirewallRulesCreateOrUpdateOptionalParams, + OutboundFirewallRulesCreateOrUpdateResponse, + OutboundFirewallRulesDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a OutboundFirewallRules. */ +export interface OutboundFirewallRules { + /** + * Gets all outbound firewall rules on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: OutboundFirewallRulesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets an outbound firewall rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + options?: OutboundFirewallRulesGetOptionalParams + ): Promise; + /** + * Create a outbound firewall rule with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param parameters An Azure SQL DB Server Outbound Firewall Rule. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + parameters: OutboundFirewallRule, + options?: OutboundFirewallRulesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + OutboundFirewallRulesCreateOrUpdateResponse + > + >; + /** + * Create a outbound firewall rule with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param parameters An Azure SQL DB Server Outbound Firewall Rule. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + parameters: OutboundFirewallRule, + options?: OutboundFirewallRulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a outbound firewall rule with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + options?: OutboundFirewallRulesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a outbound firewall rule with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param outboundRuleFqdn + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + outboundRuleFqdn: string, + options?: OutboundFirewallRulesDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/sql/arm-sql/src/operationsInterfaces/privateEndpointConnections.ts new file mode 100644 index 000000000000..80bda24fd1e3 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/privateEndpointConnections.ts @@ -0,0 +1,116 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + PrivateEndpointConnection, + PrivateEndpointConnectionsListByServerOptionalParams, + PrivateEndpointConnectionsGetOptionalParams, + PrivateEndpointConnectionsGetResponse, + PrivateEndpointConnectionsCreateOrUpdateOptionalParams, + PrivateEndpointConnectionsCreateOrUpdateResponse, + PrivateEndpointConnectionsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a PrivateEndpointConnections. */ +export interface PrivateEndpointConnections { + /** + * Gets all private endpoint connections on a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateEndpointConnectionsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a private endpoint connection. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param privateEndpointConnectionName The name of the private endpoint connection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetOptionalParams + ): Promise; + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PrivateEndpointConnectionsCreateOrUpdateResponse + > + >; + /** + * Approve or reject a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param parameters A private endpoint connection + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + parameters: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a private endpoint connection with a given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param privateEndpointConnectionName + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/privateLinkResources.ts b/sdk/sql/arm-sql/src/operationsInterfaces/privateLinkResources.ts new file mode 100644 index 000000000000..ecec12775edb --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/privateLinkResources.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByServerOptionalParams, + PrivateLinkResourcesGetOptionalParams, + PrivateLinkResourcesGetResponse +} from "../models"; + +/// +/** Interface representing a PrivateLinkResources. */ +export interface PrivateLinkResources { + /** + * Gets the private link resources for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: PrivateLinkResourcesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a private link resource for SQL server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param groupName The name of the private link resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + groupName: string, + options?: PrivateLinkResourcesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/recommendedSensitivityLabels.ts b/sdk/sql/arm-sql/src/operationsInterfaces/recommendedSensitivityLabels.ts new file mode 100644 index 000000000000..614d19a47ab4 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/recommendedSensitivityLabels.ts @@ -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. + */ + +import { + RecommendedSensitivityLabelUpdateList, + RecommendedSensitivityLabelsUpdateOptionalParams +} from "../models"; + +/** Interface representing a RecommendedSensitivityLabels. */ +export interface RecommendedSensitivityLabels { + /** + * Update recommended sensitivity labels states of a given database using an operations batch. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters A list of recommended sensitivity label update operations. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: RecommendedSensitivityLabelUpdateList, + options?: RecommendedSensitivityLabelsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/recoverableDatabases.ts b/sdk/sql/arm-sql/src/operationsInterfaces/recoverableDatabases.ts new file mode 100644 index 000000000000..3de35ff4b40a --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/recoverableDatabases.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RecoverableDatabase, + RecoverableDatabasesListByServerOptionalParams, + RecoverableDatabasesGetOptionalParams, + RecoverableDatabasesGetResponse +} from "../models"; + +/// +/** Interface representing a RecoverableDatabases. */ +export interface RecoverableDatabases { + /** + * Gets a list of recoverable databases + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: RecoverableDatabasesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a recoverable database, which is a resource representing a database's geo backup + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: RecoverableDatabasesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/recoverableManagedDatabases.ts b/sdk/sql/arm-sql/src/operationsInterfaces/recoverableManagedDatabases.ts new file mode 100644 index 000000000000..ed56401ecd94 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/recoverableManagedDatabases.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RecoverableManagedDatabase, + RecoverableManagedDatabasesListByInstanceOptionalParams, + RecoverableManagedDatabasesGetOptionalParams, + RecoverableManagedDatabasesGetResponse +} from "../models"; + +/// +/** Interface representing a RecoverableManagedDatabases. */ +export interface RecoverableManagedDatabases { + /** + * Gets a list of recoverable managed databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: RecoverableManagedDatabasesListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a recoverable managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param recoverableDatabaseName + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + recoverableDatabaseName: string, + options?: RecoverableManagedDatabasesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/replicationLinks.ts b/sdk/sql/arm-sql/src/operationsInterfaces/replicationLinks.ts new file mode 100644 index 000000000000..236a9b944833 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/replicationLinks.ts @@ -0,0 +1,188 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ReplicationLink, + ReplicationLinksListByDatabaseOptionalParams, + ReplicationLinksListByServerOptionalParams, + ReplicationLinksDeleteOptionalParams, + ReplicationLinksFailoverOptionalParams, + ReplicationLinksFailoverAllowDataLossOptionalParams, + UnlinkParameters, + ReplicationLinksUnlinkOptionalParams, + ReplicationLinksGetOptionalParams, + ReplicationLinksGetResponse +} from "../models"; + +/// +/** Interface representing a ReplicationLinks. */ +export interface ReplicationLinks { + /** + * Gets a list of replication links on database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: ReplicationLinksListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of replication links. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ReplicationLinksListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Deletes a database replication link. Cannot be done during failover. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be dropped. + * @param linkId The ID of the replication link to be deleted. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksDeleteOptionalParams + ): Promise; + /** + * Sets which replica database is primary by failing over from the current primary replica database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param options The options parameters. + */ + beginFailover( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksFailoverOptionalParams + ): Promise, void>>; + /** + * Sets which replica database is primary by failing over from the current primary replica database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param options The options parameters. + */ + beginFailoverAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksFailoverOptionalParams + ): Promise; + /** + * Sets which replica database is primary by failing over from the current primary replica database. + * This operation might result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param options The options parameters. + */ + beginFailoverAllowDataLoss( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksFailoverAllowDataLossOptionalParams + ): Promise, void>>; + /** + * Sets which replica database is primary by failing over from the current primary replica database. + * This operation might result in data loss. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param options The options parameters. + */ + beginFailoverAllowDataLossAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksFailoverAllowDataLossOptionalParams + ): Promise; + /** + * Deletes a database replication link in forced or friendly way. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param parameters The required parameters for unlinking replication link. + * @param options The options parameters. + */ + beginUnlink( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + parameters: UnlinkParameters, + options?: ReplicationLinksUnlinkOptionalParams + ): Promise, void>>; + /** + * Deletes a database replication link in forced or friendly way. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database that has the replication link to be failed over. + * @param linkId The ID of the replication link to be failed over. + * @param parameters The required parameters for unlinking replication link. + * @param options The options parameters. + */ + beginUnlinkAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + parameters: UnlinkParameters, + options?: ReplicationLinksUnlinkOptionalParams + ): Promise; + /** + * Gets a replication link. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param linkId The name of the replication link. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + linkId: string, + options?: ReplicationLinksGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/restorableDroppedDatabases.ts b/sdk/sql/arm-sql/src/operationsInterfaces/restorableDroppedDatabases.ts new file mode 100644 index 000000000000..310d46bbddf7 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/restorableDroppedDatabases.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RestorableDroppedDatabase, + RestorableDroppedDatabasesListByServerOptionalParams, + RestorableDroppedDatabasesGetOptionalParams, + RestorableDroppedDatabasesGetResponse +} from "../models"; + +/// +/** Interface representing a RestorableDroppedDatabases. */ +export interface RestorableDroppedDatabases { + /** + * Gets a list of restorable dropped databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: RestorableDroppedDatabasesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a restorable dropped database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param restorableDroppedDatabaseId + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + restorableDroppedDatabaseId: string, + options?: RestorableDroppedDatabasesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/restorableDroppedManagedDatabases.ts b/sdk/sql/arm-sql/src/operationsInterfaces/restorableDroppedManagedDatabases.ts new file mode 100644 index 000000000000..cb4ae3bb6c89 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/restorableDroppedManagedDatabases.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RestorableDroppedManagedDatabase, + RestorableDroppedManagedDatabasesListByInstanceOptionalParams, + RestorableDroppedManagedDatabasesGetOptionalParams, + RestorableDroppedManagedDatabasesGetResponse +} from "../models"; + +/// +/** Interface representing a RestorableDroppedManagedDatabases. */ +export interface RestorableDroppedManagedDatabases { + /** + * Gets a list of restorable dropped managed databases. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: RestorableDroppedManagedDatabasesListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a restorable dropped managed database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param restorableDroppedDatabaseId + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + restorableDroppedDatabaseId: string, + options?: RestorableDroppedManagedDatabasesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/restorePoints.ts b/sdk/sql/arm-sql/src/operationsInterfaces/restorePoints.ts new file mode 100644 index 000000000000..1d5ad136f0c5 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/restorePoints.ts @@ -0,0 +1,109 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + RestorePoint, + RestorePointsListByDatabaseOptionalParams, + CreateDatabaseRestorePointDefinition, + RestorePointsCreateOptionalParams, + RestorePointsCreateResponse, + RestorePointsGetOptionalParams, + RestorePointsGetResponse, + RestorePointsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a RestorePoints. */ +export interface RestorePoints { + /** + * Gets a list of database restore points. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: RestorePointsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates a restore point for a data warehouse. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The definition for creating the restore point of this database. + * @param options The options parameters. + */ + beginCreate( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: CreateDatabaseRestorePointDefinition, + options?: RestorePointsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + RestorePointsCreateResponse + > + >; + /** + * Creates a restore point for a data warehouse. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters The definition for creating the restore point of this database. + * @param options The options parameters. + */ + beginCreateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: CreateDatabaseRestorePointDefinition, + options?: RestorePointsCreateOptionalParams + ): Promise; + /** + * Gets a restore point. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param restorePointName The name of the restore point. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + restorePointName: string, + options?: RestorePointsGetOptionalParams + ): Promise; + /** + * Deletes a restore point. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param restorePointName The name of the restore point. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + restorePointName: string, + options?: RestorePointsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/sensitivityLabels.ts b/sdk/sql/arm-sql/src/operationsInterfaces/sensitivityLabels.ts new file mode 100644 index 000000000000..1fda8928913d --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/sensitivityLabels.ts @@ -0,0 +1,179 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SensitivityLabel, + SensitivityLabelsListCurrentByDatabaseOptionalParams, + SensitivityLabelsListRecommendedByDatabaseOptionalParams, + SensitivityLabelUpdateList, + SensitivityLabelsUpdateOptionalParams, + SensitivityLabelsEnableRecommendationOptionalParams, + SensitivityLabelsDisableRecommendationOptionalParams, + SensitivityLabelSource, + SensitivityLabelsGetOptionalParams, + SensitivityLabelsGetResponse, + SensitivityLabelsCreateOrUpdateOptionalParams, + SensitivityLabelsCreateOrUpdateResponse, + SensitivityLabelsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a SensitivityLabels. */ +export interface SensitivityLabels { + /** + * Gets the sensitivity labels of a given database + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listCurrentByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListCurrentByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the sensitivity labels of a given database + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listRecommendedByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SensitivityLabelsListRecommendedByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Update sensitivity labels of a given database using an operations batch. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param parameters A list of sensitivity label update operations. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + databaseName: string, + parameters: SensitivityLabelUpdateList, + options?: SensitivityLabelsUpdateOptionalParams + ): Promise; + /** + * Enables sensitivity recommendations on a given column (recommendations are enabled by default on all + * columns) + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + enableRecommendation( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: SensitivityLabelsEnableRecommendationOptionalParams + ): Promise; + /** + * Disables sensitivity recommendations on a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + disableRecommendation( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: SensitivityLabelsDisableRecommendationOptionalParams + ): Promise; + /** + * Gets the sensitivity label of a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param sensitivityLabelSource The source of the sensitivity label. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + sensitivityLabelSource: SensitivityLabelSource, + options?: SensitivityLabelsGetOptionalParams + ): Promise; + /** + * Creates or updates the sensitivity label of a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param parameters The column sensitivity label resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + parameters: SensitivityLabel, + options?: SensitivityLabelsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the sensitivity label of a given column + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param schemaName The name of the schema. + * @param tableName The name of the table. + * @param columnName The name of the column. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + databaseName: string, + schemaName: string, + tableName: string, + columnName: string, + options?: SensitivityLabelsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverAdvisors.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverAdvisors.ts new file mode 100644 index 000000000000..99218dbbefad --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverAdvisors.ts @@ -0,0 +1,63 @@ +/* + * 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 { + ServerAdvisorsListByServerOptionalParams, + ServerAdvisorsListByServerResponse, + ServerAdvisorsGetOptionalParams, + ServerAdvisorsGetResponse, + Advisor, + ServerAdvisorsUpdateOptionalParams, + ServerAdvisorsUpdateResponse +} from "../models"; + +/** Interface representing a ServerAdvisors. */ +export interface ServerAdvisors { + /** + * Gets a list of server advisors. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerAdvisorsListByServerOptionalParams + ): Promise; + /** + * Gets a server advisor. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param advisorName The name of the Server Advisor. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + advisorName: string, + options?: ServerAdvisorsGetOptionalParams + ): Promise; + /** + * Updates a server advisor. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param advisorName The name of the Server Advisor. + * @param parameters The requested advisor resource state. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + advisorName: string, + parameters: Advisor, + options?: ServerAdvisorsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverAutomaticTuningOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverAutomaticTuningOperations.ts new file mode 100644 index 000000000000..0470d3e63b84 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverAutomaticTuningOperations.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. + */ + +import { + ServerAutomaticTuningOperationsGetOptionalParams, + ServerAutomaticTuningOperationsGetResponse, + ServerAutomaticTuning, + ServerAutomaticTuningOperationsUpdateOptionalParams, + ServerAutomaticTuningOperationsUpdateResponse +} from "../models"; + +/** Interface representing a ServerAutomaticTuningOperations. */ +export interface ServerAutomaticTuningOperations { + /** + * Retrieves server automatic tuning options. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + options?: ServerAutomaticTuningOperationsGetOptionalParams + ): Promise; + /** + * Update automatic tuning options on server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The requested automatic tuning resource state. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + serverName: string, + parameters: ServerAutomaticTuning, + options?: ServerAutomaticTuningOperationsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverAzureADAdministrators.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverAzureADAdministrators.ts new file mode 100644 index 000000000000..91b2dfe2e068 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverAzureADAdministrators.ts @@ -0,0 +1,117 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerAzureADAdministrator, + ServerAzureADAdministratorsListByServerOptionalParams, + AdministratorName, + ServerAzureADAdministratorsGetOptionalParams, + ServerAzureADAdministratorsGetResponse, + ServerAzureADAdministratorsCreateOrUpdateOptionalParams, + ServerAzureADAdministratorsCreateOrUpdateResponse, + ServerAzureADAdministratorsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ServerAzureADAdministrators. */ +export interface ServerAzureADAdministrators { + /** + * Gets a list of Azure Active Directory administrators in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADAdministratorsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a Azure Active Directory administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param administratorName The name of server active directory administrator. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + options?: ServerAzureADAdministratorsGetOptionalParams + ): Promise; + /** + * Creates or updates an existing Azure Active Directory administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param administratorName The name of server active directory administrator. + * @param parameters The requested Azure Active Directory administrator Resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + parameters: ServerAzureADAdministrator, + options?: ServerAzureADAdministratorsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerAzureADAdministratorsCreateOrUpdateResponse + > + >; + /** + * Creates or updates an existing Azure Active Directory administrator. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param administratorName The name of server active directory administrator. + * @param parameters The requested Azure Active Directory administrator Resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + parameters: ServerAzureADAdministrator, + options?: ServerAzureADAdministratorsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the Azure Active Directory administrator with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param administratorName The name of server active directory administrator. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + options?: ServerAzureADAdministratorsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes the Azure Active Directory administrator with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param administratorName The name of server active directory administrator. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + administratorName: AdministratorName, + options?: ServerAzureADAdministratorsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverAzureADOnlyAuthentications.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverAzureADOnlyAuthentications.ts new file mode 100644 index 000000000000..9f66b827ee63 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverAzureADOnlyAuthentications.ts @@ -0,0 +1,123 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerAzureADOnlyAuthentication, + ServerAzureADOnlyAuthenticationsListByServerOptionalParams, + AuthenticationName, + ServerAzureADOnlyAuthenticationsGetOptionalParams, + ServerAzureADOnlyAuthenticationsGetResponse, + ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams, + ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse, + ServerAzureADOnlyAuthenticationsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ServerAzureADOnlyAuthentications. */ +export interface ServerAzureADOnlyAuthentications { + /** + * Gets a list of server Azure Active Directory only authentications. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerAzureADOnlyAuthenticationsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a specific Azure Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + options?: ServerAzureADOnlyAuthenticationsGetOptionalParams + ): Promise; + /** + * Sets Server Active Directory only authentication property or updates an existing server Active + * Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param parameters The required parameters for creating or updating an Active Directory only + * authentication property. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + parameters: ServerAzureADOnlyAuthentication, + options?: ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse + >, + ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse + > + >; + /** + * Sets Server Active Directory only authentication property or updates an existing server Active + * Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param parameters The required parameters for creating or updating an Active Directory only + * authentication property. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + parameters: ServerAzureADOnlyAuthentication, + options?: ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes an existing server Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + options?: ServerAzureADOnlyAuthenticationsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes an existing server Active Directory only authentication property. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param authenticationName The name of server azure active directory only authentication. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + authenticationName: AuthenticationName, + options?: ServerAzureADOnlyAuthenticationsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverBlobAuditingPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverBlobAuditingPolicies.ts new file mode 100644 index 000000000000..7c05689e0a89 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverBlobAuditingPolicies.ts @@ -0,0 +1,81 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerBlobAuditingPolicy, + ServerBlobAuditingPoliciesListByServerOptionalParams, + ServerBlobAuditingPoliciesGetOptionalParams, + ServerBlobAuditingPoliciesGetResponse, + ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams, + ServerBlobAuditingPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ServerBlobAuditingPolicies. */ +export interface ServerBlobAuditingPolicies { + /** + * Lists auditing settings of a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerBlobAuditingPoliciesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + options?: ServerBlobAuditingPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates a server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters Properties of blob auditing policy + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + parameters: ServerBlobAuditingPolicy, + options?: ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerBlobAuditingPoliciesCreateOrUpdateResponse + > + >; + /** + * Creates or updates a server's blob auditing policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters Properties of blob auditing policy + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ServerBlobAuditingPolicy, + options?: ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverCommunicationLinks.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverCommunicationLinks.ts new file mode 100644 index 000000000000..5f8f35dd8ae6 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverCommunicationLinks.ts @@ -0,0 +1,102 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerCommunicationLink, + ServerCommunicationLinksListByServerOptionalParams, + ServerCommunicationLinksDeleteOptionalParams, + ServerCommunicationLinksGetOptionalParams, + ServerCommunicationLinksGetResponse, + ServerCommunicationLinksCreateOrUpdateOptionalParams, + ServerCommunicationLinksCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ServerCommunicationLinks. */ +export interface ServerCommunicationLinks { + /** + * Gets a list of server communication links. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerCommunicationLinksListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Deletes a server communication link. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param communicationLinkName The name of the server communication link. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + communicationLinkName: string, + options?: ServerCommunicationLinksDeleteOptionalParams + ): Promise; + /** + * Returns a server communication link. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param communicationLinkName The name of the server communication link. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + communicationLinkName: string, + options?: ServerCommunicationLinksGetOptionalParams + ): Promise; + /** + * Creates a server communication link. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param communicationLinkName The name of the server communication link. + * @param parameters The required parameters for creating a server communication link. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + communicationLinkName: string, + parameters: ServerCommunicationLink, + options?: ServerCommunicationLinksCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerCommunicationLinksCreateOrUpdateResponse + > + >; + /** + * Creates a server communication link. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param communicationLinkName The name of the server communication link. + * @param parameters The required parameters for creating a server communication link. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + communicationLinkName: string, + parameters: ServerCommunicationLink, + options?: ServerCommunicationLinksCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverConnectionPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverConnectionPolicies.ts new file mode 100644 index 000000000000..3950b8ed3fc3 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverConnectionPolicies.ts @@ -0,0 +1,50 @@ +/* + * 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 { + ServerConnectionPolicy, + ConnectionPolicyName, + ServerConnectionPoliciesCreateOrUpdateOptionalParams, + ServerConnectionPoliciesCreateOrUpdateResponse, + ServerConnectionPoliciesGetOptionalParams, + ServerConnectionPoliciesGetResponse +} from "../models"; + +/** Interface representing a ServerConnectionPolicies. */ +export interface ServerConnectionPolicies { + /** + * Creates or updates the server's connection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param connectionPolicyName The name of the connection policy. + * @param parameters The required parameters for updating a secure connection policy. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + connectionPolicyName: ConnectionPolicyName, + parameters: ServerConnectionPolicy, + options?: ServerConnectionPoliciesCreateOrUpdateOptionalParams + ): Promise; + /** + * Gets the server's secure connection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param connectionPolicyName The name of the connection policy. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + connectionPolicyName: ConnectionPolicyName, + options?: ServerConnectionPoliciesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverDevOpsAuditSettings.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverDevOpsAuditSettings.ts new file mode 100644 index 000000000000..c36b52cec15c --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverDevOpsAuditSettings.ts @@ -0,0 +1,90 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerDevOpsAuditingSettings, + ServerDevOpsAuditSettingsListByServerOptionalParams, + ServerDevOpsAuditSettingsGetOptionalParams, + ServerDevOpsAuditSettingsGetResponse, + ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams, + ServerDevOpsAuditSettingsCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ServerDevOpsAuditSettings. */ +export interface ServerDevOpsAuditSettings { + /** + * Lists DevOps audit settings of a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerDevOpsAuditSettingsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a server's DevOps audit settings. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param devOpsAuditingSettingsName The name of the devops audit settings. This should always be + * 'default'. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + devOpsAuditingSettingsName: string, + options?: ServerDevOpsAuditSettingsGetOptionalParams + ): Promise; + /** + * Creates or updates a server's DevOps audit settings. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param devOpsAuditingSettingsName The name of the devops audit settings. This should always be + * 'default'. + * @param parameters Properties of DevOps audit settings + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + devOpsAuditingSettingsName: string, + parameters: ServerDevOpsAuditingSettings, + options?: ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerDevOpsAuditSettingsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a server's DevOps audit settings. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param devOpsAuditingSettingsName The name of the devops audit settings. This should always be + * 'default'. + * @param parameters Properties of DevOps audit settings + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + devOpsAuditingSettingsName: string, + parameters: ServerDevOpsAuditingSettings, + options?: ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverDnsAliases.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverDnsAliases.ts new file mode 100644 index 000000000000..642a019aa19f --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverDnsAliases.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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerDnsAlias, + ServerDnsAliasesListByServerOptionalParams, + ServerDnsAliasesGetOptionalParams, + ServerDnsAliasesGetResponse, + ServerDnsAliasesCreateOrUpdateOptionalParams, + ServerDnsAliasesCreateOrUpdateResponse, + ServerDnsAliasesDeleteOptionalParams, + ServerDnsAliasAcquisition, + ServerDnsAliasesAcquireOptionalParams, + ServerDnsAliasesAcquireResponse +} from "../models"; + +/// +/** Interface representing a ServerDnsAliases. */ +export interface ServerDnsAliases { + /** + * Gets a list of server DNS aliases for a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerDnsAliasesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a server DNS alias. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesGetOptionalParams + ): Promise; + /** + * Creates a server DNS alias. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerDnsAliasesCreateOrUpdateResponse + > + >; + /** + * Creates a server DNS alias. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the server DNS alias with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes the server DNS alias with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param dnsAliasName The name of the server dns alias. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + options?: ServerDnsAliasesDeleteOptionalParams + ): Promise; + /** + * Acquires server DNS alias from another server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param dnsAliasName The name of the server dns alias. + * @param parameters A server dns alias acquisition request. + * @param options The options parameters. + */ + beginAcquire( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + parameters: ServerDnsAliasAcquisition, + options?: ServerDnsAliasesAcquireOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerDnsAliasesAcquireResponse + > + >; + /** + * Acquires server DNS alias from another server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server that the alias is pointing to. + * @param dnsAliasName The name of the server dns alias. + * @param parameters A server dns alias acquisition request. + * @param options The options parameters. + */ + beginAcquireAndWait( + resourceGroupName: string, + serverName: string, + dnsAliasName: string, + parameters: ServerDnsAliasAcquisition, + options?: ServerDnsAliasesAcquireOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverKeys.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverKeys.ts new file mode 100644 index 000000000000..0819db9f09aa --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverKeys.ts @@ -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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerKey, + ServerKeysListByServerOptionalParams, + ServerKeysGetOptionalParams, + ServerKeysGetResponse, + ServerKeysCreateOrUpdateOptionalParams, + ServerKeysCreateOrUpdateResponse, + ServerKeysDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ServerKeys. */ +export interface ServerKeys { + /** + * Gets a list of server keys. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerKeysListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a server key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param keyName The name of the server key to be retrieved. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + keyName: string, + options?: ServerKeysGetOptionalParams + ): Promise; + /** + * Creates or updates a server key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param keyName The name of the server key to be operated on (updated or created). The key name is + * required to be in the format of 'vault_key_version'. For example, if the keyId is + * https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, then the server key name + * should be formatted as: YourVaultName_YourKeyName_YourKeyVersion + * @param parameters The requested server key resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + keyName: string, + parameters: ServerKey, + options?: ServerKeysCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerKeysCreateOrUpdateResponse + > + >; + /** + * Creates or updates a server key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param keyName The name of the server key to be operated on (updated or created). The key name is + * required to be in the format of 'vault_key_version'. For example, if the keyId is + * https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, then the server key name + * should be formatted as: YourVaultName_YourKeyName_YourKeyVersion + * @param parameters The requested server key resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + keyName: string, + parameters: ServerKey, + options?: ServerKeysCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the server key with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param keyName The name of the server key to be deleted. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + keyName: string, + options?: ServerKeysDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes the server key with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param keyName The name of the server key to be deleted. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + keyName: string, + options?: ServerKeysDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverOperations.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverOperations.ts new file mode 100644 index 000000000000..6d2a82ca2578 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverOperations.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ServerOperation, + ServerOperationsListByServerOptionalParams +} from "../models"; + +/// +/** Interface representing a ServerOperations. */ +export interface ServerOperations { + /** + * Gets a list of operations performed on the server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerOperationsListByServerOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverSecurityAlertPolicies.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverSecurityAlertPolicies.ts new file mode 100644 index 000000000000..f48a8916974e --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverSecurityAlertPolicies.ts @@ -0,0 +1,88 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerSecurityAlertPolicy, + ServerSecurityAlertPoliciesListByServerOptionalParams, + SecurityAlertPolicyName, + ServerSecurityAlertPoliciesGetOptionalParams, + ServerSecurityAlertPoliciesGetResponse, + ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams, + ServerSecurityAlertPoliciesCreateOrUpdateResponse +} from "../models"; + +/// +/** Interface representing a ServerSecurityAlertPolicies. */ +export interface ServerSecurityAlertPolicies { + /** + * Get the server's threat detection policies. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerSecurityAlertPoliciesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a server's security alert policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the security alert policy. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + options?: ServerSecurityAlertPoliciesGetOptionalParams + ): Promise; + /** + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the threat detection policy. + * @param parameters The server security alert policy. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ServerSecurityAlertPolicy, + options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerSecurityAlertPoliciesCreateOrUpdateResponse + > + >; + /** + * Creates or updates a threat detection policy. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param securityAlertPolicyName The name of the threat detection policy. + * @param parameters The server security alert policy. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + securityAlertPolicyName: SecurityAlertPolicyName, + parameters: ServerSecurityAlertPolicy, + options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverTrustGroups.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverTrustGroups.ts new file mode 100644 index 000000000000..868b87bc41a0 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverTrustGroups.ts @@ -0,0 +1,129 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ServerTrustGroup, + ServerTrustGroupsListByLocationOptionalParams, + ServerTrustGroupsListByInstanceOptionalParams, + ServerTrustGroupsGetOptionalParams, + ServerTrustGroupsGetResponse, + ServerTrustGroupsCreateOrUpdateOptionalParams, + ServerTrustGroupsCreateOrUpdateResponse, + ServerTrustGroupsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ServerTrustGroups. */ +export interface ServerTrustGroups { + /** + * Lists a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + listByLocation( + resourceGroupName: string, + locationName: string, + options?: ServerTrustGroupsListByLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a server trust groups by instance name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + listByInstance( + resourceGroupName: string, + managedInstanceName: string, + options?: ServerTrustGroupsListByInstanceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + options?: ServerTrustGroupsGetOptionalParams + ): Promise; + /** + * Creates or updates a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param parameters The server trust group parameters. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + parameters: ServerTrustGroup, + options?: ServerTrustGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServerTrustGroupsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param parameters The server trust group parameters. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + parameters: ServerTrustGroup, + options?: ServerTrustGroupsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + options?: ServerTrustGroupsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a server trust group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param locationName The name of the region where the resource is located. + * @param serverTrustGroupName The name of the server trust group. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + locationName: string, + serverTrustGroupName: string, + options?: ServerTrustGroupsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverUsages.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverUsages.ts new file mode 100644 index 000000000000..599e9938afcc --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverUsages.ts @@ -0,0 +1,28 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ServerUsage, ServerUsagesListByServerOptionalParams } from "../models"; + +/// +/** Interface representing a ServerUsages. */ +export interface ServerUsages { + /** + * Returns server usages. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerUsagesListByServerOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serverVulnerabilityAssessments.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serverVulnerabilityAssessments.ts new file mode 100644 index 000000000000..877bb7f766c1 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serverVulnerabilityAssessments.ts @@ -0,0 +1,83 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ServerVulnerabilityAssessment, + ServerVulnerabilityAssessmentsListByServerOptionalParams, + VulnerabilityAssessmentName, + ServerVulnerabilityAssessmentsGetOptionalParams, + ServerVulnerabilityAssessmentsGetResponse, + ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams, + ServerVulnerabilityAssessmentsCreateOrUpdateResponse, + ServerVulnerabilityAssessmentsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ServerVulnerabilityAssessments. */ +export interface ServerVulnerabilityAssessments { + /** + * Lists the vulnerability assessment policies associated with a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServerVulnerabilityAssessmentsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the server's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ServerVulnerabilityAssessmentsGetOptionalParams + ): Promise; + /** + * Creates or updates the server's vulnerability assessment. Learn more about setting SQL vulnerability + * assessment with managed identity - + * https://docs.microsoft.com/azure/azure-sql/database/sql-database-vulnerability-assessment-storage + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param parameters The requested resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + parameters: ServerVulnerabilityAssessment, + options?: ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Removes the server's vulnerability assessment. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server for which the vulnerability assessment is defined. + * @param vulnerabilityAssessmentName The name of the vulnerability assessment. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + serverName: string, + vulnerabilityAssessmentName: VulnerabilityAssessmentName, + options?: ServerVulnerabilityAssessmentsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/servers.ts b/sdk/sql/arm-sql/src/operationsInterfaces/servers.ts new file mode 100644 index 000000000000..a249724b8ad2 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/servers.ts @@ -0,0 +1,191 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Server, + ServersListByResourceGroupOptionalParams, + ServersListOptionalParams, + ServersGetOptionalParams, + ServersGetResponse, + ServersCreateOrUpdateOptionalParams, + ServersCreateOrUpdateResponse, + ServersDeleteOptionalParams, + ServerUpdate, + ServersUpdateOptionalParams, + ServersUpdateResponse, + ImportNewDatabaseDefinition, + ServersImportDatabaseOptionalParams, + ServersImportDatabaseResponse, + CheckNameAvailabilityRequest, + ServersCheckNameAvailabilityOptionalParams, + ServersCheckNameAvailabilityResponse +} from "../models"; + +/// +/** Interface representing a Servers. */ +export interface Servers { + /** + * Gets a list of servers in a resource groups. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: ServersListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of all servers in the subscription. + * @param options The options parameters. + */ + list(options?: ServersListOptionalParams): PagedAsyncIterableIterator; + /** + * Gets a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + options?: ServersGetOptionalParams + ): Promise; + /** + * Creates or updates a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The requested server resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + parameters: Server, + options?: ServersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServersCreateOrUpdateResponse + > + >; + /** + * Creates or updates a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The requested server resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: Server, + options?: ServersCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + options?: ServersDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + options?: ServersDeleteOptionalParams + ): Promise; + /** + * Updates a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The requested server resource state. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + parameters: ServerUpdate, + options?: ServersUpdateOptionalParams + ): Promise< + PollerLike, ServersUpdateResponse> + >; + /** + * Updates a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The requested server resource state. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + parameters: ServerUpdate, + options?: ServersUpdateOptionalParams + ): Promise; + /** + * Imports a bacpac into a new database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The database import request parameters. + * @param options The options parameters. + */ + beginImportDatabase( + resourceGroupName: string, + serverName: string, + parameters: ImportNewDatabaseDefinition, + options?: ServersImportDatabaseOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ServersImportDatabaseResponse + > + >; + /** + * Imports a bacpac into a new database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The database import request parameters. + * @param options The options parameters. + */ + beginImportDatabaseAndWait( + resourceGroupName: string, + serverName: string, + parameters: ImportNewDatabaseDefinition, + options?: ServersImportDatabaseOptionalParams + ): Promise; + /** + * Determines whether a resource can be created with the specified name. + * @param parameters The name availability request parameters. + * @param options The options parameters. + */ + checkNameAvailability( + parameters: CheckNameAvailabilityRequest, + options?: ServersCheckNameAvailabilityOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/serviceObjectives.ts b/sdk/sql/arm-sql/src/operationsInterfaces/serviceObjectives.ts new file mode 100644 index 000000000000..38dda1fe0e7a --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/serviceObjectives.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ServiceObjective, + ServiceObjectivesListByServerOptionalParams, + ServiceObjectivesGetOptionalParams, + ServiceObjectivesGetResponse +} from "../models"; + +/// +/** Interface representing a ServiceObjectives. */ +export interface ServiceObjectives { + /** + * Returns database service objectives. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: ServiceObjectivesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a database service objective. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param serviceObjectiveName The name of the service objective to retrieve. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + serviceObjectiveName: string, + options?: ServiceObjectivesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/sqlAgent.ts b/sdk/sql/arm-sql/src/operationsInterfaces/sqlAgent.ts new file mode 100644 index 000000000000..829de4c9f00b --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/sqlAgent.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. + */ + +import { + SqlAgentGetOptionalParams, + SqlAgentGetResponse, + SqlAgentConfiguration, + SqlAgentCreateOrUpdateOptionalParams, + SqlAgentCreateOrUpdateResponse +} from "../models"; + +/** Interface representing a SqlAgent. */ +export interface SqlAgent { + /** + * Gets current instance sql agent configuration. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + managedInstanceName: string, + options?: SqlAgentGetOptionalParams + ): Promise; + /** + * Puts new sql agent configuration to instance. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param managedInstanceName The name of the managed instance. + * @param parameters A recoverable managed database resource. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + managedInstanceName: string, + parameters: SqlAgentConfiguration, + options?: SqlAgentCreateOrUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/subscriptionUsages.ts b/sdk/sql/arm-sql/src/operationsInterfaces/subscriptionUsages.ts new file mode 100644 index 000000000000..ccf9e5f136ec --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/subscriptionUsages.ts @@ -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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SubscriptionUsage, + SubscriptionUsagesListByLocationOptionalParams, + SubscriptionUsagesGetOptionalParams, + SubscriptionUsagesGetResponse +} from "../models"; + +/// +/** Interface representing a SubscriptionUsages. */ +export interface SubscriptionUsages { + /** + * Gets all subscription usage metrics in a given location. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + listByLocation( + locationName: string, + options?: SubscriptionUsagesListByLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a subscription usage metric. + * @param locationName The name of the region where the resource is located. + * @param usageName Name of usage metric to return. + * @param options The options parameters. + */ + get( + locationName: string, + usageName: string, + options?: SubscriptionUsagesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/syncAgents.ts b/sdk/sql/arm-sql/src/operationsInterfaces/syncAgents.ts new file mode 100644 index 000000000000..22000f5a3bb3 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/syncAgents.ts @@ -0,0 +1,148 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + SyncAgent, + SyncAgentsListByServerOptionalParams, + SyncAgentLinkedDatabase, + SyncAgentsListLinkedDatabasesOptionalParams, + SyncAgentsGetOptionalParams, + SyncAgentsGetResponse, + SyncAgentsCreateOrUpdateOptionalParams, + SyncAgentsCreateOrUpdateResponse, + SyncAgentsDeleteOptionalParams, + SyncAgentsGenerateKeyOptionalParams, + SyncAgentsGenerateKeyResponse +} from "../models"; + +/// +/** Interface representing a SyncAgents. */ +export interface SyncAgents { + /** + * Lists sync agents in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: SyncAgentsListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists databases linked to a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param syncAgentName The name of the sync agent. + * @param options The options parameters. + */ + listLinkedDatabases( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsListLinkedDatabasesOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param syncAgentName The name of the sync agent. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsGetOptionalParams + ): Promise; + /** + * Creates or updates a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param syncAgentName The name of the sync agent. + * @param parameters The requested sync agent resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + parameters: SyncAgent, + options?: SyncAgentsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncAgentsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param syncAgentName The name of the sync agent. + * @param parameters The requested sync agent resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + parameters: SyncAgent, + options?: SyncAgentsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param syncAgentName The name of the sync agent. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a sync agent. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param syncAgentName The name of the sync agent. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsDeleteOptionalParams + ): Promise; + /** + * Generates a sync agent key. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server on which the sync agent is hosted. + * @param syncAgentName The name of the sync agent. + * @param options The options parameters. + */ + generateKey( + resourceGroupName: string, + serverName: string, + syncAgentName: string, + options?: SyncAgentsGenerateKeyOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/syncGroups.ts b/sdk/sql/arm-sql/src/operationsInterfaces/syncGroups.ts new file mode 100644 index 000000000000..069698879324 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/syncGroups.ts @@ -0,0 +1,292 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + SyncDatabaseIdProperties, + SyncGroupsListSyncDatabaseIdsOptionalParams, + SyncFullSchemaProperties, + SyncGroupsListHubSchemasOptionalParams, + SyncGroupLogProperties, + Enum76, + SyncGroupsListLogsOptionalParams, + SyncGroup, + SyncGroupsListByDatabaseOptionalParams, + SyncGroupsRefreshHubSchemaOptionalParams, + SyncGroupsCancelSyncOptionalParams, + SyncGroupsTriggerSyncOptionalParams, + SyncGroupsGetOptionalParams, + SyncGroupsGetResponse, + SyncGroupsCreateOrUpdateOptionalParams, + SyncGroupsCreateOrUpdateResponse, + SyncGroupsDeleteOptionalParams, + SyncGroupsUpdateOptionalParams, + SyncGroupsUpdateResponse +} from "../models"; + +/// +/** Interface representing a SyncGroups. */ +export interface SyncGroups { + /** + * Gets a collection of sync database ids. + * @param locationName The name of the region where the resource is located. + * @param options The options parameters. + */ + listSyncDatabaseIds( + locationName: string, + options?: SyncGroupsListSyncDatabaseIdsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a collection of hub database schemas. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + listHubSchemas( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsListHubSchemasOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a collection of sync group logs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param startTime Get logs generated after this time. + * @param endTime Get logs generated before this time. + * @param typeParam The types of logs to retrieve. + * @param options The options parameters. + */ + listLogs( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + startTime: string, + endTime: string, + typeParam: Enum76, + options?: SyncGroupsListLogsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists sync groups under a hub database. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: SyncGroupsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Refreshes a hub database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + beginRefreshHubSchema( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsRefreshHubSchemaOptionalParams + ): Promise, void>>; + /** + * Refreshes a hub database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + beginRefreshHubSchemaAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsRefreshHubSchemaOptionalParams + ): Promise; + /** + * Cancels a sync group synchronization. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + cancelSync( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsCancelSyncOptionalParams + ): Promise; + /** + * Triggers a sync group synchronization. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + triggerSync( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsTriggerSyncOptionalParams + ): Promise; + /** + * Gets a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsGetOptionalParams + ): Promise; + /** + * Creates or updates a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param parameters The requested sync group resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + parameters: SyncGroup, + options?: SyncGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncGroupsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param parameters The requested sync group resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + parameters: SyncGroup, + options?: SyncGroupsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncGroupsDeleteOptionalParams + ): Promise; + /** + * Updates a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param parameters The requested sync group resource state. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + parameters: SyncGroup, + options?: SyncGroupsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncGroupsUpdateResponse + > + >; + /** + * Updates a sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param parameters The requested sync group resource state. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + parameters: SyncGroup, + options?: SyncGroupsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/syncMembers.ts b/sdk/sql/arm-sql/src/operationsInterfaces/syncMembers.ts new file mode 100644 index 000000000000..7fe3893f9ddb --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/syncMembers.ts @@ -0,0 +1,244 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + SyncMember, + SyncMembersListBySyncGroupOptionalParams, + SyncFullSchemaProperties, + SyncMembersListMemberSchemasOptionalParams, + SyncMembersGetOptionalParams, + SyncMembersGetResponse, + SyncMembersCreateOrUpdateOptionalParams, + SyncMembersCreateOrUpdateResponse, + SyncMembersDeleteOptionalParams, + SyncMembersUpdateOptionalParams, + SyncMembersUpdateResponse, + SyncMembersRefreshMemberSchemaOptionalParams +} from "../models"; + +/// +/** Interface representing a SyncMembers. */ +export interface SyncMembers { + /** + * Lists sync members in the given sync group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group. + * @param options The options parameters. + */ + listBySyncGroup( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + options?: SyncMembersListBySyncGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a sync member database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param options The options parameters. + */ + listMemberSchemas( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersListMemberSchemasOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersGetOptionalParams + ): Promise; + /** + * Creates or updates a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param parameters The requested sync member resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + parameters: SyncMember, + options?: SyncMembersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncMembersCreateOrUpdateResponse + > + >; + /** + * Creates or updates a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param parameters The requested sync member resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + parameters: SyncMember, + options?: SyncMembersCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersDeleteOptionalParams + ): Promise; + /** + * Updates an existing sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param parameters The requested sync member resource state. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + parameters: SyncMember, + options?: SyncMembersUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SyncMembersUpdateResponse + > + >; + /** + * Updates an existing sync member. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param parameters The requested sync member resource state. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + parameters: SyncMember, + options?: SyncMembersUpdateOptionalParams + ): Promise; + /** + * Refreshes a sync member database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param options The options parameters. + */ + beginRefreshMemberSchema( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersRefreshMemberSchemaOptionalParams + ): Promise, void>>; + /** + * Refreshes a sync member database schema. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database on which the sync group is hosted. + * @param syncGroupName The name of the sync group on which the sync member is hosted. + * @param syncMemberName The name of the sync member. + * @param options The options parameters. + */ + beginRefreshMemberSchemaAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + syncGroupName: string, + syncMemberName: string, + options?: SyncMembersRefreshMemberSchemaOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/tdeCertificates.ts b/sdk/sql/arm-sql/src/operationsInterfaces/tdeCertificates.ts new file mode 100644 index 000000000000..f9a3ac782e18 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/tdeCertificates.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. + */ + +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { TdeCertificate, TdeCertificatesCreateOptionalParams } from "../models"; + +/** Interface representing a TdeCertificates. */ +export interface TdeCertificates { + /** + * Creates a TDE certificate for a given server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The requested TDE certificate to be created or updated. + * @param options The options parameters. + */ + beginCreate( + resourceGroupName: string, + serverName: string, + parameters: TdeCertificate, + options?: TdeCertificatesCreateOptionalParams + ): Promise, void>>; + /** + * Creates a TDE certificate for a given server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param parameters The requested TDE certificate to be created or updated. + * @param options The options parameters. + */ + beginCreateAndWait( + resourceGroupName: string, + serverName: string, + parameters: TdeCertificate, + options?: TdeCertificatesCreateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/timeZones.ts b/sdk/sql/arm-sql/src/operationsInterfaces/timeZones.ts new file mode 100644 index 000000000000..6c1102b99ee6 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/timeZones.ts @@ -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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + TimeZone, + TimeZonesListByLocationOptionalParams, + TimeZonesGetOptionalParams, + TimeZonesGetResponse +} from "../models"; + +/// +/** Interface representing a TimeZones. */ +export interface TimeZones { + /** + * Gets a list of managed instance time zones by location. + * @param locationName + * @param options The options parameters. + */ + listByLocation( + locationName: string, + options?: TimeZonesListByLocationOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a managed instance time zone. + * @param locationName + * @param timeZoneId + * @param options The options parameters. + */ + get( + locationName: string, + timeZoneId: string, + options?: TimeZonesGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/transparentDataEncryptionActivities.ts b/sdk/sql/arm-sql/src/operationsInterfaces/transparentDataEncryptionActivities.ts new file mode 100644 index 000000000000..845d8c6ef29f --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/transparentDataEncryptionActivities.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. + */ + +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + TransparentDataEncryptionActivity, + TransparentDataEncryptionName, + TransparentDataEncryptionActivitiesListByConfigurationOptionalParams +} from "../models"; + +/// +/** Interface representing a TransparentDataEncryptionActivities. */ +export interface TransparentDataEncryptionActivities { + /** + * Returns a database's transparent data encryption operation result. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the transparent data encryption applies. + * @param transparentDataEncryptionName The name of the transparent data encryption configuration. + * @param options The options parameters. + */ + listByConfiguration( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + options?: TransparentDataEncryptionActivitiesListByConfigurationOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/transparentDataEncryptions.ts b/sdk/sql/arm-sql/src/operationsInterfaces/transparentDataEncryptions.ts new file mode 100644 index 000000000000..6afab4ebebdc --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/transparentDataEncryptions.ts @@ -0,0 +1,55 @@ +/* + * 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 { + TransparentDataEncryption, + TransparentDataEncryptionName, + TransparentDataEncryptionsCreateOrUpdateOptionalParams, + TransparentDataEncryptionsCreateOrUpdateResponse, + TransparentDataEncryptionsGetOptionalParams, + TransparentDataEncryptionsGetResponse +} from "../models"; + +/** Interface representing a TransparentDataEncryptions. */ +export interface TransparentDataEncryptions { + /** + * Creates or updates a database's transparent data encryption configuration. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which setting the transparent data encryption + * applies. + * @param transparentDataEncryptionName The name of the transparent data encryption configuration. + * @param parameters The required parameters for creating or updating transparent data encryption. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + parameters: TransparentDataEncryption, + options?: TransparentDataEncryptionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Gets a database's transparent data encryption configuration. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database for which the transparent data encryption applies. + * @param transparentDataEncryptionName The name of the transparent data encryption configuration. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + transparentDataEncryptionName: TransparentDataEncryptionName, + options?: TransparentDataEncryptionsGetOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/usages.ts b/sdk/sql/arm-sql/src/operationsInterfaces/usages.ts new file mode 100644 index 000000000000..2541e48eb83b --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/usages.ts @@ -0,0 +1,28 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Usage, UsagesListByInstancePoolOptionalParams } from "../models"; + +/// +/** Interface representing a Usages. */ +export interface Usages { + /** + * Gets all instance pool usage metrics + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param instancePoolName The name of the instance pool to be retrieved. + * @param options The options parameters. + */ + listByInstancePool( + resourceGroupName: string, + instancePoolName: string, + options?: UsagesListByInstancePoolOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/virtualClusters.ts b/sdk/sql/arm-sql/src/operationsInterfaces/virtualClusters.ts new file mode 100644 index 000000000000..941105cfa718 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/virtualClusters.ts @@ -0,0 +1,127 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VirtualCluster, + VirtualClustersListOptionalParams, + VirtualClustersListByResourceGroupOptionalParams, + VirtualClustersUpdateDnsServersOptionalParams, + VirtualClustersUpdateDnsServersResponse, + VirtualClustersGetOptionalParams, + VirtualClustersGetResponse, + VirtualClustersDeleteOptionalParams, + VirtualClusterUpdate, + VirtualClustersUpdateOptionalParams, + VirtualClustersUpdateResponse +} from "../models"; + +/// +/** Interface representing a VirtualClusters. */ +export interface VirtualClusters { + /** + * Gets a list of all virtualClusters in the subscription. + * @param options The options parameters. + */ + list( + options?: VirtualClustersListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a list of virtual clusters in a resource group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: VirtualClustersListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Synchronizes the DNS server settings used by the managed instances inside the given virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param virtualClusterName The name of the virtual cluster. + * @param options The options parameters. + */ + updateDnsServers( + resourceGroupName: string, + virtualClusterName: string, + options?: VirtualClustersUpdateDnsServersOptionalParams + ): Promise; + /** + * Gets a virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param virtualClusterName The name of the virtual cluster. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + virtualClusterName: string, + options?: VirtualClustersGetOptionalParams + ): Promise; + /** + * Deletes a virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param virtualClusterName The name of the virtual cluster. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + virtualClusterName: string, + options?: VirtualClustersDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param virtualClusterName The name of the virtual cluster. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + virtualClusterName: string, + options?: VirtualClustersDeleteOptionalParams + ): Promise; + /** + * Updates a virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param virtualClusterName The name of the virtual cluster. + * @param parameters The requested virtual cluster resource state. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + virtualClusterName: string, + parameters: VirtualClusterUpdate, + options?: VirtualClustersUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualClustersUpdateResponse + > + >; + /** + * Updates a virtual cluster. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param virtualClusterName The name of the virtual cluster. + * @param parameters The requested virtual cluster resource state. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + virtualClusterName: string, + parameters: VirtualClusterUpdate, + options?: VirtualClustersUpdateOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/virtualNetworkRules.ts b/sdk/sql/arm-sql/src/operationsInterfaces/virtualNetworkRules.ts new file mode 100644 index 000000000000..afc2b4ce1d3e --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/virtualNetworkRules.ts @@ -0,0 +1,116 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VirtualNetworkRule, + VirtualNetworkRulesListByServerOptionalParams, + VirtualNetworkRulesGetOptionalParams, + VirtualNetworkRulesGetResponse, + VirtualNetworkRulesCreateOrUpdateOptionalParams, + VirtualNetworkRulesCreateOrUpdateResponse, + VirtualNetworkRulesDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a VirtualNetworkRules. */ +export interface VirtualNetworkRules { + /** + * Gets a list of virtual network rules in a server. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param options The options parameters. + */ + listByServer( + resourceGroupName: string, + serverName: string, + options?: VirtualNetworkRulesListByServerOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a virtual network rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesGetOptionalParams + ): Promise; + /** + * Creates or updates an existing virtual network rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param parameters The requested virtual Network Rule Resource state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: VirtualNetworkRulesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworkRulesCreateOrUpdateResponse + > + >; + /** + * Creates or updates an existing virtual network rule. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param parameters The requested virtual Network Rule Resource state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + parameters: VirtualNetworkRule, + options?: VirtualNetworkRulesCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes the virtual network rule with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes the virtual network rule with the given name. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param virtualNetworkRuleName The name of the virtual network rule. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + virtualNetworkRuleName: string, + options?: VirtualNetworkRulesDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/workloadClassifiers.ts b/sdk/sql/arm-sql/src/operationsInterfaces/workloadClassifiers.ts new file mode 100644 index 000000000000..20ffd0fa40e3 --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/workloadClassifiers.ts @@ -0,0 +1,140 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + WorkloadClassifier, + WorkloadClassifiersListByWorkloadGroupOptionalParams, + WorkloadClassifiersGetOptionalParams, + WorkloadClassifiersGetResponse, + WorkloadClassifiersCreateOrUpdateOptionalParams, + WorkloadClassifiersCreateOrUpdateResponse, + WorkloadClassifiersDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a WorkloadClassifiers. */ +export interface WorkloadClassifiers { + /** + * Gets the list of workload classifiers for a workload group + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifiers from. + * @param options The options parameters. + */ + listByWorkloadGroup( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadClassifiersListByWorkloadGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a workload classifier + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + options?: WorkloadClassifiersGetOptionalParams + ): Promise; + /** + * Creates or updates a workload classifier. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier to create/update. + * @param parameters The properties of the workload classifier. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + parameters: WorkloadClassifier, + options?: WorkloadClassifiersCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WorkloadClassifiersCreateOrUpdateResponse + > + >; + /** + * Creates or updates a workload classifier. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier to create/update. + * @param parameters The properties of the workload classifier. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + parameters: WorkloadClassifier, + options?: WorkloadClassifiersCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a workload classifier. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier to delete. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + options?: WorkloadClassifiersDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a workload classifier. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group from which to receive the classifier from. + * @param workloadClassifierName The name of the workload classifier to delete. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + workloadClassifierName: string, + options?: WorkloadClassifiersDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/operationsInterfaces/workloadGroups.ts b/sdk/sql/arm-sql/src/operationsInterfaces/workloadGroups.ts new file mode 100644 index 000000000000..b2b91dd292cf --- /dev/null +++ b/sdk/sql/arm-sql/src/operationsInterfaces/workloadGroups.ts @@ -0,0 +1,128 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + WorkloadGroup, + WorkloadGroupsListByDatabaseOptionalParams, + WorkloadGroupsGetOptionalParams, + WorkloadGroupsGetResponse, + WorkloadGroupsCreateOrUpdateOptionalParams, + WorkloadGroupsCreateOrUpdateResponse, + WorkloadGroupsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a WorkloadGroups. */ +export interface WorkloadGroups { + /** + * Gets the list of workload groups + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param options The options parameters. + */ + listByDatabase( + resourceGroupName: string, + serverName: string, + databaseName: string, + options?: WorkloadGroupsListByDatabaseOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a workload group + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadGroupsGetOptionalParams + ): Promise; + /** + * Creates or updates a workload group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group. + * @param parameters The requested workload group state. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + parameters: WorkloadGroup, + options?: WorkloadGroupsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + WorkloadGroupsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a workload group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group. + * @param parameters The requested workload group state. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + parameters: WorkloadGroup, + options?: WorkloadGroupsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a workload group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group to delete. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadGroupsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a workload group. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serverName The name of the server. + * @param databaseName The name of the database. + * @param workloadGroupName The name of the workload group to delete. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serverName: string, + databaseName: string, + workloadGroupName: string, + options?: WorkloadGroupsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/sql/arm-sql/src/sqlManagementClient.ts b/sdk/sql/arm-sql/src/sqlManagementClient.ts index 217cc8707ddb..d03900354023 100644 --- a/sdk/sql/arm-sql/src/sqlManagementClient.ts +++ b/sdk/sql/arm-sql/src/sqlManagementClient.ts @@ -1,218 +1,602 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as Models from "./models"; -import * as Mappers from "./models/mappers"; -import * as operations from "./operations"; +import * as coreAuth from "@azure/core-auth"; +import { + RecoverableDatabasesImpl, + ServerConnectionPoliciesImpl, + DataMaskingPoliciesImpl, + DataMaskingRulesImpl, + GeoBackupPoliciesImpl, + DatabasesImpl, + ElasticPoolsImpl, + ReplicationLinksImpl, + ServerCommunicationLinksImpl, + ServiceObjectivesImpl, + ElasticPoolActivitiesImpl, + ElasticPoolDatabaseActivitiesImpl, + TransparentDataEncryptionsImpl, + TransparentDataEncryptionActivitiesImpl, + ServerUsagesImpl, + ExtendedDatabaseBlobAuditingPoliciesImpl, + ExtendedServerBlobAuditingPoliciesImpl, + ServerBlobAuditingPoliciesImpl, + DatabaseBlobAuditingPoliciesImpl, + DatabaseAdvisorsImpl, + DatabaseAutomaticTuningOperationsImpl, + DatabaseColumnsImpl, + DatabaseRecommendedActionsImpl, + DatabaseSchemasImpl, + DatabaseSecurityAlertPoliciesImpl, + DatabaseTablesImpl, + DatabaseVulnerabilityAssessmentRuleBaselinesImpl, + DatabaseVulnerabilityAssessmentsImpl, + DatabaseVulnerabilityAssessmentScansImpl, + DataWarehouseUserActivitiesOperationsImpl, + DeletedServersImpl, + ElasticPoolOperationsImpl, + EncryptionProtectorsImpl, + FailoverGroupsImpl, + FirewallRulesImpl, + InstanceFailoverGroupsImpl, + InstancePoolsImpl, + JobAgentsImpl, + JobCredentialsImpl, + JobExecutionsImpl, + JobsImpl, + JobStepExecutionsImpl, + JobStepsImpl, + JobTargetExecutionsImpl, + JobTargetGroupsImpl, + JobVersionsImpl, + CapabilitiesImpl, + LongTermRetentionBackupsImpl, + LongTermRetentionManagedInstanceBackupsImpl, + LongTermRetentionPoliciesImpl, + MaintenanceWindowOptionsOperationsImpl, + MaintenanceWindowsOperationsImpl, + ManagedBackupShortTermRetentionPoliciesImpl, + ManagedDatabaseColumnsImpl, + ManagedDatabaseQueriesImpl, + ManagedDatabaseRestoreDetailsImpl, + ManagedDatabasesImpl, + ManagedDatabaseSchemasImpl, + ManagedDatabaseSecurityAlertPoliciesImpl, + ManagedDatabaseSecurityEventsImpl, + ManagedDatabaseSensitivityLabelsImpl, + ManagedDatabaseRecommendedSensitivityLabelsImpl, + ManagedDatabaseTablesImpl, + ManagedDatabaseTransparentDataEncryptionImpl, + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesImpl, + ManagedDatabaseVulnerabilityAssessmentsImpl, + ManagedDatabaseVulnerabilityAssessmentScansImpl, + ManagedInstanceAdministratorsImpl, + ManagedInstanceAzureADOnlyAuthenticationsImpl, + ManagedInstanceEncryptionProtectorsImpl, + ManagedInstanceKeysImpl, + ManagedInstanceLongTermRetentionPoliciesImpl, + ManagedInstanceOperationsImpl, + ManagedInstancePrivateEndpointConnectionsImpl, + ManagedInstancePrivateLinkResourcesImpl, + ManagedInstancesImpl, + ManagedInstanceTdeCertificatesImpl, + ManagedInstanceVulnerabilityAssessmentsImpl, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesImpl, + ManagedServerSecurityAlertPoliciesImpl, + OperationsImpl, + OperationsHealthOperationsImpl, + PrivateEndpointConnectionsImpl, + PrivateLinkResourcesImpl, + RecoverableManagedDatabasesImpl, + RestorePointsImpl, + SensitivityLabelsImpl, + RecommendedSensitivityLabelsImpl, + ServerAdvisorsImpl, + ServerAutomaticTuningOperationsImpl, + ServerAzureADAdministratorsImpl, + ServerAzureADOnlyAuthenticationsImpl, + ServerDevOpsAuditSettingsImpl, + ServerDnsAliasesImpl, + ServerKeysImpl, + ServerOperationsImpl, + ServerSecurityAlertPoliciesImpl, + ServerTrustGroupsImpl, + ServerVulnerabilityAssessmentsImpl, + SqlAgentImpl, + SubscriptionUsagesImpl, + SyncAgentsImpl, + SyncGroupsImpl, + SyncMembersImpl, + TdeCertificatesImpl, + TimeZonesImpl, + VirtualClustersImpl, + VirtualNetworkRulesImpl, + WorkloadClassifiersImpl, + WorkloadGroupsImpl, + BackupShortTermRetentionPoliciesImpl, + DatabaseExtensionsOperationsImpl, + DatabaseOperationsImpl, + DatabaseUsagesImpl, + LedgerDigestUploadsOperationsImpl, + OutboundFirewallRulesImpl, + RestorableDroppedDatabasesImpl, + RestorableDroppedManagedDatabasesImpl, + ServersImpl, + UsagesImpl +} from "./operations"; +import { + RecoverableDatabases, + ServerConnectionPolicies, + DataMaskingPolicies, + DataMaskingRules, + GeoBackupPolicies, + Databases, + ElasticPools, + ReplicationLinks, + ServerCommunicationLinks, + ServiceObjectives, + ElasticPoolActivities, + ElasticPoolDatabaseActivities, + TransparentDataEncryptions, + TransparentDataEncryptionActivities, + ServerUsages, + ExtendedDatabaseBlobAuditingPolicies, + ExtendedServerBlobAuditingPolicies, + ServerBlobAuditingPolicies, + DatabaseBlobAuditingPolicies, + DatabaseAdvisors, + DatabaseAutomaticTuningOperations, + DatabaseColumns, + DatabaseRecommendedActions, + DatabaseSchemas, + DatabaseSecurityAlertPolicies, + DatabaseTables, + DatabaseVulnerabilityAssessmentRuleBaselines, + DatabaseVulnerabilityAssessments, + DatabaseVulnerabilityAssessmentScans, + DataWarehouseUserActivitiesOperations, + DeletedServers, + ElasticPoolOperations, + EncryptionProtectors, + FailoverGroups, + FirewallRules, + InstanceFailoverGroups, + InstancePools, + JobAgents, + JobCredentials, + JobExecutions, + Jobs, + JobStepExecutions, + JobSteps, + JobTargetExecutions, + JobTargetGroups, + JobVersions, + Capabilities, + LongTermRetentionBackups, + LongTermRetentionManagedInstanceBackups, + LongTermRetentionPolicies, + MaintenanceWindowOptionsOperations, + MaintenanceWindowsOperations, + ManagedBackupShortTermRetentionPolicies, + ManagedDatabaseColumns, + ManagedDatabaseQueries, + ManagedDatabaseRestoreDetails, + ManagedDatabases, + ManagedDatabaseSchemas, + ManagedDatabaseSecurityAlertPolicies, + ManagedDatabaseSecurityEvents, + ManagedDatabaseSensitivityLabels, + ManagedDatabaseRecommendedSensitivityLabels, + ManagedDatabaseTables, + ManagedDatabaseTransparentDataEncryption, + ManagedDatabaseVulnerabilityAssessmentRuleBaselines, + ManagedDatabaseVulnerabilityAssessments, + ManagedDatabaseVulnerabilityAssessmentScans, + ManagedInstanceAdministrators, + ManagedInstanceAzureADOnlyAuthentications, + ManagedInstanceEncryptionProtectors, + ManagedInstanceKeys, + ManagedInstanceLongTermRetentionPolicies, + ManagedInstanceOperations, + ManagedInstancePrivateEndpointConnections, + ManagedInstancePrivateLinkResources, + ManagedInstances, + ManagedInstanceTdeCertificates, + ManagedInstanceVulnerabilityAssessments, + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies, + ManagedServerSecurityAlertPolicies, + Operations, + OperationsHealthOperations, + PrivateEndpointConnections, + PrivateLinkResources, + RecoverableManagedDatabases, + RestorePoints, + SensitivityLabels, + RecommendedSensitivityLabels, + ServerAdvisors, + ServerAutomaticTuningOperations, + ServerAzureADAdministrators, + ServerAzureADOnlyAuthentications, + ServerDevOpsAuditSettings, + ServerDnsAliases, + ServerKeys, + ServerOperations, + ServerSecurityAlertPolicies, + ServerTrustGroups, + ServerVulnerabilityAssessments, + SqlAgent, + SubscriptionUsages, + SyncAgents, + SyncGroups, + SyncMembers, + TdeCertificates, + TimeZones, + VirtualClusters, + VirtualNetworkRules, + WorkloadClassifiers, + WorkloadGroups, + BackupShortTermRetentionPolicies, + DatabaseExtensionsOperations, + DatabaseOperations, + DatabaseUsages, + LedgerDigestUploadsOperations, + OutboundFirewallRules, + RestorableDroppedDatabases, + RestorableDroppedManagedDatabases, + Servers, + Usages +} from "./operationsInterfaces"; import { SqlManagementClientContext } from "./sqlManagementClientContext"; +import { SqlManagementClientOptionalParams } from "./models"; - -class SqlManagementClient extends SqlManagementClientContext { - // Operation groups - recoverableDatabases: operations.RecoverableDatabases; - restorableDroppedDatabases: operations.RestorableDroppedDatabases; - servers: operations.Servers; - serverConnectionPolicies: operations.ServerConnectionPolicies; - databaseThreatDetectionPolicies: operations.DatabaseThreatDetectionPolicies; - dataMaskingPolicies: operations.DataMaskingPolicies; - dataMaskingRules: operations.DataMaskingRules; - firewallRules: operations.FirewallRules; - geoBackupPolicies: operations.GeoBackupPolicies; - databases: operations.Databases; - elasticPools: operations.ElasticPools; - recommendedElasticPools: operations.RecommendedElasticPools; - replicationLinks: operations.ReplicationLinks; - serverAzureADAdministrators: operations.ServerAzureADAdministrators; - serverCommunicationLinks: operations.ServerCommunicationLinks; - serviceObjectives: operations.ServiceObjectives; - elasticPoolActivities: operations.ElasticPoolActivities; - elasticPoolDatabaseActivities: operations.ElasticPoolDatabaseActivities; - serviceTierAdvisors: operations.ServiceTierAdvisors; - transparentDataEncryptions: operations.TransparentDataEncryptions; - transparentDataEncryptionActivities: operations.TransparentDataEncryptionActivities; - serverUsages: operations.ServerUsages; - databaseUsages: operations.DatabaseUsages; - databaseAutomaticTuning: operations.DatabaseAutomaticTuningOperations; - encryptionProtectors: operations.EncryptionProtectors; - failoverGroups: operations.FailoverGroups; - operations: operations.Operations; - serverKeys: operations.ServerKeys; - syncAgents: operations.SyncAgents; - syncGroups: operations.SyncGroups; - syncMembers: operations.SyncMembers; - subscriptionUsages: operations.SubscriptionUsages; - virtualClusters: operations.VirtualClusters; - virtualNetworkRules: operations.VirtualNetworkRules; - extendedDatabaseBlobAuditingPolicies: operations.ExtendedDatabaseBlobAuditingPolicies; - extendedServerBlobAuditingPolicies: operations.ExtendedServerBlobAuditingPolicies; - serverBlobAuditingPolicies: operations.ServerBlobAuditingPolicies; - databaseBlobAuditingPolicies: operations.DatabaseBlobAuditingPolicies; - databaseVulnerabilityAssessmentRuleBaselines: operations.DatabaseVulnerabilityAssessmentRuleBaselines; - databaseVulnerabilityAssessments: operations.DatabaseVulnerabilityAssessments; - jobAgents: operations.JobAgents; - jobCredentials: operations.JobCredentials; - jobExecutions: operations.JobExecutions; - jobs: operations.Jobs; - jobStepExecutions: operations.JobStepExecutions; - jobSteps: operations.JobSteps; - jobTargetExecutions: operations.JobTargetExecutions; - jobTargetGroups: operations.JobTargetGroups; - jobVersions: operations.JobVersions; - longTermRetentionBackups: operations.LongTermRetentionBackups; - backupLongTermRetentionPolicies: operations.BackupLongTermRetentionPolicies; - managedBackupShortTermRetentionPolicies: operations.ManagedBackupShortTermRetentionPolicies; - managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies: operations.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies; - serverAutomaticTuning: operations.ServerAutomaticTuningOperations; - serverDnsAliases: operations.ServerDnsAliases; - serverSecurityAlertPolicies: operations.ServerSecurityAlertPolicies; - restorableDroppedManagedDatabases: operations.RestorableDroppedManagedDatabases; - restorePoints: operations.RestorePoints; - managedDatabaseSecurityAlertPolicies: operations.ManagedDatabaseSecurityAlertPolicies; - managedServerSecurityAlertPolicies: operations.ManagedServerSecurityAlertPolicies; - sensitivityLabels: operations.SensitivityLabels; - managedInstanceAdministrators: operations.ManagedInstanceAdministrators; - databaseOperations: operations.DatabaseOperations; - elasticPoolOperations: operations.ElasticPoolOperations; - capabilities: operations.Capabilities; - databaseVulnerabilityAssessmentScans: operations.DatabaseVulnerabilityAssessmentScans; - managedDatabaseVulnerabilityAssessmentRuleBaselines: operations.ManagedDatabaseVulnerabilityAssessmentRuleBaselines; - managedDatabaseVulnerabilityAssessmentScans: operations.ManagedDatabaseVulnerabilityAssessmentScans; - managedDatabaseVulnerabilityAssessments: operations.ManagedDatabaseVulnerabilityAssessments; - instanceFailoverGroups: operations.InstanceFailoverGroups; - backupShortTermRetentionPolicies: operations.BackupShortTermRetentionPolicies; - tdeCertificates: operations.TdeCertificates; - managedInstanceTdeCertificates: operations.ManagedInstanceTdeCertificates; - managedInstanceKeys: operations.ManagedInstanceKeys; - managedInstanceEncryptionProtectors: operations.ManagedInstanceEncryptionProtectors; - recoverableManagedDatabases: operations.RecoverableManagedDatabases; - managedInstanceVulnerabilityAssessments: operations.ManagedInstanceVulnerabilityAssessments; - serverVulnerabilityAssessments: operations.ServerVulnerabilityAssessments; - managedDatabaseSensitivityLabels: operations.ManagedDatabaseSensitivityLabels; - instancePools: operations.InstancePools; - usages: operations.Usages; - managedInstances: operations.ManagedInstances; - managedDatabaseRestoreDetails: operations.ManagedDatabaseRestoreDetails; - managedDatabases: operations.ManagedDatabases; - privateEndpointConnections: operations.PrivateEndpointConnections; - privateLinkResources: operations.PrivateLinkResources; - +export class SqlManagementClient extends SqlManagementClientContext { /** * Initializes a new instance of the SqlManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId The subscription ID that identifies an Azure subscription. - * @param [options] The parameter options + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.SqlManagementClientOptions) { + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: SqlManagementClientOptionalParams + ) { super(credentials, subscriptionId, options); - this.recoverableDatabases = new operations.RecoverableDatabases(this); - this.restorableDroppedDatabases = new operations.RestorableDroppedDatabases(this); - this.servers = new operations.Servers(this); - this.serverConnectionPolicies = new operations.ServerConnectionPolicies(this); - this.databaseThreatDetectionPolicies = new operations.DatabaseThreatDetectionPolicies(this); - this.dataMaskingPolicies = new operations.DataMaskingPolicies(this); - this.dataMaskingRules = new operations.DataMaskingRules(this); - this.firewallRules = new operations.FirewallRules(this); - this.geoBackupPolicies = new operations.GeoBackupPolicies(this); - this.databases = new operations.Databases(this); - this.elasticPools = new operations.ElasticPools(this); - this.recommendedElasticPools = new operations.RecommendedElasticPools(this); - this.replicationLinks = new operations.ReplicationLinks(this); - this.serverAzureADAdministrators = new operations.ServerAzureADAdministrators(this); - this.serverCommunicationLinks = new operations.ServerCommunicationLinks(this); - this.serviceObjectives = new operations.ServiceObjectives(this); - this.elasticPoolActivities = new operations.ElasticPoolActivities(this); - this.elasticPoolDatabaseActivities = new operations.ElasticPoolDatabaseActivities(this); - this.serviceTierAdvisors = new operations.ServiceTierAdvisors(this); - this.transparentDataEncryptions = new operations.TransparentDataEncryptions(this); - this.transparentDataEncryptionActivities = new operations.TransparentDataEncryptionActivities(this); - this.serverUsages = new operations.ServerUsages(this); - this.databaseUsages = new operations.DatabaseUsages(this); - this.databaseAutomaticTuning = new operations.DatabaseAutomaticTuningOperations(this); - this.encryptionProtectors = new operations.EncryptionProtectors(this); - this.failoverGroups = new operations.FailoverGroups(this); - this.operations = new operations.Operations(this); - this.serverKeys = new operations.ServerKeys(this); - this.syncAgents = new operations.SyncAgents(this); - this.syncGroups = new operations.SyncGroups(this); - this.syncMembers = new operations.SyncMembers(this); - this.subscriptionUsages = new operations.SubscriptionUsages(this); - this.virtualClusters = new operations.VirtualClusters(this); - this.virtualNetworkRules = new operations.VirtualNetworkRules(this); - this.extendedDatabaseBlobAuditingPolicies = new operations.ExtendedDatabaseBlobAuditingPolicies(this); - this.extendedServerBlobAuditingPolicies = new operations.ExtendedServerBlobAuditingPolicies(this); - this.serverBlobAuditingPolicies = new operations.ServerBlobAuditingPolicies(this); - this.databaseBlobAuditingPolicies = new operations.DatabaseBlobAuditingPolicies(this); - this.databaseVulnerabilityAssessmentRuleBaselines = new operations.DatabaseVulnerabilityAssessmentRuleBaselines(this); - this.databaseVulnerabilityAssessments = new operations.DatabaseVulnerabilityAssessments(this); - this.jobAgents = new operations.JobAgents(this); - this.jobCredentials = new operations.JobCredentials(this); - this.jobExecutions = new operations.JobExecutions(this); - this.jobs = new operations.Jobs(this); - this.jobStepExecutions = new operations.JobStepExecutions(this); - this.jobSteps = new operations.JobSteps(this); - this.jobTargetExecutions = new operations.JobTargetExecutions(this); - this.jobTargetGroups = new operations.JobTargetGroups(this); - this.jobVersions = new operations.JobVersions(this); - this.longTermRetentionBackups = new operations.LongTermRetentionBackups(this); - this.backupLongTermRetentionPolicies = new operations.BackupLongTermRetentionPolicies(this); - this.managedBackupShortTermRetentionPolicies = new operations.ManagedBackupShortTermRetentionPolicies(this); - this.managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies = new operations.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies(this); - this.serverAutomaticTuning = new operations.ServerAutomaticTuningOperations(this); - this.serverDnsAliases = new operations.ServerDnsAliases(this); - this.serverSecurityAlertPolicies = new operations.ServerSecurityAlertPolicies(this); - this.restorableDroppedManagedDatabases = new operations.RestorableDroppedManagedDatabases(this); - this.restorePoints = new operations.RestorePoints(this); - this.managedDatabaseSecurityAlertPolicies = new operations.ManagedDatabaseSecurityAlertPolicies(this); - this.managedServerSecurityAlertPolicies = new operations.ManagedServerSecurityAlertPolicies(this); - this.sensitivityLabels = new operations.SensitivityLabels(this); - this.managedInstanceAdministrators = new operations.ManagedInstanceAdministrators(this); - this.databaseOperations = new operations.DatabaseOperations(this); - this.elasticPoolOperations = new operations.ElasticPoolOperations(this); - this.capabilities = new operations.Capabilities(this); - this.databaseVulnerabilityAssessmentScans = new operations.DatabaseVulnerabilityAssessmentScans(this); - this.managedDatabaseVulnerabilityAssessmentRuleBaselines = new operations.ManagedDatabaseVulnerabilityAssessmentRuleBaselines(this); - this.managedDatabaseVulnerabilityAssessmentScans = new operations.ManagedDatabaseVulnerabilityAssessmentScans(this); - this.managedDatabaseVulnerabilityAssessments = new operations.ManagedDatabaseVulnerabilityAssessments(this); - this.instanceFailoverGroups = new operations.InstanceFailoverGroups(this); - this.backupShortTermRetentionPolicies = new operations.BackupShortTermRetentionPolicies(this); - this.tdeCertificates = new operations.TdeCertificates(this); - this.managedInstanceTdeCertificates = new operations.ManagedInstanceTdeCertificates(this); - this.managedInstanceKeys = new operations.ManagedInstanceKeys(this); - this.managedInstanceEncryptionProtectors = new operations.ManagedInstanceEncryptionProtectors(this); - this.recoverableManagedDatabases = new operations.RecoverableManagedDatabases(this); - this.managedInstanceVulnerabilityAssessments = new operations.ManagedInstanceVulnerabilityAssessments(this); - this.serverVulnerabilityAssessments = new operations.ServerVulnerabilityAssessments(this); - this.managedDatabaseSensitivityLabels = new operations.ManagedDatabaseSensitivityLabels(this); - this.instancePools = new operations.InstancePools(this); - this.usages = new operations.Usages(this); - this.managedInstances = new operations.ManagedInstances(this); - this.managedDatabaseRestoreDetails = new operations.ManagedDatabaseRestoreDetails(this); - this.managedDatabases = new operations.ManagedDatabases(this); - this.privateEndpointConnections = new operations.PrivateEndpointConnections(this); - this.privateLinkResources = new operations.PrivateLinkResources(this); + this.recoverableDatabases = new RecoverableDatabasesImpl(this); + this.serverConnectionPolicies = new ServerConnectionPoliciesImpl(this); + this.dataMaskingPolicies = new DataMaskingPoliciesImpl(this); + this.dataMaskingRules = new DataMaskingRulesImpl(this); + this.geoBackupPolicies = new GeoBackupPoliciesImpl(this); + this.databases = new DatabasesImpl(this); + this.elasticPools = new ElasticPoolsImpl(this); + this.replicationLinks = new ReplicationLinksImpl(this); + this.serverCommunicationLinks = new ServerCommunicationLinksImpl(this); + this.serviceObjectives = new ServiceObjectivesImpl(this); + this.elasticPoolActivities = new ElasticPoolActivitiesImpl(this); + this.elasticPoolDatabaseActivities = new ElasticPoolDatabaseActivitiesImpl( + this + ); + this.transparentDataEncryptions = new TransparentDataEncryptionsImpl(this); + this.transparentDataEncryptionActivities = new TransparentDataEncryptionActivitiesImpl( + this + ); + this.serverUsages = new ServerUsagesImpl(this); + this.extendedDatabaseBlobAuditingPolicies = new ExtendedDatabaseBlobAuditingPoliciesImpl( + this + ); + this.extendedServerBlobAuditingPolicies = new ExtendedServerBlobAuditingPoliciesImpl( + this + ); + this.serverBlobAuditingPolicies = new ServerBlobAuditingPoliciesImpl(this); + this.databaseBlobAuditingPolicies = new DatabaseBlobAuditingPoliciesImpl( + this + ); + this.databaseAdvisors = new DatabaseAdvisorsImpl(this); + this.databaseAutomaticTuningOperations = new DatabaseAutomaticTuningOperationsImpl( + this + ); + this.databaseColumns = new DatabaseColumnsImpl(this); + this.databaseRecommendedActions = new DatabaseRecommendedActionsImpl(this); + this.databaseSchemas = new DatabaseSchemasImpl(this); + this.databaseSecurityAlertPolicies = new DatabaseSecurityAlertPoliciesImpl( + this + ); + this.databaseTables = new DatabaseTablesImpl(this); + this.databaseVulnerabilityAssessmentRuleBaselines = new DatabaseVulnerabilityAssessmentRuleBaselinesImpl( + this + ); + this.databaseVulnerabilityAssessments = new DatabaseVulnerabilityAssessmentsImpl( + this + ); + this.databaseVulnerabilityAssessmentScans = new DatabaseVulnerabilityAssessmentScansImpl( + this + ); + this.dataWarehouseUserActivitiesOperations = new DataWarehouseUserActivitiesOperationsImpl( + this + ); + this.deletedServers = new DeletedServersImpl(this); + this.elasticPoolOperations = new ElasticPoolOperationsImpl(this); + this.encryptionProtectors = new EncryptionProtectorsImpl(this); + this.failoverGroups = new FailoverGroupsImpl(this); + this.firewallRules = new FirewallRulesImpl(this); + this.instanceFailoverGroups = new InstanceFailoverGroupsImpl(this); + this.instancePools = new InstancePoolsImpl(this); + this.jobAgents = new JobAgentsImpl(this); + this.jobCredentials = new JobCredentialsImpl(this); + this.jobExecutions = new JobExecutionsImpl(this); + this.jobs = new JobsImpl(this); + this.jobStepExecutions = new JobStepExecutionsImpl(this); + this.jobSteps = new JobStepsImpl(this); + this.jobTargetExecutions = new JobTargetExecutionsImpl(this); + this.jobTargetGroups = new JobTargetGroupsImpl(this); + this.jobVersions = new JobVersionsImpl(this); + this.capabilities = new CapabilitiesImpl(this); + this.longTermRetentionBackups = new LongTermRetentionBackupsImpl(this); + this.longTermRetentionManagedInstanceBackups = new LongTermRetentionManagedInstanceBackupsImpl( + this + ); + this.longTermRetentionPolicies = new LongTermRetentionPoliciesImpl(this); + this.maintenanceWindowOptionsOperations = new MaintenanceWindowOptionsOperationsImpl( + this + ); + this.maintenanceWindowsOperations = new MaintenanceWindowsOperationsImpl( + this + ); + this.managedBackupShortTermRetentionPolicies = new ManagedBackupShortTermRetentionPoliciesImpl( + this + ); + this.managedDatabaseColumns = new ManagedDatabaseColumnsImpl(this); + this.managedDatabaseQueries = new ManagedDatabaseQueriesImpl(this); + this.managedDatabaseRestoreDetails = new ManagedDatabaseRestoreDetailsImpl( + this + ); + this.managedDatabases = new ManagedDatabasesImpl(this); + this.managedDatabaseSchemas = new ManagedDatabaseSchemasImpl(this); + this.managedDatabaseSecurityAlertPolicies = new ManagedDatabaseSecurityAlertPoliciesImpl( + this + ); + this.managedDatabaseSecurityEvents = new ManagedDatabaseSecurityEventsImpl( + this + ); + this.managedDatabaseSensitivityLabels = new ManagedDatabaseSensitivityLabelsImpl( + this + ); + this.managedDatabaseRecommendedSensitivityLabels = new ManagedDatabaseRecommendedSensitivityLabelsImpl( + this + ); + this.managedDatabaseTables = new ManagedDatabaseTablesImpl(this); + this.managedDatabaseTransparentDataEncryption = new ManagedDatabaseTransparentDataEncryptionImpl( + this + ); + this.managedDatabaseVulnerabilityAssessmentRuleBaselines = new ManagedDatabaseVulnerabilityAssessmentRuleBaselinesImpl( + this + ); + this.managedDatabaseVulnerabilityAssessments = new ManagedDatabaseVulnerabilityAssessmentsImpl( + this + ); + this.managedDatabaseVulnerabilityAssessmentScans = new ManagedDatabaseVulnerabilityAssessmentScansImpl( + this + ); + this.managedInstanceAdministrators = new ManagedInstanceAdministratorsImpl( + this + ); + this.managedInstanceAzureADOnlyAuthentications = new ManagedInstanceAzureADOnlyAuthenticationsImpl( + this + ); + this.managedInstanceEncryptionProtectors = new ManagedInstanceEncryptionProtectorsImpl( + this + ); + this.managedInstanceKeys = new ManagedInstanceKeysImpl(this); + this.managedInstanceLongTermRetentionPolicies = new ManagedInstanceLongTermRetentionPoliciesImpl( + this + ); + this.managedInstanceOperations = new ManagedInstanceOperationsImpl(this); + this.managedInstancePrivateEndpointConnections = new ManagedInstancePrivateEndpointConnectionsImpl( + this + ); + this.managedInstancePrivateLinkResources = new ManagedInstancePrivateLinkResourcesImpl( + this + ); + this.managedInstances = new ManagedInstancesImpl(this); + this.managedInstanceTdeCertificates = new ManagedInstanceTdeCertificatesImpl( + this + ); + this.managedInstanceVulnerabilityAssessments = new ManagedInstanceVulnerabilityAssessmentsImpl( + this + ); + this.managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies = new ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesImpl( + this + ); + this.managedServerSecurityAlertPolicies = new ManagedServerSecurityAlertPoliciesImpl( + this + ); + this.operations = new OperationsImpl(this); + this.operationsHealthOperations = new OperationsHealthOperationsImpl(this); + this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); + this.privateLinkResources = new PrivateLinkResourcesImpl(this); + this.recoverableManagedDatabases = new RecoverableManagedDatabasesImpl( + this + ); + this.restorePoints = new RestorePointsImpl(this); + this.sensitivityLabels = new SensitivityLabelsImpl(this); + this.recommendedSensitivityLabels = new RecommendedSensitivityLabelsImpl( + this + ); + this.serverAdvisors = new ServerAdvisorsImpl(this); + this.serverAutomaticTuningOperations = new ServerAutomaticTuningOperationsImpl( + this + ); + this.serverAzureADAdministrators = new ServerAzureADAdministratorsImpl( + this + ); + this.serverAzureADOnlyAuthentications = new ServerAzureADOnlyAuthenticationsImpl( + this + ); + this.serverDevOpsAuditSettings = new ServerDevOpsAuditSettingsImpl(this); + this.serverDnsAliases = new ServerDnsAliasesImpl(this); + this.serverKeys = new ServerKeysImpl(this); + this.serverOperations = new ServerOperationsImpl(this); + this.serverSecurityAlertPolicies = new ServerSecurityAlertPoliciesImpl( + this + ); + this.serverTrustGroups = new ServerTrustGroupsImpl(this); + this.serverVulnerabilityAssessments = new ServerVulnerabilityAssessmentsImpl( + this + ); + this.sqlAgent = new SqlAgentImpl(this); + this.subscriptionUsages = new SubscriptionUsagesImpl(this); + this.syncAgents = new SyncAgentsImpl(this); + this.syncGroups = new SyncGroupsImpl(this); + this.syncMembers = new SyncMembersImpl(this); + this.tdeCertificates = new TdeCertificatesImpl(this); + this.timeZones = new TimeZonesImpl(this); + this.virtualClusters = new VirtualClustersImpl(this); + this.virtualNetworkRules = new VirtualNetworkRulesImpl(this); + this.workloadClassifiers = new WorkloadClassifiersImpl(this); + this.workloadGroups = new WorkloadGroupsImpl(this); + this.backupShortTermRetentionPolicies = new BackupShortTermRetentionPoliciesImpl( + this + ); + this.databaseExtensionsOperations = new DatabaseExtensionsOperationsImpl( + this + ); + this.databaseOperations = new DatabaseOperationsImpl(this); + this.databaseUsages = new DatabaseUsagesImpl(this); + this.ledgerDigestUploadsOperations = new LedgerDigestUploadsOperationsImpl( + this + ); + this.outboundFirewallRules = new OutboundFirewallRulesImpl(this); + this.restorableDroppedDatabases = new RestorableDroppedDatabasesImpl(this); + this.restorableDroppedManagedDatabases = new RestorableDroppedManagedDatabasesImpl( + this + ); + this.servers = new ServersImpl(this); + this.usages = new UsagesImpl(this); } -} -// Operation Specifications - -export { - SqlManagementClient, - SqlManagementClientContext, - Models as SqlManagementModels, - Mappers as SqlManagementMappers -}; -export * from "./operations"; + recoverableDatabases: RecoverableDatabases; + serverConnectionPolicies: ServerConnectionPolicies; + dataMaskingPolicies: DataMaskingPolicies; + dataMaskingRules: DataMaskingRules; + geoBackupPolicies: GeoBackupPolicies; + databases: Databases; + elasticPools: ElasticPools; + replicationLinks: ReplicationLinks; + serverCommunicationLinks: ServerCommunicationLinks; + serviceObjectives: ServiceObjectives; + elasticPoolActivities: ElasticPoolActivities; + elasticPoolDatabaseActivities: ElasticPoolDatabaseActivities; + transparentDataEncryptions: TransparentDataEncryptions; + transparentDataEncryptionActivities: TransparentDataEncryptionActivities; + serverUsages: ServerUsages; + extendedDatabaseBlobAuditingPolicies: ExtendedDatabaseBlobAuditingPolicies; + extendedServerBlobAuditingPolicies: ExtendedServerBlobAuditingPolicies; + serverBlobAuditingPolicies: ServerBlobAuditingPolicies; + databaseBlobAuditingPolicies: DatabaseBlobAuditingPolicies; + databaseAdvisors: DatabaseAdvisors; + databaseAutomaticTuningOperations: DatabaseAutomaticTuningOperations; + databaseColumns: DatabaseColumns; + databaseRecommendedActions: DatabaseRecommendedActions; + databaseSchemas: DatabaseSchemas; + databaseSecurityAlertPolicies: DatabaseSecurityAlertPolicies; + databaseTables: DatabaseTables; + databaseVulnerabilityAssessmentRuleBaselines: DatabaseVulnerabilityAssessmentRuleBaselines; + databaseVulnerabilityAssessments: DatabaseVulnerabilityAssessments; + databaseVulnerabilityAssessmentScans: DatabaseVulnerabilityAssessmentScans; + dataWarehouseUserActivitiesOperations: DataWarehouseUserActivitiesOperations; + deletedServers: DeletedServers; + elasticPoolOperations: ElasticPoolOperations; + encryptionProtectors: EncryptionProtectors; + failoverGroups: FailoverGroups; + firewallRules: FirewallRules; + instanceFailoverGroups: InstanceFailoverGroups; + instancePools: InstancePools; + jobAgents: JobAgents; + jobCredentials: JobCredentials; + jobExecutions: JobExecutions; + jobs: Jobs; + jobStepExecutions: JobStepExecutions; + jobSteps: JobSteps; + jobTargetExecutions: JobTargetExecutions; + jobTargetGroups: JobTargetGroups; + jobVersions: JobVersions; + capabilities: Capabilities; + longTermRetentionBackups: LongTermRetentionBackups; + longTermRetentionManagedInstanceBackups: LongTermRetentionManagedInstanceBackups; + longTermRetentionPolicies: LongTermRetentionPolicies; + maintenanceWindowOptionsOperations: MaintenanceWindowOptionsOperations; + maintenanceWindowsOperations: MaintenanceWindowsOperations; + managedBackupShortTermRetentionPolicies: ManagedBackupShortTermRetentionPolicies; + managedDatabaseColumns: ManagedDatabaseColumns; + managedDatabaseQueries: ManagedDatabaseQueries; + managedDatabaseRestoreDetails: ManagedDatabaseRestoreDetails; + managedDatabases: ManagedDatabases; + managedDatabaseSchemas: ManagedDatabaseSchemas; + managedDatabaseSecurityAlertPolicies: ManagedDatabaseSecurityAlertPolicies; + managedDatabaseSecurityEvents: ManagedDatabaseSecurityEvents; + managedDatabaseSensitivityLabels: ManagedDatabaseSensitivityLabels; + managedDatabaseRecommendedSensitivityLabels: ManagedDatabaseRecommendedSensitivityLabels; + managedDatabaseTables: ManagedDatabaseTables; + managedDatabaseTransparentDataEncryption: ManagedDatabaseTransparentDataEncryption; + managedDatabaseVulnerabilityAssessmentRuleBaselines: ManagedDatabaseVulnerabilityAssessmentRuleBaselines; + managedDatabaseVulnerabilityAssessments: ManagedDatabaseVulnerabilityAssessments; + managedDatabaseVulnerabilityAssessmentScans: ManagedDatabaseVulnerabilityAssessmentScans; + managedInstanceAdministrators: ManagedInstanceAdministrators; + managedInstanceAzureADOnlyAuthentications: ManagedInstanceAzureADOnlyAuthentications; + managedInstanceEncryptionProtectors: ManagedInstanceEncryptionProtectors; + managedInstanceKeys: ManagedInstanceKeys; + managedInstanceLongTermRetentionPolicies: ManagedInstanceLongTermRetentionPolicies; + managedInstanceOperations: ManagedInstanceOperations; + managedInstancePrivateEndpointConnections: ManagedInstancePrivateEndpointConnections; + managedInstancePrivateLinkResources: ManagedInstancePrivateLinkResources; + managedInstances: ManagedInstances; + managedInstanceTdeCertificates: ManagedInstanceTdeCertificates; + managedInstanceVulnerabilityAssessments: ManagedInstanceVulnerabilityAssessments; + managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies; + managedServerSecurityAlertPolicies: ManagedServerSecurityAlertPolicies; + operations: Operations; + operationsHealthOperations: OperationsHealthOperations; + privateEndpointConnections: PrivateEndpointConnections; + privateLinkResources: PrivateLinkResources; + recoverableManagedDatabases: RecoverableManagedDatabases; + restorePoints: RestorePoints; + sensitivityLabels: SensitivityLabels; + recommendedSensitivityLabels: RecommendedSensitivityLabels; + serverAdvisors: ServerAdvisors; + serverAutomaticTuningOperations: ServerAutomaticTuningOperations; + serverAzureADAdministrators: ServerAzureADAdministrators; + serverAzureADOnlyAuthentications: ServerAzureADOnlyAuthentications; + serverDevOpsAuditSettings: ServerDevOpsAuditSettings; + serverDnsAliases: ServerDnsAliases; + serverKeys: ServerKeys; + serverOperations: ServerOperations; + serverSecurityAlertPolicies: ServerSecurityAlertPolicies; + serverTrustGroups: ServerTrustGroups; + serverVulnerabilityAssessments: ServerVulnerabilityAssessments; + sqlAgent: SqlAgent; + subscriptionUsages: SubscriptionUsages; + syncAgents: SyncAgents; + syncGroups: SyncGroups; + syncMembers: SyncMembers; + tdeCertificates: TdeCertificates; + timeZones: TimeZones; + virtualClusters: VirtualClusters; + virtualNetworkRules: VirtualNetworkRules; + workloadClassifiers: WorkloadClassifiers; + workloadGroups: WorkloadGroups; + backupShortTermRetentionPolicies: BackupShortTermRetentionPolicies; + databaseExtensionsOperations: DatabaseExtensionsOperations; + databaseOperations: DatabaseOperations; + databaseUsages: DatabaseUsages; + ledgerDigestUploadsOperations: LedgerDigestUploadsOperations; + outboundFirewallRules: OutboundFirewallRules; + restorableDroppedDatabases: RestorableDroppedDatabases; + restorableDroppedManagedDatabases: RestorableDroppedManagedDatabases; + servers: Servers; + usages: Usages; +} diff --git a/sdk/sql/arm-sql/src/sqlManagementClientContext.ts b/sdk/sql/arm-sql/src/sqlManagementClientContext.ts index 9b7e9947bcd6..6ead2e955b6a 100644 --- a/sdk/sql/arm-sql/src/sqlManagementClientContext.ts +++ b/sdk/sql/arm-sql/src/sqlManagementClientContext.ts @@ -1,85 +1,68 @@ /* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { SqlManagementClientOptionalParams } from "./models"; -const packageName = "@azure/arm-sql"; -const packageVersion = "7.1.0"; - -export class SqlManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials | TokenCredential; +export class SqlManagementClientContext extends coreClient.ServiceClient { + $host: string; subscriptionId: string; /** - * Initializes a new instance of the SqlManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. Credentials - * implementing the TokenCredential interface from the @azure/identity package are recommended. For - * more information about these credentials, see - * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the - * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and - * @azure/ms-rest-browserauth are also supported. + * Initializes a new instance of the SqlManagementClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId The subscription ID that identifies an Azure subscription. - * @param [options] The parameter options + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.SqlManagementClientOptions) { - if (credentials == undefined) { - throw new Error('\'credentials\' cannot be null.'); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: SqlManagementClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); } - if (subscriptionId == undefined) { - throw new Error('\'subscriptionId\' cannot be null.'); + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); } + // Initializing default values for options if (!options) { options = {}; } - if(!options.userAgent) { - const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } - - super(credentials, options); + const defaults: SqlManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - this.acceptLanguage = 'en-US'; - this.longRunningOperationRetryTimeout = 30; - this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; - this.requestContentType = "application/json; charset=utf-8"; - this.credentials = credentials; - this.subscriptionId = subscriptionId; + const packageDetails = `azsdk-js-arm-sql/30.0.0-beta.4`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { - this.acceptLanguage = options.acceptLanguage; - } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { - this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; - } - } - - /** - * NOTE: This is an override added manually to workaround bug Azure/ms-rest-js/issues/395 - * When this library is regenerated, this override needs to be brought back - * This override adds the header "Accept: application/json" to every request - */ - sendRequest(options: msRest.RequestPrepareOptions | msRest.WebResourceLike) { - if(!options.headers) { - options.headers = {accept: "application/json"}; - } else { - if (options.headers.set) { - options.headers.set("accept", "application/json"); - } else { - (options.headers as {[key: string]: any})["accept"] = "application/json" - } + 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; - return super.sendRequest(options); + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; } -} \ No newline at end of file +} diff --git a/sdk/sql/arm-sql/tsconfig.json b/sdk/sql/arm-sql/tsconfig.json index 422b584abd5e..603440b3a359 100644 --- a/sdk/sql/arm-sql/tsconfig.json +++ b/sdk/sql/arm-sql/tsconfig.json @@ -3,7 +3,7 @@ "module": "es6", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, @@ -11,7 +11,7 @@ "forceConsistentCasingInFileNames": true, "lib": ["es6", "dom"], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, "include": ["./src/**/*.ts"], diff --git a/sdk/sql/ci.yml b/sdk/sql/ci.yml new file mode 100644 index 000000000000..b011452d75a2 --- /dev/null +++ b/sdk/sql/ci.yml @@ -0,0 +1,29 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. +trigger: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/sql/ + +pr: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/sql/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: sql + Artifacts: + - name: azure-arm-sql + safeName: azurearmsql + \ No newline at end of file diff --git a/sdk/sqlvirtualmachine/arm-sqlvirtualmachine/README.md b/sdk/sqlvirtualmachine/arm-sqlvirtualmachine/README.md index ac5fca0a2f2a..a00a0e8580ad 100644 --- a/sdk/sqlvirtualmachine/arm-sqlvirtualmachine/README.md +++ b/sdk/sqlvirtualmachine/arm-sqlvirtualmachine/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SqlVirtualMachineManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/storage/CONTRIBUTING.md b/sdk/storage/CONTRIBUTING.md index 6f27ac4910d7..d1f114089fdd 100644 --- a/sdk/storage/CONTRIBUTING.md +++ b/sdk/storage/CONTRIBUTING.md @@ -156,7 +156,7 @@ npm run test `npm run test` would run the the tests in both node and the browser. -**Link** - [Guidelines for record and playback - `@azure/test-utils-recorder`](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/GUIDELINES.md) +**Link** - [Guidelines for record and playback - `@azure-tools/test-recorder`](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/test-utils/recorder/GUIDELINES.md) ## Pull Requests diff --git a/sdk/storage/arm-storage-profile-2019-03-01-hybrid/README.md b/sdk/storage/arm-storage-profile-2019-03-01-hybrid/README.md index 970386f1d2f2..f226727720fb 100644 --- a/sdk/storage/arm-storage-profile-2019-03-01-hybrid/README.md +++ b/sdk/storage/arm-storage-profile-2019-03-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for StorageManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/README.md b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/README.md index af77a5cd2cfa..09913c773c3f 100644 --- a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/README.md +++ b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for StorageManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/storage/arm-storage/CHANGELOG.md b/sdk/storage/arm-storage/CHANGELOG.md index 0c2dd63932ed..239c94fcf32f 100644 --- a/sdk/storage/arm-storage/CHANGELOG.md +++ b/sdk/storage/arm-storage/CHANGELOG.md @@ -1,3 +1,21 @@ +# Release History + +## 30.0.0-beta.3 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 30.0.0-beta.2 (2021-09-06) + +**Bug Fixes** + + - fix homepage issues + ## 30.0.0-beta.1 (2021-07-15) This is the first preview for the new version of the `@azure/arm-storage` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. diff --git a/sdk/storage/arm-storage/README.md b/sdk/storage/arm-storage/README.md index da3b02aa56f9..6cc1e3a49143 100644 --- a/sdk/storage/arm-storage/README.md +++ b/sdk/storage/arm-storage/README.md @@ -47,7 +47,8 @@ Set the values of the client ID, tenant ID, and client secret of the AAD applica ```javascript const { StorageManagementClient } = require("@azure/arm-storage"); const { DefaultAzureCredential } = require("@azure/identity"); -const client = new StorageManagementClient("", new DefaultAzureCredential()); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new StorageManagementClient(new DefaultAzureCredential(), subscriptionId); ``` ## Key concepts diff --git a/sdk/storage/arm-storage/package.json b/sdk/storage/arm-storage/package.json index 465e0920e925..399048169cda 100644 --- a/sdk/storage/arm-storage/package.json +++ b/sdk/storage/arm-storage/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for StorageManagementClient.", - "version": "30.0.0-beta.1", + "version": "30.0.0-beta.3", "engines": { "node": ">=12.0.0" }, diff --git a/sdk/storage/arm-storage/src/storageManagementClientContext.ts b/sdk/storage/arm-storage/src/storageManagementClientContext.ts index 20282c7e0602..566826a4c250 100644 --- a/sdk/storage/arm-storage/src/storageManagementClientContext.ts +++ b/sdk/storage/arm-storage/src/storageManagementClientContext.ts @@ -42,7 +42,7 @@ export class StorageManagementClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-storage/30.0.0-beta.1`; + const packageDetails = `azsdk-js-arm-storage/30.0.0-beta.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/storage/perf-tests/storage-blob-track-1/package.json b/sdk/storage/perf-tests/storage-blob-track-1/package.json index 9e167b72441f..3f148929e965 100644 --- a/sdk/storage/perf-tests/storage-blob-track-1/package.json +++ b/sdk/storage/perf-tests/storage-blob-track-1/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-storage-blob-track-1", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -21,12 +22,12 @@ "private": true, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", - "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", - "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-* types *.tgz *.log", + "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", "integration-test": "echo skipped", @@ -34,7 +35,6 @@ "lint": "eslint package.json src test --ext .ts -f html -o storage-blob-perf-test-lintReport.html || exit 0", "pack": "npm pack 2>&1", "perf-test:node": "ts-node test/index.spec.ts", - "prebuild": "npm run clean", "setup": "node ../../../../common/tools/perf-tests-track-1-setup.js", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", diff --git a/sdk/storage/perf-tests/storage-blob/package.json b/sdk/storage/perf-tests/storage-blob/package.json index fd9bd403ae3f..15a6023f6091 100644 --- a/sdk/storage/perf-tests/storage-blob/package.json +++ b/sdk/storage/perf-tests/storage-blob/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-storage-blob", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -9,7 +10,7 @@ "dependencies": { "@azure/core-http": "^2.0.0", "@azure/core-rest-pipeline": "^1.1.0", - "@azure/storage-blob": "^12.8.0-beta.1", + "@azure/storage-blob": "^12.8.0", "@azure/test-utils-perfstress": "^1.0.0", "dotenv": "^8.2.0", "uuid": "^8.3.0" @@ -23,18 +24,18 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "private": true, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -42,7 +43,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/storage/perf-tests/storage-blob/test/storageTest.spec.ts b/sdk/storage/perf-tests/storage-blob/test/storageTest.spec.ts index e3de60eaa708..fc4d8d9c01fa 100644 --- a/sdk/storage/perf-tests/storage-blob/test/storageTest.spec.ts +++ b/sdk/storage/perf-tests/storage-blob/test/storageTest.spec.ts @@ -27,7 +27,10 @@ export abstract class StorageBlobTest extends PerfStressTest getValueInConnString(connectionString, "AccountName"), getValueInConnString(connectionString, "AccountKey") ); - this.blobServiceClient = BlobServiceClient.fromConnectionString(connectionString); + this.blobServiceClient = BlobServiceClient.fromConnectionString( + connectionString, + this.configureClientOptionsCoreV1({}) + ); this.containerClient = this.blobServiceClient.getContainerClient(StorageBlobTest.containerName); } diff --git a/sdk/storage/perf-tests/storage-blob/tsconfig.json b/sdk/storage/perf-tests/storage-blob/tsconfig.json index d9fca9ba85b4..7ec349900a57 100644 --- a/sdk/storage/perf-tests/storage-blob/tsconfig.json +++ b/sdk/storage/perf-tests/storage-blob/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../../../tsconfig.package", "compilerOptions": { - "target": "es5", "module": "commonjs", "declarationDir": "./typings/latest", "outDir": "./dist-esm", diff --git a/sdk/storage/perf-tests/storage-file-datalake/package.json b/sdk/storage/perf-tests/storage-file-datalake/package.json index 6bfcf694912a..dfb7b51bfba9 100644 --- a/sdk/storage/perf-tests/storage-file-datalake/package.json +++ b/sdk/storage/perf-tests/storage-file-datalake/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-storage-file-datalake", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -19,18 +20,18 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "private": true, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -38,7 +39,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/storage/perf-tests/storage-file-share-track-1/package.json b/sdk/storage/perf-tests/storage-file-share-track-1/package.json index 096fa9a26b15..be137e99ef96 100644 --- a/sdk/storage/perf-tests/storage-file-share-track-1/package.json +++ b/sdk/storage/perf-tests/storage-file-share-track-1/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-storage-file-share-track-1", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -22,19 +23,18 @@ "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", - "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", - "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-* types *.tgz *.log", + "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", "integration-test": "echo skipped", "lint:fix": "eslint package.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json src test --ext .ts -f html -o storage-file-share-perf-test-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "setup": "node ../../../../common/tools/perf-tests-track-1-setup.js", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", diff --git a/sdk/storage/perf-tests/storage-file-share/package.json b/sdk/storage/perf-tests/storage-file-share/package.json index ff3de6829485..dec135ac7c81 100644 --- a/sdk/storage/perf-tests/storage-file-share/package.json +++ b/sdk/storage/perf-tests/storage-file-share/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-storage-file-share", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -19,18 +20,18 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "private": true, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -38,7 +39,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/storage/storage-blob-changefeed/package.json b/sdk/storage/storage-blob-changefeed/package.json index 0f99222f02b3..7b6183c48f60 100644 --- a/sdk/storage/storage-blob-changefeed/package.json +++ b/sdk/storage/storage-blob-changefeed/package.json @@ -31,7 +31,7 @@ "build:prep-samples": "dev-tool samples prep && cd dist-samples && tsc", "build:test": "npm run build:es6 && rollup -c rollup.test.config.js 2>&1", "build:types": "downlevel-dts typings/latest typings/3.1", - "build": "npm run build:es6 && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && npm run build:es6 && npm run build:nodebrowser && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings temp statistics.html coverage coverage-browser .nyc_output *.tgz *.log test*.xml TEST*.xml", "clean:samples": "rimraf samples/javascript/node_modules samples/typescript/node_modules samples/typescript/dist samples/typescript/package-lock.json samples/javascript/package-lock.json", @@ -42,9 +42,8 @@ "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --full-trace -t 300000 \"dist-esm/storage-blob-changefeed/test/*.spec.js\" \"dist-esm/storage-blob-changefeed/test/node/*.spec.js\"", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", - "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o storage-blob-changefeed-lintReport.html || exit 0", + "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "echo 'browser not supported yet.'", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -94,7 +93,7 @@ ] }, "dependencies": { - "@azure/storage-blob": "^12.8.0-beta.1", + "@azure/storage-blob": "^12.8.0", "@azure/abort-controller": "^1.0.0", "@azure/core-http": "^2.0.0", "@azure/core-lro": "^2.2.0", @@ -108,7 +107,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-multi-entry": "^3.0.0", "@rollup/plugin-replace": "^2.2.0", @@ -140,7 +139,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "@rollup/plugin-commonjs": "11.0.2", @@ -150,7 +149,7 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "0.15.2", "typescript": "~4.2.0", "util": "^0.12.1", diff --git a/sdk/storage/storage-blob-changefeed/src/BlobChangeFeedClient.ts b/sdk/storage/storage-blob-changefeed/src/BlobChangeFeedClient.ts index 6b150ff7731c..f69456816db1 100644 --- a/sdk/storage/storage-blob-changefeed/src/BlobChangeFeedClient.ts +++ b/sdk/storage/storage-blob-changefeed/src/BlobChangeFeedClient.ts @@ -92,6 +92,8 @@ export class BlobChangeFeedClient { */ public static fromConnectionString( connectionString: string, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ): BlobChangeFeedClient { const blobServiceClient = BlobServiceClient.fromConnectionString(connectionString, options); @@ -139,6 +141,8 @@ export class BlobChangeFeedClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ); @@ -159,6 +163,8 @@ export class BlobChangeFeedClient { | AnonymousCredential | TokenCredential | Pipeline, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { this.changeFeedFactory = new ChangeFeedFactory(); diff --git a/sdk/storage/storage-blob-changefeed/src/ChangeFeedFactory.ts b/sdk/storage/storage-blob-changefeed/src/ChangeFeedFactory.ts index 6ca2a1458b75..365401ab3019 100644 --- a/sdk/storage/storage-blob-changefeed/src/ChangeFeedFactory.ts +++ b/sdk/storage/storage-blob-changefeed/src/ChangeFeedFactory.ts @@ -70,7 +70,7 @@ export class ChangeFeedFactory { if (continuationToken) { cursor = JSON.parse(continuationToken); ChangeFeedFactory.validateCursor(containerClient, cursor!); - options.start = parseDateFromSegmentPath(cursor?.CurrentSegmentCursor.SegmentPath!); + options.start = parseDateFromSegmentPath(cursor!.CurrentSegmentCursor.SegmentPath!); options.end = new Date(cursor!.EndTime!); } // Round start and end time if we are not using the cursor. diff --git a/sdk/storage/storage-blob-changefeed/src/LazyLoadingBlobStream.ts b/sdk/storage/storage-blob-changefeed/src/LazyLoadingBlobStream.ts index 14be258a669c..e3e4130f546e 100644 --- a/sdk/storage/storage-blob-changefeed/src/LazyLoadingBlobStream.ts +++ b/sdk/storage/storage-blob-changefeed/src/LazyLoadingBlobStream.ts @@ -110,7 +110,7 @@ export class LazyLoadingBlobStream extends Readable { * * @param size - Optional. The size of data to be read */ - public async _read(size?: number) { + public async _read(size?: number): Promise { const { span, updatedOptions } = createSpan("LazyLoadingBlobStream-read", this.options); try { diff --git a/sdk/storage/storage-blob-changefeed/src/utils/utils.browser.ts b/sdk/storage/storage-blob-changefeed/src/utils/utils.browser.ts index fa03e79d70be..ec96666edeae 100644 --- a/sdk/storage/storage-blob-changefeed/src/utils/utils.browser.ts +++ b/sdk/storage/storage-blob-changefeed/src/utils/utils.browser.ts @@ -31,4 +31,6 @@ export async function blobToString(blob: Blob): Promise { }); } -export function bodyToAvroReadable() {} +export function bodyToAvroReadable(): void { + /* empty */ +} diff --git a/sdk/storage/storage-blob-changefeed/test/blobchangefeedclient.spec.ts b/sdk/storage/storage-blob-changefeed/test/blobchangefeedclient.spec.ts index 279d4edbd219..5bc1ed675f54 100644 --- a/sdk/storage/storage-blob-changefeed/test/blobchangefeedclient.spec.ts +++ b/sdk/storage/storage-blob-changefeed/test/blobchangefeedclient.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import * as assert from "assert"; -import { record, isPlaybackMode, Recorder } from "@azure/test-utils-recorder"; +import { record, isPlaybackMode, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup, getBlobChangeFeedClient } from "./utils"; import { BlobChangeFeedClient, BlobChangeFeedEvent, BlobChangeFeedEventPage } from "../src"; import { AbortController } from "@azure/abort-controller"; @@ -12,6 +12,7 @@ import { SDK_VERSION } from "../src/utils/constants"; import { setSpan, context } from "@azure/core-tracing"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; dotenv.config(); const timeoutForLargeFileUploadingTest = 20 * 60 * 1000; @@ -20,13 +21,13 @@ describe("BlobChangeFeedClient", async () => { let recorder: Recorder; let changeFeedClient: BlobChangeFeedClient; - before(async function() { + before(async function(this: Context) { if (process.env.CHANGE_FEED_ENABLED !== "1" && !isPlaybackMode()) { this.skip(); } }); - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); changeFeedClient = getBlobChangeFeedClient(); }); @@ -179,13 +180,13 @@ describe("BlobChangeFeedClient: Change Feed not configured", async () => { let recorder: Recorder; let changeFeedClient: BlobChangeFeedClient; - before(async function() { + before(async function(this: Context) { if (process.env.CHANGE_FEED_ENABLED === "1" && !isPlaybackMode()) { this.skip(); } }); - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); changeFeedClient = getBlobChangeFeedClient(); }); diff --git a/sdk/storage/storage-blob-changefeed/test/changefeed.spec.ts b/sdk/storage/storage-blob-changefeed/test/changefeed.spec.ts index bb4c5a5f02c4..cecd844b455f 100644 --- a/sdk/storage/storage-blob-changefeed/test/changefeed.spec.ts +++ b/sdk/storage/storage-blob-changefeed/test/changefeed.spec.ts @@ -105,18 +105,18 @@ describe("Change Feed", async () => { }); it("no valid years in change feed container", async () => { - const yearPaths = [{ kind: "prefix", name: "idx/segments/1601/" }]; - containerClientStub.listBlobsByHierarchy.withArgs("/").returns(fakeList(yearPaths) as any); + const newYearPaths = [{ kind: "prefix", name: "idx/segments/1601/" }]; + containerClientStub.listBlobsByHierarchy.withArgs("/").returns(fakeList(newYearPaths) as any); const changeFeed = await changeFeedFactory.create(serviceClientStub as any); assert.ok(!changeFeed.hasNext()); }); it("no years after start time", async () => { - const yearPaths = [ + const newYearPaths = [ { kind: "prefix", name: "idx/segments/1601/" }, { kind: "prefix", name: "idx/segments/2019/" } ]; - containerClientStub.listBlobsByHierarchy.withArgs("/").returns(fakeList(yearPaths) as any); + containerClientStub.listBlobsByHierarchy.withArgs("/").returns(fakeList(newYearPaths) as any); const changeFeed = await changeFeedFactory.create(serviceClientStub as any, undefined, { start: new Date(Date.UTC(2020, 0)) }); @@ -124,11 +124,11 @@ describe("Change Feed", async () => { }); it("no segments remaining in start year", async () => { - const yearPaths = [ + const newYearPaths = [ { kind: "prefix", name: "idx/segments/1601/" }, { kind: "prefix", name: "idx/segments/2019/" } ]; - containerClientStub.listBlobsByHierarchy.withArgs("/").returns(fakeList(yearPaths) as any); + containerClientStub.listBlobsByHierarchy.withArgs("/").returns(fakeList(newYearPaths) as any); const segments = [ { name: "idx/segments/2019/03/02/2000/meta.json" }, diff --git a/sdk/storage/storage-blob-changefeed/test/segment.spec.ts b/sdk/storage/storage-blob-changefeed/test/segment.spec.ts index fd58b081c507..b1e08d3345d9 100644 --- a/sdk/storage/storage-blob-changefeed/test/segment.spec.ts +++ b/sdk/storage/storage-blob-changefeed/test/segment.spec.ts @@ -65,8 +65,8 @@ describe("Segment", async () => { const shardRemainingCount = shardCount - 1; for (let i = 0; i < shardRemainingCount; i++) { - const event = await segment.getChange(); - assert.equal(event, (i + 2) % shardCount); + const changedEvent = await segment.getChange(); + assert.equal(changedEvent, (i + 2) % shardCount); } const event2 = await segment.getChange(); assert.equal(event2, 2); diff --git a/sdk/storage/storage-blob-changefeed/test/utils/index.ts b/sdk/storage/storage-blob-changefeed/test/utils/index.ts index 638736fc7a95..f8814ab9ff7d 100644 --- a/sdk/storage/storage-blob-changefeed/test/utils/index.ts +++ b/sdk/storage/storage-blob-changefeed/test/utils/index.ts @@ -6,7 +6,7 @@ import { SimpleTokenCredential } from "./testutils.common"; import { StorageSharedKeyCredential, BlobServiceClient } from "@azure/storage-blob"; import { BlobChangeFeedClient } from "../../src"; import { TokenCredential } from "@azure/core-http"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; dotenv.config(); diff --git a/sdk/storage/storage-blob-changefeed/test/utils/testutils.common.ts b/sdk/storage/storage-blob-changefeed/test/utils/testutils.common.ts index 47172bb7d23a..e688111a8ae2 100644 --- a/sdk/storage/storage-blob-changefeed/test/utils/testutils.common.ts +++ b/sdk/storage/storage-blob-changefeed/test/utils/testutils.common.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { TokenCredential, GetTokenOptions, AccessToken } from "@azure/core-http"; -import { isPlaybackMode, env, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { isPlaybackMode, env, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; export const testPollerProperties = { intervalInMs: isPlaybackMode() ? 0 : undefined @@ -100,11 +100,9 @@ export function isBrowser(): boolean { } export function getUniqueName(prefix: string): string { - return `${prefix}${new Date().getTime()}${padStart( - Math.floor(Math.random() * 10000).toString(), - 5, - "00000" - )}`; + return `${prefix}${new Date().getTime()}${Math.floor(Math.random() * 10000) + .toString() + .padStart(5, "00000")}`; } export function base64encode(content: string): string { @@ -147,33 +145,3 @@ export function sleep(seconds: number): Promise { setTimeout(resolve, seconds * 1000); }); } - -/** - * String.prototype.padStart() - * - * @param currentString - - * @param targetLength - - * @param padString - - */ -export function padStart( - currentString: string, - targetLength: number, - padString: string = " " -): string { - // TS doesn't know this code needs to run downlevel sometimes. - // @ts-expect-error - if (String.prototype.padStart) { - return currentString.padStart(targetLength, padString); - } - - padString = padString || " "; - if (currentString.length > targetLength) { - return currentString; - } else { - targetLength = targetLength - currentString.length; - if (targetLength > padString.length) { - padString += padString.repeat(targetLength / padString.length); - } - return padString.slice(0, targetLength) + currentString; - } -} diff --git a/sdk/storage/storage-blob/CHANGELOG.md b/sdk/storage/storage-blob/CHANGELOG.md index 91397d99edda..c2409c56e4a6 100644 --- a/sdk/storage/storage-blob/CHANGELOG.md +++ b/sdk/storage/storage-blob/CHANGELOG.md @@ -1,5 +1,27 @@ # Release History +## 12.8.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 12.8.0 (2021-09-10) + +### Features Added + +- Includes all features released in 12.8.0-beta.1. + +## 12.7.0 (2021-08-02) + +- Support for Node.js 8 and IE 11 has been dropped. Please see our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. +- Changed TS compilation target to ES2017 in order to produce smaller bundles and use more native platform features +- Updated our internal core package dependencies to their latest versions in order to add support for Opentelemetry 1.0.0 which is compatible with the latest versions of our other client libraries. + ## 12.8.0-beta.1 (2021-07-28) ### Features Added @@ -14,12 +36,6 @@ - Added support for Parquet as an input format in `BlockBlobClient.query()`. - With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. -## 12.7.0 (2021-08-02) - -- Support for Node.js 8 and IE 11 has been dropped. Please see our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. -- Changed TS compilation target to ES2017 in order to produce smaller bundles and use more native platform features -- Updated our internal core package dependencies to their latest versions in order to add support for Opentelemetry 1.0.0 which is compatible with the latest versions of our other client libraries. - ## 12.6.0 (2021-06-09) - Includes all features released in 12.6.0-beta.1. diff --git a/sdk/storage/storage-blob/karma.conf.js b/sdk/storage/storage-blob/karma.conf.js index 1e50e0e98898..b0922f2c8b65 100644 --- a/sdk/storage/storage-blob/karma.conf.js +++ b/sdk/storage/storage-blob/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/storage/storage-blob/package.json b/sdk/storage/storage-blob/package.json index 1c93cdce3b1f..f62ff206b7c2 100644 --- a/sdk/storage/storage-blob/package.json +++ b/sdk/storage/storage-blob/package.json @@ -1,7 +1,7 @@ { "name": "@azure/storage-blob", "sdk-type": "client", - "version": "12.8.0-beta.1", + "version": "12.8.1", "description": "Microsoft Azure Storage SDK for JavaScript - Blob", "main": "./dist/index.js", "module": "./dist-esm/storage-blob/src/index.js", @@ -41,7 +41,7 @@ "build:prep-samples": "dev-tool samples prep && cd dist-samples && tsc", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", "build:types": "downlevel-dts typings/latest typings/3.1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings temp statistics.html coverage coverage-browser .nyc_output *.tgz *.log test*.xml TEST*.xml", "clean:samples": "rimraf samples/javascript/node_modules samples/typescript/node_modules samples/typescript/dist samples/typescript/package-lock.json samples/javascript/package-lock.json", @@ -52,9 +52,8 @@ "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --full-trace -t 300000 \"dist-esm/storage-blob/test/*.spec.js\" \"dist-esm/storage-blob/test/node/*.spec.js\"", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", - "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o storage-blob-lintReport.html || exit 0", + "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -139,9 +138,9 @@ "@azure/core-rest-pipeline": "^1.1.0", "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@azure/test-utils-perfstress": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-multi-entry": "^3.0.0", @@ -176,7 +175,7 @@ "node-fetch": "^2.6.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "@rollup/plugin-commonjs": "11.0.2", @@ -186,7 +185,7 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "typedoc": "0.15.2", "util": "^0.12.1" diff --git a/sdk/storage/storage-blob/recordings/node/blobbatch/recording_deleteblobs_should_work_for_batch_delete.js b/sdk/storage/storage-blob/recordings/node/blobbatch/recording_deleteblobs_should_work_for_batch_delete.js index 32c82f1de7f0..6dbee381ac1c 100644 --- a/sdk/storage/storage-blob/recordings/node/blobbatch/recording_deleteblobs_should_work_for_batch_delete.js +++ b/sdk/storage/storage-blob/recordings/node/blobbatch/recording_deleteblobs_should_work_for_batch_delete.js @@ -1,175 +1,176 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container157135007048206827"} +module.exports.hash = "23e4af99478a6bded62febf1a909d476"; + +module.exports.testInfo = {"uniqueName":{"container":"container163164553243504643"},"newDate":{}} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container157135007048206827') + .put('/container163164553243504643') .query(true) - .reply(201, "", [ 'Content-Length', + .reply(201, "", [ + 'Content-Length', '0', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:50 GMT', + 'Tue, 14 Sep 2021 18:52:12 GMT', 'ETag', - '"0x8D7534E7381C173"', + '"0x8D977B0C371FE36"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1943d166-601e-004d-4137-8537e1000000', + 'c3f0480d-301e-008f-5899-a93dc7000000', 'x-ms-client-request-id', - '8b06612a-fe80-4f12-a7b3-9607efa670af', + '31dfb478-cefd-4b1e-8373-75e7c3ee2495', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'Date', - 'Thu, 17 Oct 2019 22:07:50 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container157135007048206827/blob0', "Hello World") - .reply(201, "", [ 'Content-Length', + .put('/container163164553243504643/blob0', "Hello World") + .reply(201, "", [ + 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:50 GMT', + 'Tue, 14 Sep 2021 18:52:12 GMT', 'ETag', - '"0x8D7534E738C6A42"', + '"0x8D977B0C37C67B3"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3819e60-101e-00d1-6d37-859a87000000', + 'c3f04843-301e-008f-0899-a93dc7000000', 'x-ms-client-request-id', - '5a7b13e5-3f20-4200-89c2-ca7f54bffac5', + '3ff322e5-d2cd-462e-8741-e04a2eec58b6', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'x-ms-content-crc64', 'YeJLfssylmU=', 'x-ms-request-server-encrypted', 'true', + 'x-ms-version-id', + '2021-09-14T18:52:12.7295411Z', 'Date', - 'Thu, 17 Oct 2019 22:07:50 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container157135007048206827/blob1', "Hello World") - .reply(201, "", [ 'Content-Length', + .put('/container163164553243504643/blob1', "Hello World") + .reply(201, "", [ + 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:50 GMT', + 'Tue, 14 Sep 2021 18:52:12 GMT', 'ETag', - '"0x8D7534E73945AF6"', + '"0x8D977B0C38431CA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a00d2322-f01e-00bb-0e37-8542af000000', + 'c3f04863-301e-008f-2399-a93dc7000000', 'x-ms-client-request-id', - '4431d38b-b95d-4fb7-878b-3e3b16f14610', + 'd706f4c4-38e6-4035-8205-eec2fb05d84c', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'x-ms-content-crc64', 'YeJLfssylmU=', 'x-ms-request-server-encrypted', 'true', + 'x-ms-version-id', + '2021-09-14T18:52:12.7805898Z', 'Date', - 'Thu, 17 Oct 2019 22:07:49 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container157135007048206827/%C3%A5%20%C3%A4%20%C3%B6', "Hello World") - .reply(201, "", [ 'Content-Length', + .put('/container163164553243504643/%C3%A5%20%C3%A4%20%C3%B6', "Hello World") + .reply(201, "", [ + 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:50 GMT', + 'Tue, 14 Sep 2021 18:52:12 GMT', 'ETag', - '"0x8D7534E739BAF45"', + '"0x8D977B0C38BFBDC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '402aa0fe-501e-0024-6c37-850ead000000', + 'c3f04882-301e-008f-3f99-a93dc7000000', 'x-ms-client-request-id', - 'ac95c072-ab0a-4476-b2dd-e8728943dc8e', + '6e4510e7-9532-4d43-ac56-48b60a8b0c1c', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'x-ms-content-crc64', 'YeJLfssylmU=', 'x-ms-request-server-encrypted', 'true', + 'x-ms-version-id', + '2021-09-14T18:52:12.8316380Z', 'Date', - 'Thu, 17 Oct 2019 22:07:49 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .post('/', "--batch_1e324473-c7ec-4c6c-9b47-645a57a99ba5\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 0\r\n\r\nDELETE /container157135007048206827/blob0 HTTP/1.1\r\nx-ms-date: Thu, 17 Oct 2019 22:07:50 GMT\r\nAuthorization: SharedKey fakestorageaccount:v8AC45Bjze7bUSVWdhO78h1WQlH+2kBFbG2v6XnAs60=\r\n\r\n--batch_1e324473-c7ec-4c6c-9b47-645a57a99ba5\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nDELETE /container157135007048206827/blob1 HTTP/1.1\r\nx-ms-date: Thu, 17 Oct 2019 22:07:50 GMT\r\nAuthorization: SharedKey fakestorageaccount:S2wYSshnb3mAelCdFIGUeIbuRt6p5C4GSeo6JYOudWQ=\r\n\r\n--batch_1e324473-c7ec-4c6c-9b47-645a57a99ba5\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 2\r\n\r\nDELETE /container157135007048206827/%C3%A5%20%C3%A4%20%C3%B6 HTTP/1.1\r\nx-ms-date: Thu, 17 Oct 2019 22:07:50 GMT\r\nAuthorization: SharedKey fakestorageaccount:HU7PymO65lVLsnHsyg2Z80PIkbbJdckkEBUCHWyyT/8=\r\n\r\n--batch_1e324473-c7ec-4c6c-9b47-645a57a99ba5--\r\n") + .post('/', "--batch_f4e7306c-04db-4452-bfc7-8cd3b59521b1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 0\r\n\r\nDELETE /container163164553243504643/blob0 HTTP/1.1\r\nAccept: application/xml\r\nx-ms-date: Tue, 14 Sep 2021 18:52:12 GMT\r\nAuthorization: SharedKey fakestorageaccount:pass123\r\n\r\n--batch_f4e7306c-04db-4452-bfc7-8cd3b59521b1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nDELETE /container163164553243504643/blob1 HTTP/1.1\r\nAccept: application/xml\r\nx-ms-date: Tue, 14 Sep 2021 18:52:12 GMT\r\nAuthorization: SharedKey fakestorageaccount:pass123\r\n\r\n--batch_f4e7306c-04db-4452-bfc7-8cd3b59521b1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 2\r\n\r\nDELETE /container163164553243504643/%C3%A5%20%C3%A4%20%C3%B6 HTTP/1.1\r\nAccept: application/xml\r\nx-ms-date: Tue, 14 Sep 2021 18:52:12 GMT\r\nAuthorization: SharedKey fakestorageaccount:pass123\r\n\r\n--batch_f4e7306c-04db-4452-bfc7-8cd3b59521b1--\r\n") .query(true) - .reply(202, "--batchresponse_fbc39ce8-0efa-487a-8c73-135fff9a07fe\r\nContent-Type: application/http\r\nContent-ID: 0\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: true\r\nx-ms-request-id: 531d05e8-a01e-00a6-2d37-854f131e55e4\r\nx-ms-version: 2019-02-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_fbc39ce8-0efa-487a-8c73-135fff9a07fe\r\nContent-Type: application/http\r\nContent-ID: 1\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: true\r\nx-ms-request-id: 531d05e8-a01e-00a6-2d37-854f131e55e8\r\nx-ms-version: 2019-02-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_fbc39ce8-0efa-487a-8c73-135fff9a07fe\r\nContent-Type: application/http\r\nContent-ID: 2\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: true\r\nx-ms-request-id: 531d05e8-a01e-00a6-2d37-854f131e55e9\r\nx-ms-version: 2019-02-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_fbc39ce8-0efa-487a-8c73-135fff9a07fe--", [ 'Transfer-Encoding', + .reply(202, "--batchresponse_ca5a9f6c-5883-443e-82b1-263d2e8791ec\r\nContent-Type: application/http\r\nContent-ID: 0\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: true\r\nx-ms-request-id: c3f048aa-301e-008f-6599-a93dc71e748d\r\nx-ms-version: 2020-10-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_ca5a9f6c-5883-443e-82b1-263d2e8791ec\r\nContent-Type: application/http\r\nContent-ID: 1\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: true\r\nx-ms-request-id: c3f048aa-301e-008f-6599-a93dc71e748f\r\nx-ms-version: 2020-10-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_ca5a9f6c-5883-443e-82b1-263d2e8791ec\r\nContent-Type: application/http\r\nContent-ID: 2\r\n\r\nHTTP/1.1 202 Accepted\r\nx-ms-delete-type-permanent: true\r\nx-ms-request-id: c3f048aa-301e-008f-6599-a93dc71e7490\r\nx-ms-version: 2020-10-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_ca5a9f6c-5883-443e-82b1-263d2e8791ec--", [ + 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_fbc39ce8-0efa-487a-8c73-135fff9a07fe', + 'multipart/mixed; boundary=batchresponse_ca5a9f6c-5883-443e-82b1-263d2e8791ec', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '531d05e8-a01e-00a6-2d37-854f13000000', + 'c3f048aa-301e-008f-6599-a93dc7000000', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'x-ms-client-request-id', - '3245c0f9-157c-4b13-af2c-e771f6d5b347', + '80a3676b-b389-490f-983a-ddb439313003', 'Date', - 'Thu, 17 Oct 2019 22:07:50 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container157135007048206827') + .get('/container163164553243504643') .query(true) - .reply(200, "1", [ 'Transfer-Encoding', + .reply(200, "1", [ + 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5c01dcb5-001e-00cd-5537-85c8e7000000', + 'c3f048e4-301e-008f-1b99-a93dc7000000', 'x-ms-client-request-id', - 'b1afbbc6-06c4-49e7-b4d0-6da22d25adba', + '33125b4d-0efa-4943-876c-86d671166b47', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 17 Oct 2019 22:07:50 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container157135007048206827') + .delete('/container163164553243504643') .query(true) - .reply(202, "", [ 'Content-Length', + .reply(202, "", [ + 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ed70cb70-e01e-001e-0d37-8514d5000000', + 'c3f0491e-301e-008f-5299-a93dc7000000', 'x-ms-client-request-id', - '6792c2fb-f2dc-4c7a-a14f-835390c3ea58', + 'e2e1a0aa-fbfb-4876-a5fb-8dcdd11af66e', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'Date', - 'Thu, 17 Oct 2019 22:07:51 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); diff --git a/sdk/storage/storage-blob/recordings/node/blobbatch/recording_setblobsaccesstier_should_work_for_batch_set_tier.js b/sdk/storage/storage-blob/recordings/node/blobbatch/recording_setblobsaccesstier_should_work_for_batch_set_tier.js index 04c823f42ec7..4a6ac3d0c1d1 100644 --- a/sdk/storage/storage-blob/recordings/node/blobbatch/recording_setblobsaccesstier_should_work_for_batch_set_tier.js +++ b/sdk/storage/storage-blob/recordings/node/blobbatch/recording_setblobsaccesstier_should_work_for_batch_set_tier.js @@ -1,161 +1,168 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container157135007166703757"} +module.exports.hash = "80e55c6f7877b8f52a009693c776edca"; + +module.exports.testInfo = {"uniqueName":{"container":"container163164553304207685"},"newDate":{}} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container157135007166703757') + .put('/container163164553304207685') .query(true) - .reply(201, "", [ 'Content-Length', + .reply(201, "", [ + 'Content-Length', '0', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'ETag', - '"0x8D7534E741DBC3F"', + '"0x8D977B0C3B0EB1E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '73a93d46-501e-00d0-3137-85c55b000000', + 'c3f04954-301e-008f-0399-a93dc7000000', 'x-ms-client-request-id', - '71c819a0-06d3-4aac-91fd-31d388f82b32', + '3d2fce95-18b1-4713-9844-eb1e4a83ba70', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'Date', - 'Thu, 17 Oct 2019 22:07:51 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container157135007166703757/blob0', "Hello World") - .reply(201, "", [ 'Content-Length', + .put('/container163164553304207685/blob0', "Hello World") + .reply(201, "", [ + 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'ETag', - '"0x8D7534E74247FF1"', + '"0x8D977B0C3B90A39"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5c01dd50-001e-00cd-6137-85c8e7000000', + 'c3f04973-301e-008f-1f99-a93dc7000000', 'x-ms-client-request-id', - '6ca9143c-f60f-4222-9f92-d3d22fab60b0', + '2bd69e3b-f054-47f8-ae52-217d6cecce5c', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'x-ms-content-crc64', 'YeJLfssylmU=', 'x-ms-request-server-encrypted', 'true', + 'x-ms-version-id', + '2021-09-14T18:52:13.1269177Z', 'Date', - 'Thu, 17 Oct 2019 22:07:50 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container157135007166703757/blob1', "Hello World") - .reply(201, "", [ 'Content-Length', + .put('/container163164553304207685/blob1', "Hello World") + .reply(201, "", [ + 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'ETag', - '"0x8D7534E742BAD2A"', + '"0x8D977B0C3C0AD45"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a794a574-b01e-002c-2837-8514a2000000', + 'c3f0498c-301e-008f-3599-a93dc7000000', 'x-ms-client-request-id', - 'c04b1947-85f6-4a00-9305-d1340f5e5c79', + '57a805cf-4602-4cc7-a2b8-e8e895ae41b7', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'x-ms-content-crc64', 'YeJLfssylmU=', 'x-ms-request-server-encrypted', 'true', + 'x-ms-version-id', + '2021-09-14T18:52:13.1769669Z', 'Date', - 'Thu, 17 Oct 2019 22:07:51 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container157135007166703757/%C3%A5%20%C3%A4%20%C3%B6', "Hello World") - .reply(201, "", [ 'Content-Length', + .put('/container163164553304207685/%C3%A5%20%C3%A4%20%C3%B6', "Hello World") + .reply(201, "", [ + 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'ETag', - '"0x8D7534E74348861"', + '"0x8D977B0C3C8EC9C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2e5b9e12-b01e-00d8-7d37-85df54000000', + 'c3f0499e-301e-008f-4599-a93dc7000000', 'x-ms-client-request-id', - '0a3c5de0-ce44-432c-856b-5bcafa0cd4b2', + '794cd89b-bb40-4ae5-bc1d-a5546c1f416d', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'x-ms-content-crc64', 'YeJLfssylmU=', 'x-ms-request-server-encrypted', 'true', + 'x-ms-version-id', + '2021-09-14T18:52:13.2310172Z', 'Date', - 'Thu, 17 Oct 2019 22:07:51 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .post('/', "--batch_800eff24-1101-4863-9df1-3ae3e78da4c5\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 0\r\n\r\nPUT /container157135007166703757/blob0?comp=tier HTTP/1.1\r\nx-ms-access-tier: Cool\r\nx-ms-date: Thu, 17 Oct 2019 22:07:51 GMT\r\nAuthorization: SharedKey fakestorageaccount:JduYLUQSrfG9icq2l3NbRGe2UVhpOawfVCk2FxegHig=\r\n\r\n--batch_800eff24-1101-4863-9df1-3ae3e78da4c5\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nPUT /container157135007166703757/blob1?comp=tier HTTP/1.1\r\nx-ms-access-tier: Cool\r\nx-ms-date: Thu, 17 Oct 2019 22:07:51 GMT\r\nAuthorization: SharedKey fakestorageaccount:h9lD8UTmYM3KFud7jUdLE282N4UshznlhV9dzNDaOyU=\r\n\r\n--batch_800eff24-1101-4863-9df1-3ae3e78da4c5\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 2\r\n\r\nPUT /container157135007166703757/%C3%A5%20%C3%A4%20%C3%B6?comp=tier HTTP/1.1\r\nx-ms-access-tier: Cool\r\nx-ms-date: Thu, 17 Oct 2019 22:07:51 GMT\r\nAuthorization: SharedKey fakestorageaccount:CvRjDFwHT7nHr5nN7sxjPdoPXK9X22yLLP0ZOQHyygs=\r\n\r\n--batch_800eff24-1101-4863-9df1-3ae3e78da4c5--\r\n") + .post('/', "--batch_a489a1a2-4389-47dd-bfc8-584db3adb213\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 0\r\n\r\nPUT /container163164553304207685/blob0?comp=tier HTTP/1.1\r\nAccept: application/xml\r\nx-ms-access-tier: Cool\r\nx-ms-date: Tue, 14 Sep 2021 18:52:13 GMT\r\nAuthorization\ +>: SharedKey fakestorageaccount:pass123\r\n\r\n--batch_a489a1a2-4389-47dd-bfc8-584db3adb213\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nPUT /container163164553304207685/blob1?comp=tier HTTP/1.1\r\nAccept: application/xml\r\nx-ms-access-tier: Cool\r\nx-ms-date: Tue, 14 Sep 2021 18:52:13 GMT\r\nAuthorization: SharedKey fakestorageaccount:pass123\r\n\r\n--batch_a489a1a2-4389-47dd-bfc8-584db3adb213\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 2\r\n\r\nPUT /container163164553304207685/%C3%A5%20%C3%A4%20%C3%B6?comp=tier HTTP/1.1\r\nAccept: application/xml\r\nx-ms-access-tier: Cool\r\nx-ms-date: Tue, 14 Sep 2021 18:52:13 GMT\r\nAuthorization: SharedKey fakestorageaccount:pass123\r\n\r\n--batch_a489a1a2-4389-47dd-bfc8-584db3adb213--\r\n") .query(true) - .reply(202, "--batchresponse_d1a69b61-2d1d-49f2-8d65-b2d9ca086d72\r\nContent-Type: application/http\r\nContent-ID: 0\r\n\r\nHTTP/1.1 200 OK\r\nx-ms-request-id: 87c4bd84-b01e-0061-2437-85db4e1eaa81\r\nx-ms-version: 2019-02-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_d1a69b61-2d1d-49f2-8d65-b2d9ca086d72\r\nContent-Type: application/http\r\nContent-ID: 1\r\n\r\nHTTP/1.1 200 OK\r\nx-ms-request-id: 87c4bd84-b01e-0061-2437-85db4e1eaa86\r\nx-ms-version: 2019-02-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_d1a69b61-2d1d-49f2-8d65-b2d9ca086d72\r\nContent-Type: application/http\r\nContent-ID: 2\r\n\r\nHTTP/1.1 200 OK\r\nx-ms-request-id: 87c4bd84-b01e-0061-2437-85db4e1eaa87\r\nx-ms-version: 2019-02-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_d1a69b61-2d1d-49f2-8d65-b2d9ca086d72--", [ 'Transfer-Encoding', + .reply(202, "--batchresponse_1e3e1cd3-6550-468b-8640-7fc57c4e9542\r\nContent-Type: application/http\r\nContent-ID: 0\r\n\r\nHTTP/1.1 200 OK\r\nx-ms-request-id: c3f049b5-301e-008f-5b99-a93dc71e749b\r\nx-ms-version: 2020-10-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_1e3e1cd3-6550-468b-8640-7fc57c4e9542\r\nContent-Type: application/http\r\nContent-ID: 1\r\n\r\nHTTP/1.1 200 OK\r\nx-ms-request-id: c3f049b5-301e-008f-5b99-a93dc71e749d\r\nx-ms-version: 2020-10-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_1e3e1cd3-6550-468b-8640-7fc57c4e9542\r\nContent-Type: application/http\r\nContent-ID: 2\r\n\r\nHTTP/1.1 200 OK\r\nx-ms-request-id: c3f049b5-301e-008f-5b99-a93dc71e749e\r\nx-ms-version: 2020-10-02\r\nServer: Windows-Azure-Blob/1.0\r\n\r\n--batchresponse_1e3e1cd3-6550-468b-8640-7fc57c4e9542--", [ + 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_d1a69b61-2d1d-49f2-8d65-b2d9ca086d72', + 'multipart/mixed; boundary=batchresponse_1e3e1cd3-6550-468b-8640-7fc57c4e9542', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '87c4bd84-b01e-0061-2437-85db4e000000', + 'c3f049b5-301e-008f-5b99-a93dc7000000', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'x-ms-client-request-id', - '94406769-e058-4753-bc36-f155391ac993', + 'e0e27cab-f284-4df4-b096-f6d60d69e2ca', 'Date', - 'Thu, 17 Oct 2019 22:07:51 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container157135007166703757/blob0') - .reply(200, "", [ 'Content-Length', + .head('/container163164553304207685/blob0') + .reply(200, "", [ + 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D7534E74247FF1"', + '"0x8D977B0C3B90A39"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd63e9e46-b01e-00aa-0c37-85d81b000000', + 'c3f049c3-301e-008f-6899-a93dc7000000', 'x-ms-client-request-id', - 'ff6a9376-f06b-4e8e-a91e-a0ffe8e2c414', + 'de8514fd-dc61-48ff-8325-6ed56e7231d4', 'x-ms-version', - '2019-02-02', - 'x-ms-tag-count', - '0', + '2020-10-02', + 'x-ms-version-id', + '2021-09-14T18:52:13.1269177Z', + 'x-ms-is-current-version', + 'true', 'x-ms-creation-time', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -167,43 +174,44 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Cool', 'x-ms-access-tier-change-time', - 'Thu, 17 Oct 2019 22:07:52 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'Access-Control-Expose-Headers', - 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,x-ms-version-id,x-ms-is-current-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 17 Oct 2019 22:07:51 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container157135007166703757/blob1') - .reply(200, "", [ 'Content-Length', + .head('/container163164553304207685/blob1') + .reply(200, "", [ + 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D7534E742BAD2A"', + '"0x8D977B0C3C0AD45"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4d01e8c4-201e-005c-0437-85ad55000000', + 'c3f049d0-301e-008f-7599-a93dc7000000', 'x-ms-client-request-id', - '4ca08b75-5f47-475e-8e64-3ade2a853076', + '39f1f1c9-217f-4395-aae1-5d5335338bfc', 'x-ms-version', - '2019-02-02', - 'x-ms-tag-count', - '0', + '2020-10-02', + 'x-ms-version-id', + '2021-09-14T18:52:13.1769669Z', + 'x-ms-is-current-version', + 'true', 'x-ms-creation-time', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -215,43 +223,44 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Cool', 'x-ms-access-tier-change-time', - 'Thu, 17 Oct 2019 22:07:52 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'Access-Control-Expose-Headers', - 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,x-ms-version-id,x-ms-is-current-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 17 Oct 2019 22:07:52 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container157135007166703757/%C3%A5%20%C3%A4%20%C3%B6') - .reply(200, "", [ 'Content-Length', + .head('/container163164553304207685/%C3%A5%20%C3%A4%20%C3%B6') + .reply(200, "", [ + 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D7534E74348861"', + '"0x8D977B0C3C8EC9C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '73a93e81-501e-00d0-2f37-85c55b000000', + 'c3f049e9-301e-008f-0b99-a93dc7000000', 'x-ms-client-request-id', - '13f09def-6626-418b-9d3e-7d2be115d4bc', + 'ea351fc9-51d2-4954-9854-a493d0690a10', 'x-ms-version', - '2019-02-02', - 'x-ms-tag-count', - '0', + '2020-10-02', + 'x-ms-version-id', + '2021-09-14T18:52:13.2310172Z', + 'x-ms-is-current-version', + 'true', 'x-ms-creation-time', - 'Thu, 17 Oct 2019 22:07:51 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -263,32 +272,29 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Cool', 'x-ms-access-tier-change-time', - 'Thu, 17 Oct 2019 22:07:52 GMT', + 'Tue, 14 Sep 2021 18:52:13 GMT', 'Access-Control-Expose-Headers', - 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,x-ms-version-id,x-ms-is-current-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 17 Oct 2019 22:07:51 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container157135007166703757') + .delete('/container163164553304207685') .query(true) - .reply(202, "", [ 'Content-Length', + .reply(202, "", [ + 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8cdc2eb3-601e-005d-3237-85f289000000', + 'c3f049f8-301e-008f-1a99-a93dc7000000', 'x-ms-client-request-id', - '6fde0f56-56db-46ca-bb46-5b5b1413abed', + '73b868a3-2b6d-4250-ae69-f9d91d8c312a', 'x-ms-version', - '2019-02-02', + '2020-10-02', 'Date', - 'Thu, 17 Oct 2019 22:07:51 GMT', - 'Connection', - 'close' ]); - + 'Tue, 14 Sep 2021 18:52:12 GMT' +]); diff --git a/sdk/storage/storage-blob/review/storage-blob.api.md b/sdk/storage/storage-blob/review/storage-blob.api.md index 6206e313862f..21455cec8ade 100644 --- a/sdk/storage/storage-blob/review/storage-blob.api.md +++ b/sdk/storage/storage-blob/review/storage-blob.api.md @@ -195,7 +195,7 @@ export type AppendBlobAppendBlockResponse = AppendBlobAppendBlockHeaders & { export class AppendBlobClient extends BlobClient { constructor(connectionString: string, containerName: string, blobName: string, options?: StoragePipelineOptions); constructor(url: string, credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions); - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); appendBlock(body: HttpRequestBody, contentLength: number, options?: AppendBlobAppendBlockOptions): Promise; appendBlockFromURL(sourceURL: string, sourceOffset: number, count: number, options?: AppendBlobAppendBlockFromURLOptions): Promise; create(options?: AppendBlobCreateOptions): Promise; @@ -336,7 +336,7 @@ export class BlobBatch { // @public export class BlobBatchClient { constructor(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions); - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); createBatch(): BlobBatch; deleteBlobs(urls: string[], credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: BlobDeleteOptions): Promise; deleteBlobs(blobClients: BlobClient[], options?: BlobDeleteOptions): Promise; @@ -352,8 +352,7 @@ export type BlobBatchDeleteBlobsResponse = BlobBatchSubmitBatchResponse; export type BlobBatchSetBlobsAccessTierResponse = BlobBatchSubmitBatchResponse; // @public -export interface BlobBatchSubmitBatchOptionalParams extends ServiceSubmitBatchOptionalParamsModel, CommonOptions { - abortSignal?: AbortSignalLike; +export interface BlobBatchSubmitBatchOptionalParams extends ServiceSubmitBatchOptionalParamsModel { } // @public @@ -401,7 +400,7 @@ export interface BlobChangeLeaseOptions extends CommonOptions { export class BlobClient extends StorageClient { constructor(connectionString: string, containerName: string, blobName: string, options?: StoragePipelineOptions); constructor(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions); - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); abortCopyFromURL(copyId: string, options?: BlobAbortCopyFromURLOptions): Promise; beginCopyFromURL(copySource: string, options?: BlobBeginCopyFromURLOptions): Promise, BlobBeginCopyFromURLResponse>>; get containerName(): string; @@ -1118,7 +1117,7 @@ export interface BlobSASSignatureValues { // @public export class BlobServiceClient extends StorageClient { constructor(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions); - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); createContainer(containerName: string, options?: ContainerCreateOptions): Promise<{ containerClient: ContainerClient; containerCreateResponse: ContainerCreateResponse; @@ -1404,7 +1403,7 @@ export interface Block { export class BlockBlobClient extends BlobClient { constructor(connectionString: string, containerName: string, blobName: string, options?: StoragePipelineOptions); constructor(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions); - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); commitBlockList(blocks: string[], options?: BlockBlobCommitBlockListOptions): Promise; getBlockList(listType: BlockListType, options?: BlockBlobGetBlockListOptions): Promise; query(query: string, options?: BlockBlobQueryOptions): Promise; @@ -1739,7 +1738,7 @@ export interface ContainerChangeLeaseOptions extends CommonOptions { export class ContainerClient extends StorageClient { constructor(connectionString: string, containerName: string, options?: StoragePipelineOptions); constructor(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions); - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); get containerName(): string; create(options?: ContainerCreateOptions): Promise; createIfNotExists(options?: ContainerCreateOptions): Promise; @@ -1972,7 +1971,7 @@ export interface ContainerListBlobsOptions extends CommonOptions { abortSignal?: AbortSignalLike; includeCopy?: boolean; includeDeleted?: boolean; - includeDeletedwithVersions?: boolean; + includeDeletedWithVersions?: boolean; includeImmutabilityPolicy?: boolean; includeLegalHold?: boolean; includeMetadata?: boolean; @@ -2249,8 +2248,8 @@ export type GeoReplicationStatusType = "live" | "bootstrap" | "unavailable"; // @public export interface HttpAuthorization { - parameter: string; scheme: string; + value: string; } export { HttpHeaders } @@ -2261,6 +2260,9 @@ export { HttpRequestBody } export { IHttpClient } +// @public +export function isPipelineLike(pipeline: unknown): pipeline is PipelineLike; + // @public export interface Lease { date?: Date; @@ -2499,7 +2501,7 @@ export type PageBlobClearPagesResponse = PageBlobClearPagesHeaders & { export class PageBlobClient extends BlobClient { constructor(connectionString: string, containerName: string, blobName: string, options?: StoragePipelineOptions); constructor(url: string, credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions); - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); clearPages(offset?: number, count?: number, options?: PageBlobClearPagesOptions): Promise; create(size: number, options?: PageBlobCreateOptions): Promise; createIfNotExists(size: number, options?: PageBlobCreateIfNotExistsOptions): Promise; @@ -2790,13 +2792,20 @@ export interface ParsedBatchResponse { } // @public -export class Pipeline { +export class Pipeline implements PipelineLike { constructor(factories: RequestPolicyFactory[], options?: PipelineOptions); readonly factories: RequestPolicyFactory[]; readonly options: PipelineOptions; toServiceClientOptions(): ServiceClientOptions; } +// @public +export interface PipelineLike { + readonly factories: RequestPolicyFactory[]; + readonly options: PipelineOptions; + toServiceClientOptions(): ServiceClientOptions; +} + // @public export interface PipelineOptions { httpClient?: IHttpClient; diff --git a/sdk/storage/storage-blob/rollup.base.config.js b/sdk/storage/storage-blob/rollup.base.config.js index ba7eb0a7ad55..be3a0760176d 100644 --- a/sdk/storage/storage-blob/rollup.base.config.js +++ b/sdk/storage/storage-blob/rollup.base.config.js @@ -23,6 +23,7 @@ const banner = [ const pkg = require("./package.json"); const depNames = Object.keys(pkg.dependencies); +const devDepNames = Object.keys(pkg.devDependencies); const production = process.env.NODE_ENV === "production"; export function nodeConfig(test = false) { @@ -90,7 +91,7 @@ export function nodeConfig(test = false) { baseConfig.output.file = "dist-test/index.node.js"; // mark assert as external - baseConfig.external.push("assert", "fs", "path", "buffer", "zlib"); + baseConfig.external.push(...devDepNames); baseConfig.context = "null"; diff --git a/sdk/storage/storage-blob/samples/javascript/package.json b/sdk/storage/storage-blob/samples/javascript/package.json index 3d954153f8c4..826012a0b269 100644 --- a/sdk/storage/storage-blob/samples/javascript/package.json +++ b/sdk/storage/storage-blob/samples/javascript/package.json @@ -26,7 +26,7 @@ "sideEffects": false, "dependencies": { "@azure/abort-controller": "latest", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "@azure/storage-blob": "latest", "dotenv": "^8.2.0" }, diff --git a/sdk/storage/storage-blob/src/BatchResponseParser.ts b/sdk/storage/storage-blob/src/BatchResponseParser.ts index d9cfdae81a17..3a9211e0bb61 100644 --- a/sdk/storage/storage-blob/src/BatchResponseParser.ts +++ b/sdk/storage/storage-blob/src/BatchResponseParser.ts @@ -54,7 +54,7 @@ export class BatchResponseParser { public async parseBatchResponse(): Promise { // When logic reach here, suppose batch request has already succeeded with 202, so we can further parse // sub request's response. - if (this.batchResponse._response.status != HTTPURLConnection.HTTP_ACCEPTED) { + if (this.batchResponse._response.status !== HTTPURLConnection.HTTP_ACCEPTED) { throw new Error( `Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.` ); @@ -72,7 +72,7 @@ export class BatchResponseParser { // Note: subResponseCount == 1 is special case where sub request is invalid. // We try to prevent such cases through early validation, e.g. validate sub request count >= 1. // While in unexpected sub request invalid case, we allow sub response to be parsed and return to user. - if (subResponseCount != this.subRequests.size && subResponseCount != 1) { + if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) { throw new Error("Invalid state: sub responses' count is not equal to sub requests' count."); } @@ -152,7 +152,7 @@ export class BatchResponseParser { // to be 1-1 mapping from the [0, subRequests.size) to the Content-IDs returned. If not, we simply don't return that // unexpected subResponse in the parsed reponse and we can always look it up in the raw response for debugging purpose. if ( - contentId != NOT_FOUND && + contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && diff --git a/sdk/storage/storage-blob/src/BatchUtils.browser.ts b/sdk/storage/storage-blob/src/BatchUtils.browser.ts index 1a360737d5e1..2971924e12a8 100644 --- a/sdk/storage/storage-blob/src/BatchUtils.browser.ts +++ b/sdk/storage/storage-blob/src/BatchUtils.browser.ts @@ -8,7 +8,7 @@ export async function getBodyAsText( batchResponse: ServiceSubmitBatchResponseModel ): Promise { const blob = (await batchResponse.blobBody) as Blob; - return await blobToString(blob); + return blobToString(blob); } export function utf8ByteLength(str: string): number { diff --git a/sdk/storage/storage-blob/src/BlobBatch.ts b/sdk/storage/storage-blob/src/BlobBatch.ts index 93b064f33298..d3506ebcd37f 100644 --- a/sdk/storage/storage-blob/src/BlobBatch.ts +++ b/sdk/storage/storage-blob/src/BlobBatch.ts @@ -416,7 +416,7 @@ class InnerBatchRequest { // Fast fail if url for sub request is invalid const path = getURLPath(subRequest.url); - if (!path || path == "") { + if (!path || path === "") { throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`); } } @@ -481,6 +481,8 @@ class BatchRequestAssemblePolicyFactory implements RequestPolicyFactory { } class BatchHeaderFilterPolicy extends BaseRequestPolicy { + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } @@ -503,8 +505,6 @@ class BatchHeaderFilterPolicy extends BaseRequestPolicy { } class BatchHeaderFilterPolicyFactory implements RequestPolicyFactory { - constructor() {} - public create(nextPolicy: RequestPolicy, options: RequestPolicyOptions): BatchHeaderFilterPolicy { return new BatchHeaderFilterPolicy(nextPolicy, options); } diff --git a/sdk/storage/storage-blob/src/BlobBatchClient.ts b/sdk/storage/storage-blob/src/BlobBatchClient.ts index 5b6d73cb2570..67a677087aaa 100644 --- a/sdk/storage/storage-blob/src/BlobBatchClient.ts +++ b/sdk/storage/storage-blob/src/BlobBatchClient.ts @@ -11,31 +11,21 @@ import { ParsedBatchResponse } from "./BatchResponse"; import { BatchResponseParser } from "./BatchResponseParser"; import { utf8ByteLength } from "./BatchUtils"; import { BlobBatch } from "./BlobBatch"; -import { AbortSignalLike } from "@azure/abort-controller"; import { SpanStatusCode } from "@azure/core-tracing"; import { convertTracingToRequestOptionsBase, createSpan } from "./utils/tracing"; import { HttpResponse, TokenCredential } from "@azure/core-http"; import { Service, Container } from "./generated/src/operations"; import { StorageSharedKeyCredential } from "./credentials/StorageSharedKeyCredential"; import { AnonymousCredential } from "./credentials/AnonymousCredential"; -import { CommonOptions } from "./StorageClient"; import { BlobDeleteOptions, BlobClient, BlobSetTierOptions } from "./Clients"; import { StorageClientContext } from "./generated/src/storageClientContext"; -import { Pipeline, StoragePipelineOptions, newPipeline } from "./Pipeline"; +import { PipelineLike, StoragePipelineOptions, newPipeline, isPipelineLike } from "./Pipeline"; import { getURLPath } from "./utils/utils.common"; /** * Options to configure the Service - Submit Batch Optional Params. */ -export interface BlobBatchSubmitBatchOptionalParams - extends ServiceSubmitBatchOptionalParamsModel, - CommonOptions { - /** - * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. - * For example, use the @azure/abort-controller to create an `AbortSignal`. - */ - abortSignal?: AbortSignalLike; -} +export interface BlobBatchSubmitBatchOptionalParams extends ServiceSubmitBatchOptionalParamsModel {} /** * Contains response data for blob batch operations. @@ -83,8 +73,11 @@ export class BlobBatchClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); + /** * Creates an instance of BlobBatchClient. * @@ -94,18 +87,20 @@ export class BlobBatchClient { * @param pipeline - Call newPipeline() to create a default * pipeline, or provide a customized pipeline. */ - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); constructor( url: string, credentialOrPipeline?: | StorageSharedKeyCredential | AnonymousCredential | TokenCredential - | Pipeline, + | PipelineLike, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ) { - let pipeline: Pipeline; - if (credentialOrPipeline instanceof Pipeline) { + let pipeline: PipelineLike; + if (isPipelineLike(credentialOrPipeline)) { pipeline = credentialOrPipeline; } else if (!credentialOrPipeline) { // no credential provided @@ -147,6 +142,8 @@ export class BlobBatchClient { public async deleteBlobs( urls: string[], credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: BlobDeleteOptions ): Promise; @@ -162,6 +159,8 @@ export class BlobBatchClient { */ public async deleteBlobs( blobClients: BlobClient[], + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: BlobDeleteOptions ): Promise; @@ -173,6 +172,8 @@ export class BlobBatchClient { | TokenCredential | BlobDeleteOptions | undefined, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: BlobDeleteOptions ): Promise { const batch = new BlobBatch(); @@ -206,6 +207,8 @@ export class BlobBatchClient { urls: string[], credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, tier: AccessTier, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: BlobSetTierOptions ): Promise; @@ -227,6 +230,8 @@ export class BlobBatchClient { public async setBlobsAccessTier( blobClients: BlobClient[], tier: AccessTier, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: BlobSetTierOptions ): Promise; @@ -238,6 +243,8 @@ export class BlobBatchClient { | TokenCredential | AccessTier, tierOrOptions?: AccessTier | BlobSetTierOptions, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: BlobSetTierOptions ): Promise { const batch = new BlobBatch(); @@ -299,7 +306,7 @@ export class BlobBatchClient { batchRequest: BlobBatch, options: BlobBatchSubmitBatchOptionalParams = {} ): Promise { - if (!batchRequest || batchRequest.getSubRequests().size == 0) { + if (!batchRequest || batchRequest.getSubRequests().size === 0) { throw new RangeError("Batch request should contain one or more sub requests."); } diff --git a/sdk/storage/storage-blob/src/BlobServiceClient.ts b/sdk/storage/storage-blob/src/BlobServiceClient.ts index dd10da266fe5..46aaff782ff2 100644 --- a/sdk/storage/storage-blob/src/BlobServiceClient.ts +++ b/sdk/storage/storage-blob/src/BlobServiceClient.ts @@ -29,7 +29,7 @@ import { LeaseAccessConditions } from "./generatedModels"; import { Container, Service } from "./generated/src/operations"; -import { newPipeline, StoragePipelineOptions, Pipeline } from "./Pipeline"; +import { newPipeline, StoragePipelineOptions, PipelineLike, isPipelineLike } from "./Pipeline"; import { ContainerClient, ContainerCreateOptions, @@ -404,7 +404,12 @@ export class BlobServiceClient extends StorageClient { * `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString` * @param options - Optional. Options to configure the HTTP pipeline. */ - public static fromConnectionString(connectionString: string, options?: StoragePipelineOptions) { + public static fromConnectionString( + connectionString: string, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ + options?: StoragePipelineOptions + ): BlobServiceClient { options = options || {}; const extractedCreds = extractConnectionStringParts(connectionString); if (extractedCreds.kind === "AccountConnString") { @@ -466,6 +471,8 @@ export class BlobServiceClient extends StorageClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -477,18 +484,20 @@ export class BlobServiceClient extends StorageClient { * @param pipeline - Call newPipeline() to create a default * pipeline, or provide a customized pipeline. */ - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); constructor( url: string, credentialOrPipeline?: | StorageSharedKeyCredential | AnonymousCredential | TokenCredential - | Pipeline, + | PipelineLike, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ) { - let pipeline: Pipeline; - if (credentialOrPipeline instanceof Pipeline) { + let pipeline: PipelineLike; + if (isPipelineLike(credentialOrPipeline)) { pipeline = credentialOrPipeline; } else if ( (isNode && credentialOrPipeline instanceof StorageSharedKeyCredential) || @@ -630,6 +639,7 @@ export class BlobServiceClient extends StorageClient { * @param destinationContainerName - The new name of the container. * @param options - Options to configure Container Rename operation. */ + /* eslint-disable-next-line @typescript-eslint/ban-ts-comment */ // @ts-ignore Need to hide this interface for now. Make it public and turn on the live tests for it when the service is ready. private async renameContainer( sourceContainerName: string, diff --git a/sdk/storage/storage-blob/src/Clients.ts b/sdk/storage/storage-blob/src/Clients.ts index e4d80e98481e..78fd5527e221 100644 --- a/sdk/storage/storage-blob/src/Clients.ts +++ b/sdk/storage/storage-blob/src/Clients.ts @@ -87,7 +87,7 @@ import { PageBlobGetPageRangesResponse, rangeResponseFromModel } from "./PageBlobRangeResponse"; -import { newPipeline, Pipeline, StoragePipelineOptions } from "./Pipeline"; +import { newPipeline, PipelineLike, isPipelineLike, StoragePipelineOptions } from "./Pipeline"; import { BlobBeginCopyFromUrlPoller, BlobBeginCopyFromUrlPollState, @@ -877,6 +877,8 @@ export class BlobClient extends StorageClient { connectionString: string, containerName: string, blobName: string, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -894,6 +896,8 @@ export class BlobClient extends StorageClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -913,7 +917,7 @@ export class BlobClient extends StorageClient { * @param pipeline - Call newPipeline() to create a default * pipeline, or provide a customized pipeline. */ - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); constructor( urlOrConnectionString: string, credentialOrPipelineOrContainerName?: @@ -921,14 +925,16 @@ export class BlobClient extends StorageClient { | StorageSharedKeyCredential | AnonymousCredential | TokenCredential - | Pipeline, + | PipelineLike, blobNameOrOptions?: string | StoragePipelineOptions, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ) { options = options || {}; - let pipeline: Pipeline; + let pipeline: PipelineLike; let url: string; - if (credentialOrPipelineOrContainerName instanceof Pipeline) { + if (isPipelineLike(credentialOrPipelineOrContainerName)) { // (url: string, pipeline: Pipeline) url = urlOrConnectionString; pipeline = credentialOrPipelineOrContainerName; @@ -1186,7 +1192,7 @@ export class BlobClient extends StorageClient { return new BlobDownloadResponse( wrappedRes, async (start: number): Promise => { - const updatedOptions: BlobDownloadOptionalParams = { + const updatedDownloadOptions: BlobDownloadOptionalParams = { leaseAccessConditions: options.conditions, modifiedAccessConditions: { ifMatch: options.conditions!.ifMatch || res.etag, @@ -1215,7 +1221,7 @@ export class BlobClient extends StorageClient { return ( await this.blobContext.download({ abortSignal: options.abortSignal, - ...updatedOptions + ...updatedDownloadOptions }) ).readableStreamBody!; }, @@ -1890,7 +1896,7 @@ export class BlobClient extends StorageClient { param2?: number, param3?: BlobDownloadToBufferOptions | number, param4: BlobDownloadToBufferOptions = {} - ) { + ): Promise { let buffer: Buffer | undefined; let offset = 0; let count = 0; @@ -2525,6 +2531,8 @@ export class AppendBlobClient extends BlobClient { connectionString: string, containerName: string, blobName: string, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -2547,6 +2555,8 @@ export class AppendBlobClient extends BlobClient { constructor( url: string, credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -2566,7 +2576,7 @@ export class AppendBlobClient extends BlobClient { * @param pipeline - Call newPipeline() to create a default * pipeline, or provide a customized pipeline. */ - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); constructor( urlOrConnectionString: string, credentialOrPipelineOrContainerName: @@ -2574,16 +2584,18 @@ export class AppendBlobClient extends BlobClient { | StorageSharedKeyCredential | AnonymousCredential | TokenCredential - | Pipeline, + | PipelineLike, blobNameOrOptions?: string | StoragePipelineOptions, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ) { // In TypeScript we cannot simply pass all parameters to super() like below so have to duplicate the code instead. // super(s, credentialOrPipelineOrContainerNameOrOptions, blobNameOrOptions, options); - let pipeline: Pipeline; + let pipeline: PipelineLike; let url: string; options = options || {}; - if (credentialOrPipelineOrContainerName instanceof Pipeline) { + if (isPipelineLike(credentialOrPipelineOrContainerName)) { // (url: string, pipeline: Pipeline) url = urlOrConnectionString; pipeline = credentialOrPipelineOrContainerName; @@ -3523,6 +3535,8 @@ export class BlockBlobClient extends BlobClient { connectionString: string, containerName: string, blobName: string, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -3545,6 +3559,8 @@ export class BlockBlobClient extends BlobClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -3564,7 +3580,7 @@ export class BlockBlobClient extends BlobClient { * @param pipeline - Call newPipeline() to create a default * pipeline, or provide a customized pipeline. */ - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); constructor( urlOrConnectionString: string, credentialOrPipelineOrContainerName?: @@ -3572,16 +3588,18 @@ export class BlockBlobClient extends BlobClient { | StorageSharedKeyCredential | AnonymousCredential | TokenCredential - | Pipeline, + | PipelineLike, blobNameOrOptions?: string | StoragePipelineOptions, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ) { // In TypeScript we cannot simply pass all parameters to super() like below so have to duplicate the code instead. // super(s, credentialOrPipelineOrContainerNameOrOptions, blobNameOrOptions, options); - let pipeline: Pipeline; + let pipeline: PipelineLike; let url: string; options = options || {}; - if (credentialOrPipelineOrContainerName instanceof Pipeline) { + if (isPipelineLike(credentialOrPipelineOrContainerName)) { // (url: string, pipeline: Pipeline) url = urlOrConnectionString; pipeline = credentialOrPipelineOrContainerName; @@ -4771,6 +4789,8 @@ export class PageBlobClient extends BlobClient { connectionString: string, containerName: string, blobName: string, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -4788,6 +4808,8 @@ export class PageBlobClient extends BlobClient { constructor( url: string, credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -4804,7 +4826,7 @@ export class PageBlobClient extends BlobClient { * @param pipeline - Call newPipeline() to create a default * pipeline, or provide a customized pipeline. */ - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); constructor( urlOrConnectionString: string, credentialOrPipelineOrContainerName: @@ -4812,16 +4834,18 @@ export class PageBlobClient extends BlobClient { | StorageSharedKeyCredential | AnonymousCredential | TokenCredential - | Pipeline, + | PipelineLike, blobNameOrOptions?: string | StoragePipelineOptions, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ) { // In TypeScript we cannot simply pass all parameters to super() like below so have to duplicate the code instead. // super(s, credentialOrPipelineOrContainerNameOrOptions, blobNameOrOptions, options); - let pipeline: Pipeline; + let pipeline: PipelineLike; let url: string; options = options || {}; - if (credentialOrPipelineOrContainerName instanceof Pipeline) { + if (isPipelineLike(credentialOrPipelineOrContainerName)) { // (url: string, pipeline: Pipeline) url = urlOrConnectionString; pipeline = credentialOrPipelineOrContainerName; diff --git a/sdk/storage/storage-blob/src/ContainerClient.ts b/sdk/storage/storage-blob/src/ContainerClient.ts index e08f8d96ee78..3d35ba6b2f03 100644 --- a/sdk/storage/storage-blob/src/ContainerClient.ts +++ b/sdk/storage/storage-blob/src/ContainerClient.ts @@ -43,7 +43,7 @@ import { ContainerRequestConditions, ModifiedAccessConditions } from "./models"; -import { newPipeline, Pipeline, StoragePipelineOptions } from "./Pipeline"; +import { newPipeline, PipelineLike, isPipelineLike, StoragePipelineOptions } from "./Pipeline"; import { CommonOptions, StorageClient } from "./StorageClient"; import { convertTracingToRequestOptionsBase, createSpan } from "./utils/tracing"; import { @@ -520,7 +520,7 @@ export interface ContainerListBlobsOptions extends CommonOptions { /** * Specifies whether deleted blob with versions be returned in the response. */ - includeDeletedwithVersions?: boolean; + includeDeletedWithVersions?: boolean; /** * Specifies whether blob immutability policy be returned in the response. */ @@ -591,6 +591,8 @@ export class ContainerClient extends StorageClient { * @param containerName - Container name. * @param options - Optional. Options to configure the HTTP pipeline. */ + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ constructor(connectionString: string, containerName: string, options?: StoragePipelineOptions); /** * Creates an instance of ContainerClient. @@ -608,6 +610,8 @@ export class ContainerClient extends StorageClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ); /** @@ -623,7 +627,7 @@ export class ContainerClient extends StorageClient { * @param pipeline - Call newPipeline() to create a default * pipeline, or provide a customized pipeline. */ - constructor(url: string, pipeline: Pipeline); + constructor(url: string, pipeline: PipelineLike); constructor( urlOrConnectionString: string, credentialOrPipelineOrContainerName?: @@ -631,13 +635,15 @@ export class ContainerClient extends StorageClient { | StorageSharedKeyCredential | AnonymousCredential | TokenCredential - | Pipeline, + | PipelineLike, + // Legacy, no fix for eslint error without breaking. Disable it for this interface. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ options?: StoragePipelineOptions ) { - let pipeline: Pipeline; + let pipeline: PipelineLike; let url: string; options = options || {}; - if (credentialOrPipelineOrContainerName instanceof Pipeline) { + if (isPipelineLike(credentialOrPipelineOrContainerName)) { // (url: string, pipeline: Pipeline) url = urlOrConnectionString; pipeline = credentialOrPipelineOrContainerName; @@ -1487,7 +1493,7 @@ export class ContainerClient extends StorageClient { if (options.includeTags) { include.push("tags"); } - if (options.includeDeletedwithVersions) { + if (options.includeDeletedWithVersions) { include.push("deletedwithversions"); } if (options.includeImmutabilityPolicy) { @@ -1704,7 +1710,7 @@ export class ContainerClient extends StorageClient { if (options.includeTags) { include.push("tags"); } - if (options.includeDeletedwithVersions) { + if (options.includeDeletedWithVersions) { include.push("deletedwithversions"); } if (options.includeImmutabilityPolicy) { diff --git a/sdk/storage/storage-blob/src/Pipeline.ts b/sdk/storage/storage-blob/src/Pipeline.ts index d3f5541f100e..6b13e41282ad 100644 --- a/sdk/storage/storage-blob/src/Pipeline.ts +++ b/sdk/storage/storage-blob/src/Pipeline.ts @@ -68,6 +68,51 @@ export interface PipelineOptions { httpClient?: IHttpClient; } +/** + * An interface for the {@link Pipeline} class containing HTTP request policies. + * You can create a default Pipeline by calling {@link newPipeline}. + * Or you can create a Pipeline with your own policies by the constructor of Pipeline. + * + * Refer to {@link newPipeline} and provided policies before implementing your + * customized Pipeline. + */ +export interface PipelineLike { + /** + * A list of chained request policy factories. + */ + readonly factories: RequestPolicyFactory[]; + /** + * Configures pipeline logger and HTTP client. + */ + readonly options: PipelineOptions; + /** + * Transfer Pipeline object to ServiceClientOptions object which is required by + * ServiceClient constructor. + * + * @returns The ServiceClientOptions object from this Pipeline. + */ + toServiceClientOptions(): ServiceClientOptions; +} + +/** + * A helper to decide if a given argument satisfies the Pipeline contract + * @param pipeline - An argument that may be a Pipeline + * @returns true when the argument satisfies the Pipeline contract + */ +export function isPipelineLike(pipeline: unknown): pipeline is PipelineLike { + if (!pipeline || typeof pipeline !== "object") { + return false; + } + + const castPipeline = pipeline as PipelineLike; + + return ( + Array.isArray(castPipeline.factories) && + typeof castPipeline.options === "object" && + typeof castPipeline.toServiceClientOptions === "function" + ); +} + /** * A Pipeline class containing HTTP request policies. * You can create a default Pipeline by calling {@link newPipeline}. @@ -76,7 +121,7 @@ export interface PipelineOptions { * Refer to {@link newPipeline} and provided policies before implementing your * customized Pipeline. */ -export class Pipeline { +export class Pipeline implements PipelineLike { /** * A list of chained request policy factories. */ diff --git a/sdk/storage/storage-blob/src/Range.ts b/sdk/storage/storage-blob/src/Range.ts index 3d133f871466..3d4efbffd292 100644 --- a/sdk/storage/storage-blob/src/Range.ts +++ b/sdk/storage/storage-blob/src/Range.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -// tslint:disable:max-line-length /** * Range for Blob Service Operations. * @see https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-the-range-header-for-blob-service-operations diff --git a/sdk/storage/storage-blob/src/StorageClient.ts b/sdk/storage/storage-blob/src/StorageClient.ts index 5c361869383d..11c63cb355bd 100644 --- a/sdk/storage/storage-blob/src/StorageClient.ts +++ b/sdk/storage/storage-blob/src/StorageClient.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { StorageClientContext } from "./generated/src/storageClientContext"; -import { Pipeline } from "./Pipeline"; +import { PipelineLike } from "./Pipeline"; import { escapeURLPath, getURLScheme, iEqual, getAccountNameFromUrl } from "./utils/utils.common"; import { AnonymousCredential } from "./credentials/AnonymousCredential"; import { StorageSharedKeyCredential } from "./credentials/StorageSharedKeyCredential"; @@ -34,7 +34,7 @@ export abstract class StorageClient { * * @internal */ - protected readonly pipeline: Pipeline; + protected readonly pipeline: PipelineLike; /** * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. */ @@ -53,7 +53,7 @@ export abstract class StorageClient { * @param url - url to resource * @param pipeline - request policy pipeline. */ - protected constructor(url: string, pipeline: Pipeline) { + protected constructor(url: string, pipeline: PipelineLike) { // URL should be encoded and only once, protocol layer shouldn't encode URL again this.url = escapeURLPath(url); this.accountName = getAccountNameFromUrl(url); diff --git a/sdk/storage/storage-blob/src/credentials/Credential.ts b/sdk/storage/storage-blob/src/credentials/Credential.ts index ec1bee135c2c..bd795dcd129d 100644 --- a/sdk/storage/storage-blob/src/credentials/Credential.ts +++ b/sdk/storage/storage-blob/src/credentials/Credential.ts @@ -15,12 +15,7 @@ export abstract class Credential implements RequestPolicyFactory { * @param _nextPolicy - * @param _options - */ - public create( - // tslint:disable-next-line:variable-name - _nextPolicy: RequestPolicy, - // tslint:disable-next-line:variable-name - _options: RequestPolicyOptions - ): RequestPolicy { + public create(_nextPolicy: RequestPolicy, _options: RequestPolicyOptions): RequestPolicy { throw new Error("Method should be implemented in children classes."); } } diff --git a/sdk/storage/storage-blob/src/generated/src/storageClientContext.ts b/sdk/storage/storage-blob/src/generated/src/storageClientContext.ts index e5a523348e85..6df62c87ea54 100644 --- a/sdk/storage/storage-blob/src/generated/src/storageClientContext.ts +++ b/sdk/storage/storage-blob/src/generated/src/storageClientContext.ts @@ -10,7 +10,7 @@ import * as coreHttp from "@azure/core-http"; import { StorageClientOptionalParams } from "./models"; const packageName = "azure-storage-blob"; -const packageVersion = "12.7.0-beta.1"; +const packageVersion = "12.8.1"; export class StorageClientContext extends coreHttp.ServiceClient { url: string; diff --git a/sdk/storage/storage-blob/src/models.ts b/sdk/storage/storage-blob/src/models.ts index ad4f0049d849..0ece7d857775 100644 --- a/sdk/storage/storage-blob/src/models.ts +++ b/sdk/storage/storage-blob/src/models.ts @@ -174,14 +174,14 @@ export enum PremiumPageBlobTier { export function toAccessTier( tier: BlockBlobTier | PremiumPageBlobTier | string | undefined ): AccessTier | undefined { - if (tier == undefined) { + if (tier === undefined) { return undefined; } return tier as AccessTier; // No more check if string is a valid AccessTier, and left this to underlay logic to decide(service). } -export function ensureCpkIfSpecified(cpk: CpkInfo | undefined, isHttps: boolean) { +export function ensureCpkIfSpecified(cpk: CpkInfo | undefined, isHttps: boolean): void { if (cpk && !isHttps) { throw new RangeError("Customer-provided encryption key must be used over HTTPS."); } @@ -309,5 +309,5 @@ export interface HttpAuthorization { /** * the credentials containing the authentication information of the user agent for the resource being requested. */ - parameter: string; + value: string; } diff --git a/sdk/storage/storage-blob/src/policies/AnonymousCredentialPolicy.ts b/sdk/storage/storage-blob/src/policies/AnonymousCredentialPolicy.ts index 08e4118ad4c0..fbe370ad037d 100644 --- a/sdk/storage/storage-blob/src/policies/AnonymousCredentialPolicy.ts +++ b/sdk/storage/storage-blob/src/policies/AnonymousCredentialPolicy.ts @@ -15,6 +15,8 @@ export class AnonymousCredentialPolicy extends CredentialPolicy { * @param nextPolicy - * @param options - */ + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } diff --git a/sdk/storage/storage-blob/src/policies/StorageBrowserPolicy.ts b/sdk/storage/storage-blob/src/policies/StorageBrowserPolicy.ts index 35748194822e..814b65e6a05b 100644 --- a/sdk/storage/storage-blob/src/policies/StorageBrowserPolicy.ts +++ b/sdk/storage/storage-blob/src/policies/StorageBrowserPolicy.ts @@ -30,6 +30,8 @@ export class StorageBrowserPolicy extends BaseRequestPolicy { * @param nextPolicy - * @param options - */ + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } diff --git a/sdk/storage/storage-blob/src/policies/StorageRetryPolicy.ts b/sdk/storage/storage-blob/src/policies/StorageRetryPolicy.ts index a37c34629ddc..3d6135609044 100644 --- a/sdk/storage/storage-blob/src/policies/StorageRetryPolicy.ts +++ b/sdk/storage/storage-blob/src/policies/StorageRetryPolicy.ts @@ -180,7 +180,7 @@ export class StorageRetryPolicy extends BaseRequestPolicy { } await this.delay(isPrimaryRetry, attempt, request.abortSignal); - return await this.attemptSendRequest(request, secondaryHas404, ++attempt); + return this.attemptSendRequest(request, secondaryHas404, ++attempt); } /** diff --git a/sdk/storage/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.ts b/sdk/storage/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.ts index d17572d6715d..7ea3fde1720b 100644 --- a/sdk/storage/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.ts +++ b/sdk/storage/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.ts @@ -155,7 +155,7 @@ export class StorageSharedKeyCredentialPolicy extends CredentialPolicy { if (queries) { const queryKeys: string[] = []; for (const key in queries) { - if (queries.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(queries, key)) { const lowercaseKey = key.toLowerCase(); lowercaseQueries[lowercaseKey] = queries[key]; queryKeys.push(lowercaseKey); diff --git a/sdk/storage/storage-blob/src/sas/AccountSASPermissions.ts b/sdk/storage/storage-blob/src/sas/AccountSASPermissions.ts index 271ac7a7e9be..a6e574acac7a 100644 --- a/sdk/storage/storage-blob/src/sas/AccountSASPermissions.ts +++ b/sdk/storage/storage-blob/src/sas/AccountSASPermissions.ts @@ -243,7 +243,7 @@ export interface AccountSASPermissionsLike { write?: boolean; /** - * Permission to create blobs and files granted. + * Permission to delete blobs and files granted. */ delete?: boolean; diff --git a/sdk/storage/storage-blob/src/sas/ContainerSASPermissions.ts b/sdk/storage/storage-blob/src/sas/ContainerSASPermissions.ts index c56ffd5b8da0..33519a11483e 100644 --- a/sdk/storage/storage-blob/src/sas/ContainerSASPermissions.ts +++ b/sdk/storage/storage-blob/src/sas/ContainerSASPermissions.ts @@ -15,7 +15,7 @@ export class ContainerSASPermissions { * * @param permissions - */ - public static parse(permissions: string) { + public static parse(permissions: string): ContainerSASPermissions { const containerSASPermissions = new ContainerSASPermissions(); for (const char of permissions) { diff --git a/sdk/storage/storage-blob/src/sas/SASQueryParameters.ts b/sdk/storage/storage-blob/src/sas/SASQueryParameters.ts index 7441f45f4a64..ee0d1159e066 100644 --- a/sdk/storage/storage-blob/src/sas/SASQueryParameters.ts +++ b/sdk/storage/storage-blob/src/sas/SASQueryParameters.ts @@ -109,7 +109,7 @@ export interface SASQueryParametersOptions { /** * Represents the components that make up an Azure Storage SAS' query parameters. This type is not constructed directly * by the user; it is only generated by the {@link AccountSASSignatureValues} and {@link BlobSASSignatureValues} - * types. Once generated, it can be encoded into a {@code String} and appended to a URL directly (though caution should + * types. Once generated, it can be encoded into a {@link String} and appended to a URL directly (though caution should * be taken here in case there are existing query parameters, which might affect the appropriate means of appending * these query parameters). * diff --git a/sdk/storage/storage-blob/src/utils/BlobQuickQueryStream.ts b/sdk/storage/storage-blob/src/utils/BlobQuickQueryStream.ts index 364144aec489..85f6c8dc6764 100644 --- a/sdk/storage/storage-blob/src/utils/BlobQuickQueryStream.ts +++ b/sdk/storage/storage-blob/src/utils/BlobQuickQueryStream.ts @@ -35,7 +35,7 @@ export interface BlobQuickQueryStreamOptions { export class BlobQuickQueryStream extends Readable { private source: NodeJS.ReadableStream; private avroReader: AvroReader; - private avroIter: AsyncIterableIterator; + private avroIter: AsyncIterableIterator; private avroPaused: boolean = true; private onProgress?: (progress: TransferProgressEvent) => void; private onError?: (error: BlobQueryError) => void; @@ -55,7 +55,7 @@ export class BlobQuickQueryStream extends Readable { this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal }); } - public _read() { + public _read(): void { if (this.avroPaused) { this.readInternal().catch((err) => { this.emit("error", err); @@ -79,21 +79,25 @@ export class BlobQuickQueryStream extends Readable { switch (schema) { case "com.microsoft.azure.storage.queryBlobContents.resultData": - const data = (obj as any).data; - if (data instanceof Uint8Array === false) { - throw Error("Invalid data in avro result record."); - } - if (!this.push(Buffer.from(data))) { - this.avroPaused = true; + { + const data = (obj as any).data; + if (data instanceof Uint8Array === false) { + throw Error("Invalid data in avro result record."); + } + if (!this.push(Buffer.from(data))) { + this.avroPaused = true; + } } break; case "com.microsoft.azure.storage.queryBlobContents.progress": - const bytesScanned = (obj as any).bytesScanned; - if (typeof bytesScanned !== "number") { - throw Error("Invalid bytesScanned in avro progress record."); - } - if (this.onProgress) { - this.onProgress({ loadedBytes: bytesScanned }); + { + const bytesScanned = (obj as any).bytesScanned; + if (typeof bytesScanned !== "number") { + throw Error("Invalid bytesScanned in avro progress record."); + } + if (this.onProgress) { + this.onProgress({ loadedBytes: bytesScanned }); + } } break; case "com.microsoft.azure.storage.queryBlobContents.end": diff --git a/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts b/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts index cba8672705f6..199749b4a123 100644 --- a/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts +++ b/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts @@ -81,7 +81,7 @@ export class RetriableReadableStream extends Readable { this.setSourceEventHandlers(); } - public _read() { + public _read(): void { this.source.resume(); } @@ -142,6 +142,7 @@ export class RetriableReadableStream extends Readable { .then((newSource) => { this.source = newSource; this.setSourceEventHandlers(); + return; }) .catch((error) => { this.destroy(error); @@ -149,7 +150,6 @@ export class RetriableReadableStream extends Readable { } else { this.destroy( new Error( - // tslint:disable-next-line:max-line-length `Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this .offset - 1}, data needed offset: ${this.end}, retries: ${ this.retries diff --git a/sdk/storage/storage-blob/src/utils/constants.ts b/sdk/storage/storage-blob/src/utils/constants.ts index 37bdcbd3b164..8e68cca6867b 100644 --- a/sdk/storage/storage-blob/src/utils/constants.ts +++ b/sdk/storage/storage-blob/src/utils/constants.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "12.8.0-beta.1"; +export const SDK_VERSION: string = "12.8.1"; export const SERVICE_VERSION: string = "2020-10-02"; export const BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES: number = 256 * 1024 * 1024; // 256MB diff --git a/sdk/storage/storage-blob/src/utils/tracing.ts b/sdk/storage/storage-blob/src/utils/tracing.ts index 362712d518e9..1d7aa72925a2 100644 --- a/sdk/storage/storage-blob/src/utils/tracing.ts +++ b/sdk/storage/storage-blob/src/utils/tracing.ts @@ -24,7 +24,8 @@ export function convertTracingToRequestOptionsBase( options?: OperationOptions ): Pick { return { - spanOptions: options?.tracingOptions?.spanOptions, + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + spanOptions: (options?.tracingOptions as any)?.spanOptions, tracingContext: options?.tracingOptions?.tracingContext }; } diff --git a/sdk/storage/storage-blob/src/utils/utils.browser.ts b/sdk/storage/storage-blob/src/utils/utils.browser.ts index a125ae18e017..63336bea678a 100644 --- a/sdk/storage/storage-blob/src/utils/utils.browser.ts +++ b/sdk/storage/storage-blob/src/utils/utils.browser.ts @@ -33,12 +33,22 @@ export async function blobToString(blob: Blob): Promise { }); } -export function streamToBuffer() {} +export function streamToBuffer(): void { + /* empty */ +} -export function streamToBuffer2() {} +export function streamToBuffer2(): void { + /* empty */ +} -export function readStreamToLocalFile() {} +export function readStreamToLocalFile(): void { + /* empty */ +} -export const fsStat = function stat() {}; +export const fsStat = function stat(): void { + /* empty */ +}; -export const fsCreateReadStream = function createReadStream() {}; +export const fsCreateReadStream = function createReadStream(): void { + /* empty */ +}; diff --git a/sdk/storage/storage-blob/src/utils/utils.common.ts b/sdk/storage/storage-blob/src/utils/utils.common.ts index 8c07ef23b15f..7d929a39e04c 100644 --- a/sdk/storage/storage-blob/src/utils/utils.common.ts +++ b/sdk/storage/storage-blob/src/utils/utils.common.ts @@ -118,7 +118,7 @@ export function getValueInConnString( | "DefaultEndpointsProtocol" | "EndpointSuffix" | "SharedAccessSignature" -) { +): string { const elements = connectionString.split(";"); for (const element of elements) { if (element.trim().startsWith(argument)) { @@ -315,7 +315,7 @@ export function getURLPathAndQuery(url: string): string | undefined { let queryString = urlParsed.getQuery() || ""; queryString = queryString.trim(); - if (queryString != "") { + if (queryString !== "") { queryString = queryString.startsWith("?") ? queryString : `?${queryString}`; // Ensure query string start with '?' } @@ -442,8 +442,13 @@ export function generateBlockID(blockIDPrefix: string, blockIndex: number): stri * @param aborter - * @param abortError - */ -export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortError?: Error) { +export async function delay( + timeInMs: number, + aborter?: AbortSignalLike, + abortError?: Error +): Promise { return new Promise((resolve, reject) => { + /* eslint-disable-next-line prefer-const */ let timeout: any; const abortHandler = () => { @@ -461,6 +466,7 @@ export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortEr }; timeout = setTimeout(resolveHandler, timeInMs); + if (aborter !== undefined) { aborter.addEventListener("abort", abortHandler); } @@ -479,8 +485,7 @@ export function padStart( targetLength: number, padString: string = " " ): string { - // TS doesn't know this code needs to run downlevel sometimes. - // @ts-expect-error + // @ts-expect-error: TS doesn't know this code needs to run downlevel sometimes if (String.prototype.padStart) { return currentString.padStart(targetLength, padString); } @@ -558,12 +563,12 @@ export function getAccountNameFromUrl(url: string): string { } export function isIpEndpointStyle(parsedUrl: URLBuilder): boolean { - if (parsedUrl.getHost() == undefined) { + if (parsedUrl.getHost() === undefined) { return false; } const host = - parsedUrl.getHost()! + (parsedUrl.getPort() == undefined ? "" : ":" + parsedUrl.getPort()); + parsedUrl.getHost()! + (parsedUrl.getPort() === undefined ? "" : ":" + parsedUrl.getPort()); // Case 1: Ipv6, use a broad regex to find out candidates whose host contains two ':'. // Case 2: localhost(:port), use broad regex to match port part. @@ -586,7 +591,7 @@ export function toBlobTagsString(tags?: Tags): string | undefined { const tagPairs = []; for (const key in tags) { - if (tags.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(tags, key)) { const value = tags[key]; tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`); } @@ -610,7 +615,7 @@ export function toBlobTags(tags?: Tags): BlobTags | undefined { }; for (const key in tags) { - if (tags.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(tags, key)) { const value = tags[key]; res.blobTagSet.push({ key, @@ -749,7 +754,5 @@ export function attachCredential(thing: T, credential: TokenCredential): T { export function httpAuthorizationToString( httpAuthorization?: HttpAuthorization ): string | undefined { - return httpAuthorization - ? httpAuthorization.scheme + " " + httpAuthorization.parameter - : undefined; + return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : undefined; } diff --git a/sdk/storage/storage-blob/swagger/README.md b/sdk/storage/storage-blob/swagger/README.md index a26b311b15d6..ca582ed93956 100644 --- a/sdk/storage/storage-blob/swagger/README.md +++ b/sdk/storage/storage-blob/swagger/README.md @@ -20,7 +20,7 @@ disable-async-iterators: true add-credentials: false use-extension: "@autorest/typescript": "6.0.0-dev.20210218.1" -package-version: 12.8.0-beta.1 +package-version: 12.8.1 ``` ## Customizations for Track 2 Generator diff --git a/sdk/storage/storage-blob/test/aborter.spec.ts b/sdk/storage/storage-blob/test/aborter.spec.ts index 72452dd99259..0f5e905d5a51 100644 --- a/sdk/storage/storage-blob/test/aborter.spec.ts +++ b/sdk/storage/storage-blob/test/aborter.spec.ts @@ -6,18 +6,18 @@ import * as assert from "assert"; import { AbortController, AbortSignal } from "@azure/abort-controller"; import { ContainerClient } from "../src"; import { getBSU, recorderEnvSetup } from "./utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; dotenv.config(); -// tslint:disable:no-empty describe("Aborter", () => { let containerName: string; let containerClient: ContainerClient; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); diff --git a/sdk/storage/storage-blob/test/appendblobclient.spec.ts b/sdk/storage/storage-blob/test/appendblobclient.spec.ts index 30e1821000fe..2c6d9d55d618 100644 --- a/sdk/storage/storage-blob/test/appendblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/appendblobclient.spec.ts @@ -1,9 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; import { AppendBlobClient, ContainerClient } from "../src"; import { @@ -23,7 +24,7 @@ describe("AppendBlobClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -94,7 +95,9 @@ describe("AppendBlobClient", () => { const content = "Hello World!"; await appendBlobClient.appendBlock(content, content.length, { - onProgress: () => {} + onProgress: () => { + /* empty */ + } }); const downloadResponse = await appendBlobClient.download(0); @@ -115,7 +118,6 @@ describe("AppendBlobClient", () => { it("throws error if constructor containerName parameter is empty", async () => { try { - // tslint:disable-next-line: no-unused-expression new AppendBlobClient(getSASConnectionStringFromEnvironment(), "", "blobName"); assert.fail("Expecting an thrown error but didn't get one."); } catch (error) { diff --git a/sdk/storage/storage-blob/test/blobbatch.spec.ts b/sdk/storage/storage-blob/test/blobbatch.spec.ts index 5641d2615344..6329cf236709 100644 --- a/sdk/storage/storage-blob/test/blobbatch.spec.ts +++ b/sdk/storage/storage-blob/test/blobbatch.spec.ts @@ -11,7 +11,7 @@ import { recorderEnvSetup, getTokenBSU } from "./utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { BlobBatch } from "../src"; import { ContainerClient, @@ -21,6 +21,7 @@ import { BlobBatchClient, StorageSharedKeyCredential } from "../src"; +import { Context } from "mocha"; dotenv.config(); @@ -37,7 +38,7 @@ describe("BlobBatch", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getGenericBSU(""); @@ -60,7 +61,7 @@ describe("BlobBatch", () => { blockBlobClients[blockBlobCount - 1] = tmpBlockBlobClient; }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await recorder.stop(); @@ -92,7 +93,7 @@ describe("BlobBatch", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 202); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); } @@ -129,7 +130,7 @@ describe("BlobBatch", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 202); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); } @@ -304,13 +305,13 @@ describe("BlobBatch", () => { // First succeeded. assert.equal(resp.subResponses[0].errorCode, undefined); assert.equal(resp.subResponses[0].status, 202); - assert.ok(resp.subResponses[0].statusMessage != ""); + assert.ok(resp.subResponses[0].statusMessage !== ""); assert.equal(resp.subResponses[0]._request.url, blockBlobClients[0].url); // Second failed. - assert.ok(resp.subResponses[1].errorCode != undefined); - assert.ok(resp.subResponses[1].status == 412); - assert.ok(resp.subResponses[1].statusMessage != ""); + assert.ok(resp.subResponses[1].errorCode !== undefined); + assert.ok(resp.subResponses[1].status === 412); + assert.ok(resp.subResponses[1].statusMessage !== ""); assert.equal(resp.subResponses[1]._request.url, blockBlobClients[1].url); }); @@ -339,7 +340,7 @@ describe("BlobBatch", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 200); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); @@ -369,7 +370,7 @@ describe("BlobBatch", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 200); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); @@ -392,7 +393,7 @@ describe("BlobBatch", () => { const guid = "ca761232ed4211cebacd00aa0057b223"; const duration = 30; const leaseResp = await blockBlobClients[1].getBlobLeaseClient(guid).acquireLease(duration); - assert.ok(leaseResp.leaseId! != ""); + assert.ok(leaseResp.leaseId! !== ""); // Assemble batch set tier request. const batchSetTierRequest = new BlobBatch(); @@ -410,7 +411,7 @@ describe("BlobBatch", () => { for (let i = 0; i < 2; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 200); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); @@ -456,7 +457,7 @@ describe("BlobBatch", () => { for (let i = 0; i < blockBlobClients.length; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 200); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClientsWithVersion[i].url); @@ -501,7 +502,7 @@ describe("BlobBatch", () => { for (let i = 0; i < blockBlobClients.length; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 200); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClientsWithSnapshot[i].url); @@ -511,23 +512,11 @@ describe("BlobBatch", () => { } }); - it("submitBatch should work with multiple types of credentials for subrequests", async function() { + it("submitBatch should work with multiple types of credentials for subrequests", async function(this: Context) { recorder.skip( undefined, "UUID is randomly generated within the SDK and used in the HTTP request and cannot be preserved." ); - // Try to get serviceURL object with TokenCredential - // when ACCOUNT_TOKEN environment variable is set - let tokenCredential; - try { - tokenCredential = getTokenCredential(); - } catch {} - - // Requires bearer token for this case which cannot be generated in the runtime - // Make sure this case passed in sanity test - if (tokenCredential === undefined) { - this.skip(); - } // Upload blobs. await blockBlobClients[0].upload(content, content.length); @@ -538,16 +527,26 @@ describe("BlobBatch", () => { await batchSetTierRequest.setBlobAccessTier(blockBlobClients[0].url, credential, "Cool"); // When it's using token credential be sure it's not with SAS (browser testing case) let blockBlobClient1WithoutSAS = blockBlobClients[1].url; - if (blockBlobClient1WithoutSAS.indexOf("?") != -1) { + if (blockBlobClient1WithoutSAS.indexOf("?") !== -1) { // remove query part for this testing for ease blockBlobClient1WithoutSAS = blockBlobClients[1].url.substring( 0, blockBlobClients[1].url.indexOf("?") ); } + + // Try to get serviceURL object with TokenCredential + // when ACCOUNT_TOKEN environment variable is set + let tokenCredential; + try { + tokenCredential = getTokenCredential(); + } catch { + this.skip(); + } + await batchSetTierRequest.setBlobAccessTier( blockBlobClient1WithoutSAS, - getTokenCredential(), + tokenCredential, "Cool" ); @@ -560,7 +559,7 @@ describe("BlobBatch", () => { for (let i = 0; i < 2; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 200); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); // Check blob tier set properly. @@ -589,7 +588,7 @@ describe("BlobBatch", () => { } catch (err) { if ( err instanceof RangeError && - err.message == "Cannot exceed 256 sub requests in a single batch" + err.message === "Cannot exceed 256 sub requests in a single batch" ) { exceptionCaught = true; } @@ -605,7 +604,10 @@ describe("BlobBatch", () => { try { await batchSetTierRequest.setBlobAccessTier("invalidurl", credential, "Cool"); } catch (err) { - if (err instanceof RangeError && err.message.indexOf("Invalid url for sub request: ") != -1) { + if ( + err instanceof RangeError && + err.message.indexOf("Invalid url for sub request: ") !== -1 + ) { exceptionCaught = true; } } @@ -621,7 +623,7 @@ describe("BlobBatch", () => { } catch (err) { if ( err instanceof RangeError && - err.message == "Batch request should contain one or more sub requests." + err.message === "Batch request should contain one or more sub requests." ) { exceptionCaught = true; } @@ -671,7 +673,7 @@ describe("BlobBatch", () => { } catch (err) { if ( err instanceof RangeError && - err.message == + err.message === "BlobBatch only supports one operation type per batch and it already is being used for delete operations." ) { exceptionCaught = true; @@ -705,7 +707,7 @@ describe("BlobBatch", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 202); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); } @@ -733,7 +735,7 @@ describe("BlobBatch Token auth", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); // Try to get serviceURL object with TokenCredential when ACCOUNT_TOKEN environment variable is set @@ -760,7 +762,7 @@ describe("BlobBatch Token auth", () => { blockBlobClients[blockBlobCount - 1] = tmpBlockBlobClient; }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await recorder.stop(); @@ -792,7 +794,7 @@ describe("BlobBatch Token auth", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 202); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); } @@ -823,7 +825,7 @@ describe("BlobBatch Token auth", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 202); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); } diff --git a/sdk/storage/storage-blob/test/blobclient.spec.ts b/sdk/storage/storage-blob/test/blobclient.spec.ts index f755f3b18cdc..24575b9da40a 100644 --- a/sdk/storage/storage-blob/test/blobclient.spec.ts +++ b/sdk/storage/storage-blob/test/blobclient.spec.ts @@ -15,7 +15,7 @@ import { getGenericBSU, getImmutableContainerName } from "./utils"; -import { record, delay, isLiveMode, Recorder } from "@azure/test-utils-recorder"; +import { record, delay, isLiveMode, Recorder } from "@azure-tools/test-recorder"; import { BlobClient, BlockBlobClient, @@ -24,9 +24,10 @@ import { BlobServiceClient, RehydratePriority } from "../src"; -import { Test_CPK_INFO } from "./utils/constants"; +import { Test_CPK_INFO } from "./utils/fakeTestSecrets"; import { base64encode } from "../src/utils/utils.common"; import { context, setSpan } from "@azure/core-tracing"; +import { Context } from "mocha"; dotenv.config(); describe("BlobClient", () => { @@ -40,7 +41,7 @@ describe("BlobClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -52,7 +53,7 @@ describe("BlobClient", () => { await blockBlobClient.upload(content, content.length); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await recorder.stop(); @@ -849,7 +850,7 @@ describe("BlobClient", () => { await checkRehydratePriority("Standard"); }); - it("lastAccessed returned", async function() { + it("lastAccessed returned", async function(this: Context) { if (isLiveMode()) { // Skipped for now as it's not working in live tests pipeline. this.skip(); @@ -1340,13 +1341,13 @@ describe("BlobClient - Object Replication", () => { } ]; - before(async function() { + before(async function(this: Context) { if (isLiveMode()) { this.skip(); } }); - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); srcBlobServiceClient = getGenericBSU(""); destBlobServiceClient = getGenericBSU("ORS_DEST_"); @@ -1411,7 +1412,7 @@ describe("BlobClient - Object Replication", () => { assert.equal(destRes.objectReplicationSourceProperties, undefined); }); - it("download to file", async function() { + it("download to file", async function(this: Context) { if (!isNode) { this.skip(); } @@ -1446,7 +1447,7 @@ describe("BlobClient - ImmutabilityPolicy", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); @@ -1461,7 +1462,7 @@ describe("BlobClient - ImmutabilityPolicy", () => { blobClient = containerClient.getBlobClient(blobName); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { const listResult = ( await containerClient @@ -1471,8 +1472,9 @@ describe("BlobClient - ImmutabilityPolicy", () => { ).value; for (let i = 0; i < listResult.segment.blobItems!.length; ++i) { - let deleteBlobClient: BlobClient; - deleteBlobClient = containerClient.getBlobClient(listResult.segment.blobItems[i].name); + const deleteBlobClient = containerClient.getBlobClient( + listResult.segment.blobItems[i].name + ); await deleteBlobClient.setLegalHold(false); diff --git a/sdk/storage/storage-blob/test/blobclientpollers.spec.ts b/sdk/storage/storage-blob/test/blobclientpollers.spec.ts index 1eb34ecf440e..c6e19850ec7a 100644 --- a/sdk/storage/storage-blob/test/blobclientpollers.spec.ts +++ b/sdk/storage/storage-blob/test/blobclientpollers.spec.ts @@ -5,7 +5,7 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { getBSU } from "./utils"; -import { record, Recorder, isRecordMode, isPlaybackMode } from "@azure/test-utils-recorder"; +import { record, Recorder, isRecordMode, isPlaybackMode } from "@azure-tools/test-recorder"; import { recorderEnvSetup, testPollerProperties } from "./utils/testutils.common"; import { BlobClient, @@ -16,6 +16,7 @@ import { PollOperationState } from "../src"; import { URLBuilder, URLQuery } from "@azure/core-http"; +import { Context } from "mocha"; dotenv.config(); describe("BlobClient beginCopyFromURL Poller", () => { @@ -30,7 +31,7 @@ describe("BlobClient beginCopyFromURL Poller", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -45,7 +46,7 @@ describe("BlobClient beginCopyFromURL Poller", () => { await destinationContainerClient.create(); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await destinationContainerClient.delete(); @@ -137,7 +138,7 @@ describe("BlobClient beginCopyFromURL Poller", () => { ); }); - it("supports cancellation of the copy", async function() { + it("supports cancellation of the copy", async function(this: Context) { if (!(isRecordMode() || isPlaybackMode())) { // Depends on the service not returning 'success' as soon as // the copy is initiated. Since this can't be guaranteed in the live tests, @@ -161,7 +162,7 @@ describe("BlobClient beginCopyFromURL Poller", () => { } }); - it("supports updating on progress events", async function() { + it("supports updating on progress events", async function(this: Context) { if (!(isRecordMode() || isPlaybackMode())) { // Depends on the service not returning 'success' as soon as // the copy is initiated. Since this can't be guaranteed in the live tests, diff --git a/sdk/storage/storage-blob/test/blobserviceclient.spec.ts b/sdk/storage/storage-blob/test/blobserviceclient.spec.ts index 1e55b7aa8344..a4f6eeae94aa 100644 --- a/sdk/storage/storage-blob/test/blobserviceclient.spec.ts +++ b/sdk/storage/storage-blob/test/blobserviceclient.spec.ts @@ -14,14 +14,15 @@ import { recorderEnvSetup, sleep } from "./utils"; -import { record, delay, Recorder, isLiveMode } from "@azure/test-utils-recorder"; +import { record, delay, Recorder, isLiveMode } from "@azure-tools/test-recorder"; import { Tags } from "../src/models"; +import { Context } from "mocha"; dotenv.config(); describe("BlobServiceClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); @@ -397,6 +398,7 @@ describe("BlobServiceClient", () => { .then((result) => { assert.ok(result.geoReplication!.lastSyncOn); done(); + return; }) .catch(done); }); @@ -446,10 +448,11 @@ describe("BlobServiceClient", () => { assert.ok(result.requestId!.length > 0); }); - it("getUserDelegationKey should work", async function() { + it("getUserDelegationKey should work", async function(this: Context) { // Try to get serviceURL object with TokenCredential // when ACCOUNT_TOKEN environment variable is set let serviceURLWithToken: BlobServiceClient | undefined; + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { serviceURLWithToken = getTokenBSU(); } catch {} @@ -576,7 +579,7 @@ describe("BlobServiceClient", () => { assert.equal(staticWebsite?.defaultIndexDocumentPath, defaultIndexDocumentPath); }); - it("restore container", async function() { + it("restore container", async function(this: Context) { let blobServiceClient: BlobServiceClient; try { blobServiceClient = getGenericBSU("SOFT_DELETE_"); @@ -613,7 +616,7 @@ describe("BlobServiceClient", () => { assert.ok(listed); }); - it("rename container", async function() { + it("rename container", async function(this: Context) { if (isLiveMode()) { // Turn on this case when the Container Rename feature is ready in the service side. this.skip(); @@ -637,7 +640,7 @@ describe("BlobServiceClient", () => { await newContainerClient.delete(); }); - it("rename container should work with source lease", async function() { + it("rename container should work with source lease", async function(this: Context) { if (isLiveMode()) { // Turn on this case when the Container Rename feature is ready in the service side. this.skip(); diff --git a/sdk/storage/storage-blob/test/blobversioning.spec.ts b/sdk/storage/storage-blob/test/blobversioning.spec.ts index f77ad60ead67..7924cf40d6bb 100644 --- a/sdk/storage/storage-blob/test/blobversioning.spec.ts +++ b/sdk/storage/storage-blob/test/blobversioning.spec.ts @@ -6,7 +6,7 @@ import * as dotenv from "dotenv"; import * as fs from "fs"; import { isNode, delay } from "@azure/core-http"; import { getBSU, recorderEnvSetup, bodyToString, getGenericCredential } from "./utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { ContainerClient, BlobServiceClient, @@ -16,6 +16,7 @@ import { BlobBatch } from "../src"; import { setURLParameter } from "../src/utils/utils.common"; +import { Context } from "mocha"; dotenv.config({ path: "../.env" }); describe("Blob versioning", () => { @@ -31,7 +32,7 @@ describe("Blob versioning", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -92,7 +93,7 @@ describe("Blob versioning", () => { } }); - it("download a version to file", async function() { + it("download a version to file", async function(this: Context) { if (!isNode) { // downloadToFile only available in Node.js this.skip(); @@ -184,7 +185,7 @@ describe("Blob versioning", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 202); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal( resp.subResponses[i]._request.url, diff --git a/sdk/storage/storage-blob/test/blockblobclient.spec.ts b/sdk/storage/storage-blob/test/blockblobclient.spec.ts index 4b238a8758d8..da72d8ded512 100644 --- a/sdk/storage/storage-blob/test/blockblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/blockblobclient.spec.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; import { base64encode, @@ -13,8 +13,10 @@ import { recorderEnvSetup } from "./utils"; import { ContainerClient, BlobClient, BlockBlobClient } from "../src"; -import { Test_CPK_INFO } from "./utils/constants"; +import { Test_CPK_INFO } from "./utils/fakeTestSecrets"; import { BlockBlobTier } from "../src"; +import { Context } from "mocha"; +import { isNode } from "@azure/core-http"; dotenv.config(); describe("BlockBlobClient", () => { @@ -26,7 +28,7 @@ describe("BlockBlobClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -37,7 +39,7 @@ describe("BlockBlobClient", () => { blockBlobClient = blobClient.getBlockBlobClient(); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await recorder.stop(); @@ -54,7 +56,9 @@ describe("BlockBlobClient", () => { it("upload with progress report", async () => { const body: string = recorder.getUniqueName("randomstring"); await blockBlobClient.upload(body, body.length, { - onProgress: () => {} + onProgress: () => { + /* empty */ + } }); const result = await blobClient.download(0); assert.deepStrictEqual(await bodyToString(result, body.length), body); @@ -106,10 +110,14 @@ describe("BlockBlobClient", () => { it("stageBlock with progress report", async () => { const body = "HelloWorld"; await blockBlobClient.stageBlock(base64encode("1"), body, body.length, { - onProgress: () => {} + onProgress: () => { + /* empty */ + } }); await blockBlobClient.stageBlock(base64encode("2"), body, body.length, { - onProgress: () => {} + onProgress: () => { + /* empty */ + } }); await blockBlobClient.commitBlockList([base64encode("1"), base64encode("2")]); const listResponse = await blockBlobClient.getBlockList("committed"); @@ -124,12 +132,11 @@ describe("BlockBlobClient", () => { const body = "HelloWorld"; await blockBlobClient.upload(body, body.length); - // When testing is in Node.js environment with shared key, setAccessPolicy will work - // But in browsers testing with SAS tokens, below will throw an exception, ignore it - try { + // When in browsers testing with SAS tokens, setAccessPolicy won't work. + // so only test setAccessPolicy in Node.js environment. + if (isNode) { await containerClient.setAccessPolicy("container"); - // tslint:disable-next-line:no-empty - } catch (err) {} + } const newBlockBlobClient = containerClient.getBlockBlobClient( recorder.getUniqueName("newblockblob") @@ -146,12 +153,11 @@ describe("BlockBlobClient", () => { const body = "HelloWorld"; await blockBlobClient.upload(body, body.length); - // When testing is in Node.js environment with shared key, setAccessPolicy will work - // But in browsers testing with SAS tokens, below will throw an exception, ignore it - try { + // When in browsers testing with SAS tokens, setAccessPolicy won't work. + // so only test setAccessPolicy in Node.js environment. + if (isNode) { await containerClient.setAccessPolicy("container"); - // tslint:disable-next-line:no-empty - } catch (err) {} + } const newBlockBlobClient = containerClient.getBlockBlobClient( recorder.getUniqueName("newblockblob") @@ -262,7 +268,6 @@ describe("BlockBlobClient", () => { it("throws error if constructor containerName parameter is empty", async () => { try { - // tslint:disable-next-line: no-unused-expression new BlockBlobClient(getSASConnectionStringFromEnvironment(), "", "blobName"); assert.fail("Expecting an thrown error but didn't get one."); } catch (error) { @@ -323,12 +328,11 @@ describe("BlockBlobClient", () => { const body = "HelloWorld"; await blockBlobClient.upload(body, body.length); - // When testing is in Node.js environment with shared key, setAccessPolicy will work - // But in browsers testing with SAS tokens, below will throw an exception, ignore it - try { + // When in browsers testing with SAS tokens, setAccessPolicy won't work. + // so only test setAccessPolicy in Node.js environment. + if (isNode) { await containerClient.setAccessPolicy("container"); - // tslint:disable-next-line:no-empty - } catch (err) {} + } const newBlockBlobURL = containerClient.getBlockBlobClient( recorder.getUniqueName("newblockblob") diff --git a/sdk/storage/storage-blob/test/browser/highlevel.browser.spec.ts b/sdk/storage/storage-blob/test/browser/highlevel.browser.spec.ts index 1ae6dc255a3b..91e21b1d932f 100644 --- a/sdk/storage/storage-blob/test/browser/highlevel.browser.spec.ts +++ b/sdk/storage/storage-blob/test/browser/highlevel.browser.spec.ts @@ -13,10 +13,10 @@ import { getBSU, recorderEnvSetup } from "../utils/index.browser"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { ContainerClient, BlobClient, BlockBlobClient, BlobServiceClient } from "../../src"; +import { Context } from "mocha"; -// tslint:disable:no-empty describe("Highlevel", () => { let containerName: string; let containerClient: ContainerClient; @@ -31,7 +31,7 @@ describe("Highlevel", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -42,21 +42,23 @@ describe("Highlevel", () => { blockBlobClient = blobClient.getBlockBlobClient(); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await recorder.stop(); } }); - before(async function() { + before(async function(this: Context) { recorder = record(this, recorderEnvSetup); tempFile1 = getBrowserFile(recorder.getUniqueName("browserfile"), tempFile1Length); tempFile2 = getBrowserFile(recorder.getUniqueName("browserfile2"), tempFile2Length); await recorder.stop(); }); - after(async () => {}); + after(async () => { + /* empty */ + }); it("uploadBrowserDataToBlockBlob should abort when blob >= BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES", async () => { recorder.skip("browser", "Temp file - recorder doesn't support saving the file"); @@ -93,6 +95,7 @@ describe("Highlevel", () => { let eventTriggered = false; const aborter = new AbortController(); + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { await blockBlobClient.uploadBrowserData(tempFile1, { abortSignal: aborter.signal, @@ -113,6 +116,7 @@ describe("Highlevel", () => { let eventTriggered = false; const aborter = new AbortController(); + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { await blockBlobClient.uploadBrowserData(tempFile2, { abortSignal: aborter.signal, diff --git a/sdk/storage/storage-blob/test/containerclient.spec.ts b/sdk/storage/storage-blob/test/containerclient.spec.ts index 11d245540c1b..027b642f9b0a 100644 --- a/sdk/storage/storage-blob/test/containerclient.spec.ts +++ b/sdk/storage/storage-blob/test/containerclient.spec.ts @@ -11,7 +11,7 @@ import { isSuperSet, recorderEnvSetup } from "./utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { URLBuilder } from "@azure/core-http"; import { ContainerClient, @@ -19,8 +19,9 @@ import { ContainerListBlobHierarchySegmentResponse, BlobServiceClient } from "../src"; -import { Test_CPK_INFO } from "./utils/constants"; +import { Test_CPK_INFO } from "./utils/fakeTestSecrets"; import { context, setSpan } from "@azure/core-tracing"; +import { Context } from "mocha"; dotenv.config(); describe("ContainerClient", () => { @@ -30,7 +31,7 @@ describe("ContainerClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -244,7 +245,7 @@ describe("ContainerClient", () => { const result = ( await containerClient .listBlobsFlat({ - includeDeletedwithVersions: true + includeDeletedWithVersions: true }) .byPage() .next() @@ -879,7 +880,7 @@ describe("ContainerClient - Verify Name Properties", () => { const containerName = "containerName"; const accountName = "myAccount"; - function verifyNameProperties(url: string) { + function verifyNameProperties(url: string): void { const newClient = new ContainerClient(url); assert.equal( newClient.containerName, diff --git a/sdk/storage/storage-blob/test/encrytion.spec.ts b/sdk/storage/storage-blob/test/encrytion.spec.ts index 2dd86316a711..9f5612e5c9db 100644 --- a/sdk/storage/storage-blob/test/encrytion.spec.ts +++ b/sdk/storage/storage-blob/test/encrytion.spec.ts @@ -4,10 +4,11 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { getBSU, recorderEnvSetup } from "./utils"; -import { record, isPlaybackMode, Recorder } from "@azure/test-utils-recorder"; +import { record, isPlaybackMode, Recorder } from "@azure-tools/test-recorder"; import { BlobServiceClient, BlobClient, BlockBlobClient, ContainerClient } from "../src"; -import { Test_CPK_INFO } from "./utils/constants"; +import { Test_CPK_INFO } from "./utils/fakeTestSecrets"; import { isNode } from "@azure/core-http"; +import { Context } from "mocha"; dotenv.config(); describe("Encryption Scope", function() { @@ -26,7 +27,7 @@ describe("Encryption Scope", function() { let encryptionScopeName2: string | undefined; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); if (isNode) { diff --git a/sdk/storage/storage-blob/test/leaseclient.spec.ts b/sdk/storage/storage-blob/test/leaseclient.spec.ts index f75d94e66781..2b13cbed108b 100644 --- a/sdk/storage/storage-blob/test/leaseclient.spec.ts +++ b/sdk/storage/storage-blob/test/leaseclient.spec.ts @@ -5,8 +5,9 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { getBSU, recorderEnvSetup } from "./utils"; -import { record, delay, Recorder } from "@azure/test-utils-recorder"; +import { record, delay, Recorder } from "@azure-tools/test-recorder"; import { ContainerClient, BlobClient, BlockBlobClient, BlobServiceClient } from "../src"; +import { Context } from "mocha"; dotenv.config(); describe("LeaseClient from Container", () => { @@ -16,7 +17,7 @@ describe("LeaseClient from Container", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -150,7 +151,7 @@ describe("LeaseClient from Blob", () => { const content = "Hello World"; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); diff --git a/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts b/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts index 6f5dc8b130a4..ca11e7d2e06f 100644 --- a/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts @@ -23,8 +23,9 @@ import { } from "../utils"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; -import { isPlaybackMode, record, Recorder } from "@azure/test-utils-recorder"; -import { Test_CPK_INFO } from "../utils/constants"; +import { isPlaybackMode, record, Recorder } from "@azure-tools/test-recorder"; +import { Test_CPK_INFO } from "../utils/fakeTestSecrets"; +import { Context } from "mocha"; dotenv.config(); describe("AppendBlobClient Node.js only", () => { @@ -36,7 +37,7 @@ describe("AppendBlobClient Node.js only", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -153,7 +154,7 @@ describe("AppendBlobClient Node.js only", () => { assert.equal(downloadResponse.contentLength!, content.length * 2); }); - it("appendBlockFromURL - source SAS and destination bearer token", async function() { + it("appendBlockFromURL - source SAS and destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -197,7 +198,7 @@ describe("AppendBlobClient Node.js only", () => { assert.equal(downloadResponse.contentLength!, content.length); }); - it("appendBlockFromURL - source bear token and destination account key", async function() { + it("appendBlockFromURL - source bear token and destination account key", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -217,7 +218,7 @@ describe("AppendBlobClient Node.js only", () => { await appendBlobClient.appendBlockFromURL(blockBlobClient.url, 0, content.length, { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } }); @@ -226,7 +227,7 @@ describe("AppendBlobClient Node.js only", () => { assert.equal(downloadResponse.contentLength!, content.length); }); - it("appendBlockFromURL - destination bearer token", async function() { + it("appendBlockFromURL - destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); diff --git a/sdk/storage/storage-blob/test/node/blobclient.spec.ts b/sdk/storage/storage-blob/test/node/blobclient.spec.ts index 9642f6b58577..50e4a7dd17b4 100644 --- a/sdk/storage/storage-blob/test/node/blobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/blobclient.spec.ts @@ -8,7 +8,7 @@ import { join } from "path"; import { AbortController } from "@azure/abort-controller"; import { isNode, TokenCredential } from "@azure/core-http"; -import { delay, isPlaybackMode, record, Recorder } from "@azure/test-utils-recorder"; +import { delay, isPlaybackMode, record, Recorder } from "@azure-tools/test-recorder"; import { BlobClient, @@ -33,6 +33,7 @@ import { import { assertClientUsesTokenCredential } from "../utils/assert"; import { readStreamToLocalFileWithLogs } from "../utils/testutils.node"; import { streamToBuffer3 } from "../../src/utils/utils.node"; +import { Context } from "mocha"; dotenv.config(); @@ -48,7 +49,7 @@ describe("BlobClient Node.js only", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -191,13 +192,9 @@ describe("BlobClient Node.js only", () => { // As a snapshot doesn't have leaseStatus and leaseState properties but origin blob has, // let assign them to undefined both for other properties' easy comparison - // tslint:disable-next-line:max-line-length result3.segment.blobItems![0].properties.leaseState = result3.segment.blobItems![1].properties.leaseState = undefined; - // tslint:disable-next-line:max-line-length result3.segment.blobItems![0].properties.leaseStatus = result3.segment.blobItems![1].properties.leaseStatus = undefined; - // tslint:disable-next-line:max-line-length result3.segment.blobItems![0].properties.accessTier = result3.segment.blobItems![1].properties.accessTier = undefined; - // tslint:disable-next-line:max-line-length result3.segment.blobItems![0].properties.accessTierInferred = result3.segment.blobItems![1].properties.accessTierInferred = undefined; assert.deepStrictEqual( @@ -207,7 +204,7 @@ describe("BlobClient Node.js only", () => { assert.ok(result3.segment.blobItems![0].snapshot || result3.segment.blobItems![1].snapshot); }); - it("syncCopyFromURL - source SAS and destination bearer token", async function() { + it("syncCopyFromURL - source SAS and destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -246,7 +243,7 @@ describe("BlobClient Node.js only", () => { assert.deepStrictEqual(properties2.copyId, result.copyId); }); - it("syncCopyFromURL - destination bearer token", async function() { + it("syncCopyFromURL - destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -267,7 +264,7 @@ describe("BlobClient Node.js only", () => { assert.deepStrictEqual(properties2.copyId, result.copyId); }); - it("syncCopyFromURL - source bearer token and destination account key", async function() { + it("syncCopyFromURL - source bearer token and destination account key", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -281,7 +278,7 @@ describe("BlobClient Node.js only", () => { const result = await newBlobClient.syncCopyFromURL(blobClient.url, { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } }); assert.ok(result.copyId); @@ -642,7 +639,9 @@ describe("BlobClient Node.js only", () => { .then((response) => { return bodyToString(response); }) - .then((_data) => {}) + .then((_data) => { + return; + }) .catch(reject); }); }); @@ -774,8 +773,8 @@ describe("BlobClient Node.js only", () => { }); }); - it("query should work with Parquet input configuration", async function() { - //Enable the case when STG78 - version 2020-10-02 features is enabled in production. + it("query should work with Parquet input configuration", async function(this: Context) { + // Enable the case when STG78 - version 2020-10-02 features is enabled in production. this.skip(); const parquetFilePath = join("test", "resources", "parquet.parquet"); await blockBlobClient.uploadFile(parquetFilePath); @@ -800,7 +799,7 @@ describe("BlobClient Node.js Only - ImmutabilityPolicy", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); try { @@ -813,7 +812,7 @@ describe("BlobClient Node.js Only - ImmutabilityPolicy", () => { blobClient = containerClient.getBlobClient(blobName); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { const listResult = ( await containerClient @@ -825,8 +824,9 @@ describe("BlobClient Node.js Only - ImmutabilityPolicy", () => { ).value; for (let i = 0; i < listResult.segment.blobItems!.length; ++i) { - let deleteBlobClient: BlobClient; - deleteBlobClient = containerClient.getBlobClient(listResult.segment.blobItems[i].name); + const deleteBlobClient = containerClient.getBlobClient( + listResult.segment.blobItems[i].name + ); await deleteBlobClient.setLegalHold(false); await deleteBlobClient.deleteImmutabilityPolicy(); await deleteBlobClient.delete(); diff --git a/sdk/storage/storage-blob/test/node/blobserviceclient.spec.ts b/sdk/storage/storage-blob/test/node/blobserviceclient.spec.ts index 84c23a457f56..fef357203d72 100644 --- a/sdk/storage/storage-blob/test/node/blobserviceclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/blobserviceclient.spec.ts @@ -6,13 +6,14 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { BlobServiceClient, newPipeline, StorageSharedKeyCredential } from "../../src"; import { getBSU, getConnectionStringFromEnvironment, recorderEnvSetup } from "../utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); describe("BlobServiceClient Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-blob/test/node/blockblobclient.spec.ts b/sdk/storage/storage-blob/test/node/blockblobclient.spec.ts index 3042755b106d..b7b6a5de4359 100644 --- a/sdk/storage/storage-blob/test/node/blockblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/blockblobclient.spec.ts @@ -26,10 +26,11 @@ import { } from "../../src"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; -import { isPlaybackMode, record, Recorder } from "@azure/test-utils-recorder"; +import { isPlaybackMode, record, Recorder } from "@azure-tools/test-recorder"; import { streamToBuffer3 } from "../../src/utils/utils.node"; import * as crypto from "crypto"; import { BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES } from "../../src/utils/constants"; +import { Context } from "mocha"; describe("BlockBlobClient Node.js only", () => { let containerName: string; @@ -40,7 +41,7 @@ describe("BlockBlobClient Node.js only", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -51,7 +52,7 @@ describe("BlockBlobClient Node.js only", () => { blockBlobClient = blobClient.getBlockBlobClient(); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await recorder.stop(); @@ -205,7 +206,7 @@ describe("syncUploadFromURL", () => { largeContent = genearteRandomUint8Array(BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES); }); - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const blobServiceClient = getBSU(); const containerName = recorder.getUniqueName("container"); @@ -236,14 +237,14 @@ describe("syncUploadFromURL", () => { sourceBlobURLWithSAS = sourceBlob.url + "?" + sas; }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await recorder.stop(); } }); - it("stageBlockFromURL - source SAS and destination bearer token", async function() { + it("stageBlockFromURL - source SAS and destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -275,7 +276,7 @@ describe("syncUploadFromURL", () => { assert.equal(listResponse.committedBlocks![1].size, content.length); }); - it("stageBlockFromURL - source bear token and destination account key", async function() { + it("stageBlockFromURL - source bear token and destination account key", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -298,7 +299,7 @@ describe("syncUploadFromURL", () => { { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } } ); @@ -311,7 +312,7 @@ describe("syncUploadFromURL", () => { { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } } ); @@ -325,7 +326,7 @@ describe("syncUploadFromURL", () => { assert.equal(listResponse.committedBlocks![1].size, body.length); }); - it("stageBlockFromURL - destination bearer token", async function() { + it("stageBlockFromURL - destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -351,7 +352,7 @@ describe("syncUploadFromURL", () => { { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } } ); @@ -364,7 +365,7 @@ describe("syncUploadFromURL", () => { { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } } ); @@ -378,7 +379,7 @@ describe("syncUploadFromURL", () => { assert.equal(listResponse.committedBlocks![1].size, body.length); }); - it("syncUploadFromURL - source SAS and destination bearer token", async function() { + it("syncUploadFromURL - source SAS and destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -396,7 +397,7 @@ describe("syncUploadFromURL", () => { assert.ok(downloadBuffer.compare(Buffer.from(content)) === 0); }); - it("syncUploadFromURL - source bear token and destination account key", async function() { + it("syncUploadFromURL - source bear token and destination account key", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -414,7 +415,7 @@ describe("syncUploadFromURL", () => { await newBlockBlobClient.syncUploadFromURL(blockBlobClient.url, { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } }); @@ -424,7 +425,7 @@ describe("syncUploadFromURL", () => { assert.equal(downloadRes.contentLength!, body.length); }); - it("syncUploadFromURL - destination bearer token", async function() { + it("syncUploadFromURL - destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -445,7 +446,7 @@ describe("syncUploadFromURL", () => { await tokenNewBlockBlobClient.syncUploadFromURL(blockBlobClient.url, { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } }); diff --git a/sdk/storage/storage-blob/test/node/containerclient.spec.ts b/sdk/storage/storage-blob/test/node/containerclient.spec.ts index c792dc742c9c..066780b98fff 100644 --- a/sdk/storage/storage-blob/test/node/containerclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/containerclient.spec.ts @@ -14,7 +14,8 @@ import { } from "../../src"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; describe("ContainerClient Node.js only", () => { let containerName: string; @@ -22,7 +23,7 @@ describe("ContainerClient Node.js only", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); diff --git a/sdk/storage/storage-blob/test/node/emulator-tests.spec.ts b/sdk/storage/storage-blob/test/node/emulator-tests.spec.ts index bd9997f473ff..57df690872eb 100644 --- a/sdk/storage/storage-blob/test/node/emulator-tests.spec.ts +++ b/sdk/storage/storage-blob/test/node/emulator-tests.spec.ts @@ -11,7 +11,8 @@ import { PageBlobClient } from "../../src"; import { getBSU, getConnectionStringFromEnvironment, bodyToString, getUniqueName } from "../utils"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); // Expected environment variable to run this test-suite @@ -25,7 +26,7 @@ describe("Emulator Tests", () => { let blockBlobClient: BlockBlobClient; const content = "Hello World"; - beforeEach(async function() { + beforeEach(async function(this: Context) { if (!env.STORAGE_CONNECTION_STRING.startsWith("UseDevelopmentStorage=true")) { this.skip(); } @@ -39,7 +40,7 @@ describe("Emulator Tests", () => { await blockBlobClient.upload(content, content.length); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); } diff --git a/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts b/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts index c59183523c3c..4d5e1a2d4c6a 100644 --- a/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts +++ b/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts @@ -16,15 +16,15 @@ import { createRandomLocalFileWithTotalSize } from "../utils"; import { RetriableReadableStreamOptions } from "../../src/utils/RetriableReadableStream"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { ContainerClient, BlobClient, BlockBlobClient, BlobServiceClient } from "../../src"; import { readStreamToLocalFileWithLogs } from "../utils/testutils.node"; import { BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES } from "../../src/utils/constants"; -import { Test_CPK_INFO } from "../utils/constants"; +import { Test_CPK_INFO } from "../utils/fakeTestSecrets"; import { streamToBuffer2 } from "../../src/utils/utils.node"; import { delay } from "../../src/utils/utils.common"; +import { Context } from "mocha"; -// tslint:disable:no-empty describe("Highlevel", () => { let containerName: string; let containerClient: ContainerClient; @@ -41,7 +41,7 @@ describe("Highlevel", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU({ keepAliveOptions: { @@ -56,14 +56,14 @@ describe("Highlevel", () => { blockBlobClient = blobClient.getBlockBlobClient(); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await containerClient.delete(); await recorder.stop(); } }); - before(async function() { + before(async function(this: Context) { recorder = record(this, recorderEnvSetup); if (!fs.existsSync(tempFolderPath)) { fs.mkdirSync(tempFolderPath); @@ -84,7 +84,7 @@ describe("Highlevel", () => { await recorder.stop(); }); - after(async function() { + after(async function(this: Context) { recorder = record(this, recorderEnvSetup); fs.unlinkSync(tempFileLarge); fs.unlinkSync(tempFileSmall); @@ -218,6 +218,7 @@ describe("Highlevel", () => { let eventTriggered = false; const aborter = new AbortController(); + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { await blockBlobClient.uploadFile(tempFileLarge, { abortSignal: aborter.signal, @@ -241,6 +242,7 @@ describe("Highlevel", () => { let eventTriggered = false; const aborter = new AbortController(); + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { await blockBlobClient.uploadFile(tempFileSmall, { abortSignal: aborter.signal, @@ -498,6 +500,7 @@ describe("Highlevel", () => { let eventTriggered = false; const buf = Buffer.alloc(tempFileSmallLength); const aborter = new AbortController(); + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { await blockBlobClient.downloadToBuffer(buf, 0, undefined, { abortSignal: aborter.signal, @@ -544,6 +547,7 @@ describe("Highlevel", () => { concurrency: 20 }); + /* eslint-disable prefer-const */ let retirableReadableStreamOptions: RetriableReadableStreamOptions; const downloadResponse = await blockBlobClient.download(0, undefined, { conditions: { @@ -558,6 +562,7 @@ describe("Highlevel", () => { }); retirableReadableStreamOptions = (downloadResponse.readableStreamBody! as any).options; + /* eslint-enable prefer-const */ const downloadedFile = path.join(tempFolderPath, recorder.getUniqueName("downloadfile.")); await readStreamToLocalFileWithLogs(downloadResponse.readableStreamBody!, downloadedFile); @@ -576,6 +581,7 @@ describe("Highlevel", () => { concurrency: 20 }); + /* eslint-disable prefer-const */ let retirableReadableStreamOptions: RetriableReadableStreamOptions; let injectedErrors = 0; const downloadResponse = await blockBlobClient.download(0, undefined, { @@ -591,6 +597,7 @@ describe("Highlevel", () => { }); retirableReadableStreamOptions = (downloadResponse.readableStreamBody! as any).options; + /* eslint-enable prefer-const */ const downloadedFile = path.join(tempFolderPath, recorder.getUniqueName("downloadfile.")); await readStreamToLocalFileWithLogs(downloadResponse.readableStreamBody!, downloadedFile); @@ -611,6 +618,7 @@ describe("Highlevel", () => { const partialSize = 500 * 1024; + /* eslint-disable prefer-const */ let retirableReadableStreamOptions: RetriableReadableStreamOptions; let injectedErrors = 0; const downloadResponse = await blockBlobClient.download(0, partialSize, { @@ -626,6 +634,7 @@ describe("Highlevel", () => { }); retirableReadableStreamOptions = (downloadResponse.readableStreamBody! as any).options; + /* eslint-enable prefer-const */ const downloadedFile = path.join(tempFolderPath, recorder.getUniqueName("downloadfile.")); await readStreamToLocalFileWithLogs(downloadResponse.readableStreamBody!, downloadedFile); diff --git a/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts b/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts index a4249b755532..29427d3c9279 100644 --- a/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts @@ -23,8 +23,9 @@ import { } from "../../src"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; -import { record, delay, Recorder, isPlaybackMode } from "@azure/test-utils-recorder"; -import { Test_CPK_INFO } from "../utils/constants"; +import { record, delay, Recorder, isPlaybackMode } from "@azure-tools/test-recorder"; +import { Test_CPK_INFO } from "../utils/fakeTestSecrets"; +import { Context } from "mocha"; describe("PageBlobClient Node.js only", () => { let containerName: string; @@ -36,7 +37,7 @@ describe("PageBlobClient Node.js only", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -72,7 +73,7 @@ describe("PageBlobClient Node.js only", () => { let copySource = pageBlobClient.withSnapshot(snapshotResult.snapshot!).url; let copyResponse = await destPageBlobClient.startCopyIncremental(copySource); - async function waitForCopy(retries = 0) { + async function waitForCopy(retries = 0): Promise { if (retries >= 30) { throw new Error("Check copy status exceed max retries counts"); } @@ -169,7 +170,7 @@ describe("PageBlobClient Node.js only", () => { assert.equal(await bodyToString(page2, 512), "b".repeat(512)); }); - it("uploadPagesFromURL - source SAS and destination bearer token", async function() { + it("uploadPagesFromURL - source SAS and destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -215,7 +216,7 @@ describe("PageBlobClient Node.js only", () => { assert.equal(await bodyToString(page2, 512), "b".repeat(512)); }); - it("uploadPagesFromURL - source bear token and destination account key", async function() { + it("uploadPagesFromURL - source bear token and destination account key", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -237,14 +238,14 @@ describe("PageBlobClient Node.js only", () => { await pageBlobClient.uploadPagesFromURL(blockBlobClient.url, 0, 0, 512, { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } }); await pageBlobClient.uploadPagesFromURL(blockBlobClient.url, 512, 512, 512, { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } }); @@ -255,7 +256,7 @@ describe("PageBlobClient Node.js only", () => { assert.equal(await bodyToString(page2, 512), "b".repeat(512)); }); - it("uploadPagesFromURL - destination bearer token", async function() { + it("uploadPagesFromURL - destination bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this when STG78 - version 2020-10-02 is enabled on production. this.skip(); @@ -491,6 +492,7 @@ describe("PageBlobClient Node.js only", () => { const copyResponse = await destPageBlobClient.startCopyIncremental(copySource); if (copyResponse.copyStatus === "pending") { // May fail as the copy succeeded during between? If so, ignore error in the abort as we don't care. + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { await destPageBlobClient.abortCopyFromURL(copyResponse.copyId!); } catch (err) {} diff --git a/sdk/storage/storage-blob/test/node/sas.spec.ts b/sdk/storage/storage-blob/test/node/sas.spec.ts index 5c4cb22bcdaa..75c6f096a918 100644 --- a/sdk/storage/storage-blob/test/node/sas.spec.ts +++ b/sdk/storage/storage-blob/test/node/sas.spec.ts @@ -30,14 +30,15 @@ import { recorderEnvSetup, sleep } from "../utils"; -import { delay, record, Recorder } from "@azure/test-utils-recorder"; +import { delay, record, Recorder } from "@azure-tools/test-recorder"; import { SERVICE_VERSION } from "../../src/utils/constants"; +import { Context } from "mocha"; describe("Shared Access Signature (SAS) generation Node.js only", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); }); @@ -216,12 +217,14 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { newPipeline(new AnonymousCredential()) ); - ( + const result = ( await containerClientWithSAS .listBlobsFlat() .byPage() .next() ).value; + assert.ok(result.serviceEndpoint.length > 0); + assert.deepStrictEqual(result.continuationToken, ""); await containerClient.delete(); }); @@ -677,10 +680,11 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { await containerClient.delete(); }); - it("GenerateUserDelegationSAS should work for container with all configurations", async function() { + it("GenerateUserDelegationSAS should work for container with all configurations", async function(this: Context) { // Try to get BlobServiceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variables are set let blobServiceClientWithToken: BlobServiceClient | undefined; + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { blobServiceClientWithToken = getTokenBSUWithDefaultCredential(); } catch {} @@ -726,19 +730,22 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { newPipeline(new AnonymousCredential()) ); - ( + const result = ( await containerClientWithSAS .listBlobsFlat() .byPage() .next() ).value; + assert.ok(result.serviceEndpoint.length > 0); + assert.deepStrictEqual(result.continuationToken, ""); await containerClient.delete(); }); - it("GenerateUserDelegationSAS should work for container with minimum parameters", async function() { + it("GenerateUserDelegationSAS should work for container with minimum parameters", async function(this: Context) { // Try to get BlobServiceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variables are set let blobServiceClientWithToken: BlobServiceClient | undefined; + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { blobServiceClientWithToken = getTokenBSUWithDefaultCredential(); } catch {} @@ -780,19 +787,22 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { newPipeline(new AnonymousCredential()) ); - ( + const result = ( await containerClientWithSAS .listBlobsFlat() .byPage() .next() ).value; + assert.ok(result.serviceEndpoint.length > 0); + assert.deepStrictEqual(result.continuationToken, ""); await containerClient.delete(); }); - it("GenerateUserDelegationSAS should work for blob", async function() { + it("GenerateUserDelegationSAS should work for blob", async function(this: Context) { // Try to get blobServiceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variables are set let blobServiceClientWithToken: BlobServiceClient | undefined; + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { blobServiceClientWithToken = getTokenBSUWithDefaultCredential(); } catch {} @@ -858,10 +868,11 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { await containerClient.delete(); }); - it("GenerateUserDelegationSAS should work for blob snapshot", async function() { + it("GenerateUserDelegationSAS should work for blob snapshot", async function(this: Context) { // Try to get blobServiceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variables are set let blobServiceClientWithToken: BlobServiceClient | undefined; + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { blobServiceClientWithToken = getTokenBSUWithDefaultCredential(); } catch {} @@ -1016,10 +1027,11 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { await containerClient.delete(); }); - it("GenerateUserDelegationSAS should work for blob version delete", async function() { + it("GenerateUserDelegationSAS should work for blob version delete", async function(this: Context) { // Try to get blobServiceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variables are set let blobServiceClientWithToken: BlobServiceClient | undefined; + /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */ try { blobServiceClientWithToken = getTokenBSUWithDefaultCredential(); } catch {} @@ -1351,12 +1363,14 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { }); const containerClientWithSAS = new ContainerClient(sasURL); - ( + const result = ( await containerClientWithSAS .listBlobsFlat() .byPage() .next() ).value; + assert.ok(result.serviceEndpoint.length > 0); + assert.deepStrictEqual(result.continuationToken, ""); try { await containerClientWithSAS.generateSasUrl({}); @@ -1608,7 +1622,7 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { for (let i = 0; i < blockBlobCount; i++) { assert.equal(resp.subResponses[i].errorCode, undefined); assert.equal(resp.subResponses[i].status, 202); - assert.ok(resp.subResponses[i].statusMessage != ""); + assert.ok(resp.subResponses[i].statusMessage !== ""); assert.ok(resp.subResponses[i].headers.contains("x-ms-request-id")); assert.equal(resp.subResponses[i]._request.url, blockBlobClients[i].url); } @@ -1636,7 +1650,7 @@ describe("Generation for user delegation SAS Node.js only", () => { let containerClient: ContainerClient; let blobClient: BlobClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); try { blobServiceClient = getTokenBSUWithDefaultCredential(); @@ -1736,7 +1750,7 @@ describe("Shared Access Signature (SAS) generation Node.js Only - ImmutabilityPo let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); try { @@ -1749,7 +1763,7 @@ describe("Shared Access Signature (SAS) generation Node.js Only - ImmutabilityPo blobClient = containerClient.getBlobClient(blobName); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { const listResult = ( await containerClient @@ -1761,8 +1775,9 @@ describe("Shared Access Signature (SAS) generation Node.js Only - ImmutabilityPo ).value; for (let i = 0; i < listResult.segment.blobItems!.length; ++i) { - let deleteBlobClient: BlobClient; - deleteBlobClient = containerClient.getBlobClient(listResult.segment.blobItems[i].name); + const deleteBlobClient = containerClient.getBlobClient( + listResult.segment.blobItems[i].name + ); await deleteBlobClient.setLegalHold(false); await deleteBlobClient.deleteImmutabilityPolicy(); await deleteBlobClient.delete(); diff --git a/sdk/storage/storage-blob/test/node/utils.spec.ts b/sdk/storage/storage-blob/test/node/utils.spec.ts index 229d4a955950..84a015c6eab4 100644 --- a/sdk/storage/storage-blob/test/node/utils.spec.ts +++ b/sdk/storage/storage-blob/test/node/utils.spec.ts @@ -26,7 +26,7 @@ describe("Utility Helpers Node.js only", () => { const accountKey = "myAccountKey"; const blobEndpoint = `${protocol}://${accountName}.blob.${endpointSuffix}`; - function verifyConnectionString(connectionString: string) { + function verifyConnectionString(connectionString: string): void { const connectionStringParts = extractConnectionStringParts(connectionString); assert.equal( "AccountConnString", @@ -361,9 +361,9 @@ describe("Utility Helpers Node.js only", () => { // the last call to read() returns the last bytes, and there is never a call which returns null. // I'm not sure why this behavior is different, but streamToBuffer2() should support both. let readStream: Readable; - if (test.streamType == "test") { + if (test.streamType === "test") { readStream = new TestReadableStream(inputBuffer, test.bytesPerRead!); - } else if (test.streamType == "passthrough") { + } else if (test.streamType === "passthrough") { const passthrough = new PassThrough(); passthrough.end(inputBuffer); readStream = passthrough; diff --git a/sdk/storage/storage-blob/test/pageblobclient.spec.ts b/sdk/storage/storage-blob/test/pageblobclient.spec.ts index b41d5ecfe598..35a78be4de12 100644 --- a/sdk/storage/storage-blob/test/pageblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/pageblobclient.spec.ts @@ -17,7 +17,8 @@ import { PremiumPageBlobTier, BlobServiceClient } from "../src"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); describe("PageBlobClient", () => { @@ -30,7 +31,7 @@ describe("PageBlobClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); @@ -131,10 +132,14 @@ describe("PageBlobClient", () => { assert.equal(await bodyToString(result, 1024), "\u0000".repeat(1024)); await pageBlobClient.uploadPages("a".repeat(512), 0, 512, { - onProgress: () => {} + onProgress: () => { + /* empty */ + } }); await pageBlobClient.uploadPages("b".repeat(512), 512, 512, { - onProgress: () => {} + onProgress: () => { + /* empty */ + } }); const page1 = await pageBlobClient.download(0, 512); @@ -195,7 +200,7 @@ describe("PageBlobClient", () => { assert.equal(rangesDiff.clearRange![0].count, 511); }); - it("getPageRangesDiffForManagedDisks", async function(): Promise { + it("getPageRangesDiffForManagedDisks", async function(this: Context): Promise { let mdBlobServiceClient: BlobServiceClient; try { mdBlobServiceClient = getGenericBSU("MD_", ""); @@ -291,7 +296,6 @@ describe("PageBlobClient", () => { it("throws error if constructor containerName parameter is empty", async () => { try { - // tslint:disable-next-line: no-unused-expression new PageBlobClient(getSASConnectionStringFromEnvironment(), "", "blobName"); assert.fail("Expecting an thrown error but didn't get one."); } catch (error) { @@ -305,7 +309,6 @@ describe("PageBlobClient", () => { it("throws error if constructor blobName parameter is empty", async () => { try { - // tslint:disable-next-line: no-unused-expression new PageBlobClient(getSASConnectionStringFromEnvironment(), "containerName", ""); assert.fail("Expecting an thrown error but didn't get one."); } catch (error) { diff --git a/sdk/storage/storage-blob/test/retrypolicy.spec.ts b/sdk/storage/storage-blob/test/retrypolicy.spec.ts index fd2206763169..c5aa75a38086 100644 --- a/sdk/storage/storage-blob/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-blob/test/retrypolicy.spec.ts @@ -10,7 +10,8 @@ import { ContainerClient, RestError, BlobServiceClient } from "../src"; import { newPipeline, Pipeline } from "../src"; import { getBSU, recorderEnvSetup } from "./utils"; import { InjectorPolicyFactory } from "./utils/InjectorPolicyFactory"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); @@ -21,7 +22,7 @@ describe("RetryPolicy", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("container"); diff --git a/sdk/storage/storage-blob/test/specialnaming.spec.ts b/sdk/storage/storage-blob/test/specialnaming.spec.ts index 69a280bef92b..0657d66002d7 100644 --- a/sdk/storage/storage-blob/test/specialnaming.spec.ts +++ b/sdk/storage/storage-blob/test/specialnaming.spec.ts @@ -5,9 +5,10 @@ import { BlockBlobClient, BlobServiceClient } from "../src"; import { getBSU, recorderEnvSetup } from "./utils/index"; import * as assert from "assert"; import { appendToURLPath } from "../src/utils/utils.common"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; import { ContainerClient } from "../src"; +import { Context } from "mocha"; dotenv.config(); describe("Special Naming Tests", () => { @@ -17,7 +18,7 @@ describe("Special Naming Tests", () => { let recorder: Recorder; let blobServiceClient: BlobServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); blobServiceClient = getBSU(); containerName = recorder.getUniqueName("1container-with-dash"); diff --git a/sdk/storage/storage-blob/test/utils/assert.ts b/sdk/storage/storage-blob/test/utils/assert.ts index 88cd43d602d2..562c49e69f64 100644 --- a/sdk/storage/storage-blob/test/utils/assert.ts +++ b/sdk/storage/storage-blob/test/utils/assert.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { StorageClient } from "../../src/StorageClient"; -export function assertClientUsesTokenCredential(client: StorageClient) { +export function assertClientUsesTokenCredential(client: StorageClient): void { const factories = (client as any).pipeline.factories; const authPolicy = factories[factories.length - 1].create(); assert.strictEqual(authPolicy.constructor.name, "BearerTokenAuthenticationPolicy"); diff --git a/sdk/storage/storage-blob/test/utils/constants.ts b/sdk/storage/storage-blob/test/utils/fakeTestSecrets.ts similarity index 100% rename from sdk/storage/storage-blob/test/utils/constants.ts rename to sdk/storage/storage-blob/test/utils/fakeTestSecrets.ts diff --git a/sdk/storage/storage-blob/test/utils/index.browser.ts b/sdk/storage/storage-blob/test/utils/index.browser.ts index a3fad621ca58..ad11e251b1a8 100644 --- a/sdk/storage/storage-blob/test/utils/index.browser.ts +++ b/sdk/storage/storage-blob/test/utils/index.browser.ts @@ -10,7 +10,8 @@ import { TokenCredential } from "@azure/core-http"; export * from "./testutils.common"; export function getGenericCredential(accountType: string): AnonymousCredential { - accountType = accountType; // bypass compiling error + const anewAccountType = accountType; // bypass compiling error + accountType = anewAccountType; return new AnonymousCredential(); } export function getGenericBSU( @@ -20,9 +21,8 @@ export function getGenericBSU( const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountSASEnvVar = `${accountType}ACCOUNT_SAS`; - let accountName: string | undefined; + const accountName = (self as any).__env__[accountNameEnvVar]; let accountSAS: string | undefined; - accountName = (self as any).__env__[accountNameEnvVar]; accountSAS = (self as any).__env__[accountSASEnvVar]; if (!accountName || !accountSAS || accountName === "" || accountSAS === "") { @@ -46,9 +46,8 @@ export function getGenericBSU( export function getTokenCredential(): TokenCredential { const accountTokenEnvVar = `ACCOUNT_TOKEN`; - let accountToken: string | undefined; - accountToken = (self as any).__env__[accountTokenEnvVar]; + const accountToken = (self as any).__env__[accountTokenEnvVar]; if (!accountToken || accountToken === "") { throw new Error(`${accountTokenEnvVar} environment variables not specified.`); @@ -60,9 +59,7 @@ export function getTokenCredential(): TokenCredential { export function getTokenBSU(): BlobServiceClient { const accountNameEnvVar = `ACCOUNT_NAME`; - let accountName: string | undefined; - - accountName = (self as any).__env__[accountNameEnvVar]; + const accountName = (self as any).__env__[accountNameEnvVar]; if (!accountName || accountName === "") { throw new Error(`${accountNameEnvVar} environment variables not specified.`); @@ -79,9 +76,8 @@ export function getTokenBSU(): BlobServiceClient { export function getImmutableContainerName(): string { const immutableContainerEnvVar = `IMMUTABLE_CONTAINER_NAME`; - let immutableContainerName: string | undefined; - immutableContainerName = (self as any).__env__[immutableContainerEnvVar]; + const immutableContainerName = (self as any).__env__[immutableContainerEnvVar]; if (!immutableContainerName || immutableContainerName === "") { throw new Error(`${immutableContainerEnvVar} environment variables not specified.`); @@ -110,7 +106,6 @@ export async function bodyToString( readableStreamBody?: NodeJS.ReadableStream; blobBody?: Promise; }, - // tslint:disable-next-line:variable-name _length?: number ): Promise { const blob = await response.blobBody!; diff --git a/sdk/storage/storage-blob/test/utils/index.ts b/sdk/storage/storage-blob/test/utils/index.ts index 30cda35b95e2..19894ea36adb 100644 --- a/sdk/storage/storage-blob/test/utils/index.ts +++ b/sdk/storage/storage-blob/test/utils/index.ts @@ -20,7 +20,7 @@ import { } from "../../src"; import { extractConnectionStringParts } from "../../src/utils/utils.common"; import { TokenCredential } from "@azure/core-http"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; import { DefaultAzureCredential } from "@azure/identity"; dotenv.config(); @@ -31,11 +31,8 @@ export function getGenericCredential(accountType: string): StorageSharedKeyCrede const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountKeyEnvVar = `${accountType}ACCOUNT_KEY`; - let accountName: string | undefined; - let accountKey: string | undefined; - - accountName = process.env[accountNameEnvVar]; - accountKey = process.env[accountKeyEnvVar]; + const accountName = process.env[accountNameEnvVar]; + const accountKey = process.env[accountKeyEnvVar]; if (!accountName || !accountKey || accountName === "" || accountKey === "") { throw new Error( @@ -71,9 +68,8 @@ export function getGenericBSU( export function getTokenCredential(): TokenCredential { const accountTokenEnvVar = `ACCOUNT_TOKEN`; - let accountToken: string | undefined; - accountToken = process.env[accountTokenEnvVar]; + const accountToken = process.env[accountTokenEnvVar]; if (!accountToken || accountToken === "") { throw new Error(`${accountTokenEnvVar} environment variables not specified.`); @@ -85,9 +81,7 @@ export function getTokenCredential(): TokenCredential { export function getTokenBSU(): BlobServiceClient { const accountNameEnvVar = `ACCOUNT_NAME`; - let accountName: string | undefined; - - accountName = process.env[accountNameEnvVar]; + const accountName = process.env[accountNameEnvVar]; if (!accountName || accountName === "") { throw new Error(`${accountNameEnvVar} environment variables not specified.`); @@ -167,8 +161,7 @@ export async function bodyToString( ): Promise { return new Promise((resolve, reject) => { response.readableStreamBody!.on("readable", () => { - let chunk; - chunk = response.readableStreamBody!.read(length); + const chunk = response.readableStreamBody!.read(length); if (chunk) { resolve(chunk.toString()); } @@ -226,16 +219,18 @@ export async function createRandomLocalFile( } ws.on("open", () => { - // tslint:disable-next-line:no-empty - while (offsetInMB++ < blockNumber && ws.write(randomValueHex(offsetInMB))) {} + while (offsetInMB++ < blockNumber && ws.write(randomValueHex(offsetInMB))) { + /* empty */ + } if (offsetInMB >= blockNumber) { ws.end(); } }); ws.on("drain", () => { - // tslint:disable-next-line:no-empty - while (offsetInMB++ < blockNumber && ws.write(randomValueHex(offsetInMB))) {} + while (offsetInMB++ < blockNumber && ws.write(randomValueHex(offsetInMB))) { + /* empty */ + } if (offsetInMB >= blockNumber) { ws.end(); } diff --git a/sdk/storage/storage-blob/test/utils/testutils.common.ts b/sdk/storage/storage-blob/test/utils/testutils.common.ts index 649db981499a..221da1645178 100644 --- a/sdk/storage/storage-blob/test/utils/testutils.common.ts +++ b/sdk/storage/storage-blob/test/utils/testutils.common.ts @@ -3,7 +3,7 @@ import { padStart } from "../../src/utils/utils.common"; import { TokenCredential, GetTokenOptions, AccessToken } from "@azure/core-http"; -import { isPlaybackMode, env, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { isPlaybackMode, env, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; export const testPollerProperties = { intervalInMs: isPlaybackMode() ? 0 : undefined @@ -52,6 +52,11 @@ export const recorderEnvSetup: RecorderEnvironmentSetup = { recording.replace( new RegExp(env.ACCOUNT_SAS.match("(.*)&sig=(.*)")[2], "g"), `${mockAccountKey}` + ), + (recording: string): string => + recording.replace( + /Authorization: SharedKey [^\\]+/g, + "Authorization: SharedKey fakestorageaccount:pass123" ) ], // SAS token may contain sensitive information diff --git a/sdk/storage/storage-datalake/README.md b/sdk/storage/storage-datalake/README.md index 1167c504c5f4..2bf2bd926b9e 100644 --- a/sdk/storage/storage-datalake/README.md +++ b/sdk/storage/storage-datalake/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for DataLakeStorageClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/storage/storage-file-datalake/CHANGELOG.md b/sdk/storage/storage-file-datalake/CHANGELOG.md index 1d13bef65697..6562f5a6c4a0 100644 --- a/sdk/storage/storage-file-datalake/CHANGELOG.md +++ b/sdk/storage/storage-file-datalake/CHANGELOG.md @@ -1,12 +1,20 @@ # Release History -## 12.7.0-beta.1 (2021-07-28) +## 12.7.1 (Unreleased) ### Features Added -- Added support for service version 2020-10-02. -- Added support for Parquet as an input format in `DataLakeFileClient.query()`. -- With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 12.7.0 (2021-09-10) + +### Features Added + +- Includes all features released in 12.7.0-beta.1. ## 12.6.0 (2021-08-02) @@ -14,6 +22,14 @@ - Changed TS compilation target to ES2017 in order to produce smaller bundles and use more native platform features - Updated our internal core package dependencies to their latest versions in order to add support for Opentelemetry 1.0.0 which is compatible with the latest versions of our other client libraries. +## 12.7.0-beta.1 (2021-07-28) + +### Features Added + +- Added support for service version 2020-10-02. +- Added support for Parquet as an input format in `DataLakeFileClient.query()`. +- With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. + ## 12.5.0 (2021-06-09) - Includes all features released in 12.5.0-beta.1. diff --git a/sdk/storage/storage-file-datalake/execute-samples.js b/sdk/storage/storage-file-datalake/execute-samples.js index 1be5a09ada90..ec6fd4e52545 100644 --- a/sdk/storage/storage-file-datalake/execute-samples.js +++ b/sdk/storage/storage-file-datalake/execute-samples.js @@ -63,7 +63,7 @@ async function runSamples(language) { await exec(`${cmd} ${files[i]}`, directory); console.log(`${g(files[i] + " is done..!")}`); } catch (error) { - console.log(error.message); + console.log(error.shortMessage); console.log(`${r(del)}\n${del}`); console.log(`${bDel}\t${files[i]} Sample - FAILED\t `); console.log(`${del}\n${r(del)}`); diff --git a/sdk/storage/storage-file-datalake/karma.conf.js b/sdk/storage/storage-file-datalake/karma.conf.js index 7f67e9245a9d..c5c13f87fa5e 100644 --- a/sdk/storage/storage-file-datalake/karma.conf.js +++ b/sdk/storage/storage-file-datalake/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/storage/storage-file-datalake/package.json b/sdk/storage/storage-file-datalake/package.json index 09dc68f93a2d..fff298a8c71a 100644 --- a/sdk/storage/storage-file-datalake/package.json +++ b/sdk/storage/storage-file-datalake/package.json @@ -1,6 +1,6 @@ { "name": "@azure/storage-file-datalake", - "version": "12.7.0-beta.1", + "version": "12.7.1", "description": "Microsoft Azure Storage SDK for JavaScript - DataLake", "sdk-type": "client", "main": "./dist/index.js", @@ -37,7 +37,7 @@ "build:prep-samples": "dev-tool samples prep && cd dist-samples && tsc", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", "build:types": "downlevel-dts typings/latest typings/3.1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings temp statistics.html coverage coverage-browser .nyc_output *.tgz *.log test*.xml TEST*.xml", "clean:samples": "rimraf samples/javascript/node_modules samples/typescript/node_modules samples/typescript/dist samples/typescript/package-lock.json samples/javascript/package-lock.json", @@ -48,9 +48,8 @@ "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --full-trace -t 120000 \"dist-esm/storage-file-datalake/test/*.spec.js\" \"dist-esm/storage-file-datalake/test/node/*.spec.js\"", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", - "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o storage-file-datalake-lintReport.html || exit 0", + "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -111,16 +110,16 @@ "@azure/core-paging": "^1.1.1", "@azure/core-tracing": "1.0.0-preview.13", "@azure/logger": "^1.0.0", - "@azure/storage-blob": "^12.8.0-beta.1", + "@azure/storage-blob": "^12.8.0", "events": "^3.0.0", "tslib": "^2.2.0" }, "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@azure/test-utils-perfstress": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", @@ -130,7 +129,6 @@ "@rollup/plugin-replace": "^2.2.0", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", - "@types/query-string": "6.2.0", "assert": "^1.4.1", "cross-env": "^7.0.2", "dotenv": "^8.2.0", @@ -138,7 +136,7 @@ "es6-promise": "^4.2.5", "eslint": "^7.15.0", "esm": "^3.2.18", - "execa": "^3.3.0", + "execa": "^5.0.0", "inherits": "^2.0.3", "karma": "^6.2.0", "karma-chrome-launcher": "^3.0.0", @@ -157,8 +155,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", - "query-string": "^5.0.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", @@ -166,7 +163,7 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "util": "^0.12.1", "typedoc": "0.15.2" diff --git a/sdk/storage/storage-file-datalake/review/storage-file-datalake.api.md b/sdk/storage/storage-file-datalake/review/storage-file-datalake.api.md index 5d9c64e92ec8..1645cca43769 100644 --- a/sdk/storage/storage-file-datalake/review/storage-file-datalake.api.md +++ b/sdk/storage/storage-file-datalake/review/storage-file-datalake.api.md @@ -27,7 +27,6 @@ import { LeaseOperationResponse } from '@azure/storage-blob'; import { ModifiedAccessConditions as ModifiedAccessConditions_2 } from '@azure/storage-blob'; import { OperationTracingOptions } from '@azure/core-tracing'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; -import { Pipeline as Pipeline_2 } from '@azure/storage-blob'; import { ProxyOptions } from '@azure/core-http'; import { Readable } from 'stream'; import { RequestPolicy } from '@azure/core-http'; @@ -1809,7 +1808,7 @@ export interface PathUpdateHeaders { } // @public -export class Pipeline extends Pipeline_2 { +export class Pipeline { constructor(factories: RequestPolicyFactory[], options?: PipelineOptions); readonly factories: RequestPolicyFactory[]; readonly options: PipelineOptions; diff --git a/sdk/storage/storage-file-datalake/src/DataLakeFileSystemClient.ts b/sdk/storage/storage-file-datalake/src/DataLakeFileSystemClient.ts index f75b0027bcbd..de96be9c1e1d 100644 --- a/sdk/storage/storage-file-datalake/src/DataLakeFileSystemClient.ts +++ b/sdk/storage/storage-file-datalake/src/DataLakeFileSystemClient.ts @@ -83,6 +83,8 @@ export class DataLakeFileSystemClient extends StorageClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ); @@ -104,6 +106,8 @@ export class DataLakeFileSystemClient extends StorageClient { | AnonymousCredential | TokenCredential | Pipeline, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { if (credentialOrPipeline instanceof Pipeline) { @@ -139,6 +143,8 @@ export class DataLakeFileSystemClient extends StorageClient { * * @param directoryName - */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public getDirectoryClient(directoryName: string): DataLakeDirectoryClient { return new DataLakeDirectoryClient( appendToURLPath(this.url, encodeURIComponent(directoryName)), @@ -151,6 +157,8 @@ export class DataLakeFileSystemClient extends StorageClient { * * @param fileName - */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public getFileClient(fileName: string): DataLakeFileClient { return new DataLakeFileClient( appendToURLPath(this.url, encodeURIComponent(fileName)), @@ -754,7 +762,7 @@ export class DataLakeFileSystemClient extends StorageClient { }); } - if (!(response.nextMarker == undefined || response.nextMarker === "")) { + if (!(response.nextMarker === undefined || response.nextMarker === "")) { response.continuation = response.nextMarker; } diff --git a/sdk/storage/storage-file-datalake/src/DataLakeServiceClient.ts b/sdk/storage/storage-file-datalake/src/DataLakeServiceClient.ts index 38f0960bbd8a..2b9dc2cdfb78 100644 --- a/sdk/storage/storage-file-datalake/src/DataLakeServiceClient.ts +++ b/sdk/storage/storage-file-datalake/src/DataLakeServiceClient.ts @@ -66,7 +66,14 @@ export class DataLakeServiceClient extends StorageClient { * `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString` * @param options - Optional. Options to configure the HTTP pipeline. */ - public static fromConnectionString(connectionString: string, options?: StoragePipelineOptions) { + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ + public static fromConnectionString( + connectionString: string, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ + options?: StoragePipelineOptions + ): DataLakeServiceClient { options = options || {}; const extractedCreds = extractConnectionStringParts(connectionString); if (extractedCreds.kind === "AccountConnString") { @@ -106,6 +113,8 @@ export class DataLakeServiceClient extends StorageClient { public constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ); @@ -127,6 +136,8 @@ export class DataLakeServiceClient extends StorageClient { | AnonymousCredential | TokenCredential | Pipeline, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { if (credentialOrPipeline instanceof Pipeline) { @@ -152,6 +163,8 @@ export class DataLakeServiceClient extends StorageClient { * * @param fileSystemName - File system name. */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public getFileSystemClient(fileSystemName: string): DataLakeFileSystemClient { return new DataLakeFileSystemClient( appendToURLPath(this.url, encodeURIComponent(fileSystemName)), @@ -351,6 +364,7 @@ export class DataLakeServiceClient extends StorageClient { * @param destinationContainerName - The new name of the File System. * @param options - Options to configure File System Rename operation. */ + /* eslint-disable-next-line @typescript-eslint/ban-ts-comment */ // @ts-ignore Need to hide this interface for now. Make it public and turn on the live tests for it when the service is ready. private async renameFileSystem( sourceFileSystemName: string, diff --git a/sdk/storage/storage-file-datalake/src/Pipeline.ts b/sdk/storage/storage-file-datalake/src/Pipeline.ts index e25a50898f35..f3efa1f6e05e 100644 --- a/sdk/storage/storage-file-datalake/src/Pipeline.ts +++ b/sdk/storage/storage-file-datalake/src/Pipeline.ts @@ -34,7 +34,6 @@ import { logger } from "./log"; import { StorageBrowserPolicyFactory } from "./StorageBrowserPolicyFactory"; import { StorageRetryOptions, StorageRetryPolicyFactory } from "./StorageRetryPolicyFactory"; import { TelemetryPolicyFactory } from "./TelemetryPolicyFactory"; -import { Pipeline as BlobPipeline } from "@azure/storage-blob"; import { StorageDataLakeLoggingAllowedHeaderNames, StorageDataLakeLoggingAllowedQueryParameters, @@ -42,9 +41,6 @@ import { } from "./utils/constants"; import { getCachedDefaultHttpClient } from "./utils/cache"; -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - // Export following interfaces and types for customers who want to implement their // own RequestPolicy or HTTPClient export { @@ -79,7 +75,7 @@ export interface PipelineOptions { * Refer to {@link newPipeline} and provided policies before implementing your * customized Pipeline. */ -export class Pipeline extends BlobPipeline { +export class Pipeline { /** * A list of chained request policy factories. */ @@ -96,7 +92,6 @@ export class Pipeline extends BlobPipeline { * @param options - */ constructor(factories: RequestPolicyFactory[], options: PipelineOptions = {}) { - super(factories, options); this.factories = factories; // when options.httpClient is not specified, passing in a DefaultHttpClient instance to // avoid each client creating its own http client. diff --git a/sdk/storage/storage-file-datalake/src/clients.ts b/sdk/storage/storage-file-datalake/src/clients.ts index 28e06214546d..c7f3bb6c3dd5 100644 --- a/sdk/storage/storage-file-datalake/src/clients.ts +++ b/sdk/storage/storage-file-datalake/src/clients.ts @@ -219,6 +219,8 @@ export class DataLakePathClient extends StorageClient { public constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ); @@ -240,6 +242,8 @@ export class DataLakePathClient extends StorageClient { | AnonymousCredential | TokenCredential | Pipeline, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { if (credentialOrPipeline instanceof Pipeline) { @@ -282,6 +286,8 @@ export class DataLakePathClient extends StorageClient { * Convert current DataLakePathClient to DataLakeDirectoryClient if current path is a directory. * */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public toDirectoryClient(): DataLakeDirectoryClient { return new DataLakeDirectoryClient(this.dfsEndpointUrl, this.pipeline); } @@ -290,6 +296,8 @@ export class DataLakePathClient extends StorageClient { * Convert current DataLakePathClient to DataLakeFileClient if current path is a file. * */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public toFileClient(): DataLakeFileClient { return new DataLakeFileClient(this.dfsEndpointUrl, this.pipeline); } @@ -1018,6 +1026,8 @@ export class DataLakeDirectoryClient extends DataLakePathClient { * * @param fileName - */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public getFileClient(fileName: string): DataLakeFileClient { return new DataLakeFileClient( appendToURLPath(this.url, encodeURIComponent(fileName)), @@ -1090,6 +1100,8 @@ export class DataLakeFileClient extends DataLakePathClient { public constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ); @@ -1111,6 +1123,8 @@ export class DataLakeFileClient extends DataLakePathClient { | AnonymousCredential | TokenCredential | Pipeline, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { if (credentialOrPipeline instanceof Pipeline) { @@ -1428,17 +1442,19 @@ export class DataLakeFileClient extends DataLakePathClient { */ public async uploadFile( filePath: string, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options: FileParallelUploadOptions = {} ): Promise { const { span, updatedOptions } = createSpan("DataLakeFileClient-uploadFile", options); try { const size = (await fsStat(filePath)).size; return await this.uploadSeekableInternal( - (offset: number, size: number) => { + (offset: number, contentSize: number) => { return () => fsCreateReadStream(filePath, { autoClose: true, - end: offset + size - 1, + end: offset + contentSize - 1, start: offset }); }, diff --git a/sdk/storage/storage-file-datalake/src/credentials/Credential.ts b/sdk/storage/storage-file-datalake/src/credentials/Credential.ts index ec1bee135c2c..bd795dcd129d 100644 --- a/sdk/storage/storage-file-datalake/src/credentials/Credential.ts +++ b/sdk/storage/storage-file-datalake/src/credentials/Credential.ts @@ -15,12 +15,7 @@ export abstract class Credential implements RequestPolicyFactory { * @param _nextPolicy - * @param _options - */ - public create( - // tslint:disable-next-line:variable-name - _nextPolicy: RequestPolicy, - // tslint:disable-next-line:variable-name - _options: RequestPolicyOptions - ): RequestPolicy { + public create(_nextPolicy: RequestPolicy, _options: RequestPolicyOptions): RequestPolicy { throw new Error("Method should be implemented in children classes."); } } diff --git a/sdk/storage/storage-file-datalake/src/generated/src/storageClientContext.ts b/sdk/storage/storage-file-datalake/src/generated/src/storageClientContext.ts index 2948e1867efc..0f6bc7ecc4b4 100644 --- a/sdk/storage/storage-file-datalake/src/generated/src/storageClientContext.ts +++ b/sdk/storage/storage-file-datalake/src/generated/src/storageClientContext.ts @@ -10,7 +10,7 @@ import * as coreHttp from "@azure/core-http"; import { StorageClientOptionalParams } from "./models"; const packageName = "azure-storage-datalake"; -const packageVersion = "12.7.0-beta.1"; +const packageVersion = "12.7.1"; export class StorageClientContext extends coreHttp.ServiceClient { url: string; diff --git a/sdk/storage/storage-file-datalake/src/policies/AnonymousCredentialPolicy.ts b/sdk/storage/storage-file-datalake/src/policies/AnonymousCredentialPolicy.ts index 08e4118ad4c0..c000a4fd70fd 100644 --- a/sdk/storage/storage-file-datalake/src/policies/AnonymousCredentialPolicy.ts +++ b/sdk/storage/storage-file-datalake/src/policies/AnonymousCredentialPolicy.ts @@ -15,6 +15,9 @@ export class AnonymousCredentialPolicy extends CredentialPolicy { * @param nextPolicy - * @param options - */ + + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } diff --git a/sdk/storage/storage-file-datalake/src/policies/StorageBrowserPolicy.ts b/sdk/storage/storage-file-datalake/src/policies/StorageBrowserPolicy.ts index 6381a2e16927..0eeab525fb80 100644 --- a/sdk/storage/storage-file-datalake/src/policies/StorageBrowserPolicy.ts +++ b/sdk/storage/storage-file-datalake/src/policies/StorageBrowserPolicy.ts @@ -29,6 +29,9 @@ export class StorageBrowserPolicy extends BaseRequestPolicy { * @param nextPolicy - * @param options - */ + + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } diff --git a/sdk/storage/storage-file-datalake/src/policies/StorageRetryPolicy.ts b/sdk/storage/storage-file-datalake/src/policies/StorageRetryPolicy.ts index f6a0cb8a38f3..a5fa84b77a98 100644 --- a/sdk/storage/storage-file-datalake/src/policies/StorageRetryPolicy.ts +++ b/sdk/storage/storage-file-datalake/src/policies/StorageRetryPolicy.ts @@ -178,7 +178,7 @@ export class StorageRetryPolicy extends BaseRequestPolicy { } await this.delay(isPrimaryRetry, attempt, request.abortSignal); - return await this.attemptSendRequest(request, secondaryHas404, ++attempt); + return this.attemptSendRequest(request, secondaryHas404, ++attempt); } /** diff --git a/sdk/storage/storage-file-datalake/src/policies/StorageSharedKeyCredentialPolicy.ts b/sdk/storage/storage-file-datalake/src/policies/StorageSharedKeyCredentialPolicy.ts index 2e964954fc3e..5b2c321d2ce3 100644 --- a/sdk/storage/storage-file-datalake/src/policies/StorageSharedKeyCredentialPolicy.ts +++ b/sdk/storage/storage-file-datalake/src/policies/StorageSharedKeyCredentialPolicy.ts @@ -160,7 +160,7 @@ export class StorageSharedKeyCredentialPolicy extends CredentialPolicy { if (queries) { const queryKeys: string[] = []; for (const key in queries) { - if (queries.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(queries, key)) { const lowercaseKey = key.toLowerCase(); lowercaseQueries[lowercaseKey] = queries[key]; queryKeys.push(lowercaseKey); diff --git a/sdk/storage/storage-file-datalake/src/sas/DirectorySASPermissions.ts b/sdk/storage/storage-file-datalake/src/sas/DirectorySASPermissions.ts index 910049076bd7..d1c0458ad442 100644 --- a/sdk/storage/storage-file-datalake/src/sas/DirectorySASPermissions.ts +++ b/sdk/storage/storage-file-datalake/src/sas/DirectorySASPermissions.ts @@ -15,7 +15,7 @@ export class DirectorySASPermissions { * * @param permissions - */ - public static parse(permissions: string) { + public static parse(permissions: string): DirectorySASPermissions { const directorySASPermissions = new DirectorySASPermissions(); for (const char of permissions) { diff --git a/sdk/storage/storage-file-datalake/src/sas/FileSystemSASPermissions.ts b/sdk/storage/storage-file-datalake/src/sas/FileSystemSASPermissions.ts index 4b7f4534fd05..dac912fc7c1f 100644 --- a/sdk/storage/storage-file-datalake/src/sas/FileSystemSASPermissions.ts +++ b/sdk/storage/storage-file-datalake/src/sas/FileSystemSASPermissions.ts @@ -15,7 +15,7 @@ export class FileSystemSASPermissions { * * @param permissions - */ - public static parse(permissions: string) { + public static parse(permissions: string): FileSystemSASPermissions { const containerSASPermissions = new FileSystemSASPermissions(); for (const char of permissions) { diff --git a/sdk/storage/storage-file-datalake/src/sas/SASQueryParameters.ts b/sdk/storage/storage-file-datalake/src/sas/SASQueryParameters.ts index 17543fd25680..5a473f74b9f1 100644 --- a/sdk/storage/storage-file-datalake/src/sas/SASQueryParameters.ts +++ b/sdk/storage/storage-file-datalake/src/sas/SASQueryParameters.ts @@ -119,7 +119,7 @@ export interface SASQueryParametersOptions { /** * Represents the components that make up an Azure Storage SAS' query parameters. This type is not constructed directly * by the user; it is only generated by the {@link AccountSASSignatureValues} and {@link BlobSASSignatureValues} - * types. Once generated, it can be encoded into a {@code String} and appended to a URL directly (though caution should + * types. Once generated, it can be encoded into a {@link String} and appended to a URL directly (though caution should * be taken here in case there are existing query parameters, which might affect the appropriate means of appending * these query parameters). * diff --git a/sdk/storage/storage-file-datalake/src/transforms.ts b/sdk/storage/storage-file-datalake/src/transforms.ts index 790da25f449e..8600882e732d 100644 --- a/sdk/storage/storage-file-datalake/src/transforms.ts +++ b/sdk/storage/storage-file-datalake/src/transforms.ts @@ -189,7 +189,7 @@ export function toProperties(metadata?: Metadata): string | undefined { const properties = []; for (const key in metadata) { - if (metadata.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(metadata, key)) { const value = metadata[key]; properties.push(`${key}=${base64encode(value)}`); } @@ -440,9 +440,9 @@ export function toPermissionsString(permissions: PathPermissions): string { } export function toAccessControlChangeFailureArray( - aclFailedEntry: AclFailedEntry[] = [] + aclFailedEntries: AclFailedEntry[] = [] ): AccessControlChangeError[] { - return aclFailedEntry.map((aclFailedEntry: AclFailedEntry) => { + return aclFailedEntries.map((aclFailedEntry: AclFailedEntry) => { return { name: aclFailedEntry.name || "", isDirectory: (aclFailedEntry.type || "").toLowerCase() === "directory", diff --git a/sdk/storage/storage-file-datalake/src/utils/constants.ts b/sdk/storage/storage-file-datalake/src/utils/constants.ts index 5265af2b5806..ca568711b6e5 100644 --- a/sdk/storage/storage-file-datalake/src/utils/constants.ts +++ b/sdk/storage/storage-file-datalake/src/utils/constants.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "12.7.0-beta.1"; +export const SDK_VERSION: string = "12.7.1"; export const SERVICE_VERSION: string = "2020-10-02"; export const KB: number = 1024; diff --git a/sdk/storage/storage-file-datalake/src/utils/tracing.ts b/sdk/storage/storage-file-datalake/src/utils/tracing.ts index 813205ce04af..05fc2fe5da93 100644 --- a/sdk/storage/storage-file-datalake/src/utils/tracing.ts +++ b/sdk/storage/storage-file-datalake/src/utils/tracing.ts @@ -24,7 +24,8 @@ export function convertTracingToRequestOptionsBase( options?: OperationOptions ): Pick { return { - spanOptions: options?.tracingOptions?.spanOptions, + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + spanOptions: (options?.tracingOptions as any)?.spanOptions, tracingContext: options?.tracingOptions?.tracingContext }; } diff --git a/sdk/storage/storage-file-datalake/src/utils/utils.browser.ts b/sdk/storage/storage-file-datalake/src/utils/utils.browser.ts index cb4bb4e62344..e233dbfcf693 100644 --- a/sdk/storage/storage-file-datalake/src/utils/utils.browser.ts +++ b/sdk/storage/storage-file-datalake/src/utils/utils.browser.ts @@ -33,6 +33,10 @@ export async function blobToString(blob: Blob): Promise { }); } -export const fsStat = function stat() {}; +export const fsStat = function stat(): void { + /* empty */ +}; -export const fsCreateReadStream = function createReadStream() {}; +export const fsCreateReadStream = function createReadStream(): void { + /* empty */ +}; diff --git a/sdk/storage/storage-file-datalake/src/utils/utils.common.ts b/sdk/storage/storage-file-datalake/src/utils/utils.common.ts index b18910abab2e..727e7ca21e7e 100644 --- a/sdk/storage/storage-file-datalake/src/utils/utils.common.ts +++ b/sdk/storage/storage-file-datalake/src/utils/utils.common.ts @@ -103,7 +103,7 @@ export function getValueInConnString( | "DefaultEndpointsProtocol" | "EndpointSuffix" | "SharedAccessSignature" -) { +): string { const elements = connectionString.split(";"); for (const element of elements) { if (element.trim().startsWith(argument)) { @@ -333,7 +333,7 @@ export function getURLPathAndQuery(url: string): string | undefined { let queryString = urlParsed.getQuery() || ""; queryString = queryString.trim(); - if (queryString != "") { + if (queryString !== "") { queryString = queryString.startsWith("?") ? queryString : `?${queryString}`; // Ensure query string start with '?' } @@ -450,7 +450,7 @@ export function generateBlockID(blockIDPrefix: string, blockIndex: number): stri } const res = blockIDPrefix + - padStart(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0"); + blockIndex.toString().padStart(maxSourceStringLength - blockIDPrefix.length, "0"); return base64encode(res); } @@ -461,8 +461,13 @@ export function generateBlockID(blockIDPrefix: string, blockIndex: number): stri * @param aborter - * @param abortError - */ -export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortError?: Error) { +export async function delay( + timeInMs: number, + aborter?: AbortSignalLike, + abortError?: Error +): Promise { return new Promise((resolve, reject) => { + /* eslint-disable-next-line prefer-const*/ let timeout: any; const abortHandler = () => { @@ -486,36 +491,6 @@ export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortEr }); } -/** - * String.prototype.padStart() - * - * @param currentString - - * @param targetLength - - * @param padString - - */ -export function padStart( - currentString: string, - targetLength: number, - padString: string = " " -): string { - // TS doesn't know this code needs to run downlevel sometimes. - // @ts-expect-error - if (String.prototype.padStart) { - return currentString.padStart(targetLength, padString); - } - - padString = padString || " "; - if (currentString.length > targetLength) { - return currentString; - } else { - targetLength = targetLength - currentString.length; - if (targetLength > padString.length) { - padString += padString.repeat(targetLength / padString.length); - } - return padString.slice(0, targetLength) + currentString; - } -} - export function sanitizeURL(url: string): string { let safeURL: string = url; if (getURLParameter(safeURL, UrlConstants.Parameters.SIGNATURE)) { @@ -578,12 +553,12 @@ export function getAccountNameFromUrl(blobEndpointUrl: string): string { } export function isIpEndpointStyle(parsedUrl: URLBuilder): boolean { - if (parsedUrl.getHost() == undefined) { + if (parsedUrl.getHost() === undefined) { return false; } const host = - parsedUrl.getHost()! + (parsedUrl.getPort() == undefined ? "" : ":" + parsedUrl.getPort()); + parsedUrl.getHost()! + (parsedUrl.getPort() === undefined ? "" : ":" + parsedUrl.getPort()); // Case 1: Ipv6, use a broad regex to find out candidates whose host contains two ':'. // Case 2: localhost(:port), use broad regex to match port part. diff --git a/sdk/storage/storage-file-datalake/swagger/README.md b/sdk/storage/storage-file-datalake/swagger/README.md index 4fabb969592b..7683dd875bd3 100644 --- a/sdk/storage/storage-file-datalake/swagger/README.md +++ b/sdk/storage/storage-file-datalake/swagger/README.md @@ -20,7 +20,7 @@ disable-async-iterators: true add-credentials: false use-extension: "@autorest/typescript": "6.0.0-dev.20210223.1" -package-version: 12.7.0-beta.1 +package-version: 12.7.1 ``` ## Customizations for Track 2 Generator diff --git a/sdk/storage/storage-file-datalake/test/aborter.spec.ts b/sdk/storage/storage-file-datalake/test/aborter.spec.ts index 86d07efe5d8f..11098e83d523 100644 --- a/sdk/storage/storage-file-datalake/test/aborter.spec.ts +++ b/sdk/storage/storage-file-datalake/test/aborter.spec.ts @@ -6,18 +6,18 @@ import * as assert from "assert"; import { AbortController, AbortSignal } from "@azure/abort-controller"; import { DataLakeFileSystemClient } from "../src"; import { getDataLakeServiceClient, recorderEnvSetup } from "./utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; dotenv.config(); -// tslint:disable:no-empty describe("Aborter", () => { let fileSystemName: string; let fileSystemClient: DataLakeFileSystemClient; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("container"); diff --git a/sdk/storage/storage-file-datalake/test/browser/highlevel.browser.spec.ts b/sdk/storage/storage-file-datalake/test/browser/highlevel.browser.spec.ts index 593ec4530418..eeee52bad465 100644 --- a/sdk/storage/storage-file-datalake/test/browser/highlevel.browser.spec.ts +++ b/sdk/storage/storage-file-datalake/test/browser/highlevel.browser.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; import * as dotenv from "dotenv"; import { DataLakeFileClient, DataLakeFileSystemClient } from "../../src"; @@ -15,6 +15,7 @@ import { } from "../utils/index.browser"; import { MB } from "../../src/utils/constants"; import { AbortController } from "@azure/abort-controller"; +import { Context } from "mocha"; dotenv.config(); @@ -29,7 +30,7 @@ describe("Highlevel browser only", () => { const tempFileSmallLength: number = 1 * MB - 1; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); @@ -39,22 +40,20 @@ describe("Highlevel browser only", () => { fileClient = fileSystemClient.getFileClient(fileName); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await fileSystemClient.delete(); await recorder.stop(); } }); - before(async function() { + before(async function(this: Context) { recorder = record(this, recorderEnvSetup); tempFileLarge = getBrowserFile(recorder.getUniqueName("browserfilesmall"), tempFileLargeLength); tempFileSmall = getBrowserFile(recorder.getUniqueName("browserfilelarge"), tempFileSmallLength); await recorder.stop(); }); - after(async () => {}); - it("upload should succeed with a single upload", async () => { recorder.skip("browser", "Temp file - recorder doesn't support saving the file"); await fileClient.upload(tempFileSmall); diff --git a/sdk/storage/storage-file-datalake/test/filesystemclient.spec.ts b/sdk/storage/storage-file-datalake/test/filesystemclient.spec.ts index c9706950ffae..6221c56b7089 100644 --- a/sdk/storage/storage-file-datalake/test/filesystemclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/filesystemclient.spec.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { SpanGraph, setTracer } from "@azure/test-utils"; -import { isLiveMode, record, Recorder } from "@azure/test-utils-recorder"; +import { isLiveMode, record, Recorder } from "@azure-tools/test-recorder"; import { setSpan, context } from "@azure/core-tracing"; import * as assert from "assert"; import * as dotenv from "dotenv"; @@ -21,6 +21,7 @@ import { recorderEnvSetup } from "./utils"; import { URLBuilder } from "@azure/core-http"; +import { Context } from "mocha"; dotenv.config(); @@ -31,7 +32,7 @@ describe("DataLakeFileSystemClient", () => { let recorder: Recorder; let serviceClient: DataLakeServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); @@ -447,7 +448,7 @@ describe("DataLakeFileSystemClient with soft delete", () => { let recorder: Recorder; let serviceClient: DataLakeServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); if (isLiveMode()) { @@ -466,7 +467,7 @@ describe("DataLakeFileSystemClient with soft delete", () => { }); afterEach(async function() { - if (fileSystemClient != undefined) { + if (fileSystemClient !== undefined) { await fileSystemClient.delete(); } await recorder.stop(); @@ -895,7 +896,10 @@ describe("DataLakeFileSystemClient with soft delete", () => { try { await fileSystemClient.undeletePath(fileName, firstDeleteResponse.deletionId ?? ""); assert.fail("Second undeletion should fail"); - } catch (err) {} + } catch (err) { + /* empty */ + // The test case here expects an expection, so the exception should not fail the case. + } }); it("Undelete file and directory with deleteIfExists", async () => { diff --git a/sdk/storage/storage-file-datalake/test/leaseclient.spec.ts b/sdk/storage/storage-file-datalake/test/leaseclient.spec.ts index 584120b1630e..f4035045e36e 100644 --- a/sdk/storage/storage-file-datalake/test/leaseclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/leaseclient.spec.ts @@ -1,9 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { delay, record, Recorder } from "@azure/test-utils-recorder"; +import { delay, record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; import { DataLakeFileClient, DataLakeDirectoryClient, DataLakeFileSystemClient } from "../src"; import { getDataLakeServiceClient, recorderEnvSetup } from "./utils"; @@ -16,7 +17,7 @@ describe("LeaseClient from FileSystem", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); @@ -148,7 +149,7 @@ describe("LeaseClient from File", () => { let fileClient: DataLakeFileClient; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); @@ -271,7 +272,7 @@ describe("LeaseClient from Directory", () => { let directoryClient: DataLakeDirectoryClient; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); diff --git a/sdk/storage/storage-file-datalake/test/node/filesystemclient.spec.ts b/sdk/storage/storage-file-datalake/test/node/filesystemclient.spec.ts index 0cbd89c9e20f..7f06a9d7214b 100644 --- a/sdk/storage/storage-file-datalake/test/node/filesystemclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/filesystemclient.spec.ts @@ -2,8 +2,9 @@ // Licensed under the MIT license. import { TokenCredential } from "@azure/core-http"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; +import { Context } from "mocha"; import { DataLakeFileSystemClient, @@ -20,7 +21,7 @@ describe("DataLakeFileSystemClient Node.js only", () => { let fileSystemClient: DataLakeFileSystemClient; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); diff --git a/sdk/storage/storage-file-datalake/test/node/highlevel.node.spec.ts b/sdk/storage/storage-file-datalake/test/node/highlevel.node.spec.ts index 98f2f41e5517..adddd92dc2b8 100644 --- a/sdk/storage/storage-file-datalake/test/node/highlevel.node.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/highlevel.node.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; import * as dotenv from "dotenv"; import * as fs from "fs"; @@ -21,10 +21,10 @@ import { FILE_UPLOAD_MAX_CHUNK_SIZE } from "../../src/utils/constants"; import { readStreamToLocalFileWithLogs } from "../../test/utils/testutils.node"; -const { Readable } = require("stream"); import { AbortController } from "@azure/abort-controller"; -import { PassThrough } from "stream"; +import { Readable, PassThrough } from "stream"; import { streamToBuffer2 } from "../../src/utils/utils.node"; +import { Context } from "mocha"; dotenv.config(); describe("Highlevel Node.js only", () => { @@ -41,7 +41,7 @@ describe("Highlevel Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient({ keepAliveOptions: { @@ -55,14 +55,14 @@ describe("Highlevel Node.js only", () => { fileClient = fileSystemClient.getFileClient(fileName); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await fileSystemClient.delete(); await recorder.stop(); } }); - before(async function() { + before(async function(this: Context) { recorder = record(this, recorderEnvSetup); if (!fs.existsSync(tempFolderPath)) { fs.mkdirSync(tempFolderPath); @@ -75,7 +75,7 @@ describe("Highlevel Node.js only", () => { await recorder.stop(); }); - after(async function() { + after(async function(this: Context) { recorder = record(this, recorderEnvSetup); fs.unlinkSync(tempFileLarge); fs.unlinkSync(tempFileSmall); diff --git a/sdk/storage/storage-file-datalake/test/node/pathclient.spec.ts b/sdk/storage/storage-file-datalake/test/node/pathclient.spec.ts index 7e3295ba0568..75d55a09f8c9 100644 --- a/sdk/storage/storage-file-datalake/test/node/pathclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/pathclient.spec.ts @@ -2,9 +2,10 @@ // Licensed under the MIT license. import { AbortController } from "@azure/abort-controller"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; import { join } from "path"; import { @@ -37,7 +38,7 @@ describe("DataLakePathClient Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); @@ -429,8 +430,8 @@ describe("DataLakePathClient Node.js only", () => { }); }); - it("query should work with Parquet input configuration", async function() { - //Enable the case when STG78 - version 2020-10-02 features is enabled in production. + it("query should work with Parquet input configuration", async function(this: Context) { + // Enable the case when STG78 - version 2020-10-02 features is enabled in production. this.skip(); const parquetFilePath = join("test", "resources", "parquet.parquet"); @@ -457,7 +458,7 @@ describe("DataLakePathClient setAccessControlRecursive Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); diff --git a/sdk/storage/storage-file-datalake/test/node/sas.spec.ts b/sdk/storage/storage-file-datalake/test/node/sas.spec.ts index 4523f47e6cea..d695a756842b 100644 --- a/sdk/storage/storage-file-datalake/test/node/sas.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/sas.spec.ts @@ -2,8 +2,9 @@ // Licensed under the MIT license. import { UserDelegationKey } from "@azure/storage-blob"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; +import { Context } from "mocha"; import { AccountSASPermissions, @@ -37,7 +38,7 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { let recorder: Recorder; let serviceClient: DataLakeServiceClient; - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); serviceClient = getDataLakeServiceClient(); }); @@ -216,12 +217,13 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { newPipeline(new AnonymousCredential()) ); - ( + const result = ( await fileSystemClientwithSAS .listPaths() .byPage() .next() ).value; + assert.deepStrictEqual(result.pathItems.length, 0); await fileSystemClient.delete(); }); @@ -516,13 +518,15 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { await fileSystemClient.delete(); }); - it("GenerateUserDelegationSAS should work for filesystem with all configurations", async function() { + it("GenerateUserDelegationSAS should work for filesystem with all configurations", async function(this: Context) { // Try to get DataLakeServiceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variable is set let serviceClientWithToken: DataLakeServiceClient | undefined; try { serviceClientWithToken = getDataLakeServiceClientWithDefaultCredential(); - } catch {} + } catch { + this.skip(); + } // Requires bearer token for this case which cannot be generated in the runtime // Make sure this case passed in sanity test @@ -565,22 +569,25 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { newPipeline(new AnonymousCredential()) ); - ( + const result = ( await fileSystemClientwithSAS .listPaths() .byPage() .next() ).value; + assert.deepStrictEqual(result.pathItems.length, 0); await fileSystemClient.delete(); }); - it("GenerateUserDelegationSAS should work for filesystem with minimum parameters", async function() { + it("GenerateUserDelegationSAS should work for filesystem with minimum parameters", async function(this: Context) { // Try to get DataLakeServiceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variable is set let serviceClientWithToken: DataLakeServiceClient | undefined; try { serviceClientWithToken = getDataLakeServiceClientWithDefaultCredential(); - } catch {} + } catch { + this.skip(); + } // Requires bearer token for this case which cannot be generated in the runtime // Make sure this case passed in sanity test @@ -619,22 +626,25 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { newPipeline(new AnonymousCredential()) ); - ( + const result = ( await fileSystemClientwithSAS .listPaths() .byPage() .next() ).value; + assert.deepStrictEqual(result.pathItems.length, 0); await fileSystemClient.delete(); }); - it("GenerateUserDelegationSAS should work for file", async function() { + it("GenerateUserDelegationSAS should work for file", async function(this: Context) { // Try to get serviceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variable is set let serviceClientWithToken: DataLakeServiceClient | undefined; try { serviceClientWithToken = getDataLakeServiceClientWithDefaultCredential(); - } catch {} + } catch { + this.skip(); + } // Requires bearer token for this case which cannot be generated in the runtime // Make sure this case passed in sanity test @@ -700,13 +710,15 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { await fileSystemClient.delete(); }); - it("GenerateUserDelegationSAS should work for file for 2019-12-12", async function() { + it("GenerateUserDelegationSAS should work for file for 2019-12-12", async function(this: Context) { // Try to get serviceClient object with DefaultCredential // when AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET environment variable is set let serviceClientWithToken: DataLakeServiceClient | undefined; try { serviceClientWithToken = getDataLakeServiceClientWithDefaultCredential(); - } catch {} + } catch { + this.skip(); + } // Requires bearer token for this case which cannot be generated in the runtime // Make sure this case passed in sanity test @@ -934,7 +946,7 @@ describe("SAS generation Node.js only for directory SAS", () => { } }; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); serviceClient = getDataLakeServiceClient(); @@ -1248,7 +1260,7 @@ describe("SAS generation Node.js only for delegation SAS", () => { } }; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); accountName = process.env["DFS_ACCOUNT_NAME"] || ""; try { diff --git a/sdk/storage/storage-file-datalake/test/node/serviceclient.spec.ts b/sdk/storage/storage-file-datalake/test/node/serviceclient.spec.ts index e871ba065ca3..56b9c002cd69 100644 --- a/sdk/storage/storage-file-datalake/test/node/serviceclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/serviceclient.spec.ts @@ -1,9 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; import { DataLakeServiceClient } from "../../src"; import { recorderEnvSetup, getConnectionStringFromEnvironment } from "../utils"; @@ -13,7 +14,7 @@ dotenv.config(); describe("DataLakeServiceClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-file-datalake/test/pathclient.spec.ts b/sdk/storage/storage-file-datalake/test/pathclient.spec.ts index 0e09bb2e7848..d00cf211fb59 100644 --- a/sdk/storage/storage-file-datalake/test/pathclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/pathclient.spec.ts @@ -4,7 +4,7 @@ import { AbortController } from "@azure/abort-controller"; import { isNode, URLBuilder, delay } from "@azure/core-http"; import { SpanGraph, setTracer } from "@azure/test-utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { setSpan, context } from "@azure/core-tracing"; import * as assert from "assert"; import * as dotenv from "dotenv"; @@ -12,6 +12,7 @@ import * as dotenv from "dotenv"; import { DataLakeFileClient, DataLakeFileSystemClient } from "../src"; import { toPermissionsString } from "../src/transforms"; import { bodyToString, getDataLakeServiceClient, recorderEnvSetup } from "./utils"; +import { Context } from "mocha"; dotenv.config(); @@ -24,7 +25,7 @@ describe("DataLakePathClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); @@ -197,16 +198,16 @@ describe("DataLakePathClient", () => { it("verify fileName and fileSystemName passed to the client", async () => { const accountName = "myaccount"; - const fileName = "file/part/1.txt"; + const path = "file/part/1.txt"; const newClient = new DataLakeFileClient( - `https://${accountName}.dfs.core.windows.net/` + fileSystemName + "/" + fileName + `https://${accountName}.dfs.core.windows.net/` + fileSystemName + "/" + path ); assert.equal( newClient.fileSystemName, fileSystemName, "File system name is not the same as the one provided." ); - assert.equal(newClient.name, fileName, "File name is not the same as the one provided."); + assert.equal(newClient.name, path, "File name is not the same as the one provided."); assert.equal( newClient.accountName, accountName, @@ -217,8 +218,8 @@ describe("DataLakePathClient", () => { it("append & flush should work", async () => { const body = "HelloWorld"; - const fileName = recorder.getUniqueName("tempfile2"); - const tempFileClient = fileSystemClient.getFileClient(fileName); + const tempFileName = recorder.getUniqueName("tempfile2"); + const tempFileClient = fileSystemClient.getFileClient(tempFileName); await tempFileClient.create(); @@ -243,8 +244,8 @@ describe("DataLakePathClient", () => { it("append & flush should work with all parameters", async () => { const body = "HelloWorld"; - const fileName = recorder.getUniqueName("tempfile2"); - const tempFileClient = fileSystemClient.getFileClient(fileName); + const tempFileName = recorder.getUniqueName("tempfile2"); + const tempFileClient = fileSystemClient.getFileClient(tempFileName); const permissions = { owner: { read: false, write: false, execute: false }, diff --git a/sdk/storage/storage-file-datalake/test/retrypolicy.spec.ts b/sdk/storage/storage-file-datalake/test/retrypolicy.spec.ts index 21d71c69e600..15b6ad3c58e4 100644 --- a/sdk/storage/storage-file-datalake/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-file-datalake/test/retrypolicy.spec.ts @@ -10,7 +10,8 @@ import { DataLakeFileSystemClient, RestError, DataLakeServiceClient } from "../s import { newPipeline, Pipeline } from "../src/Pipeline"; import { getDataLakeServiceClient, recorderEnvSetup } from "./utils"; import { InjectorPolicyFactory } from "./utils/InjectorPolicyFactory"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); @@ -20,7 +21,7 @@ describe("RetryPolicy", () => { let recorder: Recorder; let serviceClient: DataLakeServiceClient; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("container"); diff --git a/sdk/storage/storage-file-datalake/test/serviceclient.spec.ts b/sdk/storage/storage-file-datalake/test/serviceclient.spec.ts index 57eb724e538b..8d22cf42886b 100644 --- a/sdk/storage/storage-file-datalake/test/serviceclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/serviceclient.spec.ts @@ -1,9 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { delay, isLiveMode, record, Recorder } from "@azure/test-utils-recorder"; +import { delay, isLiveMode, record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; import { DataLakeServiceClient, @@ -24,7 +25,7 @@ dotenv.config(); describe("DataLakeServiceClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); @@ -38,6 +39,8 @@ describe("DataLakeServiceClient", () => { let serviceProperties: DataLakeServiceProperties; + // Need to determine serviceProperties's type before assigning. + /* eslint-disable-next-line prefer-const */ serviceProperties = { blobAnalyticsLogging: { deleteProperty: true, @@ -427,13 +430,15 @@ describe("DataLakeServiceClient", () => { // } // }); - it("getUserDelegationKey should work", async function() { + it("getUserDelegationKey should work", async function(this: Context) { // Try to get serviceURL object with TokenCredential // when DFS_ACCOUNT_TOKEN environment variable is set let serviceURLWithToken: DataLakeServiceClient | undefined; try { serviceURLWithToken = getTokenDataLakeServiceClient(); - } catch {} + } catch { + this.skip(); + } // Requires bearer token for this case which cannot be generated in the runtime // Make sure this case passed in sanity test @@ -470,7 +475,7 @@ describe("DataLakeServiceClient", () => { assert.ok(newClient.url.includes("dfs")); }); - it("renameFileSystem should work", async function() { + it("renameFileSystem should work", async function(this: Context) { if (isLiveMode()) { // Turn on this case when the Container Rename feature is ready in the service side. this.skip(); @@ -492,7 +497,7 @@ describe("DataLakeServiceClient", () => { await newFileSystemClient.delete(); }); - it("renameFileSystem should work with source lease", async function() { + it("renameFileSystem should work with source lease", async function(this: Context) { if (isLiveMode()) { // Turn on this case when the Container Rename feature is ready in the service side. this.skip(); @@ -519,7 +524,7 @@ describe("DataLakeServiceClient", () => { await newFileSystemClient.delete(); }); - it("undelete and list deleted file system should work", async function() { + it("undelete and list deleted file system should work", async function(this: Context) { let serviceClient: DataLakeServiceClient; try { serviceClient = getGenericDataLakeServiceClient("DFS_SOFT_DELETE_"); diff --git a/sdk/storage/storage-file-datalake/test/specialnaming.spec.ts b/sdk/storage/storage-file-datalake/test/specialnaming.spec.ts index 9e4d2081a37c..6eea81e1ab85 100644 --- a/sdk/storage/storage-file-datalake/test/specialnaming.spec.ts +++ b/sdk/storage/storage-file-datalake/test/specialnaming.spec.ts @@ -2,9 +2,10 @@ // Licensed under the MIT license. // import { DataLakeFileClient } from "../src"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as assert from "assert"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; import { DataLakeFileClient, DataLakeFileSystemClient } from "../src"; import { appendToURLPath } from "../src/utils/utils.common"; @@ -19,7 +20,7 @@ describe("Special Naming Tests", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("1container-with-dash"); diff --git a/sdk/storage/storage-file-datalake/test/utils.spec.ts b/sdk/storage/storage-file-datalake/test/utils.spec.ts index 28728928af8c..61ba518396e9 100644 --- a/sdk/storage/storage-file-datalake/test/utils.spec.ts +++ b/sdk/storage/storage-file-datalake/test/utils.spec.ts @@ -9,8 +9,9 @@ import { sanitizeURL, extractConnectionStringParts } from "../src/utils/utils.common"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "./utils"; +import { Context } from "mocha"; dotenv.config(); describe("Utility Helpers", () => { @@ -40,7 +41,7 @@ describe("Utility Helpers", () => { ); } - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-file-datalake/test/utils/assert.ts b/sdk/storage/storage-file-datalake/test/utils/assert.ts index 88cd43d602d2..562c49e69f64 100644 --- a/sdk/storage/storage-file-datalake/test/utils/assert.ts +++ b/sdk/storage/storage-file-datalake/test/utils/assert.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { StorageClient } from "../../src/StorageClient"; -export function assertClientUsesTokenCredential(client: StorageClient) { +export function assertClientUsesTokenCredential(client: StorageClient): void { const factories = (client as any).pipeline.factories; const authPolicy = factories[factories.length - 1].create(); assert.strictEqual(authPolicy.constructor.name, "BearerTokenAuthenticationPolicy"); diff --git a/sdk/storage/storage-file-datalake/test/utils/index.browser.ts b/sdk/storage/storage-file-datalake/test/utils/index.browser.ts index 1c7cdf5b7e62..ca103dd275f7 100644 --- a/sdk/storage/storage-file-datalake/test/utils/index.browser.ts +++ b/sdk/storage/storage-file-datalake/test/utils/index.browser.ts @@ -11,15 +11,14 @@ import { SimpleTokenCredential } from "./testutils.common"; export * from "./testutils.common"; export function getGenericCredential(accountType: string): AnonymousCredential { - accountType = accountType; // bypass compiling error + const _accountType = accountType; // bypass compiling error + accountType = _accountType; return new AnonymousCredential(); } export function getTokenCredential(): TokenCredential { const accountTokenEnvVar = `DFS_ACCOUNT_TOKEN`; - let accountToken: string | undefined; - - accountToken = (self as any).__env__[accountTokenEnvVar]; + const accountToken = (self as any).__env__[accountTokenEnvVar]; if (!accountToken || accountToken === "") { throw new Error(`${accountTokenEnvVar} environment variables not specified.`); @@ -35,9 +34,9 @@ export function getGenericDataLakeServiceClient( const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountSASEnvVar = `${accountType}ACCOUNT_SAS`; - let accountName: string | undefined; + const accountName = (self as any).__env__[accountNameEnvVar]; + let accountSAS: string | undefined; - accountName = (self as any).__env__[accountNameEnvVar]; accountSAS = (self as any).__env__[accountSASEnvVar]; if (!accountName || !accountSAS || accountName === "" || accountSAS === "") { @@ -61,10 +60,7 @@ export function getGenericDataLakeServiceClient( export function getTokenDataLakeServiceClient(): DataLakeServiceClient { const accountNameEnvVar = `DFS_ACCOUNT_NAME`; - - let accountName: string | undefined; - - accountName = (self as any).__env__[accountNameEnvVar]; + const accountName = (self as any).__env__[accountNameEnvVar]; if (!accountName || accountName === "") { throw new Error(`${accountNameEnvVar} environment variables not specified.`); @@ -99,7 +95,6 @@ export async function bodyToString( readableStreamBody?: NodeJS.ReadableStream; contentAsBlob?: Promise; }, - // tslint:disable-next-line:variable-name _length?: number ): Promise { const blob = await response.contentAsBlob!; diff --git a/sdk/storage/storage-file-datalake/test/utils/index.ts b/sdk/storage/storage-file-datalake/test/utils/index.ts index cf78354fa2e1..27a421e6789f 100644 --- a/sdk/storage/storage-file-datalake/test/utils/index.ts +++ b/sdk/storage/storage-file-datalake/test/utils/index.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { TokenCredential } from "@azure/core-http"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; import { randomBytes } from "crypto"; import * as dotenv from "dotenv"; import * as fs from "fs"; @@ -32,11 +32,8 @@ export function getGenericCredential(accountType: string): StorageSharedKeyCrede const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountKeyEnvVar = `${accountType}ACCOUNT_KEY`; - let accountName: string | undefined; - let accountKey: string | undefined; - - accountName = process.env[accountNameEnvVar]; - accountKey = process.env[accountKeyEnvVar]; + const accountName = process.env[accountNameEnvVar]; + const accountKey = process.env[accountKeyEnvVar]; if (!accountName || !accountKey || accountName === "" || accountKey === "") { throw new Error( @@ -49,9 +46,7 @@ export function getGenericCredential(accountType: string): StorageSharedKeyCrede export function getTokenCredential(): TokenCredential { const accountTokenEnvVar = `DFS_ACCOUNT_TOKEN`; - let accountToken: string | undefined; - - accountToken = process.env[accountTokenEnvVar]; + const accountToken = process.env[accountTokenEnvVar]; if (!accountToken || accountToken === "") { throw new Error(`${accountTokenEnvVar} environment variables not specified.`); @@ -66,12 +61,8 @@ export function getTokenCredential(): TokenCredential { export function getSASToken(accountType: string, sasValues: DataLakeSASSignatureValues): string { const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountKeyEnvVar = `${accountType}ACCOUNT_KEY`; - - let accountName: string | undefined; - let accountKey: string | undefined; - - accountName = process.env[accountNameEnvVar]; - accountKey = process.env[accountKeyEnvVar]; + const accountName = process.env[accountNameEnvVar]; + const accountKey = process.env[accountKeyEnvVar]; if (!accountName || !accountKey || accountName === "" || accountKey === "") { throw new Error( @@ -130,8 +121,7 @@ export function getGenericDataLakeServiceClient( export function getTokenDataLakeServiceClient(): DataLakeServiceClient { const accountNameEnvVar = `DFS_ACCOUNT_NAME`; - let accountName: string | undefined; - accountName = process.env[accountNameEnvVar]; + const accountName = process.env[accountNameEnvVar]; if (!accountName || accountName === "") { throw new Error(`${accountNameEnvVar} environment variables not specified.`); } @@ -199,8 +189,7 @@ export async function bodyToString( ): Promise { return new Promise((resolve, reject) => { response.readableStreamBody!.on("readable", () => { - let chunk; - chunk = response.readableStreamBody!.read(length); + const chunk = response.readableStreamBody!.read(length); if (chunk) { resolve(chunk.toString()); } @@ -230,16 +219,18 @@ export async function createRandomLocalFile( } ws.on("open", () => { - // tslint:disable-next-line:no-empty - while (offsetInMB++ < blockNumber && ws.write(randomValueHex())) {} + while (offsetInMB++ < blockNumber && ws.write(randomValueHex())) { + /* empty */ + } if (offsetInMB >= blockNumber) { ws.end(); } }); ws.on("drain", () => { - // tslint:disable-next-line:no-empty - while (offsetInMB++ < blockNumber && ws.write(randomValueHex())) {} + while (offsetInMB++ < blockNumber && ws.write(randomValueHex())) { + /* empty */ + } if (offsetInMB >= blockNumber) { ws.end(); } diff --git a/sdk/storage/storage-file-datalake/test/utils/testutils.common.ts b/sdk/storage/storage-file-datalake/test/utils/testutils.common.ts index 33a93ee9b378..886976b5c511 100644 --- a/sdk/storage/storage-file-datalake/test/utils/testutils.common.ts +++ b/sdk/storage/storage-file-datalake/test/utils/testutils.common.ts @@ -2,9 +2,7 @@ // Licensed under the MIT license. import { AccessToken, GetTokenOptions, TokenCredential } from "@azure/core-http"; -import { env, isPlaybackMode, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; - -import { padStart } from "../../src/utils/utils.common"; +import { env, isPlaybackMode, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; export const testPollerProperties = { intervalInMs: isPlaybackMode() ? 0 : undefined @@ -108,11 +106,9 @@ export function isBrowser(): boolean { } export function getUniqueName(prefix: string): string { - return `${prefix}${new Date().getTime()}${padStart( - Math.floor(Math.random() * 10000).toString(), - 5, - "00000" - )}`; + return `${prefix}${new Date().getTime()}${Math.floor(Math.random() * 10000) + .toString() + .padStart(5, "00000")}`; } export function base64encode(content: string): string { diff --git a/sdk/storage/storage-file-share/CHANGELOG.md b/sdk/storage/storage-file-share/CHANGELOG.md index b0f7abd21cfc..71bcc54ffce4 100644 --- a/sdk/storage/storage-file-share/CHANGELOG.md +++ b/sdk/storage/storage-file-share/CHANGELOG.md @@ -1,13 +1,20 @@ # Release History -## 12.8.0-beta.1 (2021-07-28) +## 12.8.1 (Unreleased) ### Features Added -- Added support for service version 2020-10-02. -- Added support for including additional information in `ShareDirectoryClient.listFilesAndDirectories()`. -- Added support for OAuth in copying source in `ShareFileClient.uploadRangeFromURL()` when source is a Blob. -- With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 12.8.0 (2021-09-10) + +### Features Added + +- Includes all features released in 12.8.0-beta.1. ## 12.7.0 (2021-08-02) @@ -15,6 +22,15 @@ - Changed TS compilation target to ES2017 in order to produce smaller bundles and use more native platform features - Updated our internal core package dependencies to their latest versions in order to add support for Opentelemetry 1.0.0 which is compatible with the latest versions of our other client libraries. +## 12.8.0-beta.1 (2021-07-28) + +### Features Added + +- Added support for service version 2020-10-02. +- Added support for including additional information in `ShareDirectoryClient.listFilesAndDirectories()`. +- Added support for OAuth in copying source in `ShareFileClient.uploadRangeFromURL()` when source is a Blob. +- With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. + ## 12.6.0 (2021-06-09) - Updated Azure Storage Service API version to 2020-08-04. diff --git a/sdk/storage/storage-file-share/karma.conf.js b/sdk/storage/storage-file-share/karma.conf.js index 0e12fa1a583e..6b9171397ac6 100644 --- a/sdk/storage/storage-file-share/karma.conf.js +++ b/sdk/storage/storage-file-share/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/storage/storage-file-share/package.json b/sdk/storage/storage-file-share/package.json index 69946255b803..df0feb1f286f 100644 --- a/sdk/storage/storage-file-share/package.json +++ b/sdk/storage/storage-file-share/package.json @@ -1,7 +1,7 @@ { "name": "@azure/storage-file-share", "sdk-type": "client", - "version": "12.8.0-beta.1", + "version": "12.8.1", "description": "Microsoft Azure Storage SDK for JavaScript - File", "main": "./dist/index.js", "module": "./dist-esm/src/index.js", @@ -36,7 +36,7 @@ "build:prep-samples": "dev-tool samples prep && cd dist-samples && tsc", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", "build:types": "downlevel-dts typings/latest typings/3.1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings temp statistics.html coverage coverage-browser .nyc_output *.tgz *.log test*.xml TEST*.xml", "clean:samples": "rimraf samples/javascript/node_modules samples/typescript/node_modules samples/typescript/dist samples/typescript/package-lock.json samples/javascript/package-lock.json", @@ -47,9 +47,8 @@ "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --full-trace -t 300000 \"dist-esm/test/*.spec.js\" \"dist-esm/test/node/*.spec.js\"", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", - "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o storage-file-share-lintReport.html || exit 0", + "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -123,11 +122,11 @@ "tslib": "^2.2.0" }, "devDependencies": { - "@azure/storage-blob": "^12.8.0-beta.1", + "@azure/storage-blob": "^12.8.0", "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@azure/test-utils-perfstress": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", @@ -161,7 +160,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", @@ -169,7 +168,7 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "0.15.2", "typescript": "~4.2.0", "util": "^0.12.1" diff --git a/sdk/storage/storage-file-share/review/storage-file-share.api.md b/sdk/storage/storage-file-share/review/storage-file-share.api.md index a32d86aadfd3..d734dc0fbbff 100644 --- a/sdk/storage/storage-file-share/review/storage-file-share.api.md +++ b/sdk/storage/storage-file-share/review/storage-file-share.api.md @@ -1085,8 +1085,8 @@ export interface HandleItem { // @public export interface HttpAuthorization { - parameter: string; scheme: string; + value: string; } export { HttpHeaders } @@ -1159,9 +1159,6 @@ export interface ListFilesAndDirectoriesSegmentResponse { shareSnapshot?: string; } -// @public -export type ListFilesIncludeType = "Timestamps" | "Etag" | "Attributes" | "PermissionKey"; - // @public export interface ListHandlesResponse { // (undocumented) diff --git a/sdk/storage/storage-file-share/src/Clients.ts b/sdk/storage/storage-file-share/src/Clients.ts index 1b319e65dfdc..a05391369e14 100644 --- a/sdk/storage/storage-file-share/src/Clients.ts +++ b/sdk/storage/storage-file-share/src/Clients.ts @@ -113,7 +113,7 @@ import { ShareSASPermissions } from "./ShareSASPermissions"; import { SASProtocol } from "./SASQueryParameters"; import { SasIPRange } from "./SasIPRange"; import { FileSASPermissions } from "./FileSASPermissions"; -import { ListFilesIncludeType } from "./generatedModels"; +import { ListFilesIncludeType } from "./generated/src"; /** * Options to configure the {@link ShareClient.create} operation. @@ -540,6 +540,8 @@ export class ShareClient extends StorageClient { * @param name - Share name. * @param options - Optional. Options to configure the HTTP pipeline. */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ constructor(connectionString: string, name: string, options?: StoragePipelineOptions); /** * Creates an instance of ShareClient. @@ -552,6 +554,8 @@ export class ShareClient extends StorageClient { * If not specified, AnonymousCredential is used. * @param options - Optional. Options to configure the HTTP pipeline. */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ constructor(url: string, credential?: Credential, options?: StoragePipelineOptions); /** * Creates an instance of ShareClient. @@ -567,6 +571,8 @@ export class ShareClient extends StorageClient { constructor( urlOrConnectionString: string, credentialOrPipelineOrShareName?: Credential | Pipeline | string, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { let pipeline: Pipeline; @@ -711,6 +717,9 @@ export class ShareClient extends StorageClient { * @param directoryName - A directory name * @returns The ShareDirectoryClient object for the given directory name. */ + + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public getDirectoryClient(directoryName: string): ShareDirectoryClient { return new ShareDirectoryClient( appendToURLPath(this.url, encodeURIComponent(directoryName)), @@ -724,6 +733,8 @@ export class ShareClient extends StorageClient { * * @readonly A new ShareDirectoryClient object for the root directory. */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public get rootDirectoryClient(): ShareDirectoryClient { return this.getDirectoryClient(""); } @@ -1685,6 +1696,8 @@ export class ShareDirectoryClient extends StorageClient { * If not specified, AnonymousCredential is used. * @param options - Optional. Options to configure the HTTP pipeline. */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ constructor(url: string, credential?: Credential, options?: StoragePipelineOptions); /** * Creates an instance of DirectoryClient. @@ -2014,6 +2027,8 @@ export class ShareDirectoryClient extends StorageClient { * console.log("Updated file successfully!") * ``` */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-subclients */ public getFileClient(fileName: string): ShareFileClient { return new ShareFileClient( appendToURLPath(this.url, encodeURIComponent(fileName)), @@ -2680,8 +2695,12 @@ export class ShareDirectoryClient extends StorageClient { updatedOptions ); marker = response.marker; - response.closedHandlesCount && (handlesClosed += response.closedHandlesCount); - response.closeFailureCount && (numberOfHandlesFailedToClose += response.closeFailureCount); + if (response.closedHandlesCount) { + handlesClosed += response.closedHandlesCount; + } + if (response.closeFailureCount) { + numberOfHandlesFailedToClose += response.closeFailureCount; + } } while (marker); return { closedHandlesCount: handlesClosed, closeFailureCount: numberOfHandlesFailedToClose }; @@ -3389,6 +3408,8 @@ export class ShareFileClient extends StorageClient { * If not specified, AnonymousCredential is used. * @param options - Optional. Options to configure the HTTP pipeline. */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ constructor(url: string, credential?: Credential, options?: StoragePipelineOptions); /** * Creates an instance of ShareFileClient. @@ -3408,6 +3429,8 @@ export class ShareFileClient extends StorageClient { constructor( url: string, credentialOrPipeline?: Credential | Pipeline, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { let pipeline: Pipeline; @@ -3618,7 +3641,7 @@ export class ShareFileClient extends StorageClient { return new FileDownloadResponse( res, async (start: number): Promise => { - const updatedOptions: FileDownloadOptionalParams = { + const updatedDownloadOptions: FileDownloadOptionalParams = { range: rangeToString({ count: offset + res.contentLength! - start, offset: start @@ -3628,15 +3651,15 @@ export class ShareFileClient extends StorageClient { // Debug purpose only // console.log( // `Read from internal stream, range: ${ - // updatedOptions.range - // }, options: ${JSON.stringify(updatedOptions)}` + // chunkDownloadOptions.range + // }, options: ${JSON.stringify(chunkDownloadOptions)}` // ); const downloadRes = await this.context.download({ abortSignal: options.abortSignal, leaseAccessConditions: options.leaseAccessConditions, - ...updatedOptions, - ...convertTracingToRequestOptionsBase(updatedOptions) + ...updatedDownloadOptions, + ...convertTracingToRequestOptionsBase(updatedDownloadOptions) }); if (!(downloadRes.etag === res.etag)) { @@ -4993,8 +5016,12 @@ export class ShareFileClient extends StorageClient { { tracingOptions: updatedOptions.tracingOptions } ); marker = response.marker; - response.closedHandlesCount && (handlesClosed += response.closedHandlesCount); - response.closeFailureCount && (numberOfHandlesFailedToClose += response.closeFailureCount); + if (response.closedHandlesCount) { + handlesClosed += response.closedHandlesCount; + } + if (response.closeFailureCount) { + numberOfHandlesFailedToClose += response.closeFailureCount; + } } while (marker); return { @@ -5057,7 +5084,7 @@ export class ShareFileClient extends StorageClient { * @param proposeLeaseId - Initial proposed lease Id. * @returns A new ShareLeaseClient object for managing leases on the file. */ - public getShareLeaseClient(proposeLeaseId?: string) { + public getShareLeaseClient(proposeLeaseId?: string): ShareLeaseClient { return new ShareLeaseClient(this, proposeLeaseId); } diff --git a/sdk/storage/storage-file-share/src/Range.ts b/sdk/storage/storage-file-share/src/Range.ts index d2953b801aad..31ad04baba01 100644 --- a/sdk/storage/storage-file-share/src/Range.ts +++ b/sdk/storage/storage-file-share/src/Range.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -// tslint:disable:max-line-length /** * Range for Service Operations. * @see https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-the-range-header-for-file-service-operations diff --git a/sdk/storage/storage-file-share/src/SASQueryParameters.ts b/sdk/storage/storage-file-share/src/SASQueryParameters.ts index 74778dbbe461..237e7445c64c 100644 --- a/sdk/storage/storage-file-share/src/SASQueryParameters.ts +++ b/sdk/storage/storage-file-share/src/SASQueryParameters.ts @@ -22,7 +22,7 @@ export enum SASProtocol { /** * Represents the components that make up an Azure Storage SAS' query parameters. This type is not constructed directly * by the user; it is only generated by the {@link AccountSASSignatureValues} and {@link FileSASSignatureValues} - * types. Once generated, it can be encoded into a {@code String} and appended to a URL directly (though caution should + * types. Once generated, it can be encoded into a {@link String} and appended to a URL directly (though caution should * be taken here in case there are existing query parameters, which might affect the appropriate means of appending * these query parameters). * diff --git a/sdk/storage/storage-file-share/src/ShareClientInternal.ts b/sdk/storage/storage-file-share/src/ShareClientInternal.ts index 14e80f1e4294..7287417a41a5 100644 --- a/sdk/storage/storage-file-share/src/ShareClientInternal.ts +++ b/sdk/storage/storage-file-share/src/ShareClientInternal.ts @@ -18,6 +18,6 @@ export class ShareClientInternal extends StorageClient { } public async restore(options: ShareRestoreOptionalParams = {}): Promise { - return await this.context.restore(options); + return this.context.restore(options); } } diff --git a/sdk/storage/storage-file-share/src/ShareSASPermissions.ts b/sdk/storage/storage-file-share/src/ShareSASPermissions.ts index 2c7cd0d74570..0cd2471cd4eb 100644 --- a/sdk/storage/storage-file-share/src/ShareSASPermissions.ts +++ b/sdk/storage/storage-file-share/src/ShareSASPermissions.ts @@ -15,7 +15,7 @@ export class ShareSASPermissions { * * @param permissions - */ - public static parse(permissions: string) { + public static parse(permissions: string): ShareSASPermissions { const shareSASPermissions = new ShareSASPermissions(); for (const char of permissions) { diff --git a/sdk/storage/storage-file-share/src/ShareServiceClient.ts b/sdk/storage/storage-file-share/src/ShareServiceClient.ts index 04f86fefec6b..eea86fc73cf5 100644 --- a/sdk/storage/storage-file-share/src/ShareServiceClient.ts +++ b/sdk/storage/storage-file-share/src/ShareServiceClient.ts @@ -242,6 +242,8 @@ export class ShareServiceClient extends StorageClient { */ public static fromConnectionString( connectionString: string, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ): ShareServiceClient { const extractedCreds = extractConnectionStringParts(connectionString); @@ -276,6 +278,8 @@ export class ShareServiceClient extends StorageClient { * If not specified, AnonymousCredential is used. * @param options - Optional. Options to configure the HTTP pipeline. */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ constructor(url: string, credential?: Credential, options?: StoragePipelineOptions); /** * Creates an instance of ShareServiceClient. @@ -290,6 +294,8 @@ export class ShareServiceClient extends StorageClient { constructor( url: string, credentialOrPipeline?: Credential | Pipeline, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { let pipeline: Pipeline; diff --git a/sdk/storage/storage-file-share/src/credentials/Credential.ts b/sdk/storage/storage-file-share/src/credentials/Credential.ts index ec1bee135c2c..bd795dcd129d 100644 --- a/sdk/storage/storage-file-share/src/credentials/Credential.ts +++ b/sdk/storage/storage-file-share/src/credentials/Credential.ts @@ -15,12 +15,7 @@ export abstract class Credential implements RequestPolicyFactory { * @param _nextPolicy - * @param _options - */ - public create( - // tslint:disable-next-line:variable-name - _nextPolicy: RequestPolicy, - // tslint:disable-next-line:variable-name - _options: RequestPolicyOptions - ): RequestPolicy { + public create(_nextPolicy: RequestPolicy, _options: RequestPolicyOptions): RequestPolicy { throw new Error("Method should be implemented in children classes."); } } diff --git a/sdk/storage/storage-file-share/src/generated/src/storageClientContext.ts b/sdk/storage/storage-file-share/src/generated/src/storageClientContext.ts index bf821e6d6c30..0089ddc21ddf 100644 --- a/sdk/storage/storage-file-share/src/generated/src/storageClientContext.ts +++ b/sdk/storage/storage-file-share/src/generated/src/storageClientContext.ts @@ -10,7 +10,7 @@ import * as coreHttp from "@azure/core-http"; import { StorageClientOptionalParams } from "./models"; const packageName = "azure-storage-file-share"; -const packageVersion = "12.7.0-beta.1"; +const packageVersion = "12.8.1"; export class StorageClientContext extends coreHttp.ServiceClient { url: string; diff --git a/sdk/storage/storage-file-share/src/generatedModels.ts b/sdk/storage/storage-file-share/src/generatedModels.ts index 9ea737f9a8ad..c3d5bbf8e1e5 100644 --- a/sdk/storage/storage-file-share/src/generatedModels.ts +++ b/sdk/storage/storage-file-share/src/generatedModels.ts @@ -78,7 +78,6 @@ export { FileUploadRangeHeaders, FileType, ServiceGetPropertiesHeaders, - ListFilesIncludeType, ListSharesResponse as ListSharesResponseModel, RetentionPolicy, ServiceListSharesSegmentHeaders, diff --git a/sdk/storage/storage-file-share/src/models.ts b/sdk/storage/storage-file-share/src/models.ts index 36078f782575..9e0e0f70b65e 100644 --- a/sdk/storage/storage-file-share/src/models.ts +++ b/sdk/storage/storage-file-share/src/models.ts @@ -217,7 +217,10 @@ export function toShareProtocolsString(protocols: ShareProtocols = {}): string | return protocolStr; } -export function validateFilePermissionOptions(filePermission?: string, filePermissionKey?: string) { +export function validateFilePermissionOptions( + filePermission?: string, + filePermissionKey?: string +): void { if (filePermission && filePermissionKey) { throw new RangeError("Only one of filePermission or filePermissionKey can be specified."); } @@ -308,5 +311,5 @@ export interface HttpAuthorization { /** * the credentials containing the authentication information of the user agent for the resource being requested. */ - parameter: string; + value: string; } diff --git a/sdk/storage/storage-file-share/src/policies/AnonymousCredentialPolicy.ts b/sdk/storage/storage-file-share/src/policies/AnonymousCredentialPolicy.ts index 08e4118ad4c0..fbe370ad037d 100644 --- a/sdk/storage/storage-file-share/src/policies/AnonymousCredentialPolicy.ts +++ b/sdk/storage/storage-file-share/src/policies/AnonymousCredentialPolicy.ts @@ -15,6 +15,8 @@ export class AnonymousCredentialPolicy extends CredentialPolicy { * @param nextPolicy - * @param options - */ + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } diff --git a/sdk/storage/storage-file-share/src/policies/StorageBrowserPolicy.ts b/sdk/storage/storage-file-share/src/policies/StorageBrowserPolicy.ts index 35748194822e..814b65e6a05b 100644 --- a/sdk/storage/storage-file-share/src/policies/StorageBrowserPolicy.ts +++ b/sdk/storage/storage-file-share/src/policies/StorageBrowserPolicy.ts @@ -30,6 +30,8 @@ export class StorageBrowserPolicy extends BaseRequestPolicy { * @param nextPolicy - * @param options - */ + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } diff --git a/sdk/storage/storage-file-share/src/policies/StorageRetryPolicy.ts b/sdk/storage/storage-file-share/src/policies/StorageRetryPolicy.ts index c969a8f7168c..8353794dbe8c 100644 --- a/sdk/storage/storage-file-share/src/policies/StorageRetryPolicy.ts +++ b/sdk/storage/storage-file-share/src/policies/StorageRetryPolicy.ts @@ -170,7 +170,7 @@ export class StorageRetryPolicy extends BaseRequestPolicy { } await this.delay(isPrimaryRetry, attempt, request.abortSignal); - return await this.attemptSendRequest(request, secondaryHas404, ++attempt); + return this.attemptSendRequest(request, secondaryHas404, ++attempt); } /** diff --git a/sdk/storage/storage-file-share/src/policies/StorageSharedKeyCredentialPolicy.ts b/sdk/storage/storage-file-share/src/policies/StorageSharedKeyCredentialPolicy.ts index ac18f4335e8a..eef682ca213c 100644 --- a/sdk/storage/storage-file-share/src/policies/StorageSharedKeyCredentialPolicy.ts +++ b/sdk/storage/storage-file-share/src/policies/StorageSharedKeyCredentialPolicy.ts @@ -155,7 +155,7 @@ export class StorageSharedKeyCredentialPolicy extends CredentialPolicy { if (queries) { const queryKeys: string[] = []; for (const key in queries) { - if (queries.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(queries, key)) { const lowercaseKey = key.toLowerCase(); lowercaseQueries[lowercaseKey] = queries[key]; queryKeys.push(lowercaseKey); diff --git a/sdk/storage/storage-file-share/src/utils/RetriableReadableStream.ts b/sdk/storage/storage-file-share/src/utils/RetriableReadableStream.ts index 444e9f6bfd38..62edaf29738b 100644 --- a/sdk/storage/storage-file-share/src/utils/RetriableReadableStream.ts +++ b/sdk/storage/storage-file-share/src/utils/RetriableReadableStream.ts @@ -92,7 +92,7 @@ export class RetriableReadableStream extends Readable { this.setSourceErrorHandler(); } - public _read() { + public _read(): void { if (!this.aborter.aborted) { this.source.resume(); } @@ -143,6 +143,7 @@ export class RetriableReadableStream extends Readable { this.setSourceDataHandler(); this.setSourceEndHandler(); this.setSourceErrorHandler(); + return; }) .catch((error) => { this.emit("error", error); @@ -151,7 +152,6 @@ export class RetriableReadableStream extends Readable { this.emit( "error", new Error( - // tslint:disable-next-line:max-line-length `Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this .offset - 1}, data needed offset: ${this.end}, retries: ${ this.retries diff --git a/sdk/storage/storage-file-share/src/utils/constants.ts b/sdk/storage/storage-file-share/src/utils/constants.ts index f43fb7ad259f..522a9186a210 100644 --- a/sdk/storage/storage-file-share/src/utils/constants.ts +++ b/sdk/storage/storage-file-share/src/utils/constants.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "12.8.0-beta.1"; +export const SDK_VERSION: string = "12.8.1"; export const SERVICE_VERSION: string = "2020-10-02"; export const FILE_MAX_SIZE_BYTES: number = 4 * 1024 * 1024 * 1024 * 1024; // 4TB diff --git a/sdk/storage/storage-file-share/src/utils/tracing.ts b/sdk/storage/storage-file-share/src/utils/tracing.ts index 88cc4816caf2..bbdf597e748a 100644 --- a/sdk/storage/storage-file-share/src/utils/tracing.ts +++ b/sdk/storage/storage-file-share/src/utils/tracing.ts @@ -24,7 +24,8 @@ export function convertTracingToRequestOptionsBase( options?: OperationOptions ): Pick { return { - spanOptions: options?.tracingOptions?.spanOptions, + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + spanOptions: (options?.tracingOptions as any)?.spanOptions, tracingContext: options?.tracingOptions?.tracingContext }; } diff --git a/sdk/storage/storage-file-share/src/utils/utils.browser.ts b/sdk/storage/storage-file-share/src/utils/utils.browser.ts index 8b2daa15bfba..4d7613490cbb 100644 --- a/sdk/storage/storage-file-share/src/utils/utils.browser.ts +++ b/sdk/storage/storage-file-share/src/utils/utils.browser.ts @@ -17,10 +17,18 @@ export async function blobToArrayBuffer(blob: Blob): Promise { }); } -export function streamToBuffer() {} +export function streamToBuffer(): void { + /* empty */ +} -export function readStreamToLocalFile() {} +export function readStreamToLocalFile(): void { + /* empty */ +} -export const fsStat = function stat() {}; +export const fsStat = function stat(): void { + /* empty */ +}; -export const fsCreateReadStream = function createReadStream() {}; +export const fsCreateReadStream = function createReadStream(): void { + /* empty */ +}; diff --git a/sdk/storage/storage-file-share/src/utils/utils.common.ts b/sdk/storage/storage-file-share/src/utils/utils.common.ts index 9c076ce148d5..223d76a5894c 100644 --- a/sdk/storage/storage-file-share/src/utils/utils.common.ts +++ b/sdk/storage/storage-file-share/src/utils/utils.common.ts @@ -345,8 +345,13 @@ export function base64decode(encodedString: string): string { * @param aborter - * @param abortError - */ -export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortError?: Error) { +export async function delay( + timeInMs: number, + aborter?: AbortSignalLike, + abortError?: Error +): Promise { return new Promise((resolve, reject) => { + /* eslint-disable-next-line prefer-const */ let timeout: any; const abortHandler = () => { @@ -363,6 +368,7 @@ export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortEr resolve(); }; + /* eslint-disable-next-line prefer-const */ timeout = setTimeout(resolveHandler, timeInMs); if (aborter !== undefined) { aborter.addEventListener("abort", abortHandler); @@ -370,36 +376,6 @@ export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortEr }); } -/** - * String.prototype.padStart() - * - * @param currentString - - * @param targetLength - - * @param padString - - */ -export function padStart( - currentString: string, - targetLength: number, - padString: string = " " -): string { - // TS doesn't know this code needs to run downlevel sometimes. - // @ts-expect-error - if (String.prototype.padStart) { - return currentString.padStart(targetLength, padString); - } - - padString = padString || " "; - if (currentString.length > targetLength) { - return currentString; - } else { - targetLength = targetLength - currentString.length; - if (targetLength > padString.length) { - padString += padString.repeat(targetLength / padString.length); - } - return padString.slice(0, targetLength) + currentString; - } -} - export function sanitizeURL(url: string): string { let safeURL: string = url; if (getURLParameter(safeURL, URLConstants.Parameters.SIGNATURE)) { @@ -455,12 +431,12 @@ export function getAccountNameFromUrl(url: string): string { } export function isIpEndpointStyle(parsedUrl: URLBuilder): boolean { - if (parsedUrl.getHost() == undefined) { + if (parsedUrl.getHost() === undefined) { return false; } const host = - parsedUrl.getHost()! + (parsedUrl.getPort() == undefined ? "" : ":" + parsedUrl.getPort()); + parsedUrl.getHost()! + (parsedUrl.getPort() === undefined ? "" : ":" + parsedUrl.getPort()); // Case 1: Ipv6, use a broad regex to find out candidates whose host contains two ':'. // Case 2: localhost(:port), use broad regex to match port part. @@ -535,7 +511,5 @@ export function getShareNameAndPathFromUrl( export function httpAuthorizationToString( httpAuthorization?: HttpAuthorization ): string | undefined { - return httpAuthorization - ? httpAuthorization.scheme + " " + httpAuthorization.parameter - : undefined; + return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : undefined; } diff --git a/sdk/storage/storage-file-share/swagger/README.md b/sdk/storage/storage-file-share/swagger/README.md index f5e930fdc6b9..7583fad27978 100644 --- a/sdk/storage/storage-file-share/swagger/README.md +++ b/sdk/storage/storage-file-share/swagger/README.md @@ -20,7 +20,7 @@ disable-async-iterators: true add-credentials: false use-extension: "@autorest/typescript": "6.0.0-dev.20210218.1" -package-version: 12.8.0-beta.1 +package-version: 12.8.1 ``` ## Customizations for Track 2 Generator diff --git a/sdk/storage/storage-file-share/test/aborter.spec.ts b/sdk/storage/storage-file-share/test/aborter.spec.ts index c2f1462daa0a..d898e08a0d30 100644 --- a/sdk/storage/storage-file-share/test/aborter.spec.ts +++ b/sdk/storage/storage-file-share/test/aborter.spec.ts @@ -5,19 +5,19 @@ import * as assert from "assert"; import { AbortController } from "@azure/abort-controller"; import { getBSU, recorderEnvSetup } from "./utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; import { ShareClient } from "../src"; +import { Context } from "mocha"; dotenv.config(); -// tslint:disable:no-empty describe("Aborter", () => { let shareName: string; let shareClient: ShareClient; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); diff --git a/sdk/storage/storage-file-share/test/directoryclient.spec.ts b/sdk/storage/storage-file-share/test/directoryclient.spec.ts index f85b5c9006c4..ae471c199787 100644 --- a/sdk/storage/storage-file-share/test/directoryclient.spec.ts +++ b/sdk/storage/storage-file-share/test/directoryclient.spec.ts @@ -5,7 +5,7 @@ import * as assert from "assert"; import { getBSU, recorderEnvSetup } from "./utils"; import * as dotenv from "dotenv"; import { ShareClient, ShareDirectoryClient, FileSystemAttributes } from "../src"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { DirectoryCreateResponse } from "../src/generated/src/models"; import { truncatedISO8061Date } from "../src/utils/utils.common"; import { SpanGraph, setTracer } from "@azure/test-utils"; @@ -13,6 +13,7 @@ import { URLBuilder } from "@azure/core-http"; import { MockPolicyFactory } from "./utils/MockPolicyFactory"; import { Pipeline } from "../src/Pipeline"; import { setSpan, context } from "@azure/core-tracing"; +import { Context } from "mocha"; dotenv.config(); describe("DirectoryClient", () => { @@ -32,7 +33,7 @@ describe("DirectoryClient", () => { fullDirAttributes.notContentIndexed = true; fullDirAttributes.noScrubData = true; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); @@ -521,7 +522,7 @@ describe("DirectoryClient", () => { for await (const entity of rootDirClient.listFilesAndDirectories({ prefix })) { assert.ok(entity.name.startsWith(prefix)); - if (entity.kind == "file") { + if (entity.kind === "file") { assert.deepEqual(entity.properties.contentLength, 1024); } } @@ -564,13 +565,13 @@ describe("DirectoryClient", () => { const iter = rootDirClient.listFilesAndDirectories({ prefix }); let entity = (await iter.next()).value; assert.ok(entity.name.startsWith(prefix)); - if (entity.kind == "file") { + if (entity.kind === "file") { assert.deepEqual(entity.properties.contentLength, 1024); } entity = (await iter.next()).value; assert.ok(entity.name.startsWith(prefix)); - if (entity.kind == "file") { + if (entity.kind === "file") { assert.deepEqual(entity.properties.contentLength, 1024); } diff --git a/sdk/storage/storage-file-share/test/fileclient.spec.ts b/sdk/storage/storage-file-share/test/fileclient.spec.ts index 5b9213b1d416..5f7d5faeb886 100644 --- a/sdk/storage/storage-file-share/test/fileclient.spec.ts +++ b/sdk/storage/storage-file-share/test/fileclient.spec.ts @@ -7,7 +7,7 @@ import * as dotenv from "dotenv"; import { AbortController } from "@azure/abort-controller"; import { isNode, URLBuilder, URLQuery } from "@azure/core-http"; import { SpanGraph, setTracer } from "@azure/test-utils"; -import { delay, isLiveMode, record, Recorder } from "@azure/test-utils-recorder"; +import { delay, isLiveMode, record, Recorder } from "@azure-tools/test-recorder"; import { FileStartCopyOptions, ShareClient, ShareDirectoryClient, ShareFileClient } from "../src"; import { FileSystemAttributes } from "../src/FileSystemAttributes"; @@ -18,6 +18,7 @@ import { bodyToString, compareBodyWithUint8Array, getBSU, recorderEnvSetup } fro import { MockPolicyFactory } from "./utils/MockPolicyFactory"; import { FILE_MAX_SIZE_BYTES } from "../src/utils/constants"; import { setSpan, context } from "@azure/core-tracing"; +import { Context } from "mocha"; dotenv.config(); @@ -45,7 +46,7 @@ describe("FileClient", () => { fullFileAttributes.notContentIndexed = true; fullFileAttributes.noScrubData = true; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); @@ -61,7 +62,7 @@ describe("FileClient", () => { fileClient = dirClient.getFileClient(fileName); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await shareClient.delete({ deleteSnapshots: "include" }); await recorder.stop(); @@ -587,7 +588,7 @@ describe("FileClient", () => { assert.deepStrictEqual(result.rangeList[0], { start: 512, end: 512 }); }); - it("getRangeListDiff", async function() { + it("getRangeListDiff", async function(this: Context) { if (isLiveMode()) { // Skipped for now as the result is not stable. this.skip(); @@ -611,7 +612,7 @@ describe("FileClient", () => { assert.deepStrictEqual(result.ranges![0], { start: 512, end: 1535 }); }); - it("getRangeListDiff with share snapshot", async function() { + it("getRangeListDiff with share snapshot", async function(this: Context) { if (isLiveMode()) { // Skipped for now as the result is not stable. this.skip(); @@ -675,7 +676,9 @@ describe("FileClient", () => { await fileClient.create(content.length); await fileClient.uploadRange(content, 0, content.length); const result = await fileClient.download(0, undefined, { - onProgress: () => {} + onProgress: () => { + /* empty */ + } }); assert.deepStrictEqual(await bodyToString(result), content); }); @@ -711,8 +714,9 @@ describe("FileClient", () => { // Receiving data... const rs = result.readableStreamBody!; - // tslint:disable-next-line:no-empty - rs.on("data", () => {}); + rs.on("data", () => { + /* empty */ + }); rs.on("end", resolve); rs.on("error", reject); } else { @@ -721,7 +725,6 @@ describe("FileClient", () => { }); assert.fail(); - // tslint:disable-next-line:no-empty } catch (err) { assert.equal(err.name, "AbortError"); } diff --git a/sdk/storage/storage-file-share/test/fileserviceclient.spec.ts b/sdk/storage/storage-file-share/test/fileserviceclient.spec.ts index d2bacc6bec9c..9315bf80ed04 100644 --- a/sdk/storage/storage-file-share/test/fileserviceclient.spec.ts +++ b/sdk/storage/storage-file-share/test/fileserviceclient.spec.ts @@ -10,15 +10,16 @@ import { getSoftDeleteBSU, getGenericBSU } from "./utils"; -import { record, delay, Recorder, isLiveMode } from "@azure/test-utils-recorder"; +import { record, delay, Recorder, isLiveMode } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; import { ShareServiceClient, ShareItem, ShareRootSquash } from "../src"; +import { Context } from "mocha"; dotenv.config(); describe("FileServiceClient", () => { let recorder: Recorder; - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); }); @@ -402,7 +403,7 @@ describe("FileServiceClient", () => { let recorder: Recorder; let serviceClient: ShareServiceClient; - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); try { @@ -423,7 +424,7 @@ describe("FileServiceClient", () => { let found = false; for await (const share of serviceClient.listShares({ includeDeleted: true })) { - if (share.name == shareClient.name) { + if (share.name === shareClient.name) { found = true; assert.ok(share.version); assert.ok(share.deleted); @@ -440,7 +441,7 @@ describe("FileServiceClient", () => { let found = false; let shareDeleted: ShareItem | undefined; for await (const share of serviceClient.listShares({ includeDeleted: true })) { - if (share.name == shareClient.name) { + if (share.name === shareClient.name) { found = true; assert.ok(share.version); assert.ok(share.deleted); @@ -482,7 +483,7 @@ describe("FileServiceClient Premium", () => { let recorder: Recorder; let serviceClient: ShareServiceClient; - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); try { serviceClient = getGenericBSU("PREMIUM_FILE_"); @@ -496,7 +497,7 @@ describe("FileServiceClient Premium", () => { await recorder.stop(); }); - it("SMB Multichannel", async function() { + it("SMB Multichannel", async function(this: Context) { if (isLiveMode()) { // Skipped for now as it needs be enabled on the account. this.skip(); @@ -508,7 +509,7 @@ describe("FileServiceClient Premium", () => { assert.ok(propertiesSet.protocol?.smb?.multichannel); }); - it("Share Enable Protocol & Share Squash Root", async function() { + it("Share Enable Protocol & Share Squash Root", async function(this: Context) { if (isLiveMode()) { // Skipped for now as this feature is not available in our test account's region yet. this.skip(); diff --git a/sdk/storage/storage-file-share/test/leaseclient.spec.ts b/sdk/storage/storage-file-share/test/leaseclient.spec.ts index 42cadd131fe0..84843bd81276 100644 --- a/sdk/storage/storage-file-share/test/leaseclient.spec.ts +++ b/sdk/storage/storage-file-share/test/leaseclient.spec.ts @@ -3,9 +3,10 @@ import * as assert from "assert"; import { getBSU, recorderEnvSetup, bodyToString } from "./utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { ShareClient, ShareDirectoryClient, ShareFileClient } from "../src"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; dotenv.config(); // for file @@ -22,7 +23,7 @@ describe("LeaseClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); diff --git a/sdk/storage/storage-file-share/test/node/directoryclient.spec.ts b/sdk/storage/storage-file-share/test/node/directoryclient.spec.ts index 9fd131bc2e86..5d4bdc661b74 100644 --- a/sdk/storage/storage-file-share/test/node/directoryclient.spec.ts +++ b/sdk/storage/storage-file-share/test/node/directoryclient.spec.ts @@ -10,7 +10,8 @@ import { StorageSharedKeyCredential, ShareClient } from "../../src"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); describe("DirectoryClient Node.js only", () => { @@ -21,7 +22,7 @@ describe("DirectoryClient Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); diff --git a/sdk/storage/storage-file-share/test/node/fileclient.spec.ts b/sdk/storage/storage-file-share/test/node/fileclient.spec.ts index 02199256042d..cce908179331 100644 --- a/sdk/storage/storage-file-share/test/node/fileclient.spec.ts +++ b/sdk/storage/storage-file-share/test/node/fileclient.spec.ts @@ -8,7 +8,7 @@ import * as path from "path"; import * as zlib from "zlib"; import { Duplex } from "stream"; -import { isPlaybackMode, record, Recorder } from "@azure/test-utils-recorder"; +import { isPlaybackMode, record, Recorder } from "@azure-tools/test-recorder"; import { FileSASPermissions, @@ -28,6 +28,7 @@ import { getTokenCredential, recorderEnvSetup } from "../utils"; +import { Context } from "mocha"; describe("FileClient Node.js only", () => { let shareName: string; @@ -41,7 +42,7 @@ describe("FileClient Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); @@ -56,7 +57,7 @@ describe("FileClient Node.js only", () => { fileClient = dirClient.getFileClient(fileName); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await shareClient.delete(); await recorder.stop(); @@ -199,8 +200,8 @@ describe("FileClient Node.js only", () => { it("uploadRangeFromURL", async () => { await fileClient.create(1024); - const content = "a".repeat(512) + "b".repeat(512); - await fileClient.uploadRange(content, 0, content.length); + const fileContent = "a".repeat(512) + "b".repeat(512); + await fileClient.uploadRange(fileContent, 0, fileContent.length); // Get a SAS for fileURL const factories = (fileClient as any).pipeline.factories; @@ -232,7 +233,7 @@ describe("FileClient Node.js only", () => { assert.equal(await bodyToString(range2, 512), "b".repeat(512)); }); - it("uploadRangeFromURL - source bearer token", async function() { + it("uploadRangeFromURL - source bearer token", async function(this: Context) { if (!isPlaybackMode()) { // Enable this case, when the STG78 feature is enabled in production. this.skip(); @@ -244,9 +245,9 @@ describe("FileClient Node.js only", () => { await containerClient.create(); const blockBlob = containerClient.getBlockBlobClient(recorder.getUniqueName("blockBlob")); - const content = "a".repeat(512) + "b".repeat(512); + const blobContent = "a".repeat(512) + "b".repeat(512); - await blockBlob.upload(content, content.length); + await blockBlob.upload(blobContent, blobContent.length); const fileName2 = recorder.getUniqueName("file2"); const tokenCredential = getTokenCredential(); @@ -258,14 +259,14 @@ describe("FileClient Node.js only", () => { await fileURL2.uploadRangeFromURL(blockBlob.url, 0, 0, 512, { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } }); await fileURL2.uploadRangeFromURL(blockBlob.url, 512, 512, 512, { sourceAuthorization: { scheme: "Bearer", - parameter: accessToken!.token + value: accessToken!.token } }); diff --git a/sdk/storage/storage-file-share/test/node/fileserviceclient.spec.ts b/sdk/storage/storage-file-share/test/node/fileserviceclient.spec.ts index fb2b1550a4b9..70b58aede1bc 100644 --- a/sdk/storage/storage-file-share/test/node/fileserviceclient.spec.ts +++ b/sdk/storage/storage-file-share/test/node/fileserviceclient.spec.ts @@ -5,13 +5,14 @@ import * as assert from "assert"; import { getBSU, getConnectionStringFromEnvironment, recorderEnvSetup } from "../utils"; import * as dotenv from "dotenv"; import { ShareServiceClient, newPipeline, StorageSharedKeyCredential } from "../../src"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); describe("FileServiceClient Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-file-share/test/node/highlevel.node.spec.ts b/sdk/storage/storage-file-share/test/node/highlevel.node.spec.ts index 6b6dfd6b600e..d14fae63b187 100644 --- a/sdk/storage/storage-file-share/test/node/highlevel.node.spec.ts +++ b/sdk/storage/storage-file-share/test/node/highlevel.node.spec.ts @@ -11,10 +11,10 @@ import { createRandomLocalFile, getBSU, recorderEnvSetup } from "../utils"; import { RetriableReadableStreamOptions } from "../../src/utils/RetriableReadableStream"; import { ShareClient, ShareDirectoryClient, ShareFileClient } from "../../src"; import { readStreamToLocalFileWithLogs } from "../../test/utils/testutils.node"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); -// tslint:disable:no-empty describe("Highlevel Node.js only", () => { let shareName: string; let shareClient: ShareClient; @@ -31,7 +31,7 @@ describe("Highlevel Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); @@ -44,7 +44,7 @@ describe("Highlevel Node.js only", () => { fileClient = dirClient.getFileClient(fileName); }); - afterEach(async function() { + afterEach(async function(this: Context) { if (!this.currentTest?.isPending()) { await shareClient.delete(); await recorder.stop(); @@ -386,6 +386,7 @@ describe("Highlevel Node.js only", () => { concurrency: 20 }); + /* eslint-disable-next-line prefer-const*/ let retriableReadableStreamOptions: RetriableReadableStreamOptions; const downloadResponse = await fileClient.download(0, undefined, { maxRetryRequests: 1, @@ -415,6 +416,7 @@ describe("Highlevel Node.js only", () => { concurrency: 20 }); + /* eslint-disable-next-line prefer-const*/ let retriableReadableStreamOptions: RetriableReadableStreamOptions; let injectedErrors = 0; const downloadResponse = await fileClient.download(0, undefined, { @@ -447,6 +449,7 @@ describe("Highlevel Node.js only", () => { const partialSize = 10 * 1024; + /* eslint-disable-next-line prefer-const*/ let retriableReadableStreamOptions: RetriableReadableStreamOptions; let injectedErrors = 0; const downloadResponse = await fileClient.download(1, partialSize, { diff --git a/sdk/storage/storage-file-share/test/node/sas.spec.ts b/sdk/storage/storage-file-share/test/node/sas.spec.ts index cbe9f7d51aaa..7c63f236670d 100644 --- a/sdk/storage/storage-file-share/test/node/sas.spec.ts +++ b/sdk/storage/storage-file-share/test/node/sas.spec.ts @@ -19,13 +19,14 @@ import { generateFileSASQueryParameters } from "../../src/FileSASSignatureValues import { newPipeline } from "../../src/Pipeline"; import { ShareSASPermissions } from "../../src/ShareSASPermissions"; import { getBSU, recorderEnvSetup } from "../utils"; -import { delay, record, Recorder } from "@azure/test-utils-recorder"; +import { delay, record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; describe("Shared Access Signature (SAS) generation Node.js only", () => { let recorder: Recorder; let serviceClient: ShareServiceClient; - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); serviceClient = getBSU(); }); @@ -62,12 +63,13 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { const sasURL = `${serviceClient.url}?${sas}`; const serviceClientWithSAS = new ShareServiceClient(sasURL, newPipeline()); - ( + const result = ( await serviceClientWithSAS .listShares() .byPage() .next() ).value; + assert.ok(result.shareItems!.length >= 0); }); it("generateAccountSASQueryParameters should not work with invalid permission", async () => { @@ -201,12 +203,14 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { const shareClientwithSAS = new ShareClient(sasURL); const dirURLwithSAS = shareClientwithSAS.getDirectoryClient(""); - ( + const result = ( await dirURLwithSAS .listFilesAndDirectories() .byPage() .next() ).value; + assert.ok(result.segment.directoryItems!.length >= 0); + assert.ok(result.segment.fileItems!.length >= 0); await shareClient.delete(); }); @@ -330,12 +334,14 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { const shareClientwithSAS = new ShareClient(sasURL, newPipeline(new AnonymousCredential())); const dirClientwithSAS = shareClientwithSAS.getDirectoryClient(""); - ( + const result = ( await dirClientwithSAS .listFilesAndDirectories() .byPage() .next() ).value; + assert.ok(result.segment.directoryItems!.length >= 0); + assert.ok(result.segment.fileItems!.length >= 0); await shareClient.delete(); }); @@ -436,12 +442,13 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { assert.deepStrictEqual(sasURL, sasURL1); const serviceClientWithSAS = new ShareServiceClient(sasURL); - ( + const result = ( await serviceClientWithSAS .listShares() .byPage() .next() ).value; + assert.ok(result.shareItems!.length >= 0); }); it("ShareServiceClient.generateAccountSasUrl should work with default parameters", async () => { @@ -498,12 +505,14 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { const shareClientwithSAS = new ShareClient(sasURL); const dirURLwithSAS = shareClientwithSAS.getDirectoryClient(""); - ( + const result = ( await dirURLwithSAS .listFilesAndDirectories() .byPage() .next() ).value; + assert.ok(result.segment.directoryItems!.length >= 0); + assert.ok(result.segment.fileItems!.length >= 0); // Should throw with client constructed with an Anonymous credential. let exceptionCaught = false; diff --git a/sdk/storage/storage-file-share/test/node/shareclient.spec.ts b/sdk/storage/storage-file-share/test/node/shareclient.spec.ts index e488f08d2532..a7b39748910d 100644 --- a/sdk/storage/storage-file-share/test/node/shareclient.spec.ts +++ b/sdk/storage/storage-file-share/test/node/shareclient.spec.ts @@ -4,7 +4,8 @@ import * as assert from "assert"; import { newPipeline, ShareClient, StorageSharedKeyCredential, SignedIdentifier } from "../../src"; import { getBSU, getConnectionStringFromEnvironment, recorderEnvSetup } from "./../utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; describe("ShareClient Node.js only", () => { let shareName: string; @@ -12,7 +13,7 @@ describe("ShareClient Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); diff --git a/sdk/storage/storage-file-share/test/node/sharedkeycredentialpolicy.spec.ts b/sdk/storage/storage-file-share/test/node/sharedkeycredentialpolicy.spec.ts index 1b4b380e3bc1..9bbd8592ad27 100644 --- a/sdk/storage/storage-file-share/test/node/sharedkeycredentialpolicy.spec.ts +++ b/sdk/storage/storage-file-share/test/node/sharedkeycredentialpolicy.spec.ts @@ -3,7 +3,8 @@ import { getBSU, recorderEnvSetup } from "../utils"; import { ShareClient } from "../../src"; -import { Recorder, record } from "@azure/test-utils-recorder"; +import { Recorder, record } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; describe("StorageSharedKeyCredentialPolicy Node.js only", () => { let shareName: string; @@ -11,7 +12,7 @@ describe("StorageSharedKeyCredentialPolicy Node.js only", () => { let recorder: Recorder; - before(async function() { + before(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("1share-with-dash"); @@ -20,13 +21,13 @@ describe("StorageSharedKeyCredentialPolicy Node.js only", () => { await recorder.stop(); }); - after(async function() { + after(async function(this: Context) { recorder = record(this, recorderEnvSetup); await shareClient.delete(); await recorder.stop(); }); - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-file-share/test/node/utils.spec.ts b/sdk/storage/storage-file-share/test/node/utils.spec.ts index 59d1548c9589..cf8cf06e2c50 100644 --- a/sdk/storage/storage-file-share/test/node/utils.spec.ts +++ b/sdk/storage/storage-file-share/test/node/utils.spec.ts @@ -4,8 +4,9 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { extractConnectionStringParts } from "../../src/utils/utils.common"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "../utils"; +import { Context } from "mocha"; dotenv.config(); describe("Utility Helpers Node.js only", () => { @@ -35,7 +36,7 @@ describe("Utility Helpers Node.js only", () => { ); } - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-file-share/test/retrypolicy.spec.ts b/sdk/storage/storage-file-share/test/retrypolicy.spec.ts index 5958c50241e7..61945063d103 100644 --- a/sdk/storage/storage-file-share/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-file-share/test/retrypolicy.spec.ts @@ -8,7 +8,8 @@ import { RestError, ShareClient } from "../src"; import { newPipeline, Pipeline } from "../src/Pipeline"; import { getBSU, recorderEnvSetup } from "./utils"; import { InjectorPolicyFactory } from "./utils/InjectorPolicyFactory"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); @@ -18,7 +19,7 @@ describe("RetryPolicy", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); diff --git a/sdk/storage/storage-file-share/test/shareclient.spec.ts b/sdk/storage/storage-file-share/test/shareclient.spec.ts index 89c3fc792ee7..f711bfc3ab5a 100644 --- a/sdk/storage/storage-file-share/test/shareclient.spec.ts +++ b/sdk/storage/storage-file-share/test/shareclient.spec.ts @@ -5,7 +5,8 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { getBSU, getSASConnectionStringFromEnvironment, recorderEnvSetup } from "./utils"; import { ShareClient, ShareServiceClient } from "../src"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); describe("ShareClient", () => { @@ -15,7 +16,7 @@ describe("ShareClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); serviceClient = getBSU(); shareName = recorder.getUniqueName("share"); @@ -200,7 +201,6 @@ describe("ShareClient", () => { it("throws error if constructor shareName parameter is empty", async () => { try { - // tslint:disable-next-line: no-unused-expression new ShareClient(getSASConnectionStringFromEnvironment(), ""); assert.fail("Expecting an thrown error but didn't get one."); } catch (error) { diff --git a/sdk/storage/storage-file-share/test/specialnaming.spec.ts b/sdk/storage/storage-file-share/test/specialnaming.spec.ts index 1fb154ac7a0e..6815fff771a8 100644 --- a/sdk/storage/storage-file-share/test/specialnaming.spec.ts +++ b/sdk/storage/storage-file-share/test/specialnaming.spec.ts @@ -5,8 +5,9 @@ import { ShareClient, ShareFileClient, ShareDirectoryClient } from "../src"; import { getBSU, recorderEnvSetup } from "./utils/index"; import * as assert from "assert"; import { appendToURLPath } from "../src/utils/utils.common"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; +import { Context } from "mocha"; dotenv.config(); describe("Special Naming Tests", () => { @@ -17,7 +18,7 @@ describe("Special Naming Tests", () => { let recorder: Recorder; - before(async function() { + before(async function(this: Context) { recorder = record(this, recorderEnvSetup); const serviceClient = getBSU(); @@ -33,13 +34,13 @@ describe("Special Naming Tests", () => { await recorder.stop(); }); - after(async function() { + after(async function(this: Context) { recorder = record(this, recorderEnvSetup); await shareClient.delete(); await recorder.stop(); }); - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); }); @@ -207,10 +208,10 @@ describe("Special Naming Tests", () => { }); it("Should work with special directory name characters", async () => { - const directoryName: string = recorder.getUniqueName( + const directoryNameSpecialChar: string = recorder.getUniqueName( "汉字. special ~!@#$%^&()_+`1234567890-={}[];','" ); - const specialDirectoryClient = shareClient.getDirectoryClient(directoryName); + const specialDirectoryClient = shareClient.getDirectoryClient(directoryNameSpecialChar); const rootDirectoryClient = shareClient.getDirectoryClient(""); await specialDirectoryClient.create(); @@ -220,7 +221,7 @@ describe("Special Naming Tests", () => { await rootDirectoryClient .listFilesAndDirectories({ // NOTICE: Azure Storage Server will replace "\" with "/" in the file names - prefix: directoryName.replace(/\\/g, "/") + prefix: directoryNameSpecialChar.replace(/\\/g, "/") }) .byPage() .next() @@ -230,14 +231,17 @@ describe("Special Naming Tests", () => { }); it("Should work with special directory name characters in URL string", async () => { - const directoryName: string = recorder.getUniqueName( + const directoryNameSpecialChar: string = recorder.getUniqueName( "汉字. special ~!@#$%^&()_+`1234567890-={}[];','" ); const specialDirectoryClient = new ShareDirectoryClient( // There are 2 special cases for a URL string: // Escape "%" when creating XXXClient object with URL strings // Escape "?" otherwise string after "?" will be treated as URL parameters - appendToURLPath(shareClient.url, directoryName.replace(/%/g, "%25").replace(/\?/g, "%3F")), + appendToURLPath( + shareClient.url, + directoryNameSpecialChar.replace(/%/g, "%25").replace(/\?/g, "%3F") + ), (shareClient as any).pipeline ); @@ -250,7 +254,7 @@ describe("Special Naming Tests", () => { await rootDirectoryClient .listFilesAndDirectories({ // NOTICE: Azure Storage Server will replace "\" with "/" in the file names - prefix: directoryName.replace(/\\/g, "/") + prefix: directoryNameSpecialChar.replace(/\\/g, "/") }) .byPage() .next() diff --git a/sdk/storage/storage-file-share/test/utils.spec.ts b/sdk/storage/storage-file-share/test/utils.spec.ts index 7f442b05c688..32a535ff1c3d 100644 --- a/sdk/storage/storage-file-share/test/utils.spec.ts +++ b/sdk/storage/storage-file-share/test/utils.spec.ts @@ -10,9 +10,10 @@ import { extractConnectionStringParts, isIpEndpointStyle } from "../src/utils/utils.common"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "./utils"; import { URLBuilder } from "@azure/core-http"; +import { Context } from "mocha"; dotenv.config(); describe("Utility Helpers", () => { @@ -43,7 +44,7 @@ describe("Utility Helpers", () => { ); } - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-file-share/test/utils/index.browser.ts b/sdk/storage/storage-file-share/test/utils/index.browser.ts index 7c4947239f9b..42c7ce6acf06 100644 --- a/sdk/storage/storage-file-share/test/utils/index.browser.ts +++ b/sdk/storage/storage-file-share/test/utils/index.browser.ts @@ -14,9 +14,9 @@ export function getGenericBSU( const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountSASEnvVar = `${accountType}ACCOUNT_SAS`; - let accountName: string | undefined; + const accountName = (self as any).__env__[accountNameEnvVar]; + let accountSAS: string | undefined; - accountName = (self as any).__env__[accountNameEnvVar]; accountSAS = (self as any).__env__[accountSASEnvVar]; if (!accountName || !accountSAS || accountName === "" || accountSAS === "") { @@ -62,7 +62,6 @@ export async function bodyToString( readableStreamBody?: NodeJS.ReadableStream; blobBody?: Promise; }, - // tslint:disable-next-line:variable-name _length?: number ): Promise { const blob = await response.blobBody!; @@ -131,7 +130,7 @@ export function getSASConnectionStringFromEnvironment(): string { export function arraysEqual(a: Uint8Array, b: Uint8Array): boolean { if (a === b) return true; if (a == null || b == null) return false; - if (a.length != b.length) return false; + if (a.length !== b.length) return false; for (let i = 0; i < a.length; ++i) { if (a[i] !== b[i]) return false; diff --git a/sdk/storage/storage-file-share/test/utils/index.ts b/sdk/storage/storage-file-share/test/utils/index.ts index 7ec3ae7576ab..0006d6e76246 100644 --- a/sdk/storage/storage-file-share/test/utils/index.ts +++ b/sdk/storage/storage-file-share/test/utils/index.ts @@ -29,11 +29,8 @@ export function getGenericBSU( const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountKeyEnvVar = `${accountType}ACCOUNT_KEY`; - let accountName: string | undefined; - let accountKey: string | undefined; - - accountName = process.env[accountNameEnvVar]; - accountKey = process.env[accountKeyEnvVar]; + const accountName = process.env[accountNameEnvVar]; + const accountKey = process.env[accountKeyEnvVar]; if (!accountName || !accountKey || accountName === "" || accountKey === "") { throw new Error( @@ -93,8 +90,7 @@ export async function bodyToString( ): Promise { return new Promise((resolve, reject) => { response.readableStreamBody!.on("readable", () => { - let chunk; - chunk = response.readableStreamBody!.read(length); + const chunk = response.readableStreamBody!.read(length); if (chunk) { resolve(chunk.toString()); } @@ -125,16 +121,18 @@ export async function createRandomLocalFile( } ws.on("open", () => { - // tslint:disable-next-line:no-empty - while (offsetInMB++ < blockNumber && ws.write(randomValueHex())) {} + while (offsetInMB++ < blockNumber && ws.write(randomValueHex())) { + /* empty */ + } if (offsetInMB >= blockNumber) { ws.end(); } }); ws.on("drain", () => { - // tslint:disable-next-line:no-empty - while (offsetInMB++ < blockNumber && ws.write(randomValueHex())) {} + while (offsetInMB++ < blockNumber && ws.write(randomValueHex())) { + /* empty */ + } if (offsetInMB >= blockNumber) { ws.end(); } @@ -199,9 +197,7 @@ async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise&1", "build:types": "downlevel-dts types/latest types/3.1", - "build": "npm run build:es6 && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && npm run build:es6 && npm run build:nodebrowser && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings temp statistics.html coverage coverage-browser .nyc_output *.tgz *.log test*.xml TEST*.xml", "extract-api": "tsc -p . && api-extractor run --local", @@ -54,7 +54,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o storage-internal-avro-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -71,7 +70,7 @@ "devDependencies": { "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/dev-tool": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-multi-entry": "^3.0.0", "@rollup/plugin-replace": "^2.2.0", @@ -101,7 +100,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "@rollup/plugin-commonjs": "11.0.2", @@ -111,7 +110,7 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "util": "^0.12.1" } diff --git a/sdk/storage/storage-queue/CHANGELOG.md b/sdk/storage/storage-queue/CHANGELOG.md index 77fae0caaa41..47548af43e05 100644 --- a/sdk/storage/storage-queue/CHANGELOG.md +++ b/sdk/storage/storage-queue/CHANGELOG.md @@ -1,16 +1,21 @@ # Release History -## 12.7.0 (Unreleased) +## 12.7.1 (Unreleased) ### Features Added -- With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. - ### Breaking Changes -### Key Bugs Fixed +### Bugs Fixed + +### Other Changes + +## 12.7.0 (2021-09-10) -### Fixed +### Features Added + +- Added support for service version 2020-10-02. +- With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. ## 12.6.0 (2021-08-02) diff --git a/sdk/storage/storage-queue/karma.conf.js b/sdk/storage/storage-queue/karma.conf.js index 6bba65f91944..648987409cf6 100644 --- a/sdk/storage/storage-queue/karma.conf.js +++ b/sdk/storage/storage-queue/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/storage/storage-queue/package.json b/sdk/storage/storage-queue/package.json index b4863d6017c2..a81e039e4b05 100644 --- a/sdk/storage/storage-queue/package.json +++ b/sdk/storage/storage-queue/package.json @@ -1,7 +1,7 @@ { "name": "@azure/storage-queue", "sdk-type": "client", - "version": "12.7.0", + "version": "12.7.1", "description": "Microsoft Azure Storage SDK for JavaScript - Queue", "main": "./dist/index.js", "module": "./dist-esm/src/index.js", @@ -32,7 +32,7 @@ "build:samples": "dev-tool samples prep && cd dist-samples && tsc -p .", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", "build:types": "downlevel-dts typings/latest typings/3.1", - "build": "tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && npm run build:nodebrowser && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* typings temp statistics.html coverage coverage-browser .nyc_output *.tgz *.log test*.xml TEST*.xml", "clean:samples": "rimraf samples/javascript/node_modules samples/typescript/node_modules samples/typescript/dist samples/typescript/package-lock.json samples/javascript/package-lock.json", @@ -43,9 +43,8 @@ "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --full-trace -t 120000 \"dist-esm/test/*.spec.js\" \"dist-esm/test/node/*.spec.js\"", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix", - "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o storage-queue-lintReport.html || exit 0", + "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -119,9 +118,9 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-multi-entry": "^3.0.0", @@ -154,7 +153,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", @@ -162,7 +161,7 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^4.0.4", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "typedoc": "0.15.2", "util": "^0.12.1" diff --git a/sdk/storage/storage-queue/src/QueueClient.ts b/sdk/storage/storage-queue/src/QueueClient.ts index 7d82010c5849..60319488b6eb 100644 --- a/sdk/storage/storage-queue/src/QueueClient.ts +++ b/sdk/storage/storage-queue/src/QueueClient.ts @@ -198,7 +198,7 @@ export interface QueueClearMessagesOptions extends CommonOptions { /** Optional parameters. */ export interface MessagesEnqueueOptionalParams extends RequestOptionsBase { - /** The The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Queue Service Operations. */ timeoutInSeconds?: number; /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */ requestId?: string; @@ -215,7 +215,7 @@ export interface QueueSendMessageOptions extends MessagesEnqueueOptionalParams, /** Optional parameters. */ export interface MessagesDequeueOptionalParams extends RequestOptionsBase { - /** The The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Queue Service Operations. */ timeoutInSeconds?: number; /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */ requestId?: string; @@ -232,7 +232,7 @@ export interface QueueReceiveMessageOptions extends MessagesDequeueOptionalParam /** Optional parameters. */ export interface MessagesPeekOptionalParams extends RequestOptionsBase { - /** The The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Queue Service Operations. */ timeoutInSeconds?: number; /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */ requestId?: string; @@ -486,6 +486,8 @@ export class QueueClient extends StorageClient { * @param queueName - Queue name. * @param options - Options to configure the HTTP pipeline. */ + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ constructor(connectionString: string, queueName: string, options?: StoragePipelineOptions); /** * Creates an instance of QueueClient. @@ -500,6 +502,8 @@ export class QueueClient extends StorageClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ); /** @@ -521,6 +525,8 @@ export class QueueClient extends StorageClient { | TokenCredential | Pipeline | string, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { options = options || {}; @@ -650,7 +656,7 @@ export class QueueClient extends StorageClient { // When a queue with the specified name already exists, the Queue service checks the metadata associated with the existing queue. // If the existing metadata is identical to the metadata specified on the Create Queue request, status code 204 (No Content) is returned. // If the existing metadata does not match, the operation fails and status code 409 (Conflict) is returned. - if (response._response.status == 204) { + if (response._response.status === 204) { return { succeeded: false, ...response diff --git a/sdk/storage/storage-queue/src/QueueServiceClient.ts b/sdk/storage/storage-queue/src/QueueServiceClient.ts index 38cdbb4fb6c9..16957c74ebf0 100644 --- a/sdk/storage/storage-queue/src/QueueServiceClient.ts +++ b/sdk/storage/storage-queue/src/QueueServiceClient.ts @@ -174,6 +174,8 @@ export class QueueServiceClient extends StorageClient { */ public static fromConnectionString( connectionString: string, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ): QueueServiceClient { options = options || {}; @@ -247,6 +249,8 @@ export class QueueServiceClient extends StorageClient { constructor( url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ); /** @@ -266,6 +270,8 @@ export class QueueServiceClient extends StorageClient { | AnonymousCredential | TokenCredential | Pipeline, + // Legacy, no way to fix the eslint error without breaking. Disable the rule for this line. + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */ options?: StoragePipelineOptions ) { let pipeline: Pipeline; diff --git a/sdk/storage/storage-queue/src/SASQueryParameters.ts b/sdk/storage/storage-queue/src/SASQueryParameters.ts index 9ce0b986d013..00c4a997a6f2 100644 --- a/sdk/storage/storage-queue/src/SASQueryParameters.ts +++ b/sdk/storage/storage-queue/src/SASQueryParameters.ts @@ -22,7 +22,7 @@ export enum SASProtocol { /** * Represents the components that make up an Azure Storage SAS' query parameters. This type is not constructed directly * by the user; it is only generated by the {@link AccountSASSignatureValues} and {@link QueueSASSignatureValues} - * types. Once generated, it can be encoded into a {@code String} and appended to a URL directly (though caution should + * types. Once generated, it can be encoded into a {@link String} and appended to a URL directly (though caution should * be taken here in case there are existing query parameters, which might affect the appropriate means of appending * these query parameters). * diff --git a/sdk/storage/storage-queue/src/StorageClient.ts b/sdk/storage/storage-queue/src/StorageClient.ts index bc1b362afea8..d221be4b2ee7 100644 --- a/sdk/storage/storage-queue/src/StorageClient.ts +++ b/sdk/storage/storage-queue/src/StorageClient.ts @@ -78,7 +78,9 @@ export abstract class StorageClient { this.credential = factory; break; } - } catch (err) {} + } catch (err) { + // ignore errors in creating policy, the client instance may still work without the policy. + } } } } @@ -92,6 +94,5 @@ export abstract class StorageClient { * Defines values for ListQueuesIncludeType. * Possible values include: 'metadata' * @readonly - * @enum {string} */ export type ListQueuesIncludeType = "metadata"; diff --git a/sdk/storage/storage-queue/src/credentials/Credential.ts b/sdk/storage/storage-queue/src/credentials/Credential.ts index ec1bee135c2c..bd795dcd129d 100644 --- a/sdk/storage/storage-queue/src/credentials/Credential.ts +++ b/sdk/storage/storage-queue/src/credentials/Credential.ts @@ -15,12 +15,7 @@ export abstract class Credential implements RequestPolicyFactory { * @param _nextPolicy - * @param _options - */ - public create( - // tslint:disable-next-line:variable-name - _nextPolicy: RequestPolicy, - // tslint:disable-next-line:variable-name - _options: RequestPolicyOptions - ): RequestPolicy { + public create(_nextPolicy: RequestPolicy, _options: RequestPolicyOptions): RequestPolicy { throw new Error("Method should be implemented in children classes."); } } diff --git a/sdk/storage/storage-queue/src/generated/src/models/parameters.ts b/sdk/storage/storage-queue/src/generated/src/models/parameters.ts index 008c8d1a3c5f..34181ee7c8f9 100644 --- a/sdk/storage/storage-queue/src/generated/src/models/parameters.ts +++ b/sdk/storage/storage-queue/src/generated/src/models/parameters.ts @@ -100,7 +100,7 @@ export const timeoutInSeconds: OperationQueryParameter = { export const version: OperationParameter = { parameterPath: "version", mapper: { - defaultValue: "2020-08-04", + defaultValue: "2020-10-02", isConstant: true, serializedName: "x-ms-version", type: { diff --git a/sdk/storage/storage-queue/src/generated/src/storageClientContext.ts b/sdk/storage/storage-queue/src/generated/src/storageClientContext.ts index 9766d423ac5b..b9d56472274a 100644 --- a/sdk/storage/storage-queue/src/generated/src/storageClientContext.ts +++ b/sdk/storage/storage-queue/src/generated/src/storageClientContext.ts @@ -10,7 +10,7 @@ import * as coreHttp from "@azure/core-http"; import { StorageClientOptionalParams } from "./models"; const packageName = "azure-storage-queue"; -const packageVersion = "12.6.0"; +const packageVersion = "12.7.1"; export class StorageClientContext extends coreHttp.ServiceClient { url: string; @@ -47,6 +47,6 @@ export class StorageClientContext extends coreHttp.ServiceClient { this.url = url; // Assigning values to Constant parameters - this.version = options.version || "2020-08-04"; + this.version = options.version || "2020-10-02"; } } diff --git a/sdk/storage/storage-queue/src/policies/AnonymousCredentialPolicy.ts b/sdk/storage/storage-queue/src/policies/AnonymousCredentialPolicy.ts index 08e4118ad4c0..fbe370ad037d 100644 --- a/sdk/storage/storage-queue/src/policies/AnonymousCredentialPolicy.ts +++ b/sdk/storage/storage-queue/src/policies/AnonymousCredentialPolicy.ts @@ -15,6 +15,8 @@ export class AnonymousCredentialPolicy extends CredentialPolicy { * @param nextPolicy - * @param options - */ + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } diff --git a/sdk/storage/storage-queue/src/policies/StorageBrowserPolicy.ts b/sdk/storage/storage-queue/src/policies/StorageBrowserPolicy.ts index 35748194822e..814b65e6a05b 100644 --- a/sdk/storage/storage-queue/src/policies/StorageBrowserPolicy.ts +++ b/sdk/storage/storage-queue/src/policies/StorageBrowserPolicy.ts @@ -30,6 +30,8 @@ export class StorageBrowserPolicy extends BaseRequestPolicy { * @param nextPolicy - * @param options - */ + // The base class has a protected constructor. Adding a public one to enable constructing of this class. + /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { super(nextPolicy, options); } diff --git a/sdk/storage/storage-queue/src/policies/StorageRetryPolicy.ts b/sdk/storage/storage-queue/src/policies/StorageRetryPolicy.ts index 57881fe7821b..3cfaf428e94e 100644 --- a/sdk/storage/storage-queue/src/policies/StorageRetryPolicy.ts +++ b/sdk/storage/storage-queue/src/policies/StorageRetryPolicy.ts @@ -179,7 +179,7 @@ export class StorageRetryPolicy extends BaseRequestPolicy { } await this.delay(isPrimaryRetry, attempt, request.abortSignal); - return await this.attemptSendRequest(request, secondaryHas404, ++attempt); + return this.attemptSendRequest(request, secondaryHas404, ++attempt); } /** diff --git a/sdk/storage/storage-queue/src/policies/StorageSharedKeyCredentialPolicy.ts b/sdk/storage/storage-queue/src/policies/StorageSharedKeyCredentialPolicy.ts index 041f8abd2252..4ffa83068d92 100644 --- a/sdk/storage/storage-queue/src/policies/StorageSharedKeyCredentialPolicy.ts +++ b/sdk/storage/storage-queue/src/policies/StorageSharedKeyCredentialPolicy.ts @@ -155,7 +155,7 @@ export class StorageSharedKeyCredentialPolicy extends CredentialPolicy { if (queries) { const queryKeys: string[] = []; for (const key in queries) { - if (queries.hasOwnProperty(key)) { + if (Object.prototype.hasOwnProperty.call(queries, key)) { const lowercaseKey = key.toLowerCase(); lowercaseQueries[lowercaseKey] = queries[key]; queryKeys.push(lowercaseKey); diff --git a/sdk/storage/storage-queue/src/utils/constants.ts b/sdk/storage/storage-queue/src/utils/constants.ts index e8edb5fe01e7..fe14bc6fd28d 100644 --- a/sdk/storage/storage-queue/src/utils/constants.ts +++ b/sdk/storage/storage-queue/src/utils/constants.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export const SDK_VERSION: string = "12.7.0"; -export const SERVICE_VERSION: string = "2020-08-04"; +export const SDK_VERSION: string = "12.7.1"; +export const SERVICE_VERSION: string = "2020-10-02"; /** * The OAuth scope to use with Azure Storage. diff --git a/sdk/storage/storage-queue/src/utils/tracing.ts b/sdk/storage/storage-queue/src/utils/tracing.ts index 1f40a167cd8c..7167ebc35db0 100644 --- a/sdk/storage/storage-queue/src/utils/tracing.ts +++ b/sdk/storage/storage-queue/src/utils/tracing.ts @@ -24,7 +24,8 @@ export function convertTracingToRequestOptionsBase( options?: OperationOptions ): Pick { return { - spanOptions: options?.tracingOptions?.spanOptions, + // By passing spanOptions if they exist at runtime, we're backwards compatible with @azure/core-tracing@preview.13 and earlier. + spanOptions: (options?.tracingOptions as any)?.spanOptions, tracingContext: options?.tracingOptions?.tracingContext }; } diff --git a/sdk/storage/storage-queue/src/utils/utils.common.ts b/sdk/storage/storage-queue/src/utils/utils.common.ts index fa8d0f939177..0ba713c2825c 100644 --- a/sdk/storage/storage-queue/src/utils/utils.common.ts +++ b/sdk/storage/storage-queue/src/utils/utils.common.ts @@ -267,8 +267,13 @@ export function truncatedISO8061Date(date: Date, withMilliseconds: boolean = tru * @param aborter - * @param abortError - */ -export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortError?: Error) { +export async function delay( + timeInMs: number, + aborter?: AbortSignalLike, + abortError?: Error +): Promise { return new Promise((resolve, reject) => { + /* eslint-disable-next-line prefer-const*/ let timeout: any; const abortHandler = () => { @@ -292,36 +297,6 @@ export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortEr }); } -/** - * String.prototype.padStart() - * - * @param currentString - - * @param targetLength - - * @param padString - - */ -export function padStart( - currentString: string, - targetLength: number, - padString: string = " " -): string { - // TS doesn't know this code needs to run downlevel sometimes. - // @ts-expect-error - if (String.prototype.padStart) { - return currentString.padStart(targetLength, padString); - } - - padString = padString || " "; - if (currentString.length > targetLength) { - return currentString; - } else { - targetLength = targetLength - currentString.length; - if (targetLength > padString.length) { - padString += padString.repeat(targetLength / padString.length); - } - return padString.slice(0, targetLength) + currentString; - } -} - /** * Sanitizes a url by removing the Signature parameter * @param url - to sanitize @@ -384,12 +359,12 @@ export function getAccountNameFromUrl(url: string): string { } export function isIpEndpointStyle(parsedUrl: URLBuilder): boolean { - if (parsedUrl.getHost() == undefined) { + if (parsedUrl.getHost() === undefined) { return false; } const host = - parsedUrl.getHost()! + (parsedUrl.getPort() == undefined ? "" : ":" + parsedUrl.getPort()); + parsedUrl.getHost()! + (parsedUrl.getPort() === undefined ? "" : ":" + parsedUrl.getPort()); // Case 1: Ipv6, use a broad regex to find out candidates whose host contains two ':'. // Case 2: localhost(:port), use broad regex to match port part. diff --git a/sdk/storage/storage-queue/swagger/README.md b/sdk/storage/storage-queue/swagger/README.md index cf974f649679..a516eeb5ff7f 100644 --- a/sdk/storage/storage-queue/swagger/README.md +++ b/sdk/storage/storage-queue/swagger/README.md @@ -20,7 +20,7 @@ disable-async-iterators: true add-credentials: false use-extension: "@autorest/typescript": "6.0.0-dev.20210218.1" -package-version: 12.7.0 +package-version: 12.7.1 ``` ## Customizations for Track 2 Generator @@ -226,13 +226,13 @@ directive: $["x-ms-client-name"] = "queueAnalyticsLogging" ``` -### Update service version from "2018-03-28" to "2020-08-04" +### Update service version from "2018-03-28" to "2020-10-02" ```yaml directive: - from: swagger-document where: $.parameters.ApiVersionParameter - transform: $.enum = [ "2020-08-04" ]; + transform: $.enum = [ "2020-10-02" ]; ``` ### Rename AccessPolicy start -> startsOn diff --git a/sdk/storage/storage-queue/test/aborter.spec.ts b/sdk/storage/storage-queue/test/aborter.spec.ts index fea1ed827227..e2f8892f1a2d 100644 --- a/sdk/storage/storage-queue/test/aborter.spec.ts +++ b/sdk/storage/storage-queue/test/aborter.spec.ts @@ -8,17 +8,17 @@ import { QueueClient } from "../src/QueueClient"; import { getQSU } from "./utils"; import * as dotenv from "dotenv"; import { recorderEnvSetup } from "./utils/testutils.common"; -import { Recorder, record } from "@azure/test-utils-recorder"; +import { Recorder, record } from "@azure-tools/test-recorder"; +import { Context } from "mocha"; dotenv.config(); -// tslint:disable:no-empty describe("Aborter", () => { let queueName: string; let queueClient: QueueClient; let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const queueServiceClient = getQSU(); queueName = recorder.getUniqueName("queue"); diff --git a/sdk/storage/storage-queue/test/messageidclient.spec.ts b/sdk/storage/storage-queue/test/messageidclient.spec.ts index d94ef14726c1..aed1f33cbdb8 100644 --- a/sdk/storage/storage-queue/test/messageidclient.spec.ts +++ b/sdk/storage/storage-queue/test/messageidclient.spec.ts @@ -4,10 +4,11 @@ import * as assert from "assert"; import { getQSU, getSASConnectionStringFromEnvironment } from "./utils"; import { QueueClient } from "../src/QueueClient"; -import { record, delay, Recorder } from "@azure/test-utils-recorder"; +import { record, delay, Recorder } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; import { extractConnectionStringParts } from "../src/utils/utils.common"; import { recorderEnvSetup } from "./utils/index.browser"; +import { Context } from "mocha"; dotenv.config(); describe("QueueClient messageId methods", () => { @@ -17,7 +18,7 @@ describe("QueueClient messageId methods", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const queueServiceClient = getQSU(); queueName = recorder.getUniqueName("queue"); diff --git a/sdk/storage/storage-queue/test/node/emulator-tests.spec.ts b/sdk/storage/storage-queue/test/node/emulator-tests.spec.ts index 1621b1ff5fc2..917e93534d02 100644 --- a/sdk/storage/storage-queue/test/node/emulator-tests.spec.ts +++ b/sdk/storage/storage-queue/test/node/emulator-tests.spec.ts @@ -2,6 +2,7 @@ // Licensed under the MIT license. import * as assert from "assert"; +import { Context } from "mocha"; import { QueueClient, QueueServiceClient } from "../../src"; import { getConnectionStringFromEnvironment, getQSU } from "../utils"; import { isBrowser, getUniqueName } from "../utils/testutils.common"; @@ -13,7 +14,7 @@ describe("Emulator Tests", () => { let queueName: string; let queueClient: QueueClient; const env = isBrowser() ? (self as any).__env__ : process.env; - beforeEach(async function() { + beforeEach(async function(this: Context) { if (!env.STORAGE_CONNECTION_STRING.startsWith("UseDevelopmentStorage=true")) { this.skip(); } @@ -41,14 +42,14 @@ describe("Emulator Tests", () => { assert.ok(eResult.messageId); assert.ok(eResult.popReceipt); - const queueClient = new QueueClient(getConnectionStringFromEnvironment(), queueName); + const tempQueueClient = new QueueClient(getConnectionStringFromEnvironment(), queueName); const buffer = Buffer.alloc(64); // 64B buffer.fill("a"); buffer.write("aaaa", 0); const newMessage = buffer.toString(); - const uResult = await queueClient.updateMessage( + const uResult = await tempQueueClient.updateMessage( eResult.messageId, eResult.popReceipt, newMessage diff --git a/sdk/storage/storage-queue/test/node/messageidclient.spec.ts b/sdk/storage/storage-queue/test/node/messageidclient.spec.ts index c89fea4cefc3..61520a248d4d 100644 --- a/sdk/storage/storage-queue/test/node/messageidclient.spec.ts +++ b/sdk/storage/storage-queue/test/node/messageidclient.spec.ts @@ -4,10 +4,11 @@ import * as assert from "assert"; import { newPipeline } from "../../src"; import { getQSU, getConnectionStringFromEnvironment } from "../utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { QueueClient } from "../../src/QueueClient"; import { StorageSharedKeyCredential } from "../../src/credentials/StorageSharedKeyCredential"; import { recorderEnvSetup } from "../utils/index.browser"; +import { Context } from "mocha"; describe("QueueClient messageId methods, Node.js only", () => { let queueName: string; @@ -16,7 +17,7 @@ describe("QueueClient messageId methods, Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const queueServiceClient = getQSU(); queueName = recorder.getUniqueName("queue"); @@ -206,7 +207,6 @@ describe("QueueClient messageId methods, Node.js only", () => { it("throws error if constructor queueName parameter is empty", async () => { try { - // tslint:disable-next-line: no-unused-expression new QueueClient(getConnectionStringFromEnvironment(), ""); assert.fail("Expecting an thrown error but didn't get one."); } catch (error) { diff --git a/sdk/storage/storage-queue/test/node/messagesclient.spec.ts b/sdk/storage/storage-queue/test/node/messagesclient.spec.ts index 75f3e64fa80c..af2aeee666fb 100644 --- a/sdk/storage/storage-queue/test/node/messagesclient.spec.ts +++ b/sdk/storage/storage-queue/test/node/messagesclient.spec.ts @@ -3,13 +3,14 @@ import * as assert from "assert"; import { getQSU, getConnectionStringFromEnvironment } from "../utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { QueueClient } from "../../src/QueueClient"; import { StorageSharedKeyCredential } from "../../src/credentials/StorageSharedKeyCredential"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; import { newPipeline } from "../../src"; import { recorderEnvSetup } from "../utils/index.browser"; +import { Context } from "mocha"; describe("QueueClient message methods, Node.js only", () => { let queueName: string; @@ -18,7 +19,7 @@ describe("QueueClient message methods, Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const queueServiceClient = getQSU(); queueName = recorder.getUniqueName("queue"); @@ -37,9 +38,9 @@ describe("QueueClient message methods, Node.js only", () => { const buffer = Buffer.alloc(64 * 1024); // 64KB buffer.fill("a"); buffer.write(specialChars, 0); - const messageContent = buffer.toString(); + const newMessageContent = buffer.toString(); - const eResult = await queueClient.sendMessage(messageContent, { + const eResult = await queueClient.sendMessage(newMessageContent, { messageTimeToLive: 40, visibilityTimeout: 0 }); @@ -59,7 +60,7 @@ describe("QueueClient message methods, Node.js only", () => { assert.ok(eResult.clientRequestId); assert.ok(pResult.version); assert.deepStrictEqual(pResult.peekedMessageItems.length, 1); - assert.deepStrictEqual(pResult.peekedMessageItems[0].messageText, messageContent); + assert.deepStrictEqual(pResult.peekedMessageItems[0].messageText, newMessageContent); assert.deepStrictEqual(pResult.peekedMessageItems[0].dequeueCount, 0); assert.deepStrictEqual(pResult.peekedMessageItems[0].messageId, eResult.messageId); assert.deepStrictEqual(pResult.peekedMessageItems[0].insertedOn, eResult.insertedOn); @@ -74,7 +75,7 @@ describe("QueueClient message methods, Node.js only", () => { assert.ok(eResult.clientRequestId); assert.ok(dResult.version); assert.deepStrictEqual(dResult.receivedMessageItems.length, 1); - assert.deepStrictEqual(dResult.receivedMessageItems[0].messageText, messageContent); + assert.deepStrictEqual(dResult.receivedMessageItems[0].messageText, newMessageContent); assert.deepStrictEqual(dResult.receivedMessageItems[0].dequeueCount, 1); assert.deepStrictEqual(dResult.receivedMessageItems[0].messageId, eResult.messageId); assert.deepStrictEqual(dResult.receivedMessageItems[0].insertedOn, eResult.insertedOn); @@ -89,11 +90,11 @@ describe("QueueClient message methods, Node.js only", () => { const buffer = Buffer.alloc(64 * 1024 + 1); buffer.fill("a"); buffer.write(specialChars, 0); - const messageContent = buffer.toString(); + const newMessageContent = buffer.toString(); let error; try { - await queueClient.sendMessage(messageContent, {}); + await queueClient.sendMessage(newMessageContent, {}); } catch (err) { error = err; } diff --git a/sdk/storage/storage-queue/test/node/queueclient.spec.ts b/sdk/storage/storage-queue/test/node/queueclient.spec.ts index df779e660f7a..b6406c2811cd 100644 --- a/sdk/storage/storage-queue/test/node/queueclient.spec.ts +++ b/sdk/storage/storage-queue/test/node/queueclient.spec.ts @@ -3,11 +3,12 @@ import * as assert from "assert"; import { getQSU, getConnectionStringFromEnvironment } from "../utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { newPipeline, QueueClient, StorageSharedKeyCredential } from "../../src"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; import { recorderEnvSetup } from "../utils/testutils.common"; +import { Context } from "mocha"; describe("QueueClient Node.js only", () => { let queueName: string; @@ -15,7 +16,7 @@ describe("QueueClient Node.js only", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const queueServiceClient = getQSU(); queueName = recorder.getUniqueName("queue"); diff --git a/sdk/storage/storage-queue/test/node/queueserviceclient.spec.ts b/sdk/storage/storage-queue/test/node/queueserviceclient.spec.ts index 04ca1bdd4c6b..a97c57d79af3 100644 --- a/sdk/storage/storage-queue/test/node/queueserviceclient.spec.ts +++ b/sdk/storage/storage-queue/test/node/queueserviceclient.spec.ts @@ -3,18 +3,19 @@ import * as assert from "assert"; import { getQSU, getConnectionStringFromEnvironment } from "../utils"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { QueueServiceClient } from "../../src/QueueServiceClient"; import { StorageSharedKeyCredential } from "../../src/credentials/StorageSharedKeyCredential"; import { newPipeline } from "../../src"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; import { recorderEnvSetup } from "../utils/testutils.common"; +import { Context } from "mocha"; describe("QueueServiceClient Node.js only", () => { let recorder: Recorder; - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-queue/test/node/sas.spec.ts b/sdk/storage/storage-queue/test/node/sas.spec.ts index 79d47a6e6cfb..af995504a033 100644 --- a/sdk/storage/storage-queue/test/node/sas.spec.ts +++ b/sdk/storage/storage-queue/test/node/sas.spec.ts @@ -18,14 +18,15 @@ import { } from "../../src"; import { SASProtocol } from "../../src/SASQueryParameters"; import { getQSU } from "../utils/index"; -import { record, delay, Recorder } from "@azure/test-utils-recorder"; +import { record, delay, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "../utils/index.browser"; +import { Context } from "mocha"; describe("Shared Access Signature (SAS) generation Node.js only", () => { let queueServiceClient: QueueServiceClient; let recorder: Recorder; - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); queueServiceClient = getQSU(); }); diff --git a/sdk/storage/storage-queue/test/node/utils.spec.ts b/sdk/storage/storage-queue/test/node/utils.spec.ts index 80fc45e552a8..aaa893fad1fd 100644 --- a/sdk/storage/storage-queue/test/node/utils.spec.ts +++ b/sdk/storage/storage-queue/test/node/utils.spec.ts @@ -4,8 +4,9 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { extractConnectionStringParts } from "../../src/utils/utils.common"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "../utils/index.browser"; +import { Context } from "mocha"; dotenv.config(); describe("Utility Helpers Node.js only", () => { @@ -35,7 +36,7 @@ describe("Utility Helpers Node.js only", () => { ); } - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-queue/test/queueclient.spec.ts b/sdk/storage/storage-queue/test/queueclient.spec.ts index 9dded0c57cb7..487b3488f036 100644 --- a/sdk/storage/storage-queue/test/queueclient.spec.ts +++ b/sdk/storage/storage-queue/test/queueclient.spec.ts @@ -8,8 +8,9 @@ import { QueueClient, QueueServiceClient } from "../src"; import { setSpan, context } from "@azure/core-tracing"; import { SpanGraph, setTracer } from "@azure/test-utils"; import { URLBuilder, RestError } from "@azure/core-http"; -import { Recorder, record } from "@azure/test-utils-recorder"; +import { Recorder, record } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "./utils/testutils.common"; +import { Context } from "mocha"; dotenv.config(); describe("QueueClient", () => { @@ -19,7 +20,7 @@ describe("QueueClient", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); queueServiceClient = getQSU(); queueName = recorder.getUniqueName("queue"); @@ -185,7 +186,6 @@ describe("QueueClient", () => { it("throws error if constructor queueName parameter is empty", async () => { try { - // tslint:disable-next-line: no-unused-expression new QueueClient(getSASConnectionStringFromEnvironment(), ""); assert.fail("Expecting an thrown error but didn't get one."); } catch (error) { @@ -241,12 +241,12 @@ describe("QueueClient - Verify Name Properties", () => { const queueName = "queueName"; const accountName = "myAccount"; - function verifyNameProperties(url: string, accountName: string, queueName: string) { + function verifyNameProperties(url: string, inputAccountName: string, inputQueueName: string) { const newClient = new QueueClient(url); - assert.equal(newClient.name, queueName, "Queue name is not the same as the one provided."); + assert.equal(newClient.name, inputQueueName, "Queue name is not the same as the one provided."); assert.equal( newClient.accountName, - accountName, + inputAccountName, "Account name is not the same as the one provided." ); } diff --git a/sdk/storage/storage-queue/test/queueclientmessages.spec.ts b/sdk/storage/storage-queue/test/queueclientmessages.spec.ts index dc3f2d5df10f..f42a2f59496a 100644 --- a/sdk/storage/storage-queue/test/queueclientmessages.spec.ts +++ b/sdk/storage/storage-queue/test/queueclientmessages.spec.ts @@ -4,10 +4,11 @@ import * as assert from "assert"; import { getQSU, getSASConnectionStringFromEnvironment } from "./utils"; import { QueueClient } from "../src/QueueClient"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import * as dotenv from "dotenv"; import { extractConnectionStringParts } from "../src/utils/utils.common"; import { recorderEnvSetup } from "./utils/testutils.common"; +import { Context } from "mocha"; dotenv.config(); describe("QueueClient message methods", () => { @@ -17,7 +18,7 @@ describe("QueueClient message methods", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); const queueServiceClient = getQSU(); queueName = recorder.getUniqueName("queue"); @@ -231,9 +232,9 @@ describe("QueueClient message methods", () => { }); it("enqueue, peek, dequeue with 64KB characters size which is computed after encoding", async () => { - const messageContent = new Array(64 * 1024 + 1).join("a"); + const newMessageContent = new Array(64 * 1024 + 1).join("a"); - const eResult = await queueClient.sendMessage(messageContent, { + const eResult = await queueClient.sendMessage(newMessageContent, { messageTimeToLive: 40, visibilityTimeout: 0 }); @@ -251,7 +252,7 @@ describe("QueueClient message methods", () => { assert.ok(pResult.requestId); assert.ok(pResult.version); assert.deepStrictEqual(pResult.peekedMessageItems.length, 1); - assert.deepStrictEqual(pResult.peekedMessageItems[0].messageText, messageContent); + assert.deepStrictEqual(pResult.peekedMessageItems[0].messageText, newMessageContent); assert.deepStrictEqual(pResult.peekedMessageItems[0].dequeueCount, 0); assert.deepStrictEqual(pResult.peekedMessageItems[0].messageId, eResult.messageId); assert.deepStrictEqual(pResult.peekedMessageItems[0].insertedOn, eResult.insertedOn); @@ -265,7 +266,7 @@ describe("QueueClient message methods", () => { assert.ok(dResult.requestId); assert.ok(dResult.version); assert.deepStrictEqual(dResult.receivedMessageItems.length, 1); - assert.deepStrictEqual(dResult.receivedMessageItems[0].messageText, messageContent); + assert.deepStrictEqual(dResult.receivedMessageItems[0].messageText, newMessageContent); assert.deepStrictEqual(dResult.receivedMessageItems[0].dequeueCount, 1); assert.deepStrictEqual(dResult.receivedMessageItems[0].messageId, eResult.messageId); assert.deepStrictEqual(dResult.receivedMessageItems[0].insertedOn, eResult.insertedOn); @@ -325,11 +326,11 @@ describe("QueueClient message methods", () => { }); it("enqueue negative with 65537B(64KB+1B) characters size which is computed after encoding", async () => { - const messageContent = new Array(64 * 1024 + 2).join("a"); + const newMessageContent = new Array(64 * 1024 + 2).join("a"); let error; try { - await queueClient.sendMessage(messageContent, {}); + await queueClient.sendMessage(newMessageContent, {}); } catch (err) { error = err; } @@ -369,7 +370,6 @@ describe("QueueClient message methods", () => { it("throws error if constructor queueName parameter is empty", async () => { try { - // tslint:disable-next-line: no-unused-expression new QueueClient(getSASConnectionStringFromEnvironment(), ""); assert.fail("Expecting an thrown error but didn't get one."); } catch (error) { diff --git a/sdk/storage/storage-queue/test/queueserviceclient.spec.ts b/sdk/storage/storage-queue/test/queueserviceclient.spec.ts index 3eab0f6d03b5..6fd8e6a6e5d9 100644 --- a/sdk/storage/storage-queue/test/queueserviceclient.spec.ts +++ b/sdk/storage/storage-queue/test/queueserviceclient.spec.ts @@ -5,14 +5,15 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { QueueServiceClient } from "../src/QueueServiceClient"; import { getAlternateQSU, getQSU, getSASConnectionStringFromEnvironment } from "./utils"; -import { record, delay, Recorder } from "@azure/test-utils-recorder"; +import { record, delay, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "./utils/index.browser"; +import { Context } from "mocha"; dotenv.config(); describe("QueueServiceClient", () => { let recorder: Recorder; - beforeEach(function() { + beforeEach(function(this: Context) { recorder = record(this, recorderEnvSetup); }); @@ -330,6 +331,7 @@ describe("QueueServiceClient", () => { .then((result) => { assert.ok(result.geoReplication!.lastSyncOn); done(); + return; }) .catch(done); }); diff --git a/sdk/storage/storage-queue/test/retrypolicy.spec.ts b/sdk/storage/storage-queue/test/retrypolicy.spec.ts index 3dd1728c80f3..57dd3f598812 100644 --- a/sdk/storage/storage-queue/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-queue/test/retrypolicy.spec.ts @@ -9,8 +9,9 @@ import { AbortController } from "@azure/abort-controller"; import { Pipeline } from "../src/Pipeline"; import { getQSU } from "./utils"; import { InjectorPolicyFactory } from "./utils/InjectorPolicyFactory"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "./utils/index.browser"; +import { Context } from "mocha"; dotenv.config(); @@ -21,7 +22,7 @@ describe("RetryPolicy", () => { let recorder: Recorder; - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); queueServiceClient = getQSU(); queueName = recorder.getUniqueName("queue"); diff --git a/sdk/storage/storage-queue/test/utils.spec.ts b/sdk/storage/storage-queue/test/utils.spec.ts index 3f006b60b39a..3778a8b3bda5 100644 --- a/sdk/storage/storage-queue/test/utils.spec.ts +++ b/sdk/storage/storage-queue/test/utils.spec.ts @@ -10,9 +10,10 @@ import { extractConnectionStringParts, isIpEndpointStyle } from "../src/utils/utils.common"; -import { record, Recorder } from "@azure/test-utils-recorder"; +import { record, Recorder } from "@azure-tools/test-recorder"; import { recorderEnvSetup } from "./utils/testutils.common"; import { URLBuilder } from "@azure/core-http"; +import { Context } from "mocha"; dotenv.config(); describe("Utility Helpers", () => { @@ -43,7 +44,7 @@ describe("Utility Helpers", () => { ); } - beforeEach(async function() { + beforeEach(async function(this: Context) { recorder = record(this, recorderEnvSetup); }); diff --git a/sdk/storage/storage-queue/test/utils/assert.ts b/sdk/storage/storage-queue/test/utils/assert.ts index 88cd43d602d2..562c49e69f64 100644 --- a/sdk/storage/storage-queue/test/utils/assert.ts +++ b/sdk/storage/storage-queue/test/utils/assert.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { StorageClient } from "../../src/StorageClient"; -export function assertClientUsesTokenCredential(client: StorageClient) { +export function assertClientUsesTokenCredential(client: StorageClient): void { const factories = (client as any).pipeline.factories; const authPolicy = factories[factories.length - 1].create(); assert.strictEqual(authPolicy.constructor.name, "BearerTokenAuthenticationPolicy"); diff --git a/sdk/storage/storage-queue/test/utils/index.browser.ts b/sdk/storage/storage-queue/test/utils/index.browser.ts index 2a18360aad91..3e870cfe7f53 100644 --- a/sdk/storage/storage-queue/test/utils/index.browser.ts +++ b/sdk/storage/storage-queue/test/utils/index.browser.ts @@ -13,9 +13,9 @@ export function getGenericQSU( const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountSASEnvVar = `${accountType}ACCOUNT_SAS`; - let accountName: string | undefined; + const accountName = (self as any).__env__[accountNameEnvVar]; + let accountSAS: string | undefined; - accountName = (self as any).__env__[accountNameEnvVar]; accountSAS = (self as any).__env__[accountSASEnvVar]; if (!accountName || !accountSAS || accountName === "" || accountSAS === "") { @@ -57,7 +57,6 @@ export async function bodyToString( readableStreamBody?: NodeJS.ReadableStream; blobBody?: Promise; }, - // tslint:disable-next-line:variable-name _length?: number ): Promise { const blob = await response.blobBody!; diff --git a/sdk/storage/storage-queue/test/utils/index.ts b/sdk/storage/storage-queue/test/utils/index.ts index 7f2254124e16..e595316077e0 100644 --- a/sdk/storage/storage-queue/test/utils/index.ts +++ b/sdk/storage/storage-queue/test/utils/index.ts @@ -12,7 +12,7 @@ import { AccountSASServices } from "../../src"; import { extractConnectionStringParts } from "../../src/utils/utils.common"; -import { env } from "@azure/test-utils-recorder"; +import { env } from "@azure-tools/test-recorder"; // Uncomment if need to enable logger when debugging // import {HttpPipelineLogLevel} from "../../src" @@ -31,11 +31,8 @@ export function getGenericQSU( const accountNameEnvVar = `${accountType}ACCOUNT_NAME`; const accountKeyEnvVar = `${accountType}ACCOUNT_KEY`; - let accountName: string | undefined; - let accountKey: string | undefined; - - accountName = process.env[accountNameEnvVar]; - accountKey = process.env[accountKeyEnvVar]; + const accountName = process.env[accountNameEnvVar]; + const accountKey = process.env[accountKeyEnvVar]; if (!accountName || !accountKey || accountName === "" || accountKey === "") { throw new Error( diff --git a/sdk/storage/storage-queue/test/utils/testutils.common.ts b/sdk/storage/storage-queue/test/utils/testutils.common.ts index baea022d0f51..2f3e17f55123 100644 --- a/sdk/storage/storage-queue/test/utils/testutils.common.ts +++ b/sdk/storage/storage-queue/test/utils/testutils.common.ts @@ -1,8 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { padStart } from "../../src/utils/utils.common"; -import { env, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; export function isBrowser(): boolean { return typeof self !== "undefined"; @@ -48,11 +47,9 @@ export const recorderEnvSetup: RecorderEnvironmentSetup = { }; export function getUniqueName(prefix: string): string { - return `${prefix}${new Date().getTime()}${padStart( - Math.floor(Math.random() * 10000).toString(), - 5, - "00000" - )}`; + return `${prefix}${new Date().getTime()}${Math.floor(Math.random() * 10000) + .toString() + .padStart(5, "00000")}`; } export function base64encode(content: string): string { diff --git a/sdk/storagecache/arm-storagecache/README.md b/sdk/storagecache/arm-storagecache/README.md index d42f43290e2c..067211e82e77 100644 --- a/sdk/storagecache/arm-storagecache/README.md +++ b/sdk/storagecache/arm-storagecache/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for StorageCacheManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/storageimportexport/arm-storageimportexport/README.md b/sdk/storageimportexport/arm-storageimportexport/README.md index cb45c729d669..75c357cdd36c 100644 --- a/sdk/storageimportexport/arm-storageimportexport/README.md +++ b/sdk/storageimportexport/arm-storageimportexport/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for StorageImportExportManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install @@ -29,18 +29,25 @@ npm install @azure/ms-rest-nodeauth import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; -import { StorageImportExportManagementClient, StorageImportExportManagementModels, StorageImportExportManagementMappers } from "@azure/arm-storageimportexport"; +import { + StorageImportExportManagementClient, + StorageImportExportManagementModels, + StorageImportExportManagementMappers +} from "@azure/arm-storageimportexport"; const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; -msRestNodeAuth.interactiveLogin().then((creds) => { - const client = new StorageImportExportManagementClient(creds, subscriptionId); - client.locations.list().then((result) => { - console.log("The result is:"); - console.log(result); +msRestNodeAuth + .interactiveLogin() + .then((creds) => { + const client = new StorageImportExportManagementClient(creds, subscriptionId); + client.locations.list().then((result) => { + console.log("The result is:"); + console.log(result); + }); + }) + .catch((err) => { + console.error(err); }); -}).catch((err) => { - console.error(err); -}); ``` #### browser - Authentication, client creation and list locations as an example written in JavaScript. @@ -56,6 +63,7 @@ npm install @azure/ms-rest-browserauth See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. - index.html + ```html @@ -76,14 +84,20 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to // may cause redirects authManager.login(); } - const client = new Azure.ArmStorageimportexport.StorageImportExportManagementClient(res.creds, subscriptionId); - client.locations.list().then((result) => { - console.log("The result is:"); - console.log(result); - }).catch((err) => { - console.log("An error occurred:"); - console.error(err); - }); + const client = new Azure.ArmStorageimportexport.StorageImportExportManagementClient( + res.creds, + subscriptionId + ); + client.locations + .list() + .then((result) => { + console.log("The result is:"); + console.log(result); + }) + .catch((err) => { + console.log("An error occurred:"); + console.error(err); + }); }); @@ -95,5 +109,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [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%2Fstorageimportexport%2Farm-storageimportexport%2FREADME.png) diff --git a/sdk/storagesync/arm-storagesync/README.md b/sdk/storagesync/arm-storagesync/README.md index 09b380bd29de..3020fe4cd139 100644 --- a/sdk/storagesync/arm-storagesync/README.md +++ b/sdk/storagesync/arm-storagesync/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for StorageSyncManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/storsimple1200series/arm-storsimple1200series/README.md b/sdk/storsimple1200series/arm-storsimple1200series/README.md index 20eccc8968fe..d4266c5f180b 100644 --- a/sdk/storsimple1200series/arm-storsimple1200series/README.md +++ b/sdk/storsimple1200series/arm-storsimple1200series/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for StorSimpleManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/storsimple8000series/arm-storsimple8000series/README.md b/sdk/storsimple8000series/arm-storsimple8000series/README.md index 6b8d3c897e52..de3a0e2f9e44 100644 --- a/sdk/storsimple8000series/arm-storsimple8000series/README.md +++ b/sdk/storsimple8000series/arm-storsimple8000series/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for StorSimple8000SeriesManagementClient ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/streamanalytics/arm-streamanalytics/README.md b/sdk/streamanalytics/arm-streamanalytics/README.md index 9a7ba43bf422..b59a42c2573c 100644 --- a/sdk/streamanalytics/arm-streamanalytics/README.md +++ b/sdk/streamanalytics/arm-streamanalytics/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for StreamAnalyticsManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/README.md b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/README.md index 6b4a8ef48d90..54c999130db0 100644 --- a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/README.md +++ b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SubscriptionClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/README.md b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/README.md index 5996256d2f2a..f13a85615da6 100644 --- a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/README.md +++ b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SubscriptionClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/subscription/arm-subscriptions/README.md b/sdk/subscription/arm-subscriptions/README.md index e57ebc12be19..ae830c030239 100644 --- a/sdk/subscription/arm-subscriptions/README.md +++ b/sdk/subscription/arm-subscriptions/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SubscriptionClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/support/arm-support/README.md b/sdk/support/arm-support/README.md index 967c7b23d6d9..098fd7677fa1 100644 --- a/sdk/support/arm-support/README.md +++ b/sdk/support/arm-support/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for MicrosoftSupport. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/synapse/arm-synapse/README.md b/sdk/synapse/arm-synapse/README.md index 1bda5ed3936c..d82ff8f57680 100644 --- a/sdk/synapse/arm-synapse/README.md +++ b/sdk/synapse/arm-synapse/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for SynapseManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/synapse/synapse-access-control/CHANGELOG.md b/sdk/synapse/synapse-access-control/CHANGELOG.md index 66d04e180a2b..b24ba67a6bf7 100644 --- a/sdk/synapse/synapse-access-control/CHANGELOG.md +++ b/sdk/synapse/synapse-access-control/CHANGELOG.md @@ -1,7 +1,21 @@ # Release History -## 1.0.0-beta.3 (Unreleased) +## 1.0.0-beta.4 (Unreleased) +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.3 (2021-08-10) + +### Other Changes + +- Migrate to CoreV2 +- Re-generate with swagger `2020-12-01` ## 1.0.0-beta.2 (2021-02-09) diff --git a/sdk/synapse/synapse-access-control/api-extractor.json b/sdk/synapse/synapse-access-control/api-extractor.json index 3bc7a3670741..3e8dd4e6972e 100644 --- a/sdk/synapse/synapse-access-control/api-extractor.json +++ b/sdk/synapse/synapse-access-control/api-extractor.json @@ -1,6 +1,6 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "mainEntryPointFilePath": "./types/src/index.d.ts", "docModel": { "enabled": true }, "apiReport": { "enabled": true, "reportFolder": "./review" }, "dtsRollup": { diff --git a/sdk/synapse/synapse-access-control/karma.conf.js b/sdk/synapse/synapse-access-control/karma.conf.js new file mode 100644 index 000000000000..e93dbd46c059 --- /dev/null +++ b/sdk/synapse/synapse-access-control/karma.conf.js @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// https://github.com/karma-runner/karma-chrome-launcher +process.env.CHROME_BIN = require("puppeteer").executablePath(); +require("dotenv").config(); +const { + jsonRecordingFilterFunction, + isPlaybackMode, + isSoftRecordMode, + isRecordMode +} = require("@azure-tools/test-recorder"); + +module.exports = function(config) { + config.set({ + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: "./", + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ["source-map-support", "mocha"], + + plugins: [ + "karma-mocha", + "karma-mocha-reporter", + "karma-chrome-launcher", + "karma-edge-launcher", + "karma-firefox-launcher", + "karma-ie-launcher", + "karma-env-preprocessor", + "karma-coverage", + "karma-sourcemap-loader", + "karma-junit-reporter", + "karma-json-to-file-reporter", + "karma-source-map-support", + "karma-json-preprocessor" + ], + + // list of files / patterns to load in the browser + files: [ + "dist-test/index.browser.js", + { pattern: "dist-test/index.browser.js.map", type: "html", included: false, served: true } + ].concat(isPlaybackMode() || isSoftRecordMode() ? ["recordings/browsers/**/*.json"] : []), + + // list of files / patterns to exclude + exclude: [], + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + "**/*.js": ["sourcemap", "env"], + "recordings/browsers/**/*.json": ["json"] + // IMPORTANT: COMMENT following line if you want to debug in your browsers!! + // Preprocess source file to calculate code coverage, however this will make source file unreadable + // "dist-test/index.js": ["coverage"] + }, + + envPreprocessor: [ + "TEST_MODE", + "ENDPOINT", + "AZURE_CLIENT_ID", + "AZURE_CLIENT_SECRET", + "AZURE_TENANT_ID" + ], + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ["mocha", "coverage", "junit", "json-to-file"], + + coverageReporter: { + // specify a common output directory + dir: "coverage-browser/", + reporters: [ + { type: "json", subdir: ".", file: "coverage.json" }, + { type: "lcovonly", subdir: ".", file: "lcov.info" }, + { type: "html", subdir: "html" }, + { type: "cobertura", subdir: ".", file: "cobertura-coverage.xml" } + ] + }, + + junitReporter: { + outputDir: "", // results will be saved as $outputDir/$browserName.xml + outputFile: "test-results.browser.xml", // if included, results will be saved as $outputDir/$browserName/$outputFile + suite: "", // suite will become the package name attribute in xml testsuite element + useBrowserName: false, // add browser name to report and classes names + nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element + classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element + properties: {} // key value pair of properties to add to the section of the report + }, + + jsonToFileReporter: { + filter: jsonRecordingFilterFunction, + outputPath: "." + }, + + // web server port + port: 9876, + + // enable / disable colors in the output (reporters and logs) + colors: true, + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + // --no-sandbox allows our tests to run in Linux without having to change the system. + // --disable-web-security allows us to authenticate from the browser without having to write tests using interactive auth, which would be far more complex. + browsers: ["ChromeHeadlessNoSandbox"], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: "ChromeHeadless", + flags: ["--no-sandbox", "--disable-web-security"] + } + }, + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: 1, + + browserNoActivityTimeout: 60000000, + browserDisconnectTimeout: 10000, + browserDisconnectTolerance: 3, + browserConsoleLogOptions: { + terminal: !isRecordMode() + }, + + client: { + mocha: { + // change Karma's debug.html to the mocha web reporter + reporter: "html", + timeout: 0 + } + } + }); +}; diff --git a/sdk/synapse/synapse-access-control/package.json b/sdk/synapse/synapse-access-control/package.json index 88f203b46a76..7ae1bccfb6f0 100644 --- a/sdk/synapse/synapse-access-control/package.json +++ b/sdk/synapse/synapse-access-control/package.json @@ -5,13 +5,28 @@ "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/synapse/synapse-access-control/README.md", "repository": "github:Azure/azure-sdk-for-js", "sdk-type": "client", - "version": "1.0.0-beta.3", + "version": "1.0.0-beta.4", "dependencies": { - "@azure/core-paging": "^1.1.1", - "@azure/core-http": "^2.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.0.0", "@azure/core-tracing": "1.0.0-preview.13", "tslib": "^2.2.0" }, + "//metadata": { + "constantPaths": [ + { + "path": "src/accessControlClientContext.ts", + "prefix": "packageDetails" + }, + { + "path": "swagger/README.md", + "prefix": "package-version" + } + ] + }, + "browser": { + "./dist-esm/test/public/utils/env.js": "./dist-esm/test/public/utils/env.browser.js" + }, "keywords": [ "node", "azure", @@ -28,17 +43,46 @@ "module": "./dist-esm/src/index.js", "types": "./types/synapse-access-control.d.ts", "devDependencies": { - "typescript": "~4.2.0", - "eslint": "^7.15.0", - "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/dev-tool": "^1.0.0", + "@azure/eslint-plugin-azure-sdk": "^3.0.0", + "@azure/identity": "2.0.0-beta.6", + "@azure-tools/test-recorder": "^1.0.0", + "@microsoft/api-extractor": "7.7.11", + "@types/chai": "^4.1.6", + "@types/mocha": "^7.0.2", + "chai": "^4.2.0", + "dotenv": "^8.2.0", + "eslint": "^7.15.0", + "karma-chrome-launcher": "^3.0.0", + "karma-coverage": "^2.0.0", + "karma-env-preprocessor": "^0.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-junit-reporter": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-mocha": "^2.0.1", + "karma-sourcemap-loader": "^0.3.8", + "karma": "^6.2.0", + "mocha-junit-reporter": "^1.18.0", + "mocha": "^7.1.1", + "nyc": "^14.0.0", + "prettier": "^1.16.4", "rimraf": "^3.0.0", "rollup": "^1.16.3", - "rollup-plugin-node-resolve": "^3.4.0", - "rollup-plugin-sourcemaps": "^0.4.2", - "@rollup/plugin-commonjs": "11.0.2", "uglify-js": "^3.4.9", - "@microsoft/api-extractor": "7.7.11", + "@types/chai-as-promised": "^7.1.0", + "@types/node": "^12.0.0", + "@types/sinon": "^9.0.4", + "chai-as-promised": "^7.1.1", + "cross-env": "^7.0.2", + "karma-edge-launcher": "^0.4.2", + "karma-json-preprocessor": "^0.3.3", + "karma-json-to-file-reporter": "^1.0.1", + "karma-source-map-support": "~1.4.0", + "sinon": "^9.0.2", + "source-map-support": "^0.5.9", + "ts-node": "^10.0.0", + "typescript": "~4.2.0", "typedoc": "0.15.2" }, "bugs": { @@ -62,13 +106,15 @@ "build": "tsc && rollup -c rollup.config.js && npm run minify && npm run extract-api", "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js", "pack": "npm pack 2>&1", - "test": "echo skip", - "build:test": "echo skip", + "build:test": "tsc -p . && rollup -c 2>&1", "lint": "echo skip", "format": "echo skip format as this package has only auto generated code", "check-format": "echo skip format check as this package has only auto generated code", - "unit-test:browser": "echo skipped", - "unit-test:node": "echo skipped", + "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", + "test:node": "npm run clean && npm run build:test && npm run unit-test:node", + "test": "npm run clean && npm run build:test && npm run unit-test", + "unit-test:browser": "karma start --single-run", + "unit-test:node": "mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/{,!(browser)/**/}*.spec.ts\"", "unit-test": "npm run unit-test:node && npm run unit-test:browser", "extract-api": "api-extractor run --local", "clean": "rimraf dist dist-* temp types *.tgz *.log", diff --git a/sdk/synapse/synapse-access-control/recordings/browsers/access_control_smoke/recording_should_list_roles.json b/sdk/synapse/synapse-access-control/recordings/browsers/access_control_smoke/recording_should_list_roles.json new file mode 100644 index 000000000000..4a239b75635e --- /dev/null +++ b/sdk/synapse/synapse-access-control/recordings/browsers/access_control_smoke/recording_should_list_roles.json @@ -0,0 +1,52 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1322", + "content-type": "application/json; charset=utf-8", + "date": "Tue, 10 Aug 2021 20:32:14 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11935.14 - SCUS ProdSlices", + "x-ms-request-id": "f3a5796f-aa39-4ea1-b416-6055620b0000" + } + }, + { + "method": "GET", + "url": "https://testaccount.dev.azuresynapse.net/roleDefinitions", + "query": { + "api-version": "2020-12-01" + }, + "requestBody": null, + "status": 200, + "response": "[{\"name\":\"Synapse Administrator\",\"description\":\"Full Synapse access to serverless SQL pools, Apache Spark pools and Integration runtimes.  Includes create, read, update and delete access to all published code artifacts.  Includes Compute Operator, Linked Data Manager, and Credential User permissions on the workspace system identity credential.  Includes granting access.  Azure permissions are required to create, delete, or manage compute resources.​\",\"id\":\"6e4bf58a-b8e1-4cc3-bbf9-d73143322b78\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/roleAssignments/write\",\"Microsoft.Synapse/workspaces/roleAssignments/delete\",\"Microsoft.Synapse/workspaces/managedPrivateEndpoints/write\",\"Microsoft.Synapse/workspaces/managedPrivateEndpoints/delete\",\"Microsoft.Synapse/workspaces/bigDataPools/useCompute/action\",\"Microsoft.Synapse/workspaces/bigDataPools/viewLogs/action\",\"Microsoft.Synapse/workspaces/scopePools/useCompute/action\",\"Microsoft.Synapse/workspaces/scopePools/viewLogs/action\",\"Microsoft.Synapse/workspaces/integrationRuntimes/useCompute/action\",\"Microsoft.Synapse/workspaces/integrationRuntimes/viewLogs/action\",\"Microsoft.Synapse/workspaces/artifacts/read\",\"Microsoft.Synapse/workspaces/notebooks/write\",\"Microsoft.Synapse/workspaces/sparkJobDefinitions/write\",\"Microsoft.Synapse/workspaces/sqlScripts/write\",\"Microsoft.Synapse/workspaces/dataFlows/write\",\"Microsoft.Synapse/workspaces/pipelines/write\",\"Microsoft.Synapse/workspaces/triggers/write\",\"Microsoft.Synapse/workspaces/datasets/write\",\"Microsoft.Synapse/workspaces/linkedServices/write\",\"Microsoft.Synapse/workspaces/credentials/write\",\"Microsoft.Synapse/workspaces/notebooks/delete\",\"Microsoft.Synapse/workspaces/sparkJobDefinitions/delete\",\"Microsoft.Synapse/workspaces/sqlScripts/delete\",\"Microsoft.Synapse/workspaces/dataFlows/delete\",\"Microsoft.Synapse/workspaces/pipelines/delete\",\"Microsoft.Synapse/workspaces/triggers/delete\",\"Microsoft.Synapse/workspaces/datasets/delete\",\"Microsoft.Synapse/workspaces/linkedServices/delete\",\"Microsoft.Synapse/workspaces/credentials/delete\",\"Microsoft.Synapse/workspaces/cancelPipelineRun/action\",\"Microsoft.Synapse/workspaces/notebooks/viewOutputs/action\",\"Microsoft.Synapse/workspaces/pipelines/viewOutputs/action\",\"Microsoft.Synapse/workspaces/linkedServices/useSecret/action\",\"Microsoft.Synapse/workspaces/credentials/useSecret/action\",\"Microsoft.Synapse/workspaces/libraries/delete\",\"Microsoft.Synapse/workspaces/libraries/write\",\"Microsoft.Synapse/workspaces/idw/read\",\"Microsoft.Synapse/workspaces/kqlScripts/write\",\"Microsoft.Synapse/workspaces/kqlScripts/delete\",\"Microsoft.Synapse/workspaces/sparkConfigurations/write\",\"Microsoft.Synapse/workspaces/sparkConfigurations/delete\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\",\"workspaces/{workspaceName}/bigDataPools/{bigDataPoolName}\",\"workspaces/{workspaceName}/scopePools/{scopePoolName}\",\"workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}\",\"workspaces/{workspaceName}/linkedServices/{linkedServiceName}\",\"workspaces/{workspaceName}/credentials/{credentialName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse Linked Data Manager\",\"description\":\"Creation and management of managed private endpoints, linked services, and credentials.​\",\"id\":\"dd665582-e433-40ca-b183-1b1b33e73375\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/managedPrivateEndpoints/write\",\"Microsoft.Synapse/workspaces/managedPrivateEndpoints/delete\",\"Microsoft.Synapse/workspaces/linkedServices/write\",\"Microsoft.Synapse/workspaces/credentials/write\",\"Microsoft.Synapse/workspaces/linkedServices/delete\",\"Microsoft.Synapse/workspaces/credentials/delete\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse Contributor\",\"description\":\"Full Synapse access to serverless SQL pools, Apache Spark pools, Integration runtimes.  Includes create, read, update, and delete access to all published code artifacts and their outputs, including credentials and linked services.  Includes compute operator permissions. Does not include permission to use credentials and run pipelines. Does not include granting access.​\",\"id\":\"7572bffe-f453-4b66-912a-46cc5ef38fda\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/bigDataPools/useCompute/action\",\"Microsoft.Synapse/workspaces/bigDataPools/viewLogs/action\",\"Microsoft.Synapse/workspaces/scopePools/useCompute/action\",\"Microsoft.Synapse/workspaces/scopePools/viewLogs/action\",\"Microsoft.Synapse/workspaces/integrationRuntimes/useCompute/action\",\"Microsoft.Synapse/workspaces/integrationRuntimes/viewLogs/action\",\"Microsoft.Synapse/workspaces/artifacts/read\",\"Microsoft.Synapse/workspaces/notebooks/write\",\"Microsoft.Synapse/workspaces/sparkJobDefinitions/write\",\"Microsoft.Synapse/workspaces/sqlScripts/write\",\"Microsoft.Synapse/workspaces/dataFlows/write\",\"Microsoft.Synapse/workspaces/pipelines/write\",\"Microsoft.Synapse/workspaces/triggers/write\",\"Microsoft.Synapse/workspaces/datasets/write\",\"Microsoft.Synapse/workspaces/linkedServices/write\",\"Microsoft.Synapse/workspaces/credentials/write\",\"Microsoft.Synapse/workspaces/notebooks/delete\",\"Microsoft.Synapse/workspaces/sparkJobDefinitions/delete\",\"Microsoft.Synapse/workspaces/sqlScripts/delete\",\"Microsoft.Synapse/workspaces/dataFlows/delete\",\"Microsoft.Synapse/workspaces/pipelines/delete\",\"Microsoft.Synapse/workspaces/triggers/delete\",\"Microsoft.Synapse/workspaces/datasets/delete\",\"Microsoft.Synapse/workspaces/linkedServices/delete\",\"Microsoft.Synapse/workspaces/credentials/delete\",\"Microsoft.Synapse/workspaces/cancelPipelineRun/action\",\"Microsoft.Synapse/workspaces/notebooks/viewOutputs/action\",\"Microsoft.Synapse/workspaces/pipelines/viewOutputs/action\",\"Microsoft.Synapse/workspaces/libraries/delete\",\"Microsoft.Synapse/workspaces/libraries/write\",\"Microsoft.Synapse/workspaces/kqlScripts/write\",\"Microsoft.Synapse/workspaces/kqlScripts/delete\",\"Microsoft.Synapse/workspaces/sparkConfigurations/write\",\"Microsoft.Synapse/workspaces/sparkConfigurations/delete\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\",\"workspaces/{workspaceName}/bigDataPools/{bigDataPoolName}\",\"workspaces/{workspaceName}/scopePools/{scopePoolName}\",\"workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse Artifact Publisher\",\"description\":\"Create, read, update, and delete access to published code artifacts and their outputs. Does not include permission to run code or pipelines, or to grant access. ​\",\"id\":\"05930f57-09a3-4c0d-9fa9-6d1eb91c178b\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/artifacts/read\",\"Microsoft.Synapse/workspaces/notebooks/write\",\"Microsoft.Synapse/workspaces/sparkJobDefinitions/write\",\"Microsoft.Synapse/workspaces/sqlScripts/write\",\"Microsoft.Synapse/workspaces/dataFlows/write\",\"Microsoft.Synapse/workspaces/pipelines/write\",\"Microsoft.Synapse/workspaces/triggers/write\",\"Microsoft.Synapse/workspaces/datasets/write\",\"Microsoft.Synapse/workspaces/linkedServices/write\",\"Microsoft.Synapse/workspaces/credentials/write\",\"Microsoft.Synapse/workspaces/notebooks/delete\",\"Microsoft.Synapse/workspaces/sparkJobDefinitions/delete\",\"Microsoft.Synapse/workspaces/sqlScripts/delete\",\"Microsoft.Synapse/workspaces/dataFlows/delete\",\"Microsoft.Synapse/workspaces/pipelines/delete\",\"Microsoft.Synapse/workspaces/triggers/delete\",\"Microsoft.Synapse/workspaces/datasets/delete\",\"Microsoft.Synapse/workspaces/linkedServices/delete\",\"Microsoft.Synapse/workspaces/credentials/delete\",\"Microsoft.Synapse/workspaces/notebooks/viewOutputs/action\",\"Microsoft.Synapse/workspaces/pipelines/viewOutputs/action\",\"Microsoft.Synapse/workspaces/libraries/delete\",\"Microsoft.Synapse/workspaces/libraries/write\",\"Microsoft.Synapse/workspaces/kqlScripts/write\",\"Microsoft.Synapse/workspaces/kqlScripts/delete\",\"Microsoft.Synapse/workspaces/sparkConfigurations/write\",\"Microsoft.Synapse/workspaces/sparkConfigurations/delete\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse Artifact User\",\"description\":\"Read access to published code artifacts and their outputs. Can create new artifacts but cannot publish changes or run code without additional permissions.​\",\"id\":\"53faaa0e-40b6-40c8-a2ff-e38f2d388875\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/artifacts/read\",\"Microsoft.Synapse/workspaces/notebooks/viewOutputs/action\",\"Microsoft.Synapse/workspaces/pipelines/viewOutputs/action\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse Compute Operator\",\"description\":\"Submit Spark jobs and notebooks and view logs.  Includes canceling Spark jobs submitted by any user. Requires additional credential use permissions on the workspace system identity to run pipelines, view pipeline runs and outputs.​\",\"id\":\"e3844cc7-4670-42cb-9349-9bdac1ee7881\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/bigDataPools/useCompute/action\",\"Microsoft.Synapse/workspaces/bigDataPools/viewLogs/action\",\"Microsoft.Synapse/workspaces/scopePools/useCompute/action\",\"Microsoft.Synapse/workspaces/scopePools/viewLogs/action\",\"Microsoft.Synapse/workspaces/integrationRuntimes/useCompute/action\",\"Microsoft.Synapse/workspaces/integrationRuntimes/viewLogs/action\",\"Microsoft.Synapse/workspaces/cancelPipelineRun/action\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\",\"workspaces/{workspaceName}/bigDataPools/{bigDataPoolName}\",\"workspaces/{workspaceName}/scopePools/{scopePoolName}\",\"workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse Credential User\",\"description\":\"Runtime and configuration-time use of secrets within credentials and linked services in activities like pipeline runs. To run pipelines, this role is required, scoped to the workspace system identity.​\",\"id\":\"5eb298b4-692c-4241-9cf0-f58a3b42bb25\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/linkedServices/useSecret/action\",\"Microsoft.Synapse/workspaces/credentials/useSecret/action\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\",\"workspaces/{workspaceName}/linkedServices/{linkedServiceName}\",\"workspaces/{workspaceName}/credentials/{credentialName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse User\",\"description\":\"List and view details of SQL pools, Apache Spark pools, Integration runtimes, and published linked services and credentials.  Does not include other published code artifacts.  Can create new artifacts but cannot run or publish without additional permissions.   ​\",\"id\":\"2a385764-43e8-416c-9825-7b18d05a2c4b\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\",\"workspaces/{workspaceName}/bigDataPools/{bigDataPoolName}\",\"workspaces/{workspaceName}/scopePools/{scopePoolName}\",\"workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}\",\"workspaces/{workspaceName}/linkedServices/{linkedServiceName}\",\"workspaces/{workspaceName}/credentials/{credentialName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Apache Spark Administrator\",\"description\":\"Full Synapse access to Apache Spark Pools.  Create, read, update, and delete access to published Spark job definitions, notebooks, and their outputs, and to libraries, linked services and credentials.  Includes read access to all other published code artifacts. Does not include permission to use credentials and run pipelines. Does not include granting access.​\",\"id\":\"c3a6d2f1-a26f-4810-9b0f-591308d5cbf1\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/bigDataPools/useCompute/action\",\"Microsoft.Synapse/workspaces/bigDataPools/viewLogs/action\",\"Microsoft.Synapse/workspaces/artifacts/read\",\"Microsoft.Synapse/workspaces/notebooks/write\",\"Microsoft.Synapse/workspaces/sparkJobDefinitions/write\",\"Microsoft.Synapse/workspaces/linkedServices/write\",\"Microsoft.Synapse/workspaces/credentials/write\",\"Microsoft.Synapse/workspaces/notebooks/delete\",\"Microsoft.Synapse/workspaces/sparkJobDefinitions/delete\",\"Microsoft.Synapse/workspaces/linkedServices/delete\",\"Microsoft.Synapse/workspaces/credentials/delete\",\"Microsoft.Synapse/workspaces/libraries/delete\",\"Microsoft.Synapse/workspaces/libraries/write\",\"Microsoft.Synapse/workspaces/notebooks/viewOutputs/action\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse SQL Administrator\",\"description\":\"Full Synapse access to serverless SQL pools.  Create, read, update, and delete access to published SQL scripts, credentials and linked services.  Includes read access to all other published code artifacts.  Does not include permission to use credentials and run pipelines. Does not include granting access.\",\"id\":\"7af0c69a-a548-47d6-aea3-d00e69bd83aa\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/artifacts/read\",\"Microsoft.Synapse/workspaces/sqlScripts/write\",\"Microsoft.Synapse/workspaces/linkedServices/write\",\"Microsoft.Synapse/workspaces/credentials/write\",\"Microsoft.Synapse/workspaces/sqlScripts/delete\",\"Microsoft.Synapse/workspaces/linkedServices/delete\",\"Microsoft.Synapse/workspaces/credentials/delete\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\"],\"availabilityStatus\":\"Available\"},{\"name\":\"Synapse SCOPE Administrator\",\"description\":\"Full Synapse access to SCOPE Pools.  Create, read, update, and delete access to published SCOPE job definitions, credentials and linked services.  Includes read access to all other published code artifacts. Does not include permission to use credentials and run pipelines. Does not include granting access.​\",\"id\":\"24fa9e0a-d130-4536-9f92-8b976b16986b\",\"isBuiltIn\":true,\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Synapse/workspaces/read\",\"Microsoft.Synapse/workspaces/scopePools/useCompute/action\",\"Microsoft.Synapse/workspaces/scopePools/viewLogs/action\",\"Microsoft.Synapse/workspaces/linkedServices/write\",\"Microsoft.Synapse/workspaces/credentials/write\",\"Microsoft.Synapse/workspaces/linkedServices/delete\",\"Microsoft.Synapse/workspaces/credentials/delete\"],\"notDataActions\":[]}],\"scopes\":[\"workspaces/{workspaceName}\"],\"availabilityStatus\":\"Available\"}]", + "responseHeaders": { + "content-length": "15161", + "content-type": "application/json; charset=utf-8", + "date": "Tue, 10 Aug 2021 20:32:14 GMT", + "server": "Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0", + "status": "200", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-ms-request-id": "c1a38369-83fd-40cd-9443-614c641fc0f7, c1a38369-83fd-40cd-9443-614c641fc0f7" + } + } + ], + "uniqueTestInfo": { + "uniqueName": {}, + "newDate": {} + }, + "hash": "7ed0b96961584bc0f28bc0b111202358" +} \ No newline at end of file diff --git a/sdk/synapse/synapse-access-control/recordings/node/access_control_smoke/recording_should_list_roles.js b/sdk/synapse/synapse-access-control/recordings/node/access_control_smoke/recording_should_list_roles.js new file mode 100644 index 000000000000..b77604fc027e --- /dev/null +++ b/sdk/synapse/synapse-access-control/recordings/node/access_control_smoke/recording_should_list_roles.js @@ -0,0 +1,131 @@ +let nock = require('nock'); + +module.exports.hash = "0e072428254658f7cf5e859e4298dce4"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'fccc849b-f2bf-4dc7-bb97-721813537203', + 'x-ms-ests-server', + '2.1.11898.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=Aq7qy1F3BRhGqZ5RO9IFvtY; expires=Thu, 09-Sep-2021 20:32:11 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrjGcBbiSOli45oUVmlD_F5T23vSbsCdk3koG0yoi7CRysuA1nqXmcdxNaSgEpnHsJ4ZFyffbqQyxI1cUj-AYTsKauYq0m4IqL_pIR8GBXq0y6osDZG347EGaO3GsA1HtKagsIr0-Ibt6cfXpsuqxNNov7OJXUnAvCh0aQ0HKuL_4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:32:10 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'cbb72d6e-044a-472d-bc46-1c72f98ce600', + 'x-ms-ests-server', + '2.1.11935.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=An7DC7mVqw1LvRj7Q1X96r0; expires=Thu, 09-Sep-2021 20:32:11 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrINky5dGzQSNoALnKWos56M4WqMDLS96nrUFkv5ringeRmlez1d_d3ILEmp8Cb318mueuRu8uuuLrdwkJi76yOEnR2cnKlDJkaC3rviSoSzA4jBiUjmapvAx1lXLNZG2XtIP1MYWjG3NvIwEFy4WINL35FiXJrrr_uPi85YSC1o0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:32:10 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=dd314b5b-22ff-4b96-addf-c83c5cc04e1a&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '89f07c9a-2c0e-4dee-b73d-979b0e100000', + 'x-ms-ests-server', + '2.1.11935.14 - SCUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=AgzLMJl7Z3ZNsY32yW7afmnKOuyWAQAAAErZpNgOAAAA; expires=Thu, 09-Sep-2021 20:32:11 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:32:10 GMT', + 'Content-Length', + '1322' +]); + +nock('https://testaccount.dev.azuresynapse.net', {"encodedQueryParams":true}) + .get('/roleDefinitions') + .query(true) + .reply(200, [{"name":"Synapse Administrator","description":"Full Synapse access to serverless SQL pools, Apache Spark pools and Integration runtimes.  Includes create, read, update and delete access to all published code artifacts.  Includes Compute Operator, Linked Data Manager, and Credential User permissions on the workspace system identity credential.  Includes granting access.  Azure permissions are required to create, delete, or manage compute resources.​","id":"6e4bf58a-b8e1-4cc3-bbf9-d73143322b78","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/roleAssignments/write","Microsoft.Synapse/workspaces/roleAssignments/delete","Microsoft.Synapse/workspaces/managedPrivateEndpoints/write","Microsoft.Synapse/workspaces/managedPrivateEndpoints/delete","Microsoft.Synapse/workspaces/bigDataPools/useCompute/action","Microsoft.Synapse/workspaces/bigDataPools/viewLogs/action","Microsoft.Synapse/workspaces/scopePools/useCompute/action","Microsoft.Synapse/workspaces/scopePools/viewLogs/action","Microsoft.Synapse/workspaces/integrationRuntimes/useCompute/action","Microsoft.Synapse/workspaces/integrationRuntimes/viewLogs/action","Microsoft.Synapse/workspaces/artifacts/read","Microsoft.Synapse/workspaces/notebooks/write","Microsoft.Synapse/workspaces/sparkJobDefinitions/write","Microsoft.Synapse/workspaces/sqlScripts/write","Microsoft.Synapse/workspaces/dataFlows/write","Microsoft.Synapse/workspaces/pipelines/write","Microsoft.Synapse/workspaces/triggers/write","Microsoft.Synapse/workspaces/datasets/write","Microsoft.Synapse/workspaces/linkedServices/write","Microsoft.Synapse/workspaces/credentials/write","Microsoft.Synapse/workspaces/notebooks/delete","Microsoft.Synapse/workspaces/sparkJobDefinitions/delete","Microsoft.Synapse/workspaces/sqlScripts/delete","Microsoft.Synapse/workspaces/dataFlows/delete","Microsoft.Synapse/workspaces/pipelines/delete","Microsoft.Synapse/workspaces/triggers/delete","Microsoft.Synapse/workspaces/datasets/delete","Microsoft.Synapse/workspaces/linkedServices/delete","Microsoft.Synapse/workspaces/credentials/delete","Microsoft.Synapse/workspaces/cancelPipelineRun/action","Microsoft.Synapse/workspaces/notebooks/viewOutputs/action","Microsoft.Synapse/workspaces/pipelines/viewOutputs/action","Microsoft.Synapse/workspaces/linkedServices/useSecret/action","Microsoft.Synapse/workspaces/credentials/useSecret/action","Microsoft.Synapse/workspaces/libraries/delete","Microsoft.Synapse/workspaces/libraries/write","Microsoft.Synapse/workspaces/idw/read","Microsoft.Synapse/workspaces/kqlScripts/write","Microsoft.Synapse/workspaces/kqlScripts/delete","Microsoft.Synapse/workspaces/sparkConfigurations/write","Microsoft.Synapse/workspaces/sparkConfigurations/delete"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}","workspaces/{workspaceName}/bigDataPools/{bigDataPoolName}","workspaces/{workspaceName}/scopePools/{scopePoolName}","workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}","workspaces/{workspaceName}/linkedServices/{linkedServiceName}","workspaces/{workspaceName}/credentials/{credentialName}"],"availabilityStatus":"Available"},{"name":"Synapse Linked Data Manager","description":"Creation and management of managed private endpoints, linked services, and credentials.​","id":"dd665582-e433-40ca-b183-1b1b33e73375","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/managedPrivateEndpoints/write","Microsoft.Synapse/workspaces/managedPrivateEndpoints/delete","Microsoft.Synapse/workspaces/linkedServices/write","Microsoft.Synapse/workspaces/credentials/write","Microsoft.Synapse/workspaces/linkedServices/delete","Microsoft.Synapse/workspaces/credentials/delete"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}"],"availabilityStatus":"Available"},{"name":"Synapse Contributor","description":"Full Synapse access to serverless SQL pools, Apache Spark pools, Integration runtimes.  Includes create, read, update, and delete access to all published code artifacts and their outputs, including credentials and linked services.  Includes compute operator permissions. Does not include permission to use credentials and run pipelines. Does not include granting access.​","id":"7572bffe-f453-4b66-912a-46cc5ef38fda","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/bigDataPools/useCompute/action","Microsoft.Synapse/workspaces/bigDataPools/viewLogs/action","Microsoft.Synapse/workspaces/scopePools/useCompute/action","Microsoft.Synapse/workspaces/scopePools/viewLogs/action","Microsoft.Synapse/workspaces/integrationRuntimes/useCompute/action","Microsoft.Synapse/workspaces/integrationRuntimes/viewLogs/action","Microsoft.Synapse/workspaces/artifacts/read","Microsoft.Synapse/workspaces/notebooks/write","Microsoft.Synapse/workspaces/sparkJobDefinitions/write","Microsoft.Synapse/workspaces/sqlScripts/write","Microsoft.Synapse/workspaces/dataFlows/write","Microsoft.Synapse/workspaces/pipelines/write","Microsoft.Synapse/workspaces/triggers/write","Microsoft.Synapse/workspaces/datasets/write","Microsoft.Synapse/workspaces/linkedServices/write","Microsoft.Synapse/workspaces/credentials/write","Microsoft.Synapse/workspaces/notebooks/delete","Microsoft.Synapse/workspaces/sparkJobDefinitions/delete","Microsoft.Synapse/workspaces/sqlScripts/delete","Microsoft.Synapse/workspaces/dataFlows/delete","Microsoft.Synapse/workspaces/pipelines/delete","Microsoft.Synapse/workspaces/triggers/delete","Microsoft.Synapse/workspaces/datasets/delete","Microsoft.Synapse/workspaces/linkedServices/delete","Microsoft.Synapse/workspaces/credentials/delete","Microsoft.Synapse/workspaces/cancelPipelineRun/action","Microsoft.Synapse/workspaces/notebooks/viewOutputs/action","Microsoft.Synapse/workspaces/pipelines/viewOutputs/action","Microsoft.Synapse/workspaces/libraries/delete","Microsoft.Synapse/workspaces/libraries/write","Microsoft.Synapse/workspaces/kqlScripts/write","Microsoft.Synapse/workspaces/kqlScripts/delete","Microsoft.Synapse/workspaces/sparkConfigurations/write","Microsoft.Synapse/workspaces/sparkConfigurations/delete"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}","workspaces/{workspaceName}/bigDataPools/{bigDataPoolName}","workspaces/{workspaceName}/scopePools/{scopePoolName}","workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}"],"availabilityStatus":"Available"},{"name":"Synapse Artifact Publisher","description":"Create, read, update, and delete access to published code artifacts and their outputs. Does not include permission to run code or pipelines, or to grant access. ​","id":"05930f57-09a3-4c0d-9fa9-6d1eb91c178b","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/artifacts/read","Microsoft.Synapse/workspaces/notebooks/write","Microsoft.Synapse/workspaces/sparkJobDefinitions/write","Microsoft.Synapse/workspaces/sqlScripts/write","Microsoft.Synapse/workspaces/dataFlows/write","Microsoft.Synapse/workspaces/pipelines/write","Microsoft.Synapse/workspaces/triggers/write","Microsoft.Synapse/workspaces/datasets/write","Microsoft.Synapse/workspaces/linkedServices/write","Microsoft.Synapse/workspaces/credentials/write","Microsoft.Synapse/workspaces/notebooks/delete","Microsoft.Synapse/workspaces/sparkJobDefinitions/delete","Microsoft.Synapse/workspaces/sqlScripts/delete","Microsoft.Synapse/workspaces/dataFlows/delete","Microsoft.Synapse/workspaces/pipelines/delete","Microsoft.Synapse/workspaces/triggers/delete","Microsoft.Synapse/workspaces/datasets/delete","Microsoft.Synapse/workspaces/linkedServices/delete","Microsoft.Synapse/workspaces/credentials/delete","Microsoft.Synapse/workspaces/notebooks/viewOutputs/action","Microsoft.Synapse/workspaces/pipelines/viewOutputs/action","Microsoft.Synapse/workspaces/libraries/delete","Microsoft.Synapse/workspaces/libraries/write","Microsoft.Synapse/workspaces/kqlScripts/write","Microsoft.Synapse/workspaces/kqlScripts/delete","Microsoft.Synapse/workspaces/sparkConfigurations/write","Microsoft.Synapse/workspaces/sparkConfigurations/delete"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}"],"availabilityStatus":"Available"},{"name":"Synapse Artifact User","description":"Read access to published code artifacts and their outputs. Can create new artifacts but cannot publish changes or run code without additional permissions.​","id":"53faaa0e-40b6-40c8-a2ff-e38f2d388875","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/artifacts/read","Microsoft.Synapse/workspaces/notebooks/viewOutputs/action","Microsoft.Synapse/workspaces/pipelines/viewOutputs/action"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}"],"availabilityStatus":"Available"},{"name":"Synapse Compute Operator","description":"Submit Spark jobs and notebooks and view logs.  Includes canceling Spark jobs submitted by any user. Requires additional credential use permissions on the workspace system identity to run pipelines, view pipeline runs and outputs.​","id":"e3844cc7-4670-42cb-9349-9bdac1ee7881","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/bigDataPools/useCompute/action","Microsoft.Synapse/workspaces/bigDataPools/viewLogs/action","Microsoft.Synapse/workspaces/scopePools/useCompute/action","Microsoft.Synapse/workspaces/scopePools/viewLogs/action","Microsoft.Synapse/workspaces/integrationRuntimes/useCompute/action","Microsoft.Synapse/workspaces/integrationRuntimes/viewLogs/action","Microsoft.Synapse/workspaces/cancelPipelineRun/action"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}","workspaces/{workspaceName}/bigDataPools/{bigDataPoolName}","workspaces/{workspaceName}/scopePools/{scopePoolName}","workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}"],"availabilityStatus":"Available"},{"name":"Synapse Credential User","description":"Runtime and configuration-time use of secrets within credentials and linked services in activities like pipeline runs. To run pipelines, this role is required, scoped to the workspace system identity.​","id":"5eb298b4-692c-4241-9cf0-f58a3b42bb25","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/linkedServices/useSecret/action","Microsoft.Synapse/workspaces/credentials/useSecret/action"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}","workspaces/{workspaceName}/linkedServices/{linkedServiceName}","workspaces/{workspaceName}/credentials/{credentialName}"],"availabilityStatus":"Available"},{"name":"Synapse User","description":"List and view details of SQL pools, Apache Spark pools, Integration runtimes, and published linked services and credentials.  Does not include other published code artifacts.  Can create new artifacts but cannot run or publish without additional permissions.   ​","id":"2a385764-43e8-416c-9825-7b18d05a2c4b","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}","workspaces/{workspaceName}/bigDataPools/{bigDataPoolName}","workspaces/{workspaceName}/scopePools/{scopePoolName}","workspaces/{workspaceName}/integrationRuntimes/{integrationRuntimeName}","workspaces/{workspaceName}/linkedServices/{linkedServiceName}","workspaces/{workspaceName}/credentials/{credentialName}"],"availabilityStatus":"Available"},{"name":"Apache Spark Administrator","description":"Full Synapse access to Apache Spark Pools.  Create, read, update, and delete access to published Spark job definitions, notebooks, and their outputs, and to libraries, linked services and credentials.  Includes read access to all other published code artifacts. Does not include permission to use credentials and run pipelines. Does not include granting access.​","id":"c3a6d2f1-a26f-4810-9b0f-591308d5cbf1","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/bigDataPools/useCompute/action","Microsoft.Synapse/workspaces/bigDataPools/viewLogs/action","Microsoft.Synapse/workspaces/artifacts/read","Microsoft.Synapse/workspaces/notebooks/write","Microsoft.Synapse/workspaces/sparkJobDefinitions/write","Microsoft.Synapse/workspaces/linkedServices/write","Microsoft.Synapse/workspaces/credentials/write","Microsoft.Synapse/workspaces/notebooks/delete","Microsoft.Synapse/workspaces/sparkJobDefinitions/delete","Microsoft.Synapse/workspaces/linkedServices/delete","Microsoft.Synapse/workspaces/credentials/delete","Microsoft.Synapse/workspaces/libraries/delete","Microsoft.Synapse/workspaces/libraries/write","Microsoft.Synapse/workspaces/notebooks/viewOutputs/action"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}"],"availabilityStatus":"Available"},{"name":"Synapse SQL Administrator","description":"Full Synapse access to serverless SQL pools.  Create, read, update, and delete access to published SQL scripts, credentials and linked services.  Includes read access to all other published code artifacts.  Does not include permission to use credentials and run pipelines. Does not include granting access.","id":"7af0c69a-a548-47d6-aea3-d00e69bd83aa","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/artifacts/read","Microsoft.Synapse/workspaces/sqlScripts/write","Microsoft.Synapse/workspaces/linkedServices/write","Microsoft.Synapse/workspaces/credentials/write","Microsoft.Synapse/workspaces/sqlScripts/delete","Microsoft.Synapse/workspaces/linkedServices/delete","Microsoft.Synapse/workspaces/credentials/delete"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}"],"availabilityStatus":"Available"},{"name":"Synapse SCOPE Administrator","description":"Full Synapse access to SCOPE Pools.  Create, read, update, and delete access to published SCOPE job definitions, credentials and linked services.  Includes read access to all other published code artifacts. Does not include permission to use credentials and run pipelines. Does not include granting access.​","id":"24fa9e0a-d130-4536-9f92-8b976b16986b","isBuiltIn":true,"permissions":[{"actions":[],"notActions":[],"dataActions":["Microsoft.Synapse/workspaces/read","Microsoft.Synapse/workspaces/scopePools/useCompute/action","Microsoft.Synapse/workspaces/scopePools/viewLogs/action","Microsoft.Synapse/workspaces/linkedServices/write","Microsoft.Synapse/workspaces/credentials/write","Microsoft.Synapse/workspaces/linkedServices/delete","Microsoft.Synapse/workspaces/credentials/delete"],"notDataActions":[]}],"scopes":["workspaces/{workspaceName}"],"availabilityStatus":"Available"}], [ + 'Content-Length', + '15161', + 'Content-Type', + 'application/json; charset=utf-8', + 'Server', + 'Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'x-ms-request-id', + 'da975ba3-73cc-4457-adf6-83c53ca529ab', + 'x-ms-request-id', + 'da975ba3-73cc-4457-adf6-83c53ca529ab', + 'Date', + 'Tue, 10 Aug 2021 20:32:11 GMT' +]); diff --git a/sdk/synapse/synapse-access-control/review/synapse-access-control.api.md b/sdk/synapse/synapse-access-control/review/synapse-access-control.api.md index c998154e4a9e..18933b389a87 100644 --- a/sdk/synapse/synapse-access-control/review/synapse-access-control.api.md +++ b/sdk/synapse/synapse-access-control/review/synapse-access-control.api.md @@ -4,24 +4,21 @@ ```ts -import * as coreHttp from '@azure/core-http'; -import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import * as coreAuth from '@azure/core-auth'; +import * as coreClient from '@azure/core-client'; // @public (undocumented) export class AccessControlClient extends AccessControlClientContext { - constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, endpoint: string, options?: AccessControlClientOptionalParams); - createRoleAssignment(createRoleAssignmentOptions: RoleAssignmentOptions, options?: coreHttp.OperationOptions): Promise; - deleteRoleAssignmentById(roleAssignmentId: string, options?: coreHttp.OperationOptions): Promise; - getCallerRoleAssignments(options?: coreHttp.OperationOptions): Promise; - getRoleAssignmentById(roleAssignmentId: string, options?: coreHttp.OperationOptions): Promise; - getRoleAssignments(options?: AccessControlClientGetRoleAssignmentsOptionalParams): Promise; - getRoleDefinitionById(roleId: string, options?: coreHttp.OperationOptions): Promise; - listRoleDefinitions(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; + constructor(credentials: coreAuth.TokenCredential, endpoint: string, options?: AccessControlClientOptionalParams); + // (undocumented) + roleAssignments: RoleAssignments; + // (undocumented) + roleDefinitions: RoleDefinitions; } // @public (undocumented) -export class AccessControlClientContext extends coreHttp.ServiceClient { - constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, endpoint: string, options?: AccessControlClientOptionalParams); +export class AccessControlClientContext extends coreClient.ServiceClient { + constructor(credentials: coreAuth.TokenCredential, endpoint: string, options?: AccessControlClientOptionalParams); // (undocumented) apiVersion: string; // (undocumented) @@ -29,132 +26,186 @@ export class AccessControlClientContext extends coreHttp.ServiceClient { } // @public -export type AccessControlClientCreateRoleAssignmentResponse = RoleAssignmentDetails & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: RoleAssignmentDetails; - }; -}; +export interface AccessControlClientOptionalParams extends coreClient.ServiceClientOptions { + apiVersion?: string; + endpoint?: string; +} // @public -export type AccessControlClientGetCallerRoleAssignmentsResponse = { - body: string[]; - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: string[]; - }; -}; +export interface CheckAccessDecision { + accessDecision?: string; + actionId?: string; + roleAssignment?: RoleAssignmentDetails; +} // @public -export type AccessControlClientGetRoleAssignmentByIdResponse = RoleAssignmentDetails & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: RoleAssignmentDetails; - }; -}; +export interface CheckPrincipalAccessRequest { + actions: RequiredAction[]; + scope: string; + subject: SubjectInfo; +} // @public -export interface AccessControlClientGetRoleAssignmentsHeaders { - xMsContinuation?: string; +export interface CheckPrincipalAccessResponse { + accessDecisions?: CheckAccessDecision[]; } // @public -export interface AccessControlClientGetRoleAssignmentsOptionalParams extends coreHttp.OperationOptions { - continuationToken?: string; +export interface ErrorAdditionalInfo { + readonly info?: Record; + readonly type?: string; +} + +// @public +export interface ErrorContract { + error?: ErrorResponse; +} + +// @public +export interface ErrorResponse { + readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly code?: string; + readonly details?: ErrorResponse[]; + readonly message?: string; + readonly target?: string; +} + +// @public +export interface RequiredAction { + id: string; + isDataAction: boolean; +} + +// @public +export interface RoleAssignmentDetails { + id?: string; principalId?: string; - roleId?: string; + principalType?: string; + roleDefinitionId?: string; + scope?: string; } // @public -export type AccessControlClientGetRoleAssignmentsResponse = AccessControlClientGetRoleAssignmentsHeaders & RoleAssignmentDetails[] & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: RoleAssignmentDetails[]; - parsedHeaders: AccessControlClientGetRoleAssignmentsHeaders; - }; -}; +export interface RoleAssignmentDetailsList { + count?: number; + value?: RoleAssignmentDetails[]; +} // @public -export type AccessControlClientGetRoleDefinitionByIdResponse = SynapseRole & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SynapseRole; - }; -}; +export interface RoleAssignmentRequest { + principalId: string; + principalType?: string; + roleId: string; + scope: string; +} // @public -export type AccessControlClientGetRoleDefinitionsNextResponse = RolesListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: RolesListResponse; - }; -}; +export interface RoleAssignments { + checkPrincipalAccess(subject: SubjectInfo, actions: RequiredAction[], scope: string, options?: RoleAssignmentsCheckPrincipalAccessOptionalParams): Promise; + createRoleAssignment(roleAssignmentId: string, roleId: string, principalId: string, scope: string, options?: RoleAssignmentsCreateRoleAssignmentOptionalParams): Promise; + deleteRoleAssignmentById(roleAssignmentId: string, options?: RoleAssignmentsDeleteRoleAssignmentByIdOptionalParams): Promise; + getRoleAssignmentById(roleAssignmentId: string, options?: RoleAssignmentsGetRoleAssignmentByIdOptionalParams): Promise; + listRoleAssignments(options?: RoleAssignmentsListRoleAssignmentsOptionalParams): Promise; +} // @public -export type AccessControlClientGetRoleDefinitionsResponse = RolesListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: RolesListResponse; - }; -}; +export interface RoleAssignmentsCheckPrincipalAccessOptionalParams extends coreClient.OperationOptions { +} // @public -export interface AccessControlClientOptionalParams extends coreHttp.ServiceClientOptions { - apiVersion?: string; - endpoint?: string; +export type RoleAssignmentsCheckPrincipalAccessResponse = CheckPrincipalAccessResponse; + +// @public +export interface RoleAssignmentsCreateRoleAssignmentOptionalParams extends coreClient.OperationOptions { + principalType?: string; } // @public -export interface ErrorContract { - error?: ErrorResponse; +export type RoleAssignmentsCreateRoleAssignmentResponse = RoleAssignmentDetails; + +// @public +export interface RoleAssignmentsDeleteRoleAssignmentByIdOptionalParams extends coreClient.OperationOptions { + scope?: string; } -// @public (undocumented) -export interface ErrorDetail { - // (undocumented) - code: string; - // (undocumented) - message: string; - // (undocumented) - target?: string; +// @public +export interface RoleAssignmentsGetRoleAssignmentByIdOptionalParams extends coreClient.OperationOptions { } -// @public (undocumented) -export interface ErrorResponse { - // (undocumented) - code: string; - // (undocumented) - details?: ErrorDetail[]; - // (undocumented) - message: string; - // (undocumented) - target?: string; +// @public +export type RoleAssignmentsGetRoleAssignmentByIdResponse = RoleAssignmentDetails; + +// @public +export interface RoleAssignmentsListRoleAssignmentsHeaders { + xMsContinuation?: string; } // @public -export interface RoleAssignmentDetails { - id?: string; +export interface RoleAssignmentsListRoleAssignmentsOptionalParams extends coreClient.OperationOptions { + continuationToken?: string; principalId?: string; roleId?: string; + scope?: string; } // @public -export interface RoleAssignmentOptions { +export type RoleAssignmentsListRoleAssignmentsResponse = RoleAssignmentsListRoleAssignmentsHeaders & RoleAssignmentDetailsList; + +// @public +export interface RoleDefinitions { + getRoleDefinitionById(roleDefinitionId: string, options?: RoleDefinitionsGetRoleDefinitionByIdOptionalParams): Promise; + listRoleDefinitions(options?: RoleDefinitionsListRoleDefinitionsOptionalParams): Promise; + listScopes(options?: RoleDefinitionsListScopesOptionalParams): Promise; +} + +// @public +export interface RoleDefinitionsGetRoleDefinitionByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleDefinitionsGetRoleDefinitionByIdResponse = SynapseRoleDefinition; + +// @public +export interface RoleDefinitionsListRoleDefinitionsOptionalParams extends coreClient.OperationOptions { + isBuiltIn?: boolean; + scope?: string; +} + +// @public +export type RoleDefinitionsListRoleDefinitionsResponse = SynapseRoleDefinition[]; + +// @public +export interface RoleDefinitionsListScopesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RoleDefinitionsListScopesResponse = { + body: string[]; +}; + +// @public +export interface SubjectInfo { + groupIds?: string[]; principalId: string; - roleId: string; } // @public -export interface RolesListResponse { - nextLink?: string; - value: SynapseRole[]; +export interface SynapseRbacPermission { + actions?: string[]; + dataActions?: string[]; + notActions?: string[]; + notDataActions?: string[]; } // @public -export interface SynapseRole { +export interface SynapseRoleDefinition { + availabilityStatus?: string; + description?: string; id?: string; - isBuiltIn: boolean; + isBuiltIn?: boolean; name?: string; + permissions?: SynapseRbacPermission[]; + scopes?: string[]; } diff --git a/sdk/synapse/synapse-access-control/rollup.config.js b/sdk/synapse/synapse-access-control/rollup.config.js index afd0dd19a25c..5d7deee44c14 100644 --- a/sdk/synapse/synapse-access-control/rollup.config.js +++ b/sdk/synapse/synapse-access-control/rollup.config.js @@ -1,60 +1,3 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; -import sourcemaps from "rollup-plugin-sourcemaps"; -import cjs from "@rollup/plugin-commonjs"; -import { openTelemetryCommonJs } from "@azure/dev-tool/shared-config/rollup"; +import { makeConfig } from "@azure/dev-tool/shared-config/rollup"; - -const ignoreKnownWarnings = (warning) => { - if (warning.code === "THIS_IS_UNDEFINED") { - // This error happens frequently due to TypeScript emitting `this` at the - // top-level of a module. In this case its fine if it gets rewritten to - // undefined, so ignore this error. - return; - } - - if (warning.code === "CIRCULAR_DEPENDENCY" && warning.importer.indexOf("@opentelemetry/api") >= 0) { - // OpenTelemetry contains circular references as of 1.0.0, but they are not fatal and can be ignored. - return; - } - - console.error(`(!) ${warning.message}`); -} - -/** - * @type {rollup.RollupFileOptions} - */ -const config = { - input: "./dist-esm/accessControlClient.js", - external: ["@azure/core-http", "@azure/core-arm"], - onwarn: ignoreKnownWarnings, - output: { - file: "./dist/index.js", - format: "cjs", - name: "Azure.SynapseAccessControl", - sourcemap: true, - globals: { - "@azure/core-http": "coreHttp", - "@azure/core-arm": "coreArm" - }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ ` - }, - plugins: [ - nodeResolve({ module: true }), - sourcemaps(), - cjs({ - namedExports: { - assert: ["ok", "deepEqual", "equal", "fail", "deepStrictEqual", "strictEqual"], - ...openTelemetryCommonJs() - } - }) - ] -}; - -export default config; +export default makeConfig(require("./package.json")); diff --git a/sdk/synapse/synapse-access-control/src/accessControlClient.ts b/sdk/synapse/synapse-access-control/src/accessControlClient.ts index cedec2f1883f..40fa5aa92478 100644 --- a/sdk/synapse/synapse-access-control/src/accessControlClient.ts +++ b/sdk/synapse/synapse-access-control/src/accessControlClient.ts @@ -1,25 +1,16 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "./tracing"; -import * as Parameters from "./models/parameters"; -import * as Mappers from "./models/mappers"; +/* + * 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 coreAuth from "@azure/core-auth"; +import { RoleAssignmentsImpl, RoleDefinitionsImpl } from "./operations"; +import { RoleAssignments, RoleDefinitions } from "./operationsInterfaces"; import { AccessControlClientContext } from "./accessControlClientContext"; -import { - AccessControlClientOptionalParams, - SynapseRole, - AccessControlClientGetRoleDefinitionsResponse, - AccessControlClientGetRoleDefinitionByIdResponse, - RoleAssignmentOptions, - AccessControlClientCreateRoleAssignmentResponse, - AccessControlClientGetRoleAssignmentsOptionalParams, - AccessControlClientGetRoleAssignmentsResponse, - AccessControlClientGetRoleAssignmentByIdResponse, - AccessControlClientGetCallerRoleAssignmentsResponse, - AccessControlClientGetRoleDefinitionsNextResponse -} from "./models"; +import { AccessControlClientOptionalParams } from "./models"; export class AccessControlClient extends AccessControlClientContext { /** @@ -30,451 +21,15 @@ export class AccessControlClient extends AccessControlClientContext { * @param options The parameter options */ constructor( - credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, + credentials: coreAuth.TokenCredential, endpoint: string, options?: AccessControlClientOptionalParams ) { super(credentials, endpoint, options); + this.roleAssignments = new RoleAssignmentsImpl(this); + this.roleDefinitions = new RoleDefinitionsImpl(this); } - /** - * List roles. - * @param options The options parameters. - */ - public listRoleDefinitions( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getRoleDefinitionsPagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getRoleDefinitionsPagingPage(options); - } - }; - } - - private async *getRoleDefinitionsPagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getRoleDefinitions(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getRoleDefinitionsNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getRoleDefinitionsPagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getRoleDefinitionsPagingPage(options)) { - yield* page; - } - } - - /** - * List roles. - * @param options The options parameters. - */ - private async _getRoleDefinitions( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("AccessControlClient-_getRoleDefinitions", options); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; - try { - const result = await this.sendOperationRequest( - operationArguments, - getRoleDefinitionsOperationSpec - ); - return result as AccessControlClientGetRoleDefinitionsResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Get role by role Id. - * @param roleId Synapse Built-In Role Id. - * @param options The options parameters. - */ - async getRoleDefinitionById( - roleId: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "AccessControlClient-getRoleDefinitionById", - options - ); - const operationArguments: coreHttp.OperationArguments = { - roleId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; - try { - const result = await this.sendOperationRequest( - operationArguments, - getRoleDefinitionByIdOperationSpec - ); - return result as AccessControlClientGetRoleDefinitionByIdResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Create role assignment. - * @param createRoleAssignmentOptions Details of role id and object id. - * @param options The options parameters. - */ - async createRoleAssignment( - createRoleAssignmentOptions: RoleAssignmentOptions, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "AccessControlClient-createRoleAssignment", - options - ); - const operationArguments: coreHttp.OperationArguments = { - createRoleAssignmentOptions, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; - try { - const result = await this.sendOperationRequest( - operationArguments, - createRoleAssignmentOperationSpec - ); - return result as AccessControlClientCreateRoleAssignmentResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * List role assignments. - * @param options The options parameters. - */ - async getRoleAssignments( - options?: AccessControlClientGetRoleAssignmentsOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("AccessControlClient-getRoleAssignments", options); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; - try { - const result = await this.sendOperationRequest( - operationArguments, - getRoleAssignmentsOperationSpec - ); - return result as AccessControlClientGetRoleAssignmentsResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Get role assignment by role assignment Id. - * @param roleAssignmentId The ID of the role assignment. - * @param options The options parameters. - */ - async getRoleAssignmentById( - roleAssignmentId: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "AccessControlClient-getRoleAssignmentById", - options - ); - const operationArguments: coreHttp.OperationArguments = { - roleAssignmentId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; - try { - const result = await this.sendOperationRequest( - operationArguments, - getRoleAssignmentByIdOperationSpec - ); - return result as AccessControlClientGetRoleAssignmentByIdResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Delete role assignment by role assignment Id. - * @param roleAssignmentId The ID of the role assignment. - * @param options The options parameters. - */ - async deleteRoleAssignmentById( - roleAssignmentId: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "AccessControlClient-deleteRoleAssignmentById", - options - ); - const operationArguments: coreHttp.OperationArguments = { - roleAssignmentId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; - try { - const result = await this.sendOperationRequest( - operationArguments, - deleteRoleAssignmentByIdOperationSpec - ); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * List role assignments of the caller. - * @param options The options parameters. - */ - async getCallerRoleAssignments( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "AccessControlClient-getCallerRoleAssignments", - options - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; - try { - const result = await this.sendOperationRequest( - operationArguments, - getCallerRoleAssignmentsOperationSpec - ); - return result as AccessControlClientGetCallerRoleAssignmentsResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * GetRoleDefinitionsNext - * @param nextLink The nextLink from the previous successful call to the GetRoleDefinitions method. - * @param options The options parameters. - */ - private async _getRoleDefinitionsNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "AccessControlClient-_getRoleDefinitionsNext", - options - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; - try { - const result = await this.sendOperationRequest( - operationArguments, - getRoleDefinitionsNextOperationSpec - ); - return result as AccessControlClientGetRoleDefinitionsNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } + roleAssignments: RoleAssignments; + roleDefinitions: RoleDefinitions; } -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const getRoleDefinitionsOperationSpec: coreHttp.OperationSpec = { - path: "/rbac/roles", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RolesListResponse - }, - default: { - bodyMapper: Mappers.ErrorContract - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const getRoleDefinitionByIdOperationSpec: coreHttp.OperationSpec = { - path: "/rbac/roles/{roleId}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.SynapseRole - }, - default: { - bodyMapper: Mappers.ErrorContract - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.roleId], - headerParameters: [Parameters.accept], - serializer -}; -const createRoleAssignmentOperationSpec: coreHttp.OperationSpec = { - path: "/rbac/roleAssignments", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentDetails - }, - default: { - bodyMapper: Mappers.ErrorContract - } - }, - requestBody: Parameters.createRoleAssignmentOptions, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getRoleAssignmentsOperationSpec: coreHttp.OperationSpec = { - path: "/rbac/roleAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: { - type: { - name: "Sequence", - element: { - type: { name: "Composite", className: "RoleAssignmentDetails" } - } - } - }, - headersMapper: Mappers.AccessControlClientGetRoleAssignmentsHeaders - }, - default: { - bodyMapper: Mappers.ErrorContract - } - }, - queryParameters: [Parameters.apiVersion, Parameters.roleId1, Parameters.principalId], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept, Parameters.continuationToken], - serializer -}; -const getRoleAssignmentByIdOperationSpec: coreHttp.OperationSpec = { - path: "/rbac/roleAssignments/{roleAssignmentId}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentDetails - }, - default: { - bodyMapper: Mappers.ErrorContract - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.roleAssignmentId], - headerParameters: [Parameters.accept], - serializer -}; -const deleteRoleAssignmentByIdOperationSpec: coreHttp.OperationSpec = { - path: "/rbac/roleAssignments/{roleAssignmentId}", - httpMethod: "DELETE", - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.ErrorContract - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.roleAssignmentId], - headerParameters: [Parameters.accept], - serializer -}; -const getCallerRoleAssignmentsOperationSpec: coreHttp.OperationSpec = { - path: "/rbac/getMyAssignedRoles", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: { - type: { name: "Sequence", element: { type: { name: "String" } } } - } - }, - default: { - bodyMapper: Mappers.ErrorContract - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const getRoleDefinitionsNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RolesListResponse - }, - default: { - bodyMapper: Mappers.ErrorContract - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-access-control/src/accessControlClientContext.ts b/sdk/synapse/synapse-access-control/src/accessControlClientContext.ts index ec50080b4ba7..32e2b68d3095 100644 --- a/sdk/synapse/synapse-access-control/src/accessControlClientContext.ts +++ b/sdk/synapse/synapse-access-control/src/accessControlClientContext.ts @@ -1,12 +1,16 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; -import { AccessControlClientOptionalParams } from "./models"; +/* + * 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. + */ -const packageName = "@azure/synapse-access-control"; -const packageVersion = "1.0.0-beta.2"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { AccessControlClientOptionalParams } from "./models"; -export class AccessControlClientContext extends coreHttp.ServiceClient { +export class AccessControlClientContext extends coreClient.ServiceClient { endpoint: string; apiVersion: string; @@ -18,7 +22,7 @@ export class AccessControlClientContext extends coreHttp.ServiceClient { * @param options The parameter options */ constructor( - credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, + credentials: coreAuth.TokenCredential, endpoint: string, options?: AccessControlClientOptionalParams ) { @@ -33,26 +37,33 @@ export class AccessControlClientContext extends coreHttp.ServiceClient { if (!options) { options = {}; } + const defaults: AccessControlClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - if (!options.userAgent) { - const defaultUserAgent = coreHttp.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const packageDetails = `azsdk-js-synapse-access-control/1.0.0-beta.4`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; if (!options.credentialScopes) { options.credentialScopes = ["https://dev.azuresynapse.net/.default"]; } - - super(credentials, options); - - this.requestContentType = "application/json; charset=utf-8"; - - this.baseUri = options.endpoint || "{endpoint}"; - + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "{endpoint}" + }; + super(optionsWithDefaults); // Parameter assignments this.endpoint = endpoint; // Assigning values to Constant parameters - this.apiVersion = options.apiVersion || "2020-02-01-preview"; + this.apiVersion = options.apiVersion || "2020-12-01"; } } diff --git a/sdk/synapse/synapse-access-control/src/index.ts b/sdk/synapse/synapse-access-control/src/index.ts index 21d9a7056568..8d2270498b36 100644 --- a/sdk/synapse/synapse-access-control/src/index.ts +++ b/sdk/synapse/synapse-access-control/src/index.ts @@ -1,6 +1,12 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -/// +/* + * 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 { AccessControlClient } from "./accessControlClient"; export { AccessControlClientContext } from "./accessControlClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/synapse/synapse-access-control/src/models/index.ts b/sdk/synapse/synapse-access-control/src/models/index.ts index f9c5c16316ce..28b8f501bd1c 100644 --- a/sdk/synapse/synapse-access-control/src/models/index.ts +++ b/sdk/synapse/synapse-access-control/src/models/index.ts @@ -1,23 +1,67 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; +/* + * 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. + */ -/** A list of Synapse roles available. */ -export interface RolesListResponse { - /** List of Synapse roles. */ - value: SynapseRole[]; - /** The link to the next page of results, if any remaining results exist. */ - nextLink?: string; +import * as coreClient from "@azure/core-client"; + +/** Check access request details */ +export interface CheckPrincipalAccessRequest { + /** Subject details */ + subject: SubjectInfo; + /** List of actions. */ + actions: RequiredAction[]; + /** Scope at which the check access is done. */ + scope: string; +} + +/** Subject details */ +export interface SubjectInfo { + /** Principal Id */ + principalId: string; + /** List of group Ids that the principalId is part of. */ + groupIds?: string[]; +} + +/** Action Info */ +export interface RequiredAction { + /** Action Id. */ + id: string; + /** Is a data action or not. */ + isDataAction: boolean; +} + +/** Check access response details */ +export interface CheckPrincipalAccessResponse { + /** To check if the current user, group, or service principal has permission to read artifacts in the specified workspace. */ + accessDecisions?: CheckAccessDecision[]; } -/** Synapse role details */ -export interface SynapseRole { - /** Role ID */ +/** Check access response details */ +export interface CheckAccessDecision { + /** Access Decision. */ + accessDecision?: string; + /** Action Id. */ + actionId?: string; + /** Role Assignment response details */ + roleAssignment?: RoleAssignmentDetails; +} + +/** Role Assignment response details */ +export interface RoleAssignmentDetails { + /** Role Assignment ID */ id?: string; - /** Name of the Synapse role */ - name?: string; - /** Is a built-in role or not */ - isBuiltIn: boolean; + /** Role ID of the Synapse Built-In Role */ + roleDefinitionId?: string; + /** Object ID of the AAD principal or security-group */ + principalId?: string; + /** Scope at the role assignment is created */ + scope?: string; + /** Type of the principal Id: User, Group or ServicePrincipal */ + principalType?: string; } /** Contains details when the response code indicates an error. */ @@ -26,146 +70,185 @@ export interface ErrorContract { error?: ErrorResponse; } +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */ export interface ErrorResponse { - code: string; - message: string; - target?: string; - details?: ErrorDetail[]; + /** + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; + /** + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly target?: string; + /** + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly details?: ErrorResponse[]; + /** + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly additionalInfo?: ErrorAdditionalInfo[]; +} + +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { + /** + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly info?: Record; } -export interface ErrorDetail { - code: string; - message: string; - target?: string; +/** Role Assignment response details */ +export interface RoleAssignmentDetailsList { + /** Number of role assignments */ + count?: number; + /** A list of role assignments */ + value?: RoleAssignmentDetails[]; } /** Role Assignment request details */ -export interface RoleAssignmentOptions { +export interface RoleAssignmentRequest { /** Role ID of the Synapse Built-In Role */ roleId: string; /** Object ID of the AAD principal or security-group */ principalId: string; + /** Scope at which the role assignment is created */ + scope: string; + /** Type of the principal Id: User, Group or ServicePrincipal */ + principalType?: string; } -/** Role Assignment response details */ -export interface RoleAssignmentDetails { - /** Role Assignment ID */ +/** Synapse role definition details */ +export interface SynapseRoleDefinition { + /** Role Definition ID */ id?: string; - /** Role ID of the Synapse Built-In Role */ - roleId?: string; - /** Object ID of the AAD principal or security-group */ - principalId?: string; + /** Name of the Synapse role */ + name?: string; + /** Is a built-in role or not */ + isBuiltIn?: boolean; + /** Description for the Synapse role */ + description?: string; + /** Permissions for the Synapse role */ + permissions?: SynapseRbacPermission[]; + /** Allowed scopes for the Synapse role */ + scopes?: string[]; + /** Availability of the Synapse role */ + availabilityStatus?: string; } -/** Defines headers for AccessControlClient_getRoleAssignments operation. */ -export interface AccessControlClientGetRoleAssignmentsHeaders { +/** Synapse role definition details */ +export interface SynapseRbacPermission { + /** List of actions */ + actions?: string[]; + /** List of Not actions */ + notActions?: string[]; + /** List of data actions */ + dataActions?: string[]; + /** List of Not data actions */ + notDataActions?: string[]; +} + +/** Defines headers for RoleAssignments_listRoleAssignments operation. */ +export interface RoleAssignmentsListRoleAssignmentsHeaders { /** If the number of role assignments to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the role assignments. */ xMsContinuation?: string; } -/** Contains response data for the getRoleDefinitions operation. */ -export type AccessControlClientGetRoleDefinitionsResponse = RolesListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: RolesListResponse; - }; -}; - -/** Contains response data for the getRoleDefinitionById operation. */ -export type AccessControlClientGetRoleDefinitionByIdResponse = SynapseRole & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SynapseRole; - }; -}; +/** Optional parameters. */ +export interface RoleAssignmentsCheckPrincipalAccessOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the createRoleAssignment operation. */ -export type AccessControlClientCreateRoleAssignmentResponse = RoleAssignmentDetails & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: RoleAssignmentDetails; - }; -}; +/** Contains response data for the checkPrincipalAccess operation. */ +export type RoleAssignmentsCheckPrincipalAccessResponse = CheckPrincipalAccessResponse; /** Optional parameters. */ -export interface AccessControlClientGetRoleAssignmentsOptionalParams - extends coreHttp.OperationOptions { +export interface RoleAssignmentsListRoleAssignmentsOptionalParams + extends coreClient.OperationOptions { /** Synapse Built-In Role Id. */ roleId?: string; /** Object ID of the AAD principal or security-group. */ principalId?: string; + /** Scope of the Synapse Built-in Role. */ + scope?: string; /** Continuation token. */ continuationToken?: string; } -/** Contains response data for the getRoleAssignments operation. */ -export type AccessControlClientGetRoleAssignmentsResponse = AccessControlClientGetRoleAssignmentsHeaders & - RoleAssignmentDetails[] & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +/** Contains response data for the listRoleAssignments operation. */ +export type RoleAssignmentsListRoleAssignmentsResponse = RoleAssignmentsListRoleAssignmentsHeaders & + RoleAssignmentDetailsList; + +/** Optional parameters. */ +export interface RoleAssignmentsCreateRoleAssignmentOptionalParams + extends coreClient.OperationOptions { + /** Type of the principal Id: User, Group or ServicePrincipal */ + principalType?: string; +} + +/** Contains response data for the createRoleAssignment operation. */ +export type RoleAssignmentsCreateRoleAssignmentResponse = RoleAssignmentDetails; - /** The response body as parsed JSON or XML */ - parsedBody: RoleAssignmentDetails[]; - /** The parsed HTTP response headers. */ - parsedHeaders: AccessControlClientGetRoleAssignmentsHeaders; - }; - }; +/** Optional parameters. */ +export interface RoleAssignmentsGetRoleAssignmentByIdOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getRoleAssignmentById operation. */ -export type AccessControlClientGetRoleAssignmentByIdResponse = RoleAssignmentDetails & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: RoleAssignmentDetails; - }; -}; +export type RoleAssignmentsGetRoleAssignmentByIdResponse = RoleAssignmentDetails; -/** Contains response data for the getCallerRoleAssignments operation. */ -export type AccessControlClientGetCallerRoleAssignmentsResponse = { - /** The parsed response body. */ - body: string[]; +/** Optional parameters. */ +export interface RoleAssignmentsDeleteRoleAssignmentByIdOptionalParams + extends coreClient.OperationOptions { + /** Scope of the Synapse Built-in Role. */ + scope?: string; +} - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleDefinitionsListRoleDefinitionsOptionalParams + extends coreClient.OperationOptions { + /** Scope of the Synapse Built-in Role. */ + scope?: string; + /** Is a Synapse Built-In Role or not. */ + isBuiltIn?: boolean; +} - /** The response body as parsed JSON or XML */ - parsedBody: string[]; - }; -}; +/** Contains response data for the listRoleDefinitions operation. */ +export type RoleDefinitionsListRoleDefinitionsResponse = SynapseRoleDefinition[]; -/** Contains response data for the getRoleDefinitionsNext operation. */ -export type AccessControlClientGetRoleDefinitionsNextResponse = RolesListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +/** Optional parameters. */ +export interface RoleDefinitionsGetRoleDefinitionByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getRoleDefinitionById operation. */ +export type RoleDefinitionsGetRoleDefinitionByIdResponse = SynapseRoleDefinition; - /** The response body as parsed JSON or XML */ - parsedBody: RolesListResponse; - }; +/** Optional parameters. */ +export interface RoleDefinitionsListScopesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listScopes operation. */ +export type RoleDefinitionsListScopesResponse = { + /** The parsed response body. */ + body: string[]; }; /** Optional parameters. */ -export interface AccessControlClientOptionalParams extends coreHttp.ServiceClientOptions { +export interface AccessControlClientOptionalParams + extends coreClient.ServiceClientOptions { /** Api Version */ apiVersion?: string; /** Overrides client endpoint. */ diff --git a/sdk/synapse/synapse-access-control/src/models/mappers.ts b/sdk/synapse/synapse-access-control/src/models/mappers.ts index 18f6ab27e9c9..5bc481484563 100644 --- a/sdk/synapse/synapse-access-control/src/models/mappers.ts +++ b/sdk/synapse/synapse-access-control/src/models/mappers.ts @@ -1,27 +1,41 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; +/* + * 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 const RolesListResponse: coreHttp.CompositeMapper = { +import * as coreClient from "@azure/core-client"; + +export const CheckPrincipalAccessRequest: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RolesListResponse", + className: "CheckPrincipalAccessRequest", modelProperties: { - value: { - serializedName: "value", + subject: { + serializedName: "subject", + type: { + name: "Composite", + className: "SubjectInfo" + } + }, + actions: { + serializedName: "actions", required: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "SynapseRole" + className: "RequiredAction" } } } }, - nextLink: { - serializedName: "nextLink", + scope: { + serializedName: "scope", + required: true, type: { name: "String" } @@ -30,35 +44,145 @@ export const RolesListResponse: coreHttp.CompositeMapper = { } }; -export const SynapseRole: coreHttp.CompositeMapper = { +export const SubjectInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SynapseRole", + className: "SubjectInfo", + modelProperties: { + principalId: { + serializedName: "principalId", + required: true, + type: { + name: "Uuid" + } + }, + groupIds: { + serializedName: "groupIds", + type: { + name: "Sequence", + element: { + type: { + name: "Uuid" + } + } + } + } + } + } +}; + +export const RequiredAction: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RequiredAction", modelProperties: { id: { serializedName: "id", + required: true, type: { name: "String" } }, - name: { - serializedName: "name", + isDataAction: { + serializedName: "isDataAction", + required: true, + type: { + name: "Boolean" + } + } + } + } +}; + +export const CheckPrincipalAccessResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CheckPrincipalAccessResponse", + modelProperties: { + accessDecisions: { + serializedName: "accessDecisions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CheckAccessDecision" + } + } + } + } + } + } +}; + +export const CheckAccessDecision: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CheckAccessDecision", + modelProperties: { + accessDecision: { + serializedName: "accessDecision", type: { name: "String" } }, - isBuiltIn: { - serializedName: "isBuiltIn", - required: true, + actionId: { + serializedName: "actionId", type: { - name: "Boolean" + name: "String" + } + }, + roleAssignment: { + serializedName: "roleAssignment", + type: { + name: "Composite", + className: "RoleAssignmentDetails" } } } } }; -export const ErrorContract: coreHttp.CompositeMapper = { +export const RoleAssignmentDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentDetails", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + type: { + name: "Uuid" + } + }, + principalId: { + serializedName: "principalId", + type: { + name: "Uuid" + } + }, + scope: { + serializedName: "scope", + type: { + name: "String" + } + }, + principalType: { + serializedName: "principalType", + type: { + name: "String" + } + } + } + } +}; + +export const ErrorContract: coreClient.CompositeMapper = { type: { name: "Composite", className: "ErrorContract", @@ -74,39 +198,54 @@ export const ErrorContract: coreHttp.CompositeMapper = { } }; -export const ErrorResponse: coreHttp.CompositeMapper = { +export const ErrorResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "ErrorResponse", modelProperties: { code: { serializedName: "code", - required: true, + readOnly: true, type: { name: "String" } }, message: { serializedName: "message", - required: true, + readOnly: true, type: { name: "String" } }, target: { serializedName: "target", + readOnly: true, type: { name: "String" } }, details: { serializedName: "details", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorResponse" + } + } + } + }, + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "ErrorDetail" + className: "ErrorAdditionalInfo" } } } @@ -115,50 +254,85 @@ export const ErrorResponse: coreHttp.CompositeMapper = { } }; -export const ErrorDetail: coreHttp.CompositeMapper = { +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorDetail", + className: "ErrorAdditionalInfo", modelProperties: { - code: { - serializedName: "code", - required: true, + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - message: { - serializedName: "message", - required: true, + info: { + serializedName: "info", + readOnly: true, type: { - name: "String" + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const RoleAssignmentDetailsList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentDetailsList", + modelProperties: { + count: { + serializedName: "count", + type: { + name: "Number" } }, - target: { - serializedName: "target", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleAssignmentDetails" + } + } } } } } }; -export const RoleAssignmentOptions: coreHttp.CompositeMapper = { +export const RoleAssignmentRequest: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentOptions", + className: "RoleAssignmentRequest", modelProperties: { roleId: { serializedName: "roleId", required: true, type: { - name: "String" + name: "Uuid" } }, principalId: { serializedName: "principalId", required: true, + type: { + name: "Uuid" + } + }, + scope: { + serializedName: "scope", + required: true, + type: { + name: "String" + } + }, + principalType: { + serializedName: "principalType", type: { name: "String" } @@ -167,25 +341,60 @@ export const RoleAssignmentOptions: coreHttp.CompositeMapper = { } }; -export const RoleAssignmentDetails: coreHttp.CompositeMapper = { +export const SynapseRoleDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentDetails", + className: "SynapseRoleDefinition", modelProperties: { id: { serializedName: "id", + type: { + name: "Uuid" + } + }, + name: { + serializedName: "name", type: { name: "String" } }, - roleId: { - serializedName: "roleId", + isBuiltIn: { + serializedName: "isBuiltIn", + type: { + name: "Boolean" + } + }, + description: { + serializedName: "description", type: { name: "String" } }, - principalId: { - serializedName: "principalId", + permissions: { + serializedName: "permissions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SynapseRbacPermission" + } + } + } + }, + scopes: { + serializedName: "scopes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + availabilityStatus: { + serializedName: "availabilityStatus", type: { name: "String" } @@ -194,10 +403,63 @@ export const RoleAssignmentDetails: coreHttp.CompositeMapper = { } }; -export const AccessControlClientGetRoleAssignmentsHeaders: coreHttp.CompositeMapper = { +export const SynapseRbacPermission: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SynapseRbacPermission", + modelProperties: { + actions: { + serializedName: "actions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + notActions: { + serializedName: "notActions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + dataActions: { + serializedName: "dataActions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + notDataActions: { + serializedName: "notDataActions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const RoleAssignmentsListRoleAssignmentsHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AccessControlClientGetRoleAssignmentsHeaders", + className: "RoleAssignmentsListRoleAssignmentsHeaders", modelProperties: { xMsContinuation: { serializedName: "x-ms-continuation", diff --git a/sdk/synapse/synapse-access-control/src/models/parameters.ts b/sdk/synapse/synapse-access-control/src/models/parameters.ts index 9d0b4b306b5d..de4dc51cb706 100644 --- a/sdk/synapse/synapse-access-control/src/models/parameters.ts +++ b/sdk/synapse/synapse-access-control/src/models/parameters.ts @@ -1,16 +1,37 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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-http"; -import { RoleAssignmentOptions as RoleAssignmentOptionsMapper } from "../models/mappers"; +} from "@azure/core-client"; +import { + CheckPrincipalAccessRequest as CheckPrincipalAccessRequestMapper, + RoleAssignmentRequest as RoleAssignmentRequestMapper +} from "../models/mappers"; + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], + mapper: { + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", + type: { + name: "String" + } + } +}; export const accept: OperationParameter = { parameterPath: "accept", mapper: { - defaultValue: "application/json", + defaultValue: "application/json, text/json", isConstant: true, serializedName: "Accept", type: { @@ -19,6 +40,21 @@ export const accept: OperationParameter = { } }; +export const subject: OperationParameter = { + parameterPath: "subject", + mapper: CheckPrincipalAccessRequestMapper +}; + +export const actions: OperationParameter = { + parameterPath: "actions", + mapper: CheckPrincipalAccessRequestMapper +}; + +export const scope: OperationParameter = { + parameterPath: "scope", + mapper: CheckPrincipalAccessRequestMapper +}; + export const endpoint: OperationURLParameter = { parameterPath: "endpoint", mapper: { @@ -34,7 +70,7 @@ export const endpoint: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2020-02-01-preview", + defaultValue: "2020-12-01", isConstant: true, serializedName: "api-version", type: { @@ -43,48 +79,30 @@ export const apiVersion: OperationQueryParameter = { } }; -export const roleId: OperationURLParameter = { - parameterPath: "roleId", +export const roleId: OperationQueryParameter = { + parameterPath: ["options", "roleId"], mapper: { serializedName: "roleId", - required: true, - type: { - name: "String" - } - } -}; - -export const contentType: OperationParameter = { - parameterPath: ["options", "contentType"], - mapper: { - defaultValue: "application/json", - isConstant: true, - serializedName: "Content-Type", type: { name: "String" } } }; -export const createRoleAssignmentOptions: OperationParameter = { - parameterPath: "createRoleAssignmentOptions", - mapper: RoleAssignmentOptionsMapper -}; - -export const roleId1: OperationQueryParameter = { - parameterPath: ["options", "roleId"], +export const principalId: OperationQueryParameter = { + parameterPath: ["options", "principalId"], mapper: { - serializedName: "roleId", + serializedName: "principalId", type: { name: "String" } } }; -export const principalId: OperationQueryParameter = { - parameterPath: ["options", "principalId"], +export const scope1: OperationQueryParameter = { + parameterPath: ["options", "scope"], mapper: { - serializedName: "principalId", + serializedName: "scope", type: { name: "String" } @@ -101,6 +119,26 @@ export const continuationToken: OperationParameter = { } }; +export const roleId1: OperationParameter = { + parameterPath: "roleId", + mapper: RoleAssignmentRequestMapper +}; + +export const principalId1: OperationParameter = { + parameterPath: "principalId", + mapper: RoleAssignmentRequestMapper +}; + +export const scope2: OperationParameter = { + parameterPath: "scope", + mapper: RoleAssignmentRequestMapper +}; + +export const principalType: OperationParameter = { + parameterPath: ["options", "principalType"], + mapper: RoleAssignmentRequestMapper +}; + export const roleAssignmentId: OperationURLParameter = { parameterPath: "roleAssignmentId", mapper: { @@ -115,14 +153,23 @@ export const roleAssignmentId: OperationURLParameter = { } }; -export const nextLink: OperationURLParameter = { - parameterPath: "nextLink", +export const isBuiltIn: OperationQueryParameter = { + parameterPath: ["options", "isBuiltIn"], + mapper: { + serializedName: "isBuiltIn", + type: { + name: "Boolean" + } + } +}; + +export const roleDefinitionId: OperationURLParameter = { + parameterPath: "roleDefinitionId", mapper: { - serializedName: "nextLink", + serializedName: "roleDefinitionId", required: true, type: { name: "String" } - }, - skipEncoding: true + } }; diff --git a/sdk/synapse/synapse-access-control/src/operations/index.ts b/sdk/synapse/synapse-access-control/src/operations/index.ts new file mode 100644 index 000000000000..948a0975bd49 --- /dev/null +++ b/sdk/synapse/synapse-access-control/src/operations/index.ts @@ -0,0 +1,10 @@ +/* + * 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 "./roleAssignments"; +export * from "./roleDefinitions"; diff --git a/sdk/synapse/synapse-access-control/src/operations/roleAssignments.ts b/sdk/synapse/synapse-access-control/src/operations/roleAssignments.ts new file mode 100644 index 000000000000..b403e2d4d6ee --- /dev/null +++ b/sdk/synapse/synapse-access-control/src/operations/roleAssignments.ts @@ -0,0 +1,306 @@ +/* + * 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 { createSpan } from "../tracing"; +import { RoleAssignments } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AccessControlClientContext } from "../accessControlClientContext"; +import { + SubjectInfo, + RequiredAction, + RoleAssignmentsCheckPrincipalAccessOptionalParams, + RoleAssignmentsCheckPrincipalAccessResponse, + RoleAssignmentsListRoleAssignmentsOptionalParams, + RoleAssignmentsListRoleAssignmentsResponse, + RoleAssignmentsCreateRoleAssignmentOptionalParams, + RoleAssignmentsCreateRoleAssignmentResponse, + RoleAssignmentsGetRoleAssignmentByIdOptionalParams, + RoleAssignmentsGetRoleAssignmentByIdResponse, + RoleAssignmentsDeleteRoleAssignmentByIdOptionalParams +} from "../models"; + +/** Class representing a RoleAssignments. */ +export class RoleAssignmentsImpl implements RoleAssignments { + private readonly client: AccessControlClientContext; + + /** + * Initialize a new instance of the class RoleAssignments class. + * @param client Reference to the service client + */ + constructor(client: AccessControlClientContext) { + this.client = client; + } + + /** + * Check if the given principalId has access to perform list of actions at a given scope. + * @param subject Subject details + * @param actions List of actions. + * @param scope Scope at which the check access is done. + * @param options The options parameters. + */ + async checkPrincipalAccess( + subject: SubjectInfo, + actions: RequiredAction[], + scope: string, + options?: RoleAssignmentsCheckPrincipalAccessOptionalParams + ): Promise { + const { span } = createSpan( + "AccessControlClient-checkPrincipalAccess", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { subject, actions, scope, options }, + checkPrincipalAccessOperationSpec + ); + return result as RoleAssignmentsCheckPrincipalAccessResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * List role assignments. + * @param options The options parameters. + */ + async listRoleAssignments( + options?: RoleAssignmentsListRoleAssignmentsOptionalParams + ): Promise { + const { span } = createSpan( + "AccessControlClient-listRoleAssignments", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + listRoleAssignmentsOperationSpec + ); + return result as RoleAssignmentsListRoleAssignmentsResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Create role assignment. + * @param roleAssignmentId The ID of the role assignment. + * @param roleId Role ID of the Synapse Built-In Role + * @param principalId Object ID of the AAD principal or security-group + * @param scope Scope at which the role assignment is created + * @param options The options parameters. + */ + async createRoleAssignment( + roleAssignmentId: string, + roleId: string, + principalId: string, + scope: string, + options?: RoleAssignmentsCreateRoleAssignmentOptionalParams + ): Promise { + const { span } = createSpan( + "AccessControlClient-createRoleAssignment", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { roleAssignmentId, roleId, principalId, scope, options }, + createRoleAssignmentOperationSpec + ); + return result as RoleAssignmentsCreateRoleAssignmentResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Get role assignment by role assignment Id. + * @param roleAssignmentId The ID of the role assignment. + * @param options The options parameters. + */ + async getRoleAssignmentById( + roleAssignmentId: string, + options?: RoleAssignmentsGetRoleAssignmentByIdOptionalParams + ): Promise { + const { span } = createSpan( + "AccessControlClient-getRoleAssignmentById", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { roleAssignmentId, options }, + getRoleAssignmentByIdOperationSpec + ); + return result as RoleAssignmentsGetRoleAssignmentByIdResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Delete role assignment by role assignment Id. + * @param roleAssignmentId The ID of the role assignment. + * @param options The options parameters. + */ + async deleteRoleAssignmentById( + roleAssignmentId: string, + options?: RoleAssignmentsDeleteRoleAssignmentByIdOptionalParams + ): Promise { + const { span } = createSpan( + "AccessControlClient-deleteRoleAssignmentById", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { roleAssignmentId, options }, + deleteRoleAssignmentByIdOperationSpec + ); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const checkPrincipalAccessOperationSpec: coreClient.OperationSpec = { + path: "/checkAccessSynapseRbac", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.CheckPrincipalAccessResponse + }, + default: { + bodyMapper: Mappers.ErrorContract + } + }, + requestBody: { + parameterPath: { + subject: ["subject"], + actions: ["actions"], + scope: ["scope"] + }, + mapper: { ...Mappers.CheckPrincipalAccessRequest, required: true } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const listRoleAssignmentsOperationSpec: coreClient.OperationSpec = { + path: "/roleAssignments", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentDetailsList, + headersMapper: Mappers.RoleAssignmentsListRoleAssignmentsHeaders + }, + default: { + bodyMapper: Mappers.ErrorContract + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.roleId, + Parameters.principalId, + Parameters.scope1 + ], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept, Parameters.continuationToken], + serializer +}; +const createRoleAssignmentOperationSpec: coreClient.OperationSpec = { + path: "/roleAssignments/{roleAssignmentId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentDetails + }, + default: { + bodyMapper: Mappers.ErrorContract + } + }, + requestBody: { + parameterPath: { + roleId: ["roleId"], + principalId: ["principalId"], + scope: ["scope"], + principalType: ["options", "principalType"] + }, + mapper: { ...Mappers.RoleAssignmentRequest, required: true } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.roleAssignmentId], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const getRoleAssignmentByIdOperationSpec: coreClient.OperationSpec = { + path: "/roleAssignments/{roleAssignmentId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoleAssignmentDetails + }, + default: { + bodyMapper: Mappers.ErrorContract + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.roleAssignmentId], + headerParameters: [Parameters.accept], + serializer +}; +const deleteRoleAssignmentByIdOperationSpec: coreClient.OperationSpec = { + path: "/roleAssignments/{roleAssignmentId}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorContract + } + }, + queryParameters: [Parameters.apiVersion, Parameters.scope1], + urlParameters: [Parameters.endpoint, Parameters.roleAssignmentId], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-access-control/src/operations/roleDefinitions.ts b/sdk/synapse/synapse-access-control/src/operations/roleDefinitions.ts new file mode 100644 index 000000000000..1f86d9d4661e --- /dev/null +++ b/sdk/synapse/synapse-access-control/src/operations/roleDefinitions.ts @@ -0,0 +1,186 @@ +/* + * 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 { createSpan } from "../tracing"; +import { RoleDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AccessControlClientContext } from "../accessControlClientContext"; +import { + RoleDefinitionsListRoleDefinitionsOptionalParams, + RoleDefinitionsListRoleDefinitionsResponse, + RoleDefinitionsGetRoleDefinitionByIdOptionalParams, + RoleDefinitionsGetRoleDefinitionByIdResponse, + RoleDefinitionsListScopesOptionalParams, + RoleDefinitionsListScopesResponse +} from "../models"; + +/** Class representing a RoleDefinitions. */ +export class RoleDefinitionsImpl implements RoleDefinitions { + private readonly client: AccessControlClientContext; + + /** + * Initialize a new instance of the class RoleDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AccessControlClientContext) { + this.client = client; + } + + /** + * List role definitions. + * @param options The options parameters. + */ + async listRoleDefinitions( + options?: RoleDefinitionsListRoleDefinitionsOptionalParams + ): Promise { + const { span } = createSpan( + "AccessControlClient-listRoleDefinitions", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + listRoleDefinitionsOperationSpec + ); + return result as RoleDefinitionsListRoleDefinitionsResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Get role definition by role definition Id. + * @param roleDefinitionId Synapse Built-In Role Definition Id. + * @param options The options parameters. + */ + async getRoleDefinitionById( + roleDefinitionId: string, + options?: RoleDefinitionsGetRoleDefinitionByIdOptionalParams + ): Promise { + const { span } = createSpan( + "AccessControlClient-getRoleDefinitionById", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { roleDefinitionId, options }, + getRoleDefinitionByIdOperationSpec + ); + return result as RoleDefinitionsGetRoleDefinitionByIdResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * List rbac scopes. + * @param options The options parameters. + */ + async listScopes( + options?: RoleDefinitionsListScopesOptionalParams + ): Promise { + const { span } = createSpan( + "AccessControlClient-listScopes", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + listScopesOperationSpec + ); + return result as RoleDefinitionsListScopesResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listRoleDefinitionsOperationSpec: coreClient.OperationSpec = { + path: "/roleDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: { + type: { + name: "Sequence", + element: { + type: { name: "Composite", className: "SynapseRoleDefinition" } + } + } + } + }, + default: { + bodyMapper: Mappers.ErrorContract + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.scope1, + Parameters.isBuiltIn + ], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const getRoleDefinitionByIdOperationSpec: coreClient.OperationSpec = { + path: "/roleDefinitions/{roleDefinitionId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SynapseRoleDefinition + }, + default: { + bodyMapper: Mappers.ErrorContract + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.roleDefinitionId], + headerParameters: [Parameters.accept], + serializer +}; +const listScopesOperationSpec: coreClient.OperationSpec = { + path: "/rbacScopes", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: { + type: { name: "Sequence", element: { type: { name: "String" } } } + } + }, + default: { + bodyMapper: Mappers.ErrorContract + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-access-control/src/operationsInterfaces/index.ts b/sdk/synapse/synapse-access-control/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..948a0975bd49 --- /dev/null +++ b/sdk/synapse/synapse-access-control/src/operationsInterfaces/index.ts @@ -0,0 +1,10 @@ +/* + * 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 "./roleAssignments"; +export * from "./roleDefinitions"; diff --git a/sdk/synapse/synapse-access-control/src/operationsInterfaces/roleAssignments.ts b/sdk/synapse/synapse-access-control/src/operationsInterfaces/roleAssignments.ts new file mode 100644 index 000000000000..f501644a6f9b --- /dev/null +++ b/sdk/synapse/synapse-access-control/src/operationsInterfaces/roleAssignments.ts @@ -0,0 +1,78 @@ +/* + * 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 { + SubjectInfo, + RequiredAction, + RoleAssignmentsCheckPrincipalAccessOptionalParams, + RoleAssignmentsCheckPrincipalAccessResponse, + RoleAssignmentsListRoleAssignmentsOptionalParams, + RoleAssignmentsListRoleAssignmentsResponse, + RoleAssignmentsCreateRoleAssignmentOptionalParams, + RoleAssignmentsCreateRoleAssignmentResponse, + RoleAssignmentsGetRoleAssignmentByIdOptionalParams, + RoleAssignmentsGetRoleAssignmentByIdResponse, + RoleAssignmentsDeleteRoleAssignmentByIdOptionalParams +} from "../models"; + +/** Interface representing a RoleAssignments. */ +export interface RoleAssignments { + /** + * Check if the given principalId has access to perform list of actions at a given scope. + * @param subject Subject details + * @param actions List of actions. + * @param scope Scope at which the check access is done. + * @param options The options parameters. + */ + checkPrincipalAccess( + subject: SubjectInfo, + actions: RequiredAction[], + scope: string, + options?: RoleAssignmentsCheckPrincipalAccessOptionalParams + ): Promise; + /** + * List role assignments. + * @param options The options parameters. + */ + listRoleAssignments( + options?: RoleAssignmentsListRoleAssignmentsOptionalParams + ): Promise; + /** + * Create role assignment. + * @param roleAssignmentId The ID of the role assignment. + * @param roleId Role ID of the Synapse Built-In Role + * @param principalId Object ID of the AAD principal or security-group + * @param scope Scope at which the role assignment is created + * @param options The options parameters. + */ + createRoleAssignment( + roleAssignmentId: string, + roleId: string, + principalId: string, + scope: string, + options?: RoleAssignmentsCreateRoleAssignmentOptionalParams + ): Promise; + /** + * Get role assignment by role assignment Id. + * @param roleAssignmentId The ID of the role assignment. + * @param options The options parameters. + */ + getRoleAssignmentById( + roleAssignmentId: string, + options?: RoleAssignmentsGetRoleAssignmentByIdOptionalParams + ): Promise; + /** + * Delete role assignment by role assignment Id. + * @param roleAssignmentId The ID of the role assignment. + * @param options The options parameters. + */ + deleteRoleAssignmentById( + roleAssignmentId: string, + options?: RoleAssignmentsDeleteRoleAssignmentByIdOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-access-control/src/operationsInterfaces/roleDefinitions.ts b/sdk/synapse/synapse-access-control/src/operationsInterfaces/roleDefinitions.ts new file mode 100644 index 000000000000..004cd1a6c8e5 --- /dev/null +++ b/sdk/synapse/synapse-access-control/src/operationsInterfaces/roleDefinitions.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. + */ + +import { + RoleDefinitionsListRoleDefinitionsOptionalParams, + RoleDefinitionsListRoleDefinitionsResponse, + RoleDefinitionsGetRoleDefinitionByIdOptionalParams, + RoleDefinitionsGetRoleDefinitionByIdResponse, + RoleDefinitionsListScopesOptionalParams, + RoleDefinitionsListScopesResponse +} from "../models"; + +/** Interface representing a RoleDefinitions. */ +export interface RoleDefinitions { + /** + * List role definitions. + * @param options The options parameters. + */ + listRoleDefinitions( + options?: RoleDefinitionsListRoleDefinitionsOptionalParams + ): Promise; + /** + * Get role definition by role definition Id. + * @param roleDefinitionId Synapse Built-In Role Definition Id. + * @param options The options parameters. + */ + getRoleDefinitionById( + roleDefinitionId: string, + options?: RoleDefinitionsGetRoleDefinitionByIdOptionalParams + ): Promise; + /** + * List rbac scopes. + * @param options The options parameters. + */ + listScopes( + options?: RoleDefinitionsListScopesOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-access-control/src/tracing.ts b/sdk/synapse/synapse-access-control/src/tracing.ts index 05a45bbbe4bc..e16413753169 100644 --- a/sdk/synapse/synapse-access-control/src/tracing.ts +++ b/sdk/synapse/synapse-access-control/src/tracing.ts @@ -1,5 +1,11 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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 { createSpanFunction } from "@azure/core-tracing"; export const createSpan = createSpanFunction({ diff --git a/sdk/synapse/synapse-access-control/swagger/README.md b/sdk/synapse/synapse-access-control/swagger/README.md new file mode 100644 index 000000000000..a14833e56406 --- /dev/null +++ b/sdk/synapse/synapse-access-control/swagger/README.md @@ -0,0 +1,28 @@ +# Synapse ArtifactsClient + +> see https://aka.ms/autorest + +## Configuration + +```yaml +package-name: "@azure/synapse-access-control" +package-version: "1.0.0-beta.4" +add-credentials: true +license-header: MICROSOFT_MIT_NO_VERSION +credential-scopes: https://dev.azuresynapse.net/.default +output-folder: .. +clear-output-folder: false +tracing-info: + namespace: "Azure.Synapse.AccessControl" + packagePrefix: "Microsoft.Synapse" +require: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/synapse/data-plane/readme.md +use-extension: + "@autorest/typescript": "latest" + +typescript: + generate-metadata: false + azure-arm: true + +modelerfour: + lenient-model-deduplication: true +``` diff --git a/sdk/synapse/synapse-access-control/test/public/test.spec.ts b/sdk/synapse/synapse-access-control/test/public/test.spec.ts new file mode 100644 index 000000000000..50dfbc64710b --- /dev/null +++ b/sdk/synapse/synapse-access-control/test/public/test.spec.ts @@ -0,0 +1,23 @@ +import { AccessControlClient } from "../../src/accessControlClient"; +import { Recorder } from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { createClient, createRecorder } from "./utils/recordedClient"; + +describe("Access Control smoke", () => { + let recorder: Recorder; + let client: AccessControlClient; + + beforeEach(function() { + recorder = createRecorder(this); + client = createClient(); + }); + + afterEach(async () => { + await recorder.stop(); + }); + + it("should list roles", async () => { + const result = await client.roleDefinitions.listRoleDefinitions(); + assert.isTrue(result.length > 0); + }); +}); diff --git a/sdk/synapse/synapse-access-control/test/public/utils/env.browser.ts b/sdk/synapse/synapse-access-control/test/public/utils/env.browser.ts new file mode 100644 index 000000000000..fd2aca680c7b --- /dev/null +++ b/sdk/synapse/synapse-access-control/test/public/utils/env.browser.ts @@ -0,0 +1,2 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. diff --git a/sdk/synapse/synapse-access-control/test/public/utils/env.ts b/sdk/synapse/synapse-access-control/test/public/utils/env.ts new file mode 100644 index 000000000000..0e06855b73ae --- /dev/null +++ b/sdk/synapse/synapse-access-control/test/public/utils/env.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import * as dotenv from "dotenv"; + +dotenv.config(); diff --git a/sdk/synapse/synapse-access-control/test/public/utils/recordedClient.ts b/sdk/synapse/synapse-access-control/test/public/utils/recordedClient.ts new file mode 100644 index 000000000000..8e915fcd3c83 --- /dev/null +++ b/sdk/synapse/synapse-access-control/test/public/utils/recordedClient.ts @@ -0,0 +1,58 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { Context } from "mocha"; + +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; +import { TokenCredential, ClientSecretCredential } from "@azure/identity"; + +import { AccessControlClient, AccessControlClientOptionalParams } from "../../../src"; +import "./env"; + +const replaceableVariables: { [k: string]: string } = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + ENDPOINT: "https://testaccount.dev.azuresynapse.net" +}; + +export const environmentSetup: RecorderEnvironmentSetup = { + replaceableVariables, + customizationsOnRecordings: [ + (recording: string): string => + recording.replace(/"access_token"\s?:\s?"[^"]*"/g, `"access_token":"access_token"`), + // If we put ENDPOINT in replaceableVariables above, it will not capture + // the endpoint string used with nock, which will be expanded to + // https://:443/ and therefore will not match, so we have to do + // this instead. + (recording: string): string => { + const replaced = recording.replace( + "testaccount.dev.azuresynapse.net:443", + "testaccount.dev.azuresynapse.net" + ); + return replaced; + } + ], + queryParametersToSkip: [] +}; + +export function createClient(options?: AccessControlClientOptionalParams): AccessControlClient { + let credential: TokenCredential; + + credential = new ClientSecretCredential( + env.AZURE_TENANT_ID, + env.AZURE_CLIENT_ID, + env.AZURE_CLIENT_SECRET + ); + + return new AccessControlClient(credential, env.ENDPOINT, options); +} + +/** + * creates the recorder and reads the environment variables from the `.env` file. + * Should be called first in the test suite to make sure environment variables are + * read before they are being used. + */ +export function createRecorder(context: Context): Recorder { + return record(context, environmentSetup); +} diff --git a/sdk/synapse/synapse-access-control/tsconfig.json b/sdk/synapse/synapse-access-control/tsconfig.json index d43efedfc9bc..5626c92e1b02 100644 --- a/sdk/synapse/synapse-access-control/tsconfig.json +++ b/sdk/synapse/synapse-access-control/tsconfig.json @@ -1,20 +1,19 @@ { + "extends": "../../../tsconfig.package", "compilerOptions": { - "module": "es6", - "moduleResolution": "node", - "strict": true, - "target": "es5", - "sourceMap": true, - "declarationMap": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "preserveConstEnums": true, - "lib": ["es6", "dom"], - "declaration": true, "outDir": "./dist-esm", - "importHelpers": true + "declarationDir": "./types" }, - "include": ["./src/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "src/**/*.ts", + "test/**/*.ts" + ], + "exclude": [ + "node_modules", + "types", + "temp", + "browser", + "dist*", + "./dom-shims.d.ts" + ] } diff --git a/sdk/synapse/synapse-artifacts/CHANGELOG.md b/sdk/synapse/synapse-artifacts/CHANGELOG.md index 53c747488a26..a3def7c69f59 100644 --- a/sdk/synapse/synapse-artifacts/CHANGELOG.md +++ b/sdk/synapse/synapse-artifacts/CHANGELOG.md @@ -1,7 +1,21 @@ # Release History -## 1.0.0-beta.5 (Unreleased) +## 1.0.0-beta.6 (Unreleased) +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.5 (2021-08-10) + +### Other Changes + +- Migrate to CoreV2 +- Re-generate with swagger `2021-06-01-preview` ## 1.0.0-beta.4 (2021-04-06) diff --git a/sdk/synapse/synapse-artifacts/karma.conf.js b/sdk/synapse/synapse-artifacts/karma.conf.js index 6802c8b9d0d7..e93dbd46c059 100644 --- a/sdk/synapse/synapse-artifacts/karma.conf.js +++ b/sdk/synapse/synapse-artifacts/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/synapse/synapse-artifacts/package.json b/sdk/synapse/synapse-artifacts/package.json index 87eea4033cea..b463f47b1d88 100644 --- a/sdk/synapse/synapse-artifacts/package.json +++ b/sdk/synapse/synapse-artifacts/package.json @@ -3,14 +3,16 @@ "author": "Microsoft Corporation", "description": "A generated SDK for ArtifactsClient.", "sdk-type": "client", - "version": "1.0.0-beta.5", + "version": "1.0.0-beta.6", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/synapse/synapse-artifacts/README.md", "repository": "github:Azure/azure-sdk-for-js", "dependencies": { + "@azure/core-auth": "^1.3.0", "@azure/core-lro": "^2.2.0", "@azure/core-paging": "^1.1.1", - "@azure/core-http": "^2.0.0", + "@azure/core-client": "^1.0.0", "@azure/core-tracing": "1.0.0-preview.13", + "@azure/core-rest-pipeline": "^1.1.0", "tslib": "^2.2.0" }, "browser": { @@ -34,10 +36,9 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.5", - "@azure/test-utils-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", - "@rollup/plugin-commonjs": "11.0.2", "@types/chai": "^4.1.6", "@types/mocha": "^7.0.2", "chai": "^4.2.0", @@ -58,8 +59,6 @@ "nyc": "^14.0.0", "prettier": "^1.16.4", "rimraf": "^3.0.0", - "rollup-plugin-node-resolve": "^3.4.0", - "rollup-plugin-sourcemaps": "^0.4.2", "rollup": "^1.16.3", "uglify-js": "^3.4.9", "@types/chai-as-promised": "^7.1.0", @@ -73,7 +72,7 @@ "karma-source-map-support": "~1.4.0", "sinon": "^9.0.2", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "typedoc": "0.15.2" }, @@ -115,11 +114,7 @@ "constantPaths": [ { "path": "src/artifactsClientContext.ts", - "prefix": "packageVersion" - }, - { - "path": "src/utils/constants.ts", - "prefix": "SDK_VERSION" + "prefix": "packageDetails" }, { "path": "swagger/README.md", diff --git a/sdk/synapse/synapse-artifacts/review/synapse-artifacts.api.md b/sdk/synapse/synapse-artifacts/review/synapse-artifacts.api.md index 7f3495a8d7e9..8039ccef43fd 100644 --- a/sdk/synapse/synapse-artifacts/review/synapse-artifacts.api.md +++ b/sdk/synapse/synapse-artifacts/review/synapse-artifacts.api.md @@ -4,15 +4,12 @@ ```ts -import * as coreHttp from '@azure/core-http'; -import { HttpMethods } from '@azure/core-http'; -import { HttpOperationResponse } from '@azure/core-http'; -import { OperationArguments } from '@azure/core-http'; -import { OperationSpec } from '@azure/core-http'; +import * as coreAuth from '@azure/core-auth'; +import * as coreClient from '@azure/core-client'; +import * as coreRestPipeline from '@azure/core-rest-pipeline'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; -import { Poller } from '@azure/core-lro'; +import { PollerLike } from '@azure/core-lro'; import { PollOperationState } from '@azure/core-lro'; -import { RestResponse } from '@azure/core-http'; // @public export interface Activity { @@ -192,46 +189,46 @@ export interface ArtifactRenameRequest { // @public (undocumented) export class ArtifactsClient extends ArtifactsClientContext { - constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, endpoint: string, options?: ArtifactsClientOptionalParams); + constructor(credentials: coreAuth.TokenCredential, endpoint: string, options?: ArtifactsClientOptionalParams); // (undocumented) - bigDataPools: BigDataPoolsOperation; + bigDataPools: BigDataPools; // (undocumented) - dataFlow: DataFlowOperation; + dataFlowDebugSession: DataFlowDebugSession; // (undocumented) - dataFlowDebugSession: DataFlowDebugSessionOperation; + dataFlowOperations: DataFlowOperations; // (undocumented) - dataset: DatasetOperation; + datasetOperations: DatasetOperations; // (undocumented) - integrationRuntimes: IntegrationRuntimesOperation; + integrationRuntimes: IntegrationRuntimes; // (undocumented) - library: LibraryOperaion; + library: Library; // (undocumented) - linkedService: LinkedServiceOperation; + linkedServiceOperations: LinkedServiceOperations; // (undocumented) - notebook: NotebookOperation; + notebookOperations: NotebookOperations; // (undocumented) - pipeline: PipelineOperation; + pipelineOperations: PipelineOperations; // (undocumented) - pipelineRun: PipelineRunOperation; + pipelineRunOperations: PipelineRunOperations; // (undocumented) - sparkJobDefinition: SparkJobDefinitionOperation; + sparkJobDefinitionOperations: SparkJobDefinitionOperations; // (undocumented) - sqlPools: SqlPoolsOperation; + sqlPools: SqlPools; // (undocumented) - sqlScript: SqlScriptOperation; + sqlScriptOperations: SqlScriptOperations; // (undocumented) - trigger: TriggerOperation; + triggerOperations: TriggerOperations; // (undocumented) - triggerRun: TriggerRunOperation; + triggerRunOperations: TriggerRunOperations; // (undocumented) - workspace: WorkspaceOperation; + workspaceGitRepoManagement: WorkspaceGitRepoManagement; // (undocumented) - workspaceGitRepoManagement: WorkspaceGitRepoManagementOperation; + workspaceOperations: WorkspaceOperations; } // @public (undocumented) -export class ArtifactsClientContext extends coreHttp.ServiceClient { - constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, endpoint: string, options?: ArtifactsClientOptionalParams); +export class ArtifactsClientContext extends coreClient.ServiceClient { + constructor(credentials: coreAuth.TokenCredential, endpoint: string, options?: ArtifactsClientOptionalParams); // (undocumented) apiVersion: string; // (undocumented) @@ -239,7 +236,7 @@ export class ArtifactsClientContext extends coreHttp.ServiceClient { } // @public -export interface ArtifactsClientOptionalParams extends coreHttp.ServiceClientOptions { +export interface ArtifactsClientOptionalParams extends coreClient.ServiceClientOptions { apiVersion?: string; endpoint?: string; } @@ -983,11 +980,6 @@ export type AzureTableStorageLinkedService = LinkedService & { encryptedCredential?: string; }; -// @public (undocumented) -export interface BaseResult extends RestResponse { - _response: LROOperationResponse; -} - // @public export interface BigDataPoolReference { referenceName: string; @@ -1026,27 +1018,25 @@ export interface BigDataPoolResourceInfoListResult { } // @public -export type BigDataPoolsGetResponse = BigDataPoolResourceInfo & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: BigDataPoolResourceInfo; - }; -}; +export interface BigDataPools { + get(bigDataPoolName: string, options?: BigDataPoolsGetOptionalParams): Promise; + list(options?: BigDataPoolsListOptionalParams): Promise; +} // @public -export type BigDataPoolsListResponse = BigDataPoolResourceInfoListResult & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: BigDataPoolResourceInfoListResult; - }; -}; +export interface BigDataPoolsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type BigDataPoolsGetResponse = BigDataPoolResourceInfo; // @public -export interface BigDataPoolsOperation { - get(bigDataPoolName: string, options?: coreHttp.OperationOptions): Promise; - list(options?: coreHttp.OperationOptions): Promise; +export interface BigDataPoolsListOptionalParams extends coreClient.OperationOptions { } +// @public +export type BigDataPoolsListResponse = BigDataPoolResourceInfoListResult; + // @public export type BinaryDataset = Dataset & { type: "Binary"; @@ -1235,7 +1225,7 @@ export type ConcurSource = TabularSource & { // @public export type ControlActivity = Activity & { - type: "Container"; + type: "Container" | "ExecutePipeline" | "IfCondition" | "Switch" | "ForEach" | "Wait" | "Until" | "Validation" | "Filter" | "SetVariable" | "AppendVariable" | "WebHook"; }; // @public (undocumented) @@ -1503,20 +1493,6 @@ export interface DataFlow { // @public export type DataFlowComputeType = string; -// @public -export interface DataFlowCreateOrUpdateDataFlowOptionalParams extends coreHttp.OperationOptions { - ifMatch?: string; -} - -// @public -export type DataFlowCreateOrUpdateDataFlowResponse = DataFlowResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DataFlowResource; - [LROSYM]: LROResponseInfo; - }; -}; - // @public export interface DataFlowDebugCommandRequest { commandName?: string; @@ -1576,12 +1552,22 @@ export interface DataFlowDebugResultResponse { } // @public -export type DataFlowDebugSessionAddDataFlowResponse = AddDataFlowToDebugSessionResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: AddDataFlowToDebugSessionResponse; - }; -}; +export interface DataFlowDebugSession { + addDataFlow(request: DataFlowDebugPackage, options?: DataFlowDebugSessionAddDataFlowOptionalParams): Promise; + beginCreateDataFlowDebugSession(request: CreateDataFlowDebugSessionRequest, options?: DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams): Promise, DataFlowDebugSessionCreateDataFlowDebugSessionResponse>>; + beginCreateDataFlowDebugSessionAndWait(request: CreateDataFlowDebugSessionRequest, options?: DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams): Promise; + beginExecuteCommand(request: DataFlowDebugCommandRequest, options?: DataFlowDebugSessionExecuteCommandOptionalParams): Promise, DataFlowDebugSessionExecuteCommandResponse>>; + beginExecuteCommandAndWait(request: DataFlowDebugCommandRequest, options?: DataFlowDebugSessionExecuteCommandOptionalParams): Promise; + deleteDataFlowDebugSession(request: DeleteDataFlowDebugSessionRequest, options?: DataFlowDebugSessionDeleteDataFlowDebugSessionOptionalParams): Promise; + listQueryDataFlowDebugSessionsByWorkspace(options?: DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DataFlowDebugSessionAddDataFlowOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataFlowDebugSessionAddDataFlowResponse = AddDataFlowToDebugSessionResponse; // @public export interface DataFlowDebugSessionCreateDataFlowDebugSessionHeaders { @@ -1589,13 +1575,17 @@ export interface DataFlowDebugSessionCreateDataFlowDebugSessionHeaders { } // @public -export type DataFlowDebugSessionCreateDataFlowDebugSessionResponse = CreateDataFlowDebugSessionResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: CreateDataFlowDebugSessionResponse; - [LROSYM]: LROResponseInfo; - }; -}; +export interface DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DataFlowDebugSessionCreateDataFlowDebugSessionResponse = CreateDataFlowDebugSessionResponse; + +// @public +export interface DataFlowDebugSessionDeleteDataFlowDebugSessionOptionalParams extends coreClient.OperationOptions { +} // @public export interface DataFlowDebugSessionExecuteCommandHeaders { @@ -1603,13 +1593,13 @@ export interface DataFlowDebugSessionExecuteCommandHeaders { } // @public -export type DataFlowDebugSessionExecuteCommandResponse = DataFlowDebugCommandResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DataFlowDebugCommandResponse; - [LROSYM]: LROResponseInfo; - }; -}; +export interface DataFlowDebugSessionExecuteCommandOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DataFlowDebugSessionExecuteCommandResponse = DataFlowDebugCommandResponse; // @public export interface DataFlowDebugSessionInfo { @@ -1626,29 +1616,18 @@ export interface DataFlowDebugSessionInfo { } // @public -export interface DataFlowDebugSessionOperation { - addDataFlow(request: DataFlowDebugPackage, options?: coreHttp.OperationOptions): Promise; - createDataFlowDebugSession(request: CreateDataFlowDebugSessionRequest, options?: coreHttp.OperationOptions): Promise>; - deleteDataFlowDebugSession(request: DeleteDataFlowDebugSessionRequest, options?: coreHttp.OperationOptions): Promise; - executeCommand(request: DataFlowDebugCommandRequest, options?: coreHttp.OperationOptions): Promise>; - listQueryDataFlowDebugSessionsByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; +export interface DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextOptionalParams extends coreClient.OperationOptions { } // @public -export type DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextResponse = QueryDataFlowDebugSessionsResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: QueryDataFlowDebugSessionsResponse; - }; -}; +export type DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextResponse = QueryDataFlowDebugSessionsResponse; // @public -export type DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceResponse = QueryDataFlowDebugSessionsResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: QueryDataFlowDebugSessionsResponse; - }; -}; +export interface DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceResponse = QueryDataFlowDebugSessionsResponse; // @public export interface DataFlowDebugStatisticsRequest { @@ -1664,47 +1643,65 @@ export interface DataFlowFolder { } // @public -export interface DataFlowGetDataFlowOptionalParams extends coreHttp.OperationOptions { +export interface DataFlowListResponse { + nextLink?: string; + value: DataFlowResource[]; +} + +// @public +export interface DataFlowOperations { + beginCreateOrUpdateDataFlow(dataFlowName: string, dataFlow: DataFlowResource, options?: DataFlowOperationsCreateOrUpdateDataFlowOptionalParams): Promise, DataFlowOperationsCreateOrUpdateDataFlowResponse>>; + beginCreateOrUpdateDataFlowAndWait(dataFlowName: string, dataFlow: DataFlowResource, options?: DataFlowOperationsCreateOrUpdateDataFlowOptionalParams): Promise; + beginDeleteDataFlow(dataFlowName: string, options?: DataFlowOperationsDeleteDataFlowOptionalParams): Promise, void>>; + beginDeleteDataFlowAndWait(dataFlowName: string, options?: DataFlowOperationsDeleteDataFlowOptionalParams): Promise; + beginRenameDataFlow(dataFlowName: string, request: ArtifactRenameRequest, options?: DataFlowOperationsRenameDataFlowOptionalParams): Promise, void>>; + beginRenameDataFlowAndWait(dataFlowName: string, request: ArtifactRenameRequest, options?: DataFlowOperationsRenameDataFlowOptionalParams): Promise; + getDataFlow(dataFlowName: string, options?: DataFlowOperationsGetDataFlowOptionalParams): Promise; + listDataFlowsByWorkspace(options?: DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DataFlowOperationsCreateOrUpdateDataFlowOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DataFlowOperationsCreateOrUpdateDataFlowResponse = DataFlowResource; + +// @public +export interface DataFlowOperationsDeleteDataFlowOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DataFlowOperationsGetDataFlowOptionalParams extends coreClient.OperationOptions { ifNoneMatch?: string; } // @public -export type DataFlowGetDataFlowResponse = DataFlowResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DataFlowResource; - }; -}; +export type DataFlowOperationsGetDataFlowResponse = DataFlowResource; // @public -export type DataFlowGetDataFlowsByWorkspaceNextResponse = DataFlowListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DataFlowListResponse; - }; -}; +export interface DataFlowOperationsGetDataFlowsByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type DataFlowGetDataFlowsByWorkspaceResponse = DataFlowListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DataFlowListResponse; - }; -}; +export type DataFlowOperationsGetDataFlowsByWorkspaceNextResponse = DataFlowListResponse; // @public -export interface DataFlowListResponse { - nextLink?: string; - value: DataFlowResource[]; +export interface DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams extends coreClient.OperationOptions { } // @public -export interface DataFlowOperation { - createOrUpdateDataFlow(dataFlowName: string, dataFlow: DataFlowResource, options?: DataFlowCreateOrUpdateDataFlowOptionalParams): Promise>; - deleteDataFlow(dataFlowName: string, options?: coreHttp.OperationOptions): Promise>; - getDataFlow(dataFlowName: string, options?: DataFlowGetDataFlowOptionalParams): Promise; - listDataFlowsByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - renameDataFlow(dataFlowName: string, request: ArtifactRenameRequest, options?: coreHttp.OperationOptions): Promise>; +export type DataFlowOperationsGetDataFlowsByWorkspaceResponse = DataFlowListResponse; + +// @public +export interface DataFlowOperationsRenameDataFlowOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -1805,20 +1802,6 @@ export type DatasetCompressionLevel = string; // @public (undocumented) export type DatasetCompressionUnion = DatasetCompression | DatasetBZip2Compression | DatasetGZipCompression | DatasetDeflateCompression | DatasetZipDeflateCompression | DatasetTarCompression | DatasetTarGZipCompression; -// @public -export interface DatasetCreateOrUpdateDatasetOptionalParams extends coreHttp.OperationOptions { - ifMatch?: string; -} - -// @public -export type DatasetCreateOrUpdateDatasetResponse = DatasetResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DatasetResource; - [LROSYM]: LROResponseInfo; - }; -}; - // @public export interface DatasetDataElement { name?: any; @@ -1841,35 +1824,6 @@ export interface DatasetFolder { name?: string; } -// @public -export interface DatasetGetDatasetOptionalParams extends coreHttp.OperationOptions { - ifNoneMatch?: string; -} - -// @public -export type DatasetGetDatasetResponse = DatasetResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DatasetResource; - }; -}; - -// @public -export type DatasetGetDatasetsByWorkspaceNextResponse = DatasetListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DatasetListResponse; - }; -}; - -// @public -export type DatasetGetDatasetsByWorkspaceResponse = DatasetListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: DatasetListResponse; - }; -}; - // @public export type DatasetGZipCompression = DatasetCompression & { type: "GZip"; @@ -1894,12 +1848,59 @@ export interface DatasetLocation { export type DatasetLocationUnion = DatasetLocation | AzureBlobStorageLocation | AzureBlobFSLocation | AzureDataLakeStoreLocation | AmazonS3Location | FileServerLocation | AzureFileStorageLocation | GoogleCloudStorageLocation | FtpServerLocation | SftpLocation | HttpServerLocation | HdfsLocation; // @public -export interface DatasetOperation { - createOrUpdateDataset(datasetName: string, dataset: DatasetResource, options?: DatasetCreateOrUpdateDatasetOptionalParams): Promise>; - deleteDataset(datasetName: string, options?: coreHttp.OperationOptions): Promise>; - getDataset(datasetName: string, options?: DatasetGetDatasetOptionalParams): Promise; - listDatasetsByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - renameDataset(datasetName: string, request: ArtifactRenameRequest, options?: coreHttp.OperationOptions): Promise>; +export interface DatasetOperations { + beginCreateOrUpdateDataset(datasetName: string, dataset: DatasetResource, options?: DatasetOperationsCreateOrUpdateDatasetOptionalParams): Promise, DatasetOperationsCreateOrUpdateDatasetResponse>>; + beginCreateOrUpdateDatasetAndWait(datasetName: string, dataset: DatasetResource, options?: DatasetOperationsCreateOrUpdateDatasetOptionalParams): Promise; + beginDeleteDataset(datasetName: string, options?: DatasetOperationsDeleteDatasetOptionalParams): Promise, void>>; + beginDeleteDatasetAndWait(datasetName: string, options?: DatasetOperationsDeleteDatasetOptionalParams): Promise; + beginRenameDataset(datasetName: string, request: ArtifactRenameRequest, options?: DatasetOperationsRenameDatasetOptionalParams): Promise, void>>; + beginRenameDatasetAndWait(datasetName: string, request: ArtifactRenameRequest, options?: DatasetOperationsRenameDatasetOptionalParams): Promise; + getDataset(datasetName: string, options?: DatasetOperationsGetDatasetOptionalParams): Promise; + listDatasetsByWorkspace(options?: DatasetOperationsGetDatasetsByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface DatasetOperationsCreateOrUpdateDatasetOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DatasetOperationsCreateOrUpdateDatasetResponse = DatasetResource; + +// @public +export interface DatasetOperationsDeleteDatasetOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface DatasetOperationsGetDatasetOptionalParams extends coreClient.OperationOptions { + ifNoneMatch?: string; +} + +// @public +export type DatasetOperationsGetDatasetResponse = DatasetResource; + +// @public +export interface DatasetOperationsGetDatasetsByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatasetOperationsGetDatasetsByWorkspaceNextResponse = DatasetListResponse; + +// @public +export interface DatasetOperationsGetDatasetsByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DatasetOperationsGetDatasetsByWorkspaceResponse = DatasetListResponse; + +// @public +export interface DatasetOperationsRenameDatasetOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -2394,7 +2395,7 @@ export type ExecuteSsisPackageActivity = ExecutionActivity & { // @public export type ExecutionActivity = Activity & { - type: "Execution"; + type: "Execution" | "Copy" | "HDInsightHive" | "HDInsightPig" | "HDInsightMapReduce" | "HDInsightStreaming" | "HDInsightSpark" | "ExecuteSSISPackage" | "Custom" | "SqlServerStoredProcedure" | "Delete" | "AzureDataExplorerCommand" | "Lookup" | "WebActivity" | "GetMetadata" | "AzureMLBatchExecution" | "AzureMLUpdateResource" | "AzureMLExecutePipeline" | "DataLakeAnalyticsU-SQL" | "DatabricksNotebook" | "DatabricksSparkJar" | "DatabricksSparkPython" | "AzureFunctionActivity" | "ExecuteDataFlow" | "SynapseNotebook" | "SparkJob"; linkedServiceName?: LinkedServiceReference; policy?: ActivityPolicy; }; @@ -2498,9 +2499,6 @@ export type FilterActivity = ControlActivity & { condition: Expression; }; -// @public (undocumented) -export type FinalStateVia = "azure-async-operation" | "location" | "original-uri"; - // @public export type ForEachActivity = ControlActivity & { type: "ForEach"; @@ -2581,6 +2579,7 @@ export interface GitHubAccessTokenRequest { gitHubAccessCode: string; gitHubAccessTokenBaseUrl: string; gitHubClientId: string; + gitHubClientSecret?: GitHubClientSecret; } // @public (undocumented) @@ -2589,6 +2588,12 @@ export interface GitHubAccessTokenResponse { gitHubAccessToken?: string; } +// @public +export interface GitHubClientSecret { + byoaSecretAkvUrl?: string; + byoaSecretName?: string; +} + // @public export type GoogleAdWordsAuthenticationType = string; @@ -3180,27 +3185,25 @@ export type IntegrationRuntimeResource = SubResource & { }; // @public -export type IntegrationRuntimesGetResponse = IntegrationRuntimeResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: IntegrationRuntimeResource; - }; -}; +export interface IntegrationRuntimes { + get(integrationRuntimeName: string, options?: IntegrationRuntimesGetOptionalParams): Promise; + list(options?: IntegrationRuntimesListOptionalParams): Promise; +} // @public -export type IntegrationRuntimesListResponse = IntegrationRuntimeListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: IntegrationRuntimeListResponse; - }; -}; +export interface IntegrationRuntimesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type IntegrationRuntimesGetResponse = IntegrationRuntimeResource; // @public -export interface IntegrationRuntimesOperation { - get(integrationRuntimeName: string, options?: coreHttp.OperationOptions): Promise; - list(options?: coreHttp.OperationOptions): Promise; +export interface IntegrationRuntimesListOptionalParams extends coreClient.OperationOptions { } +// @public +export type IntegrationRuntimesListResponse = IntegrationRuntimeListResponse; + // @public export interface IntegrationRuntimeSsisCatalogInfo { [property: string]: any; @@ -3318,7 +3321,7 @@ export type JsonWriteSettings = FormatWriteSettings & { }; // @public -export const enum KnownAvroCompressionCodec { +export enum KnownAvroCompressionCodec { // (undocumented) Bzip2 = "bzip2", // (undocumented) @@ -3332,7 +3335,7 @@ export const enum KnownAvroCompressionCodec { } // @public -export const enum KnownAzureFunctionActivityMethod { +export enum KnownAzureFunctionActivityMethod { // (undocumented) Delete = "DELETE", // (undocumented) @@ -3350,7 +3353,7 @@ export const enum KnownAzureFunctionActivityMethod { } // @public -export const enum KnownAzureSearchIndexWriteBehaviorType { +export enum KnownAzureSearchIndexWriteBehaviorType { // (undocumented) Merge = "Merge", // (undocumented) @@ -3358,13 +3361,13 @@ export const enum KnownAzureSearchIndexWriteBehaviorType { } // @public -export const enum KnownBigDataPoolReferenceType { +export enum KnownBigDataPoolReferenceType { // (undocumented) BigDataPoolReference = "BigDataPoolReference" } // @public -export const enum KnownBlobEventType { +export enum KnownBlobEventType { // (undocumented) MicrosoftStorageBlobCreated = "Microsoft.Storage.BlobCreated", // (undocumented) @@ -3372,7 +3375,7 @@ export const enum KnownBlobEventType { } // @public -export const enum KnownCassandraSourceReadConsistencyLevels { +export enum KnownCassandraSourceReadConsistencyLevels { // (undocumented) ALL = "ALL", // (undocumented) @@ -3396,7 +3399,7 @@ export const enum KnownCassandraSourceReadConsistencyLevels { } // @public -export const enum KnownCellOutputType { +export enum KnownCellOutputType { // (undocumented) DisplayData = "display_data", // (undocumented) @@ -3408,7 +3411,7 @@ export const enum KnownCellOutputType { } // @public -export const enum KnownCompressionCodec { +export enum KnownCompressionCodec { // (undocumented) Bzip2 = "bzip2", // (undocumented) @@ -3428,7 +3431,7 @@ export const enum KnownCompressionCodec { } // @public -export const enum KnownCopyBehaviorType { +export enum KnownCopyBehaviorType { // (undocumented) FlattenHierarchy = "FlattenHierarchy", // (undocumented) @@ -3438,7 +3441,7 @@ export const enum KnownCopyBehaviorType { } // @public -export const enum KnownDataFlowComputeType { +export enum KnownDataFlowComputeType { // (undocumented) ComputeOptimized = "ComputeOptimized", // (undocumented) @@ -3448,13 +3451,13 @@ export const enum KnownDataFlowComputeType { } // @public -export const enum KnownDataFlowReferenceType { +export enum KnownDataFlowReferenceType { // (undocumented) DataFlowReference = "DataFlowReference" } // @public -export const enum KnownDatasetCompressionLevel { +export enum KnownDatasetCompressionLevel { // (undocumented) Fastest = "Fastest", // (undocumented) @@ -3462,19 +3465,19 @@ export const enum KnownDatasetCompressionLevel { } // @public -export const enum KnownDatasetReferenceType { +export enum KnownDatasetReferenceType { // (undocumented) DatasetReference = "DatasetReference" } // @public -export const enum KnownDb2AuthenticationType { +export enum KnownDb2AuthenticationType { // (undocumented) Basic = "Basic" } // @public -export const enum KnownDependencyCondition { +export enum KnownDependencyCondition { // (undocumented) Completed = "Completed", // (undocumented) @@ -3486,7 +3489,7 @@ export const enum KnownDependencyCondition { } // @public -export const enum KnownDynamicsAuthenticationType { +export enum KnownDynamicsAuthenticationType { // (undocumented) AADServicePrincipal = "AADServicePrincipal", // (undocumented) @@ -3496,7 +3499,7 @@ export const enum KnownDynamicsAuthenticationType { } // @public -export const enum KnownDynamicsDeploymentType { +export enum KnownDynamicsDeploymentType { // (undocumented) Online = "Online", // (undocumented) @@ -3504,7 +3507,7 @@ export const enum KnownDynamicsDeploymentType { } // @public -export const enum KnownDynamicsServicePrincipalCredentialType { +export enum KnownDynamicsServicePrincipalCredentialType { // (undocumented) ServicePrincipalCert = "ServicePrincipalCert", // (undocumented) @@ -3512,13 +3515,13 @@ export const enum KnownDynamicsServicePrincipalCredentialType { } // @public -export const enum KnownDynamicsSinkWriteBehavior { +export enum KnownDynamicsSinkWriteBehavior { // (undocumented) Upsert = "Upsert" } // @public -export const enum KnownEventSubscriptionStatus { +export enum KnownEventSubscriptionStatus { // (undocumented) Deprovisioning = "Deprovisioning", // (undocumented) @@ -3532,13 +3535,13 @@ export const enum KnownEventSubscriptionStatus { } // @public -export const enum KnownExpressionType { +export enum KnownExpressionType { // (undocumented) Expression = "Expression" } // @public -export const enum KnownFtpAuthenticationType { +export enum KnownFtpAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -3546,7 +3549,7 @@ export const enum KnownFtpAuthenticationType { } // @public -export const enum KnownGoogleAdWordsAuthenticationType { +export enum KnownGoogleAdWordsAuthenticationType { // (undocumented) ServiceAuthentication = "ServiceAuthentication", // (undocumented) @@ -3554,7 +3557,7 @@ export const enum KnownGoogleAdWordsAuthenticationType { } // @public -export const enum KnownGoogleBigQueryAuthenticationType { +export enum KnownGoogleBigQueryAuthenticationType { // (undocumented) ServiceAuthentication = "ServiceAuthentication", // (undocumented) @@ -3562,7 +3565,7 @@ export const enum KnownGoogleBigQueryAuthenticationType { } // @public -export const enum KnownHBaseAuthenticationType { +export enum KnownHBaseAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -3570,7 +3573,7 @@ export const enum KnownHBaseAuthenticationType { } // @public -export const enum KnownHdiNodeTypes { +export enum KnownHdiNodeTypes { // (undocumented) Headnode = "Headnode", // (undocumented) @@ -3580,7 +3583,7 @@ export const enum KnownHdiNodeTypes { } // @public -export const enum KnownHDInsightActivityDebugInfoOption { +export enum KnownHDInsightActivityDebugInfoOption { // (undocumented) Always = "Always", // (undocumented) @@ -3590,7 +3593,7 @@ export const enum KnownHDInsightActivityDebugInfoOption { } // @public -export const enum KnownHiveAuthenticationType { +export enum KnownHiveAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -3602,7 +3605,7 @@ export const enum KnownHiveAuthenticationType { } // @public -export const enum KnownHiveServerType { +export enum KnownHiveServerType { // (undocumented) HiveServer1 = "HiveServer1", // (undocumented) @@ -3612,7 +3615,7 @@ export const enum KnownHiveServerType { } // @public -export const enum KnownHiveThriftTransportProtocol { +export enum KnownHiveThriftTransportProtocol { // (undocumented) Binary = "Binary", // (undocumented) @@ -3622,7 +3625,7 @@ export const enum KnownHiveThriftTransportProtocol { } // @public -export const enum KnownHttpAuthenticationType { +export enum KnownHttpAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -3636,7 +3639,7 @@ export const enum KnownHttpAuthenticationType { } // @public -export const enum KnownImpalaAuthenticationType { +export enum KnownImpalaAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -3646,7 +3649,7 @@ export const enum KnownImpalaAuthenticationType { } // @public -export const enum KnownIntegrationRuntimeEdition { +export enum KnownIntegrationRuntimeEdition { // (undocumented) Enterprise = "Enterprise", // (undocumented) @@ -3654,7 +3657,7 @@ export const enum KnownIntegrationRuntimeEdition { } // @public -export const enum KnownIntegrationRuntimeEntityReferenceType { +export enum KnownIntegrationRuntimeEntityReferenceType { // (undocumented) IntegrationRuntimeReference = "IntegrationRuntimeReference", // (undocumented) @@ -3662,7 +3665,7 @@ export const enum KnownIntegrationRuntimeEntityReferenceType { } // @public -export const enum KnownIntegrationRuntimeLicenseType { +export enum KnownIntegrationRuntimeLicenseType { // (undocumented) BasePrice = "BasePrice", // (undocumented) @@ -3670,13 +3673,13 @@ export const enum KnownIntegrationRuntimeLicenseType { } // @public -export const enum KnownIntegrationRuntimeReferenceType { +export enum KnownIntegrationRuntimeReferenceType { // (undocumented) IntegrationRuntimeReference = "IntegrationRuntimeReference" } // @public -export const enum KnownIntegrationRuntimeSsisCatalogPricingTier { +export enum KnownIntegrationRuntimeSsisCatalogPricingTier { // (undocumented) Basic = "Basic", // (undocumented) @@ -3688,7 +3691,7 @@ export const enum KnownIntegrationRuntimeSsisCatalogPricingTier { } // @public -export const enum KnownIntegrationRuntimeState { +export enum KnownIntegrationRuntimeState { // (undocumented) AccessDenied = "AccessDenied", // (undocumented) @@ -3712,7 +3715,7 @@ export const enum KnownIntegrationRuntimeState { } // @public -export const enum KnownIntegrationRuntimeType { +export enum KnownIntegrationRuntimeType { // (undocumented) Managed = "Managed", // (undocumented) @@ -3720,7 +3723,7 @@ export const enum KnownIntegrationRuntimeType { } // @public -export const enum KnownJsonFormatFilePattern { +export enum KnownJsonFormatFilePattern { // (undocumented) ArrayOfObjects = "arrayOfObjects", // (undocumented) @@ -3728,7 +3731,7 @@ export const enum KnownJsonFormatFilePattern { } // @public -export const enum KnownJsonWriteFilePattern { +export enum KnownJsonWriteFilePattern { // (undocumented) ArrayOfObjects = "arrayOfObjects", // (undocumented) @@ -3736,7 +3739,7 @@ export const enum KnownJsonWriteFilePattern { } // @public -export const enum KnownMongoDbAuthenticationType { +export enum KnownMongoDbAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -3744,7 +3747,7 @@ export const enum KnownMongoDbAuthenticationType { } // @public -export const enum KnownNetezzaPartitionOption { +export enum KnownNetezzaPartitionOption { // (undocumented) DataSlice = "DataSlice", // (undocumented) @@ -3754,7 +3757,7 @@ export const enum KnownNetezzaPartitionOption { } // @public -export const enum KnownNodeSize { +export enum KnownNodeSize { // (undocumented) Large = "Large", // (undocumented) @@ -3772,7 +3775,7 @@ export const enum KnownNodeSize { } // @public -export const enum KnownNodeSizeFamily { +export enum KnownNodeSizeFamily { // (undocumented) MemoryOptimized = "MemoryOptimized", // (undocumented) @@ -3780,13 +3783,13 @@ export const enum KnownNodeSizeFamily { } // @public -export const enum KnownNotebookReferenceType { +export enum KnownNotebookReferenceType { // (undocumented) NotebookReference = "NotebookReference" } // @public -export const enum KnownODataAadServicePrincipalCredentialType { +export enum KnownODataAadServicePrincipalCredentialType { // (undocumented) ServicePrincipalCert = "ServicePrincipalCert", // (undocumented) @@ -3794,7 +3797,7 @@ export const enum KnownODataAadServicePrincipalCredentialType { } // @public -export const enum KnownODataAuthenticationType { +export enum KnownODataAuthenticationType { // (undocumented) AadServicePrincipal = "AadServicePrincipal", // (undocumented) @@ -3808,7 +3811,7 @@ export const enum KnownODataAuthenticationType { } // @public -export const enum KnownOraclePartitionOption { +export enum KnownOraclePartitionOption { // (undocumented) DynamicRange = "DynamicRange", // (undocumented) @@ -3818,7 +3821,7 @@ export const enum KnownOraclePartitionOption { } // @public -export const enum KnownOrcCompressionCodec { +export enum KnownOrcCompressionCodec { // (undocumented) Lzo = "lzo", // (undocumented) @@ -3830,7 +3833,7 @@ export const enum KnownOrcCompressionCodec { } // @public -export const enum KnownParameterType { +export enum KnownParameterType { // (undocumented) Array = "Array", // (undocumented) @@ -3848,7 +3851,7 @@ export const enum KnownParameterType { } // @public -export const enum KnownParquetCompressionCodecEnum { +export enum KnownParquetCompressionCodecEnum { // (undocumented) Gzip = "gzip", // (undocumented) @@ -3860,7 +3863,7 @@ export const enum KnownParquetCompressionCodecEnum { } // @public -export const enum KnownPhoenixAuthenticationType { +export enum KnownPhoenixAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -3870,13 +3873,13 @@ export const enum KnownPhoenixAuthenticationType { } // @public -export const enum KnownPipelineReferenceType { +export enum KnownPipelineReferenceType { // (undocumented) PipelineReference = "PipelineReference" } // @public -export const enum KnownPluginCurrentState { +export enum KnownPluginCurrentState { // (undocumented) Cleanup = "Cleanup", // (undocumented) @@ -3894,7 +3897,7 @@ export const enum KnownPluginCurrentState { } // @public -export const enum KnownPolybaseSettingsRejectType { +export enum KnownPolybaseSettingsRejectType { // (undocumented) Percentage = "percentage", // (undocumented) @@ -3902,7 +3905,7 @@ export const enum KnownPolybaseSettingsRejectType { } // @public -export const enum KnownPrestoAuthenticationType { +export enum KnownPrestoAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -3910,7 +3913,7 @@ export const enum KnownPrestoAuthenticationType { } // @public -export const enum KnownRecurrenceFrequency { +export enum KnownRecurrenceFrequency { // (undocumented) Day = "Day", // (undocumented) @@ -3928,7 +3931,7 @@ export const enum KnownRecurrenceFrequency { } // @public -export const enum KnownRestServiceAuthenticationType { +export enum KnownRestServiceAuthenticationType { // (undocumented) AadServicePrincipal = "AadServicePrincipal", // (undocumented) @@ -3940,7 +3943,7 @@ export const enum KnownRestServiceAuthenticationType { } // @public -export const enum KnownRunQueryFilterOperand { +export enum KnownRunQueryFilterOperand { // (undocumented) ActivityName = "ActivityName", // (undocumented) @@ -3968,7 +3971,7 @@ export const enum KnownRunQueryFilterOperand { } // @public -export const enum KnownRunQueryFilterOperator { +export enum KnownRunQueryFilterOperator { // (undocumented) Equals = "Equals", // (undocumented) @@ -3980,7 +3983,7 @@ export const enum KnownRunQueryFilterOperator { } // @public -export const enum KnownRunQueryOrder { +export enum KnownRunQueryOrder { // (undocumented) ASC = "ASC", // (undocumented) @@ -3988,7 +3991,7 @@ export const enum KnownRunQueryOrder { } // @public -export const enum KnownRunQueryOrderByField { +export enum KnownRunQueryOrderByField { // (undocumented) ActivityName = "ActivityName", // (undocumented) @@ -4010,7 +4013,7 @@ export const enum KnownRunQueryOrderByField { } // @public -export const enum KnownSalesforceSinkWriteBehavior { +export enum KnownSalesforceSinkWriteBehavior { // (undocumented) Insert = "Insert", // (undocumented) @@ -4018,7 +4021,7 @@ export const enum KnownSalesforceSinkWriteBehavior { } // @public -export const enum KnownSalesforceSourceReadBehavior { +export enum KnownSalesforceSourceReadBehavior { // (undocumented) Query = "Query", // (undocumented) @@ -4026,7 +4029,7 @@ export const enum KnownSalesforceSourceReadBehavior { } // @public -export const enum KnownSapCloudForCustomerSinkWriteBehavior { +export enum KnownSapCloudForCustomerSinkWriteBehavior { // (undocumented) Insert = "Insert", // (undocumented) @@ -4034,7 +4037,7 @@ export const enum KnownSapCloudForCustomerSinkWriteBehavior { } // @public -export const enum KnownSapHanaAuthenticationType { +export enum KnownSapHanaAuthenticationType { // (undocumented) Basic = "Basic", // (undocumented) @@ -4042,7 +4045,7 @@ export const enum KnownSapHanaAuthenticationType { } // @public -export const enum KnownSapHanaPartitionOption { +export enum KnownSapHanaPartitionOption { // (undocumented) None = "None", // (undocumented) @@ -4052,7 +4055,7 @@ export const enum KnownSapHanaPartitionOption { } // @public -export const enum KnownSapTablePartitionOption { +export enum KnownSapTablePartitionOption { // (undocumented) None = "None", // (undocumented) @@ -4068,7 +4071,7 @@ export const enum KnownSapTablePartitionOption { } // @public -export const enum KnownSchedulerCurrentState { +export enum KnownSchedulerCurrentState { // (undocumented) Ended = "Ended", // (undocumented) @@ -4078,7 +4081,7 @@ export const enum KnownSchedulerCurrentState { } // @public -export const enum KnownServiceNowAuthenticationType { +export enum KnownServiceNowAuthenticationType { // (undocumented) Basic = "Basic", // (undocumented) @@ -4086,7 +4089,7 @@ export const enum KnownServiceNowAuthenticationType { } // @public -export const enum KnownSftpAuthenticationType { +export enum KnownSftpAuthenticationType { // (undocumented) Basic = "Basic", // (undocumented) @@ -4094,7 +4097,7 @@ export const enum KnownSftpAuthenticationType { } // @public -export const enum KnownSparkAuthenticationType { +export enum KnownSparkAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -4106,7 +4109,7 @@ export const enum KnownSparkAuthenticationType { } // @public -export const enum KnownSparkBatchJobResultType { +export enum KnownSparkBatchJobResultType { // (undocumented) Cancelled = "Cancelled", // (undocumented) @@ -4118,7 +4121,7 @@ export const enum KnownSparkBatchJobResultType { } // @public -export const enum KnownSparkErrorSource { +export enum KnownSparkErrorSource { // (undocumented) Dependency = "Dependency", // (undocumented) @@ -4130,13 +4133,13 @@ export const enum KnownSparkErrorSource { } // @public -export const enum KnownSparkJobReferenceType { +export enum KnownSparkJobReferenceType { // (undocumented) SparkJobDefinitionReference = "SparkJobDefinitionReference" } // @public -export const enum KnownSparkJobType { +export enum KnownSparkJobType { // (undocumented) SparkBatch = "SparkBatch", // (undocumented) @@ -4144,7 +4147,7 @@ export const enum KnownSparkJobType { } // @public -export const enum KnownSparkServerType { +export enum KnownSparkServerType { // (undocumented) SharkServer = "SharkServer", // (undocumented) @@ -4154,7 +4157,7 @@ export const enum KnownSparkServerType { } // @public -export const enum KnownSparkThriftTransportProtocol { +export enum KnownSparkThriftTransportProtocol { // (undocumented) Binary = "Binary", // (undocumented) @@ -4164,7 +4167,7 @@ export const enum KnownSparkThriftTransportProtocol { } // @public -export const enum KnownSqlConnectionType { +export enum KnownSqlConnectionType { // (undocumented) SqlOnDemand = "SqlOnDemand", // (undocumented) @@ -4172,7 +4175,7 @@ export const enum KnownSqlConnectionType { } // @public -export const enum KnownSqlPartitionOption { +export enum KnownSqlPartitionOption { // (undocumented) DynamicRange = "DynamicRange", // (undocumented) @@ -4182,25 +4185,25 @@ export const enum KnownSqlPartitionOption { } // @public -export const enum KnownSqlPoolReferenceType { +export enum KnownSqlPoolReferenceType { // (undocumented) SqlPoolReference = "SqlPoolReference" } // @public -export const enum KnownSqlScriptType { +export enum KnownSqlScriptType { // (undocumented) SqlQuery = "SqlQuery" } // @public -export const enum KnownSsisLogLocationType { +export enum KnownSsisLogLocationType { // (undocumented) File = "File" } // @public -export const enum KnownSsisPackageLocationType { +export enum KnownSsisPackageLocationType { // (undocumented) File = "File", // (undocumented) @@ -4212,7 +4215,7 @@ export const enum KnownSsisPackageLocationType { } // @public -export const enum KnownStoredProcedureParameterType { +export enum KnownStoredProcedureParameterType { // (undocumented) Boolean = "Boolean", // (undocumented) @@ -4230,7 +4233,7 @@ export const enum KnownStoredProcedureParameterType { } // @public -export const enum KnownSybaseAuthenticationType { +export enum KnownSybaseAuthenticationType { // (undocumented) Basic = "Basic", // (undocumented) @@ -4238,7 +4241,7 @@ export const enum KnownSybaseAuthenticationType { } // @public -export const enum KnownTeradataAuthenticationType { +export enum KnownTeradataAuthenticationType { // (undocumented) Basic = "Basic", // (undocumented) @@ -4246,7 +4249,7 @@ export const enum KnownTeradataAuthenticationType { } // @public -export const enum KnownTeradataPartitionOption { +export enum KnownTeradataPartitionOption { // (undocumented) DynamicRange = "DynamicRange", // (undocumented) @@ -4256,13 +4259,13 @@ export const enum KnownTeradataPartitionOption { } // @public -export const enum KnownTriggerReferenceType { +export enum KnownTriggerReferenceType { // (undocumented) TriggerReference = "TriggerReference" } // @public -export const enum KnownTriggerRunStatus { +export enum KnownTriggerRunStatus { // (undocumented) Failed = "Failed", // (undocumented) @@ -4272,7 +4275,7 @@ export const enum KnownTriggerRunStatus { } // @public -export const enum KnownTriggerRuntimeState { +export enum KnownTriggerRuntimeState { // (undocumented) Disabled = "Disabled", // (undocumented) @@ -4282,7 +4285,7 @@ export const enum KnownTriggerRuntimeState { } // @public -export const enum KnownTumblingWindowFrequency { +export enum KnownTumblingWindowFrequency { // (undocumented) Hour = "Hour", // (undocumented) @@ -4292,13 +4295,13 @@ export const enum KnownTumblingWindowFrequency { } // @public -export const enum KnownType { +export enum KnownType { // (undocumented) LinkedServiceReference = "LinkedServiceReference" } // @public -export const enum KnownVariableType { +export enum KnownVariableType { // (undocumented) Array = "Array", // (undocumented) @@ -4310,7 +4313,7 @@ export const enum KnownVariableType { } // @public -export const enum KnownWebActivityMethod { +export enum KnownWebActivityMethod { // (undocumented) Delete = "DELETE", // (undocumented) @@ -4322,7 +4325,7 @@ export const enum KnownWebActivityMethod { } // @public -export const enum KnownWebAuthenticationType { +export enum KnownWebAuthenticationType { // (undocumented) Anonymous = "Anonymous", // (undocumented) @@ -4332,31 +4335,61 @@ export const enum KnownWebAuthenticationType { } // @public -export const enum KnownWebHookActivityMethod { +export enum KnownWebHookActivityMethod { // (undocumented) Post = "POST" } // @public -export interface LibraryAppendOptionalParams extends coreHttp.OperationOptions { - xMsBlobConditionAppendpos?: number; +export interface Library { + append(libraryName: string, content: coreRestPipeline.RequestBodyType, options?: LibraryAppendOptionalParams): Promise; + beginCreate(libraryName: string, options?: LibraryCreateOptionalParams): Promise, void>>; + beginCreateAndWait(libraryName: string, options?: LibraryCreateOptionalParams): Promise; + beginDelete(libraryName: string, options?: LibraryDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(libraryName: string, options?: LibraryDeleteOptionalParams): Promise; + beginFlush(libraryName: string, options?: LibraryFlushOptionalParams): Promise, void>>; + beginFlushAndWait(libraryName: string, options?: LibraryFlushOptionalParams): Promise; + get(libraryName: string, options?: LibraryGetOptionalParams): Promise; + getOperationResult(operationId: string, options?: LibraryGetOperationResultOptionalParams): Promise; + list(options?: LibraryListOptionalParams): PagedAsyncIterableIterator; } // @public -export type LibraryGetOperationResultResponse = LibraryResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: LibraryResource; - }; -}; +export interface LibraryAppendOptionalParams extends coreClient.OperationOptions { + blobConditionAppendPosition?: number; +} // @public -export type LibraryGetResponse = LibraryResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: LibraryResource; - }; -}; +export interface LibraryCreateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface LibraryDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface LibraryFlushOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface LibraryGetOperationResultOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LibraryGetOperationResultResponse = LibraryResource; + +// @public +export interface LibraryGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LibraryGetResponse = LibraryResource; // @public export interface LibraryInfo { @@ -4370,36 +4403,23 @@ export interface LibraryInfo { } // @public -export type LibraryListNextResponse = LibraryListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: LibraryListResponse; - }; -}; +export interface LibraryListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type LibraryListOperationResponse = LibraryListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: LibraryListResponse; - }; -}; +export type LibraryListNextResponse = LibraryListResponse; // @public -export interface LibraryListResponse { - nextLink?: string; - value: LibraryResource[]; +export type LibraryListOperationResponse = LibraryListResponse; + +// @public +export interface LibraryListOptionalParams extends coreClient.OperationOptions { } // @public -export interface LibraryOperaion { - append(libraryName: string, content: coreHttp.HttpRequestBody, options?: LibraryAppendOptionalParams): Promise; - create(libraryName: string, options?: coreHttp.OperationOptions): Promise>; - delete(libraryName: string, options?: coreHttp.OperationOptions): Promise>; - flush(libraryName: string, options?: coreHttp.OperationOptions): Promise>; - get(libraryName: string, options?: coreHttp.OperationOptions): Promise; - getOperationResult(operationId: string, options?: coreHttp.OperationOptions): Promise; - list(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; +export interface LibraryListResponse { + nextLink?: string; + value: LibraryResource[]; } // @public @@ -4471,66 +4491,70 @@ export interface LinkedService { } // @public -export interface LinkedServiceCreateOrUpdateLinkedServiceOptionalParams extends coreHttp.OperationOptions { +export type LinkedServiceDebugResource = SubResourceDebugResource & { + properties: LinkedServiceUnion; +}; + +// @public +export interface LinkedServiceListResponse { + nextLink?: string; + value: LinkedServiceResource[]; +} + +// @public +export interface LinkedServiceOperations { + beginCreateOrUpdateLinkedService(linkedServiceName: string, linkedService: LinkedServiceResource, options?: LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams): Promise, LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse>>; + beginCreateOrUpdateLinkedServiceAndWait(linkedServiceName: string, linkedService: LinkedServiceResource, options?: LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams): Promise; + beginDeleteLinkedService(linkedServiceName: string, options?: LinkedServiceOperationsDeleteLinkedServiceOptionalParams): Promise, void>>; + beginDeleteLinkedServiceAndWait(linkedServiceName: string, options?: LinkedServiceOperationsDeleteLinkedServiceOptionalParams): Promise; + beginRenameLinkedService(linkedServiceName: string, request: ArtifactRenameRequest, options?: LinkedServiceOperationsRenameLinkedServiceOptionalParams): Promise, void>>; + beginRenameLinkedServiceAndWait(linkedServiceName: string, request: ArtifactRenameRequest, options?: LinkedServiceOperationsRenameLinkedServiceOptionalParams): Promise; + getLinkedService(linkedServiceName: string, options?: LinkedServiceOperationsGetLinkedServiceOptionalParams): Promise; + listLinkedServicesByWorkspace(options?: LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams extends coreClient.OperationOptions { ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export type LinkedServiceCreateOrUpdateLinkedServiceResponse = LinkedServiceResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: LinkedServiceResource; - [LROSYM]: LROResponseInfo; - }; -}; +export type LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse = LinkedServiceResource; // @public -export type LinkedServiceDebugResource = SubResourceDebugResource & { - properties: LinkedServiceUnion; -}; +export interface LinkedServiceOperationsDeleteLinkedServiceOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export interface LinkedServiceGetLinkedServiceOptionalParams extends coreHttp.OperationOptions { +export interface LinkedServiceOperationsGetLinkedServiceOptionalParams extends coreClient.OperationOptions { ifNoneMatch?: string; } // @public -export type LinkedServiceGetLinkedServiceResponse = LinkedServiceResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: LinkedServiceResource; - }; -}; +export type LinkedServiceOperationsGetLinkedServiceResponse = LinkedServiceResource; // @public -export type LinkedServiceGetLinkedServicesByWorkspaceNextResponse = LinkedServiceListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: LinkedServiceListResponse; - }; -}; +export interface LinkedServiceOperationsGetLinkedServicesByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type LinkedServiceGetLinkedServicesByWorkspaceResponse = LinkedServiceListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: LinkedServiceListResponse; - }; -}; +export type LinkedServiceOperationsGetLinkedServicesByWorkspaceNextResponse = LinkedServiceListResponse; // @public -export interface LinkedServiceListResponse { - nextLink?: string; - value: LinkedServiceResource[]; +export interface LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams extends coreClient.OperationOptions { } // @public -export interface LinkedServiceOperation { - createOrUpdateLinkedService(linkedServiceName: string, linkedService: LinkedServiceResource, options?: LinkedServiceCreateOrUpdateLinkedServiceOptionalParams): Promise>; - deleteLinkedService(linkedServiceName: string, options?: coreHttp.OperationOptions): Promise>; - getLinkedService(linkedServiceName: string, options?: LinkedServiceGetLinkedServiceOptionalParams): Promise; - listLinkedServicesByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - renameLinkedService(linkedServiceName: string, request: ArtifactRenameRequest, options?: coreHttp.OperationOptions): Promise>; +export type LinkedServiceOperationsGetLinkedServicesByWorkspaceResponse = LinkedServiceListResponse; + +// @public +export interface LinkedServiceOperationsRenameLinkedServiceOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -4580,79 +4604,6 @@ export type LookupActivity = ExecutionActivity & { firstRowOnly?: any; }; -// @public -export type LROOperationResponse = HttpOperationResponse & { - [LROSYM]?: LROResponseInfo; -}; - -// @public (undocumented) -export interface LROOperationState extends PollOperationState { - // (undocumented) - finalStateVia?: FinalStateVia; - // (undocumented) - initialOperation: LROOperationStep; - // (undocumented) - lastOperation: LROOperationStep; - // (undocumented) - pollingStrategy: LROStrategy; -} - -// @public (undocumented) -export interface LROOperationStep { - // (undocumented) - args: OperationArguments; - // (undocumented) - result: TResult; - // (undocumented) - spec: OperationSpec; -} - -// @public (undocumented) -export class LROPoller extends Poller, TResult> { - constructor({ initialOperationArguments, initialOperationResult, initialOperationSpec, sendOperation, finalStateVia, intervalInMs }: LROPollerOptions); - delay(): Promise; - } - -// @public (undocumented) -export interface LROPollerOptions { - finalStateVia?: FinalStateVia; - initialOperationArguments: OperationArguments; - initialOperationResult: TResult; - initialOperationSpec: OperationSpec; - intervalInMs?: number; - sendOperation: SendOperationFn; -} - -// @public (undocumented) -export interface LROResponseInfo { - // (undocumented) - azureAsyncOperation?: string; - // (undocumented) - isInitialRequest?: boolean; - // (undocumented) - location?: string; - // (undocumented) - operationLocation?: string; - // (undocumented) - provisioningState?: string; - // (undocumented) - requestMethod: HttpMethods; - // (undocumented) - status?: string; - // (undocumented) - statusCode: number; -} - -// @public (undocumented) -export interface LROStrategy { - // (undocumented) - isTerminal: () => boolean; - // (undocumented) - poll: () => Promise>; - // (undocumented) - sendFinalRequest: () => Promise>; -} - // @public export type MagentoLinkedService = LinkedService & { type: "Magento"; @@ -4876,7 +4827,7 @@ export type MongoDbV2Source = CopySource & { // @public export type MultiplePipelineTrigger = Trigger & { - type: "MultiplePipelineTrigger"; + type: "MultiplePipelineTrigger" | "ScheduleTrigger" | "BlobTrigger" | "BlobEventsTrigger" | "CustomEventsTrigger"; pipelines?: TriggerPipelineReference[]; }; @@ -4946,19 +4897,19 @@ export type NodeSizeFamily = string; // @public export interface Notebook { [property: string]: any; - bigDataPool?: BigDataPoolReference | null; + bigDataPool?: BigDataPoolReference; cells: NotebookCell[]; description?: string; metadata: NotebookMetadata; nbformat: number; nbformatMinor: number; - sessionProperties?: NotebookSessionProperties | null; + sessionProperties?: NotebookSessionProperties; } // @public export interface NotebookCell { [property: string]: any; - attachments?: any | null; + attachments?: any; cellType: string; metadata: any; outputs?: NotebookCellOutputItem[]; @@ -4976,99 +4927,101 @@ export interface NotebookCellOutputItem { } // @public -export interface NotebookCreateOrUpdateNotebookOptionalParams extends coreHttp.OperationOptions { - ifMatch?: string; -} +export interface NotebookKernelSpec { + [property: string]: any; + displayName: string; + name: string; +} // @public -export type NotebookCreateOrUpdateNotebookResponse = NotebookResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: NotebookResource; - [LROSYM]: LROResponseInfo; - }; -}; +export interface NotebookLanguageInfo { + [property: string]: any; + codemirrorMode?: string; + name: string; +} // @public -export interface NotebookGetNotebookOptionalParams extends coreHttp.OperationOptions { - ifNoneMatch?: string; +export interface NotebookListResponse { + nextLink?: string; + value: NotebookResource[]; } // @public -export type NotebookGetNotebookResponse = NotebookResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: NotebookResource; - }; -}; +export interface NotebookMetadata { + [property: string]: any; + kernelspec?: NotebookKernelSpec; + languageInfo?: NotebookLanguageInfo; +} // @public -export type NotebookGetNotebooksByWorkspaceNextResponse = NotebookListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: NotebookListResponse; - }; -}; +export interface NotebookOperations { + beginCreateOrUpdateNotebook(notebookName: string, notebook: NotebookResource, options?: NotebookOperationsCreateOrUpdateNotebookOptionalParams): Promise, NotebookOperationsCreateOrUpdateNotebookResponse>>; + beginCreateOrUpdateNotebookAndWait(notebookName: string, notebook: NotebookResource, options?: NotebookOperationsCreateOrUpdateNotebookOptionalParams): Promise; + beginDeleteNotebook(notebookName: string, options?: NotebookOperationsDeleteNotebookOptionalParams): Promise, void>>; + beginDeleteNotebookAndWait(notebookName: string, options?: NotebookOperationsDeleteNotebookOptionalParams): Promise; + beginRenameNotebook(notebookName: string, request: ArtifactRenameRequest, options?: NotebookOperationsRenameNotebookOptionalParams): Promise, void>>; + beginRenameNotebookAndWait(notebookName: string, request: ArtifactRenameRequest, options?: NotebookOperationsRenameNotebookOptionalParams): Promise; + getNotebook(notebookName: string, options?: NotebookOperationsGetNotebookOptionalParams): Promise; + listNotebooksByWorkspace(options?: NotebookOperationsGetNotebooksByWorkspaceOptionalParams): PagedAsyncIterableIterator; + listNotebookSummaryByWorkSpace(options?: NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams): PagedAsyncIterableIterator; +} // @public -export type NotebookGetNotebooksByWorkspaceResponse = NotebookListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: NotebookListResponse; - }; -}; +export interface NotebookOperationsCreateOrUpdateNotebookOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export type NotebookGetNotebookSummaryByWorkSpaceNextResponse = NotebookListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: NotebookListResponse; - }; -}; +export type NotebookOperationsCreateOrUpdateNotebookResponse = NotebookResource; // @public -export type NotebookGetNotebookSummaryByWorkSpaceResponse = NotebookListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: NotebookListResponse; - }; -}; +export interface NotebookOperationsDeleteNotebookOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export interface NotebookKernelSpec { - [property: string]: any; - displayName: string; - name: string; +export interface NotebookOperationsGetNotebookOptionalParams extends coreClient.OperationOptions { + ifNoneMatch?: string; } // @public -export interface NotebookLanguageInfo { - [property: string]: any; - codemirrorMode?: string; - name: string; +export type NotebookOperationsGetNotebookResponse = NotebookResource; + +// @public +export interface NotebookOperationsGetNotebooksByWorkspaceNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface NotebookListResponse { - nextLink?: string; - value: NotebookResource[]; +export type NotebookOperationsGetNotebooksByWorkspaceNextResponse = NotebookListResponse; + +// @public +export interface NotebookOperationsGetNotebooksByWorkspaceOptionalParams extends coreClient.OperationOptions { } // @public -export interface NotebookMetadata { - [property: string]: any; - kernelspec?: NotebookKernelSpec; - languageInfo?: NotebookLanguageInfo | null; +export type NotebookOperationsGetNotebooksByWorkspaceResponse = NotebookListResponse; + +// @public +export interface NotebookOperationsGetNotebookSummaryByWorkSpaceNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface NotebookOperation { - createOrUpdateNotebook(notebookName: string, notebook: NotebookResource, options?: NotebookCreateOrUpdateNotebookOptionalParams): Promise>; - deleteNotebook(notebookName: string, options?: coreHttp.OperationOptions): Promise>; - getNotebook(notebookName: string, options?: NotebookGetNotebookOptionalParams): Promise; - listNotebooksByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - listNotebookSummaryByWorkSpace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - renameNotebook(notebookName: string, request: ArtifactRenameRequest, options?: coreHttp.OperationOptions): Promise>; +export type NotebookOperationsGetNotebookSummaryByWorkSpaceNextResponse = NotebookListResponse; + +// @public +export interface NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NotebookOperationsGetNotebookSummaryByWorkSpaceResponse = NotebookListResponse; + +// @public +export interface NotebookOperationsRenameNotebookOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -5403,21 +5356,41 @@ export type PhoenixSource = TabularSource & { }; // @public -export interface PipelineCreateOrUpdatePipelineOptionalParams extends coreHttp.OperationOptions { +export interface PipelineFolder { + name?: string; +} + +// @public +export interface PipelineListResponse { + nextLink?: string; + value: PipelineResource[]; +} + +// @public +export interface PipelineOperations { + beginCreateOrUpdatePipeline(pipelineName: string, pipeline: PipelineResource, options?: PipelineOperationsCreateOrUpdatePipelineOptionalParams): Promise, PipelineOperationsCreateOrUpdatePipelineResponse>>; + beginCreateOrUpdatePipelineAndWait(pipelineName: string, pipeline: PipelineResource, options?: PipelineOperationsCreateOrUpdatePipelineOptionalParams): Promise; + beginDeletePipeline(pipelineName: string, options?: PipelineOperationsDeletePipelineOptionalParams): Promise, void>>; + beginDeletePipelineAndWait(pipelineName: string, options?: PipelineOperationsDeletePipelineOptionalParams): Promise; + beginRenamePipeline(pipelineName: string, request: ArtifactRenameRequest, options?: PipelineOperationsRenamePipelineOptionalParams): Promise, void>>; + beginRenamePipelineAndWait(pipelineName: string, request: ArtifactRenameRequest, options?: PipelineOperationsRenamePipelineOptionalParams): Promise; + createPipelineRun(pipelineName: string, options?: PipelineOperationsCreatePipelineRunOptionalParams): Promise; + getPipeline(pipelineName: string, options?: PipelineOperationsGetPipelineOptionalParams): Promise; + listPipelinesByWorkspace(options?: PipelineOperationsGetPipelinesByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PipelineOperationsCreateOrUpdatePipelineOptionalParams extends coreClient.OperationOptions { ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export type PipelineCreateOrUpdatePipelineResponse = PipelineResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: PipelineResource; - [LROSYM]: LROResponseInfo; - }; -}; +export type PipelineOperationsCreateOrUpdatePipelineResponse = PipelineResource; // @public -export interface PipelineCreatePipelineRunOptionalParams extends coreHttp.OperationOptions { +export interface PipelineOperationsCreatePipelineRunOptionalParams extends coreClient.OperationOptions { isRecovery?: boolean; parameters?: { [propertyName: string]: any; @@ -5427,61 +5400,40 @@ export interface PipelineCreatePipelineRunOptionalParams extends coreHttp.Operat } // @public -export type PipelineCreatePipelineRunResponse = CreateRunResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: CreateRunResponse; - }; -}; +export type PipelineOperationsCreatePipelineRunResponse = CreateRunResponse; // @public -export interface PipelineFolder { - name?: string; +export interface PipelineOperationsDeletePipelineOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export interface PipelineGetPipelineOptionalParams extends coreHttp.OperationOptions { +export interface PipelineOperationsGetPipelineOptionalParams extends coreClient.OperationOptions { ifNoneMatch?: string; } // @public -export type PipelineGetPipelineResponse = PipelineResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: PipelineResource; - }; -}; +export type PipelineOperationsGetPipelineResponse = PipelineResource; // @public -export type PipelineGetPipelinesByWorkspaceNextResponse = PipelineListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: PipelineListResponse; - }; -}; +export interface PipelineOperationsGetPipelinesByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type PipelineGetPipelinesByWorkspaceResponse = PipelineListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: PipelineListResponse; - }; -}; +export type PipelineOperationsGetPipelinesByWorkspaceNextResponse = PipelineListResponse; // @public -export interface PipelineListResponse { - nextLink?: string; - value: PipelineResource[]; +export interface PipelineOperationsGetPipelinesByWorkspaceOptionalParams extends coreClient.OperationOptions { } // @public -export interface PipelineOperation { - createOrUpdatePipeline(pipelineName: string, pipeline: PipelineResource, options?: PipelineCreateOrUpdatePipelineOptionalParams): Promise>; - createPipelineRun(pipelineName: string, options?: PipelineCreatePipelineRunOptionalParams): Promise; - deletePipeline(pipelineName: string, options?: coreHttp.OperationOptions): Promise>; - getPipeline(pipelineName: string, options?: PipelineGetPipelineOptionalParams): Promise; - listPipelinesByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - renamePipeline(pipelineName: string, request: ArtifactRenameRequest, options?: coreHttp.OperationOptions): Promise>; +export type PipelineOperationsGetPipelinesByWorkspaceResponse = PipelineListResponse; + +// @public +export interface PipelineOperationsRenamePipelineOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -5525,7 +5477,7 @@ export interface PipelineRun { [propertyName: string]: string; }; readonly pipelineName?: string; - readonly runEnd?: Date | null; + readonly runEnd?: Date; readonly runGroupId?: string; readonly runId?: string; readonly runStart?: Date; @@ -5533,48 +5485,45 @@ export interface PipelineRun { } // @public -export interface PipelineRunCancelPipelineRunOptionalParams extends coreHttp.OperationOptions { - isRecursive?: boolean; +export interface PipelineRunInvokedBy { + readonly id?: string; + readonly invokedByType?: string; + readonly name?: string; } // @public -export type PipelineRunGetPipelineRunResponse = PipelineRun & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: PipelineRun; - }; -}; +export interface PipelineRunOperations { + cancelPipelineRun(runId: string, options?: PipelineRunOperationsCancelPipelineRunOptionalParams): Promise; + getPipelineRun(runId: string, options?: PipelineRunOperationsGetPipelineRunOptionalParams): Promise; + queryActivityRuns(pipelineName: string, runId: string, filterParameters: RunFilterParameters, options?: PipelineRunOperationsQueryActivityRunsOptionalParams): Promise; + queryPipelineRunsByWorkspace(filterParameters: RunFilterParameters, options?: PipelineRunOperationsQueryPipelineRunsByWorkspaceOptionalParams): Promise; +} // @public -export interface PipelineRunInvokedBy { - readonly id?: string; - readonly invokedByType?: string; - readonly name?: string; +export interface PipelineRunOperationsCancelPipelineRunOptionalParams extends coreClient.OperationOptions { + isRecursive?: boolean; } // @public -export interface PipelineRunOperation { - cancelPipelineRun(runId: string, options?: PipelineRunCancelPipelineRunOptionalParams): Promise; - getPipelineRun(runId: string, options?: coreHttp.OperationOptions): Promise; - queryActivityRuns(pipelineName: string, runId: string, filterParameters: RunFilterParameters, options?: coreHttp.OperationOptions): Promise; - queryPipelineRunsByWorkspace(filterParameters: RunFilterParameters, options?: coreHttp.OperationOptions): Promise; +export interface PipelineRunOperationsGetPipelineRunOptionalParams extends coreClient.OperationOptions { } // @public -export type PipelineRunQueryActivityRunsResponse = ActivityRunsQueryResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: ActivityRunsQueryResponse; - }; -}; +export type PipelineRunOperationsGetPipelineRunResponse = PipelineRun; // @public -export type PipelineRunQueryPipelineRunsByWorkspaceResponse = PipelineRunsQueryResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: PipelineRunsQueryResponse; - }; -}; +export interface PipelineRunOperationsQueryActivityRunsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PipelineRunOperationsQueryActivityRunsResponse = ActivityRunsQueryResponse; + +// @public +export interface PipelineRunOperationsQueryPipelineRunsByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PipelineRunOperationsQueryPipelineRunsByWorkspaceResponse = PipelineRunsQueryResponse; // @public export interface PipelineRunsQueryResponse { @@ -6262,9 +6211,6 @@ export type SelfHostedIntegrationRuntime = IntegrationRuntime & { linkedInfo?: LinkedIntegrationRuntimeTypeUnion; }; -// @public (undocumented) -export type SendOperationFn = (args: OperationArguments, spec: OperationSpec) => Promise; - // @public export type ServiceNowAuthenticationType = string; @@ -6462,17 +6408,17 @@ export type SparkAuthenticationType = string; // @public (undocumented) export interface SparkBatchJob { - appId?: string | null; + appId?: string; appInfo?: { [propertyName: string]: string; - } | null; + }; artifactId?: string; errors?: SparkServiceError[]; id: number; jobType?: SparkJobType; // (undocumented) livyInfo?: SparkBatchJobState; - logLines?: string[] | null; + logLines?: string[]; name?: string; plugin?: SparkServicePlugin; result?: SparkBatchJobResultType; @@ -6493,15 +6439,15 @@ export type SparkBatchJobResultType = string; // @public (undocumented) export interface SparkBatchJobState { currentState?: string; - deadAt?: Date | null; + deadAt?: Date; // (undocumented) jobCreationRequest?: SparkRequest; - notStartedAt?: Date | null; - recoveringAt?: Date | null; - runningAt?: Date | null; - startingAt?: Date | null; - successAt?: Date | null; - terminatedAt?: Date | null; + notStartedAt?: Date; + recoveringAt?: Date; + runningAt?: Date; + startingAt?: Date; + successAt?: Date; + terminatedAt?: Date; } // @public @@ -6518,75 +6464,81 @@ export interface SparkJobDefinition { } // @public -export interface SparkJobDefinitionCreateOrUpdateSparkJobDefinitionOptionalParams extends coreHttp.OperationOptions { +export interface SparkJobDefinitionOperations { + beginCreateOrUpdateSparkJobDefinition(sparkJobDefinitionName: string, sparkJobDefinition: SparkJobDefinitionResource, options?: SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams): Promise, SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse>>; + beginCreateOrUpdateSparkJobDefinitionAndWait(sparkJobDefinitionName: string, sparkJobDefinition: SparkJobDefinitionResource, options?: SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams): Promise; + beginDebugSparkJobDefinition(sparkJobDefinitionAzureResource: SparkJobDefinitionResource, options?: SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams): Promise, SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse>>; + beginDebugSparkJobDefinitionAndWait(sparkJobDefinitionAzureResource: SparkJobDefinitionResource, options?: SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams): Promise; + beginDeleteSparkJobDefinition(sparkJobDefinitionName: string, options?: SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams): Promise, void>>; + beginDeleteSparkJobDefinitionAndWait(sparkJobDefinitionName: string, options?: SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams): Promise; + beginExecuteSparkJobDefinition(sparkJobDefinitionName: string, options?: SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams): Promise, SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse>>; + beginExecuteSparkJobDefinitionAndWait(sparkJobDefinitionName: string, options?: SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams): Promise; + beginRenameSparkJobDefinition(sparkJobDefinitionName: string, request: ArtifactRenameRequest, options?: SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams): Promise, void>>; + beginRenameSparkJobDefinitionAndWait(sparkJobDefinitionName: string, request: ArtifactRenameRequest, options?: SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams): Promise; + getSparkJobDefinition(sparkJobDefinitionName: string, options?: SparkJobDefinitionOperationsGetSparkJobDefinitionOptionalParams): Promise; + listSparkJobDefinitionsByWorkspace(options?: SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams extends coreClient.OperationOptions { ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export type SparkJobDefinitionCreateOrUpdateSparkJobDefinitionResponse = SparkJobDefinitionResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkJobDefinitionResource; - [LROSYM]: LROResponseInfo; - }; -}; +export type SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse = SparkJobDefinitionResource; // @public -export type SparkJobDefinitionDebugSparkJobDefinitionResponse = SparkBatchJob & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkBatchJob; - [LROSYM]: LROResponseInfo; - }; -}; +export interface SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export type SparkJobDefinitionExecuteSparkJobDefinitionResponse = SparkBatchJob & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkBatchJob; - [LROSYM]: LROResponseInfo; - }; -}; +export type SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse = SparkBatchJob; + +// @public +export interface SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse = SparkBatchJob; // @public -export interface SparkJobDefinitionGetSparkJobDefinitionOptionalParams extends coreHttp.OperationOptions { +export interface SparkJobDefinitionOperationsGetSparkJobDefinitionOptionalParams extends coreClient.OperationOptions { ifNoneMatch?: string; } // @public -export type SparkJobDefinitionGetSparkJobDefinitionResponse = SparkJobDefinitionResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkJobDefinitionResource; - }; -}; +export type SparkJobDefinitionOperationsGetSparkJobDefinitionResponse = SparkJobDefinitionResource; // @public -export type SparkJobDefinitionGetSparkJobDefinitionsByWorkspaceNextResponse = SparkJobDefinitionsListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkJobDefinitionsListResponse; - }; -}; +export interface SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type SparkJobDefinitionGetSparkJobDefinitionsByWorkspaceResponse = SparkJobDefinitionsListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkJobDefinitionsListResponse; - }; -}; +export type SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextResponse = SparkJobDefinitionsListResponse; + +// @public +export interface SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceResponse = SparkJobDefinitionsListResponse; // @public -export interface SparkJobDefinitionOperation { - createOrUpdateSparkJobDefinition(sparkJobDefinitionName: string, sparkJobDefinition: SparkJobDefinitionResource, options?: SparkJobDefinitionCreateOrUpdateSparkJobDefinitionOptionalParams): Promise>; - debugSparkJobDefinition(sparkJobDefinitionAzureResource: SparkJobDefinitionResource, options?: coreHttp.OperationOptions): Promise>; - deleteSparkJobDefinition(sparkJobDefinitionName: string, options?: coreHttp.OperationOptions): Promise>; - executeSparkJobDefinition(sparkJobDefinitionName: string, options?: coreHttp.OperationOptions): Promise>; - getSparkJobDefinition(sparkJobDefinitionName: string, options?: SparkJobDefinitionGetSparkJobDefinitionOptionalParams): Promise; - listSparkJobDefinitionsByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - renameSparkJobDefinition(sparkJobDefinitionName: string, request: ArtifactRenameRequest, options?: coreHttp.OperationOptions): Promise>; +export interface SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -6687,15 +6639,15 @@ export interface SparkRequest { // @public (undocumented) export interface SparkScheduler { // (undocumented) - cancellationRequestedAt?: Date | null; + cancellationRequestedAt?: Date; // (undocumented) currentState?: SchedulerCurrentState; // (undocumented) - endedAt?: Date | null; + endedAt?: Date; // (undocumented) - scheduledAt?: Date | null; + scheduledAt?: Date; // (undocumented) - submittedAt?: Date | null; + submittedAt?: Date; } // @public @@ -6714,17 +6666,17 @@ export interface SparkServiceError { // @public (undocumented) export interface SparkServicePlugin { // (undocumented) - cleanupStartedAt?: Date | null; + cleanupStartedAt?: Date; // (undocumented) currentState?: PluginCurrentState; // (undocumented) - monitoringStartedAt?: Date | null; + monitoringStartedAt?: Date; // (undocumented) - preparationStartedAt?: Date | null; + preparationStartedAt?: Date; // (undocumented) - resourceAcquisitionStartedAt?: Date | null; + resourceAcquisitionStartedAt?: Date; // (undocumented) - submissionStartedAt?: Date | null; + submissionStartedAt?: Date; } // @public @@ -6833,27 +6785,25 @@ export interface SqlPoolReference { export type SqlPoolReferenceType = string; // @public -export type SqlPoolsGetResponse = SqlPool & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SqlPool; - }; -}; +export interface SqlPools { + get(sqlPoolName: string, options?: SqlPoolsGetOptionalParams): Promise; + list(options?: SqlPoolsListOptionalParams): Promise; +} // @public -export type SqlPoolsListResponse = SqlPoolInfoListResult & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SqlPoolInfoListResult; - }; -}; +export interface SqlPoolsGetOptionalParams extends coreClient.OperationOptions { +} // @public -export interface SqlPoolsOperation { - get(sqlPoolName: string, options?: coreHttp.OperationOptions): Promise; - list(options?: coreHttp.OperationOptions): Promise; +export type SqlPoolsGetResponse = SqlPool; + +// @public +export interface SqlPoolsListOptionalParams extends coreClient.OperationOptions { } +// @public +export type SqlPoolsListResponse = SqlPoolInfoListResult; + // @public export type SqlPoolStoredProcedureActivity = Activity & { type: "SqlPoolStoredProcedure"; @@ -6881,61 +6831,65 @@ export interface SqlScriptContent { } // @public -export interface SqlScriptCreateOrUpdateSqlScriptOptionalParams extends coreHttp.OperationOptions { +export interface SqlScriptMetadata { + [property: string]: any; + language?: string; +} + +// @public +export interface SqlScriptOperations { + beginCreateOrUpdateSqlScript(sqlScriptName: string, sqlScript: SqlScriptResource, options?: SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams): Promise, SqlScriptOperationsCreateOrUpdateSqlScriptResponse>>; + beginCreateOrUpdateSqlScriptAndWait(sqlScriptName: string, sqlScript: SqlScriptResource, options?: SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams): Promise; + beginDeleteSqlScript(sqlScriptName: string, options?: SqlScriptOperationsDeleteSqlScriptOptionalParams): Promise, void>>; + beginDeleteSqlScriptAndWait(sqlScriptName: string, options?: SqlScriptOperationsDeleteSqlScriptOptionalParams): Promise; + beginRenameSqlScript(sqlScriptName: string, request: ArtifactRenameRequest, options?: SqlScriptOperationsRenameSqlScriptOptionalParams): Promise, void>>; + beginRenameSqlScriptAndWait(sqlScriptName: string, request: ArtifactRenameRequest, options?: SqlScriptOperationsRenameSqlScriptOptionalParams): Promise; + getSqlScript(sqlScriptName: string, options?: SqlScriptOperationsGetSqlScriptOptionalParams): Promise; + listSqlScriptsByWorkspace(options?: SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams extends coreClient.OperationOptions { ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export type SqlScriptCreateOrUpdateSqlScriptResponse = SqlScriptResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SqlScriptResource; - [LROSYM]: LROResponseInfo; - }; -}; +export type SqlScriptOperationsCreateOrUpdateSqlScriptResponse = SqlScriptResource; + +// @public +export interface SqlScriptOperationsDeleteSqlScriptOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export interface SqlScriptGetSqlScriptOptionalParams extends coreHttp.OperationOptions { +export interface SqlScriptOperationsGetSqlScriptOptionalParams extends coreClient.OperationOptions { ifNoneMatch?: string; } // @public -export type SqlScriptGetSqlScriptResponse = SqlScriptResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SqlScriptResource; - }; -}; +export type SqlScriptOperationsGetSqlScriptResponse = SqlScriptResource; // @public -export type SqlScriptGetSqlScriptsByWorkspaceNextResponse = SqlScriptsListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SqlScriptsListResponse; - }; -}; +export interface SqlScriptOperationsGetSqlScriptsByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type SqlScriptGetSqlScriptsByWorkspaceResponse = SqlScriptsListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SqlScriptsListResponse; - }; -}; +export type SqlScriptOperationsGetSqlScriptsByWorkspaceNextResponse = SqlScriptsListResponse; // @public -export interface SqlScriptMetadata { - [property: string]: any; - language?: string; +export interface SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams extends coreClient.OperationOptions { } // @public -export interface SqlScriptOperation { - createOrUpdateSqlScript(sqlScriptName: string, sqlScript: SqlScriptResource, options?: SqlScriptCreateOrUpdateSqlScriptOptionalParams): Promise>; - deleteSqlScript(sqlScriptName: string, options?: coreHttp.OperationOptions): Promise>; - getSqlScript(sqlScriptName: string, options?: SqlScriptGetSqlScriptOptionalParams): Promise; - listSqlScriptsByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - renameSqlScript(sqlScriptName: string, request: ArtifactRenameRequest, options?: coreHttp.OperationOptions): Promise>; +export type SqlScriptOperationsGetSqlScriptsByWorkspaceResponse = SqlScriptsListResponse; + +// @public +export interface SqlScriptOperationsRenameSqlScriptOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -7251,6 +7205,7 @@ export interface SynapseNotebookReference { export type SynapseSparkJobDefinitionActivity = ExecutionActivity & { type: "SparkJob"; sparkJob: SynapseSparkJobReference; + arguments?: any[]; }; // @public @@ -7261,7 +7216,7 @@ export interface SynapseSparkJobReference { // @public export type TabularSource = CopySource & { - type: "TabularSource"; + type: "TabularSource" | "AzureTableSource" | "InformixSource" | "Db2Source" | "OdbcSource" | "MySqlSource" | "PostgreSqlSource" | "SybaseSource" | "SapBwSource" | "SalesforceSource" | "SapCloudForCustomerSource" | "SapEccSource" | "SapHanaSource" | "SapOpenHubSource" | "SapTableSource" | "SqlSource" | "SqlServerSource" | "AzureSqlSource" | "SqlMISource" | "SqlDWSource" | "AzureMySqlSource" | "TeradataSource" | "CassandraSource" | "AmazonMWSSource" | "AzurePostgreSqlSource" | "ConcurSource" | "CouchbaseSource" | "DrillSource" | "EloquaSource" | "GoogleBigQuerySource" | "GreenplumSource" | "HBaseSource" | "HiveSource" | "HubspotSource" | "ImpalaSource" | "JiraSource" | "MagentoSource" | "MariaDBSource" | "AzureMariaDBSource" | "MarketoSource" | "PaypalSource" | "PhoenixSource" | "PrestoSource" | "QuickBooksSource" | "ServiceNowSource" | "ShopifySource" | "SparkSource" | "SquareSource" | "XeroSource" | "ZohoSource" | "NetezzaSource" | "VerticaSource" | "SalesforceMarketingCloudSource" | "ResponsysSource" | "DynamicsAXSource" | "OracleServiceCloudSource" | "GoogleAdWordsSource" | "AmazonRedshiftSource"; queryTimeout?: any; additionalColumns?: AdditionalColumns[]; }; @@ -7369,20 +7324,6 @@ export interface Trigger { type: "RerunTumblingWindowTrigger" | "MultiplePipelineTrigger" | "ScheduleTrigger" | "BlobTrigger" | "BlobEventsTrigger" | "CustomEventsTrigger" | "TumblingWindowTrigger" | "ChainingTrigger"; } -// @public -export interface TriggerCreateOrUpdateTriggerOptionalParams extends coreHttp.OperationOptions { - ifMatch?: string; -} - -// @public -export type TriggerCreateOrUpdateTriggerResponse = TriggerResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: TriggerResource; - [LROSYM]: LROResponseInfo; - }; -}; - // @public export interface TriggerDependencyProvisioningStatus { provisioningStatus: string; @@ -7391,7 +7332,7 @@ export interface TriggerDependencyProvisioningStatus { // @public export type TriggerDependencyReference = DependencyReference & { - type: "TriggerDependencyReference"; + type: "TriggerDependencyReference" | "TumblingWindowTriggerDependencyReference"; referenceTrigger: TriggerReference; }; @@ -7399,61 +7340,105 @@ export type TriggerDependencyReference = DependencyReference & { export type TriggerDependencyReferenceUnion = TriggerDependencyReference | TumblingWindowTriggerDependencyReference; // @public -export type TriggerGetEventSubscriptionStatusResponse = TriggerSubscriptionOperationStatus & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: TriggerSubscriptionOperationStatus; - }; -}; +export interface TriggerListResponse { + nextLink?: string; + value: TriggerResource[]; +} + +// @public +export interface TriggerOperations { + beginCreateOrUpdateTrigger(triggerName: string, trigger: TriggerResource, options?: TriggerOperationsCreateOrUpdateTriggerOptionalParams): Promise, TriggerOperationsCreateOrUpdateTriggerResponse>>; + beginCreateOrUpdateTriggerAndWait(triggerName: string, trigger: TriggerResource, options?: TriggerOperationsCreateOrUpdateTriggerOptionalParams): Promise; + beginDeleteTrigger(triggerName: string, options?: TriggerOperationsDeleteTriggerOptionalParams): Promise, void>>; + beginDeleteTriggerAndWait(triggerName: string, options?: TriggerOperationsDeleteTriggerOptionalParams): Promise; + beginStartTrigger(triggerName: string, options?: TriggerOperationsStartTriggerOptionalParams): Promise, void>>; + beginStartTriggerAndWait(triggerName: string, options?: TriggerOperationsStartTriggerOptionalParams): Promise; + beginStopTrigger(triggerName: string, options?: TriggerOperationsStopTriggerOptionalParams): Promise, void>>; + beginStopTriggerAndWait(triggerName: string, options?: TriggerOperationsStopTriggerOptionalParams): Promise; + beginSubscribeTriggerToEvents(triggerName: string, options?: TriggerOperationsSubscribeTriggerToEventsOptionalParams): Promise, TriggerOperationsSubscribeTriggerToEventsResponse>>; + beginSubscribeTriggerToEventsAndWait(triggerName: string, options?: TriggerOperationsSubscribeTriggerToEventsOptionalParams): Promise; + beginUnsubscribeTriggerFromEvents(triggerName: string, options?: TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams): Promise, TriggerOperationsUnsubscribeTriggerFromEventsResponse>>; + beginUnsubscribeTriggerFromEventsAndWait(triggerName: string, options?: TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams): Promise; + getEventSubscriptionStatus(triggerName: string, options?: TriggerOperationsGetEventSubscriptionStatusOptionalParams): Promise; + getTrigger(triggerName: string, options?: TriggerOperationsGetTriggerOptionalParams): Promise; + listTriggersByWorkspace(options?: TriggerOperationsGetTriggersByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface TriggerOperationsCreateOrUpdateTriggerOptionalParams extends coreClient.OperationOptions { + ifMatch?: string; + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export interface TriggerGetTriggerOptionalParams extends coreHttp.OperationOptions { +export type TriggerOperationsCreateOrUpdateTriggerResponse = TriggerResource; + +// @public +export interface TriggerOperationsDeleteTriggerOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface TriggerOperationsGetEventSubscriptionStatusOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TriggerOperationsGetEventSubscriptionStatusResponse = TriggerSubscriptionOperationStatus; + +// @public +export interface TriggerOperationsGetTriggerOptionalParams extends coreClient.OperationOptions { ifNoneMatch?: string; } // @public -export type TriggerGetTriggerResponse = TriggerResource & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: TriggerResource; - }; -}; +export type TriggerOperationsGetTriggerResponse = TriggerResource; // @public -export type TriggerGetTriggersByWorkspaceNextResponse = TriggerListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: TriggerListResponse; - }; -}; +export interface TriggerOperationsGetTriggersByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type TriggerGetTriggersByWorkspaceResponse = TriggerListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: TriggerListResponse; - }; -}; +export type TriggerOperationsGetTriggersByWorkspaceNextResponse = TriggerListResponse; // @public -export interface TriggerListResponse { - nextLink?: string; - value: TriggerResource[]; +export interface TriggerOperationsGetTriggersByWorkspaceOptionalParams extends coreClient.OperationOptions { } // @public -export interface TriggerOperation { - createOrUpdateTrigger(triggerName: string, trigger: TriggerResource, options?: TriggerCreateOrUpdateTriggerOptionalParams): Promise>; - deleteTrigger(triggerName: string, options?: coreHttp.OperationOptions): Promise>; - getEventSubscriptionStatus(triggerName: string, options?: coreHttp.OperationOptions): Promise; - getTrigger(triggerName: string, options?: TriggerGetTriggerOptionalParams): Promise; - listTriggersByWorkspace(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - startTrigger(triggerName: string, options?: coreHttp.OperationOptions): Promise>; - stopTrigger(triggerName: string, options?: coreHttp.OperationOptions): Promise>; - subscribeTriggerToEvents(triggerName: string, options?: coreHttp.OperationOptions): Promise>; - unsubscribeTriggerFromEvents(triggerName: string, options?: coreHttp.OperationOptions): Promise>; +export type TriggerOperationsGetTriggersByWorkspaceResponse = TriggerListResponse; + +// @public +export interface TriggerOperationsStartTriggerOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } +// @public +export interface TriggerOperationsStopTriggerOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface TriggerOperationsSubscribeTriggerToEventsOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type TriggerOperationsSubscribeTriggerToEventsResponse = TriggerSubscriptionOperationStatus; + +// @public +export interface TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type TriggerOperationsUnsubscribeTriggerFromEventsResponse = TriggerSubscriptionOperationStatus; + // @public export interface TriggerPipelineReference { parameters?: { @@ -7494,19 +7479,26 @@ export interface TriggerRun { } // @public -export interface TriggerRunOperation { - cancelTriggerInstance(triggerName: string, runId: string, options?: coreHttp.OperationOptions): Promise; - queryTriggerRunsByWorkspace(filterParameters: RunFilterParameters, options?: coreHttp.OperationOptions): Promise; - rerunTriggerInstance(triggerName: string, runId: string, options?: coreHttp.OperationOptions): Promise; +export interface TriggerRunOperations { + cancelTriggerInstance(triggerName: string, runId: string, options?: TriggerRunOperationsCancelTriggerInstanceOptionalParams): Promise; + queryTriggerRunsByWorkspace(filterParameters: RunFilterParameters, options?: TriggerRunOperationsQueryTriggerRunsByWorkspaceOptionalParams): Promise; + rerunTriggerInstance(triggerName: string, runId: string, options?: TriggerRunOperationsRerunTriggerInstanceOptionalParams): Promise; } // @public -export type TriggerRunQueryTriggerRunsByWorkspaceResponse = TriggerRunsQueryResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: TriggerRunsQueryResponse; - }; -}; +export interface TriggerRunOperationsCancelTriggerInstanceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface TriggerRunOperationsQueryTriggerRunsByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TriggerRunOperationsQueryTriggerRunsByWorkspaceResponse = TriggerRunsQueryResponse; + +// @public +export interface TriggerRunOperationsRerunTriggerInstanceOptionalParams extends coreClient.OperationOptions { +} // @public export interface TriggerRunsQueryResponse { @@ -7520,15 +7512,6 @@ export type TriggerRunStatus = string; // @public export type TriggerRuntimeState = string; -// @public -export type TriggerSubscribeTriggerToEventsResponse = TriggerSubscriptionOperationStatus & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: TriggerSubscriptionOperationStatus; - [LROSYM]: LROResponseInfo; - }; -}; - // @public export interface TriggerSubscriptionOperationStatus { readonly status?: EventSubscriptionStatus; @@ -7538,15 +7521,6 @@ export interface TriggerSubscriptionOperationStatus { // @public (undocumented) export type TriggerUnion = Trigger | RerunTumblingWindowTrigger | MultiplePipelineTriggerUnion | TumblingWindowTrigger | ChainingTrigger; -// @public -export type TriggerUnsubscribeTriggerFromEventsResponse = TriggerSubscriptionOperationStatus & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: TriggerSubscriptionOperationStatus; - [LROSYM]: LROResponseInfo; - }; -}; - // @public export type TumblingWindowFrequency = string; @@ -7766,30 +7740,17 @@ export type Workspace = TrackedResource & { }; // @public -export type WorkspaceGetResponse = Workspace & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: Workspace; - }; -}; +export interface WorkspaceGitRepoManagement { + getGitHubAccessToken(gitHubAccessTokenRequest: GitHubAccessTokenRequest, options?: WorkspaceGitRepoManagementGetGitHubAccessTokenOptionalParams): Promise; +} // @public -export interface WorkspaceGitRepoManagementGetGitHubAccessTokenOptionalParams extends coreHttp.OperationOptions { +export interface WorkspaceGitRepoManagementGetGitHubAccessTokenOptionalParams extends coreClient.OperationOptions { clientRequestId?: string; } // @public -export type WorkspaceGitRepoManagementGetGitHubAccessTokenResponse = GitHubAccessTokenResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: GitHubAccessTokenResponse; - }; -}; - -// @public -export interface WorkspaceGitRepoManagementOperation { - getGitHubAccessToken(gitHubAccessTokenRequest: GitHubAccessTokenRequest, options?: WorkspaceGitRepoManagementGetGitHubAccessTokenOptionalParams): Promise; -} +export type WorkspaceGitRepoManagementGetGitHubAccessTokenResponse = GitHubAccessTokenResponse; // @public export interface WorkspaceIdentity { @@ -7805,13 +7766,22 @@ export interface WorkspaceKeyDetails { } // @public -export interface WorkspaceOperation { - get(options?: coreHttp.OperationOptions): Promise; +export interface WorkspaceOperations { + get(options?: WorkspaceOperationsGetOptionalParams): Promise; +} + +// @public +export interface WorkspaceOperationsGetOptionalParams extends coreClient.OperationOptions { } +// @public +export type WorkspaceOperationsGetResponse = Workspace; + // @public export interface WorkspaceRepositoryConfiguration { accountName?: string; + clientId?: string; + clientSecret?: GitHubClientSecret; collaborationBranch?: string; hostName?: string; lastCommitId?: string; diff --git a/sdk/synapse/synapse-artifacts/src/artifactsClient.ts b/sdk/synapse/synapse-artifacts/src/artifactsClient.ts index e11660c38a91..58a8c7b86407 100644 --- a/sdk/synapse/synapse-artifacts/src/artifactsClient.ts +++ b/sdk/synapse/synapse-artifacts/src/artifactsClient.ts @@ -6,20 +6,20 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreAuth from "@azure/core-auth"; import { - LinkedServiceImpl, - DatasetImpl, - PipelineImpl, - PipelineRunImpl, - TriggerImpl, - TriggerRunImpl, - DataFlowImpl, + LinkedServiceOperationsImpl, + DatasetOperationsImpl, + PipelineOperationsImpl, + PipelineRunOperationsImpl, + TriggerOperationsImpl, + TriggerRunOperationsImpl, + DataFlowOperationsImpl, DataFlowDebugSessionImpl, - SqlScriptImpl, - SparkJobDefinitionImpl, - NotebookImpl, - WorkspaceImpl, + SqlScriptOperationsImpl, + SparkJobDefinitionOperationsImpl, + NotebookOperationsImpl, + WorkspaceOperationsImpl, SqlPoolsImpl, BigDataPoolsImpl, IntegrationRuntimesImpl, @@ -27,18 +27,18 @@ import { WorkspaceGitRepoManagementImpl } from "./operations"; import { - LinkedService, - Dataset, - Pipeline, - PipelineRun, - Trigger, - TriggerRun, - DataFlow, + LinkedServiceOperations, + DatasetOperations, + PipelineOperations, + PipelineRunOperations, + TriggerOperations, + TriggerRunOperations, + DataFlowOperations, DataFlowDebugSession, - SqlScript, - SparkJobDefinition, - Notebook, - Workspace, + SqlScriptOperations, + SparkJobDefinitionOperations, + NotebookOperations, + WorkspaceOperations, SqlPools, BigDataPools, IntegrationRuntimes, @@ -57,23 +57,25 @@ export class ArtifactsClient extends ArtifactsClientContext { * @param options The parameter options */ constructor( - credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, + credentials: coreAuth.TokenCredential, endpoint: string, options?: ArtifactsClientOptionalParams ) { super(credentials, endpoint, options); - this.linkedService = new LinkedServiceImpl(this); - this.dataset = new DatasetImpl(this); - this.pipeline = new PipelineImpl(this); - this.pipelineRun = new PipelineRunImpl(this); - this.trigger = new TriggerImpl(this); - this.triggerRun = new TriggerRunImpl(this); - this.dataFlow = new DataFlowImpl(this); + this.linkedServiceOperations = new LinkedServiceOperationsImpl(this); + this.datasetOperations = new DatasetOperationsImpl(this); + this.pipelineOperations = new PipelineOperationsImpl(this); + this.pipelineRunOperations = new PipelineRunOperationsImpl(this); + this.triggerOperations = new TriggerOperationsImpl(this); + this.triggerRunOperations = new TriggerRunOperationsImpl(this); + this.dataFlowOperations = new DataFlowOperationsImpl(this); this.dataFlowDebugSession = new DataFlowDebugSessionImpl(this); - this.sqlScript = new SqlScriptImpl(this); - this.sparkJobDefinition = new SparkJobDefinitionImpl(this); - this.notebook = new NotebookImpl(this); - this.workspace = new WorkspaceImpl(this); + this.sqlScriptOperations = new SqlScriptOperationsImpl(this); + this.sparkJobDefinitionOperations = new SparkJobDefinitionOperationsImpl( + this + ); + this.notebookOperations = new NotebookOperationsImpl(this); + this.workspaceOperations = new WorkspaceOperationsImpl(this); this.sqlPools = new SqlPoolsImpl(this); this.bigDataPools = new BigDataPoolsImpl(this); this.integrationRuntimes = new IntegrationRuntimesImpl(this); @@ -81,18 +83,18 @@ export class ArtifactsClient extends ArtifactsClientContext { this.workspaceGitRepoManagement = new WorkspaceGitRepoManagementImpl(this); } - linkedService: LinkedService; - dataset: Dataset; - pipeline: Pipeline; - pipelineRun: PipelineRun; - trigger: Trigger; - triggerRun: TriggerRun; - dataFlow: DataFlow; + linkedServiceOperations: LinkedServiceOperations; + datasetOperations: DatasetOperations; + pipelineOperations: PipelineOperations; + pipelineRunOperations: PipelineRunOperations; + triggerOperations: TriggerOperations; + triggerRunOperations: TriggerRunOperations; + dataFlowOperations: DataFlowOperations; dataFlowDebugSession: DataFlowDebugSession; - sqlScript: SqlScript; - sparkJobDefinition: SparkJobDefinition; - notebook: Notebook; - workspace: Workspace; + sqlScriptOperations: SqlScriptOperations; + sparkJobDefinitionOperations: SparkJobDefinitionOperations; + notebookOperations: NotebookOperations; + workspaceOperations: WorkspaceOperations; sqlPools: SqlPools; bigDataPools: BigDataPools; integrationRuntimes: IntegrationRuntimes; diff --git a/sdk/synapse/synapse-artifacts/src/artifactsClientContext.ts b/sdk/synapse/synapse-artifacts/src/artifactsClientContext.ts index 0c1c2a00d965..0aac2b616cd5 100644 --- a/sdk/synapse/synapse-artifacts/src/artifactsClientContext.ts +++ b/sdk/synapse/synapse-artifacts/src/artifactsClientContext.ts @@ -6,14 +6,11 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; import { ArtifactsClientOptionalParams } from "./models"; -import { lroPolicy } from "./lro"; -const packageName = "@azure/synapse-artifacts"; -const packageVersion = "1.0.0-beta.5"; - -export class ArtifactsClientContext extends coreHttp.ServiceClient { +export class ArtifactsClientContext extends coreClient.ServiceClient { endpoint: string; apiVersion: string; @@ -25,7 +22,7 @@ export class ArtifactsClientContext extends coreHttp.ServiceClient { * @param options The parameter options */ constructor( - credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, + credentials: coreAuth.TokenCredential, endpoint: string, options?: ArtifactsClientOptionalParams ) { @@ -40,44 +37,29 @@ export class ArtifactsClientContext extends coreHttp.ServiceClient { if (!options) { options = {}; } + const defaults: ArtifactsClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - if (!options.userAgent) { - const defaultUserAgent = coreHttp.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const packageDetails = `azsdk-js-synapse-artifacts/1.0.0-beta.6`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; if (!options.credentialScopes) { options.credentialScopes = ["https://dev.azuresynapse.net/.default"]; } - - // Building the request policy fatories based on the passed factories and the - // any required factories needed by the client. - if (Array.isArray(options.requestPolicyFactories)) { - // When an array of factories is passed in, we'll just add the required factories, - // in this case lroPolicy(). It is important to note that passing an array of factories - // to a new client, bypasses core-http default factories. Just the pipelines provided will be run. - options.requestPolicyFactories = [lroPolicy(), ...options.requestPolicyFactories]; - } else if (options.requestPolicyFactories) { - // When we were passed a requestPolicyFactories as a function, we'll create a new one that adds the factories provided - // in the options plus the required policies. When using this path, the pipelines passed to the client will be added to the - // default policies added by core-http - const optionsPolicies = options.requestPolicyFactories([lroPolicy()]) || [lroPolicy()]; - options.requestPolicyFactories = (defaultFactories) => [ - ...optionsPolicies, - ...defaultFactories - ]; - } else { - // In case no request policy factories were provided, we'll just need to create a function that will add - // the lroPolicy to the default pipelines added by core-http - options.requestPolicyFactories = (defaultFactories) => [lroPolicy(), ...defaultFactories]; - } - - super(credentials, options); - - this.requestContentType = "application/json; charset=utf-8"; - - this.baseUri = options.endpoint || "{endpoint}"; - + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "{endpoint}" + }; + super(optionsWithDefaults); // Parameter assignments this.endpoint = endpoint; diff --git a/sdk/synapse/synapse-artifacts/src/index.ts b/sdk/synapse/synapse-artifacts/src/index.ts index ab0616ec8ef2..d51b1b4ce1dc 100644 --- a/sdk/synapse/synapse-artifacts/src/index.ts +++ b/sdk/synapse/synapse-artifacts/src/index.ts @@ -5,42 +5,9 @@ * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -/// -import "@azure/core-paging"; +/// export * from "./models"; -export { - LROPoller, - LROPollerOptions, - LROOperationStep, - LROStrategy, - LROResponseInfo, - BaseResult, - LROOperationState, - SendOperationFn -} from "./lro"; -export { LROOperationResponse } from "./lro/models"; - -export { FinalStateVia } from "./lro/models"; - export { ArtifactsClient } from "./artifactsClient"; export { ArtifactsClientContext } from "./artifactsClientContext"; -export { - Library as LibraryOperaion, - BigDataPools as BigDataPoolsOperation, - DataFlow as DataFlowOperation, - DataFlowDebugSession as DataFlowDebugSessionOperation, - Dataset as DatasetOperation, - WorkspaceGitRepoManagement as WorkspaceGitRepoManagementOperation, - Workspace as WorkspaceOperation, - TriggerRun as TriggerRunOperation, - Trigger as TriggerOperation, - SqlScript as SqlScriptOperation, - SqlPools as SqlPoolsOperation, - SparkJobDefinition as SparkJobDefinitionOperation, - PipelineRun as PipelineRunOperation, - Pipeline as PipelineOperation, - Notebook as NotebookOperation, - LinkedService as LinkedServiceOperation, - IntegrationRuntimes as IntegrationRuntimesOperation -} from "./operationsInterfaces"; +export * from "./operationsInterfaces"; diff --git a/sdk/synapse/synapse-artifacts/src/lro/azureAsyncOperationStrategy.ts b/sdk/synapse/synapse-artifacts/src/lro/azureAsyncOperationStrategy.ts deleted file mode 100644 index 542685ccb1bd..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/azureAsyncOperationStrategy.ts +++ /dev/null @@ -1,215 +0,0 @@ -/* - * 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 { - LROStrategy, - BaseResult, - LROOperationStep, - LROResponseInfo, - FinalStateVia, - LROSYM -} from "./models"; -import { OperationSpec, OperationArguments, OperationResponse } from "@azure/core-http"; -import { terminalStates } from "./constants"; -import { SendOperationFn } from "."; - -export function createAzureAsyncOperationStrategy( - initialOperation: LROOperationStep, - sendOperationFn: SendOperationFn, - finalStateVia?: FinalStateVia -): LROStrategy { - const lroData = initialOperation.result._response[LROSYM]; - if (!lroData) { - throw new Error("Expected lroData to be defined for Azure-AsyncOperation strategy"); - } - - let currentOperation = initialOperation; - let lastKnownPollingUrl = lroData.azureAsyncOperation || lroData.operationLocation; - - return { - isTerminal: () => { - const currentResult = currentOperation.result._response[LROSYM]; - - if (!currentResult) { - throw new Error("Expected lroData to determine terminal status"); - } - - if (currentOperation === initialOperation) { - // Azure-AsyncOperations don't need to check for terminal state - // on originalOperation result, always need to poll - return false; - } - - const { status = "succeeded" } = currentResult; - return terminalStates.includes(status.toLowerCase()); - }, - sendFinalRequest: async () => { - if (!initialOperation.result._response[LROSYM]) { - throw new Error("Expected lroData to determine terminal status"); - } - - if (!currentOperation.result._response[LROSYM]) { - throw new Error("Expected lroData to determine terminal status"); - } - - const initialOperationResult = initialOperation.result._response[LROSYM]; - const currentOperationResult = currentOperation.result._response[LROSYM]; - - if (!shouldPerformFinalGet(initialOperationResult, currentOperationResult)) { - return currentOperation; - } - - if (initialOperationResult?.requestMethod === "PUT") { - currentOperation = await sendFinalGet(initialOperation, sendOperationFn); - - return currentOperation; - } - - if (initialOperationResult?.location) { - switch (finalStateVia) { - case "original-uri": - currentOperation = await sendFinalGet(initialOperation, sendOperationFn); - return currentOperation; - - case "azure-async-operation": - return currentOperation; - case "location": - default: - const location = initialOperationResult.location || currentOperationResult?.location; - - if (!location) { - throw new Error("Couldn't determine final GET URL from location"); - } - - return await sendFinalGet(initialOperation, sendOperationFn, location); - } - } - - // All other cases return the last operation - return currentOperation; - }, - poll: async () => { - if (!lastKnownPollingUrl) { - throw new Error("Unable to determine polling url"); - } - - const pollingArgs = currentOperation.args; - // Make sure we don't send any body to the get request - const { requestBody, responses, ...restSpec } = currentOperation.spec; - - const pollingSpec: OperationSpec = { - ...restSpec, - responses: getCompositeMappers(responses), - httpMethod: "GET", - path: lastKnownPollingUrl - }; - - const result = await sendOperationFn(pollingArgs, pollingSpec); - - // Update latest polling url - lastKnownPollingUrl = - result._response[LROSYM]?.azureAsyncOperation || - result._response[LROSYM]?.operationLocation || - lastKnownPollingUrl; - - // Update lastOperation result - currentOperation = { - args: pollingArgs, - spec: pollingSpec, - result - }; - - return currentOperation; - } - }; -} - -/** - * Polling calls will always return a status object i.e. {"status": "success"} - * these intermediate responses are not described in the swagger so we need to - * pass custom mappers at runtime. - * This function replaces all the existing mappers to be able to deserialize a status object - * @param responses Original set of responses defined in the operation - */ -function getCompositeMappers(responses: { - [responseCode: string]: OperationResponse; -}): { - [responseCode: string]: OperationResponse; -} { - return Object.keys(responses).reduce((acc, statusCode) => { - return { - ...acc, - [statusCode]: { - ...responses[statusCode], - bodyMapper: { - type: { - name: "Composite", - modelProperties: { - status: { - serializedName: "status", - type: { - name: "String" - } - } - } - } - } - } - }; - }, {} as { [responseCode: string]: OperationResponse }); -} - -function shouldPerformFinalGet(initialResult?: LROResponseInfo, currentResult?: LROResponseInfo) { - const { status } = currentResult || {}; - const { requestMethod: initialRequestMethod, location } = initialResult || {}; - if (status && status.toLowerCase() !== "succeeded") { - return false; - } - - if (initialRequestMethod === "DELETE") { - return false; - } - - if (initialRequestMethod !== "PUT" && !location) { - return false; - } - - return true; -} - -async function sendFinalGet( - initialOperation: LROOperationStep, - sendOperationFn: SendOperationFn, - path?: string -): Promise> { - // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = initialOperation.spec; - const finalGetSpec: OperationSpec = { - ...restSpec, - httpMethod: "GET" - }; - - // Send final GET request to the Original URL - const spec = { - ...finalGetSpec, - ...(path && { path }) - }; - - let operationArgs: OperationArguments = initialOperation.args; - if (operationArgs.options) { - operationArgs.options.shouldDeserialize = true; - } - - const finalResult = await sendOperationFn(initialOperation.args, spec); - - return { - args: initialOperation.args, - spec, - result: finalResult - }; -} diff --git a/sdk/synapse/synapse-artifacts/src/lro/bodyPollingStrategy.ts b/sdk/synapse/synapse-artifacts/src/lro/bodyPollingStrategy.ts deleted file mode 100644 index dba5f3280cd0..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/bodyPollingStrategy.ts +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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 { LROStrategy, BaseResult, LROOperationStep, LROSYM } from "./models"; -import { OperationSpec } from "@azure/core-http"; -import { terminalStates } from "./constants"; -import { SendOperationFn } from "./lroPoller"; - -/** - * Creates a polling strategy based on BodyPolling which uses the provisioning state - * from the result to determine the current operation state - */ -export function createBodyPollingStrategy( - initialOperation: LROOperationStep, - sendOperation: SendOperationFn -): LROStrategy { - if (!initialOperation.result._response[LROSYM]) { - throw new Error("Expected lroData to be defined for BodyPolling strategy"); - } - - let currentOperation = initialOperation; - - return { - isTerminal: () => { - const currentResult = currentOperation.result._response[LROSYM]; - if (!currentResult) { - throw new Error("Expected lroData to determine terminal status"); - } - - const { provisioningState = "succeeded" } = currentResult; - // If provisioning state is missing, default to Success - - return terminalStates.includes(provisioningState.toLowerCase()); - }, - sendFinalRequest: () => { - // BodyPolling doesn't require a final get so return the lastOperation - return Promise.resolve(currentOperation); - }, - poll: async () => { - // When doing BodyPolling, we need to poll to the original url with a - // GET http method - const { requestBody, ...restSpec } = initialOperation.spec; - const pollingSpec: OperationSpec = { - // Make sure we don't send any body to the get request - ...restSpec, - httpMethod: "GET" - }; - - // Execute the polling operation - initialOperation.result = await sendOperation(initialOperation.args, pollingSpec); - return initialOperation; - } - }; -} diff --git a/sdk/synapse/synapse-artifacts/src/lro/index.ts b/sdk/synapse/synapse-artifacts/src/lro/index.ts deleted file mode 100644 index f605ce7ee356..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * 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 { shouldDeserializeLRO } from "./requestUtils"; -export { createBodyPollingStrategy } from "./bodyPollingStrategy"; -export { terminalStates } from "./constants"; -export { lroPolicy } from "./lroPolicy"; -export { LROPoller, LROPollerOptions, SendOperationFn } from "./lroPoller"; -export { - LROResponseInfo, - BaseResult, - LROOperationStep, - LROOperationState, - LROStrategy, - LROOperation -} from "./models"; -export { makeOperation } from "./operation"; -export * from "./locationStrategy"; diff --git a/sdk/synapse/synapse-artifacts/src/lro/locationStrategy.ts b/sdk/synapse/synapse-artifacts/src/lro/locationStrategy.ts deleted file mode 100644 index 1cfb103ecacc..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/locationStrategy.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 { BaseResult, LROOperationStep, LROStrategy, LROSYM } from "./models"; -import { SendOperationFn } from "./lroPoller"; -import { OperationSpec } from "@azure/core-http"; - -export function createLocationStrategy( - initialOperation: LROOperationStep, - sendOperationFn: SendOperationFn -): LROStrategy { - const lroData = initialOperation.result._response[LROSYM]; - if (!lroData) { - throw new Error("Expected lroData to be defined for Azure-AsyncOperation strategy"); - } - - let currentOperation = initialOperation; - let lastKnownPollingUrl = lroData.location; - - return { - isTerminal: () => { - const currentResult = currentOperation.result._response[LROSYM]; - if (!currentResult) { - throw new Error("Expected lroData to determine terminal status"); - } - - if (currentOperation === initialOperation) { - return false; - } - - if (currentResult.statusCode === 202) { - return false; - } - - return true; - }, - sendFinalRequest: () => Promise.resolve(currentOperation), - poll: async () => { - if (!lastKnownPollingUrl) { - throw new Error("Unable to determine polling url"); - } - - const pollingArgs = currentOperation.args; - // Make sure we don't send any body to the get request - const { requestBody, ...restSpec } = currentOperation.spec; - const pollingSpec: OperationSpec = { - ...restSpec, - httpMethod: "GET", - path: lastKnownPollingUrl - }; - - const result = await sendOperationFn(pollingArgs, pollingSpec); - - // Update latest polling url - lastKnownPollingUrl = result._response[LROSYM]?.location || lastKnownPollingUrl; - - // Update lastOperation result - currentOperation = { - args: pollingArgs, - spec: pollingSpec, - result - }; - - return currentOperation; - } - }; -} diff --git a/sdk/synapse/synapse-artifacts/src/lro/lroPolicy.ts b/sdk/synapse/synapse-artifacts/src/lro/lroPolicy.ts deleted file mode 100644 index 94c6d089d5dc..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/lroPolicy.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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 { - RequestPolicy, - RequestPolicyOptions, - BaseRequestPolicy, - HttpOperationResponse, - WebResource -} from "@azure/core-http"; -import { LROOperationResponse, LROSYM } from "./models"; -import { getLROData } from "./requestUtils"; - -export function lroPolicy() { - return { - create: (nextPolicy: RequestPolicy, options: RequestPolicyOptions) => { - return new LROPolicy(nextPolicy, options); - } - }; -} - -class LROPolicy extends BaseRequestPolicy { - constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) { - super(nextPolicy, options); - } - - public async sendRequest(webResource: WebResource): Promise { - let result: LROOperationResponse = await this._nextPolicy.sendRequest(webResource); - const _lroData = getLROData(result); - - result[LROSYM] = _lroData; - - return result; - } -} diff --git a/sdk/synapse/synapse-artifacts/src/lro/lroPoller.ts b/sdk/synapse/synapse-artifacts/src/lro/lroPoller.ts deleted file mode 100644 index 3fff20ddaa9c..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/lroPoller.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* - * 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 { Poller } from "@azure/core-lro"; -import { OperationSpec, OperationArguments, delay, RestError } from "@azure/core-http"; -import { BaseResult, LROOperationState, LROOperationStep, FinalStateVia, LROSYM } from "./models"; -import { makeOperation } from "./operation"; -import { createBodyPollingStrategy } from "./bodyPollingStrategy"; -import { createAzureAsyncOperationStrategy } from "./azureAsyncOperationStrategy"; -import { createLocationStrategy } from "./locationStrategy"; -import { createPassthroughStrategy } from "./passthroughStrategy"; - -export type SendOperationFn = ( - args: OperationArguments, - spec: OperationSpec -) => Promise; - -export interface LROPollerOptions { - /** - * Defines how much time the poller is going to wait before making a new request to the service. - */ - intervalInMs?: number; - /** - * Arguments used to send the initial operation - */ - initialOperationArguments: OperationArguments; - /** - * Operation spec provided for the initial operation - */ - initialOperationSpec: OperationSpec; - /** - * Result from the initial operation - */ - initialOperationResult: TResult; - /** - * Function to execute an operation based on an operation spec and arguments - */ - sendOperation: SendOperationFn; - /** - * Optional information on where to poll. When not defined it defaults to "Location" - */ - finalStateVia?: FinalStateVia; -} - -export class LROPoller extends Poller< - LROOperationState, - TResult -> { - private intervalInMs: number; - - constructor({ - initialOperationArguments, - initialOperationResult, - initialOperationSpec, - sendOperation, - finalStateVia, - intervalInMs = 2000 - }: LROPollerOptions) { - const initialOperation = { - args: initialOperationArguments, - spec: initialOperationSpec, - result: initialOperationResult - }; - - const pollingStrategy = getPollingStrategy(initialOperation, sendOperation, finalStateVia); - - const state: LROOperationState = { - // Initial operation will become the last operation - initialOperation, - lastOperation: initialOperation, - pollingStrategy, - finalStateVia - }; - - const operation = makeOperation(state); - super(operation); - - this.intervalInMs = intervalInMs; - } - - /** - * The method used by the poller to wait before attempting to update its operation. - */ - delay(): Promise { - return delay(this.intervalInMs); - } -} - -/** - * This function determines which strategy to use based on the response from - * the last operation executed, this last operation can be an initial operation - * or a polling operation. The 3 possible strategies are described below: - * - * A) Azure-AsyncOperation or Operation-Location - * B) Location - * C) BodyPolling (provisioningState) - * - This strategy is used when: - * - Response doesn't contain any of the following headers Location, Azure-AsyncOperation or Operation-Location - * - Last operation method is PUT - */ -function getPollingStrategy( - initialOperation: LROOperationStep, - sendOperationFn: SendOperationFn, - finalStateVia?: FinalStateVia -) { - const lroData = initialOperation.result._response[LROSYM]; - - if (!lroData) { - const error = new RestError( - "Service response doesn't include the required LRO data to continue polling" - ); - error.statusCode = initialOperation.result._response.status; - error.response = initialOperation.result._response; - throw error; - } - - if (lroData.azureAsyncOperation || lroData.operationLocation) { - return createAzureAsyncOperationStrategy(initialOperation, sendOperationFn, finalStateVia); - } - - if (lroData.location) { - return createLocationStrategy(initialOperation, sendOperationFn); - } - - if (["PUT", "PATCH"].includes(lroData.requestMethod || "")) { - return createBodyPollingStrategy(initialOperation, sendOperationFn); - } - - // Default strategy is just a passthrough returning the initial operation - return createPassthroughStrategy(initialOperation); -} diff --git a/sdk/synapse/synapse-artifacts/src/lro/models.ts b/sdk/synapse/synapse-artifacts/src/lro/models.ts deleted file mode 100644 index 73502255a4dd..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/models.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* - * 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 { - OperationArguments, - OperationSpec, - RestResponse, - HttpMethods, - HttpOperationResponse -} from "@azure/core-http"; -import { PollOperationState, PollOperation } from "@azure/core-lro"; -export const LROSYM = Symbol("LROData"); - -export type FinalStateVia = "azure-async-operation" | "location" | "original-uri"; - -export interface LROResponseInfo { - requestMethod: HttpMethods; - statusCode: number; - isInitialRequest?: boolean; - azureAsyncOperation?: string; - operationLocation?: string; - location?: string; - provisioningState?: string; - status?: string; -} - -/** - * Extended operation response for LROs - */ -export type LROOperationResponse = HttpOperationResponse & { - /** - * Symbol that contains LRO details - */ - [LROSYM]?: LROResponseInfo; -}; - -export interface BaseResult extends RestResponse { - /** - * The underlying HTTP response containing both raw and deserialized response data. - */ - _response: LROOperationResponse; -} - -export interface LROOperationStep { - args: OperationArguments; - spec: OperationSpec; - result: TResult; -} - -export interface LROOperationState extends PollOperationState { - lastOperation: LROOperationStep; - initialOperation: LROOperationStep; - pollingStrategy: LROStrategy; - finalStateVia?: FinalStateVia; -} - -export interface LROStrategy { - isTerminal: () => boolean; - sendFinalRequest: () => Promise>; - poll: () => Promise>; -} - -export type LROOperation = PollOperation< - LROOperationState, - TResult ->; diff --git a/sdk/synapse/synapse-artifacts/src/lro/operation.ts b/sdk/synapse/synapse-artifacts/src/lro/operation.ts deleted file mode 100644 index dc299b243c55..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/operation.ts +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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 { BaseResult, LROOperationState, LROOperation, LROSYM } from "./models"; - -/** - * Creates a copy of the operation from a given State - */ -export function makeOperation( - state: LROOperationState -): LROOperation { - return { - state: { ...state }, - update, - cancel, - toString: function(this: LROOperation) { - return JSON.stringify(this.state); - } - }; -} - -/** - * General update function for LROPoller, the general process is as follows - * 1. Check initial operation result to determine the strategy to use - * - Strategies: Location, Azure-AsyncOperation, Original Uri - * 2. Check if the operation result has a terminal state - * - Terminal state will be determined by each strategy - * 2.1 If it is terminal state Check if a final GET request is required, if so - * send final GET request and return result from operation. If no final GET - * is required, just return the result from operation. - * - Determining what to call for final request is responsibility of each strategy - * 2.2 If it is not terminal state, call the polling operation call it and go to step 1 - * - Determining what to call for polling is responsibility of each strategy - * - Strategies will always use the latest URI for polling if provided otherwise - * the last known one - */ -async function update( - this: LROOperation -): Promise> { - const state = { ...this.state }; - - const { sendFinalRequest, poll, isTerminal } = state.pollingStrategy; - const currentResponse = state.lastOperation; - const currentLroData = currentResponse.result._response[LROSYM]; - - if (!currentLroData) { - throw new Error("Expected lroData to be defined for updating LRO operation"); - } - - if (state.result) { - state.isCompleted = true; - return makeOperation(state); - } - - // Check if last result is terminal - if (isTerminal()) { - state.lastOperation = await sendFinalRequest(); - state.result = state.lastOperation.result; - } else { - state.lastOperation = await poll(); - } - - // Return operation - return makeOperation(state); -} - -/** - * Swagger doesn't support defining a cancel operation, we'll just mark - * the operation state as cancelled - */ -async function cancel( - this: LROOperation -): Promise> { - return makeOperation({ ...this.state, isCancelled: true }); -} diff --git a/sdk/synapse/synapse-artifacts/src/lro/passthroughStrategy.ts b/sdk/synapse/synapse-artifacts/src/lro/passthroughStrategy.ts deleted file mode 100644 index 23342c2e4ec7..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/passthroughStrategy.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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 { LROStrategy, BaseResult, LROOperationStep } from "./models"; - -/** - * Creates a polling strategy based on BodyPolling which uses the provisioning state - * from the result to determine the current operation state - */ -export function createPassthroughStrategy( - initialOperation: LROOperationStep -): LROStrategy { - return { - isTerminal: () => { - return true; - }, - sendFinalRequest: () => { - // BodyPolling doesn't require a final get so return the lastOperation - return Promise.resolve(initialOperation); - }, - poll: async () => { - throw new Error("Passthrough strategy should never poll"); - } - }; -} diff --git a/sdk/synapse/synapse-artifacts/src/lro/requestUtils.ts b/sdk/synapse/synapse-artifacts/src/lro/requestUtils.ts deleted file mode 100644 index 3a6986f5a8fd..000000000000 --- a/sdk/synapse/synapse-artifacts/src/lro/requestUtils.ts +++ /dev/null @@ -1,107 +0,0 @@ -/* - * 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 { HttpOperationResponse } from "@azure/core-http"; -import { terminalStates } from "./constants"; -import { LROResponseInfo } from "./models"; - -/** - * We need to selectively deserialize our responses, only deserializing if we - * are in a final LRO response, not deserializing any polling non-terminal responses - */ -export function shouldDeserializeLRO(finalStateVia?: string) { - let initialOperationInfo: LROResponseInfo | undefined; - let isInitialRequest = true; - - return (response: HttpOperationResponse) => { - if (response.status < 200 || response.status >= 300) { - return true; - } - - if (!initialOperationInfo) { - initialOperationInfo = getLROData(response); - } else { - isInitialRequest = false; - } - - if (initialOperationInfo.azureAsyncOperation || initialOperationInfo.operationLocation) { - return ( - !isInitialRequest && - isAsyncOperationFinalResponse(response, initialOperationInfo, finalStateVia) - ); - } - - if (initialOperationInfo.location) { - return isLocationFinalResponse(response); - } - - if (initialOperationInfo.requestMethod === "PUT") { - return isBodyPollingFinalResponse(response); - } - - return true; - }; -} - -function isAsyncOperationFinalResponse( - response: HttpOperationResponse, - initialOperationInfo: LROResponseInfo, - finalStateVia?: string -): boolean { - const status: string = response.parsedBody?.status || "Succeeded"; - if (!terminalStates.includes(status.toLowerCase())) { - return false; - } - - if (initialOperationInfo.requestMethod === "DELETE") { - return true; - } - - if ( - initialOperationInfo.requestMethod === "PUT" && - finalStateVia && - finalStateVia.toLowerCase() === "azure-asyncoperation" - ) { - return true; - } - - if (initialOperationInfo.requestMethod !== "PUT" && !initialOperationInfo.location) { - return true; - } - - return false; -} - -function isLocationFinalResponse(response: HttpOperationResponse): boolean { - return response.status !== 202; -} - -function isBodyPollingFinalResponse(response: HttpOperationResponse): boolean { - const provisioningState: string = - response.parsedBody?.properties?.provisioningState || "Succeeded"; - - if (terminalStates.includes(provisioningState.toLowerCase())) { - return true; - } - - return false; -} - -export function getLROData(result: HttpOperationResponse): LROResponseInfo { - const statusCode = result.status; - const { status, properties } = result.parsedBody || {}; - return { - statusCode, - azureAsyncOperation: result.headers.get("azure-asyncoperation"), - operationLocation: result.headers.get("operation-location"), - location: result.headers.get("location"), - requestMethod: result.request.method, - status, - provisioningState: properties?.provisioningState - }; -} diff --git a/sdk/synapse/synapse-artifacts/src/lroImpl.ts b/sdk/synapse/synapse-artifacts/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/synapse/synapse-artifacts/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/synapse/synapse-artifacts/src/models/index.ts b/sdk/synapse/synapse-artifacts/src/models/index.ts index 86a54bfe4dd5..2d8f3c8ee07e 100644 --- a/sdk/synapse/synapse-artifacts/src/models/index.ts +++ b/sdk/synapse/synapse-artifacts/src/models/index.ts @@ -6,8 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; -import { LROSYM, LROResponseInfo } from "../lro/models"; +import * as coreClient from "@azure/core-client"; export type LinkedServiceUnion = | LinkedService @@ -220,7 +219,10 @@ export type IntegrationRuntimeUnion = | IntegrationRuntime | ManagedIntegrationRuntime | SelfHostedIntegrationRuntime; -export type SecretBaseUnion = SecretBase | SecureString | AzureKeyVaultSecretReference; +export type SecretBaseUnion = + | SecretBase + | SecureString + | AzureKeyVaultSecretReference; export type DatasetLocationUnion = | DatasetLocation | AzureBlobStorageLocation @@ -504,6 +506,25 @@ export interface LinkedServiceListResponse { nextLink?: string; } +/** 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; +} + /** The Azure Synapse nested object which contains the information and credential which can be used to connect with related store or compute resource. */ export interface LinkedService { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -636,25 +657,6 @@ export interface ParameterSpecification { defaultValue?: any; } -/** 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; -} - /** The object that defines the structure of an Azure Synapse error response. */ export interface CloudError { /** Error code. */ @@ -1001,7 +1003,7 @@ export interface PipelineRun { * The end time of a pipeline run in ISO8601 format. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly runEnd?: Date | null; + readonly runEnd?: Date; /** * The duration of a pipeline run. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1550,30 +1552,30 @@ export interface SparkBatchJob { /** The session Id. */ id: number; /** The application id of this session */ - appId?: string | null; + appId?: string; /** The detailed application info. */ - appInfo?: { [propertyName: string]: string } | null; + appInfo?: { [propertyName: string]: string }; /** The batch state */ state?: string; /** The log lines. */ - logLines?: string[] | null; + logLines?: string[]; } export interface SparkBatchJobState { /** the time that at which "not_started" livy state was first seen. */ - notStartedAt?: Date | null; + notStartedAt?: Date; /** the time that at which "starting" livy state was first seen. */ - startingAt?: Date | null; + startingAt?: Date; /** the time that at which "running" livy state was first seen. */ - runningAt?: Date | null; + runningAt?: Date; /** time that at which "dead" livy state was first seen. */ - deadAt?: Date | null; + deadAt?: Date; /** the time that at which "success" livy state was first seen. */ - successAt?: Date | null; + successAt?: Date; /** the time that at which "killed" livy state was first seen. */ - terminatedAt?: Date | null; + terminatedAt?: Date; /** the time that at which "recovering" livy state was first seen. */ - recoveringAt?: Date | null; + recoveringAt?: Date; /** the Spark job state. */ currentState?: string; jobCreationRequest?: SparkRequest; @@ -1598,19 +1600,19 @@ export interface SparkRequest { } export interface SparkScheduler { - submittedAt?: Date | null; - scheduledAt?: Date | null; - endedAt?: Date | null; - cancellationRequestedAt?: Date | null; + submittedAt?: Date; + scheduledAt?: Date; + endedAt?: Date; + cancellationRequestedAt?: Date; currentState?: SchedulerCurrentState; } export interface SparkServicePlugin { - preparationStartedAt?: Date | null; - resourceAcquisitionStartedAt?: Date | null; - submissionStartedAt?: Date | null; - monitoringStartedAt?: Date | null; - cleanupStartedAt?: Date | null; + preparationStartedAt?: Date; + resourceAcquisitionStartedAt?: Date; + submissionStartedAt?: Date; + monitoringStartedAt?: Date; + cleanupStartedAt?: Date; currentState?: PluginCurrentState; } @@ -1658,9 +1660,9 @@ export interface Notebook { /** The description of the notebook. */ description?: string; /** Big data pool reference. */ - bigDataPool?: BigDataPoolReference | null; + bigDataPool?: BigDataPoolReference; /** Session properties. */ - sessionProperties?: NotebookSessionProperties | null; + sessionProperties?: NotebookSessionProperties; /** Notebook root-level metadata. */ metadata: NotebookMetadata; /** Notebook format (major number). Incremented between backwards incompatible changes to the notebook format. */ @@ -1692,7 +1694,7 @@ export interface NotebookMetadata { /** Kernel information. */ kernelspec?: NotebookKernelSpec; /** Language info. */ - languageInfo?: NotebookLanguageInfo | null; + languageInfo?: NotebookLanguageInfo; } /** Kernel information. */ @@ -1726,7 +1728,7 @@ export interface NotebookCell { /** Contents of the cell, represented as an array of lines. */ source: string[]; /** Attachments associated with the cell. */ - attachments?: any | null; + attachments?: any; /** Cell-level output items. */ outputs?: NotebookCellOutputItem[]; } @@ -1843,6 +1845,18 @@ export interface WorkspaceRepositoryConfiguration { lastCommitId?: string; /** The VSTS tenant ID */ tenantId?: string; + /** GitHub bring your own app client id */ + clientId?: string; + /** GitHub bring your own app client secret information. */ + clientSecret?: GitHubClientSecret; +} + +/** Client secret information for factory's bring your own app repository configuration */ +export interface GitHubClientSecret { + /** Bring your own app client secret AKV URL */ + byoaSecretAkvUrl?: string; + /** Bring your own app client secret name in AKV */ + byoaSecretName?: string; } /** Purview Configuration */ @@ -2140,6 +2154,8 @@ export interface OperationResult { export interface GitHubAccessTokenRequest { /** The GitHub Client Id. */ gitHubClientId: string; + /** GitHub bring your own app client secret information. */ + gitHubClientSecret?: GitHubClientSecret; /** The GitHub Access code. */ gitHubAccessCode: string; /** The GitHub access token base URL. */ @@ -2449,7 +2465,12 @@ export interface DatasetSchemaDataElement { /** The format definition of a storage. */ export interface DatasetStorageFormat { /** Polymorphic discriminator, which specifies the different types this object can be */ - type: "TextFormat" | "JsonFormat" | "AvroFormat" | "OrcFormat" | "ParquetFormat"; + type: + | "TextFormat" + | "JsonFormat" + | "AvroFormat" + | "OrcFormat" + | "ParquetFormat"; /** Describes unknown properties. The value of an unknown property can be of "any" type. */ [property: string]: any; /** Serializer. Type: string (or Expression with resultType string). */ @@ -2554,7 +2575,11 @@ export interface DistcpSettings { /** Format read settings. */ export interface FormatReadSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ - type: "DelimitedTextReadSettings" | "JsonReadSettings" | "XmlReadSettings" | "BinaryReadSettings"; + type: + | "DelimitedTextReadSettings" + | "JsonReadSettings" + | "XmlReadSettings" + | "BinaryReadSettings"; /** Describes unknown properties. The value of an unknown property can be of "any" type. */ [property: string]: any; } @@ -2580,14 +2605,6 @@ export interface FormatWriteSettings { [property: string]: any; } -/** Specify the column name and value of additional columns. */ -export interface AdditionalColumns { - /** Additional column name. Type: string (or Expression with resultType string). */ - name?: any; - /** Additional column value. Type: string (or Expression with resultType string). */ - value?: any; -} - /** A copy activity source. */ export interface CopySource { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -2695,6 +2712,14 @@ export interface CopySource { maxConcurrentConnections?: any; } +/** Specify the column name and value of additional columns. */ +export interface AdditionalColumns { + /** Additional column name. Type: string (or Expression with resultType string). */ + name?: any; + /** Additional column value. Type: string (or Expression with resultType string). */ + value?: any; +} + /** A copy activity sink. */ export interface CopySink { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -3297,6 +3322,26 @@ export interface LinkedIntegrationRuntimeType { authorizationType: "Key" | "RBAC"; } +/** The resource model definition for an Azure Resource Manager resource with an etag. */ +export type AzureEntityResource = Resource & { + /** + * Resource Etag. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; +}; + +/** 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 & {}; + /** The storage account linked service. */ export type AzureStorageLinkedService = LinkedService & { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -5294,26 +5339,6 @@ export type SharePointOnlineListLinkedService = LinkedService & { encryptedCredential?: any; }; -/** The resource model definition for an Azure Resource Manager resource with an etag. */ -export type AzureEntityResource = Resource & { - /** - * Resource Etag. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly etag?: string; -}; - -/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ -export type ProxyResource = Resource & {}; - -/** 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; -}; - /** A single Amazon Simple Storage Service (S3) object or a set of S3 objects. */ export type AmazonS3Dataset = Dataset & { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -6272,13 +6297,51 @@ export type AzureDatabricksDeltaLakeDataset = Dataset & { /** Base class for all control activities like IfCondition, ForEach , Until. */ export type ControlActivity = Activity & { /** Polymorphic discriminator, which specifies the different types this object can be */ - type: "Container"; + type: + | "Container" + | "ExecutePipeline" + | "IfCondition" + | "Switch" + | "ForEach" + | "Wait" + | "Until" + | "Validation" + | "Filter" + | "SetVariable" + | "AppendVariable" + | "WebHook"; }; /** Base class for all execution activities. */ export type ExecutionActivity = Activity & { /** Polymorphic discriminator, which specifies the different types this object can be */ - type: "Execution"; + type: + | "Execution" + | "Copy" + | "HDInsightHive" + | "HDInsightPig" + | "HDInsightMapReduce" + | "HDInsightStreaming" + | "HDInsightSpark" + | "ExecuteSSISPackage" + | "Custom" + | "SqlServerStoredProcedure" + | "Delete" + | "AzureDataExplorerCommand" + | "Lookup" + | "WebActivity" + | "GetMetadata" + | "AzureMLBatchExecution" + | "AzureMLUpdateResource" + | "AzureMLExecutePipeline" + | "DataLakeAnalyticsU-SQL" + | "DatabricksNotebook" + | "DatabricksSparkJar" + | "DatabricksSparkPython" + | "AzureFunctionActivity" + | "ExecuteDataFlow" + | "SynapseNotebook" + | "SparkJob"; /** Linked service reference. */ linkedServiceName?: LinkedServiceReference; /** Activity policy. */ @@ -6316,7 +6379,12 @@ export type RerunTumblingWindowTrigger = Trigger & { /** Base class for all triggers that support one to many model for trigger to pipeline. */ export type MultiplePipelineTrigger = Trigger & { /** Polymorphic discriminator, which specifies the different types this object can be */ - type: "MultiplePipelineTrigger"; + type: + | "MultiplePipelineTrigger" + | "ScheduleTrigger" + | "BlobTrigger" + | "BlobEventsTrigger" + | "CustomEventsTrigger"; /** Pipelines that need to be started. */ pipelines?: TriggerPipelineReference[]; }; @@ -7191,7 +7259,65 @@ export type BinarySource = CopySource & { /** Copy activity sources of tabular type. */ export type TabularSource = CopySource & { /** Polymorphic discriminator, which specifies the different types this object can be */ - type: "TabularSource"; + type: + | "TabularSource" + | "AzureTableSource" + | "InformixSource" + | "Db2Source" + | "OdbcSource" + | "MySqlSource" + | "PostgreSqlSource" + | "SybaseSource" + | "SapBwSource" + | "SalesforceSource" + | "SapCloudForCustomerSource" + | "SapEccSource" + | "SapHanaSource" + | "SapOpenHubSource" + | "SapTableSource" + | "SqlSource" + | "SqlServerSource" + | "AzureSqlSource" + | "SqlMISource" + | "SqlDWSource" + | "AzureMySqlSource" + | "TeradataSource" + | "CassandraSource" + | "AmazonMWSSource" + | "AzurePostgreSqlSource" + | "ConcurSource" + | "CouchbaseSource" + | "DrillSource" + | "EloquaSource" + | "GoogleBigQuerySource" + | "GreenplumSource" + | "HBaseSource" + | "HiveSource" + | "HubspotSource" + | "ImpalaSource" + | "JiraSource" + | "MagentoSource" + | "MariaDBSource" + | "AzureMariaDBSource" + | "MarketoSource" + | "PaypalSource" + | "PhoenixSource" + | "PrestoSource" + | "QuickBooksSource" + | "ServiceNowSource" + | "ShopifySource" + | "SparkSource" + | "SquareSource" + | "XeroSource" + | "ZohoSource" + | "NetezzaSource" + | "VerticaSource" + | "SalesforceMarketingCloudSource" + | "ResponsysSource" + | "DynamicsAXSource" + | "OracleServiceCloudSource" + | "GoogleAdWordsSource" + | "AmazonRedshiftSource"; /** Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). */ queryTimeout?: any; /** Specifies the additional columns to be added to source data. Type: array of objects (or Expression with resultType array of objects). */ @@ -8005,7 +8131,9 @@ export type TabularTranslator = CopyTranslator & { /** Trigger referenced dependency. */ export type TriggerDependencyReference = DependencyReference & { /** Polymorphic discriminator, which specifies the different types this object can be */ - type: "TriggerDependencyReference"; + type: + | "TriggerDependencyReference" + | "TumblingWindowTriggerDependencyReference"; /** Referenced trigger. */ referenceTrigger: TriggerReference; }; @@ -8039,19 +8167,6 @@ export type LinkedIntegrationRuntimeRbacAuthorization = LinkedIntegrationRuntime /** Azure Synapse nested resource, which belongs to a workspace. */ export type SubResource = AzureEntityResource & {}; -/** A private endpoint connection */ -export type PrivateEndpointConnection = ProxyResource & { - /** The private endpoint which the connection belongs to. */ - privateEndpoint?: PrivateEndpoint; - /** Connection state of the private endpoint connection. */ - privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; - /** - * Provisioning state of the private endpoint connection. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly provisioningState?: string; -}; - /** A workspace */ export type Workspace = TrackedResource & { /** Identity of the workspace */ @@ -8169,6 +8284,19 @@ export type BigDataPoolResourceInfo = TrackedResource & { readonly lastSucceededTimestamp?: Date; }; +/** A private endpoint connection */ +export type PrivateEndpointConnection = ProxyResource & { + /** The private endpoint which the connection belongs to. */ + privateEndpoint?: PrivateEndpoint; + /** Connection state of the private endpoint connection. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + /** + * Provisioning state of the private endpoint connection. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; +}; + /** Execute pipeline activity. */ export type ExecutePipelineActivity = ControlActivity & { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -8747,6 +8875,8 @@ export type SynapseSparkJobDefinitionActivity = ExecutionActivity & { type: "SparkJob"; /** Synapse spark job reference. */ sparkJob: SynapseSparkJobReference; + /** User specified arguments to SynapseSparkJobDefinitionActivity. */ + arguments?: any[]; }; /** Trigger that creates pipeline runs periodically, on schedule. */ @@ -9454,7 +9584,7 @@ export interface DataFlowDebugSessionExecuteCommandHeaders { } /** Known values of {@link IntegrationRuntimeReferenceType} that the service accepts. */ -export const enum KnownIntegrationRuntimeReferenceType { +export enum KnownIntegrationRuntimeReferenceType { IntegrationRuntimeReference = "IntegrationRuntimeReference" } @@ -9462,13 +9592,13 @@ export const enum KnownIntegrationRuntimeReferenceType { * Defines values for IntegrationRuntimeReferenceType. \ * {@link KnownIntegrationRuntimeReferenceType} can be used interchangeably with IntegrationRuntimeReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **IntegrationRuntimeReference** */ export type IntegrationRuntimeReferenceType = string; /** Known values of {@link ParameterType} that the service accepts. */ -export const enum KnownParameterType { +export enum KnownParameterType { Object = "Object", String = "String", Int = "Int", @@ -9482,7 +9612,7 @@ export const enum KnownParameterType { * Defines values for ParameterType. \ * {@link KnownParameterType} can be used interchangeably with ParameterType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Object** \ * **String** \ * **Int** \ @@ -9494,7 +9624,7 @@ export const enum KnownParameterType { export type ParameterType = string; /** Known values of {@link Type} that the service accepts. */ -export const enum KnownType { +export enum KnownType { LinkedServiceReference = "LinkedServiceReference" } @@ -9502,13 +9632,13 @@ export const enum KnownType { * Defines values for Type. \ * {@link KnownType} can be used interchangeably with Type, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **LinkedServiceReference** */ export type Type = string; /** Known values of {@link DependencyCondition} that the service accepts. */ -export const enum KnownDependencyCondition { +export enum KnownDependencyCondition { Succeeded = "Succeeded", Failed = "Failed", Skipped = "Skipped", @@ -9519,7 +9649,7 @@ export const enum KnownDependencyCondition { * Defines values for DependencyCondition. \ * {@link KnownDependencyCondition} can be used interchangeably with DependencyCondition, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Succeeded** \ * **Failed** \ * **Skipped** \ @@ -9528,7 +9658,7 @@ export const enum KnownDependencyCondition { export type DependencyCondition = string; /** Known values of {@link VariableType} that the service accepts. */ -export const enum KnownVariableType { +export enum KnownVariableType { String = "String", Bool = "Bool", Boolean = "Boolean", @@ -9539,7 +9669,7 @@ export const enum KnownVariableType { * Defines values for VariableType. \ * {@link KnownVariableType} can be used interchangeably with VariableType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **String** \ * **Bool** \ * **Boolean** \ @@ -9548,7 +9678,7 @@ export const enum KnownVariableType { export type VariableType = string; /** Known values of {@link RunQueryFilterOperand} that the service accepts. */ -export const enum KnownRunQueryFilterOperand { +export enum KnownRunQueryFilterOperand { PipelineName = "PipelineName", Status = "Status", RunStart = "RunStart", @@ -9567,7 +9697,7 @@ export const enum KnownRunQueryFilterOperand { * Defines values for RunQueryFilterOperand. \ * {@link KnownRunQueryFilterOperand} can be used interchangeably with RunQueryFilterOperand, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **PipelineName** \ * **Status** \ * **RunStart** \ @@ -9584,7 +9714,7 @@ export const enum KnownRunQueryFilterOperand { export type RunQueryFilterOperand = string; /** Known values of {@link RunQueryFilterOperator} that the service accepts. */ -export const enum KnownRunQueryFilterOperator { +export enum KnownRunQueryFilterOperator { Equals = "Equals", NotEquals = "NotEquals", In = "In", @@ -9595,7 +9725,7 @@ export const enum KnownRunQueryFilterOperator { * Defines values for RunQueryFilterOperator. \ * {@link KnownRunQueryFilterOperator} can be used interchangeably with RunQueryFilterOperator, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Equals** \ * **NotEquals** \ * **In** \ @@ -9604,7 +9734,7 @@ export const enum KnownRunQueryFilterOperator { export type RunQueryFilterOperator = string; /** Known values of {@link RunQueryOrderByField} that the service accepts. */ -export const enum KnownRunQueryOrderByField { +export enum KnownRunQueryOrderByField { RunStart = "RunStart", RunEnd = "RunEnd", PipelineName = "PipelineName", @@ -9620,7 +9750,7 @@ export const enum KnownRunQueryOrderByField { * Defines values for RunQueryOrderByField. \ * {@link KnownRunQueryOrderByField} can be used interchangeably with RunQueryOrderByField, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **RunStart** \ * **RunEnd** \ * **PipelineName** \ @@ -9634,7 +9764,7 @@ export const enum KnownRunQueryOrderByField { export type RunQueryOrderByField = string; /** Known values of {@link RunQueryOrder} that the service accepts. */ -export const enum KnownRunQueryOrder { +export enum KnownRunQueryOrder { ASC = "ASC", Desc = "DESC" } @@ -9643,14 +9773,14 @@ export const enum KnownRunQueryOrder { * Defines values for RunQueryOrder. \ * {@link KnownRunQueryOrder} can be used interchangeably with RunQueryOrder, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **ASC** \ * **DESC** */ export type RunQueryOrder = string; /** Known values of {@link TriggerRuntimeState} that the service accepts. */ -export const enum KnownTriggerRuntimeState { +export enum KnownTriggerRuntimeState { Started = "Started", Stopped = "Stopped", Disabled = "Disabled" @@ -9660,7 +9790,7 @@ export const enum KnownTriggerRuntimeState { * Defines values for TriggerRuntimeState. \ * {@link KnownTriggerRuntimeState} can be used interchangeably with TriggerRuntimeState, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Started** \ * **Stopped** \ * **Disabled** @@ -9668,7 +9798,7 @@ export const enum KnownTriggerRuntimeState { export type TriggerRuntimeState = string; /** Known values of {@link EventSubscriptionStatus} that the service accepts. */ -export const enum KnownEventSubscriptionStatus { +export enum KnownEventSubscriptionStatus { Enabled = "Enabled", Provisioning = "Provisioning", Deprovisioning = "Deprovisioning", @@ -9680,7 +9810,7 @@ export const enum KnownEventSubscriptionStatus { * Defines values for EventSubscriptionStatus. \ * {@link KnownEventSubscriptionStatus} can be used interchangeably with EventSubscriptionStatus, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Enabled** \ * **Provisioning** \ * **Deprovisioning** \ @@ -9690,7 +9820,7 @@ export const enum KnownEventSubscriptionStatus { export type EventSubscriptionStatus = string; /** Known values of {@link TriggerRunStatus} that the service accepts. */ -export const enum KnownTriggerRunStatus { +export enum KnownTriggerRunStatus { Succeeded = "Succeeded", Failed = "Failed", Inprogress = "Inprogress" @@ -9700,7 +9830,7 @@ export const enum KnownTriggerRunStatus { * Defines values for TriggerRunStatus. \ * {@link KnownTriggerRunStatus} can be used interchangeably with TriggerRunStatus, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Succeeded** \ * **Failed** \ * **Inprogress** @@ -9708,7 +9838,7 @@ export const enum KnownTriggerRunStatus { export type TriggerRunStatus = string; /** Known values of {@link SqlScriptType} that the service accepts. */ -export const enum KnownSqlScriptType { +export enum KnownSqlScriptType { SqlQuery = "SqlQuery" } @@ -9716,13 +9846,13 @@ export const enum KnownSqlScriptType { * Defines values for SqlScriptType. \ * {@link KnownSqlScriptType} can be used interchangeably with SqlScriptType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **SqlQuery** */ export type SqlScriptType = string; /** Known values of {@link SqlConnectionType} that the service accepts. */ -export const enum KnownSqlConnectionType { +export enum KnownSqlConnectionType { SqlOnDemand = "SqlOnDemand", SqlPool = "SqlPool" } @@ -9731,14 +9861,14 @@ export const enum KnownSqlConnectionType { * Defines values for SqlConnectionType. \ * {@link KnownSqlConnectionType} can be used interchangeably with SqlConnectionType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **SqlOnDemand** \ * **SqlPool** */ export type SqlConnectionType = string; /** Known values of {@link BigDataPoolReferenceType} that the service accepts. */ -export const enum KnownBigDataPoolReferenceType { +export enum KnownBigDataPoolReferenceType { BigDataPoolReference = "BigDataPoolReference" } @@ -9746,13 +9876,13 @@ export const enum KnownBigDataPoolReferenceType { * Defines values for BigDataPoolReferenceType. \ * {@link KnownBigDataPoolReferenceType} can be used interchangeably with BigDataPoolReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **BigDataPoolReference** */ export type BigDataPoolReferenceType = string; /** Known values of {@link SparkJobType} that the service accepts. */ -export const enum KnownSparkJobType { +export enum KnownSparkJobType { SparkBatch = "SparkBatch", SparkSession = "SparkSession" } @@ -9761,14 +9891,14 @@ export const enum KnownSparkJobType { * Defines values for SparkJobType. \ * {@link KnownSparkJobType} can be used interchangeably with SparkJobType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **SparkBatch** \ * **SparkSession** */ export type SparkJobType = string; /** Known values of {@link SparkBatchJobResultType} that the service accepts. */ -export const enum KnownSparkBatchJobResultType { +export enum KnownSparkBatchJobResultType { Uncertain = "Uncertain", Succeeded = "Succeeded", Failed = "Failed", @@ -9779,7 +9909,7 @@ export const enum KnownSparkBatchJobResultType { * Defines values for SparkBatchJobResultType. \ * {@link KnownSparkBatchJobResultType} can be used interchangeably with SparkBatchJobResultType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Uncertain** \ * **Succeeded** \ * **Failed** \ @@ -9788,7 +9918,7 @@ export const enum KnownSparkBatchJobResultType { export type SparkBatchJobResultType = string; /** Known values of {@link SchedulerCurrentState} that the service accepts. */ -export const enum KnownSchedulerCurrentState { +export enum KnownSchedulerCurrentState { Queued = "Queued", Scheduled = "Scheduled", Ended = "Ended" @@ -9798,7 +9928,7 @@ export const enum KnownSchedulerCurrentState { * Defines values for SchedulerCurrentState. \ * {@link KnownSchedulerCurrentState} can be used interchangeably with SchedulerCurrentState, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Queued** \ * **Scheduled** \ * **Ended** @@ -9806,7 +9936,7 @@ export const enum KnownSchedulerCurrentState { export type SchedulerCurrentState = string; /** Known values of {@link PluginCurrentState} that the service accepts. */ -export const enum KnownPluginCurrentState { +export enum KnownPluginCurrentState { Preparation = "Preparation", ResourceAcquisition = "ResourceAcquisition", Queued = "Queued", @@ -9820,7 +9950,7 @@ export const enum KnownPluginCurrentState { * Defines values for PluginCurrentState. \ * {@link KnownPluginCurrentState} can be used interchangeably with PluginCurrentState, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Preparation** \ * **ResourceAcquisition** \ * **Queued** \ @@ -9832,7 +9962,7 @@ export const enum KnownPluginCurrentState { export type PluginCurrentState = string; /** Known values of {@link SparkErrorSource} that the service accepts. */ -export const enum KnownSparkErrorSource { +export enum KnownSparkErrorSource { System = "System", User = "User", Unknown = "Unknown", @@ -9843,7 +9973,7 @@ export const enum KnownSparkErrorSource { * Defines values for SparkErrorSource. \ * {@link KnownSparkErrorSource} can be used interchangeably with SparkErrorSource, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **System** \ * **User** \ * **Unknown** \ @@ -9852,7 +9982,7 @@ export const enum KnownSparkErrorSource { export type SparkErrorSource = string; /** Known values of {@link CellOutputType} that the service accepts. */ -export const enum KnownCellOutputType { +export enum KnownCellOutputType { ExecuteResult = "execute_result", DisplayData = "display_data", Stream = "stream", @@ -9863,7 +9993,7 @@ export const enum KnownCellOutputType { * Defines values for CellOutputType. \ * {@link KnownCellOutputType} can be used interchangeably with CellOutputType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **execute_result** \ * **display_data** \ * **stream** \ @@ -9872,7 +10002,7 @@ export const enum KnownCellOutputType { export type CellOutputType = string; /** Known values of {@link NodeSize} that the service accepts. */ -export const enum KnownNodeSize { +export enum KnownNodeSize { None = "None", Small = "Small", Medium = "Medium", @@ -9886,7 +10016,7 @@ export const enum KnownNodeSize { * Defines values for NodeSize. \ * {@link KnownNodeSize} can be used interchangeably with NodeSize, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **Small** \ * **Medium** \ @@ -9898,7 +10028,7 @@ export const enum KnownNodeSize { export type NodeSize = string; /** Known values of {@link NodeSizeFamily} that the service accepts. */ -export const enum KnownNodeSizeFamily { +export enum KnownNodeSizeFamily { None = "None", MemoryOptimized = "MemoryOptimized" } @@ -9907,14 +10037,14 @@ export const enum KnownNodeSizeFamily { * Defines values for NodeSizeFamily. \ * {@link KnownNodeSizeFamily} can be used interchangeably with NodeSizeFamily, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **MemoryOptimized** */ export type NodeSizeFamily = string; /** Known values of {@link IntegrationRuntimeType} that the service accepts. */ -export const enum KnownIntegrationRuntimeType { +export enum KnownIntegrationRuntimeType { Managed = "Managed", SelfHosted = "SelfHosted" } @@ -9923,14 +10053,14 @@ export const enum KnownIntegrationRuntimeType { * Defines values for IntegrationRuntimeType. \ * {@link KnownIntegrationRuntimeType} can be used interchangeably with IntegrationRuntimeType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Managed** \ * **SelfHosted** */ export type IntegrationRuntimeType = string; /** Known values of {@link ExpressionType} that the service accepts. */ -export const enum KnownExpressionType { +export enum KnownExpressionType { Expression = "Expression" } @@ -9938,13 +10068,13 @@ export const enum KnownExpressionType { * Defines values for ExpressionType. \ * {@link KnownExpressionType} can be used interchangeably with ExpressionType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Expression** */ export type ExpressionType = string; /** Known values of {@link PipelineReferenceType} that the service accepts. */ -export const enum KnownPipelineReferenceType { +export enum KnownPipelineReferenceType { PipelineReference = "PipelineReference" } @@ -9952,13 +10082,13 @@ export const enum KnownPipelineReferenceType { * Defines values for PipelineReferenceType. \ * {@link KnownPipelineReferenceType} can be used interchangeably with PipelineReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **PipelineReference** */ export type PipelineReferenceType = string; /** Known values of {@link DatasetReferenceType} that the service accepts. */ -export const enum KnownDatasetReferenceType { +export enum KnownDatasetReferenceType { DatasetReference = "DatasetReference" } @@ -9966,13 +10096,13 @@ export const enum KnownDatasetReferenceType { * Defines values for DatasetReferenceType. \ * {@link KnownDatasetReferenceType} can be used interchangeably with DatasetReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **DatasetReference** */ export type DatasetReferenceType = string; /** Known values of {@link DataFlowReferenceType} that the service accepts. */ -export const enum KnownDataFlowReferenceType { +export enum KnownDataFlowReferenceType { DataFlowReference = "DataFlowReference" } @@ -9980,13 +10110,13 @@ export const enum KnownDataFlowReferenceType { * Defines values for DataFlowReferenceType. \ * {@link KnownDataFlowReferenceType} can be used interchangeably with DataFlowReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **DataFlowReference** */ export type DataFlowReferenceType = string; /** Known values of {@link NotebookReferenceType} that the service accepts. */ -export const enum KnownNotebookReferenceType { +export enum KnownNotebookReferenceType { NotebookReference = "NotebookReference" } @@ -9994,13 +10124,13 @@ export const enum KnownNotebookReferenceType { * Defines values for NotebookReferenceType. \ * {@link KnownNotebookReferenceType} can be used interchangeably with NotebookReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **NotebookReference** */ export type NotebookReferenceType = string; /** Known values of {@link SparkJobReferenceType} that the service accepts. */ -export const enum KnownSparkJobReferenceType { +export enum KnownSparkJobReferenceType { SparkJobDefinitionReference = "SparkJobDefinitionReference" } @@ -10008,13 +10138,13 @@ export const enum KnownSparkJobReferenceType { * Defines values for SparkJobReferenceType. \ * {@link KnownSparkJobReferenceType} can be used interchangeably with SparkJobReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **SparkJobDefinitionReference** */ export type SparkJobReferenceType = string; /** Known values of {@link SqlPoolReferenceType} that the service accepts. */ -export const enum KnownSqlPoolReferenceType { +export enum KnownSqlPoolReferenceType { SqlPoolReference = "SqlPoolReference" } @@ -10022,13 +10152,13 @@ export const enum KnownSqlPoolReferenceType { * Defines values for SqlPoolReferenceType. \ * {@link KnownSqlPoolReferenceType} can be used interchangeably with SqlPoolReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **SqlPoolReference** */ export type SqlPoolReferenceType = string; /** Known values of {@link JsonFormatFilePattern} that the service accepts. */ -export const enum KnownJsonFormatFilePattern { +export enum KnownJsonFormatFilePattern { SetOfObjects = "setOfObjects", ArrayOfObjects = "arrayOfObjects" } @@ -10037,14 +10167,14 @@ export const enum KnownJsonFormatFilePattern { * Defines values for JsonFormatFilePattern. \ * {@link KnownJsonFormatFilePattern} can be used interchangeably with JsonFormatFilePattern, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **setOfObjects** \ * **arrayOfObjects** */ export type JsonFormatFilePattern = string; /** Known values of {@link CompressionCodec} that the service accepts. */ -export const enum KnownCompressionCodec { +export enum KnownCompressionCodec { Bzip2 = "bzip2", Gzip = "gzip", Deflate = "deflate", @@ -10059,7 +10189,7 @@ export const enum KnownCompressionCodec { * Defines values for CompressionCodec. \ * {@link KnownCompressionCodec} can be used interchangeably with CompressionCodec, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **bzip2** \ * **gzip** \ * **deflate** \ @@ -10072,7 +10202,7 @@ export const enum KnownCompressionCodec { export type CompressionCodec = string; /** Known values of {@link OrcCompressionCodec} that the service accepts. */ -export const enum KnownOrcCompressionCodec { +export enum KnownOrcCompressionCodec { None = "none", Zlib = "zlib", Snappy = "snappy", @@ -10083,7 +10213,7 @@ export const enum KnownOrcCompressionCodec { * Defines values for OrcCompressionCodec. \ * {@link KnownOrcCompressionCodec} can be used interchangeably with OrcCompressionCodec, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **none** \ * **zlib** \ * **snappy** \ @@ -10092,7 +10222,7 @@ export const enum KnownOrcCompressionCodec { export type OrcCompressionCodec = string; /** Known values of {@link DynamicsDeploymentType} that the service accepts. */ -export const enum KnownDynamicsDeploymentType { +export enum KnownDynamicsDeploymentType { Online = "Online", OnPremisesWithIfd = "OnPremisesWithIfd" } @@ -10101,14 +10231,14 @@ export const enum KnownDynamicsDeploymentType { * Defines values for DynamicsDeploymentType. \ * {@link KnownDynamicsDeploymentType} can be used interchangeably with DynamicsDeploymentType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Online** \ * **OnPremisesWithIfd** */ export type DynamicsDeploymentType = string; /** Known values of {@link DynamicsAuthenticationType} that the service accepts. */ -export const enum KnownDynamicsAuthenticationType { +export enum KnownDynamicsAuthenticationType { Office365 = "Office365", Ifd = "Ifd", AADServicePrincipal = "AADServicePrincipal" @@ -10118,7 +10248,7 @@ export const enum KnownDynamicsAuthenticationType { * Defines values for DynamicsAuthenticationType. \ * {@link KnownDynamicsAuthenticationType} can be used interchangeably with DynamicsAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Office365** \ * **Ifd** \ * **AADServicePrincipal** @@ -10126,7 +10256,7 @@ export const enum KnownDynamicsAuthenticationType { export type DynamicsAuthenticationType = string; /** Known values of {@link DynamicsServicePrincipalCredentialType} that the service accepts. */ -export const enum KnownDynamicsServicePrincipalCredentialType { +export enum KnownDynamicsServicePrincipalCredentialType { ServicePrincipalKey = "ServicePrincipalKey", ServicePrincipalCert = "ServicePrincipalCert" } @@ -10135,14 +10265,14 @@ export const enum KnownDynamicsServicePrincipalCredentialType { * Defines values for DynamicsServicePrincipalCredentialType. \ * {@link KnownDynamicsServicePrincipalCredentialType} can be used interchangeably with DynamicsServicePrincipalCredentialType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **ServicePrincipalKey** \ * **ServicePrincipalCert** */ export type DynamicsServicePrincipalCredentialType = string; /** Known values of {@link SybaseAuthenticationType} that the service accepts. */ -export const enum KnownSybaseAuthenticationType { +export enum KnownSybaseAuthenticationType { Basic = "Basic", Windows = "Windows" } @@ -10151,14 +10281,14 @@ export const enum KnownSybaseAuthenticationType { * Defines values for SybaseAuthenticationType. \ * {@link KnownSybaseAuthenticationType} can be used interchangeably with SybaseAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Windows** */ export type SybaseAuthenticationType = string; /** Known values of {@link Db2AuthenticationType} that the service accepts. */ -export const enum KnownDb2AuthenticationType { +export enum KnownDb2AuthenticationType { Basic = "Basic" } @@ -10166,13 +10296,13 @@ export const enum KnownDb2AuthenticationType { * Defines values for Db2AuthenticationType. \ * {@link KnownDb2AuthenticationType} can be used interchangeably with Db2AuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** */ export type Db2AuthenticationType = string; /** Known values of {@link TeradataAuthenticationType} that the service accepts. */ -export const enum KnownTeradataAuthenticationType { +export enum KnownTeradataAuthenticationType { Basic = "Basic", Windows = "Windows" } @@ -10181,14 +10311,14 @@ export const enum KnownTeradataAuthenticationType { * Defines values for TeradataAuthenticationType. \ * {@link KnownTeradataAuthenticationType} can be used interchangeably with TeradataAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Windows** */ export type TeradataAuthenticationType = string; /** Known values of {@link ODataAuthenticationType} that the service accepts. */ -export const enum KnownODataAuthenticationType { +export enum KnownODataAuthenticationType { Basic = "Basic", Anonymous = "Anonymous", Windows = "Windows", @@ -10200,7 +10330,7 @@ export const enum KnownODataAuthenticationType { * Defines values for ODataAuthenticationType. \ * {@link KnownODataAuthenticationType} can be used interchangeably with ODataAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Anonymous** \ * **Windows** \ @@ -10210,7 +10340,7 @@ export const enum KnownODataAuthenticationType { export type ODataAuthenticationType = string; /** Known values of {@link ODataAadServicePrincipalCredentialType} that the service accepts. */ -export const enum KnownODataAadServicePrincipalCredentialType { +export enum KnownODataAadServicePrincipalCredentialType { ServicePrincipalKey = "ServicePrincipalKey", ServicePrincipalCert = "ServicePrincipalCert" } @@ -10219,14 +10349,14 @@ export const enum KnownODataAadServicePrincipalCredentialType { * Defines values for ODataAadServicePrincipalCredentialType. \ * {@link KnownODataAadServicePrincipalCredentialType} can be used interchangeably with ODataAadServicePrincipalCredentialType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **ServicePrincipalKey** \ * **ServicePrincipalCert** */ export type ODataAadServicePrincipalCredentialType = string; /** Known values of {@link WebAuthenticationType} that the service accepts. */ -export const enum KnownWebAuthenticationType { +export enum KnownWebAuthenticationType { Basic = "Basic", Anonymous = "Anonymous", ClientCertificate = "ClientCertificate" @@ -10236,7 +10366,7 @@ export const enum KnownWebAuthenticationType { * Defines values for WebAuthenticationType. \ * {@link KnownWebAuthenticationType} can be used interchangeably with WebAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Anonymous** \ * **ClientCertificate** @@ -10244,7 +10374,7 @@ export const enum KnownWebAuthenticationType { export type WebAuthenticationType = string; /** Known values of {@link MongoDbAuthenticationType} that the service accepts. */ -export const enum KnownMongoDbAuthenticationType { +export enum KnownMongoDbAuthenticationType { Basic = "Basic", Anonymous = "Anonymous" } @@ -10253,14 +10383,14 @@ export const enum KnownMongoDbAuthenticationType { * Defines values for MongoDbAuthenticationType. \ * {@link KnownMongoDbAuthenticationType} can be used interchangeably with MongoDbAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Anonymous** */ export type MongoDbAuthenticationType = string; /** Known values of {@link RestServiceAuthenticationType} that the service accepts. */ -export const enum KnownRestServiceAuthenticationType { +export enum KnownRestServiceAuthenticationType { Anonymous = "Anonymous", Basic = "Basic", AadServicePrincipal = "AadServicePrincipal", @@ -10271,7 +10401,7 @@ export const enum KnownRestServiceAuthenticationType { * Defines values for RestServiceAuthenticationType. \ * {@link KnownRestServiceAuthenticationType} can be used interchangeably with RestServiceAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Anonymous** \ * **Basic** \ * **AadServicePrincipal** \ @@ -10280,7 +10410,7 @@ export const enum KnownRestServiceAuthenticationType { export type RestServiceAuthenticationType = string; /** Known values of {@link HttpAuthenticationType} that the service accepts. */ -export const enum KnownHttpAuthenticationType { +export enum KnownHttpAuthenticationType { Basic = "Basic", Anonymous = "Anonymous", Digest = "Digest", @@ -10292,7 +10422,7 @@ export const enum KnownHttpAuthenticationType { * Defines values for HttpAuthenticationType. \ * {@link KnownHttpAuthenticationType} can be used interchangeably with HttpAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Anonymous** \ * **Digest** \ @@ -10302,7 +10432,7 @@ export const enum KnownHttpAuthenticationType { export type HttpAuthenticationType = string; /** Known values of {@link FtpAuthenticationType} that the service accepts. */ -export const enum KnownFtpAuthenticationType { +export enum KnownFtpAuthenticationType { Basic = "Basic", Anonymous = "Anonymous" } @@ -10311,14 +10441,14 @@ export const enum KnownFtpAuthenticationType { * Defines values for FtpAuthenticationType. \ * {@link KnownFtpAuthenticationType} can be used interchangeably with FtpAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Anonymous** */ export type FtpAuthenticationType = string; /** Known values of {@link SftpAuthenticationType} that the service accepts. */ -export const enum KnownSftpAuthenticationType { +export enum KnownSftpAuthenticationType { Basic = "Basic", SshPublicKey = "SshPublicKey" } @@ -10327,14 +10457,14 @@ export const enum KnownSftpAuthenticationType { * Defines values for SftpAuthenticationType. \ * {@link KnownSftpAuthenticationType} can be used interchangeably with SftpAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **SshPublicKey** */ export type SftpAuthenticationType = string; /** Known values of {@link SapHanaAuthenticationType} that the service accepts. */ -export const enum KnownSapHanaAuthenticationType { +export enum KnownSapHanaAuthenticationType { Basic = "Basic", Windows = "Windows" } @@ -10343,14 +10473,14 @@ export const enum KnownSapHanaAuthenticationType { * Defines values for SapHanaAuthenticationType. \ * {@link KnownSapHanaAuthenticationType} can be used interchangeably with SapHanaAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Windows** */ export type SapHanaAuthenticationType = string; /** Known values of {@link GoogleBigQueryAuthenticationType} that the service accepts. */ -export const enum KnownGoogleBigQueryAuthenticationType { +export enum KnownGoogleBigQueryAuthenticationType { ServiceAuthentication = "ServiceAuthentication", UserAuthentication = "UserAuthentication" } @@ -10359,14 +10489,14 @@ export const enum KnownGoogleBigQueryAuthenticationType { * Defines values for GoogleBigQueryAuthenticationType. \ * {@link KnownGoogleBigQueryAuthenticationType} can be used interchangeably with GoogleBigQueryAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **ServiceAuthentication** \ * **UserAuthentication** */ export type GoogleBigQueryAuthenticationType = string; /** Known values of {@link HBaseAuthenticationType} that the service accepts. */ -export const enum KnownHBaseAuthenticationType { +export enum KnownHBaseAuthenticationType { Anonymous = "Anonymous", Basic = "Basic" } @@ -10375,14 +10505,14 @@ export const enum KnownHBaseAuthenticationType { * Defines values for HBaseAuthenticationType. \ * {@link KnownHBaseAuthenticationType} can be used interchangeably with HBaseAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Anonymous** \ * **Basic** */ export type HBaseAuthenticationType = string; /** Known values of {@link HiveServerType} that the service accepts. */ -export const enum KnownHiveServerType { +export enum KnownHiveServerType { HiveServer1 = "HiveServer1", HiveServer2 = "HiveServer2", HiveThriftServer = "HiveThriftServer" @@ -10392,7 +10522,7 @@ export const enum KnownHiveServerType { * Defines values for HiveServerType. \ * {@link KnownHiveServerType} can be used interchangeably with HiveServerType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **HiveServer1** \ * **HiveServer2** \ * **HiveThriftServer** @@ -10400,7 +10530,7 @@ export const enum KnownHiveServerType { export type HiveServerType = string; /** Known values of {@link HiveThriftTransportProtocol} that the service accepts. */ -export const enum KnownHiveThriftTransportProtocol { +export enum KnownHiveThriftTransportProtocol { Binary = "Binary", Sasl = "SASL", Http = "HTTP " @@ -10410,7 +10540,7 @@ export const enum KnownHiveThriftTransportProtocol { * Defines values for HiveThriftTransportProtocol. \ * {@link KnownHiveThriftTransportProtocol} can be used interchangeably with HiveThriftTransportProtocol, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Binary** \ * **SASL** \ * **HTTP ** @@ -10418,7 +10548,7 @@ export const enum KnownHiveThriftTransportProtocol { export type HiveThriftTransportProtocol = string; /** Known values of {@link HiveAuthenticationType} that the service accepts. */ -export const enum KnownHiveAuthenticationType { +export enum KnownHiveAuthenticationType { Anonymous = "Anonymous", Username = "Username", UsernameAndPassword = "UsernameAndPassword", @@ -10429,7 +10559,7 @@ export const enum KnownHiveAuthenticationType { * Defines values for HiveAuthenticationType. \ * {@link KnownHiveAuthenticationType} can be used interchangeably with HiveAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Anonymous** \ * **Username** \ * **UsernameAndPassword** \ @@ -10438,7 +10568,7 @@ export const enum KnownHiveAuthenticationType { export type HiveAuthenticationType = string; /** Known values of {@link ImpalaAuthenticationType} that the service accepts. */ -export const enum KnownImpalaAuthenticationType { +export enum KnownImpalaAuthenticationType { Anonymous = "Anonymous", SaslUsername = "SASLUsername", UsernameAndPassword = "UsernameAndPassword" @@ -10448,7 +10578,7 @@ export const enum KnownImpalaAuthenticationType { * Defines values for ImpalaAuthenticationType. \ * {@link KnownImpalaAuthenticationType} can be used interchangeably with ImpalaAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Anonymous** \ * **SASLUsername** \ * **UsernameAndPassword** @@ -10456,7 +10586,7 @@ export const enum KnownImpalaAuthenticationType { export type ImpalaAuthenticationType = string; /** Known values of {@link PhoenixAuthenticationType} that the service accepts. */ -export const enum KnownPhoenixAuthenticationType { +export enum KnownPhoenixAuthenticationType { Anonymous = "Anonymous", UsernameAndPassword = "UsernameAndPassword", WindowsAzureHDInsightService = "WindowsAzureHDInsightService" @@ -10466,7 +10596,7 @@ export const enum KnownPhoenixAuthenticationType { * Defines values for PhoenixAuthenticationType. \ * {@link KnownPhoenixAuthenticationType} can be used interchangeably with PhoenixAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Anonymous** \ * **UsernameAndPassword** \ * **WindowsAzureHDInsightService** @@ -10474,7 +10604,7 @@ export const enum KnownPhoenixAuthenticationType { export type PhoenixAuthenticationType = string; /** Known values of {@link PrestoAuthenticationType} that the service accepts. */ -export const enum KnownPrestoAuthenticationType { +export enum KnownPrestoAuthenticationType { Anonymous = "Anonymous", Ldap = "LDAP" } @@ -10483,14 +10613,14 @@ export const enum KnownPrestoAuthenticationType { * Defines values for PrestoAuthenticationType. \ * {@link KnownPrestoAuthenticationType} can be used interchangeably with PrestoAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Anonymous** \ * **LDAP** */ export type PrestoAuthenticationType = string; /** Known values of {@link ServiceNowAuthenticationType} that the service accepts. */ -export const enum KnownServiceNowAuthenticationType { +export enum KnownServiceNowAuthenticationType { Basic = "Basic", OAuth2 = "OAuth2" } @@ -10499,14 +10629,14 @@ export const enum KnownServiceNowAuthenticationType { * Defines values for ServiceNowAuthenticationType. \ * {@link KnownServiceNowAuthenticationType} can be used interchangeably with ServiceNowAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **OAuth2** */ export type ServiceNowAuthenticationType = string; /** Known values of {@link SparkServerType} that the service accepts. */ -export const enum KnownSparkServerType { +export enum KnownSparkServerType { SharkServer = "SharkServer", SharkServer2 = "SharkServer2", SparkThriftServer = "SparkThriftServer" @@ -10516,7 +10646,7 @@ export const enum KnownSparkServerType { * Defines values for SparkServerType. \ * {@link KnownSparkServerType} can be used interchangeably with SparkServerType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **SharkServer** \ * **SharkServer2** \ * **SparkThriftServer** @@ -10524,7 +10654,7 @@ export const enum KnownSparkServerType { export type SparkServerType = string; /** Known values of {@link SparkThriftTransportProtocol} that the service accepts. */ -export const enum KnownSparkThriftTransportProtocol { +export enum KnownSparkThriftTransportProtocol { Binary = "Binary", Sasl = "SASL", Http = "HTTP " @@ -10534,7 +10664,7 @@ export const enum KnownSparkThriftTransportProtocol { * Defines values for SparkThriftTransportProtocol. \ * {@link KnownSparkThriftTransportProtocol} can be used interchangeably with SparkThriftTransportProtocol, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Binary** \ * **SASL** \ * **HTTP ** @@ -10542,7 +10672,7 @@ export const enum KnownSparkThriftTransportProtocol { export type SparkThriftTransportProtocol = string; /** Known values of {@link SparkAuthenticationType} that the service accepts. */ -export const enum KnownSparkAuthenticationType { +export enum KnownSparkAuthenticationType { Anonymous = "Anonymous", Username = "Username", UsernameAndPassword = "UsernameAndPassword", @@ -10553,7 +10683,7 @@ export const enum KnownSparkAuthenticationType { * Defines values for SparkAuthenticationType. \ * {@link KnownSparkAuthenticationType} can be used interchangeably with SparkAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Anonymous** \ * **Username** \ * **UsernameAndPassword** \ @@ -10562,7 +10692,7 @@ export const enum KnownSparkAuthenticationType { export type SparkAuthenticationType = string; /** Known values of {@link HdiNodeTypes} that the service accepts. */ -export const enum KnownHdiNodeTypes { +export enum KnownHdiNodeTypes { Headnode = "Headnode", Workernode = "Workernode", Zookeeper = "Zookeeper" @@ -10572,7 +10702,7 @@ export const enum KnownHdiNodeTypes { * Defines values for HdiNodeTypes. \ * {@link KnownHdiNodeTypes} can be used interchangeably with HdiNodeTypes, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Headnode** \ * **Workernode** \ * **Zookeeper** @@ -10580,7 +10710,7 @@ export const enum KnownHdiNodeTypes { export type HdiNodeTypes = string; /** Known values of {@link GoogleAdWordsAuthenticationType} that the service accepts. */ -export const enum KnownGoogleAdWordsAuthenticationType { +export enum KnownGoogleAdWordsAuthenticationType { ServiceAuthentication = "ServiceAuthentication", UserAuthentication = "UserAuthentication" } @@ -10589,14 +10719,14 @@ export const enum KnownGoogleAdWordsAuthenticationType { * Defines values for GoogleAdWordsAuthenticationType. \ * {@link KnownGoogleAdWordsAuthenticationType} can be used interchangeably with GoogleAdWordsAuthenticationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **ServiceAuthentication** \ * **UserAuthentication** */ export type GoogleAdWordsAuthenticationType = string; /** Known values of {@link JsonWriteFilePattern} that the service accepts. */ -export const enum KnownJsonWriteFilePattern { +export enum KnownJsonWriteFilePattern { SetOfObjects = "setOfObjects", ArrayOfObjects = "arrayOfObjects" } @@ -10605,14 +10735,14 @@ export const enum KnownJsonWriteFilePattern { * Defines values for JsonWriteFilePattern. \ * {@link KnownJsonWriteFilePattern} can be used interchangeably with JsonWriteFilePattern, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **setOfObjects** \ * **arrayOfObjects** */ export type JsonWriteFilePattern = string; /** Known values of {@link SalesforceSourceReadBehavior} that the service accepts. */ -export const enum KnownSalesforceSourceReadBehavior { +export enum KnownSalesforceSourceReadBehavior { Query = "Query", QueryAll = "QueryAll" } @@ -10621,14 +10751,14 @@ export const enum KnownSalesforceSourceReadBehavior { * Defines values for SalesforceSourceReadBehavior. \ * {@link KnownSalesforceSourceReadBehavior} can be used interchangeably with SalesforceSourceReadBehavior, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Query** \ * **QueryAll** */ export type SalesforceSourceReadBehavior = string; /** Known values of {@link SapHanaPartitionOption} that the service accepts. */ -export const enum KnownSapHanaPartitionOption { +export enum KnownSapHanaPartitionOption { None = "None", PhysicalPartitionsOfTable = "PhysicalPartitionsOfTable", SapHanaDynamicRange = "SapHanaDynamicRange" @@ -10638,7 +10768,7 @@ export const enum KnownSapHanaPartitionOption { * Defines values for SapHanaPartitionOption. \ * {@link KnownSapHanaPartitionOption} can be used interchangeably with SapHanaPartitionOption, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **PhysicalPartitionsOfTable** \ * **SapHanaDynamicRange** @@ -10646,7 +10776,7 @@ export const enum KnownSapHanaPartitionOption { export type SapHanaPartitionOption = string; /** Known values of {@link SapTablePartitionOption} that the service accepts. */ -export const enum KnownSapTablePartitionOption { +export enum KnownSapTablePartitionOption { None = "None", PartitionOnInt = "PartitionOnInt", PartitionOnCalendarYear = "PartitionOnCalendarYear", @@ -10659,7 +10789,7 @@ export const enum KnownSapTablePartitionOption { * Defines values for SapTablePartitionOption. \ * {@link KnownSapTablePartitionOption} can be used interchangeably with SapTablePartitionOption, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **PartitionOnInt** \ * **PartitionOnCalendarYear** \ @@ -10670,7 +10800,7 @@ export const enum KnownSapTablePartitionOption { export type SapTablePartitionOption = string; /** Known values of {@link StoredProcedureParameterType} that the service accepts. */ -export const enum KnownStoredProcedureParameterType { +export enum KnownStoredProcedureParameterType { String = "String", Int = "Int", Int64 = "Int64", @@ -10684,7 +10814,7 @@ export const enum KnownStoredProcedureParameterType { * Defines values for StoredProcedureParameterType. \ * {@link KnownStoredProcedureParameterType} can be used interchangeably with StoredProcedureParameterType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **String** \ * **Int** \ * **Int64** \ @@ -10696,7 +10826,7 @@ export const enum KnownStoredProcedureParameterType { export type StoredProcedureParameterType = string; /** Known values of {@link OraclePartitionOption} that the service accepts. */ -export const enum KnownOraclePartitionOption { +export enum KnownOraclePartitionOption { None = "None", PhysicalPartitionsOfTable = "PhysicalPartitionsOfTable", DynamicRange = "DynamicRange" @@ -10706,7 +10836,7 @@ export const enum KnownOraclePartitionOption { * Defines values for OraclePartitionOption. \ * {@link KnownOraclePartitionOption} can be used interchangeably with OraclePartitionOption, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **PhysicalPartitionsOfTable** \ * **DynamicRange** @@ -10714,7 +10844,7 @@ export const enum KnownOraclePartitionOption { export type OraclePartitionOption = string; /** Known values of {@link TeradataPartitionOption} that the service accepts. */ -export const enum KnownTeradataPartitionOption { +export enum KnownTeradataPartitionOption { None = "None", Hash = "Hash", DynamicRange = "DynamicRange" @@ -10724,7 +10854,7 @@ export const enum KnownTeradataPartitionOption { * Defines values for TeradataPartitionOption. \ * {@link KnownTeradataPartitionOption} can be used interchangeably with TeradataPartitionOption, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **Hash** \ * **DynamicRange** @@ -10732,7 +10862,7 @@ export const enum KnownTeradataPartitionOption { export type TeradataPartitionOption = string; /** Known values of {@link CassandraSourceReadConsistencyLevels} that the service accepts. */ -export const enum KnownCassandraSourceReadConsistencyLevels { +export enum KnownCassandraSourceReadConsistencyLevels { ALL = "ALL", EachQuorum = "EACH_QUORUM", Quorum = "QUORUM", @@ -10749,7 +10879,7 @@ export const enum KnownCassandraSourceReadConsistencyLevels { * Defines values for CassandraSourceReadConsistencyLevels. \ * {@link KnownCassandraSourceReadConsistencyLevels} can be used interchangeably with CassandraSourceReadConsistencyLevels, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **ALL** \ * **EACH_QUORUM** \ * **QUORUM** \ @@ -10764,7 +10894,7 @@ export const enum KnownCassandraSourceReadConsistencyLevels { export type CassandraSourceReadConsistencyLevels = string; /** Known values of {@link NetezzaPartitionOption} that the service accepts. */ -export const enum KnownNetezzaPartitionOption { +export enum KnownNetezzaPartitionOption { None = "None", DataSlice = "DataSlice", DynamicRange = "DynamicRange" @@ -10774,7 +10904,7 @@ export const enum KnownNetezzaPartitionOption { * Defines values for NetezzaPartitionOption. \ * {@link KnownNetezzaPartitionOption} can be used interchangeably with NetezzaPartitionOption, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **DataSlice** \ * **DynamicRange** @@ -10782,7 +10912,7 @@ export const enum KnownNetezzaPartitionOption { export type NetezzaPartitionOption = string; /** Known values of {@link SapCloudForCustomerSinkWriteBehavior} that the service accepts. */ -export const enum KnownSapCloudForCustomerSinkWriteBehavior { +export enum KnownSapCloudForCustomerSinkWriteBehavior { Insert = "Insert", Update = "Update" } @@ -10791,14 +10921,14 @@ export const enum KnownSapCloudForCustomerSinkWriteBehavior { * Defines values for SapCloudForCustomerSinkWriteBehavior. \ * {@link KnownSapCloudForCustomerSinkWriteBehavior} can be used interchangeably with SapCloudForCustomerSinkWriteBehavior, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Insert** \ * **Update** */ export type SapCloudForCustomerSinkWriteBehavior = string; /** Known values of {@link PolybaseSettingsRejectType} that the service accepts. */ -export const enum KnownPolybaseSettingsRejectType { +export enum KnownPolybaseSettingsRejectType { Value = "value", Percentage = "percentage" } @@ -10807,14 +10937,14 @@ export const enum KnownPolybaseSettingsRejectType { * Defines values for PolybaseSettingsRejectType. \ * {@link KnownPolybaseSettingsRejectType} can be used interchangeably with PolybaseSettingsRejectType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **value** \ * **percentage** */ export type PolybaseSettingsRejectType = string; /** Known values of {@link AzureSearchIndexWriteBehaviorType} that the service accepts. */ -export const enum KnownAzureSearchIndexWriteBehaviorType { +export enum KnownAzureSearchIndexWriteBehaviorType { Merge = "Merge", Upload = "Upload" } @@ -10823,14 +10953,14 @@ export const enum KnownAzureSearchIndexWriteBehaviorType { * Defines values for AzureSearchIndexWriteBehaviorType. \ * {@link KnownAzureSearchIndexWriteBehaviorType} can be used interchangeably with AzureSearchIndexWriteBehaviorType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Merge** \ * **Upload** */ export type AzureSearchIndexWriteBehaviorType = string; /** Known values of {@link DynamicsSinkWriteBehavior} that the service accepts. */ -export const enum KnownDynamicsSinkWriteBehavior { +export enum KnownDynamicsSinkWriteBehavior { Upsert = "Upsert" } @@ -10838,13 +10968,13 @@ export const enum KnownDynamicsSinkWriteBehavior { * Defines values for DynamicsSinkWriteBehavior. \ * {@link KnownDynamicsSinkWriteBehavior} can be used interchangeably with DynamicsSinkWriteBehavior, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Upsert** */ export type DynamicsSinkWriteBehavior = string; /** Known values of {@link SalesforceSinkWriteBehavior} that the service accepts. */ -export const enum KnownSalesforceSinkWriteBehavior { +export enum KnownSalesforceSinkWriteBehavior { Insert = "Insert", Upsert = "Upsert" } @@ -10853,14 +10983,14 @@ export const enum KnownSalesforceSinkWriteBehavior { * Defines values for SalesforceSinkWriteBehavior. \ * {@link KnownSalesforceSinkWriteBehavior} can be used interchangeably with SalesforceSinkWriteBehavior, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Insert** \ * **Upsert** */ export type SalesforceSinkWriteBehavior = string; /** Known values of {@link HDInsightActivityDebugInfoOption} that the service accepts. */ -export const enum KnownHDInsightActivityDebugInfoOption { +export enum KnownHDInsightActivityDebugInfoOption { None = "None", Always = "Always", Failure = "Failure" @@ -10870,7 +11000,7 @@ export const enum KnownHDInsightActivityDebugInfoOption { * Defines values for HDInsightActivityDebugInfoOption. \ * {@link KnownHDInsightActivityDebugInfoOption} can be used interchangeably with HDInsightActivityDebugInfoOption, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **Always** \ * **Failure** @@ -10878,7 +11008,7 @@ export const enum KnownHDInsightActivityDebugInfoOption { export type HDInsightActivityDebugInfoOption = string; /** Known values of {@link SsisPackageLocationType} that the service accepts. */ -export const enum KnownSsisPackageLocationType { +export enum KnownSsisPackageLocationType { Ssisdb = "SSISDB", File = "File", InlinePackage = "InlinePackage", @@ -10889,7 +11019,7 @@ export const enum KnownSsisPackageLocationType { * Defines values for SsisPackageLocationType. \ * {@link KnownSsisPackageLocationType} can be used interchangeably with SsisPackageLocationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **SSISDB** \ * **File** \ * **InlinePackage** \ @@ -10898,7 +11028,7 @@ export const enum KnownSsisPackageLocationType { export type SsisPackageLocationType = string; /** Known values of {@link SsisLogLocationType} that the service accepts. */ -export const enum KnownSsisLogLocationType { +export enum KnownSsisLogLocationType { File = "File" } @@ -10906,13 +11036,13 @@ export const enum KnownSsisLogLocationType { * Defines values for SsisLogLocationType. \ * {@link KnownSsisLogLocationType} can be used interchangeably with SsisLogLocationType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **File** */ export type SsisLogLocationType = string; /** Known values of {@link WebActivityMethod} that the service accepts. */ -export const enum KnownWebActivityMethod { +export enum KnownWebActivityMethod { GET = "GET", Post = "POST", PUT = "PUT", @@ -10923,7 +11053,7 @@ export const enum KnownWebActivityMethod { * Defines values for WebActivityMethod. \ * {@link KnownWebActivityMethod} can be used interchangeably with WebActivityMethod, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **GET** \ * **POST** \ * **PUT** \ @@ -10932,7 +11062,7 @@ export const enum KnownWebActivityMethod { export type WebActivityMethod = string; /** Known values of {@link AzureFunctionActivityMethod} that the service accepts. */ -export const enum KnownAzureFunctionActivityMethod { +export enum KnownAzureFunctionActivityMethod { GET = "GET", Post = "POST", PUT = "PUT", @@ -10946,7 +11076,7 @@ export const enum KnownAzureFunctionActivityMethod { * Defines values for AzureFunctionActivityMethod. \ * {@link KnownAzureFunctionActivityMethod} can be used interchangeably with AzureFunctionActivityMethod, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **GET** \ * **POST** \ * **PUT** \ @@ -10958,7 +11088,7 @@ export const enum KnownAzureFunctionActivityMethod { export type AzureFunctionActivityMethod = string; /** Known values of {@link WebHookActivityMethod} that the service accepts. */ -export const enum KnownWebHookActivityMethod { +export enum KnownWebHookActivityMethod { Post = "POST" } @@ -10966,13 +11096,13 @@ export const enum KnownWebHookActivityMethod { * Defines values for WebHookActivityMethod. \ * {@link KnownWebHookActivityMethod} can be used interchangeably with WebHookActivityMethod, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **POST** */ export type WebHookActivityMethod = string; /** Known values of {@link DataFlowComputeType} that the service accepts. */ -export const enum KnownDataFlowComputeType { +export enum KnownDataFlowComputeType { General = "General", MemoryOptimized = "MemoryOptimized", ComputeOptimized = "ComputeOptimized" @@ -10982,7 +11112,7 @@ export const enum KnownDataFlowComputeType { * Defines values for DataFlowComputeType. \ * {@link KnownDataFlowComputeType} can be used interchangeably with DataFlowComputeType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **General** \ * **MemoryOptimized** \ * **ComputeOptimized** @@ -10990,7 +11120,7 @@ export const enum KnownDataFlowComputeType { export type DataFlowComputeType = string; /** Known values of {@link RecurrenceFrequency} that the service accepts. */ -export const enum KnownRecurrenceFrequency { +export enum KnownRecurrenceFrequency { NotSpecified = "NotSpecified", Minute = "Minute", Hour = "Hour", @@ -11004,7 +11134,7 @@ export const enum KnownRecurrenceFrequency { * Defines values for RecurrenceFrequency. \ * {@link KnownRecurrenceFrequency} can be used interchangeably with RecurrenceFrequency, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **NotSpecified** \ * **Minute** \ * **Hour** \ @@ -11016,7 +11146,7 @@ export const enum KnownRecurrenceFrequency { export type RecurrenceFrequency = string; /** Known values of {@link BlobEventType} that the service accepts. */ -export const enum KnownBlobEventType { +export enum KnownBlobEventType { MicrosoftStorageBlobCreated = "Microsoft.Storage.BlobCreated", MicrosoftStorageBlobDeleted = "Microsoft.Storage.BlobDeleted" } @@ -11025,14 +11155,14 @@ export const enum KnownBlobEventType { * Defines values for BlobEventType. \ * {@link KnownBlobEventType} can be used interchangeably with BlobEventType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Microsoft.Storage.BlobCreated** \ * **Microsoft.Storage.BlobDeleted** */ export type BlobEventType = string; /** Known values of {@link TumblingWindowFrequency} that the service accepts. */ -export const enum KnownTumblingWindowFrequency { +export enum KnownTumblingWindowFrequency { Minute = "Minute", Hour = "Hour", Month = "Month" @@ -11042,7 +11172,7 @@ export const enum KnownTumblingWindowFrequency { * Defines values for TumblingWindowFrequency. \ * {@link KnownTumblingWindowFrequency} can be used interchangeably with TumblingWindowFrequency, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Minute** \ * **Hour** \ * **Month** @@ -11050,7 +11180,7 @@ export const enum KnownTumblingWindowFrequency { export type TumblingWindowFrequency = string; /** Known values of {@link TriggerReferenceType} that the service accepts. */ -export const enum KnownTriggerReferenceType { +export enum KnownTriggerReferenceType { TriggerReference = "TriggerReference" } @@ -11058,13 +11188,13 @@ export const enum KnownTriggerReferenceType { * Defines values for TriggerReferenceType. \ * {@link KnownTriggerReferenceType} can be used interchangeably with TriggerReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **TriggerReference** */ export type TriggerReferenceType = string; /** Known values of {@link IntegrationRuntimeState} that the service accepts. */ -export const enum KnownIntegrationRuntimeState { +export enum KnownIntegrationRuntimeState { Initial = "Initial", Stopped = "Stopped", Started = "Started", @@ -11081,7 +11211,7 @@ export const enum KnownIntegrationRuntimeState { * Defines values for IntegrationRuntimeState. \ * {@link KnownIntegrationRuntimeState} can be used interchangeably with IntegrationRuntimeState, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Initial** \ * **Stopped** \ * **Started** \ @@ -11096,7 +11226,7 @@ export const enum KnownIntegrationRuntimeState { export type IntegrationRuntimeState = string; /** Known values of {@link IntegrationRuntimeSsisCatalogPricingTier} that the service accepts. */ -export const enum KnownIntegrationRuntimeSsisCatalogPricingTier { +export enum KnownIntegrationRuntimeSsisCatalogPricingTier { Basic = "Basic", Standard = "Standard", Premium = "Premium", @@ -11107,7 +11237,7 @@ export const enum KnownIntegrationRuntimeSsisCatalogPricingTier { * Defines values for IntegrationRuntimeSsisCatalogPricingTier. \ * {@link KnownIntegrationRuntimeSsisCatalogPricingTier} can be used interchangeably with IntegrationRuntimeSsisCatalogPricingTier, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Basic** \ * **Standard** \ * **Premium** \ @@ -11116,7 +11246,7 @@ export const enum KnownIntegrationRuntimeSsisCatalogPricingTier { export type IntegrationRuntimeSsisCatalogPricingTier = string; /** Known values of {@link IntegrationRuntimeLicenseType} that the service accepts. */ -export const enum KnownIntegrationRuntimeLicenseType { +export enum KnownIntegrationRuntimeLicenseType { BasePrice = "BasePrice", LicenseIncluded = "LicenseIncluded" } @@ -11125,14 +11255,14 @@ export const enum KnownIntegrationRuntimeLicenseType { * Defines values for IntegrationRuntimeLicenseType. \ * {@link KnownIntegrationRuntimeLicenseType} can be used interchangeably with IntegrationRuntimeLicenseType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **BasePrice** \ * **LicenseIncluded** */ export type IntegrationRuntimeLicenseType = string; /** Known values of {@link IntegrationRuntimeEntityReferenceType} that the service accepts. */ -export const enum KnownIntegrationRuntimeEntityReferenceType { +export enum KnownIntegrationRuntimeEntityReferenceType { IntegrationRuntimeReference = "IntegrationRuntimeReference", LinkedServiceReference = "LinkedServiceReference" } @@ -11141,14 +11271,14 @@ export const enum KnownIntegrationRuntimeEntityReferenceType { * Defines values for IntegrationRuntimeEntityReferenceType. \ * {@link KnownIntegrationRuntimeEntityReferenceType} can be used interchangeably with IntegrationRuntimeEntityReferenceType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **IntegrationRuntimeReference** \ * **LinkedServiceReference** */ export type IntegrationRuntimeEntityReferenceType = string; /** Known values of {@link IntegrationRuntimeEdition} that the service accepts. */ -export const enum KnownIntegrationRuntimeEdition { +export enum KnownIntegrationRuntimeEdition { Standard = "Standard", Enterprise = "Enterprise" } @@ -11157,14 +11287,14 @@ export const enum KnownIntegrationRuntimeEdition { * Defines values for IntegrationRuntimeEdition. \ * {@link KnownIntegrationRuntimeEdition} can be used interchangeably with IntegrationRuntimeEdition, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Standard** \ * **Enterprise** */ export type IntegrationRuntimeEdition = string; /** Known values of {@link DatasetCompressionLevel} that the service accepts. */ -export const enum KnownDatasetCompressionLevel { +export enum KnownDatasetCompressionLevel { Optimal = "Optimal", Fastest = "Fastest" } @@ -11173,14 +11303,14 @@ export const enum KnownDatasetCompressionLevel { * Defines values for DatasetCompressionLevel. \ * {@link KnownDatasetCompressionLevel} can be used interchangeably with DatasetCompressionLevel, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Optimal** \ * **Fastest** */ export type DatasetCompressionLevel = string; /** Known values of {@link AvroCompressionCodec} that the service accepts. */ -export const enum KnownAvroCompressionCodec { +export enum KnownAvroCompressionCodec { None = "none", Deflate = "deflate", Snappy = "snappy", @@ -11192,7 +11322,7 @@ export const enum KnownAvroCompressionCodec { * Defines values for AvroCompressionCodec. \ * {@link KnownAvroCompressionCodec} can be used interchangeably with AvroCompressionCodec, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **none** \ * **deflate** \ * **snappy** \ @@ -11202,7 +11332,7 @@ export const enum KnownAvroCompressionCodec { export type AvroCompressionCodec = string; /** Known values of {@link ParquetCompressionCodecEnum} that the service accepts. */ -export const enum KnownParquetCompressionCodecEnum { +export enum KnownParquetCompressionCodecEnum { None = "none", Gzip = "gzip", Snappy = "snappy", @@ -11213,7 +11343,7 @@ export const enum KnownParquetCompressionCodecEnum { * Defines values for ParquetCompressionCodecEnum. \ * {@link KnownParquetCompressionCodecEnum} can be used interchangeably with ParquetCompressionCodecEnum, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **none** \ * **gzip** \ * **snappy** \ @@ -11222,7 +11352,7 @@ export const enum KnownParquetCompressionCodecEnum { export type ParquetCompressionCodecEnum = string; /** Known values of {@link CopyBehaviorType} that the service accepts. */ -export const enum KnownCopyBehaviorType { +export enum KnownCopyBehaviorType { PreserveHierarchy = "PreserveHierarchy", FlattenHierarchy = "FlattenHierarchy", MergeFiles = "MergeFiles" @@ -11232,7 +11362,7 @@ export const enum KnownCopyBehaviorType { * Defines values for CopyBehaviorType. \ * {@link KnownCopyBehaviorType} can be used interchangeably with CopyBehaviorType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **PreserveHierarchy** \ * **FlattenHierarchy** \ * **MergeFiles** @@ -11240,7 +11370,7 @@ export const enum KnownCopyBehaviorType { export type CopyBehaviorType = string; /** Known values of {@link SqlPartitionOption} that the service accepts. */ -export const enum KnownSqlPartitionOption { +export enum KnownSqlPartitionOption { None = "None", PhysicalPartitionsOfTable = "PhysicalPartitionsOfTable", DynamicRange = "DynamicRange" @@ -11250,7 +11380,7 @@ export const enum KnownSqlPartitionOption { * Defines values for SqlPartitionOption. \ * {@link KnownSqlPartitionOption} can be used interchangeably with SqlPartitionOption, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **None** \ * **PhysicalPartitionsOfTable** \ * **DynamicRange** @@ -11268,183 +11398,170 @@ export type DayOfWeek = | "Friday" | "Saturday"; +/** Optional parameters. */ +export interface LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + /** Contains response data for the getLinkedServicesByWorkspace operation. */ -export type LinkedServiceGetLinkedServicesByWorkspaceResponse = LinkedServiceListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: LinkedServiceListResponse; - }; -}; +export type LinkedServiceOperationsGetLinkedServicesByWorkspaceResponse = LinkedServiceListResponse; /** Optional parameters. */ -export interface LinkedServiceCreateOrUpdateLinkedServiceOptionalParams - extends coreHttp.OperationOptions { +export interface LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams + extends coreClient.OperationOptions { /** ETag of the linkedService entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update. */ 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 createOrUpdateLinkedService operation. */ -export type LinkedServiceCreateOrUpdateLinkedServiceResponse = LinkedServiceResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: LinkedServiceResource; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse = LinkedServiceResource; /** Optional parameters. */ -export interface LinkedServiceGetLinkedServiceOptionalParams extends coreHttp.OperationOptions { +export interface LinkedServiceOperationsGetLinkedServiceOptionalParams + extends coreClient.OperationOptions { /** ETag of the linked service entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. */ ifNoneMatch?: string; } /** Contains response data for the getLinkedService operation. */ -export type LinkedServiceGetLinkedServiceResponse = LinkedServiceResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: LinkedServiceResource; - }; -}; +export type LinkedServiceOperationsGetLinkedServiceResponse = LinkedServiceResource; + +/** Optional parameters. */ +export interface LinkedServiceOperationsDeleteLinkedServiceOptionalParams + extends coreClient.OperationOptions { + /** 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 LinkedServiceOperationsRenameLinkedServiceOptionalParams + extends coreClient.OperationOptions { + /** 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 LinkedServiceOperationsGetLinkedServicesByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getLinkedServicesByWorkspaceNext operation. */ -export type LinkedServiceGetLinkedServicesByWorkspaceNextResponse = LinkedServiceListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: LinkedServiceListResponse; - }; -}; +export type LinkedServiceOperationsGetLinkedServicesByWorkspaceNextResponse = LinkedServiceListResponse; + +/** Optional parameters. */ +export interface DatasetOperationsGetDatasetsByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getDatasetsByWorkspace operation. */ -export type DatasetGetDatasetsByWorkspaceResponse = DatasetListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DatasetListResponse; - }; -}; +export type DatasetOperationsGetDatasetsByWorkspaceResponse = DatasetListResponse; /** Optional parameters. */ -export interface DatasetCreateOrUpdateDatasetOptionalParams extends coreHttp.OperationOptions { +export interface DatasetOperationsCreateOrUpdateDatasetOptionalParams + extends coreClient.OperationOptions { /** ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update. */ 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 createOrUpdateDataset operation. */ -export type DatasetCreateOrUpdateDatasetResponse = DatasetResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DatasetResource; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type DatasetOperationsCreateOrUpdateDatasetResponse = DatasetResource; /** Optional parameters. */ -export interface DatasetGetDatasetOptionalParams extends coreHttp.OperationOptions { +export interface DatasetOperationsGetDatasetOptionalParams + extends coreClient.OperationOptions { /** ETag of the dataset entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. */ ifNoneMatch?: string; } /** Contains response data for the getDataset operation. */ -export type DatasetGetDatasetResponse = DatasetResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DatasetResource; - }; -}; +export type DatasetOperationsGetDatasetResponse = DatasetResource; + +/** Optional parameters. */ +export interface DatasetOperationsDeleteDatasetOptionalParams + extends coreClient.OperationOptions { + /** 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 DatasetOperationsRenameDatasetOptionalParams + extends coreClient.OperationOptions { + /** 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 DatasetOperationsGetDatasetsByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getDatasetsByWorkspaceNext operation. */ -export type DatasetGetDatasetsByWorkspaceNextResponse = DatasetListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DatasetListResponse; - }; -}; +export type DatasetOperationsGetDatasetsByWorkspaceNextResponse = DatasetListResponse; + +/** Optional parameters. */ +export interface PipelineOperationsGetPipelinesByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getPipelinesByWorkspace operation. */ -export type PipelineGetPipelinesByWorkspaceResponse = PipelineListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: PipelineListResponse; - }; -}; +export type PipelineOperationsGetPipelinesByWorkspaceResponse = PipelineListResponse; /** Optional parameters. */ -export interface PipelineCreateOrUpdatePipelineOptionalParams extends coreHttp.OperationOptions { +export interface PipelineOperationsCreateOrUpdatePipelineOptionalParams + extends coreClient.OperationOptions { /** ETag of the pipeline entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update. */ 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 createOrUpdatePipeline operation. */ -export type PipelineCreateOrUpdatePipelineResponse = PipelineResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: PipelineResource; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type PipelineOperationsCreateOrUpdatePipelineResponse = PipelineResource; /** Optional parameters. */ -export interface PipelineGetPipelineOptionalParams extends coreHttp.OperationOptions { +export interface PipelineOperationsGetPipelineOptionalParams + extends coreClient.OperationOptions { /** ETag of the pipeline entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. */ ifNoneMatch?: string; } /** Contains response data for the getPipeline operation. */ -export type PipelineGetPipelineResponse = PipelineResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: PipelineResource; - }; -}; +export type PipelineOperationsGetPipelineResponse = PipelineResource; + +/** Optional parameters. */ +export interface PipelineOperationsDeletePipelineOptionalParams + extends coreClient.OperationOptions { + /** 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 PipelineOperationsRenamePipelineOptionalParams + extends coreClient.OperationOptions { + /** 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 PipelineCreatePipelineRunOptionalParams extends coreHttp.OperationOptions { +export interface PipelineOperationsCreatePipelineRunOptionalParams + extends coreClient.OperationOptions { /** Parameters of the pipeline run. These parameters will be used only if the runId is not specified. */ parameters?: { [propertyName: string]: any }; /** The pipeline run identifier. If run ID is specified the parameters of the specified run will be used to create a new run. */ @@ -11456,710 +11573,588 @@ export interface PipelineCreatePipelineRunOptionalParams extends coreHttp.Operat } /** Contains response data for the createPipelineRun operation. */ -export type PipelineCreatePipelineRunResponse = CreateRunResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: CreateRunResponse; - }; -}; +export type PipelineOperationsCreatePipelineRunResponse = CreateRunResponse; + +/** Optional parameters. */ +export interface PipelineOperationsGetPipelinesByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getPipelinesByWorkspaceNext operation. */ -export type PipelineGetPipelinesByWorkspaceNextResponse = PipelineListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: PipelineListResponse; - }; -}; +export type PipelineOperationsGetPipelinesByWorkspaceNextResponse = PipelineListResponse; + +/** Optional parameters. */ +export interface PipelineRunOperationsQueryPipelineRunsByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the queryPipelineRunsByWorkspace operation. */ -export type PipelineRunQueryPipelineRunsByWorkspaceResponse = PipelineRunsQueryResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: PipelineRunsQueryResponse; - }; -}; +export type PipelineRunOperationsQueryPipelineRunsByWorkspaceResponse = PipelineRunsQueryResponse; + +/** Optional parameters. */ +export interface PipelineRunOperationsGetPipelineRunOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getPipelineRun operation. */ -export type PipelineRunGetPipelineRunResponse = PipelineRun & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: PipelineRun; - }; -}; +export type PipelineRunOperationsGetPipelineRunResponse = PipelineRun; + +/** Optional parameters. */ +export interface PipelineRunOperationsQueryActivityRunsOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the queryActivityRuns operation. */ -export type PipelineRunQueryActivityRunsResponse = ActivityRunsQueryResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: ActivityRunsQueryResponse; - }; -}; +export type PipelineRunOperationsQueryActivityRunsResponse = ActivityRunsQueryResponse; /** Optional parameters. */ -export interface PipelineRunCancelPipelineRunOptionalParams extends coreHttp.OperationOptions { +export interface PipelineRunOperationsCancelPipelineRunOptionalParams + extends coreClient.OperationOptions { /** If true, cancel all the Child pipelines that are triggered by the current pipeline. */ isRecursive?: boolean; } +/** Optional parameters. */ +export interface TriggerOperationsGetTriggersByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + /** Contains response data for the getTriggersByWorkspace operation. */ -export type TriggerGetTriggersByWorkspaceResponse = TriggerListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: TriggerListResponse; - }; -}; +export type TriggerOperationsGetTriggersByWorkspaceResponse = TriggerListResponse; /** Optional parameters. */ -export interface TriggerCreateOrUpdateTriggerOptionalParams extends coreHttp.OperationOptions { +export interface TriggerOperationsCreateOrUpdateTriggerOptionalParams + extends coreClient.OperationOptions { /** ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update. */ 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 createOrUpdateTrigger operation. */ -export type TriggerCreateOrUpdateTriggerResponse = TriggerResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: TriggerResource; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type TriggerOperationsCreateOrUpdateTriggerResponse = TriggerResource; /** Optional parameters. */ -export interface TriggerGetTriggerOptionalParams extends coreHttp.OperationOptions { +export interface TriggerOperationsGetTriggerOptionalParams + extends coreClient.OperationOptions { /** ETag of the trigger entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. */ ifNoneMatch?: string; } /** Contains response data for the getTrigger operation. */ -export type TriggerGetTriggerResponse = TriggerResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: TriggerResource; - }; -}; +export type TriggerOperationsGetTriggerResponse = TriggerResource; + +/** Optional parameters. */ +export interface TriggerOperationsDeleteTriggerOptionalParams + extends coreClient.OperationOptions { + /** 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 TriggerOperationsSubscribeTriggerToEventsOptionalParams + extends coreClient.OperationOptions { + /** 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 subscribeTriggerToEvents operation. */ -export type TriggerSubscribeTriggerToEventsResponse = TriggerSubscriptionOperationStatus & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: TriggerSubscriptionOperationStatus; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type TriggerOperationsSubscribeTriggerToEventsResponse = TriggerSubscriptionOperationStatus; + +/** Optional parameters. */ +export interface TriggerOperationsGetEventSubscriptionStatusOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getEventSubscriptionStatus operation. */ -export type TriggerGetEventSubscriptionStatusResponse = TriggerSubscriptionOperationStatus & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: TriggerSubscriptionOperationStatus; - }; -}; +export type TriggerOperationsGetEventSubscriptionStatusResponse = TriggerSubscriptionOperationStatus; + +/** Optional parameters. */ +export interface TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams + extends coreClient.OperationOptions { + /** 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 unsubscribeTriggerFromEvents operation. */ -export type TriggerUnsubscribeTriggerFromEventsResponse = TriggerSubscriptionOperationStatus & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: TriggerSubscriptionOperationStatus; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type TriggerOperationsUnsubscribeTriggerFromEventsResponse = TriggerSubscriptionOperationStatus; + +/** Optional parameters. */ +export interface TriggerOperationsStartTriggerOptionalParams + extends coreClient.OperationOptions { + /** 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 TriggerOperationsStopTriggerOptionalParams + extends coreClient.OperationOptions { + /** 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 TriggerOperationsGetTriggersByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getTriggersByWorkspaceNext operation. */ -export type TriggerGetTriggersByWorkspaceNextResponse = TriggerListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: TriggerListResponse; - }; -}; +export type TriggerOperationsGetTriggersByWorkspaceNextResponse = TriggerListResponse; + +/** Optional parameters. */ +export interface TriggerRunOperationsRerunTriggerInstanceOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface TriggerRunOperationsCancelTriggerInstanceOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface TriggerRunOperationsQueryTriggerRunsByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the queryTriggerRunsByWorkspace operation. */ -export type TriggerRunQueryTriggerRunsByWorkspaceResponse = TriggerRunsQueryResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: TriggerRunsQueryResponse; - }; -}; +export type TriggerRunOperationsQueryTriggerRunsByWorkspaceResponse = TriggerRunsQueryResponse; /** Optional parameters. */ -export interface DataFlowCreateOrUpdateDataFlowOptionalParams extends coreHttp.OperationOptions { +export interface DataFlowOperationsCreateOrUpdateDataFlowOptionalParams + extends coreClient.OperationOptions { /** ETag of the data flow entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update. */ 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 createOrUpdateDataFlow operation. */ -export type DataFlowCreateOrUpdateDataFlowResponse = DataFlowResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DataFlowResource; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type DataFlowOperationsCreateOrUpdateDataFlowResponse = DataFlowResource; /** Optional parameters. */ -export interface DataFlowGetDataFlowOptionalParams extends coreHttp.OperationOptions { +export interface DataFlowOperationsGetDataFlowOptionalParams + extends coreClient.OperationOptions { /** ETag of the data flow entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. */ ifNoneMatch?: string; } /** Contains response data for the getDataFlow operation. */ -export type DataFlowGetDataFlowResponse = DataFlowResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DataFlowResource; - }; -}; +export type DataFlowOperationsGetDataFlowResponse = DataFlowResource; + +/** Optional parameters. */ +export interface DataFlowOperationsDeleteDataFlowOptionalParams + extends coreClient.OperationOptions { + /** 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 DataFlowOperationsRenameDataFlowOptionalParams + extends coreClient.OperationOptions { + /** 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 DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getDataFlowsByWorkspace operation. */ -export type DataFlowGetDataFlowsByWorkspaceResponse = DataFlowListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DataFlowListResponse; - }; -}; +export type DataFlowOperationsGetDataFlowsByWorkspaceResponse = DataFlowListResponse; + +/** Optional parameters. */ +export interface DataFlowOperationsGetDataFlowsByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getDataFlowsByWorkspaceNext operation. */ -export type DataFlowGetDataFlowsByWorkspaceNextResponse = DataFlowListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DataFlowListResponse; - }; -}; +export type DataFlowOperationsGetDataFlowsByWorkspaceNextResponse = DataFlowListResponse; + +/** Optional parameters. */ +export interface DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams + extends coreClient.OperationOptions { + /** 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 createDataFlowDebugSession operation. */ -export type DataFlowDebugSessionCreateDataFlowDebugSessionResponse = CreateDataFlowDebugSessionResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: CreateDataFlowDebugSessionResponse; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type DataFlowDebugSessionCreateDataFlowDebugSessionResponse = CreateDataFlowDebugSessionResponse; + +/** Optional parameters. */ +export interface DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the queryDataFlowDebugSessionsByWorkspace operation. */ -export type DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceResponse = QueryDataFlowDebugSessionsResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: QueryDataFlowDebugSessionsResponse; - }; -}; +export type DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceResponse = QueryDataFlowDebugSessionsResponse; + +/** Optional parameters. */ +export interface DataFlowDebugSessionAddDataFlowOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the addDataFlow operation. */ -export type DataFlowDebugSessionAddDataFlowResponse = AddDataFlowToDebugSessionResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: AddDataFlowToDebugSessionResponse; - }; -}; +export type DataFlowDebugSessionAddDataFlowResponse = AddDataFlowToDebugSessionResponse; + +/** Optional parameters. */ +export interface DataFlowDebugSessionDeleteDataFlowDebugSessionOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface DataFlowDebugSessionExecuteCommandOptionalParams + extends coreClient.OperationOptions { + /** 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 executeCommand operation. */ -export type DataFlowDebugSessionExecuteCommandResponse = DataFlowDebugCommandResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: DataFlowDebugCommandResponse; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type DataFlowDebugSessionExecuteCommandResponse = DataFlowDebugCommandResponse; + +/** Optional parameters. */ +export interface DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the queryDataFlowDebugSessionsByWorkspaceNext operation. */ -export type DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextResponse = QueryDataFlowDebugSessionsResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: QueryDataFlowDebugSessionsResponse; - }; -}; +export type DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextResponse = QueryDataFlowDebugSessionsResponse; + +/** Optional parameters. */ +export interface SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getSqlScriptsByWorkspace operation. */ -export type SqlScriptGetSqlScriptsByWorkspaceResponse = SqlScriptsListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SqlScriptsListResponse; - }; -}; +export type SqlScriptOperationsGetSqlScriptsByWorkspaceResponse = SqlScriptsListResponse; /** Optional parameters. */ -export interface SqlScriptCreateOrUpdateSqlScriptOptionalParams extends coreHttp.OperationOptions { +export interface SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams + extends coreClient.OperationOptions { /** ETag of the SQL script entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update. */ 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 createOrUpdateSqlScript operation. */ -export type SqlScriptCreateOrUpdateSqlScriptResponse = SqlScriptResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SqlScriptResource; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type SqlScriptOperationsCreateOrUpdateSqlScriptResponse = SqlScriptResource; /** Optional parameters. */ -export interface SqlScriptGetSqlScriptOptionalParams extends coreHttp.OperationOptions { +export interface SqlScriptOperationsGetSqlScriptOptionalParams + extends coreClient.OperationOptions { /** ETag of the sql compute entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. */ ifNoneMatch?: string; } /** Contains response data for the getSqlScript operation. */ -export type SqlScriptGetSqlScriptResponse = SqlScriptResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SqlScriptResource; - }; -}; +export type SqlScriptOperationsGetSqlScriptResponse = SqlScriptResource; + +/** Optional parameters. */ +export interface SqlScriptOperationsDeleteSqlScriptOptionalParams + extends coreClient.OperationOptions { + /** 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 SqlScriptOperationsRenameSqlScriptOptionalParams + extends coreClient.OperationOptions { + /** 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 SqlScriptOperationsGetSqlScriptsByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getSqlScriptsByWorkspaceNext operation. */ -export type SqlScriptGetSqlScriptsByWorkspaceNextResponse = SqlScriptsListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SqlScriptsListResponse; - }; -}; +export type SqlScriptOperationsGetSqlScriptsByWorkspaceNextResponse = SqlScriptsListResponse; + +/** Optional parameters. */ +export interface SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getSparkJobDefinitionsByWorkspace operation. */ -export type SparkJobDefinitionGetSparkJobDefinitionsByWorkspaceResponse = SparkJobDefinitionsListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkJobDefinitionsListResponse; - }; -}; +export type SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceResponse = SparkJobDefinitionsListResponse; /** Optional parameters. */ -export interface SparkJobDefinitionCreateOrUpdateSparkJobDefinitionOptionalParams - extends coreHttp.OperationOptions { +export interface SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams + extends coreClient.OperationOptions { /** ETag of the Spark Job Definition entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update. */ 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 createOrUpdateSparkJobDefinition operation. */ -export type SparkJobDefinitionCreateOrUpdateSparkJobDefinitionResponse = SparkJobDefinitionResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkJobDefinitionResource; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse = SparkJobDefinitionResource; /** Optional parameters. */ -export interface SparkJobDefinitionGetSparkJobDefinitionOptionalParams - extends coreHttp.OperationOptions { +export interface SparkJobDefinitionOperationsGetSparkJobDefinitionOptionalParams + extends coreClient.OperationOptions { /** ETag of the Spark Job Definition entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. */ ifNoneMatch?: string; } /** Contains response data for the getSparkJobDefinition operation. */ -export type SparkJobDefinitionGetSparkJobDefinitionResponse = SparkJobDefinitionResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkJobDefinitionResource; - }; -}; +export type SparkJobDefinitionOperationsGetSparkJobDefinitionResponse = SparkJobDefinitionResource; + +/** Optional parameters. */ +export interface SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams + extends coreClient.OperationOptions { + /** 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 SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams + extends coreClient.OperationOptions { + /** 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 executeSparkJobDefinition operation. */ -export type SparkJobDefinitionExecuteSparkJobDefinitionResponse = SparkBatchJob & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkBatchJob; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse = SparkBatchJob; + +/** Optional parameters. */ +export interface SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams + extends coreClient.OperationOptions { + /** 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 SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams + extends coreClient.OperationOptions { + /** 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 debugSparkJobDefinition operation. */ -export type SparkJobDefinitionDebugSparkJobDefinitionResponse = SparkBatchJob & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkBatchJob; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse = SparkBatchJob; + +/** Optional parameters. */ +export interface SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getSparkJobDefinitionsByWorkspaceNext operation. */ -export type SparkJobDefinitionGetSparkJobDefinitionsByWorkspaceNextResponse = SparkJobDefinitionsListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkJobDefinitionsListResponse; - }; -}; +export type SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextResponse = SparkJobDefinitionsListResponse; + +/** Optional parameters. */ +export interface NotebookOperationsGetNotebooksByWorkspaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getNotebooksByWorkspace operation. */ -export type NotebookGetNotebooksByWorkspaceResponse = NotebookListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: NotebookListResponse; - }; -}; +export type NotebookOperationsGetNotebooksByWorkspaceResponse = NotebookListResponse; + +/** Optional parameters. */ +export interface NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getNotebookSummaryByWorkSpace operation. */ -export type NotebookGetNotebookSummaryByWorkSpaceResponse = NotebookListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: NotebookListResponse; - }; -}; +export type NotebookOperationsGetNotebookSummaryByWorkSpaceResponse = NotebookListResponse; /** Optional parameters. */ -export interface NotebookCreateOrUpdateNotebookOptionalParams extends coreHttp.OperationOptions { +export interface NotebookOperationsCreateOrUpdateNotebookOptionalParams + extends coreClient.OperationOptions { /** ETag of the Note book entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update. */ 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 createOrUpdateNotebook operation. */ -export type NotebookCreateOrUpdateNotebookResponse = NotebookResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: NotebookResource; - /** The parsed HTTP response headers. */ - [LROSYM]: LROResponseInfo; - }; -}; +export type NotebookOperationsCreateOrUpdateNotebookResponse = NotebookResource; /** Optional parameters. */ -export interface NotebookGetNotebookOptionalParams extends coreHttp.OperationOptions { +export interface NotebookOperationsGetNotebookOptionalParams + extends coreClient.OperationOptions { /** ETag of the Notebook entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned. */ ifNoneMatch?: string; } /** Contains response data for the getNotebook operation. */ -export type NotebookGetNotebookResponse = NotebookResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: NotebookResource; - }; -}; +export type NotebookOperationsGetNotebookResponse = NotebookResource; + +/** Optional parameters. */ +export interface NotebookOperationsDeleteNotebookOptionalParams + extends coreClient.OperationOptions { + /** 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 NotebookOperationsRenameNotebookOptionalParams + extends coreClient.OperationOptions { + /** 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 NotebookOperationsGetNotebooksByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getNotebooksByWorkspaceNext operation. */ -export type NotebookGetNotebooksByWorkspaceNextResponse = NotebookListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: NotebookListResponse; - }; -}; +export type NotebookOperationsGetNotebooksByWorkspaceNextResponse = NotebookListResponse; + +/** Optional parameters. */ +export interface NotebookOperationsGetNotebookSummaryByWorkSpaceNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getNotebookSummaryByWorkSpaceNext operation. */ -export type NotebookGetNotebookSummaryByWorkSpaceNextResponse = NotebookListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: NotebookListResponse; - }; -}; +export type NotebookOperationsGetNotebookSummaryByWorkSpaceNextResponse = NotebookListResponse; + +/** Optional parameters. */ +export interface WorkspaceOperationsGetOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type WorkspaceGetResponse = Workspace & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: Workspace; - }; -}; +export type WorkspaceOperationsGetResponse = Workspace; + +/** Optional parameters. */ +export interface SqlPoolsListOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type SqlPoolsListResponse = SqlPoolInfoListResult & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SqlPoolInfoListResult; - }; -}; +export type SqlPoolsListResponse = SqlPoolInfoListResult; + +/** Optional parameters. */ +export interface SqlPoolsGetOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type SqlPoolsGetResponse = SqlPool & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SqlPool; - }; -}; +export type SqlPoolsGetResponse = SqlPool; + +/** Optional parameters. */ +export interface BigDataPoolsListOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type BigDataPoolsListResponse = BigDataPoolResourceInfoListResult & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: BigDataPoolResourceInfoListResult; - }; -}; +export type BigDataPoolsListResponse = BigDataPoolResourceInfoListResult; + +/** Optional parameters. */ +export interface BigDataPoolsGetOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type BigDataPoolsGetResponse = BigDataPoolResourceInfo & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: BigDataPoolResourceInfo; - }; -}; +export type BigDataPoolsGetResponse = BigDataPoolResourceInfo; + +/** Optional parameters. */ +export interface IntegrationRuntimesListOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type IntegrationRuntimesListResponse = IntegrationRuntimeListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: IntegrationRuntimeListResponse; - }; -}; +export type IntegrationRuntimesListResponse = IntegrationRuntimeListResponse; + +/** Optional parameters. */ +export interface IntegrationRuntimesGetOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type IntegrationRuntimesGetResponse = IntegrationRuntimeResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: IntegrationRuntimeResource; - }; -}; +export type IntegrationRuntimesGetResponse = IntegrationRuntimeResource; + +/** Optional parameters. */ +export interface LibraryListOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type LibraryListOperationResponse = LibraryListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: LibraryListResponse; - }; -}; +export type LibraryListOperationResponse = LibraryListResponse; + +/** Optional parameters. */ +export interface LibraryFlushOptionalParams + extends coreClient.OperationOptions { + /** 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 LibraryGetOperationResultOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getOperationResult operation. */ -export type LibraryGetOperationResultResponse = LibraryResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: LibraryResource; - }; -}; +export type LibraryGetOperationResultResponse = LibraryResource; + +/** Optional parameters. */ +export interface LibraryDeleteOptionalParams + extends coreClient.OperationOptions { + /** 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 LibraryGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type LibraryGetResponse = LibraryResource & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: LibraryResource; - }; -}; +export type LibraryGetResponse = LibraryResource; /** Optional parameters. */ -export interface LibraryAppendOptionalParams extends coreHttp.OperationOptions { +export interface LibraryCreateOptionalParams + extends coreClient.OperationOptions { + /** 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 LibraryAppendOptionalParams + extends coreClient.OperationOptions { /** Set this header to a byte offset at which the block is expected to be appended. The request succeeds only if the current offset matches this value. Otherwise, the request fails with the AppendPositionConditionNotMet error (HTTP status code 412 – Precondition Failed) */ - xMsBlobConditionAppendpos?: number; + blobConditionAppendPosition?: number; } +/** Optional parameters. */ +export interface LibraryListNextOptionalParams + extends coreClient.OperationOptions {} + /** Contains response data for the listNext operation. */ -export type LibraryListNextResponse = LibraryListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: LibraryListResponse; - }; -}; +export type LibraryListNextResponse = LibraryListResponse; /** Optional parameters. */ export interface WorkspaceGitRepoManagementGetGitHubAccessTokenOptionalParams - extends coreHttp.OperationOptions { + extends coreClient.OperationOptions { /** Can provide a guid, which is helpful for debugging and to provide better customer support */ clientRequestId?: string; } /** Contains response data for the getGitHubAccessToken operation. */ -export type WorkspaceGitRepoManagementGetGitHubAccessTokenResponse = GitHubAccessTokenResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: GitHubAccessTokenResponse; - }; -}; +export type WorkspaceGitRepoManagementGetGitHubAccessTokenResponse = GitHubAccessTokenResponse; /** Optional parameters. */ -export interface ArtifactsClientOptionalParams extends coreHttp.ServiceClientOptions { +export interface ArtifactsClientOptionalParams + extends coreClient.ServiceClientOptions { /** Api Version */ apiVersion?: string; /** Overrides client endpoint. */ diff --git a/sdk/synapse/synapse-artifacts/src/models/mappers.ts b/sdk/synapse/synapse-artifacts/src/models/mappers.ts index 20955b669c05..c6f7072e9309 100644 --- a/sdk/synapse/synapse-artifacts/src/models/mappers.ts +++ b/sdk/synapse/synapse-artifacts/src/models/mappers.ts @@ -6,9 +6,9 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; -export const LinkedServiceListResponse: coreHttp.CompositeMapper = { +export const LinkedServiceListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "LinkedServiceListResponse", @@ -36,7 +36,37 @@ export const LinkedServiceListResponse: coreHttp.CompositeMapper = { } }; -export const LinkedService: coreHttp.CompositeMapper = { +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 LinkedService: coreClient.CompositeMapper = { serializedName: "LinkedService", type: { name: "Composite", @@ -92,7 +122,7 @@ export const LinkedService: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeReference: coreHttp.CompositeMapper = { +export const IntegrationRuntimeReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeReference", @@ -122,7 +152,7 @@ export const IntegrationRuntimeReference: coreHttp.CompositeMapper = { } }; -export const ParameterSpecification: coreHttp.CompositeMapper = { +export const ParameterSpecification: coreClient.CompositeMapper = { type: { name: "Composite", className: "ParameterSpecification", @@ -144,37 +174,7 @@ export const ParameterSpecification: coreHttp.CompositeMapper = { } }; -export const Resource: coreHttp.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: coreHttp.CompositeMapper = { +export const CloudError: coreClient.CompositeMapper = { type: { name: "Composite", className: "CloudError", @@ -215,7 +215,7 @@ export const CloudError: coreHttp.CompositeMapper = { } }; -export const ArtifactRenameRequest: coreHttp.CompositeMapper = { +export const ArtifactRenameRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "ArtifactRenameRequest", @@ -235,7 +235,7 @@ export const ArtifactRenameRequest: coreHttp.CompositeMapper = { } }; -export const DatasetListResponse: coreHttp.CompositeMapper = { +export const DatasetListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "DatasetListResponse", @@ -263,7 +263,7 @@ export const DatasetListResponse: coreHttp.CompositeMapper = { } }; -export const Dataset: coreHttp.CompositeMapper = { +export const Dataset: coreClient.CompositeMapper = { serializedName: "Dataset", type: { name: "Composite", @@ -338,7 +338,7 @@ export const Dataset: coreHttp.CompositeMapper = { } }; -export const LinkedServiceReference: coreHttp.CompositeMapper = { +export const LinkedServiceReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "LinkedServiceReference", @@ -368,7 +368,7 @@ export const LinkedServiceReference: coreHttp.CompositeMapper = { } }; -export const DatasetFolder: coreHttp.CompositeMapper = { +export const DatasetFolder: coreClient.CompositeMapper = { type: { name: "Composite", className: "DatasetFolder", @@ -383,7 +383,7 @@ export const DatasetFolder: coreHttp.CompositeMapper = { } }; -export const PipelineListResponse: coreHttp.CompositeMapper = { +export const PipelineListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "PipelineListResponse", @@ -411,7 +411,7 @@ export const PipelineListResponse: coreHttp.CompositeMapper = { } }; -export const Activity: coreHttp.CompositeMapper = { +export const Activity: coreClient.CompositeMapper = { serializedName: "Activity", type: { name: "Composite", @@ -471,7 +471,7 @@ export const Activity: coreHttp.CompositeMapper = { } }; -export const ActivityDependency: coreHttp.CompositeMapper = { +export const ActivityDependency: coreClient.CompositeMapper = { type: { name: "Composite", className: "ActivityDependency", @@ -500,7 +500,7 @@ export const ActivityDependency: coreHttp.CompositeMapper = { } }; -export const UserProperty: coreHttp.CompositeMapper = { +export const UserProperty: coreClient.CompositeMapper = { type: { name: "Composite", className: "UserProperty", @@ -523,7 +523,7 @@ export const UserProperty: coreHttp.CompositeMapper = { } }; -export const VariableSpecification: coreHttp.CompositeMapper = { +export const VariableSpecification: coreClient.CompositeMapper = { type: { name: "Composite", className: "VariableSpecification", @@ -545,7 +545,7 @@ export const VariableSpecification: coreHttp.CompositeMapper = { } }; -export const PipelineFolder: coreHttp.CompositeMapper = { +export const PipelineFolder: coreClient.CompositeMapper = { type: { name: "Composite", className: "PipelineFolder", @@ -560,7 +560,7 @@ export const PipelineFolder: coreHttp.CompositeMapper = { } }; -export const CreateRunResponse: coreHttp.CompositeMapper = { +export const CreateRunResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "CreateRunResponse", @@ -576,7 +576,7 @@ export const CreateRunResponse: coreHttp.CompositeMapper = { } }; -export const RunFilterParameters: coreHttp.CompositeMapper = { +export const RunFilterParameters: coreClient.CompositeMapper = { type: { name: "Composite", className: "RunFilterParameters", @@ -629,7 +629,7 @@ export const RunFilterParameters: coreHttp.CompositeMapper = { } }; -export const RunQueryFilter: coreHttp.CompositeMapper = { +export const RunQueryFilter: coreClient.CompositeMapper = { type: { name: "Composite", className: "RunQueryFilter", @@ -664,7 +664,7 @@ export const RunQueryFilter: coreHttp.CompositeMapper = { } }; -export const RunQueryOrderBy: coreHttp.CompositeMapper = { +export const RunQueryOrderBy: coreClient.CompositeMapper = { type: { name: "Composite", className: "RunQueryOrderBy", @@ -687,7 +687,7 @@ export const RunQueryOrderBy: coreHttp.CompositeMapper = { } }; -export const PipelineRunsQueryResponse: coreHttp.CompositeMapper = { +export const PipelineRunsQueryResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "PipelineRunsQueryResponse", @@ -715,7 +715,7 @@ export const PipelineRunsQueryResponse: coreHttp.CompositeMapper = { } }; -export const PipelineRun: coreHttp.CompositeMapper = { +export const PipelineRun: coreClient.CompositeMapper = { type: { name: "Composite", className: "PipelineRun", @@ -811,7 +811,7 @@ export const PipelineRun: coreHttp.CompositeMapper = { } }; -export const PipelineRunInvokedBy: coreHttp.CompositeMapper = { +export const PipelineRunInvokedBy: coreClient.CompositeMapper = { type: { name: "Composite", className: "PipelineRunInvokedBy", @@ -841,7 +841,7 @@ export const PipelineRunInvokedBy: coreHttp.CompositeMapper = { } }; -export const ActivityRunsQueryResponse: coreHttp.CompositeMapper = { +export const ActivityRunsQueryResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "ActivityRunsQueryResponse", @@ -869,7 +869,7 @@ export const ActivityRunsQueryResponse: coreHttp.CompositeMapper = { } }; -export const ActivityRun: coreHttp.CompositeMapper = { +export const ActivityRun: coreClient.CompositeMapper = { type: { name: "Composite", className: "ActivityRun", @@ -970,7 +970,7 @@ export const ActivityRun: coreHttp.CompositeMapper = { } }; -export const TriggerListResponse: coreHttp.CompositeMapper = { +export const TriggerListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "TriggerListResponse", @@ -998,7 +998,7 @@ export const TriggerListResponse: coreHttp.CompositeMapper = { } }; -export const Trigger: coreHttp.CompositeMapper = { +export const Trigger: coreClient.CompositeMapper = { serializedName: "Trigger", type: { name: "Composite", @@ -1045,7 +1045,7 @@ export const Trigger: coreHttp.CompositeMapper = { } }; -export const TriggerSubscriptionOperationStatus: coreHttp.CompositeMapper = { +export const TriggerSubscriptionOperationStatus: coreClient.CompositeMapper = { type: { name: "Composite", className: "TriggerSubscriptionOperationStatus", @@ -1068,7 +1068,7 @@ export const TriggerSubscriptionOperationStatus: coreHttp.CompositeMapper = { } }; -export const TriggerRunsQueryResponse: coreHttp.CompositeMapper = { +export const TriggerRunsQueryResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "TriggerRunsQueryResponse", @@ -1096,7 +1096,7 @@ export const TriggerRunsQueryResponse: coreHttp.CompositeMapper = { } }; -export const TriggerRun: coreHttp.CompositeMapper = { +export const TriggerRun: coreClient.CompositeMapper = { type: { name: "Composite", className: "TriggerRun", @@ -1164,7 +1164,7 @@ export const TriggerRun: coreHttp.CompositeMapper = { } }; -export const DataFlow: coreHttp.CompositeMapper = { +export const DataFlow: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlow", @@ -1209,7 +1209,7 @@ export const DataFlow: coreHttp.CompositeMapper = { } }; -export const DataFlowFolder: coreHttp.CompositeMapper = { +export const DataFlowFolder: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowFolder", @@ -1224,7 +1224,7 @@ export const DataFlowFolder: coreHttp.CompositeMapper = { } }; -export const DataFlowListResponse: coreHttp.CompositeMapper = { +export const DataFlowListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowListResponse", @@ -1252,7 +1252,7 @@ export const DataFlowListResponse: coreHttp.CompositeMapper = { } }; -export const CreateDataFlowDebugSessionRequest: coreHttp.CompositeMapper = { +export const CreateDataFlowDebugSessionRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "CreateDataFlowDebugSessionRequest", @@ -1298,7 +1298,7 @@ export const CreateDataFlowDebugSessionRequest: coreHttp.CompositeMapper = { } }; -export const CreateDataFlowDebugSessionResponse: coreHttp.CompositeMapper = { +export const CreateDataFlowDebugSessionResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "CreateDataFlowDebugSessionResponse", @@ -1313,7 +1313,7 @@ export const CreateDataFlowDebugSessionResponse: coreHttp.CompositeMapper = { } }; -export const QueryDataFlowDebugSessionsResponse: coreHttp.CompositeMapper = { +export const QueryDataFlowDebugSessionsResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "QueryDataFlowDebugSessionsResponse", @@ -1340,7 +1340,7 @@ export const QueryDataFlowDebugSessionsResponse: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugSessionInfo: coreHttp.CompositeMapper = { +export const DataFlowDebugSessionInfo: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugSessionInfo", @@ -1404,7 +1404,7 @@ export const DataFlowDebugSessionInfo: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugPackage: coreHttp.CompositeMapper = { +export const DataFlowDebugPackage: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugPackage", @@ -1465,7 +1465,7 @@ export const DataFlowDebugPackage: coreHttp.CompositeMapper = { } }; -export const SubResourceDebugResource: coreHttp.CompositeMapper = { +export const SubResourceDebugResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "SubResourceDebugResource", @@ -1480,7 +1480,7 @@ export const SubResourceDebugResource: coreHttp.CompositeMapper = { } }; -export const DataFlowStagingInfo: coreHttp.CompositeMapper = { +export const DataFlowStagingInfo: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowStagingInfo", @@ -1502,7 +1502,7 @@ export const DataFlowStagingInfo: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugPackageDebugSettings: coreHttp.CompositeMapper = { +export const DataFlowDebugPackageDebugSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugPackageDebugSettings", @@ -1536,7 +1536,7 @@ export const DataFlowDebugPackageDebugSettings: coreHttp.CompositeMapper = { } }; -export const DataFlowSourceSetting: coreHttp.CompositeMapper = { +export const DataFlowSourceSetting: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowSourceSetting", @@ -1558,7 +1558,7 @@ export const DataFlowSourceSetting: coreHttp.CompositeMapper = { } }; -export const AddDataFlowToDebugSessionResponse: coreHttp.CompositeMapper = { +export const AddDataFlowToDebugSessionResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "AddDataFlowToDebugSessionResponse", @@ -1573,7 +1573,7 @@ export const AddDataFlowToDebugSessionResponse: coreHttp.CompositeMapper = { } }; -export const DeleteDataFlowDebugSessionRequest: coreHttp.CompositeMapper = { +export const DeleteDataFlowDebugSessionRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "DeleteDataFlowDebugSessionRequest", @@ -1594,7 +1594,7 @@ export const DeleteDataFlowDebugSessionRequest: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugCommandRequest: coreHttp.CompositeMapper = { +export const DataFlowDebugCommandRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugCommandRequest", @@ -1629,7 +1629,7 @@ export const DataFlowDebugCommandRequest: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugCommandResponse: coreHttp.CompositeMapper = { +export const DataFlowDebugCommandResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugCommandResponse", @@ -1650,7 +1650,7 @@ export const DataFlowDebugCommandResponse: coreHttp.CompositeMapper = { } }; -export const SqlScriptsListResponse: coreHttp.CompositeMapper = { +export const SqlScriptsListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlScriptsListResponse", @@ -1678,7 +1678,7 @@ export const SqlScriptsListResponse: coreHttp.CompositeMapper = { } }; -export const SqlScriptResource: coreHttp.CompositeMapper = { +export const SqlScriptResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlScriptResource", @@ -1722,7 +1722,7 @@ export const SqlScriptResource: coreHttp.CompositeMapper = { } }; -export const SqlScript: coreHttp.CompositeMapper = { +export const SqlScript: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlScript", @@ -1751,7 +1751,7 @@ export const SqlScript: coreHttp.CompositeMapper = { } }; -export const SqlScriptContent: coreHttp.CompositeMapper = { +export const SqlScriptContent: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlScriptContent", @@ -1782,7 +1782,7 @@ export const SqlScriptContent: coreHttp.CompositeMapper = { } }; -export const SqlConnection: coreHttp.CompositeMapper = { +export const SqlConnection: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlConnection", @@ -1806,7 +1806,7 @@ export const SqlConnection: coreHttp.CompositeMapper = { } }; -export const SqlScriptMetadata: coreHttp.CompositeMapper = { +export const SqlScriptMetadata: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlScriptMetadata", @@ -1822,7 +1822,7 @@ export const SqlScriptMetadata: coreHttp.CompositeMapper = { } }; -export const SparkJobDefinitionsListResponse: coreHttp.CompositeMapper = { +export const SparkJobDefinitionsListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkJobDefinitionsListResponse", @@ -1850,7 +1850,7 @@ export const SparkJobDefinitionsListResponse: coreHttp.CompositeMapper = { } }; -export const SparkJobDefinition: coreHttp.CompositeMapper = { +export const SparkJobDefinition: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkJobDefinition", @@ -1892,7 +1892,7 @@ export const SparkJobDefinition: coreHttp.CompositeMapper = { } }; -export const BigDataPoolReference: coreHttp.CompositeMapper = { +export const BigDataPoolReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "BigDataPoolReference", @@ -1915,7 +1915,7 @@ export const BigDataPoolReference: coreHttp.CompositeMapper = { } }; -export const SparkJobProperties: coreHttp.CompositeMapper = { +export const SparkJobProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkJobProperties", @@ -2029,7 +2029,7 @@ export const SparkJobProperties: coreHttp.CompositeMapper = { } }; -export const SparkBatchJob: coreHttp.CompositeMapper = { +export const SparkBatchJob: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkBatchJob", @@ -2166,7 +2166,7 @@ export const SparkBatchJob: coreHttp.CompositeMapper = { } }; -export const SparkBatchJobState: coreHttp.CompositeMapper = { +export const SparkBatchJobState: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkBatchJobState", @@ -2237,7 +2237,7 @@ export const SparkBatchJobState: coreHttp.CompositeMapper = { } }; -export const SparkRequest: coreHttp.CompositeMapper = { +export const SparkRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkRequest", @@ -2356,7 +2356,7 @@ export const SparkRequest: coreHttp.CompositeMapper = { } }; -export const SparkScheduler: coreHttp.CompositeMapper = { +export const SparkScheduler: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkScheduler", @@ -2399,7 +2399,7 @@ export const SparkScheduler: coreHttp.CompositeMapper = { } }; -export const SparkServicePlugin: coreHttp.CompositeMapper = { +export const SparkServicePlugin: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkServicePlugin", @@ -2449,7 +2449,7 @@ export const SparkServicePlugin: coreHttp.CompositeMapper = { } }; -export const SparkServiceError: coreHttp.CompositeMapper = { +export const SparkServiceError: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkServiceError", @@ -2476,7 +2476,7 @@ export const SparkServiceError: coreHttp.CompositeMapper = { } }; -export const NotebookListResponse: coreHttp.CompositeMapper = { +export const NotebookListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "NotebookListResponse", @@ -2504,7 +2504,7 @@ export const NotebookListResponse: coreHttp.CompositeMapper = { } }; -export const NotebookResource: coreHttp.CompositeMapper = { +export const NotebookResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "NotebookResource", @@ -2548,7 +2548,7 @@ export const NotebookResource: coreHttp.CompositeMapper = { } }; -export const Notebook: coreHttp.CompositeMapper = { +export const Notebook: coreClient.CompositeMapper = { type: { name: "Composite", className: "Notebook", @@ -2612,7 +2612,7 @@ export const Notebook: coreHttp.CompositeMapper = { } }; -export const NotebookSessionProperties: coreHttp.CompositeMapper = { +export const NotebookSessionProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "NotebookSessionProperties", @@ -2656,7 +2656,7 @@ export const NotebookSessionProperties: coreHttp.CompositeMapper = { } }; -export const NotebookMetadata: coreHttp.CompositeMapper = { +export const NotebookMetadata: coreClient.CompositeMapper = { type: { name: "Composite", className: "NotebookMetadata", @@ -2680,7 +2680,7 @@ export const NotebookMetadata: coreHttp.CompositeMapper = { } }; -export const NotebookKernelSpec: coreHttp.CompositeMapper = { +export const NotebookKernelSpec: coreClient.CompositeMapper = { type: { name: "Composite", className: "NotebookKernelSpec", @@ -2704,7 +2704,7 @@ export const NotebookKernelSpec: coreHttp.CompositeMapper = { } }; -export const NotebookLanguageInfo: coreHttp.CompositeMapper = { +export const NotebookLanguageInfo: coreClient.CompositeMapper = { type: { name: "Composite", className: "NotebookLanguageInfo", @@ -2727,7 +2727,7 @@ export const NotebookLanguageInfo: coreHttp.CompositeMapper = { } }; -export const NotebookCell: coreHttp.CompositeMapper = { +export const NotebookCell: coreClient.CompositeMapper = { type: { name: "Composite", className: "NotebookCell", @@ -2782,7 +2782,7 @@ export const NotebookCell: coreHttp.CompositeMapper = { } }; -export const NotebookCellOutputItem: coreHttp.CompositeMapper = { +export const NotebookCellOutputItem: coreClient.CompositeMapper = { type: { name: "Composite", className: "NotebookCellOutputItem", @@ -2828,7 +2828,7 @@ export const NotebookCellOutputItem: coreHttp.CompositeMapper = { } }; -export const DataLakeStorageAccountDetails: coreHttp.CompositeMapper = { +export const DataLakeStorageAccountDetails: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataLakeStorageAccountDetails", @@ -2849,7 +2849,7 @@ export const DataLakeStorageAccountDetails: coreHttp.CompositeMapper = { } }; -export const VirtualNetworkProfile: coreHttp.CompositeMapper = { +export const VirtualNetworkProfile: coreClient.CompositeMapper = { type: { name: "Composite", className: "VirtualNetworkProfile", @@ -2864,7 +2864,7 @@ export const VirtualNetworkProfile: coreHttp.CompositeMapper = { } }; -export const PrivateEndpoint: coreHttp.CompositeMapper = { +export const PrivateEndpoint: coreClient.CompositeMapper = { type: { name: "Composite", className: "PrivateEndpoint", @@ -2880,7 +2880,7 @@ export const PrivateEndpoint: coreHttp.CompositeMapper = { } }; -export const PrivateLinkServiceConnectionState: coreHttp.CompositeMapper = { +export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { type: { name: "Composite", className: "PrivateLinkServiceConnectionState", @@ -2908,7 +2908,7 @@ export const PrivateLinkServiceConnectionState: coreHttp.CompositeMapper = { } }; -export const EncryptionDetails: coreHttp.CompositeMapper = { +export const EncryptionDetails: coreClient.CompositeMapper = { type: { name: "Composite", className: "EncryptionDetails", @@ -2931,7 +2931,7 @@ export const EncryptionDetails: coreHttp.CompositeMapper = { } }; -export const CustomerManagedKeyDetails: coreHttp.CompositeMapper = { +export const CustomerManagedKeyDetails: coreClient.CompositeMapper = { type: { name: "Composite", className: "CustomerManagedKeyDetails", @@ -2954,7 +2954,7 @@ export const CustomerManagedKeyDetails: coreHttp.CompositeMapper = { } }; -export const WorkspaceKeyDetails: coreHttp.CompositeMapper = { +export const WorkspaceKeyDetails: coreClient.CompositeMapper = { type: { name: "Composite", className: "WorkspaceKeyDetails", @@ -2975,7 +2975,7 @@ export const WorkspaceKeyDetails: coreHttp.CompositeMapper = { } }; -export const ManagedVirtualNetworkSettings: coreHttp.CompositeMapper = { +export const ManagedVirtualNetworkSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "ManagedVirtualNetworkSettings", @@ -3007,7 +3007,7 @@ export const ManagedVirtualNetworkSettings: coreHttp.CompositeMapper = { } }; -export const WorkspaceRepositoryConfiguration: coreHttp.CompositeMapper = { +export const WorkspaceRepositoryConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", className: "WorkspaceRepositoryConfiguration", @@ -3065,12 +3065,46 @@ export const WorkspaceRepositoryConfiguration: coreHttp.CompositeMapper = { type: { name: "Uuid" } + }, + clientId: { + serializedName: "clientId", + type: { + name: "String" + } + }, + clientSecret: { + serializedName: "clientSecret", + type: { + name: "Composite", + className: "GitHubClientSecret" + } } } } }; -export const PurviewConfiguration: coreHttp.CompositeMapper = { +export const GitHubClientSecret: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GitHubClientSecret", + modelProperties: { + byoaSecretAkvUrl: { + serializedName: "byoaSecretAkvUrl", + type: { + name: "String" + } + }, + byoaSecretName: { + serializedName: "byoaSecretName", + type: { + name: "String" + } + } + } + } +}; + +export const PurviewConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", className: "PurviewConfiguration", @@ -3085,7 +3119,7 @@ export const PurviewConfiguration: coreHttp.CompositeMapper = { } }; -export const ManagedIdentity: coreHttp.CompositeMapper = { +export const ManagedIdentity: coreClient.CompositeMapper = { type: { name: "Composite", className: "ManagedIdentity", @@ -3115,7 +3149,7 @@ export const ManagedIdentity: coreHttp.CompositeMapper = { } }; -export const ErrorContract: coreHttp.CompositeMapper = { +export const ErrorContract: coreClient.CompositeMapper = { type: { name: "Composite", className: "ErrorContract", @@ -3131,7 +3165,7 @@ export const ErrorContract: coreHttp.CompositeMapper = { } }; -export const ErrorResponse: coreHttp.CompositeMapper = { +export const ErrorResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "ErrorResponse", @@ -3187,7 +3221,7 @@ export const ErrorResponse: coreHttp.CompositeMapper = { } }; -export const ErrorAdditionalInfo: coreHttp.CompositeMapper = { +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { type: { name: "Composite", className: "ErrorAdditionalInfo", @@ -3210,7 +3244,7 @@ export const ErrorAdditionalInfo: coreHttp.CompositeMapper = { } }; -export const SqlPoolInfoListResult: coreHttp.CompositeMapper = { +export const SqlPoolInfoListResult: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlPoolInfoListResult", @@ -3237,7 +3271,7 @@ export const SqlPoolInfoListResult: coreHttp.CompositeMapper = { } }; -export const Sku: coreHttp.CompositeMapper = { +export const Sku: coreClient.CompositeMapper = { type: { name: "Composite", className: "Sku", @@ -3264,7 +3298,7 @@ export const Sku: coreHttp.CompositeMapper = { } }; -export const BigDataPoolResourceInfoListResult: coreHttp.CompositeMapper = { +export const BigDataPoolResourceInfoListResult: coreClient.CompositeMapper = { type: { name: "Composite", className: "BigDataPoolResourceInfoListResult", @@ -3291,7 +3325,7 @@ export const BigDataPoolResourceInfoListResult: coreHttp.CompositeMapper = { } }; -export const AutoScaleProperties: coreHttp.CompositeMapper = { +export const AutoScaleProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "AutoScaleProperties", @@ -3318,7 +3352,7 @@ export const AutoScaleProperties: coreHttp.CompositeMapper = { } }; -export const AutoPauseProperties: coreHttp.CompositeMapper = { +export const AutoPauseProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "AutoPauseProperties", @@ -3339,7 +3373,7 @@ export const AutoPauseProperties: coreHttp.CompositeMapper = { } }; -export const DynamicExecutorAllocation: coreHttp.CompositeMapper = { +export const DynamicExecutorAllocation: coreClient.CompositeMapper = { type: { name: "Composite", className: "DynamicExecutorAllocation", @@ -3354,7 +3388,7 @@ export const DynamicExecutorAllocation: coreHttp.CompositeMapper = { } }; -export const LibraryRequirements: coreHttp.CompositeMapper = { +export const LibraryRequirements: coreClient.CompositeMapper = { type: { name: "Composite", className: "LibraryRequirements", @@ -3382,7 +3416,7 @@ export const LibraryRequirements: coreHttp.CompositeMapper = { } }; -export const LibraryInfo: coreHttp.CompositeMapper = { +export const LibraryInfo: coreClient.CompositeMapper = { type: { name: "Composite", className: "LibraryInfo", @@ -3436,7 +3470,7 @@ export const LibraryInfo: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeListResponse: coreHttp.CompositeMapper = { +export const IntegrationRuntimeListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeListResponse", @@ -3464,7 +3498,7 @@ export const IntegrationRuntimeListResponse: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntime: coreHttp.CompositeMapper = { +export const IntegrationRuntime: coreClient.CompositeMapper = { serializedName: "IntegrationRuntime", type: { name: "Composite", @@ -3493,7 +3527,7 @@ export const IntegrationRuntime: coreHttp.CompositeMapper = { } }; -export const LibraryListResponse: coreHttp.CompositeMapper = { +export const LibraryListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "LibraryListResponse", @@ -3521,7 +3555,7 @@ export const LibraryListResponse: coreHttp.CompositeMapper = { } }; -export const LibraryResourceProperties: coreHttp.CompositeMapper = { +export const LibraryResourceProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "LibraryResourceProperties", @@ -3579,7 +3613,7 @@ export const LibraryResourceProperties: coreHttp.CompositeMapper = { } }; -export const LibraryResourceInfo: coreHttp.CompositeMapper = { +export const LibraryResourceInfo: coreClient.CompositeMapper = { type: { name: "Composite", className: "LibraryResourceInfo", @@ -3651,7 +3685,7 @@ export const LibraryResourceInfo: coreHttp.CompositeMapper = { } }; -export const OperationResult: coreHttp.CompositeMapper = { +export const OperationResult: coreClient.CompositeMapper = { type: { name: "Composite", className: "OperationResult", @@ -3697,7 +3731,7 @@ export const OperationResult: coreHttp.CompositeMapper = { } }; -export const GitHubAccessTokenRequest: coreHttp.CompositeMapper = { +export const GitHubAccessTokenRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "GitHubAccessTokenRequest", @@ -3709,6 +3743,13 @@ export const GitHubAccessTokenRequest: coreHttp.CompositeMapper = { name: "String" } }, + gitHubClientSecret: { + serializedName: "gitHubClientSecret", + type: { + name: "Composite", + className: "GitHubClientSecret" + } + }, gitHubAccessCode: { serializedName: "gitHubAccessCode", required: true, @@ -3727,7 +3768,7 @@ export const GitHubAccessTokenRequest: coreHttp.CompositeMapper = { } }; -export const GitHubAccessTokenResponse: coreHttp.CompositeMapper = { +export const GitHubAccessTokenResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "GitHubAccessTokenResponse", @@ -3742,7 +3783,7 @@ export const GitHubAccessTokenResponse: coreHttp.CompositeMapper = { } }; -export const Expression: coreHttp.CompositeMapper = { +export const Expression: coreClient.CompositeMapper = { type: { name: "Composite", className: "Expression", @@ -3765,7 +3806,7 @@ export const Expression: coreHttp.CompositeMapper = { } }; -export const SecretBase: coreHttp.CompositeMapper = { +export const SecretBase: coreClient.CompositeMapper = { type: { name: "Composite", className: "SecretBase", @@ -3786,7 +3827,7 @@ export const SecretBase: coreHttp.CompositeMapper = { } }; -export const StartDataFlowDebugSessionRequest: coreHttp.CompositeMapper = { +export const StartDataFlowDebugSessionRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "StartDataFlowDebugSessionRequest", @@ -3850,7 +3891,7 @@ export const StartDataFlowDebugSessionRequest: coreHttp.CompositeMapper = { } }; -export const StartDataFlowDebugSessionResponse: coreHttp.CompositeMapper = { +export const StartDataFlowDebugSessionResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "StartDataFlowDebugSessionResponse", @@ -3865,7 +3906,7 @@ export const StartDataFlowDebugSessionResponse: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugPreviewDataRequest: coreHttp.CompositeMapper = { +export const DataFlowDebugPreviewDataRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugPreviewDataRequest", @@ -3898,7 +3939,7 @@ export const DataFlowDebugPreviewDataRequest: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugStatisticsRequest: coreHttp.CompositeMapper = { +export const DataFlowDebugStatisticsRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugStatisticsRequest", @@ -3936,7 +3977,7 @@ export const DataFlowDebugStatisticsRequest: coreHttp.CompositeMapper = { } }; -export const EvaluateDataFlowExpressionRequest: coreHttp.CompositeMapper = { +export const EvaluateDataFlowExpressionRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "EvaluateDataFlowExpressionRequest", @@ -3975,7 +4016,7 @@ export const EvaluateDataFlowExpressionRequest: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugQueryResponse: coreHttp.CompositeMapper = { +export const DataFlowDebugQueryResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugQueryResponse", @@ -3990,7 +4031,7 @@ export const DataFlowDebugQueryResponse: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugResultResponse: coreHttp.CompositeMapper = { +export const DataFlowDebugResultResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugResultResponse", @@ -4011,7 +4052,7 @@ export const DataFlowDebugResultResponse: coreHttp.CompositeMapper = { } }; -export const TriggerDependencyProvisioningStatus: coreHttp.CompositeMapper = { +export const TriggerDependencyProvisioningStatus: coreClient.CompositeMapper = { type: { name: "Composite", className: "TriggerDependencyProvisioningStatus", @@ -4034,7 +4075,7 @@ export const TriggerDependencyProvisioningStatus: coreHttp.CompositeMapper = { } }; -export const PipelineReference: coreHttp.CompositeMapper = { +export const PipelineReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "PipelineReference", @@ -4063,7 +4104,7 @@ export const PipelineReference: coreHttp.CompositeMapper = { } }; -export const TriggerPipelineReference: coreHttp.CompositeMapper = { +export const TriggerPipelineReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "TriggerPipelineReference", @@ -4086,7 +4127,7 @@ export const TriggerPipelineReference: coreHttp.CompositeMapper = { } }; -export const WorkspaceUpdateParameters: coreHttp.CompositeMapper = { +export const WorkspaceUpdateParameters: coreClient.CompositeMapper = { type: { name: "Composite", className: "WorkspaceUpdateParameters", @@ -4109,7 +4150,7 @@ export const WorkspaceUpdateParameters: coreHttp.CompositeMapper = { } }; -export const WorkspaceIdentity: coreHttp.CompositeMapper = { +export const WorkspaceIdentity: coreClient.CompositeMapper = { type: { name: "Composite", className: "WorkspaceIdentity", @@ -4140,7 +4181,7 @@ export const WorkspaceIdentity: coreHttp.CompositeMapper = { } }; -export const DatasetReference: coreHttp.CompositeMapper = { +export const DatasetReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "DatasetReference", @@ -4170,7 +4211,7 @@ export const DatasetReference: coreHttp.CompositeMapper = { } }; -export const DataFlowReference: coreHttp.CompositeMapper = { +export const DataFlowReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowReference", @@ -4200,7 +4241,7 @@ export const DataFlowReference: coreHttp.CompositeMapper = { } }; -export const RerunTumblingWindowTriggerActionParameters: coreHttp.CompositeMapper = { +export const RerunTumblingWindowTriggerActionParameters: coreClient.CompositeMapper = { type: { name: "Composite", className: "RerunTumblingWindowTriggerActionParameters", @@ -4234,7 +4275,7 @@ export const RerunTumblingWindowTriggerActionParameters: coreHttp.CompositeMappe } }; -export const RerunTriggerListResponse: coreHttp.CompositeMapper = { +export const RerunTriggerListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "RerunTriggerListResponse", @@ -4263,7 +4304,7 @@ export const RerunTriggerListResponse: coreHttp.CompositeMapper = { } }; -export const GetSsisObjectMetadataRequest: coreHttp.CompositeMapper = { +export const GetSsisObjectMetadataRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "GetSsisObjectMetadataRequest", @@ -4278,7 +4319,7 @@ export const GetSsisObjectMetadataRequest: coreHttp.CompositeMapper = { } }; -export const SsisObjectMetadataStatusResponse: coreHttp.CompositeMapper = { +export const SsisObjectMetadataStatusResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "SsisObjectMetadataStatusResponse", @@ -4311,7 +4352,7 @@ export const SsisObjectMetadataStatusResponse: coreHttp.CompositeMapper = { } }; -export const ExposureControlRequest: coreHttp.CompositeMapper = { +export const ExposureControlRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "ExposureControlRequest", @@ -4332,7 +4373,7 @@ export const ExposureControlRequest: coreHttp.CompositeMapper = { } }; -export const ExposureControlResponse: coreHttp.CompositeMapper = { +export const ExposureControlResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "ExposureControlResponse", @@ -4355,7 +4396,7 @@ export const ExposureControlResponse: coreHttp.CompositeMapper = { } }; -export const SynapseNotebookReference: coreHttp.CompositeMapper = { +export const SynapseNotebookReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "SynapseNotebookReference", @@ -4378,7 +4419,7 @@ export const SynapseNotebookReference: coreHttp.CompositeMapper = { } }; -export const SynapseSparkJobReference: coreHttp.CompositeMapper = { +export const SynapseSparkJobReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "SynapseSparkJobReference", @@ -4401,7 +4442,7 @@ export const SynapseSparkJobReference: coreHttp.CompositeMapper = { } }; -export const SqlPoolReference: coreHttp.CompositeMapper = { +export const SqlPoolReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlPoolReference", @@ -4424,7 +4465,7 @@ export const SqlPoolReference: coreHttp.CompositeMapper = { } }; -export const Transformation: coreHttp.CompositeMapper = { +export const Transformation: coreClient.CompositeMapper = { type: { name: "Composite", className: "Transformation", @@ -4446,7 +4487,7 @@ export const Transformation: coreHttp.CompositeMapper = { } }; -export const DatasetLocation: coreHttp.CompositeMapper = { +export const DatasetLocation: coreClient.CompositeMapper = { serializedName: "DatasetLocation", type: { name: "Composite", @@ -4481,7 +4522,7 @@ export const DatasetLocation: coreHttp.CompositeMapper = { } }; -export const DatasetDataElement: coreHttp.CompositeMapper = { +export const DatasetDataElement: coreClient.CompositeMapper = { type: { name: "Composite", className: "DatasetDataElement", @@ -4502,7 +4543,7 @@ export const DatasetDataElement: coreHttp.CompositeMapper = { } }; -export const DatasetSchemaDataElement: coreHttp.CompositeMapper = { +export const DatasetSchemaDataElement: coreClient.CompositeMapper = { type: { name: "Composite", className: "DatasetSchemaDataElement", @@ -4524,7 +4565,7 @@ export const DatasetSchemaDataElement: coreHttp.CompositeMapper = { } }; -export const DatasetStorageFormat: coreHttp.CompositeMapper = { +export const DatasetStorageFormat: coreClient.CompositeMapper = { serializedName: "DatasetStorageFormat", type: { name: "Composite", @@ -4559,7 +4600,7 @@ export const DatasetStorageFormat: coreHttp.CompositeMapper = { } }; -export const DatasetCompression: coreHttp.CompositeMapper = { +export const DatasetCompression: coreClient.CompositeMapper = { serializedName: "DatasetCompression", type: { name: "Composite", @@ -4582,7 +4623,7 @@ export const DatasetCompression: coreHttp.CompositeMapper = { } }; -export const WebLinkedServiceTypeProperties: coreHttp.CompositeMapper = { +export const WebLinkedServiceTypeProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "WebLinkedServiceTypeProperties", @@ -4610,7 +4651,7 @@ export const WebLinkedServiceTypeProperties: coreHttp.CompositeMapper = { } }; -export const ScriptAction: coreHttp.CompositeMapper = { +export const ScriptAction: coreClient.CompositeMapper = { type: { name: "Composite", className: "ScriptAction", @@ -4646,7 +4687,7 @@ export const ScriptAction: coreHttp.CompositeMapper = { } }; -export const ActivityPolicy: coreHttp.CompositeMapper = { +export const ActivityPolicy: coreClient.CompositeMapper = { type: { name: "Composite", className: "ActivityPolicy", @@ -4690,7 +4731,7 @@ export const ActivityPolicy: coreHttp.CompositeMapper = { } }; -export const StoreReadSettings: coreHttp.CompositeMapper = { +export const StoreReadSettings: coreClient.CompositeMapper = { serializedName: "StoreReadSettings", type: { name: "Composite", @@ -4719,7 +4760,7 @@ export const StoreReadSettings: coreHttp.CompositeMapper = { } }; -export const StoreWriteSettings: coreHttp.CompositeMapper = { +export const StoreWriteSettings: coreClient.CompositeMapper = { serializedName: "StoreWriteSettings", type: { name: "Composite", @@ -4754,7 +4795,7 @@ export const StoreWriteSettings: coreHttp.CompositeMapper = { } }; -export const DistcpSettings: coreHttp.CompositeMapper = { +export const DistcpSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "DistcpSettings", @@ -4783,7 +4824,7 @@ export const DistcpSettings: coreHttp.CompositeMapper = { } }; -export const FormatReadSettings: coreHttp.CompositeMapper = { +export const FormatReadSettings: coreClient.CompositeMapper = { serializedName: "FormatReadSettings", type: { name: "Composite", @@ -4806,7 +4847,7 @@ export const FormatReadSettings: coreHttp.CompositeMapper = { } }; -export const CompressionReadSettings: coreHttp.CompositeMapper = { +export const CompressionReadSettings: coreClient.CompositeMapper = { serializedName: "CompressionReadSettings", type: { name: "Composite", @@ -4829,7 +4870,7 @@ export const CompressionReadSettings: coreHttp.CompositeMapper = { } }; -export const FormatWriteSettings: coreHttp.CompositeMapper = { +export const FormatWriteSettings: coreClient.CompositeMapper = { serializedName: "FormatWriteSettings", type: { name: "Composite", @@ -4852,28 +4893,7 @@ export const FormatWriteSettings: coreHttp.CompositeMapper = { } }; -export const AdditionalColumns: coreHttp.CompositeMapper = { - type: { - name: "Composite", - className: "AdditionalColumns", - modelProperties: { - name: { - serializedName: "name", - type: { - name: "any" - } - }, - value: { - serializedName: "value", - type: { - name: "any" - } - } - } - } -}; - -export const CopySource: coreHttp.CompositeMapper = { +export const CopySource: coreClient.CompositeMapper = { serializedName: "CopySource", type: { name: "Composite", @@ -4914,7 +4934,28 @@ export const CopySource: coreHttp.CompositeMapper = { } }; -export const CopySink: coreHttp.CompositeMapper = { +export const AdditionalColumns: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AdditionalColumns", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "any" + } + }, + value: { + serializedName: "value", + type: { + name: "any" + } + } + } + } +}; + +export const CopySink: coreClient.CompositeMapper = { serializedName: "CopySink", type: { name: "Composite", @@ -4967,7 +5008,7 @@ export const CopySink: coreHttp.CompositeMapper = { } }; -export const StagingSettings: coreHttp.CompositeMapper = { +export const StagingSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "StagingSettings", @@ -4996,7 +5037,7 @@ export const StagingSettings: coreHttp.CompositeMapper = { } }; -export const RedirectIncompatibleRowSettings: coreHttp.CompositeMapper = { +export const RedirectIncompatibleRowSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "RedirectIncompatibleRowSettings", @@ -5019,7 +5060,7 @@ export const RedirectIncompatibleRowSettings: coreHttp.CompositeMapper = { } }; -export const LogStorageSettings: coreHttp.CompositeMapper = { +export const LogStorageSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "LogStorageSettings", @@ -5054,7 +5095,7 @@ export const LogStorageSettings: coreHttp.CompositeMapper = { } }; -export const LogSettings: coreHttp.CompositeMapper = { +export const LogSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "LogSettings", @@ -5083,7 +5124,7 @@ export const LogSettings: coreHttp.CompositeMapper = { } }; -export const CopyActivityLogSettings: coreHttp.CompositeMapper = { +export const CopyActivityLogSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "CopyActivityLogSettings", @@ -5104,7 +5145,7 @@ export const CopyActivityLogSettings: coreHttp.CompositeMapper = { } }; -export const LogLocationSettings: coreHttp.CompositeMapper = { +export const LogLocationSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "LogLocationSettings", @@ -5126,7 +5167,7 @@ export const LogLocationSettings: coreHttp.CompositeMapper = { } }; -export const SkipErrorFile: coreHttp.CompositeMapper = { +export const SkipErrorFile: coreClient.CompositeMapper = { type: { name: "Composite", className: "SkipErrorFile", @@ -5147,7 +5188,7 @@ export const SkipErrorFile: coreHttp.CompositeMapper = { } }; -export const SapHanaPartitionSettings: coreHttp.CompositeMapper = { +export const SapHanaPartitionSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "SapHanaPartitionSettings", @@ -5162,7 +5203,7 @@ export const SapHanaPartitionSettings: coreHttp.CompositeMapper = { } }; -export const SapTablePartitionSettings: coreHttp.CompositeMapper = { +export const SapTablePartitionSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "SapTablePartitionSettings", @@ -5195,7 +5236,7 @@ export const SapTablePartitionSettings: coreHttp.CompositeMapper = { } }; -export const StoredProcedureParameter: coreHttp.CompositeMapper = { +export const StoredProcedureParameter: coreClient.CompositeMapper = { type: { name: "Composite", className: "StoredProcedureParameter", @@ -5216,7 +5257,7 @@ export const StoredProcedureParameter: coreHttp.CompositeMapper = { } }; -export const SqlPartitionSettings: coreHttp.CompositeMapper = { +export const SqlPartitionSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlPartitionSettings", @@ -5243,7 +5284,7 @@ export const SqlPartitionSettings: coreHttp.CompositeMapper = { } }; -export const OraclePartitionSettings: coreHttp.CompositeMapper = { +export const OraclePartitionSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "OraclePartitionSettings", @@ -5276,7 +5317,7 @@ export const OraclePartitionSettings: coreHttp.CompositeMapper = { } }; -export const TeradataPartitionSettings: coreHttp.CompositeMapper = { +export const TeradataPartitionSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "TeradataPartitionSettings", @@ -5303,7 +5344,7 @@ export const TeradataPartitionSettings: coreHttp.CompositeMapper = { } }; -export const MongoDbCursorMethodsProperties: coreHttp.CompositeMapper = { +export const MongoDbCursorMethodsProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "MongoDbCursorMethodsProperties", @@ -5337,7 +5378,7 @@ export const MongoDbCursorMethodsProperties: coreHttp.CompositeMapper = { } }; -export const NetezzaPartitionSettings: coreHttp.CompositeMapper = { +export const NetezzaPartitionSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "NetezzaPartitionSettings", @@ -5364,7 +5405,7 @@ export const NetezzaPartitionSettings: coreHttp.CompositeMapper = { } }; -export const RedshiftUnloadSettings: coreHttp.CompositeMapper = { +export const RedshiftUnloadSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "RedshiftUnloadSettings", @@ -5387,7 +5428,7 @@ export const RedshiftUnloadSettings: coreHttp.CompositeMapper = { } }; -export const ExportSettings: coreHttp.CompositeMapper = { +export const ExportSettings: coreClient.CompositeMapper = { serializedName: "ExportSettings", type: { name: "Composite", @@ -5410,7 +5451,7 @@ export const ExportSettings: coreHttp.CompositeMapper = { } }; -export const ImportSettings: coreHttp.CompositeMapper = { +export const ImportSettings: coreClient.CompositeMapper = { serializedName: "ImportSettings", type: { name: "Composite", @@ -5433,7 +5474,7 @@ export const ImportSettings: coreHttp.CompositeMapper = { } }; -export const PolybaseSettings: coreHttp.CompositeMapper = { +export const PolybaseSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "PolybaseSettings", @@ -5467,7 +5508,7 @@ export const PolybaseSettings: coreHttp.CompositeMapper = { } }; -export const DWCopyCommandSettings: coreHttp.CompositeMapper = { +export const DWCopyCommandSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "DWCopyCommandSettings", @@ -5495,7 +5536,7 @@ export const DWCopyCommandSettings: coreHttp.CompositeMapper = { } }; -export const DWCopyCommandDefaultValue: coreHttp.CompositeMapper = { +export const DWCopyCommandDefaultValue: coreClient.CompositeMapper = { type: { name: "Composite", className: "DWCopyCommandDefaultValue", @@ -5516,7 +5557,7 @@ export const DWCopyCommandDefaultValue: coreHttp.CompositeMapper = { } }; -export const CopyTranslator: coreHttp.CompositeMapper = { +export const CopyTranslator: coreClient.CompositeMapper = { serializedName: "CopyTranslator", type: { name: "Composite", @@ -5539,7 +5580,7 @@ export const CopyTranslator: coreHttp.CompositeMapper = { } }; -export const TypeConversionSettings: coreHttp.CompositeMapper = { +export const TypeConversionSettings: coreClient.CompositeMapper = { type: { name: "Composite", className: "TypeConversionSettings", @@ -5584,7 +5625,7 @@ export const TypeConversionSettings: coreHttp.CompositeMapper = { } }; -export const SsisPackageLocation: coreHttp.CompositeMapper = { +export const SsisPackageLocation: coreClient.CompositeMapper = { type: { name: "Composite", className: "SsisPackageLocation", @@ -5662,7 +5703,7 @@ export const SsisPackageLocation: coreHttp.CompositeMapper = { } }; -export const SsisAccessCredential: coreHttp.CompositeMapper = { +export const SsisAccessCredential: coreClient.CompositeMapper = { type: { name: "Composite", className: "SsisAccessCredential", @@ -5692,7 +5733,7 @@ export const SsisAccessCredential: coreHttp.CompositeMapper = { } }; -export const SsisChildPackage: coreHttp.CompositeMapper = { +export const SsisChildPackage: coreClient.CompositeMapper = { type: { name: "Composite", className: "SsisChildPackage", @@ -5727,7 +5768,7 @@ export const SsisChildPackage: coreHttp.CompositeMapper = { } }; -export const SsisExecutionCredential: coreHttp.CompositeMapper = { +export const SsisExecutionCredential: coreClient.CompositeMapper = { type: { name: "Composite", className: "SsisExecutionCredential", @@ -5757,7 +5798,7 @@ export const SsisExecutionCredential: coreHttp.CompositeMapper = { } }; -export const SsisExecutionParameter: coreHttp.CompositeMapper = { +export const SsisExecutionParameter: coreClient.CompositeMapper = { type: { name: "Composite", className: "SsisExecutionParameter", @@ -5773,7 +5814,7 @@ export const SsisExecutionParameter: coreHttp.CompositeMapper = { } }; -export const SsisPropertyOverride: coreHttp.CompositeMapper = { +export const SsisPropertyOverride: coreClient.CompositeMapper = { type: { name: "Composite", className: "SsisPropertyOverride", @@ -5795,7 +5836,7 @@ export const SsisPropertyOverride: coreHttp.CompositeMapper = { } }; -export const SsisLogLocation: coreHttp.CompositeMapper = { +export const SsisLogLocation: coreClient.CompositeMapper = { type: { name: "Composite", className: "SsisLogLocation", @@ -5831,7 +5872,7 @@ export const SsisLogLocation: coreHttp.CompositeMapper = { } }; -export const CustomActivityReferenceObject: coreHttp.CompositeMapper = { +export const CustomActivityReferenceObject: coreClient.CompositeMapper = { type: { name: "Composite", className: "CustomActivityReferenceObject", @@ -5864,7 +5905,7 @@ export const CustomActivityReferenceObject: coreHttp.CompositeMapper = { } }; -export const WebActivityAuthentication: coreHttp.CompositeMapper = { +export const WebActivityAuthentication: coreClient.CompositeMapper = { type: { name: "Composite", className: "WebActivityAuthentication", @@ -5906,7 +5947,7 @@ export const WebActivityAuthentication: coreHttp.CompositeMapper = { } }; -export const SwitchCase: coreHttp.CompositeMapper = { +export const SwitchCase: coreClient.CompositeMapper = { type: { name: "Composite", className: "SwitchCase", @@ -5933,7 +5974,7 @@ export const SwitchCase: coreHttp.CompositeMapper = { } }; -export const AzureMLWebServiceFile: coreHttp.CompositeMapper = { +export const AzureMLWebServiceFile: coreClient.CompositeMapper = { type: { name: "Composite", className: "AzureMLWebServiceFile", @@ -5956,7 +5997,7 @@ export const AzureMLWebServiceFile: coreHttp.CompositeMapper = { } }; -export const ExecuteDataFlowActivityTypePropertiesCompute: coreHttp.CompositeMapper = { +export const ExecuteDataFlowActivityTypePropertiesCompute: coreClient.CompositeMapper = { type: { name: "Composite", className: "ExecuteDataFlowActivityTypePropertiesCompute", @@ -5977,7 +6018,7 @@ export const ExecuteDataFlowActivityTypePropertiesCompute: coreHttp.CompositeMap } }; -export const ScheduleTriggerRecurrence: coreHttp.CompositeMapper = { +export const ScheduleTriggerRecurrence: coreClient.CompositeMapper = { type: { name: "Composite", className: "ScheduleTriggerRecurrence", @@ -6024,7 +6065,7 @@ export const ScheduleTriggerRecurrence: coreHttp.CompositeMapper = { } }; -export const RecurrenceSchedule: coreHttp.CompositeMapper = { +export const RecurrenceSchedule: coreClient.CompositeMapper = { type: { name: "Composite", className: "RecurrenceSchedule", @@ -6099,7 +6140,7 @@ export const RecurrenceSchedule: coreHttp.CompositeMapper = { } }; -export const RecurrenceScheduleOccurrence: coreHttp.CompositeMapper = { +export const RecurrenceScheduleOccurrence: coreClient.CompositeMapper = { type: { name: "Composite", className: "RecurrenceScheduleOccurrence", @@ -6130,7 +6171,7 @@ export const RecurrenceScheduleOccurrence: coreHttp.CompositeMapper = { } }; -export const RetryPolicy: coreHttp.CompositeMapper = { +export const RetryPolicy: coreClient.CompositeMapper = { type: { name: "Composite", className: "RetryPolicy", @@ -6155,7 +6196,7 @@ export const RetryPolicy: coreHttp.CompositeMapper = { } }; -export const DependencyReference: coreHttp.CompositeMapper = { +export const DependencyReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "DependencyReference", @@ -6176,7 +6217,7 @@ export const DependencyReference: coreHttp.CompositeMapper = { } }; -export const TriggerReference: coreHttp.CompositeMapper = { +export const TriggerReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "TriggerReference", @@ -6199,7 +6240,7 @@ export const TriggerReference: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeComputeProperties: coreHttp.CompositeMapper = { +export const IntegrationRuntimeComputeProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeComputeProperties", @@ -6253,7 +6294,7 @@ export const IntegrationRuntimeComputeProperties: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeDataFlowProperties: coreHttp.CompositeMapper = { +export const IntegrationRuntimeDataFlowProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeDataFlowProperties", @@ -6284,7 +6325,7 @@ export const IntegrationRuntimeDataFlowProperties: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeVNetProperties: coreHttp.CompositeMapper = { +export const IntegrationRuntimeVNetProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeVNetProperties", @@ -6317,7 +6358,7 @@ export const IntegrationRuntimeVNetProperties: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeSsisProperties: coreHttp.CompositeMapper = { +export const IntegrationRuntimeSsisProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeSsisProperties", @@ -6372,7 +6413,7 @@ export const IntegrationRuntimeSsisProperties: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeSsisCatalogInfo: coreHttp.CompositeMapper = { +export const IntegrationRuntimeSsisCatalogInfo: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeSsisCatalogInfo", @@ -6411,7 +6452,7 @@ export const IntegrationRuntimeSsisCatalogInfo: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeCustomSetupScriptProperties: coreHttp.CompositeMapper = { +export const IntegrationRuntimeCustomSetupScriptProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeCustomSetupScriptProperties", @@ -6433,7 +6474,7 @@ export const IntegrationRuntimeCustomSetupScriptProperties: coreHttp.CompositeMa } }; -export const IntegrationRuntimeDataProxyProperties: coreHttp.CompositeMapper = { +export const IntegrationRuntimeDataProxyProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeDataProxyProperties", @@ -6462,7 +6503,7 @@ export const IntegrationRuntimeDataProxyProperties: coreHttp.CompositeMapper = { } }; -export const EntityReference: coreHttp.CompositeMapper = { +export const EntityReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "EntityReference", @@ -6483,7 +6524,7 @@ export const EntityReference: coreHttp.CompositeMapper = { } }; -export const CustomSetupBase: coreHttp.CompositeMapper = { +export const CustomSetupBase: coreClient.CompositeMapper = { type: { name: "Composite", className: "CustomSetupBase", @@ -6504,7 +6545,7 @@ export const CustomSetupBase: coreHttp.CompositeMapper = { } }; -export const ManagedVirtualNetworkReference: coreHttp.CompositeMapper = { +export const ManagedVirtualNetworkReference: coreClient.CompositeMapper = { type: { name: "Composite", className: "ManagedVirtualNetworkReference", @@ -6528,7 +6569,7 @@ export const ManagedVirtualNetworkReference: coreHttp.CompositeMapper = { } }; -export const LinkedIntegrationRuntimeType: coreHttp.CompositeMapper = { +export const LinkedIntegrationRuntimeType: coreClient.CompositeMapper = { type: { name: "Composite", className: "LinkedIntegrationRuntimeType", @@ -6549,7 +6590,58 @@ export const LinkedIntegrationRuntimeType: coreHttp.CompositeMapper = { } }; -export const AzureStorageLinkedService: coreHttp.CompositeMapper = { +export const AzureEntityResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AzureEntityResource", + modelProperties: { + ...Resource.type.modelProperties, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +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 AzureStorageLinkedService: coreClient.CompositeMapper = { serializedName: "AzureStorage", type: { name: "Composite", @@ -6595,7 +6687,7 @@ export const AzureStorageLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureBlobStorageLinkedService: coreHttp.CompositeMapper = { +export const AzureBlobStorageLinkedService: coreClient.CompositeMapper = { serializedName: "AzureBlobStorage", type: { name: "Composite", @@ -6672,7 +6764,7 @@ export const AzureBlobStorageLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureTableStorageLinkedService: coreHttp.CompositeMapper = { +export const AzureTableStorageLinkedService: coreClient.CompositeMapper = { serializedName: "AzureTableStorage", type: { name: "Composite", @@ -6718,7 +6810,7 @@ export const AzureTableStorageLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureSqlDWLinkedService: coreHttp.CompositeMapper = { +export const AzureSqlDWLinkedService: coreClient.CompositeMapper = { serializedName: "AzureSqlDW", type: { name: "Composite", @@ -6777,7 +6869,7 @@ export const AzureSqlDWLinkedService: coreHttp.CompositeMapper = { } }; -export const SqlServerLinkedService: coreHttp.CompositeMapper = { +export const SqlServerLinkedService: coreClient.CompositeMapper = { serializedName: "SqlServer", type: { name: "Composite", @@ -6817,7 +6909,7 @@ export const SqlServerLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureSqlDatabaseLinkedService: coreHttp.CompositeMapper = { +export const AzureSqlDatabaseLinkedService: coreClient.CompositeMapper = { serializedName: "AzureSqlDatabase", type: { name: "Composite", @@ -6876,7 +6968,7 @@ export const AzureSqlDatabaseLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureSqlMILinkedService: coreHttp.CompositeMapper = { +export const AzureSqlMILinkedService: coreClient.CompositeMapper = { serializedName: "AzureSqlMI", type: { name: "Composite", @@ -6935,7 +7027,7 @@ export const AzureSqlMILinkedService: coreHttp.CompositeMapper = { } }; -export const AzureBatchLinkedService: coreHttp.CompositeMapper = { +export const AzureBatchLinkedService: coreClient.CompositeMapper = { serializedName: "AzureBatch", type: { name: "Composite", @@ -6990,7 +7082,7 @@ export const AzureBatchLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureKeyVaultLinkedService: coreHttp.CompositeMapper = { +export const AzureKeyVaultLinkedService: coreClient.CompositeMapper = { serializedName: "AzureKeyVault", type: { name: "Composite", @@ -7011,7 +7103,7 @@ export const AzureKeyVaultLinkedService: coreHttp.CompositeMapper = { } }; -export const CosmosDbLinkedService: coreHttp.CompositeMapper = { +export const CosmosDbLinkedService: coreClient.CompositeMapper = { serializedName: "CosmosDb", type: { name: "Composite", @@ -7056,7 +7148,7 @@ export const CosmosDbLinkedService: coreHttp.CompositeMapper = { } }; -export const DynamicsLinkedService: coreHttp.CompositeMapper = { +export const DynamicsLinkedService: coreClient.CompositeMapper = { serializedName: "Dynamics", type: { name: "Composite", @@ -7146,7 +7238,7 @@ export const DynamicsLinkedService: coreHttp.CompositeMapper = { } }; -export const DynamicsCrmLinkedService: coreHttp.CompositeMapper = { +export const DynamicsCrmLinkedService: coreClient.CompositeMapper = { serializedName: "DynamicsCrm", type: { name: "Composite", @@ -7236,7 +7328,7 @@ export const DynamicsCrmLinkedService: coreHttp.CompositeMapper = { } }; -export const CommonDataServiceForAppsLinkedService: coreHttp.CompositeMapper = { +export const CommonDataServiceForAppsLinkedService: coreClient.CompositeMapper = { serializedName: "CommonDataServiceForApps", type: { name: "Composite", @@ -7326,7 +7418,7 @@ export const CommonDataServiceForAppsLinkedService: coreHttp.CompositeMapper = { } }; -export const HDInsightLinkedService: coreHttp.CompositeMapper = { +export const HDInsightLinkedService: coreClient.CompositeMapper = { serializedName: "HDInsight", type: { name: "Composite", @@ -7392,7 +7484,7 @@ export const HDInsightLinkedService: coreHttp.CompositeMapper = { } }; -export const FileServerLinkedService: coreHttp.CompositeMapper = { +export const FileServerLinkedService: coreClient.CompositeMapper = { serializedName: "FileServer", type: { name: "Composite", @@ -7432,7 +7524,7 @@ export const FileServerLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureFileStorageLinkedService: coreHttp.CompositeMapper = { +export const AzureFileStorageLinkedService: coreClient.CompositeMapper = { serializedName: "AzureFileStorage", type: { name: "Composite", @@ -7510,7 +7602,7 @@ export const AzureFileStorageLinkedService: coreHttp.CompositeMapper = { } }; -export const GoogleCloudStorageLinkedService: coreHttp.CompositeMapper = { +export const GoogleCloudStorageLinkedService: coreClient.CompositeMapper = { serializedName: "GoogleCloudStorage", type: { name: "Composite", @@ -7549,7 +7641,7 @@ export const GoogleCloudStorageLinkedService: coreHttp.CompositeMapper = { } }; -export const OracleLinkedService: coreHttp.CompositeMapper = { +export const OracleLinkedService: coreClient.CompositeMapper = { serializedName: "Oracle", type: { name: "Composite", @@ -7583,7 +7675,7 @@ export const OracleLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureMySqlLinkedService: coreHttp.CompositeMapper = { +export const AzureMySqlLinkedService: coreClient.CompositeMapper = { serializedName: "AzureMySql", type: { name: "Composite", @@ -7617,7 +7709,7 @@ export const AzureMySqlLinkedService: coreHttp.CompositeMapper = { } }; -export const MySqlLinkedService: coreHttp.CompositeMapper = { +export const MySqlLinkedService: coreClient.CompositeMapper = { serializedName: "MySql", type: { name: "Composite", @@ -7651,7 +7743,7 @@ export const MySqlLinkedService: coreHttp.CompositeMapper = { } }; -export const PostgreSqlLinkedService: coreHttp.CompositeMapper = { +export const PostgreSqlLinkedService: coreClient.CompositeMapper = { serializedName: "PostgreSql", type: { name: "Composite", @@ -7685,7 +7777,7 @@ export const PostgreSqlLinkedService: coreHttp.CompositeMapper = { } }; -export const SybaseLinkedService: coreHttp.CompositeMapper = { +export const SybaseLinkedService: coreClient.CompositeMapper = { serializedName: "Sybase", type: { name: "Composite", @@ -7744,7 +7836,7 @@ export const SybaseLinkedService: coreHttp.CompositeMapper = { } }; -export const Db2LinkedService: coreHttp.CompositeMapper = { +export const Db2LinkedService: coreClient.CompositeMapper = { serializedName: "Db2", type: { name: "Composite", @@ -7815,7 +7907,7 @@ export const Db2LinkedService: coreHttp.CompositeMapper = { } }; -export const TeradataLinkedService: coreHttp.CompositeMapper = { +export const TeradataLinkedService: coreClient.CompositeMapper = { serializedName: "Teradata", type: { name: "Composite", @@ -7866,7 +7958,7 @@ export const TeradataLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureMLLinkedService: coreHttp.CompositeMapper = { +export const AzureMLLinkedService: coreClient.CompositeMapper = { serializedName: "AzureML", type: { name: "Composite", @@ -7925,7 +8017,7 @@ export const AzureMLLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureMLServiceLinkedService: coreHttp.CompositeMapper = { +export const AzureMLServiceLinkedService: coreClient.CompositeMapper = { serializedName: "AzureMLService", type: { name: "Composite", @@ -7985,7 +8077,7 @@ export const AzureMLServiceLinkedService: coreHttp.CompositeMapper = { } }; -export const OdbcLinkedService: coreHttp.CompositeMapper = { +export const OdbcLinkedService: coreClient.CompositeMapper = { serializedName: "Odbc", type: { name: "Composite", @@ -8038,7 +8130,7 @@ export const OdbcLinkedService: coreHttp.CompositeMapper = { } }; -export const InformixLinkedService: coreHttp.CompositeMapper = { +export const InformixLinkedService: coreClient.CompositeMapper = { serializedName: "Informix", type: { name: "Composite", @@ -8091,7 +8183,7 @@ export const InformixLinkedService: coreHttp.CompositeMapper = { } }; -export const MicrosoftAccessLinkedService: coreHttp.CompositeMapper = { +export const MicrosoftAccessLinkedService: coreClient.CompositeMapper = { serializedName: "MicrosoftAccess", type: { name: "Composite", @@ -8144,7 +8236,7 @@ export const MicrosoftAccessLinkedService: coreHttp.CompositeMapper = { } }; -export const HdfsLinkedService: coreHttp.CompositeMapper = { +export const HdfsLinkedService: coreClient.CompositeMapper = { serializedName: "Hdfs", type: { name: "Composite", @@ -8190,7 +8282,7 @@ export const HdfsLinkedService: coreHttp.CompositeMapper = { } }; -export const ODataLinkedService: coreHttp.CompositeMapper = { +export const ODataLinkedService: coreClient.CompositeMapper = { serializedName: "OData", type: { name: "Composite", @@ -8287,7 +8379,7 @@ export const ODataLinkedService: coreHttp.CompositeMapper = { } }; -export const WebLinkedService: coreHttp.CompositeMapper = { +export const WebLinkedService: coreClient.CompositeMapper = { serializedName: "Web", type: { name: "Composite", @@ -8308,7 +8400,7 @@ export const WebLinkedService: coreHttp.CompositeMapper = { } }; -export const CassandraLinkedService: coreHttp.CompositeMapper = { +export const CassandraLinkedService: coreClient.CompositeMapper = { serializedName: "Cassandra", type: { name: "Composite", @@ -8360,7 +8452,7 @@ export const CassandraLinkedService: coreHttp.CompositeMapper = { } }; -export const MongoDbLinkedService: coreHttp.CompositeMapper = { +export const MongoDbLinkedService: coreClient.CompositeMapper = { serializedName: "MongoDb", type: { name: "Composite", @@ -8437,7 +8529,7 @@ export const MongoDbLinkedService: coreHttp.CompositeMapper = { } }; -export const MongoDbAtlasLinkedService: coreHttp.CompositeMapper = { +export const MongoDbAtlasLinkedService: coreClient.CompositeMapper = { serializedName: "MongoDbAtlas", type: { name: "Composite", @@ -8465,7 +8557,7 @@ export const MongoDbAtlasLinkedService: coreHttp.CompositeMapper = { } }; -export const MongoDbV2LinkedService: coreHttp.CompositeMapper = { +export const MongoDbV2LinkedService: coreClient.CompositeMapper = { serializedName: "MongoDbV2", type: { name: "Composite", @@ -8493,7 +8585,7 @@ export const MongoDbV2LinkedService: coreHttp.CompositeMapper = { } }; -export const CosmosDbMongoDbApiLinkedService: coreHttp.CompositeMapper = { +export const CosmosDbMongoDbApiLinkedService: coreClient.CompositeMapper = { serializedName: "CosmosDbMongoDbApi", type: { name: "Composite", @@ -8521,7 +8613,7 @@ export const CosmosDbMongoDbApiLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureDataLakeStoreLinkedService: coreHttp.CompositeMapper = { +export const AzureDataLakeStoreLinkedService: coreClient.CompositeMapper = { serializedName: "AzureDataLakeStore", type: { name: "Composite", @@ -8591,7 +8683,7 @@ export const AzureDataLakeStoreLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureBlobFSLinkedService: coreHttp.CompositeMapper = { +export const AzureBlobFSLinkedService: coreClient.CompositeMapper = { serializedName: "AzureBlobFS", type: { name: "Composite", @@ -8649,7 +8741,7 @@ export const AzureBlobFSLinkedService: coreHttp.CompositeMapper = { } }; -export const Office365LinkedService: coreHttp.CompositeMapper = { +export const Office365LinkedService: coreClient.CompositeMapper = { serializedName: "Office365", type: { name: "Composite", @@ -8697,7 +8789,7 @@ export const Office365LinkedService: coreHttp.CompositeMapper = { } }; -export const SalesforceLinkedService: coreHttp.CompositeMapper = { +export const SalesforceLinkedService: coreClient.CompositeMapper = { serializedName: "Salesforce", type: { name: "Composite", @@ -8749,7 +8841,7 @@ export const SalesforceLinkedService: coreHttp.CompositeMapper = { } }; -export const SalesforceServiceCloudLinkedService: coreHttp.CompositeMapper = { +export const SalesforceServiceCloudLinkedService: coreClient.CompositeMapper = { serializedName: "SalesforceServiceCloud", type: { name: "Composite", @@ -8807,7 +8899,7 @@ export const SalesforceServiceCloudLinkedService: coreHttp.CompositeMapper = { } }; -export const SapCloudForCustomerLinkedService: coreHttp.CompositeMapper = { +export const SapCloudForCustomerLinkedService: coreClient.CompositeMapper = { serializedName: "SapCloudForCustomer", type: { name: "Composite", @@ -8847,7 +8939,7 @@ export const SapCloudForCustomerLinkedService: coreHttp.CompositeMapper = { } }; -export const SapEccLinkedService: coreHttp.CompositeMapper = { +export const SapEccLinkedService: coreClient.CompositeMapper = { serializedName: "SapEcc", type: { name: "Composite", @@ -8887,7 +8979,7 @@ export const SapEccLinkedService: coreHttp.CompositeMapper = { } }; -export const SapOpenHubLinkedService: coreHttp.CompositeMapper = { +export const SapOpenHubLinkedService: coreClient.CompositeMapper = { serializedName: "SapOpenHub", type: { name: "Composite", @@ -8971,7 +9063,7 @@ export const SapOpenHubLinkedService: coreHttp.CompositeMapper = { } }; -export const RestServiceLinkedService: coreHttp.CompositeMapper = { +export const RestServiceLinkedService: coreClient.CompositeMapper = { serializedName: "RestService", type: { name: "Composite", @@ -9055,7 +9147,7 @@ export const RestServiceLinkedService: coreHttp.CompositeMapper = { } }; -export const AmazonS3LinkedService: coreHttp.CompositeMapper = { +export const AmazonS3LinkedService: coreClient.CompositeMapper = { serializedName: "AmazonS3", type: { name: "Composite", @@ -9107,7 +9199,7 @@ export const AmazonS3LinkedService: coreHttp.CompositeMapper = { } }; -export const AmazonRedshiftLinkedService: coreHttp.CompositeMapper = { +export const AmazonRedshiftLinkedService: coreClient.CompositeMapper = { serializedName: "AmazonRedshift", type: { name: "Composite", @@ -9160,7 +9252,7 @@ export const AmazonRedshiftLinkedService: coreHttp.CompositeMapper = { } }; -export const CustomDataSourceLinkedService: coreHttp.CompositeMapper = { +export const CustomDataSourceLinkedService: coreClient.CompositeMapper = { serializedName: "CustomDataSource", type: { name: "Composite", @@ -9181,7 +9273,7 @@ export const CustomDataSourceLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureSearchLinkedService: coreHttp.CompositeMapper = { +export const AzureSearchLinkedService: coreClient.CompositeMapper = { serializedName: "AzureSearch", type: { name: "Composite", @@ -9215,7 +9307,7 @@ export const AzureSearchLinkedService: coreHttp.CompositeMapper = { } }; -export const HttpLinkedService: coreHttp.CompositeMapper = { +export const HttpLinkedService: coreClient.CompositeMapper = { serializedName: "HttpServer", type: { name: "Composite", @@ -9279,7 +9371,7 @@ export const HttpLinkedService: coreHttp.CompositeMapper = { } }; -export const FtpServerLinkedService: coreHttp.CompositeMapper = { +export const FtpServerLinkedService: coreClient.CompositeMapper = { serializedName: "FtpServer", type: { name: "Composite", @@ -9343,7 +9435,7 @@ export const FtpServerLinkedService: coreHttp.CompositeMapper = { } }; -export const SftpServerLinkedService: coreHttp.CompositeMapper = { +export const SftpServerLinkedService: coreClient.CompositeMapper = { serializedName: "Sftp", type: { name: "Composite", @@ -9427,7 +9519,7 @@ export const SftpServerLinkedService: coreHttp.CompositeMapper = { } }; -export const SapBWLinkedService: coreHttp.CompositeMapper = { +export const SapBWLinkedService: coreClient.CompositeMapper = { serializedName: "SapBW", type: { name: "Composite", @@ -9481,7 +9573,7 @@ export const SapBWLinkedService: coreHttp.CompositeMapper = { } }; -export const SapHanaLinkedService: coreHttp.CompositeMapper = { +export const SapHanaLinkedService: coreClient.CompositeMapper = { serializedName: "SapHana", type: { name: "Composite", @@ -9533,7 +9625,7 @@ export const SapHanaLinkedService: coreHttp.CompositeMapper = { } }; -export const AmazonMWSLinkedService: coreHttp.CompositeMapper = { +export const AmazonMWSLinkedService: coreClient.CompositeMapper = { serializedName: "AmazonMWS", type: { name: "Composite", @@ -9613,7 +9705,7 @@ export const AmazonMWSLinkedService: coreHttp.CompositeMapper = { } }; -export const AzurePostgreSqlLinkedService: coreHttp.CompositeMapper = { +export const AzurePostgreSqlLinkedService: coreClient.CompositeMapper = { serializedName: "AzurePostgreSql", type: { name: "Composite", @@ -9646,7 +9738,7 @@ export const AzurePostgreSqlLinkedService: coreHttp.CompositeMapper = { } }; -export const ConcurLinkedService: coreHttp.CompositeMapper = { +export const ConcurLinkedService: coreClient.CompositeMapper = { serializedName: "Concur", type: { name: "Composite", @@ -9711,7 +9803,7 @@ export const ConcurLinkedService: coreHttp.CompositeMapper = { } }; -export const CouchbaseLinkedService: coreHttp.CompositeMapper = { +export const CouchbaseLinkedService: coreClient.CompositeMapper = { serializedName: "Couchbase", type: { name: "Composite", @@ -9744,7 +9836,7 @@ export const CouchbaseLinkedService: coreHttp.CompositeMapper = { } }; -export const DrillLinkedService: coreHttp.CompositeMapper = { +export const DrillLinkedService: coreClient.CompositeMapper = { serializedName: "Drill", type: { name: "Composite", @@ -9777,7 +9869,7 @@ export const DrillLinkedService: coreHttp.CompositeMapper = { } }; -export const EloquaLinkedService: coreHttp.CompositeMapper = { +export const EloquaLinkedService: coreClient.CompositeMapper = { serializedName: "Eloqua", type: { name: "Composite", @@ -9836,7 +9928,7 @@ export const EloquaLinkedService: coreHttp.CompositeMapper = { } }; -export const GoogleBigQueryLinkedService: coreHttp.CompositeMapper = { +export const GoogleBigQueryLinkedService: coreClient.CompositeMapper = { serializedName: "GoogleBigQuery", type: { name: "Composite", @@ -9926,7 +10018,7 @@ export const GoogleBigQueryLinkedService: coreHttp.CompositeMapper = { } }; -export const GreenplumLinkedService: coreHttp.CompositeMapper = { +export const GreenplumLinkedService: coreClient.CompositeMapper = { serializedName: "Greenplum", type: { name: "Composite", @@ -9959,7 +10051,7 @@ export const GreenplumLinkedService: coreHttp.CompositeMapper = { } }; -export const HBaseLinkedService: coreHttp.CompositeMapper = { +export const HBaseLinkedService: coreClient.CompositeMapper = { serializedName: "HBase", type: { name: "Composite", @@ -10042,7 +10134,7 @@ export const HBaseLinkedService: coreHttp.CompositeMapper = { } }; -export const HiveLinkedService: coreHttp.CompositeMapper = { +export const HiveLinkedService: coreClient.CompositeMapper = { serializedName: "Hive", type: { name: "Composite", @@ -10161,7 +10253,7 @@ export const HiveLinkedService: coreHttp.CompositeMapper = { } }; -export const HubspotLinkedService: coreHttp.CompositeMapper = { +export const HubspotLinkedService: coreClient.CompositeMapper = { serializedName: "Hubspot", type: { name: "Composite", @@ -10227,7 +10319,7 @@ export const HubspotLinkedService: coreHttp.CompositeMapper = { } }; -export const ImpalaLinkedService: coreHttp.CompositeMapper = { +export const ImpalaLinkedService: coreClient.CompositeMapper = { serializedName: "Impala", type: { name: "Composite", @@ -10310,7 +10402,7 @@ export const ImpalaLinkedService: coreHttp.CompositeMapper = { } }; -export const JiraLinkedService: coreHttp.CompositeMapper = { +export const JiraLinkedService: coreClient.CompositeMapper = { serializedName: "Jira", type: { name: "Composite", @@ -10375,7 +10467,7 @@ export const JiraLinkedService: coreHttp.CompositeMapper = { } }; -export const MagentoLinkedService: coreHttp.CompositeMapper = { +export const MagentoLinkedService: coreClient.CompositeMapper = { serializedName: "Magento", type: { name: "Composite", @@ -10427,7 +10519,7 @@ export const MagentoLinkedService: coreHttp.CompositeMapper = { } }; -export const MariaDBLinkedService: coreHttp.CompositeMapper = { +export const MariaDBLinkedService: coreClient.CompositeMapper = { serializedName: "MariaDB", type: { name: "Composite", @@ -10460,7 +10552,7 @@ export const MariaDBLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureMariaDBLinkedService: coreHttp.CompositeMapper = { +export const AzureMariaDBLinkedService: coreClient.CompositeMapper = { serializedName: "AzureMariaDB", type: { name: "Composite", @@ -10493,7 +10585,7 @@ export const AzureMariaDBLinkedService: coreHttp.CompositeMapper = { } }; -export const MarketoLinkedService: coreHttp.CompositeMapper = { +export const MarketoLinkedService: coreClient.CompositeMapper = { serializedName: "Marketo", type: { name: "Composite", @@ -10552,7 +10644,7 @@ export const MarketoLinkedService: coreHttp.CompositeMapper = { } }; -export const PaypalLinkedService: coreHttp.CompositeMapper = { +export const PaypalLinkedService: coreClient.CompositeMapper = { serializedName: "Paypal", type: { name: "Composite", @@ -10611,7 +10703,7 @@ export const PaypalLinkedService: coreHttp.CompositeMapper = { } }; -export const PhoenixLinkedService: coreHttp.CompositeMapper = { +export const PhoenixLinkedService: coreClient.CompositeMapper = { serializedName: "Phoenix", type: { name: "Composite", @@ -10700,7 +10792,7 @@ export const PhoenixLinkedService: coreHttp.CompositeMapper = { } }; -export const PrestoLinkedService: coreHttp.CompositeMapper = { +export const PrestoLinkedService: coreClient.CompositeMapper = { serializedName: "Presto", type: { name: "Composite", @@ -10803,7 +10895,7 @@ export const PrestoLinkedService: coreHttp.CompositeMapper = { } }; -export const QuickBooksLinkedService: coreHttp.CompositeMapper = { +export const QuickBooksLinkedService: coreClient.CompositeMapper = { serializedName: "QuickBooks", type: { name: "Composite", @@ -10877,7 +10969,7 @@ export const QuickBooksLinkedService: coreHttp.CompositeMapper = { } }; -export const ServiceNowLinkedService: coreHttp.CompositeMapper = { +export const ServiceNowLinkedService: coreClient.CompositeMapper = { serializedName: "ServiceNow", type: { name: "Composite", @@ -10955,7 +11047,7 @@ export const ServiceNowLinkedService: coreHttp.CompositeMapper = { } }; -export const ShopifyLinkedService: coreHttp.CompositeMapper = { +export const ShopifyLinkedService: coreClient.CompositeMapper = { serializedName: "Shopify", type: { name: "Composite", @@ -11007,7 +11099,7 @@ export const ShopifyLinkedService: coreHttp.CompositeMapper = { } }; -export const SparkLinkedService: coreHttp.CompositeMapper = { +export const SparkLinkedService: coreClient.CompositeMapper = { serializedName: "Spark", type: { name: "Composite", @@ -11109,7 +11201,7 @@ export const SparkLinkedService: coreHttp.CompositeMapper = { } }; -export const SquareLinkedService: coreHttp.CompositeMapper = { +export const SquareLinkedService: coreClient.CompositeMapper = { serializedName: "Square", type: { name: "Composite", @@ -11181,7 +11273,7 @@ export const SquareLinkedService: coreHttp.CompositeMapper = { } }; -export const XeroLinkedService: coreHttp.CompositeMapper = { +export const XeroLinkedService: coreClient.CompositeMapper = { serializedName: "Xero", type: { name: "Composite", @@ -11246,7 +11338,7 @@ export const XeroLinkedService: coreHttp.CompositeMapper = { } }; -export const ZohoLinkedService: coreHttp.CompositeMapper = { +export const ZohoLinkedService: coreClient.CompositeMapper = { serializedName: "Zoho", type: { name: "Composite", @@ -11304,7 +11396,7 @@ export const ZohoLinkedService: coreHttp.CompositeMapper = { } }; -export const VerticaLinkedService: coreHttp.CompositeMapper = { +export const VerticaLinkedService: coreClient.CompositeMapper = { serializedName: "Vertica", type: { name: "Composite", @@ -11337,7 +11429,7 @@ export const VerticaLinkedService: coreHttp.CompositeMapper = { } }; -export const NetezzaLinkedService: coreHttp.CompositeMapper = { +export const NetezzaLinkedService: coreClient.CompositeMapper = { serializedName: "Netezza", type: { name: "Composite", @@ -11370,7 +11462,7 @@ export const NetezzaLinkedService: coreHttp.CompositeMapper = { } }; -export const SalesforceMarketingCloudLinkedService: coreHttp.CompositeMapper = { +export const SalesforceMarketingCloudLinkedService: coreClient.CompositeMapper = { serializedName: "SalesforceMarketingCloud", type: { name: "Composite", @@ -11428,7 +11520,7 @@ export const SalesforceMarketingCloudLinkedService: coreHttp.CompositeMapper = { } }; -export const HDInsightOnDemandLinkedService: coreHttp.CompositeMapper = { +export const HDInsightOnDemandLinkedService: coreClient.CompositeMapper = { serializedName: "HDInsightOnDemand", type: { name: "Composite", @@ -11663,7 +11755,7 @@ export const HDInsightOnDemandLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureDataLakeAnalyticsLinkedService: coreHttp.CompositeMapper = { +export const AzureDataLakeAnalyticsLinkedService: coreClient.CompositeMapper = { serializedName: "AzureDataLakeAnalytics", type: { name: "Composite", @@ -11728,7 +11820,7 @@ export const AzureDataLakeAnalyticsLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureDatabricksLinkedService: coreHttp.CompositeMapper = { +export const AzureDatabricksLinkedService: coreClient.CompositeMapper = { serializedName: "AzureDatabricks", type: { name: "Composite", @@ -11855,7 +11947,7 @@ export const AzureDatabricksLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureDatabricksDeltaLakeLinkedService: coreHttp.CompositeMapper = { +export const AzureDatabricksDeltaLakeLinkedService: coreClient.CompositeMapper = { serializedName: "AzureDatabricksDeltaLake", type: { name: "Composite", @@ -11895,7 +11987,7 @@ export const AzureDatabricksDeltaLakeLinkedService: coreHttp.CompositeMapper = { } }; -export const ResponsysLinkedService: coreHttp.CompositeMapper = { +export const ResponsysLinkedService: coreClient.CompositeMapper = { serializedName: "Responsys", type: { name: "Composite", @@ -11954,7 +12046,7 @@ export const ResponsysLinkedService: coreHttp.CompositeMapper = { } }; -export const DynamicsAXLinkedService: coreHttp.CompositeMapper = { +export const DynamicsAXLinkedService: coreClient.CompositeMapper = { serializedName: "DynamicsAX", type: { name: "Composite", @@ -12009,7 +12101,7 @@ export const DynamicsAXLinkedService: coreHttp.CompositeMapper = { } }; -export const OracleServiceCloudLinkedService: coreHttp.CompositeMapper = { +export const OracleServiceCloudLinkedService: coreClient.CompositeMapper = { serializedName: "OracleServiceCloud", type: { name: "Composite", @@ -12068,7 +12160,7 @@ export const OracleServiceCloudLinkedService: coreHttp.CompositeMapper = { } }; -export const GoogleAdWordsLinkedService: coreHttp.CompositeMapper = { +export const GoogleAdWordsLinkedService: coreClient.CompositeMapper = { serializedName: "GoogleAdWords", type: { name: "Composite", @@ -12153,7 +12245,7 @@ export const GoogleAdWordsLinkedService: coreHttp.CompositeMapper = { } }; -export const SapTableLinkedService: coreHttp.CompositeMapper = { +export const SapTableLinkedService: coreClient.CompositeMapper = { serializedName: "SapTable", type: { name: "Composite", @@ -12264,7 +12356,7 @@ export const SapTableLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureDataExplorerLinkedService: coreHttp.CompositeMapper = { +export const AzureDataExplorerLinkedService: coreClient.CompositeMapper = { serializedName: "AzureDataExplorer", type: { name: "Composite", @@ -12313,7 +12405,7 @@ export const AzureDataExplorerLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureFunctionLinkedService: coreHttp.CompositeMapper = { +export const AzureFunctionLinkedService: coreClient.CompositeMapper = { serializedName: "AzureFunction", type: { name: "Composite", @@ -12347,7 +12439,7 @@ export const AzureFunctionLinkedService: coreHttp.CompositeMapper = { } }; -export const SnowflakeLinkedService: coreHttp.CompositeMapper = { +export const SnowflakeLinkedService: coreClient.CompositeMapper = { serializedName: "Snowflake", type: { name: "Composite", @@ -12381,7 +12473,7 @@ export const SnowflakeLinkedService: coreHttp.CompositeMapper = { } }; -export const SharePointOnlineListLinkedService: coreHttp.CompositeMapper = { +export const SharePointOnlineListLinkedService: coreClient.CompositeMapper = { serializedName: "SharePointOnlineList", type: { name: "Composite", @@ -12429,58 +12521,7 @@ export const SharePointOnlineListLinkedService: coreHttp.CompositeMapper = { } }; -export const AzureEntityResource: coreHttp.CompositeMapper = { - type: { - name: "Composite", - className: "AzureEntityResource", - modelProperties: { - ...Resource.type.modelProperties, - etag: { - serializedName: "etag", - readOnly: true, - type: { - name: "String" - } - } - } - } -}; - -export const ProxyResource: coreHttp.CompositeMapper = { - type: { - name: "Composite", - className: "ProxyResource", - modelProperties: { - ...Resource.type.modelProperties - } - } -}; - -export const TrackedResource: coreHttp.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 AmazonS3Dataset: coreHttp.CompositeMapper = { +export const AmazonS3Dataset: coreClient.CompositeMapper = { serializedName: "AmazonS3Object", type: { name: "Composite", @@ -12545,7 +12586,7 @@ export const AmazonS3Dataset: coreHttp.CompositeMapper = { } }; -export const AvroDataset: coreHttp.CompositeMapper = { +export const AvroDataset: coreClient.CompositeMapper = { serializedName: "Avro", type: { name: "Composite", @@ -12582,7 +12623,7 @@ export const AvroDataset: coreHttp.CompositeMapper = { } }; -export const ExcelDataset: coreHttp.CompositeMapper = { +export const ExcelDataset: coreClient.CompositeMapper = { serializedName: "Excel", type: { name: "Composite", @@ -12634,7 +12675,7 @@ export const ExcelDataset: coreHttp.CompositeMapper = { } }; -export const ParquetDataset: coreHttp.CompositeMapper = { +export const ParquetDataset: coreClient.CompositeMapper = { serializedName: "Parquet", type: { name: "Composite", @@ -12661,7 +12702,7 @@ export const ParquetDataset: coreHttp.CompositeMapper = { } }; -export const DelimitedTextDataset: coreHttp.CompositeMapper = { +export const DelimitedTextDataset: coreClient.CompositeMapper = { serializedName: "DelimitedText", type: { name: "Composite", @@ -12736,7 +12777,7 @@ export const DelimitedTextDataset: coreHttp.CompositeMapper = { } }; -export const JsonDataset: coreHttp.CompositeMapper = { +export const JsonDataset: coreClient.CompositeMapper = { serializedName: "Json", type: { name: "Composite", @@ -12770,7 +12811,7 @@ export const JsonDataset: coreHttp.CompositeMapper = { } }; -export const XmlDataset: coreHttp.CompositeMapper = { +export const XmlDataset: coreClient.CompositeMapper = { serializedName: "Xml", type: { name: "Composite", @@ -12810,7 +12851,7 @@ export const XmlDataset: coreHttp.CompositeMapper = { } }; -export const OrcDataset: coreHttp.CompositeMapper = { +export const OrcDataset: coreClient.CompositeMapper = { serializedName: "Orc", type: { name: "Composite", @@ -12837,7 +12878,7 @@ export const OrcDataset: coreHttp.CompositeMapper = { } }; -export const BinaryDataset: coreHttp.CompositeMapper = { +export const BinaryDataset: coreClient.CompositeMapper = { serializedName: "Binary", type: { name: "Composite", @@ -12865,7 +12906,7 @@ export const BinaryDataset: coreHttp.CompositeMapper = { } }; -export const AzureBlobDataset: coreHttp.CompositeMapper = { +export const AzureBlobDataset: coreClient.CompositeMapper = { serializedName: "AzureBlob", type: { name: "Composite", @@ -12923,7 +12964,7 @@ export const AzureBlobDataset: coreHttp.CompositeMapper = { } }; -export const AzureTableDataset: coreHttp.CompositeMapper = { +export const AzureTableDataset: coreClient.CompositeMapper = { serializedName: "AzureTable", type: { name: "Composite", @@ -12944,7 +12985,7 @@ export const AzureTableDataset: coreHttp.CompositeMapper = { } }; -export const AzureSqlTableDataset: coreHttp.CompositeMapper = { +export const AzureSqlTableDataset: coreClient.CompositeMapper = { serializedName: "AzureSqlTable", type: { name: "Composite", @@ -12976,7 +13017,7 @@ export const AzureSqlTableDataset: coreHttp.CompositeMapper = { } }; -export const AzureSqlMITableDataset: coreHttp.CompositeMapper = { +export const AzureSqlMITableDataset: coreClient.CompositeMapper = { serializedName: "AzureSqlMITable", type: { name: "Composite", @@ -13008,7 +13049,7 @@ export const AzureSqlMITableDataset: coreHttp.CompositeMapper = { } }; -export const AzureSqlDWTableDataset: coreHttp.CompositeMapper = { +export const AzureSqlDWTableDataset: coreClient.CompositeMapper = { serializedName: "AzureSqlDWTable", type: { name: "Composite", @@ -13040,7 +13081,7 @@ export const AzureSqlDWTableDataset: coreHttp.CompositeMapper = { } }; -export const CassandraTableDataset: coreHttp.CompositeMapper = { +export const CassandraTableDataset: coreClient.CompositeMapper = { serializedName: "CassandraTable", type: { name: "Composite", @@ -13066,7 +13107,7 @@ export const CassandraTableDataset: coreHttp.CompositeMapper = { } }; -export const CustomDataset: coreHttp.CompositeMapper = { +export const CustomDataset: coreClient.CompositeMapper = { serializedName: "CustomDataset", type: { name: "Composite", @@ -13086,7 +13127,7 @@ export const CustomDataset: coreHttp.CompositeMapper = { } }; -export const CosmosDbSqlApiCollectionDataset: coreHttp.CompositeMapper = { +export const CosmosDbSqlApiCollectionDataset: coreClient.CompositeMapper = { serializedName: "CosmosDbSqlApiCollection", type: { name: "Composite", @@ -13107,7 +13148,7 @@ export const CosmosDbSqlApiCollectionDataset: coreHttp.CompositeMapper = { } }; -export const DocumentDbCollectionDataset: coreHttp.CompositeMapper = { +export const DocumentDbCollectionDataset: coreClient.CompositeMapper = { serializedName: "DocumentDbCollection", type: { name: "Composite", @@ -13128,7 +13169,7 @@ export const DocumentDbCollectionDataset: coreHttp.CompositeMapper = { } }; -export const DynamicsEntityDataset: coreHttp.CompositeMapper = { +export const DynamicsEntityDataset: coreClient.CompositeMapper = { serializedName: "DynamicsEntity", type: { name: "Composite", @@ -13148,7 +13189,7 @@ export const DynamicsEntityDataset: coreHttp.CompositeMapper = { } }; -export const DynamicsCrmEntityDataset: coreHttp.CompositeMapper = { +export const DynamicsCrmEntityDataset: coreClient.CompositeMapper = { serializedName: "DynamicsCrmEntity", type: { name: "Composite", @@ -13168,7 +13209,7 @@ export const DynamicsCrmEntityDataset: coreHttp.CompositeMapper = { } }; -export const CommonDataServiceForAppsEntityDataset: coreHttp.CompositeMapper = { +export const CommonDataServiceForAppsEntityDataset: coreClient.CompositeMapper = { serializedName: "CommonDataServiceForAppsEntity", type: { name: "Composite", @@ -13188,7 +13229,7 @@ export const CommonDataServiceForAppsEntityDataset: coreHttp.CompositeMapper = { } }; -export const AzureDataLakeStoreDataset: coreHttp.CompositeMapper = { +export const AzureDataLakeStoreDataset: coreClient.CompositeMapper = { serializedName: "AzureDataLakeStoreFile", type: { name: "Composite", @@ -13228,7 +13269,7 @@ export const AzureDataLakeStoreDataset: coreHttp.CompositeMapper = { } }; -export const AzureBlobFSDataset: coreHttp.CompositeMapper = { +export const AzureBlobFSDataset: coreClient.CompositeMapper = { serializedName: "AzureBlobFSFile", type: { name: "Composite", @@ -13268,7 +13309,7 @@ export const AzureBlobFSDataset: coreHttp.CompositeMapper = { } }; -export const Office365Dataset: coreHttp.CompositeMapper = { +export const Office365Dataset: coreClient.CompositeMapper = { serializedName: "Office365Table", type: { name: "Composite", @@ -13295,7 +13336,7 @@ export const Office365Dataset: coreHttp.CompositeMapper = { } }; -export const FileShareDataset: coreHttp.CompositeMapper = { +export const FileShareDataset: coreClient.CompositeMapper = { serializedName: "FileShare", type: { name: "Composite", @@ -13353,7 +13394,7 @@ export const FileShareDataset: coreHttp.CompositeMapper = { } }; -export const MongoDbCollectionDataset: coreHttp.CompositeMapper = { +export const MongoDbCollectionDataset: coreClient.CompositeMapper = { serializedName: "MongoDbCollection", type: { name: "Composite", @@ -13374,7 +13415,7 @@ export const MongoDbCollectionDataset: coreHttp.CompositeMapper = { } }; -export const MongoDbAtlasCollectionDataset: coreHttp.CompositeMapper = { +export const MongoDbAtlasCollectionDataset: coreClient.CompositeMapper = { serializedName: "MongoDbAtlasCollection", type: { name: "Composite", @@ -13395,7 +13436,7 @@ export const MongoDbAtlasCollectionDataset: coreHttp.CompositeMapper = { } }; -export const MongoDbV2CollectionDataset: coreHttp.CompositeMapper = { +export const MongoDbV2CollectionDataset: coreClient.CompositeMapper = { serializedName: "MongoDbV2Collection", type: { name: "Composite", @@ -13416,7 +13457,7 @@ export const MongoDbV2CollectionDataset: coreHttp.CompositeMapper = { } }; -export const CosmosDbMongoDbApiCollectionDataset: coreHttp.CompositeMapper = { +export const CosmosDbMongoDbApiCollectionDataset: coreClient.CompositeMapper = { serializedName: "CosmosDbMongoDbApiCollection", type: { name: "Composite", @@ -13437,7 +13478,7 @@ export const CosmosDbMongoDbApiCollectionDataset: coreHttp.CompositeMapper = { } }; -export const ODataResourceDataset: coreHttp.CompositeMapper = { +export const ODataResourceDataset: coreClient.CompositeMapper = { serializedName: "ODataResource", type: { name: "Composite", @@ -13457,7 +13498,7 @@ export const ODataResourceDataset: coreHttp.CompositeMapper = { } }; -export const OracleTableDataset: coreHttp.CompositeMapper = { +export const OracleTableDataset: coreClient.CompositeMapper = { serializedName: "OracleTable", type: { name: "Composite", @@ -13489,7 +13530,7 @@ export const OracleTableDataset: coreHttp.CompositeMapper = { } }; -export const TeradataTableDataset: coreHttp.CompositeMapper = { +export const TeradataTableDataset: coreClient.CompositeMapper = { serializedName: "TeradataTable", type: { name: "Composite", @@ -13515,7 +13556,7 @@ export const TeradataTableDataset: coreHttp.CompositeMapper = { } }; -export const AzureMySqlTableDataset: coreHttp.CompositeMapper = { +export const AzureMySqlTableDataset: coreClient.CompositeMapper = { serializedName: "AzureMySqlTable", type: { name: "Composite", @@ -13541,7 +13582,7 @@ export const AzureMySqlTableDataset: coreHttp.CompositeMapper = { } }; -export const AmazonRedshiftTableDataset: coreHttp.CompositeMapper = { +export const AmazonRedshiftTableDataset: coreClient.CompositeMapper = { serializedName: "AmazonRedshiftTable", type: { name: "Composite", @@ -13573,7 +13614,7 @@ export const AmazonRedshiftTableDataset: coreHttp.CompositeMapper = { } }; -export const Db2TableDataset: coreHttp.CompositeMapper = { +export const Db2TableDataset: coreClient.CompositeMapper = { serializedName: "Db2Table", type: { name: "Composite", @@ -13605,7 +13646,7 @@ export const Db2TableDataset: coreHttp.CompositeMapper = { } }; -export const RelationalTableDataset: coreHttp.CompositeMapper = { +export const RelationalTableDataset: coreClient.CompositeMapper = { serializedName: "RelationalTable", type: { name: "Composite", @@ -13625,7 +13666,7 @@ export const RelationalTableDataset: coreHttp.CompositeMapper = { } }; -export const InformixTableDataset: coreHttp.CompositeMapper = { +export const InformixTableDataset: coreClient.CompositeMapper = { serializedName: "InformixTable", type: { name: "Composite", @@ -13645,7 +13686,7 @@ export const InformixTableDataset: coreHttp.CompositeMapper = { } }; -export const OdbcTableDataset: coreHttp.CompositeMapper = { +export const OdbcTableDataset: coreClient.CompositeMapper = { serializedName: "OdbcTable", type: { name: "Composite", @@ -13665,7 +13706,7 @@ export const OdbcTableDataset: coreHttp.CompositeMapper = { } }; -export const MySqlTableDataset: coreHttp.CompositeMapper = { +export const MySqlTableDataset: coreClient.CompositeMapper = { serializedName: "MySqlTable", type: { name: "Composite", @@ -13685,7 +13726,7 @@ export const MySqlTableDataset: coreHttp.CompositeMapper = { } }; -export const PostgreSqlTableDataset: coreHttp.CompositeMapper = { +export const PostgreSqlTableDataset: coreClient.CompositeMapper = { serializedName: "PostgreSqlTable", type: { name: "Composite", @@ -13717,7 +13758,7 @@ export const PostgreSqlTableDataset: coreHttp.CompositeMapper = { } }; -export const MicrosoftAccessTableDataset: coreHttp.CompositeMapper = { +export const MicrosoftAccessTableDataset: coreClient.CompositeMapper = { serializedName: "MicrosoftAccessTable", type: { name: "Composite", @@ -13737,7 +13778,7 @@ export const MicrosoftAccessTableDataset: coreHttp.CompositeMapper = { } }; -export const SalesforceObjectDataset: coreHttp.CompositeMapper = { +export const SalesforceObjectDataset: coreClient.CompositeMapper = { serializedName: "SalesforceObject", type: { name: "Composite", @@ -13757,7 +13798,7 @@ export const SalesforceObjectDataset: coreHttp.CompositeMapper = { } }; -export const SalesforceServiceCloudObjectDataset: coreHttp.CompositeMapper = { +export const SalesforceServiceCloudObjectDataset: coreClient.CompositeMapper = { serializedName: "SalesforceServiceCloudObject", type: { name: "Composite", @@ -13777,7 +13818,7 @@ export const SalesforceServiceCloudObjectDataset: coreHttp.CompositeMapper = { } }; -export const SybaseTableDataset: coreHttp.CompositeMapper = { +export const SybaseTableDataset: coreClient.CompositeMapper = { serializedName: "SybaseTable", type: { name: "Composite", @@ -13797,7 +13838,7 @@ export const SybaseTableDataset: coreHttp.CompositeMapper = { } }; -export const SapBwCubeDataset: coreHttp.CompositeMapper = { +export const SapBwCubeDataset: coreClient.CompositeMapper = { serializedName: "SapBwCube", type: { name: "Composite", @@ -13811,7 +13852,7 @@ export const SapBwCubeDataset: coreHttp.CompositeMapper = { } }; -export const SapCloudForCustomerResourceDataset: coreHttp.CompositeMapper = { +export const SapCloudForCustomerResourceDataset: coreClient.CompositeMapper = { serializedName: "SapCloudForCustomerResource", type: { name: "Composite", @@ -13832,7 +13873,7 @@ export const SapCloudForCustomerResourceDataset: coreHttp.CompositeMapper = { } }; -export const SapEccResourceDataset: coreHttp.CompositeMapper = { +export const SapEccResourceDataset: coreClient.CompositeMapper = { serializedName: "SapEccResource", type: { name: "Composite", @@ -13853,7 +13894,7 @@ export const SapEccResourceDataset: coreHttp.CompositeMapper = { } }; -export const SapHanaTableDataset: coreHttp.CompositeMapper = { +export const SapHanaTableDataset: coreClient.CompositeMapper = { serializedName: "SapHanaTable", type: { name: "Composite", @@ -13879,7 +13920,7 @@ export const SapHanaTableDataset: coreHttp.CompositeMapper = { } }; -export const SapOpenHubTableDataset: coreHttp.CompositeMapper = { +export const SapOpenHubTableDataset: coreClient.CompositeMapper = { serializedName: "SapOpenHubTable", type: { name: "Composite", @@ -13912,7 +13953,7 @@ export const SapOpenHubTableDataset: coreHttp.CompositeMapper = { } }; -export const SqlServerTableDataset: coreHttp.CompositeMapper = { +export const SqlServerTableDataset: coreClient.CompositeMapper = { serializedName: "SqlServerTable", type: { name: "Composite", @@ -13944,7 +13985,7 @@ export const SqlServerTableDataset: coreHttp.CompositeMapper = { } }; -export const RestResourceDataset: coreHttp.CompositeMapper = { +export const RestResourceDataset: coreClient.CompositeMapper = { serializedName: "RestResource", type: { name: "Composite", @@ -13988,7 +14029,7 @@ export const RestResourceDataset: coreHttp.CompositeMapper = { } }; -export const SapTableResourceDataset: coreHttp.CompositeMapper = { +export const SapTableResourceDataset: coreClient.CompositeMapper = { serializedName: "SapTableResource", type: { name: "Composite", @@ -14009,7 +14050,7 @@ export const SapTableResourceDataset: coreHttp.CompositeMapper = { } }; -export const WebTableDataset: coreHttp.CompositeMapper = { +export const WebTableDataset: coreClient.CompositeMapper = { serializedName: "WebTable", type: { name: "Composite", @@ -14036,7 +14077,7 @@ export const WebTableDataset: coreHttp.CompositeMapper = { } }; -export const AzureSearchIndexDataset: coreHttp.CompositeMapper = { +export const AzureSearchIndexDataset: coreClient.CompositeMapper = { serializedName: "AzureSearchIndex", type: { name: "Composite", @@ -14057,7 +14098,7 @@ export const AzureSearchIndexDataset: coreHttp.CompositeMapper = { } }; -export const HttpDataset: coreHttp.CompositeMapper = { +export const HttpDataset: coreClient.CompositeMapper = { serializedName: "HttpFile", type: { name: "Composite", @@ -14109,7 +14150,7 @@ export const HttpDataset: coreHttp.CompositeMapper = { } }; -export const AmazonMWSObjectDataset: coreHttp.CompositeMapper = { +export const AmazonMWSObjectDataset: coreClient.CompositeMapper = { serializedName: "AmazonMWSObject", type: { name: "Composite", @@ -14129,7 +14170,7 @@ export const AmazonMWSObjectDataset: coreHttp.CompositeMapper = { } }; -export const AzurePostgreSqlTableDataset: coreHttp.CompositeMapper = { +export const AzurePostgreSqlTableDataset: coreClient.CompositeMapper = { serializedName: "AzurePostgreSqlTable", type: { name: "Composite", @@ -14161,7 +14202,7 @@ export const AzurePostgreSqlTableDataset: coreHttp.CompositeMapper = { } }; -export const ConcurObjectDataset: coreHttp.CompositeMapper = { +export const ConcurObjectDataset: coreClient.CompositeMapper = { serializedName: "ConcurObject", type: { name: "Composite", @@ -14181,7 +14222,7 @@ export const ConcurObjectDataset: coreHttp.CompositeMapper = { } }; -export const CouchbaseTableDataset: coreHttp.CompositeMapper = { +export const CouchbaseTableDataset: coreClient.CompositeMapper = { serializedName: "CouchbaseTable", type: { name: "Composite", @@ -14201,7 +14242,7 @@ export const CouchbaseTableDataset: coreHttp.CompositeMapper = { } }; -export const DrillTableDataset: coreHttp.CompositeMapper = { +export const DrillTableDataset: coreClient.CompositeMapper = { serializedName: "DrillTable", type: { name: "Composite", @@ -14233,7 +14274,7 @@ export const DrillTableDataset: coreHttp.CompositeMapper = { } }; -export const EloquaObjectDataset: coreHttp.CompositeMapper = { +export const EloquaObjectDataset: coreClient.CompositeMapper = { serializedName: "EloquaObject", type: { name: "Composite", @@ -14253,7 +14294,7 @@ export const EloquaObjectDataset: coreHttp.CompositeMapper = { } }; -export const GoogleBigQueryObjectDataset: coreHttp.CompositeMapper = { +export const GoogleBigQueryObjectDataset: coreClient.CompositeMapper = { serializedName: "GoogleBigQueryObject", type: { name: "Composite", @@ -14285,7 +14326,7 @@ export const GoogleBigQueryObjectDataset: coreHttp.CompositeMapper = { } }; -export const GreenplumTableDataset: coreHttp.CompositeMapper = { +export const GreenplumTableDataset: coreClient.CompositeMapper = { serializedName: "GreenplumTable", type: { name: "Composite", @@ -14317,7 +14358,7 @@ export const GreenplumTableDataset: coreHttp.CompositeMapper = { } }; -export const HBaseObjectDataset: coreHttp.CompositeMapper = { +export const HBaseObjectDataset: coreClient.CompositeMapper = { serializedName: "HBaseObject", type: { name: "Composite", @@ -14337,7 +14378,7 @@ export const HBaseObjectDataset: coreHttp.CompositeMapper = { } }; -export const HiveObjectDataset: coreHttp.CompositeMapper = { +export const HiveObjectDataset: coreClient.CompositeMapper = { serializedName: "HiveObject", type: { name: "Composite", @@ -14369,7 +14410,7 @@ export const HiveObjectDataset: coreHttp.CompositeMapper = { } }; -export const HubspotObjectDataset: coreHttp.CompositeMapper = { +export const HubspotObjectDataset: coreClient.CompositeMapper = { serializedName: "HubspotObject", type: { name: "Composite", @@ -14389,7 +14430,7 @@ export const HubspotObjectDataset: coreHttp.CompositeMapper = { } }; -export const ImpalaObjectDataset: coreHttp.CompositeMapper = { +export const ImpalaObjectDataset: coreClient.CompositeMapper = { serializedName: "ImpalaObject", type: { name: "Composite", @@ -14421,7 +14462,7 @@ export const ImpalaObjectDataset: coreHttp.CompositeMapper = { } }; -export const JiraObjectDataset: coreHttp.CompositeMapper = { +export const JiraObjectDataset: coreClient.CompositeMapper = { serializedName: "JiraObject", type: { name: "Composite", @@ -14441,7 +14482,7 @@ export const JiraObjectDataset: coreHttp.CompositeMapper = { } }; -export const MagentoObjectDataset: coreHttp.CompositeMapper = { +export const MagentoObjectDataset: coreClient.CompositeMapper = { serializedName: "MagentoObject", type: { name: "Composite", @@ -14461,7 +14502,7 @@ export const MagentoObjectDataset: coreHttp.CompositeMapper = { } }; -export const MariaDBTableDataset: coreHttp.CompositeMapper = { +export const MariaDBTableDataset: coreClient.CompositeMapper = { serializedName: "MariaDBTable", type: { name: "Composite", @@ -14481,7 +14522,7 @@ export const MariaDBTableDataset: coreHttp.CompositeMapper = { } }; -export const AzureMariaDBTableDataset: coreHttp.CompositeMapper = { +export const AzureMariaDBTableDataset: coreClient.CompositeMapper = { serializedName: "AzureMariaDBTable", type: { name: "Composite", @@ -14501,7 +14542,7 @@ export const AzureMariaDBTableDataset: coreHttp.CompositeMapper = { } }; -export const MarketoObjectDataset: coreHttp.CompositeMapper = { +export const MarketoObjectDataset: coreClient.CompositeMapper = { serializedName: "MarketoObject", type: { name: "Composite", @@ -14521,7 +14562,7 @@ export const MarketoObjectDataset: coreHttp.CompositeMapper = { } }; -export const PaypalObjectDataset: coreHttp.CompositeMapper = { +export const PaypalObjectDataset: coreClient.CompositeMapper = { serializedName: "PaypalObject", type: { name: "Composite", @@ -14541,7 +14582,7 @@ export const PaypalObjectDataset: coreHttp.CompositeMapper = { } }; -export const PhoenixObjectDataset: coreHttp.CompositeMapper = { +export const PhoenixObjectDataset: coreClient.CompositeMapper = { serializedName: "PhoenixObject", type: { name: "Composite", @@ -14573,7 +14614,7 @@ export const PhoenixObjectDataset: coreHttp.CompositeMapper = { } }; -export const PrestoObjectDataset: coreHttp.CompositeMapper = { +export const PrestoObjectDataset: coreClient.CompositeMapper = { serializedName: "PrestoObject", type: { name: "Composite", @@ -14605,7 +14646,7 @@ export const PrestoObjectDataset: coreHttp.CompositeMapper = { } }; -export const QuickBooksObjectDataset: coreHttp.CompositeMapper = { +export const QuickBooksObjectDataset: coreClient.CompositeMapper = { serializedName: "QuickBooksObject", type: { name: "Composite", @@ -14625,7 +14666,7 @@ export const QuickBooksObjectDataset: coreHttp.CompositeMapper = { } }; -export const ServiceNowObjectDataset: coreHttp.CompositeMapper = { +export const ServiceNowObjectDataset: coreClient.CompositeMapper = { serializedName: "ServiceNowObject", type: { name: "Composite", @@ -14645,7 +14686,7 @@ export const ServiceNowObjectDataset: coreHttp.CompositeMapper = { } }; -export const ShopifyObjectDataset: coreHttp.CompositeMapper = { +export const ShopifyObjectDataset: coreClient.CompositeMapper = { serializedName: "ShopifyObject", type: { name: "Composite", @@ -14665,7 +14706,7 @@ export const ShopifyObjectDataset: coreHttp.CompositeMapper = { } }; -export const SparkObjectDataset: coreHttp.CompositeMapper = { +export const SparkObjectDataset: coreClient.CompositeMapper = { serializedName: "SparkObject", type: { name: "Composite", @@ -14697,7 +14738,7 @@ export const SparkObjectDataset: coreHttp.CompositeMapper = { } }; -export const SquareObjectDataset: coreHttp.CompositeMapper = { +export const SquareObjectDataset: coreClient.CompositeMapper = { serializedName: "SquareObject", type: { name: "Composite", @@ -14717,7 +14758,7 @@ export const SquareObjectDataset: coreHttp.CompositeMapper = { } }; -export const XeroObjectDataset: coreHttp.CompositeMapper = { +export const XeroObjectDataset: coreClient.CompositeMapper = { serializedName: "XeroObject", type: { name: "Composite", @@ -14737,7 +14778,7 @@ export const XeroObjectDataset: coreHttp.CompositeMapper = { } }; -export const ZohoObjectDataset: coreHttp.CompositeMapper = { +export const ZohoObjectDataset: coreClient.CompositeMapper = { serializedName: "ZohoObject", type: { name: "Composite", @@ -14757,7 +14798,7 @@ export const ZohoObjectDataset: coreHttp.CompositeMapper = { } }; -export const NetezzaTableDataset: coreHttp.CompositeMapper = { +export const NetezzaTableDataset: coreClient.CompositeMapper = { serializedName: "NetezzaTable", type: { name: "Composite", @@ -14789,7 +14830,7 @@ export const NetezzaTableDataset: coreHttp.CompositeMapper = { } }; -export const VerticaTableDataset: coreHttp.CompositeMapper = { +export const VerticaTableDataset: coreClient.CompositeMapper = { serializedName: "VerticaTable", type: { name: "Composite", @@ -14821,7 +14862,7 @@ export const VerticaTableDataset: coreHttp.CompositeMapper = { } }; -export const SalesforceMarketingCloudObjectDataset: coreHttp.CompositeMapper = { +export const SalesforceMarketingCloudObjectDataset: coreClient.CompositeMapper = { serializedName: "SalesforceMarketingCloudObject", type: { name: "Composite", @@ -14841,7 +14882,7 @@ export const SalesforceMarketingCloudObjectDataset: coreHttp.CompositeMapper = { } }; -export const ResponsysObjectDataset: coreHttp.CompositeMapper = { +export const ResponsysObjectDataset: coreClient.CompositeMapper = { serializedName: "ResponsysObject", type: { name: "Composite", @@ -14861,7 +14902,7 @@ export const ResponsysObjectDataset: coreHttp.CompositeMapper = { } }; -export const DynamicsAXResourceDataset: coreHttp.CompositeMapper = { +export const DynamicsAXResourceDataset: coreClient.CompositeMapper = { serializedName: "DynamicsAXResource", type: { name: "Composite", @@ -14882,7 +14923,7 @@ export const DynamicsAXResourceDataset: coreHttp.CompositeMapper = { } }; -export const OracleServiceCloudObjectDataset: coreHttp.CompositeMapper = { +export const OracleServiceCloudObjectDataset: coreClient.CompositeMapper = { serializedName: "OracleServiceCloudObject", type: { name: "Composite", @@ -14902,7 +14943,7 @@ export const OracleServiceCloudObjectDataset: coreHttp.CompositeMapper = { } }; -export const AzureDataExplorerTableDataset: coreHttp.CompositeMapper = { +export const AzureDataExplorerTableDataset: coreClient.CompositeMapper = { serializedName: "AzureDataExplorerTable", type: { name: "Composite", @@ -14922,7 +14963,7 @@ export const AzureDataExplorerTableDataset: coreHttp.CompositeMapper = { } }; -export const GoogleAdWordsObjectDataset: coreHttp.CompositeMapper = { +export const GoogleAdWordsObjectDataset: coreClient.CompositeMapper = { serializedName: "GoogleAdWordsObject", type: { name: "Composite", @@ -14942,7 +14983,7 @@ export const GoogleAdWordsObjectDataset: coreHttp.CompositeMapper = { } }; -export const SnowflakeDataset: coreHttp.CompositeMapper = { +export const SnowflakeDataset: coreClient.CompositeMapper = { serializedName: "SnowflakeTable", type: { name: "Composite", @@ -14968,7 +15009,7 @@ export const SnowflakeDataset: coreHttp.CompositeMapper = { } }; -export const SharePointOnlineListResourceDataset: coreHttp.CompositeMapper = { +export const SharePointOnlineListResourceDataset: coreClient.CompositeMapper = { serializedName: "SharePointOnlineListResource", type: { name: "Composite", @@ -14988,7 +15029,7 @@ export const SharePointOnlineListResourceDataset: coreHttp.CompositeMapper = { } }; -export const AzureDatabricksDeltaLakeDataset: coreHttp.CompositeMapper = { +export const AzureDatabricksDeltaLakeDataset: coreClient.CompositeMapper = { serializedName: "AzureDatabricksDeltaLakeDataset", type: { name: "Composite", @@ -15014,7 +15055,7 @@ export const AzureDatabricksDeltaLakeDataset: coreHttp.CompositeMapper = { } }; -export const ControlActivity: coreHttp.CompositeMapper = { +export const ControlActivity: coreClient.CompositeMapper = { serializedName: "Container", type: { name: "Composite", @@ -15031,7 +15072,7 @@ export const ControlActivity: coreHttp.CompositeMapper = { } }; -export const ExecutionActivity: coreHttp.CompositeMapper = { +export const ExecutionActivity: coreClient.CompositeMapper = { serializedName: "Execution", type: { name: "Composite", @@ -15062,7 +15103,7 @@ export const ExecutionActivity: coreHttp.CompositeMapper = { } }; -export const SqlPoolStoredProcedureActivity: coreHttp.CompositeMapper = { +export const SqlPoolStoredProcedureActivity: coreClient.CompositeMapper = { serializedName: "SqlPoolStoredProcedure", type: { name: "Composite", @@ -15099,7 +15140,7 @@ export const SqlPoolStoredProcedureActivity: coreHttp.CompositeMapper = { } }; -export const RerunTumblingWindowTrigger: coreHttp.CompositeMapper = { +export const RerunTumblingWindowTrigger: coreClient.CompositeMapper = { serializedName: "RerunTumblingWindowTrigger", type: { name: "Composite", @@ -15145,7 +15186,7 @@ export const RerunTumblingWindowTrigger: coreHttp.CompositeMapper = { } }; -export const MultiplePipelineTrigger: coreHttp.CompositeMapper = { +export const MultiplePipelineTrigger: coreClient.CompositeMapper = { serializedName: "MultiplePipelineTrigger", type: { name: "Composite", @@ -15174,7 +15215,7 @@ export const MultiplePipelineTrigger: coreHttp.CompositeMapper = { } }; -export const TumblingWindowTrigger: coreHttp.CompositeMapper = { +export const TumblingWindowTrigger: coreClient.CompositeMapper = { serializedName: "TumblingWindowTrigger", type: { name: "Composite", @@ -15258,7 +15299,7 @@ export const TumblingWindowTrigger: coreHttp.CompositeMapper = { } }; -export const ChainingTrigger: coreHttp.CompositeMapper = { +export const ChainingTrigger: coreClient.CompositeMapper = { serializedName: "ChainingTrigger", type: { name: "Composite", @@ -15299,7 +15340,7 @@ export const ChainingTrigger: coreHttp.CompositeMapper = { } }; -export const MappingDataFlow: coreHttp.CompositeMapper = { +export const MappingDataFlow: coreClient.CompositeMapper = { serializedName: "MappingDataFlow", type: { name: "Composite", @@ -15354,7 +15395,7 @@ export const MappingDataFlow: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugResource: coreHttp.CompositeMapper = { +export const DataFlowDebugResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugResource", @@ -15371,7 +15412,7 @@ export const DataFlowDebugResource: coreHttp.CompositeMapper = { } }; -export const DatasetDebugResource: coreHttp.CompositeMapper = { +export const DatasetDebugResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "DatasetDebugResource", @@ -15388,7 +15429,7 @@ export const DatasetDebugResource: coreHttp.CompositeMapper = { } }; -export const LinkedServiceDebugResource: coreHttp.CompositeMapper = { +export const LinkedServiceDebugResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "LinkedServiceDebugResource", @@ -15405,7 +15446,7 @@ export const LinkedServiceDebugResource: coreHttp.CompositeMapper = { } }; -export const ManagedIntegrationRuntime: coreHttp.CompositeMapper = { +export const ManagedIntegrationRuntime: coreClient.CompositeMapper = { serializedName: "Managed", type: { name: "Composite", @@ -15447,7 +15488,7 @@ export const ManagedIntegrationRuntime: coreHttp.CompositeMapper = { } }; -export const SelfHostedIntegrationRuntime: coreHttp.CompositeMapper = { +export const SelfHostedIntegrationRuntime: coreClient.CompositeMapper = { serializedName: "SelfHosted", type: { name: "Composite", @@ -15468,7 +15509,7 @@ export const SelfHostedIntegrationRuntime: coreHttp.CompositeMapper = { } }; -export const SecureString: coreHttp.CompositeMapper = { +export const SecureString: coreClient.CompositeMapper = { serializedName: "SecureString", type: { name: "Composite", @@ -15488,7 +15529,7 @@ export const SecureString: coreHttp.CompositeMapper = { } }; -export const AzureKeyVaultSecretReference: coreHttp.CompositeMapper = { +export const AzureKeyVaultSecretReference: coreClient.CompositeMapper = { serializedName: "AzureKeyVaultSecret", type: { name: "Composite", @@ -15521,7 +15562,7 @@ export const AzureKeyVaultSecretReference: coreHttp.CompositeMapper = { } }; -export const DataFlowSource: coreHttp.CompositeMapper = { +export const DataFlowSource: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowSource", @@ -15552,7 +15593,7 @@ export const DataFlowSource: coreHttp.CompositeMapper = { } }; -export const DataFlowSink: coreHttp.CompositeMapper = { +export const DataFlowSink: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowSink", @@ -15583,7 +15624,7 @@ export const DataFlowSink: coreHttp.CompositeMapper = { } }; -export const AzureBlobStorageLocation: coreHttp.CompositeMapper = { +export const AzureBlobStorageLocation: coreClient.CompositeMapper = { serializedName: "AzureBlobStorageLocation", type: { name: "Composite", @@ -15603,7 +15644,7 @@ export const AzureBlobStorageLocation: coreHttp.CompositeMapper = { } }; -export const AzureBlobFSLocation: coreHttp.CompositeMapper = { +export const AzureBlobFSLocation: coreClient.CompositeMapper = { serializedName: "AzureBlobFSLocation", type: { name: "Composite", @@ -15623,7 +15664,7 @@ export const AzureBlobFSLocation: coreHttp.CompositeMapper = { } }; -export const AzureDataLakeStoreLocation: coreHttp.CompositeMapper = { +export const AzureDataLakeStoreLocation: coreClient.CompositeMapper = { serializedName: "AzureDataLakeStoreLocation", type: { name: "Composite", @@ -15637,7 +15678,7 @@ export const AzureDataLakeStoreLocation: coreHttp.CompositeMapper = { } }; -export const AmazonS3Location: coreHttp.CompositeMapper = { +export const AmazonS3Location: coreClient.CompositeMapper = { serializedName: "AmazonS3Location", type: { name: "Composite", @@ -15663,7 +15704,7 @@ export const AmazonS3Location: coreHttp.CompositeMapper = { } }; -export const FileServerLocation: coreHttp.CompositeMapper = { +export const FileServerLocation: coreClient.CompositeMapper = { serializedName: "FileServerLocation", type: { name: "Composite", @@ -15677,7 +15718,7 @@ export const FileServerLocation: coreHttp.CompositeMapper = { } }; -export const AzureFileStorageLocation: coreHttp.CompositeMapper = { +export const AzureFileStorageLocation: coreClient.CompositeMapper = { serializedName: "AzureFileStorageLocation", type: { name: "Composite", @@ -15691,7 +15732,7 @@ export const AzureFileStorageLocation: coreHttp.CompositeMapper = { } }; -export const GoogleCloudStorageLocation: coreHttp.CompositeMapper = { +export const GoogleCloudStorageLocation: coreClient.CompositeMapper = { serializedName: "GoogleCloudStorageLocation", type: { name: "Composite", @@ -15717,7 +15758,7 @@ export const GoogleCloudStorageLocation: coreHttp.CompositeMapper = { } }; -export const FtpServerLocation: coreHttp.CompositeMapper = { +export const FtpServerLocation: coreClient.CompositeMapper = { serializedName: "FtpServerLocation", type: { name: "Composite", @@ -15731,7 +15772,7 @@ export const FtpServerLocation: coreHttp.CompositeMapper = { } }; -export const SftpLocation: coreHttp.CompositeMapper = { +export const SftpLocation: coreClient.CompositeMapper = { serializedName: "SftpLocation", type: { name: "Composite", @@ -15745,7 +15786,7 @@ export const SftpLocation: coreHttp.CompositeMapper = { } }; -export const HttpServerLocation: coreHttp.CompositeMapper = { +export const HttpServerLocation: coreClient.CompositeMapper = { serializedName: "HttpServerLocation", type: { name: "Composite", @@ -15765,7 +15806,7 @@ export const HttpServerLocation: coreHttp.CompositeMapper = { } }; -export const HdfsLocation: coreHttp.CompositeMapper = { +export const HdfsLocation: coreClient.CompositeMapper = { serializedName: "HdfsLocation", type: { name: "Composite", @@ -15779,14 +15820,15 @@ export const HdfsLocation: coreHttp.CompositeMapper = { } }; -export const TextFormat: coreHttp.CompositeMapper = { +export const TextFormat: coreClient.CompositeMapper = { serializedName: "TextFormat", type: { name: "Composite", className: "TextFormat", uberParent: "DatasetStorageFormat", additionalProperties: { type: { name: "Object" } }, - polymorphicDiscriminator: DatasetStorageFormat.type.polymorphicDiscriminator, + polymorphicDiscriminator: + DatasetStorageFormat.type.polymorphicDiscriminator, modelProperties: { ...DatasetStorageFormat.type.modelProperties, columnDelimiter: { @@ -15847,14 +15889,15 @@ export const TextFormat: coreHttp.CompositeMapper = { } }; -export const JsonFormat: coreHttp.CompositeMapper = { +export const JsonFormat: coreClient.CompositeMapper = { serializedName: "JsonFormat", type: { name: "Composite", className: "JsonFormat", uberParent: "DatasetStorageFormat", additionalProperties: { type: { name: "Object" } }, - polymorphicDiscriminator: DatasetStorageFormat.type.polymorphicDiscriminator, + polymorphicDiscriminator: + DatasetStorageFormat.type.polymorphicDiscriminator, modelProperties: { ...DatasetStorageFormat.type.modelProperties, filePattern: { @@ -15891,49 +15934,52 @@ export const JsonFormat: coreHttp.CompositeMapper = { } }; -export const AvroFormat: coreHttp.CompositeMapper = { +export const AvroFormat: coreClient.CompositeMapper = { serializedName: "AvroFormat", type: { name: "Composite", className: "AvroFormat", uberParent: "DatasetStorageFormat", additionalProperties: { type: { name: "Object" } }, - polymorphicDiscriminator: DatasetStorageFormat.type.polymorphicDiscriminator, + polymorphicDiscriminator: + DatasetStorageFormat.type.polymorphicDiscriminator, modelProperties: { ...DatasetStorageFormat.type.modelProperties } } }; -export const OrcFormat: coreHttp.CompositeMapper = { +export const OrcFormat: coreClient.CompositeMapper = { serializedName: "OrcFormat", type: { name: "Composite", className: "OrcFormat", uberParent: "DatasetStorageFormat", additionalProperties: { type: { name: "Object" } }, - polymorphicDiscriminator: DatasetStorageFormat.type.polymorphicDiscriminator, + polymorphicDiscriminator: + DatasetStorageFormat.type.polymorphicDiscriminator, modelProperties: { ...DatasetStorageFormat.type.modelProperties } } }; -export const ParquetFormat: coreHttp.CompositeMapper = { +export const ParquetFormat: coreClient.CompositeMapper = { serializedName: "ParquetFormat", type: { name: "Composite", className: "ParquetFormat", uberParent: "DatasetStorageFormat", additionalProperties: { type: { name: "Object" } }, - polymorphicDiscriminator: DatasetStorageFormat.type.polymorphicDiscriminator, + polymorphicDiscriminator: + DatasetStorageFormat.type.polymorphicDiscriminator, modelProperties: { ...DatasetStorageFormat.type.modelProperties } } }; -export const DatasetBZip2Compression: coreHttp.CompositeMapper = { +export const DatasetBZip2Compression: coreClient.CompositeMapper = { serializedName: "BZip2", type: { name: "Composite", @@ -15947,7 +15993,7 @@ export const DatasetBZip2Compression: coreHttp.CompositeMapper = { } }; -export const DatasetGZipCompression: coreHttp.CompositeMapper = { +export const DatasetGZipCompression: coreClient.CompositeMapper = { serializedName: "GZip", type: { name: "Composite", @@ -15967,7 +16013,7 @@ export const DatasetGZipCompression: coreHttp.CompositeMapper = { } }; -export const DatasetDeflateCompression: coreHttp.CompositeMapper = { +export const DatasetDeflateCompression: coreClient.CompositeMapper = { serializedName: "Deflate", type: { name: "Composite", @@ -15987,7 +16033,7 @@ export const DatasetDeflateCompression: coreHttp.CompositeMapper = { } }; -export const DatasetZipDeflateCompression: coreHttp.CompositeMapper = { +export const DatasetZipDeflateCompression: coreClient.CompositeMapper = { serializedName: "ZipDeflate", type: { name: "Composite", @@ -16007,7 +16053,7 @@ export const DatasetZipDeflateCompression: coreHttp.CompositeMapper = { } }; -export const DatasetTarCompression: coreHttp.CompositeMapper = { +export const DatasetTarCompression: coreClient.CompositeMapper = { serializedName: "Tar", type: { name: "Composite", @@ -16021,7 +16067,7 @@ export const DatasetTarCompression: coreHttp.CompositeMapper = { } }; -export const DatasetTarGZipCompression: coreHttp.CompositeMapper = { +export const DatasetTarGZipCompression: coreClient.CompositeMapper = { serializedName: "TarGZip", type: { name: "Composite", @@ -16041,26 +16087,28 @@ export const DatasetTarGZipCompression: coreHttp.CompositeMapper = { } }; -export const WebAnonymousAuthentication: coreHttp.CompositeMapper = { +export const WebAnonymousAuthentication: coreClient.CompositeMapper = { serializedName: "Anonymous", type: { name: "Composite", className: "WebAnonymousAuthentication", uberParent: "WebLinkedServiceTypeProperties", - polymorphicDiscriminator: WebLinkedServiceTypeProperties.type.polymorphicDiscriminator, + polymorphicDiscriminator: + WebLinkedServiceTypeProperties.type.polymorphicDiscriminator, modelProperties: { ...WebLinkedServiceTypeProperties.type.modelProperties } } }; -export const WebBasicAuthentication: coreHttp.CompositeMapper = { +export const WebBasicAuthentication: coreClient.CompositeMapper = { serializedName: "Basic", type: { name: "Composite", className: "WebBasicAuthentication", uberParent: "WebLinkedServiceTypeProperties", - polymorphicDiscriminator: WebLinkedServiceTypeProperties.type.polymorphicDiscriminator, + polymorphicDiscriminator: + WebLinkedServiceTypeProperties.type.polymorphicDiscriminator, modelProperties: { ...WebLinkedServiceTypeProperties.type.modelProperties, username: { @@ -16081,13 +16129,14 @@ export const WebBasicAuthentication: coreHttp.CompositeMapper = { } }; -export const WebClientCertificateAuthentication: coreHttp.CompositeMapper = { +export const WebClientCertificateAuthentication: coreClient.CompositeMapper = { serializedName: "ClientCertificate", type: { name: "Composite", className: "WebClientCertificateAuthentication", uberParent: "WebLinkedServiceTypeProperties", - polymorphicDiscriminator: WebLinkedServiceTypeProperties.type.polymorphicDiscriminator, + polymorphicDiscriminator: + WebLinkedServiceTypeProperties.type.polymorphicDiscriminator, modelProperties: { ...WebLinkedServiceTypeProperties.type.modelProperties, pfx: { @@ -16108,7 +16157,7 @@ export const WebClientCertificateAuthentication: coreHttp.CompositeMapper = { } }; -export const AzureBlobStorageReadSettings: coreHttp.CompositeMapper = { +export const AzureBlobStorageReadSettings: coreClient.CompositeMapper = { serializedName: "AzureBlobStorageReadSettings", type: { name: "Composite", @@ -16182,7 +16231,7 @@ export const AzureBlobStorageReadSettings: coreHttp.CompositeMapper = { } }; -export const AzureBlobFSReadSettings: coreHttp.CompositeMapper = { +export const AzureBlobFSReadSettings: coreClient.CompositeMapper = { serializedName: "AzureBlobFSReadSettings", type: { name: "Composite", @@ -16250,7 +16299,7 @@ export const AzureBlobFSReadSettings: coreHttp.CompositeMapper = { } }; -export const AzureDataLakeStoreReadSettings: coreHttp.CompositeMapper = { +export const AzureDataLakeStoreReadSettings: coreClient.CompositeMapper = { serializedName: "AzureDataLakeStoreReadSettings", type: { name: "Composite", @@ -16330,7 +16379,7 @@ export const AzureDataLakeStoreReadSettings: coreHttp.CompositeMapper = { } }; -export const AmazonS3ReadSettings: coreHttp.CompositeMapper = { +export const AmazonS3ReadSettings: coreClient.CompositeMapper = { serializedName: "AmazonS3ReadSettings", type: { name: "Composite", @@ -16404,7 +16453,7 @@ export const AmazonS3ReadSettings: coreHttp.CompositeMapper = { } }; -export const FileServerReadSettings: coreHttp.CompositeMapper = { +export const FileServerReadSettings: coreClient.CompositeMapper = { serializedName: "FileServerReadSettings", type: { name: "Composite", @@ -16478,7 +16527,7 @@ export const FileServerReadSettings: coreHttp.CompositeMapper = { } }; -export const AzureFileStorageReadSettings: coreHttp.CompositeMapper = { +export const AzureFileStorageReadSettings: coreClient.CompositeMapper = { serializedName: "AzureFileStorageReadSettings", type: { name: "Composite", @@ -16552,7 +16601,7 @@ export const AzureFileStorageReadSettings: coreHttp.CompositeMapper = { } }; -export const GoogleCloudStorageReadSettings: coreHttp.CompositeMapper = { +export const GoogleCloudStorageReadSettings: coreClient.CompositeMapper = { serializedName: "GoogleCloudStorageReadSettings", type: { name: "Composite", @@ -16626,7 +16675,7 @@ export const GoogleCloudStorageReadSettings: coreHttp.CompositeMapper = { } }; -export const FtpReadSettings: coreHttp.CompositeMapper = { +export const FtpReadSettings: coreClient.CompositeMapper = { serializedName: "FtpReadSettings", type: { name: "Composite", @@ -16688,7 +16737,7 @@ export const FtpReadSettings: coreHttp.CompositeMapper = { } }; -export const SftpReadSettings: coreHttp.CompositeMapper = { +export const SftpReadSettings: coreClient.CompositeMapper = { serializedName: "SftpReadSettings", type: { name: "Composite", @@ -16756,7 +16805,7 @@ export const SftpReadSettings: coreHttp.CompositeMapper = { } }; -export const HttpReadSettings: coreHttp.CompositeMapper = { +export const HttpReadSettings: coreClient.CompositeMapper = { serializedName: "HttpReadSettings", type: { name: "Composite", @@ -16806,7 +16855,7 @@ export const HttpReadSettings: coreHttp.CompositeMapper = { } }; -export const HdfsReadSettings: coreHttp.CompositeMapper = { +export const HdfsReadSettings: coreClient.CompositeMapper = { serializedName: "HdfsReadSettings", type: { name: "Composite", @@ -16881,7 +16930,7 @@ export const HdfsReadSettings: coreHttp.CompositeMapper = { } }; -export const SftpWriteSettings: coreHttp.CompositeMapper = { +export const SftpWriteSettings: coreClient.CompositeMapper = { serializedName: "SftpWriteSettings", type: { name: "Composite", @@ -16907,7 +16956,7 @@ export const SftpWriteSettings: coreHttp.CompositeMapper = { } }; -export const AzureBlobStorageWriteSettings: coreHttp.CompositeMapper = { +export const AzureBlobStorageWriteSettings: coreClient.CompositeMapper = { serializedName: "AzureBlobStorageWriteSettings", type: { name: "Composite", @@ -16927,7 +16976,7 @@ export const AzureBlobStorageWriteSettings: coreHttp.CompositeMapper = { } }; -export const AzureBlobFSWriteSettings: coreHttp.CompositeMapper = { +export const AzureBlobFSWriteSettings: coreClient.CompositeMapper = { serializedName: "AzureBlobFSWriteSettings", type: { name: "Composite", @@ -16947,7 +16996,7 @@ export const AzureBlobFSWriteSettings: coreHttp.CompositeMapper = { } }; -export const AzureDataLakeStoreWriteSettings: coreHttp.CompositeMapper = { +export const AzureDataLakeStoreWriteSettings: coreClient.CompositeMapper = { serializedName: "AzureDataLakeStoreWriteSettings", type: { name: "Composite", @@ -16967,7 +17016,7 @@ export const AzureDataLakeStoreWriteSettings: coreHttp.CompositeMapper = { } }; -export const FileServerWriteSettings: coreHttp.CompositeMapper = { +export const FileServerWriteSettings: coreClient.CompositeMapper = { serializedName: "FileServerWriteSettings", type: { name: "Composite", @@ -16981,7 +17030,7 @@ export const FileServerWriteSettings: coreHttp.CompositeMapper = { } }; -export const AzureFileStorageWriteSettings: coreHttp.CompositeMapper = { +export const AzureFileStorageWriteSettings: coreClient.CompositeMapper = { serializedName: "AzureFileStorageWriteSettings", type: { name: "Composite", @@ -16995,7 +17044,7 @@ export const AzureFileStorageWriteSettings: coreHttp.CompositeMapper = { } }; -export const DelimitedTextReadSettings: coreHttp.CompositeMapper = { +export const DelimitedTextReadSettings: coreClient.CompositeMapper = { serializedName: "DelimitedTextReadSettings", type: { name: "Composite", @@ -17022,7 +17071,7 @@ export const DelimitedTextReadSettings: coreHttp.CompositeMapper = { } }; -export const JsonReadSettings: coreHttp.CompositeMapper = { +export const JsonReadSettings: coreClient.CompositeMapper = { serializedName: "JsonReadSettings", type: { name: "Composite", @@ -17043,7 +17092,7 @@ export const JsonReadSettings: coreHttp.CompositeMapper = { } }; -export const XmlReadSettings: coreHttp.CompositeMapper = { +export const XmlReadSettings: coreClient.CompositeMapper = { serializedName: "XmlReadSettings", type: { name: "Composite", @@ -17088,7 +17137,7 @@ export const XmlReadSettings: coreHttp.CompositeMapper = { } }; -export const BinaryReadSettings: coreHttp.CompositeMapper = { +export const BinaryReadSettings: coreClient.CompositeMapper = { serializedName: "BinaryReadSettings", type: { name: "Composite", @@ -17109,14 +17158,15 @@ export const BinaryReadSettings: coreHttp.CompositeMapper = { } }; -export const ZipDeflateReadSettings: coreHttp.CompositeMapper = { +export const ZipDeflateReadSettings: coreClient.CompositeMapper = { serializedName: "ZipDeflateReadSettings", type: { name: "Composite", className: "ZipDeflateReadSettings", uberParent: "CompressionReadSettings", additionalProperties: { type: { name: "Object" } }, - polymorphicDiscriminator: CompressionReadSettings.type.polymorphicDiscriminator, + polymorphicDiscriminator: + CompressionReadSettings.type.polymorphicDiscriminator, modelProperties: { ...CompressionReadSettings.type.modelProperties, preserveZipFileNameAsFolder: { @@ -17129,14 +17179,15 @@ export const ZipDeflateReadSettings: coreHttp.CompositeMapper = { } }; -export const TarReadSettings: coreHttp.CompositeMapper = { +export const TarReadSettings: coreClient.CompositeMapper = { serializedName: "TarReadSettings", type: { name: "Composite", className: "TarReadSettings", uberParent: "CompressionReadSettings", additionalProperties: { type: { name: "Object" } }, - polymorphicDiscriminator: CompressionReadSettings.type.polymorphicDiscriminator, + polymorphicDiscriminator: + CompressionReadSettings.type.polymorphicDiscriminator, modelProperties: { ...CompressionReadSettings.type.modelProperties, preserveCompressionFileNameAsFolder: { @@ -17149,14 +17200,15 @@ export const TarReadSettings: coreHttp.CompositeMapper = { } }; -export const TarGZipReadSettings: coreHttp.CompositeMapper = { +export const TarGZipReadSettings: coreClient.CompositeMapper = { serializedName: "TarGZipReadSettings", type: { name: "Composite", className: "TarGZipReadSettings", uberParent: "CompressionReadSettings", additionalProperties: { type: { name: "Object" } }, - polymorphicDiscriminator: CompressionReadSettings.type.polymorphicDiscriminator, + polymorphicDiscriminator: + CompressionReadSettings.type.polymorphicDiscriminator, modelProperties: { ...CompressionReadSettings.type.modelProperties, preserveCompressionFileNameAsFolder: { @@ -17169,7 +17221,7 @@ export const TarGZipReadSettings: coreHttp.CompositeMapper = { } }; -export const AvroWriteSettings: coreHttp.CompositeMapper = { +export const AvroWriteSettings: coreClient.CompositeMapper = { serializedName: "AvroWriteSettings", type: { name: "Composite", @@ -17207,7 +17259,7 @@ export const AvroWriteSettings: coreHttp.CompositeMapper = { } }; -export const OrcWriteSettings: coreHttp.CompositeMapper = { +export const OrcWriteSettings: coreClient.CompositeMapper = { serializedName: "OrcWriteSettings", type: { name: "Composite", @@ -17233,7 +17285,7 @@ export const OrcWriteSettings: coreHttp.CompositeMapper = { } }; -export const ParquetWriteSettings: coreHttp.CompositeMapper = { +export const ParquetWriteSettings: coreClient.CompositeMapper = { serializedName: "ParquetWriteSettings", type: { name: "Composite", @@ -17259,7 +17311,7 @@ export const ParquetWriteSettings: coreHttp.CompositeMapper = { } }; -export const DelimitedTextWriteSettings: coreHttp.CompositeMapper = { +export const DelimitedTextWriteSettings: coreClient.CompositeMapper = { serializedName: "DelimitedTextWriteSettings", type: { name: "Composite", @@ -17298,7 +17350,7 @@ export const DelimitedTextWriteSettings: coreHttp.CompositeMapper = { } }; -export const JsonWriteSettings: coreHttp.CompositeMapper = { +export const JsonWriteSettings: coreClient.CompositeMapper = { serializedName: "JsonWriteSettings", type: { name: "Composite", @@ -17318,7 +17370,7 @@ export const JsonWriteSettings: coreHttp.CompositeMapper = { } }; -export const AvroSource: coreHttp.CompositeMapper = { +export const AvroSource: coreClient.CompositeMapper = { serializedName: "AvroSource", type: { name: "Composite", @@ -17351,7 +17403,7 @@ export const AvroSource: coreHttp.CompositeMapper = { } }; -export const ExcelSource: coreHttp.CompositeMapper = { +export const ExcelSource: coreClient.CompositeMapper = { serializedName: "ExcelSource", type: { name: "Composite", @@ -17384,7 +17436,7 @@ export const ExcelSource: coreHttp.CompositeMapper = { } }; -export const ParquetSource: coreHttp.CompositeMapper = { +export const ParquetSource: coreClient.CompositeMapper = { serializedName: "ParquetSource", type: { name: "Composite", @@ -17417,7 +17469,7 @@ export const ParquetSource: coreHttp.CompositeMapper = { } }; -export const DelimitedTextSource: coreHttp.CompositeMapper = { +export const DelimitedTextSource: coreClient.CompositeMapper = { serializedName: "DelimitedTextSource", type: { name: "Composite", @@ -17457,7 +17509,7 @@ export const DelimitedTextSource: coreHttp.CompositeMapper = { } }; -export const JsonSource: coreHttp.CompositeMapper = { +export const JsonSource: coreClient.CompositeMapper = { serializedName: "JsonSource", type: { name: "Composite", @@ -17497,7 +17549,7 @@ export const JsonSource: coreHttp.CompositeMapper = { } }; -export const XmlSource: coreHttp.CompositeMapper = { +export const XmlSource: coreClient.CompositeMapper = { serializedName: "XmlSource", type: { name: "Composite", @@ -17537,7 +17589,7 @@ export const XmlSource: coreHttp.CompositeMapper = { } }; -export const OrcSource: coreHttp.CompositeMapper = { +export const OrcSource: coreClient.CompositeMapper = { serializedName: "OrcSource", type: { name: "Composite", @@ -17570,7 +17622,7 @@ export const OrcSource: coreHttp.CompositeMapper = { } }; -export const BinarySource: coreHttp.CompositeMapper = { +export const BinarySource: coreClient.CompositeMapper = { serializedName: "BinarySource", type: { name: "Composite", @@ -17598,7 +17650,7 @@ export const BinarySource: coreHttp.CompositeMapper = { } }; -export const TabularSource: coreHttp.CompositeMapper = { +export const TabularSource: coreClient.CompositeMapper = { serializedName: "TabularSource", type: { name: "Composite", @@ -17633,7 +17685,7 @@ export const TabularSource: coreHttp.CompositeMapper = { } }; -export const BlobSource: coreHttp.CompositeMapper = { +export const BlobSource: coreClient.CompositeMapper = { serializedName: "BlobSource", type: { name: "Composite", @@ -17665,7 +17717,7 @@ export const BlobSource: coreHttp.CompositeMapper = { } }; -export const DocumentDbCollectionSource: coreHttp.CompositeMapper = { +export const DocumentDbCollectionSource: coreClient.CompositeMapper = { serializedName: "DocumentDbCollectionSource", type: { name: "Composite", @@ -17709,7 +17761,7 @@ export const DocumentDbCollectionSource: coreHttp.CompositeMapper = { } }; -export const CosmosDbSqlApiSource: coreHttp.CompositeMapper = { +export const CosmosDbSqlApiSource: coreClient.CompositeMapper = { serializedName: "CosmosDbSqlApiSource", type: { name: "Composite", @@ -17759,7 +17811,7 @@ export const CosmosDbSqlApiSource: coreHttp.CompositeMapper = { } }; -export const DynamicsSource: coreHttp.CompositeMapper = { +export const DynamicsSource: coreClient.CompositeMapper = { serializedName: "DynamicsSource", type: { name: "Composite", @@ -17791,7 +17843,7 @@ export const DynamicsSource: coreHttp.CompositeMapper = { } }; -export const DynamicsCrmSource: coreHttp.CompositeMapper = { +export const DynamicsCrmSource: coreClient.CompositeMapper = { serializedName: "DynamicsCrmSource", type: { name: "Composite", @@ -17823,7 +17875,7 @@ export const DynamicsCrmSource: coreHttp.CompositeMapper = { } }; -export const CommonDataServiceForAppsSource: coreHttp.CompositeMapper = { +export const CommonDataServiceForAppsSource: coreClient.CompositeMapper = { serializedName: "CommonDataServiceForAppsSource", type: { name: "Composite", @@ -17855,7 +17907,7 @@ export const CommonDataServiceForAppsSource: coreHttp.CompositeMapper = { } }; -export const RelationalSource: coreHttp.CompositeMapper = { +export const RelationalSource: coreClient.CompositeMapper = { serializedName: "RelationalSource", type: { name: "Composite", @@ -17887,7 +17939,7 @@ export const RelationalSource: coreHttp.CompositeMapper = { } }; -export const MicrosoftAccessSource: coreHttp.CompositeMapper = { +export const MicrosoftAccessSource: coreClient.CompositeMapper = { serializedName: "MicrosoftAccessSource", type: { name: "Composite", @@ -17919,7 +17971,7 @@ export const MicrosoftAccessSource: coreHttp.CompositeMapper = { } }; -export const ODataSource: coreHttp.CompositeMapper = { +export const ODataSource: coreClient.CompositeMapper = { serializedName: "ODataSource", type: { name: "Composite", @@ -17957,7 +18009,7 @@ export const ODataSource: coreHttp.CompositeMapper = { } }; -export const SalesforceServiceCloudSource: coreHttp.CompositeMapper = { +export const SalesforceServiceCloudSource: coreClient.CompositeMapper = { serializedName: "SalesforceServiceCloudSource", type: { name: "Composite", @@ -17995,7 +18047,7 @@ export const SalesforceServiceCloudSource: coreHttp.CompositeMapper = { } }; -export const RestSource: coreHttp.CompositeMapper = { +export const RestSource: coreClient.CompositeMapper = { serializedName: "RestSource", type: { name: "Composite", @@ -18057,7 +18109,7 @@ export const RestSource: coreHttp.CompositeMapper = { } }; -export const FileSystemSource: coreHttp.CompositeMapper = { +export const FileSystemSource: coreClient.CompositeMapper = { serializedName: "FileSystemSource", type: { name: "Composite", @@ -18089,7 +18141,7 @@ export const FileSystemSource: coreHttp.CompositeMapper = { } }; -export const HdfsSource: coreHttp.CompositeMapper = { +export const HdfsSource: coreClient.CompositeMapper = { serializedName: "HdfsSource", type: { name: "Composite", @@ -18116,7 +18168,7 @@ export const HdfsSource: coreHttp.CompositeMapper = { } }; -export const AzureDataExplorerSource: coreHttp.CompositeMapper = { +export const AzureDataExplorerSource: coreClient.CompositeMapper = { serializedName: "AzureDataExplorerSource", type: { name: "Composite", @@ -18161,7 +18213,7 @@ export const AzureDataExplorerSource: coreHttp.CompositeMapper = { } }; -export const OracleSource: coreHttp.CompositeMapper = { +export const OracleSource: coreClient.CompositeMapper = { serializedName: "OracleSource", type: { name: "Composite", @@ -18212,7 +18264,7 @@ export const OracleSource: coreHttp.CompositeMapper = { } }; -export const WebSource: coreHttp.CompositeMapper = { +export const WebSource: coreClient.CompositeMapper = { serializedName: "WebSource", type: { name: "Composite", @@ -18238,7 +18290,7 @@ export const WebSource: coreHttp.CompositeMapper = { } }; -export const MongoDbSource: coreHttp.CompositeMapper = { +export const MongoDbSource: coreClient.CompositeMapper = { serializedName: "MongoDbSource", type: { name: "Composite", @@ -18270,7 +18322,7 @@ export const MongoDbSource: coreHttp.CompositeMapper = { } }; -export const MongoDbAtlasSource: coreHttp.CompositeMapper = { +export const MongoDbAtlasSource: coreClient.CompositeMapper = { serializedName: "MongoDbAtlasSource", type: { name: "Composite", @@ -18321,7 +18373,7 @@ export const MongoDbAtlasSource: coreHttp.CompositeMapper = { } }; -export const MongoDbV2Source: coreHttp.CompositeMapper = { +export const MongoDbV2Source: coreClient.CompositeMapper = { serializedName: "MongoDbV2Source", type: { name: "Composite", @@ -18372,7 +18424,7 @@ export const MongoDbV2Source: coreHttp.CompositeMapper = { } }; -export const CosmosDbMongoDbApiSource: coreHttp.CompositeMapper = { +export const CosmosDbMongoDbApiSource: coreClient.CompositeMapper = { serializedName: "CosmosDbMongoDbApiSource", type: { name: "Composite", @@ -18423,7 +18475,7 @@ export const CosmosDbMongoDbApiSource: coreHttp.CompositeMapper = { } }; -export const Office365Source: coreHttp.CompositeMapper = { +export const Office365Source: coreClient.CompositeMapper = { serializedName: "Office365Source", type: { name: "Composite", @@ -18473,7 +18525,7 @@ export const Office365Source: coreHttp.CompositeMapper = { } }; -export const AzureDataLakeStoreSource: coreHttp.CompositeMapper = { +export const AzureDataLakeStoreSource: coreClient.CompositeMapper = { serializedName: "AzureDataLakeStoreSource", type: { name: "Composite", @@ -18493,7 +18545,7 @@ export const AzureDataLakeStoreSource: coreHttp.CompositeMapper = { } }; -export const AzureBlobFSSource: coreHttp.CompositeMapper = { +export const AzureBlobFSSource: coreClient.CompositeMapper = { serializedName: "AzureBlobFSSource", type: { name: "Composite", @@ -18525,7 +18577,7 @@ export const AzureBlobFSSource: coreHttp.CompositeMapper = { } }; -export const HttpSource: coreHttp.CompositeMapper = { +export const HttpSource: coreClient.CompositeMapper = { serializedName: "HttpSource", type: { name: "Composite", @@ -18545,7 +18597,7 @@ export const HttpSource: coreHttp.CompositeMapper = { } }; -export const SnowflakeSource: coreHttp.CompositeMapper = { +export const SnowflakeSource: coreClient.CompositeMapper = { serializedName: "SnowflakeSource", type: { name: "Composite", @@ -18572,7 +18624,7 @@ export const SnowflakeSource: coreHttp.CompositeMapper = { } }; -export const AzureDatabricksDeltaLakeSource: coreHttp.CompositeMapper = { +export const AzureDatabricksDeltaLakeSource: coreClient.CompositeMapper = { serializedName: "AzureDatabricksDeltaLakeSource", type: { name: "Composite", @@ -18599,7 +18651,7 @@ export const AzureDatabricksDeltaLakeSource: coreHttp.CompositeMapper = { } }; -export const SharePointOnlineListSource: coreHttp.CompositeMapper = { +export const SharePointOnlineListSource: coreClient.CompositeMapper = { serializedName: "SharePointOnlineListSource", type: { name: "Composite", @@ -18625,7 +18677,7 @@ export const SharePointOnlineListSource: coreHttp.CompositeMapper = { } }; -export const DelimitedTextSink: coreHttp.CompositeMapper = { +export const DelimitedTextSink: coreClient.CompositeMapper = { serializedName: "DelimitedTextSink", type: { name: "Composite", @@ -18653,7 +18705,7 @@ export const DelimitedTextSink: coreHttp.CompositeMapper = { } }; -export const JsonSink: coreHttp.CompositeMapper = { +export const JsonSink: coreClient.CompositeMapper = { serializedName: "JsonSink", type: { name: "Composite", @@ -18681,7 +18733,7 @@ export const JsonSink: coreHttp.CompositeMapper = { } }; -export const OrcSink: coreHttp.CompositeMapper = { +export const OrcSink: coreClient.CompositeMapper = { serializedName: "OrcSink", type: { name: "Composite", @@ -18709,7 +18761,7 @@ export const OrcSink: coreHttp.CompositeMapper = { } }; -export const RestSink: coreHttp.CompositeMapper = { +export const RestSink: coreClient.CompositeMapper = { serializedName: "RestSink", type: { name: "Composite", @@ -18753,7 +18805,7 @@ export const RestSink: coreHttp.CompositeMapper = { } }; -export const AzurePostgreSqlSink: coreHttp.CompositeMapper = { +export const AzurePostgreSqlSink: coreClient.CompositeMapper = { serializedName: "AzurePostgreSqlSink", type: { name: "Composite", @@ -18773,7 +18825,7 @@ export const AzurePostgreSqlSink: coreHttp.CompositeMapper = { } }; -export const AzureMySqlSink: coreHttp.CompositeMapper = { +export const AzureMySqlSink: coreClient.CompositeMapper = { serializedName: "AzureMySqlSink", type: { name: "Composite", @@ -18793,7 +18845,7 @@ export const AzureMySqlSink: coreHttp.CompositeMapper = { } }; -export const AzureDatabricksDeltaLakeSink: coreHttp.CompositeMapper = { +export const AzureDatabricksDeltaLakeSink: coreClient.CompositeMapper = { serializedName: "AzureDatabricksDeltaLakeSink", type: { name: "Composite", @@ -18820,7 +18872,7 @@ export const AzureDatabricksDeltaLakeSink: coreHttp.CompositeMapper = { } }; -export const SapCloudForCustomerSink: coreHttp.CompositeMapper = { +export const SapCloudForCustomerSink: coreClient.CompositeMapper = { serializedName: "SapCloudForCustomerSink", type: { name: "Composite", @@ -18846,7 +18898,7 @@ export const SapCloudForCustomerSink: coreHttp.CompositeMapper = { } }; -export const AzureQueueSink: coreHttp.CompositeMapper = { +export const AzureQueueSink: coreClient.CompositeMapper = { serializedName: "AzureQueueSink", type: { name: "Composite", @@ -18860,7 +18912,7 @@ export const AzureQueueSink: coreHttp.CompositeMapper = { } }; -export const AzureTableSink: coreHttp.CompositeMapper = { +export const AzureTableSink: coreClient.CompositeMapper = { serializedName: "AzureTableSink", type: { name: "Composite", @@ -18898,7 +18950,7 @@ export const AzureTableSink: coreHttp.CompositeMapper = { } }; -export const AvroSink: coreHttp.CompositeMapper = { +export const AvroSink: coreClient.CompositeMapper = { serializedName: "AvroSink", type: { name: "Composite", @@ -18926,7 +18978,7 @@ export const AvroSink: coreHttp.CompositeMapper = { } }; -export const ParquetSink: coreHttp.CompositeMapper = { +export const ParquetSink: coreClient.CompositeMapper = { serializedName: "ParquetSink", type: { name: "Composite", @@ -18954,7 +19006,7 @@ export const ParquetSink: coreHttp.CompositeMapper = { } }; -export const BinarySink: coreHttp.CompositeMapper = { +export const BinarySink: coreClient.CompositeMapper = { serializedName: "BinarySink", type: { name: "Composite", @@ -18975,7 +19027,7 @@ export const BinarySink: coreHttp.CompositeMapper = { } }; -export const BlobSink: coreHttp.CompositeMapper = { +export const BlobSink: coreClient.CompositeMapper = { serializedName: "BlobSink", type: { name: "Composite", @@ -19013,7 +19065,7 @@ export const BlobSink: coreHttp.CompositeMapper = { } }; -export const FileSystemSink: coreHttp.CompositeMapper = { +export const FileSystemSink: coreClient.CompositeMapper = { serializedName: "FileSystemSink", type: { name: "Composite", @@ -19033,7 +19085,7 @@ export const FileSystemSink: coreHttp.CompositeMapper = { } }; -export const DocumentDbCollectionSink: coreHttp.CompositeMapper = { +export const DocumentDbCollectionSink: coreClient.CompositeMapper = { serializedName: "DocumentDbCollectionSink", type: { name: "Composite", @@ -19059,7 +19111,7 @@ export const DocumentDbCollectionSink: coreHttp.CompositeMapper = { } }; -export const CosmosDbSqlApiSink: coreHttp.CompositeMapper = { +export const CosmosDbSqlApiSink: coreClient.CompositeMapper = { serializedName: "CosmosDbSqlApiSink", type: { name: "Composite", @@ -19079,7 +19131,7 @@ export const CosmosDbSqlApiSink: coreHttp.CompositeMapper = { } }; -export const SqlSink: coreHttp.CompositeMapper = { +export const SqlSink: coreClient.CompositeMapper = { serializedName: "SqlSink", type: { name: "Composite", @@ -19132,7 +19184,7 @@ export const SqlSink: coreHttp.CompositeMapper = { } }; -export const SqlServerSink: coreHttp.CompositeMapper = { +export const SqlServerSink: coreClient.CompositeMapper = { serializedName: "SqlServerSink", type: { name: "Composite", @@ -19185,7 +19237,7 @@ export const SqlServerSink: coreHttp.CompositeMapper = { } }; -export const AzureSqlSink: coreHttp.CompositeMapper = { +export const AzureSqlSink: coreClient.CompositeMapper = { serializedName: "AzureSqlSink", type: { name: "Composite", @@ -19238,7 +19290,7 @@ export const AzureSqlSink: coreHttp.CompositeMapper = { } }; -export const SqlMISink: coreHttp.CompositeMapper = { +export const SqlMISink: coreClient.CompositeMapper = { serializedName: "SqlMISink", type: { name: "Composite", @@ -19291,7 +19343,7 @@ export const SqlMISink: coreHttp.CompositeMapper = { } }; -export const SqlDWSink: coreHttp.CompositeMapper = { +export const SqlDWSink: coreClient.CompositeMapper = { serializedName: "SqlDWSink", type: { name: "Composite", @@ -19343,7 +19395,7 @@ export const SqlDWSink: coreHttp.CompositeMapper = { } }; -export const SnowflakeSink: coreHttp.CompositeMapper = { +export const SnowflakeSink: coreClient.CompositeMapper = { serializedName: "SnowflakeSink", type: { name: "Composite", @@ -19370,7 +19422,7 @@ export const SnowflakeSink: coreHttp.CompositeMapper = { } }; -export const OracleSink: coreHttp.CompositeMapper = { +export const OracleSink: coreClient.CompositeMapper = { serializedName: "OracleSink", type: { name: "Composite", @@ -19390,7 +19442,7 @@ export const OracleSink: coreHttp.CompositeMapper = { } }; -export const AzureDataLakeStoreSink: coreHttp.CompositeMapper = { +export const AzureDataLakeStoreSink: coreClient.CompositeMapper = { serializedName: "AzureDataLakeStoreSink", type: { name: "Composite", @@ -19416,7 +19468,7 @@ export const AzureDataLakeStoreSink: coreHttp.CompositeMapper = { } }; -export const AzureBlobFSSink: coreHttp.CompositeMapper = { +export const AzureBlobFSSink: coreClient.CompositeMapper = { serializedName: "AzureBlobFSSink", type: { name: "Composite", @@ -19436,7 +19488,7 @@ export const AzureBlobFSSink: coreHttp.CompositeMapper = { } }; -export const AzureSearchIndexSink: coreHttp.CompositeMapper = { +export const AzureSearchIndexSink: coreClient.CompositeMapper = { serializedName: "AzureSearchIndexSink", type: { name: "Composite", @@ -19456,7 +19508,7 @@ export const AzureSearchIndexSink: coreHttp.CompositeMapper = { } }; -export const OdbcSink: coreHttp.CompositeMapper = { +export const OdbcSink: coreClient.CompositeMapper = { serializedName: "OdbcSink", type: { name: "Composite", @@ -19476,7 +19528,7 @@ export const OdbcSink: coreHttp.CompositeMapper = { } }; -export const InformixSink: coreHttp.CompositeMapper = { +export const InformixSink: coreClient.CompositeMapper = { serializedName: "InformixSink", type: { name: "Composite", @@ -19496,7 +19548,7 @@ export const InformixSink: coreHttp.CompositeMapper = { } }; -export const MicrosoftAccessSink: coreHttp.CompositeMapper = { +export const MicrosoftAccessSink: coreClient.CompositeMapper = { serializedName: "MicrosoftAccessSink", type: { name: "Composite", @@ -19516,7 +19568,7 @@ export const MicrosoftAccessSink: coreHttp.CompositeMapper = { } }; -export const DynamicsSink: coreHttp.CompositeMapper = { +export const DynamicsSink: coreClient.CompositeMapper = { serializedName: "DynamicsSink", type: { name: "Composite", @@ -19549,7 +19601,7 @@ export const DynamicsSink: coreHttp.CompositeMapper = { } }; -export const DynamicsCrmSink: coreHttp.CompositeMapper = { +export const DynamicsCrmSink: coreClient.CompositeMapper = { serializedName: "DynamicsCrmSink", type: { name: "Composite", @@ -19582,7 +19634,7 @@ export const DynamicsCrmSink: coreHttp.CompositeMapper = { } }; -export const CommonDataServiceForAppsSink: coreHttp.CompositeMapper = { +export const CommonDataServiceForAppsSink: coreClient.CompositeMapper = { serializedName: "CommonDataServiceForAppsSink", type: { name: "Composite", @@ -19615,7 +19667,7 @@ export const CommonDataServiceForAppsSink: coreHttp.CompositeMapper = { } }; -export const AzureDataExplorerSink: coreHttp.CompositeMapper = { +export const AzureDataExplorerSink: coreClient.CompositeMapper = { serializedName: "AzureDataExplorerSink", type: { name: "Composite", @@ -19647,7 +19699,7 @@ export const AzureDataExplorerSink: coreHttp.CompositeMapper = { } }; -export const SalesforceSink: coreHttp.CompositeMapper = { +export const SalesforceSink: coreClient.CompositeMapper = { serializedName: "SalesforceSink", type: { name: "Composite", @@ -19679,7 +19731,7 @@ export const SalesforceSink: coreHttp.CompositeMapper = { } }; -export const SalesforceServiceCloudSink: coreHttp.CompositeMapper = { +export const SalesforceServiceCloudSink: coreClient.CompositeMapper = { serializedName: "SalesforceServiceCloudSink", type: { name: "Composite", @@ -19711,7 +19763,7 @@ export const SalesforceServiceCloudSink: coreHttp.CompositeMapper = { } }; -export const CosmosDbMongoDbApiSink: coreHttp.CompositeMapper = { +export const CosmosDbMongoDbApiSink: coreClient.CompositeMapper = { serializedName: "CosmosDbMongoDbApiSink", type: { name: "Composite", @@ -19731,7 +19783,7 @@ export const CosmosDbMongoDbApiSink: coreHttp.CompositeMapper = { } }; -export const SnowflakeExportCopyCommand: coreHttp.CompositeMapper = { +export const SnowflakeExportCopyCommand: coreClient.CompositeMapper = { serializedName: "SnowflakeExportCopyCommand", type: { name: "Composite", @@ -19759,7 +19811,7 @@ export const SnowflakeExportCopyCommand: coreHttp.CompositeMapper = { } }; -export const AzureDatabricksDeltaLakeExportCommand: coreHttp.CompositeMapper = { +export const AzureDatabricksDeltaLakeExportCommand: coreClient.CompositeMapper = { serializedName: "AzureDatabricksDeltaLakeExportCommand", type: { name: "Composite", @@ -19785,7 +19837,7 @@ export const AzureDatabricksDeltaLakeExportCommand: coreHttp.CompositeMapper = { } }; -export const AzureDatabricksDeltaLakeImportCommand: coreHttp.CompositeMapper = { +export const AzureDatabricksDeltaLakeImportCommand: coreClient.CompositeMapper = { serializedName: "AzureDatabricksDeltaLakeImportCommand", type: { name: "Composite", @@ -19811,7 +19863,7 @@ export const AzureDatabricksDeltaLakeImportCommand: coreHttp.CompositeMapper = { } }; -export const SnowflakeImportCopyCommand: coreHttp.CompositeMapper = { +export const SnowflakeImportCopyCommand: coreClient.CompositeMapper = { serializedName: "SnowflakeImportCopyCommand", type: { name: "Composite", @@ -19839,7 +19891,7 @@ export const SnowflakeImportCopyCommand: coreHttp.CompositeMapper = { } }; -export const TabularTranslator: coreHttp.CompositeMapper = { +export const TabularTranslator: coreClient.CompositeMapper = { serializedName: "TabularTranslator", type: { name: "Composite", @@ -19896,7 +19948,7 @@ export const TabularTranslator: coreHttp.CompositeMapper = { } }; -export const TriggerDependencyReference: coreHttp.CompositeMapper = { +export const TriggerDependencyReference: coreClient.CompositeMapper = { serializedName: "TriggerDependencyReference", type: { name: "Composite", @@ -19919,7 +19971,7 @@ export const TriggerDependencyReference: coreHttp.CompositeMapper = { } }; -export const SelfDependencyTumblingWindowTriggerReference: coreHttp.CompositeMapper = { +export const SelfDependencyTumblingWindowTriggerReference: coreClient.CompositeMapper = { serializedName: "SelfDependencyTumblingWindowTriggerReference", type: { name: "Composite", @@ -19930,7 +19982,9 @@ export const SelfDependencyTumblingWindowTriggerReference: coreHttp.CompositeMap ...DependencyReference.type.modelProperties, offset: { constraints: { - Pattern: new RegExp("-((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))"), + Pattern: new RegExp( + "-((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))" + ), MaxLength: 15, MinLength: 8 }, @@ -19942,7 +19996,9 @@ export const SelfDependencyTumblingWindowTriggerReference: coreHttp.CompositeMap }, size: { constraints: { - Pattern: new RegExp("((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))"), + Pattern: new RegExp( + "((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))" + ), MaxLength: 15, MinLength: 8 }, @@ -19955,13 +20011,14 @@ export const SelfDependencyTumblingWindowTriggerReference: coreHttp.CompositeMap } }; -export const LinkedIntegrationRuntimeKeyAuthorization: coreHttp.CompositeMapper = { +export const LinkedIntegrationRuntimeKeyAuthorization: coreClient.CompositeMapper = { serializedName: "Key", type: { name: "Composite", className: "LinkedIntegrationRuntimeKeyAuthorization", uberParent: "LinkedIntegrationRuntimeType", - polymorphicDiscriminator: LinkedIntegrationRuntimeType.type.polymorphicDiscriminator, + polymorphicDiscriminator: + LinkedIntegrationRuntimeType.type.polymorphicDiscriminator, modelProperties: { ...LinkedIntegrationRuntimeType.type.modelProperties, key: { @@ -19975,13 +20032,14 @@ export const LinkedIntegrationRuntimeKeyAuthorization: coreHttp.CompositeMapper } }; -export const LinkedIntegrationRuntimeRbacAuthorization: coreHttp.CompositeMapper = { +export const LinkedIntegrationRuntimeRbacAuthorization: coreClient.CompositeMapper = { serializedName: "RBAC", type: { name: "Composite", className: "LinkedIntegrationRuntimeRbacAuthorization", uberParent: "LinkedIntegrationRuntimeType", - polymorphicDiscriminator: LinkedIntegrationRuntimeType.type.polymorphicDiscriminator, + polymorphicDiscriminator: + LinkedIntegrationRuntimeType.type.polymorphicDiscriminator, modelProperties: { ...LinkedIntegrationRuntimeType.type.modelProperties, resourceId: { @@ -19995,7 +20053,7 @@ export const LinkedIntegrationRuntimeRbacAuthorization: coreHttp.CompositeMapper } }; -export const SubResource: coreHttp.CompositeMapper = { +export const SubResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "SubResource", @@ -20005,38 +20063,7 @@ export const SubResource: coreHttp.CompositeMapper = { } }; -export const PrivateEndpointConnection: coreHttp.CompositeMapper = { - type: { - name: "Composite", - className: "PrivateEndpointConnection", - modelProperties: { - ...ProxyResource.type.modelProperties, - privateEndpoint: { - serializedName: "properties.privateEndpoint", - type: { - name: "Composite", - className: "PrivateEndpoint" - } - }, - privateLinkServiceConnectionState: { - serializedName: "properties.privateLinkServiceConnectionState", - type: { - name: "Composite", - className: "PrivateLinkServiceConnectionState" - } - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, - type: { - name: "String" - } - } - } - } -}; - -export const Workspace: coreHttp.CompositeMapper = { +export const Workspace: coreClient.CompositeMapper = { type: { name: "Composite", className: "Workspace", @@ -20167,7 +20194,7 @@ export const Workspace: coreHttp.CompositeMapper = { } }; -export const SqlPool: coreHttp.CompositeMapper = { +export const SqlPool: coreClient.CompositeMapper = { type: { name: "Composite", className: "SqlPool", @@ -20238,7 +20265,7 @@ export const SqlPool: coreHttp.CompositeMapper = { } }; -export const BigDataPoolResourceInfo: coreHttp.CompositeMapper = { +export const BigDataPoolResourceInfo: coreClient.CompositeMapper = { type: { name: "Composite", className: "BigDataPoolResourceInfo", @@ -20368,7 +20395,38 @@ export const BigDataPoolResourceInfo: coreHttp.CompositeMapper = { } }; -export const ExecutePipelineActivity: coreHttp.CompositeMapper = { +export const PrivateEndpointConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnection", + modelProperties: { + ...ProxyResource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", + type: { + name: "Composite", + className: "PrivateEndpoint" + } + }, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ExecutePipelineActivity: coreClient.CompositeMapper = { serializedName: "ExecutePipeline", type: { name: "Composite", @@ -20402,7 +20460,7 @@ export const ExecutePipelineActivity: coreHttp.CompositeMapper = { } }; -export const IfConditionActivity: coreHttp.CompositeMapper = { +export const IfConditionActivity: coreClient.CompositeMapper = { serializedName: "IfCondition", type: { name: "Composite", @@ -20447,7 +20505,7 @@ export const IfConditionActivity: coreHttp.CompositeMapper = { } }; -export const SwitchActivity: coreHttp.CompositeMapper = { +export const SwitchActivity: coreClient.CompositeMapper = { serializedName: "Switch", type: { name: "Composite", @@ -20492,7 +20550,7 @@ export const SwitchActivity: coreHttp.CompositeMapper = { } }; -export const ForEachActivity: coreHttp.CompositeMapper = { +export const ForEachActivity: coreClient.CompositeMapper = { serializedName: "ForEach", type: { name: "Composite", @@ -20541,7 +20599,7 @@ export const ForEachActivity: coreHttp.CompositeMapper = { } }; -export const WaitActivity: coreHttp.CompositeMapper = { +export const WaitActivity: coreClient.CompositeMapper = { serializedName: "Wait", type: { name: "Composite", @@ -20562,7 +20620,7 @@ export const WaitActivity: coreHttp.CompositeMapper = { } }; -export const UntilActivity: coreHttp.CompositeMapper = { +export const UntilActivity: coreClient.CompositeMapper = { serializedName: "Until", type: { name: "Composite", @@ -20602,7 +20660,7 @@ export const UntilActivity: coreHttp.CompositeMapper = { } }; -export const ValidationActivity: coreHttp.CompositeMapper = { +export const ValidationActivity: coreClient.CompositeMapper = { serializedName: "Validation", type: { name: "Composite", @@ -20647,7 +20705,7 @@ export const ValidationActivity: coreHttp.CompositeMapper = { } }; -export const FilterActivity: coreHttp.CompositeMapper = { +export const FilterActivity: coreClient.CompositeMapper = { serializedName: "Filter", type: { name: "Composite", @@ -20675,7 +20733,7 @@ export const FilterActivity: coreHttp.CompositeMapper = { } }; -export const SetVariableActivity: coreHttp.CompositeMapper = { +export const SetVariableActivity: coreClient.CompositeMapper = { serializedName: "SetVariable", type: { name: "Composite", @@ -20701,7 +20759,7 @@ export const SetVariableActivity: coreHttp.CompositeMapper = { } }; -export const AppendVariableActivity: coreHttp.CompositeMapper = { +export const AppendVariableActivity: coreClient.CompositeMapper = { serializedName: "AppendVariable", type: { name: "Composite", @@ -20727,7 +20785,7 @@ export const AppendVariableActivity: coreHttp.CompositeMapper = { } }; -export const WebHookActivity: coreHttp.CompositeMapper = { +export const WebHookActivity: coreClient.CompositeMapper = { serializedName: "WebHook", type: { name: "Composite", @@ -20786,7 +20844,7 @@ export const WebHookActivity: coreHttp.CompositeMapper = { } }; -export const CopyActivity: coreHttp.CompositeMapper = { +export const CopyActivity: coreClient.CompositeMapper = { serializedName: "Copy", type: { name: "Composite", @@ -20931,7 +20989,7 @@ export const CopyActivity: coreHttp.CompositeMapper = { } }; -export const HDInsightHiveActivity: coreHttp.CompositeMapper = { +export const HDInsightHiveActivity: coreClient.CompositeMapper = { serializedName: "HDInsightHive", type: { name: "Composite", @@ -21011,7 +21069,7 @@ export const HDInsightHiveActivity: coreHttp.CompositeMapper = { } }; -export const HDInsightPigActivity: coreHttp.CompositeMapper = { +export const HDInsightPigActivity: coreClient.CompositeMapper = { serializedName: "HDInsightPig", type: { name: "Composite", @@ -21069,7 +21127,7 @@ export const HDInsightPigActivity: coreHttp.CompositeMapper = { } }; -export const HDInsightMapReduceActivity: coreHttp.CompositeMapper = { +export const HDInsightMapReduceActivity: coreClient.CompositeMapper = { serializedName: "HDInsightMapReduce", type: { name: "Composite", @@ -21151,7 +21209,7 @@ export const HDInsightMapReduceActivity: coreHttp.CompositeMapper = { } }; -export const HDInsightStreamingActivity: coreHttp.CompositeMapper = { +export const HDInsightStreamingActivity: coreClient.CompositeMapper = { serializedName: "HDInsightStreaming", type: { name: "Composite", @@ -21265,7 +21323,7 @@ export const HDInsightStreamingActivity: coreHttp.CompositeMapper = { } }; -export const HDInsightSparkActivity: coreHttp.CompositeMapper = { +export const HDInsightSparkActivity: coreClient.CompositeMapper = { serializedName: "HDInsightSpark", type: { name: "Composite", @@ -21336,7 +21394,7 @@ export const HDInsightSparkActivity: coreHttp.CompositeMapper = { } }; -export const ExecuteSsisPackageActivity: coreHttp.CompositeMapper = { +export const ExecuteSsisPackageActivity: coreClient.CompositeMapper = { serializedName: "ExecuteSSISPackage", type: { name: "Composite", @@ -21451,7 +21509,7 @@ export const ExecuteSsisPackageActivity: coreHttp.CompositeMapper = { } }; -export const CustomActivity: coreHttp.CompositeMapper = { +export const CustomActivity: coreClient.CompositeMapper = { serializedName: "Custom", type: { name: "Composite", @@ -21511,7 +21569,7 @@ export const CustomActivity: coreHttp.CompositeMapper = { } }; -export const SqlServerStoredProcedureActivity: coreHttp.CompositeMapper = { +export const SqlServerStoredProcedureActivity: coreClient.CompositeMapper = { serializedName: "SqlServerStoredProcedure", type: { name: "Composite", @@ -21541,7 +21599,7 @@ export const SqlServerStoredProcedureActivity: coreHttp.CompositeMapper = { } }; -export const DeleteActivity: coreHttp.CompositeMapper = { +export const DeleteActivity: coreClient.CompositeMapper = { serializedName: "Delete", type: { name: "Composite", @@ -21597,7 +21655,7 @@ export const DeleteActivity: coreHttp.CompositeMapper = { } }; -export const AzureDataExplorerCommandActivity: coreHttp.CompositeMapper = { +export const AzureDataExplorerCommandActivity: coreClient.CompositeMapper = { serializedName: "AzureDataExplorerCommand", type: { name: "Composite", @@ -21624,7 +21682,7 @@ export const AzureDataExplorerCommandActivity: coreHttp.CompositeMapper = { } }; -export const LookupActivity: coreHttp.CompositeMapper = { +export const LookupActivity: coreClient.CompositeMapper = { serializedName: "Lookup", type: { name: "Composite", @@ -21658,7 +21716,7 @@ export const LookupActivity: coreHttp.CompositeMapper = { } }; -export const WebActivity: coreHttp.CompositeMapper = { +export const WebActivity: coreClient.CompositeMapper = { serializedName: "WebActivity", type: { name: "Composite", @@ -21736,7 +21794,7 @@ export const WebActivity: coreHttp.CompositeMapper = { } }; -export const GetMetadataActivity: coreHttp.CompositeMapper = { +export const GetMetadataActivity: coreClient.CompositeMapper = { serializedName: "GetMetadata", type: { name: "Composite", @@ -21782,7 +21840,7 @@ export const GetMetadataActivity: coreHttp.CompositeMapper = { } }; -export const AzureMLBatchExecutionActivity: coreHttp.CompositeMapper = { +export const AzureMLBatchExecutionActivity: coreClient.CompositeMapper = { serializedName: "AzureMLBatchExecution", type: { name: "Composite", @@ -21821,7 +21879,7 @@ export const AzureMLBatchExecutionActivity: coreHttp.CompositeMapper = { } }; -export const AzureMLUpdateResourceActivity: coreHttp.CompositeMapper = { +export const AzureMLUpdateResourceActivity: coreClient.CompositeMapper = { serializedName: "AzureMLUpdateResource", type: { name: "Composite", @@ -21856,7 +21914,7 @@ export const AzureMLUpdateResourceActivity: coreHttp.CompositeMapper = { } }; -export const AzureMLExecutePipelineActivity: coreHttp.CompositeMapper = { +export const AzureMLExecutePipelineActivity: coreClient.CompositeMapper = { serializedName: "AzureMLExecutePipeline", type: { name: "Composite", @@ -21901,7 +21959,7 @@ export const AzureMLExecutePipelineActivity: coreHttp.CompositeMapper = { } }; -export const DataLakeAnalyticsUsqlActivity: coreHttp.CompositeMapper = { +export const DataLakeAnalyticsUsqlActivity: coreClient.CompositeMapper = { serializedName: "DataLakeAnalyticsU-SQL", type: { name: "Composite", @@ -21960,7 +22018,7 @@ export const DataLakeAnalyticsUsqlActivity: coreHttp.CompositeMapper = { } }; -export const DatabricksNotebookActivity: coreHttp.CompositeMapper = { +export const DatabricksNotebookActivity: coreClient.CompositeMapper = { serializedName: "DatabricksNotebook", type: { name: "Composite", @@ -22000,7 +22058,7 @@ export const DatabricksNotebookActivity: coreHttp.CompositeMapper = { } }; -export const DatabricksSparkJarActivity: coreHttp.CompositeMapper = { +export const DatabricksSparkJarActivity: coreClient.CompositeMapper = { serializedName: "DatabricksSparkJar", type: { name: "Composite", @@ -22044,7 +22102,7 @@ export const DatabricksSparkJarActivity: coreHttp.CompositeMapper = { } }; -export const DatabricksSparkPythonActivity: coreHttp.CompositeMapper = { +export const DatabricksSparkPythonActivity: coreClient.CompositeMapper = { serializedName: "DatabricksSparkPython", type: { name: "Composite", @@ -22088,7 +22146,7 @@ export const DatabricksSparkPythonActivity: coreHttp.CompositeMapper = { } }; -export const AzureFunctionActivity: coreHttp.CompositeMapper = { +export const AzureFunctionActivity: coreClient.CompositeMapper = { serializedName: "AzureFunctionActivity", type: { name: "Composite", @@ -22128,7 +22186,7 @@ export const AzureFunctionActivity: coreHttp.CompositeMapper = { } }; -export const ExecuteDataFlowActivity: coreHttp.CompositeMapper = { +export const ExecuteDataFlowActivity: coreClient.CompositeMapper = { serializedName: "ExecuteDataFlow", type: { name: "Composite", @@ -22188,7 +22246,7 @@ export const ExecuteDataFlowActivity: coreHttp.CompositeMapper = { } }; -export const SynapseNotebookActivity: coreHttp.CompositeMapper = { +export const SynapseNotebookActivity: coreClient.CompositeMapper = { serializedName: "SynapseNotebook", type: { name: "Composite", @@ -22216,7 +22274,7 @@ export const SynapseNotebookActivity: coreHttp.CompositeMapper = { } }; -export const SynapseSparkJobDefinitionActivity: coreHttp.CompositeMapper = { +export const SynapseSparkJobDefinitionActivity: coreClient.CompositeMapper = { serializedName: "SparkJob", type: { name: "Composite", @@ -22232,12 +22290,23 @@ export const SynapseSparkJobDefinitionActivity: coreHttp.CompositeMapper = { name: "Composite", className: "SynapseSparkJobReference" } + }, + arguments: { + serializedName: "typeProperties.args", + type: { + name: "Sequence", + element: { + type: { + name: "any" + } + } + } } } } }; -export const ScheduleTrigger: coreHttp.CompositeMapper = { +export const ScheduleTrigger: coreClient.CompositeMapper = { serializedName: "ScheduleTrigger", type: { name: "Composite", @@ -22258,7 +22327,7 @@ export const ScheduleTrigger: coreHttp.CompositeMapper = { } }; -export const BlobTrigger: coreHttp.CompositeMapper = { +export const BlobTrigger: coreClient.CompositeMapper = { serializedName: "BlobTrigger", type: { name: "Composite", @@ -22293,7 +22362,7 @@ export const BlobTrigger: coreHttp.CompositeMapper = { } }; -export const BlobEventsTrigger: coreHttp.CompositeMapper = { +export const BlobEventsTrigger: coreClient.CompositeMapper = { serializedName: "BlobEventsTrigger", type: { name: "Composite", @@ -22344,7 +22413,7 @@ export const BlobEventsTrigger: coreHttp.CompositeMapper = { } }; -export const CustomEventsTrigger: coreHttp.CompositeMapper = { +export const CustomEventsTrigger: coreClient.CompositeMapper = { serializedName: "CustomEventsTrigger", type: { name: "Composite", @@ -22389,7 +22458,7 @@ export const CustomEventsTrigger: coreHttp.CompositeMapper = { } }; -export const AzureTableSource: coreHttp.CompositeMapper = { +export const AzureTableSource: coreClient.CompositeMapper = { serializedName: "AzureTableSource", type: { name: "Composite", @@ -22415,7 +22484,7 @@ export const AzureTableSource: coreHttp.CompositeMapper = { } }; -export const InformixSource: coreHttp.CompositeMapper = { +export const InformixSource: coreClient.CompositeMapper = { serializedName: "InformixSource", type: { name: "Composite", @@ -22435,7 +22504,7 @@ export const InformixSource: coreHttp.CompositeMapper = { } }; -export const Db2Source: coreHttp.CompositeMapper = { +export const Db2Source: coreClient.CompositeMapper = { serializedName: "Db2Source", type: { name: "Composite", @@ -22455,7 +22524,7 @@ export const Db2Source: coreHttp.CompositeMapper = { } }; -export const OdbcSource: coreHttp.CompositeMapper = { +export const OdbcSource: coreClient.CompositeMapper = { serializedName: "OdbcSource", type: { name: "Composite", @@ -22475,7 +22544,7 @@ export const OdbcSource: coreHttp.CompositeMapper = { } }; -export const MySqlSource: coreHttp.CompositeMapper = { +export const MySqlSource: coreClient.CompositeMapper = { serializedName: "MySqlSource", type: { name: "Composite", @@ -22495,7 +22564,7 @@ export const MySqlSource: coreHttp.CompositeMapper = { } }; -export const PostgreSqlSource: coreHttp.CompositeMapper = { +export const PostgreSqlSource: coreClient.CompositeMapper = { serializedName: "PostgreSqlSource", type: { name: "Composite", @@ -22515,7 +22584,7 @@ export const PostgreSqlSource: coreHttp.CompositeMapper = { } }; -export const SybaseSource: coreHttp.CompositeMapper = { +export const SybaseSource: coreClient.CompositeMapper = { serializedName: "SybaseSource", type: { name: "Composite", @@ -22535,7 +22604,7 @@ export const SybaseSource: coreHttp.CompositeMapper = { } }; -export const SapBwSource: coreHttp.CompositeMapper = { +export const SapBwSource: coreClient.CompositeMapper = { serializedName: "SapBwSource", type: { name: "Composite", @@ -22555,7 +22624,7 @@ export const SapBwSource: coreHttp.CompositeMapper = { } }; -export const SalesforceSource: coreHttp.CompositeMapper = { +export const SalesforceSource: coreClient.CompositeMapper = { serializedName: "SalesforceSource", type: { name: "Composite", @@ -22581,7 +22650,7 @@ export const SalesforceSource: coreHttp.CompositeMapper = { } }; -export const SapCloudForCustomerSource: coreHttp.CompositeMapper = { +export const SapCloudForCustomerSource: coreClient.CompositeMapper = { serializedName: "SapCloudForCustomerSource", type: { name: "Composite", @@ -22607,7 +22676,7 @@ export const SapCloudForCustomerSource: coreHttp.CompositeMapper = { } }; -export const SapEccSource: coreHttp.CompositeMapper = { +export const SapEccSource: coreClient.CompositeMapper = { serializedName: "SapEccSource", type: { name: "Composite", @@ -22633,7 +22702,7 @@ export const SapEccSource: coreHttp.CompositeMapper = { } }; -export const SapHanaSource: coreHttp.CompositeMapper = { +export const SapHanaSource: coreClient.CompositeMapper = { serializedName: "SapHanaSource", type: { name: "Composite", @@ -22672,7 +22741,7 @@ export const SapHanaSource: coreHttp.CompositeMapper = { } }; -export const SapOpenHubSource: coreHttp.CompositeMapper = { +export const SapOpenHubSource: coreClient.CompositeMapper = { serializedName: "SapOpenHubSource", type: { name: "Composite", @@ -22710,7 +22779,7 @@ export const SapOpenHubSource: coreHttp.CompositeMapper = { } }; -export const SapTableSource: coreHttp.CompositeMapper = { +export const SapTableSource: coreClient.CompositeMapper = { serializedName: "SapTableSource", type: { name: "Composite", @@ -22779,7 +22848,7 @@ export const SapTableSource: coreHttp.CompositeMapper = { } }; -export const SqlSource: coreHttp.CompositeMapper = { +export const SqlSource: coreClient.CompositeMapper = { serializedName: "SqlSource", type: { name: "Composite", @@ -22833,7 +22902,7 @@ export const SqlSource: coreHttp.CompositeMapper = { } }; -export const SqlServerSource: coreHttp.CompositeMapper = { +export const SqlServerSource: coreClient.CompositeMapper = { serializedName: "SqlServerSource", type: { name: "Composite", @@ -22887,7 +22956,7 @@ export const SqlServerSource: coreHttp.CompositeMapper = { } }; -export const AzureSqlSource: coreHttp.CompositeMapper = { +export const AzureSqlSource: coreClient.CompositeMapper = { serializedName: "AzureSqlSource", type: { name: "Composite", @@ -22941,7 +23010,7 @@ export const AzureSqlSource: coreHttp.CompositeMapper = { } }; -export const SqlMISource: coreHttp.CompositeMapper = { +export const SqlMISource: coreClient.CompositeMapper = { serializedName: "SqlMISource", type: { name: "Composite", @@ -22995,7 +23064,7 @@ export const SqlMISource: coreHttp.CompositeMapper = { } }; -export const SqlDWSource: coreHttp.CompositeMapper = { +export const SqlDWSource: coreClient.CompositeMapper = { serializedName: "SqlDWSource", type: { name: "Composite", @@ -23040,7 +23109,7 @@ export const SqlDWSource: coreHttp.CompositeMapper = { } }; -export const AzureMySqlSource: coreHttp.CompositeMapper = { +export const AzureMySqlSource: coreClient.CompositeMapper = { serializedName: "AzureMySqlSource", type: { name: "Composite", @@ -23060,7 +23129,7 @@ export const AzureMySqlSource: coreHttp.CompositeMapper = { } }; -export const TeradataSource: coreHttp.CompositeMapper = { +export const TeradataSource: coreClient.CompositeMapper = { serializedName: "TeradataSource", type: { name: "Composite", @@ -23093,7 +23162,7 @@ export const TeradataSource: coreHttp.CompositeMapper = { } }; -export const CassandraSource: coreHttp.CompositeMapper = { +export const CassandraSource: coreClient.CompositeMapper = { serializedName: "CassandraSource", type: { name: "Composite", @@ -23119,7 +23188,7 @@ export const CassandraSource: coreHttp.CompositeMapper = { } }; -export const AmazonMWSSource: coreHttp.CompositeMapper = { +export const AmazonMWSSource: coreClient.CompositeMapper = { serializedName: "AmazonMWSSource", type: { name: "Composite", @@ -23139,7 +23208,7 @@ export const AmazonMWSSource: coreHttp.CompositeMapper = { } }; -export const AzurePostgreSqlSource: coreHttp.CompositeMapper = { +export const AzurePostgreSqlSource: coreClient.CompositeMapper = { serializedName: "AzurePostgreSqlSource", type: { name: "Composite", @@ -23159,7 +23228,7 @@ export const AzurePostgreSqlSource: coreHttp.CompositeMapper = { } }; -export const ConcurSource: coreHttp.CompositeMapper = { +export const ConcurSource: coreClient.CompositeMapper = { serializedName: "ConcurSource", type: { name: "Composite", @@ -23179,7 +23248,7 @@ export const ConcurSource: coreHttp.CompositeMapper = { } }; -export const CouchbaseSource: coreHttp.CompositeMapper = { +export const CouchbaseSource: coreClient.CompositeMapper = { serializedName: "CouchbaseSource", type: { name: "Composite", @@ -23199,7 +23268,7 @@ export const CouchbaseSource: coreHttp.CompositeMapper = { } }; -export const DrillSource: coreHttp.CompositeMapper = { +export const DrillSource: coreClient.CompositeMapper = { serializedName: "DrillSource", type: { name: "Composite", @@ -23219,7 +23288,7 @@ export const DrillSource: coreHttp.CompositeMapper = { } }; -export const EloquaSource: coreHttp.CompositeMapper = { +export const EloquaSource: coreClient.CompositeMapper = { serializedName: "EloquaSource", type: { name: "Composite", @@ -23239,7 +23308,7 @@ export const EloquaSource: coreHttp.CompositeMapper = { } }; -export const GoogleBigQuerySource: coreHttp.CompositeMapper = { +export const GoogleBigQuerySource: coreClient.CompositeMapper = { serializedName: "GoogleBigQuerySource", type: { name: "Composite", @@ -23259,7 +23328,7 @@ export const GoogleBigQuerySource: coreHttp.CompositeMapper = { } }; -export const GreenplumSource: coreHttp.CompositeMapper = { +export const GreenplumSource: coreClient.CompositeMapper = { serializedName: "GreenplumSource", type: { name: "Composite", @@ -23279,7 +23348,7 @@ export const GreenplumSource: coreHttp.CompositeMapper = { } }; -export const HBaseSource: coreHttp.CompositeMapper = { +export const HBaseSource: coreClient.CompositeMapper = { serializedName: "HBaseSource", type: { name: "Composite", @@ -23299,7 +23368,7 @@ export const HBaseSource: coreHttp.CompositeMapper = { } }; -export const HiveSource: coreHttp.CompositeMapper = { +export const HiveSource: coreClient.CompositeMapper = { serializedName: "HiveSource", type: { name: "Composite", @@ -23319,7 +23388,7 @@ export const HiveSource: coreHttp.CompositeMapper = { } }; -export const HubspotSource: coreHttp.CompositeMapper = { +export const HubspotSource: coreClient.CompositeMapper = { serializedName: "HubspotSource", type: { name: "Composite", @@ -23339,7 +23408,7 @@ export const HubspotSource: coreHttp.CompositeMapper = { } }; -export const ImpalaSource: coreHttp.CompositeMapper = { +export const ImpalaSource: coreClient.CompositeMapper = { serializedName: "ImpalaSource", type: { name: "Composite", @@ -23359,7 +23428,7 @@ export const ImpalaSource: coreHttp.CompositeMapper = { } }; -export const JiraSource: coreHttp.CompositeMapper = { +export const JiraSource: coreClient.CompositeMapper = { serializedName: "JiraSource", type: { name: "Composite", @@ -23379,7 +23448,7 @@ export const JiraSource: coreHttp.CompositeMapper = { } }; -export const MagentoSource: coreHttp.CompositeMapper = { +export const MagentoSource: coreClient.CompositeMapper = { serializedName: "MagentoSource", type: { name: "Composite", @@ -23399,7 +23468,7 @@ export const MagentoSource: coreHttp.CompositeMapper = { } }; -export const MariaDBSource: coreHttp.CompositeMapper = { +export const MariaDBSource: coreClient.CompositeMapper = { serializedName: "MariaDBSource", type: { name: "Composite", @@ -23419,7 +23488,7 @@ export const MariaDBSource: coreHttp.CompositeMapper = { } }; -export const AzureMariaDBSource: coreHttp.CompositeMapper = { +export const AzureMariaDBSource: coreClient.CompositeMapper = { serializedName: "AzureMariaDBSource", type: { name: "Composite", @@ -23439,7 +23508,7 @@ export const AzureMariaDBSource: coreHttp.CompositeMapper = { } }; -export const MarketoSource: coreHttp.CompositeMapper = { +export const MarketoSource: coreClient.CompositeMapper = { serializedName: "MarketoSource", type: { name: "Composite", @@ -23459,7 +23528,7 @@ export const MarketoSource: coreHttp.CompositeMapper = { } }; -export const PaypalSource: coreHttp.CompositeMapper = { +export const PaypalSource: coreClient.CompositeMapper = { serializedName: "PaypalSource", type: { name: "Composite", @@ -23479,7 +23548,7 @@ export const PaypalSource: coreHttp.CompositeMapper = { } }; -export const PhoenixSource: coreHttp.CompositeMapper = { +export const PhoenixSource: coreClient.CompositeMapper = { serializedName: "PhoenixSource", type: { name: "Composite", @@ -23499,7 +23568,7 @@ export const PhoenixSource: coreHttp.CompositeMapper = { } }; -export const PrestoSource: coreHttp.CompositeMapper = { +export const PrestoSource: coreClient.CompositeMapper = { serializedName: "PrestoSource", type: { name: "Composite", @@ -23519,7 +23588,7 @@ export const PrestoSource: coreHttp.CompositeMapper = { } }; -export const QuickBooksSource: coreHttp.CompositeMapper = { +export const QuickBooksSource: coreClient.CompositeMapper = { serializedName: "QuickBooksSource", type: { name: "Composite", @@ -23539,7 +23608,7 @@ export const QuickBooksSource: coreHttp.CompositeMapper = { } }; -export const ServiceNowSource: coreHttp.CompositeMapper = { +export const ServiceNowSource: coreClient.CompositeMapper = { serializedName: "ServiceNowSource", type: { name: "Composite", @@ -23559,7 +23628,7 @@ export const ServiceNowSource: coreHttp.CompositeMapper = { } }; -export const ShopifySource: coreHttp.CompositeMapper = { +export const ShopifySource: coreClient.CompositeMapper = { serializedName: "ShopifySource", type: { name: "Composite", @@ -23579,7 +23648,7 @@ export const ShopifySource: coreHttp.CompositeMapper = { } }; -export const SparkSource: coreHttp.CompositeMapper = { +export const SparkSource: coreClient.CompositeMapper = { serializedName: "SparkSource", type: { name: "Composite", @@ -23599,7 +23668,7 @@ export const SparkSource: coreHttp.CompositeMapper = { } }; -export const SquareSource: coreHttp.CompositeMapper = { +export const SquareSource: coreClient.CompositeMapper = { serializedName: "SquareSource", type: { name: "Composite", @@ -23619,7 +23688,7 @@ export const SquareSource: coreHttp.CompositeMapper = { } }; -export const XeroSource: coreHttp.CompositeMapper = { +export const XeroSource: coreClient.CompositeMapper = { serializedName: "XeroSource", type: { name: "Composite", @@ -23639,7 +23708,7 @@ export const XeroSource: coreHttp.CompositeMapper = { } }; -export const ZohoSource: coreHttp.CompositeMapper = { +export const ZohoSource: coreClient.CompositeMapper = { serializedName: "ZohoSource", type: { name: "Composite", @@ -23659,7 +23728,7 @@ export const ZohoSource: coreHttp.CompositeMapper = { } }; -export const NetezzaSource: coreHttp.CompositeMapper = { +export const NetezzaSource: coreClient.CompositeMapper = { serializedName: "NetezzaSource", type: { name: "Composite", @@ -23692,7 +23761,7 @@ export const NetezzaSource: coreHttp.CompositeMapper = { } }; -export const VerticaSource: coreHttp.CompositeMapper = { +export const VerticaSource: coreClient.CompositeMapper = { serializedName: "VerticaSource", type: { name: "Composite", @@ -23712,7 +23781,7 @@ export const VerticaSource: coreHttp.CompositeMapper = { } }; -export const SalesforceMarketingCloudSource: coreHttp.CompositeMapper = { +export const SalesforceMarketingCloudSource: coreClient.CompositeMapper = { serializedName: "SalesforceMarketingCloudSource", type: { name: "Composite", @@ -23732,7 +23801,7 @@ export const SalesforceMarketingCloudSource: coreHttp.CompositeMapper = { } }; -export const ResponsysSource: coreHttp.CompositeMapper = { +export const ResponsysSource: coreClient.CompositeMapper = { serializedName: "ResponsysSource", type: { name: "Composite", @@ -23752,7 +23821,7 @@ export const ResponsysSource: coreHttp.CompositeMapper = { } }; -export const DynamicsAXSource: coreHttp.CompositeMapper = { +export const DynamicsAXSource: coreClient.CompositeMapper = { serializedName: "DynamicsAXSource", type: { name: "Composite", @@ -23778,7 +23847,7 @@ export const DynamicsAXSource: coreHttp.CompositeMapper = { } }; -export const OracleServiceCloudSource: coreHttp.CompositeMapper = { +export const OracleServiceCloudSource: coreClient.CompositeMapper = { serializedName: "OracleServiceCloudSource", type: { name: "Composite", @@ -23798,7 +23867,7 @@ export const OracleServiceCloudSource: coreHttp.CompositeMapper = { } }; -export const GoogleAdWordsSource: coreHttp.CompositeMapper = { +export const GoogleAdWordsSource: coreClient.CompositeMapper = { serializedName: "GoogleAdWordsSource", type: { name: "Composite", @@ -23818,7 +23887,7 @@ export const GoogleAdWordsSource: coreHttp.CompositeMapper = { } }; -export const AmazonRedshiftSource: coreHttp.CompositeMapper = { +export const AmazonRedshiftSource: coreClient.CompositeMapper = { serializedName: "AmazonRedshiftSource", type: { name: "Composite", @@ -23845,7 +23914,7 @@ export const AmazonRedshiftSource: coreHttp.CompositeMapper = { } }; -export const TumblingWindowTriggerDependencyReference: coreHttp.CompositeMapper = { +export const TumblingWindowTriggerDependencyReference: coreClient.CompositeMapper = { serializedName: "TumblingWindowTriggerDependencyReference", type: { name: "Composite", @@ -23856,7 +23925,9 @@ export const TumblingWindowTriggerDependencyReference: coreHttp.CompositeMapper ...TriggerDependencyReference.type.modelProperties, offset: { constraints: { - Pattern: new RegExp("-?((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))"), + Pattern: new RegExp( + "-?((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))" + ), MaxLength: 15, MinLength: 8 }, @@ -23867,7 +23938,9 @@ export const TumblingWindowTriggerDependencyReference: coreHttp.CompositeMapper }, size: { constraints: { - Pattern: new RegExp("((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))"), + Pattern: new RegExp( + "((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))" + ), MaxLength: 15, MinLength: 8 }, @@ -23880,7 +23953,7 @@ export const TumblingWindowTriggerDependencyReference: coreHttp.CompositeMapper } }; -export const LinkedServiceResource: coreHttp.CompositeMapper = { +export const LinkedServiceResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "LinkedServiceResource", @@ -23897,7 +23970,7 @@ export const LinkedServiceResource: coreHttp.CompositeMapper = { } }; -export const DatasetResource: coreHttp.CompositeMapper = { +export const DatasetResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "DatasetResource", @@ -23914,7 +23987,7 @@ export const DatasetResource: coreHttp.CompositeMapper = { } }; -export const PipelineResource: coreHttp.CompositeMapper = { +export const PipelineResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "PipelineResource", @@ -23995,7 +24068,7 @@ export const PipelineResource: coreHttp.CompositeMapper = { } }; -export const TriggerResource: coreHttp.CompositeMapper = { +export const TriggerResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "TriggerResource", @@ -24012,7 +24085,7 @@ export const TriggerResource: coreHttp.CompositeMapper = { } }; -export const DataFlowResource: coreHttp.CompositeMapper = { +export const DataFlowResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowResource", @@ -24029,7 +24102,7 @@ export const DataFlowResource: coreHttp.CompositeMapper = { } }; -export const SparkJobDefinitionResource: coreHttp.CompositeMapper = { +export const SparkJobDefinitionResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkJobDefinitionResource", @@ -24046,7 +24119,7 @@ export const SparkJobDefinitionResource: coreHttp.CompositeMapper = { } }; -export const IntegrationRuntimeResource: coreHttp.CompositeMapper = { +export const IntegrationRuntimeResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "IntegrationRuntimeResource", @@ -24063,7 +24136,7 @@ export const IntegrationRuntimeResource: coreHttp.CompositeMapper = { } }; -export const LibraryResource: coreHttp.CompositeMapper = { +export const LibraryResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "LibraryResource", @@ -24080,7 +24153,7 @@ export const LibraryResource: coreHttp.CompositeMapper = { } }; -export const RerunTriggerResource: coreHttp.CompositeMapper = { +export const RerunTriggerResource: coreClient.CompositeMapper = { type: { name: "Composite", className: "RerunTriggerResource", @@ -24097,7 +24170,7 @@ export const RerunTriggerResource: coreHttp.CompositeMapper = { } }; -export const DataFlowDebugSessionCreateDataFlowDebugSessionHeaders: coreHttp.CompositeMapper = { +export const DataFlowDebugSessionCreateDataFlowDebugSessionHeaders: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugSessionCreateDataFlowDebugSessionHeaders", @@ -24112,7 +24185,7 @@ export const DataFlowDebugSessionCreateDataFlowDebugSessionHeaders: coreHttp.Com } }; -export const DataFlowDebugSessionExecuteCommandHeaders: coreHttp.CompositeMapper = { +export const DataFlowDebugSessionExecuteCommandHeaders: coreClient.CompositeMapper = { type: { name: "Composite", className: "DataFlowDebugSessionExecuteCommandHeaders", diff --git a/sdk/synapse/synapse-artifacts/src/models/parameters.ts b/sdk/synapse/synapse-artifacts/src/models/parameters.ts index 9cd124d97bce..f51584efb860 100644 --- a/sdk/synapse/synapse-artifacts/src/models/parameters.ts +++ b/sdk/synapse/synapse-artifacts/src/models/parameters.ts @@ -10,7 +10,7 @@ import { OperationParameter, OperationURLParameter, OperationQueryParameter -} from "@azure/core-http"; +} from "@azure/core-client"; import { LinkedServiceResource as LinkedServiceResourceMapper, ArtifactRenameRequest as ArtifactRenameRequestMapper, @@ -452,8 +452,20 @@ export const accept1: OperationParameter = { } }; -export const xMsBlobConditionAppendpos: OperationParameter = { - parameterPath: ["options", "xMsBlobConditionAppendpos"], +export const comp: OperationQueryParameter = { + parameterPath: "comp", + mapper: { + defaultValue: "appendblock", + isConstant: true, + serializedName: "comp", + type: { + name: "String" + } + } +}; + +export const blobConditionAppendPosition: OperationParameter = { + parameterPath: ["options", "blobConditionAppendPosition"], mapper: { serializedName: "x-ms-blob-condition-appendpos", type: { diff --git a/sdk/synapse/synapse-artifacts/src/operations/bigDataPools.ts b/sdk/synapse/synapse-artifacts/src/operations/bigDataPools.ts index 4c8dca3317fd..2eb7af29a91b 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/bigDataPools.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/bigDataPools.ts @@ -6,14 +6,19 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "../tracing"; import { BigDataPools } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; -import { BigDataPoolsListResponse, BigDataPoolsGetResponse } from "../models"; +import { + BigDataPoolsListOptionalParams, + BigDataPoolsListResponse, + BigDataPoolsGetOptionalParams, + BigDataPoolsGetResponse +} from "../models"; /** Class representing a BigDataPools. */ export class BigDataPoolsImpl implements BigDataPools { @@ -31,17 +36,19 @@ export class BigDataPoolsImpl implements BigDataPools { * List Big Data Pools * @param options The options parameters. */ - async list(options?: coreHttp.OperationOptions): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-list", options || {}); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + async list( + options?: BigDataPoolsListOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-list", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, listOperationSpec); + const result = await this.client.sendOperationRequest( + { options }, + listOperationSpec + ); return result as BigDataPoolsListResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -57,19 +64,18 @@ export class BigDataPoolsImpl implements BigDataPools { */ async get( bigDataPoolName: string, - options?: coreHttp.OperationOptions + options?: BigDataPoolsGetOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-get", options || {}); - const operationArguments: coreHttp.OperationArguments = { - bigDataPoolName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + const { span } = createSpan("ArtifactsClient-get", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, getOperationSpec); + const result = await this.client.sendOperationRequest( + { bigDataPoolName, options }, + getOperationSpec + ); return result as BigDataPoolsGetResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -79,9 +85,9 @@ export class BigDataPoolsImpl implements BigDataPools { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const listOperationSpec: coreHttp.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { path: "/bigDataPools", httpMethod: "GET", responses: { @@ -97,7 +103,7 @@ const listOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const getOperationSpec: coreHttp.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { path: "/bigDataPools/{bigDataPoolName}", httpMethod: "GET", responses: { diff --git a/sdk/synapse/synapse-artifacts/src/operations/dataFlow.ts b/sdk/synapse/synapse-artifacts/src/operations/dataFlow.ts deleted file mode 100644 index 0d1228ff5def..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operations/dataFlow.ts +++ /dev/null @@ -1,447 +0,0 @@ -/* - * 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 { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "../tracing"; -import "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { DataFlow } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; -import { - DataFlowResource, - DataFlowCreateOrUpdateDataFlowOptionalParams, - DataFlowCreateOrUpdateDataFlowResponse, - DataFlowGetDataFlowOptionalParams, - DataFlowGetDataFlowResponse, - ArtifactRenameRequest, - DataFlowGetDataFlowsByWorkspaceResponse, - DataFlowGetDataFlowsByWorkspaceNextResponse -} from "../models"; - -/** Class representing a DataFlow. */ -export class DataFlowImpl implements DataFlow { - private readonly client: ArtifactsClientContext; - - /** - * Initialize a new instance of the class DataFlow class. - * @param client Reference to the service client - */ - constructor(client: ArtifactsClientContext) { - this.client = client; - } - - /** - * Lists data flows. - * @param options The options parameters. - */ - public listDataFlowsByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getDataFlowsByWorkspacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getDataFlowsByWorkspacePagingPage(options); - } - }; - } - - private async *getDataFlowsByWorkspacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getDataFlowsByWorkspace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getDataFlowsByWorkspaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getDataFlowsByWorkspacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getDataFlowsByWorkspacePagingPage(options)) { - yield* page; - } - } - - /** - * Creates or updates a data flow. - * @param dataFlowName The data flow name. - * @param dataFlow Data flow resource definition. - * @param options The options parameters. - */ - async createOrUpdateDataFlow( - dataFlowName: string, - dataFlow: DataFlowResource, - options?: DataFlowCreateOrUpdateDataFlowOptionalParams - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createOrUpdateDataFlow", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - dataFlowName, - dataFlow, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as DataFlowCreateOrUpdateDataFlowResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - createOrUpdateDataFlowOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOrUpdateDataFlowOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Gets a data flow. - * @param dataFlowName The data flow name. - * @param options The options parameters. - */ - async getDataFlow( - dataFlowName: string, - options?: DataFlowGetDataFlowOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-getDataFlow", options || {}); - const operationArguments: coreHttp.OperationArguments = { - dataFlowName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getDataFlowOperationSpec - ); - return result as DataFlowGetDataFlowResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Deletes a data flow. - * @param dataFlowName The data flow name. - * @param options The options parameters. - */ - async deleteDataFlow( - dataFlowName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-deleteDataFlow", options || {}); - const operationArguments: coreHttp.OperationArguments = { - dataFlowName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - deleteDataFlowOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deleteDataFlowOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Renames a dataflow. - * @param dataFlowName The data flow name. - * @param request proposed new name. - * @param options The options parameters. - */ - async renameDataFlow( - dataFlowName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-renameDataFlow", options || {}); - const operationArguments: coreHttp.OperationArguments = { - dataFlowName, - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - renameDataFlowOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: renameDataFlowOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Lists data flows. - * @param options The options parameters. - */ - private async _getDataFlowsByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getDataFlowsByWorkspace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getDataFlowsByWorkspaceOperationSpec - ); - return result as DataFlowGetDataFlowsByWorkspaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * GetDataFlowsByWorkspaceNext - * @param nextLink The nextLink from the previous successful call to the GetDataFlowsByWorkspace - * method. - * @param options The options parameters. - */ - private async _getDataFlowsByWorkspaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getDataFlowsByWorkspaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getDataFlowsByWorkspaceNextOperationSpec - ); - return result as DataFlowGetDataFlowsByWorkspaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } -} -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const createOrUpdateDataFlowOperationSpec: coreHttp.OperationSpec = { - path: "/dataflows/{dataFlowName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.DataFlowResource - }, - 201: { - bodyMapper: Mappers.DataFlowResource - }, - 202: { - bodyMapper: Mappers.DataFlowResource - }, - 204: { - bodyMapper: Mappers.DataFlowResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.dataFlow, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.dataFlowName], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.ifMatch], - mediaType: "json", - serializer -}; -const getDataFlowOperationSpec: coreHttp.OperationSpec = { - path: "/dataflows/{dataFlowName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DataFlowResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.dataFlowName], - headerParameters: [Parameters.accept, Parameters.ifNoneMatch], - serializer -}; -const deleteDataFlowOperationSpec: coreHttp.OperationSpec = { - path: "/dataflows/{dataFlowName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.dataFlowName], - headerParameters: [Parameters.accept], - serializer -}; -const renameDataFlowOperationSpec: coreHttp.OperationSpec = { - path: "/dataflows/{dataFlowName}/rename", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.request, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.dataFlowName], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getDataFlowsByWorkspaceOperationSpec: coreHttp.OperationSpec = { - path: "/dataflows", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DataFlowListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const getDataFlowsByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DataFlowListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/dataFlowDebugSession.ts b/sdk/synapse/synapse-artifacts/src/operations/dataFlowDebugSession.ts index 05071948dcf1..331f4dad74d0 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/dataFlowDebugSession.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/dataFlowDebugSession.ts @@ -6,30 +6,37 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -/// -import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "../tracing"; import "@azure/core-paging"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { DataFlowDebugSession } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { DataFlowDebugSessionInfo, + DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextOptionalParams, + DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams, CreateDataFlowDebugSessionRequest, + DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams, DataFlowDebugSessionCreateDataFlowDebugSessionResponse, DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceResponse, DataFlowDebugPackage, + DataFlowDebugSessionAddDataFlowOptionalParams, DataFlowDebugSessionAddDataFlowResponse, DeleteDataFlowDebugSessionRequest, + DataFlowDebugSessionDeleteDataFlowDebugSessionOptionalParams, DataFlowDebugCommandRequest, + DataFlowDebugSessionExecuteCommandOptionalParams, DataFlowDebugSessionExecuteCommandResponse, DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextResponse } from "../models"; +/// /** Class representing a DataFlowDebugSession. */ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { private readonly client: ArtifactsClientContext; @@ -47,7 +54,7 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { * @param options The options parameters. */ public listQueryDataFlowDebugSessionsByWorkspace( - options?: coreHttp.OperationOptions + options?: DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams ): PagedAsyncIterableIterator { const iter = this.queryDataFlowDebugSessionsByWorkspacePagingAll(options); return { @@ -64,22 +71,27 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { } private async *queryDataFlowDebugSessionsByWorkspacePagingPage( - options?: coreHttp.OperationOptions + options?: DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams ): AsyncIterableIterator { let result = await this._queryDataFlowDebugSessionsByWorkspace(options); yield result.value || []; let continuationToken = result.nextLink; while (continuationToken) { - result = await this._queryDataFlowDebugSessionsByWorkspaceNext(continuationToken, options); + result = await this._queryDataFlowDebugSessionsByWorkspaceNext( + continuationToken, + options + ); continuationToken = result.nextLink; yield result.value || []; } } private async *queryDataFlowDebugSessionsByWorkspacePagingAll( - options?: coreHttp.OperationOptions + options?: DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams ): AsyncIterableIterator { - for await (const page of this.queryDataFlowDebugSessionsByWorkspacePagingPage(options)) { + for await (const page of this.queryDataFlowDebugSessionsByWorkspacePagingPage( + options + )) { yield* page; } } @@ -89,28 +101,31 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { * @param request Data flow debug session definition * @param options The options parameters. */ - async createDataFlowDebugSession( + async beginCreateDataFlowDebugSession( request: CreateDataFlowDebugSessionRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createDataFlowDebugSession", + options?: DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + DataFlowDebugSessionCreateDataFlowDebugSessionResponse + >, + DataFlowDebugSessionCreateDataFlowDebugSessionResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateDataFlowDebugSession", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { try { const result = await this.client.sendOperationRequest(args, spec); return result as DataFlowDebugSessionCreateDataFlowDebugSessionResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -118,42 +133,85 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { span.end(); } }; + 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 initialOperationResult = await sendOperation( - operationArguments, + const lro = new LroImpl( + sendOperation, + { request, options }, createDataFlowDebugSessionOperationSpec ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createDataFlowDebugSessionOperationSpec, - initialOperationResult, - sendOperation + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs }); } + /** + * Creates a data flow debug session. + * @param request Data flow debug session definition + * @param options The options parameters. + */ + async beginCreateDataFlowDebugSessionAndWait( + request: CreateDataFlowDebugSessionRequest, + options?: DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams + ): Promise { + const poller = await this.beginCreateDataFlowDebugSession(request, options); + return poller.pollUntilDone(); + } + /** * Query all active data flow debug sessions. * @param options The options parameters. */ private async _queryDataFlowDebugSessionsByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( + options?: DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams + ): Promise< + DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceResponse + > { + const { span } = createSpan( "ArtifactsClient-_queryDataFlowDebugSessionsByWorkspace", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { options }, queryDataFlowDebugSessionsByWorkspaceOperationSpec ); return result as DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -169,22 +227,18 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { */ async addDataFlow( request: DataFlowDebugPackage, - options?: coreHttp.OperationOptions + options?: DataFlowDebugSessionAddDataFlowOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-addDataFlow", options || {}); - const operationArguments: coreHttp.OperationArguments = { - request, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + const { span } = createSpan("ArtifactsClient-addDataFlow", options || {}); try { const result = await this.client.sendOperationRequest( - operationArguments, + { request, options }, addDataFlowOperationSpec ); return result as DataFlowDebugSessionAddDataFlowResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -200,25 +254,21 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { */ async deleteDataFlowDebugSession( request: DeleteDataFlowDebugSessionRequest, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( + options?: DataFlowDebugSessionDeleteDataFlowDebugSessionOptionalParams + ): Promise { + const { span } = createSpan( "ArtifactsClient-deleteDataFlowDebugSession", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - request, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { request, options }, deleteDataFlowDebugSessionOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -232,25 +282,29 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { * @param request Data flow debug command definition. * @param options The options parameters. */ - async executeCommand( + async beginExecuteCommand( request: DataFlowDebugCommandRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-executeCommand", options || {}); - const operationArguments: coreHttp.OperationArguments = { - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { + options?: DataFlowDebugSessionExecuteCommandOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DataFlowDebugSessionExecuteCommandResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginExecuteCommand", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { try { const result = await this.client.sendOperationRequest(args, spec); return result as DataFlowDebugSessionExecuteCommandResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -258,19 +312,63 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { span.end(); } }; + 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 initialOperationResult = await sendOperation( - operationArguments, + const lro = new LroImpl( + sendOperation, + { request, options }, executeCommandOperationSpec ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: executeCommandOperationSpec, - initialOperationResult, - sendOperation + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs }); } + /** + * Execute a data flow debug command. + * @param request Data flow debug command definition. + * @param options The options parameters. + */ + async beginExecuteCommandAndWait( + request: DataFlowDebugCommandRequest, + options?: DataFlowDebugSessionExecuteCommandOptionalParams + ): Promise { + const poller = await this.beginExecuteCommand(request, options); + return poller.pollUntilDone(); + } + /** * QueryDataFlowDebugSessionsByWorkspaceNext * @param nextLink The nextLink from the previous successful call to the @@ -279,25 +377,23 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { */ private async _queryDataFlowDebugSessionsByWorkspaceNext( nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( + options?: DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextOptionalParams + ): Promise< + DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextResponse + > { + const { span } = createSpan( "ArtifactsClient-_queryDataFlowDebugSessionsByWorkspaceNext", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { nextLink, options }, queryDataFlowDebugSessionsByWorkspaceNextOperationSpec ); return result as DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceNextResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -305,23 +401,11 @@ export class DataFlowDebugSessionImpl implements DataFlowDebugSession { span.end(); } } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const createDataFlowDebugSessionOperationSpec: coreHttp.OperationSpec = { +const createDataFlowDebugSessionOperationSpec: coreClient.OperationSpec = { path: "/createDataFlowDebugSession", httpMethod: "POST", responses: { @@ -348,7 +432,7 @@ const createDataFlowDebugSessionOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const queryDataFlowDebugSessionsByWorkspaceOperationSpec: coreHttp.OperationSpec = { +const queryDataFlowDebugSessionsByWorkspaceOperationSpec: coreClient.OperationSpec = { path: "/queryDataFlowDebugSessions", httpMethod: "POST", responses: { @@ -364,7 +448,7 @@ const queryDataFlowDebugSessionsByWorkspaceOperationSpec: coreHttp.OperationSpec headerParameters: [Parameters.accept], serializer }; -const addDataFlowOperationSpec: coreHttp.OperationSpec = { +const addDataFlowOperationSpec: coreClient.OperationSpec = { path: "/addDataFlowToDebugSession", httpMethod: "POST", responses: { @@ -382,7 +466,7 @@ const addDataFlowOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const deleteDataFlowDebugSessionOperationSpec: coreHttp.OperationSpec = { +const deleteDataFlowDebugSessionOperationSpec: coreClient.OperationSpec = { path: "/deleteDataFlowDebugSession", httpMethod: "POST", responses: { @@ -398,7 +482,7 @@ const deleteDataFlowDebugSessionOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const executeCommandOperationSpec: coreHttp.OperationSpec = { +const executeCommandOperationSpec: coreClient.OperationSpec = { path: "/executeDataFlowDebugCommand", httpMethod: "POST", responses: { @@ -425,7 +509,7 @@ const executeCommandOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const queryDataFlowDebugSessionsByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { +const queryDataFlowDebugSessionsByWorkspaceNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { diff --git a/sdk/synapse/synapse-artifacts/src/operations/dataFlowOperations.ts b/sdk/synapse/synapse-artifacts/src/operations/dataFlowOperations.ts new file mode 100644 index 000000000000..f3eb704a525b --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operations/dataFlowOperations.ts @@ -0,0 +1,578 @@ +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DataFlowOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ArtifactsClientContext } from "../artifactsClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + DataFlowResource, + DataFlowOperationsGetDataFlowsByWorkspaceNextOptionalParams, + DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams, + DataFlowOperationsCreateOrUpdateDataFlowOptionalParams, + DataFlowOperationsCreateOrUpdateDataFlowResponse, + DataFlowOperationsGetDataFlowOptionalParams, + DataFlowOperationsGetDataFlowResponse, + DataFlowOperationsDeleteDataFlowOptionalParams, + ArtifactRenameRequest, + DataFlowOperationsRenameDataFlowOptionalParams, + DataFlowOperationsGetDataFlowsByWorkspaceResponse, + DataFlowOperationsGetDataFlowsByWorkspaceNextResponse +} from "../models"; + +/// +/** Class representing a DataFlowOperations. */ +export class DataFlowOperationsImpl implements DataFlowOperations { + private readonly client: ArtifactsClientContext; + + /** + * Initialize a new instance of the class DataFlowOperations class. + * @param client Reference to the service client + */ + constructor(client: ArtifactsClientContext) { + this.client = client; + } + + /** + * Lists data flows. + * @param options The options parameters. + */ + public listDataFlowsByWorkspace( + options?: DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getDataFlowsByWorkspacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getDataFlowsByWorkspacePagingPage(options); + } + }; + } + + private async *getDataFlowsByWorkspacePagingPage( + options?: DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getDataFlowsByWorkspace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getDataFlowsByWorkspaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getDataFlowsByWorkspacePagingAll( + options?: DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getDataFlowsByWorkspacePagingPage(options)) { + yield* page; + } + } + + /** + * Creates or updates a data flow. + * @param dataFlowName The data flow name. + * @param dataFlow Data flow resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateDataFlow( + dataFlowName: string, + dataFlow: DataFlowResource, + options?: DataFlowOperationsCreateOrUpdateDataFlowOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DataFlowOperationsCreateOrUpdateDataFlowResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateOrUpdateDataFlow", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as DataFlowOperationsCreateOrUpdateDataFlowResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { dataFlowName, dataFlow, options }, + createOrUpdateDataFlowOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a data flow. + * @param dataFlowName The data flow name. + * @param dataFlow Data flow resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateDataFlowAndWait( + dataFlowName: string, + dataFlow: DataFlowResource, + options?: DataFlowOperationsCreateOrUpdateDataFlowOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateDataFlow( + dataFlowName, + dataFlow, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a data flow. + * @param dataFlowName The data flow name. + * @param options The options parameters. + */ + async getDataFlow( + dataFlowName: string, + options?: DataFlowOperationsGetDataFlowOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-getDataFlow", options || {}); + try { + const result = await this.client.sendOperationRequest( + { dataFlowName, options }, + getDataFlowOperationSpec + ); + return result as DataFlowOperationsGetDataFlowResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Deletes a data flow. + * @param dataFlowName The data flow name. + * @param options The options parameters. + */ + async beginDeleteDataFlow( + dataFlowName: string, + options?: DataFlowOperationsDeleteDataFlowOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginDeleteDataFlow", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { dataFlowName, options }, + deleteDataFlowOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a data flow. + * @param dataFlowName The data flow name. + * @param options The options parameters. + */ + async beginDeleteDataFlowAndWait( + dataFlowName: string, + options?: DataFlowOperationsDeleteDataFlowOptionalParams + ): Promise { + const poller = await this.beginDeleteDataFlow(dataFlowName, options); + return poller.pollUntilDone(); + } + + /** + * Renames a dataflow. + * @param dataFlowName The data flow name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameDataFlow( + dataFlowName: string, + request: ArtifactRenameRequest, + options?: DataFlowOperationsRenameDataFlowOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginRenameDataFlow", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { dataFlowName, request, options }, + renameDataFlowOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Renames a dataflow. + * @param dataFlowName The data flow name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameDataFlowAndWait( + dataFlowName: string, + request: ArtifactRenameRequest, + options?: DataFlowOperationsRenameDataFlowOptionalParams + ): Promise { + const poller = await this.beginRenameDataFlow( + dataFlowName, + request, + options + ); + return poller.pollUntilDone(); + } + + /** + * Lists data flows. + * @param options The options parameters. + */ + private async _getDataFlowsByWorkspace( + options?: DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getDataFlowsByWorkspace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getDataFlowsByWorkspaceOperationSpec + ); + return result as DataFlowOperationsGetDataFlowsByWorkspaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * GetDataFlowsByWorkspaceNext + * @param nextLink The nextLink from the previous successful call to the GetDataFlowsByWorkspace + * method. + * @param options The options parameters. + */ + private async _getDataFlowsByWorkspaceNext( + nextLink: string, + options?: DataFlowOperationsGetDataFlowsByWorkspaceNextOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getDataFlowsByWorkspaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getDataFlowsByWorkspaceNextOperationSpec + ); + return result as DataFlowOperationsGetDataFlowsByWorkspaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateDataFlowOperationSpec: coreClient.OperationSpec = { + path: "/dataflows/{dataFlowName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.DataFlowResource + }, + 201: { + bodyMapper: Mappers.DataFlowResource + }, + 202: { + bodyMapper: Mappers.DataFlowResource + }, + 204: { + bodyMapper: Mappers.DataFlowResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.dataFlow, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.dataFlowName], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const getDataFlowOperationSpec: coreClient.OperationSpec = { + path: "/dataflows/{dataFlowName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DataFlowResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.dataFlowName], + headerParameters: [Parameters.accept, Parameters.ifNoneMatch], + serializer +}; +const deleteDataFlowOperationSpec: coreClient.OperationSpec = { + path: "/dataflows/{dataFlowName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.dataFlowName], + headerParameters: [Parameters.accept], + serializer +}; +const renameDataFlowOperationSpec: coreClient.OperationSpec = { + path: "/dataflows/{dataFlowName}/rename", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.dataFlowName], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getDataFlowsByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: "/dataflows", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DataFlowListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const getDataFlowsByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DataFlowListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/dataset.ts b/sdk/synapse/synapse-artifacts/src/operations/dataset.ts deleted file mode 100644 index 9229ba368e23..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operations/dataset.ts +++ /dev/null @@ -1,447 +0,0 @@ -/* - * 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 { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "../tracing"; -import "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { Dataset } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; -import { - DatasetResource, - DatasetGetDatasetsByWorkspaceResponse, - DatasetCreateOrUpdateDatasetOptionalParams, - DatasetCreateOrUpdateDatasetResponse, - DatasetGetDatasetOptionalParams, - DatasetGetDatasetResponse, - ArtifactRenameRequest, - DatasetGetDatasetsByWorkspaceNextResponse -} from "../models"; - -/** Class representing a Dataset. */ -export class DatasetImpl implements Dataset { - private readonly client: ArtifactsClientContext; - - /** - * Initialize a new instance of the class Dataset class. - * @param client Reference to the service client - */ - constructor(client: ArtifactsClientContext) { - this.client = client; - } - - /** - * Lists datasets. - * @param options The options parameters. - */ - public listDatasetsByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getDatasetsByWorkspacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getDatasetsByWorkspacePagingPage(options); - } - }; - } - - private async *getDatasetsByWorkspacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getDatasetsByWorkspace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getDatasetsByWorkspaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getDatasetsByWorkspacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getDatasetsByWorkspacePagingPage(options)) { - yield* page; - } - } - - /** - * Lists datasets. - * @param options The options parameters. - */ - private async _getDatasetsByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getDatasetsByWorkspace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getDatasetsByWorkspaceOperationSpec - ); - return result as DatasetGetDatasetsByWorkspaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Creates or updates a dataset. - * @param datasetName The dataset name. - * @param dataset Dataset resource definition. - * @param options The options parameters. - */ - async createOrUpdateDataset( - datasetName: string, - dataset: DatasetResource, - options?: DatasetCreateOrUpdateDatasetOptionalParams - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createOrUpdateDataset", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - datasetName, - dataset, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as DatasetCreateOrUpdateDatasetResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - createOrUpdateDatasetOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOrUpdateDatasetOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Gets a dataset. - * @param datasetName The dataset name. - * @param options The options parameters. - */ - async getDataset( - datasetName: string, - options?: DatasetGetDatasetOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-getDataset", options || {}); - const operationArguments: coreHttp.OperationArguments = { - datasetName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getDatasetOperationSpec - ); - return result as DatasetGetDatasetResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Deletes a dataset. - * @param datasetName The dataset name. - * @param options The options parameters. - */ - async deleteDataset( - datasetName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-deleteDataset", options || {}); - const operationArguments: coreHttp.OperationArguments = { - datasetName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - deleteDatasetOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deleteDatasetOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Renames a dataset. - * @param datasetName The dataset name. - * @param request proposed new name. - * @param options The options parameters. - */ - async renameDataset( - datasetName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-renameDataset", options || {}); - const operationArguments: coreHttp.OperationArguments = { - datasetName, - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - renameDatasetOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: renameDatasetOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * GetDatasetsByWorkspaceNext - * @param nextLink The nextLink from the previous successful call to the GetDatasetsByWorkspace method. - * @param options The options parameters. - */ - private async _getDatasetsByWorkspaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getDatasetsByWorkspaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getDatasetsByWorkspaceNextOperationSpec - ); - return result as DatasetGetDatasetsByWorkspaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } -} -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const getDatasetsByWorkspaceOperationSpec: coreHttp.OperationSpec = { - path: "/datasets", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DatasetListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdateDatasetOperationSpec: coreHttp.OperationSpec = { - path: "/datasets/{datasetName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.DatasetResource - }, - 201: { - bodyMapper: Mappers.DatasetResource - }, - 202: { - bodyMapper: Mappers.DatasetResource - }, - 204: { - bodyMapper: Mappers.DatasetResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.dataset, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.datasetName], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.ifMatch], - mediaType: "json", - serializer -}; -const getDatasetOperationSpec: coreHttp.OperationSpec = { - path: "/datasets/{datasetName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DatasetResource - }, - 304: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.datasetName], - headerParameters: [Parameters.accept, Parameters.ifNoneMatch], - serializer -}; -const deleteDatasetOperationSpec: coreHttp.OperationSpec = { - path: "/datasets/{datasetName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.datasetName], - headerParameters: [Parameters.accept], - serializer -}; -const renameDatasetOperationSpec: coreHttp.OperationSpec = { - path: "/datasets/{datasetName}/rename", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.request, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.datasetName], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getDatasetsByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DatasetListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/datasetOperations.ts b/sdk/synapse/synapse-artifacts/src/operations/datasetOperations.ts new file mode 100644 index 000000000000..4a7c82ab34c0 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operations/datasetOperations.ts @@ -0,0 +1,574 @@ +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { DatasetOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ArtifactsClientContext } from "../artifactsClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + DatasetResource, + DatasetOperationsGetDatasetsByWorkspaceNextOptionalParams, + DatasetOperationsGetDatasetsByWorkspaceOptionalParams, + DatasetOperationsGetDatasetsByWorkspaceResponse, + DatasetOperationsCreateOrUpdateDatasetOptionalParams, + DatasetOperationsCreateOrUpdateDatasetResponse, + DatasetOperationsGetDatasetOptionalParams, + DatasetOperationsGetDatasetResponse, + DatasetOperationsDeleteDatasetOptionalParams, + ArtifactRenameRequest, + DatasetOperationsRenameDatasetOptionalParams, + DatasetOperationsGetDatasetsByWorkspaceNextResponse +} from "../models"; + +/// +/** Class representing a DatasetOperations. */ +export class DatasetOperationsImpl implements DatasetOperations { + private readonly client: ArtifactsClientContext; + + /** + * Initialize a new instance of the class DatasetOperations class. + * @param client Reference to the service client + */ + constructor(client: ArtifactsClientContext) { + this.client = client; + } + + /** + * Lists datasets. + * @param options The options parameters. + */ + public listDatasetsByWorkspace( + options?: DatasetOperationsGetDatasetsByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getDatasetsByWorkspacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getDatasetsByWorkspacePagingPage(options); + } + }; + } + + private async *getDatasetsByWorkspacePagingPage( + options?: DatasetOperationsGetDatasetsByWorkspaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getDatasetsByWorkspace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getDatasetsByWorkspaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getDatasetsByWorkspacePagingAll( + options?: DatasetOperationsGetDatasetsByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getDatasetsByWorkspacePagingPage(options)) { + yield* page; + } + } + + /** + * Lists datasets. + * @param options The options parameters. + */ + private async _getDatasetsByWorkspace( + options?: DatasetOperationsGetDatasetsByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getDatasetsByWorkspace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getDatasetsByWorkspaceOperationSpec + ); + return result as DatasetOperationsGetDatasetsByWorkspaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Creates or updates a dataset. + * @param datasetName The dataset name. + * @param dataset Dataset resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateDataset( + datasetName: string, + dataset: DatasetResource, + options?: DatasetOperationsCreateOrUpdateDatasetOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatasetOperationsCreateOrUpdateDatasetResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateOrUpdateDataset", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as DatasetOperationsCreateOrUpdateDatasetResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { datasetName, dataset, options }, + createOrUpdateDatasetOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a dataset. + * @param datasetName The dataset name. + * @param dataset Dataset resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateDatasetAndWait( + datasetName: string, + dataset: DatasetResource, + options?: DatasetOperationsCreateOrUpdateDatasetOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateDataset( + datasetName, + dataset, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a dataset. + * @param datasetName The dataset name. + * @param options The options parameters. + */ + async getDataset( + datasetName: string, + options?: DatasetOperationsGetDatasetOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-getDataset", options || {}); + try { + const result = await this.client.sendOperationRequest( + { datasetName, options }, + getDatasetOperationSpec + ); + return result as DatasetOperationsGetDatasetResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Deletes a dataset. + * @param datasetName The dataset name. + * @param options The options parameters. + */ + async beginDeleteDataset( + datasetName: string, + options?: DatasetOperationsDeleteDatasetOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginDeleteDataset", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { datasetName, options }, + deleteDatasetOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a dataset. + * @param datasetName The dataset name. + * @param options The options parameters. + */ + async beginDeleteDatasetAndWait( + datasetName: string, + options?: DatasetOperationsDeleteDatasetOptionalParams + ): Promise { + const poller = await this.beginDeleteDataset(datasetName, options); + return poller.pollUntilDone(); + } + + /** + * Renames a dataset. + * @param datasetName The dataset name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameDataset( + datasetName: string, + request: ArtifactRenameRequest, + options?: DatasetOperationsRenameDatasetOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginRenameDataset", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { datasetName, request, options }, + renameDatasetOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Renames a dataset. + * @param datasetName The dataset name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameDatasetAndWait( + datasetName: string, + request: ArtifactRenameRequest, + options?: DatasetOperationsRenameDatasetOptionalParams + ): Promise { + const poller = await this.beginRenameDataset(datasetName, request, options); + return poller.pollUntilDone(); + } + + /** + * GetDatasetsByWorkspaceNext + * @param nextLink The nextLink from the previous successful call to the GetDatasetsByWorkspace method. + * @param options The options parameters. + */ + private async _getDatasetsByWorkspaceNext( + nextLink: string, + options?: DatasetOperationsGetDatasetsByWorkspaceNextOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getDatasetsByWorkspaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getDatasetsByWorkspaceNextOperationSpec + ); + return result as DatasetOperationsGetDatasetsByWorkspaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getDatasetsByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: "/datasets", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatasetListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateDatasetOperationSpec: coreClient.OperationSpec = { + path: "/datasets/{datasetName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.DatasetResource + }, + 201: { + bodyMapper: Mappers.DatasetResource + }, + 202: { + bodyMapper: Mappers.DatasetResource + }, + 204: { + bodyMapper: Mappers.DatasetResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.dataset, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.datasetName], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const getDatasetOperationSpec: coreClient.OperationSpec = { + path: "/datasets/{datasetName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatasetResource + }, + 304: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.datasetName], + headerParameters: [Parameters.accept, Parameters.ifNoneMatch], + serializer +}; +const deleteDatasetOperationSpec: coreClient.OperationSpec = { + path: "/datasets/{datasetName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.datasetName], + headerParameters: [Parameters.accept], + serializer +}; +const renameDatasetOperationSpec: coreClient.OperationSpec = { + path: "/datasets/{datasetName}/rename", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.datasetName], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getDatasetsByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.DatasetListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/index.ts b/sdk/synapse/synapse-artifacts/src/operations/index.ts index bf87a2306dd8..44e9f4f8cb66 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/index.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/index.ts @@ -6,18 +6,18 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./linkedService"; -export * from "./dataset"; -export * from "./pipeline"; -export * from "./pipelineRun"; -export * from "./trigger"; -export * from "./triggerRun"; -export * from "./dataFlow"; +export * from "./linkedServiceOperations"; +export * from "./datasetOperations"; +export * from "./pipelineOperations"; +export * from "./pipelineRunOperations"; +export * from "./triggerOperations"; +export * from "./triggerRunOperations"; +export * from "./dataFlowOperations"; export * from "./dataFlowDebugSession"; -export * from "./sqlScript"; -export * from "./sparkJobDefinition"; -export * from "./notebook"; -export * from "./workspace"; +export * from "./sqlScriptOperations"; +export * from "./sparkJobDefinitionOperations"; +export * from "./notebookOperations"; +export * from "./workspaceOperations"; export * from "./sqlPools"; export * from "./bigDataPools"; export * from "./integrationRuntimes"; diff --git a/sdk/synapse/synapse-artifacts/src/operations/integrationRuntimes.ts b/sdk/synapse/synapse-artifacts/src/operations/integrationRuntimes.ts index fede3cdfe3f2..71b8fb9f646c 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/integrationRuntimes.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/integrationRuntimes.ts @@ -6,14 +6,19 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "../tracing"; import { IntegrationRuntimes } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; -import { IntegrationRuntimesListResponse, IntegrationRuntimesGetResponse } from "../models"; +import { + IntegrationRuntimesListOptionalParams, + IntegrationRuntimesListResponse, + IntegrationRuntimesGetOptionalParams, + IntegrationRuntimesGetResponse +} from "../models"; /** Class representing a IntegrationRuntimes. */ export class IntegrationRuntimesImpl implements IntegrationRuntimes { @@ -31,17 +36,19 @@ export class IntegrationRuntimesImpl implements IntegrationRuntimes { * List Integration Runtimes * @param options The options parameters. */ - async list(options?: coreHttp.OperationOptions): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-list", options || {}); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + async list( + options?: IntegrationRuntimesListOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-list", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, listOperationSpec); + const result = await this.client.sendOperationRequest( + { options }, + listOperationSpec + ); return result as IntegrationRuntimesListResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -57,19 +64,18 @@ export class IntegrationRuntimesImpl implements IntegrationRuntimes { */ async get( integrationRuntimeName: string, - options?: coreHttp.OperationOptions + options?: IntegrationRuntimesGetOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-get", options || {}); - const operationArguments: coreHttp.OperationArguments = { - integrationRuntimeName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + const { span } = createSpan("ArtifactsClient-get", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, getOperationSpec); + const result = await this.client.sendOperationRequest( + { integrationRuntimeName, options }, + getOperationSpec + ); return result as IntegrationRuntimesGetResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -79,9 +85,9 @@ export class IntegrationRuntimesImpl implements IntegrationRuntimes { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const listOperationSpec: coreHttp.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { path: "/integrationRuntimes", httpMethod: "GET", responses: { @@ -97,7 +103,7 @@ const listOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const getOperationSpec: coreHttp.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { path: "/integrationRuntimes/{integrationRuntimeName}", httpMethod: "GET", responses: { diff --git a/sdk/synapse/synapse-artifacts/src/operations/library.ts b/sdk/synapse/synapse-artifacts/src/operations/library.ts index 740d2049db24..9d81a81ac545 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/library.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/library.ts @@ -5,26 +5,36 @@ * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -/// -import { SpanStatusCode } from "@azure/core-tracing"; + import { createSpan } from "../tracing"; import "@azure/core-paging"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { Library } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; +import * as coreRestPipeline from "@azure/core-rest-pipeline"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; import { LibraryResource, + LibraryListNextOptionalParams, + LibraryListOptionalParams, LibraryListOperationResponse, + LibraryFlushOptionalParams, + LibraryGetOperationResultOptionalParams, LibraryGetOperationResultResponse, + LibraryDeleteOptionalParams, + LibraryGetOptionalParams, LibraryGetResponse, + LibraryCreateOptionalParams, LibraryAppendOptionalParams, LibraryListNextResponse } from "../models"; +/// /** Class representing a Library. */ export class LibraryImpl implements Library { private readonly client: ArtifactsClientContext; @@ -41,7 +51,9 @@ export class LibraryImpl implements Library { * Lists Library. * @param options The options parameters. */ - public list(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator { + public list( + options?: LibraryListOptionalParams + ): PagedAsyncIterableIterator { const iter = this.listPagingAll(options); return { next() { @@ -57,7 +69,7 @@ export class LibraryImpl implements Library { } private async *listPagingPage( - options?: coreHttp.OperationOptions + options?: LibraryListOptionalParams ): AsyncIterableIterator { let result = await this._list(options); yield result.value || []; @@ -70,7 +82,7 @@ export class LibraryImpl implements Library { } private async *listPagingAll( - options?: coreHttp.OperationOptions + options?: LibraryListOptionalParams ): AsyncIterableIterator { for await (const page of this.listPagingPage(options)) { yield* page; @@ -81,17 +93,19 @@ export class LibraryImpl implements Library { * Lists Library. * @param options The options parameters. */ - private async _list(options?: coreHttp.OperationOptions): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-_list", options || {}); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + private async _list( + options?: LibraryListOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-_list", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, listOperationSpec); + const result = await this.client.sendOperationRequest( + { options }, + listOperationSpec + ); return result as LibraryListOperationResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -106,25 +120,21 @@ export class LibraryImpl implements Library { * extension length. * @param options The options parameters. */ - async flush( + async beginFlush( libraryName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-flush", options || {}); - const operationArguments: coreHttp.OperationArguments = { - libraryName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { + options?: LibraryFlushOptionalParams + ): Promise, void>> { + const { span } = createSpan("ArtifactsClient-beginFlush", options || {}); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { try { const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -132,16 +142,64 @@ export class LibraryImpl implements Library { span.end(); } }; + 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 initialOperationResult = await sendOperation(operationArguments, flushOperationSpec); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: flushOperationSpec, - initialOperationResult, - sendOperation + const lro = new LroImpl( + sendOperation, + { libraryName, options }, + flushOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs }); } + /** + * Flush Library + * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the + * extension length. + * @param options The options parameters. + */ + async beginFlushAndWait( + libraryName: string, + options?: LibraryFlushOptionalParams + ): Promise { + const poller = await this.beginFlush(libraryName, options); + return poller.pollUntilDone(); + } + /** * Get Operation result for Library * @param operationId operation id for which status is requested @@ -149,25 +207,21 @@ export class LibraryImpl implements Library { */ async getOperationResult( operationId: string, - options?: coreHttp.OperationOptions + options?: LibraryGetOperationResultOptionalParams ): Promise { - const { span, updatedOptions } = createSpan( + const { span } = createSpan( "ArtifactsClient-getOperationResult", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - operationId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { operationId, options }, getOperationResultOperationSpec ); return result as LibraryGetOperationResultResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -182,25 +236,21 @@ export class LibraryImpl implements Library { * extension length. * @param options The options parameters. */ - async delete( + async beginDelete( libraryName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-delete", options || {}); - const operationArguments: coreHttp.OperationArguments = { - libraryName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { + options?: LibraryDeleteOptionalParams + ): Promise, void>> { + const { span } = createSpan("ArtifactsClient-beginDelete", options || {}); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { try { const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -208,34 +258,84 @@ export class LibraryImpl implements Library { span.end(); } }; + 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 initialOperationResult = await sendOperation(operationArguments, deleteOperationSpec); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deleteOperationSpec, - initialOperationResult, - sendOperation + const lro = new LroImpl( + sendOperation, + { libraryName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs }); } + /** + * Delete Library + * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the + * extension length. + * @param options The options parameters. + */ + async beginDeleteAndWait( + libraryName: string, + options?: LibraryDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(libraryName, options); + return poller.pollUntilDone(); + } + /** * Get Library * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the * extension length. * @param options The options parameters. */ - async get(libraryName: string, options?: coreHttp.OperationOptions): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-get", options || {}); - const operationArguments: coreHttp.OperationArguments = { - libraryName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + async get( + libraryName: string, + options?: LibraryGetOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-get", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, getOperationSpec); + const result = await this.client.sendOperationRequest( + { libraryName, options }, + getOperationSpec + ); return result as LibraryGetResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -250,25 +350,21 @@ export class LibraryImpl implements Library { * extension length. * @param options The options parameters. */ - async create( + async beginCreate( libraryName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-create", options || {}); - const operationArguments: coreHttp.OperationArguments = { - libraryName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { + options?: LibraryCreateOptionalParams + ): Promise, void>> { + const { span } = createSpan("ArtifactsClient-beginCreate", options || {}); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { try { const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -276,16 +372,64 @@ export class LibraryImpl implements Library { span.end(); } }; + 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 initialOperationResult = await sendOperation(operationArguments, createOperationSpec); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOperationSpec, - initialOperationResult, - sendOperation + const lro = new LroImpl( + sendOperation, + { libraryName, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs }); } + /** + * Creates a library with the library name. + * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the + * extension length. + * @param options The options parameters. + */ + async beginCreateAndWait( + libraryName: string, + options?: LibraryCreateOptionalParams + ): Promise { + const poller = await this.beginCreate(libraryName, options); + return poller.pollUntilDone(); + } + /** * Append the content to the library resource created using the create operation. The maximum content * size is 4MiB. Content larger than 4MiB must be appended in 4MiB chunks @@ -296,24 +440,19 @@ export class LibraryImpl implements Library { */ async append( libraryName: string, - content: coreHttp.HttpRequestBody, + content: coreRestPipeline.RequestBodyType, options?: LibraryAppendOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-append", options || {}); - const operationArguments: coreHttp.OperationArguments = { - libraryName, - content, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + ): Promise { + const { span } = createSpan("ArtifactsClient-append", options || {}); try { const result = await this.client.sendOperationRequest( - operationArguments, + { libraryName, content, options }, appendOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -329,22 +468,18 @@ export class LibraryImpl implements Library { */ private async _listNext( nextLink: string, - options?: coreHttp.OperationOptions + options?: LibraryListNextOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-_listNext", options || {}); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + const { span } = createSpan("ArtifactsClient-_listNext", options || {}); try { const result = await this.client.sendOperationRequest( - operationArguments, + { nextLink, options }, listNextOperationSpec ); return result as LibraryListNextResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -352,23 +487,11 @@ export class LibraryImpl implements Library { span.end(); } } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const listOperationSpec: coreHttp.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { path: "/libraries", httpMethod: "GET", responses: { @@ -384,7 +507,7 @@ const listOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const flushOperationSpec: coreHttp.OperationSpec = { +const flushOperationSpec: coreClient.OperationSpec = { path: "/libraries/{libraryName}/flush", httpMethod: "POST", responses: { @@ -401,7 +524,7 @@ const flushOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const getOperationResultOperationSpec: coreHttp.OperationSpec = { +const getOperationResultOperationSpec: coreClient.OperationSpec = { path: "/libraryOperationResults/{operationId}", httpMethod: "GET", responses: { @@ -420,7 +543,7 @@ const getOperationResultOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const deleteOperationSpec: coreHttp.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { path: "/libraries/{libraryName}", httpMethod: "DELETE", responses: { @@ -437,7 +560,7 @@ const deleteOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const getOperationSpec: coreHttp.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { path: "/libraries/{libraryName}", httpMethod: "GET", responses: { @@ -454,7 +577,7 @@ const getOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const createOperationSpec: coreHttp.OperationSpec = { +const createOperationSpec: coreClient.OperationSpec = { path: "/libraries/{libraryName}", httpMethod: "PUT", responses: { @@ -471,7 +594,7 @@ const createOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const appendOperationSpec: coreHttp.OperationSpec = { +const appendOperationSpec: coreClient.OperationSpec = { path: "/libraries/{libraryName}", httpMethod: "PUT", responses: { @@ -481,17 +604,17 @@ const appendOperationSpec: coreHttp.OperationSpec = { } }, requestBody: Parameters.content, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion, Parameters.comp], urlParameters: [Parameters.endpoint, Parameters.libraryName], headerParameters: [ Parameters.contentType1, Parameters.accept1, - Parameters.xMsBlobConditionAppendpos + Parameters.blobConditionAppendPosition ], mediaType: "binary", serializer }; -const listNextOperationSpec: coreHttp.OperationSpec = { +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { diff --git a/sdk/synapse/synapse-artifacts/src/operations/linkedService.ts b/sdk/synapse/synapse-artifacts/src/operations/linkedService.ts deleted file mode 100644 index 5b936f4dcaf8..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operations/linkedService.ts +++ /dev/null @@ -1,455 +0,0 @@ -/* - * 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 { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "../tracing"; -import "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { LinkedService } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; -import { - LinkedServiceResource, - LinkedServiceGetLinkedServicesByWorkspaceResponse, - LinkedServiceCreateOrUpdateLinkedServiceOptionalParams, - LinkedServiceCreateOrUpdateLinkedServiceResponse, - LinkedServiceGetLinkedServiceOptionalParams, - LinkedServiceGetLinkedServiceResponse, - ArtifactRenameRequest, - LinkedServiceGetLinkedServicesByWorkspaceNextResponse -} from "../models"; - -/** Class representing a LinkedService. */ -export class LinkedServiceImpl implements LinkedService { - private readonly client: ArtifactsClientContext; - - /** - * Initialize a new instance of the class LinkedService class. - * @param client Reference to the service client - */ - constructor(client: ArtifactsClientContext) { - this.client = client; - } - - /** - * Lists linked services. - * @param options The options parameters. - */ - public listLinkedServicesByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getLinkedServicesByWorkspacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getLinkedServicesByWorkspacePagingPage(options); - } - }; - } - - private async *getLinkedServicesByWorkspacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getLinkedServicesByWorkspace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getLinkedServicesByWorkspaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getLinkedServicesByWorkspacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getLinkedServicesByWorkspacePagingPage(options)) { - yield* page; - } - } - - /** - * Lists linked services. - * @param options The options parameters. - */ - private async _getLinkedServicesByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getLinkedServicesByWorkspace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getLinkedServicesByWorkspaceOperationSpec - ); - return result as LinkedServiceGetLinkedServicesByWorkspaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Creates or updates a linked service. - * @param linkedServiceName The linked service name. - * @param linkedService Linked service resource definition. - * @param options The options parameters. - */ - async createOrUpdateLinkedService( - linkedServiceName: string, - linkedService: LinkedServiceResource, - options?: LinkedServiceCreateOrUpdateLinkedServiceOptionalParams - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createOrUpdateLinkedService", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - linkedServiceName, - linkedService, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as LinkedServiceCreateOrUpdateLinkedServiceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - createOrUpdateLinkedServiceOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOrUpdateLinkedServiceOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Gets a linked service. - * @param linkedServiceName The linked service name. - * @param options The options parameters. - */ - async getLinkedService( - linkedServiceName: string, - options?: LinkedServiceGetLinkedServiceOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-getLinkedService", options || {}); - const operationArguments: coreHttp.OperationArguments = { - linkedServiceName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getLinkedServiceOperationSpec - ); - return result as LinkedServiceGetLinkedServiceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Deletes a linked service. - * @param linkedServiceName The linked service name. - * @param options The options parameters. - */ - async deleteLinkedService( - linkedServiceName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-deleteLinkedService", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - linkedServiceName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - deleteLinkedServiceOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deleteLinkedServiceOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Renames a linked service. - * @param linkedServiceName The linked service name. - * @param request proposed new name. - * @param options The options parameters. - */ - async renameLinkedService( - linkedServiceName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-renameLinkedService", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - linkedServiceName, - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - renameLinkedServiceOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: renameLinkedServiceOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * GetLinkedServicesByWorkspaceNext - * @param nextLink The nextLink from the previous successful call to the GetLinkedServicesByWorkspace - * method. - * @param options The options parameters. - */ - private async _getLinkedServicesByWorkspaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getLinkedServicesByWorkspaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getLinkedServicesByWorkspaceNextOperationSpec - ); - return result as LinkedServiceGetLinkedServicesByWorkspaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } -} -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const getLinkedServicesByWorkspaceOperationSpec: coreHttp.OperationSpec = { - path: "/linkedservices", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.LinkedServiceListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdateLinkedServiceOperationSpec: coreHttp.OperationSpec = { - path: "/linkedservices/{linkedServiceName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.LinkedServiceResource - }, - 201: { - bodyMapper: Mappers.LinkedServiceResource - }, - 202: { - bodyMapper: Mappers.LinkedServiceResource - }, - 204: { - bodyMapper: Mappers.LinkedServiceResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.linkedService, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.linkedServiceName], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.ifMatch], - mediaType: "json", - serializer -}; -const getLinkedServiceOperationSpec: coreHttp.OperationSpec = { - path: "/linkedservices/{linkedServiceName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.LinkedServiceResource - }, - 304: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.linkedServiceName], - headerParameters: [Parameters.accept, Parameters.ifNoneMatch], - serializer -}; -const deleteLinkedServiceOperationSpec: coreHttp.OperationSpec = { - path: "/linkedservices/{linkedServiceName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.linkedServiceName], - headerParameters: [Parameters.accept], - serializer -}; -const renameLinkedServiceOperationSpec: coreHttp.OperationSpec = { - path: "/linkedservices/{linkedServiceName}/rename", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.request, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.linkedServiceName], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getLinkedServicesByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.LinkedServiceListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/linkedServiceOperations.ts b/sdk/synapse/synapse-artifacts/src/operations/linkedServiceOperations.ts new file mode 100644 index 000000000000..314541f60807 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operations/linkedServiceOperations.ts @@ -0,0 +1,589 @@ +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { LinkedServiceOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ArtifactsClientContext } from "../artifactsClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + LinkedServiceResource, + LinkedServiceOperationsGetLinkedServicesByWorkspaceNextOptionalParams, + LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams, + LinkedServiceOperationsGetLinkedServicesByWorkspaceResponse, + LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams, + LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse, + LinkedServiceOperationsGetLinkedServiceOptionalParams, + LinkedServiceOperationsGetLinkedServiceResponse, + LinkedServiceOperationsDeleteLinkedServiceOptionalParams, + ArtifactRenameRequest, + LinkedServiceOperationsRenameLinkedServiceOptionalParams, + LinkedServiceOperationsGetLinkedServicesByWorkspaceNextResponse +} from "../models"; + +/// +/** Class representing a LinkedServiceOperations. */ +export class LinkedServiceOperationsImpl implements LinkedServiceOperations { + private readonly client: ArtifactsClientContext; + + /** + * Initialize a new instance of the class LinkedServiceOperations class. + * @param client Reference to the service client + */ + constructor(client: ArtifactsClientContext) { + this.client = client; + } + + /** + * Lists linked services. + * @param options The options parameters. + */ + public listLinkedServicesByWorkspace( + options?: LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getLinkedServicesByWorkspacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getLinkedServicesByWorkspacePagingPage(options); + } + }; + } + + private async *getLinkedServicesByWorkspacePagingPage( + options?: LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getLinkedServicesByWorkspace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getLinkedServicesByWorkspaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getLinkedServicesByWorkspacePagingAll( + options?: LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getLinkedServicesByWorkspacePagingPage( + options + )) { + yield* page; + } + } + + /** + * Lists linked services. + * @param options The options parameters. + */ + private async _getLinkedServicesByWorkspace( + options?: LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getLinkedServicesByWorkspace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getLinkedServicesByWorkspaceOperationSpec + ); + return result as LinkedServiceOperationsGetLinkedServicesByWorkspaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Creates or updates a linked service. + * @param linkedServiceName The linked service name. + * @param linkedService Linked service resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateLinkedService( + linkedServiceName: string, + linkedService: LinkedServiceResource, + options?: LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams + ): Promise< + PollerLike< + PollOperationState< + LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse + >, + LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateOrUpdateLinkedService", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { linkedServiceName, linkedService, options }, + createOrUpdateLinkedServiceOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a linked service. + * @param linkedServiceName The linked service name. + * @param linkedService Linked service resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateLinkedServiceAndWait( + linkedServiceName: string, + linkedService: LinkedServiceResource, + options?: LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateLinkedService( + linkedServiceName, + linkedService, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a linked service. + * @param linkedServiceName The linked service name. + * @param options The options parameters. + */ + async getLinkedService( + linkedServiceName: string, + options?: LinkedServiceOperationsGetLinkedServiceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-getLinkedService", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { linkedServiceName, options }, + getLinkedServiceOperationSpec + ); + return result as LinkedServiceOperationsGetLinkedServiceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Deletes a linked service. + * @param linkedServiceName The linked service name. + * @param options The options parameters. + */ + async beginDeleteLinkedService( + linkedServiceName: string, + options?: LinkedServiceOperationsDeleteLinkedServiceOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginDeleteLinkedService", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { linkedServiceName, options }, + deleteLinkedServiceOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a linked service. + * @param linkedServiceName The linked service name. + * @param options The options parameters. + */ + async beginDeleteLinkedServiceAndWait( + linkedServiceName: string, + options?: LinkedServiceOperationsDeleteLinkedServiceOptionalParams + ): Promise { + const poller = await this.beginDeleteLinkedService( + linkedServiceName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Renames a linked service. + * @param linkedServiceName The linked service name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameLinkedService( + linkedServiceName: string, + request: ArtifactRenameRequest, + options?: LinkedServiceOperationsRenameLinkedServiceOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginRenameLinkedService", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { linkedServiceName, request, options }, + renameLinkedServiceOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Renames a linked service. + * @param linkedServiceName The linked service name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameLinkedServiceAndWait( + linkedServiceName: string, + request: ArtifactRenameRequest, + options?: LinkedServiceOperationsRenameLinkedServiceOptionalParams + ): Promise { + const poller = await this.beginRenameLinkedService( + linkedServiceName, + request, + options + ); + return poller.pollUntilDone(); + } + + /** + * GetLinkedServicesByWorkspaceNext + * @param nextLink The nextLink from the previous successful call to the GetLinkedServicesByWorkspace + * method. + * @param options The options parameters. + */ + private async _getLinkedServicesByWorkspaceNext( + nextLink: string, + options?: LinkedServiceOperationsGetLinkedServicesByWorkspaceNextOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getLinkedServicesByWorkspaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getLinkedServicesByWorkspaceNextOperationSpec + ); + return result as LinkedServiceOperationsGetLinkedServicesByWorkspaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getLinkedServicesByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: "/linkedservices", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LinkedServiceListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateLinkedServiceOperationSpec: coreClient.OperationSpec = { + path: "/linkedservices/{linkedServiceName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.LinkedServiceResource + }, + 201: { + bodyMapper: Mappers.LinkedServiceResource + }, + 202: { + bodyMapper: Mappers.LinkedServiceResource + }, + 204: { + bodyMapper: Mappers.LinkedServiceResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.linkedService, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.linkedServiceName], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const getLinkedServiceOperationSpec: coreClient.OperationSpec = { + path: "/linkedservices/{linkedServiceName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LinkedServiceResource + }, + 304: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.linkedServiceName], + headerParameters: [Parameters.accept, Parameters.ifNoneMatch], + serializer +}; +const deleteLinkedServiceOperationSpec: coreClient.OperationSpec = { + path: "/linkedservices/{linkedServiceName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.linkedServiceName], + headerParameters: [Parameters.accept], + serializer +}; +const renameLinkedServiceOperationSpec: coreClient.OperationSpec = { + path: "/linkedservices/{linkedServiceName}/rename", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.linkedServiceName], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getLinkedServicesByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LinkedServiceListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/notebook.ts b/sdk/synapse/synapse-artifacts/src/operations/notebook.ts deleted file mode 100644 index f5d3fcfa794e..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operations/notebook.ts +++ /dev/null @@ -1,591 +0,0 @@ -/* - * 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 { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "../tracing"; -import "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { Notebook } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; -import { - NotebookResource, - NotebookGetNotebooksByWorkspaceResponse, - NotebookGetNotebookSummaryByWorkSpaceResponse, - NotebookCreateOrUpdateNotebookOptionalParams, - NotebookCreateOrUpdateNotebookResponse, - NotebookGetNotebookOptionalParams, - NotebookGetNotebookResponse, - ArtifactRenameRequest, - NotebookGetNotebooksByWorkspaceNextResponse, - NotebookGetNotebookSummaryByWorkSpaceNextResponse -} from "../models"; - -/** Class representing a Notebook. */ -export class NotebookImpl implements Notebook { - private readonly client: ArtifactsClientContext; - - /** - * Initialize a new instance of the class Notebook class. - * @param client Reference to the service client - */ - constructor(client: ArtifactsClientContext) { - this.client = client; - } - - /** - * Lists Notebooks. - * @param options The options parameters. - */ - public listNotebooksByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getNotebooksByWorkspacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getNotebooksByWorkspacePagingPage(options); - } - }; - } - - private async *getNotebooksByWorkspacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getNotebooksByWorkspace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getNotebooksByWorkspaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getNotebooksByWorkspacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getNotebooksByWorkspacePagingPage(options)) { - yield* page; - } - } - - /** - * Lists a summary of Notebooks. - * @param options The options parameters. - */ - public listNotebookSummaryByWorkSpace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getNotebookSummaryByWorkSpacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getNotebookSummaryByWorkSpacePagingPage(options); - } - }; - } - - private async *getNotebookSummaryByWorkSpacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getNotebookSummaryByWorkSpace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getNotebookSummaryByWorkSpaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getNotebookSummaryByWorkSpacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getNotebookSummaryByWorkSpacePagingPage(options)) { - yield* page; - } - } - - /** - * Lists Notebooks. - * @param options The options parameters. - */ - private async _getNotebooksByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getNotebooksByWorkspace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getNotebooksByWorkspaceOperationSpec - ); - return result as NotebookGetNotebooksByWorkspaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Lists a summary of Notebooks. - * @param options The options parameters. - */ - private async _getNotebookSummaryByWorkSpace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getNotebookSummaryByWorkSpace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getNotebookSummaryByWorkSpaceOperationSpec - ); - return result as NotebookGetNotebookSummaryByWorkSpaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Creates or updates a Note Book. - * @param notebookName The notebook name. - * @param notebook Note book resource definition. - * @param options The options parameters. - */ - async createOrUpdateNotebook( - notebookName: string, - notebook: NotebookResource, - options?: NotebookCreateOrUpdateNotebookOptionalParams - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createOrUpdateNotebook", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - notebookName, - notebook, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as NotebookCreateOrUpdateNotebookResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - createOrUpdateNotebookOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOrUpdateNotebookOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Gets a Note Book. - * @param notebookName The notebook name. - * @param options The options parameters. - */ - async getNotebook( - notebookName: string, - options?: NotebookGetNotebookOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-getNotebook", options || {}); - const operationArguments: coreHttp.OperationArguments = { - notebookName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getNotebookOperationSpec - ); - return result as NotebookGetNotebookResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Deletes a Note book. - * @param notebookName The notebook name. - * @param options The options parameters. - */ - async deleteNotebook( - notebookName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-deleteNotebook", options || {}); - const operationArguments: coreHttp.OperationArguments = { - notebookName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - deleteNotebookOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deleteNotebookOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Renames a notebook. - * @param notebookName The notebook name. - * @param request proposed new name. - * @param options The options parameters. - */ - async renameNotebook( - notebookName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-renameNotebook", options || {}); - const operationArguments: coreHttp.OperationArguments = { - notebookName, - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - renameNotebookOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: renameNotebookOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * GetNotebooksByWorkspaceNext - * @param nextLink The nextLink from the previous successful call to the GetNotebooksByWorkspace - * method. - * @param options The options parameters. - */ - private async _getNotebooksByWorkspaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getNotebooksByWorkspaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getNotebooksByWorkspaceNextOperationSpec - ); - return result as NotebookGetNotebooksByWorkspaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * GetNotebookSummaryByWorkSpaceNext - * @param nextLink The nextLink from the previous successful call to the GetNotebookSummaryByWorkSpace - * method. - * @param options The options parameters. - */ - private async _getNotebookSummaryByWorkSpaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getNotebookSummaryByWorkSpaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getNotebookSummaryByWorkSpaceNextOperationSpec - ); - return result as NotebookGetNotebookSummaryByWorkSpaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } -} -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const getNotebooksByWorkspaceOperationSpec: coreHttp.OperationSpec = { - path: "/notebooks", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.NotebookListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const getNotebookSummaryByWorkSpaceOperationSpec: coreHttp.OperationSpec = { - path: "/notebooks/summary", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.NotebookListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdateNotebookOperationSpec: coreHttp.OperationSpec = { - path: "/notebooks/{notebookName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.NotebookResource - }, - 201: { - bodyMapper: Mappers.NotebookResource - }, - 202: { - bodyMapper: Mappers.NotebookResource - }, - 204: { - bodyMapper: Mappers.NotebookResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.notebook, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.notebookName], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.ifMatch], - mediaType: "json", - serializer -}; -const getNotebookOperationSpec: coreHttp.OperationSpec = { - path: "/notebooks/{notebookName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.NotebookResource - }, - 304: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.notebookName], - headerParameters: [Parameters.accept, Parameters.ifNoneMatch], - serializer -}; -const deleteNotebookOperationSpec: coreHttp.OperationSpec = { - path: "/notebooks/{notebookName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.notebookName], - headerParameters: [Parameters.accept], - serializer -}; -const renameNotebookOperationSpec: coreHttp.OperationSpec = { - path: "/notebooks/{notebookName}/rename", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.request, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.notebookName], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getNotebooksByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.NotebookListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; -const getNotebookSummaryByWorkSpaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.NotebookListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/notebookOperations.ts b/sdk/synapse/synapse-artifacts/src/operations/notebookOperations.ts new file mode 100644 index 000000000000..f054a14cfdaa --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operations/notebookOperations.ts @@ -0,0 +1,721 @@ +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { NotebookOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ArtifactsClientContext } from "../artifactsClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + NotebookResource, + NotebookOperationsGetNotebooksByWorkspaceNextOptionalParams, + NotebookOperationsGetNotebooksByWorkspaceOptionalParams, + NotebookOperationsGetNotebookSummaryByWorkSpaceNextOptionalParams, + NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams, + NotebookOperationsGetNotebooksByWorkspaceResponse, + NotebookOperationsGetNotebookSummaryByWorkSpaceResponse, + NotebookOperationsCreateOrUpdateNotebookOptionalParams, + NotebookOperationsCreateOrUpdateNotebookResponse, + NotebookOperationsGetNotebookOptionalParams, + NotebookOperationsGetNotebookResponse, + NotebookOperationsDeleteNotebookOptionalParams, + ArtifactRenameRequest, + NotebookOperationsRenameNotebookOptionalParams, + NotebookOperationsGetNotebooksByWorkspaceNextResponse, + NotebookOperationsGetNotebookSummaryByWorkSpaceNextResponse +} from "../models"; + +/// +/** Class representing a NotebookOperations. */ +export class NotebookOperationsImpl implements NotebookOperations { + private readonly client: ArtifactsClientContext; + + /** + * Initialize a new instance of the class NotebookOperations class. + * @param client Reference to the service client + */ + constructor(client: ArtifactsClientContext) { + this.client = client; + } + + /** + * Lists Notebooks. + * @param options The options parameters. + */ + public listNotebooksByWorkspace( + options?: NotebookOperationsGetNotebooksByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getNotebooksByWorkspacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getNotebooksByWorkspacePagingPage(options); + } + }; + } + + private async *getNotebooksByWorkspacePagingPage( + options?: NotebookOperationsGetNotebooksByWorkspaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getNotebooksByWorkspace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getNotebooksByWorkspaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getNotebooksByWorkspacePagingAll( + options?: NotebookOperationsGetNotebooksByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getNotebooksByWorkspacePagingPage(options)) { + yield* page; + } + } + + /** + * Lists a summary of Notebooks. + * @param options The options parameters. + */ + public listNotebookSummaryByWorkSpace( + options?: NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getNotebookSummaryByWorkSpacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getNotebookSummaryByWorkSpacePagingPage(options); + } + }; + } + + private async *getNotebookSummaryByWorkSpacePagingPage( + options?: NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getNotebookSummaryByWorkSpace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getNotebookSummaryByWorkSpaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getNotebookSummaryByWorkSpacePagingAll( + options?: NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getNotebookSummaryByWorkSpacePagingPage( + options + )) { + yield* page; + } + } + + /** + * Lists Notebooks. + * @param options The options parameters. + */ + private async _getNotebooksByWorkspace( + options?: NotebookOperationsGetNotebooksByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getNotebooksByWorkspace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getNotebooksByWorkspaceOperationSpec + ); + return result as NotebookOperationsGetNotebooksByWorkspaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Lists a summary of Notebooks. + * @param options The options parameters. + */ + private async _getNotebookSummaryByWorkSpace( + options?: NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getNotebookSummaryByWorkSpace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getNotebookSummaryByWorkSpaceOperationSpec + ); + return result as NotebookOperationsGetNotebookSummaryByWorkSpaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Creates or updates a Note Book. + * @param notebookName The notebook name. + * @param notebook Note book resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateNotebook( + notebookName: string, + notebook: NotebookResource, + options?: NotebookOperationsCreateOrUpdateNotebookOptionalParams + ): Promise< + PollerLike< + PollOperationState, + NotebookOperationsCreateOrUpdateNotebookResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateOrUpdateNotebook", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as NotebookOperationsCreateOrUpdateNotebookResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { notebookName, notebook, options }, + createOrUpdateNotebookOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a Note Book. + * @param notebookName The notebook name. + * @param notebook Note book resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateNotebookAndWait( + notebookName: string, + notebook: NotebookResource, + options?: NotebookOperationsCreateOrUpdateNotebookOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateNotebook( + notebookName, + notebook, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a Note Book. + * @param notebookName The notebook name. + * @param options The options parameters. + */ + async getNotebook( + notebookName: string, + options?: NotebookOperationsGetNotebookOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-getNotebook", options || {}); + try { + const result = await this.client.sendOperationRequest( + { notebookName, options }, + getNotebookOperationSpec + ); + return result as NotebookOperationsGetNotebookResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Deletes a Note book. + * @param notebookName The notebook name. + * @param options The options parameters. + */ + async beginDeleteNotebook( + notebookName: string, + options?: NotebookOperationsDeleteNotebookOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginDeleteNotebook", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { notebookName, options }, + deleteNotebookOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a Note book. + * @param notebookName The notebook name. + * @param options The options parameters. + */ + async beginDeleteNotebookAndWait( + notebookName: string, + options?: NotebookOperationsDeleteNotebookOptionalParams + ): Promise { + const poller = await this.beginDeleteNotebook(notebookName, options); + return poller.pollUntilDone(); + } + + /** + * Renames a notebook. + * @param notebookName The notebook name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameNotebook( + notebookName: string, + request: ArtifactRenameRequest, + options?: NotebookOperationsRenameNotebookOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginRenameNotebook", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { notebookName, request, options }, + renameNotebookOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Renames a notebook. + * @param notebookName The notebook name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameNotebookAndWait( + notebookName: string, + request: ArtifactRenameRequest, + options?: NotebookOperationsRenameNotebookOptionalParams + ): Promise { + const poller = await this.beginRenameNotebook( + notebookName, + request, + options + ); + return poller.pollUntilDone(); + } + + /** + * GetNotebooksByWorkspaceNext + * @param nextLink The nextLink from the previous successful call to the GetNotebooksByWorkspace + * method. + * @param options The options parameters. + */ + private async _getNotebooksByWorkspaceNext( + nextLink: string, + options?: NotebookOperationsGetNotebooksByWorkspaceNextOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getNotebooksByWorkspaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getNotebooksByWorkspaceNextOperationSpec + ); + return result as NotebookOperationsGetNotebooksByWorkspaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * GetNotebookSummaryByWorkSpaceNext + * @param nextLink The nextLink from the previous successful call to the GetNotebookSummaryByWorkSpace + * method. + * @param options The options parameters. + */ + private async _getNotebookSummaryByWorkSpaceNext( + nextLink: string, + options?: NotebookOperationsGetNotebookSummaryByWorkSpaceNextOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getNotebookSummaryByWorkSpaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getNotebookSummaryByWorkSpaceNextOperationSpec + ); + return result as NotebookOperationsGetNotebookSummaryByWorkSpaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getNotebooksByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: "/notebooks", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NotebookListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const getNotebookSummaryByWorkSpaceOperationSpec: coreClient.OperationSpec = { + path: "/notebooks/summary", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NotebookListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateNotebookOperationSpec: coreClient.OperationSpec = { + path: "/notebooks/{notebookName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.NotebookResource + }, + 201: { + bodyMapper: Mappers.NotebookResource + }, + 202: { + bodyMapper: Mappers.NotebookResource + }, + 204: { + bodyMapper: Mappers.NotebookResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.notebook, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.notebookName], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const getNotebookOperationSpec: coreClient.OperationSpec = { + path: "/notebooks/{notebookName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NotebookResource + }, + 304: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.notebookName], + headerParameters: [Parameters.accept, Parameters.ifNoneMatch], + serializer +}; +const deleteNotebookOperationSpec: coreClient.OperationSpec = { + path: "/notebooks/{notebookName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.notebookName], + headerParameters: [Parameters.accept], + serializer +}; +const renameNotebookOperationSpec: coreClient.OperationSpec = { + path: "/notebooks/{notebookName}/rename", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.notebookName], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getNotebooksByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NotebookListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; +const getNotebookSummaryByWorkSpaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NotebookListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/pipeline.ts b/sdk/synapse/synapse-artifacts/src/operations/pipeline.ts deleted file mode 100644 index 077cd32e3577..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operations/pipeline.ts +++ /dev/null @@ -1,505 +0,0 @@ -/* - * 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 { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "../tracing"; -import "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { Pipeline } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; -import { - PipelineResource, - PipelineGetPipelinesByWorkspaceResponse, - PipelineCreateOrUpdatePipelineOptionalParams, - PipelineCreateOrUpdatePipelineResponse, - PipelineGetPipelineOptionalParams, - PipelineGetPipelineResponse, - ArtifactRenameRequest, - PipelineCreatePipelineRunOptionalParams, - PipelineCreatePipelineRunResponse, - PipelineGetPipelinesByWorkspaceNextResponse -} from "../models"; - -/** Class representing a Pipeline. */ -export class PipelineImpl implements Pipeline { - private readonly client: ArtifactsClientContext; - - /** - * Initialize a new instance of the class Pipeline class. - * @param client Reference to the service client - */ - constructor(client: ArtifactsClientContext) { - this.client = client; - } - - /** - * Lists pipelines. - * @param options The options parameters. - */ - public listPipelinesByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getPipelinesByWorkspacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getPipelinesByWorkspacePagingPage(options); - } - }; - } - - private async *getPipelinesByWorkspacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getPipelinesByWorkspace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getPipelinesByWorkspaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getPipelinesByWorkspacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getPipelinesByWorkspacePagingPage(options)) { - yield* page; - } - } - - /** - * Lists pipelines. - * @param options The options parameters. - */ - private async _getPipelinesByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getPipelinesByWorkspace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getPipelinesByWorkspaceOperationSpec - ); - return result as PipelineGetPipelinesByWorkspaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Creates or updates a pipeline. - * @param pipelineName The pipeline name. - * @param pipeline Pipeline resource definition. - * @param options The options parameters. - */ - async createOrUpdatePipeline( - pipelineName: string, - pipeline: PipelineResource, - options?: PipelineCreateOrUpdatePipelineOptionalParams - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createOrUpdatePipeline", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - pipelineName, - pipeline, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as PipelineCreateOrUpdatePipelineResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - createOrUpdatePipelineOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOrUpdatePipelineOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Gets a pipeline. - * @param pipelineName The pipeline name. - * @param options The options parameters. - */ - async getPipeline( - pipelineName: string, - options?: PipelineGetPipelineOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-getPipeline", options || {}); - const operationArguments: coreHttp.OperationArguments = { - pipelineName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getPipelineOperationSpec - ); - return result as PipelineGetPipelineResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Deletes a pipeline. - * @param pipelineName The pipeline name. - * @param options The options parameters. - */ - async deletePipeline( - pipelineName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-deletePipeline", options || {}); - const operationArguments: coreHttp.OperationArguments = { - pipelineName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - deletePipelineOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deletePipelineOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Renames a pipeline. - * @param pipelineName The pipeline name. - * @param request proposed new name. - * @param options The options parameters. - */ - async renamePipeline( - pipelineName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-renamePipeline", options || {}); - const operationArguments: coreHttp.OperationArguments = { - pipelineName, - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - renamePipelineOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: renamePipelineOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Creates a run of a pipeline. - * @param pipelineName The pipeline name. - * @param options The options parameters. - */ - async createPipelineRun( - pipelineName: string, - options?: PipelineCreatePipelineRunOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-createPipelineRun", options || {}); - const operationArguments: coreHttp.OperationArguments = { - pipelineName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - createPipelineRunOperationSpec - ); - return result as PipelineCreatePipelineRunResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * GetPipelinesByWorkspaceNext - * @param nextLink The nextLink from the previous successful call to the GetPipelinesByWorkspace - * method. - * @param options The options parameters. - */ - private async _getPipelinesByWorkspaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getPipelinesByWorkspaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getPipelinesByWorkspaceNextOperationSpec - ); - return result as PipelineGetPipelinesByWorkspaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } -} -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const getPipelinesByWorkspaceOperationSpec: coreHttp.OperationSpec = { - path: "/pipelines", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PipelineListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdatePipelineOperationSpec: coreHttp.OperationSpec = { - path: "/pipelines/{pipelineName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.PipelineResource - }, - 201: { - bodyMapper: Mappers.PipelineResource - }, - 202: { - bodyMapper: Mappers.PipelineResource - }, - 204: { - bodyMapper: Mappers.PipelineResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.pipeline, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.pipelineName], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.ifMatch], - mediaType: "json", - serializer -}; -const getPipelineOperationSpec: coreHttp.OperationSpec = { - path: "/pipelines/{pipelineName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PipelineResource - }, - 304: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.pipelineName], - headerParameters: [Parameters.accept, Parameters.ifNoneMatch], - serializer -}; -const deletePipelineOperationSpec: coreHttp.OperationSpec = { - path: "/pipelines/{pipelineName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.pipelineName], - headerParameters: [Parameters.accept], - serializer -}; -const renamePipelineOperationSpec: coreHttp.OperationSpec = { - path: "/pipelines/{pipelineName}/rename", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.request, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.pipelineName], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const createPipelineRunOperationSpec: coreHttp.OperationSpec = { - path: "/pipelines/{pipelineName}/createRun", - httpMethod: "POST", - responses: { - 202: { - bodyMapper: Mappers.CreateRunResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.parameters, - queryParameters: [ - Parameters.apiVersion, - Parameters.referencePipelineRunId, - Parameters.isRecovery, - Parameters.startActivityName - ], - urlParameters: [Parameters.endpoint, Parameters.pipelineName], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getPipelinesByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PipelineListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/pipelineOperations.ts b/sdk/synapse/synapse-artifacts/src/operations/pipelineOperations.ts new file mode 100644 index 000000000000..100b60d9f67a --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operations/pipelineOperations.ts @@ -0,0 +1,634 @@ +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PipelineOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ArtifactsClientContext } from "../artifactsClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + PipelineResource, + PipelineOperationsGetPipelinesByWorkspaceNextOptionalParams, + PipelineOperationsGetPipelinesByWorkspaceOptionalParams, + PipelineOperationsGetPipelinesByWorkspaceResponse, + PipelineOperationsCreateOrUpdatePipelineOptionalParams, + PipelineOperationsCreateOrUpdatePipelineResponse, + PipelineOperationsGetPipelineOptionalParams, + PipelineOperationsGetPipelineResponse, + PipelineOperationsDeletePipelineOptionalParams, + ArtifactRenameRequest, + PipelineOperationsRenamePipelineOptionalParams, + PipelineOperationsCreatePipelineRunOptionalParams, + PipelineOperationsCreatePipelineRunResponse, + PipelineOperationsGetPipelinesByWorkspaceNextResponse +} from "../models"; + +/// +/** Class representing a PipelineOperations. */ +export class PipelineOperationsImpl implements PipelineOperations { + private readonly client: ArtifactsClientContext; + + /** + * Initialize a new instance of the class PipelineOperations class. + * @param client Reference to the service client + */ + constructor(client: ArtifactsClientContext) { + this.client = client; + } + + /** + * Lists pipelines. + * @param options The options parameters. + */ + public listPipelinesByWorkspace( + options?: PipelineOperationsGetPipelinesByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getPipelinesByWorkspacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getPipelinesByWorkspacePagingPage(options); + } + }; + } + + private async *getPipelinesByWorkspacePagingPage( + options?: PipelineOperationsGetPipelinesByWorkspaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getPipelinesByWorkspace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getPipelinesByWorkspaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getPipelinesByWorkspacePagingAll( + options?: PipelineOperationsGetPipelinesByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getPipelinesByWorkspacePagingPage(options)) { + yield* page; + } + } + + /** + * Lists pipelines. + * @param options The options parameters. + */ + private async _getPipelinesByWorkspace( + options?: PipelineOperationsGetPipelinesByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getPipelinesByWorkspace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getPipelinesByWorkspaceOperationSpec + ); + return result as PipelineOperationsGetPipelinesByWorkspaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Creates or updates a pipeline. + * @param pipelineName The pipeline name. + * @param pipeline Pipeline resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdatePipeline( + pipelineName: string, + pipeline: PipelineResource, + options?: PipelineOperationsCreateOrUpdatePipelineOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PipelineOperationsCreateOrUpdatePipelineResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateOrUpdatePipeline", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as PipelineOperationsCreateOrUpdatePipelineResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { pipelineName, pipeline, options }, + createOrUpdatePipelineOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a pipeline. + * @param pipelineName The pipeline name. + * @param pipeline Pipeline resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdatePipelineAndWait( + pipelineName: string, + pipeline: PipelineResource, + options?: PipelineOperationsCreateOrUpdatePipelineOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdatePipeline( + pipelineName, + pipeline, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a pipeline. + * @param pipelineName The pipeline name. + * @param options The options parameters. + */ + async getPipeline( + pipelineName: string, + options?: PipelineOperationsGetPipelineOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-getPipeline", options || {}); + try { + const result = await this.client.sendOperationRequest( + { pipelineName, options }, + getPipelineOperationSpec + ); + return result as PipelineOperationsGetPipelineResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Deletes a pipeline. + * @param pipelineName The pipeline name. + * @param options The options parameters. + */ + async beginDeletePipeline( + pipelineName: string, + options?: PipelineOperationsDeletePipelineOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginDeletePipeline", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { pipelineName, options }, + deletePipelineOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a pipeline. + * @param pipelineName The pipeline name. + * @param options The options parameters. + */ + async beginDeletePipelineAndWait( + pipelineName: string, + options?: PipelineOperationsDeletePipelineOptionalParams + ): Promise { + const poller = await this.beginDeletePipeline(pipelineName, options); + return poller.pollUntilDone(); + } + + /** + * Renames a pipeline. + * @param pipelineName The pipeline name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenamePipeline( + pipelineName: string, + request: ArtifactRenameRequest, + options?: PipelineOperationsRenamePipelineOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginRenamePipeline", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { pipelineName, request, options }, + renamePipelineOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Renames a pipeline. + * @param pipelineName The pipeline name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenamePipelineAndWait( + pipelineName: string, + request: ArtifactRenameRequest, + options?: PipelineOperationsRenamePipelineOptionalParams + ): Promise { + const poller = await this.beginRenamePipeline( + pipelineName, + request, + options + ); + return poller.pollUntilDone(); + } + + /** + * Creates a run of a pipeline. + * @param pipelineName The pipeline name. + * @param options The options parameters. + */ + async createPipelineRun( + pipelineName: string, + options?: PipelineOperationsCreatePipelineRunOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-createPipelineRun", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { pipelineName, options }, + createPipelineRunOperationSpec + ); + return result as PipelineOperationsCreatePipelineRunResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * GetPipelinesByWorkspaceNext + * @param nextLink The nextLink from the previous successful call to the GetPipelinesByWorkspace + * method. + * @param options The options parameters. + */ + private async _getPipelinesByWorkspaceNext( + nextLink: string, + options?: PipelineOperationsGetPipelinesByWorkspaceNextOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getPipelinesByWorkspaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getPipelinesByWorkspaceNextOperationSpec + ); + return result as PipelineOperationsGetPipelinesByWorkspaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getPipelinesByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: "/pipelines", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PipelineListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdatePipelineOperationSpec: coreClient.OperationSpec = { + path: "/pipelines/{pipelineName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PipelineResource + }, + 201: { + bodyMapper: Mappers.PipelineResource + }, + 202: { + bodyMapper: Mappers.PipelineResource + }, + 204: { + bodyMapper: Mappers.PipelineResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.pipeline, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.pipelineName], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const getPipelineOperationSpec: coreClient.OperationSpec = { + path: "/pipelines/{pipelineName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PipelineResource + }, + 304: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.pipelineName], + headerParameters: [Parameters.accept, Parameters.ifNoneMatch], + serializer +}; +const deletePipelineOperationSpec: coreClient.OperationSpec = { + path: "/pipelines/{pipelineName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.pipelineName], + headerParameters: [Parameters.accept], + serializer +}; +const renamePipelineOperationSpec: coreClient.OperationSpec = { + path: "/pipelines/{pipelineName}/rename", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.pipelineName], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const createPipelineRunOperationSpec: coreClient.OperationSpec = { + path: "/pipelines/{pipelineName}/createRun", + httpMethod: "POST", + responses: { + 202: { + bodyMapper: Mappers.CreateRunResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters, + queryParameters: [ + Parameters.apiVersion, + Parameters.referencePipelineRunId, + Parameters.isRecovery, + Parameters.startActivityName + ], + urlParameters: [Parameters.endpoint, Parameters.pipelineName], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getPipelinesByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PipelineListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/pipelineRun.ts b/sdk/synapse/synapse-artifacts/src/operations/pipelineRunOperations.ts similarity index 61% rename from sdk/synapse/synapse-artifacts/src/operations/pipelineRun.ts rename to sdk/synapse/synapse-artifacts/src/operations/pipelineRunOperations.ts index e111100c970e..20e675915d45 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/pipelineRun.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/pipelineRunOperations.ts @@ -6,27 +6,30 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "../tracing"; -import { PipelineRun } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import { PipelineRunOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; import { RunFilterParameters, - PipelineRunQueryPipelineRunsByWorkspaceResponse, - PipelineRunGetPipelineRunResponse, - PipelineRunQueryActivityRunsResponse, - PipelineRunCancelPipelineRunOptionalParams + PipelineRunOperationsQueryPipelineRunsByWorkspaceOptionalParams, + PipelineRunOperationsQueryPipelineRunsByWorkspaceResponse, + PipelineRunOperationsGetPipelineRunOptionalParams, + PipelineRunOperationsGetPipelineRunResponse, + PipelineRunOperationsQueryActivityRunsOptionalParams, + PipelineRunOperationsQueryActivityRunsResponse, + PipelineRunOperationsCancelPipelineRunOptionalParams } from "../models"; -/** Class representing a PipelineRun. */ -export class PipelineRunImpl implements PipelineRun { +/** Class representing a PipelineRunOperations. */ +export class PipelineRunOperationsImpl implements PipelineRunOperations { private readonly client: ArtifactsClientContext; /** - * Initialize a new instance of the class PipelineRun class. + * Initialize a new instance of the class PipelineRunOperations class. * @param client Reference to the service client */ constructor(client: ArtifactsClientContext) { @@ -40,25 +43,21 @@ export class PipelineRunImpl implements PipelineRun { */ async queryPipelineRunsByWorkspace( filterParameters: RunFilterParameters, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( + options?: PipelineRunOperationsQueryPipelineRunsByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( "ArtifactsClient-queryPipelineRunsByWorkspace", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - filterParameters, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { filterParameters, options }, queryPipelineRunsByWorkspaceOperationSpec ); - return result as PipelineRunQueryPipelineRunsByWorkspaceResponse; + return result as PipelineRunOperationsQueryPipelineRunsByWorkspaceResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -74,22 +73,21 @@ export class PipelineRunImpl implements PipelineRun { */ async getPipelineRun( runId: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-getPipelineRun", options || {}); - const operationArguments: coreHttp.OperationArguments = { - runId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + options?: PipelineRunOperationsGetPipelineRunOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-getPipelineRun", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { runId, options }, getPipelineRunOperationSpec ); - return result as PipelineRunGetPipelineRunResponse; + return result as PipelineRunOperationsGetPipelineRunResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -109,24 +107,21 @@ export class PipelineRunImpl implements PipelineRun { pipelineName: string, runId: string, filterParameters: RunFilterParameters, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-queryActivityRuns", options || {}); - const operationArguments: coreHttp.OperationArguments = { - pipelineName, - runId, - filterParameters, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + options?: PipelineRunOperationsQueryActivityRunsOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-queryActivityRuns", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { pipelineName, runId, filterParameters, options }, queryActivityRunsOperationSpec ); - return result as PipelineRunQueryActivityRunsResponse; + return result as PipelineRunOperationsQueryActivityRunsResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -142,22 +137,21 @@ export class PipelineRunImpl implements PipelineRun { */ async cancelPipelineRun( runId: string, - options?: PipelineRunCancelPipelineRunOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-cancelPipelineRun", options || {}); - const operationArguments: coreHttp.OperationArguments = { - runId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + options?: PipelineRunOperationsCancelPipelineRunOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-cancelPipelineRun", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { runId, options }, cancelPipelineRunOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -167,9 +161,9 @@ export class PipelineRunImpl implements PipelineRun { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const queryPipelineRunsByWorkspaceOperationSpec: coreHttp.OperationSpec = { +const queryPipelineRunsByWorkspaceOperationSpec: coreClient.OperationSpec = { path: "/queryPipelineRuns", httpMethod: "POST", responses: { @@ -187,7 +181,7 @@ const queryPipelineRunsByWorkspaceOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const getPipelineRunOperationSpec: coreHttp.OperationSpec = { +const getPipelineRunOperationSpec: coreClient.OperationSpec = { path: "/pipelineruns/{runId}", httpMethod: "GET", responses: { @@ -203,7 +197,7 @@ const getPipelineRunOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const queryActivityRunsOperationSpec: coreHttp.OperationSpec = { +const queryActivityRunsOperationSpec: coreClient.OperationSpec = { path: "/pipelines/{pipelineName}/pipelineruns/{runId}/queryActivityruns", httpMethod: "POST", responses: { @@ -216,12 +210,16 @@ const queryActivityRunsOperationSpec: coreHttp.OperationSpec = { }, requestBody: Parameters.filterParameters, queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.pipelineName, Parameters.runId], + urlParameters: [ + Parameters.endpoint, + Parameters.pipelineName, + Parameters.runId + ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; -const cancelPipelineRunOperationSpec: coreHttp.OperationSpec = { +const cancelPipelineRunOperationSpec: coreClient.OperationSpec = { path: "/pipelineruns/{runId}/cancel", httpMethod: "POST", responses: { diff --git a/sdk/synapse/synapse-artifacts/src/operations/sparkJobDefinition.ts b/sdk/synapse/synapse-artifacts/src/operations/sparkJobDefinition.ts deleted file mode 100644 index 64a225b50c5c..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operations/sparkJobDefinition.ts +++ /dev/null @@ -1,608 +0,0 @@ -/* - * 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 { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "../tracing"; -import "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { SparkJobDefinition } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; -import { - SparkJobDefinitionResource, - SparkJobDefinitionGetSparkJobDefinitionsByWorkspaceResponse, - SparkJobDefinitionCreateOrUpdateSparkJobDefinitionOptionalParams, - SparkJobDefinitionCreateOrUpdateSparkJobDefinitionResponse, - SparkJobDefinitionGetSparkJobDefinitionOptionalParams, - SparkJobDefinitionGetSparkJobDefinitionResponse, - SparkJobDefinitionExecuteSparkJobDefinitionResponse, - ArtifactRenameRequest, - SparkJobDefinitionDebugSparkJobDefinitionResponse, - SparkJobDefinitionGetSparkJobDefinitionsByWorkspaceNextResponse -} from "../models"; - -/** Class representing a SparkJobDefinition. */ -export class SparkJobDefinitionImpl implements SparkJobDefinition { - private readonly client: ArtifactsClientContext; - - /** - * Initialize a new instance of the class SparkJobDefinition class. - * @param client Reference to the service client - */ - constructor(client: ArtifactsClientContext) { - this.client = client; - } - - /** - * Lists spark job definitions. - * @param options The options parameters. - */ - public listSparkJobDefinitionsByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getSparkJobDefinitionsByWorkspacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getSparkJobDefinitionsByWorkspacePagingPage(options); - } - }; - } - - private async *getSparkJobDefinitionsByWorkspacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getSparkJobDefinitionsByWorkspace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getSparkJobDefinitionsByWorkspaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getSparkJobDefinitionsByWorkspacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getSparkJobDefinitionsByWorkspacePagingPage(options)) { - yield* page; - } - } - - /** - * Lists spark job definitions. - * @param options The options parameters. - */ - private async _getSparkJobDefinitionsByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getSparkJobDefinitionsByWorkspace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getSparkJobDefinitionsByWorkspaceOperationSpec - ); - return result as SparkJobDefinitionGetSparkJobDefinitionsByWorkspaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Creates or updates a Spark Job Definition. - * @param sparkJobDefinitionName The spark job definition name. - * @param sparkJobDefinition Spark Job Definition resource definition. - * @param options The options parameters. - */ - async createOrUpdateSparkJobDefinition( - sparkJobDefinitionName: string, - sparkJobDefinition: SparkJobDefinitionResource, - options?: SparkJobDefinitionCreateOrUpdateSparkJobDefinitionOptionalParams - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createOrUpdateSparkJobDefinition", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - sparkJobDefinitionName, - sparkJobDefinition, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as SparkJobDefinitionCreateOrUpdateSparkJobDefinitionResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - createOrUpdateSparkJobDefinitionOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOrUpdateSparkJobDefinitionOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Gets a Spark Job Definition. - * @param sparkJobDefinitionName The spark job definition name. - * @param options The options parameters. - */ - async getSparkJobDefinition( - sparkJobDefinitionName: string, - options?: SparkJobDefinitionGetSparkJobDefinitionOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-getSparkJobDefinition", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - sparkJobDefinitionName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getSparkJobDefinitionOperationSpec - ); - return result as SparkJobDefinitionGetSparkJobDefinitionResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Deletes a Spark Job Definition. - * @param sparkJobDefinitionName The spark job definition name. - * @param options The options parameters. - */ - async deleteSparkJobDefinition( - sparkJobDefinitionName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-deleteSparkJobDefinition", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - sparkJobDefinitionName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - deleteSparkJobDefinitionOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deleteSparkJobDefinitionOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Executes the spark job definition. - * @param sparkJobDefinitionName The spark job definition name. - * @param options The options parameters. - */ - async executeSparkJobDefinition( - sparkJobDefinitionName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-executeSparkJobDefinition", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - sparkJobDefinitionName, - options: this.getOperationOptions(updatedOptions, "location") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as SparkJobDefinitionExecuteSparkJobDefinitionResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - executeSparkJobDefinitionOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: executeSparkJobDefinitionOperationSpec, - initialOperationResult, - sendOperation, - finalStateVia: "location" - }); - } - - /** - * Renames a sparkJobDefinition. - * @param sparkJobDefinitionName The spark job definition name. - * @param request proposed new name. - * @param options The options parameters. - */ - async renameSparkJobDefinition( - sparkJobDefinitionName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-renameSparkJobDefinition", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - sparkJobDefinitionName, - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - renameSparkJobDefinitionOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: renameSparkJobDefinitionOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Debug the spark job definition. - * @param sparkJobDefinitionAzureResource Spark Job Definition resource definition. - * @param options The options parameters. - */ - async debugSparkJobDefinition( - sparkJobDefinitionAzureResource: SparkJobDefinitionResource, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-debugSparkJobDefinition", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - sparkJobDefinitionAzureResource, - options: this.getOperationOptions(updatedOptions, "location") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as SparkJobDefinitionDebugSparkJobDefinitionResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - debugSparkJobDefinitionOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: debugSparkJobDefinitionOperationSpec, - initialOperationResult, - sendOperation, - finalStateVia: "location" - }); - } - - /** - * GetSparkJobDefinitionsByWorkspaceNext - * @param nextLink The nextLink from the previous successful call to the - * GetSparkJobDefinitionsByWorkspace method. - * @param options The options parameters. - */ - private async _getSparkJobDefinitionsByWorkspaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getSparkJobDefinitionsByWorkspaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getSparkJobDefinitionsByWorkspaceNextOperationSpec - ); - return result as SparkJobDefinitionGetSparkJobDefinitionsByWorkspaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } -} -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const getSparkJobDefinitionsByWorkspaceOperationSpec: coreHttp.OperationSpec = { - path: "/sparkJobDefinitions", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.SparkJobDefinitionsListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdateSparkJobDefinitionOperationSpec: coreHttp.OperationSpec = { - path: "/sparkJobDefinitions/{sparkJobDefinitionName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.SparkJobDefinitionResource - }, - 201: { - bodyMapper: Mappers.SparkJobDefinitionResource - }, - 202: { - bodyMapper: Mappers.SparkJobDefinitionResource - }, - 204: { - bodyMapper: Mappers.SparkJobDefinitionResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.sparkJobDefinition, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.ifMatch], - mediaType: "json", - serializer -}; -const getSparkJobDefinitionOperationSpec: coreHttp.OperationSpec = { - path: "/sparkJobDefinitions/{sparkJobDefinitionName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.SparkJobDefinitionResource - }, - 304: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], - headerParameters: [Parameters.accept, Parameters.ifNoneMatch], - serializer -}; -const deleteSparkJobDefinitionOperationSpec: coreHttp.OperationSpec = { - path: "/sparkJobDefinitions/{sparkJobDefinitionName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], - headerParameters: [Parameters.accept], - serializer -}; -const executeSparkJobDefinitionOperationSpec: coreHttp.OperationSpec = { - path: "/sparkJobDefinitions/{sparkJobDefinitionName}/execute", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.SparkBatchJob - }, - 201: { - bodyMapper: Mappers.SparkBatchJob - }, - 202: { - bodyMapper: Mappers.SparkBatchJob - }, - 204: { - bodyMapper: Mappers.SparkBatchJob - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], - headerParameters: [Parameters.accept], - serializer -}; -const renameSparkJobDefinitionOperationSpec: coreHttp.OperationSpec = { - path: "/sparkJobDefinitions/{sparkJobDefinitionName}/rename", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.request, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const debugSparkJobDefinitionOperationSpec: coreHttp.OperationSpec = { - path: "/debugSparkJobDefinition", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.SparkBatchJob - }, - 201: { - bodyMapper: Mappers.SparkBatchJob - }, - 202: { - bodyMapper: Mappers.SparkBatchJob - }, - 204: { - bodyMapper: Mappers.SparkBatchJob - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.sparkJobDefinitionAzureResource, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getSparkJobDefinitionsByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.SparkJobDefinitionsListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/sparkJobDefinitionOperations.ts b/sdk/synapse/synapse-artifacts/src/operations/sparkJobDefinitionOperations.ts new file mode 100644 index 000000000000..ddf6982b3399 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operations/sparkJobDefinitionOperations.ts @@ -0,0 +1,848 @@ +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SparkJobDefinitionOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ArtifactsClientContext } from "../artifactsClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + SparkJobDefinitionResource, + SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextOptionalParams, + SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams, + SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceResponse, + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse, + SparkJobDefinitionOperationsGetSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsGetSparkJobDefinitionResponse, + SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse, + ArtifactRenameRequest, + SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse, + SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextResponse +} from "../models"; + +/// +/** Class representing a SparkJobDefinitionOperations. */ +export class SparkJobDefinitionOperationsImpl + implements SparkJobDefinitionOperations { + private readonly client: ArtifactsClientContext; + + /** + * Initialize a new instance of the class SparkJobDefinitionOperations class. + * @param client Reference to the service client + */ + constructor(client: ArtifactsClientContext) { + this.client = client; + } + + /** + * Lists spark job definitions. + * @param options The options parameters. + */ + public listSparkJobDefinitionsByWorkspace( + options?: SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getSparkJobDefinitionsByWorkspacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getSparkJobDefinitionsByWorkspacePagingPage(options); + } + }; + } + + private async *getSparkJobDefinitionsByWorkspacePagingPage( + options?: SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getSparkJobDefinitionsByWorkspace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getSparkJobDefinitionsByWorkspaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getSparkJobDefinitionsByWorkspacePagingAll( + options?: SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getSparkJobDefinitionsByWorkspacePagingPage( + options + )) { + yield* page; + } + } + + /** + * Lists spark job definitions. + * @param options The options parameters. + */ + private async _getSparkJobDefinitionsByWorkspace( + options?: SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams + ): Promise< + SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceResponse + > { + const { span } = createSpan( + "ArtifactsClient-_getSparkJobDefinitionsByWorkspace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getSparkJobDefinitionsByWorkspaceOperationSpec + ); + return result as SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Creates or updates a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param sparkJobDefinition Spark Job Definition resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateSparkJobDefinition( + sparkJobDefinitionName: string, + sparkJobDefinition: SparkJobDefinitionResource, + options?: SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse + >, + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateOrUpdateSparkJobDefinition", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { sparkJobDefinitionName, sparkJobDefinition, options }, + createOrUpdateSparkJobDefinitionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param sparkJobDefinition Spark Job Definition resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateSparkJobDefinitionAndWait( + sparkJobDefinitionName: string, + sparkJobDefinition: SparkJobDefinitionResource, + options?: SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams + ): Promise< + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse + > { + const poller = await this.beginCreateOrUpdateSparkJobDefinition( + sparkJobDefinitionName, + sparkJobDefinition, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + async getSparkJobDefinition( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsGetSparkJobDefinitionOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-getSparkJobDefinition", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { sparkJobDefinitionName, options }, + getSparkJobDefinitionOperationSpec + ); + return result as SparkJobDefinitionOperationsGetSparkJobDefinitionResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Deletes a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + async beginDeleteSparkJobDefinition( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginDeleteSparkJobDefinition", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { sparkJobDefinitionName, options }, + deleteSparkJobDefinitionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + async beginDeleteSparkJobDefinitionAndWait( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams + ): Promise { + const poller = await this.beginDeleteSparkJobDefinition( + sparkJobDefinitionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Executes the spark job definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + async beginExecuteSparkJobDefinition( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse + >, + SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginExecuteSparkJobDefinition", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { sparkJobDefinitionName, options }, + executeSparkJobDefinitionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); + } + + /** + * Executes the spark job definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + async beginExecuteSparkJobDefinitionAndWait( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams + ): Promise { + const poller = await this.beginExecuteSparkJobDefinition( + sparkJobDefinitionName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Renames a sparkJobDefinition. + * @param sparkJobDefinitionName The spark job definition name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameSparkJobDefinition( + sparkJobDefinitionName: string, + request: ArtifactRenameRequest, + options?: SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginRenameSparkJobDefinition", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { sparkJobDefinitionName, request, options }, + renameSparkJobDefinitionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Renames a sparkJobDefinition. + * @param sparkJobDefinitionName The spark job definition name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameSparkJobDefinitionAndWait( + sparkJobDefinitionName: string, + request: ArtifactRenameRequest, + options?: SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams + ): Promise { + const poller = await this.beginRenameSparkJobDefinition( + sparkJobDefinitionName, + request, + options + ); + return poller.pollUntilDone(); + } + + /** + * Debug the spark job definition. + * @param sparkJobDefinitionAzureResource Spark Job Definition resource definition. + * @param options The options parameters. + */ + async beginDebugSparkJobDefinition( + sparkJobDefinitionAzureResource: SparkJobDefinitionResource, + options?: SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse + >, + SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginDebugSparkJobDefinition", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { sparkJobDefinitionAzureResource, options }, + debugSparkJobDefinitionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); + } + + /** + * Debug the spark job definition. + * @param sparkJobDefinitionAzureResource Spark Job Definition resource definition. + * @param options The options parameters. + */ + async beginDebugSparkJobDefinitionAndWait( + sparkJobDefinitionAzureResource: SparkJobDefinitionResource, + options?: SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams + ): Promise { + const poller = await this.beginDebugSparkJobDefinition( + sparkJobDefinitionAzureResource, + options + ); + return poller.pollUntilDone(); + } + + /** + * GetSparkJobDefinitionsByWorkspaceNext + * @param nextLink The nextLink from the previous successful call to the + * GetSparkJobDefinitionsByWorkspace method. + * @param options The options parameters. + */ + private async _getSparkJobDefinitionsByWorkspaceNext( + nextLink: string, + options?: SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextOptionalParams + ): Promise< + SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextResponse + > { + const { span } = createSpan( + "ArtifactsClient-_getSparkJobDefinitionsByWorkspaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getSparkJobDefinitionsByWorkspaceNextOperationSpec + ); + return result as SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getSparkJobDefinitionsByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: "/sparkJobDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SparkJobDefinitionsListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateSparkJobDefinitionOperationSpec: coreClient.OperationSpec = { + path: "/sparkJobDefinitions/{sparkJobDefinitionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SparkJobDefinitionResource + }, + 201: { + bodyMapper: Mappers.SparkJobDefinitionResource + }, + 202: { + bodyMapper: Mappers.SparkJobDefinitionResource + }, + 204: { + bodyMapper: Mappers.SparkJobDefinitionResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.sparkJobDefinition, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const getSparkJobDefinitionOperationSpec: coreClient.OperationSpec = { + path: "/sparkJobDefinitions/{sparkJobDefinitionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SparkJobDefinitionResource + }, + 304: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], + headerParameters: [Parameters.accept, Parameters.ifNoneMatch], + serializer +}; +const deleteSparkJobDefinitionOperationSpec: coreClient.OperationSpec = { + path: "/sparkJobDefinitions/{sparkJobDefinitionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], + headerParameters: [Parameters.accept], + serializer +}; +const executeSparkJobDefinitionOperationSpec: coreClient.OperationSpec = { + path: "/sparkJobDefinitions/{sparkJobDefinitionName}/execute", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.SparkBatchJob + }, + 201: { + bodyMapper: Mappers.SparkBatchJob + }, + 202: { + bodyMapper: Mappers.SparkBatchJob + }, + 204: { + bodyMapper: Mappers.SparkBatchJob + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], + headerParameters: [Parameters.accept], + serializer +}; +const renameSparkJobDefinitionOperationSpec: coreClient.OperationSpec = { + path: "/sparkJobDefinitions/{sparkJobDefinitionName}/rename", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sparkJobDefinitionName], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const debugSparkJobDefinitionOperationSpec: coreClient.OperationSpec = { + path: "/debugSparkJobDefinition", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.SparkBatchJob + }, + 201: { + bodyMapper: Mappers.SparkBatchJob + }, + 202: { + bodyMapper: Mappers.SparkBatchJob + }, + 204: { + bodyMapper: Mappers.SparkBatchJob + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.sparkJobDefinitionAzureResource, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getSparkJobDefinitionsByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SparkJobDefinitionsListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/sqlPools.ts b/sdk/synapse/synapse-artifacts/src/operations/sqlPools.ts index 500273dc20e7..04e49084ded1 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/sqlPools.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/sqlPools.ts @@ -6,14 +6,19 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "../tracing"; import { SqlPools } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; -import { SqlPoolsListResponse, SqlPoolsGetResponse } from "../models"; +import { + SqlPoolsListOptionalParams, + SqlPoolsListResponse, + SqlPoolsGetOptionalParams, + SqlPoolsGetResponse +} from "../models"; /** Class representing a SqlPools. */ export class SqlPoolsImpl implements SqlPools { @@ -31,17 +36,19 @@ export class SqlPoolsImpl implements SqlPools { * List Sql Pools * @param options The options parameters. */ - async list(options?: coreHttp.OperationOptions): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-list", options || {}); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + async list( + options?: SqlPoolsListOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-list", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, listOperationSpec); + const result = await this.client.sendOperationRequest( + { options }, + listOperationSpec + ); return result as SqlPoolsListResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -57,19 +64,18 @@ export class SqlPoolsImpl implements SqlPools { */ async get( sqlPoolName: string, - options?: coreHttp.OperationOptions + options?: SqlPoolsGetOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-get", options || {}); - const operationArguments: coreHttp.OperationArguments = { - sqlPoolName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + const { span } = createSpan("ArtifactsClient-get", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, getOperationSpec); + const result = await this.client.sendOperationRequest( + { sqlPoolName, options }, + getOperationSpec + ); return result as SqlPoolsGetResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -79,9 +85,9 @@ export class SqlPoolsImpl implements SqlPools { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const listOperationSpec: coreHttp.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { path: "/sqlPools", httpMethod: "GET", responses: { @@ -97,7 +103,7 @@ const listOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const getOperationSpec: coreHttp.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { path: "/sqlPools/{sqlPoolName}", httpMethod: "GET", responses: { diff --git a/sdk/synapse/synapse-artifacts/src/operations/sqlScript.ts b/sdk/synapse/synapse-artifacts/src/operations/sqlScript.ts deleted file mode 100644 index f7bd0d898e1f..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operations/sqlScript.ts +++ /dev/null @@ -1,449 +0,0 @@ -/* - * 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 { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "../tracing"; -import "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { SqlScript } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; -import { - SqlScriptResource, - SqlScriptGetSqlScriptsByWorkspaceResponse, - SqlScriptCreateOrUpdateSqlScriptOptionalParams, - SqlScriptCreateOrUpdateSqlScriptResponse, - SqlScriptGetSqlScriptOptionalParams, - SqlScriptGetSqlScriptResponse, - ArtifactRenameRequest, - SqlScriptGetSqlScriptsByWorkspaceNextResponse -} from "../models"; - -/** Class representing a SqlScript. */ -export class SqlScriptImpl implements SqlScript { - private readonly client: ArtifactsClientContext; - - /** - * Initialize a new instance of the class SqlScript class. - * @param client Reference to the service client - */ - constructor(client: ArtifactsClientContext) { - this.client = client; - } - - /** - * Lists sql scripts. - * @param options The options parameters. - */ - public listSqlScriptsByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getSqlScriptsByWorkspacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getSqlScriptsByWorkspacePagingPage(options); - } - }; - } - - private async *getSqlScriptsByWorkspacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getSqlScriptsByWorkspace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getSqlScriptsByWorkspaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getSqlScriptsByWorkspacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getSqlScriptsByWorkspacePagingPage(options)) { - yield* page; - } - } - - /** - * Lists sql scripts. - * @param options The options parameters. - */ - private async _getSqlScriptsByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getSqlScriptsByWorkspace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getSqlScriptsByWorkspaceOperationSpec - ); - return result as SqlScriptGetSqlScriptsByWorkspaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Creates or updates a Sql Script. - * @param sqlScriptName The sql script name. - * @param sqlScript Sql Script resource definition. - * @param options The options parameters. - */ - async createOrUpdateSqlScript( - sqlScriptName: string, - sqlScript: SqlScriptResource, - options?: SqlScriptCreateOrUpdateSqlScriptOptionalParams - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createOrUpdateSqlScript", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - sqlScriptName, - sqlScript, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as SqlScriptCreateOrUpdateSqlScriptResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - createOrUpdateSqlScriptOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOrUpdateSqlScriptOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Gets a sql script. - * @param sqlScriptName The sql script name. - * @param options The options parameters. - */ - async getSqlScript( - sqlScriptName: string, - options?: SqlScriptGetSqlScriptOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-getSqlScript", options || {}); - const operationArguments: coreHttp.OperationArguments = { - sqlScriptName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getSqlScriptOperationSpec - ); - return result as SqlScriptGetSqlScriptResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Deletes a Sql Script. - * @param sqlScriptName The sql script name. - * @param options The options parameters. - */ - async deleteSqlScript( - sqlScriptName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-deleteSqlScript", options || {}); - const operationArguments: coreHttp.OperationArguments = { - sqlScriptName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - deleteSqlScriptOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deleteSqlScriptOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Renames a sqlScript. - * @param sqlScriptName The sql script name. - * @param request proposed new name. - * @param options The options parameters. - */ - async renameSqlScript( - sqlScriptName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-renameSqlScript", options || {}); - const operationArguments: coreHttp.OperationArguments = { - sqlScriptName, - request, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - renameSqlScriptOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: renameSqlScriptOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * GetSqlScriptsByWorkspaceNext - * @param nextLink The nextLink from the previous successful call to the GetSqlScriptsByWorkspace - * method. - * @param options The options parameters. - */ - private async _getSqlScriptsByWorkspaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getSqlScriptsByWorkspaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getSqlScriptsByWorkspaceNextOperationSpec - ); - return result as SqlScriptGetSqlScriptsByWorkspaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } -} -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const getSqlScriptsByWorkspaceOperationSpec: coreHttp.OperationSpec = { - path: "/sqlScripts", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.SqlScriptsListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdateSqlScriptOperationSpec: coreHttp.OperationSpec = { - path: "/sqlScripts/{sqlScriptName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.SqlScriptResource - }, - 201: { - bodyMapper: Mappers.SqlScriptResource - }, - 202: { - bodyMapper: Mappers.SqlScriptResource - }, - 204: { - bodyMapper: Mappers.SqlScriptResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.sqlScript, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sqlScriptName], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.ifMatch], - mediaType: "json", - serializer -}; -const getSqlScriptOperationSpec: coreHttp.OperationSpec = { - path: "/sqlScripts/{sqlScriptName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.SqlScriptResource - }, - 304: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sqlScriptName], - headerParameters: [Parameters.accept, Parameters.ifNoneMatch], - serializer -}; -const deleteSqlScriptOperationSpec: coreHttp.OperationSpec = { - path: "/sqlScripts/{sqlScriptName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sqlScriptName], - headerParameters: [Parameters.accept], - serializer -}; -const renameSqlScriptOperationSpec: coreHttp.OperationSpec = { - path: "/sqlScripts/{sqlScriptName}/rename", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.request, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.sqlScriptName], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getSqlScriptsByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.SqlScriptsListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/sqlScriptOperations.ts b/sdk/synapse/synapse-artifacts/src/operations/sqlScriptOperations.ts new file mode 100644 index 000000000000..f7353615eb5a --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operations/sqlScriptOperations.ts @@ -0,0 +1,579 @@ +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SqlScriptOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ArtifactsClientContext } from "../artifactsClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + SqlScriptResource, + SqlScriptOperationsGetSqlScriptsByWorkspaceNextOptionalParams, + SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams, + SqlScriptOperationsGetSqlScriptsByWorkspaceResponse, + SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams, + SqlScriptOperationsCreateOrUpdateSqlScriptResponse, + SqlScriptOperationsGetSqlScriptOptionalParams, + SqlScriptOperationsGetSqlScriptResponse, + SqlScriptOperationsDeleteSqlScriptOptionalParams, + ArtifactRenameRequest, + SqlScriptOperationsRenameSqlScriptOptionalParams, + SqlScriptOperationsGetSqlScriptsByWorkspaceNextResponse +} from "../models"; + +/// +/** Class representing a SqlScriptOperations. */ +export class SqlScriptOperationsImpl implements SqlScriptOperations { + private readonly client: ArtifactsClientContext; + + /** + * Initialize a new instance of the class SqlScriptOperations class. + * @param client Reference to the service client + */ + constructor(client: ArtifactsClientContext) { + this.client = client; + } + + /** + * Lists sql scripts. + * @param options The options parameters. + */ + public listSqlScriptsByWorkspace( + options?: SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getSqlScriptsByWorkspacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getSqlScriptsByWorkspacePagingPage(options); + } + }; + } + + private async *getSqlScriptsByWorkspacePagingPage( + options?: SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getSqlScriptsByWorkspace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getSqlScriptsByWorkspaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getSqlScriptsByWorkspacePagingAll( + options?: SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getSqlScriptsByWorkspacePagingPage(options)) { + yield* page; + } + } + + /** + * Lists sql scripts. + * @param options The options parameters. + */ + private async _getSqlScriptsByWorkspace( + options?: SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getSqlScriptsByWorkspace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getSqlScriptsByWorkspaceOperationSpec + ); + return result as SqlScriptOperationsGetSqlScriptsByWorkspaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Creates or updates a Sql Script. + * @param sqlScriptName The sql script name. + * @param sqlScript Sql Script resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateSqlScript( + sqlScriptName: string, + sqlScript: SqlScriptResource, + options?: SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SqlScriptOperationsCreateOrUpdateSqlScriptResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateOrUpdateSqlScript", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as SqlScriptOperationsCreateOrUpdateSqlScriptResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { sqlScriptName, sqlScript, options }, + createOrUpdateSqlScriptOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a Sql Script. + * @param sqlScriptName The sql script name. + * @param sqlScript Sql Script resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateSqlScriptAndWait( + sqlScriptName: string, + sqlScript: SqlScriptResource, + options?: SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateSqlScript( + sqlScriptName, + sqlScript, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a sql script. + * @param sqlScriptName The sql script name. + * @param options The options parameters. + */ + async getSqlScript( + sqlScriptName: string, + options?: SqlScriptOperationsGetSqlScriptOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-getSqlScript", options || {}); + try { + const result = await this.client.sendOperationRequest( + { sqlScriptName, options }, + getSqlScriptOperationSpec + ); + return result as SqlScriptOperationsGetSqlScriptResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Deletes a Sql Script. + * @param sqlScriptName The sql script name. + * @param options The options parameters. + */ + async beginDeleteSqlScript( + sqlScriptName: string, + options?: SqlScriptOperationsDeleteSqlScriptOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginDeleteSqlScript", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { sqlScriptName, options }, + deleteSqlScriptOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a Sql Script. + * @param sqlScriptName The sql script name. + * @param options The options parameters. + */ + async beginDeleteSqlScriptAndWait( + sqlScriptName: string, + options?: SqlScriptOperationsDeleteSqlScriptOptionalParams + ): Promise { + const poller = await this.beginDeleteSqlScript(sqlScriptName, options); + return poller.pollUntilDone(); + } + + /** + * Renames a sqlScript. + * @param sqlScriptName The sql script name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameSqlScript( + sqlScriptName: string, + request: ArtifactRenameRequest, + options?: SqlScriptOperationsRenameSqlScriptOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginRenameSqlScript", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { sqlScriptName, request, options }, + renameSqlScriptOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Renames a sqlScript. + * @param sqlScriptName The sql script name. + * @param request proposed new name. + * @param options The options parameters. + */ + async beginRenameSqlScriptAndWait( + sqlScriptName: string, + request: ArtifactRenameRequest, + options?: SqlScriptOperationsRenameSqlScriptOptionalParams + ): Promise { + const poller = await this.beginRenameSqlScript( + sqlScriptName, + request, + options + ); + return poller.pollUntilDone(); + } + + /** + * GetSqlScriptsByWorkspaceNext + * @param nextLink The nextLink from the previous successful call to the GetSqlScriptsByWorkspace + * method. + * @param options The options parameters. + */ + private async _getSqlScriptsByWorkspaceNext( + nextLink: string, + options?: SqlScriptOperationsGetSqlScriptsByWorkspaceNextOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getSqlScriptsByWorkspaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getSqlScriptsByWorkspaceNextOperationSpec + ); + return result as SqlScriptOperationsGetSqlScriptsByWorkspaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getSqlScriptsByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: "/sqlScripts", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SqlScriptsListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateSqlScriptOperationSpec: coreClient.OperationSpec = { + path: "/sqlScripts/{sqlScriptName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SqlScriptResource + }, + 201: { + bodyMapper: Mappers.SqlScriptResource + }, + 202: { + bodyMapper: Mappers.SqlScriptResource + }, + 204: { + bodyMapper: Mappers.SqlScriptResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.sqlScript, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sqlScriptName], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const getSqlScriptOperationSpec: coreClient.OperationSpec = { + path: "/sqlScripts/{sqlScriptName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SqlScriptResource + }, + 304: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sqlScriptName], + headerParameters: [Parameters.accept, Parameters.ifNoneMatch], + serializer +}; +const deleteSqlScriptOperationSpec: coreClient.OperationSpec = { + path: "/sqlScripts/{sqlScriptName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sqlScriptName], + headerParameters: [Parameters.accept], + serializer +}; +const renameSqlScriptOperationSpec: coreClient.OperationSpec = { + path: "/sqlScripts/{sqlScriptName}/rename", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.sqlScriptName], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getSqlScriptsByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SqlScriptsListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/trigger.ts b/sdk/synapse/synapse-artifacts/src/operations/trigger.ts deleted file mode 100644 index f34bc602874a..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operations/trigger.ts +++ /dev/null @@ -1,700 +0,0 @@ -/* - * 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 { SpanStatusCode } from "@azure/core-tracing"; -import { createSpan } from "../tracing"; -import "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { Trigger } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { ArtifactsClientContext } from "../artifactsClientContext"; -import { LROPoller, shouldDeserializeLRO } from "../lro"; -import { - TriggerResource, - TriggerGetTriggersByWorkspaceResponse, - TriggerCreateOrUpdateTriggerOptionalParams, - TriggerCreateOrUpdateTriggerResponse, - TriggerGetTriggerOptionalParams, - TriggerGetTriggerResponse, - TriggerSubscribeTriggerToEventsResponse, - TriggerGetEventSubscriptionStatusResponse, - TriggerUnsubscribeTriggerFromEventsResponse, - TriggerGetTriggersByWorkspaceNextResponse -} from "../models"; - -/** Class representing a Trigger. */ -export class TriggerImpl implements Trigger { - private readonly client: ArtifactsClientContext; - - /** - * Initialize a new instance of the class Trigger class. - * @param client Reference to the service client - */ - constructor(client: ArtifactsClientContext) { - this.client = client; - } - - /** - * Lists triggers. - * @param options The options parameters. - */ - public listTriggersByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator { - const iter = this.getTriggersByWorkspacePagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: () => { - return this.getTriggersByWorkspacePagingPage(options); - } - }; - } - - private async *getTriggersByWorkspacePagingPage( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - let result = await this._getTriggersByWorkspace(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getTriggersByWorkspaceNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - private async *getTriggersByWorkspacePagingAll( - options?: coreHttp.OperationOptions - ): AsyncIterableIterator { - for await (const page of this.getTriggersByWorkspacePagingPage(options)) { - yield* page; - } - } - - /** - * Lists triggers. - * @param options The options parameters. - */ - private async _getTriggersByWorkspace( - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getTriggersByWorkspace", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getTriggersByWorkspaceOperationSpec - ); - return result as TriggerGetTriggersByWorkspaceResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Creates or updates a trigger. - * @param triggerName The trigger name. - * @param trigger Trigger resource definition. - * @param options The options parameters. - */ - async createOrUpdateTrigger( - triggerName: string, - trigger: TriggerResource, - options?: TriggerCreateOrUpdateTriggerOptionalParams - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-createOrUpdateTrigger", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - trigger, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as TriggerCreateOrUpdateTriggerResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - createOrUpdateTriggerOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: createOrUpdateTriggerOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Gets a trigger. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - async getTrigger( - triggerName: string, - options?: TriggerGetTriggerOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-getTrigger", options || {}); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getTriggerOperationSpec - ); - return result as TriggerGetTriggerResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Deletes a trigger. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - async deleteTrigger( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-deleteTrigger", options || {}); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - deleteTriggerOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: deleteTriggerOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Subscribe event trigger to events. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - async subscribeTriggerToEvents( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-subscribeTriggerToEvents", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as TriggerSubscribeTriggerToEventsResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - subscribeTriggerToEventsOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: subscribeTriggerToEventsOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Get a trigger's event subscription status. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - async getEventSubscriptionStatus( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-getEventSubscriptionStatus", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getEventSubscriptionStatusOperationSpec - ); - return result as TriggerGetEventSubscriptionStatusResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - /** - * Unsubscribe event trigger from events. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - async unsubscribeTriggerFromEvents( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-unsubscribeTriggerFromEvents", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as TriggerUnsubscribeTriggerFromEventsResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - unsubscribeTriggerFromEventsOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: unsubscribeTriggerFromEventsOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Starts a trigger. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - async startTrigger( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-startTrigger", options || {}); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - startTriggerOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: startTriggerOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * Stops a trigger. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - async stopTrigger( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise> { - const { span, updatedOptions } = createSpan("ArtifactsClient-stopTrigger", options || {}); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - options: this.getOperationOptions(updatedOptions, "undefined") - }; - const sendOperation = async ( - args: coreHttp.OperationArguments, - spec: coreHttp.OperationSpec - ) => { - try { - const result = await this.client.sendOperationRequest(args, spec); - return result as coreHttp.RestResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - }; - - const initialOperationResult = await sendOperation( - operationArguments, - stopTriggerOperationSpec - ); - return new LROPoller({ - initialOperationArguments: operationArguments, - initialOperationSpec: stopTriggerOperationSpec, - initialOperationResult, - sendOperation - }); - } - - /** - * GetTriggersByWorkspaceNext - * @param nextLink The nextLink from the previous successful call to the GetTriggersByWorkspace method. - * @param options The options parameters. - */ - private async _getTriggersByWorkspaceNext( - nextLink: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( - "ArtifactsClient-_getTriggersByWorkspaceNext", - options || {} - ); - const operationArguments: coreHttp.OperationArguments = { - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; - try { - const result = await this.client.sendOperationRequest( - operationArguments, - getTriggersByWorkspaceNextOperationSpec - ); - return result as TriggerGetTriggersByWorkspaceNextResponse; - } catch (error) { - span.setStatus({ - code: SpanStatusCode.ERROR, - message: error.message - }); - throw error; - } finally { - span.end(); - } - } - - private getOperationOptions( - options: TOptions | undefined, - finalStateVia?: string - ): coreHttp.RequestOptionsBase { - const operationOptions: coreHttp.OperationOptions = options || {}; - operationOptions.requestOptions = { - ...operationOptions.requestOptions, - shouldDeserialize: shouldDeserializeLRO(finalStateVia) - }; - return coreHttp.operationOptionsToRequestOptionsBase(operationOptions); - } -} -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const getTriggersByWorkspaceOperationSpec: coreHttp.OperationSpec = { - path: "/triggers", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.TriggerListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdateTriggerOperationSpec: coreHttp.OperationSpec = { - path: "/triggers/{triggerName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.TriggerResource - }, - 201: { - bodyMapper: Mappers.TriggerResource - }, - 202: { - bodyMapper: Mappers.TriggerResource - }, - 204: { - bodyMapper: Mappers.TriggerResource - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.trigger, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.triggerName], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.ifMatch], - mediaType: "json", - serializer -}; -const getTriggerOperationSpec: coreHttp.OperationSpec = { - path: "/triggers/{triggerName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.TriggerResource - }, - 304: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.triggerName], - headerParameters: [Parameters.accept, Parameters.ifNoneMatch], - serializer -}; -const deleteTriggerOperationSpec: coreHttp.OperationSpec = { - path: "/triggers/{triggerName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.triggerName], - headerParameters: [Parameters.accept], - serializer -}; -const subscribeTriggerToEventsOperationSpec: coreHttp.OperationSpec = { - path: "/triggers/{triggerName}/subscribeToEvents", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - 201: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - 202: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - 204: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.triggerName], - headerParameters: [Parameters.accept], - serializer -}; -const getEventSubscriptionStatusOperationSpec: coreHttp.OperationSpec = { - path: "/triggers/{triggerName}/getEventSubscriptionStatus", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.triggerName], - headerParameters: [Parameters.accept], - serializer -}; -const unsubscribeTriggerFromEventsOperationSpec: coreHttp.OperationSpec = { - path: "/triggers/{triggerName}/unsubscribeFromEvents", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - 201: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - 202: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - 204: { - bodyMapper: Mappers.TriggerSubscriptionOperationStatus - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.triggerName], - headerParameters: [Parameters.accept], - serializer -}; -const startTriggerOperationSpec: coreHttp.OperationSpec = { - path: "/triggers/{triggerName}/start", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.triggerName], - headerParameters: [Parameters.accept], - serializer -}; -const stopTriggerOperationSpec: coreHttp.OperationSpec = { - path: "/triggers/{triggerName}/stop", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.triggerName], - headerParameters: [Parameters.accept], - serializer -}; -const getTriggersByWorkspaceNextOperationSpec: coreHttp.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.TriggerListResponse - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.nextLink], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/triggerOperations.ts b/sdk/synapse/synapse-artifacts/src/operations/triggerOperations.ts new file mode 100644 index 000000000000..90ca51dcdbaf --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operations/triggerOperations.ts @@ -0,0 +1,964 @@ +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { TriggerOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { ArtifactsClientContext } from "../artifactsClientContext"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + TriggerResource, + TriggerOperationsGetTriggersByWorkspaceNextOptionalParams, + TriggerOperationsGetTriggersByWorkspaceOptionalParams, + TriggerOperationsGetTriggersByWorkspaceResponse, + TriggerOperationsCreateOrUpdateTriggerOptionalParams, + TriggerOperationsCreateOrUpdateTriggerResponse, + TriggerOperationsGetTriggerOptionalParams, + TriggerOperationsGetTriggerResponse, + TriggerOperationsDeleteTriggerOptionalParams, + TriggerOperationsSubscribeTriggerToEventsOptionalParams, + TriggerOperationsSubscribeTriggerToEventsResponse, + TriggerOperationsGetEventSubscriptionStatusOptionalParams, + TriggerOperationsGetEventSubscriptionStatusResponse, + TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams, + TriggerOperationsUnsubscribeTriggerFromEventsResponse, + TriggerOperationsStartTriggerOptionalParams, + TriggerOperationsStopTriggerOptionalParams, + TriggerOperationsGetTriggersByWorkspaceNextResponse +} from "../models"; + +/// +/** Class representing a TriggerOperations. */ +export class TriggerOperationsImpl implements TriggerOperations { + private readonly client: ArtifactsClientContext; + + /** + * Initialize a new instance of the class TriggerOperations class. + * @param client Reference to the service client + */ + constructor(client: ArtifactsClientContext) { + this.client = client; + } + + /** + * Lists triggers. + * @param options The options parameters. + */ + public listTriggersByWorkspace( + options?: TriggerOperationsGetTriggersByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getTriggersByWorkspacePagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getTriggersByWorkspacePagingPage(options); + } + }; + } + + private async *getTriggersByWorkspacePagingPage( + options?: TriggerOperationsGetTriggersByWorkspaceOptionalParams + ): AsyncIterableIterator { + let result = await this._getTriggersByWorkspace(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getTriggersByWorkspaceNext( + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getTriggersByWorkspacePagingAll( + options?: TriggerOperationsGetTriggersByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getTriggersByWorkspacePagingPage(options)) { + yield* page; + } + } + + /** + * Lists triggers. + * @param options The options parameters. + */ + private async _getTriggersByWorkspace( + options?: TriggerOperationsGetTriggersByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getTriggersByWorkspace", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { options }, + getTriggersByWorkspaceOperationSpec + ); + return result as TriggerOperationsGetTriggersByWorkspaceResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Creates or updates a trigger. + * @param triggerName The trigger name. + * @param trigger Trigger resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateTrigger( + triggerName: string, + trigger: TriggerResource, + options?: TriggerOperationsCreateOrUpdateTriggerOptionalParams + ): Promise< + PollerLike< + PollOperationState, + TriggerOperationsCreateOrUpdateTriggerResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginCreateOrUpdateTrigger", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as TriggerOperationsCreateOrUpdateTriggerResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { triggerName, trigger, options }, + createOrUpdateTriggerOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Creates or updates a trigger. + * @param triggerName The trigger name. + * @param trigger Trigger resource definition. + * @param options The options parameters. + */ + async beginCreateOrUpdateTriggerAndWait( + triggerName: string, + trigger: TriggerResource, + options?: TriggerOperationsCreateOrUpdateTriggerOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdateTrigger( + triggerName, + trigger, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async getTrigger( + triggerName: string, + options?: TriggerOperationsGetTriggerOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-getTrigger", options || {}); + try { + const result = await this.client.sendOperationRequest( + { triggerName, options }, + getTriggerOperationSpec + ); + return result as TriggerOperationsGetTriggerResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Deletes a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginDeleteTrigger( + triggerName: string, + options?: TriggerOperationsDeleteTriggerOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginDeleteTrigger", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { triggerName, options }, + deleteTriggerOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Deletes a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginDeleteTriggerAndWait( + triggerName: string, + options?: TriggerOperationsDeleteTriggerOptionalParams + ): Promise { + const poller = await this.beginDeleteTrigger(triggerName, options); + return poller.pollUntilDone(); + } + + /** + * Subscribe event trigger to events. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginSubscribeTriggerToEvents( + triggerName: string, + options?: TriggerOperationsSubscribeTriggerToEventsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + TriggerOperationsSubscribeTriggerToEventsResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginSubscribeTriggerToEvents", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as TriggerOperationsSubscribeTriggerToEventsResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { triggerName, options }, + subscribeTriggerToEventsOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Subscribe event trigger to events. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginSubscribeTriggerToEventsAndWait( + triggerName: string, + options?: TriggerOperationsSubscribeTriggerToEventsOptionalParams + ): Promise { + const poller = await this.beginSubscribeTriggerToEvents( + triggerName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Get a trigger's event subscription status. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async getEventSubscriptionStatus( + triggerName: string, + options?: TriggerOperationsGetEventSubscriptionStatusOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-getEventSubscriptionStatus", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { triggerName, options }, + getEventSubscriptionStatusOperationSpec + ); + return result as TriggerOperationsGetEventSubscriptionStatusResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } + + /** + * Unsubscribe event trigger from events. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginUnsubscribeTriggerFromEvents( + triggerName: string, + options?: TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + TriggerOperationsUnsubscribeTriggerFromEventsResponse + > + > { + const { span } = createSpan( + "ArtifactsClient-beginUnsubscribeTriggerFromEvents", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as TriggerOperationsUnsubscribeTriggerFromEventsResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { triggerName, options }, + unsubscribeTriggerFromEventsOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Unsubscribe event trigger from events. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginUnsubscribeTriggerFromEventsAndWait( + triggerName: string, + options?: TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams + ): Promise { + const poller = await this.beginUnsubscribeTriggerFromEvents( + triggerName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Starts a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginStartTrigger( + triggerName: string, + options?: TriggerOperationsStartTriggerOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginStartTrigger", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { triggerName, options }, + startTriggerOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Starts a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginStartTriggerAndWait( + triggerName: string, + options?: TriggerOperationsStartTriggerOptionalParams + ): Promise { + const poller = await this.beginStartTrigger(triggerName, options); + return poller.pollUntilDone(); + } + + /** + * Stops a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginStopTrigger( + triggerName: string, + options?: TriggerOperationsStopTriggerOptionalParams + ): Promise, void>> { + const { span } = createSpan( + "ArtifactsClient-beginStopTrigger", + options || {} + ); + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + try { + const result = await this.client.sendOperationRequest(args, spec); + return result as void; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + }; + 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, + { triggerName, options }, + stopTriggerOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Stops a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + async beginStopTriggerAndWait( + triggerName: string, + options?: TriggerOperationsStopTriggerOptionalParams + ): Promise { + const poller = await this.beginStopTrigger(triggerName, options); + return poller.pollUntilDone(); + } + + /** + * GetTriggersByWorkspaceNext + * @param nextLink The nextLink from the previous successful call to the GetTriggersByWorkspace method. + * @param options The options parameters. + */ + private async _getTriggersByWorkspaceNext( + nextLink: string, + options?: TriggerOperationsGetTriggersByWorkspaceNextOptionalParams + ): Promise { + const { span } = createSpan( + "ArtifactsClient-_getTriggersByWorkspaceNext", + options || {} + ); + try { + const result = await this.client.sendOperationRequest( + { nextLink, options }, + getTriggersByWorkspaceNextOperationSpec + ); + return result as TriggerOperationsGetTriggersByWorkspaceNextResponse; + } catch (error) { + span.setStatus({ + code: coreTracing.SpanStatusCode.UNSET, + message: error.message + }); + throw error; + } finally { + span.end(); + } + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getTriggersByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: "/triggers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TriggerListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateTriggerOperationSpec: coreClient.OperationSpec = { + path: "/triggers/{triggerName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.TriggerResource + }, + 201: { + bodyMapper: Mappers.TriggerResource + }, + 202: { + bodyMapper: Mappers.TriggerResource + }, + 204: { + bodyMapper: Mappers.TriggerResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.trigger, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.triggerName], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.ifMatch + ], + mediaType: "json", + serializer +}; +const getTriggerOperationSpec: coreClient.OperationSpec = { + path: "/triggers/{triggerName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TriggerResource + }, + 304: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.triggerName], + headerParameters: [Parameters.accept, Parameters.ifNoneMatch], + serializer +}; +const deleteTriggerOperationSpec: coreClient.OperationSpec = { + path: "/triggers/{triggerName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.triggerName], + headerParameters: [Parameters.accept], + serializer +}; +const subscribeTriggerToEventsOperationSpec: coreClient.OperationSpec = { + path: "/triggers/{triggerName}/subscribeToEvents", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + 201: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + 202: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + 204: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.triggerName], + headerParameters: [Parameters.accept], + serializer +}; +const getEventSubscriptionStatusOperationSpec: coreClient.OperationSpec = { + path: "/triggers/{triggerName}/getEventSubscriptionStatus", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.triggerName], + headerParameters: [Parameters.accept], + serializer +}; +const unsubscribeTriggerFromEventsOperationSpec: coreClient.OperationSpec = { + path: "/triggers/{triggerName}/unsubscribeFromEvents", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + 201: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + 202: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + 204: { + bodyMapper: Mappers.TriggerSubscriptionOperationStatus + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.triggerName], + headerParameters: [Parameters.accept], + serializer +}; +const startTriggerOperationSpec: coreClient.OperationSpec = { + path: "/triggers/{triggerName}/start", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.triggerName], + headerParameters: [Parameters.accept], + serializer +}; +const stopTriggerOperationSpec: coreClient.OperationSpec = { + path: "/triggers/{triggerName}/stop", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.triggerName], + headerParameters: [Parameters.accept], + serializer +}; +const getTriggersByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TriggerListResponse + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.endpoint, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/synapse/synapse-artifacts/src/operations/triggerRun.ts b/sdk/synapse/synapse-artifacts/src/operations/triggerRunOperations.ts similarity index 61% rename from sdk/synapse/synapse-artifacts/src/operations/triggerRun.ts rename to sdk/synapse/synapse-artifacts/src/operations/triggerRunOperations.ts index 4c0e122b247a..4efb6d4b4a47 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/triggerRun.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/triggerRunOperations.ts @@ -6,21 +6,27 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "../tracing"; -import { TriggerRun } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import { TriggerRunOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; -import { RunFilterParameters, TriggerRunQueryTriggerRunsByWorkspaceResponse } from "../models"; +import { + TriggerRunOperationsRerunTriggerInstanceOptionalParams, + TriggerRunOperationsCancelTriggerInstanceOptionalParams, + RunFilterParameters, + TriggerRunOperationsQueryTriggerRunsByWorkspaceOptionalParams, + TriggerRunOperationsQueryTriggerRunsByWorkspaceResponse +} from "../models"; -/** Class representing a TriggerRun. */ -export class TriggerRunImpl implements TriggerRun { +/** Class representing a TriggerRunOperations. */ +export class TriggerRunOperationsImpl implements TriggerRunOperations { private readonly client: ArtifactsClientContext; /** - * Initialize a new instance of the class TriggerRun class. + * Initialize a new instance of the class TriggerRunOperations class. * @param client Reference to the service client */ constructor(client: ArtifactsClientContext) { @@ -36,26 +42,21 @@ export class TriggerRunImpl implements TriggerRun { async rerunTriggerInstance( triggerName: string, runId: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( + options?: TriggerRunOperationsRerunTriggerInstanceOptionalParams + ): Promise { + const { span } = createSpan( "ArtifactsClient-rerunTriggerInstance", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - runId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { triggerName, runId, options }, rerunTriggerInstanceOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -73,26 +74,21 @@ export class TriggerRunImpl implements TriggerRun { async cancelTriggerInstance( triggerName: string, runId: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( + options?: TriggerRunOperationsCancelTriggerInstanceOptionalParams + ): Promise { + const { span } = createSpan( "ArtifactsClient-cancelTriggerInstance", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - triggerName, - runId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { triggerName, runId, options }, cancelTriggerInstanceOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -108,25 +104,21 @@ export class TriggerRunImpl implements TriggerRun { */ async queryTriggerRunsByWorkspace( filterParameters: RunFilterParameters, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan( + options?: TriggerRunOperationsQueryTriggerRunsByWorkspaceOptionalParams + ): Promise { + const { span } = createSpan( "ArtifactsClient-queryTriggerRunsByWorkspace", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - filterParameters, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { filterParameters, options }, queryTriggerRunsByWorkspaceOperationSpec ); - return result as TriggerRunQueryTriggerRunsByWorkspaceResponse; + return result as TriggerRunOperationsQueryTriggerRunsByWorkspaceResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -136,9 +128,9 @@ export class TriggerRunImpl implements TriggerRun { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const rerunTriggerInstanceOperationSpec: coreHttp.OperationSpec = { +const rerunTriggerInstanceOperationSpec: coreClient.OperationSpec = { path: "/triggers/{triggerName}/triggerRuns/{runId}/rerun", httpMethod: "POST", responses: { @@ -148,11 +140,15 @@ const rerunTriggerInstanceOperationSpec: coreHttp.OperationSpec = { } }, queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.runId, Parameters.triggerName], + urlParameters: [ + Parameters.endpoint, + Parameters.runId, + Parameters.triggerName + ], headerParameters: [Parameters.accept], serializer }; -const cancelTriggerInstanceOperationSpec: coreHttp.OperationSpec = { +const cancelTriggerInstanceOperationSpec: coreClient.OperationSpec = { path: "/triggers/{triggerName}/triggerRuns/{runId}/cancel", httpMethod: "POST", responses: { @@ -162,11 +158,15 @@ const cancelTriggerInstanceOperationSpec: coreHttp.OperationSpec = { } }, queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.runId, Parameters.triggerName], + urlParameters: [ + Parameters.endpoint, + Parameters.runId, + Parameters.triggerName + ], headerParameters: [Parameters.accept], serializer }; -const queryTriggerRunsByWorkspaceOperationSpec: coreHttp.OperationSpec = { +const queryTriggerRunsByWorkspaceOperationSpec: coreClient.OperationSpec = { path: "/queryTriggerRuns", httpMethod: "POST", responses: { diff --git a/sdk/synapse/synapse-artifacts/src/operations/workspaceGitRepoManagement.ts b/sdk/synapse/synapse-artifacts/src/operations/workspaceGitRepoManagement.ts index 40c76f21bef1..91d67b61b950 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/workspaceGitRepoManagement.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/workspaceGitRepoManagement.ts @@ -6,10 +6,10 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "../tracing"; import { WorkspaceGitRepoManagement } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; @@ -20,7 +20,8 @@ import { } from "../models"; /** Class representing a WorkspaceGitRepoManagement. */ -export class WorkspaceGitRepoManagementImpl implements WorkspaceGitRepoManagement { +export class WorkspaceGitRepoManagementImpl + implements WorkspaceGitRepoManagement { private readonly client: ArtifactsClientContext; /** @@ -40,23 +41,19 @@ export class WorkspaceGitRepoManagementImpl implements WorkspaceGitRepoManagemen gitHubAccessTokenRequest: GitHubAccessTokenRequest, options?: WorkspaceGitRepoManagementGetGitHubAccessTokenOptionalParams ): Promise { - const { span, updatedOptions } = createSpan( + const { span } = createSpan( "ArtifactsClient-getGitHubAccessToken", options || {} ); - const operationArguments: coreHttp.OperationArguments = { - gitHubAccessTokenRequest, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; try { const result = await this.client.sendOperationRequest( - operationArguments, + { gitHubAccessTokenRequest, options }, getGitHubAccessTokenOperationSpec ); return result as WorkspaceGitRepoManagementGetGitHubAccessTokenResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -66,9 +63,9 @@ export class WorkspaceGitRepoManagementImpl implements WorkspaceGitRepoManagemen } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const getGitHubAccessTokenOperationSpec: coreHttp.OperationSpec = { +const getGitHubAccessTokenOperationSpec: coreClient.OperationSpec = { path: "/getGitHubAccessToken", httpMethod: "POST", responses: { @@ -79,7 +76,11 @@ const getGitHubAccessTokenOperationSpec: coreHttp.OperationSpec = { requestBody: Parameters.gitHubAccessTokenRequest, queryParameters: [Parameters.apiVersion], urlParameters: [Parameters.endpoint], - headerParameters: [Parameters.accept, Parameters.contentType, Parameters.clientRequestId], + headerParameters: [ + Parameters.accept, + Parameters.contentType, + Parameters.clientRequestId + ], mediaType: "json", serializer }; diff --git a/sdk/synapse/synapse-artifacts/src/operations/workspace.ts b/sdk/synapse/synapse-artifacts/src/operations/workspaceOperations.ts similarity index 55% rename from sdk/synapse/synapse-artifacts/src/operations/workspace.ts rename to sdk/synapse/synapse-artifacts/src/operations/workspaceOperations.ts index 687ad4376f23..cc9a8d559438 100644 --- a/sdk/synapse/synapse-artifacts/src/operations/workspace.ts +++ b/sdk/synapse/synapse-artifacts/src/operations/workspaceOperations.ts @@ -6,21 +6,24 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { SpanStatusCode } from "@azure/core-tracing"; import { createSpan } from "../tracing"; -import { Workspace } from "../operationsInterfaces"; -import * as coreHttp from "@azure/core-http"; +import { WorkspaceOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { ArtifactsClientContext } from "../artifactsClientContext"; -import { WorkspaceGetResponse } from "../models"; +import { + WorkspaceOperationsGetOptionalParams, + WorkspaceOperationsGetResponse +} from "../models"; -/** Class representing a Workspace. */ -export class WorkspaceImpl implements Workspace { +/** Class representing a WorkspaceOperations. */ +export class WorkspaceOperationsImpl implements WorkspaceOperations { private readonly client: ArtifactsClientContext; /** - * Initialize a new instance of the class Workspace class. + * Initialize a new instance of the class WorkspaceOperations class. * @param client Reference to the service client */ constructor(client: ArtifactsClientContext) { @@ -31,17 +34,19 @@ export class WorkspaceImpl implements Workspace { * Get Workspace * @param options The options parameters. */ - async get(options?: coreHttp.OperationOptions): Promise { - const { span, updatedOptions } = createSpan("ArtifactsClient-get", options || {}); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions || {}) - }; + async get( + options?: WorkspaceOperationsGetOptionalParams + ): Promise { + const { span } = createSpan("ArtifactsClient-get", options || {}); try { - const result = await this.client.sendOperationRequest(operationArguments, getOperationSpec); - return result as WorkspaceGetResponse; + const result = await this.client.sendOperationRequest( + { options }, + getOperationSpec + ); + return result as WorkspaceOperationsGetResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -51,9 +56,9 @@ export class WorkspaceImpl implements Workspace { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const getOperationSpec: coreHttp.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { path: "/workspace", httpMethod: "GET", responses: { diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/bigDataPools.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/bigDataPools.ts index 6cd8be3e6946..aba28fbdd756 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/bigDataPools.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/bigDataPools.ts @@ -6,8 +6,12 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; -import { BigDataPoolsListResponse, BigDataPoolsGetResponse } from "../models"; +import { + BigDataPoolsListOptionalParams, + BigDataPoolsListResponse, + BigDataPoolsGetOptionalParams, + BigDataPoolsGetResponse +} from "../models"; /** Interface representing a BigDataPools. */ export interface BigDataPools { @@ -15,7 +19,9 @@ export interface BigDataPools { * List Big Data Pools * @param options The options parameters. */ - list(options?: coreHttp.OperationOptions): Promise; + list( + options?: BigDataPoolsListOptionalParams + ): Promise; /** * Get Big Data Pool * @param bigDataPoolName The Big Data Pool name @@ -23,6 +29,6 @@ export interface BigDataPools { */ get( bigDataPoolName: string, - options?: coreHttp.OperationOptions + options?: BigDataPoolsGetOptionalParams ): Promise; } diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlow.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlow.ts deleted file mode 100644 index 9ad9e26b9cbe..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlow.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; -import { - DataFlowResource, - DataFlowCreateOrUpdateDataFlowOptionalParams, - DataFlowCreateOrUpdateDataFlowResponse, - DataFlowGetDataFlowOptionalParams, - DataFlowGetDataFlowResponse, - ArtifactRenameRequest -} from "../models"; - -/// -/** Interface representing a DataFlow. */ -export interface DataFlow { - /** - * Lists data flows. - * @param options The options parameters. - */ - listDataFlowsByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Creates or updates a data flow. - * @param dataFlowName The data flow name. - * @param dataFlow Data flow resource definition. - * @param options The options parameters. - */ - createOrUpdateDataFlow( - dataFlowName: string, - dataFlow: DataFlowResource, - options?: DataFlowCreateOrUpdateDataFlowOptionalParams - ): Promise>; - /** - * Gets a data flow. - * @param dataFlowName The data flow name. - * @param options The options parameters. - */ - getDataFlow( - dataFlowName: string, - options?: DataFlowGetDataFlowOptionalParams - ): Promise; - /** - * Deletes a data flow. - * @param dataFlowName The data flow name. - * @param options The options parameters. - */ - deleteDataFlow( - dataFlowName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Renames a dataflow. - * @param dataFlowName The data flow name. - * @param request proposed new name. - * @param options The options parameters. - */ - renameDataFlow( - dataFlowName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise>; -} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlowDebugSession.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlowDebugSession.ts index ff975c209fcd..d2875320878b 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlowDebugSession.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlowDebugSession.ts @@ -8,16 +8,20 @@ import "@azure/core-paging"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; import { DataFlowDebugSessionInfo, + DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams, CreateDataFlowDebugSessionRequest, + DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams, DataFlowDebugSessionCreateDataFlowDebugSessionResponse, DataFlowDebugPackage, + DataFlowDebugSessionAddDataFlowOptionalParams, DataFlowDebugSessionAddDataFlowResponse, DeleteDataFlowDebugSessionRequest, + DataFlowDebugSessionDeleteDataFlowDebugSessionOptionalParams, DataFlowDebugCommandRequest, + DataFlowDebugSessionExecuteCommandOptionalParams, DataFlowDebugSessionExecuteCommandResponse } from "../models"; @@ -29,17 +33,33 @@ export interface DataFlowDebugSession { * @param options The options parameters. */ listQueryDataFlowDebugSessionsByWorkspace( - options?: coreHttp.OperationOptions + options?: DataFlowDebugSessionQueryDataFlowDebugSessionsByWorkspaceOptionalParams ): PagedAsyncIterableIterator; /** * Creates a data flow debug session. * @param request Data flow debug session definition * @param options The options parameters. */ - createDataFlowDebugSession( + beginCreateDataFlowDebugSession( request: CreateDataFlowDebugSessionRequest, - options?: coreHttp.OperationOptions - ): Promise>; + options?: DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + DataFlowDebugSessionCreateDataFlowDebugSessionResponse + >, + DataFlowDebugSessionCreateDataFlowDebugSessionResponse + > + >; + /** + * Creates a data flow debug session. + * @param request Data flow debug session definition + * @param options The options parameters. + */ + beginCreateDataFlowDebugSessionAndWait( + request: CreateDataFlowDebugSessionRequest, + options?: DataFlowDebugSessionCreateDataFlowDebugSessionOptionalParams + ): Promise; /** * Add a data flow into debug session. * @param request Data flow debug session definition with debug content. @@ -47,7 +67,7 @@ export interface DataFlowDebugSession { */ addDataFlow( request: DataFlowDebugPackage, - options?: coreHttp.OperationOptions + options?: DataFlowDebugSessionAddDataFlowOptionalParams ): Promise; /** * Deletes a data flow debug session. @@ -56,15 +76,29 @@ export interface DataFlowDebugSession { */ deleteDataFlowDebugSession( request: DeleteDataFlowDebugSessionRequest, - options?: coreHttp.OperationOptions - ): Promise; + options?: DataFlowDebugSessionDeleteDataFlowDebugSessionOptionalParams + ): Promise; + /** + * Execute a data flow debug command. + * @param request Data flow debug command definition. + * @param options The options parameters. + */ + beginExecuteCommand( + request: DataFlowDebugCommandRequest, + options?: DataFlowDebugSessionExecuteCommandOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DataFlowDebugSessionExecuteCommandResponse + > + >; /** * Execute a data flow debug command. * @param request Data flow debug command definition. * @param options The options parameters. */ - executeCommand( + beginExecuteCommandAndWait( request: DataFlowDebugCommandRequest, - options?: coreHttp.OperationOptions - ): Promise>; + options?: DataFlowDebugSessionExecuteCommandOptionalParams + ): Promise; } diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlowOperations.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlowOperations.ts new file mode 100644 index 000000000000..cad3f7092679 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataFlowOperations.ts @@ -0,0 +1,110 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + DataFlowResource, + DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams, + DataFlowOperationsCreateOrUpdateDataFlowOptionalParams, + DataFlowOperationsCreateOrUpdateDataFlowResponse, + DataFlowOperationsGetDataFlowOptionalParams, + DataFlowOperationsGetDataFlowResponse, + DataFlowOperationsDeleteDataFlowOptionalParams, + ArtifactRenameRequest, + DataFlowOperationsRenameDataFlowOptionalParams +} from "../models"; + +/// +/** Interface representing a DataFlowOperations. */ +export interface DataFlowOperations { + /** + * Lists data flows. + * @param options The options parameters. + */ + listDataFlowsByWorkspace( + options?: DataFlowOperationsGetDataFlowsByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a data flow. + * @param dataFlowName The data flow name. + * @param dataFlow Data flow resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateDataFlow( + dataFlowName: string, + dataFlow: DataFlowResource, + options?: DataFlowOperationsCreateOrUpdateDataFlowOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DataFlowOperationsCreateOrUpdateDataFlowResponse + > + >; + /** + * Creates or updates a data flow. + * @param dataFlowName The data flow name. + * @param dataFlow Data flow resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateDataFlowAndWait( + dataFlowName: string, + dataFlow: DataFlowResource, + options?: DataFlowOperationsCreateOrUpdateDataFlowOptionalParams + ): Promise; + /** + * Gets a data flow. + * @param dataFlowName The data flow name. + * @param options The options parameters. + */ + getDataFlow( + dataFlowName: string, + options?: DataFlowOperationsGetDataFlowOptionalParams + ): Promise; + /** + * Deletes a data flow. + * @param dataFlowName The data flow name. + * @param options The options parameters. + */ + beginDeleteDataFlow( + dataFlowName: string, + options?: DataFlowOperationsDeleteDataFlowOptionalParams + ): Promise, void>>; + /** + * Deletes a data flow. + * @param dataFlowName The data flow name. + * @param options The options parameters. + */ + beginDeleteDataFlowAndWait( + dataFlowName: string, + options?: DataFlowOperationsDeleteDataFlowOptionalParams + ): Promise; + /** + * Renames a dataflow. + * @param dataFlowName The data flow name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameDataFlow( + dataFlowName: string, + request: ArtifactRenameRequest, + options?: DataFlowOperationsRenameDataFlowOptionalParams + ): Promise, void>>; + /** + * Renames a dataflow. + * @param dataFlowName The data flow name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameDataFlowAndWait( + dataFlowName: string, + request: ArtifactRenameRequest, + options?: DataFlowOperationsRenameDataFlowOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataset.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataset.ts deleted file mode 100644 index 6ddaa9a408fe..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/dataset.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; -import { - DatasetResource, - DatasetCreateOrUpdateDatasetOptionalParams, - DatasetCreateOrUpdateDatasetResponse, - DatasetGetDatasetOptionalParams, - DatasetGetDatasetResponse, - ArtifactRenameRequest -} from "../models"; - -/// -/** Interface representing a Dataset. */ -export interface Dataset { - /** - * Lists datasets. - * @param options The options parameters. - */ - listDatasetsByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Creates or updates a dataset. - * @param datasetName The dataset name. - * @param dataset Dataset resource definition. - * @param options The options parameters. - */ - createOrUpdateDataset( - datasetName: string, - dataset: DatasetResource, - options?: DatasetCreateOrUpdateDatasetOptionalParams - ): Promise>; - /** - * Gets a dataset. - * @param datasetName The dataset name. - * @param options The options parameters. - */ - getDataset( - datasetName: string, - options?: DatasetGetDatasetOptionalParams - ): Promise; - /** - * Deletes a dataset. - * @param datasetName The dataset name. - * @param options The options parameters. - */ - deleteDataset( - datasetName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Renames a dataset. - * @param datasetName The dataset name. - * @param request proposed new name. - * @param options The options parameters. - */ - renameDataset( - datasetName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise>; -} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/datasetOperations.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/datasetOperations.ts new file mode 100644 index 000000000000..0393875f527d --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/datasetOperations.ts @@ -0,0 +1,110 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + DatasetResource, + DatasetOperationsGetDatasetsByWorkspaceOptionalParams, + DatasetOperationsCreateOrUpdateDatasetOptionalParams, + DatasetOperationsCreateOrUpdateDatasetResponse, + DatasetOperationsGetDatasetOptionalParams, + DatasetOperationsGetDatasetResponse, + DatasetOperationsDeleteDatasetOptionalParams, + ArtifactRenameRequest, + DatasetOperationsRenameDatasetOptionalParams +} from "../models"; + +/// +/** Interface representing a DatasetOperations. */ +export interface DatasetOperations { + /** + * Lists datasets. + * @param options The options parameters. + */ + listDatasetsByWorkspace( + options?: DatasetOperationsGetDatasetsByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a dataset. + * @param datasetName The dataset name. + * @param dataset Dataset resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateDataset( + datasetName: string, + dataset: DatasetResource, + options?: DatasetOperationsCreateOrUpdateDatasetOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DatasetOperationsCreateOrUpdateDatasetResponse + > + >; + /** + * Creates or updates a dataset. + * @param datasetName The dataset name. + * @param dataset Dataset resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateDatasetAndWait( + datasetName: string, + dataset: DatasetResource, + options?: DatasetOperationsCreateOrUpdateDatasetOptionalParams + ): Promise; + /** + * Gets a dataset. + * @param datasetName The dataset name. + * @param options The options parameters. + */ + getDataset( + datasetName: string, + options?: DatasetOperationsGetDatasetOptionalParams + ): Promise; + /** + * Deletes a dataset. + * @param datasetName The dataset name. + * @param options The options parameters. + */ + beginDeleteDataset( + datasetName: string, + options?: DatasetOperationsDeleteDatasetOptionalParams + ): Promise, void>>; + /** + * Deletes a dataset. + * @param datasetName The dataset name. + * @param options The options parameters. + */ + beginDeleteDatasetAndWait( + datasetName: string, + options?: DatasetOperationsDeleteDatasetOptionalParams + ): Promise; + /** + * Renames a dataset. + * @param datasetName The dataset name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameDataset( + datasetName: string, + request: ArtifactRenameRequest, + options?: DatasetOperationsRenameDatasetOptionalParams + ): Promise, void>>; + /** + * Renames a dataset. + * @param datasetName The dataset name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameDatasetAndWait( + datasetName: string, + request: ArtifactRenameRequest, + options?: DatasetOperationsRenameDatasetOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/index.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/index.ts index bf87a2306dd8..44e9f4f8cb66 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/index.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/index.ts @@ -6,18 +6,18 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./linkedService"; -export * from "./dataset"; -export * from "./pipeline"; -export * from "./pipelineRun"; -export * from "./trigger"; -export * from "./triggerRun"; -export * from "./dataFlow"; +export * from "./linkedServiceOperations"; +export * from "./datasetOperations"; +export * from "./pipelineOperations"; +export * from "./pipelineRunOperations"; +export * from "./triggerOperations"; +export * from "./triggerRunOperations"; +export * from "./dataFlowOperations"; export * from "./dataFlowDebugSession"; -export * from "./sqlScript"; -export * from "./sparkJobDefinition"; -export * from "./notebook"; -export * from "./workspace"; +export * from "./sqlScriptOperations"; +export * from "./sparkJobDefinitionOperations"; +export * from "./notebookOperations"; +export * from "./workspaceOperations"; export * from "./sqlPools"; export * from "./bigDataPools"; export * from "./integrationRuntimes"; diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/integrationRuntimes.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/integrationRuntimes.ts index e914c29353ff..e1fb1ad68a85 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/integrationRuntimes.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/integrationRuntimes.ts @@ -6,8 +6,12 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; -import { IntegrationRuntimesListResponse, IntegrationRuntimesGetResponse } from "../models"; +import { + IntegrationRuntimesListOptionalParams, + IntegrationRuntimesListResponse, + IntegrationRuntimesGetOptionalParams, + IntegrationRuntimesGetResponse +} from "../models"; /** Interface representing a IntegrationRuntimes. */ export interface IntegrationRuntimes { @@ -15,7 +19,9 @@ export interface IntegrationRuntimes { * List Integration Runtimes * @param options The options parameters. */ - list(options?: coreHttp.OperationOptions): Promise; + list( + options?: IntegrationRuntimesListOptionalParams + ): Promise; /** * Get Integration Runtime * @param integrationRuntimeName The Integration Runtime name @@ -23,6 +29,6 @@ export interface IntegrationRuntimes { */ get( integrationRuntimeName: string, - options?: coreHttp.OperationOptions + options?: IntegrationRuntimesGetOptionalParams ): Promise; } diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/library.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/library.ts index ba7e83aa3805..91db2d886524 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/library.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/library.ts @@ -8,12 +8,18 @@ import "@azure/core-paging"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; +import * as coreRestPipeline from "@azure/core-rest-pipeline"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; import { LibraryResource, + LibraryListOptionalParams, + LibraryFlushOptionalParams, + LibraryGetOperationResultOptionalParams, LibraryGetOperationResultResponse, + LibraryDeleteOptionalParams, + LibraryGetOptionalParams, LibraryGetResponse, + LibraryCreateOptionalParams, LibraryAppendOptionalParams } from "../models"; @@ -24,17 +30,29 @@ export interface Library { * Lists Library. * @param options The options parameters. */ - list(options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; + list( + options?: LibraryListOptionalParams + ): PagedAsyncIterableIterator; /** * Flush Library * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the * extension length. * @param options The options parameters. */ - flush( + beginFlush( libraryName: string, - options?: coreHttp.OperationOptions - ): Promise>; + options?: LibraryFlushOptionalParams + ): Promise, void>>; + /** + * Flush Library + * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the + * extension length. + * @param options The options parameters. + */ + beginFlushAndWait( + libraryName: string, + options?: LibraryFlushOptionalParams + ): Promise; /** * Get Operation result for Library * @param operationId operation id for which status is requested @@ -42,7 +60,7 @@ export interface Library { */ getOperationResult( operationId: string, - options?: coreHttp.OperationOptions + options?: LibraryGetOperationResultOptionalParams ): Promise; /** * Delete Library @@ -50,27 +68,50 @@ export interface Library { * extension length. * @param options The options parameters. */ - delete( + beginDelete( + libraryName: string, + options?: LibraryDeleteOptionalParams + ): Promise, void>>; + /** + * Delete Library + * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the + * extension length. + * @param options The options parameters. + */ + beginDeleteAndWait( libraryName: string, - options?: coreHttp.OperationOptions - ): Promise>; + options?: LibraryDeleteOptionalParams + ): Promise; /** * Get Library * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the * extension length. * @param options The options parameters. */ - get(libraryName: string, options?: coreHttp.OperationOptions): Promise; + get( + libraryName: string, + options?: LibraryGetOptionalParams + ): Promise; + /** + * Creates a library with the library name. + * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the + * extension length. + * @param options The options parameters. + */ + beginCreate( + libraryName: string, + options?: LibraryCreateOptionalParams + ): Promise, void>>; /** * Creates a library with the library name. * @param libraryName file name to upload. Minimum length of the filename should be 1 excluding the * extension length. * @param options The options parameters. */ - create( + beginCreateAndWait( libraryName: string, - options?: coreHttp.OperationOptions - ): Promise>; + options?: LibraryCreateOptionalParams + ): Promise; /** * Append the content to the library resource created using the create operation. The maximum content * size is 4MiB. Content larger than 4MiB must be appended in 4MiB chunks @@ -81,7 +122,7 @@ export interface Library { */ append( libraryName: string, - content: coreHttp.HttpRequestBody, + content: coreRestPipeline.RequestBodyType, options?: LibraryAppendOptionalParams - ): Promise; + ): Promise; } diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/linkedService.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/linkedService.ts deleted file mode 100644 index e407c4a3773e..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/linkedService.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; -import { - LinkedServiceResource, - LinkedServiceCreateOrUpdateLinkedServiceOptionalParams, - LinkedServiceCreateOrUpdateLinkedServiceResponse, - LinkedServiceGetLinkedServiceOptionalParams, - LinkedServiceGetLinkedServiceResponse, - ArtifactRenameRequest -} from "../models"; - -/// -/** Interface representing a LinkedService. */ -export interface LinkedService { - /** - * Lists linked services. - * @param options The options parameters. - */ - listLinkedServicesByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Creates or updates a linked service. - * @param linkedServiceName The linked service name. - * @param linkedService Linked service resource definition. - * @param options The options parameters. - */ - createOrUpdateLinkedService( - linkedServiceName: string, - linkedService: LinkedServiceResource, - options?: LinkedServiceCreateOrUpdateLinkedServiceOptionalParams - ): Promise>; - /** - * Gets a linked service. - * @param linkedServiceName The linked service name. - * @param options The options parameters. - */ - getLinkedService( - linkedServiceName: string, - options?: LinkedServiceGetLinkedServiceOptionalParams - ): Promise; - /** - * Deletes a linked service. - * @param linkedServiceName The linked service name. - * @param options The options parameters. - */ - deleteLinkedService( - linkedServiceName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Renames a linked service. - * @param linkedServiceName The linked service name. - * @param request proposed new name. - * @param options The options parameters. - */ - renameLinkedService( - linkedServiceName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise>; -} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/linkedServiceOperations.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/linkedServiceOperations.ts new file mode 100644 index 000000000000..e11bf9026be1 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/linkedServiceOperations.ts @@ -0,0 +1,112 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + LinkedServiceResource, + LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams, + LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams, + LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse, + LinkedServiceOperationsGetLinkedServiceOptionalParams, + LinkedServiceOperationsGetLinkedServiceResponse, + LinkedServiceOperationsDeleteLinkedServiceOptionalParams, + ArtifactRenameRequest, + LinkedServiceOperationsRenameLinkedServiceOptionalParams +} from "../models"; + +/// +/** Interface representing a LinkedServiceOperations. */ +export interface LinkedServiceOperations { + /** + * Lists linked services. + * @param options The options parameters. + */ + listLinkedServicesByWorkspace( + options?: LinkedServiceOperationsGetLinkedServicesByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a linked service. + * @param linkedServiceName The linked service name. + * @param linkedService Linked service resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateLinkedService( + linkedServiceName: string, + linkedService: LinkedServiceResource, + options?: LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams + ): Promise< + PollerLike< + PollOperationState< + LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse + >, + LinkedServiceOperationsCreateOrUpdateLinkedServiceResponse + > + >; + /** + * Creates or updates a linked service. + * @param linkedServiceName The linked service name. + * @param linkedService Linked service resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateLinkedServiceAndWait( + linkedServiceName: string, + linkedService: LinkedServiceResource, + options?: LinkedServiceOperationsCreateOrUpdateLinkedServiceOptionalParams + ): Promise; + /** + * Gets a linked service. + * @param linkedServiceName The linked service name. + * @param options The options parameters. + */ + getLinkedService( + linkedServiceName: string, + options?: LinkedServiceOperationsGetLinkedServiceOptionalParams + ): Promise; + /** + * Deletes a linked service. + * @param linkedServiceName The linked service name. + * @param options The options parameters. + */ + beginDeleteLinkedService( + linkedServiceName: string, + options?: LinkedServiceOperationsDeleteLinkedServiceOptionalParams + ): Promise, void>>; + /** + * Deletes a linked service. + * @param linkedServiceName The linked service name. + * @param options The options parameters. + */ + beginDeleteLinkedServiceAndWait( + linkedServiceName: string, + options?: LinkedServiceOperationsDeleteLinkedServiceOptionalParams + ): Promise; + /** + * Renames a linked service. + * @param linkedServiceName The linked service name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameLinkedService( + linkedServiceName: string, + request: ArtifactRenameRequest, + options?: LinkedServiceOperationsRenameLinkedServiceOptionalParams + ): Promise, void>>; + /** + * Renames a linked service. + * @param linkedServiceName The linked service name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameLinkedServiceAndWait( + linkedServiceName: string, + request: ArtifactRenameRequest, + options?: LinkedServiceOperationsRenameLinkedServiceOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/notebook.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/notebook.ts deleted file mode 100644 index 580dcd8996d5..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/notebook.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * 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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; -import { - NotebookResource, - NotebookCreateOrUpdateNotebookOptionalParams, - NotebookCreateOrUpdateNotebookResponse, - NotebookGetNotebookOptionalParams, - NotebookGetNotebookResponse, - ArtifactRenameRequest -} from "../models"; - -/// -/** Interface representing a Notebook. */ -export interface Notebook { - /** - * Lists Notebooks. - * @param options The options parameters. - */ - listNotebooksByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Lists a summary of Notebooks. - * @param options The options parameters. - */ - listNotebookSummaryByWorkSpace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Creates or updates a Note Book. - * @param notebookName The notebook name. - * @param notebook Note book resource definition. - * @param options The options parameters. - */ - createOrUpdateNotebook( - notebookName: string, - notebook: NotebookResource, - options?: NotebookCreateOrUpdateNotebookOptionalParams - ): Promise>; - /** - * Gets a Note Book. - * @param notebookName The notebook name. - * @param options The options parameters. - */ - getNotebook( - notebookName: string, - options?: NotebookGetNotebookOptionalParams - ): Promise; - /** - * Deletes a Note book. - * @param notebookName The notebook name. - * @param options The options parameters. - */ - deleteNotebook( - notebookName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Renames a notebook. - * @param notebookName The notebook name. - * @param request proposed new name. - * @param options The options parameters. - */ - renameNotebook( - notebookName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise>; -} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/notebookOperations.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/notebookOperations.ts new file mode 100644 index 000000000000..6ab6ca2317b7 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/notebookOperations.ts @@ -0,0 +1,118 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + NotebookResource, + NotebookOperationsGetNotebooksByWorkspaceOptionalParams, + NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams, + NotebookOperationsCreateOrUpdateNotebookOptionalParams, + NotebookOperationsCreateOrUpdateNotebookResponse, + NotebookOperationsGetNotebookOptionalParams, + NotebookOperationsGetNotebookResponse, + NotebookOperationsDeleteNotebookOptionalParams, + ArtifactRenameRequest, + NotebookOperationsRenameNotebookOptionalParams +} from "../models"; + +/// +/** Interface representing a NotebookOperations. */ +export interface NotebookOperations { + /** + * Lists Notebooks. + * @param options The options parameters. + */ + listNotebooksByWorkspace( + options?: NotebookOperationsGetNotebooksByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists a summary of Notebooks. + * @param options The options parameters. + */ + listNotebookSummaryByWorkSpace( + options?: NotebookOperationsGetNotebookSummaryByWorkSpaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a Note Book. + * @param notebookName The notebook name. + * @param notebook Note book resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateNotebook( + notebookName: string, + notebook: NotebookResource, + options?: NotebookOperationsCreateOrUpdateNotebookOptionalParams + ): Promise< + PollerLike< + PollOperationState, + NotebookOperationsCreateOrUpdateNotebookResponse + > + >; + /** + * Creates or updates a Note Book. + * @param notebookName The notebook name. + * @param notebook Note book resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateNotebookAndWait( + notebookName: string, + notebook: NotebookResource, + options?: NotebookOperationsCreateOrUpdateNotebookOptionalParams + ): Promise; + /** + * Gets a Note Book. + * @param notebookName The notebook name. + * @param options The options parameters. + */ + getNotebook( + notebookName: string, + options?: NotebookOperationsGetNotebookOptionalParams + ): Promise; + /** + * Deletes a Note book. + * @param notebookName The notebook name. + * @param options The options parameters. + */ + beginDeleteNotebook( + notebookName: string, + options?: NotebookOperationsDeleteNotebookOptionalParams + ): Promise, void>>; + /** + * Deletes a Note book. + * @param notebookName The notebook name. + * @param options The options parameters. + */ + beginDeleteNotebookAndWait( + notebookName: string, + options?: NotebookOperationsDeleteNotebookOptionalParams + ): Promise; + /** + * Renames a notebook. + * @param notebookName The notebook name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameNotebook( + notebookName: string, + request: ArtifactRenameRequest, + options?: NotebookOperationsRenameNotebookOptionalParams + ): Promise, void>>; + /** + * Renames a notebook. + * @param notebookName The notebook name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameNotebookAndWait( + notebookName: string, + request: ArtifactRenameRequest, + options?: NotebookOperationsRenameNotebookOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipeline.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipeline.ts deleted file mode 100644 index ee93d5be9287..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipeline.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * 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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; -import { - PipelineResource, - PipelineCreateOrUpdatePipelineOptionalParams, - PipelineCreateOrUpdatePipelineResponse, - PipelineGetPipelineOptionalParams, - PipelineGetPipelineResponse, - ArtifactRenameRequest, - PipelineCreatePipelineRunOptionalParams, - PipelineCreatePipelineRunResponse -} from "../models"; - -/// -/** Interface representing a Pipeline. */ -export interface Pipeline { - /** - * Lists pipelines. - * @param options The options parameters. - */ - listPipelinesByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Creates or updates a pipeline. - * @param pipelineName The pipeline name. - * @param pipeline Pipeline resource definition. - * @param options The options parameters. - */ - createOrUpdatePipeline( - pipelineName: string, - pipeline: PipelineResource, - options?: PipelineCreateOrUpdatePipelineOptionalParams - ): Promise>; - /** - * Gets a pipeline. - * @param pipelineName The pipeline name. - * @param options The options parameters. - */ - getPipeline( - pipelineName: string, - options?: PipelineGetPipelineOptionalParams - ): Promise; - /** - * Deletes a pipeline. - * @param pipelineName The pipeline name. - * @param options The options parameters. - */ - deletePipeline( - pipelineName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Renames a pipeline. - * @param pipelineName The pipeline name. - * @param request proposed new name. - * @param options The options parameters. - */ - renamePipeline( - pipelineName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Creates a run of a pipeline. - * @param pipelineName The pipeline name. - * @param options The options parameters. - */ - createPipelineRun( - pipelineName: string, - options?: PipelineCreatePipelineRunOptionalParams - ): Promise; -} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineOperations.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineOperations.ts new file mode 100644 index 000000000000..e0d54d226026 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineOperations.ts @@ -0,0 +1,121 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + PipelineResource, + PipelineOperationsGetPipelinesByWorkspaceOptionalParams, + PipelineOperationsCreateOrUpdatePipelineOptionalParams, + PipelineOperationsCreateOrUpdatePipelineResponse, + PipelineOperationsGetPipelineOptionalParams, + PipelineOperationsGetPipelineResponse, + PipelineOperationsDeletePipelineOptionalParams, + ArtifactRenameRequest, + PipelineOperationsRenamePipelineOptionalParams, + PipelineOperationsCreatePipelineRunOptionalParams, + PipelineOperationsCreatePipelineRunResponse +} from "../models"; + +/// +/** Interface representing a PipelineOperations. */ +export interface PipelineOperations { + /** + * Lists pipelines. + * @param options The options parameters. + */ + listPipelinesByWorkspace( + options?: PipelineOperationsGetPipelinesByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a pipeline. + * @param pipelineName The pipeline name. + * @param pipeline Pipeline resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdatePipeline( + pipelineName: string, + pipeline: PipelineResource, + options?: PipelineOperationsCreateOrUpdatePipelineOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PipelineOperationsCreateOrUpdatePipelineResponse + > + >; + /** + * Creates or updates a pipeline. + * @param pipelineName The pipeline name. + * @param pipeline Pipeline resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdatePipelineAndWait( + pipelineName: string, + pipeline: PipelineResource, + options?: PipelineOperationsCreateOrUpdatePipelineOptionalParams + ): Promise; + /** + * Gets a pipeline. + * @param pipelineName The pipeline name. + * @param options The options parameters. + */ + getPipeline( + pipelineName: string, + options?: PipelineOperationsGetPipelineOptionalParams + ): Promise; + /** + * Deletes a pipeline. + * @param pipelineName The pipeline name. + * @param options The options parameters. + */ + beginDeletePipeline( + pipelineName: string, + options?: PipelineOperationsDeletePipelineOptionalParams + ): Promise, void>>; + /** + * Deletes a pipeline. + * @param pipelineName The pipeline name. + * @param options The options parameters. + */ + beginDeletePipelineAndWait( + pipelineName: string, + options?: PipelineOperationsDeletePipelineOptionalParams + ): Promise; + /** + * Renames a pipeline. + * @param pipelineName The pipeline name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenamePipeline( + pipelineName: string, + request: ArtifactRenameRequest, + options?: PipelineOperationsRenamePipelineOptionalParams + ): Promise, void>>; + /** + * Renames a pipeline. + * @param pipelineName The pipeline name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenamePipelineAndWait( + pipelineName: string, + request: ArtifactRenameRequest, + options?: PipelineOperationsRenamePipelineOptionalParams + ): Promise; + /** + * Creates a run of a pipeline. + * @param pipelineName The pipeline name. + * @param options The options parameters. + */ + createPipelineRun( + pipelineName: string, + options?: PipelineOperationsCreatePipelineRunOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineRun.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineRunOperations.ts similarity index 57% rename from sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineRun.ts rename to sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineRunOperations.ts index ca9ddbfd7ae8..37e91fa06b60 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineRun.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/pipelineRunOperations.ts @@ -6,17 +6,19 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; import { RunFilterParameters, - PipelineRunQueryPipelineRunsByWorkspaceResponse, - PipelineRunGetPipelineRunResponse, - PipelineRunQueryActivityRunsResponse, - PipelineRunCancelPipelineRunOptionalParams + PipelineRunOperationsQueryPipelineRunsByWorkspaceOptionalParams, + PipelineRunOperationsQueryPipelineRunsByWorkspaceResponse, + PipelineRunOperationsGetPipelineRunOptionalParams, + PipelineRunOperationsGetPipelineRunResponse, + PipelineRunOperationsQueryActivityRunsOptionalParams, + PipelineRunOperationsQueryActivityRunsResponse, + PipelineRunOperationsCancelPipelineRunOptionalParams } from "../models"; -/** Interface representing a PipelineRun. */ -export interface PipelineRun { +/** Interface representing a PipelineRunOperations. */ +export interface PipelineRunOperations { /** * Query pipeline runs in the workspace based on input filter conditions. * @param filterParameters Parameters to filter the pipeline run. @@ -24,8 +26,8 @@ export interface PipelineRun { */ queryPipelineRunsByWorkspace( filterParameters: RunFilterParameters, - options?: coreHttp.OperationOptions - ): Promise; + options?: PipelineRunOperationsQueryPipelineRunsByWorkspaceOptionalParams + ): Promise; /** * Get a pipeline run by its run ID. * @param runId The pipeline run identifier. @@ -33,8 +35,8 @@ export interface PipelineRun { */ getPipelineRun( runId: string, - options?: coreHttp.OperationOptions - ): Promise; + options?: PipelineRunOperationsGetPipelineRunOptionalParams + ): Promise; /** * Query activity runs based on input filter conditions. * @param pipelineName The pipeline name. @@ -46,8 +48,8 @@ export interface PipelineRun { pipelineName: string, runId: string, filterParameters: RunFilterParameters, - options?: coreHttp.OperationOptions - ): Promise; + options?: PipelineRunOperationsQueryActivityRunsOptionalParams + ): Promise; /** * Cancel a pipeline run by its run ID. * @param runId The pipeline run identifier. @@ -55,6 +57,6 @@ export interface PipelineRun { */ cancelPipelineRun( runId: string, - options?: PipelineRunCancelPipelineRunOptionalParams - ): Promise; + options?: PipelineRunOperationsCancelPipelineRunOptionalParams + ): Promise; } diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sparkJobDefinition.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sparkJobDefinition.ts deleted file mode 100644 index 7672cbb59714..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sparkJobDefinition.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* - * 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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; -import { - SparkJobDefinitionResource, - SparkJobDefinitionCreateOrUpdateSparkJobDefinitionOptionalParams, - SparkJobDefinitionCreateOrUpdateSparkJobDefinitionResponse, - SparkJobDefinitionGetSparkJobDefinitionOptionalParams, - SparkJobDefinitionGetSparkJobDefinitionResponse, - SparkJobDefinitionExecuteSparkJobDefinitionResponse, - ArtifactRenameRequest, - SparkJobDefinitionDebugSparkJobDefinitionResponse -} from "../models"; - -/// -/** Interface representing a SparkJobDefinition. */ -export interface SparkJobDefinition { - /** - * Lists spark job definitions. - * @param options The options parameters. - */ - listSparkJobDefinitionsByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Creates or updates a Spark Job Definition. - * @param sparkJobDefinitionName The spark job definition name. - * @param sparkJobDefinition Spark Job Definition resource definition. - * @param options The options parameters. - */ - createOrUpdateSparkJobDefinition( - sparkJobDefinitionName: string, - sparkJobDefinition: SparkJobDefinitionResource, - options?: SparkJobDefinitionCreateOrUpdateSparkJobDefinitionOptionalParams - ): Promise>; - /** - * Gets a Spark Job Definition. - * @param sparkJobDefinitionName The spark job definition name. - * @param options The options parameters. - */ - getSparkJobDefinition( - sparkJobDefinitionName: string, - options?: SparkJobDefinitionGetSparkJobDefinitionOptionalParams - ): Promise; - /** - * Deletes a Spark Job Definition. - * @param sparkJobDefinitionName The spark job definition name. - * @param options The options parameters. - */ - deleteSparkJobDefinition( - sparkJobDefinitionName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Executes the spark job definition. - * @param sparkJobDefinitionName The spark job definition name. - * @param options The options parameters. - */ - executeSparkJobDefinition( - sparkJobDefinitionName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Renames a sparkJobDefinition. - * @param sparkJobDefinitionName The spark job definition name. - * @param request proposed new name. - * @param options The options parameters. - */ - renameSparkJobDefinition( - sparkJobDefinitionName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Debug the spark job definition. - * @param sparkJobDefinitionAzureResource Spark Job Definition resource definition. - * @param options The options parameters. - */ - debugSparkJobDefinition( - sparkJobDefinitionAzureResource: SparkJobDefinitionResource, - options?: coreHttp.OperationOptions - ): Promise>; -} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sparkJobDefinitionOperations.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sparkJobDefinitionOperations.ts new file mode 100644 index 000000000000..d80f14f39824 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sparkJobDefinitionOperations.ts @@ -0,0 +1,168 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + SparkJobDefinitionResource, + SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams, + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse, + SparkJobDefinitionOperationsGetSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsGetSparkJobDefinitionResponse, + SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse, + ArtifactRenameRequest, + SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams, + SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse +} from "../models"; + +/// +/** Interface representing a SparkJobDefinitionOperations. */ +export interface SparkJobDefinitionOperations { + /** + * Lists spark job definitions. + * @param options The options parameters. + */ + listSparkJobDefinitionsByWorkspace( + options?: SparkJobDefinitionOperationsGetSparkJobDefinitionsByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param sparkJobDefinition Spark Job Definition resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateSparkJobDefinition( + sparkJobDefinitionName: string, + sparkJobDefinition: SparkJobDefinitionResource, + options?: SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse + >, + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse + > + >; + /** + * Creates or updates a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param sparkJobDefinition Spark Job Definition resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateSparkJobDefinitionAndWait( + sparkJobDefinitionName: string, + sparkJobDefinition: SparkJobDefinitionResource, + options?: SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionOptionalParams + ): Promise< + SparkJobDefinitionOperationsCreateOrUpdateSparkJobDefinitionResponse + >; + /** + * Gets a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + getSparkJobDefinition( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsGetSparkJobDefinitionOptionalParams + ): Promise; + /** + * Deletes a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + beginDeleteSparkJobDefinition( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams + ): Promise, void>>; + /** + * Deletes a Spark Job Definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + beginDeleteSparkJobDefinitionAndWait( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsDeleteSparkJobDefinitionOptionalParams + ): Promise; + /** + * Executes the spark job definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + beginExecuteSparkJobDefinition( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse + >, + SparkJobDefinitionOperationsExecuteSparkJobDefinitionResponse + > + >; + /** + * Executes the spark job definition. + * @param sparkJobDefinitionName The spark job definition name. + * @param options The options parameters. + */ + beginExecuteSparkJobDefinitionAndWait( + sparkJobDefinitionName: string, + options?: SparkJobDefinitionOperationsExecuteSparkJobDefinitionOptionalParams + ): Promise; + /** + * Renames a sparkJobDefinition. + * @param sparkJobDefinitionName The spark job definition name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameSparkJobDefinition( + sparkJobDefinitionName: string, + request: ArtifactRenameRequest, + options?: SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams + ): Promise, void>>; + /** + * Renames a sparkJobDefinition. + * @param sparkJobDefinitionName The spark job definition name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameSparkJobDefinitionAndWait( + sparkJobDefinitionName: string, + request: ArtifactRenameRequest, + options?: SparkJobDefinitionOperationsRenameSparkJobDefinitionOptionalParams + ): Promise; + /** + * Debug the spark job definition. + * @param sparkJobDefinitionAzureResource Spark Job Definition resource definition. + * @param options The options parameters. + */ + beginDebugSparkJobDefinition( + sparkJobDefinitionAzureResource: SparkJobDefinitionResource, + options?: SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse + >, + SparkJobDefinitionOperationsDebugSparkJobDefinitionResponse + > + >; + /** + * Debug the spark job definition. + * @param sparkJobDefinitionAzureResource Spark Job Definition resource definition. + * @param options The options parameters. + */ + beginDebugSparkJobDefinitionAndWait( + sparkJobDefinitionAzureResource: SparkJobDefinitionResource, + options?: SparkJobDefinitionOperationsDebugSparkJobDefinitionOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlPools.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlPools.ts index 772fdb484488..ea61698cc7d2 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlPools.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlPools.ts @@ -6,8 +6,12 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; -import { SqlPoolsListResponse, SqlPoolsGetResponse } from "../models"; +import { + SqlPoolsListOptionalParams, + SqlPoolsListResponse, + SqlPoolsGetOptionalParams, + SqlPoolsGetResponse +} from "../models"; /** Interface representing a SqlPools. */ export interface SqlPools { @@ -15,11 +19,14 @@ export interface SqlPools { * List Sql Pools * @param options The options parameters. */ - list(options?: coreHttp.OperationOptions): Promise; + list(options?: SqlPoolsListOptionalParams): Promise; /** * Get Sql Pool * @param sqlPoolName The Sql Pool name * @param options The options parameters. */ - get(sqlPoolName: string, options?: coreHttp.OperationOptions): Promise; + get( + sqlPoolName: string, + options?: SqlPoolsGetOptionalParams + ): Promise; } diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlScript.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlScript.ts deleted file mode 100644 index 717a740c11c6..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlScript.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; -import { - SqlScriptResource, - SqlScriptCreateOrUpdateSqlScriptOptionalParams, - SqlScriptCreateOrUpdateSqlScriptResponse, - SqlScriptGetSqlScriptOptionalParams, - SqlScriptGetSqlScriptResponse, - ArtifactRenameRequest -} from "../models"; - -/// -/** Interface representing a SqlScript. */ -export interface SqlScript { - /** - * Lists sql scripts. - * @param options The options parameters. - */ - listSqlScriptsByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Creates or updates a Sql Script. - * @param sqlScriptName The sql script name. - * @param sqlScript Sql Script resource definition. - * @param options The options parameters. - */ - createOrUpdateSqlScript( - sqlScriptName: string, - sqlScript: SqlScriptResource, - options?: SqlScriptCreateOrUpdateSqlScriptOptionalParams - ): Promise>; - /** - * Gets a sql script. - * @param sqlScriptName The sql script name. - * @param options The options parameters. - */ - getSqlScript( - sqlScriptName: string, - options?: SqlScriptGetSqlScriptOptionalParams - ): Promise; - /** - * Deletes a Sql Script. - * @param sqlScriptName The sql script name. - * @param options The options parameters. - */ - deleteSqlScript( - sqlScriptName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Renames a sqlScript. - * @param sqlScriptName The sql script name. - * @param request proposed new name. - * @param options The options parameters. - */ - renameSqlScript( - sqlScriptName: string, - request: ArtifactRenameRequest, - options?: coreHttp.OperationOptions - ): Promise>; -} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlScriptOperations.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlScriptOperations.ts new file mode 100644 index 000000000000..29eebb5430a6 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/sqlScriptOperations.ts @@ -0,0 +1,110 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + SqlScriptResource, + SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams, + SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams, + SqlScriptOperationsCreateOrUpdateSqlScriptResponse, + SqlScriptOperationsGetSqlScriptOptionalParams, + SqlScriptOperationsGetSqlScriptResponse, + SqlScriptOperationsDeleteSqlScriptOptionalParams, + ArtifactRenameRequest, + SqlScriptOperationsRenameSqlScriptOptionalParams +} from "../models"; + +/// +/** Interface representing a SqlScriptOperations. */ +export interface SqlScriptOperations { + /** + * Lists sql scripts. + * @param options The options parameters. + */ + listSqlScriptsByWorkspace( + options?: SqlScriptOperationsGetSqlScriptsByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a Sql Script. + * @param sqlScriptName The sql script name. + * @param sqlScript Sql Script resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateSqlScript( + sqlScriptName: string, + sqlScript: SqlScriptResource, + options?: SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams + ): Promise< + PollerLike< + PollOperationState, + SqlScriptOperationsCreateOrUpdateSqlScriptResponse + > + >; + /** + * Creates or updates a Sql Script. + * @param sqlScriptName The sql script name. + * @param sqlScript Sql Script resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateSqlScriptAndWait( + sqlScriptName: string, + sqlScript: SqlScriptResource, + options?: SqlScriptOperationsCreateOrUpdateSqlScriptOptionalParams + ): Promise; + /** + * Gets a sql script. + * @param sqlScriptName The sql script name. + * @param options The options parameters. + */ + getSqlScript( + sqlScriptName: string, + options?: SqlScriptOperationsGetSqlScriptOptionalParams + ): Promise; + /** + * Deletes a Sql Script. + * @param sqlScriptName The sql script name. + * @param options The options parameters. + */ + beginDeleteSqlScript( + sqlScriptName: string, + options?: SqlScriptOperationsDeleteSqlScriptOptionalParams + ): Promise, void>>; + /** + * Deletes a Sql Script. + * @param sqlScriptName The sql script name. + * @param options The options parameters. + */ + beginDeleteSqlScriptAndWait( + sqlScriptName: string, + options?: SqlScriptOperationsDeleteSqlScriptOptionalParams + ): Promise; + /** + * Renames a sqlScript. + * @param sqlScriptName The sql script name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameSqlScript( + sqlScriptName: string, + request: ArtifactRenameRequest, + options?: SqlScriptOperationsRenameSqlScriptOptionalParams + ): Promise, void>>; + /** + * Renames a sqlScript. + * @param sqlScriptName The sql script name. + * @param request proposed new name. + * @param options The options parameters. + */ + beginRenameSqlScriptAndWait( + sqlScriptName: string, + request: ArtifactRenameRequest, + options?: SqlScriptOperationsRenameSqlScriptOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/trigger.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/trigger.ts deleted file mode 100644 index 6836ec623c28..000000000000 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/trigger.ts +++ /dev/null @@ -1,108 +0,0 @@ -/* - * 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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; -import { LROPoller } from "../lro"; -import { - TriggerResource, - TriggerCreateOrUpdateTriggerOptionalParams, - TriggerCreateOrUpdateTriggerResponse, - TriggerGetTriggerOptionalParams, - TriggerGetTriggerResponse, - TriggerSubscribeTriggerToEventsResponse, - TriggerGetEventSubscriptionStatusResponse, - TriggerUnsubscribeTriggerFromEventsResponse -} from "../models"; - -/// -/** Interface representing a Trigger. */ -export interface Trigger { - /** - * Lists triggers. - * @param options The options parameters. - */ - listTriggersByWorkspace( - options?: coreHttp.OperationOptions - ): PagedAsyncIterableIterator; - /** - * Creates or updates a trigger. - * @param triggerName The trigger name. - * @param trigger Trigger resource definition. - * @param options The options parameters. - */ - createOrUpdateTrigger( - triggerName: string, - trigger: TriggerResource, - options?: TriggerCreateOrUpdateTriggerOptionalParams - ): Promise>; - /** - * Gets a trigger. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - getTrigger( - triggerName: string, - options?: TriggerGetTriggerOptionalParams - ): Promise; - /** - * Deletes a trigger. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - deleteTrigger( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Subscribe event trigger to events. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - subscribeTriggerToEvents( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Get a trigger's event subscription status. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - getEventSubscriptionStatus( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise; - /** - * Unsubscribe event trigger from events. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - unsubscribeTriggerFromEvents( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Starts a trigger. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - startTrigger( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise>; - /** - * Stops a trigger. - * @param triggerName The trigger name. - * @param options The options parameters. - */ - stopTrigger( - triggerName: string, - options?: coreHttp.OperationOptions - ): Promise>; -} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerOperations.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerOperations.ts new file mode 100644 index 000000000000..8c3124d0e435 --- /dev/null +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerOperations.ts @@ -0,0 +1,185 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + TriggerResource, + TriggerOperationsGetTriggersByWorkspaceOptionalParams, + TriggerOperationsCreateOrUpdateTriggerOptionalParams, + TriggerOperationsCreateOrUpdateTriggerResponse, + TriggerOperationsGetTriggerOptionalParams, + TriggerOperationsGetTriggerResponse, + TriggerOperationsDeleteTriggerOptionalParams, + TriggerOperationsSubscribeTriggerToEventsOptionalParams, + TriggerOperationsSubscribeTriggerToEventsResponse, + TriggerOperationsGetEventSubscriptionStatusOptionalParams, + TriggerOperationsGetEventSubscriptionStatusResponse, + TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams, + TriggerOperationsUnsubscribeTriggerFromEventsResponse, + TriggerOperationsStartTriggerOptionalParams, + TriggerOperationsStopTriggerOptionalParams +} from "../models"; + +/// +/** Interface representing a TriggerOperations. */ +export interface TriggerOperations { + /** + * Lists triggers. + * @param options The options parameters. + */ + listTriggersByWorkspace( + options?: TriggerOperationsGetTriggersByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a trigger. + * @param triggerName The trigger name. + * @param trigger Trigger resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateTrigger( + triggerName: string, + trigger: TriggerResource, + options?: TriggerOperationsCreateOrUpdateTriggerOptionalParams + ): Promise< + PollerLike< + PollOperationState, + TriggerOperationsCreateOrUpdateTriggerResponse + > + >; + /** + * Creates or updates a trigger. + * @param triggerName The trigger name. + * @param trigger Trigger resource definition. + * @param options The options parameters. + */ + beginCreateOrUpdateTriggerAndWait( + triggerName: string, + trigger: TriggerResource, + options?: TriggerOperationsCreateOrUpdateTriggerOptionalParams + ): Promise; + /** + * Gets a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + getTrigger( + triggerName: string, + options?: TriggerOperationsGetTriggerOptionalParams + ): Promise; + /** + * Deletes a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginDeleteTrigger( + triggerName: string, + options?: TriggerOperationsDeleteTriggerOptionalParams + ): Promise, void>>; + /** + * Deletes a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginDeleteTriggerAndWait( + triggerName: string, + options?: TriggerOperationsDeleteTriggerOptionalParams + ): Promise; + /** + * Subscribe event trigger to events. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginSubscribeTriggerToEvents( + triggerName: string, + options?: TriggerOperationsSubscribeTriggerToEventsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + TriggerOperationsSubscribeTriggerToEventsResponse + > + >; + /** + * Subscribe event trigger to events. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginSubscribeTriggerToEventsAndWait( + triggerName: string, + options?: TriggerOperationsSubscribeTriggerToEventsOptionalParams + ): Promise; + /** + * Get a trigger's event subscription status. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + getEventSubscriptionStatus( + triggerName: string, + options?: TriggerOperationsGetEventSubscriptionStatusOptionalParams + ): Promise; + /** + * Unsubscribe event trigger from events. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginUnsubscribeTriggerFromEvents( + triggerName: string, + options?: TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + TriggerOperationsUnsubscribeTriggerFromEventsResponse + > + >; + /** + * Unsubscribe event trigger from events. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginUnsubscribeTriggerFromEventsAndWait( + triggerName: string, + options?: TriggerOperationsUnsubscribeTriggerFromEventsOptionalParams + ): Promise; + /** + * Starts a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginStartTrigger( + triggerName: string, + options?: TriggerOperationsStartTriggerOptionalParams + ): Promise, void>>; + /** + * Starts a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginStartTriggerAndWait( + triggerName: string, + options?: TriggerOperationsStartTriggerOptionalParams + ): Promise; + /** + * Stops a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginStopTrigger( + triggerName: string, + options?: TriggerOperationsStopTriggerOptionalParams + ): Promise, void>>; + /** + * Stops a trigger. + * @param triggerName The trigger name. + * @param options The options parameters. + */ + beginStopTriggerAndWait( + triggerName: string, + options?: TriggerOperationsStopTriggerOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerRun.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerRunOperations.ts similarity index 57% rename from sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerRun.ts rename to sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerRunOperations.ts index f305649d3d9f..881acdd0efc4 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerRun.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/triggerRunOperations.ts @@ -6,11 +6,16 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; -import { RunFilterParameters, TriggerRunQueryTriggerRunsByWorkspaceResponse } from "../models"; +import { + TriggerRunOperationsRerunTriggerInstanceOptionalParams, + TriggerRunOperationsCancelTriggerInstanceOptionalParams, + RunFilterParameters, + TriggerRunOperationsQueryTriggerRunsByWorkspaceOptionalParams, + TriggerRunOperationsQueryTriggerRunsByWorkspaceResponse +} from "../models"; -/** Interface representing a TriggerRun. */ -export interface TriggerRun { +/** Interface representing a TriggerRunOperations. */ +export interface TriggerRunOperations { /** * Rerun single trigger instance by runId. * @param triggerName The trigger name. @@ -20,8 +25,8 @@ export interface TriggerRun { rerunTriggerInstance( triggerName: string, runId: string, - options?: coreHttp.OperationOptions - ): Promise; + options?: TriggerRunOperationsRerunTriggerInstanceOptionalParams + ): Promise; /** * Cancel single trigger instance by runId. * @param triggerName The trigger name. @@ -31,8 +36,8 @@ export interface TriggerRun { cancelTriggerInstance( triggerName: string, runId: string, - options?: coreHttp.OperationOptions - ): Promise; + options?: TriggerRunOperationsCancelTriggerInstanceOptionalParams + ): Promise; /** * Query trigger runs. * @param filterParameters Parameters to filter the pipeline run. @@ -40,6 +45,6 @@ export interface TriggerRun { */ queryTriggerRunsByWorkspace( filterParameters: RunFilterParameters, - options?: coreHttp.OperationOptions - ): Promise; + options?: TriggerRunOperationsQueryTriggerRunsByWorkspaceOptionalParams + ): Promise; } diff --git a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/workspace.ts b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/workspaceOperations.ts similarity index 50% rename from sdk/synapse/synapse-artifacts/src/operationsInterfaces/workspace.ts rename to sdk/synapse/synapse-artifacts/src/operationsInterfaces/workspaceOperations.ts index 801fe591671f..122d87dfafc0 100644 --- a/sdk/synapse/synapse-artifacts/src/operationsInterfaces/workspace.ts +++ b/sdk/synapse/synapse-artifacts/src/operationsInterfaces/workspaceOperations.ts @@ -6,14 +6,18 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; -import { WorkspaceGetResponse } from "../models"; +import { + WorkspaceOperationsGetOptionalParams, + WorkspaceOperationsGetResponse +} from "../models"; -/** Interface representing a Workspace. */ -export interface Workspace { +/** Interface representing a WorkspaceOperations. */ +export interface WorkspaceOperations { /** * Get Workspace * @param options The options parameters. */ - get(options?: coreHttp.OperationOptions): Promise; + get( + options?: WorkspaceOperationsGetOptionalParams + ): Promise; } diff --git a/sdk/synapse/synapse-artifacts/swagger/README.md b/sdk/synapse/synapse-artifacts/swagger/README.md index 67318d3bc2df..34ccdc0130a3 100644 --- a/sdk/synapse/synapse-artifacts/swagger/README.md +++ b/sdk/synapse/synapse-artifacts/swagger/README.md @@ -6,7 +6,16 @@ ```yaml package-name: "@azure/synapse-artifacts" -require: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/f953424dd168e71373bc52edb9713d2d86a14ada/specification/synapse/data-plane/readme.md +package-version: "1.0.0-beta.6" +add-credentials: true +license-header: MICROSOFT_MIT_NO_VERSION +credential-scopes: https://dev.azuresynapse.net/.default +output-folder: .. +clear-output-folder: false +tracing-info: + namespace: "Azure.Synapse.Artifacts" + packagePrefix: "Microsoft.Synapse" +require: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/3d6211cf28f83236cdf78e7cfc50efd3fb7cba72/specification/synapse/data-plane/readme.md use-extension: "@autorest/typescript": "latest" @@ -16,17 +25,42 @@ typescript: modelerfour: lenient-model-deduplication: true +``` + +```yaml +directive: + - from: swagger-document + where: $.definitions.CompressionLevel + transform: > + delete $.type + - from: swagger-document + where: $.definitions + transform: > + let visited = new Set(); + function makeAnyType(definition) { + if (definition["type"] === "object") { + delete definition["type"]; + } + } + + function makeAny(definitions) { + const keys = Object.keys(definitions); + + if (!keys.length) { + return; + } + + for (const key of keys) { + if(!visited.has(definitions[key])) { + visited.add(definitions[key]) + makeAnyType(definitions[key]); + makeAny(definitions[key]); + } + } + } -batch: - - package-artifacts: true - package-name: "@azure/synapse-artifacts" - package-version: "1.0.0-beta.4" - add-credentials: true - license-header: MICROSOFT_MIT_NO_VERSION - credential-scopes: https://dev.azuresynapse.net/.default - output-folder: .. - clear-output-folder: false - tracing-info: - namespace: "Azure.Synapse.Artifacts" - packagePrefix: "Microsoft.Synapse" + const keys = Object.keys($); + for(const key of keys) { + makeAny($[key]) + } ``` diff --git a/sdk/synapse/synapse-artifacts/test/public/bigDataPools.spec.ts b/sdk/synapse/synapse-artifacts/test/public/bigDataPools.spec.ts index be9eac73b004..03a0ba06c653 100644 --- a/sdk/synapse/synapse-artifacts/test/public/bigDataPools.spec.ts +++ b/sdk/synapse/synapse-artifacts/test/public/bigDataPools.spec.ts @@ -1,5 +1,5 @@ import { ArtifactsClient } from "../../src/artifactsClient"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; diff --git a/sdk/synapse/synapse-artifacts/test/public/dataFlows.spec.ts b/sdk/synapse/synapse-artifacts/test/public/dataFlows.spec.ts index 84a69beb728a..ce63e67a58c6 100644 --- a/sdk/synapse/synapse-artifacts/test/public/dataFlows.spec.ts +++ b/sdk/synapse/synapse-artifacts/test/public/dataFlows.spec.ts @@ -1,5 +1,5 @@ import { ArtifactsClient } from "../../src/artifactsClient"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; @@ -19,7 +19,7 @@ describe("DataFlow", () => { }); it("should create dataFlow", async () => { - const poller = await client.dataFlow.createOrUpdateDataFlow(dataFlowName, { + const poller = await client.dataFlowOperations.beginCreateOrUpdateDataFlow(dataFlowName, { properties: { type: "MappingDataFlow" } }); @@ -29,7 +29,7 @@ describe("DataFlow", () => { }).timeout(30000); it("should list dataFlows", async () => { - const dataflows = client.dataFlow.listDataFlowsByWorkspace(); + const dataflows = client.dataFlowOperations.listDataFlowsByWorkspace(); let count = 0; for await (const item of dataflows) { if (item) { @@ -41,23 +41,23 @@ describe("DataFlow", () => { }).timeout(30000); it("should get dataFlow", async () => { - const dataFlow = await client.dataFlow.getDataFlow(dataFlowName); + const dataFlow = await client.dataFlowOperations.getDataFlow(dataFlowName); assert.equal(dataFlow.name, dataFlowName); }); it("should rename dataFlow", async () => { - const poller = await client.dataFlow.renameDataFlow(dataFlowName, { + const poller = await client.dataFlowOperations.beginRenameDataFlow(dataFlowName, { newName: renamedDataflow }); - const result = await poller.pollUntilDone(); + await poller.pollUntilDone(); - assert.equal(result._response.status, 200); + assert.isTrue(poller.isDone()); }).timeout(30000); it("should delete dataFlow", async () => { - const poller = await client.dataFlow.deleteDataFlow(renamedDataflow); - const result = await poller.pollUntilDone(); + const poller = await client.dataFlowOperations.beginDeleteDataFlow(renamedDataflow); + await poller.pollUntilDone(); - assert.equal(result._response.status, 200); + assert.isTrue(poller.isDone()); }).timeout(30000); }); diff --git a/sdk/synapse/synapse-artifacts/test/public/integrationRuntimes.spec.ts b/sdk/synapse/synapse-artifacts/test/public/integrationRuntimes.spec.ts index 02919abf1425..0b2a1d1fc346 100644 --- a/sdk/synapse/synapse-artifacts/test/public/integrationRuntimes.spec.ts +++ b/sdk/synapse/synapse-artifacts/test/public/integrationRuntimes.spec.ts @@ -1,5 +1,5 @@ import { ArtifactsClient } from "../../src/artifactsClient"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; diff --git a/sdk/synapse/synapse-artifacts/test/public/library.spec.ts b/sdk/synapse/synapse-artifacts/test/public/library.spec.ts index 6822b6f9e4fd..cf64c3a96c94 100644 --- a/sdk/synapse/synapse-artifacts/test/public/library.spec.ts +++ b/sdk/synapse/synapse-artifacts/test/public/library.spec.ts @@ -1,5 +1,5 @@ import { ArtifactsClient } from "../../src/artifactsClient"; -import { Recorder } from "@azure/test-utils-recorder"; +import { Recorder } from "@azure-tools/test-recorder"; import { assert } from "chai"; import { createClient, createRecorder } from "./utils/recordedClient"; @@ -18,9 +18,9 @@ describe("Library", () => { const testLibraryName = "testLibraryName.jar"; it("should create library", async () => { - const poller = await client.library.create(testLibraryName); - const result = await poller.pollUntilDone(); - assert.equal(result._response.status, 200); + const poller = await client.library.beginCreate(testLibraryName); + await poller.pollUntilDone(); + assert.isTrue(poller.isDone()); }).timeout(30000); it("should list library", async () => { @@ -40,8 +40,8 @@ describe("Library", () => { }); it("should delete library", async () => { - const poller = await client.library.delete(testLibraryName); - const result = await poller.pollUntilDone(); - assert.equal(result._response.status, 200); + const poller = await client.library.beginDelete(testLibraryName); + await poller.pollUntilDone(); + assert.isTrue(poller.isDone()); }).timeout(30000); }); diff --git a/sdk/synapse/synapse-artifacts/test/public/utils/recordedClient.ts b/sdk/synapse/synapse-artifacts/test/public/utils/recordedClient.ts index 9d22a672e198..3070d7d81f02 100644 --- a/sdk/synapse/synapse-artifacts/test/public/utils/recordedClient.ts +++ b/sdk/synapse/synapse-artifacts/test/public/utils/recordedClient.ts @@ -1,11 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -/// - import { Context } from "mocha"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { TokenCredential, ClientSecretCredential } from "@azure/identity"; import { ArtifactsClient, ArtifactsClientOptionalParams } from "../../../src"; @@ -15,9 +13,6 @@ const replaceableVariables: { [k: string]: string } = { AZURE_CLIENT_ID: "azure_client_id", AZURE_CLIENT_SECRET: "azure_client_secret", AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", - TEXT_ANALYTICS_API_KEY: "api_key", - // Second API key - TEXT_ANALYTICS_API_KEY_ALT: "api_key_alt", ENDPOINT: "https://testaccount.dev.azuresynapse.net" }; diff --git a/sdk/synapse/synapse-managed-private-endpoints/CHANGELOG.md b/sdk/synapse/synapse-managed-private-endpoints/CHANGELOG.md index da0c16c515e4..ba0009822b12 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/CHANGELOG.md +++ b/sdk/synapse/synapse-managed-private-endpoints/CHANGELOG.md @@ -1,7 +1,27 @@ # Release History -## 1.0.0-beta.3 (Unreleased) +## 1.0.0-beta.5 (Unreleased) +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.4 (2021-09-07) + +### Other Changes + +- Re-generate with swagger `2020-12-01` + +## 1.0.0-beta.3 (2021-08-10) + +### Other Changes + +- Migrate to CoreV2 +- Re-generate with swagger `2021-06-01-preview` ## 1.0.0-beta.2 (2021-02-09) diff --git a/sdk/synapse/synapse-managed-private-endpoints/api-extractor.json b/sdk/synapse/synapse-managed-private-endpoints/api-extractor.json index d9673b6381dd..b8e347b3ca68 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/api-extractor.json +++ b/sdk/synapse/synapse-managed-private-endpoints/api-extractor.json @@ -1,6 +1,6 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "mainEntryPointFilePath": "./types/src/index.d.ts", "docModel": { "enabled": true }, "apiReport": { "enabled": true, "reportFolder": "./review" }, "dtsRollup": { diff --git a/sdk/synapse/synapse-managed-private-endpoints/karma.conf.js b/sdk/synapse/synapse-managed-private-endpoints/karma.conf.js new file mode 100644 index 000000000000..e93dbd46c059 --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/karma.conf.js @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// https://github.com/karma-runner/karma-chrome-launcher +process.env.CHROME_BIN = require("puppeteer").executablePath(); +require("dotenv").config(); +const { + jsonRecordingFilterFunction, + isPlaybackMode, + isSoftRecordMode, + isRecordMode +} = require("@azure-tools/test-recorder"); + +module.exports = function(config) { + config.set({ + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: "./", + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ["source-map-support", "mocha"], + + plugins: [ + "karma-mocha", + "karma-mocha-reporter", + "karma-chrome-launcher", + "karma-edge-launcher", + "karma-firefox-launcher", + "karma-ie-launcher", + "karma-env-preprocessor", + "karma-coverage", + "karma-sourcemap-loader", + "karma-junit-reporter", + "karma-json-to-file-reporter", + "karma-source-map-support", + "karma-json-preprocessor" + ], + + // list of files / patterns to load in the browser + files: [ + "dist-test/index.browser.js", + { pattern: "dist-test/index.browser.js.map", type: "html", included: false, served: true } + ].concat(isPlaybackMode() || isSoftRecordMode() ? ["recordings/browsers/**/*.json"] : []), + + // list of files / patterns to exclude + exclude: [], + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + "**/*.js": ["sourcemap", "env"], + "recordings/browsers/**/*.json": ["json"] + // IMPORTANT: COMMENT following line if you want to debug in your browsers!! + // Preprocess source file to calculate code coverage, however this will make source file unreadable + // "dist-test/index.js": ["coverage"] + }, + + envPreprocessor: [ + "TEST_MODE", + "ENDPOINT", + "AZURE_CLIENT_ID", + "AZURE_CLIENT_SECRET", + "AZURE_TENANT_ID" + ], + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ["mocha", "coverage", "junit", "json-to-file"], + + coverageReporter: { + // specify a common output directory + dir: "coverage-browser/", + reporters: [ + { type: "json", subdir: ".", file: "coverage.json" }, + { type: "lcovonly", subdir: ".", file: "lcov.info" }, + { type: "html", subdir: "html" }, + { type: "cobertura", subdir: ".", file: "cobertura-coverage.xml" } + ] + }, + + junitReporter: { + outputDir: "", // results will be saved as $outputDir/$browserName.xml + outputFile: "test-results.browser.xml", // if included, results will be saved as $outputDir/$browserName/$outputFile + suite: "", // suite will become the package name attribute in xml testsuite element + useBrowserName: false, // add browser name to report and classes names + nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element + classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element + properties: {} // key value pair of properties to add to the section of the report + }, + + jsonToFileReporter: { + filter: jsonRecordingFilterFunction, + outputPath: "." + }, + + // web server port + port: 9876, + + // enable / disable colors in the output (reporters and logs) + colors: true, + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + // --no-sandbox allows our tests to run in Linux without having to change the system. + // --disable-web-security allows us to authenticate from the browser without having to write tests using interactive auth, which would be far more complex. + browsers: ["ChromeHeadlessNoSandbox"], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: "ChromeHeadless", + flags: ["--no-sandbox", "--disable-web-security"] + } + }, + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: 1, + + browserNoActivityTimeout: 60000000, + browserDisconnectTimeout: 10000, + browserDisconnectTolerance: 3, + browserConsoleLogOptions: { + terminal: !isRecordMode() + }, + + client: { + mocha: { + // change Karma's debug.html to the mocha web reporter + reporter: "html", + timeout: 0 + } + } + }); +}; diff --git a/sdk/synapse/synapse-managed-private-endpoints/package.json b/sdk/synapse/synapse-managed-private-endpoints/package.json index 901665cc2bf8..7a9873556c7f 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/package.json +++ b/sdk/synapse/synapse-managed-private-endpoints/package.json @@ -2,13 +2,14 @@ "name": "@azure/synapse-managed-private-endpoints", "author": "Microsoft Corporation", "description": "A generated SDK for ManagedPrivateEndpointsClient.", + "sdk-type": "client", + "version": "1.0.0-beta.5", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/synapse/synapse-managed-private-endpoints/README.md", "repository": "github:Azure/azure-sdk-for-js", - "sdk-type": "client", - "version": "1.0.0-beta.3", "dependencies": { + "@azure/core-auth": "^1.3.0", "@azure/core-paging": "^1.1.1", - "@azure/core-http": "^2.0.0", + "@azure/core-client": "^1.0.0", "@azure/core-tracing": "1.0.0-preview.13", "tslib": "^2.2.0" }, @@ -20,6 +21,21 @@ "cloud", "isomorphic" ], + "//metadata": { + "constantPaths": [ + { + "path": "src/managedPrivateEndpointsClientContext.ts", + "prefix": "packageDetails" + }, + { + "path": "swagger/README.md", + "prefix": "package-version" + } + ] + }, + "browser": { + "./dist-esm/test/public/utils/env.js": "./dist-esm/test/public/utils/env.browser.js" + }, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -28,18 +44,42 @@ "module": "./dist-esm/src/index.js", "types": "./types/synapse-managed-private-endpoints.d.ts", "devDependencies": { + "@azure-tools/test-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", "typescript": "~4.2.0", "eslint": "^7.15.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/dev-tool": "^1.0.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", - "rollup-plugin-node-resolve": "^3.4.0", - "rollup-plugin-sourcemaps": "^0.4.2", - "@rollup/plugin-commonjs": "11.0.2", "uglify-js": "^3.4.9", "@microsoft/api-extractor": "7.7.11", - "typedoc": "0.15.2" + "typedoc": "0.15.2", + "@types/chai": "^4.1.6", + "@types/mocha": "^7.0.2", + "chai": "^4.2.0", + "dotenv": "^8.2.0", + "karma-chrome-launcher": "^3.0.0", + "karma-coverage": "^2.0.0", + "karma-env-preprocessor": "^0.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-junit-reporter": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-mocha": "^2.0.1", + "karma-sourcemap-loader": "^0.3.8", + "karma": "^6.2.0", + "mocha-junit-reporter": "^1.18.0", + "mocha": "^7.1.1", + "nyc": "^14.0.0", + "prettier": "^1.16.4", + "@types/chai-as-promised": "^7.1.0", + "chai-as-promised": "^7.1.1", + "cross-env": "^7.0.2", + "karma-edge-launcher": "^0.4.2", + "karma-json-preprocessor": "^0.3.3", + "karma-json-to-file-reporter": "^1.0.1", + "karma-source-map-support": "~1.4.0" }, "bugs": { "url": "https://github.com/Azure/azure-sdk-for-js/issues" @@ -61,14 +101,16 @@ "scripts": { "build": "tsc && rollup -c rollup.config.js && npm run minify && npm run extract-api", "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js", - "test": "echo skip", - "build:test": "echo skip", + "build:test": "tsc -p . && rollup -c 2>&1", "pack": "npm pack 2>&1", "lint": "echo skipped", "format": "echo skip format as this package has only auto generated code", "check-format": "echo skip format check as this package has only auto generated code", - "unit-test:browser": "echo skipped", - "unit-test:node": "echo skipped", + "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", + "test:node": "npm run clean && npm run build:test && npm run unit-test:node", + "test": "npm run clean && npm run build:test && npm run unit-test", + "unit-test:browser": "karma start --single-run", + "unit-test:node": "mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/{,!(browser)/**/}*.spec.ts\"", "unit-test": "npm run unit-test:node && npm run unit-test:browser", "extract-api": "api-extractor run --local", "clean": "rimraf dist dist-* temp types *.tgz *.log", diff --git a/sdk/synapse/synapse-managed-private-endpoints/recordings/browsers/synapse_managed_private_endpoints/recording_should_list_endpoints.json b/sdk/synapse/synapse-managed-private-endpoints/recordings/browsers/synapse_managed_private_endpoints/recording_should_list_endpoints.json new file mode 100644 index 000000000000..24defdf3cd32 --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/recordings/browsers/synapse_managed_private_endpoints/recording_should_list_endpoints.json @@ -0,0 +1,51 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1322", + "content-type": "application/json; charset=utf-8", + "date": "Tue, 07 Sep 2021 19:30:46 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "50acb96a-18bc-4cdc-8d8a-383d9003ee00" + } + }, + { + "method": "GET", + "url": "https://testaccount.dev.azuresynapse.net/managedVirtualNetworks/default/managedPrivateEndpoints", + "query": { + "api-version": "2020-12-01" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"name\":\"synapse-ws-sql--synapse-test-vnet\",\"id\":\"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/xiangyan/providers/Microsoft.Synapse/workspaces/synapse-test-vnet/managedVirtualNetworks/default/managedPrivateEndpoints/synapse-ws-sql--synapse-test-vnet\",\"type\":\"Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints\",\"properties\":{\"privateLinkResourceId\":\"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/xiangyan/providers/Microsoft.Synapse/workspaces/synapse-test-vnet\",\"groupId\":\"sql\",\"provisioningState\":\"Succeeded\",\"connectionState\":{\"status\":\"Approved\",\"description\":\"Approved by Microsoft.Synapse Resource Provider\",\"actionsRequired\":\"\"},\"isReserved\":true,\"fqdns\":[\"synapse-test-vnet.31a8e776-91cd-482c-a26a-6f05d478d273.sql.azuresynapse.net\"],\"isCompliant\":false}},{\"name\":\"synapse-ws-sqlOnDemand--synapse-test-vnet\",\"id\":\"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/xiangyan/providers/Microsoft.Synapse/workspaces/synapse-test-vnet/managedVirtualNetworks/default/managedPrivateEndpoints/synapse-ws-sqlOnDemand--synapse-test-vnet\",\"type\":\"Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints\",\"properties\":{\"privateLinkResourceId\":\"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/xiangyan/providers/Microsoft.Synapse/workspaces/synapse-test-vnet\",\"groupId\":\"sqlOnDemand\",\"provisioningState\":\"Succeeded\",\"connectionState\":{\"status\":\"Approved\",\"description\":\"Approved by Microsoft.Synapse Resource Provider\",\"actionsRequired\":\"\"},\"isReserved\":true,\"fqdns\":[\"synapse-test-vnet-ondemand.31a8e776-91cd-482c-a26a-6f05d478d273.sql.azuresynapse.net\"],\"isCompliant\":false}}]}", + "responseHeaders": { + "content-length": "1708", + "content-type": "application/json; charset=utf-8", + "date": "Tue, 07 Sep 2021 19:30:46 GMT", + "server": "Microsoft-HTTPAPI/2.0", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-ms-request-id": "eb4d3d64-d9cc-4888-baa5-52ad0e39b50e" + } + } + ], + "uniqueTestInfo": { + "uniqueName": {}, + "newDate": {} + }, + "hash": "0126c817a63f3e2820509373698ac737" +} \ No newline at end of file diff --git a/sdk/synapse/synapse-managed-private-endpoints/recordings/node/synapse_managed_private_endpoints/recording_should_list_endpoints.js b/sdk/synapse/synapse-managed-private-endpoints/recordings/node/synapse_managed_private_endpoints/recording_should_list_endpoints.js new file mode 100644 index 000000000000..08bbe5325e67 --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/recordings/node/synapse_managed_private_endpoints/recording_should_list_endpoints.js @@ -0,0 +1,129 @@ +let nock = require('nock'); + +module.exports.hash = "0010dc7db46eede5dad80db7c5799fdc"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '42845562-fcc7-4559-8f74-51f73de92501', + 'x-ms-ests-server', + '2.1.12011.8 - NCUS ProdSlices', + 'Set-Cookie', + 'fpc=AvhAR0541wxLhc89DT853p8; expires=Thu, 07-Oct-2021 19:30:37 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrHoNEznYN7Z2A0qkLrgZ1viF7gZPxJDwfSc9c4_UlBQxmIkaIep1YXYTbGzcHsS_ExP7fI8bnCFj2sd9GXIPrUj26ZGlWJgfhwZRU0l4Q0FcxcKEpnPCzREEmdBj-wUHqh6ylFzcuRg-8qHscT9uSiV5F-9olAU1t_iCRfIR-MNggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 07 Sep 2021 19:30:37 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'f0b92ad8-7fe6-41e1-a862-e59bf12ff100', + 'x-ms-ests-server', + '2.1.12025.12 - SCUS ProdSlices', + 'Set-Cookie', + 'fpc=AkBz_HWShUhAoKrRKcVNtjk; expires=Thu, 07-Oct-2021 19:30:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrbv-fZXqaHBSHnpjeCQabzVpnVVD69b3CVdpKqkLH3KNk8kZBWHBgBxWq8I8YuWjB2ovKlj37Dg4UO-GpDBZ-2JEhYq1fjkGE-zuFmeWros99_8hUqDSynymFUymjNwTt0LBqSXEwNS26F-JzCddViGQb_vmOPMa61MVFbINAML4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 07 Sep 2021 19:30:37 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=e68dbd7e-7924-4110-ae45-d55cf12bd10e&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '71c9ac57-2e09-46cf-9f5e-cf1cfa06f100', + 'x-ms-ests-server', + '2.1.12025.12 - EUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=AjjHYisth5hCrmP7I9o8GonKOuyWAQAAAN60ydgOAAAA; expires=Thu, 07-Oct-2021 19:30:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 07 Sep 2021 19:30:38 GMT', + 'Content-Length', + '1322' +]); + +nock('https://testaccount.dev.azuresynapse.net', {"encodedQueryParams":true}) + .get('/managedVirtualNetworks/default/managedPrivateEndpoints') + .query(true) + .reply(200, {"value":[{"name":"synapse-ws-sql--synapse-test-vnet","id":"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/xiangyan/providers/Microsoft.Synapse/workspaces/synapse-test-vnet/managedVirtualNetworks/default/managedPrivateEndpoints/synapse-ws-sql--synapse-test-vnet","type":"Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints","properties":{"privateLinkResourceId":"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/xiangyan/providers/Microsoft.Synapse/workspaces/synapse-test-vnet","groupId":"sql","provisioningState":"Succeeded","connectionState":{"status":"Approved","description":"Approved by Microsoft.Synapse Resource Provider","actionsRequired":""},"isReserved":true,"fqdns":["synapse-test-vnet.31a8e776-91cd-482c-a26a-6f05d478d273.sql.azuresynapse.net"],"isCompliant":false}},{"name":"synapse-ws-sqlOnDemand--synapse-test-vnet","id":"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/xiangyan/providers/Microsoft.Synapse/workspaces/synapse-test-vnet/managedVirtualNetworks/default/managedPrivateEndpoints/synapse-ws-sqlOnDemand--synapse-test-vnet","type":"Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints","properties":{"privateLinkResourceId":"/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/xiangyan/providers/Microsoft.Synapse/workspaces/synapse-test-vnet","groupId":"sqlOnDemand","provisioningState":"Succeeded","connectionState":{"status":"Approved","description":"Approved by Microsoft.Synapse Resource Provider","actionsRequired":""},"isReserved":true,"fqdns":["synapse-test-vnet-ondemand.31a8e776-91cd-482c-a26a-6f05d478d273.sql.azuresynapse.net"],"isCompliant":false}}]}, [ + 'Content-Length', + '1708', + 'Content-Type', + 'application/json; charset=utf-8', + 'Server', + 'Microsoft-HTTPAPI/2.0', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'x-ms-request-id', + 'c5fca139-1f8b-4646-b05b-05150cb46f4e', + 'Date', + 'Tue, 07 Sep 2021 19:30:38 GMT' +]); diff --git a/sdk/synapse/synapse-managed-private-endpoints/review/synapse-managed-private-endpoints.api.md b/sdk/synapse/synapse-managed-private-endpoints/review/synapse-managed-private-endpoints.api.md index cdfedb1dd3f1..75cb1f97dcec 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/review/synapse-managed-private-endpoints.api.md +++ b/sdk/synapse/synapse-managed-private-endpoints/review/synapse-managed-private-endpoints.api.md @@ -4,7 +4,8 @@ ```ts -import * as coreHttp from '@azure/core-http'; +import * as coreAuth from '@azure/core-auth'; +import * as coreClient from '@azure/core-client'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; // @public @@ -31,22 +32,33 @@ export interface ManagedPrivateEndpointListResponse { // @public export interface ManagedPrivateEndpointProperties { connectionState?: ManagedPrivateEndpointConnectionState; + fqdns?: string[]; groupId?: string; + isCompliant?: boolean; readonly isReserved?: boolean; + name?: string; privateLinkResourceId?: string; readonly provisioningState?: string; } +// @public +export interface ManagedPrivateEndpoints { + create(managedVirtualNetworkName: string, managedPrivateEndpointName: string, managedPrivateEndpoint: ManagedPrivateEndpoint, options?: ManagedPrivateEndpointsCreateOptionalParams): Promise; + delete(managedVirtualNetworkName: string, managedPrivateEndpointName: string, options?: ManagedPrivateEndpointsDeleteOptionalParams): Promise; + get(managedVirtualNetworkName: string, managedPrivateEndpointName: string, options?: ManagedPrivateEndpointsGetOptionalParams): Promise; + list(managedVirtualNetworkName: string, options?: ManagedPrivateEndpointsListOptionalParams): PagedAsyncIterableIterator; +} + // @public (undocumented) export class ManagedPrivateEndpointsClient extends ManagedPrivateEndpointsClientContext { - constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, endpoint: string, options?: ManagedPrivateEndpointsClientOptionalParams); + constructor(credentials: coreAuth.TokenCredential, endpoint: string, options?: ManagedPrivateEndpointsClientOptionalParams); // (undocumented) - managedPrivateEndpoints: ManagedPrivateEndpointsOperation; + managedPrivateEndpoints: ManagedPrivateEndpoints; } // @public (undocumented) -export class ManagedPrivateEndpointsClientContext extends coreHttp.ServiceClient { - constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, endpoint: string, options?: ManagedPrivateEndpointsClientOptionalParams); +export class ManagedPrivateEndpointsClientContext extends coreClient.ServiceClient { + constructor(credentials: coreAuth.TokenCredential, endpoint: string, options?: ManagedPrivateEndpointsClientOptionalParams); // (undocumented) apiVersion: string; // (undocumented) @@ -54,51 +66,42 @@ export class ManagedPrivateEndpointsClientContext extends coreHttp.ServiceClient } // @public -export interface ManagedPrivateEndpointsClientOptionalParams extends coreHttp.ServiceClientOptions { +export interface ManagedPrivateEndpointsClientOptionalParams extends coreClient.ServiceClientOptions { apiVersion?: string; endpoint?: string; } // @public -export type ManagedPrivateEndpointsCreateResponse = ManagedPrivateEndpoint & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: ManagedPrivateEndpoint; - }; -}; +export interface ManagedPrivateEndpointsCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedPrivateEndpointsCreateResponse = ManagedPrivateEndpoint; + +// @public +export interface ManagedPrivateEndpointsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ManagedPrivateEndpointsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedPrivateEndpointsGetResponse = ManagedPrivateEndpoint; // @public -export type ManagedPrivateEndpointsGetResponse = ManagedPrivateEndpoint & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: ManagedPrivateEndpoint; - }; -}; +export interface ManagedPrivateEndpointsListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type ManagedPrivateEndpointsListNextResponse = ManagedPrivateEndpointListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: ManagedPrivateEndpointListResponse; - }; -}; +export type ManagedPrivateEndpointsListNextResponse = ManagedPrivateEndpointListResponse; // @public -export type ManagedPrivateEndpointsListResponse = ManagedPrivateEndpointListResponse & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: ManagedPrivateEndpointListResponse; - }; -}; +export interface ManagedPrivateEndpointsListOptionalParams extends coreClient.OperationOptions { +} // @public -export class ManagedPrivateEndpointsOperation { - constructor(client: ManagedPrivateEndpointsClient); - create(managedVirtualNetworkName: string, managedPrivateEndpointName: string, managedPrivateEndpoint: ManagedPrivateEndpoint, options?: coreHttp.OperationOptions): Promise; - delete(managedVirtualNetworkName: string, managedPrivateEndpointName: string, options?: coreHttp.OperationOptions): Promise; - get(managedVirtualNetworkName: string, managedPrivateEndpointName: string, options?: coreHttp.OperationOptions): Promise; - list(managedVirtualNetworkName: string, options?: coreHttp.OperationOptions): PagedAsyncIterableIterator; - } +export type ManagedPrivateEndpointsListResponse = ManagedPrivateEndpointListResponse; // (No @packageDocumentation comment for this package) diff --git a/sdk/synapse/synapse-managed-private-endpoints/rollup.config.js b/sdk/synapse/synapse-managed-private-endpoints/rollup.config.js index 1bd733ecc291..5d7deee44c14 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/rollup.config.js +++ b/sdk/synapse/synapse-managed-private-endpoints/rollup.config.js @@ -1,59 +1,3 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; -import sourcemaps from "rollup-plugin-sourcemaps"; -import cjs from "@rollup/plugin-commonjs"; -import { openTelemetryCommonJs } from "@azure/dev-tool/shared-config/rollup"; +import { makeConfig } from "@azure/dev-tool/shared-config/rollup"; -const ignoreKnownWarnings = (warning) => { - if (warning.code === "THIS_IS_UNDEFINED") { - // This error happens frequently due to TypeScript emitting `this` at the - // top-level of a module. In this case its fine if it gets rewritten to - // undefined, so ignore this error. - return; - } - - if (warning.code === "CIRCULAR_DEPENDENCY" && warning.importer.indexOf("@opentelemetry/api") >= 0) { - // OpenTelemetry contains circular references as of 1.0.0, but they are not fatal and can be ignored. - return; - } - - console.error(`(!) ${warning.message}`); -} - -/** - * @type {rollup.RollupFileOptions} - */ -const config = { - input: "./dist-esm/managedPrivateEndpointsClient.js", - external: ["@azure/core-http", "@azure/core-arm"], - onwarn: ignoreKnownWarnings, - output: { - file: "./dist/index.js", - format: "cjs", - name: "Azure.SynapseManagedPrivateEndpoints", - sourcemap: true, - globals: { - "@azure/core-http": "coreHttp", - "@azure/core-arm": "coreArm" - }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ ` - }, - plugins: [ - nodeResolve({ module: true }), - sourcemaps(), - cjs({ - namedExports: { - assert: ["ok", "deepEqual", "equal", "fail", "deepStrictEqual", "strictEqual"], - ...openTelemetryCommonJs() - } - }) - ] -}; - -export default config; +export default makeConfig(require("./package.json")); diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/index.ts b/sdk/synapse/synapse-managed-private-endpoints/src/index.ts index cd130f2af113..f5cffe7c3ce0 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/index.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/index.ts @@ -1,7 +1,13 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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 { ManagedPrivateEndpointsClient } from "./managedPrivateEndpointsClient"; export { ManagedPrivateEndpointsClientContext } from "./managedPrivateEndpointsClientContext"; -export { ManagedPrivateEndpoints as ManagedPrivateEndpointsOperation } from "./operations"; +export * from "./operationsInterfaces"; diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/managedPrivateEndpointsClient.ts b/sdk/synapse/synapse-managed-private-endpoints/src/managedPrivateEndpointsClient.ts index a473d2ac17f3..4cb94d0af3b8 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/managedPrivateEndpointsClient.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/managedPrivateEndpointsClient.ts @@ -1,7 +1,14 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; -import { ManagedPrivateEndpoints } from "./operations"; +/* + * 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 coreAuth from "@azure/core-auth"; +import { ManagedPrivateEndpointsImpl } from "./operations"; +import { ManagedPrivateEndpoints } from "./operationsInterfaces"; import { ManagedPrivateEndpointsClientContext } from "./managedPrivateEndpointsClientContext"; import { ManagedPrivateEndpointsClientOptionalParams } from "./models"; @@ -14,12 +21,12 @@ export class ManagedPrivateEndpointsClient extends ManagedPrivateEndpointsClient * @param options The parameter options */ constructor( - credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, + credentials: coreAuth.TokenCredential, endpoint: string, options?: ManagedPrivateEndpointsClientOptionalParams ) { super(credentials, endpoint, options); - this.managedPrivateEndpoints = new ManagedPrivateEndpoints(this); + this.managedPrivateEndpoints = new ManagedPrivateEndpointsImpl(this); } managedPrivateEndpoints: ManagedPrivateEndpoints; diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/managedPrivateEndpointsClientContext.ts b/sdk/synapse/synapse-managed-private-endpoints/src/managedPrivateEndpointsClientContext.ts index 9b31c2342bc2..14aaccdcccb9 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/managedPrivateEndpointsClientContext.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/managedPrivateEndpointsClientContext.ts @@ -1,12 +1,16 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; -import { ManagedPrivateEndpointsClientOptionalParams } from "./models"; +/* + * 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. + */ -const packageName = "@azure/synapse-managed-private-endpoints"; -const packageVersion = "1.0.0-beta.2"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { ManagedPrivateEndpointsClientOptionalParams } from "./models"; -export class ManagedPrivateEndpointsClientContext extends coreHttp.ServiceClient { +export class ManagedPrivateEndpointsClientContext extends coreClient.ServiceClient { endpoint: string; apiVersion: string; @@ -18,7 +22,7 @@ export class ManagedPrivateEndpointsClientContext extends coreHttp.ServiceClient * @param options The parameter options */ constructor( - credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, + credentials: coreAuth.TokenCredential, endpoint: string, options?: ManagedPrivateEndpointsClientOptionalParams ) { @@ -33,26 +37,33 @@ export class ManagedPrivateEndpointsClientContext extends coreHttp.ServiceClient if (!options) { options = {}; } + const defaults: ManagedPrivateEndpointsClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - if (!options.userAgent) { - const defaultUserAgent = coreHttp.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const packageDetails = `azsdk-js-synapse-managed-private-endpointss/1.0.0-beta.5`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; if (!options.credentialScopes) { options.credentialScopes = ["https://dev.azuresynapse.net/.default"]; } - - super(credentials, options); - - this.requestContentType = "application/json; charset=utf-8"; - - this.baseUri = options.endpoint || "{endpoint}"; - + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "{endpoint}" + }; + super(optionsWithDefaults); // Parameter assignments this.endpoint = endpoint; // Assigning values to Constant parameters - this.apiVersion = options.apiVersion || "2019-06-01-preview"; + this.apiVersion = options.apiVersion || "2020-12-01"; } } diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/models/index.ts b/sdk/synapse/synapse-managed-private-endpoints/src/models/index.ts index 916a737abd17..0f4f8cda3e5a 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/models/index.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/models/index.ts @@ -1,6 +1,12 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; +/* + * 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"; /** Managed private endpoint */ export interface ManagedPrivateEndpoint { @@ -25,6 +31,8 @@ export interface ManagedPrivateEndpoint { /** Properties of a managed private endpoint */ export interface ManagedPrivateEndpointProperties { + /** The name of managed private endpoint */ + name?: string; /** The ARM resource ID of the resource to which the managed private endpoint is created */ privateLinkResourceId?: string; /** The groupId to which the managed private endpoint is created */ @@ -41,6 +49,10 @@ export interface ManagedPrivateEndpointProperties { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly isReserved?: boolean; + /** List of fully qualified domain names */ + fqdns?: string[]; + /** Denotes whether the managed private endpoint is compliant */ + isCompliant?: boolean; } /** The connection state of a managed private endpoint */ @@ -67,56 +79,41 @@ export interface ManagedPrivateEndpointListResponse { readonly nextLink?: string; } +/** Optional parameters. */ +export interface ManagedPrivateEndpointsGetOptionalParams + extends coreClient.OperationOptions {} + /** Contains response data for the get operation. */ -export type ManagedPrivateEndpointsGetResponse = ManagedPrivateEndpoint & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ManagedPrivateEndpointsGetResponse = ManagedPrivateEndpoint; - /** The response body as parsed JSON or XML */ - parsedBody: ManagedPrivateEndpoint; - }; -}; +/** Optional parameters. */ +export interface ManagedPrivateEndpointsCreateOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the create operation. */ -export type ManagedPrivateEndpointsCreateResponse = ManagedPrivateEndpoint & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ManagedPrivateEndpointsCreateResponse = ManagedPrivateEndpoint; - /** The response body as parsed JSON or XML */ - parsedBody: ManagedPrivateEndpoint; - }; -}; +/** Optional parameters. */ +export interface ManagedPrivateEndpointsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ManagedPrivateEndpointsListOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type ManagedPrivateEndpointsListResponse = ManagedPrivateEndpointListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type ManagedPrivateEndpointsListResponse = ManagedPrivateEndpointListResponse; - /** The response body as parsed JSON or XML */ - parsedBody: ManagedPrivateEndpointListResponse; - }; -}; +/** Optional parameters. */ +export interface ManagedPrivateEndpointsListNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type ManagedPrivateEndpointsListNextResponse = ManagedPrivateEndpointListResponse & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: ManagedPrivateEndpointListResponse; - }; -}; +export type ManagedPrivateEndpointsListNextResponse = ManagedPrivateEndpointListResponse; /** Optional parameters. */ -export interface ManagedPrivateEndpointsClientOptionalParams extends coreHttp.ServiceClientOptions { +export interface ManagedPrivateEndpointsClientOptionalParams + extends coreClient.ServiceClientOptions { /** Api Version */ apiVersion?: string; /** Overrides client endpoint. */ diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/models/mappers.ts b/sdk/synapse/synapse-managed-private-endpoints/src/models/mappers.ts index 93fb506b8311..003943066b51 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/models/mappers.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/models/mappers.ts @@ -1,8 +1,14 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; +/* + * 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 const ManagedPrivateEndpoint: coreHttp.CompositeMapper = { +import * as coreClient from "@azure/core-client"; + +export const ManagedPrivateEndpoint: coreClient.CompositeMapper = { type: { name: "Composite", className: "ManagedPrivateEndpoint", @@ -39,11 +45,17 @@ export const ManagedPrivateEndpoint: coreHttp.CompositeMapper = { } }; -export const ManagedPrivateEndpointProperties: coreHttp.CompositeMapper = { +export const ManagedPrivateEndpointProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "ManagedPrivateEndpointProperties", modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, privateLinkResourceId: { serializedName: "privateLinkResourceId", type: { @@ -76,12 +88,29 @@ export const ManagedPrivateEndpointProperties: coreHttp.CompositeMapper = { type: { name: "Boolean" } + }, + fqdns: { + serializedName: "fqdns", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + isCompliant: { + serializedName: "isCompliant", + type: { + name: "Boolean" + } } } } }; -export const ManagedPrivateEndpointConnectionState: coreHttp.CompositeMapper = { +export const ManagedPrivateEndpointConnectionState: coreClient.CompositeMapper = { type: { name: "Composite", className: "ManagedPrivateEndpointConnectionState", @@ -109,7 +138,7 @@ export const ManagedPrivateEndpointConnectionState: coreHttp.CompositeMapper = { } }; -export const ManagedPrivateEndpointListResponse: coreHttp.CompositeMapper = { +export const ManagedPrivateEndpointListResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "ManagedPrivateEndpointListResponse", diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/models/parameters.ts b/sdk/synapse/synapse-managed-private-endpoints/src/models/parameters.ts index 08ddd10470ab..c473b67fbb82 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/models/parameters.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/models/parameters.ts @@ -1,10 +1,16 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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-http"; +} from "@azure/core-client"; import { ManagedPrivateEndpoint as ManagedPrivateEndpointMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -34,7 +40,7 @@ export const endpoint: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2019-06-01-preview", + defaultValue: "2020-12-01", isConstant: true, serializedName: "api-version", type: { diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/operations/index.ts b/sdk/synapse/synapse-managed-private-endpoints/src/operations/index.ts index ca1a4a2ff79d..010a41f0d3f0 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/operations/index.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/operations/index.ts @@ -1,3 +1,9 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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 "./managedPrivateEndpoints"; diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/operations/managedPrivateEndpoints.ts b/sdk/synapse/synapse-managed-private-endpoints/src/operations/managedPrivateEndpoints.ts index 11d341a1f8ca..c772abee0d2e 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/operations/managedPrivateEndpoints.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/operations/managedPrivateEndpoints.ts @@ -1,29 +1,43 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import { SpanStatusCode } from "@azure/core-tracing"; +/* + * 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 { createSpan } from "../tracing"; +import "@azure/core-paging"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import * as coreHttp from "@azure/core-http"; +import { ManagedPrivateEndpoints } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { ManagedPrivateEndpointsClient } from "../managedPrivateEndpointsClient"; +import { ManagedPrivateEndpointsClientContext } from "../managedPrivateEndpointsClientContext"; import { ManagedPrivateEndpoint, + ManagedPrivateEndpointsListNextOptionalParams, + ManagedPrivateEndpointsListOptionalParams, + ManagedPrivateEndpointsGetOptionalParams, ManagedPrivateEndpointsGetResponse, + ManagedPrivateEndpointsCreateOptionalParams, ManagedPrivateEndpointsCreateResponse, + ManagedPrivateEndpointsDeleteOptionalParams, ManagedPrivateEndpointsListResponse, ManagedPrivateEndpointsListNextResponse } from "../models"; -/** Class representing a ManagedPrivateEndpoints. */ -export class ManagedPrivateEndpoints { - private readonly client: ManagedPrivateEndpointsClient; +/// +/** Class containing ManagedPrivateEndpoints operations. */ +export class ManagedPrivateEndpointsImpl implements ManagedPrivateEndpoints { + private readonly client: ManagedPrivateEndpointsClientContext; /** * Initialize a new instance of the class ManagedPrivateEndpoints class. * @param client Reference to the service client */ - constructor(client: ManagedPrivateEndpointsClient) { + constructor(client: ManagedPrivateEndpointsClientContext) { this.client = client; } @@ -34,7 +48,7 @@ export class ManagedPrivateEndpoints { */ public list( managedVirtualNetworkName: string, - options?: coreHttp.OperationOptions + options?: ManagedPrivateEndpointsListOptionalParams ): PagedAsyncIterableIterator { const iter = this.listPagingAll(managedVirtualNetworkName, options); return { @@ -52,13 +66,17 @@ export class ManagedPrivateEndpoints { private async *listPagingPage( managedVirtualNetworkName: string, - options?: coreHttp.OperationOptions + options?: ManagedPrivateEndpointsListOptionalParams ): AsyncIterableIterator { let result = await this._list(managedVirtualNetworkName, options); yield result.value || []; let continuationToken = result.nextLink; while (continuationToken) { - result = await this._listNext(managedVirtualNetworkName, continuationToken, options); + result = await this._listNext( + managedVirtualNetworkName, + continuationToken, + options + ); continuationToken = result.nextLink; yield result.value || []; } @@ -66,9 +84,12 @@ export class ManagedPrivateEndpoints { private async *listPagingAll( managedVirtualNetworkName: string, - options?: coreHttp.OperationOptions + options?: ManagedPrivateEndpointsListOptionalParams ): AsyncIterableIterator { - for await (const page of this.listPagingPage(managedVirtualNetworkName, options)) { + for await (const page of this.listPagingPage( + managedVirtualNetworkName, + options + )) { yield* page; } } @@ -82,20 +103,21 @@ export class ManagedPrivateEndpoints { async get( managedVirtualNetworkName: string, managedPrivateEndpointName: string, - options?: coreHttp.OperationOptions + options?: ManagedPrivateEndpointsGetOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ManagedPrivateEndpointsClient-get", options); - const operationArguments: coreHttp.OperationArguments = { - managedVirtualNetworkName, - managedPrivateEndpointName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + const { span } = createSpan( + "ManagedPrivateEndpointsClient-get", + options || {} + ); try { - const result = await this.client.sendOperationRequest(operationArguments, getOperationSpec); + const result = await this.client.sendOperationRequest( + { managedVirtualNetworkName, managedPrivateEndpointName, options }, + getOperationSpec + ); return result as ManagedPrivateEndpointsGetResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -115,24 +137,26 @@ export class ManagedPrivateEndpoints { managedVirtualNetworkName: string, managedPrivateEndpointName: string, managedPrivateEndpoint: ManagedPrivateEndpoint, - options?: coreHttp.OperationOptions + options?: ManagedPrivateEndpointsCreateOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ManagedPrivateEndpointsClient-create", options); - const operationArguments: coreHttp.OperationArguments = { - managedVirtualNetworkName, - managedPrivateEndpointName, - managedPrivateEndpoint, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + const { span } = createSpan( + "ManagedPrivateEndpointsClient-create", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { + managedVirtualNetworkName, + managedPrivateEndpointName, + managedPrivateEndpoint, + options + }, createOperationSpec ); return result as ManagedPrivateEndpointsCreateResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -150,23 +174,21 @@ export class ManagedPrivateEndpoints { async delete( managedVirtualNetworkName: string, managedPrivateEndpointName: string, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("ManagedPrivateEndpointsClient-delete", options); - const operationArguments: coreHttp.OperationArguments = { - managedVirtualNetworkName, - managedPrivateEndpointName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: ManagedPrivateEndpointsDeleteOptionalParams + ): Promise { + const { span } = createSpan( + "ManagedPrivateEndpointsClient-delete", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { managedVirtualNetworkName, managedPrivateEndpointName, options }, deleteOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -182,19 +204,21 @@ export class ManagedPrivateEndpoints { */ private async _list( managedVirtualNetworkName: string, - options?: coreHttp.OperationOptions + options?: ManagedPrivateEndpointsListOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ManagedPrivateEndpointsClient-_list", options); - const operationArguments: coreHttp.OperationArguments = { - managedVirtualNetworkName, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + const { span } = createSpan( + "ManagedPrivateEndpointsClient-_list", + options || {} + ); try { - const result = await this.client.sendOperationRequest(operationArguments, listOperationSpec); + const result = await this.client.sendOperationRequest( + { managedVirtualNetworkName, options }, + listOperationSpec + ); return result as ManagedPrivateEndpointsListResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -212,23 +236,21 @@ export class ManagedPrivateEndpoints { private async _listNext( managedVirtualNetworkName: string, nextLink: string, - options?: coreHttp.OperationOptions + options?: ManagedPrivateEndpointsListNextOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("ManagedPrivateEndpointsClient-_listNext", options); - const operationArguments: coreHttp.OperationArguments = { - managedVirtualNetworkName, - nextLink, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + const { span } = createSpan( + "ManagedPrivateEndpointsClient-_listNext", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { managedVirtualNetworkName, nextLink, options }, listNextOperationSpec ); return result as ManagedPrivateEndpointsListNextResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -238,9 +260,9 @@ export class ManagedPrivateEndpoints { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const getOperationSpec: coreHttp.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { path: "/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}", httpMethod: "GET", @@ -258,7 +280,7 @@ const getOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const createOperationSpec: coreHttp.OperationSpec = { +const createOperationSpec: coreClient.OperationSpec = { path: "/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}", httpMethod: "PUT", @@ -278,7 +300,7 @@ const createOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const deleteOperationSpec: coreHttp.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { path: "/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}", httpMethod: "DELETE", @@ -291,8 +313,9 @@ const deleteOperationSpec: coreHttp.OperationSpec = { ], serializer }; -const listOperationSpec: coreHttp.OperationSpec = { - path: "/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints", +const listOperationSpec: coreClient.OperationSpec = { + path: + "/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints", httpMethod: "GET", responses: { 200: { @@ -304,7 +327,7 @@ const listOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const listNextOperationSpec: coreHttp.OperationSpec = { +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { @@ -313,7 +336,11 @@ const listNextOperationSpec: coreHttp.OperationSpec = { } }, queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.endpoint, Parameters.managedVirtualNetworkName, Parameters.nextLink], + urlParameters: [ + Parameters.endpoint, + Parameters.managedVirtualNetworkName, + Parameters.nextLink + ], headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/synapse/synapse-artifacts/src/utils/constants.ts b/sdk/synapse/synapse-managed-private-endpoints/src/operationsInterfaces/index.ts similarity index 84% rename from sdk/synapse/synapse-artifacts/src/utils/constants.ts rename to sdk/synapse/synapse-managed-private-endpoints/src/operationsInterfaces/index.ts index 870dbe7609ae..010a41f0d3f0 100644 --- a/sdk/synapse/synapse-artifacts/src/utils/constants.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/operationsInterfaces/index.ts @@ -6,4 +6,4 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export const SDK_VERSION = "1.0.0-beta.5"; +export * from "./managedPrivateEndpoints"; diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/operationsInterfaces/managedPrivateEndpoints.ts b/sdk/synapse/synapse-managed-private-endpoints/src/operationsInterfaces/managedPrivateEndpoints.ts new file mode 100644 index 000000000000..14df5090b422 --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/src/operationsInterfaces/managedPrivateEndpoints.ts @@ -0,0 +1,68 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ManagedPrivateEndpoint, + ManagedPrivateEndpointsListOptionalParams, + ManagedPrivateEndpointsGetOptionalParams, + ManagedPrivateEndpointsGetResponse, + ManagedPrivateEndpointsCreateOptionalParams, + ManagedPrivateEndpointsCreateResponse, + ManagedPrivateEndpointsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ManagedPrivateEndpoints. */ +export interface ManagedPrivateEndpoints { + /** + * List Managed Private Endpoints + * @param managedVirtualNetworkName Managed virtual network name + * @param options The options parameters. + */ + list( + managedVirtualNetworkName: string, + options?: ManagedPrivateEndpointsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get Managed Private Endpoints + * @param managedVirtualNetworkName Managed virtual network name + * @param managedPrivateEndpointName Managed private endpoint name + * @param options The options parameters. + */ + get( + managedVirtualNetworkName: string, + managedPrivateEndpointName: string, + options?: ManagedPrivateEndpointsGetOptionalParams + ): Promise; + /** + * Create Managed Private Endpoints + * @param managedVirtualNetworkName Managed virtual network name + * @param managedPrivateEndpointName Managed private endpoint name + * @param managedPrivateEndpoint Managed private endpoint properties. + * @param options The options parameters. + */ + create( + managedVirtualNetworkName: string, + managedPrivateEndpointName: string, + managedPrivateEndpoint: ManagedPrivateEndpoint, + options?: ManagedPrivateEndpointsCreateOptionalParams + ): Promise; + /** + * Delete Managed Private Endpoints + * @param managedVirtualNetworkName Managed virtual network name + * @param managedPrivateEndpointName Managed private endpoint name + * @param options The options parameters. + */ + delete( + managedVirtualNetworkName: string, + managedPrivateEndpointName: string, + options?: ManagedPrivateEndpointsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-managed-private-endpoints/src/tracing.ts b/sdk/synapse/synapse-managed-private-endpoints/src/tracing.ts index a2368a37a779..7a496169d3c9 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/src/tracing.ts +++ b/sdk/synapse/synapse-managed-private-endpoints/src/tracing.ts @@ -1,5 +1,11 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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 { createSpanFunction } from "@azure/core-tracing"; export const createSpan = createSpanFunction({ diff --git a/sdk/synapse/synapse-managed-private-endpoints/swagger/README.md b/sdk/synapse/synapse-managed-private-endpoints/swagger/README.md new file mode 100644 index 000000000000..6a0ed1f88578 --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/swagger/README.md @@ -0,0 +1,30 @@ +# Synapse ArtifactsClient + +> see https://aka.ms/autorest + +## Configuration + +```yaml +package-name: "@azure/synapse-managed-private-endpoints" +package-version: "1.0.0-beta.5" +title: ManagedPrivateEndpointsClient +add-credentials: true +license-header: MICROSOFT_MIT_NO_VERSION +credential-scopes: https://dev.azuresynapse.net/.default +output-folder: .. +clear-output-folder: false +tracing-info: + namespace: "Azure.Synapse.ManagedPrivateEndpoints" + packagePrefix: "Microsoft.Synapse" +require: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/synapse/data-plane/readme.md +tag: vnet-2020-12-01 +use-extension: + "@autorest/typescript": "latest" + +typescript: + generate-metadata: false + azure-arm: true + +modelerfour: + lenient-model-deduplication: true +``` diff --git a/sdk/synapse/synapse-managed-private-endpoints/test/public/test.spec.ts b/sdk/synapse/synapse-managed-private-endpoints/test/public/test.spec.ts new file mode 100644 index 000000000000..abcc2062b871 --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/test/public/test.spec.ts @@ -0,0 +1,28 @@ +import { Recorder } from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { ManagedPrivateEndpoint, ManagedPrivateEndpointsClient } from "../../src"; +import { createClient, createRecorder } from "./utils/recordedClient"; + +describe("Synapse Managed Private Endpoints", () => { + let recorder: Recorder; + let client: ManagedPrivateEndpointsClient; + + beforeEach(function() { + recorder = createRecorder(this); + client = createClient(); + }); + + afterEach(async () => { + await recorder.stop(); + }); + + it("should list endpoints", async () => { + const result = client.managedPrivateEndpoints.list("default"); + let endpoints: ManagedPrivateEndpoint[] = []; + + for await (const endpoint of result) { + endpoints.push(endpoint); + } + assert.isTrue(endpoints.length > 0); + }); +}); diff --git a/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/env.browser.ts b/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/env.browser.ts new file mode 100644 index 000000000000..fd2aca680c7b --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/env.browser.ts @@ -0,0 +1,2 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. diff --git a/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/env.ts b/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/env.ts new file mode 100644 index 000000000000..0e06855b73ae --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/env.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import * as dotenv from "dotenv"; + +dotenv.config(); diff --git a/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/recordedClient.ts b/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/recordedClient.ts new file mode 100644 index 000000000000..246cfc280729 --- /dev/null +++ b/sdk/synapse/synapse-managed-private-endpoints/test/public/utils/recordedClient.ts @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { Context } from "mocha"; + +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; +import { TokenCredential, ClientSecretCredential } from "@azure/identity"; + +import { + ManagedPrivateEndpointsClient, + ManagedPrivateEndpointsClientOptionalParams +} from "../../../src"; +import "./env"; + +const replaceableVariables: { [k: string]: string } = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + ENDPOINT: "https://testaccount.dev.azuresynapse.net" +}; + +export const environmentSetup: RecorderEnvironmentSetup = { + replaceableVariables, + customizationsOnRecordings: [ + (recording: string): string => + recording.replace(/"access_token"\s?:\s?"[^"]*"/g, `"access_token":"access_token"`), + // If we put ENDPOINT in replaceableVariables above, it will not capture + // the endpoint string used with nock, which will be expanded to + // https://:443/ and therefore will not match, so we have to do + // this instead. + (recording: string): string => { + const replaced = recording.replace( + "testaccount.dev.azuresynapse.net:443", + "testaccount.dev.azuresynapse.net" + ); + return replaced; + } + ], + queryParametersToSkip: [] +}; + +export function createClient( + options?: ManagedPrivateEndpointsClientOptionalParams +): ManagedPrivateEndpointsClient { + let credential: TokenCredential; + + credential = new ClientSecretCredential( + env.AZURE_TENANT_ID, + env.AZURE_CLIENT_ID, + env.AZURE_CLIENT_SECRET + ); + + return new ManagedPrivateEndpointsClient(credential, env.ENDPOINT, options); +} + +/** + * creates the recorder and reads the environment variables from the `.env` file. + * Should be called first in the test suite to make sure environment variables are + * read before they are being used. + */ +export function createRecorder(context: Context): Recorder { + return record(context, environmentSetup); +} diff --git a/sdk/synapse/synapse-managed-private-endpoints/tsconfig.json b/sdk/synapse/synapse-managed-private-endpoints/tsconfig.json index d43efedfc9bc..5626c92e1b02 100644 --- a/sdk/synapse/synapse-managed-private-endpoints/tsconfig.json +++ b/sdk/synapse/synapse-managed-private-endpoints/tsconfig.json @@ -1,20 +1,19 @@ { + "extends": "../../../tsconfig.package", "compilerOptions": { - "module": "es6", - "moduleResolution": "node", - "strict": true, - "target": "es5", - "sourceMap": true, - "declarationMap": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "preserveConstEnums": true, - "lib": ["es6", "dom"], - "declaration": true, "outDir": "./dist-esm", - "importHelpers": true + "declarationDir": "./types" }, - "include": ["./src/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "src/**/*.ts", + "test/**/*.ts" + ], + "exclude": [ + "node_modules", + "types", + "temp", + "browser", + "dist*", + "./dom-shims.d.ts" + ] } diff --git a/sdk/synapse/synapse-monitoring/karma.conf.js b/sdk/synapse/synapse-monitoring/karma.conf.js new file mode 100644 index 000000000000..e93dbd46c059 --- /dev/null +++ b/sdk/synapse/synapse-monitoring/karma.conf.js @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// https://github.com/karma-runner/karma-chrome-launcher +process.env.CHROME_BIN = require("puppeteer").executablePath(); +require("dotenv").config(); +const { + jsonRecordingFilterFunction, + isPlaybackMode, + isSoftRecordMode, + isRecordMode +} = require("@azure-tools/test-recorder"); + +module.exports = function(config) { + config.set({ + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: "./", + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ["source-map-support", "mocha"], + + plugins: [ + "karma-mocha", + "karma-mocha-reporter", + "karma-chrome-launcher", + "karma-edge-launcher", + "karma-firefox-launcher", + "karma-ie-launcher", + "karma-env-preprocessor", + "karma-coverage", + "karma-sourcemap-loader", + "karma-junit-reporter", + "karma-json-to-file-reporter", + "karma-source-map-support", + "karma-json-preprocessor" + ], + + // list of files / patterns to load in the browser + files: [ + "dist-test/index.browser.js", + { pattern: "dist-test/index.browser.js.map", type: "html", included: false, served: true } + ].concat(isPlaybackMode() || isSoftRecordMode() ? ["recordings/browsers/**/*.json"] : []), + + // list of files / patterns to exclude + exclude: [], + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + "**/*.js": ["sourcemap", "env"], + "recordings/browsers/**/*.json": ["json"] + // IMPORTANT: COMMENT following line if you want to debug in your browsers!! + // Preprocess source file to calculate code coverage, however this will make source file unreadable + // "dist-test/index.js": ["coverage"] + }, + + envPreprocessor: [ + "TEST_MODE", + "ENDPOINT", + "AZURE_CLIENT_ID", + "AZURE_CLIENT_SECRET", + "AZURE_TENANT_ID" + ], + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ["mocha", "coverage", "junit", "json-to-file"], + + coverageReporter: { + // specify a common output directory + dir: "coverage-browser/", + reporters: [ + { type: "json", subdir: ".", file: "coverage.json" }, + { type: "lcovonly", subdir: ".", file: "lcov.info" }, + { type: "html", subdir: "html" }, + { type: "cobertura", subdir: ".", file: "cobertura-coverage.xml" } + ] + }, + + junitReporter: { + outputDir: "", // results will be saved as $outputDir/$browserName.xml + outputFile: "test-results.browser.xml", // if included, results will be saved as $outputDir/$browserName/$outputFile + suite: "", // suite will become the package name attribute in xml testsuite element + useBrowserName: false, // add browser name to report and classes names + nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element + classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element + properties: {} // key value pair of properties to add to the section of the report + }, + + jsonToFileReporter: { + filter: jsonRecordingFilterFunction, + outputPath: "." + }, + + // web server port + port: 9876, + + // enable / disable colors in the output (reporters and logs) + colors: true, + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + // --no-sandbox allows our tests to run in Linux without having to change the system. + // --disable-web-security allows us to authenticate from the browser without having to write tests using interactive auth, which would be far more complex. + browsers: ["ChromeHeadlessNoSandbox"], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: "ChromeHeadless", + flags: ["--no-sandbox", "--disable-web-security"] + } + }, + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: 1, + + browserNoActivityTimeout: 60000000, + browserDisconnectTimeout: 10000, + browserDisconnectTolerance: 3, + browserConsoleLogOptions: { + terminal: !isRecordMode() + }, + + client: { + mocha: { + // change Karma's debug.html to the mocha web reporter + reporter: "html", + timeout: 0 + } + } + }); +}; diff --git a/sdk/synapse/synapse-monitoring/recordings/node/access_control_smoke/recording_should_list_roles.js b/sdk/synapse/synapse-monitoring/recordings/node/access_control_smoke/recording_should_list_roles.js new file mode 100644 index 000000000000..779d1a460649 --- /dev/null +++ b/sdk/synapse/synapse-monitoring/recordings/node/access_control_smoke/recording_should_list_roles.js @@ -0,0 +1,129 @@ +let nock = require('nock'); + +module.exports.hash = "108d4ab57d08f6f12fc012dd03610059"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '4b91a822-70a7-420f-b772-b92940c68402', + 'x-ms-ests-server', + '2.1.11898.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=AoTL7t1oa1JMq52ngQe3UPQ; expires=Thu, 09-Sep-2021 20:19:59 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr_DuX0kNnKBy51TQrrEPmKd7VUU0AthoL1yZDj7kvMEk86_K5OQUyfswFPRufs8VpFlP5xRTsteh_B_DE30fHaKC58Sc08OH7LZyqqLONZB0J5F8eNVSy4iS_TTbAYqra-XtqBga0nt3es7EgcMwxy-RFKpJLZjRsoWOOPmXAH0cgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:19:59 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '08f91fd8-b613-46e7-a7c8-041f8d65d900', + 'x-ms-ests-server', + '2.1.11935.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=ApMuWsHfSLhEj1svWAERZwA; expires=Thu, 09-Sep-2021 20:19:59 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrOJauv3m9px8TOCS4h4MXophFP5UTwiBi97XP4pKN1IxQPO7BH1XJU_4CCBWRcyrJfOgefWq3LNNWwATiAQukXXzavDn_uB2UqQEunEKd4p9t0cq91_xgYBLtcdYmToyG4bq4BFfDREu805-YXbI3I-2-o_aWVQkrSGMU4ml5sHwgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:19:59 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=8de2e6af-a039-4a42-94b0-288abd8829ae&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '08f91fd8-b613-46e7-a7c8-041f9265d900', + 'x-ms-ests-server', + '2.1.11935.12 - EUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=AgaGGcJfbItGmluImz6cdNvKOuyWAQAAAG_WpNgOAAAA; expires=Thu, 09-Sep-2021 20:20:00 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:19:59 GMT', + 'Content-Length', + '1322' +]); + +nock('https://testaccount.dev.azuresynapse.net', {"encodedQueryParams":true}) + .get('/monitoring/workloadTypes/spark/Applications') + .query(true) + .reply(400, "Wrong Api Version. Expected Version 2019-01-01,2019-11-01-preview,2020-10-01-preview", [ + 'Transfer-Encoding', + 'chunked', + 'Server', + 'Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0', + 'Strict-Transport-Security', + 'max-age=2592000', + 'X-ServiceFabricRequestId', + '270b26eb-d014-418e-81d5-339d03bff807', + 'x-ms-request-id', + '66a52bb3-7c1c-43b9-8451-3bb464398b6c', + 'Date', + 'Tue, 10 Aug 2021 20:20:00 GMT' +]); diff --git a/sdk/synapse/synapse-monitoring/src/operationsInterfaces/index.ts b/sdk/synapse/synapse-monitoring/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..1c017b3fb1e4 --- /dev/null +++ b/sdk/synapse/synapse-monitoring/src/operationsInterfaces/index.ts @@ -0,0 +1,9 @@ +/* + * 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 "./monitoring"; diff --git a/sdk/synapse/synapse-monitoring/src/operationsInterfaces/monitoring.ts b/sdk/synapse/synapse-monitoring/src/operationsInterfaces/monitoring.ts new file mode 100644 index 000000000000..45fbde5e353d --- /dev/null +++ b/sdk/synapse/synapse-monitoring/src/operationsInterfaces/monitoring.ts @@ -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. + */ + +import { + MonitoringGetSparkJobListOptionalParams, + MonitoringGetSparkJobListResponse, + MonitoringGetSqlJobQueryStringOptionalParams, + MonitoringGetSqlJobQueryStringResponse +} from "../models"; + +/** Interface representing a Monitoring. */ +export interface Monitoring { + /** + * Get list of spark applications for the workspace. + * @param options The options parameters. + */ + getSparkJobList( + options?: MonitoringGetSparkJobListOptionalParams + ): Promise; + /** + * Get SQL OD/DW Query for the workspace. + * @param options The options parameters. + */ + getSqlJobQueryString( + options?: MonitoringGetSqlJobQueryStringOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-monitoring/swagger/README.md b/sdk/synapse/synapse-monitoring/swagger/README.md new file mode 100644 index 000000000000..661e6dbe6bd9 --- /dev/null +++ b/sdk/synapse/synapse-monitoring/swagger/README.md @@ -0,0 +1,28 @@ +# Synapse ArtifactsClient + +> see https://aka.ms/autorest + +## Configuration + +```yaml +package-name: "@azure/synapse-monitoring" +package-version: "1.0.0-beta.3" +add-credentials: true +license-header: MICROSOFT_MIT_NO_VERSION +credential-scopes: https://dev.azuresynapse.net/.default +output-folder: .. +clear-output-folder: false +tracing-info: + namespace: "Azure.Synapse.Monitoring" + packagePrefix: "Microsoft.Synapse" +require: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/synapse/data-plane/readme.md +use-extension: + "@autorest/typescript": "latest" + +typescript: + generate-metadata: false + azure-arm: true + +modelerfour: + lenient-model-deduplication: true +``` diff --git a/sdk/synapse/synapse-monitoring/test/public/test.spec.ts b/sdk/synapse/synapse-monitoring/test/public/test.spec.ts new file mode 100644 index 000000000000..29487ed46576 --- /dev/null +++ b/sdk/synapse/synapse-monitoring/test/public/test.spec.ts @@ -0,0 +1,23 @@ +import { MonitoringClient } from "../../src/monitoringClient"; +import { Recorder } from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { createClient, createRecorder } from "./utils/recordedClient"; + +describe("Access Control smoke", () => { + let recorder: Recorder; + let client: MonitoringClient; + + beforeEach(function() { + recorder = createRecorder(this); + client = createClient(); + }); + + afterEach(async () => { + await recorder.stop(); + }); + + it("should list roles", async () => { + const result = await client.monitoring.getSparkJobList(); + assert.isTrue((result.sparkJobs || []).length > 0); + }); +}); diff --git a/sdk/synapse/synapse-monitoring/test/public/utils/env.browser.ts b/sdk/synapse/synapse-monitoring/test/public/utils/env.browser.ts new file mode 100644 index 000000000000..fd2aca680c7b --- /dev/null +++ b/sdk/synapse/synapse-monitoring/test/public/utils/env.browser.ts @@ -0,0 +1,2 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. diff --git a/sdk/synapse/synapse-monitoring/test/public/utils/env.ts b/sdk/synapse/synapse-monitoring/test/public/utils/env.ts new file mode 100644 index 000000000000..0e06855b73ae --- /dev/null +++ b/sdk/synapse/synapse-monitoring/test/public/utils/env.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import * as dotenv from "dotenv"; + +dotenv.config(); diff --git a/sdk/synapse/synapse-monitoring/test/public/utils/recordedClient.ts b/sdk/synapse/synapse-monitoring/test/public/utils/recordedClient.ts new file mode 100644 index 000000000000..eb877e82fa83 --- /dev/null +++ b/sdk/synapse/synapse-monitoring/test/public/utils/recordedClient.ts @@ -0,0 +1,58 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { Context } from "mocha"; + +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; +import { TokenCredential, ClientSecretCredential } from "@azure/identity"; + +import { MonitoringClient, MonitoringClientOptionalParams } from "../../../src"; +import "./env"; + +const replaceableVariables: { [k: string]: string } = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + ENDPOINT: "https://testaccount.dev.azuresynapse.net" +}; + +export const environmentSetup: RecorderEnvironmentSetup = { + replaceableVariables, + customizationsOnRecordings: [ + (recording: string): string => + recording.replace(/"access_token"\s?:\s?"[^"]*"/g, `"access_token":"access_token"`), + // If we put ENDPOINT in replaceableVariables above, it will not capture + // the endpoint string used with nock, which will be expanded to + // https://:443/ and therefore will not match, so we have to do + // this instead. + (recording: string): string => { + const replaced = recording.replace( + "testaccount.dev.azuresynapse.net:443", + "testaccount.dev.azuresynapse.net" + ); + return replaced; + } + ], + queryParametersToSkip: [] +}; + +export function createClient(options?: MonitoringClientOptionalParams): MonitoringClient { + let credential: TokenCredential; + + credential = new ClientSecretCredential( + env.AZURE_TENANT_ID, + env.AZURE_CLIENT_ID, + env.AZURE_CLIENT_SECRET + ); + + return new MonitoringClient(credential, env.ENDPOINT, options); +} + +/** + * creates the recorder and reads the environment variables from the `.env` file. + * Should be called first in the test suite to make sure environment variables are + * read before they are being used. + */ +export function createRecorder(context: Context): Recorder { + return record(context, environmentSetup); +} diff --git a/sdk/synapse/synapse-spark/CHANGELOG.md b/sdk/synapse/synapse-spark/CHANGELOG.md index 8a61b31f3560..fe60eedce469 100644 --- a/sdk/synapse/synapse-spark/CHANGELOG.md +++ b/sdk/synapse/synapse-spark/CHANGELOG.md @@ -1,7 +1,21 @@ # Release History -## 1.0.0-beta.3 (Unreleased) +## 1.0.0-beta.4 (Unreleased) +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.3 (2021-08-10) + +### Other Changes + +- Migrate to CoreV2 +- Re-generate with swagger `2020-12-01` ## 1.0.0-beta.2 (2021-02-09) diff --git a/sdk/synapse/synapse-spark/api-extractor.json b/sdk/synapse/synapse-spark/api-extractor.json index b49278775b4e..cf04a3def361 100644 --- a/sdk/synapse/synapse-spark/api-extractor.json +++ b/sdk/synapse/synapse-spark/api-extractor.json @@ -1,6 +1,6 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "mainEntryPointFilePath": "./types/src/index.d.ts", "docModel": { "enabled": true }, "apiReport": { "enabled": true, "reportFolder": "./review" }, "dtsRollup": { diff --git a/sdk/synapse/synapse-spark/karma.conf.js b/sdk/synapse/synapse-spark/karma.conf.js new file mode 100644 index 000000000000..e93dbd46c059 --- /dev/null +++ b/sdk/synapse/synapse-spark/karma.conf.js @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// https://github.com/karma-runner/karma-chrome-launcher +process.env.CHROME_BIN = require("puppeteer").executablePath(); +require("dotenv").config(); +const { + jsonRecordingFilterFunction, + isPlaybackMode, + isSoftRecordMode, + isRecordMode +} = require("@azure-tools/test-recorder"); + +module.exports = function(config) { + config.set({ + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: "./", + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ["source-map-support", "mocha"], + + plugins: [ + "karma-mocha", + "karma-mocha-reporter", + "karma-chrome-launcher", + "karma-edge-launcher", + "karma-firefox-launcher", + "karma-ie-launcher", + "karma-env-preprocessor", + "karma-coverage", + "karma-sourcemap-loader", + "karma-junit-reporter", + "karma-json-to-file-reporter", + "karma-source-map-support", + "karma-json-preprocessor" + ], + + // list of files / patterns to load in the browser + files: [ + "dist-test/index.browser.js", + { pattern: "dist-test/index.browser.js.map", type: "html", included: false, served: true } + ].concat(isPlaybackMode() || isSoftRecordMode() ? ["recordings/browsers/**/*.json"] : []), + + // list of files / patterns to exclude + exclude: [], + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + "**/*.js": ["sourcemap", "env"], + "recordings/browsers/**/*.json": ["json"] + // IMPORTANT: COMMENT following line if you want to debug in your browsers!! + // Preprocess source file to calculate code coverage, however this will make source file unreadable + // "dist-test/index.js": ["coverage"] + }, + + envPreprocessor: [ + "TEST_MODE", + "ENDPOINT", + "AZURE_CLIENT_ID", + "AZURE_CLIENT_SECRET", + "AZURE_TENANT_ID" + ], + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ["mocha", "coverage", "junit", "json-to-file"], + + coverageReporter: { + // specify a common output directory + dir: "coverage-browser/", + reporters: [ + { type: "json", subdir: ".", file: "coverage.json" }, + { type: "lcovonly", subdir: ".", file: "lcov.info" }, + { type: "html", subdir: "html" }, + { type: "cobertura", subdir: ".", file: "cobertura-coverage.xml" } + ] + }, + + junitReporter: { + outputDir: "", // results will be saved as $outputDir/$browserName.xml + outputFile: "test-results.browser.xml", // if included, results will be saved as $outputDir/$browserName/$outputFile + suite: "", // suite will become the package name attribute in xml testsuite element + useBrowserName: false, // add browser name to report and classes names + nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element + classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element + properties: {} // key value pair of properties to add to the section of the report + }, + + jsonToFileReporter: { + filter: jsonRecordingFilterFunction, + outputPath: "." + }, + + // web server port + port: 9876, + + // enable / disable colors in the output (reporters and logs) + colors: true, + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + // --no-sandbox allows our tests to run in Linux without having to change the system. + // --disable-web-security allows us to authenticate from the browser without having to write tests using interactive auth, which would be far more complex. + browsers: ["ChromeHeadlessNoSandbox"], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: "ChromeHeadless", + flags: ["--no-sandbox", "--disable-web-security"] + } + }, + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: 1, + + browserNoActivityTimeout: 60000000, + browserDisconnectTimeout: 10000, + browserDisconnectTolerance: 3, + browserConsoleLogOptions: { + terminal: !isRecordMode() + }, + + client: { + mocha: { + // change Karma's debug.html to the mocha web reporter + reporter: "html", + timeout: 0 + } + } + }); +}; diff --git a/sdk/synapse/synapse-spark/package.json b/sdk/synapse/synapse-spark/package.json index 078a92021674..97f2a6114b4d 100644 --- a/sdk/synapse/synapse-spark/package.json +++ b/sdk/synapse/synapse-spark/package.json @@ -5,9 +5,10 @@ "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/synapse/synapse-spark/README.md", "repository": "github:Azure/azure-sdk-for-js", "sdk-type": "client", - "version": "1.0.0-beta.3", + "version": "1.0.0-beta.4", "dependencies": { - "@azure/core-http": "^2.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.0.0", "@azure/core-tracing": "1.0.0-preview.13", "tslib": "^2.2.0" }, @@ -33,12 +34,51 @@ "@azure/dev-tool": "^1.0.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", - "rollup-plugin-node-resolve": "^3.4.0", - "rollup-plugin-sourcemaps": "^0.4.2", - "@rollup/plugin-commonjs": "11.0.2", "uglify-js": "^3.4.9", "@microsoft/api-extractor": "7.7.11", - "typedoc": "0.15.2" + "typedoc": "0.15.2", + "@azure-tools/test-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.6", + "@types/chai": "^4.1.6", + "@types/mocha": "^7.0.2", + "chai": "^4.2.0", + "dotenv": "^8.2.0", + "karma-chrome-launcher": "^3.0.0", + "karma-coverage": "^2.0.0", + "karma-env-preprocessor": "^0.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-junit-reporter": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-mocha": "^2.0.1", + "karma-sourcemap-loader": "^0.3.8", + "karma": "^6.2.0", + "mocha-junit-reporter": "^1.18.0", + "mocha": "^7.1.1", + "nyc": "^14.0.0", + "prettier": "^1.16.4", + "@types/chai-as-promised": "^7.1.0", + "chai-as-promised": "^7.1.1", + "cross-env": "^7.0.2", + "karma-edge-launcher": "^0.4.2", + "karma-json-preprocessor": "^0.3.3", + "karma-json-to-file-reporter": "^1.0.1", + "karma-source-map-support": "~1.4.0" + }, + "//metadata": { + "constantPaths": [ + { + "path": "src/sparkClientContext.ts", + "prefix": "packageDetails" + }, + { + "path": "swagger/README.md", + "prefix": "package-version" + } + ] + }, + "browser": { + "./dist-esm/test/public/utils/env.js": "./dist-esm/test/public/utils/env.browser.js" }, "bugs": { "url": "https://github.com/Azure/azure-sdk-for-js/issues" @@ -61,13 +101,15 @@ "build": "tsc && rollup -c rollup.config.js && npm run minify && npm run extract-api", "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js", "pack": "npm pack 2>&1", - "build:test": "echo skipped", - "test": "echo skipped", + "build:test": "tsc -p . && rollup -c 2>&1", "lint": "echo skipped", "format": "echo skip format as this package has only auto generated code", "check-format": "echo skip format check as this package has only auto generated code", - "unit-test:browser": "echo skipped", - "unit-test:node": "echo skipped", + "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", + "test:node": "npm run clean && npm run build:test && npm run unit-test:node", + "test": "npm run clean && npm run build:test && npm run unit-test", + "unit-test:browser": "karma start --single-run", + "unit-test:node": "mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/{,!(browser)/**/}*.spec.ts\"", "unit-test": "npm run unit-test:node && npm run unit-test:browser", "extract-api": "api-extractor run --local", "clean": "rimraf dist dist-* temp types *.tgz *.log", diff --git a/sdk/synapse/synapse-spark/recordings/browsers/synapse_managed_private_endpoints/recording_should_create_session.json b/sdk/synapse/synapse-spark/recordings/browsers/synapse_managed_private_endpoints/recording_should_create_session.json new file mode 100644 index 000000000000..cbadbd68e37d --- /dev/null +++ b/sdk/synapse/synapse-spark/recordings/browsers/synapse_managed_private_endpoints/recording_should_create_session.json @@ -0,0 +1,63 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1322", + "content-type": "application/json; charset=utf-8", + "date": "Tue, 10 Aug 2021 20:26:28 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11935.14 - WUS2 ProdSlices", + "x-ms-request-id": "12c15834-6ab7-4523-adbb-b82b49240700" + } + }, + { + "method": "POST", + "url": "https://testaccount.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions", + "query": {}, + "requestBody": "{\"name\":\"demo_session\",\"driverMemory\":\"28g\",\"driverCores\":4,\"executorMemory\":\"28g\",\"executorCores\":4,\"numExecutors\":2}", + "status": 200, + "response": "{\"id\":34,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null}", + "responseHeaders": { + "content-type": "application/json; charset=utf-8", + "date": "Tue, 10 Aug 2021 20:26:33 GMT", + "server": "Kestrel Microsoft-HTTPAPI/2.0", + "status": "200", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-ms-activity-id": "918a36bf-893e-4dd5-9633-e865b1486611", + "x-ms-client-request-id": "f9e6da3c-d1fc-47df-8db8-69422507ec63", + "x-ms-job-clusterrequested-on": "1/1/0001 12:00:00 AM +00:00", + "x-ms-job-ended-on": "", + "x-ms-job-internal-id": "34", + "x-ms-job-livysubmission-on": "1/1/0001 12:00:00 AM +00:00", + "x-ms-job-queued-on": "1/1/0001 12:00:00 AM +00:00", + "x-ms-job-result": "Uncertain", + "x-ms-job-scheduled-on": "1/1/0001 12:00:00 AM +00:00", + "x-ms-job-scheduler-state": "Queued", + "x-ms-job-submitted-by-name": "30511c9d-ba1a-4c7b-b422-5b543da11b3f", + "x-ms-job-submitted-on": "8/10/2021 8:26:28 PM +00:00", + "x-ms-job-type": "SparkServiceSession", + "x-ms-request-id": "42694739-2907-4eb1-b12c-7549c42cd590", + "x-ms-response-time-ms": "4775" + } + } + ], + "uniqueTestInfo": { + "uniqueName": {}, + "newDate": {} + }, + "hash": "d4891a2317e662f176d144aef652b5ab" +} \ No newline at end of file diff --git a/sdk/synapse/synapse-spark/recordings/browsers/synapse_managed_private_endpoints/recording_should_list_sessions.json b/sdk/synapse/synapse-spark/recordings/browsers/synapse_managed_private_endpoints/recording_should_list_sessions.json new file mode 100644 index 000000000000..a4ad4724b5bf --- /dev/null +++ b/sdk/synapse/synapse-spark/recordings/browsers/synapse_managed_private_endpoints/recording_should_list_sessions.json @@ -0,0 +1,52 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fsanitized%2F", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":86399,\"ext_expires_in\":86399,\"access_token\":\"access_token\"}", + "responseHeaders": { + "cache-control": "no-store, no-cache", + "content-length": "1322", + "content-type": "application/json; charset=utf-8", + "date": "Tue, 10 Aug 2021 20:26:33 GMT", + "expires": "-1", + "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "pragma": "no-cache", + "referrer-policy": "strict-origin-when-cross-origin", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-ests-server": "2.1.11935.14 - SCUS ProdSlices", + "x-ms-request-id": "fadb5160-6cac-46f7-a665-233fb6100000" + } + }, + { + "method": "GET", + "url": "https://testaccount.dev.azuresynapse.net/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions", + "query": {}, + "requestBody": null, + "status": 200, + "response": "{\"from\":0,\"total\":20,\"sessions\":[{\"id\":9,\"appId\":\"application_1628552050977_0007\",\"appInfo\":{\"driverLogUrl\":\"http://d3bdd27a029942e8b116889ad2df853c003e1c44323:8042/node/containerlogs/container_1628552050977_0007_01_000001/trusted-service-user\",\"sparkUiUrl\":\"http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0007/\",\"isSessionTimedOut\":\"true\"},\"state\":\"dead\",\"log\":[\"\\t tracking URL: http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0007/\",\"\\t user: trusted-service-user\",\"21/08/09 23:56:25 INFO ShutdownHookManager: Shutdown hook called\",\"21/08/09 23:56:25 INFO ShutdownHookManager: Deleting directory /tmp/spark-9b0c5aab-edc7-45ee-81bf-579ddf7743c9\",\"21/08/09 23:56:25 INFO ShutdownHookManager: Deleting directory /tmp/spark-c998cf7d-9373-4042-badc-3b46fae5fc6f\",\"21/08/09 23:56:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...\",\"21/08/09 23:56:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.\",\"21/08/09 23:56:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.\",\"\\nstderr: \",\"\\nYARN Diagnostics: \"]},{\"id\":10,\"appId\":\"application_1628552050977_0008\",\"appInfo\":{\"driverLogUrl\":\"http://d3bdd27a029942e8b116889ad2df853c003db842456:8042/node/containerlogs/container_1628552050977_0008_01_000001/trusted-service-user\",\"sparkUiUrl\":\"http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0008/\",\"isSessionTimedOut\":\"true\"},\"state\":\"dead\",\"log\":[\"\\t tracking URL: http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0008/\",\"\\t user: trusted-service-user\",\"21/08/09 23:59:20 INFO ShutdownHookManager: Shutdown hook called\",\"21/08/09 23:59:20 INFO ShutdownHookManager: Deleting directory /tmp/spark-b417ffae-5dc8-4e87-886d-5187e5537846\",\"21/08/09 23:59:20 INFO ShutdownHookManager: Deleting directory /tmp/spark-74ff6670-9a2a-4ea4-bfaa-2dee5129cbd5\",\"21/08/09 23:59:20 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...\",\"21/08/09 23:59:20 INFO MetricsSystemImpl: azure-file-system metrics system stopped.\",\"21/08/09 23:59:20 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.\",\"\\nstderr: \",\"\\nYARN Diagnostics: \"]},{\"id\":17,\"appId\":\"application_1628626490330_0001\",\"appInfo\":{\"driverLogUrl\":\"http://fcb56c1652644ce788aaf828196d9cb400135519550:8042/node/containerlogs/container_1628626490330_0001_01_000001/trusted-service-user\",\"sparkUiUrl\":\"http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0001/\",\"isSessionTimedOut\":\"true\"},\"state\":\"dead\",\"log\":[\"\\t tracking URL: http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0001/\",\"\\t user: trusted-service-user\",\"21/08/10 20:15:18 INFO ShutdownHookManager: Shutdown hook called\",\"21/08/10 20:15:18 INFO ShutdownHookManager: Deleting directory /tmp/spark-3a6db1d3-8268-4fd3-8571-abc0f9ed62ae\",\"21/08/10 20:15:18 INFO ShutdownHookManager: Deleting directory /tmp/spark-a7f16008-fa48-4694-a5f3-9e37b8413b58\",\"21/08/10 20:15:18 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...\",\"21/08/10 20:15:18 INFO MetricsSystemImpl: azure-file-system metrics system stopped.\",\"21/08/10 20:15:18 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.\",\"\\nstderr: \",\"\\nYARN Diagnostics: \"]},{\"id\":18,\"appId\":\"application_1628626490330_0002\",\"appInfo\":{\"driverLogUrl\":\"http://fcb56c1652644ce788aaf828196d9cb400495c68195:8042/node/containerlogs/container_1628626490330_0002_01_000001/trusted-service-user\",\"sparkUiUrl\":\"http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0002/\",\"isSessionTimedOut\":\"true\"},\"state\":\"dead\",\"log\":[\"\\t tracking URL: http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0002/\",\"\\t user: trusted-service-user\",\"21/08/10 20:15:18 INFO ShutdownHookManager: Shutdown hook called\",\"21/08/10 20:15:18 INFO ShutdownHookManager: Deleting directory /tmp/spark-81d42dd5-dfee-4207-987a-720e1d945c6d\",\"21/08/10 20:15:18 INFO ShutdownHookManager: Deleting directory /tmp/spark-982afeba-acf8-4a35-b947-009adeb638dc\",\"21/08/10 20:15:18 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...\",\"21/08/10 20:15:18 INFO MetricsSystemImpl: azure-file-system metrics system stopped.\",\"21/08/10 20:15:18 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.\",\"\\nstderr: \",\"\\nYARN Diagnostics: \"]},{\"id\":19,\"appId\":\"application_1628626490330_0003\",\"appInfo\":{\"driverLogUrl\":\"http://fcb56c1652644ce788aaf828196d9cb4001ebe94562:8042/node/containerlogs/container_1628626490330_0003_01_000001/trusted-service-user\",\"sparkUiUrl\":\"http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0003/\",\"isSessionTimedOut\":\"true\"},\"state\":\"dead\",\"log\":[\"\\t tracking URL: http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0003/\",\"\\t user: trusted-service-user\",\"21/08/10 20:15:25 INFO ShutdownHookManager: Shutdown hook called\",\"21/08/10 20:15:25 INFO ShutdownHookManager: Deleting directory /tmp/spark-a0d7e240-e9e1-4643-9903-3512e2803e54\",\"21/08/10 20:15:25 INFO ShutdownHookManager: Deleting directory /tmp/spark-24f0f6cb-56e6-4b6f-97c1-f757f3837e00\",\"21/08/10 20:15:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...\",\"21/08/10 20:15:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.\",\"21/08/10 20:15:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.\",\"\\nstderr: \",\"\\nYARN Diagnostics: \"]},{\"id\":20,\"appId\":null,\"appInfo\":{\"driverLogUrl\":null,\"sparkUiUrl\":null,\"isSessionTimedOut\":\"false\"},\"state\":\"starting\",\"log\":[\"stdout: \",\"\\nstderr: \",\"\\nYARN Diagnostics: \"]},{\"id\":21,\"appId\":null,\"appInfo\":{\"driverLogUrl\":null,\"sparkUiUrl\":null,\"isSessionTimedOut\":\"false\"},\"state\":\"starting\",\"log\":[\"stdout: \",\"\\nstderr: \",\"\\nYARN Diagnostics: \"]},{\"id\":22,\"appId\":null,\"appInfo\":{\"driverLogUrl\":null,\"sparkUiUrl\":null,\"isSessionTimedOut\":\"false\"},\"state\":\"starting\",\"log\":[\"stdout: \",\"\\nstderr: \",\"\\nYARN Diagnostics: \"]},{\"id\":23,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":24,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":25,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":26,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":27,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":28,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":29,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":30,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":31,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":32,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":33,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null},{\"id\":34,\"appId\":null,\"appInfo\":null,\"state\":\"not_started\",\"log\":null}]}", + "responseHeaders": { + "content-type": "application/json; charset=utf-8", + "date": "Tue, 10 Aug 2021 20:26:33 GMT", + "server": "Kestrel Microsoft-HTTPAPI/2.0", + "status": "200", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-ms-activity-id": "bf4d4802-fe23-4206-a74f-4962b5364b23", + "x-ms-client-request-id": "6fab3034-2238-4775-9522-0beffabb7a50", + "x-ms-request-id": "878499b8-8a9e-4d43-b5fc-68152f77fb52", + "x-ms-response-time-ms": "166" + } + } + ], + "uniqueTestInfo": { + "uniqueName": {}, + "newDate": {} + }, + "hash": "fd0e964348b53bd7f2b6e0fab7983ffb" +} \ No newline at end of file diff --git a/sdk/synapse/synapse-spark/recordings/node/synapse_managed_private_endpoints/recording_should_create_session.js b/sdk/synapse/synapse-spark/recordings/node/synapse_managed_private_endpoints/recording_should_create_session.js new file mode 100644 index 000000000000..f78a106a8010 --- /dev/null +++ b/sdk/synapse/synapse-spark/recordings/node/synapse_managed_private_endpoints/recording_should_create_session.js @@ -0,0 +1,156 @@ +let nock = require('nock'); + +module.exports.hash = "aec64ee63ff1999a26f64d3e21aff0ba"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '87c3dec5-837d-4565-b072-eb1b5e3be500', + 'x-ms-ests-server', + '2.1.11935.12 - NCUS ProdSlices', + 'Set-Cookie', + 'fpc=AgRoTrDZjTpElY2pAMJYCRQ; expires=Thu, 09-Sep-2021 20:26:20 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr0zOAy4Pxt53QX2imoWg2RJ7mpYUpjD7h5EMSZQ8oQ1y2q9a5ADhnJOCvrUqNdpGMNlUfIKcy3lQ1eYGcYbBSF-txxlE5V-FoMG_H7LdIrtqIp8jlLNIqWrjGe_PXSrM8UDgPTBb2Y6Vzyn0h80cqtrdZ2xgvR_avC5z_VoIyEuIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:26:19 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'a143c5cd-3fff-42f9-97e2-b95f4bc50000', + 'x-ms-ests-server', + '2.1.11935.14 - SCUS ProdSlices', + 'Set-Cookie', + 'fpc=AkPxHzA2z6RKmZPP5xuEaFU; expires=Thu, 09-Sep-2021 20:26:20 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrT1yY_6zd4Vg9hqaNx1TTLWwlv95BAeiTpXj9Dr6UiHH-4SxfkaC0oC7FcjR-L_hCJfxPfnw0EfksKMhaKa9ULRXEMJA10G9UVYaHwbz0NP6ta0-cdFactZHftBsICCTdh3iYICo6EL-Lly8AwKQnc_IWCJlpVHo2Dzc6QJK_dYogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:26:19 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=cf950f16-4a7c-4ffc-bb19-d9d862d23b28&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'b7e82f41-829d-4f2f-bbdd-876676e0c900', + 'x-ms-ests-server', + '2.1.11935.12 - EUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=Aii8BLqLLDRGjqlP01W5dF7KOuyWAQAAAOzXpNgOAAAA; expires=Thu, 09-Sep-2021 20:26:20 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:26:19 GMT', + 'Content-Length', + '1322' +]); + +nock('https://testaccount.dev.azuresynapse.net', {"encodedQueryParams":true}) + .post('/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions', {"name":"demo_session","driverMemory":"28g","driverCores":4,"executorMemory":"28g","executorCores":4,"numExecutors":2}) + .reply(200, {"id":33,"appId":null,"appInfo":null,"state":"not_started","log":null}, [ + 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/json; charset=utf-8', + 'Server', + 'Kestrel Microsoft-HTTPAPI/2.0', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'x-ms-job-submitted-by-name', + '30511c9d-ba1a-4c7b-b422-5b543da11b3f', + 'x-ms-job-submitted-on', + '8/10/2021 8:26:20 PM +00:00', + 'x-ms-job-scheduled-on', + '1/1/0001 12:00:00 AM +00:00', + 'x-ms-job-ended-on', + '', + 'x-ms-job-scheduler-state', + 'Queued', + 'x-ms-job-internal-id', + '33', + 'x-ms-job-result', + 'Uncertain', + 'x-ms-job-type', + 'SparkServiceSession', + 'x-ms-job-queued-on', + '1/1/0001 12:00:00 AM +00:00', + 'x-ms-job-clusterrequested-on', + '1/1/0001 12:00:00 AM +00:00', + 'x-ms-job-livysubmission-on', + '1/1/0001 12:00:00 AM +00:00', + 'x-ms-response-time-ms', + '4650', + 'x-ms-activity-id', + '4fa4a3f1-bea7-4db4-91d1-eb39da74b2fe', + 'x-ms-client-request-id', + 'fbd1fb00-20db-4fc9-be56-0f2884931003', + 'x-ms-request-id', + '88535ef7-c447-480a-b000-8cceb16c3c5d', + 'Date', + 'Tue, 10 Aug 2021 20:26:24 GMT' +]); diff --git a/sdk/synapse/synapse-spark/recordings/node/synapse_managed_private_endpoints/recording_should_list_sessions.js b/sdk/synapse/synapse-spark/recordings/node/synapse_managed_private_endpoints/recording_should_list_sessions.js new file mode 100644 index 000000000000..ae20edf354b0 --- /dev/null +++ b/sdk/synapse/synapse-spark/recordings/node/synapse_managed_private_endpoints/recording_should_list_sessions.js @@ -0,0 +1,134 @@ +let nock = require('nock'); + +module.exports.hash = "769c7b76f0ccbf6d624ecf24fb0d4543"; + +module.exports.testInfo = {"uniqueName":{},"newDate":{}} + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/common/discovery/instance') + .query(true) + .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + '2ed2b765-f859-4906-9e34-7b9e7daf5504', + 'x-ms-ests-server', + '2.1.11898.12 - EUS ProdSlices', + 'Set-Cookie', + 'fpc=AmSjUYE8oeFDiTp0r7nVslo; expires=Thu, 09-Sep-2021 20:26:25 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr75uLxh2GyrG7WRjEKg8tSqt5auKQIdKfLBUb2uMG3vvQ8U7LUw-Hg7pUzRyVOZp5lYYrFFh5CNQRmR7mjF8B4iTOyV_SMuCBYdG0zr4-PjhUCqUtPKF9zyWs6Sr5yqbDsNkVhMu8ptyFKnUSRrlbC36p7X0ChUN2PR7FCUQUYxQgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:26:24 GMT', + 'Content-Length', + '980' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .get('/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration') + .reply(200, {"token_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ + 'Cache-Control', + 'max-age=86400, private', + 'Content-Type', + 'application/json; charset=utf-8', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Access-Control-Allow-Origin', + '*', + 'Access-Control-Allow-Methods', + 'GET, OPTIONS', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'ffdf1d3f-162f-4ad5-bdf2-0d33685dae00', + 'x-ms-ests-server', + '2.1.11935.12 - NCUS ProdSlices', + 'Set-Cookie', + 'fpc=ApzbnmeBehNOvXDzjPUBTPE; expires=Thu, 09-Sep-2021 20:26:25 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrfkuit9ka8GjaLrYB-T3MJX_aRFpeolat5NikseAgmCMkkjDMkSrUcm2CgVC9a-2k23vKOqaB4uIlmAnddgMg9H2KCZENNjBS3f8P_kqc8VDSvomHtE5h-ujqi8Lg7Et8zs4NKmR8Cmqq8QT4lPHh9wBGe0-e50PMMvxLTJu4gfwgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:26:24 GMT', + 'Content-Length', + '1753' +]); + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=ea64357e-7d34-4e04-ad6a-26779330315e&client_secret=azure_client_secret") + .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ + 'Cache-Control', + 'no-store, no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'x-ms-request-id', + 'b368498d-7b50-43c7-ba0d-a60e0a50ce00', + 'x-ms-ests-server', + '2.1.11935.12 - EUS ProdSlices', + 'x-ms-clitelem', + '1,0,0,,', + 'Set-Cookie', + 'fpc=AqKMeKMYSidAqZUmj5Abz4bKOuyWAQAAAPDXpNgOAAAA; expires=Thu, 09-Sep-2021 20:26:25 GMT; path=/; secure; HttpOnly; SameSite=None', + 'Set-Cookie', + 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', + 'Set-Cookie', + 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', + 'Date', + 'Tue, 10 Aug 2021 20:26:25 GMT', + 'Content-Length', + '1322' +]); + +nock('https://testaccount.dev.azuresynapse.net', {"encodedQueryParams":true}) + .get('/livyApi/versions/2019-11-01-preview/sparkPools/testsparkpool/sessions') + .reply(200, {"from":0,"total":20,"sessions":[{"id":9,"appId":"application_1628552050977_0007","appInfo":{"driverLogUrl":"http://d3bdd27a029942e8b116889ad2df853c003e1c44323:8042/node/containerlogs/container_1628552050977_0007_01_000001/trusted-service-user","sparkUiUrl":"http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0007/","isSessionTimedOut":"true"},"state":"dead","log":["\t tracking URL: http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0007/","\t user: trusted-service-user","21/08/09 23:56:25 INFO ShutdownHookManager: Shutdown hook called","21/08/09 23:56:25 INFO ShutdownHookManager: Deleting directory /tmp/spark-9b0c5aab-edc7-45ee-81bf-579ddf7743c9","21/08/09 23:56:25 INFO ShutdownHookManager: Deleting directory /tmp/spark-c998cf7d-9373-4042-badc-3b46fae5fc6f","21/08/09 23:56:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","21/08/09 23:56:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","21/08/09 23:56:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.","\nstderr: ","\nYARN Diagnostics: "]},{"id":10,"appId":"application_1628552050977_0008","appInfo":{"driverLogUrl":"http://d3bdd27a029942e8b116889ad2df853c003db842456:8042/node/containerlogs/container_1628552050977_0008_01_000001/trusted-service-user","sparkUiUrl":"http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0008/","isSessionTimedOut":"true"},"state":"dead","log":["\t tracking URL: http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0008/","\t user: trusted-service-user","21/08/09 23:59:20 INFO ShutdownHookManager: Shutdown hook called","21/08/09 23:59:20 INFO ShutdownHookManager: Deleting directory /tmp/spark-b417ffae-5dc8-4e87-886d-5187e5537846","21/08/09 23:59:20 INFO ShutdownHookManager: Deleting directory /tmp/spark-74ff6670-9a2a-4ea4-bfaa-2dee5129cbd5","21/08/09 23:59:20 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","21/08/09 23:59:20 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","21/08/09 23:59:20 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.","\nstderr: ","\nYARN Diagnostics: "]},{"id":17,"appId":"application_1628626490330_0001","appInfo":{"driverLogUrl":"http://fcb56c1652644ce788aaf828196d9cb400135519550:8042/node/containerlogs/container_1628626490330_0001_01_000001/trusted-service-user","sparkUiUrl":"http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0001/","isSessionTimedOut":"true"},"state":"dead","log":["\t tracking URL: http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0001/","\t user: trusted-service-user","21/08/10 20:15:18 INFO ShutdownHookManager: Shutdown hook called","21/08/10 20:15:18 INFO ShutdownHookManager: Deleting directory /tmp/spark-3a6db1d3-8268-4fd3-8571-abc0f9ed62ae","21/08/10 20:15:18 INFO ShutdownHookManager: Deleting directory /tmp/spark-a7f16008-fa48-4694-a5f3-9e37b8413b58","21/08/10 20:15:18 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","21/08/10 20:15:18 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","21/08/10 20:15:18 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.","\nstderr: ","\nYARN Diagnostics: "]},{"id":18,"appId":"application_1628626490330_0002","appInfo":{"driverLogUrl":"http://fcb56c1652644ce788aaf828196d9cb400495c68195:8042/node/containerlogs/container_1628626490330_0002_01_000001/trusted-service-user","sparkUiUrl":"http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0002/","isSessionTimedOut":"true"},"state":"dead","log":["\t tracking URL: http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0002/","\t user: trusted-service-user","21/08/10 20:15:18 INFO ShutdownHookManager: Shutdown hook called","21/08/10 20:15:18 INFO ShutdownHookManager: Deleting directory /tmp/spark-81d42dd5-dfee-4207-987a-720e1d945c6d","21/08/10 20:15:18 INFO ShutdownHookManager: Deleting directory /tmp/spark-982afeba-acf8-4a35-b947-009adeb638dc","21/08/10 20:15:18 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","21/08/10 20:15:18 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","21/08/10 20:15:18 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.","\nstderr: ","\nYARN Diagnostics: "]},{"id":19,"appId":"application_1628626490330_0003","appInfo":{"driverLogUrl":"http://fcb56c1652644ce788aaf828196d9cb4001ebe94562:8042/node/containerlogs/container_1628626490330_0003_01_000001/trusted-service-user","sparkUiUrl":"http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0003/","isSessionTimedOut":"true"},"state":"dead","log":["\t tracking URL: http://fcb56c1652644ce788aaf828196d9cb400197b73200:8088/proxy/application_1628626490330_0003/","\t user: trusted-service-user","21/08/10 20:15:25 INFO ShutdownHookManager: Shutdown hook called","21/08/10 20:15:25 INFO ShutdownHookManager: Deleting directory /tmp/spark-a0d7e240-e9e1-4643-9903-3512e2803e54","21/08/10 20:15:25 INFO ShutdownHookManager: Deleting directory /tmp/spark-24f0f6cb-56e6-4b6f-97c1-f757f3837e00","21/08/10 20:15:25 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","21/08/10 20:15:25 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","21/08/10 20:15:25 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.","\nstderr: ","\nYARN Diagnostics: "]},{"id":20,"appId":null,"appInfo":{"driverLogUrl":null,"sparkUiUrl":null,"isSessionTimedOut":"false"},"state":"starting","log":["stdout: ","\nstderr: ","\nYARN Diagnostics: "]},{"id":21,"appId":null,"appInfo":{"driverLogUrl":null,"sparkUiUrl":null,"isSessionTimedOut":"false"},"state":"starting","log":["stdout: ","\nstderr: ","\nYARN Diagnostics: "]},{"id":22,"appId":null,"appInfo":{"driverLogUrl":null,"sparkUiUrl":null,"isSessionTimedOut":"false"},"state":"starting","log":["stdout: ","\nstderr: ","\nYARN Diagnostics: "]},{"id":23,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":24,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":25,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":26,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":27,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":28,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":29,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":30,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":31,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":32,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":33,"appId":null,"appInfo":null,"state":"not_started","log":null},{"id":3,"appId":"application_1628552050977_0001","appInfo":{"driverLogUrl":"http://d3bdd27a029942e8b116889ad2df853c00376412812:8042/node/containerlogs/container_1628552050977_0001_01_000001/trusted-service-user","sparkUiUrl":"http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0001/","isSessionTimedOut":"true"},"state":"dead","log":["\t tracking URL: http://d3bdd27a029942e8b116889ad2df853c00376412812:8088/proxy/application_1628552050977_0001/","\t user: trusted-service-user","21/08/09 23:34:35 INFO ShutdownHookManager: Shutdown hook called","21/08/09 23:34:35 INFO ShutdownHookManager: Deleting directory /tmp/spark-613915bd-e857-4dce-896c-6853c88aa376","21/08/09 23:34:35 INFO ShutdownHookManager: Deleting directory /tmp/spark-550ee1ed-4f5b-4c6c-9765-b6ac0fe95193","21/08/09 23:34:35 INFO MetricsSystemImpl: Stopping azure-file-system metrics system...","21/08/09 23:34:35 INFO MetricsSystemImpl: azure-file-system metrics system stopped.","21/08/09 23:34:35 INFO MetricsSystemImpl: azure-file-system metrics system shutdown complete.","\nstderr: ","\nYARN Diagnostics: "]}]}, [ + 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/json; charset=utf-8', + 'Server', + 'Kestrel Microsoft-HTTPAPI/2.0', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'x-ms-response-time-ms', + '160', + 'x-ms-activity-id', + 'f9755f9d-bfb1-4e90-ab22-dcac80f617a8', + 'x-ms-client-request-id', + '9b5a1a66-7632-49d2-8688-c5ed2db976bc', + 'x-ms-request-id', + 'd0c39e0c-9251-4436-8da2-b20d5961453a', + 'Date', + 'Tue, 10 Aug 2021 20:26:25 GMT' +]); diff --git a/sdk/synapse/synapse-spark/review/synapse-spark.api.md b/sdk/synapse/synapse-spark/review/synapse-spark.api.md index 1b3a81f72542..510b81bc3abb 100644 --- a/sdk/synapse/synapse-spark/review/synapse-spark.api.md +++ b/sdk/synapse/synapse-spark/review/synapse-spark.api.md @@ -4,10 +4,11 @@ ```ts -import * as coreHttp from '@azure/core-http'; +import * as coreAuth from '@azure/core-auth'; +import * as coreClient from '@azure/core-client'; // @public -export const enum KnownPluginCurrentState { +export enum KnownPluginCurrentState { // (undocumented) Cleanup = "Cleanup", // (undocumented) @@ -25,7 +26,7 @@ export const enum KnownPluginCurrentState { } // @public -export const enum KnownSchedulerCurrentState { +export enum KnownSchedulerCurrentState { // (undocumented) Ended = "Ended", // (undocumented) @@ -35,7 +36,7 @@ export const enum KnownSchedulerCurrentState { } // @public -export const enum KnownSparkBatchJobResultType { +export enum KnownSparkBatchJobResultType { // (undocumented) Cancelled = "Cancelled", // (undocumented) @@ -47,7 +48,7 @@ export const enum KnownSparkBatchJobResultType { } // @public -export const enum KnownSparkErrorSource { +export enum KnownSparkErrorSource { // (undocumented) Dependency = "Dependency", // (undocumented) @@ -59,7 +60,7 @@ export const enum KnownSparkErrorSource { } // @public -export const enum KnownSparkJobType { +export enum KnownSparkJobType { // (undocumented) SparkBatch = "SparkBatch", // (undocumented) @@ -67,7 +68,7 @@ export const enum KnownSparkJobType { } // @public -export const enum KnownSparkSessionResultType { +export enum KnownSparkSessionResultType { // (undocumented) Cancelled = "Cancelled", // (undocumented) @@ -79,7 +80,7 @@ export const enum KnownSparkSessionResultType { } // @public -export const enum KnownSparkStatementLanguageType { +export enum KnownSparkStatementLanguageType { // (undocumented) DotNetSpark = "dotnetspark", // (undocumented) @@ -97,59 +98,56 @@ export type PluginCurrentState = string; export type SchedulerCurrentState = string; // @public -export interface SparkBatchCreateSparkBatchJobOptionalParams extends coreHttp.OperationOptions { +export interface SparkBatch { + cancelSparkBatchJob(batchId: number, options?: SparkBatchCancelSparkBatchJobOptionalParams): Promise; + createSparkBatchJob(sparkBatchJobOptions: SparkBatchJobOptions, options?: SparkBatchCreateSparkBatchJobOptionalParams): Promise; + getSparkBatchJob(batchId: number, options?: SparkBatchGetSparkBatchJobOptionalParams): Promise; + getSparkBatchJobs(options?: SparkBatchGetSparkBatchJobsOptionalParams): Promise; +} + +// @public +export interface SparkBatchCancelSparkBatchJobOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SparkBatchCreateSparkBatchJobOptionalParams extends coreClient.OperationOptions { detailed?: boolean; } // @public -export type SparkBatchCreateSparkBatchJobResponse = SparkBatchJob & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkBatchJob; - }; -}; +export type SparkBatchCreateSparkBatchJobResponse = SparkBatchJob; // @public -export interface SparkBatchGetSparkBatchJobOptionalParams extends coreHttp.OperationOptions { +export interface SparkBatchGetSparkBatchJobOptionalParams extends coreClient.OperationOptions { detailed?: boolean; } // @public -export type SparkBatchGetSparkBatchJobResponse = SparkBatchJob & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkBatchJob; - }; -}; +export type SparkBatchGetSparkBatchJobResponse = SparkBatchJob; // @public -export interface SparkBatchGetSparkBatchJobsOptionalParams extends coreHttp.OperationOptions { +export interface SparkBatchGetSparkBatchJobsOptionalParams extends coreClient.OperationOptions { detailed?: boolean; fromParam?: number; size?: number; } // @public -export type SparkBatchGetSparkBatchJobsResponse = SparkBatchJobCollection & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkBatchJobCollection; - }; -}; +export type SparkBatchGetSparkBatchJobsResponse = SparkBatchJobCollection; // @public (undocumented) export interface SparkBatchJob { - appId?: string | null; + appId?: string; appInfo?: { [propertyName: string]: string; - } | null; + }; artifactId?: string; errors?: SparkServiceError[]; id: number; jobType?: SparkJobType; // (undocumented) livyInfo?: SparkBatchJobState; - logLines?: string[] | null; + logLines?: string[]; name?: string; plugin?: SparkServicePlugin; result?: SparkBatchJobResultType; @@ -215,38 +213,29 @@ export type SparkBatchJobResultType = string; // @public (undocumented) export interface SparkBatchJobState { currentState?: string; - deadAt?: Date | null; + deadAt?: Date; // (undocumented) jobCreationRequest?: SparkRequest; - notStartedAt?: Date | null; - recoveringAt?: Date | null; - runningAt?: Date | null; - startingAt?: Date | null; - successAt?: Date | null; - terminatedAt?: Date | null; -} - -// @public -export class SparkBatchOperation { - constructor(client: SparkClient); - cancelSparkBatchJob(batchId: number, options?: coreHttp.OperationOptions): Promise; - createSparkBatchJob(sparkBatchJobOptions: SparkBatchJobOptions, options?: SparkBatchCreateSparkBatchJobOptionalParams): Promise; - getSparkBatchJob(batchId: number, options?: SparkBatchGetSparkBatchJobOptionalParams): Promise; - getSparkBatchJobs(options?: SparkBatchGetSparkBatchJobsOptionalParams): Promise; + notStartedAt?: Date; + recoveringAt?: Date; + runningAt?: Date; + startingAt?: Date; + successAt?: Date; + terminatedAt?: Date; } // @public (undocumented) export class SparkClient extends SparkClientContext { - constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, endpoint: string, sparkPoolName: string, options?: SparkClientOptionalParams); + constructor(credentials: coreAuth.TokenCredential, endpoint: string, sparkPoolName: string, options?: SparkClientOptionalParams); // (undocumented) - sparkBatch: SparkBatchOperation; + sparkBatch: SparkBatch; // (undocumented) - sparkSession: SparkSessionOperation; + sparkSessionOperations: SparkSessionOperations; } // @public (undocumented) -export class SparkClientContext extends coreHttp.ServiceClient { - constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, endpoint: string, sparkPoolName: string, options?: SparkClientOptionalParams); +export class SparkClientContext extends coreClient.ServiceClient { + constructor(credentials: coreAuth.TokenCredential, endpoint: string, sparkPoolName: string, options?: SparkClientOptionalParams); // (undocumented) endpoint: string; // (undocumented) @@ -256,7 +245,7 @@ export class SparkClientContext extends coreHttp.ServiceClient { } // @public -export interface SparkClientOptionalParams extends coreHttp.ServiceClientOptions { +export interface SparkClientOptionalParams extends coreClient.ServiceClientOptions { endpoint?: string; livyApiVersion?: string; } @@ -303,15 +292,15 @@ export interface SparkRequest { // @public (undocumented) export interface SparkScheduler { // (undocumented) - cancellationRequestedAt?: Date | null; + cancellationRequestedAt?: Date; // (undocumented) currentState?: SchedulerCurrentState; // (undocumented) - endedAt?: Date | null; + endedAt?: Date; // (undocumented) - scheduledAt?: Date | null; + scheduledAt?: Date; // (undocumented) - submittedAt?: Date | null; + submittedAt?: Date; } // @public (undocumented) @@ -327,28 +316,29 @@ export interface SparkServiceError { // @public (undocumented) export interface SparkServicePlugin { // (undocumented) - cleanupStartedAt?: Date | null; + cleanupStartedAt?: Date; // (undocumented) currentState?: PluginCurrentState; // (undocumented) - monitoringStartedAt?: Date | null; + monitoringStartedAt?: Date; // (undocumented) - preparationStartedAt?: Date | null; + preparationStartedAt?: Date; // (undocumented) - resourceAcquisitionStartedAt?: Date | null; + resourceAcquisitionStartedAt?: Date; // (undocumented) - submissionStartedAt?: Date | null; + submissionStartedAt?: Date; } // @public (undocumented) export interface SparkSession { // (undocumented) - appId?: string | null; + appId?: string; appInfo?: { [propertyName: string]: string; - } | null; + }; // (undocumented) artifactId?: string; + // (undocumented) errors?: SparkServiceError[]; // (undocumented) id: number; @@ -356,7 +346,7 @@ export interface SparkSession { // (undocumented) livyInfo?: SparkSessionState; // (undocumented) - logLines?: string[] | null; + logLines?: string[]; // (undocumented) name?: string; // (undocumented) @@ -380,14 +370,6 @@ export interface SparkSession { workspaceName?: string; } -// @public -export type SparkSessionCancelSparkStatementResponse = SparkStatementCancellationResult & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkStatementCancellationResult; - }; -}; - // @public (undocumented) export interface SparkSessionCollection { // (undocumented) @@ -399,82 +381,78 @@ export interface SparkSessionCollection { } // @public -export interface SparkSessionCreateSparkSessionOptionalParams extends coreHttp.OperationOptions { +export interface SparkSessionOperations { + cancelSparkSession(sessionId: number, options?: SparkSessionOperationsCancelSparkSessionOptionalParams): Promise; + cancelSparkStatement(sessionId: number, statementId: number, options?: SparkSessionOperationsCancelSparkStatementOptionalParams): Promise; + createSparkSession(sparkSessionOptions: SparkSessionOptions, options?: SparkSessionOperationsCreateSparkSessionOptionalParams): Promise; + createSparkStatement(sessionId: number, sparkStatementOptions: SparkStatementOptions, options?: SparkSessionOperationsCreateSparkStatementOptionalParams): Promise; + getSparkSession(sessionId: number, options?: SparkSessionOperationsGetSparkSessionOptionalParams): Promise; + getSparkSessions(options?: SparkSessionOperationsGetSparkSessionsOptionalParams): Promise; + getSparkStatement(sessionId: number, statementId: number, options?: SparkSessionOperationsGetSparkStatementOptionalParams): Promise; + getSparkStatements(sessionId: number, options?: SparkSessionOperationsGetSparkStatementsOptionalParams): Promise; + resetSparkSessionTimeout(sessionId: number, options?: SparkSessionOperationsResetSparkSessionTimeoutOptionalParams): Promise; +} + +// @public +export interface SparkSessionOperationsCancelSparkSessionOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SparkSessionOperationsCancelSparkStatementOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SparkSessionOperationsCancelSparkStatementResponse = SparkStatementCancellationResult; + +// @public +export interface SparkSessionOperationsCreateSparkSessionOptionalParams extends coreClient.OperationOptions { detailed?: boolean; } // @public -export type SparkSessionCreateSparkSessionResponse = SparkSession & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkSession; - }; -}; +export type SparkSessionOperationsCreateSparkSessionResponse = SparkSession; // @public -export type SparkSessionCreateSparkStatementResponse = SparkStatement & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkStatement; - }; -}; +export interface SparkSessionOperationsCreateSparkStatementOptionalParams extends coreClient.OperationOptions { +} // @public -export interface SparkSessionGetSparkSessionOptionalParams extends coreHttp.OperationOptions { +export type SparkSessionOperationsCreateSparkStatementResponse = SparkStatement; + +// @public +export interface SparkSessionOperationsGetSparkSessionOptionalParams extends coreClient.OperationOptions { detailed?: boolean; } // @public -export type SparkSessionGetSparkSessionResponse = SparkSession & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkSession; - }; -}; +export type SparkSessionOperationsGetSparkSessionResponse = SparkSession; // @public -export interface SparkSessionGetSparkSessionsOptionalParams extends coreHttp.OperationOptions { +export interface SparkSessionOperationsGetSparkSessionsOptionalParams extends coreClient.OperationOptions { detailed?: boolean; fromParam?: number; size?: number; } // @public -export type SparkSessionGetSparkSessionsResponse = SparkSessionCollection & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkSessionCollection; - }; -}; +export type SparkSessionOperationsGetSparkSessionsResponse = SparkSessionCollection; // @public -export type SparkSessionGetSparkStatementResponse = SparkStatement & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkStatement; - }; -}; +export interface SparkSessionOperationsGetSparkStatementOptionalParams extends coreClient.OperationOptions { +} // @public -export type SparkSessionGetSparkStatementsResponse = SparkStatementCollection & { - _response: coreHttp.HttpResponse & { - bodyAsText: string; - parsedBody: SparkStatementCollection; - }; -}; +export type SparkSessionOperationsGetSparkStatementResponse = SparkStatement; // @public -export class SparkSessionOperation { - constructor(client: SparkClient); - cancelSparkSession(sessionId: number, options?: coreHttp.OperationOptions): Promise; - cancelSparkStatement(sessionId: number, statementId: number, options?: coreHttp.OperationOptions): Promise; - createSparkSession(sparkSessionOptions: SparkSessionOptions, options?: SparkSessionCreateSparkSessionOptionalParams): Promise; - createSparkStatement(sessionId: number, sparkStatementOptions: SparkStatementOptions, options?: coreHttp.OperationOptions): Promise; - getSparkSession(sessionId: number, options?: SparkSessionGetSparkSessionOptionalParams): Promise; - getSparkSessions(options?: SparkSessionGetSparkSessionsOptionalParams): Promise; - getSparkStatement(sessionId: number, statementId: number, options?: coreHttp.OperationOptions): Promise; - getSparkStatements(sessionId: number, options?: coreHttp.OperationOptions): Promise; - resetSparkSessionTimeout(sessionId: number, options?: coreHttp.OperationOptions): Promise; +export interface SparkSessionOperationsGetSparkStatementsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SparkSessionOperationsGetSparkStatementsResponse = SparkStatementCollection; + +// @public +export interface SparkSessionOperationsResetSparkSessionTimeoutOptionalParams extends coreClient.OperationOptions { } // @public (undocumented) @@ -521,26 +499,27 @@ export type SparkSessionResultType = string; // @public (undocumented) export interface SparkSessionState { // (undocumented) - busyAt?: Date | null; + busyAt?: Date; // (undocumented) currentState?: string; // (undocumented) - deadAt?: Date | null; + deadAt?: Date; // (undocumented) - errorAt?: Date | null; + errorAt?: Date; // (undocumented) - idleAt?: Date | null; + idleAt?: Date; // (undocumented) jobCreationRequest?: SparkRequest; // (undocumented) - notStartedAt?: Date | null; + notStartedAt?: Date; + // (undocumented) + recoveringAt?: Date; // (undocumented) - recoveringAt?: Date | null; + shuttingDownAt?: Date; // (undocumented) - shuttingDownAt?: Date | null; + startingAt?: Date; // (undocumented) - startingAt?: Date | null; - terminatedAt?: Date | null; + terminatedAt?: Date; } // @public (undocumented) @@ -550,7 +529,7 @@ export interface SparkStatement { // (undocumented) id: number; // (undocumented) - output?: SparkStatementOutput | null; + output?: SparkStatementOutput; // (undocumented) state?: string; } @@ -581,17 +560,17 @@ export interface SparkStatementOptions { // @public (undocumented) export interface SparkStatementOutput { - data?: any; + data?: Record; // (undocumented) - errorName?: string | null; + errorName?: string; // (undocumented) - errorValue?: string | null; + errorValue?: string; // (undocumented) executionCount: number; // (undocumented) status?: string; // (undocumented) - traceback?: string[] | null; + traceback?: string[]; } diff --git a/sdk/synapse/synapse-spark/rollup.config.js b/sdk/synapse/synapse-spark/rollup.config.js index 8cdd0e5c0c18..5d7deee44c14 100644 --- a/sdk/synapse/synapse-spark/rollup.config.js +++ b/sdk/synapse/synapse-spark/rollup.config.js @@ -1,60 +1,3 @@ -import rollup from "rollup"; -import nodeResolve from "rollup-plugin-node-resolve"; -import sourcemaps from "rollup-plugin-sourcemaps"; -import cjs from "@rollup/plugin-commonjs"; -import { openTelemetryCommonJs } from "@azure/dev-tool/shared-config/rollup"; +import { makeConfig } from "@azure/dev-tool/shared-config/rollup"; - -const ignoreKnownWarnings = (warning) => { - if (warning.code === "THIS_IS_UNDEFINED") { - // This error happens frequently due to TypeScript emitting `this` at the - // top-level of a module. In this case its fine if it gets rewritten to - // undefined, so ignore this error. - return; - } - - if (warning.code === "CIRCULAR_DEPENDENCY" && warning.importer.indexOf("@opentelemetry/api") >= 0) { - // OpenTelemetry contains circular references as of 1.0.0, but they are not fatal and can be ignored. - return; - } - - console.error(`(!) ${warning.message}`); -} - -/** - * @type {rollup.RollupFileOptions} - */ -const config = { - input: "./dist-esm/sparkClient.js", - external: ["@azure/core-http", "@azure/core-arm"], - onwarn: ignoreKnownWarnings, - output: { - file: "./dist/index.js", - format: "cjs", - name: "Azure.SynapseSpark", - sourcemap: true, - globals: { - "@azure/core-http": "coreHttp", - "@azure/core-arm": "coreArm" - }, - banner: `/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ ` - }, - plugins: [ - nodeResolve({ module: true }), - sourcemaps(), - cjs({ - namedExports: { - assert: ["ok", "deepEqual", "equal", "fail", "deepStrictEqual", "strictEqual"], - ...openTelemetryCommonJs() - } - }) - ] -}; - -export default config; +export default makeConfig(require("./package.json")); diff --git a/sdk/synapse/synapse-spark/src/index.ts b/sdk/synapse/synapse-spark/src/index.ts index 5cc2b60083cf..d81ff0e0e112 100644 --- a/sdk/synapse/synapse-spark/src/index.ts +++ b/sdk/synapse/synapse-spark/src/index.ts @@ -1,9 +1,12 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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 { SparkClient } from "./sparkClient"; export { SparkClientContext } from "./sparkClientContext"; -export { - SparkBatch as SparkBatchOperation, - SparkSession as SparkSessionOperation -} from "./operations"; +export * from "./operationsInterfaces"; diff --git a/sdk/synapse/synapse-spark/src/models/index.ts b/sdk/synapse/synapse-spark/src/models/index.ts index 644cb463145f..571073ed9ccb 100644 --- a/sdk/synapse/synapse-spark/src/models/index.ts +++ b/sdk/synapse/synapse-spark/src/models/index.ts @@ -1,6 +1,12 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; +/* + * 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"; /** Response for batch list operation. */ export interface SparkBatchJobCollection { @@ -41,30 +47,30 @@ export interface SparkBatchJob { /** The session Id. */ id: number; /** The application id of this session */ - appId?: string | null; + appId?: string; /** The detailed application info. */ - appInfo?: { [propertyName: string]: string } | null; + appInfo?: { [propertyName: string]: string }; /** The batch state */ state?: string; /** The log lines. */ - logLines?: string[] | null; + logLines?: string[]; } export interface SparkBatchJobState { /** the time that at which "not_started" livy state was first seen. */ - notStartedAt?: Date | null; + notStartedAt?: Date; /** the time that at which "starting" livy state was first seen. */ - startingAt?: Date | null; + startingAt?: Date; /** the time that at which "running" livy state was first seen. */ - runningAt?: Date | null; + runningAt?: Date; /** time that at which "dead" livy state was first seen. */ - deadAt?: Date | null; + deadAt?: Date; /** the time that at which "success" livy state was first seen. */ - successAt?: Date | null; + successAt?: Date; /** the time that at which "killed" livy state was first seen. */ - terminatedAt?: Date | null; + terminatedAt?: Date; /** the time that at which "recovering" livy state was first seen. */ - recoveringAt?: Date | null; + recoveringAt?: Date; /** the Spark job state. */ currentState?: string; jobCreationRequest?: SparkRequest; @@ -89,19 +95,19 @@ export interface SparkRequest { } export interface SparkScheduler { - submittedAt?: Date | null; - scheduledAt?: Date | null; - endedAt?: Date | null; - cancellationRequestedAt?: Date | null; + submittedAt?: Date; + scheduledAt?: Date; + endedAt?: Date; + cancellationRequestedAt?: Date; currentState?: SchedulerCurrentState; } export interface SparkServicePlugin { - preparationStartedAt?: Date | null; - resourceAcquisitionStartedAt?: Date | null; - submissionStartedAt?: Date | null; - monitoringStartedAt?: Date | null; - cleanupStartedAt?: Date | null; + preparationStartedAt?: Date; + resourceAcquisitionStartedAt?: Date; + submissionStartedAt?: Date; + monitoringStartedAt?: Date; + cleanupStartedAt?: Date; currentState?: PluginCurrentState; } @@ -151,29 +157,27 @@ export interface SparkSession { result?: SparkSessionResultType; scheduler?: SparkScheduler; plugin?: SparkServicePlugin; - /** The error information. */ errors?: SparkServiceError[]; /** Dictionary of */ tags?: { [propertyName: string]: string }; id: number; - appId?: string | null; + appId?: string; /** Dictionary of */ - appInfo?: { [propertyName: string]: string } | null; + appInfo?: { [propertyName: string]: string }; state?: string; - logLines?: string[] | null; + logLines?: string[]; } export interface SparkSessionState { - notStartedAt?: Date | null; - startingAt?: Date | null; - idleAt?: Date | null; - deadAt?: Date | null; - shuttingDownAt?: Date | null; - /** the time that at which "killed" livy state was first seen. */ - terminatedAt?: Date | null; - recoveringAt?: Date | null; - busyAt?: Date | null; - errorAt?: Date | null; + notStartedAt?: Date; + startingAt?: Date; + idleAt?: Date; + deadAt?: Date; + shuttingDownAt?: Date; + terminatedAt?: Date; + recoveringAt?: Date; + busyAt?: Date; + errorAt?: Date; currentState?: string; jobCreationRequest?: SparkRequest; } @@ -208,17 +212,17 @@ export interface SparkStatement { id: number; code?: string; state?: string; - output?: SparkStatementOutput | null; + output?: SparkStatementOutput; } export interface SparkStatementOutput { status?: string; executionCount: number; /** Any object */ - data?: any; - errorName?: string | null; - errorValue?: string | null; - traceback?: string[] | null; + data?: Record; + errorName?: string; + errorValue?: string; + traceback?: string[]; } export interface SparkStatementOptions { @@ -232,7 +236,7 @@ export interface SparkStatementCancellationResult { } /** Known values of {@link SparkJobType} that the service accepts. */ -export const enum KnownSparkJobType { +export enum KnownSparkJobType { SparkBatch = "SparkBatch", SparkSession = "SparkSession" } @@ -241,14 +245,14 @@ export const enum KnownSparkJobType { * Defines values for SparkJobType. \ * {@link KnownSparkJobType} can be used interchangeably with SparkJobType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **SparkBatch** \ * **SparkSession** */ export type SparkJobType = string; /** Known values of {@link SparkBatchJobResultType} that the service accepts. */ -export const enum KnownSparkBatchJobResultType { +export enum KnownSparkBatchJobResultType { Uncertain = "Uncertain", Succeeded = "Succeeded", Failed = "Failed", @@ -259,7 +263,7 @@ export const enum KnownSparkBatchJobResultType { * Defines values for SparkBatchJobResultType. \ * {@link KnownSparkBatchJobResultType} can be used interchangeably with SparkBatchJobResultType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Uncertain** \ * **Succeeded** \ * **Failed** \ @@ -268,7 +272,7 @@ export const enum KnownSparkBatchJobResultType { export type SparkBatchJobResultType = string; /** Known values of {@link SchedulerCurrentState} that the service accepts. */ -export const enum KnownSchedulerCurrentState { +export enum KnownSchedulerCurrentState { Queued = "Queued", Scheduled = "Scheduled", Ended = "Ended" @@ -278,7 +282,7 @@ export const enum KnownSchedulerCurrentState { * Defines values for SchedulerCurrentState. \ * {@link KnownSchedulerCurrentState} can be used interchangeably with SchedulerCurrentState, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Queued** \ * **Scheduled** \ * **Ended** @@ -286,7 +290,7 @@ export const enum KnownSchedulerCurrentState { export type SchedulerCurrentState = string; /** Known values of {@link PluginCurrentState} that the service accepts. */ -export const enum KnownPluginCurrentState { +export enum KnownPluginCurrentState { Preparation = "Preparation", ResourceAcquisition = "ResourceAcquisition", Queued = "Queued", @@ -300,7 +304,7 @@ export const enum KnownPluginCurrentState { * Defines values for PluginCurrentState. \ * {@link KnownPluginCurrentState} can be used interchangeably with PluginCurrentState, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Preparation** \ * **ResourceAcquisition** \ * **Queued** \ @@ -312,7 +316,7 @@ export const enum KnownPluginCurrentState { export type PluginCurrentState = string; /** Known values of {@link SparkErrorSource} that the service accepts. */ -export const enum KnownSparkErrorSource { +export enum KnownSparkErrorSource { System = "System", User = "User", Unknown = "Unknown", @@ -323,7 +327,7 @@ export const enum KnownSparkErrorSource { * Defines values for SparkErrorSource. \ * {@link KnownSparkErrorSource} can be used interchangeably with SparkErrorSource, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **System** \ * **User** \ * **Unknown** \ @@ -332,7 +336,7 @@ export const enum KnownSparkErrorSource { export type SparkErrorSource = string; /** Known values of {@link SparkSessionResultType} that the service accepts. */ -export const enum KnownSparkSessionResultType { +export enum KnownSparkSessionResultType { Uncertain = "Uncertain", Succeeded = "Succeeded", Failed = "Failed", @@ -343,7 +347,7 @@ export const enum KnownSparkSessionResultType { * Defines values for SparkSessionResultType. \ * {@link KnownSparkSessionResultType} can be used interchangeably with SparkSessionResultType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **Uncertain** \ * **Succeeded** \ * **Failed** \ @@ -352,7 +356,7 @@ export const enum KnownSparkSessionResultType { export type SparkSessionResultType = string; /** Known values of {@link SparkStatementLanguageType} that the service accepts. */ -export const enum KnownSparkStatementLanguageType { +export enum KnownSparkStatementLanguageType { Spark = "spark", PySpark = "pyspark", DotNetSpark = "dotnetspark", @@ -363,7 +367,7 @@ export const enum KnownSparkStatementLanguageType { * Defines values for SparkStatementLanguageType. \ * {@link KnownSparkStatementLanguageType} can be used interchangeably with SparkStatementLanguageType, * this enum contains the known values that the service supports. - * ### Know values supported by the service + * ### Known values supported by the service * **spark** \ * **pyspark** \ * **dotnetspark** \ @@ -372,7 +376,8 @@ export const enum KnownSparkStatementLanguageType { export type SparkStatementLanguageType = string; /** Optional parameters. */ -export interface SparkBatchGetSparkBatchJobsOptionalParams extends coreHttp.OperationOptions { +export interface SparkBatchGetSparkBatchJobsOptionalParams + extends coreClient.OperationOptions { /** Optional param specifying which index the list should begin from. */ fromParam?: number; /** @@ -385,55 +390,35 @@ export interface SparkBatchGetSparkBatchJobsOptionalParams extends coreHttp.Oper } /** Contains response data for the getSparkBatchJobs operation. */ -export type SparkBatchGetSparkBatchJobsResponse = SparkBatchJobCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkBatchJobCollection; - }; -}; +export type SparkBatchGetSparkBatchJobsResponse = SparkBatchJobCollection; /** Optional parameters. */ -export interface SparkBatchCreateSparkBatchJobOptionalParams extends coreHttp.OperationOptions { +export interface SparkBatchCreateSparkBatchJobOptionalParams + extends coreClient.OperationOptions { /** Optional query param specifying whether detailed response is returned beyond plain livy. */ detailed?: boolean; } /** Contains response data for the createSparkBatchJob operation. */ -export type SparkBatchCreateSparkBatchJobResponse = SparkBatchJob & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkBatchJob; - }; -}; +export type SparkBatchCreateSparkBatchJobResponse = SparkBatchJob; /** Optional parameters. */ -export interface SparkBatchGetSparkBatchJobOptionalParams extends coreHttp.OperationOptions { +export interface SparkBatchGetSparkBatchJobOptionalParams + extends coreClient.OperationOptions { /** Optional query param specifying whether detailed response is returned beyond plain livy. */ detailed?: boolean; } /** Contains response data for the getSparkBatchJob operation. */ -export type SparkBatchGetSparkBatchJobResponse = SparkBatchJob & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type SparkBatchGetSparkBatchJobResponse = SparkBatchJob; - /** The response body as parsed JSON or XML */ - parsedBody: SparkBatchJob; - }; -}; +/** Optional parameters. */ +export interface SparkBatchCancelSparkBatchJobOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface SparkSessionGetSparkSessionsOptionalParams extends coreHttp.OperationOptions { +export interface SparkSessionOperationsGetSparkSessionsOptionalParams + extends coreClient.OperationOptions { /** Optional param specifying which index the list should begin from. */ fromParam?: number; /** @@ -446,103 +431,67 @@ export interface SparkSessionGetSparkSessionsOptionalParams extends coreHttp.Ope } /** Contains response data for the getSparkSessions operation. */ -export type SparkSessionGetSparkSessionsResponse = SparkSessionCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkSessionCollection; - }; -}; +export type SparkSessionOperationsGetSparkSessionsResponse = SparkSessionCollection; /** Optional parameters. */ -export interface SparkSessionCreateSparkSessionOptionalParams extends coreHttp.OperationOptions { +export interface SparkSessionOperationsCreateSparkSessionOptionalParams + extends coreClient.OperationOptions { /** Optional query param specifying whether detailed response is returned beyond plain livy. */ detailed?: boolean; } /** Contains response data for the createSparkSession operation. */ -export type SparkSessionCreateSparkSessionResponse = SparkSession & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkSession; - }; -}; +export type SparkSessionOperationsCreateSparkSessionResponse = SparkSession; /** Optional parameters. */ -export interface SparkSessionGetSparkSessionOptionalParams extends coreHttp.OperationOptions { +export interface SparkSessionOperationsGetSparkSessionOptionalParams + extends coreClient.OperationOptions { /** Optional query param specifying whether detailed response is returned beyond plain livy. */ detailed?: boolean; } /** Contains response data for the getSparkSession operation. */ -export type SparkSessionGetSparkSessionResponse = SparkSession & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type SparkSessionOperationsGetSparkSessionResponse = SparkSession; - /** The response body as parsed JSON or XML */ - parsedBody: SparkSession; - }; -}; +/** Optional parameters. */ +export interface SparkSessionOperationsCancelSparkSessionOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface SparkSessionOperationsResetSparkSessionTimeoutOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface SparkSessionOperationsGetSparkStatementsOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getSparkStatements operation. */ -export type SparkSessionGetSparkStatementsResponse = SparkStatementCollection & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type SparkSessionOperationsGetSparkStatementsResponse = SparkStatementCollection; - /** The response body as parsed JSON or XML */ - parsedBody: SparkStatementCollection; - }; -}; +/** Optional parameters. */ +export interface SparkSessionOperationsCreateSparkStatementOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the createSparkStatement operation. */ -export type SparkSessionCreateSparkStatementResponse = SparkStatement & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type SparkSessionOperationsCreateSparkStatementResponse = SparkStatement; - /** The response body as parsed JSON or XML */ - parsedBody: SparkStatement; - }; -}; +/** Optional parameters. */ +export interface SparkSessionOperationsGetSparkStatementOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getSparkStatement operation. */ -export type SparkSessionGetSparkStatementResponse = SparkStatement & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; +export type SparkSessionOperationsGetSparkStatementResponse = SparkStatement; - /** The response body as parsed JSON or XML */ - parsedBody: SparkStatement; - }; -}; +/** Optional parameters. */ +export interface SparkSessionOperationsCancelSparkStatementOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the cancelSparkStatement operation. */ -export type SparkSessionCancelSparkStatementResponse = SparkStatementCancellationResult & { - /** The underlying HTTP response. */ - _response: coreHttp.HttpResponse & { - /** The response body as text (string format) */ - bodyAsText: string; - - /** The response body as parsed JSON or XML */ - parsedBody: SparkStatementCancellationResult; - }; -}; +export type SparkSessionOperationsCancelSparkStatementResponse = SparkStatementCancellationResult; /** Optional parameters. */ -export interface SparkClientOptionalParams extends coreHttp.ServiceClientOptions { +export interface SparkClientOptionalParams + extends coreClient.ServiceClientOptions { /** Valid api-version for the request. */ livyApiVersion?: string; /** Overrides client endpoint. */ diff --git a/sdk/synapse/synapse-spark/src/models/mappers.ts b/sdk/synapse/synapse-spark/src/models/mappers.ts index 45ff30910a08..d23755e5b8a8 100644 --- a/sdk/synapse/synapse-spark/src/models/mappers.ts +++ b/sdk/synapse/synapse-spark/src/models/mappers.ts @@ -1,8 +1,14 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; +/* + * 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 const SparkBatchJobCollection: coreHttp.CompositeMapper = { +import * as coreClient from "@azure/core-client"; + +export const SparkBatchJobCollection: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkBatchJobCollection", @@ -37,7 +43,7 @@ export const SparkBatchJobCollection: coreHttp.CompositeMapper = { } }; -export const SparkBatchJob: coreHttp.CompositeMapper = { +export const SparkBatchJob: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkBatchJob", @@ -174,7 +180,7 @@ export const SparkBatchJob: coreHttp.CompositeMapper = { } }; -export const SparkBatchJobState: coreHttp.CompositeMapper = { +export const SparkBatchJobState: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkBatchJobState", @@ -245,7 +251,7 @@ export const SparkBatchJobState: coreHttp.CompositeMapper = { } }; -export const SparkRequest: coreHttp.CompositeMapper = { +export const SparkRequest: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkRequest", @@ -364,7 +370,7 @@ export const SparkRequest: coreHttp.CompositeMapper = { } }; -export const SparkScheduler: coreHttp.CompositeMapper = { +export const SparkScheduler: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkScheduler", @@ -407,7 +413,7 @@ export const SparkScheduler: coreHttp.CompositeMapper = { } }; -export const SparkServicePlugin: coreHttp.CompositeMapper = { +export const SparkServicePlugin: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkServicePlugin", @@ -457,7 +463,7 @@ export const SparkServicePlugin: coreHttp.CompositeMapper = { } }; -export const SparkServiceError: coreHttp.CompositeMapper = { +export const SparkServiceError: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkServiceError", @@ -484,7 +490,7 @@ export const SparkServiceError: coreHttp.CompositeMapper = { } }; -export const SparkBatchJobOptions: coreHttp.CompositeMapper = { +export const SparkBatchJobOptions: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkBatchJobOptions", @@ -618,7 +624,7 @@ export const SparkBatchJobOptions: coreHttp.CompositeMapper = { } }; -export const SparkSessionCollection: coreHttp.CompositeMapper = { +export const SparkSessionCollection: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkSessionCollection", @@ -653,7 +659,7 @@ export const SparkSessionCollection: coreHttp.CompositeMapper = { } }; -export const SparkSession: coreHttp.CompositeMapper = { +export const SparkSession: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkSession", @@ -790,7 +796,7 @@ export const SparkSession: coreHttp.CompositeMapper = { } }; -export const SparkSessionState: coreHttp.CompositeMapper = { +export const SparkSessionState: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkSessionState", @@ -875,7 +881,7 @@ export const SparkSessionState: coreHttp.CompositeMapper = { } }; -export const SparkSessionOptions: coreHttp.CompositeMapper = { +export const SparkSessionOptions: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkSessionOptions", @@ -1008,7 +1014,7 @@ export const SparkSessionOptions: coreHttp.CompositeMapper = { } }; -export const SparkStatementCollection: coreHttp.CompositeMapper = { +export const SparkStatementCollection: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkStatementCollection", @@ -1036,7 +1042,7 @@ export const SparkStatementCollection: coreHttp.CompositeMapper = { } }; -export const SparkStatement: coreHttp.CompositeMapper = { +export const SparkStatement: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkStatement", @@ -1071,7 +1077,7 @@ export const SparkStatement: coreHttp.CompositeMapper = { } }; -export const SparkStatementOutput: coreHttp.CompositeMapper = { +export const SparkStatementOutput: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkStatementOutput", @@ -1092,7 +1098,8 @@ export const SparkStatementOutput: coreHttp.CompositeMapper = { data: { serializedName: "data", type: { - name: "any" + name: "Dictionary", + value: { type: { name: "any" } } } }, errorName: { @@ -1125,7 +1132,7 @@ export const SparkStatementOutput: coreHttp.CompositeMapper = { } }; -export const SparkStatementOptions: coreHttp.CompositeMapper = { +export const SparkStatementOptions: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkStatementOptions", @@ -1146,7 +1153,7 @@ export const SparkStatementOptions: coreHttp.CompositeMapper = { } }; -export const SparkStatementCancellationResult: coreHttp.CompositeMapper = { +export const SparkStatementCancellationResult: coreClient.CompositeMapper = { type: { name: "Composite", className: "SparkStatementCancellationResult", diff --git a/sdk/synapse/synapse-spark/src/models/parameters.ts b/sdk/synapse/synapse-spark/src/models/parameters.ts index eb4a77d11aab..fe1cf4f1e86c 100644 --- a/sdk/synapse/synapse-spark/src/models/parameters.ts +++ b/sdk/synapse/synapse-spark/src/models/parameters.ts @@ -1,10 +1,16 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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-http"; +} from "@azure/core-client"; import { SparkBatchJobOptions as SparkBatchJobOptionsMapper, SparkSessionOptions as SparkSessionOptionsMapper, diff --git a/sdk/synapse/synapse-spark/src/operations/index.ts b/sdk/synapse/synapse-spark/src/operations/index.ts index e627dd34f3db..83df50e694d1 100644 --- a/sdk/synapse/synapse-spark/src/operations/index.ts +++ b/sdk/synapse/synapse-spark/src/operations/index.ts @@ -1,4 +1,10 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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 "./sparkBatch"; -export * from "./sparkSession"; +export * from "./sparkSessionOperations"; diff --git a/sdk/synapse/synapse-spark/src/operations/sparkBatch.ts b/sdk/synapse/synapse-spark/src/operations/sparkBatch.ts index ea796b965343..6c35d5b2b353 100644 --- a/sdk/synapse/synapse-spark/src/operations/sparkBatch.ts +++ b/sdk/synapse/synapse-spark/src/operations/sparkBatch.ts @@ -1,11 +1,18 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import { SpanStatusCode } from "@azure/core-tracing"; +/* + * 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 { createSpan } from "../tracing"; -import * as coreHttp from "@azure/core-http"; +import { SparkBatch } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SparkClient } from "../sparkClient"; +import { SparkClientContext } from "../sparkClientContext"; import { SparkBatchGetSparkBatchJobsOptionalParams, SparkBatchGetSparkBatchJobsResponse, @@ -13,18 +20,19 @@ import { SparkBatchCreateSparkBatchJobOptionalParams, SparkBatchCreateSparkBatchJobResponse, SparkBatchGetSparkBatchJobOptionalParams, - SparkBatchGetSparkBatchJobResponse + SparkBatchGetSparkBatchJobResponse, + SparkBatchCancelSparkBatchJobOptionalParams } from "../models"; /** Class representing a SparkBatch. */ -export class SparkBatch { - private readonly client: SparkClient; +export class SparkBatchImpl implements SparkBatch { + private readonly client: SparkClientContext; /** * Initialize a new instance of the class SparkBatch class. * @param client Reference to the service client */ - constructor(client: SparkClient) { + constructor(client: SparkClientContext) { this.client = client; } @@ -35,19 +43,16 @@ export class SparkBatch { async getSparkBatchJobs( options?: SparkBatchGetSparkBatchJobsOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-getSparkBatchJobs", options); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + const { span } = createSpan("SparkClient-getSparkBatchJobs", options || {}); try { const result = await this.client.sendOperationRequest( - operationArguments, + { options }, getSparkBatchJobsOperationSpec ); return result as SparkBatchGetSparkBatchJobsResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -65,20 +70,19 @@ export class SparkBatch { sparkBatchJobOptions: SparkBatchJobOptions, options?: SparkBatchCreateSparkBatchJobOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-createSparkBatchJob", options); - const operationArguments: coreHttp.OperationArguments = { - sparkBatchJobOptions, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + const { span } = createSpan( + "SparkClient-createSparkBatchJob", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sparkBatchJobOptions, options }, createSparkBatchJobOperationSpec ); return result as SparkBatchCreateSparkBatchJobResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -96,20 +100,16 @@ export class SparkBatch { batchId: number, options?: SparkBatchGetSparkBatchJobOptionalParams ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-getSparkBatchJob", options); - const operationArguments: coreHttp.OperationArguments = { - batchId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + const { span } = createSpan("SparkClient-getSparkBatchJob", options || {}); try { const result = await this.client.sendOperationRequest( - operationArguments, + { batchId, options }, getSparkBatchJobOperationSpec ); return result as SparkBatchGetSparkBatchJobResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -125,22 +125,21 @@ export class SparkBatch { */ async cancelSparkBatchJob( batchId: number, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-cancelSparkBatchJob", options); - const operationArguments: coreHttp.OperationArguments = { - batchId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkBatchCancelSparkBatchJobOptionalParams + ): Promise { + const { span } = createSpan( + "SparkClient-cancelSparkBatchJob", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { batchId, options }, cancelSparkBatchJobOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -150,10 +149,10 @@ export class SparkBatch { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const getSparkBatchJobsOperationSpec: coreHttp.OperationSpec = { - path: "/batches", +const getSparkBatchJobsOperationSpec: coreClient.OperationSpec = { + path: "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/batches", httpMethod: "GET", responses: { 200: { @@ -161,12 +160,16 @@ const getSparkBatchJobsOperationSpec: coreHttp.OperationSpec = { } }, queryParameters: [Parameters.fromParam, Parameters.size, Parameters.detailed], - urlParameters: [Parameters.endpoint, Parameters.livyApiVersion, Parameters.sparkPoolName], + urlParameters: [ + Parameters.endpoint, + Parameters.livyApiVersion, + Parameters.sparkPoolName + ], headerParameters: [Parameters.accept], serializer }; -const createSparkBatchJobOperationSpec: coreHttp.OperationSpec = { - path: "/batches", +const createSparkBatchJobOperationSpec: coreClient.OperationSpec = { + path: "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/batches", httpMethod: "POST", responses: { 200: { @@ -175,13 +178,18 @@ const createSparkBatchJobOperationSpec: coreHttp.OperationSpec = { }, requestBody: Parameters.sparkBatchJobOptions, queryParameters: [Parameters.detailed], - urlParameters: [Parameters.endpoint, Parameters.livyApiVersion, Parameters.sparkPoolName], + urlParameters: [ + Parameters.endpoint, + Parameters.livyApiVersion, + Parameters.sparkPoolName + ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; -const getSparkBatchJobOperationSpec: coreHttp.OperationSpec = { - path: "/batches/{batchId}", +const getSparkBatchJobOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/batches/{batchId}", httpMethod: "GET", responses: { 200: { @@ -198,8 +206,9 @@ const getSparkBatchJobOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const cancelSparkBatchJobOperationSpec: coreHttp.OperationSpec = { - path: "/batches/{batchId}", +const cancelSparkBatchJobOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/batches/{batchId}", httpMethod: "DELETE", responses: { 200: {} }, urlParameters: [ diff --git a/sdk/synapse/synapse-spark/src/operations/sparkSession.ts b/sdk/synapse/synapse-spark/src/operations/sparkSessionOperations.ts similarity index 52% rename from sdk/synapse/synapse-spark/src/operations/sparkSession.ts rename to sdk/synapse/synapse-spark/src/operations/sparkSessionOperations.ts index a0b7cf52933b..20bb23fc8174 100644 --- a/sdk/synapse/synapse-spark/src/operations/sparkSession.ts +++ b/sdk/synapse/synapse-spark/src/operations/sparkSessionOperations.ts @@ -1,35 +1,48 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import { SpanStatusCode } from "@azure/core-tracing"; +/* + * 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 { createSpan } from "../tracing"; -import * as coreHttp from "@azure/core-http"; +import { SparkSessionOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as coreTracing from "@azure/core-tracing"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SparkClient } from "../sparkClient"; +import { SparkClientContext } from "../sparkClientContext"; import { - SparkSessionGetSparkSessionsOptionalParams, - SparkSessionGetSparkSessionsResponse, + SparkSessionOperationsGetSparkSessionsOptionalParams, + SparkSessionOperationsGetSparkSessionsResponse, SparkSessionOptions, - SparkSessionCreateSparkSessionOptionalParams, - SparkSessionCreateSparkSessionResponse, - SparkSessionGetSparkSessionOptionalParams, - SparkSessionGetSparkSessionResponse, - SparkSessionGetSparkStatementsResponse, + SparkSessionOperationsCreateSparkSessionOptionalParams, + SparkSessionOperationsCreateSparkSessionResponse, + SparkSessionOperationsGetSparkSessionOptionalParams, + SparkSessionOperationsGetSparkSessionResponse, + SparkSessionOperationsCancelSparkSessionOptionalParams, + SparkSessionOperationsResetSparkSessionTimeoutOptionalParams, + SparkSessionOperationsGetSparkStatementsOptionalParams, + SparkSessionOperationsGetSparkStatementsResponse, SparkStatementOptions, - SparkSessionCreateSparkStatementResponse, - SparkSessionGetSparkStatementResponse, - SparkSessionCancelSparkStatementResponse + SparkSessionOperationsCreateSparkStatementOptionalParams, + SparkSessionOperationsCreateSparkStatementResponse, + SparkSessionOperationsGetSparkStatementOptionalParams, + SparkSessionOperationsGetSparkStatementResponse, + SparkSessionOperationsCancelSparkStatementOptionalParams, + SparkSessionOperationsCancelSparkStatementResponse } from "../models"; -/** Class representing a SparkSession. */ -export class SparkSession { - private readonly client: SparkClient; +/** Class representing a SparkSessionOperations. */ +export class SparkSessionOperationsImpl implements SparkSessionOperations { + private readonly client: SparkClientContext; /** - * Initialize a new instance of the class SparkSession class. + * Initialize a new instance of the class SparkSessionOperations class. * @param client Reference to the service client */ - constructor(client: SparkClient) { + constructor(client: SparkClientContext) { this.client = client; } @@ -38,21 +51,18 @@ export class SparkSession { * @param options The options parameters. */ async getSparkSessions( - options?: SparkSessionGetSparkSessionsOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-getSparkSessions", options); - const operationArguments: coreHttp.OperationArguments = { - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsGetSparkSessionsOptionalParams + ): Promise { + const { span } = createSpan("SparkClient-getSparkSessions", options || {}); try { const result = await this.client.sendOperationRequest( - operationArguments, + { options }, getSparkSessionsOperationSpec ); - return result as SparkSessionGetSparkSessionsResponse; + return result as SparkSessionOperationsGetSparkSessionsResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -68,22 +78,21 @@ export class SparkSession { */ async createSparkSession( sparkSessionOptions: SparkSessionOptions, - options?: SparkSessionCreateSparkSessionOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-createSparkSession", options); - const operationArguments: coreHttp.OperationArguments = { - sparkSessionOptions, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsCreateSparkSessionOptionalParams + ): Promise { + const { span } = createSpan( + "SparkClient-createSparkSession", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sparkSessionOptions, options }, createSparkSessionOperationSpec ); - return result as SparkSessionCreateSparkSessionResponse; + return result as SparkSessionOperationsCreateSparkSessionResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -99,22 +108,18 @@ export class SparkSession { */ async getSparkSession( sessionId: number, - options?: SparkSessionGetSparkSessionOptionalParams - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-getSparkSession", options); - const operationArguments: coreHttp.OperationArguments = { - sessionId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsGetSparkSessionOptionalParams + ): Promise { + const { span } = createSpan("SparkClient-getSparkSession", options || {}); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sessionId, options }, getSparkSessionOperationSpec ); - return result as SparkSessionGetSparkSessionResponse; + return result as SparkSessionOperationsGetSparkSessionResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -130,22 +135,21 @@ export class SparkSession { */ async cancelSparkSession( sessionId: number, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-cancelSparkSession", options); - const operationArguments: coreHttp.OperationArguments = { - sessionId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsCancelSparkSessionOptionalParams + ): Promise { + const { span } = createSpan( + "SparkClient-cancelSparkSession", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sessionId, options }, cancelSparkSessionOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -161,22 +165,21 @@ export class SparkSession { */ async resetSparkSessionTimeout( sessionId: number, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-resetSparkSessionTimeout", options); - const operationArguments: coreHttp.OperationArguments = { - sessionId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsResetSparkSessionTimeoutOptionalParams + ): Promise { + const { span } = createSpan( + "SparkClient-resetSparkSessionTimeout", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sessionId, options }, resetSparkSessionTimeoutOperationSpec ); - return result as coreHttp.RestResponse; + return result as void; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -192,22 +195,21 @@ export class SparkSession { */ async getSparkStatements( sessionId: number, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-getSparkStatements", options); - const operationArguments: coreHttp.OperationArguments = { - sessionId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsGetSparkStatementsOptionalParams + ): Promise { + const { span } = createSpan( + "SparkClient-getSparkStatements", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sessionId, options }, getSparkStatementsOperationSpec ); - return result as SparkSessionGetSparkStatementsResponse; + return result as SparkSessionOperationsGetSparkStatementsResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -225,23 +227,21 @@ export class SparkSession { async createSparkStatement( sessionId: number, sparkStatementOptions: SparkStatementOptions, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-createSparkStatement", options); - const operationArguments: coreHttp.OperationArguments = { - sessionId, - sparkStatementOptions, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsCreateSparkStatementOptionalParams + ): Promise { + const { span } = createSpan( + "SparkClient-createSparkStatement", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sessionId, sparkStatementOptions, options }, createSparkStatementOperationSpec ); - return result as SparkSessionCreateSparkStatementResponse; + return result as SparkSessionOperationsCreateSparkStatementResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -259,23 +259,18 @@ export class SparkSession { async getSparkStatement( sessionId: number, statementId: number, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-getSparkStatement", options); - const operationArguments: coreHttp.OperationArguments = { - sessionId, - statementId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsGetSparkStatementOptionalParams + ): Promise { + const { span } = createSpan("SparkClient-getSparkStatement", options || {}); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sessionId, statementId, options }, getSparkStatementOperationSpec ); - return result as SparkSessionGetSparkStatementResponse; + return result as SparkSessionOperationsGetSparkStatementResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -293,23 +288,21 @@ export class SparkSession { async cancelSparkStatement( sessionId: number, statementId: number, - options?: coreHttp.OperationOptions - ): Promise { - const { span, updatedOptions } = createSpan("SparkClient-cancelSparkStatement", options); - const operationArguments: coreHttp.OperationArguments = { - sessionId, - statementId, - options: coreHttp.operationOptionsToRequestOptionsBase(updatedOptions) - }; + options?: SparkSessionOperationsCancelSparkStatementOptionalParams + ): Promise { + const { span } = createSpan( + "SparkClient-cancelSparkStatement", + options || {} + ); try { const result = await this.client.sendOperationRequest( - operationArguments, + { sessionId, statementId, options }, cancelSparkStatementOperationSpec ); - return result as SparkSessionCancelSparkStatementResponse; + return result as SparkSessionOperationsCancelSparkStatementResponse; } catch (error) { span.setStatus({ - code: SpanStatusCode.ERROR, + code: coreTracing.SpanStatusCode.UNSET, message: error.message }); throw error; @@ -319,10 +312,11 @@ export class SparkSession { } } // Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const getSparkSessionsOperationSpec: coreHttp.OperationSpec = { - path: "/sessions", +const getSparkSessionsOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions", httpMethod: "GET", responses: { 200: { @@ -330,12 +324,17 @@ const getSparkSessionsOperationSpec: coreHttp.OperationSpec = { } }, queryParameters: [Parameters.fromParam, Parameters.size, Parameters.detailed], - urlParameters: [Parameters.endpoint, Parameters.livyApiVersion, Parameters.sparkPoolName], + urlParameters: [ + Parameters.endpoint, + Parameters.livyApiVersion, + Parameters.sparkPoolName + ], headerParameters: [Parameters.accept], serializer }; -const createSparkSessionOperationSpec: coreHttp.OperationSpec = { - path: "/sessions", +const createSparkSessionOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions", httpMethod: "POST", responses: { 200: { @@ -344,13 +343,18 @@ const createSparkSessionOperationSpec: coreHttp.OperationSpec = { }, requestBody: Parameters.sparkSessionOptions, queryParameters: [Parameters.detailed], - urlParameters: [Parameters.endpoint, Parameters.livyApiVersion, Parameters.sparkPoolName], + urlParameters: [ + Parameters.endpoint, + Parameters.livyApiVersion, + Parameters.sparkPoolName + ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; -const getSparkSessionOperationSpec: coreHttp.OperationSpec = { - path: "/sessions/{sessionId}", +const getSparkSessionOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}", httpMethod: "GET", responses: { 200: { @@ -367,8 +371,9 @@ const getSparkSessionOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const cancelSparkSessionOperationSpec: coreHttp.OperationSpec = { - path: "/sessions/{sessionId}", +const cancelSparkSessionOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}", httpMethod: "DELETE", responses: { 200: {} }, urlParameters: [ @@ -379,8 +384,9 @@ const cancelSparkSessionOperationSpec: coreHttp.OperationSpec = { ], serializer }; -const resetSparkSessionTimeoutOperationSpec: coreHttp.OperationSpec = { - path: "/sessions/{sessionId}/reset-timeout", +const resetSparkSessionTimeoutOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/reset-timeout", httpMethod: "PUT", responses: { 200: {} }, urlParameters: [ @@ -391,8 +397,9 @@ const resetSparkSessionTimeoutOperationSpec: coreHttp.OperationSpec = { ], serializer }; -const getSparkStatementsOperationSpec: coreHttp.OperationSpec = { - path: "/sessions/{sessionId}/statements", +const getSparkStatementsOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/statements", httpMethod: "GET", responses: { 200: { @@ -408,8 +415,9 @@ const getSparkStatementsOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const createSparkStatementOperationSpec: coreHttp.OperationSpec = { - path: "/sessions/{sessionId}/statements", +const createSparkStatementOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/statements", httpMethod: "POST", responses: { 200: { @@ -427,8 +435,9 @@ const createSparkStatementOperationSpec: coreHttp.OperationSpec = { mediaType: "json", serializer }; -const getSparkStatementOperationSpec: coreHttp.OperationSpec = { - path: "/sessions/{sessionId}/statements/{statementId}", +const getSparkStatementOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/statements/{statementId}", httpMethod: "GET", responses: { 200: { @@ -445,8 +454,9 @@ const getSparkStatementOperationSpec: coreHttp.OperationSpec = { headerParameters: [Parameters.accept], serializer }; -const cancelSparkStatementOperationSpec: coreHttp.OperationSpec = { - path: "/sessions/{sessionId}/statements/{statementId}/cancel", +const cancelSparkStatementOperationSpec: coreClient.OperationSpec = { + path: + "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/statements/{statementId}/cancel", httpMethod: "POST", responses: { 200: { diff --git a/sdk/synapse/synapse-spark/src/operationsInterfaces/index.ts b/sdk/synapse/synapse-spark/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..83df50e694d1 --- /dev/null +++ b/sdk/synapse/synapse-spark/src/operationsInterfaces/index.ts @@ -0,0 +1,10 @@ +/* + * 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 "./sparkBatch"; +export * from "./sparkSessionOperations"; diff --git a/sdk/synapse/synapse-spark/src/operationsInterfaces/sparkBatch.ts b/sdk/synapse/synapse-spark/src/operationsInterfaces/sparkBatch.ts new file mode 100644 index 000000000000..18c9f5c5f463 --- /dev/null +++ b/sdk/synapse/synapse-spark/src/operationsInterfaces/sparkBatch.ts @@ -0,0 +1,56 @@ +/* + * 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 { + SparkBatchGetSparkBatchJobsOptionalParams, + SparkBatchGetSparkBatchJobsResponse, + SparkBatchJobOptions, + SparkBatchCreateSparkBatchJobOptionalParams, + SparkBatchCreateSparkBatchJobResponse, + SparkBatchGetSparkBatchJobOptionalParams, + SparkBatchGetSparkBatchJobResponse, + SparkBatchCancelSparkBatchJobOptionalParams +} from "../models"; + +/** Interface representing a SparkBatch. */ +export interface SparkBatch { + /** + * List all spark batch jobs which are running under a particular spark pool. + * @param options The options parameters. + */ + getSparkBatchJobs( + options?: SparkBatchGetSparkBatchJobsOptionalParams + ): Promise; + /** + * Create new spark batch job. + * @param sparkBatchJobOptions Livy compatible batch job request payload. + * @param options The options parameters. + */ + createSparkBatchJob( + sparkBatchJobOptions: SparkBatchJobOptions, + options?: SparkBatchCreateSparkBatchJobOptionalParams + ): Promise; + /** + * Gets a single spark batch job. + * @param batchId Identifier for the batch job. + * @param options The options parameters. + */ + getSparkBatchJob( + batchId: number, + options?: SparkBatchGetSparkBatchJobOptionalParams + ): Promise; + /** + * Cancels a running spark batch job. + * @param batchId Identifier for the batch job. + * @param options The options parameters. + */ + cancelSparkBatchJob( + batchId: number, + options?: SparkBatchCancelSparkBatchJobOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-spark/src/operationsInterfaces/sparkSessionOperations.ts b/sdk/synapse/synapse-spark/src/operationsInterfaces/sparkSessionOperations.ts new file mode 100644 index 000000000000..30d0f0691ed2 --- /dev/null +++ b/sdk/synapse/synapse-spark/src/operationsInterfaces/sparkSessionOperations.ts @@ -0,0 +1,117 @@ +/* + * 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 { + SparkSessionOperationsGetSparkSessionsOptionalParams, + SparkSessionOperationsGetSparkSessionsResponse, + SparkSessionOptions, + SparkSessionOperationsCreateSparkSessionOptionalParams, + SparkSessionOperationsCreateSparkSessionResponse, + SparkSessionOperationsGetSparkSessionOptionalParams, + SparkSessionOperationsGetSparkSessionResponse, + SparkSessionOperationsCancelSparkSessionOptionalParams, + SparkSessionOperationsResetSparkSessionTimeoutOptionalParams, + SparkSessionOperationsGetSparkStatementsOptionalParams, + SparkSessionOperationsGetSparkStatementsResponse, + SparkStatementOptions, + SparkSessionOperationsCreateSparkStatementOptionalParams, + SparkSessionOperationsCreateSparkStatementResponse, + SparkSessionOperationsGetSparkStatementOptionalParams, + SparkSessionOperationsGetSparkStatementResponse, + SparkSessionOperationsCancelSparkStatementOptionalParams, + SparkSessionOperationsCancelSparkStatementResponse +} from "../models"; + +/** Interface representing a SparkSessionOperations. */ +export interface SparkSessionOperations { + /** + * List all spark sessions which are running under a particular spark pool. + * @param options The options parameters. + */ + getSparkSessions( + options?: SparkSessionOperationsGetSparkSessionsOptionalParams + ): Promise; + /** + * Create new spark session. + * @param sparkSessionOptions Livy compatible batch job request payload. + * @param options The options parameters. + */ + createSparkSession( + sparkSessionOptions: SparkSessionOptions, + options?: SparkSessionOperationsCreateSparkSessionOptionalParams + ): Promise; + /** + * Gets a single spark session. + * @param sessionId Identifier for the session. + * @param options The options parameters. + */ + getSparkSession( + sessionId: number, + options?: SparkSessionOperationsGetSparkSessionOptionalParams + ): Promise; + /** + * Cancels a running spark session. + * @param sessionId Identifier for the session. + * @param options The options parameters. + */ + cancelSparkSession( + sessionId: number, + options?: SparkSessionOperationsCancelSparkSessionOptionalParams + ): Promise; + /** + * Sends a keep alive call to the current session to reset the session timeout. + * @param sessionId Identifier for the session. + * @param options The options parameters. + */ + resetSparkSessionTimeout( + sessionId: number, + options?: SparkSessionOperationsResetSparkSessionTimeoutOptionalParams + ): Promise; + /** + * Gets a list of statements within a spark session. + * @param sessionId Identifier for the session. + * @param options The options parameters. + */ + getSparkStatements( + sessionId: number, + options?: SparkSessionOperationsGetSparkStatementsOptionalParams + ): Promise; + /** + * Create statement within a spark session. + * @param sessionId Identifier for the session. + * @param sparkStatementOptions Livy compatible batch job request payload. + * @param options The options parameters. + */ + createSparkStatement( + sessionId: number, + sparkStatementOptions: SparkStatementOptions, + options?: SparkSessionOperationsCreateSparkStatementOptionalParams + ): Promise; + /** + * Gets a single statement within a spark session. + * @param sessionId Identifier for the session. + * @param statementId Identifier for the statement. + * @param options The options parameters. + */ + getSparkStatement( + sessionId: number, + statementId: number, + options?: SparkSessionOperationsGetSparkStatementOptionalParams + ): Promise; + /** + * Kill a statement within a session. + * @param sessionId Identifier for the session. + * @param statementId Identifier for the statement. + * @param options The options parameters. + */ + cancelSparkStatement( + sessionId: number, + statementId: number, + options?: SparkSessionOperationsCancelSparkStatementOptionalParams + ): Promise; +} diff --git a/sdk/synapse/synapse-spark/src/sparkClient.ts b/sdk/synapse/synapse-spark/src/sparkClient.ts index e456808dcff2..4f8431edb6eb 100644 --- a/sdk/synapse/synapse-spark/src/sparkClient.ts +++ b/sdk/synapse/synapse-spark/src/sparkClient.ts @@ -1,7 +1,14 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; -import { SparkBatch, SparkSession } from "./operations"; +/* + * 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 coreAuth from "@azure/core-auth"; +import { SparkBatchImpl, SparkSessionOperationsImpl } from "./operations"; +import { SparkBatch, SparkSessionOperations } from "./operationsInterfaces"; import { SparkClientContext } from "./sparkClientContext"; import { SparkClientOptionalParams } from "./models"; @@ -15,16 +22,16 @@ export class SparkClient extends SparkClientContext { * @param options The parameter options */ constructor( - credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, + credentials: coreAuth.TokenCredential, endpoint: string, sparkPoolName: string, options?: SparkClientOptionalParams ) { super(credentials, endpoint, sparkPoolName, options); - this.sparkBatch = new SparkBatch(this); - this.sparkSession = new SparkSession(this); + this.sparkBatch = new SparkBatchImpl(this); + this.sparkSessionOperations = new SparkSessionOperationsImpl(this); } sparkBatch: SparkBatch; - sparkSession: SparkSession; + sparkSessionOperations: SparkSessionOperations; } diff --git a/sdk/synapse/synapse-spark/src/sparkClientContext.ts b/sdk/synapse/synapse-spark/src/sparkClientContext.ts index e5ddbcf061fe..197f5ab363ab 100644 --- a/sdk/synapse/synapse-spark/src/sparkClientContext.ts +++ b/sdk/synapse/synapse-spark/src/sparkClientContext.ts @@ -1,12 +1,16 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. -import * as coreHttp from "@azure/core-http"; -import { SparkClientOptionalParams } from "./models"; +/* + * 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. + */ -const packageName = "@azure/synapse-spark"; -const packageVersion = "1.0.0-beta.2"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { SparkClientOptionalParams } from "./models"; -export class SparkClientContext extends coreHttp.ServiceClient { +export class SparkClientContext extends coreClient.ServiceClient { endpoint: string; livyApiVersion: string; sparkPoolName: string; @@ -20,7 +24,7 @@ export class SparkClientContext extends coreHttp.ServiceClient { * @param options The parameter options */ constructor( - credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, + credentials: coreAuth.TokenCredential, endpoint: string, sparkPoolName: string, options?: SparkClientOptionalParams @@ -39,23 +43,29 @@ export class SparkClientContext extends coreHttp.ServiceClient { if (!options) { options = {}; } + const defaults: SparkClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; - if (!options.userAgent) { - const defaultUserAgent = coreHttp.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } + const packageDetails = `azsdk-js-synapse-spark/1.0.0-beta.4`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; if (!options.credentialScopes) { options.credentialScopes = ["https://dev.azuresynapse.net/.default"]; } - - super(credentials, options); - - this.requestContentType = "application/json; charset=utf-8"; - - this.baseUri = - options.endpoint || "{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}"; - + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "{endpoint}" + }; + super(optionsWithDefaults); // Parameter assignments this.endpoint = endpoint; this.sparkPoolName = sparkPoolName; diff --git a/sdk/synapse/synapse-spark/src/tracing.ts b/sdk/synapse/synapse-spark/src/tracing.ts index 9d08d59a6c3e..1cbb0fd5338d 100644 --- a/sdk/synapse/synapse-spark/src/tracing.ts +++ b/sdk/synapse/synapse-spark/src/tracing.ts @@ -1,5 +1,11 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. +/* + * 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 { createSpanFunction } from "@azure/core-tracing"; export const createSpan = createSpanFunction({ diff --git a/sdk/synapse/synapse-spark/swagger/README.md b/sdk/synapse/synapse-spark/swagger/README.md new file mode 100644 index 000000000000..2467c7e6eff8 --- /dev/null +++ b/sdk/synapse/synapse-spark/swagger/README.md @@ -0,0 +1,28 @@ +# Synapse ArtifactsClient + +> see https://aka.ms/autorest + +## Configuration + +```yaml +package-name: "@azure/synapse-spark" +package-version: "1.0.0-beta.4" +add-credentials: true +license-header: MICROSOFT_MIT_NO_VERSION +credential-scopes: https://dev.azuresynapse.net/.default +output-folder: .. +clear-output-folder: false +tracing-info: + namespace: "Azure.Synapse.Spark" + packagePrefix: "Microsoft.Synapse" +require: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/synapse/data-plane/readme.md +use-extension: + "@autorest/typescript": "latest" + +typescript: + generate-metadata: false + azure-arm: true + +modelerfour: + lenient-model-deduplication: true +``` diff --git a/sdk/synapse/synapse-spark/test/public/test.spec.ts b/sdk/synapse/synapse-spark/test/public/test.spec.ts new file mode 100644 index 000000000000..d26ce80bae65 --- /dev/null +++ b/sdk/synapse/synapse-spark/test/public/test.spec.ts @@ -0,0 +1,40 @@ +import { Recorder } from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { SparkClient } from "../../src"; +import { createClient, createRecorder } from "./utils/recordedClient"; + +describe("Synapse Managed Private Endpoints", () => { + let recorder: Recorder; + let client: SparkClient; + + beforeEach(function() { + recorder = createRecorder(this); + const spark_pool_name = "testsparkpool"; + client = createClient(spark_pool_name); + }); + + afterEach(async () => { + await recorder.stop(); + }); + + it("should create session", async () => { + const session_name = "demo_session"; + + const result = await client.sparkSessionOperations.createSparkSession({ + name: session_name, + driverMemory: "28g", + driverCores: 4, + executorMemory: "28g", + executorCores: 4, + executorCount: 2 + }); + + assert.isDefined(result); + }); + + it("should list sessions", async () => { + const result = await client.sparkSessionOperations.getSparkSessions(); + + assert.isTrue(result.sessions && result.sessions.length > 0); + }); +}); diff --git a/sdk/synapse/synapse-spark/test/public/utils/env.browser.ts b/sdk/synapse/synapse-spark/test/public/utils/env.browser.ts new file mode 100644 index 000000000000..fd2aca680c7b --- /dev/null +++ b/sdk/synapse/synapse-spark/test/public/utils/env.browser.ts @@ -0,0 +1,2 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. diff --git a/sdk/synapse/synapse-spark/test/public/utils/env.ts b/sdk/synapse/synapse-spark/test/public/utils/env.ts new file mode 100644 index 000000000000..0e06855b73ae --- /dev/null +++ b/sdk/synapse/synapse-spark/test/public/utils/env.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import * as dotenv from "dotenv"; + +dotenv.config(); diff --git a/sdk/synapse/synapse-spark/test/public/utils/recordedClient.ts b/sdk/synapse/synapse-spark/test/public/utils/recordedClient.ts new file mode 100644 index 000000000000..a3fef3437758 --- /dev/null +++ b/sdk/synapse/synapse-spark/test/public/utils/recordedClient.ts @@ -0,0 +1,58 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { Context } from "mocha"; + +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; +import { TokenCredential, ClientSecretCredential } from "@azure/identity"; + +import { SparkClient, SparkClientOptionalParams } from "../../../src"; +import "./env"; + +const replaceableVariables: { [k: string]: string } = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + ENDPOINT: "https://testaccount.dev.azuresynapse.net" +}; + +export const environmentSetup: RecorderEnvironmentSetup = { + replaceableVariables, + customizationsOnRecordings: [ + (recording: string): string => + recording.replace(/"access_token"\s?:\s?"[^"]*"/g, `"access_token":"access_token"`), + // If we put ENDPOINT in replaceableVariables above, it will not capture + // the endpoint string used with nock, which will be expanded to + // https://:443/ and therefore will not match, so we have to do + // this instead. + (recording: string): string => { + const replaced = recording.replace( + "testaccount.dev.azuresynapse.net:443", + "testaccount.dev.azuresynapse.net" + ); + return replaced; + } + ], + queryParametersToSkip: [] +}; + +export function createClient(pool: string, options?: SparkClientOptionalParams): SparkClient { + let credential: TokenCredential; + + credential = new ClientSecretCredential( + env.AZURE_TENANT_ID, + env.AZURE_CLIENT_ID, + env.AZURE_CLIENT_SECRET + ); + + return new SparkClient(credential, env.ENDPOINT, pool, options); +} + +/** + * creates the recorder and reads the environment variables from the `.env` file. + * Should be called first in the test suite to make sure environment variables are + * read before they are being used. + */ +export function createRecorder(context: Context): Recorder { + return record(context, environmentSetup); +} diff --git a/sdk/synapse/synapse-spark/tsconfig.json b/sdk/synapse/synapse-spark/tsconfig.json index d43efedfc9bc..5626c92e1b02 100644 --- a/sdk/synapse/synapse-spark/tsconfig.json +++ b/sdk/synapse/synapse-spark/tsconfig.json @@ -1,20 +1,19 @@ { + "extends": "../../../tsconfig.package", "compilerOptions": { - "module": "es6", - "moduleResolution": "node", - "strict": true, - "target": "es5", - "sourceMap": true, - "declarationMap": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "preserveConstEnums": true, - "lib": ["es6", "dom"], - "declaration": true, "outDir": "./dist-esm", - "importHelpers": true + "declarationDir": "./types" }, - "include": ["./src/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "src/**/*.ts", + "test/**/*.ts" + ], + "exclude": [ + "node_modules", + "types", + "temp", + "browser", + "dist*", + "./dom-shims.d.ts" + ] } diff --git a/sdk/tables/data-tables/CHANGELOG.md b/sdk/tables/data-tables/CHANGELOG.md index 465c6c48c780..3c12c18ab5de 100644 --- a/sdk/tables/data-tables/CHANGELOG.md +++ b/sdk/tables/data-tables/CHANGELOG.md @@ -1,17 +1,22 @@ # Release History -## 12.1.1 (Unreleased) +## 12.1.2 (2021-09-07) -### Features Added +### Bugs Fixed -### Breaking Changes +- Fix `disableTypeConversion` to also apply for booleans and convert value to string when there is no type metadata. [#17385](https://github.com/Azure/azure-sdk-for-js/pull/17385) + +## 12.1.1 (2021-08-10) ### Bugs Fixed -- Fix [#15854](https://github.com/Azure/azure-sdk-for-js/issues/15701) when submitting transactions by ensuring the `allowInsecureConnection` client option is respected. +- Fixed inconsistent return type for number and strings when setting `disableTypeConversion` option. [#16736](https://github.com/Azure/azure-sdk-for-js/pull/16736) +- Fix [#15854](https://github.com/Azure/azure-sdk-for-js/issues/15701) when submitting transactions by ensuring the `allowInsecureConnection` client option is respected. [#16587](https://github.com/Azure/azure-sdk-for-js/pull/16587) ### Other Changes +- Update dependency of `@azure/core-xml`. [#16816](https://github.com/Azure/azure-sdk-for-js/pull/16816) + ## 12.1.0 (2021-07-07) ### Acknowledgments diff --git a/sdk/tables/data-tables/karma.conf.js b/sdk/tables/data-tables/karma.conf.js index 8cbf28efc5e3..e2bfce253a31 100644 --- a/sdk/tables/data-tables/karma.conf.js +++ b/sdk/tables/data-tables/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/tables/data-tables/package.json b/sdk/tables/data-tables/package.json index 1745add4aa23..c0d6ada3937b 100644 --- a/sdk/tables/data-tables/package.json +++ b/sdk/tables/data-tables/package.json @@ -1,6 +1,6 @@ { "name": "@azure/data-tables", - "version": "12.1.1", + "version": "12.1.2", "description": "An isomorphic client library for the Azure Tables service.", "sdk-type": "client", "main": "dist/index.js", @@ -30,7 +30,7 @@ "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest types/3.1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* types *.tgz *.log", "execute:samples": "dev-tool samples run samples-dev", @@ -42,7 +42,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -81,14 +80,14 @@ "@azure/core-client": "^1.0.0", "@azure/core-rest-pipeline": "^1.1.0", "@azure/core-paging": "^1.1.1", - "@azure/core-xml": "1.0.0-beta.1", + "@azure/core-xml": "^1.0.0", "@azure/logger": "^1.0.0", "@azure/core-tracing": "1.0.0-preview.13", "tslib": "^2.2.0", "uuid": "^8.3.0" }, "devDependencies": { - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.6", "@azure/dev-tool": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", @@ -131,11 +130,11 @@ "typescript": "~4.2.0", "util": "^0.12.1", "dotenv": "^8.2.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@azure/test-utils": "^1.0.0", "rollup-plugin-shim": "^1.0.0", "@rollup/plugin-inject": "^4.0.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "0.15.2" }, "//sampleConfiguration": { diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_handle_sub_request_error.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_handle_sub_request_error.json index d0431a56b0e0..eb4748934c4b 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_handle_sub_request_error.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_handle_sub_request_error.json @@ -6,16 +6,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestSASConnectionStringbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:a2ee02ff-3002-00fd-0f4b-5dbedd000000\\nTime:2021-06-09T16:22:05.2707409Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd70150-3002-0090-2c04-a414f3000000\\nTime:2021-09-07T16:24:56.5035265Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "fd79340e-4e17-44e6-a2b2-5061dc98235c", - "x-ms-request-id": "a2ee02ff-3002-00fd-0f4b-5dbedd000000", + "x-ms-client-request-id": "af861cc2-d2c6-4683-b6d3-f45f1ce3457f", + "x-ms-request-id": "4bd70150-3002-0090-2c04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -25,16 +25,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"first\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"second\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"third\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_5c984ba2-911a-4214-a361-49568829e464\r\nContent-Type: multipart/mixed; boundary=changesetresponse_3f60ec65-f957-4d14-881d-b2ae16ed052c\r\n\r\n--changesetresponse_3f60ec65-f957-4d14-881d-b2ae16ed052c\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 404 Not Found\r\nX-Content-Type-Options: nosniff\r\nDataServiceVersion: 3.0;\r\nContent-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8\r\n\r\n{\"odata.error\":{\"code\":\"TableNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"0:The table specified does not exist.\\nRequestId:a2ee0315-3002-00fd-254b-5dbedd000000\\nTime:2021-06-09T16:22:05.3367882Z\"}}}\r\n--changesetresponse_3f60ec65-f957-4d14-881d-b2ae16ed052c--\r\n--batchresponse_5c984ba2-911a-4214-a361-49568829e464--\r\n", + "response": "--batchresponse_06aa4f82-67f4-4b7f-9bd6-1da36d8979ed\r\nContent-Type: multipart/mixed; boundary=changesetresponse_430caa87-2d2c-49d4-94a3-5b738054f534\r\n\r\n--changesetresponse_430caa87-2d2c-49d4-94a3-5b738054f534\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 404 Not Found\r\nX-Content-Type-Options: nosniff\r\nDataServiceVersion: 3.0;\r\nContent-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8\r\n\r\n{\"odata.error\":{\"code\":\"TableNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"0:The table specified does not exist.\\nRequestId:4bd70165-3002-0090-3e04-a414f3000000\\nTime:2021-09-07T16:24:56.5855850Z\"}}}\r\n--changesetresponse_430caa87-2d2c-49d4-94a3-5b738054f534--\r\n--batchresponse_06aa4f82-67f4-4b7f-9bd6-1da36d8979ed--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_5c984ba2-911a-4214-a361-49568829e464", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_06aa4f82-67f4-4b7f-9bd6-1da36d8979ed", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "db965b8e-4c7d-4be4-819c-72f91b9f1480", - "x-ms-request-id": "a2ee0315-3002-00fd-254b-5dbedd000000", + "x-ms-client-request-id": "b369ea3c-2efe-49fb-b545-4cac57a77b36", + "x-ms-request-id": "4bd70165-3002-0090-3e04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -43,5 +43,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "515687e31ac1ec3eee1a6d04122faf58" + "hash": "b630b7770881d4f8e1de3c1b25b8a041" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.json index 2afef4bd7901..9e2c1fc93584 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.json @@ -10,13 +10,13 @@ "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:03 GMT", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "location": "https://fakeaccount.table.core.windows.net/Tables('batchTableTestSASConnectionStringbrowser')", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "e20d3267-5541-41fa-9c3a-94333d4ef20d", - "x-ms-request-id": "a2ee0165-3002-00fd-1e4b-5dbedd000000", + "x-ms-client-request-id": "0316930a-b6cf-4f52-a209-d3f673338a00", + "x-ms-request-id": "4bd6ffe6-3002-0090-5704-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -26,16 +26,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"helper\",\"RowKey\":\"1\",\"value\":\"t1\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"helper\",\"RowKey\":\"2\",\"value\":\"t2\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_7f2a8ad8-8b07-4cce-9a15-9096b5200ec1\r\nContent-Type: multipart/mixed; boundary=changesetresponse_da1fd606-eb28-4080-9250-c98dbddb3221\r\n\r\n--changesetresponse_da1fd606-eb28-4080-9250-c98dbddb3221\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='helper',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='helper',RowKey='1')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.4741762Z'\"\r\n\r\n\r\n--changesetresponse_da1fd606-eb28-4080-9250-c98dbddb3221\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='helper',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='helper',RowKey='2')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.4741762Z'\"\r\n\r\n\r\n--changesetresponse_da1fd606-eb28-4080-9250-c98dbddb3221--\r\n--batchresponse_7f2a8ad8-8b07-4cce-9a15-9096b5200ec1--\r\n", + "response": "--batchresponse_81769c1b-7fc3-48f2-8247-e731ab2bde50\r\nContent-Type: multipart/mixed; boundary=changesetresponse_b76c8da8-1c11-46cc-abe9-c4ff468a553b\r\n\r\n--changesetresponse_b76c8da8-1c11-46cc-abe9-c4ff468a553b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='helper',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='helper',RowKey='1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.4497812Z'\"\r\n\r\n\r\n--changesetresponse_b76c8da8-1c11-46cc-abe9-c4ff468a553b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='helper',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='helper',RowKey='2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.4497812Z'\"\r\n\r\n\r\n--changesetresponse_b76c8da8-1c11-46cc-abe9-c4ff468a553b--\r\n--batchresponse_81769c1b-7fc3-48f2-8247-e731ab2bde50--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_7f2a8ad8-8b07-4cce-9a15-9096b5200ec1", - "date": "Wed, 09 Jun 2021 16:22:03 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_81769c1b-7fc3-48f2-8247-e731ab2bde50", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "ae81edf9-4d26-4013-9542-8986ef44a72f", - "x-ms-request-id": "a2ee019d-3002-00fd-4b4b-5dbedd000000", + "x-ms-client-request-id": "fb6be70b-252b-4133-899d-42d5a80f7a92", + "x-ms-request-id": "4bd70001-3002-0090-7104-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -44,5 +44,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "913fa15dd286770e0c75fa3cbaa27c04" + "hash": "96724302c30afffc8645cd23ecc4a47f" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_batch_operations.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_batch_operations.json index 85767a2a1124..da973c64efc6 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_batch_operations.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_batch_operations.json @@ -6,16 +6,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestSASConnectionStringbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:a2ee01c4-3002-00fd-714b-5dbedd000000\\nTime:2021-06-09T16:22:04.5532323Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd70032-3002-0090-1a04-a414f3000000\\nTime:2021-09-07T16:24:55.5568566Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:03 GMT", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "6d9104d7-6630-41e0-bfc4-d9d8acc5c83d", - "x-ms-request-id": "a2ee01c4-3002-00fd-714b-5dbedd000000", + "x-ms-client-request-id": "bf7b5a78-3acd-4f56-9408-7ed8c258b08b", + "x-ms-request-id": "4bd70032-3002-0090-1a04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -25,16 +25,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"first\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"second\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"third\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_a451d10c-0ff2-4074-8e7c-8c58b898e8eb\r\nContent-Type: multipart/mixed; boundary=changesetresponse_45f9eea0-5d6c-47b4-8fa3-239d251378ee\r\n\r\n--changesetresponse_45f9eea0-5d6c-47b4-8fa3-239d251378ee\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='1')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.6162767Z'\"\r\n\r\n\r\n--changesetresponse_45f9eea0-5d6c-47b4-8fa3-239d251378ee\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='2')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.6162767Z'\"\r\n\r\n\r\n--changesetresponse_45f9eea0-5d6c-47b4-8fa3-239d251378ee\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='3')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.6162767Z'\"\r\n\r\n\r\n--changesetresponse_45f9eea0-5d6c-47b4-8fa3-239d251378ee--\r\n--batchresponse_a451d10c-0ff2-4074-8e7c-8c58b898e8eb--\r\n", + "response": "--batchresponse_462fcb6e-54af-40ee-8acf-5a78e894f7aa\r\nContent-Type: multipart/mixed; boundary=changesetresponse_8779389b-1d41-4eb9-b880-82c92739657e\r\n\r\n--changesetresponse_8779389b-1d41-4eb9-b880-82c92739657e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.6329104Z'\"\r\n\r\n\r\n--changesetresponse_8779389b-1d41-4eb9-b880-82c92739657e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.6329104Z'\"\r\n\r\n\r\n--changesetresponse_8779389b-1d41-4eb9-b880-82c92739657e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='3')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.6329104Z'\"\r\n\r\n\r\n--changesetresponse_8779389b-1d41-4eb9-b880-82c92739657e--\r\n--batchresponse_462fcb6e-54af-40ee-8acf-5a78e894f7aa--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_a451d10c-0ff2-4074-8e7c-8c58b898e8eb", - "date": "Wed, 09 Jun 2021 16:22:03 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_462fcb6e-54af-40ee-8acf-5a78e894f7aa", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "98e63b56-e267-4ba4-8248-c1235d172610", - "x-ms-request-id": "a2ee01dc-3002-00fd-084b-5dbedd000000", + "x-ms-client-request-id": "34faf123-98ef-4dc2-8539-230f51e7a0a8", + "x-ms-request-id": "4bd70048-3002-0090-2e04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -43,5 +43,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "14e35802bd4928a112d65b2eb8a27032" + "hash": "7d6272b84d0ed431ed585d7a140b46bc" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_delete_batch_operations.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_delete_batch_operations.json index 0a92b4af8cb2..0faf9dbb09c7 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_delete_batch_operations.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_delete_batch_operations.json @@ -6,16 +6,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestSASConnectionStringbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:a2ee02d0-3002-00fd-674b-5dbedd000000\\nTime:2021-06-09T16:22:05.1376460Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd7011c-3002-0090-7b04-a414f3000000\\nTime:2021-09-07T16:24:56.3223988Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "5e5cd302-fe32-44fd-b950-cb1c47b0586a", - "x-ms-request-id": "a2ee02d0-3002-00fd-674b-5dbedd000000", + "x-ms-client-request-id": "458b6287-41d3-4353-b4a9-fe14762c4673", + "x-ms-request-id": "4bd7011c-3002-0090-7b04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -25,16 +25,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_8f42ddf2-b19c-4939-8743-fca71a8a2104\r\nContent-Type: multipart/mixed; boundary=changesetresponse_e1da89a8-bc10-4c0e-8042-e71b87f42fdb\r\n\r\n--changesetresponse_e1da89a8-bc10-4c0e-8042-e71b87f42fdb\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_e1da89a8-bc10-4c0e-8042-e71b87f42fdb\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_e1da89a8-bc10-4c0e-8042-e71b87f42fdb\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_e1da89a8-bc10-4c0e-8042-e71b87f42fdb--\r\n--batchresponse_8f42ddf2-b19c-4939-8743-fca71a8a2104--\r\n", + "response": "--batchresponse_7642c351-54fc-47bf-8026-34f2b3a40d9b\r\nContent-Type: multipart/mixed; boundary=changesetresponse_2e4a60cf-e3a4-4acf-8328-bafbd6c0793f\r\n\r\n--changesetresponse_2e4a60cf-e3a4-4acf-8328-bafbd6c0793f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_2e4a60cf-e3a4-4acf-8328-bafbd6c0793f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_2e4a60cf-e3a4-4acf-8328-bafbd6c0793f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_2e4a60cf-e3a4-4acf-8328-bafbd6c0793f--\r\n--batchresponse_7642c351-54fc-47bf-8026-34f2b3a40d9b--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_8f42ddf2-b19c-4939-8743-fca71a8a2104", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_7642c351-54fc-47bf-8026-34f2b3a40d9b", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "fa93d813-bae2-4eef-8548-252d21458e86", - "x-ms-request-id": "a2ee02eb-3002-00fd-7d4b-5dbedd000000", + "x-ms-client-request-id": "c86421d3-9f43-431d-82f4-9ab25b4599f4", + "x-ms-request-id": "4bd70136-3002-0090-1204-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -43,5 +43,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "cc2cf574fdd7ecdd807414dea806673f" + "hash": "3f3f30f782ad7dab318145291fd0a42b" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_update_batch_operations.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_update_batch_operations.json index a9b166b87435..4cfdbfd932c6 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_update_batch_operations.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_update_batch_operations.json @@ -6,16 +6,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestSASConnectionStringbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:a2ee0207-3002-00fd-324b-5dbedd000000\\nTime:2021-06-09T16:22:04.7163474Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd70076-3002-0090-5b04-a414f3000000\\nTime:2021-09-07T16:24:55.8000291Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:03 GMT", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "050d81f9-7cee-4bfa-b9a4-bcc057b69639", - "x-ms-request-id": "a2ee0207-3002-00fd-324b-5dbedd000000", + "x-ms-client-request-id": "a3c806bf-4e53-4264-9f19-aa76d02dbc54", + "x-ms-request-id": "4bd70076-3002-0090-5b04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -25,16 +25,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"updated\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"updated\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"updated\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_b106256d-8eda-4c34-9c46-e1bf3e237311\r\nContent-Type: multipart/mixed; boundary=changesetresponse_f082bdad-573d-4086-8711-caca5e995367\r\n\r\n--changesetresponse_f082bdad-573d-4086-8711-caca5e995367\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.7785002Z'\"\r\n\r\n\r\n--changesetresponse_f082bdad-573d-4086-8711-caca5e995367\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.7785002Z'\"\r\n\r\n\r\n--changesetresponse_f082bdad-573d-4086-8711-caca5e995367\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.7785002Z'\"\r\n\r\n\r\n--changesetresponse_f082bdad-573d-4086-8711-caca5e995367--\r\n--batchresponse_b106256d-8eda-4c34-9c46-e1bf3e237311--\r\n", + "response": "--batchresponse_452d93ca-9e76-4a49-8801-db8ddac94dcd\r\nContent-Type: multipart/mixed; boundary=changesetresponse_44aeaab8-e972-443d-96cd-c373a6b7c0a7\r\n\r\n--changesetresponse_44aeaab8-e972-443d-96cd-c373a6b7c0a7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.8778627Z'\"\r\n\r\n\r\n--changesetresponse_44aeaab8-e972-443d-96cd-c373a6b7c0a7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.8778627Z'\"\r\n\r\n\r\n--changesetresponse_44aeaab8-e972-443d-96cd-c373a6b7c0a7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.8778627Z'\"\r\n\r\n\r\n--changesetresponse_44aeaab8-e972-443d-96cd-c373a6b7c0a7--\r\n--batchresponse_452d93ca-9e76-4a49-8801-db8ddac94dcd--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_b106256d-8eda-4c34-9c46-e1bf3e237311", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_452d93ca-9e76-4a49-8801-db8ddac94dcd", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "0811e8dc-3d60-4808-a5d5-1827acff7956", - "x-ms-request-id": "a2ee022c-3002-00fd-544b-5dbedd000000", + "x-ms-client-request-id": "92fe6650-0a42-4f67-8376-2ba11c12d3b2", + "x-ms-request-id": "4bd7008c-3002-0090-7104-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -46,16 +46,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A04.7785002Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-09T16:22:04.7785002Z\",\"name\":\"updated\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A04.7785002Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-09T16:22:04.7785002Z\",\"name\":\"updated\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A04.7785002Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-09T16:22:04.7785002Z\",\"name\":\"updated\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A55.8778627Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:55.8778627Z\",\"name\":\"updated\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A55.8778627Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:55.8778627Z\",\"name\":\"updated\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A55.8778627Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:55.8778627Z\",\"name\":\"updated\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "fac342a1-c585-43e7-807c-6d717f9deef9", - "x-ms-request-id": "a2ee024e-3002-00fd-754b-5dbedd000000", + "x-ms-client-request-id": "ab852579-9383-4640-a1b2-9b9bfb0e3422", + "x-ms-request-id": "4bd700ab-3002-0090-1004-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -64,5 +66,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "3119a2b6c0f86d6474ebfdf2aba25502" + "hash": "9ac44e3643b3b68768ea81c0c57a397a" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_upsert_batch_operations.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_upsert_batch_operations.json index 2e61e35eb375..6d8ef2a5fb9d 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_upsert_batch_operations.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_a_set_of_upsert_batch_operations.json @@ -6,16 +6,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestSASConnectionStringbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:a2ee026c-3002-00fd-124b-5dbedd000000\\nTime:2021-06-09T16:22:04.9194916Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd700c6-3002-0090-2a04-a414f3000000\\nTime:2021-09-07T16:24:56.0582118Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "0182e335-d8c6-49fb-bb59-b2354fb88765", - "x-ms-request-id": "a2ee026c-3002-00fd-124b-5dbedd000000", + "x-ms-client-request-id": "683fa7a4-debb-4e63-80f4-1c5b462e5ee7", + "x-ms-request-id": "4bd700c6-3002-0090-2a04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -25,16 +25,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='batchTest',RowKey='4') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"4\",\"name\":\"upserted\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_7eda0a34-a590-4923-9422-002f2116f251\r\nContent-Type: multipart/mixed; boundary=changesetresponse_af35282a-d0ca-4ee3-85e9-719cd47f87dc\r\n\r\n--changesetresponse_af35282a-d0ca-4ee3-85e9-719cd47f87dc\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.982645Z'\"\r\n\r\n\r\n--changesetresponse_af35282a-d0ca-4ee3-85e9-719cd47f87dc\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.982645Z'\"\r\n\r\n\r\n--changesetresponse_af35282a-d0ca-4ee3-85e9-719cd47f87dc\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.982645Z'\"\r\n\r\n\r\n--changesetresponse_af35282a-d0ca-4ee3-85e9-719cd47f87dc\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A04.982645Z'\"\r\n\r\n\r\n--changesetresponse_af35282a-d0ca-4ee3-85e9-719cd47f87dc--\r\n--batchresponse_7eda0a34-a590-4923-9422-002f2116f251--\r\n", + "response": "--batchresponse_7f55a706-bfb0-450f-b9ab-8ef92297d9ed\r\nContent-Type: multipart/mixed; boundary=changesetresponse_f6f002b2-702d-443c-b803-5870fb51fbe1\r\n\r\n--changesetresponse_f6f002b2-702d-443c-b803-5870fb51fbe1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.1460532Z'\"\r\n\r\n\r\n--changesetresponse_f6f002b2-702d-443c-b803-5870fb51fbe1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.1460532Z'\"\r\n\r\n\r\n--changesetresponse_f6f002b2-702d-443c-b803-5870fb51fbe1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.1460532Z'\"\r\n\r\n\r\n--changesetresponse_f6f002b2-702d-443c-b803-5870fb51fbe1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.1470543Z'\"\r\n\r\n\r\n--changesetresponse_f6f002b2-702d-443c-b803-5870fb51fbe1--\r\n--batchresponse_7f55a706-bfb0-450f-b9ab-8ef92297d9ed--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_7eda0a34-a590-4923-9422-002f2116f251", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_7f55a706-bfb0-450f-b9ab-8ef92297d9ed", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "715bce1a-40ec-4425-9671-118c94afcb93", - "x-ms-request-id": "a2ee028c-3002-00fd-2f4b-5dbedd000000", + "x-ms-client-request-id": "6d1c11db-4ebf-4e33-ae78-4c3fb4570271", + "x-ms-request-id": "4bd700ee-3002-0090-4d04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -46,16 +46,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A04.982645Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-09T16:22:04.982645Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A04.982645Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-09T16:22:04.982645Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A04.982645Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-09T16:22:04.982645Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A04.982645Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-06-09T16:22:04.982645Z\",\"name\":\"upserted\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.1460532Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:56.1460532Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.1460532Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:56.1460532Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.1460532Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:56.1460532Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.1470543Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-09-07T16:24:56.1470543Z\",\"name\":\"upserted\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "a0512701-509e-432c-8110-553dfa1582f1", - "x-ms-request-id": "a2ee02a9-3002-00fd-494b-5dbedd000000", + "x-ms-client-request-id": "ab848526-670a-4955-93fe-a882af960774", + "x-ms-request-id": "4bd700fd-3002-0090-5c04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -64,5 +66,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "9356ce1c9f4c237ffc19c7327a7cb4d2" + "hash": "9daeb0b79218a017fc35fc0341b37099" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_multiple_transactions_with_the_same_partition_key.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_multiple_transactions_with_the_same_partition_key.json index 9ff4fae919e9..86a374779503 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_multiple_transactions_with_the_same_partition_key.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_sasconnectionstring/recording_should_send_multiple_transactions_with_the_same_partition_key.json @@ -6,16 +6,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestSASConnectionStringbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:a2ee0330-3002-00fd-3e4b-5dbedd000000\\nTime:2021-06-09T16:22:05.4068380Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd70181-3002-0090-5704-a414f3000000\\nTime:2021-09-07T16:24:56.6766491Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "e9cb5eab-4549-410f-9a92-86921e522b0d", - "x-ms-request-id": "a2ee0330-3002-00fd-3e4b-5dbedd000000", + "x-ms-client-request-id": "80758d24-6cd1-4d5e-9184-384695cb9607", + "x-ms-request-id": "4bd70181-3002-0090-5704-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -25,16 +25,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r1\",\"value\":\"1\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r2\",\"value\":\"2\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r3\",\"value\":\"3\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_13a50987-8f42-474a-a185-6c151e111bae\r\nContent-Type: multipart/mixed; boundary=changesetresponse_0b309dcb-8a64-419d-9f72-b438383abb43\r\n\r\n--changesetresponse_0b309dcb-8a64-419d-9f72-b438383abb43\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r1')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A05.470883Z'\"\r\n\r\n\r\n--changesetresponse_0b309dcb-8a64-419d-9f72-b438383abb43\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r2')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A05.470883Z'\"\r\n\r\n\r\n--changesetresponse_0b309dcb-8a64-419d-9f72-b438383abb43\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r3')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A05.470883Z'\"\r\n\r\n\r\n--changesetresponse_0b309dcb-8a64-419d-9f72-b438383abb43--\r\n--batchresponse_13a50987-8f42-474a-a185-6c151e111bae--\r\n", + "response": "--batchresponse_3720f76f-b4b1-45b6-9a1e-6249f3f59910\r\nContent-Type: multipart/mixed; boundary=changesetresponse_e0de2a1e-2f91-4aa9-a5e5-0c6cb3cc5b51\r\n\r\n--changesetresponse_e0de2a1e-2f91-4aa9-a5e5-0c6cb3cc5b51\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.7567061Z'\"\r\n\r\n\r\n--changesetresponse_e0de2a1e-2f91-4aa9-a5e5-0c6cb3cc5b51\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.7567061Z'\"\r\n\r\n\r\n--changesetresponse_e0de2a1e-2f91-4aa9-a5e5-0c6cb3cc5b51\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r3')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.7567061Z'\"\r\n\r\n\r\n--changesetresponse_e0de2a1e-2f91-4aa9-a5e5-0c6cb3cc5b51--\r\n--batchresponse_3720f76f-b4b1-45b6-9a1e-6249f3f59910--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_13a50987-8f42-474a-a185-6c151e111bae", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_3720f76f-b4b1-45b6-9a1e-6249f3f59910", + "date": "Tue, 07 Sep 2021 16:24:55 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "ec865c69-435d-4a00-9d05-f793d3fa382f", - "x-ms-request-id": "a2ee0350-3002-00fd-5e4b-5dbedd000000", + "x-ms-client-request-id": "55ceae68-2734-41ab-bac9-d935a06c7695", + "x-ms-request-id": "4bd701a1-3002-0090-7504-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -44,16 +44,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r4\",\"value\":\"4\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r5\",\"value\":\"5\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r6\",\"value\":\"6\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_93d1c242-5b2b-4921-950e-2ee11cc547fe\r\nContent-Type: multipart/mixed; boundary=changesetresponse_d74a8cb8-87e7-4378-abba-48d008b1ea8e\r\n\r\n--changesetresponse_d74a8cb8-87e7-4378-abba-48d008b1ea8e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r4')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r4')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A05.5669516Z'\"\r\n\r\n\r\n--changesetresponse_d74a8cb8-87e7-4378-abba-48d008b1ea8e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r5')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r5')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A05.5669516Z'\"\r\n\r\n\r\n--changesetresponse_d74a8cb8-87e7-4378-abba-48d008b1ea8e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r6')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r6')\r\nETag: W/\"datetime'2021-06-09T16%3A22%3A05.5669516Z'\"\r\n\r\n\r\n--changesetresponse_d74a8cb8-87e7-4378-abba-48d008b1ea8e--\r\n--batchresponse_93d1c242-5b2b-4921-950e-2ee11cc547fe--\r\n", + "response": "--batchresponse_fea3da23-fe13-4d7b-8d35-23721d330aa4\r\nContent-Type: multipart/mixed; boundary=changesetresponse_a7d9034c-ab34-42cd-abbc-0146588548e4\r\n\r\n--changesetresponse_a7d9034c-ab34-42cd-abbc-0146588548e4\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r4')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r4')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.9118159Z'\"\r\n\r\n\r\n--changesetresponse_a7d9034c-ab34-42cd-abbc-0146588548e4\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r5')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r5')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.9118159Z'\"\r\n\r\n\r\n--changesetresponse_a7d9034c-ab34-42cd-abbc-0146588548e4\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r6')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringbrowser(PartitionKey='multiBatch1',RowKey='r6')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A56.9118159Z'\"\r\n\r\n\r\n--changesetresponse_a7d9034c-ab34-42cd-abbc-0146588548e4--\r\n--batchresponse_fea3da23-fe13-4d7b-8d35-23721d330aa4--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_93d1c242-5b2b-4921-950e-2ee11cc547fe", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_fea3da23-fe13-4d7b-8d35-23721d330aa4", + "date": "Tue, 07 Sep 2021 16:24:56 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "ea0d3579-57ca-4a26-936f-b3ac19b23425", - "x-ms-request-id": "a2ee0371-3002-00fd-7e4b-5dbedd000000", + "x-ms-client-request-id": "7a36597b-3602-408b-b661-66da8b8ba0d6", + "x-ms-request-id": "4bd701c8-3002-0090-1c04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -65,16 +65,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A05.470883Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r1\",\"Timestamp\":\"2021-06-09T16:22:05.470883Z\",\"value\":\"1\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A05.470883Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r2\",\"Timestamp\":\"2021-06-09T16:22:05.470883Z\",\"value\":\"2\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A05.470883Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r3\",\"Timestamp\":\"2021-06-09T16:22:05.470883Z\",\"value\":\"3\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A05.5669516Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r4\",\"Timestamp\":\"2021-06-09T16:22:05.5669516Z\",\"value\":\"4\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A05.5669516Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r5\",\"Timestamp\":\"2021-06-09T16:22:05.5669516Z\",\"value\":\"5\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A05.5669516Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r6\",\"Timestamp\":\"2021-06-09T16:22:05.5669516Z\",\"value\":\"6\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.7567061Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r1\",\"Timestamp\":\"2021-09-07T16:24:56.7567061Z\",\"value\":\"1\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.7567061Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r2\",\"Timestamp\":\"2021-09-07T16:24:56.7567061Z\",\"value\":\"2\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.7567061Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r3\",\"Timestamp\":\"2021-09-07T16:24:56.7567061Z\",\"value\":\"3\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.9118159Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r4\",\"Timestamp\":\"2021-09-07T16:24:56.9118159Z\",\"value\":\"4\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.9118159Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r5\",\"Timestamp\":\"2021-09-07T16:24:56.9118159Z\",\"value\":\"5\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A56.9118159Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r6\",\"Timestamp\":\"2021-09-07T16:24:56.9118159Z\",\"value\":\"6\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:04 GMT", + "date": "Tue, 07 Sep 2021 16:24:56 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "564b4b33-4701-4da1-a69b-bfaa9da8db09", - "x-ms-request-id": "a2ee038c-3002-00fd-194b-5dbedd000000", + "x-ms-client-request-id": "db0eead4-65fa-420f-ac12-98f689c2c822", + "x-ms-request-id": "4bd701ea-3002-0090-3c04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -83,5 +85,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "751373ed03937af6ae30a551b249f965" + "hash": "906a9f7885904df3b82544d04be9ec10" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_handle_sub_request_error.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_handle_sub_request_error.json index 7821fdb73577..c520748a586b 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_handle_sub_request_error.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_handle_sub_request_error.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:53 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "0aaab0ad-9ef6-44b3-a845-0496d64d0600" + "x-ms-ests-server": "2.1.12025.12 - EUS ProdSlices", + "x-ms-request-id": "c9e21cba-1256-4ba3-b699-90573883ec00" } }, { @@ -30,16 +30,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestTokenCredentialbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:eed558ad-b002-00a8-4ba5-6455aa000000\\nTime:2021-06-19T00:56:01.7287463Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd6fe14-3002-0090-2904-a414f3000000\\nTime:2021-09-07T16:24:53.9447161Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:01 GMT", + "date": "Tue, 07 Sep 2021 16:24:53 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "8760c567-aa37-402d-b54f-53f3b67083b9", - "x-ms-request-id": "eed558ad-b002-00a8-4ba5-6455aa000000", + "x-ms-client-request-id": "52749d61-594a-44cd-b28b-b6311e1df248", + "x-ms-request-id": "4bd6fe14-3002-0090-2904-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -54,17 +54,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:53 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "c61644dd-f013-4551-a705-b21125ca0600" + "x-ms-ests-server": "2.1.12025.12 - WUS2 ProdSlices", + "x-ms-request-id": "a5e458c1-89d2-47c4-a6a5-2d2b712dc400" } }, { @@ -73,16 +73,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"first\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"second\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"third\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_cb44f736-50f6-4f0e-a669-2bc180df6ec3\r\nContent-Type: multipart/mixed; boundary=changesetresponse_44cad1ff-aebc-450f-97fe-21cec59aa238\r\n\r\n--changesetresponse_44cad1ff-aebc-450f-97fe-21cec59aa238\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 404 Not Found\r\nX-Content-Type-Options: nosniff\r\nDataServiceVersion: 3.0;\r\nContent-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8\r\n\r\n{\"odata.error\":{\"code\":\"TableNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"0:The table specified does not exist.\\nRequestId:eed558bf-b002-00a8-5ba5-6455aa000000\\nTime:2021-06-19T00:56:01.8688473Z\"}}}\r\n--changesetresponse_44cad1ff-aebc-450f-97fe-21cec59aa238--\r\n--batchresponse_cb44f736-50f6-4f0e-a669-2bc180df6ec3--\r\n", + "response": "--batchresponse_37db458e-9911-47f6-add9-0468d90a8ee8\r\nContent-Type: multipart/mixed; boundary=changesetresponse_1f8f9919-5ba4-43c5-8d37-ba6801f44739\r\n\r\n--changesetresponse_1f8f9919-5ba4-43c5-8d37-ba6801f44739\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 404 Not Found\r\nX-Content-Type-Options: nosniff\r\nDataServiceVersion: 3.0;\r\nContent-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8\r\n\r\n{\"odata.error\":{\"code\":\"TableNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"0:The table specified does not exist.\\nRequestId:4bd6fe6c-3002-0090-7604-a414f3000000\\nTime:2021-09-07T16:24:54.2159085Z\"}}}\r\n--changesetresponse_1f8f9919-5ba4-43c5-8d37-ba6801f44739--\r\n--batchresponse_37db458e-9911-47f6-add9-0468d90a8ee8--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_cb44f736-50f6-4f0e-a669-2bc180df6ec3", - "date": "Sat, 19 Jun 2021 00:56:01 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_37db458e-9911-47f6-add9-0468d90a8ee8", + "date": "Tue, 07 Sep 2021 16:24:53 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "2b53d369-26b2-48d1-803e-b43dee903255", - "x-ms-request-id": "eed558bf-b002-00a8-5ba5-6455aa000000", + "x-ms-client-request-id": "73613adb-1ea0-4087-b214-7a0a74b07257", + "x-ms-request-id": "4bd6fe6c-3002-0090-7604-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.json index 690c1774aa17..d1d73d28a73c 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:50 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "c61644dd-f013-4551-a705-b211d9c90600" + "x-ms-ests-server": "2.1.12025.12 - NCUS ProdSlices", + "x-ms-request-id": "dc2d2dac-8274-4ae9-9ec5-917dd734e200" } }, { @@ -34,13 +34,13 @@ "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:50 GMT", "location": "https://fakeaccount.table.core.windows.net/Tables('batchTableTestTokenCredentialbrowser')", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "6eced3e0-2ef3-45cf-8f3a-6dbf9869818c", - "x-ms-request-id": "eed556d0-b002-00a8-21a5-6455aa000000", + "x-ms-client-request-id": "fa531cc6-be9e-4221-a747-0e02316d228b", + "x-ms-request-id": "4bd6fb0a-3002-0090-4104-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -55,17 +55,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:50 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - EUS ProdSlices", - "x-ms-request-id": "886af2d5-f917-4781-a597-bfda43100500" + "x-ms-ests-server": "2.1.12025.12 - EUS ProdSlices", + "x-ms-request-id": "4249af83-65f8-4dc9-885a-3c3efa78f000" } }, { @@ -74,16 +74,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"helper\",\"RowKey\":\"1\",\"value\":\"t1\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"helper\",\"RowKey\":\"2\",\"value\":\"t2\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_c96d1882-77ee-4987-a969-53a177bcb4a9\r\nContent-Type: multipart/mixed; boundary=changesetresponse_5e2143f5-8f22-47f6-b578-4c504acf063a\r\n\r\n--changesetresponse_5e2143f5-8f22-47f6-b578-4c504acf063a\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='helper',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='helper',RowKey='1')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A59.820377Z'\"\r\n\r\n\r\n--changesetresponse_5e2143f5-8f22-47f6-b578-4c504acf063a\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='helper',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='helper',RowKey='2')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A59.820377Z'\"\r\n\r\n\r\n--changesetresponse_5e2143f5-8f22-47f6-b578-4c504acf063a--\r\n--batchresponse_c96d1882-77ee-4987-a969-53a177bcb4a9--\r\n", + "response": "--batchresponse_7b4ca3ed-8b2a-4543-9608-315b537bf5b4\r\nContent-Type: multipart/mixed; boundary=changesetresponse_f71df690-39ad-4ad6-a1d4-efadcdb3369e\r\n\r\n--changesetresponse_f71df690-39ad-4ad6-a1d4-efadcdb3369e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='helper',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='helper',RowKey='1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A51.6931167Z'\"\r\n\r\n\r\n--changesetresponse_f71df690-39ad-4ad6-a1d4-efadcdb3369e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='helper',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='helper',RowKey='2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A51.6931167Z'\"\r\n\r\n\r\n--changesetresponse_f71df690-39ad-4ad6-a1d4-efadcdb3369e--\r\n--batchresponse_7b4ca3ed-8b2a-4543-9608-315b537bf5b4--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_c96d1882-77ee-4987-a969-53a177bcb4a9", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_7b4ca3ed-8b2a-4543-9608-315b537bf5b4", + "date": "Tue, 07 Sep 2021 16:24:50 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "434638da-d66b-4718-ae75-db67ef6b84c4", - "x-ms-request-id": "eed55706-b002-00a8-52a5-6455aa000000", + "x-ms-client-request-id": "65b705eb-2fcb-41ab-bb79-2f03fa776bee", + "x-ms-request-id": "4bd6fb49-3002-0090-7c04-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_create_batch_operations.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_create_batch_operations.json index 69e853f949a3..9d5e88e7e384 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_create_batch_operations.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_create_batch_operations.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:50 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "d6c8b145-db3d-4cb9-adf0-e9a43dfc1000" + "x-ms-ests-server": "2.1.12025.12 - NCUS ProdSlices", + "x-ms-request-id": "dc2d2dac-8274-4ae9-9ec5-917df734e200" } }, { @@ -30,16 +30,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestTokenCredentialbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:eed5573a-b002-00a8-7fa5-6455aa000000\\nTime:2021-06-19T00:56:00.0225221Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd6fb8b-3002-0090-3b04-a414f3000000\\nTime:2021-09-07T16:24:51.9082699Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:51 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "67101641-ca5f-4324-9d0d-a43178eb0a2d", - "x-ms-request-id": "eed5573a-b002-00a8-7fa5-6455aa000000", + "x-ms-client-request-id": "9c197537-1388-4e22-900e-5b920c9cc604", + "x-ms-request-id": "4bd6fb8b-3002-0090-3b04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -54,17 +54,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:51 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "485b1aa6-5dba-4524-a518-671e564c0600" + "x-ms-ests-server": "2.1.12025.12 - EUS ProdSlices", + "x-ms-request-id": "ef8081ea-87b1-4537-8c28-03d7b432ef00" } }, { @@ -73,16 +73,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"first\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"second\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"third\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_edb9cb64-fc8d-47c0-ad90-de978f66e7a7\r\nContent-Type: multipart/mixed; boundary=changesetresponse_233810c9-d929-46f7-aa26-8aab8af47237\r\n\r\n--changesetresponse_233810c9-d929-46f7-aa26-8aab8af47237\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='1')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A00.1936453Z'\"\r\n\r\n\r\n--changesetresponse_233810c9-d929-46f7-aa26-8aab8af47237\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='2')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A00.1936453Z'\"\r\n\r\n\r\n--changesetresponse_233810c9-d929-46f7-aa26-8aab8af47237\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='3')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A00.1936453Z'\"\r\n\r\n\r\n--changesetresponse_233810c9-d929-46f7-aa26-8aab8af47237--\r\n--batchresponse_edb9cb64-fc8d-47c0-ad90-de978f66e7a7--\r\n", + "response": "--batchresponse_af39b871-3222-4e38-9716-ae9c4c8b9176\r\nContent-Type: multipart/mixed; boundary=changesetresponse_780a049c-f0c3-4dc1-8922-6e4016c92da0\r\n\r\n--changesetresponse_780a049c-f0c3-4dc1-8922-6e4016c92da0\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A52.1344308Z'\"\r\n\r\n\r\n--changesetresponse_780a049c-f0c3-4dc1-8922-6e4016c92da0\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A52.1344308Z'\"\r\n\r\n\r\n--changesetresponse_780a049c-f0c3-4dc1-8922-6e4016c92da0\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='3')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A52.1344308Z'\"\r\n\r\n\r\n--changesetresponse_780a049c-f0c3-4dc1-8922-6e4016c92da0--\r\n--batchresponse_af39b871-3222-4e38-9716-ae9c4c8b9176--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_edb9cb64-fc8d-47c0-ad90-de978f66e7a7", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_af39b871-3222-4e38-9716-ae9c4c8b9176", + "date": "Tue, 07 Sep 2021 16:24:51 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "92919822-12a2-4726-aac3-2dfbf08d6cd5", - "x-ms-request-id": "eed55764-b002-00a8-27a5-6455aa000000", + "x-ms-client-request-id": "2d25943c-ed92-4c6c-9ea3-067cf71fa711", + "x-ms-request-id": "4bd6fbc5-3002-0090-7004-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_delete_batch_operations.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_delete_batch_operations.json index 61e44f7b55f4..a883eb5859fe 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_delete_batch_operations.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_delete_batch_operations.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - EUS ProdSlices", - "x-ms-request-id": "8204aa9a-699d-4ebc-a82e-93c11a730500" + "x-ms-ests-server": "2.1.12025.12 - EUS ProdSlices", + "x-ms-request-id": "ef8081ea-87b1-4537-8c28-03d71233ef00" } }, { @@ -30,16 +30,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestTokenCredentialbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:eed55869-b002-00a8-0ea5-6455aa000000\\nTime:2021-06-19T00:56:01.3174517Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd6fdb7-3002-0090-5004-a414f3000000\\nTime:2021-09-07T16:24:53.5804583Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "efd0c898-d5db-4ace-a66b-649aad05d10f", - "x-ms-request-id": "eed55869-b002-00a8-0ea5-6455aa000000", + "x-ms-client-request-id": "ffc0a345-e508-4233-84a4-bc6862bcaf36", + "x-ms-request-id": "4bd6fdb7-3002-0090-5004-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -54,17 +54,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "c704f1b0-910f-4395-802c-e348a2820f00" + "x-ms-ests-server": "2.1.12025.12 - EUS ProdSlices", + "x-ms-request-id": "ef8081ea-87b1-4537-8c28-03d71d33ef00" } }, { @@ -73,16 +73,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_fc1f65b8-392e-4135-abd7-72c13a0ff899\r\nContent-Type: multipart/mixed; boundary=changesetresponse_cabc78f0-4da2-4b92-99f8-208846abac77\r\n\r\n--changesetresponse_cabc78f0-4da2-4b92-99f8-208846abac77\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_cabc78f0-4da2-4b92-99f8-208846abac77\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_cabc78f0-4da2-4b92-99f8-208846abac77\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_cabc78f0-4da2-4b92-99f8-208846abac77--\r\n--batchresponse_fc1f65b8-392e-4135-abd7-72c13a0ff899--\r\n", + "response": "--batchresponse_4d52bcbe-6c8a-441a-8e8d-54f833e561d9\r\nContent-Type: multipart/mixed; boundary=changesetresponse_b91918be-9d2b-4eeb-aaf0-98fc3947869d\r\n\r\n--changesetresponse_b91918be-9d2b-4eeb-aaf0-98fc3947869d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_b91918be-9d2b-4eeb-aaf0-98fc3947869d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_b91918be-9d2b-4eeb-aaf0-98fc3947869d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_b91918be-9d2b-4eeb-aaf0-98fc3947869d--\r\n--batchresponse_4d52bcbe-6c8a-441a-8e8d-54f833e561d9--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_fc1f65b8-392e-4135-abd7-72c13a0ff899", - "date": "Sat, 19 Jun 2021 00:56:01 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_4d52bcbe-6c8a-441a-8e8d-54f833e561d9", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "bf58bfa6-b862-438c-af83-21fddd87203d", - "x-ms-request-id": "eed55882-b002-00a8-23a5-6455aa000000", + "x-ms-client-request-id": "b740667a-3ee4-4154-9528-11c6f39da530", + "x-ms-request-id": "4bd6fdde-3002-0090-7704-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_update_batch_operations.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_update_batch_operations.json index d99529102dc5..47b7734b8b0e 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_update_batch_operations.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_update_batch_operations.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:51 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "ec339bce-cd28-4d13-b038-31156fbf0700" + "x-ms-ests-server": "2.1.12025.12 - WUS2 ProdSlices", + "x-ms-request-id": "2a346122-9106-46c9-851f-5fbe654ed600" } }, { @@ -30,16 +30,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestTokenCredentialbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:eed55793-b002-00a8-51a5-6455aa000000\\nTime:2021-06-19T00:56:00.3797784Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd6fc38-3002-0090-6004-a414f3000000\\nTime:2021-09-07T16:24:52.4836805Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:51 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "8097e461-0eb9-416c-811d-fa77026486a5", - "x-ms-request-id": "eed55793-b002-00a8-51a5-6455aa000000", + "x-ms-client-request-id": "7b12451a-6b80-4518-a213-65e7b2c9b232", + "x-ms-request-id": "4bd6fc38-3002-0090-6004-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -54,17 +54,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:51 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - EUS ProdSlices", - "x-ms-request-id": "18b6c1b1-3399-429b-8515-09ddfafe0400" + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "950787a5-99cf-4811-85ac-d8a41518d300" } }, { @@ -73,16 +73,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"updated\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"updated\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"updated\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_a7d0d2e1-320e-4bfd-88ff-75f7f995422d\r\nContent-Type: multipart/mixed; boundary=changesetresponse_ec86e9cf-197e-45fa-b879-94197063808b\r\n\r\n--changesetresponse_ec86e9cf-197e-45fa-b879-94197063808b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A00.5917321Z'\"\r\n\r\n\r\n--changesetresponse_ec86e9cf-197e-45fa-b879-94197063808b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A00.5917321Z'\"\r\n\r\n\r\n--changesetresponse_ec86e9cf-197e-45fa-b879-94197063808b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A00.5927328Z'\"\r\n\r\n\r\n--changesetresponse_ec86e9cf-197e-45fa-b879-94197063808b--\r\n--batchresponse_a7d0d2e1-320e-4bfd-88ff-75f7f995422d--\r\n", + "response": "--batchresponse_5a729b6f-2552-4f76-afbc-fd6225ad7e1b\r\nContent-Type: multipart/mixed; boundary=changesetresponse_20551625-0424-4574-844e-24a75aa87937\r\n\r\n--changesetresponse_20551625-0424-4574-844e-24a75aa87937\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A52.7386211Z'\"\r\n\r\n\r\n--changesetresponse_20551625-0424-4574-844e-24a75aa87937\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A52.7386211Z'\"\r\n\r\n\r\n--changesetresponse_20551625-0424-4574-844e-24a75aa87937\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A52.7386211Z'\"\r\n\r\n\r\n--changesetresponse_20551625-0424-4574-844e-24a75aa87937--\r\n--batchresponse_5a729b6f-2552-4f76-afbc-fd6225ad7e1b--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_a7d0d2e1-320e-4bfd-88ff-75f7f995422d", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_5a729b6f-2552-4f76-afbc-fd6225ad7e1b", + "date": "Tue, 07 Sep 2021 16:24:51 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c39b90e8-2a4e-4996-992c-020173e9ea16", - "x-ms-request-id": "eed557c3-b002-00a8-7aa5-6455aa000000", + "x-ms-client-request-id": "3661b4de-344a-404c-8a65-c2154c7c4e6b", + "x-ms-request-id": "4bd6fca5-3002-0090-4904-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -94,18 +94,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A00.5917321Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-19T00:56:00.5917321Z\",\"name\":\"updated\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A00.5917321Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-19T00:56:00.5917321Z\",\"name\":\"updated\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A00.5927328Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-19T00:56:00.5927328Z\",\"name\":\"updated\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A52.7386211Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:52.7386211Z\",\"name\":\"updated\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A52.7386211Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:52.7386211Z\",\"name\":\"updated\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A52.7386211Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:52.7386211Z\",\"name\":\"updated\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:51 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "8ddcbdac-44d5-4765-a67c-13396d307d06", - "x-ms-request-id": "eed557cf-b002-00a8-06a5-6455aa000000", + "x-ms-client-request-id": "74985c7d-132a-4812-a126-d1dfe55602da", + "x-ms-request-id": "4bd6fcd1-3002-0090-7204-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_upsert_batch_operations.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_upsert_batch_operations.json index 3ea7e7cae7e3..919068879f34 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_upsert_batch_operations.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_a_set_of_upsert_batch_operations.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - EUS ProdSlices", - "x-ms-request-id": "87482d50-c115-4b8e-9528-1551fa060500" + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "950787a5-99cf-4811-85ac-d8a43418d300" } }, { @@ -30,16 +30,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestTokenCredentialbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:eed55805-b002-00a8-37a5-6455aa000000\\nTime:2021-06-19T00:56:00.8441120Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd6fd1a-3002-0090-3804-a414f3000000\\nTime:2021-09-07T16:24:53.0991173Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "6721bf4a-65f6-4108-b112-5075b72c4b0a", - "x-ms-request-id": "eed55805-b002-00a8-37a5-6455aa000000", + "x-ms-client-request-id": "84a261de-8fc3-4f18-a563-a6ee52016365", + "x-ms-request-id": "4bd6fd1a-3002-0090-3804-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -54,17 +54,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "c5089dc3-7113-453c-b0bc-8acbcdc01000" + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "c1c390bb-3829-4338-977c-fe39bc47d500" } }, { @@ -73,16 +73,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='batchTest',RowKey='4') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"4\",\"name\":\"upserted\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_f447869c-8a1f-4bf7-99a4-7809043f64e7\r\nContent-Type: multipart/mixed; boundary=changesetresponse_583cd2a0-41fa-4cc1-bd50-2fc1ea0892de\r\n\r\n--changesetresponse_583cd2a0-41fa-4cc1-bd50-2fc1ea0892de\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A01.0200393Z'\"\r\n\r\n\r\n--changesetresponse_583cd2a0-41fa-4cc1-bd50-2fc1ea0892de\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A01.0200393Z'\"\r\n\r\n\r\n--changesetresponse_583cd2a0-41fa-4cc1-bd50-2fc1ea0892de\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A01.0200393Z'\"\r\n\r\n\r\n--changesetresponse_583cd2a0-41fa-4cc1-bd50-2fc1ea0892de\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A01.02104Z'\"\r\n\r\n\r\n--changesetresponse_583cd2a0-41fa-4cc1-bd50-2fc1ea0892de--\r\n--batchresponse_f447869c-8a1f-4bf7-99a4-7809043f64e7--\r\n", + "response": "--batchresponse_e3683bfe-c730-4a13-a96a-1ef6d5075969\r\nContent-Type: multipart/mixed; boundary=changesetresponse_31f55cfc-e2c7-4738-bd13-71671d0a4048\r\n\r\n--changesetresponse_31f55cfc-e2c7-4738-bd13-71671d0a4048\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A53.2990199Z'\"\r\n\r\n\r\n--changesetresponse_31f55cfc-e2c7-4738-bd13-71671d0a4048\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A53.2990199Z'\"\r\n\r\n\r\n--changesetresponse_31f55cfc-e2c7-4738-bd13-71671d0a4048\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A53.2990199Z'\"\r\n\r\n\r\n--changesetresponse_31f55cfc-e2c7-4738-bd13-71671d0a4048\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A53.3000206Z'\"\r\n\r\n\r\n--changesetresponse_31f55cfc-e2c7-4738-bd13-71671d0a4048--\r\n--batchresponse_e3683bfe-c730-4a13-a96a-1ef6d5075969--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_f447869c-8a1f-4bf7-99a4-7809043f64e7", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_e3683bfe-c730-4a13-a96a-1ef6d5075969", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "6cde5ba8-c800-4899-be30-d648b0ae8916", - "x-ms-request-id": "eed5582c-b002-00a8-5ba5-6455aa000000", + "x-ms-client-request-id": "639bc26a-e76b-4810-a578-2a8e340a5d96", + "x-ms-request-id": "4bd6fd5d-3002-0090-7604-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -94,18 +94,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A01.0200393Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-19T00:56:01.0200393Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A01.0200393Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-19T00:56:01.0200393Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A01.0200393Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-19T00:56:01.0200393Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A01.02104Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-06-19T00:56:01.02104Z\",\"name\":\"upserted\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A53.2990199Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:53.2990199Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A53.2990199Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:53.2990199Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A53.2990199Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:53.2990199Z\",\"name\":\"upserted\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A53.3000206Z'\\\"\",\"PartitionKey\":\"batchTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-09-07T16:24:53.3000206Z\",\"name\":\"upserted\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:52 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "b8eb77db-1a2a-4262-85d1-11f62d286174", - "x-ms-request-id": "eed55840-b002-00a8-6ba5-6455aa000000", + "x-ms-client-request-id": "0fe1607d-28ac-4ff6-be92-de1dd785eab1", + "x-ms-request-id": "4bd6fd7e-3002-0090-1704-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_multiple_transactions_with_the_same_partition_key.json b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_multiple_transactions_with_the_same_partition_key.json index a7f311ff37fc..0552a8112a70 100644 --- a/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_multiple_transactions_with_the_same_partition_key.json +++ b/sdk/tables/data-tables/recordings/browsers/batch_operations_tokencredential/recording_should_send_multiple_transactions_with_the_same_partition_key.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:53 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - SCUS ProdSlices", - "x-ms-request-id": "5c414636-7035-4936-8618-a0c5c7a10900" + "x-ms-ests-server": "2.1.12025.12 - WUS2 ProdSlices", + "x-ms-request-id": "aa58a107-a956-4423-9f28-f1ccae31d000" } }, { @@ -30,16 +30,16 @@ "query": {}, "requestBody": "{\"TableName\":\"batchTableTestTokenCredentialbrowser\"}", "status": 409, - "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:eed558cd-b002-00a8-67a5-6455aa000000\\nTime:2021-06-19T00:56:02.0069460Z\"}}}", + "response": "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:4bd6feb3-3002-0090-3904-a414f3000000\\nTime:2021-09-07T16:24:54.4700879Z\"}}}", "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:01 GMT", + "date": "Tue, 07 Sep 2021 16:24:53 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "8cae1fd2-457e-46ec-a1c1-f52bbc3c4910", - "x-ms-request-id": "eed558cd-b002-00a8-67a5-6455aa000000", + "x-ms-client-request-id": "889b33b3-d5e4-493c-882a-91feeb6d2001", + "x-ms-request-id": "4bd6feb3-3002-0090-3904-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -54,17 +54,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:01 GMT", + "date": "Tue, 07 Sep 2021 16:24:53 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "c704f1b0-910f-4395-802c-e348c0820f00" + "x-ms-ests-server": "2.1.12025.12 - EUS ProdSlices", + "x-ms-request-id": "ef8081ea-87b1-4537-8c28-03d74e33ef00" } }, { @@ -73,16 +73,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r1\",\"value\":\"1\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r2\",\"value\":\"2\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r3\",\"value\":\"3\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_0d512f66-f901-4062-98b2-587609c73ee4\r\nContent-Type: multipart/mixed; boundary=changesetresponse_9978a372-a59f-4dd1-91a4-4c10cb73dfb0\r\n\r\n--changesetresponse_9978a372-a59f-4dd1-91a4-4c10cb73dfb0\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r1')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A02.168062Z'\"\r\n\r\n\r\n--changesetresponse_9978a372-a59f-4dd1-91a4-4c10cb73dfb0\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r2')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A02.168062Z'\"\r\n\r\n\r\n--changesetresponse_9978a372-a59f-4dd1-91a4-4c10cb73dfb0\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r3')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A02.168062Z'\"\r\n\r\n\r\n--changesetresponse_9978a372-a59f-4dd1-91a4-4c10cb73dfb0--\r\n--batchresponse_0d512f66-f901-4062-98b2-587609c73ee4--\r\n", + "response": "--batchresponse_f35e9b04-b3e8-4838-8eda-b51d8777c995\r\nContent-Type: multipart/mixed; boundary=changesetresponse_7d62668a-a787-4916-b723-21736fa5e15d\r\n\r\n--changesetresponse_7d62668a-a787-4916-b723-21736fa5e15d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A54.6612236Z'\"\r\n\r\n\r\n--changesetresponse_7d62668a-a787-4916-b723-21736fa5e15d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A54.6612236Z'\"\r\n\r\n\r\n--changesetresponse_7d62668a-a787-4916-b723-21736fa5e15d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r3')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A54.6612236Z'\"\r\n\r\n\r\n--changesetresponse_7d62668a-a787-4916-b723-21736fa5e15d--\r\n--batchresponse_f35e9b04-b3e8-4838-8eda-b51d8777c995--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_0d512f66-f901-4062-98b2-587609c73ee4", - "date": "Sat, 19 Jun 2021 00:56:01 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_f35e9b04-b3e8-4838-8eda-b51d8777c995", + "date": "Tue, 07 Sep 2021 16:24:53 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "5dda01e6-77f1-4037-a884-4ca0da4db3ee", - "x-ms-request-id": "eed558f5-b002-00a8-07a5-6455aa000000", + "x-ms-client-request-id": "54169bd6-ef65-4999-a8b0-94a9ccd6ae19", + "x-ms-request-id": "4bd6fee8-3002-0090-6c04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -97,17 +97,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:01 GMT", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - SCUS ProdSlices", - "x-ms-request-id": "5c414636-7035-4936-8618-a0c5d2a10900" + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "5fa71c6f-5ade-47db-aaa1-7f38db9df700" } }, { @@ -116,16 +116,16 @@ "query": {}, "requestBody": "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r4\",\"value\":\"4\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r5\",\"value\":\"5\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r6\",\"value\":\"6\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n", "status": 202, - "response": "--batchresponse_52dd77a2-4d85-4212-a4f3-2b18e9f778ca\r\nContent-Type: multipart/mixed; boundary=changesetresponse_dad6fe88-cdb6-40d1-a712-98433be2436c\r\n\r\n--changesetresponse_dad6fe88-cdb6-40d1-a712-98433be2436c\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r4')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r4')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A02.3121654Z'\"\r\n\r\n\r\n--changesetresponse_dad6fe88-cdb6-40d1-a712-98433be2436c\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r5')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r5')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A02.3121654Z'\"\r\n\r\n\r\n--changesetresponse_dad6fe88-cdb6-40d1-a712-98433be2436c\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r6')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r6')\r\nETag: W/\"datetime'2021-06-19T00%3A56%3A02.3121654Z'\"\r\n\r\n\r\n--changesetresponse_dad6fe88-cdb6-40d1-a712-98433be2436c--\r\n--batchresponse_52dd77a2-4d85-4212-a4f3-2b18e9f778ca--\r\n", + "response": "--batchresponse_433256e7-4bf7-4f19-a36a-26a51eff7ee6\r\nContent-Type: multipart/mixed; boundary=changesetresponse_d8da17a4-0697-4f68-9a2f-aaa4f0f0da3f\r\n\r\n--changesetresponse_d8da17a4-0697-4f68-9a2f-aaa4f0f0da3f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r4')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r4')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.011471Z'\"\r\n\r\n\r\n--changesetresponse_d8da17a4-0697-4f68-9a2f-aaa4f0f0da3f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r5')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r5')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.011471Z'\"\r\n\r\n\r\n--changesetresponse_d8da17a4-0697-4f68-9a2f-aaa4f0f0da3f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r6')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialbrowser(PartitionKey='multiBatch1',RowKey='r6')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A55.011471Z'\"\r\n\r\n\r\n--changesetresponse_d8da17a4-0697-4f68-9a2f-aaa4f0f0da3f--\r\n--batchresponse_433256e7-4bf7-4f19-a36a-26a51eff7ee6--\r\n", "responseHeaders": { "cache-control": "no-cache", - "content-type": "multipart/mixed; boundary=batchresponse_52dd77a2-4d85-4212-a4f3-2b18e9f778ca", - "date": "Sat, 19 Jun 2021 00:56:01 GMT", + "content-type": "multipart/mixed; boundary=batchresponse_433256e7-4bf7-4f19-a36a-26a51eff7ee6", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "8e1c7e95-7f67-41d2-bed1-62fe070b92bc", - "x-ms-request-id": "eed5590a-b002-00a8-1ba5-6455aa000000", + "x-ms-client-request-id": "99f7e0c6-fdb4-49c9-8279-c40ece81597f", + "x-ms-request-id": "4bd6ff60-3002-0090-5f04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -137,18 +137,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A02.168062Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r1\",\"Timestamp\":\"2021-06-19T00:56:02.168062Z\",\"value\":\"1\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A02.168062Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r2\",\"Timestamp\":\"2021-06-19T00:56:02.168062Z\",\"value\":\"2\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A02.168062Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r3\",\"Timestamp\":\"2021-06-19T00:56:02.168062Z\",\"value\":\"3\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A02.3121654Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r4\",\"Timestamp\":\"2021-06-19T00:56:02.3121654Z\",\"value\":\"4\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A02.3121654Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r5\",\"Timestamp\":\"2021-06-19T00:56:02.3121654Z\",\"value\":\"5\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A56%3A02.3121654Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r6\",\"Timestamp\":\"2021-06-19T00:56:02.3121654Z\",\"value\":\"6\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A54.6612236Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r1\",\"Timestamp\":\"2021-09-07T16:24:54.6612236Z\",\"value\":\"1\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A54.6612236Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r2\",\"Timestamp\":\"2021-09-07T16:24:54.6612236Z\",\"value\":\"2\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A54.6612236Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r3\",\"Timestamp\":\"2021-09-07T16:24:54.6612236Z\",\"value\":\"3\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A55.011471Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r4\",\"Timestamp\":\"2021-09-07T16:24:55.011471Z\",\"value\":\"4\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A55.011471Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r5\",\"Timestamp\":\"2021-09-07T16:24:55.011471Z\",\"value\":\"5\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A55.011471Z'\\\"\",\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r6\",\"Timestamp\":\"2021-09-07T16:24:55.011471Z\",\"value\":\"6\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:56:02 GMT", + "date": "Tue, 07 Sep 2021 16:24:54 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "ee6efee5-6197-4149-b927-8d213f6ba41c", - "x-ms-request-id": "eed55914-b002-00a8-23a5-6455aa000000", + "x-ms-client-request-id": "ef531530-6a70-47d3-bc2a-6f136b2a1516", + "x-ms-request-id": "4bd6ff99-3002-0090-1304-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_boolean.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_boolean.json index 9c170ce403c4..6ef0a99e74a2 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_boolean.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_boolean.json @@ -11,14 +11,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P6_browser',RowKey='R6')", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A22%3A00.2481822Z'\"", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A40.9615165Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P6_browser',RowKey='R6')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "f2dc1c56-2739-4240-8a1a-ea4e09d06db2", - "x-ms-request-id": "a2edf9e3-3002-00fd-414b-5dbedd000000", + "x-ms-client-request-id": "0aa8dfad-42cf-46fe-8790-67801248ed99", + "x-ms-request-id": "4bd6ed64-3002-0090-2404-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,17 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A00.2481822Z'\\\"\",\"PartitionKey\":\"P6_browser\",\"RowKey\":\"R6\",\"Timestamp\":\"2021-06-09T16:22:00.2481822Z\",\"testField\":true}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A40.9615165Z'\\\"\",\"PartitionKey\":\"P6_browser\",\"RowKey\":\"R6\",\"Timestamp\":\"2021-09-07T16:24:40.9615165Z\",\"testField\":true}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A22%3A00.2481822Z'\"", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A40.9615165Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "afbbf018-32d8-4c2c-a52c-56e62b795c74", - "x-ms-request-id": "a2edfa03-3002-00fd-5f4b-5dbedd000000", + "x-ms-client-request-id": "6f904a0c-b0f5-463f-8883-acfdc26a8bd6", + "x-ms-request-id": "4bd6ed8c-3002-0090-4a04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "0798a66b-9d16-40e5-ba15-9616c2681098", - "x-ms-request-id": "a2edfa32-3002-00fd-0d4b-5dbedd000000", + "x-ms-client-request-id": "9747bcce-4411-4e03-aec2-5d4180108555", + "x-ms-request-id": "4bd6eda1-3002-0090-5e04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -65,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "705da13e06b59c5b9daec7c957daeee4" + "hash": "ac280f30e9b17c38bf5c69cd4b0ab116" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_date.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_date.json index e6c3bcb1ef52..ba7311088318 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_date.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_date.json @@ -11,14 +11,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P2_browser',RowKey='R2')", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A21%3A59.3955786Z'\"", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A39.9798217Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P2_browser',RowKey='R2')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c13b1526-8cdf-4170-8063-467daf44bcb5", - "x-ms-request-id": "a2edf857-3002-00fd-634b-5dbedd000000", + "x-ms-client-request-id": "b8d0b595-5960-47e7-b863-3cfc1bc644d6", + "x-ms-request-id": "4bd6ebff-3002-0090-5404-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,17 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A59.3955786Z'\\\"\",\"PartitionKey\":\"P2_browser\",\"RowKey\":\"R2\",\"Timestamp\":\"2021-06-09T16:21:59.3955786Z\",\"testField@odata.type\":\"Edm.DateTime\",\"testField\":\"2020-09-17T00:00:00.111Z\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A39.9798217Z'\\\"\",\"PartitionKey\":\"P2_browser\",\"RowKey\":\"R2\",\"Timestamp\":\"2021-09-07T16:24:39.9798217Z\",\"testField@odata.type\":\"Edm.DateTime\",\"testField\":\"2020-09-17T00:00:00.111Z\"}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A21%3A59.3955786Z'\"", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A39.9798217Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "497971dd-3684-4fda-bcb6-88768c504878", - "x-ms-request-id": "a2edf889-3002-00fd-104b-5dbedd000000", + "x-ms-client-request-id": "0223bdc1-9f08-43f8-a324-d2379b797927", + "x-ms-request-id": "4bd6ec25-3002-0090-7904-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "159ac82b-dcde-428e-be66-eee8f6a37cf2", - "x-ms-request-id": "a2edf8aa-3002-00fd-2b4b-5dbedd000000", + "x-ms-client-request-id": "ed0ba6db-1ba2-44af-b382-96a2c8e833a5", + "x-ms-request-id": "4bd6ec52-3002-0090-2204-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -65,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "56e190fb8b02a60db0429117e3115c55" + "hash": "62fd05d66a70941caec26bbe0dd9d0c3" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_datetime.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_datetime.json index e2802b408611..7eaf672aa62f 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_datetime.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_datetime.json @@ -11,14 +11,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P7_browser',RowKey='R7')", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A22%3A00.4523267Z'\"", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A41.2056888Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P7_browser',RowKey='R7')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "6fc5312e-c625-4247-a8ac-0091547458b8", - "x-ms-request-id": "a2edfa56-3002-00fd-304b-5dbedd000000", + "x-ms-client-request-id": "567c7d60-425a-4c67-85d5-d66007150f8a", + "x-ms-request-id": "4bd6edbc-3002-0090-7804-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,17 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A00.4523267Z'\\\"\",\"PartitionKey\":\"P7_browser\",\"RowKey\":\"R7\",\"Timestamp\":\"2021-06-09T16:22:00.4523267Z\",\"testField@odata.type\":\"Edm.DateTime\",\"testField\":\"2020-09-17T00:00:00.99999Z\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A41.2056888Z'\\\"\",\"PartitionKey\":\"P7_browser\",\"RowKey\":\"R7\",\"Timestamp\":\"2021-09-07T16:24:41.2056888Z\",\"testField@odata.type\":\"Edm.DateTime\",\"testField\":\"2020-09-17T00:00:00.99999Z\"}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A22%3A00.4523267Z'\"", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A41.2056888Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "ea3f290a-47dc-4607-b8ca-d23d96877160", - "x-ms-request-id": "a2edfa81-3002-00fd-5a4b-5dbedd000000", + "x-ms-client-request-id": "68b89263-851f-4055-9e37-a2f63c24a2e1", + "x-ms-request-id": "4bd6edd9-3002-0090-1504-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "780043c9-d3c6-4a13-b7fa-2268f9d61cb2", - "x-ms-request-id": "a2edfaa0-3002-00fd-794b-5dbedd000000", + "x-ms-client-request-id": "0ef777d3-dca4-4aa3-9214-ca410ac06c59", + "x-ms-request-id": "4bd6edf5-3002-0090-3004-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -65,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "d16d69fa98fbb51f0c12493acf3f6c6a" + "hash": "d32f9a392bb674d0d983b7aa1eeb37e9" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_guid.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_guid.json index 5c2530a797fe..04cfd07fbd1f 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_guid.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_guid.json @@ -11,14 +11,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P3_browser',RowKey='R3')", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A21%3A59.6237387Z'\"", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A40.2269958Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P3_browser',RowKey='R3')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "aa5b4afd-d597-4288-bcd5-ffb940ea3994", - "x-ms-request-id": "a2edf8ca-3002-00fd-494b-5dbedd000000", + "x-ms-client-request-id": "65413444-32c3-47dd-8d11-3c455d5b3020", + "x-ms-request-id": "4bd6ec6b-3002-0090-3a04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,17 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A59.6237387Z'\\\"\",\"PartitionKey\":\"P3_browser\",\"RowKey\":\"R3\",\"Timestamp\":\"2021-06-09T16:21:59.6237387Z\",\"testField@odata.type\":\"Edm.Guid\",\"testField\":\"cf8ef051-1b7d-4e93-a1e5-a3944d7e441c\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A40.2269958Z'\\\"\",\"PartitionKey\":\"P3_browser\",\"RowKey\":\"R3\",\"Timestamp\":\"2021-09-07T16:24:40.2269958Z\",\"testField@odata.type\":\"Edm.Guid\",\"testField\":\"cf8ef051-1b7d-4e93-a1e5-a3944d7e441c\"}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A21%3A59.6237387Z'\"", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A40.2269958Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "03758fd7-68ea-4c8d-9d53-036f112ad5c0", - "x-ms-request-id": "a2edf8db-3002-00fd-594b-5dbedd000000", + "x-ms-client-request-id": "8f7ae392-12aa-4957-a05c-e05aa16e596a", + "x-ms-request-id": "4bd6ec7c-3002-0090-4a04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "2a638ce7-06ba-4931-8b66-24d557af7a3b", - "x-ms-request-id": "a2edf8f2-3002-00fd-6e4b-5dbedd000000", + "x-ms-client-request-id": "593cb454-a424-4c84-84fa-e4154ce3a0b7", + "x-ms-request-id": "4bd6ec99-3002-0090-6304-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -65,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "897924982f4efea7bf4bf1282402ae9c" + "hash": "cf6dd4746e80f2dabf831be8cea36eaa" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int32.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int32.json index c482655a99ce..ebc6a821c364 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int32.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int32.json @@ -11,14 +11,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P5_browser',RowKey='R5')", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A22%3A00.0230219Z'\"", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A40.7123397Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P5_browser',RowKey='R5')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "50a0061e-6108-4a96-8e4c-1c96d1857302", - "x-ms-request-id": "a2edf95f-3002-00fd-4c4b-5dbedd000000", + "x-ms-client-request-id": "9a8180eb-7300-404f-b6a0-1dc9928fc692", + "x-ms-request-id": "4bd6ecf6-3002-0090-3a04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,17 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A00.0230219Z'\\\"\",\"PartitionKey\":\"P5_browser\",\"RowKey\":\"R5\",\"Timestamp\":\"2021-06-09T16:22:00.0230219Z\",\"testField\":123}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A40.7123397Z'\\\"\",\"PartitionKey\":\"P5_browser\",\"RowKey\":\"R5\",\"Timestamp\":\"2021-09-07T16:24:40.7123397Z\",\"testField\":123}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A22%3A00.0230219Z'\"", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A40.7123397Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "943cdb2a-c551-4353-9fcc-71aa1eec1e24", - "x-ms-request-id": "a2edf986-3002-00fd-694b-5dbedd000000", + "x-ms-client-request-id": "1ce627f4-bece-4317-a73a-540a3818f5b1", + "x-ms-request-id": "4bd6ed14-3002-0090-5504-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "2b8e98c9-d3ba-4b1b-9c2c-f456dc4d4dfc", - "x-ms-request-id": "a2edf9ae-3002-00fd-104b-5dbedd000000", + "x-ms-client-request-id": "22e2296f-b2c7-4db0-8409-cc6d372423de", + "x-ms-request-id": "4bd6ed3f-3002-0090-7f04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -65,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "673f705faf7265eaec5dfebcdb30f6a9" + "hash": "47934ab49795f4c0384ab4ad692ef0a2" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int64.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int64.json index 3de68af65909..7686222d1d17 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int64.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int64.json @@ -11,14 +11,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P4_browser',RowKey='R4')", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A21%3A59.8208784Z'\"", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A40.471169Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P4_browser',RowKey='R4')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "159d8d72-c5bd-4ce2-b76e-9591e20703e3", - "x-ms-request-id": "a2edf906-3002-00fd-024b-5dbedd000000", + "x-ms-client-request-id": "f45a1edc-70ca-4d22-9f80-c4554b673276", + "x-ms-request-id": "4bd6ecb0-3002-0090-7a04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,17 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A59.8208784Z'\\\"\",\"PartitionKey\":\"P4_browser\",\"RowKey\":\"R4\",\"Timestamp\":\"2021-06-09T16:21:59.8208784Z\",\"testField@odata.type\":\"Edm.Int64\",\"testField\":\"12345543221\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A40.471169Z'\\\"\",\"PartitionKey\":\"P4_browser\",\"RowKey\":\"R4\",\"Timestamp\":\"2021-09-07T16:24:40.471169Z\",\"testField@odata.type\":\"Edm.Int64\",\"testField\":\"12345543221\"}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A21%3A59.8208784Z'\"", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A40.471169Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "68fc6bf2-6e36-4443-99f2-505ab57de3b3", - "x-ms-request-id": "a2edf91f-3002-00fd-164b-5dbedd000000", + "x-ms-client-request-id": "bfd989eb-c65e-469e-a5e2-15b2c5325b92", + "x-ms-request-id": "4bd6ecc6-3002-0090-0f04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", + "date": "Tue, 07 Sep 2021 16:24:39 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "26bff79c-f7aa-48cd-a543-4d94a6e4439f", - "x-ms-request-id": "a2edf938-3002-00fd-2c4b-5dbedd000000", + "x-ms-client-request-id": "97f1c2bb-4bd5-479d-bd13-d0d79b97deef", + "x-ms-request-id": "4bd6ecdf-3002-0090-2504-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -65,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "5e9d051038012634a1fae6f68da9f276" + "hash": "8899c7e94052a1d1c0f2bbbb96dcc837" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.json index af2f5dea5397..720589c22238 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.json @@ -11,14 +11,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P2_browser',RowKey='R1')", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A21%3A59.1844295Z'\"", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A39.7216381Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P2_browser',RowKey='R1')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "f5e52eaa-4915-442c-86f9-e53bbdea2599", - "x-ms-request-id": "a2edf7e1-3002-00fd-704b-5dbedd000000", + "x-ms-client-request-id": "7119b756-4b22-425c-b680-87c0c7c97278", + "x-ms-request-id": "4bd6ebbe-3002-0090-1604-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,17 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A59.1844295Z'\\\"\",\"PartitionKey\":\"P2_browser\",\"RowKey\":\"R1\",\"Timestamp\":\"2021-06-09T16:21:59.1844295Z\",\"testField\":\"testEntity\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A39.7216381Z'\\\"\",\"PartitionKey\":\"P2_browser\",\"RowKey\":\"R1\",\"Timestamp\":\"2021-09-07T16:24:39.7216381Z\",\"testField\":\"testEntity\"}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A21%3A59.1844295Z'\"", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A39.7216381Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "0e2f358b-51d0-4e48-b819-772adb06feab", - "x-ms-request-id": "a2edf7fc-3002-00fd-0b4b-5dbedd000000", + "x-ms-client-request-id": "c55f9943-1378-4fd6-8918-950147670172", + "x-ms-request-id": "4bd6ebce-3002-0090-2504-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "b3d05fbf-d2c7-4b35-9bea-9a76ff3c52a1", - "x-ms-request-id": "a2edf81d-3002-00fd-2b4b-5dbedd000000", + "x-ms-client-request-id": "391d7378-f21e-4b2a-9c70-0ae9021e04e9", + "x-ms-request-id": "4bd6ebe3-3002-0090-3904-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -65,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "170c124fd44ecdeb7bf99b2baf450f1a" + "hash": "d73bbd4dd7595f671447d8eb5185a2f6" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.json index bdfd931fce19..606d6bfdd9c8 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.json @@ -11,14 +11,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P8_browser',RowKey='R8')", - "date": "Wed, 09 Jun 2021 16:21:59 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A22%3A00.6584751Z'\"", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A41.4458592Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P8_browser',RowKey='R8')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "131e8b3f-a804-46ab-958d-28701cc13d09", - "x-ms-request-id": "a2edfacb-3002-00fd-244b-5dbedd000000", + "x-ms-client-request-id": "d29fd9f7-0d46-487a-a29f-2cc138d94d85", + "x-ms-request-id": "4bd6ee17-3002-0090-4f04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,17 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A22%3A00.6584751Z'\\\"\",\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"Timestamp\":\"2021-06-09T16:22:00.6584751Z\",\"integerNumber\":3,\"floatingPointNumber\":3.14}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A41.4458592Z'\\\"\",\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"Timestamp\":\"2021-09-07T16:24:41.4458592Z\",\"integerNumber\":3,\"floatingPointNumber\":3.14}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:00 GMT", - "etag": "W/\"datetime'2021-06-09T16%3A22%3A00.6584751Z'\"", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A41.4458592Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "1323cc0d-9b89-444b-b4ad-cc5ac4965a78", - "x-ms-request-id": "a2edfae7-3002-00fd-3f4b-5dbedd000000", + "x-ms-client-request-id": "dc315e22-d5be-4562-918c-fc72007d6681", + "x-ms-request-id": "4bd6ee36-3002-0090-6d04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:22:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "4aed17a1-eb0b-4513-a031-1a6fb2d525c1", - "x-ms-request-id": "a2edfb04-3002-00fd-594b-5dbedd000000", + "x-ms-client-request-id": "19d72031-1d88-479a-bad8-1246bf60b617", + "x-ms-request-id": "4bd6ee5d-3002-0090-1304-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -65,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "46c1629b8facb7294e0ad2a80c8e5613" + "hash": "69249ed6562f7f60b9f93359ed92c62a" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.json index d264330dd495..048abb5c0522 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.json @@ -4,21 +4,21 @@ "method": "POST", "url": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser", "query": {}, - "requestBody": "{\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"integerNumber\":3,\"floatingPointNumber\":3.14}", + "requestBody": "{\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"integerNumber\":3,\"floatingPointNumber\":3.14,\"booleanValue\":true}", "status": 204, "response": "", "responseHeaders": { "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P8_browser',RowKey='R8')", - "date": "Tue, 03 Aug 2021 22:50:25 GMT", - "etag": "W/\"datetime'2021-08-03T22%3A50%3A25.2507633Z'\"", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A41.7010398Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringbrowser(PartitionKey='P8_browser',RowKey='R8')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "d4799ad4-15cf-4d4a-9e5f-02440ef5ed87", - "x-ms-request-id": "e1f3e793-2002-00e9-57b9-887db9000000", + "x-ms-client-request-id": "9ca36759-9930-42fc-9873-24b6eeb860e8", + "x-ms-request-id": "4bd6ee7a-3002-0090-2c04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -28,19 +28,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-08-03T22%3A50%3A25.2507633Z'\\\"\",\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"Timestamp\":\"2021-08-03T22:50:25.2507633Z\",\"integerNumber\":3,\"floatingPointNumber\":3.14}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A41.7010398Z'\\\"\",\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"Timestamp\":\"2021-09-07T16:24:41.7010398Z\",\"integerNumber\":3,\"floatingPointNumber\":3.14,\"booleanValue\":true}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Tue, 03 Aug 2021 22:50:25 GMT", - "etag": "W/\"datetime'2021-08-03T22%3A50%3A25.2507633Z'\"", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A41.7010398Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "22009e02-8cec-4995-825d-3e4b8b88e1cc", - "x-ms-request-id": "e1f3e7a0-2002-00e9-64b9-887db9000000", + "x-ms-client-request-id": "b95f6b94-75d9-4403-89e4-dafd0a19c64c", + "x-ms-request-id": "4bd6ee94-3002-0090-4304-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -54,11 +54,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Tue, 03 Aug 2021 22:50:25 GMT", + "date": "Tue, 07 Sep 2021 16:24:40 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "474848e4-0b56-46ee-b183-3d8ebb2ab425", - "x-ms-request-id": "e1f3e7aa-2002-00e9-6eb9-887db9000000", + "x-ms-client-request-id": "69a2196a-1519-46fb-b683-ddbbc9e2a7ec", + "x-ms-request-id": "4bd6eeb0-3002-0090-5e04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -67,5 +67,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "77344ad3ea3146abc55572a420c25082" + "hash": "5ea79d1bba6859fd0f772e05df868107" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_all.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_all.json index 24ea1bfceac8..ac80d475c2ac 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_all.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_all.json @@ -8,16 +8,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.169002Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-06-09T16:21:57.169002Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.2440553Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-09T16:21:57.2440553Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.8634954Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-06-09T16:21:57.8634954Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.9255391Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-06-09T16:21:57.9255391Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.9865824Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-06-09T16:21:57.9865824Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.0576328Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-06-09T16:21:58.0576328Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.1246804Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-06-09T16:21:58.1246804Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.1947301Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-06-09T16:21:58.1947301Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.2577753Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-06-09T16:21:58.2577753Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.3278246Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-06-09T16:21:58.3278246Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.3958733Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-06-09T16:21:58.3958733Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.4599184Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-06-09T16:21:58.4599184Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.3121032Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-09T16:21:57.3121032Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.3761491Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-09T16:21:57.3761491Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.4381931Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-06-09T16:21:57.4381931Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.5012379Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-06-09T16:21:57.5012379Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.5943039Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-06-09T16:21:57.5943039Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.6593501Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-06-09T16:21:57.6593501Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.730401Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-06-09T16:21:57.730401Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.7964479Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-06-09T16:21:57.7964479Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.1059573Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-06-09T16:21:57.1059573Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A36.9917062Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-09-07T16:24:36.9917062Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.065759Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:37.065759Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.0804767Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-09-07T16:24:38.0804767Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.1575317Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-09-07T16:24:38.1575317Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.2345862Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-09-07T16:24:38.2345862Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.3096393Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-09-07T16:24:38.3096393Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.382691Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-09-07T16:24:38.382691Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.4587448Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-09-07T16:24:38.4587448Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.5347987Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-09-07T16:24:38.5347987Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.639873Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-09-07T16:24:38.639873Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.7169275Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-09-07T16:24:38.7169275Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.7929818Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-09-07T16:24:38.7929818Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.1438143Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:37.1438143Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.2188674Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:37.2188674Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.3089311Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-09-07T16:24:37.3089311Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.3889882Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-09-07T16:24:37.3889882Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.467043Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-09-07T16:24:37.467043Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.5420966Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-09-07T16:24:37.5420966Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.9193635Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-09-07T16:24:37.9193635Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.9974179Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-09-07T16:24:37.9974179Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A36.9016437Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-09-07T16:24:36.9016437Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:57 GMT", + "date": "Tue, 07 Sep 2021 16:24:37 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "beb9555f-7ed5-40e9-bd5d-0975fa4c3991", - "x-ms-request-id": "a2edf654-3002-00fd-7e4b-5dbedd000000", + "x-ms-client-request-id": "320aaf31-1808-4348-b4e9-8ff3928ed46d", + "x-ms-request-id": "4bd6eabc-3002-0090-2904-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -26,5 +28,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "b6122d85f5d720086b4c2f04df3bc75f" + "hash": "74ecbc863ea060ee4abe1c1c534a237f" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_binary_with_filter.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_binary_with_filter.json index 13c1f4ef9102..fc5d7b0dd5ad 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_binary_with_filter.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_binary_with_filter.json @@ -8,16 +8,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.1059573Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-06-09T16:21:57.1059573Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A36.9016437Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-09-07T16:24:36.9016437Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "b930b5a0-08f9-43ff-8349-f656430098d2", - "x-ms-request-id": "a2edf7c0-3002-00fd-514b-5dbedd000000", + "x-ms-client-request-id": "8d0bde0c-bfa4-4d36-98b6-b3f691073531", + "x-ms-request-id": "4bd6eba0-3002-0090-7a04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -26,5 +28,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "51aa692381eb52b4e4ec149b28fcea49" + "hash": "4b2e8fcbecbb09cd3af60f0e26a5e9bf" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_by_page.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_by_page.json index e032e5977b73..919298a1f9d9 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_by_page.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_by_page.json @@ -9,18 +9,20 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.169002Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-06-09T16:21:57.169002Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.2440553Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-09T16:21:57.2440553Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.8634954Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-06-09T16:21:57.8634954Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.9255391Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-06-09T16:21:57.9255391Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.9865824Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-06-09T16:21:57.9865824Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A36.9917062Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-09-07T16:24:36.9917062Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.065759Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:37.065759Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.0804767Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-09-07T16:24:38.0804767Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.1575317Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-09-07T16:24:38.1575317Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.2345862Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-09-07T16:24:38.2345862Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextPartitionKey,x-ms-continuation-NextRowKey,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:57 GMT", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "44c0ee6a-0453-4bfd-ac8c-c4975260c8b3", + "x-ms-client-request-id": "e34a7dcf-6c69-4ab1-b2b6-970397fc0f69", "x-ms-continuation-nextpartitionkey": "1!24!bGlzdEVudGl0aWVzVGVzdA--", "x-ms-continuation-nextrowkey": "1!4!MTM-", - "x-ms-request-id": "a2edf693-3002-00fd-374b-5dbedd000000", + "x-ms-request-id": "4bd6eae4-3002-0090-4d04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -35,18 +37,20 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.0576328Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-06-09T16:21:58.0576328Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.1246804Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-06-09T16:21:58.1246804Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.1947301Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-06-09T16:21:58.1947301Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.2577753Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-06-09T16:21:58.2577753Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.3278246Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-06-09T16:21:58.3278246Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.3096393Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-09-07T16:24:38.3096393Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.382691Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-09-07T16:24:38.382691Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.4587448Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-09-07T16:24:38.4587448Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.5347987Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-09-07T16:24:38.5347987Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.639873Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-09-07T16:24:38.639873Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextPartitionKey,x-ms-continuation-NextRowKey,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:57 GMT", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "364f78ee-3694-4886-bf60-aa17c7f236ba", + "x-ms-client-request-id": "2011831b-e854-4a5b-b2b3-7bf097ef2e2d", "x-ms-continuation-nextpartitionkey": "1!24!bGlzdEVudGl0aWVzVGVzdA--", "x-ms-continuation-nextrowkey": "1!4!MTg-", - "x-ms-request-id": "a2edf6be-3002-00fd-614b-5dbedd000000", + "x-ms-request-id": "4bd6eaff-3002-0090-6504-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -61,18 +65,20 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.3958733Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-06-09T16:21:58.3958733Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.4599184Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-06-09T16:21:58.4599184Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.3121032Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-09T16:21:57.3121032Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.3761491Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-09T16:21:57.3761491Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.4381931Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-06-09T16:21:57.4381931Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.7169275Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-09-07T16:24:38.7169275Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.7929818Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-09-07T16:24:38.7929818Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.1438143Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:37.1438143Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.2188674Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:37.2188674Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.3089311Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-09-07T16:24:37.3089311Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextPartitionKey,x-ms-continuation-NextRowKey,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "13bc414d-8b9d-4698-9443-797a2f4bc6ec", + "x-ms-client-request-id": "86198469-f606-4c1e-83cb-4189c088c52e", "x-ms-continuation-nextpartitionkey": "1!24!bGlzdEVudGl0aWVzVGVzdA--", "x-ms-continuation-nextrowkey": "1!4!NQ--", - "x-ms-request-id": "a2edf6e6-3002-00fd-084b-5dbedd000000", + "x-ms-request-id": "4bd6eb1d-3002-0090-8004-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -87,18 +93,20 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.5012379Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-06-09T16:21:57.5012379Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.5943039Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-06-09T16:21:57.5943039Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.6593501Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-06-09T16:21:57.6593501Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.730401Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-06-09T16:21:57.730401Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.7964479Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-06-09T16:21:57.7964479Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.3889882Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-09-07T16:24:37.3889882Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.467043Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-09-07T16:24:37.467043Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.5420966Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-09-07T16:24:37.5420966Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.9193635Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-09-07T16:24:37.9193635Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.9974179Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-09-07T16:24:37.9974179Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextPartitionKey,x-ms-continuation-NextRowKey,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "0a7fbe00-20a9-4061-93a4-dd572f054c64", + "x-ms-client-request-id": "ee803527-e31f-4a6b-ae0d-c0413d4c067b", "x-ms-continuation-nextpartitionkey": "1!24!bGlzdEVudGl0aWVzVGVzdA--", "x-ms-continuation-nextrowkey": "1!12!YmluYXJ5MQ--", - "x-ms-request-id": "a2edf713-3002-00fd-344b-5dbedd000000", + "x-ms-request-id": "4bd6eb33-3002-0090-1404-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -113,16 +121,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.1059573Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-06-09T16:21:57.1059573Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A36.9016437Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-09-07T16:24:36.9016437Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "106e397d-2775-44b9-a800-7a06c5e9710a", - "x-ms-request-id": "a2edf72e-3002-00fd-4e4b-5dbedd000000", + "x-ms-client-request-id": "e7de7147-4a96-4986-ba18-a302fe163780", + "x-ms-request-id": "4bd6eb46-3002-0090-2704-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -131,5 +141,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "30bbc1c32c530ce7acd03f70b408c139" + "hash": "b01f75e5ac492882eaf81a05af54488a" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_with_filter.json b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_with_filter.json index 0c9e970ebad8..22bc1e3b7744 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_with_filter.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_sasconnectionstring_listentities/recording_should_list_with_filter.json @@ -8,16 +8,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.169002Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-06-09T16:21:57.169002Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.2440553Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-09T16:21:57.2440553Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.8634954Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-06-09T16:21:57.8634954Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.9255391Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-06-09T16:21:57.9255391Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.9865824Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-06-09T16:21:57.9865824Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.0576328Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-06-09T16:21:58.0576328Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.1246804Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-06-09T16:21:58.1246804Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.1947301Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-06-09T16:21:58.1947301Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.2577753Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-06-09T16:21:58.2577753Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.3278246Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-06-09T16:21:58.3278246Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.3958733Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-06-09T16:21:58.3958733Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A58.4599184Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-06-09T16:21:58.4599184Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.3121032Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-09T16:21:57.3121032Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.3761491Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-09T16:21:57.3761491Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.4381931Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-06-09T16:21:57.4381931Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.5012379Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-06-09T16:21:57.5012379Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.5943039Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-06-09T16:21:57.5943039Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.6593501Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-06-09T16:21:57.6593501Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.730401Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-06-09T16:21:57.730401Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-09T16%3A21%3A57.7964479Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-06-09T16:21:57.7964479Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A36.9917062Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-09-07T16:24:36.9917062Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.065759Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:37.065759Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.0804767Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-09-07T16:24:38.0804767Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.1575317Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-09-07T16:24:38.1575317Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.2345862Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-09-07T16:24:38.2345862Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.3096393Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-09-07T16:24:38.3096393Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.382691Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-09-07T16:24:38.382691Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.4587448Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-09-07T16:24:38.4587448Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.5347987Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-09-07T16:24:38.5347987Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.639873Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-09-07T16:24:38.639873Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.7169275Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-09-07T16:24:38.7169275Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A38.7929818Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-09-07T16:24:38.7929818Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.1438143Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:37.1438143Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.2188674Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:37.2188674Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.3089311Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-09-07T16:24:37.3089311Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.3889882Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-09-07T16:24:37.3889882Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.467043Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-09-07T16:24:37.467043Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.5420966Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-09-07T16:24:37.5420966Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.9193635Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-09-07T16:24:37.9193635Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A37.9974179Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-09-07T16:24:37.9974179Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:21:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:38 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "04f8037d-2e02-40bf-b780-f0ecc2a4cda8", - "x-ms-request-id": "a2edf775-3002-00fd-074b-5dbedd000000", + "x-ms-client-request-id": "e0769fe7-6b3e-4462-a117-cdd00e4ecdd8", + "x-ms-request-id": "4bd6eb5d-3002-0090-3e04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -26,5 +28,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "8f3a45ecaeeb12d5258dc655c33ba587" + "hash": "2ad5491dbb099268f74419d534d64d2a" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_boolean.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_boolean.json index fa3a7f017872..79b6be610e1d 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_boolean.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_boolean.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "485b1aa6-5dba-4524-a518-671ed84b0600" + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "24a5060a-5b17-44c1-9d8c-f1df4068d500" } }, { @@ -35,14 +35,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P6_browser',RowKey='R6')", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A56.031659Z'\"", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A35.2254507Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P6_browser',RowKey='R6')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "10dc6b35-c65b-4899-9770-9ee24b9f13ae", - "x-ms-request-id": "eed5538f-b002-00a8-3ba5-6455aa000000", + "x-ms-client-request-id": "0ec24f4a-f591-4951-9099-a7940340b12f", + "x-ms-request-id": "4bd6e653-3002-0090-1104-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A56.031659Z'\\\"\",\"PartitionKey\":\"P6_browser\",\"RowKey\":\"R6\",\"Timestamp\":\"2021-06-19T00:55:56.031659Z\",\"testField\":true}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A35.2254507Z'\\\"\",\"PartitionKey\":\"P6_browser\",\"RowKey\":\"R6\",\"Timestamp\":\"2021-09-07T16:24:35.2254507Z\",\"testField\":true}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A56.031659Z'\"", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A35.2254507Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "9afeeb69-40a3-46c2-aaf6-b38248a021e3", - "x-ms-request-id": "eed55395-b002-00a8-41a5-6455aa000000", + "x-ms-client-request-id": "c5e2f787-6087-48af-b0e1-c4e5ba19d3f6", + "x-ms-request-id": "4bd6e672-3002-0090-2d04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "532e54e7-9881-4540-9605-d4b9a1c7ff8d", - "x-ms-request-id": "eed553b6-b002-00a8-5aa5-6455aa000000", + "x-ms-client-request-id": "157bfcde-05c4-4fcd-b045-4109e2eeeddb", + "x-ms-request-id": "4bd6e68b-3002-0090-4504-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_date.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_date.json index 34f4b925d155..1a2a654f0c5f 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_date.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_date.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:32 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - SCUS ProdSlices", - "x-ms-request-id": "84d4ca17-8cd9-4de8-88c2-2881c82f0900" + "x-ms-ests-server": "2.1.12025.12 - NCUS ProdSlices", + "x-ms-request-id": "989a04fc-3d0e-4e23-87c3-e8f3febfd900" } }, { @@ -35,14 +35,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P2_browser',RowKey='R2')", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A54.8598212Z'\"", + "date": "Tue, 07 Sep 2021 16:24:32 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A33.4081646Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P2_browser',RowKey='R2')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "af76ad9e-5e0d-48d8-88f7-20cc6fb6b930", - "x-ms-request-id": "eed5525d-b002-00a8-17a5-6455aa000000", + "x-ms-client-request-id": "3eac8fab-c4b7-46d3-9243-70f48e36c242", + "x-ms-request-id": "4bd6e3dd-3002-0090-4804-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A54.8598212Z'\\\"\",\"PartitionKey\":\"P2_browser\",\"RowKey\":\"R2\",\"Timestamp\":\"2021-06-19T00:55:54.8598212Z\",\"testField@odata.type\":\"Edm.DateTime\",\"testField\":\"2020-09-17T00:00:00.111Z\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A33.4081646Z'\\\"\",\"PartitionKey\":\"P2_browser\",\"RowKey\":\"R2\",\"Timestamp\":\"2021-09-07T16:24:33.4081646Z\",\"testField@odata.type\":\"Edm.DateTime\",\"testField\":\"2020-09-17T00:00:00.111Z\"}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A54.8598212Z'\"", + "date": "Tue, 07 Sep 2021 16:24:32 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A33.4081646Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "4f64df57-d2f0-4854-bcc0-329fc8f4efbf", - "x-ms-request-id": "eed55269-b002-00a8-23a5-6455aa000000", + "x-ms-client-request-id": "464bc6a1-a6e8-4e31-b839-c2947ce10038", + "x-ms-request-id": "4bd6e3f5-3002-0090-6004-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", + "date": "Tue, 07 Sep 2021 16:24:32 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "43c3ea67-d701-4d5e-a390-90f0673a057d", - "x-ms-request-id": "eed5526d-b002-00a8-27a5-6455aa000000", + "x-ms-client-request-id": "9611f951-a7a8-43a1-af54-950c23656b08", + "x-ms-request-id": "4bd6e40d-3002-0090-7404-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_datetime.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_datetime.json index 4376cb0313ac..c9233742798f 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_datetime.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_datetime.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - SCUS ProdSlices", - "x-ms-request-id": "187edc62-fcf9-4dc9-a101-1b2e80d30900" + "x-ms-ests-server": "2.1.12025.12 - NCUS ProdSlices", + "x-ms-request-id": "cd04f6f6-dee1-4a5f-a358-99847c5dda00" } }, { @@ -35,14 +35,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P7_browser',RowKey='R7')", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A56.2948478Z'\"", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A35.6657623Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P7_browser',RowKey='R7')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "196a6d5c-1028-495c-88a6-1bf41adcf335", - "x-ms-request-id": "eed553e1-b002-00a8-01a5-6455aa000000", + "x-ms-client-request-id": "e0b63cd3-8e03-435a-b7e0-4862de7d12c0", + "x-ms-request-id": "4bd6e6e6-3002-0090-1904-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A56.2948478Z'\\\"\",\"PartitionKey\":\"P7_browser\",\"RowKey\":\"R7\",\"Timestamp\":\"2021-06-19T00:55:56.2948478Z\",\"testField@odata.type\":\"Edm.DateTime\",\"testField\":\"2020-09-17T00:00:00.99999Z\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A35.6657623Z'\\\"\",\"PartitionKey\":\"P7_browser\",\"RowKey\":\"R7\",\"Timestamp\":\"2021-09-07T16:24:35.6657623Z\",\"testField@odata.type\":\"Edm.DateTime\",\"testField\":\"2020-09-17T00:00:00.99999Z\"}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A56.2948478Z'\"", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A35.6657623Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "b54aae0f-9801-4d74-91e9-f88cad9ec360", - "x-ms-request-id": "eed553e5-b002-00a8-05a5-6455aa000000", + "x-ms-client-request-id": "f373ed54-6950-49df-801e-fe83cc71ce26", + "x-ms-request-id": "4bd6e6ff-3002-0090-3204-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:56 GMT", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "010c5787-5c71-4357-93ac-8b6e6e7a7416", - "x-ms-request-id": "eed553f2-b002-00a8-12a5-6455aa000000", + "x-ms-client-request-id": "f76ba7fe-6b14-41fe-9318-66e2040acfb6", + "x-ms-request-id": "4bd6e718-3002-0090-4604-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_guid.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_guid.json index 93e9bf2ae6df..a1d5b712624f 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_guid.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_guid.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "c704f1b0-910f-4395-802c-e348b4810f00" + "x-ms-ests-server": "2.1.12025.12 - WUS2 ProdSlices", + "x-ms-request-id": "2a346122-9106-46c9-851f-5fbef34ad600" } }, { @@ -35,14 +35,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P3_browser',RowKey='R3')", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A55.19506Z'\"", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A33.9695619Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P3_browser',RowKey='R3')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "57a6a403-8024-40d0-872b-60ad6506ec76", - "x-ms-request-id": "eed552b8-b002-00a8-6aa5-6455aa000000", + "x-ms-client-request-id": "51d81b5d-c698-4175-82e0-f8c22cce8ff9", + "x-ms-request-id": "4bd6e497-3002-0090-7604-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A55.19506Z'\\\"\",\"PartitionKey\":\"P3_browser\",\"RowKey\":\"R3\",\"Timestamp\":\"2021-06-19T00:55:55.19506Z\",\"testField@odata.type\":\"Edm.Guid\",\"testField\":\"cf8ef051-1b7d-4e93-a1e5-a3944d7e441c\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A33.9695619Z'\\\"\",\"PartitionKey\":\"P3_browser\",\"RowKey\":\"R3\",\"Timestamp\":\"2021-09-07T16:24:33.9695619Z\",\"testField@odata.type\":\"Edm.Guid\",\"testField\":\"cf8ef051-1b7d-4e93-a1e5-a3944d7e441c\"}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A55.19506Z'\"", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A33.9695619Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "9f5ae903-fdc6-43a4-bfc2-dfa5eea86305", - "x-ms-request-id": "eed552c2-b002-00a8-74a5-6455aa000000", + "x-ms-client-request-id": "91da1598-1eda-4b02-8666-15a26738bf10", + "x-ms-request-id": "4bd6e4b4-3002-0090-1204-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c05c3d79-6e16-4829-a79c-20b119d17da3", - "x-ms-request-id": "eed552d2-b002-00a8-04a5-6455aa000000", + "x-ms-client-request-id": "b8671a4f-602f-4936-a1d7-203ae418a717", + "x-ms-request-id": "4bd6e4d2-3002-0090-2d04-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int32.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int32.json index c451c9d69a21..d516f379eb3c 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int32.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int32.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "d6c8b145-db3d-4cb9-adf0-e9a4b4fb1000" + "x-ms-ests-server": "2.1.12025.12 - NCUS ProdSlices", + "x-ms-request-id": "dc2d2dac-8274-4ae9-9ec5-917d1231e200" } }, { @@ -35,14 +35,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P5_browser',RowKey='R5')", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A55.7414508Z'\"", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A34.8051537Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P5_browser',RowKey='R5')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "28ee26f4-6afb-40ea-9cdc-aaa63fcfcc30", - "x-ms-request-id": "eed55358-b002-00a8-06a5-6455aa000000", + "x-ms-client-request-id": "2e5b78e9-6635-41d0-8db9-ae38d1898d66", + "x-ms-request-id": "4bd6e5cb-3002-0090-1704-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A55.7414508Z'\\\"\",\"PartitionKey\":\"P5_browser\",\"RowKey\":\"R5\",\"Timestamp\":\"2021-06-19T00:55:55.7414508Z\",\"testField\":123}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A34.8051537Z'\\\"\",\"PartitionKey\":\"P5_browser\",\"RowKey\":\"R5\",\"Timestamp\":\"2021-09-07T16:24:34.8051537Z\",\"testField\":123}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A55.7414508Z'\"", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A34.8051537Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "b00f746c-fc55-49dc-ac4e-908e56aae437", - "x-ms-request-id": "eed55361-b002-00a8-0fa5-6455aa000000", + "x-ms-client-request-id": "64ff4798-37ff-4f27-8289-72f1296e233e", + "x-ms-request-id": "4bd6e5ed-3002-0090-3604-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", + "date": "Tue, 07 Sep 2021 16:24:34 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "15a252b0-1549-4624-b477-f6e3c4c0ed59", - "x-ms-request-id": "eed5536b-b002-00a8-19a5-6455aa000000", + "x-ms-client-request-id": "189a19cd-e0ea-491f-863e-69b907a01da3", + "x-ms-request-id": "4bd6e5fd-3002-0090-4504-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int64.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int64.json index 0a5463f0881b..8b4eb536833d 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int64.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int64.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "ec339bce-cd28-4d13-b038-3115e4be0700" + "x-ms-ests-server": "2.1.12025.12 - NCUS ProdSlices", + "x-ms-request-id": "989a04fc-3d0e-4e23-87c3-e8f33cc0d900" } }, { @@ -35,14 +35,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P4_browser',RowKey='R4')", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A55.4452386Z'\"", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A34.3858565Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P4_browser',RowKey='R4')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "74d25a07-bc21-4b8c-8134-a99a9689f658", - "x-ms-request-id": "eed552f9-b002-00a8-2ba5-6455aa000000", + "x-ms-client-request-id": "e678c71e-bb42-4a22-9994-36caee5b2e3d", + "x-ms-request-id": "4bd6e538-3002-0090-0d04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A55.4452386Z'\\\"\",\"PartitionKey\":\"P4_browser\",\"RowKey\":\"R4\",\"Timestamp\":\"2021-06-19T00:55:55.4452386Z\",\"testField@odata.type\":\"Edm.Int64\",\"testField\":\"12345543221\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A34.3858565Z'\\\"\",\"PartitionKey\":\"P4_browser\",\"RowKey\":\"R4\",\"Timestamp\":\"2021-09-07T16:24:34.3858565Z\",\"testField@odata.type\":\"Edm.Int64\",\"testField\":\"12345543221\"}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A55.4452386Z'\"", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A34.3858565Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "a3be52d6-508d-4ccd-b7c2-371c40b97170", - "x-ms-request-id": "eed5530e-b002-00a8-3fa5-6455aa000000", + "x-ms-client-request-id": "2724167d-04af-45f5-9357-01cb5a93455d", + "x-ms-request-id": "4bd6e550-3002-0090-2404-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", + "date": "Tue, 07 Sep 2021 16:24:33 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "2187d61d-47e2-49ca-b9c9-245b05a4c07a", - "x-ms-request-id": "eed5531b-b002-00a8-4ca5-6455aa000000", + "x-ms-client-request-id": "7780d434-cc32-49af-800b-29171c9f8690", + "x-ms-request-id": "4bd6e573-3002-0090-4204-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.json index 272c5c967bc4..e511f9af038f 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:32 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "c5089dc3-7113-453c-b0bc-8acb0ec01000" + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "24a5060a-5b17-44c1-9d8c-f1df8267d500" } }, { @@ -35,14 +35,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P2_browser',RowKey='R1')", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A54.6016376Z'\"", + "date": "Tue, 07 Sep 2021 16:24:32 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A32.9348296Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P2_browser',RowKey='R1')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "0fbdf4b2-7312-4df6-903c-f298a054a7d6", - "x-ms-request-id": "eed55217-b002-00a8-53a5-6455aa000000", + "x-ms-client-request-id": "5b294e3d-7517-436a-972d-65237d15f12b", + "x-ms-request-id": "4bd6e368-3002-0090-5c04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A54.6016376Z'\\\"\",\"PartitionKey\":\"P2_browser\",\"RowKey\":\"R1\",\"Timestamp\":\"2021-06-19T00:55:54.6016376Z\",\"testField\":\"testEntity\"}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A32.9348296Z'\\\"\",\"PartitionKey\":\"P2_browser\",\"RowKey\":\"R1\",\"Timestamp\":\"2021-09-07T16:24:32.9348296Z\",\"testField\":\"testEntity\"}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A54.6016376Z'\"", + "date": "Tue, 07 Sep 2021 16:24:32 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A32.9348296Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "731afb08-1011-4dca-9238-ec22fb020359", - "x-ms-request-id": "eed5521f-b002-00a8-5ba5-6455aa000000", + "x-ms-client-request-id": "7200cd9d-a6d4-4b09-b517-8a14b275f300", + "x-ms-request-id": "4bd6e382-3002-0090-7404-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", + "date": "Tue, 07 Sep 2021 16:24:32 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "cff1daa8-85e3-4084-82bc-0253e72dafe2", - "x-ms-request-id": "eed5522b-b002-00a8-67a5-6455aa000000", + "x-ms-client-request-id": "9b8fd7ba-5f7e-4858-8abd-244532da1cc5", + "x-ms-request-id": "4bd6e39d-3002-0090-0e04-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.json index df3f3fe4ef89..99e3df8bd661 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", + "date": "Tue, 07 Sep 2021 16:24:35 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "c61644dd-f013-4551-a705-b21160c90600" + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "c1c390bb-3829-4338-977c-fe39f342d500" } }, { @@ -35,14 +35,14 @@ "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P8_browser',RowKey='R8')", - "date": "Sat, 19 Jun 2021 00:55:56 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A56.5850561Z'\"", + "date": "Tue, 07 Sep 2021 16:24:35 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A36.0940675Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P8_browser',RowKey='R8')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "2a37486c-44dc-45ce-bca4-28ebc701d19d", - "x-ms-request-id": "eed55434-b002-00a8-4fa5-6455aa000000", + "x-ms-client-request-id": "4e5bf3f0-e6e9-4a72-9655-9b16a1dafb31", + "x-ms-request-id": "4bd6e76e-3002-0090-1404-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A56.5850561Z'\\\"\",\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"Timestamp\":\"2021-06-19T00:55:56.5850561Z\",\"integerNumber\":3,\"floatingPointNumber\":3.14}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A36.0940675Z'\\\"\",\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"Timestamp\":\"2021-09-07T16:24:36.0940675Z\",\"integerNumber\":3,\"floatingPointNumber\":3.14}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:56 GMT", - "etag": "W/\"datetime'2021-06-19T00%3A55%3A56.5850561Z'\"", + "date": "Tue, 07 Sep 2021 16:24:35 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A36.0940675Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "6e6e683a-8f80-4bcb-b238-f4d8abae33ee", - "x-ms-request-id": "eed55441-b002-00a8-5ca5-6455aa000000", + "x-ms-client-request-id": "e6bc8118-9248-4c62-bb61-f3b8851e4228", + "x-ms-request-id": "4bd6e787-3002-0090-2804-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:56 GMT", + "date": "Tue, 07 Sep 2021 16:24:35 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "b8fbb890-5157-4b73-a311-313f4702a4c7", - "x-ms-request-id": "eed55445-b002-00a8-60a5-6455aa000000", + "x-ms-client-request-id": "927ade59-46aa-4c95-b464-78b2410b0aef", + "x-ms-request-id": "4bd6e7a3-3002-0090-4204-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.json index 64b0272b8ac0..53c41e66483a 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.json @@ -11,38 +11,38 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Tue, 03 Aug 2021 22:50:24 GMT", + "date": "Tue, 07 Sep 2021 16:24:35 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+wst\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11898.12 - EUS ProdSlices", - "x-ms-request-id": "955b325c-e862-455b-8b32-0a7e09e02301" + "x-ms-ests-server": "2.1.12025.12 - EUS ProdSlices", + "x-ms-request-id": "c9e21cba-1256-4ba3-b699-9057ca7eec00" } }, { "method": "POST", "url": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser", "query": {}, - "requestBody": "{\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"integerNumber\":3,\"floatingPointNumber\":3.14}", + "requestBody": "{\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"integerNumber\":3,\"floatingPointNumber\":3.14,\"booleanValue\":true}", "status": 204, "response": "", "responseHeaders": { "cache-control": "no-cache", "content-length": "0", "dataserviceid": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P8_browser',RowKey='R8')", - "date": "Tue, 03 Aug 2021 22:50:24 GMT", - "etag": "W/\"datetime'2021-08-03T22%3A50%3A24.9995814Z'\"", + "date": "Tue, 07 Sep 2021 16:24:35 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A36.4473191Z'\"", "location": "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialbrowser(PartitionKey='P8_browser',RowKey='R8')", "preference-applied": "return-no-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "7642fd5f-591f-4a98-a5c2-ef661952a4db", - "x-ms-request-id": "e1f3e73b-2002-00e9-04b9-887db9000000", + "x-ms-client-request-id": "3955cfb4-dfb0-4c8a-b5a2-346a60e77f69", + "x-ms-request-id": "4bd6e7d3-3002-0090-7004-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -52,19 +52,19 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-08-03T22%3A50%3A24.9995814Z'\\\"\",\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"Timestamp\":\"2021-08-03T22:50:24.9995814Z\",\"integerNumber\":3,\"floatingPointNumber\":3.14}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser/@Element\",\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A36.4473191Z'\\\"\",\"PartitionKey\":\"P8_browser\",\"RowKey\":\"R8\",\"Timestamp\":\"2021-09-07T16:24:36.4473191Z\",\"integerNumber\":3,\"floatingPointNumber\":3.14,\"booleanValue\":true}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,ETag,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Tue, 03 Aug 2021 22:50:24 GMT", - "etag": "W/\"datetime'2021-08-03T22%3A50%3A24.9995814Z'\"", + "date": "Tue, 07 Sep 2021 16:24:35 GMT", + "etag": "W/\"datetime'2021-09-07T16%3A24%3A36.4473191Z'\"", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "0fec9d92-a622-44a4-be6c-3ed424e118b6", - "x-ms-request-id": "e1f3e74d-2002-00e9-16b9-887db9000000", + "x-ms-client-request-id": "2ec3ac91-24d5-4902-b366-a41ae5044b19", + "x-ms-request-id": "4bd6e7ef-3002-0090-0a04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,11 +78,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Tue, 03 Aug 2021 22:50:24 GMT", + "date": "Tue, 07 Sep 2021 16:24:35 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "d3e1b749-09cb-4ce6-9f97-1200ca42a388", - "x-ms-request-id": "e1f3e759-2002-00e9-22b9-887db9000000", + "x-ms-client-request-id": "1792403e-3706-4d71-b159-b3c91c0435b4", + "x-ms-request-id": "4bd6e806-3002-0090-2004-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -91,5 +91,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "77344ad3ea3146abc55572a420c25082" + "hash": "5ea79d1bba6859fd0f772e05df868107" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_all.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_all.json index ba1d92548e49..1935c7bec495 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_all.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_all.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:52 GMT", + "date": "Tue, 07 Sep 2021 16:24:30 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "ec339bce-cd28-4d13-b038-3115b1be0700" + "x-ms-ests-server": "2.1.12025.12 - WUS2 ProdSlices", + "x-ms-request-id": "aa58a107-a956-4423-9f28-f1ccb12cd000" } }, { @@ -32,18 +32,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.4881228Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-06-19T00:55:52.4881228Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.5321544Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-19T00:55:52.5321544Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.8784033Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-06-19T00:55:52.8784033Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.9184316Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-06-19T00:55:52.9184316Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.959461Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-06-19T00:55:52.959461Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0145005Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-06-19T00:55:53.0145005Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0525278Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-06-19T00:55:53.0525278Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0925565Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-06-19T00:55:53.0925565Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.1315845Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-06-19T00:55:53.1315845Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.1686107Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-06-19T00:55:53.1686107Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.2056372Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-06-19T00:55:53.2056372Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.2426642Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-06-19T00:55:53.2426642Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.5711824Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-19T00:55:52.5711824Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6092097Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-19T00:55:52.6092097Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6462363Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-06-19T00:55:52.6462363Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6842636Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-06-19T00:55:52.6842636Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7212901Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-06-19T00:55:52.7212901Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7593174Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-06-19T00:55:52.7593174Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7973443Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-06-19T00:55:52.7973443Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.8353716Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-06-19T00:55:52.8353716Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.4510958Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-06-19T00:55:52.4510958Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A28.9219849Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-09-07T16:24:28.9219849Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.0080463Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:29.0080463Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.7795967Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-09-07T16:24:29.7795967Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.8586526Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-09-07T16:24:29.8586526Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.2399225Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-09-07T16:24:30.2399225Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.3209798Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-09-07T16:24:30.3209798Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.4040386Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-09-07T16:24:30.4040386Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.4931016Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-09-07T16:24:30.4931016Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.598176Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-09-07T16:24:30.598176Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.6882393Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-09-07T16:24:30.6882393Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.7732999Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-09-07T16:24:30.7732999Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.8603615Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-09-07T16:24:30.8603615Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.0951088Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:29.0951088Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.1821701Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:29.1821701Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.2812412Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-09-07T16:24:29.2812412Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.3653008Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-09-07T16:24:29.3653008Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.4463591Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-09-07T16:24:29.4463591Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.5274169Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-09-07T16:24:29.5274169Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.6134784Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-09-07T16:24:29.6134784Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.6975383Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-09-07T16:24:29.6975383Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A28.8359234Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-09-07T16:24:28.8359234Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:30 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c465c9bc-2c66-445b-9fef-2dabc73d676b", - "x-ms-request-id": "eed55128-b002-00a8-76a5-6455aa000000", + "x-ms-client-request-id": "96d76dce-db2b-434b-bd24-3e351393b4d7", + "x-ms-request-id": "4bd6e168-3002-0090-0804-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_binary_with_filter.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_binary_with_filter.json index ac81406cb9a1..2331e68080bf 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_binary_with_filter.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_binary_with_filter.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:31 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "3a098889-cf57-49fc-8a0b-003202161000" + "x-ms-ests-server": "2.1.12025.12 - WUS2 ProdSlices", + "x-ms-request-id": "aa58a107-a956-4423-9f28-f1cc062dd000" } }, { @@ -32,18 +32,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.4510958Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-06-19T00:55:52.4510958Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A28.8359234Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-09-07T16:24:28.8359234Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:54 GMT", + "date": "Tue, 07 Sep 2021 16:24:31 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "37d62abb-8389-45a7-a1e0-e3e8f793cb3d", - "x-ms-request-id": "eed551e2-b002-00a8-21a5-6455aa000000", + "x-ms-client-request-id": "03b120d3-d0cf-450f-8393-a05b5949897e", + "x-ms-request-id": "4bd6e336-3002-0090-3304-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -52,5 +52,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "caa8a49f9e4be3de35c971371f42fba1" + "hash": "4b2e8fcbecbb09cd3af60f0e26a5e9bf" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_by_page.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_by_page.json index cadb3d19a80a..e8f8176139fc 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_by_page.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_by_page.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:52 GMT", + "date": "Tue, 07 Sep 2021 16:24:30 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - EUS ProdSlices", - "x-ms-request-id": "e3de468e-0135-45c4-ba04-4389f1900400" + "x-ms-ests-server": "2.1.12025.12 - EUS ProdSlices", + "x-ms-request-id": "c9e21cba-1256-4ba3-b699-9057aa7dec00" } }, { @@ -33,20 +33,20 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.4881228Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-06-19T00:55:52.4881228Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.5321544Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-19T00:55:52.5321544Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.8784033Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-06-19T00:55:52.8784033Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.9184316Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-06-19T00:55:52.9184316Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.959461Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-06-19T00:55:52.959461Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A28.9219849Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-09-07T16:24:28.9219849Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.0080463Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:29.0080463Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.7795967Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-09-07T16:24:29.7795967Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.8586526Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-09-07T16:24:29.8586526Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.2399225Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-09-07T16:24:30.2399225Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextPartitionKey,x-ms-continuation-NextRowKey,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:30 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "e616c0b0-8593-4772-8979-0e23185b5ac4", + "x-ms-client-request-id": "16881ae4-40e9-4f56-a641-616f11d63bfb", "x-ms-continuation-nextpartitionkey": "1!24!bGlzdEVudGl0aWVzVGVzdA--", "x-ms-continuation-nextrowkey": "1!4!MTM-", - "x-ms-request-id": "eed55155-b002-00a8-1da5-6455aa000000", + "x-ms-request-id": "4bd6e209-3002-0090-2204-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -61,20 +61,20 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0145005Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-06-19T00:55:53.0145005Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0525278Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-06-19T00:55:53.0525278Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0925565Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-06-19T00:55:53.0925565Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.1315845Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-06-19T00:55:53.1315845Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.1686107Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-06-19T00:55:53.1686107Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.3209798Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-09-07T16:24:30.3209798Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.4040386Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-09-07T16:24:30.4040386Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.4931016Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-09-07T16:24:30.4931016Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.598176Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-09-07T16:24:30.598176Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.6882393Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-09-07T16:24:30.6882393Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextPartitionKey,x-ms-continuation-NextRowKey,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:30 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "8b316cf1-72fa-4edd-b59e-48a47cb65ed0", + "x-ms-client-request-id": "10edf1d6-83f1-47d1-9bd4-329157e86825", "x-ms-continuation-nextpartitionkey": "1!24!bGlzdEVudGl0aWVzVGVzdA--", "x-ms-continuation-nextrowkey": "1!4!MTg-", - "x-ms-request-id": "eed5515c-b002-00a8-24a5-6455aa000000", + "x-ms-request-id": "4bd6e22b-3002-0090-4104-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -89,20 +89,20 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.2056372Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-06-19T00:55:53.2056372Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.2426642Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-06-19T00:55:53.2426642Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.5711824Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-19T00:55:52.5711824Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6092097Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-19T00:55:52.6092097Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6462363Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-06-19T00:55:52.6462363Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.7732999Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-09-07T16:24:30.7732999Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.8603615Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-09-07T16:24:30.8603615Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.0951088Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:29.0951088Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.1821701Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:29.1821701Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.2812412Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-09-07T16:24:29.2812412Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextPartitionKey,x-ms-continuation-NextRowKey,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:31 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "ae067582-9324-40fd-a1a7-044dedd2a642", + "x-ms-client-request-id": "5187988d-7519-4141-91b9-67ef3c66c057", "x-ms-continuation-nextpartitionkey": "1!24!bGlzdEVudGl0aWVzVGVzdA--", "x-ms-continuation-nextrowkey": "1!4!NQ--", - "x-ms-request-id": "eed5516b-b002-00a8-33a5-6455aa000000", + "x-ms-request-id": "4bd6e248-3002-0090-5b04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -117,20 +117,20 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6842636Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-06-19T00:55:52.6842636Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7212901Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-06-19T00:55:52.7212901Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7593174Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-06-19T00:55:52.7593174Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7973443Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-06-19T00:55:52.7973443Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.8353716Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-06-19T00:55:52.8353716Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.3653008Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-09-07T16:24:29.3653008Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.4463591Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-09-07T16:24:29.4463591Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.5274169Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-09-07T16:24:29.5274169Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.6134784Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-09-07T16:24:29.6134784Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.6975383Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-09-07T16:24:29.6975383Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextPartitionKey,x-ms-continuation-NextRowKey,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:31 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "caa18af3-1fb6-4bc8-b385-1589de7d8bc7", + "x-ms-client-request-id": "c2a8ce90-fa86-4fcd-bf7a-04addc036908", "x-ms-continuation-nextpartitionkey": "1!24!bGlzdEVudGl0aWVzVGVzdA--", "x-ms-continuation-nextrowkey": "1!12!YmluYXJ5MQ--", - "x-ms-request-id": "eed55179-b002-00a8-40a5-6455aa000000", + "x-ms-request-id": "4bd6e264-3002-0090-7704-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -145,18 +145,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.4510958Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-06-19T00:55:52.4510958Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A28.8359234Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"binary1\",\"Timestamp\":\"2021-09-07T16:24:28.8359234Z\",\"foo@odata.type\":\"Edm.Binary\",\"foo\":\"QmFy\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:31 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "42af7184-c3c9-43ec-90c7-1b4edb2c780a", - "x-ms-request-id": "eed5517e-b002-00a8-45a5-6455aa000000", + "x-ms-client-request-id": "52d137ef-b1ea-48e2-ad67-2df45e637f0f", + "x-ms-request-id": "4bd6e287-3002-0090-1904-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -165,5 +165,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "580942175a5d66c69e436ec9ea2064a3" + "hash": "b01f75e5ac492882eaf81a05af54488a" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_with_filter.json b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_with_filter.json index 3eef2fcbed87..f71228af828a 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_with_filter.json +++ b/sdk/tables/data-tables/recordings/browsers/tableclient_tokencredential_listentities/recording_should_list_with_filter.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:31 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - WUS2 ProdSlices", - "x-ms-request-id": "3a098889-cf57-49fc-8a0b-0032fa151000" + "x-ms-ests-server": "2.1.12025.12 - WUS2 ProdSlices", + "x-ms-request-id": "aa58a107-a956-4423-9f28-f1ccf72cd000" } }, { @@ -32,18 +32,18 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.4881228Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-06-19T00:55:52.4881228Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.5321544Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-06-19T00:55:52.5321544Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.8784033Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-06-19T00:55:52.8784033Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.9184316Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-06-19T00:55:52.9184316Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.959461Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-06-19T00:55:52.959461Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0145005Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-06-19T00:55:53.0145005Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0525278Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-06-19T00:55:53.0525278Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.0925565Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-06-19T00:55:53.0925565Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.1315845Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-06-19T00:55:53.1315845Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.1686107Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-06-19T00:55:53.1686107Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.2056372Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-06-19T00:55:53.2056372Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A53.2426642Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-06-19T00:55:53.2426642Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.5711824Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-06-19T00:55:52.5711824Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6092097Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-06-19T00:55:52.6092097Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6462363Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-06-19T00:55:52.6462363Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.6842636Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-06-19T00:55:52.6842636Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7212901Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-06-19T00:55:52.7212901Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7593174Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-06-19T00:55:52.7593174Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.7973443Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-06-19T00:55:52.7973443Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-06-19T00%3A55%3A52.8353716Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-06-19T00:55:52.8353716Z\",\"foo\":\"testEntity\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialbrowser\",\"value\":[{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A28.9219849Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"0\",\"Timestamp\":\"2021-09-07T16:24:28.9219849Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.0080463Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"1\",\"Timestamp\":\"2021-09-07T16:24:29.0080463Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.7795967Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"10\",\"Timestamp\":\"2021-09-07T16:24:29.7795967Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.8586526Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"11\",\"Timestamp\":\"2021-09-07T16:24:29.8586526Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.2399225Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"12\",\"Timestamp\":\"2021-09-07T16:24:30.2399225Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.3209798Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"13\",\"Timestamp\":\"2021-09-07T16:24:30.3209798Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.4040386Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"14\",\"Timestamp\":\"2021-09-07T16:24:30.4040386Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.4931016Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"15\",\"Timestamp\":\"2021-09-07T16:24:30.4931016Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.598176Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"16\",\"Timestamp\":\"2021-09-07T16:24:30.598176Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.6882393Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"17\",\"Timestamp\":\"2021-09-07T16:24:30.6882393Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.7732999Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"18\",\"Timestamp\":\"2021-09-07T16:24:30.7732999Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A30.8603615Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"19\",\"Timestamp\":\"2021-09-07T16:24:30.8603615Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.0951088Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"2\",\"Timestamp\":\"2021-09-07T16:24:29.0951088Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.1821701Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"3\",\"Timestamp\":\"2021-09-07T16:24:29.1821701Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.2812412Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"4\",\"Timestamp\":\"2021-09-07T16:24:29.2812412Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.3653008Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"5\",\"Timestamp\":\"2021-09-07T16:24:29.3653008Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.4463591Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"6\",\"Timestamp\":\"2021-09-07T16:24:29.4463591Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.5274169Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"7\",\"Timestamp\":\"2021-09-07T16:24:29.5274169Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.6134784Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"8\",\"Timestamp\":\"2021-09-07T16:24:29.6134784Z\",\"foo\":\"testEntity\"},{\"odata.etag\":\"W/\\\"datetime'2021-09-07T16%3A24%3A29.6975383Z'\\\"\",\"PartitionKey\":\"listEntitiesTest\",\"RowKey\":\"9\",\"Timestamp\":\"2021-09-07T16:24:29.6975383Z\",\"foo\":\"testEntity\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:53 GMT", + "date": "Tue, 07 Sep 2021 16:24:31 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "16affb9d-5767-4fe4-a2de-44e5e96b386f", - "x-ms-request-id": "eed551b6-b002-00a8-7aa5-6455aa000000", + "x-ms-client-request-id": "6e3c5adf-4dd8-4869-9c91-5ca65ba1bc04", + "x-ms-request-id": "4bd6e2e0-3002-0090-6b04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -52,5 +52,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "49cedad40339199693961c6e207c962f" + "hash": "2ad5491dbb099268f74419d534d64d2a" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_create_get_table_and_delete/recording_should_create_new_table_then_delete.json b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_create_get_table_and_delete/recording_should_create_new_table_then_delete.json index c0432f657d78..91720737b38b 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_create_get_table_and_delete/recording_should_create_new_table_then_delete.json +++ b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_create_get_table_and_delete/recording_should_create_new_table_then_delete.json @@ -10,14 +10,14 @@ "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:46 GMT", "location": "https://fakeaccount.table.core.windows.net/Tables('testTableSASConnectionStringbrowser')", "preference-applied": "return-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "cb9c6e69-490f-4321-95a9-f9398f7aa6fc", - "x-ms-request-id": "a2edfb49-3002-00fd-164b-5dbedd000000", + "x-ms-client-request-id": "8bc8225d-8b8f-4a18-a3b2-34e5597f2cae", + "x-ms-request-id": "4bd6f5a7-3002-0090-5b04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -27,16 +27,18 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"testTableSASConnectionStringbrowser\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"CreateSimpleEntityBatchPerf\"},{\"TableName\":\"createTableNew\"},{\"TableName\":\"createTableNew2\"},{\"TableName\":\"createTableOld\"},{\"TableName\":\"testTable\"},{\"TableName\":\"testTableSASConnectionStringbrowser\"},{\"TableName\":\"TestTestTest\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:46 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "9c754221-d686-4430-801f-dae286c7a418", - "x-ms-request-id": "a2edfb68-3002-00fd-324b-5dbedd000000", + "x-ms-client-request-id": "67586dde-3da3-473b-9821-6ddb08c1c7e9", + "x-ms-request-id": "4bd6f5d4-3002-0090-0404-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -50,11 +52,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Wed, 09 Jun 2021 16:22:00 GMT", + "date": "Tue, 07 Sep 2021 16:24:46 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "8b1b2a53-69a6-4f8a-be0c-e79b22152942", - "x-ms-request-id": "a2edfb8a-3002-00fd-514b-5dbedd000000", + "x-ms-client-request-id": "967fdfb6-5324-474f-83b5-8284bda21609", + "x-ms-request-id": "4bd6f5f2-3002-0090-2204-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -63,5 +65,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "9cf963b1fa28f4167de5ad68246e835c" + "hash": "da88f5383fd5eebc6c066f95e45c3a6f" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_listtables/recording_should_list_all.json b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_listtables/recording_should_list_all.json index 9104c936957b..fa9cafccc745 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_listtables/recording_should_list_all.json +++ b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_listtables/recording_should_list_all.json @@ -6,16 +6,18 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser0\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser1\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser10\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser11\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser12\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser13\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser14\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser15\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser16\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser17\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser18\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser19\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser2\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser3\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser4\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser5\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser6\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser7\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser8\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser9\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"CreateSimpleEntityBatchPerf\"},{\"TableName\":\"createTableNew\"},{\"TableName\":\"createTableNew2\"},{\"TableName\":\"createTableOld\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser0\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser1\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser10\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser11\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser12\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser13\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser14\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser15\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser16\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser17\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser18\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser19\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser2\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser3\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser4\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser5\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser6\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser7\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser8\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser9\"},{\"TableName\":\"testTable\"},{\"TableName\":\"TestTestTest\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:01 GMT", + "date": "Tue, 07 Sep 2021 16:24:48 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c9d141da-78cd-43f4-89ea-07902480916b", - "x-ms-request-id": "a2edfe0c-3002-00fd-0f4b-5dbedd000000", + "x-ms-client-request-id": "50f9e941-c89b-40a2-967a-a8b067cf3b62", + "x-ms-request-id": "4bd6f828-3002-0090-1904-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -24,5 +26,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "22d5d79c185b5041cd872861d4c1c9ed" + "hash": "2ab4ac76346567f103806f58a1189f04" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_listtables/recording_should_list_by_page.json b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_listtables/recording_should_list_by_page.json index 5ccac2d4c87f..a94a8b184599 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_listtables/recording_should_list_by_page.json +++ b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_sasconnectionstring_listtables/recording_should_list_by_page.json @@ -8,17 +8,19 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser0\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser1\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser10\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser11\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser12\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"CreateSimpleEntityBatchPerf\"},{\"TableName\":\"createTableNew\"},{\"TableName\":\"createTableNew2\"},{\"TableName\":\"createTableOld\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser0\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:01 GMT", + "date": "Tue, 07 Sep 2021 16:24:48 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "e9ff85cc-8982-407e-84b8-8e8b77dfe264", - "x-ms-continuation-nexttablename": "1!80!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMTMBMDFkNzVkNGI5NDJhZDg3NQ--", - "x-ms-request-id": "a2edfe2a-3002-00fd-2b4b-5dbedd000000", + "x-ms-client-request-id": "d882cf47-59ee-4bbf-a21a-9e7a6a66b192", + "x-ms-continuation-nexttablename": "1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMQEwMWQ3YTQwNGRmZjc1Mzgw", + "x-ms-request-id": "4bd6f846-3002-0090-3704-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -27,21 +29,23 @@ "url": "https://fakeaccount.table.core.windows.net/Tables", "query": { "$top": "5", - "NextTableName": "1!80!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMTMBMDFkNzVkNGI5NDJhZDg3NQ--" + "NextTableName": "1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMQEwMWQ3YTQwNGRmZjc1Mzgw" }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser13\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser14\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser15\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser16\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser17\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser1\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser10\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser11\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser12\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser13\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:01 GMT", + "date": "Tue, 07 Sep 2021 16:24:48 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "1c508ba4-410a-4e7f-8b16-a5ebe618a18e", - "x-ms-continuation-nexttablename": "1!80!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMTgBMDFkNzVkNGI5NDYxZDBkNg--", - "x-ms-request-id": "a2edfe49-3002-00fd-464b-5dbedd000000", + "x-ms-client-request-id": "88808bd1-4627-4554-bcc4-c0a127b61163", + "x-ms-continuation-nexttablename": "1!80!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMTQBMDFkN2E0MDRlMGExNmRlOA--", + "x-ms-request-id": "4bd6f85d-3002-0090-4e04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -50,21 +54,23 @@ "url": "https://fakeaccount.table.core.windows.net/Tables", "query": { "$top": "5", - "NextTableName": "1!80!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMTgBMDFkNzVkNGI5NDYxZDBkNg--" + "NextTableName": "1!80!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMTQBMDFkN2E0MDRlMGExNmRlOA--" }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser18\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser19\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser2\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser3\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser4\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser14\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser15\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser16\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser17\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser18\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:02 GMT", + "date": "Tue, 07 Sep 2021 16:24:48 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "a22d21be-f51e-4c89-8e05-718525833480", - "x-ms-continuation-nexttablename": "1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyNQEwMWQ3NWQ0YjkzZDdjNzc3", - "x-ms-request-id": "a2edfe6b-3002-00fd-654b-5dbedd000000", + "x-ms-client-request-id": "882be196-0d64-42e1-ba2b-59c42dd575df", + "x-ms-continuation-nexttablename": "1!80!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMTkBMDFkN2E0MDRlMGRmYmE5Zg--", + "x-ms-request-id": "4bd6f877-3002-0090-6704-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -73,21 +79,23 @@ "url": "https://fakeaccount.table.core.windows.net/Tables", "query": { "$top": "5", - "NextTableName": "1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyNQEwMWQ3NWQ0YjkzZDdjNzc3" + "NextTableName": "1!80!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyMTkBMDFkN2E0MDRlMGRmYmE5Zg--" }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser5\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser6\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser7\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser8\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser9\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser19\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser2\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser3\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser4\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser5\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:02 GMT", + "date": "Tue, 07 Sep 2021 16:24:48 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "1bfa60a7-20bf-48bb-b59b-e390bf7c8614", - "x-ms-continuation-nexttablename": "1!72!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlMAEwMWQ3NWQ0YjhhY2EyYjQx", - "x-ms-request-id": "a2edfe98-3002-00fd-0c4b-5dbedd000000", + "x-ms-client-request-id": "7de335f1-1b61-401a-b332-017fefe157c0", + "x-ms-continuation-nexttablename": "1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyNgEwMWQ3YTQwNGUwMzhhZTEy", + "x-ms-request-id": "4bd6f88f-3002-0090-7f04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -96,20 +104,47 @@ "url": "https://fakeaccount.table.core.windows.net/Tables", "query": { "$top": "5", - "NextTableName": "1!72!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlMAEwMWQ3NWQ0YjhhY2EyYjQx" + "NextTableName": "1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdicm93c2VyNgEwMWQ3YTQwNGUwMzhhZTEy" }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestSASConnectionStringbrowser6\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser7\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser8\"},{\"TableName\":\"ListTableTestSASConnectionStringbrowser9\"},{\"TableName\":\"testTable\"}]}", "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Wed, 09 Jun 2021 16:22:02 GMT", + "date": "Tue, 07 Sep 2021 16:24:48 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "b828bae9-c898-4dec-875d-0bfa3c8ed08c", - "x-ms-request-id": "a2edfebb-3002-00fd-2b4b-5dbedd000000", + "x-ms-client-request-id": "681113b4-144c-4fa1-a8bf-e807cbb65ef1", + "x-ms-continuation-nexttablename": "1!72!dGVzdHRhYmxlc2FzY29ubmVjdGlvbnN0cmluZ2Jyb3dzZXIBMDFkN2E0MDRkZmMwYTkzZQ--", + "x-ms-request-id": "4bd6f8a3-3002-0090-1104-a414f3000000", + "x-ms-version": "2019-02-02" + } + }, + { + "method": "GET", + "url": "https://fakeaccount.table.core.windows.net/Tables", + "query": { + "$top": "5", + "NextTableName": "1!72!dGVzdHRhYmxlc2FzY29ubmVjdGlvbnN0cmluZ2Jyb3dzZXIBMDFkN2E0MDRkZmMwYTkzZQ--" + }, + "requestBody": null, + "status": 200, + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"TestTestTest\"}]}", + "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", + "cache-control": "no-cache", + "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "date": "Tue, 07 Sep 2021 16:24:48 GMT", + "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "transfer-encoding": "chunked", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "6a42b5ed-1d8f-4cee-b9f2-8e0ffed08a26", + "x-ms-request-id": "4bd6f8bb-3002-0090-2804-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -118,5 +153,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "dc97982916a92f87ee47d38b1af76427" + "hash": "a183647385bb1e76be09ef82f7f1785b" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_create_get_table_and_delete/recording_should_create_new_table_then_delete.json b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_create_get_table_and_delete/recording_should_create_new_table_then_delete.json index 96d25929b22f..147a9286e2c0 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_create_get_table_and_delete/recording_should_create_new_table_then_delete.json +++ b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_create_get_table_and_delete/recording_should_create_new_table_then_delete.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:55 GMT", + "date": "Tue, 07 Sep 2021 16:24:41 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - SCUS ProdSlices", - "x-ms-request-id": "84d4ca17-8cd9-4de8-88c2-288129300900" + "x-ms-ests-server": "2.1.12025.12 - WUS2 ProdSlices", + "x-ms-request-id": "aa58a107-a956-4423-9f28-f1ccdf2ed000" } }, { @@ -34,14 +34,14 @@ "responseHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:56 GMT", + "date": "Tue, 07 Sep 2021 16:24:41 GMT", "location": "https://fakeaccount.table.core.windows.net/Tables('testTableTokenCredentialbrowser')", "preference-applied": "return-content", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "3c5ecfc2-bb0c-43de-9443-7c5f4e7a11f6", - "x-ms-request-id": "eed5546a-b002-00a8-01a5-6455aa000000", + "x-ms-client-request-id": "64b7f88f-3388-4208-8eaa-d85f30e7acc8", + "x-ms-request-id": "4bd6ef0a-3002-0090-2f04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -51,18 +51,18 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"testTableTokenCredentialbrowser\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"CreateSimpleEntityBatchPerf\"},{\"TableName\":\"createTableNew\"},{\"TableName\":\"createTableNew2\"},{\"TableName\":\"createTableOld\"},{\"TableName\":\"testTable\"},{\"TableName\":\"testTableTokenCredentialbrowser\"},{\"TableName\":\"TestTestTest\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:56 GMT", + "date": "Tue, 07 Sep 2021 16:24:41 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "4966bf12-b25d-4191-9f5c-d65ccb45a45c", - "x-ms-request-id": "eed55475-b002-00a8-0aa5-6455aa000000", + "x-ms-client-request-id": "677fc5a3-d804-40aa-9db6-ca77c72bfde8", + "x-ms-request-id": "4bd6ef31-3002-0090-5004-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -76,11 +76,11 @@ "responseHeaders": { "cache-control": "no-cache", "content-length": "0", - "date": "Sat, 19 Jun 2021 00:55:56 GMT", + "date": "Tue, 07 Sep 2021 16:24:41 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "459b8a0b-659e-46fa-bc2f-c828bc92b7b7", - "x-ms-request-id": "eed5547e-b002-00a8-13a5-6455aa000000", + "x-ms-client-request-id": "23e1b119-7549-4d8e-a725-2949c7645b48", + "x-ms-request-id": "4bd6ef4a-3002-0090-6904-a414f3000000", "x-ms-version": "2019-02-02" } } diff --git a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_listtables/recording_should_list_all.json b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_listtables/recording_should_list_all.json index d9c0f6318801..b4d7ea7be52c 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_listtables/recording_should_list_all.json +++ b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_listtables/recording_should_list_all.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:57 GMT", + "date": "Tue, 07 Sep 2021 16:24:43 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - SCUS ProdSlices", - "x-ms-request-id": "5c414636-7035-4936-8618-a0c50fa10900" + "x-ms-ests-server": "2.1.12025.12 - NCUS ProdSlices", + "x-ms-request-id": "cd04f6f6-dee1-4a5f-a358-99848e5fda00" } }, { @@ -30,18 +30,18 @@ "query": {}, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser0\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser1\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser10\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser11\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser12\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser13\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser14\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser15\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser16\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser17\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser18\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser19\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser2\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser3\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser4\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser5\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser6\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser7\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser8\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser9\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"CreateSimpleEntityBatchPerf\"},{\"TableName\":\"createTableNew\"},{\"TableName\":\"createTableNew2\"},{\"TableName\":\"createTableOld\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser0\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser1\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser10\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser11\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser12\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser13\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser14\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser15\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser16\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser17\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser18\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser19\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser2\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser3\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser4\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser5\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser6\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser7\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser8\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser9\"},{\"TableName\":\"testTable\"},{\"TableName\":\"TestTestTest\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:57 GMT", + "date": "Tue, 07 Sep 2021 16:24:43 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "79c80460-a360-4775-af75-39ae96d00545", - "x-ms-request-id": "eed55596-b002-00a8-79a5-6455aa000000", + "x-ms-client-request-id": "95cb13ca-955d-4dba-b2da-bcb4590f4b9c", + "x-ms-request-id": "4bd6f259-3002-0090-3a04-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -50,5 +50,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "3d698a62fe27c2660068e1e707c1c872" + "hash": "2ab4ac76346567f103806f58a1189f04" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_listtables/recording_should_list_by_page.json b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_listtables/recording_should_list_by_page.json index 943f722f9913..c9bcce31031a 100644 --- a/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_listtables/recording_should_list_by_page.json +++ b/sdk/tables/data-tables/recordings/browsers/tableserviceclient_tokencredential_listtables/recording_should_list_by_page.json @@ -11,17 +11,17 @@ "cache-control": "no-store, no-cache", "content-length": "1318", "content-type": "application/json; charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:57 GMT", + "date": "Tue, 07 Sep 2021 16:24:43 GMT", "expires": "-1", "nel": "{\"report_to\":\"network-errors\",\"max_age\":86400,\"success_fraction\":0.001,\"failure_fraction\":1.0}", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", "pragma": "no-cache", "referrer-policy": "strict-origin-when-cross-origin", - "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+san\"}]}", + "report-to": "{\"group\":\"network-errors\",\"max_age\":86400,\"endpoints\":[{\"url\":\"https://identity.nel.measure.office.net/api/report?catId=GW+estsfd+bno\"}]}", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-ests-server": "2.1.11829.8 - NCUS ProdSlices", - "x-ms-request-id": "c61644dd-f013-4551-a705-b211a1c90600" + "x-ms-ests-server": "2.1.12025.12 - SCUS ProdSlices", + "x-ms-request-id": "c1c390bb-3829-4338-977c-fe394e45d500" } }, { @@ -32,19 +32,19 @@ }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser0\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser1\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser10\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser11\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser12\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"CreateSimpleEntityBatchPerf\"},{\"TableName\":\"createTableNew\"},{\"TableName\":\"createTableNew2\"},{\"TableName\":\"createTableOld\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser0\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:57 GMT", + "date": "Tue, 07 Sep 2021 16:24:43 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c9666148-4e53-4a65-9051-5724c709fda6", - "x-ms-continuation-nexttablename": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxMwEwMWQ3NjRhNWRkNTIyZGFl", - "x-ms-request-id": "eed555a8-b002-00a8-09a5-6455aa000000", + "x-ms-client-request-id": "97225551-4fe7-4edc-b7b7-e4a40cf7a33e", + "x-ms-continuation-nexttablename": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxATAxZDdhNDA0ZGQwZDQxMzA-", + "x-ms-request-id": "4bd6f2ab-3002-0090-0904-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -53,23 +53,23 @@ "url": "https://fakeaccount.table.core.windows.net/Tables", "query": { "$top": "5", - "NextTableName": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxMwEwMWQ3NjRhNWRkNTIyZGFl" + "NextTableName": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxATAxZDdhNDA0ZGQwZDQxMzA-" }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser13\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser14\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser15\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser16\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser17\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser1\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser10\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser11\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser12\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser13\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:57 GMT", + "date": "Tue, 07 Sep 2021 16:24:43 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "40169c37-1f8b-4b64-bc2e-e545a80c52f0", - "x-ms-continuation-nexttablename": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxOAEwMWQ3NjRhNWRkNzYzNzE0", - "x-ms-request-id": "eed555b3-b002-00a8-13a5-6455aa000000", + "x-ms-client-request-id": "2bcb3656-931c-4289-8713-dc8aabab47b8", + "x-ms-continuation-nexttablename": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxNAEwMWQ3YTQwNGRkYzRhNDZh", + "x-ms-request-id": "4bd6f2c9-3002-0090-2704-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -78,23 +78,23 @@ "url": "https://fakeaccount.table.core.windows.net/Tables", "query": { "$top": "5", - "NextTableName": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxOAEwMWQ3NjRhNWRkNzYzNzE0" + "NextTableName": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxNAEwMWQ3YTQwNGRkYzRhNDZh" }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser18\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser19\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser2\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser3\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser4\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser14\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser15\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser16\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser17\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser18\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:44 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "7aeb34fd-f7df-4ad9-a6a0-36c4e79051f0", - "x-ms-continuation-nexttablename": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXI1ATAxZDc2NGE1ZGQxNmEwM2E-", - "x-ms-request-id": "eed555c0-b002-00a8-1fa5-6455aa000000", + "x-ms-client-request-id": "ad5a39cd-660b-4861-9182-b59a94e8406b", + "x-ms-continuation-nexttablename": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxOQEwMWQ3YTQwNGRlMGRhMTgy", + "x-ms-request-id": "4bd6f2e4-3002-0090-4104-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -103,23 +103,23 @@ "url": "https://fakeaccount.table.core.windows.net/Tables", "query": { "$top": "5", - "NextTableName": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXI1ATAxZDc2NGE1ZGQxNmEwM2E-" + "NextTableName": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXIxOQEwMWQ3YTQwNGRlMGRhMTgy" }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser5\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser6\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser7\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser8\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser9\"}]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser19\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser2\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser3\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser4\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser5\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:44 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c7fd56f0-2ec0-4f53-b4cf-7c82d2c0856e", - "x-ms-continuation-nexttablename": "1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGUwATAxZDc2NGE1ZDM0NjFmZjY-", - "x-ms-request-id": "eed555cc-b002-00a8-2aa5-6455aa000000", + "x-ms-client-request-id": "6c5a15e2-3494-4ac7-af69-dc332cd14cc3", + "x-ms-continuation-nexttablename": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXI2ATAxZDdhNDA0ZGQ1NTJjYTY-", + "x-ms-request-id": "4bd6f2ff-3002-0090-5b04-a414f3000000", "x-ms-version": "2019-02-02" } }, @@ -128,22 +128,47 @@ "url": "https://fakeaccount.table.core.windows.net/Tables", "query": { "$top": "5", - "NextTableName": "1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGUwATAxZDc2NGE1ZDM0NjFmZjY-" + "NextTableName": "1!72!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbGJyb3dzZXI2ATAxZDdhNDA0ZGQ1NTJjYTY-" }, "requestBody": null, "status": 200, - "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[]}", + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"ListTableTestTokenCredentialbrowser6\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser7\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser8\"},{\"TableName\":\"ListTableTestTokenCredentialbrowser9\"},{\"TableName\":\"testTable\"}]}", + "responseHeaders": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding", + "cache-control": "no-cache", + "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "date": "Tue, 07 Sep 2021 16:24:44 GMT", + "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "transfer-encoding": "chunked", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "a1039aba-a4f1-4c98-abca-dee67c623ec9", + "x-ms-continuation-nexttablename": "1!64!dGVzdHRhYmxldG9rZW5jcmVkZW50aWFsYnJvd3NlcgEwMWQ3YTQwNGRjZDBjOTgx", + "x-ms-request-id": "4bd6f31b-3002-0090-7304-a414f3000000", + "x-ms-version": "2019-02-02" + } + }, + { + "method": "GET", + "url": "https://fakeaccount.table.core.windows.net/Tables", + "query": { + "$top": "5", + "NextTableName": "1!64!dGVzdHRhYmxldG9rZW5jcmVkZW50aWFsYnJvd3NlcgEwMWQ3YTQwNGRjZDBjOTgx" + }, + "requestBody": null, + "status": 200, + "response": "{\"odata.metadata\":\"https://fakeaccount.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"TestTestTest\"}]}", "responseHeaders": { "access-control-allow-origin": "*", "access-control-expose-headers": "x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,Content-Type,Content-Length,Date,Transfer-Encoding", "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", - "date": "Sat, 19 Jun 2021 00:55:58 GMT", + "date": "Tue, 07 Sep 2021 16:24:44 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "735a0d8e-ce4a-4abb-a867-96d36abb919f", - "x-ms-request-id": "eed555dd-b002-00a8-3aa5-6455aa000000", + "x-ms-client-request-id": "fd13bedd-49db-4ec8-9388-ef9e0232fc84", + "x-ms-request-id": "4bd6f330-3002-0090-0504-a414f3000000", "x-ms-version": "2019-02-02" } } @@ -152,5 +177,5 @@ "uniqueName": {}, "newDate": {} }, - "hash": "6b0653f6a3e6a02df6043a0624fa22e7" + "hash": "a183647385bb1e76be09ef82f7f1785b" } \ No newline at end of file diff --git a/sdk/tables/data-tables/recordings/node/access_policy_operations/recording_should_send_a_null_ap.js b/sdk/tables/data-tables/recordings/node/access_policy_operations/recording_should_send_a_null_ap.js index ac3ab311a042..5d27342979e8 100644 --- a/sdk/tables/data-tables/recordings/node/access_policy_operations/recording_should_send_a_null_ap.js +++ b/sdk/tables/data-tables/recordings/node/access_policy_operations/recording_should_send_a_null_ap.js @@ -18,15 +18,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f145-1002-0129-2ba5-64b1a8000000', + '007646d5-e002-0038-4004-a4c0e6000000', 'x-ms-client-request-id', - 'c145c784-e0ea-4f0c-a458-c282737b3f6d', + '0c28d924-4d2a-4526-a52e-6368a47b524b', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:30 GMT' + 'Tue, 07 Sep 2021 16:23:48 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -38,13 +38,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f154-1002-0129-38a5-64b1a8000000', + '007646fb-e002-0038-6304-a4c0e6000000', 'x-ms-client-request-id', - '7c01318d-9e9e-47e3-822a-58524b1bd78c', + '17a62c0c-4660-4e93-a431-241085bed0a1', 'x-ms-version', '2019-02-02', 'Date', - 'Sat, 19 Jun 2021 00:55:30 GMT' + 'Tue, 07 Sep 2021 16:23:49 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -58,9 +58,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f15c-1002-0129-40a5-64b1a8000000', + '00764740-e002-0038-2804-a4c0e6000000', 'x-ms-client-request-id', - '8637b70d-adc8-4199-b467-e7898fa7e59a', + '2deb8771-8b52-4232-b37d-fac71e9b427d', 'x-ms-version', '2019-02-02', 'Access-Control-Expose-Headers', @@ -68,5 +68,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:30 GMT' + 'Tue, 07 Sep 2021 16:23:50 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_handle_sub_request_error.js b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_handle_sub_request_error.js index 7a7d1e136cd4..10c04699ca78 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_handle_sub_request_error.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_handle_sub_request_error.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "96b7aa7277e4dfb35e0a81fee76ed9e0"; +module.exports.hash = "6ba62f21b59c8e526f266ea02d551e9d"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestSASConnectionStringnode"}) .query(true) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:654ef4a3-9002-001e-614b-5d5b52000000\nTime:2021-06-09T16:21:48.7577476Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00766064-e002-0038-6f04-a4c0e6000000\nTime:2021-09-07T16:24:24.1477199Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,37 +17,37 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef4a3-9002-001e-614b-5d5b52000000', + '00766064-e002-0038-6f04-a4c0e6000000', 'x-ms-client-request-id', - '8963bf37-cdd8-4e2e-a9cb-4b6410efe78a', + '0fd49362-64d4-447d-8de1-a3b85c14d01d', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"first\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"second\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"third\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") .query(true) - .reply(202, "--batchresponse_28c2e600-14c4-4b12-b680-62e247831068\r\nContent-Type: multipart/mixed; boundary=changesetresponse_e7f0358f-4010-4fa3-bbb3-43edcd2cc9c1\r\n\r\n--changesetresponse_e7f0358f-4010-4fa3-bbb3-43edcd2cc9c1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 404 Not Found\r\nX-Content-Type-Options: nosniff\r\nDataServiceVersion: 3.0;\r\nContent-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8\r\n\r\n{\"odata.error\":{\"code\":\"TableNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"0:The table specified does not exist.\\nRequestId:654ef4b3-9002-001e-6d4b-5d5b52000000\\nTime:2021-06-09T16:21:48.7997775Z\"}}}\r\n--changesetresponse_e7f0358f-4010-4fa3-bbb3-43edcd2cc9c1--\r\n--batchresponse_28c2e600-14c4-4b12-b680-62e247831068--\r\n", [ + .reply(202, "--batchresponse_9d5cdfe8-73c0-41d8-808b-136f4fac7819\r\nContent-Type: multipart/mixed; boundary=changesetresponse_3b75bb9e-f65c-4b34-bd5e-bd6c2971f7d3\r\n\r\n--changesetresponse_3b75bb9e-f65c-4b34-bd5e-bd6c2971f7d3\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 404 Not Found\r\nX-Content-Type-Options: nosniff\r\nDataServiceVersion: 3.0;\r\nContent-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8\r\n\r\n{\"odata.error\":{\"code\":\"TableNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"0:The table specified does not exist.\\nRequestId:00766072-e002-0038-7c04-a4c0e6000000\\nTime:2021-09-07T16:24:24.2217727Z\"}}}\r\n--changesetresponse_3b75bb9e-f65c-4b34-bd5e-bd6c2971f7d3--\r\n--batchresponse_9d5cdfe8-73c0-41d8-808b-136f4fac7819--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_28c2e600-14c4-4b12-b680-62e247831068', + 'multipart/mixed; boundary=batchresponse_9d5cdfe8-73c0-41d8-808b-136f4fac7819', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef4b3-9002-001e-6d4b-5d5b52000000', + '00766072-e002-0038-7c04-a4c0e6000000', 'x-ms-client-request-id', - '02dfa1be-d65e-409a-a213-3498fb9a862d', + 'd20222bc-797f-4472-9aa7-706bb78e60ea', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.js b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.js index db073b4a966c..f9adad36fb46 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "96979cc2cad83eb2b4913ce06a759d84"; +module.exports.hash = "7fe804a6bdf9f14679c93ca16293cd63"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -19,37 +19,37 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef3ef-9002-001e-384b-5d5b52000000', + '00765fcc-e002-0038-6504-a4c0e6000000', 'x-ms-client-request-id', - 'ec61c09a-b625-413a-b3ab-63db6d953935', + 'cec44605-4985-4d4e-820d-c78099fa9126', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:22 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"helper\",\"RowKey\":\"1\",\"value\":\"t1\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"helper\",\"RowKey\":\"2\",\"value\":\"t2\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") .query(true) - .reply(202, "--batchresponse_b12f46da-3fc2-47ab-83ec-044fea1147ba\r\nContent-Type: multipart/mixed; boundary=changesetresponse_c0133b54-5124-4605-ab91-9c8ec64bd8b3\r\n\r\n--changesetresponse_c0133b54-5124-4605-ab91-9c8ec64bd8b3\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='helper',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='helper',RowKey='1')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.2824107Z'\"\r\n\r\n\r\n--changesetresponse_c0133b54-5124-4605-ab91-9c8ec64bd8b3\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='helper',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='helper',RowKey='2')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.2824107Z'\"\r\n\r\n\r\n--changesetresponse_c0133b54-5124-4605-ab91-9c8ec64bd8b3--\r\n--batchresponse_b12f46da-3fc2-47ab-83ec-044fea1147ba--\r\n", [ + .reply(202, "--batchresponse_3988b6db-3240-47e4-abdd-050caf62ce73\r\nContent-Type: multipart/mixed; boundary=changesetresponse_30e60553-c82e-4544-9a86-5b2a157a112c\r\n\r\n--changesetresponse_30e60553-c82e-4544-9a86-5b2a157a112c\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='helper',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='helper',RowKey='1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.2050484Z'\"\r\n\r\n\r\n--changesetresponse_30e60553-c82e-4544-9a86-5b2a157a112c\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='helper',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='helper',RowKey='2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.2050484Z'\"\r\n\r\n\r\n--changesetresponse_30e60553-c82e-4544-9a86-5b2a157a112c--\r\n--batchresponse_3988b6db-3240-47e4-abdd-050caf62ce73--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_b12f46da-3fc2-47ab-83ec-044fea1147ba', + 'multipart/mixed; boundary=batchresponse_3988b6db-3240-47e4-abdd-050caf62ce73', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef400-9002-001e-464b-5d5b52000000', + '00765fd6-e002-0038-6d04-a4c0e6000000', 'x-ms-client-request-id', - 'c2945555-d81f-484a-88de-d6a454f660ed', + '02b487af-f7a0-4a35-908a-522ae3db12ef', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:22 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_batch_operations.js b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_batch_operations.js index e8cd24fec390..1fbb73f10b95 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_batch_operations.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_create_batch_operations.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "a26eff0b9879ad0705c563ed11cf8106"; +module.exports.hash = "659ac4694c40f47f27cde9bb7ae0d0b9"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestSASConnectionStringnode"}) .query(true) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:654ef410-9002-001e-564b-5d5b52000000\nTime:2021-06-09T16:21:48.3224383Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00765fe5-e002-0038-7904-a4c0e6000000\nTime:2021-09-07T16:24:23.2861065Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,37 +17,37 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef410-9002-001e-564b-5d5b52000000', + '00765fe5-e002-0038-7904-a4c0e6000000', 'x-ms-client-request-id', - '4aa7fb3f-8e68-4644-bbde-c6b387935b20', + 'd0453cba-9fbe-42ed-9f13-5aff954e1ba4', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:22 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"first\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"second\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"third\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") .query(true) - .reply(202, "--batchresponse_6855a671-22eb-4f57-aac9-e4249f5fe499\r\nContent-Type: multipart/mixed; boundary=changesetresponse_d62db986-87c1-44e6-80ca-45aafe557be2\r\n\r\n--changesetresponse_d62db986-87c1-44e6-80ca-45aafe557be2\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='1')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.3544615Z'\"\r\n\r\n\r\n--changesetresponse_d62db986-87c1-44e6-80ca-45aafe557be2\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='2')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.3544615Z'\"\r\n\r\n\r\n--changesetresponse_d62db986-87c1-44e6-80ca-45aafe557be2\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='3')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.3544615Z'\"\r\n\r\n\r\n--changesetresponse_d62db986-87c1-44e6-80ca-45aafe557be2--\r\n--batchresponse_6855a671-22eb-4f57-aac9-e4249f5fe499--\r\n", [ + .reply(202, "--batchresponse_0e82ceb7-bd55-4603-aaef-37af2ba46b07\r\nContent-Type: multipart/mixed; boundary=changesetresponse_c381a1fa-5df3-4253-ac2f-f0a97830a645\r\n\r\n--changesetresponse_c381a1fa-5df3-4253-ac2f-f0a97830a645\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.3581582Z'\"\r\n\r\n\r\n--changesetresponse_c381a1fa-5df3-4253-ac2f-f0a97830a645\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.3581582Z'\"\r\n\r\n\r\n--changesetresponse_c381a1fa-5df3-4253-ac2f-f0a97830a645\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='3')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.3581582Z'\"\r\n\r\n\r\n--changesetresponse_c381a1fa-5df3-4253-ac2f-f0a97830a645--\r\n--batchresponse_0e82ceb7-bd55-4603-aaef-37af2ba46b07--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_6855a671-22eb-4f57-aac9-e4249f5fe499', + 'multipart/mixed; boundary=batchresponse_0e82ceb7-bd55-4603-aaef-37af2ba46b07', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef419-9002-001e-5e4b-5d5b52000000', + '00765ff5-e002-0038-0704-a4c0e6000000', 'x-ms-client-request-id', - 'c45ca696-75e7-4c48-b95a-e180c91a6dc9', + 'e14c0970-8bf1-4ca6-92c2-5620f6dfeaf0', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_delete_batch_operations.js b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_delete_batch_operations.js index e412bf6c0310..eb25c00acbce 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_delete_batch_operations.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_delete_batch_operations.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "5c9ccc57e9e838c39a5ac8e049fa0b69"; +module.exports.hash = "bb6fb6ab6bcd4ba9d95528629452b831"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestSASConnectionStringnode"}) .query(true) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:654ef486-9002-001e-444b-5d5b52000000\nTime:2021-06-09T16:21:48.6856964Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:0076604d-e002-0038-5a04-a4c0e6000000\nTime:2021-09-07T16:24:23.9886062Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,37 +17,37 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef486-9002-001e-444b-5d5b52000000', + '0076604d-e002-0038-5a04-a4c0e6000000', 'x-ms-client-request-id', - '8d31d5d5-22f9-4eb0-847b-9dc198fb700b', + '7b11c210-589e-4318-b601-fcfcb0d6adcf', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") .query(true) - .reply(202, "--batchresponse_2fe44da3-3a90-43d8-8418-1f0e6d66ad62\r\nContent-Type: multipart/mixed; boundary=changesetresponse_8575123d-e863-475a-a3ff-e2f8a57464ac\r\n\r\n--changesetresponse_8575123d-e863-475a-a3ff-e2f8a57464ac\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_8575123d-e863-475a-a3ff-e2f8a57464ac\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_8575123d-e863-475a-a3ff-e2f8a57464ac\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_8575123d-e863-475a-a3ff-e2f8a57464ac--\r\n--batchresponse_2fe44da3-3a90-43d8-8418-1f0e6d66ad62--\r\n", [ + .reply(202, "--batchresponse_80aa529a-6281-4320-8d83-a4efe9c097e9\r\nContent-Type: multipart/mixed; boundary=changesetresponse_390a4a0a-c0d2-4509-83cd-0252d37af50f\r\n\r\n--changesetresponse_390a4a0a-c0d2-4509-83cd-0252d37af50f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_390a4a0a-c0d2-4509-83cd-0252d37af50f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_390a4a0a-c0d2-4509-83cd-0252d37af50f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_390a4a0a-c0d2-4509-83cd-0252d37af50f--\r\n--batchresponse_80aa529a-6281-4320-8d83-a4efe9c097e9--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_2fe44da3-3a90-43d8-8418-1f0e6d66ad62', + 'multipart/mixed; boundary=batchresponse_80aa529a-6281-4320-8d83-a4efe9c097e9', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef494-9002-001e-524b-5d5b52000000', + '00766058-e002-0038-6504-a4c0e6000000', 'x-ms-client-request-id', - 'c1d918df-6892-4b19-957b-96ef34ec2c3e', + '8a04c663-f861-4dcf-9e06-1a5d2f951931', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_update_batch_operations.js b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_update_batch_operations.js index 68bd13817a84..f2a6394f7efc 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_update_batch_operations.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_update_batch_operations.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "8bf5d6dfb6d1d0abe653df9b19c8b0cf"; +module.exports.hash = "7d9af0ee8cf4fe3f2960151a3e397df0"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestSASConnectionStringnode"}) .query(true) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:654ef42f-9002-001e-744b-5d5b52000000\nTime:2021-06-09T16:21:48.4205080Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:0076600a-e002-0038-1a04-a4c0e6000000\nTime:2021-09-07T16:24:23.5132682Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,45 +17,45 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef42f-9002-001e-744b-5d5b52000000', + '0076600a-e002-0038-1a04-a4c0e6000000', 'x-ms-client-request-id', - 'b24c61a4-ff7d-40a0-9692-ac22996697bb', + '262b8940-be9a-4b81-a14c-60874895e421', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"updated\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"updated\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"updated\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") .query(true) - .reply(202, "--batchresponse_13ed1c30-293c-40b0-9ce9-952df408a598\r\nContent-Type: multipart/mixed; boundary=changesetresponse_1928335a-d321-4ef1-a42d-ff735086a01e\r\n\r\n--changesetresponse_1928335a-d321-4ef1-a42d-ff735086a01e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.4548493Z'\"\r\n\r\n\r\n--changesetresponse_1928335a-d321-4ef1-a42d-ff735086a01e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.4548493Z'\"\r\n\r\n\r\n--changesetresponse_1928335a-d321-4ef1-a42d-ff735086a01e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.4558505Z'\"\r\n\r\n\r\n--changesetresponse_1928335a-d321-4ef1-a42d-ff735086a01e--\r\n--batchresponse_13ed1c30-293c-40b0-9ce9-952df408a598--\r\n", [ + .reply(202, "--batchresponse_ce597f91-db2d-423f-8caa-f73177382980\r\nContent-Type: multipart/mixed; boundary=changesetresponse_cd9c39af-cf23-459d-8cc5-9d87e4a300a3\r\n\r\n--changesetresponse_cd9c39af-cf23-459d-8cc5-9d87e4a300a3\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.5898159Z'\"\r\n\r\n\r\n--changesetresponse_cd9c39af-cf23-459d-8cc5-9d87e4a300a3\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.5898159Z'\"\r\n\r\n\r\n--changesetresponse_cd9c39af-cf23-459d-8cc5-9d87e4a300a3\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.5898159Z'\"\r\n\r\n\r\n--changesetresponse_cd9c39af-cf23-459d-8cc5-9d87e4a300a3--\r\n--batchresponse_ce597f91-db2d-423f-8caa-f73177382980--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_13ed1c30-293c-40b0-9ce9-952df408a598', + 'multipart/mixed; boundary=batchresponse_ce597f91-db2d-423f-8caa-f73177382980', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef43b-9002-001e-7f4b-5d5b52000000', + '00766017-e002-0038-2704-a4c0e6000000', 'x-ms-client-request-id', - '298032b7-5f49-43eb-b01d-8fa1277ff5e8', + '8774aa32-e5f5-458b-a27e-0a37a50e012d', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/batchTableTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.4548493Z'\"","PartitionKey":"batchTest","RowKey":"1","Timestamp":"2021-06-09T16:21:48.4548493Z","name":"updated"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.4548493Z'\"","PartitionKey":"batchTest","RowKey":"2","Timestamp":"2021-06-09T16:21:48.4548493Z","name":"updated"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.4558505Z'\"","PartitionKey":"batchTest","RowKey":"3","Timestamp":"2021-06-09T16:21:48.4558505Z","name":"updated"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A23.5898159Z'\"","PartitionKey":"batchTest","RowKey":"1","Timestamp":"2021-09-07T16:24:23.5898159Z","name":"updated"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A23.5898159Z'\"","PartitionKey":"batchTest","RowKey":"2","Timestamp":"2021-09-07T16:24:23.5898159Z","name":"updated"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A23.5898159Z'\"","PartitionKey":"batchTest","RowKey":"3","Timestamp":"2021-09-07T16:24:23.5898159Z","name":"updated"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -65,9 +65,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef44e-9002-001e-0f4b-5d5b52000000', + '00766022-e002-0038-3204-a4c0e6000000', 'x-ms-client-request-id', - '92517497-3dd3-480e-bfea-fd4650dcc75b', + 'ab965f09-8d0a-48c1-a7c2-1b3153bab6cc', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -77,5 +77,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_upsert_batch_operations.js b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_upsert_batch_operations.js index 1c1b44348f0f..3cef4fdcffef 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_upsert_batch_operations.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_a_set_of_upsert_batch_operations.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "11d1d7464f0791a574f683efa04b7a31"; +module.exports.hash = "db96ff2bce0bb30fef64fe7c843bf74a"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestSASConnectionStringnode"}) .query(true) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:654ef45b-9002-001e-1b4b-5d5b52000000\nTime:2021-06-09T16:21:48.5455969Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00766028-e002-0038-3804-a4c0e6000000\nTime:2021-09-07T16:24:23.7484357Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,45 +17,45 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef45b-9002-001e-1b4b-5d5b52000000', + '00766028-e002-0038-3804-a4c0e6000000', 'x-ms-client-request-id', - 'a5ba4dc6-2ffb-49b2-acc1-c3eb310676cf', + '1860ff99-7a94-4451-b8d9-3a97569abd76', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='batchTest',RowKey='4') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"4\",\"name\":\"upserted\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") .query(true) - .reply(202, "--batchresponse_553629d9-6e33-47de-b376-26c5bb4c8b52\r\nContent-Type: multipart/mixed; boundary=changesetresponse_551ea415-6466-4af5-b4f9-ec49d1d70a7d\r\n\r\n--changesetresponse_551ea415-6466-4af5-b4f9-ec49d1d70a7d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.6009546Z'\"\r\n\r\n\r\n--changesetresponse_551ea415-6466-4af5-b4f9-ec49d1d70a7d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.6009546Z'\"\r\n\r\n\r\n--changesetresponse_551ea415-6466-4af5-b4f9-ec49d1d70a7d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.6009546Z'\"\r\n\r\n\r\n--changesetresponse_551ea415-6466-4af5-b4f9-ec49d1d70a7d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.6019553Z'\"\r\n\r\n\r\n--changesetresponse_551ea415-6466-4af5-b4f9-ec49d1d70a7d--\r\n--batchresponse_553629d9-6e33-47de-b376-26c5bb4c8b52--\r\n", [ + .reply(202, "--batchresponse_781ab287-0a5d-42ae-a285-d0f84ce1ac0b\r\nContent-Type: multipart/mixed; boundary=changesetresponse_c9bf07e9-2d9a-4454-9f72-fadbacaa509d\r\n\r\n--changesetresponse_c9bf07e9-2d9a-4454-9f72-fadbacaa509d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.8249829Z'\"\r\n\r\n\r\n--changesetresponse_c9bf07e9-2d9a-4454-9f72-fadbacaa509d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.8249829Z'\"\r\n\r\n\r\n--changesetresponse_c9bf07e9-2d9a-4454-9f72-fadbacaa509d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.825984Z'\"\r\n\r\n\r\n--changesetresponse_c9bf07e9-2d9a-4454-9f72-fadbacaa509d\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A23.825984Z'\"\r\n\r\n\r\n--changesetresponse_c9bf07e9-2d9a-4454-9f72-fadbacaa509d--\r\n--batchresponse_781ab287-0a5d-42ae-a285-d0f84ce1ac0b--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_553629d9-6e33-47de-b376-26c5bb4c8b52', + 'multipart/mixed; boundary=batchresponse_781ab287-0a5d-42ae-a285-d0f84ce1ac0b', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef465-9002-001e-254b-5d5b52000000', + '0076602e-e002-0038-3e04-a4c0e6000000', 'x-ms-client-request-id', - '7512030d-49ba-4cef-b7fe-48bdd3b1ba49', + '534f6558-0b5f-4ca1-8f44-a33f87c0ce91', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/batchTableTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.6009546Z'\"","PartitionKey":"batchTest","RowKey":"1","Timestamp":"2021-06-09T16:21:48.6009546Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.6009546Z'\"","PartitionKey":"batchTest","RowKey":"2","Timestamp":"2021-06-09T16:21:48.6009546Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.6009546Z'\"","PartitionKey":"batchTest","RowKey":"3","Timestamp":"2021-06-09T16:21:48.6009546Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.6019553Z'\"","PartitionKey":"batchTest","RowKey":"4","Timestamp":"2021-06-09T16:21:48.6019553Z","name":"upserted"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A23.8249829Z'\"","PartitionKey":"batchTest","RowKey":"1","Timestamp":"2021-09-07T16:24:23.8249829Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A23.8249829Z'\"","PartitionKey":"batchTest","RowKey":"2","Timestamp":"2021-09-07T16:24:23.8249829Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A23.825984Z'\"","PartitionKey":"batchTest","RowKey":"3","Timestamp":"2021-09-07T16:24:23.825984Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A23.825984Z'\"","PartitionKey":"batchTest","RowKey":"4","Timestamp":"2021-09-07T16:24:23.825984Z","name":"upserted"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -65,9 +65,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef475-9002-001e-354b-5d5b52000000', + '00766036-e002-0038-4504-a4c0e6000000', 'x-ms-client-request-id', - 'f960321a-fec7-4ec4-a99d-52e5b2dcb570', + '0502708d-b959-4056-aba3-f5e427359342', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -77,5 +77,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_multiple_transactions_with_the_same_partition_key.js b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_multiple_transactions_with_the_same_partition_key.js index ad759f228ffd..75c0ededb73d 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_multiple_transactions_with_the_same_partition_key.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_sasconnectionstring/recording_should_send_multiple_transactions_with_the_same_partition_key.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "becb76946bc37fae7579f4e894e576cc"; +module.exports.hash = "c2facf3a7e0d5911aa36b9d39d9eb8cf"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestSASConnectionStringnode"}) .query(true) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:654ef4c1-9002-001e-7a4b-5d5b52000000\nTime:2021-06-09T16:21:48.8378041Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:0076607f-e002-0038-0604-a4c0e6000000\nTime:2021-09-07T16:24:24.3008289Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,69 +17,69 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef4c1-9002-001e-7a4b-5d5b52000000', + '0076607f-e002-0038-0604-a4c0e6000000', 'x-ms-client-request-id', - 'ca0c0fea-f0a2-477a-b81e-0d1143f5a62e', + 'c6ff6093-4b7d-439d-bb7f-0c91048ade11', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:23 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r1\",\"value\":\"1\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r2\",\"value\":\"2\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r3\",\"value\":\"3\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") .query(true) - .reply(202, "--batchresponse_e02a9f38-3f8f-4089-8164-834e5b01ff5c\r\nContent-Type: multipart/mixed; boundary=changesetresponse_ed8546e0-7f66-4457-b65d-29950b8cca56\r\n\r\n--changesetresponse_ed8546e0-7f66-4457-b65d-29950b8cca56\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r1')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.8698269Z'\"\r\n\r\n\r\n--changesetresponse_ed8546e0-7f66-4457-b65d-29950b8cca56\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r2')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.8698269Z'\"\r\n\r\n\r\n--changesetresponse_ed8546e0-7f66-4457-b65d-29950b8cca56\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r3')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.8698269Z'\"\r\n\r\n\r\n--changesetresponse_ed8546e0-7f66-4457-b65d-29950b8cca56--\r\n--batchresponse_e02a9f38-3f8f-4089-8164-834e5b01ff5c--\r\n", [ + .reply(202, "--batchresponse_507d8504-d5ec-4567-9472-916f75681ba0\r\nContent-Type: multipart/mixed; boundary=changesetresponse_c6ea2f4a-f0c9-45b5-9d4b-962bf2ac4961\r\n\r\n--changesetresponse_c6ea2f4a-f0c9-45b5-9d4b-962bf2ac4961\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A24.3748817Z'\"\r\n\r\n\r\n--changesetresponse_c6ea2f4a-f0c9-45b5-9d4b-962bf2ac4961\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A24.3748817Z'\"\r\n\r\n\r\n--changesetresponse_c6ea2f4a-f0c9-45b5-9d4b-962bf2ac4961\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r3')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A24.3748817Z'\"\r\n\r\n\r\n--changesetresponse_c6ea2f4a-f0c9-45b5-9d4b-962bf2ac4961--\r\n--batchresponse_507d8504-d5ec-4567-9472-916f75681ba0--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_e02a9f38-3f8f-4089-8164-834e5b01ff5c', + 'multipart/mixed; boundary=batchresponse_507d8504-d5ec-4567-9472-916f75681ba0', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef4ca-9002-001e-034b-5d5b52000000', + '00766089-e002-0038-1004-a4c0e6000000', 'x-ms-client-request-id', - '408974f2-df46-4b91-9cc3-b4ac420b66fe', + 'e44e2d93-fcf3-45ee-a3f0-08bb3c37f65c', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:24 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r4\",\"value\":\"4\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r5\",\"value\":\"5\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r6\",\"value\":\"6\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") .query(true) - .reply(202, "--batchresponse_790fc7e9-9d42-40d1-a211-d08d60162812\r\nContent-Type: multipart/mixed; boundary=changesetresponse_a219b0ee-39cf-4c0c-bdda-854319c6fa17\r\n\r\n--changesetresponse_a219b0ee-39cf-4c0c-bdda-854319c6fa17\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r4')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r4')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.92987Z'\"\r\n\r\n\r\n--changesetresponse_a219b0ee-39cf-4c0c-bdda-854319c6fa17\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r5')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r5')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.92987Z'\"\r\n\r\n\r\n--changesetresponse_a219b0ee-39cf-4c0c-bdda-854319c6fa17\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r6')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r6')\r\nETag: W/\"datetime'2021-06-09T16%3A21%3A48.92987Z'\"\r\n\r\n\r\n--changesetresponse_a219b0ee-39cf-4c0c-bdda-854319c6fa17--\r\n--batchresponse_790fc7e9-9d42-40d1-a211-d08d60162812--\r\n", [ + .reply(202, "--batchresponse_baebebb1-646d-4308-9f05-028c1d743386\r\nContent-Type: multipart/mixed; boundary=changesetresponse_779d772a-36ef-4358-ba9e-a707305f3da4\r\n\r\n--changesetresponse_779d772a-36ef-4358-ba9e-a707305f3da4\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r4')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r4')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A24.5109781Z'\"\r\n\r\n\r\n--changesetresponse_779d772a-36ef-4358-ba9e-a707305f3da4\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r5')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r5')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A24.5109781Z'\"\r\n\r\n\r\n--changesetresponse_779d772a-36ef-4358-ba9e-a707305f3da4\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r6')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestSASConnectionStringnode(PartitionKey='multiBatch1',RowKey='r6')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A24.5109781Z'\"\r\n\r\n\r\n--changesetresponse_779d772a-36ef-4358-ba9e-a707305f3da4--\r\n--batchresponse_baebebb1-646d-4308-9f05-028c1d743386--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_790fc7e9-9d42-40d1-a211-d08d60162812', + 'multipart/mixed; boundary=batchresponse_baebebb1-646d-4308-9f05-028c1d743386', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef4d9-9002-001e-104b-5d5b52000000', + '007660a1-e002-0038-2704-a4c0e6000000', 'x-ms-client-request-id', - 'e0876b4d-c2f9-49ad-957e-9b3e528fc79f', + '4fb9ba55-4b81-44b1-bcfc-e8e09e4922a0', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:24 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/batchTableTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.8698269Z'\"","PartitionKey":"multiBatch1","RowKey":"r1","Timestamp":"2021-06-09T16:21:48.8698269Z","value":"1"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.8698269Z'\"","PartitionKey":"multiBatch1","RowKey":"r2","Timestamp":"2021-06-09T16:21:48.8698269Z","value":"2"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.8698269Z'\"","PartitionKey":"multiBatch1","RowKey":"r3","Timestamp":"2021-06-09T16:21:48.8698269Z","value":"3"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.92987Z'\"","PartitionKey":"multiBatch1","RowKey":"r4","Timestamp":"2021-06-09T16:21:48.92987Z","value":"4"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.92987Z'\"","PartitionKey":"multiBatch1","RowKey":"r5","Timestamp":"2021-06-09T16:21:48.92987Z","value":"5"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A48.92987Z'\"","PartitionKey":"multiBatch1","RowKey":"r6","Timestamp":"2021-06-09T16:21:48.92987Z","value":"6"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A24.3748817Z'\"","PartitionKey":"multiBatch1","RowKey":"r1","Timestamp":"2021-09-07T16:24:24.3748817Z","value":"1"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A24.3748817Z'\"","PartitionKey":"multiBatch1","RowKey":"r2","Timestamp":"2021-09-07T16:24:24.3748817Z","value":"2"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A24.3748817Z'\"","PartitionKey":"multiBatch1","RowKey":"r3","Timestamp":"2021-09-07T16:24:24.3748817Z","value":"3"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A24.5109781Z'\"","PartitionKey":"multiBatch1","RowKey":"r4","Timestamp":"2021-09-07T16:24:24.5109781Z","value":"4"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A24.5109781Z'\"","PartitionKey":"multiBatch1","RowKey":"r5","Timestamp":"2021-09-07T16:24:24.5109781Z","value":"5"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A24.5109781Z'\"","PartitionKey":"multiBatch1","RowKey":"r6","Timestamp":"2021-09-07T16:24:24.5109781Z","value":"6"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -89,9 +89,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef4ef-9002-001e-234b-5d5b52000000', + '007660b7-e002-0038-3904-a4c0e6000000', 'x-ms-client-request-id', - 'bc87a2af-66f4-4fab-a9d1-31df0db49bc7', + '5de22d10-6269-44e6-a3a7-c4cc8c738145', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -101,5 +101,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:48 GMT' + 'Tue, 07 Sep 2021 16:24:24 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_handle_sub_request_error.js b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_handle_sub_request_error.js index cf8f1dbe9409..bc379e821fbb 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_handle_sub_request_error.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_handle_sub_request_error.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'd266ebaa-90fb-4519-a096-efa910cf5c00', + '507ff2bc-ba50-448f-b98d-6c8665680600', 'x-ms-ests-server', - '2.1.11829.4 - SCUS ProdSlices', + '2.1.12011.8 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Al7jyw5ppEhMt4KklJcIMo0; expires=Thu, 07-Oct-2021 16:24:21 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrmZJIB-9YDkwUoSfSyqYqgBpWVNCwpbOEkt4IvSfNd59udT4UtOD1xrH7RWZnlhs7nO7TXwM_nGrbFybWSAUlinHa4ofHqpu1HWjQ-zJboeR-D6xu44HSbskds_kBYBnHmpL6SCz4ynG4D86VIsiRvA8BxyH6KzlYh2YYwbJ4oGogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrjM6IDZZErNCyyCv8ZJrOwKZV9gaipzech5b4QHBrjoqthhG8J0nuvLHRkeFl9F8m0zNQq-uBK5rxDP3S1J2I7UdrEwGYk6OAFHCilVqQJKXbIOVKbdbok7kaoSG6xEFIQpVfyvLlnT7r0J4nwMyLiukk0Ou4S88ZVUxYHkLo0f0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT', + 'Tue, 07 Sep 2021 16:24:20 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '325c2ba7-8fa1-423e-a41d-7faf18a20a00', + '30fc36de-5362-4435-8a48-4951abc1c900', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AuBjEZjxtRVGvHUQaBYj5xc; expires=Thu, 07-Oct-2021 16:24:21 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevreOXmyCucjNT6Q24qVvHL92zxyJ64Z70ySk0RqeJaQ0-wY81brSXninIjbSxp55gkvOsGC4GtpsY0MyK82LsMMbvzRkd4tOy05WKtym7mVrf9_0Qb7LrVQkNgevLCLEWrHnViZxqw7MdPJHIPb-enEn23GrbFnPZW3jlyIczlPC4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrwaEXJ1AWhbdWFelaowPXn1cAjrECG6QGuxHUsLVoLsi7j3JxcgNxnzghEqYU2YIV8NFeja57tbce4WktxPng-zy6_3JCDoqAuP_JdNzkyd9KFzIEQRSaZvNg3bUVL2wWAALNS3gneTaXlHwF1P0VurHYYjpplnMQ6G9XAQFRxv0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT', + 'Tue, 07 Sep 2021 16:24:20 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=160fc4a6-280d-4327-ae89-2f424289f849&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=a85075f8-60bf-4ed2-9d0a-d9687c6db010&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,26 +93,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '46621f17-9866-47c3-a5b1-868a85ba0900', + '0c1e8605-1d40-486a-8441-85ba0a4dc800', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AhWe6rmbKm9OnxDvYOpZ_6M; expires=Thu, 07-Oct-2021 16:24:21 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT', + 'Tue, 07 Sep 2021 16:24:21 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestTokenCredentialnode"}) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:7c530450-1002-0129-74a5-64b1a8000000\nTime:2021-06-19T00:55:46.2255541Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00765eeb-e002-0038-1a04-a4c0e6000000\nTime:2021-09-07T16:24:21.7620210Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -122,15 +122,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530450-1002-0129-74a5-64b1a8000000', + '00765eeb-e002-0038-1a04-a4c0e6000000', 'x-ms-client-request-id', - 'abc003a6-045c-4baa-8ff5-3fdd74c27c6e', + '8ed8bc9b-adf7-4b20-a9bb-885d21342962', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT' + 'Tue, 07 Sep 2021 16:24:21 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) @@ -152,19 +152,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'b039aa23-d4dc-46ca-ac0a-a3a34de10500', + '831a1bff-f145-45fc-b49f-a9325482c000', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12011.8 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AskbdYn1WjNIoJttW6GNeKQ; expires=Thu, 07-Oct-2021 16:24:21 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrtTf6avkyevUe8xT--Nle6xgrVgXcRmbem0F_u4dZn6yk6Lk36rbZ05sJeWlhKsBd9fbUnQxtb55c9HdL5YTn716JxHIWu9g4qcJbWfPHAyzU7CiAxg4TLIEC2oZzbS-t41Xn6uN6BbKPUSQ3CaFFUPDL7U1zYotuJLFlia6aaQIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr-xuc7DtP9ZAkw9ZwoXr5cwlwnS2wxzGkkeJfjVJ9v5d89Fl5TM0gwnyFwEhb7oDiUZIGf7yg-Nm3dJ12YzomQ3VId2UuAZFLI9aSYWfOt9wZX2WGub5RXJrE-cZ7SJSB3HBUool0ka83zs6XxGK6aXqBbCwSMmckiImeDLkUAfIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT', + 'Tue, 07 Sep 2021 16:24:21 GMT', 'Content-Length', '980' ]); @@ -187,25 +187,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '4174321f-7683-4c57-abc5-0e838d990500', + '0c1e8605-1d40-486a-8441-85ba224dc800', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Al_P67Yn-p5Nh_8uSVeevYg; expires=Thu, 07-Oct-2021 16:24:21 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrnB_ykAABx7zjZQ9UZd2WUjjYLQqL1dtrAIErzrgwLWjr26P4DH3Yivy4MkvdqKJkxthBgUkCQVe1_VNHwKNR0AmrdrDHIAZ807laQTPiycsdJaMRjtN-XrB6NHhuHNU8l80gJbvjYLsysg0Z_Y8cAGcbzZCNz6wU2u9YoXELgRggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrH9IZN82P4-Q_22b01n6xeWu6uDMvX74dbKBWSV5LCjhmWICdbx0M2DnJj6p2ovaShLk0y8fp9BmsDjLfB66MfNnduRqUOnHt91nJW2iMbBza8Zzcbo2Wqot69_kjZmLPjD75w1XD0uwkOou4GHN8rW9HdtUH5H1KPhb6nGdMfEsgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT', + 'Tue, 07 Sep 2021 16:24:21 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=b05389b5-cca3-44dd-b159-22a846386e18&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=60e8b230-ba1e-4685-b2fb-cfd9dad736dc&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -222,42 +222,42 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '110fb2cd-31b2-4137-b1c7-1bc161d81100', + '0c1e8605-1d40-486a-8441-85ba284dc800', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Aigmc2llnJ5LkSIY6uOTcDg; expires=Thu, 07-Oct-2021 16:24:22 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT', + 'Tue, 07 Sep 2021 16:24:21 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"first\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"second\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/noExistingTable HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"third\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") - .reply(202, "--batchresponse_85b3b7a2-92e7-4a43-992e-f1e4a077a6f0\r\nContent-Type: multipart/mixed; boundary=changesetresponse_7b5bf2b6-58cb-4de5-97a1-8f69d87c2a25\r\n\r\n--changesetresponse_7b5bf2b6-58cb-4de5-97a1-8f69d87c2a25\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 404 Not Found\r\nX-Content-Type-Options: nosniff\r\nDataServiceVersion: 3.0;\r\nContent-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8\r\n\r\n{\"odata.error\":{\"code\":\"TableNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"0:The table specified does not exist.\\nRequestId:7c5304cb-1002-0129-66a5-64b1a8000000\\nTime:2021-06-19T00:55:46.6448551Z\"}}}\r\n--changesetresponse_7b5bf2b6-58cb-4de5-97a1-8f69d87c2a25--\r\n--batchresponse_85b3b7a2-92e7-4a43-992e-f1e4a077a6f0--\r\n", [ + .reply(202, "--batchresponse_26d34392-5e5f-427b-9024-eefb29ec3f8a\r\nContent-Type: multipart/mixed; boundary=changesetresponse_2b9435e1-2233-41d4-b71e-4d8e3de02e5b\r\n\r\n--changesetresponse_2b9435e1-2233-41d4-b71e-4d8e3de02e5b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 404 Not Found\r\nX-Content-Type-Options: nosniff\r\nDataServiceVersion: 3.0;\r\nContent-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8\r\n\r\n{\"odata.error\":{\"code\":\"TableNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"0:The table specified does not exist.\\nRequestId:00765f2e-e002-0038-5404-a4c0e6000000\\nTime:2021-09-07T16:24:22.1633071Z\"}}}\r\n--changesetresponse_2b9435e1-2233-41d4-b71e-4d8e3de02e5b--\r\n--batchresponse_26d34392-5e5f-427b-9024-eefb29ec3f8a--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_85b3b7a2-92e7-4a43-992e-f1e4a077a6f0', + 'multipart/mixed; boundary=batchresponse_26d34392-5e5f-427b-9024-eefb29ec3f8a', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c5304cb-1002-0129-66a5-64b1a8000000', + '00765f2e-e002-0038-5404-a4c0e6000000', 'x-ms-client-request-id', - 'dff687cd-006b-43a4-b3b8-64415d28491d', + '5293853c-6767-4dd4-a9be-4eaf6b26b8cb', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT' + 'Tue, 07 Sep 2021 16:24:21 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.js b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.js index 07ae37b7b091..f01c75cc965c 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_create_actions_when_using_tabletransaction_helper.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '72c9ebfa-5c66-4326-996b-005787153d00', + 'bae1f87b-2f5c-4741-bb80-e5ea17222501', 'x-ms-ests-server', - '2.1.11829.4 - NCUS ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:43 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Atqtyio8FNtJs8rP9AYHslI; expires=Thu, 07-Oct-2021 16:24:18 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr-hnRlRqVf2oF88fntnCRewo2m94JwvKyzHJSMKJqRttuh2S2P0rR0mEOSlPwBw7xrcpXnqyiqhjsAKoy4sqpFCzqvWHoS5YXVFQ2X22EOYO187f4ETFdklltfJ7_DO4BR1voT_6IwGvVsGXH5WZkhN4hxcv2CGdXZZ0ILHMC6qIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrm6469FuT0U3V2f6n1jxuczxD2RcMmaeINUqQT_ZSRMgmA4rApovAWB79lOpAqIkH8D-3EJj4GWrkWq85rJ8pc_vPz_3PZygUyTT7D0eqLxoOcOw_kcmgKRDa3bHLQdHwksajrPoUu5BQ6g33AivW1mRlRuut1Bqw-yvz6RTgcCUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:43 GMT', + 'Tue, 07 Sep 2021 16:24:17 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '4174321f-7683-4c57-abc5-0e832f990500', + '0c1e8605-1d40-486a-8441-85ba454cc800', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:43 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AgwaGA4ItPJMoqcsXbIkZy0; expires=Thu, 07-Oct-2021 16:24:18 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr_9iEmMu4qMfWwm28TOppywXyH7HXARGZjZuKWFsOYOYECuztEBccVtxEeKjxch1tVKyCxg3ir-Qma6qaOv_NT89-NUSNaq3BrfZYVXc2Z-cuXJsQwNnA1IEwYgtpdJVv9zqtzpDYzjMO4yUpAwGTzag2Vfu_uqs5jwoX6-Z7RT8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrgyetOrA-gKVrNS17SSNbJXWepAx0btJOKg5OPRfqZLsBQFcG-SoK9OwsAspWsZFJcBVlNmlIByYS4T1buvV-Q-ObuNKUyBI8616wkHLQsCB9FcCWFaBoo3Rqr5b72kxQFC6Nt3GbiJKm2zJFzDTD0gxyM0S8aM2PouI6EhS2B-0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:43 GMT', + 'Tue, 07 Sep 2021 16:24:17 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=5e36fe2b-97d5-4434-b0d7-1fefda53b439&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=0f773ed1-8e77-4632-a04f-b9506920bf91&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'f7c664a7-9230-42f3-afcc-eb2bcdfd0500', + '9f93069a-eb6c-4b58-a8b8-2a75f184cd00', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:43 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnWBEWmseT9IvA_7Jrbd0l3JVDEwAQAAADGJydgOAAAA; expires=Thu, 07-Oct-2021 16:24:18 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:43 GMT', + 'Tue, 07 Sep 2021 16:24:18 GMT', 'Content-Length', '1318' ]); @@ -124,36 +124,36 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530152-1002-0129-25a5-64b1a8000000', + '00765c8c-e002-0038-6a04-a4c0e6000000', 'x-ms-client-request-id', - 'e70f055b-6978-4b90-ab9d-de8dc1abac5b', + '604b9a5a-65c6-4b38-9c64-a44b880960e3', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:43 GMT' + 'Tue, 07 Sep 2021 16:24:18 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"helper\",\"RowKey\":\"1\",\"value\":\"t1\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"helper\",\"RowKey\":\"2\",\"value\":\"t2\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") - .reply(202, "--batchresponse_ff4da75a-5da8-4c64-8090-1edcb5560f52\r\nContent-Type: multipart/mixed; boundary=changesetresponse_24d13c9b-4f6e-4b97-9c75-18f8a94686c1\r\n\r\n--changesetresponse_24d13c9b-4f6e-4b97-9c75-18f8a94686c1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='helper',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='helper',RowKey='1')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A44.1240453Z'\"\r\n\r\n\r\n--changesetresponse_24d13c9b-4f6e-4b97-9c75-18f8a94686c1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='helper',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='helper',RowKey='2')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A44.1240453Z'\"\r\n\r\n\r\n--changesetresponse_24d13c9b-4f6e-4b97-9c75-18f8a94686c1--\r\n--batchresponse_ff4da75a-5da8-4c64-8090-1edcb5560f52--\r\n", [ + .reply(202, "--batchresponse_6bae269d-75b3-4ae2-bf49-a0e2664fc73b\r\nContent-Type: multipart/mixed; boundary=changesetresponse_ea62dc48-7553-45a5-9f23-5ec0e6c7ff5e\r\n\r\n--changesetresponse_ea62dc48-7553-45a5-9f23-5ec0e6c7ff5e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='helper',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='helper',RowKey='1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A18.893979Z'\"\r\n\r\n\r\n--changesetresponse_ea62dc48-7553-45a5-9f23-5ec0e6c7ff5e\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='helper',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='helper',RowKey='2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A18.893979Z'\"\r\n\r\n\r\n--changesetresponse_ea62dc48-7553-45a5-9f23-5ec0e6c7ff5e--\r\n--batchresponse_6bae269d-75b3-4ae2-bf49-a0e2664fc73b--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_ff4da75a-5da8-4c64-8090-1edcb5560f52', + 'multipart/mixed; boundary=batchresponse_6bae269d-75b3-4ae2-bf49-a0e2664fc73b', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c53016e-1002-0129-37a5-64b1a8000000', + '00765cb9-e002-0038-1504-a4c0e6000000', 'x-ms-client-request-id', - '4a6fab29-d694-4fd1-a26c-d8f8e9537399', + 'a278ed68-73ef-4d37-9510-8842aaef3da7', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:43 GMT' + 'Tue, 07 Sep 2021 16:24:18 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_create_batch_operations.js b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_create_batch_operations.js index 2199de30281e..999deaac0560 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_create_batch_operations.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_create_batch_operations.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'ae1e9397-e263-4c27-a5f4-ee87019b3b00', + '70c59e42-be53-4ff1-ba25-42449daabf00', 'x-ms-ests-server', - '2.1.11829.4 - NCUS ProdSlices', + '2.1.12011.8 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:44 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AlRKBTzshWZBipCk10QOngw; expires=Thu, 07-Oct-2021 16:24:18 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr9Pt3dRZ1On-0Xe7sTCfznyfklESJSIUoPT9ONl3xtsaXeV89yidCVRT_mVEcdKE6i381ewMv75QplhOZe_qzis2PfJiSRjLitpOgLBMEWPdqfPmBVg0cHwFImqgLC1ec2L4XcrMTfFCw7XuTpvtbF9U7yvvIyNKWQqAO5MUsTJUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrs3eTZnUQuuHjXsvoRBiKTvIKBbSVAtdUYMfvDReKaCd0nW3tf8_4i1iPNmGg_I6ahkPfV674Z8wRMZLgO8Yc565J6rfjtVBtaazsZG_YG1zWZUm_VmcqHR_XSqit7wTVuh4ImkLJ8zCQkSNKLn8UzikUmY2MBarlZzZ3Xb8eZE8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT', + 'Tue, 07 Sep 2021 16:24:18 GMT', 'Content-Length', '980' ]); @@ -45,6 +45,8 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .reply(200, {"token_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ 'Cache-Control', 'max-age=86400, private', + 'Content-Length', + '1753', 'Content-Type', 'application/json; charset=utf-8', 'Strict-Transport-Security', @@ -58,25 +60,23 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '325c2ba7-8fa1-423e-a41d-7fafc9a10a00', + '0b31d432-69b8-464d-bd7e-e8917aa60401', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:44 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Amf1f-YubF9Oiahv8Xt_UzM; expires=Thu, 07-Oct-2021 16:24:19 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr1UOpjJasVToWJY3B_Lm2Q7_Yi6fQ0x6KG-sFTDwl2BYggN8dSuAlvv5llB4Yk_rGO4gi9GolTdoH5NB2GgnVPTRrBZTDWykBSPB8YAytm8W0d5-9v58IyyB5DfdYV0BuqpMcLPliRbZh1Uo_LlH0oCtAEY37GphaN5b_8wW2RrcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrJMUltvN4HuNycbtl39g-3IDWZDNSoC8R8zka_38N4xuBUkQy5NZKWhoBSy4idV_j_ng950BnD6uY5qMQRHAwbd7DnDliL3x5geoaRFuvlSaTnNJbMbR3dm7AUJJchvjafwAaD2bBlIGiMmcJfb0c08gQV3DylA7_9QwApHmJkSYgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT', - 'Content-Length', - '1753' + 'Tue, 07 Sep 2021 16:24:18 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=0435038f-7b81-43c6-9daa-ad51c7794eac&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=55ecdaf1-950a-4e66-9f5c-cbb20ef0291b&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,26 +93,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '31d461b1-56a4-4911-99ad-6cc08f590400', + 'ec2833ac-b19d-4e4e-88cf-c684e09ee800', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:44 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Ask4Lv8Nw6ZHredHRxV2ODw; expires=Thu, 07-Oct-2021 16:24:19 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT', + 'Tue, 07 Sep 2021 16:24:18 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestTokenCredentialnode"}) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:7c530201-1002-0129-41a5-64b1a8000000\nTime:2021-06-19T00:55:44.4993148Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00765d0c-e002-0038-6204-a4c0e6000000\nTime:2021-09-07T16:24:19.3292894Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -122,36 +122,36 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530201-1002-0129-41a5-64b1a8000000', + '00765d0c-e002-0038-6204-a4c0e6000000', 'x-ms-client-request-id', - '91783dca-f184-46bb-8880-c4849a1a1c81', + 'ad62e79d-91e9-4722-b943-c6fcf5e22e3f', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT' + 'Tue, 07 Sep 2021 16:24:18 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"first\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"second\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"third\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") - .reply(202, "--batchresponse_e4f00644-da67-413c-8c4a-36803e8abb93\r\nContent-Type: multipart/mixed; boundary=changesetresponse_af1ffaeb-9e17-405a-b168-57d1c3ef8f5b\r\n\r\n--changesetresponse_af1ffaeb-9e17-405a-b168-57d1c3ef8f5b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='1')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A44.5453474Z'\"\r\n\r\n\r\n--changesetresponse_af1ffaeb-9e17-405a-b168-57d1c3ef8f5b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='2')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A44.5453474Z'\"\r\n\r\n\r\n--changesetresponse_af1ffaeb-9e17-405a-b168-57d1c3ef8f5b\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='3')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A44.5453474Z'\"\r\n\r\n\r\n--changesetresponse_af1ffaeb-9e17-405a-b168-57d1c3ef8f5b--\r\n--batchresponse_e4f00644-da67-413c-8c4a-36803e8abb93--\r\n", [ + .reply(202, "--batchresponse_06442ace-5c96-45d0-be5a-4566ae42932d\r\nContent-Type: multipart/mixed; boundary=changesetresponse_35ea0aac-9855-4a23-b644-395f430530f7\r\n\r\n--changesetresponse_35ea0aac-9855-4a23-b644-395f430530f7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A19.4203542Z'\"\r\n\r\n\r\n--changesetresponse_35ea0aac-9855-4a23-b644-395f430530f7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A19.4203542Z'\"\r\n\r\n\r\n--changesetresponse_35ea0aac-9855-4a23-b644-395f430530f7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='3')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A19.4203542Z'\"\r\n\r\n\r\n--changesetresponse_35ea0aac-9855-4a23-b644-395f430530f7--\r\n--batchresponse_06442ace-5c96-45d0-be5a-4566ae42932d--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_e4f00644-da67-413c-8c4a-36803e8abb93', + 'multipart/mixed; boundary=batchresponse_06442ace-5c96-45d0-be5a-4566ae42932d', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530213-1002-0129-52a5-64b1a8000000', + '00765d25-e002-0038-7a04-a4c0e6000000', 'x-ms-client-request-id', - 'd277436c-0fb5-40cb-ac02-ae3e24bd75c0', + 'a853cdea-41d3-4b30-869f-d87731fdfb4e', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT' + 'Tue, 07 Sep 2021 16:24:19 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_delete_batch_operations.js b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_delete_batch_operations.js index bcde71090651..2165879d364d 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_delete_batch_operations.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_delete_batch_operations.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '60daca11-a111-4276-8165-0386e6fc3e00', + '9ee6f086-1ed0-4257-8e22-58c51b0f8f01', 'x-ms-ests-server', - '2.1.11829.4 - SCUS ProdSlices', + '2.1.12011.8 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:45 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AjiUlD8Y9MVBgf8slGKJfC8; expires=Thu, 07-Oct-2021 16:24:20 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrPIDGum_ZXYlNfRTzyWw2F62j1P8a9nBbGBHHQbr7k2xDyccCkm4-4-t0YSk9UGmUnZlMq1o1lPmUmFb_uU2BruyxjY4y7RT1yvep8KvgM47GXB441kg32pWeMZ46-RYLY602Vfg28knxjm3slACVJPbxQE9AQNZstdOl106HMWggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrUM5d0Rm_97jA1sQn108r5JR-wmsUu3CqkwC-yDHD_DqKqdTiGPBEPKU2kF3bU3y-T7bCgSRxjI3xqLgMARkKIyBceFPLftaRKZ0W-LIRzsnW4UW7vIpnAHwSrxMgL4Z1WVFact9PY3N9XKTBDOBNyj-Z99D_734IPQjbtj5nAdUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT', + 'Tue, 07 Sep 2021 16:24:20 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '6fd8babd-1fb2-40ed-896b-f676065c0700', + '1e835f92-f254-434b-b330-e2195a1dd200', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:45 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AuJYrV7-codMlfBSb0VrXU8; expires=Thu, 07-Oct-2021 16:24:21 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrJIgWU9P-sd9cC01Z7N7DOQmRWz5nlM_tf4hYrBTh9-Naw95NQlse0xLeZDr9Lx-VPOSb4cDvU6u90LicKKaZewD4ADbzcTrALDP1sfw7vhgjkhrgNptI9xDpcZES3NUB4wantPeZhP5HajRLDwpxHR0DF0t4HfePTEHOJsklLIMgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrlmdrLzq6qnASkfT8bd7OtWcRrPZJxqDYmhU29El6rISmE7THYPWclaU3vMcBLs94nQZPNVXrr46mKzb_PpQ6hhq0O83lGtuKe4733Bc4rygO3UFDwBl-zLcfeHFe0AV_WBkuDUlIzjA4j_MxXjKunXJUtyR2NfpWagav2QreK3ggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT', + 'Tue, 07 Sep 2021 16:24:20 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=347998e2-5dd5-4d98-99aa-d01ba864396f&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=2ab6ca5b-a840-45e9-9f40-067a4de79ad6&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,26 +93,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '31d461b1-56a4-4911-99ad-6cc0c5590400', + 'ec2833ac-b19d-4e4e-88cf-c684449fe800', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:45 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnYnEONpX8hKtrz8d_8KrUw; expires=Thu, 07-Oct-2021 16:24:21 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT', + 'Tue, 07 Sep 2021 16:24:20 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestTokenCredentialnode"}) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:7c5303c0-1002-0129-6fa5-64b1a8000000\nTime:2021-06-19T00:55:45.9013213Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00765e95-e002-0038-4e04-a4c0e6000000\nTime:2021-09-07T16:24:21.2766754Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -122,36 +122,36 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c5303c0-1002-0129-6fa5-64b1a8000000', + '00765e95-e002-0038-4e04-a4c0e6000000', 'x-ms-client-request-id', - '31aab991-4d17-4fd5-8f03-c9f1760dda96', + 'ce624b69-22fe-44bb-9411-d8f785ba8edb', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT' + 'Tue, 07 Sep 2021 16:24:20 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nDELETE https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nif-match: *\r\n\r\n\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") - .reply(202, "--batchresponse_7a531141-4a0b-4426-a922-bfe1a6aafbbf\r\nContent-Type: multipart/mixed; boundary=changesetresponse_18c03b87-8949-473d-b62a-8254d782d147\r\n\r\n--changesetresponse_18c03b87-8949-473d-b62a-8254d782d147\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_18c03b87-8949-473d-b62a-8254d782d147\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_18c03b87-8949-473d-b62a-8254d782d147\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_18c03b87-8949-473d-b62a-8254d782d147--\r\n--batchresponse_7a531141-4a0b-4426-a922-bfe1a6aafbbf--\r\n", [ + .reply(202, "--batchresponse_f1c686f6-cfd0-4e94-b4ed-0d6a1645b3bb\r\nContent-Type: multipart/mixed; boundary=changesetresponse_e266857d-725f-4ca2-b46d-9a1f17916b86\r\n\r\n--changesetresponse_e266857d-725f-4ca2-b46d-9a1f17916b86\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_e266857d-725f-4ca2-b46d-9a1f17916b86\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_e266857d-725f-4ca2-b46d-9a1f17916b86\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\n\r\n\r\n--changesetresponse_e266857d-725f-4ca2-b46d-9a1f17916b86--\r\n--batchresponse_f1c686f6-cfd0-4e94-b4ed-0d6a1645b3bb--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_7a531141-4a0b-4426-a922-bfe1a6aafbbf', + 'multipart/mixed; boundary=batchresponse_f1c686f6-cfd0-4e94-b4ed-0d6a1645b3bb', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c5303cd-1002-0129-7ba5-64b1a8000000', + '00765ea2-e002-0038-5804-a4c0e6000000', 'x-ms-client-request-id', - 'b4b872ed-bd53-43af-8c3f-793bcfc1de25', + 'ba05c193-bc8c-408f-afee-2ce02c959611', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT' + 'Tue, 07 Sep 2021 16:24:21 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_update_batch_operations.js b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_update_batch_operations.js index 3a159b5a66fd..d5b5aeb9d7a9 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_update_batch_operations.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_update_batch_operations.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '4805505a-9e17-4f1e-b17a-5836082a8700', + 'd815cf6c-2392-4c14-8aa6-d74659ee6b01', 'x-ms-ests-server', - '2.1.11829.4 - WUS2 ProdSlices', + '2.1.12011.8 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:44 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AqzZE6HA2-dPtdo-gH8hrEc; expires=Thu, 07-Oct-2021 16:24:19 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrWAKSVOm7xqEwzvmARHq2bhDY0YtYiD3ypVsgYK8QabzP86vrPSbvDmw8_dJ1AvRqaRCyhN7LT31euNbg7l09jIDhCKeBmnWnDLtamlJf8Ut_bLfPZnoIQ7ZRNKIwTfK2N4QwiZ-c44sKkuU-2HrJOap3N--J2RKzPb78Bvh012kgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrRXT6jLFsvMjOPJ6jaYowqzkE9HwrC8cWU74A46qu8Cbe_fC3KVXmornfhgMDrZbryzfAFzq4SY2JTYtyCM5qAbzeAWaR8UwBoQ0ATtJTV496JNBfCBQ8fq8G7j8HivP7X9_ACJ2QAoFb-vM4JJllH-CjibtzQcV3C8g7QbSH8vogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT', + 'Tue, 07 Sep 2021 16:24:19 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '31d461b1-56a4-4911-99ad-6cc099590400', + '9f93069a-eb6c-4b58-a8b8-2a753d85cd00', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:44 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Aim0WXFYEhNIoQTrqnLecsk; expires=Thu, 07-Oct-2021 16:24:19 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrfSGQk5Tcrs4pUIq4kJ_ZqYtI29lX0tZ5THYMfoSq9HY-3_cOeTtn2U2Cjn5k6FCwBidAF1OcbQ-NMUFdw2H3mKvHl_f71sR4L4BsKJpnit6fGNOOD-jiMXZmroqYO01ipng6tFcW5VebAut-LpSiVQ897O7Buwj_7HjTPFxAU78gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrRxal0KYVC0o8me_oc08qdLiwhC7bJ0VHxyeUA_jdiQTMex3SKwPXOxI2_VGIMKesI34u8J6C3RTNxSEmywgueMN-gs5BzprMXUrKm2osLORN8I9YLhNclH_RygT_5wIjeJpFQTHrmYvRFNu0AEGQdY-QW32QZNtuqWhBIMFo_QkgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT', + 'Tue, 07 Sep 2021 16:24:19 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=ba4bf607-e469-4c66-a836-7c66687d8e61&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=391468d1-e813-44cb-b081-a4e54aa37ae9&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,26 +93,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '31d461b1-56a4-4911-99ad-6cc0a0590400', + '0c1e8605-1d40-486a-8441-85ba904cc800', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:44 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Aq6EjC6ga15Pg9NBwDBU4AzJVDEwAQAAADOJydgOAAAA; expires=Thu, 07-Oct-2021 16:24:19 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT', + 'Tue, 07 Sep 2021 16:24:19 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestTokenCredentialnode"}) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:7c5302a4-1002-0129-5da5-64b1a8000000\nTime:2021-06-19T00:55:44.9666498Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00765da8-e002-0038-7404-a4c0e6000000\nTime:2021-09-07T16:24:19.9287162Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -122,44 +122,44 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c5302a4-1002-0129-5da5-64b1a8000000', + '00765da8-e002-0038-7404-a4c0e6000000', 'x-ms-client-request-id', - 'd335a22f-4d38-40cc-adb9-b5b5ad90f03f', + '7be6714b-f2c7-407d-a805-5cb88008e797', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT' + 'Tue, 07 Sep 2021 16:24:19 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"updated\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"updated\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\nif-match: *\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"updated\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") - .reply(202, "--batchresponse_c7419af2-f379-47fb-8e00-672304cdfe4c\r\nContent-Type: multipart/mixed; boundary=changesetresponse_1eb57195-1900-4840-a10e-c423f66a5230\r\n\r\n--changesetresponse_1eb57195-1900-4840-a10e-c423f66a5230\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A45.0174735Z'\"\r\n\r\n\r\n--changesetresponse_1eb57195-1900-4840-a10e-c423f66a5230\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A45.0174735Z'\"\r\n\r\n\r\n--changesetresponse_1eb57195-1900-4840-a10e-c423f66a5230\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A45.0174735Z'\"\r\n\r\n\r\n--changesetresponse_1eb57195-1900-4840-a10e-c423f66a5230--\r\n--batchresponse_c7419af2-f379-47fb-8e00-672304cdfe4c--\r\n", [ + .reply(202, "--batchresponse_3f48a20d-46ac-4388-98dc-bc2aa5be7c39\r\nContent-Type: multipart/mixed; boundary=changesetresponse_76905b47-0998-411c-b445-40b46683de77\r\n\r\n--changesetresponse_76905b47-0998-411c-b445-40b46683de77\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A20.0162661Z'\"\r\n\r\n\r\n--changesetresponse_76905b47-0998-411c-b445-40b46683de77\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A20.0162661Z'\"\r\n\r\n\r\n--changesetresponse_76905b47-0998-411c-b445-40b46683de77\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A20.0172672Z'\"\r\n\r\n\r\n--changesetresponse_76905b47-0998-411c-b445-40b46683de77--\r\n--batchresponse_3f48a20d-46ac-4388-98dc-bc2aa5be7c39--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_c7419af2-f379-47fb-8e00-672304cdfe4c', + 'multipart/mixed; boundary=batchresponse_3f48a20d-46ac-4388-98dc-bc2aa5be7c39', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c5302af-1002-0129-68a5-64b1a8000000', + '00765dc0-e002-0038-0904-a4c0e6000000', 'x-ms-client-request-id', - 'a67ac632-697b-4b4c-9a6f-109369b1542b', + '6566d4f1-0586-43c8-b052-bf81c3bc101f', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT' + 'Tue, 07 Sep 2021 16:24:19 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/batchTableTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A45.0174735Z'\"","PartitionKey":"batchTest","RowKey":"1","Timestamp":"2021-06-19T00:55:45.0174735Z","name":"updated"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A45.0174735Z'\"","PartitionKey":"batchTest","RowKey":"2","Timestamp":"2021-06-19T00:55:45.0174735Z","name":"updated"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A45.0174735Z'\"","PartitionKey":"batchTest","RowKey":"3","Timestamp":"2021-06-19T00:55:45.0174735Z","name":"updated"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A20.0162661Z'\"","PartitionKey":"batchTest","RowKey":"1","Timestamp":"2021-09-07T16:24:20.0162661Z","name":"updated"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A20.0162661Z'\"","PartitionKey":"batchTest","RowKey":"2","Timestamp":"2021-09-07T16:24:20.0162661Z","name":"updated"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A20.0172672Z'\"","PartitionKey":"batchTest","RowKey":"3","Timestamp":"2021-09-07T16:24:20.0172672Z","name":"updated"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -169,9 +169,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c5302c5-1002-0129-7ba5-64b1a8000000', + '00765dd6-e002-0038-1f04-a4c0e6000000', 'x-ms-client-request-id', - '4b0aaa4d-59b7-4857-82f0-5b13266069da', + '3f454ac1-3196-4526-9764-52fdb32a17c3', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -181,5 +181,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:44 GMT' + 'Tue, 07 Sep 2021 16:24:19 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_upsert_batch_operations.js b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_upsert_batch_operations.js index 80ff595c7925..4fb7eea74e79 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_upsert_batch_operations.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_a_set_of_upsert_batch_operations.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '9b967a57-ab97-421b-99af-d8100f929800', + 'e7cefc10-6930-4951-b294-bd0c25b7cc00', 'x-ms-ests-server', - '2.1.11829.4 - NCUS ProdSlices', + '2.1.12011.8 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:45 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ApR9ak1XzzxBixcq9Rr-p14; expires=Thu, 07-Oct-2021 16:24:20 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr2micihfQnvwUnjanO-MwELfJ5yxMetJOrpHSPx9NvMqBR-KC0Se9AzV6IBLvQqAG3orfoEKHgl4nrAZgVeWL63eczKj8J0ZnqeLdf9ki2c_Ebpg2sobYDPdB2W1b9OZn2qmCP1SJl-W4T4A6AYL5kLhqkkbPv-gpr1G3juVSdVsgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrPHWYh9FQR1MkoUJWmQ0_ujAOJSrDMKEjGYNYM1OPGdVbygLm5JCEQP6fj4jiSPX6hfVyuen5nZb-acb5cji2bLQFpSJ16Xzov-FLWOYxi0lKDbP5nyeoCsRjaEpw4jwwC9fC81yl0k6GJwGImXN7BsCVwE5RewdicXYEK_YcntsgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT', + 'Tue, 07 Sep 2021 16:24:19 GMT', 'Content-Length', '980' ]); @@ -45,6 +45,8 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .reply(200, {"token_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ 'Cache-Control', 'max-age=86400, private', + 'Content-Length', + '1753', 'Content-Type', 'application/json; charset=utf-8', 'Strict-Transport-Security', @@ -58,25 +60,23 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '31d461b1-56a4-4911-99ad-6cc0b0590400', + 'c3900f77-94db-440f-a455-102c3ebbda00', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:45 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnIotSIBGYJMrTJcty140M4; expires=Thu, 07-Oct-2021 16:24:20 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevreTau2oCmJW3fP--XEGPBF13cRazacE4vk6oh81kFeL747S3hWHsGwhUXEOSi2PQbzXffxkJgfXh1uTAYR0Ddh40iiiYa100pB5UPh6NKzmHeC3PYKzwcfitHp_4jC7WaquboLxMmep6c1FeBoae01TnJnhX8I1PJhEUSpNatzO0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrKB0kbXOjXcCl1yJazG7MBfXZZS64IFrC1M-IN3E0TR_-M4NkLww-JlWhlYUih8mh7Ch2qkZRPAz-vitns8zXNV_ER8LWVBhk5OTltCS2XQT_YPKcUeTJtdL8qGOlj8eCGfs-m_larjFiLiFrVMAL9h9PYi09MwLrte4dtXwSfyAgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT', - 'Content-Length', - '1753' + 'Tue, 07 Sep 2021 16:24:19 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=830dcd09-06c0-4dc9-b0a6-0bc66105155c&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=898d7c30-214b-4773-a00a-f030ada3cf46&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,26 +93,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'b6a3ee90-0d7e-41e4-bd9b-5143a3b40600', + '30fc36de-5362-4435-8a48-495178c1c900', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:45 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Ar5P74FoCKdBl5BVmU82UgU; expires=Thu, 07-Oct-2021 16:24:20 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT', + 'Tue, 07 Sep 2021 16:24:19 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestTokenCredentialnode"}) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:7c530344-1002-0129-74a5-64b1a8000000\nTime:2021-06-19T00:55:45.4930282Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00765e32-e002-0038-7204-a4c0e6000000\nTime:2021-09-07T16:24:20.5941899Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -122,44 +122,44 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530344-1002-0129-74a5-64b1a8000000', + '00765e32-e002-0038-7204-a4c0e6000000', 'x-ms-client-request-id', - '044d2a10-5984-4dd5-a691-508398c230f7', + '7b284ee5-c2ab-4924-ac7b-f3e4b8b93508', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT' + 'Tue, 07 Sep 2021 16:24:20 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='1') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"1\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='2') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"2\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='3') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"3\",\"name\":\"upserted\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPUT https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='batchTest',RowKey='4') HTTP/1.1\r\ncontent-type: application/json\r\ndataserviceversion: 3.0\r\naccept: application/json\r\n\r\n\r\n{\"PartitionKey\":\"batchTest\",\"RowKey\":\"4\",\"name\":\"upserted\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") - .reply(202, "--batchresponse_a2f9693e-ea9e-48b3-bdba-9871d633b5ee\r\nContent-Type: multipart/mixed; boundary=changesetresponse_2d2eeb6e-7b25-4c44-9170-09272189ddb7\r\n\r\n--changesetresponse_2d2eeb6e-7b25-4c44-9170-09272189ddb7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A45.5418525Z'\"\r\n\r\n\r\n--changesetresponse_2d2eeb6e-7b25-4c44-9170-09272189ddb7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A45.5418525Z'\"\r\n\r\n\r\n--changesetresponse_2d2eeb6e-7b25-4c44-9170-09272189ddb7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A45.5428532Z'\"\r\n\r\n\r\n--changesetresponse_2d2eeb6e-7b25-4c44-9170-09272189ddb7\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A45.5428532Z'\"\r\n\r\n\r\n--changesetresponse_2d2eeb6e-7b25-4c44-9170-09272189ddb7--\r\n--batchresponse_a2f9693e-ea9e-48b3-bdba-9871d633b5ee--\r\n", [ + .reply(202, "--batchresponse_64c845db-56b0-4628-a335-a5296afd6aa6\r\nContent-Type: multipart/mixed; boundary=changesetresponse_5f82d95a-739d-4df5-b6fe-63a6257b3d83\r\n\r\n--changesetresponse_5f82d95a-739d-4df5-b6fe-63a6257b3d83\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A20.7057563Z'\"\r\n\r\n\r\n--changesetresponse_5f82d95a-739d-4df5-b6fe-63a6257b3d83\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A20.7057563Z'\"\r\n\r\n\r\n--changesetresponse_5f82d95a-739d-4df5-b6fe-63a6257b3d83\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A20.7057563Z'\"\r\n\r\n\r\n--changesetresponse_5f82d95a-739d-4df5-b6fe-63a6257b3d83\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nDataServiceVersion: 1.0;\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A20.7067566Z'\"\r\n\r\n\r\n--changesetresponse_5f82d95a-739d-4df5-b6fe-63a6257b3d83--\r\n--batchresponse_64c845db-56b0-4628-a335-a5296afd6aa6--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_a2f9693e-ea9e-48b3-bdba-9871d633b5ee', + 'multipart/mixed; boundary=batchresponse_64c845db-56b0-4628-a335-a5296afd6aa6', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c53034e-1002-0129-7ea5-64b1a8000000', + '00765e42-e002-0038-8004-a4c0e6000000', 'x-ms-client-request-id', - '9eeb3e51-fe40-49b2-bda6-4a86414d00d1', + 'a3a96f23-a591-445f-8c65-e7c282ef645d', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT' + 'Tue, 07 Sep 2021 16:24:20 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/batchTableTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A45.5418525Z'\"","PartitionKey":"batchTest","RowKey":"1","Timestamp":"2021-06-19T00:55:45.5418525Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A45.5418525Z'\"","PartitionKey":"batchTest","RowKey":"2","Timestamp":"2021-06-19T00:55:45.5418525Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A45.5428532Z'\"","PartitionKey":"batchTest","RowKey":"3","Timestamp":"2021-06-19T00:55:45.5428532Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A45.5428532Z'\"","PartitionKey":"batchTest","RowKey":"4","Timestamp":"2021-06-19T00:55:45.5428532Z","name":"upserted"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A20.7057563Z'\"","PartitionKey":"batchTest","RowKey":"1","Timestamp":"2021-09-07T16:24:20.7057563Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A20.7057563Z'\"","PartitionKey":"batchTest","RowKey":"2","Timestamp":"2021-09-07T16:24:20.7057563Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A20.7057563Z'\"","PartitionKey":"batchTest","RowKey":"3","Timestamp":"2021-09-07T16:24:20.7057563Z","name":"upserted"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A20.7067566Z'\"","PartitionKey":"batchTest","RowKey":"4","Timestamp":"2021-09-07T16:24:20.7067566Z","name":"upserted"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -169,9 +169,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530361-1002-0129-11a5-64b1a8000000', + '00765e51-e002-0038-0e04-a4c0e6000000', 'x-ms-client-request-id', - 'b5b8f12e-f3bf-4f36-bb36-505a6726be34', + '16e8768a-c3a8-41f3-af93-80660191cef6', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -181,5 +181,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:45 GMT' + 'Tue, 07 Sep 2021 16:24:20 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_multiple_transactions_with_the_same_partition_key.js b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_multiple_transactions_with_the_same_partition_key.js index 61e9736d40e8..a1d6fc23ad4b 100644 --- a/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_multiple_transactions_with_the_same_partition_key.js +++ b/sdk/tables/data-tables/recordings/node/batch_operations_tokencredential/recording_should_send_multiple_transactions_with_the_same_partition_key.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '45c47fb6-4f74-4c6a-8265-c5950d605500', + '3dde786b-0648-4b48-a514-8c1639696701', 'x-ms-ests-server', - '2.1.11829.4 - NCUS ProdSlices', + '2.1.12011.8 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AljTqSRH2RdGvqr1B51AWts; expires=Thu, 07-Oct-2021 16:24:22 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrnIzGMCeF5tlg7DnKX5NXGi-hEkSZflFLExb_NLEOvAbZDBUhEyp7mShIy0m3-zgsMX1te1UfzUTFrxc2NPo_rkJGDL4XTvvJasXw8viSMYwMfnA0CeqwfU6RrPTVzBwJsHCbJO_RDe0uKqFlrI0xKolzTrJaM4vYWp4vpJrY-u0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrFTrrVAKByH7_NyQe5zRC15myBXTFPx2mxfb5Vz9B6tYIPGNZIHAFHV1z4SbKlVSOtK_NkDQrctbLEGbTPTsIgQfHW4GmMj6ZBexp4qx67FBzkTXgx9fl7ejE2sU5mJvZMMR1uFjYGdbZGBEg0PLO7n01y_Jg2LDGWgVjxxajr1wgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT', + 'Tue, 07 Sep 2021 16:24:21 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '44b0c367-333b-40ac-9544-a604c4680900', + '0c1e8605-1d40-486a-8441-85ba3d4dc800', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AkDefa_BJp1JkhHH0bNWWrQ; expires=Thu, 07-Oct-2021 16:24:22 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrhdQ2u9MQoQUdhNx1cnbe4P2Nr739Lrsdds-1eC1n9jBwzFOHwSIJSfzoURdk6qj1bwi2x-UkP69o9WhZt0uXLyuVjT216mVHRiY7h76a28vVaLbDTebhSVZjTrEYEvgfoZ0PBLJXCF7i4raHN1J4IQ4xisKRviyzX-IoQgrk8p8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrrQG1rqpCCj4W7cUuoSGCvPIs9oXuX9RMkF9dv8X0i8NwShfWZ8aEqL96zvRGuTroanNxq64aIotWjIxpteJHxgNHXWGKkMsydZPVmUuSLC4dW-NEFp_fAif4haH3pulYldAAHrN1yt5L5d5eFGO_LC4Opzc3qVXOZAtzJpHPlU4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT', + 'Tue, 07 Sep 2021 16:24:21 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=7cf02e95-fd29-40de-8bad-67fbfd515f8f&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=633eee05-857c-4ce4-a6da-ca7c887360b1&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,26 +93,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'b50a8c45-56e2-453b-9c5c-02e8a2350400', + 'ac8c2044-968d-41cb-beb9-7da603a8fa00', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwDwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:46 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AsiCRKiEiGBJlIhHITZNu8U; expires=Thu, 07-Oct-2021 16:24:22 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT', + 'Tue, 07 Sep 2021 16:24:21 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/Tables', {"TableName":"batchTableTestTokenCredentialnode"}) - .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:7c53051d-1002-0129-30a5-64b1a8000000\nTime:2021-06-19T00:55:46.9790951Z"}}}, [ + .reply(409, {"odata.error":{"code":"TableAlreadyExists","message":{"lang":"en-US","value":"The table specified already exists.\nRequestId:00765f7c-e002-0038-1b04-a4c0e6000000\nTime:2021-09-07T16:24:22.5786028Z"}}}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -122,67 +122,67 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c53051d-1002-0129-30a5-64b1a8000000', + '00765f7c-e002-0038-1b04-a4c0e6000000', 'x-ms-client-request-id', - 'd8ffba2c-db36-4046-a300-a06adcaf33a1', + 'c130006c-5f96-4269-9a8c-68e0d9d1c183', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT' + 'Tue, 07 Sep 2021 16:24:22 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r1\",\"value\":\"1\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r2\",\"value\":\"2\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r3\",\"value\":\"3\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") - .reply(202, "--batchresponse_3fd4af7b-bf26-49ba-83fc-23e984b58cce\r\nContent-Type: multipart/mixed; boundary=changesetresponse_92e62f1f-20c9-4fd6-a23a-9df6bbd87382\r\n\r\n--changesetresponse_92e62f1f-20c9-4fd6-a23a-9df6bbd87382\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r1')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A47.0221264Z'\"\r\n\r\n\r\n--changesetresponse_92e62f1f-20c9-4fd6-a23a-9df6bbd87382\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r2')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A47.0221264Z'\"\r\n\r\n\r\n--changesetresponse_92e62f1f-20c9-4fd6-a23a-9df6bbd87382\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r3')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A47.0221264Z'\"\r\n\r\n\r\n--changesetresponse_92e62f1f-20c9-4fd6-a23a-9df6bbd87382--\r\n--batchresponse_3fd4af7b-bf26-49ba-83fc-23e984b58cce--\r\n", [ + .reply(202, "--batchresponse_6eba04b9-0203-4473-9f51-103673dd2cb5\r\nContent-Type: multipart/mixed; boundary=changesetresponse_76054f47-1fd1-4e57-adb0-34ed629ab172\r\n\r\n--changesetresponse_76054f47-1fd1-4e57-adb0-34ed629ab172\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r1')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r1')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A22.6686665Z'\"\r\n\r\n\r\n--changesetresponse_76054f47-1fd1-4e57-adb0-34ed629ab172\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r2')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r2')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A22.6686665Z'\"\r\n\r\n\r\n--changesetresponse_76054f47-1fd1-4e57-adb0-34ed629ab172\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r3')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r3')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A22.6686665Z'\"\r\n\r\n\r\n--changesetresponse_76054f47-1fd1-4e57-adb0-34ed629ab172--\r\n--batchresponse_6eba04b9-0203-4473-9f51-103673dd2cb5--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_3fd4af7b-bf26-49ba-83fc-23e984b58cce', + 'multipart/mixed; boundary=batchresponse_6eba04b9-0203-4473-9f51-103673dd2cb5', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530522-1002-0129-35a5-64b1a8000000', + '00765f8e-e002-0038-2a04-a4c0e6000000', 'x-ms-client-request-id', - '2d76e5be-901b-4095-823f-1c411a3ea45a', + '4e2d1707-42dc-46dd-be4d-e84e2e704fdb', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT' + 'Tue, 07 Sep 2021 16:24:22 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .post('/$batch', "--batch_fakeId\r\ncontent-type: multipart/mixed; boundary=changeset_fakeId\r\n\r\n\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r4\",\"value\":\"4\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r5\",\"value\":\"5\"}\r\n--changeset_fakeId\r\ncontent-type: application/http\r\ncontent-transfer-encoding: binary\r\n\r\nPOST https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode HTTP/1.1\r\ncontent-type: application/json;odata=nometadata\r\naccept: application/json;odata=minimalmetadata\r\ndataserviceversion: 3.0\r\nprefer: return-no-content\r\n\r\n\r\n{\"PartitionKey\":\"multiBatch1\",\"RowKey\":\"r6\",\"value\":\"6\"}\r\n--changeset_fakeId--\r\n--batch_fakeId--\r\n") - .reply(202, "--batchresponse_edd0e207-7dee-4fd7-b851-6779b29e31f5\r\nContent-Type: multipart/mixed; boundary=changesetresponse_5792fcb9-7908-42ec-8ca9-270ef367f61a\r\n\r\n--changesetresponse_5792fcb9-7908-42ec-8ca9-270ef367f61a\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r4')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r4')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A47.0961792Z'\"\r\n\r\n\r\n--changesetresponse_5792fcb9-7908-42ec-8ca9-270ef367f61a\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r5')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r5')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A47.0961792Z'\"\r\n\r\n\r\n--changesetresponse_5792fcb9-7908-42ec-8ca9-270ef367f61a\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r6')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r6')\r\nETag: W/\"datetime'2021-06-19T00%3A55%3A47.0961792Z'\"\r\n\r\n\r\n--changesetresponse_5792fcb9-7908-42ec-8ca9-270ef367f61a--\r\n--batchresponse_edd0e207-7dee-4fd7-b851-6779b29e31f5--\r\n", [ + .reply(202, "--batchresponse_c6e428ed-3773-483d-8a49-a008a4216b6a\r\nContent-Type: multipart/mixed; boundary=changesetresponse_e59a5312-0372-4a38-a4dd-031c1a0461f1\r\n\r\n--changesetresponse_e59a5312-0372-4a38-a4dd-031c1a0461f1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r4')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r4')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A22.8137702Z'\"\r\n\r\n\r\n--changesetresponse_e59a5312-0372-4a38-a4dd-031c1a0461f1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r5')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r5')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A22.8137702Z'\"\r\n\r\n\r\n--changesetresponse_e59a5312-0372-4a38-a4dd-031c1a0461f1\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nHTTP/1.1 204 No Content\r\nX-Content-Type-Options: nosniff\r\nCache-Control: no-cache\r\nPreference-Applied: return-no-content\r\nDataServiceVersion: 3.0;\r\nLocation: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r6')\r\nDataServiceId: https://fakeaccount.table.core.windows.net/batchTableTestTokenCredentialnode(PartitionKey='multiBatch1',RowKey='r6')\r\nETag: W/\"datetime'2021-09-07T16%3A24%3A22.8137702Z'\"\r\n\r\n\r\n--changesetresponse_e59a5312-0372-4a38-a4dd-031c1a0461f1--\r\n--batchresponse_c6e428ed-3773-483d-8a49-a008a4216b6a--\r\n", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', 'Content-Type', - 'multipart/mixed; boundary=batchresponse_edd0e207-7dee-4fd7-b851-6779b29e31f5', + 'multipart/mixed; boundary=batchresponse_c6e428ed-3773-483d-8a49-a008a4216b6a', 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530541-1002-0129-53a5-64b1a8000000', + '00765f9c-e002-0038-3804-a4c0e6000000', 'x-ms-client-request-id', - 'a102889b-4183-48f1-99d3-13907bcdad34', + 'a2e06015-4981-4eff-ac65-1420fb98d6c1', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:46 GMT' + 'Tue, 07 Sep 2021 16:24:22 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/batchTableTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A47.0221264Z'\"","PartitionKey":"multiBatch1","RowKey":"r1","Timestamp":"2021-06-19T00:55:47.0221264Z","value":"1"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A47.0221264Z'\"","PartitionKey":"multiBatch1","RowKey":"r2","Timestamp":"2021-06-19T00:55:47.0221264Z","value":"2"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A47.0221264Z'\"","PartitionKey":"multiBatch1","RowKey":"r3","Timestamp":"2021-06-19T00:55:47.0221264Z","value":"3"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A47.0961792Z'\"","PartitionKey":"multiBatch1","RowKey":"r4","Timestamp":"2021-06-19T00:55:47.0961792Z","value":"4"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A47.0961792Z'\"","PartitionKey":"multiBatch1","RowKey":"r5","Timestamp":"2021-06-19T00:55:47.0961792Z","value":"5"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A47.0961792Z'\"","PartitionKey":"multiBatch1","RowKey":"r6","Timestamp":"2021-06-19T00:55:47.0961792Z","value":"6"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#batchTableTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A22.6686665Z'\"","PartitionKey":"multiBatch1","RowKey":"r1","Timestamp":"2021-09-07T16:24:22.6686665Z","value":"1"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A22.6686665Z'\"","PartitionKey":"multiBatch1","RowKey":"r2","Timestamp":"2021-09-07T16:24:22.6686665Z","value":"2"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A22.6686665Z'\"","PartitionKey":"multiBatch1","RowKey":"r3","Timestamp":"2021-09-07T16:24:22.6686665Z","value":"3"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A22.8137702Z'\"","PartitionKey":"multiBatch1","RowKey":"r4","Timestamp":"2021-09-07T16:24:22.8137702Z","value":"4"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A22.8137702Z'\"","PartitionKey":"multiBatch1","RowKey":"r5","Timestamp":"2021-09-07T16:24:22.8137702Z","value":"5"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A22.8137702Z'\"","PartitionKey":"multiBatch1","RowKey":"r6","Timestamp":"2021-09-07T16:24:22.8137702Z","value":"6"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -192,9 +192,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c530553-1002-0129-64a5-64b1a8000000', + '00765fae-e002-0038-4904-a4c0e6000000', 'x-ms-client-request-id', - 'b207bee1-8fc2-4026-9105-aa10dc4788f7', + '2e8048c4-f5b1-41c4-9778-641994d88e24', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -204,5 +204,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:47 GMT' + 'Tue, 07 Sep 2021 16:24:22 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_boolean.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_boolean.js index 1d73aeda6cf5..c38371a2fdcd 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_boolean.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_boolean.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "7a16e9b4d6f972bde76536e576920314"; +module.exports.hash = "10564c0369135bb56c3a21a46e67619c"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.5734846Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A07.786071Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P6_node',RowKey='R6')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef106-9002-001e-2a4b-5d5b52000000', + '0076547d-e002-0038-2a04-a4c0e6000000', 'x-ms-client-request-id', - '7289fe29-0797-46e3-bf98-4863f4a2c27c', + '4f462ecc-08a8-4e56-9587-162b9898d60f', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P6_node',RowKey='R6')", 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P6_node',RowKey='R6')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A45.5734846Z'\"","PartitionKey":"P6_node","RowKey":"R6","Timestamp":"2021-06-09T16:21:45.5734846Z","testField":true}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A07.786071Z'\"","PartitionKey":"P6_node","RowKey":"R6","Timestamp":"2021-09-07T16:24:07.786071Z","testField":true}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.5734846Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A07.786071Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef11c-9002-001e-3c4b-5d5b52000000', + '00765488-e002-0038-3404-a4c0e6000000', 'x-ms-client-request-id', - '5dcc0c2e-e183-4468-970c-c0c7c99af4c3', + '1767b759-1526-49f6-933a-e83def95549a', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef131-9002-001e-4e4b-5d5b52000000', + '00765492-e002-0038-3d04-a4c0e6000000', 'x-ms-client-request-id', - '134f4cd3-006c-4768-95f5-64cfcb9441a3', + 'b97d207c-9367-48a5-bf59-af47ffa76940', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_date.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_date.js index c830d396d76e..a3d7eb413949 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_date.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_date.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "740b89ba8f2887e9771cdf91cd357600"; +module.exports.hash = "40113f7a007204ac74b06c1c82ae2bfd"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.1091546Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A06.839397Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P2_node',RowKey='R2')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef064-9002-001e-214b-5d5b52000000', + '0076537d-e002-0038-3f04-a4c0e6000000', 'x-ms-client-request-id', - '6c3e41f1-bdbf-4f77-b261-a7d82dae06ad', + '4a914078-039a-4e5e-b9e8-e392807676f3', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P2_node',RowKey='R2')", 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P2_node',RowKey='R2')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A45.1091546Z'\"","PartitionKey":"P2_node","RowKey":"R2","Timestamp":"2021-06-09T16:21:45.1091546Z","testField@odata.type":"Edm.DateTime","testField":"2020-09-17T00:00:00.111Z"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A06.839397Z'\"","PartitionKey":"P2_node","RowKey":"R2","Timestamp":"2021-09-07T16:24:06.839397Z","testField@odata.type":"Edm.DateTime","testField":"2020-09-17T00:00:00.111Z"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.1091546Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A06.839397Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef081-9002-001e-3a4b-5d5b52000000', + '00765390-e002-0038-4f04-a4c0e6000000', 'x-ms-client-request-id', - '9ff91399-87b7-4dcc-8791-6089b374429b', + 'e0ac6ec9-01e1-4c46-9bc2-420e1e2bfeaa', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef08a-9002-001e-414b-5d5b52000000', + '007653a0-e002-0038-5d04-a4c0e6000000', 'x-ms-client-request-id', - '62e9ca83-5e01-48b7-9ef8-1bae235abce7', + '364ccfdc-9341-472a-840a-1048d8780f09', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_datetime.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_datetime.js index 10129db30159..1e0c8ec0ae8f 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_datetime.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_datetime.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "795979f2f183314fc16f0af92f247461"; +module.exports.hash = "ed676a3b36db8a9446e03369e600e4c9"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.7646205Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A08.0142334Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P7_node',RowKey='R7')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef142-9002-001e-5c4b-5d5b52000000', + '007654ac-e002-0038-5404-a4c0e6000000', 'x-ms-client-request-id', - 'e5602192-6713-4094-a518-13ae079cf956', + '1997a57e-eec5-4c26-845a-7bd5a2467414', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P7_node',RowKey='R7')", 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P7_node',RowKey='R7')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A45.7646205Z'\"","PartitionKey":"P7_node","RowKey":"R7","Timestamp":"2021-06-09T16:21:45.7646205Z","testField@odata.type":"Edm.DateTime","testField":"2020-09-17T00:00:00.99999Z"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A08.0142334Z'\"","PartitionKey":"P7_node","RowKey":"R7","Timestamp":"2021-09-07T16:24:08.0142334Z","testField@odata.type":"Edm.DateTime","testField":"2020-09-17T00:00:00.99999Z"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.7646205Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A08.0142334Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef153-9002-001e-6b4b-5d5b52000000', + '007654c1-e002-0038-6604-a4c0e6000000', 'x-ms-client-request-id', - 'd9973af5-3c96-41cf-8dc5-57ad820834e0', + '05566247-07c6-4133-a8c0-9e85dbd10d99', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef15d-9002-001e-744b-5d5b52000000', + '007654de-e002-0038-8004-a4c0e6000000', 'x-ms-client-request-id', - 'bfcc7595-8753-4600-bfac-f09c2c4393ec', + 'e085faf5-b711-4ddc-92e8-7e009b2ecdb8', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_guid.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_guid.js index f8a7fe1edc30..2ab9704b9346 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_guid.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_guid.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "a66a20d62f23f75ef5943d4f183e331b"; +module.exports.hash = "69bd9ea5f4e3b945fa8d1b27c65e8da3"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.2502545Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A07.0675594Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P3_node',RowKey='R3')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef09a-9002-001e-4f4b-5d5b52000000', + '007653ac-e002-0038-6904-a4c0e6000000', 'x-ms-client-request-id', - '75ac6336-cfb7-4666-a86c-37e7bab89905', + 'f0b2472b-0c68-4093-881b-9f67b456f5ba', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P3_node',RowKey='R3')", 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P3_node',RowKey='R3')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A45.2502545Z'\"","PartitionKey":"P3_node","RowKey":"R3","Timestamp":"2021-06-09T16:21:45.2502545Z","testField@odata.type":"Edm.Guid","testField":"cf8ef051-1b7d-4e93-a1e5-a3944d7e441c"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A07.0675594Z'\"","PartitionKey":"P3_node","RowKey":"R3","Timestamp":"2021-09-07T16:24:07.0675594Z","testField@odata.type":"Edm.Guid","testField":"cf8ef051-1b7d-4e93-a1e5-a3944d7e441c"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.2502545Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A07.0675594Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef0af-9002-001e-5e4b-5d5b52000000', + '007653bd-e002-0038-7a04-a4c0e6000000', 'x-ms-client-request-id', - 'd677dfc0-f03d-450c-b670-886b3d620444', + 'f9d1ea4a-48f6-4198-bdae-31b9031f7fcc', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef0b9-9002-001e-664b-5d5b52000000', + '007653d2-e002-0038-0c04-a4c0e6000000', 'x-ms-client-request-id', - '7aa02795-b9ab-4396-9a8f-a11894a016f7', + '00662a00-b0eb-43ff-ac94-fe91dc9e7a2a', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int32.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int32.js index a72fc4b9b3fc..354296f1be1c 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int32.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int32.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "73515af9958108f6acd31f0ae1ac34e6"; +module.exports.hash = "4f351ff8900eff07413bfe4ee5aebcc1"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.4624057Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A07.5428979Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P5_node',RowKey='R5')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef0e5-9002-001e-0b4b-5d5b52000000', + '00765445-e002-0038-7604-a4c0e6000000', 'x-ms-client-request-id', - 'd7f882b9-558f-4ae6-b9b5-22c7de8d9b76', + 'a341cb5c-bad9-4f5b-aeee-528dcd327caa', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P5_node',RowKey='R5')", 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P5_node',RowKey='R5')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A45.4624057Z'\"","PartitionKey":"P5_node","RowKey":"R5","Timestamp":"2021-06-09T16:21:45.4624057Z","testField":123}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A07.5428979Z'\"","PartitionKey":"P5_node","RowKey":"R5","Timestamp":"2021-09-07T16:24:07.5428979Z","testField":123}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.4624057Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A07.5428979Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef0f1-9002-001e-164b-5d5b52000000', + '0076545f-e002-0038-0f04-a4c0e6000000', 'x-ms-client-request-id', - '5f3b13c9-53bf-46d1-a6ab-acc7aa915d03', + '5a7c2426-1c6a-4305-9325-514fc4c30c70', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef0fd-9002-001e-224b-5d5b52000000', + '0076546d-e002-0038-1c04-a4c0e6000000', 'x-ms-client-request-id', - '6992b849-0dd5-4b05-89ee-29ede33144fb', + '6633349b-13aa-4126-95fc-c05945d772fe', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int64.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int64.js index e135d552de35..45d2b69311d4 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int64.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_int64.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "bddae002daeb34fa47424e45c0152faf"; +module.exports.hash = "9328941615eb80fa4e895157041f336e"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.3613343Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A07.3017257Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P4_node',RowKey='R4')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef0c6-9002-001e-724b-5d5b52000000', + '007653ef-e002-0038-2604-a4c0e6000000', 'x-ms-client-request-id', - '7f5fa6ec-9b21-4d45-b4ad-e8c8dfaf95a5', + 'dd29b7a8-4035-4bb3-991c-bf4473598816', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P4_node',RowKey='R4')", 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P4_node',RowKey='R4')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A45.3613343Z'\"","PartitionKey":"P4_node","RowKey":"R4","Timestamp":"2021-06-09T16:21:45.3613343Z","testField@odata.type":"Edm.Int64","testField":"12345543221"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A07.3017257Z'\"","PartitionKey":"P4_node","RowKey":"R4","Timestamp":"2021-09-07T16:24:07.3017257Z","testField@odata.type":"Edm.Int64","testField":"12345543221"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.3613343Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A07.3017257Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef0d3-9002-001e-7c4b-5d5b52000000', + '00765408-e002-0038-3d04-a4c0e6000000', 'x-ms-client-request-id', - '0a7a3617-1e62-4e5a-87db-7c36ba5db762', + '24b7ba37-7533-44cf-8894-36e5d0ae9cb8', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef0d8-9002-001e-804b-5d5b52000000', + '00765424-e002-0038-5604-a4c0e6000000', 'x-ms-client-request-id', - '396db5b6-b76e-4146-8689-18fd1f93d9b1', + '4a76dac8-c7e2-4693-872e-fefae1a18888', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.js index c671351b805e..a5f1f9bf1f2e 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "298ceefc43a5fa4c41e465163b36cda2"; +module.exports.hash = "5611e1c8bfdf5f6393a291806dbfd658"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.0070821Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A06.6052303Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P2_node',RowKey='R1')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef043-9002-001e-034b-5d5b52000000', + '00765347-e002-0038-0d04-a4c0e6000000', 'x-ms-client-request-id', - '963d268d-f33f-4e85-8010-c0d6f0e01cfe', + '5b6adf6b-2028-4963-a583-997d6ee8a503', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P2_node',RowKey='R1')", 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P2_node',RowKey='R1')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A45.0070821Z'\"","PartitionKey":"P2_node","RowKey":"R1","Timestamp":"2021-06-09T16:21:45.0070821Z","testField":"testEntity"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A06.6052303Z'\"","PartitionKey":"P2_node","RowKey":"R1","Timestamp":"2021-09-07T16:24:06.6052303Z","testField":"testEntity"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.0070821Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A06.6052303Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef04e-9002-001e-0d4b-5d5b52000000', + '0076535b-e002-0038-1e04-a4c0e6000000', 'x-ms-client-request-id', - '89702c7e-35b8-4087-b97d-a3e231e13475', + '8d38a3e3-ccf3-40ae-9239-327e14eae32d', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef058-9002-001e-164b-5d5b52000000', + '0076536c-e002-0038-2f04-a4c0e6000000', 'x-ms-client-request-id', - '6d800a65-ca03-47cd-bc2f-51239bacb18c', + 'e2c62bf3-7878-4f0b-a687-78c712de63fd', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.js index d48925f24709..8febda388180 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "b49793bd1dd08ef55a2ddc4aa2808065"; +module.exports.hash = "fa95dcd9caf5c77aa6d43d9b90915678"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.9247347Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A08.278422Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P8_node',RowKey='R8')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef163-9002-001e-7a4b-5d5b52000000', + '007654ee-e002-0038-1004-a4c0e6000000', 'x-ms-client-request-id', - '8c6f990a-2583-4f7e-92ca-9fce0aa6c8bb', + 'ff7e986b-0c2f-49eb-8236-cbe5922b16e5', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P8_node',RowKey='R8')", 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:07 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P8_node',RowKey='R8')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A45.9247347Z'\"","PartitionKey":"P8_node","RowKey":"R8","Timestamp":"2021-06-09T16:21:45.9247347Z","integerNumber":3,"floatingPointNumber":3.14}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A08.278422Z'\"","PartitionKey":"P8_node","RowKey":"R8","Timestamp":"2021-09-07T16:24:08.278422Z","integerNumber":3,"floatingPointNumber":3.14}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-09T16%3A21%3A45.9247347Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A08.278422Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef16a-9002-001e-804b-5d5b52000000', + '007654f9-e002-0038-1b04-a4c0e6000000', 'x-ms-client-request-id', - '597a4c5a-ed3d-4292-8c07-aa0824288419', + 'c31a5ecd-3766-436a-a9f6-4a3be1a769fc', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:08 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef174-9002-001e-084b-5d5b52000000', + '00765506-e002-0038-2704-a4c0e6000000', 'x-ms-client-request-id', - 'bb47f302-b419-482d-b42b-d30b2716e6b0', + 'cf9aeaaa-16ac-47f2-ada3-cfa6b12e9611', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:45 GMT' + 'Tue, 07 Sep 2021 16:24:08 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.js index 6a28e8a74a56..7af634a09860 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.js @@ -1,11 +1,11 @@ let nock = require('nock'); -module.exports.hash = "c41cb05d53f4e5bc9937bb8c5efb5ae6"; +module.exports.hash = "d4f6972bb994b640bcae8d0352293f32"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) - .post('/tableClientTestSASConnectionStringnode', {"PartitionKey":"P8_node","RowKey":"R8","integerNumber":3,"floatingPointNumber":3.14}) + .post('/tableClientTestSASConnectionStringnode', {"PartitionKey":"P8_node","RowKey":"R8","integerNumber":3,"floatingPointNumber":3.14,"booleanValue":true}) .query(true) .reply(204, "", [ 'Cache-Control', @@ -13,15 +13,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-08-03T22%3A50%3A12.3279187Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A08.5035818Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P8_node',RowKey='R8')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5cd55e24-b002-0124-1cb9-885ea4000000', + '00765514-e002-0038-3404-a4c0e6000000', 'x-ms-client-request-id', - '20c74c18-1240-4b36-9743-8114752d68ef', + 'fcc40288-ccff-4a07-8c70-c31488d9ec6b', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -31,13 +31,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestSASConnectionStringnode(PartitionKey='P8_node',RowKey='R8')", 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT' + 'Tue, 07 Sep 2021 16:24:08 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestSASConnectionStringnode(PartitionKey='P8_node',RowKey='R8')`) .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-08-03T22%3A50%3A12.3279187Z'\"","PartitionKey":"P8_node","RowKey":"R8","Timestamp":"2021-08-03T22:50:12.3279187Z","integerNumber":3,"floatingPointNumber":3.14}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A08.5035818Z'\"","PartitionKey":"P8_node","RowKey":"R8","Timestamp":"2021-09-07T16:24:08.5035818Z","integerNumber":3,"floatingPointNumber":3.14,"booleanValue":true}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,13 +45,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-08-03T22%3A50%3A12.3279187Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A08.5035818Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5cd55e31-b002-0124-28b9-885ea4000000', + '0076551d-e002-0038-3d04-a4c0e6000000', 'x-ms-client-request-id', - '8fc8118a-284e-4d5d-af82-6971719a2120', + '741cfa4f-c07c-4953-afbf-d7c779940c45', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -61,7 +61,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT' + 'Tue, 07 Sep 2021 16:24:08 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -75,13 +75,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5cd55e3b-b002-0124-32b9-885ea4000000', + '00765526-e002-0038-4604-a4c0e6000000', 'x-ms-client-request-id', - 'a585fd59-0a23-4969-8dc3-938f281200de', + '0719352a-732a-44ad-9bea-93f1350535a6', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT' + 'Tue, 07 Sep 2021 16:24:08 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_all.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_all.js index c304b692ea67..4e9064b5e8b1 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_all.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_all.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "b9e319e034f6ed35a190c49bc59ccc0b"; +module.exports.hash = "322d467b8d45b1d35853c220ed663b12"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.7611971Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-06-09T16:21:43.7611971Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.8092308Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-06-09T16:21:43.8092308Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.199509Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-06-09T16:21:44.199509Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.2325316Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-06-09T16:21:44.2325316Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.2815665Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-06-09T16:21:44.2815665Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.3536177Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-06-09T16:21:44.3536177Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.3886426Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-06-09T16:21:44.3886426Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.42667Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-06-09T16:21:44.42667Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.4576921Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-06-09T16:21:44.4576921Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5097291Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-06-09T16:21:44.5097291Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5417514Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-06-09T16:21:44.5417514Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5717723Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-06-09T16:21:44.5717723Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.8682736Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-06-09T16:21:43.8682736Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.9213113Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-06-09T16:21:43.9213113Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.964341Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-06-09T16:21:43.964341Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.9973645Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-06-09T16:21:43.9973645Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.0504022Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-06-09T16:21:44.0504022Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.0844268Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-06-09T16:21:44.0844268Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.1184506Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-06-09T16:21:44.1184506Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.1644837Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-06-09T16:21:44.1644837Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.6981519Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-06-09T16:21:43.6981519Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.1614904Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-09-07T16:24:04.1614904Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.2385453Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-09-07T16:24:04.2385453Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.9120248Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-09-07T16:24:04.9120248Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.9890796Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-09-07T16:24:04.9890796Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.0751409Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-09-07T16:24:05.0751409Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.1471918Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-09-07T16:24:05.1471918Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.2212449Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-09-07T16:24:05.2212449Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.3013019Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-09-07T16:24:05.3013019Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.3743539Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-09-07T16:24:05.3743539Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.4494078Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-09-07T16:24:05.4494078Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.5224598Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-09-07T16:24:05.5224598Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.59351Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-09-07T16:24:05.59351Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.3115973Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-09-07T16:24:04.3115973Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.4016614Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-09-07T16:24:04.4016614Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.479717Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-09-07T16:24:04.479717Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.5487662Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-09-07T16:24:04.5487662Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.6308241Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-09-07T16:24:04.6308241Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.7008744Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-09-07T16:24:04.7008744Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.7729253Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-09-07T16:24:04.7729253Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.8419745Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-09-07T16:24:04.8419745Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A03.9823625Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-09-07T16:24:03.9823625Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,9 +17,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654eef94-9002-001e-694b-5d5b52000000', + '007652a7-e002-0038-7504-a4c0e6000000', 'x-ms-client-request-id', - '097c10b3-5ece-4c17-9647-0d9156b17de3', + '1e70dc6c-e793-4b04-9638-3eac31950a5a', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -29,5 +29,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:05 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_binary_with_filter.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_binary_with_filter.js index e31e37741f57..fa48a8eacfd1 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_binary_with_filter.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_binary_with_filter.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "6566803ab2a3896ab65260ddd4fbe15e"; +module.exports.hash = "0b8688e3662d6b682cad3000dc0e7d0b"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.6981519Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-06-09T16:21:43.6981519Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A03.9823625Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-09-07T16:24:03.9823625Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,9 +17,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef036-9002-001e-774b-5d5b52000000', + '00765336-e002-0038-7d04-a4c0e6000000', 'x-ms-client-request-id', - '01291daa-4928-46d8-a907-25cc1c4c0112', + 'e72fd0d6-b2e0-4deb-9100-59f1063c9966', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -29,5 +29,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:06 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_by_page.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_by_page.js index 980755329694..b7a035279a54 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_by_page.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_by_page.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "8015382b08291614e39816ac197cc8df"; +module.exports.hash = "e1e4db7e2b3b1ead247a97667a30445f"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.7611971Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-06-09T16:21:43.7611971Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.8092308Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-06-09T16:21:43.8092308Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.199509Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-06-09T16:21:44.199509Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.2325316Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-06-09T16:21:44.2325316Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.2815665Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-06-09T16:21:44.2815665Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.1614904Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-09-07T16:24:04.1614904Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.2385453Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-09-07T16:24:04.2385453Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.9120248Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-09-07T16:24:04.9120248Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.9890796Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-09-07T16:24:04.9890796Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.0751409Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-09-07T16:24:05.0751409Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,9 +17,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654eefb1-9002-001e-044b-5d5b52000000', + '007652bc-e002-0038-0904-a4c0e6000000', 'x-ms-client-request-id', - '3d9da73d-8203-46e8-a2ee-a58b72ece7f3', + '285047ad-f773-497f-b0c7-7d530fd754ab', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -33,13 +33,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:05 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.3536177Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-06-09T16:21:44.3536177Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.3886426Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-06-09T16:21:44.3886426Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.42667Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-06-09T16:21:44.42667Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.4576921Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-06-09T16:21:44.4576921Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5097291Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-06-09T16:21:44.5097291Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.1471918Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-09-07T16:24:05.1471918Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.2212449Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-09-07T16:24:05.2212449Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.3013019Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-09-07T16:24:05.3013019Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.3743539Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-09-07T16:24:05.3743539Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.4494078Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-09-07T16:24:05.4494078Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -49,9 +49,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654eefc5-9002-001e-144b-5d5b52000000', + '007652cf-e002-0038-1c04-a4c0e6000000', 'x-ms-client-request-id', - '5faf3c1f-ab32-4362-ba03-6440a907d380', + '7b7583b8-a575-458f-9a2f-ce4a0d2f68a3', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -65,13 +65,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:05 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5417514Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-06-09T16:21:44.5417514Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5717723Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-06-09T16:21:44.5717723Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.8682736Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-06-09T16:21:43.8682736Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.9213113Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-06-09T16:21:43.9213113Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.964341Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-06-09T16:21:43.964341Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.5224598Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-09-07T16:24:05.5224598Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.59351Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-09-07T16:24:05.59351Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.3115973Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-09-07T16:24:04.3115973Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.4016614Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-09-07T16:24:04.4016614Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.479717Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-09-07T16:24:04.479717Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -81,9 +81,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654eefd0-9002-001e-1f4b-5d5b52000000', + '007652d7-e002-0038-2404-a4c0e6000000', 'x-ms-client-request-id', - 'd96a6e1f-470a-44e3-ac8e-8f09d8fb3989', + '40105a9f-97e6-4026-80b3-b55ce49e6ebf', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -97,13 +97,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:05 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.9973645Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-06-09T16:21:43.9973645Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.0504022Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-06-09T16:21:44.0504022Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.0844268Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-06-09T16:21:44.0844268Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.1184506Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-06-09T16:21:44.1184506Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.1644837Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-06-09T16:21:44.1644837Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.5487662Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-09-07T16:24:04.5487662Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.6308241Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-09-07T16:24:04.6308241Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.7008744Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-09-07T16:24:04.7008744Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.7729253Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-09-07T16:24:04.7729253Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.8419745Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-09-07T16:24:04.8419745Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -113,9 +113,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654eefdf-9002-001e-2d4b-5d5b52000000', + '007652e4-e002-0038-3004-a4c0e6000000', 'x-ms-client-request-id', - '5e84d187-fc14-44f4-a38a-15fa4665203b', + '2c92e9eb-e830-4a08-a88b-f29bc1ef7381', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -129,13 +129,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:05 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.6981519Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-06-09T16:21:43.6981519Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A03.9823625Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-09-07T16:24:03.9823625Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -145,9 +145,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654eefeb-9002-001e-364b-5d5b52000000', + '007652f1-e002-0038-3d04-a4c0e6000000', 'x-ms-client-request-id', - 'c9e5b4fe-34d5-4e35-951e-651b5cae7cc4', + '2151e4c2-7b76-48ed-8b70-34d7cacc3dc3', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -157,5 +157,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:05 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_with_filter.js b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_with_filter.js index d2bc073d6682..20d0ffca2206 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_with_filter.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_sasconnectionstring_listentities/recording_should_list_with_filter.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "e8e5ae253ad116417c99b446f8d12b7d"; +module.exports.hash = "f5ed124a4d96fcaafa13bf1086da293e"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestSASConnectionStringnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.7611971Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-06-09T16:21:43.7611971Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.8092308Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-06-09T16:21:43.8092308Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.199509Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-06-09T16:21:44.199509Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.2325316Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-06-09T16:21:44.2325316Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.2815665Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-06-09T16:21:44.2815665Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.3536177Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-06-09T16:21:44.3536177Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.3886426Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-06-09T16:21:44.3886426Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.42667Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-06-09T16:21:44.42667Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.4576921Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-06-09T16:21:44.4576921Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5097291Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-06-09T16:21:44.5097291Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5417514Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-06-09T16:21:44.5417514Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.5717723Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-06-09T16:21:44.5717723Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.8682736Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-06-09T16:21:43.8682736Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.9213113Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-06-09T16:21:43.9213113Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.964341Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-06-09T16:21:43.964341Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A43.9973645Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-06-09T16:21:43.9973645Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.0504022Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-06-09T16:21:44.0504022Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.0844268Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-06-09T16:21:44.0844268Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.1184506Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-06-09T16:21:44.1184506Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-09T16%3A21%3A44.1644837Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-06-09T16:21:44.1644837Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestSASConnectionStringnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.1614904Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-09-07T16:24:04.1614904Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.2385453Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-09-07T16:24:04.2385453Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.9120248Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-09-07T16:24:04.9120248Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.9890796Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-09-07T16:24:04.9890796Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.0751409Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-09-07T16:24:05.0751409Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.1471918Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-09-07T16:24:05.1471918Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.2212449Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-09-07T16:24:05.2212449Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.3013019Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-09-07T16:24:05.3013019Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.3743539Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-09-07T16:24:05.3743539Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.4494078Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-09-07T16:24:05.4494078Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.5224598Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-09-07T16:24:05.5224598Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A05.59351Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-09-07T16:24:05.59351Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.3115973Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-09-07T16:24:04.3115973Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.4016614Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-09-07T16:24:04.4016614Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.479717Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-09-07T16:24:04.479717Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.5487662Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-09-07T16:24:04.5487662Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.6308241Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-09-07T16:24:04.6308241Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.7008744Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-09-07T16:24:04.7008744Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.7729253Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-09-07T16:24:04.7729253Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A04.8419745Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-09-07T16:24:04.8419745Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,9 +17,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef000-9002-001e-484b-5d5b52000000', + '0076530a-e002-0038-5404-a4c0e6000000', 'x-ms-client-request-id', - '6a14a458-68fb-4ce4-99e3-1dd883325783', + 'b171b14f-e5f7-4048-9879-782a64465ca2', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -29,5 +29,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:44 GMT' + 'Tue, 07 Sep 2021 16:24:05 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_boolean.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_boolean.js index a92e14c780a9..a7d47d47c528 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_boolean.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_boolean.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'e9d7084a-d9d9-4875-a39f-b7eb92c6eb00', + '698c573d-caca-4ffb-a390-3c5539652501', 'x-ms-ests-server', - '2.1.11829.4 - SCUS ProdSlices', + '2.1.12011.8 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AuPqXckqIjhOpZ-r-3axCmo; expires=Thu, 07-Oct-2021 16:24:01 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrQ1NEZfeWSzUWIf1UGmBb6xEpL-gTTrnQKy0rXpAJzZYi4niMlGgG59YnrR2sV0E22uG1Ys1qCl-dsHfyZX4EMksOWVweA-9-dDvdXy-SdmOtdU5oqB8hDdk_FYFUlC0z97lDLin4kNOyoFaEBAogoCkBZMEJciJqGQplnGGkO58gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrnKlyatbRhhkUC_zYKjiu24G6ma-k44xCd-YFpr9gRJVQtPBvWsGMpyj3PhgRrrzQZr3lNK-rFh9__e1sKbkvmq_6OiQS3wn1nwzun-ER0C_ixGPWpTP9BZhfT4w6t9Gi31mjYm7IOSR7zYzX9WksCI931NHycE6gy2Csz-ZCvKQgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT', + 'Tue, 07 Sep 2021 16:24:00 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '44b0c367-333b-40ac-9544-a604b5670900', + '55d1c179-c7a6-4f1d-9f79-5f9237e2e100', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AoAPvyoRxVNDnK8Ur8XGEf0; expires=Thu, 07-Oct-2021 16:24:01 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrAIlaFWvucn06OPvM9ZaA1_f7w037dvVe5PW506Y0u6mfswzxIp2_8jdfmv5rwtbFa0Cqw0HVIgC5J37Kurc91Apm39lS77hm1-gNsXDiA-R_VQV4sWPqRl7Mr5avdBV-SuX7g0Is6h-hlBkhlgmv7_W5lhrFHT1lCvVMsdKCBL8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrVCvrUsHIAvoNbFWhgRAKf6wqoAjBmKIhMJdTYqOLR_EE4jwCjnToqAfxcCT-mclr5b6kc0z8NJsxqasZrmaU3NDUqtHe0VfBNjj9I8yduA4wuJpnqJMH2QJpN2W4XzCfwoEPsJ70-qU2XBELPXvfoRkgHGsQEqlEp5LUou1q2uogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT', + 'Tue, 07 Sep 2021 16:24:01 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=58fbbb2b-44ca-431b-8906-0ef6cb541b89&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=a992a091-fac9-4205-affb-54b37ab9bf10&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'ff744711-21ed-41d2-b72f-920cb0bb0f00', + 'c3900f77-94db-440f-a455-102c78b7da00', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AlCYwnE_bUdOoAK07sVSlUg; expires=Thu, 07-Oct-2021 16:24:01 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT', + 'Tue, 07 Sep 2021 16:24:01 GMT', 'Content-Length', '1318' ]); @@ -118,15 +118,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A39.0804247Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A01.874862Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P6_node',RowKey='R6')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fb13-1002-0129-52a5-64b1a8000000', + '0076503c-e002-0038-5704-a4c0e6000000', 'x-ms-client-request-id', - '598d7a92-78b7-4f32-8538-bfaeed442a87', + '985219e6-7cda-4366-8938-22587e1a8d59', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P6_node',RowKey='R6')", 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT' + 'Tue, 07 Sep 2021 16:24:01 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P6_node',RowKey='R6')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A39.0804247Z'\"","PartitionKey":"P6_node","RowKey":"R6","Timestamp":"2021-06-19T00:55:39.0804247Z","testField":true}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A01.874862Z'\"","PartitionKey":"P6_node","RowKey":"R6","Timestamp":"2021-09-07T16:24:01.874862Z","testField":true}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A39.0804247Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A01.874862Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fb2a-1002-0129-68a5-64b1a8000000', + '0076504d-e002-0038-6704-a4c0e6000000', 'x-ms-client-request-id', - 'bf93f713-3d4b-4c41-8fac-a4eeae485e50', + 'aaaa0531-0301-49b3-b36f-a58f6f89953b', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT' + 'Tue, 07 Sep 2021 16:24:01 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fb3e-1002-0129-7ba5-64b1a8000000', + '0076505a-e002-0038-7404-a4c0e6000000', 'x-ms-client-request-id', - '3f164cfe-6a1c-4be6-b9bf-79db20a39fde', + 'f755663c-4c34-45c7-8b27-3ba55dc652e7', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT' + 'Tue, 07 Sep 2021 16:24:01 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_date.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_date.js index 967c4368227c..fefa40477a7a 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_date.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_date.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'd0fec8af-1629-48d9-b48f-bda980a7d500', + '5e156e4e-47fe-45c0-bb71-764be893c700', 'x-ms-ests-server', - '2.1.11829.4 - SCUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:36 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AuPVu_VR4CtPowrrZu6JhjQ; expires=Thu, 07-Oct-2021 16:23:59 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrjua_SgLG0sUwlEiOmfpUhns4e93QIzNj5ogCYVY1QquiE-7HHYCPUVlpOikBdLxBV0MC7R0aNYqSWZt2BEHWsdS71WU8IJNulMe0HwRSlulKbtopDETo4EFuPctkk_8IaMfwnuPv2wZQfQcPAM4EwcwEAE1FI0eH1q50wNJtHF0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrXERjgd0eG9bRAzI4vRWc--OjwnauFa6x6v5urxh47weruIF06J41d28ghwek9EBnTQHcpd3L5uvE0Z7x-w-Z69tMxKd7n7HQh8LvcNFPrWRVjE7xVAY9iA2LVjT3PTmKV3lr7jQzknJ_ackyUqFaIj-62Sb1G2nsfMFDgZmF2YwgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT', + 'Tue, 07 Sep 2021 16:23:58 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '31d461b1-56a4-4911-99ad-6cc07b580400', + 'c3900f77-94db-440f-a455-102cf5b6da00', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:36 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AqkNj7fVRjhFt2z8z7skhzU; expires=Thu, 07-Oct-2021 16:23:59 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrtTtCQ2o2zOBBUFQSJsq64K06YaQrVruaZS4dEcG3seKc2ii_5mO1yzViRlMCCkwlo-V-B2VdPXoX_Mc0v60JWQ2ZQz3CbIsx17CX_bkAiDZjlltApY9rhmCi6ndSyRtRUpvpcYXKAmI1_MTZ9Lh77jtmep5LZNrTxJiD4VpJc7EgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrBkU4surjkOuZC5d8d_HzWAnh8cxfH1_fb5bUM3WxdAG5HqS8Ku02i22zwIkL7wWQpXt9sDvYCb5JSs_bS-I1OavnrmFwtGP1usaSUms7uPjSpsQ1nyd_MhKVqGF9lrNS7ugkJaBaFn2a8Rdapv62mnRX5uZU3cOeVcE9oSWj2NYgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT', + 'Tue, 07 Sep 2021 16:23:58 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=35af48ee-ce47-49b6-a4ae-efb038e0ce37&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=fbe8a999-10a7-48d4-8d4d-ea5f9d423fd2&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '5b76ab08-ca3a-412b-b1bd-cc76c5441100', + 'ac8c2044-968d-41cb-beb9-7da6eaa2fa00', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:37 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ArrFN_kEAHZFk-ai8bP5Jdg; expires=Thu, 07-Oct-2021 16:23:59 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT', + 'Tue, 07 Sep 2021 16:23:58 GMT', 'Content-Length', '1318' ]); @@ -118,15 +118,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A37.1830625Z'"`, + `W/"datetime'2021-09-07T16%3A23%3A59.4831532Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P2_node',RowKey='R2')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f8af-1002-0129-0ea5-64b1a8000000', + '00764ebc-e002-0038-0504-a4c0e6000000', 'x-ms-client-request-id', - '92e9a7b7-7dc0-4076-b4f2-7f9bf505e29d', + 'cf4d8d54-3527-41cc-b644-8ef4b27609fb', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P2_node',RowKey='R2')", 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:23:59 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P2_node',RowKey='R2')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A37.1830625Z'\"","PartitionKey":"P2_node","RowKey":"R2","Timestamp":"2021-06-19T00:55:37.1830625Z","testField@odata.type":"Edm.DateTime","testField":"2020-09-17T00:00:00.111Z"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A59.4831532Z'\"","PartitionKey":"P2_node","RowKey":"R2","Timestamp":"2021-09-07T16:23:59.4831532Z","testField@odata.type":"Edm.DateTime","testField":"2020-09-17T00:00:00.111Z"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A37.1830625Z'"`, + `W/"datetime'2021-09-07T16%3A23%3A59.4831532Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f8bf-1002-0129-1da5-64b1a8000000', + '00764ec6-e002-0038-0e04-a4c0e6000000', 'x-ms-client-request-id', - 'c8ba1f73-d0cf-4ce8-b1aa-eb5243863c82', + '4f8bab4c-ba2e-4ee5-9fc2-46e1c4a85066', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:23:59 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f8cc-1002-0129-2aa5-64b1a8000000', + '00764ece-e002-0038-1504-a4c0e6000000', 'x-ms-client-request-id', - '56b8d97c-5768-4408-b6d1-0e4c16c0f2af', + '827b2ad5-ab9e-4385-a3af-6954f488ba16', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:23:59 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_datetime.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_datetime.js index 444d9684d6c5..73c7992044b1 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_datetime.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_datetime.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '88888bb1-83a1-4a04-90a4-fc91051f0600', + '1364bffa-e8ee-4eb5-ba67-71c5cf6f1301', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:39 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnW-cPAcZqpKlh2_nzgxr6E; expires=Thu, 07-Oct-2021 16:24:02 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr0YYZFX60cgMktNttNHDVQN7oqz-hRNHaHm4jb18Z6hm5dt1861X4sZPZ160FlBNxyPWXvFuI_LYseaRksWZLNucbWTJFWrV8LGlZlKYIOrb3XTVPn3gLY2t6X0WSxZpwCeFJ_Z1dDLMPStjD5tuT5uMp5oOfT3hhYYFliAAH1BIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrjgrh7EjLvJGQZo1TyBJHDy7Yz8vqlYNnl1uja0oy7Teve3_keeoMAWWsDp4GJwtAdQUxNuSP3K2FgzgAwHXU3FyvvJ34i56jDq51U0zjPPdrl2BZWJ8LHisaom_-YzqYdFGMC2Mvjvp2azpWn1B5YMNpJlTIGlatRS4Rv7vuxbAgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT', + 'Tue, 07 Sep 2021 16:24:01 GMT', 'Content-Length', '980' ]); @@ -58,32 +58,30 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '63adac0c-4d93-4567-a4a3-315276470400', + 'cf8bdb5c-193b-458c-942a-2d43092bd200', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:39 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ApJpaxuN0-VJgiHfHz6jUwU; expires=Thu, 07-Oct-2021 16:24:02 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr5ntINOze3Gw33af7eB_vlDwvDTup4UHtIzORTNFuHzkl6zK0NJRPMiE7wy2hvE-XEZkR1DL_GeBV3IwKoJblymjd-wCpi7ScjWgDFDIDcYYg5N9sad_EbDWNPaOUxaACH_WYAhRucgntlOEkycYwRDcwqb77HKskpOo_n71HEG4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr31Zl0NF3Cdzfuj-bNj3SDVJ0hQhvcUm3Oe_TaW_azTPOYoEfFC_lZR-Jc8pMZjbz1VkAl_BoPIFvEtUA9GY6Rn9GuTtknOpn5Dk9XVjMIEs6MYCvYEpAU5MOhqNGUKRPJcQhY8Hp58tgFNCj2rxsQ8o3WfmVoEQRC9CHs6vYyekgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT', + 'Tue, 07 Sep 2021 16:24:01 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=92776bb8-de46-4306-98bf-69dc35d849bf&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=b42b1612-44db-407d-8013-8399ec6e1846&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '1318', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -95,19 +93,21 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '9e4c6b85-fab3-491f-b32f-8cbcd4a21000', + '30fc36de-5362-4435-8a48-495138bec900', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:39 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AmoCk5J5KrpPso76ZJmbByQ; expires=Thu, 07-Oct-2021 16:24:02 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT' + 'Tue, 07 Sep 2021 16:24:01 GMT', + 'Content-Length', + '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -118,15 +118,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A39.5667739Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A02.4382635Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P7_node',RowKey='R7')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fbb0-1002-0129-6ba5-64b1a8000000', + '007650a6-e002-0038-3104-a4c0e6000000', 'x-ms-client-request-id', - '38083eba-7c52-4b59-871b-072366c9df44', + '1f4b6a3e-1f1f-4e93-a08c-3aed566c5868', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P7_node',RowKey='R7')", 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT' + 'Tue, 07 Sep 2021 16:24:02 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P7_node',RowKey='R7')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A39.5667739Z'\"","PartitionKey":"P7_node","RowKey":"R7","Timestamp":"2021-06-19T00:55:39.5667739Z","testField@odata.type":"Edm.DateTime","testField":"2020-09-17T00:00:00.99999Z"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A02.4382635Z'\"","PartitionKey":"P7_node","RowKey":"R7","Timestamp":"2021-09-07T16:24:02.4382635Z","testField@odata.type":"Edm.DateTime","testField":"2020-09-17T00:00:00.99999Z"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A39.5667739Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A02.4382635Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fbc3-1002-0129-7ea5-64b1a8000000', + '007650b2-e002-0038-3c04-a4c0e6000000', 'x-ms-client-request-id', - '3b649968-254d-407a-81cc-33d53761f6f7', + '9d7f0dfb-e75a-457e-a303-2ad3c3ebf79d', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT' + 'Tue, 07 Sep 2021 16:24:02 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fbcd-1002-0129-07a5-64b1a8000000', + '007650c0-e002-0038-4904-a4c0e6000000', 'x-ms-client-request-id', - '375c1ff7-d007-43b0-beb6-54968dd29474', + '5930e2b4-1033-42bb-9223-1e405b3ddef7', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT' + 'Tue, 07 Sep 2021 16:24:02 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_guid.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_guid.js index c9bdd5c3fabb..cafd1be03f82 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_guid.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_guid.js @@ -10,6 +10,8 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ 'Cache-Control', 'max-age=86400, private', + 'Content-Length', + '980', 'Content-Type', 'application/json; charset=utf-8', 'Strict-Transport-Security', @@ -23,21 +25,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '4439626b-da80-4cd3-be6b-c026725e4000', + 'eb62f591-9630-4597-bfce-f5761874d700', 'x-ms-ests-server', - '2.1.11829.4 - SCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:37 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AkMG2PbGwzpCofZ81mpnOLo; expires=Thu, 07-Oct-2021 16:23:59 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrvb27eed2HHH4_WexU2T7BPQxU58v2RNAvtiL3RkUFlDE39WRew9qN8irS6dpqJ_-ErVj9yOP27il3Dcdl43IeGyC9ewRNIsXlABVTPfluHGvRt0xP_1nm7aQAUYUtICaZ27GG5gSo4RPH2_QOsijgFO6oCUPte-9jg5Gv8wmlH8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrGSP-5wPz0Ps2z1ST30CQ9aVJUtdHFJvT1iNswGwD0v9rBDNA2r8eg_qS8TOlsIn8JccP716el-vNwiX5RNFTPzcqzHecMUJ3ToRXk7qT45pvXC6A5FXDU2HQ5xqzB1DgcTFJ3urNaaN7rtdnQPsj6PYwsYivVgwXV-uBotSp0VUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT', - 'Content-Length', - '980' + 'Tue, 07 Sep 2021 16:23:59 GMT' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) @@ -58,32 +58,30 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'bc1df750-7440-44f9-92ca-cb4f57510600', + '91e18ed7-d887-454d-8cd9-5357641af500', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:37 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AutmKQooFLdKjXmMrBY4_Ps; expires=Thu, 07-Oct-2021 16:23:59 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrL6jgsMplReh7Usi-wYsUojqLnrV9jJoD3AyeRNc9Yout_Iue8G_P4YtbRHBIN_2j26B4Q4nG_n2aKGnkeRnZk1vFYYKnxHsoOX82wZg8qlzysIqBTuncGeanPhSarWAcU6U1iODmLHUZFzNJRyPlByt-tCFxoqZ4J3v_y2c8DoogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrwKqYP3jtdKB9kHMPuMUVXAPcfm72mRZFbOuc96T3nX_xc2afzxr38OBVckan2uYvsdOdvNoDJyfRADilCEyXWB5oU9mh0FCKmn0qsClqkmo03YidT67c9GTXbFC15_-f3RvX73cQC8ZnRDdJOt3Di62FMO6T8AtXyQKBk86GW1IgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT', + 'Tue, 07 Sep 2021 16:23:59 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=97b75d8f-57e7-47fd-aabe-2b510f8301b5&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=78e653d1-b73f-4bbc-9e60-cbab8114d0a2&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '1318', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -95,19 +93,21 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'b50a8c45-56e2-453b-9c5c-02e841340400', + '1e835f92-f254-434b-b330-e2190718d200', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:37 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AuteuzwckaxHlQVYyGcuv6o; expires=Thu, 07-Oct-2021 16:23:59 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:23:59 GMT', + 'Content-Length', + '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -118,15 +118,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A37.6153729Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A00.0655683Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P3_node',RowKey='R3')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f930-1002-0129-0aa5-64b1a8000000', + '00764f12-e002-0038-5004-a4c0e6000000', 'x-ms-client-request-id', - '5bfb527d-d3e9-416d-a350-56ef681eba3a', + '8a3da7a5-59b5-4c38-b43a-9506cada2d72', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P3_node',RowKey='R3')", 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:23:59 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P3_node',RowKey='R3')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A37.6153729Z'\"","PartitionKey":"P3_node","RowKey":"R3","Timestamp":"2021-06-19T00:55:37.6153729Z","testField@odata.type":"Edm.Guid","testField":"cf8ef051-1b7d-4e93-a1e5-a3944d7e441c"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A00.0655683Z'\"","PartitionKey":"P3_node","RowKey":"R3","Timestamp":"2021-09-07T16:24:00.0655683Z","testField@odata.type":"Edm.Guid","testField":"cf8ef051-1b7d-4e93-a1e5-a3944d7e441c"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A37.6153729Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A00.0655683Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f93e-1002-0129-18a5-64b1a8000000', + '00764f19-e002-0038-5704-a4c0e6000000', 'x-ms-client-request-id', - 'd613cec9-90c8-4c55-9f84-da030ce3567f', + 'aec9ac0b-e5dc-43bd-812f-5a0b909883b6', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:23:59 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f94e-1002-0129-27a5-64b1a8000000', + '00764f29-e002-0038-6704-a4c0e6000000', 'x-ms-client-request-id', - '0d1c7b4f-3ac0-4fd8-bedb-334b038d238e', + 'dc8728fd-3897-4ec6-8486-486a54f8b925', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:23:59 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int32.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int32.js index 9246ce4283dc..e08092246ddf 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int32.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int32.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'e3483083-c0db-4cdd-a90c-4e6ae2348700', + '516b177f-e944-4410-962f-9f933355f600', 'x-ms-ests-server', - '2.1.11829.4 - WUS2 ProdSlices', + '2.1.12011.8 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AkgJhVzZayhDqQHWjKwiBeo; expires=Thu, 07-Oct-2021 16:24:00 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrQD0iOVr5g8oPsJClmR59XvGNtS83SctzMcirmFc23O2Tn_1yNiz1sYZSQrdq_SQ5zGD4iuDFqkoxMVxxSoinWBzwiseQy0JhU9dJQTI_L6HHmtyJY_rQfZJKezoP80Gi3W-ZIKZp8et1g1Dq7xKSjcb-vh3vdvJqZXX8w3ZCc3wgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrDqqC2CiqnLuzLepFCdF-jhJR0DQt10IT0Sy6s3TI0QbM81mznsqbGy0lKJlnl99TJNdTkAO0RtbXfcNHamd1YL4rNsJd9kwcvZzNQgwWSj8vV8c71XYmNl3kMVddA8dbuWNnUUphjtI96RNBQg0839OsyWixuGfA2JZBqAS3848gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT', + 'Tue, 07 Sep 2021 16:24:00 GMT', 'Content-Length', '980' ]); @@ -45,8 +45,6 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .reply(200, {"token_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/kerberos","tenant_region_scope":"WW","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}, [ 'Cache-Control', 'max-age=86400, private', - 'Content-Length', - '1753', 'Content-Type', 'application/json; charset=utf-8', 'Strict-Transport-Security', @@ -60,23 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'c6230cd5-fda1-4d43-859b-8cbe14d91100', + '0b31d432-69b8-464d-bd7e-e891f8a10401', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=An0pyLP10R5Cl6a07urRIxU; expires=Thu, 07-Oct-2021 16:24:00 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrXeuCloJZWSCDrZqo8RaSrK6anZZr07rTaSFtMHbTPxLd5GM1RwoWy5pYkXLE-40xGcfRri1AUlOgh-u_p1nbu2bBYnszVYNtEA_sUyKYV6BEs8LpuDehSdp8xY_HLpzDRdKxEtvTZquhfs4gFpttso6-Zit5E7gtX_2e7-1ywk0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr8IzlEVYMKlh1Qphaag39rmn9iT4TL2j3VrRPIeg2t1EQcL6sRME_j5tU1yxo0klh_l81wPL0gRqz4I7DOwZYIbT0qeEMZhkSyjXSPzeIMzz9gnYl40NMXrqlEjW-0ioAj6AIVuDvj6Scn2XopM7GrasUxWf7d8pIRtLlSGd3qrYgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT' + 'Tue, 07 Sep 2021 16:24:00 GMT', + 'Content-Length', + '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=471f8ce6-73f9-4250-906b-3ffbe5b64bae&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=731b6f7d-43d3-4bb0-ba34-12ec75a2a3e1&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'ff744711-21ed-41d2-b72f-920ca3bb0f00', + '30fc36de-5362-4435-8a48-4951ebbdc900', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Apx_exiX3ehHl4PCyJVbvabJVDEwAQAAACCJydgOAAAA; expires=Thu, 07-Oct-2021 16:24:01 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT', + 'Tue, 07 Sep 2021 16:24:00 GMT', 'Content-Length', '1318' ]); @@ -118,15 +118,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A38.630101Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A01.2354048Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P5_node',RowKey='R5')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fa74-1002-0129-3aa5-64b1a8000000', + '00764fd1-e002-0038-7804-a4c0e6000000', 'x-ms-client-request-id', - '44aa8206-20ad-4410-b31d-b964e2f6ca15', + '12416397-e91d-4cd0-96fa-4472bf3cae48', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P5_node',RowKey='R5')", 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT' + 'Tue, 07 Sep 2021 16:24:00 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P5_node',RowKey='R5')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A38.630101Z'\"","PartitionKey":"P5_node","RowKey":"R5","Timestamp":"2021-06-19T00:55:38.630101Z","testField":123}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A01.2354048Z'\"","PartitionKey":"P5_node","RowKey":"R5","Timestamp":"2021-09-07T16:24:01.2354048Z","testField":123}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A38.630101Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A01.2354048Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fa84-1002-0129-49a5-64b1a8000000', + '00764fdf-e002-0038-0504-a4c0e6000000', 'x-ms-client-request-id', - '5e1f67bc-0134-4f5f-af84-db716f0c58cb', + '5cda8f65-922e-4723-8a23-b2b0cca440ca', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT' + 'Tue, 07 Sep 2021 16:24:01 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fa93-1002-0129-57a5-64b1a8000000', + '00764ff3-e002-0038-1604-a4c0e6000000', 'x-ms-client-request-id', - 'c83b03f4-8f31-47ab-8dc3-3d86af5dc584', + 'd7a97d2d-4560-4bda-adfc-5442a7892216', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT' + 'Tue, 07 Sep 2021 16:24:01 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int64.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int64.js index b2c2fffdba58..20a26d10e776 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int64.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_int64.js @@ -10,8 +10,6 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .reply(200, {"tenant_discovery_endpoint":"https://login.microsoftonline.com/88888888-8888-8888-8888-888888888888/v2.0/.well-known/openid-configuration","api-version":"1.1","metadata":[{"preferred_network":"login.microsoftonline.com","preferred_cache":"login.windows.net","aliases":["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{"preferred_network":"login.partner.microsoftonline.cn","preferred_cache":"login.partner.microsoftonline.cn","aliases":["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{"preferred_network":"login.microsoftonline.de","preferred_cache":"login.microsoftonline.de","aliases":["login.microsoftonline.de"]},{"preferred_network":"login.microsoftonline.us","preferred_cache":"login.microsoftonline.us","aliases":["login.microsoftonline.us","login.usgovcloudapi.net"]},{"preferred_network":"login-us.microsoftonline.com","preferred_cache":"login-us.microsoftonline.com","aliases":["login-us.microsoftonline.com"]}]}, [ 'Cache-Control', 'max-age=86400, private', - 'Content-Length', - '980', 'Content-Type', 'application/json; charset=utf-8', 'Strict-Transport-Security', @@ -25,19 +23,21 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '2a6d5727-88e6-4116-8e01-0c0823fe8800', + '80f9ca73-83d0-4b71-b654-5c1e17fb5c01', 'x-ms-ests-server', - '2.1.11829.4 - NCUS ProdSlices', + '2.1.12011.8 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:37 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AiIHySGMIe5Ls86jzO1TNYs; expires=Thu, 07-Oct-2021 16:24:00 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr7Gb53XBV1JIIzooJ00VapIimogdoRnhDH58NcT9M5DTQC0yXUIPJGC_ANy5i2kfVqoSrie5EDcjSVgtAau4S4rg6ndVazIBxNkk4XHEBocamGMiWBaGW5BnaMuv30pWw3sOT9aQFmyWAoyLen7VIoeLJMAK9vAtTZJx6BT967_UgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr5hsCsvCt0UUntQuwABtKrcRBQDY_XIL6a9jqwuWGxJ_3zEQ0kyhr2O_OCyIqLU1qcxbxaCz-rmPxwHa1PE9Yy3O65uYqtxuYblLJykCtVU70HeDH2Wjil2dAjm6LiJKQp4GYr-1Flo05--ZCYLd4t2aWEXIgbRJs6U5efBW1rlMgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:23:59 GMT', + 'Content-Length', + '980' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) @@ -58,30 +58,32 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '1e87a220-4533-49cd-a63b-b5793cd70500', + '036a77ca-154e-416a-8bbf-dc161966f400', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:37 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AkNBOwNBgsZPptiM7c3OboQ; expires=Thu, 07-Oct-2021 16:24:00 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr9nfNGvLSyU5qe9M0zhuoHU2juPDD5HwXvDsXV0nMoQ9tGAOUqepastkkLKPNmZOiobV_oi7fjH2Swlx-Ps28C8HLPUqJvwz3_Y7yuF4KeBpb4th0u8gGG1UM4yOpnSIMrP7cIFgzZtQuaCkafMa2trEZBUmivFszC2S7o2pB8JcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr3AnN14IyopgbegE_P0EiFJhkBcRJQfol9tPcy5FMt5zF7puLjKBXu-cxTuCwQcXXp5PeZ8D6MSHZ0dm6hbkCy2WRrC2KWt9rTo2f4PMk5SpA8V5gzwcKXAy-RyfkkHOEbbBB0QEviBET8mFCoaXU3u9XT3DE2DM_BDRWGYp23nwgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT', + 'Tue, 07 Sep 2021 16:23:59 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=e003c58e-c097-43dc-859d-9c50cbf94b9c&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=3fad50df-8061-4a97-a1e9-6ba9879c880e&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '1318', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -93,21 +95,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'c6230cd5-fda1-4d43-859b-8cbe00d91100', + '036a77ca-154e-416a-8bbf-dc162166f400', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:38 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AhHvCvPE_lxEg7T3XWYOjrI; expires=Thu, 07-Oct-2021 16:24:00 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT', - 'Content-Length', - '1318' + 'Tue, 07 Sep 2021 16:23:59 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -118,15 +118,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A38.1117284Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A00.5939439Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P4_node',RowKey='R4')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f9c4-1002-0129-12a5-64b1a8000000', + '00764f70-e002-0038-2704-a4c0e6000000', 'x-ms-client-request-id', - 'cecf4c27-fae6-4cbc-acc7-e99f67406a78', + '57828580-b5cc-4211-a5f3-1b5468a313f7', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P4_node',RowKey='R4')", 'Date', - 'Sat, 19 Jun 2021 00:55:37 GMT' + 'Tue, 07 Sep 2021 16:24:00 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P4_node',RowKey='R4')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A38.1117284Z'\"","PartitionKey":"P4_node","RowKey":"R4","Timestamp":"2021-06-19T00:55:38.1117284Z","testField@odata.type":"Edm.Int64","testField":"12345543221"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A00.5939439Z'\"","PartitionKey":"P4_node","RowKey":"R4","Timestamp":"2021-09-07T16:24:00.5939439Z","testField@odata.type":"Edm.Int64","testField":"12345543221"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A38.1117284Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A00.5939439Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f9cd-1002-0129-1ba5-64b1a8000000', + '00764f74-e002-0038-2a04-a4c0e6000000', 'x-ms-client-request-id', - 'cb63132a-7837-4280-9e00-e409370741c5', + '3214896b-c7a8-4a12-95bd-d124ab8c1994', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT' + 'Tue, 07 Sep 2021 16:24:00 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f9d1-1002-0129-1fa5-64b1a8000000', + '00764f7e-e002-0038-3404-a4c0e6000000', 'x-ms-client-request-id', - '2ce4b45d-08a8-4ce6-85c9-af9caa895462', + 'a27d4e6d-c1e2-46b5-ad1c-3e0e79eb28b7', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:38 GMT' + 'Tue, 07 Sep 2021 16:24:00 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.js index f37eb9b3c8d7..1472b29c7fa7 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_only_primitives.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'b5406530-9ca8-4d9c-a742-5312543c0800', + '705b57a4-e213-4769-a3e0-b5fab0652f01', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12011.8 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:36 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AusdX1CVM8BMtJ533q0KSbw; expires=Thu, 07-Oct-2021 16:23:58 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrWln6flulBxacG2R4fvx4h18PlfrsMArXkYA7RdjtK5CN8X4QVuo2g6CarXw64KE9ak7-h8la779EgknLUQc9HQPyWnoiM9AUyaH-OB44Z4ZE9Cprby1GeHiOVbeTPObLY2KwjjUgZpSV-g6miZKjVbqOZnn2cMRVk2PjVV12KbUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr1xvJSXXtN_diS7f39xpfNnyAWcnuCyNwLs2o3skzji5rxz0RFcUYfUUqbYsdRIl8lezNkPUh-BfAA38QPiGqYVxxmeFg2E33fd-ZRyap7Yh6CsxYqIqq7EmLRA7nPG5vlRsd6ARNLRCj8jtvPTmUjrvoPCzdsyfbpVsYFaSohywgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT', + 'Tue, 07 Sep 2021 16:23:57 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'bc1df750-7440-44f9-92ca-cb4f37510600', + '1e835f92-f254-434b-b330-e219ae17d200', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:36 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnmtFVDseE5PjwRWvVegzrI; expires=Thu, 07-Oct-2021 16:23:58 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr2okKimeeRaPbJPzDiG1z0ATj3sdB2riQ71hrLcmRsxkf0mrIznExTqiMmTW-UINlm9x9CNDlZWAPfIuPBOCD2eYOcJA12YJnAlCRNShT6ESLD2xh9XUDpOnfiOTwUEv8Wwl-oUYmMDSMjgunOURXo8WyCAzArTKdYRhR86CjY_IgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr24ca7efSNrfYKUV14P1ox36ZjBRmUjf7_ASByO6r5gzxdXXSnZL48C7sA8SuiBTbTjCGj6N2l5YEzi8ApJZa8KwBAgHqVVc6e4Txvt08yioEuGWxpZH0JKiBHKW5_gfJmvMlA27DvT3_HaoAdMmbmWgGYWx065rFplXIc9Ht-Z4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT', + 'Tue, 07 Sep 2021 16:23:58 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=712499ab-d7c5-4087-891f-faa5be2a95de&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=328971f3-0b28-4f02-9e05-ff2c2eb03da4&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '46621f17-9866-47c3-a5b1-868a0eb90900', + '55d1c179-c7a6-4f1d-9f79-5f92b6e1e100', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:36 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AiOuW-K8G4NBk-CIYW8YC_vJVDEwAQAAAB2JydgOAAAA; expires=Thu, 07-Oct-2021 16:23:58 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT', + 'Tue, 07 Sep 2021 16:23:58 GMT', 'Content-Length', '1318' ]); @@ -118,15 +118,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A36.7057194Z'"`, + `W/"datetime'2021-09-07T16%3A23%3A58.8827257Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P2_node',RowKey='R1')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f824-1002-0129-09a5-64b1a8000000', + '00764e59-e002-0038-2d04-a4c0e6000000', 'x-ms-client-request-id', - 'f1eb2b69-d4ab-4608-9ffc-dfc132b0b140', + '8051b570-6508-4c4f-8209-1d61f22963c9', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P2_node',RowKey='R1')", 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT' + 'Tue, 07 Sep 2021 16:23:58 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P2_node',RowKey='R1')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A36.7057194Z'\"","PartitionKey":"P2_node","RowKey":"R1","Timestamp":"2021-06-19T00:55:36.7057194Z","testField":"testEntity"}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A58.8827257Z'\"","PartitionKey":"P2_node","RowKey":"R1","Timestamp":"2021-09-07T16:23:58.8827257Z","testField":"testEntity"}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A36.7057194Z'"`, + `W/"datetime'2021-09-07T16%3A23%3A58.8827257Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f832-1002-0129-16a5-64b1a8000000', + '00764e67-e002-0038-3a04-a4c0e6000000', 'x-ms-client-request-id', - '70057e79-c0e6-4053-a117-f33fbe32d3da', + '8109a829-b981-4af9-b150-07c4404b64bc', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT' + 'Tue, 07 Sep 2021 16:23:58 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f83c-1002-0129-20a5-64b1a8000000', + '00764e79-e002-0038-4b04-a4c0e6000000', 'x-ms-client-request-id', - '9c9b5502-608a-461c-a4ee-0790d5c013d9', + '5d0a5567-c5c9-42d3-b65b-f836794b28ad', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT' + 'Tue, 07 Sep 2021 16:23:58 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.js index f69897dba423..29c03232d056 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'd0c55236-1229-473f-aab6-70803d3dd800', + 'b9be1e90-78c7-443f-98af-6ef4ea8b6d01', 'x-ms-ests-server', - '2.1.11829.4 - EUS ProdSlices', + '2.1.12011.8 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:39 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Au21UqAA9MxKjB6-FxsdnhU; expires=Thu, 07-Oct-2021 16:24:02 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrxm-6qU2Ju8uLi6s-fkf8a90YQuAc-I-pNt2SBpkxvB8W2jrAzcNBE2wegd6A9tuHvORRRRVb_VGCGVAkyiN9GBLDejyUL5bE6kw_0MYT_R9X4JjmqiwFFJFCeYO5BWLuRqaa4nOW7lvRDV1zV07EItKx8QcG9ZPKMCAmQnSX0rcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr-Ju6bNvyp-_qzw7nyid4F7OmQ7IdS_P5l0YODftQSMo7IzTEHv-ZjbG12ew3_3sQT_1hyY7j3CJwOQ7rMZcjAUzUquFv0ebVc4KWDroD0RIsV__zY0_YSX4JKjZvzqrpgJx-90dLVpKscKUbuTUKbhfnp36AIJK6xQHPyIOjSo0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT', + 'Tue, 07 Sep 2021 16:24:02 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'c6230cd5-fda1-4d43-859b-8cbe45d91100', + '1e835f92-f254-434b-b330-e219bc18d200', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:39 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnwzWGlRRfhPp3z9pvq_c74; expires=Thu, 07-Oct-2021 16:24:02 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr9354xxJvQ9B5ZzPszHEGw33IFyBWbAWF-sPpzykRqtZzd0v-Y2E49boYostkBd570KXv8Rthb8ASSfCBGbIvFF2uNhuDUz-zvxjUWH_DjHYixa9p-1plvzi7dDsmEw8GC_fWe2rQubMMwbqpu-jdoyl7WtemOPnU0e7ivWs7QW4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr5iUeWTd8sRQsSPy_72ptN6yhO18xywAZwZqFLcnrjXS8zbu83LDEeZudk7ffuYaOcthn1lyg7LvL6OcWiqi-24QWulHHajfAh7u5R4vI1yZV_NDA5Cm90Ew4pJVfEE2_NcXRKN8dfssOEWDlj-c62jeYrJvKhNCFwm1ToiO-bLcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT', + 'Tue, 07 Sep 2021 16:24:02 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=0c7915c6-b23c-4d66-a155-e8fd5653f4ab&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=4df368d9-9d9c-40fc-9f9b-ac90bfce322a&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '6fd8babd-1fb2-40ed-896b-f676515b0700', + 'cf8bdb5c-193b-458c-942a-2d432a2bd200', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:40 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Ah5CQZtDaqZDo5h6wO0jFkLJVDEwAQAAACKJydgOAAAA; expires=Thu, 07-Oct-2021 16:24:02 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT', + 'Tue, 07 Sep 2021 16:24:02 GMT', 'Content-Length', '1318' ]); @@ -118,15 +118,15 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Length', '0', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A40.0881478Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A03.0246806Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P8_node',RowKey='R8')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fc5c-1002-0129-0fa5-64b1a8000000', + '00765109-e002-0038-0a04-a4c0e6000000', 'x-ms-client-request-id', - '142ff500-4cee-4b32-8df5-754f6007e16b', + '7f2a73cb-f159-4ff1-a9f8-96f1fe2ced36', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P8_node',RowKey='R8')", 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT' + 'Tue, 07 Sep 2021 16:24:02 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P8_node',RowKey='R8')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A40.0881478Z'\"","PartitionKey":"P8_node","RowKey":"R8","Timestamp":"2021-06-19T00:55:40.0881478Z","integerNumber":3,"floatingPointNumber":3.14}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A03.0246806Z'\"","PartitionKey":"P8_node","RowKey":"R8","Timestamp":"2021-09-07T16:24:03.0246806Z","integerNumber":3,"floatingPointNumber":3.14}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-06-19T00%3A55%3A40.0881478Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A03.0246806Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fc6c-1002-0129-1da5-64b1a8000000', + '00765113-e002-0038-1404-a4c0e6000000', 'x-ms-client-request-id', - 'd0bcded2-da83-4925-ae5e-7fe48b6b1395', + 'c2419d7f-f44f-40d5-88c7-ae66e62f3289', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:39 GMT' + 'Tue, 07 Sep 2021 16:24:02 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fc7a-1002-0129-2aa5-64b1a8000000', + '0076511d-e002-0038-1e04-a4c0e6000000', 'x-ms-client-request-id', - '761ec110-7e7b-45bd-932f-0ce2ce666ec0', + '6e9e7c14-1371-407d-b4a1-f0c368becd88', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:40 GMT' + 'Tue, 07 Sep 2021 16:24:02 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.js index 0e72004c5346..4bdf6ae62605 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_createentity_getentity_and_delete/recording_should_createentity_with_primitive_int_and_float_without_automatic_type_conversion.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "c41cb05d53f4e5bc9937bb8c5efb5ae6"; +module.exports.hash = "d4f6972bb994b640bcae8d0352293f32"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'ed51638e-efb0-4bf1-b07b-97a08f564d01', + 'b67568e9-e5fe-48a9-9562-78938b9db400', 'x-ms-ests-server', - '2.1.11898.12 - NCUS ProdSlices', + '2.1.12011.8 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Aq_hibls2SJEk10Fq6pUV13JVDEwAQAAACO_m9gOAAAA; expires=Thu, 02-Sep-2021 22:50:11 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Ap6T-fHq06VDlc0HOqPVcIw; expires=Thu, 07-Oct-2021 16:24:03 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrBaGmPQLIIl4y-Xxst4vjBvz9ptffF_A87R226EFfjgCVDt_zYoLW0P6MzfuVVH69OeYiaP0NrfLzkrjTmy6znHQT3j5boaEmMtTBn4M1AyqrEiVj9L5VqhuJZJXVp2uCiEGEz50aXPTo5mC5xP_nZUQKvnikgjhGdMt92WmjVSIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrt96SzVHP7NFvaGTtBgM-E8ZTweZopH50_Sl6X_wjfAPj3VJY-UCWfPHG3uzrno353NhU4qu0qxuEjRlZolQxtia1E1gD_XR7dvT5Q4yYRzfb63P0hWe7yASOeefwrx7Mg0uj5j6uUCv2F7-me0hSgaDsUJCgKyMoVGNi_HHKVuYgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT', + 'Tue, 07 Sep 2021 16:24:02 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '86dfa25d-0226-4611-9eba-3d9b4b9c2e01', + '30fc36de-5362-4435-8a48-495171bec900', 'x-ms-ests-server', - '2.1.11898.12 - SCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Aq_hibls2SJEk10Fq6pUV13JVDEwAQAAACO_m9gOAAAA; expires=Thu, 02-Sep-2021 22:50:11 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AkdDIwy9BeNEpz19pb6dCIM; expires=Thu, 07-Oct-2021 16:24:03 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrIIb_0SVoMUvd0tguX7mkLVjKy5osrOFyX4H_Yvi3TjRJlDNAzsaDLtT_GEJnLNe5t5esEKUODd9n38cpiaOHIgmKGxdw3JudeOQPEPB85yFhADa35OXwB8Wgg-BvZ7VSftL4npz_addCTA9Bl3irBjUVO-m5Ri2hX8lfENs7jZMgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrCEqMzN8T_qaDoxWpyob3dZbKmbCPrwkZSd8ukXGI23Gp5DMgq-2npc-zM9mEdA5yPK67EWU6uKZHlbJwoJE8Gkm1nEslQYrrlqu2vfxWjmhvNONHaqynUcnAg6NFlXfr5KeWugNcDFEL6-IcYxaGaZkREZG9mViJf-dKd8QMg4AgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT', + 'Tue, 07 Sep 2021 16:24:02 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.2.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=6dcb06f3-d6eb-411c-ab52-924f30bfeef8&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=c01aadc8-a39f-42a6-a3d4-77f0ca72bf87&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,40 +93,40 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '1834072a-4391-4ded-a2a2-5452a4523801', + '91e18ed7-d887-454d-8cd9-5357591bf500', 'x-ms-ests-server', - '2.1.11898.12 - SCUS ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Aq_hibls2SJEk10Fq6pUV13JVDEwAgAAACO_m9gOAAAA; expires=Thu, 02-Sep-2021 22:50:11 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AkwiTC47ArxNhTtkEP9_k2_JVDEwAQAAACKJydgOAAAA; expires=Thu, 07-Oct-2021 16:24:03 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT', + 'Tue, 07 Sep 2021 16:24:02 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) - .post('/tableClientTestTokenCredentialnode', {"PartitionKey":"P8_node","RowKey":"R8","integerNumber":3,"floatingPointNumber":3.14}) + .post('/tableClientTestTokenCredentialnode', {"PartitionKey":"P8_node","RowKey":"R8","integerNumber":3,"floatingPointNumber":3.14,"booleanValue":true}) .reply(204, "", [ 'Cache-Control', 'no-cache', 'Content-Length', '0', 'ETag', - `W/"datetime'2021-08-03T22%3A50%3A12.0747374Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A03.5770743Z'"`, 'Location', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P8_node',RowKey='R8')", 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5cd55dd6-b002-0124-52b9-885ea4000000', + '00765169-e002-0038-6304-a4c0e6000000', 'x-ms-client-request-id', - 'c888effb-fd77-45e6-b21c-eb40fa9ae853', + 'b1400479-21c9-404a-b06d-5c738316518e', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -136,12 +136,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'DataServiceId', "https://fakeaccount.table.core.windows.net/tableClientTestTokenCredentialnode(PartitionKey='P8_node',RowKey='R8')", 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT' + 'Tue, 07 Sep 2021 16:24:03 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get(`/tableClientTestTokenCredentialnode(PartitionKey='P8_node',RowKey='R8')`) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-08-03T22%3A50%3A12.0747374Z'\"","PartitionKey":"P8_node","RowKey":"R8","Timestamp":"2021-08-03T22:50:12.0747374Z","integerNumber":3,"floatingPointNumber":3.14}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode/@Element","odata.etag":"W/\"datetime'2021-09-07T16%3A24%3A03.5770743Z'\"","PartitionKey":"P8_node","RowKey":"R8","Timestamp":"2021-09-07T16:24:03.5770743Z","integerNumber":3,"floatingPointNumber":3.14,"booleanValue":true}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,13 +149,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Content-Type', 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', 'ETag', - `W/"datetime'2021-08-03T22%3A50%3A12.0747374Z'"`, + `W/"datetime'2021-09-07T16%3A24%3A03.5770743Z'"`, 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5cd55de8-b002-0124-63b9-885ea4000000', + '00765171-e002-0038-6904-a4c0e6000000', 'x-ms-client-request-id', - '73b1d7c7-1cc4-42a8-9b11-2546e05f30a0', + '5fb6e1a4-6309-469f-942c-e0bb2315c32a', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -165,7 +165,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT' + 'Tue, 07 Sep 2021 16:24:03 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -178,13 +178,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5cd55df4-b002-0124-6fb9-885ea4000000', + '0076517b-e002-0038-7204-a4c0e6000000', 'x-ms-client-request-id', - '97042237-0417-4c9d-8f33-0286f49269de', + '1b280951-3037-4bba-8d4e-cafdfe125429', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Tue, 03 Aug 2021 22:50:11 GMT' + 'Tue, 07 Sep 2021 16:24:03 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_all.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_all.js index 29fd31f88994..b86fa972077c 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_all.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_all.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '11d03411-d1b3-4199-a347-771e657e0500', + 'df337537-15f5-40ec-8222-4c81cf11ee00', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwAQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:34 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnpfM_sdZvFKmNOMM5MvIY4; expires=Thu, 07-Oct-2021 16:23:56 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrHK5NNuudjbvIiIAB5qW1LdhYwicCzoSGZYbyAcoRGGgJeqPILlfoDGxBB8VNvPmYFE5HEBQdFYKEwkpcnTT60KiIbbkSvAeKcx3dWKmYIcqq9qSzPwuRtZ5PGeepe2ASP8lFsVX5MOr5N_zcELxaD9pTrS4a9DUjfJiuxE_7RTwgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevro2FI4YxDqn9wZrsLk5E7rHOLNmbR-Mvam_N77ukeoOSB1nghT0jPQz3rSlkXAbnzXmRHnwA0_NVPg4KI4W7H1kIm_DrYSP_2_zZMY71Eq6HoW222JE29_vBQdm_NHMwY6v4aI2mnCBsj89djLvxzwMIACzX2wk030FqN48oXBDUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:34 GMT', + 'Tue, 07 Sep 2021 16:23:55 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '31d461b1-56a4-4911-99ad-6cc01b580400', + 'cf8bdb5c-193b-458c-942a-2d43e929d200', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwAQAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:34 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ArScNiCWkLpFkGnY_b-Ybn8; expires=Thu, 07-Oct-2021 16:23:56 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrZOlTdi2bzcxuEHWcn-pafRWvEA7GtF4-IvGQTmnjjDwtbF615hSPgxCW5w3ZTYqcGJ0H-17CtG6pl1-DzV8uxpq3vVqS1ibBaqK-ae4uyi751YhkY1aXmWx9IgxXVqgan46N_GIgK1lQGegAUMxAvcjiWVRl0pPjhxDEBTFl6cQgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrMxiws5MVICUjFMqA0s4rYUS3SUF2fXSbeGB5zetXkA5790zWto7laI0JOgnydELVWuYGbO4gGrlzpsikb2TDQe6ZjnpW6beW-P50VWrtOjMn15bSJq2sX1hwTAWwPUdFwBgtOPm3L1uW2oG1qgOOlhCpR1DDU9NQuNftTT1w3asgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:34 GMT', + 'Tue, 07 Sep 2021 16:23:55 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=ceac68f6-34ed-4281-a328-865bfc4934f1&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=2cd9f6a0-ea3b-4a8d-aa57-da3e661797d7&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'b50a8c45-56e2-453b-9c5c-02e8cc330400', + '036a77ca-154e-416a-8bbf-dc162165f400', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwAgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:34 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ApmCzTw9O45Ji2pavzS6bVzJVDEwAQAAABuJydgOAAAA; expires=Thu, 07-Oct-2021 16:23:56 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:34 GMT', + 'Tue, 07 Sep 2021 16:23:55 GMT', 'Content-Length', '1318' ]); @@ -113,7 +113,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.7956301Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-06-19T00:55:33.7956301Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.838661Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-06-19T00:55:33.838661Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1949167Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-06-19T00:55:34.1949167Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.2349455Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-06-19T00:55:34.2349455Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.2729723Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-06-19T00:55:34.2729723Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.3099993Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-06-19T00:55:34.3099993Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.3500281Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-06-19T00:55:34.3500281Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.386054Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-06-19T00:55:34.386054Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.425082Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-06-19T00:55:34.425082Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.4631097Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-06-19T00:55:34.4631097Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.5001359Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-06-19T00:55:34.5001359Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.5371624Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-06-19T00:55:34.5371624Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.8766883Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-06-19T00:55:33.8766883Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9127141Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-06-19T00:55:33.9127141Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9507414Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-06-19T00:55:33.9507414Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9857666Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-06-19T00:55:33.9857666Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.0217924Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-06-19T00:55:34.0217924Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.0628227Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-06-19T00:55:34.0628227Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1178614Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-06-19T00:55:34.1178614Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1558883Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-06-19T00:55:34.1558883Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.7385887Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-06-19T00:55:33.7385887Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.4285549Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-09-07T16:23:54.4285549Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.5096122Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-09-07T16:23:54.5096122Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.2511401Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-09-07T16:23:55.2511401Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.330196Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-09-07T16:23:55.330196Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.4052499Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-09-07T16:23:55.4052499Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.4783015Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-09-07T16:23:55.4783015Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.5543556Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-09-07T16:23:55.5543556Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.629409Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-09-07T16:23:55.629409Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.7134693Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-09-07T16:23:55.7134693Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.8235477Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-09-07T16:23:55.8235477Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.9006025Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-09-07T16:23:55.9006025Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.9766571Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-09-07T16:23:55.9766571Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.5876678Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-09-07T16:23:54.5876678Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.6627208Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-09-07T16:23:54.6627208Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.7447796Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-09-07T16:23:54.7447796Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.8208338Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-09-07T16:23:54.8208338Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.8988894Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-09-07T16:23:54.8988894Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.9779456Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-09-07T16:23:54.9779456Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.0870233Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-09-07T16:23:55.0870233Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.1740849Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-09-07T16:23:55.1740849Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.3514996Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-09-07T16:23:54.3514996Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -123,9 +123,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f611-1002-0129-13a5-64b1a8000000', + '00764c5a-e002-0038-6004-a4c0e6000000', 'x-ms-client-request-id', - '05545865-470a-40c9-89e1-40551555b6cd', + '2a39f325-047e-45cd-a1fc-b1ffc15749ca', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -135,5 +135,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:34 GMT' + 'Tue, 07 Sep 2021 16:23:56 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_binary_with_filter.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_binary_with_filter.js index 3811ba3936cd..b5d2db9282bf 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_binary_with_filter.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_binary_with_filter.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "7349a45a2b78736e225d70c6a2b6e141"; +module.exports.hash = "0b8688e3662d6b682cad3000dc0e7d0b"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'a613350d-2eb5-4c7f-809c-e2b70daf3400', + '4891ed64-48ae-42b7-9974-3a658f0ef300', 'x-ms-ests-server', - '2.1.11829.4 - EUS ProdSlices', + '2.1.12011.8 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:36 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Ar12qHO7b6JKiwGbSvehkQY; expires=Thu, 07-Oct-2021 16:23:57 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrB3yY3gHxGnxCYhkkz45z4wG-0vd7W8zzxQB9oMlUvECREedemfriWrX96A7bQUxlIcDU5XYwJCpRUXMmiQvMt0lt456-bZ5SCrcGu7huiq5CbslqSPvvkCNrx6iXi_BJ0Iy5F7hXaS637JiOJp687xONa-UO96l4RjM8VcxBqh4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr5pjJDaftnsEE2wv3dWR4JkEx2gpTCANbJbZInOx_GddPcTng5YT6C1QOghkKnSipDG222xBIusNxVkds4d7lc80cKYaJv1WIzv_vlKWskEjfPWF1YS-NmkOiKW7Nbb8lKi0kWdu7fgRH94IbPCBPe5JOL57jFIUg0EsUMhXKVW0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT', + 'Tue, 07 Sep 2021 16:23:57 GMT', 'Content-Length', '980' ]); @@ -58,30 +58,32 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '1e87a220-4533-49cd-a63b-b579fad60500', + '30fc36de-5362-4435-8a48-495148bdc900', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:36 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AmRjbY8DpopKhFAStUdCl1s; expires=Thu, 07-Oct-2021 16:23:58 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrm47tvRx8QwcN_PJuQuF556ZLefdsAkAj6gQOL50eg_Us7lRaT8mQScqE4UpxKEgKqo5h67E-CB6sUizMY_QSjtkLAjaK9db2NcGldNeJeDQrSPfXtedi_SWX9ePf2yUG2hxE1GxC5ghshLXImwiNCpqRTNJXY0luBxLjDBrq_54gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrKM5O4fBS3oENPYN1L-Z4eCRbth3saoQZcj3dmnSoZcE8lN-0QilSSelWDMe_xoXwy9PsddcKQj5vUmKFebUrL4VeX0aTZmXVzP7VMJS_0PVCWazGvDZ8jPf31TT6dUcx9V1QiRpnCnttsEMgw7tuKova7c2kEZjZTSIY_IBic3MgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT', + 'Tue, 07 Sep 2021 16:23:57 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=640ba359-bba6-4a78-a393-d9c261390d38&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=787b54ac-32f3-49ba-8f02-1d181f123bcd&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '1318', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -93,27 +95,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '1e87a220-4533-49cd-a63b-b579fed60500', + 'ec2833ac-b19d-4e4e-88cf-c684959ae800', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:36 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=At1IIS-jdUFDqn1weOU0BCXJVDEwAQAAAB6JydgOAAAA; expires=Thu, 07-Oct-2021 16:23:58 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT', - 'Content-Length', - '1318' + 'Tue, 07 Sep 2021 16:23:57 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.7385887Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-06-19T00:55:33.7385887Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.3514996Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-09-07T16:23:54.3514996Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -123,9 +123,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f7b8-1002-0129-25a5-64b1a8000000', + '00764df4-e002-0038-6304-a4c0e6000000', 'x-ms-client-request-id', - 'cf5d34a7-e3e8-4cea-a304-ea28b150e708', + '77965f90-c2a0-4b16-85cd-244eaf3318dd', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -135,5 +135,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:36 GMT' + 'Tue, 07 Sep 2021 16:23:58 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_by_page.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_by_page.js index e3450c2ae55a..ead33d4ac771 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_by_page.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_by_page.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "44b8d1b90df1b075f5dfd75add015626"; +module.exports.hash = "e1e4db7e2b3b1ead247a97667a30445f"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '0761fd87-bd33-46b3-84cb-bb3a9a2d3800', + 'eb62f591-9630-4597-bfce-f576fe72d700', 'x-ms-ests-server', - '2.1.11829.4 - EUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwAgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:35 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Avf7wXt4b85Bi5GcYHwMnAg; expires=Thu, 07-Oct-2021 16:23:56 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevruOOLh95R1L_guFxwCP2-28kYLRPreHCPwapL0PBec--qxDZ_8nzLxHkhZuwHLv5ZmL5Eo5Ex2sJVtcKyK7FenCnrqJY7RFK8ZZGc95wFNF3o_vRPXO5dJ76ksB1_RAwlC_ir_oCzFA-pBOWmd9bNHQ5ojOqMAjEncUD7IXFEZswgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrr1GvkCFvPEf1own0NJILKbA4R91qWK1yu3ySyRQIusa40ubr7HRkl0gp8c-yNG-SsvvLSnwCLDEU5xDAuwCxJNFwWiRhQrxXZ6Nn9ygINipTAJPnKLX8Wpfa5Lr8CPQJ_urYmnOTtyJ3Ui4aIcoQHTz37ZvLiS7VslQUPnxxTyEgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:34 GMT', + 'Tue, 07 Sep 2021 16:23:56 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '63adac0c-4d93-4567-a4a3-3152bd460400', + '55d1c179-c7a6-4f1d-9f79-5f9237e1e100', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwAgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:35 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Ah-ZLdKjHBVPutbMeyX_ZH4; expires=Thu, 07-Oct-2021 16:23:56 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrzpZKaasZJ7sBggLsX8_JO3cuPNVxUKuIU_tjr7PXW65OygkwQ1gC_T_APshMf_IMYxvsOaZnuFyIWItSv_cE1BJJo1P8psOQhkygmZ4mpkvkLPu1o6Gomz8CnTOlbCykAdj_9Fgxj29qJy5BYSCWLJRMqcfTWRBHX6G0vpTwn-EgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrLnh2TpShyU_DszGyJIdZs9-xlSgJx8LJkLTTGIU6V0fonvKVq-ywS98AE5xXuSC0Mtj8VF24cuGJ9FKtTnzEdJbVyvluQK4l8RUwKvznQdrKsWAZ_rncjdYkdmCjMz7EOiwz-PYjJ_76SelyXgMTjeJKxUwq8b9GAHwiYwuvBRcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT', + 'Tue, 07 Sep 2021 16:23:56 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=91d12009-8e18-4828-9abe-eea97b8da357&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=511349f7-0a90-42f8-9c77-765bc365e66b&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '63adac0c-4d93-4567-a4a3-3152c4460400', + 'c3900f77-94db-440f-a455-102c95b6da00', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwAwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:35 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Ah4wdFZW2x1JpYB_Ecssg97JVDEwAQAAAByJydgOAAAA; expires=Thu, 07-Oct-2021 16:23:56 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT', + 'Tue, 07 Sep 2021 16:23:56 GMT', 'Content-Length', '1318' ]); @@ -113,7 +113,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.7956301Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-06-19T00:55:33.7956301Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.838661Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-06-19T00:55:33.838661Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1949167Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-06-19T00:55:34.1949167Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.2349455Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-06-19T00:55:34.2349455Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.2729723Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-06-19T00:55:34.2729723Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.4285549Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-09-07T16:23:54.4285549Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.5096122Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-09-07T16:23:54.5096122Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.2511401Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-09-07T16:23:55.2511401Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.330196Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-09-07T16:23:55.330196Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.4052499Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-09-07T16:23:55.4052499Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -123,9 +123,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f699-1002-0129-15a5-64b1a8000000', + '00764cdf-e002-0038-6104-a4c0e6000000', 'x-ms-client-request-id', - '9412cd7e-a8fe-4bd1-a9c2-4ce5b68695b5', + 'ed0cab88-cabe-4a52-bbaf-dff357d0604c', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -139,13 +139,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT' + 'Tue, 07 Sep 2021 16:23:56 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.3099993Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-06-19T00:55:34.3099993Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.3500281Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-06-19T00:55:34.3500281Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.386054Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-06-19T00:55:34.386054Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.425082Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-06-19T00:55:34.425082Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.4631097Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-06-19T00:55:34.4631097Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.4783015Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-09-07T16:23:55.4783015Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.5543556Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-09-07T16:23:55.5543556Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.629409Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-09-07T16:23:55.629409Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.7134693Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-09-07T16:23:55.7134693Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.8235477Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-09-07T16:23:55.8235477Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -155,9 +155,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f6ae-1002-0129-27a5-64b1a8000000', + '00764cf6-e002-0038-7604-a4c0e6000000', 'x-ms-client-request-id', - '81e99b2d-84ff-44de-9ce5-bb62fa8ac2f6', + '3a14fc5a-b35b-40fb-af31-d3f0fda51f5c', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -171,13 +171,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT' + 'Tue, 07 Sep 2021 16:23:56 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.5001359Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-06-19T00:55:34.5001359Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.5371624Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-06-19T00:55:34.5371624Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.8766883Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-06-19T00:55:33.8766883Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9127141Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-06-19T00:55:33.9127141Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9507414Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-06-19T00:55:33.9507414Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.9006025Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-09-07T16:23:55.9006025Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.9766571Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-09-07T16:23:55.9766571Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.5876678Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-09-07T16:23:54.5876678Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.6627208Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-09-07T16:23:54.6627208Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.7447796Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-09-07T16:23:54.7447796Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -187,9 +187,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f6b8-1002-0129-30a5-64b1a8000000', + '00764d0c-e002-0038-0804-a4c0e6000000', 'x-ms-client-request-id', - '8fd29db2-c759-467e-bd45-106e278e39fd', + 'b19247f5-ed4b-4a39-8ad1-315bd89920c4', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -203,13 +203,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT' + 'Tue, 07 Sep 2021 16:23:56 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9857666Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-06-19T00:55:33.9857666Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.0217924Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-06-19T00:55:34.0217924Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.0628227Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-06-19T00:55:34.0628227Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1178614Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-06-19T00:55:34.1178614Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1558883Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-06-19T00:55:34.1558883Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.8208338Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-09-07T16:23:54.8208338Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.8988894Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-09-07T16:23:54.8988894Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.9779456Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-09-07T16:23:54.9779456Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.0870233Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-09-07T16:23:55.0870233Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.1740849Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-09-07T16:23:55.1740849Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -219,9 +219,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f6d0-1002-0129-46a5-64b1a8000000', + '00764d28-e002-0038-2404-a4c0e6000000', 'x-ms-client-request-id', - '4817dfb1-4454-43c1-b6c8-8de38439ba9a', + '207829e4-d368-4746-9d9f-9cc146bdb6a8', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -235,13 +235,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT' + 'Tue, 07 Sep 2021 16:23:56 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.7385887Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-06-19T00:55:33.7385887Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.3514996Z'\"","PartitionKey":"listEntitiesTest","RowKey":"binary1","Timestamp":"2021-09-07T16:23:54.3514996Z","foo@odata.type":"Edm.Binary","foo":"QmFy"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -251,9 +251,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f6d9-1002-0129-4fa5-64b1a8000000', + '00764d39-e002-0038-3404-a4c0e6000000', 'x-ms-client-request-id', - '98036eea-57a0-40a1-b843-c70c54768c0b', + '09a46f05-5ca2-4b65-a11a-4be3d88cd387', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -263,5 +263,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT' + 'Tue, 07 Sep 2021 16:23:56 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_with_filter.js b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_with_filter.js index 59e173ca2533..1950ef921f4a 100644 --- a/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_with_filter.js +++ b/sdk/tables/data-tables/recordings/node/tableclient_tokencredential_listentities/recording_should_list_with_filter.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "e9aa994631697f0a134559c1ab074fac"; +module.exports.hash = "f5ed124a4d96fcaafa13bf1086da293e"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'ef26cc37-2fea-4e5d-ab7a-e36514684700', + 'a718436b-add0-47ff-a054-e6bf63a1d500', 'x-ms-ests-server', - '2.1.11829.4 - SCUS ProdSlices', + '2.1.12011.8 - SCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwAwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:35 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AljqGnT7gHpAuO1fdB1RedQ; expires=Thu, 07-Oct-2021 16:23:57 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrcd1zmpFwEwO7ddl7kJFp-TI7vbohYFllyslIfzo9kd0ElEuOV6hlyV1HHw3EOBkr-bFDCgzdz6Ui_bMetUX3jozgVw-RF83FRu1TAlkI-nRI2aeWvbEhy0ZjBLORO7kiE43We5qx3nf4V0UcFVzZ0u4LS3DpomoYCiFR-M54mDYgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrjX6vPGFApWV8VwAtwizUbZALDyfj77_5GuKG9pe_LmiPtbuxTtR4Scve5H0gcRT0e3-q8kjK4CAZUS90skh8WYUXIc9QLw559tugcz0Z_j421BBVtcfRdpK8G7ZodBP3W0ADCX4tsfXLmLxQ_lu6SmCW-d_vw3m_78F1eZ75OI4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT', + 'Tue, 07 Sep 2021 16:23:56 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '6fd8babd-1fb2-40ed-896b-f676d85a0700', + '55d1c179-c7a6-4f1d-9f79-5f926fe1e100', 'x-ms-ests-server', - '2.1.11829.8 - NCUS ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwAwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:35 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AnWBXyA2A9BBrLuNY-XUy68; expires=Thu, 07-Oct-2021 16:23:57 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr2w8iH2W55cpT8eo3yZW7NOuv2D6lQ8OIwrWYE6UBAeHZctO2VPDlgrFEsGJL2bQvBVInhJkBfW0pdNhnPOdXvTlmO5lBLB4uwaOrGUtTwOpL1-hmmnojcGlQDVZD6S4cTppCfr3XjDfzXi0rkGigRoSkqYICBxESAByUb8tbOxggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrm0AmrC36GxS8USDmggLzlYllXwmfygoJHLAPWdQwrTMtrLf0wefTRlf3yDKKViSTRkX2DMxNslLPnl0vjf2S8h7YFHosVosYwl3kgh2_vdvzp2SRWepd1L5qG7rhJAKw35bHDi11MjWG-qyDTWHHkvuqKiirh0qlK8ZUguXf7_cgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT', + 'Tue, 07 Sep 2021 16:23:56 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=c7e321a3-b066-41f0-a181-5dd78e052f38&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=a185dbb2-a9c9-4cdc-9341-a4027c5a6220&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '325c2ba7-8fa1-423e-a41d-7faf72a00a00', + '8b623168-d12c-4e3a-bcf8-d3dc6d12d500', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwBAAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:35 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ApBM2lxc-aNPk8gU45m_0A3JVDEwAQAAAB2JydgOAAAA; expires=Thu, 07-Oct-2021 16:23:57 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT', + 'Tue, 07 Sep 2021 16:23:57 GMT', 'Content-Length', '1318' ]); @@ -113,7 +113,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/tableClientTestTokenCredentialnode()') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.7956301Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-06-19T00:55:33.7956301Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.838661Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-06-19T00:55:33.838661Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1949167Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-06-19T00:55:34.1949167Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.2349455Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-06-19T00:55:34.2349455Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.2729723Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-06-19T00:55:34.2729723Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.3099993Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-06-19T00:55:34.3099993Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.3500281Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-06-19T00:55:34.3500281Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.386054Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-06-19T00:55:34.386054Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.425082Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-06-19T00:55:34.425082Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.4631097Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-06-19T00:55:34.4631097Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.5001359Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-06-19T00:55:34.5001359Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.5371624Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-06-19T00:55:34.5371624Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.8766883Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-06-19T00:55:33.8766883Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9127141Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-06-19T00:55:33.9127141Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9507414Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-06-19T00:55:33.9507414Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A33.9857666Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-06-19T00:55:33.9857666Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.0217924Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-06-19T00:55:34.0217924Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.0628227Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-06-19T00:55:34.0628227Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1178614Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-06-19T00:55:34.1178614Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-06-19T00%3A55%3A34.1558883Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-06-19T00:55:34.1558883Z","foo":"testEntity"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#tableClientTestTokenCredentialnode","value":[{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.4285549Z'\"","PartitionKey":"listEntitiesTest","RowKey":"0","Timestamp":"2021-09-07T16:23:54.4285549Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.5096122Z'\"","PartitionKey":"listEntitiesTest","RowKey":"1","Timestamp":"2021-09-07T16:23:54.5096122Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.2511401Z'\"","PartitionKey":"listEntitiesTest","RowKey":"10","Timestamp":"2021-09-07T16:23:55.2511401Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.330196Z'\"","PartitionKey":"listEntitiesTest","RowKey":"11","Timestamp":"2021-09-07T16:23:55.330196Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.4052499Z'\"","PartitionKey":"listEntitiesTest","RowKey":"12","Timestamp":"2021-09-07T16:23:55.4052499Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.4783015Z'\"","PartitionKey":"listEntitiesTest","RowKey":"13","Timestamp":"2021-09-07T16:23:55.4783015Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.5543556Z'\"","PartitionKey":"listEntitiesTest","RowKey":"14","Timestamp":"2021-09-07T16:23:55.5543556Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.629409Z'\"","PartitionKey":"listEntitiesTest","RowKey":"15","Timestamp":"2021-09-07T16:23:55.629409Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.7134693Z'\"","PartitionKey":"listEntitiesTest","RowKey":"16","Timestamp":"2021-09-07T16:23:55.7134693Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.8235477Z'\"","PartitionKey":"listEntitiesTest","RowKey":"17","Timestamp":"2021-09-07T16:23:55.8235477Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.9006025Z'\"","PartitionKey":"listEntitiesTest","RowKey":"18","Timestamp":"2021-09-07T16:23:55.9006025Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.9766571Z'\"","PartitionKey":"listEntitiesTest","RowKey":"19","Timestamp":"2021-09-07T16:23:55.9766571Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.5876678Z'\"","PartitionKey":"listEntitiesTest","RowKey":"2","Timestamp":"2021-09-07T16:23:54.5876678Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.6627208Z'\"","PartitionKey":"listEntitiesTest","RowKey":"3","Timestamp":"2021-09-07T16:23:54.6627208Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.7447796Z'\"","PartitionKey":"listEntitiesTest","RowKey":"4","Timestamp":"2021-09-07T16:23:54.7447796Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.8208338Z'\"","PartitionKey":"listEntitiesTest","RowKey":"5","Timestamp":"2021-09-07T16:23:54.8208338Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.8988894Z'\"","PartitionKey":"listEntitiesTest","RowKey":"6","Timestamp":"2021-09-07T16:23:54.8988894Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A54.9779456Z'\"","PartitionKey":"listEntitiesTest","RowKey":"7","Timestamp":"2021-09-07T16:23:54.9779456Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.0870233Z'\"","PartitionKey":"listEntitiesTest","RowKey":"8","Timestamp":"2021-09-07T16:23:55.0870233Z","foo":"testEntity"},{"odata.etag":"W/\"datetime'2021-09-07T16%3A23%3A55.1740849Z'\"","PartitionKey":"listEntitiesTest","RowKey":"9","Timestamp":"2021-09-07T16:23:55.1740849Z","foo":"testEntity"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -123,9 +123,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52f72a-1002-0129-1ea5-64b1a8000000', + '00764d8a-e002-0038-0204-a4c0e6000000', 'x-ms-client-request-id', - 'b16267b8-edff-4d0a-b086-32e306d345df', + '217ee68a-5b96-4368-a7e1-1d751ff69dc1', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -135,5 +135,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:35 GMT' + 'Tue, 07 Sep 2021 16:23:57 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_create_get_table_and_delete/recording_should_create_new_table_then_delete.js b/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_create_get_table_and_delete/recording_should_create_new_table_then_delete.js index fea605664e72..c31c6b91eb95 100644 --- a/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_create_get_table_and_delete/recording_should_create_new_table_then_delete.js +++ b/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_create_get_table_and_delete/recording_should_create_new_table_then_delete.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "ace451a3a15db6364709f9d848d931d8"; +module.exports.hash = "15e46ef53417a2bde0a0e06e18ec137e"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -19,9 +19,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef197-9002-001e-254b-5d5b52000000', + '0076595a-e002-0038-1304-a4c0e6000000', 'x-ms-client-request-id', - '00cd1c8b-beeb-438e-9459-942b832811d9', + '2130fe9d-83f3-4159-a5ce-17060a20e37c', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -29,13 +29,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Preference-Applied', 'return-content', 'Date', - 'Wed, 09 Jun 2021 16:21:46 GMT' + 'Tue, 07 Sep 2021 16:24:13 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"testTableSASConnectionStringnode"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"CreateSimpleEntityBatchPerf"},{"TableName":"createTableNew"},{"TableName":"createTableNew2"},{"TableName":"createTableOld"},{"TableName":"testTable"},{"TableName":"testTableSASConnectionStringnode"},{"TableName":"TestTestTest"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -45,9 +45,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef1a2-9002-001e-2e4b-5d5b52000000', + '00765970-e002-0038-2704-a4c0e6000000', 'x-ms-client-request-id', - '10a579d3-e621-4e05-b322-850ff9164345', + '74482ca5-04e2-4835-aec3-9133485e4607', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -57,7 +57,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:46 GMT' + 'Tue, 07 Sep 2021 16:24:13 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -71,13 +71,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef1b2-9002-001e-3d4b-5d5b52000000', + '00765985-e002-0038-3a04-a4c0e6000000', 'x-ms-client-request-id', - '6c3e6d8f-d328-44b1-8888-9c63a067aa30', + '645e053a-2221-4006-a13c-e39be87eb75e', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Wed, 09 Jun 2021 16:21:46 GMT' + 'Tue, 07 Sep 2021 16:24:13 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_listtables/recording_should_list_all.js b/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_listtables/recording_should_list_all.js index 4f77212ff6fe..2f44e766c999 100644 --- a/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_listtables/recording_should_list_all.js +++ b/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_listtables/recording_should_list_all.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "992c5a5383af5caa9e46a045f616cbe3"; +module.exports.hash = "52a8332831af807d4edad5bb4843c3eb"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode0"},{"TableName":"ListTableTestSASConnectionStringnode1"},{"TableName":"ListTableTestSASConnectionStringnode10"},{"TableName":"ListTableTestSASConnectionStringnode11"},{"TableName":"ListTableTestSASConnectionStringnode12"},{"TableName":"ListTableTestSASConnectionStringnode13"},{"TableName":"ListTableTestSASConnectionStringnode14"},{"TableName":"ListTableTestSASConnectionStringnode15"},{"TableName":"ListTableTestSASConnectionStringnode16"},{"TableName":"ListTableTestSASConnectionStringnode17"},{"TableName":"ListTableTestSASConnectionStringnode18"},{"TableName":"ListTableTestSASConnectionStringnode19"},{"TableName":"ListTableTestSASConnectionStringnode2"},{"TableName":"ListTableTestSASConnectionStringnode3"},{"TableName":"ListTableTestSASConnectionStringnode4"},{"TableName":"ListTableTestSASConnectionStringnode5"},{"TableName":"ListTableTestSASConnectionStringnode6"},{"TableName":"ListTableTestSASConnectionStringnode7"},{"TableName":"ListTableTestSASConnectionStringnode8"},{"TableName":"ListTableTestSASConnectionStringnode9"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"CreateSimpleEntityBatchPerf"},{"TableName":"createTableNew"},{"TableName":"createTableNew2"},{"TableName":"createTableOld"},{"TableName":"ListTableTestSASConnectionStringnode0"},{"TableName":"ListTableTestSASConnectionStringnode1"},{"TableName":"ListTableTestSASConnectionStringnode10"},{"TableName":"ListTableTestSASConnectionStringnode11"},{"TableName":"ListTableTestSASConnectionStringnode12"},{"TableName":"ListTableTestSASConnectionStringnode13"},{"TableName":"ListTableTestSASConnectionStringnode14"},{"TableName":"ListTableTestSASConnectionStringnode15"},{"TableName":"ListTableTestSASConnectionStringnode16"},{"TableName":"ListTableTestSASConnectionStringnode17"},{"TableName":"ListTableTestSASConnectionStringnode18"},{"TableName":"ListTableTestSASConnectionStringnode19"},{"TableName":"ListTableTestSASConnectionStringnode2"},{"TableName":"ListTableTestSASConnectionStringnode3"},{"TableName":"ListTableTestSASConnectionStringnode4"},{"TableName":"ListTableTestSASConnectionStringnode5"},{"TableName":"ListTableTestSASConnectionStringnode6"},{"TableName":"ListTableTestSASConnectionStringnode7"},{"TableName":"ListTableTestSASConnectionStringnode8"},{"TableName":"ListTableTestSASConnectionStringnode9"},{"TableName":"testTable"},{"TableName":"TestTestTest"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,9 +17,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef2fc-9002-001e-544b-5d5b52000000', + '00765ae6-e002-0038-6d04-a4c0e6000000', 'x-ms-client-request-id', - '5db23460-2ee3-4fd7-9631-2ae5c7ac7844', + '6aee59e6-b2c7-4eb5-8441-055b80d68d3b', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -29,5 +29,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:47 GMT' + 'Tue, 07 Sep 2021 16:24:15 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_listtables/recording_should_list_by_page.js b/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_listtables/recording_should_list_by_page.js index 58e681569158..c46504417f8d 100644 --- a/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_listtables/recording_should_list_by_page.js +++ b/sdk/tables/data-tables/recordings/node/tableserviceclient_sasconnectionstring_listtables/recording_should_list_by_page.js @@ -1,13 +1,13 @@ let nock = require('nock'); -module.exports.hash = "49431c138ecffcaccd598ee952bd3503"; +module.exports.hash = "0645e2b17e9dfa27243e0947f4d8fed4"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode0"},{"TableName":"ListTableTestSASConnectionStringnode1"},{"TableName":"ListTableTestSASConnectionStringnode10"},{"TableName":"ListTableTestSASConnectionStringnode11"},{"TableName":"ListTableTestSASConnectionStringnode12"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"CreateSimpleEntityBatchPerf"},{"TableName":"createTableNew"},{"TableName":"createTableNew2"},{"TableName":"createTableOld"},{"TableName":"ListTableTestSASConnectionStringnode0"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -17,27 +17,27 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef307-9002-001e-5f4b-5d5b52000000', + '00765af0-e002-0038-7604-a4c0e6000000', 'x-ms-client-request-id', - '10334f45-e462-47e1-a13d-f29bff158b37', + '1a80d1b2-5e1d-43cf-b278-75a2f4a6e237', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'x-ms-continuation-NextTableName', - '1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlMTMBMDFkNzVkNGI4YjI4M2FiMg--', + '1!72!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlMQEwMWQ3YTQwNGNjNDc3M2Iy', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:47 GMT' + 'Tue, 07 Sep 2021 16:24:15 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode13"},{"TableName":"ListTableTestSASConnectionStringnode14"},{"TableName":"ListTableTestSASConnectionStringnode15"},{"TableName":"ListTableTestSASConnectionStringnode16"},{"TableName":"ListTableTestSASConnectionStringnode17"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode1"},{"TableName":"ListTableTestSASConnectionStringnode10"},{"TableName":"ListTableTestSASConnectionStringnode11"},{"TableName":"ListTableTestSASConnectionStringnode12"},{"TableName":"ListTableTestSASConnectionStringnode13"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -47,27 +47,27 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef319-9002-001e-704b-5d5b52000000', + '00765afc-e002-0038-7d04-a4c0e6000000', 'x-ms-client-request-id', - '271cdecf-7b95-4f5a-bcf5-2ae5d931c5ae', + 'd6629268-972c-4e03-b0b5-d6aef1803db3', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'x-ms-continuation-NextTableName', - '1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlMTgBMDFkNzVkNGI4YjQ5ODQ1Nw--', + '1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlMTQBMDFkN2E0MDRjY2UyZTU3Mg--', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:47 GMT' + 'Tue, 07 Sep 2021 16:24:15 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode18"},{"TableName":"ListTableTestSASConnectionStringnode19"},{"TableName":"ListTableTestSASConnectionStringnode2"},{"TableName":"ListTableTestSASConnectionStringnode3"},{"TableName":"ListTableTestSASConnectionStringnode4"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode14"},{"TableName":"ListTableTestSASConnectionStringnode15"},{"TableName":"ListTableTestSASConnectionStringnode16"},{"TableName":"ListTableTestSASConnectionStringnode17"},{"TableName":"ListTableTestSASConnectionStringnode18"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -77,27 +77,27 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef322-9002-001e-794b-5d5b52000000', + '00765b04-e002-0038-0504-a4c0e6000000', 'x-ms-client-request-id', - 'ae74ab6b-2a44-4c7e-b634-e2db40e38042', + 'f38780bd-0ecc-4bc2-a719-ca872c03dfce', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'x-ms-continuation-NextTableName', - '1!72!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlNQEwMWQ3NWQ0YjhhZmIyZjIz', + '1!76!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlMTkBMDFkN2E0MDRjZDFmODQzNQ--', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:47 GMT' + 'Tue, 07 Sep 2021 16:24:15 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode5"},{"TableName":"ListTableTestSASConnectionStringnode6"},{"TableName":"ListTableTestSASConnectionStringnode7"},{"TableName":"ListTableTestSASConnectionStringnode8"},{"TableName":"ListTableTestSASConnectionStringnode9"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode19"},{"TableName":"ListTableTestSASConnectionStringnode2"},{"TableName":"ListTableTestSASConnectionStringnode3"},{"TableName":"ListTableTestSASConnectionStringnode4"},{"TableName":"ListTableTestSASConnectionStringnode5"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -107,27 +107,27 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef327-9002-001e-7e4b-5d5b52000000', + '00765b11-e002-0038-0f04-a4c0e6000000', 'x-ms-client-request-id', - '737c59c0-bfac-488f-a840-c20c40b2fb59', + '735e3ed9-edcb-40db-adcc-b9707e5186db', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'x-ms-continuation-NextTableName', - '1!52!bmV3dGFibGUxNjIzMjA0NTcwMDEyATAxZDc1Y2Q0N2JmOTBhYjA-', + '1!72!bGlzdHRhYmxldGVzdHNhc2Nvbm5lY3Rpb25zdHJpbmdub2RlNgEwMWQ3YTQwNGNjODM0ZjBl', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:47 GMT' + 'Tue, 07 Sep 2021 16:24:15 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestSASConnectionStringnode6"},{"TableName":"ListTableTestSASConnectionStringnode7"},{"TableName":"ListTableTestSASConnectionStringnode8"},{"TableName":"ListTableTestSASConnectionStringnode9"},{"TableName":"testTable"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -137,9 +137,39 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '654ef32b-9002-001e-024b-5d5b52000000', + '00765b20-e002-0038-1c04-a4c0e6000000', 'x-ms-client-request-id', - '6baa8ae7-6dc2-4c6f-9619-f756cb057bc1', + '0b74c23a-1661-4142-9874-31b1a7d43315', + 'x-ms-version', + '2019-02-02', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-continuation-NextTableName', + '1!68!dGVzdHRhYmxlc2FzY29ubmVjdGlvbnN0cmluZ25vZGUBMDFkN2E0MDRjYzE3YTg4Mg--', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Tue, 07 Sep 2021 16:24:16 GMT' +]); + +nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) + .get('/Tables') + .query(true) + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"TestTestTest"}]}, [ + 'Cache-Control', + 'no-cache', + 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', + 'Server', + 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '00765b2c-e002-0038-2804-a4c0e6000000', + 'x-ms-client-request-id', + 'e4dbd0fe-8288-422d-9d00-5a10abfeb037', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -149,5 +179,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 09 Jun 2021 16:21:47 GMT' + 'Tue, 07 Sep 2021 16:24:16 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_create_get_table_and_delete/recording_should_create_new_table_then_delete.js b/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_create_get_table_and_delete/recording_should_create_new_table_then_delete.js index 23d9a0b552fe..96ff3eb0d351 100644 --- a/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_create_get_table_and_delete/recording_should_create_new_table_then_delete.js +++ b/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_create_get_table_and_delete/recording_should_create_new_table_then_delete.js @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '746a1598-97d0-4021-b5f2-2b456c8d1001', + '574b1f25-366b-4e08-b687-693cc2ab1701', 'x-ms-ests-server', - '2.1.11829.4 - WUS2 ProdSlices', + '2.1.12011.8 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:40 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AqNx0-8bzkBBiOr7Ruql_5E; expires=Thu, 07-Oct-2021 16:24:08 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrsrIcN5b4bjfJ4plqevlUjn4-14Q5SJIiShlvRoFrBb9Gb3fUooDrDWk_qK9O8t8P3ILdxYLsS_gZjvkJKvuQgZtfY-4PhcmIuGrIhU-EnXhQQs2GP6DmI6S7aA--Jsua8wHoT9MdjjW4F3CrDo8syS_ykJyDjZCDDRv6j-jRShQgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrLnYuUMIcsHOeHkFODDuR81Fe4Fdk8W23__TGZ6GfGQhkaMxNUA7NxN36bvhkEWYkIZJKIKTgCD8boW93hacNSpF8CLfGJZKB4RFk2yEJgF3YJ-W4RfTudqTeI_PoaeIPWjkJT099bXEQX2u8nxs2CuXXz8DKvCz91xSpmLqPBesgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:40 GMT', + 'Tue, 07 Sep 2021 16:24:08 GMT', 'Content-Length', '980' ]); @@ -58,30 +58,32 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '5b76ab08-ca3a-412b-b1bd-cc764e451100', + '0b31d432-69b8-464d-bd7e-e891d3a30401', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCgAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:40 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AltcGYQCVP5KpTx7nH4ZErY; expires=Thu, 07-Oct-2021 16:24:08 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrW8lTQnuPS0ebdUdwmQ8R-i-5D4BbMtxAlyHr39z_AW5t_-94nL22_WxjAzLsGeeKtBGCHvQ8FlC67gP5eNQFAlGFK3lvvh319nSjRsNpiToh8kYtN1xwnq-bO4uwDQ_RjG-DHTreRJm7WgWxuL-VnwILSkeSb6KwqES5pml3wREgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrg-dFjm6FG2jPedAZ4MwMN2Bf87UAKl5cstgGPGMJS_wrZ5KNfJnE_b3lda1fZ65cDeAQ9FwDKBc6MfMB0mhCGzyvus5VNlu0804Bv-tGctBs3kwVkTAmm2XFjHYIa1ioW2Dsnic-kqg9pOD6jXqS1GaFlVfy9vzROdO5f0b9iywgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:40 GMT', + 'Tue, 07 Sep 2021 16:24:08 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=e3e0aa3b-9be0-46aa-bbcb-950a0792b4a5&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=70d795aa-495f-47f9-af34-1dcfe9770009&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '1318', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -93,21 +95,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'add56cbb-1ad9-403e-8f99-053441c90900', + 'cf8bdb5c-193b-458c-942a-2d437e2cd200', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:40 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Aj_WGXzEmlVLorpNzRFTInY; expires=Thu, 07-Oct-2021 16:24:09 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:40 GMT', - 'Content-Length', - '1318' + 'Tue, 07 Sep 2021 16:24:08 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -124,9 +124,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fd41-1002-0129-66a5-64b1a8000000', + '00765580-e002-0038-1c04-a4c0e6000000', 'x-ms-client-request-id', - 'bc906706-c2e5-4ed9-9ad4-117997ac5ef8', + '3925835a-6fc6-42e7-ad01-42ef43bb0c0c', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -134,12 +134,12 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Preference-Applied', 'return-content', 'Date', - 'Sat, 19 Jun 2021 00:55:40 GMT' + 'Tue, 07 Sep 2021 16:24:08 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"testTableTokenCredentialnode"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"CreateSimpleEntityBatchPerf"},{"TableName":"createTableNew"},{"TableName":"createTableNew2"},{"TableName":"createTableOld"},{"TableName":"testTable"},{"TableName":"testTableTokenCredentialnode"},{"TableName":"TestTestTest"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -149,9 +149,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fd51-1002-0129-75a5-64b1a8000000', + '0076558c-e002-0038-2504-a4c0e6000000', 'x-ms-client-request-id', - 'd61c0b93-81d2-4d02-92cc-651c41321f0c', + '81708391-6d18-42d8-9ea6-6fee60cc10dc', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -161,7 +161,7 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:40 GMT' + 'Tue, 07 Sep 2021 16:24:08 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) @@ -174,13 +174,13 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52fd5d-1002-0129-80a5-64b1a8000000', + '0076559f-e002-0038-3704-a4c0e6000000', 'x-ms-client-request-id', - '58cb6498-d66a-43b1-9bb1-629630ed3fdf', + '10a6e735-5a20-42c1-8c41-e125a6f7c7d5', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'Date', - 'Sat, 19 Jun 2021 00:55:40 GMT' + 'Tue, 07 Sep 2021 16:24:09 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_listtables/recording_should_list_all.js b/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_listtables/recording_should_list_all.js index ae9ddd9761bf..221c47a5e80a 100644 --- a/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_listtables/recording_should_list_all.js +++ b/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_listtables/recording_should_list_all.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "f54112350519da785929ef017a710193"; +module.exports.hash = "52a8332831af807d4edad5bb4843c3eb"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '96f8cb1e-95a3-45d3-9cf3-c8a84c1ee400', + 'b707ec3c-26af-4c66-a0a1-fdf10a4d9200', 'x-ms-ests-server', - '2.1.11829.4 - WUS2 ProdSlices', + '2.1.12011.8 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:41 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AhkMM4K3Os5LuEj_-zxeGd8; expires=Thu, 07-Oct-2021 16:24:11 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr4t61NjsTpg-U4VEwYkwboa_V8Jl3wKyrygkC6252N4pt0PvRZBO_jLQy1gmml7mbX5gC3kscC3LNkIr-1ZsNUzsRN0htKtZs27uD75NtZyXoQH02_-jOXAvDCQz-wYyZSfaKKBGXFfH7mDhKsb5Sxk0rQzVKL7wB8DmaGSV_M7MgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrQkVtcdDkEIRt4OPZcSlnqRCAEpcLOtXNyNKEl5q8vHGqoCb7DMXL7LE5fwB4zpaJ5-ldXnr9CbzyVCWBWF4MYCKcEAQvrROAZcyKO9pK1wZxR45zfOzlsjMlmj2yIx-TR4tfBPhydlxnwBuR68wZi2FoWYohA2tNWSAkgYplRPcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:41 GMT', + 'Tue, 07 Sep 2021 16:24:10 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '63adac0c-4d93-4567-a4a3-3152ea470400', + 'ac8c2044-968d-41cb-beb9-7da669a5fa00', 'x-ms-ests-server', - '2.1.11829.8 - EUS ProdSlices', + '2.1.12025.12 - EUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:41 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=Av2vesjdmslFiL9IU72gBnE; expires=Thu, 07-Oct-2021 16:24:11 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrU5c_HJ4vRBzbEBmZJMpsXoYNZZ8ZQNSvGlVqveqLWafLthGf_Kwe5JMyTwm7yUy2H7k8OLje7gzuxev5Mg3t3hAFix_xvaJG6anBUblJ--qqccf6fcn7C5XO0JxxFj25a1fqCy-pzFHlLqeEI6a2o04MOsGKqeD1THJrLB64kN8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrLr-LgnuHlVhN1SqKOf6hPkP9CgTmwrjkGAjMH7WOBMi3iRg2DCI7LABsW1Ru1UNr1tl6yH_IwPPq6EYXyBT11hn_Zq2C77gFae2HMCqomOXdZfBIGoI823G6aGbHDpHZ7qfzVbEvI1djQYXTwT6c9kSGN9ZfwcJRv8V5nkxD8pUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:41 GMT', + 'Tue, 07 Sep 2021 16:24:10 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=c75ae3de-dab3-43d7-b0b8-48e3f4492799&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=e230ae30-ad15-4bf9-95b6-4dc5a7009bfc&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,26 +93,26 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '5b76ab08-ca3a-412b-b1bd-cc7682451100', + 'c3900f77-94db-440f-a455-102c42b9da00', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - WUS2 ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:42 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ApLmIV1N-FJIi79uB2dwKC8; expires=Thu, 07-Oct-2021 16:24:11 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:41 GMT', + 'Tue, 07 Sep 2021 16:24:10 GMT', 'Content-Length', '1318' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode0"},{"TableName":"ListTableTestTokenCredentialnode1"},{"TableName":"ListTableTestTokenCredentialnode10"},{"TableName":"ListTableTestTokenCredentialnode11"},{"TableName":"ListTableTestTokenCredentialnode12"},{"TableName":"ListTableTestTokenCredentialnode13"},{"TableName":"ListTableTestTokenCredentialnode14"},{"TableName":"ListTableTestTokenCredentialnode15"},{"TableName":"ListTableTestTokenCredentialnode16"},{"TableName":"ListTableTestTokenCredentialnode17"},{"TableName":"ListTableTestTokenCredentialnode18"},{"TableName":"ListTableTestTokenCredentialnode19"},{"TableName":"ListTableTestTokenCredentialnode2"},{"TableName":"ListTableTestTokenCredentialnode3"},{"TableName":"ListTableTestTokenCredentialnode4"},{"TableName":"ListTableTestTokenCredentialnode5"},{"TableName":"ListTableTestTokenCredentialnode6"},{"TableName":"ListTableTestTokenCredentialnode7"},{"TableName":"ListTableTestTokenCredentialnode8"},{"TableName":"ListTableTestTokenCredentialnode9"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"CreateSimpleEntityBatchPerf"},{"TableName":"createTableNew"},{"TableName":"createTableNew2"},{"TableName":"createTableOld"},{"TableName":"ListTableTestTokenCredentialnode0"},{"TableName":"ListTableTestTokenCredentialnode1"},{"TableName":"ListTableTestTokenCredentialnode10"},{"TableName":"ListTableTestTokenCredentialnode11"},{"TableName":"ListTableTestTokenCredentialnode12"},{"TableName":"ListTableTestTokenCredentialnode13"},{"TableName":"ListTableTestTokenCredentialnode14"},{"TableName":"ListTableTestTokenCredentialnode15"},{"TableName":"ListTableTestTokenCredentialnode16"},{"TableName":"ListTableTestTokenCredentialnode17"},{"TableName":"ListTableTestTokenCredentialnode18"},{"TableName":"ListTableTestTokenCredentialnode19"},{"TableName":"ListTableTestTokenCredentialnode2"},{"TableName":"ListTableTestTokenCredentialnode3"},{"TableName":"ListTableTestTokenCredentialnode4"},{"TableName":"ListTableTestTokenCredentialnode5"},{"TableName":"ListTableTestTokenCredentialnode6"},{"TableName":"ListTableTestTokenCredentialnode7"},{"TableName":"ListTableTestTokenCredentialnode8"},{"TableName":"ListTableTestTokenCredentialnode9"},{"TableName":"testTable"},{"TableName":"TestTestTest"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -122,9 +122,9 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52ff38-1002-0129-2ba5-64b1a8000000', + '00765739-e002-0038-1604-a4c0e6000000', 'x-ms-client-request-id', - '60bf61e9-45ac-471e-9073-37b71501d9c8', + '96d23a15-aae9-4786-a72f-3885c246ae09', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -134,5 +134,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:41 GMT' + 'Tue, 07 Sep 2021 16:24:11 GMT' ]); diff --git a/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_listtables/recording_should_list_by_page.js b/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_listtables/recording_should_list_by_page.js index 3b5cf403e7d9..fe0aa05b154a 100644 --- a/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_listtables/recording_should_list_by_page.js +++ b/sdk/tables/data-tables/recordings/node/tableserviceclient_tokencredential_listtables/recording_should_list_by_page.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.hash = "12027aefd98a3936ec9210ef1fd1acf3"; +module.exports.hash = "0645e2b17e9dfa27243e0947f4d8fed4"; module.exports.testInfo = {"uniqueName":{},"newDate":{}} @@ -23,19 +23,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - 'cf449b9e-30a2-47dd-bf50-9a5fb1f11600', + '5ae1895b-8b4e-4bec-95da-085cbfbcf200', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12011.8 - WUS2 ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:42 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=ArdR4qqOlJRBu93_BBxrmSM; expires=Thu, 07-Oct-2021 16:24:11 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrts_9ibzfPtWlY6XfBKllsv--9co513hb0XA5v2IysWiKMnB-ASqc3mfCWmIwpV_MkZ8R361wrZZtfiqlGsuzJ7GT81vUWrwx2UMTqHMztLVvba1aV-iTurDtNNM_QK3eV78aLpgFH1cOACwoUx9u43u8kM2BO0Wfjbi3ZwlpBzkgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrm86p6qXLgKWen5Cs52EUnpcR2Cf3czxF-zbYJZzBnTZU2MDJFMQf2sAA3dHWxPvX7r_3Dq-Jop_KJKAn58pq6_CmvoOrWW-DhaHbbkzbSk6WGBbNygWxQ7SJ-g0BrOoRw7KrwP1QvDhLvvRu-lXu0iNTxzNs7QfsFDgg7erj2j0gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:42 GMT', + 'Tue, 07 Sep 2021 16:24:11 GMT', 'Content-Length', '980' ]); @@ -58,25 +58,25 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '110fb2cd-31b2-4137-b1c7-1bc19dd71100', + '0c1e8605-1d40-486a-8441-85bab24ac800', 'x-ms-ests-server', - '2.1.11829.8 - WUS2 ProdSlices', + '2.1.12025.12 - NCUS ProdSlices', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:42 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AgvSDWN8iO5GiG1XsUq49B0; expires=Thu, 07-Oct-2021 16:24:11 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', - 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrOAGVjCrnr6mVQYJ-d32Ez8wWSdSf4oiRbw2hz0eHyWmtBfwHMXNXmx-PwiGWFYXZ7kpu75MR6xVuFbp67sOSsxDvr3iH1kKG-BtDzLpwChPXtQuEArSYQEeCDIMBtFou8licY68aGfMKI2zkrZCf-nft5qmnD505uesktlONQqogAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', + 'esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrKjiQsDKh-sak_fkaD_vwCTHKVxiVGwK0iZspKhqBtjvr0eo-JqcJCQBJFn67CP69-rzURm5bcPQCdrC-kgREsIo4GceS-NLgwrB8lmx17dYR_UbHc-LsGXNCGIn7DrBMVl67CWXldlGXoVp1U_FL0O-DrznkK3gX8YcR4Qd1kWEgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:42 GMT', + 'Tue, 07 Sep 2021 16:24:11 GMT', 'Content-Length', '1753' ]); nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) - .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.1.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=2|771,0|,&x-client-last-telemetry=2|0|||0,0&client-request-id=1f0fcce6-6334-4fdc-9fdd-3cfe827a8c43&client_secret=azure_client_secret") + .post('/88888888-8888-8888-8888-888888888888/oauth2/v2.0/token', "client_id=azure_client_id&scope=https%3A%2F%2Fsanitized%2F&grant_type=client_credentials&x-client-SKU=msal.js.node&x-client-VER=1.3.0&x-client-OS=linux&x-client-CPU=x64&x-ms-lib-capability=retry-after, h429&x-client-current-telemetry=5|771,2,,,|,&x-client-last-telemetry=5|0|||0,0&client-request-id=48b4e63d-ab47-45c6-a022-ee829fdc61b8&client_secret=azure_client_secret&claims=%7B%22access_token%22%3A%7B%22xms_cc%22%3A%7B%22values%22%3A%5B%22CP1%22%5D%7D%7D%7D") .reply(200, {"token_type":"Bearer","expires_in":86399,"ext_expires_in":86399,"access_token":"access_token"}, [ 'Cache-Control', 'no-store, no-cache', @@ -93,19 +93,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'x-ms-request-id', - '46621f17-9866-47c3-a5b1-868aedb90900', + '1e835f92-f254-434b-b330-e219ff1ad200', 'x-ms-ests-server', - '2.1.11829.8 - SCUS ProdSlices', + '2.1.12025.12 - SCUS ProdSlices', 'x-ms-clitelem', '1,0,0,,', 'Set-Cookie', - 'fpc=Am7dTJW8_JpAtBhW6bg0-FLJVDEwCwAAAII3X9gOAAAA; expires=Mon, 19-Jul-2021 00:55:42 GMT; path=/; secure; HttpOnly; SameSite=None', + 'fpc=AkVCMB-EwRtLvPQv1A8jlR8; expires=Thu, 07-Oct-2021 16:24:11 GMT; path=/; secure; HttpOnly; SameSite=None', 'Set-Cookie', 'x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly', 'Set-Cookie', 'stsservicecookie=estsfd; path=/; secure; samesite=none; httponly', 'Date', - 'Sat, 19 Jun 2021 00:55:42 GMT', + 'Tue, 07 Sep 2021 16:24:11 GMT', 'Content-Length', '1318' ]); @@ -113,7 +113,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode0"},{"TableName":"ListTableTestTokenCredentialnode1"},{"TableName":"ListTableTestTokenCredentialnode10"},{"TableName":"ListTableTestTokenCredentialnode11"},{"TableName":"ListTableTestTokenCredentialnode12"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"CreateSimpleEntityBatchPerf"},{"TableName":"createTableNew"},{"TableName":"createTableNew2"},{"TableName":"createTableOld"},{"TableName":"ListTableTestTokenCredentialnode0"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -123,27 +123,27 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52ffb1-1002-0129-1ea5-64b1a8000000', + '0076578e-e002-0038-6704-a4c0e6000000', 'x-ms-client-request-id', - '545c3bfa-45ae-44d7-a9ee-3147abe49b10', + '30c66194-4bd2-4c16-9a07-3cad380856ed', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'x-ms-continuation-NextTableName', - '1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGUxMwEwMWQ3NjRhNWQzYTQwOGQ1', + '1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGUxATAxZDdhNDA0Yzk1OTY5NGY-', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:42 GMT' + 'Tue, 07 Sep 2021 16:24:11 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode13"},{"TableName":"ListTableTestTokenCredentialnode14"},{"TableName":"ListTableTestTokenCredentialnode15"},{"TableName":"ListTableTestTokenCredentialnode16"},{"TableName":"ListTableTestTokenCredentialnode17"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode1"},{"TableName":"ListTableTestTokenCredentialnode10"},{"TableName":"ListTableTestTokenCredentialnode11"},{"TableName":"ListTableTestTokenCredentialnode12"},{"TableName":"ListTableTestTokenCredentialnode13"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -153,27 +153,27 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52ffc0-1002-0129-2aa5-64b1a8000000', + '007657a8-e002-0038-7d04-a4c0e6000000', 'x-ms-client-request-id', - '0fccc29f-49d9-47cd-8cc7-1e11c615fc98', + '6d3f126b-3232-4da9-837e-fd81d3238607', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'x-ms-continuation-NextTableName', - '1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGUxOAEwMWQ3NjRhNWQzY2ZkYmUx', + '1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGUxNAEwMWQ3YTQwNGNhMDM4M2I2', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:42 GMT' + 'Tue, 07 Sep 2021 16:24:11 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode18"},{"TableName":"ListTableTestTokenCredentialnode19"},{"TableName":"ListTableTestTokenCredentialnode2"},{"TableName":"ListTableTestTokenCredentialnode3"},{"TableName":"ListTableTestTokenCredentialnode4"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode14"},{"TableName":"ListTableTestTokenCredentialnode15"},{"TableName":"ListTableTestTokenCredentialnode16"},{"TableName":"ListTableTestTokenCredentialnode17"},{"TableName":"ListTableTestTokenCredentialnode18"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -183,27 +183,27 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52ffce-1002-0129-37a5-64b1a8000000', + '007657ba-e002-0038-0e04-a4c0e6000000', 'x-ms-client-request-id', - '85a735ef-1b52-450b-966d-fbebb24d103c', + 'e1e758a7-dff2-4fc1-8715-941818a9c862', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'x-ms-continuation-NextTableName', - '1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGU1ATAxZDc2NGE1ZDM2YWM1Y2I-', + '1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGUxOQEwMWQ3YTQwNGNhNDQ0MWVi', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:42 GMT' + 'Tue, 07 Sep 2021 16:24:11 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode5"},{"TableName":"ListTableTestTokenCredentialnode6"},{"TableName":"ListTableTestTokenCredentialnode7"},{"TableName":"ListTableTestTokenCredentialnode8"},{"TableName":"ListTableTestTokenCredentialnode9"}]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode19"},{"TableName":"ListTableTestTokenCredentialnode2"},{"TableName":"ListTableTestTokenCredentialnode3"},{"TableName":"ListTableTestTokenCredentialnode4"},{"TableName":"ListTableTestTokenCredentialnode5"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -213,27 +213,27 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52ffd7-1002-0129-40a5-64b1a8000000', + '007657cf-e002-0038-2204-a4c0e6000000', 'x-ms-client-request-id', - 'aaa77c8d-80de-4b40-a45a-604dc9ba03aa', + '432a9589-e709-46f8-951f-b9d82760b78b', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', 'nosniff', 'x-ms-continuation-NextTableName', - '1!68!dGFibGVjbGllbnR0ZXN0dG9rZW5jcmVkZW50aWFsbm9kZQEwMWQ3NjRhNWNmMGViMzAx', + '1!68!bGlzdHRhYmxldGVzdHRva2VuY3JlZGVudGlhbG5vZGU2ATAxZDdhNDA0Yzk5YmQ1ODI-', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:42 GMT' + 'Tue, 07 Sep 2021 16:24:11 GMT' ]); nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) .get('/Tables') .query(true) - .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[]}, [ + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"ListTableTestTokenCredentialnode6"},{"TableName":"ListTableTestTokenCredentialnode7"},{"TableName":"ListTableTestTokenCredentialnode8"},{"TableName":"ListTableTestTokenCredentialnode9"},{"TableName":"testTable"}]}, [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', @@ -243,9 +243,39 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Server', 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c52ffeb-1002-0129-53a5-64b1a8000000', + '007657ea-e002-0038-3904-a4c0e6000000', 'x-ms-client-request-id', - '5db831f3-f77f-491b-8552-d22597a9e74d', + 'b5c34f1f-6e66-4b3a-8ec3-7ea757120731', + 'x-ms-version', + '2019-02-02', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-continuation-NextTableName', + '1!60!dGVzdHRhYmxldG9rZW5jcmVkZW50aWFsbm9kZQEwMWQ3YTQwNGM5MjJlNjI3', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,X-Content-Type-Options,Cache-Control,x-ms-continuation-NextTableName,Content-Type,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Tue, 07 Sep 2021 16:24:11 GMT' +]); + +nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":true}) + .get('/Tables') + .query(true) + .reply(200, {"odata.metadata":"https://fakeaccount.table.core.windows.net/$metadata#Tables","value":[{"TableName":"TestTestTest"}]}, [ + 'Cache-Control', + 'no-cache', + 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/json;odata=minimalmetadata;streaming=true;charset=utf-8', + 'Server', + 'Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '007657fa-e002-0038-4704-a4c0e6000000', + 'x-ms-client-request-id', + '36cdfb1b-ff99-4dad-97fc-65e35370f1a2', 'x-ms-version', '2019-02-02', 'X-Content-Type-Options', @@ -255,5 +285,5 @@ nock('https://fakeaccount.table.core.windows.net:443', {"encodedQueryParams":tru 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 19 Jun 2021 00:55:42 GMT' + 'Tue, 07 Sep 2021 16:24:11 GMT' ]); diff --git a/sdk/tables/data-tables/src/generated/generatedClientContext.ts b/sdk/tables/data-tables/src/generated/generatedClientContext.ts index 23ddbd8da9ee..f51a903e1793 100644 --- a/sdk/tables/data-tables/src/generated/generatedClientContext.ts +++ b/sdk/tables/data-tables/src/generated/generatedClientContext.ts @@ -32,7 +32,7 @@ export class GeneratedClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-data-tables/12.1.1`; + const packageDetails = `azsdk-js-data-tables/12.1.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/tables/data-tables/src/serialization.ts b/sdk/tables/data-tables/src/serialization.ts index 4b316a546ec2..9bc525260b9a 100644 --- a/sdk/tables/data-tables/src/serialization.ts +++ b/sdk/tables/data-tables/src/serialization.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import { base64Encode, base64Decode } from "./utils/bufferSerializer"; -import { Edm as EdmModel, EdmTypes, SignedIdentifier } from "./models"; +import { EdmTypes, SignedIdentifier } from "./models"; import { truncatedISO8061Date } from "./utils/truncateISO8061Date"; import { SignedIdentifier as GeneratedSignedIdentifier } from "./generated/models"; @@ -145,8 +145,8 @@ export function deserialize>( if (`${key}@odata.type` in obj) { const type = (obj as any)[`${key}@odata.type`]; typedValue = getTypedObject(value, type, disableTypeConversion); - } else if (disableTypeConversion && ["number", "string"].includes(typeof value)) { - // The service, doesn't return type metadata for number or strings + } else if (disableTypeConversion && ["number", "string", "boolean"].includes(typeof value)) { + // The service, doesn't return type metadata for number, strings or booleans // if automatic type conversion is disabled we'll infer the EDM object typedValue = inferTypedObject(key, value); } @@ -157,23 +157,33 @@ export function deserialize>( return deserialized; } -function inferTypedObject(propertyName: string, value: number | string) { +function inferTypedObject(propertyName: string, value: number | string | boolean) { // We need to skip service metadata fields such as partitionKey and rowKey and use the same value returned by the service if (propertyCaseMap.has(propertyName)) { return value; } - return typeof value === "string" ? { value, type: "String" } : getTypedNumber(value); + switch (typeof value) { + case "boolean": + return { value: String(value), type: "Boolean" }; + case "number": + return getTypedNumber(value); + case "string": + return { value, type: "String" }; + default: + return value; + } } /** * Returns the number when typeConversion is enabled or the EDM object with the correct number format Double or Int32 if disabled */ -function getTypedNumber(value: number): EdmModel<"Double"> | EdmModel<"Int32"> { +function getTypedNumber(value: number): { value: string; type: "Int32" | "Double" } { + const valueStr = String(value); if (Number.isInteger(value)) { - return { value, type: "Int32" }; + return { value: valueStr, type: "Int32" }; } else { - return { value, type: "Double" }; + return { value: valueStr, type: "Double" }; } } diff --git a/sdk/tables/data-tables/swagger/README.md b/sdk/tables/data-tables/swagger/README.md index 668d797ed988..5064174ffed9 100644 --- a/sdk/tables/data-tables/swagger/README.md +++ b/sdk/tables/data-tables/swagger/README.md @@ -6,7 +6,7 @@ ```yaml v3: true -package-version: 12.1.1 +package-version: 12.1.2 package-name: "@azure/data-tables" title: TablesClient description: Tables Client diff --git a/sdk/tables/data-tables/test/internal/fakeTestSecrets.ts b/sdk/tables/data-tables/test/internal/fakeTestSecrets.ts new file mode 100644 index 000000000000..ad01ec6e0d5a --- /dev/null +++ b/sdk/tables/data-tables/test/internal/fakeTestSecrets.ts @@ -0,0 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +export const expectedSharedKeyLiteHeader = + "SharedKeyLite accountName:mzKy4ZjXbTEueNQp2cxou+kKrfCnWpdau5I6kJIO58g="; diff --git a/sdk/tables/data-tables/test/internal/serialization.spec.ts b/sdk/tables/data-tables/test/internal/serialization.spec.ts index cce68ed94f5a..d3a8ac2e45c8 100644 --- a/sdk/tables/data-tables/test/internal/serialization.spec.ts +++ b/sdk/tables/data-tables/test/internal/serialization.spec.ts @@ -190,7 +190,7 @@ describe("Deserializer", () => { }, true ); - assert.strictEqual(deserialized.int64ObjProp.value, int64Value); + assert.strictEqual(deserialized.int64ObjProp.value, `${int64Value}`); assert.strictEqual(deserialized.int64ObjProp.type, "Int64"); }); @@ -202,10 +202,22 @@ describe("Deserializer", () => { }, true ); - assert.strictEqual(deserialized.intValue.value, intValue); + assert.strictEqual(deserialized.intValue.value, `${intValue}`); assert.strictEqual(deserialized.intValue.type, "Int32"); }); + it("should return an EDM object for Boolean when disableTypeConversion is true", () => { + const boolValue = true; + const deserialized = deserialize( + { + boolValue + }, + true + ); + assert.strictEqual(deserialized.boolValue.value, `${boolValue}`); + assert.strictEqual(deserialized.boolValue.type, "Boolean"); + }); + it("should return an EDM object for String when disableTypeConversion is true", () => { // JavaScript number primitive drops the decimal places if they are zero. JSON parser has no way to // preserve zero decimals during parsing so 123.00 is interpreted as an integer @@ -230,7 +242,7 @@ describe("Deserializer", () => { }, true ); - assert.strictEqual(deserialized.intValue.value, doubleValue); + assert.strictEqual(deserialized.intValue.value, `${doubleValue}`); assert.strictEqual(deserialized.intValue.type, "Int32"); }); @@ -244,7 +256,7 @@ describe("Deserializer", () => { }, true ); - assert.strictEqual(deserialized.intValue.value, doubleValue); + assert.strictEqual(deserialized.intValue.value, `${doubleValue}`); assert.strictEqual(deserialized.intValue.type, "Double"); }); diff --git a/sdk/tables/data-tables/test/internal/sharedKeyCredential.spec.ts b/sdk/tables/data-tables/test/internal/sharedKeyCredential.spec.ts index baf9d75ec733..c095174de054 100644 --- a/sdk/tables/data-tables/test/internal/sharedKeyCredential.spec.ts +++ b/sdk/tables/data-tables/test/internal/sharedKeyCredential.spec.ts @@ -14,6 +14,7 @@ import { assert } from "chai"; import { tablesNamedKeyCredentialPolicy } from "../../src/tablesNamedCredentialPolicy"; import { AzureNamedKeyCredential } from "@azure/core-auth"; +import { expectedSharedKeyLiteHeader } from "./fakeTestSecrets"; describe("TablesSharedKeyCredential", () => { let originalToUTCString: () => string; @@ -45,9 +46,6 @@ describe("TablesSharedKeyCredential", () => { const policy = tablesNamedKeyCredentialPolicy(cred); const response = await policy.sendRequest(requestToSign, next); assert.strictEqual(response.status, 200); - assert.deepEqual( - response.request.headers.get("authorization"), - "SharedKeyLite accountName:mzKy4ZjXbTEueNQp2cxou+kKrfCnWpdau5I6kJIO58g=" - ); + assert.deepEqual(response.request.headers.get("authorization"), expectedSharedKeyLiteHeader); }); }); diff --git a/sdk/tables/data-tables/test/public/accessPolicy.spec.ts b/sdk/tables/data-tables/test/public/accessPolicy.spec.ts index 5bc6e4cb5380..fbcc9fb6a18d 100644 --- a/sdk/tables/data-tables/test/public/accessPolicy.spec.ts +++ b/sdk/tables/data-tables/test/public/accessPolicy.spec.ts @@ -3,7 +3,7 @@ import { TableClient } from "../../src"; import { Context } from "mocha"; -import { record, Recorder, isPlaybackMode } from "@azure/test-utils-recorder"; +import { record, Recorder, isPlaybackMode } from "@azure-tools/test-recorder"; import { recordedEnvironmentSetup, createTableClient } from "./utils/recordedClient"; import { isNode } from "@azure/test-utils"; import { assert } from "chai"; diff --git a/sdk/tables/data-tables/test/public/tableclient.spec.ts b/sdk/tables/data-tables/test/public/tableclient.spec.ts index 35f74d1ece28..311ac62f5b7e 100644 --- a/sdk/tables/data-tables/test/public/tableclient.spec.ts +++ b/sdk/tables/data-tables/test/public/tableclient.spec.ts @@ -4,7 +4,7 @@ import { TableClient, TableEntity, Edm, odata } from "../../src"; import { Context } from "mocha"; import { assert } from "chai"; -import { record, Recorder, isPlaybackMode, isLiveMode } from "@azure/test-utils-recorder"; +import { record, Recorder, isPlaybackMode, isLiveMode } from "@azure-tools/test-recorder"; import { recordedEnvironmentSetup, createTableClient, @@ -107,22 +107,28 @@ authModes.forEach((authMode) => { }).timeout(10000); it("should list by page", async function() { - const totalItems = 21; + const barItems = 20; const maxPageSize = 5; const entities = client.listEntities({ queryOptions: { filter: odata`PartitionKey eq ${listPartitionKey}` } }); let all: TestEntity[] = []; - let i = 0; for await (const entity of entities.byPage({ maxPageSize })) { - i++; all = [...all, ...entity]; } + for (let i = 0; i < barItems; i++) { + assert.isTrue( + all.some((e) => e.rowKey === `${i}`), + `Couldn't find entity with row key ${i}` + ); + } - assert.lengthOf(all, totalItems); - assert.equal(i, Math.ceil(totalItems / maxPageSize)); + assert.isTrue( + all.some((e) => e.rowKey === `binary1`), + `Couldn't find entity with row key binary1` + ); }); it("should list with filter", async function() { @@ -136,7 +142,12 @@ authModes.forEach((authMode) => { all = [...all, entity]; } - assert.lengthOf(all, barItems); + for (let i = 0; i < barItems; i++) { + assert.isTrue( + all.some((e) => e.rowKey === `${i}`), + `Couldn't find entity with row key ${i}` + ); + } }); it("should list binary with filter", async function() { @@ -151,8 +162,6 @@ authModes.forEach((authMode) => { all = [...all, entity]; } - assert.lengthOf(all, 1); - if (isNode) { assert.deepEqual(all[0].foo, Buffer.from("Bar")); } @@ -401,16 +410,23 @@ authModes.forEach((authMode) => { }); it("should createEntity with primitive int and float without automatic type conversion", async () => { - type TestType = { integerNumber: number; floatingPointNumber: number }; + type TestType = { + integerNumber: number; + floatingPointNumber: number; + booleanValue: boolean; + }; const testEntity: TableEntity = { partitionKey: `P8_${suffix}`, rowKey: "R8", integerNumber: 3, - floatingPointNumber: 3.14 + floatingPointNumber: 3.14, + booleanValue: true }; let createResult: FullOperationResponse | undefined; let deleteResult: FullOperationResponse | undefined; - await client.createEntity(testEntity, { onResponse: (res) => (createResult = res) }); + await client.createEntity(testEntity, { + onResponse: (res) => (createResult = res) + }); const result = await client.getEntity(testEntity.partitionKey, testEntity.rowKey, { disableTypeConversion: true }); @@ -422,8 +438,18 @@ authModes.forEach((authMode) => { assert.equal(createResult?.status, 204); assert.equal(result.partitionKey, testEntity.partitionKey); assert.equal(result.rowKey, testEntity.rowKey); - assert.deepEqual(result.integerNumber, { value: 3, type: "Int32" }); - assert.deepEqual(result.floatingPointNumber, { value: 3.14, type: "Double" }); + assert.deepEqual(result.integerNumber, { + value: "3", + type: "Int32" + }); + assert.deepEqual(result.floatingPointNumber, { + value: "3.14", + type: "Double" + }); + assert.deepEqual(result.booleanValue, { + value: "true", + type: "Boolean" + }); }); }); }); diff --git a/sdk/tables/data-tables/test/public/tableserviceclient.spec.ts b/sdk/tables/data-tables/test/public/tableserviceclient.spec.ts index 405a29b8250d..81d9d412ec35 100644 --- a/sdk/tables/data-tables/test/public/tableserviceclient.spec.ts +++ b/sdk/tables/data-tables/test/public/tableserviceclient.spec.ts @@ -3,7 +3,7 @@ import { TableItem, TableServiceClient } from "../../src"; import { Context } from "mocha"; -import { record, Recorder, isPlaybackMode, isLiveMode } from "@azure/test-utils-recorder"; +import { record, Recorder, isPlaybackMode, isLiveMode } from "@azure-tools/test-recorder"; import { recordedEnvironmentSetup, createTableServiceClient, @@ -98,21 +98,31 @@ authModes.forEach((authMode) => { for await (const table of tables) { all.push(table); } - assert.equal(all.length, expectedTotalItems); + for (let i = 0; i < expectedTotalItems; i++) { + assert.isTrue( + all.some((t) => t.name === `ListTableTest${suffix}${i}`), + `Couldn't find table ListTableTest${suffix}${i}` + ); + } }); it("should list by page", async function() { + let all: TableItem[] = []; const maxPageSize = 5; const tables = client.listTables(); - let totalItems = 0; for await (const page of tables.byPage({ maxPageSize })) { - totalItems += page.length; + all = [...all, ...page]; assert.isTrue(page.length <= 5); } - assert.equal(totalItems, expectedTotalItems); + for (let i = 0; i < expectedTotalItems; i++) { + assert.isTrue( + all.some((t) => t.name === `ListTableTest${suffix}${i}`), + `Couldn't find table ListTableTest${suffix}${i}` + ); + } }); }); }); diff --git a/sdk/tables/data-tables/test/public/transaction.spec.ts b/sdk/tables/data-tables/test/public/transaction.spec.ts index 2c5ed0dd5553..4d2bfc880f5b 100644 --- a/sdk/tables/data-tables/test/public/transaction.spec.ts +++ b/sdk/tables/data-tables/test/public/transaction.spec.ts @@ -4,7 +4,7 @@ import { TableClient, odata, TransactionAction, TableTransaction } from "../../src"; import { Context } from "mocha"; import { assert } from "chai"; -import { record, Recorder, isPlaybackMode, isLiveMode } from "@azure/test-utils-recorder"; +import { record, Recorder, isPlaybackMode, isLiveMode } from "@azure-tools/test-recorder"; import { recordedEnvironmentSetup, createTableClient, diff --git a/sdk/tables/data-tables/test/public/utils/recordedClient.ts b/sdk/tables/data-tables/test/public/utils/recordedClient.ts index 7f2f08e8f590..6d382203aba6 100644 --- a/sdk/tables/data-tables/test/public/utils/recordedClient.ts +++ b/sdk/tables/data-tables/test/public/utils/recordedClient.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { env, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { ClientSecretCredential } from "@azure/identity"; import { TableClient, TableServiceClient } from "../../../src"; diff --git a/sdk/tables/perf-tests/data-tables/README.md b/sdk/tables/perf-tests/data-tables/README.md index d623e11df585..336939cf6042 100644 --- a/sdk/tables/perf-tests/data-tables/README.md +++ b/sdk/tables/perf-tests/data-tables/README.md @@ -6,9 +6,9 @@ 2. Copy the `sample.env` file and name it as `.env`. 3. Create a Storage or CosmosDB account and populate the `.env` file with the relevant credentials. 4. Refer to the [Storage](https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits#storage-limits) or [CosmosDB](https://docs.microsoft.com/azure/cosmos-db/concepts-limits) rate limits and then run the tests as follows - - `npm run perf-test:node -- CreateSimpleEntityTest` - - `npm run perf-test:node -- CreateSimpleEntityBatchTest` - - `npm run perf-test:node -- CreateComplexEntityTest` - - `npm run perf-test:node -- CreateComplexEntityBatchTest` - - `npm run perf-test:node -- ListSimpleEntitiesTest` - - `npm run perf-test:node -- ListComplexEntitiesTest` \ No newline at end of file + - `npm run perf-test:node -- CreateSimpleEntityTest` + - `npm run perf-test:node -- CreateSimpleEntityBatchTest` + - `npm run perf-test:node -- CreateComplexEntityTest` + - `npm run perf-test:node -- CreateComplexEntityBatchTest` + - `npm run perf-test:node -- ListSimpleEntitiesTest` + - `npm run perf-test:node -- ListComplexEntitiesTest` diff --git a/sdk/tables/perf-tests/data-tables/package.json b/sdk/tables/perf-tests/data-tables/package.json index df139acfbae4..0ca668b94aad 100644 --- a/sdk/tables/perf-tests/data-tables/package.json +++ b/sdk/tables/perf-tests/data-tables/package.json @@ -1,49 +1,49 @@ { - "name": "@azure-tests/perf-data-tables", - "version": "1.0.0", - "description": "", - "main": "", - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "@azure/data-tables": "^12.1.1", - "@azure/test-utils-perfstress": "^1.0.0", - "dotenv": "^8.2.0", - "uuid": "^8.3.0" - }, - "devDependencies": { - "@types/uuid": "^8.0.0", - "@types/node": "^12.0.0", - "eslint": "^7.15.0", - "prettier": "^1.16.4", - "rimraf": "^3.0.0", - "tslib": "^2.2.0", - "ts-node": "^9.0.0", - "typescript": "~4.2.0" - }, - "private": true, - "scripts": { - "perf-test:node": "ts-node test/index.spec.ts", - "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", - "build:samples": "echo skipped", - "build:test": "echo skipped", - "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", - "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "integration-test:browser": "echo skipped", - "integration-test:node": "echo skipped", - "integration-test": "echo skipped", - "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", - "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", - "pack": "npm pack 2>&1", - "prebuild": "npm run clean", - "unit-test:browser": "echo skipped", - "unit-test:node": "echo skipped", - "unit-test": "echo skipped", - "test:browser": "echo skipped", - "test:node": "echo skipped", - "test": "echo skipped" - } - } \ No newline at end of file + "name": "@azure-tests/perf-data-tables", + "sdk-type": "perf-test", + "version": "1.0.0", + "description": "", + "main": "", + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@azure/data-tables": "^12.1.2", + "@azure/test-utils-perfstress": "^1.0.0", + "dotenv": "^8.2.0", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@types/node": "^12.0.0", + "@types/uuid": "^8.0.0", + "eslint": "^7.15.0", + "prettier": "^1.16.4", + "rimraf": "^3.0.0", + "tslib": "^2.2.0", + "ts-node": "^10.0.0", + "typescript": "~4.2.0" + }, + "private": true, + "scripts": { + "perf-test:node": "ts-node test/index.spec.ts", + "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", + "build": "npm run clean && tsc -p .", + "build:samples": "echo skipped", + "build:test": "echo skipped", + "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-* types *.tgz *.log", + "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", + "pack": "npm pack 2>&1", + "unit-test:browser": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test": "echo skipped", + "test:browser": "echo skipped", + "test:node": "echo skipped", + "test": "echo skipped" + } +} diff --git a/sdk/tables/perf-tests/data-tables/test/createComplexEntityBatchTest.spec.ts b/sdk/tables/perf-tests/data-tables/test/createComplexEntityBatchTest.spec.ts index 1424db4b2a07..c5a35f87e507 100644 --- a/sdk/tables/perf-tests/data-tables/test/createComplexEntityBatchTest.spec.ts +++ b/sdk/tables/perf-tests/data-tables/test/createComplexEntityBatchTest.spec.ts @@ -1,13 +1,15 @@ import { PerfStressOptionDictionary } from "@azure/test-utils-perfstress"; import { TablesTest } from "./tables.spec"; -import {TransactionAction } from "@azure/data-tables"; +import { TransactionAction } from "@azure/data-tables"; import { createBatch } from "./utils/createBaseEntity"; interface TablesCreateComplexEntityBatchTestOptions { batchSize: number; } -export class CreateComplexEntityBatchTest extends TablesTest { +export class CreateComplexEntityBatchTest extends TablesTest< + TablesCreateComplexEntityBatchTestOptions +> { public options: PerfStressOptionDictionary = { batchSize: { defaultValue: 100, @@ -30,10 +32,13 @@ export class CreateComplexEntityBatchTest extends TablesTest { - let batches: TransactionAction[][] = createBatch("complex", this.parsedOptions.batchSize.value!); + const batches: TransactionAction[][] = createBatch( + "complex", + this.parsedOptions.batchSize.value! + ); - for(const batch of batches) { - await this.client.submitTransaction(batch); + for (const batch of batches) { + await this.client.submitTransaction(batch); } } } diff --git a/sdk/tables/perf-tests/data-tables/test/createSimpleEntityBatchTest.spec.ts b/sdk/tables/perf-tests/data-tables/test/createSimpleEntityBatchTest.spec.ts index 8e21b32ae738..0c78a6a743f9 100644 --- a/sdk/tables/perf-tests/data-tables/test/createSimpleEntityBatchTest.spec.ts +++ b/sdk/tables/perf-tests/data-tables/test/createSimpleEntityBatchTest.spec.ts @@ -1,13 +1,15 @@ import { PerfStressOptionDictionary } from "@azure/test-utils-perfstress"; import { TablesTest } from "./tables.spec"; -import {TransactionAction } from "@azure/data-tables"; +import { TransactionAction } from "@azure/data-tables"; import { createBatch } from "./utils/createBaseEntity"; interface TablesCreateSimpleEntityBatchTestOptions { batchSize: number; } -export class CreateSimpleEntityBatchTest extends TablesTest { +export class CreateSimpleEntityBatchTest extends TablesTest< + TablesCreateSimpleEntityBatchTestOptions +> { public options: PerfStressOptionDictionary = { batchSize: { defaultValue: 100, @@ -30,10 +32,13 @@ export class CreateSimpleEntityBatchTest extends TablesTest { - let batches: TransactionAction[][] = createBatch("simple", this.parsedOptions.batchSize.value!); + const batches: TransactionAction[][] = createBatch( + "simple", + this.parsedOptions.batchSize.value! + ); - for(const batch of batches) { - await this.client.submitTransaction(batch); + for (const batch of batches) { + await this.client.submitTransaction(batch); } } } diff --git a/sdk/tables/perf-tests/data-tables/test/listComplexEntities.spec.ts b/sdk/tables/perf-tests/data-tables/test/listComplexEntities.spec.ts index 46eaf27d626e..8836db555fff 100644 --- a/sdk/tables/perf-tests/data-tables/test/listComplexEntities.spec.ts +++ b/sdk/tables/perf-tests/data-tables/test/listComplexEntities.spec.ts @@ -1,10 +1,10 @@ import { PerfStressOptionDictionary } from "@azure/test-utils-perfstress"; import { TablesTest } from "./tables.spec"; -import {TableEntityResult, TransactionAction } from "@azure/data-tables"; +import { TableEntityResult, TransactionAction } from "@azure/data-tables"; import { createBatch } from "./utils/createBaseEntity"; interface ListComplexEntitiesTestOptions { - entityCount: number; + entityCount: number; } export class ListComplexEntitiesTest extends TablesTest { @@ -23,10 +23,13 @@ export class ListComplexEntitiesTest extends TablesTest>[] = []; for await (const entity of iter) { - entities.push(entity); + entities.push(entity); } } } diff --git a/sdk/tables/perf-tests/data-tables/test/listSimpleEntities.spec.ts b/sdk/tables/perf-tests/data-tables/test/listSimpleEntities.spec.ts index 1bc1717c9ebc..a00c937308a0 100644 --- a/sdk/tables/perf-tests/data-tables/test/listSimpleEntities.spec.ts +++ b/sdk/tables/perf-tests/data-tables/test/listSimpleEntities.spec.ts @@ -1,10 +1,10 @@ import { PerfStressOptionDictionary } from "@azure/test-utils-perfstress"; import { TablesTest } from "./tables.spec"; -import {TableEntityResult, TransactionAction } from "@azure/data-tables"; +import { TableEntityResult, TransactionAction } from "@azure/data-tables"; import { createBatch } from "./utils/createBaseEntity"; interface ListSimpleEntitiesTestOptions { - entityCount: number; + entityCount: number; } export class ListSimpleEntitiesTest extends TablesTest { @@ -23,10 +23,13 @@ export class ListSimpleEntitiesTest extends TablesTest>[] = []; for await (const entity of iter) { - entities.push(entity); + entities.push(entity); } } } diff --git a/sdk/tables/perf-tests/data-tables/test/tables.spec.ts b/sdk/tables/perf-tests/data-tables/test/tables.spec.ts index 09324cf8acb3..af460e40b584 100644 --- a/sdk/tables/perf-tests/data-tables/test/tables.spec.ts +++ b/sdk/tables/perf-tests/data-tables/test/tables.spec.ts @@ -9,7 +9,9 @@ export abstract class TablesTest> extends Per constructor(tableName: string) { super(); const connectionString = getEnvVar("SAS_CONNECTION_STRING"); - this.client = TableClient.fromConnectionString(connectionString, tableName); + this.client = this.configureClient( + TableClient.fromConnectionString(connectionString, tableName) + ); } public async globalSetup() { diff --git a/sdk/tables/perf-tests/data-tables/test/utils/createBaseEntity.ts b/sdk/tables/perf-tests/data-tables/test/utils/createBaseEntity.ts index 594b954ba245..d210f97ceb6e 100644 --- a/sdk/tables/perf-tests/data-tables/test/utils/createBaseEntity.ts +++ b/sdk/tables/perf-tests/data-tables/test/utils/createBaseEntity.ts @@ -34,7 +34,7 @@ export function createComplexEntity(): TableEntity { export type EntityType = "complex" | "simple"; -export function createEntities(entityType: EntityType, entityCount: number = 1): TableEntity[] { +export function createEntities(entityType: EntityType, entityCount = 1): TableEntity[] { const entities: TableEntity[] = []; const createEntity = entityType === "complex" ? createComplexEntity : createSimpleEntity; diff --git a/sdk/tables/perf-tests/data-tables/tsconfig.json b/sdk/tables/perf-tests/data-tables/tsconfig.json index e4c26b56b295..a3f1ef8b735d 100644 --- a/sdk/tables/perf-tests/data-tables/tsconfig.json +++ b/sdk/tables/perf-tests/data-tables/tsconfig.json @@ -4,7 +4,7 @@ "module": "CommonJS", "noEmit": true, "declarationDir": "./types", - "lib": ["dom", "esnext"], + "lib": ["dom", "esnext"] }, "compileOnSave": true, "include": ["./test/**/*.ts"] diff --git a/sdk/template/template/README-EXAMPLE.md b/sdk/template/template/README-EXAMPLE.md index 1a4874aee846..783f4e3a017c 100644 --- a/sdk/template/template/README-EXAMPLE.md +++ b/sdk/template/template/README-EXAMPLE.md @@ -18,6 +18,13 @@ Use the client library for App Configuration to: ## Getting started +### Currently supported environments + +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. + +See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. + ### Install the package ```bash @@ -26,8 +33,8 @@ npm install @azure/app-configuration ### Prerequisites -- You must have an [Azure Subscription](https://azure.microsoft.com) and an [App Configuration](https://docs.microsoft.com/azure/azure-app-configuration/) resource to use this package. -- Node.js version 8.x.x or higher +- An [Azure Subscription](https://azure.microsoft.com) +- An [App Configuration](https://docs.microsoft.com/azure/azure-app-configuration/) resource. ### Create an App Configuration resource diff --git a/sdk/template/template/karma.conf.js b/sdk/template/template/karma.conf.js index a244521314fc..68297cc53778 100644 --- a/sdk/template/template/karma.conf.js +++ b/sdk/template/template/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/template/template/package.json b/sdk/template/template/package.json index c367d9065874..b2a43817ca1b 100644 --- a/sdk/template/template/package.json +++ b/sdk/template/template/package.json @@ -31,7 +31,7 @@ "build:samples": "echo Obsolete", "build:test": "tsc -p . && rollup -c 2>&1", "build:types": "downlevel-dts types/latest/ types/3.1/", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local && npm run build:types", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", "docs": "typedoc --excludePrivate --excludeNotExported --excludeExternals --stripInternal --mode file --out ./dist/docs ./src", @@ -45,7 +45,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run clean && tsc -p . && npm run unit-test:node && npm run integration-test:node", "test": "npm run clean && tsc -p . && npm run unit-test:node && rollup -c 2>&1 && npm run unit-test:browser && npm run integration-test", @@ -88,8 +87,8 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", - "@azure/test-utils-recorder": "^1.0.0", + "@azure/identity": "2.0.0-beta.5", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@types/chai": "^4.1.6", "@types/chai-as-promised": "^7.1.0", diff --git a/sdk/template/template/test/public/configurationClient.spec.ts b/sdk/template/template/test/public/configurationClient.spec.ts index 3915e67de6e1..1105de3c2ac9 100644 --- a/sdk/template/template/test/public/configurationClient.spec.ts +++ b/sdk/template/template/test/public/configurationClient.spec.ts @@ -7,7 +7,7 @@ import { Context } from "mocha"; import { ConfigurationClient } from "../../src"; import { ClientSecretCredential } from "@azure/identity"; -import { env, record, Recorder } from "@azure/test-utils-recorder"; +import { env, record, Recorder } from "@azure-tools/test-recorder"; // When the recorder observes the values of these environment variables in any // recorded HTTP request or response, it will replace them with the values they diff --git a/sdk/templatespecs/arm-templatespecs/CHANGELOG.md b/sdk/templatespecs/arm-templatespecs/CHANGELOG.md new file mode 100644 index 000000000000..e510504b27ae --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/CHANGELOG.md @@ -0,0 +1,15 @@ +## 1.0.0-beta.1 (2021-08-25) + +This is the first preview for the new version of the `@azure/arm-templatespecs` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. + +While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). + +Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. + +**Noteworthy changes and features** + +- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. +- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. +- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. +- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. +- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. diff --git a/sdk/templatespecs/arm-templatespecs/LICENSE b/sdk/templatespecs/arm-templatespecs/LICENSE new file mode 100644 index 000000000000..ccb63b166732 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 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/templatespecs/arm-templatespecs/README.md b/sdk/templatespecs/arm-templatespecs/README.md new file mode 100644 index 000000000000..58e7e755f1a8 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/README.md @@ -0,0 +1,94 @@ +# Azure TemplateSpecs client library for JavaScript + +This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure TemplateSpecs client. + +The APIs listed in this specification can be used to manage Template Spec resources through the Azure Resource Manager. + +[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/templatespecs/arm-templatespecs) | +[Package (NPM)](https://www.npmjs.com/package/@azure/arm-templatespecs) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-templatespecs) | +[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-templatespecs` package + +Install the Azure TemplateSpecs client library for JavaScript with `npm`: + +```bash +npm install @azure/arm-templatespecs +``` + +### Create and authenticate a `TemplateSpecsClient` + +To create a client object to access the Azure TemplateSpecs API, you will need the `endpoint` of your Azure TemplateSpecs resource and a `credential`. The Azure TemplateSpecs client can use Azure Active Directory credentials to authenticate. +You can find the endpoint for your Azure TemplateSpecs resource in the [Azure Portal][azure_portal]. + +#### Using an Azure Active Directory Credential + +You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. 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 TemplateSpecs** 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 { TemplateSpecsClient } = require("@azure/arm-templatespecs"); +const { DefaultAzureCredential } = require("@azure/identity"); +const subscriptionId = "00000000-0000-0000-0000-000000000000"; +const client = new TemplateSpecsClient(new DefaultAzureCredential(), subscriptionId); +``` + +## Key concepts + +### TemplateSpecsClient + +`TemplateSpecsClient` is the primary interface for developers using the Azure TemplateSpecs client library. Explore the methods on this client object to understand the different features of the Azure TemplateSpecs 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 +import { setLogLevel } from "@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%2Ftemplatespecs%2Farm-templatespecs%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/templatespecs/arm-templatespecs/_meta.json b/sdk/templatespecs/arm-templatespecs/_meta.json new file mode 100644 index 000000000000..f6ba7d95cb42 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/_meta.json @@ -0,0 +1,7 @@ +{ + "commit": "44017a20d8c022217b31e15643595fc7aff87926", + "readme": "specification/resources/resource-manager/readme.md", + "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/resources/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.10.20210820.1", + "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", + "use": "@autorest/typescript@6.0.0-alpha.10.20210820.1" +} \ No newline at end of file diff --git a/sdk/templatespecs/arm-templatespecs/api-extractor.json b/sdk/templatespecs/arm-templatespecs/api-extractor.json new file mode 100644 index 000000000000..565c9d2db41a --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/api-extractor.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "./dist-esm/index.d.ts", + "docModel": { "enabled": true }, + "apiReport": { "enabled": true, "reportFolder": "./review" }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/arm-templatespecs.d.ts" + }, + "messages": { + "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "extractorMessageReporting": { + "ae-missing-release-tag": { "logLevel": "none" }, + "ae-unresolved-link": { "logLevel": "none" } + } + } +} diff --git a/sdk/templatespecs/arm-templatespecs/package.json b/sdk/templatespecs/arm-templatespecs/package.json new file mode 100644 index 000000000000..f95c0cde7c63 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/package.json @@ -0,0 +1,87 @@ +{ + "name": "@azure/arm-templatespecs", + "sdk-type": "mgmt", + "author": "Microsoft Corporation", + "description": "A generated SDK for TemplateSpecsClient.", + "version": "1.0.0-beta.1", + "engines": { "node": ">=12.0.0" }, + "dependencies": { + "@azure/core-paging": "^1.1.1", + "@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/index.js", + "types": "./types/arm-templatespecs.d.ts", + "devDependencies": { + "@microsoft/api-extractor": "7.7.11", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "mkdirp": "^1.0.4", + "rollup": "^1.16.3", + "rollup-plugin-sourcemaps": "^0.4.2", + "rollup-plugin-node-resolve": "^3.4.0", + "typescript": "~4.2.0", + "uglify-js": "^3.4.9" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/templatespecs/arm-templatespecs", + "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": "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": "echo skipped", + "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": "echo skipped", + "prebuild": "echo skipped", + "test:node": "echo skipped", + "test:browser": "echo skipped", + "unit-test": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test:browser": "echo skipped", + "integration-test:browser": "echo skipped", + "integration-test:node": "echo skipped", + "integration-test": "echo skipped", + "docs": "echo skipped" + }, + "sideEffects": false, + "autoPublish": true +} diff --git a/sdk/templatespecs/arm-templatespecs/review/arm-templatespecs.api.md b/sdk/templatespecs/arm-templatespecs/review/arm-templatespecs.api.md new file mode 100644 index 000000000000..6887c9bb36f8 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/review/arm-templatespecs.api.md @@ -0,0 +1,286 @@ +## API Report File for "@azure/arm-templatespecs" + +> 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'; + +// @public +export interface AzureResourceBase { + readonly id?: string; + readonly name?: string; + readonly systemData?: SystemData; + readonly type?: string; +} + +// @public +export type CreatedByType = string; + +// @public +export interface ErrorAdditionalInfo { + readonly info?: Record; + readonly type?: string; +} + +// @public +export interface ErrorResponse { + readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly code?: string; + readonly details?: ErrorResponse[]; + readonly message?: string; + readonly target?: string; +} + +// @public +export enum KnownCreatedByType { + // (undocumented) + Application = "Application", + // (undocumented) + Key = "Key", + // (undocumented) + ManagedIdentity = "ManagedIdentity", + // (undocumented) + User = "User" +} + +// @public +export enum KnownTemplateSpecExpandKind { + Versions = "versions" +} + +// @public +export interface LinkedTemplateArtifact { + path: string; + template: Record; +} + +// @public +export interface SystemData { + createdAt?: Date; + createdBy?: string; + createdByType?: CreatedByType; + lastModifiedAt?: Date; + lastModifiedBy?: string; + lastModifiedByType?: CreatedByType; +} + +// @public +export type TemplateSpec = AzureResourceBase & { + location: string; + tags?: { + [propertyName: string]: string; + }; + description?: string; + displayName?: string; + metadata?: Record; + readonly versions?: { + [propertyName: string]: TemplateSpecVersionInfo; + }; +}; + +// @public +export type TemplateSpecExpandKind = string; + +// @public +export interface TemplateSpecs { + createOrUpdate(resourceGroupName: string, templateSpecName: string, templateSpec: TemplateSpec, options?: TemplateSpecsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, templateSpecName: string, options?: TemplateSpecsDeleteOptionalParams): Promise; + get(resourceGroupName: string, templateSpecName: string, options?: TemplateSpecsGetOptionalParams): Promise; + listByResourceGroup(resourceGroupName: string, options?: TemplateSpecsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listBySubscription(options?: TemplateSpecsListBySubscriptionOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, templateSpecName: string, options?: TemplateSpecsUpdateOptionalParams): Promise; +} + +// @public (undocumented) +export class TemplateSpecsClient extends TemplateSpecsClientContext { + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: TemplateSpecsClientOptionalParams); + // (undocumented) + templateSpecs: TemplateSpecs; + // (undocumented) + templateSpecVersions: TemplateSpecVersions; +} + +// @public (undocumented) +export class TemplateSpecsClientContext extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: TemplateSpecsClientOptionalParams); + // (undocumented) + apiVersion: string; + // (undocumented) + subscriptionId: string; +} + +// @public +export interface TemplateSpecsClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + apiVersion?: string; + endpoint?: string; +} + +// @public +export interface TemplateSpecsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TemplateSpecsCreateOrUpdateResponse = TemplateSpec; + +// @public +export interface TemplateSpecsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface TemplateSpecsError { + error?: ErrorResponse; +} + +// @public +export interface TemplateSpecsGetOptionalParams extends coreClient.OperationOptions { + expand?: TemplateSpecExpandKind; +} + +// @public +export type TemplateSpecsGetResponse = TemplateSpec; + +// @public +export interface TemplateSpecsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { + expand?: TemplateSpecExpandKind; +} + +// @public +export type TemplateSpecsListByResourceGroupNextResponse = TemplateSpecsListResult; + +// @public +export interface TemplateSpecsListByResourceGroupOptionalParams extends coreClient.OperationOptions { + expand?: TemplateSpecExpandKind; +} + +// @public +export type TemplateSpecsListByResourceGroupResponse = TemplateSpecsListResult; + +// @public +export interface TemplateSpecsListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { + expand?: TemplateSpecExpandKind; +} + +// @public +export type TemplateSpecsListBySubscriptionNextResponse = TemplateSpecsListResult; + +// @public +export interface TemplateSpecsListBySubscriptionOptionalParams extends coreClient.OperationOptions { + expand?: TemplateSpecExpandKind; +} + +// @public +export type TemplateSpecsListBySubscriptionResponse = TemplateSpecsListResult; + +// @public +export interface TemplateSpecsListResult { + readonly nextLink?: string; + value?: TemplateSpec[]; +} + +// @public +export interface TemplateSpecsUpdateOptionalParams extends coreClient.OperationOptions { + templateSpec?: TemplateSpecUpdateModel; +} + +// @public +export type TemplateSpecsUpdateResponse = TemplateSpec; + +// @public +export type TemplateSpecUpdateModel = AzureResourceBase & { + tags?: { + [propertyName: string]: string; + }; +}; + +// @public +export type TemplateSpecVersion = AzureResourceBase & { + location: string; + tags?: { + [propertyName: string]: string; + }; + description?: string; + linkedTemplates?: LinkedTemplateArtifact[]; + metadata?: Record; + mainTemplate?: Record; + uiFormDefinition?: Record; +}; + +// @public +export interface TemplateSpecVersionInfo { + readonly description?: string; + readonly timeCreated?: Date; + readonly timeModified?: Date; +} + +// @public +export interface TemplateSpecVersions { + createOrUpdate(resourceGroupName: string, templateSpecName: string, templateSpecVersion: string, templateSpecVersionModel: TemplateSpecVersion, options?: TemplateSpecVersionsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, templateSpecName: string, templateSpecVersion: string, options?: TemplateSpecVersionsDeleteOptionalParams): Promise; + get(resourceGroupName: string, templateSpecName: string, templateSpecVersion: string, options?: TemplateSpecVersionsGetOptionalParams): Promise; + list(resourceGroupName: string, templateSpecName: string, options?: TemplateSpecVersionsListOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, templateSpecName: string, templateSpecVersion: string, options?: TemplateSpecVersionsUpdateOptionalParams): Promise; +} + +// @public +export interface TemplateSpecVersionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TemplateSpecVersionsCreateOrUpdateResponse = TemplateSpecVersion; + +// @public +export interface TemplateSpecVersionsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface TemplateSpecVersionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TemplateSpecVersionsGetResponse = TemplateSpecVersion; + +// @public +export interface TemplateSpecVersionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TemplateSpecVersionsListNextResponse = TemplateSpecVersionsListResult; + +// @public +export interface TemplateSpecVersionsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TemplateSpecVersionsListResponse = TemplateSpecVersionsListResult; + +// @public +export interface TemplateSpecVersionsListResult { + readonly nextLink?: string; + value?: TemplateSpecVersion[]; +} + +// @public +export interface TemplateSpecVersionsUpdateOptionalParams extends coreClient.OperationOptions { + templateSpecVersionUpdateModel?: TemplateSpecVersionUpdateModel; +} + +// @public +export type TemplateSpecVersionsUpdateResponse = TemplateSpecVersion; + +// @public +export type TemplateSpecVersionUpdateModel = AzureResourceBase & { + tags?: { + [propertyName: string]: string; + }; +}; + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/templatespecs/arm-templatespecs/rollup.config.js b/sdk/templatespecs/arm-templatespecs/rollup.config.js new file mode 100644 index 000000000000..9be1955eb7f1 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/rollup.config.js @@ -0,0 +1,188 @@ +/* + * 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"; + +/** + * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. + * + * NOTE: this manual configuration is only needed because OpenTelemetry uses an + * __exportStar downleveled helper function to declare its exports which confuses + * rollup's automatic discovery mechanism. + * + * @returns an object reference that can be `...`'d into your cjs() configuration. + */ +export function openTelemetryCommonJs() { + const namedExports = {}; + + for (const key of [ + "@opentelemetry/api", + "@azure/core-tracing/node_modules/@opentelemetry/api" + ]) { + namedExports[key] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "SpanStatusCode", + "getSpanContext", + "setSpanContext" + ]; + } + + const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; + + for (const version of releasedOpenTelemetryVersions) { + namedExports[ + // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. + `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` + ] = [ + "SpanKind", + "TraceFlags", + "getSpan", + "setSpan", + "StatusCode", + "CanonicalCode", + "getSpanContext", + "setSpanContext" + ]; + } + + return namedExports; +} + +// #region Warning Handler + +/** + * A function that can determine whether a rollupwarning should be ignored. If + * the function returns `true`, then the warning will not be displayed. + */ + +function ignoreNiseSinonEvalWarnings(warning) { + return ( + warning.code === "EVAL" && + warning.id && + (warning.id.includes("node_modules/nise") || + warning.id.includes("node_modules/sinon")) === true + ); +} + +function ignoreChaiCircularDependencyWarnings(warning) { + return ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer && warning.importer.includes("node_modules/chai") === true + ); +} + +const warningInhibitors = [ + ignoreChaiCircularDependencyWarnings, + ignoreNiseSinonEvalWarnings +]; + +/** + * 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({ + namedExports: { + // Chai's strange internal architecture makes it impossible to statically + // analyze its exports. + chai: [ + "version", + "use", + "util", + "config", + "expect", + "should", + "assert" + ], + ...openTelemetryCommonJs() + } + }), + 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(), cjs()] + }; + + const config = [baseConfig]; + + if (!options.disableBrowserBundle) { + config.push(makeBrowserTestConfig()); + } + + return config; +} + +export default makeConfig(require("./package.json")); diff --git a/sdk/templatespecs/arm-templatespecs/src/index.ts b/sdk/templatespecs/arm-templatespecs/src/index.ts new file mode 100644 index 000000000000..7c6b19d936e2 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/index.ts @@ -0,0 +1,13 @@ +/* + * 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 { TemplateSpecsClient } from "./templateSpecsClient"; +export { TemplateSpecsClientContext } from "./templateSpecsClientContext"; +export * from "./operationsInterfaces"; diff --git a/sdk/templatespecs/arm-templatespecs/src/models/index.ts b/sdk/templatespecs/arm-templatespecs/src/models/index.ts new file mode 100644 index 000000000000..f08e5cdc265d --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/models/index.ts @@ -0,0 +1,355 @@ +/* + * 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"; + +/** Common properties for all Azure resources. */ +export interface AzureResourceBase { + /** + * String Id used to locate any resource on Azure. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * Name of this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * Type of this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; +} + +/** 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; +} + +/** High-level information about a Template Spec version. */ +export interface TemplateSpecVersionInfo { + /** + * Template Spec version description. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly description?: string; + /** + * The timestamp of when the version was created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly timeCreated?: Date; + /** + * The timestamp of when the version was last modified. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly timeModified?: Date; +} + +/** Template Specs error response. */ +export interface TemplateSpecsError { + /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */ + error?: ErrorResponse; +} + +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */ +export interface ErrorResponse { + /** + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; + /** + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly target?: string; + /** + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly details?: ErrorResponse[]; + /** + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly additionalInfo?: ErrorAdditionalInfo[]; +} + +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { + /** + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly info?: Record; +} + +/** List of Template Specs. */ +export interface TemplateSpecsListResult { + /** An array of Template Specs. */ + value?: TemplateSpec[]; + /** + * The URL to use for getting the next set of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Represents a Template Spec artifact containing an embedded Azure Resource Manager template for use as a linked template. */ +export interface LinkedTemplateArtifact { + /** A filesystem safe relative path of the artifact. */ + path: string; + /** The Azure Resource Manager template. */ + template: Record; +} + +/** List of Template Specs versions */ +export interface TemplateSpecVersionsListResult { + /** An array of Template Spec versions. */ + value?: TemplateSpecVersion[]; + /** + * The URL to use for getting the next set of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** Template Spec object. */ +export type TemplateSpec = AzureResourceBase & { + /** The location of the Template Spec. It cannot be changed after Template Spec creation. It must be one of the supported Azure locations. */ + location: string; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** Template Spec description. */ + description?: string; + /** Template Spec display name. */ + displayName?: string; + /** The Template Spec metadata. Metadata is an open-ended object and is typically a collection of key-value pairs. */ + metadata?: Record; + /** + * High-level information about the versions within this Template Spec. The keys are the version names. Only populated if the $expand query parameter is set to 'versions'. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly versions?: { [propertyName: string]: TemplateSpecVersionInfo }; +}; + +/** Template Spec properties to be updated (only tags are currently supported). */ +export type TemplateSpecUpdateModel = AzureResourceBase & { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; +}; + +/** Template Spec Version object. */ +export type TemplateSpecVersion = AzureResourceBase & { + /** The location of the Template Spec Version. It must match the location of the parent Template Spec. */ + location: string; + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** Template Spec version description. */ + description?: string; + /** An array of linked template artifacts. */ + linkedTemplates?: LinkedTemplateArtifact[]; + /** The version metadata. Metadata is an open-ended object and is typically a collection of key-value pairs. */ + metadata?: Record; + /** The main Azure Resource Manager template content. */ + mainTemplate?: Record; + /** The Azure Resource Manager template UI definition content. */ + uiFormDefinition?: Record; +}; + +/** Template Spec Version properties to be updated (only tags are currently supported). */ +export type TemplateSpecVersionUpdateModel = AzureResourceBase & { + /** Resource tags. */ + tags?: { [propertyName: string]: 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 TemplateSpecExpandKind} that the service accepts. */ +export enum KnownTemplateSpecExpandKind { + /** Includes version information with the Template Spec. */ + Versions = "versions" +} + +/** + * Defines values for TemplateSpecExpandKind. \ + * {@link KnownTemplateSpecExpandKind} can be used interchangeably with TemplateSpecExpandKind, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **versions**: Includes version information with the Template Spec. + */ +export type TemplateSpecExpandKind = string; + +/** Optional parameters. */ +export interface TemplateSpecsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type TemplateSpecsCreateOrUpdateResponse = TemplateSpec; + +/** Optional parameters. */ +export interface TemplateSpecsUpdateOptionalParams + extends coreClient.OperationOptions { + /** Template Spec resource with the tags to be updated. */ + templateSpec?: TemplateSpecUpdateModel; +} + +/** Contains response data for the update operation. */ +export type TemplateSpecsUpdateResponse = TemplateSpec; + +/** Optional parameters. */ +export interface TemplateSpecsGetOptionalParams + extends coreClient.OperationOptions { + /** Allows for expansion of additional Template Spec details in the response. Optional. */ + expand?: TemplateSpecExpandKind; +} + +/** Contains response data for the get operation. */ +export type TemplateSpecsGetResponse = TemplateSpec; + +/** Optional parameters. */ +export interface TemplateSpecsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface TemplateSpecsListBySubscriptionOptionalParams + extends coreClient.OperationOptions { + /** Allows for expansion of additional Template Spec details in the response. Optional. */ + expand?: TemplateSpecExpandKind; +} + +/** Contains response data for the listBySubscription operation. */ +export type TemplateSpecsListBySubscriptionResponse = TemplateSpecsListResult; + +/** Optional parameters. */ +export interface TemplateSpecsListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** Allows for expansion of additional Template Spec details in the response. Optional. */ + expand?: TemplateSpecExpandKind; +} + +/** Contains response data for the listByResourceGroup operation. */ +export type TemplateSpecsListByResourceGroupResponse = TemplateSpecsListResult; + +/** Optional parameters. */ +export interface TemplateSpecsListBySubscriptionNextOptionalParams + extends coreClient.OperationOptions { + /** Allows for expansion of additional Template Spec details in the response. Optional. */ + expand?: TemplateSpecExpandKind; +} + +/** Contains response data for the listBySubscriptionNext operation. */ +export type TemplateSpecsListBySubscriptionNextResponse = TemplateSpecsListResult; + +/** Optional parameters. */ +export interface TemplateSpecsListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions { + /** Allows for expansion of additional Template Spec details in the response. Optional. */ + expand?: TemplateSpecExpandKind; +} + +/** Contains response data for the listByResourceGroupNext operation. */ +export type TemplateSpecsListByResourceGroupNextResponse = TemplateSpecsListResult; + +/** Optional parameters. */ +export interface TemplateSpecVersionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type TemplateSpecVersionsCreateOrUpdateResponse = TemplateSpecVersion; + +/** Optional parameters. */ +export interface TemplateSpecVersionsUpdateOptionalParams + extends coreClient.OperationOptions { + /** Template Spec Version resource with the tags to be updated. */ + templateSpecVersionUpdateModel?: TemplateSpecVersionUpdateModel; +} + +/** Contains response data for the update operation. */ +export type TemplateSpecVersionsUpdateResponse = TemplateSpecVersion; + +/** Optional parameters. */ +export interface TemplateSpecVersionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type TemplateSpecVersionsGetResponse = TemplateSpecVersion; + +/** Optional parameters. */ +export interface TemplateSpecVersionsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface TemplateSpecVersionsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type TemplateSpecVersionsListResponse = TemplateSpecVersionsListResult; + +/** Optional parameters. */ +export interface TemplateSpecVersionsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type TemplateSpecVersionsListNextResponse = TemplateSpecVersionsListResult; + +/** Optional parameters. */ +export interface TemplateSpecsClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/templatespecs/arm-templatespecs/src/models/mappers.ts b/sdk/templatespecs/arm-templatespecs/src/models/mappers.ts new file mode 100644 index 000000000000..2ffbd35a1056 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/models/mappers.ts @@ -0,0 +1,456 @@ +/* + * 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 AzureResourceBase: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AzureResourceBase", + 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" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + } + } + } +}; + +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 TemplateSpecVersionInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TemplateSpecVersionInfo", + modelProperties: { + description: { + serializedName: "description", + readOnly: true, + type: { + name: "String" + } + }, + timeCreated: { + serializedName: "timeCreated", + readOnly: true, + type: { + name: "DateTime" + } + }, + timeModified: { + serializedName: "timeModified", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const TemplateSpecsError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TemplateSpecsError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorResponse" + } + } + } + } +}; + +export const ErrorResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String" + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + }, + target: { + serializedName: "target", + readOnly: true, + type: { + name: "String" + } + }, + details: { + serializedName: "details", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorResponse" + } + } + } + }, + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo" + } + } + } + } + } + } +}; + +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + modelProperties: { + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + info: { + serializedName: "info", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const TemplateSpecsListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TemplateSpecsListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TemplateSpec" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const LinkedTemplateArtifact: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LinkedTemplateArtifact", + modelProperties: { + path: { + serializedName: "path", + required: true, + type: { + name: "String" + } + }, + template: { + serializedName: "template", + required: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const TemplateSpecVersionsListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TemplateSpecVersionsListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TemplateSpecVersion" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const TemplateSpec: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TemplateSpec", + modelProperties: { + ...AzureResourceBase.type.modelProperties, + location: { + serializedName: "location", + required: true, + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + description: { + constraints: { + MaxLength: 4096 + }, + serializedName: "properties.description", + type: { + name: "String" + } + }, + displayName: { + constraints: { + MaxLength: 64 + }, + serializedName: "properties.displayName", + type: { + name: "String" + } + }, + metadata: { + serializedName: "properties.metadata", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + }, + versions: { + serializedName: "properties.versions", + readOnly: true, + type: { + name: "Dictionary", + value: { + type: { name: "Composite", className: "TemplateSpecVersionInfo" } + } + } + } + } + } +}; + +export const TemplateSpecUpdateModel: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TemplateSpecUpdateModel", + modelProperties: { + ...AzureResourceBase.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const TemplateSpecVersion: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TemplateSpecVersion", + modelProperties: { + ...AzureResourceBase.type.modelProperties, + location: { + serializedName: "location", + required: true, + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + description: { + constraints: { + MaxLength: 4096 + }, + serializedName: "properties.description", + type: { + name: "String" + } + }, + linkedTemplates: { + serializedName: "properties.linkedTemplates", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LinkedTemplateArtifact" + } + } + } + }, + metadata: { + serializedName: "properties.metadata", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + }, + mainTemplate: { + serializedName: "properties.mainTemplate", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + }, + uiFormDefinition: { + serializedName: "properties.uiFormDefinition", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + } + } + } +}; + +export const TemplateSpecVersionUpdateModel: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TemplateSpecVersionUpdateModel", + modelProperties: { + ...AzureResourceBase.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; diff --git a/sdk/templatespecs/arm-templatespecs/src/models/parameters.ts b/sdk/templatespecs/arm-templatespecs/src/models/parameters.ts new file mode 100644 index 000000000000..e73e2a813d0a --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/models/parameters.ts @@ -0,0 +1,168 @@ +/* + * 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 { + TemplateSpec as TemplateSpecMapper, + TemplateSpecUpdateModel as TemplateSpecUpdateModelMapper, + TemplateSpecVersion as TemplateSpecVersionMapper, + TemplateSpecVersionUpdateModel as TemplateSpecVersionUpdateModelMapper +} from "../models/mappers"; + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], + mapper: { + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", + type: { + name: "String" + } + } +}; + +export const templateSpec: OperationParameter = { + parameterPath: "templateSpec", + mapper: TemplateSpecMapper +}; + +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: { + serializedName: "subscriptionId", + required: true, + type: { + name: "String" + } + } +}; + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { + constraints: { + Pattern: new RegExp("^[-\\w\\._\\(\\)]+$"), + MaxLength: 90, + MinLength: 1 + }, + serializedName: "resourceGroupName", + required: true, + type: { + name: "String" + } + } +}; + +export const templateSpecName: OperationURLParameter = { + parameterPath: "templateSpecName", + mapper: { + constraints: { + Pattern: new RegExp("^[-\\w\\._\\(\\)]+$"), + MaxLength: 90, + MinLength: 1 + }, + serializedName: "templateSpecName", + required: true, + type: { + name: "String" + } + } +}; + +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2021-05-01", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const templateSpec1: OperationParameter = { + parameterPath: ["options", "templateSpec"], + mapper: TemplateSpecUpdateModelMapper +}; + +export const expand: OperationQueryParameter = { + parameterPath: ["options", "expand"], + mapper: { + serializedName: "$expand", + type: { + name: "String" + } + } +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", + mapper: { + serializedName: "nextLink", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const templateSpecVersionModel: OperationParameter = { + parameterPath: "templateSpecVersionModel", + mapper: TemplateSpecVersionMapper +}; + +export const templateSpecVersion: OperationURLParameter = { + parameterPath: "templateSpecVersion", + mapper: { + constraints: { + Pattern: new RegExp("^[-\\w\\._\\(\\)]+$"), + MaxLength: 90, + MinLength: 1 + }, + serializedName: "templateSpecVersion", + required: true, + type: { + name: "String" + } + } +}; + +export const templateSpecVersionUpdateModel: OperationParameter = { + parameterPath: ["options", "templateSpecVersionUpdateModel"], + mapper: TemplateSpecVersionUpdateModelMapper +}; diff --git a/sdk/templatespecs/arm-templatespecs/src/operations/index.ts b/sdk/templatespecs/arm-templatespecs/src/operations/index.ts new file mode 100644 index 000000000000..af9d47c197e0 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/operations/index.ts @@ -0,0 +1,10 @@ +/* + * 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 "./templateSpecs"; +export * from "./templateSpecVersions"; diff --git a/sdk/templatespecs/arm-templatespecs/src/operations/templateSpecVersions.ts b/sdk/templatespecs/arm-templatespecs/src/operations/templateSpecVersions.ts new file mode 100644 index 000000000000..144075bf50f8 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/operations/templateSpecVersions.ts @@ -0,0 +1,376 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { TemplateSpecVersions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { TemplateSpecsClientContext } from "../templateSpecsClientContext"; +import { + TemplateSpecVersion, + TemplateSpecVersionsListNextOptionalParams, + TemplateSpecVersionsListOptionalParams, + TemplateSpecVersionsCreateOrUpdateOptionalParams, + TemplateSpecVersionsCreateOrUpdateResponse, + TemplateSpecVersionsUpdateOptionalParams, + TemplateSpecVersionsUpdateResponse, + TemplateSpecVersionsGetOptionalParams, + TemplateSpecVersionsGetResponse, + TemplateSpecVersionsDeleteOptionalParams, + TemplateSpecVersionsListResponse, + TemplateSpecVersionsListNextResponse +} from "../models"; + +/// +/** Class containing TemplateSpecVersions operations. */ +export class TemplateSpecVersionsImpl implements TemplateSpecVersions { + private readonly client: TemplateSpecsClientContext; + + /** + * Initialize a new instance of the class TemplateSpecVersions class. + * @param client Reference to the service client + */ + constructor(client: TemplateSpecsClientContext) { + this.client = client; + } + + /** + * Lists all the Template Spec versions in the specified Template Spec. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecVersionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + templateSpecName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage( + resourceGroupName, + templateSpecName, + options + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecVersionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, templateSpecName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + templateSpecName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecVersionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + templateSpecName, + options + )) { + yield* page; + } + } + + /** + * Creates or updates a Template Spec version. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpecVersion The version of the Template Spec. + * @param templateSpecVersionModel Template Spec Version supplied to the operation. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + templateSpecName: string, + templateSpecVersion: string, + templateSpecVersionModel: TemplateSpecVersion, + options?: TemplateSpecVersionsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + templateSpecName, + templateSpecVersion, + templateSpecVersionModel, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Updates Template Spec Version tags with specified values. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpecVersion The version of the Template Spec. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + templateSpecName: string, + templateSpecVersion: string, + options?: TemplateSpecVersionsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, templateSpecVersion, options }, + updateOperationSpec + ); + } + + /** + * Gets a Template Spec version from a specific Template Spec. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpecVersion The version of the Template Spec. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + templateSpecName: string, + templateSpecVersion: string, + options?: TemplateSpecVersionsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, templateSpecVersion, options }, + getOperationSpec + ); + } + + /** + * Deletes a specific version from a Template Spec. When operation completes, status code 200 returned + * without content. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpecVersion The version of the Template Spec. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + templateSpecName: string, + templateSpecVersion: string, + options?: TemplateSpecVersionsDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, templateSpecVersion, options }, + deleteOperationSpec + ); + } + + /** + * Lists all the Template Spec versions in the specified Template Spec. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecVersionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + templateSpecName: string, + nextLink: string, + options?: TemplateSpecVersionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}/versions/{templateSpecVersion}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecVersion + }, + 201: { + bodyMapper: Mappers.TemplateSpecVersion + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + requestBody: Parameters.templateSpecVersionModel, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName, + Parameters.templateSpecVersion + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}/versions/{templateSpecVersion}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecVersion + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + requestBody: Parameters.templateSpecVersionUpdateModel, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName, + Parameters.templateSpecVersion + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}/versions/{templateSpecVersion}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecVersion + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName, + Parameters.templateSpecVersion + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}/versions/{templateSpecVersion}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName, + Parameters.templateSpecVersion + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}/versions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecVersionsListResult + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecVersionsListResult + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/templatespecs/arm-templatespecs/src/operations/templateSpecs.ts b/sdk/templatespecs/arm-templatespecs/src/operations/templateSpecs.ts new file mode 100644 index 000000000000..802c1b76350c --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/operations/templateSpecs.ts @@ -0,0 +1,448 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { TemplateSpecs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { TemplateSpecsClientContext } from "../templateSpecsClientContext"; +import { + TemplateSpec, + TemplateSpecsListBySubscriptionNextOptionalParams, + TemplateSpecsListBySubscriptionOptionalParams, + TemplateSpecsListByResourceGroupNextOptionalParams, + TemplateSpecsListByResourceGroupOptionalParams, + TemplateSpecsCreateOrUpdateOptionalParams, + TemplateSpecsCreateOrUpdateResponse, + TemplateSpecsUpdateOptionalParams, + TemplateSpecsUpdateResponse, + TemplateSpecsGetOptionalParams, + TemplateSpecsGetResponse, + TemplateSpecsDeleteOptionalParams, + TemplateSpecsListBySubscriptionResponse, + TemplateSpecsListByResourceGroupResponse, + TemplateSpecsListBySubscriptionNextResponse, + TemplateSpecsListByResourceGroupNextResponse +} from "../models"; + +/// +/** Class containing TemplateSpecs operations. */ +export class TemplateSpecsImpl implements TemplateSpecs { + private readonly client: TemplateSpecsClientContext; + + /** + * Initialize a new instance of the class TemplateSpecs class. + * @param client Reference to the service client + */ + constructor(client: TemplateSpecsClientContext) { + this.client = client; + } + + /** + * Lists all the Template Specs within the specified subscriptions. + * @param options The options parameters. + */ + public listBySubscription( + options?: TemplateSpecsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySubscriptionPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listBySubscriptionPagingPage(options); + } + }; + } + + private async *listBySubscriptionPagingPage( + options?: TemplateSpecsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + let result = await this._listBySubscription(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listBySubscriptionNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listBySubscriptionPagingAll( + options?: TemplateSpecsListBySubscriptionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySubscriptionPagingPage(options)) { + yield* page; + } + } + + /** + * Lists all the Template Specs within the specified 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?: TemplateSpecsListByResourceGroupOptionalParams + ): 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?: TemplateSpecsListByResourceGroupOptionalParams + ): 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?: TemplateSpecsListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * Creates or updates a Template Spec. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpec Template Spec supplied to the operation. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + templateSpecName: string, + templateSpec: TemplateSpec, + options?: TemplateSpecsCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, templateSpec, options }, + createOrUpdateOperationSpec + ); + } + + /** + * Updates Template Spec tags with specified values. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, options }, + updateOperationSpec + ); + } + + /** + * Gets a Template Spec with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, options }, + getOperationSpec + ); + } + + /** + * Deletes a Template Spec by name. When operation completes, status code 200 returned without content. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecsDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, templateSpecName, options }, + deleteOperationSpec + ); + } + + /** + * Lists all the Template Specs within the specified subscriptions. + * @param options The options parameters. + */ + private _listBySubscription( + options?: TemplateSpecsListBySubscriptionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listBySubscriptionOperationSpec + ); + } + + /** + * Lists all the Template Specs within the specified 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?: TemplateSpecsListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * ListBySubscriptionNext + * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. + * @param options The options parameters. + */ + private _listBySubscriptionNext( + nextLink: string, + options?: TemplateSpecsListBySubscriptionNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listBySubscriptionNextOperationSpec + ); + } + + /** + * 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?: TemplateSpecsListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpec + }, + 201: { + bodyMapper: Mappers.TemplateSpec + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + requestBody: Parameters.templateSpec, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpec + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + requestBody: Parameters.templateSpec1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName + ], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpec + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.templateSpecName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySubscriptionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/templateSpecs/", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecsListResult + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.expand], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecsListResult + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecsListResult + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.TemplateSpecsListResult + }, + default: { + bodyMapper: Mappers.TemplateSpecsError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/index.ts b/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..af9d47c197e0 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/index.ts @@ -0,0 +1,10 @@ +/* + * 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 "./templateSpecs"; +export * from "./templateSpecVersions"; diff --git a/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/templateSpecVersions.ts b/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/templateSpecVersions.ts new file mode 100644 index 000000000000..073525cf3dba --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/templateSpecVersions.ts @@ -0,0 +1,92 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + TemplateSpecVersion, + TemplateSpecVersionsListOptionalParams, + TemplateSpecVersionsCreateOrUpdateOptionalParams, + TemplateSpecVersionsCreateOrUpdateResponse, + TemplateSpecVersionsUpdateOptionalParams, + TemplateSpecVersionsUpdateResponse, + TemplateSpecVersionsGetOptionalParams, + TemplateSpecVersionsGetResponse, + TemplateSpecVersionsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a TemplateSpecVersions. */ +export interface TemplateSpecVersions { + /** + * Lists all the Template Spec versions in the specified Template Spec. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecVersionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a Template Spec version. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpecVersion The version of the Template Spec. + * @param templateSpecVersionModel Template Spec Version supplied to the operation. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + templateSpecName: string, + templateSpecVersion: string, + templateSpecVersionModel: TemplateSpecVersion, + options?: TemplateSpecVersionsCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates Template Spec Version tags with specified values. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpecVersion The version of the Template Spec. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + templateSpecName: string, + templateSpecVersion: string, + options?: TemplateSpecVersionsUpdateOptionalParams + ): Promise; + /** + * Gets a Template Spec version from a specific Template Spec. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpecVersion The version of the Template Spec. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + templateSpecName: string, + templateSpecVersion: string, + options?: TemplateSpecVersionsGetOptionalParams + ): Promise; + /** + * Deletes a specific version from a Template Spec. When operation completes, status code 200 returned + * without content. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpecVersion The version of the Template Spec. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + templateSpecName: string, + templateSpecVersion: string, + options?: TemplateSpecVersionsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/templateSpecs.ts b/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/templateSpecs.ts new file mode 100644 index 000000000000..4d18b25baa86 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/operationsInterfaces/templateSpecs.ts @@ -0,0 +1,89 @@ +/* + * 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 "@azure/core-paging"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + TemplateSpec, + TemplateSpecsListBySubscriptionOptionalParams, + TemplateSpecsListByResourceGroupOptionalParams, + TemplateSpecsCreateOrUpdateOptionalParams, + TemplateSpecsCreateOrUpdateResponse, + TemplateSpecsUpdateOptionalParams, + TemplateSpecsUpdateResponse, + TemplateSpecsGetOptionalParams, + TemplateSpecsGetResponse, + TemplateSpecsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a TemplateSpecs. */ +export interface TemplateSpecs { + /** + * Lists all the Template Specs within the specified subscriptions. + * @param options The options parameters. + */ + listBySubscription( + options?: TemplateSpecsListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists all the Template Specs within the specified resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: TemplateSpecsListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * Creates or updates a Template Spec. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param templateSpec Template Spec supplied to the operation. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + templateSpecName: string, + templateSpec: TemplateSpec, + options?: TemplateSpecsCreateOrUpdateOptionalParams + ): Promise; + /** + * Updates Template Spec tags with specified values. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecsUpdateOptionalParams + ): Promise; + /** + * Gets a Template Spec with a given name. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecsGetOptionalParams + ): Promise; + /** + * Deletes a Template Spec by name. When operation completes, status code 200 returned without content. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param templateSpecName Name of the Template Spec. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + templateSpecName: string, + options?: TemplateSpecsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/templatespecs/arm-templatespecs/src/templateSpecsClient.ts b/sdk/templatespecs/arm-templatespecs/src/templateSpecsClient.ts new file mode 100644 index 000000000000..522628463aaa --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/templateSpecsClient.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 * as coreAuth from "@azure/core-auth"; +import { TemplateSpecsImpl, TemplateSpecVersionsImpl } from "./operations"; +import { TemplateSpecs, TemplateSpecVersions } from "./operationsInterfaces"; +import { TemplateSpecsClientContext } from "./templateSpecsClientContext"; +import { TemplateSpecsClientOptionalParams } from "./models"; + +export class TemplateSpecsClient extends TemplateSpecsClientContext { + /** + * Initializes a new instance of the TemplateSpecsClient class. + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param subscriptionId Subscription Id which forms part of the URI for every service call. + * @param options The parameter options + */ + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: TemplateSpecsClientOptionalParams + ) { + super(credentials, subscriptionId, options); + this.templateSpecs = new TemplateSpecsImpl(this); + this.templateSpecVersions = new TemplateSpecVersionsImpl(this); + } + + templateSpecs: TemplateSpecs; + templateSpecVersions: TemplateSpecVersions; +} diff --git a/sdk/templatespecs/arm-templatespecs/src/templateSpecsClientContext.ts b/sdk/templatespecs/arm-templatespecs/src/templateSpecsClientContext.ts new file mode 100644 index 000000000000..838725e8390c --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/src/templateSpecsClientContext.ts @@ -0,0 +1,70 @@ +/* + * 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 { TemplateSpecsClientOptionalParams } from "./models"; + +export class TemplateSpecsClientContext extends coreClient.ServiceClient { + $host: string; + subscriptionId: string; + apiVersion: string; + + /** + * Initializes a new instance of the TemplateSpecsClientContext class. + * @param credentials Subscription credentials which uniquely identify client subscription. + * @param subscriptionId Subscription Id which forms part of the URI for every service call. + * @param options The parameter options + */ + constructor( + credentials: coreAuth.TokenCredential, + subscriptionId: string, + options?: TemplateSpecsClientOptionalParams + ) { + 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: TemplateSpecsClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; + + const packageDetails = `azsdk-js-arm-templatespecs/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 || "2021-05-01"; + } +} diff --git a/sdk/templatespecs/arm-templatespecs/tsconfig.json b/sdk/templatespecs/arm-templatespecs/tsconfig.json new file mode 100644 index 000000000000..603440b3a359 --- /dev/null +++ b/sdk/templatespecs/arm-templatespecs/tsconfig.json @@ -0,0 +1,19 @@ +{ + "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 + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/templatespecs/ci.yml b/sdk/templatespecs/ci.yml new file mode 100644 index 000000000000..00ee7a39d496 --- /dev/null +++ b/sdk/templatespecs/ci.yml @@ -0,0 +1,29 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. +trigger: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/templatespecs/ + +pr: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/templatespecs/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: templatespecs + Artifacts: + - name: azure-arm-templatespecs + safeName: azurearmtemplatespecs + \ No newline at end of file diff --git a/sdk/test-utils/ci.yml b/sdk/test-utils/ci.yml index 54e4c7bb67bb..225e42c54616 100644 --- a/sdk/test-utils/ci.yml +++ b/sdk/test-utils/ci.yml @@ -27,5 +27,5 @@ extends: ServiceDirectory: test-utils IncludeRelease: false Artifacts: - - name: azure-test-utils-recorder - safeName: azuretestutilsrecorder + - name: azure-tools-test-recorder + safeName: azuretoolstestrecorder diff --git a/sdk/test-utils/perfstress/CHANGELOG.md b/sdk/test-utils/perfstress/CHANGELOG.md index 58b60062f7d5..727036b9b58b 100644 --- a/sdk/test-utils/perfstress/CHANGELOG.md +++ b/sdk/test-utils/perfstress/CHANGELOG.md @@ -2,6 +2,16 @@ ## 1.0.0 (Unreleased) +### 2021-08-05 + +- Adds test-proxy tool support to the perf framework. With this, the tests can avoid service throttling by hitting the test-proxy instead to get the recorded responses. + [#16518](https://github.com/Azure/azure-sdk-for-js/pull/16518) + +### 2021-07-26 + +- Average number of requests so far was reported as NaN when the lastMillisecondsElapsed=0. + Fixed in [#16583](https://github.com/Azure/azure-sdk-for-js/pull/16583) + ### 2021-07-14 - Removed the run method in the `PerfStressTest` class as we only deal with the async methods when it comes to performance. diff --git a/sdk/test-utils/perfstress/GettingStarted.md b/sdk/test-utils/perfstress/GettingStarted.md index 6f3092783bfe..b987005ced86 100644 --- a/sdk/test-utils/perfstress/GettingStarted.md +++ b/sdk/test-utils/perfstress/GettingStarted.md @@ -14,6 +14,7 @@ - [Command to run](#command-to-run) - [Adding Readme/Instructions](#adding-readme/instructions) - [Testing an older track 2 version](#testing-an-older-track-2-version) +- [Using Proxy Tool](#using-proxy-tool) ## [Setting up the project](#setting-up-the-project) @@ -37,7 +38,7 @@ To add perf tests for the `sdk//` package, follow the step ``` 3. Tests will live under `sdk//perf-tests//test` -4. Add a `package.json` such as [example-perf-package.json](https://github.com/Azure/azure-sdk-for-js/blob/fe9b1e5a50946f53b6491d7f67b2420d8ee1b229/sdk/storage/perf-tests/storage-file-datalake/package.json) at `sdk//perf-tests/` folder. +4. Add a `package.json` such as [example-perf-package.json](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/perf-tests/storage-file-datalake/package.json) at `sdk//perf-tests/` folder. Make sure to import your `` and the `test-utils-perfstress` project. @@ -54,6 +55,7 @@ To add perf tests for the `sdk//` package, follow the step ```json "name": "@azure-tests/perf-", + "sdk-type": "perf-test", "private": true, ``` @@ -68,19 +70,17 @@ To add perf tests for the `sdk//` package, follow the step In the end, your tsconfig may look something like below. ``` - { - "extends": "../../../../tsconfig.package", - "compilerOptions": { - "module": "CommonJS", - "target": "ES2015", - "declarationDir": "./typings/latest", - "lib": ["ES6", "ESNext.AsyncIterable"], - "noEmit": true - }, - "compileOnSave": true, - "exclude": ["node_modules"], - "include": ["./test/**/*.ts"] - } + { + "extends": "../../../../tsconfig.package", + "compilerOptions": { + "module": "CommonJS", + "declarationDir": "./typings/latest", + "lib": ["ES6", "ESNext.AsyncIterable"], + "noEmit": true + }, + "compileOnSave": true, + "include": ["./test/**/*.ts"] + } ``` ### [For perf-testing track 1 version of the same package](#for-perf-testing-track-1-version-of-the-same-package) @@ -106,6 +106,7 @@ To add perf tests for the `sdk//` package, follow the step ```json "name": "@azure-tests/perf--track-1", + "sdk-type": "perf-test" "private": true, ``` @@ -259,5 +260,49 @@ Example: Currently `@azure/` is at 12.4.0 on master and you want to - `"@azure/": [..., "12.2.0"]` - `rush update` (generates a new pnpm-lock file) - Navigate to `sdk\storage\perf-tests\` -- `rush build -t perf-test-` +- `rush build -t perf-` - Run the tests as suggested before, example `npm run perf-test:node -- TestClassName --warmup 2 --duration 7 --iterations 2 --parallel 50` + +## [Using Proxy Tool](#using-proxy-tool) + +### Using the testProxy option + +To be able to leverage the powers of playing back the requests using the test proxy, add the following to your code. + + ```ts + /// Core V1 SDKs - For services depending on core-http + /// Call this.configureClientOptionsCoreV1 method on your client options + this.blobServiceClient = BlobServiceClient.fromConnectionString(connectionString, this.configureClientOptionsCoreV1({})); + + /// Core V2 SDKs - For services depending on core-rest-pipeline + /// this.configureClient call to modify your client + this.client = this.configureClient(TableClient.fromConnectionString(connectionString, tableName)); + + // Not all core-v1 SDKs allow passing httpClient option. + // Not all core-v2 SDKs allow adding policies via pipeline option. + // Please reach out if your service doesn't support. + ``` + +### Running the proxy server + +Run this command + +- `docker run -p 5000:5000 azsdkengsys.azurecr.io/engsys/ubuntu_testproxy_server:latest` + +Reference: https://github.com/Azure/azure-sdk-tools/tree/main/tools/test-proxy/Azure.Sdk.Tools.TestProxy#via-docker-image + +To use the proxy-tool in your test pass this option in cli `--test-proxy http://localhost:5000`(Make sure the port is same as what you have used to run the `docker run` command). + +Sample command(using storage-blob perf tests as example (Core-v1)!) + +> npm run perf-test:node -- StorageBlobDownloadTest --warmup 2 --duration 7 --iterations 2 --test-proxy http://localhost:5000 + +> npm run perf-test:node -- StorageBlobDownloadTest --warmup 2 --duration 7 --iterations 2 --parallel 2 --test-proxy http://localhost:5000 + +Sample command(using data-tables perf tests as example (Core-v2)!) + +> npm run perf-test:node -- ListComplexEntitiesTest --duration 7 --iterations 2 --parallel 2 --test-proxy http://localhost:5000 + +> npm run perf-test:node -- ListComplexEntitiesTest --duration 7 --iterations 2 --parallel 2 + +**Using proxy-tool** part is still under construction. Please reach out to the owners/team if you face issues. diff --git a/sdk/test-utils/perfstress/README.md b/sdk/test-utils/perfstress/README.md index 388807085d51..d5cbd7d3d3cd 100644 --- a/sdk/test-utils/perfstress/README.md +++ b/sdk/test-utils/perfstress/README.md @@ -9,12 +9,37 @@ Link to the wiki - [Writing-Performance-Tests](https://github.com/Azure/azure-sd ## KeyConcepts - A **PerfStressTest** test is a test that will be executed repeatedly to show both the performance of the program, and how it behaves under stress. -- Tests can have both a synchronous method called `run`, and an asynchronous method called `runAsync`. By default, `runAsync` will be the only method executed. If the command line parameter `--sync` is passed, only the `run` method will be executed instead. +- Tests have an asynchronous method called `runAsync` which is executed based on the duration, iterations, and parallel options provided for the perf test. More about options below. - A **PerfStressOption** is a command line parameter. We use `minimist` to parse them appropriately, and then to consolidate them in a dictionary of options that is called `PerfStressOptionDictionary`. The dictionary class accepts a union type of strings that defines the options that are allowed by each test. - Some default options are parsed by the PerfStress program. Their longer names are: `help`, `no-cleanups`, `parallel`, `duration`, `warmup`, `iterations`, `no-cleanup` and `milliseconds-to-log`. - PerfStress tests are executed as many times as possible until the `duration` parameter is specified. This process may repeat as many `iterations` are given. Before each iteration, tests might be called for a period of time up to `warmup`, to adjust to possible runtime optimizations. In each iteration, as many as `parallel` instances of the same test are called without waiting for each other, letting the event loop decide which one is prioritized (it's not true parallelism, but it's an approximation that aligns with the design in other languages, we might improve it over time). - Each test can have a `globalSetup` method, which is called once before the process begins, a `globalCleanup` method, which is called once after the process finishes. - Each test can have a `setup` method, which is called as many times as test instances are created (up to `parallel`), and help specify local state for each test instance. A `cleanup` method is also optional, called the same amount of times, but after finishing running the tests. +- `test-proxy` url option - this option can be leveraged to avoid hitting throttling scenarios while testing the services. This option lets the requests go through the proxy server based on the url provided, we run runAsync method once in record mode to save the requests and responses in memory and then a ton of times in playback. Workflow with the test-proxy below. + +## Workflow with test proxy + +Steps below constitute the workflow of a typical perf test. + +- test resources are setup + - hitting the live service +- then start record + - making a request to the proxy server to start recording + - proxy server gives a recording id, we'll use this id to save the actual requests and responses +- run the runAsync once + - proxy-server saves all the requests and responses in memory +- stop record + - making a request to the proxy server to stop recording +- start playback + - making a request to the proxy server to start playback + - we use the same recording-id that we used in the record mode since that's the only way proxy-server knows what requests are supposed to be played back + - As a response, we get a new recording-id, which will be used for future playback requests +- run runAsync again + - based on the duration, iterations, and parallel options provided for the perf test + - all the requests in the runAsync method are played back since we have already recorded them before +- when the runAsync loops end, stop playback + - making a request to the proxy server to stop playing back +- delete the live resources that we have created before ## Examples diff --git a/sdk/test-utils/perfstress/package.json b/sdk/test-utils/perfstress/package.json index 9c7c8d0b5f59..e544f3c811f4 100644 --- a/sdk/test-utils/perfstress/package.json +++ b/sdk/test-utils/perfstress/package.json @@ -6,16 +6,16 @@ "main": "dist-esm/src/index.js", "module": "dist-esm/src/index.js", "browser": {}, - "types": "./typings/src/index.d.ts", + "types": "./types/src/index.d.ts", "engines": { "node": ">=12.0.0" }, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:test": "echo not needed", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "extract-api": "echo skipped", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", @@ -24,7 +24,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../.eslintrc.internal.json package.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../.eslintrc.internal.json package.json src test --ext .ts -f html -o perfstress-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "perf-test:node": "npm run build && node dist-esm/test/index.spec.js", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", @@ -38,7 +37,7 @@ "files": [ "dist/", "dist-esm/src/", - "typings/src", + "types/src", "README.md", "LICENSE" ], @@ -62,6 +61,7 @@ "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/core-http": "^2.0.0", + "@azure/core-rest-pipeline": "^1.1.0", "tslib": "^2.2.0", "node-fetch": "^2.6.0", "minimist": "~1.2.5", diff --git a/sdk/test-utils/perfstress/src/options.ts b/sdk/test-utils/perfstress/src/options.ts index ad3e91c6cc6a..73e1997e2d94 100644 --- a/sdk/test-utils/perfstress/src/options.ts +++ b/sdk/test-utils/perfstress/src/options.ts @@ -65,6 +65,7 @@ export interface DefaultPerfStressOptions { iterations: number; "no-cleanup": boolean; "milliseconds-to-log": number; + "test-proxy": string; } /** @@ -98,6 +99,10 @@ export const defaultPerfStressOptions: PerfStressOptionDictionary 0) { await this.runTest(0, Number(options.warmup.value), "warmup"); } @@ -290,6 +299,10 @@ export class PerfStressProgram { await this.runTest(i, Number(options.duration.value), "test"); } + if (this.tests[0].parsedOptions["test-proxy"].value) { + await this.stopPlayback(this.tests[0]); + } + if (!options["no-cleanup"].value && this.tests[0].cleanup) { console.log( `=== Calling cleanup() for the ${this.parallelNumber} instantiated ${this.testName} tests ===` @@ -308,4 +321,63 @@ export class PerfStressProgram { } } } + + /** + * This method records the requests-responses and lets the proxy-server know when to playback. + * We run runAsync once in record mode to save the requests and responses in memory and then a ton of times in playback. + * + * ## Workflow of the perf test + * - test resources are setup + * - hitting the live service + * - then start record + * - making a request to the proxy server to start recording + * - proxy server gives a recording id, we'll use this id to save the actual requests and responses + * - run the runAsync once + * - proxy-server saves all the requests and responses in memory + * - stop record + * - making a request to the proxy server to stop recording + * - start playback + * - making a request to the proxy server to start playback + * - we use the same recording-id that we used in the record mode since that's the only way proxy-server knows what requests are supposed to be played back + * - as a response, we get a new recording-id, which will be used for future playback requests + * - run runAsync again + * - based on the duration, iterations, and parallel options provided for the perf test + * - all the requests in the runAsync method are played back since we have already recorded them before + * - when the runAsync loops end, stop playback + * - making a request to the proxy server to stop playing back + * - delete the live resources that we have created before + */ + private async recordAndStartPlayback(test: PerfStressTest) { + // If test-proxy, + // => then start record + // => run the runAsync + // => stop record + // => start playback + let recorder: TestProxyHttpClientV1 | TestProxyHttpClient; + if (test.testProxyHttpClient) { + recorder = test.testProxyHttpClient; + } else if (test.testProxyHttpClientV1) { + recorder = test.testProxyHttpClientV1; + } else { + throw new Error( + "testProxyClient is not set, please make sure the client/options are configured properly." + ); + } + + await recorder.startRecording(); + recorder._mode = "record"; + await test.runAsync!(); + + await recorder.stopRecording(); + await recorder.startPlayback(); + recorder._mode = "playback"; + } + + private async stopPlayback(test: PerfStressTest) { + if (test.testProxyHttpClient) { + await test.testProxyHttpClient.stopPlayback(); + } else if (test.testProxyHttpClientV1) { + await test.testProxyHttpClientV1.stopPlayback(); + } + } } diff --git a/sdk/test-utils/perfstress/src/testProxyHttpClient.ts b/sdk/test-utils/perfstress/src/testProxyHttpClient.ts new file mode 100644 index 000000000000..c70f4091e85a --- /dev/null +++ b/sdk/test-utils/perfstress/src/testProxyHttpClient.ts @@ -0,0 +1,236 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { HttpClient, HttpOperationResponse } from "@azure/core-http"; +import { DefaultHttpClient, WebResourceLike } from "@azure/core-http"; +import { + PipelinePolicy, + PipelineRequest, + PipelineResponse, + SendRequest +} from "@azure/core-rest-pipeline"; +import { RequestOptions } from "http"; +import { makeRequest } from "./utils"; + +const paths = { + playback: "/playback", + record: "/record", + start: "/start", + stop: "/stop" +}; + +/** + * Helper class to manage the recording state to make sure the proxy-tool is not flooded with unintended requests. + * + * => then start record + * => run the runAsync + * => stop record + * => start playback + * => stop playback + */ +export class RecordingStateManager { + public state: + | "started-recording" + | "stopped-recording" + | "started-playback" + | "stopped-playback" + | undefined; + + /** + * validateState + */ + public validateState( + currentFlow: + | "starting-recording" + | "stopping-recording" + | "starting-playback" + | "stopping-playback" + ) { + if (currentFlow === "starting-recording") { + if (this.state === "started-recording") { + throw new Error("Already started recording, should not have called again."); + } + } + if (currentFlow === "stopping-recording") { + if (this.state === "stopped-recording") { + throw new Error("Already stopped recording, should not have called again."); + } + if (this.state !== "started-recording") { + throw new Error("Please start recording before calling stop."); + } + } + if (currentFlow === "starting-playback") { + if (this.state !== "stopped-recording") { + throw new Error("Did not stop recording, stop recording before starting playback."); + } + } + if (currentFlow === "stopping-playback") { + if (this.state !== "started-playback") { + throw new Error("Did not start playback, start playback before calling stop."); + } + } + } + + /** + * setState + */ + public setState( + state: "started-recording" | "stopped-recording" | "started-playback" | "stopped-playback" + ) { + this.state = state; + } +} +export class TestProxyHttpClient { + private _uri: string; + public _recordingId?: string; + public _mode!: string; + private stateManager: RecordingStateManager = new RecordingStateManager(); + + constructor(uri: string) { + this._uri = uri; + } + // For core-v1 + redirectRequest(request: WebResourceLike, recordingId: string): WebResourceLike; + // For core-v2 + redirectRequest(request: PipelineRequest, recordingId: string): PipelineRequest; + redirectRequest(request: WebResourceLike | PipelineRequest, recordingId: string) { + request.headers.set("x-recording-id", recordingId); + request.headers.set("x-recording-mode", this._mode); + request.headers.set("x-recording-remove", "false"); + const redirectedUrl = new URL(request.url); + const providedUrl = new URL(this._uri); + redirectedUrl.host = providedUrl.host; + redirectedUrl.port = providedUrl.port; + redirectedUrl.protocol = providedUrl.protocol; + if (!request.headers.get("x-recording-upstream-base-uri")) { + const upstreamUrl = new URL(request.url); + upstreamUrl.pathname = ""; + request.headers.set("x-recording-upstream-base-uri", upstreamUrl.toString()); + } + request.url = redirectedUrl.toString(); + return request; + } + + async modifyRequest(request: PipelineRequest): Promise { + if (this._recordingId && (this._mode === "record" || this._mode === "playback")) { + request = this.redirectRequest(request, this._recordingId); + request.allowInsecureConnection = true; + } + + return request; + } + + async startRecording(): Promise { + this.stateManager.validateState("starting-recording"); + const options = this._createRecordingRequestOptions({ + path: paths.record + paths.start + }); + const rsp = await makeRequest(this._uri, options); + if (rsp.statusCode !== 200) { + throw new Error("Start request failed."); + } + if (!rsp.headers) { + throw new Error("Headers are not defined, something is wrong."); + } + const id = rsp.headers["x-recording-id"]; + if (!id) { + throw new Error("No recording ID returned."); + } + if (typeof id !== "string") { + throw new Error("recording ID returned is not a string."); + } + this._recordingId = id; + this.stateManager.setState("started-recording"); + } + + async stopRecording(): Promise { + this.stateManager.validateState("stopping-recording"); + const options = this._createRecordingRequestOptions({ + path: paths.record + paths.stop + }); + options.headers = { + ...options.headers, + "x-recording-id": this._recordingId + }; + await makeRequest(this._uri, options); + this.stateManager.setState("stopped-recording"); + } + + async startPlayback(): Promise { + this.stateManager.validateState("starting-playback"); + const options = this._createRecordingRequestOptions({ + path: paths.playback + paths.start + }); + options.headers = { + ...options.headers, + "x-recording-id": this._recordingId + }; + const rsp = await makeRequest(this._uri, options); + if (rsp.statusCode !== 200) { + throw new Error("Start request failed."); + } + if (!rsp.headers) { + throw new Error("Headers are not defined, something is wrong."); + } + const id = rsp.headers["x-recording-id"]; + if (!id) { + throw new Error("No recording ID returned."); + } + if (typeof id !== "string") { + throw new Error("recording ID returned is not a string."); + } + this._recordingId = id; + this.stateManager.setState("started-playback"); + } + + async stopPlayback(): Promise { + this.stateManager.validateState("stopping-playback"); + const options = this._createRecordingRequestOptions({ + path: paths.playback + paths.stop + }); + options.headers = { + ...options.headers, + "x-recording-id": this._recordingId, + "x-purge-inmemory-recording": "true" + }; + await makeRequest(this._uri, options); + this._mode = "live"; + this._recordingId = undefined; + this.stateManager.setState("stopped-playback"); + } + + private _createRecordingRequestOptions(options: RequestOptions): RequestOptions { + if (this._recordingId !== undefined) { + options.headers = { + ...options.headers, + "x-recording-id": this._recordingId + }; + } + return { ...options, method: "POST" }; + } +} + +export function testProxyHttpPolicy(testProxyHttpClient: TestProxyHttpClient): PipelinePolicy { + return { + name: "recording policy", + async sendRequest(request: PipelineRequest, next: SendRequest): Promise { + const modifiedRequest = await testProxyHttpClient.modifyRequest(request); + return next(modifiedRequest); + } + }; +} + +export class TestProxyHttpClientV1 extends TestProxyHttpClient { + public _httpClient: HttpClient; + constructor(uri: string) { + super(uri); + this._httpClient = new DefaultHttpClient(); + } + + async sendRequest(request: WebResourceLike): Promise { + if (this._recordingId && (this._mode === "record" || this._mode === "playback")) { + request = this.redirectRequest(request, this._recordingId); + } + return await this._httpClient.sendRequest(request); + } +} diff --git a/sdk/test-utils/perfstress/src/tests.ts b/sdk/test-utils/perfstress/src/tests.ts index 994a36f677be..2b67a7d02a74 100644 --- a/sdk/test-utils/perfstress/src/tests.ts +++ b/sdk/test-utils/perfstress/src/tests.ts @@ -9,6 +9,14 @@ import { DefaultPerfStressOptions, defaultPerfStressOptions } from "./options"; +import { + TestProxyHttpClient, + TestProxyHttpClientV1, + testProxyHttpPolicy +} from "./testProxyHttpClient"; +import { HttpClient } from "@azure/core-http"; +import { Pipeline } from "@azure/core-rest-pipeline"; +import { getHttpClient, getHttpClientV1 } from "./utils"; /** * Defines the behavior of the PerfStressTest constructor, to use the class as a value. @@ -27,6 +35,8 @@ export interface PerfStressTestConstructor { * (initializations are as many as the "parallel" command line parameter specifies). */ export abstract class PerfStressTest { + public testProxyHttpClient!: TestProxyHttpClient; + public testProxyHttpClientV1!: TestProxyHttpClientV1; public abstract options: PerfStressOptionDictionary; public get parsedOptions(): PerfStressOptionDictionary { @@ -48,6 +58,38 @@ export abstract class PerfStressTest { public cleanup?(): void | Promise; public async runAsync?(abortSignal?: AbortSignalLike): Promise; + + /** + * configureClientOptionsCoreV1 + * + * For core-v1 - libraries depending on core-http + * Apply this method on the client options to get the proxy tool support + * + * Note: httpClient must be part of the options bag, it is required for the perf framework to update the underlying client properly + */ + public configureClientOptionsCoreV1(options: T & { httpClient?: HttpClient }): T { + if (this.parsedOptions["test-proxy"].value) { + this.testProxyHttpClientV1 = getHttpClientV1(this.parsedOptions["test-proxy"].value!); + options.httpClient = this.testProxyHttpClientV1; + } + return options; + } + + /** + * configureClient + * + * For core-v2 - libraries depending on core-rest-pipeline + * Apply this method on the client to get the proxy tool support. + * + * Note: Client must expose the pipeline property which is required for the perf framework to add its policies correctly + */ + public configureClient(client: T & { pipeline: Pipeline }): T { + if (this.parsedOptions["test-proxy"].value) { + this.testProxyHttpClient = getHttpClient(this.parsedOptions["test-proxy"].value!); + client.pipeline.addPolicy(testProxyHttpPolicy(this.testProxyHttpClient)); + } + return client; + } } /** diff --git a/sdk/test-utils/perfstress/src/utils.ts b/sdk/test-utils/perfstress/src/utils.ts index 4f754f4004d5..3b57568ad848 100644 --- a/sdk/test-utils/perfstress/src/utils.ts +++ b/sdk/test-utils/perfstress/src/utils.ts @@ -1,5 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. +import { IncomingMessage, RequestOptions, request } from "http"; +import { TestProxyHttpClient, TestProxyHttpClientV1 } from "./testProxyHttpClient"; /** * Returns the environment variable, throws an error if not defined. @@ -28,3 +30,37 @@ export async function drainStream(stream: NodeJS.ReadableStream) { stream.on("error", reject); }); } +export async function makeRequest( + uri: string, + requestOptions: RequestOptions +): Promise { + return new Promise((resolve, reject) => { + const req = request(uri, requestOptions, resolve); + + req.once("error", reject); + + req.end(); + }); +} + +const _cachedProxyClients: { + v1: TestProxyHttpClientV1 | undefined; + v2: TestProxyHttpClient | undefined; +} = { + v1: undefined, + v2: undefined +}; + +export function getHttpClientV1(url: string): TestProxyHttpClientV1 { + if (!_cachedProxyClients.v1) { + _cachedProxyClients.v1 = new TestProxyHttpClientV1(url); + } + return _cachedProxyClients.v1; +} + +export function getHttpClient(url: string): TestProxyHttpClient { + if (!_cachedProxyClients.v2) { + _cachedProxyClients.v2 = new TestProxyHttpClient(url); + } + return _cachedProxyClients.v2; +} diff --git a/sdk/test-utils/perfstress/tsconfig.json b/sdk/test-utils/perfstress/tsconfig.json index c6b0f5331211..a4793d15fb03 100644 --- a/sdk/test-utils/perfstress/tsconfig.json +++ b/sdk/test-utils/perfstress/tsconfig.json @@ -1,23 +1,10 @@ { + "extends": "../../../tsconfig.package", "compilerOptions": { - "alwaysStrict": true, - "noImplicitAny": true, - "preserveConstEnums": true, - "sourceMap": true, - "newLine": "LF", - "target": "es5", - "moduleResolution": "node", - "noUnusedLocals": true, - "noUnusedParameters": true, - "strict": true, - "module": "commonjs", + "declarationDir": "./types", "outDir": "./dist-esm", - "declaration": true, - "declarationMap": true, - "importHelpers": true, - "declarationDir": "./typings", - "lib": ["dom", "es5", "es6", "es7", "esnext"], - "esModuleInterop": true + "module": "commonjs", + "lib": ["dom", "es5", "es6", "es7", "esnext"] }, "exclude": ["node_modules", "./samples/*"], "include": ["./src/**/*.ts", "./test/**/*.ts"] diff --git a/sdk/test-utils/recorder-new/README.md b/sdk/test-utils/recorder-new/README.md new file mode 100644 index 000000000000..9a91f15345a7 --- /dev/null +++ b/sdk/test-utils/recorder-new/README.md @@ -0,0 +1,38 @@ +## Azure @azure-tools/test-recorder-new library for JavaScript + +This is an experimental tool to record and playback the tests in the JS repo by leveraging the unified out-of-process test proxy server. This library is still under construction. +Feature work is being tracked at [#15829](https://github.com/Azure/azure-sdk-for-js/issues/15829) + +## Resources + +- [Azure SDK Tools Test Proxy](https://github.com/Azure/azure-sdk-tools/tree/main/tools/test-proxy/Azure.Sdk.Tools.TestProxy) +- [Using Test Proxy with docker container](https://github.com/Azure/azure-sdk-tools/tree/main/tools/test-proxy/docker#build-and-run) + +## Running the proxy server + +Run this command + +> `docker run -v temp-location:/etc/testproxy -p 5001:5001 -p 5000:5000 azsdkengsys.azurecr.io/engsys/testproxy-lin:latest` + +(Eventually, recorder will trigger this for you!) + +[Note: Update `temp-location` in the command to your desired location.] + +If the above command doesn't work directly, try [Troubleshooting Access to Public Container Registry](https://github.com/Azure/azure-sdk-tools/tree/main/tools/test-proxy/docker#troubleshooting-access-to-public-container-registry). + +Reference: [Using Test Proxy with docker container](https://github.com/Azure/azure-sdk-tools/tree/main/tools/test-proxy/docker#build-and-run) + +## Run the tests using recorder-new at `test-utils/testing-recorder-new` + +- Navigate to the test-utils\testing-recorder-new folder +- Run `rush update && rush build -t .` +- Run `rushx test:node` +- Run `rushx test:browser` + +## Copying the recordings saved in the container + +For some reason, the volume mapping did not work for you, copy the recordings manually. + +- `docker cp :/etc/testproxy/ temp-location` + + [This will be fixed eventually [#Issue-17138](https://github.com/Azure/azure-sdk-for-js/issues/17138)] diff --git a/sdk/test-utils/recorder-new/karma.conf.js b/sdk/test-utils/recorder-new/karma.conf.js new file mode 100644 index 000000000000..76620a554a71 --- /dev/null +++ b/sdk/test-utils/recorder-new/karma.conf.js @@ -0,0 +1,127 @@ +// https://github.com/karma-runner/karma-chrome-launcher +process.env.CHROME_BIN = require("puppeteer").executablePath(); +require("dotenv").config({ path: "../.env" }); + +module.exports = function(config) { + config.set({ + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: "./", + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ["mocha"], + + plugins: [ + "karma-mocha", + "karma-mocha-reporter", + "karma-chrome-launcher", + "karma-edge-launcher", + "karma-firefox-launcher", + "karma-ie-launcher", + "karma-env-preprocessor", + "karma-coverage", + "karma-sourcemap-loader", + "karma-junit-reporter", + "karma-json-preprocessor" + ], + + // list of files / patterns to load in the browser + files: [ + "dist-test/index.browser.js", + { pattern: "dist-test/index.browser.js.map", type: "html", included: false, served: true } + ], + + // list of files / patterns to exclude + exclude: [], + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + "**/*.js": ["sourcemap", "env"] + // IMPORTANT: COMMENT following line if you want to debug in your browsers!! + // Preprocess source file to calculate code coverage, however this will make source file unreadable + // "dist-test/index.browser.js": ["coverage"] + }, + + // inject following environment values into browser testing with window.__env__ + // environment values MUST be exported or set with same console running "karma start" + // https://www.npmjs.com/package/karma-env-preprocessor + // envPreprocessor: [], + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ["mocha", "coverage", "junit"], + + coverageReporter: { + // specify a common output directory + dir: "coverage-browser/", + reporters: [ + { type: "json", subdir: ".", file: "coverage.json" }, + { type: "lcovonly", subdir: ".", file: "lcov.info" }, + { type: "html", subdir: "html" }, + { type: "cobertura", subdir: ".", file: "cobertura-coverage.xml" } + ] + }, + + junitReporter: { + outputDir: "", // results will be saved as $outputDir/$browserName.xml + outputFile: "test-results.browser.xml", // if included, results will be saved as $outputDir/$browserName/$outputFile + suite: "", // suite will become the package name attribute in xml testsuite element + useBrowserName: false, // add browser name to report and classes names + nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element + classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element + properties: {} // key value pair of properties to add to the section of the report + }, + + // web server port + port: 9328, + + // enable / disable colors in the output (reporters and logs) + colors: true, + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + // 'ChromeHeadless', 'Chrome', 'Firefox', 'Edge', 'IE' + // --no-sandbox allows our tests to run in Linux without having to change the system. + // --disable-web-security allows us to authenticate from the browser without having to write tests using interactive auth, which would be far more complex. + browsers: ["ChromeHeadlessNoSandbox"], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: "ChromeHeadless", + flags: ["--no-sandbox", "--disable-web-security"] + } + }, + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: 1, + + browserNoActivityTimeout: 600000, + browserDisconnectTimeout: 10000, + browserDisconnectTolerance: 3, + browserConsoleLogOptions: { + // We would usually hide the logs from the tests, but we don't need to do this inside of the recorder package because we are not recording the tests. + // // terminal: process.env.TEST_MODE !== "record" + }, + + client: { + mocha: { + // change Karma's debug.html to the mocha web reporter + reporter: "html", + timeout: "600000" + } + } + }); +}; diff --git a/sdk/test-utils/recorder-new/package.json b/sdk/test-utils/recorder-new/package.json new file mode 100644 index 000000000000..57ffb74a1875 --- /dev/null +++ b/sdk/test-utils/recorder-new/package.json @@ -0,0 +1,112 @@ +{ + "name": "@azure-tools/test-recorder-new", + "version": "1.0.0", + "sdk-type": "utility", + "description": "This library provides interfaces and helper methods to provide recording and playback capabilities for the tests in Azure JS/TS SDKs", + "main": "dist/index.js", + "module": "dist-esm/src/index.js", + "types": "./types/src/index.d.ts", + "scripts": { + "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", + "build:browser": "echo skipped", + "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", + "build:samples": "echo Skipped.", + "build:test": "tsc -p .", + "build": "npm run clean && tsc -p . && rollup -c 2>&1", + "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-esm test-dist typings *.tgz *.log", + "extract-api": "echo skipped", + "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "integration-test:browser": "karma start --single-run", + "integration-test:node": "nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 5000000 --full-trace dist-esm/test/*.spec.js dist-esm/test/node/*.spec.js", + "integration-test": "npm run integration-test:node && npm run integration-test:browser", + "lint:fix": "eslint package.json src test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint package.json src test --ext .ts -f html -o recorder-lintReport.html || exit 0", + "pack": "npm pack 2>&1", + "unit-test:browser": "karma start --single-run", + "unit-test:node": "mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/*.spec.ts\"", + "unit-test": "npm run unit-test:node && npm run unit-test:browser", + "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", + "test:node": "npm run clean && npm run build:test && npm run unit-test:node", + "test": "npm run clean && npm run build:test && npm run unit-test", + "docs": "echo Skipped." + }, + "files": [ + "dist/", + "dist-esm/src/", + "types/src", + "README.md", + "LICENSE" + ], + "repository": "github:Azure/azure-sdk-for-js", + "keywords": [ + "azure", + "recording", + "cloud", + "playback" + ], + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "engines": { + "node": ">=8.0.0" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/test-utils/recorder-new/", + "sideEffects": false, + "private": true, + "dependencies": { + "@azure-tools/test-recorder": "^1.0.0", + "@azure/core-http": "^2.0.0", + "@azure/core-rest-pipeline": "^1.1.0" + }, + "devDependencies": { + "@azure/dev-tool": "^1.0.0", + "@azure/eslint-plugin-azure-sdk": "^3.0.0", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "@rollup/plugin-replace": "^2.2.0", + "@types/fs-extra": "^8.0.0", + "@types/chai": "^4.1.6", + "@types/md5": "^2.2.0", + "@types/mocha": "^7.0.2", + "@types/nise": "^1.4.0", + "@types/node": "^12.0.0", + "@types/mock-require": "~2.0.0", + "@types/mock-fs": "~4.10.0", + "chai": "^4.2.0", + "dotenv": "^8.2.0", + "eslint": "^7.15.0", + "karma": "^6.2.0", + "karma-chrome-launcher": "^3.0.0", + "karma-coverage": "^2.0.0", + "karma-edge-launcher": "^0.4.2", + "karma-env-preprocessor": "^0.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-json-preprocessor": "^0.3.3", + "karma-json-to-file-reporter": "^1.0.1", + "karma-junit-reporter": "^2.0.1", + "karma-mocha": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-sourcemap-loader": "^0.3.8", + "mocha": "^7.1.1", + "mocha-junit-reporter": "^1.18.0", + "mock-fs": "^4.10.4", + "mock-require": "^3.0.3", + "npm-run-all": "^4.1.5", + "nyc": "^14.0.0", + "prettier": "^1.16.4", + "rimraf": "^3.0.0", + "rollup": "^1.16.3", + "rollup-plugin-shim": "^1.0.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "rollup-plugin-terser": "^5.1.1", + "rollup-plugin-visualizer": "^4.0.4", + "tslib": "^2.2.0", + "typescript": "~4.2.0", + "xhr-mock": "^2.4.1" + } +} diff --git a/sdk/test-utils/recorder-new/rollup.config.js b/sdk/test-utils/recorder-new/rollup.config.js new file mode 100644 index 000000000000..5d7deee44c14 --- /dev/null +++ b/sdk/test-utils/recorder-new/rollup.config.js @@ -0,0 +1,3 @@ +import { makeConfig } from "@azure/dev-tool/shared-config/rollup"; + +export default makeConfig(require("./package.json")); diff --git a/sdk/test-utils/recorder-new/src/core-v1-recorder.ts b/sdk/test-utils/recorder-new/src/core-v1-recorder.ts new file mode 100644 index 000000000000..4140458b8d64 --- /dev/null +++ b/sdk/test-utils/recorder-new/src/core-v1-recorder.ts @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { HttpClient, HttpOperationResponse } from "@azure/core-http"; +import { DefaultHttpClient, WebResourceLike } from "@azure/core-http"; +import { isPlaybackMode, isRecordMode } from "@azure-tools/test-recorder"; +import { TestProxyHttpClient } from "./core-v2-recorder"; + +/** + * This client manages the recorder life cycle and interacts with the proxy-tool to do the recording, + * eventually save them in record mode and playing them back in playback mode. + * + * This client is meant for the core-v1 SDKs(depending on core-http) and + * is supposed to be passed as the httpClient option in the options bag of your client. + */ +export class TestProxyHttpClientCoreV1 extends TestProxyHttpClient { + public httpClientCoreV1: HttpClient; + constructor(sessionFile: string) { + super(sessionFile); + this.httpClientCoreV1 = new DefaultHttpClient(); + } + + async sendRequest(request: WebResourceLike): Promise { + if (isPlaybackMode() || isRecordMode()) { + if (this.recordingId) { + request = this.redirectRequest(request); + } + } + return this.httpClientCoreV1.sendRequest(request); + } +} diff --git a/sdk/test-utils/recorder-new/src/core-v2-recorder.ts b/sdk/test-utils/recorder-new/src/core-v2-recorder.ts new file mode 100644 index 000000000000..ae03eda87b5b --- /dev/null +++ b/sdk/test-utils/recorder-new/src/core-v2-recorder.ts @@ -0,0 +1,177 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { WebResourceLike } from "@azure/core-http"; +import { + createDefaultHttpClient, + createPipelineRequest, + HttpClient, + PipelinePolicy, + PipelineRequest, + PipelineResponse, + SendRequest +} from "@azure/core-rest-pipeline"; +import { env, isPlaybackMode, isRecordMode } from "@azure-tools/test-recorder"; +import { RecorderError, RecordingStateManager } from "./utils"; + +const paths = { + playback: "/playback", + record: "/record", + start: "/start", + stop: "/stop" +}; + +/** + * This client manages the recorder life cycle and interacts with the proxy-tool to do the recording, + * eventually save them in record mode and playing them back in playback mode. + * + * This client is meant for the core-v2 SDKs(depending on core-rest-pipeline) and + * is supposed to be passed as an argument to the recorderHttpPolicy. + */ +export class TestProxyHttpClient { + private url = "http://localhost:5000"; + public recordingId?: string; + public mode: string; + public httpClient: HttpClient; + private stateManager = new RecordingStateManager(); + private playback: boolean; + + constructor(private sessionFile: string) { + this.sessionFile = sessionFile; + this.mode = env.TEST_MODE; + this.playback = isPlaybackMode(); + this.httpClient = createDefaultHttpClient(); + } + + /** + * For core-v1 (core-http) + */ + redirectRequest(request: WebResourceLike): WebResourceLike; + + /** + * For core-v2 (core-rest-pipeline) + */ + redirectRequest(request: PipelineRequest): PipelineRequest; + + /** + * redirectRequest updates the request in record and playback modes to hit the proxy-tool with appropriate headers. + * Works for both core-v1 and core-v2 + */ + redirectRequest(request: WebResourceLike | PipelineRequest) { + if (isPlaybackMode() || isRecordMode()) { + if (!request.headers.get("x-recording-id")) { + request.headers.set("x-recording-id", this.recordingId!); + request.headers.set("x-recording-mode", this.mode); + + const upstreamUrl = new URL(request.url); + const redirectedUrl = new URL(request.url); + const providedUrl = new URL(this.url); + + redirectedUrl.host = providedUrl.host; + redirectedUrl.port = providedUrl.port; + redirectedUrl.protocol = providedUrl.protocol; + request.headers.set("x-recording-upstream-base-uri", upstreamUrl.toString()); + request.url = redirectedUrl.toString(); + } + } + return request; + } + + /** + * recorderHttpPolicy calls this method on the request to modify and hit the proxy-tool with appropriate headers. + */ + async modifyRequest(request: PipelineRequest): Promise { + if (isPlaybackMode() || isRecordMode()) { + if (this.recordingId) { + request = this.redirectRequest(request); + request.allowInsecureConnection = true; + } + } + return request; + } + + /** + * Call this method to ping the proxy-tool with a start request + * signalling to start recording in the record mode + * or to start playing back in the playback mode. + */ + async start(): Promise { + if (isPlaybackMode() || isRecordMode()) { + this.stateManager.state = "started"; + if (this.recordingId === undefined) { + const startUri = `${this.url}${this.playback ? paths.playback : paths.record}${ + paths.start + }`; + const req = this._createRecordingRequest(startUri); + const rsp = await this.httpClient.sendRequest({ + ...req, + allowInsecureConnection: true + }); + if (rsp.status !== 200) { + throw new RecorderError("Start request failed."); + } + const id = rsp.headers.get("x-recording-id"); + if (!id) { + throw new RecorderError("No recording ID returned for a successful start request."); + } + this.recordingId = id; + } + } + } + + /** + * Call this method to ping the proxy-tool with a stop request, this helps saving the recording in record mode. + */ + async stop(): Promise { + if (isPlaybackMode() || isRecordMode()) { + this.stateManager.state = "stopped"; + if (this.recordingId !== undefined) { + const stopUri = `${this.url}${this.playback ? paths.playback : paths.record}${paths.stop}`; + const req = this._createRecordingRequest(stopUri); + req.headers.set("x-recording-save", "true"); + + const rsp = await this.httpClient.sendRequest({ + ...req, + allowInsecureConnection: true + }); + if (rsp.status !== 200) { + throw new RecorderError("Stop request failed."); + } + } else { + throw new RecorderError("Bad state, recordingId is not defined when called stop."); + } + } + } + + /** + * Adds the recording file and the recording id headers to the requests that are sent to the proxy tool. + * These are required to appropriately save the recordings in the record mode and picking them up in playback. + * + * @private + * @param {string} url + */ + private _createRecordingRequest(url: string) { + const req = createPipelineRequest({ url: url, method: "POST" }); + req.headers.set("x-recording-file", this.sessionFile); + if (this.recordingId !== undefined) { + req.headers.set("x-recording-id", this.recordingId); + } + return req; + } +} + +/** + * recorderHttpPolicy that can be added as a pipeline policy for any of the core-v2 SDKs(SDKs depending on core-rest-pipeline) + * + * @export + * @param {TestProxyHttpClient} testProxyHttpClient + */ +export function recorderHttpPolicy(testProxyHttpClient: TestProxyHttpClient): PipelinePolicy { + return { + name: "recording policy", + async sendRequest(request: PipelineRequest, next: SendRequest): Promise { + await testProxyHttpClient.modifyRequest(request); + return next(request); + } + }; +} diff --git a/sdk/test-utils/recorder-new/src/index.ts b/sdk/test-utils/recorder-new/src/index.ts new file mode 100644 index 000000000000..b832f836875d --- /dev/null +++ b/sdk/test-utils/recorder-new/src/index.ts @@ -0,0 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +export { recorderHttpPolicy, TestProxyHttpClient } from "./core-v2-recorder"; +export { TestProxyHttpClientCoreV1 } from "./core-v1-recorder"; diff --git a/sdk/test-utils/recorder-new/src/utils.ts b/sdk/test-utils/recorder-new/src/utils.ts new file mode 100644 index 000000000000..3a6c6c80cb5b --- /dev/null +++ b/sdk/test-utils/recorder-new/src/utils.ts @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/** + * A custom error type for failed pipeline requests. + */ +export class RecorderError extends Error { + constructor(message: string, public statusCode?: number) { + super(message); + this.name = "RecorderError"; + this.statusCode = statusCode; + } +} + +export type RecordingState = "started" | "stopped"; +/** + * Helper class to manage the recording state to make sure the proxy-tool is not flooded with unintended requests. + */ +export class RecordingStateManager { + private currentState: RecordingState = "stopped"; + + /** + * validateState + */ + private validateState(nextState: RecordingState) { + if (nextState === "started") { + if (this.state === "started") { + throw new RecorderError("Already started, should not have called start again."); + } + } + if (nextState === "stopped") { + if (this.state === "stopped") { + throw new RecorderError("Already stopped, should not have called stop again."); + } + } + } + + public get state(): RecordingState { + return this.currentState; + } + + public set state(nextState: RecordingState) { + // Validate state transition + this.validateState(nextState); + this.currentState = nextState; + } +} diff --git a/sdk/test-utils/recorder-new/test/testProxyClient.spec.ts b/sdk/test-utils/recorder-new/test/testProxyClient.spec.ts new file mode 100644 index 000000000000..de2539f91e1d --- /dev/null +++ b/sdk/test-utils/recorder-new/test/testProxyClient.spec.ts @@ -0,0 +1,296 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { createHttpHeaders, PipelineRequest, PipelineResponse } from "@azure/core-rest-pipeline"; +import { env } from "@azure-tools/test-recorder"; +import { expect } from "chai"; +import { TestProxyHttpClient } from "../src"; +import { RecorderError, RecordingStateManager } from "../src/utils"; + +describe("TestProxyClient functions", () => { + afterEach(() => { + env.TEST_MODE = undefined; + }); + + const initialRequest: PipelineRequest = { + headers: createHttpHeaders({}), + method: "POST", + url: "https://dummy_url.windows.net/dummy_path?sas=sas", + withCredentials: false, + requestId: "abcd", + timeout: 0, + allowInsecureConnection: false + }; + + describe("redirectRequest method", () => { + it("request unchanged if not playback or record modes", function() { + env.TEST_MODE = "live"; + const client = new TestProxyHttpClient("dummy_file_name"); + expect(client.redirectRequest(initialRequest)).to.deep.equal(initialRequest); + }); + + ["record", "playback"].forEach((testMode) => { + it(`${testMode} mode: ` + "request unchanged if `x-recording-id` in headers", function() { + env.TEST_MODE = testMode; + const request: PipelineRequest = { + ...initialRequest, + headers: createHttpHeaders({ "x-recording-id": "dummy-recording-id" }) + }; + const client = new TestProxyHttpClient("dummy_file_name"); + expect(client.redirectRequest(request)).to.deep.equal(request); + }); + + it("url and headers get updated if no `x-recording-id` in headers", function() { + env.TEST_MODE = testMode; + const request: PipelineRequest = { + ...initialRequest, + headers: createHttpHeaders({}) + }; + const client = new TestProxyHttpClient("dummy_file_name"); + client.recordingId = "dummy-recording-id"; + expect(client.redirectRequest(request)).to.deep.equal({ + ...request, + url: "http://localhost:5000/dummy_path?sas=sas", + headers: createHttpHeaders({ + "x-recording-upstream-base-uri": initialRequest.url, + "x-recording-id": client.recordingId, + "x-recording-mode": env.TEST_MODE + }) + }); + }); + }); + }); + + describe("start method", () => { + it("nothing happens if not playback or record modes", async function() { + env.TEST_MODE = "live"; + const client = new TestProxyHttpClient("dummy_file_name"); + client.httpClient.sendRequest = (): Promise => { + throw new Error("should not have reached here"); + }; + await client.start(); + }); + + ["record", "playback"].forEach((testMode) => { + it( + `${testMode} mode: ` + "succeeds in playback or record modes and gets a recordingId", + async function() { + env.TEST_MODE = testMode; + const client = new TestProxyHttpClient("dummy_file_name"); + const recordingId = "dummy-recording-id"; + client.httpClient.sendRequest = (): Promise => { + return Promise.resolve({ + status: 200, + headers: createHttpHeaders({ "x-recording-id": recordingId }), + request: initialRequest + }); + }; + await client.start(); + expect(client.recordingId).to.eql(recordingId); + } + ); + + it("throws if not received a 200 status code", async function() { + env.TEST_MODE = testMode; + const client = new TestProxyHttpClient("dummy_file_name"); + const recordingId = "dummy-recording-id"; + client.httpClient.sendRequest = (): Promise => { + return Promise.resolve({ + status: 404, + headers: createHttpHeaders({ "x-recording-id": recordingId }), + request: initialRequest + }); + }; + try { + await client.start(); + throw new Error("should not have reached here, start() call should have failed"); + } catch (error) { + expect((error as RecorderError).name).to.equal("RecorderError"); + expect((error as RecorderError).message).to.equal("Start request failed."); + } + }); + + it("throws if not received a recording id upon 200 status code", async function() { + env.TEST_MODE = testMode; + const client = new TestProxyHttpClient("dummy_file_name"); + client.httpClient.sendRequest = (): Promise => { + return Promise.resolve({ + status: 200, + headers: createHttpHeaders({}), + request: initialRequest + }); + }; + try { + await client.start(); + throw new Error("should not have reached here, start() call should have failed"); + } catch (error) { + expect((error as RecorderError).name).to.equal("RecorderError"); + expect((error as RecorderError).message).to.equal( + "No recording ID returned for a successful start request." + ); + } + }); + }); + }); + + describe("stop method", () => { + it("nothing happens if not playback or record modes", async function() { + env.TEST_MODE = "live"; + const client = new TestProxyHttpClient("dummy_file_name"); + client.httpClient.sendRequest = (): Promise => { + throw new Error("should not have reached here"); + }; + await client.stop(); + }); + + ["record", "playback"].forEach((testMode) => { + it( + `${testMode} mode: ` + "fails in playback or record modes if no recordingId", + async function() { + env.TEST_MODE = testMode; + const client = new TestProxyHttpClient("dummy_file_name"); + client.httpClient.sendRequest = (): Promise => { + return Promise.resolve({ + status: 200, + headers: createHttpHeaders(), + request: initialRequest + }); + }; + client["stateManager"].state = "started"; + try { + await client.stop(); + throw new Error("should not have reached here, stop() call should have failed"); + } catch (error) { + expect((error as RecorderError).name).to.equal("RecorderError"); + expect((error as RecorderError).message).to.equal( + "Bad state, recordingId is not defined when called stop." + ); + } + } + ); + + it("throws if status code is not 200", async function() { + env.TEST_MODE = testMode; + const client = new TestProxyHttpClient("dummy_file_name"); + client.httpClient.sendRequest = (): Promise => { + return Promise.resolve({ + status: 401, + headers: createHttpHeaders(), + request: initialRequest + }); + }; + client.recordingId = "dummy-id"; + client["stateManager"].state = "started"; + try { + await client.stop(); + throw new Error("should not have reached here, stop() call should have failed"); + } catch (error) { + expect((error as RecorderError).name).to.equal("RecorderError"); + expect((error as RecorderError).message).to.equal("Stop request failed."); + } + }); + + it("succeeds in playback or record modes", async function() { + env.TEST_MODE = testMode; + const client = new TestProxyHttpClient("dummy_file_name"); + client.httpClient.sendRequest = (): Promise => { + return Promise.resolve({ + status: 200, + headers: createHttpHeaders(), + request: initialRequest + }); + }; + client.recordingId = "dummy-id"; + client["stateManager"].state = "started"; + await client.stop(); + }); + }); + }); + + describe("modifyRequest method", () => { + it("request unchanged if not playback or record modes", async function() { + env.TEST_MODE = "live"; + const client = new TestProxyHttpClient("dummy_file_name"); + expect(await client.modifyRequest(initialRequest)).to.deep.equal(initialRequest); + }); + + ["record", "playback"].forEach((testMode) => { + it( + `${testMode} mode: ` + "request unchanged if `x-recording-id` in headers", + async function() { + env.TEST_MODE = testMode; + const request: PipelineRequest = { + ...initialRequest, + headers: createHttpHeaders({ "x-recording-id": "dummy-recording-id" }) + }; + const client = new TestProxyHttpClient("dummy_file_name"); + expect(await client.modifyRequest(request)).to.deep.equal(request); + } + ); + + it("url and headers get updated if no `x-recording-id` in headers", async function() { + env.TEST_MODE = testMode; + const request: PipelineRequest = { + ...initialRequest, + headers: createHttpHeaders({}) + }; + const client = new TestProxyHttpClient("dummy_file_name"); + client.recordingId = "dummy-recording-id"; + expect(await client.modifyRequest(request)).to.deep.equal({ + ...request, + url: "http://localhost:5000/dummy_path?sas=sas", + headers: createHttpHeaders({ + "x-recording-upstream-base-uri": initialRequest.url, + "x-recording-id": client.recordingId, + "x-recording-mode": env.TEST_MODE + }) + }); + }); + }); + }); + + describe("_createRecordingRequest", () => { + it("_createRecordingRequest adds the recording-file and recording-id headers", () => { + const dummyFileName = "dummy_file_name"; + const client = new TestProxyHttpClient(dummyFileName); + client.recordingId = "dummy-recording-id"; + const returnedRequest = client["_createRecordingRequest"](initialRequest.url); + expect(returnedRequest.url).to.equal(initialRequest.url); + expect(returnedRequest.method).to.equal("POST"); + expect(returnedRequest.headers.get("x-recording-file")).to.equal(dummyFileName); + expect(returnedRequest.headers.get("x-recording-id")).to.equal(client.recordingId); + expect(returnedRequest.url).to.equal(initialRequest.url); + }); + }); +}); + +describe("State Manager", function() { + it("throws error if started twice", function() { + const manager = new RecordingStateManager(); + manager.state = "started"; + try { + manager.state = "started"; + throw new Error("should not have reached here, previous assignment should have failed"); + } catch (error) { + expect((error as RecorderError).name).to.equal("RecorderError"); + expect((error as RecorderError).message).to.equal( + "Already started, should not have called start again." + ); + } + }); + + it("throws error if stopped twice", function() { + const manager = new RecordingStateManager(); + try { + manager.state = "stopped"; + throw new Error("should not have reached here, previous assignment should have failed"); + } catch (error) { + expect((error as RecorderError).name).to.equal("RecorderError"); + expect((error as RecorderError).message).to.equal( + "Already stopped, should not have called stop again." + ); + } + }); +}); + +// TODO: Can potentially add more tests that use the proxy-tool once we figure out the start/setup scripts for proxy-tool diff --git a/sdk/test-utils/recorder-new/tsconfig.json b/sdk/test-utils/recorder-new/tsconfig.json new file mode 100644 index 000000000000..c9af1d87f55c --- /dev/null +++ b/sdk/test-utils/recorder-new/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../../tsconfig.package", + "compilerOptions": { + "declarationDir": "./types", + "outDir": "./dist-esm", + "lib": ["dom", "esnext"] + }, + "include": ["./src/**/*.ts", "./test/**/*.ts"] +} diff --git a/sdk/test-utils/recorder/CHANGELOG.md b/sdk/test-utils/recorder/CHANGELOG.md index 9de312c1947d..64627e3ffe52 100644 --- a/sdk/test-utils/recorder/CHANGELOG.md +++ b/sdk/test-utils/recorder/CHANGELOG.md @@ -1,6 +1,18 @@ # Release History -## 1.0.0 (Unreleased) +## 1.0.2 (Unreleased) + +Fixed double replacements in case the source value and the replacement happened to remain the same after encoding. + +## 1.0.1 (2021-09-01) + +Fix types in the published package. + +## 1.0.0 (2021-08-30) + +Marks the first release of the @azure-tools/test-recorder package. +This is not for the public consumption, releasing for the convenience of certain public pipelines. +Read more at [#17127](https://github.com/Azure/azure-sdk-for-js/pull/17127). ## 2021-07-13 diff --git a/sdk/test-utils/recorder/GUIDELINES.md b/sdk/test-utils/recorder/GUIDELINES.md index 6826238bb19a..291d40c04a40 100644 --- a/sdk/test-utils/recorder/GUIDELINES.md +++ b/sdk/test-utils/recorder/GUIDELINES.md @@ -19,13 +19,13 @@ - Else If TEST_MODE = "playback" (or if the TEST_MODE is neither "record" nor "live"), - Existing recordings are played back as responses to the HTTP requests in the tests -Add `@azure/test-utils-recorder` as a devDependency of your sdk. +Add `@azure-tools/test-recorder` as a devDependency of your sdk. ## Adding a new test/test-suite - `recorder` package assumes that the tests in the sdk are leveraging [mocha](https://mochajs.org/) and [rollup](https://rollupjs.org/guide/en/) (and [karma](https://karma-runner.github.io/latest/index.html) test runner for browser tests) as suggested by the [template](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/template/template) package in the repo. -- `record` from `@azure/test-utils-recorder` package should be imported in the test files. +- `record` from `@azure-tools/test-recorder` package should be imported in the test files. ### Recording the tests @@ -37,7 +37,7 @@ Add `@azure/test-utils-recorder` as a devDependency of your sdk. - Follow the below template for adding a new test. `beforeEach` and `afterEach` sections are compulsory. ```typescript - import { record } from "@azure/test-utils-recorder"; + import { record } from "@azure-tools/test-recorder"; describe("", () => { beforeEach(async function() { @@ -75,7 +75,7 @@ Add `@azure/test-utils-recorder` as a devDependency of your sdk. } ``` -- `RecorderEnvironmentSetup` type is being exposed from the `@azure/test-utils-recorder` package. +- `RecorderEnvironmentSetup` type is being exposed from the `@azure-tools/test-recorder` package. Environment variables for the tests in the sdk can be managed with the setup on a per-test basis. - `replaceableVariables: { [ENV_VAR: string]: string };` @@ -152,7 +152,7 @@ Add `@azure/test-utils-recorder` as a devDependency of your sdk. - If a new test/test-suite is added, execute the test/test-suite(or all the tests) by setting the env variable `TEST_MODE = record` and **commit** the generated recording files. -### Importing `delay` from `@azure/test-utils-recorder` +### Importing `delay` from `@azure-tools/test-recorder` - This `delay` has no effect if the `TEST_MODE` is `"playback"`. - `delay` works as expected(`await delay()`) if the `TEST_MODE` is not `"playback"`. @@ -256,10 +256,10 @@ Add `@azure/test-utils-recorder` as a devDependency of your sdk. ``` - Saving the recordings of browser tests in the `recordings/browsers` folder. - Import `jsonRecordingFilterFunction` from `"@azure/test-utils-recorder"` as shown below. + Import `jsonRecordingFilterFunction` from `"@azure-tools/test-recorder"` as shown below. ```javascript - const { jsonRecordingFilterFunction } = require("@azure/test-utils-recorder"); + const { jsonRecordingFilterFunction } = require("@azure-tools/test-recorder"); ``` jsonToFileReporter in karma.conf.js filters the JSON strings in console.logs diff --git a/sdk/test-utils/recorder/README.md b/sdk/test-utils/recorder/README.md index 62a6c1531e2b..44369063a6a1 100644 --- a/sdk/test-utils/recorder/README.md +++ b/sdk/test-utils/recorder/README.md @@ -1,4 +1,6 @@ -## Azure test-utils-recorder SDK client library for JavaScript +## Azure test-recorder SDK client library for JavaScript + +### **Note: This project is a test utility that assits with testing the packages maintained at the Azure SDK for JavaScript repository. This is not intended for the public utilization.** The Azure SDK for JavaScript is composed of a multitude of repositories that attempt to deliver a common, homogenous SDK to make use of all of the services @@ -13,14 +15,14 @@ questions: - How to write tests that support parallelism? - How to write isomorphic tests for NodeJS and the Browsers? -Our non-published package `@azure/test-utils-recorder` attempts to provide an +Our non-published package `@azure-tools/test-recorder` attempts to provide an answer for those questions, as you'll be able to see throughout this README. This library provides interfaces and helper methods to equip the SDKs in the azure-sdk-for-js repo with the recording and playback capabilities for the tests, it targets HTTP requests in both Node.js and the Browsers. -test-utils-recorder, as part of the Test Utils available in this repository, it +test-recorder, as part of the Test Utils available in this repository, it is supposed to be added only as a devDependency and should be used only for the tests of an sdk. @@ -62,7 +64,7 @@ tests of an sdk. ## Getting started We're about to go through how to set up your project to use the -`@azure/test-utils-recorder` package. +`@azure-tools/test-recorder` package. This document assumes familiarity with [git](https://git-scm.com) and [rush](https://rushjs.io). You can read more about how we use rush in the following links: @@ -70,13 +72,13 @@ You can read more about how we use rush in the following links: - Rush used for [Project Orchestration](https://github.com/sadasant/azure-sdk-for-js/blob/master/CONTRIBUTING.md#project-orchestration). - [Rush for NPM users](https://github.com/sadasant/azure-sdk-for-js/blob/master/CONTRIBUTING.md#rush-for-npm-users). -Keep in mind that `@azure/test-utils-recorder` is not a published package. It +Keep in mind that `@azure-tools/test-recorder` is not a published package. It is only intended to be used by the libraries in the azure-sdk-for-js repository (at least for now). ### Installing the package -To install the `@azure/test-utils-recorder` package, you'll need to start by +To install the `@azure-tools/test-recorder` package, you'll need to start by cloning our azure-sdk-for-js repository. One way of doing this is by using the git command line interface, as follows: @@ -99,15 +101,15 @@ This will optimistically assume you're in a fresh clone. From this point forward, we'll assume that you're developing (perhaps contributing!) to one of the azure-sdk-for-js's libraries. So, your next step is to change directory to the path relevant to your project. Let's say you want -to add the `@azure/test-utils-recorder` package to `@azure/keyvault-keys` (it -already uses test-utils-recorder, but bear with us), you'll be doing the +to add the `@azure-tools/test-recorder` package to `@azure/keyvault-keys` (it +already uses test-recorder, but bear with us), you'll be doing the following: ```bash cd sdk/keyvault/keyvault-keys ``` -Once there, you can add the test-utils-recorder package by changing your package.json +Once there, you can add the test-recorder package by changing your package.json to include the following line in the devDependencies: ```bash @@ -115,7 +117,7 @@ to include the following line in the devDependencies: // ... your package.json properties "devDependencies": { // ... your devDependencies - "@azure/test-utils-recorder": "1.0.0", + "@azure-tools/test-recorder": "1.0.0", // ... more of your devDependencies }, // ... more of your package.json properties @@ -131,13 +133,13 @@ rush update && rush install And you're ready! Now you can use the common recorder in your code, as shown below: ```typescript -import * as commonRecorder from "@azure/test-utils-recorder"; +import * as commonRecorder from "@azure-tools/test-recorder"; ``` Or, if you know what functions you want to import, you can also do the following: ```typescript -import { record, env, delay } from "@azure/test-utils-recorder"; +import { record, env, delay } from "@azure-tools/test-recorder"; ``` The common recorder provides the following public methods and properties: @@ -189,7 +191,7 @@ recording tests right away by using the exported method `record()`. We'll get into the details further down this document. This function will do recordings, or will play back previous recordings, depending on an environment variable: `TEST_MODE`. If the environment variable `TEST_MODE` is empty, `record()` (and most -of the functions provided by test-utils-recorder) won't be doing anything. You'll need +of the functions provided by test-recorder) won't be doing anything. You'll need to set the `TEST_MODE` environment variable to `record` (or `soft-record`) to start recording, and then to `playback` to play the recordings back at your code. @@ -300,12 +302,12 @@ section of our guidelines: To record your tests, make sure to set the environment variable `TEST_MODE` to `record` or `soft-record`, then in your code, call to the `record()` function exported from -`@azure/test-utils-recorder`, then call it before the http request you want to +`@azure-tools/test-recorder`, then call it before the http request you want to make. In the following example, we'll invoke the `record()` method before authenticating our KeyVault client: ```typescript -import { env, record, Recorder } from "@azure/test-utils-recorder"; +import { env, record, Recorder } from "@azure-tools/test-recorder"; import { KeysClient } from "@azure/keyvault-keys"; describe("My test", () => { @@ -429,7 +431,7 @@ about this feature [here](https://github.com/Azure/azure-sdk-for-js/blob/main/sd Live tests need to do sensitive operations, like authenticating with your Azure credentials. To protect this information from the recordings, -`@azure/test-utils-recorder` provides the following functions: +`@azure-tools/test-recorder` provides the following functions: - `setReplaceableVariables`, which will allow you to hide sensitive content from the environment variables (more on that later). @@ -450,7 +452,7 @@ store instead. To solve this issue in our previous example test, you may do the ```typescript // You'll be most certainly importing more than this method. -import { setReplaceableVariables } from "@azure/test-utils-recorder"; +import { setReplaceableVariables } from "@azure-tools/test-recorder"; // Do this inside of the beforeEach, before you start recording. setReplaceableVariables({ @@ -505,7 +507,7 @@ as part of your recordings. A common issue while running integration tests is that, sometimes two persons or machines might try to run the same set of tests against the same resource. -This is not directly related to the `@azure/test-utils-recorder` package, but +This is not directly related to the `@azure-tools/test-recorder` package, but if you're getting into issues because of concurrent conflicting requests, we understand, and we might be able to help by providing you with the following suggestions: @@ -524,7 +526,7 @@ as ideas. We understand that might not be an easy problem to fix. ### Isomorphic tests -`@azure/test-utils-recorder` does support running tests in the browser. If you +`@azure-tools/test-recorder` does support running tests in the browser. If you use Karma, as long as your karma configuration is correct, your tests should work both on NodeJS and in the browsers! @@ -542,7 +544,7 @@ The common recorder might not be used yet in each one of the libraries in the azure-sdk-for-js repository (we're working on it). In the mean time, an easy way to find where we're using this package is by going through the following search link: - + ## Contributing diff --git a/sdk/test-utils/recorder/package.json b/sdk/test-utils/recorder/package.json index b59e81551ac7..ce066718d5e6 100644 --- a/sdk/test-utils/recorder/package.json +++ b/sdk/test-utils/recorder/package.json @@ -1,6 +1,6 @@ { - "name": "@azure/test-utils-recorder", - "version": "1.0.0", + "name": "@azure-tools/test-recorder", + "version": "1.0.2", "sdk-type": "client", "description": "This library provides interfaces and helper methods to provide recording and playback capabilities for the tests in Azure JS/TS SDKs", "main": "dist/index.js", @@ -10,16 +10,16 @@ "./dist-esm/src/createRecorder.js": "./dist-esm/src/createRecorder.browser.js", "./dist-esm/src/utils/recordings.js": "./dist-esm/src/utils/recordings.browser.js" }, - "types": "./typings/src/index.d.ts", + "types": "./types/src/index.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1", "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Skipped.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1", + "build": "npm run clean && tsc -p . && rollup -c 2>&1", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "extract-api": "echo skipped", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "karma start --single-run", @@ -28,7 +28,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../.eslintrc.internal.json package.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../.eslintrc.internal.json package.json src test --ext .ts -f html -o recorder-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "karma start --single-run", "unit-test:node": "mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 5000000 --full-trace --exclude \"dist-esm/**/browser/**/*.spec.js\" \"dist-esm/**/*.spec.js\"", "unit-test": "npm run unit-test:node && npm run unit-test:browser", @@ -40,7 +39,7 @@ "files": [ "dist/", "dist-esm/src/", - "typings/src", + "types/src", "README.md", "LICENSE" ], @@ -61,7 +60,6 @@ }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/test-utils/recorder/", "sideEffects": false, - "private": true, "dependencies": { "@azure/core-http": "^2.0.0", "@azure/core-tracing": "1.0.0-preview.13", diff --git a/sdk/test-utils/recorder/src/createRecorder.ts b/sdk/test-utils/recorder/src/createRecorder.ts index 7e3795b167c5..502c77fa9983 100644 --- a/sdk/test-utils/recorder/src/createRecorder.ts +++ b/sdk/test-utils/recorder/src/createRecorder.ts @@ -28,7 +28,7 @@ export class NockRecorder extends BaseRecorder { public playback(recorderEnvironmentSetup: RecorderEnvironmentSetup, testFilePath: string): void { super.init(recorderEnvironmentSetup); /** - * `@azure/test-utils-recorder` package is used for both the browser and node tests + * `@azure-tools/test-recorder` package is used for both the browser and node tests * * During the playback mode, * `path` module is leveraged to import the node test recordings and `path` module can't be imported in the browser. diff --git a/sdk/test-utils/recorder/src/utils/index.ts b/sdk/test-utils/recorder/src/utils/index.ts index c7ae10297a3a..5ec68aa58bfb 100644 --- a/sdk/test-utils/recorder/src/utils/index.ts +++ b/sdk/test-utils/recorder/src/utils/index.ts @@ -133,18 +133,22 @@ export function applyReplacementMap( let updated = content; replacements.forEach((replacement: string, key: string) => { if (env[key]) { - updated = replaceAll(updated, encodeRFC3986(env[key]!), encodeRFC3986(replacement)); - updated = replaceAll(updated, env[key]!, replacement); + const value = env[key]!; + const [encodedValue, encodedReplacement] = [value, replacement].map(encodeRFC3986); + if (value !== encodedValue || replacement !== encodedReplacement) { + updated = replaceAll(updated, encodedValue, encodedReplacement); + } + updated = replaceAll(updated, value, replacement); if ( - env[key]!.startsWith("http") && + value.startsWith("http") && replacement.startsWith("http") && - URLBuilder.parse(env[key]!).getHost() + URLBuilder.parse(value).getHost() ) { // If an ENV variable and its replacement start with `http` with a valid hostname, replace the hostname // with the one provided in the replacement. This has no effect incase the URI is already replaced in the previous step. updated = replaceAll( updated, - URLBuilder.parse(env[key]!).getHost()!, + URLBuilder.parse(value).getHost()!, URLBuilder.parse(replacement).getHost()! ); } diff --git a/sdk/test-utils/recorder/test/utils.spec.ts b/sdk/test-utils/recorder/test/utils.spec.ts index f8b93ccdf91a..5fb5a32797c8 100644 --- a/sdk/test-utils/recorder/test/utils.spec.ts +++ b/sdk/test-utils/recorder/test/utils.spec.ts @@ -135,6 +135,23 @@ describe("utils", () => { expect(appliedMap).to.equal("default.com/path/HIDDEN_SECRET"); }); + it("Should not apply unnecessary repeated replacements", () => { + const env: NodeJS.ProcessEnv = { + AZURE_USERNAME: "username" + }; + + const replacementMap: ReplacementMap = new Map(); + replacementMap.set("AZURE_USERNAME", "azure_username"); + + const recording = `.post('/tenant/oauth2/v2.0/token', "username=username")`; + const appliedMap = applyReplacementMap(env, replacementMap, recording); + + // It could be because the replacement is a superset of the original value, + // Or perhaps because other weird occurrences in the file, + // in either case, double replacements should not happen. + expect(appliedMap.indexOf("azure_azure_username")).to.equal(-1); + }); + it("Should work with recordings of several lines", () => { const env: NodeJS.ProcessEnv = { SECRET: "(SECRET)", diff --git a/sdk/test-utils/recorder/tsconfig.json b/sdk/test-utils/recorder/tsconfig.json index ab1bc8180832..7a1844090cc9 100644 --- a/sdk/test-utils/recorder/tsconfig.json +++ b/sdk/test-utils/recorder/tsconfig.json @@ -1,11 +1,11 @@ { "extends": "../../../tsconfig.package", "compilerOptions": { - "declarationDir": "./typings", + "declarationDir": "./types", "target": "es2017", "outDir": "./dist-esm", "lib": ["dom", "es5", "es6", "es7", "esnext"] }, - "exclude": ["node_modules", "./typings/**/*.d.ts", "./samples/**/*.ts"], + "exclude": ["node_modules", "./types/**/*.d.ts", "./samples/**/*.ts"], "include": ["./src/**/*.ts", "./test/**/*.ts"] } diff --git a/sdk/test-utils/test-utils/package.json b/sdk/test-utils/test-utils/package.json index 3152af2d0d7e..cd1fe9330a40 100644 --- a/sdk/test-utils/test-utils/package.json +++ b/sdk/test-utils/test-utils/package.json @@ -13,11 +13,11 @@ }, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p . && rollup -c 2>&1", + "build": "npm run clean && tsc -p . && rollup -c 2>&1", "build:samples": "echo Skipped.", "build:test": "echo not needed", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "node dist-esm/test/index.spec.js", @@ -25,7 +25,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../.eslintrc.internal.json package.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../.eslintrc.internal.json package.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 120000 --full-trace \"test/{,!(browser)/**/}*.spec.ts\"", "unit-test": "npm run unit-test:node && npm run unit-test:browser", @@ -57,7 +56,7 @@ "private": true, "dependencies": { "mocha": "^7.1.1", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "tslib": "^2.2.0", "@azure/core-tracing": "1.0.0-preview.13" }, diff --git a/sdk/test-utils/test-utils/src/multiVersion.ts b/sdk/test-utils/test-utils/src/multiVersion.ts index 4b8d429257b2..6d3704aa4ce9 100644 --- a/sdk/test-utils/test-utils/src/multiVersion.ts +++ b/sdk/test-utils/test-utils/src/multiVersion.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { env, isLiveMode } from "@azure/test-utils-recorder"; +import { env, isLiveMode } from "@azure-tools/test-recorder"; import { getGlobalObject } from "./global"; export interface TestFunctionWrapper { diff --git a/sdk/test-utils/test-utils/src/tracing/testSpan.ts b/sdk/test-utils/test-utils/src/tracing/testSpan.ts index 22bed4d80123..0aba5132910f 100644 --- a/sdk/test-utils/test-utils/src/tracing/testSpan.ts +++ b/sdk/test-utils/test-utils/src/tracing/testSpan.ts @@ -70,7 +70,8 @@ export class TestSpan implements Span { context: SpanContext, kind: SpanKind, parentSpanId?: string, - startTime: TimeInput = Date.now() + startTime: TimeInput = Date.now(), + attributes: SpanAttributes = {} ) { this._tracer = parentTracer; this.name = name; @@ -82,7 +83,7 @@ export class TestSpan implements Span { }; this.endCalled = false; this._context = context; - this.attributes = {}; + this.attributes = attributes; } /** diff --git a/sdk/test-utils/test-utils/src/tracing/testTracer.ts b/sdk/test-utils/test-utils/src/tracing/testTracer.ts index 080c4dcfc665..9ea2c62aeb93 100644 --- a/sdk/test-utils/test-utils/src/tracing/testTracer.ts +++ b/sdk/test-utils/test-utils/src/tracing/testTracer.ts @@ -149,7 +149,8 @@ export class TestTracer implements Tracer { spanContext, options?.kind || SpanKind.INTERNAL, parentContext ? parentContext.spanId : undefined, - options?.startTime + options?.startTime, + options?.attributes ); this.knownSpans.push(span); if (isRootSpan) { diff --git a/sdk/test-utils/testing-recorder-new/README.md b/sdk/test-utils/testing-recorder-new/README.md new file mode 100644 index 000000000000..d58c33d49965 --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/README.md @@ -0,0 +1,14 @@ +## Azure testing-recorder-new library for JavaScript + +This package tests the test-utils-recorder-new library, which is an experimental tool to record and playback the tests in the JS repo by leveraging the unified out-of-proc test proxy server. This library is still under construction. +Feature work is being tracked at [#15829](https://github.com/Azure/azure-sdk-for-js/issues/15829) + +To run the tests, build the package and run the test:node command. + +You will need to create a local `.env` file under the same directory as this readme. Within it, define: + +``` + "TEST_MODE", + "STORAGE_CONNECTION_STRING", + "STORAGE_SAS_URL", + "TABLES_SAS_CONNECTION_STRING" diff --git a/sdk/test-utils/testing-recorder-new/karma.conf.js b/sdk/test-utils/testing-recorder-new/karma.conf.js new file mode 100644 index 000000000000..0b0259c1c24e --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/karma.conf.js @@ -0,0 +1,121 @@ +// https://github.com/karma-runner/karma-chrome-launcher +process.env.CHROME_BIN = require("puppeteer").executablePath(); +require("dotenv").config({ path: "./.env" }); + +module.exports = function(config) { + config.set({ + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: "./", + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ["mocha"], + + plugins: [ + "karma-mocha", + "karma-mocha-reporter", + "karma-chrome-launcher", + "karma-edge-launcher", + "karma-firefox-launcher", + "karma-ie-launcher", + "karma-env-preprocessor", + "karma-coverage", + "karma-sourcemap-loader", + "karma-junit-reporter", + "karma-json-preprocessor" + ], + + // list of files / patterns to load in the browser + files: [ + "dist-test/index.browser.js", + { pattern: "dist-test/index.browser.js.map", type: "html", included: false, served: true } + ], + + // list of files / patterns to exclude + exclude: [], + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + "**/*.js": ["sourcemap", "env"], + // IMPORTANT: COMMENT following line if you want to debug in your browsers!! + // Preprocess source file to calculate code coverage, however this will make source file unreadable + // "dist-test/index.browser.js": ["coverage"], + "recordings/browsers/**/*.json": ["json"] + }, + + // inject following environment values into browser testing with window.__env__ + // environment values MUST be exported or set with same console running "karma start" + // https://www.npmjs.com/package/karma-env-preprocessor + envPreprocessor: [ + "TEST_MODE", + "STORAGE_CONNECTION_STRING", + "STORAGE_SAS_URL", + "TABLES_SAS_CONNECTION_STRING" + ], + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ["mocha", "coverage", "junit"], + + coverageReporter: { + // specify a common output directory + dir: "coverage-browser/", + reporters: [ + { type: "json", subdir: ".", file: "coverage.json" }, + { type: "lcovonly", subdir: ".", file: "lcov.info" }, + { type: "html", subdir: "html" }, + { type: "cobertura", subdir: ".", file: "cobertura-coverage.xml" } + ] + }, + + junitReporter: { + outputDir: "", // results will be saved as $outputDir/$browserName.xml + outputFile: "test-results.browser.xml", // if included, results will be saved as $outputDir/$browserName/$outputFile + suite: "", // suite will become the package name attribute in xml testsuite element + useBrowserName: false, // add browser name to report and classes names + nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element + classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element + properties: {} // key value pair of properties to add to the section of the report + }, + + // web server port + port: 9328, + + // enable / disable colors in the output (reporters and logs) + colors: true, + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + // 'ChromeHeadless', 'Chrome', 'Firefox', 'Edge', 'IE' + browsers: ["ChromeHeadless"], + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: 1, + + browserNoActivityTimeout: 600000, + browserDisconnectTimeout: 10000, + browserDisconnectTolerance: 3, + + client: { + mocha: { + // change Karma's debug.html to the mocha web reporter + reporter: "html", + timeout: "600000" + } + } + }); +}; diff --git a/sdk/test-utils/testing-recorder-new/package.json b/sdk/test-utils/testing-recorder-new/package.json new file mode 100644 index 000000000000..0b2041a4201b --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/package.json @@ -0,0 +1,113 @@ +{ + "name": "@azure-tools/testing-recorder-new", + "version": "1.0.0", + "sdk-type": "test", + "description": "This library uses the interfaces and helper methods from @azure-tools/test-recorder-new in the tests to show an example", + "main": "dist/index.js", + "module": "dist-esm/src/index.js", + "types": "./types/src/index.d.ts", + "scripts": { + "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", + "build:browser": "echo skipped", + "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", + "build:samples": "echo Skipped.", + "build:test": "tsc -p .", + "build": "npm run clean && tsc -p . && rollup -c rollup.test.config.js 2>&1", + "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "clean": "rimraf dist dist-esm test-dist types *.tgz", + "extract-api": "echo skipped", + "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", + "integration-test:browser": "karma start --single-run", + "integration-test:node": "mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace \"test/*.spec.ts\"", + "integration-test": "npm run integration-test:node && npm run integration-test:browser", + "lint:fix": "eslint package.json src test --ext .ts --fix --fix-type [problem,suggestion]", + "lint": "eslint package.json src test --ext .ts -f html -o recorder-lintReport.html || exit 0", + "pack": "npm pack 2>&1", + "unit-test:browser": "echo skipped", + "unit-test:node": "echo skipped", + "unit-test": "npm run unit-test:node && npm run unit-test:browser", + "test:browser": "npm run clean && npm run build && npm run integration-test:browser", + "test:node": "npm run clean && npm run build:test && npm run integration-test:node", + "test": "npm run clean && npm run build:test && npm run integration-test", + "docs": "echo Skipped." + }, + "files": [ + "dist/", + "dist-esm/src/", + "types/src", + "README.md", + "LICENSE" + ], + "repository": "github:Azure/azure-sdk-for-js", + "keywords": [ + "azure", + "recording", + "cloud", + "playback" + ], + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "engines": { + "node": ">=8.0.0" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/test-utils/recorder/", + "sideEffects": false, + "private": true, + "devDependencies": { + "@azure/core-util": "^1.0.0-beta.1", + "@azure-tools/test-recorder": "^1.0.0", + "@azure-tools/test-recorder-new": "^1.0.0", + "@azure/storage-queue": "^12.6.0", + "@azure/dev-tool": "^1.0.0", + "@azure/eslint-plugin-azure-sdk": "^3.0.0", + "@rollup/plugin-commonjs": "11.0.2", + "@rollup/plugin-multi-entry": "^3.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "@rollup/plugin-replace": "^2.2.0", + "@types/fs-extra": "^8.0.0", + "@types/chai": "^4.1.6", + "@types/md5": "^2.2.0", + "@types/mocha": "^7.0.2", + "@types/nise": "^1.4.0", + "@types/node": "^12.0.0", + "@types/mock-require": "~2.0.0", + "@types/mock-fs": "~4.10.0", + "chai": "^4.2.0", + "dotenv": "^8.2.0", + "eslint": "^7.15.0", + "karma": "^6.2.0", + "karma-chrome-launcher": "^3.0.0", + "karma-coverage": "^2.0.0", + "karma-edge-launcher": "^0.4.2", + "karma-env-preprocessor": "^0.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-json-preprocessor": "^0.3.3", + "karma-json-to-file-reporter": "^1.0.1", + "karma-junit-reporter": "^2.0.1", + "karma-mocha": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-sourcemap-loader": "^0.3.8", + "mocha": "^7.1.1", + "mocha-junit-reporter": "^1.18.0", + "mock-fs": "^4.10.4", + "mock-require": "^3.0.3", + "npm-run-all": "^4.1.5", + "nyc": "^14.0.0", + "prettier": "^1.16.4", + "rimraf": "^3.0.0", + "rollup": "^1.16.3", + "rollup-plugin-shim": "^1.0.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "rollup-plugin-terser": "^5.1.1", + "rollup-plugin-visualizer": "^4.0.4", + "typescript": "~4.2.0", + "xhr-mock": "^2.4.1", + "uuid": "^8.3.0", + "@azure/data-tables": "^12.1.2", + "@types/uuid": "^8.0.0" + } +} diff --git a/sdk/test-utils/testing-recorder-new/rollup.base.config.js b/sdk/test-utils/testing-recorder-new/rollup.base.config.js new file mode 100644 index 000000000000..6a274be35d48 --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/rollup.base.config.js @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import nodeResolve from "@rollup/plugin-node-resolve"; +import multiEntry from "@rollup/plugin-multi-entry"; +import cjs from "@rollup/plugin-commonjs"; +import replace from "@rollup/plugin-replace"; +import sourcemaps from "rollup-plugin-sourcemaps"; +import shim from "rollup-plugin-shim"; +import * as path from "path"; +// import visualizer from "rollup-plugin-visualizer"; +import { openTelemetryCommonJs } from "@azure/dev-tool/shared-config/rollup"; + +const version = require("./package.json").version; +const banner = [ + "/*!", + ` * Azure Storage SDK for JavaScript - Blob, ${version}`, + " * Copyright (c) Microsoft and contributors. All rights reserved.", + " */" +].join("\n"); + +export function browserConfig(test = false) { + const baseConfig = { + input: "dist-esm/src/index.js", + output: { + file: "dist-browser/azure-testing-recorder-new.js", + banner: banner, + format: "umd", + name: "azblob", + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + sourcemaps(), + replace({ + delimiters: ["", ""], + // replace dynamic checks with if (false) since this is for + // browser only. Rollup's dead code elimination will remove + // any code guarded by if (isNode) { ... } + "if (isNode)": "if (false)", + "if (!isNode)": "if (true)" + }), + // fs and os are not used by the browser bundle, so just shim it + // dotenv doesn't work in the browser, so replace it with a no-op function + shim({ + dotenv: `export function config() { }`, + fs: ` + export function stat() { } + export function createReadStream() { } + export function createWriteStream() { } + `, + os: ` + export const type = 1; + export const release = 1; + `, + util: ` + export function promisify() { } + ` + }), + nodeResolve({ + mainFields: ["module", "browser"], + preferBuiltins: false + }), + cjs({ + namedExports: { + events: ["EventEmitter"], + assert: [ + "ok", + "deepEqual", + "equal", + "fail", + "strictEqual", + "deepStrictEqual", + "notDeepEqual", + "notDeepStrictEqual" + ], + ...openTelemetryCommonJs() + } + }) + ], + onwarn(warning, warn) { + if ( + warning.code === "CIRCULAR_DEPENDENCY" && + warning.importer.indexOf(path.normalize("node_modules/@opentelemetry/api")) >= 0 + ) { + // opentelemetry contains circular references but it doesn't cause issues. + return; + } + + if ( + warning.code === "CIRCULAR_DEPENDENCY" || + warning.code === "UNRESOLVED_IMPORT" + // Unresolved imports in the browser may break apps with frameworks such as angular. + // Shim the modules with dummy src files for browser to avoid regressions. + ) { + throw new Error(warning.message); + } + warn(warning); + } + }; + + if (test) { + baseConfig.input = [ + "dist-esm/test/*.spec.js" + ]; + baseConfig.plugins.unshift(multiEntry({ exports: false })); + baseConfig.output.file = "dist-test/index.browser.js"; + + baseConfig.external = []; + + baseConfig.context = "null"; + + // 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. + baseConfig.treeshake = false; + } + + return baseConfig; +} diff --git a/sdk/test-utils/testing-recorder-new/rollup.config.js b/sdk/test-utils/testing-recorder-new/rollup.config.js new file mode 100644 index 000000000000..fd25a0257a1f --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/rollup.config.js @@ -0,0 +1,17 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import * as base from "./rollup.base.config"; + +const inputs = []; + +if (!process.env.ONLY_BROWSER) { + inputs.push(base.nodeConfig()); +} + +// Disable this until we are ready to run rollup for the browser. +if (!process.env.ONLY_NODE) { + inputs.push(base.browserConfig()); +} + +export default inputs; diff --git a/sdk/test-utils/testing-recorder-new/rollup.test.config.js b/sdk/test-utils/testing-recorder-new/rollup.test.config.js new file mode 100644 index 000000000000..01cc4b90cb6a --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/rollup.test.config.js @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import * as base from "./rollup.base.config"; + +export default [base.browserConfig(true)]; diff --git a/sdk/test-utils/testing-recorder-new/src/index.ts b/sdk/test-utils/testing-recorder-new/src/index.ts new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sdk/test-utils/testing-recorder-new/test/core-v1-test.spec.ts b/sdk/test-utils/testing-recorder-new/test/core-v1-test.spec.ts new file mode 100644 index 000000000000..c8c5d36c63af --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/test/core-v1-test.spec.ts @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { env } from "@azure-tools/test-recorder"; +import { QueueServiceClient, StoragePipelineOptions } from "@azure/storage-queue"; +import { TestProxyHttpClientCoreV1 } from "@azure-tools/test-recorder-new"; +import { config } from "dotenv"; +import { isNode } from "@azure/core-util"; +config(); + +describe("Tests", () => { + it("storage test", async function() { + const file = (isNode ? "node_" : "browser_") + `core_v1_file_path.json`; + const recorder = new TestProxyHttpClientCoreV1(file); + const options: StoragePipelineOptions = {}; + options.httpClient = recorder; + const client = new QueueServiceClient(env.STORAGE_SAS_URL, undefined, options); + await recorder.start(); + await client.createQueue((isNode ? "node-" : "browser-") + "1320"); + await recorder.stop(); + }); +}); diff --git a/sdk/test-utils/testing-recorder-new/test/core-v2-test.spec.ts b/sdk/test-utils/testing-recorder-new/test/core-v2-test.spec.ts new file mode 100644 index 000000000000..210c382a9fb2 --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/test/core-v2-test.spec.ts @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { env } from "@azure-tools/test-recorder"; +import { TableEntity, TableClient } from "@azure/data-tables"; +import { TestProxyHttpClient, recorderHttpPolicy } from "@azure-tools/test-recorder-new"; +import { config } from "dotenv"; +import { isNode } from "@azure/core-util"; +import { createSimpleEntity } from "./utils/utils"; +config(); + +describe("Tests", () => { + it("tables test", async function() { + const file = (isNode ? "node_" : "browser_") + `core_v2_file_path.json`; + const recorder = new TestProxyHttpClient(file); + const client = TableClient.fromConnectionString(env.TABLES_SAS_CONNECTION_STRING, "newtable"); + client.pipeline.addPolicy(recorderHttpPolicy(recorder)); + await recorder.start(); + await client.createTable(); + const simpleEntity: TableEntity = createSimpleEntity(); + await client.createEntity(simpleEntity); + await client.deleteTable(); + await recorder.stop(); + }); +}); diff --git a/sdk/test-utils/testing-recorder-new/test/utils/utils.ts b/sdk/test-utils/testing-recorder-new/test/utils/utils.ts new file mode 100644 index 000000000000..5b89447513be --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/test/utils/utils.ts @@ -0,0 +1,20 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { TableEntity } from "@azure/data-tables"; + +const stringValue = "This is a string"; + +export function createSimpleEntity(): TableEntity { + return { + partitionKey: "simpleEntity", + rowKey: "03590009-4169-46ce-9e33-d011dbaf308c", //uuid(), + stringTypeProperty1: stringValue, + stringTypeProperty2: stringValue, + stringTypeProperty3: stringValue, + stringTypeProperty4: stringValue, + stringTypeProperty5: stringValue, + stringTypeProperty6: stringValue, + stringTypeProperty7: stringValue + }; +} diff --git a/sdk/test-utils/testing-recorder-new/tsconfig.json b/sdk/test-utils/testing-recorder-new/tsconfig.json new file mode 100644 index 000000000000..c31f951dc431 --- /dev/null +++ b/sdk/test-utils/testing-recorder-new/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig.package", + "compilerOptions": { + "declarationDir": "./typings/latest", + "outDir": "./dist-esm", + "lib": ["dom", "es2019"] + }, + "compileOnSave": true, + "include": ["./src/**/*.ts", "./test/**/*.ts"] +} diff --git a/sdk/textanalytics/ai-text-analytics/CHANGELOG.md b/sdk/textanalytics/ai-text-analytics/CHANGELOG.md index e77afc52c13c..05343aa17ffe 100644 --- a/sdk/textanalytics/ai-text-analytics/CHANGELOG.md +++ b/sdk/textanalytics/ai-text-analytics/CHANGELOG.md @@ -1,6 +1,16 @@ # Release History -## 5.2.0-beta.1 (Unreleased) +## 5.2.0-beta.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 5.2.0-beta.1 (2021-08-09) ### Features Added diff --git a/sdk/textanalytics/ai-text-analytics/karma.conf.js b/sdk/textanalytics/ai-text-analytics/karma.conf.js index 23a7f0ce2627..eaf0296e5373 100644 --- a/sdk/textanalytics/ai-text-analytics/karma.conf.js +++ b/sdk/textanalytics/ai-text-analytics/karma.conf.js @@ -9,7 +9,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ diff --git a/sdk/textanalytics/ai-text-analytics/package.json b/sdk/textanalytics/ai-text-analytics/package.json index 824fa58d9981..df8762f3beb8 100644 --- a/sdk/textanalytics/ai-text-analytics/package.json +++ b/sdk/textanalytics/ai-text-analytics/package.json @@ -3,7 +3,7 @@ "sdk-type": "client", "author": "Microsoft Corporation", "description": "An isomorphic client library for the Azure Text Analytics service.", - "version": "5.2.0-beta.1", + "version": "5.2.0-beta.2", "keywords": [ "node", "azure", @@ -64,7 +64,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "build:debug": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* temp types *.tgz *.log", @@ -77,7 +77,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run unit-test:browser", "test:node": "npm run clean && npm run build:test && npm run unit-test:node", "test": "npm run clean && npm run build:test && npm run unit-test", @@ -94,7 +93,7 @@ "@azure/core-client": "^1.0.0", "@azure/core-rest-pipeline": "^1.1.0", "@azure/core-lro": "^2.2.0", - "@azure/core-paging": "^1.1.1", + "@azure/core-paging": "^1.2.0", "@azure/core-tracing": "1.0.0-preview.13", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" @@ -102,10 +101,10 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils": "^1.0.0", - "@azure/test-utils-recorder": "^1.0.0", - "@microsoft/api-extractor": "7.7.11", + "@azure-tools/test-recorder": "^1.0.0", + "@microsoft/api-extractor": "^7.18.7", "@types/chai": "^4.1.6", "@types/chai-as-promised": "^7.1.0", "@types/mocha": "^7.0.2", @@ -138,7 +137,7 @@ "rollup": "^1.16.3", "sinon": "^9.0.2", "source-map-support": "^0.5.9", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0", "typedoc": "0.15.2" } diff --git a/sdk/textanalytics/ai-text-analytics/review/ai-text-analytics.api.md b/sdk/textanalytics/ai-text-analytics/review/ai-text-analytics.api.md index 48c1b7cb0edf..0b93c14160ee 100644 --- a/sdk/textanalytics/ai-text-analytics/review/ai-text-analytics.api.md +++ b/sdk/textanalytics/ai-text-analytics/review/ai-text-analytics.api.md @@ -395,7 +395,7 @@ export enum KnownInnerErrorCodeValue { } // @public -export type KnownSummarySentencesSortBy = "Offset" | "Rank"; +export type KnownSummarySentencesOrderBy = "Offset" | "Rank"; // @public export enum KnownWarningCode { @@ -464,6 +464,7 @@ export type PiiEntityCategory = string; // @public export enum PiiEntityDomain { + // (undocumented) PROTECTED_HEALTH_INFORMATION = "PHI" } diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/package.json b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/package.json index 849bdf1bf026..a460b8aef7f9 100644 --- a/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/package.json +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/javascript/package.json @@ -27,7 +27,7 @@ "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/textanalytics/ai-text-analytics", "dependencies": { "@azure/ai-text-analytics": "latest", - "@azure/identity": "2.0.0-beta.4", + "@azure/identity": "2.0.0-beta.5", "dotenv": "latest" } } diff --git a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/package.json b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/package.json index 7069e6126bb3..5ccaa51e1c0d 100644 --- a/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/package.json +++ b/sdk/textanalytics/ai-text-analytics/samples/v5/typescript/package.json @@ -32,7 +32,7 @@ "dependencies": { "@azure/ai-text-analytics": "latest", "dotenv": "latest", - "@azure/identity": "2.0.0-beta.4" + "@azure/identity": "2.0.0-beta.5" }, "devDependencies": { "typescript": "~4.2.0", diff --git a/sdk/textanalytics/ai-text-analytics/src/analyzeLro.ts b/sdk/textanalytics/ai-text-analytics/src/analyzeLro.ts index 53a0b6b2a9da..7dd60f7aa0bf 100644 --- a/sdk/textanalytics/ai-text-analytics/src/analyzeLro.ts +++ b/sdk/textanalytics/ai-text-analytics/src/analyzeLro.ts @@ -6,6 +6,7 @@ import { SpanStatusCode } from "@azure/core-tracing"; import { createSerializer, OperationOptions, OperationSpec } from "@azure/core-client"; import { GeneratedClient, + GeneratedClientAnalyzeStatusOptionalParams, GeneratedClientAnalyzeStatusResponse, JobManifestTasks, TextDocumentInput @@ -21,7 +22,7 @@ import { skip, top } from "./generated/models/parameters"; -import { getPagedAsyncIterator, PagedResult } from "./paging"; +import { getPagedAsyncIterator, PagedResult } from "@azure/core-paging"; import { AnalysisPollOperationState, OperationMetadata } from "./pollerModels"; import { AnalyzeActionsResult, @@ -92,7 +93,6 @@ const serializer = createSerializer(Mappers, /* isXml */ false); // Consider whether the spec can be exported by code gen const analyzeStatusOperationSpec: OperationSpec = { - path: "/analyze/jobs/{jobId}", httpMethod: "GET", responses: { 200: { @@ -189,37 +189,36 @@ export function isAnalyzeDone(response: unknown): boolean { /** * @internal */ -export function processAnalyzeResult( +export function processAnalyzeResult( // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters client: GeneratedClient, documents: TextDocumentInput[], - options: TOptions + options: GeneratedClientAnalyzeStatusOptionalParams ): (result: unknown, state: AnalyzeActionsOperationState) => PagedAnalyzeActionsResult { - const pagedResult: PagedResult< - TOptions, - GeneratedClientAnalyzeStatusResponse, - AnalyzeActionsResult - > = { - sendGetRequest: (path: string, optionsParam: TOptions) => - sendGetRequest(client, analyzeStatusOperationSpec, "AnalyzeStatus", optionsParam, path).then( - (response) => response.flatResponse as GeneratedClientAnalyzeStatusResponse - ), - buildPage: (flatResponse: GeneratedClientAnalyzeStatusResponse) => { - if (flatResponse) { - return createAnalyzeActionsResult(flatResponse, documents); - } else { - throw new Error("Analyze action has succeeded but there are no results!"); - } - } - }; return (_result: unknown, state: AnalyzeActionsOperationState): PagedAnalyzeActionsResult => { const pollingURL = (state as any).pollingURL; - const pagedIterator = getPagedAsyncIterator< - TOptions, - GeneratedClientAnalyzeStatusResponse, - AnalyzeActionsResult, - AnalyzeActionsResult - >(pagedResult, pollingURL, options); + const pagedResult: PagedResult = { + firstPageLink: pollingURL, + getPage: async (pageLink: string, maxPageSize?: number) => { + const response = await sendGetRequest( + client, + analyzeStatusOperationSpec, + "AnalyzeStatus", + // if `top` is set to `undefined`, the default value will not be sent + // as part of the request. + maxPageSize ? { ...options, top: maxPageSize } : options, + pageLink + ); + const flatResponse = response.flatResponse as GeneratedClientAnalyzeStatusResponse; + return { + page: createAnalyzeActionsResult(flatResponse, documents), + nextPageLink: flatResponse.nextLink + }; + } + }; + const pagedIterator = getPagedAsyncIterator( + pagedResult + ); // Attach stats if the service starts to return them // https://github.com/Azure/azure-sdk-for-js/issues/14139 // state.result = Object.assign(pagedIterator, { diff --git a/sdk/textanalytics/ai-text-analytics/src/generated/generatedClientContext.ts b/sdk/textanalytics/ai-text-analytics/src/generated/generatedClientContext.ts index cc3f400c93ae..545edf23aac2 100644 --- a/sdk/textanalytics/ai-text-analytics/src/generated/generatedClientContext.ts +++ b/sdk/textanalytics/ai-text-analytics/src/generated/generatedClientContext.ts @@ -33,7 +33,7 @@ export class GeneratedClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; - const packageDetails = `azsdk-js-ai-text-analytics/5.2.0-beta.1`; + const packageDetails = `azsdk-js-ai-text-analytics/5.2.0-beta.2`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/textanalytics/ai-text-analytics/src/healthLro.ts b/sdk/textanalytics/ai-text-analytics/src/healthLro.ts index 1e1a7f51ed98..a566de2b94cc 100644 --- a/sdk/textanalytics/ai-text-analytics/src/healthLro.ts +++ b/sdk/textanalytics/ai-text-analytics/src/healthLro.ts @@ -13,6 +13,7 @@ import { } from "./analyzeHealthcareEntitiesResult"; import { GeneratedClient, + GeneratedClientHealthStatusOptionalParams, GeneratedClientHealthStatusResponse, TextDocumentInput } from "./generated"; @@ -34,7 +35,7 @@ import { top } from "./generated/models/parameters"; import { processAndCombineSuccessfulAndErroneousDocuments } from "./textAnalyticsResult"; -import { getPagedAsyncIterator, PagedResult } from "./paging"; +import { getPagedAsyncIterator, PagedResult } from "@azure/core-paging"; import { AnalysisPollOperationState } from "./pollerModels"; import { TextAnalyticsOperationOptions } from "./textAnalyticsOperationOptions"; @@ -178,48 +179,52 @@ export function isHealthDone(response: unknown): boolean { /** * @internal */ -export function processHealthResult( +export function processHealthResult( // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters client: GeneratedClient, documents: TextDocumentInput[], - options: TOptions + options: GeneratedClientHealthStatusOptionalParams ): ( result: unknown, state: AnalyzeHealthcareOperationState ) => PagedAnalyzeHealthcareEntitiesResult { - const pagedResult: PagedResult< - TOptions, - GeneratedClientHealthStatusResponse, - AnalyzeHealthcareEntitiesResultArray - > = { - sendGetRequest: (path: string, optionsParam: TOptions) => - sendGetRequest(client, healthStatusOperationSpec, "HealthStatus", optionsParam, path).then( - (response) => response.flatResponse as GeneratedClientHealthStatusResponse - ), - buildPage: (flatResponse: GeneratedClientHealthStatusResponse) => { - if (flatResponse.results) { - return processAndCombineSuccessfulAndErroneousDocuments( - documents, - flatResponse.results, - makeHealthcareEntitiesResult, - makeHealthcareEntitiesErrorResult - ); - } else { - throw new Error("Healthcare action has succeeded but there are no results!"); - } - } - }; return ( result: unknown, state: AnalyzeHealthcareOperationState ): PagedAnalyzeHealthcareEntitiesResult => { const pollingURL = (state as any).pollingURL; + const pagedResult: PagedResult = { + firstPageLink: pollingURL, + getPage: async (pageLink: string, maxPageSize?: number) => { + const response = await sendGetRequest( + client, + healthStatusOperationSpec, + "HealthStatus", + // if `top` is set to `undefined`, the default value will not be sent + // as part of the request. + maxPageSize ? { ...options, top: maxPageSize } : options, + pageLink + ); + const flatResponse = response.flatResponse as GeneratedClientHealthStatusResponse; + if (flatResponse.results) { + return { + page: processAndCombineSuccessfulAndErroneousDocuments( + documents, + flatResponse.results, + makeHealthcareEntitiesResult, + makeHealthcareEntitiesErrorResult + ), + nextPageLink: flatResponse.nextLink + }; + } else { + throw new Error("Healthcare action has succeeded but there are no results!"); + } + } + }; const pagedIterator = getPagedAsyncIterator< - TOptions, - GeneratedClientHealthStatusResponse, AnalyzeHealthcareEntitiesResult, AnalyzeHealthcareEntitiesResultArray - >(pagedResult, pollingURL, options); + >(pagedResult); return Object.assign(pagedIterator, { statistics: (result as any).results.statistics, modelVersion: (result as any).results.modelVersion! diff --git a/sdk/textanalytics/ai-text-analytics/src/index.ts b/sdk/textanalytics/ai-text-analytics/src/index.ts index 62cdf4316ba8..bdd4790d29ef 100644 --- a/sdk/textanalytics/ai-text-analytics/src/index.ts +++ b/sdk/textanalytics/ai-text-analytics/src/index.ts @@ -34,7 +34,7 @@ export { RecognizeLinkedEntitiesAction, AnalyzeSentimentAction, ExtractSummaryAction, - KnownSummarySentencesSortBy + KnownSummarySentencesSortBy as KnownSummarySentencesOrderBy } from "./textAnalyticsClient"; export { TextAnalyticsOperationOptions } from "./textAnalyticsOperationOptions"; export { diff --git a/sdk/textanalytics/ai-text-analytics/src/paging.ts b/sdk/textanalytics/ai-text-analytics/src/paging.ts deleted file mode 100644 index cd9196a1600c..000000000000 --- a/sdk/textanalytics/ai-text-analytics/src/paging.ts +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; - -/** - * an interface that describes how to communicate with the service and how to build a page of items. - */ -export interface PagedResult, TResponse, TPage> { - /** - * A method that send a GET request to the service and returns a response. - */ - sendGetRequest: (path: string, options: TOptions) => Promise; - /** - * A method that extracts the link to the next page of results from the response. - */ - getNextLink?: (response: TResponse) => string | undefined; - /** - * A method to build a page of items from the response. - */ - buildPage?: (response: TResponse) => TPage; -} - -/** - * @internal - * - * returns an async iterator that will retrieve items from the server. It also has a `byPage` - * method that can return pages of items at once. - * - * @param pagedResult - an object that describes how to communicate with the service and how to build a page of items. - * @param path - the path to the resource to retrieve - * @param options - the options to pass to the service - * @returns a paged async iterator that will retrieve items from the server. - */ -export function getPagedAsyncIterator< - TOptions extends Record, - TResponse, - TElement, - TPage = TElement[] ->( - pagedResult: PagedResult, - path: string, - options: TOptions -): PagedAsyncIterableIterator { - const iter = getItemAsyncIterator( - pagedResult, - path, - options - ); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - const pageOptions = { ...options, top: settings?.maxPageSize }; - return getPageAsyncIterator(pagedResult, path, pageOptions); - } - }; -} - -async function* getItemAsyncIterator< - TOptions extends Record, - TResponse, - TElement, - TPage ->( - pagedResult: PagedResult, - path: string, - options: TOptions -): AsyncIterableIterator { - const metaInfo = { isArray: false }; - const pages = getPageAsyncIterator(pagedResult, path, options, metaInfo); - const firstVal = await pages.next(); - // if the result does not have an array shape, i.e. TPage = TElement, then we return it as is - if (!metaInfo.isArray) { - yield firstVal.value; - yield* (pages as unknown) as AsyncIterableIterator; - } else { - yield* firstVal.value; - for await (const page of pages) { - yield* page as any; - } - } -} - -async function* getPageAsyncIterator, TResponse, TPage>( - pagedResult: PagedResult, - path: string, - options: TOptions, - metaInfo: { isArray: boolean } = { isArray: true } -): AsyncIterableIterator { - let response = await retrievePage(pagedResult, path, options); - metaInfo.isArray = Array.isArray(response.result); - yield response.result; - while (response.nextLink) { - response = await retrievePage(pagedResult, response.nextLink, options); - yield response.result; - } -} - -function getDefaultNextLink(response: TResponse): string | undefined { - return (response as any).nextLink; -} - -interface ResultWithPaging { - result: TPage; - nextLink?: string; -} - -async function retrievePage, TResponse, TPage>( - pagedResult: PagedResult, - path: string, - options: TOptions -): Promise> { - const response = await pagedResult.sendGetRequest(path, options); - const result: TPage = pagedResult.buildPage?.(response) ?? (response as any).results; - const getNextLink = pagedResult.getNextLink ?? getDefaultNextLink; - return { - result, - nextLink: getNextLink(response) - }; -} diff --git a/sdk/textanalytics/ai-text-analytics/swagger/README.md b/sdk/textanalytics/ai-text-analytics/swagger/README.md index ec3266f3832c..0edc6adbc335 100644 --- a/sdk/textanalytics/ai-text-analytics/swagger/README.md +++ b/sdk/textanalytics/ai-text-analytics/swagger/README.md @@ -14,7 +14,7 @@ output-folder: ../ source-code-folder-path: ./src/generated input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/d758c4205d331c552cafbb755ed02673b9fa5e22/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/TextAnalytics.json add-credentials: false -package-version: 5.2.0-beta.1 +package-version: 5.2.0-beta.2 v3: true hide-clients: true typescript: true diff --git a/sdk/textanalytics/ai-text-analytics/test/public/textAnalyticsClient.spec.ts b/sdk/textanalytics/ai-text-analytics/test/public/textAnalyticsClient.spec.ts index 9034ce4572c3..a906697b4549 100644 --- a/sdk/textanalytics/ai-text-analytics/test/public/textAnalyticsClient.spec.ts +++ b/sdk/textanalytics/ai-text-analytics/test/public/textAnalyticsClient.spec.ts @@ -9,7 +9,7 @@ import chaiPromises from "chai-as-promised"; chaiUse(chaiPromises); import { matrix } from "@azure/test-utils"; -import { isPlaybackMode, Recorder } from "@azure/test-utils-recorder"; +import { isPlaybackMode, Recorder } from "@azure-tools/test-recorder"; import { AuthMethod, createClient, createRecorder } from "./utils/recordedClient"; import { diff --git a/sdk/textanalytics/ai-text-analytics/test/public/utils/recordedClient.ts b/sdk/textanalytics/ai-text-analytics/test/public/utils/recordedClient.ts index d7404289d31f..f1223b7fab1d 100644 --- a/sdk/textanalytics/ai-text-analytics/test/public/utils/recordedClient.ts +++ b/sdk/textanalytics/ai-text-analytics/test/public/utils/recordedClient.ts @@ -5,7 +5,7 @@ import { Context } from "mocha"; -import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { env, Recorder, record, RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; import { TokenCredential, ClientSecretCredential } from "@azure/identity"; import { AzureKeyCredential, TextAnalyticsClient, TextAnalyticsClientOptions } from "../../../src/"; diff --git a/sdk/textanalytics/perf-tests/text-analytics/package.json b/sdk/textanalytics/perf-tests/text-analytics/package.json index ce043a902f5b..874bed07a4e2 100644 --- a/sdk/textanalytics/perf-tests/text-analytics/package.json +++ b/sdk/textanalytics/perf-tests/text-analytics/package.json @@ -1,5 +1,6 @@ { "name": "@azure-tests/perf-ai-text-analytics", + "sdk-type": "perf-test", "version": "1.0.0", "description": "", "main": "", @@ -8,7 +9,7 @@ "license": "ISC", "dependencies": { "@azure/ai-text-analytics": "^5.1.0-beta.5", - "@azure/identity": "2.0.0-beta.5", + "@azure/identity": "2.0.0-beta.6", "@azure/test-utils-perfstress": "^1.0.0", "dotenv": "^8.2.0" }, @@ -18,18 +19,18 @@ "prettier": "^1.16.4", "rimraf": "^3.0.0", "tslib": "^2.2.0", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "typescript": "~4.2.0" }, "private": true, "scripts": { "perf-test:node": "ts-node test/index.spec.ts", "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build": "tsc -p .", + "build": "npm run clean && tsc -p .", "build:samples": "echo skipped", "build:test": "echo skipped", "check-format": "prettier --list-different --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-* typings *.tgz *.log", + "clean": "rimraf dist dist-* types *.tgz *.log", "format": "prettier --write --config ../../../../.prettierrc.json --ignore-path ../../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "echo skipped", "integration-test:node": "echo skipped", @@ -37,7 +38,6 @@ "lint:fix": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint --no-eslintrc -c ../../../.eslintrc.internal.json package.json test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "echo skipped", diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/README.md b/sdk/timeseriesinsights/arm-timeseriesinsights/README.md index 06b870353566..9552c0e8fead 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/README.md +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for TimeSeriesInsightsClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/videoanalyzer/video-analyzer-edge/package.json b/sdk/videoanalyzer/video-analyzer-edge/package.json index 7ae785068c19..632d56eb89a4 100644 --- a/sdk/videoanalyzer/video-analyzer-edge/package.json +++ b/sdk/videoanalyzer/video-analyzer-edge/package.json @@ -13,7 +13,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "dev-tool samples prep && cd dist-samples && tsc -p .", "build:test": "tsc -p . && rollup -c 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-* test-dist temp types *.tgz *.log", "execute:samples": "npm run build:samples && dev-tool samples run dist-samples/javascript dist-samples/typescript/dist/dist-samples/typescript/src/", @@ -25,7 +25,6 @@ "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", "lint": "eslint package.json api-extractor.json src test --ext .ts", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", diff --git a/sdk/visualstudio/arm-visualstudio/README.md b/sdk/visualstudio/arm-visualstudio/README.md index 668b7d702b16..d198fc47b259 100644 --- a/sdk/visualstudio/arm-visualstudio/README.md +++ b/sdk/visualstudio/arm-visualstudio/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for VisualStudioResourceProviderClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/vmwarecloudsimple/arm-vmwarecloudsimple/README.md b/sdk/vmwarecloudsimple/arm-vmwarecloudsimple/README.md index a5d845825218..c3b3bd2fe941 100644 --- a/sdk/vmwarecloudsimple/arm-vmwarecloudsimple/README.md +++ b/sdk/vmwarecloudsimple/arm-vmwarecloudsimple/README.md @@ -4,8 +4,8 @@ This package contains an isomorphic SDK for VMwareCloudSimpleClient. ### Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge, and Firefox. ### How to Install diff --git a/sdk/web-pubsub/arm-webpubsub/CHANGELOG.md b/sdk/web-pubsub/arm-webpubsub/CHANGELOG.md index d9c1995ac2bc..00df13453d33 100644 --- a/sdk/web-pubsub/arm-webpubsub/CHANGELOG.md +++ b/sdk/web-pubsub/arm-webpubsub/CHANGELOG.md @@ -1,3 +1,19 @@ +# Release History + +## 1.0.0-beta.2 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + +## 1.0.0-beta.1 (2021-08-25) + + - Bump major version + ## 0.1.0-beta.1 (2021-07-27) This is the first preview for the new version of the `@azure/arm-webpubsub` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. @@ -7,6 +23,7 @@ While this package remains auto generated, the SDK generator itself has undergon Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. **Noteworthy changes and features** + - Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. - Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. - List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. diff --git a/sdk/web-pubsub/arm-webpubsub/package.json b/sdk/web-pubsub/arm-webpubsub/package.json index 12ddac96cd56..e1b91525dac1 100644 --- a/sdk/web-pubsub/arm-webpubsub/package.json +++ b/sdk/web-pubsub/arm-webpubsub/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for WebPubSubManagementClient.", - "version": "0.1.0-beta.1", + "version": "1.0.0-beta.2", "engines": { "node": ">=12.0.0" }, diff --git a/sdk/web-pubsub/arm-webpubsub/src/webPubSubManagementClientContext.ts b/sdk/web-pubsub/arm-webpubsub/src/webPubSubManagementClientContext.ts index c8645f2eb633..9b573407a891 100644 --- a/sdk/web-pubsub/arm-webpubsub/src/webPubSubManagementClientContext.ts +++ b/sdk/web-pubsub/arm-webpubsub/src/webPubSubManagementClientContext.ts @@ -43,7 +43,7 @@ export class WebPubSubManagementClientContext extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-webpubsub/0.1.0-beta.1`; + const packageDetails = `azsdk-js-arm-webpubsub/1.0.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` diff --git a/sdk/web-pubsub/web-pubsub-express/karma.conf.js b/sdk/web-pubsub/web-pubsub-express/karma.conf.js index 5c92ad888909..322b7d176f40 100644 --- a/sdk/web-pubsub/web-pubsub-express/karma.conf.js +++ b/sdk/web-pubsub/web-pubsub-express/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ // base path that will be used to resolve all patterns (eg. files, exclude) diff --git a/sdk/web-pubsub/web-pubsub-express/package.json b/sdk/web-pubsub/web-pubsub-express/package.json index d967c6ed4c01..8ed9af4a8bae 100644 --- a/sdk/web-pubsub/web-pubsub-express/package.json +++ b/sdk/web-pubsub/web-pubsub-express/package.json @@ -12,7 +12,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-esm test-dist temp types *.tgz *.log", @@ -22,9 +22,8 @@ "integration-test:node": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", - "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o signalr-lintReport.html || exit 0", + "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o webpubsub-express-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "echo \"Browser is not supported.\" && exit 0", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -43,7 +42,7 @@ ], "repository": "github:Azure/azure-sdk-for-js", "keywords": [ - "Azure", + "azure", "cloud" ], "author": "Microsoft Corporation", @@ -63,7 +62,7 @@ "devDependencies": { "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", @@ -76,7 +75,6 @@ "@types/jsonwebtoken": "~8.5.0", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", - "@types/query-string": "6.2.0", "@types/sinon": "^9.0.4", "assert": "^1.4.1", "chai": "^4.2.0", @@ -101,8 +99,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", - "query-string": "^5.0.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", diff --git a/sdk/web-pubsub/web-pubsub-express/src/cloudEventsDispatcher.ts b/sdk/web-pubsub/web-pubsub-express/src/cloudEventsDispatcher.ts index 61b60d4e252e..9a9fa3dbd365 100644 --- a/sdk/web-pubsub/web-pubsub-express/src/cloudEventsDispatcher.ts +++ b/sdk/web-pubsub/web-pubsub-express/src/cloudEventsDispatcher.ts @@ -30,7 +30,7 @@ function getConnectResponseHandler( connectRequest: ConnectRequest, response: ServerResponse ): ConnectResponseHandler { - let states: Record = connectRequest.context.states; + const states: Record = connectRequest.context.states; let modified = false; const handler = { setState(name: string, value: unknown): void { @@ -62,7 +62,7 @@ function getUserEventResponseHandler( userRequest: UserEventRequest, response: ServerResponse ): UserEventResponseHandler { - let states: Record = userRequest.context.states; + const states: Record = userRequest.context.states; let modified = false; const handler = { setState(name: string, value: unknown): void { diff --git a/sdk/web-pubsub/web-pubsub-express/src/cloudEventsProtocols.ts b/sdk/web-pubsub/web-pubsub-express/src/cloudEventsProtocols.ts index 588b1418f304..7f653cb49d37 100644 --- a/sdk/web-pubsub/web-pubsub-express/src/cloudEventsProtocols.ts +++ b/sdk/web-pubsub/web-pubsub-express/src/cloudEventsProtocols.ts @@ -158,19 +158,19 @@ export interface DisconnectedRequest { export interface ConnectResponseHandler { /** * Set the state of the connection - * @param name The name of the state - * @param value The value of the state + * @param name - The name of the state + * @param value - The value of the state */ setState(name: string, value: unknown): void; /** * Return success response to the service. - * @param response The response for the connect event. + * @param response - The response for the connect event. */ success(response?: ConnectResponse): void; /** * Return failed response and the service will reject the client WebSocket connection. - * @param code Code can be 400 user error, 401 unauthorized and 500 server error. - * @param detail The detail of the error. + * @param code - Code can be 400 user error, 401 unauthorized and 500 server error. + * @param detail - The detail of the error. */ fail(code: 400 | 401 | 500, detail?: string): void; } @@ -181,20 +181,20 @@ export interface ConnectResponseHandler { export interface UserEventResponseHandler { /** * Set the state of the connection - * @param name The name of the state - * @param value The value of the state + * @param name - The name of the state + * @param value - The value of the state */ setState(name: string, value: unknown): void; /** * Return success response with data to be delivered to the client WebSocket connection. - * @param data The payload data to be returned to the client. - * @param dataType The type of the payload data. + * @param data - The payload data to be returned to the client. + * @param dataType - The type of the payload data. */ success(data?: string | ArrayBuffer, dataType?: "binary" | "text" | "json"): void; /** * Return failed response and the service will close the client WebSocket connection. - * @param code Code can be 400 user error, 401 unauthorized and 500 server error. - * @param detail The detail of the error. + * @param code - Code can be 400 user error, 401 unauthorized and 500 server error. + * @param detail - The detail of the error. */ fail(code: 400 | 401 | 500, detail?: string): void; } diff --git a/sdk/web-pubsub/web-pubsub-express/src/utils.ts b/sdk/web-pubsub/web-pubsub-express/src/utils.ts index 3f31055524e3..31dada4b4225 100644 --- a/sdk/web-pubsub/web-pubsub-express/src/utils.ts +++ b/sdk/web-pubsub/web-pubsub-express/src/utils.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + import { IncomingMessage } from "http"; import { Message } from "cloudevents"; @@ -15,8 +18,8 @@ export function fromBase64JsonString(base64String: string): Record } try { - let buf = Buffer.from(base64String, "base64").toString(); - let parsed = JSON.parse(buf); + const buf = Buffer.from(base64String, "base64").toString(); + const parsed = JSON.parse(buf); return isJsonObject(parsed) ? parsed : {}; } catch (e) { console.warn("Unexpected state format:" + e); diff --git a/sdk/web-pubsub/web-pubsub-express/src/webPubSubEventHandler.ts b/sdk/web-pubsub/web-pubsub-express/src/webPubSubEventHandler.ts index 73fdd528bfcc..f9462acb6066 100644 --- a/sdk/web-pubsub/web-pubsub-express/src/webPubSubEventHandler.ts +++ b/sdk/web-pubsub/web-pubsub-express/src/webPubSubEventHandler.ts @@ -41,9 +41,9 @@ export class WebPubSubEventHandler { * }); * ``` * - * @param hub The name of the hub to listen to - * @param allowedEndpoints The allowed endpoints for the incoming CloudEvents request - * @param options Options to configure the event handler + * @param hub - The name of the hub to listen to + * @param allowedEndpoints - The allowed endpoints for the incoming CloudEvents request + * @param options - Options to configure the event handler */ constructor( private hub: string, diff --git a/sdk/web-pubsub/web-pubsub-express/test/connect.spec.ts b/sdk/web-pubsub/web-pubsub-express/test/connect.spec.ts index 5370222f2eb3..714c39babd42 100644 --- a/sdk/web-pubsub/web-pubsub-express/test/connect.spec.ts +++ b/sdk/web-pubsub/web-pubsub-express/test/connect.spec.ts @@ -49,7 +49,7 @@ describe("Can handle connect event", function() { const endSpy = sinon.spy(res.end); const dispatcher = new CloudEventsDispatcher("hub1", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isFalse(result); assert.isTrue(endSpy.notCalled); }); @@ -59,7 +59,7 @@ describe("Can handle connect event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub1", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isFalse(result); assert.isTrue(endSpy.notCalled); }); @@ -69,7 +69,7 @@ describe("Can handle connect event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(401, res.statusCode, "should be 401"); @@ -80,7 +80,7 @@ describe("Can handle connect event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub", ["*"], {}); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(401, res.statusCode, "should be 401"); @@ -95,9 +95,9 @@ describe("Can handle connect event", function() { res.fail(400); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(400, res.statusCode, "should be error"); @@ -112,9 +112,9 @@ describe("Can handle connect event", function() { res.success(); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); @@ -129,9 +129,9 @@ describe("Can handle connect event", function() { res.success({ userId: "vic" }); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); @@ -150,9 +150,9 @@ describe("Can handle connect event", function() { res.success({ userId: "vic" }); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal( @@ -182,9 +182,9 @@ describe("Can handle connect event", function() { response.success(); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); @@ -199,9 +199,9 @@ describe("Can handle connect event", function() { response.success(); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); diff --git a/sdk/web-pubsub/web-pubsub-express/test/connected.spec.ts b/sdk/web-pubsub/web-pubsub-express/test/connected.spec.ts index a4e4ea7f93f4..556815446560 100644 --- a/sdk/web-pubsub/web-pubsub-express/test/connected.spec.ts +++ b/sdk/web-pubsub/web-pubsub-express/test/connected.spec.ts @@ -46,7 +46,7 @@ describe("Can handle connected event", function() { const endSpy = sinon.spy(res.end); const dispatcher = new CloudEventsDispatcher("hub1", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isFalse(result); assert.isTrue(endSpy.notCalled); }); @@ -56,7 +56,7 @@ describe("Can handle connected event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub1", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isFalse(result); assert.isTrue(endSpy.notCalled); }); @@ -66,7 +66,7 @@ describe("Can handle connected event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be 200"); @@ -77,7 +77,7 @@ describe("Can handle connected event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub", ["*"], {}); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be 200"); @@ -92,9 +92,9 @@ describe("Can handle connected event", function() { throw new Error(); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be error"); diff --git a/sdk/web-pubsub/web-pubsub-express/test/disconnected.spec.ts b/sdk/web-pubsub/web-pubsub-express/test/disconnected.spec.ts index fc774548254f..a6d45a22426a 100644 --- a/sdk/web-pubsub/web-pubsub-express/test/disconnected.spec.ts +++ b/sdk/web-pubsub/web-pubsub-express/test/disconnected.spec.ts @@ -46,7 +46,7 @@ describe("Can handle disconnected event", function() { const endSpy = sinon.spy(res.end); const dispatcher = new CloudEventsDispatcher("hub1", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isFalse(result); assert.isTrue(endSpy.notCalled); }); @@ -56,7 +56,7 @@ describe("Can handle disconnected event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub1", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isFalse(result); assert.isTrue(endSpy.notCalled); }); @@ -66,7 +66,7 @@ describe("Can handle disconnected event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be 200"); @@ -77,7 +77,7 @@ describe("Can handle disconnected event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub", ["*"], {}); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be 200"); @@ -92,9 +92,9 @@ describe("Can handle disconnected event", function() { throw new Error(); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be error"); diff --git a/sdk/web-pubsub/web-pubsub-express/test/user.spec.ts b/sdk/web-pubsub/web-pubsub-express/test/user.spec.ts index 87d08567c95d..e4887dd573b7 100644 --- a/sdk/web-pubsub/web-pubsub-express/test/user.spec.ts +++ b/sdk/web-pubsub/web-pubsub-express/test/user.spec.ts @@ -46,7 +46,7 @@ describe("Can handle user event", function() { const endSpy = sinon.spy(res.end); const dispatcher = new CloudEventsDispatcher("hub1", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isFalse(result); assert.isTrue(endSpy.notCalled); }); @@ -56,7 +56,7 @@ describe("Can handle user event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub1", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isFalse(result); assert.isTrue(endSpy.notCalled); }); @@ -66,7 +66,7 @@ describe("Can handle user event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub", ["*"]); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be 200"); @@ -77,7 +77,7 @@ describe("Can handle user event", function() { buildRequest(req, "hub", "conn1"); const dispatcher = new CloudEventsDispatcher("hub", ["*"], {}); - var result = await dispatcher.processRequest(req, res); + const result = await dispatcher.processRequest(req, res); assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be 200"); @@ -92,9 +92,9 @@ describe("Can handle user event", function() { res.fail(500); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(500, res.statusCode, "should be error"); @@ -109,9 +109,9 @@ describe("Can handle user event", function() { res.success(); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); @@ -126,9 +126,9 @@ describe("Can handle user event", function() { res.success("a"); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); @@ -144,9 +144,9 @@ describe("Can handle user event", function() { res.success("a", "text"); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); @@ -162,9 +162,9 @@ describe("Can handle user event", function() { res.success("a", "json"); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); @@ -188,9 +188,9 @@ describe("Can handle user event", function() { res.success(); } }); - var process = dispatcher.processRequest(req, res); + const process = dispatcher.processRequest(req, res); mockBody(req, JSON.stringify({})); - var result = await process; + const result = await process; assert.isTrue(result, "should handle"); assert.isTrue(endSpy.calledOnce, "should call once"); assert.equal(200, res.statusCode, "should be success"); diff --git a/sdk/web-pubsub/web-pubsub-express/test/validate.spec.ts b/sdk/web-pubsub/web-pubsub-express/test/validate.spec.ts index 12ecbac70a83..becfaa546de9 100644 --- a/sdk/web-pubsub/web-pubsub-express/test/validate.spec.ts +++ b/sdk/web-pubsub/web-pubsub-express/test/validate.spec.ts @@ -12,7 +12,7 @@ describe("Abuse protection works", function() { const res = new ServerResponse(req); const dispatcher = new CloudEventsDispatcher("hub", ["*"]); - var result = dispatcher.processValidateRequest(req, res); + const result = dispatcher.processValidateRequest(req, res); assert.isFalse(result); }); @@ -22,7 +22,7 @@ describe("Abuse protection works", function() { const res = new ServerResponse(req); const dispatcher = new CloudEventsDispatcher("hub", ["*"]); - var result = dispatcher.processValidateRequest(req, res); + const result = dispatcher.processValidateRequest(req, res); assert.isTrue(result); assert.equal("*", res.getHeader("webhook-allowed-origin")); }); @@ -33,7 +33,7 @@ describe("Abuse protection works", function() { const res = new ServerResponse(req); const dispatcher = new CloudEventsDispatcher("hub", ["*", "https://a.com/c"]); - var result = dispatcher.processValidateRequest(req, res); + const result = dispatcher.processValidateRequest(req, res); assert.isTrue(result); assert.equal("*,a.com", res.getHeader("webhook-allowed-origin")); }); diff --git a/sdk/web-pubsub/web-pubsub/karma.conf.js b/sdk/web-pubsub/web-pubsub/karma.conf.js index c40baab283fe..e578dad9fcaa 100644 --- a/sdk/web-pubsub/web-pubsub/karma.conf.js +++ b/sdk/web-pubsub/web-pubsub/karma.conf.js @@ -6,7 +6,7 @@ const { isPlaybackMode, isSoftRecordMode, isRecordMode -} = require("@azure/test-utils-recorder"); +} = require("@azure-tools/test-recorder"); module.exports = function(config) { config.set({ // base path that will be used to resolve all patterns (eg. files, exclude) diff --git a/sdk/web-pubsub/web-pubsub/package.json b/sdk/web-pubsub/web-pubsub/package.json index e97476c8c1fe..c732939e5c46 100644 --- a/sdk/web-pubsub/web-pubsub/package.json +++ b/sdk/web-pubsub/web-pubsub/package.json @@ -12,7 +12,7 @@ "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1", "build:samples": "echo Obsolete.", "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1", - "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local", + "build": "npm run clean && tsc -p . && rollup -c 2>&1 && api-extractor run --local", "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist dist-esm test-dist temp types *.tgz *.log", @@ -22,9 +22,8 @@ "integration-test:node": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]", - "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o signalr-lintReport.html || exit 0", + "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o webpubsub-lintReport.html || exit 0", "pack": "npm pack 2>&1", - "prebuild": "npm run clean", "test:browser": "echo \"Browser is not supported.\" && exit 0", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", @@ -58,7 +57,7 @@ }, "repository": "github:Azure/azure-sdk-for-js", "keywords": [ - "Azure", + "azure", "cloud" ], "author": "Microsoft Corporation", @@ -84,7 +83,7 @@ "@azure/dev-tool": "^1.0.0", "@azure/eslint-plugin-azure-sdk": "^3.0.0", "@azure/identity": "^1.1.0", - "@azure/test-utils-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^1.0.0", "@microsoft/api-extractor": "7.7.11", "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", @@ -95,7 +94,6 @@ "@types/jsonwebtoken": "~8.5.0", "@types/mocha": "^7.0.2", "@types/node": "^12.0.0", - "@types/query-string": "6.2.0", "@types/sinon": "^9.0.4", "chai": "^4.2.0", "cross-env": "^7.0.2", @@ -119,8 +117,7 @@ "mocha-junit-reporter": "^1.18.0", "nyc": "^14.0.0", "prettier": "^1.16.4", - "puppeteer": "^3.3.0", - "query-string": "^5.0.0", + "puppeteer": "^10.2.0", "rimraf": "^3.0.0", "rollup": "^1.16.3", "rollup-plugin-shim": "^1.0.0", diff --git a/sdk/web-pubsub/web-pubsub/src/groupClient.ts b/sdk/web-pubsub/web-pubsub/src/groupClient.ts index 8ccaf395090c..5d6bd4ae121e 100644 --- a/sdk/web-pubsub/web-pubsub/src/groupClient.ts +++ b/sdk/web-pubsub/web-pubsub/src/groupClient.ts @@ -84,54 +84,54 @@ export interface WebPubSubGroup { /** * Add a specific connection to this group * - * @param connectionId The connection id to add to this group - * @param options Additional options + * @param connectionId - The connection id to add to this group + * @param options - Additional options */ addConnection(connectionId: string, options?: GroupAddConnectionOptions): Promise; /** * Remove a specific connection from this group * - * @param connectionId The connection id to remove from this group - * @param options Additional options + * @param connectionId - The connection id to remove from this group + * @param options - Additional options */ removeConnection(connectionId: string, options?: GroupRemoveConnectionOptions): Promise; /** * Add a user to this group * - * @param username The user name to add - * @param options Additional options + * @param username - The user name to add + * @param options - Additional options */ addUser(username: string, options?: GroupAddUserOptions): Promise; /** * Remove a user from this group * - * @param username The user name to remove - * @param options Additional options + * @param username - The user name to remove + * @param options - Additional options */ removeUser(username: string, options?: GroupRemoveUserOptions): Promise; /** * Send a text message to every connection in this group * - * @param message The message to send - * @param options Additional options + * @param message - The message to send + * @param options - Additional options */ sendToAll(message: string, options: GroupSendTextToAllOptions): Promise; /** * Send a json message to every connection in this group * - * @param message The message to send - * @param options Additional options + * @param message - The message to send + * @param options - Additional options */ sendToAll(message: JSONTypes, options?: GroupSendToAllOptions): Promise; /** * Send a binary message to every connection in this group * - * @param message The binary message to send - * @param options Additional options + * @param message - The binary message to send + * @param options - Additional options */ sendToAll(message: RequestBodyType, options?: GroupSendToAllOptions): Promise; } @@ -174,8 +174,8 @@ export class WebPubSubGroupImpl implements WebPubSubGroup { /** * Add a specific connection to this group * - * @param connectionId The connection id to add to this group - * @param options Additional options + * @param connectionId - The connection id to add to this group + * @param options - Additional options */ public async addConnection( connectionId: string, @@ -214,8 +214,8 @@ export class WebPubSubGroupImpl implements WebPubSubGroup { /** * Remove a specific connection from this group * - * @param connectionId The connection id to remove from this group - * @param options Additional options + * @param connectionId - The connection id to remove from this group + * @param options - Additional options */ public async removeConnection( connectionId: string, @@ -241,8 +241,8 @@ export class WebPubSubGroupImpl implements WebPubSubGroup { /** * Add a user to this group * - * @param username The user name to add - * @param options Additional options + * @param username - The user name to add + * @param options - Additional options */ public async addUser(username: string, options: GroupAddUserOptions = {}): Promise { const { span, updatedOptions } = createSpan("WebPubSubServiceClient-group-addUser", options); @@ -262,8 +262,8 @@ export class WebPubSubGroupImpl implements WebPubSubGroup { /** * Remove a user from this group * - * @param username The user name to remove - * @param options Additional options + * @param username - The user name to remove + * @param options - Additional options */ public async removeUser(username: string, options: GroupRemoveUserOptions = {}): Promise { const { span, updatedOptions } = createSpan("WebPubSubServiceClient-group-removeUser", options); @@ -283,22 +283,22 @@ export class WebPubSubGroupImpl implements WebPubSubGroup { /** * Send a text message to every connection in this group * - * @param message The message to send - * @param options Additional options + * @param message - The message to send + * @param options - Additional options */ public async sendToAll(message: string, options: GroupSendTextToAllOptions): Promise; /** * Send a json message to every connection in this group * - * @param message The message to send - * @param options Additional options + * @param message - The message to send + * @param options - Additional options */ public async sendToAll(message: JSONTypes, options?: GroupSendToAllOptions): Promise; /** * Send a binary message to every connection in this group * - * @param message The binary message to send - * @param options Additional options + * @param message - The binary message to send + * @param options - Additional options */ public async sendToAll(message: RequestBodyType, options?: GroupSendToAllOptions): Promise; diff --git a/sdk/web-pubsub/web-pubsub/src/hubClient.ts b/sdk/web-pubsub/web-pubsub/src/hubClient.ts index 77f8d537dd44..631be1752a51 100644 --- a/sdk/web-pubsub/web-pubsub/src/hubClient.ts +++ b/sdk/web-pubsub/web-pubsub/src/hubClient.ts @@ -207,9 +207,9 @@ export class WebPubSubServiceClient { * const client = new WebPubSubServiceClient(connectionString, 'chat'); * ``` * - * @param connectionString The connection string - * @param hubName The name of the hub to connect to. If omitted, '_default' is used. - * @param options Options to configure the http pipeline + * @param connectionString - The connection string + * @param hubName - The name of the hub to connect to. If omitted, '_default' is used. + * @param options - Options to configure the http pipeline */ constructor(connectionString: string, hubName: string, options?: HubAdminClientOptions); @@ -224,10 +224,10 @@ export class WebPubSubServiceClient { * const client = new WebPubSubServiceClient(endpoint, cred, 'chat'); * ``` * - * @param endpoint The endpoint to connect to - * @param credential An AzureKeyCredential holding your service key - * @param hubName The name of the hub to connect to. - * @param options Options to configure the http pipeline + * @param endpoint - The endpoint to connect to + * @param credential - An AzureKeyCredential holding your service key + * @param hubName - The name of the hub to connect to. + * @param options - Options to configure the http pipeline */ constructor( endpoint: string, @@ -270,7 +270,7 @@ export class WebPubSubServiceClient { /** * Auth the client connection with userId and custom claims if any - * @param options The options that the client has + * @param options - The options that the client has */ public async getAuthenticationToken( options?: GetAuthenticationTokenOptions @@ -301,7 +301,7 @@ export class WebPubSubServiceClient { /** * Get a client for a group - * @param groupName The name of the group to connect to. + * @param groupName - The name of the group to connect to. */ public group(groupName: string): WebPubSubGroup { return new WebPubSubGroupImpl(this.client, this.hubName, groupName); @@ -310,22 +310,22 @@ export class WebPubSubServiceClient { /** * Broadcast a text message to all connections on this hub. * - * @param message The text message to send - * @param options Additional options + * @param message - The text message to send + * @param options - Additional options */ public async sendToAll(message: string, options: HubSendTextToAllOptions): Promise; /** * Broadcast a JSON message to all connections on this hub. * - * @param message The JSON message to send - * @param options Additional options + * @param message - The JSON message to send + * @param options - Additional options */ public async sendToAll(message: JSONTypes, options?: HubSendToAllOptions): Promise; /** * Broadcast a binary message to all connections on this hub. * - * @param message The message to send - * @param options Additional options + * @param message - The message to send + * @param options - Additional options */ public async sendToAll(message: RequestBodyType, options?: HubSendToAllOptions): Promise; @@ -356,9 +356,9 @@ export class WebPubSubServiceClient { /** * Send a text message to a specific user * - * @param username User name to send to - * @param message The text message to send - * @param options Additional options + * @param username - User name to send to + * @param message - The text message to send + * @param options - Additional options */ public async sendToUser( username: string, @@ -369,9 +369,9 @@ export class WebPubSubServiceClient { /** * Send a JSON message to a specific user * - * @param username User name to send to - * @param message The josn message to send - * @param options Additional options + * @param username - User name to send to + * @param message - The josn message to send + * @param options - Additional options */ public async sendToUser( username: string, @@ -382,9 +382,9 @@ export class WebPubSubServiceClient { /** * Send a binary message to a specific user * - * @param username The user name to send to - * @param message The binary message to send - * @param options Additional options + * @param username - The user name to send to + * @param message - The binary message to send + * @param options - Additional options */ public async sendToUser( username: string, @@ -415,9 +415,9 @@ export class WebPubSubServiceClient { /** * Send a text message to a specific connection * - * @param connectionId Connection id to send to - * @param message The text message - * @param options Additional options + * @param connectionId - Connection id to send to + * @param message - The text message + * @param options - Additional options */ public async sendToConnection( connectionId: string, @@ -428,9 +428,9 @@ export class WebPubSubServiceClient { /** * Send a binary message to a specific connection * - * @param connectionId Connection id to send to - * @param message The JSON message - * @param options Additional options + * @param connectionId - Connection id to send to + * @param message - The JSON message + * @param options - Additional options */ public async sendToConnection( connectionId: string, @@ -441,9 +441,9 @@ export class WebPubSubServiceClient { /** * Send a binary message to a specific connection * - * @param connectionId Connection id to send to - * @param message The binary message - * @param options Additional options + * @param connectionId - Connection id to send to + * @param message - The binary message + * @param options - Additional options */ public async sendToConnection( connectionId: string, @@ -477,8 +477,8 @@ export class WebPubSubServiceClient { /** * Check if a specific connection is connected to this hub * - * @param connectionId Connection id to check - * @param options Additional options + * @param connectionId - Connection id to check + * @param options - Additional options */ public async hasConnection( connectionId: string, @@ -523,8 +523,8 @@ export class WebPubSubServiceClient { /** * Close a specific connection to this hub * - * @param connectionId Connection id to close - * @param options Additional options + * @param connectionId - Connection id to close + * @param options - Additional options */ public async closeConnection( connectionId: string, @@ -548,8 +548,8 @@ export class WebPubSubServiceClient { /** * Remove a specific user from all groups they are joined to - * @param userId The user id to remove from all groups - * @param options Additional options + * @param userId - The user id to remove from all groups + * @param options - Additional options */ public async removeUserFromAllGroups( userId: string, @@ -570,8 +570,8 @@ export class WebPubSubServiceClient { /** * Check if a particular group exists (i.e. has active connections). * - * @param groupName The group name to check for - * @param options Additional options + * @param groupName - The group name to check for + * @param options - Additional options */ public async hasGroup(groupName: string, options: HubHasGroupOptions = {}): Promise { const { span, updatedOptions } = createSpan("WebPubSubServiceClient-hub-hasGroup", options); @@ -608,8 +608,8 @@ export class WebPubSubServiceClient { /** * Check if a particular user is connected to this hub. * - * @param username The user name to check for - * @param options Additional options + * @param username - The user name to check for + * @param options - Additional options */ public async hasUser(username: string, options: HubHasUserOptions = {}): Promise { const { span, updatedOptions } = createSpan("WebPubSubServiceClient-hub-hasUser", options); @@ -647,9 +647,9 @@ export class WebPubSubServiceClient { /** * Grant permissions to a connection * - * @param connectionId The connection id to grant permissions to - * @param Permission The permission to grant - * @param options Additional options + * @param connectionId - The connection id to grant permissions to + * @param Permission - The permission to grant + * @param options - Additional options */ public async grantPermission( connectionId: string, @@ -676,9 +676,9 @@ export class WebPubSubServiceClient { /** * Revoke permissions from a connection * - * @param connectionId The connection id to revoke permissions from - * @param Permission The permission to revoke - * @param options Additional options + * @param connectionId - The connection id to revoke permissions from + * @param Permission - The permission to revoke + * @param options - Additional options */ public async revokePermission( connectionId: string, @@ -705,9 +705,9 @@ export class WebPubSubServiceClient { /** * Check if the connection has the specified permission * - * @param connectionId The connection id to check permission - * @param Permission The permission to check - * @param options Additional options + * @param connectionId - The connection id to check permission + * @param Permission - The permission to check + * @param options - Additional options */ public async hasPermission( connectionId: string, diff --git a/sdk/web-pubsub/web-pubsub/src/logger.ts b/sdk/web-pubsub/web-pubsub/src/logger.ts index 820266b24308..f8e83fd44e8a 100644 --- a/sdk/web-pubsub/web-pubsub/src/logger.ts +++ b/sdk/web-pubsub/web-pubsub/src/logger.ts @@ -4,6 +4,6 @@ import { createClientLogger } from "@azure/logger"; /** - * The @azure/logger configuration for this package. + * The `@azure/logger` configuration for this package. */ export const logger = createClientLogger("web-pubsub"); diff --git a/sdk/web-pubsub/web-pubsub/src/parseConnectionString.ts b/sdk/web-pubsub/web-pubsub/src/parseConnectionString.ts index b415a590ca9b..5fce712e9ab8 100644 --- a/sdk/web-pubsub/web-pubsub/src/parseConnectionString.ts +++ b/sdk/web-pubsub/web-pubsub/src/parseConnectionString.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + import { AzureKeyCredential } from "@azure/core-auth"; import { URL } from "./util/url"; @@ -7,7 +10,7 @@ interface ParsedConnectionString { } export function parseConnectionString(conn: string): ParsedConnectionString { - let parsed: { [id: string]: string } = {}; + const parsed: { [id: string]: string } = {}; conn.split(";").forEach((i) => { const assignmentPos = i.indexOf("="); diff --git a/sdk/web-pubsub/web-pubsub/src/utils.ts b/sdk/web-pubsub/web-pubsub/src/utils.ts index 0bf502f407f9..4d884d96b286 100644 --- a/sdk/web-pubsub/web-pubsub/src/utils.ts +++ b/sdk/web-pubsub/web-pubsub/src/utils.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + import { RequestBodyType } from "@azure/core-rest-pipeline"; function isRequestBody(obj: unknown): obj is RequestBodyType { diff --git a/sdk/web-pubsub/web-pubsub/test/conn.spec.ts b/sdk/web-pubsub/web-pubsub/test/conn.spec.ts index 8e2aa21717e4..ea56933d9699 100644 --- a/sdk/web-pubsub/web-pubsub/test/conn.spec.ts +++ b/sdk/web-pubsub/web-pubsub/test/conn.spec.ts @@ -6,8 +6,8 @@ import { assert } from "chai"; describe("Can parse connection string", function() { it("can parse valid connection string", async () => { - var conn = "Endpoint=http://localhost;AccessKey=ABC;Port=8080;Version=1.0;"; - var parsed = parseConnectionString(conn); + let conn = "Endpoint=http://localhost;AccessKey=ABC;Port=8080;Version=1.0;"; + let parsed = parseConnectionString(conn); assert.equal(parsed.credential.key, "ABC"); assert.equal(parsed.endpoint, "http://localhost:8080/"); conn = "Endpoint=http://localhost;AccessKey=ABC;"; diff --git a/sdk/web-pubsub/web-pubsub/test/groups.spec.ts b/sdk/web-pubsub/web-pubsub/test/groups.spec.ts index a9f62745911a..d2f3260de0d3 100644 --- a/sdk/web-pubsub/web-pubsub/test/groups.spec.ts +++ b/sdk/web-pubsub/web-pubsub/test/groups.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. /* eslint-disable no-invalid-this */ -import { env, Recorder, record } from "@azure/test-utils-recorder"; +import { env, Recorder, record } from "@azure-tools/test-recorder"; import { WebPubSubServiceClient, WebPubSubGroup } from "../src"; import { assert } from "chai"; import environmentSetup from "./testEnv"; diff --git a/sdk/web-pubsub/web-pubsub/test/hubs.spec.ts b/sdk/web-pubsub/web-pubsub/test/hubs.spec.ts index 5dac4db0c96c..98f46ed4aceb 100644 --- a/sdk/web-pubsub/web-pubsub/test/hubs.spec.ts +++ b/sdk/web-pubsub/web-pubsub/test/hubs.spec.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. /* eslint-disable no-invalid-this */ -import { env, Recorder, record } from "@azure/test-utils-recorder"; +import { env, Recorder, record } from "@azure-tools/test-recorder"; import { WebPubSubServiceClient, AzureKeyCredential } from "../src"; import { assert } from "chai"; import environmentSetup from "./testEnv"; diff --git a/sdk/web-pubsub/web-pubsub/test/testEnv.ts b/sdk/web-pubsub/web-pubsub/test/testEnv.ts index a3af95a79a61..75f7b9936570 100644 --- a/sdk/web-pubsub/web-pubsub/test/testEnv.ts +++ b/sdk/web-pubsub/web-pubsub/test/testEnv.ts @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { RecorderEnvironmentSetup } from "@azure/test-utils-recorder"; +import { RecorderEnvironmentSetup } from "@azure-tools/test-recorder"; const environmentSetup: RecorderEnvironmentSetup = { replaceableVariables: {